CN111836104B - 显示设备及显示方法 - Google Patents

显示设备及显示方法 Download PDF

Info

Publication number
CN111836104B
CN111836104B CN202010657734.2A CN202010657734A CN111836104B CN 111836104 B CN111836104 B CN 111836104B CN 202010657734 A CN202010657734 A CN 202010657734A CN 111836104 B CN111836104 B CN 111836104B
Authority
CN
China
Prior art keywords
frame
display
decoded
frames
frame number
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
CN202010657734.2A
Other languages
English (en)
Other versions
CN111836104A (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.)
Hisense Visual Technology Co Ltd
Original Assignee
Hisense Visual Technology Co Ltd
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 Hisense Visual Technology Co Ltd filed Critical Hisense Visual Technology Co Ltd
Priority to CN202010657734.2A priority Critical patent/CN111836104B/zh
Publication of CN111836104A publication Critical patent/CN111836104A/zh
Application granted granted Critical
Publication of CN111836104B publication Critical patent/CN111836104B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44012Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本申请实施例提供了一种显示设备及显示方法,显示设备包括显示器和控制器,控制器被配置为:响应于接收到用户输入的用于指示播放流媒体片源的控制信号,获取服务器在预设周期内传输的流媒体片源的帧序列;从帧序列中选取第一数量的图像帧进行解码,得到已解码帧;根据已解码帧的总帧数为0,且存在上一预设周期缓存的历史已解码帧,渲染并控制显示器显示历史已解码帧;根据已解码帧的总帧数与渲染帧数相同,渲染并控制显示器显示已解码帧;根据已解码帧的总帧数大于渲染帧数,缓存第二数量时间最新的已解码帧,渲染并控制显示器显示第三数量时间次新的已解码帧。本申请在网络环境波动时能够保障较低延时和较高帧率,提升了显示效果。

Description

