HEVC CRA and RASL Frames: Definitions and Relationship
Terminology: CRA (Clean Random Access) is a compromise between open gop coding efficiency (notice that closed gop cadence is worse due to temporal prediction discontinuities) and random access ability (sometimes ‘seekability’ is used instead of ‘random access ability’). Leading pictures – following in decoding order but preceding in presentation order. Leading pictures are divided into […]
On QP-Modulation (Adaptive Quantization)
QP-Modulation (or Adaptive Quantization) methods are based on the well known empirical fact that the human visual system (HVS) is less sensitive to distortions in high-complexity areas than those of homogeneous regions. Moreover, high complexity often corresponds to fast motion, so a decrease in quality will be less noticeable. By the way, this property has […]
On Frame/MB Complexity
The MB Complexity is estimated as MBsize*QP (or more generally Mbsize * QP k, where k>=1 ). This sort of complexity is widely used in Rate Control methods to derive quantization steps. There are two troubles with this estimation: it’s better to use Qstep instead of QP, because the relationship between QP and Qstep […]
Discontinuities in Chroma Blocks
This section is a resume of a public discussion with Luc Trudeu in LinkedIn. In AV1 as well as in HEVC/H.265 chroma partition mimics luma one as long as the block sizes are permitted. For example, in case of 4:2:0, the 16×4 luma partition can’t produce a 8×2 in chroma (because the partition 8×2 is […]
Presentation on Motion Estimation
The presentation Motion Estimation for Video Coding covers the following topics: 1) General intro to motion prediction models – translational and affine 2) Taxonomy of Motion Estimation Methods 3) Use case: Block Matching Motion Estimation 4) Use cases of motion estimation for HEVC/H.265 and AV1 Notes: The simplest motion model of Motion Estimation is […]
Useful Python Scripts
Content: Removal Specific SEI Message from H264/AVC Elementary Stream Get H264/AVC Video Statistics from Transport Stream Get Picture Statistics From HEVC/H.264 Elementary Stream Extract a Selected GOP starting at CRA in HEVC/H.265 Elementary Stream Print High-Level Syntax Elements (SPS/PPS) in HEVC/H.265 Elementary Stream Modify Aspect Ratio Parameters in HEVC/H.265 Elementary Stream Detect Discontinuities in frame_num […]
Encoding with X264 (incl. ffmpeg)
Content Lossless Encoding with x264 and ffmpeg Constant QP Encoding Constant Quality Mode (CRF) Number Reference Frames How Add AUDs (Access Unit Delimiters) Benchmark option of ffmpeg Free H264 High Level Stream Analyzer Note: Binaries for all platforms of x264 are located at https://download.videolan.org/x264/binaries/ Lossless Encoding with x264 and ffmpeg To instruct x264 […]
Rate Control of x265
Content General Selected x265 parameters Presets x265 Parallelism Frame-Level Parallelism CTU-level Parallelism Rate Control: Coding Thread Rate Control Initialization (Stream Level) Rate Control Start (Frame Level) RC Reset FrameStartQP B-Frame Initial QP ABR Mode: I/P Frame Initial QP CRF Mode: I/P-Frame Overflow Correction Model Update CalcQp per CU Rate Control End (Frame-Level) Update Statistics Amortization […]
Why HEVC has so many Intra Prediction Modes comparing to AVC?
During development of HEVC and after finalization some practitioners criticized the standard for a ‘huge’ amount of diagonal prediction modes – 31 pure angular prediction modes (except vertical,horizontal, DC and plane) due to impact on complexity. My conjecture on Abundance of Intra Prediction Modes in HEVC: DCT is poor in approximation of diagonal edges (because […]
Interlace Support in HEVC
Unlike to H.264/AVC, interlace-dedicated coding in HEVC is not exist: No mixed frame-field interaction (like PAFF in H.264/AVC) No interlace scanning of transform coefficients No correction MVX[1] (or y-component of MV) if current and reference pictures are in different polarity (top-bottom or bottom-top). However, in HEVC the interlace video content can be indicated (signaled in […]