用于视频编码和解码的方法、装置和计算机程序产品与流程

文档序号:16632770发布日期:2019-01-16 06:43阅读:272来源:国知局
用于视频编码和解码的方法、装置和计算机程序产品与流程

本方案通常涉及视频编码和解码。



背景技术:

自摄影学和电影摄影学开始以来,最常见类型的图像和视频内容一直通过具有相对狭窄的视场的相机来捕获,并在平面显示器上被显示为矩形场景。最近,新的图像和视频捕获设备可用,这些设备能够捕获它们周围的所有视频和音频内容。这种内容被称为360度图像/视频或全向图像/视频。

此外,已发明并产生新类型的输出技术,诸如头戴式显示器。这些设备允许某人看到他/她周围的视觉内容。在视场为球形的情况下,新的捕获和显示范例通常被称为虚拟现实(vr),并且被认为将是人们未来体验媒体内容的常用方式。



技术实现要素:

现在,已发明一种改进方法以及实现该方法的技术设备,用于减少媒体内容的流传输带宽。本发明的各种方面包括一种方法、装置和包括在其中存储的计算机程序的计算机可读介质,其特征在于在独立权利要求中所陈述的内容。本发明的各种实施例在从属权利要求中公开。

根据第一方面,提供一种方法,其包括:将指示一个或多个不相等性类型的一组指示符编码到媒体内容的比特流中,或者将所述一组指示符沿着媒体内容的比特流进行编码,其中,不相等性类型定义用于第一视图或区域中的视频流和用于第二视图或区域中的视频流的不同的编码参数。

根据第二方面,提供一种装置,其包括:至少一个处理器,包括计算机程序代码的存储器,所述存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使所述装置:将指示一个或多个不相等性类型的一组指示符编码到媒体内容的比特流中,或者将所述一组指示符沿着媒体内容的比特流进行编码,其中,不相等性类型定义用于第一视图或区域中的视频流和用于第二视图或区域中的视频流的不同的编码参数。

根据第三方面,提供一种计算机程序产品,具体化在非暂时性计算机可读介质上,所述计算机程序产品包括计算机程序代码,所述计算机程序代码被配置为当在至少一个处理器上被执行时使所述装置或系统:将指示一个或多个不相等性类型的一组指示符编码到媒体内容的比特流中,或者将所述一组指示符沿着媒体内容的比特流进行编码,其中,不相等性类型定义用于第一视图或区域中的视频流和用于第二视图或区域中的视频流的不同的编码参数。

根据实施例,由前述装置和/或计算机程序产品执行的方法进一步包括:将与第一视图或区域相关联的第一质量等级值和与第二视图或区域相关联的第二质量等级值包括到媒体内容的比特流中,或者沿着媒体内容的比特流包括与第一视图或区域相关联的第一质量等级值和与第二视图或区域相关联的第二质量等级值,其中,第一质量等级值和第二质量等级值的次序指示第一视图或区域与第二视图或区域之间的感知质量的次序。

根据实施例,由前述装置和/或计算机程序产品执行的方法还包括:将指示一个或多个不相等性类型的第二组指示符包括到媒体内容的比特流中,或者沿着媒体内容的比特流包括所述第二组指示符;第二组指示符指示在具有相同质量等级值的区域中的不相等性类型。

根据实施例,由前述装置和/或计算机程序产品执行的方法还包括:将指示哪一个视频流具有更高质量的参数编码到媒体内容的比特流中,或者将所述参数沿着媒体内容的比特流进行编码。

根据实施例,媒体内容包括一个或多个360度图片。

根据实施例,所述一组指示符被编码到不相等性指示符掩码的相应的比特位置中。

附图说明

在下文中,将参考附图更详细地描述本发明的各种实施例,其中:

图1示出根据实施例的装置(以简化框图的形式);

图2示出根据实施例的装置的布局;

图3示出根据实施例的显示设备;

图4示出根据实施例的编码器;

图5示出根据实施例的解码器;

图6示出端到端dash系统的示例;

图7示出360度图像/视频内容的准备的示例;

图8示出形成单像等矩形全景图片的过程的示例;

图9示出打包的虚拟现实(vr)帧的示例;

图10是根据实施例的方法的流程图。

具体实施方式

本方案涉及用一个或多个相机而捕获的全向视频,其中,所述视频通过网络进行流传输并且在例如头戴式显示器(hmd)的观看设备上进行渲染。本发明的实施例促进媒体内容的流传输带宽的减少。

在以更详细的方式描述本方案之前,参考图1和图2公开了根据实施例的装置。

图1示出了根据示例性实施例的视频编码系统的框图,作为可包括编解码器的电子设备50的示意性框图。在一些实施例中,电子设备可以包括编码器或解码器。图2示出了根据实施例的装置的布局。电子设备50例如可以是无线通信系统的移动终端或用户装备,或者相机设备。电子设备50也可以包括在本地或远程服务器或计算机的图形处理单元处。该设备也可被包括作为头戴式显示设备的一部分。

装置50可以包括用于容纳并保护该设备的壳体30。装置50还可以包括采用液晶显示器的形式的显示器32。在本发明的其它实施例中,该显示器可以是适合于显示图像30或视频的任何适合的显示技术。装置50可以进一步包括小键盘34。在本发明的其它实施例中,可以采用任何适合的数据或用户接口机制。例如,用户接口可以被实现为虚拟键盘或数据输入系统以作为触敏显示器的一部分。

该装置可以包括麦克风36或者可以是数字或模拟信号输入的任何适合的音频输入。装置50可以进一步包括音频输出设备,其在本发明的实施例中可以是耳机38、扬声器、或模拟音频或数字音频输出连接中的任何一个。装置50还可以包括电池(在本发明的其它实施例中,该装置可以通过诸如太阳能电池、燃料电池或发条发电机的任何适合的移动能源设备来供电)。该装置可以进一步包括能够记录或捕获图像和/或视频的相机42。相机42是具有至少两个相机传感器的多镜头相机系统。该相机能够记录或检测各个帧,各个帧然后被传递到编解码器54或控制器进行处理。该装置可以在传输和/或存储之前从另一个设备接收视频和/或图像数据以进行处理。该装置能够从由相机捕获的图像数据中生成360度立体视频。

装置50还可以包括用于到其它设备的短距离视线通信的红外端口。根据实施例,该装置可以进一步包括任何适合的短程通信方案,例如,蓝牙无线连接或usb(通用串行总线)/火线有线连接。

装置50可以包括用于控制装置50的控制器56或处理器。装置或控制器56可以包括一个或多个处理器或处理器电路并且被连接到存储器58,存储器58可以存储图像、视频和/或音频数据形式的数据,和/或还可以存储用于在控制器56上执行或由处理器或处理器电路执行的指令。控制器56可以进一步被连接到编解码器电路54,编解码器电路54适合于执行图像、视频和/或音频数据的编码和解码或者协助由控制器执行的编码和解码。

装置50可以进一步包括读卡器48和智能卡46,例如uicc(通用集成电路卡)和uicc读卡器,用于提供用户信息并且适合于提供用于在网络上对用户进行认证和授权的认证信息。

装置50可以包括无线接口电路52,无线接口电路52被连接到控制器并且适合于生成无线通信信号,例如用于与蜂窝通信网络、无线通信系统或无线局域网进行通信。装置50可以进一步包括连接到无线接口电路52的天线44,其用于向其它装置发送在无线接口电路52处生成的射频信号以及用于从其它装置接收射频信号。该装置可以包括一个或多个有线接口,其被配置为通过例如电缆或光纤连接的有线连接来发送和/或接收数据。这样的有线接口可被配置为根据一个或多个数字显示接口标准来工作,所述标准例如是高清多媒体接口(hdmi)、移动高清链接(mhl)或数字视觉接口(dvi)。

参考图3公开了根据另一个实施例的装置。图3示出了根据示例性实施例的视频解码系统的框图,作为电子设备的示意性框图。图3的视频解码系统是用于立体显示的头戴式显示器。该头戴式显示器包括用于显示左眼和右眼图像的两个屏幕部分或两个屏幕disp1和disp2。所述显示器靠近眼睛,因此镜头被用来使图像易于观看,并用于展开图像以尽可能多地覆盖眼睛的视场。该设备被附着到用户的头部,使得即使在用户转动其头部时它也能保持在原位。该设备可以具有用于确定头部运动和头部的方向的定向检测电路ordet1。定向检测电路的输出还可以用于估计用户的注视方向,或者,该设备可以包括用于此目的的注视检测电路。头戴式显示器向用户提供所记录/流传输的内容的三维(3d)感知。

代替头戴式显示器,增强现实/混合现实(ar/mr)眼镜也可以用作视频解码系统。

