基于采样率的视频数据处理的制作方法

文档序号:33197503发布日期:2023-02-04 14:31阅读:88来源:国知局
基于采样率的视频数据处理的制作方法

1.本公开一般涉及显示面板,并且更具体地,涉及用于显示面板的显示或图形处理的一种或多种技术。


背景技术:

2.计算设备经常利用图形处理单元(gpu)来加速图形数据的渲染以用于显示。这样的计算设备可以包括例如计算机工作站、诸如所谓智能电话的移动电话、嵌入式系统、个人计算机、平板计算机以及视频游戏控制台。gpu执行包括一个或多个处理阶段的图形处理管线,该一个或多个处理阶段一起操作以执行图形处理命令并输出帧。中央处理单元(cpu)可以通过向gpu发布一个或多个图形处理命令,来控制gpu的操作。现今cpu通常能够并发地执行多个应用,每个应用在执行期间可能需要利用gpu。
3.计算设备可以以各种帧频(诸如24hz、30hz、60hz、120hz或其他)在显示器上呈现图形内容。帧频越高,用户对图形内容的感知就越流畅,诸如当图形内容包括快速变化的视觉效果时,诸如在滚动、玩游戏、视频播放或记录、以及其他需要高帧频的应用期间。然而,如果cpu或gpu无法及时地应付处理任务,则要求高帧频可能会导致相反的、中断的显示效果。例如,当cpu或gpu太忙而无法及时完成用于高帧频的处理时,显示可能会在一帧上卡住(或变慢),从而导致诸如用户界面卡顿的中断显示效果。


技术实现要素:

