适用于h.264和hevc视频标准的cabac硬件解码器架构的制作方法

文档序号:7889551阅读:385来源:国知局
专利名称:适用于h.264和hevc视频标准的cabac硬件解码器架构的制作方法
技术领域
本发明属于数字视频信号编解码技术领域,具体涉及一种通用的CABAC解码器架构,同时适用于两种不同的视频编码标准H. 264和HEVC (High Efficiency Video coding)。
背景技术
H. 264/AVC(Advanced Video Coding)由国际电信组织(ITU)和运动图像专家组 (MPEG)联合制定而成的国际视频编码标准,目前已经在多媒体音视频领域得到了广泛的应用。H. 264/AVC中规定其熵编码可以采用两种方式下文自适应可变长编码(CAVLC)和上下文自适应算术编码(CABAC)。CAVLC计算复杂度较低,但是编码效率也较低。而CABAC具有较高的编码效率,同时它的计算复杂度也大大增加。HEVC(High Efficiency Video coding)是目前正在制定中的下一代视频编码标准。它同样是由ITU和MPEG联合制定。与H. 264视频标准相比,它在保证相同图像质量的前提下,可以将视频的码率降低50%。为了达到这一目的,它的计算复杂度也将上升3-4倍。 HEVC有望成为当前H. 264视频编码标准的继承者,在下一个5到10年的时间取代H. 264成为新的主流视频标准。为了提高编码效率,HEVC中的熵编码将只采用高效率的CABAC,不再使用CAVLC。通过对HEVC和H. 264视频编码标准中的CABAC算法进行分析、比较,得出这两个标准的异同点;然后针对相同的部分设计出可以复用的通用架构,从而可以大大降低硬件成本;对于不同的部分,分别针对每一个不同之处设计相应的硬件模块。

发明内容
本发明的目的在于提出一种既可以用于H. 264视频规范,也可以适用于HEVC视频规范的通用的CABAC硬件解码器架构。本发明涉及的CABAC硬件解码器架构,如图1所示,主要包含如下几个模块(1) 相邻块信息存储模块;(2)上下文模型存储模块,(3)算术解码器,(4) 二值化匹配器。本发明在此基础之上针对HEVC和H. 264视频规范中所提及的CABAC算法,分析这两个标准中 CABAC算法的异同点,对此架构进行改进。改进主要体现在两个方面
(1)片上存储单元的复用。相邻块信息和上下文模型需要在解码的时候实时更新,他们都需要存储在片上,一般在硬件设计中采用片上SRAM作为存储单元。HEVC和H. 264的 CABAC硬件解码器可以完全复用此SRAM,从而大大减少硬件资源。(2)组合逻辑运算单元的复用。HEVC和H. 264使用的算术解码器可以完全复用, 而二值化匹配器对于绝大部分码字都是相同的,只有很少几个码字需要独立的二值化匹配器,因此组合逻辑运算单元也可以得到很高程度的复用。对于两个标准中的不同之处,本发明也提出了相应的无法复用、需要独立设计的硬件模块。本发明的有益效果针对H. 264和HEVC这两种视频标准中所采用的CABAC算法上的共同之处,本发明描述了一种可以同时适用于这两种视频标准的CABAC硬件解码器架构。由于H. 264和HEVC视频标准中采用的CABAC算法有很大的相似之处,我们在此采用硬件资源复用的方法,可以有效降低硬件资源开销。


图1 :CABAC硬件解码器架构。图2 适用于H. 264和HEVC视频标准的通用CABAC硬件解码器架构。图3 通用的二值化匹配器。
具体实施例方式下面结合附图对本发明做进一步的描述。H. 264和HEVC 视频标准中都使用了 CABAC算法,这两种CABAC算法中使用的算术解码器是完全相同的,二值化匹配器也都支持一元二值化字符串、舍位一元二值化字符串、串联一元/k阶二值化字符串和固定长度二值化字符串。虽然H.沈4和HEVC所使用的上下文模型是完全不同的,在计算和更新上下文模型变量时需要用到的相邻块信息也有所不同,但是由于上下文模型和相邻块信息都存储在片上SRAM中,H. 264和HEVC仍然可以共用同一个SRAM存储单元;不同之处在于H. 264和HEVC视频标准中有一些特殊的语法元素, 其二值化匹配算法完全不同,此部分硬件单元无法共用,需要分别设计不同的硬件模块。本发明提及的CABAC硬件解码器主要包括四个通用模块相邻块信息存储单元, 上下文存储管理单元,算术编码解码器和二值化匹配器中的通用模块。整个CABAC解码器的硬件框图如图2所示。一、对于片上存储单元的复用,本发明主要采用以下两种方式
(1)HEVC和H. 264解码过程中需要用到的相邻块信息存储在共用的存储单元;在计算和更新上下文变量时需要用到相邻块信息,这些信息存储在片外存储器上,在使用时需要先读取并保持在片上SRAM。符合HEVC和H. 264标准的CABAC硬件解码器复用这部分的 SRAM存储单元;
(2)HEVC和H. 264标准中规定的上下文变量也可以保存在另一个共用的存储单元中; H. 264标准和HEVC标准中使用的每一个上下文变量都是7比特位宽,H. 264标准中使用了 1024个上下文变量,而HEVC的上下文变量个数少于1024,因此可以使用一个位宽为7bit、 深度为IOM的片上SRAM。符合HEVC和H. 264标准的CABAC硬件解码器也可以复用此SRAM。二、对于逻辑运算单元的复用,本发明采用以下两种方式
(1)算术编码解码器的复用。通过对HEVC和H.264标准中CABAC算法进行研究和分析,我们发现其核心的算术解码算法是完全相同的这两种算法使用相同的概率状态转移表,在计算二值化字符串时采用了同样的三种算法模式常规模式、旁路模式和终止模式。 因此,HEVC和H. 264标准可以共用同一个算术编码解码器;
(2)二值化匹配器中的通用模块。二值化匹配器的硬件框图如3所示,二值化匹配器内部可以分为三个部分H. 264和HEVC可共用的硬件模块、H. 264专用模块、HEVC专用模块。 其中的通用模块可以同时适用于H. 264和HEVC这两种标准。H. 264和HEVC可共用的硬件模块包含如下几个子模块一元二值化字符串匹配模块、舍位一元二值化字符串匹配模块、 串联一元/k阶二值化字符串匹配模块和固定长度二值化字符串匹配模块。对于这两种算法中存在的不同之处,本发明针对每一个不同之处分别设计相应的硬件模块。本发明中HEVC和H. 264中无法共用的硬件模块有如下4个
(1)H.264标准中规定的两个语法元素mb_type和sub_mb_type需要通过查询特定的表格来进行二值化字符串匹配;
(2)HEVC标准新增加了一种TruncatedRice 二值化类型,需要对此新增一种二值化硬件匹配模块;
(3)HEVC 中规定的三个语法兀素 coeff_abs_level_minus3> pred_type> rem_intra_ luma_pred_mode需要特定的硬件单元来进行二值化字符串匹配;
(4)H. 264和HEVC标准规定的码流语法元素结构完全不同,因此需要按照各自的标准设计相应的控制状态机。本发明通过分析两种CABAC算法的异同点,提出了一种高度复用硬件资源的架构,有效减少了硬件实现时所需的片上SRAM和组合逻辑单元,因而能够以较低成本同时支持H. 264和HEVC视频标准中规定的CABAC算法。
权利要求
1.适用于H.264和HEVC视频标准的CABAC硬件解码器架构,主要包含如下几个模块 (1)相邻块信息存取模块;(2)上下文模型储存模块,(3)算术解码器,(4) 二值化匹配器; 其特征在于(1)片上存储单元的复用需要在解码的时候实时更新的相邻块信息和上下文模型信息存储在片上,在硬件设计中采用片上SRAM作为存储单元;HEVC和H. 264的CABAC硬件解码器完全复用此SRAM ;(2)组合逻辑运算单元的复用=HEVC^PH.264使用的算术解码器完全复用,而二值化匹配器对于绝大部分码字都是相同的,只有很少几个码字需要独立的二值化匹配器,因此组合逻辑运算单元在很高程度上复用;对于HEVC和H. 264两个标准中的不同之处,也给出相应的无法复用、需要独立设计的硬件模块。
2.根据权利要求1所述的适用于H.264和HEVC视频标准的CABAC硬件解码器架构,其特征在于所述对于片上存储单元的复用,采用以下两种方式(1)HEVC和H. 264解码过程中需要用到的相邻块信息存储在共用的存储单元;在计算和更新上下文变量时需要用到相邻块信息,存储在片外存储器上,在使用时需要先读取并保持在片上SRAM ;符合HEVC和H. 264标准的CABAC硬件解码器复用这部分的SRAM存储单元;(2)HEVC和H.264标准中规定的上下文变量保存在另一个共用的存储单元中;H. 264标准和HEVC标准中使用的每一个上下文变量都是7比特位宽,H. 264标准中使用了 IOM个上下文变量,而HEVC的上下文变量个数少于1024,因此使用一个位宽为7bit、深度为IOM 的片上SRAM ;符合HEVC和H. 264标准的CABAC硬件解码器也复用此SRAM。
3.根据权利要求1所述的适用于H.264和HEVC视频标准的CABAC硬件解码器架构,其特征在于所述组合逻辑运算单元的复用,采用以下两种方式(1)算术编码解码器的复用HEVC和H.264标准可以共用同一个算术编码解码器;(2)二值化匹配器中的通用模块二值化匹配器内部分为三个部分H.264和HEVC可共用的硬件模块、H. 264专用模块、HEVC专用模块;其中的通用模块可以同时适用于H. 264和 HEVC这两种标准;H. 264和HEVC可共用的硬件模块包含如下几个子模块一元二值化字符串匹配模块、舍位一元二值化字符串匹配模块、串联一元/k阶二值化字符串匹配模块和固定长度二值化字符串匹配模块;对于这两种算法中存在的不同之处,针对每一个不同之处分别设计相应的硬件模块; HEVC和H. 264中无法共用的硬件模块有如下4个(1)H.264标准中规定的两个语法元素mb_type和sub_mb_type,通过查询特定的表格来进行二值化字符串匹配;(2)HEVC标准新增加一种TruncatedRice 二值化类型,对此新增一种二值化硬件匹配模块;(3)HEVC 中规定的三个语法兀素 coeff_abs_level_minus3> pred_type> rem_intra_ luma_pred_m0de,用特定的硬件单元来进行二值化字符串匹配;(4)H. 264和HEVC标准规定的码流语法元素结构完全不同,用各自的标准设计相应的控制状态机。
全文摘要
本发明属于数字视频信号编解码技术领域,具体为一种适用于H.264和HEVC视频标准的CABAC硬件解码器架构。本发明的CABAC硬件解码器架构中,HEVC和H.264可以复用如下四个硬件模块HEVC或H.264解码过程中用到的相邻块信息存储在共用的存储单元;HEVC和H.264标准中的上下文变量保存在另一个共用的存储单元中;HEVC和H.264标准共用同一个算术编码解码器;二值化匹配器中的通用模块。HEVC和H.264中无法共用的硬件单元包括如下两个部分某些二值化字符串匹配模块,H.264和HEVC按照各自的标准设计的控制状态机。本发明可以有效降低硬件资源开销。
文档编号H04N7/26GK102547294SQ20121003488
公开日2012年7月4日 申请日期2012年2月16日 优先权日2012年2月16日
发明者曾晓洋, 沈沙, 沈蔚炜, 范益波 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1