CN108156500B - 多媒体数据时间修正方法、计算机装置、计算机可读存储介质 - Google Patents
多媒体数据时间修正方法、计算机装置、计算机可读存储介质 Download PDFInfo
- Publication number
- CN108156500B CN108156500B CN201711483318.XA CN201711483318A CN108156500B CN 108156500 B CN108156500 B CN 108156500B CN 201711483318 A CN201711483318 A CN 201711483318A CN 108156500 B CN108156500 B CN 108156500B
- Authority
- CN
- China
- Prior art keywords
- data
- time
- multimedia data
- multimedia
- time data
- 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
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/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4343—Extraction or processing of packetized elementary streams [PES]
-
- 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/4305—Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
-
- 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
技术领域
本发明涉及多媒体数据的处理领域,尤其对多媒体数据的时间数据进行修正的方法、实现这种方法的计算机装置以及计算机可读存储介质。
背景技术
随着网络技术的发展,通过网络传输音视频文件已经是广泛应用的技术,尤其是智能手机、平板电脑等便携式电子设备的普及,人们已经越来越广泛的使用智能手机、平板电脑等电子设备观看视频文件。由于视频文件包含有图像数据以及音频数据,而图像数据以及音频数据往往是分别使用不同的数据帧传输的,为了确保图像数据与音频数据的同步播放,通常需要对图像数据与音频数据进行同步处理。
在数字电视和网络电视直播过程中,处理多媒体数据,即视频数据中的图像数据与音频数据的同步是关键技术,尤其在信号质量或者网络状况较差的情况下,一旦图像数据与音频数据不同步,会直接导致接收端接收到的数据出错,能否准确地做好图像数据与音频数据的同步直接影响到用户体验。
现有的多媒体数据同步技术大多是通过解复用器(demux)从传输流中提取节目时钟数据(PCR)和显示时间戳(PTS)的数据实现,其中节目时钟数据可以用于恢复电子设备的本地系统时钟,当音频数据和图像数据的显示时间戳的数据与本地系统时钟值匹配时,将实现图像数据与音频数据的同步。
由于多媒体数据的传输是一帧一帧的传输的,每一帧图像数据以及每一帧音频数据均包含显示时间戳PTS的数据,但是并不是每一帧数据都包含节目时钟数据PCR,节目时间数据是在多媒体数据传输的第一帧传输的,以后每间隔一段时间发送一次,用于校准本地系统时钟。因此,在接收到当前数据帧的显示时间戳以后,根据当前帧数据与上一帧数据的时间差,可以计算出当前帧数据的显示时间戳的预估值,并且可以根据该预估值来判断当前数据帧的显示时间戳是否与预估值一致,如果不一致,则表示当前数据帧的显示时间戳不连续。
这种不连续的情况可能是有多种原因引起的,即多媒体数据的接收端接收到节目时钟数据和显示时间戳会由于多种原因而出现错误,例如在弱信号或者网络传输过程出现噪声等条件下,或者编码端会出现错误并传送错误的节目时钟数据和显示时间戳,当节目时钟数据和显示时间戳出现不连续时,错误的节目时钟数据和显示时间戳会中断图像数据与音频数据的同步,导致图像数据与音频数据不同步。
现有的技术在处理节目时钟数据和显示时间戳不同步时并不理想,现有的方法是利用解复用器计算节目时钟数据的跳跃量,并通过将显示时间戳加上节目时钟数据的跳跃量来对显示时间戳进行重建,从而获取新的显示时间戳。
该方法的存在两个问题:首先,使用节目时钟数据的跳跃量并不足以校正显示时间戳以保持或达到音视频同步,因为在一些情况下,使用节目时钟数据计算出来的偏移与显示时间戳不连续性无关,从而导致视频静帧或者音频故障,也就是视频数据播放而音频静止,或者音频播放而视频静止,严重影响用户的体检。其次,如果节目时钟数据本身出现错误,那么通过节目时钟数据计算出来的偏移量也是错误的,在这种情况下,同样会导致视频静帧或者音频故障。
发明内容
本发明的第一目的是提供一种计算量小且能够避免视频静止或者音频故障的多媒体数据时间修正方法。
本发明的第二目的是提供一种实现上述多媒体数据时间修正方法的计算机装置。
本发明的第三目的是提供一种实现上述多媒体数据时间修正方法的计算机可读存储介质。
为了实现上述的主要目的,本发明提供的多媒体数据时间修正方法包括获取多媒体数据的时间数据,判断时间数据是否为连续的时间数据;并且,如确定时间数据不是连续的时间数据,则根据多媒体数据的历史数据中的时间数据计算时间数据的第一拟合直线,并计算当前的多媒体数据的时间数据与第一拟合直线之间的距离,如该距离大于预设距离阈值,则清空多媒体数据的历史数据的时间数据,并且使用当前及后续接收的多媒体数据的时间数据计算第二拟合直线,使用第二拟合直线计算当前及后续多媒体数据的修正时间数据。
优选的方案是,在计算当前的多媒体数据的时间数据与第一拟合直线之间的距离后,如确定该距离不大于预设距离阈值,使用第一拟合直线计算当前多媒体数据的修正时间数据。
进一步的方案是,判断时间数据是否为连续的时间数据包括:计算当前多媒体数据的时间数据与上一多媒体数据的时间数据之间的差值,判断该差值是否大于预设的时间阈值,如是,确定时间数据不是连续的时间数据。
更进一步的方案是,第一拟合直线由多媒体数据的历史时间中两个以上连续的多媒体数据的时间数据计算获得,并且,第二拟合直线由当前多媒体数据以及连续的后续至少一个多媒体数据中的时间数据计算获得。
更进一步的方案是,第一拟合直线和/或第二拟合直线使用最小二乘法计算获得。
更进一步的方案是,计算第一拟合直线时,使用多媒体数据的历史数据的时间数据平均值以及每一历史数据的时间数据对应的实时时间数据的平均值进行计算。
更进一步的方案是,多媒体数据的时间数据包括节目时钟数据以及显示时间戳。
为实现上述的第二目的,本发明提供的计算机装置包括处理器以及计算机可读存储介质,计算机可读存储介质存储有计算机程序,处理器读取并运行计算机程序时执行上述的多媒体数据时间修正方法。
为实现上述的第三目的,本发明提供的计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器读取并运行时执行上述的多媒体数据时间修正方法。
由上述方案可见,在判断多媒体数据的时间数据出现不连续的情况时,先通过多媒体数据的历史数据的时间数据计算出一条第一拟合直线,并且计算当前多媒体数据的时间数据与第一拟合直线的距离是否大于预设的距离阈值,如果大于预设的距离阈值,表示多媒体数据的时间数据进入不连续的状态,此时是通过重新构建第二拟合直线的方式来重构当前多媒体数据以及后续多媒体数据的时间数据,也就是使用第二拟合直线的数据来计算当前以及后续多媒体数据的显示时间戳的预估值,并且使用该预估值作为当前多媒体数据以及后续多媒体数据的显示时间戳,从而实现图像数据与音频数据的同步。
由于建立拟合直线的计算并不复杂,通过简单的运算即可以计算出拟合直线,同时,利用拟合直线重新计算多媒体数据的时间数据,包括节目时钟数据以及显示时间戳,可以有效的重构整个多媒体数据的时间数据,而不是仅仅使用节目时钟数据来计算显示时间戳,即使节目时钟数据出现问题,也影响显示时间戳的重构,这样就不会导致视频静止或者音频故障的问题发生。
另外,如果判断当前多媒体数据的时间数据与第一拟合直线之间的距离不大于距离阈值,表示当前多媒体数据并没有进入不连续的状态,此时,只需要对当前多媒体数据的时间数据进行修正即可,因此,只需要通过第一拟合直线计算出当前多媒体数据的时间数据的预估值,并且使用该预估值作为修正时间数据,即可以实现对当前多媒体数据的时间数据的修正。
并且,使用最小二乘法来计算第一拟合直线以及第二拟合直线,使得拟合直线的计算量很小,且使用连续的多个多媒体数据的时间数据来计算拟合直线,使得拟合直线的计算更加准确,有利于多媒体数据的时间数据的修正。
此外,通过对当前多媒体数据的时间数据与上一多媒体数据的时间数据进行对比,并且根据多媒体数据的传输码流的帧率等进行计算,可以快速的计算出当前多媒体数据的时间数据的预估值,从而判断当前多媒体数据的时间数据是否与预估值不一致,从而判断当前多媒体数据是否为不连续的数据。
附图说明
图1是本发明多媒体数据时间修正方法实施例的流程图。
图2是本发明多媒体数据时间修正方法实施例中构建的拟合直线的示意图。
以下结合附图及实施例对本发明作进一步说明。
具体实施方式
本发明的多媒体数据时间修正方法应用在诸如智能手机、平板电脑等便携式终端设备上,也可以应用在诸如电视机、机顶盒以及台式电脑等终端设备上。可以理解,多媒体数据时间修正方法是由运行在终端设备上的程序实现的,如由处理器运行的程序,或者由固化在处理器芯片内部的逻辑电路所实现的。因此,可以理解,本发明的计算机装置可以包括一个处理器以及计算机可读存储介质,该计算机可读存储介质可以是非易失性存储器,如EEPROM或者FLASH等,计算机可读存储介质上存储有实现上述方法的计算机程序,当处理器读取并运行上述程序时,即可以实现上述的多媒体数据时间修正方法。
多媒体数据时间修正方法实施例:
本发明的多媒体数据时间修正方法用于对多媒体数据的时间数据进行修正,包括对多媒体数据中的节目时钟数据PCR以及显示时间戳PTS进行修正,其中,图像数据与音频数据是共用节目时钟数据的,但每一帧图像数据与每一帧音频数据均包含自己的显示时间戳,因此,本实施例中,时间数据可以是节目时钟数据,也可以是图像数据的显示时间戳,还可以是音频数据的显示时间戳。
参见图1,终端设备在接收到多媒体数据时,首先执行步骤S1,采集多媒体数据的时间数据,包括多媒体数据中的节目时钟数据PCR以及显示时间戳PTS,其中显示时间戳可以是图像数据帧的显示时间戳,也可以是音频数据帧的显示时间戳。
在采集到多媒体数据的时间数据以后,将所采集的多媒体数据写入到历史数据缓冲区中,本实施例中,历史数据缓冲区是设置在电子设备的存储器中一个固定的缓冲区,用于存储多媒体数据的历史数据,例如,存储过去一段时间所接收的多媒体数据,如过去2秒或者过去3秒所接收到的历史数据。当然,为了避免在历史数据缓冲区中存储大量的数据而导致历史数据缓冲区的数据量过大,可以定期的清理历史数据缓冲区中的数据,例如,每间隔15秒清理一次历史数据缓冲区的数据。优选的,如是按照预定的间隔时间清理历史数据缓冲区的数据,则不应当清空全部的历史数据,而是清空一段时间的历史数据,例如,保留最近接收的50帧数据,而将最近接收的50帧数据以前的历史数据全部清理。或者,仅仅保留最近5秒内接收的历史数据。
然后,执行步骤S2,判断采集到的多媒体数据的时间数据是否为连续的时间数据,如是,执行步骤S3,否则,返回执行步骤S1,继续采集多媒体数据的时间数据。
判断采集到的多媒体数据的时间数据是否为连续的时间数据,可以采用已知的方式进行计算,例如,获取上一多媒体数据的显示时间戳,并且根据当前多媒体数据的码率计算出相邻两帧数据之间的间隔时间,将上一多媒体数据的显示时间戳加上相邻两帧数据的间隔时间,即可以计算出当前多媒体数据的显示时间戳的预估值。此时,判断当前多媒体数据的显示时间戳的实际值与预估值是否一致,如果不一致,则表示当前多媒体数据的时间数据出错,当前多媒体数据将变成一个奇异点的数据,可以确定当前多媒体数据的时间数据不是连续的时间数据。
当然,也可以根据多媒体数据的码率预先设定一个时间阈值,例如10毫秒,接收到当前多媒体数据的时间数据后,判断当前多媒体数据的时间数据与上一多媒体数据的时间数据之间的差值是大于该时间阈值,如两个多媒体数据的显示时间戳之间的差值是否大于该时间阈值,如果大于该时间阈值,则表示当前多媒体数据的显示时间戳出错,判断当前多媒体数据的时间数据不是连续的时间数据。
上述的显示时间戳可以是图像数据的时间戳,也可以是音频数据的时间戳,本实施例中,图像数据的时间戳与音频数据的时间戳是需要分别计算的,因此,当前多媒体数据是图像数据时,则使用上一图像数据的时间戳与当前图像数据的时间戳进行比较,计算出时间差值,然后判断该时间差值是否大于预设的时间阈值,从而判断当前图像数据的显示时间戳是否出错。如果当前多媒体数据是音频数据,则使用上一音频数据的时间戳与当前音频数据的时间戳进行比较,计算出时间差值,然后判断该时间差值是否大于预设的时间阈值,从而判断当前音频数据的显示时间戳是否出错。
相应的,如果采集的多媒体数据的时间数据是节目时钟数据,则需要采用上一个包含有节目时钟数据的数据帧的节目时钟数据来计算时间差,然后该时间差是否大于节目时钟数据的时间阈值,从而判断当前多媒体数据中的节目时钟数据是否出错。可以理解,由于每一帧数据都包含有显示时间戳,因此,显示时间戳的时间阈值较短,而节目时钟数据是间隔发送的,因此,节目时钟数据的时间阈值较长。
如果采集到的多媒体数据的时间数据是连续的时间数据,并且已经累计获取到两个以上的连续的时间数据,则执行步骤S3,确定多媒体数据进行稳定状态,此时,可以计算拟合直线,计算的拟合直线如图2所示。例如,在一个稳定状态下,通过多个多媒体数据的时间数据拟合得到的直线为直线11。计算拟合直线11时,需要使用至少两个连续的多媒体数据,也就是从历史数据中获取至少两个连续的多媒体数据的时间数据,假设拟合直线11可以通过表达式y=ax+b表示,其中参数a、b分别为:
其中,式1中的xi,yi分别表示历史数据缓冲区中每一个多媒体数据的时间数据以及该时间数据对应本地时钟的实时值。以音频数据的显示时间戳为例,xi表示历史数据缓冲区中每一个音频数据帧的显示时间戳,而yi则表示xi对应的音频数据帧的显示时间戳所对应的本地时钟的实时值。
式1中的分别是历史数据缓冲区中的每一个多媒体数据的时间数据和该时间数据对应的本地时钟的实时值的平均值,N是历史数据缓冲区中多媒体数据的数量。以音频数据的显示时间戳为例,表示历史数据缓冲区中所有音频数据帧的显示时间戳的平均值,而则表示对应的音频数据帧的显示时间戳所对应的本地时钟的实时值的平均值。
根据式1计算拟合直线11的参数a、b以后,即可以绘制拟合直线11,当然,绘制拟合直线11时,并不一定需要使用历史数据缓冲区中所有的多媒体数据,而是可以只使用其中连续的两个或者三个多媒体数据。当然,使用的多媒体数据的数量越多,绘制的拟合直线越准确,越有利于多媒体数据的时间修正。
本实施例中,在历史数据缓冲区中每增加一个新的多媒体数据,可以依据新增加的多媒体数据,重新绘制一遍拟合直线。当然,实际应用时,可以等待添加到历史数据缓冲区的多媒体数据累积到一定的数量以后,才重新绘制一遍拟合直线。
接着,执行步骤S4,实时采集多媒体数据的时间数据,如采集节目时钟数据或者显示时间戳,然后,执行步骤S5,判断当前接收到的多媒体数据的时间数据是否为连续的时间数据,也就是判断当前多媒体数据的时间点是否为奇异点。步骤S5的判断方法与步骤S2中判断多媒体数据的时间数据是否为连续的时间数据的判断方法基本相同,即根据多媒体数据的码率预先设定一个时间阈值,判断当前多媒体数据的时间数据与上一多媒体数据的时间数据之间的差值是大于该时间阈值,如两个多媒体数据的显示时间戳之间的差值是否大于该时间阈值,如果大于该时间阈值,则表示当前多媒体数据的显示时间戳出错,判断当前多媒体数据的时间数据不是连续的时间数据,步骤S5的判断结果为是,如果不大于该时间阈值,则确定当前多媒体数据的时间数据是连续的时间数据,步骤S5的判断结果为否。
如果判断结果为否,则可以继续播放当前接收的多媒体数据,如播放音频数据帧或者图像数据帧,并且将当前的多媒体数据的时间数据存储到历史数据缓冲区中,即执行步骤S6。然后,返回执行步骤S3,根据增加到历史数据缓冲区的多媒体数据的时间数据重新计算拟合直线11,通常,重新的计算的拟合直线11与原先的拟合直线11相同。
如果步骤S5中,判断当前多媒体数据的时间数据为奇异点,也就是当前多媒体数据的时间数据与上一多媒体数据的时间数据的差值大于预设的时间阈值,则执行步骤S7,计算当前多媒体数据的时间数据与拟合直线11之间的距离。如图2所示,如果当前多媒体数据的时间数据对应在坐标系上为点13(x0,y0),其中x0为多媒体数据的时间数据,如显示时间戳,而y0为该时间数据对应的本地时钟的实时值。
此时,需要计算该点13与拟合直线11之间的距离d,距离d可以通过式2计算获得:
由于拟合直线11的表达式已经通过步骤S3计算获得,因此可以通过简单的运算计算出点13与拟合直线11之间的距离d,并且执行步骤S8,判断该点13与拟合直线11之间的距离d是否大于预设的距离阈值。本实施例中,需要预先设定距离阈值,如根据以往多媒体数据出现奇异点时多媒体数据的时间数据与拟合直线之间的距离,设定一个合理的距离阈值。
如果判断点13与拟合直线11之间的距离d不大于距离阈值,表示多媒体数据未进入不连续的状态,可能只是一个多媒体数据的时间数据出错,或者出错的偏差很小,则执行步骤S9,利用已经绘制的拟合直线计算当前多媒体数据的时间数据的预估值,并且使用该预估值作为多媒体数据的修正时间数据。例如,确定音频数据帧的时间戳出错,则可以根据拟合直线11计算在该多媒体数据应当播放的时候本地时钟的时间,并且使用该时间查找出在拟合直线11上对应的显示时间戳,并且使用预估获得的显示时间戳作为该音频数据帧的时间戳,从而完成显示时间戳的修正。
如果判断点13与拟合直线11之间的距离d大于预设距离阈值,则执行步骤S10,确定多媒体数据进入不连续的状态,并且需要清空数据缓冲区的数据,然后,返回执行步骤S1,采集新的多媒体数据,并且将新采集的多媒体数据的时间数据写入到历史数据缓冲区中。然后,在采集到一定数量的连续的多媒体数据以后,如采集到2个连续的多媒体数据的时间数据以后,执行步骤S3,确定多媒体数据进入稳定状态,此时需要使用存储在历史数据缓冲区中新的多媒体数据的时间数据重新绘制拟合直线,如绘制拟合直线12,然后使用拟合直线12对当前以及后续的多媒体数据的时间数据进行修正,因此,可以认为是对多媒体数据的时间进行重构。最后,使用修正后的时间数据替代原先多媒体数据中的时间数据,从而实现对多媒体数据的时间数据的修正。
计算拟合直线12的方法与计算拟合直线11的方法相同,均是使用多媒体数据的时间数据与对应的本地时钟的实时值作为参数,使用最小二乘法,也就是使用式1进行计算,在此不再赘述。
当计算出新的拟合直线11以后,继续执行步骤S4,此时,后续接收到的多媒体数据的时间数据修正均采用新的拟合直线12进行,而不再使用拟合直线11进行修正计算。
由于终端设备并不是在接收到多媒体数据以后马上播放多媒体数据的,而是缓冲一段时间以后再播放,且重构当前多媒体数据的时间数据时间很短,通常在接收到下一帧多媒体数据并且对多媒体数据的时间数据进行重构以后,才会播放当前接收到的多媒体数据,因此即使使用后续接收到的多媒体数据中的时间数据对当前多媒体数据的时间数据进行重构,也不会影响当前多媒体数据的播放。
可见,本发明采用计算拟合直线的方式来对多媒体数据的时间进行修正,由于采用接收多媒体数据的终端设备的本地时钟数据作为基准参考,而不是仅仅依赖于编码端发送的节目时钟数据作为显示时间戳的参考,可以避免修正时间时出现视频静止或者音频故障的问题,并且对多媒体数据的时间数据进行修正的计算量很小,而且有效的对多媒体数据的时间数据进行修正。
计算机装置实施例:
本发明提供的计算机装置包括有电源、存储器以及处理器、存储在存储器中并可在处理器上运行的计算机程序。其中,处理器执行计算机程序时实现上述多媒体数据时间修正方法的各个步骤。
本实施例所称处理器可以是中央处理单元,还可以是其他通用处理器、数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现终端设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据手机的使用所创建的数据等。
另外,在本发明的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
计算机可读存储介质实施例:
本实施例中,计算机可读存储介质存储有计算机程序,即计算机程序被存储在一个计算机可读的存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
并且,计算机可读存储介质上存储有计算机程序,当计算机程序被处理器执行时,可以实现上述的多媒体数据时间修正方法的各个步骤。
当然,上述的方案只是本发明优选的实施方案,实际应用是还可以有更多的变化,例如,拟合直线的计算方法的改变、预设距离等参数的改变等,这些改变都不影响本发明的实施,也应该包括在本发明的保护范围内。
Claims (5)
1.多媒体数据时间修正方法,包括:
获取多媒体数据的时间数据,判断所述时间数据是否为连续的时间数据,所述多媒体数据的时间数据包括节目时钟数据以及显示时间戳;
其特征在于:
如确定所述时间数据不是连续的时间数据,则根据多媒体数据的历史数据中的时间数据计算时间数据的第一拟合直线,并计算当前的多媒体数据的时间数据(x0,y0)与所述第一拟合直线y=ax+b之间的距离d;
其中,xi,yi分别为历史数据缓冲区中每一个多媒体数据的时间数据以及该时间数据对应本地时钟的实时值;分别为历史数据缓冲区中的每一个多媒体数据的时间数据和该时间数据对应的本地时钟的实时值的平均值,N是历史数据缓冲区中多媒体数据的数量;
如所述距离大于预设距离阈值,则清空多媒体数据的历史数据的时间数据,并且使用当前及后续接收的多媒体数据的时间数据计算第二拟合直线,使用所述第二拟合直线计算当前及后续多媒体数据的修正时间数据;
其中,所述第一拟合直线和所述第二拟合直线使用最小二乘法计算获得,所述第一拟合直线由多媒体数据的历史时间中两个以上连续的多媒体数据的时间数据计算获得,计算所述第一拟合直线时,使用所述多媒体数据的历史数据的时间数据平均值以及所述历史数据的时间数据对应的实时时间数据的平均值进行计算,所述第二拟合直线由当前多媒体数据以及连续的后续至少一个多媒体数据中的时间数据计算获得。
2.根据权利要求1所述的多媒体数据时间修正方法,其特征在于:
在计算当前的多媒体数据的时间数据与所述第一拟合直线之间的距离后,如确定所述距离不大于预设距离阈值,使用所述第一拟合直线计算当前多媒体数据的修正时间数据。
3.根据权利要求1或2所述的多媒体数据时间修正方法,其特征在于:
判断所述时间数据是否为连续的时间数据包括:计算当前多媒体数据的时间数据与上一多媒体数据的时间数据之间的差值,判断所述差值是否大于预设的时间阈值,如是,确定所述时间数据不是连续的时间数据。
4.计算机装置,包括处理器以及计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述处理器读取并运行所述计算机程序时执行如权利要求1至3任一项所述的多媒体数据时间修正方法。
5.计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器读取并运行时执行如权利要求1至3任一项所述的多媒体数据时间修正方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711483318.XA CN108156500B (zh) | 2017-12-29 | 2017-12-29 | 多媒体数据时间修正方法、计算机装置、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711483318.XA CN108156500B (zh) | 2017-12-29 | 2017-12-29 | 多媒体数据时间修正方法、计算机装置、计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108156500A CN108156500A (zh) | 2018-06-12 |
CN108156500B true CN108156500B (zh) | 2020-07-31 |
Family
ID=62460339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711483318.XA Active CN108156500B (zh) | 2017-12-29 | 2017-12-29 | 多媒体数据时间修正方法、计算机装置、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108156500B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113825019B (zh) * | 2020-06-19 | 2022-11-11 | 北京字节跳动网络技术有限公司 | 视频变速播放方法、装置、电子设备及计算机可读介质 |
WO2022142481A1 (zh) * | 2020-12-31 | 2022-07-07 | 杭州星犀科技有限公司 | 音视频数据的处理方法、直播装置、电子设备和存储介质 |
CN112969229B (zh) * | 2021-01-28 | 2022-02-22 | 新华三技术有限公司合肥分公司 | 一种时钟校正方法、装置以及网络设备 |
CN113949898B (zh) * | 2021-10-13 | 2024-03-08 | 北京奇艺世纪科技有限公司 | 多媒体处理方法、装置、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102244925A (zh) * | 2010-05-14 | 2011-11-16 | 华为技术有限公司 | 时钟同步方法、用户端设备和时钟同步系统 |
CN103975600A (zh) * | 2011-12-06 | 2014-08-06 | 罗德施瓦兹两合股份有限公司 | 用信号发送传输时间和/或系统时钟脉冲的方法及设备 |
CN104320676A (zh) * | 2014-07-02 | 2015-01-28 | 浙江广播电视集团 | 一种视频传输流中节目时钟参考异常跳动校正的方法 |
JP2017022646A (ja) * | 2015-07-14 | 2017-01-26 | 日本電信電話株式会社 | 時刻同期装置および時刻同期方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010279235A (ja) * | 2009-06-01 | 2010-12-09 | Mitsubishi Electric Corp | 電流差動リレー |
-
2017
- 2017-12-29 CN CN201711483318.XA patent/CN108156500B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102244925A (zh) * | 2010-05-14 | 2011-11-16 | 华为技术有限公司 | 时钟同步方法、用户端设备和时钟同步系统 |
CN103975600A (zh) * | 2011-12-06 | 2014-08-06 | 罗德施瓦兹两合股份有限公司 | 用信号发送传输时间和/或系统时钟脉冲的方法及设备 |
CN104320676A (zh) * | 2014-07-02 | 2015-01-28 | 浙江广播电视集团 | 一种视频传输流中节目时钟参考异常跳动校正的方法 |
JP2017022646A (ja) * | 2015-07-14 | 2017-01-26 | 日本電信電話株式会社 | 時刻同期装置および時刻同期方法 |
Non-Patent Citations (1)
Title |
---|
最小二乘法分段直线拟合;天垅;《计算机科学》;20160630;第39卷(第6A期);正文第482-484页全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108156500A (zh) | 2018-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11882321B2 (en) | Establishment and use of time mapping based on interpolation using low-rate fingerprinting, to help facilitate frame-accurate content revision | |
CN108156500B (zh) | 多媒体数据时间修正方法、计算机装置、计算机可读存储介质 | |
US10992981B2 (en) | Dynamic control of fingerprinting rate to facilitate time-accurate revision of media content | |
CN107948735B (zh) | 一种视频播放方法、装置及电子设备 | |
CN108495164B (zh) | 音视频同步处理方法及装置、计算机装置及存储介质 | |
CN109862403B (zh) | 自适应码率切换方法、装置、电子设备及存储介质 | |
US9300997B2 (en) | Consumption likelihood of linear content streams | |
CN111034204A (zh) | 基于获得新内容的预期延时的用于内容修订的提前准备 | |
CN108259998B (zh) | 播放器及播放控制方法、装置、电子设备及播放系统 | |
WO2023197933A1 (zh) | 信号处理方法、装置、电子设备及介质 | |
CN107392983B (zh) | 一种录制动画的方法及系统 | |
CN107277624B (zh) | 时长计算方法及其装置 | |
CN107710754B (zh) | 音视频数据同步方法和装置 | |
CN112911390B (zh) | 一种视频数据的播放方法及终端设备 | |
CN115426501A (zh) | 一种音视频码流时间校准方法及电子设备 | |
CN110856028B (zh) | 一种媒体数据的播放方法、设备及存储介质 | |
CN114143486A (zh) | 视频流同步方法、装置、计算机设备和存储介质 | |
CN108111900B (zh) | 一种播放速度控制方法及装置 | |
CN113891109B (zh) | 自适应降噪方法、装置、设备及存储介质 | |
CN117640974A (zh) | 直播数据传输方法、装置、设备及存储介质 | |
CN117768722A (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 |