一种基于HEVC的低周期CABAC解码器及其解码方法技术

技术编号:18356685 阅读:30 留言:0更新日期:2018-07-02 10:48
本发明专利技术公开一种基于HEVC的低周期CABAC解码电路及其解码方法,包括:码流缓冲模块、上下文初始化模块、上下文存储模块、上下文索引生成模块、总控模块、算术解码模块、反二值化模块;所述总控模块包括:解码状态控制模块和残差预测模块;所述算术解码模块包括:常规算术解码模块、旁路算术解码模块。本发明专利技术能减少最后一个非零系数位置坐标的扫描周期和两种状态机之间频繁跳转产生的时钟周期,进而提高CABAC熵解码器的时钟利用率,从而提高解码器的速度,并保证解码数据的正确性。

【技术实现步骤摘要】
一种基于HEVC的低周期CABAC解码器及其解码方法
本专利技术属于视频编解码技术的熵解码
,具体的说是一种适用于HEVC的低周期CABAC解码器及其解码方法。
技术介绍
随着目前科学技术的不断发展,信息技术和计算机互联网分别在不同程度改变了人们的日常的生活。如今,人们对于高清视频并且占用空间小的要求越来越强烈,视频编解码就越显得重要。HEVC(HighEfficiencyVideoCoding,HEVC)是高效率视频编解码标准,是国际电信联盟电信标准分局的视频编码专家组和ISO/IEC的动态图像专家组联合提出的最新视频编码标准。CABAC(ContextAdaptiveBinaryArithmeticCoding,CABAC)是针对HEVC中主要档次的自适应二进制算术编码,是一种优良的数据压缩方法,是HEVC唯一的熵编解码方法,并且熵编解码在HEVC整体编解码过程中占据25%以上的时间开销。对于一般的视频序列,据统计残差变换系数熵编解码占整个熵编解码的60~86%,所以对残差变换系数熵解码优化很有必要。现有技术中,熵解码电路已经得到很大的提高,2016年孙皓的论文“HEVC码流解析与熵解码模块的研究与设计”对熵解码电路的研究比较详细,但还存在以下不足:1、在对残差解码的过程中,扫描最后一个非零系数位置坐标占用了很多周期数,降低了时钟利用率;2、码流解析状态机设计时,对算术解码中的常规解码和旁路解码使用两种状态机,两种状态机之间频繁的跳转浪费时钟周期,降低了熵解码器的速度;3、由于残差解码过程中的扫描算法和算术解码中的状态机的频繁跳转,导致整个CABAC解码电路浪费时间周期,降低了实际工作效率;
技术实现思路
本专利技术为克服现有HEVC标准中CABAC熵解码器时钟周期多、时钟利用率低、速度慢的问题,提出了一种基于HEVC标准的CABAC解码器及其解码方法,旨在减少熵解码过程中不必要的周期数,提高熵解码器的时钟利用率,进而提高解码器的速度,并保证解码数据的正确性。本专利技术为达到上述目的所采用的技术方案是:本专利技术一种基于HEVC的低周期CABAC解码电路的特点是包括:码流缓冲模块、上下文初始化模块、上下文存储模块、上下文索引生成模块、总控模块、算术解码模块、反二值化模块;所述总控模块包括:解码状态控制模块和残差预测模块;所述算术解码模块包括:常规算术解码模块、旁路算术解码模块;所述码流缓冲模块读取外部的码流存储器ROM中存储的码流并存储到自身的高位寄存器和低位寄存器中,并接收所述算术解码模块解码传递的码流长度比特数,从而根据所述码流长度比特数按照高位寄存器到低位寄存器的顺序交替地输出变长的码流给所述算术解码模块;所述上下文初始化模块根据HEVC标准协议中每个语法元素的初始化值和HEVC标准协议中的初始化方法得到上下文变量的大概率符号值表和概率状态索引表并发送给所述上下文存储模块进行存储;再将初始化完成标志发送给所述解码状态控制模块;所述残差预测模块根据HEVC标准协议中所定义的变换块,将所述变换块中的子变换块之间的坐标(xS,yS)分别用查找表的形式与不同扫描方式下的lastSubBlock值一一对应起来;将所述变换块中的子变换块的内部坐标(xC,yC)分别用查找表的形式与不同扫描方式下的lastScanPos值一一对应起来;所述解码状态控制模块在初始状态下接受所述初始化完成标志,并根据配置好的视频码流参数集的参数在码流顺序解析状态机中进行八个解码状态的转移,即在每个解码状态下,通过多路选择器将相对应的语法元素状态标识和反二值化模式发送给所述反二值化模块,并根据HEVC标准协议将常规算数解码模式所属的解码状态对应的信息参数和解码状态标识发送给所述上下文索引生成模块;若所述解码状态控制模块在解码状态中的预测状态下,则根据HEVC标准协议向所述残差预测模块发送不同扫描方式下的扫描类型索引scanIdx和变换块大小;所述上下文索引生成模块根据所接收的信息参数和解码状态标识,得到上下文索引偏移量ctxIdxOffset和上下文索引偏移量增量ctxInc,从而生成上下文索引ctxidx并发送给所述上下文存储模块;所述上下文存储模块在所述大概率符号值表和概率状态索引表中获取与所述上下文索引ctxidx相对应的大概率符号值valMPS和概率状态索引pstateIdx并发送给所述常规算术解码模块;所述反二值化模块根据所接收的语法元素状态标识判断当前算数解码模式,若当前算数解码模式为常规算数解码模式,则发送常规算数解码模式信号给所述算数解码模块;若当前算数解码模式为旁路算数解码模式,则发送旁路算数解码模式信号给所述算数解码模块;若当前算数解码模式为终止算数解码模式,则发送终止算数解码模式信号给所述算数解码模块;所述算数解码模块若接收所述常规算数解码模式信号,则将所述当前变长的码流传递给所述常规算术解码模块;若接收所述旁路算数解码模式信号,则将所述当前变长的码流传递给旁路算术解码模块;若接收所述终止算数解码模式信号,则将所述当前变长的码流传递给终止算术解码模块;所述常规算术解码模块根据所接收到的大概率符号值valMPS和概率状态索引pstateIdx对所述变长的码流进行解析,得到解码二进制值并传递给所述反二值化模块;同时根据HEVC标准协议更新与所述大概率符号值valMPS和概率状态索引pstateIdx相对应的上下文索引ctxidx并反馈给所述上下文存储模块;所述旁路算术解码模块或所述终止算数解码模块对所接收到的变长的码流进行解码,得到解码二进制值并传递给所述反二值化模块;所述反二值化模块根据所接收的语法元素状态标识和反二值化模式,将解码二进制值转换为当前解码状态下变长的码流的实际值,并发送给所述解码状态控制模块;若当前解码状态为预测状态,则将解码二进制值转换为最后一个非零系数的位置坐标(x,y),并发送给所述残差预测模块;所述解码状态控制模块接收所述当前解码状态下变长的码流的实际值得到下一个解码状态,从而进行八个解码状态的转移;所述残差预测模块在预测状态下根据所接收的最后一个非零系数的位置坐标(x,y)得到所述子变换块之间的坐标(xS,yS)和子变换块的内部坐标(xC,yC);再根据所述扫描类型索引scanIdx、变换块大小和坐标(xS,yS),选择相应扫描方式下的lastSubBlock值并发送给解码状态控制模块;同时根据所述扫描类型索引scanIdx、变换块大小和内部坐标(xC,yC),选择相应扫描方式下的lastScanPos值并发送给解码状态控制模块;所述解码状态控制模块在预测状态下根据所接收的相应扫描方式下的lastSubBlock值和lastScanPos值判断下一个解码状态,从而进行八个解码状态的转移。本专利技术一种基于HEVC的低周期CABAC解码方法的特点是按如下步骤进行:步骤1、将外部的码流存储器ROM中存储的码流存储到高位寄存器和低位寄存器中,并根据码流长度比特数按照高位寄存器到低位寄存器的顺序交替地输出变长的码流;步骤2、根据HEVC标准协议中每个语法元素的初始化值和HEVC标准协议中的初始化方法得到上下文变量的大概率符号值表和概率状态索引表,同时生成初始化完成标志;步骤3、根据HEVC标准协本文档来自技高网
...
一种基于HEVC的低周期CABAC解码器及其解码方法

