tag:blogger.com,1999:blog-7456411913274549962024-03-19T12:41:31.449-07:00Max Sharabayko BlogUnknownnoreply@blogger.comBlogger11125tag:blogger.com,1999:blog-745641191327454996.post-9369536294957654282018-07-30T08:10:00.000-07:002018-08-01T01:51:30.804-07:00Build Wireshark in CentOS 7First, download the source code for the latest stable release from the <a href="https://www.wireshark.org/download.html">Wireshark download page</a>. We will use release 2.6.2 in this example.<br />
<br />
<script src="https://alexgorbatchev.com/pub/sh/current/scripts/shBrushBash.js" type="text/javascript"></script>
<pre class="brush: bash;">
sudo yum install gcc gcc-c++ lz4-devel snappy-devel libnghttp2-devel libpcap-devel
sudo yum install qt-devel libtool qt5-qtbase-devel qt5-qtmultimedia-devel
sudo yum install qt5-linguist desktop-file-utils
wget https://1.eu.dl.wireshark.org/src/wireshark-2.6.2.tar.xz
cd wireshark-2.6.2
./configure
make all
sudo make install
</pre>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-745641191327454996.post-37008837073132405492017-08-13T01:22:00.000-07:002017-08-13T01:22:24.443-07:00H.264/AVC Video Compression on Smartphones<div style="text-align: justify;">
In this paper we studied the usage of H.264/AVC video compression tools by the flagship smartphones. The results show that only a subset of tools is used, meaning that there is still a potential to achieve higher compression efficiency within H.264/AVC standard, but the most advanced smartphones are already reaching compression efficiency limit of H.264/AVC.<br />
<b>Published in:</b> <i>Sharabayko M.P., N.G. Markov. <a href="http://dx.doi.org/10.1088/1742-6596/803/1/012141">H.264/AVC Video Compression on Smartphones</a>. Journal of Physics: Conference Series. Vol. 803, 2017: Information Technologies in Business and Industry (ITBI2016).</i></div>
<a name='more'></a><h3 style="text-align: left;">
1. Introduction</h3>
<div style="text-align: justify;">
Smartphones are widely spread nowadays. They all support not only video playback, but also video recording. Recorded videos are stored on the phone itself, on PC, etc., or they can be streamed to the network. In these applications, video compression efficiency plays a very important role.</div>
<div style="text-align: justify;">
Almost all smartphones today perform video compression within current industrial video compression standard H.264/AVC [1], first published in 2003. Adherence to the standard provides a possibility to recognize and playback video on any device, compliant to the H.264/AVC standard.</div>
<div style="text-align: justify;">
The standard itself offers a variety of coding tools that can be used by the encoder. It is worth mentioning that the encoder is to choose the tools it will be using for compression. Most often the reduced set of coding tools is used on low performance devices like mobile phones to decrease video coding complexity and fit within target compression speed. Even when the video compression standard is supported, it does not mean that all the available coding tools are used, and hence the provided video compression efficiency may be far from maximum achievable rates.</div>
<div style="text-align: justify;">
Meanwhile, a newer compression standard H.265/HEVC [2] was ratified by the ITU and ISO in January 2013. It provides a larger set of coding tools [3,4], making it possible to improve compression rates up to two times compared to H.264/AVC [5]. An increased set of coding tools also means higher computational complexity, mainly in video encoding, but also in playback. The usage of H.265/HEVC on mobile platforms makes sense only when there are no options to increase compression efficiency within the H.264/AVC standard. In other words, until most of H.264/AVC coding tools are used for real-time video compression on mobile devices, there is almost no benefit from H.265/HEVC and thus compression rates will stay within the H.264/AVC limitations.</div>
<div style="text-align: justify;">
In this paper, we study current state of video compression on flagship smartphones provided “out of the box” with the default recording software to assess how close they are to the compression ratio limit within the H.264/AVC compression standard. In Section 2, we describe key coding tools within the H.264/AVC standard that have a major impact on compression efficiency. Section 3 provides experimental results and elaboration on a coding tool used by various smartphones. Finally, our conclusions are made in Section 4.
</div>
<h3 style="text-align: left;">
2. Overview of AVC coding tools</h3>
<h4 style="text-align: left;">
2.1. General compression data-flow</h4>
<div style="text-align: justify;">
H.264/AVC is a hybrid block-based video compression standard. Its compression data-flow is illustrated in Figure 1. An input video frame is initially partitioned into equal-sized blocks of 16×16 luma samples called macroblocks. A macroblock is partitioned into smaller blocks to perform prediction. There are two basic types of prediction: intra and inter. Intra-prediction works within the current video frame and is based upon the compressed and decoded data available for the block being predicted. Inter-prediction is used for motion compensation: prediction uses a similar region on a previously coded frame. The aim of the prediction process is to reduce data redundancy and, therefore, to reduce excessive information in coded bitstream [6].</div>
<div style="margin-bottom: 0cm; text-align: justify;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIA0eJMYpKN9mUMn6T5wSXlgdDddSMTYyjjJuryyJhoWd2ga30YKKrSZwJrYwYvMyeSKyTyy7hvRZJ0E7LzgoeiD6G5QxRNZsheALtnE29eE9cM7L5SP8-bmOngAYbWdCYinIEEy2C1no/s1600/hybrid_coding_scheme_web.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="The data-flow of the hybrid block-based video encoder" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIA0eJMYpKN9mUMn6T5wSXlgdDddSMTYyjjJuryyJhoWd2ga30YKKrSZwJrYwYvMyeSKyTyy7hvRZJ0E7LzgoeiD6G5QxRNZsheALtnE29eE9cM7L5SP8-bmOngAYbWdCYinIEEy2C1no/s1600/hybrid_coding_scheme_web.png" title="" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>Figure 1.</b> The data-flow of the hybrid block-based video encoder</td></tr>
</tbody></table>
Once the prediction is done, it is subtracted from the original data to get residuals. Residuals are subjected to Forward Discrete-Cosine Transform (DCT). DCT translates spatial residual information into a frequency domain. Thus the remaining spatial redundancy of this information is partly reduced. Quantization is applied to the transformed matrix to lose inconsiderable information. The remaining data and the steps applied are subjected to entropy coding, which forms a compressed bit-stream [6].</div>
<div style="text-align: justify;">
For inter- and intra-prediction purposes, the compressed data should be reconstructed in the encoder. The only data loss takes place after integer DCT and quantization. Dequantization and inverse DCT are performed to restore residuals. The restored residuals and predicted values are summed up to get reconstructed pixel values. These reconstructed values are used for intra-prediction within the current video frame. An additional frame post-processing stage called deblock filtering is optionally applied to eliminate image blockiness. The final restored and post-processed video frame is stored in Decoded Picture Buffer (DPB) for inter prediction of further frames.</div>
<div align="justify" style="margin-bottom: 0cm;">
<h4>
2.2. Entropy coding </h4>
The video coding process produces a number of values that must be encoded to form a compressed bitstream. These values include: transformed and quantized residuals, information about the structure of the compressed data and the compression tools used during encoding, other supplemental information. These values are presented as a sequence of binary codes using variable length coding and/or arithmetic coding [7].<br />
The H.264/AVC video compression standard provides two entropy coders: Context-Adaptive Variable-Length Coding (CAVLC) and Context-Adaptive Binary Arithmetic Coding (CABAC). The type of the entropy coder to be used is fully decided by the video encoder. CABAC provides about 10% higher compression rates at the same level of image distortion. The drawback is that CABAC is more computationally expensive in encoding as well as in decoding. Mobile video compression systems often use CAVLC instead to reduce computational load. <br />
<h4>
2.3. Deblock filtering</h4>
H.264/AVC provides an optional feature of image post-processing called deblock filtering. Deblock filtering works on borders of block partitions to reduce blockiness artefacts that appear after coarse quantization. Filtering improves not only the visual quality, but also compression efficiency of P and B frames, because blockiness decreases the efficiency of inter-frame motion compensation. At the same time, deblock filtering involves additional computing operations in the encoder, and in the decoder. Low performance systems sometimes do not use this feature to save computing resources.<br />
<h4>
2.4. Spatial intra prediction modes</h4>
There are ten spatial intra prediction modes available in H.264/AVC. Any luma block of size 16×16 pixels can only be predicted by one of four modes, while prediction of 4×4 and 8×8 luma blocks can be performed with any of 9 prediction modes (see Table 1). A video encoder can use any available intra prediction mode. Low performance compression systems tend to reduce intra prediction modes set to choose from thus decreasing computational complexity at the cost of less efficient compression.<br />
<br />
<div align="justify" lang="en-US" style="margin-bottom: 0cm;">
<b>Table 1.</b> Available spatial intra prediction modes depending on intra prediction block size</div>
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjceJksq5Ef7rOCRJYTDUwddam7xTjYYLxbbtZm5iLypfDVedDTf1YJTi6OxNnhyphenhyphenjeJNbVor6n_U_GCIAAeTooSosFUsDxI1X0cArcBOjST4H9j8uYJVL65VTwZXXByPGVmKO2zU7gjd8E/s1600/table1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="244" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjceJksq5Ef7rOCRJYTDUwddam7xTjYYLxbbtZm5iLypfDVedDTf1YJTi6OxNnhyphenhyphenjeJNbVor6n_U_GCIAAeTooSosFUsDxI1X0cArcBOjST4H9j8uYJVL65VTwZXXByPGVmKO2zU7gjd8E/s1600/table1.png" width="440" /></a>
</div>
<br />
<h4>
2.5. Intra partitioning </h4>
H.264/AVC describes three partitions for a luma component of an intra coded 16×16 macrolock: sixteen sub-blocks of 4×4 pixels; four sub-blocks of 8×8 pixels; only one block of 16×16 pixels. The video encoder has to choose a proper partitioning for each macroblock. Smaller blocks provide closer prediction, but more supplemental bits have to be coded. The goal is to have a prediction close enough, but with less bits involved. Also smaller intra partitioning requires smaller transform blocks. For example, 4×4 partitioning involves 4×4 transform blocks, which also leads to more residual bits. <br />
<h4>
2.6. Temporal inter prediction </h4>
Temporal inter prediction, also called motion compensation, provides a huge opportunity to decrease the amount of information for entropy coding. Static regions and moving objects can be predicted close enough to significantly reduce the bit size of a coded block.<br />
There are two types of inter predicted frames in H.264/AVC: P-frame and B-frame. P-frames (predicted) are allowed to have blocks predicted from one of the previously coded frames. B-frames (bidirectionally predicted) are allowed to have blocks predicted from two previously coded frames. Prediction from two motion regions is a pixel-by-pixel weighted average of two predictions. B-frames are used to get additional rate savings. On the other hand, additional memory is required to store at least two previously coded frames, and, furthermore, additional compression delay is introduced. <br />
<h4>
2.7. Inter partitioning </h4>
H.264/AVC supports inter prediction block sizes ranging from 16×16 to 4×4 luma samples. The luma component of each macroblock (16×16 samples) can have one of four possible partitionings (16×16, 16×8, 8×16 or 8×8), illustrated in Figure 2. If 8×8 macroblock partitioning is chosen, each of four 8×8 macroblock partitions can have one of four possible sub-partitions (8×8, 8×4, 4×8 or 4×4), illustrated in Figure 3. These partitions and sub-partitions give rise to a large number of possible combinations within each macroblock [8].<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4cIeLptCPeNUWTIlpI9hWskQKKfIotBRe5Zy6fBjpwsUZkSG0nMWGkibPJyq9jxVtM2iHUho8c32EYyDNk659umz7lQRxAMQ3ME_6Z3cop4GhrbRAsKFtNJGSvGuuI_TQgDaB9LDXVyE/s1600/avc-mb-partitioning.png" style="margin-left: auto; margin-right: auto;" width="480" /></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>Figure 2.</b> Macroblock partitions: 16×16, 8×16, 16×8, 8×8</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLec-8_vNowbVuViSZPmS9Hb6KRjy1TCCwO7A3ZQp5s7i_mYVyRBAFiInOOTm1LyMhLeF5yjCJIv2eDLfrRwDf2oGPoBOifuWKBCAbILpUnSirBkYVeJQ1zwkbxAi-EGv2yi5bl6sAg6s/s320/avc-mb-subpartitioning.png" style="margin-left: auto; margin-right: auto;" width="480" /></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>Figure 3.</b> Macroblock sub-partitions: 8×8, 4×8, 8×4, 4×4</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div align="justify" style="margin-bottom: 0cm;">
Block partitioning involves some decision algorithms that usually become more computationally expensive with the increase of inter partitions involved. Each partition in an inter-coded macroblock is predicted from an area of the same size in a reference picture. The offset between the two areas (the motion vector) has ¼-pixel resolution (for the luma component). The luma and chroma samples at sub-pixel positions do not exist in the reference picture and have to be interpolated from nearby image samples. Sub-pixel motion compensation can provide significantly better compression performance than integer-pixel compensation, at the expense of increased complexity [7].<br />
A search for the best motion vector is called motion estimation. It is a job of the encoder to come up with a motion estimation algorithm. And, it is the encoder that decides a search region and whether to use ½ and ¼-pixel interpolation or not, depending on the computational resources available. <br />
<h4>
2.8. Transform sizes </h4>
The encoder subtracts predicted pixels of a macroblock from its actual pixels to form a residual. A block of residual samples is transformed using a 4×4 or 8×8 integer transform. The transform outputs a set of coefficients, each of which is a weighting value for a standard basis pattern [7]. <br />
<h4>
2.9. Adaptive Quantization </h4>
The output of the transform is quantized, i.e. each coefficient is divided by an integer value. Quantization reduces the precision of the transform coefficients according to a quantization parameter (QP) [4]. Most of the time all macroblocks within a video frame have the same QP, but H.264/AVC provides an opportunity to select QP on a macroblock basis. If a frame consists of macroblocks with different QP values, then it means that an adaptive quantization technique is applied. This technique makes it possible to save more details where they are needed, and loose more information where it is less relevant. However, it involves QP decision logic that complicates encoder, and often adaptive quantization is not used.<br />
<h3>
3. Test conditions and results </h3>
Experiments are held upon video samples, found on the GSMArena website [9], that were taken directly from smartphones without any processing. These samples are used to analyse H.264/AVC coding tools employed in video compression. Two widely used video resolutions and frame rates are studied: 3840×2160 pixels (4K Ultra HD) and 1920×1080 pixels (Full HD) both at 30 frames per second.<br />
The flagship smartphones that support 4K Ultra HD video recording were taken for experiments. These smartphones are to provide the most advanced video compression, as they have several of the most advanced mobile CPUs, GPUs and chipsets.</div>
<div align="justify" style="margin-bottom: 0cm;">
<br />
<b>Table 2.</b> Usage of general coding tools<br />
<div align="justify" style="margin-bottom: 0cm;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg15_9anuVm6D66N5W_SjzsE3g6_p3EugLD1qwNk_rQxHucizTVLD9tzeUNyYtUtNlC0xtGmBiDr6ib6b6Bvd21brgcIPsBqYs3QX3g3Tonkn9G572FaPl6tMJD_Xn1UnTt8ASVXWk0cl4/s1600/table2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="188" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg15_9anuVm6D66N5W_SjzsE3g6_p3EugLD1qwNk_rQxHucizTVLD9tzeUNyYtUtNlC0xtGmBiDr6ib6b6Bvd21brgcIPsBqYs3QX3g3Tonkn9G572FaPl6tMJD_Xn1UnTt8ASVXWk0cl4/s1600/table2.png" width="600" /></a></div>
Table 2 shows the usage of general coding tools: an entropy encoder (CABAC or CAVLC), adaptive quantization (AQ), motion estimation (ME) region in integer pixel samples, and a video bitrate. All the studied smartphones apply deblock filtering, so it is not included in the table. Also B-frames are not used by all of the studied smartphones. Almost similar bitrates at the target resolutions and frame rates are provided. Generally speaking, the higher the bitrate is, the less compression artifacts are introduced to the recorder video. At the same time, the higher bitrate provides higher computational load on the entropy coder. From the results in Table 3 we may suggest that Xiaomi Mi 5 uses a lower target bitrate to decrease computational load and provide the target frame rate in real time.<br />
Most of the devices use CABAC as an entropy coder, except for Huawei Nexus 6P and Xiaomi Mi 5. At the same time HTC 10 uses CABAC only for 4K Ultra HD resolution. Adaptive quantization is applied only by Apple iPhone 6s and Samsung Galaxy S7.<br />
Motion estimation regions, shown in Table 2, are taken from the maximum motion vector used throughout the stream (in integer pixels). The results may not be precise, but we believe they are very close to actual borders. The first thing to be noted is the rectangular form of the region: all the devices seem to optimize their motion search to save computing resources, suggesting that the most of the motion is to happen in a horizontal direction, parallel to the ground, which makes sense in real life recordings. The largest ME region is used by Apple iPhone 6s, the second largest - is in LG G5.</div>
<div align="justify" style="margin-bottom: 0cm;">
<br />
<b>Table 3.</b> Usage of video coding tools for 3840×2160 resolution at 30 frames per second</div>
<div align="justify" style="margin-bottom: 0cm;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNbj0jc5OHUz1qjQ4nY3BTFl_GBGnvk3qnwafljoj8WZEEYjeryZerBrBXCnijkUp2Z4m4xRFKefzurIkKkXIVtHSaCwxdrGl95qCWOmViL4FUzZvqchNH0xXBNe09htvfTSqy3bfapb0/s1600/table3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="188" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNbj0jc5OHUz1qjQ4nY3BTFl_GBGnvk3qnwafljoj8WZEEYjeryZerBrBXCnijkUp2Z4m4xRFKefzurIkKkXIVtHSaCwxdrGl95qCWOmViL4FUzZvqchNH0xXBNe09htvfTSqy3bfapb0/s1600/table3.png" width="600" /></a></div>
Table 3 presents the usage of various block sizes for intra and inter prediction and for transform coding by mobile phones for recording 30 video frames per second at a resolution of 3840×2160 pixels. The results show that only Apple iPhone 6s uses all the block sizes provided by the AVC standard. Samsung Galaxy S7 also uses all the block sizes available except for 4×4, 4×8 and 8×4 inter prediction. All the rest studied mobile phones do not use these inter prediction block sizes as well, but additionally they omit 4×4 intra prediction blocks. Some mobile phones also do not use 8×8 intra prediction and 8×8 transform blocks.</div>
<div align="justify" style="margin-bottom: 0cm;">
<br /></div>
<div align="justify" style="margin-bottom: 0cm;">
<b>Table 4.</b> Usage of video coding tools for 1920×1080 resolution at 30 frames per second</div>
<div align="justify" style="margin-bottom: 0cm;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaEWrpuKwDiNW-nP5GIkjmSgkexEFvFoRAR2AIcK0Qkf9K0Nn_jihkEhaM1nPupVAX-pcLcoursp4g3DXXMeYLHCHQxIMk5XSiVc_0tf4s8VHGb1GcSqAepsreIoTHf2chnRZBqAHcbW8/s1600/table4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="188" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaEWrpuKwDiNW-nP5GIkjmSgkexEFvFoRAR2AIcK0Qkf9K0Nn_jihkEhaM1nPupVAX-pcLcoursp4g3DXXMeYLHCHQxIMk5XSiVc_0tf4s8VHGb1GcSqAepsreIoTHf2chnRZBqAHcbW8/s1600/table4.png" width="600" /></a></div>
Table 4 presents the usage of various block sizes for recording 30 frames per second at 1920×1080 pixels. Microsoft Lumia 950XL, Sony Xperia Z5 Premium and Huawei Nexus 6P use 4×4 and 16×16 intra prediction blocks only, but 4×4 intra prediction modes Vertical Right and Vertical Left are omitted. Therefore only 8 out of 10 intra prediction modes are used. HTC10 and Xiaomi Mi 5 also omit 8×8 intra prediction, but use all the available 10 intra prediction modes. It is interesting to emphasize that HTC 10 employs 8×8 intra prediction for 3840×2160, and 8×8 intra prediction for the 1920×1080 video resolution. Also, HTC 10 utilizes CABAC only for 4K video, while using CAVLC for Full HD. It is worth mentioning that LG G5 uses 8×8 transform blocks only for intra macroblocks.<br />
<h3>
4. Conclusion</h3>
In this paper we studied the usage of the H.264/AVC video compression tool in video recording with flagship smartphones. The results show that the most advanced smartphones use almost all the available coding tools, except for B-frames and only one reference frame in DPB. The rest of the studied smartphones do not apply a lot of coding tools. We may conclude that it will take some time for the phones to reach the compression efficiency limit within AVC, therefore adoption of H.265/HEVC is already possible, at least below 4K UltraHD resolutions [10].</div>
<h3>
5. References </h3>
[1] Recommendation H.264: Advanced video coding for generic audiovisual services 2014 ITU-T<br />
[2] Recommendation H.265: High Efficiency Video coding 2015 ITU-T<br />
[3] Sullivan G, Ohm J, Woo-Jin H and Wiegand T 2012 Overview of the High Efficiency Video Coding (HEVC) IEEE Transactions on Standard Circuits and Systems for Video Technology 22 1649-1668<br />
[4] Bordes P, Clare G, Henry F and Raulet M 2010 An overview of the emerging HEVC standard. International Symposium on Signal, Image, Video and Communications (Gold Coast, Australia)<br />
[5] Sharabayko M and Markov N. 2016 Contemporary video compression standards: H.265/HEVC, VP9, VP10, Daala Proc. Int. Siberian Conf. on Control and Communications (SIBCON) (Moscow) 1 1–4<br />
[6] Sharabayko M, Ponomarev O and Chernyak R Intra Compression Efficiency in VP9 and HEVC 2013 Applied Mathematical Sciences 7 (137) 6803-6824<br />
[7] Richardson I 2010 The H.264 Advanced Video Compression Standard, 2nd Edition<br />
[8] Richardson I 2011 White Paper: H.264/ AVC Inter Prediction Vcodex<br />
[9] <a href="http://www.gsmarena.com/">http://www.gsmarena.com</a><br />
[10] Bross B, George V, Alvarez-Mesa M, Mayer T, Chi C, Brandenburg J, Schierl T, Marpe D, Juurlink B 2013 HEVC performance and complexity for 4K video IEEE Third International Conference on Consumer Electronics (Berlin) pp 44-47</div>
</div>
BSmart Gameshttp://www.blogger.com/profile/12210241321424230298noreply@blogger.com0tag:blogger.com,1999:blog-745641191327454996.post-15261377129444950072016-08-07T00:38:00.000-07:002016-08-07T00:38:18.498-07:00Contemporary Video Compression Standards. H.265/HEVC, VP9, VP10, Daala<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
In this paper we compare compression efficiency of the latest video coding standards <b>H.265/HEVC</b>, <b>VP9</b>, <b>VP10</b> and <b>Daala</b> <b>to H.264/AVC</b> with the help of reference video encoders available.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
This blog post deliberates on the results published in our research paper:</div>
<div style="text-align: justify;">
<i>Sharabayko M.P., Markov N.G. <b>Contemporary Video Compression Standards. H.265/HEVC, VP9, VP10, Daala.</b>
Control and Communications (SIBCON), 2016 International Siberian Conference on, Moscow, 12-14 May, 2016, pp. 1-4.</i><br />
that can be found on <a href="http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=7491791">IEEE Xplore<i>.</i></a><i><br /></i></div>
<div style="text-align: justify;">
</div>
<a name='more'></a><br />
<div class="western" style="text-align: justify;">
In our previous experiments [1,3] H.265/HEVC
appeared to provide superior compression efficiency making it
possible to save up to 50% of bitrate compared to H.264/AVC. Due to
the fact that VP9 has to get around the patented compression
techniques, it was less efficient even in intra-frame coding, but
still showed better results than H.264/AVC. Google started the
development of VP10 [4] to further improve compression
efficiency of techniques used in VP9 standard. Daala, being in an
early development stage back at the time of previous experiments,
showed poor results: almost 10 times higher bitrates compared to
H.264/AVC at the same distortion levels.</div>
<div class="western" style="text-align: justify;">
Our new research on the
compression efficiency of the contemporary video compression
standards H.264/AVC, H.265/HEVC and video encoders Google VP9, VP10,
Xiph Daala aims to outline the current state of royalty-free codecs.</div>
<h3 class="western">
Encoder Implementations Used</h3>
<div class="western" style="text-align: justify;">
In this research we aim to compare maximum
video compression efficiency, provided by the latest compression
standards to get an updated outlook at the capabilities of modern
mainstream video compression techniques. It is one of the reasons we
give preference to reference test model implementations of the
encoders rather than using the commercial versions.</div>
<h4 class="western" lang="en-US">
H.264/AVC</h4>
<div class="western" style="text-align: justify;">
Reference JM encoder within H.264/AVC standard
implements quasi-full Rate-Distortion Optimization (RDO) model for
coding decisions. This makes JM encoder the best choice for our
experiments. The reference model has a lot of configuration
properties available, and the most common property sets are combined
in several configuration files available with the sources of the
encoder.</div>
<div class="western" style="text-align: justify;">
We use JM ver. 19.0 with default
configuration “JM_LB_HE”, which sets up a hierarchical B-frames
structure, disables rate control and enables all the available
prediction block sizes. Additional options are passed by the
following command line arguments:</div>
<div class="western">
<span style="font-family: "courier new" , "courier" , monospace;"><b>lencod</b> -p FrameRate=<FR>
-p QPISlice=<QP> -p QPPSlice=<QP>
-p QPBSlice=<QP> -p SourceWidth=<W>
-p SourceHeight=<H> -p OutputWidth=<W>
-p OutputHeight=<H>
</span></div>
<div class="western" style="text-align: justify;">
The command line sets a fixed quantization
parameter QP to be used for each frame and defines the frame rate and
video resolution. Additional tweaking is done to disable QP offset
used for hierarchical B-frames by default.</div>
<h4 class="western" lang="en-US">
H.265/HEVC Encoder</h4>
<div class="western" style="text-align: justify;">
We use reference HM encoder ver. 16.5 with its
simplified RDO model to estimate compression efficiency of H.265/HEVC
standard. “Low Delay Main” configuration is provided with source
codes. To get constant QP on each frame we modified 'Qpoffset' values
of GOP structure in configuration file. The “Low Delay Main”
configuration defines hierarchical B-frames structure and enables
almost all available coding tools.</div>
<h4 class="western" lang="en-US">
VP9 Encoder</h4>
<div class="western" style="text-align: justify;">
To test VP9 compression efficiency we use the open
source '<i><b>libvpx</b></i>' encoder ver. 1.5.0 provided by the WebM
project [6]. The encoder provides command line interface to
configure most of the coding options. The encoder is run with the
following parameters:</div>
<div class="western">
<span style="font-family: "courier new" , "courier" , monospace;"><b>vpxenc</b> --codec=vp9 --fps=<FR> --i420
--min-q=<Q> --max-q=<Q> --cq-level=<Q>
--kf-min-dist=1000 --kf-max-dist=1000 --passes=1 -w=<W> -h=<H></span></div>
<div class="western" style="text-align: justify;">
Parameters <i>'--fps'</i>, <i>'-w'</i> and <i>'-h'</i>
define frame rate, width and height of an input video sequence.
Parameters <i>'--min-q'</i>, <i>'--max-q'</i> and <i>'--cq-level'</i>
define the quantization values available, while making them equal
(forces constant quantization mode). Parameters '--kf-min-dist' and
'--kf-max-dist' specify key frame distance, and we force a key frame
to be used only at the start of the sequence similar to the other
encoders.</div>
<h4 class="western" lang="en-US">
VP10 Encoder</h4>
<div class="western" style="text-align: justify;">
The open source '<i><b>libvpx</b></i>' encoder
ver. 1.5.0 also has an implementation of VP10. The encoder is in the
early development stage, which makes it possible to analyze
compression efficiency of its most recent coding tools. The options
are the same used for VP9 except for the parameter <i>'--codec'</i>
that needs to be set to<i> 'vp10'</i> instead of <i>'vp9'</i>.</div>
<div class="western">
<span style="font-family: "courier new" , "courier" , monospace;"><b>vpxenc</b> --codec=vp10 --fps=<FR> --i420
--min-q=<Q> --max-q=<Q> --cq-level=<Q>
--kf-min-dist=1000 --kf-max-dist=1000 --passes=1 -w=<W> -h=<H></span></div>
<h4 class="western" lang="en-US">
Daala Encoder</h4>
<div class="western" style="text-align: justify;">
Xiph Daala encoder and decoder implementations [7]
are used in our experiments (master version of January 21, 2016). The
configuration used for testing forces a key frame to be placed only
at the start of the sequence and uses four B-frames. Quantization
(quality) level is controlled by the parameter <i>'-v'</i>.</div>
<div class="western">
<span style="font-family: "courier new" , "courier" , monospace;"><b>daala</b> -k 9999 -b 4 -v <Q></span></div>
<h3 class="western" lang="en-US">
Results and <span lang="en-US">D</span>iscussion</h3>
<div class="western" style="text-align: justify;">
Experiments are carried out on JCT-VC test
sequences [8]. The test set provides diverse video sequences
specific for video conferencing, surveillance systems, desktop
capturing and other fields of application of video compression.<br />
Compression efficiency is compared in terms of distortion levels at the same bitrate values. Peak Signal to Noise Ratio (PSNR) and Structural Similarity Index (SSIM) are used as two measures of distortion. The first one corresponds to the metric used in Rate-Distortion Optimization module of most encoders. On the other hand, SSIM provides better correlation with subjective distortion perception of human visual system which should make a notable difference for Daala as it is partially focused on the improved reduction of blockiness effects. </div>
<div class="western">
<br />
<div style="text-align: right;">
<i><b>Table 1. Compression efficiency compared to JM in terms of BD-Rate </b></i></div>
</div>
<div class="western">
<table cellpadding="1" cellspacing="0" style="width: 700px;">
<colgroup><col width="30"></col>
<col width="93"></col>
<col width="62"></col>
<col width="62"></col>
<col width="62"></col>
<col width="62"></col>
<col width="62"></col>
<col width="62"></col>
<col width="62"></col>
<col width="63"></col>
</colgroup><tbody>
<tr valign="top">
<td height="5" rowspan="2" style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="30"><div align="left" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><b>Class</b></span></div>
</td>
<td rowspan="2" style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="93"><div align="left" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><b>Sequence</b></span></div>
</td>
<td colspan="2" style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="131"><div align="center" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><b>HM vs JM</b></span></div>
</td>
<td colspan="2" style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="131"><div align="center" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><b>VP9 vs JM</b></span></div>
</td>
<td colspan="2" style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="131"><div align="center" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><b>VP10 vs JM</b></span></div>
</td>
<td colspan="2" style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="133"><div align="center" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><b>Daala vs JM</b></span></div>
</td>
</tr>
<tr valign="top">
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="center" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><i><b>ΔRate (PSNR)</b></i></span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="center" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><i><b>ΔRate (SSIM)</b></i></span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="center" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><i><b>ΔRate (PSNR)</b></i></span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="center" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><i><b>ΔRate (SSIM)</b></i></span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="center" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><i><b>ΔRate (PSNR)</b></i></span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="center" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><i><b>ΔRate (SSIM)</b></i></span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="center" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><i><b>ΔRate (PSNR)</b></i></span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="63"><div align="center" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><i><b>ΔRate (SSIM)</b></i></span></div>
</td>
</tr>
<tr>
<td height="6" rowspan="2" style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="30"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">A</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="93"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">Traffic</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-37.80</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-40.59</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-9.03</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-5.03</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-10.38</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-6.32</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-0.77</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="63"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-30.71</span></div>
</td>
</tr>
<tr valign="top">
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="93"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">PeopleOnStreet</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-53.00</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-54.65</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-8.94</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-7.97</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-10.38</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-9.54</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">17.93</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="63"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-9.92</span></div>
</td>
</tr>
<tr>
<td height="6" rowspan="5" style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="30"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">B</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="93"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">Kimono</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-42.23</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-48.07</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-27.24</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-33.15</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-28.83</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-34.53</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-<span lang="ru-RU">13.03</span></span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="63"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-<span lang="ru-RU">30.33</span></span></div>
</td>
</tr>
<tr valign="top">
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="93"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">ParkScene</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-35.66</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-41.40</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-10.69</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-10.41</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-12.35</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-12.15</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><span lang="ru-RU">3</span>.<span lang="ru-RU">81</span></span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="63"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-<span lang="ru-RU">23</span>.<span lang="ru-RU">23</span></span></div>
</td>
</tr>
<tr valign="top">
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="93"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">Cactus</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-35.54</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-37.32</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-8.14</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-5.43</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-10.27</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-7.92</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" lang="ru-RU" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">22.09</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="63"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-<span lang="ru-RU">5</span>.<span lang="ru-RU">28</span></span></div>
</td>
</tr>
<tr valign="top">
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="93"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">BQTerrace</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-45.02</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-52.90</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-12.71</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-14.09</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-14.67</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-16.76</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><span lang="ru-RU">6</span>.<span lang="ru-RU">29</span></span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="63"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-<span lang="ru-RU">33</span>.<span lang="ru-RU">26</span></span></div>
</td>
</tr>
<tr valign="top">
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="93"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">BasketballDrive</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-48.38</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-50.76</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-27.80</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-25.30</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-29.62</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-27.13</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">10.81</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="63"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-14.93</span></div>
</td>
</tr>
<tr>
<td height="6" rowspan="4" style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="30"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">C</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="93"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">RaceHorses</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-26.33</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-31.026</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-8.15</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-5.78</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-9.41</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-7.54</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><span lang="ru-RU">2</span>8.42</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="63"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">7.47</span></div>
</td>
</tr>
<tr valign="top">
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="93"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">BQMall</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-32.58</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-35.61</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-5.85</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-0.51</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-7.09</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-2.67</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">30.21</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="63"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">1.49</span></div>
</td>
</tr>
<tr valign="top">
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="93"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">PartyScene</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-30.96</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-32.57</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-6.79</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-3.06</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-7.76</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-3.87</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">14.48</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="63"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-7.22</span></div>
</td>
</tr>
<tr valign="top">
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="93"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">BasketballDrill</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-42.00</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-42.45</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-12.84</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-12.77</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-13.3</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-12.78</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">17.15</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="63"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-11.51</span></div>
</td>
</tr>
<tr>
<td height="6" rowspan="4" style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="30"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">D</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="93"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">RaceHorses</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-25.77</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-27.27</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-6.79</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-1.23</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-7.35</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-1.85</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">2<span lang="ru-RU">3</span>.<span lang="ru-RU">69</span></span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="63"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><span lang="ru-RU">6</span>.<span lang="ru-RU">31</span></span></div>
</td>
</tr>
<tr valign="top">
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="93"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">BQSquare</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-39.14</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-39.98</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-17.15</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-9.16</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-18.48</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-9.99</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">2.28</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="63"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-32.98</span></div>
</td>
</tr>
<tr valign="top">
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="93"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">BlowingBubbles</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-27.40</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-30.00</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-5.46</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-2.50</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-6.47</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-3.34</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><span lang="ru-RU">15</span>.<span lang="ru-RU">75</span></span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="63"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-<span lang="ru-RU">7</span>.0<span lang="ru-RU">6</span></span></div>
</td>
</tr>
<tr valign="top">
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="93"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">BasketballPass</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-28.32</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-31.12</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">2.56</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">10.38</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">2.61</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">11.20</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" lang="ru-RU" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">11.30</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="63"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-<span lang="ru-RU">21</span>.<span lang="ru-RU">29</span></span></div>
</td>
</tr>
<tr>
<td height="6" rowspan="3" style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="30"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">E</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="93"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">FourPeople</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-35.82</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-35.77</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">2.03</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">6.27</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">0.71</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">4.62</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><span lang="ru-RU">29</span>.<span lang="ru-RU">36</span></span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="63"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-<span lang="ru-RU">3</span>.<span lang="ru-RU">54</span></span></div>
</td>
</tr>
<tr valign="top">
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="93"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">Johnny</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-47.46</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-53.70</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-11.84</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-21.17</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-14.09</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-22.91</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><span lang="ru-RU">23</span>.<span lang="ru-RU">44</span></span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="63"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-<span lang="ru-RU">14</span>.<span lang="ru-RU">16</span></span></div>
</td>
</tr>
<tr valign="top">
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="93"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">KristenAndSara</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-45.34</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-47.02</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-11.06</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-15.73</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-13.30</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-18.71</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">29.94</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="63"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-14.18</span></div>
</td>
</tr>
<tr>
<td height="6" rowspan="4" style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="30"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">F</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="93"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">BasketballDrillText</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-40.49</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-39.96</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-10.62</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-10.49</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-11.19</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-10.48</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">23.13</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" valign="top" width="63"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-7.54</span></div>
</td>
</tr>
<tr valign="top">
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="93"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">ChinaSpeed</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-37.16</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-39.31</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">5.25</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-10.70</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">4.65</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-11.25</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">96.08</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="63"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">9.26</span></div>
</td>
</tr>
<tr valign="top">
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="93"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">SlideEditing</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-26.37</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-29.35</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-7.16</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-8.59</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-5.63</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-6.71</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">137.69</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="63"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">109.56</span></div>
</td>
</tr>
<tr valign="top">
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="93"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">SlideShow</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-37.15</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-31.63</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-27.40</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-23.66</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-27.51</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">-23.15</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">155.25</span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="63"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;">113.34</span></div>
</td>
</tr>
<tr valign="top">
<td colspan="2" height="5" style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="131"><div style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><b>On
average:</b></span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><b>-37.27</b></span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><b>-39.66</b></span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><b>-10.26</b></span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><b>-9.55</b></span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><b>-11.37</b></span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><b>-10.63</b></span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="62"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><b>40.54</b></span></div>
</td>
<td style="border-bottom: 1px solid #000000; border-left: none; border-right: none; border-top: 1px solid #000000; padding: 0.1cm 0cm;" width="63"><div align="right" style="letter-spacing: normal; text-indent: 0cm;">
<span style="font-size: xx-small;"><b>8.63</b></span></div>
</td>
</tr>
</tbody></table>
<br />
<div style="text-align: justify;">
Table 1 provides the experimental results in terms of BD-Rate (average bitrate difference on the common interval of distortion levels) [9]. As can be seen, HM encoder provides results superior to all other codecs. There are a lot of comparisons of H.265/HEVC to H.264/AVC, and we will not focus on that as much as on comparison of royalty-free codecs to JM implementation of H.264/AVC. Another obvious observation is that all the codecs except for Daala have almost the same compression results in terms of PSNR and SSIM. This once again highlights the fact that those codecs are based on pretty much the same techniques, which produce almost similar distortion features. <br />
Test sequences of Class A–D have common features of photo-realistic video sequences and may be a good benchmark for, e.g., video surveillance video content. <br />
Class A test sequences have the highest resolution of 2560×1600 pixels in the test set. They mostly share the features of video surveillance content with a highway traffic (Traffic) and a crowd of people passing a crossroad (PeopleOnStreet). Both videos have both plain textured regions and regions with smooth borders of different objects. </div>
</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy-OmDAUGPf7yOrvPWV4Q3Ut-5YqKySyqBcwct17OmMirRGFCLTJhP4w1EuGuEHKJevuztdBLYDEOKlzD0xNuR27z9Wlmdo1XuXFF6Yk7mnDSYYenAFXWJuvZdj3SiEv3fb9l5R7N_cKY/s1600/Traffic_PSNR.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy-OmDAUGPf7yOrvPWV4Q3Ut-5YqKySyqBcwct17OmMirRGFCLTJhP4w1EuGuEHKJevuztdBLYDEOKlzD0xNuR27z9Wlmdo1XuXFF6Yk7mnDSYYenAFXWJuvZdj3SiEv3fb9l5R7N_cKY/s320/Traffic_PSNR.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Fig. 1. Bitrate-PSNR plot for Traffic test sequence</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFWy2UMrfWfd6lHSlCGW5SLu8UGN9AgGMqVE7NEHUxPxekwD4qMF1ZCIsJAqQEHpT2SWoN07SMHhV8uHkgTpoX7l_GQcxIo1wZ6FK92xbfCCJJhYXAAJOA7Hma2_CdFZZoPS2sSyPK9uI/s1600/Traffic_SSIM.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="243" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFWy2UMrfWfd6lHSlCGW5SLu8UGN9AgGMqVE7NEHUxPxekwD4qMF1ZCIsJAqQEHpT2SWoN07SMHhV8uHkgTpoX7l_GQcxIo1wZ6FK92xbfCCJJhYXAAJOA7Hma2_CdFZZoPS2sSyPK9uI/s320/Traffic_SSIM.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Fig. 2. Bitrate-SSIM plot for Traffic test sequence</td></tr>
</tbody></table>
<div class="western" style="text-align: justify;">
The comparison results for the sequences of this Class have peculiar results. Fig. 1 and Fig. 2 show rate-distortion curves for Traffic test sequences with PSNR and SSIM distortion measures respectively. Daala compression efficiency In terms of rate–SSIM is very close to HM and is superior to the rest encoders tested. At the same time, the efficiency of both VP9 and VP10 is almost the same as of JM.</div>
<div class="western" style="text-align: justify;">
Different results are obtained on Class B test sequences with resolution of 1280×720 pixels. The sequences contain a lot of details and noticeable motion. Compared by PSNR to JM, HM encoder provides 41% bitrate savings, VP9 provides 17% bitrate savings, VP10 provides 19%, while Daala provides 16% bitrate overhead by PSNR and 15% bitrate savings by SSIM distortion metric. </div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr6vXoZb9YN7bv0BzG8NNzzBR20HCRgl8jO-NEV-kPE8RpvKeHIR3b9dB7RhqYpI7Rf8RtgQdOZnLCzxSJe_yS1SXKhi1xoNUedy-N9QwWmKJljvXv95Z7Wh2ciOsSU2IeNB6BEFalDck/s1600/BQTerrace_PSNR.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="246" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr6vXoZb9YN7bv0BzG8NNzzBR20HCRgl8jO-NEV-kPE8RpvKeHIR3b9dB7RhqYpI7Rf8RtgQdOZnLCzxSJe_yS1SXKhi1xoNUedy-N9QwWmKJljvXv95Z7Wh2ciOsSU2IeNB6BEFalDck/s320/BQTerrace_PSNR.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Fig. 3. Bitrate-PSNR plot for BQTerrace test sequence</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzkrar5__orWl1UHicxlUWkzqF1pkLG8OeK7KrxvmQYI1BTcj5xdGAU1HeLXIJ_TcPpLu-B70QszegmCKMbDFv5wGxs9Wyu1_Sne25YsuquWLbrFa-dtsFxkzrRL7Nsu15kkcXsZ7MNaA/s1600/BQTerrace_SSIM.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="242" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzkrar5__orWl1UHicxlUWkzqF1pkLG8OeK7KrxvmQYI1BTcj5xdGAU1HeLXIJ_TcPpLu-B70QszegmCKMbDFv5wGxs9Wyu1_Sne25YsuquWLbrFa-dtsFxkzrRL7Nsu15kkcXsZ7MNaA/s320/BQTerrace_SSIM.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Fig. 4. Bitrate-SSIM plot for BQTerrace test sequence</td></tr>
</tbody></table>
<div class="western" style="text-align: justify;">
Fig. 3 and Fig. 4 show rate-distortion plots of the compared encoders for BQTerrace test sequence with the results to be studied closely. When distortion is measured by PSNR metric, Daala provides 6.29% bitrate overhead compared to JM, while based on SSIM metric Daala provides 33.26% bitrate savings (very close to HM). Daala looks better at lower bitrates which should be due to lapped transforms and pre– and post-filtering. At higher bitrate levels VP9 and VP10 have better results compared to Daala. Even compared to HM both VP9 and VP10 show competitive results with SSIM-based distortion measurement. </div>
<div class="western">
<div style="text-align: justify;">
Class C sequences have resolution of 832×480 pixels. VP9 and VP10 provide slightly better compression efficiency compared to JM (7–13% bitrate savings by PSNR). Compression efficiency of Daala on RaceHorses and BQMall sequences is slightly worse compared to JM by SSIM. However, 7–10% bitrate savings are achieved on PartyScene and BasketballDrill video sequences. <br />
Class D test sequences have the smallest resolution of 416×240 pixels, which is not the target usage of the contemporary compression systems, still needs to be considered. On BQSquare and BasketballPass test sequences Daala shows results very close to HM with SSIM distortion measurement. The results for the rest two Class D sequences are close to JM efficiency, as well as the results for VP9 and VP10. <br />
Class E test sequences represent video conferencing test case with resolution of 1280×720 pixels, which may be considered one of the target usage of royalty-free video codecs. On this test set VP9 and VP10 have good results for Johnny and KristenAndSara, and not very good results for FourPeople sequence. SSIM-based results of Daala are comparable to VP9 and VP10. <br />
Class F test set contains video sequences with full or partial artificial content: desktop capture (SlideShow, SlideEditing), video game (ChinaSpeed) and subtitles (BasketballDrillText). The results in Table I obviously show that Daala works bad on this test sequences as it tends to smooth texture edges. On artificial-based content this feature of Daala tools does not work well as it does for photo-realistic content. </div>
<h3 style="text-align: left;">
Conclusion</h3>
<div style="text-align: justify;">
The results showed the superior compression efficiency of H.265/HEVC coding tools over H.264/AVC tools and the studied royalty-free encoders. Compression efficiency of the royalty-free codecs is not very stable and lies between the efficiency of HM and JM encoders. However, VP9 and potentially VP10 encoders may be considered a good substitute over H.264/AVC based encodes. Daala compression efficiency is the most unstable: best results are achieved on photo-realistic content, while compression efficiency of artificial content with sharp edges is a weak point of Daala. <br />
<br />
Rate-PSNR evaluation of compression results of Daala encoder is not competitive to the results of the rest encoders, while rate-SSIM measurements show relatively good results. To further acknowledge Daala efficiency, a research on compression distortion of Daala encoder compared to H.264/AVC, H.265/HEVC, VP9 and VP10 with the help of subjective distortion measurements needs to be carried out.</div>
<h3 style="text-align: left;">
References</h3>
<ol style="text-align: justify;">
<li> M.P. Sharabayko, <a href="http://maxsharabayko.blogspot.ru/2013/10/next-generation-video-codecs-hevc-vp9.html">Next Generation Video Codecs: HEVC, VP9 and Daala</a>, In Youth and Contemporary Information Technologies, Tomsk Polytechnic University: Tomsk, Russia, 2013; Vol. 13, 35-37. </li>
<li> Recommendation H.265: High effciency video coding, ITU-T, April 2015. </li>
<li> M.P. Sharabayko, O.G. Ponomarev, R.I. Chernyak, <a href="http://maxsharabayko.blogspot.ru/2013/12/intra-compression-efficiency-in-vp9-and.html">Intra Compression Efficiency in VP9 and HEVC</a>, Applied Mathematical Sciences, 7 (2013), 6803-6824. <a href="http://dx.doi.org/10.12988/ams.2013.311644">http://dx.doi.org/10.12988/ams.2013.311644</a>. </li>
<li> D. Mukherjee, H. Su, J. Bankoski, A. Converse, J. Han, Z. Liu, Y. Xu. An Overview of new Video Coding Tools under consideration for VP10 the successor to VP9. Proc. SPIE 9599, Applications of Digital Image Processing XXXVIII, 95991E. September 22, 2015. </li>
<li> A. Grange, H. Alvestrand. A VP9 Bitstream Overview (Internet-Draft), Google, August 2013. </li>
<li> The WebM Project. – URL: <a href="http://www.webmproject.org/">http://www.webmproject.org/</a> (07.02.2015). </li>
<li> Xiph.org Daala video. – URL: https://xiph.org/daala/ (07.02.2015). </li>
<li> F. Bossen. Common test conditions and software reference configurations. In Document of ITU-T Q.6/SG16 JCTVC-K1100. ITU-T: Shanghai, CN, 2012. </li>
<li> G. Bjontegaard, Improvements of the BD-PSNR model. ITU-T SC16/Q6, 35th VCEG Meeting Doc. VCEG-AI11, Berlin, Germany, 16-18 July, 2008. </li>
</ol>
<br />
<br />
<br /></div>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-745641191327454996.post-3979229459158735662016-03-19T08:57:00.000-07:002016-03-19T08:57:44.107-07:00On Human Perception of the Present and of Audio&Video Synchronization<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/K4vyRvMASPU/0.jpg" frameborder="0" src="https://www.youtube.com/embed/K4vyRvMASPU?feature=player_embedded" width="720" height="420"></iframe></div>
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-745641191327454996.post-81135076707430008492016-01-18T22:11:00.001-08:002016-01-18T22:12:31.991-08:00Fast YUV to RGB conversion in Python 3This Python scripts implements fast matrix-based conversion from YUV to RGB colospace. Conversion from YV12 (YUV420) requires one extra line of code to perform up-sampling of chroma planes.<br />
<a name='more'></a>
<br />
<pre class="brush: python;">import numpy as np
from scipy import ndimage
def ConvertYUVtoRGB(yuv_planes)
plane_y = yuv_planes[0]
plane_u = yuv_planes[1]
plane_v = yuv_planes[2]
height = plane_y.shape[0]
width = plane_y.shape[1]
# upsample if YV12
plane_u = ndimage.zoom(plane_u, 2, order=0)
plane_v = ndimage.zoom(plane_v, 2, order=0)
# alternativelly can perform upsampling with numpy.repeat()
#plane_u = plane_u.repeat(2, axis=0).repeat(2, axis=1)
#plane_v = plane_v.repeat(2, axis=0).repeat(2, axis=1)
# reshape
plane_y = plane_y.reshape((plane_y.shape[0], plane_y.shape[1], 1))
plane_u = plane_u.reshape((plane_u.shape[0], plane_u.shape[1], 1))
plane_v = plane_v.reshape((plane_v.shape[0], plane_v.shape[1], 1))
# make YUV of shape [height, width, color_plane]
yuv = np.concatenate((plane_y, plane_u, plane_v), axis=2)
# according to ITU-R BT.709
yuv[:,:, 0] = yuv[:,:, 0].clip(16, 235).astype(yuv.dtype) - 16
yuv[:,:,1:] = yuv[:,:,1:].clip(16, 240).astype(yuv.dtype) - 128
A = np.array([[1.164, 0.000, 1.793],
[1.164, -0.213, -0.533],
[1.164, 2.112, 0.000]])
# our result
rgb = np.dot(yuv, A.T).clip(0, 255).astype('uint8')
return rgb
</pre>
<br />
Based on <a href="http://stackoverflow.com/questions/7041172/pils-colour-space-conversion-ycbcr-rgb">this discussion on stackoverflow</a>.<br />
See also: <a href="http://www.equasys.de/colorconversion.html">color conversion</a>. Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-745641191327454996.post-46778614241992236932015-07-12T23:51:00.002-07:002015-07-12T23:53:29.445-07:00A Python script evaluating PSNR metric of two YUV420 frames<div id="description">
A script evaluating PSNR metric of two YUV420 frames.<br />
<b>usage: psnr.py filename1.yuv filename2.yuv frame_width frame_height</b><br />
Alternatively if filename1 contains width and height in the form <b>file-1200x1600.yuv</b>,<br />
the script will extract width and height of a frame from the filename. Then usage even simplier:<br />
<b>psnr.py filename1-1200x1600.yuv filename2.yuv</b><br />
<a name='more'></a>
</div>
<pre class="brush: python;"># Denis Gorodetskiy
# linkedin.com/in/gorodetskiy
import array
import sys
import os
import math
import re
def frame_diff(frame1_data, frame2_data, begin_pos, end_pos, w, h):
luma_size = w * h
chroma_size = w * h/4
frame_size = w * h * 3/2
print "data size: %d, w*h=%d, w*h*3/2=%d" % (end_pos-begin_pos,
luma_size, frame_size)
print "evaluating mse.."
def psnr(mse):
log10 = math.log10
return 10.0*log10(float(256*256)/float(mse))
def mean(seq):
if len(seq) == 0: return 0.0
else: return sum(seq)/float(len(seq))
def sum_square_err(data1, data2, beg, end):
return sum( (a-b)*(a-b) for a,b in zip(data1[beg:end],data2[beg:end]))
y = begin_pos
u = y + luma_size
v = u + chroma_size
begin = [y,u,v,y]
end = [u,v,end_pos,end_pos]
size = [luma_size, chroma_size, chroma_size, frame_size]
colorspace_mse = [sum_square_err(frame1_data,frame2_data,
begin[i], end[i])/float(size[i]) for i in range(4)]
colorspace_psnr = [psnr(m) for m in colorspace_mse]
return colorspace_mse, colorspace_psnr, colorspace_psnr[-1]
def width_height_from_str(s):
m = re.search(".*[_-](\d+)x(\d+).*", s)
if not m:
raise RuntimeError()
w = int(m.group(1))
h = int(m.group(2))
return w,h
def usage(me):
print "usage: %s filename1.yuv filename2.yuv [width height]" % me
print "\tif you don't want to specify width height explicitly,"
print "\tscript will try to extract width, height from filenames,"
print "\tfilename_1024x768.yuv or filename-1024x768.yuv yield (width,height)=(1024,768)"
def main(argv):
if len(argv) < 3:
usage(argv[0])
filename1 = argv[1]
filename2 = argv[2]
if filename1 == filename2:
print "warning! do you really mean to compare the file with itself?"
data1 = array.array('B')
data2 = array.array('B')
file1_size = os.path.getsize(filename1)
file2_size = os.path.getsize(filename2)
minsize = min(file1_size, file2_size)
if file1_size != file2_size:
print "warning, file sizes do not match! comparing min size %d bytes" % minsize
if len(argv) >= 5:
w = int(argv[3])
h = int(argv[4])
else:
try:
w,h = width_height_from_str(filename1)
except RuntimeError:
try:
w,h = width_height_from_str(filename2)
except RuntimeError:
print "failed to parse width,height from filename"
usage(argv[0])
return
assert w*h*3/2 <= minsize
data_end = w*h * 3 /2
data1.fromfile(open(filename1,"rb"),minsize)
data2.fromfile(open(filename2,"rb"),minsize)
colorplane_mse, colorplane_psnr, frame_psnr = frame_diff(data1, data2, 0, data_end, w, h)
print "planes: Y, U, V, Whole frame"
print 'colorplane mse: ', colorplane_mse
print 'colorplane psnr: ', colorplane_psnr
print 'frame psnr: ', frame_psnr
if __name__ == '__main__':
main(sys.argv)
</pre>
<br />
<a href="http://code.activestate.com/recipes/577645-a-script-evaluating-psnr-metric-of-two-yuv420-fram/#.VaNbhcihmcs.blogger">By Denis Gorodetskiy, originally posted at activestate.com</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-745641191327454996.post-26069652555065437902014-11-17T08:52:00.002-08:002016-01-26T07:10:04.815-08:00The maturity of H.265/HEVC video compression on the study of X265 v.1.4<div style="text-align: justify;">
In this post I share my test results on x265 coding efficiency to track the development progress. The x265 version 1.4 was used for this test, as well as the JCT-VC test sequences. It is worth mentioning that the Class E sequence set has changed, as described in <a href="http://phenix.int-evry.fr/jct/doc_end_user/current_document.php?id=8340">JCTVC-O0022</a>. However, for backward compatibility of the test results I still use the old test sequences set.<br />
<br />
<a name='more'></a></div>
<div style="text-align: justify;">
The two configurations of the x265 encoder are prepared. The "ultra fast" preset is used to measure the maximum achievable performance of the encoder. The command line arguments for this configuration are the following:</div>
<span style="font-family: "courier new" , "courier" , monospace;">x255 -p ultrafast -t psnr --rect --amp --keyint -1 --bframes 3 --ipratio 1.0 --pbratio 1.0 --b-adapt 0</span><br />
<div style="text-align: justify;">
The second configuration uses "very slow" preset to estimate the maximum quality that x265 is able to provide. The command line arguments follow.</div>
<span style="font-family: "courier new" , "courier" , monospace;">x265 -p veryslow -t psnr --rect --amp --keyint -1 --bframes 3 --ipratio 1.0 --pbratio 1.0 --b-adapt 0</span><br />
<div style="text-align: justify;">
Both configurations produce the same GOP structure with one P frame followed by three B frames. All the frames in a sequences are coded with the same quantization parameter, no rate control is applied.</div>
<div style="text-align: justify;">
The test computer is based on Intel Core i7-4700HQ CPU, 2.4 GHz and has 8GB RAM. The x265 encoder is built in x64 mode.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
The compression efficiency is compared to the HM reference encoder v. 13.0. The "Low Delay Main" configuration file is used as the basis, and the GOP structure was changed to follow PBBB pattern. The comparison to the HM reference encoder is provided in terms of <a href="http://phenix.int-evry.fr/jct/doc_end_user/current_document.php?id=2736">Bjontegaard delta rate</a> (BD-RATE). To be short, the BD-RATE provides an estimation of the average increase (for positive BD-RATE values) or decrease (for negative values) of the compression bitrate of one test set over another. In this very experiment the BD-RATE means the percentage of the HM bitrate provided by the x265 encoder. For instance, the BD-RATE value of 15.89% means that x265 on average produces 15.89% bitrate overhead at the same PSNR quality level compared to the HM. The agerage YUV PSNR is calculated as follows:</div>
<br />
\(PSNR_{YUV}=\frac{1}{8}\cdot (6\cdot PSNR_{Y}+PSNR_{U}+PSNR_{V})\)<br />
<br />
<div style="text-align: justify;">
The BD-Y-RATE is the bitrate change with respect to the Y-PSNR (luma) quality level. The BD-Y-PSNR is the Y-PSNR quality difference for the x265 and the HM encoders at the same bitrate value. Obviously, the BD-UV-PSNR is the UV-PSNR (average chroma PSNRs) quality difference for the x265 and the HM encoders at the same bitrate value.</div>
<div style="text-align: justify;">
FPS stands for 'frames per second' and provides the estimation of the average compression speed.</div>
<br />
<div style="text-align: right;">
<b>Table 1. The performance results for x265 v.1.4 in "Very Slow" preset</b></div>
<table border="0" cellspacing="0" cols="8" frame="VOID" rules="NONE">
<colgroup><col width="86"></col><col width="121"></col><col width="86"></col><col width="86"></col><col width="86"></col><col width="86"></col><col width="86"></col><col width="86"></col></colgroup>
<tbody>
<tr>
<td align="CENTER" height="51" rowspan="2" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE" width="86"><b>Class</b></td>
<td align="LEFT" rowspan="2" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE" width="121"><b>Sequence</b></td>
<td align="CENTER" rowspan="2" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE" width="86"><b>Resolution</b></td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE" width="86"><br /></td>
<td align="CENTER" colspan="3" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE" width="257"><b>to HM PBBB</b></td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" width="86"><br /></td>
</tr>
<tr>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;"><b>BD-RATE (%)</b></td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;"><b>BD-Y-RATE. %</b></td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;"><b>BD-Y-PSNR. dB</b></td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;"><b>BD-UV-PSNR. dB</b></td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;"><b>FPS</b></td>
</tr>
<tr>
<td align="CENTER" height="34" rowspan="2" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE"><b>A</b></td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Traffic</td>
<td align="CENTER" rowspan="2" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE">2560×1600</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE">15.89</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">12.15</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.37</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.58</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">0.44</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">PeopleOnStreet</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">12.13</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">5.96</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.26</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.13</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">0.20</td>
</tr>
<tr>
<td align="CENTER" height="86" rowspan="5" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE"><b>B</b></td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Kimono</td>
<td align="CENTER" rowspan="5" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE">1920×1080</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE">7.95</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1.59</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.04</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.65</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">0.53</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">ParkScene</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">20.45</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">15.52</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.45</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.77</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">0.74</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Cactus</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">10.60</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">6.20</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.11</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.24</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">0.67</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">BQTerrace</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-2.48</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-14.02</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">0.26</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.75</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">0.75</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">BasketballDrive</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">17.75</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">10.54</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.18</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.62</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">0.54</td>
</tr>
<tr>
<td align="CENTER" height="69" rowspan="4" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE"><b>C</b></td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">RaceHorses (C)</td>
<td align="CENTER" rowspan="4" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE">832×480</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE">8.68</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4.23</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.18</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.78</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1.05</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">BQMall</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">20.13</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">15.95</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.63</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.00</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2.09</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">PartyScene</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">18.33</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">14.06</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.69</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.11</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1.38</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">BasketballDrill</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">21.58</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">18.35</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.68</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.00</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2.11</td>
</tr>
<tr>
<td align="CENTER" height="69" rowspan="4" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE"><b>D</b></td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">RaceHorses (D)</td>
<td align="CENTER" rowspan="4" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE">416×240</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE">12.03</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">7.53</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.39</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.02</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2.71</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">BQSquare</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">7.77</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3.46</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.14</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.66</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4.59</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">BlowingBubbles</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">16.68</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">13.23</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.54</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.86</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3.62</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">BasketballPass</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">25.25</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">20.47</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.90</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.50</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">6.99</td>
</tr>
<tr>
<td align="CENTER" height="51" rowspan="3" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE"><b>E</b></td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Vidyo1</td>
<td align="CENTER" rowspan="3" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE">1280×720</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE">29.05</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">24.59</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.65</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.74</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3.58</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Vidyo3</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">23.37</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">17.11</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.51</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.77</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2.64</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Vidyo4</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">28.92</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">21.47</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.49</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.88</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2.60</td>
</tr>
<tr>
<td align="CENTER" height="69" rowspan="4" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE"><b>F</b></td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">BaskeballDrillText</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">832×480</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">20.76</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">17.15</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.68</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.12</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2.21</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">ChinaSpeed</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1024×768</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">26.62</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">22.30</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.30</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.60</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1.14</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">SlideEditing</td>
<td align="CENTER" rowspan="2" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE">1280×720</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE">29.78</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">28.82</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-4.23</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-2.42</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3.03</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">SlideShow</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">10.82</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">12.94</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.89</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.19</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2.65</td>
</tr>
</tbody>
</table>
<br />
<div style="text-align: justify;">
The performance results for "very slow" preset are provided in Table 1. As can be seen, the bitrate overhead varies from 8.68% for RaceHorces (C) test sequence to 29.78% for Vidyo1 test sequence. The compression speed is rather slow, but provides the ability to do file-based transcoding of the SD and maybe HD video. Nevertheless, the compression efficiency outlined by the BD-RATE estimation is significantly worse compared to the HM. It may be <span class="short_text" id="result_box" lang="en"><span class="hps">compensated by good rate control though.</span></span></div>
<br />
<div style="text-align: right;">
<b>Table 2. The performance results for x265 v.1.4 in "Ultra Fast" preset</b></div>
<table border="0" cellspacing="0" cols="8" frame="VOID" rules="NONE">
<colgroup><col width="86"></col><col width="121"></col><col width="86"></col><col width="86"></col><col width="86"></col><col width="86"></col><col width="86"></col><col width="86"></col></colgroup>
<tbody>
<tr>
<td align="CENTER" height="51" rowspan="2" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE" width="86"><b>Class</b></td>
<td align="LEFT" rowspan="2" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE" width="121"><b>Sequence</b></td>
<td align="CENTER" rowspan="2" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE" width="86"><b>Resolution</b></td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE" width="86"><br /></td>
<td align="CENTER" colspan="3" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE" width="257"><b>to HM PBBB</b></td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" width="86"><br /></td>
</tr>
<tr>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;"><b>BD-RATE (%)</b></td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;"><b>BD-Y-RATE. %</b></td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;"><b>BD-Y-PSNR. dB</b></td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;"><b>BD-UV-PSNR. dB</b></td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;"><b>FPS</b></td>
</tr>
<tr>
<td align="CENTER" height="34" rowspan="2" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE"><b>A</b></td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Traffic</td>
<td align="CENTER" rowspan="2" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE">2560×1600</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE">58.15</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">58.80</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.50</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.81</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">10.09</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">PeopleOnStreet</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">57.31</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">52.96</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.89</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.57</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3.82</td>
</tr>
<tr>
<td align="CENTER" height="86" rowspan="5" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE"><b>B</b></td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Kimono</td>
<td align="CENTER" rowspan="5" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE">1920×1080</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE">62.10</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">60.37</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.51</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.00</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">8.33</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">ParkScene</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">51.18</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">51.72</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.28</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.77</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">16.10</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Cactus</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">66.26</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">62.11</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.06</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.65</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">14.95</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">BQTerrace</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">67.79</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">59.40</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.15</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.77</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">20.53</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">BasketballDrive</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">75.55</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">69.34</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.04</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.08</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">11.74</td>
</tr>
<tr>
<td align="CENTER" height="69" rowspan="4" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE"><b>C</b></td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">RaceHorses (C)</td>
<td align="CENTER" rowspan="4" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE">832×480</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE">57.62</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">53.00</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.89</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.51</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">30.52</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">BQMall</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">66.94</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">64.75</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-2.09</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.46</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">62.34</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">PartyScene</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">62.36</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">59.46</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-2.30</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.70</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">43.72</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">BasketballDrill</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">72.62</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">70.14</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-2.14</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.73</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">60.07</td>
</tr>
<tr>
<td align="CENTER" height="69" rowspan="4" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE"><b>D</b></td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">RaceHorses (D)</td>
<td align="CENTER" rowspan="4" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE">416×240</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE">56.65</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">52.65</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-2.20</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.82</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">102.59</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">BQSquare</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">78.93</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">79.91</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-2.52</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.07</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">241.60</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">BlowingBubbles</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">63.45</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">62.16</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-2.04</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.46</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">146.21</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">BasketballPass</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">50.23</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">47.88</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.84</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.53</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">270.74</td>
</tr>
<tr>
<td align="CENTER" height="51" rowspan="3" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE"><b>E</b></td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Vidyo1</td>
<td align="CENTER" rowspan="3" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE">1280×720</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE">75.05</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">73.47</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.64</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-0.98</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">93.92</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Vidyo3</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">91.89</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">93.06</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-2.09</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.09</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">68.43</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Vidyo4</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">85.45</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">82.20</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.48</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.26</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">68.51</td>
</tr>
<tr>
<td align="CENTER" height="69" rowspan="4" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE"><b>F</b></td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">BaskeballDrillText</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">832×480</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">72.24</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">69.75</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-2.26</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-1.94</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">60.14</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">ChinaSpeed</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1024×768</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">104.44</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">104.90</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-4.37</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-2.63</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">27.37</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">SlideEditing</td>
<td align="CENTER" rowspan="2" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE">1280×720</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="MIDDLE">113.78</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">117.56</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-11.52</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-4.63</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">62.47</td>
</tr>
<tr>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">SlideShow</td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">86.47</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">85.50</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-4.74</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">-3.91</td>
<td align="RIGHT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">37.21</td>
</tr>
</tbody>
</table>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Table 2 provides the performance results fot the x265 encoder in "ultra fast" preset. The compression efficiency is drastically worse even compared to "very slow" preset. This configuration does not provide the benefits of the HEVC video compression technology and may be used only to test and debug real time compression systems. On a more powerful CPU the x265 encoder in "ultra fast" preset is able to provide real time compression for FullHD 1080p@30 Hz video sequences.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Regarding the compression performance some interesting results were found <a href="http://x265.ru/x265-hd-benchmark/">here</a>. The encoder performance is measured on the FullHD video sequence, a trailer to the movie "Max Schmeling". The "fast" preset is used for testing, and the general x265 configuration is:</div>
<span style="font-family: "courier new" , "courier" , monospace;">--crf 20 --preset fast</span><br />
where CRF controls the quality-based VBR.<br />
<br />
<br />
<div style="text-align: right;">
<b>Table 3. The x265 v.1.4 performance on different CPUs at FullHD video coding</b></div>
<table border="0" cellspacing="0" cols="8" frame="VOID" rules="NONE">
<colgroup><col width="167"></col><col width="41"></col><col width="47"></col><col width="62"></col><col width="52"></col><col width="73"></col><col width="67"></col><col width="65"></col></colgroup>
<tbody>
<tr>
<td align="LEFT" height="38" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="TOP" width="167"><b>Processor model</b></td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="TOP" width="41"><b>Type*</b></td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="TOP" width="47"><b>Cores</b></td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="TOP" width="62"><b>Freq. (GHz)</b></td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="TOP" width="52"><b>RAM</b></td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="TOP" width="73"><b>RAM freq. (MHz)</b></td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="TOP" width="67"><b>RAM channels</b></td>
<td align="CENTER" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;" valign="TOP" width="65"><b>Average FPS x64</b></td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i7-5960X</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">8 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4.5 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3000 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">32.42 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i7-5960X</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">8 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4.4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2666 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">31.35 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i7-5820K</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">6 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4.5 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2666 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">25.44 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i7-5820K</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">6 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4.37 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3000 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">24.61 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i7-4930K</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">6 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3.9 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1600 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">17.89 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i7-4790K</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4.4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2000 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">17.73 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i5-4670</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4.5 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2200 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">15.86 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i7-4790</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4.0 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1600 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">15.28 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i7-4770</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3,9 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1600 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">15.08 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i7-3770K</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4.5 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2200 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">15.02 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">AMD FX-8350</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">8 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4.67 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1600 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">14.97 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">AMD FX-8320</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">8 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4.63 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1600 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">14.95 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">AMD FX-8320</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">8 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4.4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2200 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">14.46 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i7-2600K</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4.5 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1600 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">14.23 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">AMD FX-8320</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">8 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4.2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1600 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">13.68 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i7-4770K</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3.9 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1600 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">12.80 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i7-3770</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3.9 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1600 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">12.30 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i7-3570K</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4.2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1600 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">12.04 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i5-2500K</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4.3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2200 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">11.61 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i7-4700MQ</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">M</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3.4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1600 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">11.60 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i7-2600K</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3.6 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1333 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">10.69 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i5-3470</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3.6 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1600 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">9.76 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">AMD FX-8120</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">8 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3.4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1333 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">9.70 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i7-860</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3.35 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1333 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">8.10 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i7-920</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2.67 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1066 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">8.01 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i3-4370</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3.8 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1600 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">7.93 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">AMD Opteron 6234</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">WS</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">12 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2.4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1333 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">7.88 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i5-2300</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2.8 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1333 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">7.79 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i7-2630QM</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">M</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2.8 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1333 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">7.43 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">AMD A8-7600</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3.8 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1800 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">6.12 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core2 Quad Q9650</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3.0 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">800 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">6.02 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i5-3230M</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">M</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3.2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1600 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">5.07 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i7-3517U</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">M</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2.4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1333 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4.50 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i5-460M</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">M</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2.53 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1066 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3.94 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i5-480M</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">M</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2.93 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1066 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3.90 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">AMD A4-5300</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3.6 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1333 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2.89 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">AMD Phenom II X6 1090T</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">6 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3.4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1600 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2.84 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core i5-4200U</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">M</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2.3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1333 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2.79 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Core 2 Quad Q6600</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">3.6 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">800 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2.61 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">Intel Celeron 2955U</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">M</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1.4 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR3 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">1600 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2.36 </td>
</tr>
<tr>
<td align="LEFT" height="17" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">AMD Athlon 64 X2 3800+</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DT</td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2.0 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">DDR2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">400 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">2 </td>
<td align="LEFT" style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;">0.46 </td>
</tr>
</tbody>
</table>
<i>* WS — workstation, DT — desktop, M — mobile/notebook processor</i><br />
<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-745641191327454996.post-8665645261512213172014-07-23T00:18:00.000-07:002014-07-23T00:18:06.670-07:00Xiph's Daala Compression Efficiency UpdateNine months have passed since <a href="http://maxsharabayko.blogspot.ru/2013/10/next-generation-video-codecs-hevc-vp9.html">my last comparisson</a> of the HEVC, VP9 and Daala compression efficiency. Daala was in the development stage and is still being developed. Recently I've updated the codec to see the changes.<br />
My apologies to the haters of PSNR and the lovers of SSIM. I'm still using PSNR.<br />
<a name='more'></a><br />
The two revisions of Daala codec are compared in the following experiments. The newer one is a <a href="https://git.xiph.org/?p=daala.git;a=commit;h=c5aa7010caf8121845ee76d7483af020c7d32231">master commit on July 15, 2014</a>. The older one is a <a href="https://git.xiph.org/?p=daala.git;a=commit;h=0dd624732869a6f8c19842b09786430a1be30db9">master commit on October 3, 2014</a>.<br />
First of all intra compression efficiency increased. The following table contains Bjontegaard delta rates and delta PSNRs for the JCT-VC test sequences. I've changed command line interface for the means of automatisation process I'm used to. Daala encoder is configured with <i>daala_info</i> structure. The <i>keyframe_rate</i> parameter is set to 1. The experiments are held for video quality parameters of \(vq=2\cdot n,\) where \(n = [2,\:...,\:16]\).<br />
The changes in key-frame compression efficiency of the newer version comparred to the older one are the following:<br />
<u><br /></u>
<i>Table 1: Daala 15-07-2014 compared to Daala 03-10-2013 on intra-only configuration</i><br />
<span style="font-family: "Courier New",Courier,monospace;"><u><b>Sequence BD-RATE BD-PSNR-Y BD-PSNR-UV</b></u><br />Traffic -23.49 1.71 -0.11<br />PeopleOnStreet -21.29 1.74 0.22<br />Kimono -51.30 1.98 0.24<br />ParkScene -20.44 1.16 0.10<br />Cactus -18.06 0.90 0.09<br />BQTerrace -8.31 0.64 0.24<br />BasketballDrive -32.81 1.15 0.52<br />RaceHorsesC 2.60 -0.16 -0.05<br />BQMall -2.87 0.27 0.00<br />PartyScene 10.75 -0.94 0.09<br />BasketballDrill -8.00 0.52 0.36<br />RaceHorses -8.39 -0.88 -0.01<br />BQSquare 1.48 -18.2 -19.45<br />BlowingBubbles -7.36 0.59 0.30<br />BasketballPass -13.00 1.09 0.08<br />Vidyo1 -28.04 1.98 0.89<br />Vidyo3 -25.47 1.85 1.51<br />Vidyo4 -28.21 1.77 1.34<br />BasketballDrillText -6.19 0.44 0.49<br />ChinaSpeed 23.83 -2.12 0.41<br />SlideEditing 22.02 -2.80 -0.07<br />SlideShow -8.60 1.09 0.16</span><br />
<br />
Generally the compression efficiency increase by 20-30% for the majority of test sequences. However, the compression efficiency of ChinaSpeed and SlideEditing test sequences decresed by 20% (in BD-Rate).<br />
<br />
For inter-frame coding efficiency the key frame is set to be only the first one. The rest configuration is the same. And the results follow.<br />
<i>Table 2: Daala 15-07-2014 compared to Daala 03-10-2013 on inter frame configuration</i><br />
<span style="font-family: "Courier New",Courier,monospace;"><u><b>Sequence BD-RATE BD-PSNR-Y BD-PSNR-UV</b></u><br />Traffic -65.10 3.47 1.79<br />PeopleOnStreet -53.88 3.55 2.58<br />Kimono -83.29 3.57 1.12<br />ParkScene -41.18 1.71 1.00<br />Cactus -43.62 1.64 0.98<br />BQTerrace -20.72 0.93 1.65<br />BasketballDrive -64.49 2.24 1.09<br />RaceHorsesC -24.20 1.53 1.88<br />BQMall -39.31 2.14 2.73<br />PartyScene -18.15 1.31 2.37<br />BasketballDrill -43.91 2.15 2.21<br />RaceHorses -29.16 2.00 2.45<br />BQSquare -29.08 2.36 3.33<br />BlowingBubbles -26.17 1.59 2.20<br />BasketballPass -57.43 3.83 4.16<br />Vidyo1 -82.65 4.49 1.97<br />Vidyo3 -75.76 4.01 1.63<br />Vidyo4 -78.23 3.95 1.77<br />BasketballDrillText -45.90 2.41 3.07<br />ChinaSpeed -36.41 2.90 3.23<br />SlideEditing -76.28 14.97 13.09<br />SlideShow -69.87 9.95 8.07</span><br />
<br />
There is a significant compression efficiency gain of 20-80%. About 83% bitrate reduction achieved on Kimono and Vidyo1 test sequences.<br />
However, comparred to the JM reference encoder Daala's performance is still rather poor.<br />
Updated Daala's keyframe compression efficiency against JM v.18.4 "Intra HE" configuration:<br />
<br />
<i>Table 3: Daala 15-07-2014 intra compared to JM v.18.4 "Intra HE"</i><br />
<span style="font-family: "Courier New",Courier,monospace;"><u><b>Sequence BD-RATE BD-PSNR-Y BD-PSNR-UV</b></u><br />Traffic 17.65 -0.96 -2.13<br />PeopleOnStreet 20.53 -1.21 -1.22<br />Kimono -1.60 0.04 -1.03<br />ParkScene 17.04 -0.77 -1.27<br />Cactus 30.30 -1.13 -1.17<br />BQTerrace 35.12 -2.08 -1.16<br />BasketballDrive 52.44 -1.13 -2.03<br />RaceHorsesC 40.90 -2.56 -1.59<br />BQMall 50.21 -2.83 -1.63<br />PartyScene 49.14 -3.48 -1.45<br />BasketballDrill 39.64 -1.81 -2.42<br />RaceHorses 30.13 -2.99 -2.17<br />BQSquare 55.50 -9.56 -7.00<br />BlowingBubbles 37.50 -2.18 -1.77<br />BasketballPass 39.72 -2.24 -3.13<br />Vidyo1 42.59 -1.91 -1.42<br />Vidyo3 59.39 -2.74 -0.80<br />Vidyo4 43.91 -1.79 -1.25<br />BasketballDrillText 47.43 -2.25 -3.05<br />ChinaSpeed 91.41 -6.21 -2.84<br />SlideEditing 121.43 -10.46 -3.95<br />SlideShow 270.12 -9.48 -10.55</span><br />
<br />
Obviously Daala provides 1.5 times higher bitrate compared to the JM encoder. Moreover, on the SlideEditing and SlideShow test sequences the bitrate is 2-3 times higher. Intra compression efficiency of the Daala coder seems to remain not efficient enough.<br />
<br />
<i>Table 4: Daala 15-07-2014 inter compared to JM v.18.4 "RA B HE"</i><br />
<span style="font-family: "Courier New",Courier,monospace;"><u><b>Sequence BD-RATE BD-PSNR-Y BD-PSNR-UV</b></u><br />Traffic 149.34 -3.12 -3.51<br />PeopleOnStreet 68.13 -2.46 -2.33<br />Kimono 3.37 -0.13 -2.48<br />ParkScene 149.09 -3.15 -3.25<br />Cactus 199.99 -2.43 -2.04<br />BQTerrace 297.19 -3.23 -2.48<br />BasketballDrive 87.29 -1.29 -2.78<br />RaceHorsesC 110.55 -3.60 -2.70<br />BQMall 200.56 -4.70 -3.10<br />PartyScene 188.62 -5.70 -3.32<br />BasketballDrill 173.82 -4.06 -4.43<br />RaceHorses 113.98 -4.32 -3.73<br />BQSquare 369.81 -7.43 -2.80<br />BlowingBubbles 172.57 -4.56 -3.91<br />BasketballPass 151.03 -4.59 -4.43<br />Vidyo1 302.75 -3.61 -2.92<br />Vidyo3 243.38 -3.62 -2.57<br />Vidyo4 241.21 -3.06 -3.27<br />BasketballDrillText 193.53 -4.59 -5.34<br />ChinaSpeed 287.76 -9.32 -5.97<br />SlideEditing 378.40 -21.32 -11.34<br />SlideShow 382.95 -14.45 -18.80</span><br />
<br />
The inter-frame compression performance of Daala is compared to the JM
v.18.4 in "Random Access B HE" configuration. The overall compression
efficiency of the Daala video encoder is 2-5 times lower than the
compression efficiency of the JM reference encoder.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-745641191327454996.post-30594968471769918892013-12-09T07:07:00.000-08:002016-01-26T07:10:34.608-08:00Intra Compression Efficiency in VP9 and HEVC<div style="text-align: justify;">
In this paper we get into detailed overview of intra compression data-flow in HEVC and VP9. We describe common and unique stages of both standards. Then we carry out experiments with JCT-VC HM and WebM VP9 encoders on intra compression efficiency.<br />
We also turn some of the HEVC features off to get its dataflow as close to VP9 as possible. Finally we get into discussion of the efficiency of both codecs, the corresponding standards and their intra compression algorithms.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b><span style="color: black;">Copyright </span>© 2013 <a href="http://www.m-hikari.com/ams/ams-2013/ams-137-140-2013/sharabaykoAMS137-140-2013.pdf">M.P. Sharabayko, O.G. Ponomarev, R.I. Chernyak, "Intra Compression Efficiency in VP9 and HEVC," <i>Applied Mathematical Sciences</i>, Vol. 7, 2013, no. 137, pp. 6803<span lang="EN-US" style="mso-ansi-language: EN-US;">–</span>6824</a>. </b></div>
<a name='more'></a><h2>
Table of Contents </h2>
<ol>
<li>Introduction </li>
<li>General compression data flow</li>
<li>Intra compression in HEVC</li>
<ul>
<li>Macroblock concept</li>
<li>Intra-prediction modes</li>
<li>Transform and quantization</li>
<li>Entropy coding</li>
<li>Post-processing</li>
</ul>
<li>Intra compression in VP9</li>
<ul>
<li>Macroblock concept</li>
<li>Intra-prediction modes</li>
<li>Transform and quantization</li>
<li>Entropy coding</li>
<li>Post-processing</li>
</ul>
<li>Experimental results</li>
</ol>
<h2>
Introduction</h2>
<div style="text-align: justify;">
The current industrial video compression standard H.264/AVC was adopted in 2003. It provides a superior video compression efficiency compared to other existing and widely spread standards such as MPEG2 or VP8. However the amount of video data stored on local devices or transmitted over the networks is permanently increased. According to Cisco <a href="http://www.cisco.com/en/US/solutions/collateral/ns341/ns525/ns537/ns705/ns827/white_paper_c11-520862.html">[2]</a> mobile video traffic was 51 percent of the entire global Internet traffic by the end of 2012 and it is expected to be 66 percent by 2017. The ability to get better compression rates will eventually decrease network bandwidth load.<br />
<br />
The emerging of a more efficient next generation video coding standard is of a high demand at the moment. There seem to be two main contenders for the position of the next state-of-the-art video compression standard: JCT-VC H.265/HEVC and Google VP9. HEVC is being developed by JCT-VC group - the creators of AVC. It is an evolution of AVC concepts with some innovations. On the other hand, VP9 is a Google initiative to get a royalty-free compression standard with efficiency superior to AVC. It expands techniques used in AVC and VP8 and is very likely to replace AVC at least in the YouTube video service.<br />
<br />
The basis of any video compression standard is intra-frame coding that determines the resulting compression efficiency. In this paper we present a detailed overview of intra-frame compression techniques used in VP9 and HEVC. Then we analyze their unique parts and carry out experiments on intra-frame compression efficiency of HM and WebM VP9 encoders.</div>
<h2>
Access the Paper</h2>
<br />
Please find the free-access paper at the <a href="http://www.m-hikari.com/ams/ams-2013/ams-137-140-2013/sharabaykoAMS137-140-2013.pdf">Hikary's Applied Mathematical Sciences Journal</a>.<br />
<br />
<h2>
Conclusion</h2>
<div style="text-align: justify;">
Both VP9 and HEVC compression standards provide higher compressoin efficiency compared to the current industrial video compression standard AVC. HEVC provides better compression rates than VP9, but VP9 is patent-free and can be used without licensing expenses.<br />
In our experiments we tried to figure out the main reasons for HEVC to be more efficient in intra coding compared to VP9. We showed that more angular intra prediction modes provide the most significant influence on intra compression efficiency (about 7.7% bitrate savings). The HEVC SAO post-processing stage has less impact (about 1.3% bitrate savings). Finally the modified HM encoder with 10 intra prediction modes and without SAO post-processing is still about 7% more efficient compared to the VP9 encoder. We assume this is due to the adaptive HEVC entropy coding. Syntax-adaptive BAC should be more efficient than frame-adaptive bool-coder, and this topic is a subject for further research.<br />
Further experiments should also be carried out on inter-compression efficiency of both standards.</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-745641191327454996.post-31971573057372387812013-11-16T00:31:00.001-08:002013-11-16T00:32:40.951-08:00TAMPERE IMAGE DATABASE 2008 TID2008This post is a useful <a href="http://ponomarenko.info/tid2008.htm">link </a>to Tampere Image Database (TID) and visual quality metric test suite, that I would like to have close at hand.<br />
TID is intended for evaluation of full-reference image visual
quality assessment metrics. TID allows estimating how a given
metric corresponds to mean human perception. For example, in
accordance with TID2008, Spearman correlation between the metric
PSNR (Peak Signal to Noise Ratio) and mean human perception (MOS,
Mean Opinion Score) is 0.525.<br />
<a name='more'></a><br />
How to test your metric?<br />
Step 1. Download the TID2008.<br />
Step 2. Calculate values of your metric
for each distorted image of TID2008.<br />
Step 3. Use included software
("spearman.exe" or "kendall.exe") for calculate a correlation between your metric and MOS.<br />
<br />
In case of publishing results obtained by means of TID2008 please
refer to one of the following papers:<br />
<br />
<i>(full description of TID2008)</i><br />
<a href="http://ponomarenko.info/papers/mre2009tid.pdf">[1] N. Ponomarenko, V. Lukin, A. Zelensky, K. Egiazarian, M. Carli,
F. Battisti, "TID2008 - A Database for Evaluation of Full-Reference
Visual Quality Assessment Metrics", Advances of Modern
Radioelectronics, Vol. 10, pp. 30-45, 2009.</a><br />
<br />
<i>(a short description of TID2008)</i><br />
<a href="http://ponomarenko.info/papers/vpqm2009tid.pdf">[2] N. Ponomarenko, F. Battisti, K. Egiazarian, J. Astola, V. Lukin
"Metrics performance comparison for color image database", Fourth international
workshop on video processing and quality metrics for consumer electronics,
Scottsdale, Arizona, USA. Jan. 14-16, 2009, 6 p.</a> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-745641191327454996.post-47535427657239882132013-10-22T21:53:00.002-07:002014-07-30T20:20:33.767-07:00Next Generation Video Codecs: HEVC, VP9, Daala<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmKME7GvtAh0J7IfE5w0Xt2l5z43dLv5B3Cqijp4iqVs059y6xT_yYk9ja4TZs-XRMjxjP4lmCgQtcd7zbuSd15haXivJu8dLEWcynzikAjVZc6tlHp2MPpTSbMauNAIuxp8hXLrs5KzA/s1600/vp9_vs_hevc_vs_daala.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmKME7GvtAh0J7IfE5w0Xt2l5z43dLv5B3Cqijp4iqVs059y6xT_yYk9ja4TZs-XRMjxjP4lmCgQtcd7zbuSd15haXivJu8dLEWcynzikAjVZc6tlHp2MPpTSbMauNAIuxp8hXLrs5KzA/s320/vp9_vs_hevc_vs_daala.png" height="81" width="320" /></a>Nowadays video services (digital television, Internet video etc.) are a common part of our live. According to Cisco [1] mobile video traffic was 51 percent of the entire global Internet traffic by the end of 2012 and it is expected to be 66 percent by 2017.<br />
The demand on video and its quality is very high. Since the appearance of VoIP in 1984 video resolution has increased from QCIF (176×144 pixels) to Full HD (1920×1080). Now it is evolving to 4K (3840×2160) and 8K (7680×4320) UHD. But the higher the resolution and quality is, the higher bitrate it takes.<br />
This paper contains a general review of new video compression standards
HEVC, VP9 and Daala. Their compression efficiency is studied and
compared to AVC.<br />
<b>The paper was reported at the XI International Theoretical and Practical Conference of Students and Young Scientists "<a data-mce-href="http://msit.tpu.ru/" href="http://msit.tpu.ru/">Youth and Contemporary Information Technolodies</a>". The report can be found <a data-mce-href="/media/55/Sharabayko_MSIT.pdf" href="https://skydrive.live.com/redir?resid=813D418DFB2CD243!757&authkey=!AMRK0hFZgmikW40">here</a>.</b><br />
<a name='more'></a><br />
<h3>
HEVC</h3>
High Efficiency Video Coding is an evolution of current industrial H.264/AVC standard [2]. AVC was adopted in 2003 and determined the development of HD television. HEVC was developed to increase AVC compression efficiency by two times and endorse the development of UHD systems. HEVC is expected to replace AVC in newly developed video systems.<br />
H.265/HEVC [3] is still a block-based DFT codec with the same general design. One of the main improvements is the increase of maximal block (called Largest Coding Unit - LCU) size from 16×16 to 64×64 pixels. It aims to improve the efficiency of block partitioning on high resolution video sequences (bitrate savings are about 16% [4]). Larger blocks provoke the introduction of quad-tree partitioning with adaptive block sub-splitting and adaptive prediction units and transform units partitioning. Additional 25 intra prediction directions were added to improve intra-frame coding efficiency. Also there came more motion vector prediction candidates and several other modifications to improve inter-frame compression performance.<br />
<h3>
VP9 </h3>
Superior video compression efficiency of HEVC is able to provide network usage savings, which should be of a great interest to Google YouTube video service. The development of free-to-use video compression standard with the efficiency comparable to proprietary HEVC could become financially successful. That came one of the reasons for Google to create VP9 [5] compression standard. <br />
Google VP9 basically shares common features with AVC coding like VP8 did. The main evolutional change is also the increase of largest block (called 'super block') size up to 64×64 pixels and its adaptive sub-splitting. Motion vector prediction was improved, unlike intra prediction that still has only 10 modes.<br />
<h3>
Daala</h3>
Unlike HEVC and VP9, Daala [6] is being designed to step aside common video compression techniques. Among the key distinctive features there are lapped transforms instead of block-based DFT, lifting pre- and post-filtering instead of deblock filtering, frequency domain intra prediction, Time/Frequency Resolution Switching etc. <br />
The development of Daala codec is still in progress. It is designed patent free and might potentially become the next generation video codec in 5-10 years if the novel techniques would prove to be successful. <br />
Comparison results For comparison purposes open-source implementations of the reviewed codecs are used. HEVC compression efficiency is measured with HM Test Model. Verification of coding parameters is done with Elecard HEVC Analyzer [7]. For AVC estimation JM reference encoder and Elecard Stream Analyzer [7] are used. Both JM and HM utilize rate-distortion optimization (RDO) techniques to achieve quasi-optimal correlation between compression rate and quality. Both encoder implementations are evaluated in “constant quantizer” mode.<br />
H.264/AVC is an industrial video compression standard at the moment. It was adopted in 2003 and determined the development of HD television. In April 2013 next generation video compression standard H.265/HEVC appeared. It was developed by JCT-VC to increase AVC compression efficiency by two times and endorse the development of UHD systems. As AVC the new standard is proprietary and thus its usage in not free That's one of the main reasons for development of Google VP9 compression standard. Being free from patent claims VP9 should achieve similar compression rates as HEVC.<br />
<h3>
Comparison results</h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK303oqhxEfvGk53LZAbJX5dASIdI6b3aSSBkgqqrRy-7Iyd-cCOC5UiYH7SRiwqp0Qaxtj4qdnbpMtUAP93d5nnrW9d0CkWMDsO_bGVdjkbeObGBiwIUeFY5DYytjMlMhPPvcGzfvE6w/s1600/BasketballDrill_sequence.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK303oqhxEfvGk53LZAbJX5dASIdI6b3aSSBkgqqrRy-7Iyd-cCOC5UiYH7SRiwqp0Qaxtj4qdnbpMtUAP93d5nnrW9d0CkWMDsO_bGVdjkbeObGBiwIUeFY5DYytjMlMhPPvcGzfvE6w/s320/BasketballDrill_sequence.jpg" height="184" width="320" /></a></div>
For comparison purposes open-source implementations of the reviewed codecs are used. HEVC compression efficiency is measured with HM Test Model. Verification of coding parameters is done with <a href="http://www.elecard.com/ru/products/professional/analysis/hevc-analyzer.html">Elecard HEVC Analyzer</a> [7]. For AVC estimation JM reference encoder and <a href="http://www.elecard.com/ru/products/professional/analysis/streameye.html">Elecard StreamEye</a> [7] are used. Both JM and HM utilize rate-distortion optimization (RDO) techniques to achieve quasi-optimal correlation between compression rate and quality. Both encoder implementations are evaluated in “constant quantizer” mode.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs0PsrPGpDsk-SxtjGJQQY7i6YMaMwFtMtSYnVn4gNxmJoEmlJmkDBwPvCiBtwcT2lF9_tFwuPrv9rowVwJg66xsoNtqmqqQisoCzEIowDd-Je9i_PmogMgmKHXmyApAkfP16pndZlt3s/s1600/cactus_sequence.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs0PsrPGpDsk-SxtjGJQQY7i6YMaMwFtMtSYnVn4gNxmJoEmlJmkDBwPvCiBtwcT2lF9_tFwuPrv9rowVwJg66xsoNtqmqqQisoCzEIowDd-Je9i_PmogMgmKHXmyApAkfP16pndZlt3s/s320/cactus_sequence.jpg" height="179" width="320" /></a></div>
Estimation of VP9 performance is carried out with the VPX encoder
from The WebM Project as it is the only implementation of this standard.
CodecVisa VP9 Analyzer [8] is used for verification of compression
parameters. VPX encoder is configured with “constrained quality” mode
and limited quantization parameter to emulate “constant quantizer” mode.
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZbwMnK3KQ-27pYLqoVU-NTNUVirlKvLqX82mNEOIG22kkXO6ztbOGlOkEO9q6elMMVMhXC8tbW_cubQzR-Ipdsmy9TrFSoiA-raoZ_J-HTr7S56axNqsY397yUHbIbD5hRWDUr9AyKQ4/s1600/Traffic_sequence.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZbwMnK3KQ-27pYLqoVU-NTNUVirlKvLqX82mNEOIG22kkXO6ztbOGlOkEO9q6elMMVMhXC8tbW_cubQzR-Ipdsmy9TrFSoiA-raoZ_J-HTr7S56axNqsY397yUHbIbD5hRWDUr9AyKQ4/s320/Traffic_sequence.jpg" height="200" width="320" /></a>Daala is still under development and the only encoder
implementation available belongs to Xiph open source community, which
is, in fact, developing this standard. Verification of compression
parameters is performed manually as no analyzer is available. Only
'constrained quality' mode is available and used in experiments, which,
by the way, should provide superior efficiency to “constant quantizer”
mode. <br />
<br />
Experiments are carried out on JCT-VC video sequences: BasketballDrill (832×480 @ 50 Hz)<span lang="EN-US" style="color: black; font-size: 10.0pt; mso-ansi-language: EN-US;"></span>, Cactus (1920×1080 @ 50 Hz)<span lang="EN-US" style="color: black; font-size: 10.0pt; mso-ansi-language: EN-US;"></span> and Traffic (2560×1600 @ 30 Hz) [9].<br />
<br />
For key-frame compression efficiency estimation HM encoder is tested in “All Intra – Main” configuration, JM encoder is tested in “Intra HE” configuration. VP9 and Daala encoders are configured manually. <br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiagQD2Q-kvVGxbMw6CCAmp95k6W7GrBXryKF6O3JiNnIvqzn7NcSudXHTu_eB3WxblStyO87H1ZzneosdXRitPhHPx5dmtY2Cdncv5NVuxeUknHfMzESFcN02UZYakLB8H_W3Nw5oY0aQ/s1600/BDrill_intra_color.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiagQD2Q-kvVGxbMw6CCAmp95k6W7GrBXryKF6O3JiNnIvqzn7NcSudXHTu_eB3WxblStyO87H1ZzneosdXRitPhHPx5dmtY2Cdncv5NVuxeUknHfMzESFcN02UZYakLB8H_W3Nw5oY0aQ/s400/BDrill_intra_color.jpg" height="241" width="400" /></a></div>
<br />
<div style="text-align: center;">
Fig. 3. Intra-frame compression efficiency on BasketballDrill sequence </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkbfLD2shW1HMAVxCmwFVLKoIwNK3mtnMNBlTyIZzQO4nUSZU6VQ1fkNFloWpD8KQBIMjd1oinV504O8dIzYfNIyT3VauSZV2k2Fhc6DSpn6CPag9C9g4o5AWudqcXUtB-OKraEBoX3pc/s1600/Cactus_intra_color.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkbfLD2shW1HMAVxCmwFVLKoIwNK3mtnMNBlTyIZzQO4nUSZU6VQ1fkNFloWpD8KQBIMjd1oinV504O8dIzYfNIyT3VauSZV2k2Fhc6DSpn6CPag9C9g4o5AWudqcXUtB-OKraEBoX3pc/s400/Cactus_intra_color.jpg" height="241" width="400" /></a></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
Fig. 4. Intra-frame compression efficiency on Cactus sequence </div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUHZNJK2SlRU-AJGrJlYBOSheFG6LI2XAvBtNvv5rfAXfgVdpKzqpulQBpMv72YQu6LHJws5qOJfqVIkiyR9nFmUvaTa_xqMjC5gMV78NsuHqnddEgJkE86sTr1cW8WF4GFTnL0gUqWsY/s1600/Traffic_intra_color.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUHZNJK2SlRU-AJGrJlYBOSheFG6LI2XAvBtNvv5rfAXfgVdpKzqpulQBpMv72YQu6LHJws5qOJfqVIkiyR9nFmUvaTa_xqMjC5gMV78NsuHqnddEgJkE86sTr1cW8WF4GFTnL0gUqWsY/s400/Traffic_intra_color.jpg" height="241" width="400" /></a></div>
<div style="text-align: center;">
Fig. 5. Intra-frame compression efficiency on Traffic sequence </div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaGVCpipslM2Z7DVMW7TK3ZM93hccXfkrw1d7S32R60KNSd2OY95NSvLWsj7UlQX3hz8tD2k15dECiLpXHZGmYws9LxMKZwiPp07nSo-dxyp_zSsdHeRxH_1kaWtZkuk57LmuaNQZZtS0/s1600/BDrill_inter_color.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaGVCpipslM2Z7DVMW7TK3ZM93hccXfkrw1d7S32R60KNSd2OY95NSvLWsj7UlQX3hz8tD2k15dECiLpXHZGmYws9LxMKZwiPp07nSo-dxyp_zSsdHeRxH_1kaWtZkuk57LmuaNQZZtS0/s400/BDrill_inter_color.jpg" height="241" width="400" /></a></div>
<div style="text-align: center;">
Fig. 4. Inter-frame compression efficiency on BasketballDrill sequence </div>
<br />
For inter-frame compression efficiency estimation HM encoder is tested in “Low-delay B – Main” configuration, JM encoder is tested in “Random Access B HE” configuration. VP9 and Daala encoders are configured manually. Key frame is set to be only the first in the coded sequence. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSf43UDx5zEvcPM9LPSJdLFCJOqOc9dRMRuxaDeoHxnJwfjI13JGzbtITDUL6VEKKqimtXzMAzCxl7Wng0Nx6BgMO2C_drTRGB5sc92RvXNNHKwio3bSSXvvpkLFDoKGELyQIt4IomB2s/s1600/Cactus_inter_color.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSf43UDx5zEvcPM9LPSJdLFCJOqOc9dRMRuxaDeoHxnJwfjI13JGzbtITDUL6VEKKqimtXzMAzCxl7Wng0Nx6BgMO2C_drTRGB5sc92RvXNNHKwio3bSSXvvpkLFDoKGELyQIt4IomB2s/s400/Cactus_inter_color.jpg" height="241" width="400" /></a></div>
<br />
<div style="text-align: center;">
Fig. 5. Inter-frame compression efficiency on Cactus </div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWmIV43itHgKvhzAQcrJ33oEk7BghCkNAJP4Plo6_N0aK97zNIbWauodLgmgb_0GAcZB-dByT7GyIYHSauXG62fcyR5FEy9KPEAKTgBncbNl9fzFJzPZnr78aoBqplFVnkTloEJnlfN34/s1600/Traffic_inter_color.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWmIV43itHgKvhzAQcrJ33oEk7BghCkNAJP4Plo6_N0aK97zNIbWauodLgmgb_0GAcZB-dByT7GyIYHSauXG62fcyR5FEy9KPEAKTgBncbNl9fzFJzPZnr78aoBqplFVnkTloEJnlfN34/s400/Traffic_inter_color.jpg" height="241" width="400" /></a></div>
<div style="text-align: center;">
Fig. 6. Inter-frame compression efficiency on Traffic </div>
<br />
<h3>
Conclusion </h3>
<a href="http://bulk2.destructoid.com/ul/217689-Andore.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="http://bulk2.destructoid.com/ul/217689-Andore.jpg" height="175" width="320" /></a>Experimental results obviously show that Daala video encoder is still rather far from being competitive. While HM provides 31% better compression rates in key-frame only mode and about 40% improvement in inter-coding mode compared to JM, VP9 is only 18% better than JM in both modes. It is worth mentioning that VP9 encoder doesn’t have great RDO model, so the VP9 standard itself may potentially have better performance. <br />
<h3>
References </h3>
<br />
1. Cisco Visual Networking Index: Global Mobile Data Traffic Forecast Update, 2012–2017. White paper. – Cisco, February 2013. <br />
2. Recommendation H.264: Advanced video coding for generic audiovisual services. - ITU, June 2011. <br />
3. Recommendation H.265: High efficiency video coding. - ITU, April 2013. <br />
4. Ponomarev O.G., Sharabayko M.P., Posdnyakov A.A. Analiz effektivnosty metodov i algoritmov videokompressii standarta H.265/HEVC // Elektrosvyaz. – 2013 – №. 3. – pp. 29-33 (in Russian). <br />
5. The WebM Project VP9 Video Codec. – URL: <a href="http://www.webmproject.org/vp9/">http://www.webmproject.org/vp9/</a> (14.10.2013). <br />
6. Xiph.org Daala video. – URL: <a href="https://xiph.org/daala/">https://xiph.org/daala/</a> (14.10.2013). <br />
7. Elecard Video analysis products. – URL: <a href="http://www.elecard.com/en/products/professional/analysis">http://www.elecard.com/en/products/professional/analysis</a> <br />
8. CodecVisa Cloud. – URL: <a href="http://codecvisa.codecian.com/">http://codecvisa.codecian.com/</a> (14.10.2013).<br />
9. JCT-VC test sequences. – URL: <a href="ftp://ftp.tnt.uni-hannover.de/testsequences">ftp://ftp.tnt.uni-hannover.de/testsequences</a> (14.10.2013).<br />
<br />
<h3>
See Also </h3>
<ul>
<li><a href="http://iphome.hhi.de/marpe/download/Performance_HEVC_VP9_X264_PCS_2013_preprint.pdf">Dan Grois, Detlev Marpe, Amit Mulayoff, Benaya Itzhaky and Ofer Hadar, Performance Comparison of H.265/MPEG-HEVC, VP9, and H.264/MPEG-AVC Encoders (Preprint) // 30th PICTURE CODING SYMPOSIUM 2013 (PCS 2013), San Jose, CA, USA, Dec 8-11, 2013</a></li>
<li><a href="http://dx.doi.org/10.1109/PCS.2013.6737765">Mukherjee, D., Bankoski, J., Grange, A., Jingning Han, Koleszar, J., Wilkins, P., Yaowu Xu, Bultje, R. The latest open-source video codec VP9 - An overview and preliminary results // Picture Coding Symposium (PCS), 2013, San Jose, CA, USA, Dec 8-11, 2013, pp.390 - 393</a><a href="http://dx.doi.org/10.1109/PCS.2013.6737765"></a></li>
</ul>
</div>
<div style="text-align: justify;">
<br /></div>
</div>
Unknownnoreply@blogger.com16