掌桥专利:专业的专利平台
掌桥专利
首页

一种实时视频通话人像识别结果的网络传输方法和系统

文献发布时间:2024-07-23 01:35:21


一种实时视频通话人像识别结果的网络传输方法和系统

技术领域

本发明涉及一种实时视频通话人像识别结果的网络传输方法和系统,涉及计算机技术领域。

背景技术

视频通话中,可以在服务端进行视频的渲染,从而让用户有更佳的视频体验,比如虚拟背景、手势识别等。

在现有技术对人像识别的虚拟背景处理过程中,人像识别服务器将实时流经过解封装、解码、人像识别、背景替换、编码、封装操作,然后向目的地址输出渲染后的视频流,但在多特效叠加时,人像识别结果在网络传输时往往存在带宽浪费和时延问题。

因此,如何有效解决实时视频通话中人像识别结果网络传输时的带宽浪费和时延问题,已成为技术人员重点关注的技术问题。

发明内容

有鉴于此,本发明的目的是提供一种实时视频通话人像识别结果的网络传输方法和系统,能有效解决实时视频通话中人像识别结果网络传输时的带宽浪费和时延问题。

为了达到上述目的,本发明提供了一种实时视频通话人像识别结果的网络传输方法,当通话终端将实时采集到的rtp视频流发送给人像识别服务器时,包括有:

人像识别服务器将接收到的rtp视频流进行解封装和解码,从中提取出所有彩色图像数据帧,然后对每张彩色图像数据帧进行人像识别后生成人像区域的灰度图像帧,再对每帧灰度图像压缩,并将压缩后的灰度图像转换成NV12像素格式,最后将转换后的图像编码为h264格式的视频流,封装为rtp包后发送至目的地址,

其中,对每帧灰度图像压缩,进一步包括有:

计算灰度图像上每个像素点的区域特征值,然后按一定缩放比例对每帧灰度图像进行缩放以获得目标灰度图像,并根据区域特征值计算获得目标灰度图像中每个像素点的像素值。

为了达到上述目的,本发明还提供了一种实时视频通话人像识别结果的网络传输系统,包括有人像识别服务器和通话终端,其中:

人像识别服务器,用于将接收到的rtp视频流进行解封装和解码,从中提取出所有彩色图像数据帧,然后对每张彩色图像数据帧进行人像识别后生成人像区域的灰度图像帧,再对每帧灰度图像压缩,并将压缩后的灰度图像转换成NV12像素格式,最后将转换后的图像编码为h264格式的视频流,封装为rtp包后发送至目的地址;

通话终端,用于将实时采集到的rtp视频流发送给人像识别服务器,

人像识别服务器进一步包括有:

灰度图像压缩装置,用于计算每帧灰度图像上每个像素点的区域特征值,然后按一定缩放比例对每帧灰度图像进行缩放以获得目标灰度图像,并根据区域特征值计算获得目标灰度图像中每个像素点的像素值。

为了达到上述目的,本发明还提供了一种计算设备,包括:

存储器和处理器;

所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现所述实时视频通话人像识别结果的网络传输方法的步骤。

为了达到上述目的,本发明还提供了一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现所述实时视频通话人像识别结果的网络传输方法的步骤。

与现有技术相比,本发明的有益效果是:本发明在获得人像区域的灰度图像帧时,可以根据灰度图像的内容特征使用不同的缩放算法,从而保留更多细节或者减少计算量;本发明还可以采用基于区域的颜色来实现对灰度图的像素色阶压缩,以有效减少网络传输的数据量;在发送数据包时,本发明还可以通过自适应的方式,根据拥塞级别的变化动态地增加或减少发送速率,以适应网络的实时负载情况,从而提高实时多媒体应用的性能和用户体验。

附图说明

图1是本发明一示例性实施例示出的按一定缩放比例对每帧灰度图像进行缩放以获得目标灰度图像,并根据区域特征值计算获得目标灰度图像中每个像素点的像素值的具体操作流程图。

图2是本发明一示例性实施例示出的将每帧灰度图像划分成多个灰度差平均值小于阈值的区域块的具体操作流程图。

图3是本发明一示例性实施例示出的人像识别服务器将rtp包发送至目标地址的具体操作流程图。

图4是本发明一示例性实施例示出的一种实时视频通话人像识别结果的网络传输系统的结构示意图。

图5是本发明一示例性实施例示出的计算机设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。