显示设备及显示方法
技术领域
本申请涉及显示设备技术领域,尤其涉及一种显示设备及显示方法。
背景技术
随着5G技术、wifi6技术等通信技术的日趋成熟,基于云服务的业务越来越普遍。云游戏作为基于云服务的代表性业务,逐渐在显示设备如智能电视上流行开来。部分竞技类云游戏如射击类云游戏、赛车类云游戏等云游戏对显示设备提出了很高的要求,为保障游戏效果,显示设备既要保障低延时显示,又要保障高帧率显示。相关技术中,通过提高显示设备的硬件水平能够提高游戏体验。例如,提高显示设备的解码能力和渲染能力后,当网络环境稳定时,显示设备在抓取到云游戏的流媒体片源的图像帧后能够及时处理并显示,从而降低延时、提高帧率。然而,当网络环境波动时,显示设备在某一时间段内抓取到的图像帧会减少或增加,如一个60HZ的流媒体片源,显示设备在前一秒可能抓取到55帧图像帧,在后一秒可能抓取到70帧图像帧,而显示设备的硬件水平为渲染60帧图像帧,这种情况下,就会导致流媒体片源的播放帧率发生抖动,并且低延时也无法保障,导致云游戏体验效果不佳。
发明内容
为解决上述技术问题,本申请提供了一种显示设备及显示方法。
第一方面,本申请提供了一种显示设备,该显示设备包括:
显示器;
控制器,与所述显示器连接,所述控制器被配置为:
响应于接收到用户输入的用于指示播放流媒体片源的控制信号,获取服务器在预设周期内传输的所述流媒体片源的帧序列;
从所述帧序列中选取第一数量的图像帧进行解码,得到已解码帧,所述第一数量为不超过显示设备在所述预设周期内的解码帧数的最大值;
根据所述已解码帧的总帧数为0,且存在上一预设周期缓存的历史已解码帧,渲染并控制所述显示器显示所述历史已解码帧;
根据所述已解码帧的总帧数与所述渲染帧数相同,渲染并控制所述显示器显示所述已解码帧;
根据所述已解码帧的总帧数大于所述渲染帧数,缓存第二数量时间最新的所述已解码帧,渲染并控制所述显示器显示第三数量时间次新的所述已解码帧。
在一些实施例中,所述从所述帧序列中选取第一数量的图像帧进行解码,得到已解码帧,包括:
判断所述帧序列的帧数是否大于显示设备在所述预设周期内的解码帧数;
如果所述帧序列的帧数大于显示设备在所述预设周期内的解码帧数,间隔第四数量图像帧丢帧,直到剩余图像帧的总帧数等于所述解码帧数,将所述剩余图像帧确定为待解码帧;
如果所述帧序列的帧数小于或等于显示设备在所述预设周期内的解码帧数,将所述帧序列中的全部图像帧均确定为所述待解码帧;
将所述待解码帧进行解码,得到已解码帧。
在一些实施例中,根据所述已解码帧的总帧数为0,且不存在上一预设周期缓存的历史已解码帧,控制所述显示器保持显示上一预设周期显示的历史已解码帧。
在一些实施例中,根据所述已解码帧的总帧数与所述渲染帧数相同,丢弃上一预设周期缓存的历史已解码帧。
在一些实施例中,根据所述已解码帧的总帧数大于所述渲染帧数,丢弃上一预设周期缓存的历史已解码帧。
第二方面,本申请实施例提供了一种显示方法,该显示方法包括:
响应于接收到用户输入的用于指示播放流媒体片源的控制信号,获取服务器在预设周期内传输的所述流媒体片源的帧序列;
从所述帧序列中选取第一数量的图像帧进行解码,得到已解码帧,所述第一数量为不超过显示设备在所述预设周期内的解码帧数的最大值;
根据所述已解码帧的总帧数为0,且存在上一预设周期缓存的历史已解码帧,渲染并控制所述显示器显示所述历史已解码帧;
根据所述已解码帧的总帧数与所述渲染帧数相同,渲染并控制所述显示器显示所述已解码帧;
根据所述已解码帧的总帧数大于所述渲染帧数,缓存第二数量时间最新的所述已解码帧,渲染并控制所述显示器显示第三数量时间次新的所述已解码帧。
本申请提供的显示设备及显示方法的有益效果包括:
本申请实施例通过将预设周期内服务器传输的流媒体片源的帧序列进行筛选,得到第一数量的图像帧,将该第一数量的图像帧进行解码得到已解码帧,避免了将帧序列的全部图像帧进行解码导致的解码超时,延误后续渲染流程而导致的延时过高的问题;第一数量取不超过显示设备在所述预设周期内的解码帧数的最大值,使得在预设周期的已解码帧的帧数超过渲染能力时,可渲染并控制显示器显示第三数量的已解码帧,缓存第二数量的已解码帧,从而在下一个周期没有产生已解码帧时,可渲染并显示缓存的历史已解码帧,保障了帧率;在一个预设周期,如果产生了已解码帧,无论是否存在历史已解码帧,直接渲染并显示该预设周期的已解码帧,保障了实时性。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1中示例性示出了根据一些实施例的显示设备与控制装置之间操作场景的示意图;
图2中示例性示出了根据一些实施例的显示设备200的硬件配置框图;
图3中示例性示出了根据一些实施例的控制装置100的硬件配置框图;
图4中示例性示出了根据一些实施例的显示设备200中软件配置示意图;
图5中示例性示出了根据一些实施例的显示设备200中应用程序的图标控件界面显示示意图;
图6中示例性示出了根据一些实施例的显示方法的流程示意图;
图7中示例性示出了根据一些实施例的解码方法的流程示意图。
具体实施方式
为使本申请的目的、实施方式和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
基于本申请描述的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所附权利要求保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明 (Unless otherwise indicated)。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
本申请中使用的术语“遥控器”,是指电子设备(如本申请中公开的显示设备)的一个组件,通常可在较短的距离范围内无线控制电子设备。一般使用红外线和/或射频(RF)信号和/ 或蓝牙与电子设备连接,也可以包括WiFi、无线USB、蓝牙、动作传感器等功能模块。例如:手持式触摸遥控器,是以触摸屏中用户界面取代一般遥控装置中的大部分物理内置硬键。
本申请中使用的术语“手势”,是指用户通过一种手型的变化或手部运动等动作,用于表达预期想法、动作、目的/或结果的用户行为。
图1中示例性示出了根据实施例中显示设备与控制装置之间操作场景的示意图。如图1 中示出,用户可通过移动终端300和控制装置100操作显示设备200。
在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式等,通过无线或其他有线方式来控制显示设备 200。用户可以通过遥控器上按键,语音输入、控制面板输入等输入用户指令,来控制显示设备200。如:用户可以通过遥控器上音量加减键、频道控制键、上/下/左/右的移动按键、语音输入按键、菜单键、开关机按键等输入相应控制指令,来实现控制显示设备200的功能。
在一些实施例中,也可以使用移动终端、平板电脑、计算机、笔记本电脑、和其他智能设备以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。该应用程序通过配置可以在与智能设备关联的屏幕上,在直观的用户界面(UI)中为用户提供各种控制。
在一些实施例中,移动终端300可与显示设备200安装软件应用,通过网络通信协议实现连接通信,实现一对一控制操作的和数据通信的目的。如:可以实现用移动终端300与显示设备200建立控制指令协议,将遥控控制键盘同步到移动终端300上,通过控制移动终端 300上用户界面,实现控制显示设备200的功能。也可以将移动终端300上显示音视频内容传输到显示设备200上,实现同步显示功能。
如图1中还示出,显示设备200还与服务器400通过多种通信方式进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400 可以向显示设备200提供各种内容和互动。示例的,显示设备200通过发送和接收信息,以及电子节目指南(EPG)互动,接收软件程序更新,或访问远程储存的数字媒体库。服务器400 可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。通过服务器400提供视频点播和广告服务等其他网络服务内容。
显示设备200,可以液晶显示器、OLED显示器、投影显示设备。具体显示设备类型,尺寸大小和分辨率等不作限定,本领技术人员可以理解的是,显示设备200可以根据需要做性能和配置上一些改变。
显示设备200除了提供广播接收电视功能之外,还可以附加提供计算机支持功能的智能网络电视功能,包括但不限于,网络电视、智能电视、互联网协议电视(IPTV)等。
图2中示例性示出了根据示例性实施例中显示设备200的硬件配置框图。
在一些实施例中,显示设备200中包括控制器250、调谐解调器210、通信器220、检测器230、输入/输出接口255、显示器275,音频输出接口285、存储器260、供电电源290、用户接口265、外部装置接口240中的至少一种。
在一些实施例中,显示器275,用于接收源自第一处理器输出的图像信号,进行显示视频内容和图像以及菜单操控界面的组件。
在一些实施例中,显示器275,包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件。
在一些实施例中,显示视频内容,可以来自广播电视内容,也可以是说,可通过有线或无线通信协议接收的各种广播信号。或者,可显示来自网络通信协议接收来自网络服务器端发送的各种图像内容。
在一些实施例中,显示器275用于呈现显示设备200中产生且用于控制显示设备200的用户操控UI界面。
在一些实施例中,根据显示器275类型不同,还包括用于驱动显示的驱动组件。
在一些实施例中,显示器275为一种投影显示器,还可以包括一种投影装置和投影屏幕。
在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如:通信器可以包括Wifi芯片221,蓝牙通信协议芯片222,有线以太网通信协议芯片223等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。
在一些实施例中,显示设备200可以通过通信器220与外部控制装置100或内容提供设备之间建立控制信号和数据信号发送和接收。
在一些实施例中,用户接口265,可用于接收控制装置100(如:红外遥控器等)红外控制信号。
在一些实施例中,检测器230是显示设备200用于采集外部环境或与外部交互的信号。
在一些实施例中,检测器230包括光接收器,用于采集环境光线强度的传感器,可以通过采集环境光可以自适应性显示参数变化等。
在一些实施例中,检测器230还可以包括图像采集器232,如相机、摄像头等,可以用于采集外部环境场景,以及用于采集用户的属性或与用户交互手势,可以自适应变化显示参数,也可以识别用户手势,以实现与用户之间互动的功能。
在一些实施例中,检测器230还可以包括温度传感器等,如通过感测环境温度。
在一些实施例中,显示设备200可自适应调整图像的显示色温。如当温度偏高的环境时,可调整显示设备200显示图像色温偏冷色调,或当温度偏低的环境时,可以调整显示设备200 显示图像偏暖色调。
在一些实施例中,检测器230还可声音采集器231等,如麦克风,可以用于接收用户的声音。示例性的,包括用户控制显示设备200的控制指令的语音信号,或采集环境声音,用于识别环境场景类型,使得显示设备200可以自适应适应环境噪声。
在一些实施例中,如图2所示,输入/输出接口255被配置为,可进行控制器250与外部其他设备或其他控制器250之间的数据传输。如接收外部设备的视频信号数据和音频信号数据、或命令指令数据等。
在一些实施例中,外部装置接口240可以包括,但不限于如下:可以高清多媒体接口HDMI 接口241、模拟或数据高清分量输入接口243、复合视频输入接口242、USB输入接口244、RGB端口等任一个或多个接口。也可以是上述多个接口形成复合性的输入/输出接口。
在一些实施例中,如图2所示,调谐解调器210被配置为,通过有线或无线接收方式接收广播电视信号,可以进行放大、混频和谐振等调制解调处理,从多多个无线或有线广播电视信号中解调出音视频信号,该音视频信号可以包括用户所选择电视频道频率中所携带的电视音视频信号,以及EPG数据信号。
在一些实施例中,调谐解调器210解调的频点受到控制器250的控制,控制器250可根据用户选择发出控制信号,以使的调制解调器响应用户选择的电视信号频率以及调制解调该频率所携带的电视信号。
在一些实施例中,广播电视信号可根据电视信号广播制式不同区分为地面广播信号、有线广播信号、卫星广播信号或互联网广播信号等。或者根据调制类型不同可以区分为数字调制信号,模拟调制信号等。或者根据信号种类不同区分为数字信号、模拟信号等。
在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。这样,机顶盒将接收到的广播电视信号调制解调后的电视音视频信号输出给主体设备,主体设备经过第一输入/输出接口接收音视频信号。
在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250可以控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器275上显示UI对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。
在一些实施例中,所述对象可以是可选对象中的任何一个,例如超链接或图标。与所选择的对象有关操作,例如:显示连接到超链接页面、文档、图像等操作,或者执行与所述图标相对应程序的操作。用于选择UI对象用户命令,可以是通过连接到显示设备200的各种输入装置(例如,鼠标、键盘、触摸板等)输入命令或者与由用户说出语音相对应的语音命令。
如图2所示,控制器250包括随机存取存储器251(Random Access Memory,RAM)、只读存储器252(Read-Only Memory,ROM)、视频处理器270、音频处理器280、其他处理器 253(例如:图形处理器(Graphics Processing Unit,GPU)、中央处理器254(CentralProcessing Unit,CPU)、通信接口(Communication Interface),以及通信总线256(Bus)中的至少一种。其中,通信总线连接各个部件。
在一些实施例中,RAM 251用于存储操作系统或其他正在运行中的程序的临时数据
在一些实施例中,ROM 252用于存储各种系统启动的指令。
在一些实施例中,ROM 252用于存储一个基本输入输出系统,称为基本输入输出系统(Basic Input Output System,BIOS)。用于完成对系统的加电自检、系统中各功能模块的初始化、系统的基本输入/输出的驱动程序及引导操作系统。
在一些实施例中,在收到开机信号时,显示设备200电源开始启动,CPU运行ROM252 中系统启动指令,将存储在存储器的操作系统的临时数据拷贝至RAM 251中,以便于启动或运行操作系统。当操作系统启动完成后,CPU再将存储器中各种应用程序的临时数据拷贝至 RAM 251中,然后,以便于启动或运行各种应用程序。
在一些实施例中,CPU处理器254,用于执行存储在存储器中操作系统和应用程序指令。以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。
在一些示例性实施例中,CPU处理器254,可以包括多个处理器。多个处理器可包括一个主处理器以及一个或多个子处理器。主处理器,用于在预加电模式中执行显示设备200一些操作,和/或在正常模式下显示画面的操作。一个或多个子处理器,用于在待机模式等状态下一种操作。
在一些实施例中,图形处理器253,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等。包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象。以及包括渲染器,对基于运算器得到的各种对象,进行渲染,上述渲染后的对象用于显示在显示器上。
在一些实施例中,视频处理器270被配置为将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧数转换、分辨率转换、图像合成等等视频处理,可得到直接可显示设备200上显示或播放的信号。
在一些实施例中,视频处理器270,包括解复用模块、视频解码模块、图像合成模块、帧数转换模块、显示格式化模块等。
其中,解复用模块,用于对输入音视频数据流进行解复用处理,如输入MPEG-2,则解复用模块进行解复用成视频信号和音频信号等。
视频解码模块,则用于对解复用后的视频信号进行处理,包括解码和缩放处理等。
图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的GUI信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。
帧数转换模块,用于对转换输入视频帧数,如将60Hz帧数转换为120Hz帧数或240Hz 帧数,通常的格式采用如插帧方式实现。
显示格式化模块,则用于将接收帧数转换后视频输出信号,改变信号以符合显示格式的信号,如输出RGB数据信号。
在一些实施例中,图形处理器253可以和视频处理器可以集成设置,也可以分开设置,集成设置的时候可以执行输出给显示器的图形信号的处理,分离设置的时候可以分别执行不同的功能,例如GPU+FRC(Frame Rate Conversion))架构。
在一些实施例中,音频处理器280,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理,得到可以在扬声器中播放的声音信号。
在一些实施例中,视频处理器270可以包括一颗或多颗芯片组成。音频处理器,也可以包括一颗或多颗芯片组成。
在一些实施例中,视频处理器270和音频处理器280,可以单独的芯片,也可以于控制器一起集成在一颗或多颗芯片中。
在一些实施例中,音频输出,在控制器250的控制下接收音频处理器280输出的声音信号,如:扬声器286,以及除了显示设备200自身携带的扬声器之外,可以输出至外接设备的发声装置的外接音响输出端子287,如:外接音响接口或耳机接口等,还可以包括通信接口中的近距离通信模块,例如:用于进行蓝牙扬声器声音输出的蓝牙模块。
供电电源290,在控制器250控制下,将外部电源输入的电力为显示设备200提供电源供电支持。供电电源290可以包括安装显示设备200内部的内置电源电路,也可以是安装在显示设备200外部电源,在显示设备200中提供外接电源的电源接口。
用户接口265,用于接收用户的输入信号,然后,将接收用户输入信号发送给控制器250。用户输入信号可以是通过红外接收器接收的遥控器信号,可以通过网络通信模块接收各种用户控制信号。
在一些实施例中,用户通过控制装置100或移动终端300输入用户命令,用户输入接口则根据用户的输入,显示设备200则通过控制器250响应用户的输入。
在一些实施例中,用户可在显示器275上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
在一些实施例中,“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(Graphic User Interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget 等可视的界面元素。
存储器260,包括存储用于驱动显示设备200的各种软件模块。如:第一存储器中存储的各种软件模块,包括:基础模块、检测模块、通信模块、显示控制模块、浏览器模块、和各种服务模块等中的至少一种。
基础模块用于显示设备200中各个硬件之间信号通信、并向上层模块发送处理和控制信号的底层软件模块。检测模块用于从各种传感器或用户输入接口中收集各种信息,并进行数模转换以及分析管理的管理模块。
例如,语音识别模块中包括语音解析模块和语音指令数据库模块。显示控制模块用于控制显示器进行显示图像内容的模块,可以用于播放多媒体图像内容和UI界面等信息。通信模块,用于与外部设备之间进行控制和数据通信的模块。浏览器模块,用于执行浏览服务器之间数据通信的模块。服务模块,用于提供各种服务以及各类应用程序在内的模块。同时,存储器260还用存储接收外部数据和用户数据、各种用户界面中各个项目的图像以及焦点对象的视觉效果图等。
图3示例性示出了根据示例性实施例中控制装置100的配置框图。如图3所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口、存储器、供电电源。
控制装置100被配置为控制显示设备200,以及可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。如:用户通过操作控制装置100上频道加减键,显示设备200响应频道加减的操作。
在一些实施例中,控制装置100可是一种智能设备。如:控制装置100可根据用户需求安装控制显示设备200的各种应用。
在一些实施例中,如图1所示,移动终端300或其他智能电子设备,可在安装操控显示设备200的应用之后,可以起到控制装置100类似功能。如:用户可以通过安装应用,在移动终端300或其他智能电子设备上可提供的图形用户界面的各种功能键或虚拟按钮,以实现控制装置100实体按键的功能。
控制器110包括处理器112和RAM 113和ROM 114、通信接口130以及通信总线。控制器用于控制控制装置100的运行和操作,以及内部各部件之间通信协作以及外部和内部的数据处理功能。
通信接口130在控制器110的控制下,实现与显示设备200之间控制信号和数据信号的通信。如:将接收到的用户输入信号发送至显示设备200上。通信接口130可包括WiFi芯片 131、蓝牙模块132、NFC模块133等其他近场通信模块中至少之一种。
用户输入/输出接口140,其中,输入接口包括麦克风141、触摸板142、传感器143、按键144等其他输入接口中至少一者。如:用户可以通过语音、触摸、手势、按压等动作实现用户指令输入功能,输入接口通过将接收的模拟信号转换为数字信号,以及数字信号转换为相应指令信号,发送至显示设备200。
输出接口包括将接收的用户指令发送至显示设备200的接口。在一些实施例中,可以红外接口,也可以是射频接口。如:红外信号接口时,需要将用户输入指令按照红外控制协议转化为红外控制信号,经红外发送模块进行发送至显示设备200。再如:射频信号接口时,需将用户输入指令转化为数字信号,然后按照射频控制信号调制协议进行调制后,由射频发送端子发送至显示设备200。
在一些实施例中,控制装置100包括通信接口130和输入输出接口140中至少一者。控制装置100中配置通信接口130,如:WiFi、蓝牙、NFC等模块,可将用户输入指令通过WiFi协议、或蓝牙协议、或NFC协议编码,发送至显示设备200.
存储器190,用于在控制器的控制下存储驱动和控制控制设备200的各种运行程序、数据和应用。存储器190,可以存储用户输入的各类控制信号指令。
供电电源180,用于在控制器的控制下为控制装置100各元件提供运行电力支持。可以电池及相关控制电路。
在一些实施例中,系统可以包括内核(Kernel)、命令解析器(shell)、文件系统和应用程序。内核、shell和文件系统一起组成了基本的操作系统结构,它们让用户可以管理文件、运行程序并使用系统。上电后,内核启动,激活内核空间,抽象硬件、初始化硬件参数等,运行并维护虚拟内存、调度器、信号及进程间通信(IPC)。内核启动后,再加载Shell和用户应用程序。应用程序在启动后被编译成机器码,形成一个进程。
参见图4,在一些实施例中,将系统分为四层,从上至下分别为应用程序(Applications) 层(简称“应用层”),应用程序框架(Application Framework)层(简称“框架层”),安卓运行时(Android runtime)和系统库层(简称“系统运行库层”),以及内核层。
在一些实施例中,应用程序层中运行有至少一个应用程序,这些应用程序可以是操作系统自带的窗口(Window)程序、系统设置程序、时钟程序、相机应用等;也可以是第三方开发者所开发的应用程序,比如嗨见程序、K歌程序、魔镜程序等。在具体实施时,应用程序层中的应用程序包不限于以上举例,实际还可以包括其它应用程序包,本申请实施例对此不做限制。
框架层为应用程序层的应用程序提供应用编程接口 (application programminginterface,API)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层相当于一个处理中心,这个中心决定让应用层中的应用程序做出动作。应用程序通过API接口,可在执行中访问系统中的资源和取得系统的服务
如图4所示,本申请实施例中应用程序框架层包括管理器(Managers),内容提供者(Content Provider)等,其中管理器包括以下模块中的至少一个:活动管理器(ActivityManager) 用与和系统中正在运行的所有活动进行交互;位置管理器(Location Manager)用于给系统服务或应用提供了系统位置服务的访问;文件包管理器(Package Manager)用于检索当前安装在设备上的应用程序包相关的各种信息;通知管理器(NotificationManager)用于控制通知消息的显示和清除;窗口管理器(Window Manager)用于管理用户界面上的括图标、窗口、工具栏、壁纸和桌面部件。
在一些实施例中,活动管理器用于:管理各个应用程序的生命周期以及通常的导航回退功能,比如控制应用程序的退出(包括将显示窗口中当前显示的用户界面切换到系统桌面)、打开、后退(包括将显示窗口中当前显示的用户界面切换到当前显示的用户界面的上一级用户界面)等。
在一些实施例中,窗口管理器用于管理所有的窗口程序,比如获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕,控制显示窗口变化(例如将显示窗口缩小显示、抖动显示、扭曲变形显示等)等。
在一些实施例中,系统运行库层为上层即框架层提供支撑,当框架层被使用时,安卓操作系统会运行系统运行库层中包含的C/C++库以实现框架层要实现的功能。
在一些实施例中,内核层是硬件和软件之间的层。如图4所示,内核层至少包含以下驱动中的至少一种:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、WIFI驱动、USB驱动、HDMI驱动、传感器驱动(如指纹传感器,温度传感器,触摸传感器、压力传感器等)等。
在一些实施例中,内核层还包括用于进行电源管理的电源驱动模块。
在一些实施例中,图4中的软件架构对应的软件程序和/或模块存储在图2或图3所示的第一存储器或第二存储器中。
在一些实施例中,对于具备触控功能的显示设备,以分屏操作为例,显示设备接收用户作用于显示屏上的输入操作(如分屏操作),内核层可以根据输入操作产生相应的输入事件,并向应用程序框架层上报该事件。由应用程序框架层的活动管理器设置与该输入操作对应的窗口模式(如多窗口模式)以及窗口位置和大小等。应用程序框架层的窗口管理根据活动管理器的设置绘制窗口,然后将绘制的窗口数据发送给内核层的显示驱动,由显示驱动在显示屏的不同显示区域显示与之对应的应用界面。
在一些实施例中,如图5中所示,应用程序层包含至少一个应用程序可以在显示器中显示对应的图标控件,如:直播电视应用程序图标控件、视频点播应用程序图标控件、媒体中心应用程序图标控件、应用程序中心图标控件、游戏应用图标控件等。
在一些实施例中,直播电视应用程序,可以通过不同的信号源提供直播电视。例如,直播电视应用程可以使用来自有线电视、无线广播、卫星服务或其他类型的直播电视服务的输入提供电视信号。以及,直播电视应用程序可在显示设备200上显示直播电视信号的视频。
在一些实施例中,视频点播应用程序,可以提供来自不同存储源的视频。不同于直播电视应用程序,视频点播提供来自某些存储源的视频显示。例如,视频点播可以来自云存储的服务器端、来自包含已存视频节目的本地硬盘储存器。
在一些实施例中,媒体中心应用程序,可以提供各种多媒体内容播放的应用程序。例如,媒体中心,可以为不同于直播电视或视频点播,用户可通过媒体中心应用程序访问各种图像或音频所提供服务。
在一些实施例中,应用程序中心,可以提供储存各种应用程序。应用程序可以是一种游戏、应用程序,或某些和计算机系统或其他设备相关但可以在智能电视中运行的其他应用程序。应用程序中心可从不同来源获得这些应用程序,将它们储存在本地储存器中,然后在显示设备200上可运行。
在一些实施例中的硬件或软件架构可以基于上述实施例中的介绍,在一些实施例中可以是基于相近的其他硬件或软件架构,可以实现本申请的技术方案即可。
在一些实施例中,游戏应用,可以是基于云服务的云游戏,当用户点击某个云游戏图标控件后,显示设备从服务器实时获取云游戏的流媒体片源,根据流媒体片源实时加载游戏界面,部分云游戏对网络延时和帧率要求较高,在网络环境波动的情况下,难以保障低延时和高帧率。
为解决上述技术问题,本申请实施例提供了一种显示方法,该显示方法可由显示设备的控制器执行。
需要说明的是,虽然本申请实施例以云游戏为例对显示方法进行介绍,但是,该显示方法不限于在云游戏过程中执行,在其他对网络延时和帧率要求较高的场景,如需要主播与观众实时互动的部分直播场景,也可参考使用本申请实施例提供的显示方法,以达到降低网络延时和保障帧率的效果。
参见图6,为根据一些实施例的显示方法的流程示意图,如图6所示,该显示方法可包括以下步骤:
步骤S110:响应于接收到用户输入的用于指示播放流媒体片源的控制信号,获取服务器在预设周期内传输的所述流媒体片源的帧序列。
在一些实施例中,用于指示播放流媒体片源的控制信号可为云游戏图标控件的触发信号,该触发信号可为语音触发信号,点击触发信号等信号。
当用户在显示设备上触发云游戏图标控件后,显示设备的控制器从服务器上实时获取该云游戏图标控件对应云游戏的流媒体片源。流媒体片源可包括图像帧和音频,本申请实施例中,仅对图像帧的处理做示例性说明。
在一些实施例中,根据流媒体片源为H264全I帧60HZ的片源,可设置预设周期为ti, ti的时长为1/60毫秒,即16.6ms,其中,i=0,1,2,…。
服务器与显示设备之间传输流媒体片源的速度为一周期M帧。由于网络不稳定等因素,导致在不同的预设周期ti,M不是固定值。例如,在预设周期t0,M=3,在预设周期t1,M=2,在预设周期t2,M=0,在预设周期t3,M=1,其中,在一个预设周期ti内,当M=3时,表明显示设备接收到了3帧图像帧;当M=2时,表明显示设备接收到了2帧图像帧;当M=1时,表明显示设备接收到了1帧图像帧;当M=0时,表明显示设备没有接收到图像帧。
显示设备可将流媒体片源在预设周期ti内传输的图像帧组成帧序列。例如,在预设周期 t0,帧序列为f1、f2、f3;在预设周期t1,帧序列为f4、f5;在预设周期t2,帧序列为0;在预设周期t3,帧序列为f6。
步骤S120:从所述帧序列中选取第一数量的图像帧进行解码,得到已解码帧,所述第一数量为不超过显示设备在所述预设周期内的解码帧数的最大值。
参见图7,为根据一些实施例的解码方法的流程示意图,如图7所示,该显示方法可包括步骤S210-S240。
步骤S210:判断所述帧序列的帧数是否大于显示设备在所述预设周期内的解码帧数。
显示设备可设置有解码帧处理模块对图像帧进行解码。显示设备的硬件解码能力为一个预设周期ti解码N帧图像帧,则N为显示设备在所述预设周期ti内的解码帧数。显示设备的硬件解码能力通常是固定的,在一个预设周期ti内,如果帧序列的帧数大于解码帧数,则显示设备将帧序列中的全部图像帧进行解码花费的时间将会超过ti,这将导致下一个预设周期 ti的图像帧传输到显示设备后,解码帧处理模块不能及时对该下一个预设周期ti的图像帧进行解码,导致游戏界面的延时增加;如果帧序列的帧数小于或等于解码帧数,则显示设备能及时对一个预设周期ti的图像帧进行解码,不会影响对下一个预设周期ti的图像帧的解码。
为避免影响对下一个预设周期ti的图像帧的解码,在每个预设周期ti,可从所述帧序列中选取第一数量的图像帧进行解码,其中,第一数量越大,则保留的图像帧越多,有利于保障云游戏的帧率,第一数量最大不超过显示设备在所述预设周期内的解码帧数。由于,服务器与显示设备之间传输流媒体片源的速度是动态变化的,因此,可设置第一数量取不超过解码帧数的最大值,以保障云游戏的帧率。
本申请实施例通过对预设周期ti的帧序列的帧数进行判断,从而可在帧数过高时进行丢帧,以减小解码帧处理模块的解码压力,避免影响对下一个预设周期ti的图像帧的解码。
在一些实施例中,N大于等于2,例如,N=2,则表明显示设备在预设周期ti,即16.6ms 内可解码2帧图像帧。如果帧序列的帧数大于2,例如,M=3,则大于解码帧数。例如,在预设周期t0,M=3,M>N;在预设周期t1,M=2,M=N;在预设周期t2,M=0,M<N;在预设周期t3,M=1,M<N。
步骤S220:如果所述帧序列的帧数大于显示设备在所述预设周期内的解码帧数,间隔第四数量图像帧丢帧,直到剩余图像帧的总帧数等于所述解码帧数,将所述剩余图像帧确定为待解码帧。
为避免出现解码不及时而导致延时过高的问题,当预设周期ti内的帧序列帧数过高时通过丢帧处理得到降低帧序列的帧数,丢帧后的图像帧的帧数为第一数量,仅对该第一数量的图像帧进行解码,减轻解码工作量。
在一些实施例中,可选择间隔第四数量图像帧丢帧的方式实现均匀丢帧,以保障游戏界面变化的连贯性,同时能兼顾实时性,第四数量可选为1,即每隔一帧丢弃一帧,直到帧序列的帧数降低至解码帧数内。例如,对于预设周期t0,在丢帧前,帧序列的帧数为3,即M=3;将第二帧f2丢弃;在丢帧后,剩余的图像帧为f1、f3,帧序列的帧数降为2,即M=2,帧序列的帧数M与显示设备在预设周期ti内的解码帧数N相同。当然,也可选择其他丢帧方式进行丢帧,例如,可丢弃帧序列中时间较早的图像帧,如对于预设周期t0,丢弃f1。这种丢帧方式,保留了较新的图像帧,可使游戏界面的实时性更高,然而,这种丢帧方式可能使得相邻预设周期解码的图像帧时差较大,进而导致游戏界面变化的连贯性变差。
将帧序列进行丢帧处理后,剩余的图像帧可确定为待解码帧,即等待进行解码处理的图像帧。对于预设周期t0,待解码帧为f1、f3。
而如果将帧序列的全部图像帧确定为解码帧,则在预设周期t0,待解码帧为f1、f2、f3,显示设备将无法及时解码,将会导致预设周期t1的解码延时,进而导致后续预设周期可能都会延时,并且,在后续预设周期,如果继续出现待解码帧帧数为3的情况,解码延时还会累计变长,进而导致显示器显示的图像延时变长,使得用户的游戏体验变差。
可见,与将帧序列的全部图像帧确定为解码帧相比,本申请实施例的丢帧处理降低了显示设备的解码工作量,进而降低了延时。
步骤S230:如果所述帧序列的帧数小于或等于显示设备在所述预设周期内的解码帧数,将所述帧序列中的全部图像帧均确定为所述待解码帧。
如果帧序列的帧数已经小于或等于显示设备在所述预设周期ti内的解码帧数,表明显示设备的硬件能够保障帧序列的及时解码,此时,可直接将帧序列中的全部图像帧确定为待解码帧。例如,对于预设周期t1,M=2,对于预设周期t2,M=1,对于预设周期t3,M=0,这三个预设周期不需要丢帧处理也能保障相应预设周期的图像帧解码不会影响对下一预设周期的图像帧解码,因此,可直接将帧序列中的全部图像帧确定为待解码帧,则对于预设周期t1,待解码帧为f4、f5;对于预设周期t2,待解码帧为0;对于预设周期t3,待解码帧为f6。
步骤S240:将所述待解码帧进行解码,得到已解码帧。
根据步骤S220或步骤S230确定的待解码帧的帧数为第一数量,将第一数量的待解码帧进行解码,得到已解码帧。
在一些实施例中,当M=3时,进行隔帧丢帧后,得到待解码帧的帧数为2,将这2帧待解码帧解码后,得到已解码帧的帧数为M’,M’=2;当M=2时,则待解码帧的帧数为2,将这2帧待解码帧解码后,得到已解码帧的帧数:M’=2;当M=1时,则待解码帧的帧数为 1,将这1帧待解码帧解码后,得到已解码帧的帧数:M’=1:当M=0时,则待解码帧的帧数为0,已解码帧的帧数:M’=0。例如,对于预设周期t0,将f1、f3分别进行解码,得到已解码帧为f1’、f3’;对于预设周期t1,将f4、f5分别进行解码,得到已解码帧为f4’、f5’;对于预设周期t2,已解码帧为0;对于预设周期t3,将f6分别进行解码,得到已解码帧为f6’。
在一些实施例中,显示设备可设置有渲染帧处理模块。解码帧处理模块对帧序列进行解码得到已解码帧后,将已解码帧输出到渲染帧处理模块进行处理。在一个预设周期解码帧处理模块输出到渲染帧处理模块的已解码帧的总帧数可能为:M’=0,或M’=1或M’=2。
在一些实施例中,显示设备在一个预设周期的渲染帧数可为1帧,即在一个预设周期ti内,显示设备可对一帧已解码帧进行渲染并显示。
步骤S130:根据所述已解码帧的总帧数为0,且存在上一预设周期缓存的历史已解码帧,渲染并控制所述显示器显示上一预设周期缓存的历史已解码帧。
在一些实施例中,在一个预设周期ti内,由于网络环境波动,可能会出现已解码帧的总帧数M’为0的情况,此时,可检测是否存在上一预设周期缓存的历史已解码帧,当存在上一预设周期缓存的历史已解码帧时,渲染帧处理模块可对上一预设周期缓存的历史已解码帧进行渲染,并控制显示器显示渲染后的图像,以保障帧率。
例如,在预设周期t2,M’=0,此时,可检测上一预设周期t1是否缓存了历史已解码帧,如果检测到预设周期t1缓存了f5’,则可对f5’进行渲染并控制器显示器进行显示。
在一些实施例中,当根据所述已解码帧的总帧数为0,且不存在上一预设周期缓存的历史已解码帧,控制所述显示器保持显示上一预设周期显示的历史已解码帧。
步骤S140:根据所述已解码帧的总帧数与所述渲染帧数相同,渲染并控制所述显示器显示所述已解码帧。
当已解码帧的总帧数与所述渲染帧数相同时,可渲染并控制显示器显示本预设周期内得到的已解码帧。如果存在上一预设周期缓存的历史已解码帧,则将该历史已解码帧丢弃。
例如,在预设周期t3,M’=1,已解码帧的总帧数与所述渲染帧数相同,可渲染并控制显示器显示f6’。
步骤S150:根据所述已解码帧的总帧数大于所述渲染帧数,缓存第二数量时间最新的所述已解码帧,渲染并控制所述显示器显示第三数量时间次新的所述已解码帧。
当已解码帧的总帧数大于所述渲染帧数时,可渲染并显示本预设周期内第三数量的已解码帧,将剩余的第二数量已解码帧缓存起来,以备下一预设周期使用,这样,当下一预设周期内的已解码帧的帧数为0时,可渲染并显示该缓存的已解码帧,从而保障了高帧率。
由于需要缓存起来的已解码帧是为下一预设周期准备的,因此,在本预设周期,将时间最新的已解码帧缓存起来,将时间次新的已解码帧渲染并显示的,从而在下一预设周期渲染并显示本周期缓存的已解码帧时,能够保障图像界面的时间连续性。当然,在下一预设周期,可能已解码帧的数量不为0,到时可将本预设周期内缓存的已解码帧丢弃。
在一些实施例中,根据显示设备在一个预设周期的渲染帧数为1帧,对于一个预设周期,可设置缓存的历史已解码帧的帧数最多为1帧,如果缓存的历史已解码帧的帧数过多,则时间较早的历史已解码帧的延时可能较高,导致游戏体验变差。
第二数量和第三数量均不超过所述渲染帧数,在一些实施例中,由于M’最大为2,可将第二数量和第三数量均设置为1,当已解码帧的总帧数为2时,将第一帧已解码帧进行渲染并显示,将第二帧已解码帧进行缓存。
进一步的,当已解码帧的总帧数大于所述渲染帧数时,丢弃上一预设周期缓存的历史已解码帧。
例如,在预设周期t0,M’=2,可渲染并控制显示器显示f1’,将f3’缓存;在预设周期 t1,M’=2,可渲染并控制显示器显示f4’,将f5’缓存,并将f3’丢弃。
根据上述显示方法,假设显示设备在接收到用户输入的用于指示播放流媒体片源的控制信号后,第一个预设周期为t0,则以t0~t3为例,显示设备的执行过程如下:
在预设周期为t0,根据步骤S110,得到帧序列为f1、f2、f3;根据步骤S120,得到已解码帧f1’、f3’;根据步骤S150,将f1’进行渲染并显示,将f3’进行缓存。
在预设周期为t1,根据步骤S110,得到帧序列为f4、f5;根据步骤S120,得到已解码帧 f4’、f5’;根据步骤S150,将f4’进行渲染并显示,将f5’进行缓存,将f3’进行丢弃。
在预设周期为t2,根据步骤S110,得到帧序列为0;根据步骤S120,得到已解码帧0;根据步骤S150,将f5’进行渲染并显示。
在预设周期为t3,根据步骤S110,得到帧序列为f6;根据步骤S120,得到已解码帧f6’;根据步骤S150,将f6’进行渲染并显示。
在t0~t3,显示设备将依次渲染并显示f1’、f4’、f5’、f6’。在每个预设周期,显示设备显示的为本预设周期或上一预设周期的图像,延时最多为一个预设周期;并且,在一个预设周期没有接收到图像帧时,可根据上一预设周期缓存有历史已解码帧,显示该历史已解码帧,在网络环境波动的情况下保障了帧率。
而相关技术中,为保障帧率,将顺序渲染并显示每一个预设周期的每一帧已解码帧,在当前预设周期来不及渲染并显示的已解码帧将进行缓存,即屯帧,供后续预设周期进行渲染并显示,在t0~t3,将依次渲染并显示f1’-f4’,即在t0,将会渲染并显示f1’,在t1,将会渲染并显示f2’,在t2,将会渲染并显示f3’,在t3,将会渲染并显示f4’。可见,在t2和t3,延时达到了2个预设周期,实时性不如本申请实施例,而在t1,实时性也不如本申请实施例。
相关技术中,为保障低延时,将依次渲染并显示最新的已解码帧,则在t0~t3,将依次渲染并显示:f3’、f5’、f5’、f6’,这种显示方法将导致t2时帧率降低。
可见,在相同的网络环境下,本申请实施例避免了屯帧带来的延时影响,同时又尽可能保证了网络不稳定下最大的帧率数。
由上述实施例可见,本申请实施例通过将预设周期内服务器传输的流媒体片源的帧序列进行筛选,得到第一数量的图像帧,将该第一数量的图像帧进行解码得到已解码帧,避免了将帧序列的全部图像帧进行解码导致的解码超时,延误后续渲染流程而导致的延时过高的问题;第一数量取不超过显示设备在所述预设周期内的解码帧数的最大值,使得在预设周期的已解码帧的帧数超过渲染能力时,可渲染并控制显示器显示第三数量的已解码帧,缓存第二数量的已解码帧,从而在下一个周期没有产生已解码帧时,可渲染并显示缓存的历史已解码帧,保障了帧率;在一个预设周期,如果产生了已解码帧,无论是否存在历史已解码帧,直接渲染并显示该预设周期的已解码帧,保障了实时性。
由于以上实施方式均是在其他方式之上引用结合进行说明,不同实施例之间均具有相同的部分,本说明书中各个实施例之间相同、相似的部分互相参见即可。在此不再详细阐述。
需要说明的是,在本说明书中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或暗示这些实体或操作之间存在任何这种实际的关系或顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的电路结构、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种电路结构、物品或者设备所固有的要素。在没有更多限制的情况下,有语句“包括一个……”限定的要素,并不排除在包括要素的电路结构、物品或者设备中还存在另外的相同要素。
本领域技术人员在考虑说明书及实践这里发明的公开后,将容易想到本申请的其他实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求的内容指出。以上的本申请实施方式并不构成对本申请保护范围的限定。

Claims (10)

1.一种显示设备,其特征在于,包括:
显示器;
控制器,与所述显示器连接,所述控制器被配置为:
响应于接收到用户输入的用于指示播放流媒体片源的控制信号,获取服务器在预设周期内传输的所述流媒体片源的帧序列;
从所述帧序列中选取第一数量的图像帧进行解码,得到已解码帧,所述第一数量为不超过显示设备在所述预设周期内的解码帧数的最大值;
根据所述已解码帧的总帧数为0,且存在上一预设周期缓存的历史已解码帧,渲染并控制所述显示器显示所述历史已解码帧;
根据所述已解码帧的总帧数与渲染帧数相同,渲染并控制所述显示器显示所述已解码帧;
根据所述已解码帧的总帧数大于所述渲染帧数,缓存第二数量时间最新的所述已解码帧,渲染并控制所述显示器显示第三数量时间次新的所述已解码帧。
2.根据权利要求1所述的显示设备,其特征在于,所述从所述帧序列中选取第一数量的图像帧进行解码,得到已解码帧,包括:
判断所述帧序列的帧数是否大于显示设备在所述预设周期内的解码帧数;
如果所述帧序列的帧数大于显示设备在所述预设周期内的解码帧数,间隔第四数量图像帧丢帧,直到剩余图像帧的总帧数等于所述解码帧数,将所述剩余图像帧确定为待解码帧;
如果所述帧序列的帧数小于或等于显示设备在所述预设周期内的解码帧数,将所述帧序列中的全部图像帧均确定为所述待解码帧;
将所述待解码帧进行解码,得到已解码帧。
3.根据权利要求1所述的显示设备,其特征在于,所述控制器还被配置为:
根据所述已解码帧的总帧数为0,且不存在上一预设周期缓存的历史已解码帧,控制所述显示器保持显示上一预设周期显示的历史已解码帧。
4.根据权利要求1所述的显示设备,其特征在于,所述控制器还被配置为:
根据所述已解码帧的总帧数与所述渲染帧数相同,丢弃上一预设周期缓存的历史已解码帧。
5.根据权利要求1所述的显示设备,其特征在于,所述控制器还被配置为:
根据所述已解码帧的总帧数大于所述渲染帧数,丢弃上一预设周期缓存的历史已解码帧。
6.根据权利要求1所述的显示设备,其特征在于,所述解码帧数包括2帧,所述渲染帧数包括1帧。
7.根据权利要求1所述的显示设备,其特征在于,所述预设周期包括16.6毫秒。
8.根据权利要求1所述的显示设备,其特征在于,所述流媒体片源包括云游戏资源。
9.一种显示方法,其特征在于,包括:
响应于接收到用户输入的用于指示播放流媒体片源的控制信号,获取服务器在预设周期内传输的所述流媒体片源的帧序列;
从所述帧序列中选取第一数量的图像帧进行解码,得到已解码帧,所述第一数量为不超过显示设备在所述预设周期内的解码帧数的最大值;
根据所述已解码帧的总帧数为0,且存在上一预设周期缓存的历史已解码帧,渲染并控制显示器显示所述历史已解码帧;
根据所述已解码帧的总帧数与渲染帧数相同,渲染并控制所述显示器显示所述已解码帧;
根据所述已解码帧的总帧数大于所述渲染帧数,缓存第二数量时间最新的所述已解码帧,渲染并控制所述显示器显示第三数量时间次新的所述已解码帧。
10.根据权利要求9所述的显示方法,其特征在于,所述从所述帧序列中选取第一数量的图像帧进行解码,得到已解码帧,包括:
判断所述帧序列的帧数是否大于显示设备在所述预设周期内的解码帧数;
如果所述帧序列的帧数大于显示设备在所述预设周期内的解码帧数,间隔第四数量图像帧丢帧,直到剩余图像帧的总帧数等于所述解码帧数,将所述剩余图像帧确定为待解码帧;
如果所述帧序列的帧数小于或等于显示设备在所述预设周期内的解码帧数,将所述帧序列中的全部图像帧均确定为所述待解码帧;
将所述待解码帧进行解码,得到已解码帧。
CN202010657734.2A 2020-07-09 2020-07-09 显示设备及显示方法 Active CN111836104B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010657734.2A CN111836104B (zh) 2020-07-09 2020-07-09 显示设备及显示方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010657734.2A CN111836104B (zh) 2020-07-09 2020-07-09 显示设备及显示方法

Publications (2)

Publication Number Publication Date
CN111836104A CN111836104A (zh) 2020-10-27
CN111836104B true CN111836104B (zh) 2022-01-28

Family

ID=72900376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010657734.2A Active CN111836104B (zh) 2020-07-09 2020-07-09 显示设备及显示方法

Country Status (1)

Country Link
CN (1) CN111836104B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113923507B (zh) * 2021-12-13 2022-07-22 北京蔚领时代科技有限公司 Android端的低延迟视频渲染方法及装置
CN115002541A (zh) * 2022-05-26 2022-09-02 深圳市瑞云科技有限公司 一种降低客户端云串流渲染的系统
CN116916095B (zh) * 2023-09-12 2024-01-12 深圳云天畅想信息科技有限公司 一种云视频的平滑显示方法、装置、设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728312B1 (en) * 2000-04-13 2004-04-27 Forgent Networks, Inc. Adaptive video decoding and rendering with respect to processor congestion
CN103945221A (zh) * 2014-04-09 2014-07-23 浙江大学 视频编解码方法、装置及生成的视频码流
CN108235121A (zh) * 2018-01-16 2018-06-29 青岛海信电器股份有限公司 一种倍频显示的处理方法及装置、电子设备
CN108259987A (zh) * 2017-12-19 2018-07-06 湖北鸿云科技股份有限公司 移动端低延时流媒体播放器及播放方法
WO2019076274A1 (zh) * 2017-10-16 2019-04-25 华为技术有限公司 显示动态图像的方法及终端
CN109889847A (zh) * 2019-01-18 2019-06-14 昆山优尼电能运动科技有限公司 低延时无线传输编解码系统
CN110460496A (zh) * 2012-12-27 2019-11-15 辉达公司 通过帧率控制实现网络自适应时延降低
CN110740380A (zh) * 2019-10-16 2020-01-31 腾讯科技(深圳)有限公司 视频处理方法和装置、存储介质及电子装置
CN111031375A (zh) * 2019-11-19 2020-04-17 青岛海信电器股份有限公司 一种开机动画详情页的跳转方法及显示设备
CN111245680A (zh) * 2020-01-10 2020-06-05 腾讯科技(深圳)有限公司 检测云游戏响应延迟的方法、装置、系统、终端和服务器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8290034B2 (en) * 1998-12-21 2012-10-16 Zin Stai Pte. In, Llc Video transmission and display including bit-wise sub-sampling video compression
US9510029B2 (en) * 2010-02-11 2016-11-29 Echostar Advanced Technologies L.L.C. Systems and methods to provide trick play during streaming playback
KR102312681B1 (ko) * 2015-03-17 2021-10-13 한화테크윈 주식회사 영상 처리 시스템 및 방법

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728312B1 (en) * 2000-04-13 2004-04-27 Forgent Networks, Inc. Adaptive video decoding and rendering with respect to processor congestion
CN110460496A (zh) * 2012-12-27 2019-11-15 辉达公司 通过帧率控制实现网络自适应时延降低
CN103945221A (zh) * 2014-04-09 2014-07-23 浙江大学 视频编解码方法、装置及生成的视频码流
WO2019076274A1 (zh) * 2017-10-16 2019-04-25 华为技术有限公司 显示动态图像的方法及终端
CN108259987A (zh) * 2017-12-19 2018-07-06 湖北鸿云科技股份有限公司 移动端低延时流媒体播放器及播放方法
CN108235121A (zh) * 2018-01-16 2018-06-29 青岛海信电器股份有限公司 一种倍频显示的处理方法及装置、电子设备
CN109889847A (zh) * 2019-01-18 2019-06-14 昆山优尼电能运动科技有限公司 低延时无线传输编解码系统
CN110740380A (zh) * 2019-10-16 2020-01-31 腾讯科技(深圳)有限公司 视频处理方法和装置、存储介质及电子装置
CN111031375A (zh) * 2019-11-19 2020-04-17 青岛海信电器股份有限公司 一种开机动画详情页的跳转方法及显示设备
CN111245680A (zh) * 2020-01-10 2020-06-05 腾讯科技(深圳)有限公司 检测云游戏响应延迟的方法、装置、系统、终端和服务器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
云游戏中基于帧率控制的FEC补偿策略;沈专等;《小型微型计算机系统》;20180515(第05期);全文 *
支持IPTV高清码流连续平滑播放的多级缓冲区设计与实现;林镜华等;《小型微型计算机系统》;20100515(第05期);全文 *

Also Published As

Publication number Publication date
CN111836104A (zh) 2020-10-27

Similar Documents

Publication Publication Date Title
CN112153446B (zh) 一种显示设备及流媒体视频音画同步方法
CN111836104B (zh) 显示设备及显示方法
CN112118400B (zh) 显示设备上图像的显示方法及显示设备
CN112214189A (zh) 图像显示方法及显示设备
CN112153447A (zh) 一种显示设备及音画同步控制方法
CN112306604B (zh) 一种传输文件的进度显示方法及显示设备
CN112188279A (zh) 一种频道切换方法和显示设备
CN112243141B (zh) 投屏功能的显示方法及显示设备
CN112399217B (zh) 显示设备及与功放设备建立通信连接的方法
CN112601118B (zh) 显示设备及视频录制方法
CN111954043B (zh) 一种信息栏显示方法及显示设备
CN112269668A (zh) 一种应用资源共享及显示设备
CN111984167A (zh) 一种快捷命名的方法及显示设备
CN114095769A (zh) 一种应用级播放器的直播低延迟处理方法及显示设备
CN113438553A (zh) 一种显示设备被唤醒方法及显示设备
CN114390190A (zh) 显示设备及监测应用启动摄像头的方法
CN114071187B (zh) 显示设备、服务器及分辨率快速切换方法
CN113436564B (zh) 一种epos的展示方法及显示设备
CN113194355B (zh) 一种视频播放方法及显示设备
CN112291600B (zh) 一种缓存方法及显示设备
CN111970554B (zh) 一种图片显示方法和显示设备
CN112153443B (zh) Pts获取方法和显示设备
CN112135173B (zh) 一种改善流媒体起播码率的方法及显示设备
CN111935519B (zh) 通道切换方法和显示设备
CN111984504A (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