一种用于超高清视频帧率上变换的片上缓存系统的制作方法

文档序号:7812809阅读:321来源:国知局
一种用于超高清视频帧率上变换的片上缓存系统的制作方法
【专利摘要】本发明提供了一种用于超高清视频帧率上变换的片上缓存系统,包括访问请求控制模块、片上存储器阵列和数据对齐模块,其中:访问请求控制模块负责仲裁外部的数据读写请求,并将标示访问请求的运动矢量映射成数据在片上存储器阵列中的地址信息;片上存储器阵列用于在超高清帧率上变换过程中,缓存参考帧搜索窗内的像元数据,实时从片外存储器更新新的像元数据,并实现不同规格像元块的随机访存;数据对齐模块用于片上存储器阵列输出像元数据后,提取出有效的像元数据,并利用不同规格像元块之间的共性,对输出像元数据组织形式进行优化,实现逻辑复用。本发明能大幅提升系统的数据吞吐率,降低系统的平均访问延时和片外访存带宽。
【专利说明】一种用于超高清视频帧率上变换的片上缓存系统

【技术领域】
[0001]本发明涉及视频后处理领域,具体地,涉及一种用于超高清视频帧率上变换的片上缓存系统。

【背景技术】
[0002]近年来,人们对高品质视觉享受的主观需求和半导体技术快速发展的客观条件共同促进了超高清电视产业的蓬勃发展。然而,由于当前传输系统带宽的限制,超高清电视节目只能以较低的帧率传输。与此同时,大屏幕显示设备的刷新率又有较大的提升,视频帧率低于屏幕刷新率,这一失配直接导致图像出现拖影、停顿、模糊等现象,显示效果不佳。视频帧率上变换技术作为重要的视频后处理手段,可以有效的提升显示视频的帧率,在高刷新率的显示屏上提高图像的主观质量。
[0003]超高清视频帧率上变换IP核的输入是一组固定帧率的图像序列,经过一系列运动估计、矢量后处理和内插操作后,其输出是一组更高帧率的图像序列。其中运动估计、矢量后处理和内插模块基于逐级减小的分块,需使用大量来自前向参考帧和后向参考帧的像元数据。一方面,如果每次需要像元数据时才向外部存储设备发送数据请求,从发送请求到数据返回存在较长时间的延迟,将极大的影响整个电路的工作效率和系统频率;另一方面,不同访问请求所需要的像素信息存在一定的相关性和重复性,对相同数据的反复读取及多次长时间延迟将浪费更多时钟周期。


【发明内容】

