多向视频流的可扩展性的制作方法

文档序号:24797575发布日期:2021-04-23 17:28阅读:78来源:国知局
多向视频流的可扩展性的制作方法
多向视频流的可扩展性


背景技术:

1.本公开涉及用于多向成像应用程序的编码技术。
2.一些现代成像应用程序从相机的多个方向捕获图像数据。一些相机在图像捕获过程中枢转,这允许相机跨角度扫描来捕获图像数据,从而扩展了相机的有效视场。一些其他相机具有在若干不同视场中捕获图像数据的多个成像系统。在任一种情况下,可以创建聚合图像,该聚合图像合并从这些多个视图捕获的图像数据。
3.多种渲染应用程序可用于多向内容。一种渲染应用程序涉及提取和显示包含在多向图像中的内容的子集。例如,观察者可采用头戴式显示器并改变显示器的取向以识别观察者感兴趣的多向图像的一部分。另选地,观察者可采用静止显示器,并且通过用户界面控件识别观察者感兴趣的多向图像的一部分。在这些渲染应用中,显示设备从多向图像(为方便起见称为“视口”)提取图像内容的一部分并将其显示。显示设备将不显示多向图像的位于由视口占据的区域之外的其他部分。
附图说明
4.图1示出了根据本公开的一个方面的系统。
5.图2示意性地示出了根据本公开的一个方面的用于接收终端的渲染应用程序。
6.图3示出了示例性划分方案,其中帧被划分为非重叠图块。
7.图4示出了根据本公开的一个方面的可从单个图块410的编码开发的经编码数据流。
8.图5示出了根据本公开的一个方面的一种方法。
9.图6示出了根据本公开的一个方面的一种方法。
10.图7示出了图6的示例性数据流。
11.图8示出了可以由源终端编码的全向视频的帧。
12.图9示出了可以由源终端编码的全向视频的帧。
13.图10是示例视频分发系统的简化框图。
14.图11示出了具有移动视口的多向视频的帧1100。
15.图12是根据本公开的一个方面的编码系统的功能框图。
16.图13是根据本公开的一个方面的解码系统的功能框图。
17.图14示出了根据一个方面的示例性多向图像投影格式。
18.图15示出了根据另一方面的示例性多向图像投影格式。
19.图16示出了另一种示例性多向投影图像格式1630。
20.图17示出了示例性预测参考图案。
21.图18示出了用于组合的两个示例性多向投影。
22.图19示出了用于从两个不同的多向投影产生残差的示例性系统。
具体实施方式
23.在通信应用中,发射器处的聚合源图像数据超过在接收器处显示视口的渲染所需的数据。用于传输源数据的编码技术可考虑接收渲染设备的当前视口。然而,当考虑移动视口时,这些编码技术导致编码以及传输延迟和编码效率低下。
24.本公开的各方面提供了用于减少延迟并改善从多向视频通信中提取的视口的图像质量的技术。根据此类技术,从源接收编码视频数据的第一流。第一流包括表示多向视频的多个图块中的每个图块的经编码数据,其中每个图块对应于多向视频的预先确定的空间区域,并且第一流中的多个图块中的至少一个图块包含接收器处的当前视口位置。该技术包括对与包含该当前视口位置的至少一个图块相对应的第一流进行解码,以及显示该当前视口位置的经解码的内容。当该接收器处的视口位置改变为包括该多个图块中的新图块时,检索该新图块的第一流,对检索到的第一流进行解码,显示该改变的视口位置的经解码的内容,并且将表示该改变的视口位置的信息传输到该源。
25.图1示出了根据本公开的一个方面的系统100。如图所示,系统100被示出为包括通过网络130互连的源终端110和接收终端120。源终端110可将全向视频的编码表示传输到接收终端120。接收终端120可接收经编码的视频,对其进行解码,并且显示经解码的视频的所选择的部分。
26.图1示出了作为多向相机的源终端110,该多向相机在对本地环境的图像数据进行编码之前捕获它。在另一方面,源终端110可从外部源(未示出)诸如流式服务或存储设备接收全向视频。
27.接收终端120可以确定由多向图像表示的三维空间中的视口位置。接收终端120可以例如基于终端在自由空间中的取向来选择要显示的经解码的视频的一部分。图1示出了作为头戴式显示器的接收终端120,但是在其他方面,接收终端120可以是另一种类型的显示设备,诸如固定平板显示器、智能电话、平板电脑、游戏设备或便携式媒体播放器。可为不同类型的用户控件提供每种此类显示器类型,观察者通过这些显示器类型识别视口。除非本文另有说明,否则接收终端的设备类型对于本讨论是无关紧要的。
28.网络130表示从源终端110延伸到接收终端120的任何数量的计算机和/或通信网络。网络130可包括电路交换通信网络和/或分组交换通信网络中的一者或组合。网络130可通过任何数量的有线和/或无线通信介质在源终端110和接收终端120之间传送数据。除非本文另外指出,否则网络130的架构和操作对于本讨论而言是不重要的。
29.图1示出了通信配置,其中经编码的视频数据在单个方向上从源终端110传输到接收终端120。本公开的各方面可应用于以双向方式从终端110到终端120以及从终端120到终端110交换经编码的视频数据的通信设备。本公开的原理可应用于视频的单向交换和双向交换两者。
30.图2示意性地示出了根据本公开的一个方面的用于接收终端200的渲染应用程序。如图所示,全向视频被表示为好像其沿着围绕接收终端200提供的球形表面210存在。基于接收终端200的取向,终端200可以选择视频的一部分(为方便起见称为“视口”)并显示所选择的部分。随着接收终端200的取向改变,终端200可以从视频中选择不同的部分。例如,图2示出了沿表面210从第一位置230改变到第二位置240的视口。
31.本公开的各方面可应用根据多个编码协议中的任一个的视频压缩技术。例如,源
终端110(图1)可以根据itu

