Video Compression

VideoNerd

MPEG-5 EVC Codec – Baseline Profile

Encoder Getting and Compilation (in Windows)       Running MPEG-5 EVC encoder (xeveb_app.exe) Decoder      Getting and Compilation of MPEG-5 Decoder (in Windows)     Running MPEG-5 EVC  Decoder     Encoder MPEG-5 EVC is tailored for 8K encoding.   Getting and Compilation (in Windows) Sources of MPEG-5 EVC encoder are free. It’s worth noticing that […]

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

Detection Anomalies (Outliers) in Data

Content Z-score Method Tukey’s Method Outlier Ratio Appendix: Coefficient of Variation (CV)     Z-score method If data is distributed normally then we can use z-score method (or the three-sigma rule) to detect outliers (values exceeding 3 std deviations in both directions are considered as anomalies). The following python snippet demonstrates how to detect anomalies […]

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

Evaluation of cutree mode in x265

Introduction The idea of CTU-tree (cutree mode) is as follows: a block is more important if it is referenced by many other blocks, i.e. has many ancestors in the graph (or in the tree).  cutree makes sense if the lookahead is enabled, otherwise we can’t know ahead how much a given block is referenced in […]

OpenJPEG – Encoding and Decoding of JPEG2000 Images

Content Lossless Encoding RGB Input YUV420 Input Lossy Encoding Tiling Lazy Coding Decoding Appendix: subjective quality analysis between JPEG and JPEG2000 Appendix: JPEG2000 encoding with ffmpeg   The open source (BSD 3-Clause license)  OpenJPEG  contains both ready binaries for Linux, MAC and Windows and code sources, OpenJPEG supports JPEG2000 and in this post i dwell […]

High Efficiency Image File Format (HEIF and HEIC)

High Efficiency Image File Format (HEIF and HEIC) is a container format for bitstreams coded by the High Efficiency Video Coding (HEVC) standard. Note that there is a subtle difference between HEIF and HEIC. HEIF is a file format for storing individual HEVC bitstreams of still images while the HEIC format is tailored to store […]

shaka packager

Preamble: Some Details on HLS In HTTP-based rate-adaptive streaming protocols, like HLS, videos are encoded into multiple representations at different bitrates and resolutions. Each representation is then partitioned into segments of lengths that are several seconds long. At any moment, Client can dynamically choose a segment from an appropriate representation (according to current channel capacity) […]

WebP Image Format with ffmpeg

WebP image format was introduced by Google in 2010 and it’s is based on lossy and lossless intra-frame coding of the VP8.  Google claims WebP images using lossless compressed are 26% smaller in file size compared to PNGs, and files with lossy compression are 25-34% smaller in size compared to JPEG images at equivalent perceived […]