一种视频流数据读取方法、装置、设备及存储介质与流程

文档序号:19792097发布日期:2020-01-24 14:27阅读:158来源:国知局
一种视频流数据读取方法、装置、设备及存储介质与流程

本发明涉及多媒体视频处理技术领域,更具体地说,涉及一种视频流数据读取方法、装置、设备及存储介质。



背景技术:

视频数据流是连续数据流,在需要对视频数据流的数据(简称视频流数据)进行处理时需要首先读取视频流数据,进而再对读取到的视频流数据进行处理;但是由于每次处理的视频流数据的数据位并不固定,如果要处理的视频流数据的数据位过长,则需要多次读取视频流数据,这就导致视频流数据的读取效率较低,进而导致对视频流数据的处理效率也较低。



技术实现要素:

本发明的目的是提供一种视频流数据读取方法、装置、设备及存储介质,能够有效提高视频流数据的数据读取效率及数据处理效率。

为了实现上述目的,本发明提供如下技术方案:

一种视频流数据读取方法,包括:

接收数据处理请求,确定与所述数据处理请求对应的需要进行处理的视频流数据为目标数据;

如果所述目标数据的数据位大于单个读端口所能读取的数据位,则判断是否设置有并行读标记,如果设置有所述并行读标记,则利用多个读端口以并行的方式读取所述目标数据,如果未设置有所述并行读标记,则利用单个读端口进行多次读取,直至读取到全部的所述目标数据为止;

如果所述目标数据的数据位不大于单个读端口所能读取的数据位,则直接利用单个读端口读取所述目标数据。

优选的,确定与所述读使能信号对应的当前需要进行处理的视频流数据为目标数据之后,还包括:

判断是否设置有校验标记,如果设置有所述校验标记,则利用多个读端口同时执行读取所述目标数据的步骤,以读取得到多份目标数据;如果读取得到的多份目标数据全部相同,则确定校验通过,并确定读取到的多份目标数据为需要进行处理的视频流数据;如果读取得到的多份目标数据不全部相同,则确定校验未通过;

如果未设置有所述校验标记,则直接执行读取所述目标数据的步骤,以读取得到一份目标数据。

优选的,确定校验未通过之后,还包括:

如果读取到的多份目标数据中存在至少两份相同的目标数据,则确定该至少两份相同的目标数据为需要进行处理的视频流数据,并将读取到的多份目标数据中与该需要进行处理的视频流数据不同的目标数据对应的读端口的端口标记进行输出。

优选的,确定校验未通过之后,还包括:

如果读取到的多份目标数据中不存在任意两份相同的目标数据,则输出读取该多份目标数据的读端口的读标记及该多份目标数据被读取前所在的存储模块的模块标记。

优选的,确定需要进行处理的视频流数据之后,还包括:

确定当前需要处理的视频流数据的数据位为目标数据位;

如果需要进行处理的视频流数据的数据位大于所述目标数据位,则由需要进行处理的视频流数据中取所述目标数据位的数据进行处理,并缓存多余的数据以待下次处理。

优选的,利用多个读端口以并行的方式读取所述目标数据之前,还包括:

将所述目标数据划分为多个数据部分,并为每个所述数据部分设置与其地址对应的序号;其中,每个所述数据部分的数据位等于单个读端口所能读取的数据位;

利用多个读端口以并行的方式读取所述目标数据,包括:

以所述读端口与所述数据部分一一对应的方式利用多个读端口以并行的方式读取所述目标数据对应的多个数据部分;

利用多个读端口以并行的方式读取所述目标数据之后,还包括:

将读取到的多个数据部分按照其序号进行拼接,得到所述目标数据。

优选的,还包括:

接收外界用户通过调用设置接口输入的标记设置信息,并基于所述标记设置信息进行并行读标记和/或校验标记的设置。

一种视频流数据读取装置,包括:

确定模块,用于:接收数据处理请求,确定与所述数据处理请求对应的需要进行处理的视频流数据为目标数据;

第一读取模块,用于:如果所述目标数据的数据位大于单个读端口所能读取的数据位,则判断是否设置有并行读标记,如果设置有所述并行读标记,则利用多个读端口以并行的方式读取所述目标数据,如果未设置有所述并行读标记,则利用单个读端口进行多次读取,直至读取到全部的所述目标数据为止;

第二读取模块,用于:如果所述目标数据的数据位不大于单个读端口所能读取的数据位,则直接利用单个读端口读取所述目标数据。

一种视频流数据读取设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上任一项所述视频流数据读取方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述视频流数据读取方法的步骤。

本发明提供了一种视频流数据读取方法、装置、设备及存储介质,其中,该方法包括:接收数据处理请求,确定与所述数据处理请求对应的需要进行处理的视频流数据为目标数据;如果所述目标数据的数据位大于单个读端口所能读取的数据位,则判断是否设置有并行读标记,如果设置有所述并行读标记,则利用多个读端口以并行的方式读取所述目标数据,如果未设置有所述并行读标记,则利用单个读端口进行多次读取,直至读取到全部的所述目标数据为止;如果所述目标数据的数据位不大于单个读端口所能读取的数据位,则直接利用单个读端口读取所述目标数据。本申请公开的技术方案,在需要读取的目标数据的数据位大于单个读端口所能读取的数据位时,如果设置有并行读标记则说明当前场景对数据读取效率及数据处理效率要求较高,则利用多个读端口并行读取目标数据中的不同部分,从而大大提高了数据读取效率,进而提高了数据处理效率。并且,在需要读取的目标数据的数据位大于单个读端口所能读取的数据位时,如果没有设置有并行读标记则说明当前场景对数据读取效率及数据处理要求较低或者需要利用读端口实现其他数据的读取,则可以利用单个端口多次读取目标数据,从而能够满足不同场景的需求。

附图说明

为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对实施例或背景技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种视频流数据读取方法的流程图;

图2为本发明实施例提供的一种视频数据读取装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,其示出了本发明实施例提供的一种视频流数据读取方法的流程图,可以包括:

s11:接收数据处理请求,确定与数据处理请求对应的需要进行处理的视频流数据为目标数据。

需要说明的是,本发明实施例提供的一种视频流数据读取方法的执行主语可以为对应的视频流数据读取装置。其中,视频流数据可以存储在内存ram中,进而在需要对视频流数据进行处理时,由内存ram中进行读取。需要说明的是,视频流数据是连续存储在内存ram中的,因此视频流数据具有连续的地址。在接收到数据处理请求后,则可以确定出内存ram中需要进行处理的视频流数据目标数据,进而对目标数据进行读取及处理。

s12:如果目标数据的数据位大于单个读端口所能读取的数据位,则判断是否设置有并行读标记,如果设置有并行读标记,则利用多个读端口以并行的方式读取目标数据,如果未设置有并行读标记,则利用单个读端口进行多次读取,直至读取到全部的目标数据为止。

由于单个读端口能够读取的数据位是固定的,如8位;但是在对视频流数据进行处理时所需的视频流数据的数据位长度是不固定的,因此本申请中在确定目标数据时确定出的目标数据的数据位为单个读端口所能读取的数据位的整数倍,具体来说,可以是将需要处理的数据位除以单个读端口所能读取的数据位所能商向上取整,再将向上取整所得结果乘以单个读端口所能读取的数据位则得到目标数据的数据位,进而由内存ram中确定出相应的目标数据。需要说明的是,本实施例中先判断目标数据的数据位是否大于单个读端口所能读取的数据位,在判断结果为是时,则说明利用单个读端口一次性无法读取到目标数据,此时则需要确定当前场景对视频流数据的数据读取效率及数据处理效率是否具有高要求,也即是否设置有并行读标记,如果是,则利用多个读端口并行读取目标数据包含的多个部分,如果将单次数据读取作为一个读取周期,则本申请中通过并行读取的方式可以在一个读取周期内读取到多组数据,从而大大提高数据读取效率,进而提高数据处理效率;如果否,则说明当前场景化对数据读取效率及数据处理效率要求较低、或者需要利用读端口实现其他数据的读取,因此直接利用单个读端口多次读取以读取到目标数据的全部。从而通过这种方式能够灵活基于当前场景对数据读取效率及数据处理效率的要求,实现目标数据的快速读取或者正常读取。

