一种数据编码方法技术

技术编号:20926980 阅读:18 留言:0更新日期:2019-04-20 12:01
本申请公开了一种数据编码方法,MEMORY内开设有Buffer,Buffer分为第一缓冲区和第二缓冲区,包括:将待处理数据存储至第一缓冲区;对第一缓冲区内的数据进行编码,同步存储待处理数据至第二缓冲区;第一缓冲区内的数据编码完成后,更新待处理数据至第一缓冲区,同步对第二缓冲区内的数据进行编码;第二缓冲区内的数据编码完成后,更新待处理数据至第二缓冲区,并对第一缓冲区内的数据编码;重复存储数据至第一缓冲区和第二缓冲区,并对第一缓冲区和第二缓冲区内的数据进行编码,直至待处理数据编码完成。本申请不需要增加MEMORY数量,减少芯片面积。通过超前更新数据的操作,避免因等数据而降低编码速度,保持高性能。

A Data Encoding Method

This application discloses a data encoding method, which has Buffer in MEMORY. Buffer is divided into the first buffer and the second buffer, including: storing the data to be processed to the first buffer; encoding the data in the first buffer and synchronously storing the data to be processed to the second buffer; updating the data to be processed to the first buffer after the data encoding in the first buffer is completed. The data in the second buffer is coded synchronously; the data in the second buffer is updated to the second buffer after the data coding is completed, and the data in the first buffer is coded; the data in the first buffer and the second buffer are stored repeatedly, and the data in the first buffer and the second buffer are coded until the data coding to be processed is completed. This application does not need to increase the number of MEMORY and reduce the chip area. By updating data in advance, the encoding speed can be avoided and high performance can be maintained.

【技术实现步骤摘要】
一种数据编码方法
本申请涉及电子电路及半导体
,尤其涉及一种数据编码方法。
技术介绍
随着4K电视节目的出现,对视频处理的要求也越来越高。视频编码为计算机视频处理的前提,即对视频进行压缩。在编码过程中,为了在不影响图像质量的情况下,让编码的码流更小,需要一个参考数据块对当前所需要编码的块进行编码。目前在实现视频编码器运动搜索的过程中,选取的参考数据块可以放在片外存储器,或者放在片内存储器。如果采用放在片外存储器的方式,则芯片的面积会大大减小,但是数据处理速度也会大大降低。如果采用放在片内存储器的方式,则数据处理速度得到提高,但是导致芯片面积过大。为了保证数据的处理速度,通常采用将参考数据块放在片内存储器,即在片内开设几个MB(MacroBlock,宏块)行大小的内部MEMORY(存储器),来存储视频编码器运动搜索过程中需要的数据。在开设的MEMORY中,按真实的图片实际尺寸来设置的Buffer(缓冲器),Buffer用来存放即将编码的视频数据。目前,随着视频尺寸越来越大,对视频处理时涉及的数据量不断增多,导致芯片内部的MEMORY比较大,从而导致芯片面积增大,成本也高。因此,亟需设计一种能够减小芯片面积的MEMORY控制方式。
技术实现思路
本申请提供了一种数据编码方法,以解决现有技术中随着视频处理时数据量的增多,导致芯片内部存储器增大,进而导致芯片面积增大且成本高的技术问题。为了解决上述技术问题,本申请实施例公开了如下技术方案:本申请实施例公开了一种数据编码方法,MEMORY内开设有Buffer,所述Buffer分为第一缓冲区和第二缓冲区,所述方法包括:将待处理数据存储至所述第一缓冲区;对所述第一缓冲区内的数据进行编码,同步存储待处理数据至第二缓冲区;所述第一缓冲区内的数据编码完成后,更新待处理数据至所述第一缓冲区,同步对所述第二缓冲区内的数据进行编码;所述第二缓冲区内的数据编码完成后,更新待处理数据至所述第二缓冲区,并对所述第一缓冲区内的数据进行编码;重复存储数据至所述第一缓冲区和所述第二缓冲区,并对所述第一缓冲区和所述第二缓冲区内的数据进行编码,直至所述待处理数据编码完成。可选地,在上述数据编码方法中,在所述将待处理数据存储至所述第一缓冲区之前,所述方法还包括:根据待处理场景,设置所述Buffer的缓存空间大小,所述Buffer为当前块及所述当前块周围的若干MB块,所述当前块为当前需要编码的MB块。可选地,在上述数据编码方法中,所述方法还包括:选取所述当前块数据的参考数据,并判断所述参考数据的位置是否超出所述待处理数据的边界。可选地,在上述数据编码方法中,判断所述参考数据的位置是否超出所述待处理数据的边界,所述待处理数据为图片中数据,所述方法包括:设立所述图片尺寸坐标,及所述Buffer的坐标;根据所述图片尺寸坐标和所述Buffer的坐标,实时记录所述Buffer内存放的所述待处理数据对应所述图片中的实际位置;判断所述实际位置是否为所述图片的边界;若所述实际位置为图片的边界,则根据当前块的运动矢量MV判断参考数据的位置是否超出所述图片的边界。可选地,在上述数据编码方法中,所述方法还包括:若所述参考数据的实际位置超出所述待处理数据的边界,则复制所述待处理数据的边界数据,填充超出部分。可选地,在上述数据编码方法中,所述方法还包括:选取所述当前块数据的参考数据,判断所述参考数据的位置是否超出所述Buffer的边界。可选地,在上述数据编码方法中,判断所述参考数据的位置是否超出Buffer的边界,包括:根据所述Buffer大小,预设运动矢量MV的最大值;根据运动矢量MV的最大值与编码过程中运动矢量MV的实际值,计算所述参考数据的坐标;根据所述参考数据的坐标,判断所述参考数据的实际位置是否超出Buffer的边界。可选地,在上述数据编码方法中,所述方法还包括:若所述参考数据的实际位置超出Buffer的边界,则选取Buffer边界的数据作为参考数据。可选地,在上述数据编码方法中,所述第二缓冲区的大小大于或等于所述第一缓冲区的大小。与现有技术相比,本申请的有益效果为:本申请提供了一种数据编码方法,MEMORY内开设有Buffer,所述Buffer分为第一缓冲区和第二缓冲区,所述第一缓冲区和所述第二缓冲区循环交替使用。具体地,该方法包括:先将待处理数据存储至所述第一缓冲区,然后对所述第一缓冲区内的数据进行编码,并同步存储待处理数据至第二缓冲区。当所述第一缓冲区内的数据编码完成后,再更新待处理数据至所述第一缓冲区,并同步对所述第二缓冲区内的数据进行编码。同理,当所述第二缓冲区内的数据编码完成后,更新待处理数据至所述第二缓冲区,并对所述第一缓冲区内的数据进行编码。最后,重复上述步骤,即重复存储数据至所述第一缓冲区和所述第二缓冲区,并对所述第一缓冲区和所述第二缓冲区内的数据进行编码,直至所述待处理数据编码完成。本申请提供的MEMORY控制方法,不需要增加芯片中MEMORY的数量,减少了芯片面积,降低成本。同时,本申请基于乒乓编码,通过超前更新数据的操作,避免了因等数据而降低编码速度,保持芯片的较高性能。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。附图说明为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种数据编码方法的流程示意图;图2为本专利技术实施例提供的预设Buffer的基本结构示意图;图3为本专利技术实施例提供的参考数据超出图片上边界的示意图;图4为本专利技术实施例提供的参考数据超出图片左边界的示意图;图5为本专利技术实施例提供的参考数据超出图片右边界的示意图;图6为本专利技术实施例提供的参考数据超出图片下边界的示意图;图7为本专利技术实施例提供的参考MV超出图片上边界的示意图;图8为本专利技术实施例提供的参考MV超出图片左边界的示意图;图9为本专利技术实施例提供的参考MV超出图片右边界的示意图;图10为本专利技术实施例提供的参考MV超出图片下边界的示意图。具体实施方式为了使本
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。本专利技术实施例提供的一种数据编码方法中,在芯片MEMORY内开设有Buffer,所述Buffer分为第一缓冲区和第二缓冲区。参见图2,为本专利技术实施例提供的预设Buffer的基本结构示意图,图中实线部分为第一缓冲区,虚线部分为第二缓冲区。图2中,实际开设的Buffer大小为3MB*16,第一缓冲区和第二缓冲区均分,分别为3MB*8的数据块,图中一个小方格代表一个MB块。本申请中,所述第二缓冲区的大小可以大于或等于所述第一缓冲区的大小。根据待处理场景,相应的设置所述Buffer的缓存空间大小,如果场景是静止的,可以少一点参考数据,如果场景是运动的,就多一点参考数据。本申请中本文档来自技高网
...

