<div dir="ltr"><div><div><div>Hello,<br></div>The result of your multi-rate feature for x265 looks interesting.<br></div>I see that you speedup RDO by sharing depth from high quality to low quality encodings.<br></div><div>I also see that you compare multi-rate's efficiency against analysis-mode, encoding with CQP.<br></div>Is there any reason why you have not used ABR/CRF modes to compare results? I would imagine those are more commonly-used modes for encoding instead of fixed-QP encoding for real world use-cases<br><div><div><div><br><div><br></div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 10, 2016 at 6:42 PM, Schroeder, Damien <span dir="ltr"><<a href="mailto:damien.schroeder@tum.de" target="_blank">damien.schroeder@tum.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div link="#0563C1" vlink="#954F72" lang="DE">
<div>
<p class="MsoNormal"><span lang="EN-US">Hello,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">I recently implemented a „multi-rate“ feature for x265 based on the latest x265 version. The target application is adaptive HTTP streaming, where you need the same video encoded at different representations. Basically,
 if you need to encode the same video at different bitrates (different qualities), the multi-rate method allows you to pass some analysis info from a high-quality reference encoding to lower quality dependent encodings, which is then used to constrain the RDO
 (and thus, this leads to a speed-up).<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">This is similar to the analysis-mode option already existing in x265. However, this analysis-mode option is not targeted at encodings at different qualities (the rate-distortion performance is degraded if you use this
 option across different qualities).<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">I put my code on github for the moment: <a href="https://github.com/damjeux/multi-rate-x265" target="_blank">
https://github.com/damjeux/<wbr>multi-rate-x265</a><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">When mr-mode is 1, the CU structure of each CTU is stored in an external file called analysisData.bin<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">When mr-mode is 2, analysisData.bin is loaded and the loaded CU structure is used to constrain the RDO by stopping the recursion in the different compressInterCU and compressIntraCU functions in analysis.cpp<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">I have posted some results in a blog post:
<a href="https://damienschroeder.wordpress.com/2016/08/10/multi-rate-hevc-with-x265-for-adaptive-http-streaming/" target="_blank">
https://damienschroeder.<wbr>wordpress.com/2016/08/10/<wbr>multi-rate-hevc-with-x265-for-<wbr>adaptive-http-streaming/</a><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">The implemented method performs better for high rd-levels (--rd 5 and 6), because the compressInterCU_rd0_4() function already constrains the CTU quadtree by using a minDepth.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">For example, with --rd 6, I get an average reduction in encoding time of  10% with no rate-distortion performance decrease (BD-rate -0.002%) in the case where I encode four representations with fixed QP 22, 27, 32, and
 37.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">With crf 22, 27, 32, and 37, I get an average encoding time reduction of 19% and the rate-distortion performance is slightly degraded (BD-rate 0.9%).<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Not sure if there is interest to include such a feature in the official x265, but I thought I should mention this.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Best regards,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Damien Schroeder<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><i><span style="font-size:9.0pt">Dipl.-Ing. Damien Schroeder<span style="color:black"><u></u><u></u></span></span></i></p>
<p class="MsoNormal"><i><span style="font-size:9.0pt;color:black">Technische Universität München<u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span style="font-size:9.0pt">Lehrstuhl für Medientechnik<u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span style="font-size:9.0pt;color:black">Chair of Media Technology<u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span style="font-size:9.0pt;color:black">Arcisstr. 21, 80333 München<u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span style="font-size:9.0pt;color:black" lang="EN-US">Building 9, Room 1934<u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span style="font-size:9.0pt;color:black" lang="EN-US">Phone:</span></i><i><span style="font-size:9.0pt" lang="EN-US">    
<span style="color:black">+49 89 289 23507</span><u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span style="font-size:9.0pt;color:black" lang="EN-US">Fax:</span></i><i><span style="font-size:9.0pt" lang="EN-US">        
<span style="color:black">+49 89 289 23523</span><u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span style="font-size:9.0pt;color:black" lang="EN-US">Email:</span></i><i><span style="font-size:9.0pt" lang="EN-US">    
<span style="color:black"><a href="mailto:damien.schroeder@tum.de" target="_blank"><span style="color:blue">damien.schroeder@tum.de</span></a></span><u></u><u></u></span></i></p>
<p class="MsoNormal"><i><span style="font-size:9.0pt;color:black" lang="EN-US">Web:     
<a href="http://www.lmt.ei.tum.de/" target="_blank"><span style="color:blue">www.lmt.ei.tum.de</span></a><u></u><u></u></span></i></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
</div>
</div>

<br>______________________________<wbr>_________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org">x265-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/x265-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/<wbr>listinfo/x265-devel</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><span style="color:rgb(0,0,0)">Regards,<br>Kavitha</span></div></div></div></div>
</div>