CN101051836A - 传输流解码与编码定时同步的装置及方法 - Google Patents

传输流解码与编码定时同步的装置及方法 Download PDF

Info

Publication number
CN101051836A
CN101051836A CN 200710065004 CN200710065004A CN101051836A CN 101051836 A CN101051836 A CN 101051836A CN 200710065004 CN200710065004 CN 200710065004 CN 200710065004 A CN200710065004 A CN 200710065004A CN 101051836 A CN101051836 A CN 101051836A
Authority
CN
China
Prior art keywords
reprovision
time
decode
clock
count value
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.)
Granted
Application number
CN 200710065004
Other languages
English (en)
Other versions
CN101051836B (zh
Inventor
戴春泉
董欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vimicro Corp
Original Assignee
Vimicro Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vimicro Corp filed Critical Vimicro Corp
Priority to CN2007100650048A priority Critical patent/CN101051836B/zh
Publication of CN101051836A publication Critical patent/CN101051836A/zh
Application granted granted Critical
Publication of CN101051836B publication Critical patent/CN101051836B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本发明公开了一种传输流解码与编码定时同步的装置及方法。为解决现有技术中解码时钟同步于编码时钟的实现过程复杂并且成本高的问题而发明。本发明的装置包括:重配脉冲计数器、计数器、比较器、重配控制模块。本发明的方法包括:为重配脉冲计数器配置初始计数值;重配脉冲计数器对解码时钟输出的脉冲进行计数并输出中断;计数器统计重配脉冲计数器输出的中断个数;比较器一个输入端接收连续两个编码时钟参考的差值,计算编码时间,另一个输入端接收计数器统计的中断个数,计算解码时间;比较器比较解码时间与编码时间是否相等;如果比较结果不相等,调整重配脉冲计数器的计数值。本发明能够简单并且低成本的实现解码时钟同步于编码时钟。

Description

传输流解码与编码定时同步的装置及方法
技术领域
本发明涉及多媒体数据的解码与编码定时同步的装置及方法,特别涉及传输流解码与编码定时同步的装置及方法。
背景技术
随着多媒体技术的发展,一路节目的视频、音频及其他辅助数据经过数字化处理、压缩编码后,分别形成视频的基本流ES(Elementary Stream)、音频的基本流和其他辅助数据的基本流;将不同的基本流分别加包头打包为PES(Packetised ES)包,为了多路数据节目流的复用和有效的传输,又将PES包作为负载分割后插入传输流包(TS包)或节目流包(PS包)中,形成分别是基于可变长度打包的节目流PS(Program Steam)和基于固定长度打包的传输流(Transport Stream)。在ES层,和同步有关的主要是VBV-Delay域,表示解码器视频缓冲器在收到图像起始码的最后一个字节后,至当前解码帧解码开始所应等待的时间,用以防止解码器的缓冲器出现上溢或下溢。在PES层,和同步有关的主要是在PES包头信息中出现的PTS(显示时间标签)和DTS(解码时间标签)。在TS流中包含了编码时钟参考(该编码时钟参考的数值表示编码时钟输出的脉冲总数,这个脉冲总数从零开始计数),用于解码时钟恢复。解码器端解码时,首先利用编码时钟参考重建和编码器同步的27MHz时钟(此时钟为标准协议中规定的时钟),恢复27MHz时钟后,再利用PES流中的解码时间标签,显示时间标签进行音、视频的同步,同时利用VBV Delay在解码器中的缓冲器充盈到相应程度后启动初始解码。在解码器中,解码时钟的恢复是同步的关键。如果解码时钟和编码时钟严格匹配,那么视频和音频的解码和显示将自动和编码保持相同的速率。但在实际中,解码器均有自主的解码时钟,并不和编码时钟匹配,因而需要利用接收到的编码时钟参考来使解码器的解码时钟同步于编码器的编码时钟,所采用的典型方法是通过锁相环(PLL)装置来实现。
在编码和解码的过程中,编码器根据编码时钟进行编码,并根据编码时钟在传输流中添加编码时钟参考,在传输流的包头中添加指示音频和视频解码时间的解码时间标签(DTS)、指示音频和视频显示时间的显示时间标签(PTS)等时间控制信息,其中,解码时间标签和显示时间标签以编码时钟参考为时间基准。如图1所示,在解码器端,CPU在接收到传输流后提取解码时间标签和显示时间标签存放在寄存器中,每当传输流开始传输新的一帧图像时,CPU将该帧图像的解码时间标签或显示时间标签写入到寄存器中,同时,解码器在解码图像时,从寄存器中读出相应的解码时间标签或显示时间标签,将解码时间标签或显示时间标签与锁相环装置输出的解码时钟的计数值相比较,当两者相等时,CPU就控制解码器进行解码或控制缓冲器将数据传送给显示器进行显示。
如图2所示,现有的方法采用锁相环(PLL)的方式恢复解码时钟,来使解码时钟同步于编码时钟。其恢复解码时钟的具体过程为:给压控晶振一个电压,压控晶振根据该电压产生解码时钟,并将该解码时钟输出给计数器,计数器具有两个输入端,一个输入端用于接收解码时钟输出的脉冲,另一个输入端用于接收清零信号(CPU每接收到一个编码时钟参考就产生一个清零信号,如图1所示);计数器接收到清零信号后,开始统计其接收到的脉冲个数,当接收到下一个清零信号时,输出统计的脉冲个数给减法器的一个输入端,并清零;同时,将连续两个编码时钟参考的差值输入减法器的另一个输入端,减法器将其两个输入端收到的数值作差,如果作差结果不为零,则减法器输出数字结果信号,将减法器输出的数字结果信号转换为电压信号,调整该电压信号来改变压控晶振的输出频率,通过以上的反馈控制逐步使解码时钟和编码时钟同步,有了同步的解码时钟,按照解码时间标签进行解码,并按照显示时间标签进行显示就可以实现解码与编码的同步。如果减法器作差的结果为零,则可以判定压控晶振输出的时钟(解码时钟)和编码时钟是同步的,无需调整压控晶振的电压。由于在减法器输出得到的结果信号可能会带有毛刺,影响调整压控晶振的精度,因此在减法器和压控晶振之间设置一个低通滤波器,能够将结果信号中带有的毛刺滤除。
采用上述锁相环的方式来恢复时钟,使解码时钟同步于编码时钟,能够很好的完成解码和编码的同步过程,但是,这种恢复时钟的方式需要使用压控晶振,压控晶振是通过复杂的电路来实现的,不但实现困难,并且实现的成本也比较高。
发明内容
为了克服现有技术的缺陷和不足,本发明的目的在于提供一种传输流解码与编码定时同步的装置,能够低成本的实现解码时钟同步于编码时钟,并且降低实现的复杂度。
为了达到上述目的,本发明传输流解码与编码定时同步的装置,包括:重配控制模块,用于为重配脉冲计数器配置计数值,并在初始状态时,根据解码时钟为重配脉冲计数器配置初始计数值;
重配脉冲计数器,输入解码时钟,并用于对解码时钟输出的脉冲进行计数,每计数到其所被配置的计数值时,输出一个中断;
计数器,用于统计重配脉冲计数器在连续两个编码时钟参考之间所输出的中断个数;
比较器,一个输入端用于接收连续两个编码时钟参考的差值,另一个输入端用于接收所述计数器统计的连续两个编码时钟参考之间的中断个数,比较器根据所述连续两个编码时钟参考的差值和所述中断个数,比较解码时间与编码时间是否相等;
所述重配控制模块接收比较器的比较结果,在比较结果不相等时,调整重配脉冲计数器的计数值,使所述重配计数器根据调整后的计数值输出中断,所述比较器比较得到调整后的解码时间与编码时间相等。
优选的,所述的重配控制模块可以包括:
初始计数值配置单元,用于在初始状态时,根据解码时钟和预先设定的预定时长为重配脉冲计数器配置初始计数值;
计数值重配单元,用于接收比较器的比较结果,并在所述比较结果不相等时,计算新的计数值配置到重配脉冲计数器中。
优选的,所述的比较器将所接收到中断个数和连续两个编码时钟参考的差值转换为相同的单位,并将转换后的值进行比较,获得解码时间和编码时间是否相等的比较结果,并将比较结果发送给重配控制模块。
优选的,所述的比较器包括:
解码时间计算单元,用于将统计的中断个数乘以所述预定时长来获取解码时间;
编码时间计算单元,用于将连续两个编码时钟参考的差值除以预先设定的编码时钟频率来获取编码时间;
时间比较单元,用于比较解码时间和编码时间是否相等,并将比较结果发送给重配控制模块。
进一步的,本装置还包括:
CPU,用于从所接收到的传输流中获取编码时钟参考的差值,并输出到所述比较器中;
并在每获得一个编码时钟参考时向所述计数器发出一个清零信号,所述计数器根据所述清零信号进行计数清零;
所述CPU还接收来自重配脉冲计数器的中断,并统计中断个数,将所统计的中断个数转换成解码时间,从而根据该解码时间进行解码控制。
进一步的,本装置还包括解码器、缓冲器和显示器,所述CPU内还设置有解码控制模块,用于统计重配脉冲计数器输出的中断个数,根据该中断个数所对应的解码时间,以及自传输流中获取的解码时间标签控制解码器进行解码,和/或根据该中断个数所对应的解码时间以及自传输流中获取的显示时间标签控制缓冲器输出解码后的数据至显示器显示。
采用上述的装置后,由重配脉冲计数器产生中断,统计在连续两个编码时钟参考之间重配脉冲计数器产生的中断个数(该中断个数表示解码时间),将统计的中断个数和该连续两个编码时钟参考的差值(该差值表示编码时间)进行比较,如果比较结果不相等,则说明解码时钟和编码时钟不同步,为使解码器的解码时钟同步于编码器的编码时钟,通过对重配脉冲计数器的计数值进行调整,使调整后的比较结果相等,来达到解码时钟和编码时钟同步;这样,根据重配脉冲计数器产生的中断个数计算得到的解码时间就与编码时间一致,解码时钟和编码时钟达到了同步,与现有的装置比较,没有使用压控晶振等成本比较高并且实现复杂的硬件,而使用的是硬件成本比较低的重配脉冲计数器,并且计数器、比较器和重配控制模块都能够通过软件的模块来实现,不但降低了成本,而且实现也比较容易。
同时,本发明的目的还在于提供一种传输流解码与编码定时同步的方法,能够低成本的实现解码时钟同步于编码时钟,并且降低实现的复杂度。
为了达到上述目的,本发明传输流解码与编码定时同步的方法,包括以下步骤:
(1)采用重配控制模块在初始状态时根据解码时钟为重配脉冲计数器配置初始计数值;
(2)采用重配脉冲计数器对解码时钟输出的脉冲进行计数,每计数到配置的计数值时将输出一个中断;
(3)采用计数器统计所述重配脉冲计数器输出的中断个数;
(4)采用比较器根据连续两个编码时钟参考的差值和所述计数器统计的中断个数,比较解码时间与编码时间是否相等;
(5)重配控制模块接收比较器的比较结果,如果比较结果不相等,则重配重配脉冲计数器的计数值,使调整后的解码时间与编码时间相等。
优选的,所述步骤(1)具体为;
预先设置预定时长,将正常工作状态下的解码时钟频率与所述预定时长的商作为初始计数值,所述重配控制模块将该初始计数值配置到重配脉冲计数器中。
优选的,所述步骤(4)中,比较器将所接收到中断个数和连续两个编码时钟参考的差值转换为相同的单位,并将转换后的值进行比较,获得解码时间和编码时间是否相等的比较结果。
优选的,所述步骤(4)中,比较器将统计的中断个数与所述的预定时长的乘积作为解码时间,将连续两个编码时钟参考的差值与预先设定的编码时钟频率的商作为编码时间,然后比较所述解码时间和编码时间是否相等。
优选的,步骤(5)中调整重配脉冲计数器的计数值的方法为:
通过公式 P = M N × Q 来获取新的计数值,将该新的计数值配置到重配计数器中;
其中,所述的P为获取的新的计数值,所述的M为统计的中断个数或其转换后的数值或根据所述中断个数计算得到的解码时间,所述的N为连续两个编码时钟参考的差值或其转换后的数值或根据所述连续两个编码时钟参考的差值计算得到的编码时间,所述的Q为重配脉冲计数器中的当前计数值,且所述M与N具有相同的单位。
进一步的,所述调整重配脉冲计数器的计数值的方法为:根据网络延时的状况通过渐变或一步到位的方式对重配脉冲计数器的计数值进行调整。
进一步的,所述步骤(2)后还包括:
(A)解码控制模块统计重配脉冲计数器输出的中断个数,根据该中断个数和解码时间标签控制解码器进行解码,和/或根据该中断个数和显示时间标签控制缓冲器进行显示。
采用上述的方法后,重配脉冲计数器对解码时钟输出的脉冲进行计数,计数到配置的计数值时输出中断,通过统计重配脉冲计数器输出的中断个数(该中断个数代表解码时间),将统计的中断个数和连续两个编码时钟参考的差值(该差值代表编码时间)进行比较,如果比较结果不相等,则说明解码时钟和编码时钟不同步,为使解码器的解码时钟同步于编码器的编码时钟,本发明通过对重配脉冲计数器的计数值进行调整,使调整后的比较结果相等,来使解码时钟同步于编码时钟;这样,根据重配脉冲计数器产生的中断个数计算解码时间就与编码时间一致,与现有技术相比,在解码端通过对重配脉冲计数器中计数值的调整,来使解码时钟同步于编码时钟,不必再利用电压来调整压控晶振输出解码时钟的复杂处理过程,不但降低了复杂度,而且节省了成本。
附图说明
图1为现有技术解码器端进行解码和显示的系统结构图;
图2为现有技术通过锁相环完成解码时钟和编码时钟同步的系统结构图;
图3为本发明传输流解码与编码定时同步的装置的具体实施例的结构图;
图4为本发明的装置在解码器端调整解码和编码在时间上同步的一种优选实施例的结构图;
图5为本发明传输流解码与编码定时同步的方法的具体实施例的流程图;
图6为本发明在解码器端调整解码和编码在时间上同步的一种优选实施例的流程图。
具体实施方式
本发明提供了传输流解码与编码定时同步的装置,下面结合附图以及具体实施例对本发明提供的装置进行详细的说明。
如图3所示,为本实施例传输流解码与编码定时同步的装置结构图,本实施例中包括计数器、重配脉冲计数器、比较器和重配控制模块。该重配脉冲计数器与计数器相连,比较器分别与计数器、重配控制模块相连,重配控制模块与重配脉冲计数器相连。
其中,
重配控制模块,用于为重配脉冲计数器配置计数值,并在初始状态时,根据解码时钟为重配脉冲计数器配置初始计数值;所述计数值的目的是使重配脉冲计数器每隔预定时长输出一个中断,这样则可将这个定时发出的中断作为判断和调整解码时钟与编码时钟同步的依据。
如当采用本领域内的标准协议所规定的时钟频率27MHz作为正常工作状态的解码时钟时,而所述预定时长可为1ms,则可配置的初始计数值为27000,使重配脉冲计数器根据当前解码时钟计数,并且每计数到27000就输出一个中断,相当于每隔1ms输出一个中断。(所述预定时长可以由开发人员根据统计的方便或系统实现的必要性来预先设定);
初始计数值是通过重配控制模块上设置的初始计数值配置单元来配置的,调整计数值的过程是由设置在重配控制模块上的计数值重配单元来完成的。
重配脉冲计数器,其一个输入端用于接收重配控制模块配置的计数值,另一个输入端用于接收解码时钟输出的脉冲,并对其进行计数;每计数到计数值输出一个中断(如上述配置的计数值为27000,该重配脉冲计数器每计数到27000输出一个中断),其输出的中断一路发送给计数器,另一路发送给CPU进行解码控制(如图4所示);
计数器,用于统计重配脉冲计数器输出的中断个数;其具有两个输入端,一个输入端用于接收重配脉冲计数器发送的中断,另一个输入端用于接收清零信号(CPU每接收到一个编码时钟参考就产生一个清零信号,如图4所示);计数器接收到一个清零信号后,开始统计其接收到的中断个数,当接收到下一个清零信号时,输出统计的中断个数给比较器,并清零;
比较器,一个输入端接收连续两个编码时钟参考的差值,该连续两个编码时钟参考的差值可以用于计算连续两个编码时钟参考之间的编码时间;另一个输入端接收计数器统计的中断个数,该中断个数可以用于计算连续两个编码时钟参考之间的解码时间;比较器根据所述连续两个编码时钟参考的差值和所述中断个数,比较编码时间与解码时间是否相等,并将比较结果输出:
其中,比较器根据接收到的连续两个编码时钟参考的差值,计算连续两个编码时钟参考之间的编码时间,可以通过比较器上设置的编码时间计算单元来实现,具体可以为:比较器根据预先设定的编码时钟频率和连续两个编码时钟参考的差值,计算所述的编码时间。由于一般情况下,比较器不知道编码端的真实的编码时钟频率是多少,因此比较器需要预先假定一个编码时钟频率,所述预先设定的编码时钟频率是根据实际应用来设置,如一般采用本领域内的标准协议,编码时钟频率f为27MHz。假定所述连续两个编码时钟参考的差值n为2700000,则根据编码时间t=n/f,得到t=(2700000/27000000)*1000=100ms。
比较器根据接收到的连续两个编码时钟参考之间的中断个数,获得连续两个编码时钟参考之间的解码时间,可以通过比较器上设置的解码时间计算单元来实现,具体可以为:由于重配脉冲计数器每隔预定时长产生1个中断,则将中断个数乘以预定时长即可得到解码时间。如前而假定的预定时长为1ms,如果比较器接收到的中断个数为100个,则解码时间为100ms。
比较器上还设置有时间比较单元,该时间比较单元比较上述通过计算得到的解码时间和编码时间,将比较结果发送给重配控制模块。
如果在正常工作状态下,输入重配脉冲计数器的解码时钟采用标准的27MHz,设定的预定时长为1ms,则根据该时钟配置重配脉冲计数器的计数值为2700000,如果连续两个编码时钟参考的差值为2700000时,按照上面的方法,比较器计算得到的解码时间和编码时间都为100ms,此时,解码时钟同步于编码时钟。假定由于时钟抖动输入重配脉冲计数器的解码时钟变为了26MHz,表明解码时钟变慢了,而比较器按照标准中规定时钟的频率(f=27MHz)计算连续两个编码时钟参考之间的编码时间,这样,在连续两个编码时钟参考的差值为2700000时,按照公式t=n/f计算得到编码时间是100ms;在连续连个编码时钟参考之间,重配脉冲计数器当前的计数值为27000时,计数器统计的中断个数则为
Figure A20071006500400111
由于设定的固定时长为1ms,通过计算得到解码时间是
重配控制模块,接收比较器的比较结果,如果比较结果不相等,则调整为重配脉冲计数器的配置的计数值,使调整后比较器计算的解码时间与编码时间相等;按照上述解码时钟变成26MHz时,重配控制模块接收的解码时间
Figure A20071006500400121
和编码时间(100ms)的比较结果不相等,表明解码时钟不同步于编码时钟,则重配控制模块调整重配脉冲计数器配置的计数值,使比较器计算的解码时间等于编码时间。
优选地,调整计数值可以通过重配控制模块上设置的重配计数值计算单元来实现,重配计数值计算单元通过公式 P = M N × Q 来获取新的计数值,将该新的计数值配置到重配计数器中;
其中,所述的P为获取的新的计数值,所述的M为根据统计的中断个数计算得到的解码时间,所述的N为根据连续两个编码时钟差值计算得到的编码时间,所述的Q为重配脉冲计数器中的当前计数值。根据上述假定,则 M = 26 27 × 100 ms , N=100ms,Q=27000,计算得到P=26000。
调整后的新的计数值P就是使解码时钟同步于编码时钟所需要的计数值,对重配脉冲计数器的计数值进行调整后,该重配脉冲计数器在解码时钟的驱动下,根据新的计数值来输出中断,在连续两个编码时钟参考之间,能够使比较器的比较结果相等,表明连续两个编码时钟参考之间的解码时间和编码时间相等,解码时钟同步于编码时钟。
与现有技术相比,都是完成解码时钟和编码时钟同步的过程,现有技术是对压控晶振输出的解码时钟进行调整,使解码时钟和编码时钟一致来完成时钟同步,而本实施例是不改变解码时钟,加入了一个对解码时钟进行计数的重配脉冲计数器,通过改变重配脉冲计数器中的计数值,在连续两个编码时钟参考之间,使连续两个编码时钟参考的差值与重配脉冲计数器产生的中断个数相等,达到解码时钟同步于编码时钟,由于本实施例的装置中没有使用压控晶振这样成本高实现复杂的元件,而采用了重配脉冲计数器这样的简单的硬件,另外,计数器、比较器和重配控制模块还可以通过软件的模块来实现的,不但降低了成本,而且实现起来非常简单。
如图4所示,为本实施例的装置在解码器端调整解码和编码在时间上同步的实施结构图,包括传输流解码与编码定时同步的装置、解码器、寄存器、CPU、缓冲器和显示器,其中,CPU上设置有解码控制模块,CPU分别与解码器、缓冲器、寄存器、传输流解码与编码定时同步的装置相连,该CPU还分别比较器、计数器、重配脉冲计数器相连,解码器与缓冲器相连。
解码与编码在时间上同步的过程中,解码器端的CPU接收编码器端发送过来的传输流,并根据传输流的类型将传输流放入解码器中,该解码器根据类型可以分为音频解码器、视频解码器和文本解码器。CPU提取传输流中的编码时钟参考以及解码时间标签和显示时间标签存放在寄存器中,该解码时间标签和显示时间标签以编码时间为基准。CPU中的解码控制模块,从寄存器中读出相应的解码时间标签或显示时间标签,将解码时间标签或显示时间标签与根据重配脉冲计数器输出的中断个数所获得的时间相比较,当两者相等时,CPU就控制解码器进行解码或控制缓冲器将数据传送给显示器进行显示。
由于传输不稳定、时钟抖动等原因引起解码时钟或编码时钟发生变化,从而导致解码和编码在时间上的不同步,这样,需要根据编码时钟参考,通过传输流解码与编码定时同步的装置来调整解码时钟同步于编码时钟,来达到解码和编码在时间上的同步,下面结合图4对如何判断解码时钟是否同步于编码时钟,以及调整时钟同步的过程进行详细的描述:
CPU接收到传输流后,自传输流中提取编码时钟参考,将计算得到的连续两个编码时钟参考的差值发送到比较器中,并且每提取一个编码时钟参考,就产生一个清零信号发送给计数器,计数器每收到一个清零信号,就将其统计连续两个编码时钟参考之间的中断个数发送给比较器,并开始新的统计;比较器根据收到的连续两个编码时钟参考的差值,计算连续两个编码时钟参考之间的编码时间;并根据接收到的连续两个编码时钟参考之间的中断个数,计算连续两个编码时钟参考之间的解码时间;比较器比较编码时间和解码时间是否相等,如果比较的结果不相等,表明解码时钟不同步于编码时钟,比较器将输出比较结果给重配控制模块,重配控制模块就能够根据比较结果对重配脉冲计数器的计数值进行调整,通过调整使比较结果相等,来达到解码时钟同步于编码时钟。
这样,CPU的解码控制模块对重配脉冲计数器输出的中断进行统计,当统计的中断个数转换成解码时间,恰好与编码器添加在传输流中的解码时间标签或显示时间标签规定的时间一致时,解码控制模块控制解码器进行解码或是控制缓冲器将其存储的数据输出给显示器进行显示。通过对重配脉冲计数器的计数器进行调整,使解码时钟同步于编码时钟,就能够恢复解码和编码在时间上的同步过程。
在实际的应用中,上述的比较器、计数器和重配控制模块都可以通过软件模块或硬件模块来实现的,其可以设置在CPU的外部,也可以集成设置在CPU内部,具体实现为CPU内的软件模块。
本实施例同时提供了传输流解码与编码定时同步的方法,下面结合附图对本实施例的方法进行详细说明。
如图5所示,为本实施例传输流解码与编码定时同步的方法流程图,该方法包括以下步骤:
(501)重配控制模块根据解码时钟为重配脉冲计数器配置初始计数值;
(502)重配脉冲计数器对解码时钟输出的脉冲进行计数,每计数到配置的计数值时将输出一个中断;
(503)计数器统计重配脉冲计数器输出的中断个数;
(504)比较器根据连续两个编码时钟参考的差值和所述计数器统计的中断个数,比较解码时间与编码时间是否相等;如果比较结果不相等,则重配控制模块调整重配脉冲计数器的计数值,使调整后的解码时间与编码时间相等。
该步骤中,连续两个编码时钟参考的差值可用于获得或表示在连续两个编码时钟参考之间的编码时间;统计的中断个数可用于获得或表示在连续两个编码时钟参考之间的解码时间。
该步骤中可以根据中断个数和连续两个编码时钟参考的差值分别计算出解码时间和编码时间,将该解码时间和编码时间相比较能够判断出解码时钟是否同步于编码时钟,如果比较结果相等,则表示在连续两个编码时钟参考之间的编码时间和解码时间相等,解码时钟同步于编码时钟;如果中断个数和差值比较结果不相等,则表示在连续两个编码时钟参考之间的编码时间和解码时间不相等,则需要对解码端的重配脉冲计数器的计数值进行调整,使解码时钟同步于编码时钟。
如图6所示,为本实施例在解码器端调整解码和编码在时间上同步的优选实施流程图,包括以下步骤:
(601)经过编码器进行编码后的传输流传输到解码器端;
(602)CPU对传输流进行语法分析,提取编码时钟参考以及解码时间标签和显示时间标签,并且每提取一个编码时钟参考就产生一个清零信号发送给计数器,并根据传输流中数据的类型,将数据发送给音频解码器、视频解码器或是文本解码器;
(603)重配脉冲计数器在解码时钟的驱动下进行计数,达到配置的当前计数值时,重配脉冲计数器清零重新开始计数,同时输出一个中断;
该输出的中断用于进行两方面的处理,一方面输入CPU,用于控制解码端的数据解码及显示,如以下的步骤(604);另一方面输入计数器,用于判断解码时钟是否同步于编码时钟,如以下的步骤(605)至步骤(608);
(604)CPU中的解码控制模块接收并统计来自重配脉冲计数器输出的中断,根据统计的中断个数和解码时间标签来控制解码器解码,和/或根据统计的中断个数和显示时间标签来控制缓冲器进行显示;其具体的过程是:
解码控制模块将统计的中断个数转换为时间,当中断个数转换为时间后达到解码时间标签规定的解码时间时,CPU控制解码器进行解码,并将解码的数据存储到缓冲器中;
解码控制模块将统计的中断个数转换为时间,当中断个数转换为时间后达到显示时间标签规定的显示时间时,CPU控制缓冲器将其内部存储的数据进行显示。
(605)计数器接收到一个清零信号,开始对重配脉冲计数器输出的中断进行计数,当该计数器接收到下一个清零信号时,将其统计的连续两个编码时钟参考之间重配脉冲计数器输出的中断个数发送给比较器,并清零;
(606)CPU将计算得到的连续两个编码时钟参考的差值发送给比较器;
(607)比较器接收步骤(605)中统计的中断个数和步骤(606)中得到的差值,分别计算出在连续两个编码时钟参考之间的解码时间和编码时间,比较该解码时间和编码时间是否相等,如果相等,则表示编码时钟同步于解码时钟,不需要调整,返回步骤(603);如果不相等,则进入步骤(608);
计算解码时间的方法为:将统计的中断个数乘以预定时长。计算编码时间的方法为:将连续两个编码时钟参考的差值除以预先设定的编码时钟频率(如标准中规定时钟的频率)。
(608)产生解码时钟同步于编码时钟所需的新的计数值,对重配脉冲计数器的计数值进行调整后,返回步骤(603)。
其中,步骤(607)中产生解码时钟同步于编码时钟所需的新的计数值的方法包括但不限于下述的公式:
通过公式 P = M N × Q 来生成;公式中的P为产生的新的计数值,M为根据统计的中断个数计算得到的解码时间,N为根据连续两个编码时钟差值计算得到的编码时间,Q为重配脉冲计数器中的当前计数值。
步骤(607)中得到新的计数值后,将新的计数值重新配置到重配脉冲计数器中,根据网络延时的状况也可以有两种方式,如果网络延时小,可以采用一步到位的方式来重配;如果网络延时大,则需要采用渐变的方式来一步一步的进行重配,以保证网络传输波动的平稳性。
下面以一个具体应用的实施例来对本实施例更进一步的说明。
设解码端的正常工作状态下,解码时钟频率为27MHz,设定一个预定时长为1ms,根据正常工作状态下的解码时钟频率以及预定时长为重配脉冲计数器配置计数值为27000,该重配脉冲计数器每计数到27000就输出一个中断(每隔1ms输出一个中断)。CPU统计重配脉冲计数器输出的中断个数,并根据中断个数获得编码用去的时间。一般情况下,解码端不知道编码端的编码时钟频率,因此在解码端,CPU默认编码端的时钟频率,如可默认编码端的时钟频率为标准协议中的27MHz,则如果CPU所获得的连续两个编码时钟参考的差值为2700000,则CPU认为编码用去的时间为100ms;如果传输流中在添加第二个编码时钟参考的同时添加显示时间标签,则表示解码需要在100ms时显示该数据,解码器端的CPU需要在接收到第100个中断时,控制缓冲器显示数据,来达到解码和编码在时间上的同步(编码时间为100ms,解码时间也为100ms)。如果由于时钟抖动等原因,解码端的解码时钟频率不稳定,变成了26MHz。在该连续两个编码时钟参考的差值时间(即100ms)内,CPU接收重配脉冲计数器输出的中断个数为
Figure A20071006500400161
当CPU接收到的中断个数为100个进行显示时,实际解码用去的时间为
Figure A20071006500400162
而CPU认为的编码用去的时间是100ms,很显然解码时钟不同步于编码时钟,编码和解码在时间上是不同步的。如图3所示,本实施例能够通过比较器判断出编码和解码的不同步,本实施例是将连续两个编码时钟参考的差值2700000输入比较器的一个输入端,将该连续两个编码时钟之间重配脉冲计数器输出的中断个数
Figure A20071006500400163
输入比较器的另一个输入端,比较器也默认编码时钟频率为27MHz,从而将2700000转换为编码时间是100ms,将
Figure A20071006500400164
转换为解码时间是
Figure A20071006500400165
两个转换后的时间不相等,则比较器能够判断出编码时钟和解码时钟不同步,并将比较的结果发送给重配控制模块,重配控制模块通过公式 P = M N × Q 能够计算出新的计数值为26000,将该新的计数值配置到重配脉冲计数器中,就能够达到解码时钟同步于编码时钟。重配后,当CPU接收到第二个编码时钟参考时,同时接收到了显示时间标签,该显示时间标签以编码时钟参考为时间基准,CPU根据这两个编码时钟参考的差值2700000,计算出需要在解码用去100ms时显示数据,这样,CPU统计重配脉冲计数器输出的中断个数为100个时(调整计数值为26000后,重配脉冲计数器是每隔1ms发送一个脉冲),解码实际用去的时间恰好为100ms,此时显示,解码和编码在时间上是同步的。同样,如果编码时钟发生了变化,也可以通过上述的处理过程进行同样的判断与调整,在此不再赘述。
本实施例的重配脉冲计数器对解码时钟输出的脉冲进行计数,计数到配置的计数值时输出中断,通过统计重配脉冲计数器输出的中断个数(该中断个数可用于获得或表示解码时间),将统计的中断个数和连续两个编码时钟参考的差值(该差值可用于获得或表示编码时间)进行比较,如果比较结果不相等,则说明解码时钟和编码时钟不同步,为使解码器的解码时钟同步于编码器的编码时钟,通过对重配脉冲计数器的计数值进行调整,使调整后的比较结果相等,来使解码时钟同步于编码时钟;这样,重配脉冲计数器产生的中断个数转换成解码时间就与编码时间一致,利用该重配脉冲计数器产生的中断个数分别与解码时间标签和显示时间标签相比较,来进行解码的控制,就实现了解码和编码的同步,与现有技术相比,在解码端通过对重配脉冲计数器中计数值的调整,来使解码时钟同步于编码时钟,不必再利用电压来调整压控晶振输出解码时钟的复杂处理过程,不但降低了复杂度,而且节省了成本。
上述实施例中的比较器是基于时间的比较,判断解码时钟是否服从于编码时钟的,因此比较器需要通过编码时间计算单元、解码时间计算单元,将统计的中断数转换为解码用去的时间,将连续两个编码时钟参考的差值转换为编码用去的时间,转换后通过时间比较单元比较二者在数值上是否相等,如果不相等,则表示解码时钟不服从于编码时钟,解码和编码在时间上是不同步的。
但实际上,比较器接收到的中断个数、连续两个编码时钟参考的差值可分别代表解码时间和编码时间,因此只需要将接收到中断个数和连续两个编码时钟参考的差值转换为相同的单位,就可以用于进行比较判断解码时间是否与编码时间同步。所述的相同的单位可以是时间、脉冲个数或中断个数。如果是转换成脉冲个数,则将中断个数乘以重配脉冲计数器的计数值即可获得脉冲个数。转换成中断个数的方法可参照转换成脉冲个数的方法,不再赘述。
此时,重配控制模块所用于计算新的计数值的公式 P = M N × Q 中,P表示产生的新的计数值,M为统计的中断个数或其转换后的数值,N为连续两个编码时钟参考的差值或其转换后的数值,Q为重配脉冲计数器中的当前计数值。
如转换成脉冲个数时,设接收到的中断个数为 连续两个编码时钟参考的差值为2700000,当前重配脉冲计数器的计数值为27000,则
P = M N × Q = 26 27 × 100 × 27000 2700000 × 27000 = 26000 .
由上述分析可以看出,本发明定时同步的装置及方法可以做出多种调整,且不限于应用在多媒体数据的编码和解码进行定时同步的领域,还可以应用到其他需要定时同步的相邻或相近的领域中。

Claims (13)

1、一种传输流解码与编码定时同步的装置,包括:
重配控制模块,用于为重配脉冲计数器配置计数值,并在初始状态时,根据解码时钟为重配脉冲计数器配置初始计数值;
重配脉冲计数器,输入解码时钟,并用于对解码时钟输出的脉冲进行计数,每计数到其所被配置的计数值时,输出一个中断;
计数器,用于统计重配脉冲计数器在连续两个编码时钟参考之间所输出的中断个数;
比较器,一个输入端用于接收连续两个编码时钟参考的差值,另一个输入端用于接收所述计数器统计的连续两个编码时钟参考之间的中断个数,比较器根据所述连续两个编码时钟参考的差值和所述中断个数,比较解码时间与编码时间是否相等;
所述重配控制模块接收比较器的比较结果,在比较结果不相等时,调整重配脉冲计数器的计数值,使所述重配计数器根据调整后的计数值输出中断,所述比较器比较得到调整后的解码时间与编码时间相等。
2、按照权利要求1所述的传输流解码与编码定时同步的装置,其特征在于,所述的重配控制模块包括:
初始计数值配置单元,用于在初始状态时,根据解码时钟和预先设定的预定时长为重配脉冲计数器配置初始计数值;
计数值重配单元,用于接收比较器的比较结果,并在所述比较结果不相等时,计算新的计数值配置到重配脉冲计数器中。
3、按照权利要求2所述的传输流解码与编码定时同步的装置,其特征在于,所述的比较器将所接收到中断个数和连续两个编码时钟参考的差值转换为相同的单位,并将转换后的值进行比较,获得解码时间和编码时间是否相等的比较结果,并将比较结果发送给重配控制模块。
4、按照权利要求2所述的传输流解码与编码定时同步的装置,其特征在于,所述的比较器包括:
解码时间计算单元,用于将统计的中断个数乘以所述预定时长来获取解码时间;
编码时间计算单元,用于将连续两个编码时钟参考的差值除以预先设定的编码时钟频率来获取编码时间;
时间比较单元,用于比较解码时间和编码时间是否相等,并将比较结果发送给重配控制模块。
5、按照权利要求1所述的传输流解码与编码定时同步的装置,其特征在于,还包括:
CPU,用于从所接收到的传输流中获取编码时钟参考的差值,并输出到所述比较器中;
并在每获得一个编码时钟参考时向所述计数器发出一个清零信号,所述计数器根据所述清零信号进行计数清零;
所述CPU还接收来自重配脉冲计数器的中断,并统计中断个数,将所统计的中断个数转换成解码时间,从而根据该解码时间进行解码控制。
6、按照权利要求5所述装置,其特征在于:还包括解码器、缓冲器和显示器,所述CPU内还设置有解码控制模块,用于统计重配脉冲计数器输出的中断个数,根据该中断个数所对应的解码时间,以及自传输流中获取的解码时间标签控制解码器进行解码,和/或根据该中断个数所对应的解码时间以及自传输流中获取的显示时间标签控制缓冲器输出解码后的数据至显示器显示。
7、一种传输流解码与编码定时同步的方法,其特征在于,包括以下步骤:
(1)采用重配控制模块在初始状态时根据解码时钟为重配脉冲计数器配置初始计数值;
(2)采用重配脉冲计数器对解码时钟输出的脉冲进行计数,每计数到配置的计数值时将输出一个中断;
(3)采用计数器统计所述重配脉冲计数器输出的中断个数;
(4)采用比较器根据连续两个编码时钟参考的差值和所述计数器统计的中断个数,比较解码时间与编码时间是否相等;
(5)重配控制模块接收比较器的比较结果,如果比较结果不相等,则重配重配脉冲计数器的计数值,使调整后的解码时间与编码时间相等。
8、按照权利要求7所述的传输流解码与编码定时同步的方法,其特征在于,所述步骤(1)具体为:
预先设置预定时长,将正常工作状态下的解码时钟频率与所述预定时长的商作为初始计数值,所述重配控制模块将该初始计数值配置到重配脉冲计数器中。
9、按照权利要求8所述的传输流解码与编码定时同步的方法,其特征在于:所述步骤(4)中,比较器将所接收到中断个数和连续两个编码时钟参考的差值转换为相同的单位,并将转换后的值进行比较,获得解码时间和编码时间是否相等的比较结果。
10、按照权利要求8所述的传输流解码与编码定时同步的方法,其特征在于,所述步骤(4)中,比较器将统计的中断个数与所述的预定时长的乘积作为解码时间;
将连续两个编码时钟参考的差值与预先设定的编码时钟频率的商作为编码时间,然后比较所述解码时间和编码时间是否相等。
11、按照权利要求9或10所述的传输流解码与编码定时同步的方法,其特征在于,步骤(5)中调整重配脉冲计数器的计数值的方法为:
通过公式 P = M N × Q 来获取新的计数值,将该新的计数值配置到重配计数器中;
其中,所述的P为获取的新的计数值,所述的M为统计的中断个数或其转换后的数值或根据所述中断个数计算得到的解码时间,所述的N为连续两个编码时钟参考的差值或其转换后的数值或根据所述连续两个编码时钟参考的差值计算得到的编码时间,所述的Q为重配脉冲计数器中的当前计数值,且所述M与N具有相同的单位。
12、按照权利要求7所述的传输流解码与编码定时同步的方法,其特征在于,所述调整重配脉冲计数器的计数值的方法为:根据网络延时的状况通过渐变或一步到位的方式对重配脉冲计数器的计数值进行调整。
13、按照权利要求7所述的传输流解码与编码定时同步的方法,其特征在于,所述步骤(2)后还包括:
(A)解码控制模块统计重配脉冲计数器输出的中断个数,根据该中断个数和解码时间标签控制解码器进行解码,和/或根据该中断个数和显示时间标签控制缓冲器进行显示。
CN2007100650048A 2007-03-30 2007-03-30 传输流解码与编码定时同步的装置及方法 Expired - Fee Related CN101051836B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007100650048A CN101051836B (zh) 2007-03-30 2007-03-30 传输流解码与编码定时同步的装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007100650048A CN101051836B (zh) 2007-03-30 2007-03-30 传输流解码与编码定时同步的装置及方法

Publications (2)

Publication Number Publication Date
CN101051836A true CN101051836A (zh) 2007-10-10
CN101051836B CN101051836B (zh) 2012-01-11

Family

ID=38783061

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007100650048A Expired - Fee Related CN101051836B (zh) 2007-03-30 2007-03-30 传输流解码与编码定时同步的装置及方法

Country Status (1)

Country Link
CN (1) CN101051836B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101540612B (zh) * 2008-03-19 2012-04-25 华为技术有限公司 编码、解码系统、方法及装置
CN103988452A (zh) * 2011-09-22 2014-08-13 航空网络公司 用于时钟信号同步的系统和方法
CN109104197A (zh) * 2018-11-12 2018-12-28 合肥工业大学 应用于卷积神经网络的非还原稀疏数据的编译码电路及其编译码方法
CN112235096A (zh) * 2020-09-08 2021-01-15 高新兴物联科技有限公司 一种数据通讯方法、数据接收方法、装置以及数据发送方法、装置
CN112468253A (zh) * 2019-08-19 2021-03-09 烟台持久钟表有限公司 一种irig-b码的解码方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3052824B2 (ja) * 1996-02-19 2000-06-19 日本電気株式会社 オーディオ再生時刻調整回路
US6266384B1 (en) * 1997-05-19 2001-07-24 Sarnoff Corporation Method and apparatus for time base recovery and processing
CN1521950A (zh) * 2003-01-27 2004-08-18 上海乐金广电电子有限公司 同步锁相环路抖动装置的相位误差补偿装置及使用方法
CN100407796C (zh) * 2005-03-17 2008-07-30 华为技术有限公司 一种节目参考时钟调整的方法及装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101540612B (zh) * 2008-03-19 2012-04-25 华为技术有限公司 编码、解码系统、方法及装置
CN103988452A (zh) * 2011-09-22 2014-08-13 航空网络公司 用于时钟信号同步的系统和方法
CN109104197A (zh) * 2018-11-12 2018-12-28 合肥工业大学 应用于卷积神经网络的非还原稀疏数据的编译码电路及其编译码方法
CN109104197B (zh) * 2018-11-12 2022-02-11 合肥工业大学 应用于卷积神经网络的非还原稀疏数据的编译码电路及其编译码方法
CN112468253A (zh) * 2019-08-19 2021-03-09 烟台持久钟表有限公司 一种irig-b码的解码方法
CN112468253B (zh) * 2019-08-19 2022-11-29 烟台持久钟表有限公司 一种irig-b码的解码方法
CN112235096A (zh) * 2020-09-08 2021-01-15 高新兴物联科技有限公司 一种数据通讯方法、数据接收方法、装置以及数据发送方法、装置
CN112235096B (zh) * 2020-09-08 2023-05-05 高新兴物联科技股份有限公司 一种数据通讯方法、数据接收方法、装置以及数据发送方法、装置

Also Published As

Publication number Publication date
CN101051836B (zh) 2012-01-11

Similar Documents

Publication Publication Date Title
CN1212737C (zh) 用于活动图像专家组(mpeg)传输流的程序时钟基准数据的再生
CN101051836A (zh) 传输流解码与编码定时同步的装置及方法
CN1315328C (zh) 在一统计式多工器中决定传输比特率的方法及装置
CN101167362B (zh) 用于将带离散时间标记的视频转换为模拟输出信号的时基重构
US8595543B2 (en) Method and circuit for trimming an internal oscillator of a USB device according to a counting number between a first and second clock count value
CN108243350B (zh) 一种音视频同步处理的方法和装置
CN1917651A (zh) 传递图像信号和分组音频和辅助数据的传输系统及其方法
CN102457728B (zh) 一种视频图像编码方法和装置
CN1655619A (zh) 执行代码转换前后保持定时参数的代码转换系统和方法
JP2006238424A5 (zh)
CN104506888A (zh) 时钟同步装置、方法和系统
CN1835597A (zh) 一种节目参考时钟调整的方法及装置
CN102547299A (zh) 基于mpeg-2视频流的音视频同步控制方法
CN101051837A (zh) Usb接口内建式振荡器的频率校正装置及其方法
CN100367313C (zh) 应用缓冲计算在数字化环境中确定音频和视频之间的声像吻合的系统和方法
CN102905128A (zh) 编解码处理器在无线视频传输过程中码率控制的方法
CN101076120B (zh) 维持音频/视频同步的健壮系统
CA2937293A1 (en) Transmission device, transmitting method, reception device, and receiving method
CN103828381A (zh) 用于音频/视频时钟恢复的自适应pid控制器
CN1286320C (zh) 用于传输视频信号的系统和方法
CN101783869A (zh) 采用fpga实现x光非标视频数码自适应转换方法
CN105704506A (zh) 一种解决视音频编码唇音同步的装置和方法
CN1102312C (zh) 通过封包数据流传输数据的方法及装置
US20100058096A1 (en) Signal processing apparatus and method thereof
CN104301653A (zh) 一种实现复合视频信号多采样率的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120111

Termination date: 20120330