处理立方体面图像的视频序列的方法及装置转让专利
申请号 : CN202011073087.7
文献号 : CN112312009B
文献日 : 2021-09-28
发明人 : 林鸿志 , 张胜凯
申请人 : 联发科技股份有限公司
摘要 :
权利要求 :
1.一种处理立方体面图像的视频序列的方法,其特征在于,该方法包括:接收通过投影转换自360度全景视频序列中的每个球面图像转换的每六个立方体面图像的集合,其中每六个立方体面图像的集合对应于自每个球面图像投影到一立方体的六个面的六个子图像,以用于渲染360度虚拟现实;
生成表示来自于所述立方体的所述六个面的展开图像的全部连接立方体面图像,其中所有六个立方体面在全部连接立方体面图像内连接,且所述全部连接立方体面图像的两个连接立方体面之间的任何边界穿过该边界是连续的;
通过用填充数据填充任何空白区域,生成覆盖所述全部连接立方体面图像的矩形组装图像;以及
提供对应于包括矩形组装图像序列的视频序列的输出数据。
2.如权利要求1中所述的处理立方体面图像的视频序列的方法,其特征在于,包括:将视频编解码应用于所述视频序列,其中所述输出数据包括所述视频序列的已压缩数据。
3.如权利要求1中所述的处理立方体面图像的视频序列的方法,其特征在于,所述填充BitDepth‑1 BitDepth数据具有对应于0、2 和2 –1中一个的常量值,其中BitDepth是用于表示像素的每个颜色分量的比特数。
4.一种处理立方体面图像的视频序列的装置,其特征在于,该装置包括一个或多个电子电路或处理器,用于:
接收通过投影转换自360度全景视频序列中的每个球面图像转换的每六个立方体面图像的集合,其中每六个立方体面图像的集合对应于自每个球面图像投影到一立方体的六个面的六个子图像,以用于渲染360度虚拟现实;
生成表示来自于所述立方体的所述六个面的展开图像的全部连接立方体面图像,其中所有六个立方体面在全部连接立方体面图像内连接,且所述全部连接立方体面图像的两个连接立方体面之间的任何边界穿过该边界是连续的;
通过用填充数据填充任何空白区域,生成覆盖所述全部连接立方体面图像的矩形组装图像;以及
提供对应于包括矩形组装图像序列的视频序列的输出数据。
5.如权利要求4中所述的处理立方体面图像的视频序列的装置,其特征在于,所述一个或多个电子电路或处理器用于:将视频编解码应用于所述视频序列,其中所述输出数据包括所述视频序列的已压缩数据。
6.如权利要求4中所述的处理立方体面图像的视频序列的装置,其特征在于,所述填充BitDepth‑1 BitDepth数据具有对应于0、2 和2 –1中一个的常量值,其中BitDepth是用于表示像素的每个颜色分量的比特数。
说明书 :
处理立方体面图像的视频序列的方法及装置
技术领域
背景技术
境的感觉”还可以通过立体渲染来提升。因此,全景视频正被广泛应用于虚拟现实(Virtual
Reality,VR)应用中。
摄像机。所有视频必须同时被捕捉,以及场景的单独段(也称为单独透视图)被记录。此外,
一组摄像机常常被设置成水平地捕捉视图,而这些摄像机的其他设置也是可能的。
度球面全景图像。球面图像处理可包括图像缝合和摄像机校准。球面图像处理在本技术领
域中是熟知的,且在本公开中省略其细节。来自于球面图像处理单元110的360度球面全景
图像的示例在图像112中示出。如果摄像机被定位以使得顶端朝上,则360度球面全景图像
的顶端对应于垂直上方(或天空),且底端指向大地。然而,如果摄像机被配置有陀螺仪,则
垂直顶端可以总是被确定而无论摄像机如何被定位。在360度球面全景格式中,场景中的内
容似乎是失真的。通常,球面格式被投影到立方体的表面,作为可选的360度格式。转换可以
由投影变换单元120来执行,以推导出对应于立方体的六个面的六面图像122。在立方体的
面上,这六个图像被连接于立方体的边缘处。由于360度图像序列可能需要较大存储空间或
者需要较高带宽以用于传输,视频编码器130的视频编码可以被应用于包括六面图像序列
的视频序列。在接收器侧或显示侧处,已压缩视频数据使用视频解码器140来解码以恢复六
面图像序列,以在显示设备150(例如,VR显示)上进行显示。
每侧的方向由其相应的侧编号来表示。虚线圈中的侧编号表示透视图像,是由于这些图像
位于立方体的后侧。这六个立方面从一个面到连接面连续于连接边缘处。例如,面1与面5连
接于边缘214处。因此,如图2B所示,面1的顶端边缘连续地延伸到面5的底端边缘,又例如,
面4与面5的右侧连接与边缘212。因此,如图2C所示,面4的顶端边缘连续地延伸到面5的右
侧。面1与面5之间以及面4与面5之间的细缝隙旨在示出两个面之间的图像边界。
处理或压缩。
发明内容
两个连接立方体面之间的任何边界穿过该边界是连续的。通过用填充数据填充任何空白区
域,生成覆盖全部连接立方体面图像的矩形组装图像。提供对应于包括矩形组装图像序列
的视频序列的输出数据。此外,视频编解码可以被应用于视频序列。在这种情况下,输出数
据包括视频序列的已压缩数据。在一个实施例中,填充数据可以具有对应于0(黑色)、
BitDepth‑1 BitDepth
2 (灰色)或2 –1(白色)的像素值,其中BitDepth是用于表示像素的每个颜色分
量的比特数。
附图说明
续边界。
具体实施方式
连续性,其可以有助于提高处理效率,例如提高编解码效率。图3A示出了根据本发明实施例
的360度全景系统处理链,其中立方体面组装器310用于将这六个立方体面组装成已组装图
像。随后,已组装图像序列经历进一步的处理,例如,视频编码与解码。图3B示出了立方体面
组装器310的示例性实施方式,其中,在步骤312中,这六个面被展开。在这些面被展开之后,
其可以使用全部连接组装器314或部分连接组装器316来进行组装。开关318可以用于在这
两个组装器之间进行选择。这六个面可以已被存储,作为单个图像。在这种情况下,步骤312
可以被省略。然而,如图2A中所示,相对于立方体的六个面之间的关系应被存储或对解码器
已知,使得这六个面可以被正确地使用。此外,组装器可以仅具有一种类型的组装器(全部
连接组装器314或部分连接组装器316)。在这种情况下,开关318是不需要的。
图4的每个立方体网格中进行标记。因此,剩余的图像顺序可以被确定。如图4所示,这些展
开的六个面在展开图像的每个中总是具有5个连接面边界。此外,所有这些连接边界是连续
边界,因为图4中的每个连接边界对应于立方体的两个连接面的边缘。如前面所述,面的内
容穿过边缘从一个面到另一个面是连续的。
位。
生成360度球面图像的矩形形状,本发明实施例用已知像素数据(例如,0值像素)来修补对
应于立方体网格的图像,以形成矩形图像。图6示出了通过用已知像素数据修补异型的立方
体网格图像来推导出360度球面图像的矩形图像的示例。如图6所示,在步骤610中,在立方
体展开流程312之后,选择立方体网格。随后,在步骤620中,立方体网格图像中的空白区域
用修补数据进行填充。修补数据的像素值是已知的。例如,在8比特像素值被使用(即用于表
示像素的每个颜色分量的比特数,即BitDepth为8)的情况中,修补值可以为0(黑色)、128
BitDepth‑1 8‑1 BitDepth 8
(2 =2 ,灰色)、255(2 –1=2‑1,白色)。在这种方式中,立方体网格图像被修
补以生成每六个立方体面的集合的单个图像。因此,已生成的图像是全部连接的。
所示,任何两个连接面穿过边界是连续的。
处。这些面可以被旋转以形成一形状,其可以被分段成较小数量的具有相同尺寸的连接矩
形图像而保持最大连接性。在步骤820中,已旋转面中的连接被标识,随后,在步骤830中,已
旋转且已连接面相应地被组装成矩形组装图像。
中所总结,旋转之后,存在三种类型的连接图像(即A、B和C)。根据图8中所示的流程,已旋转
面中的连接在步骤820中被标识。类型A的连接面包括两个连接矩形图像(即如图10的第二
列中的段a中所示,每个的尺寸为3),其中,箭头表示与尺寸为3的连接矩形图像相关的三个
面。在每个尺寸为3的连接矩形图像内,图像内容穿过两个连接面的边界从一个面到另一个
面是连续的。类型B的连接面也包括两个连接矩形图像(即如图10中的段b1中所示,每个的
尺寸为3)。对于两个尺寸为3的连接矩形图像,一个被水平定位,而另一个被垂直定位。同样
地,在每个尺寸为3的连接矩形图像内,图像内容穿过面边界从一个面到另一个面是连续
的。可选地,如图10的最后一列中的段b2所指定,类型B的连接图像可以被处理为一个尺寸
为4的连接矩形图像以及两个单独面。对于尺寸为4的连接矩形图像,四个面的内容穿过四
个面的边界是连续的。类型C的连接面包括三个连接矩形图像(即,如图10中的段c所指定,
每个的尺寸为2)。每个尺寸为2的连接图像的内容穿过面边界是连续的。
型c,每六个面的集合具有3个连续的边界。
(1100B1)连接图像的组装的示例。由于段a和段b均包括两个尺寸为3的连接图像,这两个段
在面图像组装流程期间以相同的方式进行处理。对于段a,两个尺寸为3的连接面图像被连
接于面4与面6之间。此外,两个尺寸为3的连接面图像具有相同的定位(即均是水平的)。对
于段b1,两个尺寸为3的连接面图像被连接于面4与面3之间。此外,两个尺寸为3的连接面图
像具有不同的定位(即一个是水平的,一个是垂直的)。虽然两个尺寸为3的连接面图像在段
a和段b1中是不同地连接的,但是段a和段b1的这两个尺寸为3的连接面图像是相同的。一个
尺寸为3的连接面图像包括面2、面1和面4,另一个包括面6、面3和面5。段a和段b1中的这些
面图像在尺寸为3的连接面图像内以相同的方式进行连接。
个尺寸为3的图像被组装成一个3x2图像。对于图像组装1112,通过将两个尺寸为3的图像在
长图像边(即具有3个面图像的边)上对接在一起,两个尺寸为3的图像被组装成一个2x3图
像。可选地,通过将两个尺寸为3的图像在短图像边(即具有1个面图像的边)上对接在一起,
两个尺寸为3的图像可以被组装成一个1x6图像(即1114)。通过将两个尺寸为3的图像在短
图像边(即具有1个面图像的边)上对接在一起,两个尺寸为3的图像可以被组装成一个6x1
图像(即1116)。在这四种已组装图像中,两个尺寸为3的图像之间的边界(1121、1122、1123
或1124)是不连续的。对于面图像组装1110和面图像组装1112,沿着边界1121与1122分别存
在三个不连续面边界。对于面图像组装1114和面图像组装1116,仅存在分别沿着边界1123
和边界1124的一个不连续面边界。对于所有四种面图像组装,存在四个连续面图像边界,其
对应于两个尺寸为3的连接图像中的每个内的两个连续面边界。因此,面图像组装1114和面
图像组装1116具有最小数量的不连续面边界。
2个面图像的边)上对接在一起,三个尺寸为2的图像被组装成一个3x2图像。对于图像组装
1132,通过将三个尺寸为2的图像在长图像边(即具有2个面图像的边)上对接在一起,三个
尺寸为2的图像被组装成一个2x3图像。同样地,通过将三个尺寸为2的图像在短图像边(即
具有1个面图像的边)上对接在一起,三个尺寸为2的图像可以被组装成一个1x6图像(即
1134)或一个6x1图像(即1136)。在这些已组装图像中,三个尺寸为2的图像之间的边界
(1141到1148)是不连续的。对于段c图像,存在三个连续面边界,其对应于三个尺寸为2的图
像中每个内的一个。对于面图像组装1130和面图像组装1132,存在四个不连续面边界,其对
应于两个尺寸为2的图像之间的边界中的每个的两个。另一方面,对于面图像组装1134和面
图像组装1136,存在两个不连续面边界,其对应于两个尺寸为2的图像之间的边界中每个的
一个。
图像和两个单独面被组装成一个1x6图像。对于图像组装1152,尺寸为4的连接面图像和两
个单独面被组装成一个6x1图像。在这些已组装图像中,尺寸为4的图像与每个单独图像之
间的边界(即1161、1162、1163或1164)是不连续的。对于组装1150和组装1152,最终矩形图
像具有三个连续面边界和两个不连续面边界。
常需要压缩360度全景图像序列。对于传统视频源存在有不同的现有视频编解码标准,例如
MPEG‑2、MPEG‑4/AVC、VC‑9、HEVC等。根据本发明的组装流程生成矩形图像,其可以很容易适
用于传统视频编解码的环境。
形组装图像。对于具有更高数量的连续面和/或更低数量的不连续面的矩形组装图像,据推
测具有更高的空间和/或时间冗余。因此,这种矩形组装图像很可能实现更好的压缩效率。
例如,图11A中的组装6x1矩形图像和组装1x6矩形图像(即1116和1114)具有最大数量的连
续面边界(即4个)和最小数量的不连续面边界(即1个),因此,这些矩形组装图像被期望实
现最佳压缩性能。存在对应于其他段的其他的组装6x1矩形图像和组装1x6矩形图像。例如,
图11B中的组装6x1矩形图像和组装1x6矩形图像(即1136和1134)具有三个连续面边界和两
个不连续面边界。图11C中的组装6x1矩形图像和组装1x6矩形图像(即1150和1152)也具有
三个连续面边界和两个不连续面边界。图11A中的组装3x2矩形图像和组装2x3矩形图像(即
1110和1112)具有四个连续面边界和三个不连续面边界。图11B中的组装3x2矩形图像和组
装2x3矩形图像(即1130和1132)具有三个连续面边界和四个不连续面边界。
11C的不同组装图像类型进行性能比较。锚系统使用2x3图像,其中没有一个相邻面穿过任
何两个连接面的边界具有连续内容。传统的标准HEVC被用作视频编解码器以用于比较。图
11A中的组装6x1矩形图像和组装1x6矩形图像(即1116和1114)在三个不同测试序列下实现
了3.0‑5.4%之间的编解码增益的最佳性能。具体地,6x1组装矩形图像略优于1x6组装矩形
图像。图11A中的组装3x2矩形图像和组装2x3矩形图像(即1110和1112)在三个不同测试序
列下实现了1.7‑3.6%之间的编解码增益的次最佳性能。
编解码,线缓存器通常用于存储先前编解码单元行的必要编解码信息。越宽的图像将需要
越大的线缓存器。6x1组装图像比1x6组装图像窄得多。因此,图11A中的组装6x1矩形图像是
本发明的较优实施例。
360度全景视频序列中的每个球面图像转换的每六个立方体面图像的集合。如图3A所示,
360度全景视频序列可以是对360度全景摄像机捕捉的数据使用缝合和校准(即110)生成
的。随后,每个球面图像通过投影转换(即120)被映射到立方体面图像的集合。随后,立方体
面图像的集合用作立方体面组装器(即310)的输入。每六个立方体面图像的集合对应于被
投影到如图2A所示的立方体的六个表面的六个子图像,以用于渲染360度虚拟现实。在步骤
1220中,通过将每六个立方体面图像的集合进行组装,将每六个立方体面图像的集合转换
成一个矩形组装图像,以最大化连续边界的数量并最小化不连续边界的数量,其中每个连
续边界对应于具有从一个面到另一个面的连续内容的两个面之间的一个边界,并且每个不
连续边界对应于具有从一个面到另一个面的不连续内容的两个面之间的一个边界。这种类
型的立方体面图像组装对应于图3B中的流程316。图9A到图9K示出了生成连接图像而使得
连续边界可以被最大化的示例。图11A到图11C示出了对接连接图像以形成矩形组装图像而
使得不连续边界可以被最小化的示例。在步骤1230中,提供对应于包括矩形组装图像序列
的视频序列的输出数据。如图3A所示,包括矩形组装图像的视频序列可以被输出,以用于进
一步处理,例如视频编码(即130)。
收通过投影转换自360度全景视频序列中的每个球面图像转换的每六个立方体面图像的集
合。如图3A所示,360度全景视频序列可以是对360度全景摄像机捕捉的数据使用缝合和校
准(即110)生成的。随后,每个球面图像通过投影转换(即120)被映射到立方体面的集合。随
后,立方体面的集合用作立方体面组装器(即310)的输入。每六个立方体面图像的集合对应
于被投影到如图2A所示的立方体的六个表面的六个子图像,以用于渲染360度虚拟现实。在
步骤1320中,生成表示来自于立方体的六个面的展开图像的全部连接立方体面图像,其中
所有六个立方体面在全部连接立方体面图像内连接,全部连接立方体面图像的两个连接立
方体面之间的任何边界穿过该边界是连续的。如步骤1330所示,通过用填充数据填充任何
空白区域,生成覆盖全部连接立方体面图像的矩形组装图像。这种类型的立方体面图像组
装对应于图3B中的流程314。图7A到图7K示出了全部连接立方体面图像的示例。在步骤1340
中,提供对应于包括矩形组装图像序列的视频序列的输出数据。如图3A所示,包括矩形组装
图像的视频序列可以被输出,以用于进一步处理,例如视频编码(即130)。
对应于基于硬件的实现,其中一个或多个电子电路(例如专用集成电路(application
specific integrated circuits,ASIC)以及现场可编程门阵列(field programmable
gate array,FPGA)或处理器(例如数字信号处理器(Digital Signal Processor,DSP))。
文定义的一般原则可应用于其他实施例中。因此,本发明不限于所示和描述的特定实施例,
而是将被赋予与本文所公开的原理和新颖特征相一致的最大范围。在上述详细说明中,说
明了各种具体细节,以便透彻理解本发明。尽管如此,将被本领域的技术人员理解的是,本
发明能够被实践。
代码,以执行本文所述的处理。本发明的一个实施例也可是在数字信号处理器(Digital
Signal Processor,DSP)上执行的程序代码,以执行本文所描述的处理。本发明还可包括由
计算机处理器、数字信号处理器、微处理器或现场可编程门阵列所执行的若干函数。根据本
发明,通过执行定义了本发明所实施的特定方法的机器可读软件代码或者固件代码,这些
处理器可被配置为执行特定任务。软件代码或固件代码可由不同的编程语言和不同的格式
或样式开发。软件代码也可编译为不同的目标平台。然而,执行本发明的任务的不同的代码
格式、软件代码的样式和语言以及其他形式的配置代码,不会背离本发明的精神和范围。
前述的描述来表示。权利要求的含义以及相同范围内的所有变化都应纳入其范围内。