另外,读端口的数据量可以根据实际需要进行设定,如可以为两组独立的读端口;每个读端口都是独立的,都具有时钟(clk_r)、读使能信号(r_en)、读地址(r_addr)、读数据输出(r_data_out)引脚。本申请中可以通过向读端口输入读使能信号的方式控制其实现数据读取。

s13:如果目标数据的数据位不大于单个读端口所能读取的数据位,则直接利用单个读端口读取目标数据。

如果目标数据的数据位不大于单个读端口所能读取的数据,则可以直接利用单个读端口读取目标数据。

本申请公开的技术方案,在需要读取的目标数据的数据位大于单个读端口所能读取的数据位时,如果设置有并行读标记则说明当前场景对数据读取效率及数据处理效率要求较高,则利用多个读端口并行读取目标数据中的不同部分,从而大大提高了数据读取效率,进而提高了数据处理效率。并且,在需要读取的目标数据的数据位大于单个读端口所能读取的数据位时,如果没有设置有并行读标记则说明当前场景对数据读取效率及数据处理要求较低或者需要利用读端口实现其他数据的读取,则可以利用单个端口多次读取目标数据,从而能够满足不同场景的需求。

本发明实施例提供的一种视频流数据读取方法,确定与读使能信号对应的当前需要进行处理的视频流数据为目标数据之后,还可以包括:

判断是否设置有校验标记,如果设置有校验标记,则利用多个读端口同时执行读取目标数据的步骤,以读取得到多份目标数据;如果读取得到的多份目标数据全部相同,则确定校验通过,并确定读取到的多份目标数据为需要进行处理的视频流数据;如果读取得到的多份目标数据不全部相同,则确定校验未通过;

如果未设置有校验标记,则直接执行读取目标数据的步骤,以读取得到一份目标数据。

其中,为了保证读取的数据的有效性,本实施例中可以对读取的目标数据进行校验,具体来说,可以利用上述方式同时读取到多份目标数据,进而判断读取到的目标数据是否均相同,如果是,则说明读端口均正常,因此对数据的校验通过,否则则说明存在异常情况,对数据的校验未通过。并且,在对数据有效性要求较低的场景中可以不设置校验标记,从而通过这种方式灵活满足不同应用场景的需求。另外,本实施例中读取多份目标数据或者一份目标数据的方式是按照步骤s12至步骤s13实现的,在此不再赘述。

本发明实施例提供的一种视频流数据读取方法,确定校验未通过之后,还可以包括:

如果读取到的多份目标数据中存在至少两份相同的目标数据,则确定该至少两份相同的目标数据为需要进行处理的视频流数据,并将读取到的多份目标数据中与该需要进行处理的视频流数据不同的目标数据对应的读端口的端口标记进行输出。

因为读端口只有在不存在异常时才能够读取到正确的数据,而如果多个读端口存在异常则读取到的同一份数据相同的可能性极小,因此本实施例中如果读取到的目标数据不全部相同,则确定其中是否存在至少两份相同的目标数据,如果存在,则说明这至少两份相同的目标数据是正确的目标数据,也即为需要进行处理的视频流数据;然后将和正确的目标数据不同的其他目标数据对应的读端口的端口标记进行输出,以使得工作人员可以基于此及时获知可能出现异常的读端口,进而实现对应的修复操作等。

本发明实施例提供的一种视频流数据读取方法,确定校验未通过之后,还可以包括:

如果读取到的多份目标数据中不存在任意两份相同的目标数据,则输出读取该多份目标数据的读端口的读标记及该多份目标数据被读取前所在的存储模块的模块标记。

如果读取到的多份目标数据中不存在任意两份相同的目标数据,则无法确定出正确的目标数据,也就无法初步判断出出现异常的读端口,因此在这种情况下,本实施例将全部读端口的端口标记均输出,以使得工作人员可以基于此及时获知可能出现异常的读端口,进而实现对应的修复操作等;另外,存储模块是用于存储视频流数据的模块,如内存ram等,本实施例中为了避免是由于存储模块导致的异常,还将存储模块的模块标记进行输出,以使得工作人员基于此对对应的存储模块进行检测修复等操作。

