CN101466045B - 自适应解码同步装置、同步方法及视频解码和显示*** - Google Patents
自适应解码同步装置、同步方法及视频解码和显示*** Download PDFInfo
- Publication number
- CN101466045B CN101466045B CN2007101726059A CN200710172605A CN101466045B CN 101466045 B CN101466045 B CN 101466045B CN 2007101726059 A CN2007101726059 A CN 2007101726059A CN 200710172605 A CN200710172605 A CN 200710172605A CN 101466045 B CN101466045 B CN 101466045B
- Authority
- CN
- China
- Prior art keywords
- decode rate
- pts
- video
- rate mode
- video decode
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
自适应解码同步装置、同步方法及视频解码和显示***。其中的自适应解码同步装置包括PTS同步单元,用以接收视频解码器解码出的PTS信息,并将PTS与***时钟相比较,输出一比较结果;显示缓冲单元,用以存储等待显示的图像数据的控制信息,并根据所述PTS同步单元的比较结果控制存放在其中的所述控制信息的输出;解码速率调整单元,用以根据显示缓冲单元的上溢状态或下溢状态来调整视频解码器的解码速度。视频解码和显示***除了自适应解码同步装置外还包括视频解码器,帧缓冲区以及后处理与显示单元。根据本发明的装置、方法和***可以通过自适应地调整解码速率来达成解码和显示的同步,并能同时实现解码帧率的转换和多技巧模式的显示。
Description
技术领域
本发明有关图像处理技术,尤其有关于视频解码和显示的同步装置与同步方法,以及视频解码和显示***。
背景技术
音视频编解码***由于存在存储和传输上的延时,因此需要利用同步***来达成音视频数据的同步播放。例如,对于传统的模拟电视来说,每一帧数据的端到端的传输延时是固定的,发送和接收是严格同步的。但对数字压缩***而言,每一帧图像所占的数据量是不同的,根据图像的编码方式和复杂度会有所变化,而一般无线广播的传输信道码率是固定的。因此,对于每一帧而言,传输延时是可变的,传输和显示之间无法自然地达成同步。音视频编解码技术标准MPEG系列标准中,数据被压缩后打包,以码流形式进行传送。MPEG-2标准在码流的头部信息中设置相关的时钟信息,例如在传输流TS的头部信息中加入节目时钟参考PCR、解码时间戳DTS和显示时间戳PTS等信息,通过这些时间信息来达成编、解码端的同步和音频、视频及播放的同步。
对于视频数据解码的同步,目前业界比较常用的方案是采用解码时间戳DTS同步方案。然而,在MPEG标准定义的视频码流中,通常包括三种不同的图像帧,即可作为其它图像预测用的参考帧I帧、单单进行前向预测的P帧和能够进行双向预测的B帧。显示时间戳PTS可对应显示的起始时间,而解码时间戳DTS可对应解码的起始时间。I帧、P帧和B帧通常都会在码流的头部(header)信息中携带显示时间戳PTS,而只是有时在码流的头部(header)信息中带有解码时间戳DTS。因此,采用解码时间戳DTS同步方案时,不携带解码时间戳DTS的部分帧就无法进行同步的时钟调整。当采用DTS同步时,如果发现***时钟落后于DTS,需要跳帧。I帧和P帧也称为关键帧(Anchor Frame),不能随便跳过,只有B帧可以跳过,否则将影响更多要用到I帧和P帧的其它帧,使画面抖动更厉害。
目前现有技术中也有一些利用显示时间戳PTS来进行同步的方案。例如,名称为“Method And Apparatus For Controlling Display Time Point OfMPEG Bit Stream Of Recording Medium”的第7,068,915号美国专利,公开了一种以显示时间戳PTS来进行同步的装置和方法。该装置包括计时器和PTS控制器。在正常解码模式下,计时器根据***时钟SCR设定初始值,在特殊解码模式下,PTS控制器可接收并存储预设图像的PTS,并将存储的PTS作为计时器的初始值。比较器将计时器输出的***时钟STC和预设图像的PTS进行比较。只有在计时器输出的***时钟STC和预设图像的PTS相同时,比较器才会输出一个显示命令信号。该专利通过在显示端采用PTS进行同步,使得视频图像的显示更加精确,更好地避免了显示端的抖动,更加符合视频同步的基本概念。同时也减少了DTS同步带来的不必要的跳帧,使跳帧和图像的重复更加平滑,并避免了解码器等待的浪费。
但是,该专利仅仅通过PTS来达成显示的同步,并未对解码的速度进行调整,因此,需要提供大量的缓冲空间来存放解码后的数据。并且,视频解码的速度对于每一帧数据来说,并非是完全均匀的,而视频解码器到显示端往往会有一定延迟,延迟也可能存在不均匀。
另一方面,随着数字音、视频编、解码技术的不断发展,相对地,对涉及音、视频解码的电子产品在性能和功能上也提出了更多的要求。例如,增加对于逐行输出设备的支持,增加对技巧模式(Trick Mode)的支持等。逐行输出设备的显示频率与解码器的解码速率常常并不相同,需要通过帧率转换,才能完成逐行输出设备与视频码流的协调一致。在技巧模式(TrickMode)下,视频被要求完成各种不同速率的快进、快退、慢放、逐帧、快速定位等播放模式,这也为视频码流的解码和播放的同步带来了难题。而为了使视频码流能够适应不同制式的电视播放***,例如NTSC制式和PAL制式之间的转换,视频解码***需要进行不同制式之间的帧率互相转换。采用解码时间戳DTS同步方案,仅仅是将视频码流的解码与编码端达成同步,而不能进行帧率的转换。第7,068,915号美国专利虽然采用PTS同步方案,但由于没有相应地对解码速度进行调整,因而也不能同时实现帧率的转换,以较低的成本提高涉及音、视频解码的电子产品的性能和功能。
发明内容
本发明的要解决的问题是提供一种自适应解码同步装置,能够通过自适应地调整解码速率来达成解码和显示的同步,并能同时实现解码帧率的转换和多技巧模式的显示。
本发明要解决的另一问题是提供一种自适应的解码同步方法。
本发明要解决的另一问题还在于提供一种自适应的视频解码和显示***。
根据本发明的一个方面,提供一种自适应解码同步装置,包括:
PTS同步单元,用以接收视频解码器解码出的PTS信息,并将PTS与***时钟相比较,输出一比较结果;
显示缓冲单元,用以存储等待显示的图像数据的控制信息,并根据所述PTS同步单元的比较结果控制存放在其中的所述控制信息的输出;
解码速率调整单元,用以根据显示缓冲单元的上溢状态或下溢状态来调整视频解码器的解码速度。
根据上述的同步装置,所述解码速率调整单元包括分别用以对显示缓冲单元的上溢状态和下溢状态进行计数的上溢计数器和下溢计数器。
根据上述的同步装置,所述解码速率调整单元还包括用以根据视频解码器的解码速率提供多种解码速率状态模式的自适应状态机。
根据本发明的另一方面,提供一种视频解码和显示***,包括视频解码器;
帧缓冲区,用以存放视频图像数据;
PTS同步单元,用以接收视频解码器解码出的PTS信息,并将PTS与***时钟相比较,输出一比较结果;
显示缓冲单元,用以存储等待显示的图像数据的控制信息,并根据所述PTS同步单元的比较结果控制存放在其中的所述控制信息的输出;
解码速率调整单元,用以根据显示缓冲单元的上溢状态或下溢状态来调整视频解码器的解码速度;以及
后处理与显示单元,用以对同步的图像数据进行进一步处理和显示。
根据上述的***,所述后处理与显示单元与所述PTS同步单元直接相连。
根据本发明的另一方面,提供一种自适应解码同步方法,包括以下步骤:
a.根据图像显示速度的需求加快或减慢对PTS的存取速度;
b.通过加快或减慢对PTS的存取速度影响显示缓冲单元中图像数据控制信息的存放量;
c.当图像数据控制信息的存放量达到显示缓冲单元的上溢状态时,发送上溢信号;当图像数据控制信息的存放量达到显示缓冲单元的下溢状态时,发送下溢信号;
d.当累计的下溢信号达到预设的阈值时,将当前的视频解码速率模式提高到较高的视频解码速率模式;
e.当累计的上溢信号达到预设的阈值时,将当前的视频解码速率模式降低到较低的视频解码速率模式。
根据上述的方法,当当前的视频解码速率模式为最高的视频解码速率模式或最低的视频解码速率模式时,向驱动的上层提供相应事件。
根据上述的方法,当前的视频解码速率模式为第一视频解码速率模式,当累计的下溢信号达到预设的第一阈值时,将当前的视频解码速率模式提高到第二视频解码速率模式;当出现上溢信号时,向驱动的上层提供相应事件。
根据上述的方法,当前的视频解码速率模式为第二视频解码速率模式,当累计的下溢信号达到预设的第三阈值时,将当前的视频解码速率模式提高到第三视频解码速率模式;当累计的上溢信号达到预设的第二阈值时,将当前的视频解码速率模式降低到第一视频解码模式。
根据上述的方法,当前的视频解码速率模式为第三视频解码速率模式,当累计的下溢信号达到预设的第五阈值时,将当前的视频解码速率模式提高到第四视频解码速率模式;当累计的上溢信号达到预设的第四阈值时,将当前的视频解码速率模式降低到第二视频解码模式。
根据上述的方法,当前的视频解码速率模式为第四视频解码速率模式,当累计的下溢信号达到预设的第七阈值时,向驱动的上层提供相应事件;当累计的上溢信号达到预设的第六阈值时,将当前的视频解码速率模式降低到第三视频解码模式。
根据上述的方法,步骤a中对图像显示速度的需求的判断由PTS与***时钟相比较获得,当PTS大于***时钟时减慢对PTS的存取速度;当PTS小于***时钟时加快对PTS的存取速度。
根据上述的方法,第一视频解码速率模式为正常解码模式,第二视频解码速率模式为跳过单帧解码模式,第三视频解码速率模式为关键帧解码模式。
根据上述的方法,第四视频解码速率模式为跳过帧序列解码模式。
本发明采用PTS进行视频同步,在视频显示端对码流的PTS进行比较,利用显示缓冲单元的空满来驱动解码速率的变化,使视频同步不必受DTS的控制。在视频解码端,提供一套统一的状态机实现速率调整。该状态机定义出视频解码器能够调整自身解码速率快慢的各种状态模式,并能够自适应的在各种状态模式之间迁移,从而自适应的调整解码的速率,用来跟随显示端PTS同步成功所要求的速率。同时,对于帧率转换,本发明完全通过利用显示缓冲单元的状态和自动状态机对解码速率的调整来联合完成。对于Trick Mode,本发明根据其相应的速率,调整同步时间轴增长/减少的速率,最终依然通过显示缓冲单元的状态和自动状态机对解码速率的调整来联合完成。本发明中视频同步***也可同时完成帧率转换和TrickMode,使得***功能增强,而不必增加额外的成本。
附图说明
以下附图为对本发明示例性实施例的辅助说明,结合以下附图对本发明实施例的阐述,是为进一步揭示本发明的特征所在,但并不限制本发明,图中相同符号代表实施例中相应元件或步骤,其中:
图1为根据本发明的一个自适应解码同步装置的结构框图。
图2为根据本发明一个实施例的解码速率调整单元的结构框图。
图3为根据本发明一个实施例的视频解码和显示***的结构框图。
图4为根据本发明一个实施例的自适应状态机的工作原理图。
图5为根据本发明的一个自适应解码同步方法的流程图。
图6为根据本发明另一个实施例的自适应解码同步方法的流程图。
图7为根据本发明的又一实施例的自适应解码同步方法的流程图。
图8为根据本发明的又一实施例的自适应解码同步方法的流程图。
具体实施方式
视频解码中视频的同步是一个关键的模块,本发明的一个实施例中,采用软、硬件相结合的方式对视频同步提出改进的方案。本发明的其他实施例中,也可以直接利用硬件电路来实现视频同步。在集成电路实现中,本发明的同步装置可以复用视频解码***自身已有的硬件资源,如视频解码器和帧缓冲器等。本发明利用码流中的显示时间戳(PTS)进行视频的同步。
参考图1,本发明提出的自适应解码同步装置至少包括显示缓冲单元11、PTS同步单元12和解码速率调整单元13。显示缓冲单元存储等待显示的图像数据的控制信息。这里的控制信息例如可以包括图像数据的幅型比、帧/场信息和后处理的缩放比例等信息。每一帧图像数据的控制信息与存放在帧缓冲器中的一帧图像相对应,由视频解码器从码流中解码得出。PTS同步单元接收解码出的PTS信息,并把PTS与***时钟(STC)相比较。显示缓冲单元根据PTS同步单元比较的结果,控制存放在其中的控制信息的输出。解码速率调整单元可根据显示缓冲单元的状态来调整视频解码器的解码速度。
PTS同步单元把PTS与***时钟进行比较时,当PTS大于***时钟时,表示PTS已过期,也就是说,解码速度快于显示速度。此时,显示缓冲单元中的相应的控制信息暂停输出。而解码器的解码还在进行中,仍将继续向显示缓冲单元输入图像数据的控制信息。当显示缓冲单元中存放的图像数据的控制信息超过显示缓冲单元的容量上限,则显示缓冲单元会发生上溢。当PTS小于***时钟时,表示解码速度已经慢于显示速度。此时,显示缓冲单元会加快输出图像数据的控制信息,而解码器向显示缓冲单元送入图像数据控制信息的速度仍保持不变,因此,显示缓冲单元中的图像数据控制信息的存放量会逐渐减少,直至显示缓冲单元中存放的图像数据的控制信息低于显示缓冲单元的容量下限,使显示缓冲单元发生下溢。在本发明的另一实施例中,显示缓冲单元存放图像数据及相对应的图像数据的控制信息。显示缓冲单元根据其中存放的图像数据及其相对应的控制信息来指示上溢或下溢状态。
显示缓冲单元的上溢和下溢状态可以按照实际应用的需求来定义。根据本发明的一个实施例,如果在显示缓冲单元为空的时候发生了一次合理的对显示缓冲单元取数据(Display FIFO Get)的操作,则产生一次显示缓冲单元下溢事件。所谓合理的对显示缓冲单元取数操作,是指前一次对显示缓冲单元取数据操作所得到的帧的PTS已经失效,必须再次取出新的PTS的帧来进行显示。显示缓冲单元可以设置帧数目产生上溢的阈值。当视频解码器通过对帧解码器进行管理,得到可以进行解码的允许时,尝试将要显示的帧的相关控制信息放入显示缓冲单元中,此时显示缓冲单元中的帧数目已经达到或者超过了一定的上溢阈值,则产生显示缓冲单元上溢事件。
在本发明的一个实施例中,当显示缓冲单元发生上溢时,送出一个上溢信号给解码速率调整单元;当显示缓冲单元发生下溢时,送出一个下溢信号给解码速率调整单元。
参见图2,根据本发明的一个实施例,解码速率调整单元13中可以包括上溢计数器131和下溢计数器132,分别对显示缓冲单元的上溢状态和下溢状态进行计数。例如,显示缓冲单元每次出现上溢状态时,上溢计数器自增1;每次出现下溢状态时,下溢计数器自增1。在解码器的解码速率发生变化后,上溢计数器和下溢计数器清零。
解码速率调整单元13中设有自适应状态机133,自适应状态机可以根据视频解码器的解码速率的不同,分成多种解码状态模式。例如,在本发明的一个实施例中,视频解码器可以被调整在四种不同的解码速率下解码,相应地,自适应状态机也设置成四种解码速率状态。自适应状态机可以根据检测到的显示缓冲单元的状态,在这四种不同的解码速率状态之间自适应地进行跃迁。可以理解的是,在本发明的其他实施例中,视频解码器可以被调整为其它数量的不同的解码速率,而自适应状态机也可以相应设置成其它数量的解码速率状态。
如图4所示,在本发明的一个实施例中,解码速率调整单元13的自适应状态机133具有如下四种解码速率状态,视频解码的速度则可以自适应地根据状态机的状态模式设定的解码速率状态进行调整。
第一种解码速率状态为正常解码模式(Normal Decode Mode)41。在正常解码模式下,视频解码器根据自身解码的最大能力将视频码流的每一帧都分别解出。此时,当显示缓冲单元给出下溢信号时,仅仅利用下溢计数器对下溢信号进行累计,当累计的下溢次数大于设定的第一阈值T1时,向更高速率状态跃迁,例如调整为跳过单帧解码模式;当显示缓冲单元给出上溢信号时,解码速率调整单元向驱动的上层提供相应事件。当向驱动的上层提供相应事件时,表明视频解码器的解码速率的调整已经不能满足PTS同步要求的极限,此时,例如利用上层软件对视频解码器进行处理,暂时阻碍视频解码器进行解码。
第二种解码速率状态为跳过单帧解码模式(Single Skip Mode)42。在跳过单帧解码模式下,视频解码器依然尝试将视频码流的每一帧都分别解出。与正常解码模式不同的是,当显示缓冲单元给出下溢信号时,在下溢计数器对下溢信号进行累计的同时,使视频解码器尝试跳过一帧。较好的实施方式中,寻找B帧进行跳过)。当累计的下溢次数大于设定的第三阈值T3时,向更高速率状态跃迁,例如关键帧解码模式;当显示缓冲单元给出上溢信号时,上溢计数器对上溢信号进行累计。当累计的上溢次数大于设定的第二阈值T2时,向更低速率状态跃迁,例如正常解码模式。
第三种解码速率状态为关键帧解码模式(Anchor Decode Mode)43。在关键帧解码模式下,视频解码器仅仅解码视频码流中的关键帧(AnchorFrame),即I帧和P帧,而将码流中的B帧(B Frame)全部过滤掉。当显示缓冲单元给出下溢信号时,仅仅由下溢计数器对下溢信号进行累计。当累计的下溢次数大于设定的第五阈值T5时,向更高速率状态跃迁,例如跳过帧序列解码模式。当显示缓冲单元给出上溢信号时,上溢计数器对上溢信号进行累计。当累计的上溢次数大于设定的第四阈值T4时,向更低速率状态跃迁,例如跳过单帧解码模式。
第四种解码速率状态为跳过帧序列解码模式(Sequence Skip Mode)44。在跳过帧序列解码模式下,视频解码器尝试寻找每一个帧序列(Sequence)的头部,并将该帧序列的第一帧(通常为I帧)解码,然后再寻找下一个帧序列的头部。当显示缓冲单元给出下溢信号时,在下溢计数器对下溢信号进行累计的同时,尝试跳过一个帧序列,并直接搜寻下一个帧序列的头部。当累计的下溢次数大于设定的第七阈值T7时,向驱动的上层提供异常事件,表明视频解码器本身的加速解码的能力已经超过了PTS同步要求的极限,这时需要***其他模块的配合才能完成PTS同步的要求。例如,解复用单元根据随机访问信息(Random Access Info)来寻找头部等。当显示缓冲单元给出上溢信号时,上溢计数器对上溢信号进行累计,当累计的上溢次数大于设定的第六阈值T6时,向更低速率状态跃迁,例如关键帧解码模式。
前述四种解码速率状态中提到的第一阈值T1、第二阈值T2、第三阈值T3、第四阈值T4、第五阈值T5、第六阈值T6和第七阈值T7等均可按照实际应用进行调整。
采用DTS同步时,关键帧(Anchor Frame)I帧和P帧不能跳过,而只能跳过B帧,否则会影响到要使用I帧和P帧的其它帧。而本发明采用了PTS同步,根据显示端的同步速率要求,当显示缓冲单元反映出解码速率小于显示速率,且速率相差较大时,状态机会调整到跳过帧序列解码模式,允许跳过部分关键帧,使解码速率大幅提高,有利于更加平滑地跳帧和帧的重复。
参见图3,根据本发明的一个实施例,视频解码和显示同步***包括视频解码器31、可对视频解码器的解码速率进行调整的解码速率调整单元、存放视频图像数据的帧缓冲器(未图示)、存放图像数据控制信息的显示缓冲单元34、根据PTS进行同步的PTS同步单元35以及后处理与显示单元36。视频解码器用来对接收到的视频码流进行解码。视频解码器解码获得的图像数据送入帧缓冲器暂存,解码获得的图像数据控制信息送入显示缓冲单元暂存。显示缓冲单元中的图像数据控制信息和存放在帧缓冲器中的图像数据相对应。后处理与显示单元用来对图像数据进行进一步的处理,并显示图像。本发明中,后处理与显示单元直接与PTS同步单元相连,直接在显示端利用PTS进行同步,由于显示端直接面对用户,使得视频的显示更加精确,也更加符合视频同步的概念。
视频解码器解码出的PTS信息送入PTS同步单元。PTS同步单元对PTS与***时钟(STC)进行比较。显示缓冲单元根据PTS同步单元比较的结果,控制存放在其中的控制信息的输出。解码速率调整单元可根据显示缓冲单元的状态来调整视频解码器的解码速度。PTS同步单元、显示缓冲单元和解码速率调整单元的工作原理可参见前述对自适应解码同步装置的描述。
本发明的视频解码和显示同步***在视频解码器端提供了一套统一的状态机来实现视频解码的同步。该状态机定义出用来调整视频解码器自身解码速率快慢的各种状态模式,并能够自适应的在各种状态模式之间迁移,从而自适应的调整解码的速率,因而可以跟随显示端PTS同步成功所要求的速率。在此,解码器不必等待DTS的同步结果来判断是否需要跳帧,而只需由自适应状态机根据显示缓冲单元反馈的信号自适应地调整解码器的解码速率,从而可以充分利用解码器的高速性能,提高解码器的效率。同时,由于状态机可为解码器设置不同的解码速率,解码器的跳帧频率也可以相应地调整,从而避免不必要的跳帧。
由于逐行输出设备与视频码流并不相同,当视频解码与显示***增加对逐行输出设备的支持时,相应地,逐行输出设备与视频码流本身的帧率需要进行转换。为适应不同制式的电视广播***,例如NTSC和PAL制式,视频解码与显示***也需要完成不同制式之间的帧率转换。根据本发明的一个实施例,视频解码与显示***在进行帧率转换时,例如从30帧/秒转换到60帧/秒,每帧停留时间从30分之一秒减少到60分之一秒,需要将视频解码器的解码速率加快一倍。此时,不必针对视频解码器设置专门的帧率转换模块,而是利用自适应解码同步装置的PTS同步单元、显示缓冲单元和解码速率调整单元来联合完成。PTS同步单元根据显示的需要判断当前帧的PTS是否过期,当过期时,直接丢弃当前帧的PTS,而取用下一帧的PTS。这样,对显示缓冲单元的消费速度加快了,而视频解码器此时仍以原有速率进行解码并提供给显示缓冲单元。由于显示缓冲单元生产与消费的速度不平衡,显示缓冲单元存放的图像数据控制信息越来越少,直至产生下溢。显示缓冲单元在下溢状态出现时,发送下溢状态信号给解码速率调整单元。假设当前的解码速率在正常解码模式,则当累计的显示缓冲单元的下溢次数大于设定的第一阈值T1时,解码速率调整单元将自动地对视频解码器的解码速率进行调整,使解码速率向更高速率状态跃迁,例如调整为跳过单帧解码模式。当视频解码器在跳过单帧解码模式下能使显示缓冲单元的生产和消费达到平衡,则视频解码器的解码速率将维持在跳过单帧解码模式。如果显示缓冲单元存放的控制信息仍是消费大于生产,在累计的显示缓冲单元的下溢次数大于设定的第二阈值T2时,解码速率调整单元将自动地对视频解码器的解码速率进行调整,使解码速率进一步地向更高速率状态跃迁,例如调整为关键帧解码模式。如果在跳过单帧解码模式下,显示缓冲单元存放的控制信息出现消费小于生产的情况,在累计的显示缓冲单元的上溢次数大于设定的第四阈值T4时,解码速率调整单元将自动地对视频解码器的解码速率进行调整,使解码速率向更低速率状态跃迁,例如重新回到正常解码模式。并可能持续地在这两种解码模式之间反复调整,以自适应地使显示缓冲单元的生产和消费达到平衡。当然,也可以适当地设置第一阈值T1和/或第四阈值T4,使解码速率调整单元的自适应状态机维持在一个与显示缓冲单元的平衡需求较为接近的解码速率状态,因而使视频解码器维持在一个较为接近的解码速率上。
根据本发明的一个实施例,在使用多技巧模式(Trick Mode)时,例如视频的不同速率的快进,快退,慢放,逐帧,快速定位等需求,同样可以调整同步时间轴增长/减少的速率,最终依然通过自适应解码同步装置的PTS同步单元、显示缓冲单元和解码速率调整单元的协同工作来联合完成。例如从正常显示到2倍快进,PTS同步单元根据显示的需要判断当前帧的PTS是否过期,当过期时,直接丢弃当前帧的PTS,而取用下一帧的PTS。这样,对显示缓冲单元的消费速度加快了,而视频解码器此时仍以原有速率进行解码并提供给显示缓冲单元。由于显示缓冲单元生产与消费的速度不平衡,显示缓冲单元存放的图像数据控制信息越来越少,直至产生下溢。显示缓冲单元在下溢状态出现时,发送下溢状态信号给解码速率调整单元。假设当前的解码速率在正常解码模式,则当累计的显示缓冲单元的下溢次数大于设定的第一阈值T1时,解码速率调整单元将自动地对视频解码器的解码速率进行调整,使解码速率向更高速率状态跃迁,例如调整为跳过单帧解码模式。在2倍快进回到正常显示时,PTS同步单元将减慢从显示缓冲单元取数据的速度,而此时视频解码器的解码速率仍保持在原有水平,即跳过单帧解码模式。因此,显示缓冲单元存放的图像数据控制信息越来越多,直至产生上溢。显示缓冲单元在上溢状态出现时,发送上溢状态信号给解码速率调整单元。此时解码速率在跳过单帧解码模式,当累计的显示缓冲单元的上溢次数大于设定的第四阈值T4时,解码速率调整单元将自动地对视频解码器的解码速率进行调整,使解码速率向更低速率状态跃迁,回到正常解码模式。
根据本发明的一个实施例,当***需要完成正常解码显示、帧率转换以及多技巧模式(Trick Mode)等不同应用时,可将此时视频解码器的初始解码状态模式设置在不同的解码速率模式上,以便使视频解码器工作的速率能够快速地匹配实际应用的需要。例如,可以把2倍快进(×2 Forward)设定为跳过单帧解码模式,4倍快进(×4 Forward)设定为关键帧解码模式,16倍快进(×16 Forward)设定为跳过单帧序列解码模式等。
本发明并相应地提供一种视频解码同步方法,参见图5,为根据本发明的一个自适应解码同步方法的流程图,该方法包括如下步骤:
步骤S51,根据图像显示速度的需求加快或减慢对PTS的存取速度。步骤S52,通过加快或减慢对PTS的存取速度影响显示缓冲单元中图像数据控制信息的存放量。步骤S53,判断图像数据控制信息的存放量是否达到显示缓冲单元的上溢状态。如是,流程进入步骤S54,发送上溢信号。接着,流程在步骤S55进一步判断累计的上溢信号是否达到预设的阈值。如是,流程在步骤S56将当前的视频解码速率模式降低到较低的视频解码速率模式。如流程在步骤S53判断图像数据控制信息的存放量没有达到显示缓冲单元的上溢状态,则流程在步骤57进一步判断图像数据控制信息的存放量是否达到显示缓冲单元的下溢状态。如否,流程返回步骤S53。如是,流程进入步骤S58,发送下溢信号。接着,流程在步骤S59进一步判断累计的下溢信号是否达到预设的阈值。如是,流程进入步骤S50,将当前的视频解码速率模式提高到较高的视频解码速率模式。
图6为根据本发明的另一个自适应解码同步方法的流程图,也是图5所示方法的一个特例。参见图6,步骤S61,根据显示速度的需求加快或减慢对PTS的存取速度;步骤S62,PTS的存取速度的加快或减慢影响显示缓冲单元中图像数据控制信息的存放量;步骤S63,当图像数据控制信息的存放量达到显示缓冲单元的上溢状态时,发送上溢信号;当图像数据控制信息的存放量达到显示缓冲单元的下溢状态时,发送下溢信号;步骤S64,在第一解码速率模式下,当累计的下溢信号达到预设的第一阈值,视频解码速率加快到第二解码速率模式(即,提高到较高的视频解码速率模式,下同);当出现上溢信号时,向驱动的上层提供相应事件。在第一解码速率模式下,当向驱动的上层提供相应事件时,表明视频解码器的解码速率的调整已经不能满足PTS同步要求的极限,此时,例如利用上层软件对视频解码器进行处理,暂时阻碍视频解码器进行解码。步骤S65,在第二解码速率模式下,当累计的下溢信号达到预设的第三阈值,视频解码速率加快到第三解码速率;当累计的上溢信号达到预设的第二阈值,视频解码速率减慢到第一解码速率模式(即,降低到较低的视频解码速率模式,下同)。步骤S66,在第三解码速率模式下,当累计的下溢信号达到预设的第五阈值,视频解码速率加快到第四解码速率;当累计的上溢信号达到预设的第四阈值,视频解码速率减慢到第二解码速率模式。步骤S67,在第四解码速率模式下,当下溢信号达到预设的第七阈值,向驱动的上层提供相应事件;当累计的上溢信号达到预设的第六阈值,视频解码速率减慢到第三解码速率模式。当向驱动的上层提供相应事件时,表明视频解码器的解码速率的调整已经不能满足PTS同步要求的极限,这时需要***其他模块的配合才能完成PTS同步的要求,例如视频解码器根据码流中的Random Access Info来寻找头部信息等。
其中显示速度的需求的判断由PTS与***时钟(STC)相比较获得,当PTS大于***时钟时,需减慢对PTS的存取速度;当PTS小于***时钟时,PTS过期,加快对PTS的存取速度。
图7为根据本发明的另一个自适应解码同步方法的流程图,也是图5所示方法的一个特例。参见图7,步骤S71,根据显示速度的需求加快或减慢对PTS的存取速度;步骤S72,PTS的存取速度的加快或减慢影响显示缓冲单元中图像数据控制信息的存放量;步骤S73,当图像数据控制信息的存放量达到显示缓冲单元的上溢状态时,发送上溢信号;当图像数据控制信息的存放量达到显示缓冲单元的下溢状态时,发送下溢信号;步骤S74,在第二解码速率模式下,当累计的下溢信号达到预设的第三阈值,视频解码速率加快到第三解码速率;当累计的上溢信号达到预设的第二阈值,视频解码速率减慢到第一解码速率模式。
图8为根据本发明的另一个自适应解码同步方法的流程图,也是图5所示方法的一个特例。参见图8,步骤S81,根据显示速度的需求加快或减慢对PTS的存取速度;步骤S82,PTS的存取速度的加快或减慢影响显示缓冲单元中图像数据控制信息的存放量;步骤S83,当图像数据控制信息的存放量达到显示缓冲单元的上溢状态时,发送上溢信号;当图像数据控制信息的存放量达到显示缓冲单元的下溢状态时,发送下溢信号;步骤S84,在第四解码速率模式下,当下溢信号达到预设的第七阈值,向驱动的上层提供相应事件;当累计的上溢信号达到预设的第六阈值,视频解码速率减慢到第三解码速率模式。当向驱动的上层提供相应事件时,表明视频解码器的解码速率的的调整已经不能满足PTS同步要求的极限,这时需要***其他模块的配合才能完成PTS同步的要求,例如视频解码器根据码流中的Random Access Info来寻找头部信息等。
本发明并不限于实施例所做的阐述,任何基于本发明的修改和本发明的等同物都应涵盖在本发明的权利要求的精神和范围之内。
Claims (12)
1.一种自适应解码同步装置,包括:
PTS同步单元,用以接收视频解码器解码出的PTS信息,并将PTS与***时钟相比较,输出一比较结果;
显示缓冲单元,用以存储等待显示的图像数据的控制信息,并根据所述PTS同步单元的比较结果控制存放在其中的所述控制信息的输出;
解码速率调整单元,用以根据显示缓冲单元的上溢状态或下溢状态来调整视频解码器的解码速率,它包括分别用以对显示缓冲单元的上溢状态和下溢状态进行计数的上溢计数器和下溢计数器,以及用以根据视频解码器的解码速率提供多种解码速率状态模式的自适应状态机。
2.一种视频解码和显示***,包括
视频解码器;
帧缓冲区,用以存放视频图像数据;
PTS同步单元,用以接收视频解码器解码出的PTS信息,并将PTS与***时钟相比较,输出一比较结果;
显示缓冲单元,用以存储等待显示的图像数据的控制信息,并根据所述PTS同步单元的比较结果控制存放在其中的所述控制信息的输出;
解码速率调整单元,用以根据显示缓冲单元的上溢状态或下溢状态来调整视频解码器的解码速率,它包括分别用以对显示缓冲单元的上溢状态和下溢状态进行计数的上溢计数器和下溢计数器,以及用以根据视频解码器的解码速率提供多种解码速率状态模式的自适应状态机;以及
后处理与显示单元,用以对同步的图像数据进行进一步处理和显示。
3.如权利要求2所述的***,其特征在于所述后处理与显示单元与所述PTS同步单元直接相连。
4.一种自适应解码同步方法,包括以下步骤:
a.根据图像显示速度的需求加快或减慢对PTS的存取速度;
b.通过加快或减慢对PTS的存取速度影响显示缓冲单元中图像数据控制信息的存放量;
c.当图像数据控制信息的存放量达到显示缓冲单元的上溢状态时,发送上溢信号;当图像数据控制信息的存放量达到显示缓冲单元的下溢状态时,发送下溢信号;
d.当累计的下溢信号达到预设的阈值时,将当前的视频解码速率模式提高到较高的视频解码速率模式;
e.当累计的上溢信号达到预设的阈值时,将当前的视频解码速率模式降低到较低的视频解码速率模式;
f.根据视频解码速率由自适应状态机提供多种解码速率状态模式。
5.如权利要求4所述的方法,其特征在于,当当前的视频解码速率模式为最高的视频解码速率模式或最低的视频解码速率模式时,向驱动的上层提供相应事件。
6.如权利要求4所述的方法,其特征在于,当前的视频解码速率模式为第一视频解码速率模式,当累计的下溢信号达到预设的第一阈值时,将当前的视频解码速率模式提高到第二视频解码速率模式;当出现上溢信号时,向驱动的上层提供相应事件。
7.如权利要求4或6所述的方法,其特征在于,当前的视频解码速率模式为第二视频解码速率模式,当累计的下溢信号达到预设的第三阈值时,将当前的视频解码速率模式提高到第三视频解码速率模式;当累计的上溢信号达到预设的第二阈值时,将当前的视频解码速率模式降低到第一视频解码模式。
8.如权利要求7所述的方法,其特征在于,当前的视频解码速率模式为第三视频解码速率模式,当累计的下溢信号达到预设的第五阈值时,将当前的视频解码速率模式提高到第四视频解码速率模式;当累计的上溢信号达到预设的第四阈值时,将当前的视频解码速率模式降低到第二视频解码模式。
9.如权利要求4或8所述的方法,其特征在于,当前的视频解码速率模式为第四视频解码速率模式,当累计的下溢信号达到预设的第七阈值时,向驱动的上层提供相应事件;当累计的上溢信号达到预设的第六阈值时,将当前的视频解码速率模式降低到第三视频解码模式。
10.如权利要求4所述的方法,其特征在于,步骤a中对图像显示速度的需求的判断由PTS与***时钟相比较获得,当PTS大于***时钟时减慢对PTS的存取速度;当PTS小于***时钟时加快对PTS的存取速度。
11.如权利要求8所述的方法,其特征在于第一视频解码速率模式为正常解码模式,第二视频解码速率模式为跳过单帧解码模式,第三视频解码速率模式为关键帧解码模式。
12.如权利要求9所述的方法,其特征在于第四视频解码速率模式为跳过帧序列解码模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101726059A CN101466045B (zh) | 2007-12-20 | 2007-12-20 | 自适应解码同步装置、同步方法及视频解码和显示*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101726059A CN101466045B (zh) | 2007-12-20 | 2007-12-20 | 自适应解码同步装置、同步方法及视频解码和显示*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101466045A CN101466045A (zh) | 2009-06-24 |
CN101466045B true CN101466045B (zh) | 2011-03-16 |
Family
ID=40806356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101726059A Expired - Fee Related CN101466045B (zh) | 2007-12-20 | 2007-12-20 | 自适应解码同步装置、同步方法及视频解码和显示*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101466045B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106028066A (zh) * | 2015-03-24 | 2016-10-12 | 英特尔公司 | 分布式媒体流同步控制 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101951517B (zh) * | 2010-09-27 | 2014-02-26 | 深圳市融创天下科技股份有限公司 | 一种视频解码和播放的方法、***、终端设备 |
CN102547449A (zh) * | 2011-12-22 | 2012-07-04 | 华为技术有限公司 | 一种控制终端缓冲媒体流数据的方法、机顶盒及媒体服务器 |
CN102737681B (zh) * | 2012-05-02 | 2015-02-04 | 中国联合网络通信集团有限公司 | 流媒体播放器的性能测试方法及装置 |
CN102752571A (zh) * | 2012-05-30 | 2012-10-24 | 曙光信息产业股份有限公司 | 一种高清晰视频装置及其实现方法 |
CN102932640B (zh) * | 2012-11-08 | 2014-12-10 | 天津市亚安科技股份有限公司 | 一种视频流帧率的控制方法 |
CN103686311B (zh) * | 2013-11-22 | 2017-02-15 | 乐视致新电子科技(天津)有限公司 | 一种音视频播放方法和装置 |
CN104822008B (zh) * | 2014-04-25 | 2019-01-08 | 腾讯科技(北京)有限公司 | 视频同步方法及装置 |
CN105704506A (zh) * | 2016-01-19 | 2016-06-22 | 北京流金岁月文化传播股份有限公司 | 一种解决视音频编码唇音同步的装置和方法 |
CN106792154B (zh) * | 2016-12-02 | 2020-02-11 | 广东赛特斯信息科技有限公司 | 视频播放器的跳帧同步***及其控制方法 |
CN109194985B (zh) * | 2018-11-19 | 2021-03-26 | 上海高骏精视信息技术有限公司 | 一种音视频以太网传输方法及其*** |
CN112073751B (zh) * | 2020-09-21 | 2023-03-28 | 苏州科达科技股份有限公司 | 视频播放方法、装置、设备及可读存储介质 |
CN113301332B (zh) * | 2021-04-12 | 2024-06-21 | 阿里巴巴创新公司 | 视频解码方法、***和介质 |
WO2023060540A1 (zh) * | 2021-10-15 | 2023-04-20 | 深圳Tcl新技术有限公司 | 一种数据处理方法、装置、计算机设备及存储介质 |
CN114339406B (zh) * | 2022-01-27 | 2023-01-24 | 重庆紫光华山智安科技有限公司 | 送解码速度调整方法、***、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5812201A (en) * | 1995-04-11 | 1998-09-22 | Lg Semicon Co., Ltd. | Data synchronizing apparatus and method thereof |
CN1436001A (zh) * | 2002-01-28 | 2003-08-13 | 北京华诺信息技术有限公司 | 解码***中实现视频与音频同步的方法 |
CN1491516A (zh) * | 2001-10-18 | 2004-04-21 | ���µ�����ҵ��ʽ���� | 声像再现装置、声像再现方法、程序和媒体 |
-
2007
- 2007-12-20 CN CN2007101726059A patent/CN101466045B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5812201A (en) * | 1995-04-11 | 1998-09-22 | Lg Semicon Co., Ltd. | Data synchronizing apparatus and method thereof |
CN1491516A (zh) * | 2001-10-18 | 2004-04-21 | ���µ�����ҵ��ʽ���� | 声像再现装置、声像再现方法、程序和媒体 |
CN1436001A (zh) * | 2002-01-28 | 2003-08-13 | 北京华诺信息技术有限公司 | 解码***中实现视频与音频同步的方法 |
Non-Patent Citations (1)
Title |
---|
JP特开平8-307862A 1996.11.22 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106028066A (zh) * | 2015-03-24 | 2016-10-12 | 英特尔公司 | 分布式媒体流同步控制 |
Also Published As
Publication number | Publication date |
---|---|
CN101466045A (zh) | 2009-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101466045B (zh) | 自适应解码同步装置、同步方法及视频解码和显示*** | |
US5235618A (en) | Video signal coding apparatus, coding method used in the video signal coding apparatus and video signal coding transmission system having the video signal coding apparatus | |
CN101010959B (zh) | 传送数据流的方法和*** | |
JP3836143B2 (ja) | 複数のディジタルビデオビットストリームを復号化する方法及び装置及びこのような装置を含む受信装置 | |
CN1941913B (zh) | 用于跳跃图像的方法和设备 | |
EP1011270A2 (en) | MPEG video decoder | |
CN105933800A (zh) | 一种视频播放方法及其控制终端 | |
CN1758722B (zh) | 一种切换频道的方法及用于显示图像的解码*** | |
US5793436A (en) | Buffer occupancy control method for use in video buffering verifier | |
US7460599B2 (en) | Video decoding device and method, and program product therefor | |
WO1999066734A1 (en) | Video encoder and encoding method with buffer control | |
WO2006075844A1 (en) | Reference frame ordering for multi-view coding | |
US20040264577A1 (en) | Apparatus and method for controlling the synchronization of a video transport stream | |
EP1312206A1 (en) | Method of playing multimedia applications | |
CN103458271A (zh) | 音视频文件拼接方法和装置 | |
JP2001519992A (ja) | 符号化ビデオシーケンスの切り替え方法及びこれに対応する装置 | |
JPH04504040A (ja) | 高精細度テレビ符号器/復号器 | |
CN101316369B (zh) | 图像处理装置和方法 | |
CN103828381A (zh) | 用于音频/视频时钟恢复的自适应pid控制器 | |
KR19990068138A (ko) | 디지털 신호 다중화 방법 및 장치, 디지털 신호 송신방법 및 장치, 디지털 신호 기록방법 및 장치, 및 기록매체 | |
US10694240B2 (en) | Method for decoding an audio/video stream and corresponding device | |
KR20040065170A (ko) | 화상 정보 복호 장치 및 방법 | |
US6980694B2 (en) | Picture decoding apparatus, picture decoding method and recording medium for storing the picture decoding method | |
EP0735782A2 (en) | Motion picture play apparatus capable of returning from trick play to normal play | |
KR100279582B1 (ko) | 디지탈 영상압축신호의 편집장치 |
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: 20110316 Termination date: 20131220 |