[0004]针对现有技术中的缺陷,本发明的目的是提供一种用于超高清视频帧率上变换的片上缓存系统,可以实现对片上缓存的最优访问,以大幅降低平均访存延时和片外访存带宽。
[0005]为实现以上目的,本发明提供一种用于超高清视频帧率上变换的片上缓存系统,所述系统包括访问请求控制模块、片上存储器阵列和数据对齐模块,其中:
[0006]所述访问请求控制模块,用于在超高清视频帧率上变换系统中,接收来自片上其它模块及片外存储模块的访存请求,产生访存地址和读写使能信号,对缓存进行优化调度;
[0007]所述片上存储器阵列,耦接至所述访问请求模块,用于在超高清视频帧率上变换系统中,存储参考帧搜索窗内的像元数据,并根据访存地址和读写使能信号进行访存操作,包括:保存系统从片外实时更新的新数据;当进行基于块的运动估计、矢量细化和内插操作时,输出各操作对应的不同规格的像元块数据;
[0008]所述数据对齐模块,耦接至所述访问请求模块和所述片上存储器阵列,根据来自所述访问请求模块的控制信息,从所述片上存储器阵列输出像元数据中选择有效数据并按行对齐,并对不同规格像元块的输出形式重排,以实现电路复用。
[0009]优选地,所述访问请求控制模块按照写优先的策略响应访存请求,优先保证片外像元数据能够实时更新。
[0010]更优选地,所述访问请求控制模块当接收片外写请求后,读操作流水线停止运行,直至更新数据写进存储器阵列。
[0011]更优选地,所述访问请求控制模块根据运动估计、矢量后处理和内插三种不同层级的运动矢量产生访存地址和片选信号。
[0012]优选地,所述访问请求控制模块包括序列划分模块、坐标映射模块、图像边界限幅模块、搜索窗坐标计算模块和片选地址计算模块,其中:
[0013]所述序列划分模块,用于接收访问请求后,将访问请求需要的像元块拆分为若干更小的子块处理,以减轻模块内部带宽的压力;对每个子块按照设定的规则进行编号,该编号输出随着所述访问请求控制模块的流水线一直往后传递;
[0014]所述坐标映射模块,用于接收所述编号信息后,将访问请求所指的位置映射为图像中对应的坐标并输出;
[0015]所述图像边界限幅模块,用于接收所述坐标映射模块的坐标后,将超出图像边界的请求矢量进行边界限幅,并输出限幅后的请求矢量;
[0016]所述搜索窗坐标计算模块,用于接收所述图像边界限幅模块的限幅后的请求矢量后,将其映射为片上存储器阵列的逻辑坐标并限幅至搜索窗水平边界和竖直边界,同时将此逻辑坐标输出;
[0017]所述片选地址计算模块,用于接收所述搜索窗坐标计算模块的逻辑坐标后,根据该逻辑坐标和编号将片上存储器的逻辑坐标转化为逻辑地址及片选信号。
[0018]优选地,所述片上存储阵列,总是缓存当前块组的搜索窗内的像元数据,并维持搜索窗的范围。
[0019]更优选地,所述片上存储阵列在处理当前块组时,更新写入处理下一块组所需的新的像元数据,以减少重复数据的读取,减少片外带宽。
[0020]更优选地,所述片上存储器阵列,支持8*128bit数据同时更新;支持最大12*128bit数据同时读取;支持不同大小的像元块输出,包括运动估计3*33pixs/cc,矢量细化 5*17pixs/cc 以及内插 5*9pixs/cc。
[0021]优选地,所述数据对齐模块包括重排模块和数据校准模块,其中:
[0022]所述重排模块,用于接收所述片上存储器阵列的不同大小的像元块数据,对其进行重排,形成统一形式的像元块输出;
[0023]所述数据校准模块,用于接收所述重排模块的统一形式的像元块数据,定位该像元块左边界的像元在所述片上存储器阵列输出像元块中的位置,以此选择出有效数据。
[0024]与现有技术相比,本发明具有如下的有益效果:
[0025]1、实时更新像元数据,减少重复数据的写入,从而降低片外存储器带宽;
[0026]2、采取写优先的访问策略,保证系统高效运行;
[0027]3、支持可变大小的像素块的输出,提高系统吞吐,减小系统访存延时;
[0028]4、对不同输出重排,提高电路的复用,减少系统资源。
[0029]综上,本发明能大幅提升系统的数据吞吐率,降低系统的平均访问延时和片外访存带宽。

【专利附图】

【附图说明】
[0030]通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0031]图1为本发明一实施例系统框图;
[0032]图2为本发明一实施例访问请求控制模块结构框图;
[0033]图3为本发明一实施例片上存储器阵列存储单元A和B ;
[0034]图4为本发明一实施例存储器的存储单元组合方式示意图;
[0035]图5为本发明一实施例存储器的地址计算示意图;
[0036]图6为本发明一实施例数据重排示意图。

