感兴趣区的信号发送的系统和方法与流程

文档序号:18192427发布日期:2019-07-17 05:38阅读:227来源:国知局
感兴趣区的信号发送的系统和方法与流程

本申请案涉及视频译码和压缩。更确切地说,本申请案涉及产生和处理用于用信号发送感兴趣区的文件的系统和方法。



背景技术:

许多装置和系统允许处理并输出视频数据以供消耗。数字视频数据包含大量数据以满足消费者和视频提供者的需求。举例来说,视频数据的消费者需要具有最优质量(具有高保真度、分辨率、帧速率和其类似者)的视频。结果,满足这些需求所需的大量视频数据对处理和存储视频数据的通信网络和装置造成负担。

各种视频译码技术可用于压缩视频数据。视频译码是根据一或多个视频译码标准执行。举例来说,视频译码标准包含高效视频译码(hevc)、高级视频译码(avc)、移动图片专家组(mpeg)译码,或其类似者。视频译码通常使用利用存在于视频图像或序列中的冗余的预测方法(例如,帧间预测、帧内预测或其类似者)。视频译码技术的重要目标是将视频数据压缩成促进视频数据的发射以及视频数据的显现两者的形式。



技术实现要素:

在一些实例中,本文中描述用于产生针对360度视频内容的媒体文件的技术和系统,所述媒体文件包含所述360度视频内容中的一或多个感兴趣区(roi)的信令信息。本文中还描述用于处理包含于媒体文件中的信令信息以提取来自视频内容的一或多个roi以用于显现的技术和系统。360度视频内容可为通过拼接在某一时间点处俘获场景的一组图像形成的球面视频。360度视频图片的roi可为俘获场景的某一部分的预定图片区(例如,基于导演剪切用以引导观众观看的区、统计上最可能在图片的呈现时间向用户显现的区,或其它预定感兴趣区)。还可基于(例如)观看者的定向动态地确定roi。信令信息可用于各种用途,例如用于360度视频自适应流式传输中的数据预提取,用于在转码360度视频时的转码优化,用于高速缓存管理,用于促进360度视频的显现,外加其它。

媒体文件可包含任何合适的流式传输媒体文件,例如用于根据经由超文本传送协议(http)的动态自适应流式传输(称为dash)的自适应位速率流式传输媒体的媒体呈现描述(mpd),或根据任何其它合适的自适应流式传输协议的其它合适文件。

在一些实例中,提供一种处理视频数据的方法。所述方法可包括获得与360度视频数据相关联的媒体文件,所述360度视频数据包含场景的球面表示,所述媒体文件包含对应于所述球面表示中的感兴趣区(roi)的视口区的第一信令信息和第二信令信息,所述第一信令信息包含在与所述球面表示相关联的球面空间中所测量的所述视口区的中心位置和尺寸,且所述第二信令信息指示包括所述视口区的图片的区,所述图片是通过将包含所述roi的所述球面表示投影到平面上而形成。所述方法可进一步包括基于所述第一信令信息和所述第二信令信息而提取来自所述图片的数据的对应于视口区的像素,和提供所述像素以显现所述视口区用于显示。

在一些方面中,所述第一信令信息可包含所述视口区的中心相对于所述场景的所述球面表示的球面中心的第一角和第二角,所述第一角形成于第一平面上且所述第二角形成于第二平面上,所述第一平面垂直于所述第二平面。

在一些方面中,所述第一信令信息可进一步包含与所述视口区的宽度相关联的第三角和与所述视口区的高度相关联的第四角。

在一些方面中,所述第三角可形成于所述视口区的第一边缘与第二边缘之间;且其中所述第四角形成于所述视口区的第三边缘与第四边缘之间。

在一些方面中,所述roi可由与所述球面表示相交的至少四个平面界定;且其中所述四个平面中的每一个也与所述球面中心相交。在一些方面中,所述视口区的形状可基于所述至少四个平面与所述球面表示的相交区而确定。在一些方面中,对应于所述视口区的所述像素是基于所述形状而提取。

在一些方面中,所述图片可包含多个图块。所述第二信令信息可定义包含所述视口区的所述图片的一或多个图块。在一些方面中,所述方法可进一步包括基于所述第二信令信息而从所述多个图块获得所述一或多个图块,和从所述一或多个图块提取所述像素。

在一些方面中,所述第二信令信息可包含与所述图片中的所述一或多个图块相关联的一或多个坐标。所述一或多个图块可形成图块组,且所述第二信令信息可包含与所述图块组相关联的一组识别符。在一些方面中,所述多个图块为运动受限的图块。

在一些方面中,所述第二信令信息可包含与视口区内的通过将所述roi投影于平面上所形成的预定位置相关联的像素坐标、所述视口区的宽度和所述视口区的高度。所述媒体文件可基于国际标准组织(iso)基本媒体文件格式(isobmff)。所述媒体文件可识别包含对应于所述球面视频场景的视频样本的一样本组;且其中所述第一信令信息和所述第二信令信息包含于所述样本组的一或多个语法元素中。

在一些方面中,所述媒体文件可基于媒体呈现描述(mpd)格式且包含一或多个适应集合。所述一或多个适应集合中的每一个可包含一或多个表示。所述第一信令信息、所述第二信令信息和到所述图片的链接可包含在与包含于所述一或多个表示中的所述roi相关联的一或多个元素中。在一些方面中,所述方法可进一步包括基于包含于所述媒体文件中的所述链接而获得所述图片。

在一些方面中,所述一或多个表示可为基于图块的表示,且所述第二信令信息可包含与图块相关联的识别符,所述图块包含所述一或多个基于图块的表示中所包含的所述roi。

在一些方面中,所述场景的所述球面表示可使用直线投影而投影到所述平面上。

在一些方面中,所述方法可进一步包括基于所述第一信令信息和所述第二信令信息而提取来自所述图片的多个roi的像素。

在一些实例中,提供一种用于处理视频数据的设备。所述设备可包括:存储器,其被配置成存储360度视频数据;和处理器,其被配置成执行以下操作:获得与所述360度视频数据相关联的媒体文件,所述360度视频数据包含场景的球面表示,所述媒体文件包含对应于所述球面表示中的感兴趣区(roi)的视口区的第一信令信息和第二信令信息,所述第一信令信息包含在与所述球面表示相关联的球面空间中所测量的所述视口区的中心位置和尺寸,且所述第二信令信息指示包括所述视口区的图片的区,所述图片是通过将包含所述roi的所述球面表示投影到平面上而形成。所述处理器可被进一步配置成基于所述第一信令信息和所述第二信令信息而提取来自所述图片的数据的对应于所述视口区的像素,且提供所述像素以显现所述视口区用于显示。

在一些方面中,所述处理器被进一步配置成从所述第一信令信息确定所述视口区的中心相对于所述场景的所述球面表示的球面中心的第一角和第二角,所述第一角形成于第一平面上且所述第二角形成于第二平面上,所述第一平面垂直于所述第二平面。

在一些方面中,所述处理器被进一步配置成从所述第一信令信息确定与所述视口区的宽度相关联的第三角和与所述视口区的高度相关联的第四角。

在一些方面中,所述第三角形成于所述视口区的第一边缘与第二边缘之间;且其中所述第四角形成于所述视口区的第三边缘与第四边缘之间。在一些方面中,所述roi是由与所述球面表示相交的至少四个平面界定;且其中所述四个平面中的每一个也与所述球面中心相交。

在一些方面中,所述处理器被进一步配置成基于所述至少四个平面与所述球面表示的相交区而确定所述视口区的形状。

在一些方面中,所述处理器被配置成基于所述形状而提取对应于所述视口区的所述像素。

在一些方面中,所述图片可包含多个图块,且所述第二信令信息可定义包含所述视口区的所述图片的一或多个图块。所述处理器被进一步配置成基于所述第二信令信息而从所述多个图块获得所述一或多个图块,且从所述一或多个图块提取所述像素。

在一些方面中,所述处理器被进一步配置成从所述第二信令信息确定与所述图片中的所述一或多个图块相关联的一或多个坐标。

在一些方面中,所述一或多个图块形成图块组。所述处理器被进一步配置成从所述第二信令信息确定与所述图块组相关联的一组识别符。在一些方面中,所述多个图块为运动受限的图块。

在一些方面中,所述处理器被进一步配置成从所述第二信令信息确定与视口区内的通过将所述roi投影于平面上所形成的预定位置相关联的像素坐标、所述视口区的宽度和所述视口区的高度。

在一些方面中,所述媒体文件是基于国际标准组织(iso)基本媒体文件格式(isobmff)。所述媒体文件可识别包含对应于所述球面视频场景的视频样本的样本组;且其中所述处理器被进一步配置成从所述样本组的一或多个语法元素提取所述第一信令信息和所述第二信令信息。

在一些方面中,所述媒体文件是基于媒体呈现描述(mpd)格式且包含一或多个适应集合。所述一或多个适应集合中的每一个可包含一或多个表示。所述处理器被进一步配置成基于与包含于所述一或多个表示中的所述roi相关联的一或多个元素而确定所述第一信令信息、所述第二信令信息和到所述图片的链接;且基于包含于所述媒体文件中的所述链接而获得所述图片。

在一些方面中,所述一或多个表示为基于图块的表示。所述处理器被进一步配置成基于所述第二信令信息而确定与图块相关联的识别符,所述图块包含所述一或多个基于图块的表示中所包含的所述roi。

在一些方面中,所述场景的所述球面表示是使用直线投影而投影到所述平面上。

在一些方面中,所述处理器被进一步配置成基于所述第一信令信息和所述第二信令信息而提取来自所述图片的多个roi的像素。

在一些方面中,所述设备可包括具有用以俘获所述360度视频数据的一或多个相机的移动装置。在一些方面中,所述设备可包括用以显现所述视口区的显示器。

在一些实例中,提供一种非暂时性计算机可读媒体。所述非暂时性计算机可读媒体于其上可存储有指令,所述指令在由一或多个处理器执行时使得所述一或多个处理器执行以下操作:获得与360度视频数据相关联的媒体文件,所述360度视频数据包含场景的球面表示,所述媒体文件包含对应于所述球面表示中的感兴趣区(roi)的视口区的第一信令信息和第二信令信息,所述第一信令信息包含在与所述球面表示相关联的球面空间中所测量的所述视口区的中心位置和尺寸,且所述第二信令信息指示包括所述视口区的图片的区,所述图片是通过将包含所述roi的所述球面表示投影到平面上而形成;基于所述第一信令信息和所述第二信令信息而提取来自所述图片的数据的对应于所述视口区的像素;和提供所述像素以显现所述视口区用于显示。

在一些实例中,提供一种处理视频数据的方法。所述方法可包括:获得360度视频数据,所述360度视频数据包含场景的球面表示;确定所述场景的所述球面表示中的感兴趣区(roi);产生媒体文件,所述媒体文件包含对应于所述roi的视口区的第一信令信息和第二信令信息,所述第一信令信息包含在与所述球面表示相关联的球面空间中所测量的所述视口区的中心位置和尺寸,且所述第二信令信息指示包括所述视口区的图片的区,其中所述图片是通过将包含所述roi的所述球面表示投影到平面上而形成;和提供所述媒体文件以用于显现所述360度视频数据或用于发射包含至少所述roi的所述360度视频数据的一部分。

在一些实例中,提供一种用于处理视频数据的设备。所述设备可包括:存储器,其被配置成存储360度视频数据;和处理器,其被配置成执行以下操作:获得360度视频数据,所述360度视频数据包含场景的球面表示;确定所述场景的所述球面表示中的感兴趣区(roi);产生媒体文件,所述媒体文件包含对应于所述roi的视口区的第一信令信息和第二信令信息,所述第一信令信息包含在与所述球面表示相关联的球面空间中所测量的所述视口区的中心位置和尺寸,且所述第二信令信息指示包括所述视口区的图片的区,其中所述图片是通过将包含所述roi的所述球面表示投影到平面上而形成;和提供所述媒体文件以用于显现所述360度视频数据或用于发射包含至少所述roi的所述360度视频数据的一部分。

在一些实例中,提供一种非暂时性计算机可读媒体。所述非暂时性计算机可读媒体于其上可存储有指令,所述指令在由一或多个处理器执行时使得所述一或多个处理器执行以下操作:获得360度视频数据,所述360度视频数据包含场景的球面表示;确定所述场景的所述球面表示中的感兴趣区(roi);产生媒体文件,所述媒体文件包含对应于所述roi的视口区的第一信令信息和第二信令信息,所述第一信令信息包含在与所述球面表示相关联的球面空间中所测量的所述视口区的中心位置和尺寸,且所述第二信令信息指示包括所述视口区的图片的区,其中所述图片是通过将包含所述roi的所述球面表示投影到平面上而形成;和提供所述媒体文件以用于显现所述360度视频数据或用于发射包含至少所述roi的所述360度视频数据的一部分。

此发明内容并不打算识别要求保护的主题的关键或基本特征,也不打算单独使用以确定要求保护的主题的范围。应参考此专利的整个说明书的适当部分、任何或所有图式和每一权利要求来理解主题。

在参考以下说明书、权利要求书和随附图式时,前述内容连同其它特征和实施例将变得更显而易见。

附图说明

下文参考以下图式详细描述本发明的说明性实施例:

图1为说明根据一些实例的编码装置和解码装置的实例的框图;

图2a和图2b为说明根据一些实例的由使用鱼眼透镜以俘获宽视场的全向相机俘获的视频帧的实例的图式;

图3为说明根据一些实例的等矩形视频帧的实例的图式;

图4a、图4b、图4c、图4d和图4e为说明根据一些实例的等矩形视频帧和对应于所述视频帧中的感兴趣区(roi)的视口的信号发送的实例的图式;

图5a、图5b和图5c为说明根据一些实例的视口和roi的定义的实例的图式;

图6a和图6b说明二维视频帧和用于二维视频帧中的roi的视口的信号发送的实例;

图7和图8提供根据一些实例的含有视口的信令信息的媒体文件的实例;

图9为说明根据一些实例的媒体流式传输系统的图式;

图10提供根据一些实例的mpd文件的实例的图形表示;

图11为说明根据一些实例的对应于mpd文件中的roi的视口的信号发送的实例的xml代码表示;

图12和图13为说明根据一些实例的用于处理视频数据的实例过程的流程图;

图14为说明根据一些实例的实例视频编码装置的框图;且

图15为说明根据一些实例的实例视频解码装置的框图。

具体实施方式

