CN116806428A - 用于gpu数据的无损压缩的方法和装置 - Google Patents
用于gpu数据的无损压缩的方法和装置 Download PDFInfo
- Publication number
- CN116806428A CN116806428A CN202280012486.3A CN202280012486A CN116806428A CN 116806428 A CN116806428 A CN 116806428A CN 202280012486 A CN202280012486 A CN 202280012486A CN 116806428 A CN116806428 A CN 116806428A
- Authority
- CN
- China
- Prior art keywords
- bits
- bitstream
- data
- color data
- compressed
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 158
- 238000007906 compression Methods 0.000 title claims description 59
- 230000006835 compression Effects 0.000 title claims description 49
- 238000012545 processing Methods 0.000 claims abstract description 145
- 230000015654 memory Effects 0.000 claims description 79
- 230000008569 process Effects 0.000 claims description 37
- 238000006243 chemical reaction Methods 0.000 claims description 34
- 238000007667 floating Methods 0.000 claims description 34
- 230000006870 function Effects 0.000 description 19
- 230000008707 rearrangement Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 13
- 230000008901 benefit Effects 0.000 description 12
- 238000013507 mapping Methods 0.000 description 8
- 238000013144 data compression Methods 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 238000003491 array Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
- H04N19/426—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Generation (AREA)
Abstract
本公开涉及用于数据或图形处理的方法和设备,包括例如GPU的装置。该装置可以接收包括多个比特的至少一个比特流,多个比特中的每一者对应于至少一个比特流中的位置,并且多个比特中的每一者与颜色数据相关联。该装置还可以布置至少一个比特流中的多个比特的顺序,使得多个比特中的至少一者对应于至少一个比特流中的更新位置。此外,该装置可以在布置多个比特的顺序后,转换与至少一个比特流中的多个比特中的每一者相关联的颜色数据。该装置还可以在转换与多个比特中的每一者相关联的颜色数据后,压缩至少一个比特流中的多个比特。
Description
相关申请的交叉引用
本申请要求于2021年2月5日提交的题为“METHODS AND APPARATUS FOR LOSSLESSCOMPRESSION OF GPU DATA”的美国专利申请第17/169,342号的权益,该申请全部内容通过引用的方式明确并入本文中。
技术领域
本公开大体上涉及处理系统,且更特别地,涉及用于数据或图形处理的一个或多个技术。
背景技术
计算设备通常执行图形和/或显示处理(例如,利用图形处理单元(GPU)、中央处理单元(CPU)、显示处理器等)来渲染和显示视觉内容。此类计算设备可以包括,例如,计算机工作站、诸如智能电话的移动电话、嵌入式系统、个人计算机、平板计算机和视频游戏控制台。GPU被配置成执行图形处理管线,该管线包括一个或多个处理阶段,这些处理阶段一起操作来执行图形处理命令并输出帧。中央处理单元(CPU)可以通过向GPU发布一个或多个图形处理命令来控制GPU的操作。当今的CPU通常能够同时执行多个应用,每一应用可能需要在执行期间利用GPU。显示处理器被配置成将从CPU接收的数字信息转换成模拟值,并且可以向显示面板发布命令用于显示视觉内容。提供内容用于在显示器上视觉呈现的设备可以利用GPU和/或显示处理器。
设备的GPU可以被配置成执行图形处理管线中的过程。此外,显示处理器或显示处理单元(DPU)可以被配置成执行显示处理的过程。然而,随着无线通信和较小的手持式设备的出现,对改进的图形处理或显示处理的需求增加了。
发明内容
以下内容呈现一个或多个方面的简要总结以便提供对此类方面的基本理解。本发明内容不是对所有预期方面的广泛概述,并且既不旨在识别所有方面的关键或重要元素,也不旨在描绘任何或所有方面的范围。其唯一目的是以简化形式呈现一个或多个方面的一些概念,作为稍后呈现的更详细描述的序言。
在本公开的一方面,提供一种方法、计算机可读介质和装置。该装置可以是图形处理单元(GPU)或可以执行数据或图形处理的任何装置。该装置可以接收包括多个比特的至少一个比特流,多个比特中的每一者对应于至少一个比特流中的位置,并且多个比特中的每一者与颜色数据相关联。该装置还可以布置至少一个比特流中的多个比特的顺序,使得多个比特中的至少一者对应于至少一个比特流中的更新位置。此外,该装置可以在布置多个比特的顺序后,转换与至少一个比特流中的多个比特中的每一者相关联的颜色数据。该装置还可以在转换与多个比特中的每一者相关联的颜色数据后,压缩至少一个比特流中的多个比特。该装置还可以在压缩多个比特后,编码至少一个比特流中的多个比特。该装置还可以向存储器发送包括经压缩的多个比特的至少一个比特流。该装置还可以从存储器接收包括经压缩的多个比特的至少一个比特流;解码至少一个比特流中的经压缩的多个比特;解压缩至少一个比特流中的多个比特;重新转换与至少一个比特流中的多个比特中的每一者相关联的颜色数据;重新布置至少一个比特流中多个比特的顺序;以及发送包括多个比特的至少一个比特流。
在附图和以下描述中陈述了本公开的一个或多个示例的细节。本公开的其他特征、目标和优点将从描述和附图以及从权利要求而显而易见。
附图说明
图1是示出根据本公开的一个或多个技术的示例性内容产生系统的框图。
图2示出根据本公开的一个或多个技术的示例性GPU。
图3是示出根据本公开的一个或多个技术的用于数据或图形处理的数据压缩过程的图。
图4是示出根据本公开的一个或多个技术的用于数据或图形处理的数据预测过程的图。
图5是示出根据本公开的一个或多个技术的用于数据或图形处理的比特重新布置过程的图。
图6是示出根据本公开的一个或多个技术的GPU管线、GPU组件和存储器之间的示例性通信的通信流程图。
图7是根据本公开的一个或多个技术的图形处理的示例性方法的流程图。
具体实施方式
存在许多不同类型的压缩技术可以用于数据处理或图形处理。例如,通用带宽压缩(UBWC)或通用带宽解压缩技术可以用于数据处理或图形处理。R11G11B10数据格式可以用于数据处理或图形处理,其中R11G11B10数据格式对应于压缩浮点数据,即压缩浮点红(R)绿(G)蓝(B)(RGB)数据。在一些方面,浮点纹理或顶点数据可以对应于高带宽消耗。例如,浮点纹理或顶点数据对于RGB数据可能产生一定量的每像素比特(bpp),例如,96bpp。由于R11G11B10数据格式使用32bpp,这可能对应于高带宽使用量。在一些情况下,由于RGB数据中B信道的比特深度不均匀,这些格式可能不容易以无损方式压缩。例如,可能很难对R信道、G信道和B信道的数据进行去相关。本公开的方面可以以无损方式压缩某些类型的数据格式(例如,R11G11B10数据格式)。本公开的方面还可以以无损方式压缩某些类型的数据格式(例如,R11G11B10数据格式),以用于图形处理或GPU应用。此外,对于某些类型的数据格式(例如,R11G11B10数据格式),本公开的方面可以允许对不同颜色信道(例如,R信道、G信道和/或B信道)的数据的去相关。本公开的方面还可以减少无损压缩数据格式所消耗的带宽量。例如,本公开的各方面可以减少在GPU处R11G11B10数据格式所利用的带宽量。
在下文参考附图更充分地描述系统、装置、计算机程序产品和方法的各方面。然而,本公开可以许多不同形式来体现,并且不应被理解为限于贯穿本公开呈现的任何特定结构或功能。相反,提供这些方面使得本公开将是透彻且完整的,且将本公开的范围充分传达到本领域技术人员。基于本文的教示,本领域技术人员应了解,本公开的范围旨在覆盖本文公开的系统、装置、计算机程序产品和方法的任何方面,无论是独立于本公开的其他方面实现还是与本公开的其他方面结合实现。例如,可以使用本文陈述的任何数量的方面来实现装置或实践方法。另外,本公开的范围旨在覆盖此类装置或方法,该装置或方法使用除了或不同于本文陈述的本公开的各方面之外的其他结构、功能性或结构和功能性来实践。本文公开的任何方面可以由权利要求的一个或多个元件来体现。
尽管本文描述了各方面,但是这些方面的许多变化和置换都落入本公开的范围内。尽管本公开各方面的一些潜在益处和优点被提及,但是本公开的范围并不旨在限于特定的益处、用途或目标。相反,本公开的方面旨在广泛适用于不同的无线技术、系统配置、网络和传输协议,其中一些在附图和以下描述中以示例的方式示出。具体实施方式和附图仅仅是对本公开的说明而不是限制,本公开的范围由所附权利要求及其等同物限定。
参考各种装置和方法来呈现若干方面。这些装置和方法将在以下具体实施方式中进行描述,并在附图中通过各种块、组件、电路、过程、算法等(统称为“元件”)进行说明。这些元件可以使用电子硬件、计算机软件或其任何组合来实现。此类元件是实现为硬件还是软件取决于特定应用和强加于整个系统的设计约束。
举例来说,元件或元件的任何部分或元件的任何组合可以被实现为包括一个或多个处理器的“处理系统”(还可以称作处理单元)。处理器的示例包括:微处理器、微控制器、图形处理单元(GPU)、通用GPU(GPGPU)、中央处理单元(CPU)、应用处理器、数字信号处理器(DSP)、精简指令集计算(RISC)处理器、系统级芯片(SoC)、基带处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、状态机、门控逻辑、离散硬件电路以及被配置成执行贯穿本公开描述的各种功能性的其他合适硬件。处理系统中的一个或多个处理器可以执行软件。软件可以广义地解释为意指指令、指令集、代码、代码段、程序代码、程序、子程序、软件组件、应用、软件应用、软件包、例程、子例程、对象、可执行程序、执行线程、过程、功能等,无论被称作软件、固件、中间件、微代码、硬件描述语言还是其他。术语应用可以指软件。如本文所描述,一个或多个技术可以指被配置成执行一个或多个功能的应用,即软件。在此类示例中,应用可以存储在存储器上,例如,处理器的片上存储器、系统存储器或任何其他存储器。本文所描述的硬件(诸如处理器)可以被配置成执行应用。例如,该应用可以被描述为包括代码,该代码在由硬件执行时使得硬件执行本文描述的一个或多个技术。作为示例,硬件可以从存储器存取代码,并执行从存储器存取的代码以执行本文描述的一个或多个技术。在一些示例中,组件在本公开中被识别。在此类示例中,组件可以是硬件、软件或其组合。组件可以是单独组件或单个组件的子组件。
因此,在本文描述的一个或多个示例中,所描述的功能可以用硬件、软件或其任何组合来实现。如果用软件实现,那么可以将功能作为一或多个指令或代码存储或编码在计算机可读介质上。计算机可读介质包括计算机存储介质。存储介质可以是可以由计算机访问的任何可用介质。举例而非限制,此类计算机可读介质可以包含随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、光盘存储器、磁盘存储器、其他磁性存储设备、上述类型的计算机可读介质的组合、或可以用以存储呈指令或数据结构形式的计算机可执行代码且可以由计算机访问的任何其他介质。
通常,本公开描述了用于在单个设备或多个设备中具有图形处理管线、改进的图形内容的渲染和/或减少处理单元(即,被配置成执行本文描述的一个或多个技术的任何处理单元,诸如GPU)的负载的技术。例如,本公开描述了利用图形处理的任何设备中的图形处理技术。本公开通篇描述了其他示例性益处。
如本文中所使用的,术语“内容”的实例可以指“图形内容”、“图像”,且反之亦然。不管这些术语是用作形容词、名词还是其他词性,都是如此。在一些示例中,如本文中所使用的,术语“图形内容”可以指由图形处理管线的一个或多个过程产生的内容。在一些示例中,如本文中所使用的,术语“图形内容”可以指由被配置成执行图形处理的处理单元产生的内容。在一些示例中,如本文中所使用的,术语“图形内容”可以指由图形处理单元产生的内容。
在一些示例中,如本文中所使用的,术语“显示内容”可以指由被配置成执行显示处理的处理单元产生的内容。在一些示例中,如本文中所使用的,术语“显示内容”可以指由显示处理单元产生的内容。图形内容可以被处理成为显示内容。例如,图形处理单元可以向缓冲器(可以称作帧缓冲器)输出图形内容,诸如帧。显示处理单元可以从缓冲器读取图形内容,诸如一个或多个帧,并在其上执行一个或多个显示处理技术以产生显示内容。例如,显示处理单元可以被配置成在一个或多个渲染层上执行合成以产生帧。作为另一示例,显示处理单元可以被配置成将两层或更多层合成、混合或以其他方式组合成单个帧。显示处理单元可以被配置成对帧执行缩放(例如,放大或缩小)。在一些示例中,帧可以指层。在其他示例中,帧可以指已经混合在一起以形成帧的两层或更多层,即,帧包括两层或更多层,并且包括两层或更多层的帧可以随后被混合。
图1是示出被配置成实现本公开的一个或多个技术的示例性内容产生系统100的框图。内容产生系统100包括设备104。设备104可以包括用于执行本文描述的各种功能的一个或多个组件或电路。在一些示例中,设备104的一个或多个组件可以是SOC的组件。设备104可以包括被配置成执行本公开的一个或多个技术的一个或多个组件。在所示示例中,设备104可以包括处理单元120、内容编码器/解码器122和系统存储器124。在一些方面,设备104可以包括多个任选组件,例如,通信接口126、收发器132、接收器128、发送器130、显示处理器127和一个或多个显示器131。引用显示器131可以指一个或多个显示器131。例如,显示器131可以包括单个显示器或多个显示器。显示器131可以包括第一显示器和第二显示器。第一显示器可以是左眼显示器,并且第二显示器可以是右眼显示器。在一些示例中,第一和第二显示器可以接收用于在其上呈现的不同帧。在其他示例中,第一和第二显示器可以接收用于在其上呈现的相同帧。在其他示例中,图形处理的结果可以不显示在设备上,例如,第一和第二显示器可以不接收任何用于在其上呈现的帧。相反,帧或图形处理结果可以被传送到另一设备。在一些方面,这可以称作分割渲染。
处理单元120可以包括内部存储器121。处理单元120可以被配置成诸如在图形处理管线107中执行图形处理。内容编码器/解码器122可以包括内部存储器123。在一些示例中,设备104可以包括显示处理器,诸如显示处理器127,以在由一个或多个显示器131呈现之前,对由处理单元120产生的一个或多个帧执行一个或多个显示处理技术。显示处理器127可以被配置成执行显示处理。例如,显示处理器127可以被配置成对由处理单元120产生的一个或多个帧执行一个或多个显示处理技术。一个或多个显示器131可以被配置成显示或以其他方式呈现由显示处理器127处理的帧。在一些示例中,一个或多个显示器131可以包括以下各项中的一者或多者:液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器、投影显示设备、增强现实显示设备、虚拟现实显示设备、头戴式显示器或任何其他类型的显示设备。
处理单元120和内容编码器/解码器122外部的存储器,诸如系统存储器124,可以被处理单元120和内容编码器/解码器122访问。例如,处理单元120和内容编码器/解码器122可以被配置成从外部存储器(诸如系统存储器124)读取和/或向外部存储器写入。处理单元120和内容编码器/解码器122可以通过总线通信地耦合到系统存储器124。在一些示例中,处理单元120和内容编码器/解码器122可以通过总线或不同的连接彼此通信地耦合。
内容编码器/解码器122可以被配置成从任何源接收图形内容,诸如系统存储器124和/或通信接口126。系统存储器124可以被配置成存储所接收的编码或解码的图形内容。内容编码器/解码器122可以被配置成例如从系统存储器124和/或通信接口126接收编码像素数据形式的编码或解码的图形内容。内容编码器/解码器122可以被配置成编码或解码任何图形内容。
内部存储器121或系统存储器124可以包括一个或多个易失性或非易失性存储器或存储设备。在一些示例中,内部存储器121或系统存储器124可以包括RAM、SRAM、DRAM、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、快闪存储器、磁性数据介质或光学存储介质、或任何其他类型的存储器。
根据一些示例,内部存储器121或系统存储器124可以是非暂时性存储介质。术语“非暂时性”可以指示存储介质没有体现为载波或传播信号。然而,术语“非暂时性”不应被解释为意味着内部存储器121或系统存储器124是不可移动的或者其内容是静态的。作为一个示例,系统存储器124可以从设备104移除并移动到另一设备。作为另一示例,系统存储器124可以不从设备104移除。
处理单元120可以是中央处理单元(CPU)、图形处理单元(GPU)、通用GPU(GPGPU)、或可以被配置成执行图形处理的任何其他处理单元。在一些示例中,处理单元120可以集成到设备104的主板中。在一些示例中,处理单元120可以存在于安装在设备104的主板中的端口中的图形卡上,或者可以以其他方式并入到被配置成与设备104交互操作的外围设备内。处理单元120可以包括一个或多个处理器,诸如一个或多个微处理器、GPU、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、算术逻辑单元(ALU)、数字信号处理器(DSP)、离散逻辑、软件、硬件、固件、其他等效集成或离散逻辑电路、或其任何组合。如果这些技术部分地用软件实现,则处理单元120可以将软件的指令存储在合适的非暂时性计算机可读存储介质(例如,内部存储器121)中,并且可以使用一个或多个处理器在硬件中执行指令以执行本公开的技术。任何前述内容,包括硬件、软件、硬件和软件的组合等,可以被认为是一个或多个处理器。
内容编码器/解码器122可以是被配置成执行内容解码的任何处理单元。在一些示例中,内容编码器/解码器122可以集成到设备104的主板中。内容编码器/解码器122可以包括一个或多个处理器,诸如一个或多个微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、算术逻辑单元(ALU)、数字信号处理器(DSP)、视频处理器、离散逻辑、软件、硬件、固件、其他等效集成或离散逻辑电路、或其任何组合。如果这些技术部分地用软件实现,则内容编码器/解码器122可以将软件的指令存储在合适的非暂时性计算机可读存储介质(例如,内部存储器123)中,并且可以使用一个或多个处理器在硬件中执行指令以执行本公开的技术。任何前述内容,包括硬件、软件、硬件和软件的组合等,可以被认为是一个或多个处理器。
在一些方面,内容产生系统100可以包括任选通信接口126。通信接口126可以包括接收器128和发送器130。接收器128可以被配置成执行本文关于设备104描述的任何接收功能。另外,接收器128可以被配置成从另一设备接收信息,例如,眼睛或头部位置信息、渲染命令或定位信息。发送器130可以被配置成执行本文关于设备104描述的任何发送功能。例如,发送器130可以被配置成向另一设备发送信息,该信息可以包括对内容的请求。接收器128和发送器130可以组合成收发器132。在此类示例中,收发器132可以被配置成执行本文关于设备104描述的任何接收功能和/或发送功能。
再次参考图1,在某些方面,处理单元120可以包括确定组件198,确定组件198被配置成接收包括多个比特的至少一个比特流,多个比特中的每一者对应于至少一个比特流中的位置,并且多个比特中的每一者与颜色数据相关联。确定组件198还可以被配置成布置至少一个比特流中的多个比特的顺序,使得多个比特中的至少一者对应于至少一个比特流中的更新位置。确定组件198还可以被配置成在布置多个比特的顺序后,转换与至少一个比特流中的多个比特中的每一者相关联的颜色数据。确定组件198还可以被配置成在转换与多个比特中的每一者相关联的颜色数据后,压缩至少一个比特流中的多个比特。确定组件198还可以被配置成在压缩多个比特后编码至少一个比特流中的多个比特。确定组件198还可以被配置成向存储器发送包括经压缩的多个比特的至少一个比特流。确定组件198还可以被配置成:从存储器接收包括经压缩的多个比特的至少一个比特流;解码至少一个比特流中的经压缩的多个比特;解压缩至少一个比特流中的多个比特;重新转换与至少一个比特流中的多个比特中的每一者相关联的颜色数据;重新布置至少一个比特流中多个比特的顺序;以及发送包括多个比特的至少一个比特流。虽然以下描述可能集中在数据或图形处理上,但是本文描述的概念可以适用于其他类似的处理技术。
如本文所描述,诸如设备104的设备可以指被配置成执行本文描述的一个或多个技术的任何设备、装置或系统。例如,设备可以是服务器、基站、用户设备、客户端设备、站、接入点、计算机(例如,个人计算机、台式计算机、膝上型计算机、平板计算机、计算机工作站或大型计算机)、最终产品、装置、电话、智能电话、服务器、视频游戏平台或控制台、手持式设备(例如,便携式视频游戏设备或个人数字助理(PDA))、可穿戴计算设备(例如,智能手表、增强现实设备或虚拟现实设备)、不可穿戴设备、显示器或显示设备、电视机、电视机顶盒、中间网络设备、数字媒体播放器、视频流式设备、内容流设备、车载计算机、任何移动设备、被配置成产生图形内容的任何设备、或者被配置成执行本文描述的一个或多个技术的任何设备。本文的过程可以被描述为由特定组件(例如,GPU)执行,但在其他实施例中,可以使用与所公开的实施例一致的其他组件(例如,CPU)来执行。
GPU可以在GPU管线中处理多种类型的数据或数据封包(data packet)。例如,在一些方面,GPU可以处理两种类型的数据或数据封包,例如,上下文寄存器封包和绘制调用数据。上下文寄存器封包可以是一组全局状态信息,例如,关于全局寄存器、着色程序或常量数据的信息,其可以调节图形上下文将如何被处理。例如,上下文寄存器封包可以包括关于颜色格式的信息。在上下文寄存器封包的一些方面,可以存在一个比特来指示哪个工作负荷属于上下文寄存器。此外,可以存在多个功能或编程同时和/或并行运行。例如,功能或编程可以描述某些操作,例如,颜色模式或颜色格式。因此,上下文寄存器可以定义GPU的多个状态。
上下文状态可以用于确定单独的处理单元(例如,顶点提取器(VFD)、顶点着色器(VS)、着色器处理器或几何形状处理器)如何运作,和/或处理单元以什么模式运作。为此,GPU可以使用上下文寄存器和编程数据。在一些方面,GPU可以基于模式或状态的上下文寄存器定义在管线中产生工作负载,例如,顶点或像素工作负载。某些处理单元(例如,VFD),可以使用这些状态来确定某些功能,例如,顶点是如何组装的。由于这些模式或状态可以改变,GPU可能需要改变对应的上下文。另外,对应于该模式或状态的工作负载可以跟随改变的模式或状态。
图2示出根据本公开的一个或多个技术的示例性GPU 200。如图2所示,GPU 200包括命令处理器(CP)210、绘制调用封包212、VFD 220、VS222、顶点缓存(VPC)224、三角形设置引擎(TSE)226、光栅化器(RAS)228、Z过程引擎(ZPE)230、像素插值器(PI)232、片段着色器(FS)234、渲染后端(RB)236、2级(L2)缓存(UCHE)238和系统存储器240。尽管图2显示GPU200包括处理单元220至238,但GPU 200可以包括多个附加处理单元。此外,处理单元220至238仅是示例,并且根据本公开,处理单元的任何组合或顺序都可以由GPU使用。GPU 200还包括命令缓冲器250、上下文寄存器封包260和上下文状态261。
如图2所示,GPU可以利用CP(例如,CP 210)或硬件加速器将命令缓冲器解析成上下文寄存器封包(例如,上下文寄存器封包260)和/或绘制调用数据封包(例如,绘制调用封包212)。CP 210然后可以通过分离的路径向GPU中的处理单元或块发出上下文寄存器封包260或绘制调用数据封包212。此外,命令缓冲器250可以交替上下文寄存器和绘制调用的不同状态。例如,命令缓冲器可以以下述方式构造:上下文N的上下文寄存器、上下文N的绘制调用、上下文N+1的上下文寄存器和上下文N+1的绘制调用。
数据或图形处理的一些方面可以利用无损压缩,无损压缩是一种对应于压缩数据的准确重建的数据压缩类型,即,在没有任何数据丢失的情况下重建的数据。在一些情况下,当数据可以在很大程度上被正确重建时,无损压缩可以与改进的数据压缩速率相关联。这种高级的数据重建可以对应于减小的数据大小或减小的数据媒体大小。无损压缩技术还可以包括许多不同的数据压缩算法,这些算法可以允许在没有任何数据丢失的情况下重建数据。
存在许多不同类型的压缩技术可以用于数据处理或图形处理。例如,通用带宽压缩(UBWC)或通用带宽解压缩技术可以用于数据处理或图形处理。此外,不同的数据格式可以与在数据处理或图形处理中利用的UBWC压缩技术相关联。例如,R11G11B10数据格式可以用于数据处理或图形处理,其中R11G11B10数据格式对应于压缩浮点数据,即压缩浮点红(R)绿(G)蓝(B)(RGB)数据。R11G11B10数据格式可以包括R信道中的11个比特、G信道中的11个比特和B信道中的10个比特。在一些方面,R11G11B10数据可以用作纹理文件和/或渲染的格式,例如,在GPU的图形处理期间的纹理文件和/或渲染。R11G11B10数据可以允许某些GPU组件(例如,双数据速率(DDR)存储器)减少在GPU处提取或检索的数据量。此外,R11G11B10数据可以对应于被利用的存储器带宽的减少量。
在一些方面,浮点纹理或顶点数据可以对应于高带宽消耗。例如,浮点纹理或顶点数据对于RGB数据可能产生一定量的每像素比特(bpp),例如,96bpp。该RGB数据可能不同于RGBA数据,因为RGB数据没有alpha值。一些节省带宽的技术可以利用半浮点数据格式,例如,半浮点RGB161616数据格式(对应于48bpp),或R11G11B10数据格式(对应于32bpp)。由于R11G11B10数据格式利用32bpp,这可能对应于高带宽使用量。在一些情况下,由于RGB数据中B信道的比特深度不均匀,这些格式可能不容易以无损方式压缩。例如,可能很难对R信道、G信道和B信道的数据进行去相关。
基于以上所述,以无损方式压缩某些类型的数据格式(例如,R11G11B10数据格式)可能是有益的。以无损方式压缩这些数据格式用于图形处理或GPU应用也可能是有益的。此外,对于这些类型的数据格式,允许对不同颜色信道(例如,R信道、G信道和/或B信道)的数据的去相关可能是有益的。减少无损压缩数据格式所消耗的带宽量也可能是有益的。
本公开的方面可以以无损方式压缩某些类型的数据格式(例如,R11G11B10数据格式)。本公开的方面还可以以无损方式压缩某些类型的数据格式(例如,R11G11B10数据格式),以用于图形处理或GPU应用。此外,对于某些类型的数据格式(例如,R11G11B10数据格式),本公开的方面可以允许对不同颜色信道(例如,R信道、G信道和/或B信道)的数据的去相关。本公开的方面还可以减少无损压缩数据格式所消耗的带宽量。例如,本公开的各方面可以减少在GPU处R11G11B10数据格式所利用的带宽量。
本公开的一些方面可以使用比特重新布置技术,对某些类型的数据(例如,R11G11B10数据或RGB111110数据)利用无损压缩技术。例如,本公开的方面可以使用从特定比特格式(例如,11-11-10比特格式)到另一比特格式(例如,10-10-10-2比特格式)的比特重新布置,对数据(例如,R11G11B10数据)利用无损压缩过程。该比特重新布置过程之后可以是去相关过程(例如,RGB去相关),其可以使用某些类型的转换,例如,亮度(Y)色度橙色(Co)色度绿色(Cg)(YCoCg)转换。在去相关过程之后,本公开的方面可以利用采用空间相关性(例如,Y-Co-Cg颜色空间中的空间相关性)的无损压缩技术。
图3是示出根据本公开的一个或多个技术的用于数据或图形处理的数据压缩过程的图300。如图3中展示,图300包括编码器310、R11G11B10数据格式312、R11G11B10X2数据格式314和Y10Co11Cg11X2数据格式316。图300还包括无损压缩过程320,包括Y信道322、Co信道324、Cg信道326和X信道328。图300还包括比特流330、解码器340、Y10Co11Cg11X2数据格式342、R11G11B10X2数据格式344和R11G11B10数据格式346。图3示出用于R11G11B10数据的无损压缩过程。更具体地,图3显示了使用从某种比特格式(例如,11-11-10比特格式)到另一种比特格式(例如,10-10-10-2比特格式)的比特重新布置的用于R11G11B10数据的无损压缩过程。图3还展示了去相关过程(例如,RGB去相关),其可以使用Y-Co-Cg转换。如图3中展示,图300还可以包括采用Y-Co-Cg格式中的空间相关性的无损压缩技术。
如图3所示,编码器310(例如,编码器310处的引擎)可以重新布置颜色数据,以便使颜色数据更适于压缩。例如,编码器310可以将RGB数据格式312的比特重新布置成另一颜色格式,例如,与RGBA格式相关联的R11G11B10X2数据格式314。在该过程期间,编码器310可以分离R和G信道中的比特,以产生分离的平面信道(例如,X信道)。此后,编码器310可以通过执行RGB到YCoCgR转换来将数据比特转换成颜色空间。这种颜色空间转换可以产生更适于经压缩的数据格式(例如,Y10Co11Cg11X2数据格式316),因为这导致多个信道之间的相关性。
在此颜色空间转换之后,本公开的方面可以例如在UBWC引擎处执行无损压缩过程320。该无损压缩过程320可以利用不同的信道,例如,Y信道322、Co信道324、Cg信道326和X信道328。此外,在无损压缩过程320(即2D压缩)之后,数据可以形成为比特流(例如,比特流330),用于存储到存储器(例如,DDR存储器)中。因此,该数据在存储到DDR存储器中之前被编码。
如图3中展示,在被存储到DDR存储器中之后,比特流330可以在解码器340处解码。在一些方面,比特流330可以包括标头、元数据和/或压缩数据。标头可以包括用于解码器340的信息,诸如关于要利用哪一颜色空间转换或压缩格式的信息。在解码器340处,比特流330可以是Y10Co11Cg11X2数据格式(例如,Y10Co11Cg11X2数据格式342)。解码器340然后可以执行YCoCgR到RGB转换,这可以产生R11G11B10X2数据格式344。此后,解码器340可以执行产生R11G11B10数据格式346的比特重新布置。因此,解码器340可以执行由编码器310执行的每一步骤的逆函数。通过这样做,解码器340可以获得由编码器310接收和处理的原始数据。在一些方面,编码器310和解码器340可以在GPU管线与DDR存储器之间的GPU中。此外,编码器310和解码器340可以位于GPU中的芯片组处,也可以与显示器相关联。
如上所述,为了将颜色空间转换或校正应用于某种数据格式(例如,R11G11B10格式),本公开的方面可以应用比特重新布置过程。例如,本公开的方面可以重新布置数据的某些比特,以便允许颜色信道(例如,R、G和B信道)具有相同的比特深度。通过这样做,这可以产生更适于颜色空间转换的数据。在一些方面,本公开可以重新布置RGB数据格式的R和G比特,以与B比特的格式对齐。例如,在R11G11B10格式中,R和G信道都包括11个比特,但B信道包括10个比特。因而,本公开的方面可以以RGB数据格式重新布置R和G信道的11比特格式,以符合B信道的10比特格式。
由于颜色空间转换有许多可能的颜色映射,本公开的方面可以最小化某些信道的比特深度(例如,X信道比特深度),并且最大化其他信道的比特深度(例如,适于颜色空间转换的信道)。在一个方面,该过程可以通过将一定数量的比特(例如,m个比特)从R信道和G信道移动到另一信道(例如,X信道)来实现。这可能导致另一信道(例如,X信道)具有特定的比特深度,例如,2m个比特的比特深度。此外,可以基于最大化无损压缩比率的结果或实验来选择比特的数量,例如,m个比特。
在一些方面,在比特重新布置过程之后,本公开的方面可以应用颜色空间转换。某些颜色空间(例如,Y-Co-Cg-R颜色空间),可能更适于某些类型的数据预测,例如,二维(2D)预测。在产生颜色信道(例如,RGBX信道)之后,某些类型的数据(例如,RGB数据)可以经历无损颜色空间转换到特定颜色空间(例如,Y-Co-Cg颜色空间)。此外,RGBX信道可以对应于特定颜色数据格式(例如,RGBA格式)。例如,在该转换期间,Y可以占用一定量的比特(例如,n比特),而Co/Cg可以占用另一量的比特,例如,n+1比特,其中n是RGBX信道中R/G/B信道的原始比特深度。如上所述,某些信道(例如,X信道)可以被排除在转换过程之外。在该转换过程之后,可以将Y-Co-Cg-X数据被发到预测引擎(例如,空间2D预测引擎)。此外,上述颜色空间转换中的所有数据可以交错,例如,RGB数据、RGBX数据和YCoCgX数据可以交错。因此,颜色空间转换中的数据可以对应于2D平面转换。
图4是示出根据本公开的一个或多个技术的用于数据或图形处理的数据预测过程的图400。图4展示可以在预测引擎(例如,空间2D预测引擎)处利用的数据预测过程。如图4所示,所有四个信道(例如,像素A、B、C和X的信道)可以经历空间压缩过程。对于2D预测,本公开的方面可以利用空间相邻预测器或平行四边形预测器(parallelogram predictor),如图400中展示。
图400包括要被预测的像素(例如,像素X)以及空间相邻像素(例如,像素A、像素B和像素C)。如图4所示,可以使用空间相邻像素(例如,像素A、B和C)来产生要被预测的像素(例如,像素X)的预测器(例如,X')。预测器(例如,X')可以通过以下公式计算:X’=A+B-C。在一些方面,预测残差然后可以被块固定长度译码(BFLC)译码(即,无损译码)并被放置在具有适当标头的比特流中。此外,解码过程可以遵循每一前述步骤的逆步骤来获得原始数据。
图5是示出根据本公开的一个或多个技术的用于数据或图形处理的比特重新布置过程的图500。图5显示了比特重新布置过程,包括用于比特布置510的许多比特以及比特重新布置或映射520、530、540、550和560。也就是说,图500包括初始比特布置(例如,B10G11R11格式510),以及许多不同的比特重新布置(即,映射),例如,映射520、530、540、550和560。比特重新布置(即,映射)中的每一者可以适于特定类型的颜色空间转换或校正,例如,RGB颜色空间转换或校正。如图5所示,比特布置510可以包括R11G11B10格式的许多比特,其可以包括用于每一信道(例如,R、G和B信道)的指数比特和浮点比特(即,尾数比特(mantissa bit))。例如,在包括R11G11B10格式的比特布置510中,R和G信道包括11个比特(5个指数比特和6个尾数比特),而B信道包括10个比特(5个指数比特和5个尾数比特)。
如图5中展示,与比特布置510相比,比特重新布置或映射520、530、540、550和560中的每一者包括用于R、G和B信道的不同数量的指数比特和尾数比特。例如,比特映射520包括具有8个比特(例如,5个指数比特和3个尾数比特)的B信道、具有8个比特(例如,5个指数比特和3个尾数比特)的G信道以及具有8个比特(例如,5个指数比特和3个尾数比特)的R信道。比特映射520还包括具有8个RGB比特组合(例如,2个B尾数比特、3个G尾数比特和3个R尾数比特)的X信道。如图5中展示,映射520、530、540、550和560中的每一者可以包括根据比特位置的比特重新布置。在比特映射530中,B信道包括8个比特(例如,5个指数比特和3个尾数比特)、G信道包括8个比特(例如,5个指数比特和3个尾数比特)以及R信道8个比特(例如,5个指数比特和3个尾数比特)。比特映射530还包括具有8个RGB比特(例如,2个B尾数比特、3个G尾数比特和3个R尾数比特)的X信道。
此外,比特映射540包括具有8个比特(例如,3个指数比特和5个尾数比特)的B信道、具有8个比特(例如,3个指数比特和5个尾数比特)的G信道以及具有8个比特(例如,3个指数比特和5个尾数比特)的R信道。比特映射540还包括具有8个RGB比特(例如,2个B指数比特、3个G指数比特、1个G尾数比特、2个R指数比特和1个R尾数比特)的X信道。比特映射550包括具有8个RGB比特组合(例如,2个B指数比特、2个G指数比特、1个G尾数比特、2个R指数比特和1个R尾数比特)的X信道。最后,比特映射560包括具有10个比特(例如,5个指数比特和5个尾数比特)的B信道、具有10个比特(例如,5个指数比特和5个尾数比特)的G信道以及具有10个比特(例如,5个指数比特和5个尾数比特)的R信道。比特映射560还包括具有2个RGB比特(1个G尾数比特和1个R尾数比特)的X信道。在比特映射560中,RGB信道中的每一者包括类似量的比特(例如,8个比特),其包括类似量的指数比特(即,幅度)和尾数比特(即,浮点)。如图5中展示,映射560对应于完整的比特重新布置。
本公开的方面可以包括许多益处和优点。例如,基于上述压缩过程(例如,图3中展示的压缩过程)和上述比特重新布置(例如,图5中展示的比特重新布置),本公开的方面可以包括许多优点。例如,在一个方面,在各种文件(例如,GPU相关文件)的数据集上的平均带宽节省可以是一定量的无损增益,例如,15.93%的无损增益。因此,本公开的方面可以减少存储器存储过程的时间量和/或存储量,例如,时间量和/或存储量减少15.93%。此外,当本公开用于空间预测过程时,如图4所示,可以观察到一定量的无损增益,例如,21.64%的无损增益。这种空间预测过程可以用于展示强水平相关性的某些GPU文件。为了实现这些益处和/或无损增益,本公开的方面可以利用特定的数据格式(例如,R11G11B10格式),以及特定的预测和译码过程(例如,2D预测和BFLC译码过程)。
图6是根据本公开的一个或多个技术的数据或图形处理的通信流程图600。如图6中展示,根据本公开的一个或多个技术,图600包括GPU组件602(例如,GPU处的芯片组)、GPU管线604与存储器606(例如,GPU处的DDR存储器)之间的示例性通信。
在610,GPU组件602可以从GPU管线604接收包括多个比特的至少一个比特流(例如,比特流612),多个比特中的每一者对应于至少一个比特流中的位置,并且多个比特中的每一者与颜色数据相关联。多个比特可以对应于32比特高动态范围(HDR)格式或R11G11B10格式。
在620,GPU组件602可以布置至少一个比特流(例如,比特流612/662)中的多个比特的顺序,使得多个比特中的至少一者对应于至少一个比特流中的更新位置。多个比特的顺序可以通过移动至少一个比特流中的一个或多个浮点比特而被布置。此外,一个或多个浮点比特可以被移动到多个比特的顺序的开始或多个比特的顺序的末尾。一个或多个浮点比特可以对应于红色(R)浮点比特、绿色(G)浮点比特和蓝色(B)浮点比特。
在630,在布置多个比特的顺序后,GPU组件602可以转换与至少一个比特流(例如,比特流612/662)中的多个比特中的每一者相关联的颜色数据。颜色数据可以从红色(R)绿色(G)蓝色(B)(RGB)数据转换成亮度(Y)色度橙色(Co)色度绿色(Cg)(YCoCg)数据。此外,与多个比特中的每一者相关联的颜色数据可以基于颜色空间转换或无损转换中的至少一者而被转换。
在640,在转换与多个比特中的每一者相关联的颜色数据后,GPU组件602可以压缩至少一个比特流(例如,比特流612)中的多个比特。多个比特可以基于预测压缩方案而被压缩。预测压缩方案可以基于与多个比特中的每一者相关联的颜色数据的空间相邻颜色数据。此外,预测压缩方案可以与空间相邻预测器或平行四边形预测器中的至少一者相关联。在一些方面,至少一个比特流(例如,比特流612/662)中的多个比特可以被压缩成一个或多个数据封包。一个或多个数据封包可以是双数据速率(DDR)封包。此外,对多个比特的压缩可以是无损压缩。
在650,在压缩多个比特后,GPU组件602可以编码该至少一个比特流(例如,比特流612/662)中的多个比特。多个比特可以基于块固定长度译码(BFLC)过程而被编码。多个比特还可以通过将标头或元数据中的至少一者添加到多个比特而被编码。
在660,GPU组件602可以向存储器(例如,存储器606)发送包括经压缩的多个比特的至少一个比特流(例如,比特流662)。存储器可以是图形处理单元(GPU)中的双数据速率(DDR)存储器。
在670,GPU组件602可以:从存储器(例如,存储器606)接收包括经压缩的多个比特的至少一个比特流(例如,比特流672);解码至少一个比特流(例如,比特流672/674)中的经压缩的多个比特;解压缩至少一个比特流(例如,比特流672/674)中的多个比特;重新转换与至少一个比特流(例如,比特流672/674)中的多个比特中的每一者相关联的颜色数据;重新布置至少一个比特流(例如,比特流672/674)中多个比特的顺序;以及发送包括多个比特的至少一个比特流(例如,比特流674)。
图7是根据本公开的一个或多个技术的数据或图形处理的示例性方法的流程图700。该方法可以由装置(诸如用于图形处理的装置)、GPU或其他图形处理器、芯片组、GPU管线、无线通信设备和/或可以执行结合图1至6的示例使用的数据或图形处理的任何装置来执行。
在702,该装置可以接收包括多个比特的至少一个比特流,多个比特中的每一者对应于至少一个比特流中的位置,并且多个比特中的每一者与颜色数据相关联,如结合图1至6中的示例所描述。例如,GPU组件602可以接收包括多个比特的至少一个比特流,多个比特中的每一者对应于至少一个比特流中的位置,并且多个比特中的每一者与颜色数据相关联。此外,处理单元120可以执行702。多个比特可以对应于32比特高动态范围(HDR)格式或R11G11B10格式,如结合图1至6中的示例所描述。
在704,该装置可以布置至少一个比特流中的多个比特的顺序,使得多个比特中的至少一者对应于至少一个比特流中的更新位置,如结合图1至6中的示例所描述。例如,GPU组件602可以布置至少一个比特流中的多个比特的顺序,使得多个比特中的至少一者对应于至少一个比特流中的更新位置。此外,处理单元120可以执行704。多个比特的顺序可以通过移动至少一个比特流中的一个或多个浮点比特来布置,如结合图1至6中的示例所描述。此外,一个或多个浮点比特可以被移动到多个比特的顺序的开始或多个比特的顺序的末尾,如结合图1至6中的示例所描述。一个或多个浮点比特可以对应于红色(R)浮点比特、绿色(G)浮点比特和蓝色(B)浮点比特,如结合图1至6中的示例所描述。
在706,在布置多个比特的顺序后,该装置可以转换与至少一个比特流中的多个比特中的每一者相关联的颜色数据,如结合图1至6中的示例所描述。例如,在布置多个比特的顺序后,GPU组件602可以转换与至少一个比特流中的多个比特中的每一者相关联的颜色数据。此外,处理单元120可以执行706。颜色数据可以从红色(R)绿色(G)蓝色(B)(RGB)数据转换成亮度(Y)色度橙色(Co)色度绿色(Cg)(YCoCg)数据,如结合图1至6中的示例所描述。此外,与多个比特中的每一者相关联的颜色数据可以基于颜色空间转换或无损转换中的至少一者而被转换,如结合图1至6中的示例所描述。
在708,在转换与多个比特中的每一者相关联的颜色数据后,该装置可以压缩至少一个比特流中的多个比特,如结合图1至6中的示例所描述。例如,在转换与多个比特中的每一者相关联的颜色数据后,GPU组件602可以压缩至少一个比特流中的多个比特。此外,处理单元120可以执行708。多个比特可以基于预测压缩方案而被压缩,如结合图1至6中的示例所描述。预测压缩方案可以基于与多个比特中的每一者相关联的颜色数据的空间相邻颜色数据,如结合图1至6中的示例所描述。此外,预测压缩方案可以与空间相邻预测器或平行四边形预测器中的至少一者相关联,如结合图1至6中的示例所描述。在一些方面,至少一个比特流中的多个比特可以压缩成一个或多个数据封包,如结合图1至6中的示例所描述。一个或多个数据封包可以是双数据速率(DDR)封包。此外,对多个比特的压缩可以是无损压缩,如结合图1至6中的示例所描述。
在710,在压缩多个比特后,该装置可以编码至少一个比特流中的多个比特,如结合图1至6中的示例所描述。例如,在压缩多个比特后,GPU组件602可以编码该至少一个比特流中的多个比特。此外,处理单元120可以执行710。多个比特可以基于块固定长度译码(BFLC)过程而被编码,如结合图1至6中的示例所描述。多个比特还可以通过将标头或元数据中的至少一者添加到多个比特而被编码,如结合图1至6中的示例所描述。
在712,该装置可以向存储器发送包括经压缩的多个比特的至少一个比特流,如结合图1至6中的示例所描述。例如,GPU组件602可以向存储器发送包括经压缩的多个比特的至少一个比特流。此外,处理单元120可以执行712。存储器可以是图形处理单元(GPU)中的双数据速率(DDR)存储器,如结合图1至6中的示例所描述。
在714,该装置可以:从存储器接收包括经压缩的多个比特的至少一个比特流;解码至少一个比特流中的经压缩的多个比特;解压缩至少一个比特流中的多个比特;重新转换与至少一个比特流中的多个比特中的每一者相关联的颜色数据;重新布置至少一个比特流中多个比特的顺序;以及发送包括多个比特的至少一个比特流,如结合图1至6中的示例所描述。例如,GPU组件602可以:从存储器接收包括经压缩的多个比特的至少一个比特流;解码至少一个比特流中的经压缩的多个比特;解压缩至少一个比特流中的多个比特;重新转换与至少一个比特流中的多个比特中的每一者相关联的颜色数据;重新布置至少一个比特流中多个比特的顺序;以及发送包括多个比特的至少一个比特流。此外,处理单元120可以执行714。
在各配置中,提供用于数据或图形处理的方法或装置。该装置可以是GPU、图形处理器、数据处理器或可以执行数据或图形处理的某些其他处理器。在各方面中,该装置可以是设备104内的处理单元120,或可以是设备104或另一设备内的某些其他硬件。该装置可以包括用于接收包括多个比特的至少一个比特流的部件,多个比特中的每一者对应于至少一个比特流中的位置,并且多个比特中的每一者与颜色数据相关联。该装置可以还包括用于布置至少一个比特流中的多个比特的顺序,使得多个比特中的至少一者对应于至少一个比特流中的更新位置的部件。该装置可以还包括用于在布置多个比特的顺序后,转换与至少一个比特流中的多个比特中的每一者相关联的颜色数据的部件。该装置可以还包括用于在转换与多个比特中的每一者相关联的颜色数据后,压缩至少一个比特流中的多个比特的部件。该装置可以还包括用于在压缩多个比特后编码至少一个比特流中的多个比特的部件。该装置可以还包括用于向存储器发送包括经压缩的多个比特的至少一个比特流的部件。该装置可以还包括用于从存储器接收包括经压缩的多个比特的至少一个比特流的部件。该装置可以还包括用于解码至少一个比特流中的经压缩的多个比特的部件。该装置可以还包括用于解压缩至少一个比特流中的多个比特的部件。该装置可以还包括用于重新转换与至少一个比特流中的多个比特中的每一者相关联的颜色数据的部件。该装置可以还包括用于重新布置至少一个比特流中的多个比特的顺序的部件。该装置可以还包括用于发送包括多个比特的至少一个比特流的部件。
本文描述的主题可以被实现来实现一个或多个益处或优点。例如,所描述的数据或图形处理技术可以由GPU、图形处理器、数据处理器或可以执行数据或图形处理的某些其他处理器使用,以实现本文所述的无损压缩或颜色空间转换技术。与其他数据或图形处理技术相比,这也可以以较低的成本实现。此外,本文的数据或图形处理技术可以改进或加速数据处理或执行。此外,本文的数据或图形处理技术可以改进资源或数据利用和/或资源效率。此外,本公开的各方面可以利用无损压缩或颜色空间转换以便改进存储器带宽和/或降低GPU处的性能开销。
应理解,所公开的过程/流程图中的块的特定顺序或层次体系是示例性方法的说明。基于设计偏好,应理解,过程/流程图中的块的特定顺序或层次体系可以重新布置。此外,一些块可以组合或省略。所附方法权利要求以样本顺序呈现各种块的元件,并且不意味着限于所呈现的特定顺序或层次体系。
提供先前描述以使得所属领域的技术人员能够实践本文所描述的各方面。本领域技术人员将显而易见对这些方面的各种修改,并且本文中所定义的一般原理可以应用于其他方面。因此,权利要求并不旨在限于本文所示的方面,而是要符合与权利要求语言一致的全部范围,其中除非特别说明,否则单数形式的元件并不意味着“一个且仅一个”,而是“一个或多个”。本文使用词“示例性”意味着“充当示例、实例或说明”。本文中描述为“示例性”的任何方面不一定被解释为优于或有利于其他方面。
除非特别声明,否则术语“一些”指一个或多个,并且术语“或”可以被解释为“和/或”,其中上下文没有另外规定。诸如“A、B或C中的至少一者”、“A、B或C中的一者或多者”、“A、B和C中的至少一者”、“A、B和C中的一者或多者”和“A、B、C或其任何组合”的组合包括A、B和/或C的任何组合,并且可以包括多个A、多个B或多个C。具体来说,诸如“A、B或C中的至少一者”、“A、B或C中的一者或多者”、“A、B和C中的至少一者”、“A、B和C中的一者或多者”和“A、B、C或其任何组合”的组合可以是仅A、仅B、仅C、A和B、A和C、B和C、或A和B和C,其中任何此类组合可以含有A、B或C中的一个或多个成员。本领域普通技术人员已知的或以后将会知道的贯穿本公开描述的各方面的元件的所有结构和功能等同物通过引用的方式明确并入本文中,并且旨在被权利要求所涵盖。此外,本文公开的任何内容都不旨在专用于公众,无论此类公开是否在权利要求中明确陈述。词语“模块”、“机构”、“元件”、“设备”等不能代替词语“部件”。因此,除非使用短语“用于……的部件”明确地陈述了权利要求元件,否则没有权利要求元件应被解释为手段加功能。
在一个或多个示例中,本文所描述的功能可以用硬件、软件、固件或其任何组合来实现。例如,尽管术语“处理单元”已经在本公开中到处使用,但是此类处理单元可以用硬件、软件、固件或其任何组合来实现。如果本文描述的任何功能、处理单元、技术或其他模块用软件实现,则本文描述的功能、处理单元、技术或其他模块可以作为一个或多个指令或代码存储在计算机可读介质上或通过其发送。
根据本公开,术语“或”可以被解释为“和/或”,其中上下文没有另外规定。此外,虽然诸如“一个或多个”或“至少一个”等短语可能已用于本文公开的一些特征而不是其他特征,但是没有使用此类语言的特征可以被解释为在上下文没有另外规定的情况下具有隐含的含义。
在一个或多个示例中,本文所描述的功能可以用硬件、软件、固件或其任何组合来实现。例如,尽管术语“处理单元”已经在本公开中到处使用,但是此类处理单元可以用硬件、软件、固件或其任何组合来实现。如果本文描述的任何功能、处理单元、技术或其他模块用软件实现,则本文描述的功能、处理单元、技术或其他模块可以作为一个或多个指令或代码存储在计算机可读介质上或通过其发送。计算机可读介质可以包括计算机数据存储介质或通信介质,包括有助于将计算机程序从一处传递到另一处的任何介质。以此方式,计算机可读介质通常可以对应于:(1)有形计算机可读存储介质,其为非暂时性的;或者(2)通信介质,诸如信号或载波。数据存储介质可以是可由一个或多个计算机或一个或多个处理器访问以检索用于实现本公开中描述的技术的指令、代码和/或数据结构的任何可用介质。举例来说(且非限制),此类计算机可读介质可以包含RAM、ROM、EEPROM、CD-ROM或其他光盘存储器、磁盘存储器、或其他磁性存储设备。如本文中所使用的,磁盘和光盘包括紧密光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地再现数据,而光盘使用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。计算机程序产品可以包括计算机可读介质。
代码可以由一个或多个处理器执行,诸如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、算术逻辑单元(ALU)、现场可编程逻辑阵列(FPGA),或其他等效集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可以指代上述结构或适于实现本文所描述的技术的任何其他结构中的任一者。而且,可以将这些技术充分实现在一个或多个电路或逻辑元件中。
本公开的技术可以实现在广泛多种设备或装置中,包括无线手机、集成电路(IC)或一组IC(例如,芯片组)。在本公开中描述各种组件、模块或单元以强调被配置成执行所公开的技术的设备的功能方面,但未必需要通过不同的硬件单元来实现。相反,如上所述,各种单元可以组合在任何硬件单元中,或由相互操作硬件单元的集合(包括如上所述的一个或多个处理器)结合合适的软件和/或固件来提供。因此,如本文中所使用的术语“处理器”可以指代上述结构或适于实现本文所描述的技术的任何其他结构中的任一者。而且,可以将这些技术充分实现在一个或多个电路或逻辑元件中。
以下方面仅是说明性的,并且可以与本文描述的其他方面或教示组合,而没有限制。
方面1是一种数据或图形处理的方法。该方法包括:接收包括多个比特的至少一个比特流,多个比特中的每一者对应于至少一个比特流的中的位置,并且多个比特中的每一者与颜色数据相关联;布置至少一个比特流中多个比特的顺序,使得多个比特中的至少一者对应于至少一个比特流中的更新位置;在布置多个比特的顺序后,转换与至少一个比特流中的多个比特中的每一者相关联的颜色数据;以及在转换与多个比特中的每一者相关联的颜色数据后,压缩至少一个比特流中的多个比特。
方面2是方面1的方法,其中多个比特的顺序通过移动至少一个比特流中的一个或多个浮点比特而被布置。
方面3是方面1和2中的任一者的方法,其中一个或多个浮点比特被移动到多个比特的顺序的开始或多个比特的顺序的末尾。
方面4是方面1至3中的任一者的方法,其中一个或多个浮点比特可以对应于红色(R)浮点比特、绿色(G)浮点比特和蓝色(B)浮点比特。
方面5是方面1至4中的任一者的方法,其中多个比特基于预测压缩方案而被压缩。
方面6是方面1至5中的任一者的方法,其中预测压缩方案基于与多个比特中的每一者相关联的颜色数据的空间相邻颜色数据。
方面7是方面1至6中的任一者的方法,其中预测压缩方案与空间相邻预测器或平行四边形预测器中的至少一者相关联。
方面8是方面1至7中的任一者的方法,其中颜色数据从红色(R)绿色(G)蓝色(B)(RGB)数据被转换成亮度(Y)色度橙色(Co)色度绿色(Cg)(YCoCg)数据。
方面9是方面1至8中的任一者的方法,其中与多个比特中的每一者相关联的颜色数据基于颜色空间转换或无损转换中的至少一者而被转换。
方面10是方面1至9中的任一者的方法,其中多个比特对应于32比特高动态范围(HDR)格式或R11G11B10格式。
方面11是方面1至10中的任一者的方法,还包括在压缩多个比特后编码至少一个比特流中的多个比特。
方面12是方面1至11中的任一者的方法,其中多个比特基于块固定长度译码(BFLC)过程而被编码。
方面13是方面1至12中的任一者的方法,其中多个比特通过将标头或元数据中的至少一者添加到多个比特而被编码。
方面14是方面1至13中的任一者的方法,还包括向存储器发送包括经压缩的多个比特的至少一个比特流。
方面15是方面1至14中的任一者的方法,还包括:从存储器接收包括经压缩的多个比特的至少一个比特流;解码至少一个比特流中的经压缩的多个比特;解压缩至少一个比特流中的多个比特;重新转换与至少一个比特流中的多个比特中的每一者相关联的颜色数据;重新布置至少一个比特流中多个比特的顺序;以及发送包括多个比特的至少一个比特流。
方面16是方面1至15中的任一者的方法,其中存储器是图形处理单元(GPU)中的双数据速率(DDR)存储器。
方面17是方面1至16中的任一者的方法,其中至少一个比特流中的多个比特被压缩成一个或多个数据封包。
方面18是方面1至17中的任一者的方法,其中一个或多个数据封包是双数据速率(DDR)封包。
方面19是方面1至18中的任一者的方法,其中对多个比特的压缩是无损压缩。
方面20是一种用于数据或图形处理的装置,包括耦合到存储器并被配置成实现如方面1至19中的任一者的方法的至少一个处理器。
方面21是一种用于数据或图形处理的装置,包括用于实现如方面1至19中的任一者的方法的部件。
方面22是一种存储计算机可执行代码的计算机可读介质,该代码在由至少一个处理器执行时使得至少一个处理器实现如方面1至19中的任一者的方法。
Claims (40)
1.一种数据处理的方法,包含:
接收包括多个比特的至少一个比特流,所述多个比特中的每一者对应于所述至少一个比特流中的位置,并且所述多个比特中的每一者与颜色数据相关联;
布置所述至少一个比特流中的所述多个比特的顺序,使得所述多个比特中的至少一者对应于所述至少一个比特流中的更新位置;
在布置所述多个比特的所述顺序后,转换与所述至少一个比特流中的所述多个比特中的每一者相关联的所述颜色数据;以及
在转换与所述多个比特中的每一者相关联的所述颜色数据后,压缩所述至少一个比特流中的所述多个比特。
2.根据权利要求1所述的方法,其中,所述多个比特的所述顺序通过移动所述至少一个比特流中的一个或多个浮点比特而被布置。
3.根据权利要求2所述的方法,其中,所述一个或多个浮点比特被移动到所述多个比特的所述顺序的开始或所述多个比特的所述顺序的末尾。
4.根据权利要求2所述的方法,其中,所述一个或多个浮点比特对应于红色(R)浮点比特、绿色(G)浮点比特和蓝色(B)浮点比特。
5.根据权利要求1所述的方法,其中,所述多个比特基于预测压缩方案而被压缩。
6.根据权利要求5所述的方法,其中,所述预测压缩方案基于与所述多个比特中的每一者相关联的所述颜色数据的空间相邻颜色数据。
7.根据权利要求5所述的方法,其中,所述预测压缩方案与空间相邻预测器或平行四边形预测器中的至少一者相关联。
8.根据权利要求1所述的方法,其中,所述颜色数据从红色(R)绿色(G)蓝色(B)(RGB)数据被转换成亮度(Y)色度橙色(Co)色度绿色(Cg)(YCoCg)数据。
9.根据权利要求1所述的方法,其中,与所述多个比特中的每一者相关联的所述颜色数据基于颜色空间转换或无损转换中的至少一者而被转换。
10.根据权利要求1所述的方法,其中,所述多个比特对应于32比特高动态范围(HDR)格式或R11G11B10格式。
11.根据权利要求1所述的方法,还包含:
在压缩所述多个比特后,编码所述至少一个比特流中的所述多个比特。
12.根据权利要求11所述的方法,其中,所述多个比特基于块固定长度译码(BFLC)过程而被编码。
13.根据权利要求11所述的方法,其中,所述多个比特通过将标头或元数据中的至少一者添加到所述多个比特而被编码。
14.根据权利要求1所述的方法,还包含:
向存储器发送包括经压缩的多个比特的所述至少一个比特流。
15.根据权利要求14所述的方法,还包含:
从所述存储器接收包括所述经压缩的多个比特的所述至少一个比特流;
解码所述至少一个比特流中的所述经压缩的多个比特;
解压缩所述至少一个比特流中的所述多个比特;
重新转换与所述至少一个比特流中的所述多个比特中的每一者相关联的所述颜色数据;
重新布置所述至少一个比特流中的所述多个比特的顺序;以及
发送包括所述多个比特的所述至少一个比特流。
16.根据权利要求14所述的方法,其中,所述存储器是图形处理单元(GPU)中的双数据速率(DDR)存储器。
17.根据权利要求1所述的方法,其中,所述至少一个比特流中的所述多个比特被压缩成一个或多个数据封包。
18.根据权利要求17所述的方法,其中,所述一个或多个数据封包是双数据速率(DDR)封包。
19.根据权利要求1所述的方法,其中,对所述多个比特的所述压缩是无损压缩。
20.一种用于数据处理的装置,包含:
存储器;以及
至少一个处理器,耦合到所述存储器且被配置成:
接收包括多个比特的至少一个比特流,所述多个比特中的每一者对应于所述至少一个比特流中的位置,并且所述多个比特中的每一者与颜色数据相关联;
布置所述至少一个比特流中的所述多个比特的顺序,使得所述多个比特中的至少一者对应于所述至少一个比特流中的更新位置;
在布置所述多个比特的所述顺序后,转换与所述至少一个比特流中的所述多个比特中的每一者相关联的所述颜色数据;以及
在转换与所述多个比特中的每一者相关联的所述颜色数据后,压缩所述至少一个比特流中的所述多个比特。
21.根据权利要求20所述的装置,其中,所述多个比特的所述顺序通过移动所述至少一个比特流中的一个或多个浮点比特而被布置。
22.根据权利要求21所述的装置,其中,所述一个或多个浮点比特被移动到所述多个比特的所述顺序的开始或所述多个比特的所述顺序的末尾。
23.根据权利要求21所述的装置,其中,所述一个或多个浮点比特对应于红色(R)浮点比特、绿色(G)浮点比特和蓝色(B)浮点比特。
24.根据权利要求20所述的装置,其中,所述多个比特基于预测压缩方案而被压缩。
25.根据权利要求24所述的装置,其中,所述预测压缩方案基于与所述多个比特中的每一者相关联的所述颜色数据的空间相邻颜色数据。
26.根据权利要求24所述的装置,其中,所述预测压缩方案与空间相邻预测器或平行四边形预测器中的至少一者相关联。
27.根据权利要求20所述的装置,其中,所述颜色数据从红色(R)绿色(G)蓝色(B)(RGB)数据被转换成亮度(Y)色度橙色(Co)色度绿色(Cg)(YCoCg)数据。
28.根据权利要求20所述的装置,其中,与所述多个比特中的每一者相关联的所述颜色数据基于颜色空间转换或无损转换中的至少一者而被转换。
29.根据权利要求20所述的装置,其中,所述多个比特对应于32比特高动态范围(HDR)格式或R11G11B10格式。
30.根据权利要求20所述的装置,其中,所述至少一个处理器还被配置成:
在压缩所述多个比特后,编码所述至少一个比特流中的所述多个比特。
31.根据权利要求30所述的装置,其中,所述多个比特基于块固定长度译码(BFLC)过程而被编码。
32.根据权利要求30所述的装置,其中,所述多个比特通过将标头或元数据中的至少一者添加到所述多个比特而被编码。
33.根据权利要求20所述的装置,其中,所述至少一个处理器还被配置成:
向存储器发送包括经压缩的多个比特的所述至少一个比特流。
34.根据权利要求33所述的装置,其中,所述至少一个处理器还被配置成:
从所述存储器接收包括所述经压缩的多个比特的所述至少一个比特流;
解码所述至少一个比特流中的所述经压缩的多个比特;
解压缩所述至少一个比特流中的所述多个比特;
重新转换与所述至少一个比特流中的所述多个比特中的每一者相关联的所述颜色数据;
重新布置所述至少一个比特流中的所述多个比特的顺序;以及
发送包括所述多个比特的所述至少一个比特流。
35.根据权利要求33所述的装置,其中,所述存储器是图形处理单元(GPU)中的双数据速率(DDR)存储器。
36.根据权利要求20所述的装置,其中,所述至少一个比特流中的所述多个比特被压缩成一个或多个数据封包。
37.根据权利要求36所述的装置,其中,所述一个或多个数据封包是双数据速率(DDR)封包。
38.根据权利要求20所述的装置,其中,对所述多个比特的所述压缩是无损压缩。
39.一种用于数据处理的装置,包含:
用于接收包括多个比特的至少一个比特流的部件,所述多个比特中的每一者对应于所述至少一个比特流中的位置,并且所述多个比特中的每一者与颜色数据相关联;
用于布置所述至少一个比特流中的所述多个比特的顺序,使得所述多个比特中的至少一者对应于所述至少一个比特流中的更新位置的部件;
用于在布置所述多个比特的所述顺序后,转换与所述至少一个比特流中的所述多个比特中的每一者相关联的所述颜色数据的部件;以及
用于在转换与所述多个比特中的每一者相关联的所述颜色数据后,压缩所述至少一个比特流中的所述多个比特的部件。
40.一种存储用于数据处理的计算机可执行代码的计算机可读介质,所述代码在由处理器执行时使得所述处理器:
接收包括多个比特的至少一个比特流,所述多个比特中的每一者对应于所述至少一个比特流中的位置,并且所述多个比特中的每一者与颜色数据相关联;
布置所述至少一个比特流中的所述多个比特的顺序,使得所述多个比特中的至少一者对应于所述至少一个比特流中的更新位置;
在布置所述多个比特的所述顺序后,转换与所述至少一个比特流中的所述多个比特中的每一者相关联的所述颜色数据;以及
在转换与所述多个比特中的每一者相关联的所述颜色数据后,压缩所述至少一个比特流中的所述多个比特。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/169,342 | 2021-02-05 | ||
US17/169,342 US12033361B2 (en) | 2021-02-05 | 2021-02-05 | Methods and apparatus for lossless compression of GPU data |
PCT/US2022/011329 WO2022169541A1 (en) | 2021-02-05 | 2022-01-05 | Methods and apparatus for lossless compression of gpu data |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116806428A true CN116806428A (zh) | 2023-09-26 |
Family
ID=80051001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280012486.3A Pending CN116806428A (zh) | 2021-02-05 | 2022-01-05 | 用于gpu数据的无损压缩的方法和装置 |
Country Status (8)
Country | Link |
---|---|
US (1) | US12033361B2 (zh) |
EP (1) | EP4289140A1 (zh) |
JP (1) | JP2024505930A (zh) |
KR (1) | KR20230142474A (zh) |
CN (1) | CN116806428A (zh) |
BR (1) | BR112023014936A2 (zh) |
TW (1) | TW202232434A (zh) |
WO (1) | WO2022169541A1 (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0566923A (ja) * | 1991-09-05 | 1993-03-19 | Mitsubishi Electric Corp | 演算器 |
US6061782A (en) * | 1997-11-29 | 2000-05-09 | Ip First Llc | Mechanism for floating point to integer conversion with RGB bias multiply |
EP2679012B1 (en) | 2011-02-21 | 2015-08-26 | Dolby Laboratories Licensing Corporation | Floating point video coding |
US9185424B2 (en) | 2011-07-05 | 2015-11-10 | Qualcomm Incorporated | Image data compression |
JP2013106333A (ja) * | 2011-11-17 | 2013-05-30 | Sony Corp | 画像処理装置および方法 |
CN103974056A (zh) * | 2014-05-08 | 2014-08-06 | 合肥工业大学 | 一种用于固态真三维体积式显示的片源编码方法 |
US10200697B2 (en) | 2015-07-09 | 2019-02-05 | Qualcomm Incorporated | Display stream compression pixel format extensions using subpixel packing |
US10779005B2 (en) | 2015-07-15 | 2020-09-15 | Blinxel Pty Ltd | System and method for image processing |
US10250899B1 (en) | 2017-09-22 | 2019-04-02 | Qualcomm Incorporated | Storing and retrieving high bit depth image data |
US10939129B2 (en) | 2018-04-10 | 2021-03-02 | Apple Inc. | Point cloud compression |
-
2021
- 2021-02-05 US US17/169,342 patent/US12033361B2/en active Active
-
2022
- 2022-01-05 TW TW111100411A patent/TW202232434A/zh unknown
- 2022-01-05 BR BR112023014936A patent/BR112023014936A2/pt unknown
- 2022-01-05 EP EP22701118.6A patent/EP4289140A1/en active Pending
- 2022-01-05 JP JP2023546084A patent/JP2024505930A/ja active Pending
- 2022-01-05 KR KR1020237025695A patent/KR20230142474A/ko unknown
- 2022-01-05 WO PCT/US2022/011329 patent/WO2022169541A1/en active Application Filing
- 2022-01-05 CN CN202280012486.3A patent/CN116806428A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220254070A1 (en) | 2022-08-11 |
BR112023014936A2 (pt) | 2024-01-30 |
WO2022169541A1 (en) | 2022-08-11 |
TW202232434A (zh) | 2022-08-16 |
EP4289140A1 (en) | 2023-12-13 |
KR20230142474A (ko) | 2023-10-11 |
US12033361B2 (en) | 2024-07-09 |
JP2024505930A (ja) | 2024-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021231016A1 (en) | Methods and apparatus for atlas management of augmented reality content | |
CN116917927A (zh) | 用于机器学习工作负载中张量对象支持的方法和装置 | |
US11769234B2 (en) | Methods and apparatus for histogram based tone mapping | |
WO2021137990A1 (en) | Methods and apparatus for utilizing display correction factors | |
US12020378B2 (en) | Compressed geometry rendering and streaming | |
CN118355432A (zh) | 渲染流水线中的色度优化 | |
US12033361B2 (en) | Methods and apparatus for lossless compression of GPU data | |
US11622113B2 (en) | Image-space function transmission | |
US12008677B2 (en) | Compatible compression for different types of image views | |
US20240205433A1 (en) | Truncation error signaling and adaptive dither for lossy bandwidth compression | |
US20230154063A1 (en) | Non-linear filtering for color space conversions | |
US11727631B2 (en) | Dynamic variable rate shading | |
US20230252725A1 (en) | Bounding volume hierarchy leaf node compression | |
CN118844061A (zh) | 用于不同类型的图像视图的兼容压缩 | |
WO2023146651A1 (en) | Rendering of field sequential displays in a display subsystem | |
CN116998145A (zh) | 用于基于显著性的帧颜色增强的方法和装置 |
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 |