【具体实施方式】
[0037]下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
[0038]如图1所不,本实施例提供一种用于超闻清视频巾贞率上变换的片上缓存系统,包括访问请求控制模块、片上存储器阵列和数据对齐模块。
[0039]所述访问请求控制模块,用于在超高清视频帧率上变换系统中,接收来自片上其它模块及片外存储模块的访存请求,产生访存地址和读写使能信号,对缓存进行优化调度;
[0040]所述片上存储器阵列,耦接至所述访问请求模块,用于在超高清视频帧率上变换系统中,存储参考帧搜索窗内的像元数据,并根据访存地址和读写使能信号进行访存操作,包括:保存系统从片外实时更新的新数据;当进行基于块的运动估计、矢量细化和内插操作时,输出各操作对应的不同规格的像元块数据;
[0041]所述数据对齐模块,耦接至所述访问请求模块和所述片上存储器阵列,根据来自所述访问请求模块的控制信息,从所述片上存储器阵列输出像元数据中选择有效数据并按行对齐,并对不同规格像元块的输出形式重排,以实现电路复用。
[0042]如图2所示,在一实施例中,所述访问请求控制模块,包括序列划分模块、坐标映射模块、图像边界限幅模块、搜索窗坐标计算模块和片选地址计算模块,其中:
[0043]所述序列划分模块,用于接收访问请求后,将访问请求需要的像元块拆分为若干更小的子块处理,以减轻模块内部带宽的压力;具体地,对每个子块按照规则进行编号,如将运动估计访问的33*33大小的像元块分为重叠的3*33的子块,按顺序0_15编号,该编号输出随着该访问请求控制模块的流水线一直往后传递。
[0044]所述坐标映射模块,用于接收所述编号信息后,将访问请求所指的位置映射为图像中对应的坐标并输出;该坐标由起始点坐标、访问矢量及子块编号对应的偏移量相加得到。
[0045]所述图像边界限幅模块,用于接收所述坐标后,将超出图像边界的请求矢量进行边界限幅,并输出限幅后的坐标;
[0046]所述搜索窗坐标计算模块,用于接收所述限幅后的坐标后,将其映射为片上存储器的逻辑坐标并限幅至搜索窗水平边界和竖直边界,同时将此逻辑坐标输出;
[0047]所述片选地址计算模块,用于接收所述逻辑坐标后,根据该逻辑坐标和编号将片上存储器的逻辑坐标转化为逻辑地址及片选信号。
[0048]本实施例中,所述访问请求控制模块,用于在帧率上变换过程中,根据写优先的原则接收读写请求。外存的数据更新请求是随机的,当其有效时,读流水线停止,响应写请求。
[0049]本实施例中,所述访问请求控制模块,在向片上RAM阵列发送数据请求的同时会将有效数据在输出字中的偏移预先传递给数据对齐模块,该偏移量用于表征所需像素块左边界的像素在RAM阵列输出字块中的位置。
[0050]本实施例中,所述片上存储器阵列,用于在帧率上变换过程中,存储搜索窗内的像元数据,包括前后参考帧的亮度、色度数据。
[0051]本发明实例中,作为一种可实施方式,所述片上存储器阵列满足以下数据吞吐要求:在运动估计阶段,33*33大小的像元块将被分为3*33的子块,子块数目共16个;每次运动估计操作单个周期内需要读取3行数据,每行数据包含33个像素;在矢量细化阶段,17*17大小的像素块将被分为1*17和4*17的子块,子块数目共5个;每次矢量细化操作单个周期内需要读取4行数据,每行数据包含17个像素;在内插操作阶段,9*9大小的像元块将被分为5*9的子块,子块数目共2个;每次内插操作单个周期内需要读取5行数据,每行数据包含9个像素。为了同时满足以上数据读取方面和数据更新方面的需求并尽量减少RAM硬件资源消耗,本发明在图像和物理存储间建立了如下映射,如图3所示:每帧图像划分为宽度为4个128bit字,高度为4行的像素块;使用16片位宽为128bit的RAM构成高度为4行的存储单元,每行由4片RAM拼成512bit ;每个缓存单元对应存储一个像素块的像素信息;为了满足同时读取5行像素信息的需求,竖直方向相邻存储单元偏移2个字。如果将存储单元摆放在一帧图像上以表示上述映射关系,则水平方向上,A(或者B)重复排列;竖直方向上,A与B交替排列。如图4所示黑色框中分别给出了满足运动估计、矢量细化和内插操作读请求的可能片选组合,其中行数为3、4、5的黑色框分别代表运动估计、矢量细化和内插操作对应的片选组合。
[0052]本发明实例中,作为一种可实施方式,同一像元的亮度和色度信息保存在相同的RAM里,共有前后向共32片RAM ;前向或后向的16片RAM共用同一读写地址。存储单元的地址映射如图5所示。
[0053]本发明实例中,作为一种可实施方式,如图4所示,运动估计、矢量细化和内插读取请求对应的片选及输出为:
[0054]运动估计:4-15号RAM片选信号拉高,输出3*4*128bit的像元数据;
[0055]矢量细化:1、2、3、5、6、7、9、10、11、12、13、15号RAM片选信号拉高,输出4*3* 128bit的像元数据;
[0056]内插:0、3、4、5、6、7、9、10、13、14,输出5*2*128bit 像元数据。
[0057]本实施例中,所述数据对齐模块包括重排模块和数据校准模块,其中:
[0058]所述重排模块,用于接收所述片上存储器阵列的不同大小的像元块数据,对其进行重排,形成统一形式的像元块输出;
[0059]所述数据校准模块,用于接收所述重排模块的统一形式的像元块数据,定位该像元块左边界的像元在所述片上存储器阵列输出像元块中的位置,以此选择出有效数据。
[0060]在一实施例中,所述数据对齐模块,根据访问请求控制模块传输的偏移量信息,在输出像元块中定位到有效像素块的左边界,然后按照已知像素块的大小找到有效像素块的右边界并最终将有效像素数据提取出来。
[0061]进一步地,由于每次访问请求运动矢量各不相同,因此该偏移量完全随机。为了尽可能复用电路结构,首先对不同操作阶段的像元块数据进行了重排,重排的过程如图6所示。对于运动估计阶段的4*3*128bit像元块数据,首先重排为3*4*128bit像元块,进一步地重排为5*2*128bit像元块;对于运动细化阶段的3*4*128bit像元块数据,重排为5*2* 128bit像元块;对于内插阶段的5*2* 128bit像元块,直接输出。
[0062]进一步地,所述数据对齐模块在图6所示的最终输出形式上选择出有效数据。
[0063]本实施例的一种用于超高清视频帧率上变换的片上缓存系统,高效响应读写请求,实时更新数据以保持搜索窗,并能输出不同大小像元块,实现片上缓存的最优调度和高吞吐率,以大幅降低平均访存延时和片外访存带宽。
[0064]以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
【权利要求】
1.一种用于超高清视频帧率上变换的片上缓存系统,其特征在于,所述系统包括访问请求控制模块、片上存储器阵列和数据对齐模块,其中: 所述访问请求控制模块,用于在超高清视频帧率上变换系统中接收来自片上其它模块及片外存储模块的访存请求,产生访存地址和读写使能信号,对缓存进行优化调度; 所述片上存储器阵列,耦接至所述访问请求模块,用于在超高清视频帧率上变换系统中存储参考帧搜索窗内的像元数据,并根据访存地址和读写使能信号进行访存操作,包括:保存系统从片外实时更新的新数据;当进行基于块的运动估计、矢量细化和内插操作时,输出各操作对应的不同规格的像元块数据; 所述数据对齐模块,耦接至所述访问请求模块和所述片上存储器阵列,根据来自所述访问请求模块的控制信息,从所述片上存储器阵列输出像元数据中选择有效数据并按行对齐,并对不同规格像元块的输出形式重排,以实现电路复用。
2.根据权利要求1所述的一种用于超高清视频帧率上变换的片上缓存系统,其特征在于,所述访问请求控制模块按照写优先的策略响应访存请求,优先保证片外像元数据能够实时更新。
3.根据权利要求1所述的一种用于超高清视频帧率上变换的片上缓存系统,其特征在于,所述访问请求控制模块当接收片外写请求后,读操作流水线停止运行,直至更新数据写进存储器阵列。
4.根据权利要求1所述的一种用于超高清视频帧率上变换的片上缓存系统,其特征在于,所述访问请求控制模块根据运动估计、矢量后处理和内插三种不同层级的运动矢量产生访存地址和片选信号。
5.根据权利要求1-4任一项所述的一种用于超高清视频帧率上变换的片上缓存系统,其特征在于,所述访问请求控制模块包括序列划分模块、坐标映射模块、图像边界限幅模块、搜索窗坐标计算模块和片选地址计算模块,其中: 所述序列划分模块,用于接收访问请求后,将访问请求需要的像元块拆分为若干更小的子块处理,以减轻模块内部带宽的压力;对每个子块按照设定的规则进行编号,该编号输出随着所述访问请求控制模块的流水线一直往后传递; 所述坐标映射模块,用于接收所述编号信息后,将访问请求所指的位置映射为图像中对应的坐标并输出; 所述图像边界限幅模块,用于接收所述坐标映射模块的坐标后,将超出图像边界的请求矢量进行边界限幅,并输出限幅后的请求矢量; 所述搜索窗坐标计算模块,用于接收所述图像边界限幅模块的限幅后的请求矢量后,将其映射为片上存储器阵列的逻辑坐标并限幅至搜索窗水平边界和竖直边界,同时将此逻辑坐标输出; 所述片选地址计算模块,用于接收所述搜索窗坐标计算模块的逻辑坐标后,根据该逻辑坐标和编号将片上存储器的逻辑坐标转化为逻辑地址及片选信号。
6.根据权利要求1-4任一项所述的一种用于超高清视频帧率上变换的片上缓存系统,其特征在于,所述片上存储阵列,总是缓存当前块组的搜索窗内的像元数据,并维持搜索窗的范围。
7.根据权利要求6所述的一种用于超高清视频帧率上变换的片上缓存系统,其特征在于,所述片上存储阵列在处理当前块组时,更新写入处理下一块组所需的新的像元数据,以减少重复数据的读取,减少片外带宽。
8.根据权利要求7所述的一种用于超高清视频帧率上变换的片上缓存系统,其特征在于,所述片上存储器阵列,支持8*128bit数据同时更新;支持最大12*128bit数据同时读取;支持不同大小的像元块输出,包括运动估计3*33pixs/cc,矢量细化5*17pixs/cc以及内插 5*9pixs/CC0
9.根据权利要求1-4任一项所述的一种用于超高清视频帧率上变换的片上缓存系统,其特征在于,所述数据对齐模块包括重排模块和数据校准模块,其中: 所述重排模块,用于接收所述片上存储器阵列的不同大小的像元块数据,对其进行重排,形成统一形式的像兀块输出; 所述数据校准模块,用于接收所述重排模块的统一形式的像元块数据,定位该像元块左边界的像元在所述片上存储器阵列输出像元块中的位置,以此选择出有效数据。
10.根据权利要求9所述的一种用于超高清视频帧率上变换的片上缓存系统,其特征在于,所述数据对齐模块,根据访问请求控制模块传输的偏移量信息,在输出像元块中定位到有效像素块的左边界,然后按照已知像素块的大小找到有效像素块的右边界并最终将有效像素数据提取出来;所述偏移量完全随机。
【文档编号】H04N19/85GK104268098SQ201410432183
【公开日】2015年1月7日 申请日期:2014年8月28日 优先权日:2014年8月28日
【发明者】高志勇, 陈立, 张小云, 郭勇, 薛培培 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1