本申请是PCT申请号为PCT/US2016/053537、国际申请日为2016年9月23日、中国申请号为201680056523.5、发明名称为“信号传送传输流中的高动态范围和宽色域内容”的申请的分案申请。
本申请根据35U.S.C.§119(e),要求于2015年9月23日早期提交的美国临时申请序列号No.62/222,381以及于2016年5月13日早期提交的美国临时申请序列号No.62/336,148的优先权,其全部内容在此通过引用并入本文。
具体实施方式
图1描绘了包括编码器100和与显示器104耦合的解码器102的视频系统的实施例。
编码器100可以包括被配置为将视频数据编码、转码和/或压缩成比特流的处理器、存储器、电路和/或其他硬件和软件元件,而解码器102可以类似地包括被配置成将比特流解码、转码和/或解压缩为重构的视频数据的处理器、存储器、电路和/或其他硬件和软件元件。编码器100和解码器102可以根据诸如HEVC(高效视频编码)或H.264/MPEG-4AVC(高级视频编码)的视频编码格式和/或压缩方案,分别编码和解码视频数据。作为非限制性示例,在一些实施例中,编码器100和解码器102可以使用Main 10HEVC配置文件。
在一些实施例中,编码器100和/或解码器102可以是专用硬件设备。在其他实施例中,编码器100和/或解码器102可以是或使用在诸如服务器、计算机或视频处理设备的其他硬件上运行的软件程序。作为非限制性示例,编码器100可以是由视频服务提供者操作的视频编码器,而解码器102可以是连接到电视或其他显示器104的接收器或机顶盒,诸如电缆盒的一部分。在一些实施例中,解码器102和显示器104可以被集成为单一设备。
如图1所示,编码器100可以将所接收的视频106编码成比特流并且将编码的比特流打包成传输流108。作为非限制性示例,传输流108可以是MPEG-2传输流。可以在互联网上、在诸如正交幅度调制(QAM)的数字有线电视连接上或者在任何其他数字传输或传送机制上,将传输流108提供给解码器102。解码器102可以从传输流108中提取编码的比特流并且解码它们以输出视频106的重建版本以在显示器104上回放。显示器104可以是电视机、监视器、设备屏幕或被配置成呈现重建视频106的任何其他类型的显示器。
在一些情况或实施例中,视频106可以包含高动态范围(HDR)和/或宽色域(WCG)内容。HDR/WCG视频可以具有在比标准动态范围(SDR)和/或标准色域(SCG)中的值的视频的更大范围中表示的亮度和色度值。
然而,许多显示器104和/或解码器102还不支持HDR/WCG视频106。与SDR内容相比,HDR内容可以具有更高的最大可见亮度与最小可见亮度的比。尽管HDR显示器104通常可以处理和显示SDR内容,但是一些解码器102和/或SDR显示器104未被配置为将HDR值转换成较小动态范围以在SDR显示器104上回放。作为非限制性示例,在一些实施例中,SDR显示器104可以被配置成再现如由建议ITU-R BT.2035部分3.2所定义的高达100尼特(每平方米烛光)的亮度值,而在一些实施例中,HDR显示器104可以再现高达1000尼特或更大的亮度值。建议ITU-R BT.2035在此引入以供参考。类似地,虽然WCG显示器104通常可以处理和显示SCG内容,但是一些解码器102和/或SCG显示器104未被配置为将WCG值转换为用于在SCG显示器104上回放的较窄色域。作为另一非限制性示例,在一些实施例中,SDR显示器104可以再现由建议ITU-R BT.709定义的标准色域中的色度值,而在一些实施例中,HDR显示器104可以再现由建议ITU-R BT.2020定义的宽色域中的色度值。建议ITU-R BT.709和建议ITU-RBT.2020在此引入以供参考。
在一些实施例中,可伸缩视频压缩方案,诸如可伸缩HEVC(SHVC)可被用来在基本层中编码关于视频106的SDR/SCG版本的信息,而可被用来将基本层中的SDR/SCG值转换为HDR/WCG值的信息可以被编码在单独的非基础增强层中。如此,被设置为将视频106输出到SDR/SCG显示器104的解码器102可以忽略该增强层并且仅解码基本层的信息以重建视频106的SDR/SCG版本。类似地,被设置为将视频106输出到HDR/WCG显示器104的解码器102可以解码来自基本层的SDR/SCG值,并且使用HDR/WCG增强层中的信息来将解码的SDR/SCG值转换为HDR/WCG值。在一些情况下,可以利用新的增强层增强现有基本层中编码的SDR/SCG内容,该增强层指示如何将现有的SDR/SCG值转换为HDR/WCG值。
在一些实施例中,诸如SHVC比特流的可伸缩视频编码比特流可以包括指示增强层中存在HDR/WCG内容和/或用于该层的缓冲器参数的视频描述符、指示用于SDR/SCG基本层和HDR/WCG增强层的层装配层级的层级描述符,和/或指示用于解码和/或渲染HDR/WCG内容的解码器资源的操作点描述符。然而,这些描述符通常被编码在比特流本身内。如此,解码器102可能需要花费时间和处理资源来在由描述符确定是否使用增强层之前,开始解码比特流。此外,许多解码器102不支持诸如SHVC的可伸缩视频编码。
在其他实施例中,可以使用非可伸缩编码方案,其中,可以将HDR/WCG视频编码成标准的非可伸缩比特流。尽管许多非可伸缩编码方案最初是针对具有用8位或10位表示的值的SDR/SCG视频而开发的,但当以更高位深度格式,诸如具有由16位表示的色彩值来提供HDR/WCG视频时,编码器100可以执行各种预处理操作以将HDR/WCG 16位值转换成可以使用诸如HEVC的非可伸缩编码方案编码的10或8位值。由此解码器102可以解码10或8位值,然后执行反转编码器的预处理操作以重建HDR/WCG值的后处理操作。因此,解码器102可以将相同的基本解码步骤用于HDR/WCG和SDR/SCG比特流两者,无需改变以解压缩,但是如果需要,则使用后处理操作以重建HDR/WCG值。在一些情况下,部署的解码器102可以用新固件升级以执行新的后处理步骤来重建HDR/WCG值,然而,未升级的部署的解码器102仍然可以使用已知的10或8位配置文件解码比特流。在一些实施例或情况下,编码器的预处理步骤可以在编码之前,将HDR/WCG内容转换为SDR/SCG内容,使得SDR/SCG解码器102可以直接在SDR/SCG显示器104上呈现解码值而无需预处理步骤。
在这样的系统中,编码器100可以指示关于它们在编码比特流内执行的预处理操作的信息,使得解码器102可以解码比特流并检查它以确定如何在解码值上执行相应的后处理操作。例如,关于预处理操作的信息可以被包括在补充增强信息(SEI)、视频可用性信息(VUI)的比特流和/或比特流的其他元素内。
然而,尽管在比特流中包括关于预处理操作的信息可以允许解码器102确定哪些后处理操作是必要的和/或如何执行它们,当这种信息仅包括在比特流内时,解码器102在检查该信息并且确定它是否不能执行由解码比特流指示的后处理操作之前,必须首先解码比特流。
因此,在一些情况下,解码器102在确定不能处理解码值以显示之前,会浪费时间和资源来解码比特流。例如,预期解码器102将执行后处理操作来将解码值转换为原始HDR/WCG值的实质重建来编码HDR/WCG视频的比特流。可以利用关于由编码器100执行的预处理操作的信息编码比特流。虽然输出到HDR/WCG显示器104的解码器102可以解码比特流并且使用该信息来重建用于显示器104的HDR/WCG视频,但是用于SDR/SCG显示器104的解码器102或者尚未被配置为执行后处理操作的解码器102会在识别来自比特流内编码的信息的不兼容性之前,浪费时间和资源来解码比特流。作为非限制性示例,编码器100可以执行预处理操作,以使用MPEG Main 10配置文件来将HDR/WCG视频编码成比特流,然后信号传送传递函数和其在SEI消息内和用于HDR内容的VUI内使用的其他信息并且信号传送用于WCG内容的VUI中的BT.2020色彩信息。如此,所有Main 10配置文件解码器102都可以在不改变解压缩方法的情况下解码比特流,但是并非所有解码器102都能够执行适当的后处理步骤以使得视频可呈现在非HDR或非WCG显示器104上。
本文公开了用于在不解码比特流的情况下,确定比特流是否包含HDR和/或WCG内容的技术,使得解码器102可以基于其自身能力和/或连接的显示器104的能力,预先确定是否应当投入资源来解码比特流。在使用MPEG-2传输流的许多应用,诸如广播应用中,信号传送比特流之外的节目级上存在HDR和/或WCG内容和/或其他信息可以允许支持HDR/WCG的解码器102和显示器104确定比特流包含HDR/WCG内容,因此它们能够正确地渲染解码的内容,而不具有处理或显示HDR/WCG内容的能力的解码器102和显示器104可以忽略内容或尝试将其转换为SDR/SCG内容以便显示。
图2是描绘传输流108的组件的框图。在一些实施例中,传输流108可以包括用于单个节目,诸如单个视频106的数据,而在其他实施例中,传输流108可以包括用于复用在一起的多个节目的数据。对传输流108中的每个节目,传输流108可以包括节目映射表202和与该节目相关联的一个或多个基本流204。传输流108还可以包括识别传输流108中的所有节目映射表202,诸如用于复用传输流108中的多个节目中的每一个的节目映射表202的节目关联表。
基本流204可以是由编码器100从视频106产生的编码比特流,诸如表示视频的视觉分量或音频分量的编码比特流。作为非限制性示例,基本流204可以是HEVC比特流。基本流204可以包括包含视频数据的编码表示和/或关于视频106的其他信息,诸如如何编码的一系列分组。分组可以被称为分组的基本流(PES)分组。单个基本流204可以被包含在一系列PES分组中。在一些实施例中,基本流204的分组可以是NAL(网络抽象层)单元。
传输流108中的节目映射表202可以在包括它们的传输流中的节目号和节目元素之间提供被称为“节目定义”的映射,使得节目映射表202是用于传输流108的所有节目定义的完整集合。特别地,一个或多个基本流204可以与节目映射表202上的同一节目相关联。作为非限制性示例,节目映射表202可以标识用于节目的视频分量的基本流204和用于节目的音频分量的另一基本流204,使得解码器102可以解码两个基本流204以回放节目的视频和音频分量。
节目映射表202可以列出用于与同一节目相关联的每个基本流204的基本流标识符206。在一些实施例中,基本流标识符206可以是分组标识符(PID)。在这些实施例中,作为同一基本流的一部分的传输流108中的所有分组共享同一PID值。在传输流108是MPEG-2传输流的实施例中,基本流标识符206可以是“elementary_PID”值,指定携带相关联的基本流的传输流分组的PID的13位字段。
节目映射表202还可以列出与同一节目相关联的每个基本流204的流类型标识符208。流类型标识符208可以指示用于编码基本流204的编码方案。在传输流108是MPEG-2传输流的实施例中,流类型标识符208可以是“stream_type”值。作为非限制性示例,当基本流204是HEVC比特流时,在节目映射表202中,与基本流204相关联的“stream_type”值被设置为0x24。
对于在节目映射表202中标识的每个视频基本流204,节目映射表202还可以包括高动态范围(HDR)标志210和/或宽色域(WCG)标志212。
HDR标志210可以指示基本流204的内容在被解码时,是否将具有处于高动态范围(HDR)或标准动态范围(SDR)中的色彩值。由此,解码器102可以使用HDR标志210来基于其自身的能力和/或所连接的显示器104的能力来确定是否应该或不应当尝试解码和处理相关联的基本流204。
在一些实施例中,HDR标志210可以具有布尔数据类型,使得值0指示基本流204具有HDR内容并且值1不指示HDR内容的存在。在其他实施例中,HDR标志210可以具有布尔数据类型,使得值1指示基本流204具有HDR内容并且值0不指示HDR内容的存在。在其他实施例中,HDR标志210可以具有任何其他数据类型,诸如指示基本流204中存在或不存在HDR内容的整数值或串。
WCG标志212可以指示基本流204的内容在被解码时,是否将具有宽色域(WCG)或标准色域(SCG)中的色彩值。由此解码器102可以使用WCG标志212来基于其自身的能力和/或所连接的显示器104的能力来确定是否应该或不应当尝试解码和处理关联的基本流204。
在一些实施例中,WCG标志212可以具有布尔数据类型,使得值0指示基本流204具有WCG内容并且值1不指示WCG内容的存在。在其他实施例中,WCG标志212可以具有布尔数据类型,使得值1指示基本流204具有WCG内容并且值0不指示WCG内容的存在。在其他实施例中,WCG标志212可以具有任何其他数据类型,诸如指示基本流204中存在或不存在WCG内容的整数值或串。
虽然本文单独地描述了HDR标志210和WCG标志212,但在替选实施例中,两个标志可以组合成指示在基本流204中存在或不存在HDR和WCG内容两者的单一元素,诸如标志或数据字段。
由此,与节目映射表202中的基本流204相关联的HDR标志210和/或WCG标志212可以允许解码器102基于其自身的解码能力和/或显示器104可以再现的色彩值,确定是否应该解码该基本流204。解码器102可以基于与节目映射表202中的基本流204相关联的HDR标志210和/或WCG标志212来进行确定,无需在发现是否包含HDR/WCG内容前首先投入处理时间和资源来解码基本流204。
作为第一非限制性示例,解码器102可以被配置为解码HDR/WCG内容并且被连接到HDR/WCG显示器106。在该示例中,解码器102可以检查节目映射表202并且由HDR标志210和/或WCG标志212确定相关联的基本流204是否包含HDR/WCG内容。如果标志指示存在HDR/WCG内容,则可以选择该基本流204并且开始对其进行解码。如果标志不指示存在HDR/WCG内容,则可以选择该基本流204并且开始对其进行解码或者替选地,搜索另一HDR/WCG基本流204。
作为第二非限制性示例,解码器102可以被配置为解码HDR/WCG内容,但被连接到未被配置为显示HDR/WCG内容的SDR/SCG显示器104。在该示例中,解码器102可以检查节目映射表202并且由HDR标志210和/或WCG标志212确定相关联的基本流204是否包含HDR/WCG内容。如果标志不指示存在HDR/WCG内容,则可以开始解码基本流204。
在该示例中,在一些实施例中,当HDR标志210和/或WCG标志212指示基本流204中存在HDR/WCG内容时,解码器102可以尝试解码基本流204并且将HDR/WCG值转换成可由SDR/SCG显示器104显示的SDR/SCG值。作为非限制性示例,解码器102可以尝试使用色彩容量转换操作来将解码的HDR/WCG值转换为SDR/SCG值。
在替选的实施例中,当HDR标志210和/或WCG标志212指示基本流204中存在HDR/WCG内容时,解码器102可以搜索替选的SDR/SCG基本流204。作为非限制性示例,解码器102可以在具有不指示存在HDR/WCG内容的标志的同一节目映射表202中寻找用于节目的替选基本流204。作为另一非限制性示例,解码器102可以在同一传输流108的不同节目映射表202中查找SDR/SCG基本流204,或者请求替选传输流108。
作为第三非限制性示例,未被配置为解码HDR/WCG内容的解码器102可以检查节目映射表202并且由HDR标志210和/或WCG标志212确定关联的基本流204是否包含HDR/WCG内容。如果标志不指示存在HDR/WCG内容,则可以开始解码基本流204。如果标志指示存在HDR/WCG内容,则可以搜索另一SDR/SCG基本流204,因为它缺少利用HDR/WCG内容解码基本流204的能力。作为非限制性示例,可能未更新解码器的固件以解码或处理HDR/WCG色彩值。
图3描绘了基本流204可以在编码器100处利用编码操作302被编码并且在解码器102处利用解码操作304被解码的系统的实施例。对于SDR/SCG视频,可以根据期望的编码格式,诸如被称为核心HEVC编解码器的10位HEVC配置文件编码和解码基本流204。然而,对于HDR/WCG视频,编码器100可以使用一个或多个预处理操作306来将HDR/WCG内容转换为可以使用该期望的编码格式编码的形式。作为非限制性示例,在一些实施例中,可以以高位深度格式,诸如具有以将16位浮点值用于包括红色通道、绿色通道和蓝色通道的每一色彩通道的线性光RGB域表示的RGB色彩值的EXR文件格式提供用于HDR/WCG视频106的色彩值。如此,编码器100可以将HDR/WCG视频106中的16位值转换成可以使用10位HEVC配置文件编码的10位值。
预处理操作306可以包括传递函数、色彩空间转换、位深度缩减、色度子采样和/或任何其他操作。
在预处理操作306期间使用的传递函数可以包括将线性标度上的值重新分布到非线性曲线的非线性传递函数。作为非限制性示例,大多数色彩相似的HDR/WCG视频106中的场景,诸如在夜间设置的黑暗场景可以使其大部分RGB值集中在大的线性范围的相同部分上。如此,编码器100可以使用非线性传递来重新分布非线性曲线上的这些值,使得色彩之间的小差异可以比原始线性标度上更明显。
在预处理操作306期间使用的色彩空间转换可以包括将原始或转换的色彩值,诸如转换的非线性值转换为不同的色彩空间。作为非限制性示例,可以将RGB值转换为Y值表示亮度分量、Cb值表示蓝色差色度分量以及Cr值表示红色差色度分量的YCbCr色彩空间。
在预处理操作306期间使用的位深度缩减可以包括将高位深度值量化为较低位深度值。作为非限制性示例,用于HDR/WCG视频的16位色彩值可以被量化为按量化步长分隔的有限个量化的10位或8位值中的一个。
在预处理操作306期间使用的色度子采样可以是专用于Cb和/或Cr色度分量的位量的减少。作为非限制性示例,HDR/WCG YCbCr值可以具有4:4:4的分辨率,其中,用同一位数描述Y亮度分量、Cb色度分量和Cr色度分量。编码器100可以执行色度子采样操作以将4:4:4值转换为4:2:0值,这减少了投入到Cb和Cr色度分量的采样的次数,因为与Y亮度分量相比,人眼通常对这些分量更不敏感。
在执行这些预处理操作306中的任何一个或全部和/或其他预处理操作306之后,编码器100可以执行编码操作302以将预处理数据编码为比特流,诸如被包括在传输流108中的基本流204。编码器100可以按照用于期望的编码方案,诸如HEVC或AVC的编码操作302。
编码器100可以在基本流204中包括指示执行哪些预处理操作306和/或如何执行预处理操作306的信息。作为非限制性示例,编码器100可以在基本流204中编码被用于参数化非线性传递函数的参数的值。
在一些实施例中,关于由编码器100使用的预处理操作306的信息可以被包括在基本流204内的NAL单元中包括的补充增强信息(SEI)中。作为非限制性示例,基本流204可以包括表示编码的视频数据的字节的一系列VCL(视频编码层)NAL单元和指示关于如何编码视频106的其他信息的非VCL NAL单元,并且SEI可以被包括在基本流204内的非VCL NAL单元中。在替选实施例中,关于一个或多个预处理操作306的信息可以被包括在基本流204内的其他类型的分组或NAL单元,诸如视频参数集(VPS)、序列参数集(SPS)或图片参数集(PPS)中。作为非限制性示例,关于一个或多个预处理操作的信息可以被包括在SPS中包括的视频可用性信息(VUI)中。
在一些实施例中,关于预处理操作306的信息可以被包括在基本流204的不同部分中。作为非限制性示例,可以在SEI消息中信号传送关于用于HDR内容的传递函数的信息,而关于WCG内容的信息可以在VUI中加以指示。
编码器100可以准备包括编码的基本流204和节目映射表202的传输流108,该节目映射表202包括HDR标志210和/或WCG标志212,其指示在基本流204中存在或不存在HDR/WCG内容。传输流108可以被传送到解码器102。
如图3所示,当编码器100执行预处理操作306以将HDR/WCG视频106转换成可以使用期望编码方案,被编码成基本流204的形式时,解码器102可以执行解码操作304以解码基本流204。然而,因为在这种情况下,编码器的预处理操作306在编码它们之前,以特定方式转换原始HDR/WCG值,所以可以使用对应的后处理操作308来反转预处理操作306的效果并且实质上重建HDR/WCG视频106。基本流204中的信息,诸如上述的SEI或VUI可以向解码器102指示使用哪些预处理操作306和/或如何推导或执行对应的后处理操作308来反转它们的效果。
一些解码器102可以被配置为识别和执行对应的后处理操作308,其可以被用来转换解码值并且重建HDR/WCG视频106。然而,其他解码器102可能缺乏识别和/或执行这样的后处理操作308的能力。作为非限制性示例,可能未更新解码器的固件以执行后处理操作308。
如此,当列出基本流204的节目映射表202包括指示基本流中存在或不存在HDR/WCG内容的HDR标志210和/或WCG标志212时,解码器102可以由这些标志确定其是否能够解码基本流204。当节目映射表202中的标志未指示在基本流204中存在HDR/WCG内容时,解码器102可以确定其可以使用解码操作304来解码基本流204。当标志节目映射表202的确指示基本流204中存在HDR/WCG内容时,已经被配置为标识和执行后处理操作308的解码器102可以选择以解码该基本流204,而未被配置为标识或执行后处理操作308的解码器102可以选择以查找替选的SDR/SCG基本流204。
图4描绘了包括HDR标志210和WCG标志212的HEVC视频描述符400的语法的非限制性示例。HEVC视频描述符400可以是被包括在传输流108中的节目映射表202中的描述符。作为非限制性示例,HEVC视频描述符400可以是包括在MPEG-2传输流中的“HEVC_descriptor”元素以及诸如基本流标识符206和流类型标识符208的其他信息。
对于HEVC基本流204,流类型标识符208可以是被设置为0x24的值以指示HEVC基本层组件的“stream_type”字段。由于解码器102可以预期0x24的“stream_type”值指示符合10位配置文件的HEVC基本流,“stream_type”值可以指示传统解码器102可以解码基本流204。然而,如本文所述,在一些情况下,在解码10位配置文件HEVC基本流之后,可以使用后处理步骤来重建HDR/WCG值。
HEVC视频描述符400可以指示利用HEVC编码的基本流204的属性,包括解码器102可以通过其识别诸如HEVC基本流204的配置文件和级别参数的编码参数的信息。在一些实施例中,其可以指示HEVC时间视频子位流或HEVC时间视频子集的属性,诸如包含在基本流204中的HEVC最高时间子层表示。如图4所示,HEVC视频描述符400可以包括多个字段。
可以根据在此引入以供参考的建议ITU-T H.265和ISO/IEC23008-2中定义的语义,编码在图4所示的HEVC视频描述符400中的“profile_space”、“tier_flag”、“profile_idc”、“profile_compatibility_indication”、“progressive_source_flag”、“interlaced_source_flag”、“non_packed_constraint_flag”、“frame_only_constraint_flag”、“reserved_zero_44bits”和“level_idc”字段。
当HEVC视频描述符400描述HEVC基本流204或HEVC完整时间表示时,“profile_space”、“tier_flag”、“profile_idc”、“profile_compatibility_indication”、“progressive_source_flag”、“interlaced_source_flag”、“non_packed_constraint_flag”、“frame_only_constraint_flag”、“reserved_zero_44bits”和“level_idc”字段可以应用于整个HEVC基本流204或HEVC完整时间表示,并且可以分别根据用于general_profile_space、general_tier_flag、general_profile_idc、general_profile_compatibility_flag[i]、general_progressive_source_flag、general_interlaced_source_flag、general_non_packed_constraint_flag、general_frame_only_constraint_flag、general_reserved_zero_44bits和general_level_idc的建议ITU-T H.265和ISO/IEC 23008-2中定义的语义来编码这些字段。
元素general_profile_space指定对在范围为0到31(包括0和31)中的所有j值,用于解释general_profile_idc和general_profile_compatibility_flag[j]的上下文。general_profile_space的值可以被设置为0。当general_profile_space不等于0时,解码器102可以忽略编码的视频序列。
元素general_tier_flag指定用于解释general_level_idc的层上下文。
当general_profile_space等于0时,元素general_profile_idc指示编码的视频序列符合的配置文件。
当general_profile_space等于0时,元素general_profile_compatibility_flag[j]等于1,指示编码的视频序列符合由等于j的general_profile_idc指示的配置文件。当general_profile_space等于0时,general_profile_compatibility_flag[general_profile_idc]应该等于1。对于没有被指定为general_profile_idc的允许值的j的任何值,general_profile_compatibility_flag[j]的值应当等于0。
元素general_progressive_source_flag和general_interlaced_source_flag解释如下。如果general_progressive_source_flag等于1并且general_interlaced_source_flag等于0,则编码的视频序列中的图片的源扫描类型应当被解释为仅逐行。否则,如果general_progressive_source_flag等于0并且general_interlaced_source_flag等于1,则编码的视频序列中的图片的源扫描类型应当被解释为仅隔行。否则,如果general_progressive_source_flag等于0并且general_interlaced_source_flag等于0,则编码的视频序列中的图片的源扫描类型应当被解释为未知或未指定。否则,诸如如果general_progressive_source_flag等于1并且general_interlaced_source_flag等于1,则使用图片时序SEI消息中的语法元素source_scan_type,在图片级指示编码的视频序列中的每个图片的源扫描类型。为了除当vui_parameters_present_flag等于0时,确定对frame_field_info_present_flag推断的值以外的目的,解码器102可以忽略general_progressive_source_flag和general_interlaced_source_flag的值,因为不存在与这些标志的值相关联的其他解码处理要求。
等于1的元素general_non_packed_constraint_flag指定在编码的视频序列中既不存在帧封装排列SEI消息也不存在分段矩形帧封装排列SEI消息。general_non_packed_constraint_flag等于0指示可以存在或不存在出现在编码的视频序列中的一个或多个帧封装排列SEI消息或分段矩形帧封装排列SEI消息。解码器102可以忽略general_non_packed_constraint_flag的值,因为不存在与帧封装排列SEI消息或分段矩形帧封装排列SEI消息的存在或解释相关联的解码处理要求。
等于1的元素general_frame_only_constraint_flag指定元素field_seq_flag等于0。等于0的general_frame_only_constraint_flag指示field_seq_flag可以等于或不等于0。解码器102可以忽略general_frame_only_constraint_flag的值,因为不存在与field_seq_flag的值相关联的解码处理要求。
元素general_reserved_zero_44bits(当存在时)可以被设置为0。解码器102可以忽略general_reserved_zero_44bits的值。
元素general_level_idc指示编码的视频序列符合的级别。general_level_idc值越大表示级别越高。在对编码的视频序列的视频参数中信号传递的最大级别可以高于在对同一编码的视频序列设定的序列参数中信号传递的级别。当编码的视频序列符合多个配置文件时,general_profile_idc应当指示如由编码器100所确定的、提供优选解码结果或优选比特流标识的配置文件。
当HEVC视频描述符400描述HEVC最高时间子层表示不是HEVC完整时间表示的HEVC时间视频子比特流或HEVC时间视频子集时,根据在用于sub_layer_profile_space、sub_layer_tier_flag、sub_layer_profile_idc、sub_layer_profile_compatibility_flag[i]、sub_layer_progressive_source_flag、sub_layer_interlaced_source_flag、sub_layer_non_packed_constraint_flag、sub_layer_frame_only_constraint_flag、sub_layer_reserved_zero_44bits和sub_layer_level_idc的建议ITU-T H.265和ISO/IEC23008-2中定义的语法,针对对应的HEVC最高时间子层表示分别编码“profile_space”、“tier_flag”、“profile_idc”、“profile_compatibility_indication”、“progressive_source_flag”、“interlaced_source_flag”、“non_packed_constraint_flag”、“frame_only_constraint_flag”、“reserved_zero_44bits”和“level_idc”字段。这些语义可以分别与用于general_profile_space、general_tier_flag、general_profile_idc、general_profile_compatibility_flag[i]、general_progressive_source_flag、general_interlaced_source_flag、general_non_packed_constraint_flag、general_frame_only_constraint_flag、general_reserved_zero_44bits和general_level_idc的语义相同,但是应用于具有特定TemporalId的子层表示。在这些情况下,这些字段可以应用于HEVC视频描述符400关联的整个HEVC最高时间子层表示。
在HEVC视频流的一个或多个序列中,该级别低于在HEVC视频描述符400中信号传递的级别,同时还可以发生在HEVC视频描述符400中信号传递的配置文件的子集的配置文件。然而,在整个HEVC视频流中,应当使用被包括在HEVC视频描述符400中信号传递的配置文件中的整个比特流语法的仅子集(如果存在的话)。如果HEVC视频流中的序列参数集信号传递不同的配置文件,并且没有信号传递额外的约束,则该流可能需要检查以确定整个流符合哪个配置文件(如果有的话)。如果HEVC视频描述符400将与不符合单个配置文件的HEVC视频流相关联,则HEVC视频流应当被分成两个或以上的子流,使得HEVC视频描述符400可以信号传递用于每一这样的子流的单个配置文件。
图4所示的HEVC视频描述符400中的“temporal_layer_subset_flag”字段可以是1位字段。当设置为1时,可以指示HEVC描述符400包括描述时间层的子集的元素。在一些实施例中,对于HEVC时间视频子集和对HEVC时间视频子比特流,可以将“temporal_layer_subset_flag”设置为1。当“temporal_layer_subset_flag”被设置为0时,可以从HEVC视频描述符400中省略元素“temporal_id_min”和“temporal_id_max”。
图4所示的HEVC视频描述符400中的“HEVC_still_present_flag”字段可以是1位字段。当设置为1时,可以指示HEVC视频流或HEVC最高时间子层表示可以包括HEVC静态图片。当设置为0时,可以指示HEVC视频流不包含HEVC静态图片。瞬时解码刷新(IDR)图片可以与等于0的TemporalId值相关联,如此,如果HEVC视频描述符400应用于HEVC时间视频子集,则HEVC静态图片可以仅存在于相关联的HEVC时间视频子比特流中。
图4所示的HEVC视频描述符400中的“HEVC_24_hour_picture_present_flag”字段可以是1位字段。当设置为1时,可以指示HEVC视频流或HEVC最高时间子层表示可以包含HEVC 24小时图片。当设置为0时,可以指示HEVC视频流不包含HEVC 24小时图片。
图4所示的HEVC视频描述符400中的“sub_pic_hrd_params_not_present_flag”字段可以是1位字段。当设置为0时,可以指示HEVC视频流中的VUI具有设置为1的“sub_pic_hrd_params_present_flag”语法元素。当设置为1时,可以指示HEVC流缺少具有“sub_pic_hrd_params_present_flag”语法元素的VUI,或者该元素被设置为0。支持子画面处理模式的解码器102可以使用SEI消息中指定的HEVC视频流中的延迟值来管理传输流系统目标解码器,诸如解码单元移除的时序和解码单元的解码,而不是PES头中的时间戳值。
图4所示的HEVC视频描述符400中的“temporal_id_min”和“temporal_id_max”字段都可以是3位字段,分别指示如建议ITU-T H.265和ISO/IEC 23008-2中定义的、在关联的基本流204中的所有HEVC存取单元的最小值和最大值“TemporalID”。
如图4所示,HDR标志210可以是HEVC视频描述符400内的1位“HDR_video_not_present_flag”字段,而WCG标志212可以是HEVC视频描述符400内的1位“WCG_video_not_present_flag”字段。在一些实施例中,“WCG_video_not_present_flag”和“HDR_video_not_present_flag”可以在由HEVC视频描述符400的先前版本中的保留位保持的位置处被插入到HEVC视频描述符400中。
在该实施例中,将“HDR_video_not_present_flag”设置为0可以指示基本流204中存在HDR值,而将“HDR_video_not_present_flag”设置为1不指示基本流204中存在HDR值。当“profile_idc”字段指示10位配置文件时,“HDR_video_not_present_flag”可以被设置为0。
在该实施例中,将“WCG_video_not_present_flag”设置为0可以指示基本流204中存在WCG值,而将“WCG_video_not_present_flag”设置为1不指示基本流204中存在WCG值。当“profile_idc”字段指示10位配置文件时,“WCG_video_not_present_flag”可以被设置为0。
本文论述的布尔值0和1也可以被理解为分别等效于“假”和“真”真值。在一些实施例中,除了0之外的任何值可以被视为是真。
图5描绘了可以存在于节目映射表202的一些替选实施例中的字段,包括一个或多个后处理操作标识符502和/或SDR/SCG核心流标记504。在一些实施例中,除了或代替HDR标志210和/或WCG标志212,一个或多个这些字段可以存在于节目映射表202中。
在一些实施例中,后处理操作标识符502可以指示解码器102需要执行哪些特定的或哪种类型的后处理操作308来由解码值重建HDR/WCG视频106,和/或如何执行这样的后处理操作。作为非限制性示例,后处理操作标识符502可以基本上类似于基本流204内、关于预处理操作306和/或后处理操作308的SEI、VUI或任何其他元素中传输的参数或其他信息。如此,解码器102可以检查与基本流204相关联的后处理操作标识符502,以确定其是否已经被配置为在解码基本流204之前,执行所标识的后处理操作308。
在其它实施例中,后处理操作标识符502可以指示解码器102可以用来将HDR/WCG值转换为SDR/SCG值的后处理操作308。作为非限制性示例,在一些实施例中,由编码器100执行的预处理操作306可以识别解码器102可以将HDR/WCG值转换成SDR/SCG值的传递函数和/或其他操作。如此,一些后处理操作标识符502可以向SDR/SCG显示器104的解码器102指示这些类型的操作,使得解码器102可以由基本流204解码HDR/WCG值,然后使用所标识的操作将解码值转换为SDR/SCG值。
SDR/SCG核心流标记504可以指示通过解码操作304,从基本流204获得的值是否可以被显示在SDR/SCG显示器上,无需后处理操作308。在一些情况下,编码器的预处理操作306可以将HDR/WCG视频106转换成SDR/SCG视频106,然后编码器100编码基本流204。作为非限制性示例,在一些实施例中,编码器100可以将16位HDR/WCG视频106转换成10位SDR/SCG视频,该视频可以使用具有10位配置文件的核心HEVC编解码器编码。如此,在这些情况下,用于SDR/SCG显示器104的解码器102可以使用从基本流204解码的值来显示重建的SDR/SCG视频106,而用于HDR/WCG显示器104的解码器102可以在解码的SDR/SCG值上执行后处理操作308以将这些值转换为HDR/WCG值并且基本上重建原始HDR/WCG视频106。
在一些情况下,HDR标志210和WCG标志212可以指示在基本流204中存在HDR/WCG内容,但SDR/SCG核心流标记504可以指示期望由解码操作获得的值304适合于显示为SDR/SCG视频106。在这些情况下,当SDR/SCG核心流标记504指示解码的基本流204被呈现为SDR/SCG视频106,无需后处理操作308时,用于SDR/SCG显示器104的解码器102可以选择HDR/WCG基本流204。
替选地,SDR/SCG核心流标记504可以指示预期将由解码操作304获得的值将不适合于在没有后处理操作308的情况下呈现在SDR/SCG显示器104上。作为非限制性示例,在一些情况下,编码器的预处理操作306可以将HDR/WCG值转换为可以更好地编码为基本流204的形式,但是这改变了编码器100期望解码器102通过后处理操作308反向的值。如此,SDR/SCG核心流标记504可以指示中间编码值不适于在没有后处理操作308的情况下显示。
尽管上文已经具体地描述了本发明,但这仅仅是教导本领域的普通技术人员如何制造和使用本发明。许多另外的改进将落在本发明的范围内,因为该范围由所附权利要求限定。