数据读取方法、装置、解码器和存储介质制造方法及图纸

技术编号:25695508 阅读:38 留言:0更新日期:2020-09-18 21:06
本发明专利技术实施例提供的数据读取方法、装置、解码器和存储介质,涉及视频图像编解码技术领域。通过在解码器中设置第一存储区域和第二存储区域,利用第一存储区域和第二存储区域交替存储当前宏块的参考图像的像素数据和前一宏块的参考图像的像素数据,从而对于重叠区域,可从第一存储区域或第二存储区域中读取前一宏块的参考图像中与重叠区域对应的像素数据,对于未重叠区域,则通过请求总线读取当前宏块的参考图像与未重叠区域对应的像素数据,并在读取到所有的像素数据后,将读取到的像素数据按照预设规则存入至当前宏块所对应的存储区域,将当前宏块的参考图像的窗口和窗口尺寸存入至解码器,如此,提高了总线访问的效率以及避免总线的浪费。

【技术实现步骤摘要】
数据读取方法、装置、解码器和存储介质
本专利技术涉及视频图像编解码
,具体而言,涉及一种数据读取方法、装置、解码器和存储介质。
技术介绍
随着数字媒体技术和计算机技术的发展,视频应用于各个领域,如移动通信、网络监控、网络电视等。目前,视频的传输往往都是由编码器进行编码后传输,而视频在播放时,往往需要由解码器对已编码后的视频数据进行解码。目前,视频的解码大多是以像素宏块为基本单元,在解码时,每个宏块均通过请求总线从双倍速率同步动态随机存储器(DoubleDataRate,DDR)中读取该宏块的参考图像的像素数据,请求非常频繁,造成总线访问效率低且总线的浪费。
技术实现思路
基于上述研究,本专利技术提供了一种数据读取方法、装置、解码器和存储介质,以改善上述问题。本专利技术的实施例可以这样实现:第一方面,实施例提供数据读取方法,应用于与编码器通信的解码器,所述解码器设置有第一存储区域以及第二存储区域,所述第一存储区域和第二存储区域用于交替存储当前宏块的参考图像的像素数据和与所述当前宏块相邻的前一宏块的参考图像的像素数据,当所述第一存储区域存储所述当前宏块的参考图像的像素数据时,所述第二存储区域存储所述前一宏块的参考图像的像素数据,当所述第二存储区域存储所述当前宏块的参考图像的像素数据时,所述第一存储区域存储所述前一宏块的参考图像的像素数据;所述方法包括:从编码器中获取当前宏块的参考图像的矢量信息,根据所述矢量信息计算所述当前宏块的参考图像的窗口和窗口尺寸;从所述解码器中获取预存的所述前一宏块的参考图像的窗口和窗口尺寸,并根据所述当前宏块的参考图像的窗口和窗口尺寸,以及所述前一宏块的参考图像的窗口和窗口尺寸,判断所述当前宏块的参考图像的窗口与所述前一宏块的参考图像的窗口是否有重叠区域;若有重叠区域,对于重叠区域,从所述第一存储区域或者第二存储区域中读取所述前一宏块的参考图像中与所述重叠区域对应的像素数据,将该像素数据作为所述当前宏块的参考图像中与所述重叠区域对应的像素数据;对于未重叠区域,通过请求总线读取所述当前宏块的参考图像与所述未重叠区域对应的像素数据;将读取到的与所述重叠区域对应的像素数据以及与所述未重叠区域对应的像素数据按照预设规则存入至所述当前宏块所对应的存储区域,并将当前宏块的参考图像的窗口和窗口尺寸存入至所述解码器。在可选的实施方式中,在判断所述当前宏块的参考图像的窗口与所述前一宏块的参考图像的窗口是否有重叠区域之前,所述方法还包括:判断所述当前宏块的参考图像的窗口尺寸是否大于所述当前宏块所对应的存储区域的最大尺寸;若大于所述最大尺寸,通过请求总线读取所述当前宏块的参考图像的像素数据;若不大于所述最大尺寸,判断所述当前宏块的参考图像的窗口与所述前一宏块的参考图像的窗口是否有重叠区域。在可选的实施方式中,所述当前宏块至少包括一个子宏块,所述获取当前宏块的参考图像矢量信息,根据所述参考图像矢量信息计算所述当前宏块的参考图像所对应的窗口和窗口尺寸的步骤包括:获取每个所述子宏块的参考图像矢量信息,根据每个所述子宏块的参考图像的失量信息,得到每个所述子宏块的参考图像中所有像素的坐标;基于每个所述子宏块的参考图像中所有像素的坐标,对所有的所述子宏块依次进行拼接,得到所述当前宏块的参考图像的窗口和窗口尺寸。在可选的实施方式中,所述解码器还存储有所述前一宏块的参考图像中的每个像素的坐标;所述判断所述当前宏块的参考图像的窗口与所述前一宏块的参考图像的窗口是否有重叠区域的步骤包括:根据所述当前宏块的参考图像中的每个像素的坐标,得到所述当前宏块的参考图像的窗口的顶点像素的坐标;根据所述前一宏块的参考图像中的每个像素的坐标,得到所述前一宏块的参考图像的窗口的顶点像素的坐标;根据所述当前宏块的参考图像的窗口的顶点像素的坐标,以及所述前一宏块的参考图像的窗口的顶点像素的坐标,得到所述当前宏块的参考图像的窗口与所述前一宏块的参考图像的窗口的位置关系;根据所述位置关系,判断所述当前宏块的参考图像的窗口与所述前一宏块的参考图像的窗口是否有重叠区域。在可选的实施方式中,所述解码器中还存储有所述前一宏块的参考图像中的每个像素与每个像素在所述第一存储区域或者第二存储区域中的存储地址的对应关系;所述从所述第一存储区域或者第二存储区域中读取所述前一宏块的参考图像中与所述重叠区域对应的像素数据,将该像素数据作为所述当前宏块的参考图像中与所述重叠区域对应的像素数据的步骤包括:对于所述重叠区域,获取所述前一宏块的参考图像中的在所述重叠区域中的像素以及所述当前宏块的参考图像中的在所述重叠区域中的像素;根据所述对应关系,从所述第一存储区域或者第二存储区域中读取在所述重叠区域中的像素的像素数据,并将该像素数据作为所述当前宏块的参考图像中的在所述重叠区域中的像素的像素数据。在可选的实施方式中,所述对于未重叠区域,通过请求总线读取所述当前宏块的参考图像与所述未重叠区域对应的像素数据的步骤包括:对于未重叠区域,获取所述当前宏块的参考图像中的在所述重叠区域中的像素;对于每个像素,通过请求总线读取该像素的像素数据。在可选的实施方式中,所述将读取到的与所述重叠区域对应的像素数据以及与所述未重叠区域对应的像素数据按照预设规则存入至所述当前宏块所对应的存储区域的步骤包括:对读取到的与所述重叠区域对应的像素数据以及与所述未重叠区域对应的像素数据,按照每个像素的坐标依次存入至所述当前宏块所对应的存储区域中的存储地址中,以得到每个像素与每个像素在所述当前宏块所对应的存储区域中的存储地址的对应关系。第二方面,实施例提供一种数据读取装置,应用于与编码器通信的解码器,所述解码器设置有第一存储区域以及第二存储区域,所述第一存储区域和第二存储区域用于交替存储当前宏块的参考图像的像素数据和与所述当前宏块相邻的前一宏块的参考图像的像素数据,当所述第一存储区域存储所述当前宏块的参考图像的像素数据时,所述第二存储区域存储所述前一宏块的参考图像的像素数据,当所述第二存储区域存储所述当前宏块的参考图像的像素数据时,所述第一存储区域存储所述前一宏块的参考图像的像素数据;所述装置包括信息读取模块、窗口判断模块、数据读取模块以及数据处理模块;所述信息读取模块用于从编码器中获取当前宏块的参考图像的矢量信息,根据所述矢量信息计算所述当前宏块的参考图像的窗口和窗口尺寸;所述窗口判断模块用于从所述解码器中获取预存的所述前一宏块的参考图像的窗口和窗口尺寸,并根据所述当前宏块的参考图像的窗口和窗口尺寸,以及所述前一宏块的参考图像的窗口和窗口尺寸,判断所述当前宏块的参考图像的窗口与所述前一宏块的参考图像的窗口是否有重叠区域;若有重叠区域,对于重叠区域,所述数据读取模块用于从所述第一存储区域或者第二存储区域中读取所述前一宏块的参考图像中与所述重叠区域对应的像素数据,将该像素数据作为所述当前本文档来自技高网...

