一种视频参考帧数据存储的方法和设备的制造方法

文档序号:10627152阅读:1008来源:国知局
一种视频参考帧数据存储的方法和设备的制造方法
【专利摘要】本发明涉及视频处理领域,尤其涉及一种视频参考帧数据存储的方法和设备。本发明实施例的方法包括:确定参考帧数据中同一位置上需要绑定存储的亮度数据和色度数据;将确定的同一位置上需要绑定存储的亮度数据和色度数据存储在存储器的同一个子宏块中,其中存储器中有多个宏块,每个宏块由多个子宏块组成,同一个宏块中的每个子宏块分别存储同一个视频参考帧数据中不同位置的亮度数据和色度数据。由于本发明实施例中将亮度数据和色度数据绑定存储在存储器的同一个子宏块中,因而在视频解码器的数据缓存器和外部存储器中,亮度和色度数据都能够进行绑定存储,进而减少了视频解码器中数据缓存器向外部存储器发送的命令次数。
【专利说明】
_种视频参考巾贞数据存储的方法和设备
技术领域
[0001]本发明涉及视频处理领域,特别涉及一种视频参考帧数据存储的方法和设备。
【背景技术】
[0002]近年来视频编解码方面的应用得到了飞速发展,且视频的分辨率、码率都得到很大提高,HEVC(High Efficiency Video Coding,视频压缩标准)是两大组织成立的联合小组正在研究的下一代新的视频压缩编码方案,主要针对高清和超高清的视频图像,HEVC目标在H.264/AVC high profile的基础上,对高分辨率/高保真的视频图像压缩效率提高一倍,也就是在保证相同视频图像质量的前提下,视频流的码率减少50%。
[0003]HEVC的编解码架构采用传统的混合视频编码架构,也就是预测加熵编码。预测是为了消除像素间时间和空间的相关性,空间的相关性采用帧内预测消除,而时间的相关性采用帧间预测消除。在视频编码中,帧间预测对编码性能影响最大。在解码端,解码器在做帧间预测的时候需要大量的读取已经解码的帧缓冲集合中的像素信息,而帧缓存所占空间巨大,只能放在外部存储器DDR(Double Data Rate,双倍速率同步动态随机存储器)中,这样会带来巨大的带宽损耗,这也是影响解码器性能的主要原因。
[0004]为了提高解码器的带宽性能,参考帧读取一般会使用数据缓存器结构,数据缓存器带来两个方面的性能提升:最大限度的利用已经取来的参考帧数据;降低数据的延时。但现有技术中,在解码器的数据缓存器和外部存储器中,亮度和色度数据分开进行存储,进行读写操作时,都需要分开操作,每读取一次亮度数据需要发送一条命令,每读取一次色度数据又需要发送一条命令,这也导致向外部存储器发送的命令次数较多。
[0005]综上所述,目前在视频解码器的数据缓存器和外部存储器中,亮度和色度数据分开进行存储,视频解码器中数据缓存器向外部存储器发送的命令次数较多。

【发明内容】

