CN100534190C - 一种实时帧率控制方法及其装置 - Google Patents

一种实时帧率控制方法及其装置 Download PDF

Info

Publication number
CN100534190C
CN100534190C CN 200710119889 CN200710119889A CN100534190C CN 100534190 C CN100534190 C CN 100534190C CN 200710119889 CN200710119889 CN 200710119889 CN 200710119889 A CN200710119889 A CN 200710119889A CN 100534190 C CN100534190 C CN 100534190C
Authority
CN
China
Prior art keywords
frame
frame per
ftarget
control register
per
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
Application number
CN 200710119889
Other languages
English (en)
Other versions
CN101102501A (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.)
Mid Star Technology Ltd By Share Ltd
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 CN 200710119889 priority Critical patent/CN100534190C/zh
Publication of CN101102501A publication Critical patent/CN101102501A/zh
Application granted granted Critical
Publication of CN100534190C publication Critical patent/CN100534190C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Television Systems (AREA)

Abstract

一种实时帧率控制方法,其特征在于,根据帧率控制因子更新原则周期性更新帧率控制因子FC,并使用包含的放行帧标识个数与FC相同的、长度为B的帧率控制寄存器值更新帧率控制寄存器;依次循环使用帧率控制寄存器的每一位作为判别位分别判别接收到的每一图像帧:当图像帧对应的判别位为放行帧标识时,放行该帧;否则丢弃该帧;所述帧率控制因子更新原则为:使用新的帧率控制因子,使其与B的比值等于Ftarget和Fsensor的比值,或较更新前的帧率控制因子与B的比值更接近于Ftarget和Fsensor的比值;Ftarget和Fsensor分别为目标帧率和图像传感器输出帧率;放行帧标识为1或0。

Description

