GBT 44115.2-2024 信息技术 虚拟现实内容表达 第2部分:视频(正式版)_第1页
GBT 44115.2-2024 信息技术 虚拟现实内容表达 第2部分:视频(正式版)_第2页
GBT 44115.2-2024 信息技术 虚拟现实内容表达 第2部分:视频(正式版)_第3页
GBT 44115.2-2024 信息技术 虚拟现实内容表达 第2部分:视频(正式版)_第4页
GBT 44115.2-2024 信息技术 虚拟现实内容表达 第2部分:视频(正式版)_第5页
已阅读5页,还剩98页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信息技术虚拟现实内容表达国家市场监督管理总局国家标准化管理委员会IGB/T44115.2—2024 Ⅲ 1 1 1 5 5 5 55.3逻辑运算符 6 65.5位运算符 6 7 76全景视频编码表示与重建 6.1视频源与标准框架 6.2语法和语义 6.3重建方法 7自由视角视频编码表示与重建 7.1视频源与标准框架 7.2语法和语义 7.3重建方法 附录A(规范性)档次 A.1概述 A.2档次 附录B(规范性)与平面视频编码标准的接口 B.2与AVS2(GB/T33475.2—2024)标准的接口 B.6与AVC(ISO/IEC14496-10:2022)标准的接口 附录C(资料性)等角四棱锥映射后的滤波 ⅢGB/T44115.2—2024本文件按照GB/T1.1—2020《标准化工作导则第1部分:标准化文件的结构和起草规则》的规定起草。本文件是GB/T44115《信息技术虚拟现实内容表达》的第2部分。GB/T44115已经发布了以——第2部分:视频。本文件由全国信息技术标准化技术委员会(SAC/TC28)提出并归口。通信技术研究有限公司、深圳市大疆创新科技有限公司、华为技术有限公司、深圳市沉浸视觉科技有限限公司、海信集团控股股份有限公司、中国电子技术标准化研究院、广东博华超高清创新中心有限公司、中关村视听产业技术创新联盟。GB/T44115.2—2024GB/T44115旨在确立适用于虚拟现实的视频和音频规范,拟由三个——第1部分:系统。目的在于确立高效编码的虚拟现实视频和音频数据的传输格式与信令格式。——第2部分:视频。目的在于确立虚拟现实全景视频和自由视角视频的编码表示与重建方法。——第3部分:音频。目的在于确定虚拟现实设备及相关系统中的沉浸式音频内容的表达方式,包括元数据(Metadata)结构和渲染器(Render)的系统架构及接口规范。置和机器可读介质;201910172742.5,多角度自由视角数据处理方法及装置、介质、终端、设备;统、设备及计算机可读存储介质;201610945845.7,全景视频感兴趣区域的描述方法和编码方法;式边界填充的全景视频编码、解码方法和装置;201710037483.6,一种全景图像的非对称映射方法;201710031017.7,基于主视点的全景视频映射方法;201910240995.1,一种基于自由视点的编解码方法视点的全景视频映射方法。本文件的发布机构对于该专利的真实该专利持有人已向本文件的发布机构承诺,他愿意同任何申请人在合理且无歧视的条款和条件下联系方式获得:联系人:黄铁军(数字音视频编解码技术标准工作组秘书长)通讯地址:北京市海淀区颐和园路5号北京大学理科2号楼2641室电话:+8610—62756172传真:+8610—62751638请注意除上述专利外,本文件的某些内容仍可能涉及专利。本文件的发布机构不承担识别专利的责任。1信息技术虚拟现实内容表达第2部分:视频下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T20090.2—2013信息技术先进音视频编码第2部分:视频GB/T33475.2—2024信息技术高效多媒体编码第2部分:视频T/AI109.2—2020信息技术智能媒体编码第2部分:视频ISO/IEC14496-10:2022/ITU-TH.264信息技术视听对象编码第10部分:先进视频编码ISO/IEC23008-2:2023/ITU-TH.265信息技术异构环境下的高效编码和媒体传输第2部environments—Part2:Highefficiencyvideocoding)ISO/IEC23090-3:2022/ITU-TH.266信息技术沉浸式媒体的编码表示方式第3部分:多功能视频编码(Informationtechnology—Codedrepresentationofimmersivemedia—Part3:Versatile2GB/T44115.2—20243.4图像的三个样值矩阵(亮度和两个色度)中的一个矩阵或矩阵中的单个样值。3.5由语法元素产生解码图像的过程。3.6完成解码处理的实体。3.7解析过程parse3.83.93.10长度为32位的二进制码字,其形式在整个位流中是唯一的。3.11Cr和Cb两种色差信号中任一种的样值矩阵或单个样值。3.12视频序列sequence3.13按光栅扫描顺序排列的若干连续最大编码单元行。3.14编码图像所形成的二进制数据流。3.15语法元素syntaxelement位流中的数据单元解析后的结果。3GB/T44115.2—2024对以观察者为中心的球面(或部分球面)上的光线进行均匀采样得到的像素集合构成的球面视用平面视频帧表示双目立体球面视频帧的一种方法,该方法左、右眼球面视频帧分别映射为左、右眼经纬图,然后再将双目经纬图按某种顺序拼接成平面视频帧。用平面视频帧表示球面视频帧的一种方法,该方法将经纬图中的某一矩形区域定义为感兴趣区用平面视频帧表示球面视频帧的一种方法,该方法将球面视频帧以等角方式映射到球面的外接正六面体上,然后按照某种方式将正六面体拼接成平面视频帧。用平面视频帧表示球面视频帧的一种方法,该方法将球面视频帧映射到球面的外接二十面体用平面视频帧表示球面视频帧的一种方法,该方法将球面帧分割为南极、北极和赤道三个区域,然后按照将这三个区域映射为三个矩形,最后将三个矩形拼接成平面视频帧。4GB/T44115.2—2024视角范围angleofview5自由视角视频free-viewvideo转视点的高自由度观看体验。一张灰度图,图中的每个位置的值代表三维场景中的一个点距离摄像机光心的距离。分为摄像机的外参和内参,外参包括摄像机拍摄的位置,角度等外在参数信息,内参一般摄像机的光心位置,焦距长度等内在参数信息。4缩略语FOV视场(本文件中使用的数学运算符和优先级参照C语言。但对整型除法和算术移位操作进行了特定定义。除特别说明外,约定编号和计数从0开始。表1算术运算符定义算术运算符定义十加法运算—减法运算(二元运算符)或取反(一元前缀运算符)X乘法运算幂运算,表示a的b次幂。也可表示上标/整除运算,沿向0的取值方向截断。例如,7/4和一7/-4截断至1,-7/4和7/-4截断至一1÷除法运算,不做截断或四舍五入ab除法运算,不做截断或四舍五入6GB/T44115.2—2024表1算术运算符定义(续)算术运算符定义模运算,a除以b的余数,其中a与b都是正整数开平方运算反正切运算反正弦运算arccos反余弦运算取绝对值max取较大值取较小值正切运算逻辑运算符定义见表2。逻辑运算符定义a和b之间的与逻辑运算a和b之间的或逻辑运算!逻辑非运算关系运算符定义见表3。关系运算符定义>大于大于或等于<小于小于或等于等于不等于位运算符定义见表4。7GB/T44115.2—2024表4位运算符定义位运算符定义与运算或运算取反运算将a以2的补码整数表示的形式向右移b位。仅当b取正数时定义此运算将a以2的补码整数表示的形式向左移b位。仅当b取正数时定义此运算赋值运算定义见表5。表5赋值运算定义赋值运算赋值运算符十十递增,x+十相当于x=x+1。当用于数组下标时,在自加运算前先求变量值递减,x—一相当于x=x—1。当用于数组下标时,在自减运算前先求变量值自加指定值,例如x+=3相当于x=x+3,x+=(-3)相当于x=x+(-3)自减指定值,例如x—=3相当于x=x-3,x—=(-3)相当于x=x—(-3)位流语法描述方法类似C语言。位流的语法元素使用粗体字表示,每个语法元素通过名字(用下划线分割的英文字母组,所有字母都是小写)、语法和语义来描述。语法表和正文中语法元素的值用常规字体表示。某些情况下,可在语法表中应用从语法元素导出的其他变量值,这样的变量在语法表或正文中用不带下划线的小写字母和大写字母混合命名。大写字母开头的变量用于解码当前以及相关的语法结构,也可用于解码后续的语法结构。小写字母开头的变量只在它们所在的小节内使用。语法元素值的助记符和变量值的助记符与它们的值之间的关系在正文中说明。在某些情况下,二者等同使用。助记符由一个或多个使用下划线分隔的字母组表示,每个字母组以大写字母开始,也可包括多个大写字母。位串的长度是4的整数倍时,可使用十六进制符号表示。十六进制的前缀是“0x”,例如“0xla”表示条件语句中0表示FALSE,非0表示TRUE。语法表描述了所有符合本文件的位流语法的超集,附加的语法限制在相关条中说明。表6给出了描述语法的伪代码例子。当语法元素出现时,表示从位流中读一个数据单元。8GB/T44115.2—2024表6语法描述的伪代码伪代码描述符/*语句是一个语法元素的描述符,或者说明语法元素的存在、类型和数值,下面给出两个例子。*/*花括号括起来的语句组是复合语句,在功能上视作单个语句。*/{…}/דwhile”语句测试condition是否为TRUE,如果为TRUE,则重复执行循环体,直到condition不为TRUE。*/while(condition)/*“do…while”语句先执行循环体一次,然后测试condition是否为TRUE,如果为TRUE,则重复执行循环体,直到condition不为TRUE。*/while(condition)/*“if…else”语句首先测试condition,如果为TRUE,则执行primarY语句,否则执行alternative语句。如果alternative语句不需要执行,结构的“else”部分和相关的alternative语句可忽略。*//*“for”语句首先执行initial语句,然后测试condition,如果conditon为TRUE,则重复执行primarY语句和subsequent语句直到condition不为TRUE。*/for(initialstatement;condition;subsequ解析过程和解码过程用文字和类似C语言的伪代码描述。GB/T44115.2—2024以下函数用于语法描述。假定解码器中存在一个位流指针,这个指针指向位流中要读取的下一个二进制位的位置。函数由函数名及左右圆括号内的参数构成。函数也可没有参数。read_bits(n)返回位流的随后n个二进制位,MSB在前,同时位流指针前移n个二进制位。如果n等于0,则返回0,位流指针不前移。函数也用于解析过程和解码过程的描述。描述符表示不同语法元素的解析过程,见表7。描述符说明一个任意取值的字节。解析过程由函数read_bits(8)的返回值规定取特定值的连续n个二进制位。解析过程由函数read_bits(n)的返回值规定n位整数。在语法表中,如果n是“v”,其位数由其他语法元素值确定。解析过程由函数read_bits(n)的返回值规定,该返回值用高位在前的2的补码表示连续n个‘0’。解析过程由函数read_bits(n)的返回值规定n位无符号整数。在语法表中,如果n是“v”,其位数由其他语法元素值确定。解析过程由函数read_bits(n)的返回值规定,该返回值用高位在前的二进制表示熵编码语法元素,解析过程见对应平面视频编码标准“保留”定义了一些特定语法元素值用于将来对本文件的扩展。这些值不应出现在符合本文件的位流中。应忽略这些位。“保留位”不应出现从任意字节对齐位置开始的21个以上连续的0。9GB/T44115.2—20246全景视频编码表示与重建全景视频又称为三自由度(3DoF)视频,可以提供用户以三维空间的一个点为中心在x轴、y轴和z轴三个方向进行自由旋转观看体验。本文件定义的3DoF视频源是对以观察者为中心的球面上的光线进行均匀采样得到的像素集合构成的球面视频。为了便于存储和处理,本文件将球面视频通过像素在球面视频帧中的坐标记为(0,φ),其中0是方位角,φ是俯仰角。0和φ单位为弧度,0的取值范围是一π~π,φ的取值范围是一π/2~π/2。如图1所示,在球面上定义某点为(0值。像素在平面视频帧中的坐标记为(x,y),其中x表示该像素在所属的平面视频帧中所处的列的索引,最左侧的列的索引为0,向右依次加1;y表示该像素在所属的平面视频帧中所处的行的索引,最上方的行的索引为0,向下依次加1。图1球面视频和平面视频的坐标关系3DoF视频编解码整体框架如图2所示,在编码端,3DoF视频源被映射为某种3DoF视频表示模型,用符合平面视频编码方法进行压缩,并将和3DoF视频表示模型相关的语法信息嵌入到视频位流中;在解码端,依据由位流中解析的3DoF视频表示模型将解码得到的平面视频重建为球面视频,在终编解码3DoF视频3DoF视频重建3DoT视频源AVS+/3DoT视频源AVC/.本文件首先定义了3DoF视频表示模型在视频位流中的语法和语义。语法作为平面视频位流的一了由3DoF视频表示模型决定的球面视频坐标与平面视频坐标之间的映射关系,以便重建3DoF视频,具体见6.3。最后,本文件还规定了3DoF视频表示模型语法嵌入传统平面视频位流中的方法,具体GB/T44115.2—2024见第8章。3DoF视频内容表示模型语法定义见表8。描述符u(8)u(8)u(1)u(1)u(8)u(7)u(1)u(1)u(8)u(1)u(7)if(3dof_model==1){/*双目立体经纬图*/u(1)GB/T44115.2—2024表83DoF视频表示模型语法(续)全景视频表示模型语法描述符elseif(3dof_model==9){/*正六面体*/u(4)u(1)for(i=0;i<6;i+十){u(3)u(2)elseif(3dof_model==2){/*兴趣区域导向经纬图*/u(14)u(14)u(14)u(14)elseif(3dof_model==6){/*主视点导向圆*/u(8)u(8)u(14)u(1)u(8)u(1)u(7)elseif(3dof_model==11){/*主视点导向正六面体*/GB/T44115.2—2024描述符全景视频表示模型档次3dof_profile_id8位无符号整数。遵照附录A的规定,标识全景视频表示模型档次。全景视频表示模型3dof_model8位无符号整数。标识全景视频表示模型,具体取值见表9。表示模型用于规定平面视频和球面视GB/T44115.2—2024表9全景视频表示模型3dof_model的值全景视频表示模型0经纬图1双目立体经纬图2兴趣区域导向经纬图3近等角正六面体4等积双极方形5等角四棱锥6主视点导向圆7双极方形8正二十面体9正六面体圆柱体主视点导向正六面体其他保留二值变量。值为1,用于避免虚拟现实视频格式扩展位流中出现伪起始码。二值变量。标记虚拟现实视频内容重建后是否需要进行旋转。值为0,表示虚拟现实视频内容在重建后不需做旋转;值为1,表示虚拟现实视频内容在重建后需要做旋转,先沿翻滚轴转、再沿偏摆轴转、最后沿俯仰轴转,沿每个轴旋转的方向和角度分别由后续语法元素roll_rotation_degree、yaw_rotation_degree和pitch_rotation_degree确定,图3给出3个旋转轴的相对位置。ZZYaWYRollX图33DoF视频的3个旋转轴翻滚轴旋转角度roll_rotation_degree16位无符号整数。最高位表示沿翻滚轴旋转的方向:值为0,表示沿着逆时针方向旋转;值位为GB/T44115.2—202416位无符号整数。最高位表示沿偏摆轴旋转的方向:值为0,表示沿着逆时针方向旋转;值位为16位无符号整数。最高位表示沿俯仰轴旋转的方向:值为0,表示沿着逆时针方向旋转;值位为默认视角范围标识default_fov_flag二值变量。标识虚拟现实视频的水平视角范围(hFOV)和垂直视角范围(vFOV)是否取默认值。值为0,表示hFOV和vFOV的取值分别由由后续语法元素horizontal_halffov和vertical_halffov确定;值为1,表示hFOV和vFOV取默认值,按表10规则取值。表10水平视角范围计算水平视角范围计算if(3dof_model==1)//双目立体经纬图elseif(3dof_model==10)//圆柱体else//其他表示模型8位无符号整数。表示水平视角范围的一半,单位为度,取值范围为0~180。虚拟现实视频的水平视角范围hFOV由该语法元素的取值导出:hFOV=2×horizontal_halffov7位无符号整数。表示垂直视角范围的一半,单位为度,取值范围为0~90。虚拟现实视频的垂直视角范围vFOV由该语法元素的取值导出:vFOV=2×vertical_halffov二值变量。表示有效球面区域中心点相对于球面中心(0,0)的方位角偏移方向。值为0,表示沿着GB/T44115.2—2024有效球面区域中心点方位角偏移量centeroffsethlevel8位无符号整数。表示有效球面区域中心点相对于球面中心(0,0)的方位角偏移幅度,单位为有效球面区域中心点俯仰角偏移方向center_offset_v_sign二值变量。表示有效球面区域中心点相对于球面中心(0,0)的俯仰角偏移方向。值为0,表示沿着逆时针方向偏移;值为1,表示沿着顺时针方向偏移。7位无符号整数。表示有效球面区域中心点相对于球面中心(0,0)的方位角偏移幅度,单位为二值变量。值为1时,表示视频序列中每一幅图像采用相同的划分方式将图像划分成一个或多个条带,此时当前条带中的图像块所使用的帧间预测的参考数据不能超出参考图像中与当前条带位置相同的条带的边界。值为0时,该标志位不起作用。二值变量。值为0,表示解码出的视频帧的左半部分对应左球面,右半部分对应右球面;值为1,表正六面体排列类型cubic_type2位无符号整数。标识正六面体六个面的排列类型。具体解释见6.3.10。二值变量。值为1表示正六面体六个面采用默认的排列方式;值为0表示正六面体六个面的排列方式由后续语法元素确定。具体解释见6.3.10。3位无符号整数。标识正六面体中面的索引。面索引与面的对应关系见6.3.10。旋转角度face_rotation2位无符号整数。表示相应面的像素坐标按逆时针方向旋转。具体解释见6.3.10。虚拟经纬图宽度virtual_source_width14位无符号整数。表示虚拟经纬图的宽度。具体用法见6.3.10。14位无符号整数。表示虚拟经纬图的高度。具体用法见6.3.10。感兴趣区域宽度roi_width14位无符号整数。表示感兴趣区域的宽度。具体用法见6.3.10。GB/T44115.2—202414位无符号整数。表示感兴趣区域的高度。具体用法见6.3.10。二值变量。表示主视点中心相对于球面中心(0,0)的方位角方向,值为0表示逆时针方向;值为1表示顺时针方向。具体用法见6.3.7。8位无符号整数。表示主视点中心相对于球面中心(0,0)的方位角的偏移量,单位是度。具体用法见6.3.7。二值变量。表示主视点中心相对于球面中心(0,0)的俯仰角方向,值为0表示逆时针方向;值为1表示顺时针方向。具体用法见6.3.7。7位无符号整数。表示主视点中心相对于球面中心(0,0)的俯仰角偏移量,单位是度。具体用法见8位无符号整数。表示主视点导向正六面体中非主视点平面的下采样比例。具体用法见6.3.13。8位无符号整数。表示主视点边界与主视点中心的夹角,单位是度。具体用法见6.3.7。8位无符号整数。表示副主视点边界与主视点中心的夹角,单位是度。具体用法见6.3.7。13位无符号整数。表示主视点区域映射到二维平面视频上的圆形区域的半径,单位为像素。具体用法见6.3.7。非主视点采样密度下降速度attenuation_factor6位无符号整数。有效值为1~49,表示等角四棱锥侧面采样密度下降速度。具体用法见6.3.6。扩边尺寸padding_size8位无符号整数。表示扩边的像素数,取值为1~255。具体用法见6.3.5。纬度偏移latitude_offset8位无符号整数。表示纬度偏移,取值为32~255。具体用法见6.3.5。GB/T44115.2—20246.3重建方法本文件规定了从编码比特流中解析3DoF视频表示模型的方法,以及解码得到的平面视频帧和球面视频帧之间的映射关系,以便重建3DoF视频。如图1所示,平面视频帧的像素坐标用(x,y)表示,球面视频帧坐标用(θ,φ)表示。遵照附录B的规定,平面视频帧的宽度和高度分别用变量W和H表示,W和H的值由传统视频编码标准中的语法元素或变量确定。球面视频帧的方位角范围和俯仰角范围分别用变量hFOV和vFOV表示,hFOV和vFOV的取值由语法元素default_fov_flag,horizontal_half_fov和vertical_half_fov按表11方式确定:表11hFOV范围计算hFOV范围计算if(3dof_model==1)//双目立体经纬图elseif(3dof_model==10)//圆柱体else//其他表示模型hFOV=horizontal_half_fo当3dof_profile_id等于0x20时,球面视频帧的中心点C只能位于(0,0)点;当3dof_profile_id等于0x40时,允许球面视频帧中心点C在方位角和俯仰角方向上的坐标分别有hCenterOffset和vCenter-Offset的偏移,hCenterOffset和vCenterOffset由相关语法元素按表12方式导出。表12中心点偏移量计算中心点偏移量计算if(center_offset_h_sign==0)hCenterOffset=center_offset_h_levelElsehCenterOffset=—center_offset_h_levelif(center_offset_v_sign==0)vCenterOffset=center_offset_v_levelElsevCenterOffset=—center_offset_v_levelGB/T44115.2—2024当3dofmodel的值为0时,全景视频表示模型为经纬图。vTOV0CE0VC图4球面视频帧经纬图映射示意图(其中点C为球面视频帧的中心点)如图4所示,一般的,球面视频帧中心的坐标为(hCenter(Offset,vCenter(Offset),平面视频帧对应的有效球面的方位角范围为(hCenterOffset-hFOV÷2)~(hCenterOffset+hFOV÷2),俯仰角范围为(vCenterOffset-vFOV÷2)~(vCenter(Offset+vFOV÷2)。hCenter(Offset的取值范围为-180~180,vCenterOffset的取值范围应同时满足以下两个条件:(vCenterOffset—vFOV÷2)>=-90,且(vCenterOffset+vFOV÷2)<=90。平面视频帧的像素坐标(x,y)与球面视频帧对应像素坐标(θ,φ)之间的映射关系如表13所示。表13平面像素映射关系平面像素映射关系θ=2×(hFOV÷360)×π×(x—W÷2+0.5)÷W+(hCenterOffset÷180)×πclseif(θ<一π)φ=(vFOV÷180)×π×(H÷2-y-0.5)÷H+(vCenterOffset÷180)×π当3dofmodel的值为1时,全景视频表示模型为双目立体经纬图。位流表示的平面视频是从具有水平视差的左目球面和右目球面分别对方位角0和俯仰角φ进行均匀采样得到的双目平面视频经过拼接得到的,可以采用左右或上下拼接,拼接方式由语法元素stereo_layout确定。图5给出了180°双目立体经纬图采样采用左右拼接获得平面视频帧的示意图。20左口右口左口右口GB/T44115.2—2024(0,n/2)(0,n/2)0X左目W/2W图5180度双目立体经纬图采样左右拼接示意图一般的,每一目平面视频帧对应的球面中心为(hCenterOffset,vCenterOffset),方位角范围为(hCenterOffset-hFOV÷2)~(hCenterOffset+hFOV÷2),俯仰角范围为(vCenterOffset-vFOV÷2)~(vCenterOffset+vFOV÷2),hCenter(Offset的取值范围为(-180,180),vCenterOffset的取值范围应同时满足以下两个条件:(vCenterOffset-vFOV÷2)>=-90,且(vCenterOffset+vFOV÷平面视频帧中的像素坐标(x,y)与球面视频帧对应像素坐标(θ,φ)的映射关系按表14方式确定。表14双目经纬度映射关系双目经纬度映射关系if(stereo_layout==0)//位流中的平面视频帧是由双目视频按照顺序拼接得到的:if(x<W/2)//该像素属于左目球面θ=(hFOV÷360)×2×π×(x—W÷elseif(θ<一π)else//该像素属于右目球面0=(hFOV÷360)×2×π×(x-W×3÷4+0.5)÷(W/2)+(hCenterOffset÷180)×πelseif(<一π)GB/T44115.2—2024表14双目经纬度映射关系(续)双目经纬度映射关系φ=(vFOV÷180)×π×(H÷2-y-0.5)÷H+(vCenterOfelse//位流中的平面视频帧是由双目视频按照上下顺序拼接得到的if(y<H/2)//该像素属于左目球面φ=(vFOV÷180)×π×(H÷4-y-0.5÷(H/2)+(vCenter(Offset÷180)×πelse//该像素属于右目球面φ=(vFOV÷180)×π×(H×3÷4-y-0.5)÷(H/2)+(vCenterOffset÷1800=(hFOV÷360)×2×π×(x—W÷2+0.5)÷W+(hCenterOffset÷180)×πelseif(θ<一π)当3dof_model的值为2时,全景视频表示模型为兴趣区域导向经纬图。如图6所示,兴趣区域导向经纬图是由虚拟经纬图下采样得到的。虚拟经纬图是由球面视频源按照3.3.2定义的经纬图表示模型映射得到的平面视频帧,虚拟经纬图的宽度和高度分别由语法元素virtual_source_width和virtual_source_height得到。围绕虚拟经纬图中心定义的矩形区域称为感兴趣区域,该区域的宽度和高度分别由语法元素roi_width和roi_height得到。虚拟经纬图中感兴趣区域采样密度不变,对其余的区域进行渐变下采样(离感兴趣区域越远,下采样的密度越低)得到兴趣区域导向经纬图。图6兴趣区域导向经纬图平面视频帧中像素的平面坐标(x,y)与球面坐标(θ,φ)的对应关系如表15所示。GB/T44115.2—2024表15感兴趣区域及映射关系感兴趣区域及映射关系WRor=roi_width//感兴趣区域的宽WRo₁和高Hkoi的值HRo₁=roi_heightR,=(W—WRo₁)÷2//感兴趣区域距离兴趣区域导向经纬图的边界的距离Rh和RvR,=(H—Hroi)÷2wVirtual=virtual_source_widthhVirtual=virtual_source_heightrX=(2×(W—WRoi))÷((wVirtual—WRor))-1rY=(2×(H一Hror))÷((hVirtual—Hron))-1rHVirtual=(wVirtual-WRor)÷2rVVirtual=(hVirtual—Hror)÷20=2×π×(xVirtual—wVirtual÷2+0.5)÷wVirtualφ=π×(hVirtual÷2-yVirtual—0.5)÷hVirtualxVirtual=rHVirtual—rHVirtual÷(1-rX)+sqrt((rHVirtual÷(1-rX))²—(2×rHVirtual)÷(1—rX)×xVirtual=rHVirtual+Wron+rHVirtual÷(1-rX)-sqrt((rHVirtual÷(1-rX))²-(2×rHVirtual)÷(1-rX)×(x—rHVirtual-WRo₁))xVirtual=rHVirtual+x—RyVirtual=rVVirtual—rVVirtual÷(1-rY)+sqrt((rVVirtual÷(1-rY)²-(2×rVVirtual)÷(1-rY)×elseif(y>R、+Hkor)yVirtual=rVVirtual+Hror+rVVirtual÷(1-rY)-sqrt((rVVirtual÷(1-rY))²-(2×rVVirtual)÷(1-rY)×(y-rVVirtual—Hkor))yVirtual=rVVirtual+y-RGB/T44115.2—2024当3dofmodel的值为3时,全景视频表示模型为近等角正六面体。位流表示的平面视频如图7a)所示,是通过将一个完整的球面按近等角关系映射为正六面体,并将正六面体的六个面按3×2的摆放方式排列得到的。六个面与球面的切点的球面坐标分别为(一π÷2,0)、(0,0)、(π÷2,0)、(π,0)、(0,π÷2)和为0面、1面、2面、3面、4面和5面。各面在排列前先分别进行如下旋转:0面不动、1面不动、2面不方构成第一个3×1组,旋转后的4面、3面和5面按顺序放在下方,构成第二个3×1组。然后在两组3×1的长方形的边界周围填充P行/列的像素得到图7b)所示的近等角六面体视频外填充的P行/列像素是由图7c)中相同字母标注的P行/列像素在复制后经过旋转得到的。两组3×1权重经过加权平均得到:A=(Dx×Ay+Dy×Ax)/(Dx+Dy)将每个正方形切面的边长用nCubic表示,nCubic的值由平面视频帧的宽度W确定,计算公式(1)nCubic——正方形切面的边长;P——边界周围填充数目。近等角正六面体中每个面的面索引为face_index,每个面的左上角在平面视频帧中的坐标偏移为(xOffset,yOffset),将某个切面内像素的局部坐标记为(xLocal,yLocal)。像素的局部坐标与在平频帧中全局坐标(x,y)的映射关系如表16所示。24GB/T44115.2—2024a)b)填充域AgD-2.5GB/T44115.2—2024表16像素的局部坐标与在平面视频帧中全局坐标的映射关系Faceface_index[i]左上角坐标局部坐标xOffsetyOffsetxLocalyLocal左面0PPx—xOffsety—yOffset前面1P+nCubicPx—xOffsety-yOffset右面2P+2×nCubicPx—xOffsety-yOffset背面3P+nCubic3×P+nCubicy-yoffsetnCubic—1+xOffset—x顶面4P3×P+nCubicnCubic—1+yOffset—yx—xOffset底面5P+2×nCubic3×P+nCubicnCubic—1+yOffset-yx—xOffset从球面上的采样点到正方形切面上的非线性投影,使用变换函数f(x)对xNormal和yNormal做进一步的变换,如表17所示。表17球面上的采样点到正方形切面上的非线性投影球面上的采样点到正方形切面上的非线性投影xNormal=(2×xLocal+1-nCubic)÷nCubicyNormal=(2×yLocal+1-nCubic)÷nCubicf(x)=—0.385×x²+1.385×xxNormalNew=f(xNormal)xNormalNew=—f(—xNormal)yNormalNew=f(yNormal)yNormalNew=—f(-yNormal)表18球面上的采样点到正方形切面上的非线性投影球面上的采样点到正方形切面上的非线性投影左面(平面0):θ=arctg(xNormalNew)一π÷2φ=arctg(yNormalNew÷sqrt(1+xNormalNew²))前面(平面1):φ=arctg(yNormalNew÷sqrt(1+xNormalNew²))GB/T44115.2—2024表18球面上的采样点到正方形切面上的非线性投影(续)球面上的采样点到正方形切面上的非线性投影右面(平面2):θ=arctg(xNormalNew)十π÷2φ=arctg(yNormalNew÷sqrt(1+xNormalNew²))背面(平面3):φ=arctg(yNormalNew÷sqrt(1+xNormalNew²))if(xNormalNew<0)0=arctg(xNormalNew)十πθ=arctg(xNormalNew)一π顶面(平面4):φ=π÷2-arctg(sqrt(xNormalNew²+yNormalNew²))if(xNormalNew>=0)0=arccos(yNormalNew÷sqrt(xNormalNew²+yNormalNew²))θ=—arccos(yNormalNew÷sqrt(xNormalNew²+yNormalNew²))底面(平面5):φ=aretg(sqrt(xNormalNew²+yNormalNew²))—π÷2if(xNormalNew>=0)θ=arccos(-yNormalNew÷sqrt(xNormalNew²+yNormalNew²))0=-arccos(-yNormalNew÷sqrt(xNormalNew²+yNormalNew²))渲染时用填充的像素和对应平面上的像素进行加权平均来替换平面上原本的像素。如图7b)所示,填充的像素点A对应平面上的像素点B,按图7f)所示得到A和B到最近边界的距离D。A的像素值为xA,B的原始像素值为xB,经过替换后的像素值为xBNew,加权平均的计算公式(2)如下:D——A和B到最近边界的距离;P——边界周围填充数目。当3dofmodel的值为4时,全景视频表示模型为等积双极方形。位流表示的平面视频是将一个完整的球面按照图8所示的方式映射得到的。图8中1~3区域均为矩形,其中2区域对应球面上俯仰角φ范围为(一π÷3)~(π÷3)的区域,3区域对应球面上俯仰角φ范围为(一π÷2)~(一π÷3)的区2b2a343图8等积双极方形映射示意图将图8中某个区域内像素的局部坐标记为(xLocal,yLocal),其在平面视频中的全局坐标记为(x,y)。局部坐标(xLocal,yLocal)和全局坐标(x,y)的对应关系如表19所示。表19等积双极方形投影等积双极方形投影PaddingSize=(padding_size—1)×4LatOff=π÷latitude_offsetwidth13=(H—PaddingSize)÷2width2=W—H÷2—PaddingSize÷2widthP=PaddingSize÷2区域1:xLocal=x—width2-PaddingSizeyLocal=yφ=π÷2—(LatOff+π÷6)×m÷(width13÷2)θ=n÷(4×2×m)×(π×2)一πm=max(abs(width13÷2—xLocal—0.5),abs(width13÷2-yLocal—0.5))m2=(width13-1)÷2—mif(yLocal>=xLocal&.8.(xLocal+yLocal)<width13)n=yLocal+0.5—m2elseif(yLocal>xLocal&.&.(xLocal+yLocal)>=width13)n=2×m+xLocal+0.5—m2elseif(yLocal<=xLocal&.&.xLocal+yLocal>width13)n=2×2×m+width13-yLocal—0.5—m2n=3×2×m+width13—xLocal—0.5—m2GB/T44115.2—2024表19等积双极方形投影(续)等积双极方形投影区域2:xLocal=xyLocal=yφ=π÷3-LatOff—(π×2÷3-LatOff×2)×(yLocal+0.5)÷Hθ=π×2×(xLocal+0.5)÷wi区域3:xLocal=x—width2—PaddingSizeyLocal=y-width13-PaddingSizeφ=(π÷6+LatOff)×m÷(width13÷2)—π÷20=n÷(4×2×m)×(π×2)一πm=max(abs(width13÷2—xLocal—0.5),abs(width13÷2-yLocal—0.5))m2=(width13-1)÷2—mif(yLocal<=xLocal&.8.xLocal+yLocal<width13)n=xLocal+0.5-m2elseif(yLocal<xLocal&.&.xLocal+yLocal>=width13)n=2×m+yLocal+0.5-m2elseif(yLocal>=xLocal&.&.xLocal+yLocal>width13)n=2×2×m+width13—xLocal—0.5—m2n=3×2×m+width13-yLocal—0.5—m2解码后,图8中区域2内的某些像素值用扩充区域内的6个像素值校正,设某个被校正像坐标和像素值分别为(x,y)和F,用于校正该像素值的6个像素的全局坐标和像素值分别为(x1,yl),(x2,y2),(x3,y3),(x4,y4),(x5,y5),(x6,y6)和F1,F2,F3,F4,F5,F6,则F=(1-p)×F+p×(pl×F1+p2×F2+p3×F3+p4×F4+p5×F5+p6×F6)。令函数Lz(k)=Sa(k)×Sa(k÷3),其中:Sa(k)=sin(k×π)÷k÷π,则x1~x6,yl~y6,p,pl~p6的值按表20规则确定。表20p1~p6值计算方式pl~p6值计算方式if(x>=widthP&.&.x<width2÷4&.&.y>=0&.&.y<widthP)//用b区域像素校正:fc=(x+0.5)×4×width13÷width2—0.5d=fe—zxl=width2+PaddingSize—1-yyl=min(max(0,z-2),width13-1)GB/T44115.2—2024表20p1~p6值计算方式(续)pl~p6值计算方式x2=width2+PaddingSiy2=min(max(0,z-1),wix3=width2+PaddingSix4=width2+PaddingSiy4=min(max(0,z+1),wix5=width2+PaddingSizy5=min(max(0,z+2),wix6=width2+PaddingSiy6=min(max(0,z+3),wielseif(x>=width2÷4&.&x<width2÷2&.&.y>=0&.&.y<widthP)//e区域像素校正fc=(x—width2÷4+0.5)×4×width13÷widxl=width2+PaddingSize+min(max(0,z-2),width13—1)x2=width2+PaddingSize+min(max(0,z-1),width13-1)x3=width2+PaddingSize+min(max(0,z),width13—1)x4=width2+PaddingSize+min(max(0,z+1),width13-1)x5=width2+PaddingSize+min(max(0,z+2),width13—1)x6=width2+PaddingSize+min(max(0,z-2),width13-1)GB/T44115.2—2024表20p1~p6值计算方式(续)pl~p6值计算方式pl=Lz(d+2)p2=Lz(d+1)p3=Lzd)p4=Lz(d-1)p5=Lz(d-2)p6=Lz(d—3)elseif(x>=0&.&.x<widthP)//用a区域内的像素校正:xl=0x2=0x3=x+width2x4=0x5=0p=0.5—x÷PaddingSizeelseif(x>=widthP&.&x<width2÷48.8.y>=H-widthP)//用f区域内的像素校正fc=(x+0.5)×4×width13÷width2—0.5x1=width2+PaddingSize+min(max(0,z-2),width13-1)yl=y—width13x2=width2+PaddingSize+min(max(0,z-1),width13-1)y2=y—width13x3=width2+PaddingSize+min(max(0,z),width13-1)y3=y-width13GB/T44115.2—2024表20p1~p6值计算方式(续)pl~p6值计算方式x4=width2+PaddingSize+min(max(0,z+1),width13-1)y4=y—width13x5=width2+PaddingSize+min(max(0,z+2),width13—1)y5=y—width13x6=width2+PaddingSize+min(max(0,z+3),width13—1)y6=y—width13p=0.5—(H-1-y)÷PaddingSizepl=Lz(d+2)p2=Lz(d+1)p3=Lzd)p4=Lz(d-1)p5=Lz(d-2)p6=Lz(d—3)elseif(x>=width2×3÷48.&.x<width2&.&.y>=H—widthP)//用d区域内的像素校正fc=(width2—1-x+0.5)×4×width13÷width2—0.5xl=width2+widthP+(y—H+widthP)yl=width13+PaddingSize+min(max(0,z-2),width13-1)x2=width2+widthP+(y—H+widthP)y2=width13+PaddingSize+min(max(0,z-1),width13-1)x3=width2+widthP+(y—H+widthP)x4=width2+widthP+(y—H+widthP)y4=width13+PaddingSize+min(max(0,z+1),widthl3-1)x5=width2+widthP+(y-H+widthP)y5=width13+PaddingSize+min(max(0,z+2),width13-1)x6=width2+widthP+(y—H+widthP)y6=width13+PaddingSize+min(max(0,z+3),width13-1)p=0.5-(H-1-y)÷PaddingSizepl=Lz(d+2)p2=Lz(d+1)p3=Lzd)p4=Lz(d-1)p5=Lz(d—2)p6=Lz(d—3)GB/T44115.2—2024当3dof_model的值为5时,全景视频表示模型为等角四棱锥,位流表示的平面视频是从一个完整的球面映射为按照如图9所示的等角四棱锥模型映射得到的。首先,将球面视频帧上主视点区域映射到四棱锥的底面(主视点中心映射到四棱锥底面中心D,其对应的经度和纬度分别为lon和lat),其他区域映射到四棱锥的侧面;其次,将四棱锥形变为如图9b)所示的矩形,并对由非主视点映射得到的区域进行自适应滤波;最后对矩形区域四周进行适当扩充得到图9c)所示的平面视频帧。图9a)中O为球心,E为四棱锥顶点,主视点中心为四棱锥底面中心D,主视点区域的俯仰角范围为一β~β,四棱锥底面正对主视点方向。等角四棱锥投影先将球面投影到四棱锥上,然后通过等角的方法将四棱锥底面投影点越远采样密度越低,并将平面Ⅱ、Ⅲ、IV、V拼成正方形。最后对图9b)所示的平面的外围填充P行的像素得到图9c)所示的等角四棱锥摆放方式。具体而言,对于亮度分量,P的值为8,对于色度分量,P的值为4。以下描述均使用P来表示填充宽度。此外,图9f)中向外填充的P行(列)及4个角落的P×P个像素是由平面中相同数字标注的P行(列)或P×P个像素在复制后经过旋转得到的。四棱锥底面投影为平面I时,其具体的方法如图9d)所示,图中点A是四棱锥底面上的任意一点。过A作四棱锥底面两条中线的垂线,垂线与两条中线分别交于点B和点C,投影时根据角BOD和角COD的大小等间距的将四棱锥底面投影到平面I上。任意一点。过A作四棱锥侧面高的垂线,垂线与高交于点B,过A作直线DE的垂线,垂线交DE于点C。投影时,在角BOD的方向上,角BOD越大采样密度越低;而在角ACB的方向上,根据角ACB的大小等间距的进行投影。表21展示了具体计算过程。表21主视点中心经纬度计算主视点中心经纬度计算if(main_viewpoint_center_longitudlon=main_viewpoint_center_longitude_level÷18lon=—main_viewpoint_center_longitude_level÷180if(main_viewpoint_center_latitudlat=main_viewpoint_center_latitude_level÷1lat=—main_viewpoint_center_latitude_level÷18填充的像素点A对应平面上的像素点B,按图9g)所示得到A和B到最近边界的距离D。A的像素值为xA,B的原始像素值为xB,经过替换后的B像素值为xBNew,加权平均的计算公式(3)如下:xBNew=[(P+D)×xB+(P—D)×xA+P]/(2×P)……(3)式中:xBNew——替换后的像素值;D——A和B到最近边界的距离;P——边界周围填充数目。EZ3234848565g929图9等角四棱锥投影的示意图表22等角四棱锥投影等角四棱锥投影F=attenuation_factor÷100W_nopadding=W-2×PH_nopadding=H—2×PGB/T44115.2—2024表22等角四棱锥投影(续)等角四棱锥投影if(x<W_nopadding÷2)则该点位于区域Ithetal=—(2×y÷(H_nopadding)-1)×βtheta2=(4×x÷(W_nopadding)-1)×βSphereX=tan(theta2)SphereY=tan(thetal)SphereZ=1x_normal=4×x÷(W_nopadding)-3y_normal=2×y÷(H_nopadding)-1if(y_normal>x_normal&.&.y_normal<=—x_normal)//点位于区域Ⅱthetal=β+(π—β)×tan((1+x_normal)×π×F)÷tan(π×F)theta2=π÷4×y_normal÷x_normalif(thetal<π÷2)SphereX=tan(thetal)SphereY=tan(thetal)×tan(theta2)SphereZ=1elseif(thetal==π÷2)SphereX=1SphereY=tan(theta2)SphereZ=0SphereX=—tan(thetal)SphereY=—tan(thetal)×tan(theta2)SphereZ=—1elseif(y_normal<=x_normal8.8.y_normal<一x_normal)//点位于区域Ⅲthetal=β+(π—β)×tan((1+y_normal)×π×F)÷tan(π×F)theta2=π÷4×x_normal÷y_normalif(thetal<π÷2)SphereX=tan(thetal)×tan(theta2)SphereY=tan(thetal)SphereZ=1elseif(thetal==π÷2)SphereX=—tan(theta2)SphereY=-1SphereZ=0GB/T44115.2—2024表22等角四棱锥投影(续)等角四棱锥投影SphereX=—tan(thetal)×tan(theta2)SphereY=—tan(thetal)elseif(y_normal>=x_normal&.&.y_normal>-x_normal)//点位于区域Vthetal=β+(π—β)×tan((1—x_normal)×π×F)÷tan(π×F)theta2=π÷4×y_normal÷x_normalSphereX=—tan(thetal)×tan(theta2)SphereY=—tan(thetal)SphereX=—tan(theta2)SphereX=tan(thetal)×tan(theta2)SphereY=tan(thetal)R=sqrt(sphereX1×sphereX1+sphereY1×sphereY1+sphereZ1×sphereZ1)//计算球面坐标(φ,0)0=arctan(sphereX2÷sphereZ2)十πθ=arctan(sphereX2÷sphereZ2)一π当3dofmodel的值为6时,全景视频表示模型为主视点导向圆。位流表示的平面视频是从一个完GB/T44115.2—2024整的球面映射为主视点导向圆得到的。如图10所示,左图中球面上主视点中心为C,根据与主视点中心到球心连线的夹角,将球面分成三个区域:分别记为区域I,区域Ⅱ和区域Ⅲ。区域I对应夹角0度Z₂到180°的区域,称为非主视点区域。区域I对应平面视频帧上以视频帧中心为圆心,半径为p₁的圆;区域Ⅱ对应以视频帧中心为圆心,内半径为pi,外半径为平面视频帧宽度一半的圆环;区域Ⅲ对应以平面视频帧四个角为圆心的4个四分之一圆,四分之一圆与区域Ⅱ对应的圆环的外圈相切。Z1和Z2的值分别由语法元素main_viewpoint_halfrange和submain_viewpoint_halfrange来获得,p₁的值由语法元素main_viewpoint_radus获得。根据平面视频帧中像素的平面坐标(x,y),计算对图10主视点导向圆映射示意图表23等角四棱锥投影等角四棱锥投影Z1=main_viewpoint_half_range÷180×πZ2=submain_viewpoint_half_range÷180×πpl=main_viewpoint_radusif(main_viewpoint_center_longitude_sign==0)lon=main_viewpoint_center_longitude_level÷180×πlon=-main_viewpoint_center_longitude_level÷180×πif(main_viewpoint_center_latitude_sign==0)lat=main_viewpoint_center_latitude_level÷180×πlat=—main_viewpoint_center_latitude_level÷180×π//计算将(x,y)归一化到[-1,1],并计算其到视频帧中心的距离:xNormal=(2×x+1—W)÷WGB/T44115.2—2024表23等角四棱锥投影(续)等角四棱锥投影p=sqrt(xNormal²+yNorma//计算平面上归一化后的主视点的半径:Z=2×arcsin(p÷p2)×sin(Z101=arctan(xNormal÷yNormal)十π01=arctan(xNormal÷yNormal)一π—sqrt(2)≤yNormal—xNormal≤-sqrt(2))//此处的10÷W是为了padding几行像素Vall=(cos(Z1÷2))³Z=2×arccos((Val2+(1-p²)÷(1-p2²)×(Vall-Val2))¹÷3)θ1=arctan(xNormal÷yNormal)十π01=arctan(xNormal÷yNormal)一πpl=min(sqrt((xNormal+1)²+(yNormal+1)²),sqrt((xNormal-1)²+(yNormal+1)²),sqrt((xNormal+1)²+(yNormal-1)²),sqrt((xNormal-1)²+(yNif(pl<=sqrt(2)-1+10÷W)//此处的10÷W是为了padding几行像素Z=2×arccos(((pl)²÷(sqrt(2)-1)²×(cos(Z2÷2))³)¹÷3)01=—arctan((xNormal+1)÷(yNormal+1))一π÷2GB/T44115.2—2024表23等角四棱锥投影(续)等角四棱锥投影01=-arctan((xNormal—1)÷(yNormal+1))十π÷2elseif(xNormal<08.8.yNormal>0)01=-arctan((xNormal+1)÷(yNormal-1))十π÷2Else01=-arctan((xNormal-1)÷(yNormal-1))一π÷2计算直角坐标:sphereX=sin(01)×cos(φ1)sphereY=sin(φ1)sphereZ=cos(θ1)×cos(φ1)乘上旋转矩阵[sphereX1,sphereY1,sphereZ1]=[sphereX,sphereY,sphereZ]×T归一化:sphereX2=sphereX1÷RsphereY2=sphereY1÷RsphereZ2=sphereZ1÷R计算球面坐标(φ,θ)if(sphereZ2>=0)elseif(sphereZ2<0&.&.sphereX2>0)θ=arctan(sphereX2÷sphereZ2)十πelseif(sphereZ2<0&.8.sphereX2<0)θ=arctan(sphereX2÷sphereZ2)一π当3dofmodel的值为7时,全景视频表示模型为双极方形。位流表示的平面视频是将一个完整的视频帧映射后得到的平面区域,区域0~5均为正方形,其中区域0~3对应球面上俯仰角φ为[一π÷4,π÷4]的区域,区域4对应球面上俯仰角φ为(π÷4,π÷2)的区域,区域5对应球面上俯仰角φ为接,最后区域2和4之间填充P列像素,对于亮度分量,P用图11b)中区域3左侧的P÷2列像素填充到图7c)中填充区域左侧的P÷2列像素,使用图11b)中区域1上侧的P÷2行像素顺时针旋转90°后填充到图11c)中填充区域右侧的P÷2列像素中(后面仍使用P来表示填充宽度)得到图11c)中的平面。GB/T44115.2—2024a)图11双极方形映射示意图某个面内像素的局部坐标记为(xLocal,yLocal),其在图11c)平面视频中的全局坐标记为(x,y)。像素的局部坐标(xLocal,yLocal)和全局坐标(x,y)的对应关系如表24所示。表24双极方形投影双极方形投影if(x<W÷6)//(x,y)处于第0个面xLocal=xelseif(W÷6<=x<W÷6×2)//(x,y)处于第1个面xLocal=x—W÷6elseif(W÷6×2<=x<W÷6×3)//(x,y)处于第2个面xLocal=x—W÷6×2elseif(W÷6×3+P<=x<W÷6×4+P)//(x,y)处于第4个面xLocal=W÷6—1-yyLocal=x—W÷6×3—Pelseif(W÷6×4+P<=x<W÷6×5+P)//(x,y)处于第3个面xLocal=yyLocal=W÷6×4+W÷6-1-x+Pelseif(W÷6×5+P<=x)//(x,y)处于第5个面xLocal=x—W÷6×5-P第0个面:0=π÷2×(xLocal+0.5)÷(W÷6)一πGB/T44115.2—2024表24双极方形投影(续)双极方形投影φ=π÷4—π÷2×(yLocal+0.5)÷Hθ=π÷2×(xLocal+0.5)÷(W÷6)一π÷2第2个面:φ=π÷4—π÷2×(yLocal+0.5)÷H0=π÷2×(xLocal+0.5)÷(W÷6)第3个面:φ=π÷4—π÷2×(yLocal+0.5)÷Hθ=π÷2×(xLocal+0.5)÷(W÷6)十π÷2第4个面:m=max(abs(W÷6÷2—xLocal—0.5),abs(H÷2-yLocal—0.5))m2=(H-1)÷2—mif(yLocal>=xLocal&.&xLocal+yLocal<H)n=yLocal+0.5—m2elseif(yLocal>xLocal&.8.xLocal+yLocal>=H)n=2×m+xLocal+0.5—m2elseif(yLocal<=xLocal&.&.xLocal+yLocal>H)n=2×2×m+H-yLocal—0.5—m2elseif(yLocal<xLocal&.&.xLocal+yLocal<=H)n=3×2×m+H—xLocal—0.5—m2φ=π÷2—π÷4×m÷(H÷2)θ=n÷(4×2×m)×(π×2)一π第5个面:m=max(abs(W÷6÷2—xLocal—0.5),abs(H÷2-yLocal—0.5))m2=(H—1)÷2—mif(yLocal<=xLocal&.&.xLocal+yLocal<H)n=xLocal+0.5—m2elseif(yLocal<xLocal&.&.xLocal+yLocal>=H)n=2×m+yLocal+0.5—m2elseif(yLocal>=xLocal&.&.xLocal+yLocal>H)n=2×2×m+H—xLocal—0.5—m2elseif(yLocal>xLocal&.&.xLocal+yLocal<=H)n=3×2×m+H—yLocal—0.5—m2φ=π÷4×m÷(H÷2)—π÷2GB/T44115.2—2024当3dofmodel的值为8时,全景视频表示模型为正二十面体。位流表示的视频是将一个完整的球面映射为正二十面体并将该正二十面体的20个面展开后重新排列得到的平面视频。正二十面体共有12个顶点和20个正三角形面,表11定义了每个顶点的空间坐标,表25定义了构成每个面的3个顶表25正二十面体的顶点的定义顶点坐标VOV1(0.525731112,0.850650807,1.618033988)V2(一0.525731112,—0.850650807,—1.618033988)V3V4(1.701301617,0.850650807,0)V5(1.376381921,一0.850650807,-1)V6(—1.376381921,0.850650807,1)V7(一1.701301617,一0.850650807,0)V8(0.525731112,0.850650807,-1.618033988)V9(—1.376381921,0.850650807,—1)V10(1.376381921,—0.850650807,1)V11(一0.525731112,—0.850650807,1.618033988)图12二十面体空间示意图正二十面体的面的定义见表26。正二十面体的面的空间坐标系示意图如图13所示,对于每个正三角形面,将从空间坐标系原点指向该正三角面的顶点A、B、C的三个矢量分别记为Va(va[0],va[1],va[2],)、V₆(vb[0],vb[1],v₆[2],)、V.(v.[0],v.[1],v.[2]),将包含该正三角形面的矩形的左上角的点为记为R(r[0],r[1],r[2]),则R的坐标以及定义该正三角形面的两个正交的基矢量B₀=(b[0],b₀[1],b₀[2])、B₁=(b₁[0],b₁[1],b₁[2]),则B₀,B₁的坐标由表27得到:GB/T44115.2—2024图13正二十面体的面的空间坐标系示意图表26正二十面体的面的定义面面的顶点0123456789GB/T44115.2—2024表27正二十面体坐标正二十面体坐标r[1]=va[1]+(v.[1]-v.[1])÷2b₀[1]=(v.[1]-v₀[1])÷Sqrt((v.b₀[2]=(ve[2]-vb[2])÷Sqrt((v.[图14正二十面体的各个面的局部平面坐标系示意图如图14所示,为每个正三角形面建立一个局部平面坐标系,将R作为该坐标系的原点,并将矢量B。和B₁的方向作为坐标系的x轴和y轴方向。对于正三角形面上的采样点,记其在该局部平面坐标系下的坐标为(m,n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论