计算用于编辑HDR内容的动态元数据
文献发布时间:2023-06-19 18:32:25
相关申请的交叉引用
本申请要求均于2020年6月3日提交的欧洲专利申请第20178044.2号和美国临时申请第63/034,006号的优先权,这两个申请中的每一个都通过引用以其全文并入本文。
背景技术
1.技术领域
本申请总体上涉及图像;更具体地,本申请涉及结合视频内容生成用于显示管理的元数据。
2.背景技术
如本文所使用的,术语“动态范围(DR)”可以涉及人类视觉系统(HVS)感知图像中的强度范围(例如,光亮度、亮度)的能力,例如,从最暗的黑色(深色)到最亮的白色(高光)。从这个意义上说,DR与“参考场景的(scene-referred)”强度有关。DR还可以涉及显示设备充分或近似渲染特定阔度(breadth)的强度范围的能力。从这个意义上说,DR与“参考显示的(display-referred)”强度有关。除非在本文的描述中的任何一点明确指定特定的意义具有特定的意思,否则应该推断为该术语可以在任一意义上例如可互换地使用。
如本文所使用的,术语“高动态范围(HDR)”涉及跨越HVS的大约14个至15个或更多数量级的DR阔度。实际上,相对于HDR,人类可以同时感知强度范围内的广泛阔度的DR可能会被稍微截短。如本文所使用的,术语“增强动态范围”(EDR)或“视觉动态范围”(VDR)可以单独地或可互换地与这种DR相关:该DR可在场景或图像内由包括眼运动的HVS感知,允许场景或图像上的一些光适性变化。如本文所使用的,EDR可以涉及跨越5个到6个数量级的DR。因此,虽然相对于真实场景参考的HDR可能稍微窄一些,但EDR可以表示宽DR阔度并且也可以被称为HDR。
在实践中,图像包括一个或多个颜色分量(例如,RGB、亮度Y以及色度Cb和Cr),其中,在量化的数字系统中,每个颜色分量由每像素n位的精度表示(例如,n=8)。n≤8的位深度(例如,彩色24位JPEG图像)可以用于标准动态范围(SDR)的图像,而n>8的位深度可以考虑用于增强动态范围(EDR)的图像,以避免等高线伪影和阶梯伪影。除了整数数据类型外,还可以使用比如由工业光魔公司(Industrial Light and Magic)开发的OpenEXR文件格式等高精度(例如,16位)浮点格式来存储并分发EDR和高动态范围(HDR)图像。
给定显示器的参考电光传递函数(EOTF)表征输入视频信号的颜色值(例如,光亮度)与由显示器产生的输出屏幕颜色值(例如,屏幕光亮度)之间的关系。例如,ITURec.ITU-R BT.1886年,“Reference electro-optical transfer function for flatpanel displays used in HDTV studio production”(2011年3月)基于阴极射线管(CRT)的测量特性限定了平板显示器的参考EOTF,其内容通过引用以其全文并入本文。在给定了视频流的情况下,关于其EOTF的信息通常作为元数据嵌入比特流中。
许多消费类桌面显示器以200cd/m
如本文所使用的,术语“显示管理”表示将第一动态范围(例如,1000尼特)的输入视频信号映射到第二动态范围(例如,500尼特)的显示器所需的处理(例如,色调和色域映射)。显示管理过程的示例在以下文献中描述:R.Atkins等人于2014年2月13日提交的PCT申请序列第PCT/US 2014/016304号('304申请)(“Display management for high dynamicrange video”),该PCT申请通过引用以其全文并入本文。显示管理可以由输入元数据来辅助或控制,该输入元数据由传入内容的源生成并被复用到编码比特流中。
在本节中描述的方法是可以追寻的方法,但不一定是先前已经设想到或追寻的方法。因此,除非另有指明,否则不应该认为本节中所描述的任何方法仅凭其纳入本节就可被视为现有技术。类似地,除非另有表示,否则关于一种或多种方法所认定的问题不应该基于本节而被认为在任何现有技术中被认定。
发明内容
本公开的各个方面涉及用于生成元数据的设备、系统和方法,元数据可以用于提供改善的视频质量、改善的时间稳定性、低计算要求和减少的延迟。
在本公开的一个方面,提供了一种对视频内容进行编辑的方法,方法包括:接收输入视频数据;将输入视频数据转换成预定格式,由此生成经转换的视频数据;为经转换的视频数据的帧生成多个初始元数据值,多个初始元数据值包括:第一元数据值,第一元数据值与并非根据包括帧的内容计算的第一固定值相对应;第二元数据值,第二元数据值与帧的平均光亮度值相对应;以及第三元数据值,第三元数据值与并非根据内容计算的第二固定值相对应,其中,第一元数据值、第二元数据值和第三元数据值包括由解码器用于在显示器上呈现经解码图像的信息。
在本公开的另一个方面,提供了一种视频编辑系统,视频编辑系统包括:存储器;以及处理器,处理器被配置为使视频编辑系统进行以下操作:接收输入视频数据;将输入视频数据转换成预定格式,由此生成经转换的视频数据;为经转换的视频数据的帧生成多个初始元数据值,多个初始元数据值包括:第一元数据值,第一元数据值与并非根据包括帧的内容计算的第一固定值相对应;第二元数据值,第二元数据值与帧的平均光亮度值相对应;以及第三元数据值,第三元数据值与并非根据内容计算的第二固定值相对应。
在本公开的另一个方面,提供了一种对视频内容进行编辑的方法,方法包括:接收输入视频数据;将输入视频数据转换成预定格式,由此生成经转换的视频数据;为经转换的视频数据的帧生成第一元数据值,第一元数据值与帧的平均光亮度值相对应;确定包括帧的时间窗口,时间窗口具有预定的时间长度;计算时间窗口上的最大元数据范围和最小元数据范围,由此生成第一经滤波元数据值和第二经滤波元数据值;以及平滑第一经滤波元数据值和第二经滤波元数据值,由此生成第一经平滑且经滤波元数据值和第二经平滑且经滤波元数据值。
通过这种方式,本公开的各个方面至少在视频捕获、编辑和信号处理的技术领域以及视频和其他内容传送的相关领域中实现了改善。
附图说明
参考附图,在以下描述中更全面地公开了各种实施例的这些和其他更详细和具体的特征,在附图中:
图1图示了根据本公开的各个方面的示例性视频传送流水线;
图2图示了根据本公开的各个方面的示例性元数据生成方法的过程流程;
图3图示了通过图2的方法生成的示例性元数据;
图4图示了根据本公开的各个方面的另一个示例性元数据生成方法的过程流程;
图5图示了通过图2的方法生成的示例性元数据;
图6图示了根据本公开的各个方面的另一个示例性元数据生成方法的过程流程;
图7A至图7C分别图示了通过图6的方法生成的示例性元数据;以及
图8图示了根据本公开的各个方面的示例性系统。
具体实施方式
本公开及各方面可以以各种形式实施,包括:由计算机实施的方法控制的硬件、设备或电路、计算机程序产品、计算机系统和网络、用户接口和应用编程接口;以及硬件实施的方法、信号处理电路、存储器阵列、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等。前述发明内容仅旨在给出本公开的各个方面的一般想法,并且不以任何方式限制本公开的范围。
在以下描述中,阐述了如光学设备配置、定时、操作等许多细节,以提供对本公开的一个或多个方面的理解。对本领域技术人员而言显而易见的是,这些具体细节仅是示例性的,并且不旨在限制本申请的范围。
此外,虽然本公开主要集中于将各种电路用在内容生成中的示例,但是应当理解,这仅仅是实施方式的一个示例。应当进一步理解,可以在需要生成、修改或显示图像数据和/或相关元数据的任何设备中使用所公开的系统和方法;例如,影院、消费类和其他商业投影系统、智能手机和其他消费类电子设备、平视显示器、虚拟现实显示器等。
元数据
如本文所使用的,术语“元数据”涉及作为编码比特流的一部分传输并且辅助解码器渲染经解码图像的任何辅助信息。这种元数据可以包括但不限于如本文描述的颜色空间或色域信息、参考显示参数和辅助信号参数,并且可以统称为“图像形成元数据”。
这种元数据可以被划分或分类成不同级别的元数据。在本公开在杜比视觉架构中实施的一个特定示例中,映射元数据可以包括L0元数据、L1元数据、L2/L8元数据、L3参数、L4元数据、L11元数据等。在一些示例中,L0元数据提供或描述关于跨整个视频内容(即,跨多个镜头和/或场景)的视频数据的动态范围的信息。例如,L0元数据可以包括L0min和L0max,其分别表示视频内容的最小光亮度和最大光亮度。在视频内容是HDR内容的一个特定示例中,L0min和L0max可以分别对应于0.01尼特和1000尼特。
在一些示例中,L1元数据提供或描述关于视频数据中所表示的源图像、源场景、源图片组(GOP)等中的光亮度值的分布的信息。光亮度值分布可以由基于图像的图像内容(例如,像素值、亮度值、色度值、Y值、Cb/Cr值、RGB值等)、场景、GOP等得到的直方图表示。L1元数据可以包括参数L1min、L1mid和L1max,其分别表示视频内容中的一个或多个图像、场景、GOPS等的最小光亮度(“挤压(crush)”)、中间色调光亮度(“中间”)和最大光亮度(“剪辑(clip)”)。
也可以定义其他级别的元数据。例如,L2提供或描述关于视频特性调整的信息,这些信息源自或追溯到由主管、颜色分级者、视频专业人员等在制作工作室中和/或在后期制作期间进行的调整。L8元数据类似于L2元数据,并且在一些情况下可以等同于L2元数据(例如,取决于相应的色调曲线)。L2和L8元数据可以被称为“修整”参数,并且可以指示或涉及图像数据的增益/偏移/功率。L2元数据可以对应于具有第一参考动态范围的第一参考显示。
L3元数据提供或描述关于视频特性调整的信息,这些信息源自或追溯到由主管、颜色分级者、视频专业人员等进行的调整。与L2元数据相比,L3元数据可以对应于具有与第一参考显示的参考动态范围不同的参考动态范围的第二参考显示。L3元数据可以包括例如相对于L1元数据的偏移或调整,包括对挤压、中间和/或剪辑光亮度值的偏移或调整。
L4元数据提供或描述关于全局调光操作的信息。L4元数据可以由编码器在预处理期间计算,并且可以使用RGB基色来计算。在一个示例中,L4元数据可以包括逐帧地指示显示面板的全局背光明亮度水平的数据。其他生成的元数据(如L11元数据)可以提供或描述要用于识别视频数据源的信息,如电影内容、计算机游戏内容、体育内容等。这种元数据可以进一步提供或描述预期的图片设置,如预期的白点、锐度等。
总之,图像形成元数据可以包括用于从第一动态范围转换为不同于第一动态范围的第二动态范围的转换数据。在本公开的一些方面,第一动态范围可以高于第二动态范围(例如,从HDR到SDR的转换)。在本公开的其他方面,第二动态范围可以高于第一动态范围(例如,从SDR到HDR的转换)。
生成图像形成元数据的比较方法可以包括计算每帧元数据(例如,每帧L1元数据)以及应用IIR滤波(例如,对于直播或游戏)或者通过计算场景的最小值、中间值和最大值将元数据组合到场景中(例如,对于工作室或专业离线内容)。然而,这些方法都不允许在编辑期间即时预览内容。例如,用户可能想要使HDR图片更亮,并在SDR监视器上预览结果作为参考显示。为此,执行以下步骤:对HDR图片应用调整;为经调整的HDR图片重新计算L1元数据;修改色调映射操作;并且对经调整的HDR图片应用经调整的色调映射以产生SDR预览图片。
如果应用于单个图像,则这组操作可能是令人满意的,因为单个图像可以合理地存储在存储器中,所以可以快速连续地应用这些操作。然而,L1元数据(以及由此产生的色调曲线)可能会在帧之间有很大差异,从而导致映射的图像闪烁。这可以被称为“时间不稳定性”。为了确保色调曲线的时间稳定性,可以执行某种滤波。然而,如果元数据重新计算操作依赖于多个图像,则调整操作和元数据重新计算操作必须应用于许多图像,这在快速的视频速率下可能是不切实际或不可能的。
因此,生成图像形成元数据的比较方法可能导致调整、更新和预览结果的迭代周期变慢。此外,IIR滤波比较方法可能需要在当前帧之前分析非常大量的帧,因为当前帧需要IIR滤波器的所有先前帧。工作室或专业比较方法需要场景的所有帧,在一些情况下,这些帧的长度可能为分钟级别,甚至小时级别。
鉴于此,本公开的各个方面提供了生成用于高效编辑(即,产生高图像质量和高时间稳定性的编辑)的元数据的方法。本公开的各个方面可以以低计算要求以及低延迟或无延迟来完成这种编辑。在一些方面,生成元数据的方法被结合到视频传送流水线中或者与视频传送流水线一起使用。
视频传送流水线
图1图示了示例性视频传送流水线,并且示出了从视频捕获到视频内容显示的各个阶段。此外,虽然关于视频(即,移动图像)提供了以下描述,但本公开不限于此。在一些示例中,图像内容可以是静止图像或视频与静止图像的组合。图像内容可以由光栅(或像素)图形、矢量图形或光栅图形与矢量图形的组合来表示。图1图示了图像生成块101、制作块102、后期制作块103、编码块104、解码块105和显示管理块106。图1中所图示的各种块可以实施为硬件、软件、固件或它们的组合或者经由硬件、软件、固件或它们的组合来实施。此外,所图示块的各种组可以将它们相应的功能组合起来,和/或可以在不同的设备中和/或在不同的时间执行。所图示块的各个块或组可以经由包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、ASIC、FPGA和它们的组合的电路来实施。由这些块中的一个或多个块执行的操作可以是本地处理的、远程处理的(例如,基于云的)或本地处理与远程处理组合的。
如图1中所图示的,视频传送流水线进一步包括参考显示器111和目标显示器112,可以提供该参考显示器以辅助或监视在后期制作块103处进行的操作。出于解释目的,图像生成块101、制作块102、后期制作块103和编码块104可以被称为“上游”块或部件,而解码块105和显示管理块106可以被称为“下游”块或部件。
在图1所图示的示例中,在图像生成块101处捕获或生成视频帧序列121形式的视频内容。可以数字地捕获(例如,由数码相机)或者由计算机生成(例如,使用计算机动画)视频帧121,以生成视频数据122。可替代地,可以通过胶片相机将视频帧121捕获在胶片上,并且然后将这些视频帧转换为数字格式以提供视频数据122。在任一种情况下,将视频数据122提供给制作块102,在该制作块中编辑该视频数据以提供制作流123。视频帧121可以被分组为序列,如镜头和场景。例如,镜头是一组在时间上相连的帧。镜头可以通过“镜头剪辑”(例如,图像的全部内容而不是只有图像的部分内容发生变化的时间点)来分隔。例如,场景是描述较大内容的故事性片段的一系列镜头。在视频内容是动作电影的一个特定示例中,视频内容可能包括(除其他外)追逐场景,该追逐场景又包括一系列镜头(例如,追赶车辆的驾驶员的镜头、被追赶车辆的驾驶员的镜头、发生追逐的街道的镜头等)。
然后将视频制作流123中的视频数据提供给后期制作块103处的一个或多个处理器以进行后期制作编辑。在后期制作块103处执行的编辑可以包括调整或修改图像的特定区中的颜色或明亮度,以根据视频创作者(或编辑者)的创作意图来增强图像质量或实现图像的特定外观。这可以被称为“颜色计时(color timing)”或“颜色分级(color grading)”。可以在后期制作块103处执行其他编辑(例如,场景选择和排序、图像裁剪、添加计算机生成的视觉特效或叠加等),以产生分发流124。在一些示例中,后期制作块103可以将中间流125提供给参考显示器111以允许在该参考显示器的屏幕上观看图像,以便例如辅助编辑过程。制作块102、后期制作块103和编码块104中的一个、两个或全部可以进一步包括进行处理以将元数据添加到视频数据。此进一步处理可以包括但不限于对内容性质的统计分析。该进一步处理可以是本地执行的或远程执行的(例如,基于云的处理)。
在后期制作操作之后,可以将分发流124传送到编码块104,以便向下游传送到如电视机、机顶盒、电影院、膝上型计算机、平板计算机等解码和回放设备。在一些示例中,编码块104可以包括如由先进电视系统委员会(ATSC)、数字视频广播(DVB)、数字多功能光盘(DVD)、蓝光和其他传送格式定义的音频编码器和视频编码器,从而生成经编码比特流126。在接收器中,经编码比特流126由解码单元105解码,以生成表示分发流124的相同或接近近似内容的经解码信号127。接收器可以附接到目标显示器112,该目标显示器可以具有与参考显示器111不同的特性。在参考显示器111和目标显示器112具有不同特性的情况下,显示管理块106可以用于:通过生成显示器映射的信号128,将经解码信号127的动态范围或其他特性映射到目标显示器112的特性。另外地或可替代地,显示管理块106可以用于提供目标显示器112的功率管理。
目标显示器112使用像素阵列来生成图像。特定阵列结构取决于显示器的架构和分辨率。例如,如果目标显示器112在LCD架构上运行,则该目标显示器可以包括相对低分辨率的背光阵列(例如,LED或其他发光元件阵列)以及相对高分辨率的液晶阵列和彩色滤光器阵列,以选择性地使来自背光阵列的白光衰减并且提供彩色光(通常被称为双调制显示技术)。如果目标显示器112在OLED架构上运行,则该目标显示器可以包括高分辨率的自发光彩色像素阵列。
上游块与下游块之间的链接(即,提供经编码比特流126的路径)可以通过如使用电磁波进行空中广播的现场或实时传输来体现,或经由如光纤、双绞线(以太网)和/或同轴电缆等内容传送线路来体现。在其他示例中,该链接可以通过与时间无关的传输来体现,如将经编码比特流记录到物理介质(例如,DVD或硬盘)上以物理传送到终端用户设备(例如,DVD播放器)。解码器块105和显示管理块106可以并入到与目标显示器112相关联的设备中;例如,采用包括解码、显示管理、电源管理和显示功能的智能TV的形式。在一些示例中,解码器块105和/或显示管理块106可以并入到与目标显示器112分开的设备中;例如,采用机顶盒或媒体播放器的形式。
解码器块105和/或显示管理块106可以被配置成:响应于在上游块处包括或添加的元数据而接收、分析和操作。因此,这种元数据可以用于提供对目标显示器112的附加控制或管理。元数据可以包括上述图像形成元数据(例如,杜比视觉元数据)。可以使用参考显示器111和生产流123和/或中间流125在后期制作块103处生成元数据。
半动态元数据生成
可以使用“半动态”方法生成图像形成元数据,图2中图示了该方法的示例。图2所图示的操作可以通过使用与图1的后期制作块103相关联的硬件、软件、固件或其组合来自动执行。
如图2所图示的,半动态元数据生成过程可以开始于操作201,其中视频信号被转换成预定格式(例如,特定的EOTF)。例如,视频信号可以从混合对数-伽马(HLG)或SLOG-3HDR转换成RGB感知量化器(PQ)HDR,例如,如在Rec.ITU-R BT.2100-1(06/2017)中描述的。在一些实施方式中,在操作202处,可以应用空间平滑和/或二次采样。操作202可以使用2D平滑核(例如,[1 1]/2或[1 3 3 1]/8)来实施。这降低了对单个像素的灵敏度。在一些示例中,在滤波之后,图像可以被缩减到更小尺寸(例如,一半尺寸)。在其他实施方式中,操作202可以被省略,并且半动态元数据生成过程可以直接从操作201进行到操作203。在操作203处,计算L1mid的初始值(例如,逐帧地)。例如,L1mid可以表示最大RGB光亮度的平均值。换句话说,L1mid可以表示每个像素的颜色分量值R、G、B的最大值的平均值。L1min和L1max的值不是根据内容计算的,而是在操作204处使用与图像内容的最小允许范围和最大允许范围相对应的固定值,如L0元数据中所表示的(例如,Level0.Smin和Level0.Smax)。例如,当使用YCbCr表示时,L1mid可以表示Y分量值的平均光亮度值。
作为图2的操作的一个特定示例,使用类似MATLAB的格式呈现以下伪代码:
图3图示了与挤压、中间和剪辑值相对应的元数据的上述操作的示例性输出。每个图都图示了作为帧数的函数的归一化光亮度。线310
因为L1min和L1max分别设置为L0min和L0max的值,所以挤压和剪辑元数据值并不严格匹配所有帧的实际光亮度值。在图3所图示的特定示例中,最小每帧光亮度值(线310
元数据的半动态生成只需要处理单个帧。这种方法效率很高;然而,从图3中可以看出,对于不使用容器的全部动态范围的图像,使用挤压和剪辑元数据值的静态值导致了稍低的映射图像对比度。
动态元数据生成
可以使用“动态”方法生成图像形成元数据,图4中图示了该方法的示例。图4所图示的操作可以通过使用与图1的后期制作块103相关联的硬件、软件、固件或其组合来自动执行。
如图4所图示的,动态元数据生成过程可以开始于操作401,其中视频信号被转换成预定格式(例如,特定的EOTF)。例如,视频信号可以从HLG或SLOG-3HDR转换为RGB PQHDR,例如,如在Rec.ITU-R BT.2100-1(06/2017)中描述的。在一些实施方式中,在操作402处,可以应用空间平滑和/或二次采样。操作402可以使用2D平滑核(例如,[1 1]/2或[1 3 31]/8)来实施。这降低了对单个像素的灵敏度。在一些示例中,在滤波之后,图像可以被缩减到更小尺寸(例如,一半尺寸)。在其他实施方式中,操作402可以被省略,并且半动态元数据生成过程可以直接从操作401进行到操作403。在操作403处,计算L1min、L1mid和L1max的初始值(例如,逐帧地)。例如,L1min可以表示RGB光亮度的最小值,L1mid可以表示最大RGB光亮度的平均值,并且L1max可以表示RGB光亮度的最大值。
随后,在操作404处,使用给定镜头或场景的动态值来重新计算L1min和L1max的值。例如,可以分析镜头或场景的每一帧,以确定跨给定镜头或场景的最小和最大RGB光亮度。在操作405处,使用与在操作404中确定的剪辑范围的最小值和最大值相对应的值来重新计算L1min和L1max的值。与上述半动态方法相比,动态方法可以更接近地对应于图像数据,因为L1min和L1max是关于内容的实际最小和最大RGB光亮度确定的,而不是关于内容的允许(即,可能的)最小和最大RGB光亮度确定的。
作为图4的操作的一个特定示例,使用类似MATLAB的格式呈现以下伪代码:
图5图示了与对应于挤压、中间和剪辑值的元数据的上述操作相对应的元数据的上述操作的示例性输出。每个图都图示了作为帧数的函数的归一化光亮度。线510
因为L1min和L1max被设置为跨剪辑的所有帧的最小值,所以挤压和剪辑元数据值并不严格匹配所有帧的实际光亮度值。然而,与上述半动态方法相比,挤压和剪辑元数据值与实际光亮度值更加匹配。在图5所图示的特定示例中,最小每帧光亮度值(线510
元数据的动态生成需要处理给定镜头或场景中的所有帧,因此与元数据的半动态生成相比可能导致更高的计算要求。然而,从图5中可以看出,对于不使用容器的全部动态范围的图像,使用挤压和剪辑元数据值的动态值不会遭受相同类型的映射图像对比度降低。
窗口化FIR元数据生成
可以使用“窗口化”方法生成图像形成元数据,图6中图示了该方法的示例。图6所图示的操作可以通过使用与图1的后期制作块103相关联的硬件、软件、固件或其组合来自动执行。
如图6所图示的,窗口化元数据生成过程可以开始于操作601,其中,av视频信号被转换成预定格式(例如,特定的EOTF)。例如,视频信号可以从HLG或SLOG-3HDR转换为RGB PQHDR,例如,如在Rec.ITU-R BT.2100-1(06/2017)中描述的。此后,在操作602处,应用空间平滑和/或二次采样。操作402可以使用2D平滑核(例如,[1 1]/2或[1 3 3 1]/8)来实施。这降低了对单个像素的灵敏度。在一些示例中,在滤波之后,图像可以被缩减到更小尺寸(例如,一半尺寸)。在操作603处,计算L1min、L1mid和L1max的初始值(例如,逐像素地)。例如,L1min可以表示最小RGB光亮度的最小值,L1mid可以表示最大RGB光亮度的平均值,并且L1max可以表示最大RGB光亮度的最大值。
随后,在操作604处,确定移动窗口(k)中的帧列表。这可以被指定为最大时间长度T乘以帧速率。时间窗T(也称为“时间”窗口)可以由操作者配置。在一些示例中,时间窗T可在0.4秒与8秒之间配置。在一个特定示例中,时间窗T是4秒。如下面将更详细描述的,选择时间窗T的特定值来平衡时间稳定性和图片质量;例如,较短的窗口可能引入一定程度的闪烁,而较长的窗口可能产生更静态的过程。然而,窗口本身被配置成使得不跨越场景切换,并且因此由当前场景的第一帧和最后一帧来界定。
操作605是计算窗口的最小值和最大值的第一阶段(pass)。例如,对于移动窗口k中的每一帧f,操作605可以使用如[1 1]/2、[1 2 1]/4、[1 3 3 1]/8或[1 3 8 3 1]/16等1D平滑核来平滑元数据,由此获得平滑的元数据L1minS(f)和L1maxS(f)。这降低了对单个帧的灵敏度。此后,操作605可以确定移动窗口k上的最大元数据范围;例如通过计算L1minM(f)=min(L1minS(k))(即,最小平滑的最小元数据值)和L1maxM(f)=max(L1max(S(k))(即,最大平滑的最大元数据值)。
操作606是平滑窗口的最小值和最大值的第二阶段。例如,操作606可以将平滑滤波器F作为具有L个抽头和标准偏差s=L/6的高斯形状来计算,然后对于移动窗口k中的每一帧f,可以用平滑滤波器F平滑在操作605中计算的经滤波元数据,以获得经平滑且经滤波元数据值L1minF和L1maxF。操作606还可以针对每一帧f将L1min和L1max设置为经平滑且经滤波的元数据值,并将L1mid设置为其在操作603中确定的初始值。
因为操作605和606被应用于帧的移动窗口,所以操作604、605和606可以重复,使得给定场景内所有可能的窗口都被处理。
作为图6的操作的一个特定示例,使用类似MATLAB的格式呈现以下伪代码:
图7A至图7C图示了针对不同窗口长度的与挤压、中间和剪辑值相对应的元数据的上述操作的示例性输出。每个图都图示了作为帧数的函数的归一化光亮度。在图7A至图7C中的每一个中,线710
通过将图7A至图7C相互比较,可以看出,较短的窗口长度使得图片质量提高(例如,线721
元数据的窗口化生成产生作为移动窗口的挤压和剪辑的外部包络的元数据。与元数据的半动态生成相比,其需要计算更多的帧,但是计算任何单个帧的元数据所需的帧数是有限的,这与上述比较方法不同。通过连续应用两次滤波器,得到的滤波器基本上是指定窗口长度的三倍。连续的操作可以例如使用上述伪代码组合成单个操作或流程。
示例性计算机系统实施方式
本公开的各个方面可以利用计算机系统、以电子电路和部件来配置的系统、集成电路(IC)设备(如微控制器、FPGA或另一个可配置或可编程逻辑器件(PLD)、离散时间或数字信号处理器(DSP)、ASIC)和/或包括这样的系统、设备和部件中的一个或多个的装置来实施。计算机和/或IC可以执行、控制或实行与以上描述的处理或操作相关的指令。计算机和/或IC可以计算与以上描述的处理或操作相关的各种参数或值中的任何参数或值。
图8图示了本公开的一个或多个方面可以在其中实施的计算机系统800的一个示例。如所图示的,计算机系统800包括总线801或用于传送信息的其他通信机构、以及与总线801耦接以处理信息的硬件处理器802。处理器802可以是例如通用微处理器。
计算机系统800还包括耦接到总线801以用于存储要由处理器802执行的信息和指令的主存储器803,如随机存取存储器(RAM)或其他动态存储设备。主存储器803还可以用于存储在执行要由处理器802执行的指令期间的临时变量或其他中间信息。在被存储于处理器802可访问的非暂态存储介质中时,这种指令使得计算机系统800变成被定制用于执行在指令中指定的操作的专用机器。
计算机系统800进一步包括只读存储器(ROM)804或耦接至总线801以用于为处理器802存储静态信息和指令的其他静态存储设备。可以提供如磁盘或光盘等存储设备805并且将该存储装置805耦接到总线801以存储信息和指令。计算机系统800可以经由总线801耦接到如液晶显示器等显示器811上,以用于向计算机用户显示信息。包括字母数字键和其他键的输入设备812耦接到总线801,以用于将信息和命令选择传送到处理器802。计算机系统800可以经由总线801进一步耦接到光标控件813,如鼠标、轨迹球或光标方向键,以用于向处理器802传送方向信息和命令选择并且用于控制显示器811上的光标移动。
计算机系统800可以使用定制的硬接线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实施本文所描述的技术,定制的硬接线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑与计算机系统相结合,使计算机系统800成为专用机器或者将其编程为专用机器。根据一个实施例,响应于处理器802执行包含在主存储器803中的一个或多个指令的一个或多个序列,计算机系统800执行如本文所描述的技术。这种指令可以从另一个存储介质(如存储设备805)读取到主存储器803中。包含在主存储器803中的指令序列的执行使处理器802执行本文所描述的过程步骤。在替代实施例中,可以使用硬接线电路来代替软件指令或者与软件指令相结合。
如本文所使用的术语“存储介质”是指存储使机器以特定方式操作的数据和/或指令的任何非暂态介质。这种存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,如存储设备805。易失性介质包括动态存储器,如主存储器803。常见形式的存储介质包括例如软盘、软磁盘、硬盘、固态驱动器、磁带或任何其他磁性数据存储介质、CD-ROM、任何其他光学数据存储介质、具有孔图案的任何物理介质、RAM、PROM和EPROM、闪速EPROM、NVRAM、任何其他存储器芯片或存储盒。
存储介质不同于传输介质但可以与传输介质结合使用。传输介质参与存储介质之间的信息传递。例如,传输介质包括同轴电缆、铜线和光纤,包括包含总线801的导线。传输介质还可以采用声波或光波的形式,如在无线电波和红外数据通信期间生成的声波或光波。
各种形式的介质可以涉及将一个或多个指令的一个或多个序列载送到处理器802以供执行。例如,指令最初可以携带在远程计算机的磁盘或固态驱动器上。远程计算机可以将指令加载至其动态存储器,并通过如同轴电缆、光纤等通信链路来发送这些指令。计算机系统800本地的通信接口806可以接收通信线路上的数据,并且适当的电路可以将数据放置在总线801上。总线801将数据载送到主存储器803,处理器802从该主存储器803取得并执行指令。主存储器803接收的指令可以可选地在由处理器802执行之前或之后存储在存储设备805上。
通信接口806提供耦接到网络链路821的双向数据通信,该网络链路821连接到本地网络822。例如,通信接口806可以是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器、或用于向对应类型的电话线提供数据通信连接的调制解调器。作为另一个示例,通信接口806可以是局域网(LAN)卡,用于提供与相容LAN的数据通信连接。还可以实施无线链路。在任何这种实施方式中,通信接口806发送和接收携带表示各种类型信息的数字数据流的电信号、电磁信号或光信号。
网络链路821通常通过一个或多个网络向其他数据设备提供数据通信。例如,网络链路821可以提供通过本地网络822到主计算机823或到由因特网服务提供商(ISP)824操作的数据设备的连接。ISP 824进而通过现在通常称为“因特网”825的全球分组数据通信网络来提供数据通信服务。本地网络822和因特网825都使用携带数字数据流的电信号、电磁信号或光信号。通过各种网络的信号以及网络链路821上和通过通信接口806的信号(其将数字数据载送到计算机系统800和从该计算机系统800载送数字数据)是传输介质的示例形式。
计算机系统800可以通过(多个)网络、网络链路821和通信接口806发送消息和接收包括程序代码的数据。在因特网示例中,服务器826可以通过因特网825、ISP 824、本地网络822和通信接口806来传输应用程序的请求代码。所接收的代码可以在被接收到时由处理器802执行和/或存储在存储设备805、或其他非易失性存储设备中以供稍后执行。
应用和效果
本公开的以上方面可以提供元数据的生成,该元数据可以用于提供改善的视频质量、改善的时间稳定性、低计算要求和减少的延迟。
根据本公开的系统、方法和设备可以采用以下配置中的任何一种或多种。
(1)一种对视频内容进行编辑的方法,所述方法包括:接收输入视频数据;将所述输入视频数据转换成预定格式,由此生成经转换的视频数据;为所述经转换的视频数据的帧生成多个初始元数据值,所述多个初始元数据值包括:第一元数据值,所述第一元数据值与并非根据包括所述帧的内容计算的第一固定值相对应;第二元数据值,所述第二元数据值与所述帧的平均光亮度值相对应;以及第三元数据值,所述第三元数据值与并非根据所述内容计算的第二固定值相对应,其中,所述第一元数据值、所述第二元数据值和所述第三元数据值包括由解码器用于在显示器上呈现经解码图像的信息。
(2)根据(1)所述的方法,进一步包括:在生成所述多个初始元数据值之前,对所述经转换的视频数据应用空间平滑操作。
(3)根据(2)所述的方法,其中,应用所述空间平滑操作包括对所述经转换的视频数据进行二次采样。
(4)根据(2)或(3)所述的方法,其中,应用所述空间平滑操作包括将所述经转换的视频数据缩减到更小尺寸。
(5)根据(1)至(4)中任一项所述的方法,进一步包括:输出分发视频数据,所述分发视频数据包括与所述帧相对应的视频数据部分、所述第一元数据值、所述第二元数据值和所述第三元数据值。
(6)根据(1)至(5)中任一项所述的方法,其中,所述第一固定值与所述内容的最小允许光亮度值相对应,并且所述第二固定值与所述内容的最大允许光亮度值相对应。
(7)根据(1)至(6)中任一项所述的方法,其中,所述预定格式是感知量化器高动态范围格式。
(8)一种存储指令的非暂态计算机可读介质,所述指令在由计算机系统的处理器执行时使所述计算机系统执行包括根据(1)至(7)中任一项所述的方法的操作。
(9)一种视频编辑系统,包括:存储器;以及处理器,所述处理器被配置为使所述视频编辑系统进行以下操作:接收输入视频数据;将所述输入视频数据转换成预定格式,由此生成经转换的视频数据;为所述经转换的视频数据的帧生成多个初始元数据值,所述多个初始元数据值包括:第一元数据值,所述第一元数据值与并非根据包括所述帧的内容计算的第一固定值相对应;第二元数据值,所述第二元数据值与所述帧的平均光亮度值相对应;以及第三元数据值,所述第三元数据值与并非根据所述内容计算的第二固定值相对应。
(10)根据(9)所述的视频编辑系统,其中,所述处理器被配置为使所述视频编辑系统进行以下操作:在生成所述多个初始元数据值之前,对所述经转换的视频数据应用空间平滑操作。
(11)根据(10)所述的视频编辑系统,其中,所述空间平滑操作包括对所述经转换的视频数据进行二次采样。
(12)根据(10)或(11)所述的视频编辑系统,其中,所述空间平滑操作包括将所述经转换的视频数据缩减到更小尺寸。
(13)根据(9)至(12)中任一项所述的视频编辑系统,其中,所述处理器被配置为进一步使所述视频编辑系统进行以下操作:输出分发视频数据,所述分发视频数据包括与所述帧相对应的视频数据部分、所述第一元数据值、所述第二元数据值和所述第三元数据值。
(14)根据(9)至(13)中任一项所述的视频编辑系统,其中,所述第一固定值与所述内容的最小允许光亮度值相对应,并且所述第二固定值与所述内容的最大允许光亮度值相对应。
(15)根据(9)至(14)中任一项所述的视频编辑系统,其中,所述预定格式是感知量化器高动态范围格式。
(16)一种对视频内容进行编辑的方法,所述方法包括:接收输入视频数据;将所述输入视频数据转换成预定格式,由此生成经转换的视频数据;为所述经转换的视频数据的帧生成第一元数据值,所述第一元数据值与所述帧的平均光亮度值相对应;确定包括所述帧的时间窗口,所述时间窗口具有预定的时间长度;计算所述时间窗口上的最大元数据范围和最小元数据范围,由此生成第一经滤波元数据值和第二经滤波元数据值;以及平滑所述第一经滤波元数据值和所述第二经滤波元数据值,由此生成第一经平滑且经滤波元数据值和第二经平滑且经滤波元数据值。
(17)根据(16)所述的方法,其中,所述预定的时间长度是四秒。
(18)根据(16)或(17)所述的方法,其中,所述窗口被配置为不与所述输入视频数据中的场景切换交叉。
(19)根据(16)至(18)中任一项所述的方法,进一步包括在生成所述第一元数据值之前对所述经转换的视频数据应用空间平滑操作。
(20)一种存储指令的非暂态计算机可读介质,所述指令当由计算机系统的处理器执行时使所述计算机系统执行包括根据(16)至(19)中任一项所述的方法的操作。
关于本文描述的过程、系统、方法、启发法等,应当理解,虽然这样的过程等的步骤已经被描述为按照特定有序的顺序进行,但是这样的过程可以利用以与本文描述的顺序不同的顺序执行的所描述步骤来实践。进一步应当理解,某些步骤可以同时执行,可以添加其他步骤,或者可以省略本文描述的某些步骤。换句话说,本文的过程描述是出于说明某些实施例的目的而提供的,并且决不应当被解释为为了限制权利要求。
因此,应当理解,以上描述旨在是说明性的而非限制性的。通过阅读以上描述,除了所提供的示例之外的许多实施例和应用程序将是显而易见的。范围不应当参考以上描述来确定,而是应当参考所附权利要求以及这些权利要求有资格考虑的等效物的全部范围来确定。预期并希望的是,本文讨论的技术将在未来有所发展,所公开的系统和方法将结合进这种未来实施例中。总之,应当理解,本申请是可以进行修改和改变的。
权利要求中所使用的所有术语都旨在被赋予其如了解本文描述的技术的人所理解的最广泛的合理解释及普通含义,除非本文中出现相反的明确指示。特别地,如“一(a)”、“该(the)”、“所述(said)”等单数冠词的使用应当被理解为叙述一个或多个所指示的要素,除非权利要求叙述了相反的明确限制。
提供本公开的摘要以允许读者快速确定技术公开的性质。基于其将不被用于解释或者限制权利要求的范围或者含义的理解提交本摘要。另外,在前述的具体实施方式中,可以看到,出于将本公开连成一个整体的目的而将各种特征一起组合到各种实施例中。本公开的方法不应当被解释为反映所要求保护的实施例并入了比每项权利要求中所明确叙述的特征多的特征的意图。相反,如权利要求所反映的,创造性主题在于少于单个公开的实施例的全部特征。因此,所附权利要求由此被结合到具体实施方式中,每项权利要求独自作为单独要求保护的主题。
可以从以下枚举的示例实施例(EEE)中理解本发明的各个方面:
1.一种对视频内容进行编辑的方法,所述方法包括:
接收输入视频数据;
将所述输入视频数据转换成预定格式,由此生成经转换的视频数据;
为所述经转换的视频数据的帧生成多个初始元数据值,所述多个初始元数据值包括:第一元数据值,所述第一元数据值与并非根据包括所述帧的内容计算的第一固定值相对应;第二元数据值,所述第二元数据值与所述帧的平均光亮度值相对应;以及第三元数据值,所述第三元数据值与并非根据所述内容计算的第二固定值相对应,
其中,所述第一元数据值、所述第二元数据值和所述第三元数据值包括解码器用于在显示器上呈现经解码图像的信息。
2.根据EEE 1所述的方法,进一步包括:在生成所述多个初始元数据值之前,对所述经转换的视频数据应用空间平滑操作。
3.根据EEE 2所述的方法,其中,应用所述空间平滑操作包括对所述经转换的视频数据进行二次采样。
4.根据EEE 2或EEE 3所述的方法,其中,应用所述空间平滑操作包括将所述经转换的视频数据缩减到更小尺寸。
5.根据EEE 1至4中任一项所述的方法,进一步包括:
输出分发视频数据,所述分发视频数据包括与所述帧相对应的视频数据部分、所述第一元数据值、所述第二元数据值和所述第三元数据值。
6.根据EEE 1至5中任一项所述的方法,其中,所述第一固定值与所述内容的最小允许光亮度值相对应,并且所述第二固定值与所述内容的最大允许光亮度值相对应。
7.根据EEE 1至6中任一项所述的方法,其中,所述预定格式是感知量化器高动态范围格式。
8.一种存储指令的非暂态计算机可读介质,所述指令在由计算机系统的处理器执行时使所述计算机系统执行包括根据EEE 1至7中任一项所述的方法的操作。
9.一种视频编辑系统,包括:
存储器;以及
处理器,所述处理器被配置为使所述视频编辑系统进行以下操作:
接收输入视频数据,
将所述输入视频数据转换成预定格式,由此生成经转换的视频数据,
为所述经转换的视频数据的帧生成多个初始元数据值,所述多个初始元数据值包括:第一元数据值,所述第一元数据值与并非根据包括所述帧的内容计算的第一固定值相对应;第二元数据值,所述第二元数据值与所述帧的平均光亮度值相对应;以及第三元数据值,所述第三元数据值与并非根据所述内容计算的第二固定值相对应。
10.根据EEE 9所述的视频编辑系统,其中,所述处理器被配置为使所述视频编辑系统进行以下操作:
在生成所述多个初始元数据值之前,对所述经转换的视频数据应用空间平滑操作。
11.根据EEE 10所述的视频编辑系统,其中,所述空间平滑操作包括对所述经转换的视频数据进行二次采样。
12.根据EEE 10或EEE 11所述的视频编辑系统,其中,所述空间平滑操作包括将所述经转换的视频数据缩减到更小尺寸。
13.根据EEE 9至12中任一项所述的视频编辑系统,其中,所述处理器被配置为进一步使所述视频编辑系统进行以下操作:
输出分发视频数据,所述分发视频数据包括与所述帧相对应的视频数据部分、所述第一元数据值、所述第二元数据值和所述第三元数据值。
14.根据EEE 9至13中任一项所述的视频编辑系统,其中,所述第一固定值与所述内容的最小允许光亮度值相对应,并且所述第二固定值与所述内容的最大允许光亮度值相对应。
15.根据EEE 9至14中任一项所述的视频编辑系统,其中,所述预定格式是感知量化器高动态范围格式。
- 一种用于分布式现场表演预定音频录制、基于云的音频内容编辑和音频磁道及相关元数据的在线内容分布的系统、内容编辑服务器、音频录制从动设备和内容编辑界面
- 用于将高动态范围(HDR)内容转换成标准动态范围(SDR)内容的视频色调映射