CN109840879A - 图像渲染方法、装置、计算机存储介质及终端 - Google Patents
图像渲染方法、装置、计算机存储介质及终端 Download PDFInfo
- Publication number
- CN109840879A CN109840879A CN201711219391.6A CN201711219391A CN109840879A CN 109840879 A CN109840879 A CN 109840879A CN 201711219391 A CN201711219391 A CN 201711219391A CN 109840879 A CN109840879 A CN 109840879A
- Authority
- CN
- China
- Prior art keywords
- rendering
- image
- data
- target image
- pixel data
- 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
Landscapes
- Image Processing (AREA)
Abstract
本发明实施例公开了一种图像渲染方法及相关产品,将图像渲染过程中所涉及的多个滤镜的滤镜参数进行融合得到渲染参数,采用该渲染参数对图像进行优化处理,将优化处理后的图像绘制至终端的显示屏中。通过融合处理方式能够将原本应该由多个滤镜采用多个滤镜参数对图像所进行的多次优化处理,缩减为仅采用融合得到的渲染参数对图像进行一次优化处理,提升图像渲染的效率,减小终端的性能开销,避免终端产生发热发烫等异常使用情况。
Description
技术领域
本发明涉及互联网技术领域,具体涉及图像处理技术领域,尤其涉及一种图像渲染方法、一种图像渲染装置、一种计算机存储介质及一种终端。
背景技术
现有技术中,如果图像渲染过程中涉及多个(两个或两个以上)滤镜对图像进行优化处理时,采用的是叠加处理方式,具体为:先采用第一个滤镜所对应的滤镜参数对图像进行第一次优化处理后,终端的GPU(Graphics Processing Unit,图形处理器)绘制第一次优化处理后的图像,并将绘制得到的第一次优化处理后的图像存储至终端的内存中;当第二个滤镜对图像进行优化处理时,首先从终端的内存中获取第一次优化处理后的图像,并在此基础上采用第二个滤镜参数对图像进行第二次优化处理,此时GPU又会再次绘制第二次优化处理后的图像,并将绘制得到的第二次优化处理后的图像存储至终端的内存中;以此类推,当最后一个滤镜对图像进行优化处理后,这时GPU将最后一次优化处理后的图像绘制至终端的显示屏中,终端的显示屏中显示的图像则呈现多个滤镜优化处理所实现的特殊效果。实践发现,上述现有技术中,每增加一个滤镜对图像进行一次优化处理,终端的GPU就需要进行一次绘制,这就增加了GPU的处理负担;并且GPU在绘制完之后还需要与内存进行一次交互,当叠加的滤镜较多时,频繁的交互会严重增加终端的性能开销,导致终端产生发热发烫等异常使用情况。
发明内容
本发明实施例提供一种图像渲染方法及相关产品,能够将图像渲染过程中涉及的多个滤镜对图像所进行的多次优化处理缩减为一次,减少性能开销,提升图像渲染效率。
一方面,本发明实施例提供一种图像渲染方法,可包括:
获取目标图像的第一像素数据;
获取所述目标图像的渲染参数,所述渲染参数是对多个滤镜参数进行融合所得到的参数;
采用所述渲染参数对所述第一像素数据进行优化处理以获得渲染数据;
根据所述渲染数据在终端的显示屏中绘制所述目标图像。
一种实施方式中,所述获取目标图像的第一像素数据,包括:
从服务器下载待播放的视频文件;
对所述视频文件进行解析得到至少一帧图像,以及每一帧图像的第二像素数据;
从所述至少一帧图像选取待渲染的目标图像,并获取所述目标图像的第二像素数据;
对所述目标图像的第二像素数据进行色彩转换得到所述目标图像的第一像素数据。
另一种实施方式中,所述获取目标图像的第一像素数据之前,还包括:
获取所述目标图像进行渲染所需的多个滤镜参数。
再一种实施方式中,所述获取所述目标图像进行渲染所需的多个滤镜参数,包括:
输出至少一种图像处理类型,一种图像处理类型对应一种滤镜组合;
接收用户从所述至少一种图像处理类型中所选择的目标图像处理类型;
获取所述目标图像处理类型对应的目标滤镜组合,并获取所述目标滤镜组合中的多个滤镜参数。
再一种实施方式中,所述获取所述目标图像进行渲染所需的多个滤镜参数,包括:
获取用户针对图像的历史使用数据,所述历史使用数据包括:所使用图像的标签和/或所使用图像的使用频率;
采用预置算法对所述历史使用数据进行分析以确定所述用户针对图像的使用习惯;
确定与所述用户针对图像的使用习惯相匹配的目标图像处理类型;
获取所述目标图像处理类型对应的目标滤镜组合,并获取所述目标滤镜组合中的多个滤镜参数。
再一种实施方式中,所述第一像素数据为RGB(Red、Green、Blue,红绿蓝,一种颜色标准)数据,所述第二像素数据为YUV(一种颜色标准,Y表示亮度,U表示色度,V表示饱和度)数据;
所述获取所述目标图像的渲染参数,包括:
从所述多个滤镜参数中提取作用于第一颜色通道的多个第一滤镜参数;
对所提取的多个第一滤镜参数进行合并得到作用于所述第一颜色通道的第一渲染参数;
其中,所述第一颜色通道为RGB通道中的任一个颜色通道。
再一种实施方式中,所述采用所述渲染参数对所述第一像素数据进行优化处理以获得渲染数据,包括:
从所述第一像素数据中分离出所述第一颜色通道的像素数据;
采用所述第一渲染参数对所述第一颜色通道的像素数据进行加工处理得到所述第一颜色通道的渲染数据。
再一种实施方式中,所述采用所述渲染参数对所述第一像素数据进行优化处理以获得渲染数据之后,还包括:
将所述渲染数据映射至所述终端的系统缓冲区。
再一种实施方式中,所述根据所述渲染数据在终端的显示屏中绘制所述目标图像,包括:
从所述终端的系统缓冲区中依序读取需要绘制的渲染数据;
将所读取的渲染数据绘制至所述终端的显示屏中;
删除所述终端的系统缓冲区中已被读取的渲染数据。
另一方面,本发明实施例还提供了一种图像渲染装置,包括:
像素数据获取单元,用于获取目标图像的第一像素数据;
渲染参数获取单元,用于获取所述目标图像的渲染参数,所述渲染参数是对多个滤镜参数进行融合所得到的参数;
优化处理单元,用于采用所述渲染参数对所述第一像素数据进行优化处理以获得渲染数据;
图像渲染单元,用于根据所述渲染数据在终端的显示屏中绘制所述目标图像。
一种实施方式中,所述像素数据获取单元具体用于:
从服务器下载待播放的视频文件;
对所述视频文件进行解析得到至少一帧图像,以及每一帧图像的第二像素数据;
从所述至少一帧图像选取待渲染的目标图像,并获取所述目标图像的第二像素数据;以及,
对所述目标图像的第二像素数据进行色彩转换得到所述目标图像的第一像素数据。
另一种实施方式中,所述装置还包括:
滤镜参数获取单元,用于获取所述目标图像进行渲染所需的多个滤镜参数。
再一种实施方式中,所述滤镜参数获取单元具体用于:
输出至少一种图像处理类型,一种图像处理类型对应一种滤镜组合;
接收用户从所述至少一种图像处理类型中所选择的目标图像处理类型;以及,
获取所述目标图像处理类型对应的目标滤镜组合,并获取所述目标滤镜组合中的多个滤镜参数。
再一种实施方式中,所述滤镜参数获取单元具体用于:
获取用户针对图像的历史使用数据,所述历史使用数据包括:所使用图像的标签和/或所使用图像的使用频率;
采用预置算法对所述历史使用数据进行分析以确定所述用户针对图像的使用习惯;
确定与所述用户针对图像的使用习惯相匹配的目标图像处理类型;
获取所述目标图像处理类型对应的目标滤镜组合,并获取所述目标滤镜组合中的多个滤镜参数。
再一种实施方式中,所述第一像素数据为RGB数据,所述第二像素数据为YUV数据;所述渲染参数获取单元具体用于:
从所述多个滤镜参数中提取作用于第一颜色通道的多个第一滤镜参数;以及,
对所提取的多个第一滤镜参数进行合并得到作用于所述第一颜色通道的第一渲染参数;
其中,所述第一颜色通道为RGB通道中的任一个颜色通道。
再一种实施方式中,所述优化处理单元具体用于:
从所述第一像素数据中分离出所述第一颜色通道的像素数据;以及,
采用所述第一渲染参数对所述第一颜色通道的像素数据进行加工处理得到所述第一颜色通道的渲染数据。
再一种实施方式中,所述装置还包括:
映射单元,用于将所述渲染数据映射至所述终端的系统缓冲区。
再一种实施方式中,所述图像渲染单元具体用于:
从所述终端的系统缓冲区中依序读取需要绘制的渲染数据;
将所读取的渲染数据绘制至所述终端的显示屏中;以及,
删除所述终端的系统缓冲区中已被读取的渲染数据。
再一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有一条或一条以上指令,所述一条或一条以上指令适于由处理器加载并执行如下步骤:
获取目标图像的第一像素数据;
获取所述目标图像的渲染参数,所述渲染参数是对多个滤镜参数进行融合所得到的参数;
采用所述渲染参数对所述第一像素数据进行优化处理以获得渲染数据;
根据所述渲染数据在终端的显示屏中绘制所述目标图像。
一种实施方式中,所述获取目标图像的第一像素数据,包括:
从服务器下载待播放的视频文件;
对所述视频文件进行解析得到至少一帧图像,以及每一帧图像的第二像素数据;
从所述至少一帧图像选取待渲染的目标图像,并获取所述目标图像的第二像素数据;
对所述目标图像的第二像素数据进行色彩转换得到所述目标图像的第一像素数据。
另一种实施方式中,所述获取目标图像的第一像素数据之前,还包括:
获取所述目标图像进行渲染所需的多个滤镜参数。
再一种实施方式中,所述获取所述目标图像进行渲染所需的多个滤镜参数,包括:
输出至少一种图像处理类型,一种图像处理类型对应一种滤镜组合;
接收用户从所述至少一种图像处理类型中所选择的目标图像处理类型;
获取所述目标图像处理类型对应的目标滤镜组合,并获取所述目标滤镜组合中的多个滤镜参数。
再一种实施方式中,所述获取所述目标图像进行渲染所需的多个滤镜参数,包括:
获取用户针对图像的历史使用数据,所述历史使用数据包括:所使用图像的标签和/或所使用图像的使用频率;
采用预置算法对所述历史使用数据进行分析以确定所述用户针对图像的使用习惯;
确定与所述用户针对图像的使用习惯相匹配的目标图像处理类型;
获取所述目标图像处理类型对应的目标滤镜组合,并获取所述目标滤镜组合中的多个滤镜参数。
再一种实施方式中,所述第一像素数据为RGB数据,所述第二像素数据为YUV数据;
所述获取所述目标图像的渲染参数,包括:
从所述多个滤镜参数中提取作用于第一颜色通道的多个第一滤镜参数;
对所提取的多个第一滤镜参数进行合并得到作用于所述第一颜色通道的第一渲染参数;
其中,所述第一颜色通道为RGB通道中的任一个颜色通道。
再一种实施方式中,所述采用所述渲染参数对所述第一像素数据进行优化处理以获得渲染数据,包括:
从所述第一像素数据中分离出所述第一颜色通道的像素数据;
采用所述第一渲染参数对所述第一颜色通道的像素数据进行加工处理得到所述第一颜色通道的渲染数据。
再一种实施方式中,所述采用所述渲染参数对所述第一像素数据进行优化处理以获得渲染数据之后,还包括:
将所述渲染数据映射至所述终端的系统缓冲区。
再一种实施方式中,所述根据所述渲染数据在终端的显示屏中绘制所述目标图像,包括:
从所述终端的系统缓冲区中依序读取需要绘制的渲染数据;
将所读取的渲染数据绘制至所述终端的显示屏中;
删除所述终端的系统缓冲区中已被读取的渲染数据。
再一方面,本发明实施例提供了一种终端,包括:
处理器,适于实现一条或一条以上指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或一条以上指令,所述一条或一条以上指令适于由所述处理器加载并执行如下步骤:
获取目标图像的第一像素数据;
获取所述目标图像的渲染参数,所述渲染参数是对多个滤镜参数进行融合所得到的参数;
采用所述渲染参数对所述第一像素数据进行优化处理以获得渲染数据;
根据所述渲染数据在终端的显示屏中绘制所述目标图像。
一种实施方式中,所述获取目标图像的第一像素数据,包括:
从服务器下载待播放的视频文件;
对所述视频文件进行解析得到至少一帧图像,以及每一帧图像的第二像素数据;
从所述至少一帧图像选取待渲染的目标图像,并获取所述目标图像的第二像素数据;
对所述目标图像的第二像素数据进行色彩转换得到所述目标图像的第一像素数据。
另一种实施方式中,所述获取目标图像的第一像素数据之前,还包括:
获取所述目标图像进行渲染所需的多个滤镜参数。
再一种实施方式中,所述获取所述目标图像进行渲染所需的多个滤镜参数,包括:
输出至少一种图像处理类型,一种图像处理类型对应一种滤镜组合;
接收用户从所述至少一种图像处理类型中所选择的目标图像处理类型;
获取所述目标图像处理类型对应的目标滤镜组合,并获取所述目标滤镜组合中的多个滤镜参数。
再一种实施方式中,所述获取所述目标图像进行渲染所需的多个滤镜参数,包括:
获取用户针对图像的历史使用数据,所述历史使用数据包括:所使用图像的标签和/或所使用图像的使用频率;
采用预置算法对所述历史使用数据进行分析以确定所述用户针对图像的使用习惯;
确定与所述用户针对图像的使用习惯相匹配的目标图像处理类型;
获取所述目标图像处理类型对应的目标滤镜组合,并获取所述目标滤镜组合中的多个滤镜参数。
再一种实施方式中,所述第一像素数据为RGB数据,所述第二像素数据为YUV数据;
所述获取所述目标图像的渲染参数,包括:
从所述多个滤镜参数中提取作用于第一颜色通道的多个第一滤镜参数;
对所提取的多个第一滤镜参数进行合并得到作用于所述第一颜色通道的第一渲染参数;
其中,所述第一颜色通道为RGB通道中的任一个颜色通道。
再一种实施方式中,所述采用所述渲染参数对所述第一像素数据进行优化处理以获得渲染数据,包括:
从所述第一像素数据中分离出所述第一颜色通道的像素数据;
采用所述第一渲染参数对所述第一颜色通道的像素数据进行加工处理得到所述第一颜色通道的渲染数据。
再一种实施方式中,所述采用所述渲染参数对所述第一像素数据进行优化处理以获得渲染数据之后,还包括:
将所述渲染数据映射至所述终端的系统缓冲区。
再一种实施方式中,所述根据所述渲染数据在终端的显示屏中绘制所述目标图像,包括:
从所述终端的系统缓冲区中依序读取需要绘制的渲染数据;
将所读取的渲染数据绘制至所述终端的显示屏中;
删除所述终端的系统缓冲区中已被读取的渲染数据。
本发明实施例将图像渲染过程中所涉及的多个滤镜的滤镜参数进行融合得到渲染参数,采用该渲染参数对图像进行优化处理,将优化处理后的图像绘制至终端的显示屏中。通过融合处理方式能够将原本应该由多个滤镜采用多个滤镜参数对图像所进行的多次优化处理,缩减为仅采用融合得到的渲染参数对图像进行一次优化处理,这样由于无需进行多次优化处理,因此无需GPU进行多次绘制以及避免GPU与内存出现频繁交互,既提升了图像渲染的效率,又减小了终端的性能开销,避免终端产生发热发烫等异常使用情况,提升了用户使用体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的互联网直播系统的架构图;
图2为本发明实施例提供的图像渲染模型的原理示意图;
图3为本发明实施例提供的下载直播视频文件的流程示意图;
图4为本发明实施例提供的LRU算法的原理示意图;
图5为本发明实施例提供的一种图像渲染方法的流程图;
图6为本发明实施例提供的另一种图像渲染方法的流程图;
图7为本发明实施例提供的一种图像渲染装置的结构示意图;
图8为本发明实施例提供的一种终端的内部结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
图像渲染是将待渲染的图像绘制于终端的显示屏的过程,绘制完成后可以在终端的显示屏中查看到该图像。一般地,图像渲染过程中会使用各种滤镜来对图像进行优化处理,以使图像呈现各种特殊效果,例如:使用雾化滤镜对图像进行优化处理可使图像呈现雾化效果;或者使用锐化滤镜对图像进行优化处理可使图像呈现锐化效果;或者使用润色滤镜对图像进行优化处理可使图像呈现润色效果等等。
在本发明实施例的相关技术中,如果在图像渲染过程中涉及多个(两个或两个以上)滤镜对图像进行优化处理时,采用的是叠加处理方式,此方式需要终端的GPU进行多次绘制以及与内存进行多次交互,增加了终端的性能开销。基于此,本发明实施例提出这样一种图像渲染模型的构想:如果在图像渲染过程中涉及多个滤镜对图像进行优化处理时,采用融合处理方式,具体为:将多个滤镜的滤镜参数进行融合得到渲染参数,采用该渲染参数对图像进行优化处理,将优化处理后的图像绘制至终端的显示屏中。上述构想的图像渲染模型中,通过融合处理方式能够将原本应该由多个滤镜采用多个滤镜参数对图像所进行的多次优化处理,缩减为仅采用融合得到的渲染参数对图像进行一次优化处理,这样由于无需进行多次优化处理,因此无需GPU进行多次绘制以及避免GPU与内存出现频繁交互,既提升了图像渲染的效率,又减终端的性能开销,避免终端产生发热发烫等异常使用情况,提升了用户使用体验。
上述构想的图像渲染模型可以被应用于各种互联网场景中,例如:在互联网直播场景中,只要直播视频的播放端存在视频播放需求就可以采用本发明实施例的图像渲染模型,对直播视频图像进行渲染;再如:在互联网的图像处理场景中,如果终端有诸如贴图动效、图像优化等图像处理需求,就可以采用本发明实施例的图像渲染模型进行图像渲染。
下面结合互联网直播场景来详细说明本发明实施例的图像渲染模型的实现原理。
参见图1所示的互联网直播系统架构图,该系统包括:主播终端、服务器以及至少一个播放终端;其中,主播终端是指主播用户所使用的终端,该终端上安装并运行有互联网直播客户端(如直播APP(Application,应用程序))。播放终端是指观看用户所使用的终端,该终端上安装并运行有互联网直播客户端(如直播APP)。服务器是互联网直播系统的后台服务器,其主要职能包括:对接入至服务器的主播终端或播放终端进行管理,接收主播终端上传的直播视频,对直播视频进行编码、存储等处理,以及向播放终端推送直播视频等。在互联网直播场景中,主播终端向服务器上传直播视频,服务器向播放终端推送直播视频的相关内容(如简介、缩略图等),当播放终端有观看需求时,从服务器下载直播视频进行播放;那么,当播放终端进行直播视频的播放时,可以使用本发明实施例的图像渲染模型,请一并参见图2,该图像渲染模型的实现原理主要包括以下几个步骤:
第一步、数据输入。
播放终端从服务器下载直播视频文件,具体请参见图3。一个视频文件是由声音和画面两部分组成的,即一个视频文件包括音频数据和视频数据。那么,播放终端基于与服务器之间的通信协议(图3所示的协议层)从服务器下载的直播视频文件也应当包括音频数据和视频数据,此处的通信协议可包括但不限于:http(HyperText Transfer Protocol,超文本传输协议)协议、rtmp(Real Time Messaging Protocol,实时消息传输协议)协议、file(文件传输协议)协议等等。此处的音频数据可以包括PCM(Pulse Code Modulation,脉冲编码调制)数据等,此处的视频数据可以包括YUV数据、RGB数据等。一般地,在进行直播视频文件的下载之前,服务器会对直播视频文件包括的音视频数据进行编码、封装等处理,以减少直播视频文件的传输带宽。编码后的音视频数据被封装成为直播视频文件,其格式可以包括但不限于mkv(一种多媒体封装格式)、flv(Flash Video,一种流媒体格式)、mp4(MovingPicture Experts Group 4,动态图像专家组4)、avi(Audio Video Interleaved,音频视频交错格式)等等。那么,参见图3,从协议层下来的直播视频文件会经过封装格式层进行解封装处理,再经过编解码层进行数据解码,最后得到像素层的数据,此处的像素层的数据可包括音频采样数据(如PCM数据)及视频帧图像的像素数据(如YUV数据)。本发明实施例中,将下载的直播视频文件解析得到视频帧图像的YUV数据作为原始的待处理数据输入至图像渲染模型中。
第二步:色彩转换处理。
由于滤镜对图像进行优化处理时,其直接的作用对象是图像的RGB数据;而图像渲染时直接的作用对象也是图像的RGB数据;因此,图像渲染模型需要将原始输入的YUV数据转换为RGB数据。具体地,YUV数据转RGB数据的公式可参见如下式(1):
具体实现中,可通过利用着色器等工具将YUV数据的矩阵运行转换成RGB;其中,着色器(shader)是用来实现图像渲染的,替代固定渲染管线的可编辑程序,可实现图形学计算。上述(1)中的矩阵可以写成如下式(2):
在着色器中进行矩阵运算即可将YUV数据转换成RGB数据。
第三步:模型公式
当存在多个滤镜(两个或两个以上)对待渲染的图像进行优化处理时,图像渲染模型会将多个滤镜参数进行融合形成渲染参数,具体的融合过程是将作用于相同颜色通道的滤镜参数进行合并;这个融合过程是剥离出R、G、B这三个颜色通道的最终渲染公式。例如:针对R这个颜色通道,第一个滤镜参数为R*0.9,第二个滤镜参数为R/0.9,那么将第一个滤镜参数与第二个滤镜参数进行合并后可知R颜色通道的渲染参数就是R颜色通道的值本身,即R颜色通道是不发生变化的。以此类推,通过融合过程可分别得到作用于R、G、B这三个颜色通道的渲染参数。
那么应该如何确定采用哪些滤镜对图像进行优化处理呢,本发明实施例可以有如下方式,一种方式是预先配置一些图像处理类型,每一种图像处理类型对应一种滤镜组合;然后把这些图像处理类型输出给用户进行选择,根据用户选择的图像处理类型确定对应的滤镜组合,从而确定应该采用哪些滤镜对图像进行优化处理。另一种方式更为智能一些,可以获取用户针对图像的历史使用数据,例如:用户经常使用什么样类型的图像,以及用户对什么样类型的图像的使用频率更高,等等,然后基于预置算法(如机器学习算法,LRU(Leastrecently used,最近最少使用)算法等)来分析用户针对图像的使用习惯,即确定用户喜欢什么样类型或特效的图像;进而确定与其习惯相匹配的图像处理类型及其对应的滤镜组合,从而确定应该采用哪些滤镜来对图像进行优化处理。
针对上述更智能的方式,以LRU算法为例进行说明如下。
参见图4所示的LRU算法的示意图,LRU算法根据数据的历史访问记录来淘汰数据的,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”,其主要的运算过程如下:
1、若数据第一次被访问,该数据被加入到访问历史队列;
2、如果数据被加入至访问历史队列之后,其被访问的次数没有达到K次,那么从访问历史队列中将该数据按照(FIFO(Fist Input First Output,先进先出队列),LRU)的规则淘汰;
3、如果数据被加入至访问历史队列之后,其被访问的次数达到K次,那么将该数据从访问历史队列中删除,并将该数据添加至缓存队列中;之后,缓存队列重新按照访问时间对所缓存的数据进行排序,最近被访问的数据被排在缓存队列的最前端;
4、如果缓存队列的数据被再次访问后,缓存队列重新按照访问时间对所缓存的数据重新排序;
5、当需要淘汰数据时,在缓存队列中按照从末往前的顺序进行淘汰,即将排在缓存队列最末尾的数据进行淘汰,也就是淘汰“倒数第K次访问离现在最久”的数据。
上述K为正整数,可根据实际需要进行取值,例如:可综合考量命中率,适应性,以及队列更新频率等因素来设置K的取值。
第四步:渲染上屏
渲染上屏是指将图像渲染至终端的显示屏中的过程,本发明实施例在本步骤中可创建一个系统缓冲区,将渲染数据映射到系统缓冲区中,那么,在渲染上屏时就可以从系统缓冲区中提取渲染数据,每次渲染完就对系统缓冲区的数据进行删除;这样能够有效地提升渲染效率,极大地提升性能。
本发明实施例的上述图像渲染模型可以应用于播放终端中,其产品形态可以为多种,例如:图像渲染模型可以是一个应用软件(如播放器),也可以是播放终端中的应用软件中的一个插件,等等。
本发明实施例提供了一种图像渲染方法,该方法可以是基于本发明实施例的上述图像渲染模型实现。参见图5,该方法可包括以下步骤S101-S104。
S101,获取目标图像的第一像素数据。
目标图像是指待渲染的图像;第一像素数据是指RGB数据。目标图像可以是存在于终端或服务器中的单个图像,也可以是视频文件中解析出来的连续多帧图像中的一帧图像。本步骤中,如果所获得的目标图像的像素数据直接为RGB数据,则可转入执行步骤S102;如果所获得的目标图像的像素数据并非为RGB数据,则需要对目标图像的非RGB数据的像素数据进行色彩转换得到RGB数据,再执行步骤S102。
S102,获取所述目标图像的渲染参数,所述渲染参数是对多个滤镜参数进行融合所得到的参数。
S103,采用所述渲染参数对所述第一像素数据进行优化处理以获得渲染数据。
步骤S102-S103中,若目标图像的渲染过程中需要多个滤镜对目标图像进行优化处理,则采用融合处理方式,即将多个滤镜对应的滤镜参数进行融合得到渲染参数,再采用该渲染参数对目标图像的第一像素数据进行优化处理,得到最终的渲染数据。其中,融合得到的渲染参数可存储在终端的存储空间中,即可从终端的存储空间中读取渲染参数,通过对多个滤镜参数进行融合可以将原本应该由多个滤镜依次采用多个滤镜参数对目标图像的第一像素数据所进行的多次优化处理,缩减为仅采用融合得到的渲染参数对目标图像的第一像素数据进行一次优化处理,减少了优化处理的性能开销,提升了优化处理的效率。
S104,根据所述渲染数据在终端的显示屏中绘制所述目标图像。
图像的绘制上屏可以是由终端的GPU控制实现的,具体地,GPU可以调用渲染引擎(或渲染滤镜)等工具,根据渲染数据将目标图像绘制在终端的显示屏中,完成渲染后,终端的显示屏所展示的目标图像呈现由多个滤镜优化处理所实现的特殊效果,例如:雾化、锐化、动效等等。
本发明实施例将图像渲染过程中所涉及的多个滤镜的滤镜参数进行融合得到渲染参数,采用该渲染参数对图像进行优化处理,将优化处理后的图像绘制至终端的显示屏中。通过融合处理方式能够将原本应该由多个滤镜采用多个滤镜参数对图像所进行的多次优化处理,缩减为仅采用融合得到的渲染参数对图像进行一次优化处理,这样由于无需进行多次优化处理,因此无需GPU进行多次绘制以及避免GPU与内存出现频繁交互,既提升了图像渲染的效率,又减小了终端的性能开销,避免终端产生发热发烫等异常使用情况,提升了用户使用体验。
本发明实施例提供了另一种图像渲染方法,参见图6,该方法可以是基于本发明实施例的上述图像渲染模型实现。该方法可包括以下步骤S201-S213。
S201,获取所述目标图像进行渲染所需的多个滤镜参数。
目标图像是指待渲染的图像;其可以是存在于终端或服务器中的单个图像,也可以是视频文件中解析出来的连续多帧图像中的一帧图像。本步骤用于确定在目标图像的渲染过程中应当采用哪些滤镜对图像进行优化处理,以及获取这些滤镜的滤镜参数。具体地,本步骤可包括以下两种可行的实施方式:
在一种实施方式中,该步骤S201可包括以下步骤s11-s13:
s11,输出至少一种图像处理类型,一种图像处理类型对应一种滤镜组合。
s12,接收用户从所述至少一种图像处理类型中所选择的目标图像处理类型。
s13,获取所述目标图像处理类型对应的目标滤镜组合,并获取所述目标滤镜组合中的多个滤镜参数。
在本实施方式中,可以预先配置一种或多种图像处理类型,每一种图像处理类型均对应一种滤镜组合,例如:图像处理类型为柔和型,该类型能够获得柔和效果的图像,其对应的滤镜组合可以包括润色滤镜和调光滤镜;再如:图像处理类型为强烈型,该类型能够获得强烈对比感的图像,其对应的滤镜组合可以包括调光滤镜和旋转滤镜;等等。每一种滤镜均有各自的滤镜参数,滤镜参数用于描述所应用的颜色通道及优化处理的过程,例如:某滤镜参数为R/0.9,该滤镜参数表示其被应用于R通道,且其优化处理的过程为将输入至R通道的R数据的初始值/0.9,R通道输出的优化处理后的R数据即为R通道的渲染数据。滤镜的类型及滤镜参数的对应关系可存储在终端的存储空间中,也可以存储在服务器中,或者存储在互联网数据库中,步骤s11-s13中,确定目标滤镜组合即确定了采用目标滤镜组合中的这些滤镜来对目标图像进行优化处理,可从终端的存储空间、服务器或互联网数据库中提取到目标滤镜组合中的各个滤镜的滤镜参数。
在另一种实施方式中,该步骤S201可包括以下步骤s21-s24:
s21,获取用户针对图像的历史使用数据,所述历史使用数据包括:所使用图像的标签和/或所使用图像的使用频率。
s22,采用预置算法对所述历史使用数据进行分析以确定所述用户针对图像的使用习惯。
s23,确定与所述用户针对图像的使用习惯相匹配的目标图像处理类型。
s24,获取所述目标图像处理类型对应的目标滤镜组合,并获取所述目标滤镜组合中的多个滤镜参数。
本实施方式中,可以从网站或应用程序中获取用户针对图像的历史使用数据,例如:可根据用户的上网记录,获取用户在各个网站中针对图像的历史使用数据;再如:可根据用户在各种应用程序(如游戏应用程序、即时通信应用程序等)中针对图像的历史使用数据。步骤s21-s24中,预置算法可包括但不限于机器学习算法、LRU算法等等,采用该预置算法对历史使用数据进行分析可以确定用户针对图像的使用习惯,也就是确定用户习惯或喜欢使用何种类型的图像;进而确定与用户针对图像的使用习惯相匹配的目标图像处理类型,例如:用户习惯使用柔和效果的图像,而这类呈柔和效果的图像所对应的图像处理类型为柔和型,那么将柔和型的图像处理类型确定为目标图像处理类型,再获取该目标图像处理类型对应的目标滤镜组合中各个滤镜的滤镜参数。
通过上述两种实施方式,可以确定在目标图像的渲染过程中应当采用哪些滤镜对图像进行优化处理,并且可获得这些滤镜的滤镜参数。
S202,从服务器下载待播放的视频文件。
S203,对所述视频文件进行解析得到至少一帧图像,以及每一帧图像的第二像素数据。
S204,从所述至少一帧图像选取待渲染的目标图像,并获取所述目标图像的第二像素数据。
S205,对所述目标图像的第二像素数据进行色彩转换得到所述目标图像的第一像素数据。
步骤S202-S205中,第一像素数据为RGB数据,第二像素数据为YUV数据。从服务器下载的待播放的视频文件通常是经编码、封装处理后形成的文件,因此,下载得到视频文件后需要对该视频文件进行解封装及解码处理,得到该视频文件的各帧图像及各帧图像的YUV数据。此时,目标图像可以是该视频文件所包括的各帧图像中的任一帧图像。进一步,将目标图像的YUV数据转换为RGB数据。
S206,从所述多个滤镜参数中提取作用于第一颜色通道的多个第一滤镜参数;所述第一颜色通道为RGB通道中的任一个颜色通道。
S207,对所提取的多个第一滤镜参数进行合并得到作用于所述第一颜色通道的第一渲染参数。
第一颜色通道可以是R通道、G通道或B通道。步骤S206-S207阐述的是将多个滤镜参数进行融合的过程,其原理是将作用于相同颜色通道的滤镜参数进行合并;例如:假设第一颜色通道为R通道,第一个滤镜参数为R*0.9,第二个滤镜参数为R/0.9,此两个滤镜参数均作用于R通道,那么将第一个滤镜参数与第二个滤镜参数进行合并,得到R通道的渲染参数为(R*0.9)/0.9=R。采用该渲染参数对R通道的R数据进行优化处理后得到的渲染数据即为R数据本身。以此类推,在第一颜色通道为G、B颜色通道时,经步骤S206-S207可融合得到分别作用于G通道的渲染参数及B通道的渲染参数。
S208,从所述第一像素数据中分离出所述第一颜色通道的像素数据。
S209,采用所述第一渲染参数对所述第一颜色通道的像素数据进行加工处理得到所述第一颜色通道的渲染数据。
步骤S208-S209阐述了优化处理的过程,其原理是采用渲染参数对对应的颜色通道的像素数据进行加工处理;例如:假设第一颜色通道为R通道,第一渲染参数即为R通道对应的渲染参数,那么采用R通道对应的渲染参数对R通道的像素数据(即R数据)进行加工处理得到R通道的渲染数据。同理,采用G通道对应的渲染参数对G通道的像素数据(G数据)进行加工处理得到G通道的渲染数据;采用B通道对应的渲染参数对B通道的像素数据(B数据)进行加工处理得到B通道的渲染数据。渲染数据是指目标图像被绘制在终端的显示屏时所使用的数据。
S210,将所述渲染数据映射至所述终端的系统缓冲区。
S211,从所述终端的系统缓冲区中依序读取需要绘制的渲染数据。
S212,将所读取的渲染数据绘制至所述终端的显示屏中。
S213,删除所述终端的系统缓冲区中已被读取的渲染数据。
通常,图像渲染过程中在需要使用某个渲染数据时,会在终端系统中创建一个缓冲区,将即将使用的渲染数据写入该缓冲区中,渲染时从该缓冲区中提取该渲染数据进行上屏绘制后,再销毁该缓冲区;这样的做法需要频繁的创建和销毁系统缓冲区,影响了终端的性能,尤其是在多个图像的连续渲染时,这样的做法对终端的性能损耗尤其严重,例如:互联网直播场景中,播放终端在播放直播视频文件时需要对直播视频文件所包括的多帧图像进行连续渲染,这时若采用上述做法会对终端造成极大的性能损耗。步骤S210-S213中,在终端的系统创建一个缓冲区,将渲染数据一次性映射至终端的系统缓冲区中,那么图像渲染时直接从系统缓冲区中依序读取渲染数据进行渲染,在渲染完成后对应删除系统缓冲区内的数据,这样可以避免频繁的创建和销毁系统缓冲区带来的性能损耗,尤其是针对多个图像的连续渲染时优势更为明显,例如:互联网直播场景中,播放终端在播放直播视频文件时需要对直播视频文件所包括的多帧图像进行连续渲染,那么可以将每帧图像的渲染数据按行写入系统缓冲区中,在提取某行的渲染数据完成渲染后,对系统缓冲区中的对应行进行清空,这样可有效的提升终端的性能,以及提升图像渲染的效率。
本发明实施例将图像渲染过程中所涉及的多个滤镜的滤镜参数进行融合得到渲染参数,采用该渲染参数对图像进行优化处理,将优化处理后的图像绘制至终端的显示屏中。通过融合处理方式能够将原本应该由多个滤镜采用多个滤镜参数对图像所进行的多次优化处理,缩减为仅采用融合得到的渲染参数对图像进行一次优化处理,这样由于无需进行多次优化处理,因此无需GPU进行多次绘制以及避免GPU与内存出现频繁交互,既提升了图像渲染的效率,又减小了终端的性能开销,避免终端产生发热发烫等异常使用情况,提升了用户使用体验。
基于上述图像渲染方法实施例的描述,本发明实施例还公开了一种图像渲染装置,该图像渲染装置可内置图2所示的图像渲染模型,其可以是运行于终端中的一个应用软件(例如:播放器),也可以是终端的应用软件中的一个插件。该图像渲染装置可以执行图5-图6任一实施例所示的图像渲染方法。请参见图7,该图像渲染装置运行如下单元:
像素数据获取单元101,用于获取目标图像的第一像素数据。
渲染参数获取单元102,用于获取所述目标图像的渲染参数,所述渲染参数是对多个滤镜参数进行融合所得到的参数。
优化处理单元103,用于采用所述渲染参数对所述第一像素数据进行优化处理以获得渲染数据。
图像渲染单元104,用于根据所述渲染数据在终端的显示屏中绘制所述目标图像。
一种实施方式中,所述像素数据获取单元具体用于:
从服务器下载待播放的视频文件;
对所述视频文件进行解析得到至少一帧图像,以及每一帧图像的第二像素数据;
从所述至少一帧图像选取待渲染的目标图像,并获取所述目标图像的第二像素数据;以及,
对所述目标图像的第二像素数据进行色彩转换得到所述目标图像的第一像素数据。
另一种实施方式中,所述装置还运行如下单元:
滤镜参数获取单元105,用于获取所述目标图像进行渲染所需的多个滤镜参数。
再一种实施方式中,所述滤镜参数获取单元具体用于:
输出至少一种图像处理类型,一种图像处理类型对应一种滤镜组合;
接收用户从所述至少一种图像处理类型中所选择的目标图像处理类型;以及,
获取所述目标图像处理类型对应的目标滤镜组合,并获取所述目标滤镜组合中的多个滤镜参数。
再一种实施方式中,所述滤镜参数获取单元具体用于:
获取用户针对图像的历史使用数据,所述历史使用数据包括:所使用图像的标签和/或所使用图像的使用频率;
采用预置算法对所述历史使用数据进行分析以确定所述用户针对图像的使用习惯;
确定与所述用户针对图像的使用习惯相匹配的目标图像处理类型;
获取所述目标图像处理类型对应的目标滤镜组合,并获取所述目标滤镜组合中的多个滤镜参数。
再一种实施方式中,所述第一像素数据为RGB数据,所述第二像素数据为YUV数据;所述渲染参数获取单元具体用于:
从所述多个滤镜参数中提取作用于第一颜色通道的多个第一滤镜参数;以及,
对所提取的多个第一滤镜参数进行合并得到作用于所述第一颜色通道的第一渲染参数;
其中,所述第一颜色通道为RGB通道中的任一个颜色通道。
再一种实施方式中,所述优化处理单元具体用于:
从所述第一像素数据中分离出所述第一颜色通道的像素数据;以及,
采用所述第一渲染参数对所述第一颜色通道的像素数据进行加工处理得到所述第一颜色通道的渲染数据。
再一种实施方式中,所述装置还运行如下单元:
映射单元106,用于将所述渲染数据映射至所述终端的系统缓冲区。
再一种实施方式中,所述图像渲染单元具体用于:
从所述终端的系统缓冲区中依序读取需要绘制的渲染数据;
将所读取的渲染数据绘制至所述终端的显示屏中;以及,
删除所述终端的系统缓冲区中已被读取的渲染数据。
根据本发明的一个实施例,图5所示的图像渲染方法涉及的步骤S101-S104可以是由图7所示的图像渲染装置中的各个单元来执行的。例如,图5中所示的步骤S101-S104可以分别由图7中所示的像素数据获取单元101、渲染参数获取单元102、优化处理单元103和图像渲染单元104来执行。
根据本发明的另一个实施例,图6所示的图像渲染方法涉及的步骤S201-S213可以是由图7所示的图像渲染装置中的各个单元来执行的。例如,图6中所示的步骤S201、S202-S205、S206-S207、S208-S209、S210、S211-S213可以分别由图7中所示的滤镜参数获取单元105、像素数据获取单元101、渲染参数获取单元102、优化处理单元103、映射单元106和图像渲染单元104来执行。
根据本发明的另一个实施例,图7所示的图像渲染装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,图像渲染装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图5-图6中所示的图像渲染方法涉及的各步骤的计算机程序(包括程序代码),来构造如图7中所示的图像渲染装置设备,以及来实现本发明实施例的图像渲染方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本发明实施例将图像渲染过程中所涉及的多个滤镜的滤镜参数进行融合得到渲染参数,采用该渲染参数对图像进行优化处理,将优化处理后的图像绘制至终端的显示屏中。通过融合处理方式能够将原本应该由多个滤镜采用多个滤镜参数对图像所进行的多次优化处理,缩减为仅采用融合得到的渲染参数对图像进行一次优化处理,这样由于无需进行多次优化处理,因此无需GPU进行多次绘制以及避免GPU与内存出现频繁交互,既提升了图像渲染的效率,又减小了终端的性能开销,避免终端产生发热发烫等异常使用情况,提升了用户使用体验。
基于上述实施例所示的图像渲染方法及图像渲染装置,本发明实施例还提供了一种终端,该终端可包括图2所示的图像渲染模型,并可以用来执行图5-图6所示的方法。此处的终端可以包括但不限于:移动电话、膝上型计算机或平板计算机等便携式设备;并且,终端支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。
请参见图8,该终端的内部结构至少包括处理器、用户接口、通信接口及计算机存储介质。其中,终端内的处理器、用户接口、通信接口及计算机存储介质可通过总线或其他方式连接,在本发明实施例所示图8中以通过总线连接为例。
用户接口是实现终端与用户之间交互的媒介,可包括但不限于:触摸屏显示和/或触摸板、物理键盘、鼠标和/或控制杆等等。通信接口是实现终端与服务器或其他终端设备之间进行交互和信息交换的媒介,可包括有线接口或无线接口。处理器(或称CPU(CentralProcessing Unit,中央处理器))是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行一条或一条以上指令从而实现相应方法流程或相应功能。计算机存储介质(Memory)是终端中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括终端的内置存储介质,当然也可以包括终端所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
在本发明实施例中,处理器加载并执行计算机存储介质中存放的一条或一条以上指令,以实现上述图5-图6所示方法流程的相应步骤;具体实现中,计算机存储介质中的一条或一条以上指令由处理器加载并执行如下步骤:
获取目标图像的第一像素数据;
获取所述目标图像的渲染参数,所述渲染参数是对多个滤镜参数进行融合所得到的参数;
采用所述渲染参数对所述第一像素数据进行优化处理以获得渲染数据;
根据所述渲染数据在终端的显示屏中绘制所述目标图像。
一种实施方式中,所述获取目标图像的第一像素数据,包括:
从服务器下载待播放的视频文件;
对所述视频文件进行解析得到至少一帧图像,以及每一帧图像的第二像素数据;
从所述至少一帧图像选取待渲染的目标图像,并获取所述目标图像的第二像素数据;
对所述目标图像的第二像素数据进行色彩转换得到所述目标图像的第一像素数据。
另一种实施方式中,所述获取目标图像的第一像素数据之前,还包括:
获取所述目标图像进行渲染所需的多个滤镜参数。
再一种实施方式中,所述获取所述目标图像进行渲染所需的多个滤镜参数,包括:
输出至少一种图像处理类型,一种图像处理类型对应一种滤镜组合;
接收用户从所述至少一种图像处理类型中所选择的目标图像处理类型;
获取所述目标图像处理类型对应的目标滤镜组合,并获取所述目标滤镜组合中的多个滤镜参数。
再一种实施方式中,所述获取所述目标图像进行渲染所需的多个滤镜参数,包括:
获取用户针对图像的历史使用数据,所述历史使用数据包括:所使用图像的标签和/或所使用图像的使用频率;
采用预置算法对所述历史使用数据进行分析以确定所述用户针对图像的使用习惯;
确定与所述用户针对图像的使用习惯相匹配的目标图像处理类型;
获取所述目标图像处理类型对应的目标滤镜组合,并获取所述目标滤镜组合中的多个滤镜参数。
再一种实施方式中,所述第一像素数据为RGB数据,所述第二像素数据为YUV数据;
所述获取所述目标图像的渲染参数,包括:
从所述多个滤镜参数中提取作用于第一颜色通道的多个第一滤镜参数;
对所提取的多个第一滤镜参数进行合并得到作用于所述第一颜色通道的第一渲染参数;
其中,所述第一颜色通道为RGB通道中的任一个颜色通道。
再一种实施方式中,所述采用所述渲染参数对所述第一像素数据进行优化处理以获得渲染数据,包括:
从所述第一像素数据中分离出所述第一颜色通道的像素数据;
采用所述第一渲染参数对所述第一颜色通道的像素数据进行加工处理得到所述第一颜色通道的渲染数据。
再一种实施方式中,所述采用所述渲染参数对所述第一像素数据进行优化处理以获得渲染数据之后,还包括:
将所述渲染数据映射至所述终端的系统缓冲区。
再一种实施方式中,所述根据所述渲染数据在终端的显示屏中绘制所述目标图像,包括:
从所述终端的系统缓冲区中依序读取需要绘制的渲染数据;
将所读取的渲染数据绘制至所述终端的显示屏中;
删除所述终端的系统缓冲区中已被读取的渲染数据。
本发明实施例将图像渲染过程中所涉及的多个滤镜的滤镜参数进行融合得到渲染参数,采用该渲染参数对图像进行优化处理,将优化处理后的图像绘制至终端的显示屏中。通过融合处理方式能够将原本应该由多个滤镜采用多个滤镜参数对图像所进行的多次优化处理,缩减为仅采用融合得到的渲染参数对图像进行一次优化处理,这样由于无需进行多次优化处理,因此无需GPU进行多次绘制以及避免GPU与内存出现频繁交互,既提升了图像渲染的效率,又减小了终端的性能开销,避免终端产生发热发烫等异常使用情况,提升了用户使用体验。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到【所描述条件或事件】”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到【所描述条件或事件】”或“响应于检测到【所描述条件或事件】”。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (12)
1.一种图像渲染方法,其特征在于,包括:
获取目标图像的第一像素数据;
获取所述目标图像的渲染参数,所述渲染参数是对多个滤镜参数进行融合所得到的参数;
采用所述渲染参数对所述第一像素数据进行优化处理以获得渲染数据;
根据所述渲染数据在终端的显示屏中绘制所述目标图像。
2.如权利要求1所述的方法,其特征在于,所述获取目标图像的第一像素数据,包括:
从服务器下载待播放的视频文件;
对所述视频文件进行解析得到至少一帧图像,以及每一帧图像的第二像素数据;
从所述至少一帧图像选取待渲染的目标图像,并获取所述目标图像的第二像素数据;
对所述目标图像的第二像素数据进行色彩转换得到所述目标图像的第一像素数据。
3.如权利要求1或2所述的方法,其特征在于,所述获取目标图像的第一像素数据之前,还包括:
获取所述目标图像进行渲染所需的多个滤镜参数。
4.如权利要求3所述的方法,其特征在于,所述获取所述目标图像进行渲染所需的多个滤镜参数,包括:
输出至少一种图像处理类型,一种图像处理类型对应一种滤镜组合;
接收用户从所述至少一种图像处理类型中所选择的目标图像处理类型;
获取所述目标图像处理类型对应的目标滤镜组合,并获取所述目标滤镜组合中的多个滤镜参数。
5.如权利要求3所述的方法,其特征在于,所述获取所述目标图像进行渲染所需的多个滤镜参数,包括:
获取用户针对图像的历史使用数据,所述历史使用数据包括:所使用图像的标签和/或所使用图像的使用频率;
采用预置算法对所述历史使用数据进行分析以确定所述用户针对图像的使用习惯;
确定与所述用户针对图像的使用习惯相匹配的目标图像处理类型;
获取所述目标图像处理类型对应的目标滤镜组合,并获取所述目标滤镜组合中的多个滤镜参数。
6.如权利要求1-5任一项所述的方法,其特征在于,所述第一像素数据为RGB数据,所述第二像素数据为YUV数据;
所述获取所述目标图像的渲染参数,包括:
从所述多个滤镜参数中提取作用于第一颜色通道的多个第一滤镜参数;
对所提取的多个第一滤镜参数进行合并得到作用于所述第一颜色通道的第一渲染参数;
其中,所述第一颜色通道为RGB通道中的任一个颜色通道。
7.如权利要求6所述的方法,其特征在于,所述采用所述渲染参数对所述第一像素数据进行优化处理以获得渲染数据,包括:
从所述第一像素数据中分离出所述第一颜色通道的像素数据;
采用所述第一渲染参数对所述第一颜色通道的像素数据进行加工处理得到所述第一颜色通道的渲染数据。
8.如权利要求7所述的方法,其特征在于,所述采用所述渲染参数对所述第一像素数据进行优化处理以获得渲染数据之后,还包括:
将所述渲染数据映射至所述终端的系统缓冲区。
9.如权利要求8所述的方法,其特征在于,所述根据所述渲染数据在终端的显示屏中绘制所述目标图像,包括:
从所述终端的系统缓冲区中依序读取需要绘制的渲染数据;
将所读取的渲染数据绘制至所述终端的显示屏中;
删除所述终端的系统缓冲区中已被读取的渲染数据。
10.一种图像渲染装置,其特征在于,包括:
像素数据获取单元,用于获取目标图像的第一像素数据;
渲染参数获取单元,用于获取所述目标图像的渲染参数,所述渲染参数是对多个滤镜参数进行融合所得到的参数;
优化处理单元,用于采用所述渲染参数对所述第一像素数据进行优化处理以获得渲染数据;
图像渲染单元,用于根据所述渲染数据在终端的显示屏中绘制所述目标图像。
11.一种计算机存储介质,其特征在于,所述计算机存储介质存储有一条或一条以上指令,所述一条或一条以上指令适于由处理器加载并执行如权利要求1-9任一项所述的图像渲染方法。
12.一种终端,其特征在于,包括:
处理器,适于实现一条或一条以上指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或一条以上指令,所述一条或一条以上指令适于由所述处理器加载并执行如权利要求1-9任一项所述的图像渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711219391.6A CN109840879B (zh) | 2017-11-28 | 2017-11-28 | 图像渲染方法、装置、计算机存储介质及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711219391.6A CN109840879B (zh) | 2017-11-28 | 2017-11-28 | 图像渲染方法、装置、计算机存储介质及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109840879A true CN109840879A (zh) | 2019-06-04 |
CN109840879B CN109840879B (zh) | 2022-12-09 |
Family
ID=66881430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711219391.6A Active CN109840879B (zh) | 2017-11-28 | 2017-11-28 | 图像渲染方法、装置、计算机存储介质及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109840879B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110599394A (zh) * | 2019-09-12 | 2019-12-20 | 北京字节跳动网络技术有限公司 | 在线演示文稿中的图片处理方法、装置、存储介质及设备 |
CN110827391A (zh) * | 2019-11-12 | 2020-02-21 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、设备及存储介质 |
CN111147801A (zh) * | 2019-12-31 | 2020-05-12 | 视联动力信息技术股份有限公司 | 一种视联网终端的视频数据处理方法和装置 |
CN111882483A (zh) * | 2020-08-31 | 2020-11-03 | 北京百度网讯科技有限公司 | 视频渲染方法及装置 |
CN112488944A (zh) * | 2020-12-02 | 2021-03-12 | 北京字跳网络技术有限公司 | 样本生成和模型训练方法、装置、设备和计算机可读介质 |
WO2021169810A1 (zh) * | 2020-02-27 | 2021-09-02 | 游艺星际(北京)科技有限公司 | 视频处理方法及服务器 |
CN113507560A (zh) * | 2021-05-26 | 2021-10-15 | 西安闻泰信息技术有限公司 | 图像处理的方法、装置、计算机设备和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105279161A (zh) * | 2014-06-10 | 2016-01-27 | 腾讯科技(深圳)有限公司 | 图片处理应用的滤镜排序方法和装置 |
CN105653142A (zh) * | 2016-01-07 | 2016-06-08 | 厦门美图之家科技有限公司 | 基于区域和用户属性的图像特效排序方法及系统 |
CN106095278A (zh) * | 2016-06-22 | 2016-11-09 | 维沃移动通信有限公司 | 一种拍照方法及移动终端 |
WO2016177296A1 (zh) * | 2015-05-04 | 2016-11-10 | 腾讯科技(深圳)有限公司 | 一种生成视频的方法和装置 |
TW201640888A (zh) * | 2015-02-04 | 2016-11-16 | 騰訊科技(深圳)有限公司 | 生成視頻的方法、裝置及終端 |
CN106530222A (zh) * | 2016-11-25 | 2017-03-22 | 维沃移动通信有限公司 | 一种图片保存方法和移动终端 |
CN106997610A (zh) * | 2016-01-26 | 2017-08-01 | 阿里巴巴集团控股有限公司 | 一种图像渲染方法、装置及电子设备 |
CN107295251A (zh) * | 2017-06-09 | 2017-10-24 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、终端及存储介质 |
-
2017
- 2017-11-28 CN CN201711219391.6A patent/CN109840879B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105279161A (zh) * | 2014-06-10 | 2016-01-27 | 腾讯科技(深圳)有限公司 | 图片处理应用的滤镜排序方法和装置 |
TW201640888A (zh) * | 2015-02-04 | 2016-11-16 | 騰訊科技(深圳)有限公司 | 生成視頻的方法、裝置及終端 |
WO2016177296A1 (zh) * | 2015-05-04 | 2016-11-10 | 腾讯科技(深圳)有限公司 | 一种生成视频的方法和装置 |
CN105653142A (zh) * | 2016-01-07 | 2016-06-08 | 厦门美图之家科技有限公司 | 基于区域和用户属性的图像特效排序方法及系统 |
CN106997610A (zh) * | 2016-01-26 | 2017-08-01 | 阿里巴巴集团控股有限公司 | 一种图像渲染方法、装置及电子设备 |
CN106095278A (zh) * | 2016-06-22 | 2016-11-09 | 维沃移动通信有限公司 | 一种拍照方法及移动终端 |
CN106530222A (zh) * | 2016-11-25 | 2017-03-22 | 维沃移动通信有限公司 | 一种图片保存方法和移动终端 |
CN107295251A (zh) * | 2017-06-09 | 2017-10-24 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、终端及存储介质 |
Non-Patent Citations (2)
Title |
---|
乔少杰等: "基于OpenGL的快速图像渲染方法", 《计算机应用研究》 * |
胡树煜 等: ""案例教学法"在 Photoshop 课程中的应用", 《中国管理信息化》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110599394A (zh) * | 2019-09-12 | 2019-12-20 | 北京字节跳动网络技术有限公司 | 在线演示文稿中的图片处理方法、装置、存储介质及设备 |
CN110827391A (zh) * | 2019-11-12 | 2020-02-21 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、设备及存储介质 |
CN111147801A (zh) * | 2019-12-31 | 2020-05-12 | 视联动力信息技术股份有限公司 | 一种视联网终端的视频数据处理方法和装置 |
WO2021169810A1 (zh) * | 2020-02-27 | 2021-09-02 | 游艺星际(北京)科技有限公司 | 视频处理方法及服务器 |
CN111882483A (zh) * | 2020-08-31 | 2020-11-03 | 北京百度网讯科技有限公司 | 视频渲染方法及装置 |
CN111882483B (zh) * | 2020-08-31 | 2024-04-09 | 北京百度网讯科技有限公司 | 视频渲染方法及装置 |
CN112488944A (zh) * | 2020-12-02 | 2021-03-12 | 北京字跳网络技术有限公司 | 样本生成和模型训练方法、装置、设备和计算机可读介质 |
CN113507560A (zh) * | 2021-05-26 | 2021-10-15 | 西安闻泰信息技术有限公司 | 图像处理的方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109840879B (zh) | 2022-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109840879A (zh) | 图像渲染方法、装置、计算机存储介质及终端 | |
WO2020010997A1 (zh) | 视频帧的提取方法、装置、计算机可读介质及电子设备 | |
CN105144141B (zh) | 用于使用距离关联性散列法对媒体数据库定址的系统和方法 | |
CN106713988A (zh) | 一种对虚拟场景直播进行美颜处理的方法及系统 | |
CN106804002A (zh) | 一种视频处理系统及方法 | |
CN103609117B (zh) | 编码和解码图像的方法及装置 | |
WO2022105597A1 (zh) | 视频倍速播放方法、装置、电子设备及存储介质 | |
CN108366288A (zh) | 一种用于高清视频的高效解码和播放方法及系统 | |
CN105933708B (zh) | 一种数据压缩和解压缩的方法和装置 | |
CN108848082A (zh) | 数据处理方法、装置、存储介质及计算机设备 | |
CN107180443A (zh) | 一种手绘动画生成方法及其装置 | |
CN110139147B (zh) | 一种视频处理方法、系统、移动终端、服务器及存储介质 | |
CN110072119A (zh) | 一种基于深度学习网络的内容感知视频自适应传输方法 | |
US20180143741A1 (en) | Intelligent graphical feature generation for user content | |
CN1136730C (zh) | 用于无线网络和无线手持式设备的动画压缩方法 | |
CN112102422B (zh) | 图像处理方法及装置 | |
CN102819851A (zh) | 一种有声图片的计算机实现方法 | |
CN114205680B (zh) | 视频封面展示方法及其装置、设备、介质、产品 | |
WO2024148979A1 (zh) | 视频解码方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
JP6323461B2 (ja) | サーバ装置、クライアント装置、情報処理方法および記録媒体 | |
KR20240063961A (ko) | 장면-기반 몰입형 미디어의 스트리밍을 위한 스마트 클라이언트 | |
CN117036912A (zh) | 视频ai推理的优化方法、装置、计算机设备、存储介质 | |
JPWO2015052967A1 (ja) | サーバ装置、クライアント装置、情報処理方法および記録媒体 | |
CN115250335A (zh) | 视频处理方法、装置、设备及存储介质 | |
CN104485123B (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 |