一种在视频解码中减少内存带宽使用的方法技术

技术编号:13510531 阅读:46 留言:0更新日期:2016-08-11 12:52
本发明专利技术公开了一种在视频解码中减少内存带宽使用的方法,包括如下步骤:S1,根据解码需要申请内存Xi,并传输给解码库;S2,解码库获取对应内存X1的参考帧Fn1,根据参考帧Fn1在内存X1上记录有效图像显示区域;显示模块按照所述有效图像显示区域对解码后的图像进行显示;S3,解码库获取对应内存X(k‑1)的参考帧Fn(k‑1),根据Fn(k‑1)进行解码,将生成的参考帧Fnk存储到内存Xk;根据参考帧Fnk在内存Xk上记录有效图像显示区域;显示模块按照内存Xk中标记的有效图像显示区域对解码的视频图像进行显示;S4,重复步骤S3,直至视频中所有帧均解码完毕。该方法将参考帧使用的内存由显示模块直接管理,大大提高了系统的并发解码性能。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了,包括如下步骤:S1,根据解码需要申请内存Xi,并传输给解码库;S2,解码库获取对应内存X1的参考帧Fn1,根据参考帧Fn1在内存X1上记录有效图像显示区域;显示模块按照所述有效图像显示区域对解码后的图像进行显示;S3,解码库获取对应内存X(k?1)的参考帧Fn(k?1),根据Fn(k?1)进行解码,将生成的参考帧Fnk存储到内存Xk;根据参考帧Fnk在内存Xk上记录有效图像显示区域;显示模块按照内存Xk中标记的有效图像显示区域对解码的视频图像进行显示;S4,重复步骤S3,直至视频中所有帧均解码完毕。该方法将参考帧使用的内存由显示模块直接管理,大大提高了系统的并发解码性能。【专利说明】
本专利技术涉及一种减少内存带宽使用的方法,尤其涉及,属于视频解码