视频编解码器包括编码器和解码器,编码器将输入视频转换成适合于存储/传输的压缩表示,解码器可以将压缩视频表示解压缩回可视形式。该编码器可以丢弃原始视频序列中的一些信息,以便以更紧凑的形式(即,以更低的比特率)来表示视频。图像编解码器或图片编解码器与视频编解码器类似,但它独立于其它输入图片来对每个输入图片进行编码,并且独立于其它编码图片来对每个编码图片进行解码。需要理解的是,每当在下文提及视频编解码器、视频编码或编码器、或者视频解码器或解码时,该文本类似地分别适用于图像编解码器、图像编码或编码器、或者图像解码器或解码。

作为编码器的输入而提供的图片也可被称为源图片,而由解码器解码的图片可被称为解码图片。源图片和解码图片每个均包括一个或多个样本阵列,诸如以下多组样本阵列中的一个:

-仅亮度(y)(单色)。

-亮度和两个色度(ycbcr或ycgco)。

-绿色、蓝色和红色(gbr,也称为rgb)。

-表示其它未指定的单色或三刺激颜色采样(例如,yzx,也称为xyz)的阵列。

术语“像素”可以是指颜色分量的样本阵列的一组空间组合(collocating)样本。有时,取决于上下文,术语“像素”可以仅指一个样本阵列的样本。

在下文中,这些阵列可被称为亮度(或l或y)和色度,其中,两个色度阵列可被称为cb和cr;无论使用的实际颜色表示方法是什么。使用的实际颜色表示方法例如可以在编码视频比特流中指示。分量可被定义为来自三个样本阵列(亮度和两个色度)之一的阵列或单个样本,或者构成单色格式的图片的阵列或该阵列的单个样本。

在一些编码系统中,图片可以是帧或段(field),而在一些编码系统中,图片可被限制为帧。帧包括亮度样本矩阵,并且可包括对应的色度样本。段是帧的一组交替的样本行,并且可以在源信号交织时被用作编码器的输入。

色度样本阵列可以不存在(因此可能在使用单色采样),或者与亮度样本阵列相比,色度样本阵列可以进行子采样。色度格式可被总结如下:

-在单色采样中,只有一个样本阵列,其可以名义上被认为是亮度阵列。

-在4:2:0采样中,两个色度阵列中的每一个都具有亮度阵列的一半高度和一半宽度。

-在4:2:2采样中,两个色度阵列中的每一个都具有亮度阵列的相同高度和一半宽度。

-在4:4:4采样中,在没有使用单独的颜色平面时,两个色度阵列中的每一个都具有与亮度阵列相同的高度和宽度。

图片的空间分辨率可被定义为在水平和垂直方向上表示图片的像素或样本的数量。可替代地,取决于上下文,当第一图片和第二图片的采样网格相同时,第一图片的空间分辨率可被定义为与第二图片的空间分辨率相同,即,在第一图片和第二图片两者中都使用相同的采样间隔。例如,当第一图片和第二图片覆盖图片的不同部分时,可以应用后一定义。例如,当第一区域包括第一数量的像素或样本时,图片的区域可被定义为具有第一分辨率。当该区域包括第二数量的像素时,同一区域可被定义为具有第二分辨率。因此,分辨率可被定义为相对于由像素或者由每度的像素覆盖的范围的像素数量。

在一些编码布置中,亮度和色度样本阵列以交织的方式进行编码,例如,交织块方式。在一些编码布置中,可以将样本阵列作为单独的颜色平面编码到比特流中并且分别从比特流中对被单独编码的颜色平面进行解码。当使用单独的颜色平面时,它们中的每一个都作为具有单色采样的图片被(编码器和/或解码器)单独地处理。

视频编码器可以在两个阶段中对视频信息进行编码。

-首先,预测某个图片区域(或“块”)中的像素值。该预测可以例如通过运动补偿装置(发现并指示先前编码的视频帧中与正被编码的块紧密对应的一个视频帧中的区域)来执行,其可被称为帧间预测或图片间预测。可替代地或附加地,可以例如通过空间装置(使用将以特定方式进行编码的块周围的像素值)来执行该预测,这可被称为帧内预测或空间预测。在一些编码布置中,可以不存在预测或者可以预先定义预测信号(例如,“零”值块)。

-其次,对预测误差即预测像素块与原始像素块之间的差异进行编码。这例如可以通过使用特定变换(例如,离散余弦变换(dct)或其变形)对像素值中的差异进行变换,对系数进行量化以及对量化系数进行熵编码来实现。量化过程的保真度可以通过量化步长来控制,这在许多编解码器中通过所谓的量化参数(qp)来控制。通过改变量化过程的保真度,编码器可以控制像素表示的准确度(图片质量)与所得到的编码视频表示的大小(文件大小或传输比特率)之间的平衡。在另一个示例中,例如使用差分脉冲编码调制和诸如霍夫曼(huffman)编码或算术编码的熵编码对像素值进行编码而不对它们进行变换。

图4中示出了编码过程的示例。图4示出了待编码图像(in);预测的图像块表示(p'n);预测误差信号(dn);重建的预测误差信号(d'n);初步重建图像(i'n);最终重建图像(r'n);变换(t)和逆变换(t-1);量化(q)和逆量化(q-1);熵编码(e);参考帧存储器(rfm);帧间预测(pinter);帧内预测(pintra);模式选择(ms);以及滤波(f)。

图5中示出了解码过程的示例。图5示出了预测的图像块表示(p'n);重建的预测误差信号(d'n);初步重建图像(i'n);最终重建图像(r'n);逆变换(t-1);逆量化(q-1);熵解码(e-1);参考帧存储器(rfm);预测(帧间或帧内)(p);以及滤波(f)。

可伸缩视频编码可以指编码结构,其中,一个比特流可以包含例如在不同的比特率、不同的分辨率或不同的帧速率的多个内容表示。在这些情况下,接收机可以根据其特性(例如,与显示设备最佳匹配的分辨率)来提取所需的表示。可替代地,服务器或网络元件可以根据例如接收机的网络特性或处理能力来提取将要传输到该接收机的比特流的部分。通过只对可伸缩比特流的某些部分进行解码,可以产生有意义的解码表示。可伸缩比特流通常由“基础层”和一个或多个增强层组成,所述基础层提供可用的最低质量视频,所述增强层在与更低层一起被接收和解码时增强视频质量。为了提高增强层的编码效率,该层的编码表示通常取决于更低层。例如,可以从更低层来预测增强层的运动和模式信息。类似地,可以使用更低层的像素数据来创建针对增强层的预测。

在一些可伸缩视频编码方案中,视频信号可被编码到基础层和一个或多个增强层中。增强层例如可以增强时间分辨率(即,帧速率)、空间分辨率、或者只增强由另一层或其一部分表示的视频内容的质量。每一层连同其所有的依赖层是视频信号的一个表示,例如,以某空间分辨率、某时间分辨率和某质量级别的表示。在本文档中,我们将可伸缩层连同其所有的依赖层称为“可伸缩层表示”。与可伸缩层表示对应的可伸缩比特流的部分可被提取和解码,以产生在某保真度的原始信号的表示。

术语“层”可以在任何类型的可伸缩性的上下文中使用,包括视图可伸缩性和深度增强。增强层可以指任何类型的增强,诸如snr、空间、多视图、深度、位深度、色度格式、和/或色域增强。基础层可以指任何类型的基础视频序列,诸如基础视图、用于snr/空间可伸缩性的基础层、或用于深度增强视频编码的纹理基础视图。

目前正在研究和开发用于提供三维(3d)视频内容的各种技术。可以考虑在立体或双视图视频中,为左眼呈现一个视频序列或视图,而同时为右眼呈现并行的视图。

“视图”可被定义为表示一个相机或视点的图片序列。表示视图的图片也可以称作视图分量。换言之,视图分量可被定义为单个存取单元中的视图的编码表示。在多视图视频编码中,多于一个的视图在比特流中进行编码。由于视图通常旨在被显示在立体或多视图自动立体显示器上或者被用于其它3d布置,因此它们通常表示相同的场景,并且它们在内容方面部分重叠,尽管表示对内容的不同视点。因此,可以在多视图视频编码中使用视图间预测以利用视图间相关性并提高压缩效率。实现视图间预测的一种方式是将一个或多个其它视图的一个或多个解码图片包括在驻留在第一视图内的正被编码或解码的图片的参考图片列表中。视图可伸缩性可以指这种多视图视频编码或多视图视频比特流,其使得能够移除或省略一个或多个编码视图,而所得到的比特流保持一致性并且表示具有比原始更少的视图数量的视频。

高级视频编码标准(其可缩写为avc或h.264/avc)由国际电信联盟电信标准化部门(itu-t)的视频编码专家组(vceg)的联合视频组(jvt)和国际标准化组织(iso)/国际电工委员会(iec)的运动图像专家组(mpeg)开发。h.264/avc标准由这两个母标准化组织公布,并且它被称为itu-t推荐h.264和iso/iec国际标准14496-10,也被称为mpeg-4part10高级视频编码(avc)。h.264/avc标准具有多个版本,每个版本都将新的扩展或特征集成到规范中。这些扩展包括可伸缩视频编码(svc)和多视图视频编码(mvc)。

