[go: up one dir, main page]

CN114339111A - 一种视频通话方法及装置 - Google Patents

一种视频通话方法及装置 Download PDF

Info

Publication number
CN114339111A
CN114339111A CN202011025141.0A CN202011025141A CN114339111A CN 114339111 A CN114339111 A CN 114339111A CN 202011025141 A CN202011025141 A CN 202011025141A CN 114339111 A CN114339111 A CN 114339111A
Authority
CN
China
Prior art keywords
data
user
data stream
data packet
stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011025141.0A
Other languages
English (en)
Other versions
CN114339111B (zh
Inventor
高扬
梁运恺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202011025141.0A priority Critical patent/CN114339111B/zh
Priority to PCT/CN2021/108137 priority patent/WO2022062625A1/zh
Priority to EP21871003.6A priority patent/EP4221193A4/en
Publication of CN114339111A publication Critical patent/CN114339111A/zh
Application granted granted Critical
Publication of CN114339111B publication Critical patent/CN114339111B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1089In-session procedures by adding media; by removing media
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/401Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
    • H04L65/4015Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
    • H04M3/567Multimedia conference systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/50Telephonic communication in combination with video communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Telephonic Communication Services (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开一种视频通话方法及装置,在双方视频通话的场景或者多方视频会议的场景中,支持在视频画面内容上实时的绘制与标注的功能,其它视频通话的参与方能够实时观看到绘制者所绘制的内容,达到“边看边画”的效果,有助于提高信息传递的质量。通话的发送方的终端设备实时采集绘制点数据和多媒体数据,并且实时采集实时封装数据包并通过媒体服务器发送给接收方。数据包中封装时间戳和/或序列号,接收方能够根据时间戳和/或序列号对绘制点数据和多媒体数据进行同步,使得接收方能够实时观看到绘制图案和听到发送方用户的语音,提高信息传递的质量和效率。

Description

一种视频通话方法及装置
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种视频通话方法及装置。
背景技术
目前,视频通话是一种有效的交流互动的方式。视频通话技术除了提供每个视频通话的参与方的声音和视频画面内容以外,还可以提供白板绘制功能。但是,目前绘制者开始落笔以及绘制过程中,其它视频通话的参与方无法实时的观看到绘制的结果,只有在绘制者停笔后,绘制的结果才会被其它视频通话的参与方观看到。即绘制者与其它视频通话的参与方无法同步观看到绘制的结果,因此会导致其它视频通话的参与方无法及时了解到绘制者所要表达的内容,降低交流互动的质量,效率较低。
发明内容
本申请实施例提供一种视频通话方法及装置,以提高交流互动质量,提高效率。
第一方面,本申请实施例提供一种视频通话方法,包括:媒体服务器接收来自第一终端设备的第一数据流,第一数据流中的数据包包括第一终端设备采集的用户绘制图案的绘制点数据;媒体服务器接收来自第一终端设备的第二数据流,第二数据流中的数据包包括第一终端设备的用户音频数据和/或用户视频数据;媒体服务器根据第一数据流中的数据包的时间参数和第二数据流中的数据包的时间参数,对第一数据流和第二数据流进行同步得到同步处理结果;当第二数据流中的数据包包括用户音频数据时,媒体服务器根据同步处理结果渲染第一数据流的数据包中的绘制点数据得到用户绘制图案,并向第二终端设备发送用户绘制图案以及第二数据流;或者,当第二数据流中的数据包包括用户视频数据时,第二终端设备根据同步处理结果渲染第一数据流的数据包中的绘制点数据得到用户绘制图案,以及渲染第二数据流的数据包中的用户视频数据得到用户视频图像,将用户绘制图案叠加在用户视频图像上得到第三视频流,并向第二终端设备发送第三视频流。
上述方案中,媒体服务器实时接收来自终端设备的绘制点数据、用户音频数据、用户视频数据,然后对绘制点数据、音频数据和视频数据进行同步,由媒体服务器对用户视频数据和绘制点数据进行渲染,从而无需终端设备执行渲染,降低对终端设备的硬件需求。另外,终端设备实时向媒体服务器发送绘制点数据和音频数据、视频数据,媒体服务器执行同步处理后,发送给第二终端设备,使得第二终端设备能够实时同步显示绘制点数据和视频数据以及播放音频数据,使得第二终端设备的用户看到的画面与听到的声音达到同步,进而提高用户交流互动的质量,并提高交流的效率。
在一种可能的设计中,所述媒体服务器渲染所述用户绘制图案的绘制点的速率与第一终端设备采集用户绘制图案的绘制点的速率相同。通过上述方案,进一步使得用户听到的声音与看到的绘制图案达到同步。
在一种可能的设计中,当所述第一数据流的采样频率与所述第二数据流的采样频率不同时,所述媒体服务器根据所述第一数据流中的数据包的时间参数和所述第二数据流中的数据包的时间参数对所述第一数据流和所述第二数据流进行同步,包括:
所述时间参数包括时间戳时,所述媒体服务器根据所述第一数据流的数据包的时间戳和第一时间戳增量、所述第二数据流的数据包的时间戳以及第二时间戳增量对所述第一数据流的数据包和所述第二数据流的数据包进行同步,其中,所述第一时间戳增量为属于第一数据流的相邻两个数据包的时间戳的差值,所述第二时间戳增量为属于第二数据流的相邻两个数据包的时间戳的差值;或者,
所述时间参数包括序列号时,所述媒体服务器根据第一数据流的数据包的序列号、所述第二数据流的数据包的序列号以及序列号增量对所述第一数据流的数据包和所述第二数据流的数据包进行同步,其中,所述序列号增量是根据所述第一数据流的采样频率和所述第二数据流的采样频率确定的。
上述设计提供两种可行的同步方式。
在一种可能的设计中,所述方法还包括:所述媒体服务器将接收到的属于第一数据流的数据包存储在接收缓存中;渲染第一数据流的数据包中的绘制点数据得到用户绘制图案,包括:所述媒体服务器从接收缓存获取属于第一数据流的第一数据包,并将所述第一数据包的绘制点数据渲染为用户绘制图案的第一绘制点;按照所述媒体服务器渲染所述用户绘制图案的绘制点的速率从所述接收缓存中未获取到属于第一数据流的第二数据包时,按照已经执行渲染的前N个数据包预测所述第二数据包的绘制点数据;其中,所述第二数据包的序列号与所述第一数据包相邻且第二数据包的序列号大于第一数据包或者所述第二数据包的时间戳与所述第一数据包的时间戳间隔时间阈值,所述时间阈值根据所述第一数据流的采样频率和所述第二数据流的采样频率确定;将预测的第二数据包的绘制点数据渲染为所述用户绘制图案的第二绘制点。
通过数据预测方式,通过数据预测方式,预测丢失的绘制点数据,进而在绘制图案时,利用预测的绘制点数据替补丢失的绘制点数据包,防止绘制结果出现偏差。
在一种可能的设计中,将预测的第二数据包的绘制点数据渲染为所述用户绘制图案的第二绘制点,所述方法还包括:当接收到所述第二数据包时,将根据接收到的第二数据包的绘制点数据渲染的绘制点替换所述第二绘制点。
上述设计中,通过数据预测方式,预测延迟到达的绘制点数据,保证渲染绘制点数据的速率与采集绘制点的速率相同。进而在绘制图案时,先渲染预测的绘制点数据,待后续接收到延迟到达的绘制点数据时,可以对出现偏差的预测的绘制点数据进行矫正处理。
在一种可能的设计中,所述第一数据流为实时流媒体传输协议RTP流,所述第二数据流为RTP流;或者,所述第一数据流为实时流媒体传输控制协议RTCP流,所述第二数据流为RTCP流。
第二方面,本申请实施例提供一种视频通话方法,包括:第二终端设备接收来自媒体服务器的第一数据流,所述第一数据流中的数据包包括第一终端设备采集的用户绘制图案的绘制点数据;第二终端设备接收来自媒体服务器的第二数据流,所述第二数据流的数据包包括所述第一终端设备的用户音频数据和/或用户视频数据;所述第二终端设备根据所述第一数据流中的数据包的时间参数和所述第二数据流中的数据包的时间参数,对所述第一数据流和所述第二数据流进行同步得到同步处理结果;当所述第二数据流中的数据包包括用户音频数据时,所述第二终端设备根据同步处理结果渲染第一数据流中的数据包得到用户绘制图案并显示所述用户绘制图案,以及播放所述用户音频;或者,当所述第二数据流中的数据包包括用户视频数据时,第二终端设备根据同步处理结果渲染第一数据流的数据包中的绘制点数据得到用户绘制图案,以及渲染第二数据流中的数据包中的用户视频数据得到用户视频图像,并将所述用户绘制图案叠加在所述用户视频图像上显示。
上述方案中,第二终端设备实时接收来自第一终端设备的绘制点数据、用户音频数据、用户视频数据,然后对绘制点数据、音频数据和视频数据进行同步,使得第二终端设备能够实时同步显示绘制点数据和视频数据以及播放音频数据,使得第二终端设备的用户看到的画面与听到的声音达到同步,进而提高用户交流互动的质量,并提高交流的效率。
在一种可能的设计中,所述第二终端设备渲染所述用户绘制图案的绘制点的速率与第一终端设备采集用户绘制图案的绘制点的速率相同。
在一种可能的设计中,当所述第一数据流的采样频率与所述第二数据流的采样频率不同时,所述第二终端设备根据所述第一数据流中的数据包的时间参数和所述第二数据流中的数据包的时间参数对所述第一数据流和所述第二数据流进行同步,包括:
所述时间参数包括时间戳时,所述第二终端设备根据所述第一数据流中的数据包的时间戳和第一时间戳增量、所述第二数据流中的数据包的时间戳以及第二时间戳增量对所述第一数据流中的数据包和所述第二数据流中的数据包进行同步,其中,所述第一时间戳增量为属于第一数据流的相邻两个数据包的时间戳的差值,所述第二时间戳增量为属于第二数据流的相邻两个数据包的时间戳的差值;或者,
所述时间参数包括序列号时,所述第二终端设备根据第一数据流中的数据包的序列号、所述第二数据流中的数据包的序列号以及序列号增量对所述第一数据流中的数据包和所述第二数据流中的数据包进行同步,其中,所述序列号增量是根据所述第一数据流的采样频率和所述第二数据流的采样频率确定的。
在一种可能的设计中,所述方法还包括:
所述第二终端设备将接收到的属于第一数据流的数据包存储在接收缓存中;
所述第二终端设备渲染第一数据流的数据包中的绘制点数据得到用户绘制图案,包括:
所述第二终端设备从接收缓存获取属于第一数据流的第一数据包,并将所述第一数据包渲染为用户绘制图案的第一绘制点;按照所述第二终端设备渲染所述用户绘制图案的绘制点的速率从所述接收缓存中未获取到属于第一数据流的第二数据包时,按照已经执行渲染属于第一数据流的前N个数据包预测所述第二数据包的绘制点数据;
其中,所述第二数据包的序列号与所述第一数据包相邻且第二数据包的序列号大于第一数据包或者所述第二数据包的时间戳与所述第一数据包的时间戳间隔时间阈值,所述时间阈值根据所述第一数据流的采样频率和所述第二数据流的采样频率确定;
将预测的第二数据包的绘制点数据渲染为所述用户绘制图案的第二绘制点。
在一种可能的设计中,将预测的第二数据包的绘制点数据渲染为所述用户绘制图案的第二绘制点,所述方法还包括:
当接收到所述第二数据包时,将根据接收到的第二数据包的绘制点数据渲染的绘制点替换所述第二绘制点。
在一种可能的设计中,所述第一数据流为实时流媒体传输协议RTP流,所述第二数据流为RTP流;或者,所述第一数据流为实时流媒体传输控制协议RTCP流,所述第二数据流为RTCP流。
第三方面,本申请实施例提供一种视频通话方法,包括:第一终端设备响应于所述第一终端设备的用户绘制图案的绘制操作,实时采集用户绘制图案的绘制点得到绘制点数据;所述第一终端设备实时采集多媒体数据,所述多媒体数据包括所述第一终端设备的用户音频数据或所述第一终端设备的用户视频数据;所述第一终端设备将实时采集所述用户绘制图案的绘制点数据封装为属于第一数据流的数据包,以及将实时采集所述多媒体数据封装为属于第二数据流的数据包,所述第一数据流的数据包包括用户绘制图案的绘制点数据,所述第二数据流的数据包包括所述第一终端设备的用户音频数据或者用户视频数据;所述第一数据流中的数据包携带第一时间戳,所述第二数据流中的数据包携带第二时间戳,所述第一时间戳与所述第二时间戳是根据所述用户绘制图案的绘制点的采样频率和所述第二数据包中封装的用户视频数据或者用户音频数据的采样频率确定的;所述第一终端设备通过会话边界控制器SBC向媒体服务器发送所述第一数据流和所述第二数据流。
通过上述方案,发送方的第一终端设备实时采集绘制点数据和多媒体数据,边采集边封装数据包,数据包中封装用于实现同步的时间戳,进而接收方的第二终端设备能够根据时间戳对绘制点数据和多媒体数据同步生成,使得显示的用户绘制图案和听到的音频达到同步。
在一种可能的实施方式中,还包括:所述第一终端设备渲染所述绘制点数据得到用户绘制图案并显示所述用户绘制图案。
在一种可能的实施方式中,还包括:所述第一终端设备通过所述SBC接收来自所述媒体服务器的第一用户绘制图案,所述第一用户绘制图案是所述媒体服务器渲染所述第一数据流的数据包中的绘制点数据得到的;所述第一终端设备显示所述第一用户绘制图案。
在一种可能的实施方式中,所述第一终端设备接收所述媒体服务器通过所述第一SBC发送的第一用户绘制图案之前,还包括:所述第一终端设备渲染所述绘制点数据得到第二用户绘制图案并显示所述第二用户绘制图案;所述第一终端设备通过所述SBC接收来自所述媒体服务器的第一用户绘制图案后,显示所述第一用户绘制图案,所述显示的第一用户绘制图案覆盖所述第二用户绘制图案。
作为一种示例,第二用户绘制图案的颜色和/或样式,与第一用户图案的颜色和/或样式可以不同。第一终端设备的用户根据显示的用户图案能够确定各个视频通话方所显示的用户图案,进而,第一终端设备的用户可以调整描述用户图案内容的速度,使得各个视频通话方能够准确的获知第一终端设备的用户所描述的内容,提高用户体验。
在一种可能的设计中,所述第一数据流为实时流媒体传输协议RTP流,所述第二数据流为RTP流;或者,所述第一数据流为实时流媒体传输控制协议RTCP流,所述第二数据流为RTCP流。
第四方面,本申请实施例还提供了一种通信装置,所述通信装置应用于媒体服务器,有益效果可以参见第一方面的描述此处不再赘述。该装置具有实现上述第一方面的方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述装置的结构中可以包括通信单元和处理单元,这些单元可以执行上述第一方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第五方面,本申请实施例还提供了一种通信装置,所述装置应用于所述终端设备,有益效果可以参见第二方面或第三方面的描述此处不再赘述。该装置具有实现上述第二方面或第三方面的方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述装置的结构中可以包括显示单元、通信单元和处理单元,还可以包括播放单元和采集单元,这些单元可以执行上述第二方面或第三方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第六方面,本申请实施例还提供了一种通信装置,所述装置应用于所述媒体服务器,有益效果可以参见第一方面的描述此处不再赘述。所述通信装置的结构中包括处理器和通信接口,还可以包括存储器,所述处理器被配置为支持所述媒体服务器通过通信接口执行上述第一方面方法中相应的功能。所述存储器与所述处理器耦合,其保存所述通信装置必要的程序指令和数据。
第七方面,本申请实施例还提供了一种通信装置,所述装置应用于所述终端设备,有益效果可以参见第二方面或第三方面的描述此处不再赘述。所述通信装置的结构中包括处理器和通信接口,还可以包括存储器,所述处理器被配置为支持所述媒体服务器通过通信接口执行上述第二方面或第三方面方法中相应的功能。所述存储器与所述处理器耦合,其保存所述通信装置必要的程序指令和数据。
第八方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一方面所述的方法。
第九方面,本申请还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一方面所述的方法。
第十方面,本申请还提供一种计算机芯片,所述芯片与存储器相连,所述芯片用于读取并执行所述存储器中存储的软件程序,执行上述任一方面所述的方法。
附图说明
图1为本申请实施例中一种通信系统架构示意图;
图2为本申请实施例中另一种可能的通信系统架构示意图;
图3为本申请实施例中终端设备的硬件结构示意图;
图4为本申请实施例中一种可能的视频通话流程示意图;
图5A为本申请实施例中终端设备的一种可能的通话界面示意图;
图5B为本申请实施例中终端设备的另一种可能的通话界面示意图;
图5C为本申请实施例中终端设备的一种可能的显示界面示意图;
图5D为本申请实施例中终端设备的另一种可能的显示界面示意图;
图6为本申请实施例中封装的绘制点数据包和音频数据包的时间戳和序列号示意图;
图7为本申请实施例中绘制点数据包和音频数据包同步的时间戳和序列号示意图;
图8为本申请实施例中用户绘制图案中丢失绘制点以及预测绘制点的显示示意图;
图9为本申请实施例中另一种可能的视频通话流程示意图;
图10为本申请实施例中时延导致的绘制出现断层的显示示意图;
图11为本申请实施例中通信装置1100的结构示意图;
图12为本申请实施例中通信装置1200的结构示意图;
图13为本申请实施例中通信装置1300的结构示意图;
图14为本申请实施例中通信装置1400的结构示意图;
图15为本申请实施例中通信装置1500的结构示意图。
具体实施方式
在视频通话的场景中,为了提高通信质量以及通话效率,视频通话的参与方可以绘制内容或增加标注。但是目前绘制者开始落笔以及绘制过程中,其它视频通话的参与方无法实时的观看到绘制的结果,只有在绘制者提笔后,绘制的结果才会被其它视频通话的参与方观看到。即绘制者与其它视频通话的参与方无法同步观看到绘制的结果,因此在远程指导或协作的场景下,其它参与方无法清晰的获知绘制者所要表达的内容或者所要作用的对象,交流互动的质量及效率较低。
基于此,本申请实施例提供视频通话方法及装置,在双方视频通话的场景或者多方视频会议的场景中,支持在视频画面内容上实时的绘制与标注的功能,其它视频通话的参与方能够实时观看到绘制者所绘制的内容,达到“边看边画”的效果,有助于提高信息传递的质量。增加了视频通话或者视频会议的信息传递的渠道,有助于通话双方或多方的远程指导或远程协同。
视频通话可以但不仅限于采用长期演进语音承载(Voice over Long-TermEvolution,VoLTE)或者社交应用(application,APP),还可以用于新无线语音承载(Voiceover New Radio,VoNR)视频通话。后续描述时,以视频通话采用VoLTE为例。本申请实施例适用于双方视频通话场景,还适用于多方视频通话或多方视频会议场景。
参见图1所示为本申请实施例的一种通信系统架构示意图。通信系统中包括一个或者多个会话边界控制器(session border controller,SBC)以及一个或者多个媒体服务器。通信系统可以实现视频通话和/或音频通话。
其中,会话边界控制器可以称为边界网关。媒体服务器也可以称为AR媒体服务器,也可以称为AR媒体使能器(AR media enabler,AME)。两个或多个终端设备可以通过通信系统进行语音视频通话,并且在语音视频通话过程,由AR media enabler对语音视频通话过程中产生的媒体流进行媒体处理。媒体流中可以包括视频通话过程中产生的用户视频,还可以包括语音。用户视频,可以包括用户采用的终端设备的摄像头(前置摄像头或者后置摄像头)采集的视频,或者用户打开的文件,或者用户的头像等。比如AR media enabler具体较强的图像处理功能以及数据计算功能,能够采用AR技术对接收到的媒体流执行逻辑运算、画面渲染、虚拟景象合成等操作。AR媒体服务器可以是以容器服务的形式部署。AR媒体服务器还可以通过一个或者虚拟机来实现。AR媒体服务器也可以包括一个或者处理器,或者通过一个或者多个计算机来实现,比如超多核计算机、部署有图形处理器(graphicsprocessing unit,GPU)集群的计算机、大型的分布式计算机、硬件资源池化的集群计算机等等。SBC用于对终端设备的会话进行管理或控制。SBC包括信令面功能以及媒体面功能,例如可以用于接收来自其管理的终端设备的媒体流,并将从终端设备接收的媒体流发送给AR媒体服务器。AR媒体服务器用于对接收到的上行媒体流进行媒体处理得到下行视频流。上行媒体流包括来自终端设备的媒体流,在多用户视频通话场景中,上行媒体流可以包括来自多个终端设备的媒体流。下行视频流可以由AR媒体服务器通过SBC发送给对应的终端设备。终端设备是具有视频通话功能的设备,例如可以是配置有摄像头的终端设备。示例性地,终端设备可以是可穿戴设备(例如电子手表),终端设备还可以是手机、平板电脑等设备。本申请实施例对终端设备的具体形式不作特殊限制。
图1中以3个SBC为例,分别为SBC1、SBC2和SBC3。不同的SBC管理不同的终端上设备。作为一种示例,SBC1管理第一终端设备、SBC2管理第二终端设备、SBC3管理第三终端设备。不同终端设备也可以由同一个SBC来管理,比如SBC1还可以用于管理第五终端设备(图1中未示出)。SBC部署于边缘节点。三个SBC分别部署于不同的边缘节点上。AR媒体服务器可以部署于边缘节点上,也可以部署于中心节点上。图1以AR媒体服务器与SBC部署于边缘节点为例。图1中以3个AME为例,分别为AME 1、AME 2以及AME 3。边缘节点相比中心节点来说,更靠近终端设备的用户,为这些用户提供边缘计算服务、转发服务等等,降低响应时延和带宽成本,减轻中心节点的压力。可选地,中心节点和边缘节点可以部署于云上,在该情况下,中心节点可以称为中心云,边缘节点可以称为边缘云。为了区分,在图1中,SBC 1和AME 1部署于第一边缘云,SBC 2和AME 2部署于第二边缘云,SBC 3和AME 3部署于第三边缘云。第一边缘云为第一终端设备提供服务,第二边缘云为第二终端设备提供服务,第三边缘云为第三终端设备提供服务。示例性地,边缘节点也可以是移动边缘计算(Mobile EdgeComputing,MEC)节点。应理解的是,边缘云可以为多个终端设备提供服务,即多个终端设备归属于一个边缘云。图1仅以3个终端设备归属于不同的边缘云。作为一种示例,系统中还包括第四终端设备,第四终端设备归属于第一边缘云(图1中未示出)。
需要说明的是,AR媒体服务器和SBC的功能在边缘云中可以合并部署,也可以分开独立部署,本申请实施例对此不作限定。
示例性地,通话系统还可以包括应用服务器。应用服务器用于在终端设备的触发下建立视频通话,比如以上述第一终端设备和第二终端设备之间进行视频通话为例,应用服务器接收来自第一终端设备的信息(比如通话界面操作指示),应用服务器对接收到的信息发送给AR媒体服务器;从而AR媒体服务器根据来自第一终端设备的信息对上行媒体流进行处理。
作为一种示例,参见图1所示,应用服务器可以包括媒体插件服务功能,也可以简称为插件服务(Plugin service)或者称为插件服务器(Plugin server)。应用服务器还包括应用服务功能(APP service,AS)。媒体插件服务功能,用于与终端设备进行交互。在多用户视频通话产场景中,接收来自多个终端设备触发的信息或者数据,并对接收到的信息或数据进行相应处理得到不同的终端设备的处理后信息或数据,并将不同的终端设备的处理后信息或数据发送给应用服务功能。应用服务功能用于与AR媒体服务器交互,将媒体插件服务功能针对不同的终端设备的处理后数据或信息分别发送给不同的终端设备对应的AR媒体服务器。从而AR媒体服务器根据媒体插件服务功能发来的终端处理后的数据或信息对上行媒体流进行处理。
需要说明的是,媒体插件服务功能与AS在部署时,可以分别独立部署,还可以合并部署,比如媒体插件服务功能与AS通过一个设备来实现,或者通过一个或者多个虚拟机来实现。
在一些实施例中,中心云还可以部署IP多媒体系统(IP multimedia subsystem,IMS)核心网(core)。IMS core中可以包括呼叫会话控制功能(call session controlfunction,CSCF)和归属签约用户服务器(home subscriber server,HSS),IMS core还可以包括其它网元,本申请实施例中不再赘述。CSCF是IMS core的呼叫控制中心,是在IP传输平台上实现用户接入,鉴权、会话路由和业务触发等功能。CSCF可以包括服务-呼叫会话控制功能(serving-call session control function,S-CSCF)、代理-CSCF(Proxy CSCF,P-CSCF)、查询-CSCF(Interrogating-CSCF,I-CSCF)中的一个或多个。HSS用于记录用户的签约数据(比如用户信息、业务数据)。参见图1所示,SBC(包括SBC1、SBC2和SBC3)提供接入网与IMS核心网之间以及IMS核心网之间的边界控制功能,能够提供接入控制、服务质量(quality of service)控制以及防火墙穿越等功能。
在一些实施例中,在终端设备中可以部署端侧控件(可以称为端侧Plugin)。端侧控件用于与网络侧的媒体插件服务功能进行消息交互。端侧控件还可以与AR mediaenabler之间建立辅助传输通道。其中辅助传输通道用于终端设备向AR media enabler发送辅助媒体流或者用于AR media enabler向终端设备发送辅助媒体流。示例性地,辅助媒体流可以包括用户绘制图案的绘制点数据。辅助媒体流还可以包括点云数据、空间数据(也可以称为空间位姿数据)、用户视角视频或虚拟模型中的一项或者多项。点云数据是指以点的形式记录的数据,每个点可以包括空间位置信息,还可以包含颜色信息或者反射强度信息等。空间数据也可以称为几何数据,它用来表示物体的位置、形态、大小分布等各方面的信息,是对现世界中存在的具有定位意义的事物和现象的定量描述。虚拟模型,比如可以包括虚拟人像模型、虚拟物体模型以及素材图像(比如贴纸、卡通头像等)、或者虚拟动画模型等中的一项或多项。用户视角视频,比如可以是在用户通过终端设备的后置摄像头采集到的视频,或者通过终端设备的前置摄像头采集到的视频。
本申请实施例中终端设备可以根据传输的辅助媒体流的类型建立不同的辅助传输通道。比如在需要传输点云数据时,建立辅助传输通道1,在需要传输绘制数据时,建立辅助传输通道2。用于传输绘制数据的辅助传输通道2也可以称为Action通道,也可以采用其它的称呼,本申请实施例对此不作限定。终端设备也可以通过一个辅助传输通道传输不同类型的辅助媒体流。
可选地,通话系统中还可以包括选择转发单元(selective forwarding unit,SFU)。SFU用于不同的边缘云的媒体流的转发。选择转发单元可以为转发服务器。
作为一种示例,AR媒体服务器可以部署于中心云中,参见图2所示。该AR媒体服务器为不同的终端设备提供服务。
需要说明的是,不同的终端设备所对应的边缘节点可能相同,也可能不同。另外不同的终端设备对应的中心节点可能相同,也可能不同。不同的终端设备所对应的AR媒体服务器可能不同,也可能相同。不同的终端所对应的CSCF可能相同,也可能不同。
本申请实施例中涉及的终端设备,比如第一终端设备-第三终端设备均支持视频通话,比如支持VoLTE、新空口语音(voice over new radio,VoNR)或者安装有社交应用(application,APP)。终端设备可以是向用户提供拍摄视频以及数据连通性的设备。比如:移动电话(或称为“蜂窝”电话)、智能手机,可以是便携式、袖珍式、手持式、可穿戴设备(如智能手表等)、平板电脑、个人电脑(personal computer,PC)、车载电脑等。
图3示出了终端设备的一种可选的硬件结构示意图。
终端设备可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器等。
可以理解的是,本实施例示意的结构并不构成对终端设备的具体限定。在本申请另一些实施例中,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为终端设备充电,也可以用于终端设备与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他终端设备,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端设备的结构限定。在本申请另一些实施例中,终端设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过终端设备的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为终端设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
终端设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。终端设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在终端设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在终端设备上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,终端设备的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端设备可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(globalnavigation satellite system,GLONASS),北斗卫星导航系统(beidou navigationsatellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
终端设备通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,终端设备可以包括1个或N1个显示屏194,N1为大于1的正整数。
终端设备可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
触摸传感器,也可称为“触控面板”。触摸传感器可以设置于显示屏194,由触摸传感器与显示屏194组成触摸屏,也称“触控屏”。触摸传感器用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器也可以设置于终端设备的表面,与显示屏194所处的位置不同。终端设备可以通过触摸传感器、GPU、显示屏194以及应用处理器实现图案绘制功能。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如相机应用)等。存储数据区可存储终端设备使用过程中所创建的数据(比如摄像头采集的图像等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行终端设备的各种功能应用以及数据处理。
终端设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端设备可以接收按键输入,产生与终端设备的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和终端设备的接触和分离。终端设备可以支持1个或N3个SIM卡接口,N3为大于1的正整数。
下面结合具体实施例对本申请提供的方案进行详细说明。
以两个终端设备进行视频通话为例,两个终端设备分别为第一终端设备和第二终端设备。第一终端设备与第二终端设备视频通话过程中,第一终端设备的用户绘制图案,以展示要说明的内容。本申请实施例中在视频通话的界面上的基础上叠加(overlay)一层用于绘制图案的图层,可以将该图层称为绘制层。当然也可以采用其它的名字命名。绘制层界面可以是透明的,也可以是白板或者采用其它颜色,本申请实施例对此不作具体限定。参见图4所示,为本申请实施例提供的一种视频通话流程示意图。后续为了便于描述,将第一终端设备的用户称为用户1,将第二终端设备的用户称为用户2。
401,第一终端设备采集用户1绘制图案产生的绘制点获得绘制点数据。
作为一种示例,参见图5A所示为一种可能的第一终端设备与第二终端通话过程中,第一终端设备的通话界面示意图。通话界面上包括控件栏500。控件栏500中包括绘制控件501。通话界面上还可以包括其它控件,比如静音502、扬声器503和切换语音504等。通话界面的控件栏500中包括的控件仅作为一种示例。此外,绘制控件501在通话界面上的位置,本申请实施例不作限定。
响应于第一终端设备的用户1触控绘制控件501的操作,第一终端设备在当前显示界面上叠加绘制层后,如图5B所示。图5B以绘制层为白板为例,经过绘制层叠加后覆盖视频通话中摄像头采集的图像画面。图5B中仅以绘制层为非透明的白板为例,并不构成具体限定。进一步地,用户1可以在绘制层上绘制图案。第一终端设备响应于用户1在第一终端设备显示屏上绘制图案的操作,采集用户1绘制图案产生的绘制点。第一终端设备可以按照预设采集速率实时采集用户1的手部在显示屏上的触控点的坐标得到绘制点数据,绘制点数据也可以称为Action数据。具体的,第一终端设备连续的采集绘制点得到采集序列,根据采集序列的顺序得到绘制点数据。采集速率,比如是每秒采集30个绘制点。作为一种示例,参见图5C所示,为包括绘制图案的显示界面示意图。图5C中的圆环仅作为绘制点的示例,实际显示时,显示黑色的线条,不显示采集的绘制点。针对获得绘制图案的方式后续会详细描述,此处先不做描述。
需要说明的是,第一终端设备的用户1可以根据需求确定绘制的图案的颜色以及线条采用的样式,线条的粗细等等。通话界面上叠加绘制层后,还可以叠加绘制工具控件。作为一种示例,响应于用户1触控绘制控件501的操作,显示绘制工具控件,比如,参见图5D所示。绘制工具控件中包括可选择的绘制图案的颜色、线条采用的格式。用户1可以根据需求选择绘制图案的线条颜色和线条的样式。示例性地,绘制点数据中除了包括绘制点坐标以外,还可以包括用户1选择的线条颜色、颜色的样式等内容。作为一种示例,用户1未选择绘制图案的线条颜色、线条的样式等,第一终端设备生成的绘制点数据中可以包括默认的线条的颜色、线条的样式等内容。
402,第一终端设备对采集的绘制点数据进行封装得到属于第一数据流的数据包。本申请实施例中为了便于描述,将绘制点数据封装得到的数据包称为绘制点数据包,当然也可以采用其它的名字,本申请对此不作具体限定。后续描述以称为绘制点数据包为例。作为一种举例,一个绘制点数据包包括一个绘制点数据。第一终端设备根据采集的绘制点序列的顺序连续封装绘制点数据包,以得到第一数据流,第一数据流也可以称为绘制点数据流。绘制点数据流是由连续的多个绘制点数据包组成的。可以理解为实时采集绘制点数据并实时封装为绘制点数据包,每采集一个绘制点数据封装为一个绘制点数据包,并发送出去。
示例性地,绘制点数据包可以采用实时传输协议(real-time transportprotocol,RTP)或者实时流媒体传输控制协议(real-time transport control protocol,RTCP)。
403,第一终端设备采集第一终端设备与第二终端设备视频通话过程中产生的多媒体数据。多媒体数据可以是用户音频数据或用户视频数据。
本申请实施例中不限定步骤401和步骤403的先后时间顺序。比如,在采集多媒体数据的同时采集绘制点数据。
404,第一终端设备对采集的多媒体数据进行封装得到属于第二数据流的数据包。在多媒体数据包括音频数据时,第二数据流的数据包也可以称为音频数据包,在多媒体数据包括视频数据时,第二数据流的数据包也可以称为视频数据包。由多媒体数据组成的数据流可以称为多媒体数据流。第一终端设备在向第二终端设备发送多媒体数据和绘制点数据时,并不是合并到一块发送的,而是分开发送的,因此为了保证接收端显示的绘制的图案与听到的音频或者看到的视频同步,需要对绘制点数据和多媒体数据进行同步处理。另外,需要说明的是,视频数据与音频数据也是分开发送的。
图4中以多媒体数据为音频数据为例。具体的,第一终端设备按照采集的音频序列的顺序封装音频数据包,以得到音频数据流。
需要说明的是,第一终端设备与第二终端设备通话过程中,在产生音频数据的同时,可能产生视频数据,当然还可以是未产生音频数据但产生视频数据,或者是未产生视频数据但产生音频数据。视频数据与音频数据的同步,可以采用传统的同步方式,本申请中不作过多描述。为了保证接收端显示的绘制的图案、播放的音频以及显示的视频同步,一种方式是,对绘制点数据和音频数据进行同步处理,另一种方式是,对绘制点数据和视频数据进行同步处理。
下面以对绘制点数据和音频数据进行同步处理为例。以音频数据包和绘制点数据包均采用RTP为例。在同步处理时可以利用时间戳或序列号来控制绘制点数据与音频数据同步。
例如,以音频采样频率为8K为例,音频数据包的封装周期为0.02s,每0.02s封装一个音频数据包。为了便于区分,将绘制点数据包的时间戳增量称为第一时间戳增量,将音频数据包的时间戳增量称为第二时间戳增量。相邻的两个音频数据包的第二时间戳增量为160=0.02*8*1000。绘制点数据,也属于视频数据,按照视频数据时间戳增量的确定方式来确定绘制点数据的时间戳增量。以视频采样频率为90K为例,绘制点数据包的封装周期为(1/30)s,即每(1/30)s封装一个绘制点数据包,每秒钟封装30个第一数据包。相邻的两个绘制点数据包的第一时间戳增量为3000=(1/30)*90*1000。本申请实施例中将采集绘制点数据的周期称为采集周期。在采集绘制点数据,采集周期与封装周期相同,可以是(1/30)s采集一个绘制点,即每秒钟采集30个绘制点。
根据音频数据包的第二时间戳增量以及绘制点数据包的第一时间戳增量来发送音频数据包和绘制点数据包。例如,按照时间戳同步来确定,时间戳相同或者相差在设定范围内的绘制点数据包与音频数据包之间同步,参见图6所示,每发送19个音频数据包发送一个绘制点数据包。图6中n、n+1、n+2、……、n+19、……、n+38等表示数据包的序列号。T、T+160、T+320、T+3040、T+3000、T+6000、T+6080等表示数据包的时间戳。结合图6,序列号n的音频数据包与序列号n的绘制点数据包同步对应,序列号n+19的音频数据包与序列号n+1的绘制点数据包同步对应,即每19个音频数据包对应1个绘制点数据包,即可以确定绘制点数据包与音频数据包同步时的音频数据包的序列号增量为19。从序列号角度来说,同步的音频数据包与绘制点数据包的序列号可以满足如下公式1所示的关系。
Nx=K*(N-N1)+N2 公式1
其中,Nx表示音频数据包的序列号,N表示绘制点数据包的序列号,K表示序列号增量,N1和N2表示首个同步的绘制点数据包、音频数据包的序列号。图6中,同步的绘制点数据包的序列号和音频数据包的序列号均为n,即N1=N2=n。
从时间戳角度来说,时间戳T+3040与时间戳T+3000的绘制点数据包同步对应,时间戳T+6080的音频数据包与时间戳T+600的绘制点数据包同步对应,即可以确定音频数据包的同步时间戳增量为3040,绘制点数据包的同步时间戳增量为3000。为了便于区分,将音频数据包的同步时间戳增量称为第二同步时间戳增量,将绘制点数据包的同步时间戳增量称为第一同步时间戳增量。
基于此,为了使得接收端能够同步绘制点数据和音频数据,第一终端设备可以将用于同步绘制点数据和音频数据的信息携带在绘制点数据包和音频数据包中发送给负责同步绘制点数据和音频数据的设备。用于同步绘制点数据和音频数据的信息,可以包括第一时间戳增量和第二时间戳增量,或者可以包括用于确定第一时间戳增量的视频采样频率和绘制点数据包的封装周期,以及用于确定第二时间戳增量的音频采样频率和音频数据包的封装周期,又或者可以包括序列号增量,再或者可以包括第一同步时间戳增量和第二同步时间戳增量。
本申请实施例中,负责同步绘制点数据和音频数据的设备可以是AME,比如,第一终端设备所属的AME。负责同步绘制点数据和音频数据的设备还可以是对端的终端设备,本实施例中为第二终端设备。图4中,以负责同步绘制点数据和音频数据的设备是对端的终端设备为例。后续结合图9以负责同步绘制点数据和音频数据的设备为AME对本申请实施例提供的方案进行详细说明,此处不作过多描述。
一些实施例中,负责同步绘制点数据和音频数据的设备为第二终端设备时,第一终端设备将第一时间戳增量和第二时间戳增量发送给第二终端设备时,第一终端设备可以将第一时间戳增量携带在绘制点数据包中,将第二时间戳增量携带在音频数据包中发送给负责同步绘制点数据和音频数据的设备。示例性地,为了减少第一时间戳与第二时间戳占用的发送资源,第一终端设备可以每间隔发送第一数量的绘制点数据包发送一次第一时间戳增量,每间隔发送第二数量的音频数据包发送一次第二时间戳增量。第一终端设备也可以仅在发送的前K1个绘制点数据包中携带第一时间戳增量,仅在发送的前K2个音频数据包中携带第二时间戳增量。
另一些实施例中,负责同步绘制点数据和音频数据的设备为第二终端设备时,第一终端设备通过如下方式,将用于确定第一时间戳增量的视频采样频率和绘制点数据包的封装周期,以及用于确定第二时间戳增量的音频采样频率和音频数据包的封装周期,发送第二终端设备:
第一终端设备可以将视频采样频率和绘制点数据包的封装周期携带在绘制点数据包中,将音频采样频率和音频数据包的封装周期携带在音频数据包中发送给负责同步绘制点数据和音频数据的设备。示例性地,为了减少占用的发送资源,第一终端设备可以每间隔发送第一数量的绘制点数据包发送一次视频采样频率和绘制点数据包的封装周期,每间隔发送第二数量的绘制点数据包发送一次音频采样频率和音频数据包的封装周期。第一终端设备也可以仅在发送的前K1个绘制点数据包中携带视频采样频率和绘制点数据包的封装周期,仅在发送的前K2个音频数据包中携带音频采样频率和音频数据包的封装周期。
又一些实施例中,负责同步绘制点数据和音频数据的设备为第二终端设备时,第一终端设备将序列号增量发送给第二终端设备时,第一终端设备可以将序列号增量携带在音频数据包中发送给负责同步绘制点数据和音频数据的设备。示例性地,为了减少序列号增量占用的发送资源,第一终端设备可以每间隔发送第二数量的音频数据包发送一次序列号增量。第一终端设备也可以仅在发送的前K2个音频数据包中携带序列号增量。
再一些实施例中,负责同步绘制点数据和音频数据的设备为第二终端设备时,第一终端设备将第一同步时间戳增量和第二同步时间戳增量发送给第二终端设备时,第一终端设备可以将第一同步时间戳增量携带在绘制点数据包中,将第二同步时间戳增量携带在音频数据包中发送给负责同步绘制点数据和音频数据的设备。示例性地,为了减少第一同步时间戳增量与第二同步时间戳增量占用的发送资源,第一终端设备可以每间隔发送第一数量的绘制点数据包发送一次第一同步时间戳增量,每间隔发送第二数量的音频数据包发送一次第二同步时间戳增量。第一终端设备也可以仅在发送的前K1个绘制点数据包中携带第一同步时间戳增量,仅在发送的前K2个音频数据包中携带第二同步时间戳增量。
405,第一终端设备根据绘制点数据渲染用户绘制图案,并显示用户绘制图案,比如参见图5C所示;所述第一终端设备并播放用户音频数据。
406,第一终端设备将音频数据流和绘制点数据流通过SBC1发送给AME1。
407,AME1通过SFU将音频数据流和绘制点数据流发送给AME2。
408,AME2通过SBC2将音频数据流和绘制点数据流发送给第二终端设备。
409,第二终端设备接收来自AME2的音频数据流和绘制点数据流,第二终端设备根据音频数据流包括的音频数据包的时间参数与绘制点数据流包括的绘制点数据包的时间参数进行同步处理。时间参数可以包括时间戳和/或序列号。
在一种可能的实施方式中,在第一终端设备与第二终端设备建立视频通话后,可以将产生的第一个绘制点的时间点作为音频与绘制点数据包的时间戳增量的起始点,直到绘制完成。
一些实施例中,绘制点数据包携带第一时间戳增量,音频数据包携带第二时间戳增量。
第二终端设备根据音频数据流包括的音频数据包的时间戳与绘制点数据流包括的绘制点数据包的时间戳、第一时间戳增量以及第二时间戳增量进行同步处理。例如,第二终端设备可以根据第一时间戳增量和第二时间戳增量来确定音频数据包的第二同步时间戳增量与绘制点数据包的第一同步时间戳增量,然后根据该第一同步时间戳增量和第二同步时间戳增量对音频数据流包括的音频数据包与绘制点数据流包括的绘制点数据包进行同步。比如,第一时间戳增量为160,第二时间戳增量为3000,可以第一同步时间戳增量为3000,第二同步时间戳增量为
Figure BDA0002701896560000161
Round是指四舍五入取整。也就是,与绘制点数据包同步的任意两个音频数据包的时间戳间隔3040,与音频数据包同步的任意两个绘制点数据包的时间戳间隔为3000。例如,参见7所示,首个音频数据包和首个绘制点数据包同步,比如首个音频数据包和首个绘制点数据包的时间戳均为T,则第二个同步的音频数据包和绘制点数据包是时间戳为T+3040的音频数据包和T+3000的绘制点数据包,第三个同步的音频数据包和绘制点数据包是时间戳为T+6080的音频数据包和T+6000的绘制点数据包,以此类推。
又一些实施例中,绘制点数据包携带第一同步时间戳增量,音频数据包携带第二同步时间戳增量,进一步地,第二终端设备根据该第一同步时间戳增量和第二同步时间戳增量对音频数据流包括的音频数据包与绘制点数据流包括的绘制点数据包进行同步。
再一些实施例中,音频数据包携带序列号增量。第二终端设备根据音频数据流包括的音频数据包的序列号与绘制点数据流包括的绘制点数据包的序列号以及序列号增量进行同步处理。每间隔序列号增量对应数量的音频数据包与序列号增1的绘制点数据包同步。比如,第一音频数据包与第一绘制点数据包同步,第二音频数据包与第二绘制点数据包同步,第一音频数据包与第二音频数据包的序列号间隔为所述序列号增量,第一绘制点数据包与第二绘制点数据包的序列号间隔为1。比如,序列号增量为K,则同步的音频数据包的序列号与绘制点数据包的序列号之间的对应关系为(K*(N-N1)+N2,N)。比如绘制点数据包的序列号为N,则与该绘制点数据包同步的音频数据包的序列号为K*(N-N1)+N2。其中,N1,N2为首个同步的绘制点数据包、音频数据包的序列号。作为一种举例,首个绘制点数据包与同步的音频数据包的序列号可以相同,即N1=N2。作为一种举例,参见图7所示首个绘制点数据包与首个音频数据包的序列号均为n,序列号增量为19,则序列号n的音频数据包与序列号n的绘制点数据包同步对应,序列号n+19的音频数据包与序列号n+1的绘制点数据包同步对应,依次类推,即每19个音频数据包对应1个绘制点数据包。
再一些实施例中,音频数据包携带音频采样频率和音频数据包的封装周期,以及绘制点数据包携带视频采样频率和绘制点数据包的封装周期。一种示例中,第二终端设备根据音频采样频率和音频数据包的封装周期确定音频数据包的第二时间戳增量,以及根据视频采样频率和绘制点数据包的封装周期确定绘制点数据包的第一时间戳增量,根据第一时间戳增量和第二时间戳增量对音频数据包和绘制点数据包进行同步处理。另一种示例中,第二终端设备根据音频采样频率和音频数据包的封装周期确定音频数据包的第二时间戳增量,以及根据视频采样频率和绘制点数据包的封装周期确定绘制点数据包的第一时间戳增量,进一步地,根据第一时间戳增量和第二时间戳增量确定音频数据包的序列号增量,进而根据序列号增量对音频数据包和绘制点数据包进行同步处理。
410,第二终端设备将绘制点数据包包括的绘制点数据渲染为用户绘制图案,并根据音频数据包与绘制点数据包的同步处理结果播放音频数据包包括的音频数据以及显示所述用户绘制图案。
在一种可能的实施方式中,第一终端设备的用户1在白板上绘制图案,在该场景中,第一终端设备可以不向其它终端设备发送白板对应的视频图像。从而第二终端设备仅接收到绘制点数据包和音频数据包,从而第二终端设备执行401。
在另一种可能的实施方式中,第一终端设备可以在视频图像上标注,比如远程指导、广告推销、远程教育等场景中。在该场景下,第一终端设备在采集绘制点数据的基础上,在步骤403中还采集用户视频数据和用户音频数据。第一终端设备向其它终端设备发送视频数据流、音频数据流和绘制点数据流。进一步地,第二终端设备接收到音频数据流、视频数据流和绘制点数据流。第二终端设备对音频数据流、视频数据流和绘制点数据流进行同步得到同步处理结果。需要说明的是,在执行同步时,可以根据本申请实施例提供的同步方式对音频数据流和绘制点数据流进行同步,对音频数据流和视频数据流的同步,按照现有的同步方式执行。也可以根据本申请实施例提供的同步方式对视频数据流和绘制点数据流进行同步,对视频数据流和音频数据流的同步按照现有的同步方式执行。第二终端设备获得同步处理结果后,根据同步处理结果渲染视频数据流的用户视频数据得到用户视频图像以及渲染绘制点数据流的绘制点数据得到用户绘制图案,并将渲染的用户视频图像和用户绘制图案进行叠加,或者描述为用户绘制图案叠加在用户视频图像之上。比如,视频数据流中的视频数据包1与绘制点数据流中的绘制点数据包1同步,则渲染视频数据包1包括的用户视频数据得到的用户视频图像与渲染绘制点数据包1包括的绘制点数据得到用户绘制图案进行叠加得到待显示图像。然后根据同步处理结果显示待显示图像和播放音频数据流包括的音频数据。
在一种可能的实施方式中,第一终端设备在向第二终端设备发送音频数据流和绘制点数据流的过程中,可能网络传输会出现抖动进而导致绘制点数据流中的某个或者某些数据包丢失。进一步地,绘制点数据包的丢失会导致根据接收到的绘制数据包渲染得到的用户绘制图案出现偏差。例如参见图8所示,第一终端设备显示的用户绘制图案与第二终端设备显示的用户绘制图案明显不同。图8中,黑色圆点表示丢失的绘制点数据包对应的绘制点。黑色圆环表示第一终端设备实际采集的绘制点数据对应的绘制点。为了防止由于绘制点数据包出现丢失导致的用户绘制图案出现明显偏差,本申请实施例中,通过数据预测方式,预测丢失的绘制点数据,进而在绘制图案时,利用预测的绘制点数据替补丢失的绘制点数据包。
一种示例中,第二终端设备在接收到属于绘制点数据流的绘制点数据包时,将绘制点数据包存储到接收缓存中。进一步地,第二终端设备在将绘制点数据包渲染为用户绘制图案时,从接收缓存中获取绘制点数据流的第一绘制点数据包,并对所述第一绘制点数据包中的绘制点数据执行渲染操作,按照第二终端设备渲染用户绘制图案的绘制点的速率从接收缓存中未获取属于绘制点数据流的第二绘制点数据包时,按照已经执行渲染的前N个绘制点数据包预测所述第二绘制点数据包。该第二绘制点数据包是绘制点数据流中与第一绘制点数据包相邻的下一个绘制点数据包,或者可以描述为该第二绘制点数据包的序列号与第一绘制点数据包的序列号相邻,并且第二绘制点数据包的序列号大于第一绘制点数据包的序列号,再或者可以描述为该第二绘制点数据包的时间戳大于第一绘制点数据包的时间戳,并且第二绘制点数据包的时间戳与第一绘制点数据包的时间戳间隔第一时间戳增量。再进一步地,第二终端设备根据预测的第二绘制点数据包渲染第二绘制点数据。
应理解的是,本申请实施例渲染绘制点数据时,是生成待显示的图案数据,待显示的图案数据用于描述两个绘制点之间的连线。比如,以渲染上述第二绘制点数据为例,第二终端设备渲染第二绘制点数据,以生成用于表征第一绘制点数据描述的第一绘制点与第二绘制点数据描述的第二绘制点之间的连线的图案数据。然后显示该生成的图案数据。
具体的,可以根据绘制点数据中包括的线条颜色、线条的样式、线条粗细等内容来渲染得到用户绘制图案。
另一种示例中,第二终端设备根据预测的第二绘制点数据包渲染第二绘制点数据后,当接收到来自第一终端设备的第二绘制点数据包时,可以将渲染接收到的第二绘制点数据包包括的第二绘制点数据生成的第二图案数据替换渲染预测的第二绘制点数据生成的第一图案数据。进一步,显示该第二图案数据。
上述图4对应的实施例是从接收端的终端设备来负责绘制点数据流和音频数据流的同步处理以及渲染操作的角度介绍的。本申请实施例中,也可以由部署于云侧的AME来负责绘制点数据流和音频数据流的同步处理以及绘制点数据的渲染操作。下面结合图9对由AME执行绘制点数据流和音频数据流的同步处理以及绘制点数据的渲染的流程进行详细说明。本实施例以采用IMS的架构为例,结合图1所示的基于IMS架构的通信系统为例。
参见图9所示,为本申请实施例提供的一种视频通话方法流程示意图。图9中还以两个终端设备进行视频通话为例,两个终端设备分别为第一终端设备和第二终端设备。第一终端设备与第二终端设备视频通话过程中,第一终端设备的用户绘制图案,以展示要说明的内容。
901-904,参见401-404,此处不再赘述。
905,第一终端设备将音频数据流和绘制点数据流通过SBC1发送给AME1。
图9中,以负责同步绘制点数据和音频数据的设备为AME为例。负责同步绘制点数据和音频数据的AME可以是发送端的终端设备所属的AME,即AME1。由AME1渲染绘制点数据得到待显示的图案数据,并将待显示的图案数据与渲染音频数据得到的待播放数据合并后发送给AME2。
为了使得AME1能够同步绘制点数据和音频数据,第一种可能的方式是:第一终端设备可以将用于同步绘制点数据和音频数据的信息携带在绘制点数据包和音频数据包中发送给AME1。第二种可能的方式是,第一终端设备可以将用于同步绘制点数据和音频数据的信息发送给应用服务器,由应用服务器将用于同步绘制点数据和音频数据的信息发送给AME1。
用于同步绘制点数据和音频数据的信息,可以包括第一时间戳增量和第二时间戳增量,或者可以包括用于确定第一时间戳增量的视频采样频率和绘制点数据包的封装周期,以及用于确定第二时间戳增量的音频采样频率和音频数据包的封装周期,又或者可以包括序列号增量,再或者可以包括第一同步时间戳增量和第二同步时间戳增量。
在采用第一种可能的方式时,一些实施例中,第一终端设备可以将第一时间戳增量携带在绘制点数据包中,将第二时间戳增量携带在音频数据包中发送给AME1。示例性地,为了减少第一时间戳与第二时间戳占用的发送资源,第一终端设备可以每间隔发送第一数量的绘制点数据包发送一次第一时间戳增量,每间隔发送第二数量的绘制点数据包发送一次第二时间戳增量。第一终端设备也可以仅在发送的前K1个绘制点数据包中携带第一时间戳增量,仅在发送的前K2个音频数据包中携带第二时间戳增量。
另一些实施例中,第一终端设备可以将视频采样频率和绘制点数据包的封装周期携带在绘制点数据包中,将音频采样频率和音频数据包的封装周期携带在音频数据包中发送给AME1。
又一些实施例中,第一终端设备可以将序列号增量携带在音频数据包中发送给AME1。
再一些实施例中,第一终端设备可以将第一同步时间戳增量携带在绘制点数据包中,将第二同步时间戳增量携带在音频数据包中发送给AME1。
在采用第一种可能的方式时,用于同步绘制点数据和音频数据的信息在绘制点数据包和音频数据包中携带方式的具体内容可以参见图4对应的实施例中的相关描述,此处不再赘述。
在采用第二可能的方式时,一些实施例中,第一终端设备可以将第一时间戳增量和第二时间戳增量发送给应用服务器,进而应用服务器将第一时间戳增量和第二时间戳增量发送给AME1。比如,第一终端设备可以在与第二终端设备建立通话连接过程中,将第一时间戳增量和第二时间戳增量发送给应用服务器,进而应用服务器将第一时间戳增量和第二时间戳增量发送给AME1。再比如,第一终端设备也可以完成建立与第二终端设备的通话连接后,将第一时间戳增量和第二时间戳增量发送给应用服务器,进而应用服务器将第一时间戳增量和第二时间戳增量发送给AME1。
另一些实施例中,第一终端设备可以将视频采样频率和绘制点数据包的封装周期、音频采样频率和音频数据包的封装周期发送给应用服务器,进而应用服务器将视频采样频率和绘制点数据包的封装周期、音频采样频率和音频数据包的封装周期发送给AME1。
又一些实施例中,第一终端设备可以将序列号增量发送给应用服务器,进而应用服务器发送给AME1。
再一些实施例中,第一终端设备可以将第一同步时间戳增量和第二同步时间戳增量发送给应用服务器,进而应用服务器将第一同步时间戳增量和第二同步时间戳增量发送给AME1。
906,AME1根据音频数据流包括的音频数据包的时间参数与绘制点数据流包括的绘制点数据包的时间参数进行同步处理。时间参数可以包括时间戳和/或序列号。
一些实施例中,AME1根据音频数据流包括的音频数据包的时间戳与绘制点数据流包括的绘制点数据包的时间戳、第一时间戳增量以及第二时间戳增量进行同步处理。第一时间戳增量和第二时间戳增量的获取方式可以参见905的相关描述,此处不再赘述。比如,第一时间戳增量携带在绘制点数据包中,第二时间戳增量携带在音频数据包中。再比如,AME1接收到由第一终端设备通过应用服务器发来的第一时间戳增量和第二时间戳增量。
例如,AME1可以根据第一时间戳增量和第二时间戳增量来确定音频数据包的第二同步时间戳增量与绘制点数据包的第一同步时间戳增量,然后根据该第一同步时间戳增量和第二同步时间戳增量对音频数据流包括的音频数据包与绘制点数据流包括的绘制点数据包进行同步。AME1根据该第一同步时间戳增量和第二同步时间戳增量对音频数据流包括的音频数据包与绘制点数据流包括的绘制点数据包进行同步的方式,与图4对应的实施例中第二终端设备根据第一同步时间戳增量和第二同步时间戳增量执行同步的方式类似,参见图4对应的实施例的相关描述,此处不再赘述。
另一些实施例中,AME1获取到第一同步时间戳增量和第二同步时间戳增量,AME1根据该第一同步时间戳增量和第二同步时间戳增量对音频数据流包括的音频数据包与绘制点数据流包括的绘制点数据包进行同步。第一同步时间戳增量和第二同步时间戳增量的获取方式可以参见905的相关描述,此处不再赘述。
又一些实施例中,AME1获取序列号增量,然后根据音频数据流包括的音频数据包的序列号与绘制点数据流包括的绘制点数据包的序列号以及序列号增量进行同步处理。序列号增量的获取方式可以参见905的相关描述,此处不再赘述。AME1根据音频数据流包括的音频数据包的序列号与绘制点数据流包括的绘制点数据包的序列号以及序列号增量进行同步处理的方式,与图4对应的实施例中第二终端设备根据序列号执行同步的方式类似,参见图4对应的实施例的相关描述,此处不再赘述。
再一些实施例中,AME1获取音频采样频率和音频数据包的封装周期,以及绘制点数据包携带视频采样频率和绘制点数据包的封装周期。一种示例中,AME1根据音频采样频率和音频数据包的封装周期确定音频数据包的第二时间戳增量,以及根据视频采样频率和绘制点数据包的封装周期确定绘制点数据包的第一时间戳增量,根据第一时间戳增量和第二时间戳增量对音频数据包和绘制点数据包进行同步处理。另一种示例中,AME1根据音频采样频率和音频数据包的封装周期确定音频数据包的第二时间戳增量,以及根据视频采样频率和绘制点数据包的封装周期确定绘制点数据包的第一时间戳增量,进一步地,根据第一时间戳增量和第二时间戳增量确定音频数据包的序列号增量,进而根据序列号增量对音频数据包和绘制点数据包进行同步处理。
907,AME1根据同步处理结果渲染绘制点数据包包括的绘制点数据得到待显示的用户绘制图案。
可选地,待显示的用户绘制图案可以封装在RTP数据包或者RTCP数据包中发送给第二终端设备。
在一种可能的实施方式中,第一终端设备的用户1在白板上绘制用户图案时,在该场景中,第一终端设备可以不向其它终端设备发送白板对应的视频图像。从而AME1仅接收到绘制点数据包和音频数据包,AME1执行906。AME1在执行渲染时,将绘制点数据包包括的绘制点的像素值替代白板上的相应位置的像素值。或者可以描述为,将当前接收到的绘制点数据包包括的绘制点的像素值替代上一次渲染得到的图像的相应位置的像素值。封装待显示的用户绘制图案的数据包的时间戳或序列号可以采用绘制点数据包的时间戳或者序列号。AME1也可以根据同步的音频数据包和绘制点数据包重新为封装待显示的用户绘制图案的数据包和音频数据包确定时间戳或者序列号,本申请对此不作具体限定。
在另一种可能的实施方式中,第一终端设备可以在视频图像上标注,比如远程指导、广告推销、远程教育等场景中。在该场景下,第一终端设备在采集绘制点数据的基础上,在步骤403中还采集用户视频数据和用户音频数据。第一终端设备向其它终端设备发送视频数据流、音频数据流和绘制点数据流。进一步地,AME1接收到音频数据流、视频数据流和绘制点数据流。AME1对音频数据流、视频数据流和绘制点数据流进行同步得到同步处理结果。需要说明的是,在执行同步时,可以根据本申请实施例提供的同步方式对音频数据流和绘制点数据流进行同步,对音频数据流和视频数据流的同步,按照现有的同步方式执行。也可以根据本申请实施例提供的同步方式对视频数据流和绘制点数据流进行同步,对视频数据流和音频数据流的同步按照现有的同步方式执行。AME1获得同步处理结果后,根据同步处理结果渲染视频数据流的用户视频数据得到用户视频图像以及渲染绘制点数据流的绘制点数据得到用户绘制图案,并将渲染的用户视频图像和用户绘制图案进行叠加,或者描述为用户绘制图案叠加在用户视频图像之上,具体的是将绘制点数据包包括的绘制点的像素值替代用户视频图像的相应位置的像素值。比如,视频数据流中的视频数据包1与绘制点数据流中的绘制点数据包1同步,则渲染视频数据包1包括的用户视频数据得到的用户视频图像与渲染绘制点数据包1包括的绘制点数据得到用户绘制图案进行叠加得到叠加视频数据。作为一种举例,AME1可以将叠加视频数据封装为数据包得到叠加视频流,叠加视频数据封装得到的数据包可以采用RTP或者RTCP格式。叠加的数据包可以采视频数据包1的时间戳或者序列号,也可以采用绘制点数据包1的时间戳或者序列号。AME1还可以根据同步的音频数据包和叠加数据包重新为叠加数据包和音频数据包确定时间戳或者序列号,本申请对此不作具体限定。
908,AME1向第一终端设备发送所述待显示的用户绘制图案,以及向AME2发送用户绘制图案和音频数据包。
909,AME2通过SFU和AME2向第二终端设备发送用户绘制图案和音频数据包。
910,第一终端设备显示所述待显示的用户绘制图案。
911,第二终端设备显示所述待显示的用户绘制图案和播放所述音频数据包包括的用户音频数据。作为一种示例,第二终端设备在显示所述待显示的用户绘制图案和播放所述音频数据包包括的音频数据之前,可以根据封装用户绘制图案的数据包和音频数据包的时间参数进行同步处理,同步处理方式与AME1采用的同步处理方式类似,本申请不作具体限定。
在一种可能的实施方式中,第一终端设备在向AME1发送音频数据流和绘制点数据流的过程中,可能网络传输会出现抖动进而导致绘制点数据流中的某个或者某些数据包丢失。进一步地,绘制点数据包的丢失会导致根据接收到的绘制数据包渲染得到的用户绘制图案出现偏差。例如参见图8所示。为了防止由于绘制点数据包出现丢失导致的用户绘制图案出现明显偏差,本申请实施例中,通过数据预测方式,预测丢失的绘制点数据,进而在绘制图案时,利用预测的绘制点数据替补丢失的绘制点数据包。
另外,第一终端设备在向AME1发送音频数据流和绘制点数据流的过程中,可能网络传输会出现波动进而导致绘制点数据流的绘制点数据包出现脉冲式到达。进一步地,绘制点数据包的延迟到达会导致接收缓存区内的绘制点数据包无法支撑渲染的速率。AME1渲染绘制点数据的速率与第一终端设备采集绘制点的速率相同。本申请实施例中,通过数据预测方式,预测延迟到达的绘制点数据,保证渲染绘制点数据的速率与采集绘制点的速率相同。进而在绘制图案时,先渲染预测的绘制点数据,待后续接收到延迟到达的绘制点数据时,可以对出现偏差的预测的绘制点数据进行矫正处理。
一种示例中,AME1在接收到属于绘制点数据流的绘制点数据包时,将绘制点数据包存储到接收缓存中。进一步地,AME1在将绘制点数据包渲染为用户绘制图案时,从接收缓存中获取绘制点数据流的第一绘制点数据包,并对所述第一绘制点数据包中的绘制点数据执行渲染操作,按照AME1渲染用户绘制图案的绘制点的速率从接收缓存中未获取到属于绘制点数据流的第二绘制点数据包时,按照已经执行渲染的前N个绘制点数据包预测所述第二绘制点数据包包括的第二绘制点数据。该第二绘制点数据包是绘制点数据流中与第一绘制点数据包相邻的下一个绘制点数据包,或者可以描述为该第二绘制点数据包的序列号与第一绘制点数据包的序列号相邻,并且第二绘制点数据包的序列号大于第一绘制点数据包的序列号,再或者可以描述为该第二绘制点数据包的时间戳大于第一绘制点数据包的时间戳,并且第二绘制点数据包的时间戳与第一绘制点数据包的时间戳间隔第一时间戳增量。再进一步地,AME1根据预测的第二绘制点数据包渲染第二绘制点数据。
另一种示例中,AME1渲染预测的第二绘制点数据后,当接收到来自第一终端设备的第二绘制点数据包时,可以将渲染接收到的第二绘制点数据包包括的第二绘制点数据生成的第二图案数据替换渲染预测的第二绘制点数据生成的第一图案数据。可选地,当接收到来自第二终端设备的第二绘制点数据包的时刻距离渲染预测的第二绘制点数据包的时刻所经历的时长达到时长阈值时,可不再将渲染接收到的第二绘制点数据包包括的第二绘制点数据生成的第二图案数据替换渲染预测的第二绘制点数据生成的第一图案数据,丢弃该接收到的第二绘制点数据包。当接收到的第二绘制点数据包包括的第二绘制点数据与预测的第二绘制点数据相同,或者接收到的第二绘制点数据包包括的第二绘制点数据指示的绘制点与预测的第二绘制点数据指示的绘制点的距离小于距离阈值,丢弃该接收到的第二绘制点数据包。
在另一种可能的实施方式中,由于网络传输出现波动导致瞬时到达多个属于绘制点数据流的绘制点数据包,在该情况下,AME1在执行渲染绘制点数据包中的绘制点数据时,依然按照渲染用户绘制图案的绘制点的速率来渲染接收到的绘制点数据。比如,瞬时接收到的多个绘制点数据包中既包括已经执行预测的绘制点数据包,还包括按照接收顺序新到达的绘制点数据包,AME1可以丢弃已经执行预测的绘制点数据包,然后按照渲染用户绘制图案的绘制点的速率来渲染先新接收到的绘制点数据包。
在又一种可能的实施方式中,在第一终端设备将绘制点数据发送给AME1,然后由AME1执行渲染操作,再将渲染绘制点数据得到用户绘制图案发送给第一终端设备,进而第一终端设备在显示用户绘制图案。由于上下行的时间延迟,导致显示的用户图案与用户实际绘制的用户图案出现偏差,比如,显示的用户绘制线条的线头与用户的实际触点之间出现断层,例如参见图10所示,影响绘制效果。为了提高绘制方的体验效果,本申请实施例中采用端云联动绘制的方式,可以通过绘制方的终端设备采集得到的绘制点数据进行渲染对延迟呈现的内容进行填充。
一种示例中,第一终端设备采集音频数据以及绘制点数据后,第一终端设备根据绘制点数据执行渲染得到用户绘制图案,并显示渲染得到的用户绘制图案,进而接收到来自AME1的用户绘制图案后,显示来自AME1的用户绘制图案。第一终端设备在根据绘制点数据执行渲染操作时,渲染用户图案采用的线条颜色和/或样式可以采用默认的线条颜色和/或样式,基于此,用户1根据显示的用户图案能够确定各个视频通话方所显示的用户图案,进而,用户1可以调整描述用户图案内容的速度,使得各个视频通话方能够准确的获知用户1所描述的内容,提高用户体验。
另一种示例中,第一终端设备采集音频数据以及绘制点数据后,第一终端设备根据绘制点数据执行渲染得到用户绘制图案,并显示渲染得到的用户绘制图案。进而再接收到来自AME1的用户绘制图案后,可以丢弃AME1的用户绘制图案。
又一种示例中,第一终端设备采集音频数据以及绘制点数据后,第一终端设备根据绘制点数据执行渲染得到用户绘制图案,并显示渲染得到的用户绘制图案。相应的,AME1在向AME2同步发送所述待显示的用户绘制图案和待播放的数据的情况下,可以不再将待显示的用户绘制图案发送给第一终端设备。能够防止由于上下行延时导致的显示的用户绘制线条的线头与用户的实际触点之间出现断层。
基于与方法实施例同一发明构思,本申请实施例提供一种通信装置1100,该装置1100的结构如图11所示,包括通信单元1101以及处理单元1102。示例性地,通信单元1101既可以用于发送信号,也可以用于接收信号。可选地,通信单元1101中可以包括发送单元和接收单元,发送单元用于发送信号,接收单元用于接收信号。
一种可能的应用场景中,通信装置1100应用于媒体服务器,具体用于实现上述方法实施例中媒体服务器(比如为AME1-AME2中任一个)所执行的方法。
通信单元1101,用于接收来自第一终端设备的第一数据流,所述第一数据流中的数据包包括第一终端设备采集的用户绘制图案的绘制点数据。
通信单元1101,还用于接收来自第一终端设备的第二数据流,所述第二数据流中的数据包包括所述第一终端设备的用户音频数据和/或用户视频数据;
处理单元1102,用于根据所述第一数据流包括的数据包的时间参数和所述第二数据流包括的数据包的时间参数,对所述第一数据流和所述第二数据流进行同步得到同步处理结果;
当所述第二数据流中的数据包包括用户音频数据时,处理单元1102,还用于根据同步处理结果渲染第一数据流的数据包中的绘制点数据得到用户绘制图案,并向所述第二终端设备发送所述用户绘制图案以及所述第二数据流;或者,
当所述第二数据流中的数据包包括用户视频数据时,处理单元1102,还用于根据同步处理结果渲染第一数据流的数据包中的绘制点数据得到用户绘制图案,以及渲染第二数据流的数据包中的用户视频数据得到用户视频图像,将所述用户绘制图案叠加在用户视频图像上得到第三视频流,并向所述第二终端设备发送所述第三视频流。
在一种可能的实施方式中,所述媒体服务器渲染所述用户绘制图案的绘制点的速率与第一终端设备采集用户绘制图案的绘制点的速率相同。
在一种可能的实施方式中,当所述第一数据流的采样频率与所述第二数据流的采样频率不同时,处理单元1102,具体用于:
在所述时间参数包括时间戳时,根据所述第一数据流的数据包的时间戳和第一时间戳增量、所述第二数据流的数据包的时间戳以及第二时间戳增量对所述第一数据流的数据包和所述第二数据流的数据包进行同步,其中,所述第一时间戳增量为属于第一数据流的相邻两个数据包的时间戳的差值,所述第二时间戳增量为属于第二数据流的相邻两个数据包的时间戳的差值;或者,
在所述时间参数包括序列号时,根据第一数据流的数据包的序列号、所述第二数据流的数据包的序列号以及序列号增量对所述第一数据流的数据包和所述第二数据流的数据包进行同步,其中,所述序列号增量是根据所述第一数据流的采样频率和所述第二数据流的采样频率确定的。
在一种可能的实施方式中,所述处理单元1102,还用于将接收到的属于第一数据流的数据包存储在媒体服务器的接收缓存中。所述处理单元1102在执行渲染第一数据流的数据包中的绘制点数据得到用户绘制图案时,具体用于从接收缓存获取属于第一数据流的第一数据包,并将所述第一数据包渲染为用户绘制图案的第一绘制点;按照所述媒体服务器渲染所述用户绘制图案的绘制点的速率从所述接收缓存中未获取到属于第一数据流的第二数据包时,按照已经执行渲染的前N个数据包预测所述第二数据包的绘制点数据;
其中,所述第二数据包的序列号与所述第一数据包相邻且第二数据包的序列号大于第一数据包或者所述第二数据包的时间戳与所述第一数据包的时间戳间隔时间阈值,所述时间阈值根据所述第一数据流的采样频率和所述第二数据流的采样频率确定;
将预测的第二数据包的绘制点数据渲染为所述用户绘制图案的第二绘制点。
在一种可能的实施方式中,所述通信单元1101,还用于在处理单元1102将预测的第二数据包的绘制点数据渲染为所述用户绘制图案的第二绘制点后,接收第二数据包;所述处理单元1102,还用于将根据接收到的第二数据包的绘制点数据渲染的绘制点替换所述第二绘制点。
在一种可能的实施方式中,所述第一数据流为实时流媒体传输协议RTP流,所述第二数据流为RTP流;或者,所述第一数据流为实时流媒体传输控制协议RTCP流,所述第二数据流为RTCP流。
基于与方法实施例同一发明构思,本申请实施例提供一种通信装置1200,该装置1200的结构如图12所示,包括处理单元1201、通信单元1202、显示单元1203。示例性地,通信单元1202既可以用于发送信号,也可以用于接收信号。可选地,通信单元1202中可以包括发送单元和接收单元,发送单元用于发送信号,接收单元用于接收信号。该通信装置1200用于应用于终端设备,具体用于实现上述方法实施例中终端设备(比如,第一终端设备)所执行的方法。
处理单元1201响应于所述第一终端设备的用户绘制图案的绘制操作,实时采集用户绘制图案的绘制点得到绘制点数据。
作为一种示例,装置1200还可以包括第一采集单元1204。处理单元1201通过第一采集单元1204采集绘制点数据。
处理单元1201实时采集多媒体数据,所述多媒体数据包括所述第一终端设备的用户音频数据或所述第一终端设备的用户视频数据。
装置1200还可以包括第二采集单元1205或第三采集单元1206。处理单元1201通过第二采集单元1205采集用户音频数据。处理单元1201通过第三采集单元1206采集用户视频数据。
处理单元1201,还用于将实时采集所述用户绘制图案的绘制点数据封装为属于第一数据流的数据包,以及将实时采集所述多媒体数据封装为属于第二数据流的数据包,所述第一数据流的数据包包括用户绘制图案的绘制点数据,所述第二数据流的数据包包括所述第一终端设备的用户音频数据或者用户视频数据;所述第一数据流中的数据包携带第一时间戳,所述第二数据流中的数据包携带第二时间戳,所述第一时间戳与所述第二时间戳是根据所述用户绘制图案的绘制点的采样频率和所述第二数据包中封装的用户视频数据或者用户音频数据的采样频率确定的。
所述通信单元1203通过会话边界控制器SBC向媒体服务器发送所述第一数据流和所述第二数据流。
在一种可能的实施方式中,所述处理单元1201,还用于渲染所述绘制点数据得到用户绘制图案并显示所述用户绘制图案。
在一种可能的实施方式中,所述通信单元1202,还用于通过所述SBC接收来自所述媒体服务器的第一用户绘制图案,所述第一用户绘制图案是所述媒体服务器渲染所述第一数据流的数据包中的绘制点数据得到的;
所述显示单元1203,用于显示所述第一用户绘制图案。
在一种可能的实施方式中,所述处理单元1201,还用于在通信单元1202接收所述媒体服务器通过所述第一SBC发送的第一用户绘制图案之前,渲染所述绘制点数据得到第二用户绘制图案并显示所述第二用户绘制图案;
所述显示单元1203,还用于在所述通信单元1202通过所述SBC接收来自所述媒体服务器的第一用户绘制图案后,显示所述第一用户绘制图案,所述显示的第一用户绘制图案覆盖所述第二用户绘制图案。
在一种可能的实施方式中,所述第一数据流为实时流媒体传输协议RTP流,所述第二数据流为RTP流;或者,所述第一数据流为实时流媒体传输控制协议RTCP流,所述第二数据流为RTCP流。
基于与方法实施例同一发明构思,本申请实施例提供一种通信装置1300,该装置1300的结构如图13所示,包括处理单元1301、通信单元1302、显示单元1303和播放单元1304。示例性地,通信单元1302既可以用于发送信号,也可以用于接收信号。可选地,通信单元1302中可以包括发送单元和接收单元,发送单元用于发送信号,接收单元用于接收信号。该通信装置1300用于应用于终端设备,具体用于实现上述方法实施例中终端设备(比如,第二终端设备)所执行的方法。
通信单元1302,用于接收来自媒体服务器的第一数据流,所述第一数据流中的数据包包括第一终端设备采集的用户绘制图案的绘制点数据;
通信单元1302,还用于接收来自媒体服务器的第二数据流,所述第二数据流的数据包包括所述第一终端设备的用户音频数据和/或用户视频数据;
处理单元1301,根据所述第一数据流中的数据包的时间参数和所述第二数据流中的数据包的时间参数,对所述第一数据流和所述第二数据流进行同步得到同步处理结果;
当所述第二数据流中的数据包包括用户音频数据时,处理单元1301根据同步处理结果渲染第一数据流中的数据包得到用户绘制图案,所述显示单元1303显示所述用户绘制图案,所述播放单元1304播放所述用户音频数据;或者,
当所述第二数据流中的数据包包括用户视频数据时,处理单元1301根据同步处理结果渲染第一数据流的数据包中的绘制点数据得到用户绘制图案,以及渲染第二数据流中的数据包中的用户视频数据得到用户视频图像,并将所述用户绘制图案叠加在所述用户视频图像,所述显示单元1303显示用户绘制图案叠加用户视频图像。
在一种可能的实施方式中,所述第二终端设备渲染所述用户绘制图案的绘制点的速率与第一终端设备采集用户绘制图案的绘制点的速率相同。
在一种可能的实施方式中,当所述第一数据流的采样频率与所述第二数据流的采样频率不同时,所述处理单元1301根据所述第一数据流中的数据包的时间参数和所述第二数据流中的数据包的时间参数对所述第一数据流和所述第二数据流进行同步时,具体用于:
所述时间参数包括时间戳时,根据所述第一数据流中的数据包的时间戳和第一时间戳增量、所述第二数据包括的数据包的时间戳以及第二时间戳增量对所述第一数据流中的数据包和所述第二数据流中的数据包进行同步,其中,所述第一时间戳增量为属于第一数据流的相邻两个数据包的时间戳的差值,所述第二时间戳增量为属于第二数据流的相邻两个数据包的时间戳的差值;或者,
所述时间参数包括序列号时,根据第一数据流中的数据包的序列号、所述第二数据流中的数据包的序列号以及序列号增量对所述第一数据流中的数据包和所述第二数据流中的数据包进行同步,其中,所述序列号增量是根据所述第一数据流的采样频率和所述第二数据流的采样频率确定的。
在一种可能的实施方式中,所述处理单元1301将接收到的属于第一数据流的数据包存储在接收缓存中;
所述处理单元1301渲染第一数据流的数据包的绘制点数据得到用户绘制图案时,具体用于:
从接收缓存获取属于第一数据流的第一数据包,并将所述第一数据包的绘制点数据渲染为用户绘制图案的第一绘制点;按照所述第二终端设备渲染所述用户绘制图案的绘制点的速率从所述接收缓存中未获取到属于第一数据流的第二数据包时,按照已经执行渲染属于第一数据流的前N个数据包预测所述第二数据包的绘制点数据;
其中,所述第二数据包的序列号与所述第一数据包相邻且第二数据包的序列号大于第一数据包或者所述第二数据包的时间戳与所述第一数据包的时间戳间隔时间阈值,所述时间阈值根据所述第一数据流的采样频率和所述第二数据流的采样频率确定;
将预测的第二数据包的绘制点数据渲染为所述用户绘制图案的第二绘制点。
在一种可能的实施方式中,通信单元1302,在处理单元1301将预测的第二数据包的绘制点数据渲染为所述用户绘制图案的第二绘制点后,接收到第二数据包。处理单元1301将根据接收到的第二数据包渲染的绘制点替换所述第二绘制点。
在一种可能的实施方式中,所述第一数据流为实时流媒体传输协议RTP流,所述第二数据流为RTP流;或者,所述第一数据流为实时流媒体传输控制协议RTCP流,所述第二数据流为RTCP流。
本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能单元可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
在本申请实施例中,所述媒体服务器以及终端设备均可以采用集成的方式划分各个功能模块的形式来呈现。这里的“模块”可以指特定ASIC,电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。
在一个简单的实施例中,SBC、媒体服务器或应用服务器可采用图14所示的形式。
如图14所示的装置1400,包括至少一个处理器1401,通信接口1402。可选地,还可以包括存储器1403。
一种可能的实现方式中,当媒体服务器采用图14所示的形式时,图14中的处理器1401可以通过调用存储器1403中存储的计算机执行指令,使得所述媒体服务器可以执行上述任一方法实施例中的所述媒体服务器执行的方法。
处理器1401可以通过通信接口1402与其他设备进行通信。比如,处理器1401通过通信接口1402接收来自第一终端设备的第一数据流和第二数据流,以及向所述第二终端设备发送第一数据流和第二数据流,或者发送用户绘制图案和音频数据流。
一种示例中,存储器1403中存储有用于实现图11中的通信单元1101和处理单元1102的功能的计算机执行指令,图14中的通信单元1101和处理单元1102的功能/实现过程均可以通过图14中的处理器1401调用存储器1403中存储的计算机执行指令,并结合通信接口1402来实现。另一种示例中,图11中的通信单元1101的功能由通信接口1402来实现,处理器1401实现处理单元1102的功能。
又一种可能的实现方式中,当SBC采用图14所示的形式时,图14中的处理器1401可以通过调用存储器1403中存储的计算机执行指令,使得所述SBC可以执行上述任一方法实施例中的所述SBC1-SBC2任一执行的方法。
本申请实施例中不限定上述处理器1401以及存储器1403之间的具体连接介质。本申请实施例在图中以存储器1403和处理器1401之间通过总线1404连接,总线1404在图14中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。该总线1404可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在一个简单的实施例中,所述终端设备可采用图15所示的形式。如图15所示的装置1500包括至少一个处理器1501,通信接口1502,可选地还可以包括存储器1503。在一种可能的实现方式中,装置1500还包括显示屏1504。所述装置还可以包括传感器1505、摄像头1506、麦克风1507和喇叭1508。比如,传感器1505可以为触控面板。
处理器1501可以具有数据收发功能,能够与其他设备进行通信,如在本申请实施例中,处理器1501可以向SBC发送媒体流,也可以接收来自所述SBC的媒体流,在如图15装置中,也可以设置独立的数据收发模块,例如通信接口1502,用于收发数据;处理器1501在与其他设备进行通信时,可以通过通信接口1502进行数据传输,如在本申请实施例中,处理器1501可以通过通信接口1502向SBC发送绘制点数据流、音频数据流和视频数据流,也可以通过通信接口1502接收来自所述SBC的绘制点数据流、音频数据流和视频数据流。
当所述终端设备采用图15所示的形式时,图15中的处理器1501可以通过调用存储器1503中存储的计算机执行指令,使得所述终端设备可以执行上述任一方法实施例中的所述终端设备(比如第一终端设备-第二终端设备)执行的方法。
一种示例中,存储器1503中存储有用于实现图12中的通信单元1202、显示单元1203、处理单元1201、第一采集单元1204、第二采集单元1205和第三采集单元1206的功能的计算机执行指令,图12的通信单元1202、显示单元1203、处理单元1201、第一采集单元1204、第二采集单元1205和第三采集单元1206的功能/实现过程均可以通过图15中的处理器1501调用存储器1503中存储的计算机执行指令来实现。
另一种示例中,存储器1503中存储有用于实现图12中的显示单元1203的功能的计算机执行指令,图12中的显示单元1203的功能/实现过程可以通过图15中的处理器1501调用存储器1503中存储的计算机执行指令来实现,图12的通信单元的功能/实现过程可以通过图15中的通信接口1502来实现。
其中,所述处理器1501在执行显示单元1203的功能时,如涉及显示图像的操作,如显示用户绘制图案,处理器1501可以通过所述装置1500中的显示屏1504显示图像。可选的,处理器1501在执行显示单元的功能时,也可以通过其他设备中的显示屏显示图像,如向其他设备发送显示指令,指示显示图像。
其中,所述处理器1501在执行第一采集单元1204的功能时,处理器1501可以通过传感器1505采集绘制点数据。所述处理器1501在执行第二采集单元1205的功能时,处理器1501可以通过麦克风1507采集用户音频数据。麦克风1507也可以设置装置1500之外。所述处理器1501在执行第三采集单元1206的功能时,处理器1501可以通过摄像头1506采集用户视频数据。摄像头1506也可以设置装置1500之外。
又一种示例中,存储器1503中存储有用于实现图13中的通信单元1302、显示单元1303、处理单元1301和播放单元1304的功能的计算机执行指令,图13的通信单元1302、显示单元1303、处理单元1301和播放单元1304的功能/实现过程均可以通过图15中的处理器1501调用存储器1503中存储的计算机执行指令来实现。
其中,所述处理器1501在执行显示单元1303的功能时,如涉及显示图像的操作,如显示用户绘制图案,处理器1501可以通过所述装置1500中的显示屏1504显示图像。可选的,处理器1501在执行显示单元的功能时,也可以通过其他设备中的显示屏显示图像,如向其他设备发送显示指令,指示显示图像。
其中,所述处理器1501在执行播放单元1304的功能时,如涉及播放音频数据的操作,处理器1501可以通过所述装置1500中的喇叭1508播放用户音频数据。可选的,处理器1501在执行播放用户音频数据的功能时,也可以通过其他设备中的喇叭播放用户音频数据,如向其他设备发送所述用户音频数据。
本申请实施例中不限定上述处理器1501以及存储器1503、通信接口1502、显示屏1504以及传感器1505、摄像头1506、麦克风1507和喇叭1508之间的具体连接介质。本申请实施例在图中通过总线连接为例,总线在图中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
基于以上实施例,本申请实施例还提供了一种计算机存储介质,该存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时可实现上述任意一个或多个实施例提供业务平台或边缘计算设备执行的方法。所述计算机存储介质可以包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
基于以上实施例,本申请实施例还提供了一种芯片,该芯片包括处理器,用于实现上述任意一个或多个实施例所涉及的媒体服务器的功能或者终端设备的功能。可选地,所述芯片还包括存储器,所述存储器,用于处理器所执行必要的程序指令和数据。该芯片,可以由芯片构成,也可以包含芯片和其他分立器件。
应理解,说明书通篇中提到的“一个实施例”、“一个实现方式”、“一个实施方式”或“一示例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”、“一个实现方式”、“一个实施方式”或“在一示例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。本申请涉及的术语“至少一个”,是指一个,或一个以上,即包括一个、两个、三个及以上;“多个”,是指两个,或两个以上,即包括两个、三个及以上。另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。此外,本申请实施例和权利要求书及附图中的术语“包括”和“具有”不是排他的。例如,包括了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,还可以包括没有列出的步骤或模块。
可以理解的是,本申请的实施例中的处理器可以是中央处理单元(centralprocessing unit,CPU),还可以是其它通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其它可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(Read-Only Memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于网络设备或终端设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。

Claims (20)

1.一种视频通话方法,其特征在于,包括:
媒体服务器接收来自第一终端设备的第一数据流,所述第一数据流中的数据包包括第一终端设备采集的用户绘制图案的绘制点数据;
所述媒体服务器接收来自第一终端设备的第二数据流,所述第二数据流中的数据包包括所述第一终端设备的用户音频数据和/或用户视频数据;
所述媒体服务器根据所述第一数据流中的数据包的时间参数和所述第二数据流中的数据包的时间参数,对所述第一数据流和所述第二数据流进行同步得到同步处理结果;
当所述第二数据流中的数据包包括用户音频数据时,所述媒体服务器根据同步处理结果渲染第一数据流的数据包中的绘制点数据得到用户绘制图案,并向所述第二终端设备发送所述用户绘制图案以及所述第二数据流;或者,
当所述第二数据流中的数据包包括用户视频数据时,所述媒体服务器根据同步处理结果渲染第一数据流的数据包中的绘制点数据得到用户绘制图案,以及渲染第二数据流的数据包中的用户视频数据得到用户视频图像,将所述用户绘制图案叠加在用户视频图像上得到第三视频流,并向所述第二终端设备发送所述第三视频流。
2.如权利要求1所述的方法,其特征在于,所述媒体服务器渲染所述用户绘制图案的绘制点的速率与第一终端设备采集用户绘制图案的绘制点的速率相同。
3.如权利要求2所述的方法,其特征在于,当所述第一数据流的采样频率与所述第二数据流的采样频率不同时,所述媒体服务器根据所述第一数据流中的数据包的时间参数和所述第二数据流中的数据包的时间参数对所述第一数据流和所述第二数据流进行同步,包括:
所述时间参数包括时间戳时,所述媒体服务器根据所述第一数据流的数据包的时间戳和第一时间戳增量、所述第二数据流的数据包的时间戳以及第二时间戳增量对所述第一数据流的数据包和所述第二数据流的数据包进行同步,其中,所述第一时间戳增量为属于第一数据流的相邻两个数据包的时间戳的差值,所述第二时间戳增量为属于第二数据流的相邻两个数据包的时间戳的差值;或者,
所述时间参数包括序列号时,所述媒体服务器根据第一数据流的数据包的序列号、所述第二数据流的数据包的序列号以及序列号增量对所述第一数据流的数据包和所述第二数据流的数据包进行同步,其中,所述序列号增量是根据所述第一数据流的采样频率和所述第二数据流的采样频率确定的。
4.如权利要求2或3所述的方法,其特征在于,所述方法还包括:
所述媒体服务器将接收到的属于第一数据流的数据包存储在接收缓存中;
渲染第一数据流的数据包中的绘制点数据得到用户绘制图案,包括:
所述媒体服务器从接收缓存获取属于第一数据流的第一数据包,并将所述第一数据包中的绘制点数据渲染为用户绘制图案的第一绘制点;按照所述媒体服务器渲染所述用户绘制图案的绘制点的速率从所述接收缓存中未获取到属于第一数据流的第二数据包时,按照已经执行渲染的前N个数据包预测所述第二数据包的绘制点数据;
其中,所述第二数据包的序列号与所述第一数据包相邻且第二数据包的序列号大于第一数据包或者所述第二数据包的时间戳与所述第一数据包的时间戳间隔时间阈值,所述时间阈值根据所述第一数据流的采样频率和所述第二数据流的采样频率确定;
将预测的第二数据包的绘制点数据渲染为所述用户绘制图案的第二绘制点。
5.如权利要求4所述的方法,其特征在于,将预测的第二数据包渲染为所述用户绘制图案的第二绘制点,所述方法还包括:
当接收到所述第二数据包时,将根据接收到的第二数据包的绘制点数据渲染的绘制点替换所述第二绘制点。
6.如权利要求1-5任一项所述的方法,其特征在于,所述第一数据流为实时流媒体传输协议RTP流,所述第二数据流为RTP流;或者,所述第一数据流为实时流媒体传输控制协议RTCP流,所述第二数据流为RTCP流。
7.一种视频通话方法,其特征在于,包括:
第二终端设备接收来自媒体服务器的第一数据流,所述第一数据流中的数据包包括第一终端设备采集的用户绘制图案的绘制点数据;
第二终端设备接收来自媒体服务器的第二数据流,所述第二数据流的数据包包括所述第一终端设备的用户音频数据和/或用户视频数据;
所述第二终端设备根据所述第一数据流中的数据包的时间参数和所述第二数据流中的数据包的时间参数,对所述第一数据流和所述第二数据流进行同步得到同步处理结果;
当所述第二数据流中的数据包包括用户音频数据时,所述第二终端设备根据同步处理结果渲染第一数据流的数据包的绘制点数据得到用户绘制图案并显示所述用户绘制图案,以及播放所述用户音频;或者,
当所述第二数据流中的数据包包括用户视频数据时,第二终端设备根据同步处理结果渲染第一数据流的数据包中的绘制点数据得到用户绘制图案,以及渲染第二数据流中的数据包中的用户视频数据得到用户视频图像,并将所述用户绘制图案叠加在所述用户视频图像上显示。
8.如权利要求7所述的方法,其特征在于,所述第二终端设备渲染所述用户绘制图案的绘制点的速率与第一终端设备采集用户绘制图案的绘制点的速率相同。
9.如权利要求7或8所述的方法,其特征在于,当所述第一数据流的采样频率与所述第二数据流的采样频率不同时,所述第二终端设备根据所述第一数据流中的数据包的时间参数和所述第二数据流中的数据包的时间参数对所述第一数据流和所述第二数据流进行同步,包括:
所述时间参数包括时间戳时,所述第二终端设备根据所述第一数据流中的数据包的时间戳和第一时间戳增量、所述第二数据中的数据包的时间戳以及第二时间戳增量对所述第一数据流中的数据包和所述第二数据流中的数据包进行同步,其中,所述第一时间戳增量为属于第一数据流的相邻两个数据包的时间戳的差值,所述第二时间戳增量为属于第二数据流的相邻两个数据包的时间戳的差值;或者,
所述时间参数包括序列号时,所述第二终端设备根据第一数据流中的数据包的序列号、所述第二数据流中的数据包的序列号以及序列号增量对所述第一数据流中的数据包和所述第二数据流中的数据包进行同步,其中,所述序列号增量是根据所述第一数据流的采样频率和所述第二数据流的采样频率确定的。
10.如权利要求8或9所述的方法,其特征在于,所述方法还包括:
所述第二终端设备将接收到的属于第一数据流的数据包存储在接收缓存中;
所述第二终端设备渲染第一数据流的数据包中的绘制点数据得到用户绘制图案,包括:
所述第二终端设备从接收缓存获取属于第一数据流的第一数据包,并将所述第一数据包的绘制点数据渲染为用户绘制图案的第一绘制点;按照所述第二终端设备渲染所述用户绘制图案的绘制点的速率从所述接收缓存中未获取到属于第一数据流的第二数据包时,按照已经执行渲染属于第一数据流的前N个数据包预测所述第二数据包的绘制点数据;
其中,所述第二数据包的序列号与所述第一数据包相邻且第二数据包的序列号大于第一数据包或者所述第二数据包的时间戳与所述第一数据包的时间戳间隔时间阈值,所述时间阈值根据所述第一数据流的采样频率和所述第二数据流的采样频率确定;
将预测的第二数据包的绘制点数据渲染为所述用户绘制图案的第二绘制点。
11.如权利要求10所述的方法,其特征在于,将预测的第二数据包渲染为所述用户绘制图案的第二绘制点,所述方法还包括:
当接收到所述第二数据包时,将根据接收到的第二数据包的绘制点数据渲染的绘制点替换所述第二绘制点。
12.如权利要求7-11任一项所述的方法,其特征在于,所述第一数据流为实时流媒体传输协议RTP流,所述第二数据流为RTP流;或者,所述第一数据流为实时流媒体传输控制协议RTCP流,所述第二数据流为RTCP流。
13.一种视频通话方法,其特征在于,包括:
第一终端设备响应于所述第一终端设备的用户绘制图案的绘制操作,实时采集用户绘制图案的绘制点得到绘制点数据;
所述第一终端设备实时采集多媒体数据,所述多媒体数据包括所述第一终端设备的用户音频数据或所述第一终端设备的用户视频数据;
所述第一终端设备将实时采集所述用户绘制图案的绘制点数据封装为属于第一数据流的数据包,以及将实时采集所述多媒体数据封装为属于第二数据流的数据包,所述第一数据流的数据包包括用户绘制图案的绘制点数据,所述第二数据流的数据包包括所述第一终端设备的用户音频数据或者用户视频数据;所述第一数据流中的数据包携带第一时间戳,所述第二数据流中的数据包携带第二时间戳,所述第一时间戳与所述第二时间戳是根据所述用户绘制图案的绘制点的采样频率和所述第二数据包中封装的用户视频数据或者用户音频数据的采样频率确定的;
所述第一终端设备通过会话边界控制器SBC向媒体服务器发送所述第一数据流和所述第二数据流。
14.如权利要求13所述的方法,其特征在于,还包括:
所述第一终端设备渲染所述绘制点数据得到用户绘制图案并显示所述用户绘制图案。
15.如权利要求13所述的方法,其特征在于,还包括:
所述第一终端设备通过所述SBC接收来自所述媒体服务器的第一用户绘制图案,所述第一用户绘制图案是所述媒体服务器渲染所述第一数据流的数据包中的绘制点数据得到的;
所述第一终端设备显示所述第一用户绘制图案。
16.如权利要求15所述的方法,其特征在于,所述第一终端设备接收所述媒体服务器通过所述第一SBC发送的第一用户绘制图案之前,还包括:
所述第一终端设备渲染所述绘制点数据得到第二用户绘制图案并显示所述第二用户绘制图案;
所述第一终端设备通过所述SBC接收来自所述媒体服务器的第一用户绘制图案后,显示所述第一用户绘制图案,所述显示的第一用户绘制图案覆盖所述第二用户绘制图案。
17.如权利要求13-16任一项所述的方法,其特征在于,所述第一数据流为实时流媒体传输协议RTP流,所述第二数据流为RTP流;或者,所述第一数据流为实时流媒体传输控制协议RTCP流,所述第二数据流为RTCP流。
18.一种通信装置,其特征在于,所述装置包括通信接口和处理器;
所述通信接口,用于收发信号;
所述处理器,用于通过所述通信接口收发信号并实现如权利要求1至6中任一项所述的方法。
19.一种通信装置,其特征在于,所述装置包括通信接口、处理器、显示屏和播放器;
所述通信接口,用于收发信号;
所述显示屏,用于显示用户绘制图案;
所述播放器,用于播放用户音频数据;
所述处理器,用于通过所述通信接口收发信号实现如权利要求7至12中任一项所述的方法,或者实现如权利要求13-17中任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1至17中任一项所述的方法。
CN202011025141.0A 2020-09-25 2020-09-25 一种视频通话方法及装置 Active CN114339111B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202011025141.0A CN114339111B (zh) 2020-09-25 2020-09-25 一种视频通话方法及装置
PCT/CN2021/108137 WO2022062625A1 (zh) 2020-09-25 2021-07-23 一种视频通话方法及装置
EP21871003.6A EP4221193A4 (en) 2020-09-25 2021-07-23 VIDEO CALLING METHOD AND APPARATUS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011025141.0A CN114339111B (zh) 2020-09-25 2020-09-25 一种视频通话方法及装置

Publications (2)

Publication Number Publication Date
CN114339111A true CN114339111A (zh) 2022-04-12
CN114339111B CN114339111B (zh) 2026-01-06

Family

ID=80844864

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011025141.0A Active CN114339111B (zh) 2020-09-25 2020-09-25 一种视频通话方法及装置

Country Status (3)

Country Link
EP (1) EP4221193A4 (zh)
CN (1) CN114339111B (zh)
WO (1) WO2022062625A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116847128A (zh) * 2023-09-04 2023-10-03 中科融信科技有限公司 基于5G VoLTE视频电话会议的视频叠加处理方法
WO2023217008A1 (zh) * 2022-05-09 2023-11-16 维沃移动通信有限公司 数据包序号同步方法、装置及通信设备
CN118413628A (zh) * 2024-07-02 2024-07-30 湖南东科软件开发有限公司 标绘共享方法、电子设备及计算机程序产品

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114937129A (zh) * 2022-06-10 2022-08-23 智道网联科技(北京)有限公司 高精地图点云数据处理方法及装置
CN115226089B (zh) * 2022-07-07 2024-07-23 维沃移动通信有限公司 通话能力监测方法、装置、终端和可读存储介质
CN118828366B (zh) * 2024-02-01 2025-12-05 中移(杭州)信息技术有限公司 远程导航方法、装置、系统、介质及程序产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120229589A1 (en) * 2011-03-07 2012-09-13 Ricoh Company, Ltd. Automated selection and switching of displayed information
CN105120195A (zh) * 2015-09-18 2015-12-02 谷鸿林 内容录制、再现系统和方法
US20150371417A1 (en) * 2013-11-19 2015-12-24 Wacom Co., Ltd. Method and system for ink data generator, ink data rendering, ink data manipulation and ink data communication
CN109547831A (zh) * 2018-11-19 2019-03-29 网宿科技股份有限公司 一种白板与视频同步的方法、装置、计算设备及存储介质
CN111124333A (zh) * 2019-12-05 2020-05-08 视联动力信息技术股份有限公司 电子白板显示内容同步的方法、装置、设备以及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120204120A1 (en) * 2011-02-08 2012-08-09 Lefar Marc P Systems and methods for conducting and replaying virtual meetings
US8706861B2 (en) * 2011-09-09 2014-04-22 Microsoft Corporation Dynamically allocating network resources for communication session
CN202957917U (zh) * 2012-06-21 2013-05-29 桂林一石媒体技术有限公司 多功能网络会议系统
CN103269346A (zh) * 2013-06-04 2013-08-28 温才燚 一种用于教学的远程交互系统
CN107067845A (zh) * 2017-03-10 2017-08-18 深圳市中视典数字科技有限公司 一种基于视频叠加技术的远程教学交互系统及方法
CN110113554A (zh) * 2019-05-13 2019-08-09 湖北潘多拉网络科技有限公司 视频数据管理方法、装置及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120229589A1 (en) * 2011-03-07 2012-09-13 Ricoh Company, Ltd. Automated selection and switching of displayed information
US20150371417A1 (en) * 2013-11-19 2015-12-24 Wacom Co., Ltd. Method and system for ink data generator, ink data rendering, ink data manipulation and ink data communication
CN105120195A (zh) * 2015-09-18 2015-12-02 谷鸿林 内容录制、再现系统和方法
CN109547831A (zh) * 2018-11-19 2019-03-29 网宿科技股份有限公司 一种白板与视频同步的方法、装置、计算设备及存储介质
CN111124333A (zh) * 2019-12-05 2020-05-08 视联动力信息技术股份有限公司 电子白板显示内容同步的方法、装置、设备以及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023217008A1 (zh) * 2022-05-09 2023-11-16 维沃移动通信有限公司 数据包序号同步方法、装置及通信设备
CN116847128A (zh) * 2023-09-04 2023-10-03 中科融信科技有限公司 基于5G VoLTE视频电话会议的视频叠加处理方法
CN116847128B (zh) * 2023-09-04 2023-11-28 中科融信科技有限公司 基于5G VoLTE视频电话会议的视频叠加处理方法
CN118413628A (zh) * 2024-07-02 2024-07-30 湖南东科软件开发有限公司 标绘共享方法、电子设备及计算机程序产品

Also Published As

Publication number Publication date
CN114339111B (zh) 2026-01-06
EP4221193A4 (en) 2024-04-10
WO2022062625A1 (zh) 2022-03-31
EP4221193A1 (en) 2023-08-02

Similar Documents

Publication Publication Date Title
CN114339111B (zh) 一种视频通话方法及装置
CN113687803B (zh) 投屏方法、投屏源端、投屏目的端、投屏系统及存储介质
CN114579076B (zh) 数据处理方法和相关装置
CN118259861B (zh) 一种投屏显示方法及电子设备
US12272335B2 (en) Display synchronization method, electronic device, and readable storage medium
CN111866950A (zh) Mec中数据传输的方法和通信装置
CN113923230A (zh) 数据同步方法、电子设备和计算机可读存储介质
WO2023030099A1 (zh) 跨设备交互的方法、装置、投屏系统及终端
US11848016B2 (en) Voice control command generation method and terminal
CN112423076B (zh) 一种音频投屏同步控制方法、设备及计算机可读存储介质
US12058486B2 (en) Method and apparatus for implementing automatic translation by using a plurality of TWS headsets connected in forwarding mode
CN109068052A (zh) 视频拍摄方法、移动终端及计算机可读存储介质
CN113129202A (zh) 数据传输方法、装置及数据处理系统、存储介质
CN115243205B (zh) 一种通话处理方法及相关设备
EP4175302A1 (en) Multi-device collaboration method, electronic device, and multi-device collaboration system
EP4542964A1 (en) Sharing method, electronic device and system
WO2019165960A1 (zh) 一种媒体数据实时传输控制方法、系统及存储介质
WO2022127670A1 (zh) 一种通话方法、相关设备和系统
CN111935705A (zh) 数据业务管理方法及装置、计算机可读介质及终端设备
CN114866659B (zh) 一种拍摄方法及电子设备
WO2022111712A1 (zh) 一种音频与视频同步的方法及设备
US20250358391A1 (en) Digital human communication method and apparatus
CN115564668B (zh) 一种噪声的监测方法、电子设备及芯片系统
CN115119214B (zh) 一种立体声组网方法、系统及相关装置
CN115904184A (zh) 数据处理方法和相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant