CN114979783B - 一种音视频播放方法、装置和电子设备 - Google Patents
一种音视频播放方法、装置和电子设备 Download PDFInfo
- Publication number
- CN114979783B CN114979783B CN202110217016.8A CN202110217016A CN114979783B CN 114979783 B CN114979783 B CN 114979783B CN 202110217016 A CN202110217016 A CN 202110217016A CN 114979783 B CN114979783 B CN 114979783B
- Authority
- CN
- China
- Prior art keywords
- playing
- audio
- video image
- data
- video
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 140
- 230000002452 interceptive effect Effects 0.000 claims abstract description 137
- 239000000872 buffer Substances 0.000 claims description 108
- 230000003993 interaction Effects 0.000 claims description 57
- 230000003139 buffering effect Effects 0.000 claims description 43
- 238000004590 computer program Methods 0.000 claims description 35
- 230000008569 process Effects 0.000 claims description 35
- 238000003860 storage Methods 0.000 claims description 18
- 238000012544 monitoring process Methods 0.000 claims description 17
- 210000005069 ears Anatomy 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 description 82
- 230000001360 synchronised effect Effects 0.000 description 49
- 238000010586 diagram Methods 0.000 description 20
- 238000012545 processing Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 13
- 230000002829 reductive effect Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 230000006872 improvement Effects 0.000 description 7
- 230000035945 sensitivity Effects 0.000 description 6
- 238000000926 separation method Methods 0.000 description 6
- 230000001934 delay Effects 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 230000002411 adverse Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000009191 jumping Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/439—Processing of audio elementary streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本申请实施例提供一种音视频播放方法、装置和电子设备。音视频播放方法包括:识别当前应用场景;根据所述当前应用场景配置音频播放和/或视频图像播放的播放策略,包括:在所述当前应用场景为交互类应用场景时,配置追赶策略为音频播放和/或视频图像播放的播放策略。根据本申请实施例的方法,针对音视频播放场景进行识别,根据具体的应用场景选择对应的播放策略,可以大大提高音视频播放的用户体验。
Description
技术领域
本申请涉及智能终端技术领域,特别涉及一种音视频播放方法、装置和电子设备。
背景技术
随着分布式技术的发展,以智能手机为中心的分布式跨设备业务越来越多。在目前的分布式跨设备业务,一种比较常见的应用场景是音视频分离应用场景,采用不同的采集设备分别采集音频数据和视频图像数据,采用不同的采集设备分别播放音频数据和视频图像数据。例如,手机与周边的大屏、摄像头、麦克风、音箱配合实现与远端进行视频电话业务。
在音视频分离应用场景中,音频数据与视频图像数据由数据输出端分别传输到音频播放端(例如,智能音箱)以及视频图像播放端(例如,大屏电视)后播放。在音频数据与视频图像数据传输环节中,存在传输错误、传输信号强度不稳、传输延迟等不利因素,这些不利因素会导致音频播放以及视频图像播放环节中出现播放卡顿、播放延迟等情况,从而大大降低用户体验。
发明内容
针对现有技术下音视频分离应用场景中用户体验不佳的问题,本申请提供了一种音视频播放方法、装置和电子设备;本申请还提供了一种音频播放方法、装置和电子设备;本申请还提供了一种视频图像播放方法、装置和电子设备;本申请还提供一种计算机可读存储介质。
本申请实施例采用下述技术方案:
第一方面,本申请提供一种音视频播放方法,包括:
识别当前应用场景;
根据所述当前应用场景配置音频播放和/或视频图像播放的播放策略,包括:
在所述当前应用场景为交互类应用场景时,配置追赶策略为音频播放和/或视频图像播放的播放策略,其中,所述追赶策略包括:
调整所述音频播放和/或所述视频图像播放,令所述音频播放和/或所述视频图像播放的播放进度追赶音视频数据输出的进度,以使得所述音频播放和/或所述视频图像播放相较于音视频数据输出的播放延迟小于等于预设的交互场景播放延迟阈值。
根据本申请实施例的方法,针对音视频播放场景进行识别,根据具体的应用场景选择对应的播放策略,可以大大提高音视频播放的用户体验。
进一步的,根据本申请实施例的方法,针对交互类应用场景采用追赶策略进行音视频播放,可以确保音视频播放的播放延迟满足交互类应用场景的应用需求,从而大大提高交互类应用场景的用户体验。
在上述第一方面的一种可行的应用方案中,所述方法还包括:
在所述当前应用场景为非交互类应用场景时,配置平滑播放策略为所述音频播放和/或所述视频图像播放的播放策略。
根据本申请实施例的方法,针对非交互类应用场景采用追赶策略进行音视频播放,可以确保音视频播放的流畅度满足非交互类应用场景的应用需求,从而大大提高交互类应用场景的用户体验。
在上述第一方面的一种可行的应用方案中,所述配置追赶策略为音频播放和/或视频图像播放的播放策略,包括:
配置所述追赶策略为所述音频播放以及所述视频图像播放的播放策略。
在上述第一方面的一种可行的应用方案中,所述配置追赶策略为音频播放和/或视频图像播放的播放策略,包括:
配置所述追赶策略为所述音频播放的播放策略;
配置同步策略为所述视频图像播放的播放策略,其中,所述同步策略包括:
以所述音频播放的播放进度为基准,对所述视频图像播放进行调整,使得所述视频图像播放的播放进度与所述音频播放的播放进度同步。
在上述第一方面的一种可行的应用方案中,所述配置追赶策略为音频播放和/或视频图像播放的播放策略,包括:
配置所述追赶策略为所述视频图像播放的播放策略;
配置同步策略为所述音频播放的播放策略,其中,所述同步策略包括:
以所述视频图像播放的播放进度为基准,对所述音频播放进行调整,使得所述音频播放的播放进度与所述视频图像播放的播放进度同步。
第二方面,本申请提供一种音频播放方法,包括:
当音频播放的播放策略为追赶策略时,获取预设的交互场景播放延迟阈值;
基于所述交互场景播放延迟阈值进行所述音频播放,在所述音频播放的执行过程中,调整所述音频播放,令所述音频播放的播放进度追赶音视频数据输出的进度,以使得所述音频播放相较于音视频数据输出的播放延迟小于等于预设的交互场景播放延迟阈值。
在上述第二方面的一种可行的应用方案中,所述基于所述交互场景播放延迟阈值进行所述音频播放,包括:
监控所述音频播放相对于音视频数据输出的播放延迟;
当所述音频播放的播放延迟超出所述交互场景播放延迟阈值时,调整所述音频播放,以使得所述音频播放的播放延迟小于等于所述交互场景播放延迟阈值。
在上述第二方面的一种可行的应用方案中,所述基于所述交互场景播放延迟阈值进行所述音频播放,包括:
监控所述音频播放的未播放数据的数据缓存量;
当所述音频播放的未播放数据的数据缓存量超出预设的数据缓存阈值时,调整所述音频播放的未播放数据的数据缓存量,使得所述音频播放的未播放数据的数据缓存量小于等于预设的数据缓存阈值。
在上述第二方面的一种可行的应用方案中,所述调整所述音频播放,包括:
删除音频缓存中的全部或部分的未播放数据,以使得所述音频播放跳过被删除的未播放数据,从而使得所述音频播放的播放进度追赶音视频数据输出的进度。
在上述第二方面的一种可行的应用方案中,所述删除音频缓存中的全部或部分的未播放数据,包括:
监控音频缓存中音频数据的波形、频率,在需要删除音频缓存中的未播放数据时,优先删除对于人耳不敏感的音频数据。
第三方面,本申请提供一种视频图像播放方法,包括:
当视频图像播放的播放策略为追赶策略时,获取预设的交互场景播放延迟阈值;
基于所述交互场景播放延迟阈值进行所述视频图像播放,在所述视频图像播放的执行过程中,调整所述视频图像播放,令所述视频图像播放的播放进度追赶音视频数据输出的进度,以使得所述视频图像播放相较于音视频数据输出的播放延迟小于等于预设的交互场景播放延迟阈值。
在上述第三方面的一种可行的应用方案中,所述基于所述交互场景播放延迟阈值进行所述视频图像播放,包括:
监控所述视频图像播放相对于音视频数据输出的播放延迟;
当所述视频图像播放的播放延迟超出所述交互场景播放延迟阈值时,调整所述视频图像播放,以使得所述视频图像播放的播放延迟小于等于所述交互场景播放延迟阈值。
在上述第三方面的一种可行的应用方案中,所述基于所述交互场景播放延迟阈值进行所述视频图像播放,包括:
监控所述视频图像播放的未播放数据的数据缓存量;
当所述视频图像播放的未播放数据的数据缓存量超出预设的数据缓存阈值时,调整所述视频图像播放的未播放数据的数据缓存量,使得所述视频图像播放的未播放数据的数据缓存量小于等于预设的数据缓存阈值。
在上述第三方面的一种可行的应用方案中,所述调整所述视频图像播放,包括:
删除视频图像缓存中的全部或部分的未播放数据,以使得所述视频图像播放跳过被删除的未播放数据,从而使得所述视频图像播放的播放进度追赶音视频数据输出的进度。
第四方面,本申请提供一种音视频播放装置,装置包括:
场景识别模块,其用于识别当前应用场景;
播放策略配置模块,其用于在所述当前应用场景为交互类应用场景时,配置追赶策略为音频播放和/或视频图像播放的播放策略,其中,所述追赶策略包括:
调整所述音频播放和/或所述视频图像播放,令所述音频播放和/或所述视频图像播放的播放进度追赶音视频数据输出的进度,以使得所述音频播放和/或所述视频图像播放相较于音视频数据输出的播放延迟小于等于预设的交互场景播放延迟阈值。
第五方面,本申请提供一种音频播放装置,装置包括:
阈值获取模块,其用于当音频播放的播放策略为追赶策略时,获取预设的交互场景播放延迟阈值;
播放调整模块,其用于在进行所述音频播放的过程中调整所述音频播放,令所述音频播放的播放进度追赶音视频数据输出的进度,以使得所述音频播放相较于音视频数据输出的播放延迟小于等于预设的交互场景播放延迟阈值。
第六方面,本申请提供一种视频图像播放装置,装置包括:
阈值获取模块,其用于当视频图像播放的播放策略为追赶策略时,获取预设的交互场景播放延迟阈值;
播放调整模块,其用于在进行所述视频图像播放的过程中调整所述视频图像播放,令所述视频图像播放的播放进度追赶音视频数据输出的进度,以使得所述视频图像播放相较于音视频数据输出的播放延迟小于等于预设的交互场景播放延迟阈值。
第七方面,本申请提供一种音视频播放装置,装置包括:
场景识别模块,其用于识别当前应用场景;
播放策略配置模块,其用于根据所述当前应用场景配置音频播放和/或视频图像播放的播放策略,包括:在所述当前应用场景为交互类应用场景时,配置追赶策略为音频播放和/或视频图像播放的播放策略,其中,所述追赶策略包括:调整所述音频播放和/或所述视频图像播放,令所述音频播放和/或所述视频图像播放的播放进度追赶音视频数据输出的进度,以使得所述音频播放和/或所述视频图像播放相较于音视频数据输出的播放延迟小于等于预设的交互场景播放延迟阈值;
阈值获取模块,其用于当所述音频播放和/或所述视频图像播放的播放策略为追赶策略时,获取预设的交互场景播放延迟阈值;
播放调整模块,其用于在进行所述音频播放和/或所述视频图像播放的过程中调整所述音频播放和/或所述视频图像播放,令所述音频播放和/或所述视频图像播放的播放进度追赶音视频数据输出的进度,以使得所述音频播放和/或所述视频图像播放相较于音视频数据输出的播放延迟小于等于预设的交互场景播放延迟阈值。
第八方面,本申请提供一种音视频播放系统,系统包括:
音视频输出装置,其用于分别输出音频数据以及视频数据;以及,识别当前应用场景,在所述当前应用场景为交互类应用场景时,配置追赶策略为音频播放和/或视频图像播放的播放策略,其中,所述追赶策略包括:调整所述音频播放和/或所述视频图像播放,令所述音频播放和/或所述视频图像播放的播放进度追赶音视频数据输出的进度,以使得所述音频播放和/或所述视频图像播放相较于音视频数据输出的播放延迟小于等于预设的交互场景播放延迟阈值;
音频播放装置,其用于接收所述音频数据,按照所述音视频输出装置配置的所述音频播放的播放策略,播放所述音频数据;
视频图像播放装置,其用于接收所述视频图像数据,按照所述音视频输出装置配置的所述视频图像播放的播放策略,播放所述视频图像数据。
第九方面,本申请提供一种音视频播放系统,系统包括:
音频输出装置,其用于输出音频数据;
视频图像输出装置,其用于输出视频图像数据;
音视频播放装置,其用于:
接收所述音频数据以及所述视频图像数据;
识别当前应用场景,在所述当前应用场景为交互类应用场景时,配置追赶策略为音频播放和/或视频图像播放的播放策略,其中,所述追赶策略包括:调整所述音频播放和/或所述视频图像播放,令所述音频播放和/或所述视频图像播放的播放进度追赶音视频数据输出的进度,以使得所述音频播放和/或所述视频图像播放相较于音视频数据输出的播放延迟小于等于预设的交互场景播放延迟阈值;
按照所述音频播放的播放策略以及所述视频图像播放的播放策略,播放所述音频数据以及所述视频图像数据。
第十方面,本申请提供一种电子设备,所述电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备执行如上述第一方面所述的方法步骤。
第十一方面,本申请提供一种电子设备,所述电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备执行如上述第二方面所述的方法步骤。
第十二方面,本申请提供一种电子设备,所述电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备执行如上述第三方面所述的方法步骤。
第十三方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如上述第一~第三方面所述的的方法。
附图说明
图1所示为一音视频数据分别传输的应用场景示意图;
图2所示为一音视频数据分别传输的应用场景示意图;
图3所示为音视频数据分别播放的流程图;
图4所示为一音视频数据分别传输的应用场景示意图;
图5所示为根据本申请一实施例的音视频播放方法流程图;
图6所示为根据本申请一实施例的音视频播放系统的结构框图;
图7所示为根据本申请一实施例的音视频播放系统的结构框图;
图8所示为一音视频数据分别传输的应用场景示意图;
图9所示为根据本申请一实施例的音频播放方法流程图;
图10所示为根据本申请一实施例的音频播放方法流程图;
图11所示为AAC音频数据解码流程示意图;
图12所示为根据本申请一实施例的视频图像播放方法流程图;
图13所示为根据本申请一实施例的视频图像播放方法流程图;
图14所示为根据本申请一实施例的音视频播放方法流程图;
图15所示为根据本申请一实施例的音视频播放方法流程图;
图16所示为根据本申请一实施例的音视频播放方法部分流程图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
在音视频分离应用场景中,音视频数据传输环节的主要不利因素是传输延迟的波动。传输延迟的波动会导致音视频播放出现卡顿,从而降低用户体验。例如,图1所示为一音视频数据分别传输的应用场景示意图。如图1所示,无人机11针对小区建筑进行视频图像采集,将采集到的视频图像数据传输到手机13;麦克风12针对小区进行音频采集(例如,采集无人机11拍摄区域当前的环境音,采集导游针对无人机11拍摄区域的现场讲解语音),将采集到的音频数据传输到手机13。手机13在播放无人机11采集到的视频图像数据的同时播放麦克风12采集到的音频数据,从而使得手机13的用户可以身临其境的对小区进行虚拟游览。
一般的,当无人机11连续采集视频图像数据(例如,A11、A12、A13…)并依次发送到手机13;麦克风12连续采集与视频图像数据同步的音频数据(例如,B11、B12、B13…)并依次发送到手机13。
手机13按照数据接收顺序播放视频图像数据以及音频数据。在此过程中,如果视频图像数据传输延迟稳定,在无人机11连续进行视频图像数据的发送时,手机13也会连续的接收到视频图像数据,从而进行连续的视频图像播放;然而,如果视频图像数据传输延迟不稳定,手机13就无法连续的接收到视频图像数据,手机13的视频图像播放就会出现卡顿、跳帧等情况;同样,如果音频数据传输延迟稳定,在麦克风12连续进行音频数据的发送时,手机13也会连续的接收到音频数据,从而进行连续的音频播放;然而,如果音频数据传输延迟不稳定,手机13就无法连续的接收到音频数据,手机13的音频播放就会出现卡顿、跳音等情况。
又例如,图2所示为一音视频数据分别传输的应用场景示意图。如图2所示,无人机21针对小区建筑进行视频图像采集,将采集到的视频图像数据传输到手机23;麦克风22针对小区进行音频采集(例如,采集无人机21拍摄区域当前的环境音,采集导游针对无人机21拍摄区域的现场讲解语音),将采集到的音频数据传输到手机23。手机23将视频图像数据传输到大屏电视25进行播放;同时,手机23还将音频数据传输到智能音箱24进行播放。这样,用户就可以通过大屏电视25与智能音箱24的配合,身临其境的对小区进行虚拟游览。
一般的,手机23连续的将视频图像数据(例如,A21、A22、A23…)依次发送到大屏电视25。手机23连续的将与视频图像数据同步的音频数据(例如,B21、B22、B23…)依次发送到智能音箱24。
大屏电视25按照数据接收顺序播放视频图像数据。在此过程中,如果视频图像数据传输延迟稳定,在手机23连续进行视频图像数据的发送时,大屏电视25也会连续的接收到视频图像数据,从而进行连续的视频图像播放;然而,如果视频图像数据传输延迟不稳定,大屏电视25就无法连续的接收到视频图像数据,大屏电视25的视频图像播放就会出现卡顿、跳帧等情况。
同样,智能音箱24按照数据接收顺序播放音频数据。如果音频数据传输延迟稳定,在手机23连续进行音频数据的发送时,智能音箱24也会连续的接收到音频数据,从而进行连续的音频播放;然而,如果音频数据传输延迟不稳定,智能音箱24就无法连续的接收到音频数据,智能音箱24的音频播放就会出现卡顿、跳音等情况。
针对数据传输延迟不稳定而导致的问题,本申请一实施例中提供了一种基于缓存进行音视频播放方法。具体的,在音频数据以及视频数据的接收设备在接收到音频数据以及视频数据后,并不立即播放,而是将音频数据以及视频数据暂时缓存,在缓存一定量数据后,再播放缓存中的数据。图3所示为音视频数据分别播放的流程图。如图3所示,在播放视频图像数据的过程中:
步骤311,数据输出端输出视频图像数据;
步骤312,播放端接收视频图像数据;
步骤313,播放端缓存视频图像数据;
步骤314,播放端按照缓存中的缓存顺序,播放缓存中的视频图像数据。
在播放音频数据的过程中:
步骤321,数据输出端输出音频数据;
步骤322,播放端接收音频数据;
步骤323,播放端缓存音频数据;
步骤324,播放端按照缓存中的缓存顺序,播放缓存中的音频数据。
在上述流程中,实现音频播放的数据输出端与视频图像播放的数据输出端可以为同一设备,也可以为不同设备;实现音频播放的播放端与视频图像播放的播放端可以为同一设备,也可以为不同设备。在缓存音频数据和/或视频图像数据时,数据缓存量可以根据数据传输延迟波动,动态地进行变化;或者,根据数据延迟波动的最大值,设定一个数据缓存量最大值。
在图3所示实施例中,由于播放端按照缓存中的缓存顺序,播放缓存中的视频图像数据或音频数据,因此播放端接收某视频图像数据或某音频数据的时间节点,与播放端播放该视频图像数据或该音频数据的时间节点,可以为不同的时间节点。理论上,在进行播放前,缓存的音频数据或视频图像数据的数据量越大,在之后的播放过程中,由于数据传输延迟波动而产生的干扰也就越小。例如,如果将某视频的音频数据以及视频图像数据全部缓存完后,再进行播放,那么,在播放环节中,就不会出现由数据传输延迟波动而导致的卡顿、跳帧问题。
但是,由于数据被接收后,首先被缓存,播放时调用的是之前缓存的数据,而不是当前刚刚接收到的数据。因此,在数据被数据输出端输出后,直到该数据被播放时,在此之间,存在一个播放延迟。例如,在图2所示实施例的应用场景中,音频数据B23被手机23输出后,其被智能音箱24接收并缓存。在音频数据B23被缓存时,在缓存队列中,还存在之前缓存的、尚未被播放的其他音频数据(例如,B21、B22)。智能音箱24按照缓存队列中的排列顺序进行音频播放(按照B21、B22、B23的顺序),被在进行播放前,缓存的数据的数据量越大,播放延迟也就越大。
而在某些存在实时交互需求的应用场景中,播放延迟的增加,会大大降低用户体验。例如,在图1所示实施例中,假如无人机11的飞行姿态,由手机13的用户根据手机13所显示的无人机拍摄图像来进行操控。那么,如果从无人机11输出视频图像,到手机13接收到该视频图像并播放,之间的时间差过大,那么,用户根据手机13所显示的无人机拍摄图像所确认的无人机飞行姿态与无人机11的实时飞行姿态之间就存在偏差,用户也就无法顺利的进行飞行姿态操控。
又例如,在图2所示实施例中,假如无人机21的飞行姿态,由手机23的用户根据大屏电视25所显示的无人机拍摄图像来进行操控。那么,即使不考虑无人机21输出视频图像,到手机23接收到该视频图像之间的延迟,如果从手机23输出视频图像,到该视频图像被大屏电视25接收并显示,之间的时间差过大,那么,用户根据大屏电视25所显示的无人机拍摄图像所确认的无人机飞行姿态与无人机21的实时飞行姿态之间也会存在偏差,用户也就无法顺利的进行飞行姿态操控。
又例如,图4所示为一音视频数据分别传输的应用场景示意图。如图4所示,用户A以及用户B使用各自的手机(手机43以及手机44)实现相互间的视频通话。为了优化视频通话效果,用户B通过手机43将视频通话的视频图像发送到大屏电视41显示,将视频通话的语音发送到智能音箱42播放。如果手机43输出视频图像到大屏电视41以及手机43输出语音到智能音箱42,与大屏电视41显示视频图像以及智能音箱42播放语音之间的播放延迟增加,用户A与用户B之间的交互延迟也就会随之增加,从而就会大大影响用户A与用户B之间视频通话的用户体验。
因此,本申请一实施例提出了一种基于追赶策略的音视频播放方法,针对音视频播放场景进行识别,根据具体的应用场景选择对应的播放策略。
进一步的,针对存在实时交互需求的应用场景(交互类应用场景),本申请一实施例提出了一种基于追赶策略的音视频播放方法。具体的,根据应用场景的实时交互需求,预设交互场景播放延迟阈值。该交互场景播放延迟阈值为,在满足预期用户交互体验的基础上,输出设备输出音频数据和/或视频图像数据,与播放端播放音频数据和/或视频图像数据之间,播放延迟的最大值。例如,在图4所示的应用场景中,在用户B处,当视频图像和语音滞后时间增加量未超出150ms时,用户A与用户B的视频通话的用户体验不会受到影响。因此,设定手机43与大屏电视41之间、手机43与智能音箱42之间的交互场景播放延迟阈值为150ms。
当应用场景为交互类应用场景时,基于追赶策略进行音频播放和/或视频图像播放。在追赶策略中,调用预设的交互场景播放延迟阈值,在进行音频播放和/或视频图像播放的过程中,调整音频播放和/或视频图像播放,使得音频播放和/或视频图像播放的播放延迟小于等于交互场景播放延迟阈值。
图5所示为根据本申请一实施例的音视频播放方法流程图。音视频播放方法由音视频播放系统(包含音视频数据输出设备、音频播放端以及视频图像播放端)中的一台或多台设备执行。如图5所示:
步骤500,识别当前应用场景;
步骤501,判断当前应用场景是否为交互类应用场景;
在当前应用场景为交互类应用场景时,执行步骤502;
步骤502,调用追赶策略;
步骤520,采用追赶策略进行音频播放和/或视频图像播放,包括:
步骤521,调用预设的交互场景播放延迟阈值;
步骤522,调整音频播放和/或视频图像播放,令音频播放和/或视频图像播放的播放进度追赶音视频数据输出的进度,以使得音频播放和/或视频图像播放相较于音视频数据输出的播放延迟小于等于交互场景播放延迟阈值。
根据本申请实施例的方法,针对音视频播放场景进行识别,根据具体的应用场景选择对应的播放策略,可以大大提高音视频播放的用户体验。
进一步的,根据本申请实施例的方法,针对交互类应用场景采用追赶策略进行音视频播放,可以确保音视频播放的播放延迟满足交互类应用场景的应用需求,从而大大提高交互类应用场景的用户体验。
具体的,本申请一实施例还提出了一种音视频播放系统。图6所示为根据本申请一实施例的音视频播放系统的结构框图。如图6所示,音频输出设备601(例如,声音采集设备)输出音频数据;视频图像输出设备602(例如,图像采集设备)输出视频图像数据。音频数据以及视频图像数据被输出到播放设备603(例如,手机),播放设备603同步播放接收到的音频数据以及视频图像数据。用户通过播放设备603实现视频的视听。
在实际应用场景中,针对图6所示的多输出设备(采集设备)、单播放设备的应用场景,步骤500、步骤501以及步骤502可以由播放设备603(例如,手机)执行,当播放判定当前应用场景为交互类应用场景时,其调用追赶策略(调用预设的交互场景播放延迟阈值),基于追赶策略进行播放。
例如,在图1所示的应用场景中,手机13判断当前应用场景为交互类应用场景(实时控制无人机11的飞行姿态)。手机13调用预设的交互场景播放延迟阈值,基于交互场景播放延迟阈值实现追赶策略,基于追赶策略播放来自麦克风12的音频数据以及无人机11的视频图像数据。
具体的,本申请一实施例还提出了一种音视频播放系统。图7所示为根据本申请一实施例的音视频播放系统的结构框图。如图7所示,音视频输出设备701(例如,手机)同步输出同一视频(例如,视频通话的视频)的音频数据以及视频图像数据,其中,音频数据被输出到音频播放设备702(例如,智能音箱),视频图像数据被输出到视频图像播放设备703(例如,大屏显示设备)。音频播放设备702播放接收到的音频文件,视频图像播放设备703播放接收到的视屏图像文件。用户通过观看视频图像播放设备703以及收听音频播放设备702来实现视频的视听。
在实际应用场景中,针对图7所示的单输出设备、多播放设备的应用场景,步骤500、步骤501以及步骤502可以由音视频输出设备701(例如,手机)执行,当音视频输出设备701判定当前应用场景为交互类应用场景时,其调用追赶策略(包含交互场景播放延迟阈值),并将追赶策略(包含交互场景播放延迟阈值)下发到音频播放设备702和/或视频图像播放设备703;音频播放设备702和/或视频图像播放设备703基于获取到的交互场景播放延迟阈值实现追赶策略。
以下实施例主要基于图7所示的单输出设备、多播放设备的音视频播放系统进行描述,这里需要说明的是,下述实施例的各个步骤,也可以应用于图6所示的多输出设备(采集设备)、单播放设备的音视频播放系统。
例如,在图2所示的应用场景中,手机23判断当前应用场景为交互类应用场景(实时控制无人机21的飞行姿态)。手机23调用预设的交互场景播放延迟阈值,并将交互场景播放延迟阈值下发到大屏电视25;大屏电视25基于获取到的交互场景播放延迟阈值实现追赶策略,基于追赶策略播放来自手机23的视频图像数据。
又例如,在图4所示的应用场景中,手机43判断当前应用场景为交互类应用场景(与手机44进行视频通话)。手机43调用预设的交互场景播放延迟阈值,并将交互场景播放延迟阈值下发到大屏电视41以及智能音箱42;大屏电视41基于获取到的交互场景播放延迟阈值实现追赶策略,基于追赶策略播放来自手机23的视频图像数据;智能音箱42基于获取到的交互场景播放延迟阈值实现追赶策略,基于追赶策略播放来自手机23的音频数据。
进一步的,在某些不存在实时交互需求的应用场景中,播放延迟对用户体验的影响并不明显,播放延迟并不需要维持在一个较低的水准。
例如,在图1所示的应用场景中,用户仅使用手机13对小区进行指定路线的虚拟游览,不会操控无人机11。因此,麦克风12输出音频,与手机13播放音频之间的播放延迟,以及,无人机11输出视频图像,与手机13播放视频图像之间的播放延迟,并不会明显影响用户进行虚拟游览的用户体验。
又例如,图8所示为一音视频数据分别传输的应用场景示意图。如图8所示,手机63连接到大屏电视61以及智能音箱62。如果用户使用手机63观看视频(例如,图1所示实施例中,将无人机11采集的视频图像以及麦克风12采集的音频整合后生成的视频)。手机63播放视频,为优化播放效果,手机63并不通过自身的喇叭以及屏幕输出音频与视频图像,而是将所播放的视频的视频图像发送到大屏电视61显示,将所播放的视频的音频发送到智能音箱62播放。手机63输出视频图像以及音频,与大屏电视61显示视频图像以及智能音箱62播放音频之间的播放延迟,并不会明显影响视频观看的用户体验。
因此,针对不存在实时交互需求的应用场景(非交互类应用场景),本申请一实施例提出了一种基于平滑播放策略的音视频播放方法。
具体的,根据应用场景的数据传输延迟波动状况,设定数据缓存值。具体的,数据缓存值与数据传输延迟波动的最大值相匹配,或者,数据缓存值根据数据传输延迟波动进行实时调整。当应用场景为非交互类应用场景时,基于平滑播放策略进行音频播放和/或视频图像播放。在平滑播放策略中,基于数据缓存值对音频数据以及视频图像数据进行缓存播放,以确保在数据传输延迟波动时,音视频数据可以平滑播放。
如图5所示:
在当前应用场景不为交互类应用场景(非交互类场景)时,执行步骤503;
步骤503,调用平滑播放策略;
步骤510,采用平滑播放策略进行音频播放和/或视频图像播放。
在实际应用场景中,针对多输出设备(采集设备)、单播放设备的应用场景,步骤503可以由播放设备(例如,手机)执行,当播放判定当前应用场景为非交互类应用场景时,其调用平滑播放策略,基于平滑播放策略进行播放。
根据本申请实施例的方法,针对非交互类应用场景采用追赶策略进行音视频播放,可以确保音视频播放的流畅度满足非交互类应用场景的应用需求,从而大大提高交互类应用场景的用户体验。
例如,在图1所示的应用场景中,手机13判断当前应用场景为非交互类应用场景(单纯的视频观看,并不控制无人机11的飞行姿态)。手机13调用平滑播放策略,基于平滑播放策略播放来自麦克风12的音频数据以及无人机11的视频图像数据。
在实际应用场景中,针对单输出设备、多播放设备的应用场景,步骤503可以由音视频输出设备(例如,手机)执行,当音视频输出设备判定当前应用场景为交互类应用场景时,其调用交互场景播放延迟阈值,并将交互场景播放延迟阈值下发到音频播放端和/或视频图像播放端;音频播放端和/或视频图像播放端基于获取到的交互场景播放延迟阈值实现追赶策略。
例如,在图8所示的应用场景中,手机63判断当前应用场景为非交互类应用场景(单纯的视频播放场景)。手机63调用平滑播放策略,并将平滑播放策略下发到大屏电视61以及智能音箱62;大屏电视61基于平滑播放策略播放来自手机63的视频图像数据;智能音箱62基于平滑播放策略播放来自手机63的视频图像数据。
在实际应用场景中,本领域的技术人员可以采用多种不同的实现方式实现平滑播放策略。例如,在平滑播放策略的一种实现方式中,根据应用场景的数据传输延迟波动状况,设定数据缓存值。在播放过程中,监控数据缓存量以实现追赶策略,在当前的缓存数据量达到数据缓存值时,再次协商增大缓冲。例如,当视频数据的缓存量达到视频数据的数据缓存值时,视频播放设备端上报中心设备(音视频输出设备);中心设备(音视频输出设备)监控到变化,重新协商给视频播放设备、音频播放设备下发新的数据缓存值。
在实际应用场景中,本领域的技术人员同样可以采用多种不同的实现方式实现追赶策略。
以音频播放为例,本申请一实施例提出了一种音频播放方法,包括,当音频播放的播放策略为追赶策略时,获取预设的交互场景播放延迟阈值;基于交互场景播放延迟阈值进行音频播放,在音频播放的执行过程中,调整音频播放,令音频播放的播放进度追赶音视频数据输出的进度,以使得音频播放相较于音视频数据输出的播放延迟小于等于预设的交互场景播放延迟阈值。
具体的,在针对音频播放的追赶策略的一种实现方式中,在进行音频播放的过程中,直接监控音频播放相对于音视频数据输出的播放延迟;当音频播放的播放延迟超出交互场景播放延迟阈值时,调整音频播放,令音频播放端基于音频缓存数据进行播放的播放进度追赶音视频数据输出的进度,以减小音频播放的播放延迟,使得音频播放的播放延迟小于等于交互场景播放延迟阈值。
图9所示为根据本申请一实施例的音频播放方法流程图。在步骤522的一种实现方式中,音频播放端执行如图9所示的下述流程:
步骤910,监控音频播放相对于音视频数据输出的播放延迟;
步骤920,判断音频播放的播放延迟是否超出预设的交互场景播放延迟阈值;
当音频播放的播放延迟未超出预设的交互场景播放延迟阈值时,返回步骤910;
当音频播放的播放延迟超出预设的交互场景播放延迟阈值时,执行步骤930;
步骤930,调整音频播放,令音频播放端基于音频缓存数据进行播放的播放进度追赶音视频数据输出的进度,以减小音频播放的播放延迟,使得音频播放的播放延迟小于等于交互场景播放延迟阈值。
在实际应用场景中,本领域的技术人员可以采用多种不同的方案实现步骤910。例如,输出设备在输出音频数据时,在音频数据中加入时间标记,播放端在播放音频数据时,对比正在播放的音频数据中的时间标记与当前时刻,从而计算播放延迟。
进一步的,音频播放端按照音频缓存内的音频缓存数据的存放顺序进行播放,如果音频缓存中的音频数据被播放后即被移出缓存,那么音频缓存中缓存的数据量即可以代表数据输出端输出音频数据的进度与音频播放端播放音频数据的进度之间的差异。因此,为简化操作流程,降低方案实现难度,在追赶策略的一种实现方式中,监控音频数据缓存量以实现追赶策略。
具体的,根据预设的交互场景播放延迟阈值,确定对应的缓存数据量阈值,在当前的音频缓存数据量超出缓存数据量阈值时,即可判定音频播放延迟超出交互场景播放延迟阈值。例如,假设交互场景播放延迟阈值为150ms,根据音频播放速度,可计算音频对应的缓存数据量阈值为4帧。
图10所示为根据本申请一实施例的音频播放方法流程图。在步骤522的一种实现方式中,音频播放端执行如图10所示的下述流程:
步骤1010,监控音频播放的未播放数据的数据缓存量;
步骤1020,判断音频数据缓存量是否超出预设的音频数据缓存阈值,其中,数据缓存阈值为根据交互场景播放延迟阈值所确定的值;
当音频数据缓存量未超出预设的音频数据缓存阈值时,返回步骤1010;
当音频数据缓存量超出预设的音频数据缓存阈值时,执行步骤1030;
步骤1030,调整未播放音频数据的音频数据缓存量,使得音频数据缓存量小于等于预设的音频数据缓存阈值。
在实际应用场景中,本领域的技术人员可以采用多种不同的方案实现步骤522。例如,在音频播放端基于音频缓存数据进行播放时,并不按照缓存中数据存放次序依次读取音频数据播放,而是采用跳跃方式读取音频数据播放。
进一步的,为了简化操作流程,降低方案实现难度,在步骤522的一种实施方式中,当需要令音频播放端的播放进度追赶音视频数据输出的进度时,删除音频播放端缓存中的全部或部分未播放音频数据,以使得播放端的播放跳过被删除的数据,从而使得音频播放端的音频播放进度追赶音视频数据输出的进度。其中,音频数据的删除量与当前音频播放的播放进度相对应,以使得音频播放端的播放进度满足交互场景播放延迟阈值。
例如,在步骤930的一种实现方式中,未播放音频数据的删除量与播放延迟超出交互场景播放延迟阈值的值相对应。
又例如,在步骤1030的一种实施方式中,删除音频缓存中的数据,使得音频数据缓存量小于等于音频缓存数据量阈值。
进一步的,在步骤522的具体实现过程中,本领域的技术人员可以采用多种不同的方案删除缓存中的未播放音频数据。例如,删除音频缓存中最早被存入的未播放音频数据;又例如,从音频缓存中的未播放音频数据中随机挑选需要删除的数据;又例如,按照固定间隔,从音频缓存中的未播放音频数据中挑选需要删除的数据。
进一步的,为了尽可能的保留音频中所携带的信息,避免删除缓存中的音频数据而导致信息丢失,在步骤522的一种实施方式中,监控音频缓存中音频数据的波形、频率,在需要删除缓存中的音频数据时,优先删除对于人耳不敏感的音频数据。
例如,正常人能感受的声频范围是20~20000Hz,但人耳对频率在1000~3000Hz范围内声音最敏感。为了尽量减小同步过程音频丢帧引起的失真,根据音频帧对人耳的敏感优先级来选择性丢弃。
在分布式场景中,传输的音频帧的格式一般为高级音频编码(Advanced AudioCoding,AAC)。在对AAC音频数据解码过程中,提取出该帧数据的频域信息(一般通过快速傅里叶变换),分析出此帧音频对于人耳的敏感程度(比如3000Hz最敏感,敏感程度用100表示;20000Hz最不敏感,敏感程度用0表示)。
具体的,在音频处理的主控模块开始运行后,主控模块将AAC比特流(AAC Stream)的一部分放入输入缓冲区,通过查找同步字得到一帧的起始,找到后,根据ISO/IEC 13818-7所述的语法开始进行解码。主控模块的主要任务是操作输入输出缓冲区,调用其它各模块协同工作。其中,输入输出缓冲区均由数字信号处理(digital signal processing,DSP)控制模块提供接口。输出缓冲区中存放的数据为解码出来的脉冲编码调制(Pulse CodeModulation,PCM)数据,代表了声音的振幅。它由一块固定长度的缓冲区构成,通过调用DSP控制模块的接口函数,得到头指针,在完成输出缓冲区的填充后,调用中断处理输出至I2S接口所连接的音频模/数转换器(Analog-to-Digital Converter,ADC)芯片(立体声音频数/模转换器(Digital to analog converter,DAC)和直接驱动(DirectDrive)耳机放大器)输出模拟声音。
图11所示为AAC音频数据解码流程示意图。如图11所示,AAC Stream经历:
步骤1101,无噪解码(Noisless Decoding),无噪编码就是哈夫曼编码,它的作用在于进一步减少尺度因子和量化后频谱的冗余,即将尺度因子和量化后的频谱信息进行哈夫曼编码;
步骤1102,反量化(Dequantize);
步骤1103,联合立体声(Joint Stereo),联合立体声的是对原来的取样进行的一定的渲染工作,使声音更“好听”;
步骤1104,知觉噪声替换(perceptual noise substitution,PNS);
步骤1105,瞬时噪声整形(temporary noise shaping,TNS);
步骤1106,反离散余弦变换(IMDCT);
步骤1107,频段复制(Spectral Band Replication,SBR);
之后,得到左右声道的PCM码流,再由主控模块将其放入输出缓冲区输出到声音播放设备。
在需要删除缓存中的音频数据时,先统计出当前音频缓冲队列里的各音频帧的敏感分布情况,再计算出丢哪些帧。比如敏感程度60以下的帧占50%,如果当前需要丢弃一半音频帧,就丢弃敏感程度60以下的帧。
进一步的,可以采用与上述针对音频播放的追赶策略实现方式相类似的方式,实现针对视频图像播放的追赶策略。例如,本申请一实施例还提出了一种视频图像播放方法,包括,当视频图像播放的播放策略为追赶策略时,获取预设的交互场景播放延迟阈值;基于交互场景播放延迟阈值进行视频图像播放,在视频图像播放的执行过程中,调整视频图像播放,令视频图像播放的播放进度追赶音视频数据输出的进度,以使得视频图像播放相较于音视频数据输出的播放延迟小于等于预设的交互场景播放延迟阈值。
具体的,在针对视频播放的追赶策略的一种实现方式中,在进行视频图像播放的过程中,直接监控视频图像播放相对于音视频数据输出的播放延迟;当视频图像播放的播放延迟超出交互场景播放延迟阈值时,调整视频图像播放,令视频图像播放端基于视频图像缓存数据进行播放的播放进度追赶音视频数据输出的进度,以减小视频图像播放的播放延迟,使得视频图像播放的播放延迟小于等于交互场景播放延迟阈值。
图12所示为根据本申请一实施例的视频图像播放方法流程图。在步骤522的一种实现方式中,视频图像播放端执行如图12所示的下述流程:
步骤1110,监控视频图像播放相对于音视频数据输出的播放延迟;
步骤1120,判断视频图像播放的播放延迟是否超出预设的交互场景播放延迟阈值;
当视频图像播放的播放延迟未超出预设的交互场景播放延迟阈值时,返回步骤1110;
当视频图像播放的播放延迟超出预设的交互场景播放延迟阈值时,执行步骤1130;
步骤1130,调整视频图像播放,令视频图像播放端基于视频图像缓存数据进行播放的播放进度追赶音视频数据输出的进度,以减小视频图像播放的播放延迟,使得视频图像播放的播放延迟小于等于交互场景播放延迟阈值。
在实际应用场景中,本领域的技术人员可以采用多种不同的方案实现步骤1110。例如,输出设备在输出视频图像数据时,在视频图像数据中加入时间标记,视频图像播放端在播放视频图像数据时,对比正在播放的视频图像数据中的时间标记与当前时刻,从而计算播放延迟。
进一步的,视频图像播放端按照视频图像缓存内视频图像缓存数据的存放顺序进行播放,如果视频图像缓存中的视频图像数据被播放后即被移出缓存,那么视频图像缓存中缓存的数据量即可以代表数据输出端输出视频图像数据的进度与视频图像播放端播放视频图像数据的进度之间的差异。因此,为简化操作流程,降低方案实现难度,在追赶策略的一种实现方式中,监控视频图像数据缓存量以实现追赶策略。
具体的,根据预设的交互场景播放延迟阈值,确定对应的视频图像缓存数据量阈值,在当前的视频图像缓存数据量超出视频图像缓存数据量阈值时,即可判定播放延迟超出交互场景播放延迟阈值。例如,假设交互场景播放延迟阈值为150ms,根据视频图像播放速度,可计算视频图像对应的缓存数据量阈值为3帧。
图13所示为根据本申请一实施例的视频图像播放方法流程图。在步骤522的一种实现方式中,视频图像播放端执行如图13所示的下述流程:
步骤1210,监控音频播放和/或视频图像播放的未播放数据的数据缓存量;
步骤1220,判断视频图像数据缓存量是否超出预设的数据缓存阈值,其中:数据缓存阈值为根据交互场景播放延迟阈值所确定的值;当执行设备为音频播放端时,数据缓存阈值为音频数据缓存阈值;当执行设备为视频图像播放端时,数据缓存阈值为视频图像数据缓存阈值;
当数据缓存量未超出预设的数据缓存阈值时,返回步骤1210;
当数据缓存量超出预设的数据缓存阈值时,执行步骤1230;
步骤1230,调整未播放视频图像数据的数据缓存量,使得视频图像数据缓存量小于等于预设的数据缓存阈值。
在实际应用场景中,本领域的技术人员可以采用多种不同的方案实现步骤522。例如,加速视频图像播放的播放速度(例如,将原本10帧/秒的播放速度调整为15帧/秒);又例如,在视频图像播放端基于视频图像缓存数据进行播放时,并不按照缓存中数据存放次序依次读取数据播放,而是采用跳跃方式读取数据播放(例如,针对视频图像缓存数据,采用隔一帧读取的方式进行读取播放)。
进一步的,为了简化操作流程,降低方案实现难度,在步骤522的一种实施方式中,当需要令视频图像播放端的播放进度追赶音视频数据输出的进度时,删除视频图像播放端缓存中的全部或部分未播放视频图像数据,以使得视频图像播放端的播放跳过被删除的数据,从而使得视频图像播放端的播放进度追赶音视频数据输出的进度。其中,视频图像数据的删除量与当前视频图像播放的播放进度相对应,以使得视频图像播放端的播放进度满足交互场景播放延迟阈值。
例如,在步骤1130的一种实现方式中,未播放视频图像数据的删除量与视频图像播放延迟超出交互场景播放延迟阈值的值相对应。
又例如,在步骤1230的一种实施方式中,删除视频图像缓存中的数据,使得视频图像数据缓存量小于等于视频图像缓存数据量阈值。
进一步的,在步骤522的具体实现过程中,本领域的技术人员可以采用多种不同的方案删除视频图像缓存中的未播放视频图像数据。例如,删除视频图像缓存中最早被存入的未播放视频图像数据;又例如,从视频图像缓存中的未播放视频图像数据中随机挑选需要删除的数据;又例如,按照固定间隔,从视频图像缓存中的未播放视频图像数据中挑选需要删除的数据。
进一步的,为了确保视频图像的平滑播放,尽量避免图像播放出现跳帧效果,在步骤522的一种实施方式中,在需要删除缓存中的视频图像数据时,按照固定间隔挑选需要删除的视频帧。
进一步的,在音视频分离应用场景中,传输延迟的波动还会导致音视频播放无法同步,从而降低用户体验。例如,在音视频数据采集环节中采用独立设备分别进行音频数据以及视频图像数据的采集传输。同步采集的音频数据以及视频图像数据被分别传输。由于传输延迟存在波动,音频数据与视频数据的传输延迟可能是不同的,那么,播放端所接收到音频数据以及视频数据就会不同步,这就可能会导致音频数据以及视频数据播放的不同步。
例如,在图1所示应用场景中,当无人机11采集到视频图像数据A1时,麦克风12会采集到与视频图像数据A1同步的音频数据B1。无人机11在将视频图像数据A1传输到手机13时,麦克风12将音频数据B1传输到手机13,如果视频图像数据A1以及音频数据B1在手机13上的接收是同步的,那么,如果手机13在接收到视频图像数据A1以及音频数据B1的同时进行播放,视频图像数据A1以及音频数据B1的播放就是同步的。
然而,如果麦克风12传输音频数据B1到手机13的传输延迟,大于无人机11传输视频图像数据A1到手机13的传输延迟,那么,视频图像数据A1以及音频数据B1在手机13上的接收就是不同步的,手机13会先接收到视频图像数据A1。如果手机13在接收到视频图像数据A1的同时进行播放,那么,手机13开始播放视频图像数据A1时,手机13尚未接收到音频数据B1,最终手机13上音视频播放就不会同步,用户对小区进行虚拟游览的用户体验就会大大降低。
针对图1所示的应用场景,一种解决音视频播放不同步的方案是,在播放视频图像数据以及音频数据之前,对视频图像数据以及音频数据进行整合,生成音视频同步的视频文件,播放该视频文件以实现音视频同步。例如,在图1所示实施例中,手机13在接收到视频图像数据A1以及音频数据B1,将其整合,生成视频文件C1,手机13播放视频文件C1以实现音视频同步。
然而,在某些应用场景中,无法实现音视频数据的整合。
例如,在图1所示实施例中,在手机13中,接收无人机11的视频图像数据的应用(APP)与接收麦克风12的音频数据的应用为不同厂商的应用。接收无人机11的视频图像数据的应用可以实现接收视频图像数据的同时进行播放,并且,接收麦克风12的音频数据的应用可以实现接收音频数据的同时进行播放。但是,接收无人机11的视频图像数据的应用与接收麦克风12的音频数据的应用间,无法简单的实现音视频数据的整合。例如,需要将视频图像数据以及音频数据导入到第三方视频制作应用,同步时间标签后进行整合,才能生成视频文件。这样,如果在进行音视频整合后再进行播放,用户就只能在无人机11以及麦克风12完成音视频采集后才能进行虚拟游览,而不能在无人机11以及麦克风12进行音视频采集时进行同步的虚拟游览。
进一步的,在某些应用场景中,为了优化音视频播放效果,会采用不同的播放端分别播放音频数据以及视频图像数据。
例如,在图2所示实施例中,由麦克风22到手机23的音频数据传输与由无人机21到手机23的视频图像数据传输之间存在的传输延迟差异,以及,由手机23到智能音箱24的音频数据传输与由手机23到大屏电视25的视频图像数据传输之间存在的传输延迟差异,均可能导致音视频播放的不同步。虽然在手机23上可以通过整合麦克风22的音频数据以及无人机21的视频图像数据来实现音视频同步,但是,由于智能音箱24与大屏电视25为不同的播放端,无法通过整合音视频数据来同步音视频播放。
又例如,在图4所示实施例中,由手机43到智能音箱42的音频数据传输与由手机43到大屏电视41的视频图像数据传输之间存在的传输延迟差异,可能导致音视频播放的不同步。
又例如,在图8所示实施例中,由手机63到智能音箱62的音频数据传输与由手机63到大屏电视41的视频图像数据传输之间存在的传输延迟差异,可能导致音视频播放的不同步。
因此,针对音视频分离应用场景中的音视频播放不同步的问题,在本申请一实施例中,针对交互类应用场景,在采用追赶策略进行音视频播放的基础上,引入了音视频同步操作。
具体的,在步骤520的一种实现方式中,针对音频播放以及视频图像播放均采用追赶策略以实现音视频同步。即,采用追赶策略进行音频播放以及视频图像播放。调整音频播放以及视频图像播放,令音频播放端以及视频图像播放端的播放进度追赶音视频数据输出的进度,以使得音频播放以及视频图像播放相较于音视频数据输出的播放延迟均小于等于交互场景播放延迟阈值。
采用追赶策略进行音频播放以及视频图像播放,可以将音频播放的音频播放延迟以及视频图像播放的视频图像播放延迟均控制在交互场景播放延迟阈值以内。由于播放延迟是参考数据播放与数据输出之间的时延,而音频输出以及视频图像输出是同步的,因此,也就将音频播放与视频图像播放之间的播放进度差异也就被控制在了交互场景播放延迟阈值以内,从而实现了音频播放与视频图像播放的同步。
进一步的,在步骤520的一种实现方式中,仅针对音频播放与视频图像播放中的一项播放进程采用追赶策略,以使得采用追赶策略的播放进程的播放延迟控制在交互场景播放延迟阈值之内。针对未采用追赶策略的播放进程,则采用同步策略进行播放。在同步策略中,以采用追赶策略的播放进程的播放进度为基准,对采用同步策略的播放进程进行调整,使得采用同步策略的播放进程的播放进度与采用追赶策略的播放进程的播放进度同步。
在某些应用场景中,需要优先确保音频播放的流畅度,尽量减少调整音频播放进度的次数。例如,在日常的视频通话应用场景中,语音是交流信息的主要携带途径,视频图像的卡顿往往不会导致交流信息的缺失,而语音的卡顿往往会带来交流信息的缺失,因此需要优先确保语音播放的流畅度,尽量减少调整语音播放进度的次数。
因此,在一实施例中,针对音频播放,采用基于音视频输出进度的追赶策略;针对视频图像播放,采用基于音频播放进度的同步策略。
图14所示为根据本申请一实施例的音视频播放方法流程图。音视频播放方法由音视频播放系统(包含音视频数据输出设备、音频播放端以及视频图像播放端)中的一台或多台设备执行。如图14所示:
步骤1300,识别当前应用场景;
步骤1301,判断当前应用场景是否为交互类应用场景;
在当前应用场景不为交互类应用场景时,执行步骤1310;
步骤1310,采用平滑播放策略进行音频播放和/或视频图像播放;
在当前应用场景为交互类应用场景时,执行步骤1120;
步骤1320,采用追赶策略进行音频播放;
步骤1330,判断视频图像的播放进度与音频的播放进度是否同步;
当视频图像的播放进度与音频的播放进度同步时,返回步骤1320;
当视频图像的播放进度与音频的播放进度不同步时,执行步骤1340;
步骤1340,以音频的播放进度为基准,调整视频图像播放,使得视频图像的播放进度与音频的播放进度同步。
在某些应用场景中,需要优先确保视频图像播放的流畅度,尽量减少调整视频图像播放进度的次数。例如,在通过视频图像画面实时控制远程设备的应用场景中,视频图像画面用于反映远程设备的状态,现场声音只是用来辅助,视频图像的卡顿很容易导致控制错误,因此需要优先确保视频图像播放的流畅度,尽量减少调整视频图像播放进度的次数。
因此,在一实施例中,针对视频图像播放,采用基于音视频输出进度的追赶策略;针对音频播放,采用基于视频图像播放进度的同步策略。
图15所示为根据本申请一实施例的音视频播放方法流程图。音视频播放方法由音视频播放系统(包含音视频数据输出设备、音频播放端以及视频图像播放端)中的一台或多台设备执行。如图15所示:
步骤1400,识别当前应用场景;
步骤1401,判断当前应用场景是否为交互类应用场景;
在当前应用场景不为交互类应用场景时,执行步骤1410;
步骤1410,采用平滑播放策略进行音频播放和/或视频图像播放;
在当前应用场景为交互类应用场景时,执行步骤1420;
步骤1420,采用追赶策略进行视频图像播放;
步骤1430,判断视频图像的播放进度与音频的播放进度是否同步;
当视频图像的播放进度与音频的播放进度同步时,返回步骤1420;
当视频图像的播放进度与音频的播放进度不同步时,执行步骤1440;
步骤1440,以视频图像的播放进度为基准,调整音频播放,使得音频的播放进度与视频图像的播放进度同步。
进一步的,在图14或图15所示的实施例中,本领域的技术人员可以采用多种不同的实施方式以实现,判断音频的播放进度与视频图像的播放进度是否同步,以及,调整音频播放或视频图像播放,使得音频的播放进度与视频图像的播放进度同步。
例如,在本申请一实施例中,采用基于同步播放延迟阈值进行判断的方式,来判断音频的播放进度与视频图像的播放进度是否同步。具体的,预设同步播放延迟阈值,该同步播放延迟阈值为,在满足预期用户视频观看体验的基础上,音频播放和视频播放之间,播放进度差异的最大值。例如,当音频播放与视频播放的播放进度差异超出150ms时,用户会感觉到明显的音视频播放不协调。因此,设定同步播放延迟阈值为150ms。当音频的播放进度与视频图像的播放进度之间的差异值超出同步播放延迟阈值时,即判定音频的播放进度与视频图像的播放进度不同步。
具体的,在一应用场景中,可以通过时间戳来体现播放进度差异。例如,在输出设备输出音频数据A9以及视频图像数据B9后,在音频播放端播放音频数据A9时,记录播放时间(时间戳T1);在视频图像播放端播放视频图像数据B9时,记录播放时间(时间戳T2);T1与T2之间的间隔时长即为音频播放与视频图像播放之间的播放进度差异。
进一步的,在播放过程中,调整音频播放或视频图像播放,使得音频播放与视频图像播放间的播放进度差异控制在同步播放延迟阈值之内,从而在满足音频播放与视频图像播放的实时性的基础上,实现音视频播放同步。
进一步的,在步骤1340或步骤1440的具体实现过程中,可以采用删除缓存中的未播放数据的方式来加速推进播放进度,也可以采用在缓存中的未播放数据中添加过渡数据的方式来延缓播放进度的推进,从而使得音频的播放进度与视频图像的播放进度同步。
例如,针对视频图像数据,在两个视频图像帧之间加入一个过渡帧(过渡帧可以是相邻视频图像帧的复制帧),使得视频图像播放端的播放流程中加入过渡帧的播放,从而延缓视频图像播放进度的推进。
进一步的,在步骤520的一种实现方式中,基于对数据传输延迟的监控来实现音视频同步。具体的,设置播放缓存环节。在播放设备接收到音频数据或视频图像数据后,在音频数据或视频图像数据被播放之前,将音频数据或视频图像数据再额外缓存特定时长(播放缓存)后在播放,缓存时长为音频数据传输延迟与视频图像数据传输延迟之间的差值,这样就可以补偿音频数据传输延迟与视频图像数据传输延迟之间的差异,从而确保音频数据与视频图像数据同步播放。
进一步的,考虑到在播放缓存环节中,在播放视频图像数据或音频数据之前将数据缓存,该缓存时长会被计算到播放延迟中,因此,在步骤520的一种实现方式中限定播放缓存环节中缓存数据的时长不能超过交互场景播放延迟阈值。由于播放缓存环节的缓存时长为音频数据传输延迟与视频图像数据传输延迟之间的差值,因此,当音频数据传输延迟与视频图像数据传输延迟之间的差值超出交互场景播放延迟阈值时,对缓存中已缓存的数据进行删除操作并在缓存中补入新的数据,从而在维持音视频播放同步的前提下,实现追赶策略。
以一具体应用场景为例,如图8所示,如果用户使用手机63玩游戏。为优化游戏效果,用户采用游戏投屏模式进行游戏。在游戏投屏模式中,手机63并不通过自身的喇叭以及屏幕输出游戏音频与游戏视频图像,而是将游戏的视频图像发送到大屏电视61显示,将游戏的音频发送到智能音箱62播放。用户通过大屏电视61的图像输出以及智能音箱62的音频输出获取游戏内容,在手机上进行相应的游戏操作。由于用户与手机63间存在实时交互,因此,游戏投屏应用场景为交互类应用场景。具体的,在用户启动游戏投屏模式后,手机63、大屏电视61以及智能音箱62执行下述流程:
手机63识别游戏投屏场景后,分别建立与大屏电视61和智能音箱62的连接;
大屏电视61给手机63反馈网络延迟100ms,智能音箱62给手机63反馈网络延迟200ms;
手机63分别给大屏电视61和智能音箱62下发追赶策略(交互场景播放延迟阈值150ms),同时手机63发送大屏电视61的网络延迟数据到智能音箱62,发送智能音箱62的网络延迟数据到大屏电视61;
手机63开始给大屏电视61发送视频图像帧,给智能音箱62发送音频帧;
智能音箱62得知大屏电视61网络延迟100ms,小于自身的网络延迟200ms,因此直接播放音频帧;
大屏电视61得知智能音箱62网络延迟200ms,因此将视频图像帧缓存100ms(<交互场景播放延迟阈值150ms)后在解码播放,从而和智能音箱62的音频帧播放同步。
进一步的,假如在下一时刻,智能音箱62网络延迟进一步恶化到300ms,大屏电视61网络延迟仍然为100ms,智能音箱62给手机63反馈网络延迟300ms,大屏电视61给手机63反馈网络延迟100ms;手机63将更新的网络延迟数据,分别通知大屏电视61和智能音箱62;
大屏电视61更新智能音箱62网络延迟300ms,计算需要缓存200ms才能和音频播放同步,但是超出了150ms的阈值,因此,丢掉之前缓存100ms的前50ms视频图像数据并再缓存100ms视频图像数据后(共150ms),解码播放视频图像数据,从而令视频图像播放与音频播放同步。
进一步的,假如大屏电视61网络闪断了50ms后继续,由于当前大屏电视61有150ms的视频缓冲,在闪断的50ms内,继续有视频图像数据可供播放并和智能音箱62的音频数据同步播放。
进一步的,在实际应用场景中,数据传输延迟往往是持续波动变化的,但是,对数据传输延迟的监控并不能无间断持续进行。因此,在步骤520的一种实现方式中,定时刷新音频播放设备以及视频图像播放设备的传输延迟,以定期的基于数据传输延迟进行播放缓存以同步音频播放以及视频图像播放。
进一步的,在步骤520的一种实现方式中,采用基于数据传输延迟同步音视频播放方案与其他音视频同步方案相结合的方式,来提高同步效果。例如,在音视频分别播放的应用场景中,定期执行时间戳同步操作,在时间戳同步操作中,对比当前正在播放的音频数据以及视频图像数据的时间戳,以确认播放进度差异,调整音频播放或视频图像播放,使得音频播放与视频图像播放间的播放进度差异控制在同步播放延迟阈值之内,实现音视频播放同步。
在两次时间戳同步操作之间,采用基于数据传输延迟同步音视频播放方案,定期刷新音频数据以及视频图像数据的数据传输延迟,根据数据传输延迟的差值进行播放缓存以实现音视频播放同步。
进一步的,为确保平滑播放,播放设备在接收到音频数据或视频图像数据后,并不立即播放,而是缓存一定的数据以应对传输延迟波动。在播放音频数据或视频图像数据时,播放设备从音频缓存或视频图像缓存中提取数据,令提取出的数据进入播放环节。在步骤520的一种实现方式中,在采用追赶策略进行音频播放和/或视频图像播放的基础上,在播放环节中,加入播放缓存环节。具体的,在音频数据或视频图像数据从音频缓存或视频图像缓存中被提取后,在音频数据或视频图像数据被播放之前,将音频数据或视频图像数据再额外缓存特定时长(播放缓存)后在播放,缓存时长为音频数据传输延迟与视频图像数据传输延迟之间的差值,这样就可以补偿音频数据传输延迟与视频图像数据传输延迟之间的差异,从而确保音频数据与视频图像数据同步播放。
具体的,图16所示为根据本申请一实施例的音视频播放方法部分流程图。在步骤520的一种实现方式中,执行图16所示的下述流程以实现音视频播放同步:
步骤1510,在进行音频数据以及视频数据的传输前,获取音频数据传输以及视频图像传输的初始传输延迟,以传输延迟高的数据类型为第一类数据,以传输延迟低的数据类型为第二类数据,第一类数据的初始数据传输延迟为第一延迟,第二类数据的初始数据传输延迟为第二延迟(当传输延迟相同时,任意定义第一类数据以及第二类数据);
步骤1511,判断第一延迟差值是否小于等于交互场景播放延迟阈值,其中,第一延迟差值为第一延迟与第二延迟之间的差值;
步骤1512,当第一延迟差值小于等于交互场景播放延迟阈值时,传输第一类数据以及第二类数据,在第一类数据进入播放环节后直接播放,在第二类数据进入播放环节后将第二类数据缓存第一延迟差值后播放;
步骤1513,当第一延迟差值大于交互场景播放延迟阈值时,说明当前应用场景中,如果要确保音视频同步,则无法满足实时交互需求,因此,输出延迟过高提醒,以提醒用户当前数据传输链路无法满足实时交互需求。
在上述流程中,由于第二类数据是缓存后再播放,相当于第二类数据等待了第一类数据,因此可以确保第一类数据与第二类数据同步播放。
在步骤1512被执行后,还执行下述步骤:
步骤1520,获取音频数据传输以及视频图像传输的当前传输延迟,以第一类数据的当前数据传输延迟为第三延迟,第二类数据的当前数据传输延迟为第四延迟;
步骤1521,判断第一类数据的当前传输延迟是否高于第二类数据;
步骤1531,在第一类数据的当前传输延迟高于第二类数据的情况下,判断第二延迟差值是否小于等于交互场景播放延迟阈值,其中,第二延迟差值为第三延迟与第四延迟之间的差值;
步骤1532,当第二延迟差值小于等于交互场景播放延迟阈值时,在第一类数据进入播放环节后直接播放,在第二类数据进入播放环节后将第二类数据缓存第二延迟差值后播放;
步骤1533,当第二延迟差值大于交互场景播放延迟阈值时,在第一类数据进入播放环节后直接播放;删除已缓存的第二类数据中的部分数据,删除量为第二延迟差值超出交互场景播放延迟阈值的值;增加第二类数据的缓存量,当第二类数据的缓存量达到交互场景播放延迟阈值时开始播放第二类数据。
进一步的,在步骤1521被执行后,还执行下述步骤:
步骤1541,在第二类数据的当前传输延迟高于第一类数据的情况下,判断第三延迟差值是否小于等于交互场景播放延迟阈值,其中,第三延迟差值为第四延迟与第三延迟之间的差值;
步骤1542,当第三延迟差值小于等于交互场景播放延迟阈值时,在第二类数据进入播放环节后直接播放,在第一类数据进入播放环节后将第一类数据缓存第三延迟差值后播放;
步骤1543,当第三延迟差值大于交互场景播放延迟阈值时,在第二类数据进入播放环节后直接播放;删除已缓存的第一类数据中的部分数据,删除量为第三延迟差值超出交互场景播放延迟阈值的值;增加第一类数据的缓存量,当第一类数据的缓存量达到交互场景播放延迟阈值时开始播放第一类数据。
进一步的,在本申请一实施例中,针对非交互类应用场景,在采用平滑播放策略的基础上,引入了音视频同步操作。
具体的,在步骤510的一种实现方式中,针对音频播放与视频图像播放中的一项播放进程采用同步策略进行播放。在同步策略中,以未采用同步策略的播放进程的播放进度为基准,对采用同步策略的播放进程进行调整,使得采用同步策略的播放进程的播放进度与采用平滑播放策略的播放进程的播放进度同步。
例如,在一实施例中,针对音频播放采用平滑播放策略,针对视频图像播放采用基于音频播放进度的同步策略。又例如,在一实施例中,针对视频图像播放采用平滑播放策略,针对音频播放采用基于视频图像播放进度的同步策略。又例如,在一实施例中,针对音频播放以及视频图像播放采用平滑播放策略,进一步的,针对视频图像播放,在采用平滑播放的基础上,采用基于音频播放进度的同步策略。又例如,在一实施例中,针对音频播放以及视频图像播放采用平滑播放策略,进一步的,针对音频播放,在采用平滑播放的基础上,采用基于视频图像播放进度的同步策略。
进一步的,在步骤510的具体实现过程中,本领域的技术人员可以采用多种不同的实施方式实现同步策略。
例如,采用基于同步播放延迟阈值进行判断的方式,来判断音频的播放进度与视频图像的播放进度是否同步(例如,通过时间戳来体现播放进度差异);在播放过程中,调整音频播放或视频图像播放,使得音频播放与视频图像播放间的播放进度差异控制在同步播放延迟阈值之内,从而在满足音频播放与视频图像播放的实时性的基础上,实现音视频播放同步。具体的,可以采用删除缓存中的未播放数据的方式来加速推进播放进度,也可以采用在缓存中的未播放数据中添加过渡数据的方式来延缓播放进度的推进,从而使得音频的播放进度与视频图像的播放进度同步。
又例如,基于对数据传输延迟的监控来实现音视频同步。
可以理解的是,上述实施例中的部分或全部步骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照上述实施例呈现的不同的顺序来执行,并且有可能并非要执行上述实施例中的全部操作。
进一步的,在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(FieldProgrammable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由访问方对器件编程来确定。由设计人员自行编程来把一个数字装置“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera HardwareDescription Language)、Confluence、CUPL(Cornell University ProgrammingLanguage)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
因此,基于本申请实施例所提出的音视频播放方法,本申请一实施例提出了一种音视频播放装置,该装置安装在如图7所示的音视频输出设备701中,装置包括:
场景识别模块,其用于识别当前应用场景;
播放策略配置模块,其用于在当前应用场景为交互类应用场景时,配置追赶策略为音频播放和/或视频图像播放的播放策略,其中,追赶策略包括:
调整音频播放和/或所述视频图像播放,令音频播放和/或视频图像播放的播放进度追赶音视频数据输出的进度,以使得音频播放和/或视频图像播放相较于音视频数据输出的播放延迟小于等于预设的交互场景播放延迟阈值。
进一步的,播放策略配置模块还用于:
在当前应用场景为非交互类应用场景时,配置平滑播放策略为音频播放和/或视频图像播放的播放策略。
基于本申请实施例所提出的音频播放方法,本申请一实施例提出了一种音频播放装置,该装置安装在如图7所示的音频播放设备702中,音频播放装置包括:
阈值获取模块,其用于当音频播放的播放策略为追赶策略时,获取预设的交互场景播放延迟阈值;
第一播放调整模块,其用于当音频播放的播放策略为追赶策略时,在进行音频播放的过程中调整音频播放,令音频播放的播放进度追赶音视频数据输出的进度,以使得音频播放相较于音视频数据输出的播放延迟小于等于预设的交互场景播放延迟阈值。
进一步的,音频播放装置还包括:
第二播放调整模块,其用于当音频播放的播放策略为平滑播放策略时,在进行音频播放的过程中基于平滑播放策略调整音频播放。
基于本申请实施例所提出的视频图像播放方法,本申请一实施例提出了一种视频图像播放装置,该装置安装在如图7所示的视频图像播放设备703中,视频图像播放装置包括:
阈值获取模块,其用于当视频图像播放的播放策略为追赶策略时,获取预设的交互场景播放延迟阈值;
第一播放调整模块,其用于当视频图像播放的播放策略为追赶策略时,在进行视频图像播放的过程中调整视频图像播放,令视频图像播放的播放进度追赶音视频数据输出的进度,以使得视频图像播放相较于音视频数据输出的播放延迟小于等于预设的交互场景播放延迟阈值。
进一步的,视频图像播放装置还包括:
第二播放调整模块,其用于当视频图像播放的播放策略为平滑播放策略时,在进行视频图像播放的过程中基于平滑播放策略调整视频图像播放。
进一步的,本申请一实施例提出了一种音视频图像播放装置,该装置安装在如图6所示的播放设备603中,装置包括:
场景识别模块,其用于识别当前应用场景;
播放策略配置模块,其用于在当前应用场景为交互类应用场景时,配置追赶策略为音频播放和/或视频图像播放的播放策略;在当前应用场景为非交互类应用场景时,配置平滑播放策略为音频播放和/或视频图像播放的播放策略;
阈值获取模块,其用于当音频播放和/或视频图像播放的播放策略为追赶策略时,获取预设的交互场景播放延迟阈值;
第一播放调整模块,其用于当音频播放和/或视频图像播放的播放策略为追赶策略时,调整音频播放和/或视频图像播放,令音频播放和/或视频图像播放的播放进度追赶音视频数据输出的进度,以使得音频播放和/或视频图像播放相较于音视频数据输出的播放延迟小于等于预设的交互场景播放延迟阈值;
第二播放调整模块,其用于当音频播放和/或视频图像播放的播放策略为平滑播放策略时,基于平滑播放策略调整音频播放和/或视频图像播放。
在本申请实施例的描述中,为了描述的方便,描述装置时以功能分为各种模块/单元分别描述,各个模块/单元的划分仅仅是一种逻辑功能的划分,在实施本申请实施例时可以把各模块/单元的功能在同一个或多个软件和/或硬件中实现。
具体的,本申请实施例所提出的装置在实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,检测模块可以为单独设立的处理元件,也可以集成在电子设备的某一个芯片中实现。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,ASIC),或,一个或多个数字信号处理器(Digital Singnal Processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)等。再如,这些模块可以集成在一起,以片上装置(System-On-a-Chip,SOC)的形式实现。
本申请一实施例还提出了一种电子设备(音视频数据输出设备),电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发电子设备执行如本申请实施例所述的音视频播放方法步骤。
本申请一实施例还提出了一种电子设备(音频播放设备),电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发电子设备执行如本申请实施例所述的音频播放方法步骤。
本申请一实施例还提出了一种电子设备(视频图像播放设备),电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发电子设备执行如本申请实施例所述的视频图像播放方法步骤。
本申请一实施例还提出了一种电子设备(音视频播放设备),电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发电子设备执行如本申请实施例所述的音视频播放方法步骤。
具体的,在本申请一实施例中,上述一个或多个计算机程序被存储在上述存储器中,上述一个或多个计算机程序包括指令,当上述指令被上述设备执行时,使得上述设备执行本申请实施例所述的方法步骤。
具体的,在本申请一实施例中,电子设备的处理器可以是片上装置SOC,该处理器中可以包括中央处理器(Central Processing Unit,CPU),还可以进一步包括其他类型的处理器。具体的,在本申请一实施例中,电子设备的处理器可以是PWM控制芯片。
具体的,在本申请一实施例中,涉及的处理器可以例如包括CPU、DSP、微控制器或数字信号处理器,还可包括GPU、嵌入式神经网络处理器(Neural-network Process Units,NPU)和图像信号处理器(Image Signal Processing,ISP),该处理器还可包括必要的硬件加速器或逻辑处理硬件电路,如ASIC,或一个或多个用于控制本申请技术方案程序执行的集成电路等。此外,处理器可以具有操作一个或多个软件程序的功能,软件程序可以存储在存储介质中。
具体的,在本申请一实施例中,电子设备的存储器可以是只读存储器(read-onlymemory,ROM)、可存储静态信息和指令的其它类型的静态存储设备、随机存取存储器(random access memory,RAM)或可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何计算机可读介质。
具体的,在本申请一实施例中,处理器可以和存储器可以合成一个处理装置,更常见的是彼此独立的部件,处理器用于执行存储器中存储的程序代码来实现本申请实施例所述方法。具体实现时,该存储器也可以集成在处理器中,或者,独立于处理器。
进一步的,本申请实施例阐明的设备、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
本领域内的技术人员应明白,本申请实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
具体的,本申请一实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行本申请实施例提供的方法。
本申请一实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行本申请实施例提供的方法。
本申请中的实施例描述是参照根据本申请实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
还需要说明的是,本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
本申请实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以意识到,本申请实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,仅为本申请的具体实施方式,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围为准。
Claims (21)
1.一种音视频播放方法,其特征在于,包括:
识别当前应用场景;
根据所述当前应用场景配置音频播放以及视频图像播放的播放策略,包括:在所述当前应用场景为交互类应用场景时,配置追赶策略为音频播放以及视频图像播放的播放策略,其中:
用于音频播放的音频数据的输出设备以及用于视频图像播放的视频图像数据的输出设备为不同的设备,用于接收所述音频数据进行音频播放的播放设备以及用于接收所述视频图像数据进行视频图像播放的播放设备为同一设备;或者,用于音频播放的音频数据的输出设备以及用于视频图像播放的视频图像数据的输出设备为同一设备,用于接收所述音频数据进行音频播放的播放设备以及用于接收所述视频图像数据进行视频图像播放的播放设备为不同的设备;
所述音频播放的追赶策略包括,调整所述音频播放,令所述音频播放的播放进度追赶设备输出所述音频数据的进度,以使得所述音频播放相较于音频数据输出的播放延迟小于等于预设的交互场景播放延迟阈值;
所述视频图像播放的追赶策略包括,调整所述视频图像播放,令所述视频图像播放的播放进度追赶设备输出所述视频图像数据的进度,以使得所述视频图像播放相较于视频图像数据输出的播放延迟小于等于所述预设的交互场景播放延迟阈值。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述当前应用场景为非交互类应用场景时,配置平滑播放策略为所述音频播放和/或所述视频图像播放的播放策略。
3.一种音频播放方法,其特征在于,包括:
获取基于如权利要求1或2所述方法配置的音频播放的播放策略,当所述音频播放的播放策略为追赶策略时,获取预设的交互场景播放延迟阈值;
接收设备输出的音频数据;
基于所述交互场景播放延迟阈值,针对所述音频数据进行音频播放,在所述音频播放的执行过程中,调整所述音频播放,令所述音频播放的播放进度追赶所述设备输出所述音频数据的进度,以使得所述音频播放相较于音频数据输出的播放延迟小于等于预设的交互场景播放延迟阈值。
4.根据权利要求3所述的方法,其特征在于,所述基于所述交互场景播放延迟阈值,针对所述音频数据进行音频播放,包括:
监控所述音频播放相对于音频数据输出的播放延迟;
当所述音频播放的播放延迟超出所述交互场景播放延迟阈值时,调整所述音频播放,以使得所述音频播放的播放延迟小于等于所述交互场景播放延迟阈值。
5.根据权利要求3所述的方法,其特征在于,所述基于所述交互场景播放延迟阈值进行所述音频播放,包括:
监控所述音频播放的未播放数据的数据缓存量;
当所述音频播放的未播放数据的数据缓存量超出预设的数据缓存阈值时,调整所述音频播放的未播放数据的数据缓存量,使得所述音频播放的未播放数据的数据缓存量小于等于预设的数据缓存阈值。
6.根据权利要求3~5中任一项所述的方法,其特征在于,所述调整所述音频播放,包括:
删除音频缓存中的全部或部分的未播放数据,以使得所述音频播放跳过被删除的未播放数据,从而使得所述音频播放的播放进度追赶音视频数据输出的进度。
7.根据权利要求6所述的方法,其特征在于,所述删除音频缓存中的全部或部分的未播放数据,包括:
监控音频缓存中音频数据的波形、频率,在需要删除音频缓存中的未播放数据时,优先删除对于人耳不敏感的音频数据。
8.一种视频图像播放方法,其特征在于,包括:
获取基于如权利要求1或2所述方法配置的视频图像播放的播放策略,当所述视频图像播放的播放策略为追赶策略时,获取预设的交互场景播放延迟阈值;
接收设备输出的视频图像数据;
基于所述交互场景播放延迟阈值,针对所述视频图像数据进行视频图像播放,在所述视频图像播放的执行过程中,调整所述视频图像播放,令所述视频图像播放的播放进度追赶所述设备输出所述视频图像数据的进度,以使得所述视频图像播放相较于视频图像数据输出的播放延迟小于等于预设的交互场景播放延迟阈值。
9.根据权利要求8所述的方法,其特征在于,所述基于所述交互场景播放延迟阈值,针对所述视频图像数据进行视频图像播放,包括:
监控所述视频图像播放相对于视频图像数据输出的播放延迟;
当所述视频图像播放的播放延迟超出所述交互场景播放延迟阈值时,调整所述视频图像播放,以使得所述视频图像播放的播放延迟小于等于所述交互场景播放延迟阈值。
10.根据权利要求9所述的方法,其特征在于,所述基于所述交互场景播放延迟阈值进行所述视频图像播放,包括:
监控所述视频图像播放的未播放数据的数据缓存量;
当所述视频图像播放的未播放数据的数据缓存量超出预设的数据缓存阈值时,调整所述视频图像播放的未播放数据的数据缓存量,使得所述视频图像播放的未播放数据的数据缓存量小于等于预设的数据缓存阈值。
11.根据权利要求8~10中任一项所述的方法,其特征在于,所述调整所述视频图像播放,包括:
删除视频图像缓存中的全部或部分的未播放数据,以使得所述视频图像播放跳过被删除的未播放数据,从而使得所述视频图像播放的播放进度追赶音视频数据输出的进度。
12.一种音视频播放装置,其特征在于,装置包括:
场景识别模块,其用于识别当前应用场景;
播放策略配置模块,其用于根据所述当前应用场景配置音频播放以及视频图像播放的播放策略,包括:
在所述当前应用场景为交互类应用场景时,配置追赶策略为音频播放以及视频图像播放的播放策略,其中:
用于音频播放的音频数据的输出设备以及用于视频图像播放的视频图像数据的输出设备为不同的设备,用于接收所述音频数据进行音频播放的播放设备以及用于接收所述视频图像数据进行视频图像播放的播放设备为同一设备间分别传输的数据;或者,用于音频播放的音频数据的输出设备以及用于视频图像播放的视频图像数据的输出设备为同一设备,用于接收所述音频数据进行音频播放的播放设备以及用于接收所述视频图像数据进行视频图像播放的播放设备为不同的设备;
所述音频播放的追赶策略包括,调整所述音频播放,令所述音频播放的播放进度追赶设备输出所述音频数据的进度,以使得所述音频播放相较于音频数据输出的播放延迟小于等于预设的交互场景播放延迟阈值;
所述视频图像播放的追赶策略包括,调整所述视频图像播放,令所述视频图像播放的播放进度追赶设备输出所述视频图像数据的进度,以使得所述视频图像播放相较于视频图像数据输出的播放延迟小于等于所述预设的交互场景播放延迟阈值。
13.一种音频播放装置,其特征在于,装置包括:
阈值获取模块,其用于获取基于如权利要求1或2所述方法配置的音频播放的播放策略,当所述音频播放的播放策略为追赶策略时,获取预设的交互场景播放延迟阈值;
输入模块,其用于接收设备输出的音频数据,所述音频数据用于进行所述音频播放;
播放调整模块,其用于基于所述交互场景播放延迟阈值,针对所述音频数据进行音频播放,在所述音频播放的执行过程中,调整所述音频播放,令所述音频播放的播放进度追赶所述设备输出所述音频数据的进度,以使得所述音频播放相较于音频数据输出的播放延迟小于等于预设的交互场景播放延迟阈值。
14.一种视频图像播放装置,其特征在于,装置包括:
阈值获取模块,其用于获取基于如权利要求1或2所述方法配置的视频图像播放的播放策略,当所述视频图像播放的播放策略为追赶策略时,获取预设的交互场景播放延迟阈值;
输入模块,其用于接收设备输出的视频图像数据,所述视频图像数据用于进行所述视频图像播放;
播放调整模块,其用于基于所述交互场景播放延迟阈值,针对所述视频图像数据进行视频图像播放,在所述视频图像播放的执行过程中,调整所述视频图像播放,令所述视频图像播放的播放进度追赶所述设备输出所述视频图像数据的进度,以使得所述视频图像播放相较于视频图像数据输出的播放延迟小于等于预设的交互场景播放延迟阈值。
15.一种音视频播放装置,其特征在于,装置包括:
如权利要求12所述的场景识别模块以及播放策略配置模块;
阈值获取模块,其用于获取所述播放策略配置模块配置的音频播放的播放策略以及视频图像播放的播放策略,其中,当所述音频播放和/或所述视频图像播放的播放策略为追赶策略时,获取预设的交互场景播放延迟阈值;
播放调整模块,其用于在进行所述音频播放以及所述视频图像播放的过程中,基于所述预设的交互场景播放延迟阈值调整所述音频播放和/或所述视频图像播放。
16.一种音视频播放系统,其特征在于,系统包括:
音视频输出装置,其用于输出音频数据以及音频播放的播放策略到音频播放装置,以及,输出视频图像数据以及视频图像播放的播放策略到视频图像播放装置;所述音视频输出装置包括如权利要求12所述的场景识别模块以及播放策略配置模块;
如权利要求13所述的音频播放装置,其用于接收所述音频数据以及所述音频播放的播放策略,按照所述音频播放的播放策略,播放所述音频数据;
如权利要求14所述的视频图像播放装置,其用于接收所述视频图像数据以及所述视频图像播放的播放策略,按照所述视频图像播放的播放策略,播放所述视频图像数据。
17.一种音视频播放系统,其特征在于,系统包括:
音频输出装置,其用于输出音频数据;
视频图像输出装置,其用于输出视频图像数据;
如权利要求15所述的音视频播放装置,其用于:接收所述音频数据以及所述视频图像数据,播放所述音频数据以及所述视频图像数据。
18.一种电子设备,其特征在于,所述电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备执行如权利要求1或2所述的方法步骤。
19.一种电子设备,其特征在于,所述电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备执行如权利要求3~7中任一项所述的方法步骤。
20.一种电子设备,其特征在于,所述电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备执行如权利要求8~11中任一项所述的方法步骤。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1-11中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110217016.8A CN114979783B (zh) | 2021-02-26 | 2021-02-26 | 一种音视频播放方法、装置和电子设备 |
PCT/CN2021/143557 WO2022179306A1 (zh) | 2021-02-26 | 2021-12-31 | 一种音视频播放方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110217016.8A CN114979783B (zh) | 2021-02-26 | 2021-02-26 | 一种音视频播放方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114979783A CN114979783A (zh) | 2022-08-30 |
CN114979783B true CN114979783B (zh) | 2024-04-09 |
Family
ID=82972806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110217016.8A Active CN114979783B (zh) | 2021-02-26 | 2021-02-26 | 一种音视频播放方法、装置和电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114979783B (zh) |
WO (1) | WO2022179306A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116170622A (zh) * | 2023-02-21 | 2023-05-26 | 阿波罗智联(北京)科技有限公司 | 音视频播放方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109144463A (zh) * | 2018-08-14 | 2019-01-04 | Oppo广东移动通信有限公司 | 传输控制方法、装置以及电子设备 |
CN111372138A (zh) * | 2018-12-26 | 2020-07-03 | 杭州登虹科技有限公司 | 一种播放器端的直播低延迟技术方案 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI314017B (en) * | 2006-07-12 | 2009-08-21 | Quanta Comp Inc | System and method for synchronizing video frames and audio frames |
CN106131655B (zh) * | 2016-05-19 | 2019-06-11 | 安徽四创电子股份有限公司 | 一种基于实时视频的播放方法及平滑追赶播放方法 |
CN106790576B (zh) * | 2016-12-27 | 2020-01-31 | 深圳市汇龙建通实业有限公司 | 一种互动桌面同步方法 |
CN107277558B (zh) * | 2017-06-19 | 2020-03-31 | 网宿科技股份有限公司 | 一种实现直播视频同步的播放器客户端、系统及方法 |
CN107483972B (zh) * | 2017-07-24 | 2019-05-07 | 平安科技(深圳)有限公司 | 一种音视频的直播处理方法、存储介质和一种移动终端 |
-
2021
- 2021-02-26 CN CN202110217016.8A patent/CN114979783B/zh active Active
- 2021-12-31 WO PCT/CN2021/143557 patent/WO2022179306A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109144463A (zh) * | 2018-08-14 | 2019-01-04 | Oppo广东移动通信有限公司 | 传输控制方法、装置以及电子设备 |
CN111372138A (zh) * | 2018-12-26 | 2020-07-03 | 杭州登虹科技有限公司 | 一种播放器端的直播低延迟技术方案 |
Also Published As
Publication number | Publication date |
---|---|
WO2022179306A1 (zh) | 2022-09-01 |
CN114979783A (zh) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11386932B2 (en) | Audio modification for adjustable playback rate | |
JP5957760B2 (ja) | 映像音声処理装置 | |
US7647229B2 (en) | Time scaling of multi-channel audio signals | |
CN112822502B (zh) | 直播去抖动的智能缓存与直播方法、设备及存储介质 | |
RU2507707C2 (ru) | Способ и устройство управления воспроизведением видео- и аудиоданных | |
JP2003114845A (ja) | メディア変換方法およびメディア変換装置 | |
KR20080014843A (ko) | 쌍방향 미디어 응답 시스템에서 시각 단서를 제공하는 방법 | |
US10582258B2 (en) | Method and system of rendering late or early audio-video frames | |
CN111669645B (zh) | 视频的播放方法、装置、电子设备及存储介质 | |
CN109168059A (zh) | 一种在不同设备上分别播放音频与视频的唇音同步方法 | |
JP3823044B2 (ja) | タイムスタンプ値制御装置 | |
CN109905725A (zh) | 发送方法、接收方法、发送装置及接收装置 | |
KR100490403B1 (ko) | 오디오 스트림의 버퍼링 제어 방법 및 그 장치 | |
CN114979783B (zh) | 一种音视频播放方法、装置和电子设备 | |
CN115767158A (zh) | 同步播放方法、终端设备及存储介质 | |
KR102422794B1 (ko) | 재생지연 조절 방법 및 장치와 시간축 변형방법 및 장치 | |
CN113535115A (zh) | 音频播放方法、装置、电子设备及存储介质 | |
JP2023505986A (ja) | ユーザ入力に基づく複数出力制御 | |
CN113422997A (zh) | 一种播放音频数据的方法、装置及可读存储介质 | |
JP5325059B2 (ja) | 映像音声同期再生装置、映像音声同期処理装置、映像音声同期再生プログラム | |
US20240029755A1 (en) | Intelligent speech or dialogue enhancement | |
EP4071634A1 (en) | Simplifying media content and refreshing simplified media content | |
CN113613125B (zh) | 音频同步控制方法、装置及音频设备、系统 | |
KR100643451B1 (ko) | 화상 데이터와 텍스트 데이터의 동기화 출력 기능을가지는 화상 단말기 및 그 방법 | |
KR20230127062A (ko) | 통합 채널 음성 데이터를 생성하는 서버, 방법 및 컴퓨터 프로그램 |
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 |