t/iso mpeg编码协议(诸如h.265(hevc)、h.264(avc)和即将到来的h.266(vvc)标准)、aom编码协议(诸如av1)或先导编码协议来对视频数据进行编码。通常,此类协议将视频的各个帧解析成在本文中被称为“像素块”的视频的空间阵列,并且可以规则编码顺序诸如光栅扫描顺序对像素块进行编码。
32.在一个方面,多向内容的各个帧可以被解析成各个空间区域,在本文中称为“图块”,并且被编码为独立数据流。图3示出了示例性划分方案,其中帧300被划分为非重叠图块310.0

310.11。在帧300表示全向内容(例如,其表示完美360
°
视场中的图像内容,图像内容将跨帧300的相对的左边缘320和右边缘322连续)的情况下。
33.在一个方面,这里描述的图块可以是在一些标准诸如hevc中使用的图块的特殊情况。在这个方面,本文使用的图块可以是“运动约束图块集”,其中使用完全相同的图块划分对所有帧进行分段,并且每个帧中的每个图块仅被允许使用来自其他帧中协同定位的图块的预测。解码器回路中的滤波也可在图块上不被允许,从而提供图块之间的解码独立性。
34.图4示出了根据本公开的一个方面的可从单个图块410的编码开发的经编码数据流。编码图块410可被编码成分别被标记为“层0”、“层1”、“层2”和“层3”的若干表示420

450,每个表示对应于预先确定的带宽约束。例如,可针对500kbps的表示生成层0编码,可针对2mbps的表示生成层1编码,可针对4mbps的表示生成层2编码,并且可针对8mbps的表示生成层3编码。在实施过程中,可调整层的数量和目标带宽的选择以适应各个应用需求。
35.经编码的图块410还可包含多个差分编码460

480,每个差分编码相对于层0表示的经编码数据差分地编码,并且每个差分编码具有与另一个带宽层的带宽绑定的带宽。因此,在以500kbps表示生成层0编码并且以2mbps表示生成层1编码的示例中,可以以1.5mbps表示(1.5mbps=2mbps

500kbps)对层1差分编码460进行编码。其他差分编码470、480可以具有与其基本层440、450的数据速率和层0编码420的数据速率之间的差异相匹配的数据速率。在一个方面,差分编码460、470、480的元素可以使用来自层0编码的对应块的内容作为预测参考来预测地编码;在此类实施方案中,差分编码460、470、480可以根据可扩展编码协议被生成为增强层,其中层0用作那些编码的基本层。
36.图块的编码420

