一种视频会话中的分辨率调整方法与流程

文档序号:18082907发布日期:2019-07-06 10:14阅读:787来源:国知局
一种视频会话中的分辨率调整方法与流程

本申请涉及视频通信技术,特别涉及一种视频会话中的分辨率调整方法。



背景技术:

实时移动视频通过无线或有线环境进行传输时,如果传输管道出现拥塞,目前一般采用降低码率的方式来缓解,但码率下降到一定程度时会导致视频小方块效应明显,而通过调整分辨率可以既达到降低带宽消耗又改善视频质量的目的。

现有视频会话过程中,视频源可能是一对多的场景,也可能是一对一的场景。当视频源是一对多的场景时,由视频源将视频发送给服务器,再由服务器分发给各个视频接收端。本申请主要是针对一对多的场景的。

在一对多的场景中,如果视频源分辨率发生调整,一般通过信令面消息实时通知接收端,接收端根据收到的变更消息来适配发送端的分辨率调整。

在视频会话过程中,视频源分辨率发生变更,如果接收端未及时识别出来,可能会导致业务中断。

分辨率变更时编码器会产生新的序列参数集(sps)和图像参数集(pps),而不同的解码器对于sps/pps变更的兼容性有差异,如果采用老的sps/pps信息解析新的视频流,解码器可能会出错,在极端情况下解码器会发生崩溃,导致业务中断。

如何在解析变更后的视频码流时及时获取对应的sps/pps信息是亟需解决的问题。采用信令消息通知的方式,虽然能及时获取分辨率变更情况,但是需要服务器和接收端配合,用户面处理流程复杂,而且消息交互会消耗一定的时延(预估在100~200ms),影响用户感知。

另外,在一对多的视频会话过程中,发送端的视频回传到服务器后,会同时分发给多个接收端,因此,发送端调整分辨率可能会导致接收端视频业务异常。另外,接收端是实时动态加入的,后续加入的部分接收端可能不支持分辨率自适应调整能力。



技术实现要素:

本申请提供一种视频会话中的分辨率调整方法,能够及时检测到分辨率调整,保证业务正常进行。

为实现上述目的,本申请采用如下技术方案:

一种视频会话中的分辨率调整方法,包括:

视频会话建立时,视频发送端在会话建立消息中携带视频原始流的2个ssrc;

当进行分辨率调整时,所述视频发送端将当前ssrc值修改为所述2个ssrc中的另一个ssrc值;

各视频接收端在检测到ssrc发生变化时,确定分辨率发生调整,启动sps/pps检测。

较佳地,在一对多的视频会话场景中,

在发送会话建立消息前,该方法还包括:各视频接收端向服务器上报分辨率自适应调整能力;

在进行分辨率调整前,该方法还包括:当视频发送端确定需要进行分辨率调整时,所述视频发送端向所述服务器请求进行分辨率调整;若所述服务器根据当前会话的各个视频接收端上报的分辨率自适应调整能力确定所述各个视频接收端都支持分辨率自适应调整,则所述服务器通知视频发送端允许分辨率调整,所述视频发送端进行分辨率调整;若所述服务器根据所述各个视频接收端上报的分辨率自适应调整能力确定所述各个视频接收端不都支持分辨率自适应调整,则所述服务器通知视频发送端拒绝分辨率调整,所述视频发送端不进行分辨率调整。

较佳地,当视频发送端检测到满足分辨率自适应调整的条件时,执行所述在会话建立消息中携带视频原始流的2个ssrc的处理。

由上述技术方案可见,本申请中,视频会话建立时,视频发送端在会话建立消息中携带视频原始流的2个同步源(ssrc);当进行分辨率调整时,视频发送端将当前ssrc值修改为2个ssrc中的另一个ssrc值;各视频接收端在检测到ssrc发生变化时,确定分辨率发生调整,启动sps/pps检测。通过上述方式,能够使视频接收端及时识别发送端分辨率发生了调整,处理简单,降低延时,避免业务中断。

附图说明

图1为本申请中分辨率调整方法的基本流程示意图;

图2a为sip流程中接收视频端上报分辨率自适应调整能力的示意图;

图2b为sip流程中携带2个ssrc的示意图;

图2c为sip流程中分辨率自适应调整的实时能力协商和调整操作示意图。

具体实施方式

为了使本申请的目的、技术手段和优点更加清楚明白,以下结合附图对本申请做进一步详细说明。

图1为本申请中分辨率调整方法的基本流程示意图。如图1所示,该方法包括:

步骤110,视频会话建立时,视频发送端在会话建立消息中携带视频原始流的2个ssrc。

视频会话建立时,如果发送端检测到满足分辨率自适应的条件,则在会话建立消息的中使用ssrcmulitiplexing方式携带视频原始流的2个ssrc,分辨率变更时ssrc在这两个值之间来回切换。这样,当视频接收端发现ssrc值变化时,即确定发生了分辨率的调整。

步骤120,当进行分辨率调整时,视频发送端将当前ssrc值修改为步骤101中2个ssrc中的另一个ssrc值。

在发送的视频rtp包中都会携带ssrc值,如果分辨率不发生变化,那么每次携带的ssrc值都相同;当分辨率发生变化时,修改携带的ssrc值,以指示分辨率发生了调整。具体ssrc值在步骤101中携带的2个ssrc值间来回切换。

步骤130,各视频接收端在检测到ssrc发生变化时,确定分辨率发生调整,启动sps/pps检测。

如前所述,当视频接收端检测到ssrc发生变化时,即确定分辨率发生调整,这时,启动sps/pps检测,以适应新的分辨率。当新的ssrc流的sps/pps检测成功时,说明该流是个有效视频流,将它切换为当前“激活流”,并释放旧流。

至此,本申请中分辨率调整方法的基本流程结束。上述基本流程既适用于一对一的视频会话场景,也适用于一对多的视频会话场景。

在上述基本流程的基础上,为解决接收端可能不支持分辨率自适应调整的问题,优选地,对于一对多的视频会话场景,还可以继续包括如下处理:

在步骤110之前包括步骤100:各视频接收端向服务器上报分辨率自适应调整能力。

一般地,视频接收端可以在注册时向服务器上报分辨率自适应调整能力,即是否支持分辨率自适应调整。具体地,视频接收端可以根据自身解码器以及软件版本是否支持分辨率自适应调整能力,在注册到网络时即上报给服务器。

在步骤120之前还包括步骤112~115:

步骤112,当视频发送端确定需要进行分辨率调整时,视频发送端向服务器请求进行分辨率调整。

步骤113,服务器根据当前会话的各个视频接收端上报的分辨率自适应调整能力判断各个视频接收端是否都支持分辨率自适应调整,若是,则执行步骤114,否则,执行步骤115。

步骤114,服务器通知视频发送端允许分辨率调整,视频发送端接收通知后执行步骤120。

步骤115,服务器通知视频发送端拒绝分辨率调整,视频发送端接收通知后不再执行后续步骤。

下面通过一个具体实例说明上述分辨率调整方法。

1、视频接收端上报分辨率自适应调整能力;以sip流程为例,如图2a,视频接收端(包括ue、dc、解码器网关、摄像头)在sip注册阶段,需要在sip注册中携带分辨率动态调整的适应能力。通过在注册请求和响应消息中增加能力值,服务器需要登记该能力值,并向视频接收端反馈响应消息。

2、视频发送端在会话建立过程中通过ssrcmultiplexing携带2个ssrc;以sip流程为例,实际不局限于sip流程,通过其它方式的信令交互也可适用。

具体地,如图2b所示,视频源在invite/200ok消息的会话描述协议(sdp)中增加ssrc-group,用于携带分辨率自适应备用的ssrc。格式如下:

m=video30000rtp/avp102103

a=tcap:1rtp/avpf

a=pcfg:1t=1

a=rtpmap:102h264/90000

a=fmtp:102profile-level-id=42c00c;packetization-mode=1;

a=rtcp-fb:102nack

a=rtpmap:103rtx/90000

a=fmtp:103apt=102;rtx-time=1000

a=ssrc-group:fid111112222233333

a=ssrc:11111cname:user3@example.com

a=ssrc:22222cname:user3@example.com

a=ssrc:33333cname:user3@example.com//分辨率自适应使用的备用ssrc

3、分辨率自适应调整的实时能力协商处理流程;仍然以sip流程为例,实际不局限于sip方式。

如图2c所示,具体包括:

1)当视频源满足分辨率调整条件时,向服务器发送info请求,使用带内info发送分辨率调整请求,其中携带目标分辨率;

2)服务器判断当前会话所有成员是否都支持分辨率自适应调整,如果是则通过200ok消息返回成功给视频源,视频源开始执行调整动作;其中,所有成员指所有视频接收端;

3)由于分辨率调整需要消耗一定的时间,会导致接收端出现定屏显示,所以,分辨率调整协商成功后,服务器还要把“分辨率调整通知”发给接收端,以便接收端给出提示;

4)视频接收端一旦检测到ssrc变化,立即启动sps/pps检测,当新的ssrc流的sps/pps检测成功时,说明该流是个有效视频流,将它切换为当前“激活流”,并释放旧流。

通过上述本申请的分辨率调整方法,能够减少分辨率调整过程中的信令交互消息,同时保证分辨率自适应调整不影响正常业务,不导致业务异常。

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

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