[x265] multi-rate feature

Kavitha Sampath kavitha at multicorewareinc.com
Thu Aug 11 13:12:49 CEST 2016


Hello,
The result of your multi-rate feature for x265 looks interesting.
I see that you speedup RDO by sharing depth from high quality to low
quality encodings.
I also see that you compare multi-rate's efficiency against analysis-mode,
encoding with CQP.
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



On Wed, Aug 10, 2016 at 6:42 PM, Schroeder, Damien <damien.schroeder at tum.de>
wrote:

> Hello,
>
>
>
> 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).
>
>
>
> 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).
>
>
>
> I put my code on github for the moment: https://github.com/damjeux/
> multi-rate-x265
>
>
>
> When mr-mode is 1, the CU structure of each CTU is stored in an external
> file called analysisData.bin
>
> 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
>
>
>
> I have posted some results in a blog post: https://damienschroeder.
> wordpress.com/2016/08/10/multi-rate-hevc-with-x265-for-
> adaptive-http-streaming/
>
>
>
> 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.
>
>
>
> 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.
>
>
>
> 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%).
>
>
>
> Not sure if there is interest to include such a feature in the official
> x265, but I thought I should mention this.
>
>
>
> Best regards,
>
> Damien Schroeder
>
>
>
>
>
> *Dipl.-Ing. Damien Schroeder*
>
> *Technische Universität München*
>
> *Lehrstuhl für Medientechnik*
>
> *Chair of Media Technology*
>
> *Arcisstr. 21, 80333 München*
>
> *Building 9, Room 1934*
>
> *Phone:**     +49 89 289 23507*
>
> *Fax:**         +49 89 289 23523*
>
> *Email:**     damien.schroeder at tum.de <damien.schroeder at tum.de>*
>
> *Web:      www.lmt.ei.tum.de <http://www.lmt.ei.tum.de/>*
>
>
>
>
>
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
>
>


-- 
Regards,
Kavitha
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20160811/2b58ab09/attachment.html>


More information about the x265-devel mailing list