下文提供本发明的某些方面和实施例。这些方面和实施例的一些可独立地应用且其中的一些可以将对所属领域的技术人员显而易见的组合来应用。在以下描述中,出于解释的目的,阐述特定细节以便提供对本发明的实施例的透彻理解。然而,各种实施例可在没有这些特定细节的情况下得以实践将为显而易见的。图式和描述不打算为限定性的。

随后描述仅提供示范性实施例且并不打算限制本发明的范围、可应用性或配置。实际上,示范性实施例的随后描述将为所属领域的技术人员提供能够实施示范性实施例的描述。应理解,可在不脱离如所附权利要求书中所阐述的本发明的精神和范围的情况下对元件的功能和布置做出各种改变。

在以下描述中给出特定细节以提供对实施例的透彻理解。然而,所属领域的一般技术人员应理解,实施例可在无需这些特定细节的情况下实践。举例来说,电路、系统、网络、过程和其它组件可在框图形式中展示为组件以便在不必要细节下不与实施例混淆。在其它情况下,可在无不必要细节的情况下展示熟知电路、过程、算法、结构和技术以便避免混淆实施例。

而且,应注意,个别实施例可描述为被描绘为流程图(flowchart)、流程图(flowdiagram)、数据流程图、结构图或框图的过程。尽管流程图可能将操作描述为顺序过程,但许多操作可并行地或同时加以执行。另外,可再布置操作的次序。过程在其操作完成时终止,但可具有不包含于图中的额外步骤。过程可对应于方法、函数、步骤、子例程、子程序等。当过程对应于函数时,其终止可对应于函数传回到呼叫函数或主函数。

术语“计算机可读媒体”包含(但不限于)便携式或非便携式存储装置、光存储装置和能够存储、含有或携载指令和/或数据的各种其它媒体。计算机可读媒体可包含非暂时性媒体,其中可存储数据并且不包含载波和/或无线地或经由有线连接传播的暂时电子信号。非暂时性媒体的实例可包含(但不限于)磁碟或磁带、例如紧密光盘(cd)或数字化通用光盘(dvd)的光学存储媒体、快闪存储器、存储器或存储器装置。计算机可读媒体可具有存储于其上的代码和/或机器可执行指令,所述代码和/或机器可执行指令可表示步骤、函数、子程序、程序、例程、子例程、模块、软件包、类别或指令、数据结构或程序语句陈述式的任何组合。一个代码段可通过传递和/或接收信息、数据、论证、参数或存储器内容耦合到另一代码段或硬件电路。信息、引数、参数、数据等可经由包含存储器共享、消息传递、符记传递、网络发射或其类似者的任何合适方式传递、转递或发射。

此外,可由硬件、软件、固件、中间软件、微码、硬件描述语言或其任何组合实施实施例。当以软件、固件、中间软件或微码实施时,用以执行必要任务的程序代码或代码段(例如,计算机程序产品)可存储于计算机可读或机器可读媒体中。处理器可执行必要任务。

视频内容可经俘获和译码为360度视频内容(也称作虚拟现实(vr)内容)。如下文更详细地描述,本文中所描述的一或多个系统和方法涉及产生针对360度视频内容的媒体文件,所述媒体文件包含视频内容中的一或多个感兴趣区(roi)的信令信息。本文中描述的一或多个系统和方法还涉及处理包含于媒体文件中的信令信息以提取来自视频内容的roi以用于显现。视频内容可为通过拼接在某些时间点处俘获场景的一组图像形成的球面视频。360度视频图片的roi可为俘获场景的某一部分的图片的预定区。在一些状况下,roi可对应于场景的经动态确定部分(例如,通过用户当前观看的场景的一部分)。媒体文件可包含roi的第一信令信息和第二信令信息。第一信令信息可包含在对应于球面视频的三维球面空间中的roi的第一位置和roi的尺寸信息。第二信令信息可包含通过将球面空间投影到平面上形成的二维空间中的roi的第二位置。在一些实例中,双信号发送可提供roi的第一位置与第二位置之间的映射。映射可促进球面视频数据的发射和显现两者。

360度视频可包含虚拟现实视频、扩增现实数据或任何其它类型的360度类型视频内容,不管经俘获、计算机产生或其类似者。举例来说,360度视频可提供虚拟存在于通过显现通过浸入用户的移动而相关的自然和/或合成图像(和在一些状况下声音)建立的非物理世界中的能力,从而允许用户与所述世界交互。360度视频可表示可以看起来现实或物理方式交互的三维环境。在一些状况下,体验360度视频环境的用户使用例如头戴显示器(hmd)和任选地某些工具或衣物(例如,配备有传感器的手套)的电子装备以与虚拟环境交互。随着用户在现实世界中移动,在虚拟环境中显现的图像同样改变,从而向用户给予用户正在虚拟环境内移动的感知。在一些状况下,虚拟环境包含与用户的移动相关的声音,从而向用户给予声音来源于特定方向或来源的视听。360度视频可以极高质量俘获和显现,潜在地提供真实浸入式360度视频或虚拟现实体验。360度视频应用包含游戏、训练、教育、体育视频和线上购物外加其它。

360度视频为经俘获用于在360度环境中显示的视频。在一些应用中,相较于计算机产生的图形,来自现实世界的视频可用于虚拟现实环境(例如可在游戏和虚拟世界中发现)的呈现。在这些应用中,用户可以用户可体验用户的目前位置的相同方式体验另一位置。举例来说,用户可在使用定位于旧金山的360度视频系统时体验柏林的步行旅行。

360度视频系统可包含视频俘获装置和视频显示装置,且可能也包含例如服务器、数据存储器和数据发射装备的其它中间装置。视频俘获装置可包含相机集合,其可包含多个相机的集合,每一相机定向于不同方向且俘获不同视图。在一个说明性实例中,六个相机可用以俘获以相机集合的位置上定中心的完整360度视图。一些视频俘获装置可使用更少相机。举例来说,一些视频俘获装置主要俘获边到边视图或使用具有宽视场的透镜。在一个说明性实例中,装备有背对背定位的两个鱼眼透镜的一或多个相机可用以俘获共同提供360度视场的两个图像。视频通常包含帧或图片,其中帧或图片为场景的经电子式译码静态图像。相机每秒俘获某数目个帧,其通常被称作相机的帧速率。

在一些状况下,为提供无缝360度视图,可对由相机集合中的相机中的每一个俘获的视频帧(或图像)执行图像拼接。在360度视频产生的状况下的图像拼接涉及组合或合并视频帧重叠或将以其它方式连接所在的区域中的邻近相机的视频帧。结果将为大体球面帧,且类似于麦卡托(mercator)投影,经合并的数据可以平面样式表示。举例来说,经合并视频帧中的像素可经映射到立方体形状或某其它三维平面形状(例如,角锥形、八面体、十面体等)的平面上。视频俘获和视频显示装置可基于栅格原理操作(意味着视频帧被视为像素的网格),在此状况下正方形平面、矩形平面或其它适当地成形平面可用以表示球面环境。

映射到平面表示的360度视频帧可经编码和/或压缩以供存储和/或发射。编码和/或压缩可使用视频编解码器(例如,与高效视频译码(hevc)标准(其也称为h.265)、高级视频译码标准(其称为h.264或其它合适编解码器)相容的代码)来实现且产生经压缩视频位流(或经编码视频位流)或位流组。下文进一步详细地描述使用视频编解码器对视频数据进行编码。

在一些实施中,经编码视频位流可以媒体格式或文件格式存储和/或囊封。一或多个所存储位流可(例如)经由网络发射到接收器装置,所述接收器装置可解码并显现视频以供显示。此接收器装置在本文中可被称作视频显示装置。举例来说,360度视频系统可从经编码视频数据(例如,使用国际标准组织(iso)基本媒体文件格式和/或导出的文件格式)产生经囊封文件。举例来说,视频编解码器可编码视频数据,且囊封引擎可通过将视频数据囊封于一或多个iso格式媒体文件中而产生媒体文件。替代地或另外,一或多个所存储位流可直接从存储媒体提供到接收器装置。

接收器装置也可实施编解码器以解码和/或解压缩经编码视频位流。在一或多个经编码视频位流以媒体格式或文件格式存储和/或囊封的情况下,接收器装置可支持用以将视频位流封装到文件(或多个文件)中的媒体或文件格式,且可提取视频(且也可能音频)数据以产生经编码视频数据。举例来说,接收器装置可用经囊封视频数据剖析媒体文件以产生经编码视频数据,且接收器装置中的编解码器可解码经编码视频数据。

接收器装置接着可发送经解码视频信号到显现装置(例如,视频显示装置、播放器装置或其它合适的显现装置)。举例来说,显现装置包含头戴显示器、虚拟现实电视和其它180度或360度显示装置。大体来说,头戴显示器能够跟踪穿戴者的头部的移动和/或穿戴者的眼睛的移动。头戴显示器可使用跟踪信息来显现对应于穿戴者正观察的方向的360度视频的部分,使得穿戴者以与穿戴者将体验现实世界相同的方式体验虚拟环境。显现装置可以俘获视频的相同帧速率或以不同帧速率显现视频。

360度视频内容的视频图片可使用时间帧间预测(tip)而编码为单层位流,且整个译码位流可存储于服务器处。在一些状况下,360度视频内容的图片可使用tip和层间预测(ilp)而编码为多层位流。如果需要,那么位流可发射到接收器侧,通过解码器完全解码,且对应于通过穿戴者观看的场景的一部分的经解码图片的区(例如,基于穿戴者的头部和/或眼睛的移动而确定)可向穿戴者显现。

图1为说明视频译码系统100的实例的框图,所述视频译码系统包含编码装置104和解码装置112。编码装置104可为源装置的部分,且解码装置112可为接收装置的部分。源装置和/或接收装置可包含电子装置,例如移动或静止电话手机(例如,智能电话、蜂窝式电话或其类似者)、台式计算机、膝上型或笔记型计算机、平板计算机、机顶盒、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置、因特网协议(ip)相机或任何其它合适的电子装置。在一些实例中,源装置和接收装置可包含用于无线通信的一或多个无线收发器。本文中所描述的译码技术适用于各种多媒体应用中的视频译码,包含流式传输视频发射(例如,经由因特网)、电视广播或发射、编码数字视频以供存储于数据存储媒体上、解码存储于数据存储媒体上的数字视频或其它应用。在一些实例中,系统100可支持单向或双向视频发射以支持例如视频会议、视频流式传输、视频播放、视频广播、游戏和/或视频电话的应用。

编码装置104(或编码器)可用以使用视频译码标准或协议编码视频数据以产生经编码视频位流。视频译码标准的实例包含itu-th.261、iso/iecmpeg-1visual、itu-th.262或iso/iecmpeg-2visual、itu-th.263、iso/iecmpeg-4visual、itu-th.264(也称为iso/iecmpeg-4avc),包含其可调式视频译码(svc)和多视图视频译码(mvc)扩展,和高效视频译码(hevc)或itu-th.265。存在处理多层视频译码的hevc的各种扩展,包含范围和屏幕内容译码扩展、3d视频译码(3d-hevc)和多视图扩展(mv-hevc)和可调式扩展(shvc)。hevc和其扩展已通过itu-t视频译码专家组(vceg)和iso/iec动画专家组(mpeg)的视频译码联合协作小组(jct-vc)以及3d视频译码扩展开发联合协作小组(jct-3v)开发。mpeg和itu-tvceg也已形成联合探索视频小组(jvet),以探索用于下一代视频译码标准的新译码工具。参考软件被称作jem(联合探索模型)。

本文中所描述的许多实施例提供使用jem模型、hevc标准和/或其扩展的实例。然而,本文中所描述的技术和系统还可适用于其它译码标准,例如avc、mpeg、其扩展或已可用或尚不可用或尚未开发的其它合适的译码标准。因此,虽然可参考特定视频译码标准描述本文中所描述的技术和系统,但所属领域的一般技术人员将了解,描述不应解译为仅适用于所述特定标准。

参看图1,视频源102可将视频数据提供到编码装置104。视频源102可为源装置的一部分,或可为除源装置以外的装置的一部分。视频源102可包含视频俘获装置(例如,摄像机、相机电话、视频电话或其类似者)、含有经存储视频的视频存档、提供视频数据的视频服务器或内容提供者、从视频服务器或内容提供者接收视频的视频馈入接口、用于产生计算机图形视频数据的计算机图形系统、这些源的组合或任何其它合适的视频源。

来自视频源102的视频数据可包含一或多个输入图片或帧。视频的图片或帧为场景的静态图像。编码装置104的编码器引擎106(或编码器)编码视频数据以产生经编码视频位流。在一些实例中,经编码视频位流(或“视频位流”或“位流”)为一系列的一或多个经译码视频序列。经译码视频序列(cvs)包含一系列存取单元(au),其始于在基础层中具有随机存取点图片且具有某些性质的au,直到且不包含在基础层中具有随机存取点图片且具有某些性质的下一au。举例来说,开始cvs的随机存取点图片的某些性质可包含等于1的rasl旗标(例如,norasloutputflag)。否则,随机存取点图片(具有等于0的rasl旗标)并不开始cvs。存取单元(au)包含一或多个经译码图片和对应于共享相同输出时间的经译码图片的控制信息。图片的经译码切片在位流层级囊封到称为网络抽象层(nal)单元的数据单元中。举例来说,hevc视频位流可包含一或多个cvs,所述一或多个cvs包含nal单元。nal单元中的每一个具有nal单元标头。在一个实例中,标头对于h.264/avc(除了多层扩展以外)为一个字节且对于hevc为两个字节。nal单元标头中的语法元素采取经指定位,且因此对所有种类的系统和输送层可见,例如输送流、实时输送(rtp)协议、文件格式以及其它。

两种类别的nal单元存在于hevc标准中,包含视频译码层(vcl)nal单元和非vclnal单元。vclnal单元包含经译码图片数据的一个切片或切片片段(如下描述),且非vclnal单元包含关于一或多个经译码图片的控制信息。在一些状况下,nal单元可被称作包。hevcau包含含有经译码图片数据的vclnal单元和对应于经译码图片数据的非vclnal单元(如果存在)。

nal单元可含有形成视频数据的经译码表示(例如,视频中的图片的经译码表示)的位序列(例如,经编码视频位流、位流的cvs或其类似者)。编码器引擎106通过将每一图片分割成多个切片而产生图片的经译码表示。一切片独立于其它切片,以使得在不依赖于来自同一图片内的其它切片的数据的情况下译码所述切片中的信息。一切片包含一或多个切片片段,所述一或多个切片片段包含独立切片片段和(如果存在)取决于先前切片片段的一或多个相关切片片段。切片接着被分割成明度样本和色度样本的译码树型块(ctb)。明度样本的ctb和色度样本的一或多个ctb连同样本的语法被称为译码树型单元(ctu)。ctu为用于hevc编码的基本处理单元。ctu可经分裂成具有不同大小的多个译码单元(cu)。cu含有被称为译码块(cb)的明度和色度样本阵列。

明度和色度cb可进一步被分裂成预测块(pb)。pb为对于帧间预测或块内复制预测(在可用或经启用以供使用时)使用相同运动参数的明度分量或色度分量的样本的块。所述明度pb和一或多个色度pb连同相关联语法形成预测单元(pu)。对于帧间预测,一组运动参数(例如,一或多个运动向量、参考索引或其类似者)是在用于每一pu的位流中用信号发送且用于明度pb和一或多个色度pb的帧间预测。运动参数也可被称作运动信息。cb还可被分割成一或多个变换块(tb)。tb表示色彩分量的样本的正方形块,对所述正方形块应用同一二维变换以用于译码预测残余信号。变换单元(tu)表示明度和色度样本的tb以及对应语法元素。

cu的大小对应于译码模式的大小,且可为正方形形状。举例来说,cu的大小可为8×8样本、16×16样本、32×32样本、64×64样本或达到相应ctu的大小的任何其它适当大小。短语“n×n”在本文中用于指就垂直和水平尺寸来说视频块的像素尺寸(例如,8像素×8像素)。可按行和列来排列块中的像素。在一些实施例中,块在水平方向上可不具有与在垂直方向上相同的数目个像素。与cu相关联的语法数据可描述(例如)将cu分割成一或多个pu。分割模式可在cu经帧内预测模式编码抑或经帧间预测模式编码之间有所不同。pu可经分割成非正方形形状。与cu相关联的语法数据也可描述(例如)根据ctu将cu分割成一或多个tu。tu可为正方形或非正方形形状。

根据hevc标准,可使用变换单元(tu)来执行变换。tu可针对不同cu而变化。可基于给定cu内的pu的大小而对tu设定大小。tu可与pu大小相同或小于pu。在一些实例中,可使用被称为残余四叉树(rqt)的四叉树结构将对应于cu的残余样本再分成较小单元。rqt的叶节点可对应于tu。可变换与tu相关联的像素差值以产生变换系数。变换系数可随后由编码器引擎106量化。

一旦视频数据的图片被分割成cu,编码器引擎106便使用预测模式来预测每一pu。随后从原始视频数据减去预测单元或预测块以得到残余(如下描述)。对于每一cu,可使用语法数据在位流内部用信号发送预测模式。预测模式可包含帧内预测(或图片内预测)或帧间预测(或图片间预测)。帧内预测使用图片内的空间相邻样本之间的相关。举例来说,在使用帧内预测的情况下,使用(例如)dc预测以发现pu的平均值、使用平面预测以使平面表面拟合于pu、使用方向预测以从相邻数据外插或使用任何其它合适类型的预测,从同一图片中的相邻图像数据预测每一pu。帧间预测使用图片之间的时间相关以便导出图像样本的块的运动补偿预测。举例来说,在使用帧间预测的情况下,使用运动补偿预测从一或多个参考图片(按输出次序在当前图片之前或之后)中的图像数据预测每一pu。可(例如)在cu层级决定是否使用图片间预测抑或图片内预测来译码图片区域。

在一些实例中,图片的一或多个切片被指派切片类型。切片类型包含i切片、p切片和b切片。i切片(帧内预测帧,可独立解码)为仅通过帧内预测译码的图片的切片,且因此可独立解码,这是因为i切片仅需要帧内的数据来预测切片的任何预测单元或预测块。p切片(单向预测帧)为可通过帧内预测和通过单向帧间预测译码的图片的切片。通过帧内预测或帧间预测译码p切片内的每一预测单元或预测块。当应用帧间预测时,仅通过一个参考图片预测所述预测单元或预测块,且因此参考样本仅来自一个帧的一个参考区。b切片(双向预测性帧)为可通过帧内预测和通过帧间预测(例如,双向预测或单向预测)译码的图片的切片。b切片的预测单元或预测块可从两个参考图片双向预测,其中每一图片贡献一个参考区且两个参考区的样本集合经加权(例如,运用相等权重或运用不同权重)以产生双向预测块的预测信号。如上文所解释,一个图片的切片被独立译码。在一些状况下,图片可仅作为一个切片而被译码。

pu可包含与预测过程相关的数据(例如,运动参数或其它合适数据)。举例来说,当使用帧内预测编码pu时,pu可包含描述用于pu的帧内预测模式的数据。作为另一实例,当使用帧间预测来编码pu时,pu可包含定义用于pu的运动向量的数据。定义用于pu的运动向量的数据可描述(例如)运动向量的水平分量(δx)、运动向量的垂直分量(δy)、用于运动向量的分辨率(例如,整数精度、四分之一像素精度或八分之一像素精度)、运动向量指向的参考图片、参考索引、用于运动向量的参考图片列表(例如,列表0、列表1或列表c),或其任何组合。

编码装置104接着可执行变换和量化。举例来说,在预测之后,编码器引擎106可计算对应于pu的残余值。残余值可包括被译码的像素的当前块(pu)与用以预测当前块的预测块(例如,当前块的预测版本)之间的像素差值。举例来说,在产生预测块(例如,发出帧间预测或帧内预测)之后,编码器引擎106可通过从当前块减去由预测单元产生的预测块来产生残余块。残余块包含量化当前块的像素值与预测块的像素值之间的差的一组像素差值。在一些实例中,残余块可以二维块格式(例如,像素值的二维矩阵或阵列)表示。在这些实例中,残余块为像素值的二维表示。

使用块变换来变换可在执行预测之后剩余的任何残余数据,此变换可基于离散余弦变换、离散正弦变换、整数变换、小波变换、其它合适的变换函数或其任何组合。在一些状况下,一或多个块变换(例如,大小32×32、16×16、8×8、4×4或其它合适大小)可应用于每一cu中的残余数据。在一些实施例中,tu可用于通过编码器引擎106实施的变换和量化过程。给定的具有一或多个pu的cu还可包含一或多个tu。如下文进一步详细描述,可使用块变换将残余值变换成变换系数,且接着可使用tu来量化和扫描残余值以产生用于熵译码的串行化变换系数。

在一些实施例中,在使用cu的pu进行帧内预测性或帧间预测性译码之后,编码器引擎106可计算cu的tu的残余数据。pu可包括空间域(或像素域)中的像素数据。在应用块变换之后,tu可包括变换域中的系数。如先前所提及,残余数据可对应于未经编码图片的像素和与对应于pu的预测值之间的像素差值。编码器引擎106可形成包含cu的残余数据的tu,且接着可变换tu以产生cu的变换系数。

编码器引擎106可执行变换系数的量化。量化通过量化变换系数以减少用以表示系数的数据的量而提供进一步压缩。举例来说,量化可减少与系数中的一些或所有相关联的位深度。在一个实例中,具有n位值的系数可在量化期间经降值舍位为m位值,其中n大于m。

一旦量化被执行,经译码视频位流包含经量化变换系数、预测信息(例如,预测模式、运动向量、块向量或其类似者)、分割信息和任何其它合适的数据,例如其它语法数据。接着可通过编码器引擎106对经译码视频位流的不同元素进行熵编码。在一些实例中,编码器引擎106可利用预定义扫描次序扫描经量化变换系数以产生可经熵编码的串行化向量。在一些实例中,编码器引擎106可执行自适应扫描。在扫描经量化变换系数以形成向量(例如,一维向量)之后,编码器引擎106可熵编码向量。举例来说,编码器引擎106可使用上下文自适应性可变长度译码、上下文自适应性二进制算术译码、基于语法的上下文自适应性二进制算术译码、概率区间分割熵译码或另一合适的熵编码技术。

如先前所描述,hevc位流包含nal单元组,包含vclnal单元和非vclnal单元。vclnal单元包含形成经译码视频位流的经译码图片数据。举例来说,形成经译码视频位流的位序列存在于vclnal单元中。除了其它信息以外,非vclnal单元还可含有具有与经编码视频位流相关的高层级信息的参数集。举例来说,参数集可包含视频参数集(vps)、序列参数集(sps)和图片参数集(pps)。参数集的目标的实例包含位速率效率、错误复原和提供系统层接口。每一切片参考单一作用中pps、sps和vps以存取解码装置112可用于解码切片的信息。可针对每一参数集译码识别符(id),包含vpsid、spsid和ppsid。sps包含spsid和vpsid。pps包含ppsid和spsid。每一切片标头包含ppsid。使用id,可识别针对给定切片的作用中参数集。

pps包含适用于给定图片中的所有切片的信息。因此,图片中的所有切片参考同一pps。不同图片中的切片也可参考同一pps。sps包含适用于同一经译码视频序列(cvs)或位流中的所有图片的信息。如先前所描述,经译码视频序列为一系列存取单元(au),其始于在基础层中且具有某些性质(如上文所描述)的随机存取点图片(例如,瞬时解码参考(idr)图片或断链存取(bla)图片或其它适当的随机存取点图片),直到且不包含具有在基础层中且具有某些性质的随机存取点图片的下一au(或位流的末端)。sps中的信息可不在经译码视频序列内在图片间改变。经译码视频序列中的图片可使用同一sps。vps包含适用于经译码视频序列或位流内的所有层的信息。vps包含具有适用于全部经译码视频序列的语法元素的语法结构。在一些实施例中,可与经编码位流一起带内发射vps、sps或pps。在一些实施例中,可在与含有经译码视频数据的nal单元分开的发射中带外发射vps、sps或pps。

视频位流还可包含补充增强信息(sei)消息。举例来说,seinal单元可为视频位流的部分。在一些状况下,sei消息可含有解码过程未必需要的信息。举例来说,sei消息中的信息对于解码器解码位流的视频图片可能并不重要,但解码器可使用信息以改进图片的显示或处理(例如,经解码输出)。sei消息中的信息可为嵌入型元数据。在一个说明性实例中,sei消息中的信息可由解码器侧实体使用以改进内容的可见性。在一些情况下,某些应用标准可强制此类sei消息在位流中的存在以使得符合应用标准的所有装置可达成质量的改进(例如,用于帧可兼容平面立体3dtv视频格式的帧封装sei消息的携载,其中针对视频的每一帧携载sei消息;恢复点sei消息的处置;拉移式扫描矩形sei消息在dvb中的使用;外加许多其它实例)。

编码装置104的输出端110可经由通信链路120将组成经编码视频位流数据的nal单元发送到接收装置的解码装置112。解码装置112的输入端114可接收nal单元。通信链路120可包含由无线网络、有线网络或有线网络与无线网络的组合提供的信道。无线网络可包含任何无线接口或无线接口的组合,且可包含任何适合的无线网络(例如,因特网或其它广域网、基于数据包的网络、wifitm、射频(rf)、uwb、wifi-direct、蜂窝式、长期演进(lte)、wimaxtm或其类似者)。有线网络可包含任何有线接口(例如,光纤、以太网、电力线以太网、经由同轴电缆的以太网、数字信号线(dsl)或其类似者)。可使用各种装备来实施有线和/或无线网络,所述装备例如基站、路由器、存取点、桥接器、网关、交换器或其类似者。可根据通信标准(例如,无线通信协议)调制经编码视频位流数据,且将其发射到接收装置。

在一些实例中,编码装置104可将经编码视频位流数据存储于存储装置108中。输出端110可从编码器引擎106或从存储装置108俘获经编码视频位流数据。存储器108可包含多种分散式或本地存取的数据存储媒体中的任一者。举例来说,存储器108可包含硬盘机、存储光盘、快闪存储器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。

解码装置112的输入端114接收经编码视频位流数据,且可将视频位流数据提供到解码器引擎116,或提供到存储装置118以供稍后由解码器引擎116使用。解码器引擎116可通过熵解码(例如,使用熵解码器)和提取组成经编码视频数据的一或多个经译码视频序列的元素而解码经编码视频位流数据。解码器引擎116可接着重新按比例调整经编码视频位流数据且对经编码视频位流数据执行反变换。残余数据接着传递到解码器引擎116的预测级。解码器引擎116接着预测像素的块(例如,pu)。在一些实例中,预测被添加到反变换的输出(残余数据)。

解码装置112可将经解码视频输出到视频目的地装置122,所述视频目的地装置可包含用于将经解码视频数据显示给内容的消费者的显示器或其它输出装置。在一些方面中,视频目的地装置122可为包含解码装置112的接收装置的部分。在一些方面中,视频目的地装置122可为不同于接收装置的单独装置的部分。

在一些实施例中,视频编码装置104和/或视频解码装置112可分别与音频编码装置和音频解码装置集成。视频编码装置104和/或视频解码装置112也可包含实施上文所描述的译码技术所必要的其它硬件或软件,例如一或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、离散逻辑、软件、硬件、固件或其任何组合。视频编码装置104和视频解码装置112可集成为相应装置中的组合式编码器/解码器(编解码器)的部分。下文参看图14描述编码装置104的特定细节的实例。下文参看图15描述解码装置112的特定细节的实例。

对hevc标准的扩展包含多视图视频译码扩展(被称作mv-hevc)和可调式视频译码扩展(被称作shvc)。mv-hevc和shvc扩展共享分层译码的概念,其中不同层包含于经编码视频位流中。经译码视频序列中的每一层由唯一层识别符(id)定址。层id可存在于nal单元的标头中以识别nal单元所相关联的层。在mv-hevc中,不同层可表示视频位流中的同一场景的不同视图。在shvc中,提供以不同空间分辨率(或图片分辨率)或不同重构保真度表示视频位流的不同可调式层。可调式层可包含基础层(具有层id=0)和一或多个增强层(具有层id=1、2、…n)。基础层可符合hevc的第一版本的配置文件,且表示位流中的最低可用层。与基础层相比,增强层具有增加的空间分辨率、时间分辨率或帧速率和/或重构保真度(或质量)。增强层经阶层式组织,且可(或可不)取决于较低层。在一些实例中,可使用单一标准编解码器来译码不同层(例如,使用hevc、shvc或其它译码标准编码所有层)。在一些实例中,可使用多标准编解码器来译码不同层。举例来说,可使用avc来译码基础层,而可使用对hevc标准的shvc和/或mv-hevc扩展来译码一或多个增强层。

