多方视频数据混屏实现方法、装置、系统和混屏服务器的制造方法

文档序号:9527937阅读:597来源:国知局
多方视频数据混屏实现方法、装置、系统和混屏服务器的制造方法
【技术领域】
[0001] 本发明涉及视频数据处理技术领域,尤其涉及一种多方视频数据混屏实现方法、 装置、系统和混屏服务器。
【背景技术】
[0002] 随着移动互联网的飞速发展,在移动终端上提供多方视频通话业务成为移动互联 网热点业务之一。现有的在移动终端上实现的多方视频通话业务均采用传统分流视频混 屏的方式,即在网络侧的服务器端将多方视频通话内每一用户的视频数据分别分发给当前 通话的每一用户,然后由终端设备自行完成混屏操作。以三方进行视频通话为例,如图1所 示,其为现有的网络侧视频数据处理方式,位于网络侧的视频服务器接收用户1、用户2和 用户3发送的视频数据,并将用户2和用户3的视频数据发送给用户1,将用户1和用户3 的视频数据发送给用户2,将用户1和用户2的视频数据发送给用户3,用户1、用户2和用 户3在接收到视频数据之后,进行视频数据混屏处理。
[0003] 在多方视频通话中,视频服务器需要为每个多方视频通话中的用户终端下发其他 所有人的视频数据,从而导致随着视频通话中的用户增加,针对向每个终端传输数据所需 的带宽也相应的增加。其中,视频服务器下行带宽消耗如下,其中m为通话个数,η为通话 人数:
[0004]

[0005] 上述视频数据处理方法中,用户终端在接收到视频服务器下发的其他用户的视频 数据之后,自行进行混屏处理,如图2所示,为用户终端对接收到的视频数据进行处理的示 意图,由于终端需要接收视频通话中其他用户终端的视频数据,这无疑还会带来用户终端 对下行数据传输带宽需求的增加,而且由于终端需要为每一路视频数据进行解码操作,从 而导致对用户终端的性能要求较高。其中,用户终端所需的下行带宽、CPU与电量消耗如下 所示:
[0006] 终端需要的下行带宽如下,其中η为通话人数
[0007] 终端产生的耗电量如下,其中,η为通话人数,Q为对单路视频进行解码所消耗电 量:
[0008] 终端的CPU(中央处理单元)消耗如下,η为通话人数,CPU为对单路视频进行解码 CHJ的消耗率:
[0009] 由此可见,现有的视频数据混屏技术中,一方面,由于视频服务器需要针对每一用 户,向该用户传输除自身以外其他通话视频参与用户的视频数据,增加了对视频数据传输 所需的带宽要求;另一方面,每一用户终端在接收到视频服务器发送的多路视频数据之后 需要自行进行混屏,既增加了终端数据传输带宽需求,又增加终端处理资源和电量的消耗。

【发明内容】

[0010] 本发明实施例提供一种多方视频数据混屏实现方法、装置、系统和混屏服务器,用 以在服务器端实现多方视频数据混屏,从而降低混屏服务器向终端传输视频数据时所需的 带宽,并同时减少终端处理视频数据时对处理资源和电量的消耗。
[0011] 本发明实施例提供一种多方视频数据混屏实现方法,包括:
[0012] 接收参与多方视频通话的每一用户终端发送的视频图像数据;
[0013] 将每一视频图像数据分别绘制在预先定义的内存图所包含的任一视频图像数据 绘制区域上;
[0014] 根据每一用户终端的视频展示区域信息,分别向对应的用户终端发送所述视频展 示区域信息对应的内存图,所述视频展示区域信息用于指示所述用户终端待显示的视频图 像数据。
[0015] 其中,使用矩形RECT表示每一视频图像数据在所述内存图中的区域信息,其中, 所述RECT包括表示矩形左上角的横坐标的LEFT,表示矩形左上角的纵坐标Τ0Ρ,表示矩形 右下角的横坐标RIGHT和表示矩形右下角的纵坐标的BOTTOM ;以及
[0016] 按照以下方法确定每一视频图像数据在所述内存图中的区域信息:
[0017] 为每一视频图像数据建立图像索引;
[0018] 针对每一视频图像数据,判断该视频图像数据对应的用户索引是否大于预先定义 的用户终端一屏所能够显示的、参与视频通话的用户数量;
[0019] 如果是,则按照以下公式确定LEFT :LEFT=UI% 2*DW ;
[0020] 如果否,则按照以下公式确定LEFT :LEFT=UI% 2*DW+SW/2 ;
[0021] 针对每一视频图像数据,判断该视频数据对应的图像索引是否位于所述内存图的 上区域;
[0022] 如果是,则按照以下公式确定TOP :T0P=SH ;
[0023] 如果否,则按照以下公式确定TOP :Τ0Ρ=SH/2 ;
[0024] 针对每一视频图像数据,分别按照以下公式确定RIGHT和BOTTOM :
[0025] RIGHT = LEFT+DW;
[0026]BOTTOM=T0P-DH ;其中:
[0027]UI表示每一视频图像数据对应的图像索引;
[0028]DW表示每一视频图像数据的宽度;
[0029] DH表示每一视频图像数据的高度;
[0030]SW表示所述内存图的宽度;
[0031] SH表示所述内存图的高度。
[0032] 向对应的用户终端发送所述视频展示区域信息对应的内存图之前,还包括:
[0033] 按照预设的用户终端每一屏显示的、参与视频通话的用户数量对所述内存图进行 划分;
[0034] 将划分得到的每一部分内存图按照用户终端支持显示的视频图像大小进行处理。
[0035] 根据每一用户终端的视频展示区域信息,分别向对应的用户终端发送所述视频展 示区域信息对应的内存图,具体包括:
[0036] 根据每一用户终端的视频展示区域信息,将所述视频展示区域信息对应的内存图 封装为实时传输协议RTP数据包发送给对应的用户终端;以及
[0037] 在发送RTP数据包过程中,使用实时传输控制协议RTCP进行数据包发送控制。
[0038] 将所述视频展示区域信息对应的内存图封装为RTP数据包时需满足以下至少一 个条件:
[0039] RTP数据包中的最大传输单元MTU的大小不超过预设值;不对所述RTP数据包中 包含的任一RTP分组内的视频图像数据解码;无需解码整个数据流便能够检测所述RTP数 据包中的数据类型;支持将一个网络抽象层单元类型NALU拆分为多个RTP包;支持将多个 NALU汇集在一个RTP分组中。
[0040] 还包括:
[0041] 接收任一用户终端发送的视频展示区域切换指示,所述视频展示区域切换指示中 携带有切换到的至少一个视频展示区域信息;
[0042] 针对所述视频展示区域切换指示,将所述视频展示区域信息对应的内存图发送给 该用户终端。
[0043] 本发明实施例提供一种多方视频数据混屏实现装置,包括:
[0044] 用户数据处理单元,用于接收参与多方视频通话的每一用户终端发送的视频图像 数据;以及根据每一用户终端的视频展示区域信息,分别向对应的用户终端发送所述视频 展示区域信息对应的内存图,所述视频展示区域信息用于指示所述用户终端待显示的视频 图像数据;
[0045] 混屏单元,用于将每一视频图像数据分别绘制在预先定义的内存图所包含的任一 视频图像数据绘制区域上。
[0046] 所述混屏单元,包括:
[0047] 视频过滤器,用于在所述用户数据处理单元向对应的用户终端发送所述视频展示 区域信息对应的内存图之前,按照预设的用户终端每一屏显示的、参与视频通话的用户数 量对所述内存图进行划分;将划分得到的每一部分内存图按照用户终端支持显示的视频图 像大小进行处理。
[0048] 所述装置,还包括:
[0049] RTP/RTCP协议栈,用于根据每一用户终端的视频展示区域信息,将所述视频展示 区域信息对应的内存图封装为实时传输协议RTP数据包发送给对应的用户终端;以及在发 送RTP数据包过程中,使用实时传输控制协议RTCP进行数据包发送控制。
[0050] 所述混屏单元,还用于接收任一用户终端发送的视频展示区域切换指示,所述视 频展示区域切换指示中携带有切换到的至少一个视频展示区域信息;针对所述视频展示区 域切换指示,将所述视频展示区域信息对应的内存图发送给该用户终端。
[0051] 本发明实施例提供一种混屏服务器,包括上述的多方视频数据混屏实现装置。
[0052] 本发明实施例提供一种多方视频数据混屏实现系统,包括至少两个用户终端和混 屏服务器,其中:
[0053] 所述用户终端,用于向所述混屏服务器发送视频图像数据;
[0054] 所述混屏服务器,用于将每一用户终端发送的视频图像数据分别绘制在预先定义 的内存图所包含的任一视频图像数据绘制区域上;以及根据每一用户终端的视频展示区域 信息,分别向对应的用户终端发送所述视频展示区域信息对应的内存图,所述视频展示区 域信息用于指示所述用户终端待显示的视频图像数据。
[0055] 所述混屏服务器,还用于向对应的用户终端发送所述视频展示区域信息对应的内 存图之前,按照预设的用户终端每一屏显示的、参与视频通话的用户数量对所述内存图进 行划分;将划分得到的每一部分内存图按照用户终端支持显示的视频图像大小进行处理。
[00
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1