当前位置: 首页 > 专利查询>清华大学专利>正文

熵解码和变换流水线阶段的联合处理方法技术

技术编号:3633225 阅读:186 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及熵解码和变换流水线阶段的联合处理方法,属于信号处理中的视频和图像编解码技术领域,该方法包括如下的步骤:在变换的流水线阶段,完成某一个处理单元的熵解码系数的变换后,将该熵解码系数缓存区并行清零;与此同时,熵解码流水线阶段从视频码流中解码出下一个处理单元的非零系数,再写入已并行清零的熵解码系数缓存区。本发明专利技术将熵解码和变换的两个流水线阶段联合考虑,在变换的流水线阶段,对熵解码的解码缓存进行并行清零,大大减少熵解码流水线阶段所需的时钟周期数,从而增大了整个流水线结构的吞吐量。

【技术实现步骤摘要】

本专利技术属于信号处理中的视频和图像编解码
,特别涉及在编码解码过程中熵解码流水线阶段和变换流水线阶段的联合处理方法
技术介绍
在视频编解码器的设计中,一般采用多级流水线来完成视频码流的处理。处理的单元可以是宏块(16×16的象素块),也可以是子块(如8×8或4×4的象素块)。例如,在H.264/AVC中,由于单个流水线的复杂度增加,解码器需要分为更多的流水线阶段。在一个典型的解码器结构,一般可以分为五个流水线阶段,包括流水线阶段零基于上下文的熵解码(CAVLC);流水线阶段一整型逆变换IIT(Inverse Integer Transform)/读参考帧数据(Read_Ref);流水线阶段二插值和运动补偿;流水线阶段三去块效应滤波(Deblocking),流水线阶段四数据回写(WB)。在同一个时间段内,各个流水线阶段对不同的宏块进行解码,以提高解码的并行性。如图1所示,在T4时间段内,五个流水线阶段分别对宏块MB0,宏块MB1,宏块MB2,宏块MB3,宏块MB4进行并行解码。在多级流水线划分时,各个段流水线所需的始终周期数应该平衡,这样才能使整个多级流水线的吞吐量增大。在传统的实现技术中,CAVLD熵解码从视频码流中解码出非零系数的(run,level),其中run为零系数的游程,level为非零系数的值。根据扫描表,将各个系数依次输出到熵解码缓存中,其中在扫描表顺序上相邻的非零系数之间输出零的个数由run来决定。这导致,虽然非零系数很少,但是仍然需要N×N个时钟周期数来完成熵解码(其中N×N为变换块大小)。对于16×16的宏块,需要的时钟周期数为384。在对熵解码后的系数进行变换时,因为快速算法和并行计算,可以在较少的始终周期内完成。例如在H.264或AVS中,对于8×8变换,可以在16个始终周期内完成;对于4×4可以在4个始终周期内完成。解码一个16×16的宏块,可以在96个始终周期内完成。因此,以传统的实现技术,在熵解码的流水线阶段和相邻的变换的流水线阶段所需的时钟周期数不平衡,部分所需的始终周期数要大得多,从而制约整个多级流水线阶段的吞吐量。
技术实现思路
本专利技术的目的是为克服已有技术的不足之处,提出一种熵解码、变换流水线阶段的联合处理方法,将熵解码和变换的两个流水线阶段联合考虑,在变换的流水线阶段,对熵解码的解码缓存进行并行清零,大大减少熵解码流水线阶段所需的时钟周期数,从而增大了整个流水线结构的吞吐量。本专利技术提出的,包括如下的步骤在变换的流水线阶段,完成某一个处理单元的熵解码系数的变换后,将该熵解码系数缓存区并行清零;与此同时,熵解码流水线阶段从视频码流中解码出下一个处理单元的非零系数,再写入已并行清零的熵解码系数缓存区。本专利技术的特点及效果本专利技术减少熵解码流水线阶段的时钟周期数,使各个流水线阶段所需的始终周期数平衡,提高整个流水线的吞吐量。一般来说,非零系数的个数都比较少。因此这样可以大大的减少VLD阶段的始终周期数。在熵解码流水线阶段输入变换系数前,在变换的流水线阶段将熵解码的变换系数缓存清零(如果是寄存器阵列,采用同步复位清零,如果是存储器,通过并行写入进行清零)。在熵解码流水线阶段,系数解码所需的时钟周期数减少为非零系数的个数。通过使各个流水线阶段所需的始终周期数平衡,提高整个流水线的吞吐量。附图说明图1为H.264/AVC的解码器5级流水线结构示意图。具体实施例方式本专利技术提出的结合实施例详细说明如下本专利技术提出的,包括如下的步骤在变换的流水线阶段,完成某一个处理单元的熵解码系数的变换后,将该熵解码系数缓存区并行清零;与此同时,熵解码流水线阶段从视频码流中解码出下一个处理单元的非零系数,再写入已并行清零的熵解码系数缓存区。本专利技术中的所涉及的熵解码和变换流水线阶段的划分及熵解码和熵解码系数的变换具体处理方法均为常规的方法。实施例11)设置两个熵解码系数缓存区单元,该缓存区单元大小至少与处理单元的大小相同,并对两个熵解码系数缓存区单元并行清零(如果是寄存器阵列,采用同步复位清零,如果是存储器,通过并行写入进行清零);2)在熵解码流水线阶段,从视频码流中解码出第一个处理单元的非零系数,根据从视频码流中解码出的非零系数的(run,level)和扫描表,直接将非零系数存储到熵解码缓存区第一个单元中的相应位置(而不需要在输出的过程中依次的插入零);3)在变换的流水线阶段,完成熵解码缓存区第一个单元中的熵解码系数的变换后,将该熵解码系数缓存区第一个单元并行清零;与此同时,熵解码流水线阶段从视频码流中解码出第二个处理单元的非零系数,直接写入熵解码系数缓存区的第二个单元;4)对后面的处理单元,重复步骤3)。实施例21)设置一个熵解码系数缓存区单元,该缓存区单元大小至少与处理单元的大小相同,并对该熵解码系数缓存区单元并行清零。2)在熵解码流水线阶段,从视频码流中解码出第一个处理单元的非零系数,根据从视频码流中解码出的非零系数的(run,level)和扫描表,直接将非零系数存储到该熵解码缓存区单元中的相应位置(而不需要在输出的过程中依次的插入零);3)在变换的流水线阶段,完成该熵解码缓存区单元中的熵解码系数的变换后,将该熵解码系数缓存区单元并行清零(如果是寄存器阵列,采用同步复位清零,如果是存储器,通过并行写入进行清零);4)对后面的处理单元,重复步骤2)-3)。权利要求1.一种,其特征在于,该方法包括如下的步骤在变换的流水线阶段,完成某一个处理单元的熵解码系数的变换后,将该熵解码系数缓存区并行清零;与此同时,熵解码流水线阶段从视频码流中解码出下一个处理单元的非零系数,再写入已并行清零的熵解码系数缓存区。2.如权利要求1所述的,其特征在于,具体包括以下步骤1)设置两个熵解码系数缓存区单元,该缓存区单元大小至少与处理单元的大小相同,并对两个熵解码系数缓存区单元并行清零,2)在熵解码流水线阶段,从视频码流中解码出第一个处理单元的非零系数,根据从视频码流中解码出的非零系数的零系数的游程、非零系数的值和扫描表,直接将非零系数存储到熵解码缓存区第一个单元中的相应位置;3)在变换的流水线阶段,完成熵解码缓存区第一个单元中的熵解码系数的变换后,将该熵解码系数缓存区第一个单元并行清零;与此同时,熵解码流水线阶段从视频码流中解码出第二个处理单元的非零系数,直接写入熵解码系数缓存区的第二个单元;4)对后面的处理单元,重复步骤3)。3.如权利要求1所述的,其特征在于,具体包括以下步骤1)设置一个熵解码系数缓存区单元,该缓存区单元大小至少与处理单元的大小相同,并对该熵解码系数缓存区单元并行清零;2)在熵解码流水线阶段,从视频码流中解码出第一个处理单元的非零系数,根据从视频码流中解码出的非零系数的零系数的游程、非零系数的值和扫描表,直接将非零系数存储到该熵解码缓存区单元中的相应位置;3)在变换的流水线阶段,完成该熵解码缓存区单元中的熵解码系数的变换后,将该熵解码系数缓存区单元并行清零;4)对后面的处理单元,重复步骤2)-3)。4.如权利要求1、2或3所述的,其特征在于,所述并行清零为如果是寄存器阵列,采用同步复位清零,如果是存储器,通过并行写入进行清零。全文摘要本专利技术涉及,属于信号处理中的视频和图像编解码
,该本文档来自技高网
...

【技术保护点】
一种熵解码和变换流水线阶段的联合处理方法,其特征在于,该方法包括如下的步骤:在变换的流水线阶段,完成某一个处理单元的熵解码系数的变换后,将该熵解码系数缓存区并行清零;与此同时,熵解码流水线阶段从视频码流中解码出下一个处理单元的非零系 数,再写入已并行清零的熵解码系数缓存区。

【技术特征摘要】

【专利技术属性】
技术研发人员:何芸李宇瞿艳梅
申请(专利权)人:清华大学
类型:发明
国别省市:11[中国|北京]

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

1