一般来说,层包含一组vclnal单元和对应的一组非vclnal单元。nal单元被指派特定层id值。在层可取决于较低层的意义上,层可为阶层式的。层集合指表示于位流内的独立的层的集合,意味着在解码过程中层集合内的层可取决于层集合中的其它层,但并不取决于任何其它层来进行解码。因此,层集合中的层可形成可表示视频内容的独立位流。可通过子位流提取过程的操作从另一位流获得层集合中的层的集合。层集合可对应于待在解码器希望根据某些参数操作时被解码的层集合。

在一些实施中,用于俘获360度视频的相机集合可包含全向相机、反射折射相机(使用透镜和弯曲镜的相机)、装备有鱼眼透镜的相机,和/或其它合适相机。全向相机的一个实例为理光theta-s,其使用以相反方向聚焦的两个鱼眼透镜。

全向相机(例如反射折射相机和具有鱼眼透镜的相机)通常俘获具有大量失真的图像。图2a和图2b说明由使用鱼眼透镜俘获宽视场的全向相机俘获的视频帧的实例。在图2a的实例中,视频帧200包含圆形鱼眼图像。鱼眼透镜能够俘获极宽角度,例如280度或更大。因此,装备有背对背定位的两个鱼眼透镜的相机可俘获共同提供360度视野(或更多)的两个图像。非广角鱼眼透镜俘获近似45度至约90度的视场。视场可替代地或另外以弧度表达。

为了俘获广角,鱼眼透镜使场景的图像失真。如图2a中所说明,在视频帧200中俘获的场景形状为圆形,且从中心变形到此圆形区的外部边缘。因为相机传感器为矩形,所以视频帧200为矩形且图像包含非场景的部分的区域,此处使用点画说明。这些区中的像素视为不可用,这是因为这些像素并非为场景的部分。

图2b的实例包含一包含完整帧鱼眼图像的视频帧202。在此类型视频帧202中,广角视场也已在圆形区中俘获,其中场景经变形成圆形区。在此实例中,图像已按比例调整(例如,放大)如此场景填充矩形帧的边缘。此实例视频帧202不包含不可用区域,且可由透镜俘获的场景的一些部分已经裁剪或并未被俘获。

如上文所描述,其它类型的相机也可用以俘获360度视频。举例来说,相机集合可包含多个相机的集合(例如,俘获足够数目个场景的视图所需要的5、6、7、或其它数目个相机)。每一相机可定向于不同方向中并俘获不同场景的视图。接着可对由相机集合中的相机中的每一个俘获的视频帧(或图像)执行图像拼接以提供无缝360度视图。

360度视频可再映射到其它格式。这些其它格式可用以存储、发射和/或观看360度视频。一个实例格式为等矩形格式。图3说明基于两个鱼眼图像302a、302b的等矩形视频帧300的实例。在此实例等矩形视频帧300中,来自两个鱼眼图像302a、302b的可用像素(例如,圆形区中的像素)已经映射成等矩形格式。在此实例中,每一鱼眼图像302a、302b包含180度或更大视场,以使得两个鱼眼图像302a、302b共同涵盖360度视场(可能具有某一重叠)。

映射来自鱼眼图像302a、302b的像素具有解变形鱼眼图像302a、302b中俘获的场景,和朝向视频帧300的边缘拉伸像素的效应。所得等矩形图像可在视频帧300的顶部和底部呈现拉伸。熟知等矩形投影为墨卡托投影,其中地球的地理是以正交纬度和经度线呈现。

在各种实施中,鱼眼图像302a、302b可映射到其它格式,例如映射到通过立方体、圆柱形、角锥形、截短角锥形或某其它几何形状形成的面上。在这些状况中的每一个中,存在于鱼眼图像302a、302b中的失真可经校正且不可用像素可经消除。平面数据也可经封装用于存储和/或发射,且可用于显示360度视频。

在一些状况下,中间格式可为有用的(例如)用于存储和/或发射360度视频数据,或用于将视频数据转换成另一格式。举例来说,等矩形表示可映射到球面格式(例如,球面几何形状)以显示视频数据,如图4a和4b中所说明。

图4a和4b说明正用于360度视频呈现中的等矩形视频帧400的实例。等矩形视频帧400可映射到球面空间上以形成球面表示410,且所得球面表示可使用头戴显示器或某其它360度视频显示装置向观看者420显示。在其它实例中,等矩形视频帧400可映射到立方形、圆柱形、角锥形或某其它几何形状,其中几何形状可通过360度视频显示装置使用以显示视频。

如上文所提及,等矩形视频帧400可俘获完整360度视场,其中在上部和下部区中的像素呈现拉伸和/或压缩。为使用360度视频呈现中的等矩形视频帧400,等矩形视频帧400中的像素可映射到球面表示410。此映射可具有朝向球面表示的顶部和底部(例如,分别“北极”和“南极”)扩大等矩形视频帧400的上部和下部区的效应。扩大上部和下部区可校正等矩形视频帧400中显而易见的这些区域中的失真。

将等矩形视频帧400映射到球面表示410可进一步具有围绕球面表示的中心(例如,赤道)变形帧的宽度的效应。等矩形视频帧400的左和右边缘可相互紧靠地映射,以使得无“缝隙”呈现。

在等矩形视频帧400已映射到球面表示后,可显示球面表示。使用头戴显示器或另一360度视频显示装置,观看者420可观看来自球面表示内的球面表示。在大多数情况下,观看者420经定位,以使得来自观看者的视角“地面”是球面表示的最底部点。在一些状况下,可认为用户的眼睛在球面的中心处。在各种实施中,球面表示可经扩展或经收缩以满足观看者的高度和/或位置(例如,在观看者坐着、站立或在某其它位置中情况下)。

如上文所描述,本文中所描述的一或多个系统和方法涉及产生针对360度视频内容的媒体文件,所述媒体文件包含视频内容中的一或多个感兴趣区(roi)的信令信息。本文中描述的一或多个系统和方法还涉及处理包含于媒体文件中的信令信息以提取来自视频内容的roi以用于显现。

如上文所提及,360度视频图片的roi可为俘获场景的某一部分的图片的预定区。在此些状况下,roi也可被称作最感兴趣区。与roi相关的信息的产生和信号发送可基于通过服务或内容提供者提供的用户统计资料、使用用户提供的输入或使用其它合适技术来执行。在各种实例中,针对图片确定的roi可包含引导观众观看的360度视频内容项的经特别选择部分、以统计方式确定的感兴趣区或场景的其它预定部分。举例来说,内容的创建者(例如,导演、生产者、作者或其类似者)可定义360度视频内容项中的最感兴趣区。在此类实例中,甚至在用户不转动他或她的头部或经由另一用户接口(ui)改变视口时,360度视频的播放可显示导演或其它方希望观众聚焦于的动态改变的视口。可逐个场景地将全向视频提供给此些视口。在另一实例中,当某一360度(或vr)视频内容经由流式传输服务提供时可使用已通过用户请求和/或最多见到的区域的统计资料确定360度视频内容项的各种图片中的roi。在此类实例中,360度视频图片中的roi可包含统计上最可能在图片的呈现时间向用户显现的区域中的一个。

关于roi的信息可用于各种360度视频性能改进目的。举例来说,roi信息可用于通过边缘服务器、客户端和/或其它实体在360度视频自适应流式传输中的数据预提取。在另一实例中,当vr视频经转码(例如,到不同编解码器、到不同投影映射,或其它转码操作)时,roi信息可用于转码优化。在其它实例中,roi信息可用于通过边缘服务器或高速缓存进行的高速缓存管理、通过360度视频流式传输服务器进行的内容管理,或其它目的。在一些状况下,roi的信号发送可(例如)通过使用视频位流中的sei消息、媒体文件中的文件格式样本组、http动态自适应流式传输(dash)媒体呈现描述(mpd)元素或属性(例如,使用样本组)和/或其它信号发送机制来执行。

360度视频中的roi可以至少两种方式定义。举例来说,360度视频中的roi将基于2d图片上的2d笛卡尔坐标系统定义roi。定义roi的另一方式可是基于球面坐标系统(例如,通过定义360度视频的球面表示上的区)而定义。

若干方法可用以基于球面坐标系统定义roi。举例来说,roi可经界定为球面表示上的通过四个大圆的四个片段围封或通过两个大圆和两个小圆围封的区,每一片段是在球面表示上的两个点之间。本文中,圆、大圆和小圆定义如下(且在图5a和图5b中说明,下文所描述):平面与球面的相交区为圆(当相交区为点时除外)。此圆的所有点属于球面的表面。球面的大圆(也称为大圆弧或黎曼圆)为通过球面的中心点的球面与平面的相交区。球面的中心和大圆的中心始终共置。不满足此条件的平面与球面的任何其它相交区可形成小圆。

当360度视频播放于头戴显示器(hmd)或非hmd显示器(例如,tv、移动装置、可穿戴装置,或其它合适非hmd显示器)上时,视口经显现给用户。视口可为与球面相切(在一点处与球面相交)的平面上的矩形区,其中视口平面与用户的观看方向正交。视口可通过应用直线投影而产生(例如,如jvet-d1030中所论述)。对应于视口的球面上的区为通过四个大圆的四个片段围封的区。

存在关于用于vr视频中的roi的信号发送的现有设计的各种问题。举例来说,问题可起因于仅仅基于球面坐标系统的信号发送(通过球面上的区的信号发送)或2d笛卡尔坐标系统的信号发送(通过图片的区的信号发送)。可需要额外处理来显现和/或发射球面视频数据,其可影响视频处理系统(例如,视频高速缓存、媒体网关、显现器等)的性能且可造成视频内容的发射和/或显现的延迟,此可导致不良用户体验。举例来说,基于球面坐标系统的roi信号发送从显现观点看是有益的,这是因为对于用户感兴趣的特定球面区(例如,场景中的对象)的显现,且在用信号发送所述球面区的情况下,所述球面区可容易地经识别并定位于整个球面视频场景上。然而,当此基于球面的信号发送用于递送和解码的优化(例如,在自适应流式传输中的数据预取中,例如dash)时,则本地高速缓存或媒体网关需要搞清楚经独立译码的图片区中的哪一集合为涵盖用信号发送的roi的最小集合。为能够执行此,高速缓存或媒体网关需要执行涉及在编码前用于将球面视频信号转换成2d视频信号的投影和逐区映射的几何处理。这对于高速缓存和媒体网关来说将为繁重处理负担。另一方面,基于2d笛卡尔坐标系统的roi信号发送从递送和解码的优化(例如,在自适应流式传输中的数据预取,例如dash)的观点来看是有益的,而其对显现强加负担,这是因为播放器或显现器在其需要搞清楚球面上的哪一区通过经独立译码的图片区(作为roi用信号发送)涵盖时将需要应用投影和逐区映射的反几何处理。

另一问题为当基于球面坐标系统的roi作为球面上的区用信号发送时,为了搞清楚对应于所述区的视口的尺寸(例如,宽度和高度),可需要应用直线投影。然而,可在会话磋商或内容选择期间,在应用直线投影过程以确定尺寸是否为负担的同时,需要此信息。

在一些状况下,当通过两个大圆和两个小圆的四个片段围封的球面表示上的区不对应于视口时问题可产生。举例来说,视口可对应于2d等矩形投影图片中的非矩形区(例如,图5a中展示的整个视口520),同时通过两个大圆和两个小圆的四个片段围封的球面表示上的区可对应于视口区的仅仅一子集(例如,视口520的非矩形区内的仅仅矩形区)。在一些状况下,也有可能矩形区包含非矩形区(非矩形区为矩形区的子集)。然而,矩形区和非矩形区可并不一直彼此恰好匹配。

针对360度视频内容使用本文中所描述的系统和方法产生的媒体文件可包含roi的第一信令信息和第二信令信息。第一信令信息可包含定义对应于球面视频的三维球面空间中的roi的第一位置和roi的尺寸信息的球面信息。第二信令信息可包含定义通过将球面空间投影到平面上形成的二维空间中的roi的第二位置的2d信息。在一些实例中,双信号发送可提供roi的第一位置与第二位置之间的映射,这可促进球面视频数据的发射和显现两者。举例来说,球面视频数据可通过流式传输应用程序以二维视频帧形式而发射。如上文所描述,二维视频帧可通过执行球面视频数据到二维平面上的投影(例如,等矩形投影或其它合适投影)而形成。为基于(例如)经预先确定为感兴趣的场景的一部分(例如,用以显现导演剪切的指令、以统计方式确定的区或其它合适信息)而显现roi,对应于roi的区可基于第一位置在球面视频中而识别出。此外,经由第一位置与第二位置之间的映射,流式传输应用程序可确定二维视频帧中的哪些区被预提取用于roi的显现。另外,在获得二维视频帧的区之后,媒体播放器或显现器可基于(例如)roi的尺寸信息识别来自对应于roi的区的像素,且可显现经提取像素。

图4a为说明感兴趣区(roi)430的图式。roi430可包括包含于等矩形视频帧400中的像素的子集。如上文所描述,roi430可对应于(例如)待呈现为观看者420的当前视场(fov)的预定感兴趣区(roi)。预定roi可对应于(例如)基于用以经由场景的视图的预定集合引导观看者420的导演剪切、帧的以统计方式确定的区,或其类似者。在一些实例中,roi430也可对应于(例如)观看者420相对于球面表示410的观看方向,使得观看者420可控制用以观看的场景的一部分。roi430可接着经映射以形成待通过由观看者420使用的观看装置显现的视口。与正常(非360度或非vr)视频相比360度视频的不同特征为,在360度视频中,通常仅仅显示由视频图片(对应于观看装置的当前视场(fov)或视口)表示的整个视频区的子集,而在正常视频应用中,通常显示整个视频区。fov或视口为当前正由显示装置呈现且由用户或观测者见到的区域。

图4b为说明对应于roi430的视口460的实例的图式。视口460可为与形成球面表示410的球面空间相切的平面上的区。视口460可通过执行roi430到平面上的直线投影而形成。在图4b的实例中,视口平面可在一点处与球面表示410的球面空间相交且可与用户420的观看方向正交。

图4c为说明表示球面表示410的球面空间内的视口460的位置的实例的图式。在图4c的实例中,视口460的位置可由俯仰角462和偏航角464表示。两个角可基于球面场景上的roi的位置从用户的观看方向导出。举例来说,定位于球面中心472处的用户朝向视口460的视口中心474的观看方向可由向量470表示。向量470可形成x-z平面上的投影476,和x-y平面上的投影478。俯仰角462可形成于投影476与平行于y轴的轴线480之间。偏航角464可形成于投影478与轴线480之间。

