[发明专利]一种基于Opengl ES的颜色空间数据转化算法在审
申请号: | 201711362472.1 | 申请日: | 2017-12-18 |
公开(公告)号: | CN108154539A | 公开(公告)日: | 2018-06-12 |
发明(设计)人: | 张世洋 | 申请(专利权)人: | 北京酷我科技有限公司 |
主分类号: | G06T7/90 | 分类号: | G06T7/90;G06T1/20 |
代理公司: | 北京德和衡律师事务所 11405 | 代理人: | 姚克枫 |
地址: | 100080 北京市海淀区农大*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 颜色空间数据 着色器 算法 转化 顶点着色器 片段着色器 并行运行 数据转化 转化效率 帧画面 着色 视频 创建 语言 | ||
1.一种基于Opengl ES的颜色空间数据转化算法,其特征在于,包括如下步骤:
采用Opengl着色语言GLSL编写着色器shader,使得一个着色器shader并行运行于GPU的多个核上,提高颜色空间数据转化的速度;
在Opengl ES中需要创建两种着色器:顶点着色器vertex shaders和片段着色器fragment shaders。
2.如权利要求1所述的基于Opengl ES的颜色空间数据转化算法,其特征在于:所述颜色空间数据转化指YUV颜色空间数据转化为RGBA颜色空间数据。
3.如权利要求2所述的基于Opengl ES的颜色空间数据转化算法,其特征在于:所述YUV颜色空间数据来自摄像头捕获的数据,
具体格式是NV21格式。
4.如权利要求3所述的基于Opengl ES的颜色空间数据转化算法,其特征在于:所述着色器shader,采用如下转换公式完成YUV颜色空间数据转化为RGBA颜色空间数据:
R = Y + 1.13983 *(V - 128)
G = Y - 0.39465 *(V - 128)- 0.58060 * (V - 128)
B = Y + 2.03211 * (U -128)。
5.如权利要求3所述的基于Opengl ES的颜色空间数据转化算法,其特征在于:所述片段着色器,对图像采样使用的是以256作为最大值归一化的浮点数,
YUV转换RGB采用0.0到1.0之间的浮点数以矩阵表示。
6.如权利要求5所述的基于Opengl ES的颜色空间数据转化算法,其特征在于:所述片段着色器,
提供被系统自动调用的主函数接口main,
设定纹理采样坐标vTextureCoord,
设定顶点着色器中默认精度为precision highp float,
设定Y纹理单元texture,
设定VU纹理单元texture2,
对单通道的Y图像采用Opengl ES的灰度格式LUMINANCE上传到texture纹理单元,
对双通道的VU图像采用Opengl ES的灰度加透明度格式LUMINANCE_ALPHA上传到texture2纹理单元,
通过纹理采样坐标vTextureCoord,对texture纹理单元和texture2纹理单元分别采样,得到两个4维颜色向量vec41和vec42,
所述4维颜色向量vec41,其r维vec41.r是y像素,
所述4维颜色向量vec42,其r和a维vec42.ra是vu像素,
将一个y像素和一个vu像素构成三维颜色向量vec3(vec41.r,vec42.ra),
按照转换公式,三维颜色向量vec3乘以转化矩阵mat3就得到一个rgb像素输出显示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京酷我科技有限公司,未经北京酷我科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711362472.1/1.html,转载请声明来源钻瓜专利网。