高效视频编码标准(其可缩写为hevc或h.265/hevc)由vceg和mpeg的联合工作组-视频编码(jct-vc)开发。该标准由这两个母标准化组织发布,并且它被称为itu-t推荐h.265和iso/iec国际标准23008-2,也被称为mpeg-hpart2高效视频编码(hevc)。对h.265/hevc的扩展包括可伸缩性、多视图、三维以及保真度范围扩展,其可分别被称为shvc、mv-hevc、3d-hevc和rext。为了理解这些标准规范的定义、结构或概念而在本说明书中对h.265/hevc、shvc、mv-hevc、3d-hevc和rext的引用将被理解为在本申请的日期之前对这些可用标准的最新版本的引用,除非另行说明。

在本节中将h.264/avc和hevc及其一些扩展的一些关键定义、比特流和编码结构以及概念描述为视频编码器、解码器、编码方法、解码方法以及比特流结构的示例,其中这些实施例可被实现。h.264/avc的一些关键定义、比特流和编码结构以及概念与hevc标准中的相同——因此,它们在下面被联合地描述。本发明的各方面不限于h.264/avc或hevc或其扩展,而是针对在其上可以部分或全部实现本发明的一个可能的基础而进行描述。

分别用于h.264/avc或hevc编码器的输出和h.264/avc或hevc解码器的输入的基本单元是网络抽象层(nal)单元。为了通过面向分组的网络进行传输或者存储到结构化文件中,可以将nal单元封装到分组或类似的结构中。

nal单元可被定义为包含要遵循的数据类型的指示以及包含此数据的字节的语法结构,所述数据的形式为按需穿插有防止竞争字节的原始字节序列载荷rbsp。rbsp可被定义为包含封装在nal单元中的整数个字节的语法结构。rbsp要么为空,要么具有数据位串的形式,所述数据位包含语法元素,语法元素其后跟随rbsp停止位,停止位其后跟随零个或多个等于“0”的后续位。

nal单元可被归类为视频编码层(vcl)nal单元和非vclnal单元。vclnal单元包括编码样本数据。非vclnal单元例如可以是以下类型中的一个:序列参数组、图片参数组、补充增强信息(sei)nal单元、存取单元分隔符、序列nal单元的结束、比特流nal单元的结束、或填充器数据nal单元。可能需要参数组来重建解码图片,而许多其它非vclnal单元对于解码样本值的重建不是必需的。

在编码视频序列中保持不变的参数可被包括在序列参数组中。除了解码过程可能需要的参数之外,序列参数组可以可选地包含视频可用性信息(vui),其包括可能对于缓冲、图片输出定时、渲染和资源预留很重要的参数。在hevc中,序列参数组rbsp包括可通过一个或多个图片参数组rbsp或包含缓冲时段sei消息的一个或多个seinal单元进行引用的参数。图片参数组这样的参数:其可能在若干编码图片中不变。图片参数组rbsp可以包括可通过一个或多个编码图片的vclnal单元进行引用的参数。

seinal单元可以包含一个或多个sei消息,其对于输出图片的解码不是必需的,但可以辅助相关的过程,诸如图片输出定时、渲染、错误检测、错误隐藏以及资源预留。在h.264/avc和hevc中规定了若干sei消息,并且用户数据sei消息使组织和公司能够规定sei消息以供它们自己使用。h.264/avc和hevc包含用于特定sei消息的语法和语义,但没有定义用于在接收方中处理消息的过程。因此,要求编码器在创建sei消息时遵循h.264/avc标准或hevc标准,而符合h.264/avc标准或hevc标准的解码器则针对输出顺序一致性不需要处理sei消息。在h.264/avc和hevc中包括sei消息的语法和语义的原因之一是允许不同的系统规范相同地解释补充信息并因此进行互操作。其目的是系统规范可要求在编码端和解码端两者中都使用特定的sei消息,此外还可以规定用于在接收方中处理特定sei消息的过程。

在hevc中存在两种类型的seinal单元,即彼此具有不同的“nal_unit_type”值的后缀seinal单元和前缀seinal单元。包含在后缀seinal单元中的sei消息与解码顺序中在后缀seinal单元之前的vclnal单元相关联。包含在前缀seinal单元中的sei消息与解码顺序中在前缀seinal单元之后的vclnal单元相关联。

可用的媒体文件格式标准包括iso基本媒体文件格式(iso/iec14496-12,其可缩写为isobmff)、mpeg-4文件格式(iso/iec14496-14,也称为mp4格式)、用于nal单元结构化视频的文件格式(iso/iec14496-15)以及3gpp文件格式(3gppts26.244,也称为3gp格式)。isobmff是用于推导所有上述文件格式(不包括isobmff本身)的基础。

下面将isobmff的一些概念、结构和规范描述为容器文件格式的示例,在其基础上可以实现实施例。本发明的各方面不限于isobmff,而是针对在其上可以部分或全部实现本发明的一个可能的基础而进行描述。

iso基本媒体文件格式中的基础构建块被称为框(box)。每个框都具有报头和有效载荷。框报头以字节的形式指示框的类型和框的大小。框可以包含其它框,并且iso文件格式规定在某种类型的框内允许哪些框类型。此外,一些框在每个文件中的存在可能是强制性的,而其它框的存在可能是可选的。此外,对于某些框类型,可以允许在文件中存在有多于一个的框。因此,iso基本媒体文件格式可被认为规定了框的层次结构。

根据文件格式的iso族,文件包括被封装到框中的媒体数据和元数据。每个框由四字符代码(4cc)标识,并且以通知关于框的类型和大小的报头开始。

在符合iso基本媒体文件格式的文件中,可以在媒体数据'mdat'框中提供媒体数据,并且可以使用电影'moov'框来包含元数据。在某些情况下,为了使文件可操作,可能要求存在'mdat'框和'moov'框这两者。电影'moov'框可以包括一个或多个轨道,并且每个轨道可以驻留在一个对应的轨道'trak'框中。轨道可以是多种类型之一,包括是指根据媒体压缩格式(及其对iso基本媒体文件格式的封装)而格式化的样本的媒体轨道。轨道可被视为逻辑通道。对于视频轨道,媒体样本可以对应于编码图片或存取单元。

'trak'框在它的框的层次结构中包括“sampledescriptionbox”,其提供关于所使用的编码类型的详细信息以及该编码所需的任何初始化信息。“sampledescriptionbox”包含条目计数以及与条目计数指示一样多的样本条目。样本条目的格式是轨道类型特定的,但从泛型类派生(例如,“visualsampleentry”,“audiosampleentry”)。由轨道的媒体处理器来确定哪种类型的样本条目形式被用于派生轨道类型特定的样本条目格式。

例如可以在将内容记录到iso文件时使用电影片段(segment),例如以避免在记录应用崩溃、内存空间不足或发生某些其它事件时丢失数据。如果没有电影片段,则可能会发生数据丢失,因为文件格式可能要求所有元数据(例如,电影框)都被写入文件的一个连续区域。此外,当记录文件时,可能没有足够的存储器(例如,随机存取存储器ram)空间量以针对可用存储的大小来缓冲电影框,并且当关闭电影时重新计算电影框的内容可能太慢了。此外,电影片段可以使得能够使用常规的iso文件解析器来同时记录和播放文件。此外,当使用电影片段时,对于例如同时接收和播放文件的渐进式下载来说可能需要更小的初始缓冲持续时间,并且与具有相同媒体内容但结构上没有电影片段的文件相比,初始的电影框更小。

电影片段特征可以使得能够将可能以其它方式驻留在电影框中的元数据拆分为多个部分(piece)。每个部分可以对应于轨道的某一时段。换言之,电影片段特征可以使得能够交织文件元数据和媒体数据。因此,可以限制电影框的大小并且实现以上提及的使用实例。

在一些示例中,电影片段的媒体样本可以驻留在“mdat”框中。然而,对于电影片段的元数据,可以提供“moof”框。“moof”框可以包括先前已经在“moov”框中的某个播放时间的时长的信息。“moov”框本身仍然可以表示有效的电影,但此外,它可以包括指示电影片段将在相同文件中跟随的的“mvex”框。电影片段可以扩展在时间上与“moov”框相关联的呈现。

在电影片段内可以有一组轨道片段,其包括每个轨道从“零”到多个的任何地方。轨道片段则可包括从“零”到多个轨道运行的任何地方,每个轨道运行文件是该轨道的连续运行样本(因此与块相类似)。在这些结构内,许多字段是可选的,并且可以默认。可包括在“moof”框中的元数据可限于可包括在“moov”框中的元数据的子集,并且在某些情况下可进行不同地编码。关于可包括在“moof”框中的框的详细信息可从isobmff规范中找到。自包含电影片段可被定义为由按照文件顺序是连续的“moof”框和“mdat”框组成,其中“mdat”框包含电影片段(“moof”框为其提供元数据)的样本,并且不包含任何其它电影片段(即,任何其它“moof”框)的样本。

