CN114298888A - 一种视频数据处理方法、装置、设备及可读存储介质 - Google Patents
一种视频数据处理方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN114298888A CN114298888A CN202111445401.4A CN202111445401A CN114298888A CN 114298888 A CN114298888 A CN 114298888A CN 202111445401 A CN202111445401 A CN 202111445401A CN 114298888 A CN114298888 A CN 114298888A
- Authority
- CN
- China
- Prior art keywords
- address
- memory
- stored
- line
- pixels
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title abstract description 14
- 238000006243 chemical reaction Methods 0.000 claims abstract description 79
- 238000000034 method Methods 0.000 claims abstract description 56
- 238000012545 processing Methods 0.000 claims abstract description 33
- 230000015654 memory Effects 0.000 claims description 208
- 238000004590 computer program Methods 0.000 claims description 12
- 238000002372 labelling Methods 0.000 claims description 4
- 230000007704 transition Effects 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 2
- 101100325756 Arabidopsis thaliana BAM5 gene Proteins 0.000 description 10
- 101150046378 RAM1 gene Proteins 0.000 description 10
- 101100476489 Rattus norvegicus Slc20a2 gene Proteins 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 101100113692 Caenorhabditis elegans clk-2 gene Proteins 0.000 description 5
- 102100031584 Cell division cycle-associated 7-like protein Human genes 0.000 description 3
- 101000777638 Homo sapiens Cell division cycle-associated 7-like protein Proteins 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 101100328957 Caenorhabditis elegans clk-1 gene Proteins 0.000 description 1
- 101150085102 Clk3 gene Proteins 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Television Systems (AREA)
Abstract
本申请公开了一种视频数据处理方法、装置、设备及可读存储介质。本申请在将一行像素以奇偶点方式存储转换为以左右半行方式存储时,能够在一个转换时刻进行左半行像素点和右半行像素点的同时写入,并且,能够在一个转换时刻确定左半行的下一个待写像素点和右半行的下一个待写像素点,可见在一个转换时刻进行了两个像素点的同时写入,以及两个读地址的确定。相比于现有技术,该方案能够成倍节约时间成本,从而提高转换效率和视频数据的处理速率。相应地,本申请提供的一种视频数据处理装置、设备及可读存储介质,也同样具有上述技术效果。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种视频数据处理方法、装置、设备及可读存储介质。
背景技术
目前,若需要将一行像素以奇偶点方式存储转换为以左右半行方式存储,通常的做法是:针对左半行数据,在第一个时刻读取偶存储器中一个地址,在第二个时刻将前一时刻所读取地址中的像素点写入左半行存储器,在第三个时刻读取奇存储器中一个地址,在第四个时刻将前一时刻所读取地址中的像素点写入左半行存储器,如此循环,从而交替从偶存储器和奇存储器中读出所有的左半行数据写入左半行存储器。针对右半行数据亦如此处理。可见,该过程需要消耗更多的时间成本,影响视频数据的处理速率。
因此,如何降低奇偶点存储方式转换为左右半行存储方式的时间成本,以提高视频数据的处理速率,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种视频数据处理方法、装置、设备及可读存储介质,以降低奇偶点存储方式转换为左右半行存储方式的时间成本,提高视频数据的处理速率。其具体方案如下:
第一方面,本申请提供了一种视频数据处理方法,包括:
若将任一帧视频中的任一行像素以奇偶点方式存储后,转换为以左右半行方式存储,则确定该行像素的总个数;
在该行像素的初始转换时刻,将偶存储器中的地址0确定为待存储至左半行存储器的第一个像素点的读地址,并进入下一时刻;
在该行像素的第二转换时刻,从所述地址0中读取所述第一个像素点,并将所述第一个像素点存储至所述左半行存储器中的地址0;将奇存储器中的地址0确定为待存储至所述左半行存储器的地址1中的像素点的读地址,并将偶存储器中的地址X确定为待存储至右半行存储器的第一个像素点的读地址,然后进入下一转换时刻;X由所述总个数除以4后向下取整得到;
在该行像素的其他转换时刻,从前一时刻确定的读地址中读取像素点,并将读取到的像素点存储至所述左半行存储器或所述右半行存储器中的写入地址,确定待存储至所述写入地址的下一地址的像素点的读地址,然后进入下一转换时刻,直至该行像素以左右半行方式完成存储;其中,所述左半行存储器中的写入地址的标记不大于目标值;所述目标值为所述总个数的一半减一。
优选地,所述左半行存储器和所述右半行存储器中的写入地址的标记自0开始取值、且在每一转换时刻递增一。
优选地,自所述偶存储器的地址0开始,按序存储有该行像素中像素点标记值为偶数的所有像素点;自所述奇存储器的地址0开始,按序存储有该行像素中像素点标记值为奇数的所有像素点;该行像素的像素点标记值从左至右自0开始。
优选地,所述确定待存储至所述写入地址的下一地址的像素点的读地址,包括:
若将读取到的像素点存储至所述左半行存储器中的写入地址、且前一时刻确定的该像素点的读地址在所述偶存储器中,则在所述奇存储器中确定待存储至所述写入地址的下一地址的像素点的读地址;
若将读取到的像素点存储至所述左半行存储器中的写入地址、且前一时刻确定的该像素点的读地址在所述奇存储器中,则在所述偶存储器中确定待存储至所述写入地址的下一地址的像素点的读地址。
优选地,所述确定待存储至所述写入地址的下一地址的像素点的读地址,包括:
若将读取到的像素点存储至所述右半行存储器中的写入地址、且前一时刻确定的该像素点的读地址在所述偶存储器中,则在所述奇存储器中确定待存储至所述写入地址的下一地址的像素点的读地址;
若将读取到的像素点存储至所述右半行存储器中的写入地址、且前一时刻确定的该像素点的读地址在所述奇存储器中,则在所述偶存储器中确定待存储至所述写入地址的下一地址的像素点的读地址。
优选地,还包括:
若该行像素的转换流程结束,则在所述总个数不是4的倍数的情况下,删除所述右半行存储器的地址0中的像素点,以便下一模块处理所述左半行存储器和所述右半行存储器中存储的该行像素。
优选地,还包括:
若该行像素的转换流程结束,则在下一模块处理所述左半行存储器和所述右半行存储器中存储的该行像素后,针对该帧视频中的下一行像素进行转换。
第二方面,本申请提供了一种视频数据处理装置,包括:
确定模块,用于若将任一帧视频中的任一行像素以奇偶点方式存储后,转换为以左右半行方式存储,则确定该行像素的总个数;
初始转换模块,用于在该行像素的初始转换时刻,将偶存储器中的地址0确定为待存储至左半行存储器的第一个像素点的读地址,并进入下一时刻;
第二转换模块,用于在该行像素的第二转换时刻,从所述地址0中读取所述第一个像素点,并将所述第一个像素点存储至所述左半行存储器中的地址0;将奇存储器中的地址0确定为待存储至所述左半行存储器的地址1中的像素点的读地址,并将偶存储器中的地址X确定为待存储至右半行存储器的第一个像素点的读地址,然后进入下一转换时刻;X由所述总个数除以4后向下取整得到;
其他转换模块,用于在该行像素的其他转换时刻,从前一时刻确定的读地址中读取像素点,并将读取到的像素点存储至所述左半行存储器或所述右半行存储器中的写入地址,确定待存储至所述写入地址的下一地址的像素点的读地址,然后进入下一转换时刻,直至该行像素以左右半行方式完成存储;其中,所述左半行存储器中的写入地址的标记不大于目标值;所述目标值为所述总个数的一半减一。
第三方面,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的视频数据处理方法。
第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的视频数据处理方法。
通过以上方案可知,本申请提供了一种视频数据处理方法,包括:若将任一帧视频中的任一行像素以奇偶点方式存储后,转换为以左右半行方式存储,则确定该行像素的总个数;在该行像素的初始转换时刻,将偶存储器中的地址0确定为待存储至左半行存储器的第一个像素点的读地址,并进入下一时刻;在该行像素的第二转换时刻,从所述地址0中读取所述第一个像素点,并将所述第一个像素点存储至所述左半行存储器中的地址0;将奇存储器中的地址0确定为待存储至所述左半行存储器的地址1中的像素点的读地址,并将偶存储器中的地址X确定为待存储至右半行存储器的第一个像素点的读地址,然后进入下一转换时刻;X由所述总个数除以4后向下取整得到;在该行像素的其他转换时刻,从前一时刻确定的读地址中读取像素点,并将读取到的像素点存储至所述左半行存储器或所述右半行存储器中的写入地址,确定待存储至所述写入地址的下一地址的像素点的读地址,然后进入下一转换时刻,直至该行像素以左右半行方式完成存储;其中,所述左半行存储器中的写入地址的标记不大于目标值。
可见,本申请在将一行像素以奇偶点方式存储转换为以左右半行方式存储时,能够在一个转换时刻进行左半行像素点和右半行像素点的同时写入,并且,能够在一个转换时刻确定左半行的下一个待写像素点和右半行的下一个待写像素点,可见在一个转换时刻进行了两个像素点的同时写入,以及两个读地址的确定。相比于现有技术(在一个时刻确定一个地址,在下一时刻基于上一时刻的地址进行一个像素点写入),该方案能够成倍节约时间成本,从而提高转换效率和视频数据的处理速率。
相应地,本申请提供的一种视频数据处理装置、设备及可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种视频数据处理方法流程图;
图2为本申请公开的一种视频数据处理装置示意图;
图3为本申请公开的一种电子设备示意图;
图4为本申请公开的一种奇偶点存储流程示意图;
图5为本申请公开的一种奇偶点存储方式的存储结果示意图;
图6为本申请公开的一种左右半行存储方式的存储结果示意图;
图7为本申请公开的另一种奇偶点存储方式的存储结果示意图;
图8为本申请公开的另一种左右半行存储方式的存储结果示意图;
图9为本申请公开的一种转换流程示意图;
图10为本申请公开的另一种转换流程示意图;
图11为本申请公开的一种转换前后的结果对比示意图;
图12为本申请公开的一种像素列数不是4的倍数的存储方式转换示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,若需要将一行像素以奇偶点方式存储转换为以左右半行方式存储,需要消耗更多的时间成本,影响视频数据的处理速率。为此,本申请提供了一种视频数据处理方案,能够降低奇偶点存储方式转换为左右半行存储方式的时间成本,提高视频数据的处理速率。
参见图1所示,本申请实施例公开了一种视频数据处理方法,包括:
S101、若将任一帧视频中的任一行像素以奇偶点方式存储后,转换为以左右半行方式存储,则确定该行像素的总个数。
S102、在该行像素的初始转换时刻,将偶存储器中的地址0确定为待存储至左半行存储器的第一个像素点的读地址,并进入下一时刻。
其中,自偶存储器的地址0开始,按序存储有该行像素中像素点标记值为偶数的所有像素点;自奇存储器的地址0开始,按序存储有该行像素中像素点标记值为奇数的所有像素点;该行像素的像素点标记值从左至右自0开始。
例如:当前行像素有4个,分别标记为0、1、2、3,那么偶存储器的地址0-地址1,按序存储有像素点0和像素点2;奇存储器的地址0-地址1,按序存储有像素点1和像素点3。将其转换为以左右半行方式存储后,左半行存储器的地址0-地址1,按序存储有像素点0和像素点1;右半行存储器的地址0-地址1,按序存储有像素点2和像素点3。由此可见,待存储至左半行存储器的第一个像素点即为像素点0,待存储至右半行存储器的第一个像素点即为像素点2。按照S103中提供的方式,X=4/4=1(向下取整),即像素点2在偶存储器中的读地址为地址1。由于左半行存储器中的写入地址的标记不大于目标值(4/2-1=1),因此左半行存储器中的写入地址最大为地址1,这样就限制了左半行存储器中需要存储的像素点个数。左半行存储器中需要存储的像素点个数与右半行存储器中需要存储的像素点个数相等。
假设当前行像素有6个,分别标记为0、1、2、3、4、5,那么偶存储器的地址0-地址2,按序存储有像素点0、像素点2、像素点4;奇存储器的地址0-地址2,按序存储有像素点1、像素点3、像素点5。将其转换为以左右半行方式存储后,左半行存储器的地址0-地址2,按序存储有像素点0、像素点1、像素点2;右半行存储器的地址0-地址2,按序存储有像素点3、像素点4、像素点5。由此可见,待存储至左半行存储器的第一个像素点仍为像素点0,待存储至右半行存储器的第一个像素点为像素点3。按照S103中提供的方式,X=6/4=1.5(向下取整),即像素点2在偶存储器中的读地址为地址1。此时需要注意,像素点2已经存储在了左半行存储器中,因此按照S103提供的方式将像素点2存储至右半行存储器,相当于错误存储了像素点2,因此在该行像素的转换流程结束后,从右半行存储器中删除地址0中的像素点2。由于左半行存储器中的写入地址的标记不大于目标值(6/2-1=2),因此左半行存储器中的写入地址最大为地址2,这样就限制了左半行存储器中需要存储的像素点个数。左半行存储器中需要存储的像素点个数与右半行存储器中需要存储的像素点个数相等。
因此在一种具体实施方式中,还包括:若该行像素的转换流程结束,则在总个数不是4的倍数的情况下,删除右半行存储器的地址0中的像素点,以便下一模块处理左半行存储器和右半行存储器中存储的该行像素。
S103、在该行像素的第二转换时刻,从地址0中读取第一个像素点,并将第一个像素点存储至左半行存储器中的地址0;将奇存储器中的地址0确定为待存储至左半行存储器的地址1中的像素点的读地址,并将偶存储器中的地址X确定为待存储至右半行存储器的第一个像素点的读地址,然后进入下一转换时刻。
其中,X由总个数除以4后向下取整得到。
在一种具体实施方式中,左半行存储器和右半行存储器中的写入地址的标记自0开始取值、且在每一转换时刻递增一。
S104、在该行像素的其他转换时刻,从前一时刻确定的读地址中读取像素点,并将读取到的像素点存储至左半行存储器或右半行存储器中的写入地址,确定待存储至写入地址的下一地址的像素点的读地址,然后进入下一转换时刻,直至该行像素以左右半行方式完成存储。
其中,左半行存储器中的写入地址的标记不大于目标值;所述目标值为所述总个数的一半减一。
在本实施例中,仍然交替从偶存储器和奇存储器中读出像素点,与现有技术不同的是,本实施例在一个时刻(除初始转换时刻外)可以确定出两个读地址,同时将上一时刻确定的读地址中的像素点进行写入,能够并行进行左右半行数据的存储,节约了时间成本。
可见,本实施例在将一行像素以奇偶点方式存储转换为以左右半行方式存储时,能够在一个转换时刻进行左半行像素点和右半行像素点的同时写入,并且,能够在一个转换时刻确定左半行的下一个待写像素点和右半行的下一个待写像素点,可见在一个转换时刻进行了两个像素点的同时写入,以及两个读地址的确定。相比于现有技术(在一个时刻确定一个地址,在下一时刻基于上一时刻的地址进行一个像素点写入),该方案能够成倍节约时间成本,从而提高转换效率和视频数据的处理速率。
基于上述实施例,需要说明的是,在一种具体实施方式中,确定待存储至写入地址的下一地址的像素点的读地址,包括:若将读取到的像素点存储至左半行存储器中的写入地址、且前一时刻确定的该像素点的读地址在偶存储器中,则在奇存储器中确定待存储至写入地址的下一地址的像素点的读地址;若将读取到的像素点存储至左半行存储器中的写入地址、且前一时刻确定的该像素点的读地址在奇存储器中,则在偶存储器中确定待存储至写入地址的下一地址的像素点的读地址。
在一种具体实施方式中,确定待存储至写入地址的下一地址的像素点的读地址,包括:若将读取到的像素点存储至右半行存储器中的写入地址、且前一时刻确定的该像素点的读地址在偶存储器中,则在奇存储器中确定待存储至写入地址的下一地址的像素点的读地址;若将读取到的像素点存储至右半行存储器中的写入地址、且前一时刻确定的该像素点的读地址在奇存储器中,则在偶存储器中确定待存储至写入地址的下一地址的像素点的读地址。
基于上述实施例,需要说明的是,在一种具体实施方式中,还包括:若该行像素的转换流程结束,则在下一模块处理左半行存储器和右半行存储器中存储的该行像素后,针对该帧视频中的下一行像素进行转换。其中,针对每一行像素都按照S101-S104进行转换。因为视频数据以行为单位形成数据流,该数据流以奇偶点方式存储后,会转换为以左右半行方式存储,后续其他模块会从左半行存储器和右半行存储器中读取该数据流进行处理。
因此针对该帧视频中的下一行像素进行转换时,下一行像素所构成的新数据流已经覆盖了偶存储器和奇存储器中的上一行像素点(上一行像素点已被转换和处理,因此可以从偶存储器和奇存储器中删除),相应的,可以直接在左半行存储器和右半行存储器中覆盖式写入下一行像素,故偶存储器、奇存储器、左半行存储器、右半行存储器的地址的标记都自0开始取值。
下面对本申请实施例提供的一种视频数据处理装置进行介绍,下文描述的一种视频数据处理装置与上文描述的一种视频数据处理方法可以相互参照。
参见图2所示,本申请实施例公开了一种视频数据处理装置,包括:
确定模块201,用于若将任一帧视频中的任一行像素以奇偶点方式存储后,转换为以左右半行方式存储,则确定该行像素的总个数;
初始转换模块202,用于在该行像素的初始转换时刻,将偶存储器中的地址0确定为待存储至左半行存储器的第一个像素点的读地址,并进入下一时刻;
第二转换模块203,用于在该行像素的第二转换时刻,从地址0中读取第一个像素点,并将第一个像素点存储至左半行存储器中的地址0;将奇存储器中的地址0确定为待存储至左半行存储器的地址1中的像素点的读地址,并将偶存储器中的地址X确定为待存储至右半行存储器的第一个像素点的读地址,然后进入下一转换时刻;X由总个数除以4后向下取整得到;
其他转换模块204,用于在该行像素的其他转换时刻,从前一时刻确定的读地址中读取像素点,并将读取到的像素点存储至左半行存储器或右半行存储器中的写入地址,确定待存储至写入地址的下一地址的像素点的读地址,然后进入下一转换时刻,直至该行像素以左右半行方式完成存储;其中,左半行存储器中的写入地址的标记不大于目标值;所述目标值为所述总个数的一半减一。
在一种具体实施方式中,左半行存储器和右半行存储器中的写入地址的标记自0开始取值、且在每一转换时刻递增一。
在一种具体实施方式中,自偶存储器的地址0开始,按序存储有该行像素中像素点标记值为偶数的所有像素点;自奇存储器的地址0开始,按序存储有该行像素中像素点标记值为奇数的所有像素点;该行像素的像素点标记值从左至右自0开始。
在一种具体实施方式中,其他转换模块具体用于:
若将读取到的像素点存储至左半行存储器中的写入地址、且前一时刻确定的该像素点的读地址在偶存储器中,则在奇存储器中确定待存储至写入地址的下一地址的像素点的读地址;
若将读取到的像素点存储至左半行存储器中的写入地址、且前一时刻确定的该像素点的读地址在奇存储器中,则在偶存储器中确定待存储至写入地址的下一地址的像素点的读地址。
在一种具体实施方式中,其他转换模块具体用于:
若将读取到的像素点存储至右半行存储器中的写入地址、且前一时刻确定的该像素点的读地址在偶存储器中,则在奇存储器中确定待存储至写入地址的下一地址的像素点的读地址;
若将读取到的像素点存储至右半行存储器中的写入地址、且前一时刻确定的该像素点的读地址在奇存储器中,则在偶存储器中确定待存储至写入地址的下一地址的像素点的读地址。
在一种具体实施方式中,还包括:
删除模块,用于若该行像素的转换流程结束,则在总个数不是4的倍数的情况下,删除右半行存储器的地址0中的像素点,以便下一模块处理左半行存储器和右半行存储器中存储的该行像素。
在一种具体实施方式中,还包括:
迭代模块,用于若该行像素的转换流程结束,则在下一模块处理左半行存储器和右半行存储器中存储的该行像素后,针对该帧视频中的下一行像素进行转换。
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例提供了一种视频数据处理装置,能够成倍节约时间成本,从而提高转换效率和视频数据的处理速率。
下面对本申请实施例提供的一种电子设备进行介绍,下文描述的一种电子设备与上文描述的一种视频数据处理方法及装置可以相互参照。
参见图3所示,本申请实施例公开了一种电子设备,包括:
存储器301,用于保存计算机程序;
处理器302,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种视频数据处理方法、装置及设备可以相互参照。
一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的视频数据处理方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
请参见图4,奇偶点存储方式的流程示意图如图4所示,在0时刻,将像素点0(图4中的Pixel0)和像素点1(图4中的Pixel1)分别写入偶存储器(图4中的偶像素点RAM)和奇存储器(图4中的奇像素点RAM)。在1时刻,将像素点2(图4中的Pixel2)和像素点3(图4中的Pixel3)分别写入偶存储器和奇存储器。后续以此类推,直至该行像素被存储至偶存储器和奇存储器。
假设一行像素包括:Pixel0~Pixel7共8个像素点,那么奇偶点存储方式的存储结果如图5所示,左右半行存储方式的存储结果如图6所示。
请参见图4-图6,在视频处理系统中,源视频数据通常以DDR(Double Data Rate,双倍数据速率)方式输入,经过IDDR(Input Double Data Rate,输入双倍数据速率)模块后分成偶像素点和奇像素点分别写入偶像素点RAM和奇像素点RAM。但是后级处理模块通常希望视频数据按左半行和右半行的方式存储,所以需要对数据存储方式进行转换,将数据从按照奇偶点存储转换为按照左半行和右半行的方式存储。
为此,本申请提出了一种提高视频数据处理效率的硬件实现方法,能够降低数据存储方式的转换时间,使对视频数据的处理可以按照流水方式进行,提高了数据处理的效率。
具体的,通过合理设置读地址以及交替的选取偶像素点RAM和奇像素点RAM,来降低转换时间。
以像素列数为4的倍数的视频数据为例,假设视频数据的像素列数为4*n,n为正整数,针对一行包括4*n个像素点的视频数据,奇偶点存储方式的存储结果如图7所示,左右半行存储方式的存储结果如图8所示。
请参见图9,由图7转换为图8的过程可以包括以下步骤:
1、Clk0时刻,确定像素点0在RAM0中的读地址为Addr 0,即像素点0在RAM0中的存储地址。
2、Clk1时刻,从RAM0的Addr 0读出像素点0,并写入RAM2的Addr 0;同时,确定像素点1在RAM1中的读地址为Addr 0,确定像素点2*n在RAM0中的读地址为Addr n。
3、Clk2时刻,从RAM1中的Addr 0读出像素点1,并写入RAM2的Addr 1;从RAM0中的Addr n读出像素点2*n,并写入RAM3的Addr 0;同时,确定像素点2在RAM0中的读地址为Addr1,确定像素点2*n+1在RAM1中的读地址为Addr n。
4、Clk3时刻,从RAM0中的Addr 1读出像素点2,并写入RAM2的Addr 2;从RAM1中的Addr n读出像素点2*n+1,并写入RAM3的Addr 1;同时,确定像素点3在RAM1中的读地址为Addr 1,确定像素点2*n+2在RAM0中的读地址为Addr n+1。
5、按照上述流程以此类推,在Clk2*n-1时刻,读第4*n-2个像素点,RAM0读地址赋值为2*n-1,即第4*n-2个像素点在RAM0中的存储地址;同时,读第2*n-1个像素点,RAM1读地址赋值为n-1,即第2*n-1个像素点在RAM1中的存储地址;同时,将从RAM0读出的第2*n-2个像素点写入RAM2的地址2*n-2;同时将从RAM1读出的第4*n-3个像素点写入RAM3的地址2*n-3。
6、Clk2*n时刻,读第4*n-1个像素点,RAM1读地址赋值为2*n-1,即第4*n-1个像素点在RAM1中的存储地址;同时,将从RAM0读出的第4*n-2个像素点写入RAM3的地址2*n-2;同时将从RAM1读出的第2*n-1个像素点写入RAM2的地址2*n-1。
7、Clk2*n+1时刻,将从RAM1读出的第4*n-1个像素点写入RAM3的地址2*n-1。
据此,可有如下示例,假设视频帧的列数为3840,那么各个时刻确定的读地址和写入的像素点可参见图10,转换前后的存储结果可参见图11。从图10可看出,从Clk2时刻开始,能够在一个时刻进行两个像素点的同时写入,以及两个读地址的确定,从而可提升转换效率。
可见,本实施例通过合理地确定读地址以及交替的选取RAM的输出数据,降低了数据存储方式转换时间,使对视频数据的处理可以按照流水方式进行,通过硬件逻辑实现提高了数据处理的的效率,能够成倍节约时间成本,从而提高转换效率和视频数据的处理速率。
此外,当像素列数不是4的倍数时,需要对上述方案进行相应调整。请参见图12,假设像素列数为10,那么左半行RAM2的地址最大为Addr 4,像素点5的读地址虽然被确定,但由于像素点5写入RAM2,会使RAM2的最大地址超过Addr 4,因此像素点5不写入RAM2。而针对右半行RAM3,虽然像素点4会写入RAM3,但在完成转换后,会从RAM3中删除像素点4。具体可参照上述实施例的相关介绍。
本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种视频数据处理方法,其特征在于,包括:
若将任一帧视频中的任一行像素以奇偶点方式存储后,转换为以左右半行方式存储,则确定该行像素的总个数;
在该行像素的初始转换时刻,将偶存储器中的地址0确定为待存储至左半行存储器的第一个像素点的读地址,并进入下一时刻;
在该行像素的第二转换时刻,从所述地址0中读取所述第一个像素点,并将所述第一个像素点存储至所述左半行存储器中的地址0;将奇存储器中的地址0确定为待存储至所述左半行存储器的地址1中的像素点的读地址,并将偶存储器中的地址X确定为待存储至右半行存储器的第一个像素点的读地址,然后进入下一转换时刻;X由所述总个数除以4后向下取整得到;
在该行像素的其他转换时刻,从前一时刻确定的读地址中读取像素点,并将读取到的像素点存储至所述左半行存储器或所述右半行存储器中的写入地址,确定待存储至所述写入地址的下一地址的像素点的读地址,然后进入下一转换时刻,直至该行像素以左右半行方式完成存储;其中,所述左半行存储器中的写入地址的标记不大于目标值;所述目标值为所述总个数的一半减一。
2.根据权利要求1所述的方法,其特征在于,所述左半行存储器和所述右半行存储器中的写入地址的标记自0开始取值、且在每一转换时刻递增一。
3.根据权利要求1所述的方法,其特征在于,自所述偶存储器的地址0开始,按序存储有该行像素中像素点标记值为偶数的所有像素点;自所述奇存储器的地址0开始,按序存储有该行像素中像素点标记值为奇数的所有像素点;该行像素的像素点标记值从左至右自0开始。
4.根据权利要求3所述的方法,其特征在于,所述确定待存储至所述写入地址的下一地址的像素点的读地址,包括:
若将读取到的像素点存储至所述左半行存储器中的写入地址、且前一时刻确定的该像素点的读地址在所述偶存储器中,则在所述奇存储器中确定待存储至所述写入地址的下一地址的像素点的读地址;
若将读取到的像素点存储至所述左半行存储器中的写入地址、且前一时刻确定的该像素点的读地址在所述奇存储器中,则在所述偶存储器中确定待存储至所述写入地址的下一地址的像素点的读地址。
5.根据权利要求3所述的方法,其特征在于,所述确定待存储至所述写入地址的下一地址的像素点的读地址,包括:
若将读取到的像素点存储至所述右半行存储器中的写入地址、且前一时刻确定的该像素点的读地址在所述偶存储器中,则在所述奇存储器中确定待存储至所述写入地址的下一地址的像素点的读地址;
若将读取到的像素点存储至所述右半行存储器中的写入地址、且前一时刻确定的该像素点的读地址在所述奇存储器中,则在所述偶存储器中确定待存储至所述写入地址的下一地址的像素点的读地址。
6.根据权利要求1所述的方法,其特征在于,还包括:
若该行像素的转换流程结束,则在所述总个数不是4的倍数的情况下,删除所述右半行存储器的地址0中的像素点,以便下一模块处理所述左半行存储器和所述右半行存储器中存储的该行像素。
7.根据权利要求1至6任一项所述的方法,其特征在于,还包括:
若该行像素的转换流程结束,则在下一模块处理所述左半行存储器和所述右半行存储器中存储的该行像素后,针对该帧视频中的下一行像素进行转换。
8.一种视频数据处理装置,其特征在于,包括:
确定模块,用于若将任一帧视频中的任一行像素以奇偶点方式存储后,转换为以左右半行方式存储,则确定该行像素的总个数;
初始转换模块,用于在该行像素的初始转换时刻,将偶存储器中的地址0确定为待存储至左半行存储器的第一个像素点的读地址,并进入下一时刻;
第二转换模块,用于在该行像素的第二转换时刻,从所述地址0中读取所述第一个像素点,并将所述第一个像素点存储至所述左半行存储器中的地址0;将奇存储器中的地址0确定为待存储至所述左半行存储器的地址1中的像素点的读地址,并将偶存储器中的地址X确定为待存储至右半行存储器的第一个像素点的读地址,然后进入下一转换时刻;X由所述总个数除以4后向下取整得到;
其他转换模块,用于在该行像素的其他转换时刻,从前一时刻确定的读地址中读取像素点,并将读取到的像素点存储至所述左半行存储器或所述右半行存储器中的写入地址,确定待存储至所述写入地址的下一地址的像素点的读地址,然后进入下一转换时刻,直至该行像素以左右半行方式完成存储;其中,所述左半行存储器中的写入地址的标记不大于目标值;所述目标值为所述总个数的一半减一。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的方法。
10.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111445401.4A CN114298888B (zh) | 2021-11-30 | 2021-11-30 | 一种视频数据处理方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111445401.4A CN114298888B (zh) | 2021-11-30 | 2021-11-30 | 一种视频数据处理方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114298888A true CN114298888A (zh) | 2022-04-08 |
CN114298888B CN114298888B (zh) | 2024-03-29 |
Family
ID=80966114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111445401.4A Active CN114298888B (zh) | 2021-11-30 | 2021-11-30 | 一种视频数据处理方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114298888B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009071616A (ja) * | 2007-09-13 | 2009-04-02 | Seiko Epson Corp | 画像処理装置、画像処理装置の制御方法 |
CN102137268A (zh) * | 2011-04-08 | 2011-07-27 | 清华大学 | 立体视频的行交错和棋盘格的渲染方法及装置 |
CN111882481A (zh) * | 2020-06-09 | 2020-11-03 | 西安万像电子科技有限公司 | 数据传输方法及装置 |
CN112835512A (zh) * | 2019-11-25 | 2021-05-25 | 深圳市中兴微电子技术有限公司 | 一种数据读取及写入方法、装置、设备及存储介质 |
-
2021
- 2021-11-30 CN CN202111445401.4A patent/CN114298888B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009071616A (ja) * | 2007-09-13 | 2009-04-02 | Seiko Epson Corp | 画像処理装置、画像処理装置の制御方法 |
CN102137268A (zh) * | 2011-04-08 | 2011-07-27 | 清华大学 | 立体视频的行交错和棋盘格的渲染方法及装置 |
CN112835512A (zh) * | 2019-11-25 | 2021-05-25 | 深圳市中兴微电子技术有限公司 | 一种数据读取及写入方法、装置、设备及存储介质 |
CN111882481A (zh) * | 2020-06-09 | 2020-11-03 | 西安万像电子科技有限公司 | 数据传输方法及装置 |
Non-Patent Citations (1)
Title |
---|
钟雪燕;夏前亮;陈智军;: "基于FPGA的图像超分辨率的硬件化实现", 现代电子技术, no. 17, 1 September 2017 (2017-09-01) * |
Also Published As
Publication number | Publication date |
---|---|
CN114298888B (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3499428A1 (en) | Method and electronic device for convolution calculation in neutral network | |
EP3499427A1 (en) | Method and electronic device for convolution calculation in neutral network | |
CN111984189B (zh) | 神经网络计算装置和数据读取、数据存储方法及相关设备 | |
CN115035128B (zh) | 基于fpga的图像重叠滑窗分割方法及系统 | |
CN111310115B (zh) | 数据处理方法、装置及芯片、电子设备、存储介质 | |
CN112835552A (zh) | 一种外积累加求解稀疏矩阵与稠密矩阵内积的方法 | |
CN110688616A (zh) | 一种基于乒乓ram的条带阵列的卷积模块及其运算方法 | |
KR100283413B1 (ko) | 텍스처 매핑시스템 | |
CN111222090B (zh) | 卷积计算模块、神经网络处理器、芯片和电子设备 | |
CN114298888A (zh) | 一种视频数据处理方法、装置、设备及可读存储介质 | |
CN104869284A (zh) | 一种双线性插值放大算法的高效率fpga实现方法和装置 | |
CN110377877B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN110516793B (zh) | 一种池化处理方法及装置、存储介质 | |
US20230252600A1 (en) | Image size adjustment structure, adjustment method, and image scaling method and device based on streaming architecture | |
CN114936633B (zh) | 用于转置运算的数据处理单元及图像转置运算方法 | |
CN112837256B (zh) | 一种用于Harris角点检测的电路系统及检测方法 | |
CN110569684B (zh) | 一种小容量缓存的图像二值化方法 | |
CN111368250B (zh) | 基于傅里叶变换/逆变换的数据处理系统、方法及设备 | |
CN114022689B (zh) | 基于fpga的相似度计算方法及系统 | |
CN104102594A (zh) | 实现图像数据缓存读写控制的系统及方法 | |
CN103984636B (zh) | 存储结构及信息存储、读取、寻址方法 | |
JP3417473B2 (ja) | メモリアクセスシステム | |
US20230307036A1 (en) | Storage and Accessing Methods for Parameters in Streaming AI Accelerator Chip | |
CN115665335B (zh) | 图像处理方法、装置、图像形成设备及介质 | |
CN117971501B (zh) | 一种数据访问方法、设备、存储介质及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |