用于图像/视频处理的线性编码器的制作方法

文档序号:22557588发布日期:2020-10-17 02:42阅读:427来源:国知局
用于图像/视频处理的线性编码器的制作方法

相关申请的交叉引用

本专利申请要求2018年2月28日提交的美国临时专利申请序列no.62/636,388、以及2018年2月28日提交的欧洲专利申请序列no.18159055.5的优先权权益,每个申请通过引用以其整体并入本文。

本公开总体上涉及图像/视频。更具体地,本公开涉及用于图像/视频处理的线性编码器。



背景技术:

如本文所使用的,术语“动态范围(dr)”可以涉及人类视觉系统(hvs)感知图像中的强度(例如光亮度(luminance)、亮度(luma))范围(例如,从最暗的黑色(深色)到最亮的白色(高亮))的能力。从这个意义上说,dr涉及“场景参考”的强度。dr还可以涉及显示设备充分地或近似地渲染特定广度的强度范围的能力。从这个意义上说,dr涉及“显示器参考”的强度。除非在本文的描述中的任何点明确地指定特定意义具有特定的含义(significance),否则应当推断该术语可以在任一意义上(例如,可互换地)使用。

如本文所使用的,术语“高动态范围(hdr)”涉及跨越人类视觉系统(hvs)的大约14-15或更多数量级的dr广度。在实践中,人类可以在其上同时感知强度范围中的广泛宽度的dr可以相对于hdr稍微被截断。如本文所使用的,术语“增强动态范围(edr)或视觉动态范围(vdr)”可以单独或可互换地涉及在场景或图像中能够由包括眼移动在内的人类视觉系统(hvs)感知的dr,允许跨场景或图像的一些光适性改变。如本文所使用的,edr可以涉及跨越5到6个数量级的dr。因此,虽然相对于真正场景参考的hdr可能稍微较窄,但edr仍然表示宽dr广度,并也可以被称为hdr。如本文所使用的,术语“idm”(“逆显示映射信号”的缩写)也可以指基于输入标准动态范围(sdr)信号创建的edr或hdr信号。

在实践中,图像包括一个或多个颜色分量(例如,亮度y以及色度cb和cr),其中每个颜色分量由每像素n位的精度(例如,n=8或n=10)表示。使用线性光亮度编码,例如,n≤8或有时n≤10的图像(例如,彩色24位jpeg图像)被视为标准动态范围的图像,而n>8的图像可被视为增强动态范围的图像。

给定显示器的参考电光传递函数(eotf)表征输入视频信号的颜色值(例如,光亮度)与由显示器产生的输出屏幕颜色值(例如,屏幕光亮度)之间的关系。例如,iturec.itu-rbt.1886,“referenceelectro-opticaltransferfunctionforflatpaneldisplaysusedinhdtvstudioproduction”(2011年3月)(其通过引用以其整体并入本文),定义了基于阴极射线管(crt)的测量特性的平板显示器的参考eotf。给定视频流,关于其eotf的信息通常作为元数据嵌入在位流中。如本文所使用的,术语“元数据”涉及作为编码的位流的一部分被传输并辅助解码器渲染解码的图像的任何辅助信息。这种元数据可以包括但不限于如本文所描述的颜色空间或色域信息、参考显示参数和辅助信号参数,以及其他类型的元数据。

大多数消费者桌面显示器目前支持200到300cd/m2或尼特的光亮度。大多数消费者hdtv的范围从300到500尼特,新型号达到1000尼特(cd/m2)。因此,这种常规显示器代表相对于hdr或edr的较低动态范围(ldr),也被称为标准动态范围(sdr)。hdr内容可以显示在支持较高动态范围(例如,从1,000尼特到5,000尼特或更高)的hdr显示器上。这种显示器可以使用支持高光亮度能力(例如,0到10,000尼特)的替代eotf来定义。smptest2084:2014“highdynamicrangeeotfofmasteringreferencedisplays”(其通过引用以其整体并入本文)中定义了此eotf的示例。总体上,非限制性地,本公开文本的方法涉及高于sdr的任何动态范围。



技术实现要素:

本发明的第一方面涉及一种利用处理系统生成亮度和/或色度整形元数据的方法,所述方法包括:接收包含第一动态范围中的图像的输入视频流,所述第一动态范围中的图像包括第一图像;接收表示输入视频流的第一图像的第二图像,第二图像具有第二动态范围,其中,第二动态范围高于第一动态范围;获得第一图像和第二图像的统计数据,其中,获得的统计数据包括第一图像和第二图像的光亮度统计和色度统计,以及将统计数据存储在缓冲器中。所述方法还包括:在第一时间延迟处,基于包括第一图像、输入视频流中在时间上处于第一图像之后(after)的一个或多个前视(lookahead)图像,以及输入视频流中在时间上处于第一图像之前(before)的一个或多个后视(lookback)图像的第一滑动窗口(l3)中的统计数据确定场景切换数据;在第二时间延迟处,基于第二滑动窗口(l2)中的统计数据和所确定的场景切换数据,确定用于将第一图像的光亮度值从第一动态范围映射到第二动态范围的第一映射函数;在第三时间延迟处,基于所述第一映射函数和第三滑动窗口(l1)中所确定的场景切换数据,通过对第一映射函数执行平滑操作,确定第二映射函数;在所第三时间延迟处,基于第三滑动窗口(l1)中的统计数据和所确定的场景切换数据,确定用于将第一图像的色度值从第一动态范围映射到第二动态范围的第三映射函数;以及在第三时间延迟处,基于第二映射函数和第三映射函数,生成第一图像的合成器元数据,其中,生成的合成器元数据由目标显示设备用来将第一图像从第一动态范围映射到第二动态范围以供显示。

“滑动窗口”基本上是指一组图像帧,并且基于这种滑动窗口中的图像的统计数据执行各种处理步骤。具体地,第一滑动窗口(l3)包括第一时间延迟处的第一图像、输入视频流中在时间上处于第一图像之后的一个或多个前视图像,以及输入视频流中在时间上处于第一图像之前的一个或多个后视图像。第二滑动窗口(l2)包括第二时间延迟处的第二图像、输入视频流中在时间上处于第二图像之后的一个或多个前视图像,以及输入视频流中在时间上处于第二图像之前的一个或多个后视图像。第三滑动窗口(l1)包括第三时间延迟处的第三图像、输入视频流中在时间上处于第三图像之后的一个或多个前视图像,以及输入视频流中在时间上处于第三图像之前的一个或多个后视图像。

每个滑动窗口可以实现为环形存储缓冲器,用于存储先前滑动窗口生成的输出。环形存储缓冲器将始终仅包括连续的输出数据流的“窗口”。

注意,“时间延迟”是指基于帧的时间尺度中的延迟,并且与数据依赖性相关。可以在一个时间帧中执行多个操作(包括连续操作),并且在下一个“时间延迟”之前处理多个帧。实际上,特别地选择下一个时间延迟,使得可以完成先前的操作。具体地,所需的时间延迟必须至少等于特定滑动窗口中“前视”帧的数量。

一个时间延迟处的处理可以至少部分地基于来自较早时间延迟处的处理的结果。例如,第二时间延迟和第三时间延迟处的处理(使用第二滑动窗口和第三滑动窗口)可以基于使用第一滑动窗口在第一时间延迟处确定的场景切换数据。这种场景切换数据可以用于定义较小的“子窗口”,以便在处理中使用该较小的窗口中的图像的数据。

附图说明

在附图中以举例而非限制的方式来说明本发明的实施例,其中,相似的附图标记指示相似的元件。

图1示出了根据实施例的用于使用整形技术进行数据编码和解码的示例过程。

图2示出了根据实施例的用于编码的示例过程。

图3示出了根据实施例的用于在具有或不具有参考edr的情况下进行编码的示例过程。

图4示出了根据实施例的用于线性编码的三级滑动窗口框架的示例性架构。

图5a至图5b示出了根据一些实施例的用于图4的三级滑动窗口框架的示例过程。

图6示出了根据实施例的用于图5a至图5b的三级滑动窗口框架的示例环形缓冲器结构。

图7是示出根据一个或多个实施例的方法的流程图。

图8示出了根据实施例的具有参考edr的示例性编码器的框图。

图9是示出根据一个或多个实施例的方法的流程图。

图10是示出根据一个或多个实施例的方法的流程图。

图11示出了根据实施例的不具有参考edr的示例性编码器的框图。

图12是示出根据一个或多个实施例的方法的流程图。

图13示出了根据实施例的使用dm滑动窗口估计dm统计的示例过程。

图14示出了可用于实施或执行本文描述的一个或多个实施例的数据处理系统的示例。

示例实施例描述

将参照下文所讨论的细节描述本发明的各种实施例和各方面,并且附图将对各种实施例进行说明。以下描述和附图是对本发明的说明并且不应被解释为限制本发明。描述了许多特定细节以提供对本发明的各种实施例的充分理解。然而,在某些情况下,未对公知或常规细节进行描述,以提供对本发明的实施例的简明讨论。

本说明书的描述中,“一个实施例(oneembodiment)”或“实施例(anembodiment)”等描述意指结合实施例描述的特定特征、结构或特性可以包括在本发明的至少一个实施例中。在本说明书中,短语“在一个实施例中(inoneembodiment)”在各个地方的出现不一定都是指同一实施例。下图中描绘的过程由包括硬件(例如,电路、专用逻辑等)、软件或二者的组合的处理逻辑来执行。虽然下面按照一些顺序操作描述了所述过程,但是应该了解,可以按不同的顺序执行所描述的操作中的一些操作。而且,可以并行地而非顺序地执行一些操作。

如本文所使用的,术语“pdf”是指概率分布函数(probabilitydistributionfunction)。“cdf”是指累积分布函数(cumulativedistributionfunction)。可以分别基于sdr或hdr图像中的一个或多个中的码字的分布构建sdr或hdr直方图,并且直方图可以表示pdf。“码字”是指表示彩色像素或灰度像素的位信息序列。例如,“00000000”可以表示8位码字的像素颜色黑色。“码字(codeword)仓”或“仓(bin)”是指预定义码字序列或集合中的特定码字。如本文所使用的术语“pq”是指感知光亮度幅度量化。人类视觉系统以极非线性的方式对增加的光水平(lightlevel)作出响应。人类看到刺激物的能力受到以下因素的影响:刺激物的光亮度、刺激物的大小、构成刺激物的空间频率以及眼睛在观看刺激物的特定时刻已适应的光亮度水平。在一个实施例中,感知量化器函数将线性输入灰度级映射到更好地匹配人类视觉系统中的对比度敏感度阈值的输出灰度级。smptest2084:2014“highdynamicrangeeotfofmasteringreferencedisplays”(其通过引用以其整体并入本文)中描述了pq映射函数的示例,在给定固定刺激物大小的情况下,对于每个光亮度水平(即,刺激水平),根据最敏感的适应水平和最敏感的空间频率(根据hvs模型)来选择该光亮度水平处的最小可见对比度步长(step)。与表示物理阴极射线管(crt)设备的响应曲线并且巧合地可以与人类视觉系统作出响应的方式具有非常粗略的相似性的传统伽玛曲线相比,pq曲线使用相对简单的函数模型模仿人类视觉系统的真实视觉反应。

例如,根据smptest2084,在1cd/m2下,一个12位代码值或码字对应于大约0.0048cd/m2的相对变化;然而,在1,000cd/m2下,一个12位代码值或码字对应于大约2.24cd/m2的相对变化。需要这种非线性量化来适应人类视觉系统(hvs)的非线性对比度敏感度。

根据一些实施例,公开了一种用于生成元数据的线性编码器,所述元数据针对亮度和色度分量指定sdr到hdr转换映射。在一个实施例中,系统接收输入视频流。该系统随时间在第一缓冲器中存储输入视频流的第一组相继部分的统计数据,第一缓冲器用于为每个连续部分提供表示场景切换数据的输出,例如指示内容中一个场景的结束和内容中下一个场景的开始的数据。系统随时间在第二缓冲器中存储输入视频流的第二组相继部分的统计数据,第二缓冲器接收从第一缓冲器提供的每个输出,第二缓冲器用于为每个相继部分提供表示光亮度映射值的输出。系统随时间在第三缓冲器中存储输入视频流的第三组相继部分的统计数据,第三缓冲器接收从第二缓冲器提供的每个输出,第三缓冲器用于为每个相继部分提供表示色度映射值的输出。系统基于相关联的光亮度映射值和相关联的色度映射值生成输入视频流中的第一图像的元数据,元数据由目标显示器用来基于第一图像生成具有比第一图像的动态范围高的第二图像。

