CN116962747A - 基于网络直播的实时合唱同步方法、装置及网络直播系统 - Google Patents

基于网络直播的实时合唱同步方法、装置及网络直播系统 Download PDF

Info

Publication number
CN116962747A
CN116962747A CN202210837532.5A CN202210837532A CN116962747A CN 116962747 A CN116962747 A CN 116962747A CN 202210837532 A CN202210837532 A CN 202210837532A CN 116962747 A CN116962747 A CN 116962747A
Authority
CN
China
Prior art keywords
accompaniment
singing
progress
chorus
time
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.)
Pending
Application number
CN202210837532.5A
Other languages
English (en)
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.)
Guangzhou Cubesili Information Technology Co Ltd
Original Assignee
Guangzhou Cubesili Information Technology 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 Guangzhou Cubesili Information Technology Co Ltd filed Critical Guangzhou Cubesili Information Technology Co Ltd
Publication of CN116962747A publication Critical patent/CN116962747A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234345Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440245Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请涉及一种基于网络直播的实时合唱同步方法、装置及网络直播系统,所述方法包括:获取各个演唱端之间实现伴奏歌曲播放同步所对应的启动延迟时间,并控制各个演唱端按照所述启动延迟时间播放所述伴奏歌曲;在合唱过程中,分别对各个演唱端进行语音采集获取音频帧,并将所述音频帧与所述伴奏歌曲播放的伴奏进度进行对应;分别将各个演唱端的音频帧及其伴奏进度发送至服务器,由所述服务器根据所述伴奏进度对所述演唱端的音频帧进行同步;该技术方案,应用于网络直播上,能够明显减少实时合唱伴奏同步误差,确保合唱中的时间延迟能够达到专业唱歌主播的合唱效果,由此使得使合唱玩法更具有专业性。

Description

