CN106548498A - 用于处理压缩纹理的方法和设备 - Google Patents
用于处理压缩纹理的方法和设备 Download PDFInfo
- Publication number
- CN106548498A CN106548498A CN201610842915.6A CN201610842915A CN106548498A CN 106548498 A CN106548498 A CN 106548498A CN 201610842915 A CN201610842915 A CN 201610842915A CN 106548498 A CN106548498 A CN 106548498A
- Authority
- CN
- China
- Prior art keywords
- texel
- block
- texture
- pattern
- block pattern
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Abstract
提供一种用于处理压缩纹理的方法和设备。一种压缩纹理的方法包括:接收通过将形成纹理的纹理元素划分成纹理元素的块的单元而获取的纹理元素块;确定纹理元素块的块图案;基于块图案来压缩纹理元素块。
Description
本申请要求于2015年9月22日提交到韩国知识产权局的第10-2015-0133886号韩国专利申请的权益,该申请的完整公开为了所有目的通过引用包含于此。
技术领域
本申请涉及一种用于处理压缩的纹理元素块的方法和设备。
背景技术
当渲染三维(3D)图形帧时,需要大量计算,因此需要较多功率和许多硬件资源。因此,当执行3D图形渲染时,减少计算量是重要的。
为了在3D图形渲染处理的像素着色处理中减少计算量并加快渲染速度,图形处理单元(GPU)配备有纹理处理器。
纹理处理器产生纹理化(texturing)所需的纹理。纹理化是将3D空间中形成的对象映射到预先准备的图像的处理,它是3D图形渲染处理中减少计算量的重要操作。预先准备的图像被称为纹理。可以以压缩形式预先准备纹理并将纹理存储在纹理处理器的外部存储器中。
纹理处理器从外部存储器接收压缩的纹理元素块(其中,形成纹理的纹理元素以块为单位被压缩),处理接收的压缩纹理元素块以获取着色器核所请求的纹理并将纹理发送到着色器核。
发明内容
提供本发明内容以按照简化形式介绍构思的选择,下面将在具体实施方式中进一步描述所述构思。本发明内容不意图识别要求保护的主题的关键特征或本质特征,也不意图用来帮助确定要求保护的主题的范围。
在一个总的方面,一种压缩纹理的方法包括:接收通过将形成纹理的纹理元素划分成纹理元素的块的单元而获取的纹理元素块;确定纹理元素块的块图案;基于块图案来压缩纹理元素块。
块图案可以是用于将形成纹理元素块的纹理元素分成第一纹理元素和第二纹理元素的图案,其中,第一纹理元素的权重或索引将被计算,第二纹理元素的权重或索引将不被计算。
确定纹理元素块的块图案的步骤可包括:针对多个块图案中的每个计算第一纹理元素的纹理元素值与第二纹理元素的纹理元素值之间的差值;将所述多个块图案之中具有最小差值的块图案确定为纹理元素块的块图案。
压缩纹理元素块的步骤可包括:确定形成纹理元素块的纹理元素的至少一个代表值;基于所述至少一个代表值计算第一纹理元素的权重或索引。
压缩纹理元素块的步骤还可包括:产生包括块图案、所述至少一个代表值以及第一纹理元素的权重或索引的压缩数据。
产生压缩数据的步骤可包括通过以下操作来产生压缩数据:分配用于指示块图案、所述至少一个代表值以及第一纹理元素的权重或索引的数据位;将另外的数据位分配给指示块图案的数据位、指示所述至少一个代表值的数据位、以及指示第一纹理元素的权重或索引的数据位中的任意两项或更多项,其中,所述另外的数据位是本来将被分配用于指示已被计算了第二纹理元素的权重或索引的第二纹理元素中的至少一些第二纹理元素的权重或索引的数据位。
形成纹理元素块的纹理元素在块图案中可具有对称属性。
在另一总的方面,一种非暂时性计算机可读存储介质,存储使计算硬件执行以上所述的方法的指令。
在另一总的方面,一种处理纹理的方法包括:接收通过以纹理元素的块为单位压缩形成纹理的纹理元素而获取的压缩数据;提取包括在压缩数据中的块图案;通过基于块图案对压缩数据进行解压缩来获取形成纹理元素块的纹理元素。
块图案可以是用于将形成纹理元素块的纹理元素分成第一纹理元素和第二纹理元素的图案。
获取纹理元素的步骤可包括:基于压缩数据获取形成纹理元素块的纹理元素的至少一个代表值和第一纹理元素的权重或索引;基于块图案、所述至少一个代表值以及第一纹理元素的权重或索引获取第一纹理元素的纹理元素值;基于块图案和第一纹理元素的纹理元素值获取第二纹理元素的纹理元素值。
获取第二纹理元素的纹理元素值的步骤可包括:通过基于块图案复制第一纹理元素的纹理元素值中的一个纹理元素值来获取第二纹理元素的纹理元素值中的相应的一个纹理元素值。
在另一总的方面,一种非暂时性计算机可读存储介质,存储使计算硬件执行以上所述的方法的指令。
在另一总的方面,一种用于压缩纹理的设备包括:块图案确定器,被配置为接收通过将形成纹理的纹理元素划分成纹理元素的块的单元而获取的纹理元素块,并确定纹理元素块的块图案;压缩器,被配置为基于块图案压缩纹理元素块。
块图案可以是用于将形成纹理元素块的纹理元素分成第一纹理元素和第二纹理元素的图案,其中,第一纹理元素的权重或索引将被计算,第二纹理元素的权重或索引将不被计算。
块图案确定器还可被配置为:针对多个块图案中的每个计算第一纹理元素的纹理元素值与第二纹理元素的纹理元素值之间的差值,并将所述多个块图案之中具有最小差值的块图案确定为纹理元素块的块图案。
压缩器还可被配置为:确定形成纹理元素块的纹理元素的至少一个代表值,并基于所述至少一个代表值计算第一纹理元素的权重或索引。
压缩器还可被配置为:产生包括块图案、所述至少一个代表值以及第一纹理元素的权重或索引的压缩数据。
压缩器还可被配置为通过以下操作来产生压缩数据:分配用于指示块图案、所述至少一个代表值以及第一纹理元素的权重或索引的数据位,并将本来将另外的数据位分配给指示块图案的数据位、指示所述至少一个代表值的数据位、以及指示第一纹理元素的权重或索引的数据位中的任意两项或更多项,其中,所述另外的数据位是本来将被分配用于指示已被计算了第二纹理元素的权重或索引的第二纹理元素中的至少一些第二纹理元素的权重或索引的数据位。
形成纹理元素块的纹理元素在块图案中可具有对称属性。
在另一总的方面,一种纹理处理器包括:块图案提取器,被配置为接收通过以纹理元素的块为单位压缩形成纹理的纹理元素而获取的压缩数据,并提取包括在压缩数据中的块图案;解压缩器,被配置为通过基于块图案对压缩数据进行解压缩来获取形成纹理元素块的纹理元素。
块图案可以是用于将形成纹理元素块的纹理元素分成第一纹理元素和第二纹理元素的图案。
解压缩器还可被配置为:基于压缩数据获取形成纹理元素块的纹理元素的至少一个代表值和第一纹理元素的权重或索引,基于块图案、所述至少一个代表值以及第一纹理元素的权重或索引获取第一纹理元素的纹理元素值,并基于块图案和第一纹理元素的纹理元素值获取第二纹理元素的纹理元素值。
解压缩器还可被配置为:通过基于块图案复制第一纹理元素的纹理元素值中的一个纹理元素值获取第二纹理元素的纹理元素值中的相应的一个纹理元素值。
在另一总的方面,一种压缩纹理的方法包括:接收通过将形成纹理的纹理元素划分成纹理元素的块的单元而获取的纹理元素块;获取可应用于形成纹理元素块的所有纹理元素的常规纹理元素数据;获取仅可应用于纹理元素块被分成的第一纹理元素和第二纹理元素之中的第一纹理元素的特定纹理元素数据;基于常规纹理元素数据和特定纹理元素数据来压缩纹理元素块。
常规纹理元素数据和特定纹理元素数据可使所有的第一纹理元素和第二纹理元素的纹理元素值基于常规纹理元素数据和特定纹理元素数据被获取。
常规纹理元素数据可包括表示在纹理元素块中第一纹理元素和第二纹理元素之间的空间关系的空间数据。
空间数据可包括指示第一纹理元素和第二纹理元素在纹理元素块中的位置的块图案。
空间数据可包括针对第二纹理元素中的每个的指示第一纹理元素中的哪一个具有将被用作该第二纹理元素的纹理元素值的纹理元素值的信息。
常规纹理元素数据还可包括形成纹理元素块的纹理元素的至少一个代表值;特定纹理元素数据可包括将应用于所述至少一个代表值以获取第一纹理元素的纹理元素值的第一纹理元素的权重或索引。
压缩的步骤可包括将位分配给常规纹理元素数据和特定纹理元素数据。
在另一总的方面,一种对纹理进行解压缩的方法包括:接收通过以纹理元素的块为单位压缩形成纹理的纹理元素而获取的压缩数据;从压缩数据获取可应用于形成纹理元素块的所有纹理元素的常规纹理元素数据,以及仅可应用于纹理元素块被分成的第一纹理元素和第二纹理元素之中的第一纹理元素的特定纹理元素数据;基于常规纹理元素数据和特定纹理元素数据来获取所有的第一纹理元素和第二纹理元素的纹理元素值。
常规纹理元素数据可包括表示在纹理元素块中第一纹理元素和第二纹理元素之间的空间关系的空间数据。
空间数据可包括指示第一纹理元素和第二纹理元素在纹理元素块中的位置的块图案。
空间数据可包括针对第二纹理元素中的每个的指示第一纹理元素中的哪一个具有将被用作该第二纹理元素的纹理元素值的纹理元素值的信息。
常规纹理元素数据还可包括形成纹理元素块的纹理元素的至少一个代表值;特定纹理元素数据可包括将被应用于所述至少一个代表值以获取第一纹理元素的纹理元素值的第一纹理元素的权重或索引。
获取所有的第一纹理元素和第二纹理元素的纹理元素值的步骤可包括:基于空间数据、所述至少一个代表值以及第一纹理元素的权重或索引获取第一纹理元素的纹理元素值;基于空间数据和第一纹理元素的纹理元素值获取第二纹理元素的纹理元素值。
压缩数据可包括被分配给常规纹理元素数据和特定纹理元素数据的数据位。
从以下具体实施方式、附图和权利要求中,其他的特征和方面将是清楚的。
附图说明
图1示出图形处理单元(GPU)的示例。
图2示出在图1的GPU中处理三维(3D)图形的过程的示例。
图3是纹理压缩设备的示例的框图。
图4示出纹理元素块的示例。
图5示出块图案的示例。
图6是用于描述基于块图案压缩纹理元素块的方法的示例的参考图。
图7是纹理处理器的示例的框图。
图8是用于描述在图7中示出的纹理处理器中对压缩数据进行解压缩的方法的示例的参考图。
图9是纹理处理器的另一示例的框图。
图10是压缩纹理元素块的方法的示例的流程图。
图11是基于图10的块图案压缩纹理元素块的操作的示例的流程图。
图12是对纹理元素块进行解压缩的方法的示例的流程图。
图13是基于块图案对压缩数据进行解压缩以获取图12的纹理元素的操作的示例的流程图。
贯穿附图和具体实施方式,相同的参考标号表示相同的元件。附图可不按比例绘制,为了清楚、说明和方便,附图中的元件的相对大小、比例和描绘可被夸大。
具体实施方式
提供以下具体实施方式以帮助读者获得在此描述的方法、设备和/或系统的全面理解。然而,在此描述的方法、设备和/或系统的各种改变、修改和等同物对本领域普通技术人员来说将是显而易见的。这里描述的操作的顺序仅为示例,除非操作必须按照特定次序发生,否则操作的顺序不限于在此阐述的顺序,而可如本领域普通技术人员将清楚的那样改变。此外,为了更加清楚和简明,可省略对本领域普通技术人员来说公知的功能和结构的描述。
在此描述的特征可以以不同的形式被实现,而将不被解释为受在此描述的示例所限制。相反,已经提供在此描述的示例将使本公开将是彻底和完整的,并将本公开的完整范围传达给本领域普通技术人员。
在层结构中,当一个元件被布置在另一元件“上方”或“上”时,所述元件可被直接布置在另一元件上,或者可在不接触另一元件的情况下被布置在另一元件上方。
在本申请中使用的术语已被考虑到这里描述的功能而从现今广泛使用的通用术语选择。然而,根据本领域普通技术人员的意图、法律先例和新技术的出现,所述术语可变化。此外,对于特殊情况,在本申请中详细描述由发明人选择的术语的含义。因此,在本申请中使用的术语基于它们的与贯穿本申请所讨论的内容有关的含义被限定,不被它们的简单含义所限定。
当部件被描述为“包括”特定元件时,除非另外指定,否则该部件不会被解释为排除另一元件,而可被解释为包括其他元件。
图1示出图形处理单元(GPU)100的示例。
参照图1,GPU 100包括光栅化器110、着色器核120、纹理处理器130、像素处理器140和图块缓冲器150。
GPU 100经由总线30向GPU 100外部的存储器200发送数据并从存储器200接收数据。
图1的GPU 100是使用基于图块的渲染(TBR)方法来处理三维(3D)图形的装置。例如,GPU 100将帧划分成特定尺寸的图块,在光栅化器110、着色器核120和像素处理器140中处理划分的图块,并将处理结果存储在图块缓冲器150中。此外,GPU 100可使用光栅化器110、着色器核120和像素处理器140并行处理形成一个帧的所有图块。当形成一个帧的所有图块被处理时,GPU 100将存储在图块缓冲器150中的处理结果发送到存储器200中的帧缓冲器(未示出)。
着色器核120包括像素着色器(未示出)和顶点着色器(未示出)。可选择地,着色器核120包括执行顶点着色器和像素着色器的功能的集成着色器(未示出)。使用其顶点着色器的功能,着色器核120产生表示对象的图元(primitive)并将产生的图元发送到光栅化器110。
光栅化器110通过几何变换处理将由顶点着色器产生的图元光栅化。将图元光栅化将图元划分成多个片元(fragment)。
着色器核120从光栅化器110接收光栅化的图元并对光栅化的图元执行像素着色。着色器核120执行像素着色以确定通过光栅化产生的片元的颜色。在像素着色处理中,着色器核120使用利用纹理产生的像素值来产生逼真的3D图形。
当着色器核120向纹理处理器130请求像素值时,纹理处理器130将通过处理预先准备的纹理而产生的像素值发送到着色器核120。纹理可被存储在纹理处理器130的内部或外部的存储器中,或被存储在GPU 100外部的存储器200中。当用于产生由着色器核120请求的像素值的纹理不存在于纹理处理器130的内部的存储器中时,纹理处理器130从纹理处理器130的外部的存储器或从存储器200检索纹理。
像素处理器140确定在针对与图块中的相同位置对应的像素执行诸如深度测试的处理后将被最终显示的像素值。
图块缓冲器150存储包括在图块中的多个像素的最终像素值。当包括在图块中的所有像素的像素值被确定时,图块被发送到存储器200中的帧缓冲器。
参照图2详细描述处理3D图形的过程。
图2示出在GPU 100中处理3D图形的过程的示例。
参照图2,处理3D图形的过程包括操作S11至S18。图2的下部的图概念地指示在各个操作中对顶点或像素的处理。
在操作S11,产生表示图像的顶点。产生顶点以表示包括在图像中的对象。
在操作S12,对产生的顶点执行着色。顶点着色器通过存储在操作S11中产生的顶点的位置来对顶点执行着色。
在操作S13,产生图元。图元是由点、线或顶点形成的多边形。例如,图元可以是通过连接顶点所形成的三角形。
在操作S14,将图元光栅化。将图元光栅化将图元划分成多个片元。片元是用于形成图元的单位并且是用于执行图像处理的基本单位。图元仅包括关于顶点的信息。因此,在光栅化处理中,当产生顶点之间的片元时执行插值。
在操作S15,执行像素着色。通过光栅化产生的形成图元的片元是形成图块的像素。在图形处理领域,根据情况而互换地使用术语“片元”和“像素”。例如,像素着色器可被称为片元着色器。通常,图形处理中的用于形成图元的基本单位被称为片元,图形处理中的在像素着色之后的基本单位被称为像素。在像素着色中,确定像素的颜色。
在操作S16,执行用于确定像素的颜色的纹理化。纹理化是当确定像素的颜色时使用先前准备的图像(即,纹理)来确定像素的颜色的处理。因为计算每个像素的颜色以表现真实世界的各种颜色和图案会大幅增加图形处理所需的数据量和图形处理时间,所以使用先前准备的纹理来确定像素的颜色。例如,通过以下操作来确定像素的颜色:将对象的表面颜色存储在单独的2D图像(即,纹理)中,并根据对象在屏幕上的位置和尺寸来扩大或缩小存储的纹理,或使用具有各种分辨率的纹理来混合纹理元素值。
在操作S17,执行测试和混合。通过对与图块中的相同位置对应的像素执行诸如深度测试的处理确定将最终显示的像素值,因此确定与图块对应的像素值。将通过以上处理而产生的多个图块彼此混合,因此产生与帧对应的3D图形。
在操作S18,在帧缓冲器中存储通过操作S11至S17产生的帧,并且由显示设备显示存储在帧缓冲器中的帧。
将针对各种对象的所有纹理和与纹理对应的细化贴图(mipmap)存储在纹理处理器130的存储器中在物理上是不可能的。为了最小化存储纹理所需的空间并有效地发送纹理,在3D图形渲染中通常将纹理压缩用于存储和传输。
然而,需要相当大量的计算、时间和功耗来压缩纹理并对压缩纹理进行解压缩。因此,需要更有效的压缩和解压缩方法来压缩纹理并对压缩纹理进行解压缩。
在根据本示例的纹理压缩方法和设备中,当以块为单位压缩形成纹理的纹理元素时,通过不对纹理元素块的所有纹理元素而仅对纹理元素块的一些纹理元素基于纹理元素块的图案执行压缩来减少针对压缩的计算处理。此外,在根据本示例的纹理压缩方法和设备中,基于解压缩的纹理元素的纹理元素值获取压缩的和解压缩的一些纹理元素以及其他纹理元素的纹理元素值。因此,可有效地执行图形处理。
图3是纹理压缩设备300的示例的框图。
参照图3,纹理压缩设备300包括块图案确定器310和压缩器320。
块图案确定器310接收纹理元素块并确定接收的纹理元素块的块图案。通过将形成纹理的纹理元素划分成纹理元素块的单位来获取纹理元素块。以下参照图4描述纹理元素块。
图4示出纹理元素块的示例。
通过3D图形处理过程将纹理以压缩形式存储以满足硬件资源和通信环境的要求。纹理压缩设备300通常以纹理元素的块为单位对形成纹理的纹理元素执行压缩。
例如,参照图4,纹理400包括多个纹理元素,这些纹理元素被划分成均具有特定尺寸的纹理元素块。虽然图4示出具有4×4的尺寸的纹理元素块(即,4×4的纹理元素块410),但这仅是示例,纹理元素块410可具有各种尺寸。然而,在以下描述中,为了便于解释,纹理元素块的尺寸被描述为4×4。
参照图4,4×4的纹理元素块410由T0、T1、T2、T3、T4、T5、T6、T7、T8、T9、T10、T11、T12、T13、T14和T15的16个纹理元素形成,并且T0、T1、T2、T3、T4、T5、T6、T7、T8、T9、T10、T11、T12、T13、T14和T15的每个纹理元素具有纹理元素值。
当纹理400被划分成多个纹理元素块时,包括在一个纹理元素块(例如,纹理元素块410)中的纹理元素值可具有对称属性。例如,包括在4×4的纹理元素块410中的纹理元素值可相对于第一对角线415左右对称。第二纹理元素T1的纹理元素值可与第五纹理元素T4的纹理元素值相同;第三纹理元素T2的纹理元素值可与第九纹理元素T8的纹理元素值相同;第四纹理元素T3的纹理元素值可与第十三纹理元素T12的纹理元素值相同;第七纹理元素T6的纹理元素值可与第十纹理元素T9的纹理元素值相同;第八纹理元素T7的纹理元素值可与第十四纹理元素T13的纹理元素值相同;第十二纹理元素T11的纹理元素值可与第十五纹理元素T14的纹理元素值相同。
在这种情况下,纹理压缩设备300仅对位于第一对角线415的左侧或右侧的纹理元素执行压缩并针对那些纹理元素产生压缩数据(例如,纹理元素的权重或索引)。然后,在纹理元素块的解压缩期间,压缩的纹理元素被解压缩以获取纹理元素值,并且基于获取的纹理元素值获取未产生压缩数据的纹理元素的纹理元素值。因此,在根据本示例的纹理压缩和解压缩方法中,由于不对包括在纹理元素块中的一些纹理元素执行压缩和解压缩,所以减少了计算量、时间和功耗。
在根据本示例的压缩方法中,需要用于将纹理元素块的纹理元素分成将被压缩的纹理元素和将不被压缩的纹理元素的块图案。参照图5详细描述块图案。
图5示出块图案的示例。
参照图5,每个块图案511、512、513、514、515、516、517、518、519、520、521、522、523、524、525和526具有与纹理元素块相同的尺寸并包括与形成纹理元素块的纹理元素对应的多个区域。这些区域被划分成灰色阴影的第一区域和无阴影的第二区域。每个块图案中的灰色阴影区域对应于纹理元素块中的将被压缩的纹理元素,每个块图案中的非阴影区域对应于纹理元素块中的将不被压缩的纹理元素。
此外,虽然图5示出16个块图案,但是这仅是示例,块图案可包括各种块图案。
块图案确定器310确定各种类型的块图案之中的将被用于压缩纹理元素块的块图案。块图案确定器310选择块图案之中最能反映将被压缩纹理元素块的对称属性的块图案。例如,块图案确定器310针对每个块图案计算对应于灰色阴影的第一区域的纹理元素值的总和与对应于非阴影的第二区域的纹理元素值的总和之间的差值,并选择具有最小差值的块图案。当检测到具有相同的最小差值的多个块图案时,块图案确定器310可选择首先被检测到的块图案。可选地,块图案确定器310选择具有小于预设值的差值的块图案。当检测到具有小于预设值的相同差值的多个块图案时,块图案确定器310可选择首先被检测到的块图案。可选地,块图案确定器310根据用户的输入选择块图案。然而,确定块图案的方法不限于上述方法,可使用各种方法确定块图案。
当确定纹理元素块的块图案时,压缩器320基于确定的块图案压缩纹理元素块。在包括在块图案中的区域之中,压缩器320对与第一区域(灰色阴影区域)对应的纹理元素执行压缩并且不对与第二区域(非阴影区域)对应的纹理元素执行压缩。
参照图6详细描述基于块图案压缩纹理元素块的方法。
图6是用于描述基于块图案压缩纹理元素块的方法的示例的参考图。
参照图6,压缩器320确定形成纹理元素块的纹理元素的至少一个代表值。例如,形成纹理元素块的纹理元素的纹理元素值的最大值ep0和最小值ep1(端点值)被确定为代表值。然而,这仅是示例,可使用各种方法确定至少一个代表值。此外,虽然在本示例中确定两个代表值,但是可仅确定一个代表值,或者可确定多于两个代表值。
当确定至少一个代表值时,压缩器320针对至少一个代表值计算形成纹理元素块的一些纹理元素的权重。纹理元素的权重是应用于至少一个代表值以使用所述至少一个代表值来表示纹理元素值的权重。例如,当T(纹理元素值)=w0×ep0(第一代表值)+(1-w0)×ep1(第二代表值)时,w0是权重。
压缩器320基于确定的块图案610确定将被计算权重的一些纹理元素。例如,仅针对包括在确定的块图案610中的区域之中与灰色阴影区域对应的纹理元素(第一纹理元素)计算权重。例如,压缩器320计算4×4的纹理元素块620中的第一纹理元素T0、第二纹理元素T1、第三纹理元素T2、第四纹理元素T3、第七纹理元素T6、第八纹理元素T7、第十二纹理元素T11和第十六纹理元素T15的权重。
压缩器320产生包括纹理元素块的块图案、形成纹理元素块的纹理元素的至少一个代表值以及形成纹理元素块的一些纹理元素的权重的压缩数据630。
参照图6,4×4的纹理元素块620的压缩数据630包括指示块图案610的数据BP0、指示形成4×4的纹理元素块620的纹理元素的至少一个代表值的数据ep0和ep1、以及指示4×4的纹理元素块620的一些纹理元素(纹理元素T0、T1、T2、T3、T6、T7、T11和T15)的权重的数据w0、w1、w2、w3、w4、w5、w6、w7。
可选地,虽然未示出,但是压缩器320产生包括形成纹理元素块的一些纹理元素的索引而不是形成纹理元素块的一些纹理元素的权重的压缩数据。例如,索引是用于选择多个预先计算的点颜色值中的任意一个的数据。可基于形成纹理元素块的纹理元素的至少一个代表值来计算点颜色值。至少一个代表值可包括如上示例所述的形成纹理元素块的纹理元素的纹理元素值的最大值ep0和最小值ep1(端点值)。此外,可通过各种方法计算点颜色值。
例如,当分配给索引的位数为2位时,可选择4个点颜色值中的一个,并且纹理元素具有根据索引选择的点颜色值。
压缩器320基于块图案确定将被计算索引的一些纹理元素,并仅计算确定的纹理元素的索引。因此,4×4的纹理元素块620的压缩数据包括指示块图案的数据、指示至少一个代表值的数据、以及指示一些纹理元素的索引的数据。
当如图5所示存在16种类型的块图案时,4位被分配给指示块图案的数据BP0。此外,8位被分配给指示一个代表值(端点)的数据,2位被分配给指示一个权重或索引的数据。
当在不使用块图案610的情况下针对包括在4×4的纹理元素块620中的所有的纹理元素计算权重或索引,并且计算的权重或索引被包括在压缩数据中时,32位(=2位×16)被用于权重或索引。相比之下,如图6所述,当基于块图案610仅针对包括在4×4的纹理元素块620中的16个纹理元素中的8个计算权重或索引,并且计算的权重或索引被包括在压缩数据中时,16位(=2位×8)被用于权重或索引。因此,用于压缩数据的位数减少了12位,即,通过仅计算8个纹理元素的权重或索引节省的16位减去当仅针对8个纹理元素计算权重或索引时块图案所需要的4位。
压缩器320可通过将与当未计算其他纹理元素T4、T5、T8、T9、T10、T12、T13和T14的权重或索引时节省的位对应的另外的位分配给指示至少一个代表值的数据位来增加代表值的数量。可选地,可通过将另外的位分配给指示块图案的数据位来增加块图案的类型的数量。可选地,另外的位可被分配给指示一些纹理元素的权重或索引的数据位以增加能被一些纹理元素的权重或索引所表示的值的数量。可选地,另外的位可被分配给指示至少一个代表值的数据位、指示块图案的数据位以及指示一些纹理元素的权重或索引的数据位中的任意两项或更多项。
当通过分配另外的位而增加代表值的数量或增加块图案的类型的数量或增加能被一些纹理元素的权重或索引所表示的值的数量时,可减少原始纹理与通过对纹理元素块进行解压缩获取的纹理之间的差。
此外,虽然图6示出基于块图案610通过仅计算包括在纹理元素块中的一些纹理元素的权重或索引的纹理元素块的压缩,但是如果未检测到各种类型的块图案之中的用于压缩纹理元素块的适当的块图案,则纹理压缩设备300计算包括在纹理元素块中的所有的纹理元素的权重或索引。在这种情况下,压缩数据包括指示至少一个代表值的数据和指示包括在纹理元素块中的所有的纹理元素的权重或索引。
纹理压缩设备300将压缩数据存储在存储器200中。
图7是纹理处理器130的示例的框图。
参照图7,纹理处理器130包括块图案提取器710和解压缩器720。
块图案提取器710从纹理处理器130内部或外部的存储器或GPU 100外部的存储器200接收纹理元素块的压缩数据,并提取包括在压缩数据中的块图案。例如,如图8所示,块图案提取器710通过对指示包括在压缩数据830中的块图案的数据BP0进行解码来提取块图案810。
解压缩器710基于提取的块图案对接收的压缩数据进行解压缩并获取形成纹理元素块的纹理元素的纹理元素值。参照图8详细描述当解压缩器710对压缩数据进行解压缩时获取纹理元素值的方法。
图8是用于描述在图7中示出的纹理处理器130中对压缩数据进行解压缩的方法的示例的参考图。
参照图8,解压缩器710对指示包括在压缩数据中的至少一个代表值的数据和指示权重或索引的数据进行解码,并获取形成纹理元素块的纹理元素的至少一个代表值和包括在纹理元素块中的一些纹理元素中的每个的权重或索引。在以下描述中,描述指示权重的数据被包括在压缩数据中的情况作为示例。
例如,解压缩器710包括用于对指示包括在压缩数据830中的至少一个代表值的数据ep0和ep1进行解码的代表值解析器(未示出),并且包括用于对指示包括在压缩数据中的权重的数据w0、w1、w2、w3、w4、w5、w6和w7进行解码的权重解析器(未示出)。因此,解压缩器710获取形成纹理元素块的纹理元素的至少一个代表值和包括在纹理元素块中的一些纹理元素中的每个的权重。
解压缩器710基于纹理元素块的块图案、形成纹理元素块的纹理元素的至少一个代表值以及包括在纹理元素块中的一些纹理元素中的每个的权重来计算形成纹理元素块的纹理元素T0、T1、T2、T3、T6、T7、T11和T15的纹理元素值。具体地,解压缩器710包括用于使用至少一个代表值和权重执行插值的插值单元(未示出),并产生形成纹理元素块的纹理元素T0、T1、T2、T3、T6、T7、T11和T15的纹理元素值。例如,使用代表值ep0和ep1以及第一纹理元素T0的权重w0根据等式T0=w0×ep0+(1-w0)×ep1计算第一纹理元素T0的纹理元素值。此外,解压缩器710可包括用于并行处理多个纹理元素值的多个插值单元。
此外,当压缩数据包括指示索引而非权重的数据时,解压缩器710对压缩数据进行解码并获取形成纹理元素块的一些纹理元素的索引。解压缩器710使用索引确定一些纹理元素的纹理元素值。例如,针对一些纹理元素中的每个,根据索引选择的点颜色值被确定为纹理元素值。
在计算一些纹理元素T0、T1、T2、T3、T6、T7、T11和T15(第一纹理元素)的纹理元素值之后,解压缩器710基于提取的块图案计算其他纹理元素T4、T5、T8、T9、T10、T12、T13和T14(第二纹理元素)的纹理元素值。
解压缩器710复制第一纹理元素的任意一个的纹理元素值作为第二纹理元素的任意一个的纹理元素值。在这种情况下,块图案810包括关于第一纹理元素的任意一个中的哪个的纹理元素值将被复制作为第二纹理元素的任意一个中的哪个的纹理元素值的信息。例如,当块图案810指示第一纹理元素中的第一纹理元素T0被映射到第二纹理元素中的第六纹理元素T5时,第一纹理元素T0的纹理元素值被复制作为第六纹理元素T5的纹理元素值。
可选地,解压缩器710通过对第一纹理元素的纹理元素值进行插值来计算第二纹理元素的纹理元素值。然而,这些仅是示例,解压缩器710可使用各种方法计算第二纹理元素的纹理元素值。
解压缩器710将获取的纹理元素值输出到着色器核120。
图9是纹理处理器的另一示例的框图。
参照图9,纹理处理器130包括控制器750、块图案提取器710、解压缩器720、纹理高速缓存730和纹理过滤器740。因为以上已经关于图7和图8描述了块图案提取器710和解压缩器720,所以在图9的描述中已省略该描述以避免重复。
控制器750控制纹理处理器130的总体操作和纹理处理器130的内部组成元件之间的信号流,并执行数据处理功能。
参照图1,着色器核120从纹理处理器130请求像素处理所需的纹理元素。因此,控制器750接收被着色器核120请求的纹理元素的纹理元素地址。控制器750首先确定请求的纹理元素是否被存储在纹理高速缓存730中。当请求的纹理元素未被存储在纹理高速缓存730中时,控制器750从纹理处理器130外部的存储器或GPU 100外部的存储器200请求关于包括请求的纹理元素的纹理元素块的压缩数据。
因此,纹理处理器130从GPU 100外部的存储器200接收压缩数据。
块图案提取器710基于接收到的压缩数据提取纹理元素块的块图案。
解压缩器720基于接收到的压缩纹理元素块获取形成纹理元素块的纹理元素的至少一个代表值和一些纹理元素的权重。解压缩器720基于获取的形成纹理元素块的纹理元素的至少一个代表值和一些纹理元素的权重计算一些纹理元素的纹理元素值。此外,解压缩器720基于计算的一些纹理元素的纹理元素值和提取的块图案计算其他纹理元素的纹理元素值。
纹理高速缓存730存储解压缩的纹理元素的纹理元素值。虽然图9示出解压缩器720对压缩数据进行解压缩并且获取的纹理元素值被存储在纹理高速缓存730中,但是纹理元素值可以以压缩数据的形式在不被解压缩的情况下被存储在纹理高速缓存730中。当请求存储在纹理高速缓存730中的压缩数据时,解压缩器720对请求的压缩数据进行解压缩并产生纹理元素值。
纹理过滤器740使用产生的纹理元素值执行纹理过滤。过滤纹理元素值通过混合(blending)纹理元素值得到与像素对应的颜色值。例如,通过获取包括在从纹理处理器130请求的纹理元素的纹理元素地址所指示的纹理空间的部分区域中的纹理元素值的平均值来得到与像素对应的颜色值。被纹理过滤器740过滤的纹理元素值响应于着色器核120的请求被发送到着色器核120。由纹理过滤器740执行的纹理过滤方法可以是各种过滤方法中的任意一个,诸如三线过滤(trilinear filtering)方法。
图10是压缩纹理元素块的方法的示例的流程图。
参照图10,纹理压缩设备300接收纹理元素块(S910)。
通过将形成纹理的纹理元素划分成纹理元素的块的单位来获取纹理元素块。纹理元素块可具有各种尺寸。当将纹理划分成纹理元素块时,包括在一个纹理元素块中的纹理元素值可具有对称属性。
纹理压缩设备300确定将被用于压缩纹理元素块的纹理元素块的块图案(S920)。
块图案是用于将形成纹理元素块的纹理元素分成将被压缩的纹理元素和将不被压缩的纹理元素的图案。
例如,块图案包括与形成纹理元素块的纹理元素对应的多个区域,并且这些区域被划分成灰色阴影的第一区域和无阴影的第二区域。第一区域对应于纹理元素块中的将被压缩的纹理元素,第二区域对应于纹理元素块中的将不被压缩的纹理元素。然而,这仅是示例,第一区域可对应于将不被压缩的纹理元素并且第二区域可对应于将被压缩的纹理元素。
纹理压缩设备300确定块图案之中的将被用于压缩输入纹理元素块的块图案。纹理压缩设备300选择块图案之中最能反映纹理元素块的对称属性的块图案。例如,纹理压缩设备300针对每个块图案计算对应于第一区域的纹理元素值的总和与对应于第二区域的纹理元素值的总和之间的差值,并选择具有最小差值的块图案。
纹理压缩设备300基于确定的块图案压缩纹理元素块,以获取压缩数据(S930)。
参照图11详细描述图10的操作S930。
图11是图10的操作S930的示例的流程图。
参照图11,纹理压缩设备300确定形成纹理元素块的纹理元素的至少一个代表值(S1010)。
例如,纹理压缩设备300将形成纹理元素块的纹理元素的纹理元素值的最大值和最小值(即,端点值)确定为代表值。然而,这仅是示例,可使用各种方法确定至少一个代表值。
当确定至少一个代表值时,纹理压缩设备300基于至少一个代表值计算形成纹理元素块的一些纹理元素的权重(S1020)。
纹理元素的权重是应用于至少一个代表值以表示纹理元素值的权重。例如,当T(纹理元素值)=w0×ep0(第一代表值)+w1×ep1(第二代表值)时,w0和w1是权重。纹理压缩设备300基于确定的块图案确定将被计算权重的一些纹理元素。例如,在包括在确定的块图案中的区域之中,仅针对与灰色阴影的区域(第一区域)对应的纹理元素计算权重。纹理压缩设备300产生包括纹理元素块的块图案、形成纹理元素块的纹理元素的至少一个代表值以及形成纹理元素块的一些纹理元素的权重的压缩数据。
此外,纹理压缩设备300确定是否分配另外的数据位(S1030)。
当形成纹理元素块的仅一些纹理元素的权重被计算并被包括在压缩数据中时,不需要与其他纹理元素的权重对应的位,这减少了将被包括在压缩数据中的数据位的数量。纹理压缩设备300确定是否将数量与不需要的位相等的另外的位分配给指示块图案的数据位、指示至少一个代表值的数据位以及指示一些纹理元素的权重的数据位中的任意两项或更多项。当确定将分配另外的数据位时,再次执行操作S1010和S1020,或再次执行图10的操作S920。
纹理压缩设备300将压缩数据输出到存储器200(S1040),并且存储器200存储压缩数据。
图12是对纹理元素块进行解压缩的方法的示例的流程图。
参照图12,纹理处理器130接收压缩数据(S1110)。例如,纹理处理器130从纹理处理器130内部或外部的存储器或GPU 100外部的存储器200接收通过压缩纹理元素块得到的压缩数据。
纹理处理器130提取包括在压缩数据中的块图案(S1120)。例如,纹理处理器130通过对指示包括在压缩数据中的块图案的数据进行解码来提取块图案。
纹理处理器130通过基于块图案对接收的压缩数据进行解压缩来获取形成纹理元素块的纹理元素的纹理元素值(S1130)。
参照图13详细描述图12的操作S1130。
图13是图12的操作S1130的示例的流程图。
参照图13,纹理处理器130通过对指示至少一个代表值的数据和指示包括在压缩数据中的权重的数据进行解码来获取形成纹理元素块的纹理元素的至少一个代表值和包括在纹理元素块中的一些纹理元素中的每个的权重(S1210)。
纹理处理器130基于纹理元素块的块图案、至少一个代表值和包括在纹理元素块中的一些纹理元素中的每个的权重来计算形成纹理元素块的一些纹理元素(第一纹理元素)的纹理元素值(S1220)。
在计算一些纹理元素(第一纹理元素)的纹理元素值之后,纹理处理器130基于块图案计算其他纹理元素(第二纹理元素)的纹理元素值(S1230)。
例如,纹理处理器130复制第一纹理元素中的任意一个的纹理元素值作为第二纹理元素中的任意一个的纹理元素值。在这种情况下,块图案包括关于第一纹理元素的任意一个中的哪个的纹理元素值被复制作为第二纹理元素的任意一个中的哪个的纹理元素值的信息。例如,当块图案指示第一纹理元素中的第一个纹理元素被映射到第二纹理元素中的第六个纹理元素时,第一个纹理元素的纹理元素值被复制作为第六个纹理元素的纹理元素值。
可选地,纹理处理器130通过对第一纹理元素的纹理元素值进行插值来计算第二纹理元素的纹理元素值。然而,这些仅是示例,纹理处理器130可使用各种方法计算第二纹理元素的纹理元素值。
因此,纹理处理器130获取形成纹理元素块的所有纹理元素的纹理元素值。
由硬件组件实现执行这里关于图1至图13描述的操作的以下组件:图1中的GPU100、光栅化器110、着色器核120、纹理处理器130、像素处理器140、图块缓冲器150和存储器200、图3中的纹理压缩设备300、块图案确定器310、压缩器320和存储器200、图7中的纹理处理器130、块图案提取器710、解压缩器720和存储器200以及图9中的纹理处理器130、块图案提取器710、解压缩器720、纹理高速缓存730、纹理过滤器740和控制器750。硬件组件的示例包括控制器、传感器、产生器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器和本领域普通技术人员公知的任何其他电子组件。在一个示例中,硬件组件由计算硬件(例如,由一个或更多个处理器或计算机)实现。处理器或计算机由一个或更多个处理元件(诸如逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微型计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器)或本领域普通技术人员公知的任何其他装置或装置的组合实现,这些装置或装置的组合能够以限定的方式响应并执行指令以得到期望的结果。在一个示例中,处理器或计算机包括或连接到存储被处理器或计算机执行的指令或软件的一个或更多个存储器。由处理器或计算机实现的硬件组件执行指令或软件(诸如操作系统(OS)和在OS上运行以执行这里关于图1至图13描述的操作的一个或更多个软件应用)。硬件组件还响应于指令或软件的执行来访问、操控、处理、创建和存储数据。为简单起见,在这里描述的示例的描述中可使用单数术语“处理器”或“计算机”,但是在其他示例中,使用多个处理器或计算机,或者一个处理器或计算机包括多个处理元件或多种类型的处理元件,或者应用以上两种形式。在一个示例中,硬件组件包括多个处理器,而在另一示例中,硬件组件包括一个处理器和一个控制器。硬件组件具有不同的处理配置中的任意一个或更多个处理配置,所述不同处理配置的示例包括单个处理器、独立处理器、并行处理器、单指令单数据(SISD)多处理、单指令多数据(SIMD)多处理、多指令单数据(MISD)多处理、以及多指令多数据(MIMD)多处理。
在图9至图13中示出的执行这里关于图1至图13描述的操作的方法由以上描述的执行指令或软件的计算硬件(例如,由一个或更多个处理器或计算机)来执行,以执行这里描述的操作。
控制处理器或计算机以实现硬件组件并执行如上所述的方法的指令或软件被写为计算机程序、代码段、指令或它们的任意组合,用于单独或共同指示或配置处理器或者计算机作为机器或专用计算机操作,以执行由硬件组件执行的操作和如上所述的方法。在一个示例中,指令或软件包括被处理器或计算机直接执行的机器代码(诸如由编译器产生的机器代码)。在另一示例中,指令或软件包括被处理器或计算机使用解释器执行的高级代码。本领域普通技术程序员能够容易地基于附图中示出的框图和流程图以及说明书中的对应描述来编写指令或软件,这些框图和流程图以及说明书中的对应描述公开了用于执行由硬件组件执行的操作和如上所述的方法的算法。
控制处理器或计算机以实现硬件组件并执行如上所述的方法的指令或软件、以及任何关联数据、数据文件和数据结构被记录、存储或固定在一个或更多个非暂时性计算机可读存储介质中或介质上。非暂时性计算机可读存储介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、闪存、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及本领域普通技术人员公知的任何装置,所述本领域普通技术人员公知的任何装置能够以非暂时性方式存储指令或软件以及任何关联数据、数据文件和数据结构,并能向处理器或计算机提供指令或软件以及任何关联数据、数据文件和数据结构,以使处理器或计算机能执行指令。在一个示例中,指令或软件以及任何关联数据、数据文件和数据结构被分布于联网的计算机系统上,以使指令和软件以及任何关联数据、数据文件和数据结构被处理器或计算机以分布方式存储、访问和执行。
虽然本公开包括具体示例,但是本领域普通技术人员将清楚,在不脱离权利要求及其等同物的精神和范围的情况下,可以对这些示例进行形式和细节上的各种改变。这里描述的示例被认为仅具有描述性意义,而不用于限制的目的。每个示例中的特征或方面的描述将被认为可适用于其他示例中的类似特征或方面。如果以不同的次序执行描述的技术和/或如果描述的系统、架构、装置或电路中的组件以不同的方式组合和/或被其他组件及其等同物替换或补充,则可得到合适的结果。因此,本公开的范围不是由具体实施方式限定,而是由权利要求及其等同物限定,并且权利要求及其等同物的范围内的所有变化将被解释为包括在本公开中。
Claims (22)
1.一种压缩纹理的方法,所述方法包括:
接收通过将形成纹理的纹理元素划分成纹理元素的块的单元而获取的纹理元素块;
确定纹理元素块的块图案;
基于块图案来压缩纹理元素块。
2.如权利要求1所述的方法,其中,块图案是用于将形成纹理元素块的纹理元素分成第一纹理元素和第二纹理元素的图案,其中,第一纹理元素的权重或索引将被计算,第二纹理元素的权重或索引将不被计算。
3.如权利要求2所述的方法,其中,确定纹理元素块的块图案的步骤包括:
针对多个块图案中的每个块图案计算第一纹理元素的纹理元素值与第二纹理元素的纹理元素值之间的差值;
将所述多个块图案之中具有最小差值的块图案确定为纹理元素块的块图案。
4.如权利要求2所述的方法,其中,压缩纹理元素块的步骤包括:
确定形成纹理元素块的纹理元素的至少一个代表值;
基于所述至少一个代表值计算第一纹理元素的权重或索引。
5.如权利要求4所述的方法,其中,压缩纹理元素块的步骤还包括:产生包括块图案、所述至少一个代表值以及第一纹理元素的权重或索引的压缩数据。
6.如权利要求5所述的方法,其中,产生压缩数据的步骤包括通过以下操作来产生压缩数据:
分配用于指示块图案、所述至少一个代表值以及第一纹理元素的权重或索引的数据位;
将另外的数据位分配给指示块图案的数据位、指示所述至少一个代表值的数据位、以及指示第一纹理元素的权重或索引的数据位中的任意一项或更多项,其中,所述另外的数据位本来将被分配用于指示第二纹理元素中的已被计算了第二纹理元素的权重或索引的至少一些第二纹理元素的权重或索引。
7.如权利要求1所述的方法,其中,形成纹理元素块的纹理元素在块图案中具有对称属性。
8.一种处理纹理的方法,所述方法包括:
接收通过以纹理元素的块为单位压缩形成纹理的纹理元素而获取的压缩数据;
提取包括在压缩数据中的块图案;
通过基于块图案对压缩数据进行解压缩来获取形成纹理元素块的纹理元素。
9.如权利要求8所述的方法,其中,块图案是用于将形成纹理元素块的纹理元素分成第一纹理元素和第二纹理元素的图案。
10.如权利要求9所述的方法,其中,获取纹理元素的步骤包括:
基于压缩数据获取形成纹理元素块的纹理元素的至少一个代表值和第一纹理元素的权重或索引;
基于块图案、所述至少一个代表值以及第一纹理元素的权重或索引获取第一纹理元素的纹理元素值;
基于块图案和第一纹理元素的纹理元素值获取第二纹理元素的纹理元素值。
11.如权利要求10所述的方法,其中,获取第二纹理元素的纹理元素值的步骤包括:通过基于块图案复制第一纹理元素的纹理元素值中的一个纹理元素值来获取第二纹理元素的纹理元素值中的相应的一个纹理元素值。
12.一种用于压缩纹理的设备,所述设备包括:
块图案确定器,被配置为接收通过将形成纹理的纹理元素划分成纹理元素的块的单元而获取的纹理元素块,并确定纹理元素块的块图案;
压缩器,被配置为基于块图案压缩纹理元素块。
13.如权利要求12所述的设备,其中,块图案是用于将形成纹理元素块的纹理元素分成第一纹理元素和第二纹理元素的图案,其中,第一纹理元素的权重或索引将被计算,第二纹理元素的权重或索引将不被计算。
14.如权利要求13所述的设备,其中,块图案确定器还被配置为:针对多个块图案中的每个块图案计算第一纹理元素的纹理元素值与第二纹理元素的纹理元素值之间的差值,并将所述多个块图案之中具有最小差值的块图案确定为纹理元素块的块图案。
15.如权利要求13所述的设备,其中,压缩器还被配置为:确定形成纹理元素块的纹理元素的至少一个代表值,并基于所述至少一个代表值计算第一纹理元素的权重或索引。
16.如权利要求15所述的设备,其中,压缩器还被配置为:产生包括块图案、所述至少一个代表值以及第一纹理元素的权重或索引的压缩数据。
17.如权利要求16所述的设备,其中,压缩器还被配置为通过以下操作来产生压缩数据:
分配用于指示块图案、所述至少一个代表值以及第一纹理元素的权重或索引的数据位;
将另外的数据位分配给指示块图案的数据位、指示所述至少一个代表值的数据位、以及指示第一纹理元素的权重或索引的数据位中的任意一项或更多项,其中,所述另外的数据位本来将被分配用于指示第二纹理元素中的已被计算了第二纹理元素的权重或索引的至少一些第二纹理元素的权重或索引。
18.如权利要求12所述的设备,其中,形成纹理元素块的纹理元素在块图案中具有对称属性。
19.一种纹理处理器,包括:
块图案提取器,被配置为接收通过以纹理元素的块为单位压缩形成纹理的纹理元素而获取的压缩数据,并提取包括在压缩数据中的块图案;
解压缩器,被配置为通过基于块图案对压缩数据进行解压缩来获取形成纹理元素块的纹理元素。
20.如权利要求19所述的纹理处理器,其中,块图案是用于将形成纹理元素块的纹理元素分成第一纹理元素和第二纹理元素的图案。
21.如权利要求20所述的纹理处理器,其中,解压缩器还被配置为:
基于压缩数据获取形成纹理元素块的纹理元素的至少一个代表值和第一纹理元素的权重或索引;
基于块图案、所述至少一个代表值以及第一纹理元素的权重或索引获取第一纹理元素的纹理元素值;
基于块图案和第一纹理元素的纹理元素值获取第二纹理元素的纹理元素值。
22.如权利要求21所述的纹理处理器,其中,解压缩器还被配置为:通过基于块图案复制第一纹理元素的纹理元素值中的一个纹理元素值来获取第二纹理元素的纹理元素值中的相应的一个纹理元素值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150133886A KR102477264B1 (ko) | 2015-09-22 | 2015-09-22 | 텍스쳐를 처리하는 방법 및 장치 |
KR10-2015-0133886 | 2015-09-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106548498A true CN106548498A (zh) | 2017-03-29 |
CN106548498B CN106548498B (zh) | 2021-07-20 |
Family
ID=56997345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610842915.6A Active CN106548498B (zh) | 2015-09-22 | 2016-09-22 | 用于处理压缩纹理的方法和设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10068353B2 (zh) |
EP (1) | EP3147865A1 (zh) |
JP (1) | JP6782593B2 (zh) |
KR (1) | KR102477264B1 (zh) |
CN (1) | CN106548498B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108022282A (zh) * | 2016-11-02 | 2018-05-11 | 三星电子株式会社 | 纹理处理方法和单元 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9378560B2 (en) * | 2011-06-17 | 2016-06-28 | Advanced Micro Devices, Inc. | Real time on-chip texture decompression using shader processors |
US10535114B2 (en) * | 2015-08-18 | 2020-01-14 | Nvidia Corporation | Controlling multi-pass rendering sequences in a cache tiling architecture |
KR102507669B1 (ko) * | 2017-10-18 | 2023-03-09 | 삼성전자주식회사 | 전자 장치 및 그의 제어방법 |
KR102489266B1 (ko) | 2018-08-13 | 2023-01-17 | 엘지전자 주식회사 | 모바일 디바이스 및 그 제어 방법 |
US11069023B2 (en) * | 2019-05-24 | 2021-07-20 | Nvidia Corporation | Techniques for efficiently accessing memory and avoiding unnecessary computations |
CN110458922B (zh) * | 2019-08-14 | 2022-12-27 | 深圳市商汤科技有限公司 | 图形渲染方法及相关产品 |
US11704860B2 (en) | 2021-05-14 | 2023-07-18 | Nvidia Corporation | Accelerated processing via a physically based rendering engine |
US11908064B2 (en) | 2021-05-14 | 2024-02-20 | Nvidia Corporation | Accelerated processing via a physically based rendering engine |
US11830123B2 (en) | 2021-05-14 | 2023-11-28 | Nvidia Corporation | Accelerated processing via a physically based rendering engine |
US11875444B2 (en) * | 2021-05-14 | 2024-01-16 | Nvidia Corporation | Accelerated processing via a physically based rendering engine |
US11853764B2 (en) | 2021-05-14 | 2023-12-26 | Nvidia Corporation | Accelerated processing via a physically based rendering engine |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101563926A (zh) * | 2006-12-18 | 2009-10-21 | 皇家飞利浦电子股份有限公司 | 图像压缩与解压缩 |
CN102368329A (zh) * | 2011-10-24 | 2012-03-07 | 龙芯中科技术有限公司 | 图形系统中纹理图像透明度通道处理系统与装置和方法 |
CN102521848A (zh) * | 2005-03-04 | 2012-06-27 | Arm挪威股份有限公司 | 用于编码数据的方法和设备 |
CN102708574A (zh) * | 2011-02-25 | 2012-10-03 | 奥多比公司 | 图像数据的压缩 |
US20120281005A1 (en) * | 2011-05-05 | 2012-11-08 | Jorn Nystad | Method Of And Apparatus For Encoding And Decoding Data |
US20130084018A1 (en) * | 2011-09-30 | 2013-04-04 | Arm Limited | Method of and apparatus for encoding data |
CN103533364A (zh) * | 2012-07-04 | 2014-01-22 | Arm有限公司 | 进行数据编码和解码的方法和设备 |
CN103886623A (zh) * | 2012-12-19 | 2014-06-25 | 华为技术有限公司 | 一种图像压缩方法、设备及系统 |
CN104050688A (zh) * | 2013-03-15 | 2014-09-17 | Arm有限公司 | 对数据进行编码和解码的方法和设备 |
CN104869425A (zh) * | 2015-05-13 | 2015-08-26 | 信阳师范学院 | 一种基于纹理图像相似性的压缩和解压缩方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100490885B1 (ko) * | 2002-04-17 | 2005-05-19 | 중앙대학교 산학협력단 | 직각 교차 실린더를 이용한 영상기반 렌더링 방법 |
US6940511B2 (en) * | 2002-06-07 | 2005-09-06 | Telefonaktiebolaget L M Ericsson (Publ) | Graphics texture processing methods, apparatus and computer program products using texture compression, block overlapping and/or texture filtering |
JP4044069B2 (ja) * | 2004-04-23 | 2008-02-06 | 株式会社ソニー・コンピュータエンタテインメント | テクスチャ処理装置、テクスチャ処理方法および画像処理装置 |
US7852916B2 (en) | 2004-06-27 | 2010-12-14 | Apple Inc. | Efficient use of storage in encoding and decoding video data streams |
KR100648923B1 (ko) | 2004-12-14 | 2006-11-28 | 삼성전자주식회사 | 화상형성 시스템 및 화상형성 방법 |
KR100781833B1 (ko) | 2006-03-29 | 2007-12-03 | 주식회사 팬택 | 컬러 데이터의 압축 방법 |
CA2758262C (en) | 2009-04-08 | 2016-09-13 | Watchitoo, Inc. | System and method for image compression |
GB2507127B (en) * | 2012-10-22 | 2014-10-08 | Gurulogic Microsystems Oy | Encoder, decoder and method |
-
2015
- 2015-09-22 KR KR1020150133886A patent/KR102477264B1/ko active IP Right Grant
-
2016
- 2016-09-21 JP JP2016184078A patent/JP6782593B2/ja active Active
- 2016-09-22 CN CN201610842915.6A patent/CN106548498B/zh active Active
- 2016-09-22 EP EP16190155.8A patent/EP3147865A1/en active Pending
- 2016-09-22 US US15/272,732 patent/US10068353B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521848A (zh) * | 2005-03-04 | 2012-06-27 | Arm挪威股份有限公司 | 用于编码数据的方法和设备 |
CN101563926A (zh) * | 2006-12-18 | 2009-10-21 | 皇家飞利浦电子股份有限公司 | 图像压缩与解压缩 |
CN102708574A (zh) * | 2011-02-25 | 2012-10-03 | 奥多比公司 | 图像数据的压缩 |
US20120281005A1 (en) * | 2011-05-05 | 2012-11-08 | Jorn Nystad | Method Of And Apparatus For Encoding And Decoding Data |
US20130084018A1 (en) * | 2011-09-30 | 2013-04-04 | Arm Limited | Method of and apparatus for encoding data |
CN102368329A (zh) * | 2011-10-24 | 2012-03-07 | 龙芯中科技术有限公司 | 图形系统中纹理图像透明度通道处理系统与装置和方法 |
CN103533364A (zh) * | 2012-07-04 | 2014-01-22 | Arm有限公司 | 进行数据编码和解码的方法和设备 |
CN103886623A (zh) * | 2012-12-19 | 2014-06-25 | 华为技术有限公司 | 一种图像压缩方法、设备及系统 |
CN104050688A (zh) * | 2013-03-15 | 2014-09-17 | Arm有限公司 | 对数据进行编码和解码的方法和设备 |
CN104869425A (zh) * | 2015-05-13 | 2015-08-26 | 信阳师范学院 | 一种基于纹理图像相似性的压缩和解压缩方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108022282A (zh) * | 2016-11-02 | 2018-05-11 | 三星电子株式会社 | 纹理处理方法和单元 |
CN108022282B (zh) * | 2016-11-02 | 2021-12-28 | 三星电子株式会社 | 纹理处理方法和单元 |
Also Published As
Publication number | Publication date |
---|---|
US10068353B2 (en) | 2018-09-04 |
KR102477264B1 (ko) | 2022-12-13 |
KR20170035154A (ko) | 2017-03-30 |
JP6782593B2 (ja) | 2020-11-11 |
EP3147865A1 (en) | 2017-03-29 |
JP2017063418A (ja) | 2017-03-30 |
US20170084055A1 (en) | 2017-03-23 |
CN106548498B (zh) | 2021-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106548498A (zh) | 用于处理压缩纹理的方法和设备 | |
CN106408634B (zh) | 纹理处理设备和方法 | |
US10152765B2 (en) | Texture processing method and unit | |
JP2020113301A (ja) | 非正規直交グリッドへのテクスチャマッピングのためのグラデーションの調整 | |
JP4987988B2 (ja) | 画像の圧縮及び/又は復元 | |
JP7266021B2 (ja) | 可変レートシェーディング | |
JPH0785290A (ja) | グラフィック多角形をクリップ領域にクリップする方法および装置 | |
CN108024115B (zh) | 纹理压缩方法和设备以及纹理解压缩方法和设备 | |
US11715253B2 (en) | Pixelation optimized delta color compression | |
CN107016716B (zh) | 确定细节级别的图形处理设备和方法 | |
US9858708B2 (en) | Convex polygon clipping during rendering | |
US20150145858A1 (en) | Method and apparatus to process current command using previous command information | |
WO2019088865A1 (ru) | Способ и система удаления невидимых поверхностей трёхмерной сцены | |
US20210358174A1 (en) | Method and apparatus of data compression | |
US11030791B2 (en) | Centroid selection for variable rate shading | |
US20160267701A1 (en) | Apparatus and method of rendering frame by adjusting processing sequence of draw commands | |
US11776179B2 (en) | Rendering scalable multicolored vector content | |
US20230186523A1 (en) | Method and system for integrating compression |
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 |