一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于显示处理流水线的色彩管理高速缓存的制作方法

2023-02-06 23:14:46 来源:中国专利 TAG:

用于显示处理流水线的色彩管理高速缓存


背景技术:

1.计算设备可以包括显示处理流水线,也称为图像处理流水线,其处理图像数据用于在显示设备上输出。一些显示处理流水线可以包括色彩管理(cm)处理功能性。cm处理可以在诸如有源矩阵有机发光二极管(oled)显示设备和液晶显示(lcd)设备的显示技术上实现一致的体验。


技术实现要素:

2.总体上,本公开的各方面针对用于减少执行cm处理所消耗的功率量的技术。为了执行cm处理,显示处理流水线的一个或多个处理器可以从该流水线的先前块接收输入色彩样本(例如,r/g/b值)。所述一个或多个处理器可以利用具有插值的三维(3d)查找表(lut)来将输入色彩样本映射到3d表格的格点中的输出色彩样本,其中非格点是基于最接近非格点的格点来插值的。然而,这样的插值可能消耗显著量的功率。例如,为了插值非格点,所述一个或多个处理器可以执行8个随机存储器存取操作、8个乘法运算、32个加法运算和3个除法运算。
3.根据本公开的一个或多个技术,所述一个或多个处理器可以利用包括将输入色彩样本映射到输出插值色彩样本的条目的高速缓存。当输入色彩样本匹配高速缓存中的条目时,所述一个或多个处理器可以利用输出色彩样本处的条目的输出色彩样本,而不必执行插值。通过避免必须执行插值,可以显著降低执行cm处理所消耗的功率量。在一个示例中,当使用经高速缓存的插值样本时所消耗的功率量可以是执行插值所消耗的功率量的1/51。通过降低所消耗的功率量,可以延长电池寿命。
4.在一个示例中,方法包括:由设备的显示图像处理流水线的处理电路系统获得由该设备的图形处理单元渲染的当前样本行的特定输入色彩样本;由处理电路系统维护包括将输入色彩样本映射到输出插值色彩样本的条目的高速缓存;由处理电路系统确定该高速缓存是否包括与特定输入色彩样本相对应的条目;响应于确定高速缓存包括与特定输入色彩样本相对应的条目,由处理电路系统输出在与该特定输入色彩样本相对应的条目中包括的特定输出插值色彩样本,而无需对该特定输入色彩样本执行插值;以及在该设备的显示器处显示该特定输出插值色彩样本的表示。
5.在另一示例中,设备包括:显示器;以及图像处理流水线,其包含被配置成进行以下操作的电路系统:获得由该设备的图形处理单元渲染的当前样本行的特定输入色彩样本;维护包括将输入色彩样本映射到输出插值色彩样本的条目的高速缓存;确定该高速缓存是否包括与特定输入色彩样本相对应的条目;响应于确定高速缓存包括与特定输入色彩样本相对应的条目,输出在与该特定输入色彩样本相对应的条目中包括的特定输出插值色彩样本,而无需对该特定输入色彩样本执行插值;以及使得显示器输出该特定输出插值色彩样本的表示。
6.在另一示例中,设备包括:用于获得由设备的图形处理单元渲染的当前样本行的特定输入色彩样本的部件的部件;用于维护包括将输入色彩样本映射到输出插值色彩样本
的条目的高速缓存的部件;用于确定该高速缓存是否包括与特定输入色彩样本相对应的条目的部件;用于响应于确定高速缓存包括与特定输入色彩样本相对应的条目而输出在与该特定输入色彩样本相对应的条目中包括的特定输出插值色彩样本的部件,而无需对该特定输入色彩样本执行插值;以及用于显示该特定输出插值色彩样本的表示的部件。
7.在另一示例中,一种非暂时性计算机可读存储介质存储指令,所述指令在被执行时使得:图像处理流水线的处理电路系统获得由设备的图形处理单元渲染的当前样本行的特定输入色彩样本;维护包括将输入色彩样本映射到输出插值色彩样本的条目的高速缓存;确定该高速缓存是否包括与特定输入色彩样本相对应的条目;响应于确定高速缓存包括与特定输入色彩样本相对应的条目,输出在与该特定输入色彩样本相对应的条目中包括的特定输出插值色彩样本,而无需对该特定输入色彩样本执行插值;以及使得显示器输出该特定输出插值色彩样本的表示。
8.在附图和下文描述中陈述一个或多个示例的细节。本公开的其他特征、目标和优点将从描述和附图以及从权利要求而显而易见。
附图说明
9.图1是示出根据本公开的一个或多个技术的包括具有高速缓存以支持色彩管理的图像处理流水线的设备的框图。
10.图2是示出根据本公开的一个或多个技术的图像处理流水线的一个示例的概念图。
11.图3是展示根据本公开的一个或多个技术的cm和插值器的一个示例的细节的概念图。
12.图4是示出根据本公开的一个或多个技术的高速缓存地址解码器的一个示例的概念图。
13.图5是展示根据本公开的一个或多个技术的具有动态高速缓存更新的cm和插值器的一个示例的细节的概念图。
14.图6是展示根据本公开的一个或多个技术的具有动态高速缓存更新的cm和插值器的一个示例的进一步细节的概念图。
15.图7是示出根据本公开的一个或多个技术的使用高速缓存来降低cm功耗的图像处理流水线的示例操作的流程图。
具体实施方式
16.图1是示出根据本公开的一个或多个技术的包括具有高速缓存以支持色彩管理的图像处理流水线的设备的框图。如图1中所示,设备100包括显示器102、图像处理流水线104、用户界面(ui)模块106、用户应用模块108和一个或多个处理器110(“处理器110”)。在图1的示例中,设备100可以是包括显示器的任何设备。设备100的示例包括,但不限于,移动电话、摄像机设备、平板计算机、智能显示器、膝上型计算机、台式计算机、游戏系统、媒体播放器、电子书阅读器、电视平台、车辆信息娱乐系统或头戴式单元或可穿戴计算设备(例如,计算机化的手表、诸如vr/ar耳机的头戴式设备、计算机化的眼镜、计算机化的手套)。
17.显示器102可以能够将数据渲染为设备100的用户可视的图像。例如,显示器102可
以包括可单独控制的像素矩阵。显示器102的示例包括但不限于液晶显示器(lcd)、发光二极管(led)显示器、有机发光二极管(oled)显示器(包括例如,有源矩阵有机发光二极管(amoled))、微led显示器或者能够向设备100的用户输出可视信息的类似单色或彩色显示器。在一些示例中,显示器102可以是能够检测用户输入的存在敏感显示器。
18.图像处理流水线104可以包括对图像数据顺序执行图像处理操作的一个或多个块。图像处理流水线104,也被称为显示图像处理流水线104,可以包括将图形指令和纹理渲染到色彩样本阵列中的图形处理单元(gpu)。图像处理流水线104的其他块可以处理色彩样本,并且完全处理的样本可以在显示器102处输出。图像处理流水线104的一个块可以是执行色彩管理(cm)处理的cm块(例如,以跨诸如amoled显示设备和lcd设备的显示技术实现一致的体验)。下文参考图2论述图像处理流水线104的一个示例的进一步细节。
19.ui模块106管理用户与显示器102和设备100的其他组件的交互。换句话说,ui模块106可以充当设备100的各种组件之间的中介,以基于由显示器102检测到的用户输入来进行确定,并且使得图像处理流水线104响应于用户输入而在显示器102处生成输出。ui模块106可以从设备100的应用、服务、平台或其他模块接收指令,以使得显示器102输出用户界面。ui模块106可以在用户观看显示器102上呈现的用户界面并与之交互时管理由设备100接收的输入,并且响应于从正在处理用户输入的设备100的应用、服务、平台或其他模块接收到附加指令而更新用户界面。
20.用户应用模块108可以在设备100上执行,以执行各种操作中的任一者。用户应用模块108的示例包括但不限于操作系统、音乐应用、照片查看应用、地图应用、电子消息应用、聊天应用、因特网浏览器应用、社交媒体应用、电子游戏、菜单和/或可以基于用户输入操作的其他类型的应用。
21.处理器110可以在设备100内实现功能性和/或执行指令。处理器110的示例包括但不限于,一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga),或其他等效集成或离散逻辑电路系统。因此,如本文中所使用的术语“处理器”可以指代前述结构或适于实现本文所描述的技术的任何其他结构中的任一者。
22.设备100可以包括模块106和108。模块106和108可以使用驻留在设备100中和/或在设备100处执行的软件、硬件、固件或者硬件、软件和/或固件的混合物来执行所描述的操作。设备100可以利用一个或多个处理器来执行模块106和108。设备100可以将模块106和108作为在底层硬件上执行的虚拟机来执行。模块106和108可以作为操作系统或计算平台的服务或组件来执行。模块106和108可以作为在计算平台的应用层处的一个或多个可执行程序来执行。模块106和108可以以其他方式被远离设备100布置并且可被设备100远程访问,例如,作为在网络云中的网络处操作的一个或多个网络服务。
23.在操作中,用户应用模块108可以使得图像处理流水线104渲染图形用户界面(gui)114用于在显示器102处输出。例如,如图1的示例中所示,用户应用模块108可以是导航应用,其向图像处理流水线104输出指令,所述指令使得图像处理流水线104渲染图形用户界面114并输出所渲染的gui用于在显示器102处输出。
24.如上文论述,图像处理流水线104可以包括执行cm处理的cm块。为了执行cm处理,图像处理流水线的cm块可以从图像处理流水线104的较早块接收输入色彩样本(例如,r/g/b值),并使用3d查找表(lut)执行插值,以将输入色彩样本映射到输出色彩样本。3dlut可以
是17
×
17
×
17
×3×
10位(其中输入色彩样本是每通道10位的样本)。在“computational color technology”,henry r.kang(author)spie publications(may 17,2006),isbn-13:978-0819461193(henry r.kang(作者)spie出版(2006年5月17日),isbn-13:978-0819461193的“计算色彩技术”)的第9章中描述了如何执行这样的插值的一个示例。执行这样的插值可能消耗显著量的功率,在设备100由电池供电的情况下,这可能是特别关注的。例如,为了插值单个色彩样本,图像处理流水线104的cm块可以执行8个随机存储器存取操作、8个乘法运算、32个加法运算和3个除法运算。
25.根据本公开的一个或多个技术,图像处理流水线104的cm块可以利用包括将输入色彩样本映射到输出插值色彩样本的条目的高速缓存。当输入色彩样本与高速缓存中的条目匹配时,图像处理流水线104的cm块可以利用输出色彩样本处的条目的输出色彩样本,而不必执行插值。然而,当输入色彩样本不与高速缓存中的许多任何条目匹配时,图像处理流水线104的cm块可以执行插值以生成输出插值色彩样本。通过避免必须执行插值,可以显著降低执行cm处理所消耗的功率量。在一个示例中,当使用经高速缓存的插值样本时所消耗的功率量可以是执行插值所消耗的功率量的1/51。
26.如上文论述,图像处理流水线104的cm块可以维护高速缓存以减少执行插值的次数。在一些示例中,高速缓存中的条目可以是静态和预定的。例如,可以对处理的色彩样本进行分析,以确定n个最常用的色彩样本。n个最常用的色彩样本,连同预先计算的对应插值输出色彩样本,可以被存储在高速缓存中。在一些示例中,图像处理流水线104可以存储多个高速缓存,多个高速缓存中的每个高速缓存与不同的输出情景相对应。响应于确定正被渲染的图像与特定输出情景相对应,图像处理流水线104可以利用与特定输出情景相对应的高速缓存。一些示例输出情景包括但不限于,社交网络用户界面、搜索用户界面、购物用户界面、工作应用用户界面、应用商店用户界面等(例如,以及每个情景的黑暗模式)。在一些示例中,图像处理流水线104可以基于请求用户界面的渲染和输出的应用类型(例如,用户应用模块108的应用类型)来确定当前正在发生哪个情景。
27.在一些示例中,图像处理流水线104的cm块可以动态地更新高速缓存中的条目。例如,图像处理流水线104的cm块可以确定高速缓存包括对应条目的当前样本行的输入色彩样本的数量(例如,确定高速缓存命中率)。响应于确定所确定的数量小于阈值数量,图像处理流水线104的cm块可以基于当前样本行的输入色彩样本来更新高速缓存的条目。下文参考图4和图5论述动态缓存更新的一个示例的进一步细节。
28.图2是示出根据本公开的一个或多个技术的图像处理流水线的一个示例的概念图。图2的图像处理流水线204可以是图1的图像处理流水线104的一个示例。如图2所示,图像处理流水线204可以包括图形处理单元(gpu)218、色调与饱和度控制220、去伽玛(degamma)222、cm和插值器240、再伽玛(regamma)242、mura和伪像补偿244以及数模转换器(dac)246。
29.图像处理流水线204的组件可以全部被包括在单个组件(例如,单个芯片)上,或者可以跨多个组件(例如,跨多个芯片)分布。作为一个示例,gpu 218和色调与饱和度控制220可以被包括在(例如,设备100的)片上系统(soc)中,并且去伽玛222、cm和插值器240、再伽玛242、mura和伪像补偿244以及dac 246可以被包括在(例如,设备100的)显示驱动器集成电路(ddic)中。作为另一示例,gpu 218、色调与饱和度控制220、去伽玛222、cm和插值器240
以及再伽玛242可以被包括在soc中,并且mura和伪像补偿244以及dac 246可以被包括在ddic中。应注意,图像处理流水线204可以包括未示出的附加元件(例如,显示流压缩(dsc))或者可以不包括图2中示出的一些元件(例如,mura和伪像补偿244)。
30.gpu 218可以将图形指令和纹理渲染到输出色彩样本的阵列中。例如,gpu 218可以接收opengl、opencl、directx、direct3d、vulkan或任何其他应用编程接口(api)中的(例如,来自图1的ui模块106的)指令,所述指令使得gpu 218生成输出色彩样本的阵列。gpu 218可以将输出色彩样本的阵列提供给图像处理流水线204中的后续块,诸如色调与饱和度控制220。
31.色调与饱和度控制220可以处理从图像处理流水线204中的前一块接收的输入色彩样本,以调整色调和饱和度级别。例如,色调与饱和度控制220可以调整从gpu 218接收的输入色彩样本的色调和饱和度级别,以生成输出色彩样本。色调与饱和度控制220可以将调整的输出色彩样本提供给图像处理流水线204中的后续块,诸如去伽玛222。
32.去伽玛222可以处理从图像处理流水线204中的前一块接收的输入色彩样本,以移除伽玛。例如,去伽玛222可以将从色调与饱和度控制220接收的伽玛编码输入色彩样本转换成r、g、b输出色彩样本。去伽玛222可以将r、g、b输出色彩样本提供给图像处理流水线204中的后续块,诸如cm和插值器240。
33.cm和插值器240可以对从图像处理流水线204中的前一块接收的输入色彩样本执行色彩管理(cm)处理。如上文论述,cm和插值器240可以使用3d查找表(lut)经由插值对输入色彩样本执行cm处理,以将输入色彩样本映射到输出色彩样本。同样如上所论述,并且根据本公开的一个或多个技术,cm和插值器240可以维护包括将输入色彩样本映射到输出插值色彩样本的条目的高速缓存。通过使用这样的高速缓存,cm和插值器240可以减少执行插值的次数,这可以降低功耗。不管是经由插值还是高速缓存查找获得输出色彩样本,cm和插值器240都可以将输出色彩样本提供给图像处理流水线204的后续块,诸如再伽玛242。
34.再伽玛242可以执行去伽玛222的逆操作。例如,再伽玛242可以将从cm和插值器240接收的r、g、b编码输入色彩样本转换成伽玛编码的输出色彩样本。再伽玛242可以将伽玛编码的输出色彩样本提供给图像处理流水线204中的后续块,诸如mura和伪像补偿244。
35.mura和伪像补偿244可以处理从图像处理流水线204中的前一块接收的输入色彩样本,以补偿将要输出色彩样本的显示器(例如,图1的显示器102)的mura和伪像。例如,mura和伪像补偿244可以基于显示器的已知参数(例如,作为输出测试图案的显示器的一个或多个扫描),调整输入色彩样本以生成输出色彩样本,其中mura和伪像看起来被“抵消”。
36.dac 246可以将输入色彩样本转换成与输入色彩样本相对应的模拟电平。例如,dac 246可以接收作为每通道10位的r、g、b值的输入色彩样本。dac 246可以生成表示r值的第一模拟电压信号、表示g值的第二模拟电压信号和表示b值的第三模拟电压信号。dac 246可以输出模拟电平以供显示器输出,诸如图1的显示器102。
37.图3是展示根据本公开的一个或多个技术的cm和插值器的一个示例的细节的概念图。图3的cm和插值器340可以是图2的cm和插值器240的一个示例。如图3中所示,cm和插值器340可以包括高速缓存地址解码器342、高速缓存344、多路复用器346、查找表(lut)348、插值器350和时钟门控控制器352。
38.高速缓存地址解码器342可以被配置成基于输入色彩样本来确定诸如高速缓存
344的高速缓存中的地址。下文参考图4论述高速缓存地址解码器342的一个示例的进一步细节。
39.高速缓存344可以被配置成存储在输入色彩样本与对应的输出cm色彩样本之间映射的条目。如果插值器350对特定条目中的输入色彩样本执行插值,则特定条目中的输出cm色彩样本可以是插值器350将输出的内容。高速缓存344的大小可以被选择为显著小于lut 348的大小。例如,如果lut 348是147千位,则高速缓存344可以是54千位。
40.多路复用器(mux)346可以输出用于每个输入色彩样本的高速缓存获得的输出cm色彩样本或插值的cm色彩样本中的一者。例如,在输入色彩样本与高速缓存344中的条目匹配的情况下,mux 346可以输出高速缓存344中的条目中包括的cm色彩样本。另一方面,在输入色彩样本不与高速缓存344中的条目匹配的情况下,mux 346可以输出由插值器350基于该输入色彩样本而生成的插值cm色彩样本。
41.lut 348可以表示具有格点的3d查找表,格点可以用作插值非格点的锚点。在输入色彩样本是10位rgb色彩样本的情况下,lut 348可以是17
×
17
×
17
×3×
10位(147千位)lut。如上所述,lut 348可以与插值器350协同使用,因为存储每个可能的输入色彩样本与对应的cm输出色彩样本之间的完整映射会占用太多的存储器/存储空间。
42.插值器350可以被配置成基于在lut 348中存储的格点来插值用于输入色彩样本的cm输出色彩样本。例如,lut 348可以向插值器350提供与输入色彩样本最紧密匹配的n个格点(例如,r0、g0、b0~rn、gn、bn)。基于n个格点,lut 348可以执行插值来生成用于输入色彩样本的cm输出色彩样本。在一些示例中,插值器350可以利用三线性插值,诸如在“computational color technology”,henry r.kang(author)spie publications(may 17,2006),isbn-13:978-0819461193(henry r.kang(作者)spie出版(2006年5月17日),isbn-13:978-0819461193的“计算色彩技术”)中所描述。例如,当n为8时,所获得格点可以是p
000
、p
001
、p
010
、p
011
、p
100
、p
101
、p
110
和p
111
。插值器340可以应用以下等式1来获得cm输出色彩样本:
43.p(x,y,z)=c0 c1δx c2δy c3δz c4δxδy c5δyδz c6δzδx c7δxδyδz
44.等式1
45.在上面的等式中,δx、δy和δz可以是点相对于起点p
000
分别在x、y和z方向上的相对距离,如下面的等式2所示:
[0046][0047]
等式2
[0048]
插值器350可以基于顶点的值(例如,基于从lut 348获得的格点的值)来确定系数cj的值。例如,插值器350可以确定系数cj的值,如以下等式3所示:
[0049]
c0=p
000
;c1=(p
100-p
000
);c2=(p
010-p
000
)
[0050]
c3=(p
001-p
000
);c4=(p
110-p
010-p
100
p
000
)
[0051]
c5=(p
011-p
001-p
010
p
000
);c6=(p
101-p
001-p
100
p
000
)
[0052]
c7=(p
111-p
011-p
101
p
100
p
001
p
010-p
000
)
[0053]
等式3
[0054]
从上面可以看出,插值器350可以执行许多操作来生成插值的输出cm色彩值。例
如,执行等式1可以涉及8个乘法运算和7个加法运算,等式2可以涉及3个除法运算和6个减法(加法)运算,并且等式3可以涉及19个减法(加法)运算。附加地,lut 348可能涉及8个存储器读取来向插值器350提供格点。
[0055]
时钟门控控制器352可以控制插值器350的操作。例如,插值器350可以基于时钟信号来操作。在时钟信号不切换的情况下,插值器350可能不操作。如下文进一步详细论述,当输入色彩样本与高速缓存344中的条目相匹配时,时钟门控控制器352可以使得插值器350抑制操作。像这样,在输入色彩样本与高速缓存344中的条目匹配的情况下,插值器350可以抑制对输入色彩样本的插值。
[0056]
图4是示出根据本公开的一个或多个技术的高速缓存地址解码器的一个示例的概念图。高速缓存地址解码器442可以是图3的高速缓存地址解码器342的示例。如图4中所示,高速缓存地址解码器442可以基于输入色彩样本来确定高速缓存中的地址,诸如图4的高速缓存344。例如,高速缓存地址解码器442的地址生成器470可以基于以下等式4来确定高速缓存地址:
[0057]
高速缓存地址=base
address-upper
th
offset1*th offset2
[0058]
等式4
[0059]
base
address
可以是r值,offset1可以表示g值减去r值,并且offset2可以表示b值减去r值。upper
th
和th可以是预定变量。作为一个示例,在upper
th
=200且th=3的情况下,地址生成器470可以确定rgb为(200,201,202)的输入色彩值的高速缓存地址为5(例如,5=200-200 1*3 2)。高速缓存地址解码器442可以确定高速缓存——例如,高速缓存344——中的条目是否是所确定的高速缓存地址的命中。例如,如图4的示例所示,高速缓存地址解码器442可以确定存在命中,因为高速缓存中存在与所确定的高速缓存地址5相匹配的条目。为简单起见,图4中的输出rgb表示为输入rgb值的函数,在操作中,高速缓存将存储与输入rgb值相对应的实际插值rgb值。
[0060]
现参考图3,如上文论述,高速缓存中的条目可以是静态和预定的。例如,可以对处理的色彩样本(在设备100外部)进行分析,以确定n个最常用的色彩样本。n个最常用的色彩样本,连同预先计算的对应插值输出色彩样本,可以被存储在高速缓存中,诸如在高速缓存344中。
[0061]
图5是展示根据本公开的一个或多个技术的具有动态高速缓存更新的cm和插值器的一个示例的细节的概念图。图5的cm和插值器540可以是图2的cm和插值器240的一个示例。如图5中所示,cm和插值器540可以包括高速缓存地址解码器542、高速缓存544、多路复用器546、查找表(lut)548、插值器550和时钟门控控制器552,其中每一者可以分别执行与图3的高速缓存地址解码器342、高速缓存344、多路复用器346、lut 348、插值器350和时钟门控控制器352类似的操作。还如图5中所示,cm和插值器540可以包括高速缓存更新器556。
[0062]
高速缓存更新器556可以执行一个或多个操作,以基于cm和插值器540正在处理的图像或先前处理的图像来更新高速缓存544的条目。通过基于这样的图像数据更新高速缓存544的条目,高速缓存更新器556可以增加高速缓存544的条目将命中(例如,匹配)输入色彩样本的概率,由于能够避免对输入色彩样本执行插值,这可以降低cm和插值器540的功耗。
[0063]
在操作中,高速缓存地址解码器542可以接收当前色彩样本行的色彩样本。高速缓
存地址解码器542可以针对所接收的色彩样本的每个相应色彩样本,确定在高速缓存544中是否存在命中(例如,确定高速缓存544是否包括相应的匹配条目)。
[0064]
高速缓存更新器556可以确定高速缓存544包括对应条目的当前样本行的输入色彩样本的数量。该数量可以称为命中率。高速缓存更新器556可以基于命中率来确定是否更新高速缓存544的条目。例如,响应于确定该命中率不满足阈值命中率,高速缓存更新器556可以确定更新高速缓存544的条目。类似地,响应于确定该命中率满足阈值命中率,高速缓存更新器556可以确定不更新高速缓存544的条目。在一些示例中,高速缓存更新器556可以确定该命中率不满足阈值命中率,其中命中率小于、或者小于或等于阈值命中率。
[0065]
在一些示例中,响应于确定更新高速缓存544的条目,高速缓存更新器556可以基于当前样本行的输入色彩样本来更新高速缓存554的条目。例如,高速缓存更新器556可以使得lut 548和插值器550对当前样本行的多个输入色彩样本执行插值,以获得多个输出插值色彩样本。mux 546可以向图像处理流水线的后续块(例如,图2的再伽玛242)提供多个输出插值色彩样本,并且高速缓存更新器556可以向高速缓存544插入将多个输入色彩样本映射到多个输出插值色彩样本的条目。在一些示例中,除了先前在高速缓存544中的条目之外,高速缓存更新器556还可以插入新的条目。在其他示例中,高速缓存更新器556可以通过在插入将多个输入色彩样本映射到多个输出插值色彩样本的条目之前从高速缓存544中移除条目来“清空”高速缓存544。
[0066]
当处理输入色彩样本的后续行(例如,下一行)时,高速缓存地址解码器542可以利用高速缓存544的更新条目。由于色彩样本的相邻行在公共色彩值方面可能具有相对高的相关性,以上述方式更新高速缓存544的条目可以增加高速缓存544将包括与输入色彩样本的后续行的样本相匹配的条目的概率。
[0067]
图6是展示根据本公开的一个或多个技术的具有动态高速缓存更新的cm和插值器的一个示例的进一步细节的概念图。图6的cm和插值器640可以是图5的cm和插值器540的一个示例。如图6中所示,cm和插值器640可以包括高速缓存地址解码器642、高速缓存644、查找表(lut) 插值器650和高速缓存更新器656。高速缓存地址解码器642和高速缓存644可以分别执行与图5的高速缓存地址解码器542和高速缓存544类似的操作。lut 插值器650可以执行与图5的组合lut 548和插值器550类似的操作。
[0068]
如图6所示,高速缓存644可以包括多个存储元件,被示为d触发器660a-660n(统称为“d触发器660”),每个存储元件存储一个条目(即,将输入色彩样本映射到输出插值色彩样本的条目)。时钟门控控制器552可以控制d触发器660的操作,使得当高速缓存更新器656更新条目时,新的条目被存储在d触发器660中。
[0069]
高速缓存更新器656可以包括时钟门控控制器652和高速缓存更新控制器662。时钟门控控制器652可以选择性地输出时钟信号(或者可以控制其他组件的时钟信号输出),以管理cm和插值器640的组件对色彩样本的流动和处理。高速缓存更新控制器662可以分析cm和插值器640的操作,以确定何时执行在高速缓存644中存储的条目的更新。如上文论述,高速缓存更新控制器662可以响应于确定命中率不满足阈值命中率来确定执行高速缓存644中的条目的更新。
[0070]
在操作中且如图6中所示,高速缓存地址解码器642可以确定是否存在输入色彩样本的高速缓存击中。如果存在高速缓存命中,则高速缓存地址解码器642可以输出缓冲的cm
输出(即,与输入色彩样本相对应的在d触发器660的d触发器中存储的插值色彩值)。然而,如果不存在高速缓存命中(即,如果存在高速缓存未命中),则高速缓存更新器656可以使得lut 插值器650执行插值以生成输入色彩值的插值输出色彩值,该插值输出色彩值可以作为输出色彩样本通过高速缓存地址解码器642传递。
[0071]
图7是示出根据本公开的一个或多个技术的使用高速缓存来降低cm功耗的图像处理流水线的示例操作的流程图。图6的操作是在图2的图像处理流水线204的cm和插值器240的上下文内描述的,然而,图6的操作可以由其他组件来执行。
[0072]
cm和插值器240可以获得当前样本行的特定输入色彩样本(702)。例如,图像处理流水线204的gpu 218可以将图像数据帧渲染为色彩样本矩阵。渲染的色彩样本可以由图像处理流水线204的先前组件(例如,色调和饱和度控制220和去伽玛222)处理,并被提供给cm和插值器240。
[0073]
cm和插值器240可以维护包括将输入色彩样本映射到输出插值色彩样本的条目的高速缓存(704)。例如,cm和插值器340可以维护高速缓存344,或者cm和插值器440可以维护高速缓存444。如上文论述,由cm和插值器240维护的高速缓存中的条目可以是静态的,或者可以是动态更新的。
[0074]
cm和插值器240可以确定高速缓存是否包括与特定输入色彩样本相对应的条目(706)。例如,高速缓存地址解码器342/442可以基于特定输入色彩样本的值来生成高速缓存地址。高速缓存地址解码器342/442可以确定高速缓存344/444是否包括具有确定的高速缓存地址的条目。
[0075]
响应于确定高速缓存包括与特定输入色彩样本相对应的条目(706的“是”分支),cm和插值器240可以从高速缓存中获得特定的插值输出色彩样本,其被包括在与特定输入色彩相对应的条目中(708)。在这样的情况下,cm和插值器240可以避免必须对特定输入色彩样本执行插值。
[0076]
响应于确定高速缓存包括与特定输入色彩样本相对应的条目(706的“否”分支),cm和插值器240可以对特定输入色彩样本执行插值以获得特定的输出插值色彩样本(710)。例如,插值器350/450可以使用从lut 348/448获得的值来对特定输入色彩样本执行三线性插值,以获得特定的输出插值色彩样本。
[0077]
cm和插值器240可以向图像处理流水线的后续块提供输出的插值色彩样本,无论是从高速缓存获得的(708)还是插值的(710)。最终,不管是否对输出插值色彩样本执行附加处理,输出插值色彩样本的表示可以显示在显示器处(712)。
[0078]
以下编号的示例可以说明本公开的一个或多个方面:
[0079]
示例1.一种方法包含:由设备的显示图像处理流水线的处理电路系统获得由该设备的图形处理单元渲染的当前样本行的特定输入色彩样本;由处理电路系统维护包括将输入色彩样本映射到输出插值色彩样本的条目的高速缓存;由处理电路系统确定该高速缓存是否包括与特定输入色彩样本相对应的条目;响应于确定高速缓存包括与特定输入色彩样本相对应的条目,由处理电路系统输出在与该特定输入色彩样本相对应的条目中包括的特定输出插值色彩样本,而无需对该特定输入色彩样本执行插值;以及在该设备的显示器处显示该特定输出插值色彩样本的表示。
[0080]
示例2.示例1的方法,进一步包含:响应于确定高速缓存不包括与特定输入色彩样
本相对应的条目,对该特定输入色彩样本执行插值以获得特定输出插值色彩样本。
[0081]
示例3.示例1或2中的任一者的方法,其中,执行插值包含使用三维查找表来执行三线性插值。
[0082]
示例4.示例1至3中的任一者的方法,其中,在高速缓存中包括的条目是静态和预定的。
[0083]
示例5.示例1至3中的任一者的方法,其中,维护高速缓存包含动态地更新该高速缓存的条目。
[0084]
示例6.示例5的方法,其中,动态地更新高速缓存的条目包含:确定当前样本行的输入色彩样本的命中率,其中,该命中率包括高速缓存包括对应条目的该当前样本行的输入色彩样本的数量;以及响应于确定该命中率不满足阈值命中率,基于当前样本行的输入色彩样本来更新该高速缓存的条目。
[0085]
示例7.示例6的方法,其中,基于当前样本行的输入色彩样本来更新高速缓存的条目包含:对当前样本行的多个输入色彩样本执行插值,以获得多个输出插值色彩样本;以及将映射多个输入色彩样本到多个输出插值色彩样本的条目插入到高速缓存中。
[0086]
示例8.示例7的方法,其中,基于当前样本行的输入色彩样本来更新高速缓存的条目进一步包含:在插入将多个输入色彩样本映射到多个输出插值色彩样本的条目之前从高速缓存中移除条目。
[0087]
示例9.示例1至8中的任一者的方法,其中,处理电路系统被包括在还包括图形处理单元的片上系统中。
[0088]
示例10.示例1至8中的任一者的方法,其中,处理电路系统被包括在显示驱动器集成电路中,该显示驱动器集成电路与包括图形处理单元的片上系统不同。
[0089]
示例11.示例1至10中的任一者的方法,其中,显示器包含有机发光二极管显示器。
[0090]
示例12.设备包含:显示器;以及图像处理流水线,其包含被配置成进行以下操作的电路系统:获得由该设备的图形处理单元渲染的当前样本行的特定输入色彩样本;维护包括将输入色彩样本映射到输出插值色彩样本的条目的高速缓存;确定该高速缓存是否包括与特定输入色彩样本相对应的条目;响应于确定高速缓存包括与特定输入色彩样本相对应的条目,输出在与该特定输入色彩样本相对应的条目中包括的特定输出插值色彩样本,而无需对该特定输入色彩样本执行插值;以及使得显示器输出该特定输出插值色彩样本的表示。
[0091]
示例13.示例12的设备,其中,该电路系统进一步被配置成:响应于确定高速缓存不包括与特定输入色彩样本相对应的条目,对该特定输入色彩样本执行插值以获得特定输出插值色彩样本。
[0092]
示例14.示例12或13中的任一者的设备,其中,为了执行插值,该电路系统被配置成使用三维查找表来执行三线性插值。
[0093]
示例15.示例12至14中的任一者的设备,其中,在高速缓存中包括的条目是静态和预定的。
[0094]
示例16.示例12至14中的任一者的设备,其中,为了维护高速缓存,该电路系统被配置成动态地更新该高速缓存的条目。
[0095]
示例17.示例16的设备,其中,为了动态地更新该高速缓存的条目,该电路系统被
配置成:确定当前样本行的输入色彩样本的命中率,其中,该命中率包括高速缓存包括对应条目的该当前样本行的输入色彩样本的数量;以及响应于确定该命中率不满足阈值命中率,基于当前样本行的输入色彩样本来更新该高速缓存的条目。
[0096]
示例18.示例17的设备,其中,为了基于当前样本行的输入色彩样本来更新高速缓存的条目,该电路系统被配置成:对当前样本行的多个输入色彩样本执行插值,以获得多个输出插值色彩样本;以及将映射多个输入色彩样本到多个输出插值色彩样本的条目插入到高速缓存中。
[0097]
示例19.示例18的设备,其中,为了基于当前样本行的输入色彩样本来更新高速缓存的条目,该电路系统进一步被配置成:在插入将多个输入色彩样本映射到多个输出插值色彩样本的条目之前从高速缓存中移除条目。
[0098]
示例20.示例12至19中的任一者的设备,其中,该电路系统被包括在还包括图形处理单元的片上系统中。
[0099]
示例21.示例12至19中的任一者的设备,其中,该电路系统被包括在显示驱动器集成电路中,该显示驱动器集成电路与包括图形处理单元的片上系统不同。
[0100]
示例22.示例12至21中的任一者的设备,其中,该显示器包含有机发光二极管显示器。
[0101]
示例23.一种存储指令的计算机可读存储介质,所述指令在被执行时使得图像处理流水线的一个或多个处理器执行示例1至8中的任一者的方法。
[0102]
示例24.一种设备包含:显示器;以及用于执行示例1至8中的任一者的方法的部件。
[0103]
示例25.示例1至24的任何组合。
[0104]
本公开中所描述的技术可以至少部分地用硬件、软件、固件或其任何组合来实现。例如,所描述技术的各方面可以在包括一个或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或任何其他等效的集成或离散逻辑电路系统、以及这样的组件的任何组合的一个或多个处理器内实现。术语“处理器”或“处理电路系统”通常可以指单独或与其他逻辑电路系统组合的任何前述逻辑电路系统,或者任何其他等效电路系统。包括硬件的控制单元也可以执行本公开的技术中的一者或多者。
[0105]
这样的硬件、软件和固件可以在相同设备内或在分开的设备内实现,以支持本公开中描述的各种技术。此外,任何所描述的单元、模块或组件可以一起或分开地实现为离散但可互操作的逻辑设备。将不同的特征描述为模块或单元旨在强调不同的功能方面,并不一定意味着这样的模块或单元必须由分开的硬件、固件或软件组件来实现。相反,与一个或多个模块或单元相关联的功能性可以由分开的硬件、固件或软件组件来执行,或者集成在公共或分开的硬件、固件或软件组件中。
[0106]
本公开中描述的技术也可以在包括利用指令编码的计算机可读存储介质的制品中体现或编码。在包括编码的计算机可读存储介质的制品中嵌入或编码的指令可以使得一个或多个可编程处理器或其他处理器实现本文描述的一个或多个技术,诸如当在计算机可读存储介质中包括或编码的指令由所述一个或多个处理器执行时。计算机可读存储介质可以包括随机存取存储器(ram)、只读存储器(rom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电子可擦除可编程只读存储器(eeprom)、快闪存储器、硬盘、紧密盘
rom(cd-rom)、软盘、盒式录音带、磁性介质、光学介质或其他计算机可读介质。在一些示例中,制品可以包括一个或多个计算机可读存储介质。
[0107]
在一些示例中,计算机可读存储介质可以包括非暂时性介质。术语“非暂时性”可以指示存储介质没有被体现在载波或传播信号中。在某些示例中,非暂时性存储介质可以存储能够随着时间改变的数据(例如,在ram或高速缓存中)。
[0108]
本公开中已描述各种方面。这些和其他方面是在随附权利要求的范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献