CN113596549B - 基于不同参考时钟的音视频同步方法、装置和计算机设备 - Google Patents
基于不同参考时钟的音视频同步方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN113596549B CN113596549B CN202111003740.7A CN202111003740A CN113596549B CN 113596549 B CN113596549 B CN 113596549B CN 202111003740 A CN202111003740 A CN 202111003740A CN 113596549 B CN113596549 B CN 113596549B
- Authority
- CN
- China
- Prior art keywords
- audio
- video
- frame
- time stamp
- timestamp
- 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
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
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Abstract
本申请涉及一种基于不同参考时钟的音视频同步方法、装置和计算机设备,包括接收音频帧,并计算音频帧的第一时间戳;以及接收视频帧,并计算视频帧的第二时间戳,以使第一时间戳和第二时间戳对齐;计算第一时间戳和第二时间戳之间的第一偏移量;根据第一偏移量对视频帧的第二时间戳进行校正,以生成音频帧和视频帧的时间戳交错递增的音视频序列。上述方法通过对音视频帧的时间戳进行对齐处理,然后根据相邻音视频时间戳之间的偏移量对视频帧的时间戳进行校正,以加快或减慢视频帧的播放速度,从而使音频帧和视频帧的时间戳交错均匀递增排列,解决了基于不同参考时钟音视频播放不同步的问题。
Description
技术领域
本申请涉及流媒体技术领域,特别是涉及一种基于不同参考时钟的音视频同步方法、装置和计算机设备。
背景技术
目前音视频同步的方法主要是播放端根据音视频时间戳pts,以某个基准时钟为参考来控制音频和视频的播放速度,从而达到音视频同步的效果。采用上述方法使音视频保持同步播放的前提是要求音视频编码端在编码时,生成的时间戳pts必须使用同一个参考时钟。但是通常情况下,视频和音频的采集来源不同,视频来源通常为摄像机采集信号,音频来源通常为麦克风音频信号,音频和视频编码是在两个不同系统下完成的,从而导致视频和音频的时间戳pts采用了不同的参考时钟,进一步会导致播放端无法正确的根据时间戳pts对音频和视频的播放速度进行同步控制,在客户端会出现视频画面和音频播放不匹配的问题。
发明内容
本申请提供一种基于不同参考时钟的音视频同步方法、装置和计算机设备,以至少解决相关技术中在基于不同参考时钟的情况下出现音视频播放不同步的问题。
第一方面,本申请实施例提供了一种基于不同参考时钟的音视频同步方法,所述方法包括:
接收音频帧,并计算所述音频帧的第一时间戳;以及接收视频帧,并计算所述视频帧的第二时间戳,以使所述第一时间戳和所述第二时间戳对齐;
计算所述第一时间戳和所述第二时间戳之间的第一偏移量;
根据所述第一偏移量对所述视频帧的第二时间戳进行校正,以生成音频帧和视频帧的时间戳交错递增的音视频序列。
在其中一些实施例中,所述接收音频帧,并计算所述音频帧的第一时间戳包括:
若所述音频帧为接收到的第一帧音频帧,则设置所述音频帧的第一时间戳为0;
否则,根据所述音频帧的长度计算得到所述音频帧的播放时长;
计算上一帧音频帧的第一时间戳与所述播放时长的和,并将所述和作为所述音频帧的第一时间戳。
在其中一些实施例中,所述接收视频帧,并计算所述视频帧的第二时间戳包括:
若所述视频帧为接收到的第一帧视频帧,则设置所述视频帧的第二时间戳为0;
否则,计算所述视频帧的时间戳与上一帧视频帧的时间戳的第二偏移量,并将所述第二偏移量作为所述第二时间戳的累加基准值。
在其中一些实施例中,所述根据所述第一偏移量对所述视频帧的第二时间戳进行校正包括:
若所述第一偏移量大于偏移量阈值,则根据所述第一偏移量计算所述视频帧的校正系数;
根据所述校正系数、所述第一时间戳、所述第二时间戳以及所述累加基准值,计算所述视频帧的累加目标值;
根据所述累加目标值对所述视频帧的第二时间戳进行校正。
在其中一些实施例中,所述根据所述第一偏移量计算所述视频帧的校正系数包括:
设置校正视频帧的帧数;
根据所述第一偏移量和所述校正视频帧的帧数,计算所述视频帧的校正系数。
在其中一些实施例中,所述根据所述校正系数、第一时间戳、第二时间戳以及所述累加基准值,计算所述视频帧的累加目标值包括:
比较相邻的音频帧的所述第一时间戳和视频帧的所述第二时间戳,得到第一比较结果;
比较所述累加基准值和所述校正系数,得到第二比较结果;
根据所述第一比较结果、所述第二比较结果,确定第二预设分段函数中对应的函数;
根据所述累加基准值、所述校正系数以及所述第二预设分段函数中对应的函数,计算得到所述累加目标值。
在其中一些实施例中,所述第二预设分段函数为:
其中,t表示累加目标值,v表示累加基准值,y表示校正系数,apts表示第一时间戳,vpts表示第二时间戳,m表示预设正整数。
第二方面,本申请实施例提供了一种基于不同参考时钟的音视频同步装置,所述装置包括接收模块、对齐模块、计算模块和校正模块;其中:
接收模块,用于接收音频帧和视频帧;
对齐模块,用于计算所述音频帧的第一时间戳、所述视频帧的第二时间戳,并将所述第一时间戳和所述第二时间戳进行对齐处理;
计算模块,用于计算所述第一时间戳和所述第二时间戳之间的偏移量;
校正模块,用于根据所述偏移量对所述视频帧的第二时间戳进行校正,以生成音频帧和视频帧的时间戳交错递增的音视频序列。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的基于不同参考时钟的音视频同步方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的基于不同参考时钟的音视频同步方法。
相比于相关技术,本申请实施例提供的基于不同参考时钟的音视频同步方法,包括:接收音频帧,并计算所述音频帧的第一时间戳;以及接收视频帧,并计算所述视频帧的第二时间戳,以使所述第一时间戳和所述第二时间戳对齐;计算所述第一时间戳和所述第二时间戳之间的第一偏移量;根据所述第一偏移量对所述视频帧的第二时间戳进行校正,以生成音频帧和视频帧的时间戳交错递增的音视频序列,解决了相关技术中在基于不同参考时钟的情况下出现音视频播放不同步的问题。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为一个实施例提供的基于不同参考时钟的音视频同步方法的流程图;
图2为一个实施例提供的基于不同参考时钟生成的音视频时间戳的示意图;
图3为一个实施例提供的将图2中音视频按照原始时间戳的播放顺序示意图;
图4为一个实施例提供的对图2音视频帧进行对齐处理后的音频时间戳和视频时间戳的示意图;
图5为一个实施例提供的图4中的音视频播放顺序示意图;
图6为一个实施例提供的通过时间戳对齐,在相同时间段内产生的音频时间戳和视频时间戳的示意图;
图7为一个实施例提供的音视频时间戳抖动,导致时间戳对齐出现累积偏差的音视频时间戳示意图;
图8为一个实施例提供的对图7音视频帧进行校正处理后的音频时间戳和视频时间戳的示意图;
图9为一个实施例提供的基于不同参考时钟的音视频同步装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
图1为一个实施例提供的基于不同参考时钟的音视频同步方法的流程图,如图1所示,该方法包括步骤110至步骤130;其中:
步骤110,接收音频帧,并计算音频帧的第一时间戳;以及接收视频帧,并计算视频帧的第二时间戳,以使第一时间戳和第二时间戳对齐。
若音频和视频采用不同的参考时钟,则相同时间点产生的音频帧和视频帧的时间戳也是有差异的。本申请以音频帧率为20,视频帧率25为例进行详细说明。
如图2所示,在大约320毫秒内,视频源产生9个视频帧,音频源产生8个音频帧,这些音频帧和视频帧在同一时间产生,如果不对视频帧和音频帧的时间戳进行处理,则按照原始时间戳的播放顺序如图3所示,视频数据会在音频数据前面播放,从而造成音视频播放不同步的问题。
为了消除相同时间点产生的音频帧和视频帧的时间戳差异,本申请在接收到音视频数据后,对音视频的时间戳进行对齐处理。本实施例采用的对齐处理方法为:将收到的第一帧时间戳设置为0,后面的时间戳在前面的累积值上加上与前一帧的时间间隔。
在其中一些实施例中,接收音频帧,并计算音频帧的第一时间戳包括:若音频帧为接收到的第一帧音频帧,则设置音频帧的第一时间戳为0;否则,根据音频帧的长度计算得到音频帧的播放时长;计算上一帧音频帧的第一时间戳与播放时长的和,并将和作为音频帧的第一时间戳。
在其中一些实施例中,接收视频帧,并计算视频帧的第二时间戳包括:若视频帧为接收到的第一帧视频帧,则设置视频帧的第二时间戳为0;否则,计算视频帧的时间戳与上一帧视频帧的时间戳的第二偏移量,并将第二偏移量作为第二时间戳的累加基准值。
以下以视频帧为例进行说明。
若接收到的第一帧视频帧的原始时间戳为200,则将该视频帧的时间戳置为0,若接收到的视频帧为第二帧视频帧,则计算该视频帧的原始时间戳与第一帧视频帧的原始时间戳的第一偏移量。假设第二帧视频帧的原始时间戳为240,则第一偏移量为:240-200=40,将第二偏移量40作为第二时间戳的累加基准值,得到第二帧视频帧的第二时间戳为:0+40=40。若第三帧视频帧的原始时间戳为280,则第三帧视频帧的第二时间戳为:40+40=80。以此类推,得到新的音频时间戳和视频时间戳如图4所示,按重新对齐过的时间戳进行播放,播放顺序如图5所示。从图5可以看出,通过对音频帧和视频帧的时间戳对齐后,音频和视频的播放可以达到同步状态。
步骤120,计算第一时间戳和第二时间戳之间的第一偏移量。
需要说明的是,通过时间戳对齐,在一小段相同的时间内产生的音频和视频,可以认为是同步的音频和视频,也就是说经过时间戳对齐处理后,音视频的时间戳之间的偏移量应该相差很小(比如在200毫秒以内,在人的感知范围以内),如图6所示。但经过一段时间运行,一些小的波动会导致时间戳对齐出现累积偏差,导致进行时间戳对齐后,也会出现不同步的问题,如图7所示。因此本申请在对时间戳进行对齐处理后,对对齐处理后的视频帧的时间戳再进行动态的调整,从而可以抵抗音视频时间戳抖动,保证音视频同步播放。
为了确定是否需要对视频帧的时间戳进行校正,首先需要计算音频帧的第一时间戳和视频帧的第二时间戳之间的第一偏移量,若第一偏移量大于偏移量阈值,即相邻音频帧和视频帧之间的时间间隔相差较大,则需要对视频帧的时间戳进行校正。
相邻音频帧和视频帧可以理解为一组音视频。该组音视频中的音频数据和视频图片对应。如图5中的第一帧音频帧和第一帧视频帧为一组音视频,第二帧音频帧和第二帧视频帧为一组音视频。
步骤130,根据第一偏移量对视频帧的第二时间戳进行校正,以生成音频帧和视频帧的时间戳交错递增的音视频序列。
若第一偏移量大于偏移量阈值,则对视频帧的第二时间戳进行校正,以生成音频帧和视频帧的时间戳交错递增的音视频序列。音频帧和视频帧的时间戳交错递增的音视频序列可以理解为:音频帧的第一时间戳均匀递增,视频帧的第二时间戳均匀递增,且第一时间戳和第二时间戳交错排列。为方便理解,再次进行举例说明。假设音频帧序列为A1、A2、A3、A4,视频帧序列为B1、B2、B3、B4,则交错递增的音视频序列可以表示为:A1、B1、A2、B2、A3、B3、A4、B4,其中,A1和B1为一组音视频数据,音频帧和视频帧的时间戳交错递增的音视频序列可以实现音视频同步播放。
与现有技术相比,本申请提供的基于不同参考时钟的音视频同步方法,包括接收音频帧,并计算音频帧的第一时间戳;以及接收视频帧,并计算视频帧的第二时间戳,以使第一时间戳和第二时间戳对齐;计算第一时间戳和第二时间戳之间的第一偏移量;根据第一偏移量对视频帧的第二时间戳进行校正,以生成音频帧和视频帧的时间戳交错递增的音视频序列。上述方法通过对音视频帧的时间戳进行对齐处理,然后根据相邻音视频时间戳之间的偏移量对视频帧的时间戳进行校正,以加快或减慢视频帧的播放速度,从而使音频帧和视频帧的时间戳交错均匀递增排列,解决了基于不同参考时钟音视频播放不同步的问题。
在其中一些实施例中,根据第一偏移量对视频帧的第二时间戳进行校正包括:
若第一偏移量大于偏移量阈值,则根据第一偏移量计算视频帧的校正系数;
根据校正系数、第一时间戳、第二时间戳以及累加基准值,计算视频帧的累加目标值;
根据累加目标值对视频帧的第二时间戳进行校正。
校正系数可以理解为视频帧的第二时间戳的调整量,累加目标值为经过对齐处理后的视频帧的时间戳加上该累加目标值作为视频帧最终的时间戳。
可以理解的是,校正系数可以实时进行更新,也可以固定不变,直至调整完成。
偏移量阈值为影响音视频同步播放的时间差。偏移量阈值的具体数值可以根据实际需要设置,若对同步效果要求较高,则设置较小的偏移量阈值,具体以人无明显感知为准,比如200-500毫秒。本申请均以偏移量阈值为200ms为例进行说明。
具体地,以图7中的音视频数据为例进行说明。
接收到一个视频帧,该视频帧的原始时间戳是3500,对齐处理后时间戳是2900,与当前相邻的音频时间戳进行比较,第一偏移量为2900-2280=620,音频和视频帧已经产生了620毫秒的时间差。620>200,第一偏移量大于偏移量阈值,需要对视频时间戳进行调整,把时间戳减少到200毫秒以内,我们可以通过减少视频时间戳的增量来达到这一目标,这个减少的增量值定义为校正系数k。由于正常一个视频帧时间戳的增量是50,即累加基准值为50,假设k为50,那么经过620/50=12.4,相当于经过12.4个视频帧的时间音频和视频就会再一次同步。
需要说明的是,上述校正方式一种最极端的做法,带来的效果可能是视频跳跃,因为有12.4个视频帧的时间戳一致,会导致同时播放。为了尽可能的减少对视频播放带来的影响,本申请还提供了一种根据第一偏移量计算视频帧的校正系数的方法,包括:
设置校正视频帧的帧数;
根据第一偏移量和校正视频帧的帧数,计算视频帧的校正系数。
我们设定校正视频帧的帧数为n,含义为如果当前音视频出现时间差,希望在n个视频帧的时间内,对对齐处理后的视频帧进行系数k的调整后,重新达到音视频时间戳一致。
需要说明的是,n设置过小,会影响体验,过大,则会加大不同步的时间长度,因此n的具体数据以实际经验值为准,本实施例不作具体限制。
例如当前第一偏移量为620毫秒,n的取值为40,即希望在40个视频帧以后,音频和视频的时间戳一致,从而可以计算系数k的值,k=第一偏移量/n。
以图7为例,假设希望在40个视频帧时间戳后达到一致,则k=620/40=15.5,取整为15,也就是说每个视频时间戳要减小15毫秒,经过调整后的效果如图8所示。
在其中一些实施例中,根据校正系数、第一时间戳、第二时间戳以及累加基准值,计算视频帧的累加目标值包括:
比较相邻的音频帧的第一时间戳和视频帧的第二时间戳,得到第一比较结果;
比较累加基准值和校正系数,得到第二比较结果;
根据第一比较结果、第二比较结果,确定第二预设分段函数中对应的函数;
根据累加基准值、校正系数以及第二预设分段函数中对应的函数,计算得到累加目标值。
在其中一些实施例中,第二预设分段函数为:
其中,t表示累加目标值,v表示累加基准值,y表示校正系数,apts表示第一时间戳,vpts表示第二时间戳,m表示预设正整数。本申请中m的值设置为5。
具体地,在计算出校正系数后,根据上述第二分段函数确定对应的函数,然后根据该函数计算累加目标值,即每一对齐处理后的视频帧加上累加目标值,在一段时间后可以重新达到音视频时间戳一致,且对视频播放带来的影响较小。
上面讨论了对齐后的视频帧时间戳比对齐后的音频帧时间戳大的情况,如果对齐后的视频帧时间戳比对齐后的音频帧时间戳小,则需要在原来的对齐时间戳上,加上校正系数k,k的计算方法一致。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本实施例还提供了一种基于不同参考时钟的音视频同步装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
在一个实施例中,如图9所示,提供了一种基于不同参考时钟的音视频同步装置,包括接收模块910、对齐模块920、计算模块930和校正模块940,其中:
接收模块910,用于接收音频帧和视频帧;
对齐模块920,用于计算所述音频帧的第一时间戳、所述视频帧的第二时间戳,并将所述第一时间戳和所述第二时间戳进行对齐处理;
计算模块930,用于计算所述第一时间戳和所述第二时间戳之间的偏移量;
校正模块940,用于根据所述偏移量对所述视频帧的第二时间戳进行校正,以生成音频帧和视频帧的时间戳交错递增的音视频序列。
本申请提供的基于不同参考时钟的音视频同步装置,通过对齐模块920对音视频帧的时间戳进行对齐处理,然后通过校正模块940根据相邻音视频时间戳之间的偏移量对视频帧的时间戳进行校正,以加快或减慢视频帧的播放速度,从而使音频帧和视频帧的时间戳交错均匀递增排列,解决了基于不同参考时钟音视频播放不同步的问题。
在其中一些实施例中,对齐模块920还用于若所述音频帧为接收到的第一帧音频帧,则设置所述音频帧的第一时间戳为0;否则,根据所述音频帧的长度计算得到所述音频帧的播放时长;计算上一帧音频帧的第一时间戳与所述播放时长的和,并将所述和作为所述音频帧的第一时间戳。
在其中一些实施例中,对齐模块920还用于若所述视频帧为接收到的第一帧视频帧,则设置所述视频帧的第二时间戳为0;否则,计算所述视频帧的时间戳与上一帧视频帧的时间戳的第二偏移量,并将所述第二偏移量作为所述第二时间戳的累加基准值。
在其中一些实施例中,校正模块940还用于若所述第一偏移量大于偏移量阈值,则根据所述第一偏移量计算所述视频帧的校正系数;根据所述校正系数、所述第一时间戳、所述第二时间戳以及所述累加基准值,计算所述视频帧的累加目标值;根据所述累加目标值对所述视频帧的第二时间戳进行校正。
在其中一些实施例中,校正模块940还用于设置校正视频帧的帧数;根据所述第一偏移量和所述校正视频帧的帧数,计算所述视频帧的校正系数。
在其中一些实施例中,校正模块940还用于比较相邻的音频帧的所述第一时间戳和视频帧的所述第二时间戳,得到第一比较结果;比较所述累加基准值和所述校正系数,得到第二比较结果;根据所述第一比较结果、所述第二比较结果,确定第二预设分段函数中对应的函数;根据所述累加基准值、所述校正系数以及所述第二预设分段函数中对应的函数,计算得到所述累加目标值。
在其中一些实施例中,所述第二预设分段函数为:
其中,t表示累加目标值,v表示累加基准值,y表示校正系数,apts表示第一时间戳,vpts表示第二时间戳,m表示预设正整数。
关于基于不同参考时钟的音视频同步装置的具体限定可以参见上文中对于基于不同参考时钟的音视频同步方法的限定,在此不再赘述。上述基于不同参考时钟的音视频同步装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
另外,结合图1描述的本申请实施例基于不同参考时钟的音视频同步方法可以由计算机设备来实现。图10为根据本申请实施例的计算机设备的硬件结构示意图。
计算机设备可以包括处理器101以及存储有计算机程序指令的存储器102。
具体地,上述处理器101可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器102可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器102可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(Solid State Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(UniversalSerial Bus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器102可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器102可在数据处理装置的内部或外部。在特定实施例中,存储器102是非易失性(Non-Volatile)存储器。在特定实施例中,存储器102包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(Random Access Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(ErasableProgrammable Read-Only Memory,简称为EPROM)、电可擦除PROM(Electrically ErasableProgrammable Read-Only Memory,简称为EEPROM)、电可改写ROM(ElectricallyAlterable Read-Only Memory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-AccessMemory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode DynamicRandom Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(ExtendedDate Out Dynamic Random Access Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
存储器102可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器102所执行的可能的计算机程序指令。
处理器101通过读取并执行存储器102中存储的计算机程序指令,以实现上述实施例中的任意一种基于不同参考时钟的音视频同步方法。
在其中一些实施例中,计算机设备还可包括通信接口103和总线100。其中,如图10所示,处理器101、存储器102、通信接口103通过总线100连接并完成相互间的通信。
通信接口103用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信端口103还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
总线100包括硬件、软件或两者,将计算机设备的部件彼此耦接在一起。总线100包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(Control Bus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线100可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(Front Side Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、外围组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线100可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该计算机设备可以基于获取到的程序指令,执行本申请实施例中的基于基于不同参考时钟的音视频同步方法,从而实现结合图1描述的基于不同参考时钟的音视频同步方法。
另外,结合上述实施例中的基于不同参考时钟的音视频同步方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种基于不同参考时钟的音视频同步方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种基于不同参考时钟的音视频同步方法,其特征在于,所述方法包括:
接收音频帧,并计算所述音频帧的第一时间戳;以及接收视频帧,并计算所述视频帧的第二时间戳,以使所述第一时间戳和所述第二时间戳对齐;
计算所述第一时间戳和所述第二时间戳之间的第一偏移量;
若所述第一偏移量大于偏移量阈值,则设置校正视频帧的帧数;根据第一偏移量和校正视频帧的帧数,计算视频帧的校正系数;根据校正系数、第一时间戳、第二时间戳以及累加基准值,计算视频帧的累加目标值;根据累加目标值对视频帧的第二时间戳进行校正;其中,所述校正系数为所述视频帧的第二时间戳的调整量,经过对齐处理后的视频帧的时间戳加上所述累加目标值作为视频帧最终的时间戳,以生成音频帧和视频帧的时间戳交错递增的音视频序列。
2.根据权利要求1所述的方法,其特征在于,所述接收音频帧,并计算所述音频帧的第一时间戳包括:
若所述音频帧为接收到的第一帧音频帧,则设置所述音频帧的第一时间戳为0;
否则,根据所述音频帧的长度计算得到所述音频帧的播放时长;计算上一帧音频帧的第一时间戳与所述播放时长的和,并将所述和作为所述音频帧的第一时间戳。
3.根据权利要求1所述的方法,其特征在于,所述接收视频帧,并计算所述视频帧的第二时间戳包括:
若所述视频帧为接收到的第一帧视频帧,则设置所述视频帧的第二时间戳为0;
否则,计算所述视频帧的时间戳与上一帧视频帧的时间戳的第二偏移量,并将所述第二偏移量作为所述第二时间戳的累加基准值。
4.根据权利要求1所述的方法,其特征在于,所述根据所述校正系数、第一时间戳、第二时间戳以及所述累加基准值,计算所述视频帧的累加目标值包括:
比较相邻的音频帧的所述第一时间戳和视频帧的所述第二时间戳,得到第一比较结果;
比较所述累加基准值和所述校正系数,得到第二比较结果;
根据所述第一比较结果、所述第二比较结果,确定第二预设分段函数中对应的函数;
根据所述累加基准值、所述校正系数以及所述第二预设分段函数中对应的函数,计算得到所述累加目标值。
5.根据权利要求4所述的方法,其特征在于,所述第二预设分段函数为:
其中,t表示累加目标值,v表示累加基准值,y表示校正系数,apts表示第一时间戳,vpts表示第二时间戳,m表示预设正整数。
6.一种基于不同参考时钟的音视频同步装置,其特征在于,所述装置包括:
接收模块,用于接收音频帧和视频帧;
对齐模块,用于计算所述音频帧的第一时间戳、所述视频帧的第二时间戳,并将所述第一时间戳和所述第二时间戳进行对齐处理;
计算模块,用于计算所述第一时间戳和所述第二时间戳之间的偏移量;
校正模块,用于若偏移量大于偏移量阈值,则设置校正视频帧的帧数;根据偏移量和校正视频帧的帧数,计算视频帧的校正系数;根据校正系数、第一时间戳、第二时间戳以及累加基准值,计算视频帧的累加目标值;根据累加目标值对视频帧的第二时间戳进行校正;其中,所述校正系数为所述视频帧的第二时间戳的调整量,经过对齐处理后的视频帧的时间戳加上所述累加目标值作为视频帧最终的时间戳,以生成音频帧和视频帧的时间戳交错递增的音视频序列。
7.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/111735 WO2023029936A1 (zh) | 2020-10-13 | 2022-08-11 | 基于不同参考时钟的音视频同步方法、装置和计算机设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011093077 | 2020-10-13 | ||
CN202011093077X | 2020-10-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113596549A CN113596549A (zh) | 2021-11-02 |
CN113596549B true CN113596549B (zh) | 2023-09-22 |
Family
ID=78240336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111003740.7A Active CN113596549B (zh) | 2020-10-13 | 2021-08-30 | 基于不同参考时钟的音视频同步方法、装置和计算机设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113596549B (zh) |
WO (1) | WO2023029936A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113596549B (zh) * | 2020-10-13 | 2023-09-22 | 杭州涂鸦信息技术有限公司 | 基于不同参考时钟的音视频同步方法、装置和计算机设备 |
CN114339353B (zh) * | 2021-12-31 | 2023-09-29 | 晶晨半导体科技(北京)有限公司 | 音视频同步方法和装置及电子设备和计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6151443A (en) * | 1997-05-16 | 2000-11-21 | Indigita Corporation | Digital video and data recorder |
CN101394469A (zh) * | 2008-10-29 | 2009-03-25 | 北京创毅视讯科技有限公司 | 一种音视频同步方法、装置及一种数字电视芯片 |
CN102421035A (zh) * | 2011-12-31 | 2012-04-18 | 青岛海信宽带多媒体技术有限公司 | 数字电视音视频同步的实现方法及装置 |
CN107872605A (zh) * | 2016-09-26 | 2018-04-03 | 青柠优视科技(北京)有限公司 | 一种无人机系统和无人机音视频处理方法 |
CN110996182A (zh) * | 2019-11-21 | 2020-04-10 | 北京奇艺世纪科技有限公司 | 时间戳处理方法、装置、电子设备及计算机存储介质 |
CN111464256A (zh) * | 2020-04-14 | 2020-07-28 | 北京百度网讯科技有限公司 | 时间戳的校正方法、装置、电子设备和存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8855212B2 (en) * | 2009-12-07 | 2014-10-07 | General Instrument Corporation | System and method for AV synchronization of encoder data |
CN106612452B (zh) * | 2015-10-22 | 2019-12-13 | 深圳市中兴微电子技术有限公司 | 机顶盒音视频同步的方法及装置 |
CN105933800A (zh) * | 2016-04-29 | 2016-09-07 | 联发科技(新加坡)私人有限公司 | 一种视频播放方法及其控制终端 |
CN112584216B (zh) * | 2019-09-29 | 2022-09-30 | 杭州海康威视数字技术股份有限公司 | 一种唇音同步方法和装置 |
CN113596549B (zh) * | 2020-10-13 | 2023-09-22 | 杭州涂鸦信息技术有限公司 | 基于不同参考时钟的音视频同步方法、装置和计算机设备 |
CN113055718B (zh) * | 2021-06-02 | 2021-08-27 | 杭州星犀科技有限公司 | 时间戳均匀化处理的方法、系统、电子装置和存储介质 |
CN113395561A (zh) * | 2021-01-07 | 2021-09-14 | 杭州涂鸦信息技术有限公司 | 基于不同参考时钟的音视频同步方法、装置和计算机设备 |
-
2021
- 2021-08-30 CN CN202111003740.7A patent/CN113596549B/zh active Active
-
2022
- 2022-08-11 WO PCT/CN2022/111735 patent/WO2023029936A1/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6151443A (en) * | 1997-05-16 | 2000-11-21 | Indigita Corporation | Digital video and data recorder |
CN101394469A (zh) * | 2008-10-29 | 2009-03-25 | 北京创毅视讯科技有限公司 | 一种音视频同步方法、装置及一种数字电视芯片 |
CN102421035A (zh) * | 2011-12-31 | 2012-04-18 | 青岛海信宽带多媒体技术有限公司 | 数字电视音视频同步的实现方法及装置 |
CN107872605A (zh) * | 2016-09-26 | 2018-04-03 | 青柠优视科技(北京)有限公司 | 一种无人机系统和无人机音视频处理方法 |
CN110996182A (zh) * | 2019-11-21 | 2020-04-10 | 北京奇艺世纪科技有限公司 | 时间戳处理方法、装置、电子设备及计算机存储介质 |
CN111464256A (zh) * | 2020-04-14 | 2020-07-28 | 北京百度网讯科技有限公司 | 时间戳的校正方法、装置、电子设备和存储介质 |
Non-Patent Citations (3)
Title |
---|
A novel algorithm for synchronizing audio and video streams in MPEG-2 system layer;Shereen M. Mosharafa et al.;《2014 9th International Conference on Computer Engineering & Systems (ICCES)》;全文 * |
基于4G网络车载视频监控系统的音视频同步技术的研究;罗斌;《中国优秀硕士学位论文全文数据库工程科技Ⅱ辑》(第4期);全文 * |
基于FFMPEG解码的音视频同步实现;刘丽霞 等;《计算机工程与设计》(第6期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2023029936A1 (zh) | 2023-03-09 |
CN113596549A (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113596549B (zh) | 基于不同参考时钟的音视频同步方法、装置和计算机设备 | |
TWI623225B (zh) | 視訊播放方法及其控制終端 | |
CN106612452B (zh) | 机顶盒音视频同步的方法及装置 | |
CN108495164B (zh) | 音视频同步处理方法及装置、计算机装置及存储介质 | |
CN103167342B (zh) | 一种音视频同步处理装置及方法 | |
US20170289646A1 (en) | Multi-camera dataset assembly and management with high precision timestamp requirements | |
CN111464256A (zh) | 时间戳的校正方法、装置、电子设备和存储介质 | |
CN111246178B (zh) | 视频处理方法和装置、存储介质及电子装置 | |
CN111668800B (zh) | 基于无线通信和绝对时刻的线路差动保护同步方法和系统 | |
US20170083262A1 (en) | System and method for controlling memory frequency using feed-forward compression statistics | |
CN113395561A (zh) | 基于不同参考时钟的音视频同步方法、装置和计算机设备 | |
US8761239B2 (en) | Image coding apparatus, method, integrated circuit, and program | |
WO2021057412A1 (zh) | 一种视频录制方法、装置、终端以及计算机可读存储介质 | |
US7956898B2 (en) | Digital image stabilization method | |
WO2022042387A1 (zh) | 视频处理方法及电子设备 | |
CN113382300B (zh) | 一种音视频播放方法和装置 | |
US8300147B2 (en) | System and method for in-band A/V timing measurement of serial digital video signals | |
CN116033199A (zh) | 多设备音视频同步方法、装置、电子设备及存储介质 | |
CN114915840A (zh) | 适用于嵌入式设备的音视频处理方法、装置、设备及介质 | |
CN112437315B (zh) | 适应多系统版本的音频适配方法及系统 | |
US8384827B2 (en) | System and method for in-band A/V timing measurement of serial digital video signals | |
CN114143486A (zh) | 视频流同步方法、装置、计算机设备和存储介质 | |
JP2012222465A5 (zh) | ||
CN112929694A (zh) | 视频拼接方法、装置、存储介质、计算机设备 | |
CN113207021B (zh) | 一种音视频同步方法、装置、终端设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |