Video Compression

VideoNerd

Limits of Machine Learning

Hidden Limits of Machine Learning Note: Machine learning(ML) is a subset of Artificial Intelligence(AI), AI includes, for example, evolutional programming, swamp intelligence etc. In other words Machine learning is a collection of algorithms and techniques used to design systems that learn from data. The lure of Machine Learning methods has been overwhelming. The range of […]

Use Case from Video Compression: Significance Testing of Pearson Correlation Coefficient

My purpose of paper is to show that sometimes correlation between parameters can be by chance and not by causality.   Definition: Pearson correlation coefficient (usually called merely ‘correlation coefficient’) measures a linear relationship between two variables. It’s worth noticing Pearson correlation coefficient reflects an extent of linear relationship (not exponential or quadratic relationship). The range of the […]

How Many Calls of Random Generator to Get Sequence of Different Numbers?

Problem: We have a random generator generating uniformly distributed numbers in the range 1..10 .  How many times in average one can apply the random generator to get a sequence of three mutually different numbers? Solution [The problem is similar to the well-known Collecting Coupons Problem] Let’s suppose that the random generator is a sampling […]

SW Testing and Population Statistics

We often test programs which fails or get stuck (e.g. due to racing conditions). Let’s suppose that after a fix the failure rate is reduced – how can we be sure with a high confidence the fix indeed reduces the failure rate? This question is equivalent to very famous statistics problem – tossing of coin. […]

Probability Theory and SW Verification

Use cases from real problems in simplistic form   You are going to verify a SW product by random tests, i.e. you activate a random number generator producing pseudo-random numbers (“pseudo” is not a typo, a deterministic machine can’t produce pure random numbers) say in the range [1..100]. You pick the first 10 random numbers […]

Histogram Equalization

Histogram Equalization is a basic image processing technique to boost contrasts, the histogram equalization is often used in the pre-processing phase to make video more plausible. However, a straight way of histogram equalization can incur strong contouring effects (and consequently an encoder would consume more bits for retention of these superfluous edges). Moreover, by boosting […]

Heuristic rules for Intra-Inter decision for H.264/AVC

Inspired by the paper “Real-Time Software Implementation of H.264 Baseline Profile Video Encoder for Mobile and Handheld Devices”, G Nageswara Rao et al. Brute force selection of the best luma (16×16) intra mode requires to process about 3328 pixels: 4 intra predictions for 16×16 block :4*(16*16)  pixels 9 intra predictions for each 4×4 block:  9*(4*4)*16 […]

Intel Media SDK Example Codecs

If you have Intel processor you can apply example (or sample) encoder/decoder from Intel Media SDK. First of all you need clone Intel Media SDK software from git clone https://github.com/Intel-Media-SDK/MediaSDK.git Then open AllBuild.sln and compile all projects (don’t worry if some projects are not compiled due to error: Cannot open include file: ‘CL/cl.h’). One of […]

How to Determine Maximal Number of Slices per Frame in AVC/H.264?

H.264/AVC puts constraints on the maximal number of slices per picture. Generally speaking, the maximal slice number depends on the video resolution and the frame rate (more precisely on the level which is signaled in SPS). For example, for 1080p60fps the maximal number slices per frame is 361. If your stream contains a frame with […]

Why Heuristic Rules Are Useful in Choosing H.264/AVC Intra Prediction Modes

For 16×16 MB the number of combination of luma and chroma intra prediction modes is given by the following formula:                   Nc x ( 16 x N4   +  4 x N8  +  N16 ) where ‘Nc’ is the number of chroma prediction modes (Nc=4) ‘N4‘ is the number of luma prediction modes for 4×4 block […]