Video Compression

VideoNerd

Banach-Tarski Theorem and Philosopher’s Stone

Banach-Tarski Theorem  and Philosopher’s stone  or  How Become Billionaire Banach-Tarski Theorem says: “It is possible to decompose a solid sphere into a finite number of pieces, which can then be reassembled to create two spheres identical to the original” In other words, if you have a golden brick, then you can decompose it in a […]

Number Cores of AWS machine g4dn.4xlarge for Real-Time Transcoding with x264

The purpose of this note is to estimate the number of cores AWS machine (g4dn.4xlarge) required to transcode in real-time an encoded 1920x1080p@60fps video with the SW codec x264 to lower bitrate and/or to lower framerate and/or to lower resolution.  Actually our transcoding is both trans-rating and trans-scaling.   Testing methodology AWS machine:  g4dn.4xlarge Each […]

Python Scripts for Computer Vision

Content How To Decode and Show Frames Activation Web-Camera in Real-Time How to detect Faces with cvlib     How To Decode and Show Frames The python module sk-video  (to install this module pls. type ‘pip install sk-video’) contains a special iterator FFmpegReader to traverse (to decode) over all frames from any container (mp4,mkv,avi …).  The […]

Differential Pulse Code Modulation (DPCM) Method to Exploit Spatial Redundancy

The Spatial Redundancy in video data means a strong correlation of neighboring pixels, which is observed within frames. Therefore, a predictive coding is beneficial if the correlation is strong enough among the spatially adjacent pixels. The basis of the spatial predictive coding is to predict a pixel value from previous pixels which were already coded […]

AVS2 Open Source Encoder xavs2

Content AVS2  – Build and Run Run AVS2 by means of ffmpeg       AVS2  – Build and Run AVS2 is Chinese video encoding standard (the successor of AVS), for more info go to here   How to get and Build  AVS2 open-source encoder xavs2? git clone https://github.com/pkuvcl/xavs2.git  as recommended in the github of […]

Stability of System Linear Equations and Condition Number

Let’s consider the system of linear equations in the matrix form:   A x = b If we make tiny changes in the vector ‘b’ and the solution ‘x’ will change a little then the matrix ‘A’ is called stable. Otherwise, if any tiny change of the vector ‘b’ provides strongly different solution ‘x’, then […]

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 […]