媒体片段可以包括一个或多个自包含电影片段。媒体片段可被用于例如mpeg-dash中诸如流传输的传送。

iso基本媒体文件格式包含三种用于可与特定样本相关联的定时元数据的机制:样本群组、定时元数据轨道和样本辅助信息。派生规范可提供与这三种机制中的一个或多个相类似的功能。

采用iso基本媒体文件格式及其派生格式(诸如avc文件格式和svc文件格式)的样本分组可基于分组标准而被定义为将轨道中的每个样本指定成一个样本群组的成员。按照样本分组的样本群组不限于连续样本,而可包含非相邻的样本。由于对轨道中的样本可以有多个样本分组,因此每个样本分组都可具有指示分组类型的类型字段。样本分组可由两个所链接的数据结构表示:(1)“sampletogroupbox”(sbgp框)表示指定样本到样本群组;(2)“samplegroupdescriptionbox”(sgpd框)包含描述群组属性的每个样本群组的样本群组条目。基于不同的分组标准,可以有多个“sampletogroupbox”和“samplegroupdescriptionbox”的实例。这些实例可通过用于指示分组类型的类型字段来进行区分。“sampletogroupbox”可以包括例如可用于指示分组的子类型的“grouping_type_parameter”字段。

超文本传输协议(http)已被广泛用于通过因特网,诸如在视频流传输应用中传送实时多媒体内容。针对基于http的自适应流传输(诸如平滑流传输、自适应http实时流传输和动态流传输等)的若干商业方案已经被启动,并且已经开展了标准化项目。自适应http流传输(ahs)在第三代合作伙伴计划(3gpp)分组交换流传输(pss)服务(3gppts26.234发布9:“透明端到端分组交换流传输服务(pss);协议和编解码器”)中首先被标准化。mpeg将3gppahs发布9作为mpegdash标准(iso/iec23009-1:“基于http的动态自适应流传输(dash)-第1部分:媒体呈现描述和片段格式”,国际标准,第2版,2014年)的起点。mpegdash和3gpp-dash在技术上彼此接近,因此可以将其统称为dash。

多媒体内容可被存储在http服务器上并且可使用http传送。内容可以两部分存储在服务器上:媒体呈现描述(mpd),其描述可用内容、其各种替代、它们的url地址以及其它特征的清单;以及片段,其在单个或多个文件中以块的形式的包含实际多媒体比特流。mpd为客户端提供建立http上的动态自适应流传输的必要信息。mpd包含描述诸如每个片段的http统一资源定位符(url)的媒体呈现的信息以做出get片段请求。为了播放内容,dash客户端例如可通过使用http、电子邮件、拇指驱动器、广播或其它传输方法来获取mpd。通过解析mpd,dash客户端可了解节目定时、媒体内容可用性、媒体类型、分辨率、最小和最大带宽、以及多媒体要素的各种编码替代的存在、可访问性特征和所需的数字权限管理(drm)、网络上的媒体要素位置、以及其它内容特征。使用该信息,dash客户端可选择适当的编码替代,并通过例如使用httpget请求取回片段来开始流传输内容。在适当缓冲以容许网络吞吐量变化后,客户端可继续取回后续片段,并且还监控网络带宽波动。客户端可通过取回不同替代(具有较低或较高比特率)的片段以维持足够的缓冲来决定如何适应可用带宽。

在dash的上下文中可以使用以下定义:媒体内容要素或媒体要素可被定义为媒体内容的一个连续要素,其具有可被单独编码到媒体流中的指定媒体要素类型。媒体内容可被定义为一个媒体内容时段或媒体内容时段的连续序列。媒体内容要素类型可被定义为诸如音频、视频或文本的单个类型的媒体内容。媒体流可被定义为媒体内容要素的编码版本。

在dash中,层次数据模型被用于构建如下的媒体呈现。媒体呈现由一个或多个时段的序列组成;每个时段包含一个或多个群组;每个群组包含一个或多个自适应组;每个自适应组包含一个或多个表示(representation);每个表示由一个或多个片段组成。群组可被定义为没有预期会同时呈现的自适应组的集合。自适应组可被定义为一组一个或几个媒体内容要素的可互换编码版本。表示是媒体内容或其子集的替代选择之一,其通常因编码选择而不同,例如,因比特率、分辨率、语言、编解码器等而不同。片段包含某时长的媒体数据,以及以解码和呈现所包括的媒体内容的元数据。片段由uri标识,并且通常可以通过httpget请求来请求。片段可被定义为与http-url相关联的并且可选地与由mpd规定的字节范围相关联的数据单元。

dashmpd符合可扩展标记语言(xml),并且因此通过在xml中定义的元素和属性来规定。可以使用以下约定来规定mpd:在xml文档中的元素可以通过大写的第一个字母来标识,并且可以以粗体显示为元素。为了表示元素“element1”被包含在另一个元素“element2”中,可以写成“element2.element1”。如果元素的名称由两个或更多的组合词组成,则可以使用驼峰式格式(camel-casing),例如“importantelement”。元素可以只出现一次,或者可以通过<minoccurs>...<maxoccurs>来定义最小和最大存在(occurrence)。xml文档中的属性可以通过小写的第一个字母来标识,并且它们前面可以有'@'符号,例如,“@attribute”。为了指向元素“element”中包含的特定属性“@attribute”,可以写成“element@attribute”。如果属性的名称由两个或更多的组合词组成,则可以在第一个词之后使用驼峰式格式,例如,“@veryimportantattribute”。属性可能已经在xml中指定如强制(m)、可选(o)的状态,可选具有默认值(od)和有条件强制(cm)。

在dash中,所有的描述符元素都以相同的方式构造,即,它们包含提供标识方案的uri的“@schemeiduri”属性以及可选属性“@value”和可选属性“@id”。元素的语义特定于所使用的方案。标识该方案的uri可以是urn或url。在mpeg-dash(iso/iec23009-1)中规定了一些描述符,同时也可以附加地或可替代地在其它规范中规定描述符。当在除了mpeg-dash之外的规范中规定时,mpd不提供关于如何使用描述符元素的任何特定信息。这取决于使用dash格式以用适当的方案信息来实例化描述元素的应用或规范。当使用方案标识符时,使用这些元素之一的应用或规范以uri的形式定义方案标识符和元素的值空间。方案标识符出现在“@schemeiduri”属性中。在需要一组简单的枚举值的情况下,可以为每个值定义文本字符串,并且该字符串可以包含在“@value”属性中。如果需要结构化数据,则可以在单独的名称空间中定义任何扩展元素或属性。“@id”值可被用于引用唯一的描述符或描述符的群组。在后一种情况下,对于属性“@id”,具有相同值的描述符可能被要求是同义的,即,对于“@id”,处理具有相同值的描述符之一就足够了。如果元素名称、“@schemeiduri”的值和“@value”属性的值相等,则类型“descriptortype”的两个元素等同。如果“@schemeiduri”是urn,则等同可以是指在rfc2141的条款5中定义的词法等同。如果“@schemeiduri”是url,则等同可以是指在rfc3986的条款6.2.1中定义的以字符对字符为基础的相等。如果“@value”属性不存在,则可以仅通过针对“@schemeiduri”的等同来确定等同。扩展名称空间中的属性和元素可能不会用于确定等同。对于等同确定,可以忽略“@id”属性。

mpeg-dash规定了描述符“essentialproperty”和“supplementalproperty”。对于元素“essentialproperty”,媒体呈现作者表示描述符的成功处理对于正确使用包含此描述符的母元素中的信息是必要的,除非该元素与另一个“essentialproperty”元素共享相同的“@id”。如果“essentialproperty”元素共享相同的“@id”,则处理具有相同的“@id”值的“essentialproperty”元素之一就足够了。预计将要处理具有每个不同的“@id”值的至少一个“essentialproperty”元素。如果未识别“essentialproperty”描述符的方案或值,则dash客户端预计会忽略包含该描述符的母元素。在mpd中可以存在具有相同“@id”值和具有不同“@id”值的多个“essentialproperty”元素。

对于元素“supplementalproperty”,媒体呈现作者表示该描述符包含可供dash客户端用于优化处理的补充信息。如果未识别“supplementalproperty”描述符的方案或值,则dash客户端预计会忽略该描述符。在mpd中可以存在多个“supplementalproperty”元素。

mpeg-dash为isobmff和mpeg-2传输流两者定义了片段容器格式。其它规范可基于其它容器格式来规定片段格式。例如,已经提出了基于“matroska”容器文件格式的片段格式,并且可以总结如下。当“matroska”文件作为dash片段等而被传送时,dash单元和“matroska”单元的关联可被规定如下。(dash的)子片段可被定义为“matroska”封装的内容的一个或多个连续集群。可能要求dash的初始化片段包括ebml报头、(“matroska”的)片段报头、(“matroska”的)片段信息和轨道,并且可以可选地包括其它层1元素和填充。dash的片段索引可以包括“matroska”的线索元素。

