CN102113305A - 高动态范围纹理压缩 - Google Patents

高动态范围纹理压缩 Download PDF

Info

Publication number
CN102113305A
CN102113305A CN2009801311202A CN200980131120A CN102113305A CN 102113305 A CN102113305 A CN 102113305A CN 2009801311202 A CN2009801311202 A CN 2009801311202A CN 200980131120 A CN200980131120 A CN 200980131120A CN 102113305 A CN102113305 A CN 102113305A
Authority
CN
China
Prior art keywords
value
texture
computer
space
brightness value
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
Application number
CN2009801311202A
Other languages
English (en)
Other versions
CN102113305B (zh
Inventor
Y·陆
W·孙
F·吴
S·李
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102113305A publication Critical patent/CN102113305A/zh
Application granted granted Critical
Publication of CN102113305B publication Critical patent/CN102113305B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Generation (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

一种用于压缩高动态范围(HDR)纹理的方法。可将红绿蓝(RGB)空间中的HDR纹理的纹理像素的第一块变换成亮度色度空间中的纹理像素的第二块。第一块可具有红色值、绿色值和蓝色值。第二块可具有亮度值和色度值。色度值可基于红色值的和、绿色值的和以及蓝色值的和。亮度值和色度值可被转换成8比特整数格式。可修改该亮度值以便将本地线性度属性还原到第二块。可压缩第二块。

Description

高动态范围纹理压缩
背景技术
高动态范围(HDR)图像技术引入了用数字成像来记录以及再现真实世界的新纪元。传统的低动态范围(LDR)图像只在非常有限的色域中包含涉及设备的像素,而HDR图像提供自然场景的真实发光度值。HDR纹理便于改进图像的照明和后处理,从而在呈现数字图像时得到空前的真实性。由此,支持HDR纹理已经变成设计图形硬件和应用程序编程接口(API)中的趋势。然而,LDR纹理对于有效地支持成像技术的现有特征来说继续是不可缺少的,诸如通常不需要宽阔的HDR分辨率的贴花地图等。
在成像中使用纹理的挑战之一是纹理的尺寸一般较大。具有通常的每像素24比特(每像素的比特数(bbp))的原始红绿蓝(RGB)格式的LDR纹理通常消耗太多的存储和带宽。在当前呈现系统中通常为半浮动或浮点格式的HDR纹理可比原始LDR纹理多花费2至4倍的空间。较大的纹理尺寸约束了可用于呈现场景的HDR纹理的数量。较大的纹理尺寸还限制了给定存储器带宽的帧速率,尤其是在使用复杂的过滤方法时。对可用纹理和帧速率的限制约束了在呈现场景时数字成像的质量。
纹理压缩(TC)技术可有效地降低实时呈现中的存储器存储和存储器带宽的要求。对于LDR纹理,已经设计了许多压缩方案,包括事实(de facto)标准,还可被称为S3TC的DirectX
Figure BPA00001309924800011
纹理压缩(DXTC)。DXTC由商用图形硬件广泛地支持。
概述
一般而言,本文描述的各种技术的一个或多个实现针对用于压缩高动态范围(HDR)纹理的方法。在红绿蓝(RGB)通道中表示为值的HDR纹理可变换到亮度和色度空间上。该变换可以是从色度空间上移除主导RGB通道的自适应过程。经变换的值可以从浮点格式被量化为整数格式。可修改亮度和色度空间中的HDR纹理以便符合用于低动态范围(LDR)纹理的联合颜色通道压缩方案的标准输入格式,所述联合颜色通道压缩方案诸如DirectX
Figure BPA00001309924800012
纹理压缩(DXTC)。纹理可随后使用联合颜色通道压缩来压缩。
在压缩HDR纹理的一实现中,可自适应地选择RGB通道中的两个通道来转换成色度通道。具有三个RGB通道中的最低值的这两个RGB通道可用于将RGB通道转换成色度通道。亮度和色度通道中的值可被转换成8比特整数格式。可修改8比特整数值来恢复本地线性度属性,该本地线性度属性可通过将RGB通道转换成亮度和色度通道来移除。经修改的值可使用DirectX
Figure BPA00001309924800021
纹理压缩来压缩。
对纹理的修改可被存储在可用于便于解压的新数据结构中。在一实现中,该压缩方法可产生可用于使用现有LDR硬件来实时地呈现HDR图像的数据结构。根据上述方法,该数据结构可包括DirectX纹理格式的某些块,所述某些块容纳按照上述方法压缩的HDR纹理数据。该数据结构可将纹理压缩率从每像素8比特(bbp)增加到每像素10比特。
本文描述的各种实现还可针对用于解压已经如上所述地压缩的HDR纹理的方法。在一实现中,压缩数据可以用新设备来解压,该新设备使用扩展块与DirectX纹理格式的块来基于原始HDR纹理产生RGB通道的值。
本文描述的各种实现还可针对用于使用为实时地呈现低动态范围(LDR)图像所设计的现有硬件来实时地呈现HDR图像的方法。
提供该以上引用的概述章节以便以简化形式介绍将在以下详细描述章节中进一步描述的一些概念。概述并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本发明的任一部分中提及的任何或所有缺点的实现。
附图简述
图1示出了根据本文描述的各实现的计算系统的概略图。
图2示出了根据本文描述的各实现的方法的流程图。
图3A-3D描述了根据本文描述的各实现的纹理像素的图形。
图4示出了根据本文描述的各实现的修改表格。
图5示出了根据本文描述的各实现的数据结构。
图6示出了根据本文描述的实现的解码逻辑。
图7示出了根据本文描述的实现的方法。
图8示出了根据本文描述的实现的直接描绘表面(DDS)纹理帧。
详细描述
此处所描述的各种技术的实现可以用众多通用或专用计算系统环境或配置来操作。适用于此处所描述的各种技术的公知的计算系统、环境和/或配置的示例包括,但不限于,个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型机、大型计算机、包括上述系统或设备中的任一个的分布式计算环境等。
此处所描述的各种技术可以在诸如程序模块等由计算机执行的计算机可执行指令的一般上下文中实现。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。此处所描述的各种技术还可在其中任务由通过例如硬连线链路、无线链路或其组合等通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和远程计算机存储介质中。
图1示出了根据本文描述的各实现的计算系统100的概略图。计算机系统100包括经由系统总线117进行通信的中央处理单元(CPU)104、以及系统(主)存储器106。从被耦合到系统总线117的一个或多个用户输入设备118(例如,键盘、鼠标)接收用户输入。
计算系统100可被配置成易于纹理像素数据(即,图形数据)的高性能处理。例如,计算系统100除了系统总线117以外可包括单独的图形总线147。图形总线147可被配置成易于关于纹理像素数据的处理的通信。更具体地,图形总线147可处理CPU 104、图形处理单元(GPU)154、系统存储器106、纹理存储器156、以及输出设备119之间的通信。
系统总线117和图形总线147可以是几种类型的总线结构中的任何一种,包括存储器总线或存储控制器、外围总线、以及使用各种总线体系结构中的任一种的局部总线。作为示例,而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线、也称为夹层(Mezzanine)总线的外围部件互连(PCI)总线、以及快速外围部件互连(PCI-E)、集成设备电路(IDE)、串行新技术附件(SATA)、以及加速图形端口(AGP)。
系统存储器106可存储各种程序或应用程序,诸如用于以原始纹理120的形式来生成纹理像素数据以供显示在输出设备119上的操作系统112。操作系统112的示例包括Microsoft Windows
Figure BPA00001309924800041
操作系统的图形设备接口(GDI)组件。在一实现中,原始纹理120可以是被表示为RGB通道中的16比特浮点值的HDR纹理。
系统存储器106还可存储压缩器程序114。为了便于纹理像素数据的高性能处理,压缩器程序114可将原始纹理120压缩成压缩纹理116。由于压缩纹理116在图形总线147上占用较少带宽,因此在高性能图形处理中,通过图形总线147传送压缩纹理116比传送原始纹理120更好。
在一实现中,GPU 154可被配置成支持使用诸如DXTC等联合颜色通道压缩方法来压缩的纹理像素数据。因此,压缩器程序114可包括标准DXTC编码器(未示出)。由此,压缩纹理116可表示以便于DXTC配置的GPU 154处理的形式的原始纹理120。在图5的描述中将更详细地描述压缩纹理116。应当注意到,DXTC仅作为联合颜色通道压缩方法的示例来使用,并且不旨在限制本文描述的各实现。在各种实现中可使用其他联合颜色通道压缩方法。
系统存储器106可进一步存储驱动程序115来启用与GPU 154的通信。驱动程序115可实现诸如公开图形库(OpenGL)和Microsoft DirectX等一个或多个标准应用程序接口(API)来与GPU 154通信。通过调用适当的API函数调用,操作系统112能够指令驱动程序115将压缩纹理116经由图形总线147传送到GPU 154,并且调用GPU 154的各种呈现函数。数据传送操作可使用常规的DMA(直接存储器访问)或其他操作来执行。
可在输出设备(例如,基于传统CRT、TV或LCD的监视器)上提供在视觉输出,所述输出设备119在GPU 154的控制下操作。在一实现中,GPU 154可被配置成通过处理压缩纹理162来提供视觉输出。
GPU 154可包括用于接收和处理经由图形总线147所接收的图形系统命令的各种组件。GPU 154可包括显示流水线158和存储器管理单元162。
显示流水线158一般可用于图像处理。显示流水线158可包含被配置成将压缩纹理116转换成适用于显示在输出设备119的纹理像素数据的各种处理模块。在一实现中,显示流水线158可包括纹理像素着色器160。
纹理像素着色器160可将压缩纹理116解压成解压纹理164。在一实现中,纹理像素着色器160可使用标准DXTC解码器(未示出)来解压压缩纹理116。由此,解压纹理164可将纹理像素数据表示为RGB通道中的8比特整数值。在图7的描述中将更详细地描述解压纹理164。
另外,纹理像素着色器160可执行实时图像呈现,由此可为GPU 154的处理配置解压纹理164。在一实现中,纹理像素着色器160执行实时HDR呈现。将参考图6-7的描述更详细地描述纹理像素着色器160。
存储器管理单元162可从系统存储器106读取压缩纹理116以便于纹理像素着色器160的解压。另外,存储器管理单元162可从纹理存储器156读取解压纹理164以便于实时呈现。纹理存储器156可以是为快速I/O设计的专用RAM(TRAM),从而便于GPU 154在呈现包括3-D图像的来自压缩纹理164的图像时的高性能处理。
计算设备100可进一步包括可连接到总线117的存储108。存储108的示例包括用于对硬盘进行读写的硬盘驱动器、用于对可移动磁盘进行读写的磁盘驱动器、以及用于对诸如CD-ROM或其它光介质等可移动光盘进行读写的光盘驱动器。存储108及其关联的计算机可读介质可以向计算系统100提供对计算机可读指令、数据结构、程序模块和其它数据的非易失性存储。
本领域技术人员应当理解,计算系统100还可包括可由计算机访问的其他类型的存储108及其相关联的计算机可读介质。例如,这种计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、以及可移动和不可移动介质。计算机存储介质还可包括,RAM、ROM、可擦除可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪存或其它固态存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算系统100访问的任何其它介质。通信介质能以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。术语“已调制数据信号”可指的是以在信号中编码信息的方式设定或更改其一个或多个特征的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、射频、红外线和其他无线介质。上述的任意组合也可以包含在计算机可读介质的范围内。
应该理解,此处描述的各种技术可以结合硬件、软件或两者的组合来实现。因此,各种技术或其某些方面或部分,可以采用包含在诸如软盘、CD-ROM、硬盘驱动器或任何其它机器可读存储介质等有形介质中的程序代码(即,指令)的形式,其中,当程序代码被加载至诸如计算机等机器并由其运行时,该机器成为用于实现该各种技术的装置。在程序代码在可编程计算机上执行的情况下,计算设备可包括处理器、该处理器可读的存储介质(包括易失性和非易失性的存储器和/或存储元件)、至少一个输入设备、以及至少一个输出设备。可以实现或利用此处所描述的各种技术的一个或多个程序可以使用应用程序编程接口(API)、可重用控件等。这样的程序可以用高级过程语言或面向对象编程语言来实现,以与计算机系统通信。然而,如果需要,程序可以用汇编语言或机器语言来实现。在任何情形中,语言可以是编译语言或解释语言,且与硬件实现相结合。
图2示出了根据本文描述的各实现的方法200的流程图。在一实现中,压缩器程序114可执行方法200。由于原始纹理120可以是HDR纹理,因此在可将联合颜色通道压缩技术用于将原始纹理120压缩成压缩纹理116之前,可能需要某一预处理。在一实现中,方法200可预处理HDR纹理,并且随后使用DXTC来压缩HDR纹理。
在操作中,最初HDR纹理205可被输入到自适应颜色变换过程210。最初HDR纹理205可以是被划分成16个纹理像素的4x4块的原始纹理120。自适应颜色变换过程210可通过将初始HDR纹理205从RGB空间转换成产生亮度色度空间中的纹理像素块来变换纹理215。在此,亮度色度空间还可被称为Y-UV空间。在一实现中,自适应颜色变换过程210是基于可包括将RGB值转换成Y-UV值的HDR颜色变换。
通常,HDR颜色变换如下确定:
y = Σ t ∈ { r , g , b } w t C t
Figure BPA00001309924800072
对于t∈{r,g,b}
这里,Y是亮度通道,而St是对应于R、G和B的色度通道。wt是常数权重。应当注意,仅需要确定色度通道中的两个用于颜色变换,因为第三通道可基于其他两个色度通道的值来导出。例如,R、G和B值的每一个可如下导出:
R=Sr×Y/wr
G=Sg×Y/wg
B=(Y-wrR-wgG)/wb
然而,如果第三通道在压缩期间没有被编码,则在这一情况下,蓝通道可累积可能较大的误差。然而,可通过自适应地选择哪一通道不计颜色变换来控制累积误差量。由此,从R、G和B通道之一可确定误差累积通道。在一实现中,误差累积通道在此处也被称为可为每一纹理像素导出的Ch_mode,被计算为:
Ch _ mode ≡ m = arg max t ∈ { r , g , b } { S t }
这里,主导色度可不被包括颜色变换中,并且因此不在压缩纹理120中被编码。可通过不计变换中的最高或主导的色度值来控制相对误差,因为两个编码色度通道的值可落入范围[0,0.5]。在一实现中,可按块而不是按纹理像素来确定误差累积通道。在这样的实现中,每一像素纹理的颜色值可按通道累加,从而为三个通道R、G和B的每一个的块提供总和。换言之,可为颜色变换选择具有块的最低总和的两个通道。
图3A和3B示出了根据本文描述的各种技术的各实现的纹理像素的图。更具体地,图3A和3B图形地示出了自适应颜色变换过程210。图3A示出了具有R轴305、G轴310和B轴315的三维笛卡尔坐标系。最初HDR纹理205的一个4x4块中的每一纹理像素被表示为菱形320。RGB空间中的位置通过纹理像素的每一R、G和B分量的值来确定。提供了到UV平面325的投影来示出每一纹理像素的R定位。
图3B示出了具有Y轴350、U轴355和V轴360的三维笛卡尔坐标系。最初HDR纹理205的一个4x4块中的每一纹理像素被变换到Y-UV空间中。通过由以上所述的公式所确定的纹理像素的每一Y、U和V分量的值来确定Y-UV空间中的每一纹理像素的位置。由于变换是自适应的,因此U和V的值可取决于如上所述地确定的Ch_mode来表示最初R、G和B值的任何两个。
返回到图2,可将经变换的纹理215输入到本地HDR缩减过程220。经变换的纹理215可以按16比特浮点格式来表示亮度和色度值(Y-UV值),这通常比整数值更难以压缩。因此,本地HDR缩减过程220可将16比特浮点Y-UV值转换成8比特整数格式。可将按8比特整数格式的值包括在缩减纹理225中。
为了将Y值转换成8比特的整数,可确定全局亮度范围。全局亮度范围可以是块中所有纹理像素的Y通道中的上限值和下限值。上限可通过对最大亮度值进行5比特量化并上舍入到最接近的整数来导出。下限可通过5比特量化并且下舍入到最接近的整数来导出。16比特浮点Y值的每一个可随后被映射到全局亮度范围内的相对值。随后可使用log2空间中的线性量化来量化相对Y值。
为了将UV值转换成8比特整数,可以为纹理像素的每一4x4块交替地采用线性编码和对数编码。色度通道UV的值一般落入[0,1],并且由此可被直接量化成[0,1]中的256级,即,8比特整数值。
缩减纹理225可将Y-UV值的每一个表示为4x4块中每一纹理像素的8比特整数。另外,缩减纹理225可包括全局亮度范围值(按5比特整数格式的亮度值的上限和下限)。可将缩减纹理225输入到共同产生压缩HDR纹理245的联合通道压缩过程230和点转换过程240。
DXTC通常被应用于被表示为按8比特整数格式的Y-UV通道值的原始LDR纹理。由此,联合通道压缩过程230可将DXTC应用于缩减纹理225。然而,将DXTC直接应用于缩减纹理225可产生较大失真,因为自适应颜色变换过程210和本地HDR缩减过程220可移除Y-UV颜色空间中DXTC所依赖的本地线性度属性。由此,在联合通道压缩过程230中采用DXTC之前,点变换过程240还原本地线性度属性。DXTC可进一步压缩8比特Y-UV值来产生压缩HDR纹理245。
点转换过程240可改造Y-UV空间中的缩减纹理225的每一块的分布,使得可以还原本地线性度属性。这样,点转换过程240可在Y-UV空间中移动纹理像素,使得每一点被定位于接近Y-UV空间中的单个线段。在一实现中,只沿Y轴移动每一纹理像素。在另一实现中,修改表格可用于确定缩减纹理225的每一块的重新分布。
图4示出了根据本文描述的各种技术的各实现的修改表格400。修改表格400包括沿T_idx 410列和M_idx 420行的值的列表。该表格中的修改值可如下计算:
修改=(-1)(M_idx & 1)×2(T_idx>>2)×
[1+(T_idx & 3+1)×(M_idx>>1)]
例如,缩减纹理225的每一块中的Y值可根据以下公式来修改:
Ytrans=Yint+修改
可根据哪些值使得重构误差衰减来选择修改值。更具体地,对于每一块,枚举所有可能的T_idx 410值[0,1,…,15]。随后,对于每一T_idx 410,确定为每一纹理像素提供最小重构误差的M_idx 420值。最后,选择按块的T_idx 410和按纹理像素的M_idx 420以便最小化总体块重构误差。一旦如上所述地转换了块中的纹理像素,DXTC过程就可在联合通道压缩过程230中被应用。
图3B和3C图形地示出了点转换过程240。在图3B中,表示了两个纹理像素点365B和370B。图3C示出了点转换后的相同纹理像素。更具体地,纹理点365C和370C示出了沿Y轴的变换,由此点365C具有比365B大的Y值,并且点370C具有比点370B小的Y值。
图3D示出了由图3C中经点变换的纹理像素近似的线段375,其中点365C和370C表示线段375的端点。然而,应当注意,在本文描述的各实现中,经变换的纹理像素点可仅与线段375的端点近似,并且不表示实际端点。
图5示出了根据本文描述的各种技术的各实现的数据结构500。数据结构500可表示压缩纹理116中的数据格式。数据结构500可包括DXT1块504和扩展块502。DXT1块504可表示DXTC所使用的标准数据结构格式。
DXT1块504可包括基色540和基色550。每一基色被表示为Y、U和V值。因此,基色540包括540Y、540U和540V。类似地,基色550包括550Y、550U和550V。基色540和基色550可表示在一个块中由经点转换的纹理像素近似的线段375的端点的值。颜色索引560表示基于DXTC算法的每一纹理像素的Y-UV空间中的值。
扩展块502可包括便于由纹理像素着色器160解压和呈现的数据。扩展块502可包括表示由DXTC之前执行的预处理所引入的最初HDR纹理205的改变的数据值。
更具体地,Ch_mode 515可表示不包括在自适应颜色变换过程210中的R、G或B通道。全局亮度范围530包括每一块的亮度值(Y值)的上限530A和下限530B。如前所述,在联合通道压缩过程220期间,每一纹理像素的亮度值被转换成全局亮度范围530内的相对值。同样,T_idx 510和M_idx 520值表示点转换过程240中所使用的修改值。可为每一块记录一个T_idx 510,并且可为每一纹理像素记录一个M_idx 520值。在一实现中,对数/线性UV编码标志值可被嵌在530A和530B的相互次序中。
图6示出了根据本文描述的各种技术的各实现的解码逻辑。可为存储在数据结构500中的压缩纹理116所表示的每一纹理像素执行图6中示出的解码逻辑600。在一实现中,解码逻辑600可作为纹理像素着色器160的硬件实现的一部分来包含。可将DXT1块504输入到DXT解码器670,并且可通过对C_idx值660、基色540和基色550进行解码来恢复三个Y-UV通道的8比特整数值。
T_idx 610和M_idx 620可用于在修改表格400中查找修改值。可随后将修改值添加到由DXT解码器670所确定的Y值。修改Y值可补偿对点转换过程240中纹理像素的Y值的修改。
全局HDR恢复模块675可执行本地HDR缩减过程220的反过程,包括亮度对数解码和色度对数或线性解码。应当理解,对数解码是线性解码和指数(exp2)操作的结合。全局HDR恢复模块675可使用全局亮度范围630A、630B以便基于输入到模块675的相对的Y、U和V值672来确定绝对的Y、U和V值677。
反颜色变换模块680可执行自适应颜色变换过程210的反过程。Ch_mode 615可标识在自适应颜色变换过程210中不计的R、G或B值。通过标识Ch_mode 615,反颜色变换模块680可基于全局HDR恢复模块675输出的Y-UV值来确定R、G和B值。
有利的是,数据结构500的解码器可以用标准DXT解码器硬件的适度扩展来实现。反颜色变换模块680可包括一次加法、两次三通道乘法、以及一MUX来基于Ch_mode 615对信号进行重新排序。另外,全局HDR恢复模块675可包括一次三通道统一反量化和一次三通道指数操作。
作为解压的替换,纹理像素着色器160可使用压缩纹理116来实时地执行呈现。有利的是,实时HDR呈现可以用数据结构格式500中的压缩纹理116来执行,而无需修改现有GPU硬件。
图7示出了根据本文描述的各种技术的各实现的实时呈现的方法700。在步骤710,一个块的压缩纹理116被解压成3个直接绘制表面(DDS)纹理帧。在图8中将更详细地描述DDS纹理帧。
在步骤720,将3个DDS纹理帧加载到纹理存储器156中。在步骤730,纹理像素着色器160可执行HDR纹理化。当GPU 154使用HDR纹理像素时,纹理像素着色器160可使用最接近点采样算法所确定的纹理像素坐标来对所有3个DDS帧采样。纹理像素着色器160可随后模拟图6中描述的硬件解码过程来恢复所需的纹理像素值。
图8示出根据本文描述的各种技术的各实现的DDS纹理帧810、DDS纹理帧820、以及DDS纹理帧830。可从图5描述的数据结构500中包括的数据导出所有DDS纹理帧。DDS纹理帧810可包括图5中描述的M_idx 520值和DXT1块504。
在一实现中,DDS纹理帧820和DDS纹理帧830可用于存储具有1/16降采样的分辨率的按块的分量。DDS纹理帧820可包括T_idx 510、基色Y值540Y、以及Ch_mode 515。DDS纹理帧830可包括亮度值的下限530A和上限530B、以及基色Y值550Y。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。

Claims (20)

1.一种用于压缩高动态范围(HDR)纹理的方法,包括:
将红绿蓝(RGB)空间中的所述HDR纹理的纹理像素的纹理像素的第一块(205)转换成亮度色度空间中的纹理像素的第二块(215),所述第一块具有红色值、绿色值和蓝色值,而所述第二块具有亮度值和色度值,所述色度值是基于所述红色值的和、绿色值的和以及蓝色值的和;
将所述亮度值和色度值转换(220)成8比特整数格式;
修改(240)所述亮度值以便将本地线性度属性还原到所述第二块;以及
压缩(230)所述第二块。
2.如权利要求1所述的方法,其特征在于,变换所述纹理像素的第一块包括:
从RGB空间中选择与红色值的和、绿色值的和以及蓝色值的和中两个最低的和相对应的通道;以及
基于所选择的通道的RGB值来确定色度值。
3.如权利要求1所述的方法,其特征在于,转换亮度值和色度值包括:
确定亮度值的范围;
基于所述亮度值的范围来确定相对亮度值;
将所述相对亮度值量化成8比特整数格式;以及
将所述色度值量化成8比特整数格式。
4.如权利要求20所述的方法,其特征在于,确定亮度值的范围包括确定所述亮度值的上限和下限。
5.如权利要求20所述的方法,其特征在于,还包括将所述上限和下限量化成5比特整数格式。
6.如权利要求1所述的方法,其特征在于,修改所述亮度值以便将本地线性度属性还原成所述第二块包括移动亮度色度空间中的第二块的纹理像素,使得每一纹理像素被定位在接近所述亮度色度空间中的单个线段。
7.如权利要求20所述的方法,其特征在于,还包括修改所述色度值来还原所述本地线性度属性。
8.如权利要求20所述的方法,其特征在于,压缩所述第二块包括使用联合颜色通道压缩方法。
9.如权利要求20所述的方法,其特征在于,所述联合颜色通道压缩方法是DirectX
Figure FPA00001309924700021
纹理压缩。
10.如权利要求20所述的方法,其特征在于,压缩所述第二块包括使用联合颜色通道压缩方法。
11.如权利要求20所述的方法,其特征在于,所述联合颜色通道压缩方法是DirectX
Figure FPA00001309924700022
纹理压缩。
12.如权利要求1所述的方法,其特征在于,修改所述亮度值以便将本地线性度属性还原到所述第二块包括将每一纹理像素定位在接近所述亮度色度空间中的单个线段。
13.一种其上存储计算机可执行指令的计算机可读介质,所述指令在由计算机执行时使得所述计算机:
将红绿蓝(RGB)空间中的HDR纹理的纹理像素的第一块(205)转换成亮度色度空间中的纹理像素的第二块(215),所述第一块具有红色值、绿色值和蓝色值,而所述第二块具有亮度值和色度值,所述色度值是基于红色值的和、绿色值的和以及蓝色值的和;
将所述亮度值和所述色度值转换(220)成8比特整数格式;
修改(240)所述亮度值以便将本地线性度属性还原到所述第二块;以及
使用联合颜色通道压缩方法来压缩(230)所述第二块。
14.如权利要求20所述的计算机可读介质,其特征在于,所述联合颜色通道压缩方法是DirectX
Figure FPA00001309924700031
纹理压缩。
15.如权利要求20所述的计算机可读介质,其特征在于,还包括在由所述计算机执行时使得所述计算机执行以下步骤的计算机可执行指令:
从RGB空间中选择与红色值的和、绿色值的和以及蓝色值的和中两个最低的和相对应的通道;以及
基于所选择的通道的RGB值来确定色度值。
16.如权利要求20所述的计算机可读介质,其特征在于,还包括在由所述计算机执行时使得所述计算机执行以下步骤的计算机可执行指令:
确定亮度值的范围;
基于所述亮度值的范围来确定相对亮度值;
将所述相对亮度值量化成8比特整数格式;以及
将所述色度值量化成8比特整数格式。
17.如权利要求20所述的计算机可读介质,其特征在于,还包括在由所述计算机执行时使得所述计算机执行以下步骤的计算机可执行指令:
确定所述亮度值的上限和下限;以及
将所述上限和下限量化成5比特整数格式。
18.如权利要求20所述的计算机可读介质,其特征在于,还包括在由所述计算机执行时使得所述计算机执行以下步骤的计算机可执行指令:
移动所述亮度色度空间中的第二块的纹理像素,使得每一纹理像素被定位在接近所述亮度色度空间中的单个线段。
19.一种计算机系统,包括:
处理器;以及
包括由所述处理器可执行的程序指令的存储器,所述存储器用于:
将红绿蓝(RGB)空间中的HDR纹理的纹理像素的第一块(205)转换成亮度色度空间中的纹理像素的第二块(215),所述第一块具有红色值、绿色值和蓝色值,而所述第二块具有亮度值和色度值,所述色度值是基于所述红色值的和、绿色值的和以及蓝色值的和;
确定(220)所述亮度值的范围;
基于所述亮度值的范围来确定(220)相对亮度值;
将所述相对亮度值量化(220)成8比特整数格式;
将所述色度值量化(220)成8比特整数格式;
移动(220)所述亮度色度空间中的第二块的纹理像素,使得每一纹理像素被定位在接近所述亮度色度空间中的单个线段(375);以及
使用DirectX纹理压缩来压缩(230)所述第二块。
20.如权利要求20所述的计算机系统,其特征在于,所述存储器包括可由处理器执行以便将RGB空间中的HDR纹理的纹理像素的第一块转换成亮度色度空间中的纹理像素的第二块的程序指令还包括可由所述处理器执行以执行以下步骤的计算机可执行指令:
从RGB空间中选择与红色值的和、绿色值的和以及蓝色值的和中两个最低的和相对应的通道;以及
基于所选择的通道的RGB值来确定色度值。
CN200980131120.2A 2008-06-05 2009-05-31 高动态范围纹理压缩 Active CN102113305B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/133,369 2008-06-05
US12/133,369 US8165393B2 (en) 2008-06-05 2008-06-05 High dynamic range texture compression
PCT/US2009/045767 WO2009148982A2 (en) 2008-06-05 2009-05-31 High dynamic range texture compression

Publications (2)

Publication Number Publication Date
CN102113305A true CN102113305A (zh) 2011-06-29
CN102113305B CN102113305B (zh) 2014-07-30

Family

ID=41398800

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980131120.2A Active CN102113305B (zh) 2008-06-05 2009-05-31 高动态范围纹理压缩

Country Status (4)

Country Link
US (2) US8165393B2 (zh)
EP (1) EP2297935B1 (zh)
CN (1) CN102113305B (zh)
WO (1) WO2009148982A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106105177A (zh) * 2014-06-10 2016-11-09 松下知识产权经营株式会社 变换方法及变换装置
CN106134172A (zh) * 2014-06-10 2016-11-16 松下知识产权经营株式会社 显示系统、显示方法及显示装置
CN110662068A (zh) * 2018-06-29 2020-01-07 想象技术有限公司 有保证的数据压缩
CN112489147A (zh) * 2020-12-10 2021-03-12 苏州速显微电子科技有限公司 一种基于图像分布的纹理压缩系统
CN116483285A (zh) * 2023-06-14 2023-07-25 北京象帝先计算技术有限公司 纹理数据搬运方法、搬运装置、电子组件及电子设备

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101635006B1 (ko) * 2010-01-22 2016-07-01 삼성디스플레이 주식회사 광원의 휘도 제어 방법 및 이를 수행하기 위한 표시 장치
WO2011126424A1 (en) * 2010-04-07 2011-10-13 Telefonaktiebolaget L M Ericsson (Publ) Texture compression and decompression
WO2012017946A1 (ja) * 2010-08-04 2012-02-09 日本電気株式会社 画像処理方法、画像処理装置及び画像処理プログラム
US9378560B2 (en) * 2011-06-17 2016-06-28 Advanced Micro Devices, Inc. Real time on-chip texture decompression using shader processors
EP2880624B1 (en) * 2012-03-26 2019-05-08 Koninklijke Philips N.V. Brightness region-based apparatuses and methods for hdr image encoding and decoding
US20140169669A1 (en) * 2012-12-19 2014-06-19 National Chung Cheng University Tone mapping method of high dynamic range image/video
JP6847033B2 (ja) * 2014-10-10 2021-03-24 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated ハイブリッドブロックベースの圧縮
AU2016427777B2 (en) * 2016-10-31 2022-12-15 Victoria Link Limited A rendering process and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5054025A (en) * 1987-06-12 1991-10-01 International Business Machines Corporation Method for eliminating errors in block parameters
CN1799057A (zh) * 2003-04-29 2006-07-05 微软公司 用于生成高动态范围视频的系统和过程
US20070172120A1 (en) * 2006-01-24 2007-07-26 Nokia Corporation Compression of images for computer graphics

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU7598296A (en) * 1995-10-24 1997-05-15 Line Imaging Systems Llc Ultrasound video subband coding system and method
US6560285B1 (en) 1998-03-30 2003-05-06 Sarnoff Corporation Region-based information compaction as for digital images
US6970604B1 (en) * 1998-10-05 2005-11-29 Media Tek Inc. Apparatus and method for forming a coding unit
US6487319B1 (en) * 1998-11-18 2002-11-26 Sarnoff Corporation Apparatus and method for identifying the location of a coding unit
AUPQ289099A0 (en) 1999-09-16 1999-10-07 Silverbrook Research Pty Ltd Method and apparatus for manipulating a bayer image
JP2002064709A (ja) * 2000-06-06 2002-02-28 Canon Inc 画像処理装置及びその方法とそのコンピュータプログラム及び記憶媒体
FR2831302A1 (fr) * 2001-10-19 2003-04-25 St Microelectronics Sa Codage d'informations concentriques
US7305144B2 (en) 2002-01-15 2007-12-04 Yissum Research Development Company Of The Hebrew University Of Jerusalem System and method for compressing the dynamic range of an image
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
EP1445734B1 (en) * 2003-02-06 2007-08-08 STMicroelectronics S.r.l. Method and apparatus for texture compression
US7492375B2 (en) 2003-11-14 2009-02-17 Microsoft Corporation High dynamic range image viewing on low dynamic range displays
US7649539B2 (en) 2004-03-10 2010-01-19 Microsoft Corporation Image formats for video capture, processing and display
US8265378B2 (en) 2004-04-15 2012-09-11 Dolby Laboratories Licensing Corporation Methods and systems for converting images from low dynamic to high dynamic range
US7460117B2 (en) * 2004-05-25 2008-12-02 Siemens Medical Solutions Usa, Inc. Sliding texture volume rendering
US7483486B2 (en) 2004-07-02 2009-01-27 Max-Planck-Gesellschaft Zur Forderung Der Wissenschaften E.V. Method and apparatus for encoding high dynamic range video
US7536059B2 (en) * 2004-11-10 2009-05-19 Samsung Electronics Co., Ltd. Luminance preserving color quantization in RGB color space
US7298379B2 (en) * 2005-02-10 2007-11-20 Samsung Electronics Co., Ltd. Luminance preserving color conversion from YUV to RGB
US7433514B2 (en) 2005-07-13 2008-10-07 Canon Kabushiki Kaisha Tone mapping of high dynamic range images
WO2007021227A1 (en) * 2005-08-19 2007-02-22 Telefonaktiebolaget Lm Ericsson (Publ) Texture compression based on two hues with modified brightness
US20070076971A1 (en) * 2005-09-30 2007-04-05 Nokia Corporation Compression of images for computer graphics
US7809200B2 (en) 2005-11-15 2010-10-05 Teledyne Licensing, Llc Dynamic range compression of high dynamic range imagery
US7848569B2 (en) * 2005-12-14 2010-12-07 Micron Technology, Inc. Method and apparatus providing automatic color balancing for digital imaging systems
JP5249784B2 (ja) 2006-01-23 2013-07-31 マックス−プランク−ゲゼルシャフト・ツア・フェルデルング・デア・ヴィッセンシャフテン・エー・ファオ 高ダイナミックレンジコーデック
US7554557B2 (en) * 2006-03-28 2009-06-30 Silicon Integrated Systems Corp. Device and method for image compression and decompression
US7787691B2 (en) 2006-04-11 2010-08-31 Telefonaktiebolaget Lm Ericsson (Publ) High quality image processing
US8880571B2 (en) 2006-05-05 2014-11-04 Microsoft Corporation High dynamic range data format conversions for digital media
US7636496B2 (en) * 2006-05-17 2009-12-22 Xerox Corporation Histogram adjustment for high dynamic range image mapping
US7885469B2 (en) * 2006-05-22 2011-02-08 Microsoft Corporation Encoded high dynamic range textures
US7817161B2 (en) * 2006-06-26 2010-10-19 Microsoft Corporation Texture synthesis using dimensionality-reduced appearance space
US7683910B2 (en) * 2006-06-29 2010-03-23 Microsoft Corporation Strategies for lossy compression of textures
US7558436B2 (en) 2006-07-20 2009-07-07 Max-Viz, Inc. Image dynamic range control for visual display
US9418450B2 (en) * 2006-08-31 2016-08-16 Ati Technologies Ulc Texture compression techniques
US7853092B2 (en) 2007-01-11 2010-12-14 Telefonaktiebolaget Lm Ericsson (Publ) Feature block compression/decompression
US8031937B2 (en) 2007-04-04 2011-10-04 Telefonaktiebolaget Lm Ericsson (Publ) Frame buffer compression and decompression method for graphics rendering
US8346002B2 (en) * 2007-07-20 2013-01-01 Microsoft Corporation High dynamic range image hallucination
US20090322777A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Unified texture compression framework

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5054025A (en) * 1987-06-12 1991-10-01 International Business Machines Corporation Method for eliminating errors in block parameters
CN1799057A (zh) * 2003-04-29 2006-07-05 微软公司 用于生成高动态范围视频的系统和过程
US20070172120A1 (en) * 2006-01-24 2007-07-26 Nokia Corporation Compression of images for computer graphics

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JACOB MUNKBERG ET AL: "《High Dynamic Range Texture Compression for Graphics Hardware》", 《ACM TRANSACTIONS ON GRAPHICS》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106105177A (zh) * 2014-06-10 2016-11-09 松下知识产权经营株式会社 变换方法及变换装置
CN106134172A (zh) * 2014-06-10 2016-11-16 松下知识产权经营株式会社 显示系统、显示方法及显示装置
CN106105177B (zh) * 2014-06-10 2019-09-27 松下知识产权经营株式会社 变换方法及变换装置
CN106134172B (zh) * 2014-06-10 2019-10-01 松下知识产权经营株式会社 显示系统、显示方法及显示装置
CN110662068A (zh) * 2018-06-29 2020-01-07 想象技术有限公司 有保证的数据压缩
CN110662068B (zh) * 2018-06-29 2022-09-23 想象技术有限公司 进行有保证的数据压缩的方法、系统、电路、介质和单元
CN112489147A (zh) * 2020-12-10 2021-03-12 苏州速显微电子科技有限公司 一种基于图像分布的纹理压缩系统
CN116483285A (zh) * 2023-06-14 2023-07-25 北京象帝先计算技术有限公司 纹理数据搬运方法、搬运装置、电子组件及电子设备
CN116483285B (zh) * 2023-06-14 2023-11-17 北京象帝先计算技术有限公司 纹理数据搬运方法、搬运装置、电子组件及电子设备

Also Published As

Publication number Publication date
WO2009148982A3 (en) 2010-04-15
US8165393B2 (en) 2012-04-24
EP2297935B1 (en) 2018-12-19
US20120242674A1 (en) 2012-09-27
CN102113305B (zh) 2014-07-30
US8498476B2 (en) 2013-07-30
EP2297935A4 (en) 2016-11-30
WO2009148982A2 (en) 2009-12-10
US20090304298A1 (en) 2009-12-10
EP2297935A2 (en) 2011-03-23

Similar Documents

Publication Publication Date Title
CN102113305B (zh) 高动态范围纹理压缩
JP4698739B2 (ja) コンピュータグラフィックスのための画像圧縮
US20070076971A1 (en) Compression of images for computer graphics
CN102138158A (zh) 统一纹理压缩框架
EP2005393B1 (en) High quality image processing
EP2294550B1 (en) Layered texture compression architecture
US20090274366A1 (en) Method and apparatus for block based image compression with multiple non-uniform block encodings
CN110291562A (zh) 缓冲器索引格式和压缩
CN105208394B (zh) 一种实时数字图像压缩预测方法与系统
US11263786B2 (en) Decoding data arrays
EP2843954B1 (en) Lossy color compression using adaptive quantization
US8494291B2 (en) Multi-mode processing of texture blocks
US20180097527A1 (en) 32-bit hdr pixel format with optimum precision
CN108668170B (zh) 图像信息处理方法及装置、存储介质
KR102531605B1 (ko) 하이브리드 블록 기반 압축
Banterle et al. BoostHDR: A novel backward-compatible method for HDR images
US20240205433A1 (en) Truncation error signaling and adaptive dither for lossy bandwidth compression
CN112712458A (zh) 对数据阵列进行编码

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150429

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150429

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.