本发明一种实时视频通话人像识别结果的网络传输方法,当通话终端将实时采集到的rtp视频流发送给人像识别服务器时,包括有:

人像识别服务器将接收到的rtp视频流进行解封装和解码,从中提取出所有彩色图像数据帧,然后对每张彩色图像数据帧进行人像识别后生成人像区域的灰度图像帧,再对每帧灰度图像压缩,并将压缩后的灰度图像转换成NV12像素格式,最后将转换后的图像编码为h264格式的视频流,封装为rtp包后发送至目的地址,

其中,对每帧灰度图像压缩,进一步包括有:

计算灰度图像上每个像素点的区域特征值,所述区域特征值用于标识像素点所在区域属于边缘或纹理丰富区域、或者平滑区域,然后按一定缩放比例对每帧灰度图像进行缩放以获得目标灰度图像,并根据区域特征值计算获得目标灰度图像中每个像素点的像素值。

进一步作为可选的实施方式,计算灰度图像上每个像素点的区域特征值,可以进一步包括有:

应用Sobel算子模板,和灰度图像进行卷积操作,计算灰度图像上每个像素点在水平方向和垂直方向上的梯度值以获得相应的梯度幅度值G,并据此计算灰度图像中每个像素点的区域特征值:如果其梯度幅度值大于幅度阈值,则该像素点的区域特征值为1,如果其梯度幅度值小于幅度阈值,则该像素点的区域特征值为0。

其中,Sobel算子模板可以设定为:G

值得一提的是,本发明对于边缘或纹理丰富区域、或者平滑区域,使用不同的插值法来进行缩放,以保留更多细节、或者减少计算量。进一步作为可选的实施方式,如图1所示,按一定缩放比例对每帧灰度图像进行缩放以获得目标灰度图像,并根据区域特征值计算获得目标灰度图像中每个像素点的像素值,可以进一步包括有:

步骤A1、根据目标灰度图像中每个待计算的像素点的位置坐标,计算其在原始的灰度图像中对应的位置坐标(称为浮点坐标):x=x′/sx,y=y′/sy,(x′,y′)是待计算的像素点在目标灰度图像中的位置坐标,(x,y)是(x′,y′)对应的浮点坐标,缩放比例因子sx和sy可以根据实际业务需要而设置;

步骤A2、判断浮点坐标像素点的区域特征值是否是1,如果是,则继续步骤A3;如果否,则继续步骤A4;

步骤A3、计算原始灰度图像中和浮点坐标最近的四个像素点的坐标位置(x

步骤A4、计算原始灰度图像中和浮点坐标最近的像素点的坐标位置(i,j):i=round(x),j=round(y),round()函数表示四舍五入取整,然后从原始灰度图像获取最近的像素点的像素值,将待计算的像素点的像素值设置为最近的像素点的像素值。

进一步作为可选的实施方式,对每帧灰度图像压缩,还可以对灰度图像进行像素色阶压缩,进一步包括有:

将每帧灰度图像划分成多个灰度差平均值小于阈值的区域块,然后获取每个区域块的主要颜色特征,采用K均值算法将每个区域块的不同颜色进行聚类,K是区域块总数,最后输出聚类后的灰度图像矩阵。

图像都是由若干个图像颜色矩形所组成,对于这些颜色矩形,每个矩形内都具有相似的颜色区域,因此可以采用基于区域的颜色来实现对灰度图的像素色阶压缩。

进一步作为可选的实施方式,如图2所示,将每帧灰度图像划分成多个灰度差平均值小于阈值的区域块,可以进一步包括有:

步骤B1、计算灰度图像每行、每列像素的灰度差平均值:

步骤B2、将灰度图像划分成多个不重叠的区域块,并逐一挑选每个区域块;

步骤B3、计算所挑选区域块的灰度差平均值:

步骤B4、判断所挑选区域块的图像大小是否小于最小图像块,最小图像块可以根据实际业务需要而设置,如果是,则转向步骤B5;如果否,则将所挑选区域块再划分成多个最小图像块大小的区域块,然后转向步骤B5;

步骤B5、判断是否还有未挑选过的区域块,如果是,则继续挑选一个未挑选过的区域块,转向步骤B3,如果否,则本流程结束。

进一步作为可选的实施方式,获取每个区域块的主要颜色特征,采用K均值算法将每个区域块的不同颜色进行聚类,K是区域块总数,最后输出聚类后的灰度图像矩阵,可以进一步包括有:

对每个区域块进行主成分分析,随机选取m个主成分计算每个区域块的主要颜色特征,再采用K均值算法,K是区域块总数,将每个区域块的主要颜色特征作为初始聚类中心,将每个像素点分配给距离它最近的区域块中心,该中心以及分配给它们的像素点是一个聚类,这样,通过迭代更新计算直至每个聚类中所有像素点的中心位置不再变化,输出聚类结果,即转换后的灰度图像矩阵。

进一步作为可选的实施方式,将压缩后的灰度图像转换成NV12像素格式,NV12图像内存字节数的计算方法如下:判断w

进一步作为可选的实施方式,将转换后的图像编码为h264格式的视频流,可以进一步包括有:

使用H264视频格式、并采用CBR(即恒定码率)方式进行编码,编码器的平均码率B

在发送数据包时,发送端将当前报文序号和发送时的时间戳作为报文内容发送给接收端,接收端收到报文后会向发送端发送一个反馈报文。这个反馈报文包含了接收端收到报文的序号和时间戳。通过比较发送报文中的时间戳和接收反馈报文中的时间戳,可以计算出UDP数据包的单程延迟时间。单程延迟时间可以通过接收报文的时间戳减去发送报文的时间戳来计算。换句话说,单程延迟时间等于接收报文中的时间戳减去发送报文中的时间戳值,这个值表示了数据包从发送端到接收端的传输时间,反映了网络传输的延迟情况。

进一步作为可选的实施方式,如图3所示,人像识别服务器将rtp包发送至目标地址,可以进一步包括有:

步骤C1、按照一定的时间周期,计算当前拥塞级别L:从当前时间接收到的数据包、以及距离当前时间最近的上一个接收到的数据包中分别读取报文序号和接收时间戳,根据报文序号确定两个数据包的发送时间戳,然后计算两个数据包的偏差程度:

步骤C2、根据当前拥塞级别L,计算下一个时间周期的数据包发送速率:当L=1时,S′=min(S+Δs

如图4所示,本发明一种实时视频通话人像识别结果的网络传输系统,包括有人像识别服务器和通话终端,其中:

人像识别服务器,用于将接收到的rtp视频流进行解封装和解码,从中提取出所有彩色图像数据帧,然后对每张彩色图像数据帧进行人像识别后生成人像区域的灰度图像帧,再对每帧灰度图像压缩,并将压缩后的灰度图像转换成NV12像素格式,最后将转换后的图像编码为h264格式的视频流,封装为rtp包后发送至目的地址;

通话终端,用于将实时采集到的rtp视频流发送给人像识别服务器,

人像识别服务器进一步包括有:

灰度图像压缩装置,用于计算每帧灰度图像上每个像素点的区域特征值,所述区域特征值用于标识像素点所在区域属于边缘或纹理丰富区域、或者平滑区域,然后按一定缩放比例对每帧灰度图像进行缩放以获得目标灰度图像,并根据区域特征值计算获得目标灰度图像中每个像素点的像素值。

参见图5,图5是本说明书一示例性实施例示出的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。

计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN,Publicswitchedtelephonenetwork)、局域网(LAN,local area network)、广域网(Wan)、个域网(PAN,Personal area network)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,network interface card))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,Wireless Local Area Network)无线接口、全球微波互联接入(Wi-MAX,Worldwide Interoperability for Microwave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near Field Communication)接口,等等。

在本说明书的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。

计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备500还可以是移动式或静止式的服务器或云服务器等。

处理器520用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述实时视频通话人像识别结果的网络传输方法的步骤。

上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述实时视频通话人像识别结果的网络传输方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述实时视频通话人像识别结果的网络传输方法的技术方案的描述。

本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述实时视频通话人像识别结果的网络传输方法的步骤。

上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述实时视频通话人像识别结果的网络传输方法属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述实时视频通话人像识别结果的网络传输方法或系统的技术方案的描述。

本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述实时视频通话人像识别结果的网络传输方法的步骤。

上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述实时视频通话人像识别结果的网络传输方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述实时视频通话人像识别结果的网络传输方法或系统的技术方案的描述。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

相关技术
  • 一种基于人像识别的自动售货系统及方法
  • 一种具有虚拟扫描网络传输3D实时成像方法
  • 动态人像实时联网监控识别系统
  • 一种动态人像识别控制门禁和动态人像识别控制方法
技术分类

06120116679665