CN110166792A - 图像显示方法、装置、系统和存储介质 - Google Patents
图像显示方法、装置、系统和存储介质 Download PDFInfo
- Publication number
- CN110166792A CN110166792A CN201810151931.XA CN201810151931A CN110166792A CN 110166792 A CN110166792 A CN 110166792A CN 201810151931 A CN201810151931 A CN 201810151931A CN 110166792 A CN110166792 A CN 110166792A
- Authority
- CN
- China
- Prior art keywords
- resolution
- image data
- image
- image display
- client
- 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
- 238000000034 method Methods 0.000 title claims abstract description 101
- 239000000872 buffer Substances 0.000 claims abstract description 191
- 238000012545 processing Methods 0.000 claims abstract description 64
- 230000003139 buffering effect Effects 0.000 claims description 30
- 238000004891 communication Methods 0.000 claims description 19
- 238000009877 rendering Methods 0.000 claims description 7
- 238000013481 data capture Methods 0.000 claims description 4
- 230000003111 delayed effect Effects 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 230000000875 corresponding effect Effects 0.000 description 20
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 230000015572 biosynthetic process Effects 0.000 description 9
- 238000003786 synthesis reaction Methods 0.000 description 9
- 238000007726 management method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 241000735480 Istiophorus Species 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000001727 in vivo Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23418—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234363—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开了一种图像显示方法、装置、系统和存储介质。该方法包括:显示服务端获取客户端的图像显示请求,确定图像显示请求中是否包括具有第一分辨率的图像数据;如果图像显示请求中包括具有第一分辨率的图像数据,将显示服务端的帧缓冲区使用的分辨率设置为第一分辨率;按照第一分辨率处理图像显示请求中的图像数据,将处理后的图像数据绘制到具有第一分辨率的帧缓冲区,显示帧缓冲区中的图像数据。根据本发明实施例提供的图像显示方法,可以实现不同分辨率的应用在一个界面中同时正确的显示,提高显示性能和用户体验。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种图像显示方法、装置、系统和存储介质。
背景技术
随着图像显示技术的发展,用户对收视体验提出了更高的要求,特别是在电视领域,为了获得更佳的临场感和真实感,观看电视的视角应更大,观看距离应更近,这对视频图像质量和显示终端的硬件能力都提出了更高的要求,从而推进了超高清电视的快速发展。
为了增强用户使用超高清屏幕更好的体验,在超高清屏幕上也需要一些桌面显示、图片播放、视频播放和游戏等应用。目前,这些应用大多数是全高清、高清或标清等低于超高清分辨率的应用,仅有少部分应用需要超高清分辨率。
图形处理器的硬件能力有限,如果将所有需要显示的不同分辨率的应用均显示为超高清分辨率时,用户界面显示性能较差且容易出错,影响用户体验。
发明内容
本发明实施例提供一种图像显示方法、装置、系统和存储介质,实现不同分辨率的应用在一个界面中同时正确的显示,提高显示性能和用户体验。
根据本发明实施例的一方面,提供一种图像显示方法,包括:显示服务端获取客户端的图像显示请求,确定图像显示请求中是否包括具有第一分辨率的图像数据;如果图像显示请求中包括具有第一分辨率的图像数据,将显示服务端的帧缓冲区使用的分辨率设置为第一分辨率;按照第一分辨率处理图像显示请求中的图像数据,将处理后的图像数据绘制到具有第一分辨率的帧缓冲区,显示帧缓冲区中的图像数据。
根据本发明实施例的另一方面,提供一种图像显示方法,包括:显示服务端获取客户端的图像显示请求,确定图像显示请求中是否包括具有第二分辨率的图像数据,显示服务端的帧缓冲区对应的分辨率被预设置为第一分辨率,第二分辨率小于第一分辨率;如果图像显示请求中包括第二分辨率的图像数据,将具有第二分辨率的图像数据转换为具有第一分辨率的图像数据;处理转换得到的具有第一分辨率的图像数据,将处理后的图像数据绘制到具有第一分辨率的帧缓冲区,显示帧缓冲区中的图像数据。
根据本发明实施例的一方面,提供一种图像显示装置,包括:分辨率确定模块,用于显示服务端获取客户端的图像显示请求,确定图像显示请求中是否包括具有第一分辨率的图像数据;分辨率设置模块,用于如果图像显示请求中包括具有第一分辨率的图像数据,将显示服务端的帧缓冲区使用的分辨率设置为第一分辨率;图像处理模块,用于按照第一分辨率处理图像显示请求中的图像数据,将处理后的图像数据绘制到具有第一分辨率的帧缓冲区,显示帧缓冲区中的图像数据。
根据本发明实施例的另一方面,提供一种图像显示装置,包括:分辨率确定模块,用于显示服务端获取客户端的图像显示请求,确定图像显示请求中是否包括具有第二分辨率的图像数据,显示服务端的帧缓冲区对应的分辨率被预设置为第一分辨率,第二分辨率小于第一分辨率;分辨率转换模块,用于如果图像显示请求中包括第二分辨率的图像数据,将具有第二分辨率的图像数据转换为具有第一分辨率的图像数据;图像处理模块,用于处理转换得到的具有第一分辨率的图像数据,将处理后的图像数据绘制到具有第一分辨率的帧缓冲区,显示帧缓冲区中的图像数据。
根据本发明实施例的一方面,提供一种图像显示系统,包括存储器和处理器;存储器用于储存有可执行程序代码;处理器用于读取存储器中存储的可执行程序代码以执行一种图像显示方法,其中,该图像显示方法包括:显示服务端获取客户端的图像显示请求,确定图像显示请求中是否包括具有第一分辨率的图像数据;如果图像显示请求中包括具有第一分辨率的图像数据,将显示服务端的帧缓冲区使用的分辨率设置为第一分辨率;按照第一分辨率处理图像显示请求中的图像数据,将处理后的图像数据绘制到具有第一分辨率的帧缓冲区,显示帧缓冲区中的图像数据。
根据本发明实施例的另一方面,提供一种图像显示系统,包括存储器和处理器;存储器用于储存有可执行程序代码;处理器用于读取存储器中存储的可执行程序代码以执行一种图像显示方法,其中,该图像显示方法包括:显示服务端获取客户端的图像显示请求,确定图像显示请求中是否包括具有第二分辨率的图像数据,显示服务端的帧缓冲区对应的分辨率被预设置为第一分辨率,第二分辨率小于第一分辨率;如果图像显示请求中包括第二分辨率的图像数据,将具有第二分辨率的图像数据转换为具有第一分辨率的图像数据;处理转换得到的具有第一分辨率的图像数据,将处理后的图像数据绘制到具有第一分辨率的帧缓冲区,显示帧缓冲区中的图像数据。
根据本发明实施例的一方面,提供一种计算机存储介质,该计算机可读存储介质包括指令,当指令在计算机上运行时,使得计算机执行一种图像显示方法,其中,该图像显示方法包括:显示服务端获取客户端的图像显示请求,确定图像显示请求中是否包括具有第一分辨率的图像数据;如果图像显示请求中包括具有第一分辨率的图像数据,将显示服务端的帧缓冲区使用的分辨率设置为第一分辨率;按照第一分辨率处理图像显示请求中的图像数据,将处理后的图像数据绘制到具有第一分辨率的帧缓冲区,显示帧缓冲区中的图像数据。
根据本发明实施例的另一方面,提供一种计算机存储介质,该计算机可读存储介质包括指令,当指令在计算机上运行时,使得计算机执行一种图像显示方法,其中,该图像显示方法包括:显示服务端获取客户端的图像显示请求,确定图像显示请求中是否包括具有第二分辨率的图像数据,显示服务端的帧缓冲区对应的分辨率被预设置为第一分辨率,第二分辨率小于第一分辨率;如果图像显示请求中包括第二分辨率的图像数据,将具有第二分辨率的图像数据转换为具有第一分辨率的图像数据;处理转换得到的具有第一分辨率的图像数据,将处理后的图像数据绘制到具有第一分辨率的帧缓冲区,显示帧缓冲区中的图像数据。
根据本发明实施例中的图像显示方法、装置、系统和存储介质,可以根据客户端应用对显示分辨率的显示需求,动态切换帧缓冲区对应的分辨率,在进行上述帧缓冲区分辨率切换显示时,非超高清分辨率的图像数据可以根据实际显示需求动态地同步放大或缩小,从而满足用户体验的一致性和切换显示的流畅性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是示出根据本发明实施例所适用的图形系统框架示意图;
图2是示出根据本发明实施例的图形系统框架利用图形渲染器进行画面渲染的流程示意图;
图3是示出根据本发明实施例中的图像显示方法的工作原理示意图;
图4是示出根据本发明实施例的图像显示方法对内存中的图像数据渲染至显示设备的流程示意图;
图5是示出根据本发明实施例图像显示方法进行客户端界面刷新的具体流程图;
图6是示出根据本发明一实施例的图像显示方法的流程图;
图7是示出根据本发明一实施例提供的图像显示装置的结构示意图;
图8是示出根据本发明另一实施例的图像显示方法的流程图;
图9是示出根据本发明另一实施例提供的图像显示装置的结构示意图;
图10是示出可以实现根据本发明示例性一实施例的图像显示方法和装置的计算设备的示例性硬件架构的结构图;
图11是示出可以实现根据本发明示例性另一实施例的图像显示方法和装置的计算设备的示例性硬件架构的结构图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本发明实施例中,图像数据的分辨率包括显示分辨率,显示分辨率是显示器性能的重要指标,显示分辨率的数值大小可以用于衡量显示器的显示屏幕对图像的解析精细程度。显示分辨率可以通过显示器所能显示的图像的像素点数量来表示,即整个显示器所有可视面积上水平像素点和垂直像素点的数量,当显示器的屏幕大小固定时,显示分辨率越高图像越清晰。
作为一个示例,例如800×600的分辨率,是指在整个显示屏幕上水平方向可以显示800个像素,垂直方向可以显示600个像素。
通常,显示器分辨率可以包括标清(Standard Definition,SD)、高清(HighDefinition,HD)、全高清(Full High Definition,FHD)和超高清(Ultra High-Definition,Ultra HD)等多种显示格式。
作为一个示例,标清分辨率例如可以是480×320个像素或640×480个像素,高清分辨率例如可以是1024×720个像素,全高清分辨率例如可以是1920×1080个像素,而超高清分辨率例如可以是3840×2160个像素,即整个显示屏幕上水平方向可以显示3840个像素,垂直方向可以显示2160个像素,由于超高清分辨率可以达到全高清分辨率的四倍,因此也可以将超高清分辨率称为4k分辨率。
作为一个示例,8k分辨率例如可以是7680×4320个像素,即整个显示屏幕上水平方向可以显示7680个像素,垂直方向可以显示4320个像素。在本发明实施例中,可以将8k分辨率也命名为超高清分辨率。
为了更好地理解本发明,下面将结合附图,详细描述根据本发明实施例的图像显示方法,应注意,这些实施例并不是用来限制本发明公开的范围。
图1示出了根据本发明实施例的图像显示方法所适用的图形系统框架示意图。在下面实施例的描述中,可以将在客户端运行的具有图像显示需求的应用程序简称为客户端。
下面结合附图,以窗口事件响应过程为例,描述本发明实施例的图形系统框架的图像显示工作原理。如图1所示,本发明实施例的图形系统架构的内部体系结构可以包括:窗口管理模块,图形合成器、输出管理模块。其中,输出管理模块可以与操作系统内核的输入驱动InputDriver进行通信以接收用户输入事件,并对接收到的用户输入事件进行监控和管理。
如图1所示,用户可以通过硬件输入设备(鼠标、键盘等)在客户端生成用户输入事件,操作系统内核的输入驱动接收到客户端的输入设备发出的事件信息,经过处理后转发至图形合成器;图形合成器在确定显示桌面上接收到该输入事件的客户端应用的窗口对象后,并将该输入事件发送给该客户端应用。
继续参考图1,客户端应用接收到该输入事件后,可以自行调整视图并直接进行图形绘制,而无需再请求显示服务端的许可后再进行图形绘制,图像处理过程简单而高效。当客户端自行完成图形绘制后,通知显示服务端的图形合成器指定区域的更新状态。
当图形合成器接收到客户端应用发来的状态更新信息,使用图形渲染器Renderer合成该更新的指定区域的图像,并可以将最终合成的图像数据输出至帧缓冲区Framebuffer(图中未示出),作为硬件显示模块可以直接读取的内存缓冲区,帧缓冲区存放的图像数据可以直接被硬件显示模块读取并输出到屏幕以呈现给用户。
综上所述,在本发明实施例的图形系统框架中,图形合成器作为显示服务端的核心模块,在处理客户端显示请求的响应过程中,可以进行的操作包括:处理输入事件的信息;通知客户端应用对相关输入事件作出反应;以及接收客户端应用的状态更新,重新合成图形或管理新的图形布局。
在该实施例中,显示服务端可以通过图形渲染器Renderer合成所有客户端应用的图像数据到一个帧缓冲区中,并由硬件显示模块可以直接显示帧缓冲区中的图像数据。作为一个示例,图形渲染器Renderer可以通过图形处理器(Graphics Processing Unit,GPU)提供的可以作为开放图形库(Open Graphics Library,OpenGL)实现图像数据的合成。
为了便于理解,图2示出了根据本发明实施例的图形系统框架利用图形渲染器进行画面渲染的流程示意图。如图2所示,结合上述实施例描述的图像显示工作原理可知,显示客户端可以利用OpenGL对应用页面进行渲染,显示服务端的图形渲染器Renderer可以利用OpenGL对更新的应用页面进行合成,并将合成得到的图像数据输出至帧缓冲区。
在本发明实施例中,基于用户对超高清电视的显示需求,以及用户在超高清显示器上同时也需要运行一些高清的客户端应用例如桌面、图片播放等,以增强更好的体验,为了支持超高清分辨率图像数据显示,帧缓冲区的尺寸也需要支持超清分辨率。作为一个示例,客户端应用每次刷新时,图形渲染器就需要合成一张超高清分辨率的图像并输出至帧缓冲区。
当大部分是全高清、高清或更低分辨率的应用,只有少部分客户端应用需要进行超高清分辨率的显示时,以当前GPU的硬件能力,在处理超高清分辨率的图像合成时,合成的超高清图像的显示性能较低,若以画面每秒传输帧数(Frames Per Second,FPS)作为图像显示性能评价标准,只能达到每秒十几帧,界面刷新和显示不流畅,用户体验较差。
基于上述原因,本发明实施例提供一种图像显示方法,显示服务端根据客户端应用的请求进行图像显示处理时,可以实现图像显示分辨率的动态切换。下面结合附图,详细介绍根据本发明实施例的图像显示方法。
图3示出了根据本发明实施例中的图像显示方法的工作原理示意图。在本发明实施例中,在操作系统开机启动时,系统中没有运行超高清分辨率的客户端应用时,可以预先设置帧缓冲区的分辨率为非超高清分辨率,例如可以是全高清分辨率或高清分辨率。
如图3所示,本发明实施例的图形合成器作为显示服务端接收客户端应用的图像显示请求,确定图像显示请求中是否包括具有超高清分辨率的图像数据,如果图像显示请求中包括具有超高清分辨率的图像数据,将帧缓冲区使用的分辨率设置为超高清分辨率,满足用户的超清分辨率显示需求。
继续参考图3,如果图像显示请求中不包括具有超高清分辨率的图像数据时,可以将帧缓冲区使用的分辨率设置为非超高清分辨率,以提高GPU的图像显示性能,节约系统资源。
作为一个示例,本发明实施例的图形合成器接收到例如全高清FHD客户端应用1、高清HD客户端应用2、全高清FHD客户端应用3的图像显示请求,由于未包含超高清分辨率的图像显示请求,因此WayLand合成器可以将帧缓冲区使用的分辨率设置为非超高清分辨率例如全高清分辨率,并将合成的图像数据绘制到该具有全高清FHD分辨率的帧缓冲区。
作为另一个示例,本发明实施例的图形合成器接收到例如全高清FHD客户端应用4、高清HD客户端应用5、和4k客户端应用6的图像显示请求,由于包含超高清分辨率的图像显示请求,因此,该图形合成器可以将帧缓冲区使用的分辨率设置为超高清分辨率,并将合成的图像数据绘制到该具有超高清分辨率的帧缓冲区。
在该实施例中,当客户端应用的图像数据需要进行超高清分辨率显示时,图形合成器可以将帧缓冲区使用的分辨率设置为超高清分辨率,满足用户的超清分辨率显示需求;当退出具有超高清分辨率显示需求的客户端应用时,可以将帧缓冲区使用的分辨率设置为非超高清分辨率,以提高GPU的图像显示性能,节约系统资源。
在上述实施例的分辨率动态切换过程中,为了用户体验的一致性和切换显示的流畅性,在进行上述帧缓冲区分辨率切换显示时,非超高清分辨率的图像数据可以根据实际显示需求地动态同步放大或缩小,从而正确的显示。下面结合附图,以用户界面刷新为例,描述使用本发明实施例的图形合成器对帧缓冲区的分辨率进行动态切换的具体流程。
图4示出了根据本发明实施例的图像显示方法对内存中的图像数据渲染至显示设备的流程示意图。
如图4所示,客户端如果要将内存中的图像数据渲染至显示设备例如显示屏幕上,首先需要申请图像缓冲区,客户端将图形数据绘制到该图像缓冲区后,通知图形合成器该图像缓冲区的更新状态,图形合成器可以从图像缓冲区收集客户端应用的图像显示请求,在一定时间周内将图像缓冲区提交的图像数据进行合成,合成后的图像数据输出到帧缓冲区。
由图4可以看出,在本发明实施例的图像显示方法中,客户端和图形合成器均需要进行图像绘制,客户端在图像缓冲区绘制本地的窗口内容,图形合成器在帧缓冲区绘制合成的图像,客户端和图形合成器进行图像绘制使用的软件工具或硬件工具可以相同,也可以不同。作为一个示例,客户端和图形合成器均可以使用开放图形库OpenGL合成图像数据。
在一个实施例中,每个客户端可以包括多个客户端应用,每个客户端应用可以对应一个图像缓冲队列,针对客户端应用绘制的每一帧图像数据可以保存在该客户端应用对应的图像缓冲队列中;图形合成器每进行一次图像合成时,可以从图像缓冲队列的队首位置获取客户端绘制的图像数据,生成z-order序的窗口列表以表明在一堆堆叠的窗口中每个窗口的位置,并在一定的时间周期内将客户端提交的图像缓冲区的中的图像数据进行合成,合成得到的图像数据输出到帧缓冲区。
在本发明实施例中,图像缓冲区是客户端可以根据客户端应用对显示分辨率的显示需求动态进行分配的,因此要实现动态分辨率的切换,需要帧缓冲区的尺寸可以根据客户端应用的显示需求动态切换。
图5示出了根据本发明实施例图像显示方法进行客户端界面刷新的具体流程图。如图5所示,本发明实施例的图像显示方法可以包括:
步骤S101,客户端应用发起用户界面显示请求。
步骤S102,客户端根据该用户界面显示请求在申请的图像缓冲区绘制图数据。
步骤S103,图形合成器获取图像缓冲区的图像数据,并判断图像缓冲区是否包含超高清分辨率的图像数据。
步骤S104,如果图像缓冲区包含超高清分辨率的图像数据,图形合成器可以重新设置帧缓冲区尺寸,将帧缓冲区使用的分辨率设置为超高清分辨率。
步骤S105,对于图像缓冲区的超高清分辨率图像数据,更新至该具有超高清分辨率的帧缓冲区。
步骤S106,对于图像缓冲区中的非超高清分辨率图像数据,放大为超高清分辨率后更新至该具有超高清分辨率的帧缓冲区。
步骤S107,图形合成器在帧缓冲区合成具有超高清分辨率的图像数据。
在一个实施例中,如果上述步骤S103中图像缓冲区不包含超高清分辨率的图像数据时,可以不需要修改帧缓冲区的大小,图形合成器可以直接在当前分辨率的帧缓冲区合成从图像缓冲区中读取的图像数据。
步骤S108,利用显示设备读取和显示帧缓冲区中的图像数据。
在本发明实施例中,可以动态切换帧缓冲区合成图像数据的分辨率,当客户端应用的图像数需要进行超高清分辨率显示时,图形合成器可以将帧缓冲区使用的分辨率设置为超高清分辨率,满足用户的超清分辨率显示需求,当不需要进行超高清分辨率显示时,可以将帧缓冲区使用的分辨率设置为非超高清分辨率,以提高GPU的图像显示性能,节约系统资源。
本发明实施例描述的图像显示方法可以应用于基于Wayland协议的图形系统框架,Wayland表示图形系统框架中显示服务端和客户端间的通讯协议,本发明实施例中的图形合成器可以是基于Wayland协议的图形系统框架的Wayland Compositor,即Wayland合成器。
在本发明实施例中,Wayland是一套显示服务端(Display Server,即合成器Compositor)与客户端(Wayland Client)间的通信协议,Wayland协议规定了显示服务端如何与操作系统内核Kernel通信,以及显示服务端如何与客户端进行通信,而Weston架构是Wayland合成器(Wayland Compositor)的参考实现。
与X系统相比,在X系统中,XServer作为中心服务,连接客户端XClient、硬件以及合成器Compositor。随着图像技术的发展,原本在XServer中做的事很多已被移到内核Kernel或者单独的库中,因此XServer作为客户端XClient与合成器Compositor连接的中间层就显得比较累赘。
在本发明实施例中,Wayland在系统架构上去掉了这个中间层,在本发明实施例中,可以将合成器Compositor作为显示服务端Display Server,使基于Wayland协议的客户端Wayland Client可以与显示服务端直接通信,简化图像处理过程,提高显示服务端对客户端显示请求的响应速度。
下面以客户端点击浏览器刷新按钮的窗口相应时间为例,描述在基于Wayland协议的系统架构中本发明实施例的图像显示方法的处理流程。
步骤S01,在基于Wayland协议的系统架构中,内核收到输入设备例如鼠标发出的信息,可以将经过处理后得到的鼠标点击事件消息转发至Wayland合成器。
步骤S02,Wayland合成器作为Wayland系统架构的总控制中心,可以管理显示桌面上各显示窗口的层级关系和显示效果。Wayland合成器收到鼠标点击事件消息后,即可以确定显示桌面上具体是哪个窗口接收到该鼠标点击事件消息,因此,Wayland合成器将该鼠标点击事件消息发送给该客户端浏览器。
步骤S03,客户端浏览器收到该鼠标点击事件消息,如果是在X系统中,客户端浏览器需要向X系统中的XServer请求绘制刷新按钮被按下的效果。在本发明实施例的Wayland系统架构中,该客户端浏览器可以自行绘制,而不需要再请求Wayland合成器的许可,当客户端浏览器自行完成按钮状态的绘制后,只需要通过Wayland合成器:该客户端浏览器的指定区域已被更新。
步骤S04,Wayland合成器收到客户端浏览器发来的更新信息,再重新合成该更新的指定区域,将客户端最终的桌面效果呈现给用户。
在本发明实施例中,不同于传统X系统下渲染图形时需要不断的向XServer请求绘制,接收到XServer确定后再进行绘制的繁琐过程,大大减少了图形客户端与图形服务端的频繁信息交互和数据传递,大大提到了图像处理效率。
本发明实施例的图像显示方法可以在Linux操作系统上基于Wayland协议和Weston架构实现,Wayland协议既可以用于传统的显示器桌面又适用于移动设备,并且适用于泰泽Tizen、旗鱼SailfishOS等操作系统。
在本发明实施例中,Wayland合成器可以作为基于Wayland协议的图形系统框架的显示服务端,管理显示桌面上各显示窗口的层级关系和显示效果,因此,Wayland合成器可以确定显示桌面上接收到该输入事件的客户端应用的窗口对象,并将该输入事件发送给该客户端应用。
图6是示出根据本发明一实施例的图像显示方法的流程图。如图6所示,本发明实施例中的图像显示方法600包括以下步骤:
步骤S610,显示服务端获取客户端的图像显示请求,确定图像显示请求中是否包括具有第一分辨率的图像数据。
在一个实施例中,步骤S610具体可以包括:
步骤S611,显示服务端获取客户端的多个应用程序的显示请求,每个应用程序的显示请求包括至少一个图像缓冲队列,图像缓冲队列被配置用于保存客户端绘制的图像数据。
步骤S612,从图像缓冲队列的队首位置获取客户端绘制的图像数据。
步骤S613,获取图像缓冲队列的宽度和高度,根据图像缓冲队列的该宽度和该高度确定图像缓冲队列中保存的图像数据的分辨率。
步骤S614,如果图像缓冲队列所保存的图像数据中具有第一分辨率的图像数据,则可以确定从队首位置获取的图像数据中包括具有第一分辨率的图像数据。
通过上述步骤S611至S614,利用图像缓冲队列保存每个应用程序的显示请求中的图像数据,按照先进先出的顺序读取图像缓冲队列中的图像数据。
步骤S620,如果图像显示请求中包括具有第一分辨率的图像数据,将显示服务端的帧缓冲区使用的分辨率设置为第一分辨率。
步骤S630,按照第一分辨率处理图像显示请求中的图像数据,将处理后的图像数据绘制到具有第一分辨率的帧缓冲区,显示帧缓冲区中的图像数据。
在本发明实施例中,客户端的图像显示请求中包括客户端基于Wayland协议绘制的图像数据,图像数据包括具有第一分辨率的图像数据和/或具有第二分辨率的图像数据。
在一个实施例中,第一分辨率可以是指定的超高清分辨率,第二分辨率可以是指定的第一分辨率以外的任一个分辨率。
在一个实施例中,步骤S630中按照第一分辨率处理图像显示请求中的图像数据的步骤具体可以包括:
建立客户端与显示服务端的通讯连接,通过通讯连接获取图像显示请求中的图像数据;按照第一分辨率,通过显示服务端中的渲染器,并利用图形处理单元的开放图形库OpenGL处理图像显示请求中的图像数据。
具体地,步骤S630还可以包括:
步骤S631,获取图像显示请求中具有第二分辨率的图像数据,第二分辨率小于第一分辨率。
步骤S632,将具有第二分辨率的图像数据转换为具有第一分辨率的图像数据。
步骤S633,处理具有第一分辨率的图像数据,将处理后的图像数据绘制到具有第一分辨率的帧缓冲区。
在本发明实施例的描述中,对具有第一分辨率的图像数据的处理可以包括但不限于如下处理步骤:通过图像渲染器对第一分辨率的图像数据进行渲染;利用图形合成器合成图像请求中具有第一分辨率的图像数据。
在该实施例中,第一分辨率可以是超高清分辨率,则第二分辨率可以是全高清分辨率或高清分辨率。可以使用像素填充的方法,将具有第二分辨率的图像数据同步放大到具有第一分辨率的图像数据。
在一个实施例中,图像显示方法600还可以包括:
步骤S640,如果图像显示请求中不包括具有第一分辨率的图像数据,将显示服务端的帧缓冲区使用的分辨率设置为第二分辨率。
步骤S650,按照第二分辨率处理图像显示请求中的图像数据。
步骤S660,将处理后的具有第二分辨率的图像数据绘制到设置为第二分辨率的帧缓冲区。
在本发明实施例的描述中,对具有第二分辨率的图像数据的处理可以包括但不限于如下处理步骤:通过图像渲染器对第二分辨率的图像数据进行渲染;利用图形合成器合成图像请求中具有第一分辨率的图像数据。
在该实施例中,当操作系统退出具有超高分辨率的图像显示需求时,可以将帧缓冲区的分辨率设置为非超高清分辨率,以节约系统资源提高图像显示性能。
在一个实施例中,由于操作系统刚启动时,具有超高清分辨率显示需求的客户端应用还未开始运行,为了不影响显示设备的显示性能,可以帧缓冲区使用的分辨率被设置为第二分辨率中的指定分辨率,第二分辨率低于上述实施例中的第一分辨率。
根据本发明实施例的图像显示方法,可以根据客户端的实际显示需求,动态切换帧缓冲区的分辨率,实现不同分辨率的客户端应用在一个界面中同时正确的显示,提高显示性能和用户体验。
下面结合附图,详细介绍根据本发明实施例的图像显示装置。
图7示出了根据本发明一实施例提供的图像显示装置的结构示意图。如图7所示,图像显示装置700包括:
分辨率确定模块710,用于显示服务端获取客户端的图像显示请求,确定图像显示请求中是否包括具有第一分辨率的图像数据;
分辨率设置模块720,用于如果图像显示请求中包括具有第一分辨率的图像数据,将显示服务端的帧缓冲区使用的分辨率设置为第一分辨率;
图像处理模块730,用于按照第一分辨率处理图像显示请求中的图像数据,将处理后的图像数据绘制到具有第一分辨率的帧缓冲区,显示帧缓冲区中的图像数据。
在一个实施例中,图像处理模块730可以包括:
图像数据获取单元,用于获取图像显示请求中具有第二分辨率的图像数据,第二分辨率小于第一分辨率;
分辨率转换单元,用于将具有第二分辨率的图像数据转换为具有第一分辨率的图像数据;
图像绘制单元,用于处理具有第一分辨率的图像数据,将处理后的图像数据绘制到具有第一分辨率的帧缓冲区。
在一个实施例中,图像显示装置700还可以包括:
分辨率设置模块,还可以用于如果图像显示请求中不包括具有第一分辨率的图像数据,将显示服务端的帧缓冲区使用的分辨率设置为第二分辨率;
图像处理模块730,还可以用于按照第二分辨率处理图像显示请求中的图像数据;
图像显示装置700还可以用于将处理后的具有第二分辨率的图像数据绘制到设置为第二分辨率的帧缓冲区。
在一个实施例中,分辨率确定模块710具体可以包括:
图像显示请求获取单元,用于显示服务端获取客户端的多个应用程序的显示请求,每个应用程序的显示请求对应至少一个图像缓冲队列,图像缓冲队列被配置用于保存客户端绘制的图像数据;
缓冲队列数据获取单元,用于从图像缓冲队列的队首位置获取客户端绘制的图像数据;
缓冲队列尺寸获取单元,用于获取图像缓冲队列的宽度和高度,根据图像缓冲队列的该宽度和该高度确定图像缓冲队列中保存的图像数据的分辨率;
分辨率确定模块710具体可以用于图像缓冲队列所保存的图像数据中具有第一分辨率的图像数据时,确定从队首位置获取的图像数据中包括具有第一分辨率的图像数据。
在一个实施例中,图像显示装置700还可以包括:
帧缓冲区初始化模块,用于显示服务端启动时,帧缓冲区使用的分辨率被设置为第二分辨率中的指定分辨率,第二分辨率低于第一分辨率。
在一个实施例中,客户端的图像显示请求中包括客户端基于Wayland协议绘制的图像数据,图像数据包括具有第一分辨率的图像数据和/或具有第二分辨率的图像数据;图像处理模块730具体可以用于:
建立客户端与显示服务端的通讯连接,通过通讯连接获取图像显示请求中的图像数据;按照第一分辨率,通过显示服务端中的渲染器,并利用图形处理单元的开放图形库OpenGL处理图像显示请求中的图像数据。
在本发明实施例中,第一分辨率可以是超高清分辨率,第二分辨率可以是低于第一分辨率的例如全高清分辨率和/或高清分辨率等显示分辨率。
根据本发明实施例的图像显示装置的其他细节与以上结合图1至图6描述的根据本发明实施例的图像显示方法类似,在此不再赘述。
图8是示出根据本发明另一实施例的图像显示方法的流程图。如图8所示,本发明实施例的图像显示方法800包括:
步骤S810,显示服务端获取客户端的图像显示请求,确定图像显示请求中是否包括具有第二分辨率的图像数据,显示服务端的帧缓冲区对应的分辨率被预设置为第一分辨率,第二分辨率小于第一分辨率。
在一个实施例中,步骤S810中显示服务端获取客户端的图像显示请求的步骤具体可以包括:
步骤S811,显示服务端获取客户端的应用程序的显示请求,每个应用程序的显示请求对应至少一个图像缓冲队列,图像缓冲队列被配置用于保存客户端绘制的图像数据。
步骤S812,从图像缓冲队列的队首位置获取客户端绘制的图像数据。
步骤S813,获取图像缓冲队列的宽度和高度,根据宽度和高度确定图像缓冲队列中保存的图像数据的分辨率。
步骤S814,如果图像缓冲队列所保存的图像数据中具有第二分辨率的图像数据,确定从队首位置获取的图像数据中包括具有第二分辨率的图像数据。
通过上述步骤S811~S814,可以确定显示服务端获取到的图像显示请求中是否包括具有第二分辨率的图像数据。
步骤S820,如果图像显示请求中包括第二分辨率的图像数据,将具有第二分辨率的图像数据转换为具有第一分辨率的图像数据。
步骤S830,处理转换得到的具有第一分辨率的图像数据,将处理后的图像数据绘制到具有第一分辨率的帧缓冲区,显示帧缓冲区中的图像数据。
在该实施例中,当显示服务端的帧缓冲区对应的分辨率被预设置为超高清分辨率的前提下,如果显示服务端接收到的显示请求中包括非超高清分辨率的图像数据,则可以将显示服务端的帧缓冲区对应的分辨率设置为超高清分辨率。
在一个实施例中,图像显示方法800还可以包括:
步骤S840,如果图像显示请求中包括具有第一分辨率的图像数据,按照第一分辨率处理图像显示请求中的图像数据,将处理后的图像数据绘制到具有第一分辨率的帧缓冲区,显示帧缓冲区中的图像数据。
在该实施例中,如果图像显示请求中包括超高清分辨率的图像数据,则可以使用像素填充的方法,将非超高清分辨率的图像数据同步放大到具有超高清分辨率的图像数据,实现不同分辨率的客户端应用在一个界面中同时正确的显示,提高显示性能和用户体验。
在一个实施例中,图像显示方法800还可以包括:
如果图像显示请求中不包括具有第一分辨率的图像数据,将显示服务端的帧缓冲区对应的分辨率设置为第二分辨率;
按照第二分辨率处理图像显示请求中的图像数据,将处理后的图像数据绘制到具有第二分辨率的帧缓冲区,显示帧缓冲区中的图像数据。
在一个实施例中,在处理完成当前图像显示请求之后,可以将显示服务端的帧缓冲区对应的分辨率重新设置为第一分辨率,以回到显示服务端的帧缓冲区的初始化设置,接收下一个图像显示请求。
在本发明实施例中,客户端的图像显示请求中包括客户端基于Wayland协议绘制的图像数据,图像数据包括具有第一分辨率的图像数据和/或具有第二分辨率的图像数据。
作为一个示例,第二分辨率为第一分辨率以外的分辨率,第一分辨率可以是超高清分辨率。
在一个实施例中,步骤S830中按照指定分辨率处理图像显示请求中的图像数据的步骤,具体可以包括:
建立客户端与显示服务端的通讯连接,通过通讯连接获取图像显示请求中的图像数据;按照指定分辨率,通过显示服务端中的渲染器,并利用图形处理单元的开放图形库OpenGL处理图像显示请求中的图像数据。
根据本发明实施例的图像显示方法,可以根据客户端的实际显示需求,动态切换帧缓冲区的分辨率,实现不同分辨率的客户端应用在一个界面中同时正确的显示,提高显示性能和用户体验。
图9示出了根据本发明另一实施例的图像显示装置的结构示意图。图图9所示,图像显示装置900可以包括:
分辨率确定模块910,用于显示服务端获取客户端的图像显示请求,确定图像显示请求中是否包括具有第二分辨率的图像数据,显示服务端的帧缓冲区对应的分辨率被预设置为第一分辨率,第二分辨率小于第一分辨率;
分辨率转换模块920,用于如果图像显示请求中包括第二分辨率的图像数据,将具有第二分辨率的图像数据转换为具有第一分辨率的图像数据;
图像处理模块930,用于处理转换得到的具有第一分辨率的图像数据,将处理后的图像数据绘制到具有第一分辨率的帧缓冲区,显示帧缓冲区中的图像数据。
在一个实施例中,图像处理模块930可以包括:
图像处理模块,用于如果所述图像显示请求中包括具有第一分辨率的图像数据,按照所述第一分辨率处理所述图像显示请求中的图像数据,将处理后的图像数据绘制到所述具有所述第一分辨率的帧缓冲区,显示所述帧缓冲区中的图像数据。
在一个实施例中,分辨率确定模块910还可以包括:
分辨率设置模块,用于如果图像显示请求中不包括具有第一分辨率的图像数据,将显示服务端的帧缓冲区对应的分辨率设置为第二分辨率;
图像处理模块,用于按照第二分辨率处理图像显示请求中的图像数据,将处理后的图像数据绘制到具有第二分辨率的帧缓冲区,显示帧缓冲区中的图像数据。
在该实施例中,将处理后的图像数据绘制到具有第二分辨率的帧缓冲区,显示帧缓冲区中的图像数据的步骤之后,可以将帧缓冲区对应的分辨率设置为第一分辨率。
在一个实施例中,分辨率确定模块910可以包括:
图像显示请求获取单元,用于显示服务端获取客户端的应用程序的显示请求,每个应用程序的显示请求对应至少一个图像缓冲队列,图像缓冲队列被配置用于保存客户端绘制的图像数据;
缓冲队列数据获取单元,用于从图像缓冲队列的队首位置获取客户端绘制的图像数据;
缓冲队列尺寸获取单元,用于获取图像缓冲队列的宽度和高度,根据宽度和高度确定图像缓冲队列中保存的图像数据的分辨率;
分辨率确定模块具体用于如果图像缓冲队列所保存的图像数据中具有第二分辨率的图像数据,确定从队首位置获取的图像数据中包括具有第二分辨率的图像数据。
在一个实施例中,客户端的图像显示请求中包括客户端基于Wayland协议绘制的图像数据,图像数据包括具有第一分辨率的图像数据和/或具有第二分辨率的图像数据。
在该实施例中,图像处理模块930具体可以用于:
建立客户端与显示服务端的通讯连接,通过通讯连接获取图像显示请求中的图像数据;按照指定分辨率,通过显示服务端中的渲染器,并利用图形处理单元的开放图形库OpenGL处理图像显示请求中的图像数据。
在一个实施例中,第二分辨率为第一分辨率以外的分辨率,第一分辨率为超高清分辨率。
根据本发明实施例的图像显示装置的其他细节与上述实施例描述的根据本发明实施例的图像显示方法和装置类似,在此不再赘述。
图10是示出可以实现根据本发明实施例的图像显示方法和装置的图像显示系统的示例性硬件架构的结构图。
如图10所示,图像显示系统1000包括输入设备1001、输入接口1002、中央处理器1003、存储器1004、输出接口1005、以及输出设备1006。其中,输入接口1002、中央处理器1003、存储器1004、以及输出接口1005通过总线1010相互连接,输入设备1001和输出设备1006分别通过输入接口1002和输出接口1005与总线1010连接,进而与图像显示系统1000的其他组件连接。
也就是说,图10所示的图像显示服务器也可以被实现为一种图像显示系统,该图像显示系统可以包括:存储有计算机可执行指令的存储器;以及处理器,该处理器用于读取存储器中存储的可执行程序代码以执行一种图像显示方法,其中,该图像显示方法可以包括:显示服务端获取客户端的图像显示请求,确定图像显示请求中是否包括具有第一分辨率的图像数据;如果图像显示请求中包括具有第一分辨率的图像数据,将显示服务端的帧缓冲区使用的分辨率设置为第一分辨率;按照第一分辨率处理图像显示请求中的图像数据,将处理后的图像数据绘制到具有第一分辨率的帧缓冲区,显示帧缓冲区中的图像数据。
该图像显示系统1000可以根据接收到的图像显示请求,实现结合图1和图7描述的图像显示方法和装置。
图11是示出可以实现根据本发明实施例的图像显示方法和装置的图像显示服务器的示例性硬件架构的结构图。
如图11所示,图像显示系统1100包括输入设备1101、输入接口1102、中央处理器1103、存储器1104、输出接口1105、以及输出设备1106。其中,输入接口1102、中央处理器1103、存储器1104、以及输出接口1105通过总线1110相互连接,输入设备1101和输出设备1106分别通过输入接口1102和输出接口1105与总线1110连接,进而与图像显示系统1100的其他组件连接。
也就是说,图11所示的图像显示服务器也可以被实现为一种图像显示系统,该图像显示系统可以包括:存储有计算机可执行指令的存储器;以及处理器,该处理器用于读取存储器中存储的可执行程序代码以执行一种图像显示方法,其中,该图像显示方法可以包括:显示服务端获取客户端的图像显示请求,确定图像显示请求中是否包括具有第二分辨率的图像数据,显示服务端的帧缓冲区对应的分辨率被预设置为第一分辨率;如果图像显示请求中均为具有第二分辨率的图像数据,将显示服务端的帧缓冲区对应的分辨率设置为第二分辨率中的指定分辨率,第二分辨率小于第一分辨率;按照指定分辨率处理图像显示请求中的图像数据,将处理后的图像数据绘制到具有指定分辨率的帧缓冲区,显示帧缓冲区中的图像数据。
该图像显示系统1100可以根据接收到的图像显示请求,实现结合图8和图9描述的图像显示方法和装置。
表1示出了利用本发明实施例的图像显示方法对动态切换帧缓冲区进行测试的具体内容。
表1
通过表1可以看出,根据本发明实施例的图像显示方法,当客户端应用需要进行超高清分辨率显示时,可以将帧缓冲区使用的分辨率动态设置为超高清分辨率,满足用户的超清分辨率显示需求并可以正确显示;当退出具有超高清分辨率显示需求的客户端应用时,可以将帧缓冲区使用的分辨率设置为非超高清分辨率,以提高GPU的图像显示性能,节约系统资源。以保证用户体验的一致性和切换显示的流畅性。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品或计算机可读存储介质的形式实现。所述计算机程序产品或计算机可读存储介质包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (30)
1.一种图像显示方法,包括:
显示服务端获取客户端的图像显示请求,确定所述图像显示请求中是否包括具有第一分辨率的图像数据;
如果所述图像显示请求中包括具有第一分辨率的图像数据,将所述显示服务端的帧缓冲区对应的分辨率设置为所述第一分辨率;
按照所述第一分辨率处理所述图像显示请求中的图像数据,将处理后的图像数据绘制到所述具有所述第一分辨率的帧缓冲区,显示所述帧缓冲区中的图像数据。
2.根据权利要求1所述的图像显示方法,其中,所述按照所述第一分辨率处理所述图像显示请求中的图像数据,将处理后的图像数据绘制到所述具有第一分辨率的帧缓冲区,还包括:
获取所述图像显示请求中具有第二分辨率的图像数据,所述第二分辨率小于所述第一分辨率;
将具有所述第二分辨率的图像数据转换为具有所述第一分辨率的图像数据;
处理转换得到的具有所述第一分辨率的图像数据,将处理后的图像数据绘制到具有所述第一分辨率的帧缓冲区。
3.根据权利要求1所述的图像显示方法,还包括:
如果所述图像显示请求中不包括具有所述第一分辨率的图像数据,将所述显示服务端的帧缓冲区对应的分辨率设置为所述第二分辨率;
按照所述第二分辨率处理所述图像显示请求中的图像数据;
将处理后的具有所述第二分辨率的图像数据绘制到设置为所述第二分辨率的帧缓冲区。
4.根据权利要求1所述的图像显示方法,其中,所述显示服务端获取客户端的图像显示请求,确定所述图像显示请求中是否包括具有所述第一分辨率的图像数据,包括:
所述显示服务端获取客户端的应用程序的显示请求,每个应用程序的显示请求对应至少一个图像缓冲队列,所述图像缓冲队列被配置用于保存所述客户端绘制的图像数据;
从所述图像缓冲队列的队首位置获取所述客户端绘制的图像数据;
获取所述图像缓冲队列的宽度和高度,根据所述宽度和所述高度确定所述图像缓冲队列中保存的图像数据的分辨率;
如果所述图像缓冲队列所保存的图像数据中具有所述第一分辨率的图像数据,确定从所述队首位置获取的所述图像数据中包括具有所述第一分辨率的图像数据。
5.根据权利要求1所述的图像显示方法,还包括:
所述显示服务端启动时,所述帧缓冲区使用的分辨率被设置为第二分辨率,所述第二分辨率低于所述第一分辨率。
6.根据权利要求1所述的图像显示方法,其中,所述客户端的图像显示请求中包括所述客户端基于Wayland协议绘制的图像数据,所述图像数据包括具有第一分辨率的图像数据和/或具有第二分辨率的图像数据;
所述按照所述第一分辨率处理所述图像显示请求中的图像数据,包括:
建立所述客户端与所述显示服务端的通讯连接,通过所述通讯连接获取所述图像显示请求中的图像数据;
按照所述第一分辨率,通过所述显示服务端中的渲染器,并利用图形处理单元的开放图形库OpenGL处理所述图像显示请求中的图像数据。
7.根据要求1所述的图像显示方法,其中,
所述第一分辨率包括超高清分辨率。
8.一种图像显示方法,包括:
显示服务端获取客户端的图像显示请求,确定所述图像显示请求中是否包括具有第二分辨率的图像数据,所述显示服务端的帧缓冲区对应的分辨率被预设置为第一分辨率,所述第二分辨率小于所述第一分辨率;
如果所述图像显示请求中包括第二分辨率的图像数据,将具有所述第二分辨率的图像数据转换为具有所述第一分辨率的图像数据;
处理转换得到的具有所述第一分辨率的图像数据,将处理后的图像数据绘制到具有所述第一分辨率的帧缓冲区,显示所述帧缓冲区中的图像数据。
9.根据权利要求8所述图像显示方法,还包括:
如果所述图像显示请求中包括具有第一分辨率的图像数据,按照所述第一分辨率处理所述图像显示请求中的图像数据,将处理后的图像数据绘制到所述具有所述第一分辨率的帧缓冲区,显示所述帧缓冲区中的图像数据。
10.根据权利要求8所述的图像显示方法,还包括:
如果所述图像显示请求中不包括具有所述第一分辨率的图像数据,将所述显示服务端的帧缓冲区对应的分辨率设置为所述第二分辨率;
按照所述第二分辨率处理所述图像显示请求中的图像数据,将处理后的图像数据绘制到所述具有所述第二分辨率的帧缓冲区,显示所述帧缓冲区中的图像数据。
11.根据权利要求8所述的图像显示方法,其中,所述显示服务端获取客户端的图像显示请求,确定所述图像显示请求中是否包括具有第二分辨率的图像数据,包括:
所述显示服务端获取客户端的应用程序的显示请求,每个应用程序的显示请求对应至少一个图像缓冲队列,所述图像缓冲队列被配置用于保存所述客户端绘制的图像数据;
从所述图像缓冲队列的队首位置获取所述客户端绘制的图像数据;
获取所述图像缓冲队列的宽度和高度,根据所述宽度和所述高度确定所述图像缓冲队列中保存的图像数据的分辨率;
如果所述图像缓冲队列所保存的图像数据中具有所述第二分辨率的图像数据,确定从所述队首位置获取的所述图像数据中包括具有所述第二分辨率的图像数据。
12.根据权利要求8所述的图像显示方法,其中,所述客户端的图像显示请求中包括所述客户端基于Wayland协议绘制的图像数据,所述图像数据包括具有第一分辨率的图像数据和/或具有第二分辨率的图像数据;
所述按照所述第一分辨率处理所述图像显示请求中的图像数据,包括:
建立所述客户端与所述显示服务端的通讯连接,通过所述通讯连接获取所述图像显示请求中的图像数据;
按照所述第一分辨率,通过所述显示服务端中的渲染器,并利用图形处理单元的开放图形库OpenGL处理所述图像显示请求中的图像数据。
13.根据权利要求8所述的图像显示方法,其中,
所述第一分辨率为超高清分辨率。
14.一种图像显示装置,包括:
分辨率确定模块,用于显示服务端获取客户端的图像显示请求,确定所述图像显示请求中是否包括具有第一分辨率的图像数据;
分辨率设置模块,用于如果所述图像显示请求中包括具有第一分辨率的图像数据,将所述显示服务端的帧缓冲区使用的分辨率设置为所述第一分辨率;
图像处理模块,用于按照所述第一分辨率处理所述图像显示请求中的图像数据,将处理后的图像数据绘制到所述具有所述第一分辨率的帧缓冲区,显示所述帧缓冲区中的图像数据。
15.根据权利要求14所述的图像显示装置,其中,所述图像处理模块包括:
图像数据获取单元,用于获取所述图像显示请求中具有第二分辨率的图像数据,所述第二分辨率小于所述第一分辨率;
分辨率转换单元,用于将具有所述第二分辨率的图像数据转换为具有所述第一分辨率的图像数据;
图像绘制单元,用于处理具有所述第一分辨率的图像数据,将处理后的图像数据绘制到具有所述第一分辨率的帧缓冲区。
16.根据权利要求14所述的图像显示装置,还包括:
所述分辨率设置模块,还用于如果所述图像显示请求中不包括具有所述第一分辨率的图像数据,将所述显示服务端的帧缓冲区对应的分辨率设置为所述第二分辨率;
所述图像处理模块,还用于按照所述第二分辨率处理所述图像显示请求中的图像数据;
所述图像显示装置还用于将处理后的具有所述第二分辨率的图像数据绘制到设置为所述第二分辨率的帧缓冲区。
17.根据权利要求13所述的图像显示装置,其中,所述分辨率确定模块包括:
图像显示请求获取单元,用于所述显示服务端获取客户端的多个应用程序的显示请求,每个应用程序的显示请求对应至少一个图像缓冲队列,所述图像缓冲队列被配置用于保存所述客户端绘制的图像数据;
缓冲队列数据获取单元,用于从所述图像缓冲队列的队首位置获取所述客户端绘制的图像数据;
缓冲队列尺寸获取单元,用于获取所述图像缓冲队列的宽度和高度,根据所述宽度和所述高度确定所述图像缓冲队列中保存的图像数据的分辨率;
所述分辨率确定模块具体用于所述图像缓冲队列所保存的图像数据中具有所述第一分辨率的图像数据时,确定从所述队首位置获取的所述图像数据中包括具有所述第一分辨率的图像数据。
18.根据权利要求14所述的图像显示装置,还包括:
帧缓冲区初始化模块,用于所述显示服务端启动时,所述帧缓冲区使用的分辨率被设置为第二分辨率,所述第二分辨率低于所述第一分辨率。
19.根据权利要求14所述的图像显示装置,其中,所述客户端的图像显示请求中包括所述客户端基于Wayland协议绘制的图像数据,所述图像数据包括具有第一分辨率的图像数据和/或具有第二分辨率的图像数据;
所述图像处理模块具体用于:
建立所述客户端与所述显示服务端的通讯连接,通过所述通讯连接获取所述图像显示请求中的图像数据;
按照所述第一分辨率,通过所述显示服务端中的渲染器,并利用图形处理单元的开放图形库OpenGL处理所述图像显示请求中的图像数据。
20.根据权利要求14所述的图像显示装置,其中,
所述第一分辨率包括超高清分辨率。
21.一种图像显示装置,包括:
分辨率确定模块,用于显示服务端获取客户端的图像显示请求,确定所述图像显示请求中是否包括具有第二分辨率的图像数据,所述显示服务端的帧缓冲区对应的分辨率被预设置为第一分辨率,所述第二分辨率小于所述第一分辨率;
分辨率转换模块,用于如果所述图像显示请求中包括第二分辨率的图像数据,将具有所述第二分辨率的图像数据转换为具有所述第一分辨率的图像数据;
图像处理模块,用于处理转换得到的具有所述第一分辨率的图像数据,将处理后的图像数据绘制到具有所述第一分辨率的帧缓冲区,显示所述帧缓冲区中的图像数据。
22.根据权利要求21所述图像显示装置,所述图像处理模块还用于:
如果所述图像显示请求中包括具有第一分辨率的图像数据,按照所述第一分辨率处理所述图像显示请求中的图像数据,将处理后的图像数据绘制到所述具有所述第一分辨率的帧缓冲区,显示所述帧缓冲区中的图像数据。
23.根据权利要求21所述图像显示装置,还包括:
分辨率设置模块,用于如果所述图像显示请求中不包括具有所述第一分辨率的图像数据,将所述显示服务端的帧缓冲区对应的分辨率设置为所述第二分辨率;
所述图像处理模块还用于按照所述第二分辨率处理所述图像显示请求中的图像数据,将处理后的图像数据绘制到所述具有所述第二分辨率的帧缓冲区,显示所述帧缓冲区中的图像数据。
24.根据权利要求21所述的图像显示装置,其中,所述分辨率确定模块包括:
图像显示请求获取单元,用于所述显示服务端获取客户端的应用程序的显示请求,每个应用程序的显示请求对应至少一个图像缓冲队列,所述图像缓冲队列被配置用于保存所述客户端绘制的图像数据;
缓冲队列数据获取单元,用于从所述图像缓冲队列的队首位置获取所述客户端绘制的图像数据;
缓冲队列尺寸获取单元,用于获取所述图像缓冲队列的宽度和高度,根据所述宽度和所述高度确定所述图像缓冲队列中保存的图像数据的分辨率;
所述分辨率确定模块具体用于如果所述图像缓冲队列所保存的图像数据中具有所述第二分辨率的图像数据,确定从所述队首位置获取的所述图像数据中包括具有所述第二分辨率的图像数据。
25.根据权利要求21所述的图像显示装置,其中,所述客户端的图像显示请求中包括所述客户端基于Wayland协议绘制的图像数据,所述图像数据包括具有第一分辨率的图像数据和/或具有第二分辨率的图像数据;
所述图像处理模块具体用于:
建立所述客户端与所述显示服务端的通讯连接,通过所述通讯连接获取所述图像显示请求中的图像数据;
按照所述第一分辨率,通过所述显示服务端中的渲染器,并利用图形处理单元的开放图形库OpenGL处理所述图像显示请求中的图像数据。
26.根据权利要求21所述的图像显示装置,其中,
所述第一分辨率为超高清分辨率。
27.一种图像显示系统,包括存储器和处理器;
所述存储器用于储存有可执行程序代码;
所述处理器用于读取所述存储器中存储的可执行程序代码以执行权利要求1至7中任一项所述的图像显示方法。
28.一种图像显示系统,包括存储器和处理器;
所述存储器用于储存有可执行程序代码;
所述处理器用于读取所述存储器中存储的可执行程序代码以执行权利要求8至13中任一项所述的图像显示方法。
29.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至7中任意一项所述的图像显示方法。
30.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求8至13中任意一项所述图像显示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810151931.XA CN110166792B (zh) | 2018-02-14 | 2018-02-14 | 图像显示方法、装置、系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810151931.XA CN110166792B (zh) | 2018-02-14 | 2018-02-14 | 图像显示方法、装置、系统和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110166792A true CN110166792A (zh) | 2019-08-23 |
CN110166792B CN110166792B (zh) | 2021-10-22 |
Family
ID=67635533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810151931.XA Active CN110166792B (zh) | 2018-02-14 | 2018-02-14 | 图像显示方法、装置、系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110166792B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110569072A (zh) * | 2019-08-30 | 2019-12-13 | 广州昶视电子科技股份有限公司 | 电脑开机花屏处理方法 |
CN113050899A (zh) * | 2021-02-07 | 2021-06-29 | 厦门亿联网络技术股份有限公司 | 一种基于Wayland协议的视频和UI的drm直接显示方法及系统 |
CN113238725A (zh) * | 2021-04-30 | 2021-08-10 | 深圳市智微智能软件开发有限公司 | 显示器点对点显示控制方法、装置、设备及存储介质 |
CN113302913A (zh) * | 2020-03-31 | 2021-08-24 | 西安诺瓦星云科技股份有限公司 | 图像处理的方法、装置和系统 |
CN113784075A (zh) * | 2021-09-28 | 2021-12-10 | 统信软件技术有限公司 | 一种屏幕录像读取方法、系统及计算设备 |
WO2021259249A1 (zh) * | 2020-06-24 | 2021-12-30 | 深圳市万普拉斯科技有限公司 | 数据显示处理方法、装置、计算机设备和存储介质 |
CN114669047A (zh) * | 2022-02-28 | 2022-06-28 | 荣耀终端有限公司 | 一种图像处理方法、电子设备及存储介质 |
CN114938408A (zh) * | 2022-04-30 | 2022-08-23 | 苏州浪潮智能科技有限公司 | 一种云手机的数据传输方法、系统、设备及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103618933A (zh) * | 2013-11-28 | 2014-03-05 | 青岛海信电器股份有限公司 | 一种自适应显示应用界面图像的方法及装置 |
CN103702060A (zh) * | 2013-12-31 | 2014-04-02 | 京东方科技集团股份有限公司 | 超高清显示装置及视频信号转换方法 |
CN103716575A (zh) * | 2013-12-11 | 2014-04-09 | 乐视致新电子科技(天津)有限公司 | 一种可调整清晰度的显示装置及控制方法 |
CN104503655A (zh) * | 2014-11-28 | 2015-04-08 | 晨星半导体股份有限公司 | 应用程序界面显示控制方法及装置 |
CN105872766A (zh) * | 2016-03-31 | 2016-08-17 | 乐视控股(北京)有限公司 | 显示控制方法及装置 |
US20160321781A1 (en) * | 2015-04-29 | 2016-11-03 | Pitney Bowes Inc. | System and method for multi-resolution raster data processing |
CN106339061A (zh) * | 2015-07-16 | 2017-01-18 | 华为技术有限公司 | 一种移动终端及其运行应用程序的方法 |
CN106775517A (zh) * | 2016-11-14 | 2017-05-31 | 沈阳中科创达软件有限公司 | 一种不同分辨率显示设备同步显示的系统及方法 |
CN106970768A (zh) * | 2016-01-13 | 2017-07-21 | 福州瑞芯微电子股份有限公司 | 基于Android系统的支持多分辨率无缩放显示的方法及系统 |
-
2018
- 2018-02-14 CN CN201810151931.XA patent/CN110166792B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103618933A (zh) * | 2013-11-28 | 2014-03-05 | 青岛海信电器股份有限公司 | 一种自适应显示应用界面图像的方法及装置 |
CN103716575A (zh) * | 2013-12-11 | 2014-04-09 | 乐视致新电子科技(天津)有限公司 | 一种可调整清晰度的显示装置及控制方法 |
CN103702060A (zh) * | 2013-12-31 | 2014-04-02 | 京东方科技集团股份有限公司 | 超高清显示装置及视频信号转换方法 |
CN104503655A (zh) * | 2014-11-28 | 2015-04-08 | 晨星半导体股份有限公司 | 应用程序界面显示控制方法及装置 |
US20160155411A1 (en) * | 2014-11-28 | 2016-06-02 | Mstar Semiconductor, Inc. | Display control method and device for application program interface |
US20160321781A1 (en) * | 2015-04-29 | 2016-11-03 | Pitney Bowes Inc. | System and method for multi-resolution raster data processing |
CN106339061A (zh) * | 2015-07-16 | 2017-01-18 | 华为技术有限公司 | 一种移动终端及其运行应用程序的方法 |
CN106970768A (zh) * | 2016-01-13 | 2017-07-21 | 福州瑞芯微电子股份有限公司 | 基于Android系统的支持多分辨率无缩放显示的方法及系统 |
CN105872766A (zh) * | 2016-03-31 | 2016-08-17 | 乐视控股(北京)有限公司 | 显示控制方法及装置 |
CN106775517A (zh) * | 2016-11-14 | 2017-05-31 | 沈阳中科创达软件有限公司 | 一种不同分辨率显示设备同步显示的系统及方法 |
Non-Patent Citations (2)
Title |
---|
TOMIO GOTO: "Super-resolution System for 4K-HDTV", 《2014 22ND INTERNATIONAL CONFERENCE ON PATTERN RECOGNITION》 * |
温娜等: "超高清电视清晰度和细节表现力测量方法探讨", 《电视技术》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110569072A (zh) * | 2019-08-30 | 2019-12-13 | 广州昶视电子科技股份有限公司 | 电脑开机花屏处理方法 |
CN110569072B (zh) * | 2019-08-30 | 2023-05-12 | 广州昶视电子科技股份有限公司 | 电脑开机花屏处理方法 |
CN113302913A (zh) * | 2020-03-31 | 2021-08-24 | 西安诺瓦星云科技股份有限公司 | 图像处理的方法、装置和系统 |
US11830413B2 (en) | 2020-03-31 | 2023-11-28 | Xi'an Novastar Tech Co., Ltd. | Method, device for processing image, and system |
WO2021259249A1 (zh) * | 2020-06-24 | 2021-12-30 | 深圳市万普拉斯科技有限公司 | 数据显示处理方法、装置、计算机设备和存储介质 |
CN113050899A (zh) * | 2021-02-07 | 2021-06-29 | 厦门亿联网络技术股份有限公司 | 一种基于Wayland协议的视频和UI的drm直接显示方法及系统 |
CN113238725A (zh) * | 2021-04-30 | 2021-08-10 | 深圳市智微智能软件开发有限公司 | 显示器点对点显示控制方法、装置、设备及存储介质 |
CN113784075A (zh) * | 2021-09-28 | 2021-12-10 | 统信软件技术有限公司 | 一种屏幕录像读取方法、系统及计算设备 |
CN113784075B (zh) * | 2021-09-28 | 2024-05-14 | 统信软件技术有限公司 | 一种屏幕录像读取方法、系统及计算设备 |
CN114669047A (zh) * | 2022-02-28 | 2022-06-28 | 荣耀终端有限公司 | 一种图像处理方法、电子设备及存储介质 |
CN114938408A (zh) * | 2022-04-30 | 2022-08-23 | 苏州浪潮智能科技有限公司 | 一种云手机的数据传输方法、系统、设备及介质 |
CN114938408B (zh) * | 2022-04-30 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 一种云手机的数据传输方法、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110166792B (zh) | 2021-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110166792A (zh) | 图像显示方法、装置、系统和存储介质 | |
TWI585678B (zh) | 點對點動態可附加邏輯顯示器 | |
US11481872B2 (en) | Method and device for loading image | |
WO2020192451A1 (en) | Real-time picture projection method and apparatus of ar glasses screen, controller and medium | |
EP4231650A1 (en) | Picture display method and apparatus, and electronic device | |
JP2024505995A (ja) | 特殊効果展示方法、装置、機器および媒体 | |
KR20120036979A (ko) | 변하는 이미지들의 업데이트들을 클라이언트 디바이스들에게 선택적으로 분배하는 기술 | |
US20230005194A1 (en) | Image processing method and apparatus, readable medium and electronic device | |
WO2017076019A1 (zh) | 导航图像显示方法及装置 | |
US10860280B2 (en) | Display method and device | |
US20240089551A1 (en) | Interaction method and apparatus, and electronic device | |
US20240045641A1 (en) | Screen sharing display method and apparatus, device, and storage medium | |
CN110290398B (zh) | 视频下发方法、装置、存储介质及电子设备 | |
US20150089383A1 (en) | Virtual Desktop Infrastructure (VDI) Login Acceleration | |
US9466089B2 (en) | Apparatus and method for combining video frame and graphics frame | |
WO2024037556A1 (zh) | 图像处理方法、装置、设备及存储介质 | |
WO2023207912A1 (zh) | 分屏渲染方法、装置、设备及存储介质 | |
WO2024067159A1 (zh) | 视频生成方法、装置、电子设备及存储介质 | |
CN110134905B (zh) | 一种页面更新显示方法、装置、设备及存储介质 | |
US20240177374A1 (en) | Video processing method, apparatus and device | |
CN114489910B (zh) | 一种视频会议数据显示方法、装置、设备及介质 | |
CN116248889A (zh) | 图像编码及解码方法、装置和电子设备 | |
KR20060107072A (ko) | 알파 평면을 이용한 영상 데이터 처리 장치 및 방법 | |
CN112579962A (zh) | 网页颜色调整方法、装置、电子设备和计算机可读介质 | |
CN116166367B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40012705 Country of ref document: HK |
|
TA01 | Transfer of patent application right |
Effective date of registration: 20201209 Address after: Room 603, 6 / F, Roche Plaza, 788 Cheung Sha Wan Road, Kowloon, China Applicant after: Zebra smart travel network (Hong Kong) Limited Address before: Grand Cayman Islands Applicant before: Alibaba Group Holding Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |