新型解码器及解码方法

文档序号:7777029阅读:355来源:国知局
新型解码器及解码方法
【专利摘要】本发明提供一种新型解码器及解码方法,至少包括:DDR:用来缓存解码前的视频码流以及可变长解码引擎的输出数据;可变长解码引擎:用以解码从DDR中获取的视频码流并将解码后的数据输出到数据管理模块中;数据管理模块:将可变长解码引擎的解码后的数据输出到直接内存存取模块,并将从直接内存存取模块获取的数据输出;直接内存存取模块:将数据管理模块输出的可变长解码引擎的解码后的数据输出到DDR中,并将从DDR中获取的可变长解码引擎的解码后的数据输出到数据管理模块;本发明的直接内存存取模块通过增加一个读通道和一个写通道,即,增加很小的逻辑,而去掉了两个416X22单口SRAM、缓存参数的两组寄存器,如此,对比现有技术的设计芯片综合面积节省约80000um2,而芯片整体面积减少约6%,从而大大的降低了对应的芯片成本。
【专利说明】新型解码器及解码方法【技术领域】
[0001]本发明涉及一种视频多格式解码器中的数据缓存,尤其是指基于DDR缓存在多格式视频解码器中的应用。
【背景技术】
[0002]当前视频解码器在监控,数字广播以及手持设备等多领域有广泛的应用,而且多合一、包括多种视频编解码标准H.264/H.265、MPEG-2/MPEG-4、VC-1, AVS/AVS+等等格式解码器的需求越来越明显。当前的视频解码器普遍采用多级流水的架构:例如,熵解码(VLD)->运动向量预测(MVG)->反量化反变换(IQIT)->重构(RECON)->滤波(LF)类似架构,流水之间通过RAM乒乓做缓存,由此带来的问题就是:缓存RAM将占据一定的芯片面积,即造成芯片面积的浪费以及生产成本的上升。
[0003]即,通用技术是采用国际标准的视频编解码协议,将一幅视频图像分割成若干宏块单元,并经过一系列的压缩过程,将图像信息转变为一维的数据流,该数据流称为Elementary Stream(ES)。解码器在接收到该数据流(ES)后,采用同样的协议,将ES还原为原始图像。本文讨论的就是解码流程中的一个阶段。具体如附图1所示,当解码第一个宏块单元时,第一级流水线:可变长解码引擎通过DMA (Direct Memory Access,直接内存存取)从内存(DDR)读取ES流,并从中解析出宏块的语法元素(如宏块类型、量化参数、运动向量以及残差数据等等),并将残差数据保存在缓存模块的数据缓存A/B中,其它语法元素保存在缓存模块的参数缓存A/B中,第二级流水线的模块使用缓存模块中的数据进行标准的解码,最终完成图像的解码。缓存模块中包含一个控制逻辑,只有来自VLD的数据和参数全部传递完成,第二级流水线的模块才会启动。VLD先写数据到数据缓存A和参数缓存A,在第二级流水线的模块读取数据缓存A、参数缓存A时,VLD可以同时解码下一个宏块单元,并将数据和参数分别写入数据缓存B和参数缓存B,之后第二级流水线的模块在完成上一次对缓存模块的数据缓存A和参数缓存A的操作后,再从缓存模块的数据缓存B和参数缓存B中读取数据和参数,以此种顺序依次操作,完成解码过程。
[0004]在现有技术的这个设计中缓存模块中的数据缓存使用了两个单口 SRAM,规格为416X22,例如,在SMIC(中芯国际集成电路制造有限公司)55nm工艺下总面积为33801um2 ;而参数缓存使用了两组寄存单元,在SMIC55nm工艺下总面积为46764um2。即,上述的数据缓存和参数缓存分别占掉了整个解码芯片面积的2.5%和3.5%,从而造成芯片面积的浪费以及生产成本的上升。
[0005]综上所述,为了避免上述问题,一种新的、有效的新型解码器及解码方法的发明是势在必行的。

【发明内容】

[0006]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种新型解码器及解码方法,其能有效的利用现有的DDR存储资源,去掉现有技术的两个单口 SRAM以及缓存参数的两组寄存器,从而可以节省芯片面积,进而降低芯片成本。
[0007]为实现上述目的及其他相关目的,本发明的具体技术方案是:
[0008]一种新型解码器,其至少包括:
[0009]DDR:用来缓存解码前的视频码流以及可变长解码引擎的输出数据;
[0010]可变长解码引擎:用以解码从DDR中获取的视频码流并将解码后的数据输出到数据管理模块中;
[0011]数据管理模块:将可变长解码引擎的解码后的数据输出到直接内存存取模块,并将从直接内存存取模块获取的数据输出;
[0012]直接内存存取模块:将数据管理模块输出的可变长解码引擎的解码后的数据输出到DDR中,并将从DDR中获取的可变长解码引擎的解码后的数据输出到数据管理模块。
[0013]直接内存存取模块:包括写通道和读通道,分别用来支持可变长解码引擎对DDR的写操作和下一级流水线模块对DDR的读操作;
[0014]数据管理模块:包括地址管理部分和空满信号产生部分;所述地址管理部分管理DDR的四段地址空间;所述空满信号产生部分用来产生空信号、满信号,以分别告知可变长解码引擎和下一级流水线模块何时启动或停止。
[0015]所述的新型解码器,其所述直接内存存取模块将来自可变长解码引擎及其它模块对DDR数据的读请求传递给DDR,并将从DDR读回来的数据返回给发送请求的模块,对DDR的写请求:直接内存存取模块将写数据写入DDR。
[0016]所述的新型解码器,其所述空满信号产生部分包含两个计数器,计数范围[0,3],分别命名为读指针和写指针。
[0017]所述的新型解码器,其所述四段地址空间分别是地址空间1、2、3、4 ;待解码的第一个宏块单元的数据先写入地址空间1,参数写入地址空间2,第二个宏块单元的数据写入地址空间3,参数写入地址空间4,下一级流水线模块先从地址空间I和2读取第一个宏块单元的数据和参数,再从地址空间3和4读取第二个宏块单元的数据和参数,这样交替读取,完成解码过程。
[0018]所述的一种新型解码器的解码方法,其包括:
[0019]第一级流水线:可变长解码引擎通过数据管理模块将数据和参数直接传递给直接内存存取模块,并由直接内存存取模块将数据信息写入DDR中;
[0020]第二级流水线通过数据管理模块到直接内存存取模块再到DDR相应位置取回数据和参数,进行正常工作。
[0021]所述的解码方法,其具体包括如下步骤:
[0022]AXPU启动一幅图像的解码,并从DDR存放视频码流的位置读取码流,搜索图像的头信息,将解码得到的关于图像的帧结构、宽高信息、码流的起始位置等,通过总线传递给可变长解码引擎,从而启动可变长解码引擎工作;
[0023]B、可变长解码引擎在接收到CPU传递过来的参数信息后启动,在每次解码一个宏块单元前,可变长解码引擎都要先观测满信号的值,如果信号值为1,则可变长解码引擎暂停,直到满信号的值为0,可变长解码引擎恢复解码,并从DDR的相应地址空间读取码流,进行解码,将解码得到的数据和参数通过数据管理模块写入DDR的约定位置,写指针加I ;
[0024]C、第二级流水线模块在观察到数据管理模块的空信号的值为O时,向数据管理模块请求数据和参数,数据管理模块从DDR相应的地址空间处读取数据和参数,并传递给第二级流水线模块,进行相应的解码工作,数据管理模块的读指针加I ;
[0025]D、数据管理模块通过真值表产生空、满信号。
[0026]所述的解码方法,其所述数据管理模块包括地址管理部分,所述地址管理部分管理DDR的四段地址空间,所述四段地址空间分别是地址空间1、2、3、4 ;第一个宏块单元的数据先写入地址空间1,参数写入地址空间2,第二个宏块单元的数据写入地址空间3,参数写入地址空间4 ;第二级流水线模块先从地址空间I和2读取第一个宏块单元的数据和参数,再从地址空间3和4读取第二个宏块单元的数据和参数,这样交替读取,完成解码过程。
[0027]所述的解码方法,其所述数据管理模块包括空满信号产生部分,所述空满信号产生部分用以产生空信号、满信号所述空满信号产生部分包含两个计数器,计数范围[0,3],分别命名为读指针和写指针。
[0028]如上所述,本发明的新型解码器及解码方法,具有以下有益效果:本发明的直接内存存取模块DMA通过增加一个读通道和一个写通道,即,增加很小的逻辑,而去掉了两个416X22单口 SRAM、缓存参数的两组寄存器,如此,对比现有技术的设计芯片综合面积节省约80000um2,而芯片整体面积减少约6%,从而大大的降低了对应的芯片成本。
【专利附图】

