WO2008008150A2 - Methods and apparatus for enhanced performance in a multi-pass video encoder - Google Patents

Methods and apparatus for enhanced performance in a multi-pass video encoder Download PDF

Info

Publication number
WO2008008150A2
WO2008008150A2 PCT/US2007/014019 US2007014019W WO2008008150A2 WO 2008008150 A2 WO2008008150 A2 WO 2008008150A2 US 2007014019 W US2007014019 W US 2007014019W WO 2008008150 A2 WO2008008150 A2 WO 2008008150A2
Authority
WO
WIPO (PCT)
Prior art keywords
encoding
video
scenes
encoder
video bitstream
Prior art date
Application number
PCT/US2007/014019
Other languages
French (fr)
Other versions
WO2008008150A3 (en
Inventor
Cristina Gomila
Xiaoan Lu
Gokce Dane
Original Assignee
Thomson Licensing
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 Thomson Licensing filed Critical Thomson Licensing
Priority to JP2009519441A priority Critical patent/JP5437066B2/en
Priority to BRPI0713916-0A priority patent/BRPI0713916A2/en
Priority to CN2007800257396A priority patent/CN101485209B/en
Priority to EP07809573A priority patent/EP2041980A2/en
Priority to US12/309,249 priority patent/US9204173B2/en
Priority to KR1020097000519A priority patent/KR101373934B1/en
Publication of WO2008008150A2 publication Critical patent/WO2008008150A2/en
Publication of WO2008008150A3 publication Critical patent/WO2008008150A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/115Selection of the code volume for a coding unit prior to coding
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/162User input
    • 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/179Methods 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 scene or a shot
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Definitions

  • the present invention relates generally to video encoding and, more particularly, to methods and apparatus for enhanced performance in a multi-pass video encoder.
  • Video coding methods are used to find efficient coding representations for digital video. Unfortunately, this can hardly be achieved without some loss of quality given the large amounts of data involved. Loss of quality often translates into loss of detail. For example, textured regions are perceived softer and small details tend to vanish from the decompressed picture. At high compression ratios, decompressed pictures may even include visible errors, also referred to as "artifacts". Artifacts are typically the result of quantization in lossy video compression. Compression artifacts may cause parts of the picture, particularly fast moving portions, to be displayed distorted or missing.
  • non real-time encoding applications such as DVD authoring
  • Such process of manually fine-tuning the encoding parameters is known as assisted re-e ⁇ codi ⁇ g.
  • assisted re-encoding may consume more than sixty percent of the total time required to complete the encoding of a movie title.
  • compression artifacts become more visible while nearly lossless compression is often sought.
  • FIG. 1 a method for non real-time video encoding with assisted re- encoding is indicated generally by the reference numeral 100.
  • the method 100 includes a start block 105 that passes control to a function block 110.
  • the function block 110 perforrris an encoding setup, and passes control to a function block 120.
  • the function block 120 performs encoding with respect to a current picture in a video sequence, and passes control to a function block 190 and a loop limit block 130.
  • the function block 190 stores the bitstream in a buffer, and passes control to a function block 140.
  • the loop limit block 130 begins a quality check loop that loops over each picture in the video sequence, and passes control to a function block 140.
  • the function block 140 displays each ofthe pictures in the video sequence for quality assessment, and passes control to a decision block 150.
  • the decision block 150 determines whether or not the visual quality is satisfactory. If so, then control is passed to a loop limit block 160. Otherwise, control is passed to a function block 180.
  • the function block 160 ends the loop over each picture in the video sequence, and passes control to an end block 170.
  • the function block 180 performs a re-encoding setup, and returns control to the function block 120.
  • Various elements of the method 100 of FIG. 1 will now be further described.
  • the encoder setup is performed at function block 110, typically with the aid of an operator.
  • the encoder setup may involve the setup of the target bit-rate as well as the specification of any set of parameters involved in the encoding process.
  • Function block 120 represents an automated encoding process. This can be single or multi-pass encoding and, in some cases, may comply with an existing video coding standard such as, for example, the International Organization for Standardization/International Electrotech ⁇ ical Commission (ISO/IEC) Moving Picture Experts Group-4 (MPEG-4) Part 10 Advanced Video Coding (AVC) standard/International Telecommunication Union, Telecommunication Sector (ITU-T) H.264 recommendation (hereinafter the "MPEG-4 AVC standard"), the ISO/IEC
  • the result of the encoding process is saved in memory at the function block 190.
  • the operator will proceed to check the visual quality of the encoded stream (function blocks 130 to 160). Visual quality assessment is done in most cases through a graphical display (function block 140) and may involve the decoding of the pictures in the encoded stream. If the operator considers that the quality of a picture or a set of pictures is not satisfactory, he/she may decide to manually test a different encoding setup (function block 180) and proceed to encode again through function block 120. This process is called assisted re-encoding since it requires the intervention of an operator. This process is repeated as necessary until the visual quality is considered satisfactory.
  • an apparatus for multi-pass video encoding includes a video encoder for encoding a video bitstream.
  • the apparatus further includes a video quality analyzer, in signal communication with the encoder, for performing a video quality analysis of the video bitstream for a given encoding pass to detect encoder compression artifacts in the video bitstream, and providing to the encoder information relating to the encoder compression artifacts to enable a re-encoding setup of the encoder to reduce an occurrence of the encoder compression artifacts in subsequent re-encoding passes. At least one of the video quality analysis and the re-encoding setup are automated.
  • an apparatus for use with a multi-pass video encoder includes a video quality analyzer for performing a video quality analysis of the video bitstream for a given encoding pass to detect encoder compression artifacts in the video bitstream, and providing the video encoder with information relating to the encoder compression artifacts to enable a re-encoding setup of the video encoder to reduce an occurrence of the encoder compression artifacts in subsequent re-encoding passes. At least one of the video quality analysis and the re-encoding setup are automated.
  • a method for multi-pass video encoding includes encoding a video bitstream in a given encoding pass.
  • the method also includes performing a video quality analysis of the video bitstream encoded in the given encoding pass to detect encoder compression artifacts therein.
  • the method further includes performing a re- encoding setup with respect to the video bitstream to reduce an occurrence of the encoder compression artifacts in subsequent re-encoding passes, based on information obtained from the video quality analysis relating to the encoder compression artifacts. At least one of the video quality analysis and the re-encoding setup are automated.
  • a method for use with a multi-pass video encoder includes performing a video quality analysis of the video bitstream for a given encoding pass to detect encoder compression artifacts in the video bitstream.
  • the method also includes providing the video encoder with information relating to the encoder compression artifacts to enable a re-encoding setup of the video encoder to reduce an occurrence of the encoder compression artifacts in subsequent re-encoding passes. At least one of the video quality analysis and the re-encoding setup are automated.
  • FIG. 1 is a flow diagram for a method for non real-time video encoding with assisted re-encoding, in accordance with the prior art
  • FIG. 2 is a block diagram for an exemplary video encoder to which the present principles may be applied, in accordance with an embodiment of the present principles
  • FIG. 3 is a block diagram for an exemplary video quality analysis system to which the present principles may be applied, in accordance with an embodiment of the present principles
  • FIG. 4 is a flow diagram for an exemplary method for non real-time, multi- pass video encoding with assisted re-encoding, in accordance with an embodiment of the present principles
  • FIG. 5 is a flow diagram for an exemplary method for non real-time, multipass video encoding with assisted re-encoding, in accordance with an embodiment of the present principles
  • FIG. 6 is a flow diagram for an exemplary method for non real-time, two-pass video encoding with assisted re-encoding, in accordance with an embodiment of the present principles.
  • the present invention is directed to methods and apparatus for enhanced performance in a multi-pass video encoder.
  • processor or “controller” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (“DSP”) hardware, read-only memory (“ROM”) for storing software, random access memory (“RAM”), and non-volatile storage.
  • DSP digital signal processor
  • ROM read-only memory
  • RAM random access memory
  • any switches shown in the figures are conceptual only. Their function may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementer as more specifically understood from the context.
  • any element expressed as a means for performing a specified function is intended to encompass any way of performing that function including, for example, a) a combination of circuit elements that performs that function or b) software in any form, including, therefore, firmware, microcode or the like, combined with appropriate circuitry for executing that software to perform the function.
  • the invention as defined by such claims resides in the fact that the functionalities provided by the various recited means are combined and brought together in the manner which the claims call for. It is thus regarded that any means that can provide those functionalities are equivalent to those shown herein.
  • Such a process is known as assisted re-encoding.
  • embodiments of the present principles minimize the number of cases requiring assisted re-encoding.
  • the number of cases requiring assisted re-encoding is minimized by automating the detection of compression artifacts with the aid of a visual quality analyzer and/or by automating adjustments in the encoder configuration to prevent the appearance of such artifacts.
  • the encoder 200 includes a frame ordering buffer 205.
  • a first input of the frame ordering buffer 205 is available as an input to the encoder 200.
  • An output of the frame ordering buffer 205 is connected in signal communication with a first non-inverting input of a combiner 210.
  • An output of the combiner 210 is connected in signal communication with a first input of a transformer and quantizer 215.
  • An output of the transformer and quantizer 215 is connected in signal communication with a first input of an entropy coder 220 and an input of an inverse transformer and quantizer 235.
  • An output of the entropy coder is connected in signal communication with a first non- inverting input of a combiner 225.
  • An output of the combiner 225 is connected in signal communication with an input of an output buffer 230.
  • a first output of the output buffer 230 is connected in signal communication with an input of a rate controller 275.
  • An output of the rate controller 275 is connected in signal communication with a second input of the transformer and quantizer 215, an input of a picture-type and macroblock (MB) type decision module 270, and an input of a Sequence Parameter Set (SPS) and Picture Parameter Set (PPS) inserter 285.
  • a first output of the picture-type and macroblock-type decision module 270 is connected in signal communication with a second input of the frame ordering buffer 205.
  • a second output of the picture-type and macroblock-type decision module 270 is connected in signal communication with a first non-inverting input of a combiner 240 and with an output of a switch 265.
  • An input of the switch 265 is connected in signal communication with either a second output of a motion compensator/motion estimator 255 or an output of an intra prediction module 260.
  • An output of the combiner 240 is connected in signal communication with an input of the intra prediction module 260 and an input of a deblocking filter 245.
  • An output of the deblocking filter 245 is connected in signal communication with an input of a reference picture buffer 250.
  • An output of the reference picture buffer 250 is connected in signal communication with an input of the motion compensator/motion estimator 255.
  • a first output of the motion compensator/motion estimator 255 is connected in signal communication with a second input of the entropy coder 220.
  • An output of the SPS and PPS inserter 285 is connected in signal communication with a second non-inverting input of the combiner 225.
  • An output of a Supplemental Enhancement Information (SEI) inserter 280 is connected in signal communication with a third non-inverting input of the combiner 225.
  • An input of the SEI inserter 280 is available as an input to the encoder 200, for receiving metadata.
  • a second output of the output buffer 230 is available as an output of the encoder 200.
  • the quality analysis system 300 includes a frame ordering buffer 320 and a quality analyzer 330.
  • An input of the frame ordering buffer 320 is available as an input to the quality analysis system 300, for receiving an input bitstream.
  • a first input of the quality analyzer 330 is also available as an input to the quality analysis system 300.
  • An output of the frame ordering buffer 320 is connected in signal communication with a second input of the quality analyzer 330.
  • a third input of the quality analyzer 330 is connected in signal communication with an output of a quality metrics module 310.
  • An output of the quality analyzer 330 is available as an output of the quality analysis system 300.
  • the method and apparatus in accordance with the present principles is capable of minimizing the number of cases requiring assisted re- encoding. In an embodiment, this is done by automating the detection of compression artifacts with the aid of a video quality analyzer. In an embodiment, information resulting from the automated detection of compression artifacts by the video quality analyzer is provided to the encoder and allows automated adjustments in the encoder configuration to minimize the appearance of such artifacts in subsequent encoding passes.
  • the method 400 includes a start block 405 that passes control to a function block 410.
  • the function block 410 performs an encoding setup, and passes control to a function block 420.
  • the function block 420 performs encoding with respect to a current picture in a video sequence, and passes control to a function block 490 and a loop limit block 430.
  • the function block 490 stores the bitstream in a buffer, and passes control to a function block 440.
  • the loop limit block 430 begins a quality check loop that loops over each picture in the video sequence, and passes control to a function block 440.
  • the function block 440 performs a video quality analysis, and passes control to a decision block 450.
  • the decision block 450 determines whether or not re- encoding is to be performed. If so, then control is passed to a function block 480. Otherwise, control is passed to a loop limit block 460.
  • the function block 460 ends the loop over each picture in the video sequence, and passes control to an end block 470.
  • the function block 480 performs a re-encoding setup, and returns control to the function block 420.
  • the re-encoding setup performed thereby may involve, for example, adjusting the target bit rate, the strength of the deblocking filter, and/or other encoding parameters, and/or limiting the scenes to be re-encoded.
  • function block 480 may limit the scenes to be re-encoded to a maximum number N of scenes (e.g., the N scenes with the worst quality), may limit the scenes to be re-encoded such that only scenes with a visual quality metric(s) below a threshold, and/or may limit the scenes to be re- encoded to X% of scenes (e.g., starting from those with the worst quality).
  • variable X denotes a selected percentage, and may be represented by an integer value or non-integer value.
  • FIG. 4 is fully automated.
  • a video quality analyzer (function block 440) is responsible for the computation of at least one visual quality metric.
  • visual quality metrics include, but are not limited to, Just Noticeable Distortion (JND) or Peak Power Noise Ratio (PPNR).
  • JND measures the perceptual lower bound of the signal distortion. This measure relies on the observation that the human visual system can detect luminance differences rather than absolute intensity. Furthermore, sensitivity of the luminance contrast depends on the average background intensity. JND represents the threshold below which the distortion is imperceptible. JND may be represented as follows:
  • JND 0 . max ⁇ /, (bg ⁇ y , m gij ),f 2 (bg v ) ⁇ ⁇ 1 .
  • bgy and mgy are the average background luminance and the maximum weighted average of luminance differences around pixel at (i,j), respectively.
  • Functions U and f 2 may be represented by the following:
  • Aibg,) - ⁇ ⁇ K 12T r(bg.. -i27) + 3 b giJ > ⁇ n
  • ⁇ () and ⁇ () may be represented by the following:
  • PPNR is defined as follows:
  • M and N represent the picture width and height of the picture, respectively;
  • Xy represents the value of the pixel at (i, j) and % represents the reconstructed pixel at
  • the video quality analyzer may take the compressed bitstream as input and operate in the compressed domain. In another embodiment the video quality analyzer may take as input the decompressed video and the original sequence in order to get more accurate measures.
  • the quality metrics resulting from the video quality analyzer are used to assess the need for re-encoding. If at least one metric, and/or a combination of metrics, is below a specified or calculated threshold (function block 450), the system proceeds to re-encode that picture or group of pictures.
  • the re-encoding setup in function block 480 is also fully automated. This process takes as input the previous encoding parameters and the data resulting from the video quality analyzer. Re-encoding setup may utilize bit- rate variations and changes to any encoding parameter that could affect the perceived visual quality.
  • the system may increase the average bit-rate on those pictures for which the quality metrics are below the specified thresholds.
  • the system may increase the strength of the deblocking filter when blockiness is measured in the decompressed pictures.
  • the system may enable weighted prediction when low quality metrics are measured on gradual transitions. The changes above could affect the entire picture or could optionally be set up at the macroblock-level for all those encoding parameters.
  • Re-encoding may be repeated until the video quality metrics measured are above a specified or calculated threshold.
  • an exemplary method for non real-time, multi-pass video encoding with assisted re-encoding is indicated generally by the reference numeral 500.
  • the method 500 includes a start block 505 that passes control to a function block 510.
  • the function block 510 performs an encoding setup, and passes control to a function block 520.
  • the function block 520 performs encoding with respect to a current picture in a video sequence, and passes control to a function block 590 and a loop limit block 530.
  • the function block 590 stores the bitstream in a buffer, and passes control to a function block 540.
  • the loop limit block 530 begins a quality check loop that loops over each picture in the video sequence, and passes control to a function block 540.
  • the function block 540 performs a video quality analysis, and passes control to a decision block 550 and a function block 580.
  • the decision block 550 determines whether or not re-encoding is to be performed. If so, then control is passed to a function block 565. Otherwise, control is passed to a loop limit block 560.
  • the function block 560 ends the loop over each picture in the video sequence, and passes control to an end block 570.
  • the function block 565 increases a re-encoding counter by one, and passes control to a decision block 575.
  • the decision block 575 determines whether or not a value of the re-encoding counter is above a threshold. If so, then control is passed to a function block 585. Otherwise, control is passed to the function block 580.
  • the function block 585 outputs a log file, and passes control to the end block 570.
  • the function block 580 performs a re-encoding setup, and returns control to the function block 520.
  • the re-encoding setup performed thereby may involve, for example, adjusting the target bit rate, the strength of the deblocking filter, and/or other encoding parameters, and/or limiting the scenes to be re-encoded.
  • function block 580 may limit the scenes to be re-encoded to a maximum number N of scenes (e.g., the N scenes with the worst quality), may limit the scenes to be re-encoded such that only scenes with a visual quality metric(s) below a threshold, and/or may limit the scenes to be re- encoded to X% of scenes (e.g., starting from those with the worst quality).
  • N a maximum number of scenes
  • X% e.g., starting from those with the worst quality
  • the automated re- encoding process will stop when a certain number of re-encoding passes have been completed (function block 575).
  • an output report may optionally be created. The output report can be used by the operator to decide whether assisted re-encoding is needed.
  • the automated re- encoding method based on the computation of visual quality metrics does not pretend to suppress the need for assisted re-encoding, but to reduce the number of cases requiring human assistance.
  • One advantage of this method over the prior art method is that the total processing time is bounded.
  • FIG. 6 illustrates an embodiment when a two-pass encoding algorithm is used.
  • an exemplary method for non real-time, two-pass video encoding with assisted re-encoding is indicated generally by the reference numeral 600.
  • the method 600 includes a start block 605 that passes control to a function block 610.
  • the function block 610 performs an encoding setup, and passes control to a function block 621.
  • the function block 621 performs a first encoding pass with respect to a current picture in a video sequence, and passes control to a function block 623.
  • the function block 623 performs a complexity analysis, and passes control to a function block 625.
  • the function block 625 performs a second encoding pass, and passes control to a function block 690 and a loop limit block 630.
  • the function block 690 stores the bitstream in a buffer, and passes control to a function block 640.
  • the loop limit block 630 begins a quality check loop that loops over each picture in the video sequence, and passes control to the function block 640.
  • the function block 640 performs a video quality analysis, and passes control to a decision block 650 and a function block 680.
  • the decision block 650 determines whether or not re-encoding is to be performed. If so, then control is passed to a function block 665. Otherwise, control is passed to a loop limit block 660.
  • the function block 660 ends the loop over each picture in the video sequence, and passes control to an end block 670.
  • the function block 665 increases a re-encoding counter by one, and passes control to a decision block 675.
  • the decision block 675 determines whether or not a value of the re-encoding counter is above a threshold. If so, then control is passed to a function block 685. Otherwise, control is passed to the function block 680.
  • the function block 685 outputs a log file, and passes control to the end block
  • the function block 680 performs a re-encoding setup, and returns control to the function block 625.
  • the re-encoding setup performed thereby may involve, for example, adjusting the target bit rate, the strength of the deblocking filter, and/or other encoding parameters, and/or limiting the scenes to be re-encoded.
  • function block 680 may limit the scenes to be re-encoded to a maximum number N of scenes (e.g., the N scenes with the worst quality), may limit the scenes to be re-encoded such that only scenes with a visual quality metric(s) below a threshold, and/or may limit the scenes to be re- encoded to X% of scenes (e.g., starting from those with the worst quality).
  • N a maximum number of scenes
  • X% e.g., starting from those with the worst quality
  • Function block 621 represents the first encoding pass, which may run at fixed quantization point (QP), constant bit-rate, or even be limited to a pre-analysis pass.
  • Function block 623 represents the complexity analyzer process that determines the final bit-rate allocation based on the data from the first pass.
  • Function block 625 represents the second encoding pass that creates the output bit-stream. Note that re-encoding only requires the execution of the second encoding pass at function block 625.
  • the method 600 of FIG. 6 can be easily extended to support encoding algorithms with more than two passes, as would be apparent to those of ordinary skill in this and related arts, while maintaining the scope of the present principles.
  • one or both of the video quality analysis and the re- encoding setup may be automated.
  • the video quality analysis performed by function blocks 440, 540, and 640 in FIGs. 4, 5, and 6, respectively may be automated, and or the re-encoding setup performed by function blocks 480, 580, and 680 in FIGs. 4, 5, and 6, respectively.
  • one advantage/feature is an apparatus for multi-pass video encoding that includes a video encoder and a video quality analyzer in signal communication with the encoder.
  • the video encoder is for encoding a video bitstream.
  • the video quality analyzer is for performing a video quality analysis of the video bitstream for a given encoding pass to detect encoder compression artifacts in the video bitstream, and providing to said encoder information relating to the encoder compression artifacts to enable a re-encoding setup of said encoder to reduce an occurrence of the encoder compression artifacts in subsequent re- encoding passes. At least one of the video quality analysis and the re-encoding setup are automated.
  • Another advantage/feature is the apparatus having the video encoder and video quality analyzer as described above, wherein the video quality analyzer detects encoder compression artifacts by computing visual quality metrics.
  • Another advantage/feature is the apparatus having the video encoder and video quality analyzer as described above, wherein the re-encoding setup involves adjusting encoding parameters.
  • another advantage/feature is the apparatus having the video encoder and video quality analyzer as described above, wherein a total number of re- encoding passes is constrained to a maximum value. Also, another advantage/feature is the apparatus having the video encoder and video quality analyzer as described above, wherein the video quality analyzer outputs a log file with data intended to assist an operator during assisted re- encoding.
  • another advantage/feature is the apparatus having the video encoder and video quality analyzer as described above, wherein the video encoder is compliant with the International Organization for Standardization/International Electrotechnical Commission Moving Picture Experts Group-4 Part 10 Advanced Video Coding standard/International Telecommunication Union, Telecommunication Sector H.264 recommendation.
  • another advantage/feature is the apparatus having the video encoder and video quality analyzer as described above, wherein the encoding of the video bitstream is performed in multiple passes, so that a re-encoding of the video bitstream only requires a final encoding pass.
  • another advantage/feature is the apparatus having the video encoder and video quality analyzer as described above, wherein the video bitstream includes a plurality of scenes, and the re-encoding setup involves limiting a number of the plurality of scenes to be re-encoded to a maximum number N of scenes from among any of the plurality of scenes having the encoder compression artifacts less than a threshold.
  • another advantage/feature is the apparatus having the video encoder and video quality analyzer as described above, wherein the video bitstream includes a plurality of scenes, and the re-encoding setup involves limiting a number of the plurality of scenes to be re-encoded such that only scenes, from among the plurality of scenes, with the encoder compression artifacts less than a threshold are re- encoded.
  • another advantage/feature is the apparatus having the video encoder and video quality analyzer as described above, wherein the video bitstream includes a plurality of scenes, and the re-encoding setup involves limiting a number of the plurality of scenes to be re-encoded such that only X% of the plurality of scenes having the encoder compression artifacts less than a threshold are re- encoded.
  • X represents one of an integer and a non-integer value.
  • another advantage/feature is an apparatus for use with a multi- pass video encoder that includes a video quality analyzer.
  • the video quality analyzer is for performing a video quality analysis of the video bitstream for a given encoding pass to detect encoder compression artifacts in the video bitstream, and providing the video encoder with information relating to the encoder compression artifacts to enable a re-encoding setup of the video encoder to reduce an occurrence of the encoder compression artifacts in subsequent re-encoding passes. At least one of the video quality analysis and the re-encoding setup are automated.
  • another advantage/feature is the apparatus having the video quality analyzer as described above, wherein the video quality analyzer performs the video quality analysis by computing visual quality metrics. Also, another advantage/feature is the apparatus having the video quality analyzer as described above, wherein the re-encoding setup involves adjusting a target bit rate. Additionally, another advantage/feature is the apparatus having the video quality analyzer as described above, wherein the video encoder includes a deblocking filter, and the re-encoding setup involves adjusting a strength of the deblocking filter. Moreover, another advantage/feature is the apparatus having the video quality analyzer as described above, wherein the re-encoding setup involves adjusting encoding parameters.
  • Another advantage/feature is the apparatus having the video quality analyzer as described above, wherein a total number of re-encoding passes is constrained to a maximum value.
  • another advantage/feature is the apparatus having the video quality analyzer as described above, wherein the video quality analyzer outputs a log file with data intended to assist an operator during assisted re-encoding.
  • another advantage/feature is the apparatus having the video quality analyzer as described above, wherein the video encoder is compliant with the International Organization for Standardization/International Electrotechnical Commission Moving Picture Experts Group-4 Part 10 Advanced Video Coding standard/International Telecommunication Union, Telecommunication Sector H.264 recommendation.
  • another advantage/feature is the apparatus having the video quality analyzer as described above, wherein the encoding of the video bitstream is performed in multiple passes, so that a re-encoding of the video bitstream only requires a final encoding pass.
  • another advantage/feature is the apparatus having the video quality analyzer as described above, wherein the video bitstream includes a plurality of scenes, and the re-encoding setup involves limiting a number of the plurality of scenes to be re-encoded to a maximum number N of scenes from among any of the plurality of scenes having the encoder compression artifacts less than a threshold.
  • another advantage/feature is the apparatus having the video quality analyzer as described above, wherein the video bitstream includes a plurality of scenes, and the re-encoding setup involves limiting a number of the plurality of scenes to be re-encoded such that only scenes, from among the plurality of scenes, with the encoder compression artifacts less than a threshold are re-encoded.
  • another advantage/feature is the apparatus having the video quality analyzer as described above, wherein the video bitstream includes a plurality of scenes, and the re-encoding setup involves limiting a number of the plurality of scenes to be re-encoded such that only X% of the plurality of scenes having the encoder compression artifacts less than a threshold are re-encoded.
  • X represents one of an integer, and a non-integer value.
  • the teachings of the present invention are implemented as a combination of hardware and software.
  • the software may be implemented as an application program tangibly embodied on a program storage unit.
  • the application program may be uploaded to, and executed by, a machine comprising any suitable architecture.
  • the machine is implemented on a computer platform having hardware such as one or more central processing units (“CPU"), a random access memory (“RAM”), and input/output (“I/O") interfaces.
  • CPU central processing units
  • RAM random access memory
  • I/O input/output
  • the computer platform may also include an operating system and microinstruction code.
  • the various processes and functions described herein may be either part of the microinstruction code or part of the application program, or any combination thereof, which may be executed by a CPU.
  • peripheral units may be connected to the computer platform such as an additional data storage unit and a printing unit.
  • additional data storage unit may be connected to the computer platform.
  • printing unit may be connected to the computer platform.

