CN105955687B - 图像处理的方法、装置和系统 - Google Patents
图像处理的方法、装置和系统 Download PDFInfo
- Publication number
- CN105955687B CN105955687B CN201610281669.1A CN201610281669A CN105955687B CN 105955687 B CN105955687 B CN 105955687B CN 201610281669 A CN201610281669 A CN 201610281669A CN 105955687 B CN105955687 B CN 105955687B
- Authority
- CN
- China
- Prior art keywords
- image
- layer
- indication information
- processor
- display area
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1407—General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Abstract
本发明实施例提供了一种图像处理的方法、装置和系统。该方法包括:中央处理器CPU在第一缓冲区中写入第一图像对应的第一图像数据;该CPU在第二缓冲区中写入第二图像对应的第二图像数据,以便于图像处理器基于所述第一图像数据和所述第二图像数据,对所述第一图像和所述第二图像进行叠加处理。本发明实施例提供的图像处理的方法、装置和系统,在保证UI线程和浏览器引擎相互独立刷新的同时,只需两个缓冲区即可完成图像处理,从而减少了内存的使用量,此外,CPU无需对图像数据进行处理,而是通过图像处理器对图像数据进行处理,从而减少了数据在总线上的传输时间,从而提高了图像处理速度,并且减轻了CPU的负担。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种图像处理的方法、装置和系统。
背景技术
当前,显示设备的显示分辨率要求越来越高,而嵌入式设备(例如机顶盒、智能电视)的处理能力较弱,因此,提升图像的显示性能至关重要。为了减少浏览器引擎的刷新等待时间,现有技术使用至少两个共享缓冲区(share buffer)存储网页图像,这样大大增加了内存的使用量,此外,浏览器引擎将网页图像写入共享缓冲区后,浏览器的UI(UserInterface,用户界面)线程还需要从该共享缓冲区中读取网页图像,将其与本地图像叠加后输出到显示设备,这也增大了图像处理的时间。
发明内容
有鉴于此,本发明实施例提供了一种用于图像处理的方法、装置和系统,能够减少内存的使用,并且能够减少图像处理的时间。
第一方面,提供了一种图像处理的方法,该方法包括:中央处理器CPU在第一缓冲区中写入第一图像对应的第一图像数据;所述CPU在第二缓冲区中写入第二图像对应的第二图像数据,以便于图像处理器基于所述第一图像数据和所述第二图像数据,对所述第一图像和所述第二图像进行叠加处理。从而可以加快图像处理速度,减少CPU的负载。
可选地,在所述第一缓冲区写入所述第一图像数据之前,所述方法还包括:所述CPU向所述图像处理器发送第一指示信息,所述第一指示信息用于指示所述图像处理器将第一图层设置为透明,所述第一图层用于承载所述第一图像,其中,所述第一图像包括填充透明色的第二图像显示区域,或者所述第一图像包括空白的第二图像显示区域,所述第一图像和所述第二图像叠加后,所述第二图像位于所述第二图像显示区域;所述CPU向所述图像处理器发送第二指示信息,所述第二指示信息用于指示所述图像处理器将所述第一图层的显示顺序设置于第二图层的上面,所述第二图层用于承载所述第二图像。
本发明实施例中,用户可以直接在该第一图像上进行操作,从而提高了用户体验的满意度。
可选地,在所述第二缓冲区写入所述第二图像数据之前,所述方法还包括:所述CPU向所述图像处理器发送第三指示信息,所述第三指示信息用于指示所述图像处理器在第二图层设置屏幕显示区域,所述屏幕显示区域用于显示所述第二图像,所述第二图层用于承载所述第二图像。从而可以根据用户界面图像的位置灵活设置网页图像的显示位置。
可选地,所述第一缓冲区包括第一帧缓冲区,所述第二缓冲区包括第二帧缓冲区,其中,所述第一帧缓冲区和所述第二帧缓冲区是所述图像处理器的缓冲区。
本发明实施中,CPU无需再从缓冲区读取图像数据,减少了数据在总线上的传输时间,从而提高了图像处理速度,并且减轻了CPU的负担。
第二方面,提供了一种图像处理的方法,该方法包括:图像处理器从第一缓冲区中读取第一图像对应的第一图像数据;所述图像处理器从第二缓冲区读取第二图像对应的第二图像数据;所述图像处理器基于所述第一图像数据和所述第二图像数据,对所述第一图像和所述第二图像进行叠加处理,其中,所述第一图像数据是中央处理器CPU写入所述第一缓冲区的图像数据,所述第二图像数据是所述CPU写入所述第二缓冲区的图像数据。
本发明实施例利用图像处理器对第一图像和第二图像进行叠加处理,从而减轻了CPU的负担,提高了图像处理设备的图像处理性能。
可选地,从所述第一缓冲区读取所述第一图像数据前,所述方法还包括:所述图像处理器接收所述CPU发送的第一指示信息,所述第一指示信息用于指示所述图像处理器将第一图层设置为透明,所述第一图层用于承载所述第一图像,其中,所述第一图像包括填充透明色的第二图像显示区域,或者所述第一图像包括空白的第二图像显示区域,所述第一图像和所述第二图像叠加后,所述第二图像位于所述第二图像显示区域;所述图像处理器根据所述第一指示信息将所述第一图层设置为透明;所述图像处理器接收所述CPU发送的第二指示信息,所述第二指示信息用于指示所述图像处理器将所述第一图层的显示顺序设置于第二图层的上面,所述第二图层用于承载所述第二图像;所述图像处理器根据所述第二指示信息,将所述第一图层的显示顺序设置于所述第二图层的上面。
本发明实施例中,用户可以直接在该第一图像上进行操作,从而提高了用户体验的满意度。
可选地,从所述第二缓冲区读取所述第二图像数据前,所述方法还包括:所述图像处理器接收所述CPU发送的第三指示信息,所述第三指示信息用于指示所述图像处理器在第二图层设置屏幕显示区域,所述屏幕显示区域用于显示所述第二图像,所述第二图层用于承载所述第二图像;所述图像处理器根据所述第三指示信息,在所述第二图层设置所述屏幕显示区域。从而可以根据用户界面图像的位置灵活设置网页图像的显示位置。
可选地,所述第一缓冲区包括第一帧缓冲区,所述第二缓冲区包括第二帧缓冲区,其中,所述第一帧缓冲区和所述第二帧缓冲区是所述图像处理器的缓冲区。
本发明实施中,CPU无需再从缓冲区读取图像数据,减少了数据在总线上的传输时间,从而提高了图像处理速度,并且减轻了CPU的负担。
第三方面,提供了一种图像处理的装置,该装置包括:输出模块,用于在第一缓冲区中写入第一图像对应的第一图像数据;在第二缓冲区中写入第二图像对应的第二图像数据,以便于图像处理器基于所述第一图像数据和所述第二图像数据,对所述第一图像和所述第二图像进行叠加处理。从而可以加快图像处理速度,减少CPU的负载。
可选地,在所述第一缓冲区写入所述第一图像数据之前,所述输出模块还用于:向所述图像处理器发送第一指示信息,所述第一指示信息用于指示所述图像处理器将第一图层设置为透明,所述第一图层用于承载所述第一图像,其中,所述第一图像包括填充透明色的第二图像显示区域,或者所述第一图像包括空白的第二图像显示区域,所述第一图像和所述第二图像叠加后,所述第二图像位于所述第二图像显示区域;向所述图像处理器发送第二指示信息,所述第二指示信息用于指示所述图像处理器将所述第一图层的显示顺序设置于第二图层的上面,所述第二图层用于承载所述第二图像。
本发明实施例中,用户可以直接在该第一图像上进行操作,从而提高了用户体验的满意度。
可选地,在所述第二缓冲区写入所述第二图像数据之前,所述输出模块还用于:向所述图像处理器发送第三指示信息,所述第三指示信息用于指示所述图像处理器在第二图层设置屏幕显示区域,所述屏幕显示区域用于显示所述第二图像,所述第二图层用于承载所述第二图像。从而可以根据用户界面图像的位置灵活设置网页图像的显示位置。
可选地,所述第一缓冲区包括第一帧缓冲区,所述第二缓冲区包括第二帧缓冲区,其中,所述第一帧缓冲区和所述第二帧缓冲区是所述图像处理器的缓冲区。
本发明实施中,CPU无需再从缓冲区读取图像数据,减少了数据在总线上的传输时间,从而提高了图像处理速度,并且减轻了CPU的负担。
第四方面,提供了一种图像处理的装置,该装置包括:输入模块,用于从第一缓冲区中读取第一图像对应的第一图像数据;从第二缓冲区读取第二图像对应的第二图像数据;处理模块,用于基于所述输入模块读取的所述第一图像数据和所述第二图像数据,对所述第一图像和所述第二图像进行叠加处理,其中,所述第一图像数据是中央处理器CPU写入所述第一缓冲区的图像数据,所述第二图像数据是所述CPU写入所述第二缓冲区的图像数据。从而可以加快图像处理速度,减少CPU的负载。
可选地,从所述第一缓冲区读取所述第一图像数据前,所述输入模块还用于:接收所述CPU发送的第一指示信息,所述第一指示信息用于指示所述装置将第一图层设置为透明,所述第一图层用于承载所述第一图像,其中,所述第一图像包括填充透明色的第二图像显示区域,或者所述第一图像包括空白的第二图像显示区域,所述第一图像和所述第二图像叠加后,所述第二图像位于所述第二图像显示区域;接收所述CPU发送的第二指示信息,所述第二指示信息用于指示所述装置将所述第一图层的显示顺序设置于第二图层的上面,所述第二图层用于承载所述第二图像;
其中,所述处理模块还用于:根据所述第一指示信息将所述第一图层设置为透明;根据所述第二指示信息,将所述第一图层的显示顺序设置于所述第二图层的上面。
本发明实施例中,用户可以直接在该第一图像上进行操作,从而提高了用户体验的满意度。
可选地,从所述第二缓冲区读取所述第二图像数据前,所述输入模块还用于:接收所述CPU发送的第三指示信息,所述第三指示信息用于指示所述装置在第二图层设置屏幕显示区域,所述屏幕显示区域用于显示所述第二图像,所述第二图层用于承载所述第二图像;
其中,所述处理模块还用于:根据所述第三指示信息,在所述第二图层设置所述屏幕显示区域。
从而,可以根据用户界面图像的位置灵活设置网页图像的显示位置。
可选地,所述第一缓冲区包括第一帧缓冲区,所述第二缓冲区包括第二帧缓冲区,其中,所述第一帧缓冲区和所述第二帧缓冲区是所述装置的缓冲区。
本发明实施中,CPU无需再从缓冲区读取图像数据,减少了数据在总线上的传输时间,从而提高了图像处理速度,并且减轻了CPU的负担。
第五方面,提供了一种图像处理的系统,该系统包括:根据三方面中任一项所述的图像处理的装置;根据第四方面中任一项所述的图像处理的装置。
第六方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第二方面,或上述两个方面的任意可能的实现方式中的方法的指令。
基于以上的技术方案,本发明实施例的图形处理的方法、装置、系统以及计算机可读介质,通过在第一缓冲区写入第一图像对应的第一图像数据,在第二缓冲区写入第二图像对应的第二图像数据,由图像处理器进行叠加处理,可以加快图像处理速度,减少CPU的负载,并且可以减少内存的使用。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种图像处理的方法的示意性流程图;
图2是一种适用本发明实施例的图像处理的方法的设备的结构示意图;
图3是本发明实施例提供的另一种图像处理的方法的示意性流程图;
图4是本发明实施例提供的再一种图像处理的方法的示意性流程图;
图5是本发明实施例提供的再一种图像处理的方法的示意性流程图;
图6是本发明实施例提供的一种图像处理的装置的示意性框图;
图7是本发明实施例提供的另一种图像处理的装置的示意性框图;
图8是本发明实施例一种图像处理的系统的示意性结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了方便理解本发明实施例,首先在此介绍本发明实施例之前引入以下的几个要素。
显示设备,例如显卡,显卡全称显示器配置卡(Video card/Graphics card),又称显示适配器(Video Adapter)。显卡的用途是将计算机系统需要显示的数据进行转换,并向显示器提供行扫描信号,控制显示器的正确显示。
计算机系统中的数据一旦离开CPU(Central Processing Unit,中央处理器),需要经过四个步骤才能达到显示器(Monitor):
1.从总线进入GPU(Graphics Processing Unit,图像处理器):将CPU传输过来的数据送到GPU进行处理;
2.从显卡芯片组(Video Chipset)进入显存(Video Random-Access Memory,VRAM):将GPU处理完的数据送到显存;
3.从显存进入数模转换器(Digital Analog Converter,DAC):将从显存取出的数据送入DAC中进行数据转换;
4.从DAC进入显示器:将转换完的模拟信号送到显示器进行显示。
显存,就是显示内存的意思,主要用于存储显示芯片已经处理和即将处理的数据。如果将显存所存储的数据细分的话,可以分为如下五个部分:帧缓冲(Frame buffer,FB)数据、后台缓冲(Back buffer)数据、Z轴缓冲(Z-buffer)数据、纹理数据和几何数据。其中,FB(可以看作一块内存区域)中存储数据的就是我们将要在显示器上看到的一帧图像的数据,后台缓冲数据指的就是当前画面的后一帧图像的数据,当屏幕上显示出当前FB中的内容时,下一帧的显示内容已经被存放在后台缓冲里了。
目前,几乎所有的图像系统都基于光栅。一幅图像是由许多基本单元阵列组成,在图像系统中,图像的基本单元称为像素(pixel),而像素的阵列称为光栅(raster)。
每个像素对应于图像中的某个位置或某个小区域。一幅图像的像素全部存放在FB里。在高端系统中,FB采用特殊类型的存储器芯片实现,一般是视频随机读写存储器(VRAM)或者动态随机读写存储器(Dynamic Random-Access Memory,DRAM),这些存储芯片会快速刷新FB里的内容。FB的深度,即每个像素的位数决定了某一个显示系统能显示的颜色数。例如,1位深度FB只能显示两种颜色,而8位深度FB可以显示28(=256)种颜色。在全色彩(full-color)系统里,深度为24位的图像系统可以显示足够多的颜色数,能表示大多数真实感图像,所以称之为真彩色(true-color)系统,或称RGB(Red Green Blue,红绿蓝)颜色系统,因为每个像素的3个颜色位组分别赋予红、绿、蓝三基色,大多数显示系统使用三基色。在一些比较简单的图像系统里,FB就是标准内存的一部分。FB可以看作是图像系统的核心部分。
在基于linux的操作系统中,由于linux工作在保护模式下,所以用户态进程无法像DOS(Disk Operating System,磁盘操作系统)那样使用显卡BIOS(Basic Input OutputSystem,基本输入输出系统)提供的中断调用来实现直接写屏,因此,linux抽象出FB这个缓冲区来供用户态进程实现直接写屏(实际上,FB是linux内核提供的一种驱动程序接口),FB模仿显卡的功能,将显卡硬件结构抽象掉,可以通过FB的读写直接对显存进行操作,用户可以将FB看成是显存的一个映像,将其映射到进程地址空间之后,就可以直接进行读写操作,而写操作可以立即反应在屏幕上。这种操作是抽象的,统一的,用户不必关心物理显存的位置、换页机制等等具体细节。
下面,以使用Skia图像库的Blink浏览器引擎为例,对本发明实施例提供的图像处理的方法和装置进行详细描述,应理解,上述图像库和浏览器引擎仅是举例说明,本发明实施例不限于此,浏览器引擎还可以是其它浏览器引擎,并且可以对接不同的本地图像库和浏览器图像库。
图1示出了根据本发明实施例的图像处理的方法100的示意性流程图。本发明实施例提供的图像处理方法可以应用于计算机系统中,该计算机系统可以位于一台物理主机上,也可以分布位于多台物理主机上。具体地,该计算机系统可以位于一台或多台计算机、便携式电脑、手持设备(例如手机,PAD等)、服务器、机顶盒或者智能电视等类型的终端设备上。
终端设备中可以安装应用软件,例如浏览器。终端设备可以通过应用软件或者硬件对待显示的网页进行图像处理,本发明实施例中的网页中包含的内容包括但不限于文字内容、图片内容和视频内容等。
以图2为例介绍本发明实施例提供的图像处理方法应用的计算节点的逻辑结构。该计算节点可以是终端设备,该终端设备具体可以为一智能电视。如图1所示,该终端设备的硬件层包括CPU、GPU等,当然还可以包括存储器、输入/输出设备、内存、内存控制器、网络接口等,输入设备可包括键盘、鼠标、触摸屏等,输出设备可包括显示设备如LCD(LiquidCrystal Display,液晶显示器)、CRT(Cathode Ray Tube,阴极射线管)显示器、全息成像(Holographic)、投影(Projector)等。在硬件层之上可运行有操作系统(如Android等)以及一些应用程序。核心库(Kernel Library)是操作系统的核心部分,包括输入/输出服务(I/OService)、核心服务(Kernel Service)、图像设备接口以及实现CPU、GPU图像处理的图像引擎(Graphics Engine)等。图像引擎可包括2D引擎、3D引擎、合成器(Composition)、帧缓冲区(Frame Buffer)、EGL(Enterprise Generation Language)等。除此之外,该终端还包括驱动层、框架层和应用层。驱动层可包括CPU驱动、GPU驱动、显示控制器驱动等。框架层可包括图像服务(Graphic Service)、系统服务(System service)、网页服务(Web Service)和用户服务(Customer Service)等;图像服务中,可包括如微件(Widget)、画布(Canvas)、视图(Views)、Render Script等。应用层可包括桌面(launcher)、媒体播放器(MediaPlayer)、浏览器(Browser)等。
回到图1,如图1所示,方法100包括:
S110,中央处理器CPU在第一缓冲区中写入第一图像对应的第一图像数据;
S120,所述CPU在第二缓冲区中写入第二图像对应的第二图像数据,以便于图像处理器基于所述第一图像数据和所述第二图像数据,对所述第一图像和所述第二图像进行叠加处理。
方法100中,例如,浏览器在绘制图像时,除了要绘制来自互联网的网页图像(相当于第二图像),还需要绘制供用户操作的用户界面图像(相当于第一图像),例如包括地址栏、按钮和菜单的对话框,由于用户界面图像通常是固定格式的,因此浏览器可以利用本地图像库绘制用户界面图像,无需在skia图像库(浏览器引擎图像库)中绘制用户界面图像,从而减少了CPU的负担,提高了图像绘制的速度。
对于嵌入式设备,例如机顶盒、智能电视,其显示内容的位置都是固定的,因此,采用本地图像与网页图像叠加显示的方法,利用本地图像库绘制用户界面图像,利用浏览器图像库绘制网页图像,既可以提高图像绘制的速度,又可以充分利用CPU的性能。
本发明实施例中,用户界面图像可以位于网页图像的上面,也可以位于网页图像的下面。当用户界面图像位于网页图像的上面时,可以利用鼠标点击等直接触控方式对用户界面图像进行操作;当用户界面图像位于网页图像的下面时,可以利用遥控器等非直接触控方式对用户界面进行操作。
本发明实施例中,可以直接在第二帧缓冲区中写入网页图像数据,其中,该第二帧缓冲区对应的图层的大小与用户界面图像所包括的网页显示区域大小相匹配,无需在第二帧缓冲区对应的图层中设置屏幕显示区域就可以显示网页图像,从而减轻了CPU的负担。
所述图像处理器包括GPU、专业渲染芯片或者第二CPU。
上述实施例仅是举例说明,本发明实施例不限于此,例如第一图像和第二图像还可以是其它图像,网页内容和本地内容混合显示的应用程序在绘制图像时也适用方法100。
可选地,在所述第一缓冲区写入所述第一图像数据之前,方法100还包括:
S130,所述CPU向所述图像处理器发送第一指示信息,所述第一指示信息用于指示所述图像处理器将第一图层设置为透明,所述第一图层用于承载所述第一图像,其中,所述第一图像包括填充透明色的第二图像显示区域,或者所述第一图像包括空白的第二图像显示区域,所述第一图像和所述第二图像叠加后,所述第二图像位于所述第二图像显示区域;
S140,所述CPU向所述图像处理器发送第二指示信息,所述第二指示信息用于指示所述图像处理器将所述第一图层的显示顺序设置于第二图层的上面,所述第二图层用于承载所述第二图像。
在本发明实施例中,CPU可以通过浏览器引擎将第二图层的显示顺序设置在第一图层的下面,这样,可以使用户界面图像位于在最上面的图层,用户可以直接在该用户界面图像上进行操作,从而提高了用户体验的满意度,上述实施例仅是举例说明,本发明实施例不限于此。
可选地,在所述第二缓冲区写入所述第二图像数据之前,方法100还包括:
S150,所述CPU向所述图像处理器发送第三指示信息,所述第三指示信息用于指示所述图像处理器在第二图层设置屏幕显示区域,所述屏幕显示区域用于显示所述第二图像,所述第二图层用于承载所述第二图像。
例如,CPU通过UI线程创建了用户界面图像,根据用户界面图像中的网页图像显示区域,通知浏览器引擎该网页图像显示区域的位置,浏览器引擎根据该网页图像显示区域的位置在第二帧缓冲区设置屏幕显示区域,在该屏幕显示区域显示第一网页图像,从而可以根据用户界面图像的位置灵活设置网页图像的显示位置。上述实施例仅是举例说明,本发明实施例不限于此。
可选地,所述第一缓冲区包括第一帧缓冲区,所述第二缓冲区包括第二帧缓冲区,其中,所述第一帧缓冲区和所述第二帧缓冲区是所述图像处理器的缓冲区。
第一缓冲区和第二缓冲区可以是虚拟的地址,例如帧缓冲区,CPU通过UI线程可以在第一帧缓冲区中写入用户界面图像数据,通过浏览器引擎在第二帧缓冲区中写入网页图像数据,充分利用显存进行图像处理,在保证UI线程和浏览器引擎相互独立刷新的同时,只需两个缓冲区即可完成图像处理,从而减少了内存的使用量,提高了嵌入式设备的处理能力,此外,CPU无需对图像数据进行处理,而是通过图像处理器对图像数据进行处理,避免了现有技术中CPU需要从共享缓存区中读取网页图像数据的步骤,减少了数据在总线上的传输时间,从而提高了图像处理速度,并且减轻了CPU的负担。
此外,第一缓冲区和第二缓冲区还可以是连续的物理地址,例如显存的物理地址,图像处理器可以通过连续的物理地址读取第一图像数据和第二图像数据,图像处理器可以调用DirectFB(Direct Framebuffer)图像库来绘制第一图像和第二图像,并对其进行叠加处理,无需CPU对图像数据进行处理,从而减轻了CPU的负担。上述实施例仅是举例说明,本发明实施例不限于此。
可选地,方法100中,CPU在绘制所述第二图像时,可以通过GPU加速绘制所述第二图像,例如GPU可以通过OpenGL ES(Open Graphics Library for Embedded Systems,嵌入式系统开源图像库)接口调用skia图像库绘制网页图像,绘制完成后将网页图像数据写入第二帧缓冲区,从而可以利用GPU高效的图像处理能力提高网页图像的绘制速度。上述实施例仅是举例说明,本发明实施例不限于此。
可选地,在所述第一缓冲区写入所述第一图像数据,包括:
S111,接收用户事件信息;
S112,根据所述用户事件信息将所述第一图像数据写入所述第一缓冲区。
本发明实施例中,UI线程可以根据用户事件(例如,打开新窗口)绘制用户界面图像,并将用户界面图像数据写入第一帧缓冲区。上述实施例仅是举例说明,本发明实施例不限于此。
可选地,在所述第一缓冲区写入所述第二图像数据,包括:
S121,接收第二图像的刷新通知;
S122,根据所述刷新通知将所述第二图像数据写入所述第二缓冲区。
本发明实施例中,浏览器引擎可以根据网页图像的刷新通知绘制网页图像,并写入第二缓冲区,与用户界面图像进行叠加处理后输出,无需等待用户界面图像的刷新,从而可以提高图像处理的速度。上述实施例仅是举例说明,本发明实施例不限于此,例如,还可以通过GPU绘制刷新后的网页图像。
上文结合图1,从CPU的角度描述了本发明实施例的图像处理的方法,下面结合图3,从图像处理器的角度详细描述根据本发明实施例的图像处理的方法。
图3示出了根据本发明实施例的图像处理的方法300的示意性流程图,本发明实施例的技术方案,例如可以由GPU执行。如图3所示,方法300包括:
S310,图像处理器从第一缓冲区中读取第一图像对应的第一图像数据;
S320,所述图像处理器从第二缓冲区读取第二图像对应的第二图像数据;
S330,所述图像处理器基于所述第一图像数据和所述第二图像数据,对所述第一图像和所述第二图像进行叠加处理,其中,所述第一图像数据是中央处理器CPU写入所述第一缓冲区的图像数据,所述第二图像数据是所述CPU写入所述第二缓冲区的图像数据。
在嵌入式设备中需要实现多种图像功能,包括图像绘制以及图像拷贝等。其中的许多功能需要进行大量的数据传递(如图像拷贝)或者需要进行大量的数值计算(如画样条曲线)。如果这些功能都由软件来实现的话,会占用大量的CPU时间且需要传递大量的数据,从而影响了图像性能。许多显示芯片都带有图像处理器,能够从硬件上实现一部分图像功能。支持硬件加速的图像库就可以通过图像处理器来实现这些功能,从而减轻了CPU的负担,并减少了数据在总线上的传输时间,提高了图像处理设备的图像处理性能。
方法300中,第一缓冲区和第二缓冲区可以是虚拟的缓冲地址,例如帧缓冲区,GPU可以通过第一帧缓冲区接收第一图像数据(例如用户界面图像数据),通过第二帧缓冲区接收第二图像数据(例如网页图像数据),并对第一图像数据和第二图像数据进行处理,以便于在显示屏上显示出叠加后的第一图像和第二图像,从而可以利用GPU的高速图像处理能力处理图像,提高了嵌入式设备的图像处理能力。
此外,第一缓冲区和第二缓冲区还可以是连续的物理地址,例如显存的物理地址,GPU可以通过连续的物理地址来接收第一图像数据和第二图像数据,GPU可以调用DirectFB(Direct Framebuffer)图像库来绘制第一图像和第二图像,并对其进行叠加处理。上述实施例仅是举例说明,本发明实施例不限于此,例如,方法300还可以由专业的渲染芯片实施。
可选地,从所述第一缓冲区读取所述第一图像数据前,方法300还包括:
S340,所述图像处理器接收所述CPU发送的第一指示信息,所述第一指示信息用于指示所述图像处理器将第一图层设置为透明,所述第一图层用于承载所述第一图像,其中,所述第一图像包括填充透明色的第二图像显示区域,或者所述第一图像包括空白的第二图像显示区域,所述第一图像和所述第二图像叠加后,所述第二图像位于所述第二图像显示区域;
S350,所述图像处理器根据所述第一指示信息将所述第一图层设置为透明;
S360,所述图像处理器接收所述CPU发送的第二指示信息,所述第二指示信息用于指示所述图像处理器将所述第一图层的显示顺序设置于第二图层的上面,所述第二图层用于承载所述第二图像;
S370,所述图像处理器根据所述第二指示信息,将所述第一图层的显示顺序设置于所述第二图层的上面。
在本发明实施例中,第二图层的显示顺序设置在第一图层的下面,这样,可以使用户界面图像位于在最上面的图层,用户可以直接在该用户界面图像上进行操作,从而提高了用户体验的满意度,上述实施例仅是举例说明,本发明实施例不限于此。
可选地,从所述第二缓冲区读取所述第二图像数据前,所述方法还包括:
S380,所述图像处理器接收所述CPU发送的第三指示信息,所述第三指示信息用于指示所述图像处理器在第二图层设置屏幕显示区域,所述屏幕显示区域用于显示所述第二图像,所述第二图层用于承载所述第二图像;
S390,所述图像处理器根据所述第三指示信息,在所述第二图层设置所述屏幕显示区域。
本发明实施例可以根据用户界面图像的位置灵活设置网页图像的显示位置。上述实施例仅是举例说明,本发明实施例不限于此。
可选地,所述第一缓冲区包括第一帧缓冲区,所述第二缓冲区包括第二帧缓冲区,其中,所述第一帧缓冲区和所述第二帧缓冲区是所述图像处理器的缓冲区。
从而,在保证UI线程和浏览器引擎相互独立刷新的同时,只需两个缓冲区即可完成图像处理,从而减少了内存的使用量,提高了嵌入式设备的处理能力,此外,CPU无需对图像数据进行处理,而是通过图像处理器对图像数据进行处理,避免了现有技术中CPU需要从共享缓存区中读取网页图像数据的步骤,减少了数据在总线上的传输时间,从而提高了图像处理速度,并且减轻了CPU的负担。
可选地,方法300还包括:GPU通过OpenGL ES接口调用skia图像库绘制网页图像,绘制完成后将网页图像数据写入第二帧缓冲区,从而可以利用GPU高效的图像处理能力提高网页图像的绘制速度。上述实施例仅是举例说明,本发明实施例不限于此。
因此,本发明实施例通过图像处理器对第一图像数据和第二图像数据进行叠加处理,无需CPU从帧缓冲区中读取图像数据,从而减少了内存使用量,减轻了CPU的负担,并且可以同时对第一图像数据和第二图像数据进行刷新处理,提高浏览器的图像处理速度,从而提高了用户体验满意度。
图4是根据本发明一实施例的图像处理的方法的示意性流程图,如图4所示,本实施例的方法包括:
S401,浏览器的UI线程初始化,在本地图像库中创建用户界面图像surface(界面);
S402,UI线程将第一帧缓冲区的Alpha值设置为透明,从而使得第一帧缓冲区的图层为透明图层;
S403,UI线程初始化浏览器引擎,并指定网页图像显示区域;
S404,浏览器引擎在skia图像库中创建网页图像surface;
S405,浏览器引擎设置第二帧缓冲区对应的图层中的屏幕显示区域;
S406,浏览器引擎设置第二帧缓冲区对应的图层的显示顺序,使其位于第一帧缓冲区对应的图层的下面;
S407,浏览器引擎解析htlm(Hyper Text Markup Language,超文本标记语言)标签;
S408,浏览器引擎根据解析htlm标签的结果,调用skia图像库绘制网页图像(即,对网页图像surface进行渲染);
S409,浏览器引擎将网页图像的渲染结果(即,网页图像数据)写入第二帧缓冲区;
S410,UI线程轮询用户事件;
S411,如果没有用户事件的发生,则UI线程绘制用户界面图像;如果有用户事件的发生,则UI线程根据用户事件绘制用户界面图像,其中,用户界面图像中的网页图像显示区域填充透明色,或者直接绘制包括空白网页图像显示区域的用户界面图像;
S412,UI线程将用户界面图像的绘制结果(即,用户界面图像数据)写入第一帧缓冲区。
本发明实施例中,UI线程无需等待网页图像的刷新,直接将用户界面图像数据写入第一帧缓冲区,减少了内存使用量,提高了浏览器的图像处理速度,并且,UI线程无需再对图像数据进行叠加处理,减轻了CPU的负担,从而提高了用户体验的满意度。上述实施例仅是举例说明,本发明实施例不限于此,例如,绘制用户界面图像的相关步骤可以在绘制网页图像的相关步骤的前面。
图5是根据本发明一实施例的图像处理的方法的示意性流程图,如图5所示,本实施例的方法包括:
S501,浏览器的UI线程初始化,在本地图像库中创建用户界面图像surface(界面);
S502,UI线程将第一帧缓冲区的Alpha值设置为透明,从而使得第一帧缓冲区的图层为透明图层;
S503,UI线程初始化浏览器引擎,并指定网页图像显示区域;
S504,浏览器引擎在skia图像库中创建网页图像surface;
S505,浏览器引擎设置第二帧缓冲区对应的图层中的屏幕显示区域;
S506,浏览器引擎设置第二帧缓冲区对应的图层的显示顺序,使其位于第一帧缓冲区对应的图层的下面;
S507,浏览器引擎初始化GPU(即,向GPU发送指示信息,指示GPU处理网页图像数据);
S508,浏览器引擎解析htlm标签;
S509,浏览器引擎根据解析htlm标签的结果,调用skia图像库绘制网页图像(即,对网页图像surface进行渲染);
S510,浏览器引擎使用GPU加速绘制网页图像;
S511,网页图像绘制完成后,浏览器引擎通知GPU输出;
S512,GPU将网页渲染结果(即,网页图像数据)写入第二帧缓冲区;
S513,UI线程轮询用户事件;
S514,如果没有用户事件的发生,则UI线程绘制用户界面图像;如果有用户事件的发生,则UI线程根据用户事件绘制用户界面图像,其中,用户界面图像中的网页图像显示区域填充透明色,或者直接绘制包括空白网页图像显示区域的用户界面图像;
S515,UI线程将用户界面图像的绘制结果(即,用户界面图像数据)写入第一帧缓冲区。
本发明实施例中,UI线程无需等待网页图像的刷新,直接将用户界面图像数据写入第一帧缓冲区,减少了内存使用量,提高了浏览器的图像处理速度,并且,UI线程无需再对图像数据进行叠加处理,减轻了CPU的负担,从而提高了用户体验的满意度。上述实施例仅是举例说明,本发明实施例不限于此,例如,绘制用户界面图像的相关步骤可以在绘制网页图像的相关步骤的前面。
图6示出了根据本发明实施例的用于图像处理的装置600的示意性框图,如图6所示,装置600包括:
输出模块610,用于在第一缓冲区中写入第一图像对应的第一图像数据;在第二缓冲区中写入第二图像对应的第二图像数据,以便于图像处理器基于所述第一图像数据和所述第二图像数据,对所述第一图像和所述第二图像进行叠加处理。
本发明实施例通过直接在第一缓冲区写入第一图像数据,在第二缓冲区写入第二图像数据,在对图像数据进行叠加处理时无需再从帧缓冲区中读取图像数据,可以由图像处理器进行叠加处理,从而减少了内存使用量,减轻了CPU的负担,并且可以同时对第一图像数据和第二图像数据进行刷新处理,提高浏览器的图像处理速度,从而提高了用户体验满意度。
可选地,在所述第一缓冲区写入所述第一图像数据之前,所述输出模块610用于:
向所述图像处理器发送第一指示信息,所述第一指示信息用于指示所述图像处理器将第一图层设置为透明,所述第一图层用于承载所述第一图像,其中,所述第一图像包括填充透明色的第二图像显示区域,或者所述第一图像包括空白的第二图像显示区域,所述第一图像和所述第二图像叠加后,所述第二图像位于所述第二图像显示区域;
向所述图像处理器发送第二指示信息,所述第二指示信息用于指示所述图像处理器将所述第一图层的显示顺序设置于第二图层的上面,所述第二图层用于承载所述第二图像。
这样,可以使用户界面图像位于在最上面的图层,用户可以直接在该用户界面图像上进行操作,从而提高了用户体验的满意度,上述实施例仅是举例说明,本发明实施例不限于此。
可选地,在所述第二缓冲区写入所述第二图像数据之前,所述输出模块610还用于:
向所述图像处理器发送第三指示信息,所述第三指示信息用于指示所述图像处理器在第二图层设置屏幕显示区域,所述屏幕显示区域用于显示所述第二图像,所述第二图层用于承载所述第二图像。
例如,装置600的处理模块620通过UI线程创建了用户界面图像,根据用户界面图像中的网页图像显示区域,通知浏览器引擎该网页图像显示区域的位置,浏览器引擎根据该网页图像显示区域的位置在第二帧缓冲区设置屏幕显示区域,在该屏幕显示区域显示第一网页图像,从而可以根据用户界面图像的位置灵活设置网页图像的显示位置。上述实施例仅是举例说明,本发明实施例不限于此。
可选地,所述第一缓冲区包括第一帧缓冲区,所述第二缓冲区包括第二帧缓冲区,其中,所述第一帧缓冲区和所述第二帧缓冲区是所述图像处理器的缓冲区。
从而,避免了现有技术中CPU需要从共享缓存区中读取网页图像数据的步骤,减少了数据在总线上的传输时间,从而提高了图像处理速度,并且减轻了CPU的负担。
可选地,装置600在绘制所述第二图像时,可以通过GPU加速绘制所述第二图像,例如GPU可以通过OpenGL ES接口调用skia图像库绘制网页图像,绘制完成后将网页图像数据写入第二帧缓冲区,从而可以利用GPU高效的图像处理能力提高网页图像的绘制速度。上述实施例仅是举例说明,本发明实施例不限于此。
可选地,装置600可以根据用户事件(例如,打开新窗口)绘制用户界面图像,并将用户界面图像数据写入第一帧缓冲区。上述实施例仅是举例说明,本发明实施例不限于此。
可选地,装置600可以根据网页图像的刷新通知绘制网页图像,并写入第二缓冲区,与用户界面图像进行叠加处理后输出,无需等待用户界面图像的刷新,从而可以提高图像处理的速度。上述实施例仅是举例说明,本发明实施例不限于此,例如,还可以通过GPU绘制刷新后的网页图像。
应理解,根据本发明实施例的用于图像处理的装置600可对应于本发明实施例中图像处理的方法100的实施主体,并且装置600中的各个模块的上述和其它操作和/或功能分别用于实现方法100的各个步骤的相应流程,为了简洁,在此不再赘述。
图7示出了根据本发明实施例的用于图像处理的装置700的示意性框图,如图7所示,装置700包括:
输入模块710,用于从第一缓冲区中读取第一图像对应的第一图像数据;从第二缓冲区读取第二图像对应的第二图像数据;
处理模块720,用于基于所述输入模块读取的所述第一图像数据和所述第二图像数据,对所述第一图像和所述第二图像进行叠加处理,其中,所述第一图像数据是中央处理器CPU写入所述第一缓冲区的图像数据,所述第二图像数据是所述CPU写入所述第二缓冲区的图像数据。
本发明实施例通过装置700对第一图像数据和第二图像数据进行处理,无需CPU从帧缓冲区中读取图像数据,从而减少了内存使用量,减轻了CPU的负担,并且可以同时对第一图像数据和第二图像数据进行刷新处理,提高浏览器的图像处理速度,从而提高了用户体验满意度。
可选地,从所述第一缓冲区读取所述第一图像数据前,所述输入模块710还用于:
接收所述CPU发送的第一指示信息,所述第一指示信息用于指示所述装置将第一图层设置为透明,所述第一图层用于承载所述第一图像,其中,所述第一图像包括填充透明色的第二图像显示区域,或者所述第一图像包括空白的第二图像显示区域,所述第一图像和所述第二图像叠加后,所述第二图像位于所述第二图像显示区域;
接收所述CPU发送的第二指示信息,所述第二指示信息用于指示所述装置将所述第一图层的显示顺序设置于第二图层的上面,所述第二图层用于承载所述第二图像;
其中,所述处理模块720还用于:
根据所述第一指示信息将所述第一图层设置为透明;
根据所述第二指示信息,将所述第一图层的显示顺序设置于所述第二图层的上面。
在本发明实施例中,第二图层的显示顺序设置在第一图层的下面,这样,可以使用户界面图像位于在最上面的图层,用户可以直接在该用户界面图像上进行操作,从而提高了用户体验的满意度,上述实施例仅是举例说明,本发明实施例不限于此。
可选地,从所述第二缓冲区读取所述第二图像数据前,所述输入模块710还用于:
接收所述CPU发送的第三指示信息,所述第三指示信息用于指示所述装置在第二图层设置屏幕显示区域,所述屏幕显示区域用于显示所述第二图像,所述第二图层用于承载所述第二图像;
其中,所述处理模块720还用于:
根据所述第三指示信息,在所述第二图层设置所述屏幕显示区域。
本发明实施例可以根据用户界面图像的位置灵活设置网页图像的显示位置。上述实施例仅是举例说明,本发明实施例不限于此。
可选地,所述第一缓冲区包括第一帧缓冲区,所述第二缓冲区包括第二帧缓冲区,其中,所述第一帧缓冲区和所述第二帧缓冲区是所述装置的缓冲区。
从而在保证UI线程和浏览器引擎相互独立刷新的同时,只需两个缓冲区即可完成图像处理,从而减少了内存的使用量,提高了嵌入式设备的处理能力,此外,CPU无需对图像数据进行处理,而是通过图像处理器对图像数据进行处理,避免了现有技术中CPU需要从共享缓存区中读取网页图像数据的步骤,减少了数据在总线上的传输时间,从而提高了图像处理速度,并且减轻了CPU的负担。
可选地,装置700通过OpenGL ES接口调用skia图像库绘制网页图像,绘制完成后将网页图像数据写入第二帧缓冲区,从而可以利用GPU高效的图像处理能力提高网页图像的绘制速度。上述实施例仅是举例说明,本发明实施例不限于此。
应理解,根据本发明实施例的用于图像处理的装置700可对应于本发明实施例中图像处理的方法300的实施主体,并且装置700中的各个模块的上述和其它操作和/或功能分别用于实现方法300的各个步骤的相应流程,为了简洁,在此不再赘述。
如图8所示,本发明实施例还提供了一种用于图像处理的系统800。系统800包括输入设备801、处理器802、图像处理器803、存储器804、总线系统805、显示器806。
存储器804可以包括只读存储器和随机存取存储器,并向处理器802和图像处理器803提供指令和数据。存储器804存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
应用程序:包括各种应用程序,例如图2所示的桌面(launcher)、媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。
操作系统:包括各种系统程序,,例如图2所示的框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,处理器802通过调用存储器804存储的操作指令(该操作指令可存储在操作系统中),执行方法100和方法300中的任一个步骤。
本发明实施例中,处理器802可以在第一帧缓冲区中写入第一图像数据,在第二帧缓冲区中写入第二图像数据,在保证第一图像和第二图像相互独立刷新的同时,只需两个缓冲区即可完成图像处理,从而减少了内存的使用量,提高了嵌入式设备的处理能力,此外,处理器802无需对图像数据进行处理,而是通过图像处理器803对图像数据进行处理,减少了数据在总线上的传输时间,从而提高了图像处理速度,并且减轻了处理器802的负担。上述实施例仅是举例说明,本发明实施例不限于此。
系统800还可包括I/O通道等。处理器802控制系统800的操作,图像处理器803可以是GPU、专业渲染芯片或者CPU。输入设备801,可包括鼠标、键盘、触摸屏等,显示器806可包括LCD、CRT、全息成像(Holographic)、投影(Projector)等。在实际应用中,显示器806和输入设备801也可以合在一起,例如触摸屏。处理器802和图像处理器803可以是不同的芯片,也可集中到一个芯片上。
处理器802控制设备800的操作,处理器802还可以称为CPU。存储器804可以包括只读存储器和随机存取存储器,并向处理器802提供指令和数据。存储器804的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中,系统800的各个组件通过总线系统805耦合在一起,其中总线系统805除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统805。为便于表示,图8中仅用一条粗线表示,但并不表示总线系统805仅有一根总线或一种类型的总线。
上述本发明实施例揭示的方法可以应用于处理器802和图像处理器803中,或者由处理器802和图像处理器803实现。处理器802和图像处理器803可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器802和图像处理器803中的硬件的集成逻辑电路或者软件像式的指令完成。上述的处理器802和图像处理器803可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器804,处理器802和图像处理器803读取存储器804中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应理解,在本发明的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本发明实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的像式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的像式实现,也可以采用软件功能单元的像式实现。
所述集成的单元如果以软件功能单元的像式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的像式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上某一实施例中的技术特征和描述,为了使申请文件简洁清楚,可以理解适用于其他实施例,在其他实施例不再一一赘述。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (5)
1.一种图像处理的方法,其特征在于,所述方法应用于嵌入式设备,所述方法包括:
中央处理器CPU向图像处理器发送第一指示信息,所述第一指示信息用于指示所述图像处理器将第一图层设置为透明,所述第一图层用于承载第一图像,所述第一图像为本地图形系统中的图像,其中,所述第一图像包括填充透明色的第二图像显示区域,或者,所述第一图像包括空白的第二图像显示区域,所述第一图像和第二图像叠加后,所述第二图像位于所述第二图像显示区域,所述第二图像为网页图像;
所述CPU向所述图像处理器发送第二指示信息,所述第二指示信息用于指示所述图像处理器将所述第一图层的显示顺序设置于第二图层的上面,所述第二图层用于承载所述第二图像;
所述CPU向所述图像处理器发送第三指示信息,所述第三指示信息用于指示所述图像处理器在第二图层设置屏幕显示区域,所述屏幕显示区域用于显示所述第二图像;
所述CPU通过浏览器用户界面UI线程在所述图像处理器的第一帧缓冲区中写入所述第一图像对应的第一图像数据;
所述CPU通过浏览器引擎在所述图像处理器的第二帧缓冲区中写入所述第二图像对应的第二图像数据,以便于所述图像处理器基于所述第一图像数据和所述第二图像数据,对所述第一图像和所述第二图像进行叠加处理。
2.一种图像处理的方法,其特征在于,所述方法应用于嵌入式设备,所述方法包括:
图像处理器接收中央处理器CPU发送的第一指示信息,所述第一指示信息用于指示所述图像处理器将第一图层设置为透明,所述第一图层用于承载第一图像,所述第一图像为本地图形系统中的图像,其中,所述第一图像包括填充透明色的第二图像显示区域,或者,所述第一图像包括空白的第二图像显示区域,所述第一图像和第二图像叠加后,所述第二图像位于所述第二图像显示区域,所述第二图像为网页图像;
所述图像处理器根据所述第一指示信息将所述第一图层设置为透明;
所述图像处理器接收所述CPU发送的第二指示信息,所述第二指示信息用于指示所述图像处理器将所述第一图层的显示顺序设置于第二图层的上面,所述第二图层用于承载所述第二图像;
所述图像处理器根据所述第二指示信息,将所述第一图层的显示顺序设置于所述第二图层的上面;
所述图像处理器接收所述CPU发送的第三指示信息,所述第三指示信息用于指示所述图像处理器在第二图层设置屏幕显示区域,所述屏幕显示区域用于显示所述第二图像;
所述图像处理器根据所述第三指示信息,在所述第二图层设置所述屏幕显示区域;
所述图像处理器从第一帧缓冲区中读取所述第一图像对应的第一图像数据;
所述图像处理器从第二帧缓冲区读取所述第二图像对应的第二图像数据;
所述图像处理器基于所述第一图像数据和所述第二图像数据,对所述第一图像和所述第二图像进行叠加处理,其中,所述第一图像数据是CPU通过浏览器用户界面UI线程写入所述第一帧缓冲区的图像数据,所述第二图像数据是所述CPU通过浏览器引擎写入所述第二帧缓冲区的图像数据。
3.一种图像处理的装置,其特征在于,所述装置配置于嵌入式设备,所述装置包括:
输出模块,用于:向图像处理器发送第一指示信息,所述第一指示信息用于指示所述图像处理器将第一图层设置为透明,所述第一图层用于承载第一图像,所述第一图像为本地图形系统中的图像,其中,所述第一图像包括填充透明色的第二图像显示区域,或者,所述第一图像包括空白的第二图像显示区域,所述第一图像和第二图像叠加后,所述第二图像位于所述第二图像显示区域,所述第二图像为网页图像;向所述图像处理器发送第二指示信息,所述第二指示信息用于指示所述图像处理器将所述第一图层的显示顺序设置于第二图层的上面,所述第二图层用于承载所述第二图像;向所述图像处理器发送第三指示信息,所述第三指示信息用于指示所述图像处理器在第二图层设置屏幕显示区域,所述屏幕显示区域用于显示所述第二图像;通过浏览器用户界面UI线程在所述图像处理器的第一帧缓冲区中写入所述第一图像对应的第一图像数据;通过浏览器引擎在所述图像处理器的第二帧缓冲区中写入所述第二图像对应的第二图像数据,以便于所述图像处理器基于所述第一图像数据和所述第二图像数据,对所述第一图像和所述第二图像进行叠加处理。
4.一种图像处理的装置,其特征在于,所述装置配置于嵌入式设备,所述装置包括:
输入模块,用于:接收中央处理器CPU发送的第一指示信息,所述第一指示信息用于指示所述图像处理器将第一图层设置为透明,所述第一图层用于承载第一图像,所述第一图像为本地图形系统中的图像,其中,所述第一图像包括填充透明色的第二图像显示区域,或者,所述第一图像包括空白的第二图像显示区域,所述第一图像和第二图像叠加后,所述第二图像位于所述第二图像显示区域,所述第二图像为网页图像;
处理模块,用于:根据所述第一指示信息将所述第一图层设置为透明;
所述输入模块还用于:接收所述CPU发送的第二指示信息,所述第二指示信息用于指示所述图像处理器将所述第一图层的显示顺序设置于第二图层的上面,所述第二图层用于承载所述第二图像;
所述处理模块还用于:根据所述第二指示信息,将所述第一图层的显示顺序设置于所述第二图层的上面;
所述输入模块还用于:接收所述CPU发送的第三指示信息,所述第三指示信息用于指示所述图像处理器在第二图层设置屏幕显示区域,所述屏幕显示区域用于显示所述第二图像;
所述处理模块还用于:根据所述第三指示信息,在所述第二图层设置所述屏幕显示区域;
所述输入模块还用于:从第一帧缓冲区中读取所述第一图像对应的第一图像数据;从第二帧缓冲区读取所述第二图像对应的第二图像数据;
所述处理模块还用于:基于所述输入模块读取的所述第一图像数据和所述第二图像数据,对所述第一图像和所述第二图像进行叠加处理,其中,所述第一图像数据是CPU通过浏览器用户界面UI线程写入所述第一帧缓冲区的图像数据,所述第二图像数据是所述CPU通过浏览器引擎写入所述第二帧缓冲区的图像数据。
5.一种图像处理的系统,其特征在于,所述系统包括
根据权利要求3所述的图像处理的装置;和,
根据权利要求4所述的图像处理的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610281669.1A CN105955687B (zh) | 2016-04-29 | 2016-04-29 | 图像处理的方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610281669.1A CN105955687B (zh) | 2016-04-29 | 2016-04-29 | 图像处理的方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105955687A CN105955687A (zh) | 2016-09-21 |
CN105955687B true CN105955687B (zh) | 2019-12-17 |
Family
ID=56913123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610281669.1A Active CN105955687B (zh) | 2016-04-29 | 2016-04-29 | 图像处理的方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105955687B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980481B (zh) * | 2017-03-28 | 2020-02-04 | 北京奇虎科技有限公司 | 一种图像显示方法及设备 |
CN110020300B (zh) * | 2017-11-07 | 2023-06-02 | 华为技术有限公司 | 一种浏览器页面合成方法及终端 |
CN110196716B (zh) * | 2018-02-26 | 2023-07-25 | 龙芯中科技术股份有限公司 | 图形显示方法、装置、电子设备及存储介质 |
CN108510428A (zh) * | 2018-03-09 | 2018-09-07 | 广东欧珀移动通信有限公司 | 图片绘制方法及相关产品 |
CN109255826B (zh) * | 2018-10-11 | 2023-11-21 | 平安科技(深圳)有限公司 | 中文训练图像生成方法、装置、计算机设备及存储介质 |
CN109582409A (zh) * | 2018-10-15 | 2019-04-05 | 广东宝莱特医用科技股份有限公司 | 一种基于双缓冲的显示叠加方法 |
CN109918233B (zh) * | 2019-03-06 | 2021-02-26 | 珠海金山网络游戏科技有限公司 | 一种数据处理方法、装置、计算设备及存储介质 |
CN109885271A (zh) * | 2019-03-18 | 2019-06-14 | 青岛海信电器股份有限公司 | 数据显示处理方法、装置及电子设备 |
CN110223631A (zh) * | 2019-07-15 | 2019-09-10 | 深圳市灰度科技有限公司 | 一种超长led显示屏的驱动方法、装置、设备及存储介质 |
CN110503702A (zh) * | 2019-08-19 | 2019-11-26 | 武汉蓝星科技股份有限公司 | 一种全液晶数字仪表硬件图层分层处理方法及装置 |
CN112752164B (zh) * | 2019-10-30 | 2023-02-17 | 深圳Tcl数字技术有限公司 | 一种隐藏式字幕显示方法、智能终端以及存储介质 |
CN111415636B (zh) * | 2020-03-31 | 2022-03-11 | 惠州华阳通用电子有限公司 | 一种画面共享系统及其实现方法 |
CN113836052B (zh) * | 2021-09-03 | 2024-04-05 | 中国人民解放军战略支援部队信息工程大学 | 一种高速测控数据缓存方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101321240A (zh) * | 2008-06-25 | 2008-12-10 | 华为技术有限公司 | 多图层叠加的方法及其装置 |
CN102857703A (zh) * | 2012-09-07 | 2013-01-02 | 天津市亚安科技股份有限公司 | 高清视频字符叠加系统及控制方法 |
CN103544441A (zh) * | 2012-07-12 | 2014-01-29 | 索尼电脑娱乐公司 | 移动图像生成装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200931970A (en) * | 2008-01-15 | 2009-07-16 | Tenx Technology Inc | Image processing apparatus and image processing method |
CN104765595B (zh) * | 2014-01-08 | 2018-05-22 | 联发科技(新加坡)私人有限公司 | 一种显示图形用户界面的方法及装置 |
-
2016
- 2016-04-29 CN CN201610281669.1A patent/CN105955687B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101321240A (zh) * | 2008-06-25 | 2008-12-10 | 华为技术有限公司 | 多图层叠加的方法及其装置 |
CN103544441A (zh) * | 2012-07-12 | 2014-01-29 | 索尼电脑娱乐公司 | 移动图像生成装置 |
CN102857703A (zh) * | 2012-09-07 | 2013-01-02 | 天津市亚安科技股份有限公司 | 高清视频字符叠加系统及控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105955687A (zh) | 2016-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105955687B (zh) | 图像处理的方法、装置和系统 | |
US10510325B2 (en) | Rendering method, rendering apparatus, and electronic apparatus | |
US10223761B2 (en) | Graphics pipeline method and apparatus | |
WO2018222271A1 (en) | Storage for foveated rendering | |
CN109388448B (zh) | 图像显示方法、显示系统以及计算机可读存储介质 | |
US10410398B2 (en) | Systems and methods for reducing memory bandwidth using low quality tiles | |
CN109478150A (zh) | 动态视觉聚焦调节 | |
US20160048980A1 (en) | Bandwidth reduction using texture lookup by adaptive shading | |
JP2019512749A (ja) | アプリケーションプログラム処理方法及び端末デバイス | |
CN115220572A (zh) | 视点渲染 | |
CN112596843B (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN116821040B (zh) | 基于gpu直接存储器访问的显示加速方法、装置及介质 | |
CN114972607B (zh) | 加速图像显示的数据传输方法、装置及介质 | |
CN110599564A (zh) | 图像展示方法、装置、计算机设备和存储介质 | |
US20140253413A1 (en) | System, method, and computer program product for representing a group of monitors participating in a desktop spanning environment to an operating system | |
CN112346890B (zh) | 一种复杂图形离屏渲染方法及系统 | |
US9153193B2 (en) | Primitive rendering using a single primitive type | |
CN112184538B (zh) | 图像加速方法、相关装置、设备及存储介质 | |
US11551383B2 (en) | Image generating apparatus, image generating method, and program for generating an image using pixel values stored in advance | |
US20140292617A1 (en) | System, method, and computer program product for reducing image artifacts on multiple displays | |
US9471956B2 (en) | Graphic remoting system with masked DMA and graphic processing method | |
CN107908455A (zh) | 一种浏览器页面的切换方法和切换系统 | |
CN109214977A (zh) | 图像处理装置及其控制方法 | |
JPH1069548A (ja) | コンピュータ・グラフィックス・システム | |
US20130063475A1 (en) | System and method for text rendering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |