独立多分辨率译码的制作方法

文档序号:15885991发布日期:2018-11-09 18:53阅读:210来源:国知局
独立多分辨率译码的制作方法

本公开涉及例如视频数据等媒体数据的传送。

背景技术

数字视频能力可以并入到多种多样的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(pda)、膝上型或桌上型计算机、平板计算机、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能手机”、视频电话会议装置、视频流式传输装置等。数字视频装置实施视频译码技术,例如由mpeg-2、mpeg-4、itu-th.263、itu-th.264/mpeg-4第10部分高级视频译码(avc)、itu-th.265,也称为高效视频译码(hevc)定义的标准以及此类标准的扩展中描述的那些技术。视频装置可以通过实施这些视频译码技术而更有效率地传输、接收、编码、解码和/或存储数字视频信息。

视频译码技术包含空间(图片内)预测和/或时间(图片间)预测以减少或移除视频序列中固有的冗余。对基于块的视频译码,视频切片(例如,视频图片或视频图片的一部分)可以被分割成视频块,视频块还可被称作译码树单元(ctu)、译码单元(cu)和/或译码节点。使用关于同一图片中的邻接块中的参考样本的空间预测对图片的帧内译码(i)切片中的视频块进行编码。图片的帧间译码(p或b)切片中的视频块可以使用关于同一图片中的邻接块中的参考样本的空间预测,或关于其它参考图片中的参考样本的时间预测。图片可以被称为帧,且参考图片可以被称为参考帧。



技术实现要素:

通常,本公开的技术涉及基于用户的视野或焦点来针对画布(或显示器)的不同区域检索各种质量的视频数据。例如,可以针对用户视野内的区域的第一子集检索高质量(例如,空间分辨率或像素密度)的视频数据,可以针对相邻区域的第一子集的区域的第二子集检索较低质量的视频数据,可以针对相邻区域的第二子集的区域的第三子集检索更低质量的视频数据。以这种方式,如果用户的视野(或视觉焦点)改变,则可以降低感知质量的降低程度。也就是说,在用户的视觉焦点改变时与可以检索到高质量视频数据时之间,假设用户的视觉焦点已经转移到区域的第二子集,当前显示的视频数据将不一定是最低可用质量。在一些实例中,可用质量可以对应于空间分辨率、量化参数(qp)、峰值信噪比(psnr)或位率中的至少一者。

在一个实例中,一种检索视频数据的方法包含:确定要经由显示器显示的视频数据的多个区域;针对用户的视觉焦点所指向的所述多个区域的第一子集检索具有第一质量的视频数据;针对邻接所述多个区域的第一子集的所述多个区域的第二子集检索具有第二质量的视频数据,其中第二质量低于第一质量;以及针对在第一子集和第二子集之外的所述多个区域的第三子集检索具有第三质量的视频数据,其中第三质量低于第二质量。

在另一实例中,一种用于检索视频数据的装置包含:耦合到显示器的显示器接口、经配置以存储视频数据的存储器、以及一或多个处理器,其经配置以:确定要经由显示器显示的视频数据的多个区域;针对用户的视觉焦点所指向的所述多个区域的第一子集检索具有第一质量的视频数据;针对邻接所述多个区域的第一子集的所述多个区域的第二子集检索具有第二质量的视频数据,其中第二质量低于第一质量;以及针对在第一子集和第二子集之外的所述多个区域的第三子集检索具有第三质量的视频数据,其中第三质量低于第二质量。

在另一实例中,一种用于检索视频数据的装置包含:用于确定要经由显示器显示的视频数据的多个区域的装置;用于针对用户的视觉焦点所指向的所述多个区域的第一子集检索具有第一质量的视频数据的装置;用于针对邻接所述多个区域的第一子集的所述多个区域的第二子集检索具有第二质量的视频数据的装置,其中第二质量低于第一质量;以及用于针对在第一子集和第二子集之外的所述多个区域的第三子集检索具有第三质量的视频数据的装置,其中第三质量低于第二质量。

在另一实例中,一种计算机可读存储媒体经指令编码,所述指令当执行时使得处理器:确定要经由显示器显示的视频数据的多个区域;针对用户的视觉焦点所指向的所述多个区域的第一子集检索具有第一质量的视频数据;针对邻接所述多个区域的第一子集的所述多个区域的第二子集检索具有第二质量的视频数据,其中第二质量低于第一质量;以及针对在第一子集和第二子集之外的所述多个区域的第三子集检索具有第三质量的视频数据,其中第三质量低于第二质量。

在附图和以下描述中阐明一或多个实例的细节。其它特征、目标和优势将从所述描述和图式以及从权利要求书而显而易见。

附图说明

图1是示出可以使用传送多分辨率媒体数据的技术的实例视频编码和解码系统的框图。

图2a和2b是示出用于呈现全景视频数据的显示器的模型的表示的概念图。

图3a是示出柱面全景视频数据的实例的概念图。

图3b是示出立方体投影中的实例瓦片译码的概念图。

图4是示出被划分成区域的实例画布的概念图。

图5是示出左眼视图和右眼视图这两个视图的视频数据序列的概念图。

图6是示出根据本公开的技术的实例方法的流程图。

图7是示出具有六个面的立方体的概念图,每个面被划分成四个瓦片,总共二十四个瓦片(或区域)。

图8是示出与图7的实例瓦片相对的瓦片和相邻的瓦片的实例的概念图。

图9是示出实例立方体图投影的概念图。

图10是示出另一实例立方体图投影的概念图。

图11是示出另一实例立方体图投影的概念图。

具体实施方式

本公开的技术大体上涉及针对要回放媒体数据的不同区域传输(例如,发送和/或接收)以各种质量等级译码的媒体数据(例如视频数据)。例如,本公开的技术可以由包含全景显示器的客户端装置使用,全景显示器例如是部分或完全包围观看者的显示器。通常,显示器经配置以使得用户的视觉焦点在给定时间仅指向显示器的一部分。

根据本公开的技术,包含或通信地耦合到此类显示器的客户端装置可以针对用户焦点指向的显示器的区域检索较高质量的媒体数据(例如具有较大空间分辨率的媒体数据),针对在空间上邻接用户焦点指向的区域的显示器区域检索稍低质量的媒体数据,并且针对显示器的其它区域检索更低质量的媒体数据。客户端装置可以缓冲检索到的视频数据以用于后续的解码和回放。

本公开的技术可以降低解码器复杂度。如今,许多智能手机包含能够以每秒30帧对4k(例如,3840×2160像素)视频数据进行解码的解码器。一些智能手机甚至包含能够以每秒60帧对4k视频数据进行解码的解码器。然而,高质量的全景视频数据需要更大的画布(即,完整的显示区域)。例如,与用于全景回放的4k画布相比,6k(例如,6144×3072像素)画布已经显示出能提供明显的视觉质量增益。凭借头戴式显示器(hmd)更好的光学性能以及更好的内容,可以通过更高的分辨率显著提高视觉质量。这是因为人眼可以在视野中心处分辨高达1/60度。

本公开描述部分解码技术,其可以改善用户的体验。具体地,根据这些技术,客户端装置的解码器可以期望的分辨率对用户正在观察的内容(即,用户的视觉焦点所指向的内容)进行解码,并且可以较低分辨率对其它内容进行解码。以这种方式,这些技术可以减少数据带宽。这可能是有益的,因为目前美国的平均因特网连接带宽约为5mbps,而以每秒30帧接收4k视频所需的带宽约为20-30mbps。

在典型的部分解码方案中,以两个空间层的形式对全景视频进行译码。使用帧间和帧内预测对基础层进行译码。针对整个画布(例如,整个球形显示器)发送并解码基础层。可以使用帧间和帧内预测两者来预测增强层。基于用户的当前头部位置,可以仅根据需要发送和解码增强层。在这样的设置中,如果用户突然发生头部移动,则将显示低分辨率基础层视频直到可以显示新视图的增强层视频。利用低延迟时间预测方案(例如i帧之间的小间隔,或甚至所有帧内译码),可以保持显示增强层视频的时延较小,但是在时延与压缩效率之间存在折衷。当基于观看方向流式传输更高分辨率的内容时,显示更高分辨率的时延可能相对较高。

此外,在典型的部分解码方案中,可以使用或不使用层间预测。具有层间预测的可扩展译码可能或可能不被某些解码装置支持。如果使用层间预测并且增强层不使用时间预测,则可以避免观看高分辨率视频的时延。同样,在时延与压缩效率之间存在折衷。在没有时间预测的情况下,位率增加可能非常高。

通常,增强层全景被划分成多个瓦片(或区域),这些瓦片在空间上和时间上彼此独立地译码。视频编码器可以强制额外约束以禁止瓦片间时间预测。典型的视场(fov)是~90×90度。在点对点连接中,可以按需存取增强层数据。

典型的部分解码方案可能遇到某些限制。例如,当用户转动其头部以在另一个方向上观看内容时,较低质量的内容会显示一段时间。也就是说,在用户将其头部朝向画布的相应区域转动的情况下,检索、缓冲、解码和呈现较低质量的内容。在传统方案中,质量下降是极其严重的。例如,6k分辨率的视频数据可能降至1080p分辨率,这是约9倍的质量降低。显示更高质量内容的延迟也可能非常大,例如,在流式传输场景中有几秒钟。

相对于上述传统方案,本公开的技术可以用于改进全景显示。例如,本公开描述了独立的多分辨率译码方案。此方案允许从远离用户的当前视点的位置(即,用户的视觉焦点所指向的点)逐渐降低质量。这可以在位率与用户体验之间实现更好的折衷。同样,这可以允许与传统的部分解码方法类似的解码器性能增益,同时改善用户体验。例如,这些技术可以允许以每秒30帧(每帧1800万像素(百万像素,mp))对6k分辨率单声道视频进行解码和呈现,以每秒30帧(每帧8mp)全景观看4k分辨率视频,具有解码能力的装置。这些技术还可以允许以每秒30帧观看4k分辨率视频,以每秒30帧立体声全景观看4k分辨率,以每秒30帧观看单声道视频,具有解码能力的装置。此外,这些技术还可以允许以每秒30帧观看6k分辨率视频数据,以每秒30帧全景观看6k分辨率单声道视频数据,具有解码能力的装置。

本公开还描述与基于瓦片(或区域)组合的多存储方案有关的技术,其中可以通过在编码器处将较小瓦片组合成较大瓦片来避免译码效率的损失。这可以使得增加存储冗余,但是当用户的视觉焦点指向可以使用较大瓦片表示的显示器位置时改善了整体用户体验和译码效率。

此外,本公开描述可以减少立体声视频数据的时延的技术。具体地,当要显示立体声视频数据时(例如,为了产生三维(3d)效果),立体声视图中的i帧可以相对于彼此偏移。例如,左眼视图中的i帧可以出现在图片群组(gop)周期的开始处。在相应的右眼视图中,i帧可以出现在左眼视图的i帧之间的中间。以这种方式,当在区域的质量等级(例如,空间分辨率)之间切换时,可以在另一个视图之前切换具有下一个最接近的i帧的视图。以这种方式,在短暂的一段时间内,其中一个视图可能具有比另一个更高的质量。这可以通过减少接收更高质量视频数据的时延来改善用户体验。

图1是示出可以使用传送多分辨率(或一般是多质量)媒体数据的技术的实例视频编码和解码系统10的框图。如图1所示,系统10包含源装置12,所述源装置提供将在稍后由目的地装置14解码的编码视频数据。具体地,源装置12经由计算机可读媒体16将视频数据提供给目的地装置14。源装置12和目的地装置14可以包括各种装置中的任何一种,包含台式计算机、笔记本(即,笔记本电脑)计算机、平板计算机、机顶盒、例如所谓的“智能”电话之类的电话手机、所谓的“智能”垫、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置等。在一些情况下,可装备源装置12和目的地装置14以用于无线通信。

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

在一些实例中,可以将编码数据从输出接口22输出到存储装置。类似地,可以通过输入接口从存储装置存取编码数据。存储装置可以包含各种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、dvd、cd-rom、快闪存储器、易失性或非易失性存储器、或用于存储编码视频数据的任何其它适合的数字存储媒体。在又一实例中,存储装置可以对应于文件服务器或可存储由源装置12产生的编码视频的另一中间存储装置。目的地装置14可以经由流式传输或下载从存储装置存取存储的视频数据。文件服务器可以是能够存储编码视频数据且将编码视频数据传输到目的地装置14的任何类型的服务器。实例文件服务器包含web服务器(例如,用于网站)、ftp服务器、网络附接存储(nas)装置和本地磁盘驱动器。目的地装置14可以通过包含因特网连接的任何标准数据连接来存取编码视频数据。这可以包含无线信道(例如,wi-fi连接)、有线连接(例如,dsl、电缆调制解调器等),或适合于存取存储在文件服务器上的编码视频数据的两者的组合。编码视频数据从存储装置的传输可以是流式传输、下载传输或其组合。

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

在图1的实例中,源装置12包含视频源18、视频编码器20和输出接口22。目的地装置14包含输入接口28、视频解码器30、显示装置32和区域确定单元34。根据本公开,源装置12的视频编码器20可经配置以应用用于传送多分辨率媒体数据的技术的某些方面。目的地装置14的区域确定单元34和视频解码器30还可经配置以执行本公开的技术的各个方面。在其它实例中,源装置和目的地装置可以包含其它组件或布置。例如,源装置12可以从外部视频源18(例如,外部相机)接收视频数据。同样地,目的地装置14可以与外部显示装置介接,而不是包含集成的显示装置。

图1所示的系统10仅仅是一个实例。可以通过任何数字视频编码和/或解码装置执行用于传送多分辨率媒体数据的技术。尽管本公开的技术通常由视频编码装置执行,但是所述技术也可以通过视频编码器/解码器(通常被称作“编解码器”)执行。此外,本公开的技术还可以由视频预处理器执行。源装置12和目的地装置14仅仅是此类译码装置的实例,其中源装置12产生传输到目的地装置14的译码视频数据。在一些实例中,装置12、14可以大体上对称的方式操作,使得装置12、14中的每一者包含视频编码和解码组件。因此,系统10可以支持视频装置12、14之间的单向或双向视频传输,以(例如)用于视频流式传输、视频回放、视频广播或视频电话。

源装置12的视频源18可以包含视频捕捉装置,例如摄像机、含有先前捕捉视频的视频档案和/或用于从视频内容提供者接收视频的视频馈送接口。作为另一替代方案,视频源18可以产生基于计算机图形的数据作为源视频,或直播视频、存档视频与计算机产生的视频的组合。在一些情况下,如果视频源18是摄像机,那么源装置12和目的地装置14可以形成所谓的摄像机电话或视频电话。然而,如上文所提及,本公开所描述的技术一般可以适用于视频译码,且可以应用于无线和/或有线应用。在每一情况下,捕捉、预先捕捉或电脑产生的视频可以通过视频编码器20编码。接着可以通过输出接口22将编码视频信息输出到计算机可读媒体16上。

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

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

