发送卡及其控制方法、显示设备、计算机设备和存储介质与流程

文档序号:29028614发布日期:2022-02-24 10:58阅读:147来源:国知局
发送卡及其控制方法、显示设备、计算机设备和存储介质与流程

1.本技术涉及显示技术领域,特别是涉及一种发送卡及其控制方法、显示设备、计算机设备和存储介质。


背景技术:

2.随着显示技术的发展,显示设备的显示帧率越来越高,高显示帧率会带来流畅、逼真的显示效果。
3.为了获得较好的显示效果,显示帧率往往设置得较高。然而,在图像显示过程中,并不是每一部分的图像都需要很高的显示帧率,若图像显示过程中都是一成不变的采用较高的显示帧率,不仅会造成处理器不必要的长期负担,同时也会导致功耗较高。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够平衡功耗和显示质量的发送卡及其控制方法、显示设备、计算机设备和存储介质。
5.一种发送卡,包括:接口、写帧模块、帧率比较模块、帧率控制模块和存储模块,其中:
6.所述接口与所述帧率控制模块和写帧模块通信连接,用于接收视频数据流,将所述视频数据流发送给所述写帧模块,并获取所述视频数据流的当前帧率信息,将所述当前帧率信息发送给所述帧率控制模块;
7.所述写帧模块将所述视频数据流以帧为单位写入所述存储模块以存储;
8.所述帧率比较模块与所述存储模块和所述帧率控制模块通信连接,用于自所述存储模块读取所述视频数据流,并以预设策略对所述存储模块中的所述视频数据流进行图像差异度分析,确定当前视频帧变化信息,并将所述当前视频帧变化信息发送给所述帧率控制模块;
9.所述帧率控制模块用于根据所述当前帧率信息和所述当前视频帧变化信息确定当前视频帧的显示策略。
10.上述发送卡通过接口获取视频数据流的当前帧率信息,以便确定当前输入帧率,通过写帧模块将视频数据流以帧为单位进行存储,以便帧率比较模块以帧为单位对视频数据流进行图像差异度分析,进而确定与当前图像差异情况对应的当前视频帧变化信息,显然,图像差异度低的情况下,显示帧率可以相对较低,基于此,根据当前视频帧变化信息与当前输入帧率可确定当前视频帧的显示策略,实现显示帧率的自适应调整,以实现功耗和显示质量的均衡。
11.在其中一个实施例中,所述帧率比较模块包括:
12.第一帧率获取单元,用于获取所述视频数据流的输入帧率;
13.比较单元,用于根据预设采样时间和所述输入帧率确定采样帧数,构建采样窗口,所述采样窗口适于缓冲所述采样帧数的有效数据,控制所述采样窗口连续以先进先出的原
则从所述视频数据流中缓冲当前视频帧,确定所述采样窗口内各相邻视频帧间的帧间像素差值和帧间像素均值;
14.处理单元,用于根据所述帧间像素均值生成适于插入当前视频帧与前一视频帧之间的插入帧,并将所述插入帧顺序缓存至所述存储模块的预定位置,根据各所述帧间像素差值得到采样时间长度内的帧间平均差值,根据所述帧间平均差值确定当前视频帧变化信息。
15.在其中一个实施例中,所述比较单元还用于以预设顺序遍历获取相邻视频帧同位置的像素点的颜色值的差值和均值,计算获取的所有差值的均值,得到相邻视频帧的帧间像素差值,将获取的所有颜色值的均值和对应坐标值的集合记为相邻视频帧的帧间像素均值。
16.在其中一个实施例中,所述处理单元还用于在所述帧间平均差值为零时,确定当前输入视频帧变化信息为第一信息;在所述帧间平均差值大于零但小于预设阈值时,确定当前输入视频帧变化信息为第二信息,在所述帧间平均差值大于预设阈值,确定当前输入视频帧变化信息为第三信息。
17.在其中一个实施例中,所述帧率控制模块包括:
18.第二帧率获取单元,用于接收所述当前帧率信息,并根据所述当前帧率信息获取输入帧率;
19.控制单元,用于接收所述帧率变化信息,在接收到的所述帧率变化信息为所述第一信息,且所述输入帧率大于第一预设值时,确定所述显示策略为预设的降帧显示策略;在接收到的所述帧率变化信息为所述第二信息时,确定所述显示策略为默认显示策略;在接收到的所述帧率变化信息为所述第三信息,且所述输入帧率小于第二预设值时,确定所述显示策略为预设的加帧显示策略。
20.在其中一个实施例中,所述发送卡还包括生帧模块和读帧模块;
21.所述帧率控制模块还用于根据所述显示策略确定第一配置参数,并将所述第一配置参数发送给所述生帧模块;
22.所述生帧模块用于接收所述第一配置参数,根据所述第一配置参数向所述读帧模块发送读取请求,并接收所述读帧模块发送的待显示视频帧;
23.所述读帧模块用于响应所述读取请求访问所述存储模块,读取所述待显示视频帧,并将所述待显示视频帧发送给所述生帧模块。
24.在其中一个实施例中,所述发送卡还包括发送模块;
25.所述帧率控制模块还用于根据所述显示策略确定第二配置参数,并将所述第二配置参数发送给所述发送模块;
26.所述生帧模块还用于根据所述第一配置参数进行配置以处理所述待显示视频帧,并将处理后的待显示视频帧发送给所述发送模块;
27.所述发送模块用于接收所述第二配置参数和所述处理后的待显示视频帧,根据所述第二配置参数配置传输速率,以预设方式输出所述处理后的待显示视频帧。
28.一种显示设备,包括如上所述的发送卡。
29.该显示设备相对现有技术的优势与上述发送卡相对现有技术的优势相同,此处不再赘述。
30.一种发送卡控制方法,包括:
31.接收视频数据流,获取所述视频数据流的当前帧率信息;
32.将所述视频数据流以帧为单位进行存储;
33.以预设策略对存储的视频数据流进行图像差异度分析,确定当前视频帧变化信息;
34.根据所述当前帧率信息和所述当前视频帧变化信息确定当前视频帧的显示策略。
35.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
36.接收视频数据流,获取所述视频数据流的当前帧率信息;
37.将所述视频数据流以帧为单位进行存储;
38.以预设策略对存储的视频数据流进行图像差异度分析,确定当前视频帧变化信息;
39.根据所述输入帧率和当前视频帧变化信息确定当前视频帧的显示策略。
40.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
41.接收视频数据流,获取所述视频数据流的当前帧率信息;
42.将所述视频数据流以帧为单位进行存储;
43.以预设策略对存储的视频数据流进行图像差异度分析,确定当前视频帧变化信息;
44.根据所述输入帧率和当前视频帧变化信息确定当前视频帧的显示策略。
45.上述发送卡控制方法、计算机设备和计算机可读存储介质,通过将接收的视频数据流以帧为单位进行存储,以便以帧为单位对视频数据流进行图像差异度分析,进而确定与当前图像差异情况对应的当前视频帧变化信息,显然,图像差异度低的情况下,显示帧率可以相对较低,基于此,根据当前视频帧变化信息与当前输入帧率可确定当前视频帧的显示策略,实现显示帧率的自适应调整,以实现功耗和显示质量的均衡。
附图说明
46.为了更清楚地说明本技术实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
47.图1为一个实施例中发送卡的结构示意图;
48.图2为一个实施例中接口处理输入视频数据的流程示意图;
49.图3为一个实施例中接口的信号与时序图;
50.图4为一个实施例中写帧模块的结构示意图;
51.图5为一个实施例中帧率比较模块的结构示意图;
52.图6为一个实施例中存储模块设置帧缓冲区域的示意图;
53.图7为一个实施例中采样窗口的采样过程的示意图;
54.图8为一个实施例中帧率控制模块的结构示意图;
55.图9为另一个实施例中帧率控制模块的结构示意图;
56.图10为一个实施例中读帧模块的结构示意图;
57.图11为另一个实施例中发送卡的结构示意图;
58.图12为另一个实施例中生帧模块的结构示意图;
59.图13为一个实施例中生帧模块的视频输出接口信号与时序图;
60.图14为另一个实施例中发送单元的结构示意图;
61.图15为另一个实施例中发送单元输出接口信号与时序图;
62.图16为另一个实施例中发送卡控制方法的流程示意图;
63.图17为一个实施例中计算机设备的结构框图。
具体实施方式
64.为了便于理解本技术,下面将参照相关附图对本技术进行更全面的描述。附图中给出了本技术的实施例。但是,本技术可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使本技术的公开内容更加透彻全面。
65.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中在本技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术。
66.可以理解,本技术所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
67.需要说明的是,当一个元件被认为是“连接”另一个元件时,它可以是直接连接到另一个元件,或者通过居中元件连接另一个元件。此外,以下实施例中的“连接”,如果被连接的对象之间具有电信号或数据的传递,则应理解为“电连接”、“通信连接”等。
68.在此使用时,单数形式的“一”、“一个”和“所述/该”也可以包括复数形式,除非上下文清楚指出另外的方式。
69.在一个实施例中,如图1所示,提供了一种发送卡10,包括:接口11、写帧模块12、帧率比较模块13、帧率控制模块14和存储模块15,其中:接口11与帧率控制模块14和写帧模块12通信连接,用于接收视频数据流,将视频数据流发送给写帧模块12,并获取视频数据流的当前帧率信息,将当前帧率信息发送给帧率控制模块14;写帧模块12用于将视频数据流以帧为单位写入存储模块15以存储;帧率比较模块13与存储模块15和帧率控制模块14通信连接,用于自存储模块15读取视频数据流,并以预设策略对存储模块15中的视频数据流进行图像差异度分析,确定当前视频帧变化信息,并将当前视频帧变化信息发送给帧率控制模块14;帧率控制模块14用于根据当前帧率信息和当前视频帧变化信息确定当前视频帧的显示策略。
70.其中,接口11可以为各种类型的接口11,例如hdmi接口11和dp接口11,本实施例中,为实现数据流的高速传输,优选接口11为hdmi2.1/dp1.4接口111,hdmi2.1/dp1.4接口111实现数据流的高速传输的过程如图2所示,接口的信号与时序图如图3所示。
71.可选地,存储模块15包括ddr4内存151,以实现视频数据的高效存储和读取。
72.上述发送卡10,通过接口11获取视频数据流的当前帧率信息,以便确定当前输入帧率,且通过写帧模块12将视频数据流以帧为单位进行存储,以便帧率比较模块13以帧为
单位对视频数据流进行图像差异度分析,进而确定与当前图像差异情况对应的当前视频帧变化信息。显然,图像差异度低的情况下,显示帧率可以相对较低,基于此,根据当前视频帧变化信息与当前输入帧率可确定当前视频帧的显示策略,实现显示帧率的自适应调整,以实现功耗和显示质量的均衡。
73.在一个实施例中,如图4所示,写帧模块包括第一缓存单元和写帧单元,第一缓存单元121用于以先进先出的方式缓存视频数据流,写帧单元122与第一缓存单元121连接,用于将缓存的数据以burst(突发传输)方式连续高速写入存储模块15。
74.其中,第一缓存单元121包括fifo(first in first out,先进先出)存储器,以便以先进先出的方式缓存视频数据流。
75.在一个实施例中,如图5所示,帧率比较模块13包括:第一帧率获取单元131,用于获取视频数据流的输入帧率;比较单元132,用于根据预设采样时间和输入帧率确定采样帧数,构建采样窗口,采样窗口适于缓冲采样帧数的有效数据,控制采样窗口连续以先进先出的原则从视频数据流中缓冲当前视频帧,确定采样窗口内各相邻视频帧间的帧间像素差值和帧间像素均值;处理单元133,用于根据帧间像素均值生成适于插入当前视频帧与前一视频帧之间的插入帧,并将插入帧顺序缓存至存储模块15的预定位置,根据各帧间像素差值得到采样时间长度内的帧间平均差值,根据帧间平均差值确定当前视频帧变化信息。
76.具体地,第一帧率获取单元131通过自存储模块15读取存储的视频流数据获取输入帧率。然后比较单元132根据预设采样时间和输入帧率确定采样帧数,构建采样窗口,预设采样时间根据实际需求确定,在此不做具体限定。
77.以预设采样时间为1/30秒为例,采样帧数的具体确定过程如下:
78.在采样时间长度固定的情况下不同的输入帧率所需要缓冲的帧数不一致,帧数的计算方法是:
79.n=2,输入帧率不大于30帧时;
80.n=ceil(输入帧率/30),输入帧率大于30帧时。
81.n表示每次插帧处理需要缓冲输入源的帧数量,即采样帧数,ceil表示计算结果向上取整,例如计算结果为2.1,则n=3;n最小值取2;本实施例中,输入帧率和输出帧率的范围区间限制为[30,360],所以输入帧率与n的取值如下:
[0082]
输入帧率∈[30,60],n=2;
[0083]
输入帧率∈(30
×
(n-1),30
×
n],3≤n≤12。
[0084]
存储模块15中设置了至少两个帧缓冲(frame buffer)区域,帧率比较模块13(inter-frame compare)模块从相邻的两个帧缓冲区域连续读取数据,即读取输入源的连续两帧数据。示例性地,如图6所示,调用的帧缓冲区域数目随着帧率提升而逐步提高,插帧处理是按预设采样时间长度处理的,比较单元132同时在frame buffer 0/1,
……
,frame buffer n-1/n进行帧间比较以提高运算效率,其中frame buffer 0表示前一次运算的最后一帧缓冲帧,首次时frame buffer 0为空白帧。通过比较帧缓冲区域内的各相邻帧确定帧间像素差值,然后根据各帧间像素差值得到采样时间长度内的帧间平均差值,进而确定当前视频帧变化信息。由于当前视频帧变化信息根据帧间平均差值确定,从而将当前视频帧变化信息与输入帧率联系起来,保证整体显示策略的稳定和协调。
[0085]
在一个实施例中,比较单元132还用于获取相邻视频帧同位置的像素点的颜色值
的差值和均值,计算获取的所有差值的均值,得到相邻视频帧的帧间像素差值,将获取的所有颜色值的均值和对应坐标值的集合记为相邻视频帧的帧间像素均值。
[0086]
具体地,通过对每个像素的rgb通道分开进行差值计算,然后将最终结果相加得到像素点的颜色值的差值,由于数字图像通过控制各像素点的颜色值来控制图像的显示。因此,通过计算相邻视频帧的同位置的像素点的颜色差值,进而计算相邻视频帧的帧间像素差值,可以准确确定相邻视频帧的图像差异度。同样,根据计算得到的帧间像素均值可生成处于中间状态的插入帧,从而在插入帧显示时,保证显示图像的连贯性和协调性。
[0087]
示例性地,假设一帧图像有p个像素点,两帧之间位置一一对应的像素点做差值计算和均值计算,该帧图像的对应的像素点的差值函数为:
[0088]
diff_p(n,m)=|f(n,m).r-f(n-1,m).r|+|f(n,m).g-f(n-1,m).g|+|f(n,m).b-f(n-1,m).b|
[0089]
上式中,函数中的f(n,m)表示第n帧的第m个像素,其中n《n,m《p。
[0090]
为了提高效率,均值计算和差值计算同时进行,两帧图像像素均值计算为:
[0091]
inter_p(n,m).r=(f(n,m).r+f(n-1,m).r)/2
[0092]
inter_p(n,m).g=(f(n,m).g+f(n-1,m).g)/2
[0093]
inter_p(n,m).b=(f(n,m).b+f(n-1,m).b)/2
[0094]
根据均值计算结果可生成第n帧和第n-1帧之间的插入帧,因此,需在缓存区再开n-1块帧大小的内存用于存储插入帧的数据,按顺序写入缓存区。
[0095]
那么两帧之间的帧间像素差值:
[0096][0097]
采样时间长度内的帧间平均差值:
[0098][0099]
在一个实施例中,处理单元133还用于在帧间平均差值为零时,确定当前输入视频帧变化信息为第一信息;在帧间平均差值大于零但小于预设阈值时,确定当前输入视频帧变化信息为第二信息,在帧间平均差值大于预设阈值,确定当前输入视频帧变化信息为第三信息。
[0100]
其中,预设阈值f1表示预设的人眼感觉两帧画面突变的平均帧间差值,由实际测试人眼观察反复调整得到。
[0101]
具体地,通过设置预设阈值f1用于选择是否在输入帧率基础上进行帧率升高、降低或者不做调整。当

