CN116391199A - 通过使层属性优先化来处理图像数据 - Google Patents
通过使层属性优先化来处理图像数据 Download PDFInfo
- Publication number
- CN116391199A CN116391199A CN202080106139.8A CN202080106139A CN116391199A CN 116391199 A CN116391199 A CN 116391199A CN 202080106139 A CN202080106139 A CN 202080106139A CN 116391199 A CN116391199 A CN 116391199A
- Authority
- CN
- China
- Prior art keywords
- layers
- processor
- subset
- layer
- threshold
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- 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
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Generation (AREA)
Abstract
本公开的某些方面提供了用于处理与被配置为在显示器上显示的帧相对应的图像数据的多个层的方法和装置,该多个层包括:层的第一子集,其具有小于或等于阈值的相应的比特深度;以及层的第二子集,其具有大于阈值的相应的比特深度。该方法包括:由第一处理器基于层的第一子集中的至少一个第一层具有小于或等于阈值的相应的比特深度来执行对该至少一个第一层的合成处理。该方法还包括:由第二处理器基于层的第二子集中的至少一个第二层具有大于阈值的相应的比特深度来执行对该至少一个第二层的合成处理。
Description
技术领域
本公开总体上涉及处理系统,并且更具体地涉及用于显示或图形处理的一种或多种技术。
背景技术
计算设备通常使用图形处理单元(GPU)来加速对图形数据的渲染以供显示,并使用显示处理单元(DPU)来处理图形数据以发送到显示面板以供显示。这样的计算设备可以包括例如计算机工作站、移动电话(例如,所谓的智能电话)、嵌入式系统、个人计算机、平板计算机和视频游戏控制台。GPU执行图形处理管线,该图形处理管线包括一个或多个处理阶段,这些处理阶段一起操作以执行图形处理命令并输出帧。中央处理单元(CPU)可以通过向GPU发出一个或多个图形处理命令来控制GPU的操作。现代CPU典型地能够并发地执行多个应用,这些应用中的每一个可能需要在执行期间利用GPU。
包括智能电话、平板计算机和可穿戴设备的计算设备可以在显示器上呈现图形内容。在某些情况下,消费者期望更高比特深度(bit-depth)或颜色深度的图像数据,例如,超过现有的8比特的当前流行的10比特。相应地,更高比特深度(例如,10比特)的显示面板正在成为计算设备中的标准硬件配置。例如,一些硬件制造商可能期望高比特深度(包括高动态范围)的游戏、视频录制、播放、静态图像捕获和处理以及动画,其由用于这种高比特深度内容的高效图像文件格式来支持。
在某些情况下,高比特深度内容可以由本身不支持高比特深度的硬件组件处理。例如,高比特深度内容发布者可能经常引领使用较低比特深度图形处理单元的现有市场,这些较低比特深度图形处理单元仍然能够(例如,通过转换和抖色(dithering))处理高比特深度内容。尽管兼容,但使用低比特深度处理器、缓冲器或显示面板处理高比特深度内容可能会导致诸如闪烁(flickering)或其他不稳定行为之类的问题。因此,期望用于避免这种问题的处理具有高比特深度的图像数据的技术。
发明内容
以下呈现了一个或多个方面的简化概述,以便提供对这种方面的基本理解。本发明内容不是对所有预期方面的广泛概述,并且既不旨在识别所有方面的关键元素也不旨在描述任何或所有方面的范围。其唯一目的是以简化的形式呈现一个或多个方面的一些概念,作为稍后呈现的更详细描述的序言。
本公开的某些方面提供了一种用于处理与被配置为在显示器上显示的帧相对应的图像数据的多个层的方法,该多个层包括:层的第一子集,其具有小于或等于阈值的相应的比特深度;以及层的第二子集,其具有大于阈值的相应的比特深度。该方法包括:由第一处理器基于层的第一子集中的至少一个第一层具有小于或等于阈值的相应的比特深度来执行对该至少一个第一层的合成处理。该方法还包括:由第二处理器基于层的第二子集中的至少一个第二层具有大于阈值的相应的比特深度来执行对该至少一个第二层的合成处理。
本公开的某些方面提供了一种用于处理与被配置为在显示器上显示的帧相对应的图像数据的多个层的装置,该多个层包括:层的第一子集,其具有小于或等于阈值的相应的比特深度;以及层的第二子集,其具有大于阈值的相应的比特深度。该装置包括存储器和第一处理器,该第一处理器被配置为:基于层的第一子集中的至少一个第一层具有小于或等于阈值的相应的比特深度来执行对该至少一个第一层的合成处理。该装置还包括第二处理器,该第二处理器被配置为:基于层的第二子集中的至少一个第二层具有大于阈值的相应的比特深度来执行对该至少一个第二层的合成处理。
本公开的某些方面提供了一种具有存储在其上的指令的非暂时性计算机可读介质,该指令当由包括第一处理器和第二处理器的一组处理器执行时,使该组处理器执行用于处理与被配置为在显示器上显示的帧相对应的图像数据的多个层的方法。该多个层包括:层的第一子集,其具有小于或等于阈值的相应的比特深度;以及层的第二子集,其具有大于阈值的相应的比特深度。该方法包括:由第一处理器基于层的第一子集中的至少一个第一层具有小于或等于阈值的相应的比特深度来执行对该至少一个第一层的合成处理。该方法还包括由第二处理器基于层的第二子集中的至少一个第二层具有大于阈值的相应的比特深度来执行对该至少一个第二层的合成处理。
本公开的某些方面提供了一种用于处理与被配置为在显示器上显示的帧相对应的图像数据的多个层的方法,该多个层包括:层的第一子集,其具有不满足阈值的属性的相应值;以及层的第二子集,其具有满足阈值的属性的相应值。该方法包括:由第一处理器基于层的第一子集中的至少一个第一层具有不满足阈值的属性的相应值来执行对该至少一个第一层的合成处理。该方法还包括:由第二处理器基于层的第二子集中的至少一个第二层具有满足阈值的属性的相应值来执行对该至少一个第二层的合成处理。
本公开的某些方面提供了一种用于处理与被配置为在显示器上显示的帧相对应的图像数据的多个层的装置,该多个层包括:层的第一子集,其具有不满足阈值的属性的相应值;以及层的第二子集,其具有满足阈值的属性的相应值。该装置包括存储器和第一处理器,该第一处理器被配置为:基于层的第一子集中的至少一个第一层具有不满足阈值的属性的相应值来执行对该至少一个第一层的合成处理。该装置还包括第二处理器,该第二处理器被配置为:基于层的第二子集中的至少一个第二层具有满足阈值的属性的相应值来执行对该至少一个第二层的合成处理。
本公开的一个或多个示例的细节在附图和下面的描述中阐述。本公开的其他特征、目的和优点将从描述和附图以及权利要求中显而易见。
附图说明
为了能够详细理解本公开的上述特征的方式,以上简要概括的更具体的描述可以通过参考方面来获得,这些方面中的一些在附图中示出。然而,要注意的是,附图仅示出了本公开的某些典型方面,因此不应被视为限制其范围,因为描述可以承认其他同等有效的方面。
图1是示出根据本公开的一种或多种技术的示例图像数据处理系统的框图。
图2示出了根据本公开的某些方面的用于第一设备处理图像数据的多个层的示例操作。
图3示出了根据本公开的某些方面的用于第二设备处理图像数据的多个层的示例操作。
图4示出了根据本公开的某些方面的用于图像数据处理的示例流程图。
图5示出了根据本公开的某些方面的用于由图形处理单元和显示处理单元在混合器模式下进行的图像数据处理的示例框图。
图6示出了根据本公开的某些方面的用于由显示处理单元进行的图像数据处理的示例框图。
相同的附图标记指示相同的元素。
具体实施方式
通常,本文公开的方面提供了一种用于处理与要在显示器上显示的帧相对应的图像数据的多个层的技术。在某些方面,多个层包括:层的第一子集,其具有小于或等于阈值的相应的比特深度;以及层的第二子集,其具有大于阈值的相应的比特深度。应当注意,关于作为用于确定使用哪个处理器来处理层的层属性的比特深度描述了某些方面,然而,可以类似地使用一个或多个其他层属性。
比特深度、位深度(bit depth)或每像素颜色深度指代指示单个像素的亮度或颜色(例如,红色、绿色或蓝色)的比特数。单个像素可以在用于捕获设备以及播放设备中的视频帧缓冲器或位图图像中。例如,8比特像素可以显示2^8=256种不同的强度或颜色;而10比特像素可以显示2^10=1024种不同的强度或颜色。彩色显示面板通常采用红-绿-蓝(RGB)配置,例如,从而产生基于8比特像素的24比特彩色图像(即,针对红色、绿色和蓝色像素各8比特)。其他彩色显示面板可以进一步包括不同颜色(例如,青色、品红色或黄色)的像素,或者包括附加的RGB像素(例如,具有不同于1:1:1的比率(例如,1:2:1)的RGB像素)以实现更丰富的色域、改进的改变伽马(gamma)的能力或更宽的动态范围。因此,当每个像素具有相同的比特深度时,不同的彩色显示面板可能具有不同的整体颜色深度。本公开总体上涉及每个像素的比特深度,但本文公开的技术同样适用于不同的颜色深度、色域、伽马或与处理相关的其他图像属性。
高比特深度处理器和显示面板在消费者中越来越受欢迎。例如,智能电话制造商正在积极开发端到端10比特高动态范围(HDR)解决方案,包括例如:“True HDR”游戏、“HDR10”视频录制、“HDR10”和“HDR10+”播放、10比特静态图像和动画高效图像文件格式(HEIF)。这种活动包括更新例如用于相机、图形处理单元(GPU)、显示处理单元(DPU)和显示面板的管线和块,以支持10比特或更高比特的图像处理以改进视觉性能。通常,传入的图像数据的一部分可以由GPU处理。然而,当图像数据的比特深度高于GPU中的帧缓冲器的本地比特深度时,图像处理可能会被破坏或延迟,从而导致闪烁或中断。例如,一些消费者已经报告当在使用8比特GPU的设备上播放10比特内容时的显示闪烁问题或显示异常问题。在某些方面,本公开提供了克服这种已知闪烁问题的技术。
GPU可以使用与DPU合成不同的色域映射算法。此外,GPU可以将内容组合在一个中间缓冲器(例如,通常为8比特的帧缓冲器目标(FBT))中。在转换为FBT格式时,10比特内容中的一些可能会丢失。不同的色域映射和比特深度转换中的一个或两个可能导致上述闪烁或中断。此外,当DPU无法处理所有传入的图像数据时,工作负载可能会被转移(例如,发送到GPU进行处理)或排队,从而潜在地导致闪烁或中断。
通常,硬件合成器(HWC)被期望利用DPU进行合成,因为DPU通常具有用于高效处理(即,更好的性能和更低的能耗)的本地高比特深度处理规范。本公开提供了用于例如尽可能多地避免针对高比特深度内容的GPU合成的技术,从而避免由此产生的闪烁。
由于DPU的各种限制,在处理所有传入的图像数据时仅使用DPU用于所有用例可能是不切实际的。另一方面,将FBT格式改变为浮点16(FP16,或半精度)格式在许多应用中可能成本过高(例如,要求跨平台进行大量硬件升级)。因此,根据本公开的某些方面,可以使DPU优先处理高比特深度的图像数据,并且DPU可以由GPU协助处理其他图像数据。因此,本公开提供了若干益处。首先,维持用于高位深度内容的数据准确度,同时避免不受所使用的层的数量影响的瓶颈,包括在复杂情况下。此外,DPU可以按高优先级处理高比特深度内容,从而享受DPU的功率和性能效率。
在一些示例中,通过针对比特深度定义阈值来实现使用DPU优先处理高比特深度图像数据。例如,当处理对应于帧的图像数据的多个层时,这些层包括:层的第一子集,其具有小于或等于阈值(例如,8比特,或GPU的FBT支持的比特数)的相应的比特深度;以及层的第二子集,其具有大于阈值的相应的比特深度(例如,10比特)。GPU然后可以基于(例如,8比特或更低比特深度的)层的第一子集中的至少一个第一层具有等于阈值(例如,8比特)的比特深度来执行对该至少一个第一层的合成处理。DPU可以基于层的第二子集中的至少一个第二层具有大于阈值(例如,8比特)的比特深度(例如,10比特)来执行对该至少一个第二层的合成处理。在某些方面,当DPU有能力执行对所有层的合成处理时,层的第一子集和层的第二子集两者由DPU处理。另一方面,当DPU没有足够的能力来进行对图像数据的所有层的处理时,使用混合器模式,其中GPU执行对层的第二子集的合成处理。在又一些其他方面,当DPU具有减少或禁用的能力时,可以将更多或所有层发送到GPU以执行合成处理。
系统、装置、计算机程序产品和方法的各种方面将在下文中参考附图进行更全面的描述。然而,本公开可以以许多不同的形式体现并且不应被解释为限于贯穿本公开呈现的任何特定结构或功能。而是,提供这些方面使得本公开将是彻底和完整的,并且将本公开的范围充分地传达给本领域技术人员。基于本文的教导,本领域技术人员应当认识到的是,本公开的范围旨在覆盖本文公开的系统、装置、计算机程序产品和方法的任何方面,无论是独立于本公开的其他方面实现还是与其他方面结合实现。例如,可以使用本文阐述的任何数量的方面来实现装置或实践方法。此外,本公开的范围旨在覆盖这样的装置或方法,其使用作为本文阐述的本公开的各种方面的补充或除本文阐述的本公开的各种方面之外的其他结构、功能、或结构和功能来实践。本文公开的任何方面可以由权利要求的一个或多个元素来体现。
尽管本文描述了各个方面,但是这些方面的许多变型和排列落入本公开的范围内。尽管提及了本公开的方面的一些潜在益处和优点,但是本公开的范围并不旨在限于特定的益处、用途或目标。而是,本公开的方面旨在广泛地适用于不同的无线技术、系统配置、网络和传输协议,其中的一些在附图和以下描述中通过示例的方式示出。详细描述和附图仅是对本公开的说明而非限制,本公开的范围由所附权利要求及其等效物限定。
参考各种装置和方法呈现了若干方面。这些装置和方法在下面的详细描述中进行描述并且在附图中通过各种块、组件、电路、过程、算法等(统称为“元素”)进行说明。这些元素可以使用电子硬件、计算机软件或其任何组合来实现。这种元素是作为硬件还是软件来实现取决于特定的应用和施加在整个系统上的设计约束。
通过示例的方式,元素或元素的任何部分或元素的任何组合可以被实现为包括一个或多个处理器(其也可以被称为处理单元)的“处理系统”。处理器的示例包括微处理器、微控制器、图形处理单元(GPU)、通用GPU(GPGPU)、中央处理单元(CPU)、应用处理器、数字信号处理器(DSP)、精简指令集计算(RISC)处理器、片上系统(SOC)、基带处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、状态机、门逻辑、分立硬件电路和被配置为执行贯穿本公开描述的各种功能的其他合适的硬件。
处理系统中的一个或多个处理器可以执行软件。软件可以被宽泛地解释为表示指令、指令集、代码、代码段、程序代码、程序、子程序、软件组件、应用、软件应用、软件包、例程、子例程、对象、可执行文件、执行线程、过程、函数等,而无论被称为软件、固件、中间件、微码、硬件描述语言还是其他名称。术语应用可以指代软件。如本文所描述的,一种或多种技术可以指代被配置为执行一种或多种功能的应用,即,软件。在这样的示例中,应用可以存储在存储器(例如,处理器的片上存储器、系统存储器或任何其他存储器)上。
本文描述的硬件(例如,处理器)可以被配置为执行应用。例如,应用可以被描述为包括代码,该代码当由硬件执行时,使得硬件执行本文描述的一种或多种技术。作为示例,硬件可以访问来自存储器的代码并且执行从存储器访问的代码以执行本文描述的一种或多种技术。在一些示例中,组件在本公开中被标识。在这样的示例中,组件可以是硬件、软件或其组合。这些组件可以是单独的组件或单个组件的子组件。
因此,在本文描述的一个或多个示例中,所描述的功能可以以硬件、软件或其任何组合来实现。如果以软件实现,则功能可以存储在计算机可读介质上或编码为计算机可读介质上的一个或多个指令或代码。计算机可读介质包括计算机存储介质。存储介质可以是计算机可以访问的任何可用介质。通过示例而非限制的方式,这种计算机可读介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、光盘存储装置、磁盘存储装置、其他磁性存储设备、上述类型的计算机可读介质的组合、或可以用于以计算机可以访问的指令或数据结构的形式存储计算机可执行代码的任何其他介质。
通常,本文公开的示例提供了用于处理与被配置为在显示器上显示的帧相对应的图像数据的多个层的技术。示例技术可以通过避免与GPU处理高比特深度图像数据相关的闪烁来改进显示。例如,本公开描述了用于针对利用显示器的任何设备使DPU中的高比特深度图形和/或显示处理优先化的技术。贯穿本公开内容描述了其他示例益处。
如本文所使用的,术语“内容”的实例可以指代“图像数据的层”、“图形内容”、“图像”,反之亦然。无论术语是用作形容词、名词还是其他词性,都是如此。在一些示例中,如本文所使用的,术语“图形内容”可以指代由图形处理管线的一个或多个进程产生的内容。在一些示例中,如本文所使用的,术语“图形内容”可以指代由被配置为执行图形处理的处理单元产生的内容。在一些示例中,如本文所使用的,术语“图形内容”可以指代由图形处理单元(GPU)产生的或以其他方式由显示处理单元(DPU)接收的内容。
在一些示例中,如本文所使用的,术语“显示内容”可以指代由被配置为执行显示处理的处理单元生成的内容。在一些示例中,如本文所使用的,术语“显示内容”可以指代由显示处理单元生成的内容。图形内容可以被处理以变成显示内容。例如,GPU可以将诸如帧之类的图形内容输出到缓冲器(其可以被称为帧缓冲器)。显示处理单元(例如,图1的DPU127)可以从缓冲器中读取图形内容(例如,一个或多个帧),并对其执行一种或多种显示处理技术以生成显示内容。
例如,DPU可以被配置为对一个或多个所渲染的层执行合成以生成帧。在某些情况下,GPU还可以配置为对一个或多个所渲染的层执行合成以生成帧,例如,在协助DPU执行相同操作时。作为另一示例,DPU可以被配置为将两个或更多个层进行合成、混合或以其他方式将其组合在一起成为单个帧。DPU可以被配置为对帧执行缩放,例如,放大或缩小。在一些示例中,帧可以指代层。在其他示例中,帧可以指代已经混合在一起以形成帧的两个或更多个层,即,帧包括两个或更多个层,并且包括两个或更多个层的帧随后可以被混合。
图1是示出被配置为实现本发明的一种或多种技术的示例图像数据处理系统100的框图。图像数据处理系统100包括设备104。设备104可以包括用于执行本文描述的各种功能的一个或多个组件或电路。在一些示例中,设备104的一个或多个组件可以是SOC的组件。设备104可以包括被配置为执行本公开的一种或多种技术的一个或多个组件。在所示示例中,设备104可以包括图形处理单元(GPU)120(例如,第一处理器)和系统存储器124。在一些示例中,设备104可以包括多个附加或替代组件,例如,通信接口126、收发机132、接收机128、发射机130、显示处理单元(DPU)127(例如,第二处理器)和显示客户端131。对显示客户端131的引用可以指代一个或多个显示器。例如,显示客户端131可以包括单个显示器或多个显示器。显示客户端131可以包括第一显示器和第二显示器。在进一步的示例中,图形处理的结果可能不显示在设备上,例如,第一显示器和第二显示器可能不接收用于在其上呈现的任何帧。相反,帧或图形处理结果可以被传送到另一设备。在某些方面,这可以称为分割渲染。
GPU 120可以包括内部存储器121。GPU 120可以被配置为例如在图形处理管线107中执行图形处理。在一些示例中,设备104可以包括显示处理器(例如,DPU 127),以在由显示客户端131呈现之前对由GPU 120生成的一个或多个帧执行包括合成处理的一种或多种显示处理技术。DPU 127可以被配置为执行显示处理。例如,DPU 127可以被配置为对由GPU120生成的一个或多个帧执行一种或多种显示处理技术。DPU 127可以根据接口协议(例如,MIPI DSI(移动行业处理器接口,显示串行接口))将图像数据输出到显示客户端131。
内部存储器121可以包括缓冲器123,例如,帧缓冲器。缓冲器123是包含可以驱动视频显示器(例如,显示客户端131)的位图的内部存储器121的一部分。例如,存储器中的位图可以被转换为可以在显示器136上显示的视频信号。缓冲器123也可以是屏幕缓冲器、视频缓冲器或包括要在显示器136上示出的内容的再生缓冲器。缓冲器123中的信息可以包括针对要在显示器136上示出的每个像素的比特深度或颜色值(例如,前述的针对8比特像素的24比特颜色)。在某些情况下,缓冲器123所需的存储器可能取决于输出信号的分辨率、比特深度或调色板(palette)大小。在本公开的一些方面,发送到缓冲器123的图形内容通常具有与缓冲器123的本地比特深度相同的比特深度,以避免可能导致闪烁的任何潜在的异常合成处理。
显示客户端131可以被配置为显示或以其他方式呈现由DPU 127处理的帧。在一些示例中,显示客户端131可以包括以下各项中的一个或多个:液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器、投影显示设备、增强现实显示设备、虚拟现实显示设备、头戴式显示器或任何其他类型的显示设备。
在图1示出的示例中,显示客户端131包括显示器控制器132、缓冲器134和显示器136。示例显示器136包括用于显示图像数据的多个像素元件。显示器控制器132可以从DPU127接收图像数据并将接收到的图像数据存储在缓冲器134中。在一些示例中,显示器控制器132可以将存储在缓冲器134中的图像数据输出到显示器136。因此,缓冲器134可以表示到显示客户端131的本地存储器。在一些示例中,显示器控制器132可以将从DPU 127接收的图像数据输出到显示器136。
此外,如上面所公开的,显示客户端131可以根据MIPI DSI标准来配置。MIPI DSI标准支持视频模式和命令模式。在其中显示客户端131在视频模式下操作的示例中,DPU127可以连续刷新显示客户端131的图形内容。例如,可以在每个刷新周期(例如,逐行地)刷新整个图形内容。
在其中显示客户端131在命令模式下操作的示例中,DPU 127可以将帧的图形内容写入缓冲器134。在一些这样的示例中,DPU 127可以不连续刷新显示器客户端13的图形内容。与之相反,DPU 127可以使用垂直同步(Vsync)脉冲来协调缓冲器134处的图形内容的渲染和消费。例如,当生成Vsync脉冲时,DPU 127可以将新的图形内容输出到缓冲器134。因此,Vsync脉冲的生成可以指示缓冲器134处的当前图形内容何时已经被渲染。
GPU 120外部的存储器(例如,系统存储器124)可以由GPU 120访问。例如,GPU 120可以被配置为从外部存储器(例如,系统存储器124)读取和/或写入外部存储器。GPU 120可以通过总线通信地耦合到系统存储器124。在一些示例中,GPU 120和系统存储器124可以通过总线或不同的连接相互通信地耦合。
应当认识到的是,在一些示例中,设备104可以包括内容编码器/解码器,该内容编码器/解码器被配置为从任何源(例如,系统存储器124和/或通信接口126)接收图形和/或显示内容。系统存储器124可以被配置为存储接收到的经编码或解码的内容。在一些示例中,内容编码器/解码器可以被配置为例如从系统存储器124和/或通信接口126以经编码的像素数据的形式接收经编码或解码的内容。在一些示例中,内容编码器/解码器可以被配置为编码或解码任何内容。
内部存储器121或系统存储器124可以包括一个或多个易失性或非易失性存储器或存储设备。在一些示例中,内部存储器121或系统存储器124可以包括RAM、SRAM、DRAM、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、磁数据介质或光学存储介质、或任何其他类型的存储器。
根据一些示例,内部存储器121或系统存储器124可以是非暂时性存储介质。术语“非暂时性”可以指示存储介质不体现在载波或传播的信号中。然而,术语“非暂时性”不应被解释为意味着内部存储器121或系统存储器124是不可移除的或其内容是静态的。作为一个示例,系统存储器124可以从设备104移除并且移动到另一设备。作为另一示例,系统存储器124可能不能从设备104移除。
GPU 120可以是中央处理单元(CPU)、图形处理单元(GPU)、通用GPU(GPGPU)或可以被配置为执行图形处理的任何其他处理单元。在一些示例中,GPU 120可以集成到设备104的主板中。在一些示例中,GPU 120可以存在于安装在设备104的主板中的端口中的图形卡上,或者可以以其他方式并入被配置为与设备104互操作的外围设备内。GPU 120可以包括一个或多个处理器,例如,一个或多个微处理器、GPU、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、算术逻辑单元(ALU)、数字信号处理器(DSP)、分立逻辑、软件、硬件、固件、其他等效集成或分立逻辑电路系统或其任何组合。如果这些技术部分地以软件实现,则GPU 120可以将用于软件的指令存储在合适的、非暂时性计算机可读存储介质(例如,内部存储器121)中,并且可以使用一个或多个处理器以硬件执行指令来执行本公开的技术。前述任何一种(包括硬件、软件、硬件和软件的组合等)都可以被认为是一个或多个处理器。
在一些方面,图像数据处理系统100可以包括通信接口126。通信接口126可以包括接收机128和发射机130。接收机128可以被配置为执行本文关于设备104描述的任何接收功能。另外地,接收机128可以被配置为从另一设备接收信息,例如,眼睛或头部位置信息、渲染命令或定位信息。发射机130可以被配置为执行本文关于设备104描述的任何发送功能。例如,发射机130可以被配置为向另一设备发送信息,该信息可以包括针对内容的请求。接收机128和发射机130可以组合为收发机132。在这种示例中,收发机132可以被配置为执行本文关于设备104所描述的任何接收功能和/或发送功能。
在一些示例中,来自GPU 120的用于经由显示客户端131显示的图形内容不是静态的并且可以是改变的。因此,DPU 127可以周期性地刷新经由显示客户端131显示的图形内容。例如,DPU 127可以周期性地从系统存储器124取回图形内容,其中图形内容可能已经通过将图形内容输出到系统存储器124的应用(和/或GPU 120)的执行进行了更新。
应当认识到的是,虽然在图1中被示为单独的组件,但在一些示例中,显示客户端131(有时称为“显示面板”)可以包括DPU 127。
再次参考图1,在某些方面,DPU 127可以被配置为操作显示客户端131的功能。例如,在某些方面,DPU 127被配置为将(例如,对应于帧的)多个码字输出到显示器控制器132。每个码字可以由数字域中的二进制数表示。每个码字可以对应于显示器136的像素(例如,红色、绿色、蓝色、白色等)。
显示器控制器132可以被配置为将从DPU 127接收的码字转换为用于驱动显示器136的像素的模拟信号。在某些方面,对于对应于像素的每个码字,显示器控制器132被配置为将码字转换为将像素驱动到特定的亮度级别的模拟信号。因此,在某些方面,码字和/或模拟信号对应于像素的亮度级别。
如本文所描述的,诸如设备104之类的设备可以指代被配置为执行本文所描述的一种或多种技术的任何设备、装置或系统。例如,设备可以是服务器、基站、用户设备、客户端设备、站、接入点、计算机(例如,个人计算机、台式计算机、膝上型计算机、平板计算机、计算机工作站或大型计算机)、最终产品、装置、电话、智能电话、服务器、视频游戏平台或控制台、手持设备(例如,便携式视频游戏设备或个人数字助理(PDA))、可穿戴计算设备(例如,智能手表、增强现实设备或虚拟现实设备)、非可穿戴设备、显示器或显示设备、电视机、电视机机顶盒、中间网络设备、数字媒体播放器、视频流送设备、内容流送设备、车载计算机、任何移动设备、被配置为生成图形内容的任何设备、或被配置为执行本文描述的一种或多种技术的任何设备。本文的过程可以被描述为由特定组件(例如,GPU)执行,但是,在进一步的实施例中,本文的过程可以使用其他组件(例如,CPU)来执行,这与所公开的实施例一致。
在某些方面,可能期望将使用DPU 127对具有高比特深度(例如,10比特)的图像数据进行合成处理相对于GPU 120被优先化,因为GPU 120中的缓冲器123具有较低的比特深度帧缓冲器,例如,8比特帧缓冲器目标。然而,由于要处理的图像数据的量并且图像数据具有各种属性,在一些用例中仅依赖于DPU 127来处理所有图像数据通常是不切实际的。在图像数据中的一些由GPU 120处理的情况下,设备104在利用DPU 127和GPU 120两者的处理能力的“混合器模式”下操作。例如,当DPU 127不能及时处理所有图像数据时,图像数据的一部分被转移到GPU 120进行处理。被转移到GPU 120的图像数据的子集可以具有比由DPU127处理的部分更低的比特深度,使得GPU 120可以适当地处理合成处理,使潜在错误最少。图2-图6一致地示出了不同的操作模式,包括使DPU的使用优先化、使用DPU和GPU两者在混合器模式下操作、以及在某些情况下仅由GPU处理,如下文详细描述的。
图2示出了根据本公开的某些方面的用于第一设备(例如,图1的设备104)处理与被配置为在显示器上显示的帧相对应的图像数据的多个层的示例操作200。在步骤205处,第一处理器基于层的第一子集中的至少一个第一层具有小于或等于阈值的相应的比特深度来执行对该至少一个第一层的合成处理。在步骤210处,第二处理器基于层的第二子集中的至少一个第二层具有大于阈值的相应的比特深度来执行对该至少一个第二层的合成处理。作为示例,操作200可以在图4所示的一个或多个确定步骤处实现,如下进一步讨论的。
图3示出了用于第二设备(例如,图1的设备104的另一实现方式)处理与被配置为在显示器上显示的帧相对应的图像数据的多个层的示例操作300,该多个层包括:层的第一子集,其具有不满足阈值的属性的相应值;以及层的第二子集,其具有满足阈值的属性的相应值。在一些情况下,属性可以包括位深度、色域或伽马中的至少一个。在一些情况下,属性可以包括分辨率、帧率或刷新率、比特率或整体颜色深度中的至少一个。例如,在步骤305处,第一处理器基于层的第一子集中的至少一个第一层具有不满足阈值的属性的相应值来执行对该至少一个第一层的合成处理。在步骤310处,第二处理器基于层的第二子集中的至少一个第二层具有满足阈值的属性的相应值来执行对该至少一个第二层的合成处理。
在某些方面,当操作300的属性不涉及位深度时,可以执行操作300代替操作200,例如,当第二处理器专用于执行对特定的非比特深度属性的图像数据的合成处理时。例如,使用非比特深度属性的操作300可以在步骤406处被用作图4所示的“其他策略”。即,当图像数据不包括比阈值更高的比特深度内容时,在步骤404处的否定确定中,可以使用其他属性,例如,整体颜色深度(考虑附加的像素颜色、不同的像素排列等)。第二处理器(例如,DPU)可以采用优于图像数据的其他属性的本地性能效率,作为优于第一处理器(例如,GPU)的优势。
可替代地,在某些方面,操作300可以与操作200一起执行(例如,当比特深度和非比特深度属性中的一个被优先化时并行或串行执行),以将处理工作负载分发给第一处理器和第二处理器。例如,当比特深度处理被优先化时,可以通过与比特深度阈值进行比较来确定层的第一子集和层的第二子集(如操作200中所呈现的)。此外,在层的第二子集中,可以基于非比特深度阈值来确定层的第三子集和层的第四子集。在不同的实施例中,可以使非比特深度属性优先化。因此,根据本公开的方面的变型,两个或更多个属性可以用于使合成处理优先化。
在某些方面,操作200和操作300的第一设备或第二设备分别包括显示器,例如,显示面板/客户端131的显示器136。在某些方面,该设备包括显示器驱动器电路,例如,显示器控制器132。在某些方面,显示器驱动器电路被配置为将码字转换为模拟信号以驱动在显示器处的输出。在某些方面,该设备包括显示处理单元,例如,DPU 127。在某些方面,显示处理单元被配置为向显示器驱动器电路提供码字以驱动在显示器处的输出。在某些方面,该设备包括电路系统,例如,GPU 120。
在某些方面,第一处理器被配置为利用具有阈值大小的缓冲器来执行合成处理。例如,缓冲器可以是如图1所示的GPU 120的缓冲器123。缓冲器可以是8比特大小的帧缓冲器。因此,当图像数据具有较高比特深度(例如,10比特)时,缓冲器可能会遇到错误。因此,使在处理高比特深度内容时效率更高的第二处理器(例如,DPU)优先化可以减少第一处理器中遇到错误的机会。
在某些方面,由第一处理器执行对至少一个第一层的合成处理是基于所有多个层的合成处理的性能超过第二处理器的性能度量的。例如,第一处理器可以是GPU 120,并且第二处理器可以是DPU 127。性能度量可以涉及在一段时间内在没有故障(例如,抖动或闪烁)的情况下处理一定大小、体积或量的数据。例如,当第二处理器不具有足够的能力或计算功率来每秒处理一定大小的图像数据的层而不引起可容忍的误差(例如,统计概率)时,则图像数据的多个层的一部分(例如,图像数据的多个层的第一子集)由第一处理器处理。例如,确定DPU 127是否在性能度量内操作在图4的决策框408处示出,并且在408处的否定确定将导致在410处进行另一确定,并且当DPU 127和GPU 120两者可用时在混合器模式下处理图像数据。混合器模式操作的示例框图500在图5中示出。
现在转向图5,示例框图500被示为根据本公开的某些方面的用于由图形处理单元(例如,第一处理器、GPU 120)和显示处理单元(例如,第二处理器、DPU 127)在混合器模式下进行的图像数据处理。如所示的,第一处理器GPU 120经由第二处理器DPU 127耦合到显示面板131。
图像数据的多个层505和510将被处理。图像数据的第一子集505具有8比特的比特深度。图5中的说明指示图像数据的第一子集505需要两个图形管线(或两个层)。图像数据的第二子集510具有8比特内容和10比特内容两者,每个内容对应于相应的图形管线或层。DPU 127被示为包括三个图形管线522、524和526。因此DPU 127不能处理图像数据的第一子集505和第二子集510的总共四个层。
GPU 120可以对图像数据的第一子集505的两层8比特内容执行合成处理,并将处理后的内容发送到DPU 127的图形管线522。图形管线524和526分别处理图像数据的第二子集510的8比特内容和10比特内容。混合层混合器530然后可以处理管线522、524和526,并且将信号输出到显示表面处理器管线(DSPP)532,该DSPP 532然后将显示内容发送到显示面板131。
图5中示出的示例提供了使要由DPU 127处理的图像数据的第二子集510的10比特内容优先化并使具有匹配的8比特帧缓冲器的GPU 120处理8比特内容的说明。在这种情况下,针对比特深度优先化的阈值是8比特。例如,图像数据的第二子集510中的至少一个层具有大于阈值(8比特)的相应的比特深度(10比特)。图像数据的第一子集505中的至少一个层具有小于或等于阈值(8比特)的相应的比特深度(8比特)。在其他实现方式中,阈值可以是10比特或更高;并且DPU 127可以对12比特或更高的图像数据执行合成处理。
在某些方面,至少一个第二层包括层的第二子集的全部,其中至少一个第一层包括层的第一子集的全部。换言之,GPU 120处理图像数据的层的第一子集505的全部;并且DPU 127处理图像数据的层的第二子集510的全部。否则,可以实现另一GPU来执行总图像数据的其余层的合成处理(例如,当总处理工作负载超过GPU 120和DPU 127的组合能力时)。
在某些方面,DPU 127基于第二图像数据的所有层的合成处理的性能满足性能度量来执行对与第二帧相对应的第二图像数据的所有层的合成处理。第二图像数据的层包括:一个或多个第一层,其具有小于或等于阈值的相应的比特深度;以及一个或多个第二层,其具有大于阈值的相应的比特深度。例如,在第二帧中,DPU 127有能力处理图像数据的所有层,因此不需要将处理工作负载转移到GPU 120。换言之,采用GPU 120辅助的混合器模式可以是动态的并逐帧按需改变,因此由于其性能和能效而使DPU 127的使用优先化。DPU127对图像数据的第一子集505和第二子集510两者执行合成处理的示例在图6中示出。
现在转向图6,示出了根据本公开的某些方面的用于由DPU 127进行图像数据处理的示例框图600。与框图500不同,图像数据的第一子集505包括一个层(而不是两个层)。因此,管线522、524和526可以分别处理第一子集505和第二子集510的每个层。
在某些方面,例如,当DPU 127具有有限的能力或受损的功能时,或者当配置或用户设置要求如此时,GPU 120执行对与第二帧相对应的第二图像数据的所有层的合成处理。例如,这种情况由图4中步骤410处的否定确定和步骤412处的操作指示。第二图像数据的层包括:一个或多个第一层,其具有小于或等于阈值的相应的比特深度;以及一个或多个第二层,其具有大于阈值的相应的比特深度。GPU 120基于一个或多个第二层的合成处理的性能超过第二处理器的性能度量来执行对第二图像数据的所有层的合成处理。因此,当DPU 127不可用时(例如,在DPU 127的安全模式操作中),GPU 120可以处理所有图像数据处理。
在某些方面,至少一个第二层包括层的第二子集的全部。至少一个第一层包括少于层的第一子集的全部的多个层。例如,当DPU 127具有处理更多合成处理的附加能力时,DPU 127基于(通过GPU 120进行的)对层的第一子集中的除了至少一个第一层之外的层和层的第二子集的合成处理的性能满足性能度量来执行对层的第一子集中的除了至少一个第一层之外的层的合成处理。这是在混合器模式下的操作的另一示例。
在某些方面,操作200或300还包括通过使要由第二处理器处理的层的第二子集相对于正在由第二处理器处理的层的第一子集被优先化并且使第一处理器处理未由第二处理器处理的任何层,来将多个层中的层在第一处理器和第二处理器之间进行划分以进行合成处理。
在将前述方面拼凑在一起的一个示例中,图4示出了根据本公开的方面的用于图像数据处理的流程图400。流程图400开始于402,在402处,在用于合成处理的设备或系统中接收或生成图像数据的多个层。在404处,设备或系统确定该图像数据是否包括高比特深度(例如,10比特)内容。该确定步骤使高比特深度图像数据优先化。在合成策略的开始处检查图像内容的格式。在确定图像数据包括高比特深度内容时,选择比特深度优先化策略并且操作移动到步骤408。否则,可以在步骤406处选择其他策略,例如,使图像数据的整体颜色深度、分辨率、色域或其他属性优先化(如上面在操作300中所讨论的)。
在408处,设备或系统首先尝试利用DPU对所有图像数据执行合成处理。同时,关于DPU的性能来测量性能度量。在检测到性能度量不满足特定标准时,即,在确定DPU无法处理所有10比特内容时,设备或系统在410处进入混合器模式以接受来自GPU的协助。
在410处,10比特或更高比特的图像内容被标记并且仅用于DPU处理。可以使用其他合成策略来处理其余的较低比特深度图像内容。因此,DPU可以在尽可能多的层(尤其是较高比特深度的层)上执行合成处理,以优化性能和输出准确度。GPU可以胜任处理较低比特深度的层,例如,8比特内容。
在步骤410处检测到DPU已经减少了处理性能,并且混合器模式不能适当地执行对图像数据中的任一个的合成处理时,在步骤412处,设备或系统可以通过在GPU中处理所有图像数据而进入安全模式。
在完成时,例如,通过406处的不同的策略、通过408处的仅DPU模式、通过410处的混合器模式、或412处的仅GPU模式,流程图400在415处结束。
本公开通过使要由DPU处理的比特深度内容优先化来提供独特的优势。在某些情况下,当图像数据包括6-10层、并且层都是8位深度、并且DPU无法单独处理这些层时,系统可能会在混合器模式或仅GPU模式下操作,因为GPU的帧缓冲器也是8比特的。然而,当层中的至少一个层是10比特时,系统可能参与仅DPU模式或混合器模式。如上面所讨论的,将层的一部分或全部发送到DPU改进了性能和准确度。在某些情况下,当层中的至少一个层已经更新了色域或伽马时,将仍然使高比特深度内容优先化以在DPU处进行处理。
在一种配置中,提供了一种用于显示处理的方法或装置。该装置可以是处理单元、显示处理器、显示处理单元(DPU)、GPU、视频处理器或可以执行显示处理的某种其他处理器。在一些示例中,装置可以是设备104内的GPU 120,或者可以是设备104内的某种其他硬件,或另一设备。该装置可以包括用于显示的模块。该装置还包括用于处理与被配置为在显示器上显示的帧相对应的图像数据的多个层的模块,该多个层包括:层的第一子集,其具有小于或等于阈值的相应的比特深度;以及层的第二子集,其具有大于阈值的相应的比特深度。
可以实施本文描述的主题以实现一个或多个益处或优点。例如,所描述的显示和/或图形处理技术可以由显示处理器、显示处理单元(DPU)、GPU或视频处理器或可以执行显示处理以在没有中断或闪烁的情况下处理高比特深度的图像数据的某种其他处理器使用。通常,本文公开的示例提供了用于当与被配置为在显示器上显示的帧相对应的图像数据的层具有各种比特深度属性时处理这些层的技术,其中,比特深度属性中的至少一些不同于GPU存储器的帧缓冲器大小。
根据本公开,术语“或”可以在上下文没有另外说明的情况下被解释为“和/或”。此外,虽然诸如“一个或多个”或“至少一个”等之类的短语可能已经用于本文公开的某些特征而不是其他特征,但未使用这种语言的特征可以在上下文没有另外说明的情况下被解释为具有这种隐含含义。
在一个或多个示例中,本文描述的功能可以以硬件、软件、固件或其任何组合来实现。例如,尽管贯穿本公开已经使用了术语“处理单元”,但是这样的处理单元可以以硬件、软件、固件或其任何组合来实现。如果本文所描述的任何功能、处理单元、技术或其他模块以软件实现,则本文所描述的功能、处理单元、技术或其他模块可以作为计算机可读介质上的一个或多个指令或代码被存储或传输。
计算机可读介质可以包括计算机数据存储介质或通信介质,其包括促进将计算机程序从一个地方传送到另一个地方的任何介质。以这种方式,计算机可读介质通常可以对应于(1)有形计算机可读存储介质,其是非暂时性的,或(2)诸如信号或载波之类的通信介质。数据存储介质可以是任何可用介质,其可以由一个或多个计算机或一个或多个处理器访问以取回指令、代码和/或数据结构以实现本公开中描述的技术。通过示例而非限制的方式,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储装置、磁盘存储装置或其他磁存储设备。本文使用的磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应被包括在计算机可读介质的范围内。计算机程序产品可以包括计算机可读介质。
代码可以由一个或多个处理器(例如,一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、算术逻辑单元(ALU)、现场可编程逻辑阵列(FPGA)或其他等效的集成或分立逻辑电路系统)执行。因此,如本文所使用的术语“处理器”可以指代前述结构中的任一个或适合于实现本文所描述的技术的任何其他结构。而且,这些技术可以在一个或多个电路或逻辑元件中完全实现。
本公开的技术可以在各种各样的设备或装置(包括无线手机、集成电路(IC)或一组IC,例如,芯片组)中实现。在本公开中描述了各种组件、模块或单元以强调被配置为执行所公开的技术,但不一定需要由不同的硬件单元来实现的设备的功能方面。而是,如上面所描述的,各种单元可以组合在任何硬件单元中或由互操作硬件单元的集合提供,包括如上面所描述的一个或多个处理器,连同合适的软件和/或固件。
已经描述了各种示例。这些和其他示例在所附权利要求的范围内。
Claims (25)
1.一种用于处理与被配置为在显示器上显示的帧相对应的图像数据的多个层的方法,所述多个层包括:层的第一子集,其具有小于或等于阈值的相应的比特深度;以及层的第二子集,其具有大于所述阈值的相应的比特深度,所述方法包括:
由第一处理器基于所述层的第一子集中的至少一个第一层具有小于或等于所述阈值的相应的比特深度来执行对所述至少一个第一层的合成处理;以及
由第二处理器基于所述层的第二子集中的至少一个第二层具有大于所述阈值的相应的比特深度来执行对所述至少一个第二层的合成处理。
2.根据权利要求1所述的方法,其中,由所述第一处理器执行对所述至少一个第一层的所述合成处理是基于所述多个层中的所有层的合成处理的性能超过所述第二处理器的性能度量的。
3.根据权利要求2所述的方法,其中,所述至少一个第二层包括所述层的第二子集的全部,其中,所述至少一个第一层包括少于所述层的第一子集的全部的层,并且所述方法还包括:
由所述第二处理器基于所述层的第一子集中的除了所述至少一个第一层之外的层和所述层的第二子集的合成处理的性能满足所述性能度量,来执行对所述层的第一子集中的除了所述至少一个第一层之外的层的合成处理。
4.根据权利要求2所述的方法,其中,所述至少一个第二层包括所述层的第二子集的全部,其中,所述至少一个第一层包括所述层的第一子集的全部。
5.根据权利要求2所述的方法,还包括:
由所述第二处理器基于与第二帧相对应的第二图像数据的所有层的合成处理的性能满足所述性能度量来执行对所述第二图像数据的所有层的合成处理,所述第二图像数据的层包括:一个或多个第一层,其具有小于或等于所述阈值的相应的比特深度;以及一个或多个第二层,其具有大于所述阈值的相应的比特深度。
6.根据权利要求2所述的方法,还包括:
由所述第一处理器执行对与第二帧相对应的第二图像数据的所有层的合成处理,所述第二图像数据的层包括:一个或多个第一层,其具有小于或等于所述阈值的相应的比特深度;以及一个或多个第二层,其具有大于所述阈值的相应的比特深度,其中,所述第一处理器基于所述一个或多个第二层的合成处理的性能超过所述第二处理器的性能度量来执行对所述第二图像数据的所有层的合成处理。
7.根据权利要求1所述的方法,还包括:通过使要由所述第二处理器处理的所述层的第二子集相对于正在由所述第二处理器处理的所述层的第一子集被优先化并且使所述第一处理器处理未由所述第二处理器处理的任何层,来将所述多个层中的层在所述第一处理器和所述第二处理器之间进行划分以进行合成处理。
8.根据权利要求1所述的方法,其中,所述第一处理器被配置为:利用具有所述阈值的大小的缓冲器来执行合成处理。
9.根据权利要求1所述的方法,其中:
具有大于所述阈值的相应的比特深度包括具有为10的比特深度;以及
具有小于或等于所述阈值的相应的比特深度包括具有为8的比特深度。
10.根据权利要求1所述的方法,其中:
所述第一处理器包括图形处理单元(GPU);以及
所述第二处理器包括显示处理单元(DPU)。
11.根据权利要求10所述的方法,其中,所述第一处理器经由所述第二处理器耦合到所述显示器。
12.一种用于处理与被配置为在显示器上显示的帧相对应的图像数据的多个层的装置,所述多个层包括:层的第一子集,其具有小于或等于阈值的相应的比特深度;以及层的第二子集,其具有大于所述阈值的相应的比特深度,所述装置包括:
存储器;
第一处理器,其被配置为:基于所述层的第一子集中的至少一个第一层具有小于或等于所述阈值的相应的比特深度来执行对所述至少一个第一层的合成处理;以及
第二处理器,其被配置为:基于所述层的第二子集中的至少一个第二层具有大于所述阈值的相应的比特深度来执行对所述至少一个第二层的合成处理。
13.根据权利要求12所述的装置,其中,所述第一处理器还被配置为:基于所述多个层中的所有层的合成处理的性能超过所述第二处理器的性能度量来执行对所述至少一个第一层的所述合成处理。
14.根据权利要求13所述的装置,其中:
所述至少一个第二层包括所述层的第二子集的全部;
所述至少一个第一层包括少于所述层的第一子集的全部的层;以及
所述第二处理器还被配置为:基于所述层的第一子集中的除了所述至少一个第一层之外的层和所述层的第二子集的合成处理的性能满足所述性能度量,来执行对所述层的第一子集中的除了所述至少一个第一层之外的层的合成处理。
15.根据权利要求13所述的装置,其中,所述至少一个第二层包括所述层的第二子集的全部,其中,所述至少一个第一层包括所述层的第一子集的全部。
16.根据权利要求13所述的装置,其中,所述第二处理器还被配置为:基于与第二帧相对应的第二图像数据的所有层的合成处理的性能满足所述性能度量来执行对所述第二图像数据的所有层的合成处理,所述第二图像数据的层包括:一个或多个第一层,其具有小于或等于所述阈值的相应的比特深度;以及一个或多个第二层,其具有大于所述阈值的相应的比特深度。
17.根据权利要求13所述的装置,其中,所述第一处理器还被配置为:执行对与第二帧相对应的第二图像数据的所有层的合成处理,所述第二图像数据的层包括:一个或多个第一层,其具有小于或等于所述阈值的相应的比特深度;以及一个或多个第二层,其具有大于所述阈值的相应的比特深度,其中,所述第一处理器基于所述一个或多个第二层的合成处理的性能超过所述第二处理器的性能度量来执行对所述第二图像数据的所有层的合成处理。
18.根据权利要求12所述的装置,其中,所述第一处理器或所述第二处理器还被配置为:通过以下方式将所述多个层中的层在所述第一处理器和所述第二处理器之间进行划分以进行合成处理:
使要由所述第二处理器处理的所述层的第二子集相对于正在由所述第二处理器处理的所述层的第一子集被优先化,以及
使所述第一处理器处理未由所述第二处理器处理的任何层。
19.根据权利要求12所述的装置,其中,所述第一处理器被配置为:利用具有所述阈值的大小的缓冲器来执行合成处理。
20.根据权利要求12所述的装置,其中:
所述层的第一子集中的所述至少一个第一层具有大于所述阈值的相应的比特深度包括:所述层的第一子集具有为10的比特深度;以及
所述层的第二子集中的所述至少一个第二层具有小于或等于所述阈值的相应的比特深度包括:所述层的第二子集具有为8的比特深度。
21.根据权利要求12所述的装置,其中:
所述第一处理器包括图形处理单元(GPU);以及
所述第二处理器包括显示处理单元(DPU)。
22.根据权利要求21所述的装置,其中,所述第一处理器经由所述第二处理器耦合到所述显示器。
23.一种具有存储在其上的指令的非暂时性计算机可读介质,所述指令当由包括第一处理器和第二处理器的一组处理器执行时,使所述一组处理器执行用于处理与被配置为在显示器上显示的帧相对应的图像数据的多个层的方法,所述多个层包括:层的第一子集,其具有小于或等于阈值的相应的比特深度;以及层的第二子集,其具有大于所述阈值的相应的比特深度,所述方法包括:
由所述第一处理器基于所述层的第一子集中的至少一个第一层具有小于或等于所述阈值的相应的比特深度来执行对所述至少一个第一层的合成处理;以及
由所述第二处理器基于所述层的第二子集中的至少一个第二层具有大于所述阈值的相应的比特深度来执行对所述至少一个第二层的合成处理。
24.一种用于处理与被配置为在显示器上显示的帧相对应的图像数据的多个层的方法,所述多个层包括:层的第一子集,其具有不满足阈值的属性的相应值;以及层的第二子集,其具有满足所述阈值的所述属性的相应值,所述方法包括:
由第一处理器基于所述层的第一子集中的至少一个第一层具有不满足所述阈值的所述属性的相应值来执行对所述至少一个第一层的合成处理;以及
由第二处理器基于所述层的第二子集中的至少一个第二层具有满足所述阈值的所述属性的相应值来执行对所述至少一个第二层的合成处理。
25.根据权利要求24所述的方法,其中,所述属性包括比特深度、色域或伽马中的至少一个。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/121899 WO2022082363A1 (en) | 2020-10-19 | 2020-10-19 | Processing image data by prioritizing layer property |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116391199A true CN116391199A (zh) | 2023-07-04 |
Family
ID=81291312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080106139.8A Pending CN116391199A (zh) | 2020-10-19 | 2020-10-19 | 通过使层属性优先化来处理图像数据 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230326093A1 (zh) |
EP (1) | EP4229585A1 (zh) |
KR (1) | KR20230091877A (zh) |
CN (1) | CN116391199A (zh) |
TW (1) | TW202219886A (zh) |
WO (1) | WO2022082363A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11200866B1 (en) * | 2021-02-16 | 2021-12-14 | Qualcomm Incorporated | Low latency composer |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6202330B2 (ja) * | 2013-10-15 | 2017-09-27 | ソニー株式会社 | 復号装置および復号方法、並びに符号化装置および符号化方法 |
US20160335985A1 (en) * | 2015-05-14 | 2016-11-17 | Box, Inc. | Rendering high bit depth grayscale images using gpu color spaces and acceleration |
GB2539241B (en) * | 2015-06-11 | 2019-10-23 | Advanced Risc Mach Ltd | Video processing system |
US10885607B2 (en) * | 2017-06-01 | 2021-01-05 | Qualcomm Incorporated | Storage for foveated rendering |
CN110620935B (zh) * | 2018-06-19 | 2022-04-08 | 杭州海康慧影科技有限公司 | 图像处理方法及装置 |
CN109167915A (zh) * | 2018-09-29 | 2019-01-08 | 南昌黑鲨科技有限公司 | 图像处理方法、系统及计算机可读存储介质 |
-
2020
- 2020-10-19 WO PCT/CN2020/121899 patent/WO2022082363A1/en unknown
- 2020-10-19 EP EP20957952.3A patent/EP4229585A1/en active Pending
- 2020-10-19 US US18/042,453 patent/US20230326093A1/en active Pending
- 2020-10-19 CN CN202080106139.8A patent/CN116391199A/zh active Pending
- 2020-10-19 KR KR1020237012527A patent/KR20230091877A/ko unknown
-
2021
- 2021-09-22 TW TW110135110A patent/TW202219886A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
TW202219886A (zh) | 2022-05-16 |
KR20230091877A (ko) | 2023-06-23 |
WO2022082363A1 (en) | 2022-04-28 |
US20230326093A1 (en) | 2023-10-12 |
EP4229585A1 (en) | 2023-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2013226464B2 (en) | Cable with fade and hot plug features | |
WO2020062052A1 (en) | Smart and dynamic janks reduction technology | |
TW202132969A (zh) | 利用顯示校正因數的方法及裝置 | |
CN116391199A (zh) | 通过使层属性优先化来处理图像数据 | |
US20230041607A1 (en) | Methods and apparatus to facilitate region of interest tracking for in-motion frames | |
CN116324962A (zh) | 用于显示面板fps切换的方法和装置 | |
US11847995B2 (en) | Video data processing based on sampling rate | |
US20240013713A1 (en) | Adaptive subsampling for demura corrections | |
WO2021102772A1 (en) | Methods and apparatus to smooth edge portions of an irregularly-shaped display | |
US20230029431A1 (en) | Dynamic gamma curve use for display | |
US11990082B2 (en) | Adaptively configuring image data transfer time | |
WO2023151067A1 (en) | Display mask layer generation and runtime adjustment | |
WO2023225771A1 (en) | Concurrent frame buffer composition scheme | |
WO2023065100A1 (en) | Power optimizations for sequential frame animation | |
WO2024055234A1 (en) | Oled anti-aging regional compensation | |
WO2024087152A1 (en) | Image processing for partial frame updates | |
WO2023141917A1 (en) | Sequential flexible display shape resolution | |
US20240169953A1 (en) | Display processing unit (dpu) pixel rate based on display region of interest (roi) geometry | |
US20220392396A1 (en) | Display apparatus and control method thereof | |
WO2023201456A1 (en) | Dynamic configuration of display optimization | |
WO2024020825A1 (en) | Block searching procedure for motion estimation | |
WO2021087826A1 (en) | Methods and apparatus to improve image data transfer efficiency for portable devices | |
WO2023114107A1 (en) | Chrominance optimizations in rendering pipelines | |
WO2023177542A1 (en) | Compatible compression for different types of image views | |
KR20230172469A (ko) | 상이한 동적 범위들의 이미지들의 디스플레이 |
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 |