本技术介绍了一种利用OpenGL ES框架进行图像处理的方法。该方法通过在移动设备的RAM中创建专用的图像处理虚拟缓存,有效解决了移动设备GPU缺乏专用帧缓冲区的问题。
背景技术
在传统的桌面级计算机或笔记本计算机,均配备有运算能力强大的图形处理器(GPU),并辅以有较大容量的显卡内存(亦称帧缓存),使得传统的计算机能处理数据量巨大的图形文件,可对图片进行编辑、不同滤镜风格的叠加等操作并以较快的速度完成渲染并显示到输出设备上。但在手机、平板等移动终端上,受限于终端设备的体积、重量、电池容量等条件限制,GPU的性能、功率均受到了限制,如将传统的OpenGL架构直接应用于移动终端上对图形信息进行处理,移动终端将难以完成数据处理。针对移动终端GPU的特点,现有技术一般采用OpenGL架构的一个ES子集为移动终端提供图像处理的解决方案。
由于早期的移动终端屏幕尺寸不大、分辨率普遍不高,人们对移动终端显示的图片质量、色彩等要求不高,OpenGL ES能满足单一效果或多种效果叠合在单一图层上的图片编辑。随着移动终端的尺寸逐步提升、以及移动应用程序(APP)的丰富,人们在移动终端上进行拍照、修饰美化图片的场景也日益增多,对图片修饰美化效果的要求也逐步提升。但与之对应GPU的性能提升并不明显,尤其是目前在移动终端中广泛采用的基于Advanced RISCMachine(ARM)架构的系统级芯片(SoC),GPU被整合至SoC中且没有配置单独的帧缓存单元,限制了GPU对数据量较大的图像文件的处理能力。因此,如何在有限的GPU性能上实现更为丰富的图片修饰美化效果,成为了值得关注的一个研究方向。
实现思路