根据一些实施例,公开了一种用于生成元数据的线性编码器,所述元数据针对具有edr参考的亮度和色度分量指定sdr到hdr转换映射。在一个实施例中,系统接收包含第一动态范围中的图像的输入视频流,所述第一动态范围中的图像包括第一图像。系统接收表示输入视频流的第一图像的第二图像,第二图像具有第二动态范围,并且第二动态范围高于第一动态范围。系统获得第一图像和第二图像的统计数据。系统在第一时间延迟处从表示输入视频流中的图像的数据中确定场景切换数据,并将场景切换数据存储在第一滑动窗口中,场景切换数据基于第一图像的统计数据、输入视频流中在时间上处于第一图像之后的一个或多个前视图像的统计数据以及输入视频流中在时间上处于第一图像之前的一个或多个后视图像的统计数据来确定。系统在第二时间延迟处基于第二滑动窗口和所确定的场景切换数据确定用于将第一图像的光亮度值从第一动态范围映射到第二动态范围的第一映射函数。系统在第三时间延迟处基于第三滑动窗口和所确定的场景切换数据确定用于将第一图像的色度值从第一动态范围映射到第二动态范围的第二映射函数。系统在第三时间延迟处基于第一映射函数和第二映射函数生成第一图像的合成器元数据,其中,生成的合成器元数据由目标显示设备用来将第一图像从第一动态范围映射到第二动态范围以供显示。

根据一些实施例,公开了一种用于生成元数据的线性编码器,所述元数据使用三维(3d)映射统计针对亮度和色度分量指定sdr到hdr转换映射。在一个实施例中,系统接收具有一组图像的输入视频流,所述一组图像包括第一动态范围中的第一图像。系统生成针对第一动态范围中的第一图像和与第一图像对应的第二动态范围中的第二图像的3d映射统计,其中,第二动态范围高于第一动态范围。系统基于3d映射统计确定多变量多元回归(mmr)统计,以生成色度映射函数以基于第一图像估计第二图像的色度通道值。系统生成合成器元数据,其中,合成器元数据可以包括色度映射函数,色度映射函数由目标显示设备用来将第一图像的色度通道从第一动态范围映射到第二动态范围以供显示。

根据一些实施例,公开了一种用于生成元数据的线性编码器,所述元数据针对不具有edr参考的亮度和色度分量指定sdr到hdr转换映射。在一个实施例中,系统接收包含第一动态范围中的图像的输入视频流,所述第一动态范围中的图像包括第一图像。系统获得输入视频流的第一图像的统计数据,其中,统计数据包括来自第一图像的一个或多个图像相关特征。系统在第一时间延迟处,基于第一图像的统计数据、输入视频流中在时间上处于第一图像之后的一个或多个前视图像的统计数据以及输入视频流中在时间上处于第一图像之前的一个或多个后视图像的统计数据,从表示输入视频流中的图像的数据中确定场景切换数据,并将场景切换数据存储在第一滑动窗口中。系统在第二时间延迟处基于第二滑动窗口和机器学习模型确定用于将第一图像的光亮度值从第一动态范围映射到第二动态范围的第一映射函数,其中,第二动态范围高于第一动态范围。系统在第三时间延迟处基于第一映射函数和第二映射函数生成第一图像的合成器元数据,其中,第二映射函数基于机器学习模型将第一图像的色度颜色通道从第一动态范围映射到第二动态范围,其中,生成的合成器元数据由目标显示设备用来显示第二动态范围中的与第一图像对应的第二图像。

如本文所使用的,术语“整形(reshaping)”是指对hdr图像进行预处理操作(比如缩放、量化等),以将其从其原始位深度映射到较低或相同位深度的图像,从而允许使用现有编码标准和设备进行更有效的编码。“反向整形(backwardreshaping)”用于描述从sdr到hdr的映射或预处理操作。如本发明人在此理解的,期望用于对视频数据进行编码和解码的改进技术,该技术可以用于支持各种sdr和hdr显示和/或解码器设备的显示能力。

示例视频输送处理流水线

当前,用于视频输送的大多数数字接口,例如串行数字接口(sdi),限制为每部件每像素12位。此外,压缩标准(如h.264(或avc)和h.265(或hevc))的大多数实际实施方式目前限于每部件每像素10位。在现有基础设施和压缩标准内,需要高效编码和/或量化来支持动态范围从大约0.001到10,000cd/m2(或尼特)的hdr内容。此外,需要将为每个帧动态地生成用于将sdr内容转换成hdr内容的元数据的编码器。

图1描绘了根据实施例的用于使用亮度和色度整形进行数据编码和解码的示例过程100。在一个实施例中,在编码器100-e中,视频序列可以在高动态范围(edr,102)格式和标准动态范围(sdr,104)格式下可用。可以根据某一eotf(例如,伽玛、st2084)对输入102进行编码。在实施例中,可以使用逆映射过程(idm)140,基于sdr序列生成edr序列(本文也称为idmedr)。

给定输入edr和sdr信号,可以应用亮度整形105-a和色度整形105-b过程生成针对反向或逆向整形函数120的参数108。当参数108被应用于解码器中的sdr输入时,可以生成hdr输出以供显示。

在整形105之后,原始输入sdr视频信号104被传递到编码块110,以用于向下游输送到解码和回放设备(诸如智能电话等手持设备、电视机、机顶盒、电影院等)。在一些实施例中,编码块110可以包括音频和视频编码器(诸如由atsc、dvb、dvd、蓝光和其他输送格式定义那些),以生成编码的位流112。编码数据112和反向整形参数108可以多路复用成编码的位流,以存储或输送到下游解码设备。

在实施例中,反向整形参数108可以包括静态预测系数或动态(非静态)预测系数(例如,利用机器学习方法等生成的)。接收器100-d可以直接使用这些预测系数(例如,由逆向整形函数120),以从sdr图像104的对应sdr像素值预测hdr图像的hdr像素值中的一些或全部hdr像素值。

在接收器100-d中,编码数据112可以由解码单元115解码,以生成解码信号117,以表示sdr信号104的相同或接近逼近。

在向后兼容的sdr解码器中,解码信号117可以直接显示到sdr显示器130。在hdr解码器中,在解码115之后,解码信号117可以由使用接收的反向整形参数108生成的反向或逆向整形函数120处理。逆向整形可以将接收的sdr信号(例如,sdr信号117)转换成(较高)动态范围信号102的逼近(approximation),以在hdr显示器125上显示。逆向整形可以包括单独的逆向亮度整形120-a和色度整形120-b函数。根据整形器105的变换,逆向整形函数120还可以包括附加(逆向)过程,如逆色调映射、颜色变换等。在一些实施例中,反向或逆向整形函数120可以与解码器115中的去量化器集成,例如,作为avc或hevc视频解码器中的去量化器的一部分。在一些实施例中,可以使用元数据、sei消息等将关于反向整形参数108的信息传送至下游设备(如解码器)。亮度和色度整形以及合成器元数据

如本文所使用的,术语“合成器元数据(composermetadata,cm)”表示从编码器(100-e)传送至解码器(100-d)以支持edr数据(122)的重建(合成)的任何元数据。这种元数据可以包括解码器中的逆向或反向整形(120)所需的所有反向整形参数(108)。

令fl(i)表示正向亮度整形函数,并令表示其逆函数,当该逆函数应用于解码器sdr数据117的亮度分量时,可以生成估计的edr输出122的亮度分量122_l。在实施例中,函数可以作为分段函数进行传送。这种函数可以完全由以下各项表示:a)将sdr输入中的输入码字的范围划分成多个段的一组枢轴点(pivotpoint);b)每个段中的多项式的阶数;以及c)每个段中的多项式系数。

在实施例中,可以使用多变量多元回归(mmr)预测器来执行色度整形。这种mmr预测器的示例可以在美国专利号8,811,490中找到,该专利通过引用以其整体并入本文。这种预测器由反向整形矩阵m来表征,当该反向整形矩阵m应用于解码的sdr数据117时,生成估计的edr输出的色度分量122_c。

因此,在实施例中,合成器元数据108可以包括但不限于的参数表示和反向整形矩阵m。可以在不同的时间间隔水平上更新合成器元数据,例如:每个序列一次、每个场景一次、每个帧一次、或帧簇或帧组一次。

在一些实施例中,生成器105通过基于累积分布函数(cdf)的直方图逼近或cdf匹配生成元数据或反向整形参数。这种cdf匹配的示例可以在美国临时专利申请序列号62/385,307,“codingofhighdynamicrangevideousingsegment-basedreshaping”中找到,该申请通过引用以其整体并入本文。

在一个实施例中,反向整形函数(或参数)包括反向整形查找表(blut)。在一些实施例中,定义或指定反向整形函数{tj,b}的反向整形数据(例如,分析函数、非分析函数、查找表、序列等),可以作为与sdr图像一起输送到下游设备的图像元数据的一部分而包括在内。

在一些实施例中,二阶分段多项式可以用于表示针对亮度通道的反向整形函数{tj,b}。在一些实施例中,反向整形元数据包括多项式系数、枢轴、偏移等,其定义了多项式段的集合,可以作为与sdr图像一起输送到下游设备的图像元数据的一部分而包括在内。

接收sdr图像和反向整形参数或元数据的下游设备可以使用反向整形元数据,以每个场景(当元数据以每个场景为基础时)或每个图像(当元数据基于每个图像时)为基础,确定或重建反向整形函数。然后,可以将反向整形函数应用于sdr图像以重建hdr图像。

在一个实施例中,每个颜色通道(i、ct或cp)可以由(单通道)预测器来逼近。在一个实施例中,每个单通道预测器与可以从特定颜色通道的对应逆映射函数导出的反向整形查找表(blut)相对应。逆映射函数或反向整形函数可以由反向整形函数生成器(比如图1的生成器105)生成。反向整形查找表或映射表可以包括sdr/hdr对,以将sdr码字映射到hdr码字,反之亦然。在一个实施例中,基于查找表或映射表生成元数据,使得元数据可以与sdr数据一起传输到下游解码器。下游解码器可以从元数据和对应sdr图像重建hdr图像。在另一个实施例中,可以通过聚合数据库中图片的样本的每个颜色通道的直方图来生成反向整形函数。然后,聚合的直方图可以用作基于cdf的直方图逼近的输入idm直方图,以生成反向整形函数。然后,可以从这些反向整形函数生成元数据。元数据可以应用于相应的(一个或多个)sdr图像以重建hdr图像。

线性编码

图2示出了根据实施例的用于线性编码的示例过程。线性编码是指具有恒定馈入和馈出的编码。线性编码器可以在每次接受输入数据时输送输出数据。线性编码器不同于这样的编码系统,其随时间的推移接受整个输入数据,存储和处理整个接收的输入数据,以输送整个数据的输出。在一些情况下,线性编码器包括输入帧与相应的输出帧之间的恒定但可配置的延迟。例如,在稳定的操作状态下,线性编码器可以接受输入图像,并且同时输出先前时间帧的另一个输入图像的rpu元数据(例如,合成器元数据和dm元数据,其中dm元数据包括特定于目标显示器的信息)。在一个实施例中,线性编码器可以接收来自实时现场广播的实时输入数据馈送,并提供延迟的输出。

线性编码可以执行“即时(on-the-fly)”编码以生成参考图片单元(rpu)(例如,包括反向整形参数)元数据,以在解码器处将sdr转换成hdr(或edr)。线性编码器可以对预先存储的或实时的标准动态范围(sdr)视频内容进行编码。与基于场景或基于片段的编码器(在这样的编码器中,未来图片信息是可用的)不同,线性编码器仅可具有几个前视帧。由线性编码器即时进行rpu生成,并且rpu在它被传输到接收器/解码器之前与sdr位流混合。换句话说,线性编码器可以是单程(one-pass)解决方案。

图3示出了根据实施例的用于具有或不具有参考edr图像的线性编码的示例过程。过程300包括两种操作模式。根据一些实施例,线性编码器303可以在“具有hdr参考”模式或“不具有hdr参考”模式下操作,并根据输入301是否包括hdr参考图像或输入301是否为空输入来配置其操作模式。对于“具有hdr参考”模式,输入sdr帧(或图像)302和其对应的参考hdr帧301一起生成输出rpu元数据304。参考hdr内容301可以针对每个输入sdr帧预先生成,或例如使用外部逆dm(eidm)模块即时生成。生成的输出rpu元数据304可以包括用于将sdr输入302的亮度和色度分量映射到hdr内容301的动态映射参数。

