System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 用于应用查找表的设备和方法技术_技高网

用于应用查找表的设备和方法技术

技术编号:40478458 阅读:7 留言:0更新日期:2024-02-26 19:13
一种设备,该设备将前置函数应用于输入信号以获得中间信号,其中该前置函数具有输入范围的线性区段部分。该设备然后应用包括LUT条目的LUT,该LUT条目定义线性区段并且界定对应于输入范围的部分的中间信号的范围,从而产生可以通过前置函数和LUT来线性处理的输出信号。该设备可以处理具有正值和负值的信号,其中这些值中的一个值位于导致线性处理的输入范围的部分中。

【技术实现步骤摘要】
【国外来华专利技术】

本公开总体上涉及信号处理,并且具体地涉及使用查找表(lut)的信号处理。


技术介绍

1、本部分意图向读者介绍本领域的各个方面,这些方面可与下文描述和/或要求保护的本公开的各种方面有关。此讨论被认为有助于向读者提供背景信息,以促进更好地理解本公开的各个方面。因此,应当理解,这些陈述应当从这个角度来解读,而不是承认现有技术。

2、将根据主函数f(x)计算的查找表(lut)应用于输入信号x而不是应用主函数本身例如以加速处理是众所周知的。通常通过主函数的规则采样来生成lut。

3、作为说明性示例,对于范围[0;1]内的一维信号x,主函数是指数函数f(x)=(10x-1)/9。在该示例中,假设lut是具有lut输入网格{0;0.5;1}的大小为3的一维规则lut。lut条目是{f(0);f(0.5);f(1)}={0;(100.5-1)/9;1}={0;0.24;1}。

4、本领域技术人员将理解,这些原理适用于其他信号,诸如音频信号和视频信号,例如二维色度信号、三维颜色坐标或n维信号空间中的n维信号。这些原理也适用于非规则lut,例如具有分别拥有0.4和0.6的非规则区间的lut条目网格{0;0.4;1}。

5、由于lut典型地具有有限的大小,并且因此典型地具有比信号值的可能数量更少的lut条目,在这种情况下它们对信号的应用通常需要内插。vandenberg和andriani在他们于2018年在smpte发表的题为“10位和12位hdr bt.2100pq中的3d-lut性能概述(a surveyon 3d-lut performance in 10-bit and 12-bit hdr bt.2100pq)”的论文中回顾了一些内插法。

6、一般而言,为了执行内插,在第一步骤中,从lut输入网格内插输入信号。通常应用线性内插,但是相同的原理适用于非线性内插。在以上示例中,如果输入信号为x=0.2,则线性内插可以使用前两个网格值,从而导致以下内插:x=0.2=c10+c20.5,其中0和0.5分别为lut输入网格的前两个值,并且c1=0.6;c2=0.4为线性内插系数。在第二步骤中,从lut条目内插输出信号lut(x)。通常,使用与第一步骤相同的内插法。在该示例中,在第一步骤中使用线性内插。假设线性内插也用于第二步骤,并且通常使用相同的内插系数,这给出了输出信号lut(x)=c10+c20.24。然而,可以使用其他系数和其他内插法来从lut条目中导出lut(x)。

7、如果主函数是非线性的并且lut条目的内插是线性的,则应用lut的效果类似于主函数的分段内插。如果主函数f(x)被采样并保存在lut中,则使用线性内插将lut应用于信号x可以被写为lut应用函数lut(x)=plx(f(x)),其中plx()在信号值x的网格上被分段线性化。例如,如果lut是三维的,则众所周知的线性内插方法包括三线性、棱柱和四面体内插。

8、在应用lut之前将前置函数应用于信号也是众所周知的。前置函数通常是单调递增函数。该前置函数本身可以使用查找表来应用,在下文中被称为前置lut。该前置函数通常是一维的。如果lut是多维的,则可以将一维前置函数应用于每个信号坐标,即应用于每个维度。然而,前置lut也可以是多维的。例如,设计用于三维输入信号的三维lut的前面可以是用于前两个通道的二维前置lut和用于第三通道的一维前置lut。此外,并非所有通道都可以使用前置lut或前置函数来处理。例如,设计用于二维输入信号的二维lut的前面可以是用于第一通道的一维前置函数,仅仅当第二通道被直接输入到lut时。为了简化描述,在下文中,考虑一维lut和一维前置函数的情况,但是应当理解,原理可以扩展到更高的维度。当将前置函数q(x)应用于信号时,q(x)的信号范围通常等于信号x本身的信号范围。例如,在该一维前置函数的情况下,如果输入值在范围[0;1]内,则前置函数的应用将产生也在范围[0;1]内的值。然而,前置函数也可以包括范围的变化。例如,在应用前置函数之后,在范围[0;220]内的一维输入信号可以具有范围[0;1]。在下文中,为了简单起见,假设前置函数保留信号范围。然而,所有原理也适用于不保留信号范围的前置函数。

9、应用前置函数的常见原因是减少和/或重塑lut内插误差。在采样理论的意义上,一旦导致lut条目的lut输入网格上的主函数的采样不能完全表示主函数,则应用于lut条目的任何内插通常将生成lut内插误差。例如,如果使用线性内插来将lut应用于输入信号,并且如果主函数是非线性的,则内插误差将导致所产生的lut应用函数lut(x)不等于主函数本身。为了减少和/或重塑所产生的lut内插误差,可以使用多个标准来设计前置函数。

10、用于设计前置函数q(x)的第一标准是主函数本身的非线性形状。在这种情况下,对于输入值x的范围,前置函数q(x)优选地具有斜率q'(x)>1,其中主函数f(x)陡峭,即其中|f'(x)|>1。因此,在该范围或输入值中减小了lut内插误差;然而,对于其他输入值,lut内插误差增加。这被称为lut内插误差的重塑。

11、用于设计前置函数的另一个标准是:对于特定范围的输入值x,增加输出信号的精度(换句话说减少lut内插误差),这对应用案例很重要。这可以通过对于该输入值范围具有斜率q'(x)>1的前置函数q(x)来实现。例如,对于视频信号,这可以应用于小的输入值,这是因为人类视觉系统对于小的亮度值更敏感。

12、众所周知的前置函数的示例是对数、指数和s形函数,但是也可以使用其他函数。

13、将前置函数q(x)应用于信号x将导致信号w=q(x)。在应用前置函数之后,通常将lut应用于信号w,从而产生lut(w)。将前置函数和lut应用于信号x的过程可以表示为lut(q(x))。通常,这种解决方案取代了将给定的主函数f(x)直接应用于信号,这意味着优选的是lut(q(x))尽可能接近f(x)。如果在lut之前应用前置函数,则必须在lut内考虑该前置函数以便满足该偏好。可以使用几种已知方法来实现对lut内的前置函数的考虑,现在将描述其中之一。

14、考虑lut内的前置函数并使lut(q(x))接近f(x)的方法的示例是对lut内的前置函数q(x)求逆,这给出新的适配查找表lutq,使得lutq(w)=plw(f(q-1(w)),其中plw基于w的规则采样被分段线性化。其中w=q(x)遵循lutq(q(x))=plw(f(x)),并且因此接近f(x)直至分段线性化。函数fw(w)=f(q-1(w))在下面被称为“串接函数”或“适配函数”。可以说,通过在w中采样,可以从适配函数fw(w)导出适配查找表lutq,其方式与通过在x中采样从公共主函数f(x)中导出公共查找表lut的方式相同。使用前置函数的优点是对信号w而不是x进行规则采样。内插的误差规则地分布在w的范围上,但是不规则地分布在x的范围上。取决于前置函数,误差可以在x的范围的本文档来自技高网...

【技术保护点】

1.一种方法,所述方法包括:

2.根据权利要求1所述的方法,其中应用所述LUT包括针对中间信号值的线性内插,所述中间信号值的值对应于所述LUT的所述第二部分。

3.根据权利要求1所述的方法,其中所述前置函数和所述LUT对于所述第一部分的至少一个区段是非线性的。

4.根据权利要求1所述的方法,其中所述前置函数包括在所述输入信号的所述范围的所述第一部分的末端与所述输入信号的所述范围的所述第二部分的相邻末端之间的不连续性。

5.根据权利要求4所述的方法,其中所述LUT的所述第一部分包括具有输入值的条目,所述输入值对应于与所述不连续性邻接的所述第一部分的所述末端处的值。

6.根据权利要求1所述的方法,其中所述前置函数和所述LUT被布置为使得除非由于浮点数的表示中的有限精度而导致算术误差,对于所述第二部分中的输入信号,所述输出信号等于所述输入信号。

7.根据权利要求1所述的方法,其中所述输入信号包括多维信号的维度的子集。

8.根据权利要求1所述的方法,所述方法还包括:

9.根据权利要求8所述的方法,所述方法还包括:

10.根据权利要求9所述的方法,其中所述第一逆缩放是所述第一缩放的逆,并且所述第二逆缩放是所述第二缩放的逆。

11.根据权利要求8所述的方法,所述方法还包括:

12.根据权利要求9所述的方法,其中:

13.一种设备,所述设备包括:

14.根据权利要求13所述的设备,其中所述LUT的应用包括针对中间信号值的线性内插,所述中间信号值的值对应于所述LUT的所述第二部分。

15.根据权利要求13所述的设备,其中所述前置函数和所述LUT对于所述第一部分的至少一个区段是非线性的。

16.根据权利要求13所述的设备,其中所述前置函数包括在所述输入信号的所述范围的所述第一部分的末端与所述输入信号的所述范围的所述第二部分的相邻末端之间的不连续性。

17.根据权利要求16所述的设备,其中所述LUT的所述第一部分包括具有输入值的条目,所述输入值对应于与所述不连续性邻接的所述第一部分的所述末端处的值。

18.根据权利要求13所述的设备,其中所述前置函数和所述LUT被布置为使得除非由于浮点数的表示中的有限精度而导致算术误差,对于所述第二部分中的输入信号,所述输出信号等于所述输入信号。

19.根据权利要求13所述的设备,其中所述输入信号包括多维信号的维度的子集。

20.根据权利要求13所述的设备,其中所述至少一个硬件处理器被进一步配置为执行所述程序代码指令以:

21.根据权利要求20所述的设备,其中所述至少一个硬件处理器被进一步配置为执行所述程序代码指令以:

22.根据权利要求21所述的设备,其中所述第一逆缩放是所述第一缩放的逆,并且所述第二逆缩放是所述第二缩放的逆。

23.根据权利要求20所述的设备,其中所述至少一个硬件处理器被进一步配置为执行所述程序代码指令以:

24.根据权利要求21所述的设备,其中:

25.一种非暂态计算机可读介质,所述非暂态计算机可读介质存储程序代码指令,所述程序代码指令在由处理器执行时实施根据权利要求1至12中的至少一项所述的方法的步骤。

...

【技术特征摘要】
【国外来华专利技术】

1.一种方法,所述方法包括:

2.根据权利要求1所述的方法,其中应用所述lut包括针对中间信号值的线性内插,所述中间信号值的值对应于所述lut的所述第二部分。

3.根据权利要求1所述的方法,其中所述前置函数和所述lut对于所述第一部分的至少一个区段是非线性的。

4.根据权利要求1所述的方法,其中所述前置函数包括在所述输入信号的所述范围的所述第一部分的末端与所述输入信号的所述范围的所述第二部分的相邻末端之间的不连续性。

5.根据权利要求4所述的方法,其中所述lut的所述第一部分包括具有输入值的条目,所述输入值对应于与所述不连续性邻接的所述第一部分的所述末端处的值。

6.根据权利要求1所述的方法,其中所述前置函数和所述lut被布置为使得除非由于浮点数的表示中的有限精度而导致算术误差,对于所述第二部分中的输入信号,所述输出信号等于所述输入信号。

7.根据权利要求1所述的方法,其中所述输入信号包括多维信号的维度的子集。

8.根据权利要求1所述的方法,所述方法还包括:

9.根据权利要求8所述的方法,所述方法还包括:

10.根据权利要求9所述的方法,其中所述第一逆缩放是所述第一缩放的逆,并且所述第二逆缩放是所述第二缩放的逆。

11.根据权利要求8所述的方法,所述方法还包括:

12.根据权利要求9所述的方法,其中:

13.一种设备,所述设备包括:

14.根据权利要求13所述的设备,其中所述lut的应用包括针对中间信号值的线性内插,所述中间信号值的值对应于所述lut的所述第二部...

【专利技术属性】
技术研发人员:J·施陶德尔P·莫尔万A·奥汉德
申请(专利权)人:交互数字CE专利控股有限公司
类型:发明
国别省市:

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

1