480被示出为划分为各个块(例如,对于层0 420为块420.1

420.n,对于层1 430为块430.1

430.n等)。每个块可由其自身的网络标识符引用。在操作期间,客户端设备120(图1)可选择用于下载的各个块并从源终端120(图1)请求块。
37.图5示出了根据本公开的一个方面的方法500。根据方法500,终端110可以从源终端110向接收终端120传输对当前视口中包括的图块的高质量编码(msg.510)以及对其他图块的低质量编码(msg.520)。然后,接收终端120可以解码并渲染当前视口的数据(框530)。如果视口不移动以包括不同的图块(框540),则终端120重复解码并渲染当前图块(回到框530)。另选地,如果视口移动使得视口中包括的图块改变,则视口的改变被报告回源终端110(msg.550)。然后,源终端110通过发送对新视口位置的图块的高质量编码(回到msg.510)以及不包括新视口位置的低质量图块(msg.520)来重复。
38.期望图5中所示的操作在源终端110和接收终端120之间存在通信延迟的情况下提供多向视频的新视口的低延迟渲染。通过传输不属于当前视口的图块的低质量编码,接收终端120可以本地缓冲数据。如果/当视口改变为与先前未查看的视口之一重合的空间位置时,可以对本地缓冲的视频进行解码并显示。可以进行解码和显示而不会引起从接收终端
120到源终端110的往返通信所涉及的延迟,如果未将未查看视口的数据预取到接收设备120,此延迟将是需要的。
39.在一个实施方案中,接收终端120可以通过识别多视图图像内的空间位置来识别当前视口的位置,其中视口位于多视图图像处,例如,通过识别其在为图像限定的坐标空间内的位置(参见图2)。在另一方面,接收终端120可以识别其当前视口所在的多向图像(图3)的层,并且基于该识别从该层(图4)请求块。
40.图6示出了根据本公开的一个方面的示例性图块下载的方法600。图6示出了对于最初未被查看但在操作期间视口移动到的图块可能发生的下载操作。因此,接收终端120可在层0服务级别处发出对图块的请求,这些请求从源终端110下载到终端120。图6示出了来自层0服务级别的对图块的块y的请求610。终端110可以在响应消息630中提供块y的内容。块y的请求消息610和响应消息630可与由源终端110和接收终端120(以虚线示出)交换的与其他图块的块相关的其他请求和响应交织,其他图块包括视口所位于的图块和未被查看的其他图块两者。
41.在图6的示例中,视口从先前的图块改变(框620)成msg.610中请求的图块。在对块y的请求(msg.610)处于待处理状态时,或者在已接收到块y的内容(msg.630)之后,视口可能会改变。图6的示例示出了在msg.610处于待处理状态时发生的视口改变(框620)。响应于视口改变,终端120可根据先前请求的历史确定0层服务级别的块y已被请求或已被接收并本地存储在终端120处。终端120可估计在必须渲染块y之前是否有时间请求块y(差分层)的附加数据。如果是,则终端120可以使用差分层发出对新图块的块y的请求(msg.640)。
42.如果在必须渲染块y之前源终端110提供了差分层的媒体内容(msg.650),则接收终端120可以使用从消息630和650中提供的内容中开发的内容来渲染块y(框660)。如果不是,则接收终端120可以使用从层0服务级别开发的内容(msg.630)来渲染块y(框660)。
43.图7示出了根据本公开的前述方面可发生的块的渲染时间线。图7包括针对先前图块710的数据流,例如针对如图6的框620中的视口位置的改变之前的视口位置的图块,并且图7包括针对新图块720的数据流,例如针对包括图6的框620之后的新视口位置的图块。针对先前图块710的数据包括块y

3至y+1,并且针对新图块的数据包括块y

3至y+4。在该示例中,先前图块的块y

3至y

1被示出为已经以相对高的服务级别或质量(示出为层3)被检索,并且在视口切换之前被渲染。当发生从先前图块710到块y

1中间的新图块720的视口切换时,可以为块y

1处的图块720渲染层0服务级别。例如,如果接收设备120估计没有足够的时间下载块y

1处的新图块720的差分层,或者如果接收设备120请求块的差分层,但是没有及时接收到要渲染的差分层,则可能发生这种情况。
44.图7的示例示出了使用来自层0和来自差分层两者的数据在块y至y+2处渲染图块720。例如,如果接收设备120在视口切换之前已经请求块y到y+2的层0级别服务,并且(例如,参见图6中的请求610)在切换之后,接收设备检索到那些块y到y+2的差分层(例如,参见图6中的响应650),则这可能发生。
45.图7的示例示出了从块y+3开始的来自层3的图块720的渲染。对于在视口切换发生之后作出下载请求的块,可发生从差分层到更高质量层(例如,层3)的切换。因此,当视口从一个图块改变为另一个图块时,接收终端120可从其操作状态和系统中的传输延迟确定针对新图块要请求的层。在一些情况下,在视口移动之后并且在接收终端可在高服务质量下
渲染新视口位置之前将存在过渡时段(诸如图7中的块y+3的层3以及稍后的层)。过渡时段可以包括从较低的服务质量(例如,图7中的块y

1的层0)渲染新视口位置。过渡时段还可包括从增强的较低服务质量(诸如图7中的块y到y+2的差分层增强的层0)渲染新的视口位置。
46.图8示出了可由源终端110编码的全向视频的帧800。如图所示,帧800被示出为已被解析成多个图块810.0

810.n。每个图块可以光栅扫描顺序编码。因此,图块810.0的内容可与图块810.1的内容分开编码,图块810.1的内容可与图块810.2的内容分开编码。此外,可在多个层中对图块810.1

810.n进行编码,从而产生可由层和图块两者分段的离散经编码数据。在一个方面,经编码数据也可被分段成时间块。因此,可针对每个时间块、图块和层将经编码数据分段成离散片段。
47.如所讨论的,在帧800由源终端110(图1)编码并传输到接收终端120(图1)并进行解码之后,接收终端120可以从帧800提取视口830。接收终端120可以本地显示视口800。接收终端120可以向源终端110发送视口信息,诸如标识视口830在帧800的区域内的位置的数据。例如,接收终端120可以发送偏移数据,该偏移数据被示出为与原点820的偏移x和偏移y,以标识视口830在帧800的区域内的位置。在一个方面,视口830的尺寸和/或形状可以包括在发送到源终端110的视口信息中。源终端120然后可以使用所接收的视口信息来选择经编码数据的哪些离散部分传输到接收终端120。在图8的示例中,视口830跨越图块810.5和810.6。因此,可针对图块810.5和810.6发送第一层,而可针对不包括视口的任何部分的剩余图块发送第二层。例如,当第一层提供更高质量的视频并且第二层提供更有效的编码(高压缩)时,针对图块810.5和810.6可以将第一层发送至接收终端120,而针对其他图块中的一些或全部可以发送提供较低质量视频的第二层。
48.在一个方面,可以为所有图块提供较低质量层。在另一方面,可仅为帧800的一部分提供较低质量层。例如,可仅针对以当前视口为中心的180度视角(而不是360度)提供较低质量层,或者可仅在视口可能随后移动的帧800的区域中提供较低质量层。
49.在一个方面,帧800可根据分层编码协议来编码,其中一个层被编码为基本层,并且其他层被编码为基本层的增强层。增强层可从一个或多个较低层预测。例如,可以从基本层预测第一增强层,并且可以从基本层或从第一较低增强层预测第二较高增强层。
50.增强层可以从一个或多个较低层差分地或预测性地编码。非增强层(诸如基本层)可独立于其他层来编码。在差分编码层的解码器处的重构将需要差分编码层的经编码数据片段和来自差分编码层的片段(根据该片段进行预测)两者。就预测编码层而言,发送该层可包括发送预测编码层的离散经编码数据片段,并且还发送用作预测参考的层的离散经编码数据片段。在一个示例中,对于所有图块,帧800的差分分层编码、较低基本层可以被发送到接收终端120,而较高差分层的离散数据片段(其使用来自基本层的预测来编码)可以仅针对图块810.5和810.6被发送,因为视口830包括在那些图块中。
51.图9示出了可由源终端110编码的全向视频的帧900。如图所示,如在图8的帧800中,帧900被示出为已被解析成多个图块810.0

810.n。帧900可表示与帧800不同的视频时间,例如帧900可以是视频时间线上的较晚时间。在稍后的时间,接收终端120的视口可能已经移动到视口930的位置,这可以由相对于原点820的偏移x’和偏移y’来标识。当接收终端120的视口从图8中的视口830的位置移动到图9中的视口930的位置时,接收终端将新的视口信息发送到源终端110。作为响应,接收终端120可以改变将经编码的视频的哪些离散片
段发送到接收终端,使得可以针对包括视口的一部分的图块发送第一层,而可以针对不包括视口的一部分的图块发送第二层。在图9的示例中,图块810.0和810.1的像素被包括在视口930中,因此可针对这些图块发送第一层,而可针对不包括视口的一部分的图块发送第二层。
52.图10是适用于本发明的示例视频分发系统100的简化框图,包括多向视频被预编码并存储在服务器上时。系统1000可以包括经由通信网络1030连接的分发服务器系统1010和客户端设备1020。分发系统1000可以响应于客户端请求而将经编码的多方向视频数据提供给客户端1020。客户端1020可以对经编码的视频数据进行解码并将其呈现在显示器上。
53.分发服务器1010可以包括存储系统1040,在其上以各种层存储了预编码的多向视频,以供客户端设备1020下载。分发服务器1010可以存储视频内容项的几个编码表示,示出为层1、2和3,其已经用不同的编码参数编码。视频内容项包括清单文件,该清单文件包含指向每个层的已编码视频数据块的指针。
54.在图10的示例中,层1和层2的平均比特率不同,与层1提供的比特率相比,层2能够以更高的平均比特率对视频内容项进行更高质量的重构。比特率和质量的差异可由编码参数(例如,编码复杂性、帧速率、帧尺寸等)的差异引起。层3可以是层1的增强层,当与层1结合解码时,其可以改善层1表示由其自身解码时的质量。每个视频层1

3可被解析成多个块ch1.1

ch1.n、ch2.1

ch2.n和ch3.1

ch3.n.。清单文件1050可包括到每个层的每个编码视频数据块的指针。不同块可从存储装置获得并且通过在网络1030中定义的信道递送到客户端1020。信道流1040表示来自多个层的传输块的聚合。此外,如上文结合图4和图5所述,多向视频可以在空间上分段成图块。图10示出了可用于一个图块的各个层的块。清单1050可以另外包括其他图块(在图10中未示出),例如通过提供指向多个层的元数据和指针,该多个层包括用于各个层中的每个层的存储位置经编码数据块。
55.图10的示例示出了用于一个图块的三个编码视频层1、2和3,每个层被编码成具有不同编码参数的n个块(1至n)。虽然不是必需的,但是该示例将每个层的块示出为在时间上对准,使得块边界限定视频内容的相应时间段(t1,t2,t3,

,t
n
)。块边界可提供用于层之间的流切换的优选点。例如,可以通过在切换点重置运动预测编码状态来促进流切换。
56.时间a、b、c和d在图10中部分地示出,以有助于示出本公开的一个方面中的移动视口。时间a、b、c和d沿着由清单1050引用的媒体块的流式时间线定位。具体地讲,时间a、b和d可能分别对应于时间段t1、t2和t3的开始,而时间c可能对应于时间段t2中间的某个时间,介于t2的开始和t3的开始之间。
57.在一个方面,多向图像数据可以包括深度图和/或遮挡信息。深度图和/或遮挡信息可被包括作为单独的信道,并且清单1050可包括对用于深度图和/或遮挡信息的这些单独的信道的引用。
58.图11示出了具有移动视口的多向视频的帧1100。如图所示,帧1100被示出为已被解析成多个图块1110.0

1110.n。叠加在帧1100上的是可在第一时间对应于客户端1020中的视口的第一位置的视口位置1130,以及可在第二时间对应于同一视口的第二位置的视口位置1140。
59.在一个方面,在视口不移动的稳态下,客户端1020可从层2的高重构质量中提取视口图像。在过渡时段期间,当视口移动到新空间图块中时,客户端1020可以从层1和增强层3
的重构组合中提取视口图像,当视口移至新的空间图块时,然后一旦客户端1020再次可以使用层2,则通过从层2提取视口图像返回到稳态。其示例在表1和表2中针对客户端1020的视口示出,该视口在时间c从视口位置1130跳到视口位置1140。客户端1020对图块层的请求列于表1中,并且从其提取视口图像的层列于表2中。
[0060][0061]
表1

对图块的请求
[0062] 时间a时间b时间c时间d视口位置图块1110.0图块1110.0图块1110.5图块1110.5针对视口提取层2层2层1;然后层1+层3层2
[0063]
表2

视口提取
[0064]
在时间段t1期间的初始稳态条件下,视口不移动,并且视口位置1130完全包含在图块1110.0中。作为较高质量层的层2可在时间a由客户端1020从服务器1010请求图块1110.0,如表1所示。对于在位置1130处未包括在视口中的图块(图块1110.1

1110.n),改为请求更低质量且更高度压缩的层1。因此,针对图块1110.0之外的所有图块,在时间a处请求层1块持续时间段t1。然后,客户端1020从时间a开始从层2的重构中提取视口。
[0065]
在时间b处,视口尚未移动,因此客户端1020针对与时间a处相同的图块请求相同的层,但该请求针对的是与时间段t2对应的特定块。在时间c处,客户端1020的视口可从视口位置1130跳到位置1140。在时间点c,在t2的开始和结束之间的某个地方,已经为新的视口位置(图块1110.5)请求了较低质量的层1。因此,当视口移动时,可在时间c立即从层1提取视口。在时间c,可以请求层3,并且一旦其可用,层1和增强层3的组合就可以用于在客户端1020处提取视口图像。在时间d处,客户端1020可通过针对包含视口位置的图块请求层2以及针对不包含视口位置的图块请求层0来返回稳态。
[0066]
图12是根据本公开的一个方面的编码系统1200的功能框图。系统1200可包括图像源1210、图像处理系统1220、视频编码器1230、视频解码器1240、参考画面存储库1250和预测器1260。图像源1210可生成作为多方向图像的图像数据,该图像数据包含在多个方向上围绕参考点延伸的视场的图像数据。图像处理系统1220可以执行图像处理操作以调节图像用于编码。在一个方面,图像处理系统1220可以生成不同版本的源数据,以便于将源数据编码成多层经编码数据。例如,图像处理系统1220可以生成从多个相机聚合的源视频的多个不同投影。在另一个示例中,图像处理系统1220可以为具有较高空间分辨率的高层和具有较低空间分辨率的较低层生成源视频的分辨率。视频编码器1230通常可通过利用图像数据中的空间和/或时间冗余来生成其输入图像数据的多层编码表示。视频编码器1230可以输出输入数据的编码表示,该编码表示在传输和/或存储时消耗的带宽小于原始源视频的带宽。视频编码器1230可在对应于源图像数据的时间部分的离散时间块中输出数据,并且在
一些方面,可独立于其他时间块对单独时间块编码的数据进行解码。视频编码器1230还可以在离散层中输出数据,并且在一些方面,可以独立于其他层传输单独的层。
[0067]
视频解码器1240可反转由视频编码器1230执行的编码操作,以从经编码的视频数据获得重构画面。通常,视频编码器1230所应用的编码过程是有损过程,这导致重构画面在与原始画面比较时具有各种误差。视频解码器1240可重构被指定为“参考画面”的选定编码画面的画面,并将经解码的参考画面存储在参考画面存储库1250中。在不存在传输误差的情况下,解码的参考画面可以复制解码器(图12中未示出)所获得的经解码的参考画面。
[0068]
预测器1260可在编码新输入画面时为其选择预测参考。对于被编码的输入画面的每个部分(为了方便起见称为“像素块”),预测器1260可选择编码模式并识别参考画面中可充当被编码的像素块的预测参考搜索的部分。编码模式可为帧内编码模式,在这种情况下,可从被编码画面的先前编码(和解码)部分绘制预测基准。另选地,编码模式可以是帧间编码模式,在这种情况下,可从另一先前编码和解码的画面绘制预测基准。在分层编码的一个方面,预测参考可以是先前从另一层解码的像素块,通常是比当前正在编码的层低的较低层。在编码多向视频的两种不同投影格式的两个层的情况下,可将诸如图像翘曲函数的函数应用于第一层处的一种投影格式的参考图像,以预测第二层处的不同投影格式的像素块。
[0069]
在分层编码系统的另一方面,差分编码增强层可以用受限预测参考来编码,以使得能够寻找或层/层切换到编码增强层块的中间。在第一方面,预测器1260可以将增强层中仅每个帧的预测参考限制为基本层或其他较低层的帧。当在不参考增强层的其他帧的情况下预测增强层的每个帧时,解码器可以有效地在任何帧处切换到增强层,因为先前的增强层帧将不再需要作为预测参考进行参考。在第二方面,预测器1260可能需要仅从基本层或其他较低层预测块内的每第n个帧(诸如每隔一个其他帧),以使得能够搜索经编码数据块内的每第n个帧。
[0070]
当识别出合适的预测参考时,预测器1260可向视频编码器1230提供该预测数据。视频编码器1230可针对由预测器1260提供的预测数据而对输入视频数据进行差异编码。通常,预测操作和差分编码在逐个像素块的基础上操作。预测残差(表示输入像素块和预测像素块之间的像素方面差异)可经受进一步的编码操作以进一步减小带宽。
[0071]
如所指出的,由视频编码器1230输出的编码视频数据在传输和/或存储时应消耗小于输入数据的带宽。编码系统1200可将经编码的视频数据输出到可跨通信网络130(图1)传输经编码的视频数据的输出设备1270,诸如收发器。另选地,编码系统1200可将经编码数据输出到存储设备(未示出)诸如电子存储介质、磁存储介质和/或光学存储介质。
[0072]
收发器1270还可从解码终端(图7)接收视口信息并将视口信息提供给控制器1280。控制器1280可控制图像处理器1220、总体上的视频编码过程,包括视频编码器1230和收发器1270。由收发器1270接收的视口信息可包括视口位置和/或优选的投影格式。在一个方面,控制器1280可基于视口信息来控制收发器1270以发送用于某些空间图块的某些编码层,同时发送用于其他图块的不同编码层。在另一方面,控制器1280可以控制某些层的某些帧中的可允许的预测参考。在又一方面,控制器1280可基于所接收的视口信息来控制由图像处理器1230产生的投影格式或缩放层。
[0073]
图13是根据本公开的一个方面的解码系统1300的功能框图。解码系统1300可包括
收发器1310、缓冲器1315、视频解码器1320、图像处理器1330、视频接收器1340、参考画面存储库1350、预测器1360和控制器1370。收发器1310可从信道接收经编码的视频数据,并且在将其发送到视频解码器1320之前将其路由到缓冲器1315。经编码的视频数据可被组织成时间块和空间图块,并且可包括用于不同图块的不同编码层。缓冲器1315中缓冲的视频数据可跨越多个块的视频时间。视频解码器1320可以参考由预测器1360提供的预测数据对经编码的视频数据进行解码。视频解码器1320可以在由生成经编码的视频的编码系统的源图像处理器(诸如图12的图像处理器1220)确定的表示中输出经解码的视频数据。图像处理器1330可根据当前在解码系统处有效的视口取向从解码视频中提取视频数据。图像处理器1330可将所提取的视口数据输出到视频接收设备1340。控制器1370可以控制图像处理器1330,包括视频解码器1320和收发器1310的视频解码处理。
[0074]
如图所示,视频接收器1340可以消耗由解码系统1300生成的解码视频。视频接收器1340可由例如渲染解码视频的显示设备来实现。在其他应用中,视频接收器1340可由将经解码的视频集成到其内容中的计算机应用(例如,游戏应用、虚拟现实应用和/或视频编辑应用)来实现。在一些应用中,视频接收器可以为其应用处理解码视频的整个多向视场,但是在其他应用中,视频接收器1340可以处理从解码视频中选择的内容子集。例如,当在平板显示器上渲染经解码的视频时,仅显示多向视频的选定子集可能就足够了。在另一个应用中,经解码的视频可以多向格式渲染,例如在天文馆中。
[0075]
收发器1310还可以将由控制器1370提供的视口信息(诸如视口位置和/或优选投影格式)发送到经编码的视频源,诸如图12的终端1200。当视口位置改变时,控制器1370可向收发器1310提供新的视口信息以向经编码的视频源发送。响应于新的视口信息,收发器1310可以接收某些先前已接收但尚未解码的经编码的视频图块的丢失层,并将其存储在缓冲器1315中。然后,解码器1320可以使用这些替换层(先前丢失的)而不是基于旧视口位置的先前已接收的层来对这些图块进行解码。
[0076]
控制器1370可基于视口位置来确定视口信息。在一个示例中,视口信息可仅包括视口位置,并且经编码的视频源然后可使用该位置来识别哪些编码层提供给用于特定空间图块的解码系统1300。在另一个示例中,从解码系统发送的视口信息可包括对特定图块的特定层的特定请求,从而从而将大部分视口位置映射留在了解码系统中。在又一示例中,视口信息可包括基于视口位置对特定投影格式的请求。
[0077]
本公开的原理可用于具有多种多向图像的投影格式的应用。在一个方面,使用合适的投影转换函数可以在图14

