1.本发明涉及串流技术领域,尤其涉及一种应用影音预处理的串流改进方法、装置及存储介质。
背景技术:2.当前音视频的串流技术被广泛应用于监控场景、视频软件、直播软件以及人工智能等方面,用以支持串流数据源向视频接受方实时的传递视频数据。
3.视频接收方在不同的情景下对串流的视频数据质量、视频帧格式的需求不同。如在监控场景,对多串流数据源的视频数据整体展示时,需要多通道串流,受限于网络带宽,需要每个串流所传输的视频质量往往较低,而监控场景下需要展示某一串流数据源的视频数据时,则需要接受该串流数据源传输高质量视频数据的串流。如在视频软件或直播软件中,往往需要多个小窗动态展示每个视频或者直播的预览,此时,小窗所需的视频数据往往需要经过压缩、质量相对较低,在点进视频或直播后需要视频窗口需要的视频数据质量相对小窗较高。如在人工智能领域,运行人工智能神经网络的运算设备,获取原始视频后需要在输入各种模型前,对原始视频数据的视频帧进行一定的预处理,使得处理后的视频数据满足模型的输入需求。目前,串流数据源为满足不同视频接收方的需要,其原始视频数据的像素往往比较高,原始视频数据的比较大。若视频接收方需要相对低质量的视频数据却向其传输高质量的视频数据,给视频接收方带来网络传输压力。且对于人工智能领域,除了网络传输压力外,运算设备在运行人工智能神经网络的同时还需要对视频数据进行预处理,运算设备的计算资源被预处理分走,导致分给人工智能神经网络模型资源占比少,分析的效率低实时性差。
技术实现要素:4.为了解决上述技术问题或者至少部分地解决上述技术问题,本发明提供一种应用影音预处理的串流改进方法、装置及存储介质。
5.第一方面,本发明提供一种应用影音预处理的串流改进方法,包括:接收并缓存串流数据源的原始视频数据;
6.基于针对任一串流数据源的预处理配置形成对应的预处理策略,通过该预处理策略对该串流数据源原始视频数据进行预处理形成预处理视频数据;其中,预处理配置中的各个预处理配置项、预处理配置项参数以及各个配置项之间的配合关系根据该串流数据源的视频接收方所需的视频预处理过程设置;
7.根据视频接收方针对至少一串流数据源的串流方式请求将相关串流数据源的原始视频数据的片段和/或预处理视频数据片段封装于若干串流封包中,形成相应串流;
8.视频接收方接收解析串流获取所需的原始视频数据和/或预处理视频数据。
9.更进一步地,预先创建记录预处理配置项函数的预处理配置项函数库;
10.根据任一针对串流数据源的预处理配置中任一预处理配置项,从预处理配置项函
数库中调用对应的预处理配置项函数,并将该预处理配置项的预处理配置项参数传递给所调用的预处理配置项函数;并基于该预处理配置中各个预处理配置项之间的配合关系构建所调用的预处理配置项函数之间的关系,形成预处理策略。
11.更进一步地,实现预处理配置项的所述预处理配置函数包括视频帧图像的空域变换函数、视频帧图像的形态学函数、噪声滤波处理函数、图像变换函数、帧处理函数、视频帧图像灰度处理函数。
12.更进一步地,串流方式请求中配置包含至少一串流数据源、与单个串流数据源关联的一串流标识和视频接收方信息,其中,串流标识为指示串流方式的第一串流标识、第二串流标识和第三串流标识中至少一个;
13.控制一串流数据源按与之的串流标识所指示的串流方式进行串流。
14.更进一步地,若在一串流方式请求中,与一串流数据源关联的串流标识为第一串流标识,则将该串流数据源的原始视频数据封装成串流发给该串流方式请求中的视频接收方;
15.若在一串流方式请求中,与一串流数据源关联的串流标识为第二串流标识,则将该串流数据源的预处理视频数据封装成串流发给该串流方式请求中的视频接收方;
16.若在一串流方式请求中,与一串流数据源关联的串流标识为第三串流标识,则将该串流数据源的原始视频数据和预处理视频数据封装成串流发给该串流方式请求中的视频接收方。
17.更进一步地,将一串流数据源的原始视频数据和预处理视频数据封装于同一串流时,将原始视频数据的一原始视频数据片段封装于一主封包,将对应该原始数据片段的预处理视频数据片段封装于紧接封装该原始数据片段主封包的一客制封包,主封包和客制封包形成的整体依次串接形成包含原始视频数据和预处理视频数据串流。
18.第二方面,本发明提供一种影音串流改进装置,包括:
19.至少一串流数据源,所述串流数据源产生原始视频数据;
20.耦接串流数据源的预处理模块,所述预处理模块接收缓存串流数据源所产生的原始视频数据,并利用针对目标串流数据源的目标预处理策略预处理原始视频数据形成预处理视频数据;
21.串流模块,所述串流模块根据至少一视频接收方针对至少一串流数据源的串流方式请求将相关串流数据源的原始视频数据的片段和/或预处理视频数据片段封装于若干串流封包中,形成相应串流发送给耦接串流模块的相应视频接收方。
22.更进一步地,耦接预处理模块的预处理策略构建模块,所述预处理策略构建模块根据任一预处理配置中任一预处理配置项,从预处理配置项函数库中调用对应的预处理配置项函数,并将该预处理配置项的预处理配置项参数传递给所调用的预处理配置项函数;并基于该预处理配置中各个预处理配置项之间的配合关系构建所调用的预处理配置项函数之间的关系,形成预处理策略。
23.第三方面,本发明提供一种实现应用影音预处理的串流改进方法的存储介质,所述实现应用影音预处理的串流改进方法的存储介质存储至少一条指令,读取并执行所述指令实现应用影音预处理的串流改进方法。
24.本发明实施例提供的上述技术方案与现有技术相比具有如下优点:
25.本发明中,基于针对任一串流数据源的预处理配置形成对应的预处理策略,利用预处理策略对串流数据源的原始视频数据进行预处理形成预处理视频数据。预处理配置基于视频接收方所需的视频预处理过程设置。并在串流时,根据视频接收方发送的串流方式请求,将相关串流数据源的原始视频数据的片段和/或预处理视频数据片段封装于若干串流封包中,形成相应串流,视频接收方接收解析串流获取所需的原始视频数据和/或预处理视频数据。视频接收方基于需求来控制串流方式,在需要相对低质量的视频数据时,仅仅串流相应预处理策略处理后的预处理视频数据,能够有效的降低串流数据源和视频接收方之间的数据传输量,节省网络资源。对于视频接收方而言,预处理过程与其解耦,能够节省视频接收方的运算资源。
附图说明
26.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
27.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
28.图1为本发明实施例提供的一种应用影音预处理的串流改进方法的流程图;
29.图2为本发明实施例提供基于预处理配置构建预处理策略的流程图;
30.图3为本发明实施例提供一种包含原始视频数据和预处理视频数据的串流包的示意图;
31.图4为本发明实施例提供一种基于应用影音预处理的串流改进方法的影音串流改进装置的示意图。
具体实施方式
32.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
33.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
34.实施例1
35.参阅图1所示,本发明实施例提供一种应用影音预处理的串流改进方法,包括:
36.s100,接收并缓存串流数据源的原始视频数据。图像是一种二维的连续函数,电子设备对图像进行数字处理时,对图像在空间和亮度上进行数字化,空间上的数字化对图像空间坐标离散化形成像素方格,在以像素方格上图像亮度的平均值作为该方格的值将亮度数字化,且亮度数字化过程中往往采用分层量化的方式,即将亮度映射到从最暗值到最亮
值的有限值中。因此,数字图像本质上m
×
n的矩阵。对于同样尺寸的图像,其像素方格越小,数字图像的分辨率越高越清晰,同样包含的数据量越多。对于同样尺寸同样分辨率的图像,其亮度分层的值越多图像越平滑,同样包含的数据量越多。串流数据源的原始视频数据分辨率往往高,包含的数据量相对较多。
37.s200,基于针对任一串流数据源的预处理配置形成对应的预处理策略。其中,预处理配置中的各个预处理配置项、预处理配置项参数以及各个配置项之间的配合关系根据该串流数据源的视频接收方所需的视频预处理过程设置。
38.具体实施过程中,参阅图2所示,基于针对任一串流数据源的预处理配置形成对应的预处理策略的过程包括:
39.s201,预先创建记录预处理配置项函数的预处理配置项函数库。
40.s202,根据任一针对串流数据源的预处理配置中任一预处理配置项,从预处理配置项函数库中调用对应的预处理配置项函数。具体实施过程中,基于视频视频接收方的需求创建预处理配置,预处理配置包括至少一个预处理配置项、预处理配置项参数以及各个配置项之间的配合关系。
41.具体的,实现预处理配置项的所述预处理配置函数包括:
42.视频帧图像的空域变换函数,如视频帧图像的比例缩放函数、旋转函数、裁剪函数、剪变函数、翻转函数、平移函数、仿射变换函数、投影变换函数、盒型变换函数。
43.视频帧图像的形态学函数,如腐蚀函数、膨胀函数、距离变换函数、图像邻域运算块运算函数。
44.噪声滤波处理函数,如空域滤波模板(拉普拉斯模板、sobel模板、prewitt模板和roboert模板)函数、频域滤波(低通滤波、高通滤波,带通滤波、带阻滤波和同态滤波)函数。
45.图像变换函数,如傅里叶变换函数、离散余弦变换函数、radon变换函数、hough变换函数、fan-bean投影变换函数和小波变换函数。
46.帧处理函数,如抽帧处理函数、插帧处理函数。
47.视频帧图像灰度处理函数,如调整灰度级的插值函数、灰度化函数。
48.所述预处理配置函数库设计为可拓展库,视频接收方开发者提供的函数经过安全检验后可添加到预处理配置函数库中,使得预处理配置函数库能够支持更过的视频接收方的预处理配置。
49.s203,将预处理配置项的预处理配置项参数传递给所调用的预处理配置项函数;
50.s204,基于预处理配置中各个预处理配置项之间的配合关系构建所调用的预处理配置项函数之间的关系,形成预处理策略。预处理配置项之间的配合关系包括但不限于顺序执行、循环嵌套、调用。
51.s300,通过针对串流数据源的预处理策略对该串流数据源原始视频数据进行预处理形成预处理视频数据。
52.s400,视频接收方根据需求针对串流数据源发起串流方式请求。串流方式请求中配置包含至少一串流数据源、与单个串流数据源关联的一串流标识和视频接收方信息,其中,串流标识为指示串流方式的第一串流标识、第二串流标识和第三串流标识中至少一个;根据串流方式请求使一串流数据源按与之的串流标识所指示的串流方式进行串流。
53.s500,根据视频接收方针对至少一串流数据源的串流方式请求将相关串流数据源
的原始视频数据的片段和/或预处理视频数据片段封装于若干串流封包中,形成相应串流。
54.具体的,若在一串流方式请求中,与一串流数据源关联的串流标识为第一串流标识,则将该串流数据源的原始视频数据封装成串流发给该串流方式请求中的视频接收方;
55.若在一串流方式请求中,与一串流数据源关联的串流标识为第二串流标识,则将该串流数据源的预处理视频数据封装成串流发给该串流方式请求中的视频接收方;
56.若在一串流方式请求中,与一串流数据源关联的串流标识为第三串流标识,则将该串流数据源的原始视频数据和预处理视频数据封装成串流发给该串流方式请求中的视频接收方。参阅图3所示,将一串流数据源的原始视频数据和预处理视频数据封装于同一串流时,将原始视频数据的一原始视频数据片段封装于一主封包,将对应该原始数据片段的预处理视频数据片段封装于紧接封装该原始数据片段主封包的一客制封包,主封包和客制封包形成的整体依次串接形成包含原始视频数据和预处理视频数据串流。
57.s600,视频接收方接收解析串流获取所需的原始视频数据和/或预处理视频数据。
58.实施例2
59.在本实施例中,将实施例1应用于监控场景,监控场景的预处理配置中包含视频按比例缩小配置项,基于视频按比例缩小配置项调用视频帧图像的空域变换函数中的视频帧图像的比例缩放函数处理串流数据源的原始视频数据。监控场景的视频接收方在展示多串流数据源的视频时,监控场景发送包含第二串流标识的串流方式请求,接收将串流数据源的原始视频数据缩小的预处理视频图像。监控场景的视频接收方单独展示一串流数据源的视频时,监控场景发送包含第一串流标志的串流方式请求,接收单独展示串流数据源的原始视频数据。
60.实施例3
61.本实施例中,将实施例1应用于视频或直播软件,监控场景的预处理配置中包含视频按比例缩小配置项,基于视频按比例缩小配置项调用视频帧图像的空域变换函数中的视频帧图像的比例缩放函数处理串流数据源的原始视频数据。视频或直播软件通过小窗展示串流数据源的视频预览时,视频或直播软件的视频接收方发送包含第二串流标志的串流方式请求,接收将串流数据源的原始视频数据缩小的预处理视频图像。视频或直播软件的视频接收方进入视频或直播页面时,监控场景发送包含第一串流标志的串流方式请求,接收串流数据源的原始视频数据。
62.实施例4
63.本实施例中,将实施例1应用于人工智能分析视频的场景中,人工智能分析视频场景的预处理配置按照人工智能神经网络模型所需的视频帧图像预处理过程设置。人工智能神经网络模型所在运算设备发送包含第二串流标识的串流方式请求,接收预处理视频数据,并将预处理视频数据输入到人工智能神经网络模型中运算。
64.实施例5
65.参阅图4所示,本技术实施例提供一种基于应用影音预处理的串流改进方法的影音串流改进装置,包括:
66.至少一串流数据源,所述串流数据源产生原始视频数据。
67.耦接串流数据源的预处理模块,所述预处理模块接收缓存串流数据源所产生的原始视频数据,并利用针对目标串流数据源的目标预处理策略预处理原始视频数据形成预处
理视频数据。
68.耦接串流数据源和预处理模块的串流模块,所述串流模块根据至少一视频接收方针对至少一串流数据源的串流方式请求将相关串流数据源的原始视频数据的片段和/或预处理视频数据片段封装于若干串流封包中,形成相应串流发送给耦接串流模块的相应视频接收方。
69.耦接预处理模块的预处理策略构建模块,所述预处理策略构建模块根据任一预处理配置中任一预处理配置项,从预处理配置项函数库中调用对应的预处理配置项函数,并将该预处理配置项的预处理配置项参数传递给所调用的预处理配置项函数;并基于该预处理配置中各个预处理配置项之间的配合关系构建所调用的预处理配置项函数之间的关系,形成预处理策略。
70.实施例6
71.本技术实施例提供一种实现应用影音预处理的串流改进方法的存储介质,所述实现应用影音预处理的串流改进方法的存储介质配置至少一传输接口,且存储至少一条指令,从传输接口读取并执行所述指令实现应用影音预处理的串流改进方法。
72.在本发明所提供的实施例中,应该理解到,所揭露的结构,可以通过其它的方式实现。例如,以上所描述的结构实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,结构或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
73.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
74.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
75.以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。