技术介绍
随着网络技术的不断发展,有线网络和移动通信网络的数据传输速度越来越快,使得在视频播放的过程中,视频解码越来越受到人们的重视。视频解码是一个对数字视频进行解压缩的过程,在这个过程中需要进行大量的内存读写操作。以当前主流的H264编码标准为例,对视频解码中涉及内存读写的过程进行说明。如图1所示,现有技术的解码显示包括以下处理过程:解码库首先申请存储参考帧F’n的内存;然后解码库进行若干次内存读写操作,获得参考帧F’n;由于解码图像都是以宏块为单位进行的,在H264的解码过程中,一个宏块需要依赖于宏块左边和上边的图像来获得预测值,这就会导致解码图像边缘的宏块时,搜索用于预测的宏块超出图像的有效范围。因此解码器在申请参考帧内存时就会预先多申请一部分空间,将待解码的图像预先添加一个宏块宽度的边的宽度,以保证宏块搜索的范围不超过参考帧,确保解码的正确性。所以在解码后需要将参考帧去边后存入内存生成解码图像;之后解码库删除不再使用的参考帧,将内存中的解码图像拷贝到显示模块进行显示。其中,解码过程涉及到将参考帧去边及拷贝到显示模块的内存读写操作,上述两个操作需要对图像进行两次内存拷贝,每次拷贝都需要复制图像有效区域对应的内存。此外,图1获取的参考帧的生成过程也需要进行大量内存读写操作,进一步增加了内存宽带的使用量。然而,随着网络技术的不断发展,视频解码数量逐渐增加,并发解码能力逐渐受到人们的重视。内存带宽使用过大,限制了系统并发多路解码时的最大路数。当一个会议系统需要同时解码多路视频时,内存带宽会成为提高解码路数的瓶颈。
技术实现思路
针对现有技术的不足,本专利技术所要解决的技术问题在于提供。为实现上述专利技术目的,本专利技术采用下述的技术方案:—种在视频解码中减少内存带宽使用的方法,包括如下步骤:SI,根据解码需要申请内存Xi,并传输给解码库;其中,i = I,2,3……N,N为正整数;S2,解码库获取对应内存Xl的参考帧Fnl,根据参考帧Fnl在内存Xl上记录有效图像显示区域;显示模块按照所述有效图像显示区域对解码后的图像进行显示;S3,解码库获取对应内存x(k-l)的参考帧Fn(k-l),根据Fn(k-l)进行解码,将生成的参考帧Fnk存储到内存Xk;根据参考帧Fnk在内存Xk上记录有效图像显示区域;显示模块按照内存Xk中标记的有效图像显示区域对解码的视频图像进行显示,其中,k=2,3,4……N,N为正整数;S4,重复步骤S3,直至视频中所有帧均解码完毕。其中较优地,在步骤SI中,所述内存Xi的大小为待解码的视频图像在长宽方向各添加一个边之后的大小;其中,所述边为一个宏块宽度。其中较优地,在步骤S2中,内存Xl上记录的有效图像显示区域为去除待解码的视频图像在长宽方向各添加的一个边之后,视频图像所占内存组成的区域;其中,所述边为一个宏块宽度。其中较优地,在步骤S3中,根据Fn(k_l)进行解码,将生成的参考帧Fnk存储到内存Xk,包括如下步骤:S31,读取内存中待解码的码流,进行熵解码,得到量化系数;S32,将所述量化系数进行反量化,将反量化信息存入内存;S33,将反量化信息作为输入进行反变换,将生成的残差存入内存;S34,根据运动矢量从内存读取帧内或帧间的参考帧对应区;将残差和预测值相加生成重建帧,存入内存;S35,从内存中读取重建帧进行环路滤波后回写到内存;S36,重复步骤S31?S35,直至该内存Xk所有待解码的码流解码完成,生成参考帧Fnk0其中较优地,在步骤S3中,生成参考帧Fnk后,解码库按照码流中的信息解除对参考帧Fn( k-Ι)对应的内存X( k-Ι)的解码占用。其中较优地,显示模块回收解除解码占用的内存,用于下次解码库的解码占用。本专利技术所提供的在视频解码中减少内存带宽使用的方法,通过将参考帧解码后生成的视频图像使用的内存改由显示模块直接管理,仅在内存中标记参考帧内的图像区域而不再需要将参考帧进行去边复制,也不需要将图像数据拷贝到显示模块,每次解码显示过程节省了 2次解码图像内存大小的拷贝操作,节省了内存宽带使用量,大大提高了系统的并发解码性能。【附图说明】图1为现有技术中,对视频编码进行解码显示的流程图;图2为本专利技术所提供的在视频解码中减少内存带宽使用的方法流程图;图3为本专利技术所提供的减少内存带宽使用的方法中,解码生成参考帧的流程图。【具体实施方式】下面结合附图和具体实施例对本专利技术的
技术实现思路
进行详细具体的说明。如图2所示,本专利技术所提供的在视频解码中减少内存带宽使用的方法,包括如下步骤:首先,显示模块根据解码需要申请内存Xi(i = l,2,3……N,N为正整数)并传输给解码库,供解码库解码占用;其次,解码库获取对应内存Xl的参考帧FnI,根据参考帧FnI在内存Xl上记录有效图像显示区域;显示模块按照内存Xl中标记的有效图像显示区域对解码后的图像进行显示;然后,解码库获取对应内存X(k-l)的参考帧Fn(k-l),根据Fn(k-l)进行解码,将解码后的图像即参考帧Fnk存储到内存Xk;根据参考帧Fnk在内存Xk上记录有效图像显示区域;显示模块按照内存Xk中标记的有效图像显示区域对解码的视频图像进行显示,其中,k = 2,3,4……N,N为正整数。重复上述步骤,直至视频中所有帧解码完成。下面对这一过程做详细具体的说明。SI,显示模块根据解码需要申请内存Xi(i = l,2,3……N,N为正整数)并传输给解码库,供解码库解码占用。视频解码完成之后需要对解码后的图像(解码图像)进行显示,在本专利技术所提供的实施例中,直接在显示模块中根据解码需要申请内存XKi = I,2,3……N,N为正整数),用于显示解码后的图像。并将内存Xi传输给解码库,解码库在内存Xi上标记解码占用位,表示为解码占用,用来保存参考帧Fni解码后的视频图像。例如:当前解码的是Fn2,显示模块根据解码需要申请内存X2。S2,解码库获取对应内存Xl的参考帧Fnl,根据参考帧Fnl在内存Xl上记录有效图像显示区域;显示模块按照内存Xl中标记的有效图像显示区域对解码后的图像进行显示。由于解码图像都是以宏块为单位进行的,在H264的解码过程中,一个宏块需要依赖于宏块左边和上边的图像来获得预测值,这就会导致解码图像边缘的宏块时,搜索用于预测的宏块超出图像的有效范围。因此解码器在申请参考帧内存时就会预先多申请一部分空间,将待解码的图像预先添加一个边,该边的宽度本文档来自技高网
...

【技术保护点】
一种在视频解码中减少内存带宽使用的方法,其特征在于包括如下步骤:S1,根据解码需要申请内存Xi,并传输给解码库;其中,i=1,2,3……N,N为正整数;S2,解码库获取对应内存X1的参考帧Fn1,根据参考帧Fn1在内存X1上记录有效图像显示区域;显示模块按照所述有效图像显示区域对解码后的图像进行显示;S3,解码库获取对应内存X(k‑1)的参考帧Fn(k‑1),根据Fn(k‑1)进行解码,将生成的参考帧Fnk存储到内存Xk;根据参考帧Fnk在内存Xk上记录有效图像显示区域;显示模块按照内存Xk中标记的有效图像显示区域对解码的视频图像进行显示,其中,k=2,3,4……N,N为正整数;S4,重复步骤S3,直至视频中所有帧均解码完毕。

【技术特征摘要】

【专利技术属性】
技术研发人员:管超
申请(专利权)人:北京佳讯飞鸿电气股份有限公司
类型:发明
国别省市:北京;11

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

1