一种实时帧率控制方法及其装置
技术领域
本发明涉及一种在数字摄像头中实现实时帧率控制的方法及其实时帧率控制装置。
背景技术
在摄像头的使用过程中,图像传感器的输出帧率Fsensor和后续的图像处理模块、图像数据传输模块所要求的帧率并不相同。为了避免由于Fsensor过大而造成的图像帧在图像处理模块或图像数据传输模块中的拥塞(排队)现象,通常需要设定一个目标帧率Ftarget,并且设置一个帧率控制模块对图像传感器输出的图像帧进行帧率控制。
现有技术采用的帧率控制方法为,对图像传感器输出的图像帧进行缓存,当出现Fsensor大于Ftarget的情况时,对当前缓存队列中保存的图像帧数据以一个固定的比率丢弃。
上述帧率控制方法适用于Fsensor和Ftarget变化不大的情况。但是在摄像头的实际应用环境中,很可能因为场景的变化而带来图像传感器曝光时间的改变,而曝光时间的改变又会影响图像传感器的输出帧率Fsensor。在这种情况下,使用固定比率丢帧的帧率控制方法经常会造成丢帧过多的现象。而且,对已保存在缓存队列中的图像帧数据进行丢弃时,若采用间隔丢弃的方法进行丢帧,即每隔若干帧丢一帧,需要进行大量的链表操作,***资源消耗太大;若采用连续丢帧的方法,则会影响图像的连续性。
发明内容
本发明所要解决的技术问题是,克服现有技术中的帧率控制方法的不足,提出一种当图像传感器输出的帧率和/或目标帧率发生变化时,不会造
成丢帧过多现象的实时帧率控制方法及其帧率控制装置。
为了解决上述问题,本发明提供一种实时帧率控制方法,其特征在于,根据帧率控制因子更新原则周期性更新帧率控制因子FC,并使用包含的放行帧标识个数与FC相同的、长度为B的帧率控制寄存器值更新帧率控制寄存器;依次循环使用帧率控制寄存器的每一位作为判别位分别判别接收到的每一图像帧:当图像帧对应的判别位为放行帧标识时,放行该帧;否则丢弃该帧;
所述帧率控制因子更新原则为:使用新的帧率控制因子,使其与B的比值等于Ftarget和Fsensor的比值,或较更新前的帧率控制因子与B的比值更接近于Ftarget和Fsensor的比值;Ftarget和Fsensor分别为目标帧率和图像传感器输出帧率;放行帧标识为1或0。
此外,该方法包含周期性执行的帧率控制寄存器更新流程,所述帧率控制寄存器更新流程包含如下步骤:
A)若满足帧率控制因子更新条件则执行下一步,否则结束本次帧率控制寄存器更新流程;
B)按照所述帧率控制因子更新原则更新FC值;
C)通过查表获取帧率控制寄存器值,使该值包含的放行帧标识个数等于上述FC值;
D)使用上述帧率控制寄存器值更新帧率控制寄存器;
所述帧率控制因子更新条件为以下条件之一:
1)Fsensor×FC/B>Ftarget;或
2)Fsensor×FC/B<Ftarget,且FC<B;或
3)Fcurrent>Ftarget;或
4)Fcurrent<Ftarget,且FC<B;其中,Fcurrent为放行帧率。
此外,在所述步骤B)中采用如下公式之一和约束操作更新FC值:
公式一:FC=Ftarget×B/Fsensor;
公式二:若Fcurrent/Ftarget<1/4,则FC=4×FC_OLD;
若1/4≤Fcurrent/Ftarget<1/2,则FC=2×FC_OLD;
若1/2≤Fcurrent/Ftarget<3/4,则FC=4/3×FC_OLD;
若3/4≤Fcurrent/Ftarget<1,则FC=FC_OLD+1;
若1<Fcurrent/Ftarget≤4/3,则FC=FC_OLD-1;
若4/3<Fcurrent/Ftarget≤2,则FC=3/4×FC_OLD;
若2<Fcurrent/Ftarget≤4,则FC=1/2×FC_OLD;
若4<Fcurrent/Ftarget,则FC=1/4×FC_OLD;
其中,FC_OLD为更新前的帧率控制因子;
对使用上述计算公式获得的帧率控制因子还需进行以下约束操作:
若FC>B,则令FC=B;若FC<1,则令FC=1;若FC不是整数,则对其进行向下取整操作。
此外,该方法包含帧率控制流程,当接收到一图像帧时进行如下操作:
a)对当前帧率控制寄存器的判别位进行判断:若该判别位为放行帧标识,则放行该图像帧;否则丢弃该图像帧;
b)将帧率控制寄存器进行指定方向的循环移位操作;
所述判别位对应帧率控制寄存器的最低位或最高位或其它任意指定位。
此外,该方法包含帧率控制流程,当接收到一图像帧时进行如下操作:
a’)对当前帧率控制寄存器的判别位进行判断:若该判别位为放行帧标识,则放行该帧;否则丢弃该帧;
b’)令计数器n=n+1;对帧率控制寄存器进行指定方向的移位操作;
c’)若n>B,使用帧率控制备份寄存器恢复帧率控制寄存器原值;令n=1;
所述步骤D)之后还包含如下步骤:使用所述帧率控制寄存器值更新帧率控制备份寄存器;并令n=1;
所述判别位为帧率控制寄存器最低位,且所述移位操作为右移1位;或判别位为帧率控制寄存器最高位,且所述移位操作为左移1位。
本发明还提供一种实时帧率控制装置,用于对图像传感器输出的图像帧进行帧率控制,其特征在于,该装置包含:统计单元,帧率控制因子更新单元,帧率控制寄存器更新单元,帧率控制寄存器和帧率控制单元;其中,
统计单元,用于实时统计图像传感器的输出帧率Fsensor;
帧率控制因子更新单元,用于从统计单元获取Fsensor值,根据帧率控制因子更新原则周期性更新帧率控制因子FC;
帧率控制寄存器更新单元,用于从帧率控制因子更新单元获取FC值,使用包含的放行帧标识个数与FC相同的、长度为B的帧率控制寄存器值更新帧率控制寄存器;
帧率控制单元,用于依次循环使用帧率控制寄存器的每一位作为判别位分别判别从图像传感器接收到的每一图像帧:当图像帧对应的判别位为放行帧标识时,放行该帧;否则丢弃该帧;
所述帧率控制因子更新原则为:使用新的帧率控制因子,使其与B的比值等于Ftarget和Fsensor的比值,或较更新前的帧率控制因子与B的比值更接近于Ftarget和Fsensor的比值;Ftarget和Fsensor分别为目标帧率和图像传感器输出帧率;放行帧标识为1或0。
此外,所述帧率控制因子更新单元还用于对帧率控制因子更新条件进行判断,当满足帧率控制因子更新条件时更新FC值;所述帧率控制因子更新条件为以下条件之一:
1)Fsensor×FC/B>Ftarget;或
2)Fsensor×FC/B<Ftarget,且FC<B;或
3)Fcurrent>Ftarget;或
4)Fcurrent<Ftarget,且FC<B;其中,Fcurrent为帧率控制单元的输出帧率;
所述统计单元还用于实时统计所述帧率控制单元的输出帧率Fcurrent。
此外,所述帧率控制因子更新单元采用如下公式之一和约束操作更新FC值:
公式一:FC=Ftarget×B/Fsensor;
公式二:若Fcurrent/Ftarget<1/4,则FC=4×FC_OLD;
若1/4≤Fcurrent/Ftarget<1/2,则FC=2×FC_OLD;
若1/2≤Fcurrent/Ftarget<3/4,则FC=4/3×FC_OLD;
若3/4≤Fcurrent/Ftarget<1,则FC=FC_OLD+1;
若1<Fcurrent/Ftarget≤4/3,则FC=FC_OLD-1;
若4/3<Fcurrent/Ftarget≤2,则FC=3/4×FC_OLD;
若2<Fcurrent/Ftarget≤4,则FC=1/2×FC_OLD;
若4<Fcurrent/Ftarget,则FC=1/4×FC_OLD;
其中FC_OLD为更新前的帧率控制因子;
对使用上述计算公式获得的帧率控制因子还需进行以下约束操作:
若FC>B,则令FC=B;若FC<1,则令FC=1;若FC不是整数,则对其进行向下取整操作。
此外,所述帧率控制单元当接收到一图像帧时对当前帧率控制寄存器的判别位进行判断:若该判别位为放行帧标识,则放行该帧;否则丢弃该帧;判断完成后将帧率控制寄存器进行循环移位操作;
所述判别位对应帧率控制寄存器的最低位或最高位或其它任意指定位。
此外,该装置还包含帧率控制备份寄存器;所述帧率控制寄存器更新单元还用于在更新所述帧率控制寄存器时使用相同的值更新帧率控制备份寄存器,并令计数器值n=1;所述帧率控制单元当接收到一图像帧时对当前帧率控制寄存器的判别位进行判断:若该判别位为放行帧标识,则放行该帧;否则丢弃该帧;判断完成后令n=n+1;对帧率控制寄存器进行移位操作;并且当n>B时,使用帧率控制备份寄存器恢复帧率控制寄存器原值,并令n=1;
所述判别位为帧率控制寄存器最低位,且所述移位操作为右移1位;或判别位为帧率控制寄存器最高位,且所述移位操作为左移1位。
由以上描述可知,采用本发明的实时帧率控制方法及其装置,可以将图像传感器始终设置在最大帧率的工作条件,并且随着Fsensor/Fcurrent和Ftarget的实时变化通过更新帧率控制寄存器实时调整帧通过率,实现了实时帧率控制的目的。
附图说明
图1是本发明第一实施例实时帧率控制方法流程图;
图2是本发明第二实施例实时帧率控制方法流程图;
图3为本发明实施例实时帧率控制装置的结构示意图。
具体实施方式
本发明的基本思路是,使用帧率控制寄存器对图像传感器输出的图像进行帧率控制,并根据图像传感器输出帧率和/或目标帧率的变化实时更新帧率控制寄存器的值,以达到帧率实时控制的目的。
下面将结合附图和实施例对本发明的实时帧率控制方法进行详细描述。
图1是本发明第一实施例实时帧率控制方法流程图。如图1所示,本发明的实时帧率控制方法包含3个流程:统计流程,帧率控制寄存器更新流程和帧率控制流程;各流程可以在不同的线程中同步执行,具体包含如下步骤:
统计流程:
101:实时统计图像传感器的输出帧率Fsensor值;
以T为周期,重复执行以下帧率控制寄存器更新流程:
102:获取并根据Fsensor和Ftarget的当前值,判断是否满足帧率控制因子更新条件,若满足,则执行下一步;否则,帧率控制因子更新流程结束。
本实施例中,帧率控制因子更新条件为:
(1)Fsensor×FC/B>Ftarget;或
(2)Fsensor×FC/B<Ftarget,且FC<B;
其中B为帧率控制寄存器长度(即,位数),FC为帧率控制因子。
当***启动后第一次执行帧率控制寄存器更新流程时,帧率控制因子的初始值FC=B。
103:进行帧率控制因子FC的更新,令:
FC=Ftarget×B/Fsensor;
对于采用以上公式计算得到的FC,还需进行以下约束操作:若FC>B,则令FC=B;若FC<1,则令FC=1;若FC不是整数,则对其进行向下取整操作。
104:使用更新的帧率控制因子FC进行查表操作,从帧率控制寄存器表中获取对应的帧率控制寄存器值FCB。
帧率控制寄存器表的第一列为帧率控制因子,第二列为与帧率控制因子对应的帧率控制寄存器值。
其中,每一个帧率控制寄存器值满足如下条件:
值为1的位数的总和(即帧率控制寄存器值的各位的和)等于对应的帧率控制因子FC。(3)
表中给出的各帧率控制寄存器值并不唯一,使用其它值也可以,但需要满足上述条件(3)。
帧率控制寄存器表如下,本实施例中,B=64。
 