对于“不具有hdr参考”模式,仅输入sdr帧(或图像)302用于生成输出rpu元数据304。生成的输出rpu元数据304可以包括用于将sdr输入302的亮度分量映射到hdr内容301的动态映射参数以及用于将sdr输入302的色度分量映射到hdr内容301的静态映射参数。在一些实施例中,输出rpu元数据304可以包括显示管理(dm)元数据,其可以由解码器解译以针对特定目标显示器显示hdr内容。

线性编码架构

图4示出了根据实施例的用于线性编码的三级滑动窗口框架的示例性架构。架构400可以由“具有hdr参考”和“不具有hdr参考”两种模式使用。在一些实施例中,架构400包括一个或多个级别的滑动窗口结构,例如如图4所示的l1、l2和l3窗口。滑动窗口结构可以由环形缓冲器(或队列)数据存储实现,以存储sdr/hdr输入帧(或图像)的帧级(frame-level)统计。在一个实施例中,当将新数据插入至滑动窗口的任何存储缓冲器中时,滑动窗口的存储缓冲器中的最旧(oldest)数据被替换。每个滑动窗口的数据可以传递到下一级滑动窗口,以计算针对下一级滑动窗口的统计数据。例如,参考图4,架构400包括l1、l2和l3窗口。当架构400在时间t接收到新的输入帧(例如,当前输入帧)时,可以使用滑动窗口操作(如平均运算或加权线性/非线性运算),针对时间t-t3的帧,计算l3帧级统计,其中,t3表示与l3窗口相关联的延迟。该输出将用作l2窗口在时间t-t3的统计数据(例如,输入至l2窗口)。

来自l3窗口的输出插入到l2窗口中。基于插入的l3输出数据,计算时间t-t2-t3的l2帧级统计,其中,t2表示与l2窗口相关联的延迟。l2窗口的输出将用作l1窗口在时间t-t2-t3的统计数据(例如,输入至l1窗口)。

来自l2窗口的输出插入到l1窗口中。基于插入的l2输出数据,计算时间t-t1-t2-t3的l1帧级统计,其中,t1表示与l1窗口相关联的延迟。该输出将用作在时间t-t1-t2-t3的代表性统计数据(例如,最终输出数据)。基于此三级窗口架构,输出数据的总等待时间延迟为t1+t2+t3。如上所述,l1、l2和l3窗口可以是环形缓冲器,使得当新数据插入任一个窗口时,来自该窗口的最旧数据被替换或废弃。以这种方式,每个缓冲器随时间存储输入视频流的相继部分的统计数据,并基于该相继部分向下一个缓冲器提供输出,以在稍后的某个时间生成最终输出数据。

图5a示出了根据实施例的图4的三级滑动窗口框架的示例过程。过程500可以由例如图3的编码器303等的线性编码器来执行。过程500或处理逻辑可以,以一帧入(one-frame-in)一帧出(one-frame-out)的方式在具有或不具有hdr参考的情况下,从sdr帧即时生成rpu(合成器和dm)元数据。在一个实施例中,处理逻辑包括针对帧处理的四个步骤。在步骤1中,在时间t,处理逻辑在统计环形缓冲器502中收集当前输入帧501的统计。统计环形缓冲器502可以存储一系列先前帧的统计数据。在步骤2中,处理逻辑使用存储的统计数据确定场景切换数据,该场景切换数据识别第一帧(时间=处的帧)是否包括新场景。处理逻辑可以使用l3窗口503确定场景切换数据。l3窗口503可以对应于的第一帧、作为“前视”帧的帧、以及作为“后视”帧的帧。场景切换数据可以由后续窗口(如l2和l1窗口)使用,以进行进一步的帧处理。

在步骤3中,处理逻辑执行cdf匹配操作,以生成第二帧(处的帧)的亮度通道的blut。另外地,使用l2窗口504对与第二帧(处的帧)相对应的生成的blut执行平滑操作。l2窗口504可以对应于第二帧作为“前视”帧的帧、以及作为“后视”帧的帧。在生成的blut用作l1窗口的统计数据(例如,输入至l1窗口)之前,处理逻辑针对l2平滑范围(例如,与l2窗口相对应的帧的子集)对生成的blut执行平滑操作。

在步骤4中,处理逻辑可以使用l1窗口(505)对与第三帧相对应的先前生成的blut执行平滑操作。l1窗口(505)可以对应于第三帧作为“前视”帧的帧、以及作为“后视”帧的帧。在将平滑的blut转换成逼近分段多项式之前,处理逻辑可以针对l1平滑范围(例如,l1窗口相对应的帧的子集)对先前生成的blut执行平滑操作。另外地,处理逻辑求解mmr系数,以将第三帧的色度分量从sdr映射到hdr。然后,色度通道的mmr系数与亮度通道的平滑的blut(被转换成分段多项式)一起用于生成当前输出结果,例如,对应于第三帧的输出rpu元数据(506)中的输出结果。

如上所述,每一级操作包括使用来自一系列帧的统计数据生成下一级的中间输出的滑动窗口。例如,l3滑动窗口可以使用第一帧及其相邻帧的统计数据生成后续l2滑动窗口的输出。l2滑动窗口可以使用来自第二帧及其相邻帧的统计数据生成后续l1滑动窗口的输出。l1滑动窗口可以使用来自第三帧及其相邻帧的统计数据生成输出rpu元数据。在任何情况下,处理逻辑可以接收当前输入帧,同时生成先前存储的帧的rpu元数据。然后,在后续处理周期中处理当前输入帧的rpu元数据。以这种方式,可以以一输入一输出的方式处理输入帧。然而,由于在生成当前输入帧的输出rpu元数据之前需要处理一些未来帧,因此处理当前输入帧有恒定的延迟(等于来自级别中的每个级别的“前视”帧的总数)。图5b示出了根据实施例的图4的三级滑动窗口框架的示例过程。参考图5b,过程550具有与l1、l2和l3滑动窗口的“前视”帧的延迟相对应的总延迟。也就是说,延迟仅由“前视”帧引入,因为这些未来帧需要在生成当前帧的元数据之前进行处理。

图6示出了根据实施例的用于图5a的三级滑动窗口框架的示例性环形缓冲器结构。如上所述,环形缓冲器结构600可以包括统计窗口601和三个级别的l3、l2和l1滑动窗口602-604,以保持输入帧序列的即时统计。在一些实施例中,窗口是环形存储缓冲器。这些缓冲器可以具有恒定的大小,使得在每个处理周期之后,重新使用分配给较旧的帧数据的存储器,或替换数据。缓冲器在概念上类似于先进先出(fifo)队列,并且可以被设计成以环形方式更新,使得新的统计替换缓冲器中最旧的统计。然而,缓冲器长度需要预先确定,以避免缓冲器溢出(overflow)。

对于l3、l2和l1窗口602-604,它们的环形缓冲器长度(或大小)可以是每个窗口的两个端点之间的差。l3、l2和l1窗口602-604的最小缓冲器长度可以基于场景检测的平滑范围要求和/或最小长度帧要求预先确定。

可以根据每个窗口的前视帧和后视帧的数量计算统计窗口(或统计环形缓冲器)601的最小长度(或大小)(由ηbuf表示),例如,其中,p∈{a,b}和q∈{1,2,3}分别表示l1、l2和l3窗口的后视长度和前视长度。参考图6,在一个实施例中,统计环形缓冲器601的最小长度为:

在此,向环形缓冲器长度分配一个附加空间,以存储某些统计中的累积和(cumulativesum)。另外,由于这些数据以环形方式存储(即用新值替换最旧的值),因此可以使用模数学(modulomath)来确定特定帧统计在统计环形缓冲器或滑动窗口环形缓冲器中的位置。在一些实施例中,统计环形缓冲器601和l3、l2和l1窗口环形缓冲器602-604可以是循环列表、集合、类对象和/或环绕式计数器。

图7是图示根据一个或多个实施例的方法的流程图。方法或过程700可以由处理逻辑来执行,所述处理逻辑可以包括软件、硬件或其组合。例如,过程700可以由图3的编码器303执行。参考图7,在框701处,处理逻辑接收输入视频流。在框702处,处理逻辑随时间在第一缓冲器中存储输入视频流的第一组相继部分的统计数据,第一缓冲器用于为每个相继部分提供表示场景切换数据的输出。在框703处,处理逻辑随时间在第二缓冲器中存储输入视频流的第二组相继部分的统计数据,第二缓冲器接收从第一缓冲器提供的每个输出,第二缓冲器用于为每个相继部分提供表示光亮度映射值的输出。在框704处,处理逻辑随时间在第三缓冲器中存储输入视频流的第三组相继部分的统计数据,第三缓冲器接收从第二缓冲器提供的每个输出,第三缓冲器用于为每个相继部分提供表示色度映射值和平滑光亮度映射值的输出。在框705处,处理逻辑基于相关联的平滑光亮度映射值和相关联的色度映射值生成输入视频流中的第一图像的元数据,所述元数据由目标显示器用来基于第一图像生成具有比第一图像的动态范围高的第二图像。在一些实施例中,非暂态机器可读介质存储有指令,所述指令由显示管理系统执行时,使所述系统执行如方法700所述的方法。在一些实施例中,包括存储器和处理系统的显示管理系统被配置成执行如方法700所述的方法。

具有参考edr

图8示出了根据实施例的具有参考edr的示例性编码器的框图。编码器800可以是例如图3的编码器303等的编码器。编码器800可以,以一帧入一帧出的方式在具有hdr参考的情况下,从视频流的sdr帧即时生成rpu(合成器和dm)元数据。在一个实施例中,编码器800包括,例如eidm803、统计采集804、场景切换检测(l3)805、亮度blut生成(l2)806、亮度blut平滑(l1)807、多项式逼近(l1)808和色度mmr估计(l1)809等模块。eidm803可以使用sdr输入帧801即时生成hdr参考帧802。统计采集804可以收集关于sdr和hdr帧801-802的统计。场景切换检测(l3)805可以确定标识输入sdr帧中的新场景的场景切换数据。亮度blut生成(l2)806可以生成亮度整形函数,以将输入sdr帧的亮度分量映射到hdr帧。亮度blut平滑(l1)807可以对生成的亮度整形函数应用平滑算法。多项式逼近(l1)808可以将亮度整形函数逼近为多项式函数,因此亮度整形函数可以简化为多项式系数,以减少数据存储和/或数据传输。色度mmr估计(l1)809可以生成色度整形函数,以将输入sdr帧的色度分量映射到hdr帧。可以使用亮度和色度整形函数来生成输出rpu元数据810。

在一些实施例中,编码器800以四个步骤生成输出rpu元数据810。每个步骤可以使用一个或多个滑动窗口,例如图5的统计窗口(502)、l3、l2和l1滑动窗口(503、504和505),产生下一滑动窗口的中间输出。

令fts为sdr帧,并且ftv为其在时间=t处的idm参考hdr帧。令分别为fts的y、cb和cr通道的第i个像素值。令分别为ftv的y、cb和cr通道的第i个像素值。在步骤一处,参考eidm803即时生成参考edr帧802。在一个实施例中,eidm803是外部逆dm(eidm)模块。在一个实施例中,针对每个输入sdr帧,预先生成参考edr帧802。参考在时间=t处的输入sdr帧(作为sdr帧801的一部分),统计采集804采集或收集输入sdr帧及其对应的参考edr帧(作为参考edr帧802的一部分)的统计,并将这些统计存储在统计环形缓冲器中,例如图5a的统计环形缓冲器502。统计采集804收集以下统计,包括但不限于针对输入sdr帧和/或参考hdr的场景切换统计、亮度最小值和最大值统计、亮度直方图统计和色度mmr统计。场景切换统计检测视频流的sdr帧中的新场景。亮度最小值和最大值统计以及亮度直方图统计用于估计和生成亮度整形函数。色度mmr统计用于估计和生成色度整形函数。

亮度直方图统计包括亮度直方图,作为累积分布函数(cdf)匹配算法的输入,以生成亮度整形函数,其在以下申请中进行了描述:2016年10月5日提交的名称为“inverseluma-chromamappingswithhistogramtransferandapproximation”的美国临时申请号62/404,307,该申请通过引用以其整体并入本文,以及2018年1月16日提交的名称为“segment-basedreshapingforcodinghighdynamicrangevideo”的pct申请号pct/us2018/013904,该pct申请通过引用以其整体并入本文。可以在后续步骤中执行cdf匹配算法,以生成亮度整形函数。