视频编码器20和视频解码器30可以根据视频译码标准操作,所述视频译码标准例如是高效视频译码(hevc)标准,也被称作itu-th.265。替代地,视频编码器20和视频解码器30可以根据其它专属或行业标准或此类标准的扩展操作,所述标准例如是itu-th.264标准,替代地被称作mpeg-4第10部分高级视频译码(avc)。然而,本公开的技术不限于任何特定译码标准。视频译码标准的其它实例包含mpeg-2和itu-th.263。虽然图1中未示出,但在一些方面中,视频编码器20和视频解码器30可以各自与音频编码器和解码器集成,并且可以包含适当的多路复用器-多路分用器单元或其它硬件和软件以处理共同数据流或单独数据流中的音频和视频两者的编码。如果适用,多路复用器-多路分用器单元可以符合ituh.223多路复用器协议,或例如用户数据报协议(udp)等其它协议。

视频编码器20和视频解码器30各自可以被实施为各种合适的编码器或解码器电路中的任一种,例如包含一或多个处理器,例如一或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、离散逻辑、软件、硬件、固件或其任何组合。当部分地以软件实施技术时,装置可以将用于软件的指令存储于合适的非暂时性计算机可读媒体中且使用一或多个处理器以硬件执行指令从而执行本公开的技术。因此,编码器或解码器可以由各种集成处理电路中的任一种形成,包括实施为固定硬件处理电路、可编程处理电路和/或固定和可编程处理电路两者的组合的一或多个处理器。视频编码器20和视频解码器30中的每一者可以包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可以集成为相应装置中的组合编码器/解码器(编解码器)的部分。

一般来说,根据itu-th.265,视频图片可以被划分成可以包含亮度和色度样本两者的一连串译码树单元(ctu)(或最大译码单元(lcu))。替代地,ctu可以包含单色数据(即,仅亮度样本)。位流内的语法数据可以定义ctu(就像素数目来说的最大译码单元)的大小。切片包含呈译码次序的许多连续ctu。视频图片可以被分割成一或多个切片。每一ctu可以根据四叉树而分裂成译码单元(cu)。一般来说,四叉树数据结构包含每个cu一个节点,其中根节点对应于ctu。如果cu分裂成四个子cu,那么对应于cu的节点包含四个叶节点,所述叶节点中的每一者对应于子cu中的一者。

四叉树数据结构的每一节点可以提供对应cu的语法数据。例如,四叉树中的节点可以包含分裂标志,从而指示对应于节点的cu是否分裂成子cu。cu的语法元素可以递归地定义,且可以取决于所述cu是否分裂成若干子cu。如果cu未进一步分裂,那么将其称作叶cu。在本公开中,叶cu的四个子cu也将被称作叶cu,即使不存在原始叶cu的明确分裂时也是如此。例如,如果16×16大小的cu不进一步分裂,则尽管16×16cu从未分裂,四个8×8子cu也将被称作叶cu。

cu具有与h.264标准的宏块类似的目的,除了cu不具有大小区别之外。例如,ctu可以分裂成四个子节点(也被称作子cu),且每一子节点又可以是父节点且分裂成另外四个子节点。最后未分裂的子节点(被称作四叉树的叶节点)包括译码节点,也被称作叶cu。与译码位流相关联的语法数据可以定义ctu可以分裂的最大次数(被称作最大cu深度),且还可以定义译码节点的最小大小。因此,位流还可以定义最小译码单元(scu)。本公开使用术语“块”来指代hevc的上下文中的cu、预测单元(pu)或变换单元(tu)中的任一者,或者在其它标准的上下文中的类似数据结构(例如,宏块和其在h.264/avc中的子块)。

cu包含译码节点和与所述译码节点相关联的预测单元(pu)和变换单元(tu)。cu的大小对应于译码节点的大小,且通常为正方形形状。cu的大小范围可以从8×8像素直到具有最大大小(例如,64×64像素或更大)的ctu的大小。每一cu可以含有一或多个pu和一或多个tu。例如,与cu相关联的语法数据可以描述将cu分割成一或多个pu。分割模式可以在cu被跳过或经直接模式编码、经帧内预测模式编码或经帧间预测模式编码之间有所不同。pu可被分割成非正方形形状。例如,与cu相关联的语法数据还可以描述将cu根据四叉树分割成一或多个tu。tu的形状可以是正方形或非正方形(例如,矩形)。

hevc标准允许根据tu进行变换,tu可针对不同cu而有所不同。tu通常是基于针对分割ctu定义的给定cu内的pu的大小而定大小,但是情况可能并不总是如此。tu通常与pu大小相同或小于pu。在一些实例中,对应于cu的残余样本可以使用被称为“残余四叉树”(rqt)的四叉树结构来细分成较小单元。rqt的叶节点可以被称为变换单元(tu)。可以变换与tu相关联的像素差值以产生变换系数,所述变换系数可以经过量化。

叶cu可以包含一或多个预测单元(pu)。一般来说,pu表示对应于所述对应cu的全部或一部分的空间区域,且pu可以包含用于针对pu检索和/或产生参考样本的数据。此外,pu包含与预测相关的数据。例如,当pu经帧内模式编码时,用于pu的数据可以包含在残余四叉树(rqt)中,残余四叉树可以包含描述用于对应于pu的tu的帧内预测模式的数据。rqt也可被称作变换树。在一些实例中,可以在叶cu语法而不是rqt中用信号表示帧内预测模式。作为另一实例,当pu经帧间模式编码时,pu可以包含定义pu的运动信息(例如,一或多个运动向量)的数据。定义pu的运动向量的数据可以描述(例如)运动向量的水平分量、运动向量的竖直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量所指向的参考图片,和/或运动向量的参考图片列表(例如,列表0、列表1或列表c)。

具有一或多个pu的叶cu还可以包含一或多个变换单元(tu)。变换单元可以使用rqt(也称为tu四叉树结构)来指定,如上文所论述。例如,分裂标志可以指示叶cu是否分裂成四个变换单元。接着,每一变换单元可以进一步分裂成更多子tu。当tu未进一步分裂时,其可以被称作叶tu。总体上,对于帧内译码,所有属于某一叶cu的叶tu共享相同的帧内预测模式。也就是说,一般应用相同的帧内预测模式来计算叶cu的所有tu的预测值。对于帧内译码,视频编码器可以使用帧内预测模式将每一叶tu的残余值计算为cu的对应于tu的部分与原始块之间的差。tu未必限于pu的大小。因而,tu可比pu大或小。对于帧内译码,pu可以与相同cu的对应叶tu并置。在一些实例中,叶tu的最大大小可以对应于对应叶cu的大小。

此外,叶cu的tu还可与相应的四叉树数据结构(被称作残余四叉树(rqt))相关联。也就是说,叶cu可以包含指示叶cu如何分割成tu的四分树。tu四叉树的根节点通常对应于叶cu,而cu四叉树的根节点通常对应于ctu(或lcu)。rqt的未分裂的tu被称作叶tu。一般来说,本发明分别使用术语cu和tu指代叶cu和叶tu,除非另有指出。

