The invention discloses a method and a system for converting a pixel format from ARGB to NV12 by GPU. The method comprises the following steps: Y plane to create 1 8 pixel format in 2D texture interface graphics programming interface storage in UV plane texture and 1 16 pixel format storage texture; would need to convert the ARGB storage texture input to GPU, GPU by HLSL language, ARGB will store the pixel format in texture the image of the conversion from ARGB to NV12 after the Y plane assignment NV12 image pixel format to the Y plane UV plane texture storage, image pixel format of the NV12 assigned to the UV plane texture storage. The invention can shorten the calculation process of the pixel format conversion and improve the conversion efficiency.
【技术实现步骤摘要】
本专利技术涉及像素格式转换领域,具体涉及一种通过GPU(Graphics Processing Unit,图形处理器)将像素格式由ARGB转换为NV12的方法及系统。
技术介绍
在进行H.264(数字视频压缩格式)编码时,需要将RGB格式的像素转换为YUV格式的像素。首先对RGB和YUV分别做出解释:RGB色彩模式(Red、Green、Blue,红、绿、蓝三色色彩模式)是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到不同的颜色,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。YUV(颜色编码方法)格式分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。YUV格式主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像,只不过是黑白的,这样的设计很好地解决了彩色电视机与黑白电视的兼容问题。并且,YUV不像RGB那样要求三个独立的视频信号同时传输,所以用YUV格式传输数据占用的频宽极少。YUV码流的存储格式与其采样的方式密切相关,主流的采样方式有三种,YUV4:4:4,YUV4:2:2,YUV4:2:0。YUV格式有两大类:planar平面格式和packed打包格式。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像 ...
【技术保护点】
一种通过GPU将像素格式由ARGB转换为NV12的方法,该方法中的NV12像素格式的图像包括2个平面:亮度Y平面和色彩UV平面,其特征在于,该方法包括以下步骤:在图形编程接口的二维纹理接口中创建1个8位像素格式的Y平面储存纹理和1个16位像素格式的UV平面储存纹理;将需要转换的ARGB储存纹理输入至GPU,GPU通过HLSL语言,将ARGB储存纹理中图像的像素格式由ARGB转换为NV12后,将NV12像素格式的图像的Y平面赋值至所述Y平面储存纹理,将NV12像素格式的图像的UV平面赋值至所述UV平面储存纹理。
【技术特征摘要】
1.一种通过GPU将像素格式由ARGB转换为NV12的方法,该方法中的NV12像素格式的图像包括2个平面:亮度Y平面和色彩UV平面,其特征在于,该方法包括以下步骤:在图形编程接口的二维纹理接口中创建1个8位像素格式的Y平面储存纹理和1个16位像素格式的UV平面储存纹理;将需要转换的ARGB储存纹理输入至GPU,GPU通过HLSL语言,将ARGB储存纹理中图像的像素格式由ARGB转换为NV12后,将NV12像素格式的图像的Y平面赋值至所述Y平面储存纹理,将NV12像素格式的图像的UV平面赋值至所述UV平面储存纹理。2.如权利要求1所述的通过GPU将像素格式由ARGB转换为NV12的方法,其特征在于:所述GPU通过HLSL语言,将ARGB储存纹理中图像的像素格式由ARGB转换为NV12时,采用的转换算法为:Y=0.257·R+0.504·G+0.098·B+16/255;U=-0.148·R–0.291·G+0.439·B+0.5;V=0.439·R–0.368·G–0.071·B+0.5;其中Y、U和V分别代表NV12像素格式的图像中的Y、U和V分量,R、G和B分别代表ARGB像素格式的图像中的R、G和B分量。3.如权利要求1所述的通过GPU将像素格式由ARGB转换为NV12的方法,其特征在于:所述将需要转换的ARGB储存纹理输入至GPU的具体流程为:在图形编程接口的二维纹理接口中创建1个ARGB储存纹理,将需要转换的ARGB像素格式的图像赋值至ARGB储存纹理后;将ARGB储存纹理输入至GPU。4.如权利要求1至3任一项所述的通过GPU将像素格式由ARGB转换为NV12的方法,其特征在于:所述图形编程接口采用Direct3D11,Direct3D 11的二维纹理接口为ID3D11Tex...
【专利技术属性】
技术研发人员:杨亮,
申请(专利权)人:武汉斗鱼网络科技有限公司,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。