e=0时,且输入帧率大于允许的最小输入帧率(本实施例中为30hz),则需要输出帧率小于输出帧率;当0《

e《f1时,输出帧率和输入帧率相同;当

e≥f1时若输入帧率小于允许的最大输入帧率(本实施例中为360hz),则输出帧率需要大于输入帧率,最大输出帧率不能大于允许的最大输入帧率。
[0102]
如图7所示,以输入帧率120hz为例进行说明,插帧处理是按固定时间长度处理的,本方案采用的采样时间长度为1/30秒,所以输入帧率120hz时采样窗口最多缓冲4帧有效数
据,首帧不做插帧处理,按输入帧率进行配置显示,缓存有效帧数大于1帧又未满4帧时,以缓冲帧数为实际有效帧数去计算

e。而在采样4帧有效数据时,以4为实际有效帧数去计算

e,根据比较

e与预设阈值f1判断当前视频帧和插入帧的显示情况。当

e=0时插入帧和当前视频帧都不用显示,此时发出二进制的00信号表示当前视频帧变化信息给帧率控制模块14,同时对不显示的处理帧数进行统计记为丢帧数,若输入帧率减去单位时间内的丢帧数等于30,则不再丢帧,即确保单位时间内至少存在对应允许的最小输入帧率的视频帧。当输入帧率减去丢帧数等于30时,发出二进制的01信号表示当前视频帧变化信息给帧率控制模块14,表示不显示插入帧但显示当前视频帧,确保最小帧率为30;当0《

