CN102138158A - 统一纹理压缩框架 - Google Patents

统一纹理压缩框架 Download PDF

Info

Publication number
CN102138158A
CN102138158A CN2009801346856A CN200980134685A CN102138158A CN 102138158 A CN102138158 A CN 102138158A CN 2009801346856 A CN2009801346856 A CN 2009801346856A CN 200980134685 A CN200980134685 A CN 200980134685A CN 102138158 A CN102138158 A CN 102138158A
Authority
CN
China
Prior art keywords
texture
value
subclass
pixel
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.)
Pending
Application number
CN2009801346856A
Other languages
English (en)
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 Corp
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 CN102138158A publication Critical patent/CN102138158A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20208High dynamic range [HDR] image processing

Landscapes

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

Abstract

一种用于压缩纹理的方法。纹理像素的第一块可以从红绿蓝(RGB)空间被变换成亮度色度空间中的纹理像素的第二块。第一块具有红色值、绿色值和蓝色值。第二块具有亮度值和色度值。色度值可基于红色值的和、绿色值的和以及蓝色值的和。可以对第二块中的纹理像素的第一子集采样色度值。亮度值和经采样的色度值可被转换成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 BPA00001328453300011
纹理压缩(DXTC)。DXTC由商用图形硬件广泛地支持。
概述
通常,这里所述的各种技术的一个或多个实现针对统一纹理压缩框架。在一种实现中,统一纹理压缩框架可以既压缩低动态范围(LDR)纹理,又压缩高动态范围(HDR)纹理。LDR/HDR纹理可以用每像素8位(bpp)或4bpp的压缩率来压缩。LDR纹理可以在被压缩前被转换成HDR格式。
在一种实现中,纹理可以首先被压缩成8bpp。经8bpp压缩的纹理然后可被压缩为4bpp。在另一实现中,原始的LDR/HDR纹理可以直接被压缩成4bpp。
LDR/HDR纹理可以从红、绿和蓝(RGB)空间被转换到亮度色度空间。可以使用DirectX
Figure BPA00001328453300021
类纹理线性适应算法在亮度色度空间中对纹理进行联合通道压缩。在4bpp压缩中,纹理的色度表示可以基于每个纹理内的纹理像素的采样。经采样的纹理像素也可以用于纹理像素的亮度表示。
在另一实现中,经压缩的纹理可以从8bpp或4bpp压缩的纹理来呈现。在纹理像素着色器呈现纹理所表示的图像之前,以4bpp压缩的纹理可以首先被解码到8bpp压缩。
提供以上引用的概述章节以便以简化形式介绍将在以下详细描述章节中进一步描述的一些概念。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本发明的任一部分中提及的任何或所有缺点的实现。
附图简述
图1示出了根据本文描述的各实现的计算系统的示意图。
图2示出了根据本文描述的各实现的用于压缩原始纹理的方法的数据流程图。
图3示出了根据本文描述的各实现的用于将原始纹理压缩为8bpp纹理的方法的数据流程图。
图4A-4D示出根据本文描述的各实现的色彩空间中的纹理像素的3维图。
图5示出了根据本文描述的各种技术的各实现的修改表格。
图6示出了根据本文描述的各种技术的各实现的包含8bpp纹理的数据结构。
图7示出根据本文描述的各种技术的各实现的用于从8bpp纹理恢复RGB通道的解码逻辑。
图8示出了根据本文描述的各种技术的各实现的包含4bpp纹理的数据结构。
图9A示出了根据本文描述的各实现的用于将8bpp纹理压缩为4bpp纹理的方法的数据流程图。
图9B示出根据本文描述的各实现的示例色彩索引块。
图10示出根据本文描述的各种技术的各实现的用于从4bpp纹理恢复RGB通道的解码逻辑。
图10A示出用于将4bpp纹理解码为8bpp纹理的方法的流程图。
图10B示出根据本文描述的各实现的指示从4bpp复制成8bpp纹理的数据的框图。
图11示出了根据本文描述的各实现的处理环境的框图。
详细描述
关于术语,参考附图描述的任何功能都可使用软件、固件、硬件(例如,固定逻辑电路)、手动处理或这些实现的组合来实现。此处所使用的术语“逻辑”、“模块”、“组件”或“功能”一般表示软件、固件、硬件、或这些实现的组合。例如,在软件实现的情况下,术语“逻辑”、“模块”、“组件”或“功能”表示被配置成当在一个或多个处理设备(例如,一个或多个CPU)上执行时执行指定任务的程序代码(或声明性内容)。程序代码可被储存在一个或多个计算机可读介质中。
更一般而言,所示的将逻辑、模块、组件和功能分割成不同单元可以反映这些软件、固件和/或硬件的实际物理分组和分配,或者可对应于由单个软件程序、固件程序和/或硬件单元执行的不同任务的概念性分配。所示的逻辑、模块、组件和功能可位于单个位置处(例如,由处理设备来实现),或者可分布在多个位置上。
术语“机器可读介质”等指的是用于以任何形式保留信息的任何种类的介质,包括各种存储设备(磁、光、固态等等)。术语机器可读介质还包含了表示信息的瞬态形式,包括用于将信息从一点发送到另一点的各种硬线和/或无线链路。
此处描述的技术还在各流程图中描述。为便于讨论,某些操作在这些流程图中被描述为以特定次序执行的不同的组成步骤。这些实现是示例性而非限制性的。某些操作可被分组在一起并且在单个操作中执行,而某些操作可用和在本发明中所述的示例中所采用的次序不同的次序来执行。
图1示出了根据本文描述的各实现的计算系统100的示意图。计算机系统100包括经由系统总线117进行通信的中央处理单元(CPU)104、系统(主)存储器106以及存储108。从被耦合到系统总线117的一个或多个用户输入设备118(例如,键盘、鼠标)接收用户输入。
计算系统100可被配置成便于纹理像素数据(即,图形数据)的高性能处理。例如,计算系统100除了系统总线117以外可包括单独的图形总线147。图形总线147可被配置成便于和纹理像素数据的处理有关的通信。更具体地,图形总线147可处理CPU 104、图形处理单元(GPU)154、系统存储器106、纹理存储器156、以及输出设备119之间的通信。
系统总线117和图形总线147可以是几种类型的总线结构中的任何一种,包括存储器总线或存储控制器、外围总线、以及使用各种总线体系结构中的任一种的局部总线。作为示例而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线、也称为夹层(Mezzanine)总线的外围部件互连(PCI)总线、以及快速外围部件互连(PCIE)、集成设备电路(IDE)、串行新技术附件(SATA)、以及加速图形端口(AGP)。
系统存储器106可以存储各种程序或应用程序,诸如操作系统112。操作系统112可以是能控制单机或联网的计算机的操作的任何合适的操作系统,如Windows
Figure BPA00001328453300041
Vista、Mac OS
Figure BPA00001328453300042
X、Unix变型(例如Linux
Figure BPA00001328453300043
和BSD
Figure BPA00001328453300044
)等。
系统存储器106也可以存储应用程序114,应用程序114生成诸如3D图像这样的图像用于在输出设备119上显示。应用程序114可以是生成诸如游戏等纹理像素数据的任何软件,或是其他多媒体应用程序。
系统存储器106可进一步存储驱动程序115来启用与GPU 154的通信。驱动程序115可实现诸如公开图形库(OpenGL)和Microsoft DirectX
Figure BPA00001328453300045
等一个或多个标准应用程序接口(API)。通过调用适当的API函数调用,操作系统112能够指令驱动程序115将每像素4位(4bpp)的纹理150经由图形总线147传送到GPU 154,并且调用GPU 154的各种呈现函数。数据传送操作可使用常规的DMA(直接存储器访问)或其他操作来执行。
系统存储器106还可保存存储格式解码器120。响应于来自GPU 154的请求,存储格式解码器120可以从存储108中检取存储格式纹理170,将存储格式纹理170解码为4bpp纹理150,并将4bpp纹理150加载到系统存储器106中。
计算设备100可进一步包括可连接到总线117的存储108。存储108可以包含存储格式纹理170。存储格式纹理170可以是在4bpp纹理150之上被压缩的纹理像素数据。由于存储108也许不能使用随机定制来访问数据,因此存储108可以存储具有比4bpp高的压缩率的纹理像素数据。
最好是,由于存储格式纹理170比4bpp纹理150占用更少的存储,因此,如果将4bpp纹理150而非存储格式纹理170存储在存储108中,那么和传送4bpp纹理150相比,将存储格式纹理170传送至系统存储器会使用系统总线117上的较少带宽。减少所使用的带宽量提高了处理纹理像素数据的效率。
存储108的示例包括用于对硬盘进行读写的硬盘驱动器、用于对可移动磁盘进行读写的磁盘驱动器、以及用于对诸如CD-ROM或其它光介质等可移动光盘进行读写的光盘驱动器。存储108及其关联的计算机可读介质可以向计算系统100提供对计算机可读指令、数据结构、程序模块和其它数据的非易失性存储。
本领域技术人员应当理解,计算系统100还可包括可由计算机访问的其他类型的存储108及其相关联的计算机可读介质。例如,这种计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、以及可移动和不可移动介质。计算机存储介质还可包括,RAM、ROM、可擦除可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪存或其它固态存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算系统100访问的任何其它介质。通信介质能以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。术语“已调制数据信号”可指的是以在信号中编码信息的方式设定或更改其一个或多个特征的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、射频、红外线和其他无线介质。上述的任意组合也可以包含在计算机可读介质的范围内。
可在输出设备(例如,基于常规的CRT、TV或LCD的监视器、投影仪等)上提供在视觉输出,所述输出设备119在GPU 154的控制下操作。GPU 154可包括用于接收和处理经由图形总线147所接收的图形系统命令的各种组件。GPU 154可包括显示流水线158、存储器管理单元162和纹理高速缓存166。
显示流水线158一般可用于图像处理。显示流水线158可包含被配置成将8bpp纹理转换成适用于显示在输出设备119上的纹理像素数据的各种处理模块。在一实现中,显示流水线158可包括纹理像素着色器160。
纹理像素着色器160可以将4bpp纹理150解压缩为8bpp纹理145。此外,纹理像素着色器160可以将8bpp纹理加载到纹理高速缓存166中。纹理高速缓存可以是为快速I/O配置的高速缓存存储器,便于GPU 154在呈现包括3D图像的图像时的高性能处理。下面分别参考图6和8更详细地描述8bpp纹理145和4bpp纹理150。
另外,纹理像素着色器160可执行实时图像呈现,由此可为GPU 154的处理配置8bpp纹理145和/或4bpp纹理150。下面将参考图7、10、11A和11B的描述更详细地描述纹理像素着色器160。
存储器管理单元162从系统存储器106读取4bpp纹理150,并且将4bpp纹理150加载到纹理存储器156中。纹理存储器156可以是为快速I/O设计的专用RAM(TRAM),从而便于GPU 154在呈现包括3-D图像的图像时的高性能处理。或者,如果4bpp纹理150被加载到纹理存储器156中,则存储器管理单元162可以从纹理存储器156读取4bpp纹理150以便于纹理像素着色器160进行解压缩或图像呈现。
应该理解,此处描述的各种技术可以结合硬件、软件或两者的组合来实现。因此,各种技术或其某些方面或部分,可以采用包含在诸如软盘、CD-ROM、硬盘驱动器或任何其它机器可读存储介质等有形介质中的程序代码(即,指令)的形式,其中,当程序代码被加载至诸如计算机等机器并由其运行时,该机器成为用于实现该各种技术的装置。在程序代码在可编程计算机上执行的情况下,计算设备可包括处理器、该处理器可读的存储介质(包括易失性和非易失性的存储器和/或存储元件)、至少一个输入设备、以及至少一个输出设备。可以实现或利用此处所描述的各种技术的一个或多个程序可以使用应用程序编程接口(API)、可重用控件等。这样的程序可以用高级过程语言或面向对象编程语言来实现,以与计算机系统通信。然而,如果需要,程序可以用汇编语言或机器语言来实现。在任何情形中,语言可以是编译语言或解释语言,且与硬件实现相结合。
图2示出了根据本文描述的各实现的用于压缩原始纹理205的方法200的数据流程图。原始纹理205可以是未处理的纹理像素数据,形式为高或低动态范围(HDR或LDR)的纹理。在原始纹理205包括LDR纹理的情况下,LDR纹理数据可以被转换成HDR纹理格式。更具体地,HDR纹理一般将图像描述为红、绿和蓝(RGB)通道中的16位浮点或半点值,而LDR纹理一般将图像描述为RGB通道中的8位整数值。将LDR纹理数据转换成HDR格式可以包括从8位LDR整数值到16位半浮点或浮点值的简单转换。
最好是,通过将LDR纹理转换成HDR格式,可以为呈现来自LDR和HDR纹理的图像提供统一压缩框架。
原始纹理205可以被输入到8bpp编码过程220中。8bpp编码过程220可以以8bpp的压缩率来压缩原始纹理205以产生8bpp纹理245。参考图3-5更详细地描述了8bpp编码过程220。
8bpp纹理245可以被输入到4bpp编码过程240中。4bpp编码过程240可以以4bpp的压缩率来压缩8bpp纹理以产生4bpp纹理250。参考图9A-9B更详细地描述了4bpp编码过程240。
4bpp纹理250可以被输入到产生存储格式纹理270的存储编码过程260。存储编码过程260可以采用诸如ZIP或Huffman编码这样的压缩技术来进一步压缩4bpp纹理250。
图3示出了根据本文描述的各实现的用于将原始纹理305压缩为8bpp纹理345的方法300的数据流程图。方法300可以执行参考图2描述的8bpp编码过程220。
在操作中,原始HDR纹理305可被输入到自适应色彩变换过程310。原始纹理305可以被划分为16个纹理像素的4×4块。自适应色彩变换过程310可通过将原始纹理305从RGB空间转换到亮度色度空间从而产生经变换的纹理315。在此,亮度色度空间还可被称为Y-UV空间。在一实现中,自适应色彩变换过程310是基于可包括将RGB值转换成Y-UV值的HDR色彩变换。
通常,HDR色彩变换如下确定:
Y = Σ t ∈ { r , g , b } w t C t
S t = w t C t Y , for 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通道之一可确定误差累积通道。在一实现中,误差累积通道在此处也被称为可为每一纹理像素导出的uv_mode,被计算为:
uv _ mode ≡ m = arg max t ∈ { r , g , b } { S t }
因此,在自适应色彩变换过程310中,Y-UV值可如下计算:
Y=wrR+wgG+wbB
U = min { w r R , w g G } Y
V = min { max { w r R , w g G } , w b B } Y
其中wr/g/b是在变换到Y-UV空间时平衡RGB值的重要性的权重。在一个实现中,wr=0.299,wg=0.587而wb=0.114。
这里,主导色度通道可不被包括颜色自适应色彩变换中,并且因此不包括在8bpp纹理345中。可通过不将最高或主导的色度值计入变换来控制相对误差,因为两个经编码的色度通道的值可落入范围[0,0.5]。在一实现中,可按块而不是按纹理像素来确定误差累积通道。在这样的实现中,每一像素纹理的颜色值可按通道累加,从而为三个通道的每一个的块提供总和。可通过不将最高或主导的色度值计入变换来控制相对误差,因为两个经编码的色度通道的值可落入范围[0,0.5]。
图4A和4B示出了根据本文描述的各种技术的各实现的纹理像素的图。更具体地,图4A和4B图形地示出了自适应色彩变换过程310。图4A示出了具有R轴405、G轴410和B轴415的三维笛卡尔坐标系。原始纹理305的一个4×4块中的每一纹理像素被表示为菱形420。RGB空间中的位置通过纹理像素的每一R、G和B分量的值来确定。提供了到UV平面425的投影来示出每一菱形420的R定位。
图4B示出了具有Y轴450、U轴455和V轴460的三维笛卡尔坐标系。原始纹理305的一个4x4块中的每一纹理像素被变换到Y-UV空间中。通过由以上所述的公式所确定的纹理像素的每一Y、U和V分量的值来确定Y-UV空间中的每一纹理像素的位置。由于变换是自适应的,因此U和V的值可取决于如上所述地确定的uv_mode来表示原始R、G和B值的任何两个。
返回到图3,可将经变换的纹理315输入到本地缩减过程320。经变换的纹理315可以以16位浮点格式来表示亮度和色度值(Y-UV值),这通常比整数值更难以压缩。因此,本地缩减过程320可将16位浮点Y-UV值转换成8位整数格式。可将按8位整数格式的值包括在经缩减的纹理325中。
为了将16位浮点或半浮点值转换成8位的整数,可确定全局亮度范围。全局亮度范围可以是4x4块中所有纹理像素的Y通道中的上限值和下限值。上限可通过对最大亮度值进行4位量化并上舍入到最接近的整数来导出。下限可通过4位量化并且下舍入到最接近的整数来导出。16位浮点Y值的每一个可随后被映射到全局亮度范围内的相对值。随后可使用log2空间中的线性量化来量化相对Y值。
为了将16位浮点或半浮点值转换成8位整数,可以为纹理像素的每一4x4块交替地采用线性编码和对数编码。色度通道UV的值一般落入[0,1],并且由此可被直接量化成[0,1]中的256级,即,8位整数值。
经缩减的纹理325可将Y-UV值的每一个表示为4x4块中每一纹理像素的8位整数。另外,经缩减的纹理325可包括全局亮度范围值(按4位整数格式的上限和下限亮度值)。可将经缩减的纹理325输入到共同产生8bpp纹理345的联合通道压缩过程330和点转换过程335。
DirectX纹理压缩(DXTC)通常被应用于被表示为按8位整数格式的Y-UV通道值的未处理的LDR纹理。由此,联合通道压缩过程330可将类DXT的线性适应算法应用于经缩减的纹理325。然而,将类DXT的线性适应算法直接应用于经缩减的纹理325可产生较大失真,因为自适应色彩变换过程310和本地HDR缩减过程320可移除Y-UV颜色空间中类DXT的线性适应算法所依赖的本地线性度属性。由此,在联合通道压缩过程330中采用类DXT的线性适应算法之前,点变换过程335可以还原本地线性度属性。类DXT的线性适应算法还可以压缩8位Y-UV值以产生8bpp纹理345。
点转换过程335可改变Y-UV空间中的经缩减的纹理325的每一4x4块的分布,使得可以还原本地线性度属性。这样,点转换过程335可在Y-UV空间中移动纹理像素,使得每一点被定位于接近Y-UV空间中的单个线段。在一实现中,只沿Y轴移动每一纹理像素。在另一实现中,修改表格可用于确定经缩减的纹理325的每一4x4块的重新分布。
图5示出了根据本文描述的各种技术的各实现的修改表格500。修改表格500包括沿T_idx 510列和M_idx 520行的修改值530的列表。修改值530可用于为点转换过程335而移动块中每一纹理像素的Y值。
修改值530可以根据哪些值减少重构误差而从修改表格500中被选择。类DXT的线性适应算法可以为每个4x4块确定基色度颜色和颜色索引。基色度颜色和颜色索引可以表示4x4块中每一纹理像素的色度值。在一实现中,颜色索引可以是2位值。
可以枚举所有可能的T_idx 510值[0,1...15和M_idx 520值[0,1...7]。T_idx 510和M_idx 520值的每个组合可以标识修改表格500中的一个条目。可以基于一纹理像素的2位颜色索引从所标识的条目的4个值中选择该纹理像素的修改值530。
然后可以确定提供每一纹理像素的最小重构误差的T_idx 510和M_idx 520值。最后,选择按块的T_idx 510和按纹理像素的M_idx 520以便使总体块重构误差最小。
图4B和4C图形地示出了点转换过程335。在图4B中,标注了两个纹理像素点465B和470B。图4C示出了点转换后的相同纹理像素。更具体地,纹理像素点465C和470C示出了沿Y轴的转换,由此点465C具有比465B大的Y值,并且点470C具有比点470B小的Y值。
图4D示出了由图4C中经点变换的纹理像素近似的线段475,其中点465C和470C表示线段475的端点。然而,应当注意,在本文描述的各实现中,经转换的纹理像素点可仅与线段475的端点近似,而不表示实际端点。
图6示出了根据本文描述的各种技术的各实现的包含8bpp纹理345的数据结构600。数据结构600可以在8bpp纹理345中表示每一4x4纹理像素块的颜色数据的格式。数据结构600可以包括全局基亮度块630、类DXT的块604和修改块602。
全局基亮度块630可以包含表示4x4块中的所有纹理像素的亮度值(Y值)范围的两个值。Y值的范围可由全局亮度界限630A和全局亮度界限630B来定义。全局亮度界限630A和全局亮度界限630B的任一个可以包含上限,而另一个可以包含下限。
类DXT的块604可以包括基色640、基色650和颜色索引660。每一基色可以用Y、U和V值表示为18位。由此,基色640可以为640Y、640U和640V的每一个包括6位值。类似地,基色650可以为650Y、650U和650V的每一个包括6位值。基色640和基色650可表示在一个4x4块中由经点转换的纹理像素近似的线段475的端点的值。
颜色索引660可以为块中的每一纹理像素包括2位值。颜色索引660中的每个颜色索引可以(和基色值组合)表示每一纹理像素的Y-UV空间中的一个值。
修改块602可包括便于由纹理像素着色器160解压的数据。修改块602可以包括表示对点转换过程335所引入的原始纹理305的改变的数据值。
在修改表格500中的每一条目中可以包括四个修改值。修改表格500中的每一条目可由T_idx 610和M_idx 620标识。颜色索引660可以标识点转换过程340所使用的修改表格500的条目中的实际值。可为每一块记录一个4位T_idx 610,并且可为每一纹理像素记录一个3位M_idx 620值。
在一实现中,可以通过分配已存储值而在数据结构600中隐含地表示uv_mode。由于uv_mode可以表示3个可能值之一,因此表示uv_mode可能需要2位表示。在一实现中,该2位表示可以通过在基色640、基色650、全局亮度界限630A和全局亮度界限630B中分配已存储值来指示。
由于亮度上限可以被存储在全局亮度界限630A或全局亮度界限630B中,因此可以用上限和下限的放置来表示uv_mode的第一位的值。例如,如果全局亮度界限630B包含上限,即全局亮度界限630B≥全局亮度界限630A,则uv_mode的第一位可以是1,否则,uv_mode的第一位可以是0。
类似地,基色640和基色650中的值可用于定义uv_mode的第二位的值。例如,如果基色640的值≥基色650,则uv_mode的第二位可以为1,否则,uv_mode的第一位为0。
图7示出根据本文描述的各种技术的各实现的用于从8bpp纹理345恢复RGB通道的解码逻辑700。可以为数据结构600中表示的每一纹理像素执行图7所示的解码逻辑700。在一实现中,解码逻辑700可作为纹理像素着色器160的硬件实现的一部分。
可将类DXT的块604的分量输入到类DXT的解码器770,并且可通过对来自颜色索引660的颜色索引、基色值640和基色值650进行解码来恢复三个Y-UV通道的8位整数值。
可以通过计算基色640和基色650的Y分量之差来确定4x4块的亮度范围。点转换过程335中实现的转换量可以通过将Y分量之差与MUX 765所恢复的修改值相乘来恢复。
多路复用器(MUX)765可以使用T_idx 610、M_idx 620和来自颜色索引660的颜色索引在修改表格500中查找修改值。可随后将转换量添加到由类DXT的解码器770所确定的Y值。修改Y值可补偿对点转换过程335中纹理像素的Y值的修改。
对数解码器775可以执行亮度对数解码以及色度对数或线性解码。应当理解,对数解码是线性解码和指数(exp2)操作的结合。对数解码器775可以基于输入到对数解码器775中的相对整数Y、U和V值,使用全局亮度范围(全局亮度界限630A和全局亮度界限630B)来确定绝对浮点Y、U和V值777。由此,对数解码器775可以执行本地缩减过程320的逆操作。
逆色彩变换模块780可执行自适应色彩变换过程310的逆过程。uv_mode 715可标识未计入自适应色彩变换过程210的R、G或B值。通过标识uv_mode 715,逆色彩变换模块780可基于对数解码器775输出的Y、U和V值777来确定R、G和B值785。纹理像素着色器160随后可以基于R、G和B值785来呈现图像。
如前所述,可以通过将全局亮度界限630A和全局亮度界限630B相比较,以及通过将基色640和基色650相比较,从而确定uv_mode 715。如果全局亮度界限630B≥全局亮度界限630A,则uv_mode 715的第一位可以是1,否则,uv_mode 715的第一位可以是0。类似地,如果基色640的值≥基色650,则uv_mode 715的第二位可以为1,否则,uv_mode 715的第一位可以是0。
图8示出了根据本文描述的各种技术的各实现的包含4bpp纹理250的数据结构800。数据结构800可以包含共享信息802和块阵列804。数据结构800可类似于数据结构600。然而,数据结构800可以将纹理像素数据组织成纹理像素的8x8块,而不是将纹理像素数据组织成纹理像素的4x4块。如图所示,块阵列804可以包含块804-00、块804-01、块804-10和块804-11。块阵列804中的每一块可以描述纹理像素的4x4块。由此,数据结构800所述的纹理像素的8x8块也在此称为宏块。
共享信息802可以描述关于宏块的共享信息。共享信息802可以包括全局亮度界限830A、全局亮度界限830B、基色度值840U和840V以及基色度值850U和850V。
全局亮度界限830A和全局亮度界限830B可以是整个宏块的亮度值的范围。和数据结构600的全局亮度界限类似,全局亮度界限830A和全局亮度界限830B内的值的顺序可以定义宏块的uv_mode的第一位。
基色度值840U和840V以及基色度值850U和850V可以描述包括宏块内的所有纹理像素的色度值在内的色度值范围。和数据结构600的基色类似,基色度值840U和840V以及基色度值850U和850V内的值的顺序可以定义宏块的uv_mode的第二位。
块阵列804内的每一块可以包含基亮度值840Y、基亮度值850Y、索引块860和修改块820。基亮度值840Y和基亮度值850Y可以描述包括宏块的一块内的所有纹理像素的相对亮度值在内的相对亮度值范围。
应当注意,基亮度值840Y以及色度值840U和840V可以和数据结构600的基色640类似地定义。类似地,基亮度值850Y以及色度值850U和850V可以和数据结构600的基色650类似地定义。
为了便于压缩至4bpp,数据结构800内仅包括色度信息的采样。由此,索引块860可以被划分成Y索引和Y-UV索引。Y索引和Y-UV索引可以在不同的纹理像素组中表示颜色值。Y索引可以在索引块860内的纹理像素一子集中表示颜色值,而Y-UV索引可以在索引块860内的其余纹理像素中表示颜色值。
Y索引可以仅定义它们代表的纹理像素的亮度信息,而Y-UV索引可以既定义亮度信息又定义色度信息。在重构后,Y-UV索引中存储的色度信息可以与相邻纹理像素共享。在图8中,Y-UV索引用下划线示出,而Y索引未用下划线示出。进一步参考图9A描述Y索引。
由于在颜色索引中仅存储色度信息的采样,因此可以仅为了Y-UV索引所表示的纹理像素采用点转换。由此,修改块820可以仅表示Y-UV索引的修改值。
在4bpp压缩中,点转换可以仅使用修改表格500的前一半。由此,可以仅使用3个位来表示宏块内的T_idx 510。
和数据结构600中的M_idx 620类似,修改块820中的值可以表示修改表格500中的M_idx 520。然而,在一实现中,T_idx 510可以被隐含地表示在数据结构800中,而非显示地表示。隐含表示可以与数据结构600和数据结构800中的uv_mode表示类似。例如,修改表格500中的T_idx 510可以通过基亮度值840Y和基亮度值850Y在块804-00、块804-01和块804-10中的布局来指示。换句话说,T_idx 510的第一位可以通过基亮度值840Y和基亮度值850Y在块804-00中的布局来指示。类似地,T_idx 510的第二位和第三位可以分别在块804-01和块804-10中表示。
图9A示出了根据本文描述的各实现的用于压缩将8bpp纹理945压缩为4bpp纹理950的方法900的数据流程图。方法900可以执行参考图2描述的4bpp编码过程240。和用于8bpp压缩的方法300类似,方法900可以包括自适应色彩变换过程910、本地缩减过程920、联合通道压缩过程930以及点转换过程935。
8bpp纹理945可以被输入到自适应色彩变换过程910中。自适应色彩变换过程910可产生经变换的纹理915。经变换的纹理915可以包括8bpp纹理945的uv_mode和亮度色度信息。
自适应色彩变换过程910可以根据参考图3的自适应色彩变换过程310描述的公式,确定8x8宏块的uv_mode。由于自适应色彩变换过程910可以使用原始RGB通道来确定uv_mode,因此8bpp纹理945可以首先根据解码逻辑700被解码以恢复原始RGB通道。在替代的实现中,可以从原始纹理305中导出原始RGB通道。
此外,RGB通道可以根据参考自适应色彩变换过程310描述的公式被变换成色度(UV)值。如前所述,4bpp纹理250可以仅包括色度值的采样。由此,可以仅为数据结构800中Y-UV索引所表示的纹理像素确定色度值。
图9B示出根据本文描述的各实现的示例色彩索引块960。索引块960可以被划分成四个2x2块965。如图所示,每个2x2块965可以包含3个Y索引和2个Y-UV索引。由此,自适应色彩变换过程910可以仅为每个2x2块965中的一个纹理像素确定色度值。在一实现中,在重构后,Y-UV索引的纹理像素的色度值可以与同一2x2块965中的Y索引的纹理像素共享。
回头参考图9A,经变换的纹理915可以被输入本地缩减过程920,本地缩减过程920产生和参考图3描述的本地缩减过程320所产生的经缩减的纹理325类似的经缩减的纹理925。本地缩减过程920可用对数编码将16位浮点色度值量化成8位整数格式。
本地缩减过程920也可以基于宏块中每一4x4块的全局亮度界限来确定宏块的全局亮度范围(全局亮度界限830A和全局亮度界限830B)。此外,本地缩减过程920可以基于宏块的全局亮度范围重新计算每一4x4块的相对亮度值(基亮度值840Y和基亮度值850Y)。
经缩减的纹理925可以被输入到联合通道压缩过程930和点转换过程935,联合通道压缩过程930和点转换过程935和参照图3描述的联合通道压缩过程330和点转换过程335类似。由于仅为每一4x4块中的4个纹理像素确定经缩减的纹理925中的色度值,因此可以仅为每一块中的4个纹理像素执行点转换过程935。
在4bpp压缩中,仅有3位用于表格条目索引。由此,在点转换过程935中可以仅使用修改表格500的前一半。
经缩减的纹理也可以被输入到亮度估计过程940。亮度估计过程940可以为Y索引所表示的纹理像素确定索引值。在一实现中,Y索引可以被内插在每一4x4块的基亮度值840Y和基亮度值850Y之间。
在具有锐利边缘的图像中,内插Y索引可以引入使图像质量降级的视觉伪像。在这种情况下,可以使用纹理像素预测来确定Y索引的纹理像素值。2位Y索引可以指示用于确定Y索引的纹理像素值的四个Y-UV索引的纹理像素值之一。
在数据结构800内的开关位中可以表示Y索引是指示内插还是指示纹理像素预测。在一实现中,开关位可以通过基亮度值840Y和基亮度值850Y在块804-11中的布局隐含地表示。
点转换过程940可以确保在符合Y索引的纹理像素的代表亮度值的垂直、水平和(Y-UV索引的纹理像素中的)对角方向上的准确级别。亮度估计过程940可以基于重构的最小均方误差来选择内插或预测。
联合通道压缩过程930、点转换过程935和亮度估计过程940可以共同产生4bpp纹理950。
图10A示出用于将4bpp纹理150解码为8bpp纹理145的方法1000的流程图。方法1000可以将数据结构800中存储的4bpp纹理150转换成数据结构600中存储的8bpp纹理145。在一实现中,方法1000可由纹理像素着色器160为4bpp纹理150中的每一宏块执行。一旦被解码,来自8bpp纹理145的RGB通道就可以用解码逻辑700来恢复。
在步骤1010,纹理像素着色器160可以确定Y索引的开关位。开关位可以指示使用哪种方法来表示Y索引的纹理像素的亮度值。内插方法还是预测方法。开关位可以参照图8的描述来确定。
在步骤1020,纹理像素着色器160可确定T_idx。T_idx以及修改块820中的值可以表示经点转换的纹理像素(即Y-UV索引的纹理像素)所使用的修改表格500中的条目。T_idx可以参照图8的描述来确定。
可以为宏块内的每一4x4块执行步骤1030-1080。在步骤1040,T_idx可以被复制到数据结构600中的T_idx 610。
可以为索引块860中的每个Y索引执行步骤1050-1080。
在步骤1060,如果开关位指示Y索引所表示的纹理像素是预测的纹理像素,方法1000就前进至步骤1070。在步骤1070,Y索引值所指示的Y-UV索引的索引值可以被复制到数据结构600中颜色索引660中的相应颜色索引。
如果开关位指示Y索引所表示的纹理像素不是预测的纹理像素,方法1000就前进至步骤1080。在步骤1080,Y索引值可以被复制到数据结构600中颜色索引660中的相应颜色索引。
在所有Y索引都已被处理后,在步骤1090,纹理像素着色器160可以将4bpp块从4bpp纹理150复制到它们在8bpp纹理145中的相应8bpp块。
图10B示出根据本文描述的各实现的指示从4bpp纹理150被复制到8bpp纹理145的数据的框图。如图所示,全局亮度界限830A和全局亮度界限830B可以分别被复制到全局亮度界限630A和全局亮度界限630B。
基色度值840U和840V以及基色度值850U和850V可以分别被复制到640U、640V、650U和650V。基亮度值840Y和基亮度值850Y可以分别被复制到640Y和650Y。
如上所述,在步骤1090的块复制之前,从Y索引的纹理像素复制颜色索引660。在步骤1090,Y-UV索引被复制到它们相应的颜色索引660。
修改块820也可以被复制到M_idx 620值。如前所述,修改块820中的值可以表示其余的Y-UV索引的纹理像素。
图11示出了根据本文描述的各实现的处理环境1100的框图。上述编码和解码方法可以应用于许多不同种类的处理环境。处理环境1100可以包括个人计算机(PC)、游戏控制台等等。
处理环境1100可包括诸如RAM 1104和只读存储器(ROM)1106等各种易失性和非易失性存储器以及一个或多个中央处理单元(CPU)1108。操作环境1100可还以包括一个或多个GPU 1110。GPU 1110可以包括纹理高速缓存1124。图像处理任务可以在CPU 1108和GPU 1110之间共享。在本发明的上下文中,图1中描述的系统的任何解码功能可以按任何方式在CPU 1108和GPU 1110之间分配。类似地,图2中描述的方法200的任何编码功能可以按任何方式在CPU 1108和GPU 1110之间分配。
处理环境1100还可以包括各种媒体设备1112,诸如硬盘模块、光盘模块等。例如,媒体设备1112中的一个或多个可以将原始纹理205、8bpp纹理245、4bpp纹理250和/或存储格式纹理270存储在盘上。
处理环境1100还可以包括用于从用户(经由输入设备1114)接收各种输入和用于向用户(经由输出设备1116)提供各种输出的输入/输出模块1118。处理环境1100还可包括用于经由一个或多个通信管道(例如网络)与其它设备交换数据的一个或多个网络接口1120。一条或多条通信总线1122可以将上述组件通信地耦合在一起。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。

Claims (20)

1.一种用于压缩纹理的方法,包括:
将红绿蓝(RGB)空间中的纹理像素的第一块变换成亮度色度空间中的纹理像素的第二块,所述第一块具有红色值、绿色值和蓝色值,所述第二块具有亮度值和色度值,所述色度值是基于所述红色值的和、绿色值的和以及蓝色值的和;
对所述第二块中的纹理像素的第一子集采样色度值;
将所述亮度值和经采样的色度值转换成8位整数格式;
修改所述第一子集的亮度值以便将本地线性度属性还原到所述第一子集;以及
将所述第二块压缩成第三块。
2.如权利要求1所述的方法,其特征在于,还包括基于所述第一子集的亮度值预测第二子集的亮度值。
3.如权利要求2所述的方法,其特征在于,所述第二子集是所述第二块中除所述第一子集外的其余纹理像素。
4.如权利要求1所述的方法,其特征在于,所述纹理是LDR纹理,所述方法还包括将纹理像素的所述第一块从低动态范围(LDR)格式转换成高动态范围(HDR)格式。
5.如权利要求1所述的方法,其特征在于,所述纹理是高动态范围纹理。
6.如权利要求1所述的方法,其特征在于,所述第一块以每像素8位的压缩率来压缩。
7.如权利要求6所述的方法,其特征在于,所述第三块以每像素4位的压缩率来压缩。
8.如权利要求1所述的方法,其特征在于,所述第三块以每像素4位的压缩率来压缩。
9.如权利要求1所述的方法,其特征在于,所述第二块使用联合颜色通道压缩方法来压缩。
10.如权利要求9所述的方法,其特征在于,所述联合颜色通道压缩方法包括类DirectX
Figure FPA00001328453200021
纹理的线性适应算法。
11.一种其上存储计算机可执行指令的计算机可读介质,所述指令在由计算机执行时使得所述计算机:
将红绿蓝(RGB)空间中的纹理的纹理像素的第一块变换成亮度色度空间中的纹理像素的第二块,所述第一块以每像素8位(8bpp)来压缩并且具有红色值、绿色值和蓝色值,所述第二块具有亮度值和色度值,所述色度值是基于所述红色值的和、绿色值的和以及蓝色值的和;
对所述第二块中的纹理像素的第一子集采样色度值;
将所述亮度值和经采样的色度值转换成8位整数格式;
修改所述第一子集的亮度值以便将本地线性度属性还原到所述第一子集;以及
以每像素4位的压缩率将所述第二块压缩为第三块。
12.如权利要求11所述的计算机可读介质,其特征在于,还包括在由所述计算机执行时使得所述计算机执行以下步骤的计算机可执行指令:
基于所述第一子集的亮度值预测第二子集的亮度值。
13.如权利要求12所述的计算机可读介质,其特征在于,所述第二子集是所述第二块中除所述第一子集外的其余纹理像素。
14.如权利要求11所述的计算机可读介质,其特征在于,所述纹理是LDR纹理,所述计算机可读介质还包括在由所述计算机执行时使得所述计算机执行以下步骤的计算机可执行指令:
将纹理像素的所述第一块从低动态范围(LDR)格式转换成高动态范围(HDR)格式。
15.如权利要求11所述的计算机可读介质,其特征在于,所述纹理是高动态范围纹理。
16.如权利要求11所述的计算机可读介质,其特征在于,所述第二块使用联合颜色通道压缩方法来压缩。
17.如权利要求16所述的计算机可读介质,其特征在于,所述联合颜色通道压缩方法包括类DirectX
Figure FPA00001328453200031
纹理的线性适应算法。
18.一种计算机系统,包括:
处理器;以及
包括由所述处理器可执行的程序指令的存储器,所述存储器用于:
将红绿蓝(RGB)空间中的纹理的纹理像素的第一块变换成亮度色度空间中的纹理像素的第二块,所述第一块以每像素8位(8bpp)来压缩并且具有红色值、绿色值和蓝色值,所述第二块具有亮度值和色度值,所述色度值是基于所述红色值的和、绿色值的和以及蓝色值的和;
对所述第二块中的纹理像素的第一子集采样色度值;
将所述亮度值和经采样的色度值转换成8位整数格式;
修改所述第一子集的亮度值以便将本地线性度属性还原到所述第一子集;
以每像素4位的压缩率将所述第二块压缩为第三块;以及
基于所述第一子集的亮度值预测第二子集的亮度值。
19.如权利要求18所述的计算机系统,其特征在于,所述存储器还包括可由处理器执行以执行以下操作的程序指令:将纹理像素的所述第一块从低动态范围(LDR)格式转换成高动态范围(HDR)格式。
20.如权利要求18所述的计算机系统,其特征在于,所述第二子集是所述第二块中除所述第一子集外的其余纹理像素。
CN2009801346856A 2008-06-26 2009-06-26 统一纹理压缩框架 Pending CN102138158A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/146,496 US20090322777A1 (en) 2008-06-26 2008-06-26 Unified texture compression framework
US12/146,496 2008-06-26
PCT/US2009/048975 WO2009158689A2 (en) 2008-06-26 2009-06-26 Unified texture compression framework

Publications (1)

Publication Number Publication Date
CN102138158A true CN102138158A (zh) 2011-07-27

Family

ID=41445376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801346856A Pending CN102138158A (zh) 2008-06-26 2009-06-26 统一纹理压缩框架

Country Status (4)

Country Link
US (1) US20090322777A1 (zh)
EP (1) EP2304684A4 (zh)
CN (1) CN102138158A (zh)
WO (1) WO2009158689A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107004280A (zh) * 2014-07-10 2017-08-01 英特尔公司 用于高效的纹理压缩的方法和装置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101953169B (zh) * 2008-02-15 2012-12-05 半导体解法株式会社 对ccd图像传感器输出的图像信号执行数字处理的方法
US8165393B2 (en) 2008-06-05 2012-04-24 Microsoft Corp. High dynamic range texture compression
KR101573400B1 (ko) * 2009-02-18 2015-12-02 삼성디스플레이 주식회사 액정 표시 장치 및 그 구동 방법
EP2360926A1 (en) * 2010-01-19 2011-08-24 Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. Image encoder and image decoder
GB2487717B (en) * 2011-01-25 2017-06-21 Advanced Risc Mach Ltd Image encoding method
US9378560B2 (en) * 2011-06-17 2016-06-28 Advanced Micro Devices, Inc. Real time on-chip texture decompression using shader processors
US9251116B2 (en) * 2011-11-30 2016-02-02 International Business Machines Corporation Direct interthread communication dataport pack/unpack and load/save
JP6847033B2 (ja) 2014-10-10 2021-03-24 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated ハイブリッドブロックベースの圧縮
US10540808B2 (en) * 2016-09-16 2020-01-21 Intel Corporation Hierarchical Z-culling (HiZ) optimization for texture-dependent discard operations

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0294533B1 (en) * 1987-06-12 1994-01-19 International Business Machines Corporation Method for protecting coded signal integrity
GB9517436D0 (en) * 1995-08-25 1995-10-25 Eidos Plc Video processing for storage or transmission
US6560285B1 (en) * 1998-03-30 2003-05-06 Sarnoff Corporation Region-based information compaction as for digital images
AUPQ289099A0 (en) * 1999-09-16 1999-10-07 Silverbrook Research Pty Ltd Method and apparatus for manipulating a bayer image
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
US6879731B2 (en) * 2003-04-29 2005-04-12 Microsoft Corporation System and process for generating high dynamic range video
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
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
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
US7873212B2 (en) * 2006-01-24 2011-01-18 Nokia Corporation Compression of images for computer graphics
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107004280A (zh) * 2014-07-10 2017-08-01 英特尔公司 用于高效的纹理压缩的方法和装置

Also Published As

Publication number Publication date
EP2304684A4 (en) 2011-10-05
EP2304684A2 (en) 2011-04-06
WO2009158689A2 (en) 2009-12-30
US20090322777A1 (en) 2009-12-31
WO2009158689A3 (en) 2010-03-11

Similar Documents

Publication Publication Date Title
CN102138158A (zh) 统一纹理压缩框架
US12047592B2 (en) Texture decompression techniques
CN102113305B (zh) 高动态范围纹理压缩
JP4698739B2 (ja) コンピュータグラフィックスのための画像圧縮
US20070076971A1 (en) Compression of images for computer graphics
US20090092315A1 (en) High quality image processing
EP2294550B1 (en) Layered texture compression architecture
EP2797049B1 (en) Color buffer compression
US11263786B2 (en) Decoding data arrays
US20180097527A1 (en) 32-bit hdr pixel format with optimum precision
US8594441B1 (en) Compressing image-based data using luminance
US9129543B2 (en) Texture compression and decompression
US7742646B1 (en) Modified high dynamic range color decompression
WO2024161286A1 (en) Systems and methods for improving compression of normal maps
TW202324292A (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110727