对多层vdr译码中的感知量化的视频内容进行编码的制作方法_2

文档序号:9333053阅读:来源:国知局
的补充的EL图像数据(例如,图1A和图1B的108等)。BL图像数据(106)和 EL图像数据(108)两者都是从相对较高位深(例如,12+位VDR等)源视频内容(104)推 导/量化的。
[0050] 在一些实施例中,BL图像数据(106)被放置在基本层容器(例如,8位YCbCr 4:2:0容器等)中。在一些实施例中,EL图像数据(108)包括(例如,VDR等)源视频内容 (104)的相对于从BL图像数据(106)产生的预测图像数据的残余图像数据。在一些实施 例中,EL图像数据(108)被放置在一个或多个增强层容器(例如,一个或多个8位残余数 据容器等)中。BL图像数据(106)和EL图像数据(108)可以被下游设备(例如,图1B的 152等)接收和用于重构(例如,VDR等)源视频内容(104)的相对较高位深(例如,12+位 等)的解码版本(例如,感知解码的VDR版本等)。
[0051] 如本文中所使用的,术语"位深"是指在提供对图像数据进行编码或量化可用的码 字的译码空间中所提供的位数;低位深的例子是8位;高位深的例子是12位或更多。具体 地说,术语"低位深"或"高位深"不是指码字的最低有效位或最高有效位。
[0052] 在示例实施例中,多层编码器(102)被配置为接收包括输入VDR图像序列的(例 如,VDR等)源视频内容(104)。输入VDR图像序列表示一个或多个场景,其中每个场景包 括VDR图像序列中的多个输入图像。如本文中所使用的,"输入VDR图像"一般是指可以被 用于推导源图像(例如,高端图像获取设备所捕捉的场景参考图像等)的VDR版本的宽或 高动态范围图像数据。输入VDR图像可以在支持高动态范围色域的任何颜色空间中。在一 些实施例中,输入VDR图像是相对于源图像而言的将图像数据提供给VDR图像编码器(102) 进行编码的唯一输入;相对于源图像而言的用于根据本文中所描述的技术的基本层处理的 输入图像数据可以使用感知量化技术、基于输入VDR图像而产生。
[0053] 在示例实施例中,从(例如,VDR等)源视频内容(104)解码的输入VDR图像是 YCbCr颜色空间中的12+位YCbCr图像。在例子中,在输入VDR图像中表示的每个像素包括 用于针对颜色空间(例如,YCbCr颜色空间)定义的所有通道(例如,亮度通道Y、色度通道 Cb和Cr等)的码字。每个码字包括用于颜色空间中的通道中的一个或多个通道的上采样 的或下采样的码字。
[0054] 在示例实施例中,多层编码器(102)被配置为将输入VDR图像的码字从第一颜色 空间(例如,RGB颜色空间等)变换到第二颜色空间(例如,YCbCr颜色空间等)。
[0055] 在示例实施例中,多层编码器(102)被配置为将第一采样格式(例如,4:4:4采样 格式等)的输入VDR图像下采样或上采样为不同的第二采样格式(例如,4:2:0采样格式 等)。
[0056] 在示例实施例中,多层编码器(102)被配置为对源视频内容(104)执行与感知量 化相关的操作以产生(例如,8位等)BL图像数据(196)。与感知量化相关的操作包括但不 限于以下中的一个或多个:映射操作(114)、裁剪操作(116)、BL编码操作(118)等。
[0057] 在映射操作(114)中,多层编码器(102)被配置为使用映射函数来将(例如,VDR 等)源视频内容(104)中的一个或多个输入VDR图像中的(例如,12位+等)输入VDR码 字(例如,VDR亮度码字vY、VDR色度码字/等)映射到与该一个或多个VDR图像对应的一 个或多个映射图像中的映射码字(例如,映射亮度码字cY、映射色度码字(^等)。
[0058] 在裁剪操作(116)中,多层编码器(102)被配置为对低于最小值或高于最大值的 映射码字进行裁剪。BL图像数据(106)的位深的可用码字的数量(例如,位深为8位时〈 = 256,等等)可能没有大得足以容纳未裁剪的映射码字的整个数值范围。因此,一个或多 个映射图像中的最高映射码字和/或最低映射码字中的一些可以在裁剪操作(116)中被裁 剪到最大值和/或最小值。多层编码器(102)被配置为基于一个或多个映射图像和一个或 多个因素确定/选择最佳的最小值和最大值。所述一个或多个因素包括但不限于:最小化 需要被裁剪的映射码字的数量、最大化在裁剪操作之后的所述一个或多个映射图像的一个 或多个(例如,突出、中央等)部分的表示的/感知的细节等等。
[0059] 在BL编码操作(118)中,多层编码器(102)被配置为确定多层编码器(102)中的 BL编解码器将源码字(例如,vY等)映射到颜色空间(例如,YCbCr颜色空间等)的特定 通道(例如,亮度通道或Y通道等)中的对应的映射码字(例如,cY等)所使用的幂函数的 最佳指数值。在一些实施例中,多层编码器(102)被配置为确定BL编解码器将源码字(例 如,/等)映射到颜色空间(例如,YCbCr颜色空间等)的特定通道(例如,色度通道或Cb/ Cr通道等)中的对应的映射码字(例如,ce等)所使用的分段线性(PWL)映射函数的参数 值。
[0060] 在BL编码操作(118)中,多层编码器(102)被配置为基于幂函数的指数值和/或 PWL映射函数的参数值来将从源视频内容(104)解码的源码字映射/压缩到映射码字并且 格式化映射码字。映射码字中的一些被裁剪。映射码字中的一些或全部包含由将高位深VDR 码字映射到低位深映射码字引起的量化误差。多层编码器(102)被进一步配置为将(例如, 8位等)BL图像数据(106)格式化到(例如,4:2:0等)采样格式的一个或多个(例如,8位 等)BL图像容器中。
[0061] 在示例实施例中,多层编码器(102)将BL图像容器中的BL图像数据(106)作为 多层视频信号的一部分输出到下游设备(例如,图1B的多层解码器152等)。
[0062] 在示例实施例中,多层编码器(102)被配置为执行一个或多个EL操作。所述一个 或多个EL操作包括但不限于以下中的任何一个:BL解码操作(120)、逆映射操作(122)、减 法运算(124)、非线性量化操作(126)、EL编码操作(128)等。
[0063] 在BL解码操作(120)中,多层编码器(102)被配置为将(例如,8位等)BL图像容 器中的(例如,8位等)BL图像数据(106)解码回与所述一个或多个输入VDR图像对应的一 个或多个映射图像中的映射码字。
[0064] 在逆映射操作(122)中,多层编码器(102)被配置为基于一个或多个查找表(LUT) 将映射码字逆映射到VDR码字。用于逆映射的LUT可以从具有先前确定的指数值的幂函数 和/或具有先前确定的参数值的PWL映射函数被解析地或数值地推导。
[0065] 在一些实施例中,这些LUT中的一些或全部包括查找关键字(例如,映射码字等) 和与查找关键字对应的查找值(例如,VDR码字等)。例如,仅仅为了例示说明的目的,可以 通过将s1= [0, 1,2,…255]代入以下表达式来构造可以被用于将映射码字逆映射到VDR码 字的逆IDLUT:
[0066] (^)
[0067]其中(^和cH分别是在映射操作和/或裁剪操作中确定的、亮度通道中的映射码字 的最小值和最大值;vJPvH分别是在映射操作和/或裁剪操作中确定的、亮度通道中的VDR 码字的最小值和最大值;clip(…)是确保有损压缩(例如,可能BL编码操作等中发生)之 后的任何超出范围(例如,超出范围[cL,cH]等)的码字仍然可以被逆映射到最接近的有 效的VDR码字的裁剪函数。
[0068] 其它类型的LUT(例如,基于PWL等)也可被以类似的方式数值地构造。本文中所 描述的每个LUT均可以被用于将从BL图像数据(106)解码的映射码字逆映射到适用颜色 空间的一个或多个特定通道中的对应的VDR码字。
[0069] 在一些实施例中,多层编码器(102)被配置为实现BL至EL预测(例如,帧内和/ 或帧间预测等)以便减少用于由下游设备(例如,图1B的多层解码器152等)构造VDR图 像的在EL层中承载的EL图像数据的量。多层编码器(102)可以至少部分基于通过逆映射 操作(122)获得的VDR码字来产生预测图像数据。
[0070] 在减法运算(124)中,多层编码器(102)被配置为产生从源视频内容(104)解码 的VDR码字和预测图像数据中所表示的VDR码字之间的残差值。特定通道(例如,亮度通 道、Y通道等)中的残差值可以是对数域或线性域中的减法运算(124)所生成的差值。
[0071] 在非线性量化操作(126)中,多层编码器(102)被配置为使用一个或多个NLQ参 数在颜色空间(例如,YCbCr等)中将第一数字表示(例如,12+位等)的残差值量化为第 二数字表示(例如,8位等)。
[0072] 在EL编码操作(128)中,多层编码器(102)被配置为将通过非线性量化操作产生 的(例如,8位等)残差值编码为(例如,4:2:0等)采样格式的(例如,8位等)EL图像容 器中的EL图像数据(108)。增强层中的EL图像容器可以与基本层中的BL图像容器在逻辑 上分离,即使两个图像容器可以同时被包含在单个数字视频信号(例如,单个译码的位流、 单个媒体文件、单个广播等)中仍如此。
[0073] 在示例实施例中,多层编码器(102)将EL图像容器中的EL图像数据(108)作为 多层视频信号的一部分输出到下游设备(例如,图1B的多层解码器152等)。
[0074] 在示例实施例中,多层编码器(102)将包括在多层编码器(102)的操作中使用的 操作参数中的一些或全部的元数据(130)作为多层视频信号的一部分输出到下游设备(例 如,图1B的多层解码器152等)。发送到下游设备的元数据(130)中的操作参数包括但不 限于以下中的任何一个:映射参数、裁剪参数、在用于伽玛压缩的幂函数中使用的指数值、 逆映射参数、LUT、PWL函数中的枢轴点值、非线性量化参数等中的一个或多个,例如,映射参 数(134)和NLQ参数(132)等。元数据(130)可以是承载在EL层和/或BL层中的数据的 一部分,或者是承载在整个视频位流的单独的子位流中的数据的一部分,例如,作为视频位 流中可用的补充增强信息(SEI)或其它类似的元数据载体的一部分。示例子位流可以是由 DolbyLaboratories,Inc.开发的参考处理单元(RPU)流。
[0075] 例如,在逆映射操作(122)中使用的LUT可以作为元数据(130)的一部分被发送 到下游设备。在一些实施例中,LUT中的查找关键字和与这些查找关键字对应的值作为元数 据(130)的一部分被发送到下游设备。在一些实施例中,至少一个LUT可以可用解析函数 或多段解析函数表示。不是将LUT中的查找关键字和与这些查找关键字对应的值发送到下 游设备,而是将定义解析函数的参数作为元数据(130)的一部分发送到下游设备,以便减 少发送中的元数据(130)的量。在一些实施例中,用于数值地推导LUT的映射函数的参数 作为元数据(130)的一部分被发送到下游设备,而不是发送LUT中的查找关键字和与这些 查找关键字对应的值。下游设备可以如用表达式(1)所示的那样使用参数来推导LUT。管 控编码和解码操作的视频编解码器规范可以包括将本文中描述的参数中的一个或多个从 上游设备(例如,多层编码器102等)传递到下游设备(例如,多层解码器152等)的语法 元素。
[0076]EL图像数据(108)、BL图像数据(106)和元数据可以被下游设备用于产生相对较 宽的动态范围(例如,VDR、HDR等)的图像的解码版本,该解码版本表示源视频内容(104) 中的相对较宽的动态范围的输入图像。
[0077] 诸如BL编码操作(118)、BL解码操作(120)、EL编码操作(128)等的操作中的一 个或多个可以使用多个编解码器中的一个或多个来实现,所述多个编解码器包括但不限于 以下的任何组合:H. 264/AVC/HEVC、MPEG-2、VP8、VC-1和/或其它编解码器。
[0078] 5.多层视频解码
[0079] 包括视频内容的多层视频信号(例如,译码的位流等)可以被多层解码器(例如, 图1B的152等)接收。在一些实施例中,多层解码器(152)接收的视频内容包括相对较低 位深的BL图像数据(例如,图1A、图1B的106等)以及EL图像数据(例如,图1A和图1B 的108等)。在一些实施例中,BL图像数据(106)和EL图像数据(108)都是从相对较高位 深(例如,12+位VDR等)源视频内容(例如,图1A的104等)推导/量化的。在一些实 施例中,多层解码器(152)被配置为接收作为多层视频信号的一部分的元数据(130),其包 括在产生BL图像数据(106)和EL图像数据(108)的操作中使用的操作参数中的一些或全 部。
[0080] 在一些实施例中,BL图像数据(106)被放置在基本层容器(例如,8位YCbCr 4:2:0容器等)中。在一些实施例中
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1