视频序列通常包含从随机存取点(rap)图片开始的一系列视频帧或图片。视频序列可以包含在表示视频序列的特性的序列参数集(sps)中的语法数据。图片的每一切片可以包含描述用于相应切片的编码模式的切片语法数据。视频编码器20通常对个别视频切片内的视频块进行操作以便对视频数据进行编码。视频块可以对应于cu内的译码节点。视频块可以具有固定或变化的大小,并且可以根据指定译码标准而有不同大小。

作为实例,可以针对不同大小的pu执行预测。假设特定cu的大小是2n×2n,则可以对2n×2n或n×n的pu大小执行帧内预测,并且可以对2n×2n、2n×n、n×2n或n×n的对称pu大小执行帧间预测。还可以针对2n×nu、2n×nd、nl×2n和nr×2n的pu大小执行帧间预测的不对称分割。在不对称分割中,不分割cu的一个方向,但是将另一方向分割成25%和75%。cu的对应于25%分割区的部分通过“n”后接续“上(u)”、“下(d)”、“左(l)”或“右(r)”的指示来指示。因此,例如,“2n×nu”是指水平地分割的2n×2ncu,其中顶部为2n×0.5npu,而底部为2n×1.5npu。

在本公开中,“n×n”和“n乘n”可互换使用来指在竖直和水平尺寸方面的视频块的像素尺寸,例如,16×16个像素或16乘16个像素。一般来说,16×16块将在竖直方向上具有16个像素(y=16),且在水平方向上具有16个像素(x=16)。同样,n×n块总体上在竖直方向上具有n个像素,并且在水平方向上具有n个像素,其中n表示非负整数值。块中的像素可按行和列布置。此外,块未必需要在水平方向与竖直方向上具有相同数目的像素。例如,块可以包括n×m个像素,其中m未必等于n。

在使用cu的pu进行帧内预测性或帧间预测性译码之后,视频编码器20可以计算cu的tu的残余数据。pu可以包括描述在空间域(也称为像素域)中产生预测性像素数据的方法或模式的语法数据,且tu可以包括在对残余视频数据应用变换(例如,离散余弦变换(dct)、整数变换、小波变换或概念上类似变换)之后变换域中的系数。残余数据可以对应于未经编码图片的像素与对应于pu的预测值之间的像素差。视频编码器20可以将tu形成为包含表示cu的残余数据的量化变换系数。也就是说,视频编码器20可以计算残余数据(采用残余块的形式)、变换残余块以产生变换系数的块,且接着量化变换系数以形成量化变换系数。视频编码器20可以形成包含量化变换系数的tu,以及其它语法信息(例如,tu的分裂信息)。

如上所述,在任何变换以产生变换系数后,视频编码器20可以执行变换系数的量化。量化总体上是指对变换系数进行量化以可能减少用以表示所述系数的数据的量从而提供进一步压缩的过程。量化过程可以减小与系数中的一些或全部相关联的位深度。例如,可以在量化期间将n位值向下舍入到m位值,其中n大于m。

在量化之后,视频编码器可以扫描变换系数,从包含量化变换系数的二维矩阵产生一维向量。所述扫描可经设计以将较高能量(并且因此较低频率)的系数放置在阵列的前面,并且将较低能量(并且因此较高频率)的系数放置在阵列的后面。在一些实例中,视频编码器20可以利用预定义扫描顺序来扫描量化变换系数以产生可被熵编码的串行化向量。在其它实例中,视频编码器20可以执行自适应扫描。在扫描量化变换系数以形成一维向量之后,视频编码器20可以(例如)根据上下文自适应可变长度译码(cavlc)、上下文自适应二进制算术译码(cabac)、基于语法的上下文自适应二进制算术译码(sbac)、概率区间分割熵(pipe)译码或另一熵编码方法对一维向量进行熵编码。视频编码器还20还可以对与编码视频数据相关联的语法元素进行熵编码以供视频解码器30在对视频数据进行解码时使用。

为了执行cabac,视频编码器20可以向待传输的符号指派上下文模型内的上下文。例如,所述上下文可以与符号的相邻值是否为非零有关。为了执行cavlc,视频编码器20可以选择用于待传输符号的可变长度码。vlc中的码字可经建构使得相对较短码对应于更有可能的符号,而较长码对应于不太可能的符号。以这种方式,使用vlc可较之于例如为待传输的每一符号使用等长码字而言实现位节省。概率判定可以基于指派给符号的上下文。

一般来说,视频解码器30执行尽管与由视频编码器20执行的过程互逆但与其大体上类似的过程,以对编码数据进行解码。例如,视频解码器30逆量化且逆变换所接收tu的系数以再生残余块。视频解码器30使用以信号表示的预测模式(帧内预测或帧间预测)来形成预测块。随后视频解码器30(在逐像素基础上)使预测块与残余块组合以再生原始块。可执行额外处理,例如执行解块过程以减少沿块边界的视觉假影。此外,视频解码器30可以通过尽管与视频编码器20的cabac编码过程互逆但与其大体上类似的方式使用cabac来解码语法元素。

视频编码器20可以进一步将基于块的语法数据、基于图片的语法数据和基于序列的语法数据等语法数据以图片标头、块标头、切片标头的形式或将序列参数集(sps)、图片参数集(pps)或视频参数集(vps)等其它语法数据发送到视频解码器30。

根据本公开的技术,输出接口22和输入接口28可以对应于网络接口,例如实施一或多个网络协议的网络接口卡(nic),例如以太网。计算机可读媒体16可以对应于网络连接,所述网络连接可以遍历私有或公共网络,例如因特网。

显示装置32可以对应于全景显示器。例如,显示装置32可以对应于头戴式显示器(hmd)或基本上或完全包围用户的一或多个屏幕。区域确定单元34可经配置以确定显示装置32的多个区域。例如,如图2a所示,在下文更详细地讨论,显示装置32可以包含多个瓦片,例如,对应于球形显示器(或可以模拟球形显示器的显示器,例如hmd)的立方体面的一或多个部分。

如本文所讨论的,区域确定单元34可以确定用户的视觉焦点(图1中未示出)所指向的区域中的一或多者。根据本公开的技术,区域确定单元34可以使输入接口28针对用户的视觉焦点所指向的显示装置32的区域的第一子集检索具有第一质量(例如,空间分辨率)的视频数据;针对邻接多个区域的第一子集的所述多个区域的第二子集检索具有第二质量的视频数据,其中第二质量低于第一质量;并且针对在第一子集和第二子集之外的所述多个区域的第三子集检索具有第三质量的视频数据,其中第三质量低于第二质量。

在一些实例中,可以检索并缓冲区域中的每一者的视频数据一段时间。缓冲器的大小可以取决于例如网络带宽波动。例如,如果可用网络带宽正在经历大的波动,则可以增加缓冲器大小,而如果可用网络带宽相对稳定,则可以减小缓冲器大小。以这种方式,缓冲器的大小可以与带宽波动量成反比。通常,可能希望保持缓冲器大小尽可能小,但是尽可能大以满足带宽波动。此外,在一些实例中,对于不同质量的视频数据可以使用不同的缓冲器大小。例如,相对大的缓冲器可以用于缩略图视频(即,覆盖整个画布的低质量视频),而较小的缓冲器可以用于画布的其它区域(例如,当前用户视场)。

根据本公开的技术,源装置12和目的地装置14可经配置以传送视频数据。例如,视频编码器20和视频解码器30可以实施本公开的独立多分辨率译码(imrc)技术。imrc是部分解码技术的新方法。与传统的部分解码方案中使用的可扩展译码方法相比,根据imrc,可以传送独立译码的多个分辨率流。imrc可以允许在位于逐渐远离用户的当前视点的一系列区域或瓦片上逐渐降低质量。