【技术保护点】
1.一种基于HEVC的低周期CABAC解码电路,其特征是包括:码流缓冲模块、上下文初始化模块、上下文存储模块、上下文索引生成模块、总控模块、算术解码模块、反二值化模块;所述总控模块包括:解码状态控制模块和残差预测模块;所述算术解码模块包括:常规算术解码模块、旁路算术解码模块;所述码流缓冲模块读取外部的码流存储器ROM中存储的码流并存储到自身的高位寄存器和低位寄存器中,并接收所述算术解码模块解码传递的码流长度比特数,从而根据所述码流长度比特数按照高位寄存器到低位寄存器的顺序交替地输出变长的码流给所述算术解码模块;所述上下文初始化模块根据HEVC标准协议中每个语法元素的初始化值和HEVC标准协议中的初始化方法得到上下文变量的大概率符号值表和概率状态索引表并发送给所述上下文存储模块进行存储;再将初始化完成标志发送给所述解码状态控制模块;所述残差预测模块根据HEVC标准协议中所定义的变换块,将所述变换块中的子变换块之间的坐标(xS,yS)分别用查找表的形式与不同扫描方式下的lastSubBlock值一一对应起来;将所述变换块中的子变换块的内部坐标(xC,yC)分别用查找表的形式与不同扫描方式下的lastScanPos值一一对应起来;所述解码状态控制模块在初始状态下接受所述初始化完成标志,并根据配置好的视频码流参数集的参数在码流顺序解析状态机中进行八个解码状态的转移,即在每个解码状态下,通过多路选择器将相对应的语法元素状态标识和反二值化模式发送给所述反二值化模块,并根据HEVC标准协议将常规算数解码模式所属的解码状态对应的信息参数和解码状态标识发送给所述上下文索引生成模块;若所述解码状态控制模块在解码状态中的预测状态下,则根据HEVC标准协议向所述残差预测模块发送不同扫描方式下的扫描类型索引scanIdx和变换块大小;所述上下文索引生成模块根据所接收的信息参数和解码状态标识,得到上下文索引偏移量ctxIdxOffset和上下文索引偏移量增量ctxInc,从而生成上下文索引ctxidx并发送给所述上下文存储模块;所述上下文存储模块在所述大概率符号值表和概率状态索引表中获取与所述上下文索引ctxidx相对应的大概率符号值valMPS和概率状态索引pstateIdx并发送给所述常规算术解码模块;所述反二值化模块根据所接收的语法元素状态标识判断当前算数解码模式,若当前算数解码模式为常规算数解码模式,则发送常规算数解码模式信号给所述算数解码模块;若当前算数解码模式为旁路算数解码模式,则发送旁路算数解码模式信号给所述算数解码模块;若当前算数解码模式为终止算数解码模式,则发送终止算数解码模式信号给所述算数解码模块;所述算数解码模块若接收所述常规算数解码模式信号,则将所述当前变长的码流传递给所述常规算术解码模块;若接收所述旁路算数解码模式信号,则将所述当前变长的码流传递给旁路算术解码模块;若接收所述终止算数解码模式信号,则将所述当前变长的码流传递给终止算术解码模块;所述常规算术解码模块根据所接收到的大概率符号值valMPS和概率状态索引pstateIdx对所述变长的码流进行解析,得到解码二进制值并传递给所述反二值化模块;同时根据HEVC标准协议更新与所述大概率符号值valMPS和概率状态索引pstateIdx相对应的上下文索引ctxidx并反馈给所述上下文存储模块;所述旁路算术解码模块或所述终止算数解码模块对所接收到的变长的码流进行解码,得到解码二进制值并传递给所述反二值化模块;所述反二值化模块根据所接收的语法元素状态标识和反二值化模式,将解码二进制值转换为当前解码状态下变长的码流的实际值,并发送给所述解码状态控制模块;若当前解码状态为预测状态,则将解码二进制值转换为最后一个非零系数的位置坐标(x,y),并发送给所述残差预测模块;所述解码状态控制模块接收所述当前解码状态下变长的码流的实际值得到下一个解码状态,从而进行八个解码状态的转移;所述残差预测模块在预测状态下根据所接收的最后一个非零系数的位置坐标(x,y)得到所述子变换块之间的坐标(xS,yS)和子变换块的内部坐标(xC,yC);再根据所述扫描类型索引scanIdx、变换块大小和坐标(xS,yS),选择相应扫描方式下的lastSubBlock值并发送给解码状态控制模块;同时根据所述扫描类型索引scanIdx、变换块大小和内部坐标(xC,yC),选择相应扫描方式下的lastScanPos值并发送给解码状态控制模块;所述解码状态控制模块在预测状态下根据所接收的相应扫描方式下的lastSubBlock值和lastScanPos值判断下一个解码状态,从而进行八个解码状态的转移。...

【技术特征摘要】
1.一种基于HEVC的低周期CABAC解码电路,其特征是包括:码流缓冲模块、上下文初始化模块、上下文存储模块、上下文索引生成模块、总控模块、算术解码模块、反二值化模块;所述总控模块包括:解码状态控制模块和残差预测模块;所述算术解码模块包括:常规算术解码模块、旁路算术解码模块;所述码流缓冲模块读取外部的码流存储器ROM中存储的码流并存储到自身的高位寄存器和低位寄存器中,并接收所述算术解码模块解码传递的码流长度比特数,从而根据所述码流长度比特数按照高位寄存器到低位寄存器的顺序交替地输出变长的码流给所述算术解码模块;所述上下文初始化模块根据HEVC标准协议中每个语法元素的初始化值和HEVC标准协议中的初始化方法得到上下文变量的大概率符号值表和概率状态索引表并发送给所述上下文存储模块进行存储;再将初始化完成标志发送给所述解码状态控制模块;所述残差预测模块根据HEVC标准协议中所定义的变换块,将所述变换块中的子变换块之间的坐标(xS,yS)分别用查找表的形式与不同扫描方式下的lastSubBlock值一一对应起来;将所述变换块中的子变换块的内部坐标(xC,yC)分别用查找表的形式与不同扫描方式下的lastScanPos值一一对应起来;所述解码状态控制模块在初始状态下接受所述初始化完成标志,并根据配置好的视频码流参数集的参数在码流顺序解析状态机中进行八个解码状态的转移,即在每个解码状态下,通过多路选择器将相对应的语法元素状态标识和反二值化模式发送给所述反二值化模块,并根据HEVC标准协议将常规算数解码模式所属的解码状态对应的信息参数和解码状态标识发送给所述上下文索引生成模块;若所述解码状态控制模块在解码状态中的预测状态下,则根据HEVC标准协议向所述残差预测模块发送不同扫描方式下的扫描类型索引scanIdx和变换块大小;所述上下文索引生成模块根据所接收的信息参数和解码状态标识,得到上下文索引偏移量ctxIdxOffset和上下文索引偏移量增量ctxInc,从而生成上下文索引ctxidx并发送给所述上下文存储模块;所述上下文存储模块在所述大概率符号值表和概率状态索引表中获取与所述上下文索引ctxidx相对应的大概率符号值valMPS和概率状态索引pstateIdx并发送给所述常规算术解码模块;所述反二值化模块根据所接收的语法元素状态标识判断当前算数解码模式,若当前算数解码模式为常规算数解码模式,则发送常规算数解码模式信号给所述算数解码模块;若当前算数解码模式为旁路算数解码模式,则发送旁路算数解码模式信号给所述算数解码模块;若当前算数解码模式为终止算数解码模式,则发送终止算数解码模式信号给所述算数解码模块;所述算数解码模块若接收所述常规算数解码模式信号,则将所述当前变长的码流传递给所述常规算术解码模块;若接收所述旁路算数解码模式信号,则将所述当前变长的码流传递给旁路算术解码模块;若接收所述终止算数解码模式信号,则将所述当前变长的码流传递给终止算术解码模块;所述常规算术解码模块根据所接收到的大概率符号值valMPS和概率状态索引pstateIdx对所述变长的码流进行解析,得到解码二进制值并传递给所述反二值化模块;同时根据HEVC标准协议更新与所述大概率符号值valMPS和概率状态索引pstateIdx相对应的上下文索引ctxidx并反馈给所述上下文存储模块;所述旁路算术解码模块或所述终止算数解码模块对所接收到的变长的码流进行解码,得到解码二进制值并传递给所述反二值化模块;所述反二值化模块根据所接收的语法元素状态标识和反二值化模式,将解码二进制值转换为当前解码状态下变长的码流的实际值,并发送给所述解码状态控制模块;若当前解码状态为预测状态,则将解码二进制值转换为最后一个非零系数的位置坐标(x,y),并发送给所述残差预测模块;所述解码状态控制模块接收所述当前解码状态下变长的码流的实际值得到下一个...

【专利技术属性】
技术研发人员:杜高明刘冠宇马世碧张多利宋宇鲲王晓蕾尹勇生
申请(专利权)人:合肥工业大学合肥工大先行微电子技术有限公司
类型:发明
国别省市:安徽,34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1