HM配置参数介绍(1)

来源:http://blog.sina.com.cn/s/blog_6e9aab3701015glh.html

关于HEVC很火的一篇blog: http://bbs.chinavideo.org/viewthread.php?tid=15708

首先说说,我今天所做的


第一是下载HEVC的参考软件HM


下载地址:WindowstortoiseSVN下载,SVN地址:https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/


接着,进行编解码的测试,编解码均正常,如何操作,可参考最上所附blog链接,有详细介绍


将下好的HM9.1解压后,发现配置文件有很多:encoder_intra_he10.cfg、encoder_intra_main.cfg、encoder_lowdelay_he10.cfg、encoder_lowdelay_main.cfg、encoder_lowdelay_P_he10.cfg、encoder_lowdelay_P_main.cfg、encoder_randomaccess_he10.cfg、encoder_randomaccess_main.cfg,下面会详细地介绍它们之间的差别。


首先encoder_xxx_he10.cfg与encoder_xxx_main.cfg之间的差别在于InternalBitDepth不同,main中该参数设置为8,he10中该参数设置为10. 当输入的码流是8bit采样时,若InternalBitDepth设置为10,则每一个样点通过乘以4(即左移两位)变成10bit采样点。当输入的码流是10bit采样时,若InternalBitDepth设置为8,那么每个采样点的值通过公式(x_2)/4进行下采样。


encoder_intra_xxx.cfg则是只包含I帧、不包含B帧和P帧的配置文件。


encoder_lowdelay_xxx.cfg和encode_lowdelya_P_xxx.cfg的差别在于,前者只包含I帧和B帧,而后者是只包含I帧和P帧。


encoder_lowdelay_xxx.cfg和encoder_randomaccess_xxx.cfg的差别在于,randomaccess里面的B帧是分层的B帧。


最后,介绍一个编解码匹配的问题,在解码后输出的信息中,无法看到是否编解码匹配了。关于这个问题,请教了一下组里的师兄,给出的说法是,在之前版本的HM中是有查看编解码匹配功能的,就是在输出的时候,unk是ok的就可以。


以前的版本中是把重构文件映射成一个MD32的字符串,然后把这个字符串写到码流中,解码后的文件也有一个同样的字符串,然后这两个字符串比较,如果一样 就显示ok,就是解码顺利,也就是匹配了。


但现在HM9.1的版本好像已经把这个功能去除掉了,所以,无法查看。因此,只能将编码后的rec.yuv文件和解码后的dec.yuv文件通过工具ultracompare进行匹对,如果没有差别,则说明编解码已经匹配了。


只是这样一来的话,查看编解码匹配就麻烦很多了。


今天所学内容总结,以后会继续给出学习总结,留存



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章