具体地,视频编码器20可以多个分辨率(例如,6k、4k、hd(1080p)和720p)对完整全景的数据进行编码。也就是说,视频编码器20可以这些多个分辨率中的每一者针对每一区域(或“瓦片”)对视频数据进行编码。以这种方式,对于每一分辨率,瓦片粒度可以是相同的。视频编码器20可以在编码各种分辨率时避免层间依赖性。因此,视频解码器30可以选择性方式(例如,如由区域确定单元34选择)以不同分辨率对瓦片的视频数据进行解码。例如,区域确定单元34可以为用户当前视点的中心处的区域选择最高可用分辨率。远离当前视点的中心,解码的分辨率可以逐渐降低。也就是说,区域确定单元34可以针对更远离当前视点的中心的区域(瓦片)选择成比例地降低的分辨率。因此,视频解码器30可以针对用户当前视点后方的瓦片以最低可用分辨率对视频数据进行解码。

视频编码器20、视频解码器30和区域确定单元34各自可以在适当时实施为各种合适的固定和/或可编程电路中的任一者,例如一或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、离散逻辑电路、软件、硬件、固件或其任何组合。当在软件或固件中实施功能时,用于软件或固件的指令通常存储在基于硬件的计算机可读存储媒体中并由一或多个处理器执行,所述处理器又使用逻辑电路来实施。视频编码器20和视频解码器30中的每一者可以包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可以集成为组合式视频编码器/解码器(编解码器)的部分。包含视频编码器20、视频解码器30和/或区域确定单元34的装置可以包括集成电路、微处理器和/或无线通信装置,例如蜂窝电话。

目的地装置14可以包含经配置以存储检索到的视频数据的存储器,例如硬盘和/或缓冲器。此类存储器可以包含在视频解码器30、区域确定单元34内或目的地装置34内的其它地方。

以这种方式,目的地装置14(和区域确定单元34)表示装置的实例,所述装置包含:耦合到显示器的显示器接口、经配置以存储视频数据的存储器、以及一或多个处理器,其经配置以:确定要经由显示器显示的视频数据的多个区域;针对用户的视觉焦点所指向的所述多个区域的第一子集检索具有第一质量的视频数据;针对邻接所述多个区域的第一子集的所述多个区域的第二子集检索具有第二质量的视频数据,其中第二质量低于第一质量;以及针对在第一子集和第二子集之外的所述多个区域的第三子集检索具有第三质量的视频数据,其中第三质量低于第二质量。

图2a和2b是示出用于呈现全景视频数据的显示器的模型的表示的概念图。图2a示出立方体图投影100的实例,而图2b示出等矩形投影110。

在图2a中,立方体104的6个面102a-102f(面102)中的每一者被划分成四个瓦片(总共24个瓦片)。可见面(即,面102a、102b和102c)的瓦片标记为瓦片106a-106l。具体地,面102c被划分成四个瓦片106a-106d,面102b被划分成四个瓦片106e-106h,并且面102a被划分成四个瓦片106i-106l。为了便于阅读,在图2a中未标记隐藏面(即,面102d、102e和102f)的瓦片,但是应理解,面102d-102f也被划分成瓦片,例如四个瓦片。“瓦片”也可以称为区域。图2a中的立方体面102中的每一个对应于90度乘90度的视场(fov)。球体的任何任意90×90度瓦片可能需要以高分辨率对全景的三分之一(1/3)进行解码。fov很少跨越八个瓦片。因此,高分辨率解码的跨度可以被限制为八个或更少的瓦片,而不会损失视觉质量。

图2b示出了画布118,其被划分成八个瓦片116a-116h。在这个实例中,当用户正在观看球体的“极点”时(例如,北极112,当观看北极112时用户的视场由灰色阴影区域114表示),画布118的整个上半部分(即,瓦片116a-116d)将需要以高分辨率解码。将瓦片116a-116d破碎成更多竖直的瓦片将无助于解决问题。因此,在这个实例中,将需要以高分辨率对全景的一半进行解码。这是比图2a的实例中明显更高分辨率的数据。因此,本公开的技术可以使用立方体图投影模型100来进行显示。

参考上文关于图1论述的其中以包含6k、4k、hd(1080p)和720p的分辨率对视频数据进行译码的实例,在图2a中,可以6k分辨率对正面四个瓦片106a-106d(也称为“区域”)进行解码,可以4k分辨率对邻接的八个瓦片(例如,瓦片106e、106g、106k和106l以及面102d和102f的邻接瓦片106a、106c和106d的未标记的瓦片)进行解码,可以hd(1080p)分辨率对邻接这八个瓦片的八个瓦片(即,瓦片106f、106h、106i、106j以及邻接瓦片106a、106c和106d的瓦片所邻接的其它未标记的瓦片)进行解码,并且可以720p分辨率对背面的四个瓦片进行解码。在这个实例中,对此类视频数据的总带宽要求是每帧6.5mp。在分辨率上以递减顺序存在8-4-8-4瓦片分布的更糟糕的情况下,每帧将有8.17mp。

图3a是示出柱面全景视频数据120的实例的概念图。柱面全景视频数据120被划分成瓦片122-130。对于某些用途,位率降低可能与解码器复杂度的降低同等重要(如果不是更重要)。例如,一些报告表明美国的平均互联网连接速度为5mbps,而传统的高质量全景视频数据需要30mbps。从全景图中雕刻多个小瓦片可能会降低压缩效率。也就是说,时间预测效率可能会有一些损失。

在图3a的实例中,服务器(例如,源装置12)可以存储十二个90度的瓦片(出于实例的目的示出了瓦片122-130,但是应理解,将包含另外的瓦片以形成所有十二个瓦片)。十二个90度的瓦片将相当于全景的三个副本。此实例可以用于避免小瓦片,这意味着压缩效率不会受损。此外,还可以存储12×30度的瓦片。任意90度视图将需要最多四个30度的瓦片,其中一个30度瓦片和一个90度瓦片可以用于组成任意90度视图。

可以使用本公开的技术来实现球形全景视频数据120的位率优化。折衷存储空间以节省位率的想法可以推广到其它情况。举例来说,不必在所有视角处具有相同的瓦片粒度。与柱面全景情况不同,用相同的瓦片粒度覆盖所有视点对于球形全景图来说并不简单。

通常,视频编码器20可以多个瓦片粒度保存球形全景视频数据120的副本。比瓦片122-130更大的瓦片(未示出)可以在它们之间的一些地方具有重叠的视场以便更好地覆盖。例如,视频编码器20可以在较大的瓦片大小处对最有趣的视点(由正在准备内容的用户确定,例如管理员)进行编码。以这种方式,源装置12可以发送多个大小的瓦片的组合,例如,针对用户的视觉焦点所指向的区域的大瓦片(例如,瓦片122-130中的一个的瓦片大小的四倍),以及针对其它剩余区域的较小瓦片(对于图2a的实例,总共21个瓦片)。

图3b是示出立方体投影130中的实例瓦片译码的概念图。立方体投影130包含立方体面132a、132b、132c,如图所示,并且包含另外的立方体面,由于它们被阻挡而未示出。在这个实例中,立方体投影130的立方体面中的每一者被划分成四个瓦片:立方体面132a被划分成四个瓦片134a-134d,立方体面132b被划分成四个瓦片136a-136d,并且立方体面132c被划分成四个瓦片138a-138d。另外的未示出的立方体面也将被划分成四个相应的瓦片,在这个实例中,总共24个小瓦片。通常,视频源12可以为瓦片中的每一者(例如,瓦片134a-134d、136a-136d、138a-138d和未示出的立方体面的瓦片)提供视频数据。