e《f1时,插入帧不用显示,只需显示当前视频帧,此时发出二进制的01信号表示当前视频帧变化信息给帧率控制模块14;当

e≥f1时,插入帧和当前处理帧都需要显示,此时发出二进制的11信号表示当前视频帧变化信息给帧率控制模块14,同时对单位时间内显示的插入帧数进行统计记为插帧数,若单位时间内插帧数加上输入帧率等于允许的最大输入帧率,则不再显示插入帧,以确保显示帧率不大于允许的最大输入帧率,此时发出二进制的01信号,表示不显示插入帧但显示当前视频帧,保证最大帧率为允许的最大输入帧率。
[0103]
在一个实施例中,如图8所示,帧率控制模块14包括:第二帧率获取单元141,用于接收当前帧率信息,并根据当前帧率信息获取输入帧率;控制单元142,用于接收帧率变化信息,在接收到的帧率变化信息为第一信息,且输入帧率大于第一预设值时,确定显示策略为预设的降帧显示策略;在接收到的帧率变化信息为第二信息时,确定显示策略为默认显示策略;在接收到的帧率变化信息为第三信息,且输入帧率小于第二预设值时,确定显示策略为预设的加帧显示策略。
[0104]
具体地,帧率控制模块14获取输入帧率后,当帧率控制模块14收到00信号的当前视频帧变化信息,且输入帧率大于允许的最小输入帧率,表明需要继续进行降帧处理,则不显示当前视频帧和对应插入帧;当收到01信号的视频帧变化率信息时,表示按输入帧率配置当前处理帧的输出帧率,即显示当前视频帧,不显示对应的插入帧;当收到11信号的视频帧变化率信息,且当前输入帧率小于允许的最大输入帧率时,则显示当前视频帧和对应的插入帧。
[0105]
在一个实施例中,如图9所示,控制单元142包括:帧率变化率更新子单元1421,用于接收当前视频帧变化信息;输出帧率计算子单元1422,分别与第二帧率获取单元141和帧率变化率更新子单元1421连接,用于根据当前帧率信息和当前视频帧变化信息计算输出帧率;配置子单元1423,用于根据输出帧率确定并输出配置信息。
[0106]
在一个实施例中,发送卡10还包括生帧模块16和读帧模块17;帧率控制模块14还用于根据显示策略确定第一配置参数,并将第一配置参数发送给生帧模块16;生帧模块16用于接收第一配置参数,根据第一配置参数向读帧模块17发送读取请求,并接收读帧模块17发送的待显示视频帧;读帧模块17用于响应读取请求访问存储模块15,读取待显示视频帧,并将待显示视频帧发送给生帧模块16。
[0107]
具体地,生帧模块16通过读帧模块17获取待显示视频帧,而帧率控制模块14控制读帧模块17获取待显示视频帧的过程。如上,显示策略包括三种,一是不显示当前视频帧及对应插入帧;二是显示当前视频帧但不显示对应插入帧;三是既显示当前视频帧又显示对应插入帧,帧率控制模块14根据显示策略获取对应的第一配置参数,然后将第一配置参数
发送给生帧模块16,然后根据第一配置参数生帧模块16执行显示策略,例如,第一配置参数对应显示当前视频帧但不显示对应插入帧,则生帧模块16向读帧模块17发送当前视频帧的读取请求,即只获取当前视频帧不获取插入帧。
[0108]
在一个实施例中,如图10所示,读帧模块17包括读帧单元171和第二缓存单元172,读帧单元171用于读取待显示视频帧;第二缓存单元172与第二缓存单元172连接,用于以先进先出的方式缓存读取的数据。
[0109]
其中,第二缓存单元172包括fifo存储器。
[0110]
在一个实施例中,如图11所示,发送卡10还包括发送模块18;
[0111]
帧率控制模块14还用于根据显示策略确定第二配置参数,并将第二配置参数发送给发送模块18;
[0112]
生帧模块16还用于根据第一配置参数进行配置以处理待显示视频帧,并将处理后的待显示视频帧发送给发送模块18;
[0113]
发送模块18,用于接收第二配置参数和处理后的待显示视频帧,根据第二配置参数配置传输速率,以预设方式输出处理后的待显示视频帧。
[0114]
具体地,发送模块18为最终的输出模块,因此,生帧模块16获取待显示视频帧后,需要对待显示视频帧进行处理发送给发送模块18,发送模块18实现最终的输出,由于当前视频帧的显示策略与前一帧可能不同,为了与当前视频帧的显示策略匹配,生帧模块16需要根据第一配置参数进行配置以产生输出格式的视频帧数据,帧率控制模块14需要根据显示策略控制发送模块18进行配置,调整发送模块18的传输速率。
[0115]
在一个实施例中,如图11所示,发送模块18包括配置单元181和发送单元182。配置单元181接收来自帧率控制模块14的第二配置参数,根据第二配置参数配置发送单元182,以调整发送单元182的传输速率;发送单元182接收生帧模块16处理后的待显示视频帧,并输出处理后的待显示视频帧。
[0116]
如图12所示,在一个实施例中,生帧模块16包括时钟生成(clock generation)子模块161、视频定时配置(video timing configuration)子模块,视频定时及数据包生成(video timing and packet generation)子模块163和视频帧数据(video frame data)子模块162,生帧模块16根据帧率控制模块14发送的第一配置参数设置时钟生成/视频定时配置信息(clock generation/video timing configuration),时钟生成子模块161根据时钟生成配置信息输出合适的视频时钟(video clock)给视频定时及数据包生成子模块163,视频定时配置子模块164根据视频定时配置信息输出合适的视频定时给视频定时及数据包生成子模块163,视频帧数据子模块162缓存并输出视频数据给视频定时及数据包生成模块163,视频定时及数据包生成子模块163根据视频定时配置信息配置视频时钟及视频数据产生输出格式的视频帧。其中,输出信号和时序图如图13所示,每像素的位数(bits per pixel,bpp)可以支持最大到16bit,每时钟像素数(pixel per clock,ppc)最大支持到4。
[0117]
本实施例中,上述的各模块设计基于fpga实现,具体地,可为xilinx 7系列fpga。发送模块18采用aurora ip核,aurora ip采用基于fpga的高速收发器串并转换(serdes)协议,支持8b/10b和64b/66b两种编码协议。发送模块18包括配置单元181和发送单元182,配置单元181接收来自帧率控制模块14的第二配置参数,根据第二配置参数配置发送单元182,以得到合适的aurora ip通道速率。aurora ip可配置速率范围是由fpga serdes速率
决定的,也和选择的fpga器件有关系。示例性地,2k@240fps可选择aurora 8b/10b 6.25gbps的速率。
[0118]
如图14所示,在一个实施例中,发送单元182包括视频定时和数据包检测(video timing and packet check)子单元1821、fifo存储器1822和组包(aurora packet)子单元1823,视频定时和数据包检测子单元1821用于检测视频定时和数据包,检测完成后,待显示视频帧数据经过fifo存储器1822缓存后输入到组包子单元1823进行组包,并从m路aurora通道发送出去,其中,m为正整数,通道数可以进行配置。组包子单元1823组包生成的帧包分为场同步包和视频包(视频数据),m个aurora通道采用相同的帧包格式定义。本实施例中,aurora通道最终输出采用framing接口,framing接口的信号和时序图如图13所示,包括发送和接收两组,其中tx/rx_keep用于指示tx/rx_data有效字节。
[0119]
上述发送卡10中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0120]
在一个实施例中,还提供一种显示设备,包括如上所述的发送卡10。
[0121]
该显示设备相对现有技术的优势与上述发送卡10相对现有技术的优势相同,此处不再赘述。
[0122]
在一个实施例中,如图16所示,还提供一种发送卡控制方法,包括:
[0123]
s1601:接收视频数据流,获取视频数据流的当前帧率信息;
[0124]
s1602:将视频数据流以帧为单位进行存储;
[0125]
s1603:以预设策略对存储的视频数据流进行图像差异度分析,确定当前视频帧变化信息;
[0126]
s1604:根据当前帧率信息和当前视频帧变化信息确定当前视频帧的显示策略。
[0127]
上述发送卡控制方法,通过将接收的视频数据流以帧为单位进行存储,以便以帧为单位对视频数据流进行图像差异度分析,进而确定与当前图像差异情况对应的当前视频帧变化信息,显然,图像差异度低的情况下,显示帧率可以相对较低,基于此,根据当前视频帧变化信息与当前输入帧率可确定当前视频帧的显示策略,实现显示帧率的自适应调整,以实现功耗和显示质量的均衡。
[0128]
在一个实施例中,以预设策略对视频数据流进行图像差异度分析,确定当前视频帧变化信息,包括:根据预设采样时间和输入帧率确定采样帧数,构建采样窗口,采样窗口适于缓冲采样帧数的有效数据,控制采样窗口连续以先进先出的原则从视频数据流中缓冲当前视频帧,确定采样窗口内各相邻视频帧间的帧间像素差值;根据各帧间像素差值得到采样时间长度内的帧间平均差值,根据帧间平均差值确定当前视频帧变化信息。
[0129]
在一个实施例中,控制采样窗口连续以先进先出的原则从视频数据流中缓冲当前视频帧之后,还包括:确定采样窗口内各相邻视频帧间的帧间像素均值;根据帧间像素均值生成适于插入当前视频帧与前一视频帧之间的插入帧,并将插入帧顺序缓存至预定位置。
[0130]
在一个实施例中,确定采样窗口内各相邻视频帧间的帧间像素差值,包括:以预设顺序遍历获取相邻视频帧同位置的像素点的颜色值的差值和均值,计算获取的所有差值的
均值,得到相邻视频帧的帧间像素差值。
[0131]
在一个实施例中,确定采样窗口内各相邻视频帧间的帧间像素差值,包括:以预设顺序遍历获取相邻视频帧同位置的像素点的颜色值的均值,将获取的所有颜色值的均值和对应坐标值的集合记为相邻视频帧的帧间像素均值。
[0132]
在一个实施例中,根据输入帧率和当前视频帧变化信息确定当前视频帧的显示策略,包括:在帧间平均差值为零,且输入帧率大于第一预设值时,确定显示策略为预设的降帧显示策略;在帧间平均差值大于零但小于预设阈值时,确定显示策略为默认显示策略;在帧间平均差值大于预设阈值,且输入帧率小于第二预设值时,确定显示策略为预设的加帧显示策略。
[0133]
应该理解的是,虽然图16的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图16中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0134]
在一个实施例中,如图17所示,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
[0135]
接收视频数据流,获取视频数据流的当前帧率信息;
[0136]
将视频数据流以帧为单位进行存储;
[0137]
以预设策略对存储的视频数据流进行图像差异度分析,确定当前视频帧变化信息;
[0138]
根据当前帧率信息和当前视频帧变化信息确定当前视频帧的显示策略。
[0139]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0140]
根据预设采样时间和输入帧率确定采样帧数,构建采样窗口,采样窗口适于缓冲采样帧数的有效数据,控制采样窗口连续以先进先出的原则从视频数据流中缓冲当前视频帧,确定采样窗口内各相邻视频帧间的帧间像素差值;根据各帧间像素差值得到采样时间长度内的帧间平均差值,根据帧间平均差值确定当前视频帧变化信息。
[0141]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0142]
确定采样窗口内各相邻视频帧间的帧间像素均值;根据帧间像素均值生成适于插入当前视频帧与前一视频帧之间的插入帧,并将插入帧顺序缓存至预定位置。
[0143]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0144]
以预设顺序遍历获取相邻视频帧同位置的像素点的颜色值的差值和均值,计算获取的所有差值的均值,得到相邻视频帧的帧间像素差值。
[0145]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0146]
以预设顺序遍历获取相邻视频帧同位置的像素点的颜色值的均值,将获取的所有颜色值的均值和对应坐标值的集合记为相邻视频帧的帧间像素均值。
[0147]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0148]
在帧间平均差值为零,且输入帧率大于第一预设值时,确定显示策略为预设的降帧显示策略;在帧间平均差值大于零但小于预设阈值时,确定显示策略为默认显示策略;在
帧间平均差值大于预设阈值,且输入帧率小于第二预设值时,确定显示策略为预设的加帧显示策略。
[0149]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0150]
接收视频数据流,获取视频数据流的当前帧率信息;
[0151]
将视频数据流以帧为单位进行存储;
[0152]
以预设策略对存储的视频数据流进行图像差异度分析,确定当前视频帧变化信息;
[0153]
根据当前帧率信息和当前视频帧变化信息确定当前视频帧的显示策略。
[0154]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0155]
根据预设采样时间和输入帧率确定采样帧数,构建采样窗口,采样窗口适于缓冲采样帧数的有效数据,控制采样窗口连续以先进先出的原则从视频数据流中缓冲当前视频帧,确定采样窗口内各相邻视频帧间的帧间像素差值;根据各帧间像素差值得到采样时间长度内的帧间平均差值,根据帧间平均差值确定当前视频帧变化信息。
[0156]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0157]
确定采样窗口内各相邻视频帧间的帧间像素均值;根据帧间像素均值生成适于插入当前视频帧与前一视频帧之间的插入帧,并将插入帧顺序缓存至预定位置。
[0158]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0159]
以预设顺序遍历获取相邻视频帧同位置的像素点的颜色值的差值和均值,计算获取的所有差值的均值,得到相邻视频帧的帧间像素差值。
[0160]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0161]
以预设顺序遍历获取相邻视频帧同位置的像素点的颜色值的均值,将获取的所有颜色值的均值和对应坐标值的集合记为相邻视频帧的帧间像素均值。
[0162]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0163]
在帧间平均差值为零,且输入帧率大于第一预设值时,确定显示策略为预设的降帧显示策略;在帧间平均差值大于零但小于预设阈值时,确定显示策略为默认显示策略;在帧间平均差值大于预设阈值,且输入帧率小于第二预设值时,确定显示策略为预设的加帧显示策略。
[0164]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0165]
在本说明书的描述中,参考术语“有些实施例”、“其他实施例”、“理想实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特征包含于本发明的至少
一个实施例或示例中。在本说明书中,对上述术语的示意性描述不一定指的是相同的实施例或示例。
[0166]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0167]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1