CN108109193B - 一种适用于延迟着色的可变精度编、解码方法 - Google Patents
一种适用于延迟着色的可变精度编、解码方法 Download PDFInfo
- Publication number
- CN108109193B CN108109193B CN201711373824.3A CN201711373824A CN108109193B CN 108109193 B CN108109193 B CN 108109193B CN 201711373824 A CN201711373824 A CN 201711373824A CN 108109193 B CN108109193 B CN 108109193B
- Authority
- CN
- China
- Prior art keywords
- data
- coding
- encoding
- channel
- precision
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/503—Blending, e.g. for anti-aliasing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Color Television Systems (AREA)
Abstract
一种适用于延迟着色的GBuffer数据编、解码方法。编码时,先将待编码数据转化为线性空间数据,再将所述线性空间数据进行拆分为固定数据和可选数据,利用ALpha通道存储所述线性空间数据中的可选数据部分。对应的,解码时,再将拆分后的可选数据补入原先对应的数据位。本发明利用ALpha通道上的数据位增加存储更多位的数据,以此提高编码数据的精度。在无需高精度编码时,直接按原有方式进行编码即可,不会因为精度要求增加额外的数据存储量。本发明所提供的方法在八面体法线编码过程中,仅使用22bit,其效果就已超过现有24bit的BestFitNormal编码的效果。本发明尤其适用于小带宽显卡的编码与渲染。
Description
技术领域
本发明涉及编码技术,尤其涉及一种适用于延迟着色场景渲染的编码技术。
背景技术
延迟着色是一种对3D场景进行后期照明的技术。这种技术突破了以往渲染系统支持多重动态光源时,效率以及各种性能急剧下降的限制。可以使得一个3D场景支持成百上千个动态光源。
采用延迟着色技术进行场景渲染时,通常需要物体表面的法线数据。法线数据通常需要缓存在一张GBuffer纹理中。由于法线为单位向量,若直接存储3个量则非常浪费显存与带宽。若需要对法线向量进行压缩存储,通常的做法是采用各种压缩算法。比如,丢弃一个分量只保留其符号,使用数学函数来合理分布剩下的两个量;也有利用查表来加速计算,并解码速度非常高效的BestFitNormal算法等。
但是,这些编码方法通常需要消耗较大的系统资源。而且,实际游戏应用中,粗糙表面的法线数据并不需要存储太高的精度,而光滑表面则对法线精度要求很高,尤其是反射占主导的光滑材质。
常见的编码算法虽然能够对法线数据进行一定程度的压缩,但是这些压缩方式下,法线向量数据的精度往往为固定数值。如BestFixNormal算法必须要3个通道,3个通道分配的精度无法改变。在材质不需要高精度时,多余的法线精度数据无法挪做它用。尤其是需要进行Alpha混合的时候,GBuffer纹理中元素的ALpha通道都需要保留给Alpha值使用,由此,GBuffer的可用空间将会变得非常紧张。而,如果一开始为节约空间就选择低精度存储GBuffer纹理的话,在渲染反射占主导的光滑材质时,又会出现法线向量精度过低,影响渲染效果的问题。
因此,目前,急需一种数据量小、精度高的编码方法,能够在延迟着色渲染过程中,达到更佳渲染效果的编码方法。
发明内容
为了解决现有技术存在的不足,本发明的目的在于提供一种适用于延迟着色的GBuffer数据编、解码方法。
首先,为实现上述目的,提出一种适用于延迟着色的GBuffer数据编码方法,包括以下步骤:
第一步,若待编码数据编码包括固定数据和可选数据,则直接跳转至第二步;否则,先将所述待编码数据转为线性空间数据,再将所述线性空间数据的高位直接作为固定数据,将所述线性空间数据的低位作为可选数据,然后跳转至第二步;
第二步,将所述固定数据存储于对应通道中,将所述线性可选数据存储于Alpha通道(即,目前无需使用的专用于渲染目标的第四通道)中;跳转至第三步;
第三步,重复上述步骤,直至完成对全部GBuffer数据的编码;
所述解码方法的步骤包括:
将所述Alpha通道中的数据补入对应通道的可选数据位,输出全部对应通道数据。
进一步,上述的编码方法,所述第一步中,在确定所述固定数据和所述可选数据后,跳转至第二步之前,还包括判断待编码数据需要的编码精度的步骤:若需要的编码精度高则跳转至第二步;否则,直接将所述待编码数据作为固定数据直接存储于对应通道中,然后跳转至第三步。
具体而言,上述的编码方法中,所述待编码数据包括法线向量、颜色数据或HDR图像数据。
上述的编码方法中,在跳转至所述第二步之前,对编码精度的判断依据为:
若所述待编码数据所对应的材质为不透明材质或无需ALpha通道(所述ALpha通道即可选通道、余数通道,因为该通道在编码时与其他通道无关,仅在渲染时会用到)数据,或要求高编码精度,则判断所述待编码数据需要的编码精度高;
对应的,若待编码数据对应的材质为透明材质,或需要ALpha通道数据,或不要求高编码精度,则判断所述待编码数据需要的编码精度低。这里对精度的判断,以肉眼能否察觉区别为准,即肉眼看和精度无限高时的效果接近则认为精度够,能看出结果差异很大则精度不足。
进一步,上述的编码方法中,所述第二步中,所述固定位为所述线性空间数据中的高位数据,所述其余位为所述线性空间数据中的低位数据;或者,在所述线性空间数据为指数形式的情况下,所述固定位为所述线性空间数据中的实数数据,所述其余位为所述线性空间数据中的指数数据:
若所述待编码数据为法线向量,则将所述待编码数据转为线性空间数据的具体步骤为:使用oct编码将所述法线向量转为2通道的线性空间数据;
此时,所述固定数据为:所述线性空间数据的高(8、10)位;所述可选数据为:所述线性空间数据的低位或将所述线性空间数据的低位拼接(即,将所述线性空间数据的低(4、1)位拼接)获得的数据。所述线性空间数据的高(8、10)位分别存放在(R8G8B8A8、R10G10B10A2)格式的RGB通道中的两个通道里;所述线性空间数据的低(4、1)位拼接获得的(一个8、2bit)可选数据,存放在所述Alpha通道里。
若所述待编码数据为HDR图像数据,则所述第一步的具体步骤为:按照所述HDR图像数据中颜色提取数值最大的通道确定指数位,按确定的所述指数位将所述HDR图像数据编码为RGBE格式(RGB为颜色的实数位,E为RGB共享的指数)的HDR颜色数据,将所述HDR颜色数据中的RGB分量作为固定数据,将所述HDR颜色数据中的E分量作为可选数据。
若所述待编码数据为颜色数据,则所述第一步的具体步骤为:将所述待编码数据中的颜色数据编码为YCrCb/YUV色彩编码格式,将所述
YCrCb/YUV色彩编码格式中的CrCb/UV分量以及Y分量的高位作为固定数据,将Y分量的低位作为可选数据。YcrCb中Y为亮度,Cr为红偏Cb为蓝偏,YUV格式同理,只是UV表示的是色度与浓度。因人眼对颜色不如亮度敏感,所以可以对Y(亮度分量)进行精度的调整。
再进一步,上述的编码方法中,所述第一步之前,还包括将所述GBuffer数据清屏的步骤,将所述ALpha通道的数据设置为默认值,或关闭所述ALpha通道缓存写入。
其次,为实现上述目的,还提出一种适用于延迟着色的GBuffer数据编码系统,包括:通道压缩模块、编码精度判断模块和通道缓存模块:
其中,所述通道压缩模块用于将占用3通道或以上的待编码数据转为1-2通道,生成线性空间数据;或直接将占用通道数目不足3通道的待编码数据作为线性空间数据;将所述线性空间数据输出至所述编码精度判断模块;所述编码精度判断模块用于在所述待编码数据对应的材质为不透明材质,或无需ALpha通道数据,或要求高编码精度时,判断所述待编码数据需要的编码精度高;
所述通道缓存模块用于在所述编码精度判断模块判断所述待编码数据需要的编码精度高时,将所述线性空间数据中的高位存储于对应通道的缓存中,将所述线性空间数据中的低位对应存储于ALpha通道的缓存中;在所述编码精度判断模块判断所述待编码数据需要的编码精度不高时,将所述线性空间数据直接存储于对应通道的缓存中。
进一步,上述的数据编码系统中,所述通道缓存模块还用于在对所述GBuffer数据清屏时,将所述ALpha通道缓存设置为默认值或关闭所述ALpha通道缓存写入。
为配合上述的编码系统,本发明同时还提出一种适用于延迟着色的GBuffer数据解码系统,包括顺次级联的Alpha通道缓存模块和通道还原模块:
所述Alpha通道缓存模块用于将所述ALpha通道中的数据补入对应通道的低位,拼接为线性空间数据,输出至所述通道还原模块;
所述通道还原模块用于按照压缩模块的逆运算,将所述线性空间数据还原为原先的通道数量。这里的通道还原,实际与编码互成对应的反函数,即解码。这里选用什么具体算法均只是为了将待编码数据转至线性空间方便取低位,或对应的,在解码时将线性空间数据通过反函数还原。本发明用ALpha通道补充位数提高编码精度的方式,同样适用于通过编码本身就能产生一个非必要的只是用来提高精度的一部分数据的这类情况。
本发明所提供的技术中,只要求编码后的数据精度分布是线性空间的即可,例外,在前面说的几通道数据共享指数位的方法中,整个指数位都是共用的可选的数据,而不需要提取其低位作为单独的参数。
有益效果
本发明,在编码时,先将待编码数据转化为线性空间数据,再将所述线性空间数据进行拆分,利用ALpha通道存储所述线性空间数据中的部分数据位。对应的,本发明在解码时,将拆分后的数据补入原先对应的数据位,获得原先编码的数据。本发明利用ALpha通道上空余的数据位,增加编码时的数据位,以此提高编码数据的精度。在无需高精度编码时,本发明可直接按原有方式进行编码,不会因为精度要求增加额外的数据存储量。本发明所提供的方法在八面体法线编码过程中,仅使用22bit,其效果就可超过现有24bit的BestFitNormal编码的效果,尤其适用于小带宽显卡的编码与渲染。
进一步,由于本发明是利用空闲通道补充编码精度,因此,只要在压缩占用通道的数量后,就可进行更高精度的编解码。具体的对占用通道的数量进行压缩的方法可直接选用现有的通道数量转换方法;本发明同时也可直接针对存在空余通道的数据,例如GBuffer图中的法线向量、颜色数据或HDR图像数据,直接进行高精度编码。
再进一步,为节省编码消耗资源,本发明在对线性空间数据进行拆分时,还可根据所述待编码数据对应的材质、或反射强度、或是否需要ALpha通道数据、或是否要求高编码精度,判断所述待编码数据需要的编码精度,仅针对编码精度要求高的数据进行拆分和补入,对编码精度低的数据不做拆分。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
图1为根据本发明的编、解码方法流程图;
图2为根据本发明的编、解码系统框图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明的目的在于,为反射不占主导(反射得到的渲染效果相对于其他光照所获得的渲染效果可忽略或肉眼难以察觉)的材质选择低精度的编码,将ALpha通道留作混合用途(例如,用于在别的物体上追加渲染的贴花效果);同时,为反射占主导(主要指针对不透明或透明度可忽略)的材质提供高精度的法线或其他数据的编码,此时可以通过选择用ALpha通道上的数据容量来增强编码的数据位数,提高编码精度。本例中使用八面体法线编码仅使用22bit,其效果就已超过24bit的BestFitNormal编码效果。
图1为根据本发明的编、解码方法流程图,具体的,适用于延迟着色的GBuffer数据编码方法,包括以下步骤:
第一步,若待编码数据编码包括固定数据和可选数据,则直接跳转至第二步;否则,先将所述待编码数据转为线性空间数据,再将所述线性空间数据的高位直接作为固定数据,将所述线性空间数据的低位作为可选数据,然后跳转至第二步;这里,可选数据是否可用与编码方式无关,只与是否因混合需要占用Alpha通道有关;
第二步,将所述线性空间数据中的固定位存储于对应通道中,将所述线性空间数据中的其余位分别存储于ALpha通道中(这里的Alpha通道作为最普遍的余数通道的示例。目前无需使用的专用于渲染目标的第四通道均可用作这里的ALpha通道,或者叫可选通道。因为,这一通道在通常的状况下不需要存储数据也无需记录图像后续处理、渲染等操作中所必需的参数);跳转至第三步;
第三步,重复上述步骤,直至完成对全部GBuffer数据的编码;
所述解码方法的步骤包括:
将所述Alpha通道中的数据补入对应通道的可选数据位,输出全部对应通道数据。
进一步,上述的编码方法,所述第一步中,在确定所述固定数据和所述可选数据后,跳转至第二步之前,还包括判断待编码数据需要的编码精度的步骤:若需要的编码精度高则跳转至第二步;否则,直接将所述待编码数据作为固定数据直接存储于对应通道中,然后跳转至第三步。
具体而言,上述的编码方法中,所述待编码数据包括法线向量、颜色数据或HDR图像数据。具体,以颜色数据为例,可以先经过编码成为R8G8B8E8这样rgb存实数,Alpha存指数这样的形式,类似浮点数但三个通道共享指数,此时ALpha通道存的指数为可选通道,当没有指数时rgb相当于定点数(小数点位置确定)。RGBE编码为早期HDR的一种常用实现,只是将这种编码用作Gbuffer且E作为可选没有见到先例,上述内容可作为另一个应用情况。
上述的编码方法中,所述第二步之前,对编码精度的判断依据为:
若所述待编码数据对应的材质为不透明材质,或反射强度大的材质,或无需ALpha通道数据,或要求高编码精度,则判断所述待编码数据需要的编码精度高;
对应的,若待编码数据对应的材质为透明材质,或反射强度小的材质,或需要ALpha通道数据,或不要求高编码精度,则判断所述待编码数据需要的编码精度低。这里对精度的判断,以肉眼能否察觉区别为准,即肉眼看和精度无限高时的效果接近则认为精度够,能看出结果差异很大则精度不足。
进一步,上述的编码方法中,所述第二步中,所述固定位为所述线性空间数据中的高位数据,所述其余位为所述线性空间数据中的低位数据;或者,在所述线性空间数据为指数形式的情况下,所述固定位为所述线性空间数据中的实数数据,所述其余位为所述线性空间数据中的指数数据。
若所述待编码数据为法线向量,则将所述待编码数据转为线性空间数据的具体步骤为:使用oct编码抽将所述法线向量转为2通道的线性空间数据;
此时,所述固定数据为:所述线性空间数据的高8位(或10位);所述可选数据为:所述线性空间数据的低位或将所述线性空间数据的低位拼接(即,将所述线性空间数据的低4位(或1位)拼接)获得的数据。所述线性空间数据的高8位(或10位)分别存放在R8G8B8A8(或R10G10B10A2)格式中的RGB通道中的两个通道里;所述线性空间数据的低4位(或1位)拼接获得的一个8bit(或2bit)可选数据,存放在所述Alpha通道里。
若所述待编码数据为HDR图像数据,则所述第一步的具体步骤为:按照所述HDR图像数据中颜色提取数值最大的通道确定指数位,按确定的所述指数位将所述HDR图像数据编码为RGBE格式的HDR颜色数据,将所述HDR颜色数据中的RGB分量作为固定数据,将所述HDR颜色数据中的E分量作为可选数据。
若所述待编码数据为颜色数据,则所述第一步的具体步骤为:将所述待编码数据中的颜色数据编码为YCrCb/YUV色彩编码格式,将所述YCrCb/YUV色彩编码格式中的CrCb/UV分量以及Y分量的高位作为固定数据,将Y分量的低位作为可选数据。YcrCb中Y为亮度,Cr为红偏Cb为蓝偏,YUV格式同理,只是UV表示的是色度与浓度。因人眼对颜色不如亮度敏感,所以可以对Y(亮度分量)进行精度的调整。
再进一步,上述的编码方法中,所述第一步之前,还包括将所述GBuffer数据清屏的步骤,将所述ALpha通道的数据设置为默认值(如,0或表达范围内的中间值),或关闭所述ALpha通道缓存写入。
具体,上述以oct法线编码并使用R10G10B10A2格式为例,上述的编码技术先将法线的编码为2通道法线。这里选用的oct法线编码并使用R10G10B10A2格式可充分保证低精度模式时的精度。其中,法线的图的格式可任意指定,如移动平台为兼容可选用A8R8G8B8。
根据材质选择编码精度:不透明材质、不需ALpha通道渲染的表面可将此通道用作补充精度,存低位数据(因为存高位数据可能会在解码时出现错误渲染);反射强度大的选择高精度,反射弱、粗糙或透明的材质可以选择低精度。
高精度模式时,取两个通道的高位分别存入对应的两个通道,将这两个通道的低位合并或分开存入一个或两个可选通道,及ALpha通道(本例为R10G10B10A2的A2通道中的2bit数据中,1bit用于R10的低位,1bit用于G10的低位,B10通道则保持原始设置的默认值,以供后续其他材质用途;使用A8R8G8B8时则将B8通道中的4bit用于存储A8通道的低位,4bit的B8通道数据位用于存储R8通道的低位;若有两张R10G10B10A2也可各使用2bit的低位)。
低精度模式时直接将两通道的值写入,可选通道用于其它用途(如alpha混合)并禁止该通道写入(以防止干扰法线的解码)。其中,禁止ALpha通道写入的方式,具体是通过图像API接口中的ColorWriteMask函数,将A通道位置设置为0。
针对上述的编码方法,本发明在对延迟着色的GBuffer数据解码时,输出的数据和原通道的数量没有太大关系,只要编码后的数据精度分布是线性空间的即可。在共享指数的存储方式下,作为例外,此时整个指数位都是可选的,不需要提取低位作为可选数据这个过程。
也就是说,本发明所提供的方案在解码时,无论精度高低均一律选择高精度解码,此时低精度法线因可选通道为默认值(如0或表达范围的中间值)解码后相当于低精度的法线,高精度的法线则得到充分还原。在ALpha通道用作其他用途时,主要指用于Alpha混合时,其输出的Alpha值用于混合的参数之一但可以不写,因此不适用本发明所述方案提高编码精度。
最后使用解码后的法线即可完成光照的渲染。
图2为根据本发明的编、解码系统的框图。
其中,适用于延迟着色的GBuffer数据编码系统,具体包括:依次级联的通道压缩模块、编码精度判断模块和通道缓存模块:
其中,所述通道压缩模块用于将占用3通道或以上的待编码数据转为2通道,生成线性空间数据;或直接将占用通道数目不足3通道的待编码数据作为线性空间数据;将所述线性空间数据输出至所述编码精度判断模块;所述编码精度判断模块用于在所述待编码数据对应的材质为不透明材质,或反射强度大的材质,或无需ALpha通道数据,或要求高编码精度,时判断所述待编码数据需要的编码精度高;
所述通道缓存模块用于在所述编码精度判断模块判断所述待编码数据需要的编码精度高时,将所述线性空间数据中的高位存储于对应通道的缓存中,将所述线性空间数据中的低位对应存储于ALpha通道的缓存中;在所述编码精度判断模块判断所述待编码数据需要的编码精度不高时,将所述线性空间数据直接存储于对应通道的缓存中。
进一步,上述的数据编码系统中,所述通道缓存模块还用于在对所述GBuffer数据清屏时,将所述ALpha通道缓存设置为默认值或关闭所述ALpha通道缓存写入。
与之对应的解码系统具体包括:顺次级联的Alpha通道缓存模块和通道还原模块:
所述Alpha通道缓存模块用于将所述ALpha通道中的数据补入对应通道的低位,拼接为线性空间数据,输出至所述通道还原模块;
所述通道还原模块用于按照压缩模块的逆运算(和编码中多通道转2通道算法相对应的反函数,即解码,即这里的通道还原模块。这一模块没有固定的算法或特定的统称,这里选用什么算法只是为了配合转线性空间方便取低位,或者编码本身就能产生一个非必要的只是用来提高精度的一部分数据。)。所述通道还原模块用于将所述线性空间数据还原为原先的通道数量。
本发明技术方案的优点主要体现在:针对无需需要记录ALpha通道的数据,本发明针对带宽小的显卡,能够在不增加额外存储量的状态下增强编码后的渲染效果。
同时,本发明也适用于编码其他精度可变的内容,只要该数据存在空闲的通道(如ALpha通道)。
本发明所提供的编码方法与常用的效果最优的编码方法相比,编码后的渲染效果基本接近,但本发明无需占用3通道。其原因在于,现有的编码方法均为定长编码,全部3通道都需要进行Alpha混合,缺少任何一位均会导致错误渲染,因此,编码数据的位数固定。而本发明可以在相同的位数下,利用ALpha通道对通道内编码数据的位数进行补充(存储编码数据中的低位数据),因而,其渲染效果更加逼真。
本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种适用于延迟着色的GBuffer数据编解码方法,包括编码方法和解码方法,其特征在于,所述编码方法的步骤包括:
第一步,若待编码数据编码包括固定数据和可选数据,则直接跳转至第二步,否则,先将所述待编码数据转为线性空间数据,再将线性空间数据的高位直接作为固定数据,将线性空间数据的低位作为可选数据,然后跳转至第二步;
第二步,将所述固定数据存储于对应通道中,将所述可选数据存储于Alpha通道中;跳转至第三步;
第三步,重复上述步骤,直至完成对全部GBuffer数据的编码;
所述解码方法的步骤包括:
将所述Alpha通道中的数据补入对应通道的可选数据位,输出全部对应通道数据。
2.如权利要求1所述的适用于延迟着色的GBuffer数据编解码方法,其特征在于,所述第一步中,在确定所述固定数据和所述可选数据后,跳转至第二步之前,还包括判断待编码数据需要的编码精度的步骤:若需要的编码精度高则跳转至第二步;否则,直接将所述待编码数据作为固定数据直接存储于对应通道中,然后跳转至第三步。
3.如权利要求2所述的适用于延迟着色的GBuffer数据编解码方法,其特征在于,所述待编码数据包括法线向量、颜色数据或HDR图像数据。
4.如权利要求2所述的适用于延迟着色的GBuffer数据编解码方法,其特征在于,在跳转至所述第二步之前,对编码精度的判断依据为:
若所述待编码数据对应的材质为不透明材质,或无需预留Alpha通道进行Alpha混合,或要求高编码精度,则判断所述待编码数据需要的编码精度高。
5.如权利要求3所述的适用于延迟着色的GBuffer数据编解码方法,其特征在于,若所述待编码数据为法线向量,则将所述待编码数据转为线性空间数据的具体步骤为:使用oct编码将所述法线向量转为2通道的线性空间数据;
此时,所述固定数据为:所述线性空间数据的高位;
所述可选数据为:所述线性空间数据的低位或将所述线性空间数据的低位拼接所得的数据。
6.如权利要求3所述的适用于延迟着色的GBuffer数据编解码方法,其特征在于,若所述待编码数据为HDR图像数据,则所述第一步的具体步骤为:按照所述HDR图像数据中颜色提取数值最大的通道确定指数位,按确定的所述指数位将所述HDR图像数据编码为RGBE格式的HDR颜色数据,将所述HDR颜色数据中的RGB分量作为固定数据,将所述HDR颜色数据中的E分量作为可选数据。
7.如权利要求3所述的适用于延迟着色的GBuffer数据编解码方法,其特征在于,若所述待编码数据为颜色数据,则所述第一步的具体步骤为:将所述待编码数据中的颜色数据编码为YCrCb色彩编码格式或YUV色彩编码格式,
YCrCb色彩编码格式下,将所述YCrCb色彩编码格式中的CrCb分量以及Y分量的高位作为固定数据,将Y分量的低位作为可选数据;
YUV色彩编码格式下,将所述YUV色彩编码格式中的UV分量以及Y分量的高位作为固定数据,将Y分量的低位作为可选数据。
8.如权利要求2所述的适用于延迟着色的GBuffer数据编解码方法,其特征在于,所述第一步之前,还包括将所述GBuffer数据清屏的步骤:
将所述Alpha通道的数据设置为默认值;
或,在需要预留Alpha通道进行Alpha混合时关闭所述Alpha通道的写入;
或,在无需编码精度高时关闭所述Alpha通道的写入。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711373824.3A CN108109193B (zh) | 2017-12-19 | 2017-12-19 | 一种适用于延迟着色的可变精度编、解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711373824.3A CN108109193B (zh) | 2017-12-19 | 2017-12-19 | 一种适用于延迟着色的可变精度编、解码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108109193A CN108109193A (zh) | 2018-06-01 |
CN108109193B true CN108109193B (zh) | 2021-06-22 |
Family
ID=62211234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711373824.3A Active CN108109193B (zh) | 2017-12-19 | 2017-12-19 | 一种适用于延迟着色的可变精度编、解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108109193B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109794062B (zh) * | 2019-01-15 | 2022-08-30 | 珠海金山网络游戏科技有限公司 | 一种实现mmo游戏地表贴花的方法及其装置 |
CN112402958B (zh) * | 2020-10-27 | 2022-05-13 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、装置和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368329A (zh) * | 2011-10-24 | 2012-03-07 | 龙芯中科技术有限公司 | 图形系统中纹理图像透明度通道处理系统与装置和方法 |
CN104365097A (zh) * | 2012-06-01 | 2015-02-18 | 阿尔卡特朗讯公司 | 用于编码具有透明度信息信道的视频流的方法和装置 |
CN104835191A (zh) * | 2014-02-06 | 2015-08-12 | 想象技术有限公司 | 3d图形处理系统中用于处理图元的不透明度测试 |
CN107071514A (zh) * | 2017-04-08 | 2017-08-18 | 腾讯科技(深圳)有限公司 | 一种图片文件处理方法及智能终端 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3655490B2 (ja) * | 1998-09-21 | 2005-06-02 | 富士写真フイルム株式会社 | 画像暗号化装置、画像暗号化方法、画像暗号化のプログラムを記録したコンピュータ読み取り可能な記録媒体及び画像ファイルが記録されたコンピュータ読み取り可能な記録媒体 |
-
2017
- 2017-12-19 CN CN201711373824.3A patent/CN108109193B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368329A (zh) * | 2011-10-24 | 2012-03-07 | 龙芯中科技术有限公司 | 图形系统中纹理图像透明度通道处理系统与装置和方法 |
CN104365097A (zh) * | 2012-06-01 | 2015-02-18 | 阿尔卡特朗讯公司 | 用于编码具有透明度信息信道的视频流的方法和装置 |
CN104835191A (zh) * | 2014-02-06 | 2015-08-12 | 想象技术有限公司 | 3d图形处理系统中用于处理图元的不透明度测试 |
CN107071514A (zh) * | 2017-04-08 | 2017-08-18 | 腾讯科技(深圳)有限公司 | 一种图片文件处理方法及智能终端 |
Also Published As
Publication number | Publication date |
---|---|
CN108109193A (zh) | 2018-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8542939B2 (en) | Methods of and apparatus for using tree representations for representing arrays of data elements for encoding and decoding data in data processing systems | |
RU2670782C9 (ru) | Способы и устройства для создания функций отображения кода для кодирования изображения hdr и способы и устройства для использования таких кодированных изображений | |
EP3306944B1 (en) | Display method and display device | |
US9014496B2 (en) | Methods of and apparatus for encoding and decoding data in data processing systems | |
US10430099B2 (en) | Data processing systems | |
US7873212B2 (en) | Compression of images for computer graphics | |
CN101340587A (zh) | 编码输入图像的方法以及播放已编码图像的方法及装置 | |
AU2020201708A1 (en) | Techniques for encoding, decoding and representing high dynamic range images | |
KR102617258B1 (ko) | 이미지 프로세싱 방법 및 장치 | |
KR20170115528A (ko) | Hdr 화상을 sdr 화상으로 맵핑하기 위한 방법 및 디바이스 그리고 대응하는 sdr 대 hdr 맵핑 방법 및 디바이스 | |
CN107211142A (zh) | 对彩色图像进行解码的方法和设备 | |
US11263786B2 (en) | Decoding data arrays | |
CN108352076A (zh) | 编码和解码方法及对应设备 | |
CN108109193B (zh) | 一种适用于延迟着色的可变精度编、解码方法 | |
US8582902B2 (en) | Pixel block processing | |
EP2797049B1 (en) | Color buffer compression | |
CN106412595B (zh) | 用于编码高动态范围帧以及施加的低动态范围帧的方法和设备 | |
EP3520408A1 (en) | 32-bit hdr pixel format | |
JPS61228794A (ja) | 時間軸圧縮方式、脱圧縮装置及び表示装置 | |
CN111507895B (zh) | 图像处理方法及装置、计算机存储介质、电子设备 | |
US9129543B2 (en) | Texture compression and decompression | |
KR102531605B1 (ko) | 하이브리드 블록 기반 압축 | |
US20230154063A1 (en) | Non-linear filtering for color space conversions | |
CN108648138B (zh) | 一种针对hdr格式编码的高动态数据处理方法 | |
US11386021B2 (en) | Apparatus and method for packing a bit stream |
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 |