另外,视频源12可以提供用于大瓦片的视频数据,其可以覆盖立方体面中的每一者。例如,视频源12可以提供用于覆盖立方体面132a的瓦片的视频数据、用于覆盖立方体面132b的瓦片的视频数据、用于覆盖立方体面132c的瓦片的视频数据,以及用于覆盖未示出的立方体面的瓦片的视频数据。在一些实例中,视频编码器20可以仅针对更可能被观看的那些视点对较大的瓦片大小进行编码。因此,如果用户不太可能向上或向下观看,则视频编码器20可以仅对用于覆盖立方体面132b和132c的大瓦片的视频数据进行译码,并针对与立方体面132b和132c相对的立方体面进行译码,但是不针对例如立方体面132a进行译码。任选地,瓦片中的每一者可以具有用于立体声视频数据的左视图和右视图。

视频编码器20可以针对立体声视频情况准备视频数据以改进目的地装置14从低分辨率流切换到高分辨率流时的时延。本公开的技术可以避免将额外运动引入光子(m2p)时延。通常,在从例如低分辨率到高分辨率(当用户移动其头部时)的过渡期间的时延可能较大。最大时延等于从抬头显示器(hud)到服务器的时延和返回的时延(例如,目的地装置14与服务器装置12之间的往返时延)加上gop结构的长度或直到下一个i帧被解码的时间。然而,在hud处可获得不同分辨率的内容(本地存储在文件中或流式传输)的情况导致网络延迟部分在以上最大时延的计算中为0。

图4是示出被划分成区域142a-142f(区域142)的实例画布140的概念图。出于讨论的目的,将矩形的画布140划分成矩形区域142,但是应理解,此讨论可以应用于类似于图2a所示的立方体图投影100的立方体图投影。

根据本公开的技术,可以为区域142中的每一者提供不同的视频数据集合。在图4的实例中,为区域142a提供视频数据144a,为区域142b提供视频数据144b,为区域142c提供视频数据144c,为区域142d提供视频数据144d,为区域142e提供视频数据144e,并且为区域142f提供视频数据144f。视频数据144a-144f中的每一者可以包含以各种质量等级(例如,空间分辨率)编码的视频数据。例如,视频数据144a-144f中的每一者可以包含以四个比例空间分辨率编码的视频数据,例如6k分辨率(即,具有6k分辨率的像素密度)、4k分辨率、1080p分辨率和720p分辨率。

在一些实例中,可以提供覆盖多个区域142的视频数据。在图4的实例中,提供覆盖区域142a、142b、142d和142e的视频数据146。因此,如果用户的焦点指向包含区域142a、142b、142d和142e的视场,则目的地装置14可以简单地检索视频数据146,而不是从视频数据144a、144b、144d、144e检索视频数据的个别集合。在一些实例中(例如,图4所示的实例),仅提供覆盖多个区域的单个质量(例如,空间分辨率),但是在其它实例中,可以为多个区域提供多个质量。

图5是示出左眼视图和右眼视图这两个视图的视频数据序列150的概念图。具体地,在这个实例中,左眼视图包含随机存取点(rap)图片154a、154b和非rap图片156a-156e,并且右眼视图包含非rap图片158a-158e和rap图片160a、160b。rap图片也可以称为切换点。图片群组(gop)通常是指包含rap图片和呈译码次序的后续非rap图片直到下一个rap图片的图片序列。在这个实例中,gop具有四个图片的gop周期152,但是应理解,此实例是出于实例的目的而示出。通常,gop周期可以是任何长度/数量的图片。

此外,出于本公开的技术的目的,左眼视图和右眼视图的图片通常具有相同的质量(例如,相同的空间分辨率)。因此,通常,基于用户的视觉焦点所指向的区域,当选择特定质量时,将针对左眼视图和右眼视图一起检索这些图片。可以例如使用加速度计、相机跟踪或其它这样的方法来确定用户的视觉焦点。

根据本公开的某些实例技术,在立体声视频数据的情况下,可以减少gop结构相关时延(最大i帧延迟),如下所述。左声道和右声道i帧(例如,rap图片154a、154b、160a、160b)可以在时间上彼此偏移半个gop周期。因此,在左声道或右声道的i帧延迟将总是小于或等于1/2gop周期。如果任一眼睛观察到更高分辨率的内容,则人眼可能够感知到图像质量的改善。因此,使用这些技术,当从低分辨率转换到高分辨率时的感知时延可以减少gop周期的1/2。

因此,在图5的实例中,右眼视图的rap图片出现在左眼视图的rap图片的gop周期的中间。也就是说,右眼视图的rap图片160a出现在左眼视图的rap图片154a、154b之间的中间,并且左眼视图的rap图片154b出现在右眼视图的rap图片160a、160b之间的中间。

因此,如果在例如rap图片154a和非rap图片158a处出现左眼视图和右眼视图的图片的切换,则目的地装置14可以切换到左眼视图,然后切换到右眼视图。也就是说,目的地装置14可以检索左眼视图的rap图片154和非rap图片156a,但是继续检索具有不同质量(例如,空间分辨率)的右眼视图图片而不是非rap图片158a、158b。接着,在到达rap图片160a时,目的地装置14可以检索非rap图片156b和rap图片160a。面对面地,如果左眼和右眼视图的rap图片都出现在rap图片160a的位置处,则这可以减少gop结构相关的时延。

类似地,如果切换出现在rap图片160a的位置处,则目的地装置14可以检索右眼视图的rap图片160a和非rap图片158c,但是继续检索前一个左眼视图的图片而不是非rap图片156b、156c。然而,在到达rap图片154b时,目的地装置14可以检索rap图片154b和非rap图片158d。

图6是示出根据本公开的技术的实例方法的流程图。关于图1的目的地装置14阐述图6的方法,但是应理解,其它装置可经配置以执行相同或类似的方法。

最初,目的地装置14的区域确定单元34确定要显示的视频数据的区域(170)。也就是说,区域确定单元34确定要获得视频数据的画布(或显示器)的区域。例如,区域可以对应于如上文关于图2a和3所解释的瓦片,和/或如上文关于图4所解释的区域。

接着,区域确定单元34可以确定区域中的每一者的可用视频数据(172)。例如,区域确定单元34可以确定视频数据是否可用于覆盖多个区域(例如,图4的视频数据146)。区域确定单元34还可以确定区域中的每一者的不同视频数据集合的质量。质量可以指例如视频数据的空间分辨率(即,像素密度)。另外或替代地,质量可以指视频数据的位率、视频数据的块或切片的量化参数(qp)等。

区域确定单元34还可以确定用户的视觉焦点所指向的区域中的一或多者(174)。例如,区域确定单元34可以确定用户的视觉焦点指向画布上覆盖区域中的一或多者的位置,例如90×90度视场(fov),如上面关于图2a所解释的。区域确定单元34可以进一步确定哪个区域在用户的视场内(即,区域的第一子集)、邻接区域的第一子集的区域的第二子集(即,在用户的视场内的那些),以及邻接区域的第二子集的区域的第三子集。区域确定单元34也可以确定另外的子集。

