一种视频首帧缩略图的平滑显示方法及存储介质与流程

文档序号:25231690发布日期:2021-05-28 14:39阅读:130来源:国知局
一种视频首帧缩略图的平滑显示方法及存储介质与流程

本发明涉及图片显示技术领域,尤其涉及一种视频首帧缩略图的平滑显示方法及存储介质。



背景技术:

数字视频变换盒(英语:settopbox,简称stb),通常称作机顶盒或机上盒,是一个连接电视机与外部信号源的设备。它可以将压缩的数字信号转成电视内容,并在电视机上显示出来。信号来源包括有线电缆、卫星天线、宽带网络以及地面广播。其中,机顶盒接收的内容除了模拟电视可以提供的图像、声音之外,还包括数字内容,例如电子节目指南、因特网网页、字幕等等。使用户能在现有电视机上观看数字电视节目,并可通过网络进行交互式数字化娱乐、教育和商业化活动。

当前机顶盒本地播放功能中,用户想要从很多视频中找到想看的视频,则机顶盒需要提供用户浏览本地视频文件的方式,通常浏览方法为:自定义标志视频的图片+视频名字来显示,具体参见图1。

但是受限于机顶盒芯片性能原因,由于获取一个视频的首帧缩略图存在较长时间损耗的,普遍在1~3秒左右。因此在进行视频页浏览时,由于图片缓存较慢,将使得图像显示缓慢、转页不流畅,出现卡顿、延时等问题;若对全部视频页内进行统一缓存,则将导致内存占用过多。



技术实现要素:

本发明提供一种视频首帧缩略图的平滑显示方法及存储介质,解决了现有视频页浏览方法图像显示缓慢、转页不流畅、内存占用过多的技术问题。

为解决以上技术问题,本发明提供一种视频首帧缩略图的平滑显示方法,包括步骤:

s1、获取当前设备的数据处理性能,获取用户查看所述设备中视频项目的平均查看时长;

s2、获取所述视频项目平滑过渡所需的时间差值,并设计预设平滑算法;

s3、将所述数据处理性能与所述平均查看时长代入所述预设算法,计算出目标分组长度与目标线程量;

s4、根据所述目标分组长度创建显示池和缓冲池,根据所述目标线程量创建线程池;

s5、获取用户的查看意图,并开启所述线程池将目标视频项目缓冲到所述显示池并显示。

本基础方案根据当前设备的数据处理性能,结合用户的个人查看习惯,以及视频项目平滑过渡时所需的时间差值,设计出规范的预设平滑算法,计算出最贴合当前设备及用户的目标分组长度、目标线程量,从而根据目标分组长度划分出显示池与缓冲池,在显示池显示期间,辅以目标线程量线程的线程池,可提前在缓冲池缓冲下一个分组的缓冲数据(视频缩略图),在时间差值的限定下,此缓冲机制可实现视频缩略图的平滑展示,并通过限定显示池与缓冲池的分组长度(目标分组长度),实现低内存占用。

在进一步地实施方案中,所述步骤s1包括:

s11、获取当前设备的每一线程处理每一视频项目的缩略图的处理时长;

s12、从所述当前设备中获取历史查看数据,计算出所述用户的平均查看时长;或者根据大数据分析预先设置用户的平均查看时长。

本方案根据当前设备每一线程处理每一视频项目的缩略图的实际处理时长,可贴合当前设备的实际处理性能,使得计算数据更为真实;根据历史查看数据计算用户地平均查看时长,可贴合用户的个人习惯,使得视频项目缩略图的显示更为人性化、个性化,而根据大数据分析计算得到的平均查看时长,则更为快速,且可兼顾大部分的用户习惯,从而节约数据处理流程。

在进一步地实施方案中,所述步骤s2包括:

s21、计算浮标到达预加载临界点之后的总浏览时长,以及对应数量的所述视频项目的总缓冲时长;

s22、根据所述总浏览时长、所述总缓冲时长和所述时间差值设计预设平滑算法。

本方案设置预加载临界点作为触发缓冲标志,并以此触发缓冲标志的触发时刻作为起始点,可直接得到此时的用户从当前显示池进入下一显示池的总浏览时长,根据视频项目的数量,可统计从确定预加载到完成加载的总缓冲长;最后结合时间差值进行等式变换,设计得到预设平滑算法,从而通过控制预设平滑算法的可控变量,从而可确定出最恰当数量的线程,以实现视频项目缩略图的平滑展示效果。

在进一步地实施方案中,当所述预加载临界点为显示池中心坐标时:

