数据处理方法、装置和终端设备转让专利

申请号 : CN201610694696.1

文献号 : CN107343220B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王雷杨帆栾青孙林

申请人 : 北京市商汤科技开发有限公司

摘要 :

本发明实施例公开了一种数据处理方法、装置和终端设备,所述方法包括:提取第一设备端当前播放的视频图像中第一素材的素材属性信息,其中,所述视频图像包括原始视频图像和在所述原始视频图像上采用计算机绘图方式绘制的所述第一素材;根据所述原始视频图像和所述素材属性信息生成传输流;向至少一个第二设备端发送所述传输流。待传输的传输流携带有第一素材的素材属性信息,使得在另一端显示传输流时,通过素材属性信息以确定视频帧图像中的第一素材,进而进行相应的处理和绘制,有效的减轻了另一端显示视频图像的压力。

权利要求 :

1.一种数据处理方法,应用于第一设备端,包括:从第一设备端当前播放的视频图像确定目标对象的特征点,所述视频图像为直播平台中的视频图像;

根据所述目标对象的特征点,确定待展示的业务对象在所述视频图像中的展示位置,所述业务对象包含有语义信息的特效;

生成包括素材的标识信息和所述业务对象在所述视频图像中的展示位置的素材属性信息;

根据所述视频图像和所述素材属性信息生成传输流;

向至少一个第二设备端发送所述传输流。

2.根据权利要求1所述的方法,其特征在于,所述根据所述视频图像和所述素材属性信息生成传输流,包括:按照设定的视频编码格式对所述视频图像进行编码,并将编码后的所述视频图像和所述素材属性信息生成传输流。

3.根据权利要求2所述的方法,其特征在于,所述按照设定的视频编码格式对所述视频图像进行编码,并将编码后的所述视频图像和所述素材属性信息生成传输流,包括:按照H.264编码格式对所述视频图像进行编码,将所述素材属性信息携带在编码后的网络抽象层NAL单元的原始字节序列负荷RBSP中生成传输流。

4.根据权利要求3所述的方法,其特征在于,所述将所述素材属性信息携带在编码后的网络抽象层NAL单元的原始字节序列负荷RBSP中生成传输流,包括:将所述素材属性信息携带在所述RBSP的补充增强信息单元SEI中生成传输流。

5.根据权利要求1-4任一项所述的方法,其特征在于,所述传输流还携带第一设备端当前播放的视频图像的视频属性信息。

6.根据权利要求1-4任一项所述的方法,其特征在于,所述向至少一个第二设备端发送所述传输流,包括:将所述传输流转换为json格式的数据,并将转换后的数据向至少一个第二设备端发送。

7.根据权利要求1-4任一项所述的方法,其特征在于,所述素材属性信息还包括:素材的链接信息。

8.根据权利要求1-4任一项所述的方法,其特征在于,所述业务对象包括包含广告信息的以下至少一种形式的特效:二维贴纸特效、三维特效、粒子特效。

9.一种数据处理方法,应用于第二设备端,包括:接收传输流,所述传输流包括直播平台中的视频图像和素材属性信息,所述素材属性信息包括素材的标识信息和待展示的业务对象在所述视频图像中的展示位置,所述业务对象包含有语义信息的特效;

根据所述素材属性信息获取所述业务对象;

根据所述素材属性信息在所述视频图像上采用计算机绘图方式绘制所述业务对象。

10.根据权利要求9所述的方法,其特征在于,所述根据所述素材属性信息获取所述业务对象,包括:按照与所述视频图像的视频编码格式相对应的视频解码格式,对所述传输流进行解码;

从解码后的所述传输流中确定所述视频图像和所述素材属性信息;

获取与所述素材属性信息确定相匹配的所述业务对象。

11.根据权利要求10所述的方法,其特征在于,所述按照与所述视频图像的视频编码格式相对应的视频解码格式,对所述传输流进行解码,包括:当所述传输流的视频编码格式为H.264编码格式时,按照H.264视频解码格式对所述传输流进行解码。

12.根据权利要求11所述的方法,其特征在于,所述传输流还携带所述视频图像的视频属性信息;

所述从解码后的所述传输流中确定所述视频图像和所述素材属性信息,包括:从解码后的所述传输流中确定所述视频图像;

从网络抽象层NAL单元的原始字节序列负荷RBSP中确定所述素材属性信息;以及,从所述从解码后的所述传输流中确定所述视频图像的视频属性信息。

13.根据权利要求12所述的方法,其特征在于,所述从网络抽象层NAL单元的原始字节序列负荷RBSP中确定素材属性信息,包括:从所述RBSP的补充增强信息单元SEI中确定所述素材属性信息。

14.根据权利要求9-13任一项所述的方法,其特征在于,所述根据所述素材属性信息在所述视频图像上采用计算机绘图方式绘制所述业务对象,包括:根据所述视频图像的视频属性信息将所述视频图像在第二设备端进行显示;

根据所述素材属性信息确定所述业务对象在所述视频图像中的绘制位置;

根据所述绘制位置在所述视频图像上采用计算机绘图方式绘制所述业务对象。

15.根据权利要求9-13任一项所述的方法,其特征在于,所述素材属性信息还包括:素材的链接信息。

16.根据权利要求9-13任一项所述的方法,其特征在于,所述业务对象包括包含广告信息的以下至少一种形式的特效:二维贴纸特效、三维特效、粒子特效。

17.一种数据处理装置,应用于第一设备端,包括:对象特征点确定模块,用于从第一设备端当前播放的视频图像确定目标对象的特征点,所述视频图像为直播平台中的视频图像;

展示位置确定模块,用于根据所述目标对象的特征点,确定待展示的业务对象在所述视频图像中的展示位置,所述业务对象包含有语义信息的特效;

提取模块,用于生成包括素材的标识信息和所述业务对象在所述视频图像中的展示位置的素材属性信息;

生成模块,用于根据所述视频图像和所述素材属性信息生成传输流;

发送模块,用于向至少一个第二设备端发送所述传输流。

18.根据权利要求17所述的装置,其特征在于,所述生成模块,用于按照设定的视频编码格式对所述视频图像进行编码,并将编码后的所述视频图像和所述素材属性信息生成传输流。

19.根据权利要求18所述的装置,其特征在于,所述生成模块,用于按照H.264编码格式对所述视频图像进行编码,将所述素材属性信息携带在编码后的网络抽象层NAL单元的原始字节序列负荷RBSP中生成传输流。

20.根据权利要求19所述的装置,其特征在于,所述生成模块,用于将所述素材属性信息携带在所述RBSP的补充增强信息单元SEI中生成传输流。

21.根据权利要求20所述的装置,其特征在于,所述传输流还携带第一设备端当前播放的所述视频图像的视频属性信息。

22.根据权利要求21所述的装置,其特征在于,所述发送模块,用于将所述传输流转换为json格式的数据,并将转换后的数据向至少一个第二设备端发送。

23.根据权利要求17-22任一项所述的装置,其特征在于,所述素材属性信息还包括:素材的链接信息。

24.根据权利要求17-22任一项所述的装置,其特征在于,所述业务对象包括包含广告信息的以下至少一种形式的特效:二维贴纸特效、三维特效、粒子特效。

25.一种数据处理装置,应用于第二设备端,包括:接收模块,用于接收传输流,所述传输流包括直播平台中的视频图像和素材属性信息,所述素材属性信息包括素材的标识信息和待展示的业务对象在所述视频图像中的展示位置,所述业务对象包含有语义信息的特效;

确定模块,用于根据素材属性信息获取所述业务对象;

绘制模块,用于根据所述素材属性信息在所述视频图像上采用计算机绘图方式绘制所述业务对象。

26.根据权利要求25所述的装置,其特征在于,所述确定模块,包括:解码子模块,用于按照与所述视频图像的视频编码格式相对应的视频解码格式,对所述传输流进行解码;

信息确定子模块,用于从解码后的所述传输流中确定所述视频图像和所述素材属性信息;

匹配子模块,用于获取与所述素材属性信息相匹配的所述业务对象。

27.根据权利要求26所述的装置,其特征在于,所述解码子模块,用于当所述传输流的视频编码格式为H.264编码格式时,按照H.264视频解码格式对所述传输流进行解码。

28.根据权利要求27所述的装置,其特征在于,所述传输流还携带所述视频图像的视频属性信息;

所述解码子模块,用于从解码后的所述传输流中确定视频图像;从网络抽象层NAL单元的原始字节序列负荷RBSP中确定素材属性信息;以及,从所述从解码后的所述传输流中确定所述视频图像的视频属性信息。

29.根据权利要求28所述的装置,其特征在于,所述解码子模块,用于从所述RBSP的补充增强信息单元SEI中确定所述素材属性信息。

30.根据权利要求25-29任一项所述的装置,其特征在于,所述绘制模块,包括:显示子模块,用于根据所述视频图像的视频属性信息将所述视频图像在第二设备端进行显示;

位置确定子模块,用于根据所述素材属性信息确定所述业务对象在所述视频图像中的绘制位置;

素材绘制子模块,用于根据所述绘制位置在所述视频图像上采用计算机绘图方式绘制所述业务对象。

31.根据权利要求25-29任一项所述的装置,其特征在于,所述素材属性信息还包括:素材的链接信息。

32.根据权利要求25-29任一项所述的装置,其特征在于,所述业务对象包括包含广告信息的以下至少一种形式的特效:二维贴纸特效、三维特效、粒子特效。

33.一种终端设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-8任一项所述数据处理方法。

34.一种终端设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求9-16任一项所述数据处理方法。

说明书 :

数据处理方法、装置和终端设备

技术领域

[0001] 本发明实施例涉及数据处理技术领域,尤其涉及一种数据处理方法、装置和终端设备。

背景技术

[0002] 随着互联网技术的发展,直播越来越受大众的喜爱。主播通过丰富的表演、多样化的道具以及多样化的信息来吸引观众,满足观众对视频播放的多样化需求。
[0003] 随着直播过程的多样化和复杂化,主播可以通过配置较高的终端设备来实现直播的正常运行,观看直播的用户的终端设备的配置往往远低于主播端的配置,这就使得用户端在播放直播时因硬件配置较低,而不能有效处理直播信息和数据,达不到理想的观看效果;而仅仅因为观看直播更换更高配置的终端设备,又会造成不必要的开销。

发明内容

[0004] 本发明实施例提供一种数据处理技术方案。
[0005] 根据本发明实施例的第一方面,提供了一种数据处理方法,包括:从第一设备端当前播放的视频图像检测目标对象,并且确定所述目标对象的特征点,所述视频图像为直播平台中的视频图像;根据所述目标对象的特征点,确定待展示的业务对象在所述视频图像中的展示位置,所述业务对象包含有语义信息的特效;生成包括所述业务对象在所述视频图像中的展示位置的素材属性信息;根据所述视频图像和所述素材属性信息生成传输流;向至少一个第二设备端发送所述传输流。
[0006] 可选地,所述根据所述视频图像和所述素材属性信息生成传输流,包括:按照设定的视频编码格式对所述视频图像进行编码,并将编码后的所述视频图像和所述素材属性信息生成传输流。
[0007] 可选地,所述按照设定的视频编码格式对所述视频图像进行编码,并将编码后的所述视频图像和所述素材属性信息生成传输流,包括:按照H.264编码格式对所述视频图像进行编码,将所述素材属性信息携带在编码后的网络抽象层NAL单元的原始字节序列负荷RBSP中生成传输流。
[0008] 可选地,所述将所述素材属性信息携带在编码后的网络抽象层NAL单元的原始字节序列负荷RBSP中生成传输流,包括:将所述素材属性信息携带在所述RBSP的补充增强信息单元SEI中生成传输流。
[0009] 可选地,所述传输流还携带第一设备端当前播放的视频图像的视频属性信息。
[0010] 可选地,所述向至少一个第二设备端发送所述传输流,包括:将所述传输流转换为json格式的数据,并将转换后的数据向至少一个第二设备端发送。
[0011] 可选地,所述素材属性信息还包括以下至少之一:素材的标识信息或素材的链接信息。
[0012] 可选地,所述业务对象包括包含广告信息的以下至少一种形式的特效:二维贴纸特效、三维特效、粒子特效。
[0013] 根据本发明实施例的第二方面,提供了一种数据处理装置,包括:对象特征点确定模块,用于从第一设备端当前播放的视频图像检测目标对象,并且确定所述目标对象的特征点,所述视频图像为直播平台中的视频图像;展示位置确定模块,用于根据所述目标对象的特征点,确定待展示的业务对象在所述视频图像中的展示位置,所述业务对象包含有语义信息的特效;提取模块,用于生成包括所述业务对象在所述视频图像中的展示位置的素材属性信息;生成模块,用于根据所述视频图像和所述素材属性信息生成传输流;发送模块,用于向至少一个第二设备端发送所述传输流。
[0014] 可选地,所述生成模块,用于按照设定的视频编码格式对所述视频图像进行编码,并将编码后的所述视频图像和所述素材属性信息生成传输流。
[0015] 可选地,所述生成模块,用于按照H.264编码格式对所述视频图像进行编码,将所述素材属性信息携带在编码后的网络抽象层NAL单元的原始字节序列负荷RBSP中生成传输流。
[0016] 可选地,所述生成模块,用于将所述素材属性信息携带在所述RBSP的补充增强信息单元SEI中生成传输流。
[0017] 可选地,所述传输流还携带第一设备端当前播放的所述视频图像的视频属性信息。
[0018] 可选地,所述发送模块,用于将所述传输流转换为json格式的数据,并将转换后的数据向至少一个第二设备端发送。
[0019] 可选地,所述素材属性信息还包括以下至少之一:素材的标识信息或素材的链接信息。
[0020] 可选地,所述业务对象包括包含广告信息的以下至少一种形式的特效:二维贴纸特效、三维特效、粒子特效。
[0021] 根据本发明实施例的第三方面,提供了一种终端设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述任一项所述数据处理方法。
[0022] 根据本发明实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有:用于从第一设备端当前播放的视频图像检测目标对象,并且确定所述目标对象的特征点的可执行指令,所述视频图像为直播平台中的视频图像;用于根据所述目标对象的特征点,确定待展示的业务对象在所述视频图像中的展示位置的可执行指令,所述业务对象包含有语义信息的特效;用于生成包括所述业务对象在所述视频图像中的展示位置的素材属性信息的可执行指令;用于根据所述视频图像和所述素材属性信息生成传输流的可执行指令;用于向至少一个第二设备端发送所述传输流的可执行指令。
[0023] 本发明实施例通过提取第一设备端当前播放的视频图像中第一素材的素材属性信息,其中,所述视频图像包括原始视频图像和在所述原始视频图像上采用计算机绘图方式绘制的所述第一素材;根据所述原始视频图像和所述素材属性信息生成传输流;向至少一个第二设备端发送所述传输流。待传输的传输流携带有第一素材的素材属性信息,使得在另一端显示传输流时,通过素材属性信息以确定视频帧图像中的第一素材,进而进行相应的处理和绘制,有效的减轻了另一端显示视频图像的压力。
[0024] 根据本发明实施例的第五方面,还提供了一种数据处理方法,包括:接收传输流,所述传输流包括直播平台中的视频图像和素材属性信息,所述素材属性信息包括待展示的业务对象在所述视频图像中的展示位置,所述业务对象包含有语义信息的特效;根据所述素材属性信息获取所述业务对象;根据所述素材属性信息在所述视频图像上采用计算机绘图方式绘制所述业务对象。可选地,所述根据所述素材属性信息获取所述业务对象,包括:按照与所述视频图像的视频编码格式相对应的视频解码格式,对所述传输流进行解码;从解码后的所述传输流中确定所述视频图像和所述素材属性信息;获取与所述素材属性信息确定相匹配的所述业务对象。
[0025] 可选地,所述按照与所述视频图像的视频编码格式相对应的视频解码格式,对所述传输流进行解码,包括:当所述传输流的视频编码格式为H.264编码格式时,按照H.264视频解码格式对所述传输流进行解码。
[0026] 可选地,所述传输流还携带所述视频图像的视频属性信息;所述从解码后的所述传输流中确定所述视频图像和所述素材属性信息,包括:从解码后的所述传输流中确定所述视频图像;
[0027] 从网络抽象层NAL单元的原始字节序列负荷RBSP中确定所述素材属性信息;以及,从所述从解码后的所述传输流中确定所述视频图像的视频属性信息。
[0028] 可选地,所述从网络抽象层NAL单元的原始字节序列负荷RBSP中确定素材属性信息,包括:从所述RBSP的补充增强信息单元SEI中确定所述素材属性信息。
[0029] 可选地,所述根据所述素材属性信息在所述视频图像上采用计算机绘图方式绘制所述业务对象,包括:根据所述视频图像的视频属性信息将所述视频图像在第二设备端进行显示;根据所述素材属性信息确定所述业务对象在所述视频图像中的绘制位置;根据所述绘制位置在所述视频图像上采用计算机绘图方式绘制所述业务对象。
[0030] 可选地,所述素材属性信息还包括以下至少之一:素材的标识信息或素材的链接信息。
[0031] 可选地,所述业务对象包括包含广告信息的以下至少一种形式的特效:二维贴纸特效、三维特效、粒子特效。
[0032] 根据本发明实施例的第六方面,还提供了一种数据处理装置,包括:接收模块,用于接收传输流,所述传输流包括直播平台中的视频图像和素材属性信息,所述素材属性信息包括待展示的业务对象在所述视频图像中的展示位置,所述业务对象包含有语义信息的特效;确定模块,用于根据素材属性信息获取所述业务对象;绘制模块,用于根据所述素材属性信息在所述视频图像上采用计算机绘图方式绘制所述业务对象。
[0033] 可选地,所述确定模块,包括:解码子模块,用于按照与所述视频图像的视频编码格式相对应的视频解码格式,对所述传输流进行解码;信息确定子模块,用于从解码后的所述传输流中确定所述视频图像和所述素材属性信息;匹配子模块,用于获取与所述素材属性信息相匹配的所述业务对象。
[0034] 可选地,所述解码子模块,用于当所述传输流的视频编码格式为H.264编码格式时,按照H.264视频解码格式对所述传输流进行解码。
[0035] 可选地,所述传输流还携带所述视频图像的视频属性信息;所述解码子模块,用于从解码后的所述传输流中确定视频图像;从网络抽象层NAL单元的原始字节序列负荷RBSP中确定素材属性信息;以及,从所述从解码后的所述传输流中确定所述视频图像的视频属性信息。
[0036] 可选地,所述解码子模块,用于从所述RBSP的补充增强信息单元SEI中确定所述素材属性信息。
[0037] 可选地,所述绘制模块,包括:显示子模块,用于根据所述视频图像的视频属性信息将所述视频图像在第二设备端进行显示;位置确定子模块,用于根据所述素材属性信息确定所述业务对象在所述视频图像中的绘制位置;素材绘制子模块,用于根据所述绘制位置在所述视频图像上采用计算机绘图方式绘制所述业务对象。
[0038] 可选地,所述素材属性信息还包括以下至少之一:素材的标识信息或素材的链接信息。
[0039] 可选地,所述业务对象包括包含广告信息的以下至少一种形式的特效:二维贴纸特效、三维特效、粒子特效。
[0040] 根据本发明实施例的第七方面,还提供了一种终端设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述任一项所述数据处理方法。
[0041] 根据本发明实施例的第八方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有:用于接收传输流的可执行指令,所述传输流包括直播平台中的视频图像和素材属性信息,所述业务对象包含有语义信息的特效;用于根据所述素材属性信息获取所述业务对象的可执行指令;用于根据所述素材属性信息在所述视频图像上采用计算机绘图方式绘制所述业务对象的可执行指令。
[0042] 本发明实施例通过接收传输流,确定与素材属性信息匹配的第二素材,根据所述素材属性信息在所述原始视频图像上采用计算机绘图方式绘制所述第二素材。依据素材属性信息可以快速完成对素材的绘制,无需通过复杂的算法分析一方面减轻了数据处理负担,另一方面因无需运行算法,也减低了对终端配置的要求,有效实现了直播视频的流畅观看,增强了用户的体验。