【附图说明】
[0029]图1显示为现有技术的解码器的熵解码流水线模块与缓存模块的交互结构示意图。
[0030]图2显示为本发明新型解码器的流水线模块与缓存模块的交互结构示意图。【具体实施方式】
[0031]以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效。
[0032]请参阅图1至图2。须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
[0033]简言之,本发明的技术方案是对【背景技术】中的所述区域的设计架构的修改,如此可以省去以上的面积,达到降低整颗芯片的面积,有效地降低成本。例如:512MB容量的DDR的使用效率为50%,总线利用率约为20%,如此有充足的条件资源可以保证在不增加芯片面积的前提下,完成新的设计方法。即,完全去掉【背景技术】中的缓存模块,包括其数据缓存和参数缓存,第一级流水线:可变长解码引擎通过本发明的数据管理模块将数据和信息直接传递给DMA,并由DMA将数据信息写入DDR中,第二级流水线通过数据管理模块到DMA再到DDR相应位置取回数据和信息,进行正常工作。本发明的具体结构如下:
[0034]DMA模块:DMA (直接内存存取)模块为原有设计,将来自VLD及其它模块对DDR数据的读请求传递给DDR,并将从DDR读回来的数据返回给发送请求的模块,对DDR的写请求,DMA将写数据写入DDR,在本发明的设计中,DMA增加了两个端口,S卩:一个写通道和一个读通道,分别用来支持VLD的写操作和第二级流水线模块的读操作。
[0035]数据管理模块:该模块分为两部分:地址管理部分和空满信号产生部分;地址管理部分管理DDR的四段地址空间,分别是地址空间1、2、3、4 ;这些地址空间分别对应现有设计的数据缓存A、参数缓存A ;数据缓存B以及参数缓存B,第一个宏块单元的数据先写入地址空间1,参数写入地址空间2,第二个宏块单元的数据写入地址空间3,参数写入地址空间
4。第二级流水线模块先从地址空间I和2读取第一个宏块单元的数据和参数,再从地址空间3和4读取第二个宏块单元的数据和参数,这样交替读取,完成解码过程。空满信号产生部分用来产生空信号、满信号,目的是产生空、满两个信号分别告知可变长解码引擎和第二级流水线模块何时该启动或停止。所述的空满信号产生部分包含两个计数器,计数范围[0,3],分别命名为读指针和写指针,系统启动时,读、写指针均被复位为O。当VLD写一个宏块单元到数据管理模块时,写指针加1,当第二级流水线模块从数据管理模块读一个宏块单元时,读指针加I。表格I为空满信号对应的真值表:
[0036]
【权利要求】
1.一种新型解码器,其特征在于,至少包括: DDR:用来缓存解码前的视频码流以及可变长解码引擎的输出数据; 可变长解码引擎:用以解码从DDR中获取的视频码流并将解码后的数据输出到数据管理模块中; 数据管理模块:将可变长解码引擎的解码后的数据输出到直接内存存取模块,并将从直接内存存取模块获取的数据输出; 直接内存存取模块:将数据管理模块输出的可变长解码引擎的解码后的数据输出到DDR中,并将从DDR中获取的可变长解码引擎的解码后的数据输出到数据管理模块。
2.根据权利要求1所述的新型解码器,其特征在于,所述直接内存存取模块包括有写通道和读通道,分别用来支持对DDR的写操作和读操作。
3.根据权利要求1所述的新型解码器,其特征在于,所述数据管理模块包括地址管理部分和空满信号产生部分;所述地址管理部分管理DDR的四段地址空间;所述空满信号产生部分用以产生空信号、满信号。
4.根据权利要求1或2任一所述的新型解码器,其特征在于,所述直接内存存取模块将来自可变长解码引擎及其它模块对DDR数据的读请求传递给DDR,并将从DDR读回来的数据返回给发送请求的模块,对DDR的写请求:直接内存存取模块将写数据写入DDR。
5.根据权利要求3所述的新型解码器,其特征在于,所述四段地址空间分别是地址空间1、2、3、4 ;待解码的第一个宏块单元的数据先写入地址空间1,参数写入地址空间2,待解码的第二个宏块单元的数据写入地址空间3,参数写入地址空间4,读取时先从地址空间1和2读取第一个宏块单元的数据和参数,再从地址空间3和4读取第二个宏块单元的数据和参数,交替读取以完成解码过程。
6.根据权利要求3所述的新型解码器,其特征在于,所述空满信号产生部分包含两个计数器,计数范围[O,3],分别命名为读指针和写指针。
7.如权利要求1所述的一种新型解码器的解码方法,其特征在于,其包括: 第一级流水线:可变长解码引擎通过数据管理模块将数据和参数直接传递给直接内存存取模块,并由直接内存存取模块将数据信息写入DDR中; 第二级流水线通过数据管理模块到直接内存存取模块再到DDR相应位置取回数据和参数,进行正常工作。
8.如权利要求7所述的解码方法,其特征在于,其具体包括如下步骤: AXPU启动一幅图像的解码,并从DDR存放视频码流的位置读取码流,搜索图像的头信息,将解码得到的关于图像的帧结构、宽高信息、码流的起始位置等,通过总线传递给可变长解码引擎,从而启动可变长解码引擎工作; B、可变长解码引擎在接收到CPU传递过来的参数信息后启动,在每次解码一个宏块单元前,可变长解码引擎先观测数据管理模块的所述空满信号产生部分用的满信号的值,如果信号值为1,则可变长解码引擎暂停,直到满信号的值为O,可变长解码引擎恢复解码,并从DDR的相应地址空间读取码流,进行解码,将解码得到的数据和参数通过数据管理模块写入DDR的相应位置,写指针加1 ; C、第二级流水线模块在观察到数据管理模块的空信号的值为O时,向数据管理模块请求数据和参数,数据管理模块从DDR相应的地址空间处读取数据和参数,并传递给第二级流水线模块,进行相应的解码工作; D、数据管理模块通过真值表产生空、满信号。
9.如权利要求7或8任一所述的解码方法,其特征在于,所述数据管理模块包括地址管理部分,所述地址管理部分管理DDR的四段地址空间,所述四段地址空间分别是地址空间1、2、3、4 ;第一个宏块单元的数据先写入地址空间1,参数写入地址空间2,第二个宏块单元的数据写入地址空间3,参数写入地址空间4 ;第二级流水线模块先从地址空间I和2读取第一个宏块单元的数据和参数,再从地址空间3和4读取第二个宏块单元的数据和参数,这样交替读取,完成解码过程。
10.如权利要求7或8任一所述的解码方法,其特征在于,所述数据管理模块包括空满信号产生部分,所述空满信号产生部分用以产生空信号、满信号所述空满信号产生部分包含两个计数器,计 数范围[0,3],分别命名为读指针和写指针。
【文档编号】H04N19/44GK103596013SQ201310582431
【公开日】2014年2月19日 申请日期:2013年11月19日 优先权日:2013年11月19日
【发明者】钱宏达, 郑成根, 江显舟, 许集润, 王旭升, 柴亮, 刘志恒, 王峰, 管云峰, 孙军, 戴杨 申请人:上海高清数字科技产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1