DCT Transfrom De-correlation and Coding of DCT coefficients
One of main properties of DCT transform is de-correlation (i.e. minimizing or even removing the inter-dependencies between coefficients). Actually coefficients within a DCT block get statistically independent. Hence, there is no sense to code a couple (or generally n-tuple) of DCT coefficients as one entity. It’s more efficient and simpler to code each DCT coefficient […]
H.265/HEVC
HEVC Detailed Tutorial x265 open source hevc encoder SVT-HEVC Open Source Codec HEVC Lossless Modes Indication of Interlace Content in HEVC Why So Many Intra Prediction Modes in HEVC? HEVC Transform Dynamic Range Analysis Optimal Integration of SAO Decisions in HEVC Encoding Pipeline Relationship Between CRA and RASL Frames Python Script to Remove SEIs Picture […]
VP9 vs. HEVC
According to the following papers – HEVC is better than VP9 in coding efficiency: “Coding Efficiency Comparison of AV1/VP9, H.265/MPEG-HEVC,and H.264/MPEG-AVC Encoders“, by Detlev Marpe et al, HHI “PERFORMANCE EVALUATION OF H.265/MPEG-HEVC, VP9 AND H.264/MPEGAVC VIDEO CODING“, by Ahmad A. Mazhar, 2016 “Contemporary Video Compression Standards H.265/HEVC, VP9, VP10, Daala“, by M.P. Sharabayko et al., […]
Frame Level Parallelism
Introduction Generally speaking there three level of parallelism that can be exploited to speedup the video encoding/decoding processes: 1) GOP-level: each core takes its own GOP and processes it. 2) Frame Level: there are three variants: a) B-frame parallelism, if GOP structure contains two consecutive B-frames (IPbbPbbPbb…, small letter denotes – not used for reference) […]
Human Vision System – Facts
Content Sensitivity to low-frequency components Visual Cortex, Lateral Geniculate Nucleus etc. HVS is capable of perceiving the light approximately at contrast ratio of 10^5:1 There are two types of photoreceptors – rods and cones Why practical profiles of most video compression standards require YUV (or YCbCr) 4:2:0? Visibility of coding artifacts AROUND a scene cut […]
On Decision Heuristics in Encoders
Most of heuristic rules applied for mode decisions within Video Encoder are mathematically intractable and therefore they can’t be mathematically confirmed. Moreover modern encoding methods are so sophisticated that the amount of options is incredibly large for brute-force decision, we need sub-optimal heuristics to make encoders to meet real-time. We have to believe that these […]
Notes on 3D Video Coding
There four main approaches in encoding stereo video in the format AVC/H.264 or HEVC/H.265: 1) [Multi-view Coding (MVC)] AVC/H.264 as well as H.265/HEVC supports a sort of scalable coding SVC (which officially is called – MVC) to encode multi-view video by full exploitation of inter-view and intra-view redundancies. That method is reported to provide the best […]
Transport Stream Container Links
MPEG Transport Stream Multiplexing How Generate PTS/DTS from elementary video stream Note on Start Code Emulation Within Transport Stream How Count AVC/H.264 Video Frames in MPEG-2 Systems (Transport Stream) file? Discontinuity Indicators Python Script to Check PCR Integrity On Duplicated Packets in Transport Stream Python Scripts to Analyze and Process Transport Stream Start Code Emulation […]
Video Optimization
Video Optimization – What it means? Video Optimization is a recompression of video stream (in real-time or in off-line) with lower bit-rate and without compromising visual perception (i.e. input video and output video are “perceptual identical” but output video takes fewer bits). Why Video Optimization is commercially valuable? A Significant part of video in Internet traffic […]
MP4 Container
Content General Pros of MP4 Container Cons of MP4 Container How get N-th video frame (AVC/H.264 or HEVC/H.265)? Note on Bitrate Box (‘btrt’) Fragmented MP4 Details on Fragmented MP4 Fragment Structure Special Boxes in Fragmented mp4-file Python Scripts to Process mp4-files Parse stsd-box of video track in mp4-file Traverse Fragmented MP4 file and […]