俯仰角462和偏航角464两者可使视口460的位置与用户的头部和/或眼球的定向相关。举例来说,俯仰角462可表示向量470的升降角,其可对应于(例如)用户的头部相对于x-z平面的升降角、用户的眼球相对于x-z平面的旋转,或用户相对于x-z平面的任何其它移动。另外,偏航角464可表示向量470的旋转角,其可对应于(例如)用户的头部的旋转角、用户的头部相对于x-y平面的旋转、用户的眼球相对于x-y平面的旋转,或用户相对于x-z平面的任何其它移动。通过基于俯仰角462和偏航角464表示视口460的位置,可基于用户的头部和/或眼球的定向有效确定由视口460表示的感兴趣区(roi)的位置,此实现对应于roi的球面视频内容的部分的高效显现。

除了视口460的中心474之外,视口460的其它属性也可基于偏航角464和俯仰角462来表示。举例来说,参看图4e,中点482、484、486和488可为在视口460的边缘之间的中点。中点484与488之间的距离可定义(例如)视口460的高度,而中点482与486之间的距离可定义(例如)视口460的宽度。视口460的高度可由形成于球面中心472、中点484和中点488之间的俯仰增量角490表示。另外,参看图4e(其说明与图4c到4d不同的视口460的视角),视口460的宽度也可由形成于球面中心472、中点482和中点486之间的偏航增量角492表示。视口460的位置、高度和宽度可表示对应于视口460的平面上的roi430的预定位置、预定高度和预定宽度的直线投影的结果。

连同俯仰角462和偏航角464,俯仰增量角490和偏航增量角492可在球面空间中并基于用户的头部和/或眼球的定向来定义视口460(和roi)的位置和尺寸。关于在下文更详细地论述,视口460的位置和尺寸信息可为包含于媒体文件中的第一信令信息的部分。媒体文件可为(例如)基于iso的媒体文件,其囊封经产生用于球面视频的显现/发射的二维视频帧集合的位流。媒体文件还可包含用于流式传输位流的计时元数据播放轨。媒体文件还可包含针对包含roi的二维视频帧的某个(某些)区的第二信令信息。第一信令信息和第二信令信息可共同在媒体文件中映射以用信号发送roi。基于映射,包含roi的二维视频帧的区可经预提取和提供到显现器。此外,显现器可基于视口460的尺寸信息提取来自表示roi的视频帧区的像素,并显现用于显示的像素。结果,可减少额外处理(例如,执行直线投影或反直线投影),此可改进视频处理系统的性能以及用户体验。

尽管图4a到4e说明视口460具有矩形形状,但视口可具有其它形状。视口的形状可基于对应于视口的区(例如,roi430)几何学上定义于球面表示410中的方式而确定。现参看图5a到5c,其说明roi430的不同几何定义。在图5a中,区501可由圆502、504、506和508定义。圆502、504、506和508中的每一个可被称作“大圆”。圆502、504、506和508中的每一个可通过球面表示410的球面空间与通过球面中心472的平面的相交而形成。在图5b中,区509可由圆502和504以及圆516和518定义。如上文所论述,圆502和504可被称作大圆。对比来说,圆516和518被称为“小圆”,其可通过球面表示410的球面空间与不通过球面中心472的平面的相交而形成。

roi430的几何定义(例如,由四个大圆定义抑或由两个大圆和两个小圆定义)可确定对应视口的形状和尺寸。现参看图5c,其说明视口520与矩形区530之间的比较。如图5c中所示,矩形区530较小且包含比视口520更少的像素。较大视口为优选的,这是因为什么对应于什么可从hmd或其它显示器见到,且例如,更多像素可向用户显示。在一些实施中,为最大化视口中经提供到用户的像素的数目,仅当对应于roi的区仅仅由大圆形成时才在媒体文件中用信号发送roi。此限制还可改进视口的显现过程中的均匀性和可预测性。举例来说,参看图5c,显现器可显现呈视口520而非矩形区530的形状的视口,且将(例如)视口高度(例如,由俯仰增量角表示)解译为表示视口520的顶部弯曲边缘与底部弯曲边缘之间的高度h而非矩形区530的顶部直线边缘与底部直线边缘之间的高度h'。

图6a说明一组二维视频帧602a、602b到602n。二维视频帧602a、602b到602n中的每一个对应于球面表示410的视频帧。每一二维视频帧602a、602b到602n可通过执行(例如)球面表示410的对应视频帧到二维平面上的直线投影而形成。二维视频帧602a、602b到602n可经编码成视频位流以供发射。

二维视频帧602a、602b到602n中的每一个可分成一组图块。视频帧602a、602b到602n中的图块可为运动受限的图块且层中的所有图片可具有相同图块结构。在此些状况下,图块跨越位流的给定层的所有帧具有相同位置。举例来说,运动受限的图块为图片(或帧)中的特定位置处的图块区,其可仅仅使用在其它图片中的相同位置处的一或多个图块来译码。举例来说,仅仅在特定图块位置内的参考图片的区可用以编码或解码在当前图片中的所述特定图块位置处的图块。仅仅显示显示装置的当前视口所需要的图片的图块可经提供用于显示。如图6a中所示,每一图块具有跨越不同视频帧602a、602b到602n的指定位置。在一个实例中,第一图块在602a、602b到602n中具有位置(0,0),且可基于所述位置识别第一图块。在一些状况下,图块可经编号,例如图块编号0到23、图块编号1到24,或其它合适编号。如图6中所示,图块彼此不重叠。二维视频帧602a、602b到602n中的每一个还可包含从球面表示410的对应帧投影的一或多个roi(或视口)。举例来说,如图6b中所示,视口520可位于处在位置(1,1)、(1,2)、(2,1)和(2,2)的图块组中。

如上文所论述,媒体文件可经产生以囊封通过编码视频帧602a、602b到602n形成的位流。媒体文件还可经产生以包含用于流式传输位流的计时元数据播放轨(外加携载媒体位流的播放轨)。媒体文件可包含上文针对roi(对应于视口)所描述的第一信令信息和第二信令信息以促进roi/视口的发射和显现。第一信令信息可包含球面空间中的视口的位置和尺寸(例如,由偏航角、俯仰角、偏航增量角和俯仰增量角表示)。第二信令信息可包含二维视频帧中的视口的位置。二维视频帧中的视口的位置可由(例如)包含视口的图块的位置(或识别符)表示。对于图6b的实例,第二信令信息可包含图块位置(1,1)、(1,2)、(2,1)和(2,2)(或与这些图块相关联的识别符/编号)以用信号发送roi。

如上文所论述,第一信令信息和第二信令信息可共同映射于媒体文件中以用信号发送roi。映射实现将视口向用户的高效发射和显现。举例来说,视频处理系统可接收用以向用户显现球面视频410中的预定感兴趣区的指令。所述指令可包含(例如)特定区的中心的偏航角和俯仰角。基于第一信令信息中的输入偏航角和俯仰角,视频处理系统可参考媒体文件中的第一信令信息与第二信令信息之间的映射以确定含有(例如)视口520的视频帧602a中的像素的图块(或其它单元)的集合。此外,基于俯仰角、偏航角、俯仰增量角、偏航增量角和确定视口的特定形状(例如,基于球面视频410中的预定区是基于四个大圆而定义的限制),显现器也可确定图块内的视口520的位置和边界,且提取视口520的边界内的像素以用于显现。此处理可运用最小几何处理来执行,最小几何处理可改进系统的性能以及用户体验。

现参看图7,其说明含有roi的信令信息的iso基本媒体文件700的实例。文件700可根据isobmff而格式化。isobmff经设计而以灵活且可扩展格式含有计时媒体信息,所述计时媒体信息促进媒体的互换、管理、编辑和呈现。媒体的呈现对于含有呈现的系统可为“本地的”,或呈现可经由网络或其它流递送机构。

如isobmff规范中所定义的“呈现”为图片序列,其常常由于由视频俘获装置依序俘获而相关或由于某其它原因而相关。本文中,呈现也可被称作电影或视频呈现。呈现可包含音频。单一呈现可含于一或多个文件中,其中一个文件含有用于整个呈现的元数据。元数据包含信息,例如时序和成帧数据、描述符、指标、参数,和描述呈现的其它信息。元数据自身并不包含视频和/或音频数据。除含有元数据的文件以外的文件无需根据isobmff而格式化,且仅仅需要经格式化以使得这些文件可通过元数据参考。

iso基本媒体文件的文件结构为对象定向式结构,且文件中的个别对象的结构可直接从对象的类型来推断。isobmff规范将iso基本媒体文件中的对象称作“框”。iso基本媒体文件构建为可含有其它框的一系列框。框大体包含提供框的大小和类型的标头。大小描述框的整个大小,包含标头、字段和含有于框内的所有框。播放器装置不能识别的类型的框通常被忽略并跳过。

如通过图7的实例所说明,在文件的顶部层级,iso基本媒体文件700可包含文件类型框710、电影框720和一或多个电影片段框730a、730b...730n。在此层级可被包含但在此实例中并未表示的其它框包含自由空闲框、元数据框和媒体数据框外加其它。

iso基本媒体文件可包含通过框类型“ftyp”识别的文件类型框710。文件类型框710识别最适合于剖析文件的isobmff规范。“最”在此情况下意味着,iso基本媒体文件700可能已根据特定isobmff规范格式化,但很可能与规范的其它反复兼容。此最合适规范被称作主流品牌。播放器装置可使用主流品牌来确定装置是否能够解码并显示文件的内容。文件类型框710还可包含版本号,所述版本号可用以指示isobmff规范的版本。文件类型框710还可包含兼容品牌的列表,所述列表包含文件兼容的其它品牌的列表。iso基本媒体文件可与大于一个主流品牌兼容。

iso基本媒体文件可进一步包含电影框720,其含有元数据以供呈现。电影框720通过框类型“moov”识别。iso/iec14496-12规定,含于一个文件抑或多个文件中的呈现可包含仅一个电影框720。频繁地,电影框720靠近iso基本媒体文件的开始。电影框720包含电影标头框722,且可包含一或多个播放轨框724以及其它框。

通过框类型“mvhd”识别的电影标头框722可包含与媒体无关且与作为整体的呈现相关的信息。举例来说,电影标头框722可包含信息,例如创建时间、修改时间、时间标度和/或针对呈现的持续时间外加其它。电影标头框722还可包含识别呈现中的下一播放轨的识别符。举例来说,在所说明的实例中,识别符可指向由电影框720含有的播放轨框724。

通过框类型“trak”识别的播放轨框724可含有用于呈现的播放轨的信息。呈现可包含一或多个播放轨,其中每一播放轨独立于呈现中的其它播放轨。每一播放轨可包含对于播放轨中的内容特定的时间和空间信息,且每一播放轨可与媒体框相关联。播放轨中的数据可为媒体数据,在此状况下,播放轨为媒体播放轨;或数据可为用于流式传输协议的分组信息,在此状况下,播放轨为提示播放轨。举例来说,媒体数据包含视频和音频数据。在所说明的实例中,实例播放轨框724包含播放轨标头框724a和媒体框724b。播放轨框可包含其它框,例如播放轨参考框、播放轨组框、编辑框、用户数据框、后设框和其它框。关于下文详细地论述,媒体框724b可包含一或多个roi的信令信息。

由框类型“tkhd”识别的播放轨标头框724a可指定含于播放轨框724中的播放轨的特性。举例来说,播放轨标头框724a可包含播放轨的创建时间、修改时间、持续时间、播放轨识别符、层识别符、组识别符、音量、宽度和/或高度,外加其它。对于媒体播放轨,播放轨标头框724a可进一步识别播放轨是否经启用,播放轨是否应作为呈现的部分而播放,或播放轨是否可用以预览呈现,外加其它。播放轨的呈现通常假定为处于呈现的开始处。播放轨框724可包含此处未说明的编辑列表框,所述编辑列表框可包含显式时刻表图。时刻表图可指定播放轨的偏移时间外加其它,其中偏移指示播放轨的在呈现开始之后的开始时间。

在所说明的实例中,播放轨框724还包含由框类型“mdia”识别的媒体框724b。媒体框724b可含有对象和关于播放轨中的媒体数据的信息。举例来说,媒体框724b可含有处理程序参考框,其可识别播放轨的媒体类型和借以呈现播放轨中的媒体的过程。作为另一实例,媒体框724b可含有媒体信息框,其可指定播放轨中媒体的特性。媒体信息框可进一步包含样本的图表,其中每一样本描述一块媒体数据(例如,视频或音频数据),包含(例如)样本的数据的位置。样本的数据存储于下文进一步论述的媒体数据框中。如同大部分其它框一般,媒体框724b还可包含媒体标头框。

在所说明的实例中,实例iso基本媒体文件700还包含呈现的多个片段730a、730b...730n。片段730a、730b、...730n并非为isobmff框,而实际上描述框的组合,其包含电影片段框732和通过电影片段框732参考的一或多个媒体数据框738。电影片段框732和媒体数据框738为顶部层级框,但此处分组在一起以指示电影片段框732与媒体数据框738之间的关系。

通过框类型“mfhd”识别的电影片段标头框734可包含序号。播放器装置可使用序号来验证片段730a包含数据的下一段以供呈现。在一些状况下,文件的内容或用于呈现的文件可无序地被提供到播放器装置。举例来说,网络数据包可以不同于最初发射数据包的次序的次序频繁地到达。在这些状况下,序号可辅助播放器装置确定片段的正确次序。

电影片段框732还可包含通过框类型“traf”识别的一或多个播放轨片段框736。电影片段框732可包含一组播放轨片段(每播放轨零或多个)。播放轨片段可含有零或多个播放轨行程,其中的每一个描述播放轨的样本的连续行程。除添加样本到播放轨外,播放轨片段可用以将空的时间添加到播放轨。

通过框类型“mdat”识别的媒体数据框738含有媒体数据。在视频播放轨中,媒体数据框738将含有视频帧。媒体数据框可替代地或另外地包含音频数据。呈现可包含含有于一或多个个别文件中的零或大于零的媒体数据框。媒体数据通过元数据描述。在所说明的实例中,媒体数据框738中的媒体数据可通过包含于播放轨片段框736中的元数据来描述。在其它实例中,媒体数据框中的媒体数据可通过电影框720中的元数据来描述。元数据可通过在文件700内的绝对偏移参考特定媒体数据,以使得媒体数据标头和/或媒体数据框738内的自由空间可被跳过。

iso基本媒体文件700中的其它片段730b、730c、730n可含有类似于针对第一片段730a说明的那些的框,和/或可含有其它框。

图8说明可包含于iso基本媒体文件中的媒体框840的实例。如上文所论述,媒体框可包含于播放轨框中,且可含有描述播放轨中的媒体数据的对象和信息。在所说明的实例中,媒体框840包含媒体信息框842。媒体框840还可包含其它框,其在此处不予以说明。

媒体信息框842可含有描述关于播放轨中的媒体的特性信息的对象。举例来说,媒体信息框842可包含描述播放轨中的媒体信息的位置的数据信息框。作为另一实例,当播放轨包含视频数据时,媒体信息框842可包含视频媒体标头。视频媒体标头可含有独立于视频媒体的译码的大体呈现信息。当播放轨包含音频数据时,媒体信息框842还可包含声音媒体标头。

媒体信息框842还可包含样本表框844,如所说明实例中所提供。通过框类型“stbl”识别的样本表框844可提供播放轨中媒体样本的位置(例如,具有文件的位置),以及用于样本的时间信息。使用通过样本表框844提供的信息,播放器装置可以正确时间次序定位样本,确定样本的类型,和/或确定大小、容器和容器内的样本的偏移外加其它。

样本表框844可包含通过框类型“stsd”识别的样本描述框846。样本描述框846可提供关于(例如)用于样本的译码类型的详细信息,和针对所述译码类型需要的任何初始化信息。存储于样本描述框中的信息可特定针对于包含样本的播放轨的类型。举例来说,一个格式在播放轨为视频播放轨时可用于样本描述,且在播放轨为提示播放轨时可使用不同格式。作为另一实例,针对样本描述的格式还可取决于提示播放轨的格式而发生变化。

样本描述框846可包含样本条目框848a...848n。样本条目为摘要类别,且因此通常样本描述框包含特定样本条目,例如视频数据的可见样本条目或音频样本的音频样本条目外加其它实例。视频数据的每一可见样本条目可包含一或多个视频帧。视频帧可为(例如)由球面表示410产生的二维视频帧602a、602b到602n。样本条目框可存储针对特定样本的参数。举例来说,对于视频样本来说,样本条目框可包含视频样本的宽度、高度、水平分辨率、垂直分辨率、帧计数和/或深度外加其它。作为另一实例,对于音频样本,样本条目可包含信道计数、信道布局和/或采样速率外加其它。

除了样本条目框之外,样本描述846可进一步包含样本组描述框860(通过样本组描述框类型“sgpd”识别)和样本到组框862(通过样本到组框类型“sbgp”识别)。样本组描述框860和样本到组框862两者可为样本分组机构的部分以用信号发送一组样本条目包含一或多个roi,和用信号发送所述组样本条目中的一或多个roi的位置和尺寸。在图8的实例中,样本组描述框860可包含样本组类型条目861。样本组类型条目861可包含组类型“roi”以用信号发送类型条目包含roi信息。样本组类型条目861可进一步包含指示二维视频帧中的roi的像素坐标的语法元素,以及球面空间中的roi的偏航角、俯仰角、偏航增量角和俯仰增量角。样本到组框862进一步指示样本组类型条目861中的roi信息。将应用于样本描述846中的某些样本条目。使用此信息情况下,含有roi的视频样本可经更有效地识别和提供到显现器以用于显现。

除支持媒体的本地播放外,一些视频系统支持经由网络流式传输媒体数据。举例来说,一或多个iso基本媒体文件格式文件(例如,isobmff)。媒体文件可包含电影呈现且可包含提示播放轨,其含有可辅助流式传输服务器形成并发射文件作为数据包的指令。举例来说,这些指令可包含用于服务器以供发送的数据(例如标头信息)或对媒体数据的片段的参考。文件可包含用于不同流式传输协议的单独提示播放轨。提示播放轨还可在不需要重新格式化文件的情况下添加到文件。

现参看图9,其说明用于流式传输的实例系统900。系统900包含经由网络906基于网络连接协议以通信方式彼此耦合的服务器902和客户端装置904。举例来说,服务器902可包含常规http网页服务器,且客户端装置904可包含常规http客户端。可建立http通信信道,其中客户端装置904可发射http请求到服务器902以请求一或多个网络资源。服务器902可将包含经请求网络资源的http响应发射回到客户端装置904。通过服务器902主控的网络资源的一个实例可为媒体内容,其可分成媒体片段。媒体片段可包含视频帧的序列。客户端装置904可包含用以经由网络906与服务器902建立流式传输会话的流式传输应用程序908。在流式传输会话期间,流式传输应用程序908可经由网络906发射对于一或多个媒体片段的请求到服务器902的请求处理器910。流式传输应用程序908可接收经请求一或多个媒体片段,且可在发射对于其它媒体片段的后续请求之前在客户端装置904上显现所接收媒体片段中的一些或全部。使用此http流式传输,流式传输应用程序908在客户端装置904处显现媒体内容之前不需要等待直到整个媒体内容已完全下载,此可促进网络资源的较好使用并改进用户体验。

为实现使用常规http网页服务器的媒体内容的高质量流式传输,可使用自适应位速率流式传输。在自适应位速率流式传输情况下,对于每一媒体片段,客户端装置904可具有关于替代片段文件920和940的集合的信息。此处,媒体片段可指与特定播放时间戳和持续时间相关联的媒体位流的部分。替代片段文件920和940的每一集合可对应于媒体片段(例如,与特定播放时间戳和持续时间相关联)的特定表示。表示可指编码具有不同质量(例如,具有不同位速率、帧速率或其类似者)的某一媒体内容的特定结果。媒体片段文件的每一集合当中,每一媒体片段文件可与性质(包含(例如)特定位速率、帧速率、分辨率、音频语言或其类似者)的集合相关联。基于本地信息(例如,网络906的带宽、客户端装置904的解码/显示能力、用户偏好或其它信息),流式传输应用程序908可针对每一表示选择来自集合的特定媒体片段文件。作为说明性实例,客户端装置904可发射对于与来自媒体片段文件920的第一分辨率相关联的媒体片段文件的请求。随后,归因于网络906的带宽的变化,客户端装置904可发射对于与第二分辨率相关联的媒体片段文件的另一请求。

关于替代片段文件920和940的集合的信息可为通过服务器902维持的描述文件960(或信息列表文件)的部分。客户端装置904可从服务器902获得描述文件960,且可基于描述文件960发射对于媒体片段文件的请求。描述文件960可包含(例如)用于媒体内容的每一表示的替代媒体片段文件的集合的列表,和与每一替代媒体片段文件相关联的性质(例如,位速率、帧速率、分辨率、音频语言等)。描述文件960还可包含与替代媒体片段文件的存储位置相关联的位置识别符(例如,统一资源定位符(url)、统一资源指示符(uri)等)。

存在用于自适应位速率流式传输的各种协议。一个实例为经由超文本传送协议(http)的动态自适应流式传输,或dash(定义于iso/iec23009-1:2014中)。dash,其也称为mpeg-dash。在dash情况下,描述文件960可包含媒体呈现描述(mpd)。图10为说明mpd1001的实例的图式。在一些状况下,mpd1001可以可延伸标示语言(xml)表示。mpd1001可包含定义适应集合1002的元素的集合。适应集合1002可包含替代表示1003和1004的集合。所属领域的一般技术人员将了解除了表示1003和1004之外适应集合1002还可包含额外表示。每一替代表示1003和1004可与特定位速率、分辨率或其它质量相关联,且可包含媒体片段的集合。举例来说,表示1003包含媒体片段1007和1009,以及标头信息1005。表示1004包含媒体片段1008和1010,以及标头信息1006。标头信息1005和1006可包含(例如)“表示”元素(例如,包含识别符、带宽、宽度和高度属性,或其类似者)。媒体片段1007和1009中的每一个可在mpd1001中与媒体片段文件的url(其可表示为元素“segmenturl”)相关联。mpd1001中的所述组元素中的每一个可与一组属性相关联,所述组属性定义(例如)适应集合1002、表示1003和/或1004或其它信息的性质。

以下为mpd的部分的实例:

在以上展示的实例mpd中,例如“周期(period)”、“adaptationset”、“表示(representation)”、“segmenturl”等的本文为元素,而“mimetype”、“id”、“带宽(bandwidth)”、“宽度(width)”和“高度(height)”、“媒体(media)”等为属性。在此实例中,适应集合包含与特定带宽和帧大小相关联的一个表示,且包含由其url表示的媒体片段的集合。

mpd文件可包含用于roi的信令信息。现参看图11,其说明一说明mpd1100的实例的xml代码表示。mpd1100可包含至少一个适应集合的列表。在mpd1100中,适应集合可包含用以定义与不同位速率、分辨率或其它质量相关联的多个替代表示的元素。每一表示可与图片文件相关联,且mpd1100可包含用于定位表示元素中的每一个的图片文件的链接(例如,统一资源定位符(url)、统一资源指示符(uri)或任何其它合适的信息)。在与表示相关联的图片文件包含roi的情况下,表示元素可进一步包含与roi相关联的第一信令信息和第二信令信息。

如所示,适应集合经定义以包含多个表示,包含具有等于1的表示id的表示和具有等于2的表示id的表示。mpd1100指示具有为2的表示id的表示具有3840像素的宽度、1920像素的高度、60的帧速率,外加其它特性。mpd1100进一步包含用于表示的视频文件“video1.mp4”的url。essentialproperty元素1102经提供用于具有为2的表示id的表示。essentialproperty元素1102可描述关于投影类型、fov方向、逐区映射的信息和/或其它信息。举例来说,此信息可通过使用essentialproperty而含于mpd1100中,在此状况下不同schemeiduri可经定义用于每一信息类型。在一个说明性实例中,如果schemeiduri“urn:mpeg:dash:360videoprojection:2017”与投影类型相关联且“cmp”意谓立方体贴图投影,那么我们可将关于essantialproperty元素中的立方体贴图投影类型的信息定义如下:<essentialpropertyschemeiduri=“urn:mpeg:dash:360videoprojection:2017”value="cmp"/>。

此外,supplementalproperty元素1104可含有roi的信令信息。举例来说,schemeiduri“urn:mpeg:dash:roipixelrep:2017”可与一组值相关联以用信号发送二维帧中的roi的中心位置和尺寸。位置和尺寸可以像素坐标形式表示。在图11的实例中,roi的中心位置可为(1300,500),其指示中心位置的左偏移为1300个像素,且中心位置的顶部偏移为500个像素。此外,roi跨越100像素的宽度和200像素的高度。尽管在图11的实例中,位置和尺寸以像素坐标形式表示,但应理解其可以其它形式表示,例如图块。举例来说,位置和尺寸可通过列举包含roi的图块,或与包含roi的图块组相关联的组识别符而用信号发送。

另外,schemeiduri“urn:mpeg:dash:roipixelrep:2017”可与一组值相关联以用信号发送球面空间中的roi的中心位置和尺寸。在图11的实例中,roi的偏航角可为20弧度,roi的俯仰角可为30弧度,roi的俯仰增量角可为10弧度,而roi的偏航增量角可为10弧度。

使用mpd1100的情况下,系统可提取视频文件“video1.mp4”且基于roi包含于视频文件中的指示而解码文件。系统也可根据信令信息从经解码文件提取像素,且提供经提取像素到显现器以用于显现。

图12为说明用于产生媒体文件的过程1200的实例的流程图。过程可通过(例如)流式传输服务器(例如,图9的服务器902)、托管服务器与接收器装置之间的中间网络装置等在iso基本媒体文件(例如,isobmff文件)中囊封经编码数据的装置执行。

在1202处,过程1200包含获得360度视频数据,360度视频数据包含场景的球面表示。360度视频数据可由相机集合(例如,全向相机)产生。球面表示可通过(例如)拼接在特定时间点处由相机集合俘获的一组图像形成。

在1204处,过程1200包含确定场景的球面表示中的感兴趣区(roi)。确定可基于(例如)用以输出场景的特定部分(例如,作为导演剪切的部分)到用户的指令、用户的视线方向,或基于其它合适信息。在一些实例中,所述roi可由与所述球面表示相交的至少四个平面界定;且其中所述四个平面中的每一个还与所述球面中心相交以形成一大圆。举例来说,返回参看图5a,roi可由四个大圆502、504、506和508定义。

在1206处,过程1200包含产生媒体文件,所述媒体文件包含对应于所述roi的视口区的第一信令信息和第二信令信息,所述第一信令信息包含在与所述球面表示相关联的球面空间中所测量的所述视口区的中心位置和尺寸,且所述第二信令信息指示包括所述视口区的图片的区。所述图片可通过使用直线投影将包含所述roi的所述球面表示投影到平面上而形成,且可为视频帧。所述视口将在显示器中显现。在一些实例中,所述第一信令信息和所述第二信令信息还可定义对应于多个roi的多个视口区,且可选择所述多个视口区中的一个用于在显示器中显现。

在一些实例中,所述媒体文件是基于国际标准组织(iso)基本媒体文件格式(isobmff)。在一些实例中,所述媒体文件可识别包含对应于所述球面视频场景的视频样本的样本组;且其中所述第一信令信息和所述第二信令信息包含于所述样本组的一或多个语法元素中。

在一些实例中,所述媒体文件是基于媒体呈现描述(mpd)格式且包含一或多个适应集合的列表。所述一或多个适应集合中的每一个可包含一或多个表示。所述第一信令信息、所述第二信令信息和到所述图片的链接包含在与包含于所述一或多个表示中的所述roi相关联的一或多个元素中。在一些实例中,所述一或多个表示为基于图块的表示,且其中所述第二信令信息包含与图块相关联的识别符,所述图块包含所述一或多个基于图块的表示中所包含的所述roi。

在一些实例中,所述第一信令信息可包含所述视口区的中心相对于所述场景的所述球面表示的球面中心的第一角和第二角,所述第一角形成于第一平面上且所述第二角形成于第二平面上,所述第一平面垂直于所述第二平面。所述第一信令信息可进一步包含与所述视口区的宽度相关联的第三角和与所述视口区的高度相关联的第四角。所述第三角可形成于所述视口区的第一边缘与第二边缘之间;且其中所述第四角形成于所述视口区的第三边缘与第四边缘之间。举例来说,第一角可为偏航角,第二角可为俯仰角,而第三角和第四角可分别为如图4c、图4d和图4e中所描述的偏航增量角和俯仰增量角。

在一些实例中,所述第二信令信息可定义包含所述视口区的所述图片的一或多个图块。所述一或多个图块可为包含于所述图片中的多个图块的部分。在一些实例中,所述第二信令信息可进一步包含与所述图片中的所述一或多个图块相关联的一或多个坐标。在一些实例中,所述一或多个图块形成图块组,且所述第二信令信息可包含与所述图块组相关联的组识别符。那些图块可为例如运动受限的图块。

