一种控制播放帧率同步的方法及系统转让专利

申请号 : CN200710118838.0

文献号 : CN101072339B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张浩

申请人 : 北京中星微电子有限公司

摘要 :

本发明公开了一种控制播放帧率同步的系统,用以解决现有技术中由于播放系统存在帧存储单元而导致系统成本高的问题。其包括视频流单元,用于缓存接收到的视频数据流帧;视频解码单元,用于根据系统刷新帧率,对所述视频流单元缓存的视频数据流帧进行重复解码,或对缓存的视频数据流帧中的部分帧进行解码并将多余帧丢弃不做解码;行缓存单元,用于将所述视频解码单元解码后的块状数据转换成行数据进行缓存;刷新单元,用于基于系统刷新帧率对所述行缓存单元中已转换的行数据进行刷新;显示单元,用于对所述刷新单元刷新完的数据进行解析显示。本发明可以省去播放系统中的帧存储单元,从而降低了系统成本。

权利要求 :

1.一种控制播放帧率同步的系统,其特征在于,包括:视频流单元,用于缓存接收到的视频数据流帧;

视频解码单元,用于当系统刷新帧率高于视频数据流帧率时,对所述视频流单元缓存的视频数据流帧进行重复解码,并且当所述系统刷新帧率低于所述视频数据流帧率时,对缓存的视频数据流帧中的部分帧进行解码并将多余帧丢弃不做解码;

行缓存单元,用于将所述视频解码单元解码后的块状数据转换成行数据进行缓存;

刷新单元,用于基于系统刷新帧率对所述行缓存单元中已转换的行数据进行刷新;

显示单元,用于对所述刷新单元刷新完的数据进行解析显示。

2.如权利要求1所述的系统,其特征在于,所述视频解码单元包括:数据流存储子单元,用于缓存所述视频流单元发来的缓存的视频数据流;

刷新帧率存储子单元,用于存储系统刷新帧率;

数据流帧率获取子单元,用于获取视频数据流帧率;

帧率比较子单元,用于比较刷新帧率存储子单元存储的系统刷新帧率和数据流帧率获取子单元获取的视频数据流帧率之间的关系;

解码子单元,用于在帧率比较子单元的帧率比较结果为系统刷新帧率大于视频数据流帧率时,对数据流存储子单元中缓存的视频数据流帧进行重复解码,以及在帧率比较结果为系统刷新帧率小于视频数据流帧率时,对数据流存储子单元中缓存的视频数据流中的部分帧进行解码并将多余帧丢弃不做解码。

3.如权利要求2所述的系统,其特征在于,所述数据流帧率获取子单元通过识别包含在视频数据流中的帧率标识来获取视频数据流帧率。

4.如权利要求2所述的系统,其特征在于,所述解码子单元在重复解码时,在每秒内重复解码的个数为系统刷新帧率与视频数据流帧率之差;并在丢帧解码时,在每秒内丢弃帧的个数为视频数据流帧率与系统刷新帧率之差。

5.一种控制播放帧率同步的方法,其特征在于,包括如下步骤:A、缓存接收到的视频数据流帧;

B、当系统刷新帧率高于视频数据流帧率时,对缓存的所述视频数据流帧进行重复解码,并且当所述系统刷新帧率低于所述视频数据流帧率时,对缓存的所述视频数据流帧中的部分帧进行解码并将多余帧丢弃不做解码;

C、将所述解码后的块状数据转换成行数据进行缓存;

D、基于系统刷新帧率对所述缓存的行数据进行刷新;

E、对所述刷新后的行数据进行解析显示。

6.如权利要求5所述的方法,其特征在于,所述步骤B包括如下步骤:B1、获取视频数据流帧率;

B2、比较获取的视频数据流帧率与预先存储的系统刷新帧率之间的关系;

B3、在所述比较结果为视频数据流帧率小于系统刷新帧率时,对缓存的视频数据流帧进行重复解码;在所述比较结果为视频数据流帧率大于系统刷新帧率时,对缓存的视频数据流帧中的部分帧进行解码并将多余帧丢弃不做解码。

7.如权利要求6所述的方法,其特征在于,所述步骤B1中通过识别包含在视频数据流中的帧率标识来获取视频数据流帧率。

8.如权利要求6所述的系统,其特征在于,所述步骤B3中在重复解码时,在每秒重复解码的个数为系统刷新帧率与视频数据流帧率之差;并在丢帧解码时,在每秒内丢弃帧的个数为视频数据流帧率与系统刷新帧率之差。

9.一种视频解码器,其特征在于,包括:

数据流存储子单元,用于缓存视频数据流帧;

刷新帧率存储子单元,用于存储系统刷新帧率;

数据流帧率获取子单元,用于获取视频数据流帧率;

帧率比较子单元,用于比较刷新帧率存储子单元存储的系统刷新帧率和数据流帧率获取子单元获取的视频数据流帧率之间的关系;

解码子单元,用于在帧率比较子单元的比较结果为系统刷新帧率大于视频数据流帧率时,对所述数据流存储子单元中缓存的视频数据流帧进行重复解码,以及在比较结果为系统刷新帧率小于视频数据流帧率时,对所述数据流存储子单元中缓存的视频数据流中的部分帧进行解码并将多余帧丢弃不做解码。

10.如权利要求9所述的视频解码器,其特征在于,所述数据流帧率获取子单元通过识别包含在视频数据流中的帧率标识来获取视频数据流帧率。

11.如权利要求9所述的视频解码器,其特征在于,所述解码子单元在重复解码时,在每秒内重复解码的个数为系统刷新帧率与视频数据流帧率之差;并在丢帧解码时,在每秒内丢弃帧的个数为视频数据流帧率与系统刷新帧率之差。

12.一种视频解码方法,其特征在于,包括步骤:

S1、对接收到的视频数据流进行缓存;

S2、获取接收到的视频数据流帧率;

S3、比较获取的视频数据流帧率与预先存储的系统刷新帧率之间的关系;

S4、在所述比较结果为视频数据流帧率小于系统刷新帧率时,对缓存的视频数据流帧进行重复解码;在所述比较结果为视频数据流帧率大于系统刷新帧率时,对缓存的视频数据流帧中的部分帧进行解码并将多余帧丢弃不做解码。

13.如权利要求12所述的方法,其特征在于,所述步骤S2中通过识别包含在视频数据流中的帧率标识来获取视频数据流帧率。

14.如权利要求12所述的方法,其特征在于,所述步骤S4中在重复解码时,在每秒内重复解码的个数为系统刷新帧率与视频数据流帧率之差;并在丢帧解码时,在每秒内丢弃帧的个数为视频数据流帧率与系统刷新帧率之差。

说明书 :

一种控制播放帧率同步的方法及系统

技术领域

[0001] 本发明涉及多媒体领域的视频传输技术,尤其涉及一种控制播放帧率同步的方法及系统。

背景技术

