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 […]
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 […]
AVC/H.264
AVC/H.264 Error Handling Dangling Fields in AVC/H.264 DPB Monitoring Algorithm Sections from e-book “Anatomy of H.264/AVC” I-frame Bit-Rate Peaks frame_num and stream thinning POC Difference and Smooth Playback A Pitfall of AVC/H.264 HRD Analysis Difference between NAL HRD and VCL HRD Negative POCs Hierarchical B-frames and B-Pyramid idr_pic_id and redundant pictures Why Some Paremeters in […]
HEVC Lossless Mode
HEVC (Ver. 1) adopts two lossless modes: IPCM – actually ‘copy-paste’ mode (even not DPCM) Lossless Entropy Lossless Entropy Mode This mode is signaled by PPS parameter transquant_bypass_enabled_flag . Lossless entropy mode is applied on CU-level, i.e. some CUs can be coded as lossless while the rest is coded in regular lossy […]
x265 codec
Content Getting x265 codec Compilation x265 Running of x265 How Run x265 in Parallel Encode in Lossless Mode Encode in Constant QP Mode How Run x265 via ffmpeg Disadvantages of x265 Example Code of using libx265.lib Getting x265 codec to take open-source x265 you need Mercurial Tortoise hg installed, and to download x265 sources (for […]