FC FCB FC FCB
1 0x0400 0000 0000 0000 33 0x5555 5555 5555 5557
2 0x0400 0000 0400 0000 34 0x5555 5557 5555 5557
3 0x0400 0000 0400 0400 35 0x5555 5557 5557 5557
4 0x0400 0400 0400 0400 36 0x5557 5557 5557 5557
5 0x0400 0400 0400 0404 37 0x5557 5557 5557 5757
6 0x0400 0404 0400 0404 38 0x5557 5757 5557 5757
7 0x0004 0404 0404 0404 39 0x5557 5757 5757 5757
8 0x0404 0404 0404 0404 40 0x5757 5757 5757 5757
9 0x0404 0404 0404 0444 41 0x5757 5757 5757 5777
10 0x0404 0444 0404 0444 42 0x5757 5777 5757 5777
11 0x0404 0444 0444 0444 43 0x5757 5777 5777 5777
12 0x0444 0444 0444 0444 44 0x5777 5777 5777 5777
13 0x0444 0444 0444 4444 45 0x5777 5777 5777 7777
14 0x0444 4444 0444 4444 46 0x5777 7777 5777 7777
15 0x0444 4444 4444 4444 47 0x5777 7777 7777 7777
16 0x0444 4444 4444 4444 48 0x7777 7777 7777 7777
17 0x4444 4444 4444 4444 49 0x7777 7777 7777 777F
18 0x4444 4445 4444 4445 50 0x7777 777F 7777 777F
19 0x4444 4445 4445 4445 51 0x7777 777F 777F 777F
20 0x4445 4445 4445 4445 52 0x777F 777F 777F 777F
21 0x4445 4445 4445 4545 53 0x777F 777F 777F 7F7F
22 0x4445 4545 4445 4545 54 0x777F 7F7F 777F 7F7F
23 0x4445 4545 4545 4545 55 0x777F 7F7F 7F7F 7F7F
24 0x4545 4545 4545 4545 56 0x7F7F 7F7F 7F7F 7F7F
25 0x4545 4545 4545 4555 57 0x7F7F 7F7F 7F7F 7FFF
26 0x4545 4555 4545 4555 58 0x7F7F 7FFF 7F7F 7FFF
27 0x4545 4555 4555 4555 59 0x7F7F 7FFF 7FFF 7FFF
28 0x4555 4555 4555 4555 60 0x7FFF 7FFF 7FFF 7FFF
29 0x4555 4555 4555 5555 61 0x7FFF 7FFF 7FFF FFFF
30 0x4555 5555 4555 5555 62 0x7FFF FFFF 7FFF FFFF
31 0x4555 5555 5555 5555 63 0x7FFF FFFF FFFF FFFF
32 0x5555 5555 5555 5555 64 0xFFFF FFFF FFFF FFFF
表1:帧率控制寄存器表
105:使用FCB值更新帧率控制寄存器和帧率控制备份寄存器,令计数器n=1。
至此,帧率控制寄存器更新流程执行完毕。需要注意的是,对于帧率控制寄存器更新流程的重复执行周期T,若T值过小,可能会使帧率控制寄存器的值更新过于频繁,加大***的资源消耗;而如果T值过大,则减小了帧率控制精度,帧率控制的实时性差。通常T值至少要大于图像传感器输出B帧所需的时间。本实施例中T=2秒。
当接收到图像传感器输出的新图像帧时,执行以下帧率控制流程:
106:对当前帧率控制寄存器的特定判别位进行判断,若该判别位值为1,则执行步骤107;若该判别位值为0,则执行步骤108;
本实施例中,上述判别位为帧率控制寄存器的最低位(LSB,LeastSignificant Bit)。
107:将当前接收到的图像帧放行,即输出至图像处理模块作进一步处理;跳转至109;
108:将当前接收到的图像帧丢弃;
109:令计数器n=n+1;帧率控制寄存器右移一位;
110:若n>B,则执行下一步;否则,本流程结束;
111:使用帧率控制备份寄存器恢复帧率控制寄存器原值;令n=1。
由于帧率控制寄存器值中值为1的位数总和与帧率控制寄存器值总位数(长度)的比值就是本发明进行帧率控制所使用的帧通过率,因此通过以T为周期,重复执行帧率控制寄存器更新流程,使得帧率控制寄存器值,也就是帧通过率,可以根据Fsensor和/或Ftarget的变化实时进行调整;而在帧率控制流程中,根据当前帧率控制寄存器的最低位决定丢弃或放行接收到的新图像帧,并将帧率控制寄存器右移一位;当接收到的图像帧的数量大于帧率控制寄存器的位数时,恢复帧率控制寄存器原值,重复使用。
此外,帧率控制寄存器值中,如果值为1/0的位的分布不均匀,可能造成连续丢帧的现象,一定程度上会影响图像的连续性。例如,若帧率控制寄存器值的高32位为1,低32位为0,则使用该值更新帧率控制寄存器后将会连续丢弃32帧,将对图像的连续性造成一定影响。而如果将帧率控制寄存器值设置为101010...的包含32个1的二进制值,图像的连续性将会得到保证。因此,对于帧率控制寄存器表中的各帧率控制寄存器值,除了必须满足条件(3)外,最好还能满足上述均匀性分布要求。若使用满足均匀性分布要求的帧率控制寄存器值,将会避免出现连续丢帧,影响图像质量的问题。
图2是本发明第二实施例实时帧率控制方法流程图。如图2所示,对帧率进行实时控制包含如下步骤:
统计流程:
201:实时统计实际输出帧率(即帧率控制单元的放行帧率)Fcurrent值;
实际输出帧率即为经帧率控制后放行的图像帧的帧率。
以T为周期,重复执行帧率控制寄存器更新流程:
202:判断是否满足帧率控制因子更新条件,若满足,则执行下一步;否则,帧率控制因子更新流程结束。
本实施例中,帧率控制因子更新条件为:
(4)Fcurrent>Ftarget;或
(5)Fcurrent<Ftarget,且FC<B;
203:进行帧率控制因子的更新;
记当前的帧率控制因子为FC_OLD,
若Fcurrent/Ftarget<1/4,则FC=4×FC_OLD;
若1/4≤Fcurrent/Ftarget<1/2,则FC=2×FC_OLD;
若1/2≤Fcurrent/Ftarget<3/4,则FC=4/3×FC_OLD;
若3/4≤Fcurrent/Ftarget<1,则FC=FC_OLD+1;
若1<Fcurrent/Ftarget≤4/3,则FC=FC_OLD-1;
若4/3<Fcurrent/Ftarget≤2,则FC=3/4×FC_OLD;
若2<Fcurrent/Ftarget≤4,则FC=1/2×FC_OLD;
若4<Fcurrent/Ftarget,则FC=1/4×FC_OLD。
若根据上述公式计算所得FC>B,则令FC=B;若FC<1,则令FC=1;若FC不是整数,则对其进行向下取整操作。
上述帧率控制因子的更新方法采用的是区间更新法,即当fcurrent和ftarget的对比关系处于某一区间时,用FC_OLD按照对应的公式更新FC。需要注意的是,上述帧率控制因子的更新所使用的区间及其对应的计算公式不是唯一的,可根据***实际情况进行调整。
注意到,虽然本实施例使用的帧率控制因子的更新公式与第一实施例相比,在形式上有很大的差别,但是它们的目的是完全一致的。分析如下:
由于Fcurrent≈Fsensor×FC_OLD/B,
以分支:若Fcurrent/Ftarget<1/4,则FC=4×FC_OLD;为例,该更新公式分支变为:
若FC_OLD/B<1/4×Ftarget/Fsensor,则FC=4×FC_OLD,即当FC_OLD/B值过小时,使用新的FC,使其满足:
FC/B<Ftarget/Fsensor。
而第一实施例的更新公式为:FC=Ftarget×B/Fsensor,即新的FC满足:
FC/B=Ftarget/Fsensor。
也就是说,FC的更新原则是:使用新的帧率控制因子,使其与B的比值较原先使用的帧率控制因子更接近于或等于Ftarget和Fsensor的比值。
204:使用更新的帧率控制因子FC进行查表操作,从上述帧率控制寄存器表中获取对应的帧率控制寄存器值FCB。
205:使用FCB值更新帧率控制寄存器;
当接收到图像传感器输出的新图像帧时,执行以下帧率控制流程:
206:对当前帧率控制寄存器的特定判别位进行判断,若该判别位值为1,执行步骤207;若该判别位值为0,执行步骤208;
上述判别位可以是帧率控制寄存器的最低位、最高位或其它任意指定位。
207:将当前接收到的图像帧放行,即送入图像处理模块进行处理;
208:将当前接收到的图像帧丢弃;
209:将帧率控制寄存器进行循环移位操作;
本实施例中,帧率控制寄存器采用环形移位寄存器,循环移位操作就是向左/右移一位,并将移出的位放入该帧率控制寄存器的最低位/最高位(MSB)。当然,使用任何寄存器都可以进行循环移位操作。
进行循环移位操作可以省去第一实施例步骤109中的计数器加1的操作和步骤110,111的恢复帧率控制寄存器原值的操作。
基于本发明的基本原理,在上述实施例的基础上,本发明还可进行如下变换,例如:
在步骤106中使用帧率控制寄存器的最高位作为判别位,同时在步骤109中对帧率控制寄存器左移一位;
此外,上述实施例中使用1作为放行帧标识,0作为丢弃帧标识,当帧率控制寄存器的判别位为1时,放行当前帧;也可以使用0作为放行帧标识。同时,帧率控制寄存器表中的各帧率控制寄存器值应相应修改,条件(3)也应修改为:值为0的位数的总和等于对应的帧率控制因子FC。
下面将结合附图和实施例对本发明的实时帧率控制装置进行详细描述。
图3为本发明实施例实时帧率控制装置的结构示意图。如图3所示,实时帧率控制装置用于对图像传感器输出的图像帧进行帧率控制,包含:统计单元,帧率控制因子更新单元,帧率控制寄存器更新单元,帧率控制寄存器,帧率控制备份寄存器和帧率控制单元。其中,
统计单元,用于实时统计图像传感器的输出帧率Fsensor值和帧率控制单元的输出帧率(即放行帧率)Fcurrent值;
帧率控制因子更新单元,用于从统计单元获取Fsensor值,对帧率控制因子更新条件进行判断,当满足帧率控制因子更新条件时更新FC值;
帧率控制因子更新条件为以下条件之一:
1)Fsensor×FC/B>Ftarget;或
2)Fsensor×FC/B<Ftarget,且FC<B;或
3)Fcurrent>Ftarget;或
4)Fcurrent<Ftarget,且FC<B;
此外,帧率控制因子更新单元采用步骤103或步骤203中的公式和约束操作更新FC。
帧率控制寄存器更新单元,用于从帧率控制因子更新单元获取FC值,使用包含的放行帧标识个数与FC相同的、长度为B的帧率控制寄存器值更新帧率控制寄存器和帧率控制备份寄存器,并同时令计数器值n=1;
帧率控制单元,用于当接收到一图像帧时对当前帧率控制寄存器的判别位进行判断:若该判别位为放行帧标识,则放行该帧;否则丢弃该帧;判断完成后将帧率控制寄存器进行循环移位操作;
在另一实施例中,帧率控制单元用于当接收到一图像帧时对当前帧率控制寄存器的判别位进行判断:若该判别位为放行帧标识,则放行该帧;否则丢弃该帧;判断完成后令n=n+1;对帧率控制寄存器进行移位操作;并且当n>B时,使用帧率控制备份寄存器恢复帧率控制寄存器原值,并令n=1。