【技术保护点】
1.一种数据读取方法,其特征在于,应用于与编码器通信的解码器,所述解码器设置有第一存储区域以及第二存储区域,所述第一存储区域和第二存储区域用于交替存储当前宏块的参考图像的像素数据和与所述当前宏块相邻的前一宏块的参考图像的像素数据,当所述第一存储区域存储所述当前宏块的参考图像的像素数据时,所述第二存储区域存储所述前一宏块的参考图像的像素数据,当所述第二存储区域存储所述当前宏块的参考图像的像素数据时,所述第一存储区域存储所述前一宏块的参考图像的像素数据;所述方法包括:/n从编码器中获取当前宏块的参考图像的矢量信息,根据所述矢量信息计算所述当前宏块的参考图像的窗口和窗口尺寸;/n从所述解码器中获取预存的所述前一宏块的参考图像的窗口和窗口尺寸,并根据所述当前宏块的参考图像的窗口和窗口尺寸,以及所述前一宏块的参考图像的窗口和窗口尺寸,判断所述当前宏块的参考图像的窗口与所述前一宏块的参考图像的窗口是否有重叠区域;/n若有重叠区域,对于重叠区域,从所述第一存储区域或者第二存储区域中读取所述前一宏块的参考图像中与所述重叠区域对应的像素数据,将该像素数据作为所述当前宏块的参考图像中与所述重叠区域对应的像素数据;/n对于未重叠区域,通过请求总线读取所述当前宏块的参考图像与所述未重叠区域对应的像素数据;/n将读取到的与所述重叠区域对应的像素数据以及与所述未重叠区域对应的像素数据按照预设规则存入至所述当前宏块所对应的存储区域,并将当前宏块的参考图像的窗口和窗口尺寸存入至所述解码器。/n...

【技术特征摘要】
1.一种数据读取方法,其特征在于,应用于与编码器通信的解码器,所述解码器设置有第一存储区域以及第二存储区域,所述第一存储区域和第二存储区域用于交替存储当前宏块的参考图像的像素数据和与所述当前宏块相邻的前一宏块的参考图像的像素数据,当所述第一存储区域存储所述当前宏块的参考图像的像素数据时,所述第二存储区域存储所述前一宏块的参考图像的像素数据,当所述第二存储区域存储所述当前宏块的参考图像的像素数据时,所述第一存储区域存储所述前一宏块的参考图像的像素数据;所述方法包括:
从编码器中获取当前宏块的参考图像的矢量信息,根据所述矢量信息计算所述当前宏块的参考图像的窗口和窗口尺寸;
从所述解码器中获取预存的所述前一宏块的参考图像的窗口和窗口尺寸,并根据所述当前宏块的参考图像的窗口和窗口尺寸,以及所述前一宏块的参考图像的窗口和窗口尺寸,判断所述当前宏块的参考图像的窗口与所述前一宏块的参考图像的窗口是否有重叠区域;
若有重叠区域,对于重叠区域,从所述第一存储区域或者第二存储区域中读取所述前一宏块的参考图像中与所述重叠区域对应的像素数据,将该像素数据作为所述当前宏块的参考图像中与所述重叠区域对应的像素数据;
对于未重叠区域,通过请求总线读取所述当前宏块的参考图像与所述未重叠区域对应的像素数据;
将读取到的与所述重叠区域对应的像素数据以及与所述未重叠区域对应的像素数据按照预设规则存入至所述当前宏块所对应的存储区域,并将当前宏块的参考图像的窗口和窗口尺寸存入至所述解码器。


2.根据权利要求1所述的数据读取方法,其特征在于,在判断所述当前宏块的参考图像的窗口与所述前一宏块的参考图像的窗口是否有重叠区域之前,所述方法还包括:
判断所述当前宏块的参考图像的窗口尺寸是否大于所述当前宏块所对应的存储区域的最大尺寸;
若大于所述最大尺寸,通过请求总线读取所述当前宏块的参考图像的像素数据;
若不大于所述最大尺寸,判断所述当前宏块的参考图像的窗口与所述前一宏块的参考图像的窗口是否有重叠区域。


3.根据权利要求1所述的数据读取方法,其特征在于,所述当前宏块至少包括一个子宏块,所述从编码器中获取当前宏块的参考图像矢量信息,根据所述参考图像矢量信息计算所述当前宏块的参考图像所对应的窗口和窗口尺寸的步骤包括:
获取每个所述子宏块的参考图像矢量信息,根据每个所述子宏块的参考图像的失量信息,得到每个所述子宏块的参考图像中所有像素的坐标;
基于每个所述子宏块的参考图像中所有像素的坐标,对所有的所述子宏块依次进行拼接,得到所述当前宏块的参考图像的窗口和窗口尺寸。


4.根据权利要求3所述的数据读取方法,其特征在于,所述解码器还存储有所述前一宏块的参考图像中的每个像素的坐标;所述判断所述当前宏块的参考图像的窗口与所述前一宏块的参考图像的窗口是否有重叠区域的步骤包括:
根据所述当前宏块的参考图像中的每个像素的坐标,得到所述当前宏块的参考图像的窗口的顶点像素的坐标;
根据所述前一宏块的参考图像中的每个像素的坐标,得到所述前一宏块的参考图像的窗口的顶点像素的坐标;
根据所述当前宏块的参考图像的窗口的顶点像素的坐标,以及所述前一宏块的参考图像的窗口的顶点像素的坐标,得到所述当前宏块的参考图像的窗口与所述前一宏块的参考图像的窗口的位置关系;
根据所述位置关系,判断所述当前宏块的参考图像的窗口与所述前一宏块的参考图像的窗口是否有重叠区域。


5.根据权利要求4所述的数据读取方法,其特征在于,所述解码器中还存储有所述前一宏块的参考图像中的每个像素与每个像素在所述第一...

【专利技术属性】
技术研发人员:陶长来
申请(专利权)人:湖南国科微电子股份有限公司
类型:发明
国别省市:湖南;43

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

1