本发明实施例提供的一种视频流数据读取方法,确定需要进行处理的视频流数据之后,还可以包括:

确定当前需要处理的视频流数据的数据位为目标数据位;

如果需要进行处理的视频流数据的数据位大于目标数据位,则由需要进行处理的视频流数据中取目标数据位的数据进行处理,并缓存多余的数据以待下次处理。

需要说明的是,由于在确定目标数据时确定出的目标数据的数据位为单个读端口所能读取的数据位的整数倍,具体可以是在读取目标数据时可以是将需要处理的数据位除以单个读端口所能读取的数据位所能商向上取整,再将向上取整所得结果乘以单个读端口所能读取的数据位则得到目标数据的数据位,进而由内存ram中确定出相应的目标数据。因此,可能读取到的需要进行处理的数据的数据位大于当前能够进行处理的数据位,此时只取当前能够进行处理的数据位的数据进行处理,其余的则缓存(如缓存至寄存器中),待下次需要处理视频流数据时再取出使用;具体来说,下次需要处理视频流数据时,如果缓存的视频流数据的数据位为当前需要处理的数据的数据位,则直接对其进行取出并处理,如果缓存的视频流数据的数据位小于当前需要处理的数据的数据位,则继续读取视频流数据,使得缓存的数据的数据位加上读取的部分或者全部视频流数据的数据位等于当前需要处理的数据的数据位,再将缓存的数据及上述读取的全部或部分视频流数据一起进行处理,如果缓存的视频流数据的数据位大于当前需要处理的数据的数据位,则由缓存的视频流数据中取出当前需要处理的数据的数据位的视频流数据并进行处理,缓存中剩余的数据待下次处理,以此类推;从而避免了同样的数据的多次获取,节省了数据读取资源。另外,如果需要进行处理的视频流数据的数据位等于目标数据位,则直接取需要进行处理的视频流数据进行处理,如果需要进行处理的视频流数据的数据位小于目标数据位,则继续读取视频流数据需要进行处理的视频流数据的数据位和读取的全部或者部分的视频流数据的数据位的总和等于当前需要处理的数据的数据位,然后对需要进行处理的视频流数据及上述读取的全部或者部分的视频流进行处理;也即本申请中每次进行处理时如果已经读取的数据(已经读取的数据包括缓存中的数据和/或当前次读取到的数据)的数据位小于当前需要进行处理的数据的数据位,则继续读取以得到当前需要进行处理的数据的数据位的数据,如果已经读取的数据的数据位大于当前需要进行处理的数据的数据位,则取其中当前需要进行处理的数据的数据位的数据进行处理,多余的数据位的数据留待下次处理,如果已经读取的数据的数据位等于当前需要进行处理的数据的数据位,则直接对已经读取的数据进行处理。

本发明实施例提供的一种视频流数据读取方法,利用多个读端口以并行的方式读取目标数据之前,还可以包括:

将目标数据划分为多个数据部分,并为每个数据部分设置与其地址对应的序号;其中,每个数据部分的数据位等于单个读端口所能读取的数据位;

利用多个读端口以并行的方式读取目标数据,可以包括:

以读端口与数据部分一一对应的方式利用多个读端口以并行的方式读取目标数据对应的多个数据部分;

利用多个读端口以并行的方式读取目标数据之后,还可以包括:

将读取到的多个数据部分按照其序号进行拼接,得到目标数据。

需要说明的是,本实施例中可以按照为目标数据划分的数据部分的地址设置对应的序号,由此通过数据部分的序号则能够确定其在目标数据中应该处的位置,进而在读取到目标数据的多个数据部分后,按照数据部分的序号将这多个数据部分拼接成目标数据,从而便于实现目标数据的并行读取。

本发明实施例提供的一种视频流数据读取方法,还可以包括:

