JPEG图像到压缩GPU纹理转码器制造技术

技术编号:18737986 阅读:16 留言:0更新日期:2018-08-22 06:13
接收的JPEG图像压缩格式的图像包括一个或多个最小编码单元(minimum coded unit,简称MCU)。使用图像压缩格式解码器对每个MCU进行解码。将每个解码MCU拆分成多个解码子块。然后可以使用纹理压缩格式编码器将每个解码子块编码成纹理压缩格式。然后,可以将每个编码纹理压缩格式子块传输至图形处理器(graphics processing unit,简称GPU)进行处理。

【技术实现步骤摘要】
【国外来华专利技术】JPEG图像到压缩GPU纹理转码器交叉引用本申请要求2016年1月8日递交的专利技术名称为“JPEG图像到压缩GPU纹理转码器”的第14/990,963号美国非临时申请案的在先申请优先权,该在先申请的内容以引入的方式并入本文。
本专利技术涉及计算机技术,更具体地,本专利技术涉及JPEG编码图像到纹理压缩格式的转码。
技术介绍
联合活动图像专家组(JointPhotographicExpertsGroup,简称JPEG)是一种流行的有损图像压缩方法,通常用于对数字图像进行压缩。JPEG使用基于离散余弦变换(discretecosinetransform,简称DCT)的压缩形式。该操作将视频源的每个帧/字段从空间(2D)域转换到频域(也称为变换域)。然后,丢弃高频信息,例如强度和色调的急剧转变。在变换域中,通过量化过程减少信息,最佳地,该过程将一个大尺寸(每个数量的出现次数不同)减小到较小尺寸。然后,对量化的系数进行排序并无损压缩成输出比特流。多种类型的图像通常以JPEG格式存储,包括用于在智能手机等移动设备上运行的应用的应用纹理。台式电脑和笔记本电脑等许多计算设备以及智能手机和平板电脑等最近的移动设备都具有图形处理器(graphicsprocessingunit,简称GPU),所述图形处理器提供用于实现变换和渲染等图形功能的专用处理器,以增强中央处理器(centralprocessingunit,简称CPU)。GPU通常使用纹理压缩格式,例如爱立信纹理压缩(ETC1或最近的ETC2)。为了在JPEG图像上使用GPU,通常希望以ETC2格式对JPEG进行编码。但是为了实现这一目的,应用首先需要将JPEG图像解码为以RGB888格式存储的原始图像缓冲区,然后将其编码为ETC2。然而,该过程效率较低,功耗大,浪费内存,而内存对于智能手机和平板电脑等内存小、电池有限的设备具有重要价值。使用ETC2等纹理压缩格式直接对纹理进行存储通常比使用JPEG图像压缩格式需要更多的内存。另外,ETC2等纹理压缩格式通常没有JPEG图像压缩格式质量高。
技术实现思路
第一示例性实施例提供了一种系统,包括:图形处理器(graphicsprocessingunit,简称GPU);图像压缩格式到纹理压缩格式转码器,用于将以图像压缩格式存储的图像转换为以纹理压缩格式表示的多个块,其中,所述图像压缩格式到纹理压缩格式转码器包括:图像压缩格式解码器,用于将所述图像解码为一个或多个解码块;图像压缩格式分离器,用于将每个解码块拆分成多个解码子块,经过所述拆分,表示所述多个解码子块中每个解码子块所包含的像素数据所需的颜色数量减小或最小化;一个或多个纹理压缩格式编码器,用于通过将所述解码子块的色彩空间转换为YUV并使用所述转换后的色彩空间确定是单个基色、两个基色还是其他合适数量的基色对所述子块进行编码,从而将所述多个解码子块中的每个解码子块编码为纹理压缩格式的块;总线,用于将所述纹理压缩格式的多个块传输至所述GPU进行处理。第二示例性实施例提供了一种系统,包括:图形处理器(graphicsprocessingunit,简称GPU);联合活动图像专家组(JointPhotographicExpertsGroup,简称JPEG)到爱立信纹理压缩(ETC2)转码器,用于将JPEG图像转换为多个ETC2块,其中,所述JPEG到ETC2转码器包括:JPEG解码器,用于将所述JPEG图像解码为一个或多个解码块;JPEG分离器,将每个解码块拆分成多个解码子块;一个或多个ETC2编码器,用于将所述多个解码子块中的每个解码子块编码为ETC块;总线,用于将所述多个ETC2块传输至所述GPU进行处理。第三示例性实施例提供了一种包括指令的非瞬时性计算机可读存储介质,其中,当所述指令被机器的至少一个处理器执行时,所述指令使所述机器进行以下操作:接收JPEG图像,其中,所述JPEG图像包括一个或多个最小编码单元(minimumcodedunit,简称MCU);使用JPEG解码器对每个MCU进行解码;将每个解码MCU拆分成多个解码子块;使用ETC2编码器将每个解码子块编码为ETC2;将每个编码ETC2子块传输至图形处理器(graphicsprocessingunit,简称GPU)进行处理。附图说明图1是根据示例性实施例的用于硬件JPEG到ETC2转码的系统的框图;图2是根据示例性实施例的用于JPEG-ETC2转码的方法的流程图;图3是根据示例性实施例的使用ETC1对子块进行编码的方法的流程图;图4是根据示例性实施例的使用ETC2对子块进行编码的方法的流程图;图5是根据示例性实施例的将JPEG图像转码为ETC2格式的示例图;图6是可结合本文所述的各种硬件架构使用的代表性软件架构的框图;图7是根据一些示例性实施例的能够从机器可读介质(例如,机器可读存储介质)中读取指令并执行本文所讨论的任意一个或多个方法的机器组件的框图。具体实施方式以下结合附图进行描述,所述附图是描述的一部分并通过图解说明的方式示出可以实施本专利技术的具体实施例。这些实施例将充分详细描述,使本领域技术人员能够实施公开的标的物而且应该明白的是可以使用其它实施例并且在不脱离本专利技术的范围的情况下可以做出结构上、逻辑上、电学上的改变。因此,以下示例实施例的描述并不当作限定,本专利技术的范围由所附权利要求书界定。在一个实施例中,这里描述的功能或算法可以通过软件或软件和人工实现的过程的组合得以实现。该软件可以由计算机可执行指令组成,计算机可执行指令可以存储在计算机可读介质中或本地或网络的一个或多个非瞬时性存储器或其他类型基于硬件的存储设备等计算机可读存储设备中。此外,这些功能对应于模块,所述模块可以是软件、硬件、固件或其任一组合。可以根据需要在一个或多个模块中实现多个功能,所述实施例仅仅是示例。该软件可以在数字信号处理器、专用集成电路(application-specificintegratedcircuit,简称ASIC)、微处理器或诸如个人计算机、服务器或其他计算机系统等计算机系统上运行的其他类型处理器上执行。在一个示例性实施例中,应用纹理直接以应用压缩格式存储,在直接将硬件部分或完全从图像压缩格式转码为纹理压缩格式的同时保持了高质量,这减少了网络衍生内容的带宽使用,提高了效率,降低了内存带宽利用率,并降低了功耗。在另一示例性实施例中,所述将图像从图像压缩格式转码为纹理压缩格式包括:将图像的解码块拆分成多个子块,从而将每个子块所包含的颜色数量最小化。这样一来,随后可以使用一种或两种颜色作为编码算法的基色将每个子块编码为纹理压缩格式。其优势在于,可以更有效地将图像从图像压缩格式即时转换为纹理压缩格式,从而最大限度地减少处理周期和存储空间,同时还可以减少网络衍生内容的带宽使用并降低使用GPU对纹理压缩格式子块进行渲染的功耗。通常将JPEG图像编码为YCbCr色彩空间中被称为最小编码单元(minimumcodedunit,简称MCU)的8×8的像素块。块可以表示图像中某个形状(例如正方形或其他合适的二维形状)的一组相邻像素。在一个示例性实施例中,将这些MCU中的每个MCU拆分成多个块,并将这些多个块中的每个块直接编码为ETC2块。例如,本文档来自技高网
...