基于网络直播的实时合唱同步方法、装置及网络直播系统
本申请要求于2022年04月14日提交中国专利局、申请号为202210387980.X、发明名称为“网络直播的连麦互动方法、装置及直播系统”的中国专利申请的优先权,其申请文件内容通过引用结合在本申请中。
技术领域
本申请涉及网络直播技术领域,特别是一种基于网络直播的实时合唱同步方法、装置及网络直播系统。
背景技术
随着5G、云计算,人工智能技术的发展,各类设备的便携化,在线网络直播早已深入人们的各类生活,通过网络直播可以让处于不同地域的群体能够与远端的用户进行互动,特别是在一些偏远地区,通过网络直播可以让主播能够更好地展现自身才艺,即丰富了各种娱乐生活,同时也为解决就业问题提供了极大的帮助。
在网络直播上实现合唱是一种远程多端的互动娱乐方式,特别是元宇宙概念的出现,在技术上已经逐步实现并形成了一定生态基础,元宇宙所带来的丰富的应用场景,前沿的技术创新,极大改变了人们当下的生活方式和习惯,目前元宇宙技术已经应用于在线音乐会(演唱会)上,提供给异地歌手之间的虚拟同台合唱和互动功能,并实现了良好的应用体验,对于丰富用户的文化生活提供了重要的途径,当前在网络直播上进行合唱时,一种方案是由第一演唱者播放伴奏并演唱,再将伴奏跟演唱音频一起发送给第二演唱者,第二演唱者接收伴奏跟第一演唱音频后进行合唱,上述方案只是单方向的合唱,因为第二演唱者的演唱音频将无法发送给第一演唱者,否则第一演唱者听到的第二演唱音频将会比伴奏延迟T时间,掉拍现象比较明显。
另外,还有一种方案是第一演唱者跟第二演唱者各自播放本地伴奏,各自对伴奏进行演唱,并将演唱音频发送给对方,假设可以实现双方本地伴奏同步,那么演唱音频发送到对方后,演唱音频会比伴奏延迟T/2时间,这种方案中双方合唱体验上相对较好,但是如果双方本地伴奏不同步,将会导致双方客观上跟本地伴奏演唱的时机有先后,从而出现伴奏快的一方听到对方的演唱音频比伴奏延迟大于T/2时间,而对于观看实时合唱的观众用户而言,尽管没有实时合唱的需求,但还是希望真实感受到合唱用户的合唱效果,而上述技术方案中,难以让观众听到的多路演唱音频要真实体现出合唱所具有的精准协调性,由此也影响了合唱效果。
发明内容
基于此,有必要针对上述至少一种技术缺陷,提供一种基于网络直播的实时合唱同步方法、装置及网络直播系统,以减少实时合唱伴奏同步误差,提升合唱同步效果。
一种基于网络直播的实时合唱同步方法,包括:
获取各个演唱端之间实现伴奏歌曲播放同步所对应的启动延迟时间,并控制各个演唱端按照所述启动延迟时间播放所述伴奏歌曲;
在合唱过程中,分别对各个演唱端进行语音采集获取音频帧,并将所述音频帧与所述伴奏歌曲播放的伴奏进度进行对应;
分别将各个演唱端的音频帧及其伴奏进度发送至服务器,由所述服务器根据所述伴奏进度对所述演唱端的音频帧进行同步。
在一个实施例中,所述演唱端包括主演唱端和至少一个从演唱端;
所述获取各个演唱端之间实现伴奏歌曲播放同步所对应的启动延迟时间,并控制各个演唱端按照所述启动延迟时间播放所述伴奏歌曲,包括:
由主演唱端在频道内向各个从演唱端广播合唱请求,其中,所述合唱请求携带请求时间戳;
在各个从演唱端收到所述合唱请求后,根据所述请求时间戳计算出自身与主演唱端之间的网络延迟,并将所述网络延迟回复给所述主演唱端;
由所述主演唱端根据各个从演唱端的网络延迟计算出最大网络延迟,并将所述最大网络延迟广播至各个从演唱端;其中,所述主演唱端在等待所述最大网络延迟后播放伴奏歌曲;
在各个从演唱端接收到所述最大网络延迟后,根据所述最大网络延迟计算自身播放伴奏歌曲的启动延迟时间,并在等待所述启动延迟时间后播放伴奏歌曲;其中,所述启动延迟时间为自身的网络延迟与所述最大网络延迟之间的时间差值。
在一个实施例中,在所述获取各个演唱端相对于同步启动伴奏的启动延迟时间之前,还包括:
将各个演唱端就近接入到服务器;其中,各个服务器预先通过NTP网络时间协议与基准时钟源周期进行时钟同步;
通过私有Ping心跳协议将各个演唱端与所接入的服务器进行时钟同步。
在一个实施例中,所述的基于网络直播的实时合唱同步方法,在合唱过程中,还包括:
由各个演唱端定期获取自身的实时伴奏进度及其对应的第一时间戳,将所述实时伴奏进度广播给其他演唱端;
在接收到其他演唱端广播的实时伴奏进度后,根据自身获取的实时伴奏进度及其对应的第一时间戳以及接收到的所述实时伴奏进度及其对应的第一时间戳计算出平均伴奏进度;
根据所述平均伴奏进度对自身播放所述伴奏歌曲的伴奏进度进行校正。
在一个实施例中,所述的基于网络直播的实时合唱同步方法,在合唱过程中,还包括:
当监听到拖动伴奏进度条的事件时,获取伴奏进度条被拖动后的目标伴奏进度及其对应的第二时间戳;
将所述目标伴奏进度广播至其他演唱端;
当接收到其他演唱端发送的目标伴奏进度时,根据所述目标伴奏进度及其对应的第二时间戳调整自身播放所述伴奏歌曲的伴奏进度。
在一个实施例中,当监听到拖动伴奏进度条的事件时,还包括:
对所述目标伴奏进度添加编号,并将携带所述编号的目标伴奏进度广播至其他演唱端;
当接收到其他演唱端发送的携带所述编号的目标伴奏进度时,根据所述编号与本地保存的自身广播至其他演唱端的目标伴奏进度的编号进行比对;
若所述接收到的目标伴奏进度的编号小于本地保存的目标伴奏进度的编号,丢弃该接收到的目标伴奏进度。
在一个实施例中,所述分别对各个演唱端进行语音采集获取音频帧,并将所述音频帧与所述伴奏歌曲播放的伴奏进度进行对应,包括:
获取各个演唱端进行语音采集的耳返延迟;
将采集到的音频数据编码成音频帧;
获取所述伴奏歌曲的当前伴奏进度,根据所述当前伴奏进度及耳返延迟计算所述音频帧实际对应的伴奏进度。
在一个实施例中,所述的基于网络直播的实时合唱同步方法,在合唱过程中,还包括:
采集各个演唱端的视频帧;
将所述视频帧发送至服务器,使得所述服务器根据所述伴奏进度对所述演唱端的音频帧、视频帧与伴奏歌曲进行同步。
在一个实施例中,所述根据所述伴奏进度对所述演唱端的音频帧、视频帧与伴奏歌曲进行同步将,包括:
获取所述伴奏歌曲的伴奏视频帧和伴奏音频帧;
分别根据各个演唱端的音频帧的语音音频帧时间戳与伴奏歌曲的伴奏音频帧时间戳进行同步;
分别根据各个演唱端的所述音频帧的语音音频帧时间戳与所述视频帧的视频帧时间戳进行同步;
将所述伴奏视频帧对应的伴奏视频帧时间戳与伴奏音频帧对应的伴奏音频帧时间戳进行同步。
在一个实施例中,所述的基于网络直播的实时合唱同步方法,在合唱过程中,还包括:
当所述服务器接收到同一段伴奏歌曲对应多个演唱的音频帧时,选择最后一段伴奏歌曲对应音频帧,以该选择的音频帧对应的伴奏进度进行同步。
在一个实施例中,所述的基于网络直播的实时合唱同步方法,在合唱过程中,还包括:
当检测到向后拖动伴奏进度条的事件时,将语音采集得到的音频帧与拖动后的伴奏进度进行对应。
一种基于网络直播的实时合唱同步装置,包括:
启动模块,用于获取各个演唱端之间实现伴奏歌曲播放同步所对应的启动延迟时间,并控制各个演唱端按照所述启动延迟时间播放所述伴奏歌曲;
采集模块,用于在合唱过程中,分别对各个演唱端进行语音采集获取音频帧,并将所述音频帧与所述伴奏歌曲播放的伴奏进度进行对应;
发送模块,用于分别将各个演唱端的音频帧及其伴奏进度发送至服务器,由所述服务器根据所述伴奏进度对所述演唱端的音频帧进行同步。
一种网络直播系统,包括:多个客户端和服务器端;所述客户端用于获取演唱端的音频帧及其伴奏进度并上传至服务器端;
所述客户端用于执行权利要求1-11任一项所述的基于网络直播的实时合唱同步方法的步骤;
所述服务器端用于执行根据所述伴奏进度对所述演唱端的音频帧进行同步。
一种电子设备,该电子设备,其包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的基于网络直播的实时合唱同步方法。
一种计算机可读存储介质,所述存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行上述的基于网络直播的实时合唱同步方法。
上述各实施例的技术方案,首先获取各个演唱端之间实现伴奏歌曲播放同步所对应的启动延迟时间并控制各个演唱端按照该启动延迟时间播放伴奏歌曲;然后在合唱过程中,分别获取各个演唱端的音频帧并将其与伴奏歌曲播放的伴奏进度进行对应;最后分别将各个演唱端的音频帧及其伴奏进度发送至服务器,在服务器上根据伴奏进度对所述演唱端的音频帧进行同步;该技术方案,应用于网络直播上,能够明显减少实时合唱伴奏同步误差,确保合唱中的时间延迟能够达到专业唱歌主播的合唱效果,由此使得使合唱玩法更具有专业性。
进一步的,在建立合唱之前,将各个演唱端就近接入到服务器通过NTP网络时间协议建立各个服务器预先与基准时钟源周期进行时钟同步,再通过私有Ping心跳协议将各个演唱端与所接入的服务器进行时钟同步;由此可以实现各个演唱端之间的精准时钟同步,保证了后续使用的时间戳的准确性。
进一步的,在建立合唱过程中,基于带时间戳的消息广播和网络启动延迟时间计算,精确计算出各个演唱端的启动延迟时间,并以此触发播放伴奏歌曲,实现了在音频数据前端采集时与伴奏进度的精准同步,从而保证后续混音时能够还原合唱真实效果,排除演唱端和观众网络对多路演唱音频和伴奏的传输延迟引起的合唱效果失真,保证了合唱质量。
进一步的,在合唱过程中,由各个演唱端定期获取自身的实时伴奏进度及其对应的第一时间戳广播给其他演唱端,使得其他的演唱端能够根据自身获取的实时伴奏进度和接收到的实时伴奏进度计算出平均伴奏进度来对自身播放伴奏歌曲的伴奏进度进行校正;由此可以减少演唱音频和伴奏的同步误差,降低伴奏进度在播放过程中所累计的误差对于同步效果的影响。
进一步的,在拖动伴奏进度条情况下,设计了相应的处理逻辑来解决多个演唱端使用的各自的网络传输路径无法保证同步的问题,确保拖动伴奏进度条之后,在进行伴奏进度同步校正时,避免了使用其他演唱端的发生于拖动伴奏进度条之前所发出的伴奏进度广播,来将自身的伴奏进度又被同步到拖动进度条之前的伴奏进度位置,从而保证了伴奏同步准确性,保证合唱稳定进行。
进一步的,在产生拖动伴奏进度条的事件或者是出现卡顿时,在不改变伴奏歌曲播放速度和伴奏进度位置情况下,通过改变演唱音频混入的伴奏进度位置来校正到新的伴奏进度上,可以确保混音时不会出现合成错误,保证混音准确性。
附图说明
图1是一个示例的硬件环境示意图;
图2是一个实施例的基于网络直播的实时合唱同步方法流程图;
图3是一个示例的时钟同步时序图;
图4是一个示例的播放伴奏歌曲的时序图;
图5是一个示例的伴奏同步信息生成流程图;
图6是一个示例的采集音视频数据框架图;
图7是一个示例的服务器执行同步处理流程图;
图8是一个示例的播放伴奏歌曲的时序图;
图9是一个示例的拖动伴奏进度条的同步流程图;
图10是一个实施例的基于网络直播的实时合唱同步装置的结构示意图;
图11是一个示例的网络直播系统结构示意图;
图12是一个示例的同台合唱场景示意图;
图13是另一个示例的同台合唱场景示意图;
图14是一个示例的合成视频图像示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在本申请实施例中,提及的“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上,例如,多个对象指两个或两个以上的对象。“包括”或者“包含”等类似的词语意指出现在“包括”或者“包含”前面的信息涵盖出现在“包括”或者“包含”后面列举的信息及其等同,并不排除其他信息。在本申请实施例中提及的“和/或”,表示可以存在三种关系,字符“/”一般表示前后关联对象是一种“或”的关系。
本申请提供了一种基于网络直播的实时合唱同步技术方案,在进行实时合唱时,实现多个演唱端(演唱用户的客户端)与伴奏歌曲之间的精准同步,使得实时合唱用户伴奏同步误差在极小范围内,在该网络直播系统中,多个处于异地的演唱端可以通过附近的服务器接入到系统中,建立各个演唱端之间与服务器的互连并进行实时合唱。
多个演唱端通过网络直播系统的服务器直播互连,并在直播过程中进行在线的实时合唱,参考图1所示,图1是一个示例的硬件环境示意图,如图1中,在某些场景下,演唱端可以划分为主演唱端和从演唱端两种角色,其中,主演唱端一般是指合唱发起者,从演唱端一般是指合唱接受者;对于合唱的呈现形式可以有多种,异地的主演唱端和从演唱端可以分别接入到服务器1和服务器2上,再接入到直播服务器中,直播服务器可以实现在线音频合唱、在线音视频合唱、在线KTV舞台场景的合唱等,采用本申请的技术方案,不同的演唱端可以在同一个虚拟舞台背景上实现实时合唱,具体实现时,以伴奏歌曲的MV视频帧作为背景图像渲染成舞台背景,再通过网络直播系统上提取直播的视频图像,从视频图像中抠出各个演唱端的人像图像,然后将人像图像渲染到舞台背景上形成虚拟同台场景,结合音频混流从形成了在线KTV舞台场景的合唱效果,并将合唱的音视频推送给观众端,实现了在网络直播中的实时同步合唱。
基于上述网络直播系统,本申请提供了一种基于网络直播的实时合唱同步方法,如图2所示,图2是一个实施例的基于网络直播的实时合唱同步方法流程图,包括如下步骤:
S10,获取各个演唱端之间实现伴奏歌曲播放同步所对应的启动延迟时间,并控制各个演唱端按照所述启动延迟时间播放所述伴奏歌曲。
此步骤中,分布于各地的演唱端的声音通过网络传输过程中,存在网络延迟,为了在同一首伴奏歌曲场景下进行合唱,需要实现各个演唱端的伴奏歌曲之间的播放同步,从而使得各个演唱端可以进行同步演唱,因此首先获取各个演唱端在启动播放伴奏歌曲时实现伴奏歌曲播放同步时对应的启动延迟时间,从而实现在启动时实现在相同时刻同步播放伴奏歌曲的效果。
在一个实施例中,在步骤S10的获取各个演唱端相对于同步启动伴奏的启动延迟时间之前,还可以将各个演唱端就近接入到服务器;然后通过私有Ping心跳协议将各个演唱端与所接入的服务器进行时钟同步;其中,各个服务器预先通过NTP(Network TimeProtocol,网络时间协议)网络时间协议与基准时钟源周期进行时钟同步。
具体的,参与合唱的主演唱端和从演唱端可以就近接入到服务器,同时,由于不同的服务器的CPU主频不同等原因,容易导致服务器自身的时钟速度有偏差,在长时间运行后,偏差累计会使得不同服务器的时钟出现偏差,难以作为异地合唱用户的同步时钟源;据此,各个服务器通过NTP网络时间协议与基准时钟源(GPS或者北斗等卫星时钟源))周期进行时钟同步,参考图3,图3是一个示例的时钟同步时序图,该示例中以主演唱端和一个从演唱端为例,主演唱端和从演唱端分别与NTP基准时钟源进行时钟同步,由此可以确保各个演唱端接入到异地的不同服务器时也可以具备同步的时钟源。
同时,基于异地服务器已经同步过基准时钟源,各个演唱端通过私有Ping心跳协议与服务器进行时钟同步,如图中,主演唱端和从演唱端分别与所连接的服务器进行时钟同步,由于服务器的时钟已经同步,所以演唱端与各自接入的服务器进行Ping时钟同步后,各个演唱端之间的时钟就完成了同步。
上述实施例的方案,可以实现各个演唱端之间的精准时钟同步,保证了后续使用的时间戳的准确性。
在一个实施例中,对于步骤S10的播放伴奏歌曲的实现过程,参考图4所示,图4是一个示例的播放伴奏歌曲的时序图,可以包括如下:
(1)由主演唱端在频道内向各个从演唱端广播合唱请求,其中合唱请求携带请求时间戳。
如图4的示例,主演唱端启动合唱任务,通过服务器1和服务器2先向频道内的从演唱端广播合唱请求,利用同步的时钟,在生成合唱请求时添加时间戳,从而使得合唱请求中携带同步时钟的时间戳。
(2)在各个从演唱端收到所述合唱请求后,根据所述请求时间戳计算出自身与主演唱端之间的网络延迟,并将所述网络延迟回复给所述主演唱端。
具体的,其他各个从演唱端收到合唱请求后,根据同步时钟及合唱请求中携带的时间戳,可以计算出自身与主演唱端之间的网络延迟t,在从演唱端响应合唱请求同意合唱后,携带自身的网络延t回复主演唱端;如图4,从演唱端计算出网络延迟t回复主演唱端。
(3)由所述主演唱端根据各个从演唱端的网络延迟计算出最大网络延迟,并将所述最大网络延迟广播至各个从演唱端。
此步骤中,主演唱端根据所有参与合唱的从演唱端的网络延迟t1、t2、……可以计算出最大网络延迟tmax,然后广播启动合唱通知,并在合唱通知中携带最大网络延迟tmax,主演唱端在等待最大网络延迟tmax后播放伴奏歌曲;如图4,主演唱端将最大网络延迟tmax通过服务器1和服务器2广播至从演唱端。
(4)在各个从演唱端接收到所述最大网络延迟后,根据所述最大网络延迟计算自身播放伴奏歌曲的启动延迟时间,并在等待所述启动延迟时间后播放伴奏歌曲。
具体的,各个从演唱端收到启动合唱通知后,计算自身播放伴奏歌曲的启动延迟时间,启动延迟时间为自身的网络延迟t与所述最大网络延迟tmax之间的时间差值,即tmax-t,假设多个从演唱端,则各个从演唱端计算得到延迟tmax-t1、tmax-t1、……,时间后启动伴奏歌曲,从而实现各个演唱端同步启动播放伴奏歌曲。
上述实施例的技术方案,在建立合唱过程中,基于带时间戳的消息广播和网络延迟计算,精确计算出各个演唱端的启动延迟时间,并以此触发播放伴奏歌曲,实现了在音频数据前端采集时与伴奏进度的精准同步,从而保证后续混音时能够还原合唱真实效果,排除演唱端和观众网络对多路演唱音频和伴奏的传输延迟引起的合唱效果失真,保证了合唱质量。
S20,在合唱过程中,分别对各个演唱端进行语音采集获取音频帧,并将所述音频帧与所述伴奏歌曲播放的伴奏进度进行对应。
此步骤中,在各个演唱端同步启动播放伴奏歌曲后,各个演唱端用户在伴奏歌曲的协调下进行合唱演唱,在合唱过程中,各个演唱端利用声音采集设备来采集音频数据,例如可以利用智能手机的麦克风来采集音频数据,采集的音频数据编码成音频帧,同时读取当前伴奏歌曲播放过程所处的伴奏进度,将伴奏进度与音频帧进行对应关联后作为伴奏同步信息,即伴奏同步信息描述为伴奏进度与音频帧所对应关联关系。
为了实现在线KTV舞台场景的合唱,进一步的在采集音频数据的同时还采集各个演唱端的视频图像,可以利用麦克风、摄像设备或者其他音视频采集设备来采集演唱端的音频数据和视频图像,并将视频图像的编码成视频帧发送至服务器,服务器根据伴奏进度对所述演唱端的音频帧、视频帧与伴奏歌曲进行同步。
在将音频帧与伴奏歌曲播放的伴奏进度进行对应时,由于系统在采集麦克风音频的时候存在采集延迟,播放伴奏时也存在系统播放延迟,因此当系统在当前时刻回调采集的音频数据时,音频数据所对应的伴奏进度并非当前的伴奏文件的播放进度,而会存在耳返延迟。
据此,在一个实施例中,为了确保将音频帧与伴奏歌曲播放的伴奏进度进行精确对应起来,参考图5所示,图5是一个示例的伴奏同步信息生成流程图,步骤S20的将音频帧与所述伴奏歌曲播放的伴奏进度进行对应生成伴奏同步信息的过程,可以包括如下:
S201,获取各个演唱端进行语音采集的耳返延迟。
在演唱端启动播放伴奏歌曲后,通过麦克风采集演唱端的演唱音频,假设采集麦克风的音频数据存在采集延迟tCaptureDelay,播放伴奏歌曲存在播放延迟tPlayDelay,当在某个时刻回调采集的音频数据时,该音频对应伴奏歌曲的伴奏进度为TPOS,则实际对应的伴奏进度应该为TPOS-tCaptureDelay-tPlayDelay,即TPOS减去耳返延迟的差值,优选的,耳返延迟可以通过音频延迟设备测量。
S202,将采集到的音频数据编码成音频帧;具体的,演唱端将采集到的音频数据编码成音频帧进行传输,每帧音频帧对应有时间戳。
S203,获取所述伴奏歌曲的当前伴奏进度,根据所述当前伴奏进度及耳返延迟计算所述音频帧实际对应的伴奏进度。
在麦克风采集音频数据后,读取当前播放的伴奏歌曲所处的伴奏进度,根据TPOS-tCaptureDelay-tPlayDelay可以计算出来音频帧对应的实际伴奏进度,即演唱端实际上演唱时听到的伴奏歌曲所处的伴奏进度的位置。
上述实施例的技术方案,在确定所对应的伴奏进度是,剔除了音频数据采集过程中所存在的耳返延迟影响,从而使得音频帧与伴奏歌曲播放的伴奏进度对应关联结果更加准确,从而确保了伴奏同步信息准确性。
S30,分别将各个演唱端的音频帧及其伴奏进度发送至服务器,由所述服务器根据所述伴奏进度对所有演唱端的音频帧进行同步。
此步骤中,将各个演唱端采集的音频帧发送到服务器进行合唱同步和混流,各个演唱端持续将音频帧及其伴奏进度发送至服务器,服务器利用伴奏进度将同一时刻的音频帧的数据进行合唱合成,从而得到同步的合成音频流。
另外,如前述实施例描述,演唱端是将音频数据和视频图像进行编码成音频帧和视频帧发送到服务器,由此服务器根据伴奏进度对所有演唱端的音频帧、视频帧与伴奏歌曲进行同步;参考图6所示,图6是一个示例的采集音视频数据框架图,如图中主演唱端和从演唱端为例,主演唱端和从演唱端分别采集了视频信息、音频信息及伴奏同步信息,通过服务器1和服务器2分别上传至直播服务器,直播服务器可以通过歌曲库下载相应的伴奏歌曲,以伴奏歌曲的视频图像作为背景图像,与从演唱端的人像图像进行合成视频画面,同时将伴奏歌曲的音频数据作为伴奏,将演唱端的音频帧按照伴奏进度与伴奏歌曲进行混流得到合唱音频流;最后将合成视频画面和合唱音频流推送到观众端。
如上述实施例,在将视频信息、音频信息及伴奏同步信息,然后上传至服务器后,在服务器上可以进行视频合成和音频混流处理。据此,在一个实施例中,参考图7所示,图7是一个示例的服务器执行同步处理流程图,具体可以包括如下:
S301,获取所述伴奏歌曲的伴奏视频帧和伴奏音频帧;具体地,提取伴奏歌曲的伴奏视频和伴奏音频。
S302,分别根据各个演唱端的音频帧的语音音频帧时间戳与伴奏歌曲的伴奏音频帧时间戳进行同步;具体的,分别依据演唱端的音频帧的语音音频帧时间戳将音频帧与伴奏音频帧时间戳进行音频帧与伴奏歌曲音频数据之间的同步。
S303,分别根据各个演唱端的所述音频帧的语音音频帧时间戳与所述视频帧的视频帧时间戳进行同步;具体的,分别依据演唱端的视频帧的视频帧时间戳与语音音频帧时间戳实现各自的视频帧与音频帧之间的同步。
S304,将所述伴奏视频帧对应的伴奏视频帧时间戳与伴奏音频帧对应的伴奏音频帧时间戳进行同步;具体的,利用伴奏视频帧时间戳与伴奏音频帧时间戳,实现伴奏歌曲的伴奏音频与伴奏视频之间的同步。
上述实施例的技术方案,通过时间戳同步首先实现了音频数据与伴奏歌曲音频数据之间同步,然后利用伴奏同步信息进行各自视频帧与音频帧之间的同步,最后再进行伴奏歌曲的音频与视频之间的同步;由此实现了视频合成和音频混流处理,且各个演唱端的音视频与伴奏歌曲的音视频之间能够精准同步,由此确保了合唱协调性,达到逼真的虚拟现场直播合唱效果。
为了更加优化本申请的技术方案,下面结合若干在合唱过程中的实施例来进行阐述。
在演唱端的客户端播放伴奏歌曲时,一般可以认为伴奏歌曲的播放速度是均匀的,客户端的时钟也是均匀的,在该条件下只需要上传一次伴奏进度即可;但是真实情况下,由于伴奏歌曲启动时,主演唱端向各个从演唱端所广播的合唱启动的网络延迟与广播合唱请求的网络延迟并非完全相同,音频设备启动伴奏歌曲的文件进行播放的系统延迟也并非完全相同,同时,伴奏歌曲在播放过程也有可能会出现系统卡顿,从而导致伴奏进度同步出现误差的情况,当进行伴奏歌曲的伴奏进度同步或者伴奏歌曲播放出现卡顿后,伴奏歌曲的播放进度容易出现跳变,因此在服务器上有必要不断地校正音频帧及其伴奏进度之间的对应关系。
据此,本实施例的基于网络直播的实时合唱同步方法,参考图8所示,图8是一个示例的播放伴奏歌曲的时序图,在合唱过程中,还可以包括:
(1)由各个演唱端定期获取自身的实时伴奏进度及其对应的第一时间戳,将所述实时伴奏进度广播给其他演唱端。
此步骤中,通过在合唱过程中定期获取实时伴奏进度的位置(当前播放的伴奏进度位置减去播放伴奏歌曲的系统延迟),并携带同步时钟的时间戳广播给所述演唱端。如图8的示例,主演唱端通过服务器1和服务器2来广播自身的实时伴奏进度及其对应的第一时间戳至从演唱端。
(2)在接收到其他演唱端广播的实时伴奏进度后,根据自身获取的实时伴奏进度及其对应的第一时间戳以及接收到的所述实时伴奏进度及其对应的第一时间戳计算出平均伴奏进度。
此步骤中,各个演唱端在收到其他演唱端的伴奏进度后,对比自身的伴奏进度,并由此计算出平均伴奏进度。
(3)根据所述平均伴奏进度对自身播放所述伴奏歌曲的伴奏进度进行校正,将伴奏进度设置到指定位置,从而快速将伴奏进度收敛到准确位置。
如图8的示例,从演唱端计算出平均伴奏进度后,校正自身当前的伴奏进度,同时,主演唱端接收到从演唱端的伴奏进度计算出平均伴奏进度后,校正自身当前的伴奏进度。
上述实施例的技术方案,实现了各个演唱端的精确同步,减少演唱音频和伴奏歌曲之间的同步误差,降低伴奏进度在播放过程中所累计的误差对于同步效果的影响,还原演唱效果,还有利于后期玩法开发。
为了支持演唱端在合唱过程中可以拖动伴奏进度条的功能,比如伴奏歌曲开始后直接拉到副歌位置开始进行合唱,本申请的技术方案,还可以进一步设置对拖动伴奏进度条的处理方案。
据此,在一个实施例中,参考图9所示,图9是一个示例的拖动伴奏进度条的同步流程图,本申请基于网络直播的实时合唱同步方法在合唱过程中,还可以包括:
(1)当监听到拖动伴奏进度条的事件时,获取伴奏进度条被拖动后的目标伴奏进度及其对应的第二时间戳。
通过设置支持演唱端在合唱过程中可以拖动伴奏进度条的功能,当伴奏进度条被拖动时,读取拖动后的目标伴奏进度的位置POS,并记录对应时间戳。
(2)将所述目标伴奏进度广播至其他演唱端。
具体的,将伴奏进度与音频帧进行对应关联,并将目标伴奏进度广播至其他演唱端,由此其他演唱端可以确定当前发生了拖动伴奏进度条的动作以及拖动到的目标进度。
(3)当接收到其他演唱端发送的目标伴奏进度时,根据所述目标伴奏进度及其对应的第二时间戳调整自身播放所述伴奏歌曲的伴奏进度。
在拖动伴奏进度条后,需要及时根据调整后的目标伴奏进度来对自身当前的伴奏进度进行校正,将所有演唱端同步到目标伴奏进度位置处,如图9中,从演唱端接收到主演唱端广播的伴奏进度位置POS时,结合网络延迟t,可以将自身的伴奏进度校正定位到POS+t位置处。
在上述实施例中,拖动伴奏进度条后的处理逻辑与在伴奏歌曲播放过程自动的伴奏进度同步逻辑不同,当支持演唱端在演唱过程中可以通过拖动伴奏进度条的方式设置到指定伴奏进度位置开始进行合唱时,由于多个演唱端使用的各自的网络传输路径无法保证同步,所以必须要避免拖动伴奏进度条之后,又被其他演唱端的发生于拖动伴奏进度条之前所发出的伴奏进度广播所同步到拖动进度条之前的位置。
据此,在一个实施例中,在上述步骤(2)中,还可以包括如下步骤:
(a)当监听到拖动伴奏进度条的事件时,对目标伴奏进度添加用于识别的编号。
(b)当接收到其他演唱端发送的携带所述编号的目标伴奏进度时,根据所述编号与本地保存的自身广播至其他演唱端的目标伴奏进度的编号进行比对。
具体的,利用对演唱端拖动伴奏进度条的事件编号,并在该拖动动作而获取伴奏进度广播中携带编号,并将其广播至其他演唱端,其他演唱端根据接收到的目标进度所携带的编号与本地保存的自身广播至其他演唱端的目标伴奏进度的编号进行比对,从而判断所接收到的伴奏进度广播是否在拖动伴奏进度条之前发生的。
如图9中,主演唱端将携带编号的目标进度广播至各个从演唱端后,各个从演唱端将自身的伴奏进度校正定位到POS+t位置处后,向主演唱端返回校正的伴奏进度广播至主演唱端,在此过程中,当主演唱端接收到从演唱端返回的已校正的携带编号的目标伴奏进度时,需要将编号与之前所发出广播的编号比对是否一致,如果是一致说明从演唱端是根据该编号对应校正的。否则,如果由于网络问题,返回给主演唱端的伴奏进度是在拖动伴奏进度条之前发生的,那么如果按照该伴奏进度去进行校正,则会校正到拖动伴奏进度条之前的位置,从而会导致校正错误。
(c)若接收到的目标伴奏进度的编号小于本地保存的目标伴奏进度的编号,说明当前接收到的目标伴奏进度是发生在拖动伴奏进度条的事件之前发生的,丢弃该接收到的目标伴奏进度,避免利用错误的广播信息来校正伴奏进度。
如图示,如前述分析,如果伴奏进度广播是在拖动伴奏进度条之前发生的,则所接收到的伴奏进度是错误的,将其丢弃且不用于伴奏进度同步,从而可以确保所有演唱端能够准确同步到拖动伴奏进度条之后的目标伴奏进度位置上。
上述实施例的技术方案,设计了相应的处理逻辑来解决多个演唱端使用的各自的网络传输路径无法保证同步的问题,确保拖动伴奏进度条之后,在进行伴奏进度同步校正时,避免了使用其他演唱端的发生于拖动伴奏进度条之前所发出的伴奏进度广播,来将自身的伴奏进度又被同步到拖动进度条之前的伴奏进度位置,从而保证了伴奏同步准确性,保证合唱稳定进行。
在上述步骤S30的音频与伴奏同步过程中,服务器将接收到的各个演唱端的音频帧及其对应的伴奏进度,以伴奏歌曲播放为基准,将各个演唱端的音频帧同步到伴奏进度上进行混音,即根据伴奏进度来将音频帧进行同步到伴奏歌曲上。在一些情况下,当演唱端出现卡顿或者伴奏进度被拖动时,在服务器上必须将各个演唱端同步到准确的伴奏进度位置并继续进行混音。
据此,为了避免出现卡顿或者伴奏进度被拖动后对于伴奏同步的影响,在一个实施例中,本申请的基于网络直播的实时合唱同步方法,还可以包括如下:
(1)当所述服务器接收到同一段伴奏歌曲对应多个演唱的音频帧时,选择最后一段伴奏歌曲对应音频帧,以该选择的音频帧对应的伴奏进度进行同步.
如果演唱端的伴奏进度条向前拖动或者伴奏卡顿,在混音时的同一段伴奏会对应有演唱端的两段音频帧数据,此时以面一段音频帧为准,即将拖动后或者卡顿后的麦克风所采集音频数据来进行同步。
(2)当检测到向后拖动伴奏进度条的事件时,将语音采集得到的音频帧与拖动后的伴奏进度进行对应。
具体的,如果演唱端的伴奏进度条向后拖动,相当于混音是有一段伴奏没有对应的该演唱端的演唱音频,此时是没有接收到该演唱端所发送的音频帧数据的,可以在同步到了所拖动的指定长度的位置后重新开始进行混音。
上述实施例的技术方案中,结合伴奏歌曲是多个演唱端共享的情况,当产生拖动伴奏进度条的事件或者是出现卡顿时,在不改变伴奏歌曲播放速度和伴奏进度位置情况下,通过改变演唱音频混入的伴奏进度位置来校正到新的伴奏进度上,可以确保混音时不会出现合成错误,保证混音准确性。
以上为基于网络直播的实时合唱同步方法的实施例,下面阐述基于网络直播的实时合唱同步装置的实施例。
参考图10所示,图10是一个实施例的基于网络直播的实时合唱同步装置的结构示意图,包括:
启动模块10,用于获取各个演唱端之间实现伴奏歌曲播放同步所对应的启动延迟时间,并控制各个演唱端按照所述启动延迟时间播放所述伴奏歌曲;
采集模块20,用于在合唱过程中,分别对各个演唱端进行语音采集获取音频帧,并将所述音频帧与所述伴奏歌曲播放的伴奏进度进行对应;
发送模块30,用于分别将各个演唱端的音频帧及其伴奏进度发送至服务器,由所述服务器根据所述伴奏进度对所述演唱端的音频帧进行同步。
本实施例的基于网络直播的实时合唱同步装置可执行本申请的实施例所提供的一种基于网络直播的实时合唱同步方法,其实现原理相类似,本申请各实施例中的基于网络直播的实时合唱同步装置中的各模块所执行的动作是与本申请各实施例中的基于网络直播的实时合唱同步方法中的步骤相对应的,对于基于网络直播的实时合唱同步装置的各模块的详细功能描述具体可以参见前文中所示的对应的基于网络直播的实时合唱同步方法中的描述,此处不再赘述。
下面阐述网络直播系统的实施例。
本申请实施例的基于网络直播的实时合唱同步方法,可以应用于网络直播系统,可以实现在线KTV舞台场景的合唱功能,同时各个参与合唱的演唱端还可以在KTV舞台场景中进行直播互动。
参考图11所示,图11是一个示例的网络直播系统结构示意图,包括:多个客户端和服务器端(包括客户端接入的服务器以及直播服务器),在该网络直播系统中,可以提供多种类型(娱乐/交友/约战/游戏/教育等)的直播模板,主播可以通过客户端来进行网络直播,理论上每个主播都可以成为参与合唱的演唱端,在直播合唱过程中,客户端可以采集主播的音频信息和视频信息并上传至服务器端,服务器端根据上传的音频信息和视频信息进行同步合唱合成,同时将合唱产生的音视频流推送到观众端。
客户端主要实现如下功能:
(1)音视频采集功能;
通过摄像头采集主播的视频图像,通过麦克风采集主播的音频数据,对主播的人像图像进行抠图得到Alpha图像,将视频帧及Alpha图像进行横向拼接,使用SEI信息传递图像相关信息,包括AI关键点信息,人脸、手势和头部等关键点信息,开播特效信息,玩法礼物信息,以及其他信息等等。
(2)发起合唱请求;
主演唱端发起合唱请求,通过服务器端在频道内进行广播,从演唱端响应合唱请求,并建立与主演唱端的合唱连接。
(3)美颜、虚拟特效处理功能;
开播前配置的美颜信息,如美白、带眼镜等,处理直播过程中收到的虚拟礼物特效等等。
(4)伴奏进度对应关联;
在合唱过程中,播放伴奏歌曲,对麦克风采集的音频数据与伴奏歌曲的伴奏进度进行对应关联。
服务器端主要实现如下功能:
(1)生成在线KTV舞台场景功能;
从歌曲库下载伴奏歌曲MV,并提取伴奏歌曲的视频图像作为舞台的背景图像。
(2)音频帧的混流功能;
根据演唱端上传的音频帧对应的伴奏进度,将各个演唱端的音频帧同步混流到伴奏歌曲的音频数据上。
(3)视频帧合成功能;
根据视频帧及Alpha图像,抠出各个主播的人像图像,对人像图像进行归一化处理;将各个演唱端上传的视频帧与伴奏歌曲的视频帧进行同步合成,从而得到KTV舞台的合成视频图像。
(3)虚拟特效内容渲染功能;
在直播合唱过程中,在KTV舞台场景中渲染各种虚拟特效、玩法礼物等。
参考图12所示,图12是一个示例的同台合唱场景示意图,图中是一个网络直播界面图,其中,直播窗口里面,主演唱端和从演唱端的人像图像抠图后合成到一个背景图像上,从而可以形成一个虚拟物体场景;又如图13所示,图13是另一个示例的同台合唱场景示意图;图中是一个KTV舞台场景的合成视频图像,图中的主演唱端和从演唱端的人像图像抠图后合成虚拟的灯光舞台上。
对于图12所示的同台合唱场景,其合成过程可以参考图14所示,图14是一个示例的合成视频图像示意图,如图中,主演唱端和从演唱端的人像图像利用Alpha图像从其视频帧中抠图出来后,叠加混画到背景图像上。
上述实施例的网络直播系统,实现异地的演唱端之间能够得到沉浸式共演音视频效果,提升了主播互动体验;实际使用中,可以根据伴奏歌曲的MV内容进行实时切换各类场景,不需要彩排,提升了使用便利性。
利用本申请的技术,在线上实时合唱时用户伴奏同步误差达到10ms以内,合唱主观延迟(对方演唱音频与本地伴奏延迟)在70ms左右,达到专业唱歌主播的合唱效果,合唱玩法更具有专业性;通过对比同步后演唱音频和伴奏的波形偏差,可以检测演唱端的抢拍或者掉拍的情况,并进行打分PK,极大增加玩法乐趣。
结合图12至14所示,本申请的技术方案可以应用与元宇宙场景中,通过形成一个虚拟空间,推送给观众端进行观看,实现沉浸式体验,作为示例,由元宇宙服务系统为用户创建独立的元宇宙场景,搭建出一个与现实世界并行的虚拟空间,通过利用科技手段进行链接与创造出一个现实世界映射与交互的虚拟世界,使得在该虚拟空间中各个演唱者的人物形象可以进行自由的虚拟互动,同时主播可以同虚拟观众用户之间进行互动,虚拟观众用户之间也可以进行互动。
观众用户可以通过AR眼镜、显示设备完成人机交互,每个演唱端和观众端在元宇宙都要相应的身份标识,标识其在元宇宙中的唯一性,各个观众端可以通过AR眼镜接入,用户提供识别元宇宙标签与识别显示类设备中的内容以及网络的接入,并实现基本的控制操作,如手势移动切换,选择退出等功能,AR眼镜接收与直播服务器的直播视频流数据,显示类设备用于信息的显示,可以为元宇宙场景显示信息,同时为用户提供元宇宙信息,方便用户接入。
例如,可以在元宇宙空间中搭建一个如图13所示的虚拟KTV舞台,在该虚拟舞台周围可以构建虚拟观众席,每个观众席可以提供给观众用户进行接入,每个观众用户接入到虚拟现场后,匹配到一个观众席座位,并能够从观众席视觉观看虚拟KTV舞台上的演唱者,通过AR眼镜等设备,每个观众用户就可以与其他观众用户进行虚拟互动,比如在虚拟现场进行走动与任意观众用户互动,达到了虚拟真实生活中,拉近了观众用户之间的情感交互,提供了现场的沉浸式体验,对于合唱的演唱者而言,除了在KTV舞台上与合唱的演唱者进行互动外,还可以与任意观众进行互动,从而将线上合唱由分隔时空的直播互动,变成了在元宇宙空间中虚拟现实中的面对面互动的合唱互动效果,在此过程中,采用本申请的实时合唱同步方案,实现了各个演唱端的合唱同步,为用户提供沉浸式应用体验。
以上为基于元宇宙技术的一个应用示例,由于元宇宙场景所构建的与现实世界映射与交互的虚拟世界,以及新型社会体系的数字生活空间。而利用本申请提供的技术方案后,能够进一步加强其生态体系构建,从而为用户提供更多高质量的体验。
下面阐述电子设备及计算机可读存储介质的实施例。
一种电子设备,该电子设备,其包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的基于网络直播的实时合唱同步方法。
一种计算机可读存储介质,所述存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行上述的基于网络直播的实时合唱同步方法。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (15)

1.一种基于网络直播的实时合唱同步方法,其特征在于,包括:
获取各个演唱端之间实现伴奏歌曲播放同步所对应的启动延迟时间,并控制各个演唱端按照所述启动延迟时间播放所述伴奏歌曲;
在合唱过程中,分别对各个演唱端进行语音采集获取音频帧,并将所述音频帧与所述伴奏歌曲播放的伴奏进度进行对应;
分别将各个演唱端的音频帧及其伴奏进度发送至服务器,由所述服务器根据所述伴奏进度对所述演唱端的音频帧进行同步。
2.根据权利要求1所述的基于网络直播的实时合唱同步方法,其特征在于,所述演唱端包括主演唱端和至少一个从演唱端;
所述获取各个演唱端之间实现伴奏歌曲播放同步所对应的启动延迟时间,并控制各个演唱端按照所述启动延迟时间播放所述伴奏歌曲,包括:
由主演唱端在频道内向各个从演唱端广播合唱请求,其中,所述合唱请求携带请求时间戳;
在各个从演唱端收到所述合唱请求后,根据所述请求时间戳计算出自身与主演唱端之间的网络延迟,并将所述网络延迟回复给所述主演唱端;
由所述主演唱端根据各个从演唱端的网络延迟计算出最大网络延迟,并将所述最大网络延迟广播至各个从演唱端;其中,所述主演唱端在等待所述最大网络延迟后播放伴奏歌曲;
在各个从演唱端接收到所述最大网络延迟后,根据所述最大网络延迟计算自身播放伴奏歌曲的启动延迟时间,并在等待所述启动延迟时间后播放伴奏歌曲;其中,所述启动延迟时间为自身的网络延迟与所述最大网络延迟之间的时间差值。
3.根据权利要求1所述的基于网络直播的实时合唱同步方法,其特征在于,在所述获取各个演唱端相对于同步启动伴奏的启动延迟时间之前,还包括:
将各个演唱端就近接入到服务器;其中,各个服务器预先通过NTP网络时间协议与基准时钟源周期进行时钟同步;
通过私有Ping心跳协议将各个演唱端与所接入的服务器进行时钟同步。
4.根据权利要求1所述的基于网络直播的实时合唱同步方法,其特征在于,在合唱过程中,还包括:
由各个演唱端定期获取自身的实时伴奏进度及其对应的第一时间戳,将所述实时伴奏进度广播给其他演唱端;
在接收到其他演唱端广播的实时伴奏进度后,根据自身获取的实时伴奏进度及其对应的第一时间戳以及接收到的所述实时伴奏进度及其对应的第一时间戳计算出平均伴奏进度;
根据所述平均伴奏进度对自身播放所述伴奏歌曲的伴奏进度进行校正。
5.根据权利要求4所述的基于网络直播的实时合唱同步方法,其特征在于,在合唱过程中,还包括:
当监听到拖动伴奏进度条的事件时,获取伴奏进度条被拖动后的目标伴奏进度及其对应的第二时间戳;
将所述目标伴奏进度广播至其他演唱端;
当接收到其他演唱端发送的目标伴奏进度时,根据所述目标伴奏进度及其对应的第二时间戳调整自身播放所述伴奏歌曲的伴奏进度。
6.根据权利要求5所述的基于网络直播的实时合唱同步方法,其特征在于,当监听到拖动伴奏进度条的事件时,还包括:
对所述目标伴奏进度添加编号,并将携带所述编号的目标伴奏进度广播至其他演唱端;
当接收到其他演唱端发送的携带所述编号的目标伴奏进度时,根据所述编号与本地保存的自身广播至其他演唱端的目标伴奏进度的编号进行比对;
若所述接收到的目标伴奏进度的编号小于本地保存的目标伴奏进度的编号,丢弃该接收到的目标伴奏进度。
7.根据权利要求4所述的基于网络直播的实时合唱同步方法,其特征在于,所述分别对各个演唱端进行语音采集获取音频帧,并将所述音频帧与所述伴奏歌曲播放的伴奏进度进行对应,包括:
获取各个演唱端进行语音采集的耳返延迟;
将采集到的音频数据编码成音频帧;
获取所述伴奏歌曲的当前伴奏进度,根据所述当前伴奏进度及耳返延迟计算所述音频帧实际对应的伴奏进度。
8.根据权利要求4所述的基于网络直播的实时合唱同步方法,其特征在于,在合唱过程中,还包括:
采集各个演唱端的视频帧;
将所述视频帧发送至服务器,使得所述服务器根据所述伴奏进度对所述演唱端的音频帧、视频帧与伴奏歌曲进行同步。
9.根据权利要求8所述的基于网络直播的实时合唱同步方法,其特征在于,所述根据所述伴奏进度对所述演唱端的音频帧、视频帧与伴奏歌曲进行同步将,包括:
获取所述伴奏歌曲的伴奏视频帧和伴奏音频帧;
分别根据各个演唱端的音频帧的语音音频帧时间戳与伴奏歌曲的伴奏音频帧时间戳进行同步;
分别根据各个演唱端的所述音频帧的语音音频帧时间戳与所述视频帧的视频帧时间戳进行同步;
将所述伴奏视频帧对应的伴奏视频帧时间戳与伴奏音频帧对应的伴奏音频帧时间戳进行同步。
10.根据权利要求1所述的基于网络直播的实时合唱同步方法,其特征在于,在合唱过程中,还包括:
当所述服务器接收到同一段伴奏歌曲对应多个演唱的音频帧时,选择最后一段伴奏歌曲对应音频帧,以该选择的音频帧对应的伴奏进度进行同步。
11.根据权利要求10所述的基于网络直播的实时合唱同步方法,其特征在于,在合唱过程中,还包括:
当检测到向后拖动伴奏进度条的事件时,将语音采集得到的音频帧与拖动后的伴奏进度进行对应。
12.一种基于网络直播的实时合唱同步装置,其特征在于,包括:
启动模块,用于获取各个演唱端之间实现伴奏歌曲播放同步所对应的启动延迟时间,并控制各个演唱端按照所述启动延迟时间播放所述伴奏歌曲;
采集模块,用于在合唱过程中,分别对各个演唱端进行语音采集获取音频帧,并将所述音频帧与所述伴奏歌曲播放的伴奏进度进行对应;
发送模块,用于分别将各个演唱端的音频帧及其伴奏进度发送至服务器,由所述服务器根据所述伴奏进度对所述演唱端的音频帧进行同步。
13.一种网络直播系统,其特征在于,包括:至少一个客户端和服务器端;所述客户端用于获取演唱端的音频帧及其伴奏进度并上传至服务器端;
所述客户端用于执行权利要求1-11任一项所述的基于网络直播的实时合唱同步方法的步骤;
所述服务器端用于执行根据所述伴奏进度对所述演唱端的音频帧进行同步。
14.一种电子设备,其特征在于,该电子设备,其包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行权利要求1-11任一项所述的基于网络直播的实时合唱同步方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行权利要求1-11任一项所述的基于网络直播的实时合唱同步方法的步骤。
CN202210837532.5A 2022-04-14 2022-07-15 基于网络直播的实时合唱同步方法、装置及网络直播系统 Pending CN116962747A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210387980 2022-04-14
CN202210387980X 2022-04-14