在一个实施例中,为了减少计算负荷,统计采集804可以将输入sdr帧的sdr码字划分成具有相等间隔wb(例如,对于16位输入数据,wb=65,536/m)的m个非重叠仓(例如,m=16、32或64),以覆盖归一化动态范围(例如,(0,1])。将sdr和edr中的仓的数量分别表示为ms和mv,并且将对应的仓间隔分别表示为wbs和wbv。在另一个实施例中,为了进一步降低计算负荷,以累积的方式(例如,)存储sdr/hdr直方图,使得将每个仓初始化为来自前一时间帧或处理周期的其对应仓的值。注意,上标“c”表示累积和。下表1示出了累积亮度直方图统计的采集。

表1

在一个实施例中,统计采集804可以收集mmr多项式的色度mmr统计,以生成色度通道的整形函数。令来自fts的像素值表示为:

在一个实施例中,mmr多项式是二阶mmr多项式。在另一个实施例中,mmr多项式是三阶mmr多项式。例如,二阶mmr多项式(例如,)可以基于st,i构造为:

其中,是具有pc个像素的fts的下采样y分量的第i个像素值。

令idm色度值和使用反向mmr的预测色度值分别为:

其中,c0和c1是两个色度通道。在一个实施例中,对输入帧像素或图像像素进行下采样以减少计算负荷。例如,不是使用输入帧的所有像素形成mmr估计算法的mmr矩阵,而是将每个第rds个像素用作输入帧的代表像素,其中,rds表示下采样比率。回顾一下,pc是图像中色度像素的数量。因此,mmr矩阵维数从pc减少到pds,其中,

然后,将pc个色度像素减少到pds个像素的图像的预测色度、idm色度和mmr矩阵可以分别表示为:

使用mmr反向整形矩阵(例如,m)预测最接近参考色度值vt,j的色度值令预测值为其中,mt=(at)-1(bt)。因此,可以针对当前输入帧采集矩阵a和b的统计,其中,以生成色度反向整形函数。

在一个实施例中,为了减少计算负荷,矩阵a和b以累积的方式存储。表2示出了色度统计采集的示例过程。

表2

在图8的四个步过程的第二步中,场景切换检测805可以使用l3滑动窗口基于收集的场景切换统计确定新的场景切换。例如,可以使用来自(处的帧)的l3(场景切换检测)窗口的帧的场景切换统计来计算场景切换发生(occurrence)。令的场景切换检测窗口的左边界和右边界的时间索引,其中,并且令场景切换检测窗口的左帧和右帧分别为注意,是当前输入帧。然后,场景切换检测805可以使用与处的帧(例如,由帧界定的窗口)相对应的场景切换统计来检测处的帧的场景切换。

在一个实施例中,场景切换检测805输出二进制场景切换标志,例如,指示处的帧是否包括新场景。在一个实施例中,场景切换数据存储在环形缓冲器中,以便随后用作(l2和l1)窗口的输入。

在图8的四个步过程的第三步中,亮度blut生成806通过对与l2窗口的图像帧相对应的直方图统计应用cdf匹配,来生成处的帧的反向查找表(blut)。例如,亮度blut生成806可以通过对与l2滑动窗口相对应的sdr和hdr直方图应用cdf匹配,来生成处的帧的亮度blut。亮度blut生成806可以首先识别与l2窗口相对应的帧的场景边界。在这种情况下,如果场景只包含一帧,则在l2窗口中只考虑此帧。注意,视频流的第一帧和最后一帧被认为包括场景切换。例如,令为l2滑动窗口的左窗口边界和右窗口边界的时间索引。令的左场景边界和右场景边界。因此,对于以及sct=0。

建立场景边界之后,针对的l2窗口的左时间边界和右时间边界可以分别确定为:

令l2窗口的帧的左端和右端分别为分别为sdr和hdrcdf的第b个仓值。令为临时blut的第b个仓值。l2窗口的输出是的亮度blut(例如,)。在一个实施例中,亮度blut作为跨时域的累积和存储,并由表示。图8的四步过程的第二步可以在表3中示出。注意,可以基于sdr帧位深度确定表3的步骤g中用于中间色调平滑的平滑窗口大小,例如:

表3

如上所述,在步骤三中,亮度blut生成806可以使用l2窗口来生成的亮度blut,以将输入sdr帧的亮度分量映射到参考hdr帧。

在步骤四中,编码器800可以使用l1窗口对的先前生成的亮度blut执行平滑操作。然后,编码器800可以逼近分段多项式(例如,亮度整形函数),以减少存储和/或数据传输。另外,编码器800可以使用l1窗口生成的色度mmr映射系数。

例如,令表示的左l1窗口边界和右l1窗口边界的时间索引。类似于l2窗口,在一个实施例中,亮度blut平滑807首先使用场景切换信息检测l1窗口内的帧的场景边界。令的左场景边界和右场景边界。令使得对于并且sct=0。如果场景只包含一帧,则在l1窗口中仅考虑此帧。

然后,的l1窗口的左边界和右边界可以确定为以及因此,l1窗口的左帧和右帧为表4示出了第四步的平滑操作,其中,是最终亮度blut的第b个仓。

表4

在一个实施例中,多项式逼近808使用曲线拟合算法将平滑的亮度blut转换成具有多项式系数的分段多项式。例如,亮度blut(例如,用于将输入sdr码字映射到输出edr码字的反向整形查找表)被划分成多个部分,并且每个部分被曲线拟合到更高阶的多项式(例如,分段多项式)。然后,多项式的系数或亮度映射函数可以用于生成rpu合成器元数据810。

在一个实施例中,色度mmr估计809使用在步骤一中收集的累积和矩阵a和b求解最小二乘问题,以估计mmr系数矩阵。mmr估计方法依赖于最小化预测hdr帧的色度分量与参考hdr帧的色度分量之间的“总体”误差。表5示出了mmr矩阵系数的生成,其中,的mmr系数矩阵。

表5

一旦求解出mmr矩阵系数,编码器800然后将求解的mmr矩阵系数(例如,色度通道)连同逼近的亮度分段多项式系数(例如,亮度通道)一起插入到rpu元数据810中,其中,rpu元数据810对应于帧其中,

如上所述,编码器800的四个步骤可以以一帧入一帧出的方式从具有hdr参考的sdr帧即时生成rpu元数据。在一个实施例中,在步骤一中,在时间t,处理逻辑在统计环形缓冲器(502)中收集当前输入帧(501)的统计。统计环形缓冲器(502)存储一系列先前帧的统计数据。在步骤二中,处理逻辑使用存储的统计数据确定场景切换数据,处的第一帧是否包括新场景,其中,表示与l3窗口(503)相关联的延迟。l3窗口(503)可以对应于与第一时间延迟相关联的第一帧。场景切换数据(例如,l3窗口的输出)可以由后续窗口(如l2和l1窗口)用于进行进一步的帧处理。在步骤三中,l2滑动窗口可以使用来自与第二时间延迟相关联的第二帧的多个相邻帧的统计数据和来自l3窗口的场景切换数据生成后续l1滑动窗口的输出。在步骤四中,l1滑动窗口可以使用来自与第三时间延迟相关联的第三帧的多个相邻帧的统计数据生成输出rpu元数据。

图9是示出根据一个或多个实施例的用于亮度和/或色度整形的方法的流程图。方法或过程900可以由处理逻辑来执行,所述处理逻辑可以包括软件、硬件或其组合。例如,过程900可以由图3的编码器303执行。参考图9,在框901处,处理逻辑接收包含第一动态范围中的图像的输入视频流,所述第一动态范围中的图像包括第一图像。在框902处,处理逻辑接收表示输入视频流的第一图像的第二图像,第二图像具有第二动态范围,第二动态范围高于第一动态范围。在框903处,处理逻辑获得第一图像和第二图像的统计数据。统计数据包括场景切换统计、亮度统计和色度统计。一个或多个滑动窗口使用统计数据生成识别新场景的场景切换数据、亮度分量映射函数和色度分量映射函数。在框904处,处理逻辑在第一时间延迟处从表示输入视频流中的图像的数据确定场景切换数据,并将场景切换数据存储在第一滑动窗口中,所述场景切换数据基于第一图像的所述统计数据、输入视频流中在时间上处于第一图像之后的一个或多个前视图像的统计数据、以及输入视频流中在时间上处于第一图像之前的一个或多个后视图像的统计数据来确定。在框905处,处理逻辑在第二时间延迟处基于第二滑动窗口和所确定的场景切换数据确定用于将第一图像的光亮度值从第一动态范围映射到第二动态范围的第一映射函数。在框906处,处理逻辑在第三时间延迟处,基于第三滑动窗口和所确定的场景切换数据,通过对第一映射函数应用平滑操作,确定第二映射函数。在框907处,处理逻辑在第三时间延迟处基于第三滑动窗口和所确定的场景切换数据确定用于将第一图像的色度值从第一动态范围映射到第二动态范围的第三映射函数。在框908处,处理逻辑在所述第三时间延迟处基于第二映射函数和第三映射函数生成第一图像的合成器元数据,其中,生成的合成器元数据由目标显示设备用来将第一图像从第一动态范围映射到第二动态范围以供显示。

使用3d扁平映射表(3d-fmt)对颜色伪影(artifact)进行整形

先前的mmr逼近方法可以描述为基于像素的方法,因为对于mmr优化过程,每个像素给予相等的权重。由于所描述的mmr优化过程依赖于最小化预测hdr帧的色度分量与参考hdr帧的色度分量之间的“总体”误差,因此对于少量像素(例如,少数像素),即使单个误差较高,与“总体”误差相比,它们的累积效应也可能较小。在少数情况下,由于输入sdr帧的少数像素,预测hdr帧中会出现如红色色块和绿色/粉色着色等颜色伪影。在一些示例中,与图像的总像素相比,少数像素可以是约0.05%。为了避免这些颜色伪影,可以使用基于码字仓的方法(例如,3d扁平映射表(3d-fmt)方法)来逼近mmr系数矩阵,以将sdr图像映射到hdr图像。

在一些实施例中,矩阵的每个条目(先前的基于像素的方法包括像素值作为矩阵)包括3dsdr直方图的码字仓。每个条目或仓给予与其余条目相同的权重。3dsdr直方图对应于3d映射表。本质上,在如前所述的收集统计的步骤一期间,矩阵a和b的计算进行如下修改,以减少颜色伪影。

针对颜色伪影使用3d-fmt的mmr矩阵a和b计算

在一些实施例中,针对三个亮度和色度分量中的每一个,使用固定数量的仓qy、将sdr图像量化为三个通道值(y、c0和c1)。注意,下采样的亮度信号用于将维度与4:2:0色度通道匹配。使用量化的sdr图像计算对应于3d映射表的3d直方图

令帧fts的3d直方图的仓表示为其中,并且包含三维(3d)中的总数的仓。每个3d仓可以由仓索引指定,其表示具有那些3通道量化值的像素的数量。

还计算每个sdr3d仓中的edr色度和。令为经映射edr色度值,使得每个仓包含具有属于此仓的码字的edr色度(例如,c0和c1)像素值的和。下表6示出了用于获得量化3dsdr直方图和经映射edr色度值的示例步骤。

表6

代表第q个sdr仓的中心。在或仓代表值中省略了帧特定下标,以表示这些仓代表值可以用于所有帧。在一个实施例中,仓代表值是预先计算的,并且对于所有帧都是固定的。表7示出了获得仓代表值的步骤。

表7

接下来,可以通过对每个相应仓中的(时间=t处的输入sdr帧的)sdr像素数量的edr色度值求平均,来获得平均3d映射edr色度值。在一个实施例中,对于时间=t处的当前帧,识别并丢弃没有对应像素的3dsdr直方图仓。表8示出了用于获得的平均值的步骤,例如,在每个相应仓中的sdr像素数量上平均的edr色度值的3d映射。注意,q0、q1、…qk-1是具有对应像素的总共k个仓的索引,例如,

表8

令第qi个仓的edr色度向量为:对于每个第qi个仓,作为矩阵的元素的3d-fmt向量可以是:

如前所述,存在具有至少一个对应sdr像素的k个仓。在一个实施例中,使用来自这k个仓的sdr仓代表值和edr色度值来确定矩阵a和b。例如,时间=t处的输入帧的矩阵和vt可以是:

注意,这些矩阵的维数将不同于之前的基于像素的方法,因为k个非零sdr仓,而不是sdr帧像素总数(其可以比k大得多),用于mmr估计。在此,k可以逐帧变化。

接下来,可以获得当前帧的统计或矩阵a和b,为:

在一个实施例中,为了减少计算负荷,矩阵a和b可以被存储为累积和。表9描述了使用3d-fmt进行mmr统计计算的示例。

表9