[0002] 在现有各种视频传输应用领域中,视频播放时的帧同步一直都是一个重要问题。不同的视频流媒体有着不同的录制帧率,而不同的播放设备也有着不同的播放帧率,即不同的播放设备在每秒钟能够刷新的帧数不同。视频数据流的一帧表示一幅图像,一帧由数百行甚至更多的行数据组成。当播放设备的刷新帧率高于视频数据流帧率时,必须使用重复刷新同一帧的办法来实现帧同步。
[0003] 参阅图1所示,现有视频播放的控制播放帧率同步的系统包括视频流单元10、视频解码单元20、行缓存单元30、帧存储单元40、刷新单元50和显示单元60。现有技术中利用上述单元对视频数据流帧进行重复刷帧的具体过程如下:
[0004] 视频流单元10缓存接收到的数据流帧;视频解码单元20对视频数据流帧进行解码;解码后的视频数据实时地存入行缓存单元(LBUF,line Buffer)30中;视频数据由行缓存单元30再转存于帧存储单元40中;刷新单元50读取帧存储单元40中的数据进行刷新,与此同时,刷新单元50对播放设备的刷新帧率和数据流帧率进行比较,如果刷新帧率高于数据流帧率,则刷新单元50重新读取帧存储单元40中的数据进行刷新;显示单元60对刷新单元50刷新后的数据进行解析显示。通过上述过程,实现了在刷新帧率高于数据流帧率的情况下播放设备播放数据流帧率的同步。
[0005] 由于当播放设备的刷新帧率高于视频数据流帧率时,需要采用重复刷新同一数据流帧的办法来实现帧同步,因此,系统至少需要一个帧存储单元,并且现有的视频播放控制系统为实现流畅的播放过程,通常使用一个大容量的帧存储单元以存储更多的数据流帧,因而提高了系统成本。

发明内容