Abstract

There are provided methods and apparatus for enhanced performance in a multi-pass video encoder. An apparatus includes a video encoder (200) for encoding a video bitstream. The apparatus further includes a video quality analyzer (300), in signal communication with the encoder, for performing a video quality analysis of the video bitstream for a given encoding pass to detect encoder compression artifacts in the video bitstream, and providing to the encoder information relating to the encoder compression artifacts to enable a re-encoding setup of the encoder to reduce an occurrence of the encoder compression artifacts in subsequent re-encoding passes. At least one of the video quality analysis and the re-encoding setup are automated.

Description

METHODS AND APPARATUS FOR ENHANCED PERFORMANCE IN A
MULTI-PASS VIDEO ENCODER
CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Provisional Application Serial No.
60/806,862, filed 10 July, 2006, which is incorporated by reference herein in its entirety. .
FIELD OF THE INVENTION The present invention relates generally to video encoding and, more particularly, to methods and apparatus for enhanced performance in a multi-pass video encoder.
BACKGROUND OF THE INVENTION Video coding methods are used to find efficient coding representations for digital video. Unfortunately, this can hardly be achieved without some loss of quality given the large amounts of data involved. Loss of quality often translates into loss of detail. For example, textured regions are perceived softer and small details tend to vanish from the decompressed picture. At high compression ratios, decompressed pictures may even include visible errors, also referred to as "artifacts". Artifacts are typically the result of quantization in lossy video compression. Compression artifacts may cause parts of the picture, particularly fast moving portions, to be displayed distorted or missing.
In order to reduce the appearance of compression artifacts, non real-time encoding applications (such as DVD authoring) seeking high picture quality often require an operator to manually fine tune the encoder parameters. Such process of manually fine-tuning the encoding parameters is known as assisted re-eπcodiπg. In current DVD production workflow, assisted re-encoding may consume more than sixty percent of the total time required to complete the encoding of a movie title. Furthermore, with the introduction of high definition formats and higher resolution displays, compression artifacts become more visible while nearly lossless compression is often sought. Turning to FIG. 1 , a method for non real-time video encoding with assisted re- encoding is indicated generally by the reference numeral 100. The method 100 includes a start block 105 that passes control to a function block 110. The function block 110 perforrris an encoding setup, and passes control to a function block 120. The function block 120 performs encoding with respect to a current picture in a video sequence, and passes control to a function block 190 and a loop limit block 130.
The function block 190 stores the bitstream in a buffer, and passes control to a function block 140.
The loop limit block 130 begins a quality check loop that loops over each picture in the video sequence, and passes control to a function block 140.
The function block 140 displays each ofthe pictures in the video sequence for quality assessment, and passes control to a decision block 150. The decision block 150 determines whether or not the visual quality is satisfactory. If so, then control is passed to a loop limit block 160. Otherwise, control is passed to a function block 180.
The function block 160 ends the loop over each picture in the video sequence, and passes control to an end block 170.
The function block 180 performs a re-encoding setup, and returns control to the function block 120. Various elements of the method 100 of FIG. 1 will now be further described.
The encoder setup is performed at function block 110, typically with the aid of an operator. The encoder setup may involve the setup of the target bit-rate as well as the specification of any set of parameters involved in the encoding process. Function block 120 represents an automated encoding process. This can be single or multi-pass encoding and, in some cases, may comply with an existing video coding standard such as, for example, the International Organization for Standardization/International Electrotechπical Commission (ISO/IEC) Moving Picture Experts Group-4 (MPEG-4) Part 10 Advanced Video Coding (AVC) standard/International Telecommunication Union, Telecommunication Sector (ITU-T) H.264 recommendation (hereinafter the "MPEG-4 AVC standard"), the ISO/IEC
MPEG-2 standard, the ITU-T H.263 recommendation, and so forth. The result of the encoding process is saved in memory at the function block 190. After encoding, the operator will proceed to check the visual quality of the encoded stream (function blocks 130 to 160). Visual quality assessment is done in most cases through a graphical display (function block 140) and may involve the decoding of the pictures in the encoded stream. If the operator considers that the quality of a picture or a set of pictures is not satisfactory, he/she may decide to manually test a different encoding setup (function block 180) and proceed to encode again through function block 120. This process is called assisted re-encoding since it requires the intervention of an operator. This process is repeated as necessary until the visual quality is considered satisfactory.
Most applications following the workflow represented by FIG. 1 devote more than sixty percent of the time that it takes to go from function block 100 to function block 170 to the re-encoding process.
SUMMARY OF THE INVENTION
These and other drawbacks and disadvantages of the prior art are addressed by the present invention, which is directed to methods and apparatus for enhanced performance in a multi-pass video encoder.
According to an aspect of the present principles, there is provided an apparatus for multi-pass video encoding. The apparatus includes a video encoder for encoding a video bitstream. The apparatus further includes a video quality analyzer, in signal communication with the encoder, for performing a video quality analysis of the video bitstream for a given encoding pass to detect encoder compression artifacts in the video bitstream, and providing to the encoder information relating to the encoder compression artifacts to enable a re-encoding setup of the encoder to reduce an occurrence of the encoder compression artifacts in subsequent re-encoding passes. At least one of the video quality analysis and the re-encoding setup are automated.
According to another aspect of the present principles, there is provided an apparatus for use with a multi-pass video encoder. The apparatus includes a video quality analyzer for performing a video quality analysis of the video bitstream for a given encoding pass to detect encoder compression artifacts in the video bitstream, and providing the video encoder with information relating to the encoder compression artifacts to enable a re-encoding setup of the video encoder to reduce an occurrence of the encoder compression artifacts in subsequent re-encoding passes. At least one of the video quality analysis and the re-encoding setup are automated.
According to yet another aspect of the present principles, there is provided a method for multi-pass video encoding. The method includes encoding a video bitstream in a given encoding pass. The method also includes performing a video quality analysis of the video bitstream encoded in the given encoding pass to detect encoder compression artifacts therein. The method further includes performing a re- encoding setup with respect to the video bitstream to reduce an occurrence of the encoder compression artifacts in subsequent re-encoding passes, based on information obtained from the video quality analysis relating to the encoder compression artifacts. At least one of the video quality analysis and the re-encoding setup are automated.
According to still another aspect of the present principles, there is provided a method for use with a multi-pass video encoder. The method includes performing a video quality analysis of the video bitstream for a given encoding pass to detect encoder compression artifacts in the video bitstream. The method also includes providing the video encoder with information relating to the encoder compression artifacts to enable a re-encoding setup of the video encoder to reduce an occurrence of the encoder compression artifacts in subsequent re-encoding passes. At least one of the video quality analysis and the re-encoding setup are automated.
These and other aspects, features and advantages of the present invention will become apparent from the following detailed description of exemplary embodiments, which is to be read in connection with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention may be better understood in accordance with the following exemplary figures, in which:
FIG. 1 is a flow diagram for a method for non real-time video encoding with assisted re-encoding, in accordance with the prior art; FIG. 2 is a block diagram for an exemplary video encoder to which the present principles may be applied, in accordance with an embodiment of the present principles; FIG. 3 is a block diagram for an exemplary video quality analysis system to which the present principles may be applied, in accordance with an embodiment of the present principles;
FIG. 4 is a flow diagram for an exemplary method for non real-time, multi- pass video encoding with assisted re-encoding, in accordance with an embodiment of the present principles;
FIG. 5 is a flow diagram for an exemplary method for non real-time, multipass video encoding with assisted re-encoding, in accordance with an embodiment of the present principles; and FIG. 6 is a flow diagram for an exemplary method for non real-time, two-pass video encoding with assisted re-encoding, in accordance with an embodiment of the present principles.
DETAILED DESCRIPTION The present invention is directed to methods and apparatus for enhanced performance in a multi-pass video encoder.
The present description illustrates the principles of the present invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the invention and are included within its spirit and scope.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the principles of the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions.
Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure.
Thus, for example, it will be appreciated by those skilled in the art that the block diagrams presented herein represent conceptual views of illustrative circuitry embodying the principles of the invention. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudocode, and the like represent various processes which may be substantially represented in computer readable media and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.
The functions of the various elements shown in the figures may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term "processor" or "controller" should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor ("DSP") hardware, read-only memory ("ROM") for storing software, random access memory ("RAM"), and non-volatile storage.
Other hardware, conventional and/or custom, may also be included. Similarly, any switches shown in the figures are conceptual only. Their function may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementer as more specifically understood from the context.
In the claims hereof, any element expressed as a means for performing a specified function is intended to encompass any way of performing that function including, for example, a) a combination of circuit elements that performs that function or b) software in any form, including, therefore, firmware, microcode or the like, combined with appropriate circuitry for executing that software to perform the function. The invention as defined by such claims resides in the fact that the functionalities provided by the various recited means are combined and brought together in the manner which the claims call for. It is thus regarded that any means that can provide those functionalities are equivalent to those shown herein.
Reference in the specification to "one embodiment" or "an embodiment" of the present principles means that a particular feature, structure, characteristic, and so forth described in connection with the embodiment is included in at least one embodiment of the present principles. Thus, the appearances of the phrase "in one embodiment" or "in an embodiment" appearing in various places throughout the specification are not necessarily all referring to the same embodiment. Moreover, given the teachings of the present principles provided herein, it is to be appreciated that two or more embodiments and/or portions thereof may be readily combined, as determined by one of ordinary skill in this and related arts, while maintaining the scope of the present principles
In accordance with the present principles, methods and apparatus are provided for enhanced performance in a multi-pass video encoder. Non-real-time video encoding applications seeking high picture quality, such as DVD authoring, often require an operator to manually fine tune the encoder parameters to reduce the appearance of compression artifacts. Such a process is known as assisted re-encoding. Advantageously, embodiments of the present principles minimize the number of cases requiring assisted re-encoding. In an embodiment, the number of cases requiring assisted re-encoding is minimized by automating the detection of compression artifacts with the aid of a visual quality analyzer and/or by automating adjustments in the encoder configuration to prevent the appearance of such artifacts.
Turning to FIG. 2, an exemplary video encoder to which the present principles may be applied is indicated generally by the reference numeral 200. The encoder 200 includes a frame ordering buffer 205. A first input of the frame ordering buffer 205 is available as an input to the encoder 200. An output of the frame ordering buffer 205 is connected in signal communication with a first non-inverting input of a combiner 210. An output of the combiner 210 is connected in signal communication with a first input of a transformer and quantizer 215. An output of the transformer and quantizer 215 is connected in signal communication with a first input of an entropy coder 220 and an input of an inverse transformer and quantizer 235. An output of the entropy coder is connected in signal communication with a first non- inverting input of a combiner 225. An output of the combiner 225 is connected in signal communication with an input of an output buffer 230. A first output of the output buffer 230 is connected in signal communication with an input of a rate controller 275. An output of the rate controller 275 is connected in signal communication with a second input of the transformer and quantizer 215, an input of a picture-type and macroblock (MB) type decision module 270, and an input of a Sequence Parameter Set (SPS) and Picture Parameter Set (PPS) inserter 285. A first output of the picture-type and macroblock-type decision module 270 is connected in signal communication with a second input of the frame ordering buffer 205. A second output of the picture-type and macroblock-type decision module 270 is connected in signal communication with a first non-inverting input of a combiner 240 and with an output of a switch 265. An input of the switch 265 is connected in signal communication with either a second output of a motion compensator/motion estimator 255 or an output of an intra prediction module 260. An output of the combiner 240 is connected in signal communication with an input of the intra prediction module 260 and an input of a deblocking filter 245. An output of the deblocking filter 245 is connected in signal communication with an input of a reference picture buffer 250. An output of the reference picture buffer 250 is connected in signal communication with an input of the motion compensator/motion estimator 255. A first output of the motion compensator/motion estimator 255 is connected in signal communication with a second input of the entropy coder 220. An output of the SPS and PPS inserter 285 is connected in signal communication with a second non-inverting input of the combiner 225. An output of a Supplemental Enhancement Information (SEI) inserter 280 is connected in signal communication with a third non-inverting input of the combiner 225. An input of the SEI inserter 280 is available as an input to the encoder 200, for receiving metadata. A second output of the output buffer 230 is available as an output of the encoder 200.
Turning to FIG. 3, an exemplary video quality analysis system to which the present principles may be applied is indicated generally by the reference numeral 300. The quality analysis system 300 includes a frame ordering buffer 320 and a quality analyzer 330. An input of the frame ordering buffer 320 is available as an input to the quality analysis system 300, for receiving an input bitstream. A first input of the quality analyzer 330 is also available as an input to the quality analysis system 300. An output of the frame ordering buffer 320 is connected in signal communication with a second input of the quality analyzer 330. A third input of the quality analyzer 330 is connected in signal communication with an output of a quality metrics module 310. An output of the quality analyzer 330 is available as an output of the quality analysis system 300. Advantageously, the method and apparatus in accordance with the present principles is capable of minimizing the number of cases requiring assisted re- encoding. In an embodiment, this is done by automating the detection of compression artifacts with the aid of a video quality analyzer. In an embodiment, information resulting from the automated detection of compression artifacts by the video quality analyzer is provided to the encoder and allows automated adjustments in the encoder configuration to minimize the appearance of such artifacts in subsequent encoding passes.
Turning to FIG. 4, an exemplary method for non real-time, multi-pass video encoding with assisted re-encoding is indicated generally by the reference numeral 400. The method 400 includes a start block 405 that passes control to a function block 410. The function block 410 performs an encoding setup, and passes control to a function block 420. The function block 420 performs encoding with respect to a current picture in a video sequence, and passes control to a function block 490 and a loop limit block 430.
The function block 490 stores the bitstream in a buffer, and passes control to a function block 440.
The loop limit block 430 begins a quality check loop that loops over each picture in the video sequence, and passes control to a function block 440. The function block 440 performs a video quality analysis, and passes control to a decision block 450. The decision block 450 determines whether or not re- encoding is to be performed. If so, then control is passed to a function block 480. Otherwise, control is passed to a loop limit block 460.
The function block 460 ends the loop over each picture in the video sequence, and passes control to an end block 470.
The function block 480 performs a re-encoding setup, and returns control to the function block 420. Regarding function block 480, the re-encoding setup performed thereby may involve, for example, adjusting the target bit rate, the strength of the deblocking filter, and/or other encoding parameters, and/or limiting the scenes to be re-encoded. For example, function block 480 may limit the scenes to be re-encoded to a maximum number N of scenes (e.g., the N scenes with the worst quality), may limit the scenes to be re-encoded such that only scenes with a visual quality metric(s) below a threshold, and/or may limit the scenes to be re- encoded to X% of scenes (e.g., starting from those with the worst quality). In the preceding examples given with respect to function block 480, variable X denotes a selected percentage, and may be represented by an integer value or non-integer value. When compared to the method 100 of FIG. 1 , it is to be noticed that the assisted quality checking process (function blocks 430 to 460) of the method 400 of
FIG. 4 is fully automated.
As part of this new process, a video quality analyzer (function block 440) is responsible for the computation of at least one visual quality metric. Examples of visual quality metrics that may be used as part of this invention include, but are not limited to, Just Noticeable Distortion (JND) or Peak Power Noise Ratio (PPNR).
That is, while the present principles are described herein with respect to the JND and PPNR as visual quality metrics, the present principles are not solely limited to these visual quality metrics and, thus, other visual quality metrics, as readily determined by one of ordinary skill in this and related arts, may also be utilized in accordance with the present principles, while maintaining the scope of the present principles.
JND measures the perceptual lower bound of the signal distortion. This measure relies on the observation that the human visual system can detect luminance differences rather than absolute intensity. Furthermore, sensitivity of the luminance contrast depends on the average background intensity. JND represents the threshold below which the distortion is imperceptible. JND may be represented as follows:
JND0. = max {/, (bgιy , mgij),f2 (bgv )} ^1.
where bgy and mgy are the average background luminance and the maximum weighted average of luminance differences around pixel at (i,j), respectively. Functions U and f2 may be represented by the following:
/l Φgij , Mgij ) = mgijtxφgy ) + βΦgy ) φ Jr0I l -(τ&)2] + 3 tg!J ≤l27
Aibg,) = -\ \ K12T r(bg.. -i27) + 3 bgiJ > \n
(3)
Regarding Equation (2), α() and β() may be represented by the following:
α(^) = ^ χ 0.0001 + 0.115 (4) β(bgij) = λ -bgiJ χ0.01 (5)
with T0=I 7, γ=3/128 and λ= 1A
By using JND, PPNR is defined as follows:
255 PPNR = 201ogm (6)
with
Figure imgf000012_0001
where M and N represent the picture width and height of the picture, respectively; Xy represents the value of the pixel at (i, j) and % represents the reconstructed pixel at
(U).
In an embodiment, the video quality analyzer may take the compressed bitstream as input and operate in the compressed domain. In another embodiment the video quality analyzer may take as input the decompressed video and the original sequence in order to get more accurate measures.
The quality metrics resulting from the video quality analyzer are used to assess the need for re-encoding. If at least one metric, and/or a combination of metrics, is below a specified or calculated threshold (function block 450), the system proceeds to re-encode that picture or group of pictures.
In an embodiment, the re-encoding setup in function block 480 is also fully automated. This process takes as input the previous encoding parameters and the data resulting from the video quality analyzer. Re-encoding setup may utilize bit- rate variations and changes to any encoding parameter that could affect the perceived visual quality.
In an embodiment, the system may increase the average bit-rate on those pictures for which the quality metrics are below the specified thresholds. In another embodiment, the system may increase the strength of the deblocking filter when blockiness is measured in the decompressed pictures. In yet another embodiment, for which the encoding process will comply with the MPEG-4 AVC standard, the system may enable weighted prediction when low quality metrics are measured on gradual transitions. The changes above could affect the entire picture or could optionally be set up at the macroblock-level for all those encoding parameters.
Re-encoding may be repeated until the video quality metrics measured are above a specified or calculated threshold.
Turning to FIG. 5, an exemplary method for non real-time, multi-pass video encoding with assisted re-encoding is indicated generally by the reference numeral 500. The method 500 includes a start block 505 that passes control to a function block 510. The function block 510 performs an encoding setup, and passes control to a function block 520. The function block 520 performs encoding with respect to a current picture in a video sequence, and passes control to a function block 590 and a loop limit block 530. The function block 590 stores the bitstream in a buffer, and passes control to a function block 540.
The loop limit block 530 begins a quality check loop that loops over each picture in the video sequence, and passes control to a function block 540.
The function block 540 performs a video quality analysis, and passes control to a decision block 550 and a function block 580. The decision block 550 determines whether or not re-encoding is to be performed. If so, then control is passed to a function block 565. Otherwise, control is passed to a loop limit block 560. The function block 560 ends the loop over each picture in the video sequence, and passes control to an end block 570.
The function block 565 increases a re-encoding counter by one, and passes control to a decision block 575. The decision block 575 determines whether or not a value of the re-encoding counter is above a threshold. If so, then control is passed to a function block 585. Otherwise, control is passed to the function block 580.
The function block 585 outputs a log file, and passes control to the end block 570.
The function block 580 performs a re-encoding setup, and returns control to the function block 520. Regarding function block 580, the re-encoding setup performed thereby may involve, for example, adjusting the target bit rate, the strength of the deblocking filter, and/or other encoding parameters, and/or limiting the scenes to be re-encoded. For example, function block 580 may limit the scenes to be re-encoded to a maximum number N of scenes (e.g., the N scenes with the worst quality), may limit the scenes to be re-encoded such that only scenes with a visual quality metric(s) below a threshold, and/or may limit the scenes to be re- encoded to X% of scenes (e.g., starting from those with the worst quality). In the preceding examples given with respect to function block 580, variable X denotes a selected percentage, and may be represented by an integer value or non-integer value.
In the workflow represented by the method 500 of FIG. 5, the automated re- encoding process will stop when a certain number of re-encoding passes have been completed (function block 575). When the re-encoding process is forced to stop without having achieved the expected picture quality levels, an output report may optionally be created. The output report can be used by the operator to decide whether assisted re-encoding is needed.
In an embodiment relating to the method 500 of FIG. 5, the automated re- encoding method based on the computation of visual quality metrics does not pretend to suppress the need for assisted re-encoding, but to reduce the number of cases requiring human assistance. One advantage of this method over the prior art method is that the total processing time is bounded.
FIG. 6 illustrates an embodiment when a two-pass encoding algorithm is used. Turning to. FIG. 6, an exemplary method for non real-time, two-pass video encoding with assisted re-encoding is indicated generally by the reference numeral 600. The method 600 includes a start block 605 that passes control to a function block 610. The function block 610 performs an encoding setup, and passes control to a function block 621. The function block 621 performs a first encoding pass with respect to a current picture in a video sequence, and passes control to a function block 623. The function block 623 performs a complexity analysis, and passes control to a function block 625. The function block 625 performs a second encoding pass, and passes control to a function block 690 and a loop limit block 630. The function block 690 stores the bitstream in a buffer, and passes control to a function block 640.
The loop limit block 630 begins a quality check loop that loops over each picture in the video sequence, and passes control to the function block 640.
The functipn block 640 performs a video quality analysis, and passes control to a decision block 650 and a function block 680. The decision block 650 determines whether or not re-encoding is to be performed. If so, then control is passed to a function block 665. Otherwise, control is passed to a loop limit block 660.
The function block 660 ends the loop over each picture in the video sequence, and passes control to an end block 670.
The function block 665 increases a re-encoding counter by one, and passes control to a decision block 675. The decision block 675 determines whether or not a value of the re-encoding counter is above a threshold. If so, then control is passed to a function block 685. Otherwise, control is passed to the function block 680. The function block 685 outputs a log file, and passes control to the end block
670.
The functipn block 680 performs a re-encoding setup, and returns control to the function block 625. Regarding function block 680, the re-encoding setup performed thereby may involve, for example, adjusting the target bit rate, the strength of the deblocking filter, and/or other encoding parameters, and/or limiting the scenes to be re-encoded. For example, function block 680 may limit the scenes to be re-encoded to a maximum number N of scenes (e.g., the N scenes with the worst quality), may limit the scenes to be re-encoded such that only scenes with a visual quality metric(s) below a threshold, and/or may limit the scenes to be re- encoded to X% of scenes (e.g., starting from those with the worst quality). In the preceding examples given with respect to function block 680, variable X denotes a selected percentage, and may be represented by an integer value or non-integer value.
Various elements of the method 600 of FIG. 6 will now be further described with respect to an embodiment of the present principles. Function block 621 represents the first encoding pass, which may run at fixed quantization point (QP), constant bit-rate, or even be limited to a pre-analysis pass. Function block 623 represents the complexity analyzer process that determines the final bit-rate allocation based on the data from the first pass. Function block 625 represents the second encoding pass that creates the output bit-stream. Note that re-encoding only requires the execution of the second encoding pass at function block 625. The method 600 of FIG. 6 can be easily extended to support encoding algorithms with more than two passes, as would be apparent to those of ordinary skill in this and related arts, while maintaining the scope of the present principles.
It is to be appreciated that one or both of the video quality analysis and the re- encoding setup may be automated. For example, the video quality analysis performed by function blocks 440, 540, and 640 in FIGs. 4, 5, and 6, respectively may be automated, and or the re-encoding setup performed by function blocks 480, 580, and 680 in FIGs. 4, 5, and 6, respectively. Given the teachings of the present principles provided herein, these and other variations and implementations of the present principles are readily implemented by one of ordinary skill in this and related arts, while maintaining the scope of the present principles. A description will now be given of some of the many attendant advantages/features of the present invention, some of which have been mentioned above. For example, one advantage/feature is an apparatus for multi-pass video encoding that includes a video encoder and a video quality analyzer in signal communication with the encoder. The video encoder is for encoding a video bitstream. The video quality analyzer is for performing a video quality analysis of the video bitstream for a given encoding pass to detect encoder compression artifacts in the video bitstream, and providing to said encoder information relating to the encoder compression artifacts to enable a re-encoding setup of said encoder to reduce an occurrence of the encoder compression artifacts in subsequent re- encoding passes. At least one of the video quality analysis and the re-encoding setup are automated.
Another advantage/feature is the apparatus having the video encoder and video quality analyzer as described above, wherein the video quality analyzer detects encoder compression artifacts by computing visual quality metrics.
Yet another advantage/feature is the apparatus having the video encoder and video quality analyzer as described above, wherein the re-encoding setup involves adjusting a target bit rate. Still another advantage/feature is the apparatus having the video encoder and video quality analyzer as described above, wherein the video encoder includes a deblocking filter, and the re-encoding setup involves adjusting a strength of the deblocking filter.
Moreover, another advantage/feature is the apparatus having the video encoder and video quality analyzer as described above, wherein the re-encoding setup involves adjusting encoding parameters.
Further, another advantage/feature is the apparatus having the video encoder and video quality analyzer as described above, wherein a total number of re- encoding passes is constrained to a maximum value. Also, another advantage/feature is the apparatus having the video encoder and video quality analyzer as described above, wherein the video quality analyzer outputs a log file with data intended to assist an operator during assisted re- encoding.
Additionally, another advantage/feature is the apparatus having the video encoder and video quality analyzer as described above, wherein the video encoder is compliant with the International Organization for Standardization/International Electrotechnical Commission Moving Picture Experts Group-4 Part 10 Advanced Video Coding standard/International Telecommunication Union, Telecommunication Sector H.264 recommendation. Moreover, another advantage/feature is the apparatus having the video encoder and video quality analyzer as described above, wherein the encoding of the video bitstream is performed in multiple passes, so that a re-encoding of the video bitstream only requires a final encoding pass. Further, another advantage/feature is the apparatus having the video encoder and video quality analyzer as described above, wherein the video bitstream includes a plurality of scenes, and the re-encoding setup involves limiting a number of the plurality of scenes to be re-encoded to a maximum number N of scenes from among any of the plurality of scenes having the encoder compression artifacts less than a threshold.
Also, another advantage/feature is the apparatus having the video encoder and video quality analyzer as described above, wherein the video bitstream includes a plurality of scenes, and the re-encoding setup involves limiting a number of the plurality of scenes to be re-encoded such that only scenes, from among the plurality of scenes, with the encoder compression artifacts less than a threshold are re- encoded.
Additionally, another advantage/feature is the apparatus having the video encoder and video quality analyzer as described above, wherein the video bitstream includes a plurality of scenes, and the re-encoding setup involves limiting a number of the plurality of scenes to be re-encoded such that only X% of the plurality of scenes having the encoder compression artifacts less than a threshold are re- encoded. X represents one of an integer and a non-integer value.
Moreover, another advantage/feature is an apparatus for use with a multi- pass video encoder that includes a video quality analyzer. The video quality analyzer is for performing a video quality analysis of the video bitstream for a given encoding pass to detect encoder compression artifacts in the video bitstream, and providing the video encoder with information relating to the encoder compression artifacts to enable a re-encoding setup of the video encoder to reduce an occurrence of the encoder compression artifacts in subsequent re-encoding passes. At least one of the video quality analysis and the re-encoding setup are automated.
Further, another advantage/feature is the apparatus having the video quality analyzer as described above, wherein the video quality analyzer performs the video quality analysis by computing visual quality metrics. Also, another advantage/feature is the apparatus having the video quality analyzer as described above, wherein the re-encoding setup involves adjusting a target bit rate. Additionally, another advantage/feature is the apparatus having the video quality analyzer as described above, wherein the video encoder includes a deblocking filter, and the re-encoding setup involves adjusting a strength of the deblocking filter. Moreover, another advantage/feature is the apparatus having the video quality analyzer as described above, wherein the re-encoding setup involves adjusting encoding parameters.
Further, another advantage/feature is the apparatus having the video quality analyzer as described above, wherein a total number of re-encoding passes is constrained to a maximum value.
Also, another advantage/feature is the apparatus having the video quality analyzer as described above, wherein the video quality analyzer outputs a log file with data intended to assist an operator during assisted re-encoding.
Additionally, another advantage/feature is the apparatus having the video quality analyzer as described above, wherein the video encoder is compliant with the International Organization for Standardization/International Electrotechnical Commission Moving Picture Experts Group-4 Part 10 Advanced Video Coding standard/International Telecommunication Union, Telecommunication Sector H.264 recommendation. Moreover, another advantage/feature is the apparatus having the video quality analyzer as described above, wherein the encoding of the video bitstream is performed in multiple passes, so that a re-encoding of the video bitstream only requires a final encoding pass.
Further, another advantage/feature is the apparatus having the video quality analyzer as described above, wherein the video bitstream includes a plurality of scenes, and the re-encoding setup involves limiting a number of the plurality of scenes to be re-encoded to a maximum number N of scenes from among any of the plurality of scenes having the encoder compression artifacts less than a threshold.
Also, another advantage/feature is the apparatus having the video quality analyzer as described above, wherein the video bitstream includes a plurality of scenes, and the re-encoding setup involves limiting a number of the plurality of scenes to be re-encoded such that only scenes, from among the plurality of scenes, with the encoder compression artifacts less than a threshold are re-encoded. Additionally, another advantage/feature is the apparatus having the video quality analyzer as described above, wherein the video bitstream includes a plurality of scenes, and the re-encoding setup involves limiting a number of the plurality of scenes to be re-encoded such that only X% of the plurality of scenes having the encoder compression artifacts less than a threshold are re-encoded. X represents one of an integer, and a non-integer value.
These and other features and advantages of the present invention may be readily ascertained by one of ordinary skill in the pertinent art based on the teachings herein. It is to be understood that the teachings of the present invention may be implemented in various forms of hardware, software, firmware, special purpose processors, or combinations thereof.
Most preferably, the teachings of the present invention are implemented as a combination of hardware and software. Moreover, the software may be implemented as an application program tangibly embodied on a program storage unit. The application program may be uploaded to, and executed by, a machine comprising any suitable architecture. Preferably, the machine is implemented on a computer platform having hardware such as one or more central processing units ("CPU"), a random access memory ("RAM"), and input/output ("I/O") interfaces. The computer platform may also include an operating system and microinstruction code. The various processes and functions described herein may be either part of the microinstruction code or part of the application program, or any combination thereof, which may be executed by a CPU. In addition, various other peripheral units may be connected to the computer platform such as an additional data storage unit and a printing unit. It is to be further understood that, because some of the constituent system components and methods depicted in the accompanying drawings are preferably implemented in software, the actual connections between the system components or the process function blocks may differ depending upon the manner in which the present invention is programmed. Given the teachings herein, one of ordinary skill in the pertinent art will be able to contemplate these and similar implementations or configurations of the present invention.
Although the illustrative embodiments have been described herein with reference to the accompanying drawings, it is to be understood that the present invention is not limited to those precise embodiments, and that various changes and modifications may be effected therein by one of ordinary skill in the pertinent art without departing from the scope or spirit of the present invention. All such changes and modifications are intended to be included within the scope of the present invention as set forth in the appended claims.

Claims

CLAIMS:
1. An apparatus for multi-pass video encoding, comprising: a video encoder (200) for encoding a video bitstream; and a video quality analyzer (300), in signal communication with said encoder, for performing a video quality analysis of the video bitstream for a given encoding pass to detect encoder compression artifacts in the video bitstream, and providing to said encoder information relating to the encoder compression artifacts to enable a re- encoding setup of said encoder to reduce an occurrence of the encoder compression artifacts in subsequent re-encoding passes, wherein at least one of the video quality analysis and the re-encoding setup are automated.
2. The apparatus of claim 1, wherein said video quality analyzer (300) detects encoder compression artifacts by computing visual quality metrics.
3. The apparatus of claim 1 , wherein the re-encoding setup involves adjusting a target bit rate.
4. The apparatus of claim 1, wherein said video encoder (200) includes a deblocking filter, and the re-encoding setup involves adjusting a strength of the deblocking filter.
5. The apparatus of claim 1 , wherein the re-encoding setup involves adjusting encoding parameters.
6. The apparatus of claim 1 , wherein a total number of re-encoding passes is constrained to a maximum value.
7. The apparatus of claim 1 , wherein the video quality analyzer (300) outputs a log file with data intended to assist an operator during assisted re- encoding.
8. The apparatus of claim 1 , wherein said video encoder (200) is compliant with the International Organization for Standardization/International Electrotechnical Commission Moving Picture Experts Group-4 Part 10 Advanced Video Coding standard/International Telecommunication Union, Telecommunication Sector H.264 recommendation.
9. The apparatus of claim 1 , wherein the encoding of the video bitstream is performed in multiple passes, so that a re-encoding of the video bitstream only requires a final encoding pass.
10. The apparatus of claim 1 , wherein the video bitstream includes a plurality of scenes, and the re-encoding setup involves limiting a number of the plurality of scenes to be re-encoded to a maximum number N of scenes.
11. The apparatus of claim 1 , wherein the video bitstream includes a plurality of scenes, and the re-encoding setup involves limiting a number of the plurality of scenes to be re-encoded such that only scenes, from among the plurality of scenes, with the encoder compression artifacts less than a threshold are re- encoded.
12. The apparatus of claim 1 , wherein the video bitstream includes a plurality of scenes, and the re-encoding setup involves limiting a number of the plurality of scenes to be re-encoded to X% of the plurality of scenes, wherein X represents one of an integer and a non-integer value.
13. An apparatus for use with a multi-pass video encoder, the apparatus comprising: a video quality analyzer (300) for performing a video quality analysis of a video bitstream for a given encoding pass to detect encoder compression artifacts in the video bitstream, and providing the video encoder with information relating to the encoder compression artifacts to enable a re-encoding setup of the video encoder to reduce an occurrence of the encoder compression artifacts in subsequent re- encoding passes, wherein at least one of the video quality analysis and the re-encoding setup are automated.
14. The apparatus of claim 13, wherein said video quality analyzer (300) performs the video quality analysis by computing visual quality metrics.
15. The apparatus of claim 13, wherein the re-encoding setup involves adjusting a target bit rate.
16. The apparatus of claim 13, wherein the video encoder includes a deblocking filter, and the re-encoding setup involves adjusting a strength of the deblocking filter.
17. The apparatus of claim 13, wherein the re-encoding setup involves adjusting encoding parameters.
18. The apparatus of claim 13, wherein a total number of re-encoding passes is constrained to a maximum value.
19. The apparatus of claim 13, wherein said video quality analyzer (300) outputs a log file with data intended to assist an operator during assisted re- encoding.
20. The apparatus of claim 13, wherein the video encoder is compliant with the International Organization for Standardization/International Electrotechnical Commission Moving Picture Experts Group-4 Part 10 Advanced Video Coding standard/International Telecommunication Union, Telecommunication Sector H.264 recommendation
21. The apparatus of claim 13, wherein the encoding of the video bitstream is performed in multiple passes, so that a re-encoding of the video bitstream only requires a final encoding pass.
22. The apparatus of claim 13, wherein the video bitstream includes a plurality of scenes, and the re-encoding setup involves limiting a number of the plurality of scenes to be re-encoded to a maximum number N of scenes.
23. The apparatus of claim 13, wherein the video bitstream includes a plurality of scenes, and the re-encoding setup involves limiting a number of the plurality of scenes to be re-encoded such that only scenes, from among the plurality of scenes, with the encoder compression artifacts less than a threshold are re- encoded.
24. The apparatus of claim 13, wherein the video bitstream includes a plurality of scenes, and the re-encoding setup involves limiting a number of the plurality of scenes to be re-encoded to X% of the plurality of scenes, wherein X represents one of an integer and a non-integer value.
25. A method for multi-pass video encoding, comprising: encoding (420, 520, 621) a video bitstream in a given encoding pass; and performing (440, 540, 640) a video quality analysis of the video bitstream encoded In the given encoding pass to detect encoder compression artifacts therein; performing (480, 580, 680) a re-encoding setup with respect to the video bitstream to reduce an occurrence of the encoder compression artifacts in subsequent re-encoding passes, based on information obtained from the video quality analysis relating to the encoder compression artifacts, wherein at least one of the video quality analysis and the re-encoding setup are automated.
26. The method of claim 25, wherein said step of performing the video quality analysis comprises computing visual quality metrics (450, 550, 650).
27. The method of claim 25, wherein the re-encoding setup involves adjusting a target bit rate (480, 580, 680).
28. The method of claim 25, wherein the encoder includes a deblocking filter, and the re-encoding setup involves adjusting a strength of the deblocking filter
(480, 580, 680).
29. The method of claim 25, wherein the re-encoding setup involves adjusting encoding parameters (480, 580, 680).
30. The method of claim 25, wherein a total number of re-encoding passes is constrained to a maximum value.
31. The method of claim 25, wherein said step of performing the video quality analyzer comprises outputting (585, 685) a log file with data intended to assist an operator during assisted re-encoding.
32. The method of claim 25, wherein said video encoder is compliant with the International Organization for Standardization/International Electrotechnical Commission Moving Picture Experts Group-4 Part 10 Advanced Video Coding standard/International Telecommunication Union, Telecommunication Sector H.264 recommendation.
33. The method of claim 25, wherein the encoding of the video bitstream is performed in multiple passes, so that a re-encoding of the video bitstream only requires a final encoding pass.
34. The method of claim 25, wherein the video bitstream includes a plurality of scenes, and the re-encoding setup involves limiting a number of the plurality of scenes to be re-encoded to a maximum number N of scenes (480, 580, 680).
35. The method of claim 25, wherein the video bitstream includes a plurality of scenes, and the re-encoding setup involves limiting a number of the plurality of scenes to be re-encoded such that only scenes, from among the plurality of scenes, with the encoder compression artifacts less than a threshold are re- encoded (480, 580, 680).
36. The method of claim 25, wherein the video bitstream includes a plurality of scenes, and the re-encoding setup involves limiting a number of the plurality of scenes to be re-encoded to X% of the plurality of scenes, wherein X represents one of an integer and a non-integer value (480, 580, 680).
37. A method for use with a multi-pass video encoder, the method comprising: performing (440, 540, 640) a video quality analysis of a video bitstream for a given encoding pass to detect encoder compression artifacts in the video bitstream; and providing (480, 580, 680) the video encoder with information relating to the encoder compression artifacts to enable a re-encoding setup of the video encoder to reduce an occurrence of the encoder compression artifacts in subsequent re- encoding passes, wherein at least one of the video quality analysis and the re-encoding setup are automated.
38. The method of claim 37, wherein said performing step comprises computing (450, 550, 650) visual quality metrics.
39. The method of claim 37, wherein the re-encoding setup involves adjusting a target bit rate (480, 580, 680).
40. The method of claim 37, wherein the encoder includes a deblocking filter, and the re-encoding setup involves adjusting a strength of the deblocking filter (480, 580, 680).
41. The method of claim 37, wherein the re-encoding setup involves adjusting encoding parameters (480, 580, 680).
42. The method of claim 37, wherein a total number of re-encoding passes is constrained to a maximum value.
43. The method of claim 37, wherein said performing step comprises outputting (585, 685) a log file with data intended to assist an operator during assisted re-encoding.
44. The method of claim 37, wherein the multi-pass video encoder is compliant with the International Organization for Standardization/International Electrotechnical Commission Moving Picture Experts Group-4 Part 10 Advanced Video Coding standard/International Telecommunication Union, Telecommunication Sector H.264 recommendation
45. The method of claim 37, wherein the encoding of the video bitstream is performed in multiple passes, so that a re-encoding of the video bitstream only requires a final encoding pass.
46. The method of claim 37, wherein the video bitstream includes a plurality of scenes, and the re-encoding setup involves limiting a number of the plurality of scenes to be re-encoded to a maximum number N of scenes (480, 580, 680).
47. The method of claim 37, wherein the video bitstream includes a plurality of scenes, and the re-encoding setup involves limiting a number of the plurality of scenes to be re-encoded such that only scenes, from among the plurality of scenes, with the encoder compression artifacts less than a threshold are re- encoded (480, 580, 680).
48. The method of claim 37, wherein the video bitstream includes a plurality of scene.s, and the re-encoding setup involves limiting a number of the plurality of scenes to be re-encoded to X% of the plurality of scenes, wherein X represents one of an integer and a non-integer value (480, 580, 680).
PCT/US2007/014019 2006-07-10 2007-06-15 Methods and apparatus for enhanced performance in a multi-pass video encoder WO2008008150A2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2009519441A JP5437066B2 (en) 2006-07-10 2007-06-15 Method and apparatus for performance improvement in a multi-pass video encoder
BRPI0713916-0A BRPI0713916A2 (en) 2006-07-10 2007-06-15 methods and apparatus for improved performance with a multi-pass video encoder
CN2007800257396A CN101485209B (en) 2006-07-10 2007-06-15 Methods and apparatus for enhanced performance in a multi-pass video encoder
EP07809573A EP2041980A2 (en) 2006-07-10 2007-06-15 Methods and apparatus for enhanced performance in a multi-pass video encoder
US12/309,249 US9204173B2 (en) 2006-07-10 2007-06-15 Methods and apparatus for enhanced performance in a multi-pass video encoder
KR1020097000519A KR101373934B1 (en) 2006-07-10 2007-06-15 Method and apparatus for enhanced performance in a multi-pass video encoder

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US80686206P 2006-07-10 2006-07-10
US60/806,862 2006-07-10

