Video Compression

VideoNerd

Reference List Reordering in H.264/AVC

Introduction The purpose of the list reordering feature of H264/AVC is to show how reference frame reordering impacts on  coding efficiency. This document describes in details how to make the reference list reordering in order to achieve better coding efficiency. The H.264/AVC supports special reference list reordering commands (signaled in the slice header) and which […]

Blending of Two Frames from the Same Scene and Motion Detection

Blending of Two Frames from the Same Scene can help to specify motion displacement. C++ code BlendFrame.cpp   blends two frames with the weights (0.5, 0.5) . The cpp-file BlendFrame.cpp applies libraries  of OpenCV2.3  and cvAddWeighted function.  To create and build Visual Studio project (x64, Release) you need install OpenCV 2.3 version and put BlendFrame.cpp […]

Codec Popularity at Next Years (till 2030)

According to the graph of codec popularity, taken from the paper “Towards Efficient Multi-Codec Streaming” by Yuriy A. Reznik at 2030 three codecs are popular: HEVC, H264/AVC and AV1 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). […]

JPEG Lossless and FFMPEG

JPEG Lossless coding of still images (with ffmpeg tool’s  jpegls) tends to be slightly better than png-format (for both live images and computer-generated)   How to apply JPEG Lossles coding: ffmpeg -i test.png -vcodec jpegls -pix_fmt rgb24 -y test_ls.jpg Note: it’s recommended to set ‘-pred 2’ the median prediction instead of the left (default): ffmpeg […]

On Optimal Number of Intra Prediction Modes

Intra prediction modes are tailored to exploit spatial redundancy. There is a tendency to increase the number of intra-prediction modes for each new video standard.   Number of intra-prediction modes per video standard: H261                         0 H264/AVC                9 H265/HEVC            35 H266/VVC             ~65   I think in the context of coding […]

Server-Client Clock Alignment in Cloud Gaming

Content How to Align Cloud Server’s timeline to Client’s? Clock Drift (Skew) Estimation and Compensation   What’s Cloud Gaming? The game is not executed locally on your computer, but on a distant server with dedicated hardware in a large data center. In other words Cloud Gaming is the ability to run games in the cloud […]

AVS Chinese National Video Standard

AVS is Chinese national video standard, it is included in ffmpeg. To validate that you ffmpeg-tool supports AVS pls. run ffmpeg -codecs | findstr xavs … DEV.L. cavs Chinese AVS (Audio Video Standard) (AVS1-P2, JiZhun profile) (encoders: libxavs ) Note: ffmpeg supports the profile JiZhun by default.    Example of AVS encoding  [the bitrate 600 […]

NIQE Non-Reference Video Quality Metric

NIQE is an abbreviation of “Natural Image Quality Evaluator”. This non-reference (blind) method was described in the paper “Making a ‘Completely Blind’ Image Quality Analyzer“,  by Anish Mittal, Rajiv Soundararajan and Alan C. Bovik. The original python code of NIQE method is located here   .  I modified an interface of the code to get video […]

Enhancement of Error Resilience by Non-reference P Frames

  Content Idea How much non-Reference P-framing impacts on the video quality? Nvidia Rate Control has a flaw   Idea For low-latency applications like Cloud Gaming, in case of packet losses a retransmission is not feasible. Consequently visual distortions are observed for a while, due to temporal prediction, if the previous frame is corrupted then […]

Git Commands in Single Figure

How Git commands work from ByteByteGo.com   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