增量颜色压缩到视频的应用制造技术

技术编号:22061479 阅读:54 留言:0更新日期:2019-09-07 18:45
公开了用于压缩像素数据的系统、设备和方法。在一个实施方案中,如果像素数据块等于恒定值,那么处理器将所述块压缩成元数据值,所述元数据值指明整个所述像素数据块的所述恒定值。所述处理器还检测所述恒定值是否等于视频特定的典型的最小值或最大值。在另一个实施方案中,所述处理器接收多个M位像素分量,所述多个M位像素分量是在N位容器中对齐的最高有效位。接着,所述处理器将所述M位像素分量向下移位至所述N位容器的最低有效位位置中。然后,所述处理器将所述N位容器转换成M位容器。接着,所述处理器压缩所述M位容器以创建压缩的像素数据块,所述压缩的像素数据块然后被存储在存储器子系统中。

Application of Incremental Color Compression to Video

【技术实现步骤摘要】
【国外来华专利技术】增量颜色压缩到视频的应用
技术介绍
相关技术的描述图形处理单元(GPU)是被配置为执行图形处理任务的复杂集成电路。例如,GPU可以执行最终用户应用程序(诸如视频游戏应用程序)所要求的图形处理任务。GPU可以是分立装置,或可包括在与另一个处理器(诸如中央处理单元(CPU))相同的装置中。GPU在被称为渲染的过程中从其部件的较高级描述产生构成图像的像素。GPU通常通过使用计算元件处理像素、纹理和几何数据来利用连续渲染的概念。计算元件可执行光栅化器、设置引擎、颜色混合器、隐藏表面消除、纹理映射等功能。这些计算元件通常被称为着色器、着色器处理器、着色器阵列、着色器单元、着色器引擎等,其中“着色器”是计算机图形学中的术语,是指由图形资源使用来执行渲染效果的软件指令集或程序。“着色器”还可以指用于执行软件指令的实际硬件部件或处理器。着色器处理器或程序可读取数据并渲染数据,并且执行数据的任何类型的处理。在生成复杂图形场景中涉及的大多数处理涉及纹理数据。纹理可以是各种类型的数据(诸如颜色、透明度、查找表或其他数据)中的任一者。在一些实施方案中,纹理可以是有待被绘制到几何形状上以添加视觉细节的数字化图像。在渲染模型以创建目标图像时,可通过使用纹理将大量的细节映射到图形模型的表面。纹理映射的目的是在对象的表面上提供逼真的外观。纹理可指明许多属性,包括颜色、表面属性,如呈法线或凹凸贴图的形式的镜面反射或精细表面细节。纹理也可以是图像数据、颜色或透明度数据、粗糙度/平滑度数据、反射率数据等。在纹理和表面中,最小的信息项被称为“像素”。为方便起见,像素通常以规则的二维网格布置。通过使用这种布置,可通过独立地对每个像素均匀地应用相同操作来实现许多常见的操作。为了表示特定颜色,每个像素可具有三个值,所述值各自针对所需颜色中存在的红色、绿色和蓝色的量。一些像素格式还可包括第四值,称为α,其表示像素的透明度。这种格式通常称为ARGB或RGBA。用于表示像素颜色的另一种格式是YCbCr,其中Y对应于像素的亮度或明亮度,并且Cb和Cr对应于两个色差色度分量,表示蓝色色差(Cb)和红色色差(Cr)。在本文中,源像素的每个单独值可被称为“像素分量”(例如,红色像素分量、蓝色像素分量、蓝色色差色度像素分量、亮度像素分量)。在3D计算机图形中,通常通过使用纹理来添加对象上的表面细节。例如,可使用纹理映射将砖墙的2D位图图像应用到表示建筑物的3D模型的一组多边形,以给予该对象的3D渲染由砖构成的外观。提供逼真的计算机图形通常需要许多高质量、详细的纹理。纹理的使用可消耗大量的存储空间和带宽,并且因此纹理可被压缩以减少存储空间和带宽利用。压缩纹理和表面可减少图形系统上的存储和带宽成本,同时尽可能多地保持原始纹理和表面的特性。图形处理的局限性之一是存储器或高速缓存带宽阻止GPU达到其全部性能。可利用压缩来减少从存储器或高速缓存提取以供GPU处理的数据的量。然而,现有类型的压缩不太适合压缩由GPU处理的纹理和表面。附图说明通过结合附图参见以下描述,可以更好地理解本文所述的方法和机制的优点,在附图中:图1是计算系统的一个实施方案的框图。图2是图形处理单元(GPU)的一个实施方案的框图。图3是用于压缩像素数据的技术的一个实施方案的框图。图4示出指明黑色像素值和白色像素值的编码值的两个表。图5是示出用于压缩像素数据的方法的一个实施方案的概括性流程图。图6是示出用于对所压缩的像素数据块进行解压缩的方法的一个实施方案的概括性流程图。图7是示出用于压缩恒定像素数据的方法的一个实施方案的概括性流程图。图8是示出用于压缩像素数据的方法的另一个实施方案的概括性流程图。图9是示出用于压缩具有α通道的像素数据的方法的另一个实施方案的概括性流程图。具体实施方式在以下描述中,阐述了许多具体细节以提供对本文所提出的方法和机制的全面理解。然而,本领域普通技术人员应当认识到,各种实施方案可以在没有这些具体细节的情况下实践。在一些情况下,没有详细示出众所周知的结构、部件、信号、计算机程序指令和技术以避免模糊本文所描述的方法。应当了解,为了简单和清楚说明起见,图中示出的元件不一定按比例绘制。例如,一些元件的尺寸可以相对于其他元件放大。本文公开用于压缩像素数据的系统、设备和方法。在一个实施方案中,系统包括耦合到存储器子系统的至少一个处理器。存储器子系统包括一个或多个级别的高速缓存和/或一个或多个存储器。在一个实施方案中,处理器被配置为接收多个M位像素分量,所述多个M位像素分量是在N位容器中对齐的最高有效位(MSB),其中N和M是整数,并且其中N大于M。接着,处理器将所述M位像素分量向下移位至所述N位容器的最低有效位(LSB)位置中。然后,处理器将多个N位容器转换成多个M位容器。接着,处理器压缩多个M位容器以创建压缩的像素数据块。然后,处理器将压缩的像素数据块存储在存储器子系统中。响应于接收到对存储在存储器子系统中的压缩的像素数据块进行解压缩的请求,处理器被配置为检索压缩的像素数据块。接着,处理器对所压缩的像素数据块进行解压缩以创建M位容器中的像素分量。然后,处理器将M位容器扩展成N位容器。接着,处理器将M位像素分量移位至N位容器的MSB位置。然后,处理器将N位容器中的像素分量传送至客户端(例如,着色器)。现参见图1,示出了计算系统100的一个实施方案的框图。在一个实施方案中,计算系统100包括耦合到存储器150的片上系统(SoC)105。SoC105也可称为集成电路(IC)。在一个实施方案中,SoC105包括中央处理单元(CPU)165的处理单元175A至175N、输入/输出(I/O)接口155、高速缓存160A至160B、结构120、图形处理单元(GPU)130、本地存储器110和一个或多个存储器控制器140。SoC105还可包括图1中未示出的其他部件以避免模糊附图。处理单元175A至175N表示任何数量和类型的处理单元。在一个实施方案中,处理单元175A至175N是CPU核心。在另一实施方案中,处理单元175A至175N中的一个或多个是其他类型的处理单元(例如,专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP))。CPU165的处理单元175A至175N耦合到高速缓存160A至160B和结构120。在一个实施方案中,处理单元175A至175N被配置为执行特定指令集架构(ISA)的指令。每个处理单元175A至175N包括一个或多个执行单元、高速缓存存储器、调度器、分支预测电路等等。在一个实施方案中,处理单元175A至175N被配置为执行系统100的主控软件(诸如操作系统)。通常,处理单元175A至175N在使用期间执行的软件可控制系统100的其他部件以实现系统100的期望功能。处理单元175A至175N还可以执行其他软件(诸如应用程序)。GPU130至少包括压缩器模块135、一个或多个高速缓存138和计算单元145A至145N。应注意,压缩器模块135也可称为“压缩模块”或“压缩单元”。计算单元145A至145N表示用于图形或通用处理的任何数量和类型的计算单元。每个计算单元145A至145N包括任何数量的执行单元,并且每个计算单元的执行单元的数量根据本文档来自技高网...

【技术保护点】
1.一种系统,其包括:存储器子系统;处理器,所述处理器耦合到所述存储器子系统;其中所述处理器被配置为:接收多个M位像素分量,所述多个M位像素分量是在N位容器中对齐的最高有效位(MSB),其中N和M是整数,并且N大于M;将所述M位像素分量向下移位至所述N位容器的最低有效位(LSB)位置中;将所述多个N位容器转换成多个M位容器;压缩所述多个M位容器以创建压缩的像素数据块;并且将所述压缩的像素数据块存储在所述存储器子系统中。

【技术特征摘要】
【国外来华专利技术】2017.03.03 EP 17159108.4;2017.02.24 US 15/442,3831.一种系统,其包括:存储器子系统;处理器,所述处理器耦合到所述存储器子系统;其中所述处理器被配置为:接收多个M位像素分量,所述多个M位像素分量是在N位容器中对齐的最高有效位(MSB),其中N和M是整数,并且N大于M;将所述M位像素分量向下移位至所述N位容器的最低有效位(LSB)位置中;将所述多个N位容器转换成多个M位容器;压缩所述多个M位容器以创建压缩的像素数据块;并且将所述压缩的像素数据块存储在所述存储器子系统中。2.如权利要求1所述的系统,其中所述处理器被配置为:确定所述多个M位容器中的像素数据是否等于恒定值;并且响应于确定所述多个M位容器中的所述像素数据等于恒定值,丢弃所述像素数据并且生成指明已检测到恒定值的元数据密钥。3.如权利要求2所述的系统,其中所述处理器被配置为:确定所述多个M位容器中的所述像素数据是否等于黑色编码值或白色编码值;响应于确定所述多个M位容器中的所述像素数据等于所述黑色编码值而生成指明所述像素数据包括全黑像素的第一元数据密钥;并且响应于确定所述多个M位容器中的所述像素数据等于所述白色编码值而生成指明所述像素数据包括全白像素的第二元数据密钥。4.如权利要求1所述的系统,其中响应于接收到对存储在所述存储器子系统中的所述压缩的像素数据块进行解压缩的请求,所述处理器被配置为:从所述存储器子系统检索所述压缩的像素数据块;对所述压缩的像素数据块进行解压缩以创建M位容器中的像素分量;将所述M位容器扩展成N位容器;并且将所述像素分量移位至所述N位容器的MSB位置。5.如权利要求4所述的系统,其中所述处理器进一步被配置为将所述N位容器的所述MSB位置中的所述像素分量传送至客户端。6.如权利要求1所述的系统,其中所述处理器进一步被配置为:确定所述压缩的像素数据块是否大于阈值;并且响应于确定所述压缩的像素数据块大于所述阈值而丢弃所述压缩的像素数据块。7.如权利要求6所述的系统,其中所述处理器进一步被配置为响应于确定所述压缩的像素数据块大于所述阈值而致使将所述多个M位像素分量打包在一起。8.一种方法,其包括:接收多个M位像素分量,所述多个M位像素分量是在N位容器中对齐的最高有效位(MSB),其中N和M是整数,并且N大于M;将所述M位像素分量向下移位至所述N位容器的最低有效位(LSB)位置中;将所述多个N位容器转换成多个M位容器;压缩所述多个M位容器以创建压缩的像素数据块;以及将所述压缩的像素数据块存储在存储器子系统中。9.如权利要求8所述的方法,其还包括:确定所述多个M位容器中的像素数据是否等于恒定值;并且响应于确定所述多个M位容器中的所述像素数据等于恒定值,丢弃所述像素数据并且生成指明已检测到恒定值的元数据密钥。10.如权利要求9所述的方法,其还包括:确定所述多个M位容器中的所述像素数据是否等于...

【专利技术属性】
技术研发人员:安东尼·陈克里斯多夫·J·布伦南
申请(专利权)人:超威半导体公司ATI科技无限责任公司
类型:发明
国别省市:美国,US

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

1