Claims (10)

1、一种实时帧率控制方法,其特征在于,根据帧率控制因子更新原则周期性更新帧率控制因子FC,并使用包含的放行帧标识个数与FC相同的、长度为B的帧率控制寄存器值更新帧率控制寄存器;依次循环使用帧率控制寄存器的每一位作为判别位分别判别接收到的每一图像帧:当图像帧对应的判别位为放行帧标识时,放行该帧;否则丢弃该帧;
所述帧率控制因子更新原则为:使用新的帧率控制因子,使其与B的比值等于Ftarget和Fsensor的比值,或较更新前的帧率控制因子与B的比值更接近于Ftarget和Fsensor的比值;Ftarget和Fsensor分别为目标帧率和图像传感器输出帧率;放行帧标识为1或0。
2、如权利要求1所述的实时帧率控制方法,其特征在于,该方法包含周期性执行的帧率控制寄存器更新流程,所述帧率控制寄存器更新流程包含如下步骤:
A)若满足帧率控制因子更新条件则执行下一步,否则结束本次帧率控制寄存器更新流程;
B)按照所述帧率控制因子更新原则更新FC值;
C)通过查表获取帧率控制寄存器值,使该值包含的放行帧标识个数等于上述FC值;
D)使用上述帧率控制寄存器值更新帧率控制寄存器;
所述帧率控制因子更新条件为以下条件之一:
1)Fsensor×FC/B>Ftarget;或
2)Fsensor×FC/B<Ftarget,且FC<B;或
3)Fcurrent>Ftarget;或
4)Fcurrent<Ftarget,且FC<B;其中,Fcurrent为放行帧率。
3、如权利要求2所述的实时帧率控制方法,其特征在于,在所述步骤B)中采用如下公式之一和约束操作更新FC值:
公式一:FC=Ftarget×B/Fsensor;
公式二:若Fcurrent/Ftarget<1/4,则FC=4×FC_OLD;
        若1/4≤Fcurrent/Ftarget<1/2,则FC=2×FC_OLD;
        若1/2≤Fcurrent/Ftarget<3/4,则FC=4/3×FC_OLD;
        若3/4≤Fcurrent/Ftarget<1,则FC=FC_OLD+1;
        若1<Fcurrent/Ftarget≤4/3,则FC=FC_OLD-1;
        若4/3<Fcurrent/Ftarget≤2,则FC=3/4×FC_OLD;
        若2<Fcurrent/Ftarget≤4,则FC=1/2×FC_OLD;
        若4<Fcurrent/Ftarget,则FC=1/4×FC_OLD;