图10是示出根据一个或多个实施例的用于使用3d-fmt进行亮度/色度整形的方法的流程图。方法或过程1000可以由处理逻辑来执行,所述处理逻辑可以包括软件、硬件或其组合。例如,过程1000可以由图3的编码器303执行。参考图10,在框1001处,处理逻辑接收具有一组图像的输入视频流,所述一组图像包括第一动态范围中的第一图像。在框1002处,处理逻辑生成所述第一图像和与第一图像对应的第二动态范围中的第二图像的3d映射统计(或3dsdr和edr直方图),其中,第二动态范围高于第一动态范围。在框1003处,处理逻辑基于3d映射统计确定多变量多元回归(mmr)统计(例如,矩阵a和b),以生成色度映射函数以基于第一图像估计第二图像的色度通道值。在框1004处,处理逻辑生成合成器元数据,其中,合成器元数据包括色度映射函数,所述色度映射函数由目标显示设备用来将第一图像的色度通道从第一动态范围映射到第二动态范围以供显示。在一些实施例中,非暂态机器可读介质存储有指令,所述指令由显示管理系统执行时,使所述系统执行如方法1000所述的方法。在一些实施例中,包括存储器和处理系统的显示管理系统被配置成执行如方法1000所述的方法。

不具有参考edr

图11示出了根据实施例的不具有参考edr的示例性编码器的框图。编码器1100可以是例如图3的编码器303等的编码器。编码器1100可以,以一帧入一帧出的方式在不具有hdr参考的情况下,从视频流的sdr帧即时生成rpu(合成器和dm)元数据。在一个实施例中,编码器1100包括,例如预训练的模型1101、统计采集804、场景切换检测(l3)805、亮度blut生成(l2)806、亮度blut平滑(l1)807和多项式逼近(l1)808等模块。预训练的模型1101可以包括一般线性模型(glm),以生成色度整形函数。glm可以根据训练统计预先确定或预先配置,或者基于图像库预先训练。在一个实施例中,色度整形函数包括静态mmr系数。

统计采集804可以收集关于sdr和hdr帧801-802的统计。场景切换检测(l3)805可以确定标识输入sdr帧中的新场景的场景切换数据。亮度blut生成(l2)806可以生成亮度整形函数,以将输入sdr帧的亮度分量映射到hdr帧。亮度blut平滑(l1)807可以对生成的亮度整形函数应用平滑算法。多项式逼近(l1)808可以将亮度整形函数逼近为多项式函数,因此亮度整形函数简化为多项式系数,以减少数据存储和数据传输。可以使用亮度和色度整形函数来生成输出rpu元数据810。

在一些实施例中,编码器1100以四个步骤生成输出rpu元数据810。每个步骤可以使用一个或多个滑动窗口,例如图5的统计窗口(502)、l3、l2和l1滑动窗口(503、504和505),产生中间输出。

参考图11,在步骤一中,参考在时间=t处的输入sdr帧(作为sdr帧801的一部分),统计采集804采集或收集输入sdr帧的统计,并将这些统计存储在统计环形缓冲器中,例如图5a的统计环形缓冲器502。统计采集804可以收集以下统计,包括但不限于输入sdr帧的场景切换统计、亮度最小值、平均值和最大值统计、亮度直方图统计和色度饱和度统计。场景切换统计检测视频流的sdr帧中的新场景。亮度最小值、平均值和最大值统计以及亮度直方图统计用于动态地估计和生成亮度整形函数。色度饱和度统计用于归一化色度整形函数。

首先,统计采集804使用下采样的亮度和色度sdr像素值收集归一化的(0与1之间)sdr帧(由表示)的统计。在一些实施例中,所收集的统计包括亮度直方图和色度饱和度值。在一些实施例中,亮度仓中的亮度直方图和色度饱和度可以如表10所示地获得。在一些实施例中,亮度仓和色度仓的总数分别被初始化为nl=nc=8。

表10

在图11的步骤二中,其可以类似于如上所述的图8的步骤二,场景切换检测805使用收集的场景切换统计确定sdr帧(处的帧)的场景切换发生或场景切换数据。通过更新最旧的场景切换数据,可以将场景切换数据存储在环形缓冲器中。场景切换数据可以用作后续步骤的输入。

在步骤三中,亮度blut生成806使用先前收集的平均统计生成帧(处的帧)的亮度blut(例如,)。收集的平均统计可以包括对sdr帧进行描述的一个或多个特征向量。在一些实施例中,特征向量可以包括但不限于:i)最小/最大/平均sdr像素值的平均阶数,ii)平均亮度直方图值例如以及iii)亮度仓的平均色度饱和度值例如特征向量可以用于基于一般线性模型(glm)的预测。

表示的第j个特征向量的第k个单独(individual)特征。在一个实施例中,每个特征向量由连结形成一维向量的特征值构成,例如:

其中,gj(j=0,1,2,...)是第j个特征向量的特征总数。在一个实施例中,最小/最大/平均sdr值的第一、第二、第三和第四阶用作基于glm的预测的特征。在这种情况下,具有12个特征,具有8个特征(nl=8)并且具有8个特征(nc=8),共有28个特征。

表示左窗口边界和右窗口边界的时间索引。在一个实施例中,亮度blut806生成可以基于场景切换检测805生成的场景切换数据确定帧的场景边界。令的左场景边界和右场景边界。因此,的l2窗口的左边界和右边界分别为因此,l2窗口的相应左帧和右帧分别为表11示出了如上所述的针对帧的l2窗口的平均特征值的示例计算。

表11

接下来,在一个实施例中,可以通过连续28个特征来生成处的帧的总特征向量f,例如:

在另一个实施例中,总特征向量f可以通过连结28个特征的子集来生成。然后,可以将总特征向量f应用于glm模型。

令w为glm模型的系数(或权重)-矩阵。在一个实施例中,根据sdr-edr图像数据库预先计算w。然后,当前帧的k点(k-point)亮度blut向量可由glm模型描述,例如

在一个实施例中,对k点亮度blut向量进行裁剪(clipped)、内插并再次裁剪,以产生中间亮度blut。在一个实施例中,然后对k点亮度blut向量进行处理以保持非递减行为(non-decreasingbehavior)的单调性,从而获得处的帧的亮度blut。注意,表示从第b个sdr码字映射的归一化的edr值。

为了生成色度整形函数,亮度blut生成806可以从预训练模型1101获得静态mmr系数。静态mmr系数可以基于训练数据预先计算,并且可以对于所有sdr帧保持相同。在一个实施例中,静态mmr系数可以仅对场景保持相同。

在步骤四中,可以通过将使用l1窗口的平滑操作应用于上一步计算的亮度blut来计算的最终输出亮度blut。场景切换信息sc(t)可以用于确定l1窗口边界。回顾一下,是最终亮度blut的第b个仓。可以类似于以上针对图8所述的步骤四确定的l1窗口的左边界和右边界。然后,可以将最终输出亮度blut转换成分段多项式。可以使用帧的亮度分段多项式和固定色度mmr系数生成rpu元数据(例如,合成器元数据),其中,

图12是示出根据一个或多个实施例的在不具有参考edr的情况下用于亮度和/或色度整形的方法的流程图。方法或过程1200可以由处理逻辑来执行,所述处理逻辑可以包括软件、硬件或其组合。例如,过程1200可以由图3的编码器303执行。参考图12,在框1201处,处理逻辑接收包含第一动态范围中的图像的输入视频流,所述第一动态范围中的图像包括第一图像。在框1202处,处理逻辑获得输入视频流的第一图像的统计数据,其中,统计数据包括来自第一图像的一个或多个图像相关特征。在框1203处,处理逻辑在第一时间延迟处,基于第一图像的统计数据、输入视频流中在时间上处于第一图像之后的一个或多个前视图像的统计数据以及输入视频流中在时间上处于第一图像之前的一个或多个后视图像的统计数据,从表示输入视频流中的图像的数据中确定场景切换数据,并将场景切换数据存储在第一滑动窗口中。在框1204处,处理逻辑在第二时间延迟处基于第二滑动窗口和机器学习模型确定用于将第一图像的光亮度值从第一动态范围映射到第二动态范围的第一映射函数。在框1205处,处理逻辑在第三时间延迟处,基于第三滑动窗口和所确定的场景切换数据,通过对第一映射函数执行平滑操作,确定第二映射函数。在框1206处,处理逻辑在第三时间延迟处基于第二映射函数和第三映射函数生成第一图像的合成器元数据,其中,第三映射函数基于机器学习模型将第一图像的色度颜色通道从第一动态范围映射到第二动态范围,其中,生成的合成器元数据由目标显示设备用来显示第二动态范围中的与第一图像对应的第二图像。在一些实施例中,非暂态机器可读介质存储有指令,所述指令由显示管理系统执行时,使所述系统执行如方法1200所述的方法。在一些实施例中,包括存储器和处理系统的显示管理系统被配置成执行如方法1200所述的方法。

显示管理(dm)元数据计算

在一些实施例中,诸如图3的编码器303之类的编码器计算dm元数据,并生成rpu元数据以包括dm元数据。dm元数据可以包括用于渲染特定目标显示器的显示的信息,所述目标显示器具有显示多达各个尼特单位的能力。例如,dm元数据可以包括一个或多个显示信息,例如min_pq、max_pq、avg_pq、anchor_pq和anchor_power。min_pq可以指定12位pq编码中当前场景的最小光亮度值。max_pq可以指定12位pq编码中当前场景的最大光亮度值。avg_pq可以指定12位pq编码中当前场景的中点(midpoint)光亮度值。anchor_pq可以指定在12位pq编码中针对当前帧的图片质量优化的平均明亮度。anchor_power可以指定在12位pq编码中针对当前帧的电源管理优化的平均明亮度。

在一些实施例中,编码器(例如图3的编码器303)的处理器在没有任何场景信息的情况下估计当前输出帧的dm元数据。在一个实施例中,针对所有帧,处理器设置min_pq=0,以及max_pq=4095。在一个实施例中,对于具有edr参考帧的sdr帧,处理器,使用rgb域edr图像,计算帧的帧平均(例如,avg_pq)值为:

在一个实施例中,对于不具有edr参考帧的sdr帧,基于sdr亮度直方图的亮度分量和在通用(例如,任何lx)滑动窗口处计算的blut,avg_pq可以计算为:

这些计算的示例可以在2017年6月16日提交的名称为“efficientend-to-endsinglelayerinversedisplaymanagementcoding”的美国临时申请号62/520,832中找到,该申请通过引用以其整体并入本文。

在一些实施例中,因为avg_pq需要在任何特定场景中求平均,所以在没有任何场景信息的情况下,可以将基于窗口的多帧平均应用于avg_pq(例如,)。例如,参考图13,针对具有edr参考模式,在检测到场景后,可以使用帧的两侧的长度为的窗口确定此帧的avg_pq,而不会引入延迟。

在一个实施例中,对于不具有edr参考模式,avg_pq是通过基于l1窗口处生成的输出亮度blut应用基于窗口的平均而生成的,其中,窗口的前视长度和后视长度分别为例如,引入时间单位的额外输出延迟。在这种情况下,帧的rpu数据的总输出延迟将为并且基于帧的平均估计被计算为:

其中,tk的范围为然后,在此间隔内计算平均值,以获得当前输出帧的最终avg_pq。

在一个实施例中,为了避免时间单位延迟,编码器可以至少基于从l2窗口获得的中间(或非平滑的)亮度blut(例如,til2)来估计帧平均。例如,基于用作输出blut(til1)的逼近的l2级亮度blut,帧平均值可以计算为:

其中,tk的范围为(-τdm,τdm)。在这种情况下,在获得来自l2窗口的输出之后,可以使用长度为的对称窗口来计算avg_pq。因此,这些计算可能不会在线性编码方法中施加额外的延迟。

图13示出了总延迟为的帧平均计算的示例。以与图8的步骤四类似的方式,令表示使用场景切换信息确定的输入帧ft的左dm窗口边界和右dm窗口边界的时间索引。然后,可以计算为:

其中,的左场景边界和右场景边界。

如图13所描绘的,当时,左右场景边界可以与l1窗口的左右场景边界相同,并且avg_pq估计输出帧可以与最终输出帧相同。在这种情况下,由于avg_pq计算,没有引入额外的延迟。因此,在这种情况下,总计算延迟为

接下来,即帧的基于滑动窗口的avg_pq可以计算为:

表12示出了基于滑动窗口的avg_pq计算的示例。

表12

在一个实施例中,的avg_pq可以估计为:clip3(0,4095,floor),其中,clip3(min,max,val)被定义为val,从下方裁剪最小,以及从上方裁剪最大。在另一个实施例中,的avg_pq可以估计为:clip3((min_pq+δl1avgmin),max_pq,avg_pq)。

在一些实施例中,根据2017年6月16日提交的名称为“efficientend-to-endsinglelayerinversedisplaymanagementcoding”的美国临时申请号62/520,832中找到的示例,该申请通过引用以其整体并入本文,可以基于一个或多个基于帧的统计值计算anchor_pq值和anchor_power值。

例如,对于具有edr参考的sdr的情形,基于帧的统计值可以包括使用rgb域edr图像计算的值,例如:

例如,对于不具有edr参考的sdr的情形,基于帧的统计值可以包括使用sdr亮度直方图的亮度分量计算的值和使用l2滑动窗口计算的blut,例如:

这些计算的示例可以在2017年6月16日提交的名称为“efficientend-to-endsinglelayerinversedisplaymanagementcoding”的美国临时申请号62/520,832中找到,该申请通过引用以其整体并入本文。

图14示出了可用于实施诸如图3中的编码器303之类的编码器的数据处理系统的示例。本文描述的系统和方法可以在各种不同的数据处理系统和设备中实施,所述数据处理系统和设备包括通用计算机系统、专用计算机系统、或者通用计算机系统与专用计算机系统的混合。可以使用本文描述的任何一种方法的数据处理系统包括台式计算机、膝上型计算机、平板计算机、嵌入式电子设备或其他电子设备。

图14是根据实施例的数据处理系统硬件的框图。注意,虽然图14示出了数据处理系统的各种部件,但是并不旨在表示互连所述部件的任何特定架构或方式,因为这些细节与本发明没有密切关系。还应当理解,具有比图14中所示的部件少的部件或者比所示部件多的部件的其他类型的数据处理系统也可以与本发明的一个或多个实施例一起使用。

如图14所示,数据处理系统包括用于互连系统的各种部件的一个或多个总线1309。如本领域中已知的,一个或多个处理器1303耦接到一个或多个总线1309。存储器1305可以是dram或非易失性ram,或者可以是闪速存储器、或其他类型的存储器、或这些存储器设备的组合。可以使用本领域已知的技术将该存储器耦接到一个或多个总线1309。数据处理系统还可以包括非易失性存储器1307,其可以是硬盘驱动器、或闪速存储器、或磁光驱动器、或磁存储器、或光驱动器、或甚至在系统断电之后也能保存数据的其他类型的存储器系统。非易失性存储器1307和存储器1305都使用已知的接口和连接技术耦接到一个或多个总线1309。显示控制器1322耦接到一个或多个总线1309,以便接收要显示在源显示设备1323上的显示数据。源显示设备1323可以包括集成触摸输入以提供触摸屏。数据处理系统还可以包括一个或多个输入/输出(i/o)控制器1315,其为一个或多个i/o设备(比如一个或多个鼠标、触摸屏、触摸板、操纵杆以及包括本领域已知的那些设备的其他输入设备和输出设备(例如,扬声器))提供接口。调色师可以使用所述一个或多个输入设备来调整一个或多个图像的颜色微调(trim)。如本领域中已知的,输入/输出设备1317通过一个或多个i/o控制器1315耦接。

虽然图14示出了非易失性存储器1307和存储器1305直接耦接到所述一个或多个总线而不是通过网络接口进行耦接,但是应当理解,本发明可以利用远离系统的非易失性存储器(比如通过如调制解调器或以太网接口等网络接口耦接到数据处理系统的网络存储设备)。如本领域所公知的,总线1309可以通过各种桥接器、控制器和/或适配器彼此连接。在一个实施例中,i/o控制器1315包括用于控制usb(通用串行总线)外围设备的usb适配器、用于ieee1394兼容外围设备的ieee1394控制器、或用于控制雷电(thunderbolt)外围设备的thunderbolt控制器中的一个或多个。在一个实施例中,一个或多个网络设备1325可以耦接到(一个或多个)总线1309。(一个或多个)网络设备1325可以是从相机接收图像的有线网络设备(例如,以太网)或无线网络设备(例如,wi-fi、蓝牙)等。

从本说明书中显而易见的是,本发明的一个或多个实施例可以至少部分地在软件中实施。即,可以响应于数据处理系统的一个或多个处理器执行包含在存储介质(比如非暂态机器可读存储介质(例如,dram或闪速存储器))中的指令序列而在数据处理系统中执行这些技术。在各种实施例中,硬连线电路可以与软件指令相结合使用来实施本发明。因此,技术不限于硬件电路与软件的任何特定组合,也不限于用于由数据处理系统执行的指令的任何特定源。

在前述说明书中,已经参考本发明的特定示例性实施例描述了本发明。显而易见的是,在不脱离所附权利要求中阐述的本发明的更广泛的精神和范围的情况下,可以对本发明进行各种修改。因此,说明书和附图应被视为具有说明性意义而非具有限制性意义。

尽管以下详细描述了独立的实施例,然而,应当理解,这些实施例可以部分地或整体地组合或修改。

实施例1是一种用于处理图像数据的方法,所述方法包括接收输入视频流。所述方法包括随时间在第一缓冲器中存储所述输入视频流的第一组相继部分的统计数据,所述第一缓冲器用于为每个相继部分提供表示场景切换数据的输出。所述方法包括随时间在第二缓冲器中存储所述输入视频流的第二组相继部分的统计数据,所述第二缓冲器接收从所述第一缓冲器提供的每个输出,所述第二缓冲器用于为每个相继部分提供表示光亮度映射值的输出。所述方法包括随时间在第三缓冲器中存储所述输入视频流的第三组相继部分的统计数据,所述第三缓冲器接收从所述第二缓冲器提供的每个输出,所述第三缓冲器用于为每个相继部分提供表示色度映射值的输出。所述方法包括基于相关联的光亮度映射值和相关联的色度映射值生成所述输入视频流中的第一图像的元数据,所述元数据由目标显示器用来基于所述第一图像生成具有比所述第一图像的动态范围高的第二图像。在一些实施例中,光亮度映射值是经平滑的光亮度映射值。

实施例2是一种非暂态机器可读介质,存储有指令,所述指令由显示管理系统执行时,使所述系统执行如实施例1所述的方法。

实施例3是显示管理系统,所述显示管理系统包括存储器和被配置成执行如实施例1所述的方法的处理系统。

实施例4是一种利用处理系统进行亮度和/或色度整形的方法,所述方法包括接收包含第一动态范围中的图像的输入视频流,所述第一动态范围中的图像包括第一图像。所述方法包括接收表示所述输入视频流的所述第一图像的第二图像,所述第二图像具有第二动态范围,其中,所述第二动态范围高于所述第一动态范围。所述方法包括获得所述第一图像和所述第二图像的统计数据。所述方法包括:在第一时间延迟处,从表示所述输入视频流中的图像的数据中确定场景切换数据,并将所述场景切换数据存储在第一滑动窗口中,所述场景切换数据基于所述第一图像的统计数据、所述输入视频流中在时间上处于所述第一图像之后的一个或多个前视图像的统计数据以及所述输入视频流中在时间上处于所述第一图像之前的一个或多个后视图像的统计数据来确定。所述方法包括:在第二时间延迟处,基于第二滑动窗口和所确定的场景切换数据,确定用于将所述第一图像的光亮度值从所述第一动态范围映射到所述第二动态范围的第一映射函数。所述方法包括:在第三时间延迟处,基于第三滑动窗口和所确定的场景切换数据,通过对所述第一映射函数执行平滑操作,确定第二映射函数。所述方法包括:在所述第三时间延迟处,基于所述第三滑动窗口和所确定的场景切换数据,确定用于将所述第一图像的色度值从所述第一动态范围映射到所述第二动态范围的第三映射函数。所述方法包括:在所述第三时间延迟处,基于所述第二映射函数和所述第三映射函数,生成所述第一图像的合成器元数据,其中,生成的合成器元数据由目标显示设备用来将所述第一图像从所述第一动态范围映射到所述第二动态范围以供显示。

实施例5是如实施例4所述的方法,其中,通过从所述输入视频流接收输入图像并产生输出合成器元数据作为一个操作使得一个输入导致一个输出,以线性方式生成所述合成器元数据。

实施例6是如实施例4所述的方法,其中,所述第一滑动窗口、所述第二滑动窗口和所述第三滑动窗口中的每个滑动窗口都是缓冲器,所述缓冲器随时间接收所述输入视频流的相继部分,所述部分中的每个部分存储一组连续图像的数据,使得所述缓冲器随时间在所述输入视频流上滑动。

实施例7是如实施例4所述的方法,其中,所述第一滑动窗口、所述第二滑动窗口和所述第三滑动窗口包括具有可配置的缓冲器长度的环形存储缓冲器。

实施例8是如实施例7所述的方法,其中,所述统计数据是在具有可配置的缓冲器长度的统计环形缓冲器中获得的,其中,所述缓冲器长度基于所述第一滑动窗口、所述第二滑动窗口和所述第三滑动窗口的缓冲器长度进行配置。

实施例9是如实施例4所述的方法,其中,获得的统计数据包括所述第一图像和所述第二图像的场景切换数据统计、光亮度统计和色度统计。

实施例10是如实施例4所述的方法,其中,所述第一滑动窗口包括对应于所述第一滑动窗口的对应图像中的新场景的一个或多个场景切换标志,所述场景切换标志用于使得对每个场景的所述第一映射函数进行平滑。

实施例11是如实施例4所述的方法,其中,所述第二滑动窗口包括所述第一图像和所述第二图像的直方图统计,其中,所述直方图统计包括分别表示所述第一图像或所述第二图像的像素的码字的一个或多个仓。

实施例12是如实施例11所述的方法,其中,所述直方图统计包括对第一图像和第二图像进行下采样以减少计算负荷,其中,通过分别地将所述第一图像或所述第二图像的像素的码字划分成预定数量的非重叠仓,对所述第一图像和所述第二图像进行下采样。

实施例13是如实施例4所述的方法,其中,确定所述第一映射函数包括基于第一累积直方图和第二累积直方图确定光亮度映射函数,其中,所述第一累积直方图和所述第二累积直方图分别根据所述第一图像和所述第二图像的光亮度统计进行计算。

实施例14是如实施例13所述的方法,还包括:使用窗口长度不同的一个或多个平滑窗口,基于检测到的场景切换数据对所述第一映射函数执行平滑操作。

实施例15是如实施例13所述的方法,还包括:将所述第二映射函数转换成分段多项式的系数以生成所述合成器元数据。

实施例16是如实施例4所述的方法,其中,确定所述第二映射函数包括:基于所述第一图像和所述第二图像的像素色度统计,求解最小二乘问题以计算多变量多元回归(mmr)矩阵系数。

实施例17是如实施例16所述的方法,其中,求解所述最小二乘问题包括最小化差函数。

实施例18是如实施例4所述的方法,还包括:对所述输入视频流的一个或多个图像执行颜色空间转换。

实施例19是如实施例4所述的方法,其中,将所述合成器元数据作为与所述第一图像分离的图像元数据的一部分在视频信号中传送到目标显示设备。

实施例20是如实施例4所述的方法,还包括:基于第四滑动窗口生成显示管理(dm)元数据,所述dm元数据由目标显示设备用来生成针对目标显示器优化的第二图像。

实施例21是如实施例4所述的方法,其中,生成所述合成器元数据包括生成每个图像的唯一元数据。

实施例22是如实施例4所述的方法,其中,生成所述合成器元数据包括生成所述输入视频流的每个场景的唯一元数据。

实施例23是如实施例4所述的方法,其中,所述第一图像或所述第二图像中的至少一个图像以下列之一表示:iptpq(ictcp)颜色空间、ycbcr颜色空间、rgb颜色空间、rec.2020颜色空间、rec.709颜色空间、增强或扩展动态范围(edr)颜色空间、伽玛/hlg/pq颜色空间或标准动态范围(sdr)颜色空间。

实施例24是如实施例4所述的方法,其中,所述第一图像包括8位、9位、10位或11+位中的一位的位深度。

实施例25是如实施例4所述的方法,其中,所述第二图像包括8位、9位、10位、11位、12位、13位、14位或15+位中的一位的位深度。

实施例26是一种非暂态机器可读介质,存储有指令,所述指令由显示管理系统执行时,使所述系统执行如实施例4至25中任一项所述的方法。

实施例27是一种显示管理系统,所述显示管理系统包括存储器和处理系统,所述处理系统被配置成执行如实施例4至25中任一项所述的方法。