然后,区域确定单元34可以针对区域的第一子集(即,用户的焦点所指向的区域)检索(或使目的地装置14的另一个单元检索)具有第一质量的视频数据(176)。同样,质量可以指空间分辨率、像素密度、位率、量化参数(qp)或视频数据的其它质量度量(例如,峰值信噪比(psnr))。此外,区域确定单元34可以检索每一区域的个别视频数据集合,或覆盖区域的第一子集中的多个区域的视频数据集合。例如,如果用户的视觉焦点具有覆盖图4的画布140的区域142a、142b、142d和142e的视场,则区域确定单元34可以从视频数据144a、144b、144d和144e,或覆盖区域142a、142b、142d和142e中的每一者的视频数据146检索视频数据集合。

区域确定单元34还可以针对邻接区域的第一子集的区域的第二子集检索具有第二质量的视频数据(178)。第二质量可以低于第一质量。此外,区域确定单元34可以针对邻接区域的第二子集的区域的第三子集检索具有第三质量的视频数据(180)。第三质量可以低于第一质量。虽然未示出,但是如果存在另外的区域子集,区域确定单元34还可以针对那些区域检索质量等于或低于第三质量的视频数据。

如图6的实例所示,在步骤180之后,所述方法返回到步骤174。因此,如果用户的视觉焦点已经移位,则区域确定单元34可以基于用户的视觉焦点所指向的新的区域集合来选择不同的视频数据集合。虽然图6中未示出,但应理解,在检索视频数据集合之后,目的地装置14可以对视频数据进行解码并呈现视频数据。例如,视频解码器30可以针对区域中的每一者对检索到的视频数据进行解码,并且将解码的视频数据输出到显示装置32以供呈现。

此外,在用户的视觉焦点改变并且视频数据包含两个或更多个视图(例如,用于三维回放)的情况下,区域确定单元34可以在不同时间切换视图的视频数据集合,如关于图5所解释的那样。也就是说,视图的随机存取点(rap)(也称为切换点)可以在视图之间偏移,这可以减少与从视频数据的一个集合切换到另一集合相关联的时延。以这种方式,可以从一个视图的一个视频数据集合中检索质量比从另一个视图的另一视频数据集合检索到的视频数据更高的视频数据,直到可以检索到另一个视图的rap图片。

以这种方式,图6的方法表示检索视频数据的方法的实例,其包含:确定要经由显示器显示的视频数据的多个区域;针对用户的视觉焦点所指向的所述多个区域的第一子集检索具有第一质量的视频数据;针对邻接所述多个区域的第一子集的所述多个区域的第二子集检索具有第二质量的视频数据,其中第二质量低于第一质量;以及针对在第一子集和第二子集之外的所述多个区域的第三子集检索具有第三质量的视频数据,其中第三质量低于第二质量。

可以根据一或多个特征来定义不同视频数据集合的质量。如上文所解释,一个实例质量度量是空间分辨率(即,像素密度)。可以另外或替代地使用的另一种可能的质量度量是相应视频数据的位率。以这种方式,可以为区域中的每一者提供视频数据的不同表示(例如,根据http上的动态自适应流式传输(dash))。例如,可以为区域中的每一者提供各种表示,并且在一些实例中,可以提供对应于多个区域的一或多个表示。给定区域(或区域集合)的表示中的每一者通常可以切换到其它区域,例如,使得切换点或随机存取点(rap)可以在表示之间对齐。

此外,给定区域(或区域集合)的表示中的每一者可以具有不同的位率。例如媒体呈现描述(mpd)之类的清单文件可以包含用于表示的元数据,例如表示的位率、用于表示的片段的统一资源定位符(url),和/或对显示器的区域的表示的映射。元数据/清单文件还可以描述表示内的切换点的位置。以这种方式,目的地装置14可以基于用户的视觉焦点(并且因此,所述区域与用户的视场的接近度)和表示的质量来选择区域的表示,其可以指代表示的位率。质量特征的其它实例包含视频数据中的块、切片和/或图片的量化参数(qp)、视频数据的峰值信噪比(psnr)以及视频数据的位率。

图7是示出具有六个面的立方体的概念图,每个面被划分成四个瓦片,总共二十四个瓦片(或区域)。瓦片以三维x、y和z轴空间表示,示出每一正方形面在相应的二维空间中具有一个单位乘一个单位的面积。第一面含有瓦片3、4、9和10,第二面含有瓦片1、2、7和8,第三面含有瓦片15、16、21和22,第四面含有瓦片13、14、19和20,第五面含有5、6、11和12,并且最后的第六面含有瓦片17、18、23和24。

下文关于图7和8描述基于用户的视场(fov),请求用于瓦片的视频数据的实例算法,所述视频数据具有不同的质量(例如,空间分辨率)。目的地装置14(例如,区域确定单元34)可经配置以执行此算法一种类似算法。

假设区域确定单元34接收具有二十四个瓦片配置(每个立方体面四个瓦片)的立方体图输入,如图7所示。假设视频数据可以四个质量(例如,分辨率层)用于瓦片中的每一者,并且瓦片编号遵循图7中所示的顺序。

图8是示出与图7的瓦片编号3相对的瓦片和相邻的瓦片的实例的概念图。对于立方体结构上的每一瓦片,其相对瓦片被定义为通过将瓦片位置通过立方体的中心镜像而获得的瓦片。与当前瓦片(例如,瓦片3)相邻的四个瓦片是在立方体结构中具有与当前瓦片相邻的边缘的四个瓦片。例如,如图8所示,瓦片编号3的相对瓦片是瓦片21。瓦片编号3的相邻瓦片是2、4、9和12。立方体结构中每一瓦片的相对瓦片编号和四个相邻瓦片编号可以保存在目的地装置14的存储器的查找表中,例如,区域确定单元34的存储器的查找表中。

给定用户的fov,目的地装置14可以执行算法以解决将立方体结构的二十四个瓦片分配给不同质量(例如,分辨率层)的视频数据的问题,其中第一层是最高质量(例如,分辨率),并且第四层是最低质量(例如,分辨率)。基于用户请求的fov,目的地装置14执行算法以首先计算由每一瓦片覆盖的fov的面积。出于解释的目的,在下面的讨论中使用分辨率作为质量的实例,但是应理解,可以使用另外的和/或替代的质量度量。

根据算法,目的地装置14定义面积覆盖阈值ath(例如,立方体图投影的总面积的5%)。将覆盖大于或等于阈值ath的面积的所有瓦片(即,面积大于阈值面积的瓦片,例如大于或等于立方体图投影的总面积的5%,其中面积可以是以像素计算的)分配给分辨率第一层。目的地装置14将第一层瓦片的相对瓦片分配给第四层。目的地装置14将具有小于阈值ath的非零面积覆盖的瓦片分配给分辨率第二层,并且将第二层瓦片的相对瓦片分配给第三层。在此阶段,算法通常使目的地装置14将24个瓦片中的大部分分配给它们对应的分辨率层。

对于剩余的未分配瓦片中的每一者,目的地装置14可以计算瓦片度量ta。某个瓦片的图块度量ta等于其4个相邻瓦片所覆盖的fov面积的总和。例如,瓦片3的ta=由瓦片2、4、9和12覆盖的fov面积的总和。目的地装置14可以基于其ta度量以降序对剩余的未分配瓦片进行排序。目的地装置14可以将具有最高ta的剩余瓦片的一半分配给分辨率第二层,并且将具有最低ta的另一半分配给分辨率第三层。