Publications (2)

Publication Number Publication Date
WO2008008150A2 true WO2008008150A2 (en) 2008-01-17
WO2008008150A3 WO2008008150A3 (en) 2008-05-08

Family

ID=38923736

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2007/014019 WO2008008150A2 (en) 2006-07-10 2007-06-15 Methods and apparatus for enhanced performance in a multi-pass video encoder

Country Status (7)

Country Link
US (1) US9204173B2 (en)
EP (1) EP2041980A2 (en)
JP (1) JP5437066B2 (en)
KR (1) KR101373934B1 (en)
CN (1) CN101485209B (en)
BR (1) BRPI0713916A2 (en)
WO (1) WO2008008150A2 (en)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9516340B2 (en) * 2007-06-12 2016-12-06 Thomson Licensing Methods and apparatus supporting multi-pass video syntax structure for slice data
US9304994B2 (en) 2007-08-30 2016-04-05 At&T Intellectual Property Ii, L.P. Media management based on derived quantitative data of quality
WO2009091530A1 (en) * 2008-01-18 2009-07-23 Thomson Licensing Method for assessing perceptual quality
US8780988B2 (en) * 2008-02-28 2014-07-15 Vixs Systems, Inc. Hierarchical video analysis-based real-time perceptual video coding
US8798137B2 (en) * 2008-02-29 2014-08-05 City University Of Hong Kong Bit rate estimation in data or video compression
US10165286B2 (en) * 2009-07-08 2018-12-25 Dejero Labs Inc. System and method for automatic encoder adjustment based on transport data
US10033779B2 (en) 2009-07-08 2018-07-24 Dejero Labs Inc. Multipath data streaming over multiple wireless networks
US9756468B2 (en) 2009-07-08 2017-09-05 Dejero Labs Inc. System and method for providing data services on vehicles
US10117055B2 (en) 2009-07-08 2018-10-30 Dejero Labs Inc. System and method for providing data services on vehicles
US8942215B2 (en) 2010-07-15 2015-01-27 Dejero Labs Inc. System and method for transmission of data from a wireless mobile device over a multipath wireless router
US9113173B2 (en) 2010-03-18 2015-08-18 Panasonic Intellectual Property Corporation Of America Data processing device and data processing method which compresses image data
US20140321552A1 (en) * 2011-11-18 2014-10-30 Dolby Laboratories Licensing Corporation Optimization of Deblocking Filter Parameters
KR20140097199A (en) * 2011-11-24 2014-08-06 톰슨 라이센싱 Video quality measurement
CN102685482A (en) * 2011-12-12 2012-09-19 苏州科雷芯电子科技有限公司 Hybrid coding and decoding method and device
US8675731B2 (en) * 2012-08-13 2014-03-18 Gurulogic Microsystems Oy Encoder and method
JP2015530806A (en) * 2012-08-27 2015-10-15 トムソン ライセンシングThomson Licensing Method and apparatus for estimating motion uniformity for video quality assessment
US20140254659A1 (en) 2013-03-11 2014-09-11 Mediatek Inc. Video coding method using at least evaluated visual quality and related video coding apparatus
US9495526B2 (en) * 2013-03-15 2016-11-15 Eyelock Llc Efficient prevention of fraud
WO2016015133A1 (en) * 2014-07-31 2016-02-04 Dejero Labs Inc. System and method for automatic encoder adjustment based on transport data
US10313675B1 (en) 2015-01-30 2019-06-04 Google Llc Adaptive multi-pass video encoder control
KR102036565B1 (en) * 2016-10-27 2019-10-25 주식회사 에스원 Method and apparatus for optimizing computation-rate-distortion, and method and apparatus for encoding image frame by using the same
US10631012B2 (en) * 2016-12-02 2020-04-21 Centurylink Intellectual Property Llc Method and system for implementing detection and visual enhancement of video encoding artifacts
KR102282455B1 (en) * 2017-07-11 2021-07-28 한화테크윈 주식회사 Image process device and image processing method
KR102347598B1 (en) 2017-10-16 2022-01-05 삼성전자주식회사 Video encoding device and encoder
US11259040B1 (en) * 2019-04-25 2022-02-22 Amazon Technologies, Inc. Adaptive multi-pass risk-based video encoding

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5249053A (en) * 1991-02-05 1993-09-28 Dycam Inc. Filmless digital camera with selective image compression
US5640208A (en) * 1991-06-27 1997-06-17 Sony Corporation Video signal encoding in accordance with stored parameters
WO1997037322A1 (en) * 1996-03-29 1997-10-09 Sarnoff Corporation Apparatus and method for optimizing encoding and performing automated steerable image compression using a perceptual metric
WO2004080050A2 (en) * 2003-03-03 2004-09-16 Koninklijke Philips Electronics N.V. Video encoding
EP1513349A2 (en) * 2003-09-07 2005-03-09 Microsoft Corporation Bitstream-controlled post-processing video filtering
EP1646243A1 (en) * 2004-09-30 2006-04-12 Kabushiki Kaisha Toshiba Information processing apparatus and program for use in the same

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3644056B2 (en) 1994-11-01 2005-04-27 ソニー株式会社 Encoding apparatus and encoding method
US5640298A (en) * 1995-07-28 1997-06-17 Imation Corp. Recording disc cartridge having centrally-located, integral, raised wear surface
US6591058B1 (en) * 1997-12-23 2003-07-08 Intel Corporation Time shifting by concurrently recording and playing a data stream
JP3825615B2 (en) 2000-08-11 2006-09-27 株式会社東芝 Moving picture coding apparatus, moving picture coding method, and medium recording program
WO2005022920A1 (en) * 2003-08-26 2005-03-10 Thomson Licensing S.A. Method and apparatus for encoding hybrid intra-inter coded blocks
JP2006101321A (en) 2004-09-30 2006-04-13 Toshiba Corp Information processing apparatus and program used for the processing apparatus
US7555715B2 (en) * 2005-10-25 2009-06-30 Sonic Solutions Methods and systems for use in maintaining media data quality upon conversion to a different data format

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5249053A (en) * 1991-02-05 1993-09-28 Dycam Inc. Filmless digital camera with selective image compression
US5640208A (en) * 1991-06-27 1997-06-17 Sony Corporation Video signal encoding in accordance with stored parameters
WO1997037322A1 (en) * 1996-03-29 1997-10-09 Sarnoff Corporation Apparatus and method for optimizing encoding and performing automated steerable image compression using a perceptual metric
WO2004080050A2 (en) * 2003-03-03 2004-09-16 Koninklijke Philips Electronics N.V. Video encoding
EP1513349A2 (en) * 2003-09-07 2005-03-09 Microsoft Corporation Bitstream-controlled post-processing video filtering
EP1646243A1 (en) * 2004-09-30 2006-04-12 Kabushiki Kaisha Toshiba Information processing apparatus and program for use in the same