Publications (1)

Publication Number Publication Date
CN116962747A true CN116962747A (zh) 2023-10-27

Family

ID=88441504

Family Applications (7)

Application Number Title Priority Date Filing Date
CN202210593879.XA Pending CN116962743A (zh) 2022-04-14 2022-05-27 视频图像编码、抠图方法和装置及直播系统
CN202210594789.2A Pending CN116962745A (zh) 2022-04-14 2022-05-27 视频图像的混画方法、装置及直播系统
CN202210593874.7A Pending CN116962742A (zh) 2022-04-14 2022-05-27 网络直播的视频图像数据传输方法、装置及直播系统
CN202210594781.6A Pending CN116962744A (zh) 2022-04-14 2022-05-27 网络直播的连麦互动方法、装置及直播系统
CN202210837530.6A Pending CN116962746A (zh) 2022-04-14 2022-07-15 基于连麦直播的线上合唱方法、装置及线上合唱系统
CN202210837532.5A Pending CN116962747A (zh) 2022-04-14 2022-07-15 基于网络直播的实时合唱同步方法、装置及网络直播系统
CN202210864547.0A Pending CN116962748A (zh) 2022-04-14 2022-07-21 连麦直播的视频图像渲染方法、装置及视频直播系统

Family Applications Before (5)

