CN111641858A - 一种音视频同步方法及系统 - Google Patents
一种音视频同步方法及系统 Download PDFInfo
- Publication number
- CN111641858A CN111641858A CN202010354952.9A CN202010354952A CN111641858A CN 111641858 A CN111641858 A CN 111641858A CN 202010354952 A CN202010354952 A CN 202010354952A CN 111641858 A CN111641858 A CN 111641858A
- Authority
- CN
- China
- Prior art keywords
- frame
- video
- audio
- time
- decoding
- 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
Links
Images
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/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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及一种音视频同步方法和系统,其中,所述方法包括:按照均匀时间间隔从解码缓冲队列中获取视频帧以用于屏幕渲染;以音频为基准,使视频帧的时间向音频帧的时间对齐;以及在视频帧的解码过程根据渲染帧率进行丢帧处理。本发明均衡了不同视频帧解码时间,并对音、视频帧进行时间对齐,通过丢帧处理,提高了视频帧解码效率,因而可以使低性能播放终端能够流畅地播放高画质视频。
Description
技术领域
本发明涉及一种视频处理方法,特别地涉及一种音视频同步方法及系统。
背景技术
随着带宽的进一步提升,存储成本的进一步下调,视频质量在逐步提高。画质越来越高的视频,如4k(3840x2160)画质的视频已越来越普及,并且视频的播放也从专用设备普及到各种移动终端。当终端硬件解码芯片很难做到Codec兼容的时候,采用软件解码则是一个比较好的通用解决方案。
但是,当采用软件解码来解决视频播放的问题时,在一些低端手机的CPU主频较低时,对视频关键帧的解码耗时时间长,动辄几百毫秒,因而播放时会导致严重的视频卡顿、音频播放卡顿或者无声,具有明显的音视频帧失步现象。
发明内容
针对现有技术中存在的技术问题,本发明提出了一种音视频同步方法及系统,用于在低性能播放终端流畅地播放高画质视频,音视频同步。
为解决上述技术问题,根据本发明的一个方面,本发明提供了一种音视频同步方法,其中包括以下步骤:
按照均匀时间间隔从解码缓冲队列中获取视频帧以用于屏幕渲染;
以音频为基准,使视频帧的时间向音频帧的时间对齐;以及
在视频帧的解码过程根据渲染帧率进行丢帧处理。
优选地,所述的音视频同步方法还进一步包括:使音频帧的时间向参考时钟对齐。
优选地,所述参考时钟为系统时钟。
优选地,所述的音视频同步方法进一步包括:使音频帧的时间向参考时钟对齐。
优选地,在所述的音视频同步方法中,将当前渲染帧率与多个级别的阈值进行对比,响应于当前视频处于所述多个级别的阈值限定的解码丢帧级别,在视频帧的解码过程进行所述解码丢帧级别的丢帧处理。
其中,在当前渲染帧率大于或等于一级阈值时,对当前视频进行逐帧解码;在当前渲染帧率介于一级阈值和二级阈值之间时,跳过当前视频的非关键帧的解码环节,其中,一级阈值大于二级阈值;在当前渲染帧率介于二级阈值和三级阈值之间时,只对当前视频的I帧进行解码,其中,二级阈值大于三级阈值;在当前渲染帧率低于三级阈值时,以GOP为单位丢弃一组视频帧。
优选地,所述的音视频同步方法进一步包括:
监视为渲染获取到的视频帧与音频帧的时间差异与丢帧阈值的大小;以及
响应于当前视频帧与音频帧的时间差异大于或等于所述丢帧阈值,丢弃所述视频帧,其中,丢帧阈值表示可接受的所述音频帧与所述视频帧的最大时间差。
为解决上述技术问题,根据本发明的一个方面,本发明提供了一种音视频同步系统,其中包括缓冲队列、时间对齐模块和解码丢帧处理模块,其中,所述缓冲队列经配置以存储已解码的多个视频帧;所述时间对齐模块经配置以音频为基准,使视频帧的时间向音频帧的时间对齐;所述解码丢帧处理模块经配置以根据当前渲染帧率对视频帧进行丢帧处理。
优选地,所述缓冲队列长度为5-10帧。
优选地,所述时间对齐模块包括时间确定单元和时间对齐处理单元,其中,所述时间确定单元经配置以确定音频帧的时间;所述时间对齐处理单元经配置以根据音频帧的时间,修改对应视频帧的时间,以使视频帧的时间与音频帧的时间对齐。
优选地,所述时间确定单元经进一步配置还确定系统时间为参考时间;对应地,所述时间对齐处理单元经进一步配置还根据系统时间,调整音频帧的时间,以使音频帧的时间与系统时间对齐。
优选地,所述解码丢帧处理模块经进一步配置包括视频帧统计单元、帧率计算单元、解码丢帧级别确定单元和解码丢帧处理单元,其中,所述视频帧统计单元经配置以统计一个预置计时周期内渲染生成的视频帧数;所述帧率计算单元经配置以按照预置计时周期和所述计时周期内的视频帧数计算当前渲染帧率;所述解码丢帧级别确定单元经配置根据当前渲染帧率与多个级别阈值的关系确定当前解码丢帧级别;所述解码丢帧处理单元根据当前的解码丢帧级别,按照预定的丢帧策略生成解码丢帧信息,并发送给视频解码单元,以对当前视频进行对应级别的丢帧处理。
其中,在当前渲染帧率介于一级阈值和二级阈值之间时,所述丢帧处理单元生成的解码丢帧信息为:跳过当前视频的非关键帧的解码环节,其中,一级阈值大于二级阈值;在当前渲染帧率介于二级阈值和三级阈值之间时,所述丢帧处理单元生成的解码丢帧信息为:只对当前视频的关键帧进行解码,其中,二级阈值大于三级阈值;在当前渲染帧率低于三级阈值时,所述丢帧处理单元生成的解码丢帧信息为:以GOP为单位丢弃一组或多组视频帧。
优选地,所述的音视频同步系统还进一步包括渲染丢帧模块,其经进一步配置包括时间监视单元和渲染丢帧处理单元,其中,所述时间监视单元经配置以监视为渲染获取到的视频帧与音频帧的时间差异与丢帧阈值的大小;所述渲染丢帧处理单元,响应于当前视频帧与音频帧的时间差异大于或等于所述丢帧阈值,丢弃所述视频帧;其中,丢帧阈值表示可接受的所述音频帧与所述视频帧最大时间差。
在所述播放终端由于CPU性能较低,无法流畅地播放某些高画质视频时,经过本发明提供的上述方案的处理,在不升级播放终端硬件的情况下,提高了视频播放的流畅性,有效地减少了播放卡顿、音视频不同步的问题,能够流畅地播放高码率与高分辨率视频,提高了用户体验。
附图说明
下面,将结合附图对本发明的优选实施方式进行进一步详细的说明,其中:
图1是根据本发明的一个实施例的音视频同步方法的流程图;
图2是根据本发明的一个实施例的音视频同步系统的原理框图;
图3是根据本发明的一个实施例的时间对齐处理模块的原理框图;
图4是根据本发明的一个实施例的时间对齐示意图;
图5是根据本发明的一个实施例的渲染模块的原理框图;
图6是根据本发明一个实施例提供的在一个播放终端播放高画质视频时的处理简要流程图;以及
图7是图6所示流程中的解码过程的处理流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在以下的详细描述中,可以参看作为本申请一部分用来说明本申请的特定实施例的各个说明书附图。在附图中,相似的附图标记在不同图式中描述大体上类似的组件。本申请的各个特定实施例在以下进行了足够详细的描述,使得具备本领域相关知识和技术的普通技术人员能够实施本申请的技术方案。应当理解,还可以利用其它实施例或者对本申请的实施例进行结构、逻辑或者电性的改变。
在终端的硬件性能配置较低而无法流畅地播放高画质视频时,通过本发明提供的音视频同步方法和系统,在视频解码、渲染过程中采取一系列的措施,可以很好地改善在低性能终端上播放高画质视频的品质,使视频的音视频同步、播放流畅。
图1是根据本发明一个实施例提供的音视频同步方法的流程图,所述方法包括:
步骤S1,建立解码缓冲队列,用以平均视频帧的解码耗时。由于在解码时,不同类型的视频帧解码耗时不同,例如,关键帧(I帧)的解码耗时通常会大于非关键帧(B,P帧)的解码耗时,因而在渲染视频帧时,获取已解码的关键帧的时间间隔会大于已解码的非关键帧(B,P帧)的时间间隔,由于播放终端的性能等原因获取I帧和获取B、P帧的时间间隔的差别会很大,从而导致渲染播放过程中的时间抖动、卡顿。本发明针对这种情况,将解码后的视频帧放到缓冲队列中,下游的渲染模块按照预置时间间隔(如40ms)到缓冲队列中读取视频帧用于渲染。因而,从整体上看相当于平均了视频帧的解码耗时,因而有效地减少了播放过程中时间抖动、卡顿的问题。
步骤S2,以音频为基准,使视频帧的时间向音频帧的时间对齐。具体地,在解码得到视频帧和音频帧时,获取其各自的时间参数信息,以音频帧的时间参数为基准,调整视频帧的时间参数信息,使该视频帧的时间参数信息与音频帧的时间参数信息相同。
在另一个实施例中,在进行时间对齐时,可采用多级时间对齐策略,例如:设置一参考时钟,如以系统时钟为参考时钟,首先使音频帧的时间向所述参考时钟对齐,然后再使视频帧的时间向音频帧的时间对齐。通过多级时间对齐策略,对于一些要求实时性的视频,在保证了音视频同步的同时,还可以保证视频的实时性。在一个实施例中,根据采集时为音频帧和视频帧打上的时间戳确定与音频帧对应的视频帧。
步骤S3,根据当前渲染帧率对视频帧进行解码丢帧处理。具体实施时,可启动一个监测线程来监测渲染帧率变化,而后根据当前的渲染帧率,在解码过程中进行不同级别的丢帧处理。
在一个实施例中,系统内部预置一个计时周期,首先统计该预置计时周期内渲染生成的视频帧数;根据统计到的视频帧数和预置计时周期计算当前渲染帧率。本发明设置了多级解码丢帧策略,并以不同级别的阈值来划分级别。例如,分别以25帧/秒、20帧/秒和15帧/秒分别作为一、二、三级阈值,通过对比当前渲染帧率与多个级别阈值可以确定当前应该应用哪个级别的解码丢帧策略。其中,前述的各级阈值可以根据主观感受而设置,例如,当帧率大于25帧/秒时,人眼看到的则是连续的画面,因而可将25帧/秒作为一级阈值。至于二级阈值、三级阈值可灵活设置,如前述的二级阈值为15-25帧/秒中的任一个值,其代表了一定程度的卡顿情况,而15帧/秒以下会给人严重卡顿的感觉,因而,在一个实施例中,将15帧/秒作为三级阈值。
针对渲染帧率大于或等于25帧/秒的情况,由于当前的帧率足够大,渲染生成的视频不影响人眼的观看感受,所以对应的处理措施是不需要丢帧,正常逐帧解码。在当前渲染帧率在一级阈值和二级阈值之间(如小于25帧/秒且大于20帧/秒)时,由于此时生成的视频已影响观看时的流畅度,但是影响并不大,可以被多数人接受。因而在当前的解码过程只跳过一些非关键帧的解码环节,如跳过B帧或P帧的解码。在当前渲染帧率介于二级阈值和三级阈值之间(如小于20帧/秒且大于15帧/秒)时,流畅度较差,影响观看体验。为了不影响人眼观看到关键信息,则在此时可以只对当前视频的关键帧即I帧进行解码,而跳过其他非关键帧的解码甚至包括一些环路滤波的处理。在当前渲染帧率低于三级阈值(如15帧/秒)时,卡顿现象严重,为了解决此问题,在解码过程中以GOP(Group of Pictures,画面组)为单位跳过一组视频帧。其中,所述的GOP在H.264编码架构中为一组完整的图像,是两个关键帧之间的距离。
本发明根据当前视频的渲染帧率而确定视频的延时程度,根据不同的延时程度,进行相应的丢帧处理,从而保证了视频播放时的流畅度。
在另一个更好的实施例中,还包括渲染之前的丢帧处理过程。如图1中虚线所示的步骤S4。为了保证播出时的音视频同步,虽然在步骤2中进行了音视频帧的对齐,为了防止由于数据搬运等原因造成的音、视频帧的时间再次发生变化,在本实施例中,在下游渲染模块获取到音频帧和视频帧时,在渲染前监视音频帧和视频帧的时间差异,如果音频帧和视频帧的时间差异大于或等于设置的丢帧阈值,则丢弃所述视频帧。其中,所述的丢帧阈值为设定的可以忍受的所述音频帧与所述视频帧最大时间差,可根据实际需要,如丢帧造成的观看感受、对音视频不同步的忍受程度等设置为不同的值。
需要说明的是,前述三个步骤S1-S3并没有先后顺序,在视频解码处理过程中,可对这三个步骤的处理并发执行,从而能够取得好的效果。步骤S4为一增补步骤,其在步骤S1-S3执行完之后,在渲染之前进一步解决同步问题,从而可以保证播出的视频稳定、流畅。
如图2所示,为根据本发明一个实施例提供的音视频同步系统的原理框图。在终端接收到视频数据时,经过解协议、解封装等流程获得了符合某个编码格式的视频码流和音频码流,如符合H.264编码格式的视频码流和AAC编码格式的音频码流。
解码模块2包括音频解码单元21和视频解码单元22。分别对解封装后的视频/音频压缩编码数据解码成为非压缩的视频/音频原始数据。例如,音频解码单元21可对AAC,MP3,AC-3等压缩编码标准的音频进行解码,解码后的音频数据存储在内存模块3的某个区域,如图中的音频帧集合。视频解码单元22可对H.264,MPEG2,VC-1等压缩编码标准的视频进行解码,解码后的视频帧缓存在内存模块3中的缓冲队列10中。渲染模块4按照预定时间间隔(如40ms)到内存模块3中读取已解码的数据,如到缓冲队列10中读取视频帧,到音频帧集合中读取音频帧。渲染模块4将解码后的音频帧、视频帧及其他附加信息,如字幕等渲染合成视频后输出。
如图2中虚线所示,本发明所述系统1包括缓冲队列10、时间对齐模块11和解码丢帧处理模块12。其中,解码模块20中的视频解码单元21根据相应格式的解码流程获得视频帧,并将其存储在本系统在内存模块3中所建的缓冲队列10中。解码时的相关信息,如时间信息、视频帧及音频帧的其他信息存储在内存模块3中的解码信息区中。其中,所述缓冲队列10的长度理论上可为任意数量,综合考虑终端的硬件处理能力及效率,以5-10帧为宜。渲染模块4按照预置时间间隔(如33.3ms-50ms)到缓冲队列10中读取视频帧用于渲染,从整体上看,相当于平均了视频帧的整体解码耗时,因而有效地减少了由于不同帧解码耗时不同造成的时间抖动。
所述时间对齐模块11以音频为基准,使视频帧的时间向音频帧的时间对齐。在图2所示的实施例中,时间对齐模块11包括时间确定单元111和时间对齐处理单元112,其中,所述时间确定单元111用以确定音频帧的时间,例如,时间确定单元111从内存模块30中解码信息区中取得已解码的视频帧和音频帧各自的时间参数信息,从而可以得到音频帧和视频帧的时间信息。并将其发送给时间对齐处理单元11。时间对齐处理单元11以音频帧的时间为准,调整缓冲队列10中视频帧的时间信息,以使视频帧的时间与对应音频帧的时间对齐。
在另一个实施例中,如图3所示,时间对齐处理模块11a包括所述时间确定单元111a和时间对齐处理单元112a。所述时间确定单元111a读取内存模块3中的解码信息区获得确定音频帧时间T1和对应的视频帧时间T2,并读取系统时钟110a获得系统时间T0。如图4所示,时间轴t0为系统时间轴,时间轴t1为音频时间轴,时间轴t2为视频时间轴。当读取到音频帧时间T1和对应的视频帧时间T2后,还要读取对应的系统时间T0。将系统时间T0确定为一级参考时间,将读取到的音频帧时间T1确定为二级参考时间。对应地,所述时间对齐处理单元112a根据一级参考时间,调整音频帧的时间,以使音频帧的时间与系统时间对齐,即T1=T0。然后再根据二级参考时间,调整视频帧的时间信息,以使视频帧的时间与音频帧的时间对齐,即T2=T1。因而,在渲染模块4读取数据前,将视频帧和音频帧进行时间对齐调整,在保证了音视频同步的同时,还保证了视频与系统时钟的同步性,即保证了实时视频的实时性。
所述解码丢帧处理模块12用以根据当前渲染帧率对视频帧进行丢帧处理。在一个实施例中,所述解码丢帧处理模块12经进一步配置包括视频帧统计单元120、帧率计算单元121、解码丢帧级别确定单元122和解码丢帧处理单元123。其中,所述视频帧统计单元120用以统计一个预置计时周期内渲染模块4渲生成的视频帧数,并将得到的视频帧数发送给所述帧率计算单元121。所述帧率计算单元121按照预置计时周期和所述计时周期内的视频帧数计算当前渲染帧率,并将所述当前渲染帧率发送给所述解码丢帧级别确定单元122。所述解码丢帧级别确定单元122对比当前渲染帧率与多个级别的阈值的关系,从而确定丢帧级别。在本发明的一个实施例中,设置三个阈值,从而划分出四个不同的丢帧级别,例如,所述阈值分别为25帧/秒、20帧/秒和15帧/秒。其中,第一级:在当前渲染帧率大于25帧/秒时,对应的丢帧策略是不进行丢帧处理;第二级:在当前渲染帧率介于25帧/秒和20帧/秒之间时,对应的丢帧策略是跳过当前视频的关键帧,如B帧或P帧的解码环节;第三级:在当前渲染帧率介于20帧/秒和15帧/秒之间时,对应的丢帧策略是只对当前视频的关键帧I帧进行解码;第四级:在当前渲染帧率低于15帧/秒时,对应的丢帧策略是以GOP为单位丢弃一组视频帧。其中,GOP在H.264编码架构中是一组完整图像的描述,其包括了一组视频帧,当然也可以丢弃多组,但是为了避免了丢多个GOP单位视频帧可能引起的视频帧超前的问题,在本发明一个较佳实施例中,只丢弃一个GOP单位的视频帧组。
所述解码丢帧级别确定单元122将确定出的丢帧级别通知给解码丢帧处理单元123,其中,解码丢帧处理单元123按照进行相应丢帧策略,生成丢帧信息,并将其发送给视频解码单元22。所述的丢帧信息包括不丢帧、跳过B帧解码、只解I帧、跳过一组GOP视频帧等信息。视频解码单元22根据丢帧信息在解码视频码流时丢弃相应的视频帧,再将解码后的视频帧发送到缓存队列10中暂存。
如图5所示,为根据本发明一个实施例提供的渲染模块4的原理框图。其中,传统渲染模块包括数据读取单元41和渲染单元42,其中,数据读取单元41按照预置的时间间隔,如40ms,到内存模块3中读取解码数据,包括音频集合中的音频帧和缓冲队列10中的视频帧,还包括其他信息,如字幕等,由于本发明不涉及这些信息的相关处理,因而在本发明中略去对这些信息的说明。数据读取单元41将读取到的音频帧和视频帧发送给渲染单元42进行渲染,然后由显示部件显示视频,音频播出部件播出声音。本发明为了进一步保证播出时的音视频同步,在渲染模块4中还包括渲染丢帧模块40,其包括时间监视单元401和渲染丢帧处理单元402。所述时间监测单元401与数据读取单元41相连接,用以监视获取到的视频帧与音频帧的时间差异与丢帧阈值的大小。所述丢帧阈值为设定的可以忍受的范围,可根据实际需要,如丢帧造成的观看感受、对音视频不同步的忍受程度等设置为不同的值。当视频帧与音频帧的时间差异大于或等于所述丢帧阈值时,向渲染丢帧处理单元402发送丢帧指令。渲染丢帧处理单元402响应于所述丢帧指令,丢弃所述视频帧,即不向渲染单元42发送该视频帧。数据读取单元41再读取一帧视频帧,所述时间监测单元401监视其与前一次读取的音频帧的时间差异,如果该差异仍然大于或等于丢帧阈值,则丢弃该帧,直到视频帧与前一次读取的音频帧的时间差异小于所述丢帧阈值,则将其发送给渲染单元42。从而可以在渲染前确保当前渲染的音、视频帧同步。因而更进一步地保证了播出的视频音视频同步。
如图6所示,为根据本发明一个实施例提供的在一个播放终端播放高画质视频的简要流程图。
步骤S1a,播放终端获得视频流。例如,从网络上接收到一个视频流,或者是打开一个视频文件。
步骤S2a,将视频流解析为标准封装格式数据。这个过程也称为解协议,即将流媒体协议的数据解析为标准封装格式数据。例如,当视音频在网络上传播的时候,常常采用各种流媒体协议,例如HTTP,RTMP,或是MMS等等。这些协议在传输视音频数据的同时,还传输一些信令数据,如播放的控制(播放,暂停,停止)或者对网络状态的描述等。在解协议的过程中,去除信令数据而只保留视音频数据。例如,对于采用RTMP协议传输的数据,经过解协议操作后,输出FLV格式的数据。
步骤3a,将标准封装格式数据分离成为音频流压缩编码数据和视频流压缩编码数据,此过程也称之为解封装。其中,所述的标准封装格式种类很多,例如MP4,MKV,RMVB,TS,FLV,AVI等等。例如,对于FLV格式的数据,经过解封装操作后,输出H.264编码的视频码流和AAC编码的音频码流。
步骤S4a,对视频/音频压缩编码数据进行解码,以生成非压缩的视频/音频原始数据。参考图2,播放终端的解码模块2中的音频解码单元21将解码后的音频数据,以音频帧的形式暂放在内存模块中。本发明在视频解码单元21进行视频解码时包括了以下措施,如图7所示:
步骤S41a,在播放终端启动一个监测线程,其目的是监测渲染后的视频帧率,即步骤S7a播放的视频的帧率。该监测线程内置预定的计时周期,统计该计时周期内的渲染后的视频帧数,并根据计时周期,计算得到渲染视频帧率。
步骤S42a,对比渲染视频帧率和设置的丢帧级别阈值,以确定解码丢帧级别。例如,将25帧/秒、20帧/秒、15帧/秒分别确定为一、二、三级阈值。在当前渲染帧率大于25帧/秒时,确定当前的丢帧级别为一级;在当前渲染帧率介于25帧/秒和20帧/秒之间时,当前的丢帧级别为二级;在当前渲染帧率介于20帧/秒和15帧/秒之间时,当前的丢帧级别为三级;在当前渲染帧率低于15帧/秒时,当前的丢帧级别为四级。
步骤S43a,根据丢帧级别生成对应的丢帧信息给视频解码单元。例如,丢帧级别为一级时,丢帧信息为正常解码,不需要丢帧;当前的丢帧级别为二级时,丢帧信息为跳过关键帧的解码;当前的丢帧级别为三级时,丢帧信息为只解关键帧;当前的丢帧级别为三级第四级时,丢帧信息为丢弃一组GOP视频帧。
步骤S44a,视频解码单元根据具体的丢帧信息在解码时跳过相应的视频帧的解码环节。
步骤S5a,将解码得到的视频帧存储到一个缓冲队列进行缓冲。
步骤S6a,进行多级时间对齐。即获取解码后得到的对应音频帧、视频帧及系统时钟的时间信息,将音频帧的时间向系统时钟对齐,再将视频帧的时间向音频帧的时间对齐。
步骤S7a,进行渲染前丢帧处理。通过监视读取到的音频帧和视频帧的时间差异与预置的丢帧阈值进行比较,当音频帧和视频帧的时间差异小于所述的丢帧阈值时,在步骤S8a进行音频和视频渲染,通过播放终端的音频设备和显示设备播放。如果音频帧和视频帧的时间差异大于或等于所述的丢帧阈值时,丢弃所述视频帧,重新读取视频帧,将其与当前音频帧进行比较,直到音频帧和视频帧的时间差异小于所述的丢帧阈值时,在步骤S8a进行音频和视频渲染,通过播放终端的音频设备和显示设备播放。
对于当前下沉市场中的千元手机,其CPU性能普遍较低,而一些视频网站提供的视频,如快手、抖音提供的主流短视频以720P为主,采用本发明的技术方案能够有效地解决原来手机播放时的卡顿、音视频不同步等问题,用户能够较为流畅地观看高质量视频。
上述实施例仅供说明本发明之用,而并非是对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明范围的情况下,还可以做出各种变化和变型,因此,所有等同的技术方案也应属于本发明公开的范畴。
Claims (19)
1.一种音视频同步方法,包括:
按照均匀时间间隔从解码缓冲队列中获取视频帧以用于屏幕渲染;
以音频为基准,使视频帧的时间向音频帧的时间对齐;以及
在视频帧的解码过程根据渲染帧率进行丢帧处理。
2.根据权利要求1所述的音视频同步方法,其中还进一步包括:使音频帧的时间向参考时钟对齐。
3.根据权利要求2所述的音视频同步方法,其中所述参考时钟为系统时钟。
4.根据权利要求1所述的音视频同步方法,其中还进一步包括:统计一个计时周期内渲染生成的视频帧数,并计算渲染帧率。
5.根据权利要求1所述的音视频同步方法,其中,响应于当前视频处于多个级别的阈值限定的解码丢帧级别,在视频帧的解码过程进行所述解码丢帧级别的丢帧处理。
6.根据权利要求5所述的音视频同步方法,其中,在当前渲染帧率大于或等于一级阈值时,对当前视频进行逐帧解码。
7.根据权利要求5所述的音视频同步方法,其中,在当前渲染帧率介于一级阈值和二级阈值之间时,跳过当前视频的非关键帧的解码环节,其中,一级阈值大于二级阈值。
8.根据权利要求5所述的音视频同步方法,其中,在当前渲染帧率介于二级阈值和三级阈值之间时,只对当前视频的I帧进行解码,其中,二级阈值大于三级阈值。
9.根据权利要求5所述的音视频同步方法,其中,在当前渲染帧率低于三级阈值时,以GOP为单位丢弃一组视频帧。
10.根据权利要求1所述的音视频同步方法,其中,进一步包括:
监视为渲染获取到的视频帧与音频帧的时间差异与丢帧阈值的大小;以及
响应于当前视频帧与音频帧的时间差异大于或等于所述丢帧阈值,丢弃所述视频帧;其中,丢帧阈值表示可接受的所述音频帧与所述视频帧的最大时间差。
11.一种音视频同步系统,其中包括:
缓冲队列,经配置以存储已解码的多个视频帧;
时间对齐模块,经配置以音频为基准,使视频帧的时间向音频帧的时间对齐;以及
解码丢帧处理模块,经配置以根据渲染帧率对未解码的视频帧进行丢帧处理。
12.根据权利要求11所述的音视频同步系统,其中,所述缓冲队列的长度为5-10帧。
13.根据权利要求11所述的音视频同步系统,其中,时间对齐模块包括:
时间确定单元,经配置以确定音频帧的时间;以及
时间对齐处理单元,经配置以根据音频帧的时间修改对应视频帧的时间,以使视频帧的时间与音频帧的时间对齐。
14.根据权利要求13所述的音视频同步系统,其中,所述时间确定单元经进一步配置还确定系统时间为参考时间;对应地,所述时间对齐处理单元经进一步配置还根据系统时间调整音频帧的时间,以使音频帧的时间与系统时间对齐。
15.根据权利要求11所述的音视频同步系统,其中,所述解码丢帧处理模块包括:
视频帧统计单元,经配置以统计一个预置计时周期内渲染生成的视频帧数;
帧率计算单元,经配置以按照预置计时周期和所述计时周期内的视频帧数计算当前渲染帧率;
解码丢帧级别确定单元,经配置根据当前渲染帧率与多个级别阈值的关系确定当前解码丢帧级别;以及
解码丢帧处理单元,根据当前的解码丢帧级别,按照预定的丢帧策略生成解码丢帧信息,并发送给视频解码模块,以对当前视频进行对应级别的丢帧处理。
16.根据权利要求15所述的音视频同步系统,其中,在当前渲染帧率介于一级阈值和二级阈值之间时,所述丢帧处理单元生成的解码丢帧信息为:跳过当前视频的非关键帧的解码环节,其中,一级阈值大于二级阈值。
17.根据权利要求15所述的音视频同步系统,其中,在当前渲染帧率介于二级阈值和三级阈值之间时,所述丢帧处理单元生成的解码丢帧信息为:只对当前视频的关键帧进行解码,其中,二级阈值大于三级阈值。
18.根据权利要求15所述的音视频同步系统,其中,在当前渲染帧率低于三级阈值时,所述丢帧处理单元生成的解码丢帧信息为:以GOP为单位丢弃一组或多组视频帧。
19.根据权利要求11所述的音视频同步系统,其中,还进一步包括渲染丢帧模块,其经进一步配置包括:
时间监视单元,经配置以监视为渲染获取到的视频帧与音频帧的时间差异与丢帧阈值的大小;以及
渲染丢帧处理单元,响应于当前视频帧与音频帧的时间差异大于或等于所述丢帧阈值,丢弃所述视频帧;其中,所述丢帧阈值表示可接受的所述音频帧与所述视频帧最大时间差。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010354952.9A CN111641858A (zh) | 2020-04-29 | 2020-04-29 | 一种音视频同步方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010354952.9A CN111641858A (zh) | 2020-04-29 | 2020-04-29 | 一种音视频同步方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111641858A true CN111641858A (zh) | 2020-09-08 |
Family
ID=72332814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010354952.9A Pending CN111641858A (zh) | 2020-04-29 | 2020-04-29 | 一种音视频同步方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111641858A (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112153447A (zh) * | 2020-09-27 | 2020-12-29 | 海信视像科技股份有限公司 | 一种显示设备及音画同步控制方法 |
CN112272327A (zh) * | 2020-10-26 | 2021-01-26 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、存储介质及设备 |
CN112929741A (zh) * | 2021-01-21 | 2021-06-08 | 杭州雾联科技有限公司 | 一种视频帧渲染方法、装置、电子设备和存储介质 |
CN113207021A (zh) * | 2021-04-01 | 2021-08-03 | 深圳康佳电子科技有限公司 | 一种音视频同步方法、装置、终端设备及存储介质 |
CN113225598A (zh) * | 2021-05-07 | 2021-08-06 | 上海一谈网络科技有限公司 | 移动端音视频同步的方法、装置、设备及存储介质 |
CN113259738A (zh) * | 2021-05-08 | 2021-08-13 | 广州市奥威亚电子科技有限公司 | 音视频同步的方法、装置、电子设备及存储介质 |
CN113347488A (zh) * | 2021-08-04 | 2021-09-03 | 腾讯科技(深圳)有限公司 | 视频渲染方法、装置、设备及存储介质 |
CN113489745A (zh) * | 2021-07-29 | 2021-10-08 | 百果园技术(新加坡)有限公司 | 视频数据发送方法、装置、设备和存储介质 |
CN113784118A (zh) * | 2021-09-14 | 2021-12-10 | 广州博冠信息科技有限公司 | 视频质量评估方法及装置、电子设备和存储介质 |
CN113965786A (zh) * | 2021-09-29 | 2022-01-21 | 杭州当虹科技股份有限公司 | 精准控制视频输出播放的方法 |
CN114040247A (zh) * | 2021-11-09 | 2022-02-11 | 新智认知数据服务有限公司 | 网络视频流的处理方法、电子设备及计算机可读存储介质 |
CN114245196A (zh) * | 2021-12-08 | 2022-03-25 | 卓米私人有限公司 | 一种录屏推流方法、装置、电子设备及存储介质 |
CN114257857A (zh) * | 2022-01-04 | 2022-03-29 | 海信视像科技股份有限公司 | 显示设备及视频倍速播放方法 |
CN114827679A (zh) * | 2022-04-19 | 2022-07-29 | 海信视像科技股份有限公司 | 显示设备和音画同步方法 |
CN115250357A (zh) * | 2021-04-26 | 2022-10-28 | 海信集团控股股份有限公司 | 终端设备、视频处理方法和电子设备 |
WO2022247014A1 (zh) * | 2021-05-26 | 2022-12-01 | 深圳市沃特沃德信息有限公司 | 基于墨水屏设备的音视频帧同步方法、装置和计算机设备 |
CN115665482A (zh) * | 2022-11-09 | 2023-01-31 | 腾讯科技(深圳)有限公司 | 视频渲染方法、装置、计算机设备和存储介质 |
CN116778046A (zh) * | 2023-08-28 | 2023-09-19 | 乐元素科技(北京)股份有限公司 | 基于多线程的头发模型处理方法、装置、设备及介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272200A (zh) * | 2008-05-13 | 2008-09-24 | 中兴通讯股份有限公司 | 一种多媒体流同步缓存的方法及系统 |
JP2011146783A (ja) * | 2010-01-12 | 2011-07-28 | Kddi Corp | 映像フレーム及び音声フレームとの間の同期外れを補正する中継装置、プログラム、システム及び方法 |
CN102368823A (zh) * | 2011-06-28 | 2012-03-07 | 上海盈方微电子有限公司 | 一种基于分级机制的视频丢帧策略 |
US8199833B2 (en) * | 2008-08-25 | 2012-06-12 | Broadcom Corporation | Time shift and tonal adjustment to support video quality adaptation and lost frames |
CN104394421A (zh) * | 2013-09-23 | 2015-03-04 | 贵阳朗玛信息技术股份有限公司 | 视频帧的处理方法及装置 |
CN106034263A (zh) * | 2015-03-09 | 2016-10-19 | 腾讯科技(深圳)有限公司 | 媒体文件中音视频的校准方法及装置 |
CN108496372A (zh) * | 2017-06-30 | 2018-09-04 | 深圳市大疆创新科技有限公司 | 视频和音频的同步方法、设备及无人机 |
CN109275008A (zh) * | 2018-09-17 | 2019-01-25 | 青岛海信电器股份有限公司 | 一种音视频同步的方法和装置 |
-
2020
- 2020-04-29 CN CN202010354952.9A patent/CN111641858A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272200A (zh) * | 2008-05-13 | 2008-09-24 | 中兴通讯股份有限公司 | 一种多媒体流同步缓存的方法及系统 |
US8199833B2 (en) * | 2008-08-25 | 2012-06-12 | Broadcom Corporation | Time shift and tonal adjustment to support video quality adaptation and lost frames |
JP2011146783A (ja) * | 2010-01-12 | 2011-07-28 | Kddi Corp | 映像フレーム及び音声フレームとの間の同期外れを補正する中継装置、プログラム、システム及び方法 |
CN102368823A (zh) * | 2011-06-28 | 2012-03-07 | 上海盈方微电子有限公司 | 一种基于分级机制的视频丢帧策略 |
CN104394421A (zh) * | 2013-09-23 | 2015-03-04 | 贵阳朗玛信息技术股份有限公司 | 视频帧的处理方法及装置 |
CN106034263A (zh) * | 2015-03-09 | 2016-10-19 | 腾讯科技(深圳)有限公司 | 媒体文件中音视频的校准方法及装置 |
CN108496372A (zh) * | 2017-06-30 | 2018-09-04 | 深圳市大疆创新科技有限公司 | 视频和音频的同步方法、设备及无人机 |
CN109275008A (zh) * | 2018-09-17 | 2019-01-25 | 青岛海信电器股份有限公司 | 一种音视频同步的方法和装置 |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112153447A (zh) * | 2020-09-27 | 2020-12-29 | 海信视像科技股份有限公司 | 一种显示设备及音画同步控制方法 |
CN112272327B (zh) * | 2020-10-26 | 2021-10-15 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、存储介质及设备 |
CN112272327A (zh) * | 2020-10-26 | 2021-01-26 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、存储介质及设备 |
CN112929741A (zh) * | 2021-01-21 | 2021-06-08 | 杭州雾联科技有限公司 | 一种视频帧渲染方法、装置、电子设备和存储介质 |
CN113207021A (zh) * | 2021-04-01 | 2021-08-03 | 深圳康佳电子科技有限公司 | 一种音视频同步方法、装置、终端设备及存储介质 |
CN115250357A (zh) * | 2021-04-26 | 2022-10-28 | 海信集团控股股份有限公司 | 终端设备、视频处理方法和电子设备 |
CN115250357B (zh) * | 2021-04-26 | 2024-04-12 | 海信集团控股股份有限公司 | 终端设备、视频处理方法和电子设备 |
CN113225598B (zh) * | 2021-05-07 | 2023-01-20 | 上海一谈网络科技有限公司 | 移动端音视频同步的方法、装置、设备及存储介质 |
CN113225598A (zh) * | 2021-05-07 | 2021-08-06 | 上海一谈网络科技有限公司 | 移动端音视频同步的方法、装置、设备及存储介质 |
CN113259738A (zh) * | 2021-05-08 | 2021-08-13 | 广州市奥威亚电子科技有限公司 | 音视频同步的方法、装置、电子设备及存储介质 |
WO2022247014A1 (zh) * | 2021-05-26 | 2022-12-01 | 深圳市沃特沃德信息有限公司 | 基于墨水屏设备的音视频帧同步方法、装置和计算机设备 |
CN113489745B (zh) * | 2021-07-29 | 2024-04-05 | 百果园技术(新加坡)有限公司 | 视频数据发送方法、装置、设备和存储介质 |
CN113489745A (zh) * | 2021-07-29 | 2021-10-08 | 百果园技术(新加坡)有限公司 | 视频数据发送方法、装置、设备和存储介质 |
CN113347488A (zh) * | 2021-08-04 | 2021-09-03 | 腾讯科技(深圳)有限公司 | 视频渲染方法、装置、设备及存储介质 |
CN113784118A (zh) * | 2021-09-14 | 2021-12-10 | 广州博冠信息科技有限公司 | 视频质量评估方法及装置、电子设备和存储介质 |
CN113965786B (zh) * | 2021-09-29 | 2024-03-26 | 杭州当虹科技股份有限公司 | 精准控制视频输出播放的方法 |
CN113965786A (zh) * | 2021-09-29 | 2022-01-21 | 杭州当虹科技股份有限公司 | 精准控制视频输出播放的方法 |
CN114040247A (zh) * | 2021-11-09 | 2022-02-11 | 新智认知数据服务有限公司 | 网络视频流的处理方法、电子设备及计算机可读存储介质 |
CN114245196A (zh) * | 2021-12-08 | 2022-03-25 | 卓米私人有限公司 | 一种录屏推流方法、装置、电子设备及存储介质 |
CN114245196B (zh) * | 2021-12-08 | 2024-04-19 | 卓米私人有限公司 | 一种录屏推流方法、装置、电子设备及存储介质 |
CN114257857A (zh) * | 2022-01-04 | 2022-03-29 | 海信视像科技股份有限公司 | 显示设备及视频倍速播放方法 |
CN114257857B (zh) * | 2022-01-04 | 2024-05-24 | 海信视像科技股份有限公司 | 显示设备及视频倍速播放方法 |
CN114827679A (zh) * | 2022-04-19 | 2022-07-29 | 海信视像科技股份有限公司 | 显示设备和音画同步方法 |
CN115665482A (zh) * | 2022-11-09 | 2023-01-31 | 腾讯科技(深圳)有限公司 | 视频渲染方法、装置、计算机设备和存储介质 |
CN116778046A (zh) * | 2023-08-28 | 2023-09-19 | 乐元素科技(北京)股份有限公司 | 基于多线程的头发模型处理方法、装置、设备及介质 |
CN116778046B (zh) * | 2023-08-28 | 2023-10-27 | 乐元素科技(北京)股份有限公司 | 基于多线程的头发模型处理方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111641858A (zh) | 一种音视频同步方法及系统 | |
TWI623225B (zh) | 視訊播放方法及其控制終端 | |
US8412364B2 (en) | Method and device for sending and playing streaming data | |
EP2082571B1 (en) | Method for reducing channel change times and synchronizing audio/video content during channel change | |
JP4118232B2 (ja) | 映像データ処理方法および映像データ処理装置 | |
CA2435936C (en) | Method and system for buffering of streamed media | |
US8665969B2 (en) | System and method for generating pseudo MPEG information from digital video information | |
CN100539697C (zh) | 视频处理方法 | |
KR20100064532A (ko) | 무선 통신 네트워크에서 오디오 및 비디오 동기화 장치 및 방법 | |
CN101710997A (zh) | 基于mpeg-2系统实现视、音频同步的方法及系统 | |
EP1584192A1 (en) | Audio-visual content transmission | |
WO2021208321A1 (zh) | 一种多视点视频的视点切换方法和系统 | |
US20120155833A1 (en) | Method of Processing a Sequence of Coded Video Frames | |
US20020196857A1 (en) | Video decoding device and method, and program product therefor | |
EP2485501B1 (en) | Fast channel change companion stream solution with bandwidth optimization | |
CN107920041B (zh) | 一种直播视频数据编码比特率的调整方法和装置 | |
CN107438192A (zh) | 音视频播放同步的方法及相关系统和多媒体播放终端 | |
KR101277877B1 (ko) | 동기화 이더넷 시스템에서 지터없이 데이터를 전송하는 방법 | |
JPH11252552A (ja) | ビデオ信号の圧縮符号化方法及び圧縮符号化装置、並びに、圧縮符号化データの多重化方法及び多重化装置 | |
CN112019873A (zh) | 视频码率调整方法、装置和电子设备 | |
CN110177293B (zh) | 一种同步组播和视频转发方法、系统 | |
CN109831693B (zh) | 一种视频帧信息数据上报及判定数据下溢的方法 | |
JP4447443B2 (ja) | 画像圧縮処理装置 | |
JP5854208B2 (ja) | 多段高速再生のための映像コンテンツ生成方法 | |
US8565318B2 (en) | Restamping transport streams to avoid vertical rolls |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200908 |
|
WD01 | Invention patent application deemed withdrawn after publication |