通过HDMI传输显示管理元数据转让专利

申请号 : CN201480054455.X

文献号 : CN105594204B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 曲晟S·N·胡亚勒卡

申请人 : 杜比实验室特许公司

摘要 :

在实施例中,源视频信号包括参考代码值以及用于一个或多个映射函数的映射函数参数,该映射函数将参考代码值映射到装置特定的像素值。参考代码值和映射函数参数被组合到第一视频信号格式的第一视频帧中。映射函数参数表示第一视频帧中携带的DM元数据。第二视频信号格式的第二视频帧基于第一视频信号格式的第一视频帧以及第一视频信号格式和第二视频信号格式之间的映射而产生。第二视频帧通过视频链路在第二视频信号格式的编码视频信号中被发送到视频汇集装置。

权利要求 :

1.一种用于从视频源系统经由视频信号通信路径向视频汇集系统传输视频信号的方法,包括:所述视频源系统接收源视频信号,所述源视频信号包括(a)参考代码值和(b)用于一个或多个映射函数的多个映射函数参数,具有所述多个映射函数参数的所述一个或多个映射函数将参考代码值映射到装置特定的像素值;

所述视频源系统将(a)参考代码值的一个或多个部分以及(b)所述多个映射函数参数组合到一个或多个第一视频信号格式的第一视频帧中,所述多个映射函数参数表示所述一个或多个第一视频信号格式的第一视频帧中携带的显示管理(DM)元数据的至少一部分;

所述视频源系统用信号通知所述视频汇集系统所述视频信号通信路径支持还是不支持传输第一视频信号格式的视频信号;

如果视频信号通信路径不支持传输第一视频信号格式的视频信号:

基于所述一个或多个第一视频信号格式的第一视频帧以及第一视频信号格式和第二视频信号格式之间的映射来产生一个或多个第二视频信号格式的第二视频帧;和所述视频源系统通过所述视频信号通信路径将所述一个或多个第二视频帧在第二视频信号格式的编码视频信号中发送到视频汇集系统;

如果视频信号通信路径支持传输第一视频信号格式的视频信号:

所述视频源系统通过所述视频信号通信路径将所述一个或多个第一视频帧在第一视频信号格式的编码视频信号中发送到视频汇集系统。

2.根据权利要求1所述的方法,其中,所述第一视频信号格式代表YCbCr格式,并且其中,所述第二视频信号格式代表RGB格式。

3.根据权利要求1所述的方法,还包括传输元数据信息帧,所述元数据信息帧具有指示第一视频信号格式的基础视频信号正被携带在第二视频信号格式的编码视频信号中的数据。

4.根据权利要求1所述的方法,还包括:

对所述一个或多个第一视频帧中的DM元数据的一个或多个部分的位值计算一个或多个循环冗余校验(CRC)值;和将所述一个或多个CRC值与DM元数据一起在所述一个或多个第一视频帧中传输。

5.根据权利要求1所述的方法,还包括确定所述视频汇集系统能够执行与所述一个或多个映射函数相关的映射操作。

6.根据权利要求1所述的方法,其中,视频信号通信路径是以下中的一个:高清多媒体接口(HDMI)链路、V-by-One-HS(Vx1)链路、低压差分信令(LVDS)链路、高清串行数字接口(HD-SDI)链路。

7.根据权利要求1所述的方法,其中,所述多个映射函数参数被存储在所述一个或多个第一视频帧中的色度像素值的多个最低有效位字段中。

8.根据权利要求1所述的方法,其中,所述一个或多个第一视频帧形成场景。

9.根据权利要求1所述的方法,其中,所述多个映射函数参数中的一个或多个映射函数参数在所述一个或多个第一视频帧中被重复。

10.根据权利要求1所述的方法,其中,所述一个或多个视频帧中的一个视频帧携带所述多个映射函数参数,所述多个映射函数参数用于对同一视频帧执行与所述一个或多个映射函数相关的映射操作。

11.根据权利要求1所述的方法,其中,所述一个或多个第一视频帧中的一个第一视频帧不携带所述多个映射函数参数,并且其中,所述不携带所述多个映射函数参数的第一视频帧包括表示标志的值,所述标志指示先前接收的所述多个映射函数参数将被用于对同一第一视频帧执行与所述一个或多个映射函数相关的映射操作。

12.根据权利要求1所述的方法,其中,与所述一个或多个映射函数相关的映射操作包括色调映射操作或色域映射操作中的一个或多个。

13.根据权利要求1所述的方法,其中,对所述一个或多个第一视频帧中的存储所述多个映射函数参数的多个位字段进行加扰。

14.根据权利要求1所述的方法,其中,所述一个或多个第一视频帧进一步携带用于除了映射之外的显示管理操作的一个或多个参数。

15.根据权利要求1所述的方法,进一步包括:

视频源系统存储所述第一视频信号格式的特定图像模式;

将多个参考代码值和所述多个映射函数参数组合到一个或多个所述第一视频信号格式的第一视频帧中,所述多个参考代码值表示所述特定图像模式;

基于所述一个或多个第一视频信号格式的第一视频帧以及第一视频信号格式和第二视频格式之间的映射来产生一个或多个第二视频信号格式的第二视频帧;

通过视频信号通信路径将所述一个或多个第二视频帧发送到视频汇集系统;

响应于接收到指示不具有颜色失真的特定图像模式通过视频汇集系统被显示的用户输入,将视频源系统设置为特定操作模式,在所述特定操作模式下,视频源系统执行所述将(a)参考代码值的一个或多个部分以及(b)所述多个映射函数参数组合到一个或多个第一视频信号格式的第一视频帧中。

16.一种用于通过视频汇集系统经由视频信号通信路径接收来自视频源系统的视频信号的方法,包括:视频汇集系统接收来自视频源系统的信号通知,所述信号通知是关于所述视频信号通信路径支持还是不支持传输第一视频信号格式的视频信号;

视频汇集系统经由视频信号通信路径从视频源系统接收编码视频信号;

响应于接收到所述视频信号通信路径不支持传输第一视频信号格式的视频信号的信号通知:从编码视频信号提取一个或多个第二视频信号格式的第二视频帧;

基于第一视频信号格式和第二视频格式之间的映射来从所述一个或多个第二视频帧提取一个或多个第一视频信号格式的第一视频帧;

从所述一个或多个第一视频帧提取参考代码值的一个或多个部分以及多个映射函数参数,响应于接收到所述视频信号通信路径支持传输第一视频信号格式的视频信号的信号通知:从编码视频信号提取一个或多个第一视频信号格式的第一视频帧;

基于所述一个或多个第一视频帧提取参考代码值的一个或多个部分以及多个映射函数参数,并且应用具有所述多个映射函数参数的一个或多个映射函数来将所述参考代码值的所述一个或多个部分映射到装置特定像素值。

17.根据权利要求16所述的方法,还包括接收元数据信息帧,所述元数据信息帧具有指示第一视频信号格式的基础视频信号正被携带在第二视频信号格式的编码视频信号中的数据。

18.根据权利要求16所述的方法,还包括渲染基于所述参考代码值的所述一个或多个部分以及所述多个映射函数参数而构造的一个或多个图像。

19.根据权利要求16所述的方法,进一步包括:

通过视频汇集系统从所述一个或多个第一视频信号格式的视频帧提取特定数据部分;

通过视频汇集系统对所提取的特定数据部分执行循环冗余校验(CRC)测试;

其中,该应用具有所述多个映射函数参数的一个或多个映射函数来将所述参考代码值的所述一个或多个部分映射到映射像素值仅响应于对所提取的特定数据部分的CRC测试成功而被执行。

20.根据权利要求19所述的方法,还包括:

从所述一个或多个第一视频帧提取一个或多个源装置计算的循环冗余校验(CRC)值;

对所述一个或多个第一视频帧的一个或多个特定部分的位值计算一个或多个CRC值;

将所述一个或多个CRC值与所述一个或多个源装置计算的CRC值进行比较。

21.根据权利要求19所述的方法,还包括响应于对从所述编码视频信号提取的特定数据部分的CRC测试失败了指定次数,将视频汇集系统设置为第二特定操作模式,在所述第二特定操作模式下,视频汇集系统不执行参考代码值到装置特定像素值的映射。

22.根据权利要求19所述的方法,其中,所述视频汇集系统被阻止接收具有指示所述编码视频信号包括参考代码值以及用于将参考代码值映射到装置特定像素值的映射函数参数的数据的元数据信息帧。

23.根据权利要求19所述的方法,其中,所述编码视频信号是第一视频信号格式并且包括第一视频信号格式的视频帧,在该第一视频信号格式的视频帧中编码有参考代码值以及用于将参考代码值映射到装置特定像素值的映射函数参数。

24.根据权利要求19所述的方法,其中,所述编码视频信号包括第一视频信号格式的第一视频帧被映射到的视频信号格式的视频帧,该第一视频信号格式与该视频信号格式不同;并且参考代码值以及用于将参考代码值映射到装置特定像素值的映射函数参数被编码在第一视频帧中。

说明书 :

通过HDMI传输显示管理元数据

[0001] 相关申请的交叉引用
[0002] 本申请要求2013年10月2日提交的美国临时专利申请No.61/886,026的优先权,该申请的全部内容特此通过引用并入。

技术领域

[0003] 本发明总体上涉及媒体处理系统,并且特别地涉及通过视频链路传输显示管理元数据。

背景技术

[0004] 技术的进步使得显示系统可以在图像质量特性大幅改进的情况下渲染视频源内容。例如,一些相对现代的显示器能够以高于或者甚至远高于标准动态范围(SDR)的动态范围渲染内容。
[0005] 相比之下,一些显示器具有远窄于高动态范围(HDR)的动态范围。移动装置、平板计算机、游戏装置、低端电视机以及计算机监视器的就动态范围、色域和分辨率而言的视频渲染能力可能受到约束。
[0006] HDR照相机捕捉的源图像可以具有场景相关的动态范围,该动态范围远大于大多数(如果不是全部)显示装置的动态范围。场景相关的HDR图像可以包括大量数据,并且可以被转换为后期制作格式(例如,HDMI视频信号等)以便利于传输和存储。当图像被递送给终端用户的显示装置进行渲染时,装置特定的和/或制造商特定的图像变换沿着该路径发生,导致与原始的场景相关图像相比,在渲染的图像中出现大量视觉明显的错误和劣化。
[0007] 在本部分中描述的方法是可从事的方法,但未必是以前已经构想或从事的方法。因此,除非另外指出,否则,不应仅凭借包含于本部分中而认为在本部分中描述的方法中的任一种为现有技术。类似地,除非另外指出,否则,关于一种或更多种方法识别的问题不应基于本部分而认为在任何现有技术中已被识别。

附图说明

[0008] 本发明在附图中作为示例、而非限制地被例示说明,在附图中,相似的编号指代类似的元件,并且在附图中:
[0009] 图1示出媒体源系统;
[0010] 图2示出媒体汇集(sink)系统;
[0011] 图3A和图3B例示说明用于在媒体源系统和媒体汇集系统之间传递显示管理元数据的示例算法或处理流程;
[0012] 图4A和图4B例示说明示例处理流程;
[0013] 图5例示说明在其上可以实现本文所述的计算机或计算装置的示例硬件平台;
[0014] 图6A和图6B例示说明媒体源系统和媒体汇集系统之间的示例系统配置;
[0015] 图7例示说明示例视频信号格式;以及
[0016] 图8A至图8D例示说明附加的示例处理流程。

具体实施方式