其中,FC_OLD为更新前的帧率控制因子;
对使用上述计算公式获得的帧率控制因子还需进行以下约束操作:
若FC>B,则令FC=B;若FC<1,则令FC=1;若FC不是整数,则对其进行向下取整操作。
4、如权利要求1所述的实时帧率控制方法,其特征在于,该方法包含帧率控制流程,当接收到一图像帧时进行如下操作:
a)对当前帧率控制寄存器的判别位进行判断:若该判别位为放行帧标识,则放行该图像帧;否则丢弃该图像帧;
b)将帧率控制寄存器进行指定方向的循环移位操作;
所述判别位对应帧率控制寄存器的最低位或最高位或其它任意指定位。
5、如权利要求2所述的实时帧率控制方法,其特征在于,该方法包含帧率控制流程,当接收到一图像帧时进行如下操作:
a’)对当前帧率控制寄存器的判别位进行判断:若该判别位为放行帧标识,则放行该帧;否则丢弃该帧;
b’)令计数器n=n+1;对帧率控制寄存器进行指定方向的移位操作;
c’)若n>B,使用帧率控制备份寄存器恢复帧率控制寄存器原值;令n=1;
所述步骤D)之后还包含如下步骤:使用所述帧率控制寄存器值更新帧率控制备份寄存器;并令n=1;
所述判别位为帧率控制寄存器最低位,且所述移位操作为右移1位;或判别位为帧率控制寄存器最高位,且所述移位操作为左移1位。
6、一种实时帧率控制装置,用于对图像传感器输出的图像帧进行帧率控制,其特征在于,该装置包含:统计单元,帧率控制因子更新单元,帧率控制寄存器更新单元,帧率控制寄存器和帧率控制单元;其中,
统计单元,用于实时统计图像传感器的输出帧率Fsensor;
帧率控制因子更新单元,用于从统计单元获取Fsensor值,根据帧率控制因子更新原则周期性更新帧率控制因子FC;
帧率控制寄存器更新单元,用于从帧率控制因子更新单元获取FC值,使用包含的放行帧标识个数与FC相同的、长度为B的帧率控制寄存器值更新帧率控制寄存器;
帧率控制单元,用于依次循环使用帧率控制寄存器的每一位作为判别位分别判别从图像传感器接收到的每一图像帧:当图像帧对应的判别位为放行帧标识时,放行该帧;否则丢弃该帧;
所述帧率控制因子更新原则为:使用新的帧率控制因子,使其与B的比值等于Ftarget和Fsensor的比值,或较更新前的帧率控制因子与B的比值更接近于Ftarget和Fsensor的比值;Ftarget和Fsensor分别为目标帧率和图像传感器输出帧率;放行帧标识为1或0。
7、如权利要求6所述的实时帧率控制装置,其特征在于,所述帧率控制因子更新单元还用于对帧率控制因子更新条件进行判断,当满足帧率控制因子更新条件时更新FC值;所述帧率控制因子更新条件为以下条件之一:
1)Fsensor×FC/B>Ftarget;或
2)Fsensor×FC/B<Ftarget,且FC<B;或
3)Fcurrent>Ftarget;或
4)Fcurrent<Ftarget,且FC<B;其中,Fcurrent为帧率控制单元的输出帧率;
所述统计单元还用于实时统计所述帧率控制单元的输出帧率Fcurrent。
8、如权利要求7所述的实时帧率控制装置,其特征在于,所述帧率控制因子更新单元采用如下公式之一和约束操作更新FC值:
公式一:FC=Ftarget×B/Fsensor;
公式二:若Fcurrent/Ftarget<1/4,则FC=4×FC_OLD;
        若1/4≤Fcurrent/Ftarget<1/2,则FC=2×FC_OLD;
        若1/2≤Fcurrent/Ftarget<3/4,则FC=4/3×FC_OLD;
        若3/4≤Fcurrent/Ftarget<1,则FC=FC_OLD+1;
        若1<Fcurrent/Ftarget≤4/3,则FC=FC_OLD-1;
        若4/3<Fcurrent/Ftarget≤2,则FC=3/4×FC_OLD;
        若2<Fcurrent/Ftarget≤4,则FC=1/2×FC_OLD;
        若4<Fcurrent/Ftarget,则FC=1/4×FC_OLD;