附图说明

[0043] 图1是本发明实施例一提供的一种数据处理方法的步骤流程图;
[0044] 图2是本发明实施例二提供的一种数据处理方法的步骤流程图;
[0045] 图3是本发明实施例三提供的一种数据处理装置的结构框图;
[0046] 图4是本发明实施例四提供的一种数据处理装置的结构框图;
[0047] 图5是本发明实施例五提供的一种终端设备的结构示意图;
[0048] 图6是本发明实施例六还提供的一种数据处理方法的步骤流程图;
[0049] 图7是本发明实施例七还提供的一种数据处理方法的步骤流程图;
[0050] 图8是本发明实施例八还提供的一种数据处理装置的结构框图;
[0051] 图9是本发明实施例九还提供的一种数据处理装置的结构框图;
[0052] 图10是本发明实施例十还提供的一种终端设备的结构示意图。

具体实施方式

[0053] 下面结合附图(若干附图中相同的标号表示相同的元素)和实施例,对本发明实施例的具体实施方式作进一步详细说明。以下实施例用于说明本发明实施例,但不用来限制本发明实施例的范围。
[0054] 本领域技术人员可以理解,本发明实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
[0055] 实施例一
[0056] 参照图1,示出了本发明实施例一提供的一种数据处理方法的步骤流程图。
[0057] 本实施例以直播场景下的主播所在的目标用户端(第一设备端,如主播端)为例,对本发明实施例的数据处理方法进行说明。本实施例的数据处理方法具体包括如下步骤:
[0058] 步骤102、提取第一设备端当前播放的视频图像中第一素材的素材属性信息。
[0059] 目标用户端(第一设备端,如主播端)可以通过相应的应用与一个或多个其它用户端建立视频通信,在视频通信建立后,目标用户端可以对目标用户的行为动作、背景等进行视频录制,并通过设定的传输协议将录制的视频向一个或多个其它用户端(第二设备端,如粉丝)端同时传输,如目标用户端通过在花椒或斗鱼等直播应用中申请自己的房间,当目标用户端开启直播时,进入该房间的用户端与目标用户端建立视频通信。
[0060] 在目标用户端目标用户通过对第一素材的点击操作触发绘制指令,采用计算机绘制的方式将第一素材绘制到目标用户端的视频图像中。目标用户端(如主播所在的客户端)通过图像采集装置(如摄像头)采集目标用户(如主播)的行为动作、目标用户直播时的背景信息以及第一素材等目标用户端当前播放的视频图像。其中,视频图像包括原始视频图像和在原始视频图像上采用计算机绘图方式绘制的第一素材,原始视频图像如目标用户的行为动作目标用户直播时的背景等,第一素材可以包括但不限于业务对象,如包含有语义信息的特效。
[0061] 从采集到的当前播放的视频图像中提取第一素材的素材属性信息,其中,属性信息可以包括但不限于:素材的标识信息、位置信息和素材的链接信息等。
[0062] 步骤104、根据原始视频图像和素材属性信息生成传输流。
[0063] 根据第一设备端当前播放的视频图像确定对应的原始视频图像,并将原始视频图像按照设定的视频编码格式进行编码,将编码后的原始视频图像和第一素材的素材属性信息生成传输流。
[0064] 步骤106、向至少一个第二设备端发送传输流。
[0065] 基于目标用户端(第一设备端)和其它用户端(第二设备端)建立的视频通信关系,目标用户端将传输流向至少一个其它用户端发送。
[0066] 其中,用于传输视频帧图像的传输流根据传输协议的不同而不同,本发明实施例中,无论采用何种协议的传输流,只需能够携带素材属性信息即可。
[0067] 本发明实施例通过提取第一设备端当前播放的视频图像中第一素材的素材属性信息,其中,视频图像包括原始视频图像和在原始视频图像上采用计算机绘图方式绘制的第一素材;根据原始视频图像和素材属性信息生成传输流;向至少一个第二设备端发送传输流。待传输的传输流携带有第一素材的素材属性信息,使得在另一端显示传输流时,通过素材属性信息以确定视频帧图像中的第一素材,进而进行相应的处理和绘制,有效的减轻了另一端显示视频图像的压力。
[0068] 实施例二
[0069] 参照图2,示出了本发明实施例二提供的一种数据处理方法的步骤流程图。
[0070] 本实施例以直播场景下的主播所在的目标用户端(第一设备端)为例,对本发明实施例的数据处理方法进行说明。本实施例的数据处理方法具体包括如下步骤:
[0071] 步骤202、提取第一设备端当前播放的视频图像中第一素材的素材属性信息。
[0072] 目标用户可以在目标用户端进行素材展示,如,目标用户通过对第一素材的点击操作触发绘制指令,采用计算机绘制的方式将第一素材绘制到目标用户端的视频图像中。其中,在本发明实施例目标用户端和其它用户端设置有相同的素材库,两端的素材库可以通过后台服务器进行同步更新,即目标用户端和其它用户端中的素材库均存储有相同的素材,其中,具体素材的绘制位置确定可参照如下步骤:
[0073] 如以素材是业务对象为例进行介绍。
[0074] 方式一,从视频中确定目标用户的特征点根据目标用户的特征点,使用预先训练的、用于确定业务对象在视频图像中的展示位置的卷积网络模型,确定待绘制的业务对象在视频图像中的绘制位置信息;方式二,从视频中确定目标用户的类型,根据目标用户的特征点,确定目标用户的类型;根据目标用户的类型,确定待绘制的业务对象的绘制位置信息;根据绘制位置信息,确定待绘制的业务对象在视频图像中的展示位置。
[0075] 以下,分别对上述两种方式进行详细说明。
[0076] 方式一
[0077] 在使用方式一确定待绘制的业务对象在视频图像中的展示位置时,需要预先训练一个卷积网络模型,训练完成的该卷积网络模型具有确定业务对象在视频图像中的展示位置的功能;或者,也可以直接使用第三方已训练完成的、具有确定业务对象在视频图像中的展示位置的功能的卷积网络模型。
[0078] 需要说明的是,本实施例中,着重对业务对象的训练进行说明对目标用户部分的训练可以参照相关技术实现,本发明实施例对此仅做简要说明。
[0079] 当需要预先训练卷积网络模型时,一种可行的训练方式包括以下过程:
[0080] (1)获取待训练的业务对象样本图像的特征向量。
[0081] 其中,特征向量中包含有业务对象样本图像中的目标用户的信息,以及,业务对象的位置信息和/或置信度信息。其中,目标用户的信息指示了目标用户的图像信息;业务对象的位置信息指示了业务对象的位置,可以是业务对象中心点的位置信息,也可以是业务对象所在区域的位置信息;业务对象的置信度信息指示了业务对象展示在当前位置时,能够达到的效果(如被关注或被点击或被观看)的概率,该概率可以根据对历史数据的统计分析结果设定,也可以根据仿真实验的结果设定,还可以根据人工经验进行设定。在实际应用中,在对目标用户进行训练的同时,可以根据实际需要,仅对业务对象的位置信息进行训练,也可以仅对业务对象的置信度信息进行训练,还可以对二者均进行训练。对二者均进行训练,能够使得训练后的卷积网络模型更为有效和精准地确定业务对象的位置信息和置信度信息,以便为业务对象的展示提供依据。
[0082] 卷积网络模型通过大量的样本图像进行训练,本发明实施例中的业务对象样本图像中的业务对象可以被预先标注位置信息,或者置信度信息,或者二种信息都有。当然,在实际应用中,这些信息也可以通过其它途径获取。而通过预先在对业务对象进行相应信息的标注,可以有效节约数据处理的数据和交互次数,提高数据处理效率。
[0083] 将具有目标用户信息,以及,业务对象的位置信息和/或置信度信息的业务对象样本图像作为训练样本,对其进行特征向量提取,获得包含有目标用户信息,以及业务对象的位置信息和/或置信度信息的特征向量。
[0084] 其中,对特征向量的提取可以采用相关技术中的适当方式实现,本发明实施例在此不再赘述。
[0085] (2)对特征向量进行卷积处理,获取特征向量卷积结果。
[0086] 获取的特征向量卷积结果中包含有目标用户的信息,以及,业务对象的位置信息和/或置信度信息。
[0087] 对特征向量的卷积处理次数可以根据实际需要进行设定,也即,卷积网络模型中,卷积层的层数根据实际需要进行设置,最终的特征向量卷积结果满足误差在一定范围内(如为图像长或宽的1/20~1/5,优选地,可以为图像长或宽的1/10)的标准即可。
[0088] 卷积结果是对特征向量进行了特征提取后的结果,该结果能够有效表征视频图像中各相关对象的特征和分类。
[0089] 本发明实施例中,当特征向量中既包含业务对象的位置信息,又包含业务对象的置信度信息时,也即,对业务对象的位置信息和置信度信息均进行了训练的情况下,该特征向量卷积结果在后续分别进行收敛条件判断时共享,无须进行重复处理和计算,减少了由数据处理引起的资源损耗,提高了数据处理速度和效率。
[0090] (3)分别判断特征向量卷积结果中对应的目标用户的信息,以及,业务对象的位置信息和/或置信度信息是否满足收敛条件。
[0091] 其中,收敛条件由本领域技术人员根据实际需求适当设定。当信息满足收敛条件时,可以认为卷积网络模型中的参数设置适当;当信息不能满足收敛条件时,可以认为卷积网络模型中的参数设置不适当,需要对其进行调整,该调整是一个迭代的过程,直至使用调整后的参数对特征向量进行卷积处理的结果满足收敛条件。
[0092] 一种可行方式中,收敛条件可以根据预设的标准位置和/或预设的标准置信度进行设定,如,将特征向量卷积结果中业务对象的位置信息指示的位置与该预设的标准位置之间的距离是否满足一定阈值作为业务对象的位置信息的收敛条件;将特征向量卷积结果中业务对象的置信度信息指示的置信度与该预设的标准置信度之间的差别是否满足一定阈值作为业务对象的置信度信息的收敛条件等。
[0093] 其中,优选地,预设的标准位置可以是对待训练的业务对象样本图像中的业务对象的位置进行平均处理后获得的平均位置;预设的标准置信度可以是对待训练的业务对象样本图像中的业务对象的置信度进行平均处理后获取的平均置信度。依据待训练的业务对象样本图像中的业务对象的位置和/或置信度设定标准位置和/或标准置信度,因样本图像为待训练样本且数据量庞大,因而设定的标准位置和标准置信度也更为客观和精确。
[0094] 在具体进行特征向量卷积结果中对应的业务对象的位置信息和/或置信度信息是否满足收敛条件的判断时,一种可行的方式包括:
[0095] 获取特征向量卷积结果中对应的业务对象的位置信息;使用第一损失函数,计算对应的业务对象的位置信息指示的位置与预设的标准位置之间的第一距离;根据第一距离判断对应的业务对象的位置信息是否满足收敛条件;
[0096] 和/或,
[0097] 获取特征向量卷积结果中对应的业务对象的置信度信息;使用第二损失函数,计算对应的业务对象的置信度信息指示的置信度与预设的标准置信度之间的第二距离;根据第二距离判断对应的业务对象的置信度信息是否满足收敛条件。
[0098] 在一种可选的实施方式中,第一损失函数可以为计算对应的业务对象的位置信息指示的位置与预设的标准位置之间的欧式距离的函数;和/或,第二损失函数可以为计算对应的业务对象的置信度信息指示的置信度与预设的标准置信度之间的欧式距离的函数。采用欧式距离的方式,实现简单且能够有效指示收敛条件是否被满足。但不限于此,其它方式,如马式距离,巴式距离等也同样适用。
[0099] 优选地,如前,预设的标准位置为对待训练的业务对象样本图像中的业务对象的位置进行平均处理后获得的平均位置;和/或,预设的标准置信度为对待训练的业务对象样本图像中的业务对象的置信度进行平均处理后获取的平均置信度。
[0100] 对于特征向量卷积结果中的目标用户的信息,对目标用户的信息是否收敛的判断可以参照相关使用卷积网络模型的收敛条件进行判断,在此不再赘述。若目标用户的信息满足收敛条件,则可对目标用户进行分类,明确目标用户的所属类别,以为后续业务对象的展示位置确定提供参考和依据。
[0101] (4)若满足收敛条件,则完成对卷积网络模型的训练;若不满足收敛条件,则根据特征向量卷积结果,调整卷积网络模型的参数并根据调整后的卷积网络模型的参数对卷积网络模型进行迭代训练,直至迭代训练后的特征向量卷积结果满足收敛条件。
[0102] 通过对卷积网络模型进行上述训练,卷积网络模型可以对基于目标用户进行展示的业务对象的展示位置进行特征提取和分类,从而具有确定业务对象在视频图像中的展示位置的功能。其中,当展示位置包括多个时,通过上述业务对象置信度的训练,卷积网络模型还可以确定出多个展示位置中的展示效果的优劣顺序,从而确定最优的展示位置。在后续应用中,当需要展示业务对象时,根据视频中的当前图像即可确定出有效的展示位置。
[0103] 此外,在对卷积网络模型进行上述训练之前,还可以预先对业务对象样本图像进行预处理,包括:获取多个业务对象样本图像,其中,每个业务对象样本图像中包含有业务对象的标注信息;根据标注信息确定业务对象的位置,判断确定的业务对象的位置与预设位置的距离是否小于或等于设定阈值;将小于或等于设定阈值的业务对象对应的业务对象样本图像,确定为待训练的业务对象样本图像。其中,预设位置和设定阈值均可以由本领域技术人员采用任意适当方式进行适当设置,如根据数据统计分析结果或者相关距离计算公式或者人工经验等,本发明实施例对此不作限制。
[0104] 在一种可行方式中,根据标注信息确定的业务对象的位置可以是业务对象的中心位置。在根据标注信息确定业务对象的位置,判断确定的业务对象的位置与预设位置的距离是否小于或等于设定阈值时,可以根据标注信息确定业务对象的中心位置;进而判断该中心位置与预设位置的方差是否小于或等于设定阈值。
[0105] 通过预先对业务对象样本图像进行预处理,可以过滤掉不符合条件的样本图像,以保证训练结果的准确性。
[0106] 通过上述过程实现了卷积网络模型的训练,训练完成的该卷积网络模型可以用来确定业务对象在视频图像中的展示位置。例如,在视频直播过程中,若主播点击业务对象指示进行业务对象展示时,在卷积网络模型获得了直播的视频图像中主播的面部特征点后,可以指示出展示业务对象的最优位置如主播的额头位置,进而移动终端控制直播应用在该位置展示业务对象;或者,在视频直播过程中,若主播点击业务对象指示进行业务对象展示时,卷积网络模型可以直接根据直播的视频图像确定业务对象的绘制位置。
[0107] 方式二
[0108] 在方式二中,首先需要根据目标用户的特征点,确定目标用户的类型;再根据目标用户的类型,确定待绘制的业务对象的绘制位置信息;然后根据绘制位置信息,确定待绘制的业务对象在视频图像中的展示位置。
[0109] 其中,目标用户的类型包括但不限于:人脸类型、背景类型、手部类型和动作类型。其中,人脸类型用于指示人脸在视频图像中占据主要部分,背景类型用于指示背景在视频图像中占据较大部分,手部类型用于指示手部在视频图像中占据主要部分,而动作类型则用于指示人物进行了某种动作。
[0110] 其中,在获取了目标用户的特征点之后,可以采用已有的相关检测、分类或学习方法确定目标用户的类型。在确定了目标用户的类型之后,可以按照设定的规则确定待绘制的业务对象的绘制位置信息,包括:
[0111] 当目标用户的类型为人脸类型时,确定待绘制的业务对象的绘制位置信息包括以下至少之一:视频图像中人物的头发区域、额头区域、脸颊区域、下巴区域、头部以外的身体区域;和/或,
[0112] 当目标用户的类型为背景类型时,确定待绘制的业务对象的绘制位置信息包括:视频图像中的背景区域;和/或,
[0113] 当目标用户的类型为手部类型时,确定待绘制的业务对象的绘制位置信息包括:视频图像中以手部所在的区域为中心的、设定范围内的区域;和/或,
[0114] 当目标用户的类型为动作类型时,确定待绘制的业务对象的绘制位置信息包括:视频图像中预先设定的区域。
[0115] 其中,视频图像中预先设定的区域可以包括:视频图像中人物之外的任一区域,对于预先设定的区域可以由本领域技术人员根据实际情况适当设置,如,以动作生成部位为中心的设定范围内的区域,或者,动作生成部位以外的设定范围内的区域,或者背景区域等等,本发明实施例对此不作限制。
[0116] 在一种可选的实施方式中,动作类型对应的动作包括以下至少之一:眨眼、张嘴、点头、摇头、亲吻、微笑、挥手、剪刀手、握拳、托手、竖大拇指、摆手枪姿势、摆V字手、摆OK手。
[0117] 在确定了绘制位置信息后,可以进一步确定待绘制的业务对象在视频图像中的展示位置。例如,以绘制位置信息的中心点为业务对象的展示位置中心点进行业务对象的绘制;再例如,将绘制位置信息中的某一坐标位置确定为绘制位置的中心点等,本发明实施例对此不作限制。在本发明实施例中视频图像中预先设定的区域可以包括:视频图像中人物的区域或视频图像中人物之外的任一区域。
[0118] 在本发明实施例中目标用户端(如主播所在的客户端)通过图像采集装置(如摄像头)采集目标用户(如主播)的行为动作、目标用户直播时的背景信息以及第一素材等目标用户端当前播放的视频图像,其中,视频图像包括原始视频图像和在原始视频图像上采用计算机绘图方式绘制的第一素材,原始视频图像如目标用户的行为动作目标用户直播时的背景等,原始视频图像可以包括但不限于:包括直播平台中的视频图像;第一素材可以包括但不限于业务对象,如业务对象包含有语义信息的特效,又如业务对象包括包含广告信息的以下至少一种形式的特效:二维贴纸特效、三维特效、粒子特效。如使用贴纸形式展示的广告(即广告贴纸);或者,用于展示广告的特效,如3D广告特效。但不限于此,15其它形式的业务对象也同样适用本发明实施例提供的业务统计方案,如APP或其它应用的文字说明或介绍,或者一定形式的与视频观众交互的对象(如电子宠物)等。
[0119] 从采集到的当前播放的视频图像中提取第一素材的素材属性信息,其中,属性信息可以包括但不限于:素材的标识信息、位置信息和素材的链接信息等,如业务对象的ID、业务对象的位置、和业务对象的链接。
[0120] 步骤204、按照设定的视频编码格式对原始视频图像进行编码,并将编码后的原始视频图像和第一素材的素材属性信息生成传输流。
[0121] 在目标用户端向多个其它用户端传输视频数据前,需要基于传输协议,确定对视频图像设定的编码格式,再按照设定的视频编码格式对原始视频图像进行编码,并将素材属性信息和编码后的原始视频图像生成传输流。
[0122] 编码格式可以包括任意视频的编码格式,如H.264、H.265等。若设定按照H.264编码格式对原始视频图像进行编码,则可以通过视频编码层VCL(Video Coding Layer)对原始视频图像进行编码,并将编码后的原始视频图像映射到网络抽象层NAL(Net Abstraction Layer)单元中;其中,编码完成后的原始视频图像由多个NAL单元组成,NAL单元包括NAL字头和原始字节序列负荷RBSP。
[0123] 在NAL单元中可以包括多种类型的数据段,以及每个数据段对应的重要性指标,如表1所示:
[0124]
[0125]
[0126] 表1
[0127] 在本发明实施例的一种可选方案中,将素材属性信息携带在网络抽象层NAL单元的原始字节序列负荷RBSP中生成待传输的传输流。
[0128] 作为改进,本发明实施例还可以将素材属性信息携带在RBSP的补充增强信息单元SEI中,在本发明实施例中,除将属性信息携带在RBSP的补充增强信息单元SEI中,还可以将其携带于RBSP的其它单元中,如将属性信息和特征信息携带在表1中所示13..23字段和24..31中;对此本发明不作具体限定。
[0129] 在本发明实施例的另一种可选方案中,可以在对原始视频图像编码过程中将素材属性信息一同进行编码,生成待传输的传输流。
[0130] 步骤206、将传输流转换为json格式的数据,并将转换后的数据向至少一个第二设备端发送。
[0131] 将待传输的传输流转换为json格式的数据,并将转换后的数据向至少一个客户端(粉丝端)传输。
[0132] 视频数据帧传输的具体实例可以如下:
[0133]
[0134]
[0135] 其中,version为当前json格式的版本信息,类型:字符串,格式为x.y,x为大版本号,本结构有大的调整,如果json结构变化比较大,或者增加、修改的内容很多的情况下加1,y为小版本号,在本结构中小的修改,包括增加删除少量字段,则可加1。
[0136] id为当前业务对象用到的素材的唯一标示,类型:int或者字符串。
[0137] W为原始video的宽度,类型:int。
[0138] h为原始video的高度,类型:int。
[0139] url为业务对象下载的url,类型:字符串。
[0140] Parts为业务对象中的子素材信息,名称:数组子素材的名称应该和业务对象包中一致,每个子素材名称为parts数组元素的key。
[0141] cur_frame为当前业务对象的序列帧的帧号,类型:int
[0142] mode为渲染方式,类型:字符串。现有polygon类型,渲染方式代表了后续pos中点的连线顺序:左下-》右下-》左上;左上-》右上-》右下。
[0143] z-order为业务对象的z轴方向的顺序,类型:int。
[0144] pos为标识所有的点,关键字以1、2、3……自增排序即可,值为点数组,例如[12,23]。
[0145] 通过上述实例,对于一个素材(业务对象)可以清楚的分析出素材的标识、链接、位置坐标、素材的所有关键点以及素材对应的序列帧号,当解码后只要分析该实例,就可以快速完成对该素材的绘制,大大降低了普通绘制依赖算法、依赖终端配置的问题。
[0146] 本发明实施例通过,提取第一设备端当前播放的视频图像中第一素材的素材属性信息,按照设定的视频编码格式对原始视频图像进行编码,并将编码后的原始视频图像和第一素材的素材属性信息生成传输流,将传输流转换为json格式的数据,并将转换后的数据向至少一个第二设备端发送。待传输的传输流中携带有第一素材的素材属性信息息,使得在另一端显示原始视频图像时,通过素材属性信息可以确定原始视频图像中的素材,进而进行相应的处理和绘制,有效的减轻了另一端显示视频图像的压力。
[0147] 本领域技术人员可以理解,在本发明实施例具体实施方式的上述方法中,各步骤的序号大小并不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例具体实施方式的实施过程构成任何限定。
[0148] 实施例三
[0149] 参照图3,示出了本发明实施例三提供的一种数据处理装置的结构框图,具体可以包括如下模块:
[0150] 提取模块302,用于提取第一设备端当前播放的视频图像中第一素材的素材属性信息,其中,视频图像包括原始视频图像和在原始视频图像上采用计算机绘图方式绘制的第一素材。
[0151] 生成模块304,用于根据原始视频图像和素材属性信息生成传输流。
[0152] 发送模块306,用于向至少一个第二设备端发送传输流。
[0153] 本发明实施例提供的数据处理装置,可以实现实施例一中数据处理方法的各个步骤,并具有相应的方法实施例益效果,在此不再赘述。
[0154] 实施例四
[0155] 参照图4,示出了本发明实施例四提供的一种数据处理装置的结构框图,具体可以包括如下模块:
[0156] 提取模块302,用于提取第一设备端当前播放的视频图像中第一素材的素材属性信息,其中,视频图像包括原始视频图像和在原始视频图像上采用计算机绘图方式绘制的第一素材。
[0157] 生成模块304,用于按照设定的视频编码格式对原始视频图像进行编码,并将编码后的原始视频图像和第一素材的素材属性信息生成传输流。
[0158] 其中,素材属性信息包括以下至少之一:素材的标识信息、位置信息或素材的链接信息。
[0159] 第一素材包括:业务对象,视频图像包括直播平台中的视频图像。
[0160] 业务对象包括:包含有语义信息的特效。业务对象包括包含广告信息的以下至少一种形式的特效:二维贴纸特效、三维特效、粒子特效。
[0161] 生成模块304,用于按照设定的视频编码格式对原始视频图像进行编码,并将编码后的原始视频图像和第一素材的素材属性信息生成传输流。
[0162] 作为改进,生成模块304,用于按照H.264编码格式对原始视频图像进行编码;将素材属性信息携带在网络抽象层NAL单元的原始字节序列负荷RBSP中生成传输流。
[0163] 作为改进,生成模块304,还用于将素材属性信息携带在RBSP的补充增强信息单元SEI中。
[0164] 其中,传输流还携带第一设备端当前播放的视频图像的视频属性信息。
[0165] 发送模块306,用于将传输流转换为json格式的数据,并将转换后的数据向至少一个第二设备端发送。
[0166] 本发明实施例的数据处理装置用于实现前述多个方法实施例中相应的数据处理方法,并具有相应的方法实施例的有益效果,在此不再赘述。
[0167] 实施例五
[0168] 参照图5,示出了根据本发明实施例五的一种终端设备的结构示意图,本发明具体实施例并不对终端设备的具体实现做限定。
[0169] 如图5所示,该终端设备终端设备500可以包括:
[0170] 处理器(processor)502、通信接口(Communications Interface)504、存储器(memory)506、以及通信总线508。其中:
[0171] 处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。
[0172] 通信接口504,用于服务器和客户端之间的通信。
[0173] 处理器502,用于执行程序510,具体可以执行上述方法实施例中的相关步骤。
[0174] 具体地,程序510可以包括程序代码,程序代码包括计算机操作指令。
[0175] 处理器502可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0176] 存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。程序510具体可以用于使得处理器502执行以下操作:提取第一设备端当前播放的视频图像中第一素材的素材属性信息,其中,视频图像包括原始视频图像和在原始视频图像上采用计算机绘图方式绘制的第一素材;根据原始视频图像和素材属性信息生成传输流;向至少一个第二设备端发送传输流。
[0177] 在一种可选的实施方式中,程序510还用于使得处理器502按照设定的视频编码格式对原始视频图像进行编码,并将编码后的原始视频图像和第一素材的素材属性信息生成传输流。
[0178] 在一种可选的实施方式中,程序510还用于使得处理器502按照H.264编码格式对原始视频图像进行编码,将素材属性信息携带在编码后的网络抽象层NAL单元的原始字节序列负荷RBSP中生成传输流。
[0179] 在一种可选的实施方式中,程序510还用于使得处理器502将素材属性信息携带在RBSP的补充增强信息单元SEI中生成传输流。
[0180] 在一种可选的实施方式中,程序510还用于使得处理器502传输流还携带第一设备端当前播放的视频图像的视频属性信息。
[0181] 在一种可选的实施方式中,程序510还用于使得处理器502将传输流转换为json格式的数据,并将转换后的数据向至少一个第二设备端发送。
[0182] 在一种可选的实施方式中,程序510还用于使得处理器502配置素材属性信息包括以下至少之一:素材的标识信息、位置信息或素材的链接信息。
[0183] 在一种可选的实施方式中,程序510还用于使得处理器502配置第一素材包括:业务对象,视频图像包括直播平台中的视频图像。
[0184] 在一种可选的实施方式中,程序510还用于使得处理器502配置业务对象包括:包含有语义信息的特效。
[0185] 在一种可选的实施方式中,程序510还用于使得处理器502配置业务对象包括包含广告信息的以下至少一种形式的特效:二维贴纸特效、三维特效、粒子特效。本发明实施例的终端设备,可以实现实施例一、二、三或四中数据处理方案的各个步骤,并具有相应的方法实施例的有益效果,在此不再赘述。
[0186] 实施例六
[0187] 参照图6,示出了本发明实施例六还提供的一种数据处理方法的步骤流程图。
[0188] 本实施例以直播场景下的粉丝所在的其它用户端(第二设备端,如粉丝端)为例,对本发明实施例的数据处理方法进行说明。本实施例的数据处理方法具体包括如下步骤:
[0189] 步骤602、接收传输流。
[0190] 在目标用户端(第一设备端,如主播端)与一个或多个其它用户端(第二设备端,如粉丝端)建立视频连接后,目标用户端实时向用户端发送传输流,传输流为目标用户端录制的视频图像,其中,传输流包括原始视频图像和素材属性信息。
[0191] 步骤604、确定与素材属性信息匹配的第二素材。
[0192] 在接收到传输流后,对其进行解码,并从解码后的传输流中获取素材属性信息,根据属性信息从素材库中匹配出与素材属性相对应的第二素材。
[0193] 步骤606、根据素材属性信息在原始视频图像上采用计算机绘图方式绘制第二素材。
[0194] 解码后的传输流包括原始视频图像和素材属性信息,其中,原始视频图像为目标用户端(第一设备端)当前直播的视频图像。解码完成后,原始视频图像自动在其它用户端(第二设备端)显示,根据素材属性信息调用素材库中的第二素材,采用计算机绘图方式在其它用户端显示的原始视频图像上绘制第二素材。
[0195] 本发明实施例通过接收传输流,确定与素材属性信息匹配的第二素材,根据素材属性信息在原始视频图像上采用计算机绘图方式绘制第二素材。依据素材属性信息可以快速完成对素材的绘制,无需通过复杂的算法分析一方面减轻了数据处理负担,另一方面因无需运行算法,也减低了对终端配置的要求,有效实现了直播视频的流畅观看,增强了用户的体验。
[0196] 实施例七
[0197] 参照图7,示出了本发明实施例七还提供的一种数据处理方法的步骤流程图。
[0198] 本实施例以直播场景下的粉丝所在的其它用户端(第二设备端)为例,对本发明实施例的数据处理方法进行说明。本实施例的数据处理方法具体包括如下步骤:
[0199] 步骤702、接收传输流。
[0200] 目标用户端(第一设备端,如主播端)在进行直播过程中,一个或多个其它用户端(第二设备端,如粉丝端)会通过访问该目标用户直播间的方式获取当前目标用户的直播,目标用户端和用户端的视频数据是同步的,即目标用户端实时向用户端发送传输流,传输流为目标用户端录制的视频图像,其中,传输流包括原始视频图像和素材属性信息,原始视频图像即当前目标用户在目标用户端进行视频直播的视频图像。
[0201] 步骤704、按照与原始视频图像的视频编码格式相对应的视频解码格式,对传输流进行解码。
[0202] 接收到视频数据帧后,确定目标用户端对该传输流的编码格式,编码格式由目标用户端确定,其中可以包括任意的视频编码格式,如H.264、H.265等。在本发明实施例中可以基于传输协议确定统一的编码解码格式,如,当传输流的视频编码格式为H.264编码格式时,按照H.264视频解码格式对传输流进行解码。
[0203] 步骤706、从解码后的传输流中确定原始视频图像和素材属性信息。
[0204] 在本发明实施例的一种可选方案中,传输流还携带原始视频的视频属性信息,如目标用户端直播视频的分辨率信息。依次从解码后的传输流中确定原始视频图像、素材属性信息和视频属性信息。在本发明实施例的一种可选方案中,具体可以从解码后的传输流中的网络抽象层NAL单元中的始字节序列负荷RBSP中,获取素材的素材属性信息。
[0205] 作为改进,还可以从解码后的传输流中的NAL单元中的RBSP的补充增强信息单元SEI中,获取素材的素材属性信息。
[0206] 在本发明实施例中,对于从编码后的传输流中获取素材的素材属性数据可以根据在目标用户端如何将素材属性数据携带于编码后的原始视频图像中确定,对此本发明不作具体限定。
[0207] 步骤708、根据素材属性信息确定相匹配的第二素材。
[0208] 在本发明实施例中,从解码后的视频数据帧中确定素材属性,进而确定与素材属性对应的第二素材,其中,材属性信息包括以下至少之一:素材的标识信息、位置信息或素材的链接信息,第二素材包括:业务对象,原始视频图像包括直播平台中的视频图像,业务对象包括:包含有语义信息的特效,如业务对象包括包含广告信息的以下至少一种形式的特效:二维贴纸特效、三维特效、粒子特效。但不限于此,其它形式的业务对象也同样适用本发明实施例提供的视频数据处理方案,如APP或其它应用的文字说明或介绍,或者一定形式的与视频观众交互的对象(如电子宠物)等。
[0209] 步骤710、根据原始视频的视频属性信息将原始视频图像在第二设备端进行显示。
[0210] 根据确定的原始视频图像的视频属性信息在其它用户端(第二设备端)显示原始视频图像,如根据原始视频图像的分辨率确定原始视频图像在其它用户端显示时的分辨率。
[0211] 步骤712、根据素材属性信息确定第二素材在原始视频图像中的绘制位置。
[0212] 根据素材属性信息确定第二素材对应的位置信息和链接信息,如根据素材属性信息中的位置信息确定第二素材在原始视频图像中的绘制位置。
[0213] 步骤714、根据绘制位置在原始视频图像上采用计算机绘图方式绘制第二素材。
[0214] 根据位置信息在其它用户端的显示界面中绘制确定的第二素材,具体可采用计算机绘图方式绘制信息展示对象,如可以通过适当的图形图像绘制或渲染等方式实现,包括但不限于:基于OpenGL图形绘制引擎进行绘制等。OpenGL定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口,其与硬件无关,可以方便地进行2D或3D图形图像的绘制。通过OpenGL,不仅可以实现2D效果如2D贴纸的绘制,还可以实现3D特效的绘制及粒子特效的绘制等等。
[0215] 在第二素材绘制完成后,根据素材属性中的链接信息为第二素材素添加对应的链接信息,以使其它用户端的用户通过点击第二素材进入链接信息对应的界面,如第二素材的淘宝店铺、官方网站等。
[0216] 本发明实施例通过接收传输流,按照与原始视频图像的视频编码格式相对应的视频解码格式,对传输流进行解码,从解码后的传输流中确定原始视频图像和素材属性信息,根据素材属性信息确定相匹配的第二素材,根据原始视频的视频属性信息将原始视频图像在第二设备端进行显示,根据素材属性信息确定第二素材在原始视频图像中的绘制位置,根据绘制位置在原始视频图像上采用计算机绘图方式绘制第二素材。依据素材属性信息可以快速完成对素材的绘制,无需通过复杂的算法分析,一方面减轻了数据处理负担,另一方面因无需运行算法,也减低了对终端配置的要求,有效实现了直播视频的流畅观看,同时用户还可以通过素材的点击操作,跳转其对应的链接页面,方便了用户对素材的进一步了解,增强了用户的体验。
[0217] 本领域技术人员可以理解,在本发明实施例具体实施方式的上述方法中,各步骤的序号大小并不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例具体实施方式的实施过程构成任何限定。
[0218] 实施例八
[0219] 参照图8,示出了本发明实施例八还提供的一种数据处理装置的结构框图;具体可以包括如下模块:
[0220] 接收模块802,用于接收传输流,传输流包括原始视频图像和素材属性信息。
[0221] 确定模块804,用于确定与素材属性信息匹配的第二素材。
[0222] 绘制模块806,用于根据素材属性信息在原始视频图像上采用计算机绘图方式绘制第二素材。
[0223] 本发明实施例提供的图像处理装置用于实现前述多个方法实施例中相应的数据处理方法,并具有相应的方法实施例的有益效果,在此不再赘述。
[0224] 实施例九
[0225] 参照图9,示出了本发明实施例九还提供的一种数据处理装置的结构框图,具体可以包括如下模块:
[0226] 接收模块802,用于接收传输流,传输流包括原始视频图像和素材属性信息。
[0227] 确定模块804包括:解码子模块8042,用于按照与原始视频图像的视频编码格式相对应的视频解码格式,对传输流进行解码;信息获取子模块8044,用于从解码后的传输流中确定原始视频图像和素材属性信息;匹配子模块8046,用于根据素材属性信息确定相匹配的第二素材。
[0228] 作为改进,解码子模块8042,用于当传输流的视频编码格式为H.264编码格式时,按照H.264视频解码格式对传输流进行解码。
[0229] 其中,传输流还携带原始视频的视频属性信息。
[0230] 作为改进,解码子模块8042,用于从解码后的传输流中确定原始视频图像;从网络抽象层NAL单元的原始字节序列负荷RBSP中确定素材属性信息;以及,从解码后的传输流中确定原始视频的视频属性信息。
[0231] 作为改进,解码子模块8042,用于从RBSP的补充增强信息单元SEI中确定素材属性信息。
[0232] 绘制模块806,包括:显示子模块8062,用于根据原始视频的视频属性信息将原始视频图像在第二设备端进行显示;位置确定子模块8064,用于根据素材属性信息确定第二素材在原始视频图像中的绘制位置;素材绘制子模块8066,用于根据绘制位置在原始视频图像上采用计算机绘图方式绘制第二素材。
[0233] 其中,素材属性信息包括以下至少之一:素材的标识信息、位置信息或素材的链接信息。第二素材包括:业务对象,原始视频图像包括直播平台中的视频图像。业务对象包括:包含有语义信息的特效。业务对象包括包含广告信息的以下至少一种形式的特效:二维贴纸特效、三维特效、粒子特效。
[0234] 本发明实施例的数据处理装置用于实现前述多个方法实施例中相应的数据处理方法,并具有相应的方法实施例的有益效果,在此不再赘述。
[0235] 实施例十
[0236] 参照图10,示出了根据本发明实施例十的一种终端设备的结构示意图,本发明具体实施例并不对终端设备的具体实现做限定。
[0237] 如图10所示,该终端设备1000可以包括:
[0238] 处理器(processor)1002、通信接口(Communications Interface)1004、存储器(memory)1006、以及通信总线1008。其中:
[0239] 处理器1002、通信接口1004、以及存储器1006通过通信总线1008完成相互间的通信。
[0240] 通信接口1004,用于服务器和客户端之间的通信。
[0241] 处理器1002,用于执行程序1010,具体可以执行上述方法实施例中的相关步骤。
[0242] 具体地,程序1010可以包括程序代码,程序代码包括计算机操作指令。
[0243] 处理器1002可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0244] 存储器1006,用于存放程序1010。存储器1006可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。程序1010具体可以用于使得处理器1002执行以下操作:接收传输流,传输流包括原始视频图像和素材属性信息;确定与素材属性信息匹配的第二素材;根据素材属性信息在原始视频图像上采用计算机绘图方式绘制第二素材。
[0245] 在一种可选的实施方式中,程序1010还用于使得处理器1002按照与原始视频图像的视频编码格式相对应的视频解码格式,对传输流进行解码;从解码后的传输流中确定原始视频图像和素材属性信息;根据素材属性信息确定相匹配的第二素材。
[0246] 在一种可选的实施方式中,程序1010还用于使得处理器100当传输流的视频编码格式为H.264编码格式时,按照H.264视频解码格式对传输流进行解码。
[0247] 在一种可选的实施方式中,程序1010还用于使得处理器1002配置传输流还携带原始视频的视频属性信息,从解码后的传输流中确定原始视频图像;从网络抽象层NAL单元的原始字节序列负荷RBSP中确定素材属性信息;以及,从解码后的传输流中确定原始视频的视频属性信息。
[0248] 在一种可选的实施方式中,程序1010还用于使得处理器1002从RBSP的补充增强信息单元SEI中确定素材属性信息。
[0249] 在一种可选的实施方式中,程序1010还用于使得处理器1002根据原始视频的视频属性信息将原始视频图像在第二设备端进行显示;根据素材属性信息确定第二素材在原始视频图像中的绘制位置;根据绘制位置在原始视频图像上采用计算机绘图方式绘制第二素材。
[0250] 在一种可选的实施方式中,程序1010还用于使得处理器1002配置素材属性信息包括以下至少之一:素材的标识信息、位置信息或素材的链接信息。
[0251] 在一种可选的实施方式中,程序1010还用于使得处理器1002配置第二素材包括:业务对象,原始视频图像包括直播平台中的视频图像。
[0252] 在一种可选的实施方式中,程序1010还用于使得处理器1002配置第二素材包括:业务对象,原始视频图像包括直播平台中的视频图像。
[0253] 在一种可选的实施方式中,程序1010还用于使得处理器1002配置业务对象包括包含广告信息的以下至少一种形式的特效:二维贴纸特效、三维特效、粒子特效。
[0254] 本发明实施例的终端设备,可以实现实施例六、七、八或九中数据处理方案的各个步骤,并具有相应的方法实施例的有益效果,在此不再赘述。
[0255] 需要指出,根据实施的需要,可将本发明实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明实施例的目的。
[0256] 上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的处理方法。此外,当通用计算机访问用于实现在此示出的处理的代码时,代码的执行将通用计算机转换为用于执行在此示出的处理的专用计算机。
[0257] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
[0258] 以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。