所述总浏览时长为,

所述总缓冲时长为,

所述预设平滑算法为:t1-t2>δt;

其中,t1为所述总浏览时长,t2为所述总缓冲时长,r为所述平均查看时长,x为所述目标分组长度,t为所述处理时长,p为所述目标线程量,δt为所述时间差值。

本方案根据预加载临界点的坐标以显示池的长度,可根据用户的平均查看时长和剩余视频项目的数量计算得到总浏览时长,根据每一线程的处理时长可清晰地确定当前设备从触发缓冲到缓冲完成的总缓冲时长,而为实现平滑过渡,总浏览时长和总缓冲时长的差值应当大于时间差值,如此,即可得到对应的数值关系,即预设平滑算法公式。

在进一步地实施方案中所述步骤s4包括:

s41、获取当前视频列表中视频项目的项目总数;

s42、根据所述目标分组长度,按次序地将所述视频项目划分多个项目组;

s43、根据所述项目组的数量创建显示池和缓冲池;

s44、创建所述目标线程量的线程组成线程池。

在进一步地实施方案中,所述步骤s43具体为:当所述项目组的数量大于2时,从前至后设置一个后缓冲池、一个所述显示池和一个前缓冲池。

本方案通过划分当前视频列表区域中所有的视频项目,将分块区域创造性的跟缓冲池结合,从而将一个未知长度的图片池变成可控长度的显示池和缓冲池,限定固定长度的显示池和缓冲池,可以合理地运用有限内存缓冲当前视频列表中的任意目标视频项目。

在进一步地实施方案中,在所述步骤s5中,所述获取用户的查看意图具体为:

获取所述显示池中浮标的坐标,当判断到所述坐标向前移动进位且到达预加载临界点时,则确定出用户的查看意图为向前翻看;当判断到所述坐标向后移动进位到达预加载临界点时,则确定出用户的查看意图为向后翻看。

本方案根据用户在显示池中浮标的坐标,可确定用户在当前显示池中具体的浏览位置,在浮标到达预加载临界点且进行了相关动作后,根据其动机即可预判用户的查看意图。

在进一步地实施方案中,所述开启所述线程池将目标视频项目缓冲到所述显示池并显示具体包括:

当所述查看意图为向前翻看时,预加载前一位所述项目组中所有所述视频项目的缓冲数据,并将所述后缓冲池、所述显示池、所述前缓冲池的坐标向前进一位;并在显示屏中显示所述显示池中的所述视频项目;

当所述查看意图为向后翻看时,预加载后一位所述项目组中所有所述视频项目的缓冲数据,并将所述后缓冲池、所述显示池、所述前缓冲池的坐标向后退一位;并在显示屏中显示所述显示池中的所述视频项目。

还包括,当所述显示池处于当前所述当前视频列表的起始端/末端时,其与所述后缓冲池/所述前缓冲池重合;并在显示屏中显示所述显示池中的所述视频项目。

本方案根据用户不同的查看意图,设置了对应的预加载流程,清晰地规划了对后缓冲池、显示池、前缓冲池在不同的查看意图下的区域变化;其中,预加载以步进的形式改变后缓冲池、显示池、前缓冲池,使得设备在每次缓存时仅需要获取一组目标分组长度的视频项目的缓冲数据,可以最小地数据缓冲量满足用户的浏览需求。

本发明还提供一种存储介质,其上存储有计算机程序,所述计算机程序用于被上述语音唤醒率测试系统或测试设备加载,以实现上述语音唤醒率测试方法。其中,存储介质可以是磁碟、光盘、只读存储器(readonlymemory,rom)或者随机存取器(randomaccessmemory,ram)等。

附图说明

图1是本发明实施例提供的背景技术中提供的缩略图浏览方法的示意图;

图2是本发明实施例1提供的一种视频首帧缩略图的平滑显示方法工作流程图;

图3是本发明实施例1提供的浮标向前移动(视频列表中向下移动)时后缓冲池、显示池、前缓冲池和浮标的状态示意图;

图4是本发明实施例1提供的图3中浮标继续向前移动的示意图;

图5是本发明实施例1提供的图4中浮标继续向前移动的示意图;

图6是本发明实施例1提供的浮标向后移动(视频列表中向上移动)时后缓冲池、显示池、前缓冲池和浮标的状态示意图;

图7是本发明实施例1提供的图6浮标继续向后移动的示意图;

图8是本发明实施例1提供的图7浮标继续向后移动的示意图。

具体实施方式