实施例28是一种使用三维(3d)映射统计利用处理器进行亮度/色度整形的方法,所述方法包括接收具有一组图像的输入视频流,所述一组图像包括第一动态范围中的第一图像。所述方法包括生成所述第一图像和与第一图像对应的第二动态范围中的第二图像的3d映射统计,其中,所述第二动态范围高于所述第一动态范围。所述方法包括基于所述3d映射统计确定多变量多元回归(mmr)统计,以生成色度映射函数以基于所述第一图像估计所述第二图像的色度通道值。所述方法包括生成合成器元数据,其中,所述合成器元数据包括所述色度映射函数,所述色度映射函数由目标显示设备用来将所述第一图像的色度通道从所述第一动态范围映射到所述第二动态范围以供显示。

实施例29是如实施例28所述的方法,其中,所述3d映射统计包括表示所述第一图像的量化的3d直方图,其中,所述第一图像通过以下操作量化:初始化所述3d直方图的多个仓,每个仓表示具有相应颜色通道的多个像素;扫描所述第一图像的多个像素;以及针对与所扫描的像素的颜色通道相对应的多个仓中的每个仓,递增计数器。

实施例30是如实施例29所述的方法,其中,所述3d直方图具有在时间上对于所述输入视频流的未来输入图像是恒定的最大仓计数。

实施例31是如实施例30所述的方法,其中,所述3d直方图的每个维度对应于所述第一图像的颜色通道。

实施例32是如实施例28所述的方法,其中,所述第二图像的3d映射统计包括平均3d色度通道映射值。

实施例33是如实施例28所述的方法,其中,所述平均3d色度通道映射值是每个颜色通道的单独值。

实施例34是如实施例28所述的方法,其中,确定多变量多元回归(mmr)统计包括基于3d扁平(flattened)映射表确定多变量多元回归(mmr)统计,每个3d扁平映射表代表所述第一图像的所述多个仓中的一个仓,因此亮度/色度映射没有多数像素偏差。

实施例35是如实施例34所述的方法,其中,基于表示3d直方图的仓的中心值的多个扁平映射值,计算所述3d扁平映射表。

实施例36是如实施例35所述的方法,其中,生成合成器元数据包括通过求解所述mmr统计的最小二乘问题来生成mmr系数。

实施例37是如实施例36所述的方法,其中,所述mmr统计包括累积和mmr矩阵。

实施例38是如实施例36所述的方法,其中,求解所述mmr统计的最小二乘问题包括最小化差函数。

实施例39是如实施例28所述的方法,还包括对所述输入视频流的一个或多个帧执行颜色空间转换。

实施例40是如实施例28所述的方法,其中,将所述合成器元数据作为与所述第一图像分离的视频帧元数据的一部分在视频信号中传送到目标显示设备。

实施例41是如实施例28所述的方法,其中,生成所述合成器元数据包括生成每个视频帧的唯一元数据。

实施例42是如实施例28所述的方法,其中,生成所述合成器元数据包括生成所述输入视频流的每个场景的唯一元数据。

实施例43是如实施例28所述的方法,其中,所述第一图像或所述第二图像中的至少一个图像以下列之一表示:iptpq(ictcp)颜色空间、ycbcr颜色空间、rgb颜色空间、rec.2020颜色空间、rec.709颜色空间、扩展动态范围(edr)颜色空间、伽玛/hlg/pq颜色空间、或标准动态范围(sdr)颜色空间。

实施例44是如实施例28所述的方法,其中,所述第一图像包括8位、9位、10位或11+位中的一位的位深度。

实施例45是如实施例28所述的方法,其中,所述第二图像包括8位、9位、10位、11位、12位、13位、14位或15+位中的一位的位深度。

实施例46是一种非暂态机器可读介质,存储有指令,所述指令由显示管理系统执行时,使所述系统执行如实施例28至45中任一项所述的方法。

实施例47是一种显示管理系统,所述显示管理系统包括存储器和处理系统,所述处理系统被配置成执行如实施例28至45中任一项所述的方法。

实施例48是一种利用处理系统进行亮度和/或色度整形的方法,所述方法包括接收包含第一动态范围中的图像的输入视频流,所述第一动态范围中的图像包括第一图像。所述方法包括获得所述输入视频流的第一图像的统计数据,其中,所述统计数据包括来自所述第一图像的一个或多个图像相关特征。所述方法包括:在第一时间延迟处,基于所述第一图像的统计数据、所述输入视频流中在时间上处于所述第一图像之后的一个或多个前视图像的统计数据以及所述输入视频流中在时间上处于所述第一图像之前的一个或多个后视图像的统计数据,从表示所述输入视频流中的图像的数据中确定场景切换数据,以及将所述场景切换数据存储在第一滑动窗口中。所述方法包括:在第二时间延迟处,基于第二滑动窗口和机器学习模型,确定用于将所述第一图像的光亮度值从所述第一动态范围映射到第二动态范围的第一映射函数。所述方法包括:在第三时间延迟处,基于第三滑动窗口,通过对所述第一映射函数执行平滑操作,确定第二映射函数。所述方法包括:在所述第三时间延迟处,基于所述第一映射函数和第二映射函数,生成所述第一图像的合成器元数据,其中,所述第二映射函数基于所述机器学习模型将所述第一图像的色度颜色通道从所述第一动态范围映射到所述第二动态范围,其中,生成的合成器元数据由目标显示设备用来显示第二动态范围中的与第一图像对应的第二图像。

实施例49是如实施例48所述的方法,其中,通过从所述输入视频流接收输入图像并产生输出合成器元数据作为一个操作使得一个输入导致一个输出,以线性方式生成所述合成器元数据。

实施例50是如实施例48所述的方法,其中,所述第一滑动窗口和所述第二滑动窗口中的每个滑动窗口都是缓冲器,所述缓冲器随时间接收所述输入视频流的相继部分,所述部分中的每个部分存储一组连续图像的数据,使得所述缓冲器随时间在所述输入视频流上滑动。

实施例51是如实施例48所述的方法,其中,基于所述第三滑动窗口中的场景切换数据对所述第一映射函数执行平滑操作。

实施例52是如实施例51所述的方法,其中,所述第一滑动窗口、所述第二滑动窗口和所述第三滑动窗口包括具有可配置的缓冲器长度的环形存储缓冲器。

实施例53是如实施例52所述的方法,其中,所述统计数据是在具有可配置的缓冲器长度的统计环形缓冲器中获得的,其中,所述缓冲器长度基于所述第一滑动窗口、所述第二滑动窗口和所述第三滑动窗口的缓冲器长度进行配置。

实施例54是如实施例48所述的方法,其中,获得的统计数据包括针对所述第一图像的光亮度直方图的每个仓的场景切换数据、最小/最大/平均光亮度值、光亮度直方图和色度饱和度值。

实施例55是如实施例54所述的方法,其中,所述光亮度直方图与下采样的第一图像相对应以减少计算负荷,其中,通过将所述第一图像的像素的码字划分成预定数量的非重叠仓,对所述第一图像进行下采样。

实施例56是如实施例48所述的方法,其中,所述一个或多个图像相关特征包括所述第一图像的最小像素值、最大像素值和平均像素值的平均第一阶、平均第二阶、平均第三阶和平均第四阶的组合。

实施例57是如实施例48所述的方法,其中,所述一个或多个图像相关特征包括平均光亮度直方图。

实施例58是如实施例48所述的方法,其中,所述一个或多个图像相关特征包括光亮度直方图的仓的平均色度饱和度值。

实施例59是如实施例48所述的方法,其中,所述第一滑动窗口包括对应于所述第一滑动窗口的对应图像中的新场景的一个或多个场景切换标志。

实施例60是如实施例48所述的方法,其中,所述机器学习模型基于所述一个或多个图像相关特征预测所述第二图像的光亮度值。

实施例61是如实施例48所述的方法,其中,所述机器学习模型包括一般线性模型(glm)。

实施例62是如实施例48所述的方法,还包括将所述第一映射函数转换成分段多项式的系数以生成所述合成器元数据。

实施例63是如实施例48所述的方法,还包括基于第四滑动窗口生成显示管理(dm)元数据,所述dm元数据由目标显示设备用来生成针对目标显示器优化的所述第二图像。

实施例64是如实施例48所述的方法,还包括对所述输入视频流的一个或多个图像执行颜色空间转换。

实施例65是如实施例48所述的方法,其中,将所述合成器元数据作为与所述第一图像分离的图像元数据的一部分在视频信号中传送到目标显示设备。

实施例66是如实施例48所述的方法,其中,生成所述合成器元数据包括生成每个图像的唯一元数据。

实施例67是如实施例48所述的方法,其中,生成所述合成器元数据包括生成所述输入视频流的每个场景的唯一元数据。

实施例68是如实施例48所述的方法,其中,所述第一图像或所述第二图像中的至少一个图像以下列之一表示:iptpq(ictcp)颜色空间、ycbcr颜色空间、rgb颜色空间、rec.2020颜色空间、rec.709颜色空间、扩展动态范围(edr)颜色空间、伽玛/hlg/pq颜色空间、或标准动态范围(sdr)颜色空间。

实施例69是如实施例48所述的方法,其中,所述第一图像包括8位、9位、10位或11+位中的一位的位深度。

实施例70是如实施例48所述的方法,其中,所述第二图像包括8位、9位、10位、11位、12位、13位、14位或15+位中的一位的位深度。

实施例71是一种非暂态机器可读介质,存储有指令,所述指令由显示管理系统执行时,使所述系统执行如实施例48至70中任一项所述的方法。

实施例72是一种显示管理系统,所述显示管理系统包括存储器和处理系统,所述处理系统被配置成执行如实施例48至70中任一项所述的方法。下表13示出了符号列表。

表13

可以从以下枚举的示例实施例(eee)中理解本发明的各个方面:

1.一种利用处理系统进行亮度和/或色度整形的方法,所述方法包括:

接收包含第一动态范围中的图像的输入视频流,所述第一动态范围中的图像包括第一图像;

接收表示所述输入视频流的所述第一图像的第二图像,所述第二图像具有第二动态范围,其中,所述第二动态范围高于所述第一动态范围;

获得所述第一图像和所述第二图像的统计数据;

在第一时间延迟处,从表示所述输入视频流中的图像的数据确定场景切换数据,并将所述场景切换数据存储在第一滑动窗口中,所述场景切换数据基于所述第一图像的统计数据、所述输入视频流中在时间上处于所述第一图像之后的一个或多个前视图像的统计数据以及所述输入视频流中在时间上处于所述第一图像之前的一个或多个后视图像的统计数据来确定;

在第二时间延迟处,基于第二滑动窗口和所确定的场景切换数据,确定用于将所述第一图像的光亮度值从所述第一动态范围映射到所述第二动态范围的第一映射函数;

在第三时间延迟处,基于第三滑动窗口和所确定的场景切换数据,通过对所述第一映射函数执行平滑操作,确定第二映射函数;

在所述第三时间延迟处,基于所述第三滑动窗口和所确定的场景切换数据,确定用于将所述第一图像的色度值从所述第一动态范围映射到所述第二动态范围的第三映射函数;以及

在所述第三时间延迟处,基于所述第二映射函数和所述第三映射函数,生成所述第一图像的合成器元数据,其中,生成的合成器元数据由目标显示设备用来将所述第一图像从所述第一动态范围映射到所述第二动态范围以供显示。

2.如eee1所述的方法,其中,通过从所述输入视频流接收输入图像并产生输出合成器元数据作为一个操作使得一个输入导致一个输出,以线性方式生成所述合成器元数据。

3.如任一前述eee所述的方法,其中,所述第一滑动窗口、所述第二滑动窗口和所述第三滑动窗口中的每个滑动窗口都是缓冲器,所述缓冲器随时间接收所述输入视频流的相继部分,所述部分中的每个部分存储一组连续图像的数据,使得所述缓冲器随时间在所述输入视频流上滑动。

4.如任一前述eee所述的方法,其中,所述第一滑动窗口、所述第二滑动窗口和所述第三滑动窗口包括具有可配置的缓冲器长度的环形存储缓冲器。

5.如eee4所述的方法,其中,所述统计数据是在具有可配置的缓冲器长度的统计环形缓冲器中获得的,其中,所述缓冲器长度基于所述第一滑动窗口、所述第二滑动窗口和所述第三滑动窗口的缓冲器长度进行配置。

6.如任一前述eee所述的方法,其中,获得的统计数据包括所述第一图像和所述第二图像的场景切换数据统计、光亮度统计和色度统计。

7.如任一前述eee所述的方法,其中,所述第一滑动窗口包括对应于所述第一滑动窗口的对应图像中的新场景的一个或多个场景切换标志,所述场景切换标志用于使得对每个场景的所述第一映射函数进行平滑。