应注意,所述算法仅依赖于每一瓦片的面积覆盖。因此,瓦片分配的复杂性很低。使用面积覆盖阈值ath可以控制从最高分辨率第一层请求的最大瓦片数量。所述算法还通过强制条件来平衡来自不同分辨率层的请求:在上面讨论的实例中,第一层瓦片的数量=第四层瓦片的数量,并且第二层瓦片的数量=第三层瓦片的数量。因此,所述算法可以控制观看者装置上的总解码像素的最坏情况最大数量,并确保此数量在终端用户解码器(例如,视频解码器30)的能力范围内。

上面讨论的瓦片请求算法可以简化为更少的分辨率层。例如,如果仅存在三个分辨率层,则可以执行相同的算法,但是来自分辨率第二层和第三层(或第三层和第四层)的瓦片分配可以组合成单个分辨率层。通过为fov面积覆盖定义不止一个阈值,可以将算法扩展为使用超过四个分辨率层。最后,除了具有二十四个瓦片的立方体图输入之外,还可以扩展所述算法以覆盖输入的360度视频的不同几何表示。

图9是示出实例立方体图投影200的概念图。立方体图投影200包含六个面202a-202f(面202),包含正面202a、顶面202b、左面202c、底面202d、右面202e和后面202f。在这个实例中,面202中的任一者或全部可以被划分成区域(本文中也称为瓦片)。例如,面202中的每一者可以被划分成四个瓦片,包括左上瓦片、右上瓦片、左下瓦片和右下瓦片。例如源装置12(图1)的源装置可以为瓦片中的每一者提供各种质量等级(例如,空间分辨率、qp、位率、psnr等)的视频数据。

另外,可以组合两个或更多个瓦片。例如,如上所述(例如,关于图4),源装置12(图1)可以提供用于大瓦片的视频数据,其可以包含四个小瓦片。例如,大瓦片可以覆盖面202中的一整个。因此,可以为大瓦片提供单独的视频数据集合,其可以包含用于大瓦片的一或多个质量等级。

尽管如上所述覆盖面202的单一个的大瓦片是可能的,但是在其它实例中,可以其它方式组合较小的瓦片,使得视频数据可用于其它瓦片组合。在图9的实例中,示出两个水平瓦片204a、204b在正面202a上。因此,虽然正面202a通常可以被分割成上文讨论的四个瓦片,但是左上和右上瓦片可以被组合以形成水平瓦片204a,并且左下和右下瓦片可以被组合以形成水平瓦片204b。以这种方式,源装置12(图1)可以为水平瓦片204a、204b提供一或多个质量等级的视频数据。

因此,取决于用户的fov,目的地装置14(图1),特别是区域确定单元34可以确定应为水平瓦片204a、204b中的任一者或两者检索视频数据。例如,如果用户的fov指向或靠近与正面202a和顶面202b接壤的边缘的中心,则区域确定单元34可以针对水平瓦片204a检索高质量版本的视频数据,或者针对水平瓦片204a检索中间质量版本的视频数据。

另外,图9还示出较小瓦片的实例。例如,源装置12(图1)可以为半瓦片(例如半瓦片206)或四分之一瓦片(例如四分之一瓦片208a、208b)提供视频数据。通常,可以为立方体图200的各种分割区中的任何一者提供视频数据。因此,不应假设仅可能存在每个立方体面四个瓦片,因为根据本公开的技术可以使用任何数量的瓦片分割区。

图10是示出实例立方体图投影210的概念图。立方体图投影210包含六个面212a-212f(面212),包含正面212a、顶面212b、左面212c、底面212d、右面212e和后面212f。

如上所述,源装置12(图1)可以为立方体面(例如面212)的瓦片提供视频数据,其中面212中的每一者可以有四个瓦片。然而另外,源装置12可以为覆盖例如整个立方体面和邻接的立方体面的部分的“大型瓦片”提供视频数据。在图10所示的实例中,这样的大型瓦片覆盖区域214a-214e,其中区域214a完全覆盖正面212a,区域214b部分地覆盖顶面212b,区域214c部分地覆盖左面212c,区域214d部分地覆盖底面212d,并且区域214e部分地覆盖右面212e。在这个实例中,大型瓦片不覆盖后表面212f的任何部分。

另外,源装置12可以提供多个这样的大型瓦片(其可以被称为以立方体面为中心的大型瓦片)。图10示出的实例大型瓦片以正面212a为中心。在一些实例中,源装置12可以提供六个这样的大型瓦片,在面212中的每一者上居中一个大型瓦片。此外,另外或在替代方案中,源装置12可以提供以立方体图投影210的角顶点为中心的大型瓦片,如下所述。

图11是示出实例立方体图投影220的概念图。立方体图投影220包含六个面222a-222f(面222),包含正面222a、顶面222b、左面222c、底面222d、右面222e和后面222f。图11的实例还描绘了以立方体图投影220的顶点226为中心的大型瓦片。具体地,大型瓦片包含顶面222b上的瓦片224a、224b和224c,左面222c的瓦片226a、226b和226c,以及后面222f上的瓦片228a、228b和228c。

源装置12(图1)可以提供多个这样的大型瓦片(其可以被称为以顶点为中心的大型瓦片)。例如,源装置12可以提供八个这样的大型瓦片,为立方体图投影220的每一角顶点提供一个大型瓦片。图11的技术可以与图10的技术组合,使得源装置12可以提供十四个大型瓦片,即六个以立方体面为中心的大型瓦片和八个以顶点为中心的大型瓦片。

应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可用不同顺序来执行,可添加、合并或全部省略所述动作或事件(例如,实践所述技术未必需要所有所描述动作或事件)。此外,在某些实例中,可以例如通过多线程处理、中断处理或多个处理器同时而非循序地执行动作或事件。

在一或多个实例中,所描述的功能可以用硬件、软件、固件或其任何组合来实施。如果在软件中实施,那么所述功能可以作为一或多个指令或代码在计算机可读媒体上存储或传输,并且由基于硬件的处理单元执行。计算机可读媒体可以包含计算机可读存储媒体,其对应于例如数据存储媒体或通信媒体的有形媒体,通信媒体(例如)根据通信协议包含有助于将计算机程序从一处传送到另一处的任何媒体。以这种方式,计算机可读媒体通常可以对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如,信号或载波。数据存储媒体可以是可由一或多个计算机或一或多个处理器存取以检索用于实施本公开描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可以包含计算机可读媒体。

借助于实例而非限制,此类计算机可读存储媒体可以包括ram、rom、eeprom、cd-rom或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器,或可用以存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。并且,适当地将任何连接称作计算机可读媒体。例如,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(dsl)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,则同轴电缆、光纤缆线、双绞线、dsl或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包含连接、载波、信号或其它暂时性媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(cd)、激光光盘、光学光盘、数字多功能光盘(dvd)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各项的组合也应包含于计算机可读媒体的范围内。

指令可以由一或多个处理器执行,例如一或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)、或其它等效的集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可以指代上述结构或适用于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可以在经配置以用于编码和解码的专用硬件和/或软件模块内提供,或并入在组合编解码器中。并且,所述技术可以完全实施于一或多个电路或逻辑元件中。

本公开的技术可以实施于多种多样的装置或设备中,包含无线手持机、集成电路(ic)或一组ic(例如,芯片组)。本公开中描述各种组件、模块或单元是为了强调经配置以执行所公开的技术的装置的功能方面,但未必需要通过不同硬件单元实现。实际上,如上文所描述,各种单元可以结合合适的软件和/或固件组合在编解码器硬件单元中,或由互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。

已描述了各种实例。这些和其它实例在所附权利要求书的范围内。

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