在一些实例中,所述第二信令信息可包含与视口区内的通过将所述roi投影于平面上所形成的预定位置相关联的像素坐标、所述视口区的宽度和所述视口区的高度。

在1208处,过程1200进一步包含提供所述媒体文件以用于显现所述360度视频数据或用于发射包含至少所述roi的所述360度视频数据的一部分。显现可包含(例如)基于第二信令信息从图片获得一组图块,和基于第一信令信息确定所述组图块内的视口的位置和边界,和基于经确定位置和边界提取对应于视口的像素以显现视口。边界也可基于视口的预定形状而确定。所述视口的形状可基于确定所述roi是由与所述球面表示相交的至少四个平面界定而预定,其中所述四个平面中的每一个还与所述球面表示的所述球面中心相交且各自形成大圆。举例来说,如上文所论述,roi可由四个大圆502、504、506和508定义,且视口可具有与图5c的视口520相同的形状。此外,360度视频数据的部分的发射可包含(例如)确定包含roi的图片中的所述组图块,和发射对应于所述组图块的视频数据到显现器以用于显现roi。

图13为说明用于处理媒体文件的过程1300的实例的流程图。过程可通过(例如)托管服务器与接收器装置之间的中间网络装置、接收器装置等而执行。

在1302处,过程1300包含获得与360度视频数据相关联的媒体文件。360度视频数据可由相机集合(例如,全向相机)产生。球面表示可通过(例如)拼接在特定时间点处由相机集合俘获的一组图像形成。所述媒体文件可包含对应于所述球面表示中的感兴趣区(roi)的视口区的第一信令信息和第二信令信息。

在一些实例中,所述roi可由与所述球面表示相交的至少四个平面界定;且其中所述四个平面中的每一个还与所述球面中心相交以形成大圆。举例来说,返回参看图5a,roi可由四个大圆502、504、506和508定义。

在1304处,过程1300包含基于所述第一信令信息和所述第二信令信息而提取来自所述图片的数据的对应于所述视口的像素。

在一些实例中,所述媒体文件是基于国际标准组织(iso)基本媒体文件格式(isobmff)。在一些实例中,所述媒体文件可识别包含对应于所述球面视频场景的视频样本的样本组;且其中所述第一信令信息和所述第二信令信息包含于所述样本组的一或多个语法元素中。

在一些实例中,所述媒体文件是基于媒体呈现描述(mpd)格式且包含一或多个适应集合的列表。所述一或多个适应集合中的每一个可包含一或多个表示。所述第一信令信息、所述第二信令信息和到所述图片的链接包含在与包含于所述一或多个表示中的所述roi相关联的一或多个元素中。在一些实例中,所述一或多个表示为基于图块的表示,且其中所述第二信令信息包含与图块相关联的识别符,所述图块包含所述一或多个基于图块的表示中所包含的所述roi。

在一些实例中,所述第一信令信息可包含所述视口区的中心相对于所述场景的所述球面表示的球面中心的第一角和第二角,所述第一角形成于第一平面上且所述第二角形成于第二平面上,所述第一平面垂直于所述第二平面。所述第一信令信息可进一步包含与所述视口区的宽度相关联的第三角和与所述视口区的高度相关联的第四角。所述第三角可形成于所述视口区的第一边缘与第二边缘之间;且其中所述第四角形成于所述视口区的第三边缘与第四边缘之间。举例来说,第一角可为偏航角,第二角可为俯仰角,而第三角和第四角可分别为如图4c、图4d和图4e中所描述的偏航增量角和俯仰增量角。

在一些实例中,所述第二信令信息可定义包含所述视口区的所述图片的一或多个图块。所述一或多个图块可为包含于所述图片中的多个图块的部分。在一些实例中,所述第二信令信息可进一步包含与所述图片中的所述一或多个图块相关联的一或多个坐标。在一些实例中,所述一或多个图块形成图块组,且所述第二信令信息可包含与所述图块组相关联的组识别符。那些图块可为例如运动受限的图块。

在一些实例中,所述第二信令信息可包含与视口区内的通过将所述roi投影于平面上所形成的预定位置相关联的像素坐标、所述视口区的宽度和所述视口区的高度。

在一些实例中,像素的提取可包含识别含有视口区的图片中的一组图块,和从所述组图块中提取像素。像素的提取可进一步包含确定所述组图块中的视口的位置和边界。位置可基于指示视口区的中心位置的偏航角和俯仰角而确定,而边界可基于通过偏航增量角和俯仰增量角分别指示的宽度和高度而确定。边界也可基于视口区的预定形状而确定。形状可基于由与所述球面表示相交的至少四个平面界定的roi而确定,其中所述四个平面中的每一个还与所述球面表示的所述球面中心相交且形成大圆。举例来说,视口的形状可与图5c的视口520相同。像素的提取可是基于视口区的位置和边界。

在1306处,过程1300进一步包含提供经提取像素以在显示器中显现所述视口区。

在一些实例中,过程1200和1300可通过计算装置或设备(例如,图1中所展示的系统100)执行。在一些实例中,过程1200和1300可通过文件产生装置、文件剖析或处理装置、图1和图14中展示的编码装置104、通过另一视频发射侧装置或视频发射装置、通过图1和图15中展示的解码装置112和/或通过另一客户端侧装置(例如播放器装置、显示器或任何其它客户端侧装置)执行。在一个实例中,过程1200可通过文件产生装置、图1和图14中展示的编码装置104和/或通过另一发射侧装置或视频发射装置执行。在另一实例中,过程1300可通过文件剖析或处理装置、图1和图15中展示的解码装置112和/或通过另一客户端侧装置(例如播放器装置、显示器或任何其它客户端侧装置)执行。在一些状况下,计算装置或设备可包含处理器、微处理器、微计算机或被配置成实施过程1200和1300的步骤的装置的其它组件。在一些实例中,计算装置或设备可包含被配置成俘获包含视频帧的视频数据(例如,视频序列)的相机。在一些实例中,俘获视频数据的相机或其它俘获装置与计算装置分离,在此情况下,计算装置接收或获得所俘获视频数据。计算装置可进一步包含被配置成传达视频数据的网络接口。网络接口可被配置成传达基于因特网协议(ip)的数据或其它类型的数据。在一些实例中,计算装置或设备可包含用于显示输出视频内容(例如,视频位流的图片的样本)的显示器。

过程1200和1300经说明为逻辑流程图,其中的操作表示可在硬件、计算机指令或其组合中实施的操作的序列。在计算机指令的上下文中,操作表示存储于一或多个计算机可读存储媒体上当通过一或多个处理器执行时执行所叙述的操作的计算机可执行指令。通常,计算机可执行指令包含执行特定功能或实施特定数据类型的例程、程序、对象、组件、数据结构和其类似者。描述操作的次序并不打算被理解为限制,且任何数目个经描述操作可按任何次序和/或与过程并行地组合。

另外,过程1200和1300可在配置有可执行指令的一或多个计算机系统的控制下执行,且可被实施为共同在一或多个处理器上执行的代码(例如,可执行指令、一或多个计算机程序或一或多个应用程序)、通过硬件实施或其组合。如上文所提及,代码可存储于计算机可读或机器可读存储媒体上,例如,呈包括可由一或多个处理器执行的多个指令的计算机程序的形式。计算机可读或机器可读存储媒体可为非暂时性的。

本文所论述的译码技术可实施于实例视频编码和解码系统(例如,系统100)中。在一些实例中,系统包含提供稍后由目的地装置解码的经编码视频数据的源装置。确切地说,源装置经由计算机可读媒体提供视频数据到目的地装置。源装置和目的地装置可包括广泛范围的装置中的任一个,包含台式计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话的电话手机、所谓的“智能”平板计算机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或其类似者。在一些状况下,源装置和目的地装置可经装备以用于无线通信。

目的地装置可经由计算机可读媒体接收待解码的经编码视频数据。计算机可读媒体可包括能够将经编码视频数据从源装置移动到目的地装置的任何类型的媒体或装置。在一个实例中,计算机可读媒体可包括通信媒体以使得源装置能够实时地将经编码视频数据直接发射到目的地装置。可根据通信标准(例如,无线通信协议)调制经编码视频数据,且将经编码视频数据发射到目的地装置。通信媒体可包括任何无线或有线通信媒体,例如射频(rf)频谱或一或多个物理发射线。通信媒体可形成基于数据包的网络(例如,局域网、广域网或例如因特网的全域网络)的部分。通信媒体可包含路由器、交换器、基站或可用于促进从源装置到目的地装置的通信的任何其它装备。

在一些实例中,经编码数据可从输出接口输出到存储装置。类似地,经编码数据可由输入接口从存储装置存取。存储装置可包含多种分散式或本地存取的数据存储媒体中的任一个,例如,硬盘驱动器、blu-ray碟片、dvd、cd-rom、快闪存储器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。在另一实例中,存储装置可对应于文件服务器或可存储由源装置产生的经编码视频的另一中间存储装置。目的地装置可经由流式传输或下载从存储装置存取所存储的视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据发射到目的地装置的任何类型的服务器。实例文件服务器包含网页服务器(例如,用于网站)、ftp服务器、网络附加存储(nas)装置或本地磁盘驱动器。目的地装置可经由任何标准数据连接(包含因特网连接)来存取经编码视频数据。此连接可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,wi-fi连接)、有线连接(例如,dsl、缆线调制解调器等)或两者的组合。从存储装置的经编码视频数据的发射可为流式传输发射、下载发射或其组合。

本发明的技术不必限于无线应用或设定。所述技术可应用于支持多种多媒体应用中的任一个的视频译码,例如,空中电视广播、有线电视发射、卫星电视发射、因特网流式传输视频发射(例如,经由http的动态自适应流式传输(dash))、经编码到数据存储媒体上的数字视频、存储于数据存储媒体上的数字视频的解码或其它应用。在一些实例中,系统可被配置成支持单向或双向视频发射以支持例如视频流式传输、视频播放、视频广播和/或视频电话的应用。

在一个实例中,源装置包含视频源、视频编码器和输出接口。目的地装置可包含输入接口、视频解码器和显示装置。源装置的视频编码器可被配置成应用本文中所公开的技术。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置可从外部视频源(例如,外部相机)接收视频数据。同样,目的地装置可与外部显示装置介接,而非包含集成式显示装置。

以上实例系统仅为一个实例。用于并行地处理视频数据的技术可由任何数字视频编码和/或解码装置来执行。尽管本发明的技术一般由视频编码装置执行,但所述技术也可由视频编码器/解码器(通常被称作“编解码器”)执行。此外,本发明的技术也可由视频预处理器执行。源装置和目的地装置仅为源装置产生经译码视频数据以供发射到目的地装置的此类译码装置的实例。在一些实例中,源装置和目的地装置可以大体上对称的方式操作,使得所述装置中的每一个包含视频编码和解码组件。因此,实例系统可支持视频装置之间的单向或双向视频发射,例如用于视频流式传输、视频播放、视频广播或视频电话。

视频源可包含视频俘获装置,例如摄像机、含有先前俘获的视频的视频存档和/或用以从视频内容提供者接收视频的视频馈入接口。作为另一替代方案,视频源可产生基于计算机图形的数据作为源视频,或实况视频、存档视频和计算机产生的视频的组合。在一些状况下,如果视频源为摄像机,那么源装置和目的地装置可形成所谓相机电话或视频电话。然而,如上文所提及,本发明中所描述的技术一般可适用于视频译码,且可适用于无线和/或有线应用。在每一状况下,可由视频编码器编码所俘获、经预俘获或计算机产生的视频。经编码视频信息可随后由输出接口输出到计算机可读媒体上。

如所提及,计算机可读媒体可包含暂态媒体,例如无线广播或有线网络发射;或存储媒体(即,非暂时性存储媒体),例如硬盘、闪存驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未展示)可从源装置接收经编码视频数据且例如经由网络发射提供经编码视频数据到目的地装置。类似地,媒体生产设施(例如,光盘冲压设施)的计算装置可从源装置接收经编码视频数据且生产含有经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体可理解为包含各种形式的一或多个计算机可读媒体。

目的地装置的输入接口从计算机可读媒体接收信息。计算机可读媒体的信息可包含由视频编码器定义的语法信息(其也由视频解码器使用),所述语法信息包含描述块和其它经译码单元(例如,图片组(gop))的特性和/或处理的语法元素。显示装置将经解码视频数据显示给用户,且可包括多种显示装置中的任一个,例如阴极射线管(crt)、液晶显示器(lcd)、等离子体显示器、有机发光二极管(oled)显示器或另一类型的显示装置。已描述本发明的各种实施例。

编码装置104和解码装置112的特定细节分别展示于图14和图15中。图14为说明可实施本发明中所描述的技术中的一或多个的实例编码装置104的框图。编码装置104可(例如)产生本文中所描述的语法结构(例如,vps、sps、pps或其它语法元素的语法结构)。编码装置104可执行视频切片内的视频块的帧内预测和帧间预测译码。如先前所描述,帧内译码至少部分地依赖于空间预测以减少或去除给定视频帧或图片内的空间冗余。帧间译码至少部分地依赖于时间预测以减少或去除视频序列的邻近或周围帧内的时间冗余。帧内模式(i模式)可指若干基于空间的压缩模式中的任一个。帧间模式(例如,单向预测(p模式)或双向预测(b模式))可指若干基于时间的压缩模式中的任一个。

编码装置104包含分割单元35、预测处理单元41、滤波器单元63、图片存储器64、求和器50、变换处理单元52、量化单元54和熵编码单元56。预测处理单元41包含运动估计单元42、运动补偿单元44和帧内预测处理单元46。对于视频块重构,编码装置104还包含反量化单元58、反变换处理单元60和求和器62。滤波器单元63打算表示一或多个回路滤波器,例如解块滤波器、自适应回路滤波器(alf)和样本自适应偏移(sao)滤波器。尽管滤波器单元63在图14中展示为回路中滤波器,但在其它配置中,滤波器单元63可实施为回路后滤波器。后处理装置57可对由编码装置104产生的经编码视频数据执行额外处理。本发明的技术可在一些情况下由编码装置104实施。然而,在其它情况下,本发明的技术中的一或多个可由后处理装置57实施。

如图14中所展示,编码装置104接收视频数据,且分割单元35将数据分割成视频块。分割还可包含成切片、切片片段、图块或其它较大单元的分割,以及例如根据lcu和cu的四叉树结构的视频块分割。编码装置104一般说明编码待编码的视频切片内的视频块的组件。切片可划分成多个视频块(且可能划分成被称作图块的视频块集合)。预测处理单元41可基于误差结果(例如,译码速率和失真等级,或其类似者)选择多个可能译码模式中的一个(例如,多个帧内预测译码模式中的一个或多个帧间预测译码模式中的一个)以用于当前视频块。预测处理单元41可将所得经帧内或帧间译码块提供到求和器50以产生残余块数据且提供到求和器62以重构经编码块以用作参考图片。

