CN118101987A - 一种数据处理方法、装置、系统及存储介质 - Google Patents
一种数据处理方法、装置、系统及存储介质 Download PDFInfo
- Publication number
- CN118101987A CN118101987A CN202410502528.2A CN202410502528A CN118101987A CN 118101987 A CN118101987 A CN 118101987A CN 202410502528 A CN202410502528 A CN 202410502528A CN 118101987 A CN118101987 A CN 118101987A
- Authority
- CN
- China
- Prior art keywords
- video
- processing result
- data
- file
- server
- 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 claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 826
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 332
- 238000000034 method Methods 0.000 claims abstract description 114
- 238000004458 analytical method Methods 0.000 claims description 186
- 230000008569 process Effects 0.000 claims description 75
- 238000009877 rendering Methods 0.000 claims description 35
- 238000006243 chemical reaction Methods 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 15
- 238000004806 packaging method and process Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 description 37
- 230000009471 action Effects 0.000 description 21
- 230000033001 locomotion Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000008921 facial expression Effects 0.000 description 4
- 238000012015 optical character recognition Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012916 structural analysis Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据处理方法、装置、系统及存储介质,其包括:服务器端获取视频数据的至少一个视频处理结果,视频数据由视频采集端采集,至少一个视频处理结果由视频采集端对视频数据进行处理后得到和/或由服务器端对视频数据进行处理后得到,视频处理结果采用可被视频播放端识别的自定义的描述格式;服务器端将至少一个视频处理结果封装到包含视频数据的视频文件中并发送至视频播放端;视频播放端播放视频文件中的视频数据并基于视频文件中的视频处理结果显示对应的标记内容,该标记内容根据视频处理结果得到。上述技术手段,解决了相关技术中播放端无法复用其他节点得到的AI算法处理结果,需要播放端重复使用AI算法的技术问题。
Description
技术领域
本申请实施例涉及数据处理技术领域,尤其涉及一种数据处理方法、装置、系统及存储介质。
背景技术
随着人工智能(Artificial Intelligence,AI)技术的发展,AI算法的能力越来越强大,将AI算法应用到视频分析领域的业务场景越来越多,比如,利用AI算法对视频数据中的人体区域、人脸、人头或者人物轨迹进行识别。
相关技术中,AI算法可以在视频数据采集到播放的整个链条的多个节点上实现,一般而言,多个节点至少包括视频数据的采集端、服务器端以及播放端。这时,无论AI算法部署在哪个节点上,最终都是由播放端使用AI算法的处理结果,以使播放端的用户在观看视频数据时还能明确AI算法的处理结果。
然而,各节点上部署的AI算法的实现方式可能不同,这会导致播放端无法识别并复用其他节点得到的AI算法处理结果,进而需要播放端重复使用AI算法进行处理。比如,服务器端对视频数据进行人物头部识别得到的人物头部识别结果无法供播放端复用时,需要播放端再次对视频数据进行人物头部识别。
发明内容
本申请实施例提供了一种数据处理方法、装置、系统及存储介质,以解决相关技术中播放端无法复用其他节点得到的AI算法处理结果,需要播放端重复使用AI算法的技术问题。
第一方面,本申请一个实施例提供了一种数据处理方法,所述数据处理方法应用于数据处理系统,所述数据处理系统包括视频采集端、服务器端以及视频播放端:
所述数据处理方法包括:
所述服务器端获取视频数据的至少一个视频处理结果,所述视频数据由所述视频采集端采集并发送至所述服务器端,所述至少一个视频处理结果由所述视频采集端对所述视频数据进行处理后得到和/或由所述服务器端对所述视频数据进行处理后得到,所述至少一个视频处理结果采用自定义的描述格式进行记录,所述自定义的描述格式可被所述视频播放端识别;
所述服务器端将所述至少一个视频处理结果封装到包含所述视频数据的视频文件中;
所述服务器端将所述视频文件发送至所述视频播放端;
所述视频播放端播放所述视频文件中的视频数据,并基于所述视频文件中的视频处理结果将对应的标记内容叠加在所述视频数据上进行显示,所述标记内容是根据所述视频处理结果得到的结果显示内容。
上述,通过服务器端获取视频采集端和/或服务器端对视频数据进行处理后生成的视频处理结果,视频处理结果采用自定义的描述格式进行记录且自定义的描述格式可以被视频播放端识别到,之后,服务器端将至少一个视频处理结果封装到包含视频数据的视频文件中,并将视频文件发送至视频播放端,视频播放端播放视频文件中的视频数据,并基于视频文件中的视频处理结果将对应的标记内容(即根据视频处理结果得到的结果显示内容)叠加在视频数据上进行显示的技术手段,解决了相关技术中播放端无法复用其他节点得到的AI算法处理结果,需要播放端重复使用AI算法的技术问题。通过采用可被视频播放端识别的自定义的描述格式记录视频处理结果,可以使得其他节点(服务器端和/或视频采集端)得到的AI算法处理结果被视频播放端复用,避免视频播放端再重新运行AI算法。通过采用预先设定的自定义的描述格式,可以应对不同AI算法的变化,即使AI算法发生变化,也可以通过自定义的描述格式使视频播放端识别AI算法对应的视频处理结果并进行复用。并且,采用自定义的描述格式也可以增加视频处理结果的可读性,便于后续人工对视频处理结果进行校正、微调等。
本申请一个实施例中,所述视频处理结果由所述视频采集端生成,
所述服务器端获取视频数据的至少一个视频处理结果之前,还包括:
所述视频采集端根据视频分析算法对采集的视频数据进行处理,得到原始处理结果;
所述视频采集端将所述原始处理结果按照自定义的描述格式进行转换,得到视频处理结果;
所述视频采集端将所述视频处理结果发送至所述服务器端。
上述,视频采集端可将自身得到的原始处理结果转换成采用自定义的描述格式的视频处理结果,便于视频播放端对视频处理结果的复用。
本申请一个实施例中,所述视频采集端根据视频分析算法对采集的视频数据进行处理,得到原始处理结果之后,还包括:
在所述视频采集端无法将所述原始处理结果转换成所述视频处理结果的情况下,所述视频采集端将所述原始处理结果发送至所述服务器端;
所述服务器端根据所述视频采集端的标识信息查找对应的数据转换规则;
所述服务器端根据所述数据转换规则,将所述原始处理结果转换成采用自定义的描述格式的视频处理结果。
上述,当视频采集端为第三方的视频采集端且无法得到视频处理结果时,服务器端可以接收第三方的视频采集端发送的原始处理结果,并将原始处理结果转换成采用自定义的描述格式的视频处理结果,可以保证视频播放端对视频处理结果的复用,避免视频播放端再重新运行AI算法。
本申请一个实施例中,所述视频处理结果由所述服务器端生成,
所述服务器端获取视频数据的至少一个视频处理结果之前,还包括:
所述服务器端根据视频分析算法对所述视频采集端发送的视频数据进行处理,得到原始处理结果;
所述服务器端将所述原始处理结果按照自定义的描述格式进行转换,得到视频处理结果。
上述,服务器端可将自身得到的原始处理结果转换成采用自定义的描述格式的视频处理结果,便于视频播放端对视频处理结果的复用。
本申请一个实施例中,所述服务器端根据视频分析算法对所述视频采集端发送的视频数据进行处理,得到原始处理结果,包括:
所述服务器端根据视频分析算法在已获取到的视频处理结果中找到可供所述视频分析算法使用的视频处理结果时,根据找到的所述视频处理结果、所述视频分析算法和所述视频数据得到原始处理结果,根据所述视频分析算法未找到可供使用的视频处理结果时,根据所述视频分析算法和所述视频数据得到原始处理结果。
上述,视频处理结果还可以被其他的视频分析算法复用,以节省视频分析算法的执行总时间,提高视频分析算法的处理效率。
本申请一个实施例中,所述视频文件为MP4文件,
所述服务器端将所述至少一个视频处理结果封装到包含所述视频数据的视频文件中,包括:
所述服务器端将所述视频处理结果转换为udta box数据;
所述服务器端将所述udta box数据封装到所述MP4文件中。
本申请一个实施例中,所述视频播放端播放所述视频文件中的视频数据,并基于所述视频文件中的视频处理结果将对应的标记内容叠加在所述视频数据上进行显示,包括:
所述视频播放端读取所述MP4文件中的所述udta box数据;
所述视频播放端根据所述udta box数据得到视频处理结果;
所述视频播放端播放所述视频文件中的视频数据,并将所述视频处理结果对应的标记内容叠加在所述视频数据上进行显示。
本申请一个实施例中,所述视频播放端播放所述视频文件中的视频数据,并基于所述视频文件中的视频处理结果将对应的标记内容叠加在所述视频数据上进行显示,包括:
所述视频播放端接收结果查询请求;
所述视频播放端根据所述结果查询请求在所述视频文件中找到对应的视频处理结果;
所述视频播放端播放所述视频文件中的视频数据,并将查找到的视频处理结果对应的标记内容叠加在所述视频数据上进行显示。
上述,视频播放端可以根据结果查询请求在视频文件中找到对应的视频处理结果,并在播放视频数据时将找到的视频处理结果对应的标记内容叠加显示在视频数据上,可以实现视频播放端对服务器端发送的视频处理结果的复用,避免视频播放端重复执行视频分析算法。
本申请一个实施例中,所述视频播放端播放所述视频文件中的视频数据,并将查找到的视频处理结果对应的标记内容叠加在所述视频数据上进行显示,包括:
所述视频播放端获取自身的播放类型,并根据所述播放类型确定查找到的视频处理结果的渲染规则;
所述视频播放端播放所述视频文件中的视频数据,并根据所述渲染规则在所述视频数据的播放界面上渲染查找到的视频处理结果对应的标记内容。
本申请一个实施例中,还包括:
所述视频播放端根据所述结果查询请求在所述视频文件中未找到对应的视频处理结果时,根据所述结果查询请求对应的视频分析算法对所述视频文件中的视频数据进行处理得到原始处理结果;
所述视频播放端播放所述视频数据,并将所述原始处理结果对应的标记内容叠加在所述视频数据上进行显示。
上述,视频播放端在视频文件中查找不到对应的视频处理结果时,也可以利用自身的视频分析算法对视频数据进行处理,丰富了视频播放端可以显示的处理结果类型。
本申请一个实施例中,所述视频播放端根据所述结果查询请求对应的视频分析算法对所述视频文件中的视频数据进行处理得到原始处理结果,包括:
所述视频播放端根据所述结果查询请求对应的视频分析算法在所述视频文件中查找可供使用的视频处理结果;
所述视频播放端根据可供使用的所述视频处理结果和所述结果查询请求对应的视频分析算法处理所述视频数据,得到原始处理结果。
上述,在视频播放端运行视频分析算法时,也可以对视频文件中的视频处理结果进行复用,以节省视频分析算法的执行总时间,提高视频分析算法的处理效率。
本申请一个实施例中,所述视频播放端根据所述结果查询请求对应的视频分析算法对所述视频文件中的视频数据进行处理得到原始处理结果之后,还包括:
所述视频播放端将所述原始处理结果按照自定义的描述格式进行转换,得到视频处理结果;
所述视频播放端将所述视频处理结果上传至所述服务器端;
所述服务器端将当前接收到的视频处理结果封装到包含所述视频数据的视频文件中。
上述,视频播放端执行视频分析算法时,也可以得到采用自定义的描述格式的视频处理结果,并上报至服务器端,由服务器端将视频处理结果封装至视频文件中,便于后续其他的视频播放端对视频处理结果的复用。
本申请一个实施例中,所述服务器端获取视频数据的至少一个视频处理结果之后,还包括:
所述服务器端生成用于记录所述至少一个视频处理结果的文本文件;
所述服务器端在所述文本文件中添加所述视频处理结果对应的描述信息,所述描述信息用于描述所述视频处理结果对应的标记内容的显示样式;
所述服务器端将所述至少一个视频处理结果封装到包含所述视频数据的视频文件中,包括:
所述服务器端将所述文本文件中记录的内容封装到包含所述视频数据的视频文件中;
所述视频播放端播放所述视频文件中的视频数据,并基于所述视频文件中的视频处理结果将对应的标记内容叠加在所述视频数据上进行显示,包括:
所述视频播放端播放所述视频文件中的视频数据,并根据所述视频文件中的描述信息将相应视频处理结果的标记内容叠加在所述视频数据上进行显示。
上述,通过文本文件的方式记录视频处理结果,并且可以在文本文件中添加视频处理结果对应标记内容的描述信息,可以使得视频播放端根据描述信息渲染对应的标记内容。
第二方面,本申请一个实施例还提供了一种数据处理装置,所述数据处理装置应用于数据处理系统,所述数据处理系统包括视频采集端、服务器端以及视频播放端:
所述数据处理装置包括:
结果获取单元,配置于所述服务器端,用于获取视频数据的至少一个视频处理结果,所述视频数据由所述视频采集端采集并发送至所述服务器端,所述至少一个视频处理结果由所述视频采集端对所述视频数据进行处理后得到和/或由所述服务器端对所述视频数据进行处理后得到,所述至少一个视频处理结果采用自定义的描述格式进行记录,所述自定义的描述格式可被所述视频播放端识别;
第一结果封装单元,配置于所述服务器端,用于将所述至少一个视频处理结果封装到包含所述视频数据的视频文件中;
文件发送单元,配置于所述服务器端,用于将所述视频文件发送至所述视频播放端;
结果播放单元,配置于所述视频播放端,用于播放所述视频文件中的视频数据,并基于所述视频文件中的视频处理结果将对应的标记内容叠加在所述视频数据上进行显示,所述标记内容是根据所述视频处理结果得到的结果显示内容。
第三方面,本申请一个实施例还提供了一种数据处理系统,包括:视频采集端、服务器端以及视频播放端;
所述服务器端,用于获取视频数据的至少一个视频处理结果,所述视频数据由所述视频采集端采集并发送至所述服务器端,所述至少一个视频处理结果由所述视频采集端对所述视频数据进行处理后得到和/或由所述服务器端对所述视频数据进行处理后得到,所述视频处理结果采用自定义的描述格式进行记录,所述自定义的描述格式可被所述视频播放端识别;
所述服务器端,还用于将所述至少一个视频处理结果封装到包含所述视频数据的视频文件中,将所述视频文件发送至所述视频播放端;
所述视频播放端,用于播放所述视频文件中的视频数据,并基于所述视频文件中的视频处理结果将对应的标记内容叠加在所述视频数据上进行显示,所述标记内容是根据所述视频处理结果得到的结果显示内容。
第四方面,本申请一个实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被执行时实现如第一方面所述的数据处理方法。
上述提供的数据处理装置、系统以及存储介质的有益效果可参考数据处理方法的有益效果。
附图说明
图1为相关技术中视频数据的传输链条节点示意图;
图2为相关技术中视频数据的播放界面示意图;
图3为本申请一个实施例提供的一种数据处理方法的流程图;
图4为本申请另一个实施例提供的一种数据处理方法的流程图;
图5为本申请一个实施例提供的一种数据传输示意图;
图6为本申请一个实施例提供的一种数据处理装置的结构示意图;
图7为本申请一个实施例提供的一种数据处理系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
相关技术中,AI算法可以部署在视频数据的采集端、服务器端以及播放端。图1为相关技术中视频数据的传输链条节点示意图。参考图1,视频数据的传输链条中的节点可以包括采集端11、服务器端12以及播放端13。
其中,采集端11用于采集视频数据。比如,使用摄像头作为采集端对视频数据进行采集。当摄像头为AI智能摄像头(即可以进行AI计算)时,AI算法可以部署在摄像头中,这时,摄像头在采集视频数据时,还可以使用AI算法对视频数据进行处理,得到对应的处理结果。之后,将采集的视频数据和得到的处理结果上传至服务器端12。
服务器端12用于接收采集端11采集的视频数据,并在播放端13需要时将视频数据发送至播放端13进行播放。AI算法也可以部署在服务器端12,比如,采集端11为普通的摄像头(无法部署AI算法)时,将采集的视频数据上传至服务器端12后,服务器端12可以使用AI算法对视频数据进行处理,得到对应的处理结果。再如,无论采集端11中是否部署AI算法,服务器端12均可部署AI算法并使用AI算法对视频数据进行处理得到对应的处理结果。
播放端13可以从服务器端12获取视频数据并进行播放。AI算法也可以部署在播放端13,比如,播放端13播放视频数据的过程中,使用AI算法对视频数据进行处理,得到对应的处理结果。
当前,播放端13播放视频数据时,还可以在视频数据上叠加显示AI算法处理结果。即无论哪个节点使用AI算法,最终都是在播放端13播放视频数据时由播放端13使用AI算法处理结果。比如,教育领域中,通常使用AI算法对录制的课堂视频进行处理,如基于AI算法识别出人物头部区域,以供播放端13使用,并且,得到人物头部识别结果后,播放端13还可以基于人物头部区域进一步得到学生的出勤情况、抬头率等内容。再如,图2为相关技术中视频数据的播放界面示意图,参考图2,播放端13播放视频数据时,还在视频数据上叠加绘制AI算法的处理结果(即图2中示出的用于圈住人头的矩形框),当前,图2示出的处理结果为人物头部的识别结果,这时,AI算法的处理结果应包含人物头部所在的矩形区域的数据集合,比如,矩形区域在视频数据中的坐标位置以及矩形区域的大小等数据。播放端13读取出这些数据后,绘制相应的矩形框并叠加显示在视频数据上。可理解,图2仅是示例性的说明在视频数据上叠加绘制AI算法的处理结果,并非对视频数据本身的内容进行限定。
相关技术中,当AI算法由采集端或服务器端执行时,需要播放端分析识别采集端或服务器端得到的处理结果,并在播放视频数据时根据对处理结果的分析识别在视频数据上叠加显示相应的内容,以使用户观看到处理结果。然而,不同节点使用的AI算法的实现方式可能不同。比如,服务器端使用某个AI算法得到的处理结果采用一种格式进行记录,而视频端读取的AI算法的处理结果需要另一种格式。这就导致AI算法的处理结果无法在各节点通用,即采集端和服务器端得到的AI算法的处理结果可能无法供播放端使用。这种情况下,需要在播放端中部署可供使用的AI算法,并基于AI算法得到可供使用的处理结果。这时,需要各节点重复进行多次相同的AI识别。比如,服务器端对视频数据进行人物头部识别得到的人物头部识别结果无法供播放端复用时,需要播放端再次对视频数据进行人物头部识别,即服务器端和播放端均进行了人物头部识别。
为了避免相关技术中播放端无法复用其他节点得到的AI算法处理结果,需要播放端重复使用AI算法的技术问题,本申请实施例中提供了一种数据处理方法,该数据处理方法中视频数据传输链条的各节点基于AI算法得到的处理结果均采用自定义的描述格式进行记录,且自定义的描述格式可以被播放端识别,即播放端可以复用各节点得到的AI算法处理结果,无需再重复进行相应的AI算法,避免了播放端重复使用AI算法。
本申请实施例中提供的数据处理方法应用于数据处理系统。其中,数据处理系统包括视频采集端、服务器端以及视频播放端。
其中,视频采集端对应相关技术中的采集端,服务器端对应相关技术中的服务器端,视频播放端对应相关技术中的播放端。视频采集端、服务器端以及视频播放端均可认为是视频数据传输链条中的节点。
视频采集端可以通过具有视频采集功能的设备(如摄像头)实现,服务器端可以通过具有数据分析、处理、逻辑运算功能的设备(如服务器)实现。视频播放端可以通过具有视频播放功能的设备(如交互平板、笔记本电脑、台式电脑等)实现。其中,视频采集端、视频播放端以及服务器端的数量当前不做限定。
数据处理系统中各节点相互配合后,可以实现数据处理方法。
图3为本申请一个实施例提供的一种数据处理方法的流程图,参考图3,该数据处理方法包括步骤210-步骤240:
步骤210、服务器端获取视频数据的至少一个视频处理结果,视频数据由视频采集端采集并发送至服务器端,至少一个视频处理结果由视频采集端对视频数据进行处理后得到和/或由服务器端对视频数据进行处理后得到,至少一个视频处理结果采用自定义的描述格式进行记录,自定义的描述格式可被视频播放端识别。
示例性的,视频数据是视频采集端对拍摄空间进行拍摄后得到的数据。拍摄空间可以是室内空间也可以是室外空间。拍摄空间中存在需要被拍摄的对象,被拍摄的对象可以是人也可以是物品。实施例中,以被拍摄的对象为人进行示例性描述。视频采集端采集视频数据后,将视频数据发送服务器端。可选的,视频采集端采集视频数据的过程中,将视频数据以视频流的方式实时的发送至服务器端。还可选的,视频采集端采集完视频数据后,生成包含完整视频数据的视频文件,并将视频文件发送至服务器端。这时,服务器端接收到的是包含完整视频数据的文件,其中,视频文件的格式当前不作限定,当前,以视频文件采用MP4格式为例,即视频文件为MP4文件。
视频处理结果是指使用预先存储的视频分析算法对视频数据进行处理后得到的结果。其中,视频分析算法是指可以对视频数据所呈现的内容进行分析处理以得到相应结果的算法。视频分析算法可以包括人物识别(用于识别出视频数据中的人)、物体识别(用于识别出视频数据中某类的物品)、人物头部识别(用于识别出视频数据中人的头部)、人物肢体动作识别(用于识别出视频数据中人的肢体动作)、人物行动轨迹识别(用于识别出视频数据中人的行动轨迹)、人物表情识别(用于识别出视频数据中的人的表情)等AI算法。视频分析算法还可以包括:光学字符识别(Optical Character Recognition,OCR)(用于将视频数据中的文字转换为字符串)、语音识别技术(Automatic Speech Recognition,ASR)(用于将视频数据中的声音转换成文字)等。一个实施例中,视频分析算法可以包括基础算法和业务算法,其中,基础算法代表分析视频基础信息的算法,比如,人物识别、物体识别、OCR和ASR等均可认为是基础算法。业务算法可认为是在基础算法之上进行进一步计算得到更细化信息的算法,比如,人物头部识别、人物肢体动作识别、人物行动轨迹识别等均可认为是业务算法。一个基础算法可以与至少一个业务算法相配合,比如,人物头部识别、人物肢体动作识别、人物行动轨迹识别均需要与人物识别相配合,即先进行人物识别后才能进行人物头部识别、人物肢体动作识别或人物行动轨迹识别。可理解,如果某个算法是在基础算法之上进行进一步计算得到的,且在该算法的基础上还可以进行进一步计算得到更细化的信息,那么,该算法既可以作为基础算法,也可以作为业务算法。
当前,基于业务算法得到的视频处理结果可以记为业务处理结果,基于基础算法得到的视频处理结果可以记为基础处理结果。基础处理结果是确定业务处理结果过程中先得到的且可被复用的处理结果。比如,人物头部识别时,需要先得到人物识别的结果(即基础处理结果),在基于基础处理结果得到人物头部识别的结果(即业务处理结果)。基础处理结果可以被一个或多个业务算法使用,实施例对此不做限定。可理解,当前服务器端获取的视频处理结果可以包括一个或多个业务处理结果,还可以包括一个或多个基础处理结果。
一个实施例中,视频处理结果采用自定义的描述格式进行记录。其中,自定义的描述格式为预先定义的一种规范化、可扩展的用于描述视频分析算法得到的结果的格式。自定义的描述格式可结合实际情况设置,比如,当前使用的一种自定义的描述格式如下:
[算法功能]
开始时间 -->结束时间
[具体数据]
开始时间 -->结束时间
[具体数据]
……
其中,算法功能用于描述当前使用的视频分析算法,开始时间和结束时间表示视频分析算法的开始时间和结束时间。具体数据表示从开始时间到结束时间下视频分析算法识别到的具体结果。每个开始时间和结束时间下均可有对应的具体数据。
以人物头部识别为例,基于前述的自定义的描述格式,得到的视频处理结果可以表示为:
[人物头部区域]
00:00:00,000 -->00:00:04,000
20,30 100,100
140,260 120,120
250,380 100,100
00:00:04,000 -->00:00:09,000
25,35 100,100
150,240 120,120
240,360 110,110。
其中,[人物头部区域]描述了算法功能,即用于识别视频数据中的人物头部。00:00:00,000、00:00:04,000分别表示开始时间和结束时间,20,30 100,100、140,260 120,120、250,380 100,100为前述开始时间到结束时间下识别到的三组人物头部区域,以20,30100,100为例,20和30分别表示x坐标和y坐标,即人物头部区域的左上角的像素点在视频数据中的坐标。100和100分别表示人物头部区域的宽度和长度。即识别到的人物头部区域是以(20,30)坐标的像素点作为左上角且宽度和长度分别为100个像素点的矩形区域。其他数据可参照前述的描述理解。
以人物行动轨迹识别为例,基于前述自定义的描述格式,得到的视频处理结果可以表示为:
[人物行动轨迹]
00:00:00,000 -->00:00:02,000
16,32 18,38 102,105 106,125 222,225 236,235
00:00:02,000 -->00:00:04,000
25,40 27,45 105,110 110,130 230,235 245,240
00:00:04,000 -->00:00:06,000
30,35 32,40 100,105 105,125 220,225 235,230
00:00:06,000 -->00:00:08,000
20,30 22,35 98,103 103,123 215,220 230,225
其中,[人物行动轨迹]描述了算法功能,即用于识别视频数据中的人物的行动轨迹。00:00:00,000、00:00:02,000分别表示开始时间和结束时间,16,32 18,38 102,105106,125 222,225 236,235为前述开始时间到结束时间下识别到的一组人物坐标,其中,16和32为一个坐标的x值和y值,18和38为一个坐标的x值和y值,两个坐标分别代表人物头部的两侧(如人物头部区域的左上角点和右上角点)在视频数据中的位置(即相应像素点的位置)。102和105为一个坐标的x值和y值,106和125为一个坐标的x值和y值,两个坐标分别代表人物肩部的两侧(即左肩和右肩)在视频数据中的位置(即相应像素点的位置)。222和225为一个坐标的x值和y值,236和235为一个坐标的x值和y值,两个坐标分别代表人物双脚在视频数据中的位置(即相应像素点的位置)。坐标其他数据可参照前述的描述理解。基于不同时间下的坐标便可以得到人物的行动轨迹。
以人物肢体动作识别为例,基于前述自定义的描述格式,得到的视频处理结果可以表示为:
[人物肢体动作]
00:00:04,000 -->00:00:06,000
hands-up 66,82 78,98
00:00:06,000 -->00:00:08,000
head-up 86,62 90,68
其中,[人物肢体动作]描述了算法功能,即用于识别视频数据中的人物的肢体动作。00:00:04,000、00:00:06,000分别表示开始时间和结束时间,hands-up 66,82 78,98为前述开始时间到结束时间下识别到的一组肢体动作,hands-up代表举手动作,66和82为一个坐标的x值和y值,78和98为一个坐标的x值和y值,两个坐标代表举手动作后的手部区域对应的坐标范围。00:00:06,000、00:00:08,000分别表示开始时间和结束时间,head-up86,62 90,68为前述开始时间到结束时间下识别到的一组肢体动作,head-up代表抬头动作,86和62为一个坐标的x值和y值,90和68为一个坐标的x值和y值,两个坐标代表抬头动作后的头部区域对应的坐标范围。
可理解,自定义的描述格式可以被视频播放端识别,视频播放端接收到采用自定义的描述格式的视频处理结果后,可以读取并使用该视频处理结果,即视频处理结果可供视频播放端复用。可选的,自定义的描述格式也可以供服务器端和视频采集端识别并复用。
采用自定义的描述格式的视频处理结果可以由服务器端生成,并在生成后由服务器端获取。采用自定义的描述格式的视频处理结果也可以由视频采集端生成,并在生成后发送至服务器端。
一个实施例中,视频处理结果由视频采集端生成,即视频采集端对采集的视频数据进行处理后可以生成视频处理结果。此时,步骤210之前,还可包括:视频采集端根据视频分析算法对采集的视频数据进行处理,得到原始处理结果;视频采集端将原始处理结果按照自定义的描述格式进行转换,得到视频处理结果;视频采集端将视频处理结果发送至服务器端。
示例性的,视频采集端能够运行视频分析算法时,可以由视频采集端对采集的视频数据进行处理以得到视频处理结果。具体来说,视频采集端采集视频数据时,可以运行视频分析算法,并得到对应的结果。其中,视频采集端可以运行一个或多个视频分析算法,并且,运行的视频分析算法可以是基础算法也可以是业务算法还可以同时包含基础算法和业务算法,实施例对此不做限定。
实施例中,运行视频分析算法对视频数据进行处理后,得到的结果可以记为原始处理结果。可理解,基础算法和业务算法均有对应的原始处理结果。原始处理结果是使用视频分析算法处理后直接得到的结果,该结果的格式采用视频分析算法定义的格式。实现不同目的的视频分析算法得到的原始处理结果的格式可能不同,并且,用于实现相同目的的视频分析算法基于不同的实现方式所得到的原始处理结果的格式也可能不同。
当前,为了供视频播放端复用视频分析算法的结果,在视频采集端得到原始处理结果后,还将原始处理结果转换为采用自定义的描述格式的视频处理结果。
一个实施例中,使用生成器将原始处理结果转换为视频处理结果。其中,生成器可以通过计算机程序实现,其定义有将原始处理结果转换成自定义描述格式的视频处理结果的实现规则。视频采集端能够运行视频分析算法时,还可以部署生成器,以通过生成器得到视频处理结果。
可理解,当前可供生成器进行格式转换的视频分析算法均可认为是非第三方的视频分析算法,即视频分析算法对设计生成器的厂家或人员公开,以使厂家或人员根据视频分析算法的实现逻辑设计相适用的结果分析规则(即实现规则),以使生成器基于结果分析规则读取视频分析算法生成的原始处理结果,并转换成对应的视频处理结果。以自定义的描述格式包括:算法功能、开始时间、结束时间以及具体数据为例。这时,结果分析规则记录有原始处理结果中用于描述算法功能的内容所在的位置以及描述格式、原始处理结果中用于描述开始时间以及结束时间的内容所在的位置以及描述格式、原始处理结果中用于描述具体数据的内容所在的位置以及描述格式。当视频采集端生成原始处理结果后,生成器可以获取原始处理结果,之后,生成器根据结果分析规则对原始处理结果进行分析,从中找到算法功能、开始时间、结束时间以及具体数据,并按照自定义的描述格式重新记录,以得到视频处理结果。
视频采集端得到生成器生成的视频处理结果后,可以将视频处理结果发送(即上报)至服务器端。可选的,视频采集端采集的视频数据和视频处理结果可以分别发送至服务器端。比如,视频采集端将当前采集的视频数据以实时的视频流的方式发送至服务器端,并且,在得到视频处理结果后,将视频处理结果发送至服务器端。再如,视频采集端采集完视频数据后,将视频数据以MP4文件的发送服务器端,并且,在得到视频处理结果后,将视频处理结果发送至服务器端。还可选的,视频采集端还可以将视频数据和视频处理结果一同发送至服务器端。比如,视频采集端采集完视频数据后,得到包含视频数据的MP4文件。视频采集端得到视频处理结果后,将MP4文件和视频处理结果(视频处理结果也可以封装在MP4文件中)一同发送至服务器端。
一些情况下,视频采集端还可以为第三方设备,或者对于服务器端而言其调用视频采集端的接口为第三方接口,这时,视频采集端可以认为是第三方的视频采集端,第三方的视频采集端使用的视频分析算法没有对设计生成器的厂家或人员公开,即生成器中没有相适用的结构分析规则,无法将原始处理结果直接转换为视频处理结果,或者是,生成器无法部署在第三方的视频采集端,这时,可以由视频采集端将原始处理结果发送至服务器端,由服务器端将原始处理结果转换为采用自定义的描述格式的视频处理结果。此时,视频采集端根据视频分析算法对采集的视频数据进行处理,得到原始处理结果之后,还包括:在视频采集端无法将原始处理结果转换成视频处理结果的情况下,视频采集端将原始处理结果发送至服务器端;服务器端根据视频采集端的标识信息查找对应的数据转换规则;服务器端根据数据转换规则,将原始处理结果转换成采用自定义的描述格式的视频处理结果。
视频采集端为第三方的视频采集端时,直接将得到的原始处理结果发送至服务器端,这时,服务器端可以认为视频采集端无法将原始处理结果转换为采用自定义的描述格式的视频处理结果,并且需要将第三方的视频采集端上报的原始处理结果转换为视频处理结果。
一个实施例中,服务器端通过数据转换器将原始处理结果转换为视频处理结果。其中,数据转换器可以通过计算机程序实现,其定义有适用于第三方的视频采集端的数据转换规则,以使数据转换器通过数据转换规则将第三方的视频采集端上报的原始处理结果转换为视频处理结果。其中,数据转换规则与生成器中的结果分析规则类似,均是用于规定如何在原始处理结果中找到需要的内容并按照自定义的描述格式生成视频处理结果,区别在于,数据转换规则仅适用于特定的第三方的视频采集端,无法适用于其他的视频采集端,而结果分析规则可以供非第三方的视频采集端通用。可理解,为了提高数据转换器的使用性,可以在数据转换器中添加多种类型的第三方的视频采集端所适用的数据转换规则,并将第三方的视频采集端的标识信息与适用的数据转换规则相关联,以通过标识信息明确数据转换规则适用的视频采集端。其中,标识信息的生成规则当前不做限定,不同的视频采集端使用的标识信息不同,以通过标识信息区分不同的视频采集端。
示例性的,服务器端接收到原始处理结果后,将原始处理结果发送至数据转换器。并且,还将原始处理结果对应的标识信息发送至数据转换器。可选的,服务器端与视频采集端进行通信时,可以将视频采集端的通信地址或通信端口与视频采集端的标识信息相关联,以使服务器端通过通信地址或通信端口确定当前上报原始处理结果的视频采集端的标识信息。或者,视频采集端发送原始处理结果时还发送标识信息,以使服务器端明确当前上报原始处理结果的视频采集端的标识信息。
数据转换器接收到标识信息和原始处理结果后,根据标识信息查找到适用的数据转换规则,之后,使用查找到的数据转换规则将原始处理结果转换成采用自定义的描述格式的视频处理结果。以自定义的描述格式包括:算法功能、开始时间、结束时间以及具体数据为例。数据转换器获取到原始处理结果后,根据查找到的数据转换规则对原始处理结果进行分析,从中找到算法功能、开始时间、结束时间以及具体数据,并按照自定义的描述格式重新记录,以得到视频处理结果。这时,也可以认为由服务器端生成视频处理结果。
可选的,服务器通过数据转换器得到视频处理结果,还对视频处理结果进行校验以及补全,以提高视频处理结果的准确性和完整性。其中,对视频处理结果进行校验时,可以是分析视频处理结果是否存在异常的数据,如果存在异常的数据则可以删除异常的数据,比如,视频处理结果包含视频数据中的坐标(如表示人物区域位置的坐标)时,可以判断坐标是否超出视频数据所在的坐标范围,如果超出视频数据所在的坐标范围,则可以认为坐标为异常的数据,并进行删除。对视频处理结果进行补全时,可以是先判断视频处理结果是否需要补全,即识别视频处理结果中是否有稀疏的数据。举例而言,视频处理结果为人物行动轨迹结果,视频处理结果包含各时间段内识别到的人物中设定肢体的坐标,如果某时间段内包含的坐标的数量明显小于其他时间段(可通过设置百分比统计),则确定该时间段内的数据(即坐标以及所在区域大小)需要补全。补全手段可结合实际情况设置,比如,通过插值算法(如使用贝塞尔曲线或直线进行插值)等方式进行补全。
实际应用中,除了通过标识信息关联数据转换规则,还可以使用其他的信息关联数据转换规则,实施例对比不做限定。
一个实施例中,视频处理结果还可由服务器端生成,即服务器端对视频采集端采集的视频数据进行处理后可以生成视频处理结果。此时,步骤210之前,还可包括:服务器端根据视频分析算法对视频采集端发送的视频数据进行处理,得到原始处理结果;服务器端将原始处理结果按照自定义的描述格式进行转换,得到视频处理结果。
示例性的,服务器端可以运行视频分析算法时,可以由服务器端对视频采集端发送的视频数据进行处理以得到视频处理结果。其中,服务器端可以运行一个或多个视频分析算法,并且,运行的视频分析算法可以是基础算法也可以是业务算法还可以同时包含基础算法和业务算法,实施例对此不做限定。
具体来说,视频采集端将采集的视频数据发送至服务器端后,服务器端可以运行视频分析算法,并得到对应的原始处理结果,之后,将原始处理结果转换为采用自定义的描述格式的视频处理结果。一个实施例中,服务器端可以部署生成器,由生成器将原始处理结果转换为视频处理结果。其中,生成器的实现过程可以参考视频采集端中部署的生成器的实现过程,当前不另赘述。
可理解,生成器既需要部署在执行视频分析算法的视频采集端(非第三方)中,也需要部署在执行视频分析算法的服务器端中,以使视频采集端和服务器端均可得到采用自定义的描述格式的视频处理结果。
实际应用过程中,可以是由视频采集端使用视频分析算法对视频数据进行处理(视频采集端具备使用视频分析算法的功能时),服务器端无需在使用视频分析算法。也可以是在视频采集端无法使用视频分析算法时,由服务器端使用视频分析算法对视频数据进行处理。除了这两种情况,也有可能视频采集端和服务器端均可使用视频分析算法对视频数据进行处理。
当视频采集端和服务器端均可使用视频分析算法时,如果服务器端执行视频分析算法时需要使用基础处理结果,且基础处理结果已经由视频采集端提供,那么,服务器端可以直接复用视频采集端提供的基础处理结果。此时,服务器端根据视频分析算法对视频采集端发送的视频数据进行处理,得到原始处理结果,包括:服务器端根据视频分析算法在已获取到的视频处理结果中找到可供视频分析算法使用的视频处理结果时,根据找到的视频处理结果、视频分析算法和视频数据得到原始处理结果,根据视频分析算法未找到可供使用的视频处理结果时,根据视频分析算法和视频数据得到原始处理结果。
示例性的,服务器端执行视频分析算法前,如果该视频分析算法需要复用其他视频分析算法的处理结果,且服务器端已经接收到视频采集端发送的视频处理结果或者基于自身执行的其他视频分析算法已经得到了视频处理结果(这些视频处理结果可以认为是已经获取到的视频处理结果),则可以先确定当前已经获取到的视频处理结果是否可以被视频分析算法复用。当前,可以被服务器端复用的视频处理结果为基础处理结果。
一种可选方式,以自定义的描述格式包括:算法功能、开始时间、结束时间以及具体数据为例。服务器端通过视频分析算法可以确定需要复用的视频处理结果对应的算法功能,并基于算法功能在已获取到的视频处理结果中找到可供使用的视频处理结果。比如,视频分析算法包括基础算法和业务算法,且记录有基础算法的注释,这时,服务器端可以确定基础算法的注释与视频处理结果中的算法功能所表示的含义是否一致,如果一致,则确定视频处理结果可以被使用,即找到了适用于视频分析算法的视频处理结果。
当服务器端找到可使用的视频处理结果后,使用视频分析算法、视频处理结果对视频数据进行处理,得到原始处理结果。举例而言,服务器端当前执行的视频分析算法为人物头部识别算法,且服务器端复用了视频采集端发送的人物识别算法对应的视频处理结果,这时,服务器端可以基于人物识别算法对应的视频处理结果直接在视频数据中找到人物区域,进而基于人物头部识别算法对人物区域进行处理,以识别到人物头部区域,进而得到对应的原始处理结果。这时,服务器端可以节省执行人物区域识别的算法的时间。之后,服务器端可以将原始处理结果转换为视频处理结果。再举例而言,服务器端先执行了人物识别算法,且人物识别算法需要40分钟的执行时间,之后,服务器端再执行人物头部识别算法和人物行动轨迹识算法,两个算法分别需要10分钟和20分钟的执行时间。服务器端执行人物头部识别算法和人物行动轨迹识别算法时使用了人物识别算法的处理结果,这时,需要执行的总时间为40+10+20=70分钟。按照传统方式,执行人物头部识别算法和人物行动轨迹识算法之前,均需要先执行人物识别算法,这时,需要40+10+40+20=110分钟。相比传统方式,复用视频处理结果的方式明显缩短了算法的执行时间。
可理解,如果服务器端确定没有可以被复用的视频处理结果,则直接使用视频分析算法对视频数据进行处理,得到原始处理结果并转换成视频处理结果。
可选的,视频采集端在执行视频分析算法时,如果已经执行了其他的视频分析算法并得到了视频处理结果,也可以确定已经得到的视频处理结果是否可以被复用,并在可以被复用时使用已得到的视频处理结果,该过程也可以参考服务器端复用视频处理结果的过程。
当视频采集端和服务器端均可使用视频分析算法时,可能出现视频采集端和服务器端执行相同的视频分析算法的情况,比如,视频采集端和服务器端均执行人物识别算法、人物头部识别算法等。这时,服务器端既可以得到视频采集端基于该视频分析算法得到的视频处理结果,也可以得到服务器端基于该视频分析算法得到的视频处理结果,即服务区端会得到相同类型的多个视频处理结果,然而,视频播放端只需要一个视频处理结果,所以,服务器端可以按照预先设置的逻辑规则进行处理,以实现只保留一个视频处理结果。
一种逻辑规则的可实现方式是,服务器端获取到视频采集端对应的视频处理结果(可以是视频采集端发送的视频处理结果,也可以是基于视频采集端发送的原始处理结果转换得到的视频处理结果)后,服务器端基于自身存储的视频分析算法对视频数据进行处理得到视频处理结果后,可以判断自身得到的视频处理结果与视频采集端对应的视频处理结果是否为相同类型。以自定义的描述格式包括:算法功能、开始时间、结束时间以及具体数据为例,服务器端可以读取两个视频处理结果的算法功能,如果两个算法功能均描述了相同的内容,那么,服务器端认为两个视频处理结果属于相同类型,这时,服务器端可以只保留一个视频处理结果,比如,服务器端保留最新生成的视频处理结果,删除另一个视频处理结果。如果两个算法功能描述了不同的内容,那么,服务器端保留两个视频处理结果。
另一种逻辑规则的可实现方式是,服务器端执行视频分析算法之前,先判断视频采集端对应的视频处理结果中是否已有视频分析算法的处理结果。以自定义的描述格式包括:算法功能、开始时间、结束时间以及具体数据为例,服务器端读取视频采集端对应的视频处理结果中的算法功能,并确定视频分析算法的功能与视频处理结果中的算法功能是否一致,如果一致,则确定已有视频分析算法对应的视频处理结果,无需再执行视频分析算法。如果不一致,则确定还没有视频分析算法对应的视频处理结果,服务器端正常执行视频分析算法(执行视频分析算法时可以继续确认是否有可以复用的视频处理结果)。
可理解,服务器端接收到视频采集端上报的视频处理结果后,确认获取到视频处理结果,执行步骤220。服务器端自身生成视频处理结果后,也确定获取到视频处理结果,执行步骤220。当视频采集端和服务器端均可生成视频处理结果时,服务器端自身生成视频处理结果以及接收到视频采集端上报的视频处理结果后,确定获取到视频处理结果,执行步骤220。
步骤220、服务器端将至少一个视频处理结果封装到包含视频数据的视频文件中。
示例性的,服务器端获取视频处理结果后,将视频处理结果封装到视频文件中,该视频文件为包含视频数据的视频文件。如果视频采集端以视频文件的方式上报视频数据,那么,服务器端可以直接使用视频采集端上报的视频文件,并将视频处理结果封装到视频文件中。如果视频采集端以视频流的方式上报视频数据,那么,服务器端先生成包含视频数据的视频文件,再将视频处理结果封装到视频文件中。其中,视频文件的格式为除了视频数据外还可以添加自定义数据或文本的格式,这时,视频处理结果可以作为自定义数据或文本添加在视频文件中。
一个实施例中,以视频文件为MP4文件为例,描述如何将视频处理结果封装到视频文件中。此时,本步骤可以进一步包括步骤221-步骤222:
步骤221、服务器端将视频处理结果转换为udta box数据。
MP4文件可以认为是由若干个box组成,一个box可以认为是一个数据块,其用于存储数据。udta是MP4文件中用于存放用户自定义数据的box,它可以包含多个子box,每个子box可以存放不同类型的自定义数据。实施例中,通过udta box存放视频处理结果,以实现将视频处理结果封装到MP4文件中。
一个实施例中,服务器端将当前获取的全部视频处理结果转换为udta box数据。udta box数据是可以写入udta box的数据。其中,转换过程可以是:将视频处理结果编码成ASCII码(也可以是其他类型的码),以得到ASCII码序列,其中,编码规则当前不作限定,之后,将编码得到ASCII码序列转换为二进制数据。该二进制数据便可认为是udta box数据。
步骤222、服务器端将udta box数据封装到MP4文件中。
得到udta box数据后,服务器端可以将udta box数据写入到udta box中,写入完成后认为将视频处理结果封装到MP4文件中。
可理解,步骤221-步骤222也可以通过封装器实现,其中,封装器可以通过计算机程序实现,其定义有将视频处理结果封装到MP4文件的执行逻辑,并可以按照执行逻辑运行,以实现将视频处理结果封装到MP4文件中。
步骤230、服务器端将视频文件发送至视频播放端。
示例性的,服务器端将视频处理结果封装到视频文件后,将视频文件发送至视频播放端。
可选的,视频播放端向服务器端发送需要获取视频文件的请求后,服务器端将视频文件发送至视频播放端。
可理解,服务器端还可以根据实际情况更新视频文件中的视频处理结果。比如,当服务器端部署新的视频分析算法并需要新的视频分析算法对视频数据进行处理时,可以将基于新的视频分析算法得到的视频处理结果添加至视频文件中,以更新视频文件中的视频处理结果。
步骤240、视频播放端播放视频文件中的视频数据,并基于视频文件中的视频处理结果将对应的标记内容叠加在视频数据上进行显示,标记内容是根据视频处理结果得到的结果显示内容。
示例性的,视频播放端接收到视频文件后,获取其中的视频数据进行播放。同时,视频播放端还获取视频文件中的视频处理结果,并基于视频处理结果绘制可以体现视频处理结果的标记内容,并将绘制的标记内容叠加显示在视频数据上。其中,体现视频处理结果的标记内容也可以认为是根据视频处理结果得到的结果显示内容,其可以参考相关技术中对视频分析算法的结果进行显示时的结果显示内容,比如,人物头部识别算法对应的标记内容是在视频数据上叠加显示用于圈住人物头部区域的矩形框,人物行动轨迹识别算法对应的标记内容是在视频数据上叠加显示用于标识出人物行动轨迹的点状轨迹。
一个实施例中,视频播放端可以从视频文件中获取视频处理结果,并解析视频处理结果,以明确视频处理结果的具体内容,之后,基于解析结果在视频数据上叠加显示对应的标记内容,以使视频播放端的用户观看到标记内容。可选的,视频播放端可以通过解析器解析视频处理结果以明确视频处理结果的具体内容,并确定视频处理结果对应标记内容的渲染规则,之后,视频播放端根据解析器解析的具体内容,将对应的标记内容按照解析器确定的渲染规则叠加显示在视频数据上。其中,解析器可以通过计算机程序实现,其定义有视频处理结果的解析规则以及渲染规则。解析规则可以结合视频处理结果所采用的自定义的描述格式适应性设置,以使解析器基于解析规则可以明确视频处理结果具体内容,以自定义的描述格式包括:算法功能、开始时间、结束时间以及具体数据为例,通过解析规则可以查找到视频处理结果中的算法功能、开始时间、结束时间以及具体数据的具体内容。渲染规则是指渲染标记内容时使用的渲染手段。当前,不同播放类型的视频播放端对应不同的渲染规则,其中,视频播放端的播放类型可以包括Web端(即网页端)、PC端等,这时,解析器可以基于视频播放端的播放类型明确适用于当前的视频播放端的渲染规则。
一个实施例中,当视频处理结果以udta box数据的方式被封装到MP4文件中时,视频播放端还可以从MP4文件中获取udta box数据并基于udta box数据得到视频处理结果,此时,本步骤可以包括步骤241-步骤243:
步骤241、视频播放端读取MP4文件中的udta box数据。
示例性的,视频播放端接收到MP4文件后,读取记录在MP4文件的udta box中的数据,即读取udta box数据。
步骤242、视频播放端根据udta box数据得到视频处理结果。
视频播放端得到udta box数据后,解析udta box数据,以得到视频处理结果,其中,解析udta box数据可以是先将udta box数据转换ASCII码(如果编码对视频处理结果进行编码时使用的是其他类型的码,这里对应转换为其他类型的码),再对ASCII码进行解码,以得到视频处理结果。可理解,解码规则可参考编码规则,实施例对此不作限定。
步骤243、视频播放端播放视频文件中的视频数据,并将视频处理结果对应的标记内容叠加在视频数据上进行显示。
得到视频处理结果后,视频播放端播放视频数据,并通过解析器解析视频处理结果以及确定对应的渲染规则,之后,根据解析结果将对应的标记内容按照对应的渲染规则叠加在视频数据上进行显示。
实际应用中,视频处理结果也可以不封装在视频文件中,这时,服务器端将视频处理结果和视频文件发送至视频播放端。比如,视频处理结果可以通过文本文件的方式存储在服务器端,这时,服务器端可以将文本文件和视频文件同时发送至视频播放端。
可选的,视频播放端渲染视频处理结果对应的标记内容时,可以是根据用户的指示选择相应的视频处理结果并显示对应的标记内容。举例而言,课堂场景下,当用户选择查询考勤情况时,需要人物头部识别算法对应的视频处理结果,这时,用户可以在视频播放端发出相应的指示,之后由视频播放端根据用户的选择找到人物头部识别算法对应的视频处理结果,并显示对应的标记内容。课堂场景下,当用户选择观察课堂教学情况时,需要人物面部表情算法以及人物行动轨迹识别算法等对应的视频处理结果,这时,用户可以在视频播放端发出相应的指示,之后由视频播放端根据用户的选择分别找到人物面部表情算法以及人物行动轨迹识别算法对应的视频处理结果,并显示对应的标记内容。
可选的,视频播放端也可以部署视频分析算法,当视频播放端需要显示自身部署的视频分析算法对应的视频处理结果,但视频文件中没有相应的视频处理结果时,视频播放端可以使用自身部署的视频分析算法对视频数据进行处理,以得到原始处理结果,并且,可以基于原始处理结果将对应的标记内容叠加显示在视频数据上。并且,视频播放端还可以将原始处理结果转换为视频处理结果并上报至服务器端,服务器端接收视频处理结果,并将视频处理结果封装到视频文件中,以更新视频文件中的视频处理结果。
上述,通过服务器端获取视频采集端和/或服务器端对视频数据进行处理后生成的视频处理结果,视频处理结果采用自定义的描述格式进行记录且自定义的描述格式可以被视频播放端识别到,之后,服务器端将至少一个视频处理结果封装到包含视频数据的视频文件中,并将视频文件发送至视频播放端,视频播放端播放视频文件中的视频数据,并基于视频文件中的视频处理结果将对应的标记内容(即根据视频处理结果得到的结果显示内容)叠加在视频数据上进行显示的技术手段,解决了相关技术中播放端无法复用其他节点得到的AI算法处理结果,需要播放端重复使用AI算法的技术问题。通过采用可被视频播放端识别的自定义的描述格式记录视频处理结果,可以使得其他节点(服务器端和/或视频采集端)得到的AI算法处理结果被视频播放端复用,避免视频播放端再重新运行AI算法。通过采用预先设定的自定义的描述格式,可以应对不同AI算法的变化,即使AI算法发生变化,也可以通过自定义的描述格式使视频播放端识别AI算法对应的视频处理结果并进行复用。并且,采用自定义的描述格式也可以增加视频处理结果的可读性,便于后续人工对视频处理结果进行校正、微调等。并且,视频采集端和服务器端均可将自身得到的原始处理结果转换成采用自定义的描述格式的视频处理结果,便于视频播放端对视频处理结果的复用。并且,当视频采集端为第三方的视频采集端且无法得到视频处理结果时,服务器端可以接收第三方的视频采集端发送的原始处理结果,并将原始处理结果转换成采用自定义的描述格式的视频处理结果,可以保证视频播放端对视频处理结果的复用,避免视频播放端再重新运行AI算法。并且,视频处理结果还可以被其他的视频分析算法复用,以节省视频分析算法的执行总时间,提高视频分析算法的处理效率。
上述实施例的基础上,视频处理结果还可以通过文本文件的方式存储在服务器端,此时,服务器端获取视频数据的至少一个视频处理结果之后,还包括:服务器端生成用于记录至少一个视频处理结果的文本文件;服务器端在文本文件中添加视频处理结果对应的描述信息,描述信息用于描述视频处理结果对应的标记内容的显示样式。相应的,服务器端将至少一个视频处理结果封装到包含视频数据的视频文件中,包括:服务器端将文本文件中记录的内容封装到包含视频数据的视频文件中。相应的,视频播放端播放视频文件中的视频数据,并基于视频文件中的视频处理结果将对应的标记内容叠加在视频数据上进行显示,包括:视频播放端播放视频文件中的视频数据,并根据视频文件中的描述信息将相应视频处理结果的标记内容叠加在视频数据上进行显示。
示例性的,服务器端将视频处理结果汇总成一个文本文件,通过文本文件可以查找到当前获取到的全部视频处理结果,且视频处理结果在文本文件中仍采用自定义的描述格式。且服务器端获取到新的视频处理结果时,还可以更新文本文件,以保证文本文件包含全部的视频处理结果。
一个实施例中,文本文件中可添加描述信息,该描述信息定义有样式内容,该样式内容为视频处理结果对应的标记内容的显示样式。比如,视频处理结果对应的标记内容为矩形框时,描述信息可包括用于描述矩形框的颜色、粗细等内容,视频处理结果对应的标记内容为点状轨迹时,描述信息可包括用于描述点状轨迹的颜色、粗细等,视频处理结果对应的标记内容为文字时,描述信息可包括用于描述文字的字体、字号等内容。并且,可以细化到对同一视频处理结果中的不同具体数据设置对应的描述信息,以便于对视频处理结果的统计。可选的,描述信息可以由人工添加在文本文件中,这时,服务器端可以基于人为的操作在文本文件中添加描述信息。
得到文本文件后,服务器端将文本文件中记录的内容封装到视频文件中,该过程与将视频处理结果封装到视频文件中的过程相似,当前不另描述。相应的,视频播放端可以从视频文件中获取到文本文件的内容,以得到视频处理结果和描述信息。这时,视频播放端便可按照描述信息对视频处理结果对应的标记内容进行显示。
上述,通过文本文件的方式记录视频处理结果,并且可以在文本文件中添加视频处理结果对应标记内容的描述信息,可以使得视频播放端根据描述信息渲染对应的标记内容。
图4为本申请另一个实施例提供的一种数据处理方法的流程图,参考图4,该数据处理方法包括步骤310-步骤360:
步骤310、服务器端获取视频数据的至少一个视频处理结果,视频数据由视频采集端采集并发送至服务器端,至少一个视频处理结果由视频采集端对视频数据进行处理后得到和/或由服务器端对视频数据进行处理后得到,至少一个视频处理结果采用自定义的描述格式进行记录,自定义的描述格式可被视频播放端识别。
步骤320、服务器端将至少一个视频处理结果封装到包含视频数据的视频文件中。
步骤330、服务器端将视频文件发送至视频播放端。
步骤340、视频播放端接收结果查询请求。
其中,结果查询请求是指用于查询视频分析算法对应的处理结果的请求,其可以由人工发出。比如,视频播放端可以列出当前可供查询的各类处理结果,当前视频播放端的用户需要查看视频数据中的人物头部识别结果时,可以选择人物头部识别结果的选项并确定,这时,视频播放端基于用户的操作生成一条用于查询人物头部识别结果的结果查询请求,这时,视频播放端确定接收到结果查询请求。再如,用户可以在视频播放端输入当前需要响应的业务类型,之后,视频播放端根据业务类型确定需要查询的处理结果并生成结果查询请求,举例而言,课堂场景下,当用户选择的业务类型为查询考勤业务时,需要人物头部识别算法对应的视频处理结果,这时,视频播放端根据用户的选择确定需要人物头部识别算法对应的视频处理结果,并生成相应的结果查询请求。当用户选择的业务类型为课堂教学观察业务时,需要人物面部表情算法以及人物行动轨迹识别算法等对应的视频处理结果,这时,视频播放端根据用户的选择确定需要人物面部表情算法以及人物行动轨迹识别算法对应的视频处理结果,并生成相应的结果查询请求。
步骤350、视频播放端根据结果查询请求在视频文件中找到对应的视频处理结果。
示例性的,视频播放端解析结果查询请求后可以确定当前查询的处理结果的类型,其中,不同的类型可以通过不同的标识分区,以使视频播放端通过结果查询请求中的标识确定处理结果的类型。可理解,每个视频处理结果均可认为对应一种类型,且对应的类型的内容可以根据视频分析算法的算法功能确定,比如,当前有人物头部识别结果、人物识别结果、人物轨迹识别结果时,这三个识别结果可以认为是三种类型的识别结果。视频播放端确定处理结果的类型后,便可在视频文件记录的视频处理结果中查找符合当前结果查询请求所查询类型的视频处理结果。一种可选方式,视频播放端可以通过读取视频处理结果中的算法功能确定视频处理结果是否符合结果查询请求所查询类型。
可选的,结果查询请求可以查询其中一种或多种处理结果。
步骤360、视频播放端播放视频文件中的视频数据,并将查找到的视频处理结果对应的标记内容叠加在视频数据上进行显示。
视频播放端找到符合结果查询请求的视频处理结果后,便可将找到的视频处理结果对应的标记内容叠加显示在视频数据上。
一个实施例中,视频播放端使用不同的播放类型时,叠加显示视频处理结果时所使用的渲染规则可能不同。其中,渲染规则定义有通过哪种方式将标记内容绘制在显示屏中进行显示。此时,步骤360可包括步骤361-步骤362:
步骤361、视频播放端获取自身的播放类型,并根据播放类型确定查找到的视频处理结果的渲染规则。
当前,播放类型包括但不限定于PC端、Web端等,不同播放类型下,视频处理结果对应的标记内容的渲染规则可能不同。比如,视频播放端采用PC端的类型时,渲染规则为使用GDI(Graphics Device Interface)接口或DirectX接口(也可记为DX接口)等接口显示标记内容。视频播放端采用Web端的类型时,渲染规则为使用Canvas(画布)或DOM(DocumentObject Model)的方式显示标记内容。
一个实施例中,视频播放端可以通过解析器实现确定渲染规则,其中,解析器可以通过计算机程序实现,其定义有不同播放类型对应的渲染规则。应用过程中,解析器可以识别当前视频播放端对应的播放类型,然后,根据播放类型找到对应的渲染规则。
步骤362、视频播放端播放视频文件中的视频数据,并根据渲染规则在视频数据的播放界面上渲染查找到的视频处理结果对应的标记内容。
示例性的,解析器还可以解析视频处理结果,以明确视频处理结果的具体内容,之后,视频播放端在播放视频数据时,还可以基于解析器解析的具体内容以及渲染规则将视频处理结果对应的标记内容叠加显示在视频数据上。
一个实施例中,视频播放端还可能在视频文件中查找不到结果查询请求对应的视频处理结果,这时,视频播放端也可以使用自身存储的视频分析算法对视频数据进行处理。这时,前述数据处理方法还可包括:视频播放端根据结果查询请求在视频文件中未找到对应的视频处理结果时,根据结果查询请求对应的视频分析算法对视频文件中的视频数据进行处理得到原始处理结果;视频播放端播放视频数据,并将原始处理结果对应的标记内容叠加在视频数据上进行显示。
示例性的,视频播放端中也可以部署视频分析算法,并通过视频分析算法对视频数据进行处理。当视频播放端根据结果查询请求在视频文件中未找到对应的视频处理结果时,还可以使用自身部署的视频分析算法对视频数据进行处理。当前,视频播放端使用的视频分析算法与结果查询请求相适应,举例而言,视频播放端部署多种视频分析算法,视频播放端根据结果查询请求在视频文件中未找到对应的视频处理结果时,可以根据结果查询请求在各视频分析算法中查找相适应的视频分析算法。
之后,视频播放端使用视频分析算法对视频文件中的视频数据进行处理,以得到原始处理结果。一般而言,视频播放端得到的原始处理结果可以直接被视频播放端使用,即视频播放端可以显示原始处理结果对应的标记内容。这时,视频播放端在播放视频数据时,可以在视频数据上叠加显示原始处理结果对应的标记内容。可选的,视频播放端也可以将原始处理结果转换成视频处理结果,并解析视频处理结果,以在视频数据上叠加显示对应的标记内容。
如果视频播放端不存在与结果查询请求对应的视频分析算法时,可以提示无法响应结果查询请求。
一个实施例中,视频播放端得到原始处理结果的过程中,也可以对视频文件中的视频处理结果进行复用,这时,视频播放端根据结果查询请求对应的视频分析算法对视频文件中的视频数据进行数据处理得到原始处理结果,包括:视频播放端根据结果查询请求对应的视频分析算法在视频文件中查找可供使用的视频处理结果;视频播放端根据可供使用的视频处理结果和结果查询请求对应的视频分析算法处理视频数据,得到原始处理结果。
示例性的,视频播放端可以在视频文件中查找适用于本次处理的视频处理结果,该视频处理结果为基础处理结果。其中,查找过程与服务器端查找可复用的视频处理结果的实现方式相似,当前不做赘述。当视频播放端查找到可以使用的视频处理结果时,可使用视频分析算法、视频处理结果对视频数据进行处理,得到原始处理结果。举例而言,视频播放端当前执行的视频算法为人物行动轨迹识别算法,且视频播放端复用了视频文件中人物识别算法对应的视频处理结果时,视频播放端可以基于人物识别算法对应的视频处理结果在视频数据中找到人物区域,进而基于人物行动轨迹识别算法对人物区域进行处理,以识别到人物行动轨迹,进而得到对应的原始处理结果。之后,视频播放端可以播放视频数据并叠加显示识别到的人物行动轨迹。如果没有可复用的视频处理结果,则视频播放端使用视频分析算法对视频数据进行处理,以得到原始处理结果。
一个实施例中,视频播放端得到原始处理结果后,还可以将原始处理结果转换为采用自定义的描述格式的视频处理结果并上报给服务器端,这时,视频播放端根据结果查询请求对应的视频分析算法对视频文件中的视频数据进行处理得到原始处理结果之后,还包括:视频播放端将原始处理结果按照自定义的描述格式进行转换,得到视频处理结果;视频播放端将视频处理结果上传至服务器端;服务器端将当前接收到的视频处理结果封装到包含视频数据的视频文件中。
示例性的,视频播放端也可以部署生成器,并使用生成器将原始处理结果转换为视频处理结果,该过程可参考视频采集端的生成器的应用过程,当前不另描述。
视频播放端得到视频处理结果后,将视频处理结果发送至服务器端。之后,服务器端基于接收的视频处理结果对视频文件中的视频处理结果进行更新,即将新接收的视频处理结果也封装至视频文件中,以使视频文件包含全部的视频处理结果,并在视频播放端需要时将视频文件发送至视频播放端。
上述,视频播放端可以根据结果查询请求在视频文件中找到对应的视频处理结果,并在播放视频数据时将找到的视频处理结果对应的标记内容叠加显示在视频数据上,可以实现视频播放端对服务器端发送的视频处理结果的复用,避免视频播放端重复执行视频分析算法。并且,当视频播放端在视频文件中查找不到对应的视频处理结果时,也可以利用自身的视频分析算法对视频数据进行处理,丰富了视频播放端可以显示的处理结果类型。并且,在视频播放端运行视频分析算法时,也可以对视频文件中的视频处理结果进行复用,以节省视频分析算法的执行总时间,提高视频分析算法的处理效率。并且,视频播放端执行视频分析算法时,也可以得到采用自定义的描述格式的视频处理结果,并上报至服务器端,由服务器端将视频处理结果封装至视频文件中,便于后续其他的视频播放端对视频处理结果的复用。
下面对本申请实施例提供的数据处理方法进行示例性描述,本示例中,数据处理系统使用的数据传输示意图如图5所示,其中,视频采集端、服务器端和视频播放端均部署有生成器,服务器端还部署有数据转换器、封装器,视频播放端还部署有解析器。其中,各生成器均将自身所在设备得到的原始处理结果转换成视频处理结果,并发送给服务器端。数据转换器还可以将第三方的视频采集端上报的原始处理结果转换成视频处理结果。之后,由封装器将视频处理结果封装到视频文件中。服务器端将封装后的视频文件发送至视频播放端。由视频播放端的解析器解析视频处理结果以及对应的渲染规则,之后,视频播放端播放视频数据并渲染视频处理结果对应的标记内容,以实现对视频处理结果的复用。
本申请一个实施例还提供了一种数据处理装置。该数据处理装置应用于数据处理系统,所述数据处理系统包括视频采集端、服务器端以及视频播放端。图6为本申请一个实施例提供的一种数据处理装置的结构示意图。参考图6,该数据处理装置包括:结果获取单元401、第一结果封装单元402、文件发送单元403以及结果播放单元404。
其中,结果获取单元401,配置于所述服务器端,用于获取视频数据的至少一个视频处理结果,所述视频数据由所述视频采集端采集并发送至所述服务器端,所述至少一个视频处理结果由所述视频采集端对所述视频数据进行处理后得到和/或由所述服务器端对所述视频数据进行处理后得到,所述至少一个视频处理结果采用自定义的描述格式进行记录,所述自定义的描述格式可被所述视频播放端识别;第一结果封装单元402,配置于所述服务器端,用于将所述至少一个视频处理结果封装到包含所述视频数据的视频文件中;文件发送单元403,配置于所述服务器端,用于将所述视频文件发送至所述视频播放端;结果播放单元404,配置于所述视频播放端,用于播放所述视频文件中的视频数据,并基于所述视频文件中的视频处理结果将对应的标记内容叠加在所述视频数据上进行显示,所述标记内容是根据所述视频处理结果得到的结果显示内容。
本申请一个实施例中,视频处理结果由所述视频采集端生成,数据处理装置还包括:第一视频数据处理单元,配置于视频采集端,用于在服务器端获取视频数据的至少一个视频处理结果之前,根据视频分析算法对采集的视频数据进行处理,得到原始处理结果。第一格式转换单元,配置于视频采集端,用于将所述原始处理结果按照自定义的描述格式进行转换,得到视频处理结果;第一结果发送单元,配置于视频采集端,用于将所述视频处理结果发送至所述服务器端。
本申请一个实施例中,数据处理装置还包括:第二结果发送单元,配置于视频采集端,用于在所述视频采集端根据视频分析算法对采集的视频数据进行处理,得到原始处理结果之后,在所述视频采集端无法将所述原始处理结果转换成所述视频处理结果的情况下,将所述原始处理结果发送至所述服务器端;规则查找单元,配置于服务器端,用于根据所述视频采集端的标识信息查找对应的数据转换规则;第二格式转换单元,配置于服务器端,用于根据所述数据转换规则,将所述原始处理结果转换成采用自定义的描述格式的视频处理结果。
本申请一个实施例中,视频处理结果由所述服务器端生成,数据处理装置还包括:第二视频数据处理单元,配置于服务器端,用于在服务器端获取视频数据的至少一个视频处理结果之前,根据视频分析算法对所述视频采集端发送的视频数据进行处理,得到原始处理结果;第三格式转换单元,配置于服务器端,用于将所述原始处理结果按照自定义的描述格式进行转换,得到视频处理结果。
本申请一个实施例中,第二视频数据处理单元具体用于:根据视频分析算法在已获取到的视频处理结果中找到可供所述视频分析算法使用的视频处理结果时,根据找到的所述视频处理结果、所述视频分析算法和所述视频数据得到原始处理结果,根据所述视频分析算法未找到可供使用的视频处理结果时,根据所述视频分析算法和所述视频数据得到原始处理结果。
本申请一个实施例中,视频文件为MP4文件。第一结果封装单元402包括:数据转换子单元,用于将所述视频处理结果转换为udta box数据;数据封装子单元,用于将所述udtabox数据封装到所述MP4文件中。
本申请一个实施例中,结果播放单元404包括:数据读取子单元,用于视频播放端读取所述MP4文件中的所述udta box数据;第一处理结果确定子单元,用于根据所述udtabox数据得到视频处理结果;第一处理结果播放子单元,用于播放所述视频文件中的视频数据,并将所述视频处理结果对应的标记内容叠加在所述视频数据上进行显示。
本申请一个实施例中,结果播放单元404包括:请求接收子单元,用于接收结果查询请求;第二处理结果确定子单元,用于根据所述结果查询请求在所述视频文件中找到对应的视频处理结果;第二处理结果播放子单元,用于播放所述视频文件中的视频数据,并将查找到的视频处理结果对应的标记内容叠加在所述视频数据上进行显示。
本申请一个实施例中,第二处理结果播放子单元包括:渲染规则查询孙单元,用于获取自身的播放类型,并根据所述播放类型确定查找到的视频处理结果的渲染规则;第三处理结果播放孙单元,用于播放所述视频文件中的视频数据,并根据所述渲染规则在所述视频数据的播放界面上渲染查找到的视频处理结果对应的标记内容。
本申请一个实施例中,数据处理装置还包括第三视频数据处理单元,配置于视频播放端,用于根据所述结果查询请求在所述视频文件中未找到对应的视频处理结果时,根据所述结果查询请求对应的视频分析算法对所述视频文件中的视频数据进行处理得到原始处理结果;第四处理结果播放单元,配置于视频播放端,用于播放所述视频数据,并将所述原始处理结果对应的标记内容叠加在所述视频数据上进行显示。
本申请一个实施例中,第三视频数据处理单元包括:复用结果确定子单元,用于根据所述结果查询请求在所述视频文件中未找到对应的视频处理结果时,根据所述结果查询请求对应的视频分析算法在所述视频文件中查找可供使用的视频处理结果;第四视频数据处理子单元,用于根据可供使用的所述视频处理结果和所述结果查询请求对应的视频分析算法处理所述视频数据,得到原始处理结果。
本申请一个实施例中,数据处理装置还包括第四格式转换单元,配置于视频播放端,用于根据所述结果查询请求对应的视频分析算法对所述视频文件中的视频数据进行处理得到原始处理结果之后,将所述原始处理结果按照自定义的描述格式进行转换,得到视频处理结果;第三结果发送单元,配置于视频播放端,用于将所述视频处理结果上传至所述服务器端;第二结果封装单元,配置于所述服务器端,用于将当前接收到的视频处理结果封装到包含所述视频数据的视频文件中。
本申请一个实施例中,数据处理装置还包括文本文件生成单元,配置于所述服务器端,用于在所述服务器端获取视频数据的至少一个视频处理结果之后,生成用于记录所述至少一个视频处理结果的文本文件;描述信息添加单元,配置于所述服务器端,用于在所述文本文件中添加所述视频处理结果对应的描述信息,所述描述信息用于描述所述视频处理结果对应的标记内容的显示样式。相应的,第一结果封装单元402具体用于将所述文本文件中记录的内容封装到包含所述视频数据的视频文件中。结果播放单元404具体用于播放所述视频文件中的视频数据,并根据所述视频文件中的描述信息将相应视频处理结果的标记内容叠加在所述视频数据上进行显示。
本申请实施例提供的数据处理装置可用于执行上述任意实施例中提供的数据处理方法,具备相应的功能和有益效果。
值得注意的是,上述数据处理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
本申请一个实施例还提供了一种数据处理系统,图7为本申请一个实施例提供的一种数据处理系统的结构示意图。参考图7,该数据处理系统包括:视频采集端51、服务器端52以及视频播放端53。
所述服务器端52,用于获取视频数据的至少一个视频处理结果,所述视频数据由所述视频采集端采集并发送至所述服务器端52,所述至少一个视频处理结果由所述视频采集端51对所述视频数据进行处理后得到和/或由所述服务器端52对所述视频数据进行处理后得到,所述至少一个视频处理结果采用自定义的描述格式进行记录,所述自定义的描述格式可被所述视频播放端识别;所述服务器端52,还用于将所述至少一个视频处理结果封装到包含所述视频数据的视频文件中,将所述视频文件发送至所述视频播放端53;所述视频播放端53,用于播放所述视频文件中的视频数据,并基于所述视频文件中的视频处理结果将对应的标记内容叠加在所述视频数据上进行显示,所述标记内容是根据所述视频处理结果得到的结果显示内容。
本申请一个实施例中,所述视频处理结果由所述视频采集端51生成,所述视频采集端51,用于在所述服务器端52获取视频数据的至少一个视频处理结果之前,根据视频分析算法对采集的视频数据进行处理,得到原始处理结果;将所述原始处理结果按照自定义的描述格式进行转换,得到视频处理结果;将所述视频处理结果发送至所述服务器端52。
本申请一个实施例中,所述视频采集端51,还用于根据视频分析算法对采集的视频数据进行处理,得到原始处理结果之后,无法将所述原始处理结果转换成所述视频处理结果的情况下,将所述原始处理结果发送至所述服务器端52。所述服务器端52,还用于根据所述视频采集端的标识信息查找对应的数据转换规则;根据所述数据转换规则,将所述原始处理结果转换成采用自定义的描述格式的视频处理结果。
本申请一个实施例中,所述视频处理结果由所述服务器端生成,所述服务器端52,还用于获取视频数据的至少一个视频处理结果之前,根据视频分析算法对所述视频采集端51发送的视频数据进行处理,得到原始处理结果;将所述原始处理结果按照自定义的描述格式进行转换,得到视频处理结果。
本申请一个实施例中,所述服务器端52在用于根据视频分析算法对所述视频采集端51发送的视频数据进行处理,得到原始处理结果时,具体用于:根据视频分析算法在已获取到的视频处理结果中找到可供所述视频分析算法使用的视频处理结果时,根据找到的所述视频处理结果、所述视频分析算法和所述视频数据得到原始处理结果,根据所述视频分析算法未找到可供使用的视频处理结果时,根据所述视频分析算法和所述视频数据得到原始处理结果。
本申请一个实施例中,视频文件为MP4文件。所述服务器端52在用于将所述至少一个视频处理结果封装到包含所述视频数据的视频文件中时,具体用于:将所述视频处理结果转换为udta box数据;将所述udta box数据封装到所述MP4文件中。
本申请一个实施例中,所述视频播放端53在用于播放所述视频文件中的视频数据,并基于所述视频文件中的视频处理结果将对应的标记内容叠加在所述视频数据上进行显示时,具体用于读取所述MP4文件中的所述udta box数据;根据所述udta box数据得到视频处理结果;播放所述视频文件中的视频数据,并将所述视频处理结果对应的标记内容叠加在所述视频数据上进行显示。
本申请一个实施例中,所述视频播放端53在用于播放所述视频文件中的视频数据,并基于所述视频文件中的视频处理结果将对应的标记内容叠加在所述视频数据上进行显示时,具体用于:接收结果查询请求;根据所述结果查询请求在所述视频文件中找到对应的视频处理结果;播放所述视频文件中的视频数据,并将查找到的视频处理结果对应的标记内容叠加在所述视频数据上进行显示。
本申请一个实施例中,所述视频播放端53在用于播放所述视频文件中的视频数据,并将查找到的视频处理结果对应的标记内容叠加在所述视频数据上进行显示时,具体用于:获取自身的播放类型,并根据所述播放类型确定查找到的视频处理结果的渲染规则;播放所述视频文件中的视频数据,并根据所述渲染规则在所述视频数据的播放界面上渲染查找到的视频处理结果对应的标记内容。
本申请一个实施例中,所述视频播放端53,还用于根据所述结果查询请求在所述视频文件中未找到对应的视频处理结果时,根据所述结果查询请求对应的视频分析算法对所述视频文件中的视频数据进行处理得到原始处理结果;播放所述视频数据,并将所述原始处理结果对应的标记内容叠加在所述视频数据上进行显示。
本申请一个实施例中,所述视频播放端53在用于根据所述结果查询请求对应的视频分析算法对所述视频文件中的视频数据进行处理得到原始处理结果时,具体用于:根据所述结果查询请求对应的视频分析算法在所述视频文件中查找可供使用的视频处理结果;根据可供使用的所述视频处理结果和所述结果查询请求对应的视频分析算法处理所述视频数据,得到原始处理结果。
本申请一个实施例中,所述视频播放端53,还用于根据所述结果查询请求对应的视频分析算法对所述视频文件中的视频数据进行处理得到原始处理结果之后,将所述原始处理结果按照自定义的描述格式进行转换,得到视频处理结果;将所述视频处理结果上传至所述服务器端52。服务器端52,还用于将当前接收到的视频处理结果封装到包含所述视频数据的视频文件中。
本申请一个实施例中,所述服务器端52,还用于获取视频数据的至少一个视频处理结果之后,生成用于记录所述至少一个视频处理结果的文本文件;在所述文本文件中添加所述视频处理结果对应的描述信息,所述描述信息用于描述所述视频处理结果对应的标记内容的显示样式。相应的,所述服务器端52用于将所述至少一个视频处理结果封装到包含所述视频数据的视频文件中时,具体用于:将所述文本文件中记录的内容封装到包含所述视频数据的视频文件中。相应的,所述视频播放端53在用于播放所述视频文件中的视频数据,并基于所述视频文件中的视频处理结果将对应的标记内容叠加在所述视频数据上进行显示时,具体用于:播放所述视频文件中的视频数据,并根据所述视频文件中的描述信息将相应视频处理结果的标记内容叠加在所述视频数据上进行显示。
上述数据处理系统包括数据处理装置,可以用于执行任意数据处理方法,具备相应的功能和有益效果,当前未描述的具体细节可参考前述数据处理方法的相关描述。
本申请一个实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令被执行时用于执行本申请任意实施例中提供的数据处理方法中的相关操作,且具备相应的功能和有益效果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。
因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理模块以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理模块执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (16)
1.一种数据处理方法,其特征在于,所述数据处理方法应用于数据处理系统,所述数据处理系统包括视频采集端、服务器端以及视频播放端:
所述数据处理方法包括:
所述服务器端获取视频数据的至少一个视频处理结果,所述视频数据由所述视频采集端采集并发送至所述服务器端,所述至少一个视频处理结果由所述视频采集端对所述视频数据进行处理后得到和/或由所述服务器端对所述视频数据进行处理后得到,所述至少一个视频处理结果采用自定义的描述格式进行记录,所述自定义的描述格式可被所述视频播放端识别;
所述服务器端将所述至少一个视频处理结果封装到包含所述视频数据的视频文件中;
所述服务器端将所述视频文件发送至所述视频播放端;
所述视频播放端播放所述视频文件中的视频数据,并基于所述视频文件中的视频处理结果将对应的标记内容叠加在所述视频数据上进行显示,所述标记内容是根据所述视频处理结果得到的结果显示内容。
2.根据权利要求1所述的数据处理方法,其特征在于,所述视频处理结果由所述视频采集端生成,
所述服务器端获取视频数据的至少一个视频处理结果之前,还包括:
所述视频采集端根据视频分析算法对采集的视频数据进行处理,得到原始处理结果;
所述视频采集端将所述原始处理结果按照自定义的描述格式进行转换,得到视频处理结果;
所述视频采集端将所述视频处理结果发送至所述服务器端。
3.根据权利要求2所述的数据处理方法,其特征在于,所述视频采集端根据视频分析算法对采集的视频数据进行处理,得到原始处理结果之后,还包括:
在所述视频采集端无法将所述原始处理结果转换成所述视频处理结果的情况下,所述视频采集端将所述原始处理结果发送至所述服务器端;
所述服务器端根据所述视频采集端的标识信息查找对应的数据转换规则;
所述服务器端根据所述数据转换规则,将所述原始处理结果转换成采用自定义的描述格式的视频处理结果。
4.根据权利要求1所述的数据处理方法,其特征在于,所述视频处理结果由所述服务器端生成,
所述服务器端获取视频数据的至少一个视频处理结果之前,还包括:
所述服务器端根据视频分析算法对所述视频采集端发送的视频数据进行处理,得到原始处理结果;
所述服务器端将所述原始处理结果按照自定义的描述格式进行转换,得到视频处理结果。
5.根据权利要求4所述的数据处理方法,其特征在于,所述服务器端根据视频分析算法对所述视频采集端发送的视频数据进行处理,得到原始处理结果,包括:
所述服务器端根据视频分析算法在已获取到的视频处理结果中找到可供所述视频分析算法使用的视频处理结果时,根据找到的所述视频处理结果、所述视频分析算法和所述视频数据得到原始处理结果,根据所述视频分析算法未找到可供使用的视频处理结果时,根据所述视频分析算法和所述视频数据得到原始处理结果。
6.根据权利要求1所述的数据处理方法,其特征在于,所述视频文件为MP4文件,
所述服务器端将所述至少一个视频处理结果封装到包含所述视频数据的视频文件中,包括:
所述服务器端将所述视频处理结果转换为udta box数据;
所述服务器端将所述udta box数据封装到所述MP4文件中。
7.根据权利要求6所述的数据处理方法,其特征在于,所述视频播放端播放所述视频文件中的视频数据,并基于所述视频文件中的视频处理结果将对应的标记内容叠加在所述视频数据上进行显示,包括:
所述视频播放端读取所述MP4文件中的所述udta box数据;
所述视频播放端根据所述udta box数据得到视频处理结果;
所述视频播放端播放所述视频文件中的视频数据,并将所述视频处理结果对应的标记内容叠加在所述视频数据上进行显示。
8.根据权利要求1所述的数据处理方法,其特征在于,所述视频播放端播放所述视频文件中的视频数据,并基于所述视频文件中的视频处理结果将对应的标记内容叠加在所述视频数据上进行显示,包括:
所述视频播放端接收结果查询请求;
所述视频播放端根据所述结果查询请求在所述视频文件中找到对应的视频处理结果;
所述视频播放端播放所述视频文件中的视频数据,并将查找到的视频处理结果对应的标记内容叠加在所述视频数据上进行显示。
9.根据权利要求8所述的数据处理方法,其特征在于,所述视频播放端播放所述视频文件中的视频数据,并将查找到的视频处理结果对应的标记内容叠加在所述视频数据上进行显示,包括:
所述视频播放端获取自身的播放类型,并根据所述播放类型确定查找到的视频处理结果的渲染规则;
所述视频播放端播放所述视频文件中的视频数据,并根据所述渲染规则在所述视频数据的播放界面上渲染查找到的视频处理结果对应的标记内容。
10.根据权利要求8所述的数据处理方法,其特征在于,还包括:
所述视频播放端根据所述结果查询请求在所述视频文件中未找到对应的视频处理结果时,根据所述结果查询请求对应的视频分析算法对所述视频文件中的视频数据进行处理得到原始处理结果;
所述视频播放端播放所述视频数据,并将所述原始处理结果对应的标记内容叠加在所述视频数据上进行显示。
11.根据权利要求10所述的数据处理方法,其特征在于,所述视频播放端根据所述结果查询请求对应的视频分析算法对所述视频文件中的视频数据进行处理得到原始处理结果,包括:
所述视频播放端根据所述结果查询请求对应的视频分析算法在所述视频文件中查找可供使用的视频处理结果;
所述视频播放端根据可供使用的所述视频处理结果和所述结果查询请求对应的视频分析算法处理所述视频数据,得到原始处理结果。
12.根据权利要求10或11所述的数据处理方法,其特征在于,所述视频播放端根据所述结果查询请求对应的视频分析算法对所述视频文件中的视频数据进行处理得到原始处理结果之后,还包括:
所述视频播放端将所述原始处理结果按照自定义的描述格式进行转换,得到视频处理结果;
所述视频播放端将所述视频处理结果上传至所述服务器端;
所述服务器端将当前接收到的视频处理结果封装到包含所述视频数据的视频文件中。
13.根据权利要求1所述的数据处理方法,其特征在于,所述服务器端获取视频数据的至少一个视频处理结果之后,还包括:
所述服务器端生成用于记录所述至少一个视频处理结果的文本文件;
所述服务器端在所述文本文件中添加所述视频处理结果对应的描述信息,所述描述信息用于描述所述视频处理结果对应的标记内容的显示样式;
所述服务器端将所述至少一个视频处理结果封装到包含所述视频数据的视频文件中,包括:
所述服务器端将所述文本文件中记录的内容封装到包含所述视频数据的视频文件中;
所述视频播放端播放所述视频文件中的视频数据,并基于所述视频文件中的视频处理结果将对应的标记内容叠加在所述视频数据上进行显示,包括:
所述视频播放端播放所述视频文件中的视频数据,并根据所述视频文件中的描述信息将相应视频处理结果的标记内容叠加在所述视频数据上进行显示。
14.一种数据处理装置,其特征在于,所述数据处理装置应用于数据处理系统,所述数据处理系统包括视频采集端、服务器端以及视频播放端:
所述数据处理装置包括:
结果获取单元,配置于所述服务器端,用于获取视频数据的至少一个视频处理结果,所述视频数据由所述视频采集端采集并发送至所述服务器端,所述至少一个视频处理结果由所述视频采集端对所述视频数据进行处理后得到和/或由所述服务器端对所述视频数据进行处理后得到,所述至少一个视频处理结果采用自定义的描述格式进行记录,所述自定义的描述格式可被所述视频播放端识别;
第一结果封装单元,配置于所述服务器端,用于将所述至少一个视频处理结果封装到包含所述视频数据的视频文件中;
文件发送单元,配置于所述服务器端,用于将所述视频文件发送至所述视频播放端;
结果播放单元,配置于所述视频播放端,用于播放所述视频文件中的视频数据,并基于所述视频文件中的视频处理结果将对应的标记内容叠加在所述视频数据上进行显示,所述标记内容是根据所述视频处理结果得到的结果显示内容。
15.一种数据处理系统,其特征在于,包括:视频采集端、服务器端以及视频播放端;
所述服务器端,用于获取视频数据的至少一个视频处理结果,所述视频数据由所述视频采集端采集并发送至所述服务器端,所述至少一个视频处理结果由所述视频采集端对所述视频数据进行处理后得到和/或由所述服务器端对所述视频数据进行处理后得到,所述至少一个视频处理结果采用自定义的描述格式进行记录,所述自定义的描述格式可被所述视频播放端识别;
所述服务器端,还用于将所述至少一个视频处理结果封装到包含所述视频数据的视频文件中,将所述视频文件发送至所述视频播放端;
所述视频播放端,用于播放所述视频文件中的视频数据,并基于所述视频文件中的视频处理结果将对应的标记内容叠加在所述视频数据上进行显示,所述标记内容是根据所述视频处理结果得到的结果显示内容。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被执行时实现如权利要求1-13中任一所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410502528.2A CN118101987B (zh) | 2024-04-25 | 2024-04-25 | 一种数据处理方法、装置、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410502528.2A CN118101987B (zh) | 2024-04-25 | 2024-04-25 | 一种数据处理方法、装置、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118101987A true CN118101987A (zh) | 2024-05-28 |
CN118101987B CN118101987B (zh) | 2024-07-30 |
Family
ID=91157539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410502528.2A Active CN118101987B (zh) | 2024-04-25 | 2024-04-25 | 一种数据处理方法、装置、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118101987B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101207807A (zh) * | 2007-12-18 | 2008-06-25 | 孟智平 | 一种处理视频的方法及其系统 |
CN107332830A (zh) * | 2017-06-19 | 2017-11-07 | 腾讯科技(深圳)有限公司 | 视频转码、视频播放方法及装置、计算机设备、存储介质 |
WO2018024179A1 (zh) * | 2016-08-04 | 2018-02-08 | 腾讯科技(深圳)有限公司 | 一种视频处理方法、服务器及终端、计算机存储介质 |
CN107888942A (zh) * | 2017-11-24 | 2018-04-06 | 河南蓝信软件有限公司 | 一种视频数据共享系统及方法 |
CN114666477A (zh) * | 2022-03-24 | 2022-06-24 | 重庆紫光华山智安科技有限公司 | 一种视频数据处理方法、装置、设备及存储介质 |
CN117714741A (zh) * | 2023-11-16 | 2024-03-15 | 北京华宇信息技术有限公司 | 视频文件处理方法、视频管理平台及存储介质 |
-
2024
- 2024-04-25 CN CN202410502528.2A patent/CN118101987B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101207807A (zh) * | 2007-12-18 | 2008-06-25 | 孟智平 | 一种处理视频的方法及其系统 |
WO2018024179A1 (zh) * | 2016-08-04 | 2018-02-08 | 腾讯科技(深圳)有限公司 | 一种视频处理方法、服务器及终端、计算机存储介质 |
CN107332830A (zh) * | 2017-06-19 | 2017-11-07 | 腾讯科技(深圳)有限公司 | 视频转码、视频播放方法及装置、计算机设备、存储介质 |
CN107888942A (zh) * | 2017-11-24 | 2018-04-06 | 河南蓝信软件有限公司 | 一种视频数据共享系统及方法 |
CN114666477A (zh) * | 2022-03-24 | 2022-06-24 | 重庆紫光华山智安科技有限公司 | 一种视频数据处理方法、装置、设备及存储介质 |
CN117714741A (zh) * | 2023-11-16 | 2024-03-15 | 北京华宇信息技术有限公司 | 视频文件处理方法、视频管理平台及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN118101987B (zh) | 2024-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11321583B2 (en) | Image annotating method and electronic device | |
EP2829055B1 (en) | Method and apparatus for processing media file for augmented reality service | |
CN105450978B (zh) | 用于在视频监控系统中实现结构化描述的方法和装置 | |
CN114697631B (zh) | 沉浸媒体的处理方法、装置、设备及存储介质 | |
CN112800255A (zh) | 数据标注、对象跟踪方法、装置、设备和存储介质 | |
CN113254393B (zh) | 一种互动视频的封装方法及装置、电子设备 | |
CN111583348B (zh) | 图像数据编码方法及装置、显示方法及装置、电子设备 | |
CN111741329B (zh) | 一种视频处理方法、装置、设备及存储介质 | |
CN113515998A (zh) | 一种视频数据处理方法、设备以及可读存储介质 | |
CN116431855A (zh) | 图像检索方法和相关设备 | |
CN118101987B (zh) | 一种数据处理方法、装置、系统及存储介质 | |
CN107729381B (zh) | 基于多维特征识别的交互多媒体资源聚合方法及系统 | |
CN110909726B (zh) | 一种基于图像识别的书面文档互动系统和方法 | |
CN116502810B (zh) | 一种基于图像识别的标准化生产监测方法 | |
CN113497963A (zh) | 视频处理方法、装置及设备 | |
CN114363694A (zh) | 一种视频处理方法、装置、计算机设备及存储介质 | |
CN111259182A (zh) | 一种截屏图像的搜索方法和装置 | |
KR20140033667A (ko) | 객체 기반 동영상 편집 장치 및 방법 | |
US20200034338A1 (en) | System and method of virtual/augmented/mixed (vam) reality data storage | |
CN106060443A (zh) | 一种基于安卓系统的视频录制方法和装置 | |
US11122252B2 (en) | Image processing device, display device, information recording medium, image processing method, and program for virtual reality content | |
CN101887412A (zh) | 文件生成方法及文件生成装置 | |
CN113392230A (zh) | 标注数据处理和操作方法以及标注平台和数据库 | |
CN112151048A (zh) | 音视图数据生成以及处理的方法 | |
CN113449122B (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 |