Also Published As

Publication number Publication date
CN101485209B (en) 2011-12-14
JP2009543515A (en) 2009-12-03
US20090323803A1 (en) 2009-12-31
CN101485209A (en) 2009-07-15
WO2008008150A3 (en) 2008-05-08
KR101373934B1 (en) 2014-03-12
US9204173B2 (en) 2015-12-01
KR20090040288A (en) 2009-04-23
EP2041980A2 (en) 2009-04-01
BRPI0713916A2 (en) 2012-11-06
JP5437066B2 (en) 2014-03-12

Similar Documents

Publication Publication Date Title
US9204173B2 (en) Methods and apparatus for enhanced performance in a multi-pass video encoder
US9794597B2 (en) Methods and apparatus for deblocking filtering of non-local intra prediction
CN107211128B (en) Adaptive chroma downsampling and color space conversion techniques
US8340182B2 (en) Video decoding apparatus and video decoding method
KR101320260B1 (en) Method and apparatus for encoding and decoding video signal data
EP1513349B1 (en) Bitstream-controlled post-processing video filtering
US9001889B2 (en) Methods and apparatus for improved quantization rounding offset adjustment for video encoding and decoding
KR100989296B1 (en) Enhanced image/video quality through artifact evaluation
US8848788B2 (en) Method and apparatus for joint quantization parameter adjustment
EP2553935B1 (en) Video quality measurement
KR101810263B1 (en) Methods and apparatus for a classification-based loop filter
EP2141927A1 (en) Filters for video coding
EP1359765B1 (en) Fading estimation/compensation in video encoding
US9992456B2 (en) Method and apparatus for hypothetical reference decoder conformance error detection
CN102439975B (en) For going in artifact filtering in response to the determination of the filter parameter of variable conversion and the method and apparatus of selection based on openness
US9736500B2 (en) Methods and apparatus for spatially varying residue coding
US9979972B2 (en) Method and apparatus for rate control accuracy in video encoding and decoding
US20040028139A1 (en) Video encoding
US20110051807A1 (en) Method and apparatus for rate control accuracy in video encoding
US9167270B2 (en) Methods and apparatus for efficient adaptive filtering for video encoders and decoders
US9294784B2 (en) Method and apparatus for region-based filter parameter selection for de-artifact filtering
US20170105012A1 (en) Method and Apparatus for Cross Color Space Mode Decision
KR101193790B1 (en) Method and apparatus for video codec quantization
Martins et al. Adaptive deblocking filter for transform domain Wyner–Ziv video coding
Galpin et al. Adaptive clipping in JEM

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200780025739.6

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2009519441

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 188/DELNP/2009

Country of ref document: IN

Ref document number: 1020097000519

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2007809573

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2007809573

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: RU

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07809573

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 12309249

Country of ref document: US

ENP Entry into the national phase

Ref document number: PI0713916

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20090107