【技术保护点】
1.一种系统,其特征在于,包括:图形处理器(graphics processing unit,简称GPU);图像格式转码器,用于将以图像压缩格式存储的图像转换为以纹理压缩格式表示的多个块,其中,所述图像格式转码器包括:解码器,用于将所述图像解码为一个或多个解码块;分离器,用于将每个解码块拆分成多个解码子块;纹理压缩格式编码器,用于将所述多个解码子块中的一个特定解码子块编码为所述纹理压缩格式的块中的一个特定块,其中,所述一个特定解码子块包括多种颜色,使用有限颜色集合对所述纹理压缩格式的所述一个特定块进行编码,所述有限颜色集合中的颜色比所述多种颜色少;总线,用于将所述纹理压缩格式的所述一个特定块传输至所述GPU进行处理。

【技术特征摘要】
【国外来华专利技术】2016.01.08 US 14/990,9631.一种系统,其特征在于,包括:图形处理器(graphicsprocessingunit,简称GPU);图像格式转码器,用于将以图像压缩格式存储的图像转换为以纹理压缩格式表示的多个块,其中,所述图像格式转码器包括:解码器,用于将所述图像解码为一个或多个解码块;分离器,用于将每个解码块拆分成多个解码子块;纹理压缩格式编码器,用于将所述多个解码子块中的一个特定解码子块编码为所述纹理压缩格式的块中的一个特定块,其中,所述一个特定解码子块包括多种颜色,使用有限颜色集合对所述纹理压缩格式的所述一个特定块进行编码,所述有限颜色集合中的颜色比所述多种颜色少;总线,用于将所述纹理压缩格式的所述一个特定块传输至所述GPU进行处理。2.根据权利要求1所述的系统,其特征在于,所述有限颜色集合包括不多于一种颜色,使用爱立信纹理压缩(ETC1)对所述解码子块进行编码。3.根据权利要求1所述的系统,其特征在于,所述纹理压缩格式编码器用于:在确定应使用两种颜色对所述解码子块进行编码之后,进行2均值聚类操作,从而从所述子块中确定两种颜色进行编码,并通过ETC2使用所述确定的两种颜色对所述子块进行编码。4.根据权利要求1所述的系统,其特征在于,所述纹理压缩格式编码器用于确定所述有限颜色集合的大小,以对所述解码子块进行编码,其中,所述确定包括:计算所述子块中的平均颜色和所述子块中颜色之间的标准差;将所述标准差与设定阈值进行比较,其中如果所述标准差超过所述设定阈值,则使用两种颜色对所述解码子块进行编码,否则,使用一种颜色对所述解码子块进行编码。5.根据权利要求2所述的系统,其特征在于,所述使用ETC1对所述解码子块进行编码包括:判断使用竖直子块还是水平子块对所述子块进行编码;在确定应使用水平子块对所述解码子块进行编码之后,使用ETC1的H模式对所述解码子块进行编码。6.根据权利要求5所述的系统,其特征在于,所述使用ETC1对所述解码子块进行编码还包括:在确定应使用竖直子块对所述解码子块进行编码之后,使用ETC1的T模式对所述解码子块进行编码。7.根据权利要求5所述的系统,其特征在于,所述判断使用竖直子块还是水平子块对所述子块进行编码包括:查找所述解码子块的每个竖直子块中颜色的平均颜色和标准差以及所述解码子块的每个水平子块中颜色的平均颜色和标准差,如果所述竖直子块的标准差小于所述水平子块的标准差,则认为应该使用竖直子块对所述子块进行编码。8.一种系统,其特征在于,包括:图形处理器(graphicsprocessingunit,简称GPU);联合活动图像专家组(JointPhotographicExpertsGroup,简称JPEG)到爱立信纹理压缩(ETC2)转码器,用于将JPEG图像转换为多个ETC2块,其中,所述JPEG到ETC2转码器包括:JPEG解码器,用于将所述JPEG图像解码为一个或多个解码块;JPEG分离器,将每个解码块拆分成多个解码子块;一个或多个ETC2编码器,用于将所述多个解码子块中的每个解码子块编码为ETC块;总线,用于将所述...

【专利技术属性】
技术研发人员:杰夫·莫桂兰斯凯安东尼·马佐拉
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1