全景图像的色调映射方法和装置与流程

文档序号:32978578发布日期:2023-01-17 21:42阅读:329来源:国知局
全景图像的色调映射方法和装置与流程

1.本技术涉及图像处理领域,特别涉及一种全景图像的色调映射方法和装置。


背景技术:

2.动态范围(dynamic range)在很多领域用来表示某个变量的最大值和最小值的比率。 在数字图像中,动态范围用于表示在图像可显示的范围内最大灰度值和最小灰度值之间的 比率。真实世界的同一场景下,其动态范围通常在10-3坎德拉/平方米(cd/m2)到 106cd/m2之间,称作高动态范围(high dynamic range,hdr)。目前大部分的彩色数字 图像中,0~255就是图像的动态范围,称作低动态范围(low dynamic range,ldr)。
3.由于显示设备的照度范围和真实世界的动态范围存在差异,因此需要将真实世界的动 态范围映射至显示设备的照度范围,称作动态范围的映射。动态范围的映射可以应用在前 端hdr信号和显示端hdr的显示设备的适配上,例如,前端采集到4000cd/m2的光照 信号,而显示端hdr的显示设备的hdr显示能力为500cd/m2,把4000cd/m2的光照信 号映射到500cd/m2的显示设备上,是一种从高到低的色调映射(tone mapping,tm)过 程。动态范围的映射也可以应用在前端sdr信号和显示端hdr的显示设备的适配上,例 如,前端采集到100cd/m2的光照信号,而显示端hdr的显示设备的hdr显示能力为 2000cd/m2,把100cd/m2的光照信号映射到2000cd/m2的显示设备上,是一种从低到高 的tm过程。
4.目前动态范围的映射方法可以分为静态和动态两种。静态的映射方法是根据同一个视 频内容或者同一个硬盘内容,由单一的数据进行整体的tm过程,也就是针对各种场景, 映射曲线通常是一样的。这种方法的优点是图像需要携带的数据较少,并且处理流程比较 简单;缺点是所有场景都使用同一映射曲线进行tm,这样在有一些场景会导致信息丢失, 例如如果映射曲线重点保护的是亮区,那么在一些极其暗的场景会丢掉一些细节,或者干 脆看不见,这样会影响图像的显示效果。动态的映射方法是根据特定区域,针对每一个场 景或者每一帧的内容进行映射曲线的动态调整,这种方法的优点是可以实现不同场景或者 不同帧的差异化处理;缺点是需要在每一帧或者每一场景中携带相关的场景信息,图像需 要携带的数据量较大。
5.但是,无论是上述哪种方法都无法兼容全景视频的动态范围的映射。


技术实现要素:

6.本技术提供一种全景图像的色调映射方法和装置,以提高全景图像的处理效率。
7.第一方面,本技术提供一种全景图像的色调映射方法,包括:从多个元数据信息单元 中确定第一像素点的一个或多个目标元数据信息单元,所述多个元数据信息单元是解析码 流得到的,所述第一像素点是待处理的全景视频二维平面投影图中的任意一个像素点,所 述多个元数据信息单元和全景视频三维球面表达全景图包括的多个分割区域对应,所述全 景视频二维平面投影图和所述全景视频三维球面表达全景图具有映射关系;根据所述一个 或多个目标元数据信息单元对所述第一像素点的像素值进行色调映射以得到所
述第一像 素点的目标色调映射值。
8.本技术,通过将与全景图像对应的全景视频三维球面表达全景图划分成多个分割区域, 根据每个分割区域包含的映射点所对应的像素点生成该分割区域的元数据信息单元,从而 通过元数据信息单元指导显示端生成对应于该分割区域的色调映射曲线,进而实现从图像 到显示的色调映射,既可以针对性的对全景图像上的不同动态范围区域确定匹配的色调映 射参数,又可以符合显示端的显示动态范围,提高全景图像的处理效率。
9.在一种可能的实现方式中,所述从多个元数据信息单元中确定第一像素点的一个或多 个目标元数据信息单元之前,所述方法还包括:获取所述多个分割区域。
10.在一种可能的实现方式中,所述获取所述多个分割区域,包括:根据预设的划分方式 对所述全景视频三维球面表达全景图进行划分以得到所述多个分割区域。
11.在一种可能的实现方式中,所述获取所述多个分割区域,包括:根据解析所述码流得 到的划分方式对所述全景视频三维球面表达全景图进行划分以得到所述多个分割区域。
12.在一种可能的实现方式中,所述多个分割区域是通过对所述全景视频三维球面表达全 景图以预设视角间隔规则进行划分得到的;或者,
13.所述多个分割区域是通过对所述全景视频三维球面表达全景图从纬度方向上进行划 分得到的;和/或,所述多个分割区域是通过对所述全景视频三维球面表达全景图从经度方 向上进行划分得到的。
14.在一种可能的实现方式中,所述对所述全景视频三维球面表达全景图进行划分,以得 到所述多个分割区域,包括:对所述全景视频二维平面投影图包括的多个像素点进行聚类 以得到多个像素点集合;将所述多个像素点分别映射至所述全景视频三维球面表达全景图; 将第一像素点集合包括的像素点在所述全景视频三维球面表达全景图上对应的映射点形 成的区域作为第一分割区域,所述第一像素点集合是所述多个像素点集合中的一个,所述 第一分割区域是所述多个分割区域中的一个。
15.在一种可能的实现方式中,所述对所述全景视频三维球面表达全景图进行划分,以得 到所述多个分割区域,包括:将所述全景视频二维平面投影图包括的多个像素点分别映射 至所述全景视频三维球面表达全景图以得到多个映射点;对所述多个映射点进行聚类以得 到多个映射点集合;将第一映射点集合包括的映射点形成的区域作为第二分割区域,所述 第一映射点集合是所述多个映射点集合中的一个,所述第二分割区域是所述多个分割区域 中的一个。
16.在一种可能的实现方式中,所述获取所述多个分割区域,包括:根据解析所述码流得 到的所述多个分割区域的指示信息获取所述多个分割区域。
17.本技术可以采用上述多个划分方法中的一个对全景视频三维球面表达全景图进行划 分以得到多个分割区域,可以适应于全景视频二维平面投影图的像素分布,从而使得色调 映射可以以分割区域为单位,在较小的动态范围内实现色调映射,提高色调映射效率。
18.在一种可能的实现方式中,所述从多个元数据信息单元中确定第一像素点的一个或多 个目标元数据信息单元,包括:确定所述多个元数据信息单元和多个分割区域之间的对应 关系,一个所述元数据信息单元对应一个或多个所述分割区域;根据设定映射点确定
一个 或多个目标分割区域;当只有一个目标分割区域时,将所述一个目标分割区域对应的元数 据信息单元确定为所述一个目标元数据信息单元;或者,当有多个目标分割区域时,将所 述多个目标分割区域分别对应的元数据信息单元确定为所述多个目标元数据信息单元。
19.在一种可能的实现方式中,所述确定所述多个元数据信息单元和多个分割区域之间的 对应关系,包括:按照第一预设顺序从所述多个元数据信息单元中提取当前元数据信息单 元;按照第二预设顺序从所述多个分割区域中提取当前分割区域;将所述当前分割区域和 所述当前元数据信息单元建立对应关系。
20.在一种可能的实现方式中,所述确定所述多个元数据信息单元和多个分割区域之间的 对应关系,包括:按照第一预设顺序从所述多个元数据信息单元中提取当前元数据信息单 元;按照解析所述码流得到的遍历顺序从所述多个分割区域中提取当前分割区域;将所述 当前分割区域和所述当前元数据信息单元建立对应关系。
21.在一种可能的实现方式中,所述确定所述多个元数据信息单元和多个分割区域之间的 对应关系,包括:按照第一预设顺序从所述多个元数据信息单元中提取当前元数据信息单 元;获取所述当前元数据信息单元包括的一个或多个坐标;根据所述一个或多个坐标在所 述全景视频三维球面表达全景图上确定一个或多个映射点;当只有一个映射点时,将所述 一个映射点所属的分割区域和所述当前元数据信息单元建立对应关系;当有多个映射点时, 将所述多个映射点所属的至少一个分割区域和所述当前元数据信息单元建立对应关系。
22.本技术采用上述多种对应关系获取方法的其中一个确定多个分割区域和多个元数据 信息单元之间的对应关系,不需要将该对应关系通过码流传输给显示端,可以减少码流中 携带的信息。
23.在一种可能的实现方式中,所述设定映射点为所述第一像素点在所述全景视频三维球 面表达全景图上的第一映射点;所述根据设定映射点确定一个或多个目标分割区域,包括: 以所述第一映射点为中心在所述全景视频三维球面表达全景图上确定第一覆盖范围;当所 述第一覆盖范围包括一个分割区域时,将所述一个分割区域确定为所述一个目标分割区域; 或者,当所述第一覆盖范围包括多个分割区域时,将所述多个分割区域确定为所述多个目 标分割区域。
24.在一种可能的实现方式中,所述设定映射点为所述全景视频三维球面表达全景图上的 视点中心;所述根据设定映射点确定一个或多个目标分割区域,包括:确定所述视点中心 所属的第二分割区域,所述多个分割区域包括所述第二分割区域;将所述第二分割区域确 定为所述一个目标分割区域。
25.在一种可能的实现方式中,所述设定映射点为所述全景视频三维球面表达全景图上的 视点中心;所述根据设定映射点确定一个或多个目标分割区域,包括:以所述视觉中心为 中心在所述全景视频三维球面表达全景图上确定第二覆盖范围;当所述第二覆盖范围包括 一个分割区域时,将所述一个分割区域确定为所述一个目标分割区域;或者,当所述第二 覆盖范围包括多个分割区域时,将所述多个分割区域确定为所述多个目标分割区域。
26.在一种可能的实现方式中,所述根据所述一个或多个目标元数据信息单元对所述
第一 像素点的像素值进行色调映射以得到所述第一像素点的目标色调映射值,包括:根据所述 一个或多个目标元数据信息单元获取一条或多条色调映射曲线;当只有一条色条映射曲线 时,根据所述一条色调映射曲线对所述第一像素点的像素值进行色调映射以得到所述目标 色调映射值;或者,当有多条色条映射曲线时,根据所述多条色调映射曲线分别对所述第 一像素点的像素值进行色调映射以得到所述第一像素点的多个色调中间值;根据所述多个 色调中间值获取所述目标色调映射值。
27.在一种可能的实现方式中,所述根据所述多个色调中间值获取所述目标色调映射值, 包括:将所述多个色调中间值中的中间值确定为所述目标色调映射值;或者,对所述多个 色调中间值进行加权平均以得到所述目标色调映射值,所述多个色调中间值的加权系数是 预先设定的,或者所述多个色调中间值的加权系数与所述第一像素点与各个分割区域的中 心点的距离相关,或者,所述多个色调中间值的加权系数与所述多个目标元数据信息单元 分别对应的分割区域的面积比重相关。
28.本技术采用上述多种方法的其中之一得到第一像素点的目标色调映射值,可以参考一 个或多个分割区域的元数据信息单元生成第一像素点的色调映射曲线,提高色调映射的准 确率。
29.第二方面,本技术提供一种全景图像的色调映射方法,包括:获取第一分割区域包括 的至少一个映射点,所述第一分割区域是全景视频三维球面表达全景图包括的多个分割区 域中的一个,所述全景视频三维球面表达全景图和待处理的全景视频二维平面投影图具有 映射关系,所述至少一个映射点和所述全景视频二维平面投影图上的至少一个像素点对应; 根据所述至少一个像素点生成所述第一分割区域的元数据信息单元;将所述第一分割区域 的元数据信息单元写入码流。
30.本技术,通过将与全景图像对应的全景视频三维球面表达全景图划分成多个分割区域, 根据每个分割区域包含的映射点所对应的像素点生成该分割区域的元数据信息单元,从而 通过元数据信息单元指导显示端生成对应于该分割区域的色调映射曲线,进而实现从图像 到显示的色调映射,既可以针对性的对全景图像上的不同动态范围区域确定匹配的色调映 射参数,又可以符合显示端的显示动态范围,提高全景图像的处理效率。
31.在一种可能的实现方式中,所述根据所述至少一个像素点生成所述第一分割区域的元 数据信息单元之后,所述方法还包括:当所述第一分割区域和第二分割区域的直方图和/或 亮度满足设定条件时,对所述第一分割区域的元数据信息单元和所述第二分割区域的第二 元数据信息单元进行融合以得到所述第一分割区域和所述第二分割区域的元数据信息单 元,所述第二分割区域是所述多个分割区域中的一个。
32.本技术对于直方图和/或亮度差异较小的两个以上分割区域的元数据信息单元进行融 合,从而减少码流中携带的元数据信息单元的数据量。
33.在一种可能的实现方式中,所述获取第一分割区域包括的至少一个映射点之前,所述 方法还包括:将所述全景视频二维平面投影图映射至所述全景视频三维球面表达全景图; 对所述全景视频三维球面表达全景图进行划分以得到所述多个分割区域。
34.在一种可能的实现方式中,所述对所述全景视频三维球面表达全景图进行划分以得到 所述多个分割区域,包括:根据预设的划分方式对所述全景视频三维球面表达全景图进行 划分以得到所述多个分割区域。
35.在一种可能的实现方式中,所述对所述全景视频三维球面表达全景图进行划分以得到 所述多个分割区域,包括:根据基于预设规则确定的划分方式对所述全景视频三维球面表 达全景图进行划分以得到所述多个分割区域。
36.在一种可能的实现方式中,所述多个分割区域是通过对所述全景视频三维球面表达全 景图以预设视角间隔规则进行划分得到的;或者,
37.所述多个分割区域是通过对所述全景视频三维球面表达全景图从纬度方向上进行划 分得到的;和/或,所述多个分割区域是通过对所述全景视频三维球面表达全景图从经度方 向上进行划分得到的。
38.在一种可能的实现方式中,所述对所述全景视频三维球面表达全景图进行划分以得到 所述多个分割区域,包括:对所述全景视频二维平面投影图包括的多个像素点进行聚类以 得到多个像素点集合;将所述多个像素点分别映射至所述全景视频三维球面表达全景图; 将第一像素点集合包括的像素点在所述全景视频三维球面表达全景图上对应的映射点形 成的区域作为第一分割区域,所述第一像素点集合是所述多个像素点集合中的一个,所述 第一分割区域是所述多个分割区域中的一个。
39.在一种可能的实现方式中,所述对所述全景视频三维球面表达全景图进行划分以得到 所述多个分割区域,包括:将所述全景视频二维平面投影图包括的多个像素点分别映射至 所述全景视频三维球面表达全景图以得到多个映射点;对所述多个映射点进行聚类以得到 多个映射点集合;将第一映射点集合包括的映射点形成的区域作为第二分割区域,所述第 一映射点集合是所述多个映射点集合中的一个,所述第二分割区域是所述多个分割区域中 的一个。
40.本技术可以采用上述多个划分方法中的一个对全景视频三维球面表达全景图进行划 分以得到多个分割区域,可以适应于全景视频二维平面投影图的像素分布,从而使得色调 映射可以以分割区域为单位,在较小的动态范围内实现色调映射,提高色调映射效率。
41.第三方面,本技术提供一种显示装置包括:划分模块、确定模块和映射模块。其中,
42.确定模块,用于从多个元数据信息单元中确定第一像素点的一个或多个目标元数据信 息单元,所述多个元数据信息单元是解析码流得到的,所述第一像素点是待处理的全景视 频二维平面投影图中的任意一个像素点,所述多个元数据信息单元和全景视频三维球面表 达全景图包括的多个分割区域对应,所述全景视频二维平面投影图和所述全景视频三维球 面表达全景图具有映射关系;映射模块,用于根据所述一个或多个目标元数据信息单元对 所述第一像素点的像素值进行色调映射以得到所述第一像素点的目标色调映射值。
43.在一种可能的实现方式中,划分模块,用于获取所述多个分割区域。
44.在一种可能的实现方式中,所述划分模块,具体用于根据预设的划分方式对所述全景 视频三维球面表达全景图进行划分,以得到所述多个分割区域。
45.在一种可能的实现方式中,所述划分模块,具体用于根据解析所述码流得到的划分方 式对所述全景视频三维球面表达全景图进行划分,以得到所述多个分割区域。
46.在一种可能的实现方式中,所述多个分割区域是通过对所述全景视频三维球面表达全 景图以预设视角间隔规则进行划分得到的;或者,
47.所述多个分割区域是通过对所述全景视频三维球面表达全景图从纬度方向上进行划 分得到的;和/或,所述多个分割区域是通过对所述全景视频三维球面表达全景图从经度方 向上进行划分得到的。
48.在一种可能的实现方式中,所述划分模块,具体用于对所述全景视频二维平面投影图 包括的多个像素点进行聚类以得到多个像素点集合;将所述多个像素点分别映射至所述全 景视频三维球面表达全景图;将第一像素点集合包括的像素点在所述全景视频三维球面表 达全景图上对应的映射点形成的区域作为第一分割区域,所述第一像素点集合是所述多个 像素点集合中的一个,所述第一分割区域是所述多个分割区域中的一个。
49.在一种可能的实现方式中,所述划分模块,具体用于将所述全景视频二维平面投影图 包括的多个像素点分别映射至所述全景视频三维球面表达全景图以得到多个映射点;对所 述多个映射点进行聚类以得到多个映射点集合;将第一映射点集合包括的映射点形成的区 域作为第二分割区域,所述第一映射点集合是所述多个映射点集合中的一个,所述第二分 割区域是所述多个分割区域中的一个。
50.在一种可能的实现方式中,所述划分模块,具体用于根据解析所述码流得到的所述多 个分割区域的指示信息获取所述多个分割区域。
51.在一种可能的实现方式中,所述确定模块,具体用于确定所述多个元数据信息单元和 多个分割区域之间的对应关系,一个所述元数据信息单元对应一个或多个所述分割区域; 根据设定映射点确定一个或多个目标分割区域;当只有一个目标分割区域时,将所述一个 目标分割区域对应的元数据信息单元确定为所述一个目标元数据信息单元;或者,当有多 个目标分割区域时,将所述多个目标分割区域分别对应的元数据信息单元确定为所述多个 目标元数据信息单元。
52.在一种可能的实现方式中,所述确定模块,具体用于按照第一预设顺序从所述多个元 数据信息单元中提取当前元数据信息单元;按照第二预设顺序从所述多个分割区域中提取 当前分割区域;将所述当前分割区域和所述当前元数据信息单元建立对应关系。
53.在一种可能的实现方式中,所述确定模块,具体用于按照第一预设顺序从所述多个元 数据信息单元中提取当前元数据信息单元;按照解析所述码流得到的遍历顺序从所述多个 分割区域中提取当前分割区域;将所述当前分割区域和所述当前元数据信息单元建立对应 关系。
54.在一种可能的实现方式中,所述确定模块,具体用于按照第一预设顺序从所述多个元 数据信息单元中提取当前元数据信息单元;获取所述当前元数据信息单元包括的一个或多 个坐标;根据所述一个或多个坐标在所述全景视频三维球面表达全景图上确定一个或多个 映射点;当只有一个映射点时,将所述一个映射点所属的分割区域和所述当前元数据信息 单元建立对应关系;当有多个映射点时,将所述多个映射点所属的至少一个分割区域和所 述当前元数据信息单元建立对应关系。
55.在一种可能的实现方式中,所述设定映射点为所述第一像素点在所述全景视频三维球 面表达全景图上的第一映射点;所述确定模块,具体用于以所述第一映射点为中心在所述 全景视频三维球面表达全景图上确定第一覆盖范围;当所述第一覆盖范围包括一个分割区 域时,将所述一个分割区域确定为所述一个目标分割区域;或者,当所述第一覆盖范围包 括多个分割区域时,将所述多个分割区域确定为所述多个目标分割区域。
56.在一种可能的实现方式中,所述设定映射点为所述全景视频三维球面表达全景图上的 视点中心;所述确定模块,具体用于确定所述视点中心所属的第二分割区域,所述多个分 割区域包括所述第二分割区域;将所述第二分割区域确定为所述一个目标分割区域。
57.在一种可能的实现方式中,所述设定映射点为所述全景视频三维球面表达全景图上的 视点中心;所述确定模块,具体用于以所述视觉中心为中心在所述全景视频三维球面表达 全景图上确定第二覆盖范围;当所述第二覆盖范围包括一个分割区域时,将所述一个分割 区域确定为所述一个目标分割区域;或者,当所述第二覆盖范围包括多个分割区域时,将 所述多个分割区域确定为所述多个目标分割区域。
58.在一种可能的实现方式中,所述映射模块,具体用于根据所述一个或多个目标元数据 信息单元获取一条或多条色调映射曲线;当只有一条色条映射曲线时,根据所述一条色调 映射曲线对所述第一像素点的像素值进行色调映射以得到所述目标色调映射值;或者,当 有多条色条映射曲线时,根据所述多条色调映射曲线分别对所述第一像素点的像素值进行 色调映射以得到所述第一像素点的多个色调中间值;根据所述多个色调中间值获取所述目 标色调映射值。
59.在一种可能的实现方式中,所述映射模块,具体用于将所述多个色调中间值中的中间 值确定为所述目标色调映射值;或者,对所述多个色调中间值进行加权平均以得到所述目 标色调映射值,所述多个色调中间值的加权系数是预先设定的,或者所述多个色调中间值 的加权系数与所述第一像素点与各个分割区域的中心点的距离相关,或者,所述多个色调 中间值的加权系数与所述多个目标元数据信息单元分别对应的分割区域的面积比重相关。
60.第四方面,本技术提供一种前端装置包括:划分模块、获取模块和生成模块。其中,
61.获取模块,用于获取第一分割区域包括的至少一个映射点,所述第一分割区域是全景 视频三维球面表达全景图包括的多个分割区域中的一个,所述全景视频三维球面表达全景 图和待处理的全景视频二维平面投影图具有映射关系,所述至少一个映射点和所述全景视 频二维平面投影图上的至少一个像素点对应;生成模块,用于根据所述至少一个像素点生 成所述第一分割区域的元数据信息单元;将所述第一分割区域的元数据信息单元写入码流。
62.在一种可能的实现方式中,所述生成模块,还用于当所述第一分割区域和第二分割区 域的直方图和/或亮度满足设定条件时,对所述第一分割区域的元数据信息单元和所述第 二分割区域的第二元数据信息单元进行融合以得到所述第一分割区域和所述第二分割区 域的元数据信息单元,所述第二分割区域是所述多个分割区域中的一个。
63.在一种可能的实现方式中,划分模块,用于将所述全景视频二维平面投影图映射至所 述全景视频三维球面表达全景图;对所述全景视频三维球面表达全景图进行划分以得到所 述多个分割区域。
64.在一种可能的实现方式中,所述划分模块,具体用于根据预设的划分方式对所述全景 视频三维球面表达全景图进行划分以得到所述多个分割区域。
65.在一种可能的实现方式中,所述划分模块,具体用于根据基于预设规则确定的划分方 式对所述全景视频三维球面表达全景图进行划分以得到所述多个分割区域。
66.在一种可能的实现方式中,所述多个分割区域是通过对所述全景视频三维球面表
达全 景图以预设视角间隔规则进行划分得到的;或者,
67.所述多个分割区域是通过对所述全景视频三维球面表达全景图从纬度方向上进行划 分得到的;和/或,所述多个分割区域是通过对所述全景视频三维球面表达全景图从经度方 向上进行划分得到的。
68.在一种可能的实现方式中,所述划分模块,具体用于对所述全景视频二维平面投影图 包括的多个像素点进行聚类以得到多个像素点集合;将所述多个像素点分别映射至所述全 景视频三维球面表达全景图;将第一像素点集合包括的像素点在所述全景视频三维球面表 达全景图上对应的映射点形成的区域作为第一分割区域,所述第一像素点集合是所述多个 像素点集合中的一个,所述第一分割区域是所述多个分割区域中的一个。
69.在一种可能的实现方式中,所述划分模块,具体用于将所述全景视频二维平面投影图 包括的多个像素点分别映射至所述全景视频三维球面表达全景图以得到多个映射点;对所 述多个映射点进行聚类以得到多个映射点集合;将第一映射点集合包括的映射点形成的区 域作为第二分割区域,所述第一映射点集合是所述多个映射点集合中的一个,所述第二分 割区域是所述多个分割区域中的一个。
70.第五方面,本技术提供一种终端设备,包括:一个或多个处理器;存储器,用于存储 一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或 多个处理器实现如上述第一至二方面中任一项所述的方法。
71.第六方面,本技术提供一种计算机可读存储介质,包括计算机程序,所述计算机程序 在计算机上被执行时,使得所述计算机执行上述第一至二方面中任一项所述的方法。
72.第七方面,本技术提供一种计算机程序产品,所述计算机程序产品包括计算机程序代 码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一至二方面中任一 项所述的方法。
附图说明
73.图1为真实世界的成像过程中动态范围映射的一个示例图;
74.图2为pq光电转移函数的一个曲线示意图;
75.图3为hlg光电转移函数的一个曲线示意图;
76.图4为slf光电转移函数的一个曲线示意图;
77.图5为sigmoidal曲线的一个示意图;
78.图6为贝泽尔曲线的一个示意图;
79.图7为s型曲线的一个示意图;
80.图8为本技术的全景视频播放系统的一个示例性的框图;
81.图9为终端设备的一个示例性的结构示意图;
82.图10a为经纬图映射示例图;
83.图10b为球面映射为正多面体以及对应的展开图像示意图;
84.图10c和图10d为球面和六面体之间的映射关系示意图;
85.图10e为球面和六面体、八面体之间的映射关系示意图;
86.图11a~图11d为本技术对全景视频三维球面表达全景图的几个分割区域的示例性的 示意图;
87.图12为本技术全景图像的色调映射方法的过程1200的流程图;
88.图13为本技术全景图像的色调映射方法的过程1300的流程图;
89.图14为本技术显示装置1400的一个示例性的结构图;
90.图15为本技术前端装置1500的一个示例性的结构图。
具体实施方式
91.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术中的附图,对本申 请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例, 而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳 动前提下所获得的所有其他实施例,都属于本技术保护的范围。
92.本技术的说明书实施例和权利要求书及附图中的术语“第一”、“第二”等仅用于区分描 述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。此外, 术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一 系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是 可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
93.应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两 个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/ 或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是 单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)
”ꢀ
或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。 例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”, 或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
94.以下是本技术实施例涉及的一些相关技术:
95.一、动态范围(dynamic range)
96.动态范围在很多领域用来表示某个变量的最大值和最小值的比率。在数字图像中,动 态范围用于表示在图像可显示的范围内最大灰度值和最小灰度值之间的比率。
97.在自然界中,星空下的夜景亮度约为0.001cd/m2,太阳本身亮度高达109cd/m2,动 态范围可达到109/0.001=10
12
cd/m2量级。但是在自然界的真实世界中,太阳的亮度和星光 的亮度不会同时得到,因此对真实世界的同一场景来说,其动态范围通常在10-3
cd/m2到 106cd/m2之间,称作高动态范围(high dynamic range,hdr)。目前大部分的彩色数字图 像中,红色(r)、绿色(g)和蓝色(b)三个通道的灰度分别使用一个字节来存储,亦 即r、g和b三个通道的灰度范围分别是0~255,该0~255就是图像的动态范围,称作低 动态范围(low dynamic range,ldr)。
98.二、光电转移函数(optical-electro transfer function,oetf)
99.数码相机的成像过程实际上就是真实世界的高动态范围到数字图像的低动态范围的 映射。图1为真实世界的成像过程中动态范围映射的一个示例图,如图1所示,真实世界 中除星光的亮度和太阳的亮度外,还包括月光的亮度为1cd/m2,室内照明的亮度为 100cd/m2,室外多云天气时的亮度为500cd/m2,室外晴天时的亮度为2000cd/m2。真 实世界中亮度范围100cd/m2到2000cd/m2和显示设备的存储的方式所对应的亮度范围 1cd/m2到
200cd/m2成映射关系。
100.由于显示设备的存储方式并不能达到真实世界的高亮度,因此需要光电转移函数 (electro-optical transfer function,eotf),将真实世界中的亮度表示为显示设备的存储方 式所对应的亮度。例如,真实世界中的亮度为10000cd/m2,显示设备用10比特存储亮度 信息,那么该存储方式下可存储的最大值为1023,因此可以将10000cd/m2表示为1023。
101.早期的显示设备是阴极射线显像管(cathode ray tube,crt)显示器,其光电转移函 数就是伽马(gamma)函数。在itu-r recommendation bt.1886标准当中定义了该gamma 函数:
[0102][0103]
随着显示设备的升级,显示设备的照度范围不断增加,现有的hdr显示器的照度达 到600cd/m2,高端的hdr显示器的照度能达到2000cd/m2。因此需要改进的光电转移 函数以适应显示设备的升级,现阶段常见的光电转移函数有感知量化(perceptionquantization,pq)光电转移函数、混合对数伽马(hybrid log-gamma,hlg)光电转移函 数和场景亮度保真(scene luminance fidelity,slf)光电转移函数三种。
[0104]
(1)pq光电转移函数:不同于传统的gamma函数,根据人眼的在不同亮度下的对 比度感知模型,提出了pq光电转移函数。pq光电转移函数表示图像帧像素的线性信号 值到pq域非线性信号值的转换关系,图2为pq光电转移函数的一个曲线示意图。pq光 电转移函数可以表示为:
[0105][0106]
上述公式中对应于r、g和b的参数可以通过公式计 算,其中,l表示图像帧像素的线性信号值,其值归一化为[0,1];l’表示pq域非线性信 号值,其取值范围为[0,1];m1、m2、c1、c2和c3均为pq光电转移系数,
[0107][0108][0109][0110][0111][0112]
(2)hlg光电转移函数:是在传统的gamma曲线的基础上改进得到的,hlg光电 转移函数在低段应用传统的gamma曲线,在高段补充了log曲线。hlg光电转移函数表 示图像帧像素的线性信号值到hlg域非线性信号值的转换关系,图3为hlg光电转移函 数的一个曲线示意图。hlg光电转移函数可以表示为:
[0113][0114]
其中,l表示图像帧像素的线性信号值,其取值范围为[0,12];l’表示hlg域非线性 信号值,其取值范围为[0,1];a、b和c均为hlg光电转移系数,a=0.17883277,b=0.28466892, c=0.55991073。
[0115]
(3)slf光电转移函数:在满足人眼光学特性的前提下,根据hdr场景亮度分布得 到。slf光电转移函数表示图像帧像素的线性信号值到slf域非线性信号值的转换关系, 图4为slf光电转移函数的一个曲线示意图。slf光电转移函数可以表示为:
[0116][0117]
上述公式中对应于r、g和b的参数可以通过公式
[0118]
计算,其中,l表示图像帧像素的线性信号值, 其值归一化为[0,1];l’表示pq域非线性信号值,其取值范围为[0,1];p、m、a和b均为 slf光电转移系数,p=2.3,m=0.14,a=1.12762,b=-0.12762。
[0119]
三、动态范围的映射
[0120]
动态范围的映射可以应用在前端hdr信号和显示端hdr的显示设备的适配上,例 如,前端采集到4000cd/m2的光照信号,而显示端hdr的显示设备的hdr显示能力为 500cd/m2,把4000cd/m2的光照信号映射到500cd/m2的显示设备上,是一种从高到低 的色调映射(tone mapping,tm)过程。动态范围的映射也可以应用在前端sdr信号和显 示端hdr的显示设备的适配上,例如,前端采集到100cd/m2的光照信号,而显示端hdr 的显示设备的hdr显示能力为2000cd/m2,把100cd/m2的光照信号映射到2000cd/m2的显示设备上,是一种从低到高的tm过程。
[0121]
目前动态范围的映射方法可以分为静态和动态两种。静态的映射方法是根据同一个视 频内容或者同一个硬盘内容,由单一的数据进行整体的tm过程,也就是针对各种场景, 映射曲线通常是一样的。这种方法的优点是视频需要携带的数据较少,并且处理流程比较 简单;缺点是所有场景都使用同一映射曲线进行tm,这样在有一些场景会导致信息丢失, 例如如果映射曲线重点保护的是亮区,那么在一些极其暗的场景会丢掉一些细节,或者完 全看不见,这样会影响视频的显示效果。动态的映射方法是根据特定区域,针对每一个场 景或者每一帧的内容进行映射曲线的动态调整,这种方法的优点是可以实现不同场景或者 不同帧的差异化处理;缺点是需要在每一帧或者每一场景中携带相关的场景信息,视频需 要携带的数据量较大。
[0122]
四、tm技术
[0123]
(1)基于sigmoidal曲线的tm过程
[0124]
图5为sigmoidal曲线的一个示意图。
[0125]
(2)基于贝泽尔曲线的tm过程
[0126]
图6为贝泽尔曲线的一个示意图。
[0127]
(3)基于人眼感知的s型曲线的tm过程
[0128]
图7为s型曲线的一个示意图,s曲线对应的光电转移函数可以表示为:
[0129][0130]
其中,l和l’分别为归一化的电信号或者光信号,其取值范围均为[0,1];a的取值范 围为[0,1];b的取值范围为[0,1];p、n和m的取值范围均为[0,n],n为大于0.1的有理数; k1、k2、k3均为有理数。
[0131]
五、全景视频
[0132]
全景视频能提供沉浸式的视觉体验。主要在于:(1)提供了描述水平360度、竖直 180度的球面场景内容;(2)通过vr头戴式设备能够自由的选择观看指定方向的视窗。 对比普通二维视频水平33度、竖直19度的狭小视角范围,全景视频覆盖的范围更大。
[0133]
相应的,全景视频引入了设备显示更严重的动态范围不足的问题。因为二维视频的视 角范围较小,光照情况比较相似,其动态范围还在可控范围内;而全景视频的视角范围较 大,例如,视频内容是白天的场景,很可能既包含天空中的太阳这种非常亮的区域,又包 含建筑内部或阴影等比较暗的区域,其动态范围会很大,给描述和显示带来了极大的挑战。
[0134]
六、元数据信息
[0135]
前端(视频采集和/或制作)会在发送给显示端(视频显示)的元数据信息中携带与映 射曲线相关的参数。
[0136]
(1)sigmoidal曲线
[0137]
在st2094-10提出的sigmoidal曲线相关的元数据信息定义中不单包含了视频亮度的 最大值(maximum pq-encoded maxrgb)、最小值(minimum pq-encoded maxrgb)、 平均值(average pq-encoded maxrgb)等统计值,还包含了色调映射偏移(tone mappingoffset)、色调映射增益(tone mapping gain)和色调映射伽马(tone mapping gamma)等 sigmoid曲线相关的参数,用于直接生成sigmoidal曲线。
[0138]
但是上述参数的生成方式比较固定,元数据信息包含的参数无法给曲线生成提供更多 的灵活性。
[0139]
(2)贝泽尔曲线
[0140]
在st2094-40提出的基于贝泽尔曲线相关的元数据信息定义中包含了直方图信息 (distribution maxrgb),还包含了贝泽尔曲线相关的参数(bezier curve anchors),用于 直接生成贝泽尔曲线。
[0141]
另外,st2094系列的标准中都包含了目标系统显示最大(峰值)亮度 (targeted_system_display_maximum_luminance,tsdapl)。
[0142]
但是上述参数在前端生成时对应于tsdapl,而在显示端不同的显示设备使用相同的 曲线,无法达到最好的显示效果。
[0143]
(3)s型曲线
[0144]
元数据信息中可以包含视频亮度的最大值、最小值、平均值等统计值,也可以包含p、 m、a、b、n、k1、k2、k3等s型曲线相关的参数。
[0145]
图8为本技术的全景视频播放系统的一个示例性的框图。如图8所示,全景视频播
放 系统分为前端和显示端,其中,前端包括采集和/或制作全景视频的模块,显示端包括hdr 显示模块和/或sdr显示模块。前端将采集到的全景视频数据经预处理后传输给显示端, 同时还会携带全景视频数据的元数据信息。显示端根据全景视频数据,结合对应的元数据 信息对全景视频包含的多个图像帧逐帧进行增强处理,得到颜色、亮度及对比度等俱佳的 图像,并显示出来。
[0146]
本技术中前端和显示端可以是各自独立的、不同的物理设备,例如,前端可以是摄像 机、相机、图像绘制机等具有视频采集功能的设备,显示端可以是虚拟现实(virtual reality, vr)眼镜、手机、平板等具有全景视频播放功能的设备。此时前端和显示端之间可以建立 无线连接或有线连接,其中无线连接可以采用包括例如长期演进(long term evolution,lte)、 第五代(5th generation,5g)移动通信以及未来的移动通信等技术。无线连接还可以包括 无线保真(wireless-fidelity,wifi)、蓝牙、近场通信(near field communication,nfc) 等技术。有线连接可以包括以太网连接、局域网连接等。对此不作具体限定。
[0147]
本技术还可以将前端的功能和显示端的功能集成在同一个物理设备上,例如,具有视 频拍摄功能的手机、平板等终端设备。本技术还可以将前端的部分功能和显示端的部分功 能集成在同一个物理设备上。对此不作具体限定。
[0148]
图9为终端设备的一个示例性的结构示意图。如图9所示,终端设备900包括:应用 处理器901、微控制器单元(microcontroller unit,mcu)902、存储器903、调制解调器 (modem)904、射频(radio frequency,rf)模块905、无线保真(wireless-fidelity,简 称wi-fi)模块906、蓝牙模块907、传感器908、输入/输出(input/output,i/o)设备909、 定位模块910等部件。这些部件可通过一根或多根通信总线或信号线进行通信。前述通信 总线或信号线可以是本技术提供的can总线。本领域技术人员可以理解,终端设备900 可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0149]
下面结合图9对终端设备900的各个部件进行具体的介绍:
[0150]
应用处理器901是终端设备900的控制中心,利用各种接口和总线连接终端设备900 的各个部件。在一些实施例中,处理器901可包括一个或多个处理单元。
[0151]
存储器903中存储有计算机程序,诸如图9所示的操作系统911和应用程序912。应 用处理器901被配置用于执行存储器903中的计算机程序,从而实现该计算机程序定义的 功能,例如应用处理器901执行操作系统911从而在终端设备900上实现操作系统的各种 功能。存储器903还存储有除计算机程序之外的其他数据,诸如操作系统911和应用程序 912运行过程中产生的数据。存储器903为非易失性存储介质,一般包括内存和外存。内 存包括但不限于随机存取存储器(random access memory,ram),只读存储器(read-onlymemory,rom),或高速缓存(cache)等。外存包括但不限于闪存(flash memory)、硬盘、 光盘、通用串行总线(universal serial bus,usb)盘等。计算机程序通常被存储在外存上, 处理器在执行计算机程序前会将该程序从外存加载到内存。
[0152]
存储器903可以是独立的,通过总线与应用处理器901相连接;存储器903也可以和 应用处理器901集成到一个芯片子系统。
[0153]
mcu 902是用于获取并处理来自传感器908的数据的协处理器,mcu 902的处理能 力和功耗小于应用处理器901,但具有“永久开启(always on)”的特点,可以在应用处理 器
901处于休眠模式时持续收集以及处理传感器数据,以极低的功耗保障传感器的正常运 行。在一个实施例中,mcu 902可以为sensor hub芯片。传感器908可以包括光传感器、 运动传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器 可根据环境光线的明暗来调节显示器9091的亮度,接近传感器可在终端设备900移动到 耳边时,关闭显示屏的电源。作为运动传感器的一种,加速计传感器可检测各个方向上(一 般为三轴)加速度的大小,静止时可检测出重力的大小及方向;传感器908还可以包括陀 螺仪、气压计、湿度计、温度计、红外线传感器等其它传感器,在此不再赘述。mcu 902 和传感器908可以集成到同一块芯片上,也可以是分离的元件,通过总线连接。
[0154]
modem 904以及射频模块905构成了终端设备900通信子系统,用于实现无线通信标 准协议的主要功能。其中,modem 904用于编解码、信号的调制解调、均衡等。射频模块 905用于无线信号的接收和发送,射频模块905包括但不限于天线、至少一个放大器、耦 合器、双工器等。射频模块905配合modem 904实现无线通信功能。modem 904可以作为 单独的芯片,也可以与其他芯片或电路在一起形成系统级芯片或集成电路。这些芯片或集 成电路可应用于所有实现无线通信功能的终端设备,包括:手机、电脑、笔记本、平板、 路由器、可穿戴设备、汽车、家电设备等。
[0155]
终端设备900还可以使用wi-fi模块906,蓝牙模块907等来进行无线通信。wi-fi模 块906用于为终端设备900提供遵循wi-fi相关标准协议的网络接入,终端设备900可以 通过wi-fi模块906接入到wi-fi接入点,进而访问互联网。在其他一些实施例中,wi-fi 模块906也可以作为wi-fi无线接入点,可以为其他终端设备提供wi-fi网络接入。蓝牙 模块907用于实现终端设备900与其他终端设备(例如手机、智能手表等)之间的短距离 通信。本技术实施例中的wi-fi模块906可以是集成电路或wi-fi芯片等,蓝牙模块907 可以是集成电路或者蓝牙芯片等。
[0156]
定位模块910用于确定终端设备900的地理位置。可以理解的是,定位模块910具体 可以是全球定位系统(global position system,gps)或北斗卫星导航系统、俄罗斯glonass 等定位系统的接收器。
[0157]
wi-fi模块906,蓝牙模块907和定位模块910分别可以是单独的芯片或集成电路, 也可以集成到一起。例如,在一个实施例中,wi-fi模块906,蓝牙模块907和定位模块 910可以集成到同一芯片上。在另一个实施例中,wi-fi模块906,蓝牙模块907、定位模 块910以及mcu 902也可以集成到同一芯片中。
[0158]
输入/输出设备909包括但不限于:显示器9091、触摸屏9092,以及音频电路9093等 等。
[0159]
其中,触摸屏9092可采集终端设备900的用户在其上或附近的触摸事件(比如用户 使用手指、触控笔等任何适合的物体在触摸屏9092上或在触控屏触摸屏9092附近的操 作),并将采集到的触摸事件发送给其他器件(例如应用处理器901)。其中,用户在触摸 屏9092附近的操作可以称之为悬浮触控;通过悬浮触控,用户可以在不直接接触触摸屏 9092的情况下选择、移动或拖动目的(例如图标等)。此外,可以采用电阻式、电容式、 红外线以及表面声波等多种类型来实现触摸屏9092。
[0160]
显示器(也称为显示屏)9091用于显示用户输入的信息或展示给用户的信息。可以采 用液晶显示屏、有机发光二极管等形式来配置显示器。触摸屏9092可以覆盖在显示器
9091 之上,当触摸屏9092检测到触摸事件后,传送给应用处理器901以确定触摸事件的类型, 随后应用处理器901可以根据触摸事件的类型在显示器9091上提供相应的视觉输出。虽 然在图9中,触摸屏9092与显示器9091是作为两个独立的部件来实现终端设备900的输 入和输出功能,但是在某些实施例中,可以将触摸屏9092与显示器9091集成而实现终端 设备900的输入和输出功能。另外,触摸屏9092和显示器9091可以以全面板的形式配置 在终端设备900的正面,以实现无边框的结构。
[0161]
音频电路9093、扬声器9094、麦克风9095可提供用户与终端设备900之间的音频接 口。音频电路9093可将接收到的音频数据转换后的电信号,传输到扬声器9094,由扬声 器9094转换为声音信号输出;另一方面,麦克风9095将收集的声音信号转换为电信号, 由音频电路9093接收后转换为音频数据,再通过modem 904和射频模块905将音频数据 发送给比如另一终端设备,或者将音频数据输出至存储器903以便进一步处理。
[0162]
另外,终端设备900还可以具有指纹识别功能。例如,可以在终端设备900的背面(例 如后置摄像头的下方)配置指纹采集器件,或者在终端设备900的正面(例如触摸屏9092 的下方)配置指纹采集器件。又例如,可以在触摸屏9092中配置指纹采集器件来实现指 纹识别功能,即指纹采集器件可以与触摸屏9092集成在一起来实现终端设备900的指纹 识别功能。在这种情况下,该指纹采集器件配置在触摸屏9092中,可以是触摸屏9092的 一部分,也可以以其他方式配置在触摸屏9092中。本技术实施例中的指纹采集器件的主 要部件是指纹传感器,该指纹传感器可以采用任何类型的感测技术,包括但不限于光学式、 电容式、压电式或超声波传感技术等。
[0163]
进一步地,终端设备900搭载的操作系统911可以为或者其它操作系统,本技术实施例对此不作任何限制。
[0164]
以搭载操作系统的终端设备900为例,终端设备900从逻辑上可划分为硬 件层、操作系统911,以及应用层。硬件层包括如上所述的应用处理器901、mcu 902、 存储器903、modem 904、wi-fi模块906、传感器908、定位模块910等硬件资源。应用 层包括一个或多个应用程序,比如应用程序912,应用程序912可以为社交类应用、电子 商务类应用、浏览器等任意类型的应用程序。操作系统911作为硬件层和应用层之间的软 件中间件,是管理和控制硬件与软件资源的计算机程序。
[0165]
在一个实施例中,操作系统911包括内核,硬件抽象层(hardware abstraction layer, hal)、库和运行时(libraries and runtime)以及框架(framework)。其中,内核用于提供 底层系统组件和服务,例如:电源管理、内存管理、线程管理、硬件驱动程序等;硬件驱 动程序包括wi-fi驱动、传感器驱动、定位模块驱动等。硬件抽象层是对内核驱动程序的 封装,向框架提供接口,屏蔽低层的实现细节。硬件抽象层运行在用户空间,而内核驱动 程序运行在内核空间。
[0166]
库和运行时也叫做运行时库,它为可执行程序在运行时提供所需要的库文件和执行环 境。在一个实施例中,库与运行时包括安卓运行时(android runtime,art),库,以及场 景包运行时。art是能够把应用程序的字节码转换为机器码的虚拟机或虚拟机实例。库是 为可执行程序在运行时提供支持的程序库,包括浏览器引擎(比如webkit)、脚本执行引 擎(比如javascript引擎)、图形处理引擎等。场景包运行时是场景包的运行环境,主要包 括页面执行环境(page context)和脚本执行环境(script context),其中,页面执行环境
通 过调用相应的库解析html、css等格式的页面代码,脚本执行环境通过调用相应的功能库 解析执行javascript等脚本语言实现的代码或可执行文件。
[0167]
框架用于为应用层中的应用程序提供各种基础的公共组件和服务,比如窗口管理、位 置管理等等。在一个实施例中,框架包括地理围栏服务,策略服务,通知管理器等。
[0168]
以上描述的操作系统911的各个组件的功能均可以由应用处理器901执行存储器903 中存储的程序来实现。
[0169]
所属领域的技术人员可以理解终端设备900可包括比图9所示的更少或更多的部件, 图9所示的该终端设备仅包括与本技术所公开的多个实现方式更加相关的部件。
[0170]
如上所述,全景视频可以提供水平360度、竖直180度的球面场景内容,用户观看该 全景视频,将用户的头部作为中心点,该用户的头部可以水平360度转动、上下180度俯 仰,因此用户的视区范围可以达到水平360度、竖直180度,可见,如果将全景视频模拟 成一个球体的球面,用户的头部只要处于球体的球心位置,即可通过头部转动和/或俯仰观 看到完整的全景视频。
[0171]
因此可以根据全景视频包含的多帧三维(3d)全景图像虚拟用户的全景视频三维球面 表达全景图,全景视频三维球面表达全景图上的任意一个点可以采用球面坐标表示,而3d 全景图像上的任意一个像素点可以在全景视频三维球面表达全景图上找到一个对应的点, 该点可以称作前述任意一个像素点的映射点。
[0172]
由于球面格式的三维(3d)全景图像无法方便的表示、存储和索引,因此相关技术通 常是将3d全景图像展开成平面,得到二维(2d)全景图像(本技术中,2d全景图像可以 称作全景视频二维平面投影图),再对该2d全景图像进行压缩、处理、存储、传输等。 将3d全景图像展开得到2d全景图像的操作称为映射。目前存在多种映射方法,相应的, 存在多种2d全景图像格式。
[0173]
1、最常见的2d全景图像格式称为经纬图,如图10a所示,内容为地球的3d全景图 像展开成2d全景图像,邻近南北两极区域图像经过拉伸获得,存在严重的失真和数据冗 余。
[0174]
2、为了减轻经纬图中存在的强失真,可通过将3d全景图像投影到一个正多面体表面 上,从而将球面表示为由若干个等大小的三角形面、正方形面或者五边形面等构成的多面 体。例如,正四面体(如图10b中的(a)所示),正六面体(如图10b中的(b)所示), 正八面体(如图10b中的(c)所示),正十二面体(如图10b中的(d)所示),正二十 面体(如图10b中的(e)所示)等。需要说明的是,本技术不限定多面体为正多面体,球 面也可以表示为由若干个非等大小的多边形构成的多面体。
[0175]
再将多面体展开为2d全景图像,图10b中的(a)展开成图10b中的(f)所示的2d 全景图像,图10b中的(b)展开成图10b中的(g)所示的2d全景图像,图10b中的(c) 展开成图10b中的(h)所示的2d全景图像,图10b中的(d)展开成图10b中的(i)所 示的2d全景图像,图10b中的(e)展开成图10b中的(j)所示的2d全景图像。这些2d 全景图像可统称为多面体格式的全景图像。
[0176]
具体的投影过程为,将球体放置到多面体中,使其成为多面体的内切球。将球心(或 多面体体心)与球面上某点连线并延长相交于多面体表面,球面上此点位置的像素值为多 面体表面上交点位置处的像素值。结合插值方法,便可以得到多面体上所有像素点位
置的 像素值。另外,为了得到多面体上某像素点位置的像素值,也可以直接将此像素点与球心 连线,交于球面上的某点,将球面上交点位置的像素值作为此点位置的像素值。
[0177]
以六面体投影过程为例,将球面内切于如图10c所示的六面体abcdefgh中,为了 得到多面体上m’点位置处的像素值,将球心o与m’连线,并交于球面m点,则m点处 的像素值即为m’点处的像素值。按照此方法可以得到平面a’b’c’d’上abcd面内所有像 素点位置的像素值,abcd面内像素点构成abcd面(face)的面图像,平面a’b’c’d’称 为abcd面的投影平面(projection plane)。同理可得六面体其他面的面图像以及对应投影 平面。需要说明的是,本技术所说的面图像为一些空间相邻像素点组成的n
×
n大小的阵 列,这些像素点在球面映射为多面体表面的过程中,处于同一个投影平面,且这些像素点 位置的像素值已知。
[0178]
将多面体表面展开为2d图像之后,多面体表面上的每个面图像成为2d全景图像中 一个区域的图像或者2d全景图像的一个子图像,用多面体表面的面图像指代这个区域的 图像或者这个子图像,用多面体表面的这个面指代2d全景图像中的这个区域或者这个子 图像的覆盖区域。例如,图10d中的(a)的六面体表面展开成图10d中的(b)的2d全 景图像,六面体表面上的top面的面图像将会成为图10d中的(b)中左上角的子图像, 我们称这个子图像为2d全景图像的top面的面图像,2d全景图像中的top面指代top 面的面图像覆盖的区域。对于top面中的任意一个像素点,top面称为此像素点的所在面。
[0179]
在压缩等图像处理中,可直接处理图10b中的(f)~(j)所示的不规则2d图像,也 可选择将其包围在内的最小面积矩形区域作为处理对象,该矩形区域内不规则2d图像以 外的其余部分可填充为默认内容,例如全灰,全黑或全白等。例如,图10e中的(b)是图 10e中的(a)展开得到,图10e中的(d)是图10e中的(c)展开得到,并且其余部分中 像素点的值设置为灰色对应的像素值之后的二维矩形图像。除此之外,还可以直接将这些 面拼接成一个规则的矩形,进而避免填充操作。在进行实际编码处理时,处理的图像一般 为矩形图像。
[0180]
使用上述方法或其它未在本技术中列举的方法,可以将3d全景图像投影为全景视频 二维平面投影图,再将全景视频二维平面投影图映射至全景视频三维球面表达全景图,即 将全景视频二维平面投影图包括的多个像素点分别映射至全景视频三维球面表达全景图 得到多个映射点,将对全景视频二维平面投影图的处理转换成对全景视频三维球面表达全 景图的处理。由此可见,无论是采用哪种格式表示的全景视频二维平面投影图,均可以映 射至全景视频三维球面表达全景图,这样对全景图像的色调映射不必再受限于2d全景视 频的格式。
[0181]
本技术中,可以对全景视频三维球面表达全景图进行划分以得到多个分割区域。多个 分割区域可以采用以下任意一种方式得到:
[0182]
1、多个分割区域是通过对全景视频三维球面表达全景图以预设视角间隔规则进行划 分得到的。
[0183]
本技术中,可以将全景视频三维球面表达全景图划分为预设视角间隔的多个分割区域, 例如,如图11a所示,划分的到的多个分割区域中,纬度相邻的两个分割区域对应的水平 夹角相等,经度相邻的两个分割区域对应的俯仰夹角相等。
[0184]
2、多个分割区域是通过对全景视频三维球面表达全景图从纬度方向上进行划分得到 的;和/或,多个分割区域是通过对全景视频三维球面表达全景图从经度方向上进行划分得 到的。
[0185]
本技术中,可以将全景视频三维球面表达全景图从纬度方向上划分为多个分割区域, 例如,如图11b所示,将全景视频三维球面表达全景图划分为上下等大的两个分割区域; 或者,将全景视频三维球面表达全景图从经度方向上均匀划分为多个分割区域,例如,如 图11c所示,将全景视频三维球面表达全景图划分为左右等大的两个分割区域;或者,可 以将全景视频三维球面表达全景图从纬度方向上划分为多个分割区域,并将全景视频三维 球面表达全景图从经度方向上均匀划分为多个分割区域,例如,如图11d所示,将全景视 频三维球面表达全景图划分为上下等大且左右等大的四个分割区域。
[0186]
应当理解的,上述示例的几种划分方式并不对划分方式构成限定,还可以将全景视频 三维球面表达全景图划分为上下等大的两部分,再将该两部分分别均匀四等分;还可以将 全景视频三维球面表达全景图划分为上下等大的两部分,再将该两部分分别均匀四等分, 最后将每个四分区域划分为等视角间隔的区域。另外,对全景视频三维球面表达全景图的 划分也可以不是等分的,或者不是全部的划分步骤都是等分的,本技术对此不做具体限定。
[0187]
3、对全景图像包括的多个像素点进行聚类以得到多个像素点集合,将多个像素点分 别映射至全景视频三维球面表达全景图。将第一像素点集合包括的像素点在全景视频三维 球面表达全景图上对应的映射点形成的区域作为第一分割区域,该第一像素点集合是多个 像素点集合中的一个,该第一分割区域是多个分割区域中的一个。
[0188]
4、将全景图像包括的多个像素点分别映射至全景视频三维球面表达全景图以得到多 个映射点,对多个映射点进行聚类以得到多个映射点集合。将第一映射点集合包括的映射 点形成的区域作为第二分割区域,该第一映射点集合是多个映射点集合中的一个,该第二 分割区域是多个分割区域中的一个。
[0189]
上述聚类的方法包括:
[0190]
a.按照预设的初始划分方式将全景视频三维球面表达全景图划分为等视角间隔的多 个分割区域。应当理解的,初始划分方式还可以包括上述1或2中的任意一种划分方式, 对此不做具体限定;
[0191]
b.确定多个分割区域中分别包括的映射点。上述映射过程得到了全景视频三维球面 表达全景图上的多个映射点,这些映射点可以根据其球面坐标,确定是属于哪一个分割区 域。多个分割区域中可能每个分割区域都包含了映射点,也可能部分分割区域没有包含映 射点;
[0192]
c.确定第i个分割区域中位于的中心位置的映射点的颜色分量值或者第i个分割区域 的平均颜色分量值。颜色分量值可以指颜色格式yuv中的分量y、u、v中的至少一个, 颜色分量值也可以指颜色格式rbg中的分量r、g、b和max(r,g,b)中的至少一个,颜 色分量值还可以指颜色格式lab中的l、a和b中的至少一个。第i个分割区域的平均颜 色分量值可以指第i个分割区域中包括的多个映射点的颜色分量值的平均值。第i个分割 区域是多个分割区域的其中之一,此处以第i个分割区域的处理过程为例说明每个分割区 域的处理过程。应当理解的,本技术还可以获取第i个分割区域的其它特征信息,例如, 第i个分割区域的指定映射点的颜色分量值,对此不做具体限定。需要说明的是,如果第 i个分割区域没有位于的中心位置的映射点,可以计算第i个分割区域内所有映射点的x 坐标的平均值avgx,y坐标的平均值avgy,用坐标(avgx,avgy)替代上述位于中心位置的映 射点;
8所示的全景视频播放系统中的前端执行。过程1200描述为一系列的步骤或操作,应当理 解的是,过程1200可以以各种顺序执行和/或同时发生,不限于图12所示的执行顺序。过 程1200可以包括:
[0205]
步骤1201、获取第一分割区域包括的至少一个映射点。
[0206]
本技术中,前端可以采用上述方法对全景视频三维球面表达全景图进行划分以得到多 个分割区域。对于具体采用哪种划分方式,前端可以采用预设的划分方式,例如,预先设 定采用上述第1种划分方式,那么前端可以将全景视频三维球面表达全景图划分成多个等 视角间隔的分割区域。此时预设的划分方式可以适用于大多数的全景图像,以提高图像处 理效率。或者,前端也可以采用基于预设规则确定的划分方式,例如,前端在获取到待处 理的全景图像后,可以对该全景图像进行特征分析,从而确定划分方式,该划分方式更符 合全景图像的特征,以提高图像处理效率。或者,前端还可以提供用户选择接口,由用户 在该接口上选择或者输入期望采用的划分方式,这样划分方式可以更符合全景图像的动态 范围。
[0207]
应当理解的,除了上述3种确定划分方式的方法外,还可以采用其它方法确定划分方 式,本技术对此不做具体限定。
[0208]
第一分割区域是前端划分全景视频三维球面表达全景图后得到的多个分割区域中的 一个。根据全景图像和全景视频三维球面表达全景图之间的映射关系,可以将全景图像包 括的多个像素点分别映射至全景视频三维球面表达全景图,得到多个映射点,多个像素点 和多个映射点一一对应。基于此,可以在确定了第一分割区域的范围后,获取其包含的至 少一个映射点。
[0209]
步骤1202、根据至少一个像素点生成第一分割区域的元数据信息单元。
[0210]
通常全景视频数据包括视频数据和元数据信息,视频数据可以是全景视频包括的多个 图像帧的相关数据,例如,各个图像帧的像素数据;元数据信息可以包括视频数据相关的 数据和映射曲线相关的数据。其中,视频数据相关的数据例如可以包括全景视频数据的格 式和特征,目标系统显示最大亮度(targeted_system_display_maximum_luminance),全景 视频在存储器中可存储的最大亮度maxsource、最小亮度minsource、平均亮度avgsource, 可储存的变化范围等等,可储存的变化范围的原理类似于方差或者分布置信区间,用于描 述视频信号的亮度聚集范围。映射曲线相关的数据例如可以包括收缩因子、偏移因子、弯 曲形状因子等与映射曲线相关的参数,例如,s型曲线相关的数据包括a、b、p、n、m、 k1、k2和k3共八个参数。需要说明的是,全景视频数据包括但不限于上述内容,本技术 对此不做具体限定。
[0211]
示例性的,以第i个分割区域为例说明。
[0212]
1、生成元数信息单元中的“最大亮度值”:
[0213]
a、计算第i个分割区域包含的映射点的亮度值y[i](可选的,此处也可以计算映射点 的rgb三个分量中的最大值),i∈[0,n-1],n表示第i个分割区域包含的映射点的个数。 需要说明的是,映射点的亮度值实际上是该映射点对应的全景图像中的像素点的亮度值, 以下同理。
[0214]
b、获取第i个分割区域包含的映射点的亮度值中的最大亮度值maxy=max(y[i])。
[0215]
c、根据预设风格或者参数对maxy进行调整得到maxy1。
[0216]
d、将maxy1作为“曲线信息值”写入第i个分割区域的元数据信息单元中。
[0217]
2、生成元数据信息单元中的“曲线信息值”[0218]
a、计算第i个分割区域包含的所有映射点的直方图his[i],i∈[0,n-1],n表示第i个分 割区域包含的映射点的个数。需要说明的是,所有映射点的直方图实际上是该所有映射点 对应的全景图像中的多个像素点的直方图,以下同理。
[0219]
b、对直方图his[i]进行处理(包括不操作或者超过一定大小后截断),生成his1[i]。
[0220]
c、根据处理后直方图his1[i]生成映射曲线,ratio[i]=his1[i]/sum of(his1[i])。
[0221]
d、根据预设的风格或者算法参数调整ratio[i]得到ratio1[i]=w[i]
×
ratio[i]。
[0222]
e、将ratio1[n]作为“曲线信息值”写入第i个分割区域的元数据信息单元中。
[0223]
在一种可能的实现方式中,当第一分割区域和第二分割区域的直方图和/或亮度满足 设定条件时,前端可以对第一分割区域的元数据信息单元和第二分割区域的第二元数据信 息单元进行融合以得到第一分割区域和第二分割区域的元数据信息单元,第二分割区域是 多个分割区域中的一个。
[0224]
应当理解的,上述示例性的描述了两种元数据信息单元中的内容的生成方法,但并不 构成对元数据信息单元的生成方式、所包含的内容的限定,本技术对此不做具体限定。
[0225]
前端获取多个分割区域的直方图和/或者亮度值,如果有两个以上分割区域的直方图 和/或者亮度值相似,例如,该两个以上分割区域的直方图和/或者亮度值的失真值小于设 定阈值,可以认为该两个以上分割区域对应的图像区域的动态范围相似度较高,因此可以 对该两个以上分割区域确定同一个元数据信息单元。而该元数据信息单元可以是对上述步 骤中得到的该两个以上分割区域各自的元数据信息单元加权平均得到的,或者,将上述步 骤中得到的该两个以上分割区域作为一个分割区域重新计算元数据信息单元。
[0226]
示例性的,可以采用以下方法判断两个以上分割区域的直方图的失真值是否小于设定 阈值:
[0227]
1、计算第一分割区域包含的所有映射点的直方图hisa[n]。
[0228]
2、计算第二分割区域包含的所有映射点的直方图hisb[n]。
[0229]
3、计算hisdiff[i]=(hisa[i]-hisb[i])
×
(hisa[i]-hisb[i])。
[0230]
4、根据预设权重计算总的失真值hisdiffsum=∑hisdiff[i]
×
w[i]
[0231]
5、若hisdiffsum小于预设阈值t,则认为“第一分割区域和第二分割区域的直方图满 足设定条件”。
[0232]
此时,前端可以在元数据信息单元中加入指示信息,以指示该元数据信息单元和哪几 个分割区域对应,例如,元数据信息单元中写入多个球面坐标,该多个球面坐标分别位于 前述两个以上分割区域内,这样显示端在读取元数据信息单元时,根据其中包括的球面坐 标,确定球面坐标所属的分割区域,从而将其确定为该元数据信息单元所对应的分割区域。
[0233]
由此可见,前端在生成各个分割区域的元数据信息单元时,充分考虑了分割区域
包含 的映射点对应的像素点的特征,而像素点的特征可以反应分割区域的动态范围,因此显示 端在基于元数据信息单元获取其对应的分割区域的色调映射曲线时,得到的是与该分割区 域的动态范围特征相匹配的色调映射曲线,从而实现针对全景图像的更精确的色调映射处 理。
[0234]
步骤1203、将第一分割区域的元数据信息单元写入码流。
[0235]
前端确定了第一分割区域及其对应的元数据信息单元后,可以将该元数据信息单元写 入码流,以供显示端在显示全景图像时,进行相应的色调映射。应当理解的,多个分割区 域中除第一分割区域外的其它分割区域均可以采用上述方法确定对应的元数据单元,此处 不再赘述。
[0236]
可选的,前端可以按照设定的顺序遍历多个分割区域,然后每遍历一个分割区域,将 其对应的元数据信息单元写入码流。
[0237]
可选的,前端可以根据预设规则确定遍历多个分割区域的顺序,然后根据该顺序每遍 历一个分割区域,将其对应的元数据信息单元写入码流,与此同时,前端还要将确定的顺 序写入码流。
[0238]
上述顺序可以是从全景视频三维球面表达全景图的自顶向下或者自前向后等顺序。
[0239]
在一种可能的实现方式中,前端可以将生成元数据信息单元和写码流的过程交叉进行, 即前端根据上述顺序遍历多个分割区域,每遍历一个分割区域,采用步骤1202的方法生 成其对应的元数据信息单元,然后将该元数据信息单元写入码流。
[0240]
本技术,通过将与全景图像对应的全景视频三维球面表达全景图划分成多个分割区域, 根据每个分割区域包含的映射点所对应的像素点生成该分割区域的元数据信息单元,从而 通过元数据信息单元指导显示端生成对应于该分割区域的色调映射曲线,进而实现从图像 到显示的色调映射,既可以针对性的对全景图像上的不同动态范围区域确定匹配的色调映 射参数,又可以符合显示端的显示动态范围,提高全景图像的处理效率。
[0241]
图13为本技术全景图像的色调映射方法的过程1300的流程图。过程1300可以由图 8所示的全景视频播放系统中的显示端执行。过程1300描述为一系列的步骤或操作,应当 理解的是,过程1300可以以各种顺序执行和/或同时发生,不限于图13所示的执行顺序。
[0242]
过程1300可以包括:
[0243]
步骤1301、从多个元数据信息单元中确定第一像素点的一个或多个目标元数据信息 单元。
[0244]
本技术中,显示端可以采用上述方法对全景视频三维球面表达全景图进行划分以得到 多个分割区域。对于具体采用哪种划分方式,显示端可以采用预设的划分方式,也可以采 用解析码流得到的划分方式。
[0245]
应当理解的,除了上述2种确定划分方式的方法外,还可以采用其它方法确定划分方 式,本技术对此不做具体限定。
[0246]
显示端还可以解析码流得到多个元数据信息单元。另外显示端可以从码流中解析得到 多个元数据信息单元的编号信息,该编号信息一方面可以标识多个元数据信息单元,另一 方面可以表示多个元数据信息单元的先后顺序;或者,显示端可以将多个元数据信息单元 解析出来的顺序确定为多个元数据信息单元的先后顺序。
[0247]
显示端可以通过以下几种方法确定多个分割区域和多个元数据信息单元之间的对应 关系:
[0248]
1、显示端可以按照第一预设顺序从多个元数据信息单元中提取当前元数据信息单元, 按照第二预设顺序从多个分割区域中提取当前分割区域,将当前分割区域和当前元数据信 息单元建立对应关系。
[0249]
2、显示端可以按照第一预设顺序从多个元数据信息单元中提取当前元数据信息单元, 按照解析码流得到的遍历顺序从多个分割区域中提取当前分割区域,将当前分割区域和当 前元数据信息单元建立对应关系。
[0250]
3、显示端可以按照第一预设顺序从多个元数据信息单元中提取当前元数据信息单元, 获取当前元数据信息单元包括的一个或多个坐标,根据一个或多个坐标在全景视频三维球 面表达全景图上确定一个或多个映射点。当只有一个映射点时,将一个映射点所属的分割 区域和当前元数据信息单元建立对应关系;当有多个映射点时,将多个映射点所属的至少 一个分割区域和当前元数据信息单元建立对应关系。
[0251]
当前元数据信息单元可以认为是多个元数据信息单元中排在最前面的一个,如上所述, 多个元数据信息单元之间具有先后顺序,上述第一预设顺序可以指按照多个元数据信息单 元的先后顺序提取排在最前面的元数据信息单元即为当前元数据信息单元,一旦确定了该 当前元数据信息单元和其中一个或多个分割单元之间的对应关系,就将其从最先顺序撤掉, 将其下一个元数据信息单元确定为新的当前元数据信息单元,多次迭代,直到确定多个分 割区域和多个元数据信息单元之间的对应关系。
[0252]
本技术中,显示端可以根据设定映射点确定一个或多个目标分割区域,当只有一个目 标分割区域时,将一个目标分割区域对应的元数据信息单元确定为一个目标元数据信息单 元;或者,当有多个目标分割区域时,将多个目标分割区域分别对应的元数据信息单元确 定为多个目标元数据信息单元。
[0253]
在一种可能的实现方式中,设定映射点是第一映射点,以第一映射点为中心在全景视 频三维球面表达全景图上确定第一覆盖范围,当第一覆盖范围包括一个分割区域时,将一 个分割区域确定为一个目标分割区域;或者,当第一覆盖范围包括多个分割区域时,将多 个分割区域确定为多个目标分割区域。
[0254]
设定映射点为第一像素点在全景视频三维球面表达全景图上的第一映射点,显示端可 以以第一映射点为圆心,以第一长度为半径确定第一覆盖范围,此时第一覆盖范围是圆形 区域,或者,显示端也可以以第一映射点为中心,以第一长度为边长确定第一覆盖范围, 此时第一覆盖范围是方形区域。第一长度可以是预设长度,或者,第一长度可以是第一映 射点所属的第一分割区域对应的第一元数据信息单元中指定的。多个分割区域包括第一分 割区域,多个元数据信息单元包括第一元数据信息单元。应当理解的,第一覆盖范围还可 以是其它形状的区域,其形状和尺寸的相关信息可以是预先设定的,也可以是前述第一元 数据信息单元中指定的,本技术对此不做具体限定。
[0255]
例如,以第一映射点为中心,以第一长度为半径/边长确定的第一覆盖范围可能只覆盖 第一映射点所属的分割区域,此时第一映射点所属的分割区域为一个目标分割区域。第一 覆盖范围也可能覆盖第一映射点所属的分割区域和与其相邻的一个或多个分割区域,那么 第一映射点所属的分割区域和与其相邻的一个或多个分割区域为多个目标分割
区域。第一 覆盖范围可能只覆盖了前述相邻分割区域的部分区域,那么该相邻分割区域也可以作为目 标分割区域。
[0256]
在一种可能的实现方式中,设定映射点是全景视频三维球面表达全景图的视点中心, 确定视点中心所属的第二分割区域,多个分割区域包括第二分割区域,将第二分割区域确 定为一个目标分割区域。
[0257]
设定映射点为全景视频三维球面表达全景图上的视点中心,无论第一像素点在全景图 像中的哪个位置,均可以参照全景视频三维球面表达全景图上的视点中心,将其所属的第 二分割区域确定为一个目标分割区域。
[0258]
在一种可能的实现方式中,设定映射点是全景视频三维球面表达全景图的视点中心, 以视觉中心为中心在全景视频三维球面表达全景图上确定第二覆盖范围,当第二覆盖范围 包括一个分割区域时,将一个分割区域确定为一个目标分割区域;或者,当第二覆盖范围 包括多个分割区域时,将多个分割区域确定为多个目标分割区域。
[0259]
设定映射点为全景视频三维球面表达全景图上的视点中心,显示端可以以视觉中心为 中心,以第二长度为半径/边长确定第二覆盖范围,此时第二覆盖范围是圆形区域,或者, 显示端也可以以视觉中心为中心,以第二长度为边长确定第二覆盖范围,此时第二覆盖范 围是方形区域。第二长度可以是预设长度,或者,第二长度可以是视点中心所属的第二分 割区域对应的第二元数据信息单元中指定的。多个分割区域包括第二分割区域,多个元数 据信息单元包括第二元数据信息单元。应当理解的,第二覆盖范围还可以是其它形状的区 域,其形状和尺寸的相关信息可以是预先设定的,也可以是前述第二元数据信息单元中指 定的,本技术对此不做具体限定。
[0260]
例如,与以第一映射点为圆心,以第一长度为半径确定第一覆盖范围的不同在于,此 时是以视觉中心为圆心,以第二长度为半径确定第二覆盖范围,之后再将第二覆盖范围覆 盖的分割区域确定为目标分割区域。同理,第二覆盖范围可能只覆盖视觉中心所属的分割 区域,此时视觉中心所属的分割区域为一个目标分割区域,第二覆盖范围也可能覆盖视觉 中心所属的分割区域和与其相邻的一个或多个分割区域,那么视觉中心所属的分割区域和 与其相邻的一个或多个分割区域为多个目标分割区域。第二覆盖范围可能只覆盖了前述相 邻分割区域的部分区域,那么该相邻分割区域也可以作为目标分割区域。
[0261]
基于多个分割区域和多个元数据信息单元之间的对应关系,可以将上述步骤确定的一 个或多个目标分割区域对应的元数据信息单元确定为第一像素点的一个或多个目标元数 据信息单元。
[0262]
步骤1302、根据一个或多个目标元数据信息单元对第一像素点的像素值进行色调映 射以得到第一像素点的目标色调映射值。
[0263]
本技术中,显示端可以根据一个或多个目标元数据信息单元获取一条或多条色调映射 曲线。当只有一条色条映射曲线时,根据一条色调映射曲线对第一像素点的像素值进行色 调映射以得到目标色调映射值;或者,当有多条色条映射曲线时,根据多条色调映射曲线 分别对第一像素点的像素值进行色调映射以得到第一像素点的多个色调中间值,再根据多 个色调中间值获取目标色调映射值。
[0264]
如上所述,元数据信息单元中包括色调映射曲线的相关参数,因此基于该参数可以得 到对应的色调映射曲线,需要说明的是,本技术对色调映射曲线的参数和色调映射曲
线均 不作具体限定。
[0265]
基于此,如果第一像素点只有一个目标元数据信息单元,那么对该第一像素点可以得 到一条色调映射曲线,如果第一像素点有多个目标元数据信息单元,那么对该第一像素点 可以得到多条色调映射曲线。
[0266]
相应的,
[0267]
用上述一条色调映射曲线对第一像素点的像素值进行色调映射可以直接得到第一像 素点的目标色调映射值。
[0268]
用上述多条色调映射曲线分别对第一像素点的像素值进行色调映射可以得到第一像 素点的多个色调中间值,对该多个色调中间值做进一步处理,例如,取多个色调中间值中 的中间值(例如,多个色调中间值包括1、2、3,那么中间值为2),或者对多个色调中间 值进行加权平均处理的结果即为第一像素点的目标色调中间值。前述加权平均中对应于各 个色调中间值的加权系数可以与第一映射点与各个分割区域的中心点的距离相关。即计算 第一映射点分别与多个目标分割区域中的每个分割区域的中心点的距离(例如欧氏距离), 计算多个目标分割区域分别对应的距离之和,将各个距离分别与距离之和的比值作为对应 的目标分割区域的元数据信息单元求得到色调中间值的加权系数;或者,前述加权平均中 对应于各个色调中间值的加权系数可以与多个目标元数据信息单元分别对应的分割区域 的面积比重相关。即计算上述第一覆盖范围或者第二覆盖范围内包含的多个分割区域的面 积,如果分割区域被前述第一覆盖范围或者第二覆盖范围完全覆盖,则计算该分割区域的 全面积,如果分割区域被前述第一覆盖范围或者第二覆盖范围覆盖部分区域,则计算该分 割区域的部分区域的面积,计算多个目标分割区域的面积之和,将各个分割区域的面积分 别与面积之和的比值作为对应的目标分割区域的元数据信息单元求得到色调中间值的加 权系数。
[0269]
示例性的,根据从第一像素点的目标元数据信息单元获取色调映射曲线参数a,b,p,m,n, 进而可以获取色调映射曲线:
[0270][0271]
根据上述色调映射曲线可以获得从归一化的第一像素点的像素值映射到归一化的 hdr显示数据之间的映射关系。需要说明的是,l和l’可以是归一化的光信号或者电信 号,本技术不做具体限定。归一化计算可以是pq的非线性空间,也可以是归一化0~1的 线性空间。归一化可以是0-10000nit,也可以是0.001-100000nit。本技术对数据的归一化 范围和过程不做具体限定。
[0272]
根据hdr显示设备的最大显示能力和最小显示能力(通常为0),将归一化的hdr 显示数据l’反向归一化到显示设备的最大显示能力和最小显示能力之间,第一像素点的 目标色调值为反向归一化后的hdr显示数据。需要说明的是,反向归一化计算可以是pq 的非线性空间,也可以是归一化0~1的线性空间。反向归一化可以是0-10000nit,也可以 是0.001-100000nit。本技术对数据的反归一化范围和过程不做具体限定。
[0273]
本技术,通过将与全景图像对应的全景视频三维球面表达全景图划分成多个分割区域, 根据每个分割区域包含的映射点所对应的像素点生成该分割区域的元数据信息单元,从而 通过元数据信息单元指导显示端生成对应于该分割区域的色调映射曲线,进而实
现从图像 到显示的色调映射,既可以针对性的对全景图像上的不同动态范围区域确定匹配的色调映 射参数,,又可以符合显示端的显示动态范围,提高全景图像的处理效率。
[0274]
在一种可能的实现方式中,显示端可以解析码流得到多个元数据信息单元,另外显示 端可以从码流中解析得到多个元数据信息单元的编号信息,该编号信息一方面可以标识多 个元数据信息单元,另一方面可以表示多个元数据信息单元的先后顺序;或者,显示端可 以解析码流得到多个元数据信息单元,并且将元数据信息单元解析出来的顺序确定为多个 元数据信息单元的先后顺序。
[0275]
本技术中,显示端可以对全景视频三维球面表达全景图进行划分以得到多个分割区域。
[0276]
在一种可能的实现方式中,显示端可以获取预设的划分方式,然后根据预设的划分方 式对全景视频三维球面表达全景图进行划分以得到多个分割区域。
[0277]
用户可以根据历史数据或者实验室数据提前设定好划分方式,这样划分方式可以适用 于大多数的全景图像,以提高图像处理效率。或者,用户也可以通过全景图像处理系统提 供的用户界面,在其上选择或者输入期望采用的划分方式,这样划分方式可以更符合全景 图像的动态范围。
[0278]
在一种可能的实现方式中,显示端可以解析码流以得到由前端设置的划分方式。
[0279]
前端在获取到待处理的全景图像后,可以对该全景图像进行特征分析,从而确定划分 方式,该划分方式更符合全景图像的特征,以提高图像处理效率。为了与显示端保持一致, 前端可以将确定的划分方式写入码流。显示端解析码流后即可得到前述划分方式。
[0280]
通过上述方法,显示端可以确定划分方式为依视角规则划分。显示端可以将全景视频 三维球面表达全景图划分为等视角间隔的多个分割区域,例如,如图11a所示,划分的到 的多个分割区域中,纬度相邻的两个分割区域对应的水平夹角相等,经度相邻的两个分割 区域对应的俯仰夹角相等;或者,显示端可以将全景视频三维球面表达全景图从纬度方向 上划分为多个分割区域,例如,如图11b所示,显示端将全景视频三维球面表达全景图划 分为上下等大的两个分割区域;或者,将全景视频三维球面表达全景图从经度方向上均匀 划分为多个分割区域,例如,如图11c所示,显示端将全景视频三维球面表达全景图划分 为左右等大的两个分割区域;或者,显示端可以将全景视频三维球面表达全景图从纬度方 向上划分为多个分割区域,并将全景视频三维球面表达全景图从经度方向上均匀划分为多 个分割区域,例如,如图11d所示,显示端将全景视频三维球面表达全景图划分为上下等 大且左右等大的四个分割区域。
[0281]
应当理解的,上述示例的几种划分方式并不对划分方式构成限定,显示端还可以将全 景视频三维球面表达全景图划分为上下等大的两部分,然后将两部分分别均匀四等分;显 示端还可以将全景视频三维球面表达全景图划分为上下等大的两部分,然后将两部分分别 均匀四等分,最后将每个四分区域划分为等视角间隔的区域。另外,显示端对全景视频三 维球面表达全景图的划分也可以不是等分的,或者不是全部的划分步骤都是等分的,对此 不做具体限定。
[0282]
本技术中,显示端也可以解析码流直接获取到全景视频三维球面表达全景图包括的多 个分割区域。前端在对全景视频三维球面表达全景图划分得到多个分割区域后,可以将该 多个分割区域的划分信息写入码流,例如,分割区域的形状、尺寸、左上角的坐标等,
又 例如,分割线的描述信息,这样显示端可以解析码流得到上述多个分割区域的划分信息, 进而确定多个分割区域。
[0283]
图14为本技术显示装置1400的一个示例性的结构图,如图14所示,本实施例的显 示装置1400可以应用于上述实施例中的显示端,也可以应用于上述实施例中的终端设备。 显示装置1400可以包括:划分模块1401、确定模块1402和映射模块1403。其中,
[0284]
确定模块1402,用于从多个元数据信息单元中确定第一像素点的一个或多个目标元 数据信息单元,所述多个元数据信息单元是解析码流得到的,所述第一像素点是待处理的 全景视频二维平面投影图中的任意一个像素点,所述多个元数据信息单元和全景视频三维 球面表达全景图包括的多个分割区域对应,所述全景视频二维平面投影图和所述全景视频 三维球面表达全景图具有映射关系;映射模块1403,用于根据所述一个或多个目标元数据 信息单元对所述第一像素点的像素值进行色调映射以得到所述第一像素点的目标色调映 射值。
[0285]
在一种可能的实现方式中,划分模块1401,用于获取所述多个分割区域。
[0286]
在一种可能的实现方式中,所述划分模块1401,具体用于根据预设的划分方式对所述 全景视频三维球面表达全景图进行划分,以得到所述多个分割区域。
[0287]
在一种可能的实现方式中,所述划分模块1401,具体用于根据解析所述码流得到的划 分方式对所述全景视频三维球面表达全景图进行划分,以得到所述多个分割区域。
[0288]
在一种可能的实现方式中,所述多个分割区域是通过对所述全景视频三维球面表达全 景图以预设视角间隔规则进行划分得到的;或者,
[0289]
所述多个分割区域是通过对所述全景视频三维球面表达全景图从纬度方向上进行划 分得到的;和/或,所述多个分割区域是通过对所述全景视频三维球面表达全景图从经度方 向上进行划分得到的。
[0290]
在一种可能的实现方式中,所述划分模块1401,具体用于对所述全景视频二维平面投 影图包括的多个像素点进行聚类以得到多个像素点集合;将所述多个像素点分别映射至所 述全景视频三维球面表达全景图;将第一像素点集合包括的像素点在所述全景视频三维球 面表达全景图上对应的映射点形成的区域作为第一分割区域,所述第一像素点集合是所述 多个像素点集合中的一个,所述第一分割区域是所述多个分割区域中的一个。
[0291]
在一种可能的实现方式中,所述划分模块1401,具体用于将所述全景视频二维平面投 影图包括的多个像素点分别映射至所述全景视频三维球面表达全景图以得到多个映射点; 对所述多个映射点进行聚类以得到多个映射点集合;将第一映射点集合包括的映射点形成 的区域作为第二分割区域,所述第一映射点集合是所述多个映射点集合中的一个,所述第 二分割区域是所述多个分割区域中的一个。
[0292]
在一种可能的实现方式中,所述划分模块1401,具体用于根据解析所述码流得到的所 述多个分割区域的指示信息获取所述多个分割区域。
[0293]
在一种可能的实现方式中,所述确定模块1402,具体用于确定所述多个元数据信息单 元和多个分割区域之间的对应关系,一个所述元数据信息单元对应一个或多个所述分割区 域;根据设定映射点确定一个或多个目标分割区域;当只有一个目标分割区域时,将所述 一个目标分割区域对应的元数据信息单元确定为所述一个目标元数据信息单元;或者,当 有多个目标分割区域时,将所述多个目标分割区域分别对应的元数据信息单元确
定为所述 多个目标元数据信息单元。
[0294]
在一种可能的实现方式中,所述确定模块1402,具体用于按照第一预设顺序从所述多 个元数据信息单元中提取当前元数据信息单元;按照第二预设顺序从所述多个分割区域中 提取当前分割区域;将所述当前分割区域和所述当前元数据信息单元建立对应关系。
[0295]
在一种可能的实现方式中,所述确定模块1402,具体用于按照第一预设顺序从所述多 个元数据信息单元中提取当前元数据信息单元;按照解析所述码流得到的遍历顺序从所述 多个分割区域中提取当前分割区域;将所述当前分割区域和所述当前元数据信息单元建立 对应关系。
[0296]
在一种可能的实现方式中,所述确定模块1402,具体用于按照第一预设顺序从所述多 个元数据信息单元中提取当前元数据信息单元;获取所述当前元数据信息单元包括的一个 或多个坐标;根据所述一个或多个坐标在所述全景视频三维球面表达全景图上确定一个或 多个映射点;当只有一个映射点时,将所述一个映射点所属的分割区域和所述当前元数据 信息单元建立对应关系;当有多个映射点时,将所述多个映射点所属的至少一个分割区域 和所述当前元数据信息单元建立对应关系。
[0297]
在一种可能的实现方式中,所述设定映射点为所述第一像素点在所述全景视频三维球 面表达全景图上的第一映射点;所述确定模块1402,具体用于以所述第一映射点为中心在 所述全景视频三维球面表达全景图上确定第一覆盖范围;当所述第一覆盖范围包括一个分 割区域时,将所述一个分割区域确定为所述一个目标分割区域;或者,当所述第一覆盖范 围包括多个分割区域时,将所述多个分割区域确定为所述多个目标分割区域。
[0298]
在一种可能的实现方式中,所述设定映射点为所述全景视频三维球面表达全景图上的 视点中心;所述确定模块1402,具体用于确定所述视点中心所属的第二分割区域,所述多 个分割区域包括所述第二分割区域;将所述第二分割区域确定为所述一个目标分割区域。
[0299]
在一种可能的实现方式中,所述设定映射点为所述全景视频三维球面表达全景图上的 视点中心;所述确定模块1402,具体用于以所述视觉中心为中心在所述全景视频三维球面 表达全景图上确定第二覆盖范围;当所述第二覆盖范围包括一个分割区域时,将所述一个 分割区域确定为所述一个目标分割区域;或者,当所述第二覆盖范围包括多个分割区域时, 将所述多个分割区域确定为所述多个目标分割区域。
[0300]
在一种可能的实现方式中,所述映射模块1403,具体用于根据所述一个或多个目标元 数据信息单元获取一条或多条色调映射曲线;当只有一条色条映射曲线时,根据所述一条 色调映射曲线对所述第一像素点的像素值进行色调映射以得到所述目标色调映射值;或者, 当有多条色条映射曲线时,根据所述多条色调映射曲线分别对所述第一像素点的像素值进 行色调映射以得到所述第一像素点的多个色调中间值;根据所述多个色调中间值获取所述 目标色调映射值。
[0301]
在一种可能的实现方式中,所述映射模块1403,具体用于将所述多个色调中间值中的 中间值确定为所述目标色调映射值;或者,对所述多个色调中间值进行加权平均以得到所 述目标色调映射值,所述多个色调中间值的加权系数是预先设定的,或者所述多个色调中 间值的加权系数与所述第一像素点与各个分割区域的中心点的距离相关,或者,所述
多个 色调中间值的加权系数与所述多个目标元数据信息单元分别对应的分割区域的面积比重 相关。
[0302]
本实施例的装置,可以用于执行图13所示方法实施例的技术方案,其实现原理和技 术效果类似,此处不再赘述。
[0303]
图15为本技术前端装置1500的一个示例性的结构图,如图15所示,本实施例的前 端装置1500可以应用于上述实施例中的前端,也可以应用于上述实施例中的终端设备。 前端装置1500可以包括:划分模块1501、获取模块1502和生成模块1503。其中,
[0304]
获取模块1502,用于获取第一分割区域包括的至少一个映射点,所述第一分割区域是 全景视频三维球面表达全景图包括的多个分割区域中的一个,所述全景视频三维球面表达 全景图和待处理的全景视频二维平面投影图具有映射关系,所述至少一个映射点和所述全 景视频二维平面投影图上的至少一个像素点对应;生成模块1503,用于根据所述至少一个 像素点生成所述第一分割区域的元数据信息单元;将所述第一分割区域的元数据信息单元 写入码流。
[0305]
在一种可能的实现方式中,所述生成模块1503,还用于当所述第一分割区域和第二分 割区域的直方图和/或亮度满足设定条件时,对所述第一分割区域的元数据信息单元和所 述第二分割区域的第二元数据信息单元进行融合以得到所述第一分割区域和所述第二分 割区域的元数据信息单元,所述第二分割区域是所述多个分割区域中的一个。
[0306]
在一种可能的实现方式中,划分模块1501,用于将所述全景视频二维平面投影图映射 至所述全景视频三维球面表达全景图;对所述全景视频三维球面表达全景图进行划分以得 到所述多个分割区域。
[0307]
在一种可能的实现方式中,所述划分模块1501,具体用于根据预设的划分方式对所述 全景视频三维球面表达全景图进行划分以得到所述多个分割区域。
[0308]
在一种可能的实现方式中,所述划分模块1501,具体用于根据基于预设规则确定的划 分方式对所述全景视频三维球面表达全景图进行划分以得到所述多个分割区域。
[0309]
在一种可能的实现方式中,所述多个分割区域是通过对所述全景视频三维球面表达全 景图以预设视角间隔规则进行划分得到的;或者,
[0310]
所述多个分割区域是通过对所述全景视频三维球面表达全景图从纬度方向上进行划 分得到的;和/或,所述多个分割区域是通过对所述全景视频三维球面表达全景图从经度方 向上进行划分得到的。
[0311]
在一种可能的实现方式中,所述划分模块1501,具体用于对所述全景视频二维平面投 影图包括的多个像素点进行聚类以得到多个像素点集合;将所述多个像素点分别映射至所 述全景视频三维球面表达全景图;将第一像素点集合包括的像素点在所述全景视频三维球 面表达全景图上对应的映射点形成的区域作为第一分割区域,所述第一像素点集合是所述 多个像素点集合中的一个,所述第一分割区域是所述多个分割区域中的一个。
[0312]
在一种可能的实现方式中,所述划分模块1501,具体用于将所述全景视频二维平面投 影图包括的多个像素点分别映射至所述全景视频三维球面表达全景图以得到多个映射点; 对所述多个映射点进行聚类以得到多个映射点集合;将第一映射点集合包括的映射点形成 的区域作为第二分割区域,所述第一映射点集合是所述多个映射点集合中的一个,所述第 二分割区域是所述多个分割区域中的一个。
[0313]
本实施例的装置,可以用于执行图12所示方法实施例的技术方案,其实现原理和技 术效果类似,此处不再赘述。
[0314]
在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或 者软件形式的指令完成。处理器可以是通用处理器、数字信号处理器(digital signal processor, dsp)、特定应用集成电路(application-specific integrated circuit,asic)、现场可编程门阵 列(field programmable gate array,fpga)或其他可编程逻辑器件、分立门或者晶体管逻辑 器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理 器等。本技术实施例公开的方法的步骤可以直接体现为硬件编码处理器执行完成,或者用 编码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只 读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介 质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的 步骤。
[0315]
上述各实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失 性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory, rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器 (erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom) 或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作 外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存 取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步 动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取 存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器 (enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram, sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。应注意, 本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0316]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及 算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以 硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可 以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本 申请的范围。
[0317]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装 置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0318]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通 过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的 划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组 件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显 示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间 接耦合或通信连接,可以是电性,机械或其它的形式。
[0319]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的 部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络 单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0320]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各 个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0321]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储 在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现 有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机 软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(个人计算机, 服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的 存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存 储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0322]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟 悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖 在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1