图16的各种投影格式之间转换。
[0078]
图14示出了根据一个方面的示例性多向图像投影格式。多向图像1430可由沿着轴线枢转的相机1410生成。在操作期间,相机1410可在其沿预定角距离1420(优选地,完整的360
°
)枢转时捕获图像内容,并将所捕获的图像内容合并到360
°
图像中。捕获操作可以产生表示已经沿着切片1422划分的多向视场的多向图像1430,该切片将圆柱形视场划分为二维数据阵列。在多向图像1430中,图像1430的任一个边缘1432、1434上的像素表示相邻图像内容,即使它们出现在多向图像1430的不同边缘上。
[0079]
图15示出了根据另一方面的示例性多向图像投影格式。在图15的方面,相机1510可具有图像传感器1512

1516,该图像传感器从公共参考点捕获不同视场中的图像数据。相机1510可输出多向图像1530,其中图像内容根据立方体地图捕获操作1520布置,其中传感
器1512

1516捕获关于相机1510的不同视场1521

1526(通常为六个)中的图像数据。可以根据立方体地图布局1530将不同视场1521

1526的图像数据拼接在一起。在图15示出的示例中,可根据相应视图1521

1526之间的图像内容的“接缝”在多向画面1530内捕获、缝合和布置与左视图1521、前视图1522、右视图1523、后视图1524、顶视图1525和底视图1526对应的六个子图像。因此,如图15所示,与来自左图像1531、右图像1533、顶图像1535和底图像1536中的每一个的像素相邻的来自前图像1532的像素表示分别与相邻子图像的内容相邻的图像内容。类似地,来自彼此相邻的右图像1533和后图像1534的像素表示相邻图像内容。此外,来自后图像1534的终端边缘1538的内容与来自左图像的相对终端边缘1539的内容相邻。图像1530还可具有不属于任何图像的区域1537.1

1537.4。图15中所示的表示通常被称为“立方体地图”图像。
[0080]
立方体地图图像的编码可以若干方式发生。在一个编码应用中,立方体地图图像1530可以被直接编码,其包括不具有图像内容的空区域1537.1

1537.4的编码。图3的编码技术可以应用于立方体地图图像1530。
[0081]
在其他编码应用中,立方体地图图像1530可以在编码之前被重新打包以消除空区域1537.1

1537.4,如图像1540所示。图3中所述的技术也可应用于打包图像帧1540。在解码之后,经解码的图像数据可在显示之前被解包。
[0082]
图16示出了另一示例性多向投影图像格式1630。图16的帧格式可由称为全景相机的另一类型的全向相机1600生成。全景相机通常由一对鱼眼透镜1612、1614和相关联的成像设备(未示出)组成,每个成像设备被布置成在半球形视场中捕获图像数据。可将从半球形视场捕获的图像拼接在一起以表示完整的360
°
视场中的图像数据。例如,图16示出了包含来自相机的半球形视图1622、1624的图像内容1631、1632并且在接缝1635处接合的多向图像1630。上文所述的技术还可应用于此类格式1630的多向图像数据。
[0083]
在一个方面,诸如图14

图16中的相机1410、1510和1610,除了可见光之外,还可以捕获深度或遮挡信息。在一些情况下,深度和遮挡信息可以作为多投影格式(诸如图像,诸如1430、1530、1540和1630)存储为单独的数据通道。在其他情况下,深度和遮挡信息可作为单独的数据通道被包括在清单中,诸如图10的清单1050。
[0084]
图17示出了示例性预测参考模式。视频序列1700包括基本层1720和增强层1710,每个层包括一系列对应的帧。基本层1720包括内编码帧l0.i0,然后是预测帧l0.p1至l0.p7。增强层1710包括预测帧l1.p0

l1.p7。内编码帧l0.i0可被编码,而无需来自任何其他帧的预测。可通过预测由图17中的实线箭头指示的参考帧的帧部分的像素块来对预测的帧进行编码,其中箭头指向可用作触摸箭头尾部的帧的预测参考的参考帧。例如,可以仅使用前一基本层帧作为预测参考来预测基本层中的预测帧。如图17所示,仅从帧l0.i0作为参考来预测l0.p1,l0.p1可能是l0.p2的参考,l0.p2可能是l0.p3的参考,依此类推,如基本层内部的箭头所示1720。增强层1710的帧可以仅使用对应的基本层参考帧来预测,使得l0.i0可以是l1.p0的预测参考,l0.p1可以是l1.p1的预测参考,等等。
[0085]
在一个方面,增强层1710帧也可以从先前的增强层帧预测,如图17中的可选虚线箭头所示。例如,帧l1.p7可从l0.p7或l1.p6预测。增强层1710内的预测参考可以受到限制,使得仅增强层帧的子集可以使用其他增强层帧作为预测参考,并且增强层帧的该子集可以遵循图案。在图17的示例中,增强层1710的每隔一帧(l1.p0、l1.p2、l1.p4和l1.p6)仅从对
应的基本层帧预测,而交替帧(l1.p1、l1.p3、l1.p5、l1.p7)可从基本层帧或先前的增强层帧预测。可以在仅从较低层预测的帧处促进到增强层1710的层切换,因为增强层的先前帧不需要先前解码以使用参考帧。仅从较低层帧预测的增强层帧可被认为是安全切换帧,有时称为关键帧,因为来自增强层的先前帧不需要用于正确解码这些安全切换帧。
[0086]
在一个方面,当可容许一些解码的质量漂移时,接收终端可切换到非安全切换帧上的新层(new layer)或新层(new tier)。非安全切换帧可以在不访问用于其预测的参考帧的情况下被解码,并且随着来自错误预测的错误累积成所谓的质量漂移,质量逐渐变差。错误隐藏技术可用于减轻由于非安全切换增强层帧处的切换而引起的质量漂移。示例性错误隐藏技术包括从类似于丢失参考帧的帧进行预测,以及定期内部刷新机制。通过容忍由非安全切换帧处的切换引起的一些质量偏移,可减少移动视口与呈现新视口位置的图像之间的延迟。
[0087]
图18示出了用于组合的两个示例性多向投影。可以多种投影格式对同一场景的图像进行编码。在图18的示例中,多向场景被编码为具有第一投影格式的第一图像,诸如等矩形投影格式的图像1810,并且相同场景被编码为具有第二投影格式的第二图像,诸如立方体地图投影格式的图像1820。投影到等矩形图像1810上的感兴趣区域1812和投影到立方体地图图像1820上的感兴趣区域1822均可对应于投影到图像1810和1820中的场景中的相同感兴趣区域。立方体地图图像1820可以包括空区域1837.1

