实施例7
在一个示例中,本发明原理的一个方面涉及可能根据画面的比特深度而改变的通用传递函数(TF)模型参数。在这种情况下,可以发出参数的预定义值:
·通过在表2中添加条目,得到下面的表3,例如下面的“Barten曲线”和SMPTE ST2084传递函数:
表3:transfer_function_predefined_idc-变体的语义
或者通过选择预定义的参数作为bit_depth和transfer_function_predefined_idc的组合。
有利地,用于对参数进行编码的语义元素大小可能对于某些参数而言是不同的。
有利地,参数的数量可以是可变的并且在语义中指示(参见表4中描述的示例中的tf_num_param_minus1)。
有利地,可以为每个参数规定参数tf_log2denom:
表4:对通用TF参数进行编码的语义示例
tf_num_param_minus1的语义可以定义如下:
tf_num_param_minus1加1规定了限定传递函数的参数值的数量。
有利地,参数tf_log2_denom不是针对每个参数用信号发送,而是存在于语义(表5)中。
有利地,每个参数的语义元素大小不是固定的,并且可以用语义元素指示,或者可以用可变长度码(例如如AVC/H.264或HEVC/H.265中所定义:u(v)、se(v)、ue(v)、ae(v)...)。
表5:对通用TF参数进行编码的语义示例
示例8
在一个示例中,本发明原理的一个方面涉及在视频比特流中定义HEVC或AVC视频编码标准的SEI中的参数(表6)。作为示例,语义基于表4,但是它可以直接扩展到表1或表5或其他派生语义结构。
表6:用于对SEI消息中的通用TF参数进行编码的语义示例
与表6相关的新语义元素的补充语义定义如下:
transfer_function_id包含可用于识别传递函数信息的目的的标识号。transfer_function_id的值应在0到232-2的范围,包括0和232-2。
transfer_function_cancel_flag等于1表示传递函数信息SEI消息以应用于当前层的输出顺序抵消了任何先前传递函数SEI消息的持久性。transfer_function_cancel_flag等于0表示接着是传递函数信息。
transfer_function_persistence_flag规定针对当前层的传递函数信息SEI消息的持久性。transfer_function_persistence_flag等于0规定传递函数信息仅应用于当前画面。
在一个示例中,让picA成为当前画面。transfer_function_persistence_flag等于1规定传递函数信息以输出顺序持续存在当前层,直到满足以下条件之一为止:
-当前层的新CLVS开始。
-比特流结束。
-输出包含具有与transfer_function_id的值相同并适用于当前层的传递函数信息SEI消息的存取单元的当前层中的画面picB,其中PicOrderCnt(picB)大于PicOrderCnt(picA),其中PicOrderCnt(picB)和PicOrderCnt(picA)分别是picB和picA的PicOrderCntVal值,紧接在对picB的画面顺序计数的解码处理的调用之后。
表6中的transfer_function_cancel_flag和transfer_function_persistence_flag补充语义元素使得能够处理传递函数的动态适应,哪些参数可随时间变化(按序列或按画面...)或哪些参数可以保持持续(按序列或按画面...)。在另一个实施例中,可以不存在这些语义元素(直接在语义中管理持久性)。
示例9
在一个示例中,本发明原理的一个方面涉及在视频比特流中定义画面参数集(PPS)中的参数。作为示例,所述语义基于表4,但是它可以直接扩展到表1或表5或其他派生语义结构。与现有的HEVC语义相比,具有***的字段是新的。
表7:用于在PPS中添加通用TF参数的语义示例
新语义元素的语义是:
pps_hdr_extension_flag等于1规定在PPS RBSP语义结构中存在pps_hdr_extension()语义结构。pps_hdr_extension_flag等于0规定不存在这种语义结构。当不存在时,推断pps_hdr_extension_flag的值等于0。
pps_extension_5bits:由于为pps_hdr_extension_flag添加了1比特,为了字节对齐的目的,将H.265/HEVC规范中的pps_extension_6bit更改为pps_extension_5bits。
请注意,诸如pps_extension_5bits之类的扩展标志为标准扩展提供了灵活性,同时保持实现先前版本标准的设备的向后兼容性。扩展部分中添加的新函数将由实施新标准的新设备读取,而实现前标准版本的旧设备将会丢弃这些标志。
表8:用于对PPS中的通用TF参数进行编码的语义示例
示例10
在一个示例中,本方面原理的一个方面涉及在视频比特流中定义序列参数集(SPS)中的参数。作为示例,是语义基于表4,但是它可以直接扩展到表1或表5或其他派生语义结构。
表9:用于在SPS中添加通用TF参数的语义示例
表10:用于对SPS中的通用TF参数进行编码的语义示例
示例11
在一个示例中,本发明原理的一个方面涉及在视频比特流中指示参数并在视频可用性信息(VUI)中定义它们。作为示例,所述语义基于表4,尽管它可以直接扩展到表1或表5或任何其他派生语义结构。
表11:在VUI中对通用TF参数进行编码的语义示例
作为另一示例,可以更新传递特性语义。通常,可以更新HEVC/H.265的表E.4,以如下合并通用EOTF/OETF(可以以ITU-R或SMPTE标准来参考或固定)的固定参数的实施例:
表12:传递特性示例
上述语义基于方程式1但不限于该版本的OETF定义,并且可以扩展到本文描述的任何方程和/或从本文的方程导出的任何方程,例如从方程1导出的方程。可以为不同的固定参数添加几个条目(行)。
以上讨论了使用H.265/HEVC作为,将调制值插入到各种语义结构中。本本发明原理可以应用于其他标准。除了VUI实现示例(示例11)之外,还保留了与现有或部署的SDR工作流的完全向后兼容性。
示例12
在一个示例中,本发明原理的一个方面涉及与CEA(消费电子协会)标准(例如在CEA-861.3的扩展或修改中)相关的实现。该标准可以例如通过HDMI用于将参数化的EOTF(P-EOTF)参数传送到渲染设备(例如,显示器)。例如,CEA-861.3的信息帧动态范围和主控信息帧定义了可以如下更新的静态元数据描述符和EOTF(表13、表14):
表13:动态范围和主控信息帧
数据字节1识别了在流中使用的电光传递函数(EOTF)。
EOTF |
EOTF流 |
0 |
传统伽马-SDR光亮度范围 |
1 |
传统伽马-HDR光亮度范围 |
2 |
SMPTE ST 2084 |
***3 |
参数化的EOTF |
4-7 |
预留用于未来使用 |
表14:数据字节1-电光传递函数
数据字节Static_Metadata_Descriptor_ID识别了在数据字节3或更高字节中使用的结构。
当Static_Metadata_Descriptor_ID=1时,Static_Metadata_Descriptor使用在表16中定义的结构,针对参数化EOTF参数识别限定了所述结构。
静态元数据类型2可以如下限定P-EOTF参数:
数据字节编号 |
内容 |
***数据字节3 |
peotf_param_s,LSB |
***数据字节4 |
peotf_param_s,MSB |
***数据字节5 |
peotf_param_t,LSB |
***数据字节6 |
peotf_param_t,MSB |
***数据字节7 |
peotf_param_c,LSB |
***数据字节8 |
peotf_param_c,MSB |
***数据字节9 |
peotf_param_n,LSB |
***数据字节10 |
peotf_param_n,MSB |
***数据字节11 |
peotf_param_m,LSB |
***数据字节12 |
peotf_param_m,MSB |
表16:静态元数据描述符类型2(P-EOTF)
语义与表1中提议的相同。
示例13
在一个示例中,本发明原理的一个方面涉及参数的预定义值(例如,参数(s,t,c,n,m))。在一个示例中,OETF曲线的参数可以针对各种现有的OETF以及Barten的CSF进行优化,得到一组建议的预定义参数(以及误差测量)。例如,图9示出了针对现有OETF标准或标准提案优化的根据本发明原理的TCH函数的结果。
基于在黑电平和峰值光亮度之间对数间隔开的1000个数据点生成图9所示的数学模型的参数(在下面的表17-20中表示用于Philips的OETF匹配的线性间隔)。在一个示例中,数据点的数量可以高于1000或低于1000。一个示例,数据点的间隔可以是与黑电平和/或峰值光亮度附近插入的附加数据点的对数。这可以有助于优化过程找到在曲线极值附近足够准确的解。
将所述误差计算为根据本发明原理的通用OETF V(L)的输出和拟合的曲线/LUTVe(L)的均方差:
方程11:
该误差是根据本发明原理的参数化OETF模型与正在匹配或建模的OETF(标准,所提议的标准、未来标准或定制)之间的严密性的指标。方程11中计算的误差是合适的误差度量的一个示例。一个示例可以使用V(L)和Ve(L)上的L1范数。
表17
表18
表19
表20
示例14
在根据本发明原理的一个示例中,可以根据本方面原理如下产生参数化通用OETF/EOTF模型的参数。
OETF优化
根据本发明原理如上所述的通用曲线要求几个参数。这些参数取决于使用情况或需要对哪个预先存在的曲线进行建模。可以采用优化程序来根据本发明原理来确定这些参数的值。然后采用相同的参数用于相应的EOTF(或逆OETF)。
可以将针对(目标OETF曲线)优化的OETF曲线作为查找表(LUT)或作为函数给出。假设存在需要OETF V(L)与现有OETF Ve(L)匹配的光亮度值范围,那么求解解决以下优化问题:
方程12:arg min参数(e.g.,s,t,c,n,m)||Ve(L)-V(L;参数(e.g.,s,t,c,m,n))||2
其中Ve(L)可以是任何给定的现有OETF,或者它可以是从对比度敏感度函数推导出的LUT。L可以是数值范围内的多个值(例如1000个值,在调查的光亮度范围内对数地间隔开)。
每个变量或每个参数可以单独优化。如果针对这种优化获得的误差低于先前的误差,则存储该变量的新值。否则存储旧值。
一旦已经将每个变量/参数优化了一次,重复所述过程。将这种过程重复固定的次数(例如10000次),或者直到误差没有减少为止。在这种迭代方案的每次迭代期间,只有当这些参数导致较小的误差时,才将参数更新为由优化确定的值。否则,保留来自上一次迭代的参数。通过在循环中重复优化,用先前确定的最优参数集合开始每个循环,由于执行优化的曲线的平滑和良好行为的性质,可以收敛到全局最优解。
查找表
在一个示例中,可以匹配本身从对比度灵敏度函数导出的调制传递函数。在这个过程中,对发光级别和空间频率的所有相关组合进行Barten对比度灵敏度函数的评估。对于每个发光级别,在所有空间频率上都可以找到最大对比度灵敏度。这产生作为发光级别的函数的对比度灵敏度函数CSF(L)。
调制传递函数是对比度灵敏度的倒数,由下式给出:
方程13:
实质上,调制传递在给定的光亮度水平下给出刚好低于可见阈值的最大对比度。这意味着编码方案中的后续发光级别应该至多为该量的对比度。
两个发光级别L1和L2之间的对比度通常定义为迈克尔逊对比度C,由下式给出:
方程14:
组合这两个方程产生:
方程15:
对于L1或L2求解产生:
方程16:
这个结果的解释是:给定一个特定的发光级别,可以计算出差异仅仅在一个可察觉差异(JND)的新发光级别。在一种情况下,新的发光级别比前一值高1个JND,另一种情况下,新的发光级别为低1个JND。
在一个示例中,选择预期峰值光亮度和比特深度,并且使用方程16计算光亮度值的查找表,每一个均与前一个值象差1个JND。例如,如果选择10,000cd/m2的峰值光亮度,比特深度为12比特,则查找表中的最后一个条目将包含10,000的值。使用方程式16从最后一个条目计算倒数第二个条目。从倒数第二个条目计算倒数第三个条目,依此类推。
所得到的查找表表示EOTF,因为它将码字(即表条目)转换成光亮度值。如果给出最小的希望光亮度值,则可以执行在最大光亮度和最小光亮度之间要求多少码字进行步进的计算。这将给出可用于该光亮度范围的JND的个数。
对这种得到的查找表的逆查找将实现OETF。这对函数将分别表示为EOTF和OETF的LBarten(V)和VBarten(L)。
可以通过求解下式来优化OETF对这种查找表的参数,其中选择任意个数的参数:
方程17:arg min参数(e.g.,s,t,c,n,m)||VBarten(L)-V(L;参数(e.g.,s,t,c,m,n))||2
传统的查找表
在上一部分中产生的查找表创建精确间隔1个JND的值。起始光亮度和查找表中的条目个数的组合可以确定结束光亮度。这是不希望的,因为结束光亮度难以按照这种方式预测,并且可以高于或低于预期黑电平。这尤其是如果表中的条目个数与给定的比特深度相关(在一个示例中,10比特的比特深度将表示具有1024个条目的表)的情况。如果是黑电平、峰值光亮度和比特深度的组合,则最好将每个连续步长间隔小于1个JND。
值小于1的参数f可以应用于上述公式,如下所示:
方程18:
在一个示例中,对于峰值光亮度为10,000cd/m2、黑电平为0.001cd/m2和比特深度为12的系统,可以选择f=0.9(因此产生212=4096个条目的LUT)。在一个示例中,f=0.918177。对于固定的峰值光亮度、黑电平和比特深度,改变f的值会导致一组曲线。
通常,期望选择峰值光亮度、黑电平和比特深度,并且由此导出f的最优值。为了实现这一点,可以采用优化过程。这里,本发明原理的一个方面解决了以下优化问题:
方程19:arg minf||Lmin-L(0;Lmax,f)||2
这里,Lmin是预期黑电平,并且L(0;Lmax,f)是从给定的峰值光亮度Lmax、给定的查找表的大小以及优化的参数f产生的查找表中的第一个条目。这种技术的核心是找到f的值,在给定的峰值光亮度和比特深度的规格下所述f的值产生具有尽可能接近所需黑电平Lmin的黑电平的LUT。
这一过程的结果是可以在方程18中使用的用于创建LUT的值,其中本发明原理的OETF和EOTF曲线的参数可以匹配。该LUT表示等式17中的VBarten(L)。然后,可以通过应用方程17的优化方案来确定OETF的参数。相同的结果参数s、t、c、m和n用于OETF和相应的EOTF(逆OETF)。
示例15
在根据本发明原理的一个示例中,包括六个参数的通用EOTF模型的替代形式可以构造如下:
方程20:
在方程20中,c、m、s、n、t、b是参数,并且V是码字。
可以将包括六个参数并与方程20相对应的通用逆EOTF或OETF的替代形式构建如下:
方程21:
方程20中的偏移b可以用于修正曲线,使得将通常为0的V的最小值映射到预期输出值L。在一个示例中,选择b,使得与参数c、m、s、t和n组合地将输入V=0映射到L(0)=0。在一个示例中,选择b,使得与参数c、m、s、t和n组合地将输入V=0映射到L(0)=0.001。
通常通过优化处理(例如,示例14中的优化处理)来确定参数s、t、c、n和m的值。也可以通过方程20相对于给定曲线的优化来找到b的值。
替代地,b的值可以如下计算。Lmin可以是预期显示系统的所需黑电平。假设由Lmin表示的预期黑电平,Vmin可以是应该进行编码的最低码字值。然后,值b可基于方程20来参与Lmin=L(Vmin)的确定。在没有偏移量b的情况下,不能保证这种映射:
方程22:
然而,利用方程20可以建立具有一个未知数(参数b)的方程:
方程23:
在方程23中,可以通过优化来确定参数s、t、c、n和m。可以规定码字Vmin和光亮度值Lmin。b的值可以计算如下:
方程24:
基于方程24而不是通过优化来确定参数使得诸如显示器或蓝光播放器的某些系统不传输参数b,因为它可以从参数s、t、c、n和m来计算。可以将方程20的参数s、t、c、n和m传送给接收方。
示例16
在根据本发明原理的一个示例中,可以将包括七个参数的通用EOTF模型的替代形式构造如下:
方程25:
在方程25中,c、m、s、n、t、a、b是参数,并且V是码字。
可以将包括七个参数并且与方程25相对应的通用逆EOTF或OETF模型的替代形式构造如下:
方程26:
方程25中引入的偏移b可以用于修正所述曲线,使得将通常为0的V的最小值映射到预期输出值Lmin。可以通过改变b的值以将输出移动到所需的最小输出值Lmin来实现执行这种映射的能力。同时,可以将通常为1的V的最高值映射到预期输出值Lmax。可以通过改变a的值以将输出移修正至所需范围来实现执行这种映射的能力。
在一个示例中,选择a,使得与参数c、m、s、t和n组合地将输入V=1映射到L(1)=10,000。在一个示例中,将V=1映射到L(1)=1。在一个示例中,将V=1映射到L(1)=4。在一个示例中,选择b,使得与参数c、m、s、t和n组合地将输入V=0映射到L(0)=0。在一个示例中,选择b,使得与参数c、m、s、t和n组合地将输入V=0映射到L(0)=0.001。在一个示例中,选择a=1以将V=1映射到在一个示例中,选择b=0,使得将输入V=0映射到
可以通过优化处理来确定参数s、t、c、n和m的值。也可以通过针对给定曲线进行优化来找到a和b的值。
替代地,a和b的值可以如下计算。Lmin可以是预期显示系统的预期黑电平。应该对这种预期黑电平进行编码的最低码字值可由Vmin给出。Lmax可以是预期显示系统的预期黑电平。应该对这种预期峰值光亮度的最高码字值可以由Vmax给出。那么,由方程25进行的预期映射是:
方程27a:Lmin=L(Vmin)
方程27b:Lmax=L(Vmax)
在没有增益a和偏移b的情况下,不能确保这种映射,即一般来说以下情况属实:
方程28a:
以及
方程28b:
然而,借助于方程25,可以设置具有两个未知数(参数a和b)的两个方程:
方程29a:
方程29b:
在这些方程中,可以通过优化来确定参数s、t、c、n和m。可以规定码字Vmin和Vmax以及预期光亮度值Lmin和Lmax。这允许使用方程29a和29b的L′(Vmin)和L′(Vmax)的定义来计算a和b的值:
方程30:
方程31:
基于最小和最大光亮度L和码字V的值(例如通过上述方程30和31)而不是通过优化来确定参数a和b允许在一些参数不需要传输参数a和b,在所述系统中将一些参数传输到诸如显示器或蓝光播放器之类的接收方,因为它们可以基于参数s、t、c、n和m来计算。
示例17
在根据本发明原理的一个示例中,可以将包括六个参数的通用OETF模型的替代形式构造如下:
方程32
在方程32中,c、m、k、s、n、t是参数,V是码字。
可以将包括六个参数并对应于方程32的通用逆OETF或EOTF模型的替代形式构造如下:
方程33:
反常32中引入的偏移m可以用于修正OETF曲线,使得将L的最小值映射到所需的码字Vmin。同时,L的最大值将映射到所需的输出值Vmax。这是通过改变k的值来将输出修正到所需的范围来实现的。
如果需要归一化输出,则Vmin=0,Vmax=1。在非归一化使用情况下,码字的范围可以通过给定的比特深度来确定,并且可以进一步通过形容词“全部”或“合法”来限定。可以通过为Vmin和Vmax规定适当的值来适应这些范围中的每一个。在一个示例中,10比特全范围在Vmin=0和Vmax=1023之间具有代码值。在一个示例中,10比特合法范围具有在Vmin=64和Vmax=940之间定义的代码值。在一个示例中,12位全范围具有Vmin=0和Vmax=4095之间的值。在一个示例中,8位合法范围具有Vmin=16和Vmax=235之间的值。
可以基于最小和最大光亮度L和码字V来确定参数m和k。参数m和k可以结合示例16如上所述那样类似地计算。除了相应的希望代码值Vmin和Vmax之外,可以规定最小光亮度值Lmin和最大光亮度值Lmax。从方程32得出了两个未知数的两个方程:
方程34a
方程34b
然后,针对参数k和m同时求解这两个方程得到:
方程35
方程36
在方程35和方程36中,V′(1)可以如下确定:
方程37
示例18
在根据本发明原理的一个示例中,可以将包括八个参数的通用EOTF模型的替代形式构造如下:
方程38
在方程38中,c、m、k、s、n、t,a,b是参数,V是码字。
可以将包括八个参数并对应于方程38的通用逆EOTF或OETF模型的替代形式构造如下:
方程39
方程39中引入的偏移量b可以用于修正曲线,使得将通常为0的V的最小值映射到所需的输出值Lmin。可以通过改变b的值来将输出移动到所需的最小输出值Lmin来实现这种映射的能力。同时,将通常为1的V的最高值映射到所需的输出值Lmax。这是通过改变a的值来将输出修正到所需的范围来实现的。同时,参数k和m在方程39中起着与方程38中的参数a和b相同的作用:它们允许将增益k和偏移m应用于方程39的OETF,使得对于Lmin和Lmax之间的输入值的范围,跨越码字的希望范围。
通常通过优化处理来确定参数s、t、c、n、m、k、a和b的值。替代额,可以通过优化来确定参数s、t、c和n,并且类似于示例16,可以通过四个未知数的四个方程的系统同时计算参数m、k、a和b。可以规定所需的最低码字Vmax和最高码字Vmin。类似地,可以存在具有所需的最低可表示光亮度值Lmin和最高可表示光亮度值Lmax的光亮度范围。未知数m、k、a和b的四个方程为:
方程40
方程41
方程42
方程43
可能需要确定的以下信息:光亮度值Li1和Li2以及码字Vi1和Vi2。这些光亮度值和码字必须不同于Lmin、Lmax、Vmin和Vmax,以确保上述四个方程是线性独立的(并且因此允许求解四个未知数m、k、a和b)。原则上,必须保持以下关系:
方程44a Lmin<Li1<Lmax
方程44b Lmin<Li2<Lmax
方程44c Li1≠Li2
方程44d Vmin<Vi1<Vmax
方程44e Vmin<Vi2<Vmax
方程44f Vi1≠Vi2
最后,配对(Li1,Vi1)和(Li2,Vi2)都应该位于所需的曲线上。在可以识别这种配对的使用情况下,可以基于方程40至43来确定参数m、k、a和b。
示例19
在根据本发明原理的一个示例中,可以将包括六个参数的通用OETF模型的替代形式构造如下:
方程45a
方程45b V′(L)=kV(L)+m
这里,s、t、c和n是方程45的通常通过优化来确定的参数,L是输入光亮度值。L可以将输入值的范围规定为(Lmin,Lmax)。然后将方程45a的输出限制到码字范围(V(Lmin),V(Lmax))。可以将所需的码字范围规定为(Vmin,Vmax)。方程45b可以将方程45a的输出映射到所需的码字范围。
(Vmin,Vmax)对可以具有各种代码范围。在一个示例中,所需的码字范围可以是(Vmin,Vmax)=(0,255),并且对应于8比特全范围。在一个示例中,所需的码字范围可以是对应于10比特全范围的(Vmin,Vmax)=(0,1023)。在一个示例中,所需的码字范围可以是对应于10比特合法范围的(Vmin,Vmax)=(64,940)。在一个示例中,所需的码字范围可以是对应于10比特扩展范围的(Vmin,Vmax)=(4,1019)。在一个示例中,所需的码字范围可以是对应于12比特扩展范围的(Vmin,Vmax)=(0,4095)。在一个示例中,所需的码字范围可以是对应于归一化范围的(Vmin,Vmax)=(0,1)。
可以根据规定的最小和最大光亮度值(Lmin,Lmax)以及所需的最小和最大码字值(Vmin,Vmax)来计算参数k和m:
方程46a
方程46b
利用根据方程46a和46b计算的参数k和m,可以对由方程45b产生的信号进行编码和传输。
在传输和解码之后,可以应用逆OETF或EOTF来重构合适的光亮度值。在一个示例中,这样执行如下:
方程47a
方程47b
方程47c L″(L′)=aL′+b
方程47a和47b对应于方程45a和45b的逆,并且使用相同的参数s,t,c,n,m和k。光亮度值L可以组成所述EOTF的输入信号。
在替代示例中,EOTF的应用如下执行:
方程48a
方程48b L″(L′)=aL′+b
方程47a、47b和方程48a之间的差异在于没有反转方程45b的归一化步骤。使用方程48a和48b的原理可能导致在不需要知道参数k和m的过程中应用EOTF的计算较少。使用方程47a和47b允许原始光亮度信号L以更高的准确度逼近。
方程47c和48b表示最终的缩放步骤,其可以用于将重构的光亮度值L′映射到规定的显示范围(L′min,L′max),其可以与方程46a和46b中使用的规定输入范围(Lmin,Lmax)相同。。也可以不同地选择规定的显示范围,例如对应于规定的目标显示器的显示范围。
在方程47c和48b中使用的参数a和b可以根据与方程49中的码字V”相关联的最小和最大码字(Vmin,Vmax)、方程48a中的码字V’以及规定的显示范围(Lmin,Lmax)来计算:
方程49
方程50
输出L”构成可用于显示的信号,或者可以在存储或显示之前用于进一步处理的信号。
在一个示例中,由方程45a、45b、47a/47b和47c描述的过程可以反转,使得可以将L”转换成L而不引入非线性。在一个示例中,由方程45a、45b、48a和48b描述的过程可以反转,使得可以将L”转换为L而不引入非线性。
示例20
根据本发明原理,在使用OETF与一组参数s、t、c、n、m、k、a、b或其子集的所有示例中,可以使用相同的参数来构造相应的EOTF。这确保了在其中通过适当选择的OETF处理光亮度信号并且(可能在编码、传输和解码之后)随后由对应的EOTF处理所得到的信号的系统中,输出光亮度值与输入光亮度紧密匹配。
因此,如果OETF使用的参数与所使用的参数相同,则端到端行为(从光亮度到码字到光亮度,也称为光学-光学传递函数,OOTF或系统伽马)因此是线性的EOTF。
在某些情况下,可能存在非线性的端到端行为。例如,Rec.ITU-R BT 709可以与Rec.ITU-R BT 1886结合地使用,导致非线性端到端的结果。类似地,Philips提出的OETF和EOTF函数彼此不是严格的反转,也可以创建一个非线性的系统伽马。
根据本发明原理,每个示例中的OETF可以用参数s、t、c、n、m、k、a、b或其子集来执行,而对于相应的EOTF,可以规定不同的参数集合s′,t′,c,n′,m′,k′,a′,b′(或其子集)。
在一个示例中,参数s、t、c、n、m、k、a、b可以通过针对Philips OETF的优化来确定。另外,可以通过针对Philips EOTF的优化来确定参数s′,t′,c′,n′,m′,k′,a′,b′。
示例21
在该示例中,本发明原理的一个方面涉及将参数化OETF、EOTF/逆OETF曲线的参数个数从至少五个参数减少到两个参数。
方程1和2的五个参数函数是非凸函数。通过对方程1和2的优化曲线添加特定约束,可以重写这些函数,使得不存在指数或除法。反过来,这提高了找到全局最优的能力,或者至少是更接近全局最优的局部最优。
在一个示例中,示出了两个参数EOTF/逆OETF函数的推导,其中将参数确定为相对于所提出的BBC/NHK EOTF/逆OETF的优化。然而,可以相对于任何一个或多个曲线执行优化。
曲线约束
针对本发明原理的P-EOTF逆OETF进行参数优化的复杂非凸问题提供了一种简化。为了解决这个问题,提供了算法约束以减少优化问题的参数数量。
将最小码字映射到最小可表示光亮度值Lmin。例如,在BBC/NHK提案的场景中,最小可表示的光亮度值等于零(例如,Lmin=0)。
方程2的P-EOTF逆OETF可以扩展偏移Lmin。得到的P-EOTF逆OETF可以写成如下:
方程51
将Lmin=0和V=0代入上述方程(51),结果如下:
方程52 c=-mst
因此,方程51的P-EOTF可以简化如下:
方程53
将最大码字值Vmax映射到最大可表示光亮度值。对最大可表示光亮度值进行归一化;例如,将可表示的光亮度值设定为1(例如,Lmax=1)。对于足够高的光亮度值,可以写下列关系:
方程54
因此,对于最大码字值V,EOTF逆OETF可以如下估计:
方程55
设V=Vmax和L(Vmax)=1得到以下表达式:
方程56 m=Vmax(1+st)-s
因此,对最小和最大的码字值进行映射允许从优化问题中消除两个参数。因此,所提出的EOTF逆OETF或P-EOTF可以写成:
方程57
因此,方程57的P-EOTF或逆OETF只有三个参数,即s、t和n。
由于参数s和t仅在方程57中的乘法中出现,所以可以应用参数改变将参数数减少到两个:
方程58
其中u=st。指数1/n仍然可以使优化算法下降到局部最小值。可以通过优化对数空间来减少风险,即:
方程59a
方程式59a是近似的,因为省略了Lmin。重新引入最小光亮度产生:
方程59b
方程59b表示两个未知变量n和u的函数,这意味着优化算法只对这两个参数进行优化。1/n的除法表示可行结果将要求n大于0。类似地,由Vmax(1+u)-V的除法要求u<1。这些边界可以用作对优化器输出的检查。但是,不需要明确规定所述边界为约束。
优化策略
为了确定参数u和n的值,通过使用参考光亮度/码字对(Li,Vi),i=0,...N的表示来近似参考曲线,其中N=2B-1由可用比特的个数B确定。用这个符号,注意VN=Vmax。光亮度码字对再次表示要匹配的目标曲线。
可以通过对所选择的任何曲线进行采样来确定光亮度/码字对。在一个示例中,这是BBC/NHK EOTF曲线的采样。
利用优化算法确定所选光亮度码字对的参数u和n的值。优化算法评估插入方程59b中的u和n的候选值。然后对码字值Vi评估该等式。这导致应该尽可能接近采样光亮度值Li的一组光亮度值L(Vi)。
可以用诸如平方差(L(Vi)-Li)2的标准度量来评估所得到的两个值L(Vi)和Li之间的误差。标准指标评估针对所有码字值Vi的这种误差,导致以下基于优化公式,其基于方程59b:
方程60a
其中Lmin=L0,Vmax=1和|。|.|p是lp-范数,其中p=1或p=2。方程(60a)中所示的范数计算表示相对于优化所对应的曲线(由(Li,Vi)对的集合表示)P-EOTF的误差(使用当前参数u和n)。所选择的优化算法将使用该误差度量来确定u和n的最优值。方程60a可以如下扩展:
方程60b
其中Lmin=L0和Vmax=1。方程60b中的求和表示优化算法最小化的平均误差。
在一个示例中,保持最大误差得到控制,即使这意味着更大的平均误差。在此示例中,需要最小化以下的最大错误:
方程60c
在另一个示例中,均值和最大误差都被合并为加权平均值。该示例为需要均值和最大误差之间的折衷的情况提供了一个优点。在此示例中,需要最小化以下成本函数:
方程60d
其中a>0和b>0是确定均值和最大误差类型的相对重要性的两个权重。
加权数据点
在另一个示例中,通过将不均匀的权重添加到每个数据点(Li;Vi)的评估中,可以更精确地控制优化本发明原理的P-EOTF逆OETF曲线的结果。这允许将更少或更多的权重提供给某些光亮度、码字数据点;例如,它允许为暗值提供更高的权重。
例如,可以对靠近黑点的光亮度、码字数据点值(即,Li和Vi的低值)赋予额外的权重。该示例可以由以下公式表示:
方程61a
在另一个示例中,可以修正方程61a以包括对最大误差的评估:
方程61b
对于两个方程61a和61b,ai,i∈[1..N]是一组权重,一个用于N个数据点(Li,Vi)中的每一个。
多目标曲线
可能需要针对多于一个目标曲线优化本发明的P-OETF逆OETF。例如,可以针对现有的高动态范围EOTF优化本发明原理的P-EOTF、逆OETF曲线,以在扩展的光亮度范围内获得所需的行为。为了创建一个新的P-EOTF,具有足够的向后兼容性的逆OETF曲线,本发明原理的相同P-EOTF逆OETF曲线也可以与当前的标准曲线(例如,ITU-RRec.BT1886)同时优化。
本发明原理的一个方面提供了克服P-OETF逆OETF针对两条或多条曲线优化的情况的缺点。特别地,针对要优化的每个曲线可以定义光亮度/码字对的集合,并且最终优化可以被公式化为针对要优化的所有曲线获得的误差的加权平均值。
例如,在一个示例中,为了在高动态范围能力以及向后标准兼容性之间找到适当的权衡,定义了两组光亮度/码字对:
方程62
方程式62定义了两组光亮度/码字对,用于两个目标EOTF中的每一个的一组。在该示例中,第一组光亮度/码字对表示目标EOTF,例如由BBC/NHK定义的EOTF,并且可以由N1+1个光亮度/码字对组成。第二组光亮度/码字对表示不同的目标EOTF,例如由ITU-R推荐BT.1886定义的EOTF,并且可以具有N2+1对可以使用上述“优化策略”一节中描述的技术来生成两组光亮度/码字对。为了确定P-EOTF的参数u和n,可以将方程59中定义的逆EOTF表达如下:
方程63a
中a>0和b>0是确定两个曲线贡献的相对重要性的两个权重。代替平均误差,也可以使用lp-范数的最大误差:
方程63b
虽然等式63a-63b示出了两条曲线的示例,但是该方法可以扩展到任何数量的曲线。例如,下面说明了J个所需曲线的优化:
方程64a
方程64a的公式可与以下最大误差组合使用,这在最大误差更多地表示所得到的P-EOTF的希望性能比平均误差的情况下可能是有用的:
参数
在一个示例中,可以根据本发明原理优化上述方程1和2的通用参数化OETF、EOTF函数的优化。例如,方程59b的参数化曲线可以针对所提出的BBC/NHK EOTF进行优化,得到以下参数:
方程65a u=1.2961604455878200
方程65b n=0.4820036148084646
方程65c Vmax=2.0009775171065494
方程65d Lmin=0.0
基于方程65a-d的参数,可以通过应用以下等式来确定参数s、t、c、n和m:
方程66a s=1.0
方程66b t=u
方程66c n=n
方程66d Vmax(1+st)-s
方程66e c=-mst
对于上述65a-65d方程,可以得出以下参数:
方程67a s=1.0
方程67b t=1.2961604455878200
方程67c n=0.4820036148084646
方程67d m=3.5945654272905836
方程67e c=-4.6591335259315354
将方程67a-67d中定义的参数值应用于方程1和2产生的OETF和EOTF曲线可以在10比特和11比特情况下运行。10比特情况下的峰值光亮度约为1214尼特,而11比特情况下的峰值光亮度为10,000尼特。
OETF和EOTF的输入和输出需要进行缩放,这取决于使用这些OETF和EOTF。这允许这些OETF和EOTF曲线用作绝对曲线或作为相对曲线。
作为示例,10比特OETF/EOTF对曲线将与绝对值一起使用。OETF曲线的输入光亮度值的范围为L∈[0,1214]。因此,OETF曲线的输出需要缩放以产生0到1023之间的码字。这导致一对比例因子,其中Lscale=10000和Vscale=1023。
使用方程67a-e的参数,则P-OETF曲线由下式给出:
方程68
相应的P-EOTF曲线由下式给出:
方程69
方程68和69的OETF和EOTF曲线可以与归一化的输入和输出值一起使用。这需要将参数Lscale和Vscale调整为:
方程70a:Lscale=10000/1214=8.2372
方程70b:Vscale=1023/1023=1
端到端伽玛
在方程1和2中给出的曲线以及方程68和69中的曲线是彼此的真正的逆。也就是说,如果线性光通过方程1,则可以通过应用方程1/然后是等式2来再现线性光。因此,系统的行为是线性的:方程的输入1接近于方程2的输出。换句话说,系统是线性的。
然而,内容制作方(例如工作室)通常在比可用于消费者的环境照明更暗的照明下进行彩色分级图像。因此,本发明原理的一个方面可能需要提供具有非线性行为的参数化OETF、EOTF/逆OETF曲线。这通过将γ函数应用于EOTF的输出、方程2中的逆OETF曲线或方程69中来进行最有效地模拟,从而产生以下EOTF曲线:
方程71
注意,对于方程69需要Lmin=0,从而从方程71中省略该参数。因此在这种情况下,可以使用方程68的OETF曲线,条件是Lmin=0。
在一个示例中,例如在消费者家中观看视频的示例,γ的值可以是1.2。在另一个示例中,例如在高动态范围显示装置上在消费者家中观看视频时,γ的值可以是1.4。应用这个额外的伽马值的计算成本为零,因为γ/n评估为不同于1/n的常数。
本发明原理的一个示例允许OETF和EOTF基于合适的参数设置表示为参数化曲线。参数化曲线的参数设置允许从各种现有OETF和EOTF中选择OETF/EOTF对。
本发明原理的示例允许其他参数,本发明原理的OETF/EOTF曲线与不同光亮度范围和比特深度的Barten对比度灵敏度模型匹配。因此,可以容易地导出一系列有意义的曲线。
本发明原理的一个示例包括在某些参数设置下是幂等的Naka-Rushton方程的新形式。
本发明原理的另一个示例允许用有意义的参数表示单个曲线,并且允许用于HDR和SDR视频的统一表示。
本发明原理的另一个示例允许发送一小组参数以引导信号重建而不是发送LUT或全曲线。
本发明原理的另一示例允许对某些SDR目标显示设备省略对EOTF的应用的解码。通过提出的OETF的编码可以作为适当的色调映射或色调再现算子。
本发明原理的另一个示例允许提出的参数化传递函数以避免市场分裂,并通过在单个的通用自适应和参数化OETF/EOTF模型下协调不同的OETF/EOTF来提高互操作性和可实现性。
本发明原理的另一示例允许所提出的参数化传递函数映射到所需的输出光亮度,包括所需的最小黑电平光亮度和最大峰值光亮度。
本发明原理的另一个示例提供了通过将参数化OETF、EOTF/逆OETF曲线的参数减少到两个参数来优化OETF、EOTF/逆OETF曲线与任何其它曲线的能力。两个参数OETF、EOTF/逆OETF曲线导致了凸的目标函数。这使得优化这些函数不太容易产生局部最小值,因此提高了匹配的质量。可以直接实现双参数曲线。包含两个约束不仅减少了参数的数量并提高了匹配的质量,而且还将曲线上的两个重要点固定到所需的值(例如,最小和最大光亮度值)。例如,最低值码字(码字0)可以固定为规定的黑电平,这意味着保证最低可表示的光亮度是如规定的那样。在另一示例中,最高码字与规定的白点相关联,由此导致确保可表示的高光亮度。
本发明原理的另一个实例提供了针对特定曲线优化的能力,例如BBC/NHK EOTF曲线。例如,根据BBC/NHK EOTF曲线的本发明原理的优化曲线唯一地允许将0和1214比特之间的输入范围直接量化为10比特信号,同时允许0和10,000之间的输入范围尼特直接量化为11比特信号,而不需要对曲线进行其他修改。因此,曲线可以在10比特模式下运行,目前的基础设施支持高达1200比特的信号。至关重要的是,没有进一步的改变,这条曲线将适用于能够支持11比特的将来基础设施可以达到10,000比特以上的超高动态范围信号。此外,可以使用所提出的OETF以10比特模式对信号进行编码。如果该信号然后传输到使用ITU-RRec.BT 1886定义的显示设备EOTF操作的传统显示设备。
因此,这种显示器将产生可见的图像。最后,提起的EOTF可以增加系统伽玛,以允许母带与家庭观看环境之间观看条件的差异。重要的是,添加系统伽马的计算成本是零。
上述示例可以在下面描述的附图中实现。
图1是描绘在捕获和分配系统中使用OETF对图像进行编码的示例性方法100的图。在该方法100中,可以使用任何编码技术(例如,HEVC、AVC)将画面接收并编码为比特流。方法100可以在基于DVB或ATSC标准的分发工作流程、生产或创作工作流程、数字摄像机中执行。
在一个示例中,方法100包括在框101处接收画面。画面可以是图像(画面)或视频图像或画面,例如用于HDR视频。块101可以接收与画面属性有关的信息,包括线性光RGB信息。可以使用三色相机将画面捕获到由三个分量(红色、绿色和蓝色)组成的RGB颜色值。RGB颜色值取决于传感器的三色特性(颜色原色)。画面可以包括图像侧信息,例如传感器的颜色原色、所捕获场景的最大和最小光亮度峰值。然后,块101可以将控制权传递给块102,包括提供与接收到的画面有关的任何信息。
块102可以将OETF应用于在块101处接收的画面。块102可以将OETF应用于画面的光亮度L信号以确定V(L),其中V(L)可以是所得到的电信号或码字。光亮度L信号可以是根据本发明原理描述的类型中的任何一种。V(L)信号可以是根据本发明原理描述的任何类型的信号。可以将OETF应用于接收画面的每个像素的光亮度,以确定接收画面的每个像素的V(L)。例如,框102可以将OETF应用于接收画面的每个像素的初始RGB值,以计算接收画面的每个像素的新R′G′B值。结果可能是由R′G′B′像素构成的R′G′B′画面。然后,当考虑传统的非恒定光亮度工作流程时,所得到的R′G′B′画面可以从R′G′B′画面转换为Y′CbCr画面。根据用于推导它的光亮度工作流,Y′CbCr信号称作恒定光亮度或非恒定光亮度。Y′CbCr是直接从R′G′B′(非线性光原色)导出的非恒定光亮度信号,而当通过Y从RGB(线性光原色)导出时,它是恒定的光亮度信号和Y′R′B′用于色度或色度分量。以前的国际电联建议(用于模拟HDTV信号的ITU-R BT.709和用于数字HDTV信号的ITU-R BT.1361)限于非恒定光亮度工作流程。新的ITU-R BT.2020定义了宽色域视频信号的光亮度工作流程。替代地,块102可以将OETF应用于接收画面的每个像素的初始Y值,以计算接收画面的每个像素的新Y′值(恒定光亮度工作流程)。因此,块102可以优化用于人类视觉的捕获光信息。块102然后可以将控制传递给框103。
块103可以对所接收的V(L)信号进行编码。在一个示例中,块103可以根据任何现有的编码/解码标准对V(L)信号进行编码。例如,块103可以根据由国际电信(ITU)和组织运动画面专家组(MPEG)组织的高效率视频编码(HEVC)标准进行编码。替代地,框103可以根据由国际标准化组织/国际电工委员会(ISO/IEC)运动画面专家组组织的H.264或MPEG-4第10部分高级视频编码(MPEG-4AVC)进行编码-4(MPEG-4)。替代地,块103可以用任何其他已知的编码技术进行编码。块103然后可以将控制权传递给块104。块104可以输出所得到的比特流(例如,HEVC比特流)。
图2是描绘根据本发明原理使用参数化OETF对画面进行编码的示例性方法200的图。在一个示例中,方法200包括块201。块201可以接收用于自适应OETF曲线选择的参数。在一个示例中,块201可以接收一个或多个参数的值,所述参数允许自适应选择最适合于被编码的内容的OETF曲线。在一个示例中,块201可以接收多个参数(例如,上述参数(s,t,c,m,n))的值。在另一示例中,块201可以接收与可能需要对当前内容进行编码的某个OETF曲线对应的一组固定参数的标识(例如,指示符)。参数可以是根据本发明原理讨论的任何参数。块201然后可以将控制权传递给块202。
块202可以基于从框201接收的参数来建模OETF曲线(例如,Barten曲线、SMPTE ST2084 OETF、BBC OETF)。例如,块202可以基于接收到的参数来建立Barten OETF曲线。替代地,块202可以对与Dolby提出的OETF曲线类似性能的SMPTE ST 2084 OETF进行建模。替代地,块202可以对与BBC提出的OETF曲线性能类似的OETF曲线进行建模。替代地,块202可以类似于其他现有或将来的提议来对OETF进行建模。块202可以从框201接收参数,并且可以基于这些参数产生OETF曲线。在一个示例中,块202可以将参数应用于通用OETF模型(例如,上述模型,包括方程1、4、8-10、68),以便模仿或模拟任多个OETF曲线(例如,标准OETF曲线提案或自定义OETF曲线)的何一个行为。因此,取决于所接收的参数,块202可以仅使用通用OETF模型中的一个来有利地对任何OETF曲线的行为进行建模。在一个示例中,块202可将所得到的OETF曲线编码为查找表(LUT)。可以从OETF公式的列表值导出LUT,然后如果LUT不存在则可以内插中间值。内插可以是线性的。在另一示例中,内插可以是非线性的。块202然后可以将控制权传递给框204。
方法200还可以包括块203,其可以接收例如用于HDR视频的画面,诸如视频图像帧。然后,块203可以将控制权传递给框204。
框204可以从框203接收来自框203的画面和建模的OETF曲线(例如,可以由LUT表示)。框204可以从框203将OETF应用于接收到的画面,以确定V(L)根据本发明原理,包括结合图1描述的原理,V(L)可以是来自光亮度信号L的变换的结果电信号。V(L)可以是码字。V(L)可以根据本文所述的原理来定义。块204可以根据结合图1讨论的原理确定V(L)。例如,框204可以应用在框202建模的OETF曲线,包括上述任何方程(例如,方程1、4、8-10、68)。OETF曲线可以基于应用于上述任何等式的接收参数来表示(例如,方程1、4、8-10、68)。块204可以根据本发明原理应用OETF曲线以确定作为RGB值的线性组合的绝对或相对修改的光亮度/RGB值或修改光亮度Y。在一个示例中,块204可以使用如上所述的LUT来应用OETF曲线。然后,框204可以将控制权传递给框205。
块205可以对从块204接收的V(L)进行编码。块205可以根据结合图1所讨论的原理对修正的V(L)进行编码。然后,块205可以将控制权传递给块207。
方法200还可以包括框206。块206可以直接编码表示建模的OETF曲线的参数或者编码参数的指示符(例如索引)。例如,块206可以对接收的参数值进行编码(例如,参数(s,t,c,m,n)的参数值)。替代地,块206可以对于预定义的一组接收参数值相对应的预定义指示符(例如,在SEI消息中)进行编码。然后,框206可以将控制权传递给框207。
块207可以从框205输出包括经编码的已修正光亮度画面的比特流和来自块206的编码参数标识。块207可以将从块206接收的编码参数插入比特流。例如,框207可将经编码的指示符插入预定义的语义结构(例如,进入SEI消息或PPS,或SPS或VUI...)。
图3是描绘根据本发明原理对参数化OETF的参数进行编码的示例性方法300的图。方法300提供了根据本发明原理对参数语义元素进行编码的过程。方法300包括块301。
块301可以接收标识OETF曲线的参数(例如,自定义OETF,从Barten对比度灵敏度函数、SMPTE ST 2084 OETF、BBC OETF得出的调制传递函数)。参数可以是根据本发明原理讨论的任何参数。为了本编码的目的,块301可以接收代表建模曲线的信息类型(参数的显式编码或代表固定参数的指示符的编码)的信息。块301然后可以将控制传递到框302。
然后,框302可以确定如何定义OETF模型参数。块302可以在框301处确定是否预定义了识别的OETF的参数(例如,参数(s,t,c,m,n))。在一个示例中,块302可以确定所识别的OETF曲线是否具有已知参数(例如,sctmn已知)=指示符(意味着参数是预定义的)或者框302可以确定是否显式地给出参数(sctmn))。在一个示例中,框302可以确定是否存在指示参数是预定义的指示符(例如,参数是针对特定参数集预先定义的),还是需要显式地用信号发送参数。如果框302确定参数是预定义的,则它可以将控制传递给框303.替代地,如果框302确定参数未被预定义,则它可以将控制传递给框305。
块303可以识别由块301识别的OETF模型的参数信息(例如,指示符)。例如,块303可以标识对应于所识别的OETF模型的预定义参数的指示符(例如,指示用于建模行为的参数的指标Barten曲线、SMPTE ST 2084 OETF,BBC OETF等)。因此,块303可以编码参数的隐式标识。块303可以将控制传递给块304。
块304可以将参数信息编码为比特流。例如,块304可以对识别OETF模型的预定参数的指示符进行编码。块304可以将控制传递给框308。
框305可以确定所识别的OETF曲线的参数。例如,框305可以标识以上方程1、4、8-10、68的参数(例如,参数(s,t,c,m,n))。然后,块305可以将控制权传递给框306。
块306可以量化由框305确定的参数。块306可以量化参数,因为从方程导出的参数值可以是浮点。在这种情况下,所述值必须量化以便可以只接受整数值(例如,AVC、HEVC)的比特流来传送以利用解码器处理架构。块306然后可以将控制权传递给框307。
框307可以对所确定的参数进行编码。例如,框307可以对明确确定的参数的值进行编码。替代地,块307可以对识别OETF模型的确定的参数的指示符进行编码。
块308可以将编码数据插入比特流。在一个示例中,块308可以使用从块304或307接收的编码参数来填充元数据格式(例如,SEI参数)。
图4是描绘用于例如在分配和渲染系统中使用EOTF或逆OETF对编码画面进行解码的示例性方法400的图。在该方法400中,可以使用任何解码技术(例如,HEVC,AVC)来接收和解码编码比特流。方法400可以由移动设备;通信设备;游戏设备;平板(或平板电脑);笔记本电脑;静止画面照相机;摄像机;解码芯片;静止画面服务器;蓝光播放器;和视频服务器(例如,广播服务器,视频点播服务器或Web服务器)执行。方法400也可以在任何其他装置或类似系统中执行。
方法400包括块401。块401可以接收与编码画面的视频序列或编码画面相对应的比特流。比特流可以被编码(例如,使用基于AVC,HEVC等编码)。在一个示例中,编码画面可以是已经被编码的压缩画面(例如,使用JPEG,AVC,HEVC编码器)。在另一示例中,经编码的画面可以是经数字化或量化的画面而不进行压缩,并且块401可以将控制传递给块403。块401然后可以将控制传递给块402。
块402可以对从块401接收的比特流进行解码。在一个示例中,块402可以使用基于HEVC的解码对比特流进行解码。在一个示例中,块402可以对编码画面进行解码。在一个示例中,框402可以对Y′CbCr画面进行解码。然后,块402可以从Y′CbCr画面导出R1′G1′B1′画面。在另一示例中,块402可以对R1′G1′B1′画面进行解码。然后,块402可以将控制权传递给块403。
然后,块403可以将第一EOTF(EOTF1)或第一逆OETF(OETF1)应用于表示从块402中的比特流解码的画面的V(L)信号。V(L)可以根据现在与此相关的原则。在一个示例中,可以将EOTF1或逆OETF1应用于每个像素。在一个示例中,EOTF1或逆OETF1可以应用于每个像素的Y′值。在一个示例中,EOTF1或逆OETF1可以被应用于每个像素的R1′G1′B1′。所得到的画面可以被称为第一线性化光亮度画面(例如,R1G1B1画面或YR1B1画面)。在一个示例中,可以通过用列表值创建查找表(LUT)(例如,基于等式2、3、5、6或69)来执行EOTF1或逆OETF1,然后将LUT应用于要映射/解映射的内容。
然后,块403可以将控制权传递到可选块404。可选地,可以对从块403接收的第一线性化光亮度图执行可选块404。块404可以将第一线性化光亮度画面1转换为画面2。在一个示例中,块404可将画面R1G1B1转换为画面R2G2B2。画面2可以在由渲染器的颜色基色确定的颜色空间中表示(例如,SMPTE RP 177描述如何用渲染器的原色计算该转换,并且结果在BT.709,BT.2020等中给出)。然后,框404可以将OETF2或逆EOTF2应用于画面2.结果可以是与渲染器的能力一致的渲染画面2。然后,框404可以将控制权传递给框405。
如果执行了框404,则块405可以从块404输出渲染画面2,或者如果未执行块404,则从块403输出线性化光亮度画面。在一个示例中,块405可以将画面输出到显示图像和/或包含图像的视频的图像处理管线。图5是示出根据本发明原理解码参数化EOTF或逆参数化OETF的参数的示例性方法500的图。方法500提供了根据本发明原理对参数语义元素进行解码的过程。参数可以是根据本发明原理讨论的任何参数。方法500包括块501。
块501可以接收与视频序列相对应的比特流。对接收的比特流进行编码(例如,使用AVC、HEVC等编码)。然后,框502可以将控制传递到框502。
块502可以解析并解码从块501接收的比特流。在一个示例中,块502可以使用基于HEVC的解码来分析和解码比特流。然后,块502可以将控制权传递给块503和504。
块503可以在块502中从解码的比特流确定EOTF或逆OETF参数。在一个示例中,参数(s,t,c,m,n)基于包含在比特流中的语义(例如,SEI消息)。块503然后可以将控制权传递给块505。
块504可以处理在块502中解码的视频信号。在一个示例中,块504可以处理解码的Y′CbCr视频信号。在一个示例中,块504可以将Y′CbCr视频信号转换为R′G′B′视频信号。在另一示例中,块504可以处理R′G′B′视频信号。然后,框504可以将控制传递给框505。
然后,框505可以基于从框503接收的参数,从块504向视频信号V(L)应用EOTF或逆OETF。可以根据本文所描述的本发明原理来定义V(L)。在一个示例中,块505可以将来自R′G′B′的视频信号转换成线性光RGB。在一个示例中,块505可以基于等式应用EOTF或逆EOTF。在一个示例中,块505可以创建具有列表值的查找表(LUT)(例如,基于方程2、3、5、6或69)和然后将LUT应用于要映射/解映射的内容。
图6是示出根据本发明原理使用参数化OETF对画面进行编码的示例性方案600的图。图6包括提供画面的框601。在一个示例中,画面可以是RGB线性光照片。在另一示例中,画面可以是YRB画面。块602根据本发明原理为参数化的OETF提供参数(例如,(s,t,c,n,m))。块602可以生成参数化的OETF。根据本文所述的原理,框603可以基于来自块602的参数将参数化的OETF应用于从块601接收的画面,包括结合图1-3。在一个示例中,块603的结果可以是在框604处产生的V(L)电信号。在一个示例中,V(L)可以是R′G′B′画面。在另一示例中,V(L)可以是Y′CbCr画面。方案600可以包括可选的转换器605,其可以将R′G′B′画面转换为Y′CbCr画面。可以将转换器605的输出提供给视频编码器606(例如,HEVC编码器)。在框607处,编码器606可对画面进行编码并输出比特流。
图7是描绘根据本发明原理使用参数化EOTF或逆OETF对编码画面进行解码的示例性方案700的图。图7包括解码器701,其可以根据本发明原理在框702处对参数化的EOTF(或逆OETF)的参数进行解码和输出。解码器701还可以在框703进一步解码并输出解码画面。在一个示例中,画面可以是Y′CbCr画面。在另一示例中,画面可以是R′G′B′画面。可选择的转换器704可以将Y′CbCr画面转换为R′G′B′画面并在块705输出R′G′B′画面。块706可以基于包括结合图1-3根据上述原理的块702接收的参数,将参数化的EOTF(或逆OETF)应用于来自方框705的画面。块706可以在框707输出所得到的线性化画面。在一个示例中,线性化光画面可以是线性光RGB画面。在另一示例中,线性化光画面可以是线性光YRB画面。
图8表示可配置为实现与图1-7相关的方法的设备800的示例性架构。在一个示例中,图8表示可以配置为实现根据本发明原理的编码方法的装置,包括结合图1-图3描述的原理。在一个示例中,图8表示可以配置为实现根据本发明原理的解码方法的装置,包括结合图4至图5和图7描述的原理。
设备800包括通过数据和地址总线801连接在一起的以下元件:
-微处理器802(或CPU),例如是DSP(或数字信号处理器);
-ROM(或只读存储器)803;
-RAM(或随机存取存储器)804;
-用于例如从用户接口设备接收和传输数据的I/O接口805;
-电池806(或其他合适的电源);以及
-显示器807。
根据一个变体,电池806在设备的外部。在所提及的每个存储器中,在说明书中使用的单词“寄存器”可以对应于小容量(一些位)或非常大的区域(例如整个程序或大量的接收或解码的数据)的区域。ROM 803至少包括程序和参数。根据本发明的方法的算法存储在ROM803中。当接通时,CPU802将程序上传到RAM中并执行相应的指令。
RAM 804在寄存器中包括由CPU802执行并且在接通设备800之后被上传的的程序、寄存器中的输入数据、寄存器中的方法的不同状态的中间数据以及用于在寄存器中执行方法的其他变量。
本文描述的实现方式可以在例如方法或过程、装置、软件程序、数据流或信号中实现。即使仅在单一实现形式的场景中讨论(例如,仅作为方法或设备讨论),所讨论的功能的实现也可以以其他形式(例如程序)来实现。一种装置可以在例如适当的硬件、软件和固件中实现。这些方法可以在例如诸如处理器的装置中实现,所述装置通常涉及处理装置,包括例如计算机、微处理器、集成电路或可编程逻辑装置。处理器还包括通信设备,例如计算机、蜂窝电话、便携式/个人数字助理(“PDA”)以及便于终端用户之间的信息通信的其他设备。
根据编码或编码器的具体示例,从源获得图像I或画面I。例如,所述源属于包括以下内容的集合:
-本地存储器(803或804),例如视频存储器或RAM(或随机存取存储器)、闪速存储器、ROM(或只读存储器),硬盘;
-存储接口(805),例如与大容量存储器、RAM、闪速存储器、ROM、光盘或磁性支架的接口;
-通信接口(805),例如有线接口(例如总线接口,广域网接口,局域网接口)或无线接口(例如IEEE 802.11接口或蓝牙接口);以及
-图像捕获电路(例如,诸如例如CCD(或电荷耦合器件)或CMOS(或互补金属氧化物半导体)的传感器)。
根据解码或解码器的不同实施例,将经过解码的图像发送到目的地;具体来说,目的地属于一组,包括:
-本地存储器(803或804),例如视频存储器或RAM、闪存、硬盘;
-存储接口(805),例如与大容量存储器、RAM、闪速存储器、ROM、光盘或磁性支架的接口;
-通信接口(805),例如有线接口(例如,总线接口(例如USB(或通用串行总线))、广域网接口、局域网接口/HDMI(高清多媒体接口)接口)或无线接口IEEE 802.11接口/Wi-Fi或接口);以及
-显示器(807)。
根据编码或编码器的不同示例,将比特流BF和/或F发送到目的地。作为示例,比特流F和BF之一或两个比特流F和BF中的一个存储在本地或远程存储器中,例如视频存储器(804)或RAM(804)、硬盘(803)。在一个变体中,将一个或两个比特流发送到存储接口(805),例如与大容量存储器、闪速存储器、ROM、光盘或磁性支架的接口和/或通过通信接口(805)传输的接口,例如点对点链路的接口、通信总线、点对多点链路或广播网络。
根据解码或解码器的不同示例,从源获得比特流BF和/或F。示例性地,从本地存储器读取比特流,例如视频存储器(804)、RAM(804)、ROM(803)、闪速存储器(803)或硬盘(803)。在一个变体中,从存储接口(805)接收比特流,例如与大容量存储器、RAM、ROM、闪速存储器、光盘或磁性支架的接口和/或从通信接口(805)接收的接口,例如点对点链路、总线、点对多点链路或广播网络的接口。
根据不同的示例,配置为实现根据本发明原理的编码方法的设备800属于包括以下内容的集合:
-移动设备;
-通信设备;
-游戏设备;
-平板(或平板电脑);
-笔记本电脑;
-静态图像相机;
-摄像机;
-编码芯片;
-静止图像服务器;以及
-视频服务器(例如广播服务器、视频点播服务器或网络服务器)。
根据不同的示例,配置为实现根据本发明原理的解码方法的设备800属于包括以下内容的集合:
-移动设备;
-通信设备;
-游戏设备;
-机顶盒;
-电视机
-平板(或平板计算机);
-膝上计算机;
-显示器,以及
-解码芯片
图9示出了相对于其它现有OETF曲线的根据本发明原理(标记为TCH)的参数化OETF的性能结果的曲线的示例。可以基于方程来确定所述曲线。X轴与画面的归一化光亮度值有关。Y轴与比特流的归一化码字值相关。
图10A示出了相对于SMPTE ST 2084 OETF曲线的根据本发明原理(标记为TCH)的参数化OETF的结果的性能的曲线的示例。可以基于以上的方程1来确定所述曲线。X轴与画面的归一化光亮度有关。Y轴与比特流的归一化码字值相关。
图10B示出了相对于Barten MTF曲线的根据本发明原理(标记为TCH)的参数化OETF的结果的性能的曲线的示例。可以基于以上的方程1来确定所述曲线。X轴与画面的归一化光亮度有关。Y轴与比特流的归一化码字值相关。图10B还包括用于参数的查找表。
图10C示出了相对于BBC OETF曲线的根据本发明原理(标记为TCH)的参数化OETF的结果的性能的曲线图。可以基于以上的方程1来确定所述曲线。X轴与画面的归一化光亮度有关。Y轴与比特流的归一化码字值相关。图10C还包括用于参数的查找表。
图10A、10B和10C另外示出了用于产生标记为TCH的曲线的参数s、t、c、n和m的值。此外,这些图示出了这些参数值作为整数比的近似值。
图11A示出了相对于SMPTE ST 2084 OETF曲线的根据本发明原理(标记为TCH)的参数化EOTF(或逆OETF)的结果的性能的曲线的示例。可以基于以上的方程2来确定所述曲线。X轴与比特流的归一化码字值有关。Y轴与画面的标准化光亮度有关。
图11B示出了相对于Barten MTF曲线的根据本发明原理(标记为TCH)的参数化EOTF(或逆OETF)的结果的性能的曲线的示例。可以基于以上的方程2来确定所述曲线。X轴与比特流的归一化码字值有关。Y轴与画面的标准化光亮度有关。
图11C示出了相对于BBC OETF曲线的根据本发明原理(标记为TCH)的参数化EOTF(或逆OETF)的结果的性能的曲线的示例。可以基于以上的方程2来确定所述曲线。X轴与比特流的归一化码字值有关。Y轴与画面的标准化光亮度有关。
图11A、11B和11C另外示出了用于产生标记为TCH的曲线的参数s、t、c、n和m的值。此外,这些图示出了这些参数值作为整数比的近似值。
图12A示出了相对于SMPTE ST 2084 OETF曲线的根据本发明原理(标记为TCH)的参数化OETF的结果的曲线的示例。可以基于四个参数的以上方程4来确定所述曲线。X轴与画面的归一化光亮度有关。Y轴与比特流的归一化码字值相关。
图12B示出了相对于Barten MTF曲线的根据本发明原理(标记为TCH)的参数化OETF的结果的性能的曲线的示例。可以基于四个参数的以上方程4来确定所述曲线。X轴与画面的归一化光亮度有关。Y轴与比特流的归一化码字值相关。
图12C示出了相对于BBC OETF曲线的根据本发明原理(标记为TCH)的参数化OETF的结果的性能的曲线的示例。可以基于四个参数的以上方程4来确定所述曲线。X轴与画面的归一化光亮度有关。Y轴与比特流的归一化码字值相关。
图12A、12B和12C另外示出了用于产生标记为TCH的曲线的参数s、t、c、n和m的值。此外,这些图示出了这些参数值作为整数比的近似值。
图13A示出了相对于SMPTE ST 2084 OETF曲线的根据本发明原理(标记为TCH)的参数化EOTF(或逆OETF)的结果的性能的曲线图。可以基于四个参数的以上方程6来确定所述曲线。X轴与比特流的归一化码字值有关。Y轴属于画面的归一化光亮度。
图13B示出了相对于Barten MTF曲线的根据本发明原理(标记为TCH)的参数化EOTF(或逆OETF)的结果的性能的曲线图。可以基于四个参数的以上方程6来确定所述曲线。X轴与比特流的归一化码字值有关。Y轴属于画面的归一化光亮度。
图13C示出了相对于BBC OETF曲线的根据本发明原理(标记为TCH)的参数化EOTF(或逆OETF)的结果的性能的曲线的示例。可以基于四个参数的以上方程6来确定所述曲线。X轴与比特流的归一化码字值有关。Y轴属于画面的归一化光亮度。
图13A、13B和13C另外示出了用于产生标记为TCH的曲线的参数s、t、c、n和m的值。此外,这些图示出了这些参数值作为整数比的近似值。
本文描述的各种过程和特征的实现可以体现在各种不同的设备或应用中。这种设备的示例包括编码器、解码器、来自解码器的后处理器处理输出,向编码器提供输入的预处理器、视频编码器、视频解码器、视频编解码器、网络服务器、机顶盒、笔记本电脑、个人计算机、手机、PDA和其他通信设备。应该清楚,设备可能是移动的,甚至安装在移动车辆中。
另外,这些方法可以由处理器执行的指令来实现,并且这样的指令(和/或由实现产生的数据值)可以存储在处理器可读介质上,例如集成电路、软件载体或其他存储设备,例如硬盘、小型软盘(“CD”)、光盘(例如,通常称为数字通用盘或数字视频盘)、随机存取存储器(“RAM”)或只读存储器(“ROM”)。指令可以形成有形地体现在处理器可读介质上的应用程序。说明可以是例如硬件、固件、软件或组合。说明可以在例如操作系统、单独的应用程序或两者的组合中找到。因此,处理器可以被表征,因此例如配置为执行处理的设备和包括具有用于执行处理的指令的处理器可读介质(诸如存储设备)的设备。此外,处理器可读介质可以存储除了指示或代替指令,由实现产生的数据值。
如本领域技术人员显而易见的,实施方式可以产生格式化为携带可能例如存储或传输的信息的各种信号。该信息可以包括例如用于执行方法的指令,或者由所描述的实现之一产生的数据。例如,信号可以被格式化以作为数据携带用于写入或读取所描述示例的语义的规则,或者作为数据携带由所描述的示例写入的实际语义值。这样的信号可以被格式化为例如电磁波(例如,使用频谱的射频部分)或作为基带信号。格式化可以包括例如对数据流进行编码和使用编码数据流调制载波。信号携带的信息可以是例如模拟或数字信息。信号可以通过各种不同的有线或无线链路传输,如已知的。信号可以存储在处理器可读介质上。
已经描述了许多实现。然而,应当理解,可以进行各种修改。例如,可以组合、补充、修改或删除不同实现的元素以产生其他实现。此外,普通技术人员将理解,其他结构和过程可以替代所公开的结构和过程,并且所得到的实现将以至少基本上相同的方式执行至少基本上相同的功能,以实现至少与所公开的实施方式基本相同的结果。因此,这些和其他实施方案被本申请考虑。
本文已经阐述了许多具体细节以提供对本发明的透彻理解。然而,本领域技术人员将理解,上述实施例可以在没有这些具体细节的情况下实施。在其他情况下,没有详细描述公知的操作、部件和电路,以免混淆本发明。可以理解,本文公开的特定结构和功能细节可以是代表性的,并不一定限制本发明的范围。
可以使用硬件元件、软件元件或两者的组合来实现本发明的各种示例。可以实现一些示例,例如使用可以存储指令或一组指令的计算机可读介质或物品,所述指令或一组指令如果由机器执行可以使机器执行方法和/或按照的示例。这样的机器可以包括例如任何合适的处理平台、计算平台、计算设备、处理设备、计算系统、处理系统、计算机、处理器等,并且可以使用硬件和/或软件。计算机可读介质或物品可以包括例如任何合适类型的存储单元、存储设备、存储器物品、存储介质、存储设备、存储物品、存储介质和/或存储单元。指令可以包括任何合适类型的代码,例如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码、加密代码等,使用任何合适的高级、低级别对象面向对象、视觉、编译和/或解释的编程语言。
本文描述的实现方式可以在例如方法或过程、装置、软件程序、数据流或信号中实现。即使仅在单个实现形式的场景中讨论(例如,仅作为方法讨论),所讨论的特征的实现也可以以其他形式(例如,设备或程序)来实现。包括在其中的装置和组件,例如处理器、编码器和解码器,可以在例如适当的硬件、软件和固件中实现。这些方法可以在例如诸如处理器的装置中实现,所述装置通常涉及处理装置,包括例如计算机、微处理器、集成电路或可编程逻辑装置。处理器还包括通信设备,例如计算机、蜂窝电话、便携式/个人数字助理(“PDA”)以及便于终端用户之间的信息通信的其他设备。
此外,本申请或其权利要求可以指“确定”各种信息。确定信息可以包括例如估计信息、计算信息、预测信息或从存储器检索信息中的一个或多个。
此外,本申请或其权利要求可以指“访问”各种信息。访问信息可以包括例如接收信息、检索信息(例如,从存储器)、存储信息、处理信息、发送信息、移动信息、复制信息、擦除信息中的一个或多个信息、计算信息、确定信息、预测信息或估计信息。
此外,该应用或其权利要求可以指“接收”各种信息。正如“访问”一样,接收是一个广义的术语。接收信息可以包括例如访问信息或检索信息(例如,从存储器)中的一个或多个。此外,在接收操作中,例如存储信息、处理信息、发送信息、移动信息、复制信息、擦除信息、计算信息、通常以某种方式涉及“接收”、确定信息、预测信息或估计信息。
根据不同的实施例,在根据本发明的编码或解码的画面中或在包括画面的流中,用参数化的传递函数用信号发送。在一些实施例中,在画面或包括画面的流中用信号发送表示参数化传递函数的信息。该信息由解码方法或解码器用于识别根据本发明应用的参数化传递函数。在一个实施例中,该信息包括在编码和解码侧已知的标识符。根据其他实施例,该信息包括用作参数化传送函数的基础的参数。根据本发明的变型,该信息基于一组定义的值,包括画面中的参数或包括画面的比特流的指示符。根据本发明的变体,该信息包括基于参数是显式地发信号还是基于一组定义的值隐式地发送参数的指示。根据本发明的不同变体,该信息被包括在包括在画面参数集(PPS)、序列参数集(SPS)、补充增强信息(SEI)消息、视频可用性信息(VUI),消费电子协会(CEA)消息和报头中的至少一个中的至少一个语义元素中。
根据本发明的不同实施例,对所得到的V(L)进行编码包括使用例如JPEG、AVC或HEVC压缩标准用画面或视频编码器压缩V(L)。在应用参数化传递函数之前,解码包括对接收到的画面的对应的逆压缩。
根据本发明的不同实施例,对所得到的V(L)进行编码包括数字化或量化得到的V(L)。在应用参数化传递函数之前,解码包括对接收到的画面的对应的逆压缩。
本发明还涉及用于分别执行上述编码和解码方法的上述编码和解码装置。