下面结合附图具体阐明本发明的实施方式,实施例的给出仅仅是为了说明目的,并不能理解为对本发明的限定,包括附图仅供参考和说明使用,不构成对本发明专利保护范围的限制,因为在不脱离本发明精神和范围基础上,可以对本发明进行许多改变。

实施例1

本发明实施例提供的一种视频首帧缩略图的平滑显示方法,如图2所示,在本实施例中,包括步骤s1~s5:

s1、获取当前设备的数据处理性能,获取用户查看设备中视频项目的平均查看时长,包括步骤s11~s12:

s11、获取当前设备的每一线程处理每一视频项目的缩略图的处理时长;

s12、从当前设备中获取历史查看数据,计算出用户的平均查看时长;或者根据大数据分析预先设置用户的平均查看时长。

本实施例根据当前设备每一线程处理每一视频项目的缩略图的实际处理时长,可贴合当前设备的实际处理性能,使得计算数据更为真实;根据历史查看数据计算用户地平均查看时长,可贴合用户的个人习惯,使得视频项目缩略图的显示更为人性化、个性化,而根据大数据分析计算得到的平均查看时长,则更为快速,且可兼顾大部分的用户习惯,从而节约数据处理流程。

s2、获取视频项目平滑过渡所需的时间差值,并设计预设平滑算法,包括步骤s21~s22:

s21、计算浮标到达预加载临界点之后的总浏览时长,以及对应数量的视频项目的总缓冲时长;

s22、根据总浏览时长、总缓冲时长和时间差值设计预设平滑算法。

在本实施例中,当预加载临界点为显示池中心坐标时,显示池的长度为目标分组长度x,则距离用户浏览完当前显示池还剩下个视频项目,此时,;

总浏览时长为,

总缓冲时长为,

预设平滑算法为:t1-t2>δt;

即:

其中,t1为总浏览时长,t2为总缓冲时长,r为平均查看时长,x为目标分组长度,t为处理时长,p为目标线程量,δt为时间差值。

优选地,根据平滑显示的需求,时间差值δt最恰当的值为0。在其它实施例中,时间差值δt具体的数值可根据具体的用户需求进行设置。

本实施例设置预加载临界点作为触发缓冲标志,并以此触发缓冲标志的触发时刻作为起始点,可直接得到此时的用户从当前显示池进入下一显示池的总浏览时长,根据视频项目的数量,可统计从确定预加载到完成加载的总缓冲长;最后结合时间差值进行等式变换,设计得到预设平滑算法,从而通过控制预设平滑算法的可控变量,从而可确定出最恰当数量的线程,以实现视频项目缩略图的平滑展示效果。

本实施例根据预加载临界点的坐标以显示池的长度,可根据用户的平均查看时长和剩余视频项目的数量计算得到总浏览时长,根据每一线程的处理时长可清晰地确定当前设备从触发缓冲到缓冲完成的总缓冲时长,而为实现平滑过渡,总浏览时长和总缓冲时长的差值应当大于时间差值,如此,即可得到对应的数值关系,即预设平滑算法公式。

s3、将数据处理性能与平均查看时长代入预设算法,计算出目标分组长度与目标线程量;

s4、根据目标分组长度创建显示池和缓冲池,根据目标线程量创建线程池,包括步骤s41~s44:

s41、获取当前视频列表中视频项目的项目总数;

s42、根据目标分组长度,按次序地将视频项目划分多个项目组;

s43、根据项目组的数量创建显示池和缓冲池;

在进行项目组的划分时,当余数不满足目标分组长度时,依旧划分为一个项目组。例如,当项目总数为65、目标分组长度为10时,划分为7个项目组。

当项目组的数量等于1时,仅需要设置一个显示池即可直接获取当前列表中所有视频项目的缓冲数据(即缩略图)。

当项目组的数量等于2时,仅需要设置一个显示池和一个缓冲池,即可直接获取当前列表中所有视频项目的缓冲数据(即缩略图)。

当项目组的数量大于2时,从前至后设置一个后缓冲池、一个显示池和一个前缓冲池。在本实施例中,后缓冲池、前缓冲池分别设置为居于显示池的左右两侧。

s44、创建目标线程量的线程组成线程池。

本实施例通过划分当前视频列表区域中所有的视频项目,将分块区域创造性的跟缓冲池结合,从而将一个未知长度的图片池变成可控长度的显示池和缓冲池,限定固定长度的显示池和缓冲池,可以合理地运用有限内存缓冲当前视频列表中的任意目标视频项目。