[0006] 本发明提供一种控制播放帧率同步的方法及系统,以解决现有技术中由于播放系统存在帧存储单元而导致系统成本高的问题。
[0007] 本发明提供一种控制播放帧率同步的系统,包括:
[0008] 视频流单元,用于缓存接收到的视频数据流帧;
[0009] 视频解码单元,当系统刷新帧率高于视频数据流帧率时,对所述视频流单元缓存的视频数据流帧进行重复解码,并且当所述系统刷新帧率低于所述视频数据流帧率时,对缓存的视频数据流帧中的部分帧进行解码并将多余帧丢弃不做解码;
[0010] 行缓存单元,用于将所述视频解码单元解码后的块状数据转换成行数据进行缓存;
[0011] 刷新单元,用于基于系统刷新帧率对所述行缓存单元中已转换的行数据进行刷新;显示单元,用于对所述刷新单元刷新完的数据进行解析显示。
[0012] 较佳地,视频解码单元具体包括:数据流存储子单元,用于缓存所述视频流单元发来的缓存的视频数据流;刷新帧率存储子单元,用于存储系统刷新帧率;数据流帧率获取子单元,用于获取视频数据流帧率;
[0013] 帧率比较子单元,用于比较刷新帧率存储子单元存储的系统刷新帧率和数据流帧率获取子单元获取的视频数据流帧率之间的关系;
[0014] 解码子单元,用于在帧率比较子单元的帧率比较结果为系统刷新帧率大于视频数据流帧率时,对数据流存储子单元中缓存的视频数据流帧进行重复解码,以及在帧率比较结果为系统刷新帧率小于视频数据流帧率时,对数据流存储子单元中缓存的视频数据流中的部分帧进行解码并将多余帧丢弃不做解码。
[0015] 较佳地,所述数据流帧率获取子单元通过识别包含在视频数据流中的帧率标识来获取视频数据流帧率。
[0016] 较佳地,所述解码子单元在重复解码时,在每秒内重复解码的个数为系统刷新帧率与视频数据流帧率之差;并在丢帧解码时,在每秒内丢弃帧的个数为视频数据流帧率与系统刷新帧率之差。
[0017] 本发明提供一种控制播放帧率同步的方法,包括如下步骤:
[0018] A、缓存接收到的视频数据流帧;
[0019] B、当系统刷新帧率高于视频数据流帧率时,对所述缓存的视频数据流帧进行重复解码,并且当所述系统刷新帧率低于所述视频数据流帧率时,对所述缓存的视频数据流帧中的部分帧进行解码并将多余帧丢弃不做解码;
[0020] C、将所述解码后的块状数据转换成行数据进行缓存;
[0021] D、基于系统刷新帧率对所述缓存的行数据进行刷新;
[0022] E、对所述刷新后的行数据进行解析显示。
[0023] 其中所述步骤B包括如下步骤:
[0024] B1、获取视频数据流帧率;
[0025] B2、比较获取的视频数据流帧率与预先存储的系统刷新帧率之间的关系;
[0026] B3、在所述比较结果为视频数据流帧率小于系统刷新帧率时,对缓存的视频数据流帧进行重复解码;在所述比较结果为视频数据流帧率大于系统刷新帧率时,对缓存的视频数据流帧中的部分帧进行解码并将多余帧丢弃不做解码。
[0027] 其中所述步骤B1中通过识别包含在视频数据流中的帧率标识来获取视频数据流帧率。
[0028] 其中所述步骤B3中在重复解码时,在每秒内重复解码的个数为系统刷新帧率与视频数据流帧率之差;并在丢帧解码时,在每秒内丢弃帧的个数为视频数据流帧率与系统刷新帧率之差。
[0029] 本发明提供一种视频解码器,包括:
[0030] 数据流存储子单元,用于缓存视频数据流帧;
[0031] 刷新帧率存储子单元,用于存储系统刷新帧率;
[0032] 数据流帧率获取子单元,用于获取视频数据流帧率;
[0033] 帧率比较子单元,用于比较刷新帧率存储子单元存储的系统刷新帧率和数据流帧率获取子单元获取的视频数据流帧率之间的关系;
[0034] 解码子单元,用于在帧率比较子单元的比较结果为系统刷新帧率大于视频数据流帧率时,对所述数据流存储子单元中缓存的视频数据流帧进行重复解码,以及在比较结果为系统刷新帧率小于视频数据流帧率时,对所述数据流存储子单元中缓存的视频数据流中的部分帧进行解码并将多余帧丢弃不做解码。
[0035] 其中所述数据流帧率获取子单元通过识别包含在视频数据流中的帧率标识来获取视频数据流帧率。
[0036] 其中所述解码子单元在重复解码时,在每秒内重复解码的个数为系统刷新帧率与视频数据流帧率之差;并在丢帧解码时,在每秒内丢弃帧的个数为视频数据流帧率与系统刷新帧率之差。
[0037] 本发明提供一种视频解码方法,包括步骤:
[0038] S1、对接收到的视频数据流进行缓存;
[0039] S2、获取接收到的视频数据流帧率;
[0040] S3、比较获取的视频数据流帧率与预先存储的系统刷新帧率之间的关系;
[0041] S4、在所述比较结果为视频数据流帧率小于系统刷新帧率时,对缓存的视频数据流帧进行重复解码;在所述比较结果为视频数据流帧率大于系统刷新帧率时,对缓存的视频数据流帧中的部分帧进行解码并将多余帧丢弃不做解码。
[0042] 其中所述步骤S2中通过识别包含在视频数据流中的帧率标识来获取视频数据流帧率。
[0043] 其中所述步骤S4中在重复解码时,在每秒内重复解码的个数为系统刷新帧率与视频数据流帧率之差;并在丢帧解码时,在每秒内丢弃帧的个数为视频数据流帧率与系统刷新帧率之差。
[0044] 本发明利用视频解码单元基于系统刷新帧率要求对接收到的视频数据流帧进行重复解码,或仅对视频数据流帧中的部分帧解码并将多余帧丢弃不做解码,实现播放帧率同步。因此,本发明省去了播放系统中的帧存储单元,从而降低了系统成本。

附图说明

[0045] 图1为现有技术的控制播放帧率同步的系统结构图;
[0046] 图2为本发明实施例的控制播放帧率同步的系统结构图;
[0047] 图3为本发明实施例的视频解码单元的结构图;
[0048] 图4为本发明实施例的控制播放帧率同步的原理流程图。

具体实施方式