4.以下呈现了一个或多个方面的简要概括,以便提供对这些方面的基本理解。该概括不是对所有预期方面的广泛概述,并且既不旨在标识所有方面的关键要素,也不旨在描绘任何或所有方面的范围。其唯一目的是以简化形式呈现一个或多个方面的一些概念,作为稍后呈现的更详细描述的前奏。
5.本公开的某些方面提供如本文讨论的一种用于处理包括用于在显示器上显示的多个帧的视频数据的方法。所述方法包括:基于用于在显示器上显示视频数据的帧频确定采样率(n)。采样率n大于1。所述方法还包括:对于多个帧中的每n个帧,处理与帧相关联的一个或多个统计数据以确定一个或多个显示设置。所述方法还包括:使用所述一个或多个显示设置,将所述多个帧中的对应n个帧输出至显示器。
6.本公开的某些方面提供一种计算设备。所述计算设备进一步包括存储器和处理器。所述存储器和处理器被配置为:基于用于在显示器上显示包括多个帧的视频数据的帧频,确定采样率n。采样率n大于1。处理器被配置为:对于多个帧中的每n个帧,处理与帧相关联的一个或多个统计数据以确定一个或多个显示设置。处理器还被配置为:使用所述一个或多个显示设置,将所述多个帧中的对应n个帧输出至显示器。
7.本公开的某些方面提供一种存储指令的非暂时性计算机可读介质,当指令由如本文讨论的计算设备执行时,使计算设备如本文讨论进行操作。例如,非暂时性计算机可读介质存储当由计算设备执行时使计算设备执行以下操作的指令:基于用于在显示器上显示包
括多个帧的视频数据的帧频,确定采样率n。采样率n大于1。非暂时性计算机可读介质存储当由计算设备执行时使计算设备执行以下操作的指令:对于多个帧中的每n个帧,处理与帧相关联的一个或多个统计数据以确定一个或多个显示设置,以及使用一个或多个显示设置将多个帧中的对应n个帧输出至显示器。
8.本公开的某些方面提供了一种计算设备,包括用于基于用于在显示器上显示包括多个帧的视频数据的帧频来确定采样率n的部件。采样率n大于1。计算设备还包括用于对于多个帧中的每n个帧、处理与帧相关联的一个或多个统计数据以确定一个或多个显示设置的部件。计算设备还包括用于使用一个或多个显示设置将多个帧中对应的n个帧输出至显示器的部件。
9.本公开的一个或多个示例的细节在附图和以下描述中阐述。本公开的其他特征、目的和优点将从描述和附图以及权利要求中显而易见。
附图说明
10.为了可以详细理解本公开的上述特征的方式,可以通过参考各方面来获得上文简要概括的更具体的描述,其中一些在附图中被图示。然而,要注意的是,附图仅图示了本公开的某些典型方面,因此不应被认为是对其范围的限制,因为该描述可以承认其他同样有效的方面。
11.图1是图示根据本公开的一个或多个方面的被配置为处理视频数据的示例计算设备的框图。
12.图2图示了根据本公开的一个或多个方面的视频数据处理的示例框图。
13.图3图示了根据本公开的一个或多个方面的视频数据处理的示例流程图。
14.图4图示了根据本公开的某些方面的用于可操作以处理视频数据的计算设备的示例操作。
15.相同的附图标记表示相同的元素。
具体实施方式
16.一般而言,本文公开的各方面提供用于处理视频数据的技术。在某些方面中,这些技术可以适用于与以高帧频(如以每秒帧数测量的、或以hz为单位的fps)处理视频数据有关的场景或包括大量逐帧分析或计算的其他情况(诸如实时渲染)。例如,本文的某些方面提供了用于适配统计数据针对视频数据被处理的频率(例如,通过调整采样率)以及用于确定用于在显示器上显示视频数据帧的显示设置的系统和方法。例如,一个或多个统计数据可以包括一个或多个帧的直方图或噪声水平中的一项或多项,用于确定(例如,调整)一个或多个后续帧的显示设置。一个或多个显示设置可以包括颜色设置、色调映射设置、显示饱和度设置、亮度控制设置或背光设置中的一项或多项。这样的方面可以有利地减少或消除诸如用户界面卡顿的中断显示效果。
17.在某些方面中,视频数据包括对应于图像的多个帧,这些图像可以在显示器上以(诸如通过每秒帧数(fps)测量的)帧频显示。帧频指示每个时间段(例如,在一秒内)源将新数据的整个帧馈送到显示器的次数。尽管较旧的设备可能使用较低的帧频,诸如从24hz至30hz,但今天的设备可以以更高的帧频操作,诸如60hz或更高(诸如144hz、240hz或更高),
如游戏或其他视觉密集型应用所要求的。此外,许多高帧频设备是移动设备,诸如智能电话、平板或膝上型计算机。高帧频设备的移动性制约了功耗,限制了cpu和/或gpu可以在其中使用或操作的强大程度。例如,电池供电的智能电话可能会在电池寿命受到关注或其他功耗增加时(诸如在阳光下增加显示亮度)限制cpu/gpu性能。这样的功率限制可能会阻止cpu或gpu及时地执行对图形内容的所需分析或更改,从而导致中断或延迟响应。在某些方面中,为了解决这样的问题,本公开提供了通过基于帧频(诸如高帧频设备中的帧频)适配采样率、来处理与图像帧相对应的视频数据的技术。
18.在一些情况下,处理器(例如,cpu和/或gpu)可以分析一个或多个视频数据帧的内容,并使用该分析来调整用于显示一个或多个后续视频数据帧的一个或多个显示设置。例如,处理器可以基于一个或多个视频数据帧的内容来处理一个或多个统计数据。一个或多个统计数据可以包括例如与一个或多个视频数据帧相关联的噪声水平或与一个或多个视频数据帧相关联的直方图中的一项或多项。在某些方面中,直方图是数值或分类数据(诸如帧的色调值)的分布的近似表示。在某些方面中,直方图可以是全局的(例如,跨越整个帧)或局部的(例如,跨越帧的一部分)。在某些方面中,直方图可以反映帧内容的若干方面,诸如亮度和颜色。处理器可以基于一个或多个统计数据来调整显示器的显示设置以显示一个或多个后续视频数据帧,诸如通过校正曝光不足或过度曝光以及去除或添加色移来实现期望的分布。例如,处理器可以基于一个或多个统计数据对显示/一个或多个后续帧执行一个或多个处理,诸如改变亮度以节省功率、执行全局或局部色调映射、提高清晰度或柔和度、增加颜色饱和度、结合参考数据、平滑肤色区域等过程。这些一个或多个处理因此可以包括设置或调整一个或多个显示设置,诸如颜色设置、色调映射设置、显示饱和度设置、亮度控制设置或背光设置中的一项或多项。
19.与其中处理器收集和计算统计数据并对用于视频数据的每一帧的显示设置执行调整的严格的每帧处理模型不同,本公开通过基于帧频确定采样率并处理一个或多个统计数据并根据采样率调整显示设置,而降低开销。例如,在具有120hz或240hz帧频的高帧频系统中,系统可以通过确定采样率n大于1,使得对于总帧数中的每n个帧使用一个或多个显示设置的一个集合来显示n个帧中的每一帧,来节省功耗并仍然提供流畅的性能。因此,在某些方面中,可以针对n个帧仅计算和处理一次一个或多个统计数据以调整一个或多个显示设置,而不是针对每一帧计算和处理单独的一个或多个统计数据。在某些方面中,n=floor(以hz/60hz计的帧频)。因此,在一些方面中,帧总数的子集而不是每一帧被用于收集和计算用于调整一个或多个显示设置的一个或多个统计数据。例如,在某些方面中,当n=2时,一个或多个统计数据每隔一帧被处理,并用于确定一个或多个显示设置要应用于两帧,而不是仅应用于一帧,并且整体分析和处理减半。因此,处理器具有足够的能力来处置统计分析和处理,而不会产生诸如用户界面卡顿的中断显示效果。
20.在一些方面中,确定采样率n适应于工作负载和/或处理能力。因此,n的值可能会不时变化。例如,当系统确定处理每一帧的计算成本太高或可能不会导致平滑输出时,系统可以开始应用n。在其他情况下,当系统确定使用当前采样率n可能不会导致平滑输出时,系统可以增加n的值。
21.在一些方面中,处理一个或多个统计数据可以包括确定子任务(也被称为任务划分)的数量以完成处理。对于每个子任务,针对完成确定相应的持续时间。对于每个子任务,
确定n个帧中的对应帧用于执行子任务。例如,子任务基于帧频可以具有与帧的显示持续时间相似的持续时间,诸如当帧频为144hz时为6.94ms。当执行两个子任务来完成一个周期的统计处理和显示设置调整时,采样率n=2,并且整体计算量减少一半。因此,利用自适应采样率和任务划分,处理负载显著降低。因此,可以改进用户界面(ui)性能。
22.因此,本文中包括某些设备和系统的某些方面,与用于处理视频数据的传统方法相比,享有若干技术优势。首先,所公开的技术在某些方面避免了处理单元的过载并确保了平滑的显示性能。其次,所公开的技术在某些方面自适应地改变采样率以适当地利用cpu和/或gpu资源。第三,所公开的技术在某些方面通过任务划分提供了减少的计算负担。在一些方面中,所公开的技术适用于直方图、噪声水平或其他统计相关的显示特征和视频特征。所公开的技术可以用在使用统计相关显示特征的高帧频移动设备中,具有良好的ui性能和功率平衡。最后,某些方面适用于任何基于帧内容分析的显示和视频特征。在运行时确定算法帧内容子采样率是高帧频设备中一项重要且有用的解决方案。
23.下文将参照附图更全面地描述系统、装置、计算机程序产品和方法的各个方面。然而,本公开可以以许多不同的形式体现,并且不应被解释为限于贯穿本公开呈现的任何特定结构或功能。相反,提供这些方面是为了使本公开彻底和完整,并将本公开的范围充分传达给本领域技术人员。基于本文的教导,本领域技术人员应当理解,本公开的范围旨在涵盖本文公开的系统、装置、计算机程序产品和方法的任何方面,无论是独立于本公开的其他方面实施还是与本公开的其他方面组合实施。例如,可以使用本文阐述的任何数量的方面来实施装置或实践方法。此外,本公开的范围旨在覆盖使用除了本文阐述的本公开的各个方面之外或与之不同的其他结构、功能或结构和功能来实践的这样的装置或方法。本文公开的任何方面都可以通过权利要求的一个或多个要素来体现。
24.尽管本文描述了各个方面,但是这些方面的许多变化和排列都落入本公开的范围内。尽管提及了本公开的各方面的一些潜在益处和优点,但本公开的范围并不旨在限于特定的益处、用途或目标。相反,本公开的各方面旨在广泛适用于不同的无线技术、系统配置、网络和传输协议,其中一些在附图和以下描述中以示例的方式示出。详细描述和附图仅是对本公开的说明而非限制,本公开的范围由所附权利要求及其等同物限定。
25.参照各种装置和方法呈现了若干方面。这些装置和方法通过各种块、组件、电路、处理、算法等(统称为“元素”)在以下详细描述中被描述并在附图中被图示。这些元素可以使用电子硬件、计算机软件或它们的任何组合来实现。这些元素是作为硬件还是软件实现取决于特定应用和施加在整个系统上的设计约束。
26.举例来说,元素或元素的任何部分或元素的任何组合可以被实施为包括一个或多个处理器(也可以被称为处理单元)的“处理系统”。处理器的示例包括微处理器、微控制器、图形处理单元(gpu)、通用gpu(gpgpu)、中央处理单元(cpu)、应用处理器、数字信号处理器(dsp)、精简指令集计算(risc)处理器、片上系统(soc)、基带处理器、专用集成电路(asic)、现场可编程门阵列(fpga)、可编程逻辑器件(pld)、状态机、门控逻辑、分立硬件电路、以及被配置为执行贯穿本公开描述的各种功能的其他合适硬件。
27.处理系统中的一个或多个处理器可以执行软件。软件可以广义地解释为指令、指令集、代码、代码段、程序代码、程序、子程序、软件组件、应用、软件应用、软件封装、例程、子例程、对象、可执行文件、执行线程、过程、函数等,无论被称为软件、固件、中间件、微码、硬
件描述语言还是其他。术语应用可以指代软件。如本文所描述的,一种或多种技术可以指代被配置为执行一个或多个功能的应用,即软件。在这样的示例中,应用可以存储在存储器上,例如,处理器的片上存储器、系统存储器或任何其他存储器。
28.本文描述的硬件(诸如处理器)可以被配置为执行应用。例如,应用可以被描述为包括当由硬件执行时使硬件执行本文描述的一种或多种技术的代码。作为示例,硬件可以访问来自存储器的代码并且执行从存储器访问的代码,以执行本文描述的一种或多种技术。在一些示例中,本公开中标识了组件。在这样的示例中,组件可以是硬件、软件或其组合。组件可以是单独的组件或单个组件的子组件。
29.因此,在本文描述的一个或多个示例中,所描述的功能可以以硬件、软件或其任何组合来实现。如果以软件实现,则这些功能可以存储或编码为计算机可读介质上的一个或多个指令或代码。计算机可读介质包括计算机存储介质。存储介质可以是计算机可以访问的任何可用介质。作为示例而非限制,这样的计算机可读介质可以包括随机存取存储器(ram)、只读存储器(rom)、电可擦可编程rom(eeprom)、光盘存储、磁盘存储、其他磁存储设备、上述类型的计算机可读介质的组合,或可用于存储计算机可执行代码(形式为可由计算机访问的指令或数据结构)的任何其他介质。
30.一般而言,本文公开的示例提供用于处理视频数据的技术。例如,这些技术允许使用计算和功率资源有限的处理器来处理高帧频视频内容。贯穿本公开描述了其他示例性益处。
31.如本文所用,术语“内容”的实例可以指代“图形内容”、“图像”,反之亦然。无论这些术语是用作形容词、名词还是其他词性,都是如此。在一些示例中,如本文所使用的,术语“图形内容”可以指代由图形处理管线的一个或多个进程产生的内容。在一些示例中,如本文所使用的,术语“图形内容”可以指代由被配置为执行图形处理的处理单元产生的内容。在一些示例中,如本文所使用的,术语“图形内容”可以指代由图形处理单元产生的内容。
32.在一些示例中,如本文所使用的,术语“显示内容”可以指代由被配置为执行显示处理的处理单元生成的内容。在一些示例中,如本文所使用的,术语“显示内容”可以指代由显示处理单元生成的内容。图形内容可以被处理成显示内容。例如,图形处理单元可以将诸如帧的图形内容输出到缓冲器(其可以被称为帧缓冲器)。显示处理单元可以从缓冲器读取诸如一帧或多帧的图形内容,并针对其执行一种或多种显示处理技术以生成显示内容。例如,显示处理单元可以被配置为对一个或多个渲染层执行合成以生成帧。
33.作为另一示例,显示处理单元可以被配置为将两个或更多个层组合、混合或以其他方式结合在一起成为单个帧。显示处理单元可以被配置为对帧执行缩放,例如,放大或缩小。在一些示例中,帧可以指代层。在其他示例中,帧可以指已经被混合在一起以形成帧的两个或更多个层,即,帧包括两个或更多个层,并且包括两个或更多个层的帧可以随后被混合。
34.图1是图示根据本发明的一种或多种技术的包括被配置为处理视频数据的示例计算设备104的示例系统100的框图。计算设备104可以包括用于执行本文描述的各种功能的一个或多个组件或电路。在一些示例中,计算设备104的一个或多个组件可以是soc的组件。计算设备104可包含被配置为执行本公开的一种或多种技术的一个或多个组件。在所示示例中,计算设备104可以包括处理器120和系统存储器124。
35.在一些示例中,计算设备104可以包括多个附加或替代组件,例如,通信接口126、收发器132、接收器128、发送器130、显示处理器127和显示客户端131。对显示客户端131的引用可以指代一个或多个显示器。例如,显示客户端131可以包括单个显示器或多个显示器。显示客户端131可以包括第一显示器和第二显示器,或者可折叠或可分离的显示器。在其他示例中,图形处理的结果可能不会显示在设备上,例如,第一和第二显示器可能不会接收到任何用于在其上呈现的帧。相反,帧或图形处理结果可以被传送至另一设备。在一些方面中,这可以被称为拆分渲染。
36.处理器120可以包括内部存储器121。处理器120可以被配置为执行图形处理(诸如在图形处理管线107中)。在一些示例中,计算设备104可以包括显示处理器或显示处理单元(诸如显示处理器127),用于在显示客户端131呈现之前对由处理器120生成的一个或多个帧执行一种或多种显示处理技术。显示处理器127可以被配置为执行显示处理。例如,显示处理器127可以被配置为对由处理器120生成的一个或多个帧执行一种或多种显示处理技术。显示处理器127可以根据接口协议(诸如例如,mipi dsi(移动行业处理器接口、显示串行接口))将图像数据输出至显示客户端131。
37.图形处理管线107被配置为将输入图形数据处理成可由显示处理器127或显示客户端131使用的信号。图形处理管线107可以取决于所使用的软件和硬件以及目标显示特性。在一些实施方式中,诸如direct3d和opengl的一些图形应用编程接口(api)可以用于控制图形处理管线107。图形处理管线107所采取的步骤可以在硬件中实现并在其中进行优化。在一些情况下,图形处理管线107的各个步骤可以并发运行并且被搁置直到完成最慢的步骤。在一些情况下,图形处理管线107可以包括应用、几何和光栅化的步骤。应用步骤可以涉及用户输入并且可以由cpu或gpu上的软件执行。几何步骤可以包括执行各种运算和计算的操作。光栅化步骤可以为每一帧输出光栅图像。图形处理管线107的操作示例的细节在图2中被图示。
38.现在转向图2,图2示出了用于视频数据处理(其可以在图形处理管线107中执行)的示例框图200。如图2所示,视频数据处理接收各种输入,包括以下一项或多项:系统显示面板帧频205(例如,显示器能够运行的帧频)、视频数据帧频210(例如,生成视频数据本身的帧频,其可以与帧频205相同或不同)、一个或多个帧的一个或多个统计数据215(诸如顺序帧直方图相似性)、以及丢帧或ui卡顿状态220。丢帧或ui卡顿状态220指的是指示未处理的帧数(无论是丢弃的还是冻结的(或处于卡顿状态))的报告或监视结果。在235处,直方图任务子样本确定策略的处理块使用与系统显示面板帧频205和系统显示主要内容帧频210相关的信息和状态,来确定采样率(也被称为子样本划分因子)n。采样率n可以变化以减少在给定时间段内要处理的帧数。例如,对于120hz的fps实例中的n=2,可以每n=2帧收集和处理统计分析或直方图。有效处理速率因此降低到60fps。n可以从1变化到任何更大的数字。在某些方面中,n大于1,诸如对于高帧频。例如,当n=1时,设备对每一帧进行统计分析和对应的调整,因此同一示例的有效处理速率等于系统显示主要内容fps 210,为120fps。对于该示例,当n=3时,设备每三帧进行一次统计分析和调整,有效处理速率为40fps。
39.在一些方面中,可以在230处根据传入的工作负载和处理能力来调整采样率n。例如,当处理能力被更高优先级的任务占用并且丢帧或ui卡顿状态220显示出增加的趋势时,可以使用更大的采样率值,诸如n=3或更高。另一方面,当处理能力足够并且丢帧或ui卡顿
状态220被维持为诸如零时,则可以使用较低的采样率值。对采样率的调整230可以取决于具体的硬件和软件配置。
40.在225处,处理器可以将统计处理和计算任务划分为n个顺序子任务。处理器将用于调整的统计收集和计算划分和/或重新调度到多个子任务中。在某些方面中,每个子任务可以占用相同的处理器执行时间,为整个任务处理器时间的1/n,1/n对应于系统显示面板帧频205和系统显示主要内容帧频210。例如,假设系统显示主要内容帧频210具有120fps的帧频,每帧具有1秒除以120帧的任务处理器时间,等于8.333毫秒。当n=2时,两个子任务中的每一个都占用相同的处理器执行时间4.167毫秒。在一些情况下,用于处理/计算一个或多个统计数据的内容可以来自n个帧之前的一个或多个帧,例如,为了便于说明,单独称为帧0。然后,一个或多个统计数据的处理发生在帧0与帧n之间,使得显示设置在帧n处基于对一个或多个统计数据的处理而被调整。在某些方面中,来自n个帧中的一个或多个的内容也可以用于处理一个或多个统计数据。例如,可以基于来自n个帧中的一个或多个的内容,为在这样的一个或多个n个帧之后执行的子任务更新一个或多个统计数据。在一些情况下,基于查找表(lut)和已处理的一个或多个统计数据的更新后的显示设置可以应用于第n帧。在一个说明性示例中,当n=2时,对于每2个内容帧,进行一次统计处理和显示设置调整。图3中提供了一个示例,其中示出了n=4的子任务时间线300和n=1的子任务时间线305。
41.例如,在n=4的子任务时间线300中,为帧0收集统计数据。此外,基于n=4,统计数据的处理被划分为4(n)个子任务0-3。子任务0在帧0与帧1之间执行,子任务1在帧1与帧2之间执行,子任务2在帧2与帧3之间执行,子任务3在帧3与帧4之间执行。因此,显示设置基于对子任务0-3之间统计数据的处理被调整用于帧4(n)的显示。在某些方面中,可以收集附加的统计数据并将其用于仅在某些子任务中进行处理。例如,可以收集帧1的统计数据,并且还可以将它们用于执行子任务1-3中的一个或多个子任务,因为它们发生在帧1之后。此外,在某些方面中,可以调整一些显示设置用于在帧n之前的一个或多个帧。例如,如果子任务0指示更新显示设置的子集,则可以调整这些设置以显示帧1以及可能的n帧中的剩余帧。
42.如n=1的时间线305所示,针对帧0收集统计数据。此外,在帧0和帧1之间仅执行一个任务,即任务0,并且使用来自帧0的统计数据基于任务0调整帧1的显示设置。此外,再次针对帧1收集统计数据,并在帧1和帧2之间执行一个任务,即任务1,并使用来自帧1的统计数据基于任务1调整帧2的显示设置。
43.在240处,基于在225处调度的经划分的子任务来执行显示器的后处理算法。后处理算法处理与帧相关联的一个或多个统计数据并确定一个或多个显示设置,诸如颜色设置、色调映射设置、显示饱和度设置、亮度控制设置或背光设置。例如,颜色设置可以包括白平衡调整、颜色过滤或其他设置。色调映射设置可以将一组颜色映射到另一组颜色。显示饱和度设置可以改变图像色彩饱和度以增强或抑制色彩鲜艳度。亮度控制设置可以调整图像亮度,诸如高光区域应该有多亮。背光设置可基于环境照明条件调整背光亮度。
44.在245处,处理器在第n帧中应用调整,完成一个任务周期。在250处,将处理后的帧输出到调整块,诸如进行背光调整、全局色调调整和局部色调调整。调整块可以将处理后的结果转发给显示处理器127和显示客户端131。
45.显示客户端131可以被配置为显示或以其他方式呈现由显示处理器127处理的帧。在一些示例中,显示客户端131可以包括以下一种或多种:液晶显示器(lcd)、等离子显示
器、有机发光二极管(oled)显示器、投影显示设备、增强现实显示设备、虚拟现实显示设备、头戴式显示器或任何其他类型的显示设备。
46.在图1所图示的示例中,显示客户端131包括显示控制器132、缓冲器134和显示器136。示例显示器136包括用于显示图像数据的多个像素元件。显示控制器132可以从显示处理器127接收图像数据并且将接收到的图像数据存储在缓冲器134中。在一些示例中,显示控制器132可以将存储在缓冲器134中的图像数据输出到显示器136。因此,缓冲器134可以代表显示客户端131的本地存储器。在一些示例中,显示控制器132可以将从显示处理器127接收的图像数据输出到显示器136。
47.此外,如上所述,显示客户端131可以根据mipi dsi标准来配置。mipidsi标准支持视频模式和命令模式。在显示客户端131以视频模式操作的示例中,显示处理器127可以连续刷新显示客户端131的图形内容。例如,可以在每个刷新周期(例如,逐行)刷新整个图形内容。
48.在显示客户端131在命令模式下操作的示例中,显示处理器127可以将帧的图形内容写入缓冲器134。在一些这样的示例中,显示处理器127可以不连续刷新显示客户端131的图形内容。相反,显示处理器127可以使用垂直同步(vsync)脉冲来协调缓冲器134处图形内容的渲染和消费。例如,当生成vsync脉冲时,显示处理器127可以输出新的图形内容到缓冲器134。因此,vsync脉冲的生产可以指示缓冲器134处的当前图形内容何时已经被渲染。
49.处理器120外部的存储器(诸如系统存储器124)可以由处理器120访问。例如,处理器120可以被配置为从外部存储器(诸如系统存储器124)读取和/或写入外部存储器(诸如系统存储器124)。处理器120可以通过总线通信地耦接至系统存储器124。在一些示例中,处理器120和系统存储器124可以通过总线或不同的连接彼此通信地耦接。
50.应当理解,在一些示例中,计算设备104可以包括内容编码器/解码器,该内容编码器/解码器被配置为从诸如系统存储器124和/或通信接口126的任何源接收图形和/或显示内容。系统存储器124可以被配置为存储接收到的编码或解码的内容。在一些示例中,内容编码器/解码器可以被配置为例如从系统存储器124和/或通信接口126接收编码像素数据的形式的编码或解码的内容。在一些示例中,内容编码器/解码器可以被配置为对任何内容进行编码或解码。
51.内部存储器121或系统存储器124可以包括一个或多个易失性或非易失性存储器或存储设备。在一些示例中,内部存储器121或系统存储器124可以包括ram、sram、dram、可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪存、磁数据介质或光存储介质、或任何其他类型的存储器。
52.根据一些示例,内部存储器121或系统存储器124可以是非暂时性存储介质。术语“非暂时性”可以指示存储介质不体现在载波或传播信号中。然而,术语“非暂时性”不应被解释为意味着内部存储器121或系统存储器124是不可移动的或其内容是静态的。作为一个示例,系统存储器124可以从计算设备104中移除并且移动到另一设备。作为另一示例,系统存储器124可能不能从计算设备104移除。
53.处理器120可以是中央处理单元(cpu)、图形处理单元(gpu)、通用gpu(gpgpu)或可以被配置为执行图形处理的任何其他处理单元。在一些示例中,处理器120可以集成到计算设备104的主板中。在一些示例中,处理器120可以存在于安装在计算设备104的主板的端口
中的图形卡上,或者可以以其他方式并入被配置为与计算设备104互操作的外围设备内。处理器120可包括一个或多个处理器,诸如一个或多个微处理器、gpu、专用集成电路(asic)、现场可编程门阵列(fpga)、算术逻辑单元(alu)、数字信号处理器(dsp)、离散逻辑、软件、硬件、固件、其他等效集成或离散逻辑电路或其任何组合。如果这些技术部分地以软件实现,则处理器120可以将用于软件的指令存储在合适的、非暂时性计算机可读存储介质(例如,内部存储器121)中,并且可以使用一个或多个处理器在硬件中执行指令以执行本公开的技术。上述任何一种,包括硬件、软件、硬件和软件的组合等,都可以被认为是一个或多个处理器。在一些方面中,处理器120可以包括显示处理器127或者可以与显示处理器127集成。
54.在一些方面中,内容生成系统100可以包括通信接口126。通信接口126可以包括接收器128和发送器130。接收器128可以被配置为执行本文关于计算设备104描述的任何接收功能。附加地,接收器128可以被配置为从另一设备接收信息,例如,眼睛或头部位置信息、渲染命令或位置信息。发送器130可以被配置为执行本文关于计算设备104描述的任何发送功能。例如,发送器130可以被配置为向另一设备发送信息,该信息可以包括对内容的请求。接收器128和发送器130可以组合成收发器132。在这样的示例中,收发器132可以被配置为执行本文关于计算设备104描述的任何接收功能和/或发送功能。
55.在一些示例中,来自处理器120的用于经由显示客户端131显示的图形内容不是静态的并且可以是变化的。因此,显示处理器127可以周期性地刷新经由显示客户端131显示的图形内容。例如,显示处理器127可以周期性地从系统存储器124检索图形内容,其中图形内容可能已经通过执行向系统存储器124输出图形内容的应用(和/或处理器120)而被更新。
56.应该理解,虽然在图1中显示为单独的组件,但在一些示例中,显示客户端131(有时称为“显示面板”)可以包括显示处理器127。
57.如图1所示,在某些方面中,显示处理器127(也称为显示处理单元(dpu))可以被配置为操作显示客户端131的功能。例如,在某些方面中,显示处理器127被配置为向显示控制器132输出诸如对应于帧的多个码字。每个码字可以由数字域中的二进制数表示。每个码字可以对应于显示器136的像素(例如,红、绿、蓝、白等)。
58.显示控制器132可以被配置为将从显示处理器127接收的码字转换为用于驱动显示器136的像素的模拟信号。在某些方面中,对于对应于像素的每个码字,显示控制器132被配置为将码字转换为将像素驱动到特定亮度级别的模拟信号。因此,在某些方面中,码字和/或(多个)模拟信号对应于像素的亮度水平。
59.以下描述使用处理器120作为示例,并且由处理器120执行的类似技术、方法或处理也可以在显示处理器127中执行或与其结合执行。
60.如本文所描述的,诸如计算设备104的设备可以指代被配置为执行本文所述的一种或多种技术的任何设备、装置或系统。例如,设备可以是服务器、基站、用户设备、客户端设备、站、接入点、计算机(例如,个人计算机、台式计算机、膝上型计算机、平板计算机、计算机工作站或大型计算机)、终端产品、装置、电话、智能电话、服务器、视频游戏平台或控制台、手持设备,(例如,便携式视频游戏设备或个人数字助理(pda))、可穿戴计算设备(例如,智能手表、增强现实设备或虚拟现实设备)、非可穿戴设备、显示器或显示设备、电视机、电视机顶盒、中间网络设备、数字媒体播放器、视频流设备、内容流设备、车载计算机、任何移
动设备、被配置为生成图形内容的任何设备、或被配置为执行本文描述的一种或多种技术的任何设备。本文中的过程可以被描述为由特定组件(例如,gpu)执行,但是在进一步的实施例中,可以使用与所公开的实施例一致的其他组件(例如,cpu)来执行。
61.图4图示了计算设备可操作以处理视频数据的示例操作400。在一些示例中,操作400可以由图1的处理器120或显示处理器127执行。例如,处理器120或显示处理器127可以处理包括用于在显示器136上显示的多个帧的视频数据。
62.操作400在405处开始,基于用于显示包括用于在显示器上显示的多个帧的视频数据帧频确定采样率(n)。在一些方面中,采样率大于1(例如,至少为二)。在一些方面中,采样率可以取决于视频数据的复杂性和处理器的能力而变化。例如,当处理器没有足够的资源来处理视频数据的每一帧(例如,当n=1时)并且已经遭受丢帧时,可以触发操作400。在其他情况下,如果处理器没有足够的资源来以当前采样率处理视频数据,则可以确定较高采样率值(例如,n在需要时从2增加到3)。另一方面,如果过多的处理资源空闲,则采样率的值可以降低。可以使用特定的硬件和软件配置来确定和动态更新采样率n。
63.在410处,对于多个帧中的每n个帧,处理与帧相关联的一个或多个统计数据以确定一个或多个显示设置。在一些方面中,一个或多个统计数据可以包括直方图或噪声水平中的一项或多项。一个或多个显示设置可以包括颜色设置、色调映射设置、显示饱和度设置、亮度控制设置或背光设置中的一项或多项。该一个或多个统计数据还可以与至少一个附加帧相关联。该帧可以是在n个帧之前出现的帧。至少一个附加帧可以包括在n个帧之前出现的一个或多个帧。至少一个附加帧可以包括n个帧中的一个或多个帧。例如,一个或多个统计数据可以(例如,直接)对应于在n帧之前的帧的统计数据,对应于在n个帧之前出现的多个帧的统计数据的组合,或者对应于n个帧之前的一个或多个帧的统计数据以及n个帧中的一个或多个的统计数据。例如,n个帧之一的统计数据可用于更新用于在该n个帧之一之后发生的一个或多个子任务的统计数据。
64.在一些示例中,处理一个或多个统计数据可以包括确定用于执行处理的多个子任务。例如,在某些方面中,对于采样率n,内容帧的每个时间段包括n个子任务。对于多个子任务中的每一个,确定对应的持续时间以完成对应的子任务。例如,在某些方面中,每个子任务可能每秒占用1/(n*fps)。对于多个子任务中的每一个,基于对应的持续时间确定在其期间执行对应的子任务的n个帧中的对应帧。
65.在415处,使用一个或多个显示设置将多个帧中的对应n个帧输出至显示器。在一些情况下,使用一个或多个显示设置将一种或多种变换应用于对应n个帧。
66.在一些方面中,操作400进一步包括基于帧的图像数据确定一个或多个统计数据。例如,图像数据可以对应于帧的未渲染层数据、帧的未合成渲染层数据或帧的合成渲染层数据中的一项或多项。
67.在一种配置中,提供了一种用于显示处理的方法或装置。该装置可以是处理单元、显示处理器、显示处理单元(dpu)、图形处理单元(gpu)、视频处理器或可以执行显示处理的一些其他处理器。在一些示例中,该装置可以是计算设备104内的处理器120,或者可以是计算设备104内的一些其他硬件,或另一设备。
68.根据本公开,在上下文没有另外规定的情况下,术语“或”可以被解释为“和/或”。附加地,虽然诸如“一个或多个”或“至少一个”等短语可能已用于本文公开的一些特征但未
用于其他特征,但未使用此类语言的特征在上下文没有另外规定的情况下可以被解释为暗示此类含义。
69.在一个或多个示例中,本文描述的功能可以以硬件、软件、固件或其任何组合实现。例如,尽管在本公开全文中使用了术语“处理单元”,但是这样的处理单元可以以硬件、软件、固件或其任何组合实现。如果本文描述的任何功能、处理单元、技术或其他模块以软件实现,则本文描述的功能、处理单元、技术或其他模块可以作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质被发送。计算机可读介质可以包括计算机数据存储介质或通信介质,包括有助于将计算机程序从一个地方转移到另一个地方的任何介质。以这种方式,计算机可读介质通常可以对应于(1)非暂时性的有形的计算机可读存储介质或(2)诸如信号或载波的通信介质。
70.数据存储介质可以是可由一台或多台计算机或一个或多个处理器访问以检索指令、代码和/或数据结构以用于实施本公开中描述的技术的任何可用介质。作为示例而非限制,这样的计算机可读介质可以包括ram、rom、eeprom、cd-rom或其他光盘存储器、磁盘存储器或其他磁存储设备。如本文所用,磁盘和光盘包括致密盘(cd)、激光盘、光盘、数字多功能盘(dvd)、软盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。上述的组合也应当被包括在计算机可读介质的范围内。计算机程序产品可以包括计算机可读介质。
71.代码可以由诸如一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、算术逻辑单元(alu)、现场可编程逻辑阵列(fpga)、或其他等效的集成或分立逻辑电路的一个或多个处理器来执行。因此,如本文所用的术语“处理器”可以指任何前述结构或适用于实施本文描述的技术的任何其他结构。此外,这些技术可以完全在一个或多个电路或逻辑元件中实施。
72.本公开的技术可在多种多样的设备或装置中实施,包括无线手持设备、集成电路(ic)或ic集合(例如,芯片组)。在本公开中描述了各种组件、模块或单元以强调被配置为执行所公开的技术的设备的功能方面,但不一定需要由不同的硬件单元来实现。相反,如上所述,各种单元可以组合在任何硬件单元中或由包括如上所述的一个或多个处理器的互操作硬件单元的集合连同合适的软件和/或固件来提供。
73.已经描述了各种示例。这些示例和其他示例在以下权利要求的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1