Application Number Title Priority Date Filing Date
CN202210593879.XA Pending CN116962743A (zh) 2022-04-14 2022-05-27 视频图像编码、抠图方法和装置及直播系统
CN202210594789.2A Pending CN116962745A (zh) 2022-04-14 2022-05-27 视频图像的混画方法、装置及直播系统
CN202210593874.7A Pending CN116962742A (zh) 2022-04-14 2022-05-27 网络直播的视频图像数据传输方法、装置及直播系统
CN202210594781.6A Pending CN116962744A (zh) 2022-04-14 2022-05-27 网络直播的连麦互动方法、装置及直播系统
CN202210837530.6A Pending CN116962746A (zh) 2022-04-14 2022-07-15 基于连麦直播的线上合唱方法、装置及线上合唱系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202210864547.0A Pending CN116962748A (zh) 2022-04-14 2022-07-21 连麦直播的视频图像渲染方法、装置及视频直播系统

Country Status (1)

Country Link
CN (7) CN116962743A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117196999B (zh) * 2023-11-06 2024-03-12 浙江芯劢微电子股份有限公司 一种自适应视频流图像边缘增强方法和系统

Also Published As

Publication number Publication date
CN116962745A (zh) 2023-10-27
CN116962744A (zh) 2023-10-27
CN116962742A (zh) 2023-10-27
CN116962743A (zh) 2023-10-27
CN116962748A (zh) 2023-10-27
CN116962746A (zh) 2023-10-27

Similar Documents

Publication Publication Date Title
EP3750301B1 (en) Simulating a local experience by live streaming sharable viewpoints of a live event
CN107027050B (zh) 辅助直播的音视频处理方法及装置
CN108259989B (zh) 视频直播的方法、计算机可读存储介质和终端设备
US20230007313A1 (en) Audiovisual collaboration system and method with latency management for wide-area broadcast and social media-type user interface mechanics
JP5916244B2 (ja) 映像再生システム
CN111028818B (zh) 合唱方法、装置、电子设备和存储介质
CN106060526A (zh) 一种基于双摄像头的直播方法及装置
CN110910860A (zh) 线上ktv实现方法、装置、电子设备及存储介质
CN116962747A (zh) 基于网络直播的实时合唱同步方法、装置及网络直播系统
CN112567758A (zh) 具有时延管理和社交媒体类型用户界面机构的视听实况流系统和方法
CN107852523B (zh) 用于在终端之间同步媒体渲染的方法、终端和设备
CN110650353B (zh) 多人连麦混画方法及装置、存储介质及电子设备
CN114500572B (zh) 多设备的同步方法及装置、电子设备、存储介质
CN114079799A (zh) 一种基于虚拟现实的音乐直播系统和方法
JP7469525B1 (ja) 時刻調整システム、端末装置、およびサーバ装置
CN112584180B (zh) 基于点唱终端设备的直播方法、装置和点唱终端设备
WO2023042436A1 (ja) 情報処理装置および方法、並びにプログラム
CN117676184A (zh) 直播合唱音频的同步方法、计算机设备及存储介质
CN117640987A (zh) 一种线下线上实时合唱方法、设备及介质
CN116389780A (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