来源:http://blog.sina.com.cn/s/blog_6e9aab3701015glh.html
关于HEVC很火的一篇blog: http://bbs.chinavideo.org/viewthread.php?tid=15708
首先说说,我今天所做的
第一是下载HEVC的参考软件HM
接着,进行编解码的测试,编解码均正常,如何操作,可参考最上所附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进行匹对,如果没有差别,则说明编解码已经匹配了。
只是这样一来的话,查看编解码匹配就麻烦很多了。
今天所学内容总结,以后会继续给出学习总结,留存