Video Compression

VideoNerd

VVC Open-Source Encoder uvg266

Prelude Presentation of VVC   Download and Build (in Windows) Sources and building instructions are available in here  Go to the folder ‘build’  (cd build)  Use cmake to construct Visual Studio 2019 solution (x64) of uvg266 codec: cmake .. -G “Visual Studio 16 2019” -DCMAKE_GENERATOR_PLATFORM=x64 Open uvg266.sln and build the projects uvg266 and uvg266-bin, uvg266.exe […]

Non-Reference Video Quality Metric – RECO Index (Polar Edge Coherence Score)

The idea of RECO non-reference metric is based on the fact that on the retinal surface natural images are characterized by perfect sharp edges under ideal focusing and in absence of noise, and any edge impairment is perceived as an annoying disturbance, apart some exceptions known as natural factors impairing edge patterns. Natural factors impairing […]

Distinction between Pearson and Spearman Correlations

Pearson correlation measures a linear relationship between X and Y, while Spearman correlation estimates a non-linear relationship. In some cases, the relationship between X and Y (e.g.  Bitrate and Quality) is strictly non-linear:   taken from https://avichawla.substack.com/p/the-limitation-of-pearson-correlation   The following Python script shows how to compute Pearson and Spearman correlation coefficients:   import numpy as […]

Why PSNR is Poor-Related to Human Vision System

PSNR does not reflect the structure between test signals and the pristine (original) signal. The structure of errors is important in Human Vision System.  The following figure demonstrates how totally different discrepancies  between test signals and the original one give same PSNR, it’s obvious that the test signal 1 seems much better approximation to the […]

High Throughput JPEG 2000 (HTJ2K) – Updated Version of JPEG 2000

High Throughput JPEG 2000 standard, officially ITU-T Rec T.814, shortly HTJ2K, is a modified version of JPEG2000 (shortly J2K), the reference to  HTJ2K standard .  According to the paper “High Throughput JPEG 2000 (HTJ2K): Algorithm, Performance and Potential”, by David Taubman et al., 2020, HTJ2K is a royalty free standard. The one significant drawback of […]

Approximation of (1-k)^t when ‘k’ is small and ‘t’ is big

when ‘k’ is small and ‘t’ is big   For example, let k=0.01 and t =100   Slava23+ years’ programming and theoretical experience in the computer science fields such as video compression, media streaming and artificial intelligence (co-author of several papers and patents). the author is looking for new job, my resume Donate videonerd.website

Compute PSNR, SSIM, VIF with ffmpeg

If you have original yuv-sequence and encoded h264 file (or h265), you can compute total PSNR,SSIM and VIF statistics with ‘-filter-complex‘ of ffmpeg tool.   the following command computes total PSNR statistics: Example: Check psnr of the first 200 frames: ffmpeg.exe -i crowd.h264 -s 1920×1080 -i  crowd_1920x1080_50fps.yuv  -filter_complex “psnr” -frames 200 -f null – …. […]

VP9 and VP8 Codecs, Open Sources

Content Getting VP9/VP9 Build VP9/Vp8 Source for Windows Running VP9/VP8     Getting VP9/VP8 Source The official VP9/VP8 source: https://chromium.googlesource.com/webm/libvpx git clone https://chromium.googlesource.com/webm/libvpx  vpx   Build VP9/VP8 Source for Windows Open (or run) MSYS2 Note: if you have not MSYS2 installed on your machine, you need to install it from https://www.msys2.org . Check that MSYS2 […]

Generator of True Random Numbers Based on Quantum Fluctuations of Vacuum

All random number generated by SW are in virtue pseudo-random, because a deterministic machine can’t produce pure random numbers. In the laboratory of physics https://qrng.anu.edu.au/  ,  quantum fluctuations of vacuum are ceaselessly measured to supply true random numbers for anyone in the world. To get true random numbers from Python you need install ‘quantumrandom’ module: […]

VVC Reference Picture Resampling

In HEVC and in H.264, when a codec changes spatial resolution (due to adaptation to new network conditions), it must send IDR and hence to break the temporal prediction. In VVC, there is a special feature – reference picture resampling (RPR). VVC inter coding may use to one or more previous reference pictures that have […]