预测处理单元41内的帧内预测处理单元46可执行当前视频块相对于与待译码的当前块相同的帧或图块中的一或多个相邻块的帧内预测译码以提供空间压缩。预测处理单元41内的运动估计单元42和运动补偿单元44执行当前视频块相对于一或多个参考图片中的一或多个预测性块的帧间预测性译码,以提供时间压缩。

运动估计单元42可被配置成根据视频序列的预定图案来确定用于视频切片的帧间预测模式。预定图案可将序列中的视频切片指定为p切片、b切片或gpb切片。运动估计单元42和运动补偿单元44可高度集成,但出于概念目的而单独说明。由运动估计单元42执行的运动估计为产生运动向量的处理,所述运动向量估计视频块的运动。运动向量(例如)可指示当前视频帧或图片内的视频块的预测单元(pu)相对于参考图片内的预测性块的移位。

预测性块为就像素差来说被发现紧密地匹配待译码的视频块的pu的块,所述像素差可由绝对差和(sad)、平方差和(ssd)或其它差度量确定。在一些实例中,编码装置104可计算存储于图片存储器64中的参考图片的次整数像素位置的值。举例来说,编码装置104可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可执行关于全像素位置和分数像素位置的运动搜索且输出具有分数像素精度的运动向量。

运动估计单元42通过比较pu的位置与参考图片的预测性块的位置而计算经帧间译码图块中的视频块的pu的运动向量。参考图片可选自第一参考图片列表(列表0)或第二参考图片列表(列表1),所述列表中的每一个识别存储于参考图片存储器64中的一或多个参考图片。运动估计单元42将所计算的运动向量发送到熵编码单元56和运动补偿单元44。

由运动补偿单元44执行的运动补偿可涉及基于由运动估计(可能执行内插到子像素精确密度)确定的运动向量而提取或产生预测性块。在接收到当前视频块的pu的运动向量之后,运动补偿单元44可在参考图片列表中定位运动向量所指向的预测性块。编码装置104通过从正经译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块。像素差形成用于块的残余数据,且可包含明度和色度差分量两者。求和器50表示执行此减法运算的一或多个组件。运动补偿单元44还可产生与视频块和视频切片相关联的语法元素,以供解码装置112用于解码视频切片的视频块。

如上文所描述,作为通过运动估计单元42和运动补偿单元44执行的帧间预测的替代方案,帧内预测处理单元46可帧内预测当前块。确切地说,帧内预测处理单元46可确定帧内预测模式以用以编码当前块。在一些实例中,帧内预测处理单元46可(例如)在单独编码遍次期间使用各种帧内预测模式编码当前块,且帧内预测处理单元46可从经测试模式中选择适当帧内预测模式来使用。举例来说,帧内预测处理单元46可使用对各种所测试帧内预测模式的速率-失真分析来计算速率-失真值,且可在所测试模式间选择具有最优选速率-失真特性的帧内预测模式。速率失真分析大体上确定经编码块与原始、未经编码块(其经编码以产生经编码块)之间的失真(或误差)量,以及用以产生经编码块的位率(即,位的数目)。帧内预测处理单元46可根据各种经编码块的失真和速率计算比率以确定哪一帧内预测模式展现所述块的最优选速率-失真值。

在任何情况下,在选择用于块的帧内预测模式后,帧内预测处理单元46可将指示用于块的所选帧内预测模式的信息提供到熵编码单元56。熵编码单元56可编码指示所选帧内预测模式的信息。编码装置104可将各种块的编码上下文的定义以及待用于上下文中的每一个的最可能的帧内预测模式、帧内预测模式索引表和经修改帧内预测模式索引表的指示包含于经发射位流配置数据中。位流配置数据可包含多个帧内预测模式索引表和多个经修改帧内预测模式索引表(也被称作码字映射表)。

在预测处理单元41经由帧间预测或帧内预测产生当前视频块的预测性块之后,编码装置104通过从当前视频块减去预测性块而形成残余视频块。残余块中的残余视频数据可包含于一或多个tu中且被应用于变换处理单元52。变换处理单元52使用例如离散余弦变换(dct)或概念上类似变换的变换将残余视频数据变换成残余变换系数。变换处理单元52可将残余视频数据从像素域转换到变换域(例如,频域)。

变换处理单元52可将所得变换系数发送到量化单元54。量化单元54量化变换系数以进一步减小位率。量化过程可减小与系数中的一些或所有相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化单元54可接着执行对包含经量化变换系数的矩阵的扫描。替代地,熵编码单元56可执行扫描。

在量化之后,熵编码单元56对经量化变换系数进行熵编码。举例来说,熵编码单元56可执行上下文自适应性可变长度译码(cavlc)、上下文自适应性二进制算术译码(cabac)、基于语法的上下文自适应性二进制算术译码(sbac)、概率区间分割熵(pipe)译码或另一熵编码技术。在由熵编码单元56进行熵编码之后,经编码位流可发射到解码装置112,或经存档以供稍后由解码装置112发射或检索。熵编码单元56还可熵编码正经译码的当前视频切片的运动向量和其它语法元素。

反量化单元58和反变换处理单元60分别应用反量化和反变换以重构像素域中的残余块以供稍后用作参考图片的参考块。运动补偿单元44可通过将残余块添加到参考图片列表内的参考图片中的一个的预测性块来计算参考块。运动补偿单元44也可将一或多个内插滤波器应用于经重构残余块以计算用于次整数像素值以用于运动估计。求和器62将经重构残余块添加到由运动补偿单元44产生的运动补偿预测块以产生用于存储于图片存储器64中的参考块。参考块可由运动估计单元42和运动补偿单元44用作参考块以帧间预测后续视频帧或图片中的块。

以此方式,图14的编码装置104表示被配置成导出lic参数、适应性地确定模板的大小和/或适应性地选择权重的视频编码器的实例。如上文所描述,编码装置104可(例如)导出lic参数、适应性地确定模板的大小,和/或适应性地选择权重集合。举例来说,编码装置104可执行本文中所描述技术中的任一个,包含上文参看图12和图13所描述的过程。在一些状况下,本发明的技术中的一些也可通过后处理装置57实施。

图15为说明实例解码装置112的框图。解码装置112包含熵解码单元80、预测处理单元81、反量化单元86、反变换处理单元88、求和器90、滤波器单元91和图片存储器92。预测处理单元81包含运动补偿单元82和帧内预测处理单元84。解码装置112可在一些实例中执行与关于来自图14的编码装置104描述的编码遍次大体上互逆的解码遍次。

在解码过程期间,解码装置112接收由编码装置104发送的经编码视频位流,其表示经编码视频切片的视频块和相关联语法元素。在一些实施例中,解码装置112可从编码装置104接收经编码视频位流。在一些实施例中,解码装置112可从网络实体79(例如,服务器、媒体感知网络元件(mane)、视频编辑器/编接器或被配置成实施上文所描述的技术中的一或多个的其它此类装置)接收经编码视频位流。网络实体79可或可不包含编码装置104。在网络实体79将经编码视频位流发射到解码装置112之前,本发明中所描述的技术中的一些可由网络实体79实施。在一些视频解码系统中,网络实体79和解码装置112可为独立装置的部分,而在其它情况下,关于网络实体79描述的功能性可由包括解码装置112的同一装置执行。

解码装置112的熵解码单元80对位流进行熵解码以产生经量化系数、运动向量和其它语法元素。熵解码单元80将运动向量和其它语法元素转递到预测处理单元81。解码装置112可接收视频切片层级和/或视频块层级的语法元素。熵解码单元80可处理并剖析例如vps、sps和pps的一或多个参数集中的固定长度语法元素和可变长度语法元素两者。

当视频切片被译码为经帧内译码(i)切片时,预测处理单元81的帧内预测处理单元84可基于用信号发送的帧内预测模式和来自当前帧或图片的先前经解码块的数据而产生当前视频切片的视频块的预测数据。当视频帧经译码为经帧间译码(即,b、p或gpb)切片时,预测处理单元81的运动补偿单元82基于运动向量和从熵解码单元80接收的其它语法元素产生当前视频切片的视频块的预测性块。预测性块可从参考图片列表内的参考图片中的一个产生。解码装置112可基于存储于图片存储器92中的参考图片使用默认构建技术来构建参考帧列表(列表0和列表1)。

运动补偿单元82通过剖析运动向量和其它语法元素来确定用于当前视频切片的视频块的预测信息,并使用所述预测信息以产生经解码当前视频块的预测性块。举例来说,运动补偿单元82可使用参数集中的一或多个语法元素以确定用于译码视频切片的视频块的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,b切片、p切片或gpb切片)、切片的一或多个参考图片列表的构建信息、切片的每一帧间编码视频块的运动向量、切片的每一帧间译码视频块的帧间预测状态,和用以解码当前视频切片中的视频块的其它信息。

运动补偿单元82也可执行基于内插滤波器的内插。运动补偿单元82可使用如在编码视频块期间由编码装置104使用的内插滤波器来计算参考块的次整数像素的内插值。在此状况下,运动补偿单元82可从所接收语法元素确定由编码装置104使用的内插滤波器,且可使用内插滤波器来产生预测性块。

反量化单元86反量化或解量化位流中所提供且由熵解码单元80解码的经量化变换系数。反量化过程可包含使用由编码装置104针对视频切片中的每一视频块计算的量化参数来确定量化程度和同样应应用的反量化程度。反变换处理单元88将反变换(例如,反dct或其它合适的反变换)、反整数变换或概念上类似的反变换过程应用于变换系数以便在像素域中产生残余块。

在运动补偿单元82基于运动向量和其它语法元素而产生当前视频块的预测性块之后,解码装置112通过将来自反变换处理单元88的残余块与由运动补偿单元82产生的对应预测性块求和而形成经解码视频块。求和器90表示执行此求和运算的一或多个组件。如果需要,还可使用回路滤波器(在译码回路中或在译码回路后)以使像素转变平滑,或以其它方式改进视频质量。滤波器单元91打算表示一或多个回路滤波器(例如,解块滤波器、自适应性回路滤波器(alf)和样本自适应性偏移(sao)滤波器)。尽管滤波器单元91在图15中展示为回路中滤波器,但在其它配置中,滤波器单元91可实施为回路后滤波器。给定帧或图片中的经解码视频块随后存储于图片存储器92中,所述图片存储器存储用于后续运动补偿的参考图片。图片存储器92还存储经解码视频以供稍后呈现于显示装置(例如,图1中所展示的视频目的地装置122)上。

以此方式,图15的解码装置112表示被配置成导出lic参数、适应性地确定模板的大小和/或适应性地选择权重的视频解码器的实例。如上文所描述,解码装置112可(例如)导出lic参数、适应性地确定模板的大小,和/或适应性地选择权重集合。举例来说,解码装置112可执行本文中所描述技术中的任一个,包含上文参看图12和图13所描述的过程。

在前述描述中,参考其特定实施例描述申请案的方面,但所属领域的技术人员将认识到本发明不限于此。因此,尽管本文中已详细描述申请案的说明性实施例,但应理解,本发明概念可以其它方式不同地体现并使用,且所附权利要求书打算解释为包含除现有技术所限制外的此些变化。上文所描述的发明的各种特征和方面可单独地或联合地使用。另外,实施例可用于超出本文所描述的那些环境和应用的任何数目个环境和应用,而不脱离本说明书的更广精神和范围。因此,本说明书和图式被视为说明性而非限定性。出于说明的目的,以特定次序描述方法。应了解,在替代实施例中,可以与所描述的次序不同的次序来执行所述方法。

在组件被描述为“被配置成”执行某些操作的情况下,可(例如)通过设计电子电路或其它硬件以执行操作、通过编程可编程电子电路(例如,微处理器或其它适合的电子电路)以执行操作或其任何组合来实现此配置。

结合本文所公开的实施例而描述的各种说明性逻辑块、模块、电路和算法步骤可被实施为电子硬件、计算机软件、固件或其组合。为了清楚地说明硬件与软件的此可互换性,各种说明性组件、块、模块、电路和步骤已在上文大体按其功能性加以了描述。将此功能性实施为硬件或为软件视特定应用和强加于整个系统上的设计约束而定。所属领域的技术人员可针对每一特定应用以不同方式实施所描述的功能性,但不应将此些实施决策解释为导致脱离本发明的范围。

本文中所描述的技术还可实施于电子硬件、计算机软件、固件或其任何组合中。此些技术可实施于多种装置中的任何者中,例如,通用计算机、无线通信装置手机或具有多种用途(包含在无线通信装置手机和其它装置中的应用)的集成电路装置。可将描述为模块或组件的任何特征共同实施于集成式逻辑装置中或分开实施为离散但可互操作的逻辑装置。如果以软件实施,那么所述技术可至少部分由包括包含当经执行时执行上文所描述方法中的一或多个的指令的程序代码的计算机可读数据存储媒体实现。计算机可读数据存储媒体可形成计算机程序产品的部分,计算机程序产品可包含封装材料。计算机可读媒体可包括存储器或数据存储媒体,例如,随机存取存储器(ram),例如,同步动态随机存取存储器(sdram)、只读存储器(rom)、非易失性随机存取存储器(nvram)、电可擦除可编程只读存储器(eeprom)、快闪存储器、磁性或光学数据存储媒体和其类似者。另外或替代地,所述技术可至少部分地由计算机可读通信媒体实现,所述计算机可读通信媒体携载或传达呈指令或数据结构的形式且可由计算机存取、读取和/或执行的程序代码,例如,传播的信号或波。

程序代码可由可包含一或多个处理器的处理器执行,例如,一或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)或其它等效集成或离散逻辑电路。此处理器可被配置成执行本发明中所描述的技术中的任一个。通用处理器可为微处理器;但在替代例中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器也可经实施为计算装置的组合,例如,一dsp与一微处理器的组合、多个微处理器、结合dsp核心的一或多个微处理器或任何其它此配置。因此,如本文中所使用的术语“处理器”可指前述结构中的任一个、前述结构的任何组合或适合于实施本文中所描述的技术的任何其它结构或设备。此外,在一些方面中,本文中描述的功能性可提供于被配置用于编码和解码的专用软件模块或硬件模块,或并入于组合的视频编码器-解码器(编解码器)中。

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