Video Compression

VideoNerd

The Cocktail Party Paradox

In Theory of Graphs there is the following theorem: A graph with more than two vertexes has at least two vertexes with the same degree.  Proof   Let’s consider a party where each guest is a vertex. Two vertexes (or guests) are connected if they are acquaintances. The theorem asserts that in each party above […]

Implementation of Anti-aliasing Filter in Downscaling

Introduction One of annoying distortions of down-scaling is aliasing impairments. It’s a common practice to apply an anti-aliasing filter prior to down-scaling process.  Generally speaking the anti-aliasing filter is a low pass filter usually used before a signal sampler in order to reduce the signal frequency bandwidth and approximately to satisfy the Nyquist Sampling theorem.  […]

Image Scaling

How Perform Scaling with ffmpeg Scaling with JSVM DownConvertStatic.exe There are many techniques to scale images, most popular are Nearest Neighbor, Bilinear, Bicubic, Spline, and Lanczos. The Nearest Neighbor considers the closest pixel, Bilinear – the closest 2×2 pixels, Bicubic the closest 4 × 4 pixels.  Spline and Lanczos consider more surrounding pixels. If we […]

Visually Lossless Noise Injector

Abstract The purpose of this post is to describe injection of visually lossless noise. The injector generates invisible noise, i.e.  under Human Eye detection threshold (or in other words under JND – just noticeable difference). Currently JND calculation is based on luminance masking (TBD – texture masking and temporal masking).  For details on Human Vision […]

How Many Frames Share Same Histogram?

The histogram H of the gray image I or Y-component of YUV-image is the frequency of occurrence of each pixel level. For 8bpp  the histogram is the vector of 256 elements (since pixel values are in the range 0..255). It’s obvious that each image which is a spatial shuffling of pixels from the original image share same […]

Erdos-Szekeres Theorem

This paper was inspired from The Erdős–Szekeres Theorem   Erdos-Szekeres Theorem (in a limited form): Any sequence of distinct real numbers with the length NxN+1 contains a monotonically increasing subsequence of length N+1 or a monotonically decreasing subsequence of length N+1 Example any sequence of 10 distinct integers (N=3) contains either ascending or descending subsequence […]

Elements of Human Vision System

Elements of Human Vision System (HVS) Perceptual Visual Distortions as Result of Encoding Scene Cut masking Temporal Visual Masking Frequency sensitivity Spatial Masking     Elements of Human Vision System (HVS)   Visual processing in Primates is mainly performed by Visual Cortex and by Lateral Geniculate Nucleus (parts of the brain). Eyes are sensors with simple preprocessing function, […]

Philosophy for SW Engineers

Bear in mind that Absence of Evidence of SW product malfunction does not always mean Evidence of Absence: We commonly can’t say with 100% confidence whether a SW Product is “bug-free” or not.  Notice that i deliberately put the word ‘commonly’, because there are few cases when all potential (or expected) input data fed to […]

Python: Remove Duplications from List

Convert a list to set and then convert back from the set to the list, the conversion to the set removes duplication.  There is one weak point the order in the resulted list might be different from the original one, since ‘set’ does not preserves ordering.  Example:            l=[1,2,3,1]     […]

How Many Bits to Store N-Decimal Digits Number

How Many Bits Required to Store N Decimal Digits Number? Let’s suppose you have to know how many bits are required to store a number having N decimal digits?  The exact answer is  ceil(N/log10(2)). However, log10(2)>1/3, hence the amount of bits required to store N decimal digits number is at most 3xN.  Slava23+ years’ programming […]