其中FC_OLD为更新前的帧率控制因子;
对使用上述计算公式获得的帧率控制因子还需进行以下约束操作:
若FC>B,则令FC=B;若FC<1,则令FC=1;若FC不是整数,则对其进行向下取整操作。
9、如权利要求6所述的实时帧率控制装置,其特征在于,所述帧率控制单元当接收到一图像帧时对当前帧率控制寄存器的判别位进行判断:若该判别位为放行帧标识,则放行该帧;否则丢弃该帧;判断完成后将帧率控制寄存器进行循环移位操作;
所述判别位对应帧率控制寄存器的最低位或最高位或其它任意指定位。
10、如权利要求6所述的实时帧率控制装置,其特征在于,该装置还包含帧率控制备份寄存器;所述帧率控制寄存器更新单元还用于在更新所述帧率控制寄存器时使用相同的值更新帧率控制备份寄存器,并令计数器值n=1;所述帧率控制单元当接收到一图像帧时对当前帧率控制寄存器的判别位进行判断:若该判别位为放行帧标识,则放行该帧;否则丢弃该帧;判断完成后令n=n+1;对帧率控制寄存器进行移位操作;并且当n>B时,使用帧率控制备份寄存器恢复帧率控制寄存器原值,并令n=1;
所述判别位为帧率控制寄存器最低位,且所述移位操作为右移1位;或判别位为帧率控制寄存器最高位,且所述移位操作为左移1位。
CN 200710119889 2007-08-02 2007-08-02 一种实时帧率控制方法及其装置 Active CN100534190C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200710119889 CN100534190C (zh) 2007-08-02 2007-08-02 一种实时帧率控制方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200710119889 CN100534190C (zh) 2007-08-02 2007-08-02 一种实时帧率控制方法及其装置