[0017] 本文描述了涉及通过视频链路传输显示管理元数据的示例实施例。在以下描述中,出于解释的目的,阐述了大量具体的细节以便提供本发明的透彻理解。然而,很明显本发明可在不具有这些具体细节的情况下被实现。在其它实例中,众所周知的结构和设备未被详尽地描述,以避免不必要地掩盖、遮盖或混淆本公开。
[0018] 在本文中根据以下概要描述示例实施例:
[0019] 1.总体概述
[0020] 2.参考代码值和映射的像素值
[0021] 3.媒体源系统
[0022] 4.媒体汇集系统
[0023] 5.发送和接收DM元数据的算法
[0024] 6.HDMI视频链路
[0025] 7.隧穿(tunneling)参考代码值和DM数据
[0026] 8.源和汇集之间没有显式信令
[0027] 9.针对EDR操作配置源
[0028] 10.示例处理流程
[0029] 11.实现机制——硬件概述
[0030] 12.等同、扩展、替代及其他
[0031] 1.总体概述
[0032] 该概述呈现了本发明的实施例的一些方面的基本描述。应指出,该概述不是实施例的各方面的广泛的或详尽的总结。而且,应指出,该概述并非意图被理解为标识实施例的任何特别重要的方面或元件,也不被理解为具体地描写实施例的任何范围,也不被理解为一般地描写本发明。该概述仅以扼要的、简化的格式呈现与示例实施例相关的一些概念,应被理解为仅仅是对于下面接着的对示例实施例的更详细的描述的概念性的序言。
[0033] 根据本文所述的技术,高动态范围、广色域和高分辨率的(例如,场景相关的、等等的)源内容可以在源视频信号、源视频位流、源视频文件等中被作为参考代码值(例如,黑暗水平和最大亮度水平之间的参考动态范围中的代码值、根据San Francisco,California的Dolby Laboratories,Inc.开发的技术的扩展动态范围(EDR)中的代码值等)与显示管理(DM)元数据一起通过基于标准的视频链路递送给下游渲染装置。源内容中的DM元数据可以被每个渲染装置用于将源内容中的参考代码值映射到用于以利用该渲染装置的最大能力的方式在该渲染装置上渲染的映射像素值。DM元数据可以包括表示查找表、映射曲线、包括分段线段的映射函数、用于直线段或曲线段的枢轴点等。
[0034] 在例子中,DM元数据可以被支持Rec.709动态范围的渲染装置用于将参考代码值映射到充分利用该渲染装置支持的Rec.709动态范围的映射亮度像素值。在另一个例子中,DM元数据可以被支持Rec.601动态范围的渲染装置用于将参考代码值映射到充分利用该渲染装置支持的Rec.601动态范围的映射亮度像素值。在各种实现中,DM元数据可以被支持比Rec.601和Rec.709的动态范围更高或更低的动态范围的渲染装置用于将高动态范围中的参考代码值映射到充分利用这些渲染装置支持的更高或更低动态范围的映射亮度像素值。另外地和/或可选地,DM元数据可以被支持与Rec.601和Rec.709的色域相比更宽或更窄或相同的色域的渲染装置用于将参考代码值映射到充分利用这些渲染装置支持的更宽的、更窄的或相同的色域的映射色度或颜色通道像素值。另外地和/或可选地,DM元数据可以被支持与Rec.601和Rec.709的空间分辨率相比更高或更低或相同的空间分辨率的渲染装置用于将参考代码值所表示的空间分辨率转换为充分利用这些渲染装置支持的更高的、更低的或相同的空间分辨率的最佳装置特定空间分辨率。
[0035] 在一些实施例中,DM元数据依赖于将对其执行基于DM元数据的显示管理操作的对应的参考代码值,并且与这些参考代码值协变(covariant)。例如,用于第一图像或第一场景的第一DM元数据可以不同于用于不同的第二图像或第二或不同的场景的第二DM元数据。在一些实施例中,表示图像或场景的DM元数据及其对应的参考代码值在相同的视频帧(例如,时间排序的视频帧的序列中的时间排序的视频帧的子序列等)中被递送。在一些实施例中,表示图像或场景的DM元数据及其对应的参考代码值在严格时间窗口内的相邻视频帧中(例如,在一个视频帧、两个视频帧、…、少于N(其中N是预先配置的小整数)个的视频帧等中的一者内)被递送。例如,DM元数据可以在时间(T-1)的视频帧中被递送,而对应的参考代码值可以在时间T的另一个视频帧中被递送。在各种实施例中,也可以使用DM元数据及其对应的参考代码值的时间同步传输的其他变型。
[0036] 在一些实施例中,DM元数据和参考代码值可以被复用到被视频链路标准、视频传输标准等指定为携带用于渲染的像素值等的视频帧中的像素中。在示例实施例中,DM元数据被携带在视频帧的像素中的多个位字段中,所述多个位字段被视频链路标准具体指定为携带色度或颜色通道像素值的最低有效位。因为人类视觉对于色度信息不像对亮度信息那样敏感,所以使用这些位字段携带DM元数据可能引起相对较少的视觉缺陷和劣化。
[0037] 因为视频帧构成通过视频链路传输的视频数据的基本部分,所以在视频帧中递送DM元数据和参考代码值使得即使视频链路是多种不同类型中的任何一种类型,DM元数据仍可以以时间同步的方式相对可靠地到达接收装置。
[0038] 本文所述的技术可以用包括但不限于HDMI等的任何类型的视频链路来实现,只要视频链路(或视频数据流水线)能够递送视频帧即可。在一些实施例中,特定的视频链路类型(例如,HDMI等)可以支持许多的(例如,数以亿计的、等等)汇集系统,其范围从具有有限显示能力的移动装置到具有极好显示能力的高端专业显示系统。根据本文所述的技术,包括参考代码值和DM元数据的源内容可以在统一的流水线中被递送到所有这些汇集系统。汇集系统然后可以使用流水线中的DM元数据来使同一流水线中的参考代码值适合于装置特定的、制造商特定的或标准特定的、用于以最大化目标显示器的各自的显示能力的方式在目标显示器上渲染的像素值。
[0039] 本文所述的技术可以用于如果必要的话在视频帧中携带多达非常大量的DM元数据,因为视频帧能够携带从中选择用以携带DM元数据传输包的某些位字段的大量像素(例如,每一扫描线1k像素、等等)。在各种实施例中,视频帧中的规则模式、不规则模式、栅格排序等的设定数量的或可变数量的扫描线(例如,起始扫描线、底部扫描线、中间扫描线、交错扫描线、连续扫描线、不连续扫描线等)像素可以用于携带DM元数据。不同的视频帧可以携带不同量的DM元数据。在一些实施例中,一些视频帧可以不携带DM元数据,而是可以使用通过其他视频帧传输的DM元数据来映射先前的视频帧中的参考代码值。在一些实施例中,DM元数据也可以被以冗余的方式传输,以使得如果在某些位字段、扫描线、图像块、视频帧等存在损坏,则可以改为使用视频链路的传输流水线中的DM元数据的其他副本。在一些实施例中,用于帮助错误检测和恢复的循环冗余值也可以针对DM元数据传输包进行计算,并且被与DM元数据一起在DM元数据传输包中传输。
[0040] 在一些实施例中,基于标准的元数据递送机制(例如,基于标准的元数据信息帧等)可以结合本文所述的技术使用。然而,本文所述的技术不依赖于这些基于标准的元数据递送机制的可用性,因此在必要时可以独立地操作。
[0041] 在一些实施例中,本文所述的源系统和汇集系统在选择相互支持的视频帧和/或视频定时等时,可以交换初始热插拔信号中的能力信息。例如,两个通信的源系统和汇集系统可以进行协商,并且确定所描述的技术是否被两个装置和/或当前在汇集系统上运行的显示应用相互支持。如果是,则可以用本文所述的技术编码后续的视频帧,以携带参考代码值和DM元数据两者。另一方面,如果汇集系统不实现本文所述的技术,或者如果汇集系统正在运行不实现本文所述的技术的显示应用,则后续的视频帧可以与没有本文所述的DM元数据的解压缩视频数据一起组装。
[0042] 在一些实施例中,参考代码值(例如,表示具有高动态范围、宽色域、高分辨率等的源内容)和DM元数据(例如,包括用于参考代码值的映射函数等)可以被源系统编码为第一视频信号格式的视频信号并且被汇集系统从第一视频信号格式的视频信号解码。第一视频信号格式的视频信号可以使用支持第一视频信号格式的视频信号的传输的视频信号通信路径在源系统和汇集系统之间被输送。视频信号通信路径指的是特定回放环境中的视频链路。
[0043] 附加地,作为替代地,或可选地,在一些实施例中,第一视频信号格式的视频信号可以使用不支持第一视频信号格式的视频数据的传输的视频信号通信路径在源系统和汇集系统之间被输送。在各种实施例中,可以存在与源系统和汇集系统中的一个或两者、与源系统和汇集系统被部署在其中的视频回放环境等相关的一个或多个约束,以使得不同于第一视频信号格式的视频信号格式被视频信号通信路径支持。
[0044] 本文所述的技术可以用于通过视频信号通信路径输送以第一视频信号格式编码的参考代码值和DM元数据,所述视频信号通信路径不支持第一视频信号格式,而是支持不同于第一视频信号格式的一种或多种第二视频信号格式的视频信号的传输。
[0045] 在一些实施例中,本文所述的源系统和汇集系统之间的通信路径可以经由诸如音频视频接收器(AVR)等的一个或多个第三装置而被中继。
[0046] 在一些实施例中,对源系统和汇集系统之间的通信进行中继的AVR支持源系统和汇集系统之间的(例如,基于标准的、专有的等)元数据递送机制(例如,基于标准的元数据信息帧、专有元数据信息帧等)。源系统和汇集系统可以通过元数据递送机制等交换初始热插拔信号中的能力信息(例如,用基于标准的握手、经由供应商特定的数据块、通过供应商特定的信息帧等)、选择相互支持的视频帧和/或视频定时等。
[0047] 在一些实施例中,可以用于交换初始热插拔信号中的能力信息、选择相互支持的视频帧和/或视频定时等的元数据递送机制在本文所述的源系统和汇集系统在其中进行操作的特定视频回放环境中可能是不可用的。例如,对源系统和汇集系统之间的通信进行中继的AVR(例如,老式装置等)可能不支持允许源系统和汇集系统交换初始热插拔信号中的能力信息、选择相互支持的视频帧和/或视频定时等的元数据递送机制。
[0048] 即使允许源系统和汇集系统交换初始热插拔信号中的能力信息、选择相互支持的视频帧和/或视频定时等的元数据递送机制在源系统和汇集系统在其中进行操作的特定视频回放环境中可能是可用的或不可用的,本文所述的技术也可以用于使得本文所述的汇集系统能够基于从本文所述的源系统接收的参考代码值和DM数据来执行特定的显示管理操作。此外,这些技术可以包括使得本文所述的源系统能够检测汇集系统是否能够基于从本文所述的源系统接收的参考代码值和DM数据来执行显示操作的技术。
[0049] 在一些实施例中,本文所述的机制形成媒体处理系统的一部分,该媒体处理系统包括但不限于:手持装置、游戏机器、电视机、家庭影院系统、机顶盒、平板电脑、移动装置、膝上型计算机、上网本计算机、蜂窝无线电话、电子本阅读器、销售点终端、台式计算机、计算机工作站、计算机亭、各种其他种类的终端和媒体处理单元等。
[0050] 对于本文所述的优选实施例以及一般原理和特征的各种修改对于本领域技术人员将是容易明白的。因此,本公开并非意图限于所示的实施例,而是要被给予与本文所述的原理和特征一致的最广泛的范围。
[0051] 2.参考代码值和映射像素值
[0052] 本文所述的源视频信号中的参考代码值可以用于支持宽动态范围(例如,比Rec.709等的动态范围宽的高动态范围、视觉动态范围)。在一些实施例中,参考代码值不包括亮度值的数值或者通过具有伽玛值的幂函数而调整的亮度值的数值。相反,参考代码值表示跨所支持的动态范围的亮度值的多个量化水平之中的特定量化水平(例如,表示为其索引值)。在一些实施例中,参考代码值可以用显示管理元数据中的一个或多个具有映射函数参数的映射函数映射到大亮度范围(或动态范围)中的数值。例如,本文所述的从参考代码值映射的灰度水平或亮度值的范围可以为从0或大约0(例如,10-7cd/m2、10-5cd/m2、10-
4cd/m2等)到大亮度值(例如,12,000cd/m2、5000cd/m2、600cd/m2等)。参考代码值也可以用于支持具有不同周围光水平的宽范围的观看和/或显示场景,以及具有不同暗黑水平的宽范围的显示装置(例如,在电影院里、在室内、在户外等)。附加地或可选地,参考代码值可以用一个或多个具有映射函数参数的映射函数映射到颜色空间(或色域)的大部分中的数值颜色值(例如,色度值、RGB值等)。本文所述的单独视频帧中的参考代码值可以表示多个量化水平中的量化水平的子集,并且可以被压缩为某一位深(例如,8位、10位、12位等)的代码空间中的可用代码值(例如,256个可用代码值、1024个可用代码值、4096个可用代码值等)。
[0053] 在一些实施例中,本文所述的参考代码值可以是,但不仅限于,被感知量化(PQ)编码的。例如,在一些实施例中,参考代码值表示亮度值的多个感知量化水平之中的特定感知量化水平(例如,表示为其索引值等)。亮度值的两个相邻的感知量化水平之间的亮度差可以是最小可觉差或JND、JND的一小部分、JND乘以恒定的乘法因子、等等。所述多个感知量化水平可以覆盖本文所述的源视频信号被配置支持的宽动态范围的全部。
[0054] 本文所述的DM元数据指的是将被媒体汇集系统用于执行作为视频图像渲染操作的一部分的显示管理操作的元数据。DM元数据的例子包括但不限于:用于亮度映射函数的映射函数参数、用于色度映射函数的映射函数参数、全局图像或帧性质、源视频帧的纵横比、信号变换矩阵系数、伽玛值、位深、颜色空间、采样格式、黑色水平、亮度值范围、色度值范围、源显示器的(例如,最小、最大、平均等)亮度值、其他全局特性等、场景或单个图像的(例如,最小、最大、平均等)亮度值、其他全局特性等、源显示器(例如,参考显示器等)的对角线大小、等等。在一些实施例中,包括在DM元数据中的操作参数中的至少一个(例如,用于映射函数的映射函数参数等)是图像相关的。在一些实施例中,DM元数据中具有其映射函数参数的映射函数中的至少一些可以被媒体汇集系统用于将参考代码值映射到映射像素值。DM元数据中的映射参数可以表示查找表、映射曲线、包括分段线段的映射函数、直线段或曲线段的枢轴点、等等。
[0055] 在一些实施例中,DM元数据不是伴随解码的像素信息以便利于重新对解码的像素信息进行编码或者重构图像的编码信息(例如,在4×4、8×8等图像块水平)。相反,DM元数据是这样的元数据,该元数据将对应的参考代码值映射到映射像素值以供在目标显示器上渲染视频图像,以使得当视频图像在目标显示器上被渲染时,目标显示器的显示能力最大化、具有裁剪的亮度值和/或裁剪的色度值的像素的数量最小化、等等。DM元数据中的一些或全部可以在携带视频帧中重复以供错误保护和恢复。在一些实施例中,DM元数据可以通过颜色管理应用或一些其他的应用被导出。
[0056] 在例子中,当从源图像(例如,场景相关的图像等)导出的视频图像示出黑暗亮度水平分布中的一个或多个显著对象时,可以被映射到黑暗亮度水平的相对较多的参考代码值可以被用于如本文所述的那样将视频图像代码化为源视频信号。映射的黑暗亮度水平可以被媒体汇集系统渲染以对于接近地近似场景相关的图像的渲染图像中的黑暗显著对象生成相同的或基本上(例如,在JND的5%、10%、20%等内)相同的亮度水平。
[0057] 在另一个例子中,当从源图像(例如,场景相关的图像等)导出的视频图像示出明亮亮度水平分布中的一个或多个显著对象时,可以被映射到明亮亮度水平的相对较多的参考代码值可以用于如本文所述的那样将视频图像代码化为源视频信号。映射的明亮亮度水平可以被媒体汇集系统渲染以对于接近地近似场景相关的图像的渲染图像中的明亮显著对象生成相同的或基本上(例如,在JND的5%、10%、20%等内)相同的亮度水平。
[0058] 本文所述的技术可以用于将捕捉宽动态范围的源图像的显著内容的大量像素映射到媒体汇集系统上的对应的渲染图像中的相同的或基本上相同的亮度水平。与其他方法相比,根据本文所述的技术的方法在渲染图像中相对较大程度地保持源图像的感知质量。
[0059] 本文所述的技术也可以用于单独地全局调制所采用的颜色空间的一个或多个主要通道(例如,色度通道、红色、绿色、蓝色或其他)。主要通道的单独调制改造色域中的颜色平衡,并且在某些颜色(图像中的色调和饱和区)比其他颜色更占优势的情况下是有益的。例如,在红色占优势并且只有少量柔和的蓝色的场景中,可以分配相对较多的红色参考代码值和相对较少的蓝色参考代码值。
[0060] 在一些实施例中,视频帧的参考代码值所表示的视频图像可以包括关于其他视频图像的许多高光;用于将参考代码值中的亮度水平映射到视频渲染装置的映射亮度水平的亮度映射函数的映射函数参数使得媒体汇集系统(例如,视频渲染装置等)能够分配比其他方式更多的明亮亮度水平。类似地,视频帧的参考代码值所表示的视频图像可以包括关于其他视频图像的许多黑暗区域;用于将参考代码值中的亮度水平映射到视频渲染装置的映射亮度水平的亮度映射函数的映射函数参数使得视频渲染装置能够分配比其他方式更低的亮度水平。另外地和/或可选地,DM元数据也可以用于给视频图像中的更占优势的颜色分配更具区别性的颜色水平或值。另外地和/或可选地,DM元数据也可以用于将其他DM操作参数(例如,视频帧的纵横比等)传递给媒体汇集系统。结果,使用本文所述的DM元数据的视频渲染装置可以生成与其他方式相比动态范围更高、色域更广的视频图像。
[0061] 在一些实施例中,本文所使用的“映射的像素值、亮度值和色度值”可以是指装置特定的像素值、亮度值和色度值(例如,表示专有的动态范围或色域等)。在一些实施例中,本文所使用的“映射的像素值、亮度值和色度值”可以是指依据标准(例如,Rec.709、标准动态范围或SDR、管控移动装置的视频标准、管控平板计算机的视频标准等)的基于标准的像素值、亮度值和色度值。
[0062] 本文所述的视频链路指的是用于将视频和相关数据从源系统递送到汇集系统的流水线(例如,作为视频信号、视频位流等)。在一些实施例中,参考代码值与DM元数据一起遵照管控视频链路的一个或多个视频链路标准通过视频链路从源系统递送到汇集系统。
[0063] 3.媒体源系统
[0064] 图1示出根据一个或多个实施例的媒体源系统(100)。如图1所示,系统(100)包括源视频接收器(104)、视频帧发生器(106)、视频编码器(110)以及视频存储器(108),视频存储器(108)包括帧缓冲器、显示管理(DM)元数据缓冲器等。
[0065] 这些组件中的每个在下面进行描述,并且可以位于同一个装置(例如,机顶盒、计算机、服务器系统、客户端系统等)上,或者可以位于通过具有有线和/或无线分段的网络(例如,互联网、内联网、外联网、局域网(LAN)、广域网(WAN)等)耦合的单独的装置上。在一个或多个实施例中,系统100使用客户端-服务器拓扑来实现。系统(100)本身可以是在一个或多个计算机上运行的应用,并且在一些实施例中,可以是对等系统,或者驻留在单个计算系统上。另外,可以从其他机器通过使用一个或多个接口或用于访问系统100的任何其他的工具来访问系统(100)。在一个或多个实施例中,可以通过网络连接(诸如互联网)访问系统(100)。系统(100)所提供的信息和/或服务也可以被存储并通过网络连接而被访问。
[0066] 在实施例中,源视频接收器104对应于如下的软件和/或硬件,该软件和/或硬件被配置为接收源视频信号102并且从源视频信号(102)导出(例如,提取、解码、产生、确定、计算等)一个或多个视频帧中的参考代码值以及具体与这些参考代码值对应的DM元数据。所述一个或多个视频帧可以是源视频接收器104从源视频信号(102)解码的视频帧的时间序列的一部分。
[0067] 源视频接收器104可以被配置为导出并且分离源视频信号(102)中携带的不同的数据分量。例如,源视频信号中的音频/视频数据和DM元数据可以使用解复用器而被分离为单独的分量(例如,音频分量、视频分量、元数据分量等)。在一些实施例中,DM元数据可以被嵌入在视频分量内并且从视频分量提取。在一些实施例中,DM元数据可以被携带在源视频信号的单独的元数据分量中并且从这些元数据分量解码。
[0068] 在一个实施例中,视频帧发生器(106)对应于如下的软件和/或硬件,该软件和/或硬件被配置为接收从源视频信号(102)导出的参考代码值和DM元数据,产生存储DM元数据的DM元数据传输包,并且将参考代码值和在一个或多个视频帧的位字段中包含DM元数据的DM元数据传输包两者存储/设置在视频存储器(108)中。在例子中,视频帧发生器(106)可以从源视频接收器(104)接收从源视频信号(102)导出的DM元数据。在另一个例子中,视频帧发生器(106)可以从除了源视频接收器(104)之外的模块接收DM元数据。在一些实施例中,视频帧发生器(106)被配置为选择所述一个或多个视频帧的位字段来存储包含DM元数据的DM元数据传输包。在一些实施例中,被选为携带DM元数据的特定位字段最初被管控从媒体源系统到下游媒体汇集系统的视频链路的一个或多个视频信号标准指定,以携带采用的颜色空间(例如,YCbCr、RGB等)的一个或多个通道(例如,色度通道、亮度通道、红色、绿色和/或蓝色通道等)中的组成像素值的最低有效位。在非限制性的示例实施例中,特定位字段仅选自最初被指定存储色度像素值的位字段。在一些实施例中,被选为存储DM元数据的位字段来自视频帧中的多个连续的像素。在一些实施例中,被选为存储DM元数据的位字段来自视频帧中的多个不连续的像素。在一些实施例中,被选为存储DM元数据的位字段来自视频帧的一个或多个扫描线(例如,一个或多个起始扫描线、一个或多个结束扫描线、一个或多个中间扫描线等)中的多个像素。在一些实施例中,包含DM元数据的至少一部分的DM元数据传输包的单个副本被存储在视频帧的位字段中或者被嵌入在视频帧中。在一些实施例中,包含DM元数据的至少一部分的DM元数据传输包的多个副本被存储在视频帧的位字段中或者被嵌入在视频帧中,以便对于DM元数据提供冗余性并且提高传输可靠性。在一些实施例中,视频帧可以包括如下指示,即,该视频帧不包含应被用于对该视频帧的像素值执行显示管理操作的DM元数据,以及在另一个DM元数据传输包中接收的或者将在另一个DM元数据传输包中接收的DM元数据应在执行这样的操作时被使用。
[0069] 本文所述的DM元数据传输包可以是指任何如下的数据容器,该数据容器包括有效载荷部分以及存储至少一个循环冗余值和可能的其他控制或信号信息的一个或多个其他部分。在示例实现中,循环冗余值可以从存储在有效载荷部分中的字节或字值计算,并且被放置在DM元数据传输包的尾字节处(例如,在与有效载荷部分分离的部分中、等等)。在另一示例实现中,循环冗余值可以至少部分用DM元数据传输包的头部分中的字节或字值计算。除了包冗余和CRC值(例如,用生成多项式等计算)之外的其他的错误保护和校正机制中的一个或多个可以用于保护免受在将本文所述的DM元数据传输包从上游装置(例如,媒体源系统等)发送到下游装置(例如,媒体汇集系统等)中可能出现的错误(例如,位错误、抖动、串音等)的影响并且从这些错误恢复。
[0070] 在本发明的一个或多个实施例中,视频存储器(108)对应于如下的存储器空间,该存储器空间被配置为处理相对较快的视频处理操作,包括但不限于大容量存储器复制操作、大容量存储器移动操作、快速存储器填充操作等。视频存储器(108)可以被配置为支持静态的和/或动态的存储器分配。视频存储器(108)可以包括视频帧缓冲器和DM元数据缓冲器,视频帧缓冲器保存一个或多个视频帧的所有位字段,DM元数据缓冲器保存与在视频帧缓冲器中的一个或多个视频帧中填充的参考代码值相关联的DM元数据。存储在视频存储器(108)中的视频帧可以与包括但不限于YCbCr颜色空间、RGB颜色空间等的各种颜色空间中的一个相关联。存储在视频存储器(108)中的视频帧可以与包括但不限于4:4:4采样格式、4:2:2采样格式、4:2:0采样格式等的各种采样格式(例如,色度采样格式等)中的一个相关联。众多实现(例如,阵列、序列、数据结构、链接列表、循环缓冲器、散列表等)可以用于组织存储器空间并且将视频数据存储在视频存储器(108)中。
[0071] 在一个实施例中,视频编码器(110)对应于如下的软件和/或硬件,该软件和/或硬件被配置为用参考代码值检索视频存储器(108)中的一个或多个视频帧,将DM元数据与参考代码值一起组合到这些视频帧中(例如,封装、嵌入在色度通道的LSB中、等等),并且至少部分基于在视频存储器(108)中检索到的视频帧来产生将发送到媒体汇集系统的编码视频信号(112)/对该编码视频信号(112)进行编码。如本文所使用的,编码视频信号指的是如下的视频信号:在其中DM元数据已经被嵌入在视频信号中的一些或全部视频帧的像素内(例如,元数据被嵌入在色度通道的LSB中的编码视频信号112等);产生编码视频信号或者对编码视频信号进行编码指的是产生在其中DM元数据被嵌入在视频帧的像素内的视频信号或者对该视频信号进行编码。检索到的视频帧或者其中的位字段包含如下两者:参考代码值(其包括其中最低有效位中的一些被包含DM元数据的DM元数据传输包的位值取代的组成像素值等)、和将被下游媒体汇集系统用于作为视频渲染操作的一部分对参考代码值执行显示管理操作的DM元数据。视频编码器产生/编码的编码视频信号(112)就视频格式和传输协议来说遵循管控与下游媒体汇集系统的视频链路的视频链路标准;然而,编码视频信号(112)中携带的视频帧携带参考代码值和DM元数据两者。在只有色度像素值的最低有效位被选为存储DM元数据的实施例中,不实现本文所述的技术的媒体汇集系统可以渲染接近原始质量的视频图像,因为色度像素值中的最低有效位的损失引入很小的感知伪像。此外,不实现本文所述的技术的媒体汇集系统可以使用DM元数据来渲染具有高动态范围、宽色域、精细感知图像细节等的、接近地近似在原始场景相关的图像中捕捉的内容的高质量视频图像。
[0072] 4.媒体汇集系统
[0073] 图2示出根据一个或多个实施例的媒体汇集系统(200)。如图2所示,系统(200)包括编码视频接收器(204)、DM元数据提取器(206)、视频渲染器(210)以及视频存储器(未示出),视频存储器包括存储从编码视频信号(112)导出的DM元数据的DM元数据缓冲器(208)。
[0074] 这些组件中的每个在下文进行描述,并且可以位于同一个装置(例如,电视机、机顶盒、平板电脑、移动装置、计算机、服务器系统、客户端系统等)上,或者可以位于通过网络(例如,互联网、内联网、外联网、局域网(LAN)、广域网(WAN)等)耦合的单独的装置上。在一个或多个实施例中,系统200使用客户端-服务器拓扑来实现。系统(200)本身可以是在一个或多个计算机上运行的应用,并且在一些实施例中,可以是对等系统,或者驻留在单个计算系统上。另外,可以从其他机器通过使用一个或多个接口或用于访问系统200的任何其他的工具来访问系统(200)。在一个或多个实施例中,可以通过网络连接(诸如互联网)访问系统(200)。系统(200)所提供的信息和/或服务也可以被存储和通过网络连接而被访问。
[0075] 在实施例中,编码视频接收器204对应于如下的软件和/或硬件,该软件和/或硬件被配置为接收编码视频信号112并且从编码视频信号(112)导出(例如,提取、解码、产生、确定、计算等)一个或多个视频帧,所述视频帧包括参考代码值以及具体地与这些参考代码值对应的DM元数据。由编码视频接收器204从编码视频信号(112)解码的一个或多个视频帧——包括参考代码值和DM元数据——可以是视频帧的时间序列的一部分。
[0076] 编码视频接收器204可以被配置为视频链路接收器,其遵循管控通过其接收编码视频信号112的视频链路的视频链路标准。编码视频接收器204可以被进一步配置为导出并且分离编码视频信号(112)中携带的不同的数据分量。例如,编码视频信号(112)中的音频/视频数据可以使用解复用器而被分离为单独的分量(例如,音频分量、视频分量等)。
[0077] 在一个实施例中,DM元数据提取器(206)对应于如下的软件和/或硬件,该软件和/或硬件被配置为接收包括从编码视频信号(112)导出的参考代码值和DM元数据的一个或多个视频帧,从这些视频帧的多个位字段检索存储DM元数据的DM元数据传输包,并且从DM元数据传输包提取/导出DM元数据,并且将DM数据存储/高速缓存在DM元数据缓冲器(208)中。例如,DM元数据提取器(206)可以被配置为选择该一个或多个视频帧的特定位字段(例如,特定通道的最低有效位、一个或多个特定的扫描线上的位字段、视频帧的模式中的位字段等),从这些特定位字段提取位值,将提取的位值组装到DM元数据传输包中,并且将来自DM元数据传输包的有效载荷的DM元数据提取到DM元数据缓冲器(208)中。
[0078] DM元数据提取器(206)可以被配置为从视频帧检索DM元数据传输包的单个副本或者同一DM元数据传输包的多个副本之一。在一些实施例中,DM元数据提取器(206)被配置为验证DM元数据传输包是否毁坏。例如,DM元数据提取器(206)可以从DM元数据传输包(例如,该包的前992个位等)计算CRC值,并且确定计算的CRC值是否与传送的CRC值(例如,在DM元数据传输包的尾字节中等)匹配。如果CRC值不匹配,则DM元数据提取器(206)可以被配置为将DM元数据传输包作为毁坏的丢弃,并且尝试检索同一视频帧(例如,视频帧中的位字段的不同部分或不同子集)中携带的或者不同视频帧(例如,包含毁坏的副本的视频帧之前或之后的视频帧)中携带的同一DM元数据传输包的另一副本。
[0079] 在本发明的一个或多个实施例中,DM元数据缓冲器(208)对应于如下的存储器空间,该存储器空间被配置为处理相对快速的视频处理操作,包括但不限于大容量存储器复制操作、大容量存储器移动操作、快速存储器填充操作等。DM元数据缓冲器(208)可以被配置为支持静态的和/或动态的存储器分配。DM元数据缓冲器(208)可以是另外还包括视频帧缓冲器的视频存储器的一部分,所述视频帧缓冲器保存一开始从编码视频信号(112)解码的一个或多个视频帧的全部位字段。从编码视频信号(112)解码的视频帧可以与包括但不限于YCbCr颜色空间、RGB颜色空间等的各种颜色空间中的一个相关联。从编码视频信号(112)解码的视频帧可以与包括但不限于4:4:4采样格式、4:2:2采样格式、4:2:0采样格式等的各种采样格式(例如,色度采样格式等)中的一个相关联。
[0080] 在一个实施例中,视频渲染器(210)对应于如下的软件和/或硬件,该软件和/或硬件被配置为从自编码视频信号(112)解码的一个或多个视频帧检索参考代码值(例如,没有视频帧的一些像素中的某些位值、没有一个或多个扫描线的像素中的最低有效位值等),对参考代码值应用显示管理操作,包括将参考代码值中的组成像素值映射到映射组成像素值,并且基于映射组成像素值来产生视频显示信号(202),视频显示信号(202)可以用于驱动视频渲染操作并且渲染由视频帧中的参考代码值所表示的图像。与不实现本文所述的技术的其他方法相比,本文所述的媒体汇集系统可以使用DM元数据来渲染动态范围更高、色域更广、感知图像细节更精细等的高质量视频图像。
[0081] 5.发送和接收DM元数据的算法
[0082] 用于执行显示管理操作的技术可以通过媒体汇集系统(例如,图2的200等)在目标显示器上来实现。编码视频信号(例如,图1和图2的112等)可以在目标显示器的外部产生,所述目标显示器可以结合媒体汇集系统(200)进行操作,或者可以是媒体汇集系统(200)的一部分。具有显示管理操作所需的DM元数据的编码视频信号(112)可以通过视频链路(例如,HDMI链路等)发送到媒体汇集系统(200)。
[0083] 图3A例示说明将DM元数据从媒体源系统(例如,图1的100等)发送到媒体汇集系统(例如,图2的200等)的示例算法或处理流程。在一些示例实施例中,一个或多个计算装置或组件(例如,媒体源系统100、源视频接收器104、视频帧发生器106、视频编码器110等)可以执行该处理流程。
[0084] 仅仅为了例示说明的目的,视频帧发生器(106)接收一个或多个视频帧的参考代码值以及将用于对这些参考代码值执行显示管理操作的DM元数据。参考代码值和DM元数据可以被源视频接收器(例如,图1的104等)从源视频信号(102)解码。
[0085] 在方框302中,视频帧发生器(106)将具有参考代码值的一个或多个视频帧存储在帧缓冲器(例如,YCbCr 4:2:2帧缓冲器等)中,并且将DM元数据存储在DM元数据缓冲器中(例如,图1的视频存储器108中等)。DM元数据可以占据N个字节。在示例实现中,DM元数据缓冲器中的DM元数据的一个或多个(例如,未被填充的等)部分可以被顺序地排序,然后被填充到一个或多个(例如,未被填充的等)DM元数据传输包的有效载荷中,例如沿着字节边界、字边界等。
[0086] 在方框304中,视频帧发生器(106)对于一个或多个DM元数据传输包分配存储器(例如,图1的视频存储器108中的存储器、等等)以保存DM元数据的N个字节。在一些实施例中,DM元数据包可以包含可以保存最多M个字节的有效载荷。
[0087] 在方框306中,视频帧发生器(106)确定被分配的DM元数据传输包之中的最后一个DM元数据传输包是否已经被填充。响应于确定最后一个DM元数据传输包尚未被填充(由图3A中的“否”路径指示),处理流程进入方框308。
[0088] 在方框308中,视频帧发生器(106)用DM元数据缓冲器中的DM元数据的一个或多个剩余的未被填充的部分中的第一个部分填充一个或多个剩余的未被填充的DM元数据传输包中的第一个DM元数据传输包的有效载荷。
[0089] 在方框310中,视频帧发生器(106)设置/填入当前处理的包(其有效载荷在方框308中被填充的DM元数据传输包)的头,从当前处理的包(例如,该包的前992个位等)计算CRC值(例如,CRC-32值等),并且将该CRC值存储在当前处理的包的尾部(例如,最后四个尾字节等)中。处理流程然后进入方框306。
[0090] 响应于确定最后一个DM元数据传输包已经被填充(由图3A中的“是”路径指示),处理流程进入方框312,在方框312中,视频帧发生器(106)将每个DM元数据传输包填充在存储在帧缓冲器中的一个或多个视频帧的多个位字段中。特定位字段(例如,色度像素值的最低有效位等)可以被选择用以填充DM元数据传输包。
[0091] 在方框314中,媒体源系统(100)将帧缓冲器中的视频帧,例如在编码视频信号(112)中通过视频链路(例如,HDMI、LVDS、Vx1、HD-SDI等)发送到下游装置(例如,图2的媒体汇集系统200等)。
[0092] 图3B例示说明媒体汇集系统(例如,图2的200等)从媒体源系统(例如,图1的100等)接收DM元数据的示例算法或处理流程。在一些示例实施例中,一个或多个计算装置或组件(例如,媒体汇集系统200、编码视频接收器204、DM元数据提取器206、视频渲染器等)可以执行该处理流程。
[0093] 在方框352中,媒体汇集系统(200)将一个或多个视频帧(例如,YCbCr 4:2:2帧等)存储在帧缓冲器中(例如,媒体汇集系统200的视频存储器中等)。视频帧可以被媒体汇集系统(200)从通过视频链路(例如,HDMI、LVDS、Vx1、HD-SDI等)接收的编码视频信号(112)解码。
[0094] 在方框354中,媒体汇集系统(200)从帧缓冲器中的视频帧中的多个像素提取一个或多个DM元数据传输包。在一些实施例中,DM元数据包可以包含可以保存最多M个字节的有效载荷。所述一个或多个DM元数据传输包中的每个可以在所述多个像素中的相应一组被选像素(例如,1024个像素等)中。所述多个像素中的被选位字段(例如,用于色度通道的最低有效位等)可以用于携带视频帧中的一个或多个DM元数据传输包。
[0095] 在方框356中,媒体汇集系统(200)从DM元数据传输包的有效载荷提取DM元数据。
[0096] 在一些实施例中,媒体汇集系统(200)对提取的DM元数据传输包运行CRC测试,以检测提取的DM元数据传输包是否存在错误。如果在CRC测试中检测到错误,则媒体汇集系统(200)被配置为从视频帧提取DM元数据传输包的重复/冗余的副本。如果在CRC测试中没有检测到错误,则媒体汇集系统(200)被配置为跳过视频帧中的DM元数据传输包的任何重复/冗余的副本。
[0097] 在一些实施例中,DM元数据在视频渲染操作中与将对其执行至少部分基于DM元数据的显示管理操作的对应的视频帧精确地同步。在一些实施例中,DM元数据与对应的视频帧的参考代码值到接收装置的同步传输是通过在通过视频链路发送编码视频信号之前将DM元数据与参考代码值一起嵌入在编码视频信号中的同一个视频帧或彼此相邻的视频帧中来实现的。以这种方式,DM元数据与其对应的参考代码值同时地(例如,在同一视频帧中、在对应的视频帧之前的视频帧中等)或者基本上同时地(例如,相对于对应的视频帧在固定时间窗口内的视频帧中等)到达接收装置的显示管理模块。
[0098] 在一些实施例中,具有时间戳T的DM元数据在编码视频信号中与具有时间戳T-1、T-2等的视频帧缓冲器的参考代码值一起传输,使得显示管理模块可以具有足以处理DM元数据(包括但不限于任何初始化操作等)的时间。
[0099] 6.HDMI视频链路
[0100] 本文所述的技术可以进一步通过用于支持通过HDMI视频链路(例如,HDMI 1.4视频链路、HDMI 2.0视频链路等)的显示管理元数据传输的示例实现来例示说明。与视频链路标准相关的一般信息可以在各种参考文献中找到,包括但不限于:CEA-861-F、A DTV Profile for Uncompressed High Speed Digital Interfaces,Draft V15,7/31/12;High-Definition Multimedia Interface Specification Version 1.4a;High-
Definition Multimedia Interface Specification Version 2.0R10;For Television–Transporting MPEG-2Recording Information through 4:2:2Component Digital 
Interface,SMPTE 319M-200等,这些参考文献通过引用并入,就如同在本文中阐述了它们的全文一样。
[0101] 在一些实施例中,HDMI标准可以用本文所述的技术扩展,以将编码视频信号从媒体源系统(例如,机顶盒、图1的媒体源系统100等)发送到媒体汇集系统(例如,具有HDMI接口的TV、图2的媒体汇集系统200等)。本文所述的技术可以使用用于HDMI视频链路的HDMI标准中指定的视频帧格式和传输协议,来在遵循这些视频帧格式和传输协议的视频帧的像素中发送DM元数据与参考代码值。
[0102] 在一些实施例中,本文所述的媒体处理装置遵循HDMI版本1.4a或更高版本,并且支持具有渐进定时的HD和UHD分辨率(例如,具有高达每秒60帧(fps)的帧率的HD分辨率、具有高达30fps的帧率的4K×2K分辨率、等等)。在一些实施例中,本文所述的媒体处理装置遵循HDMI版本2.0,并且支持具有高达60fps的帧率的4K×2K分辨率。本文所使用的术语“遵循”意指用与遵循视频链路标准(例如,HDMI 1.4a、HDMI 2.0等)中指定的视频格式的视频帧相关的参考代码值和DM元数据填入、存储、填充、发送、接收、解码等视频帧的位字段,尽管视频链路标准最初仅指定将被存储在该视频帧的这些位字段中的像素值。
[0103] 在一些实施例中,本文所述的媒体处理装置被配置为使用视频链路标准中指定的各种视频帧格式(例如,YCbCr 4:2:2视频帧等)之一。本文所述的视频帧格式可以携带各种位深(例如,每一颜色12+个位等)之一的颜色值。
[0104] 在一些实施例中,本文所述的媒体处理装置被配置为使用视频链路标准中指定的信号传输协议。在一些实施例中,媒体源系统被配置为读取下游装置的能力信息(例如,在从下游装置接收的增强扩展显示标识数据或E-EDID中、等等),并且仅递送下游装置支持的音频格式和视频格式。在一些实施例中,本文所述的媒体汇集系统通过在E-EDID的HDMI供应商特定数据块中设置1位标志来指示它能够用在视频帧的像素中与参考代码值一起递送的DM元数据进行操作。
[0105] 相反地,实现本文所述的技术的下游装置可以被配置为读取上游装置的能力信息(例如,在从上游装置接收的InfoFrame中、等等),并且适当地处理所接收的音频和视频数据。在一些实施例中,媒体源系统通过在HDMI供应商特定InfoFrame中设置1位标志来用信号通知本文所述的编码视频信号的传输。
[0106] 在一些实施例中,用于处理DM元数据并且将DM元数据与参考代码值一起在视频帧的像素中发送的能力信息被设置在视频链路标准指定的信息帧、数据块等中的一个或多个保留位中。
[0107] 在一些实施例中,在视频帧中发送DM元数据之前,媒体源系统(例如,图1的100等)读取媒体汇集系统(例如,图2的200等)提供的能力指示。如果媒体汇集系统不指示支持嵌入在视频帧中的DM元数据的能力,则媒体源系统可以被配置为不将DM元数据嵌入在视频帧中;相反,媒体源系统可以被配置为用可以被下游装置在不执行本文所述的DM操作的情况下解码和渲染的像素值填入视频帧。如果媒体汇集系统指示支持嵌入在视频帧中的DM元数据的能力,则媒体源系统可以被进一步配置为确定媒体汇集系统是否处于用DM元数据进行操作的显示应用设置。如果媒体汇集系统指示其显示应用设置用DM元数据进行操作,则媒体源系统可以继续选择相互支持的视频帧格式(例如,YCbCr 4:2:2帧等)与相互支持的视频定时方案(例如,30fps、60fps等),在处于被支持的视频帧格式的视频帧中产生/编码DM元数据,在编码视频信号中设置具有相互支持的视频帧格式和相互支持的视频定时方案的视频帧被用其中的DM元数据编码的指示,并且将编码视频信号与该指示一起发送到媒体汇集系统。媒体汇集系统提取嵌入在视频帧中的DM元数据,对从相同的视频帧提取的参考代码值应用DM操作,并且在该显示应用设置中渲染参考代码值所表示的视频图像。在一些实施例中,DM操作包括但不限于将映射函数应用于参考代码值以将映射的亮度值和色度值导出到相对较高的动态范围和相对较宽的色域中,同时在渲染的图像中保留感知图像细节。
[0108] 在一些实施例中,多个视频帧(例如,场景等)共享单个DM元数据集合。在一些实施例中,一个或多个视频帧的每个单独的视频帧具有它自己的DM元数据集合。DM元数据与其对应的(一个或多个)视频帧同步,所述视频帧的参考代码值将被进行至少部分基于DM元数据的DM操作。
[0109] 在一些实施例中,每次新的DM元数据集合将针对对应的视频帧被传输到下游装置时,就使用新的DM元数据标识符(例如,顺序地递增的数字等)。在一些实施例中,DM元数据传输包包括两个字段,用于DM元数据传输包中携带的第一DM元数据集合的第一DM元数据标识符、以及用于将通过DM操作而用于携带DM元数据传输包的视频帧的第二DM元数据集合的第二DM元数据标识符。因此,如果第一DM元数据标识符和第二DM元数据标识符是相同的,则所述DM元数据集合通过DM操作而被用于携带DM元数据传输包的视频帧。否则,第一DM元数据集合将通过DM操作而被用于由第一DM元数据标识符标识的其他视频帧(例如,随后的视频帧等)(第一DM元数据标识符将相对于所述其他视频帧为第二DM元数据标识符)。
[0110] DM元数据传输包可以携带头字段,其用于指示在携带DM元数据包的同一视频帧中是否传输DM元数据。其他信息(包括但不限于元数据版本信息、元数据类型信息、包类型信息等)可以被作为DM元数据传输包的一部分包括在例如该包的头中。在一些实施例中,包类型信息可以用于指示该DM元数据传输包是否是携带(整个)DM元数据集合的单个包、或者该包是否是携带DM元数据集合的多个包中的第一个包、或者该包是否是所述多个包中的中间包、或者该包是否是所述多个包中的最后一个包。
[0111] 7.隧穿参考代码值和DM数据
[0112] 在一些实施例中,本文所述的源系统被配置为将参考代码值和DM元数据编码在与视频信号格式对应的视频信号中,将相同视频信号格式的视频信号传输到接收汇集系统等。
[0113] 在一些实施例中,本文所述的源系统被配置为将参考代码值和DM元数据编码在与第一视频信号格式对应的第一视频信号中,将第一视频信号格式的第一视频信号的颜色通道(例如,第一颜色空间的分量等)映射到第二视频信号格式的第二视频信号,将第二视频信号格式的第二视频信号传输到接收汇集系统、等等。
[0114] 图6A例示说明包括源系统602和汇集系统604的示例系统配置,在视频信号通信路径606中以参考代码值和DM元数据被编码于其中的第二视频信号格式的视频信号进行通信,第二视频信号格式不同于第一视频信号格式。在一些实施例中,图6A和图6B中的源系统(602)可以与图1的源系统(100)相同,或者可以实现源系统(100)的一些或全部组件。在一些实施例中,图6A和图6B中的汇集系统(604)可以与图2的汇集系统(200)相同,或者可以实现图2的汇集系统(200)的一些或全部组件。
[0115] 为了例示说明的目的,第一视频信号格式是12位YCbCr视频信号格式;第二视频信号格式是8位RGB视频信号格式;视频信号通信路径(606)可以是多种媒体装置支持的HDMI链路。在一些实施例中,第一视频信号格式由后代装置实现。在一些实施例中,第二视频信号格式由各种的早期(例如,老式、等等)和/或后代装置实现。
[0116] 源系统(602)可以被配置为将参考代码值和DM元数据编码在第一视频信号格式的视频信号中。在示例情况下,源系统(602)最初是用不支持将参考代码值和DM元数据编码在第一视频信号格式的视频信号中的软件、固件、硬件等的组合发布的。例如,源系统(602)可能最初被配置为将像素值编码为第二视频信号格式(例如,8位RGB视频格式等)的视频信号,传输第二视频信号格式的视频信号(例如,通过8位HDMI链路等),等等。随后,在接收并安装软件更新、固件更新等之后,源系统(602)现在能够处理参考代码值和DM元数据并将其编码到第一视频信号格式的视频信号中。
[0117] 汇集系统(604)可以被配置为从第一视频信号格式的视频信号解码参考代码值和DM元数据。在示例情况下,汇集系统(604)最初是用不支持从第一视频信号格式的视频信号解码参考代码值和DM元数据的软件、固件、硬件等发布给用户的。例如,汇集系统(604)可能最初被配置为接收第二视频信号格式的视频信号(例如,通过8位HDMI链路等),从第二视频信号格式(例如,8位RGB格式等)的视频信号解码像素值,等等。随后,在接收并安装软件更新、固件更新等之后,汇集系统(604)现在被配置为从第一视频信号格式的视频信号解码参考代码值和DM元数据。
[0118] 在一些实施例中,源系统(602)和汇集系统(604)之间的通信路径不支持以第一视频信号格式编码的视频信号的传输。这可能是由于与源系统(602)、汇集系统(604)、视频回放环境、源系统(602)和汇集系统(604)之间的通信路径中的一个或多个中间装置等相关的软件、固件、硬件等中的一个或多个中的一个或多个约束而导致的。
[0119] 作为替代,源系统(602)和汇集系统(604)之间的通信路径可以支持第二视频信号格式的视频信号的传输。第二视频信号格式可以是,但不仅限于:各种机顶盒、平板计算机、游戏机、显示装置等(例如,共同地、等等)支持的视频信号格式中的任何一种。
[0120] 本文所述的技术可以用于提供通过支持与第一视频信号不同的视频信号格式(诸如第二视频信号格式)的视频信号通信路径传输包括以第一视频信号格式编码的参考代码值和DM元数据的视频信号的方法。这些技术可以用于支持常见地和/或广泛地实现的HDMI接口,从而允许各种装置(诸如平板电脑、游戏机、机顶盒等)使用本文所述的参考代码值和DM元数据来执行高质量显示操作。
[0121] 仅仅为了例示说明的目的,第一视频信号格式可以是12位YCbCr 4:2:2(视频信号)格式,而第二视频信号格式可以是8位RGB(视频信号)格式。8位RGB格式由视频信号通信路径(606)支持,视频信号通信路径(606)通过源系统(602)中的8位HDMI(例如,发送器等)接口、汇集系统(604)中的8位HDMI(例如,接收器等)接口、对源系统(602)和汇集系统(604)之间的视频信号通信路径(606)中的通信进行中继的一个或多个中间装置(诸如AVR等)而被建立。
[0122] 图7例示说明了可以用于携带以12位YCbCr 4:2:2格式(在本例子中,第一视频信号格式)编码的参考代码值和DM元数据的示例8位RGB格式(在本例子中,第二视频信号格式)。
[0123] 在一些实施例中,源系统(602)首先将参考代码值编码、存储等到12位YCbCr 4:2:2格式的第一视频信号(702)中。诸如颜色空间转换、映射、逆映射、量化、反量化、下采样、上采样等的操作中的一个或多个可以作为将参考代码值编码、存储等到12位YCbCr 4:2:2格式的第一视频信号(702)中的一部分被执行。
[0124] 附加地,可选地,或可替代地,在一些实施例中,源系统(602)将DM元数据连同参考代码值一起编码、存储等到12位YCbCr 4:2:2格式的同一第一视频信号(702)中。源系统(602)可以被配置为对DM元数据进行加扰,并且将加扰的DM元数据存储在第一视频信号(702)中的被(例如,视频信号标准等)指定用于携带色度或颜色通道像素值的最低有效位值的位置处。在本例子中,参考代码值可以包括亮度相关的参考代码值和色度相关的参考代码值。12位YCbCr 4:2:2格式的第一视频信号(702)的亮度通道可以存储亮度相关的参考代码值,接收显示装置可以基于至少部分地使用DM元数据构造的映射函数、映射曲线等将亮度相关的参考代码值映射到装置特定的亮度值。12位YCbCr 4:2:2格式的第一视频信号(702)的色度通道可以存储色度相关的参考代码值和加扰的DM元数据。加扰的DM元数据可以被存储在——第一视频信号(702)的色度通道中的——被(例如,视频信号标准等)指定用于存储色度或颜色通道像素值的最低有效位值的位置处。
[0125] 在一些实施例中,源系统(602)被配置为将12位YCbCr 4:2:2格式的第一视频信号(702)映射到8位RGB 4:4:4格式的第二视频信号(704)。
[0126] 在如图7所示的示例实施例中,12位YCbCr 4:2:2格式的第一视频信号(702)的每个亮度通道(例如,12位等)采样(例如,“Y0”、“Y1”、“Y2”、“Y3”、“Y4”等)可以被划分为第一采样部分(例如,位3-0等)和第二采样部分(例如,位11-4等)。第一采样部分(例如,位3-0等)可以被存储在8位RGB 4:4:4格式的第二视频信号(704)的蓝色通道(例如,“B”等)的第一部分中。第二采样部分(例如,位11-4等)可以被存储在8位RGB 4:4:4格式的第二视频信号(704)的绿色通道(例如,“G”等)中。
[0127] 12位YCbCr 4:2:2格式的第一视频信号(702)的每个(例如,二次采样的、等等)CB色度通道采样(例如,“CB0”、“CB2”、“CB4”等)也可以被划分为第一采样部分(例如,位3-0等)和第二采样部分(例如,位11-4等)。第一采样部分(例如,位3-0等)可以被存储在8位RGB 4:4:4格式的第二视频信号(704)的蓝色通道(例如,“B”等)的第二部分中。第二采样部分(例如,位11-4等)可以被存储在8位RGB 4:4:4格式的第二视频信号(704)的红色通道(例如,“R”等)中。
[0128] 类似地,12位YCbCr 4:2:2格式的第一视频信号(702)的每个(例如,二次采样的、等等)CR色度通道采样(例如,“CR0”、“CR2”等)可以被划分为第一采样部分(例如,位3-0等)和第二采样部分(例如,位11-4等)。第一采样部分(例如,位3-0等)可以被存储在8位RGB 4:4:4格式的第二视频信号(704)的蓝色通道(例如,“B”等)的第二部分中。第二采样部分(例如,位11-4等)可以被存储在8位RGB 4:4:4格式的第二视频信号(704)的红色通道(例如,“R”等)中。
[0129] 如图7所示,CB采样(例如,“CB0”、“CB2”、“CB4”等)在8位RGB 4:4:4格式的第二视频信号(704)中与CR采样(例如,“CR0”、“CR2”等)交织,如12位YCbCr 4:2:2格式的第一视频信号(702)中那样。
[0130] 在实施例中,源系统(602)然后在传输模式(其可以被称为“隧道模式”)中将12位YCbCr 4:2:2格式的第一视频信号(702)以8位RGB 4:4:4格式的第二视频信号(704)传输。相反,在不将12位YCbCr 4:2:2格式的第一视频信号(702)映射到另一视频信号格式(诸如8位RGB 4:4:4格式)的情况下第一视频信号(702)从源系统到汇集系统的传输处于可以被称为“正常模式”的传输模式。
[0131] 在一些实施例中,源系统(602)被配置为用信号向汇集系统(604)通知正在通信路径(606)中使用哪种传输模式。例如,源系统(602)可以将广泛实现的基于标准的元数据信息帧(例如,HDMI辅助视频信息(AVI)InfoFrame等)中的一个或多个指示符、一个或多个标志、数据字段(例如,Y0、Y1等)等设置为特定值(例如,Y0=0,Y1=0等)。源系统(602)可以将一个或多个包括基于标准的元数据信息帧的数据包发送到汇集系统(604)以用信号通知通信路径(606)正在隧道模式下进行操作。
[0132] 在一些实施例中,汇集系统(604)被配置为检测正在通信路径(606)中使用哪种传输模式。例如,汇集系统(604)可以接收所述一个或多个数据包,读取所述一个或多个数据包中的基于标准的元数据信息帧(例如,HDMI AVI InfoFrame等)中的所述一个或多个指示符、一个或多个标志、数据字段(例如,Y0、Y1等),等等。汇集系统(604)可以通过确定在基于标准的元数据信息帧(例如,HDMI AVI InfoFrame等)中的所述一个或多个指示符、一个或多个标志、数据字段(例如,Y0、Y1等)等中是否存在特定值(例如,Y0=0,Y1=0等)来确定通信路径(606)是否在隧道模式下进行操作。
[0133] 在一些实施例中,响应于确定通信路径(606)在隧道模式下进行操作,汇集系统(604)可以将在通信路径(606)中接收的8位RGB4:4:4格式的第二视频信号(704)映射回12位YCbCr 4:2:2格式的第一视频信号(702),从12位YCbCr 4:2:2格式提取参考代码值和DM元数据,等等。从8位RGB 4:4:4格式到12位YCbCr 4:2:2格式的映射可以例如通过用于第一视频信号(702)和第二视频信号(704)的单独的帧缓冲器、指向8位RGB 4:4:4格式或12位YCbCr 4:2:2格式中的一个或多个中的字节或位位置的一个或多个数据指针等来执行。
[0134] 在一些实施例中,汇集系统(604)可以对DM元数据进行解扰,基于(例如,解扰的、等等)DM元数据来对参考代码值执行显示管理操作,等等。
[0135] 8.源和汇集之间无明确信令
[0136] 在一些实施例中,本文所述的源系统和汇集系统执行一个或多个(例如,基于标准的、专有的、等等)握手协议,来确定通信路径是否要携带本文所述的编码有参考代码值和DM元数据的视频信号。源系统和汇集系统可以使用可以用于交换初始热插拔信号中的能力信息、选择被相互支持的视频帧和/或视频定时、等等的元数据递送机制(例如,基于标准的元数据递送机制、专有的递送机制等)来交换所述一个或多个握手协议的协议消息。例如,汇集系统可以经由使用元数据递送机制从汇集系统发送到源系统的供应商特定数据块(VSDB)标识自己能够来处理本文所述的参考代码值和DM元数据。另一方面,源系统可以经由使用元数据递送机制从源系统发送到汇集系统的供应商特定信息帧或InfoFrame(VSIF)来指定通信路径将携带本文所述的参考代码值和DM元数据。
[0137] 这样的元数据递送机制可能并不是在所有的视频回放环境中都是可用的。例如,源系统和汇集系统之间的AVR(例如,老式装置等)可能不支持元数据递送机制。
[0138] 图6B例示说明源系统(例如,602等)和汇集系统(例如,604等)之间的通信路径(例如,606等)经由一个或多个第三装置(例如,608等)(诸如音频视频接收器(AVR)等)被中继的系统配置;通信路径(606)包括多于一个的通信链路(例如,610-1、610-2等)。源系统(602)可以实现图1的媒体源系统(100)中的组件中的一些或全部。汇集系统(604)可以实现图2的媒体汇集系统(200)中的组件中的一些或全部。
[0139] 在一些实施例中,对源系统(602)和汇集系统(604)之间的通信进行中继的一个或多个第三装置(608)中的至少一个不支持可以用于交换初始热插拔信号中的能力信息、选择相互支持的视频帧和/或视频定时、等等的元数据递送机制(例如,基于标准的元数据递送机制、专有的递送机制等)。例如,当通信路径(606)中的AVR丢弃协议包(例如,HDMI供应商特定InfoFrame包等)时,当源系统(602)不允许设置标志(例如,HDMI供应商特定InfoFrame中的EDR_Valid位、等等)时,情况可能如此。
[0140] 在一些实施例中,即使允许源系统(602)和汇集系统(604)交换初始热插拔信号中的能力信息、选择相互支持的视频帧和/或视频定时、等等的元数据递送机制可能可以或者不可以通过通信路径(606)使用,汇集系统(604)仍实现本文所述的技术来基于从源系统(602)接收的参考代码值和DM数据执行特定的显示管理操作。在一些实施例中,源系统(602)实现本文所述的技术来检测汇集系统是否能够基于从源系统(602)接收的参考代码值和DM数据来执行特定的显示操作。
[0141] 在一些实施例中,一旦源系统(602)决定开始发送本文所述的参考代码值和DM元数据,源系统(602)就将DM元数据嵌入与第一视频信号格式(例如,12位YCbCr 4:2:2格式等)对应的帧缓冲器(例如,12位YCbCr 4:2:2视频缓冲器等)。在一些实施例中,源系统(602)在正常模式下传输帧缓冲器的内容,在正常模式下,与第一视频信号格式对应的帧缓冲器的内容在第一视频信号格式的第一视频信号中被输送到汇集系统(604)。在一些实施例中,源系统(602)在隧道模式下传输帧缓冲器的内容,在隧道模式下,与第一视频信号格式对应的帧缓冲器的内容被映射到第二视频信号格式(例如,8位RGB 4:4:4格式等)。第二视频信号格式的映射内容在第二视频信号格式的第二视频信号中被输送到汇集系统(604)。
[0142] 在一些实施例中,源系统(602)对DM元数据的位值中的一些或全部计算一个或多个CRC值(例如,CRC-32个值等),对DM元数据进行加扰以将其传输到汇集系统(604)(例如,在色度或颜色通道像素值的一些最低有效位值中、等等),将CRC值作为DM元数据的一部分或者与DM元数据相结合地传输到汇集系统(604),等等。
[0143] 在一些实施例中,汇集系统(604)被设置为就绪状态——例如,关于HDMI接收器接口——以确定视频信号是否正携带本文所述的参考代码值和DM元数据。
[0144] 在一些实施例中,汇集系统(604)确定通信路径(606)是否正在隧道模式下进行操作。例如,汇集系统(604)确定在(例如,基于标准的、等等)元数据信息帧(例如,HDMI AVI InfoFrame等)中的一个或多个指示符、一个或多个标志、数据字段(例如,Y0、Y1等)等中是否存在特定值(例如,Y0=0,Y1=0等)。如果是,则汇集系统(604)确定通信路径(606)正在隧道模式下进行操作,在隧道模式下,源系统(602)可能(例如,直到进一步基于CRC值进行验证、等等)可以将参考代码值和DM元数据存储在第一视频信号格式(诸如12位YCbCr 4:2:2格式等)的第一视频信号中;将第一视频信号映射到第二视频信号格式(诸如8位RGB 4:4:
4格式等)的第二视频信号;经由通信路径(606)将第二视频信号传输到汇集系统(604);等等。
[0145] 另一方面,如果确定在(例如,基于标准的、等等)元数据信息帧(例如,HDMI AVI InfoFrame等)中的一个或多个指示符、一个或多个标志、数据字段(例如,Y0、Y1等)等中不存在特定值(例如,Y0=0,Y1=0等),则汇集系统(604)确定通信路径正在正常模式下进行操作,在正常模式下,源系统(602)可能(例如,直到进一步基于CRC值进行验证、等等)可以将参考代码值和DM元数据存储在第一视频信号格式(诸如12位YCbCr 4:2:2格式等)的第一视频信号中;经由通信路径(606)将第一视频信号传输到汇集系统(604);等等。
[0146] 在一些实施例中,汇集系统(604)设置与通信路径(606)正在操作的模式(例如,正常模式、隧道模式等)对应的提取模式。在与通信路径(606)的正常模式对应的第一提取模式下,汇集系统(604)被配置为从通信路径(606)中的基于第一视频信号格式的视频信号提取第一数据部分和第二数据部分,第一数据部分可能表示参考代码值,第二数据部分可能表示DM元数据。在与通信路径(606)的隧道模式对应的第二提取模式下,汇集系统(604)被配置为将通信路径(606)中的第二视频信号格式的视频信号映射到第一视频信号格式的映射视频信号(例如,通过帧缓冲器等);从基于第一视频信号格式的映射视频信号提取第一数据部分和第二数据部分,第一数据部分可能表示参考代码值,第二数据部分可能表示DM元数据。
[0147] 在一些实施例中,汇集系统(602)对可能表示从接收的视频信号解扰的DM元数据的第二数据部分的位值中的一些或全部计算一个或多个CRC值(例如,CRC-32个值等),从接收的视频信号提取一个或多个可能的源CRC值,等等。所述一个或多个可能的源CRC值可能(例如,直到进一步基于可能的源CRC值是否与计算的CRC值匹配来进行验证、等等)是由源系统(602)计算的并且被作为DM元数据的一部分或者与DM元数据相结合地提供的CRC值;等等。
[0148] 在一些实施例中,汇集系统例如通过确定汇集系统计算的一个或多个CRC值是否与从接收的视频信号提取的可能的CRC值中的一个或多个相匹配,来执行CRC测试。如果确定汇集系统计算的一个或多个CRC值与从接收的视频信号提取的可能的CRC值中的一个或多个不匹配,则CRC测试失败。另一方面,如果确定汇集系统计算的一个或多个CRC值与从接收的视频信号提取的可能的CRC值中的一个或多个匹配,则CRC测试通过。
[0149] 响应于CRC测试失败,汇集系统(604)确定从源系统(602)接收的视频信号不携带本文所述的参考代码值和DM元数据,并且不进入如下的特定操作模式(例如,EDR操作模式等),在该特定操作模式下,汇集系统(604)对本文所述的参考代码值和DM元数据执行显示管理操作。
[0150] 另一方面,响应于CRC测试通过,汇集系统(604)确定从源系统(602)接收的视频信号携带本文所述的参考代码值和DM元数据,并且进入汇集系统(604)对本文所述的参考代码值和DM元数据执行显示管理操作的特定操作模式。
[0151] 在一些实施例中,只要CRC测试保持通过,汇集系统(604)就停留在所述特定操作模式中。在一些实施例中,当(例如,连续的、等等)CRC测试失败的总数达到高于某一阈值(例如,对于12、18、24、30等个连续视频帧的CRC测试失败、等等)时,汇集系统(604)退出所述特定操作模式。
[0152] 在一些实施例中,为了确定所接收的视频信号是否携带本文所述的参考代码值和DM元数据,除了实现基于握手协议的方法(例如,基于HDMI VSIF等)之外,汇集系统(604)还实现以上讨论的基于CRC测试的方法。这些方法中的一种方法可以优先于这些方法中的另一种方法。在一些实施例中,基于CRC测试的方法优先于基于握手协议的方法。在一些实施例中,基于握手协议的方法优先于基于CRC测试的方法。
[0153] 9.针对EDR操作配置源
[0154] 在一些实施例中,来自汇集系统(604)的HDMI供应商特定数据块(VSDB)传输对于源系统(例如,602等)可能是不可检测的。另外地,可选地,或可替代地,源系统(602)可能不被配置为允许对元数据包或块中的一个或多个位(例如,汇集系统发送的HDMI供应商特定数据块中的support_EDR位、等等)进行轮询以指示对于基于本文所述的参考代码值和DM元数据执行特定显示管理操作的支持。
[0155] 本文所述的技术可以由源系统(例如,602等)实现以用于确定通过通信路径(例如,606)连接到源系统的汇集系统(例如,604等)是否是如下的装置,即使允许源系统和汇集系统交换初始热插拔信号中的能力信息、选择相互支持的视频帧和/或视频定时、等等的元数据递送机制在源系统和汇集系统在其中进行操作的特定视频回放环境中可能是可用的或不可用的,该装置仍被启用来执行与参考代码值和DM元数据相关的特定显示操作。
[0156] 在一些实施例中,源系统(602)将第一视频信号格式(诸如12位YCbCr 4:2:2格式等)的特定图像模式(例如,一个或多个图像、图像的时间序列、静态图像等)存储在帧缓冲器、数据商店、存储器空间的一部分等中。
[0157] 在一些实施例中,源系统(602)对第一视频信号格式的某些位位置(例如,第一视频信号格式的视频帧中的色度采样的一些LSB位置、等等)处的DM元数据进行加扰。
[0158] 在一些实施例中,源系统(602)EDR源将特定图像模式(减去用于存储DM元数据的位位置处的某些位值)和DM元数据打包在第二视频信号格式(诸如8位RGB 4:4:4格式等)的图像容器(例如,帧缓冲器等)中。
[0159] 在一些实施例中,源系统(602)将(例如,基于标准的、等等)元数据信息帧(例如,HDMI AVI InfoFrame等)中的一个或多个指示符、一个或多个标志、数据字段(例如,Y0、Y1等)等设置为一个或多个特定值(例如,Y0=0,Y1=0等),以指示第二视频信号格式的视频信号正通过通信路径(606)被发送。
[0160] 汇集系统(604),如果能够用如本文所述的参考代码值和DM元数据执行特定显示管理操作,则可以被配置为——至少部分基于在(例如,基于标准的、等等)元数据信息帧(例如,HDMI AVI InfoFrame等)中的所述一个或多个指示符、一个或多个标志、数据字段(例如,Y0、Y1等)中检测到一个或多个特定值——确定或假定所接收的第二视频信号格式的视频信号携带预先映射的第一视频信号格式的视频信号。
[0161] 汇集系统(604)可以继续在其DM元数据提取操作中执行CRC测试。此外,汇集系统(604)可以提取参考代码值,并且用参考代码值和DM元数据来执行特定显示管理操作。从特定显示管理操作获得的装置特定的像素值可以被汇集系统(604)用于如预期地在显示器上渲染/显示该特定图像模式,该显示器可以是汇集系统(604)的一部分或者操作地与汇集系统(604)链接。
[0162] 然而,不实现本文所述的技术的汇集系统(例如,老式显示器等)将假定接收的第二视频信号格式的视频信号携带第二视频信号格式(例如,8位RGB 4:4:4格式等)的像素值(例如,RGB像素值等),并且将在此基础上对接收的视频信号进行解码。因此,与该特定图像模式或者实现本文所述的技术的汇集系统所渲染的图像相比,这样的汇集系统渲染的图像将显示出显著的颜色失真。
[0163] 在一些实施例中,源系统(602)被配置有一个或多个(例如,互联网OTT、机顶等)应用,这些应用可以与用户进行交互,并且从用户接收输入。源系统(602)可以(例如,通过特定图像模式上的文本消息、等等)询问用户是否可以看见不具有颜色失真的图像模式。
[0164] 源系统(602)从用户接收指示用户是否看见不具有颜色失真的图像模式的用户输入(例如,通过按下远程装置上的或者源系统(602)上的按钮、等等)。
[0165] 响应于接收到用户看见不具有颜色失真的图像模式的指示(从用户输入确定),源系统(602)确定连接在通信路径(606)中的汇集系统(604)能够用本文所述的参考代码值和DM元数据执行特定显示管理操作。因此,源系统(602)在此基础上将零个、一个或多个媒体节目(例如,由本文所述的参考代码值和DM元数据表示、等等)发送到汇集系统(604)。
[0166] 响应于接收到用户没有看见不具有颜色失真的图像模式的指示(从用户输入确定),源系统(602)确定连接在通信路径(606)中的汇集系统(604)不能用本文所述的参考代码值和DM元数据执行特定显示管理操作,并且在此基础上继续或切换到将零个、一个或多个媒体节目(例如,由除了本文所述的参考代码值和DM元数据之外的像素值、SDR像素值、RGB像素值等表示)发送到汇集系统(604)。
[0167] 在一些实施例中,该EDR汇集系统检测方法由如下的源系统实现,该源系统可能不支持接收指示汇集系统是否能够用本文所述的参考代码值和DM元数据执行特定显示管理操作的元数据信息帧(例如,HDMI供应商特定数据块等)或者对来自该元数据信息帧的特定位进行轮询。在一些实施例中,该EDR汇集系统检测方法由如下的源系统实现,该源系统支持接收指示汇集系统是否能够用本文所述的参考代码值和DM元数据执行特定显示管理操作的元数据信息帧(例如,HDMI供应商特定数据块等)或者对来自该元数据信息帧的特定位进行轮询;在这些实施例中,对元数据信息帧的特定位进行轮询的方法可以优先于应实现的HDMI VSDB,并且优先于部分基于用户输入的EDR汇集系统检测方法。指出,在一些实施例中,在某些回放环境中,因为可能存在一个或多个约束,因此轮询方法可能也是不可能的,该约束为诸如一个或多个如下的老式中间装置(例如,老式AVR等),即使源系统和汇集系统中的一者或两者可能能够或不能对元数据信息帧中的这些位进行轮询,该老式中间装置仍不支持用于基于源系统和汇集系统之间的元数据信息帧确定EDR能力的端对端信令。
[0168] 被选择用于信令的特定图像模式可以是相当任意的,只要视觉差异被清楚地注意到即可。例如,特定图像模式可以由YCbCr颜色空间中的灰色帧表示。从12位YCbCr颜色空间映射到8位RGB格式——例如,根据图7——的这样的灰色帧在RGB空间中不创建灰色帧,而是将创建某一种颜色。因此,例如黑色的或白色的文本消息可以在特定图像模式中用于询问用户在围绕文本消息的像素中是否看见除了灰色之外的“任何”颜色。如果用户回答“否”,则特定图像模式已经被能够用本文所述的参考代码值和DM元数据执行特定显示管理操作的汇集系统准确地检测到。否则,汇集系统是不能用本文所述的参考代码值和DM元数据执行特定显示管理操作的老式装置。
[0169] 10.示例处理流程
[0170] 图4A和图4B例示说明示例处理流程。在一些实施例中,一个或多个计算装置或单元(例如,图1的媒体源系统100、图2的媒体汇集系统200等)可以执行这些处理流程。
[0171] 在方框402中,媒体源系统(例如,图1的100等)接收源视频信号,该源视频信号包括(a)参考代码值以及(b)用于一个或多个映射函数的多个映射函数参数。具有所述多个映射函数参数的所述一个或多个映射函数可以用于将参考代码值映射到视频渲染装置特定的映射像素值。
[0172] 在方框404中,媒体源系统(100)将参考代码值和所述多个映射函数参数组合到一个或多个视频帧中的多个像素中。这里,所述多个像素被管控与视频渲染装置的视频链路的一个或多个视频链路标准具体指定仅携带像素值。
[0173] 在方框404中,媒体源系统(100)将包括参考代码值和所述多个映射函数参数的所述一个或多个视频帧通过视频链路发送到视频渲染装置。
[0174] 在一个实施例中,媒体源系统(100)被配置为确定视频渲染装置能够执行与所述一个或多个映射函数相关的映射操作。
[0175] 在方框452中,媒体汇集系统(例如,图2的200等)将通过视频链路接收的编码视频信号(例如,图2的112等)解码为一个或多个视频帧,这些视频帧包括存储(a)参考代码值以及(b)用于一个或多个映射函数的多个映射函数参数的多个像素。所述多个像素被管控视频链路的一个或多个视频链路标准具体指定仅携带像素值。
[0176] 在方框454中,媒体汇集系统(200)从所述一个或多个视频帧的所述多个像素提取参考代码值和所述多个映射函数参数。
[0177] 在方框456中,媒体汇集系统(200)应用具有所述多个映射函数参数的所述一个或多个映射函数来将参考代码值映射到映射像素值。
[0178] 在一个实施例中,媒体汇集系统(200)被进一步配置为指示视频汇集系统能够执行与所述一个或多个映射函数相关的映射操作,其中,该方法由视频汇集系统执行。
[0179] 在一个实施例中,视频链路是以下中的一个:高清多媒体接口(HDMI)链路、V-by-One-HS(Vx1)链路、低压差分信令(LVDS)链路、高清串行数字接口(HD-SDI)链路等。
[0180] 在一个实施例中,代码代码值和多个映射函数参数在一个或多个视频帧的同一视频帧中。
[0181] 在一个实施例中,一个或多个视频帧表示视频帧的时间序列的一部分;多个映射函数参数在所述一个或多个视频帧的第一视频帧中;参考代码值在所述时间序列中的在第一视频帧之前的第二视频帧中。
[0182] 在一个实施例中,多个映射函数参数被存储在多个像素的位字段中的多个最低有效位字段中。
[0183] 在一个实施例中,多个映射函数参数被存储在多个像素的多个位字段中;所述多个像素中的除了所述多个位字段之外的位字段携带用于颜色空间的通道集合中的每个通道的组成参考代码值;并且所述多个位字段最初被管控视频链路的视频链路标准指定为用于该颜色空间的通道集合中的适当的通道子集的组成像素值。
[0184] 在一个实施例中,颜色空间的通道集合包括至少一个色度分量;并且该适当的通道子集包括颜色空间的通道集合中的所述至少一个色度分量。
[0185] 在一个实施例中,颜色空间是RGB颜色空间或YCbCr颜色空间之一。
[0186] 在一个实施例中,源视频信号在包括以下中的一个的源媒体数据中:仅视频内容、或者音频内容和视频内容两者。媒体数据可以在空中广播信号、有线广播信号、卫星广播信号、媒体数据位流、媒体数据文件等中的一个中被接收。
[0187] 在一个实施例中,所述一个或多个视频帧形成场景。
[0188] 在一个实施例中,所述一个或多个视频帧为4-4-4采样格式、4-2-2采样格式、4-2-0采样格式等中的一个。
[0189] 在一个实施例中,所述多个映射函数参数中的一个或多个映射函数参数在所述一个或多个视频帧中被重复。
[0190] 在一个实施例中,所述多个映射函数参数在DM元数据传输包的有效载荷中连同一个或多个循环冗余校验(CRC)值一起被发送到视频渲染装置,所述CRC值从DM元数据传输包的位值的一部分计算得到。
[0191] 在一个实施例中,所述一个或多个视频帧中的一个视频帧携带用于对同一视频帧执行与所述一个或多个映射函数相关的映射操作的多个映射函数参数。
[0192] 在一个实施例中,所述一个或多个视频帧中的一个视频帧不携带所述多个映射函数参数,其中,视频帧包括表示标志的值,所述标志指示先前接收的所述多个映射函数参数应被用于对同一视频帧执行与所述一个或多个映射函数相关的映射操作。
[0193] 在一个实施例中,与所述一个或多个映射函数相关的映射操作包括以下中的一个或多个:色调映射操作、色域映射操作等。
[0194] 在一个实施例中,对所述多个像素中的存储所述多个映射函数参数的多个位字段进行加扰。
[0195] 在一个实施例中,所述多个像素携带附加的非像素值;非像素值存储用于除了与所述多个映射函数参数相关的映射操作之外的显示管理操作的一个或多个操作参数。
[0196] 图8A至图8D例示说明附加的示例处理流程。在一些实施例中,一个或多个计算装置或单元(例如,图1的媒体源系统100、图2的媒体汇集系统200、图6A或图6B的源系统602、图6A或图6B的汇集系统604等)可以执行这些处理流程。
[0197] 图8A例示说明以特定回放环境中支持的另一视频信号格式传输用于携带本文所述的参考代码值和DM元数据的视频信号格式的示例流程。在方框802中,源系统(例如,图6A或图6B的602等)接收源视频信号,该源视频信号包括(a)参考代码值以及(b)用于一个或多个映射函数的多个映射函数参数。具有所述多个映射函数参数的所述一个或多个映射函数可被用于将参考代码值映射到装置特定的像素值。
[0198] 在方框804中,源系统(602)将参考代码值的一个或多个部分以及所述多个映射函数参数组合到一个或多个第一视频信号格式的第一视频帧中。
[0199] 在方框806中,源系统(602)基于所述一个或多个第一视频信号格式的视频帧以及第一视频信号格式和第二视频信号格式之间的映射来产生一个或多个第二视频信号格式的第二视频帧。
[0200] 在方框808中,源系统(602)通过视频链路将所述一个或多个第二视频帧发送到视频汇集装置。
[0201] 在一个实施例中,第一视频信号格式表示12位YCbCr 4:2:2格式,而第二视频信号格式表示8位RGB 4:4:4格式。
[0202] 在一个实施例中,源系统(602)被进一步配置为发送元数据信息帧,该元数据信息帧具有指示第一视频信号格式的基础视频信号正被携带在第二视频信号格式的编码视频信号中的数据。
[0203] 在一个实施例中,源系统(602)被进一步配置为执行:对所述一个或多个第一视频帧中的DM元数据的一个或多个部分的位值计算一个或多个循环冗余校验(CRC)值;并且将所述一个或多个CRC值与DM元数据一起在所述一个或多个第一视频帧中传输。
[0204] 在一个实施例中,源系统(602)被进一步配置为确定视频汇集装置能够执行与所述一个或多个映射函数相关的映射操作。
[0205] 在一个实施例中,视频链路是以下中的一个:高清多媒体接口(HDMI)链路、V-by-One-HS(Vx1)链路、低压差动信令(LVDS)链路、高清串行数字接口(HD-SDI)链路等。
[0206] 在一个实施例中,所述多个映射函数参数被存储在所述一个或多个第一视频帧中的多个最低有效位字段中。在一个实施例中,所述多个映射函数参数中的一个或多个映射函数参数在所述一个或多个第一视频帧中被重复。
[0207] 在一个实施例中,所述一个或多个第一视频帧形成场景。在一个实施例中,一个或多个视频帧中的一个视频帧携带用于对同一视频帧执行与所述一个或多个映射函数相关的映射操作的所述多个映射函数参数。在一个实施例中,所述一个或多个第一视频帧中的一个第一视频帧不携带所述多个映射函数参数;该第一视频帧包括表示标志的值,所述标志指示先前接收的所述多个映射函数参数将被用于对同一第一视频帧执行与所述一个或多个映射函数相关的映射操作。
[0208] 在一个实施例中,与所述一个或多个映射函数相关的映射操作包括色调映射操作或色域映射操作中的一个或多个。在一个实施例中,对一个或多个第一视频帧中的存储所述多个映射函数参数的多个位字段进行加扰。在一个实施例中,所述一个或多个第一视频帧进一步携带用于除了映射之外的显示管理操作的一个或多个参数。
[0209] 图8B例示说明对用于隧穿另一视频信号格式的视频信号的视频信号格式进行解码的示例处理流程,其中,特定回放环境中的本文所述的参考代码值和DM数据首先被以所述另一视频信号格式编码。在方框822中,汇集系统(例如,图6A或图6B的604等)通过视频链路接收编码视频信号。这里,参考代码值的一个或多个部分以及多个映射函数参数可以被组合到一个或多个第一视频信号格式的第一视频帧中。编码视频信号包括一个或多个第二视频信号格式的第二视频帧。所述一个或多个第二视频帧基于所述一个或多个第一视频信号格式的第一视频帧以及第一视频信号格式和第二视频格式之间的映射而产生。
[0210] 在方框824中,汇集系统(604)从编码视频信号提取所述一个或多个第二视频信号格式的第二视频帧。
[0211] 在方框826中,汇集系统(604)基于所述一个或多个第一视频帧以及第一视频信号格式和第二视频格式之间的映射来提取参考代码值的所述一个或多个部分和所述多个映射函数参数。
[0212] 在方框828中,汇集系统(604)应用具有所述多个映射函数参数的所述一个或多个映射函数来将参考代码值的所述一个或多个部分映射到映射像素值。
[0213] 在一个实施例中,汇集系统(604)被进一步配置为接收元数据信息帧,该元数据信息帧具有指示第一视频信号格式的基础视频信号正被携带在第二视频信号格式的编码视频信号中的数据。
[0214] 在一个实施例中,汇集系统(604)被进一步配置为渲染基于参考代码值的所述一个或多个部分以及所述多个映射函数参数而构造的一个或多个图像。
[0215] 图8C例示说明确定用于隧穿另一视频信号格式的视频信号的视频信号格式的存在的示例处理流程,其中,特定回放环境中的本文所述的参考代码值和DM数据首先被以所述另一视频信号格式编码。在方框842中,汇集系统(例如,图6A或图6B的604等)从被编码在编码视频信号中的一个或多个视频帧提取特定数据部分。编码视频信号从汇集系统(604)的视频接收器接口接收。
[0216] 在方框844中,汇集系统(604)对从编码视频信号提取的特定数据部分执行CRC测试。
[0217] 在方框846中,响应于对从编码视频信号提取的特定数据部分的CRC测试成功,汇集系统(604)将视频汇集系统设置为特定操作模式,在该特定操作模式下,视频汇集系统至少部分基于从编码视频信号提取的特定数据部分中携带的多个映射函数参数将从编码视频信号提取的多个参考代码值映射到装置特定的像素值。
[0218] 在一个实施例中,汇集系统(604)被进一步配置为执行:从所述一个或多个第一视频帧提取一个或多个源装置计算的循环冗余校验(CRC)值;对所述一个或多个第一视频帧的一个或多个特定部分的位值计算一个或多个CRC值;并且将所述一个或多个CRC值与所述一个或多个源装置计算的CRC值进行比较。
[0219] 在一个实施例中,汇集系统(604)被进一步配置为:响应于对从编码视频信号提取的特定数据部分的CRC测试失败了指定次数,将视频汇集系统设置为第二特定操作模式,在该第二特定操作模式下,视频汇集系统不执行参考代码值到装置特定的像素值的映射。
[0220] 在一个实施例中,视频汇集系统被阻止接收元数据信息帧,该元数据信息帧具有指示编码视频信号包括参考代码值以及用于将参考代码值映射到装置特定的像素值的映射函数参数的数据。
[0221] 在一个实施例中,编码视频信号是第一视频信号格式,并且包括参考代码值以及用于将参考代码值映射到装置特定的像素值的映射函数参数被编码于其中的第一视频信号格式的视频帧。
[0222] 在一个实施例中,编码视频信号包括一种视频信号格式的视频帧,与该视频信号格式不同的第一视频信号格式的第一视频帧被映射到该种视频信号格式的视频帧中;并且参考代码值以及用于将参考代码值映射到装置特定的像素值的映射函数参数被编码在第一视频帧中。
[0223] 图8D例示说明确定在特定回放环境中汇集系统是否能够基于本文所述的参考代码值和DM元数据执行显示管理操作的示例处理流程。在方框862中,源系统(例如,图6A或图6B的602等)将多个参考代码值和多个映射函数参数组合到一个或多个第一视频信号格式的第一视频帧中。所述多个参考代码值表示特定图像模式。所述多个映射函数参数与将所述多个参考代码值映射到多个装置特定的像素值的一个或多个映射函数有关。
[0224] 在方框864中,源系统(602)基于所述一个或多个第一视频信号格式的第一视频帧以及第一视频信号格式和第二视频信号格式之间的映射来产生一个或多个第二视频信号格式的第二视频帧。
[0225] 在方框866中,源系统(602)通过视频链路将所述一个或多个第二视频帧发送到视频汇集系统。
[0226] 在方框868中,响应于接收到指示不具有颜色失真的特定图像模式通过视频汇集系统而被显示的用户输入,源系统(602)将视频源系统设置为特定操作模式,在该特定操作模式下,视频源系统将附加视频帧发送到视频汇集系统,所述附加视频帧被编码有参考代码值以及用于将参考代码值映射到装置特定的像素值的映射函数参数,所述附加视频帧中的参考代码值表示一个或多个媒体节目的视频内容的至少一部分。
[0227] 在一个实施例中,所述特定图像模式是存储在视频汇集系统的灰度图像模式。
[0228] 在一个实施例中,源系统(602)被进一步配置为响应于接收到指示具有颜色失真的特定图像模式通过视频汇集系统而被显示的用户输入,将视频源系统设置为第二特定操作模式,在该第二特定操作模式下,视频源系统将附加视频帧发送到视频汇集系统,所述附加视频帧没有参考代码值以及用于将参考代码值映射到装置特定的像素值的映射函数参数。
[0229] 实施例包括一种被配置为执行本文所述的方法中的任何一个的媒体处理系统。
[0230] 实施例包括一种包括处理器并且被配置为执行前述方法中的任何一个的设备。
[0231] 实施例包括一种存储软件指令的非暂时性计算机可读存储介质,所述软件指令当被一个或多个处理器执行时引起前述方法中的任何一个的执行。
[0232] 指出,尽管本文讨论了单独的实施例,但是本文讨论的实施例和/或部分实施例的任何组合可以被组合以形成进一步的实施例。
[0233] 11.实现机制——硬件概述
[0234] 根据一个实施例,本文所述的技术由一个或多个专用计算装置实现。专用计算装置可以被硬连线来执行这些技术,或者可以包括被持久地编程为执行这些技术的数字电子装置,诸如一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA),或者可以包括被编程为按照固件、存储器、其他储存器或组合中的程序指令执行这些技术的一个或多个通用硬件处理器。这样的专用计算装置还可以组合具有自定义编程的自定义硬连线逻辑、ASIC、或FPGA来实现这些技术。专用计算装置可以是台式计算机系统、便携式计算机系统、手持装置、联网装置、或合并硬连线逻辑和/或程序逻辑来实现这些技术的任何其他的装置。
[0235] 例如,图5是例示说明在其上可以实现本发明的实施例的计算机系统500的框图。计算机系统500包括用于传送信息的总线502或其他通信机制、以及与总线502耦合的、用于对信息进行处理的硬件处理器504。硬件处理器504可以是例如通用微处理器。
[0236] 计算机系统500还包括耦合到总线502的、用于存储将被处理器504执行的指令和信息的主存储器506,诸如随机存取存储器(RAM)或其他动态存储装置。主存储器506还可以用于存储在将被处理器504执行的指令的执行期间的临时变量或其他中间信息。这样的指令在被存储在可供处理器504访问的非暂时性存储介质中时将计算机系统500变为装置特定的执行这些指令中所指定的操作的专用机器。
[0237] 计算机系统500还包括用于存储用于处理器504的静态信息和指令的只读存储器(ROM)508或其他静态存储装置。提供了存储装置510,诸如磁盘或光学盘,并且存储装置510耦合到总线502,用于存储信息和指令。
[0238] 计算机系统500可以经由总线502耦合到用于向计算机用户显示信息的显示器512,诸如液晶显示器(LCD)。包括字母数字键和其他键的输入装置514耦合到总线502,用于将信息和命令选择传送给处理器504。另一种类型的用户输入装置是用于将方向信息和命令选择传送给处理器504并且用于控制显示器512上的光标移动的光标控件516,诸如鼠标、轨迹球、或光标方向键。该输入装置通常具有两个轴(第一轴(例如,x)和第二轴(例如,y))上的两个自由度,这两个自由度使得该装置可以指定平面中的位置。
[0239] 计算机系统500可以使用与该计算机系统组合使计算机系统500成为专用机器或者将计算机系统500编程为专用机器的装置特定的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实现本文所述的技术。根据一个实施例,本文的技术由计算机系统500响应于处理器504执行包含在主存储器506中的一个或多个指令的一个或多个序列来执行。这样的指令可以从另一个存储介质(诸如存储装置510)读取到主存储器506中。包含在主存储器506中的指令序列的执行使处理器504执行本文所述的处理步骤。在替代实施例中,可以使用硬连线的电路系统来代替软件指令或者与软件指令组合。
[0240] 本文所使用的术语“存储介质”指的是存储使机器以特定方式操作的数据和/或指令的任何非暂时性介质。这样的存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括,例如,光学盘或磁性盘,诸如存储装置510。易失性介质包括动态存储器,诸如主存储器506。常见形式的存储介质包括,例如,软盘、柔性盘、硬盘、固态驱动器、磁带、或任何其他磁性数据存储介质、CD-ROM、任何其他光学数据存储介质、具有孔图案的任何物理介质、RAM、PROM、以及EPROM、FLASH-EPROM、NVRAM、任何其他存储器芯片或盒。
[0241] 存储介质不同于传输介质,但是可以与传输介质结合使用。传输介质参与在存储介质之间传送信息。例如,传输介质包括同轴电缆、铜线和光纤,它们包括包含总线402的导线。传输介质还可以采取声波或光波的形式,诸如在无线电波和红外数据通信期间产生的那些声波或光波。
[0242] 在将一个或多个指令的一个或多个序列传载到处理器504进行执行时可以涉及各种形式的介质。例如,这些指令可以一开始承载在远程计算机的磁盘或固态驱动器上。远程计算机可以将这些指令加载到其动态存储器中,并且使用调制解调器通过电话线发送这些指令。计算机系统500本地的调制解调器可以接收电话线上的数据,并且使用红外发射器来将该数据转换为红外信号。红外探测器可以接收红外信号中携带的数据,并且适当的电路系统可以将该数据放置在总线502上。总线502将数据传载到主存储器506,处理器504从主存储器506检索并执行这些指令。主存储器506接收的指令可选地可以在处理器504执行之前或之后被存储在存储装置510上。
[0243] 计算机系统500还包括耦合到总线502的通信接口518。通信接口518提供耦合到网络链路520的双向数据通信,网络链路520连接到局域网522。例如,通信接口518可以是综合服务数字网络(ISDN)卡、电缆调制解调器、卫星调制解调器、或者提供与相应类型的电话线的数据通信连接的调制解调器。另举一例,通信接口518可以是提供与可兼容LAN的数据通信连接的局域网(LAN)卡。还可以实现无线链路。在任何这样的实现中,通信接口518发送并且接收携带表示各种类型的信息的数字数据流的电信号、电磁信号或光学信号。
[0244] 网络链路520通常通过一个或多个网络提供与其他数据装置的数据通信。例如,网络链路520可以通过局域网522提供与主机524或者由互联网服务提供商(ISP)526运营的数据设备的连接。ISP 526继而通过全球数据包数据通信网络(现在常被称为“互联网”528)提供数据通信服务。局域网522和互联网528都使用携带数字数据流的电信号、电磁信号或光学信号。通过各种网络的信号、以及网络链路520上的通过通信接口518的信号是示例形式的传输介质,这些信号将数字数据传载到计算机系统500,并且从计算机系统500传载数字数据。
[0245] 计算机系统500可以通过(一个或多个)网络、网络链路520以及通信接口518发送消息和接收数据,包括程序代码。在互联网例子中,服务器530可以通过互联网528、ISP 526、局域网522以及通信接口518发送应用程序的被请求的代码。
[0246] 接收的代码可以在其被接收时被处理器504执行、和/或被存储在存储装置510或其他非易失性储存器中以供以后执行。
[0247] 12.等同、扩展、替代及其他
[0248] 在前述说明书中,在前面的说明书中,参照在不同实现之间可以有所变化的许多特定细节描述了本发明的实施例。因此,本发明是什么、申请人意图本发明是什么的唯一的且排他的指示是本申请的特定形式的权利要求书,这样的权利要求以该特定形式要求保护,包括任何后续修正。在本文中对于这样的权利要求中所包含的术语明确阐述的任何定义应掌控在权利要求中所使用的这样的术语的含义。因此,在权利要求中没有明确记载的限制、元素、性质、特征、优点或属性均不得以任何方式限制这样的权利要求的范围。说明书和附图因此要从例示性、而不是限制性的意义上来看待。