[0006]本发明实施例提供一种视频参考帧数据存储的方法和设备,用以解决现有技术中存在的在视频解码器的数据缓存器和外部存储器中,亮度和色度数据分开进行存储,视频解码器中数据缓存器向外部存储器发送的命令次数较多的问题。
[0007]本发明实施例提供的一种视频参考帧数据存储的方法,该方法包括:
[0008]确定参考帧数据中同一位置上需要绑定存储的亮度数据和色度数据;
[0009]将确定的同一位置上需要绑定存储的亮度数据和色度数据存储在存储器的同一个子宏块中,其中所述存储器中有多个宏块,每个所述宏块由多个所述子宏块组成,同一个宏块中的每个子宏块分别存储同一个视频参考帧数据中不同位置的亮度数据和色度数据。
[0010]由于本发明实施例中将亮度数据和色度数据绑定存储在存储器的同一个子宏块中,因而在解码器的数据缓存器和外部存储器中,亮度和色度数据都能够进行绑定存储,进而减少了解码器中数据缓存器向外部存储器发送的命令次数。
[0011]较佳地,将确定的同一位置上需要绑定存储的亮度数据和色度数据存储在存储器的同一个子宏块中,包括:
[0012]对所述确定的同一位置上需要绑定存储的亮度数据和色度数据进行压缩;
[0013]将压缩后的所述亮度数据和色度数据存储在存储器的同一个子宏块中。
[0014]较佳地,对所述确定的同一位置上需要绑定存储的亮度数据和色度数据进行压缩,包括:
[0015]根据存储器的最小数据结构,对所述确定的同一位置上需要绑定存储的亮度数据和色度数据进行压缩。
[0016]较佳地,根据存储器的最小数据结构,对确定的所述同一位置上需要绑定存储的亮度数据和色度数据进行压缩,包括:
[0017]将确定的所述同一位置上需要绑定存储的亮度数据和色度数据压缩成所述存储器的最小数据结构的N倍,N是正整数。
[0018]由于本发明实施例根据存储器的最小数据结构,将所述子宏块中存储的亮度数据和色度数据压缩成所述存储器的最小数据结构的N倍,因而使存储器能够存储更多的数据,进而节省了带宽。
[0019]较佳地,确定参考帧数据中同一位置上需要绑定存储的亮度数据和色度数据之后,将亮度数据和色度数据存储在存储器的同一个子宏块中之前,还包括:
[0020]根据所述视频参考帧数据对应的视频码流,将需要绑定存储的亮度数据分成多个亮度数据组,以及将需要绑定存储的色度数据分成多个色度数据组,以便以组为单位进行存储。
[0021]本发明实施例提供的一种视频参考帧数据存储的设备,该设备包括:
[0022]确定模块,用于确定参考帧数据中同一位置上需要绑定存储的亮度数据和色度数据;
[0023]处理模块,用于将确定的同一位置上需要绑定存储的亮度数据和色度数据存储在存储器的同一个子宏块中,其中所述存储器中有多个宏块,每个所述宏块由多个所述子宏块组成,同一个宏块中的每个子宏块分别存储同一个视频参考帧数据中不同位置的亮度数据和色度数据。
[0024]较佳地,所述处理模块具体用于:
[0025]对所述确定的同一位置上需要绑定存储的亮度数据和色度数据进行压缩;将压缩后的所述亮度数据和色度数据存储在存储器的同一个子宏块中。
[0026]较佳地,所述处理模块具体用于:
[0027]根据存储器的最小数据结构,对所述确定的同一位置上需要绑定存储的亮度数据和色度数据进行压缩。
[0028]较佳地,所述处理模块具体用于:
[0029]将确定的所述同一位置上需要绑定存储的亮度数据和色度数据压缩成所述存储器的最小数据结构的N倍,N是正整数。
[0030]较佳地,该设备还包括:
[0031]分组模块,用于根据所述视频参考帧数据对应的视频码流,将需要绑定存储的亮度数据分成多个亮度数据组,以及将需要绑定存储的色度数据分成多个色度数据组,以便以组为单位进行存储。
【附图说明】
[0032]图1为本发明实施例提供的一种视频参考帧数据存储的方法的步骤流程图;
[0033]图2A为本发明实施例提供的存储器中宏块划分的示意图;
[0034]图2B为本发明实施例提供的存储器中子宏块划分的示意图;
[0035]图3A为本发明实施例提供的8位码流对应的参考帧数据的存储示意图;
[0036]图3B为本发明实施例提供的10位码流对应的参考帧数据的存储示意图;
[0037]图4A为本发明实施例提供的将同一位置上需要绑定存储的亮度数据和色度数据压缩为32字节的存储示意图;
[0038]图4B为本发明实施例提供的将同一位置上需要绑定存储的亮度数据和色度数据压缩为64字节的存储示意图;
[0039]图4C为本发明实施例提供的将同一位置上需要绑定存储的亮度数据和色度数据压缩为96字节的存储示意图;
[0040]图5为本发明实施例提供的一种视频参考帧数据存储的设备的结构示意图;
[0041]图6为本发明实施例提供的一种视频参考帧数据存储的方法的总体流程图。
【具体实施方式】
[0042]本发明实施例视频参考帧数据存储的方法,确定参考帧数据中同一位置上需要绑定存储的亮度数据和色度数据;将确定的同一位置上需要绑定存储的亮度数据和色度数据存储在存储器的同一个子宏块中,其中存储器中有多个宏块,每个宏块由多个子宏块组成,同一个宏块中的每个子宏块分别存储同一个视频参考帧数据中不同位置的亮度数据和色度数据。由于本发明实施例中将亮度数据和色度数据绑定存储在存储器的同一个子宏块中,因而在解码器的数据缓存器和外部存储器中,亮度和色度数据都能够进行绑定存储,进而减少了解码器中数据缓存器向外部存储器发送的命令次数。
[0043]下面结合附图,用具体实施例对本发明提供的方法及设备进行详细描述。
[0044]本发明实施例提供的一种视频参考帧数据存储的方法,如图1所示,具体包括以下步骤:
[0045]步骤101、确定参考帧数据中同一位置上需要绑定存储的亮度数据和色度数据;
[0046]步骤102、将确定的同一位置上需要绑定存储的亮度数据和色度数据存储在存储器的同一个子宏块中,其中存储器中有多个宏块,每个宏块由多个子宏块组成,同一个宏块中的每个子宏块分别存储同一个视频参考帧数据中不同位置的亮度数据和色度数据。
[0047]实施中,视频参考帧数据存储的方法可以应用到视频参考帧数据存储的设备当中,该视频参考帧数据存储的设备包括:视频解码器和外部存储器,其中视频解码器包括数据缓存器、视频压缩设备和处理器。因而本发明实施例中提供的存储器可以为视频解码器中的数据缓存器和外部存储器。
[0048]本发明实施例中提供的存储器,也就是视频解码器中的数据缓存器和外部存储器都会相应的划分成宏块的形式存储参考帧数据。如图2A所示,将视频帧划分为若干个64*64的宏块,也就是4k字节(4096字节=64*64)的数据,这样做的目的是为了匹配外部存储器中的存储页的大小。如图2B所示,每个宏块又划分为64个16*4大小的个子宏块。实际生产制造过程中,宏块和子宏块的大小可以根据实际需要进行设定,可以认为是一个参考数据块的大小,本实施例以16*4的大小进行举例说明。与外部存储器类似,数据缓存器也是以块的方式存储数据,与外部存储器中的宏块和子宏块相对应。而亮度和色度数据可以绑定存储到数据缓存器和外部存储器的同一个子宏块中。
[0049]较佳地,本发明实施例以能够存储128字节的子宏块为例,亮度数据和色度数据绑定存储到这128字节中。
[0050]实施中,同一子宏块中除了存储亮度数据和色度数据外,剩余的空间作为填充空间。例如,以能够存储128字节的子宏块为例,当采用8位码流为数据流时,96字节的亮度数据和色度数据绑定存储到这128字节中,剩余的32字节作为填充空间。而当采用10位码流为数据流时,96字节的亮度数据和色度数据将占用120字节(96*10/8 = 120),因而128字节的子宏块剩余的8字节的存储空间作为填充空间。
[0051]其中,填充空间的作用是为了寻址方便,同时能够在视频解码器选取的不同视频码流时,为对应参考帧数据提供足够的存储空间。
[0052]实施中,当对子宏块中存储的亮度数据和色度数据进行视频压缩后,相应的该子宏块中的填充空间会变大。
[0053]本发明提供的视频参考帧数据存储的方法能够支持不同位数的码流,针对不同位数的码流对应的参考帧数据的存储形式也不相同。
[0054]较佳地,本发明实施例能够分别支持以8位码流和10位码流为数据流的视频参考帧数据,一般视频和图像都是采用8位码流表示像素值,10位码流表示用10位来表示像素值,下面针对8位码流和10位码流对应的参考帧数据的存储形式进行详细介绍。
[0055]针对8位码流,如图3A所示,为本发明实施例提供的8位码流对应的参考帧数据的存储示意图,图中每64字节的亮度数据作为一个单位亮度64字节存储,每32字节的色度数据作为一个单位色度32字节存储,最后的32字节作为填充空间。
[0056]针对10位码流,如图3B所示,为本发明实施例提供的10位码流对应的参考帧数据的存储示意图,图中首先存储低8位的64字节的亮度数据,接着存储低8位的32字节色度数据,然后再存储高2位的16字节的亮度数据,以及高2位的8字节色度数据,最后的8个字节作为填充空间。
[0057]视频参考帧数据中同一位置上的亮度数据和色度数据在绑定存储的过程中,采用分段式的方式进行存储,下面进行具体介绍。
[0058]较佳地,确定参考帧数据中同一位置上需要绑定存储的亮度数据和色度数据之后,将亮度数据和色度数据存储在存储器的同一个子宏块中之前,还包括:
[0059]根据视频参考帧数据对应的视频码流,将需要绑定存储的亮度数据分成多个亮度数据组,以及将需要绑定存储的色度数据分成多个色度数据组,以便以组为单位进行存储。
[0060]实施中,可以将相关性较大的一些亮度数据分成一组,相关性较大的色度数据分成一组,进而分成多个亮度数据组和多个色度数据组;也可以不进行分组,之间将绑定存储的亮度数据和色度数据存储在存储器的同一个子宏块中。
[0061]实施中,本发明实施例提供的视频解码器中的视频压缩设备能够先对确定的同一位置上需要绑定存储的亮度数据和色度数据进行压缩,再将压缩后的亮度数据和色度数据存储在存储器的同一个子宏块中。因而在数据缓存器和外部存储器对数据进行存储时,可以节省更多的存储空间,进而节省带宽。实施中,按照一定的规则对同一位置上需要绑定存储的亮度数据和色度数据进行压缩,下面进行具体介绍。
[0062]较佳地,将确定的同一位置上需要绑定存储的亮度数据和色度数据存储在存储器的同一个子宏块中,包括:
[0063]对确定的同一位置上需要绑定存储的亮度数据和色度数据进行压缩;
[0064]将压缩后的亮度数据和色度数据存储在存储器的同一个子宏块中。
[0065]较佳地,对确定的同一位置上需要绑定存储的亮度数据和色度数据进行压缩,包括:
[0066]根据存储器的最小数据结构,对确定的同一位置上需要绑定存储的亮度数据和色度数据进行压缩。
[0067]较佳地,根据存储器的最小数据结构,对确定的同一位置上需要绑定存储的亮度数据和色度数据进行压缩,包括:
[0068]将确定的同一位置上需要绑定存储的亮度数据和色度数据压缩成存储器的最小数据结构的N倍,N是正整数。
[0069]实施中,本发明实施例将需要存储的视频参考帧数据中同一位置上的亮度数据和色度数据绑定存储在存储器的同一个子宏块中之前,会先对数据进行压缩。由于存储器的最小数据结构是32字节,每次最终压缩后参考帧数据的存储和读写都要是32字节的倍数,通过扩展到128字节空间。下面分别介绍对8位码流和10位码流对应的参考帧数据进行压缩。
[0070]针对8位码流,经过视频压缩步骤后,96字节的未处理的参考帧数据可以被压缩为32、64、96字节。如图4A所示,为本发明实施例提供的将同一位置上需要绑定存储的亮度数据和色度数据压缩为32字节的存储示意图,根据需求将同一位置上需要绑定存储的亮度数据和色度数据压缩为32字节的数据,剩余的96字节作为填充空间,从而能够节省67%的带宽,节省带宽的计算方式为(96-32)/96 = 67%。
[0071]如图4B所示,为本发明实施例提供的将同一位置上需要绑定存储的亮度数据和色度数据压缩为64字节的存储示意图,根据需求将同一位置上需要绑定存储的亮度数据和色度数据压缩为64字节的数据,剩余的64字节作为填充空间,从而能够节省33%的带宽,节省带宽的计算方式为(96-64)/96 = 33%。
[0072]由于8位码流中未处理的参考帧数据为96字节,因而压缩成96字节并不能节省带宽。
[0073]针对10位码流,在8位码流中96字节的未处理的参考帧数据变为120字节,120字节的未处理的参考帧数据可以被压缩为32、64、96字节,与8位码流时,将绑定的亮度数据和色度数据压缩为32、64、96字节的数据进行存储相同。因而仍然可以采用图4A和图4B作为存储示意图。如图4A所示,根据需求将同一位置上需要绑定存储的亮度数据和色度数据压缩为32字节,剩余的96字节作为填充空间,从而能够节省75%的带宽,节省带宽的计算方式为(128-32)/128 = 75%。
[0074]如图4B所示,根据需求将同一位置上需要绑定存储的亮度数据和色度数据压缩为64字节,剩余的64字节作为填充空间,从而能够节省50%的带宽,节省带宽的计算方式为(128-64)/128 = 50%。
[0075]如图4C所示,为本发明实施例提供的将同一位置上需要绑定存储的亮度数据和色度数据压缩为96字节的存储示意图,根据需求将同一位置上需要绑定存储的亮度数据和色度数据压缩为96字节,剩余的32字节作为填充空间,从而能够节省25%的带宽,节省带宽的计算方式为(128-96)/128 = 25%。
[0076]基于同一发明构思,本发明实施例还提供了一种视频参考帧数据存储的设备,由于该设备所解决问题的原理与前述视频参考帧数据存储的方法相似,因此该设备的实施可以参见前述方法的实施,重复之处不再赘述。
[0077]如图5所示,本发明实施例提供的一种视频参考帧数据存储的设备,包括:确定模块501和处理模块502。
[0078]确定模块501,用于确定参考帧数据中同一位置上需要绑定存储的亮度数据和色度数据;
[0079]处理模块502,用于将确定的同一位置上需要绑定存储的亮度数据和色度数据存储在存储器的同一个子宏块中,其中存储器中有多个宏块,每个宏块由多个子宏块组成,同一个宏块中的每个子宏块分别存储同一个视频参考帧数据中不同位置的亮度数据和色度数据。
[0080]较佳地,处理模块502具体用于:
[0081]对确定的同一位置上需要绑定存储的亮度数据和色度数据进行压缩;将压缩后的亮度数据和色度数据存储在存储器的同一个子宏块中。
[0082]较佳地,处理模块502具体用于:
[0083]根据存储器的最小数据结构,对确定的同一位置上需要绑定存储的亮度数据和色度数据进行压缩。
[0084]较佳地,处理模块502具体用于:
[0085]将确定的同一位置上需要绑定存储的亮度数据和色度数据压缩成存储器的最小数据结构的N倍,N是正整数。
[0086]较佳地,该设备还包括:
[0087]分组模块503,用于根据视频参考帧数据对应的视频码流,将需要绑定存储的亮度数据分成多个亮度数据组,以及将需要绑定存储的色度数据分成多个色度数据组,以便以组为单位进行存储。
[0088]根据上述对本发明实施例一种视频参考帧数据存储的方法的描述,总结出该方法的总体流程图,如图6所示,为本发明实施例提供的一种视频参考帧数据存储的方法的总体流程图,包括下列步骤:
[0089]步骤601、确定参考帧数据中同一位置上需要绑定存储的亮度数据和色度数据;
[0090]步骤602、确定存储器的最小数据结构;
[0091]步骤603、将确定的同一位置上需要绑定存储的亮度数据和色度数据压缩成存储器的最小数据结构的N倍,N是正整数;
[0092]步骤604、对确定的同一位置上需要绑定存储的亮度数据和色度数据进行压缩;
[0093]步骤605、根据视频参考帧数据对应的视频码流,将需要绑定存储的亮度数据分成多个亮度数据组,以及将需要绑定存储的色度数据分成多个色度数据组;
[0094]步骤606、将确定的同一位置上需要绑定存储的亮度数据和色度数据以组为单位存储在存储器的同一个子宏块中。
[0095]本发明实施例与【背景技术】中相比,由于本发明实施例中将亮度数据和色度数据绑定存储在存储器的同一个子宏块中,因而在视频解码器的数据缓存器和外部存储器中,亮度和色度数据都能够进行绑定存储,进而减少了视频解码器中数据缓存器向外部存储器发送的命令次数。
[0096]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
[0097]本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0098]本领域技术人员可以理解实施例中用户设备中的模块可以按照实施例描述进行分布于实施例的用户设备中,也可以进行相应变化位于不同于本实施例的一个或多个用户设备中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0099]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0100]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【主权项】
1.一种视频参考帧数据存储的方法,其特征在于,该方法包括: 确定参考帧数据中同一位置上需要绑定存储的亮度数据和色度数据; 将确定的同一位置上需要绑定存储的亮度数据和色度数据存储在存储器的同一个子宏块中,其中所述存储器中有多个宏块,每个所述宏块由多个所述子宏块组成,同一个宏块中的每个子宏块分别存储同一个视频参考帧数据中不同位置的亮度数据和色度数据。2.根据权利要求1所述的方法,其特征在于,将确定的同一位置上需要绑定存储的亮度数据和色度数据存储在存储器的同一个子宏块中,包括: 对所述确定的同一位置上需要绑定存储的亮度数据和色度数据进行压缩; 将压缩后的所述亮度数据和色度数据存储在存储器的同一个子宏块中。3.根据权利要求2所述的方法,其特征在于,对所述确定的同一位置上需要绑定存储的亮度数据和色度数据进行压缩,包括: 根据存储器的最小数据结构,对所述确定的同一位置上需要绑定存储的亮度数据和色度数据进行压缩。4.根据权利要求3所述的方法,其特征在于,根据存储器的最小数据结构,对确定的所述同一位置上需要绑定存储的亮度数据和色度数据进行压缩,包括: 将确定的所述同一位置上需要绑定存储的亮度数据和色度数据压缩成所述存储器的最小数据结构的N倍,N是正整数。5.根据权利要求1?4任一所述的方法,其特征在于,确定参考帧数据中同一位置上需要绑定存储的亮度数据和色度数据之后,将亮度数据和色度数据存储在存储器的同一个子宏块中之前,还包括: 根据所述视频参考帧数据对应的视频码流,将需要绑定存储的亮度数据分成多个亮度数据组,以及将需要绑定存储的色度数据分成多个色度数据组,以便以组为单位进行存储。6.一种视频参考帧数据存储的设备,其特征在于,该设备包括: 确定模块,用于确定参考帧数据中同一位置上需要绑定存储的亮度数据和色度数据; 处理模块,用于将确定的同一位置上需要绑定存储的亮度数据和色度数据存储在存储器的同一个子宏块中,其中所述存储器中有多个宏块,每个所述宏块由多个所述子宏块组成,同一个宏块中的每个子宏块分别存储同一个视频参考帧数据中不同位置的亮度数据和色度数据。7.根据权利要求6所述的设备,其特征在于,所述处理模块具体用于: 对所述确定的同一位置上需要绑定存储的亮度数据和色度数据进行压缩;将压缩后的所述亮度数据和色度数据存储在存储器的同一个子宏块中。8.根据权利要求7所述的设备,其特征在于,所述处理模块具体用于: 根据存储器的最小数据结构,对所述确定的同一位置上需要绑定存储的亮度数据和色度数据进行压缩。9.根据权利要求8所述的设备,其特征在于,所述处理模块具体用于: 将确定的所述同一位置上需要绑定存储的亮度数据和色度数据压缩成所述存储器的最小数据结构的N倍,N是正整数。10.根据权利要求6?9任一所述的设备,其特征在于,该设备还包括: 分组模块,用于根据所述视频参考帧数据对应的视频码流,将需要绑定存储的亮度数据分成多个亮度数据组,以及将需要绑定存储的色度数据分成多个色度数据组,以便以组为单位进行存储。
【文档编号】H04N5/76GK105991951SQ201510042262
【公开日】2016年10月5日
【申请日】2015年1月27日
【发明人】旷开智
【申请人】炬芯(珠海)科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1