s5、获取用户的查看意图,并开启线程池将目标视频项目缓冲到显示池并显示。

其中,获取用户的查看意图具体为:

获取显示池中浮标的坐标,当判断到坐标向前移动进位且到达预加载临界点时,则确定出用户的查看意图为向前翻看;当判断到坐标向后移动进位到达预加载临界点时,则确定出用户的查看意图为向后翻看。

本实施例根据用户在显示池中浮标的坐标,可确定用户在当前显示池中具体的浏览位置,在浮标到达预加载临界点且进行了相关动作后,根据其动机即可预判用户的查看意图。

其中,开启线程池将目标视频项目缓冲到显示池并显示具体包括:

当查看意图为向前翻看时,预加载前一位项目组中所有视频项目的缓冲数据,并将后缓冲池、显示池、前缓冲池的坐标向前进一位;并在显示屏中显示显示池中的视频项目;

当查看意图为向后翻看时,预加载后一位项目组中所有视频项目的缓冲数据,并将后缓冲池、显示池、前缓冲池的坐标向后退一位;并在显示屏中显示显示池中的视频项目。

还包括,当显示池处于当前视频列表的起始端/末端时,其与后缓冲池/前缓冲池重合;并在显示屏中显示显示池中的视频项目。

本实施例根据用户不同的查看意图,设置了对应的预加载流程,清晰地规划了对后缓冲池、显示池、前缓冲池在不同的查看意图下的区域变化;其中,预加载以步进的形式改变后缓冲池、显示池、前缓冲池,使得设备在每次缓存时仅需要获取一组目标分组长度的视频项目的缓冲数据,可以最小地数据缓冲量满足用户的浏览需求。

在本实施例中,参见图3~图8,根据用户意图缓冲视频项目的缩略图的工作过程如下:

预先根据目标分组长度x将当前视频列表划分为多个项目组,例如:(0~x)、(x~2x)、(2x~3x)……

其中,back、focus、forward分别代表后缓冲池、显示池、前缓冲池。

一、当显示池focus处于当前视频列表的起始端(从左至右为起止顺序)时,显示池focus与后缓冲池back重合,具体包括第(0~x)个视频项目。

当浮标移动到显示池focus中的第个视频项目时,则预加载前(x~2x)个视频项目放入前缓冲池forward。当显示池focus移动到(x~2x)位置时,且当浮标再次移动到显示池focus中的第个视频项目时,后缓冲池back包括前0~x个视频项目,即此时,后缓冲池back、显示池focus、前缓冲池forward分别处于当前视频列表(0~x)、(x~2x)、(2x~3x)的位置。

二、当项目组的数量为7时,且显示池focus处于当前视频列表的末端(从左至右为起止顺序)时,显示池focus与前缓冲池forward重合,具体包括第(6x~7x)个视频项目,后缓冲池back具体包括第(5x~6x)个视频项目。

此时,当用户将当前视频列表翻到底返回起始端时,一开始,显示池focus与前缓冲池forward重合,显示池focus、后缓冲池back分别处于当前视频列表(6x~7x)、(5x~6x)的位置;随后,显示池focus与后缓冲池back重合,显示池focus、前缓冲池forward分别处于当前视频列表(5x~6x)、(6x~7x)的位置,若浮标移动到显示池focus中的第个视频项目的位置,则获取第(4x~5x)个视频项目缓冲到后缓冲池back。

如上,以此类推。

最终即可在显示屏中显示出缓冲到显示池中的视频项目的缩略图,并实现平滑过渡。

本发明实施例根据当前设备的数据处理性能,结合用户的个人查看习惯,以及视频项目平滑过渡时所需的时间差值,设计出规范的预设平滑算法,计算出最贴合当前设备及用户的目标分组长度、目标线程量,从而根据目标分组长度划分出显示池focus与缓冲池,在显示池focus显示期间,辅以目标线程量线程的线程池,可提前在缓冲池缓冲下一个分组的缓冲数据(视频缩略图),在时间差值的限定下,此缓冲机制可实现视频缩略图的平滑展示,并通过限定显示池focus与缓冲池的分组长度(目标分组长度),实现低内存占用。

实施例2

本发明还提供一种存储介质,其上存储有计算机程序,计算机程序用于被上述语音唤醒率测试系统或测试设备加载,以实现上述语音唤醒率测试方法。其中,存储介质可以是磁碟、光盘、只读存储器(readonlymemory,rom)或者随机存取器(randomaccessmemory,ram)等。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1