
Video X264
RUSSIAN VERSION |
X264 is a free software library developed by VideoLAN for encoding video streams into the H.264/MPEG-4 AVC format. It is released under the terms of the GNU. X264 Video Encoder. The most popular h.264 Video Encoder. X264 powers many popular internet video services, such as YouTube, Facebook, and Vimeo. It is widely used by television broadcasters and ISPs.
MSU Graphics & Media Lab (Video Group)
Project head: Dr. Dmitriy Vatolin
Implementation: Alexey Noskov,
Alexander Parshin,
Vladimir Popov
Introduction
x264 is an open source codec of standard MPEG4 AVC/H.264, developed by programmersfrom all over the world. Nowadays, x264 is one of the best codecs of its standard,what is verified by different comparisons.
Improvement description
We decided to improve ABR rate control mode. In this mode codectries to compress a film with target average bitrate satisfying specifiedrestrictions of maximum frame bitrate and buffer size.
Accumulated during previous frames' compressions statistic is activelyused by codec to improve effectiveness of adaptive models. But there is nostatistical information on the first frames of the sequence. To solve thisproblem, codec uses some predefined values or values defined by user.
Download lagu Allahumma Sholli Ala Sayyidina Muhammad gratis dalam format MP3 dan MP4. Temukan lagu terbaru favoritmu hanya di lagu 123 stafaband planetlagu. Sholawat nonstop allahumma sholli ala sayyidina muhammad wa ala ali sayyidina muhammad 75x bkn 100x. Syair Doa Abu Nawas Yang Terkenal - Al I'tiraf. Stafaband Gudang Lagu. Download sholawat abu nawas allahumma sholli.
An analysis showed that these default values are more suitable to high bitrates.Therefore unfounded quality increase appears on low bitrates, that leads to deterioration of both quality of consequent frames and average quality of a movie.
Fig. 1. Per-frame values of PSNR metric before and after the modification. 'Matrix' sequence. |
To eliminate this drawback, we measured PSNR on different testsequences, and selected optimal values of these coefficients for differentbitrates.
Two coefficients were modified in our measurements:
- start_qp - startquant coefficient. It is used to calculate quantifier for first frames, whencodec accumulated no statistics. Unfortunately, codec can't specify thiscoefficient for ABR mode from command line. So, we implemented this feature fortesting.
- ipratio - quantcoefficient modifier for I-frames. To calculate quantifiers for I-frames, codecuses results of accumulated statistics for P-frames, divided by thiscoefficient. This coefficient may be specified from a command line, as follows:ipratio = <number>
Following sequences were used for measurements:
- bbc - standard testsequence
- susi - standardtest sequence
- battle - fragmentfrom a movie 'Terminator-2'
- matrix - fragmentfrom a movie 'Matrix'
Each sequence was compressed with bitrates 100, 225, 460,938, 1340, 2340 kbps. For every bitrate coefficients were variated as follows:start_qp - from 24 to 48 with step 2, ipratio - from 0.50 to 1.50 with step0.25. That allowed us to select optimal values for each bitarte and each sequencefrom the testing set. Range of parameters was selected to cover allpossible optimal values with good accuracy and in acceptable time.
Fig. 2. Dependence of average PSNR value on parameters 'start_qp' and 'ipratio' for sequence 'matrix' with 938 kbps bitrate. |
As you can see on graph, quality of compressed movie mostly depends onstart quant coefficient, and varying of I-frame modifier doesn't cause asignificant changes. So, it was decided to make changes only in startquantifier selecting.
Accumulated statistic was approximated by a simple function, dependenton specified bitrate, and calculated each time before compression starts, that leads to increase in quality and decrease in size of a movie.
To approximate experimental curve it was decided to use a power functionof following type:
,
where a, b and c - unknown coefficients. Selection of coefficients wasimplemented using nonlinear Levenberg-Marquardt optimization. After optimization,function becomes:
Results
After modifications codec’s work on low bitrates was improved. As a test, we used number of sequences, which didn’t participated in parameter selection. Most of them show that our modification outperform original version at low bitrates and has same average quality at middle and high bitrates. Sources of Febrary, 12, 2006 were used for this testing. We used following codecs parameters:
x264 --bitrate=<targer_bitrate> --fps=<fps> --me=umh --merange=32 --subme=6 --ref=16--analyse=all --direct=spatial --pbratio=1.5 --bframes=3 --weightb -o <output_file> <input_file> <width>x<height>
Following graphs show results at some sequences. 'Matrix' is a sequence from our test set and 'flower' sequence was not used for parameters selection.
Fig. 3 Results of codec x264 modification on 'flower' sequence |
Fig. 4 Results of codec x264 modification on 'flower' sequence, Delta Y-PSNR |
Fig. 5 Results of codec x264 modification on 'flower' sequence, low bitrates |
Fig. 6 Results of codec x264 modification on 'Matrix' sequence, Delta Y-PSNR |
Links
Codec comparisons with x264:
Codec's web pages:
Download
Other materials
Video resources:3D and stereo video Projects on 3D and stereo video processing and analysis
MSU Video Quality Measurement tools Programs with different objective and subjective video quality metrics implementation
| Codecs comparisons Objective and subjective quality evaluation tests for video and image codecs
|
Public MSU video filters Here are available VirtualDub and AviSynth filters. For a given type of digital video filtration we typically develop a family of different algorithms and implementations. Generally there are also versions optimized for PC and hardware implementations (ASIC/FPGA/DSP). These optimized versions can be licensed to companies. Please contact us for details via video(at)graphics.cs.msu_ru.
| Filters for companies We are working with Intel, Samsung, RealNetworks and other companies on adapting our filters other video processing algorithms for specific video streams, applications and hardware like TV-sets, graphics cards, etc. Some of such projects are non-exclusive. Also we have internal researches. Please let us know via video(at)graphics.cs.msu_ru if you are interested in acquiring a license for such filters or making a custom R&D project on video processing, compression, computer vision.
|
Video codecs projects Different research and development projects on video codecs
| Other Other information
|
Last updated:19-February-2020 |
Server size: 8069 files, 1215Mb (Server statistics) |
Project updated by
Server Team and MSU Video Group
Project sponsored by YUVsoft Corp.
Project supported by MSU Graphics & Media Lab