接收外界用户通过调用设置接口输入的标记设置信息,并基于标记设置信息进行并行读标记和/或校验标记的设置。

需要说明的是,如果用户需要设置并行读标记和/或校验标记的有或无,可以通过调用设置接口输入对应的标记设置信息实现,从而方便了用户针对不同应用场景进行不同的设置。

可见,本申请公开的技术特征可以在一个读取周期内利用多个读端口读取到多组数据,从而提高数据读取效率及数据处理效率。

本发明实施例还提供了一种视频流数据读取装置,如图2所示,可以包括:

确定模块11,用于:接收数据处理请求,确定与数据处理请求对应的需要进行处理的视频流数据为目标数据;

第一读取模块12,用于:如果目标数据的数据位大于单个读端口所能读取的数据位,则判断是否设置有并行读标记,如果设置有并行读标记,则利用多个读端口以并行的方式读取目标数据,如果未设置有并行读标记,则利用单个读端口进行多次读取,直至读取到全部的目标数据为止;

第二读取模块13,用于:如果目标数据的数据位不大于单个读端口所能读取的数据位,则直接利用单个读端口读取目标数据。

本发明实施例提供的一种视频流数据读取装置,还可以包括:

校验模块,用于:确定与读使能信号对应的当前需要进行处理的视频流数据为目标数据之后,判断是否设置有校验标记,如果设置有校验标记,则利用多个读端口同时执行读取目标数据的步骤,以读取得到多份目标数据;如果读取得到的多份目标数据全部相同,则确定校验通过,并确定读取到的多份目标数据为需要进行处理的视频流数据;如果读取得到的多份目标数据不全部相同,则确定校验未通过;如果未设置有校验标记,则直接执行读取目标数据的步骤,以读取得到一份目标数据。

本发明实施例提供的一种视频流数据读取装置,还可以包括:

第一输出模块,用于:确定校验未通过之后,如果读取到的多份目标数据中存在至少两份相同的目标数据,则确定该至少两份相同的目标数据为需要进行处理的视频流数据,并将读取到的多份目标数据中与该需要进行处理的视频流数据不同的目标数据对应的读端口的端口标记进行输出。

本发明实施例提供的一种视频流数据读取装置,还可以包括:

第二输出模块,用于:确定校验未通过之后,如果读取到的多份目标数据中不存在任意两份相同的目标数据,则输出读取该多份目标数据的读端口的读标记及该多份目标数据被读取前所在的存储模块的模块标记。

本发明实施例提供的一种视频流数据读取装置,还可以包括:

取数据模块,用于:确定需要进行处理的视频流数据之后,确定当前需要处理的视频流数据的数据位为目标数据位;如果需要进行处理的视频流数据的数据位大于目标数据位,则由需要进行处理的视频流数据中取目标数据位的数据进行处理,并缓存多余的数据以待下次处理。

本发明实施例提供的一种视频流数据读取装置,还可以包括:

划分模块,用于:利用多个读端口以并行的方式读取目标数据之前,将目标数据划分为多个数据部分,并为每个数据部分设置与其地址对应的序号;其中,每个数据部分的数据位等于单个读端口所能读取的数据位;

拼接模块,用于:利用多个读端口以并行的方式读取目标数据之后,将读取到的多个数据部分按照其序号进行拼接,得到目标数据;

第一读取模块可以包括:

并行读取单元,用于:以读端口与数据部分一一对应的方式利用多个读端口以并行的方式读取目标数据对应的多个数据部分。

本发明实施例提供的一种视频流数据读取装置,还可以包括:

设置模块,用于:接收外界用户通过调用设置接口输入的标记设置信息,并基于标记设置信息进行并行读标记和/或校验标记的设置。

本发明实施例还提供了一种视频流数据读取设备,可以包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上任一项视频流数据读取方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可以实现如上任一项视频流数据读取方法的步骤。

本发明实施例提供的一种视频流数据读取装置、设备及存储介质中相关部分的说明请参见本发明实施例提供的一种视频流数据读取方法中对应部分的详细说明,在此不再赘述。另外本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理相同的部分并未详细说明,以免赘述。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1