【技术保护点】
1.一种数据编码方法,其特征在于,MEMORY内开设有Buffer,所述Buffer分为第一缓冲区和第二缓冲区,所述方法包括:将待处理数据存储至所述第一缓冲区;对所述第一缓冲区内的数据进行编码,同步存储待处理数据至第二缓冲区;所述第一缓冲区内的数据编码完成后,更新待处理数据至所述第一缓冲区,同步对所述第二缓冲区内的数据进行编码;所述第二缓冲区内的数据编码完成后,更新待处理数据至所述第二缓冲区,并对所述第一缓冲区内的数据进行编码;重复存储数据至所述第一缓冲区和所述第二缓冲区,并对所述第一缓冲区和所述第二缓冲区内的数据进行编码,直至所述待处理数据编码完成。

【技术特征摘要】
1.一种数据编码方法,其特征在于,MEMORY内开设有Buffer,所述Buffer分为第一缓冲区和第二缓冲区,所述方法包括:将待处理数据存储至所述第一缓冲区;对所述第一缓冲区内的数据进行编码,同步存储待处理数据至第二缓冲区;所述第一缓冲区内的数据编码完成后,更新待处理数据至所述第一缓冲区,同步对所述第二缓冲区内的数据进行编码;所述第二缓冲区内的数据编码完成后,更新待处理数据至所述第二缓冲区,并对所述第一缓冲区内的数据进行编码;重复存储数据至所述第一缓冲区和所述第二缓冲区,并对所述第一缓冲区和所述第二缓冲区内的数据进行编码,直至所述待处理数据编码完成。2.根据权利要求1所述的数据编码方法,其特征在于,在将待处理数据存储至所述第一缓冲区之前,所述方法还包括:根据待处理场景,设置所述Buffer的缓存空间大小,所述Buffer为当前块及所述当前块周围的若干MB块,所述当前块为当前需要编码的MB块。3.根据权利要求2所述的数据编码方法,其特征在于,所述方法还包括:选取所述当前块数据的参考数据,并判断所述参考数据的位置是否超出所述待处理数据的边界。4.根据权利要求3所述的数据编码方法,其特征在于,判断所述参考数据的位置是否超出所述待处理数据的边界,所述待处理数据为图片中数据,所述方法包括:设立所述图片尺寸坐标,及所述Buffer的坐...

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

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

1