设计HEVC/H.265硬件视频编码器难点

设计HEVC/H.265硬件视频编码器的和其他复杂的数字信号处理相比,视频编码标准本身并不复杂,在制定标准时候已经考虑到可实现性问题。

但视频编码有其自身的特点,主要特点在于单位时间需要处理的数据量十分庞大,尤其是编码画面越来越大的情况下。以1080P@30fps为例,即使每个像素点分配2个时钟的运算时间,也要超过100MHz的系统时钟才能实现实时编码,而在2个时钟内,要完成一个像素包括亮度和色度的所有编码运算,这就给硬件编码器的系统设计提出了很大的挑战。

而区别于以往的视频编码标准如H.264等,HEVC/H.265在算法的灵活度方面要大大加强了,最典型的是摒弃了以往以16×16固定编码块大小的做法,而是采用了更为灵活的编码块结构,这种灵活的结构也带来了编码器性能的差异化,一般来说硬件编码器会对编码工具集进行一定的取舍和优化,如何在保证性能不受大的影响的情况下减少硬件资源占用和系统运行时钟,成为硬件编码器的一大挑战,也是一大难点所在。

另外,HEVC/H.265编码摒弃了对CAVLC的支持,而只有CABAC一种码流编码方式。CABAC的硬件实现一直是视频编码的难点所在,H.265也不例外,CABAC比较难以并行化运算,需要很多的硬件设计技巧和方法,通常CABAC部分也成为制约整个硬件编码器速度性能的瓶颈所在,虽然,H.265支持多个CABAC模块并行计算,但同样也会引起系统设计的复杂性以及硬件资源增加等问题,需要综合进行考虑。

你可能感兴趣的:(H265,编解码,HEVC)