Publications (2)

Publication Number Publication Date
CN101102501A CN101102501A (zh) 2008-01-09
CN100534190C true CN100534190C (zh) 2009-08-26

Family

ID=39036552

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200710119889 Active CN100534190C (zh) 2007-08-02 2007-08-02 一种实时帧率控制方法及其装置

Country Status (1)

Country Link
CN (1) CN100534190C (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101626500B (zh) * 2009-07-31 2011-07-27 北京大学深圳研究生院 一种视频帧率控制方法及装置
CN102118598B (zh) * 2009-12-30 2012-11-21 华晶科技股份有限公司 视频的处理装置及其处理方法
CN102956208B (zh) * 2011-08-23 2015-05-27 华为技术有限公司 一种统计终端画面帧率的方法、装置及***
CN103366391B (zh) * 2013-06-26 2016-07-06 广州市动景计算机科技有限公司 动态图像的画面渲染方法及画面渲染装置
CN106303188A (zh) * 2015-05-18 2017-01-04 大通电子股份有限公司 影片制作方法
CN107682625B (zh) * 2017-09-27 2020-12-08 惠州Tcl移动通信有限公司 一种拍照预览时任意帧率控制方法、移动终端及存储介质
CN111031233B (zh) * 2019-11-13 2021-01-15 安凯(广州)微电子技术有限公司 一种数字图像处理帧率控制方法及装置

Also Published As

Publication number Publication date
CN101102501A (zh) 2008-01-09

Similar Documents

Publication Publication Date Title
CN100534190C (zh) 一种实时帧率控制方法及其装置
US7280476B2 (en) Traffic control at a network node
KR100731822B1 (ko) 웨이퍼처리 시스템에서의 레서피 캐스케이딩
CN110597616A (zh) 一种神经网络的内存分配方法及装置
Kim et al. Synchronized production planning and scheduling in semiconductor fabrication
CN107193652A (zh) 容器云环境中流数据处理***的弹性资源调度方法及***
US20150113539A1 (en) Method for executing processes on a worker machine of a distributed computing system and a distributed computing system
CN110276689B (zh) 基于动态决策的智能合约实现方法
CN101305348A (zh) 分布式***
CN108303958B (zh) 一种炼钢连铸过程的多目标柔性调度方法
JP2008083253A5 (zh)
CN107610039A (zh) 图像处理方法及图像处理装置
CN104507096A (zh) 无线传感网中模型驱动的数据传输方法及***
JP2007188306A (ja) 処理時間の確率分布を考慮したスケジューリング装置
CN112077149A (zh) 一种热轧加热炉出钢节奏的控制***
CA2484427A1 (en) Scheduling using quantum and deficit values
CN1922603A (zh) 具有本地受控参数更新的电子流处理电路以及设计这种电路的方法
CN110535894A (zh) 一种基于负载反馈的容器资源动态分配方法及其***
CN114866430A (zh) 边缘计算的算力预测方法、算力编排方法及***
CN105721781A (zh) 一种采用图像数据中值控制摄像机曝光的方法
CN105224612A (zh) 基于动态标记优先值的MapReduce数据本地化方法
CN108259384B (zh) 一种队列轮询选择方法及装置
CN108805506A (zh) 一种智能物料配给方法
CN112433595B (zh) 一种计算机***的能耗监管方法
CN117610896B (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
TR01 Transfer of patent right

Effective date of registration: 20171221

Address after: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee after: Zhongxing Technology Co., Ltd.

Address before: 100083, Haidian District, Xueyuan Road, Beijing No. 35, Nanjing Ning building, 15 Floor

Patentee before: Beijing Vimicro Corporation

TR01 Transfer of patent right
CP01 Change in the name or title of a patent holder

Address after: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee after: Mid Star Technology Limited by Share Ltd

Address before: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee before: Zhongxing Technology Co., Ltd.

CP01 Change in the name or title of a patent holder