CN115225940A - 一种机顶盒及机顶盒页面显示方法 - Google Patents
一种机顶盒及机顶盒页面显示方法 Download PDFInfo
- Publication number
- CN115225940A CN115225940A CN202110406978.8A CN202110406978A CN115225940A CN 115225940 A CN115225940 A CN 115225940A CN 202110406978 A CN202110406978 A CN 202110406978A CN 115225940 A CN115225940 A CN 115225940A
- Authority
- CN
- China
- Prior art keywords
- frame
- rendering
- period
- current frame
- time
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/485—End-user interface for client configuration
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Image Generation (AREA)
Abstract
本申请提供的机顶盒及机顶盒页面显示方法,机顶盒包括处理器,当前帧为短帧时,本申请中在当前帧渲染结束后注入延时时间使得当前帧的总渲染时间达到平均渲染周期,通过将短帧调整为正常帧,避免因短帧渲染时间过短而扰乱各帧之间的渲染间隔,当前帧为长帧时,当前帧渲染结束后延时至下一帧所在帧时钟间隔的起点处,使得当前帧总渲染时间占满渲染结束时刻所在的帧时钟间隔,从而使得下一帧从帧时钟间隔的初始时刻开始进行渲染,这样可以从新的帧时钟间隔的初始时刻开始处理下一帧,实现当前帧和下一帧的帧时钟间隔之间互不重叠、互不扰乱,从而避免各帧之间在显示时出现卡顿或丢帧的现象,保证页面操作的流畅性,从而提高用户体验。
Description
技术领域
本申请涉及机顶盒技术领域,尤其涉及一种机顶盒及机顶盒页面显示方法。
背景技术
IPTV机顶盒产品通常包括浏览器和播放器,通过浏览器可浏览IPTV网页,IPTV网页多为瀑布流形式,一个页面可以持续滚动到底,但是由于机顶盒的CPU(中央处理器)和GPU(图形处理器)处理能力有限,导致页面在持续滚动过程中往往会出现卡顿或者跳帧的现象,影响页面滚动的流畅性,降低用户体验。
发明内容
本申请实施例提供了一种机顶盒及机顶盒页面显示方法,以解决页面在滚动过程中出现的卡顿或跳帧现象,增加用户体验。
第一方面,本申请提供了一种机顶盒,机顶盒包括:
网络接口,用于接收和传输帧数据;
处理器,与所述网络接口电连接,接收所述网络接口传输的帧数据,被配置为:
在当前帧渲染周期小于时间段内各帧的平均渲染周期时,所述当前帧渲染结束后延时至所述当前帧的总渲染周期达到平均渲染周期;
在当前帧渲染周期大于时间段内各帧的平均渲染周期时,所述当前帧渲染结束后延时至下一帧所在帧时钟间隔的起点处;
HDMI接口,用于接收和传输所述处理器处理后的帧数据。
第二方面,基于上述机顶盒,本申请提供了一种机顶盒页面显示方法,方法包括:
获取时间段内每一帧的渲染周期;
获取时间段内各帧的平均渲染周期;
若当前帧渲染周期小于时所述平均渲染周期,则当前帧渲染结束后延时至所述当前帧的总渲染周期达到平均渲染周期;
若当前帧渲染周期大于时所述平均渲染周期,则所述当前帧渲染结束后延时至下一帧所在帧时钟间隔的起点处。
有益效果:由上述技术方案可见,本申请提供的机顶盒及机顶盒页面显示方法,机顶盒包括处理器,其中,帧图形渲染周期大于时间段内各帧的平均渲染周期时该帧定义为长帧,帧图形渲染周期小于时间段内各帧的平均渲染周期时该帧定义为短帧,当前帧为短帧时,本申请中在当前帧渲染结束后注入延时时间使得当前帧的总渲染时间达到平均渲染周期,通过这样的处理可以将短帧调整为正常帧,避免因短帧渲染时间过短而扰乱各帧之间的渲染间隔。当前帧为长帧时,本申请中当前帧渲染结束后延时至下一帧所在帧时钟间隔的起点处,使得当前帧总渲染时间占满渲染结束时刻所在的帧时钟间隔,使下一帧延时等待开始渲染的时间,从而使得下一帧从帧时钟间隔的初始时刻开始进行渲染,这样可以从新的帧时钟间隔的初始时刻开始处理下一帧,实现当前帧和下一帧的帧时钟间隔之间互不重叠、互不扰乱。
由上述可以看出,本申请中可以通过延时使得短帧的渲染周期达到平均渲染周期,通过延时可以使得长帧的总渲染时间占满渲染结束时刻所在的帧时钟间隔,使得下一帧从新的帧时钟间隔的初始时刻开始进行渲染;其中平均渲染周期包括n个帧时钟间隔,各帧的显示周期同样包括n个帧时钟间隔,通过这样的处理,可以使各帧图像的总渲染周期为n个或(n+1)帧时钟间隔,最终各帧图像在显示时间至少为n个帧时钟间隔,从而避免各帧之间在显示时出现卡顿或丢帧的现象,保证页面操作的流畅性,从而提高用户体验。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的机顶盒中网页分层结构示意图;
图2为本申请实施例提供的机顶盒产生闪烁的过程示意图;
图3为本申请实施例提供的通过解析网页生成图形层的过程示意图;
图4为本申请实施例提供的当网页背景层分块时图形渲染的过程示意图;
图5为本申请实施例提供的当网页背景层不分块时图形渲染的过程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
机顶盒将页面显示给用户包括的阶段有图像的渲染、图像的合成和图像的显示,其中,渲染阶段网页生成图像帧后调用渲染接口,合成阶段送入帧合成器(compositor),合成器合成此时需要显示的所有图形界面,显示阶段就是最终的GPU显示输出。
下面结合图1对上述过程进行具体的说明。
如图1所示,1,2,3...9这些数字,表示帧时钟间隔,两个数字之间间隔的时间,就是图形系统的帧显示间隔周期T,为了便于描述,本申请实施例中将1,2,3...9这些数字描述为帧时钟沿1,帧时钟沿2,帧时钟沿3...帧时钟沿9。
图1中,待渲染的图形包括A帧、B帧、C帧和D帧,以A帧、B帧、C帧和D帧的渲染周期为2T为例,需要说明的是,图1中各帧的渲染周期实际少于2T,但鉴于在2T内只有一帧,因此为了方便说明,本申请中以各帧的渲染周期为2T为例。
图形渲染阶段:在帧时钟沿1时刻开始渲染A帧,经过2T的渲染周期后完成A帧的渲染,并将渲染后的A帧图形存储至图形缓冲区;
图形合成阶段:在帧时钟沿3时刻图形合成执行器检测到图形缓冲区有新帧A帧,此时立即执行对A帧的锁存;
图形显示阶段:在帧时钟沿4时刻图形显示系统检测到图形合成执行器锁存A帧,此时立即执行对A帧的显示。
同理,在帧时钟沿3时刻开始渲染B帧,经过2T的渲染周期后完成B帧的渲染,并将渲染后的B帧图形存储至图形缓冲区,在帧时钟沿5时刻锁存B帧,在帧时钟沿6时刻开始显示B帧。
在帧时钟沿5时刻开始渲染C帧,经过2T的渲染周期后完成C帧的渲染,并将渲染后的C帧图形存储至图形缓冲区,在帧时钟沿7时刻锁存C帧,在帧时钟沿8时刻开始显示C帧。
在帧时钟沿7时刻开始渲染D帧,经过2T的渲染周期后完成D帧的渲染,并将渲染后的D帧图形存储至图形缓冲区,在帧时钟沿9时刻锁存D帧,在帧时钟沿10时刻开始显示D帧。
最终显示的结果为AABBCC...,各帧均匀显示,各帧显示周期一直,显示流畅性较高,用户体验较好。
由于机顶盒处理页面的不同,渲染的处理时间不尽相同,如果网页内容变化较大,则渲染该帧的时间间隔较长,如果网页内容变化较小,则渲染该帧的时间间隔较短,因此各帧之间的渲染周期并不一致,我们将渲染间隔较长的帧称为长帧,将渲染间隔较短的帧称为短帧,具体地可以通过这样判断:当前帧的渲染周期大于2T(上述内容中的渲染周期)时我们称为长帧,当前帧的渲染周期小于2T时我们称为短帧。
上述中假设的前提是机顶盒渲染网页的周期是相对恒定的(2T),实际上,由于用户操作规律不通,网页渲染的周期不会那么均匀,比如频繁操作遥控器的时候,此时帧的渲染数量会多,导致CPU/GPU忙,可能每一帧的渲染周期会拉长,那么在这一段时间内的平均渲染周期就要加长,并以此作为基准,用于注入新帧的等待时间和帧显示延时的判断依据,所以在本申请实施例中还需要基于动态帧率统计技术来统计一段时间内的平均周期。
在有些实施例中,以100帧数据作为统计样本(实际工程应用时需要根据实验结果微调),记录每一帧的渲染时间,形成一个记录表(软件上可以实现为一个FIFO),然后以记录表为基础,计算所有帧的平均渲染时间,作为当前一段时间的平均统计渲染周期,当新帧来临时,剔除旧的帧时间,并再次重新计算平均统计渲染周期。
进一步地,机顶盒内核绘制完一帧图像后,一般会调用类似于eglSwapBuffers的函数接口,表示画完一帧,我们只要记录调用此接口的时间,并与上一帧的时间求差便可以得到每一帧的周期。
在有些实施例中,判断当前帧为长帧或短帧还可以为:当前帧的渲染周期大于平均渲染周期时我们称为长帧,当前帧的渲染周期小于平均渲染周期时我们称为短帧。
上述提供了判断当前帧为长帧或短帧的方式,在判断前需要获取一时间段内的平均渲染周期,然后基于当前帧的渲染周期与平均渲染周期的关系进行比较来判断。
在实施例一中,页面出现短帧的情况,依然延续上述的渲染周期为2T,如图2所示,图2中C帧为短帧,其渲染周期小于2T,而A帧、B帧和D帧的渲染周期仍为2T,在帧时钟沿1时渲染A帧,在帧时钟沿3时锁存A帧,在帧时钟沿4-帧时钟沿5过程、在帧时钟沿5-帧时钟沿6过程显示A帧,A帧的显示结果为AA,在帧时钟沿3时渲染B帧,在帧时钟沿5时锁存B帧,在帧时钟沿6时-帧时钟沿7显示B帧,理想情况下还会在帧时钟沿7-帧时钟沿8显示B帧,但是由于C帧的存在导致B帧少显示一个沿,具体理由如下:
在帧时钟沿5时渲染C帧,由于C帧的渲染周期为T,因此在时钟沿6时锁存C帧,在帧时钟沿7-帧时钟沿8时显示C帧,因此在帧时钟沿7-帧时钟沿8原本显示B的沿内跳过B帧而显示C帧。
由于D帧的渲染周期为正常,因此在帧时钟沿7时渲染D帧,在帧时钟沿9时锁存D帧,在帧时钟沿10时开始显示D帧。
因此在帧时钟沿7-帧时钟沿10期间一直显示C帧,分别为帧时钟沿7-帧时钟沿8、帧时钟沿8-帧时钟沿9、帧时钟沿9-帧时钟沿19一直显示C帧,C帧的显示结果为CCC。
综合上述,在C帧为短帧时,最终的显示结果为AABCCC,其中B帧一闪而过即跳帧,C帧像卡住一样多一次显示即卡顿。
在实施例二中,页面出现长帧的情况,依然延续上述的渲染周期为2T,如图3所示,图3中B帧为长帧,其渲染周期大于2T,而A帧、C帧和D帧的渲染周期仍为2T,在帧时钟沿1时渲染A帧,在帧时钟沿3时锁存A帧,在时钟沿4开始显示A帧。
在帧时钟沿3时渲染B帧,由于B帧渲染周期大于2T,以2.5T为例,则在帧时钟沿6时才锁存B帧,在帧时钟沿7时开始显示B帧。
结合A帧的显示情况,从帧时钟沿4-帧时钟沿7一直在显示A帧,即帧时钟沿4-帧时钟沿5、帧时钟沿5-帧时钟沿6、帧时钟沿6-帧时钟沿7一直在显示A帧,A帧的显示结果为AAA。
帧时钟沿5.5时刻完成B帧的渲染,在帧时钟沿5.5时开始渲染C帧,由于C帧默认渲染周期为2T,默认在帧时钟沿7时锁存C帧,在帧时钟沿8时开始显示C帧。
结合B帧的显示情况,只在帧时钟沿7-帧时钟沿8显示B,即B的显示结果为B。
由于D帧渲染周期正常,按照渲染的正常规律和节奏进行,在帧时钟沿7时开始渲染D帧,在帧时钟沿9时锁存D帧,在帧时钟沿10时开始显示D。
那么,从帧时钟沿8-帧时钟沿10一直显示C,即帧时钟沿8-帧时钟沿9、帧时钟沿9-帧时钟沿10显示C,那么C的显示结果为CC。
综合上述,各帧最终的显示结果为AAABCC,其中B帧一闪而过即跳帧,A帧像卡住一样多一次显示即卡顿。
综述,当各帧中出现短帧或长帧时,显示时会出现跳帧和卡顿现象,需要说明的是,上述实施例中以各帧中仅有短帧或仅有长帧为例,当然也可能各帧中既有短帧和长帧,那么将上述的短帧和长帧结合起来就是各帧中既有短帧和长帧的情形,再此不再赘述。
当各帧中出现短帧或长帧时,会打乱原本的渲染节奏,最终打乱显示节奏,出现跳帧或卡顿现象。
在实施例三中,如图4所示,C帧为短帧,按照实际情形即实施例一,最终的显示结果为AABCCC,为了达到目标结果AABBCC,在本实施例中,通过将C帧的渲染时间延长至达到平均渲染周期,以2T为例,即C帧在渲染后添加一个延时时间,即第一延时时间,则C帧的渲染所需时间与第一延时时间之和等于平均渲染周期,实施例1中在帧时钟沿6时锁存C,在帧时钟沿7时开始显示C,而实施例三中,在帧时钟沿7时锁存C,在帧时钟沿8时开始显示C,这样通过将C帧的渲染时间延长至达到平均渲染周期,这样的处理可以将短帧调整为正常帧,避免因短帧渲染时间过短而扰乱各帧之间的渲染间隔。
具体地,在帧时钟沿1时渲染A帧,在帧时钟沿3时锁存A帧,在帧时钟沿4时开始显示A帧,在帧时钟沿3时渲染B帧,在帧时钟沿5时锁存B帧,在帧时钟沿6时开始显示B帧,在帧时钟沿5时渲染C帧,通过延时,在帧时钟沿7时锁存C帧,在帧时钟沿8时开始显示C帧,在帧时钟沿7时渲染D帧,在帧时钟沿9时锁存D帧,在帧是中研10时开始显示D帧。这样,最终的显示结果为AABBCC。
可以看出,通过将短帧的渲染时间延长至达到平均渲染周期,这样的处理可以将短帧调整为正常帧,避免因短帧渲染时间过短而扰乱各帧之间的渲染间隔,进而实现均匀的显示,保证显示的流畅性,避免跳帧或卡顿现象。
在实施例四中,如图5所示,B帧为长帧,按照实际情形即实施例二,最终的显示结果为AAABCC,为了解决出现的跳帧或卡顿,在本申请实施例中,通过将B帧渲染结束后延时至下一帧所在帧时钟间隔的起点处可避免跳帧或卡顿问题。具体地如下:B帧渲染结束时刻在帧时钟沿5-帧时钟沿6之间,本申请中需要将B帧的渲染时间延长至帧时钟沿6处,即让B帧的渲染过程占满帧时钟沿3-帧时钟沿6,通过注入第二延时时间将帧时钟沿5-帧时钟沿6填满,这样可以使得下一帧开始渲染时间不是紧挨当前帧渲染结束时间,而是从一个新的帧时钟沿开始渲染下一帧。
具体地,在帧时钟沿1时开始渲染A帧,在帧时钟沿3时锁存A帧,在帧时钟沿4时开始显示A帧,在帧时钟沿3时开始渲染B帧,在帧时钟沿6时锁存B帧,在帧时钟沿7时开始显示B帧,在帧时钟沿6时开始显示C帧,在帧时钟沿8时锁存C帧,在帧时钟沿9时开始显示C帧,在帧时钟沿8时开始渲染D帧,在帧时钟沿10时锁存D帧,在帧时钟沿11时开始显示D帧。这样,得到的最终显示结果为AAABBCC。
需要说明的是,单看图形显示阶段AAABBCC,原来实施例二种B帧只显示T时间,现在可以显示正常的2T时间了,至于A帧显示了3T的时间,这个无法避免的,毕竟B帧由于渲染的原因,占据了较长时间,B帧没有完全生成之前,是无法提前显示B帧的,这个由于机顶盒内核处理机制或者说是硬件性能瓶颈导致。当然,多显示一个T和少显示一个T相比,显然少显示T时间对用户体验影响要大,因为这一帧图像没有显示足够的时间,导致用户感觉没看清楚而直接跳到下一个画面,即感觉中间少了内容;儿多显示一帧则不会让用户感觉少了内容,至多给用户慢动作的感觉,而且一个T的时间很短,用户感觉不是很明显。因此,AAABBCC的显示结果为本申请中较优的方案。
可以看出,当前帧为长帧时,本申请中当前帧渲染结束后延时至下一帧所在帧时钟间隔的起点处,使得当前帧总渲染时间占满渲染结束时刻所在的帧时钟间隔,使下一帧延时等待开始渲染的时间,从而使得下一帧从帧时钟间隔的初始时刻开始进行渲染,这样可以从新的帧时钟间隔的初始时刻开始处理下一帧,实现当前帧和下一帧的帧时钟间隔之间互不重叠、互不扰乱,保证显示的流畅性,避免跳帧或卡顿现象。
此外,需要在当前帧渲染周期小于平均渲染周期时,将所述当前帧延时结束时对应时刻的时间戳传输至图形合成器。需要在当前帧渲染周期大于平均渲染周期时,将所述当前帧延时结束时对应时刻的时间戳传输至下一帧。即在短帧时,需要将对当前帧的渲染进行延时以及具体的结束时刻告知图形合成器,在长帧时,需要将对当前帧的渲染进行延时以及具体的结束时刻告知下一帧,下一帧在接收到信号时,便不在继续等待,而是开始执行渲染。
基于上述机顶盒,本申请还提供了一种机顶盒页面显示方法,方案包括:
获取时间段内每一帧的渲染周期。
具体包括:当前帧对应的eglSwapBuffers函数接口时间与上一帧对应的eglSwapBuffers函数接口时间之间的差值为所述当前帧的渲染周期。
获取时间段内各帧的平均渲染周期。
具体包括:将所有帧各自的渲染周期输出FIFO队列中;
计算所述FIFO队列中各帧的平均渲染周期;
将计算得到的平均渲染周期存入全局属性。
在有些实施例中,若当前帧渲染周期小于时所述平均渲染周期,则当前帧渲染结束后延时至所述当前帧的总渲染周期达到平均渲染周期。具体地:
如图4所示,C帧为短帧,按照实际情形即实施例一,最终的显示结果为AABCCC,为了达到目标结果AABBCC,在本实施例中,通过将C帧的渲染时间延长至达到平均渲染周期,以2T为例,即C帧在渲染后添加一个延时时间,即第一延时时间,则C帧的渲染所需时间与第一延时时间之和等于平均渲染周期,实施例1中在帧时钟沿6时锁存C,在帧时钟沿7时开始显示C,而实施例三中,在帧时钟沿7时锁存C,在帧时钟沿8时开始显示C,这样通过将C帧的渲染时间延长至达到平均渲染周期,这样的处理可以将短帧调整为正常帧,避免因短帧渲染时间过短而扰乱各帧之间的渲染间隔。
具体地,在帧时钟沿1时渲染A帧,在帧时钟沿3时锁存A帧,在帧时钟沿4时开始显示A帧,在帧时钟沿3时渲染B帧,在帧时钟沿5时锁存B帧,在帧时钟沿6时开始显示B帧,在帧时钟沿5时渲染C帧,通过延时,在帧时钟沿7时锁存C帧,在帧时钟沿8时开始显示C帧,在帧时钟沿7时渲染D帧,在帧时钟沿9时锁存D帧,在帧是中研10时开始显示D帧。这样,最终的显示结果为AABBCC。
可以看出,通过将短帧的渲染时间延长至达到平均渲染周期,这样的处理可以将短帧调整为正常帧,避免因短帧渲染时间过短而扰乱各帧之间的渲染间隔,进而实现均匀的显示,保证显示的流畅性,避免跳帧或卡顿现象。
在有些实施例中,若当前帧渲染周期大于时所述平均渲染周期,则所述当前帧渲染结束后延时至下一帧所在帧时钟间隔的起点处。具体地:
如图5所示,B帧为长帧,按照实际情形即实施例二,最终的显示结果为AAABCC,为了解决出现的跳帧或卡顿,在本申请实施例中,通过将B帧渲染结束后延时至下一帧所在帧时钟间隔的起点处可避免跳帧或卡顿问题。具体地如下:B帧渲染结束时刻在帧时钟沿5-帧时钟沿6之间,本申请中需要将B帧的渲染时间延长至帧时钟沿6处,即让B帧的渲染过程占满帧时钟沿3-帧时钟沿6,通过注入第二延时时间将帧时钟沿5-帧时钟沿6填满,这样可以使得下一帧开始渲染时间不是紧挨当前帧渲染结束时间,而是从一个新的帧时钟沿开始渲染下一帧。
具体地,在帧时钟沿1时开始渲染A帧,在帧时钟沿3时锁存A帧,在帧时钟沿4时开始显示A帧,在帧时钟沿3时开始渲染B帧,在帧时钟沿6时锁存B帧,在帧时钟沿7时开始显示B帧,在帧时钟沿6时开始显示C帧,在帧时钟沿8时锁存C帧,在帧时钟沿9时开始显示C帧,在帧时钟沿8时开始渲染D帧,在帧时钟沿10时锁存D帧,在帧时钟沿11时开始显示D帧。这样,得到的最终显示结果为AAABBCC。
可以看出,当前帧为长帧时,本申请中当前帧渲染结束后延时至下一帧所在帧时钟间隔的起点处,使得当前帧总渲染时间占满渲染结束时刻所在的帧时钟间隔,使下一帧延时等待开始渲染的时间,从而使得下一帧从帧时钟间隔的初始时刻开始进行渲染,这样可以从新的帧时钟间隔的初始时刻开始处理下一帧,实现当前帧和下一帧的帧时钟间隔之间互不重叠、互不扰乱,保证显示的流畅性,避免跳帧或卡顿现象。
由上述技术方案可见,本申请提供的机顶盒及机顶盒页面显示方法,机顶盒包括处理器,其中,帧图形渲染周期大于时间段内各帧的平均渲染周期时该帧定义为长帧,帧图形渲染周期小于时间段内各帧的平均渲染周期时该帧定义为短帧,当前帧为短帧时,本申请中在当前帧渲染结束后注入延时时间使得当前帧的总渲染时间达到平均渲染周期,通过这样的处理可以将短帧调整为正常帧,避免因短帧渲染时间过短而扰乱各帧之间的渲染间隔。当前帧为长帧时,本申请中当前帧渲染结束后延时至下一帧所在帧时钟间隔的起点处,使得当前帧总渲染时间占满渲染结束时刻所在的帧时钟间隔,使下一帧延时等待开始渲染的时间,从而使得下一帧从帧时钟间隔的初始时刻开始进行渲染,这样可以从新的帧时钟间隔的初始时刻开始处理下一帧,实现当前帧和下一帧的帧时钟间隔之间互不重叠、互不扰乱。
由上述可以看出,本申请中可以通过延时使得短帧的渲染周期达到平均渲染周期,通过延时可以使得长帧的总渲染时间占满渲染结束时刻所在的帧时钟间隔,使得下一帧从新的帧时钟间隔的初始时刻开始进行渲染;其中平均渲染周期包括n个帧时钟间隔,各帧的显示周期同样包括n个帧时钟间隔,通过这样的处理,可以使各帧图像的总渲染周期为n个或(n+1)帧时钟间隔,最终各帧图像在显示时间至少为n个帧时钟间隔,从而避免各帧之间在显示时出现卡顿或丢帧的现象,保证页面操作的流畅性,从而提高用户体验。
最后应说明的是:本实施例采用递进方式描述,不同部分可以相互参照;另外,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种机顶盒,其特征在于,所述机顶盒包括:
网络接口,用于接收和传输帧数据;
处理器,与所述网络接口电连接,接收所述网络接口传输的帧数据,被配置为:
在当前帧渲染周期小于时间段内各帧的平均渲染周期时,所述当前帧渲染结束后延时至所述当前帧的总渲染周期达到平均渲染周期;
在当前帧渲染周期大于时间段内各帧的平均渲染周期时,所述当前帧渲染结束后延时至下一帧所在帧时钟间隔的起点处;
HDMI接口,用于接收和传输所述处理器处理后的帧数据。
2.根据权利要求1所述的机顶盒,其特征在于,所述处理器,还被配置为:
在当前帧渲染周期小于平均渲染周期时,将所述当前帧延时结束时对应时刻的时间戳传输至图形合成器。
3.根据权利要求1所述的机顶盒,其特征在于,所述处理器,还被配置为:
在当前帧渲染周期大于平均渲染周期时,将所述当前帧延时结束时对应时刻的时间戳传输至下一帧。
4.根据权利要求1所述的机顶盒,其特征在于,所述处理器,还被配置为:获取时间段内所有帧的平均渲染周期。
5.根据权利要求1所述的机顶盒,其特征在于,所述处理器,还被配置为:获取时间段内每一帧的渲染周期。
6.一种机顶盒页面显示方法,其特征在于,所述方法包括:
获取时间段内每一帧的渲染周期;
获取时间段内各帧的平均渲染周期;
若当前帧渲染周期小于时所述平均渲染周期,则当前帧渲染结束后延时至所述当前帧的总渲染周期达到平均渲染周期;
若当前帧渲染周期大于时所述平均渲染周期,则所述当前帧渲染结束后延时至下一帧所在帧时钟间隔的起点处。
7.根据权利要求6所述的机顶盒页面显示方法,其特征在于,获取时间段内每一帧的渲染周期,包括:
当前帧对应的eglSwapBuffers函数接口时间与上一帧对应的eglSwapBuffers函数接口时间之间的差值为所述当前帧的渲染周期。
8.根据权利要求6所述的机顶盒页面显示方法,其特征在于,获取时间段内各帧的平均渲染周期,包括:
将所有帧各自的渲染周期输出FIFO队列中;
计算所述FIFO队列中各帧的平均渲染周期;
将计算得到的平均渲染周期存入全局属性。
9.根据权利要求6所述的机顶盒页面显示方法,其特征在于,在当前帧渲染周期小于平均渲染周期时,将所述当前帧延时结束时对应时刻的时间戳传输至图形合成器。
10.根据权利要求6所述的机顶盒页面显示方法,其特征在于,在当前帧渲染周期大于平均渲染周期时,将所述当前帧延时结束时对应时刻的时间戳传输至下一帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110406978.8A CN115225940B (zh) | 2021-04-15 | 2021-04-15 | 一种机顶盒及机顶盒页面显示方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110406978.8A CN115225940B (zh) | 2021-04-15 | 2021-04-15 | 一种机顶盒及机顶盒页面显示方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115225940A true CN115225940A (zh) | 2022-10-21 |
CN115225940B CN115225940B (zh) | 2023-07-28 |
Family
ID=83604704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110406978.8A Active CN115225940B (zh) | 2021-04-15 | 2021-04-15 | 一种机顶盒及机顶盒页面显示方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115225940B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102510533A (zh) * | 2011-12-12 | 2012-06-20 | 深圳市九洲电器有限公司 | 一种消除视频抓图延时的方法、装置及机顶盒 |
US8644691B1 (en) * | 2012-11-29 | 2014-02-04 | Nvidia Corporation | Adaptively and accurately seeking a video frame of a video sequence rendered on a data processing device |
WO2017030380A1 (en) * | 2015-08-20 | 2017-02-23 | Lg Electronics Inc. | Digital device and method of processing data therein |
US20180300838A1 (en) * | 2017-04-13 | 2018-10-18 | Microsoft Technology Licensing, Llc | Intra-frame real-time frequency control |
CN108681439A (zh) * | 2018-05-29 | 2018-10-19 | 北京维盛泰科科技有限公司 | 基于帧率控制的均匀显示方法 |
CN109242944A (zh) * | 2018-09-28 | 2019-01-18 | 京东方科技集团股份有限公司 | 一种显示方法和装置 |
CN109819232A (zh) * | 2019-02-19 | 2019-05-28 | 京东方科技集团股份有限公司 | 一种图像处理方法及图像处理装置、显示装置 |
US20190172181A1 (en) * | 2017-12-04 | 2019-06-06 | Nvidia Corporation | Systems and methods for frame time smoothing based on modified animation advancement and use of post render queues |
CN110503708A (zh) * | 2019-07-03 | 2019-11-26 | 华为技术有限公司 | 一种基于垂直同步信号的图像处理方法及电子设备 |
CN112394896A (zh) * | 2020-11-18 | 2021-02-23 | 努比亚技术有限公司 | 一种反向投屏帧率控制方法、设备及计算机可读存储介质 |
CN112601127A (zh) * | 2020-11-30 | 2021-04-02 | Oppo(重庆)智能科技有限公司 | 视频显示方法及装置、电子设备、计算机可读存储介质 |
-
2021
- 2021-04-15 CN CN202110406978.8A patent/CN115225940B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102510533A (zh) * | 2011-12-12 | 2012-06-20 | 深圳市九洲电器有限公司 | 一种消除视频抓图延时的方法、装置及机顶盒 |
US8644691B1 (en) * | 2012-11-29 | 2014-02-04 | Nvidia Corporation | Adaptively and accurately seeking a video frame of a video sequence rendered on a data processing device |
WO2017030380A1 (en) * | 2015-08-20 | 2017-02-23 | Lg Electronics Inc. | Digital device and method of processing data therein |
US20180300838A1 (en) * | 2017-04-13 | 2018-10-18 | Microsoft Technology Licensing, Llc | Intra-frame real-time frequency control |
US20190172181A1 (en) * | 2017-12-04 | 2019-06-06 | Nvidia Corporation | Systems and methods for frame time smoothing based on modified animation advancement and use of post render queues |
CN108681439A (zh) * | 2018-05-29 | 2018-10-19 | 北京维盛泰科科技有限公司 | 基于帧率控制的均匀显示方法 |
CN109242944A (zh) * | 2018-09-28 | 2019-01-18 | 京东方科技集团股份有限公司 | 一种显示方法和装置 |
CN109819232A (zh) * | 2019-02-19 | 2019-05-28 | 京东方科技集团股份有限公司 | 一种图像处理方法及图像处理装置、显示装置 |
CN110503708A (zh) * | 2019-07-03 | 2019-11-26 | 华为技术有限公司 | 一种基于垂直同步信号的图像处理方法及电子设备 |
CN112394896A (zh) * | 2020-11-18 | 2021-02-23 | 努比亚技术有限公司 | 一种反向投屏帧率控制方法、设备及计算机可读存储介质 |
CN112601127A (zh) * | 2020-11-30 | 2021-04-02 | Oppo(重庆)智能科技有限公司 | 视频显示方法及装置、电子设备、计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
王海峰;孙益辉;陈福民;: "分布式实时渲染中帧同步的实现", 微计算机应用, no. 10, pages 67 - 70 * |
Also Published As
Publication number | Publication date |
---|---|
CN115225940B (zh) | 2023-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9912992B2 (en) | Method and system for enhancing user experience for remoting technologies | |
US10210845B2 (en) | Method and apparatus for compensating for variable refresh rate display range limitations | |
CN110018874B (zh) | 垂直同步方法、装置、终端及存储介质 | |
CN113347466B (zh) | 一种数据处理方法、装置和存储介质 | |
US11217279B2 (en) | Method and device for adjusting video playback speed | |
KR102426012B1 (ko) | 데스크탑 환경에서 애플리케이션 렌더링에서 온 스크린까지 시간을 동적으로 감소시키기 위한 방법 장치 | |
JP6477495B2 (ja) | 情報処理装置、および情報処理方法、並びにプログラム | |
CN111432262B (zh) | 页面视频渲染方法及装置 | |
CN113038222B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
WO2023151489A1 (zh) | 一种视频处理方法、装置、设备及存储介质 | |
KR20210126080A (ko) | 사용자 선택들에 응답하여 인터랙티브 미디어 타이틀들의 재생을 전진시키기 위한 기법들 | |
US8194065B1 (en) | Hardware system and method for changing a display refresh rate | |
CN115225940A (zh) | 一种机顶盒及机顶盒页面显示方法 | |
US11513937B2 (en) | Method and device of displaying video comments, computing device, and readable storage medium | |
KR20140133096A (ko) | 가상화 웹 iptv 및 이를 이용한 동영상 스트리밍 방법 | |
JP2000029456A (ja) | ディスプレイ描画・表示方法およびディスプレイ装置 | |
CN114401452A (zh) | 一种视频预览方法、终端及存储介质 | |
CN114626974A (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
CN111405362A (zh) | 视频输出方法、装置、视频设备及计算机可读存储介质 | |
WO2020191040A1 (en) | Timing compensation and correlation of input with frames in a video game application | |
US11984059B2 (en) | Display control apparatus, transmission apparatus, display control method, and program | |
US11763778B2 (en) | Reduced vertical blanking regions for display systems that support variable refresh rates | |
CN115221436A (zh) | 一种机顶盒及机顶盒页面显示方法 | |
CN115567757A (zh) | 播放处理方法、装置、设备及存储介质 | |
CN114586371A (zh) | 使用自适应缓冲区流式传送视频内容的方法、系统和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |