对编码纹理元素块进行操作的解码系统和方法技术方案

技术编号:7791323 阅读:222 留言:0更新日期:2012-09-22 08:26
一种解码系统(1),包括:N个不同的解码器(100、200、300、400),每个解码器具有与其他N-1个解码器的电路不同的电路。每个解码器(100、200、300、400)基于输入编码纹素块(40)产生至少一个纹素值。值选择器(500)被配置为:基于至少N个纹素值(30-36)的位置,从解码器(100、200、300、400)中的至少一个选择性地输出所述至少N个纹素值,所述至少N个纹素值(30-36)的所述位置与包括所述至少N个纹素(30-36)中的至少一个的纹素块(10)的边界相关。像素计算器(600)基于来自值选择器(500)的所述至少N个纹素值来计算解码像素的像素值。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术大体上涉及解码,更具体地,涉及可。
技术介绍
当试图提高图形处理单元(GPU)的性能时,一种解决方案是应用各种技术来降低存储器带宽消耗。由于针对处理能力的性能增长率远大于针对带宽的性能增长率、以及针对随机访问存储器(RAM)的延迟,带宽降低的重要性也正日益増加。纹理压缩是降低带宽需求的ー种流行方式。通过在存储器中存储压缩形式的纹理,并在总线上传递压缩数据块,实质上减小纹理带宽。目前,使用最多的纹理压缩系统是针对基于Windows的系统和Xbox的DXTC[I]、以及针对移动手机的ETC[2]。这些系统均将图像、解码纹理划分为4X4纹素的纹理元素(纹·素)块,然后将纹素的红、緑、蓝(RGB)数据从(8+8+8) X 16 = 384比特压缩到64比持。因而,向每个纹素块赋予相同数量的比持。这很重要,因为用于解压的光栅化会需要访问纹理的任意部分,并需要能够容易地计算期望纹素块的存储器地址。換言之,非常期望固定速率的编解码(即,每个纹素块占据相同存储空间量的编解码),这是当前纹理压缩算法中的典范。ETC解码器的开发产生了所谓ETC2解码器[3],它具有处理所谓T模式、H模式和PLANAR模式的额外功能。T模式和H模式分别被设计为处理具有非均匀分布顔色的纹素块、以及被分为两组的顔色。可以很大程度地再用ETC解码器的硬件电路,以包括另外的T模式和H模式。PLANAR模式与ETC和T模式和H模式非常不同,并且被设计为处理具有平滑颜色变换的纹素块。PLANAR模式的复杂硬件电路将意味着,ETC2解码器的复杂度与ETC解码器相比显著增加。因此,需要提供PLANAR模式的有效实施方式,具体地,这种实施方式可以被提供为使用成本有效电路的硬件实施方式。尤其在PLANAR模式要与ETC解码器和T模式和H模式一起使用以形成ETC2解码器的情况下,特别期望这种成本有效电路本领域中通常也会出现类似的问题,S卩,存在对为了降低实施方式复杂度而应用于解码系统的技术的一般性需求。
技术实现思路
本专利技术的总体目的是提供对编码纹理块的有效解码。本专利技术的特定目的是提供一种可以有效地以硬件实现的解码结构。通过这里所公开的实施例来实现这些和其他目的。简言之,本专利技术的实施例涉及ー种用于基于至少一个编码纹素块来产生解码像素的解码系统。所述解码系统包括N个并行解码器,每个并行解码器被配置为对编码纹素块进行解码,以产生ー个或多个纹素值。根据该实施例,N个解码器的电路彼此不同,从而N个解码器中的每个解码器具有与其他N-I个解码器的电路不同的独特电路。这使得解码器电路能够具有不同的复杂度级别,因为解码器在所处理的纹素块内的纹素位置方面具有不同能力。所述解码器系统还包括与N个解码器连接的值选择器,并被配置为选择性地输出N个纹素值。进ー步,从N个解码器中的一个或多个解码器输出这N个纹素值。特定纹素值从哪个(哪些)解码器输出取决于具有N个纹素值的N个纹素的片的位置,所述位置与包括N个纹素中的至少ー个的纹素块相关。换言之,纹理的N个纹素相关纹素块边界的位置指示通过值选择器选择并被进ー步转发到像素计算器的解码器输出。像素计算器被配置为基于值选择器选择性输出的N个纹素值来计算解码像素值。值选择器的仔细选择实现了所述解码器的设计,使得N个解码器中的至少ー些与其他解码器相比可以具有不太复杂的电路。这可以通过将ー些解码器限制为仅能够对纹素块内特定纹素位置的纹素值进行解码和输出来实现。因而,N个解码器不需要具有相同的电路,而是需要在每个电路的硬件结构方面具有不同复杂度级别的不同电路。 本专利技术的实施例定义了一种用于通过对至少ー个编码纹素块进行解码来产生像素的方法。所述方法包括从N个不同解码器中的至少ー个选择性地输出N个纹素值,每个解码器具有独特且与其他N-I个解码器的电路不同的电路。每个解码器还基于输入的编码纹素块来输出至少ー个纹素值。基干与N个纹素值相关联的N个纹素的位置来执行从N个解码器对纹素值的选择,以用于计算像素的像素值来解码,N个纹素值的位置与纹素块的边界相关。然后,使用所选的N个纹素值来计算像素值。本专利技术的实施例能够通过降低并行至少ー些解码器所需的复杂度来有效地实现像素解码结构。从而,与现有技术中的具有N个相同的并行解码器相比,降低了解码结构的总見杂度。附图说明可以通过结合附图来參照以下具体描述来最佳地理解本专利技术及其其他目的和优点,其中图IA至ID示出了双线性片相关纹素块边界的不同位置;图2是包括根据实施例的解码系统的解码设置的示意图;图3是根据实施例的解码系统的图示; 图4示意性地示出根据实施例的解码纹素块;图5示出了采用纹素块中纹素特性的平面逼近的概念;图6是图3中第四解码器的硬件实施方式示例;图7是图3中第三解码器的硬件实施方式示例;图8是图3中第二解码器的硬件实施方式示例;图9是图3中第一解码器的硬件实施方式示例;图10是七到八比特扩展器的硬件实施方式示例;图11是箝位器的ー种硬件实施方式;图12是箝位器的另ー种硬件实施方式;图13是图3的值选择器的硬件实施方式示例;以及图14是示出了根据本专利技术实施例的解码方法的流程图。具体实施例方式在全部附图中,相同的參考数字用于表示类似或对应的元件。实施例大体涉及以产生解码像素值为目的的编码或压缩纹理元素(纹素)块的解码或解压。解码非常适于与三维(3D)图形一起使用,如,游戏、3D地图和场景、3D消息(例如,动画消息)、屏幕保护、人机接ロ(MMI)等,但不限于此。因此,实施例也可以用于对其他 类型的图像或图形进行解码,如,ー维(ID)、ニ维(2D)或3D图像。3D图形呈现过程典型包括三个子阶段。简言之,第一阶段(应用阶段),创建多个三角形。在第二阶段(几何阶段),将这些三角形的角变形、投影并点亮。在第三阶段(光栅化阶段),通常表示纹理的图像可以被“粘”在三角形上,増加了所呈现的图像的真实性。第三阶段还使用z缓冲器执行分类。然而,纹理(尤其是3D图像和图形)的呈现在图形系统所需的存储器带宽和处理能力方面是计算上昂贵的任务。例如,纹理在存储器方面(纹理必须被放置在快速芯片上存储器上)和存储器带宽方面(纹理可以被多次访问以绘出单个像素)都是昂贵的。有吋,为了绘出像素,可能需要多个纹理。为了降低带宽和处理能力需求,典型地采用纹理编码方法或系统。这种编码系统应导致在呈现期间昂贵芯片上存储器的更有效使用和较低存储器带宽,因而导致较低功耗和/或较快呈现。带宽和处理能力需求对于诸如移动单元和电话之类的具有小存储量、小存储带宽和有限能量(即,电池供电)的瘦客户端来说尤其重要。在本领域,纹理被分为所谓纹素块,每个纹素块包括多个纹素。这种纹素块典型为矩形或方形,如MKXM。纹素大小,其中Μκ、M。是不同时为I的正整数。优选地,Mk = 2mK及Mc = 2m。,其中ηικ、ηι。是正整数。在典型的实施方式中Mk = Μ。,优选块实施例可以是4X4纹素。在本领域,有时采用像素或图像元素来表示纹理的纹理元素。但是在以下描述中,采用纹素来表示纹理的纹理元素,像素用于表示结合光栅化,根据这样的纹素产生的画面元素。纹素与纹素值相关联,像素与像素值相关联。有利地,纹素和像素值可以是颜色值。颜色值可以以各种颜色格式表示,如红、緑、蓝(RGB本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2009.11.24 US 61/263,922;2009.12.03 US 61/266,3161.一种用于基于至少一个编码纹素块(40)来产生解码像素的解码系统(I),包括 N个不同的解码器(100、200、300、400),每个解码器具有与其他N-I个解码器的电路不同的电路,且被配置为对编码纹素块(40)进行解码,以产生至少ー个相应的纹素值; 与所述N个解码器(100、200、300、400)连接的值选择器(500),被配置为基于与至少N个纹素值相关联的至少N个纹素(30-36)的位置,从所述N个解码器(100、200、300、400)中的至少ー个选择性地输出所述至少N个纹素值,所述至少N个纹素的所述位置与包括所述至少N个纹素(30-36)中的至少ー个的纹素块(10)的边界相关;以及 像素计算器¢00),被配置为基于所述值选择器(500)选择性输出的所述至少N个纹素值来计算所述解码像素的解码像素值。2.根据权利要求I所述的解码系统,其中所述值选择器(500)被配置为如果与所述N个纹素值相关联的N个纹素(30-36)位于纹素块(10)的所述边界内,则从所述N个解码器(100、200、300、400)中的第一解码器(100)选择性地输出N个纹素值。3.根据权利要求I或2所述的解码系统,其中所述值选择器(500)被配置为如果与所述N个纹素值相关联的N个纹素(30-36)中的一半位于所述纹素块(10)的所述边界内,以及所述N个纹素(30-36)的一半位于相邻纹素块(12、14)的边界内,则从所述N个解码器(100、200、300、400)中的第一解码器(100)选择性地输出所述N个纹素值中的一半,并从所述N个解码器(100、200、300、400)中的第二解码器(200)选择性地输出所述N个纹素值中的另一半。4.根据权利要求I至3之一所述的解码系统,其中N等于4,以及所述值选择器(500)被配置为如果所述4个纹素(30-36)之一位于所述纹素块(10)的所述边界内,以及其他3个纹素中的每ー个位于相应的相邻纹素块(12、14、16)的边界内,则从所述4个解码器(100、200、300、400)中的第一解码器(100)选择性地输出所述4个纹素值中的第一纹素值,从所述4个解码器(100、200、300、400)中的第二解码器(200)选择性地输出所述4个纹素值中的第二纹素值,从所述4个解码器(100、200、300、400)中的第三解码器(300)选择性地输出所述4个纹素值中的第三纹素值,以及从所述4个解码器(100、200、300、400)中的第四解码器(400)选择性地输出所述4个纹素值中的第四纹素值。5.根据权利要求I到4之一所述的解码系统,其中N等于4,以及 所述4个解码器(100、200、300、400)中的第一解码器(100)具有第一电路,并被配置为对编码纹素块(40)进行解码以产生四个纹素值; 所述4个解码器(100、200、300、400)中的第二解码器(200)具有第二电路,并被配置为对编码纹素块(40)进行解码以产生两个纹素值; 所述4个解码器(100、200、300、400)中的第三解码器(300)具有第三电路,并被配置为对编码纹素块(40)进行解码以产生ー个纹素值;以及 所述4个解码器(100、200、300、400)中的第四解码器(400)具有第四电路,并被配置为对编码纹素块(40)进行解码以产生ー个纹素值。6.根据权利要求I到5之一所述的解码系统,其中所述编码纹素块(40)包括第一顔色码字(41、44、47)、第二颜色码字(42、45、48)、以及第三颜色码字(43、46、49)。7.根据权利要求5或6所述的解码系统,其中所述第四解码器(400)包括至少一条线,用于输出所述第一颜色码字(41、44、47)。8.根据权利要求6或7所述的解码系统,其中所述第三解码器(300)包括 左移位运算器(310),被配置为将与所述第二颜色码字(42、45、48)相对应的比特序列向左移位一个比特位置,以形成左移位比特序列; 进位被设置为I的第一加法器(320),与所述左移位运算器(310)连接,并被配置为将所述第二颜色码字(42、45、48)和所述左移位比特序列相加; 进位被设置为I的第二加法器(322),与所述第一加法器(320)连接,并被配置为将所述第一加法器(320)的输出与所述第一颜色码字(41、44、47)相加;以及 与所述第二加法器(322)连接的右移位运算器(330),被配置为将与所述第二加法器(322)的输出相对应的比特序列向右移位两个比特位置,以形成右移位比特序列。9.根据权利要求6到8之一所述的解码系统,其中所述第二解码器(200)包括 第一多路复用器(250),被配置为基于四个纹素(30-36)中的一半是位于所述纹素块(10)的所述边界内的一行还是一列中,输出所述第二颜色码字(42、45、48)和所述第三颜色码字(43、46、49)之一; 非运算器(240),被配置为对所述第一颜色码字(41、44、47)求逻辑非; 与所述第一多路复用器(250)和所述非运算器(240)连接的第一加法器(220),被配置为将所述第一多路复用器(250)的输出与所述逻辑非第一颜色码字相加; 与所述第一加法器(220)连接的左移位运算器(210),被配置为将与所述第一加法器(220)的输出相对应的比特序列向左移位一个比特位置,以形成左移位比特序列; 第二多路复用器(252),被配置为基于四个纹素(30-36)中的所述一半是位于所述纹素块(10)的所述边界内的一行还是一列中,输出纹素(32、24)的行坐标和列坐标之一; 与所述左移位运算器(210)和所述第一加法器(220)连接的第三多路复用器(254),被配置为基于所述第二多路复用器(252)的输出的最高有效比特,输出所述第一加法器(220)的输出和所述左移位比特序列之一; 与所述第二多路复用器(252)连接的或运算器(260),被配置为接收所述第二多路复用器(252)的所述输出的所述最高有效比特和所述第二多路复用器的所述输出的最低有效比特; 与所述第三多路复用器(254)和所述或运算器(260)连接的与运算器(270),被配置为接收所述第三多路复用器(254)的输出和所述或运算器(260)的输出; 与所述与运算器(270)连接的第二加法器(222),被配置为将所述与运算器(270)的输出与以10ニ作为所述第一颜色码字(41、44、47)之后的两个最低有效比特的比特序列相加; 与所述第一加法器(220)和所述第二加法器(222)连接的第三加法器(224),被配置为将所述第一加法器(220)的所述输出与所述第二加法器(222)的输出相加; 与所述第三加法器(224)连接的第一右移位运算器(230),被配置为将与所述第三加法器(224)的输出相对应的比特序列向右移位两个比特位置,以形成第一右移位序列;与所述第二加法器(222)连接的第二右移位运算器(232),被配置为将与所述第二加法器(222)的所述输出相对应的比特序列向右移位两个比特位置,以形成第二右移位序列。10.根据权利要求6到8之一所述的解码系统,其中所述第二解码器(200)包括第一多路复用器(250),被配置为基于四个纹素(30-36)中的一半是位于所述纹素块(10)的所述边界内的一行还是一列中,输出所述第二颜色码字(42、45、48)和所述第三颜色码字(43、46、49)之一; 非运算器,被配置为对所述第一颜色码字(41、44、47)求逻辑非; 与所述第一多路复用器(250)和所述非运算器连接的、进位被设置为I的第一加法器(220),被配置为将所述第一多路复用器(250)的输出与所述逻辑非第一颜色码字相加;与所述第一加法器(220)连接的左移位运算器(210),被配置为将与所述第一加法器(220)的输出相对应的比特序列向左移位一个比特位置,以形成左移位比特序列; 第二多路复用器(252),被配置为基于四个纹素(30-36)中的所述一半是位于所述纹素块(10)的所述边界内的一行还是一列中,输出纹素(32、24)的行坐标和列坐标之ー; 与所述左移位运算器(210)和所述第一加法器(220)连接的第三多路复用器(254),被配置为基于所述第二多路复用器(252)的输出的最高有效比特,输出所述第一加法器(220)的所述输出和所述左移位比特序列之一; 与所述第二多路复用器(252)连接的或运算器(260),被配置为接收所述第二多路复用器(252)的所述输出的所述最高有效比特和所述第二多路复用器的所述输出的最低有效比特; 与所述第三多路复用器(254)和所述或运算器(260)连接的与运算器(270),被配置为接收所述第三多路复用器(254)的输出和所述或运算器(260)的输出; 与所述与运算器(270)连接的第二加法器(222),被配置为将所述与运算器(270)的输出与以10ニ作为所述第一颜色码字(41、44、47)之后的两个最低有效比特的比特序列相加; 与所述第一加法器(220)和所述第二加法器(222)连接的第三加法器(224),被配置为将所述第一加法器(220)的所述输出与所述第二加法器(222)的输出相加; 与所述第三加法器(224)连接的第一右移位运算器(230),被配置为将与所述第三加法器(224)的输出相对应的比特序列向右移位两个比特位置,以形成第一右移位序列;与所述第二加法器(222)连接的第二右移位运算器(232),被配置为将与所述第二加法器(222)的所述输出相对应的比特序列向右移位两个比特位置,以形成第二右移位序列。11.根据权利要求6到10之一所述的解码系统,其中所述第一解码器(100)包括 非运算器(140),被配置为对所述第一颜色码字(41、44、47)求逻辑非; 与所述非运算器(140)连接的第一加法器(120),被配置为将所述第二颜色码字(42、·45.48)与所述逻辑非第一颜色码字相加; 与所述非运算器(140)连接的第二加法器(122),被配置为将所述第三颜色码字(43、·46.49)与所述逻辑非第一颜色码字相加; 与所述第一加法器(120)连接的第一左移位运算器(110),被配置为将与所述第一加法器(120)的输出相对应的比特序列向左移位一个比特位置,以形成第一左移位比特序列; 与所述第二加法器(122)连接的第二左移位运算器(112),被配置为将与所述第二加法器(122)的输出相对应的比特序列向左移位一个比特位置,以形成第二左移位比特序列; 与所述...

【专利技术属性】
技术研发人员:雅各布·斯特罗姆
申请(专利权)人:瑞典爱立信有限公司
类型:发明
国别省市:

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

1