1837.4以及左、前、右、后、顶和底的立方体面1831

1836。
[0088]
在一个方面,可组合多种投影格式以形成比可从单个投影格式产生的感兴趣区域(roi)更好的重构。可以从编码投影的加权总和或从编码投影的滤波总和产生重构的感兴趣区域roi
combo
。例如,图18的场景中的感兴趣区域可被重构为:
[0089]
roi
combo
=f(roi1,roi2)
[0090]
其中f()是用于组合两个感兴趣区域图像的函数,第一感兴趣区域图像roi1可以是例如来自roi 1812的等矩形感兴趣区域图像,并且第二感兴趣区域图像roi2可以是例如来自roi 1822的立方体地图感兴趣区域图像。如果f()为加权总和,
[0091]
roi
combo
=alpha*roi1+beta*roi2[0092]
其中α和β为预先确定的常数,并且α+β=1。在组合的投影格式中像素位置不完全对应的情况下,可以使用投影格式转换函数,如:
[0093]
roi
combo
=alpha*pconv(roi1)+beta*roi2[0094]
其中pconv()是将第一投影格式的图像转换为第二投影格式的函数。例如,pconv()可以只是上采样或下采样函数。
[0095]
在另一方面,用于编码整个多向场景(诸如用于编码基本层)的最佳投影形成可不同于用于仅编码感兴趣区域(诸如用于增强层中的编码)的最佳投影格式。因此,图18的场景的多层编码可以包括在第一层中编码整个等矩形图像1810,并且在第二层中仅编码立方体地图图像1820的roi1822。例如,roi 1822可以通过将整个前表面1832编码为立方体地图图像1820的图块来编码。在另一方面,该第二层可被编码为第一层基本层上方的增强层,如图19所示。
[0096]
图19示出了用于由两个不同的多向投影产生残差的示例性系统。可以通过转换过程1902将投影格式p1的基本层roi图像1910转换为投影格式p2,以创建投影格式p2的roi图
像1920的预测。在加法器1904处,从实际p2roi图像1920中减去来自转换过程1902的预测图像,以产生p2残差roi,然后可以将其编码为p1基本层上的p2投影增强层。在一个方面,基本层可对投影p1中的整个场景进行编码,而增强层可仅对投影p2中的场景内的感兴趣区域进行编码。例如,当投影p1优选用于编码整个场景,而投影p2优选用于编码特定感兴趣区域时,该方面可能是有益的。例如,参考图18,第一层可以被编码为包括整个等矩形图像1810的基本层,而第二层可以被编码为包括立方体地图图像1820的子集的增强层,诸如单个图块或感兴趣区域。
[0097]
前述讨论已在视频编码器和解码器的上下文中描述了本公开各个方面的操作。这些部件常常作为电子设备来提供。视频解码器和/或控制器可以被嵌入在集成电路中,诸如专用集成电路、现场可编程门阵列和/或数字信号处理器。另选地,它们可以被嵌入到在相机设备、个人计算机、笔记本电脑、平板电脑、智能电话或计算机服务器上执行的计算机程序中。此类计算机程序包括处理器指令,并且通常被存储在诸如基于电子,基于磁性和/或基于光学的存储设备之类的物理存储介质中,在此它们被处理器读取并被执行。解码器常常被封装在消费电子设备中,诸如智能电话、平板电脑、游戏系统、dvd播放器、便携式媒体播放器等;并且,它们也可以被封装在消费软件应用程序中,诸如视频游戏、媒体播放器、媒体编辑器等。并且,当然,这些部件可以被提供作为根据需要在专用硬件部件和经编程的通用处理器上分配功能的混合系统。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1