[0049] 本发明的设计思想是利用视频解码单元基于系统刷新帧率要求对接收到的视频数据流帧进行重复解码,或仅对视频数据流帧中的部分帧解码并将多余帧丢弃不做解码,实现播放帧率同步。该方法省去了播放系统中的帧存储单元,从而降低了系统成本。
[0050] 参照图2所示,本发明实施例的控制播放帧率同步的系统包括视频流单元10、视频解码单元20、行缓存单元30、刷新单元50和显示单元60,各单元的功能如下:
[0051] 视频流单元10,用于缓存接收到的视频数据流帧,并把缓存后的视频数据流帧传输到视频解码单元20中;
[0052] 视频解码单元20,用于根据系统刷新帧率要求对接收到的视频数据流帧进行重复解码,或仅对视频数据流帧中的部分帧解码并将多余帧丢弃不做解码,以及将解码后的块状数据输入到行缓存单元30中。
[0053] 参阅图3所示,视频解码单元20包括:
[0054] 数据流存储子单元201,用于缓存由视频流单元10输出的视频数据流帧;
[0055] 数据流帧率获取子单元202,用于通过识别视频数据流帧中的帧率标识来获取视频数据流帧率;
[0056] 刷新帧率存储子单元203,用于存储系统刷新帧率;
[0057] 帧率比较子单元204,用于比较刷新帧率存储子单元203存储的刷新帧率和数据流帧率获取子单元202获取的视频数据流帧率之间的关系;
[0058] 解码子单元205,用于根据帧率比较子单元204的帧率比较结果为系统刷新帧率大于视频数据流帧率时,对数据流存储子单元201中缓存的视频数据流帧进行重复解码,其中在每秒内重复解码的个数为系统刷新帧率与视频数据流帧率之差;在帧率比较结果为系统刷新帧率小于视频数据流帧率时,对数据流存储子单元201中缓存的视频数据流中的部分帧进行解码并将多余帧丢弃不做解码,其中在每秒内丢弃帧的个数为视频数据流帧率与系统刷新帧率之差。
[0059] 行缓存单元30,用于将解码后的块状数据转换成供刷新单元刷新的行数据,并对行数据进行存储。
[0060] 刷新单元50,用于基于系统刷新帧率要求读取行缓存单元30中已转换的行数据,并对行数据进行刷新。
[0061] 显示单元60,用于对刷新单元50刷新完的行数据进行解析显示。
[0062] 参阅图4所示,本实施例的控制播放帧率同步的具体流程如下:
[0063] S10、视频流单元10缓存接收到的视频数据流帧,并把缓存后的视频数据流帧传输到视频解码单元20中。
[0064] S20、视频解码单元20根据系统刷新帧率要求对接收到的视频数据流帧进行重复解码,或仅对视频数据流帧中的部分帧解码并将多余帧丢弃不做解码,具体实现过程如下:
[0065] 数据流存储子单元201缓存由视频流单元20输出的视频数据流;数据流帧率获取子单元202通过读取视频数据流帧中包含的帧率标识来获取视频数据流帧率;帧率比较子单元204对数据流帧率获取子单元202获取的视频数据流帧率和刷新帧率存储子单元203中存储的系统刷新帧率进行比较,并把比较结果输入到解码子单元205中;解码子单元
205根据接收到的帧率比较结果,对缓存在数据流存储子单元201中的视频数据流帧以宏块行为单位进行解码,进一步地,如果系统刷新帧率高于视频数据流帧率,则对缓存的视频数据流帧进行重复解码,其中在每秒内重复解码的个数为系统刷新帧率与视频数据流帧率之差,如果系统刷新帧率小于视频数据流帧率,则对缓存的视频数据流帧中的部分帧进行解码并将多余帧丢弃不做解码,其中在每秒内丢弃帧的个数为视频数据流帧率与系统刷新帧率之差。
[0066] 在一个具体的实施例中,重复解码和丢帧解码的方法为:
[0067] 首先,判断系统刷新帧率和视频数据流帧率的大小,如果系统刷新帧率大则进行重复解码,如果视频数据流帧率大则进行丢帧解码。
[0068] 计算一秒钟内系统刷新帧数A和视频播放帧数B的最简分式a/b。
[0069] 如果是重复解码(a>b),则每播放b帧视频数据刷新(a-b)帧视频数据;
[0070] 如果是丢帧解码(a<b),则每刷新a帧视频数据丢弃(b-a)帧视频数据。
[0071] 以下是解码子单元进行重复解码和丢帧解码的实施例。假设系统刷新帧率为每秒60帧,视频数据流帧率每秒30帧,则在1秒钟内系统刷新60帧,视频播放30帧,其最简分式为2/1,即一秒钟内对缓存的视频数据流帧中的30帧进行解码,并对缓存的视频数据流帧中的该30帧进行重复解码,也就是说,视频解码子单元对接收到的一帧进行解码,然后对已经解码的同一帧进行重复解码;而假设系统刷新帧率为每秒30帧,视频数据流帧率每秒60帧,则在1秒钟内系统刷新30帧,视频播放60帧,其最简分式为1/2,即一秒钟内对缓存的视频数据流帧中的30帧进行解码并将多余的30帧丢弃不做解码,也就是说,视频解码子单元每接收到两帧时丢弃其中一帧不做解码。
[0072] S30、行缓存单元30把视频解码单元20解码后的块状数据转换成行数据进行存储,以供刷新单元50对已转换的行数据进行读取和刷新。
[0073] S40、刷新单元50基于系统刷新帧率要求读取行缓存单元30中已转换的行数据,并进行刷新。
[0074] S50、显示单元60对刷新单元50刷新完的行数据进行解析显示。
[0075] 以下以MPEG数据流对本发明实施例进行说明:
[0076] 活动图像专家组(MPEG,Moving Picture Expert Group)标准是面向运动图像压缩的一个系列标准。其中,MPEG-2标准是一个直接与数字电视广播有关的高质量图像和声音编码标准。MPEG视频数据流的结构是基于块的运动补偿技术。对MPEG视频流进行播放时,本实施例利用上述方法分别对系统刷新帧率高于或低于MPEG数据流帧率的情况实现播放帧率同步的过程进行具体说明:
[0077] 第一种情况,系统刷新帧率高于MPEG数据流帧率,假设系统刷新帧率为每秒60帧,MPEG数据流帧率每秒30帧。视频解码单元通过识别MPEG视频数据流的帧率标识获取MPEG数据流的帧率是每秒30帧,同时判断出系统刷新帧率(每秒60帧)高于MPEG数据流帧率(每秒30帧),则视频解码单元根据比较结果对已经解码的MPEG数据流的同一帧进行重复解码;解码后的块状数据实时地传输到行缓存单元中;行缓存单元对数据进行转化并存储;刷新单元读取行数据并进行刷新,从而实现播放帧率同步。
[0078] 第二种情况,系统刷新帧率低于MPEG数据流帧率,假设刷新帧率为每秒30帧,数据流帧率每秒60帧。视频解码单元通过识别MPEG视频数据流的帧率标识获取MPEG数据流的帧率是每秒60帧,同时判断出系统刷新帧率(每秒30帧)低于MPEG数据流帧率(每秒60帧),则视频解码单元每接收到两帧时丢弃其中一帧不做解码;解码后的块状数据实时地传输到行缓存单元中;行缓存单元对数据进行转化并存储;刷新单元读取行数据并进行刷新,从而实现播放帧率同步。
[0079] 在对视频数据流进行解码过程中,视频解码单元20中的数据流存储子单元201存储有压缩形式的视频数据流,而现有技术的播放系统中是将压缩数据流进行解码并把解码后的数据由行缓存单元转存到帧存储单元中,由于压缩形式的视频数据流相对于数据流由压缩形式转化成行数据形式而言,容量会大大减小(通常基于相同内容,压缩形式的视频数据流的容量是由压缩形式转化成行数据的容量的1/40),因此所需要的存储空间也就大大缩减,因而本发明播放系统相对于现有技术中的播放系统而言,成本可以降低。
[0080] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。