8.如任一前述eee所述的方法,其中,所述第二滑动窗口包括所述第一图像和所述第二图像的直方图统计,其中,所述直方图统计包括分别表示所述第一图像或所述第二图像的像素的码字的一个或多个仓。

9.如eee8所述的方法,其中,所述直方图统计包括对第一图像和第二图像进行下采样以减少计算负荷,其中,通过分别地将所述第一图像或所述第二图像的像素的码字划分成预定数量的非重叠仓,对所述第一图像和所述第二图像进行下采样。

10.如任一前述eee所述的方法,其中,确定所述第一映射函数包括基于第一累积直方图和第二累积直方图确定光亮度映射函数,其中,所述第一累积直方图和所述第二累积直方图分别根据所述第一图像和所述第二图像的光亮度统计进行计算。

11.如eee10所述的方法,还包括:使用窗口长度不同的一个或多个平滑窗口,基于检测到的场景切换数据对所述第一映射函数执行平滑操作。

12.如eee10或eee11所述的方法,还包括:将所述第二映射函数转换成分段多项式的系数以生成所述合成器元数据。

13.如任一前述eee所述的方法,其中,确定所述第二映射函数包括:基于所述第一图像和所述第二图像的像素色度统计,求解最小二乘问题以计算多变量多元回归(mmr)矩阵系数。

14.如eee13所述的方法,其中,求解所述最小二乘问题包括最小化差函数。

15.如任一前述eee所述的方法,还包括:对所述输入视频流的一个或多个图像执行颜色空间转换。

16.如任一前述eee所述的方法,其中,将所述合成器元数据作为与所述第一图像分离的图像元数据的一部分在视频信号中传送到目标显示设备。

17.如任一前述eee所述的方法,还包括:基于第四滑动窗口生成显示管理(dm)元数据,所述dm元数据由目标显示设备用来生成针对目标显示器优化的第二图像。

18.如任一前述eee所述的方法,其中,生成所述合成器元数据包括生成每个图像的唯一元数据。

19.如任一前述eee所述的方法,其中,生成所述合成器元数据包括生成所述输入视频流的每个场景的唯一元数据。

20.如任一前述eee所述的方法,其中,所述第一图像或所述第二图像中的至少一个图像以下列之一表示:iptpq(ictcp)颜色空间、ycbcr颜色空间、rgb颜色空间、rec.2020颜色空间、rec.709颜色空间、扩展动态范围(edr)颜色空间、伽玛/hlg/pq颜色空间、或标准动态范围(sdr)颜色空间。

21.如任一前述eee所述的方法,其中,所述第一图像包括8位、9位、10位或11+位中的一位的位深度。

22.如任一前述eee所述的方法,其中,所述第二图像包括8位、9位、10位、11位、12位、13位、14位或15+位中的一位的位深度。

23.一种非暂态机器可读介质,存储有指令,所述指令由显示管理系统执行时,使所述系统执行如eee1至22中任一项所述的方法。

24.一种显示管理系统,所述显示管理系统包括存储器和处理系统,所述处理系统被配置成执行如eee1至22中任一项所述的方法。

25.一种使用三维(3d)映射统计利用处理器进行亮度/色度整形的方法,所述方法包括:

系统接收具有一组图像的输入视频流,所述一组图像包括第一动态范围中的第一图像;

生成所述第一图像和与第一图像对应的第二动态范围中的第二图像的3d映射统计,其中,所述第二动态范围高于所述第一动态范围;

基于所述3d映射统计确定多变量多元回归(mmr)统计,以生成色度映射函数以基于所述第一图像估计所述第二图像的色度通道值;以及

生成合成器元数据,其中,所述合成器元数据包括所述色度映射函数,所述色度映射函数由目标显示设备用来将所述第一图像的色度通道从所述第一动态范围映射到所述第二动态范围以供显示。

26.如eee25所述的方法,其中,所述3d映射统计包括表示所述第一图像的量化的3d直方图,其中,所述第一图像通过以下操作量化:

初始化所述3d直方图的多个仓,每个仓表示具有相应颜色通道的多个像素;

扫描所述第一图像的多个像素;以及

针对与所扫描的像素的颜色通道相对应的多个仓中的每个仓,递增计数器。

27.如eee26所述的方法,其中,所述3d直方图具有在时间上对于所述输入视频流的未来输入图像是恒定的最大仓计数。

28.如eee27所述的方法,其中,所述3d直方图的每个维度对应于所述第一图像的颜色通道。

29.如eee25至28中任一项所述的方法,其中,所述第二图像的所述3d映射统计包括平均3d色度通道映射值。

30.如eee29所述的方法,其中,所述平均3d色度通道映射值是每个颜色通道的单独值。

31.如eee25至30中任一项所述的方法,其中,确定多变量多元回归(mmr)统计包括基于3d扁平映射表确定多变量多元回归(mmr)统计,每个3d扁平映射表代表所述第一图像的所述多个仓中的一个仓,因此亮度/色度映射没有多数像素偏差。

32.如eee31所述的方法,其中,基于表示3d直方图的仓的中心值的多个扁平映射值,计算所述3d扁平映射表。

33.如eee32所述的方法,其中,生成合成器元数据包括通过求解所述mmr统计的最小二乘问题来生成mmr系数。

34.如eee33所述的方法,其中,所述mmr统计包括累积和mmr矩阵。

35.如eee34所述的方法,其中,求解所述mmr统计的最小二乘问题包括最小化差异函数。

36.如eee25至35中任一项所述的方法,还包括对所述输入视频流的一个或多个帧执行颜色空间转换。

37.如eee25至36中任一项所述的方法,其中,将所述合成器元数据作为与所述第一图像分离的视频帧元数据的一部分在视频信号中传送到目标显示设备。

38.如eee25至37中任一项所述的方法,其中,生成所述合成器元数据包括生成每个视频帧的唯一元数据。

39.如eee25至38中任一项所述的方法,其中,生成所述合成器元数据包括生成所述输入视频流的每个场景的唯一元数据。

40.如eee25至39中任一项所述的方法,其中,所述第一图像或所述第二图像中的至少一个图像以下列之一表示:iptpq(ictcp)颜色空间、ycbcr颜色空间、rgb颜色空间、rec.2020颜色空间、rec.709颜色空间、扩展动态范围(edr)颜色空间、伽玛/hlg/pq颜色空间、或标准动态范围(sdr)颜色空间。

41.如eee25至40中任一项所述的方法,其中,所述第一图像包括8位、9位、10位或11+位中的一位的位深度。

42.如eee25至41中任一项所述的方法,其中,所述第二图像包括8位、9位、10位、11位、12位、13位、14位或15+位中的一位的位深度。

43.一种非暂态机器可读介质,存储有指令,所述指令由显示管理系统执行时,使所述系统执行如eee25至42中任一项所述的方法。

44.一种显示管理系统,所述显示管理系统包括存储器和处理系统,所述处理系统被配置成执行如eee25至42中任一项所述的方法。

45.一种利用处理系统进行亮度和/或色度整形的方法,所述方法包括:

接收包含第一动态范围中的图像的输入视频流,所述第一动态范围中的图像包括第一图像;

获得所述输入视频流的第一图像的统计数据,其中,所述统计数据包括来自所述第一图像的一个或多个图像相关特征;

在第一时间延迟处,基于所述第一图像的统计数据、所述输入视频流中在时间上处于所述第一图像之后的一个或多个前视图像的统计数据以及所述输入视频流中在时间上处于所述第一图像之前的一个或多个后视图像的统计数据,从表示所述输入视频流中的图像的数据中确定场景切换数据,以及将所述场景切换数据存储在第一滑动窗口中;

在第二时间延迟处,基于第二滑动窗口和机器学习模型,确定用于将所述第一图像的光亮度值从所述第一动态范围映射到第二动态范围的第一映射函数;

在第三时间延迟处,基于第三滑动窗口和所确定的场景切换数据,通过对所述第一映射函数执行平滑操作,确定第二映射函数;以及

在所述第三时间延迟处,基于所述第二映射函数和第三映射函数,生成所述第一图像的合成器元数据,其中,所述第三映射函数基于所述机器学习模型将所述第一图像的色度颜色通道从所述第一动态范围映射到所述第二动态范围,其中,生成的合成器元数据由目标显示设备用来显示第二动态范围中的与第一图像对应的第二图像。

46.如eee45所述的方法,其中,通过从所述输入视频流接收输入图像并产生输出合成器元数据作为一个操作使得一个输入导致一个输出,以线性方式生成所述合成器元数据。

47.如eee45或46所述的方法,其中,所述第一滑动窗口和所述第二滑动窗口中的每个滑动窗口都是缓冲器,所述缓冲器随时间接收所述输入视频流的相继部分,所述部分中的每个部分存储一组连续图像的数据,使得所述缓冲器随时间在所述输入视频流上滑动。

48.如eee45至47中任一项所述的方法,其中,基于所述第三滑动窗口中的所述场景切换数据对所述第一映射函数执行平滑操作。

49.如eee48所述的方法,其中,所述第一滑动窗口、所述第二滑动窗口和所述第三滑动窗口包括具有可配置的缓冲器长度的环形存储缓冲器。

50.如eee49所述的方法,其中,所述统计数据是在具有可配置的缓冲器长度的统计环形缓冲器中获得的,其中,所述缓冲器长度基于所述第一滑动窗口、所述第二滑动窗口和所述第三滑动窗口的缓冲器长度进行配置。

51.如eee45至50中任一项所述的方法,其中,获得的统计数据包括针对所述第一图像的光亮度直方图的每个仓的场景切换数据、最小/最大/平均光亮度值、光亮度直方图和色度饱和度值。

52.如eee51所述的方法,其中,所述光亮度直方图包括下采样的直方图,其中,通过将所述第一图像的像素的码字划分成预定数量的非重叠仓,对所述下采样的直方图进行下采样。

53.如eee45至52中任一项所述的方法,其中,所述一个或多个图像相关特征包括所述第一图像的最小像素值、最大像素值和平均像素值的平均第一阶、平均第二阶、平均第三阶和平均第四阶的组合。

54.如eee45至53中任一项所述的方法,其中,所述一个或多个图像相关特征包括平均光亮度直方图。

55.如eee45至54中任一项所述的方法,其中,所述一个或多个图像相关特征包括光亮度直方图的仓的平均色度饱和度值。

56.如eee45至55中任一项所述的方法,其中,所述第一滑动窗口包括对应于所述第一滑动窗口的对应图像中的新场景的一个或多个场景切换标志。

57.如eee45至56中任一项所述的方法,其中,所述机器学习模型基于所述一个或多个图像相关特征预测所述第二图像的光亮度值。

58.如eee45至57中任一项所述的方法,其中,所述机器学习模型包括一般线性模型(glm)。

59.如eee45至58中任一项所述的方法,还包括将所述第一映射函数转换成分段多项式的系数以生成所述合成器元数据。

60.如eee45至59中任一项所述的方法,还包括基于第四滑动窗口生成显示管理(dm)元数据,所述dm元数据由目标显示设备用来生成针对目标显示器优化的所述第二图像。

61.如eee45至60中任一项所述的方法,还包括对所述输入视频流的一个或多个图像执行颜色空间转换。

62.如eee45至61中任一项所述的方法,其中,将所述合成器元数据作为与所述第一图像分离的图像元数据的一部分在视频信号中传送到目标显示设备。

63.如eee45至62中任一项所述的方法,其中,生成所述合成器元数据包括生成每个图像的唯一元数据。

64.如eee45至63中任一项所述的方法,其中,生成所述合成器元数据包括生成所述输入视频流的每个场景的唯一元数据。

65.如eee45至64中任一项所述的方法,其中,所述第一图像或所述第二图像中的至少一个图像以下列之一表示:iptpq(ictcp)颜色空间、ycbcr颜色空间、rgb颜色空间、rec.2020颜色空间、rec.709颜色空间、扩展动态范围(edr)颜色空间、伽玛/hlg/pq颜色空间、或标准动态范围(sdr)颜色空间。

66.如eee45至65中任一项所述的方法,其中,所述第一图像包括8位、9位、10位或11+位中的一位的位深度。

67.如eee45至66中任一项所述的方法,其中,所述第二图像包括8位、9位、10位、11位、12位、13位、14位或15+位中的一位的位深度。

68.一种非暂态机器可读介质,存储有指令,所述指令由显示管理系统执行时,使所述系统执行如eee45至67中任一项所述的方法。

69.一种显示管理系统,所述显示管理系统包括存储器和处理系统,所述处理系统配置成执行如eee45至67中任一项所述的方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1