dash通过动态地从自适应组内的不同表示请求媒体片段来支持速率自适应以匹配变化的网络带宽。当dash客户端向上/向下切换表示时,必须考虑表示内的编码依赖。表示切换可能发生在随机访问点(rap)处,rap通常用于诸如h.264/avc的视频编码技术中。在dash中,引入了命名为流访问点(sap)的更普遍的概念,以提供用于访问表示以及表示之间的切换的独立于编解码器的方案。在dash中,将sap规定为表示中的位置,其使得能够只使用包含在从该位置开始向前的表示数据(前面有初始化片段中的初始化数据,如果有的话)中的信息来开始媒体流的播放。因此,可以在sap中执行表示切换。

在图6中示出了端到端dash系统的简化图示。端到端dash系统可以包括如下。媒体内容由原始服务器610提供,原始服务器通常是传统网络(http)服务器。原始服务器610可以与内容传送网络(cdn)620相连接,流传输的内容通过内容传送网络被传送并且被存储在边缘服务器625中。mpd允许用于内容的多个基本url的信令,其可被用于宣告内容在不同的边缘服务器625中的内容的可用性。可替代地,内容服务器610可以直接连接到因特网605。网络代理可以驻留在在dash客户端601与原始610或边缘服务器625(从其中请求内容)之间路由http业务的路径上。web代理可以缓存http消息,因此可以针对客户端601的请求来提供缓存的内容。它们通常由网络服务提供商使用,因为它们减少了从代理到原始610或边缘服务器625所需的网络带宽。对于终端用户601,http缓存提供了更短的延迟。可以通过诸如移动蜂窝网络的接入网络将dash客户端601连接到因特网605。

在dash中,已经基于宽度和高度(“@width”和“@height”);帧速率(“@framerate”);比特率(“@bandwidth”);表示之间的指示质量排序(“@qualityranking”)执行了在相同的自适应组中的表示之间的自动选择。“@qualityranking”的语义被规定如下:规定了相对于相同的自适应组中的其它表示的表示的质量等级。更低的值表示更高质量的内容。如果不存在,则不定义任何等级。

在本申请中,术语“360度视频”或“虚拟现实(vr)视频”或“全向视频”可以互换使用。这些术语通常是指提供这种大视场的视频内容:在典型的显示布置中在单个时间点只显示视频的一部分。例如,可以在头戴式显示器(hmd)(如图3中所示)上观看vr视频,该头戴式显示器能够显示例如大约100度的视场。可以基于hmd的方向来选择将要显示的vr视频内容的空间子集。在表示观看环境的另一个示例的常规平板观看环境中,例如,可以显示高达40度的视场。当在这样的平板显示器上显示宽视场内容(例如,鱼眼)时,可以显示图片的空间子集而不是整个图片。在这种示例中,可以基于用于观看的设备的方向来选择vr视频内容的显示空间子集,或者设备可以例如通过向用户提供基本的用户接口(ui)控件来使能内容平移。

头戴式显示器可使用的视频接口是串行接口hmdi,其中,视频信息在三个tmds(最小化传输差分信号)通道(rgb,ycbcr)中作为视频数据时段被传输。在另一个视频接口supermhl中,有更多(6至8)个tmds通道,其可以以更灵活的方式用于传输视频和其它数据,主要区别在于mhl通过一个tmds通道依次传输像素的rgb(或ycbcr)信息。

传输通道或通信通道或通道可以是指诸如例如导线的物理传输介质,或者通过多路介质的逻辑连接。通道的示例包括视频接口电缆和实时传输协议(rtp)流中的通道。

实时传输协议(rtp)被广泛用于实时传输诸如音频和视频的定时媒体。rtp可以在用户数据报协议(udp)的上方运行,而用户数据报协议又可以在因特网协议(ip)的上方运行。rtp在可从www.ietf.org/rfc/rfc3550.txt中获得的因特网工程任务组(ietf)请求注解(rfc)3550中规定。在rtp传输中,媒体数据被封装到rtp分组中。通常,每个媒体类型或媒体编码格式具有专用的rtp有效载荷格式。

rtp会话是用rtp进行通信的参与者群组间的关联。它是可潜在地承载大量rtp流的群组通信通道。rtp流是包括媒体数据的rtp分组的流。rtp流通过属于特定rtp会话的ssrc来标识。ssrc是指rtp分组报头中的32位ssrc字段的同步源或同步源标识符。同步源的特征在于来自同步源的所有分组构成相同的定时和序列号空间的一部分,因此接收机可以通过同步源对分组(packet)进行分组(group)以用于播放。同步源的示例包括从诸如麦克风或相机的信号源或rtp混合器中获得的分组流的发送者。每个rtp流通过rtp会话内唯一的ssrc来标识。

360度图像或视频内容例如可被获取并准备如下。图像或视频可以由一组相机或者具有多个镜头和传感器的相机设备捕获。获取得到一组数字图像/视频信号。相机/镜头可以覆盖相机组或相机设备的中心点周围的所有方向。相同时间实例的图像被拼接、投影并映射到打包vr帧上。图7示出了这种过程的示例。首先,从相机设备获得输入图像700。这些输入图像被拼接并投影710到三维投影结构(诸如球体或立方体)上。可以认为该投影结构包括一个或多个表面,诸如其中的平面或部分。可以将投影结构定义为由一个或多个表面组成的三维结构,所捕获的vr图像/视频内容被投影到所述一个或多个表面上,并且可以从其中形成相应的投影帧。投影结构上的图像数据被进一步布置到二维投影帧720(也称为投影图片)上。术语“投影”(也称为全向投影)可被定义为将一组输入图像投影到投影帧上的过程。可存在一组预先定义的投影帧的表示格式,例如包括等矩形投影(erp,也称为等矩形全景)和立方体图(cmp)表示格式。

可以可选地应用区域方式映射730(也称为区域方式打包),以将投影帧映射到一个或多个打包vr帧740(也称为打包图片或打包帧)上。在一些情况下,区域方式映射被理解为等同于从投影帧中提取两个或更多个区域,可选地对所述区域应用几何变换(诸如旋转、镜像和/或重采样),以及将变换区域放置在打包vr帧内的空间非重叠区域(也称为组成帧分区)中。如果未应用区域方式映射,则打包vr帧与投影帧相同。否则,通过指示打包vr帧中的每个区域的位置、形状和大小而将投影帧的区域映射到打包vr帧上。术语“映射”可被定义为投影帧被映射到打包vr帧的过程。术语“打包vr帧”可被定义为从投影帧的映射而得到的帧。实际上,输入图像可以在一个过程中被转换成打包vr帧而无需中间步骤。然后提供打包vr帧以用于图像/视频编码750。

360度全景内容(即,图像和视频)水平覆盖相机设备的捕获位置周围的全360度视场。垂直视场可以变化,例如可以是180度。水平覆盖360度视场和垂直覆盖180度视场的全景图像可以通过已使用等矩形投影被映射到二维图像平面的球形来表示。在这种情况下,水平坐标可被认为等同于经度,而垂直坐标可被认为等同于纬度,而不应用变换或缩放。在图8中示出了形成单像等矩形全景图片的过程。诸如相机阵列的或来自具有多个镜头和传感器的相机设备的鱼眼图像的一组输入图像800被交叉混合或拼接810到球形图像上(等距投影)。球形图像进一步被投影到圆柱体上820(没有顶面和底面)。该圆柱体被展开以形成二维投影帧830。实际上,一个或多个所示出的步骤可被合并;例如,输入图像可直接被投影到圆柱体上,而无需中间投影到球形上。等矩形全景的投影结构可被认为是包括单个表面的圆柱体。类似地,可以从用于左眼和右眼的一组输入图像中形成立体等矩形全景图片。在立体等矩形全景中,该全景的上部分可以是左眼图像,而该全景的下部分可以是右眼图像。

等矩形投影可被定义为将投影图片(等矩形投影格式的)内的任何样本位置转换成坐标系统的角坐标的过程。投影图片内的样本位置可以相对于分别是样本中的等矩形全景图片的宽度和高度的“picturewidth”和“pictureheight”来定义。然后,使沿着水平和垂直轴的样本位置的中心点分别被表示为i和j。样本位置的角坐标(φ,θ)(以度为单位)由以下等矩形映射等式给出:

φ=(i÷picturewidth-0.5)*360

θ=(0.5–j÷pictureheight)*180

通常,360度内容可被映射到不同类型的实体几何结构上,诸如多面体(即,包括平面多边形面、直边和尖角或顶点的三维实体对象,例如,立方体或金字塔)、圆柱体(通过将球形图像投影到圆柱体上,如以上通过等矩形投影所述的)、圆柱体(直接地而无需首先投影到球形上)、圆锥体等,然后被展开到二维图像平面。

在一些情况下,具有360度水平视场但具有小于180度垂直视场的全景内容可被认为是等矩形投影的特例,其中,球形的极区域未被映射到二维图像平面上。在某些情况下,全景图像可具有小于360度的水平视场和高达180度的垂直视场,同时以其它方式具有等矩形投影格式的特性。

球形区域可被定义为球形上的区域,其可以通过规定球形区域的装置来进一步约束,其可以包括但不限于由四个大圆或由两个偏航圆和两个节圆来指定区域。大圆可被定义为球形和穿过球形的中心点的平面的交点。大圆也被称为大圆圈(orthodrome)或黎曼(riemannian)圆。球形的中心和大圆的中心位于同一位置。节圆可被定义为球形上连接具有相同节距(pitch)值的所有点的圆。偏航圆可被定义为球形上连接具有相同偏航值的所有点的圆。球形区域可以进一步要求该区域内的点(诸如该区域的中心点)使其与另一个球形区域不同,该另一个球形区域将以其它方式用相同的参数(例如,相同的大圆)来定义。

质量等级区域可被定义为与质量等级值相关联并且相对于解码图片或球形而规定的区域。2d区域可被定义为解码图片上的区域,其中,该区域可以进一步被约束为矩形。质量等级2d区域可被定义为相对于解码图片而规定的质量等级区域。质量等级球形区域可被定义为相对于球形而规定的质量等级区域。

在360度系统中,可以通过直角坐标轴x(横向)、y(垂直,指向上)和z(后向前轴,指向外)来定义坐标系,其可用于定义偏航角(φ)、节面角(θ)和滚转角。偏航可被定义为绕y轴旋转,节面绕x轴旋转,而滚转绕z轴旋转。旋转可被定义为非本征的,即,绕固定参考轴x、y和z。当从原点看向轴的正端时,角度可被定义为顺时针增加。

全局坐标轴可被定义为例如根据如上所讨论的坐标系统的坐标轴,其与表示相同捕获位置并旨在一起被渲染的音频、视频和图像相关联。全局坐标轴的原点通常与用于全向音频/视频捕获的设备或装置的中心点以及观看者头部在音频和视频轨道所在的三维空间中的位置相同。在没有初始视点元数据的情况下,可以建议使用相对于全局坐标轴的方向(偏航,节面,滚转)中的(0,0,0)开始播放。

人眼不能观看整个360度空间,而是限于最大水平和垂直视场(fov,人眼水平fov(hhfov);人眼垂直fov(hvfov))。此外,hmd设备具有技术限制,其仅允许在水平和垂直方向(设备水平fov(dhfov);设备垂直fov(dvfov))上观看整个360度空间的一部分。

在任何时间点,由hmd上的应用渲染的视频对360度视频的一部分进行渲染。此部分如果在此应用中被定义则为“视口(viewport)”。视口是在经由渲染显示器显示的全向视频中呈现的360度世界上的窗口。视口的特征在于水平和垂直fov(视口水平fov(vhfov);视口垂直fov(vvfov))。在下文中,vhfov和vvfov将简单缩写为hfov和vfov。

视口尺寸可以对应于hmdfov,或者可以具有更小或更大的尺寸,这取决于应用。为了清楚起见,由用户在任何给定时间点观看的360度空间的部分被称为“主视口”。

一种减少vr视频的流传输比特率的方法是视口自适应流传输(也称为依赖于视口的传送)。在这种流传输中,覆盖主视口(即,当前视图方向)的360度视频内容的一部分以最佳的质量/分辨率来传输,而360度视频的其余部分则以更低的质量/分辨率来传输。针对视口自适应流传输通常有两种方法:

1)视口特定的编码和流传输,也称为依赖于视口的编码和流传输,也称为不对称投影,也称为打包vr视频。在这种方法中,360度图像内容被打包到相同的帧中,其中重点(例如,更大的空间区域)在主视口上。打包vr帧被编码成单个比特流。例如,立方体图的正面与其它立方体面相比可以用更高的分辨率进行采样,并且立方体面可被映射到相同的打包vr帧,如图9中所示。

2)vr视口视频,也称为基于瓦片的编码和流传输。在这种方法中,360度内容被编码并且在使得能够选择性地流传输来自不同编码的视口的方式中可用。例如,每个立方体面可以单独编码。可以为每个立方体面提供多于一个的编码比特流,例如,每个具有不同的空间分辨率。播放者可以基于当前的观看方向来选择比特流进行解码和播放。可以为用于对当前观看方向进行渲染的立方体面选择高分辨率比特流,而可以从它们的低分辨率比特流中获得其余的立方体面。

在另一个示例中,等矩形全景内容使用运动约束瓦片组来进行编码。可以提供多于一个的编码比特流,例如,具有不同的空间分辨率和/或图片质量。使得每个运动约束瓦片组在其自己的比特流中可用。播放者可以基于当前的观看方向来选择比特流进行解码和播放。可以为覆盖当前主视口的瓦片组选择高分辨率或高质量比特流,而可以从低分辨率或低质量比特流中获得360度内容的其余区域。

结合上述方法1)和2)是可能的。

可以假设360度空间被划分成一组离散的视口,每个视口以给定距离分隔(例如,采用度的形式表示),使得全方位空间可被想象为重叠视口的图,并且主视口随着用户在用hmd观看内容时改变他/她的方向而被离散地切换。当视口之间的重叠减少到“零”时,可以将视口想象为360度空间内的相邻非重叠瓦片。h.265视频编解码器被配置为实施可用来实现这种场景(重叠或不重叠两者)的瓦片的概念。

在vr领域中,当经由hmd将相同信号渲染给两只眼睛时,视频信号被定义为单像的。当视频信号可通过两只眼睛的双眼视觉创建立体视觉效果(即深度感知)时,视频信号被定义为立体的。这是通过眼睛之间的双眼视差而实现的,即,眼睛之间的给定距离允许深度感知。立体信号由两个数据流组成:一个由左眼观看,另一个由右眼观看。如上所述,这些流之间的差异由双眼视差给出。

人类视觉系统(hvs)显示出有趣的特性,基于这些特性,以不同的质量(达到一定限度)渲染给左眼和右眼的立体视频信号被感知为好像它们都处于最高的左质量和右质量。在这个意义上,hvs针对低质量图像来应用掩蔽滤波器。

尽管已经知道了hvs的某些特性几十年,但hvs对在hmd上进行视频渲染时使用多种类型的不相等性的立体视频的反应尚未完全查明,并且仍然是一个开放的研究领域。

初步研究调查表明,视图之间的不相等的质量可以在数字360度视频流系统中被用于减少这种系统的所需带宽的目的,同时确保减少这种系统的所需带宽,同时确保所感知的视频质量不会下降(由于感知质量接近高质量视图的质量)。

360度立体视频的传送由若干参数来表征,这些参数将在下面详细讨论。这些参数扮演着重要的角色,并且可被用于不相等的立体360度视频流传输传送,其目的是减少流传输带宽需求。

最近,mpeg(运动图像专家组)一直在致力于定义可以使用立体视频的全向媒体格式(omaf)的第一标准。目前,该标准中没有指示运输不相等的360度视频的机制,或者其规范还不充分。本发明的实施例旨在填补这一空白并定义一组参数,需要这组参数以允许在mpegomaf或类似系统中流传输不相等的360度视频。

尽管视频比特流的特性可以通过各种方式,诸如视频可用性信息(vui)和/或补充增强信息(sei))在比特流内信令,但是这种信令不能被用于指示360度视频的不同球形区域的不同特性。

在大多数现今的诸如mpeg-dash的流传输系统中,流传输客户端基于在流传输清单或表示描述中指示的内容性质来选择诸如mpeg-dash的表示的内容部分。类似地,如果多媒体文件包含媒体内容的多个替代比特流,则视频播放器基于多媒体文件中指示的性质来选择最适合的比特流以供其使用。

据称在360度视频播放中,内容选择可以基于各种各样的因素。可能的因素之一是依赖于视口的内容选择,其中,可以选择为当前可见视口提供更高质量的内容,而不可见区域的特性可能受到限制,例如,以具有更小的处理复杂性。另一个可能的因素是依赖于显示和/或基于用户偏好而对左视图和右视图特性之间的不相等性的限制。

在hevc中,区域嵌套sei消息提供了将sei消息与图片的区域相关联的机制。关联的sei消息在区域嵌套sei消息内传送。区域嵌套sei消息包含一个或多个sei消息。当sei消息被包含在区域嵌套sei消息中时,所包含的sei消息被称为区域嵌套sei消息。对于区域嵌套sei消息中的每个区域嵌套sei消息,在区域嵌套sei消息中指定了一个或多个区域,并且区域嵌套sei消息的语义将被解释为应用到这些区域中的每一个。

因此,该机制允许为图片的不同区域指定不同的特性。

360度视频中的不相等性可以通过各种各样的方法来实现,如下所列出的。所有方法都旨在保持视觉质量恒定,并且具有减少对立体360度视频的传输(例如,流传输)的带宽和/或存储的要求的益处。

在snr(信噪比)不相等性的情况下,一个视图以高snr质量(例如,使用更低的qp)被传输和渲染,而另一个视图以较低snr质量(即,使用更高的qp)被传输和渲染。

在空间不相等性的情况下,一个视图以更高的空间分辨率被传输和渲染,而另一个视图以更低的空间分辨率被传输和渲染。

在时间不相等性的情况下,一个视图以更高的时间分辨率(即,以更高的帧率)被传输和渲染,而另一个视图以更低的时间分辨率(即,以更低的帧率)被传输和渲染。

在fov不相等性的情况下,一个视图以更大的水平和/或垂直fov被传输和渲染,而另一个视图以更窄的水平和/或垂直fov被传输和渲染。

在位深度不相等性的情况下,在一只眼睛上以更高的位深度编码的视频流被传输和渲染,而在另一只眼睛上以更低的位深度编码的视频流被传输和渲染。更一般地,用于表示样本值的值范围在视图之间可能不同。例如,一个视图的样本值可被缩放到范围0至767(含)内,而另一个视图的样本值可以在范围0至1023(含)内,而这两个视图都使用10比特位的位深度,并且这两个值范围的极值可以对应于相同的颜色。

在色度格式不相等性的情况下,视图具有不同的色度格式,例如,一个视图具有色度格式4:2:0,而另一个视图具有色度格式4:4:4。

在色域不相等性的情况下,视图具有不同的色域,例如,一个视图使用bt.709色域,而另一个视图使用bt.2020色域。

上述方法的组合也是可能的。

本发明的方案包括一组指示符的定义(例如,以参数或标志的形式)以指示在传输立体视频流期间使用上述不相等性方法中的一个或多个。以下以更详细的方式描述了这组指示符:

如果snr不相等性指示符被标记为“1”,则它指示其中一个视图以更高的snr质量来传送,而另一个视图以更低的snr质量来传送。此外,还指示一个字段,其描述了哪个视图处于更高质量(左或右)。

如果空间不相等性指示符被标记为“1”,则它指示其中一个视图以更高的空间分辨率来传送,而另一个视图以更低的空间分辨率来传送。此外,还指示一个字段,其描述了哪个视图处于更高的空间分辨率(左或右)。可选地,可以指示与左和右空间分辨率相关联的两个字段(即,空间分辨率),并且可以包含以适合的单位表示的针对两个视图的实际空间分辨率值。

如果时间不相等性指示符被标记为“1”,则它指示其中一个视图以更高的时间分辨率来传送,而另一个视图以更低的时间分辨率来传送。此外,还指示一个字段,其描述了哪个视图处于更高的时间分辨率(左或右)。可选地,可以指示与左和右时间分辨率相关联的两个字段(即,帧速率),并且包含以适合的单位表示的针对两个视图的实际时间分辨率值。

如果fov不相等性指示符被标记为“1”,则它指示其中一个视图用更宽的水平和/或垂直fov来传送,而另一视图用更窄的水平和/或垂直fov来传送。此外,指示了一个字段,其描述了哪个视图使用更宽的水平和/或垂直fov(左或右)。此外,可以指示与左和右视图fov相关联的两个字段,并且每个字段包含以适合的单位表示的水平和垂直fov。

如果位深度不相等性指示符被标记为“1”,则它指示其中一个视图以更高的位深度被传送,而另一个视图以更低的位深度被传送。此外,还指示一个字段,其描述了哪个视图使用更高的位深度(左或右)。此外,可以指示与左视图和右视图相关联的两个字段,并且每个字段包含以适合的单位表示的相应视图的位深度值。

如果样本值范围不相等性指示符被标记为“1”,则它指示一个视图的样本值使用与另一个视图的样本值不同的值范围。

如果色度格式不相等性指示符被标记为“1”,则它指示视图具有不同的色度格式,例如,一个视图具有色度格式4:2:0,而另一个视图具有色度格式4:4:4。此外,可以指示与左视图和右视图相关联的两个字段,并且每个字段包含以适合的单位表示的相应视图的色度格式值。

如果色域不相等性指示符被标记为“1”,则视图具有不同的色域,例如,一个视图使用bt.709色域,而另一个视图使用bt.2020色域。此外,可以指示与左视图和右视图相关联的两个字段,并且每个字段包含以适合的单位表示的相应视图的色域值。

这些指示符可以以不同的级别进行应用。例如,可以将指示符应用于整个图片(例如,全景360度图片)。相反,可以将指示符应用于子图片(例如,小于整个图片的区域,例如表示有限的垂直和水平fov的瓦片)。在一个实施例中,为一个或多个球形区域指示参数。球形区域可以对应于球形上的内容覆盖的一部分。

参数可被嵌入作为基本视频比特流的一部分(例如,作为sei消息或vui)和/或作为文件格式的一部分(例如,iso基本媒体文件格式)和/或经由传送协议而发送(例如,并入在mpegdash协议的mpd中),或者更一般地经由任一协议在任一isoosi层从源实体(客户端或服务器)发送到目的地实体(客户端)。

在mpegisobmff中的实现的示例以及在mpegomaf中的可能的使用:

以下语法和语义附加omaf的“sphereregionqualityrankingbox”。也可以为omaf的“2dregionqualityrankingbox”指定类似的扩展。这些框可驻留在样本条目中。

除了元素“unequality_indicator_mask”,以上语法元素与在omaf中规定的那些相同或类似。

“region_definition_type”等于“0”规定球形区域由四个大圆指定。“region_definition_type”等于“1”规定球形区域由两个偏航圆和两个节圆指定。“region_definition_type”的其它值被保留。

“num_regions”规定在该框中给出质量等级信息的质量等级区域的数量。

“remaining_area_flag”等于“0”规定所有质量等级区域由“sphereregionstruct(1)”结构定义。“remaining_area_flag等于“1”规定第一“num_region-1”质量等级区域由“sphereregionstruct(1)”结构定义,并且最后剩余的质量等级区域是在覆盖区域内的球形区域,未被由第一“num_regions-1sphereregionstruct(1)”结构定义的质量等级区域的联合所覆盖。

“sphereregionstruct(1)”规定相对于全局坐标轴的质量等级区域的球形位置和大小,而质量等级区域的形状由“region_definition_type”指示。

“sphereregionstruct”的语法可被规定如下:

“center_yaw”、“center_pitch”和“center_roll”规定了相对于全局坐标轴以2-16度为单位的球形区域的方向。“center_yaw”和“center_pitch”指示球形区域的中心,而“center_roll”指示球形区域的滚转角。

当“hor_range”和“ver_range”存在时,分别规定了由以2-16度为单位的该样本指定的球形区域的水平和垂直范围。“hor_range”和“ver_range”规定了通过球形区域的中心点的范围。

对于质量等级区域,内插可能需要等于“0”。

“view_idc_presence_flag”等于“0”指定“view_idc”不存在。“view_idc_presence_flag”等于“1”指定“view_idc”存在并且指示质量等级区域与特定(左或右或两者)视图或单像内容的关联。

“default_view_idc”等于“0”指示质量等级区域是单像的,等于“1”指示质量等级区域在立体内容的左视图上,等于“2”指示质量等级区域在立体内容的右视图上,等于“3”指示质量等级区域位于左和右视图两者上。

“quality_ranking”规定质量等级区域的质量等级值。“quality_ranking”等于“0”指示质量等级值未被定义。非“零”质量等级值指示质量等级区域的相对质量次序。当质量等级区域a具有小于质量等级区域b的质量等级值的非“零”质量等级值时,质量等级区域a具有比质量等级区域b更高的质量。当质量等级值不为“零”时,在整个所指示的质量等级区域内的图片质量大致恒定。

“view_idc”等于“0”指示质量等级区域是单像的,等于“1”指示质量等级区域在立体内容的左视图上,等于“2”指示质量等级区域在立体内容的右视图上,等于“3”指示质量等级区域位于左和右视图两者上。当不存在时,“view_idc”的值被推断为等于“default_view_idc”的值。

针对本发明的方案的目的规定语法元素“unequality_indicator_mask”。

如上所述,“unequality_indicator_mask”中的每个比特位置可以对应于不相等性指示符。例如,比特位置0可以对应于snr不相等性指示符,比特位置1可以对应于空间不相等性指示符,比特位置2可以对应于时间不相等性指示符等。可以理解,任何其它次序的指示符也是可能的。

当“unequality_indicator_mask”的值为非“零”并且视图和/或区域之间的“quality_ranking”值不同时,在“unequality_indicator_mask”内比特位等于“1”的比特位置指示已被应用的不相等性的类型。

另一个示例附加iso基本媒体文件格式的“stereovideobox”,其语法示出如下:

根据示例性实施例,新的框(例如,命名为“unequalityindicatorbox”)被规定包含在“stereovideobox”内并且包含关于在视图之间的不相等性的类型的信息。例如,“unequalityindicatorbox”的语法可被规定如下:

以上讨论的“unequality_indicator_mask”的语义也可以在本文中应用。这是指当“unequality_indicator_mask”的值不为“零”时,在“unequality_indicator_mask”内比特位等于“1”的比特位置指示已被应用的不相等性的类型。

根据实施例,“unequalityindicatorbox”可以包括表征视图之间的不相等性的附加特性,例如以指示哪个视图具有更高的主观质量。可替代地,可存在表征质量差异的指示值。这些值可以特定于不相等性的类型,并且可以只在对应的不相等性被指示时才有条件地存在。例如,对于snr不相等性,可以指示视图之间的平均或近似峰值snr差和/或视图之间的平均量化参数值差。

接下来,给出在mpegdash中的实现的示例和在mpegomaf中的可能的使用:

目前在omaf规范中规定的针对dash的区域方式质量等级(rwqr)描述符的指示符如下:

根据实施例,rwqr描述符附加了以下内容:

在实施例中,除了视图之间的应用之外或者替代视图之间的应用,上述不相等性指示符还可以应用于球形区域和/或2d区域之间。例如,当相同视图的球形区域a和球形区域b与snr不相等性指示符相关联时,球形区域a和球形区域b具有不同的snr。类似地,当相同视图的2d区域a和2d区域b与空间不相等性指示符相关联时,2d区域a和2d区域b在2d域中具有不同的采样密度或间隔,例如,2d区域a可能已经从分辨率为8192x4096的erp图片中被提取,而2d区域b可能已经从分辨率为4096x2048的erp图片中被提取。

除了在视图之间的应用或者替代在视图之间的应用,上述示例性实施例在不相等性指示符应用于球形区域和/或2d区域之间时同样适用。例如,在“sphereregionqualityrankingbox”的示例性实施例中,当“unequality_indicator_mask”的值为非“零”并且区域之间的“quality_ranking”值不同时,在“unequality_indicator_mask”内比特位等于“1”的比特位置指示已经在区域之间应用的不相等性的类型。在本文中,这些区域可以在相同的视图内或不同的视图中。

在实施例中,可以存在多于一组的质量等级信令(例如,“sphereregionqualityrankingbox”、“2dregionqualityrankingbox”、rwqr描述符)以用于不相等性指示符掩码的不同组合。例如,第一“sphereregionqualityrankingbox”可以存在以用于空间不相等性并且可以包含根据空间不相等性的质量等级值,而第二“sphereregionqualityrankingbox”可以存在以用于snr不相等性,并且可以包含根据snr不相等性的质量等级值。

在实施例中,指示或预先定义了多于一组的质量等级信令的次序。该次序可以限定第二信令级别的质量等级在具有相同的第一信令级别的质量等级的区域(如果有的话)中应用。例如,可以指示或预先定义:在针对空间不相等性的质量等级中,不考虑任何其它不相等性,而在针对任何其它类型的不相等性的质量等级中,质量等级值只在针对空间不相等性而具有相同质量等级值的区域中应用。这种信令具有以下优点:可以首先选择为当前视口提供适合的空间分辨率的一组比特流或表示,并且可以从该组比特流或表示中选择最匹配例如传输吞吐量和/或解码能力的那一个比特流或表示。

在图10中将根据一个实施例的用于编码的方法示出为流程图。在编码方法中,根据图10的方法生成视频数据,并将其发送到hmd,其示例在图3中示出。如图9的示例中所示的方法包括:将指示一个或多个不相等性类型的一组指示符编码1010到媒体内容的比特流中,或者将所述一组指示符沿着媒体内容的比特流进行编码,其中,定义用于第一视图或区域中的视频流和用于第二视图或区域中的视频流的不同的编码参数。可选地,所述方法进一步包括:将与第一视图或区域相关联的第一质量等级值和与第二视图或区域相关联的第二质量等级值包括1020到媒体内容的比特流中,或者沿着媒体内容的比特流包括与第一视图或区域相关联的第一质量等级值和与第二视图或区域相关联的第二质量等级值,其中,第一质量等级值和第二质量等级值的次序指示第一视图或区域与第二视图或区域之间的感知质量的次序。可选地,所述方法进一步包括:将指示一个或多个不相等性类型的第二组指示符包括1030到媒体内容的比特流中,或者沿着媒体内容的比特流包括所述第二组指示符;第二组指示符指示在具有相同质量等级值的区域中的不相等性类型。

根据实施例的装置包括用于实现所述方法的装置。例如,所述装置包括用于将指示一个或多个不相等性类型的一组指示符编码到媒体内容的比特流中,或者将所述一组指示符沿着媒体内容的比特流进行编码的装置,其中,不相等性类型定义用于第一视图或区域中的视频流和用于第二视图或区域中的视频流的不同的编码参数。

比特流的解码可以通过hmd来实现,hmd接收数据并向观看者的眼睛显示视频流。

本发明的实施例具有优点。例如,可以保持视觉质量恒定,并且可以降低传输(例如,流传输)和/或媒体内容(诸如立体360度视频)的存储所需的带宽。传输带宽降低可以例如通过依赖于视口的内容选择来实现,其中可以选择为当前可见的视口提供更高质量的内容,而可对不可见区域的特性进行限制,例如以具有更小的处理复杂性。另一个优点是使所发送或播放的内容与对左右视图之间的不相等性的类型和限制的用户偏好相匹配。再一个优点是促进复杂的速率适应方法,其可以是视口适应性的,并且还试图优化由视图和/或区域之间的不同类型的不相等性的选择所导致的感知质量。

在上文中,已经关于dash或mpeg-dash描述了一些实施例。需要理解的是,可以用任何其它类似的流传输系统、和/或任何与在dash中使用的那些类似的协议、和/或任何与在dash中使用的那些类似的片段和/或清单格式、和/或任何与dash客户端类似的客户端操作来类似地实现实施例。例如,一些实施例可以用苹果http实时流传输(applehttplivestreaming,hls)的m3u清单格式来实现。

在上文中,已经参考包括元数据或样本条目中的指示等来描述了一些实施例。需要理解的是,可以通过在诸如样本群组的动态元数据运输机制中包括元数据或指示来类似地实现实施例。例如,“sphereregionqualityrankingbox”可被用作样本群组描述条目。此类型的若干样本群组描述条目可被包括在“samplegroupdescriptionbox”中,并且用“sampletogroupbox”指示适用于特定媒体样本的样本群组描述条目。

短语“沿着比特流”(例如,沿着比特流进行指示)可在权利要求和所描述的实施例中用于是指采用带外数据与比特流相关联的方式的带外传输、信令或存储。例如,短语“沿着比特流包括指示”可以是指在容器文件(其也包含比特流)中或在比特流的描述(诸如dashmpd)中包括指示。短语“沿着比特流进行解码”等可以是指对与比特流相关联的所涉及的带外数据(其可以从带外传输、信令或存储中获得)进行解码。例如,短语“沿着比特流解码指示”可以是指对来自容器文件(其也包含比特流)或来自比特流的描述(诸如dashmpd)的指示进行解码。

在上文中,已经参考在容器文件中包括元数据或指示或沿着容器文件包括元数据或指示,和/或对来自或沿着容器文件的元数据和/或指示进行解析或解码来描述了一些实施例。需要理解的是,指示或元数据可以附加地或可替代地在视频比特流中被编码或包括,例如作为sei消息或vui,和/或在视频比特流中被解码,例如从sei消息或vui中。例如,如上所述,可以规定质量等级sei消息,其包括质量等级值和不相等性指示符掩码。质量等级sei消息可被包括在区域嵌套sei消息中,并且区域嵌套sei消息中的特定区域例如可以包括立体帧打包图片的一个组成图片。此外,需要理解的是,指示或元数据可以附加地或可替代地包括在容器文件、轨道或比特流中的任一个的诸如dash的mpd的描述中,和/或从任何容器文件、轨道或比特流中的任一个中被解码。

本发明的各种实施例可以用驻留在存储器中并使相关的装置执行本发明的计算机程序代码来实现。例如,设备可以包括用于处理、接收和发送数据的电路和电子器件,存储器中的计算机程序代码以及处理器,当运行计算机程序代码时,所述计算机程序代码和处理器使所述设备执行实施例的特征。更进一步地,像服务器这样的网络设备可以包括用于处理、接收和发送数据的电路和电子器件,存储器中的计算机程序代码以及处理器,当运行计算机程序代码时,所述计算机程序代码和处理器使网络设备执行实施例的特征。

如果需要,在本文中所讨论的不同功能可以以不同顺序执行和/或与其它功能同时执行。此外,如果需要,上述功能和实施例中的一个或多个可以是可选的或者可以进行组合。

尽管在独立权利要求中陈述了实施例的各个方面,但其它方面包括来自所描述的实施例和/或从属权利要求的特征与独立权利要求的特征的其它组合,而不仅仅是权利要求中明确阐述的组合。

在此还需注意,虽然在上面描述了示例性实施例,但这些描述不应当被视为限制性意义的。相反,在不背离如在所附权利要求中限定的本公开的范围的情况下可以进行若干变形和修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1