用于360度视频译码的参考图片推导及运动补偿

文档序号:1440083 发布日期:2020-02-14 浏览:21次 >En<

阅读说明:本技术 用于360度视频译码的参考图片推导及运动补偿 (Reference picture derivation and motion compensation for 360-degree video coding ) 是由 M·Z·科班 G·范德奥维拉 M·卡切维奇 于 2018-07-03 设计创作,主要内容包括:本发明描述用于从360度视频数据的立方体贴图投影或经调整立方体贴图投影产生用延伸面封装的参考帧的技术。用所述延伸面封装的所述参考帧可用于360度视频数据的后续帧的帧间预测。(This disclosure describes techniques for generating extended surface encapsulated reference frames from a cube map projection or adjusted cube map projection of 360 degree video data. The reference frame encapsulated with the extended surface may be used for inter-prediction of subsequent frames of 360 degree video data.)

用于360度视频译码的参考图片推导及运动补偿

本申请案要求保护2017年7月3日申请的美国临时申请案第62/528,347号及2018年7月2日申请的美国申请案第16/025,729号的权利,所述申请案的全部内容以引用的方式并入本文中。

技术领域

本发明涉及编码及解码视频数据。

背景技术

数字视频能力可并入至广泛范围的装置中,所述装置包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或台式计算机、平板计算机、电子书阅读器、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏主控台、蜂窝或卫星无线电电话、所谓的“智能电话”、视频电话会议装置、视频流式发射装置,及其类似者。数字视频装置实施视频译码技术,诸如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4、Part 10、先进视频译码(AVC)、ITU-T H.265(也被称作高效率视频译码(HEVC))所定义的标准及这些标准的延伸中所描述的视频译码技术。视频装置可通过实施这些视频译码技术来更高效地发射、接收、编码、解码及/或存储数字视频信息。

视频译码技术包含空间(图片内)预测及/或时间(图片间)预测以缩减或移除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(例如,视频图片或视频图片的部分)分割成视频块,视频块也可被称作译码树单元(CTU)、译码单元(CU)及/或译码节点。图片的经帧内译码(I)切片中的视频块是使用相对于同一图片中的相邻块中的参考样本的空间预测予以编码。图片的经帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。

最近,已开发出用于译码及发射例如用于虚拟现实(VR)应用的360度视频的技术。由于VR视频技术的新近开发,由用户体验的视频环境已变得与视频自身的主题同样重要。此VR视频技术可使用360度视频技术,360度视频技术涉及从360度视频相机或网站至实时视频显示器(诸如VR头戴式显示器(HMD))的360度视频图形的实时流式发射及/或360度视频的实时流式发射。VR HMD允许用户通过随着头部的转动而改变视角来体验其周围发生的所有动作。为了建立360度视频,可使用特殊一组相机以同时地记录所有360度的场景,或可将多个视图(例如,视频及/或计算机产生图像)拼接在一起以形成图像。

在已编码视频数据之后,可包化视频数据以供发射或存储。可将视频数据组译成符合多种标准中的任一者的视频文件,所述标准是诸如国际标准化组织(ISO)基本媒体文件格式及其延伸,诸如AVC文件格式。

发明内容

一般来说,本发明涉及用于编码及解码视频数据的技术。在一些实例中,本发明描述用于360度视频译码的参考图片推导及运动补偿技术。在一些实例中,本发明描述用于从360度视频数据的立方体贴图投影或经调整立方体贴图投影产生用延伸面封装的参考帧的技术。用延伸面封装的参考帧可用于360度视频数据的后续帧的帧间预测。通过产生具有延伸面的参考帧,可减轻由封装面之间的边界处的变形及不连续性引起的失真及译码效率问题。

在一个实例中,本发明描述一种解码360度视频数据的方法,所述方法包括:接收360度视频数据的经编码帧,360度视频数据的所述经编码帧是以从所述360度视频数据的球体的投影获得的封装面而布置;解码经编码360度视频数据的所述帧以获得360度视频数据的经解码帧,360度视频数据的所述经解码帧是以所述封装面而布置;从360度视频数据的所述经解码帧推导360度视频数据的经解码球体;使用所述投影对360度视频数据的所述经解码球体进行取样以产生延伸面,其中所述延伸面大于360度视频数据的所述经解码帧的所述封装面;从所述延伸面推导延伸参考帧;及使用帧间预测过程及所述经推导延伸参考帧解码360度视频数据的后续经编码帧。

在另一实例中,本发明描述一种经配置以解码360度视频数据的设备,所述设备包括:存储器,其经配置以存储360度视频数据的经编码帧;及一或多个处理器,其与所述存储器通信,所述一或多个处理器经配置以进行以下操作:接收360度视频数据的所述经编码帧,360度视频数据的所述经编码帧是以从所述360度视频数据的球体的投影获得的封装面而布置;解码经编码360度视频数据的所述帧以获得360度视频数据的经解码帧,360度视频数据的所述经解码帧是以所述封装面而布置;从360度视频数据的所述经解码帧推导360度视频数据的经解码球体;使用所述投影对360度视频数据的所述经解码球体进行取样以产生延伸面,其中所述延伸面大于360度视频数据的所述经解码帧的所述封装面;从所述延伸面推导延伸参考帧;及使用帧间预测过程及所述经推导延伸参考帧解码360度视频数据的后续经编码帧。

在另一实例中,本发明描述一种经配置以解码360度视频数据的设备,所述设备包括:用于接收360度视频数据的经编码帧的装置,360度视频数据的所述经编码帧是以从所述360度视频数据的球体的投影获得的封装面而布置;用于解码经编码360度视频数据的所述帧以获得360度视频数据的经解码帧的装置,360度视频数据的所述经解码帧是以所述封装面而布置;用于从360度视频数据的所述经解码帧推导360度视频数据的经解码球体的装置;用于使用所述投影对360度视频数据的所述经解码球体进行取样以产生延伸面的装置,其中所述延伸面大于360度视频数据的所述经解码帧的所述封装面;用于从所述延伸面推导延伸参考帧的装置;及用于使用帧间预测过程及所述经推导延伸参考帧解码360度视频数据的后续经编码帧的装置。

在另一实例中,本发明描述一种存储指令的计算机可读存储媒体,所述指令在执行时致使经配置以解码视频数据的装置的一或多个处理器进行以下操作:接收360度视频数据的经编码帧,360度视频数据的所述经编码帧是以从所述360度视频数据的球体的投影获得的封装面而布置;解码经编码360度视频数据的所述帧以获得360度视频数据的经解码帧,360度视频数据的所述经解码帧是以所述封装面而布置;从360度视频数据的所述经解码帧推导360度视频数据的经解码球体;使用所述投影对360度视频数据的所述经解码球体进行取样以产生延伸面,其中所述延伸面大于360度视频数据的所述经解码帧的所述封装面;从所述延伸面推导延伸参考帧;及使用帧间预测过程及所述经推导延伸参考帧解码360度视频数据的后续经编码帧。

在另一实例中,本发明描述一种编码360度视频数据的方法,所述方法包括:接收360度视频数据的球体;将360度视频数据的所述球体布置成从360度视频数据的所述球体的投影获得的封装面的帧;编码封装面的所述帧以形成经编码360度视频数据的帧;重建经编码360度视频数据的所述帧以获得360度视频数据的经重建帧,360度视频数据的所述经重建帧是以所述封装面而布置;从360度视频数据的所述经重建帧推导360度视频数据的经重建球体;使用所述投影对360度视频数据的所述经重建球体进行取样以产生延伸面,其中所述延伸面大于360度视频数据的所述经重建帧的所述封装面;从所述延伸面推导延伸参考帧;及使用帧间预测过程及所述经推导延伸参考帧编码360度视频数据的后续帧。

在另一实例中,本发明描述一种经配置以编码360度视频数据的设备,所述设备包括:存储器,其经配置以存储360度视频数据的球体;及一或多个处理器,其与所述存储器通信,所述一或多个处理器经配置以进行以下操作:接收360度视频数据的所述球体;将360度视频数据的所述球体布置成从360度视频数据的所述球体的投影获得的封装面的帧;编码封装面的所述帧以形成经编码360度视频数据的帧;重建经编码360度视频数据的所述帧以获得360度视频数据的经重建帧,360度视频数据的所述经重建帧是以所述封装面布置;从360度视频数据的所述经重建帧推导360度视频数据的经重建球体;使用所述投影对360度视频数据的所述经重建球体进行取样以产生延伸面,其中所述延伸面大于360度视频数据的所述经重建帧的所述封装面;从所述延伸面推导延伸参考帧;及使用帧间预测过程及所述经推导延伸参考帧编码360度视频数据的后续帧。

在另一实例中,本发明描述一种经配置以编码360度视频数据的设备,所述设备包括:用于接收360度视频数据的球体的装置;用于将360度视频数据的所述球体布置成从360度视频数据的所述球体的投影获得的封装面的帧的装置;用于编码封装面的所述帧以形成经编码360度视频数据的帧的装置;用于重建经编码360度视频数据的所述帧以获得360度视频数据的经重建帧的装置,360度视频数据的所述经重建帧是以所述封装面而布置;用于自360度视频数据的所述经重建帧推导360度视频数据的经重建球体的装置;用于使用所述投影对360度视频数据的所述经重建球体进行取样以产生延伸面的装置,其中所述延伸面大于360度视频数据的所述经重建帧的所述封装面;用于从所述延伸面推导延伸参考帧的装置;及用于使用帧间预测过程及所述经推导延伸参考帧编码360度视频数据的后续帧的装置。

在另一实例中,本发明描述一种存储指令的计算机可读存储媒体,所述指令在执行时致使经配置以编码视频数据的装置的一或多个处理器进行以下操作:接收360度视频数据的球体;将360度视频数据的所述球体布置成从360度视频数据的所述球体的投影获得的封装面的帧;编码封装面的所述帧以形成经编码360度视频数据的帧;重建经编码360度视频数据的所述帧以获得360度视频数据的经重建帧,360度视频数据的所述经重建帧是以所述封装面布置;从360度视频数据的所述经重建帧推导360度视频数据的经重建球体;使用所述投影对360度视频数据的所述经重建球体进行取样以产生延伸面,其中所述延伸面大于360度视频数据的所述经重建帧的所述封装面;从所述延伸面推导延伸参考帧;及使用帧间预测过程及所述经推导延伸参考帧编码360度视频数据的后续帧。

下文在随附图式及实施方式中阐述一或多个实例的细节。其它特征、目标及优点将从实施方式及图式以及从权利要求书显而易见。

附图说明

图1为绘示经配置以执行本发明的技术的实例视频编码及解码系统的框图。

图2A及2B为绘示用以呈现360度及/或全景视频数据的显示器的模型的表示的概念图。

图3为绘示用于360度视频的实例3×2封装结构的概念图。

图4为绘示立方体面边界处的变形的概念图。

图5为绘示立方体面边界处的不连续性的概念图。

图6为绘示用于立方体面延伸的过程的概念图。

图7为绘示经重建的经调整立方体贴图投影(ACP)帧及延伸参考帧的概念图。

图8为绘示可改进变形立方体面边界处的帧间预测的经推导延伸参考帧的概念图。

图9为绘示可改进不连续性立方体面边界处的帧间预测的经推导延伸参考帧的概念图。

图10为展示根据本发明的一个实例的实例预测单元旋转的概念图。

图11为绘示经配置以执行本发明的技术的实例视频编码器的框图。

图12为绘示经配置以执行本发明的技术的实例视频解码器的框图。

图13为绘示本发明的实例编码方法的流程图。

图14为绘示本发明的实例解码方法的流程图。

具体实施方式

一般来说,本发明涉及用于编码及解码视频数据的技术。在一些实例中,本发明描述用于360度视频译码的参考图片推导及运动补偿技术。在一些实例中,本发明描述从360度视频数据的立方体贴图投影或经调整立方体贴图投影产生运用延伸面而封装的参考帧的技术。用延伸面封装的参考帧可用于360度视频数据的后续帧的帧间预测。通过产生具有延伸面的参考帧,可减轻由封装面之间的边界处的变形及不连续性引起的失真及译码效率问题。

图1为绘示可利用用于360度视频数据的参考图片推导及运动补偿的技术的实例视频编码及解码系统10的框图。如图1所展示,系统10包含源装置12,源装置12提供将在稍后时间由目的地装置14解码的经编码视频数据。确切地说,源装置12经由计算机可读媒体16将视频数据提供至目的地装置14。源装置12及目的地装置14可包括广泛范围的装置中的任一者,包含台式计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、诸如所谓的“智能”电话的电话手机、所谓的“智能”平板、电视、相机、显示装置、数字媒体播放器、视频游戏主控台、视频流式发射装置,或其类似者。在一些状况下,源装置12及目的地装置14可经配备以用于无线通信。

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

在一些实例中,可将经编码数据从输出接口22输出至存储装置。相似地,可由输入接口从存储装置存取经编码数据。存储装置可包含多种分散式或本地存取数据存储媒体中的任一者,诸如硬盘驱动器、蓝光(Blu-ray)光盘、DVD、CD-ROM、闪速存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适数字存储媒体。在另外实例中,存储装置可对应于可存储由源装置12产生的经编码视频的文件服务器或另一中间存储装置。目的地装置14可经由流式发射或下载从存储装置存取经存储视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据发射至目的地装置14的任何类型的服务器。实例文件服务器包含网页服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置,或本地硬盘驱动器。目的地装置14可经由任何标准数据连接(包含因特网连接)存取经编码视频数据。此连接可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器等等)或两者的组合。从存储装置的经编码视频数据的发射可为流式发射、下载发射或其组合。

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

在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。目的地装置14包含输入接口28、视频解码器30、显示装置32及区确定单元34。在其它实例中,源装置及目的地装置可包含其它组件或布置。举例来说,源装置12可从外部视频源18(诸如外部相机)接收视频数据。同样地,目的地装置14可与外部显示装置介接,而非包含集成显示装置。

图1的所绘示系统10仅仅为一个实例。用于360度视频数据的参考图片推导及运动补偿的技术可由任何数字视频编码及/或解码装置执行。尽管本发明的技术一般是由视频编码装置执行,但所述技术也可由视频编码器/解码器(通常被称作“编码解码器(CODEC)”)执行。源装置12及目的地装置14仅仅为源装置12产生经译码视频数据以供发射至目的地装置14的这些译码装置的实例。在一些实例中,装置12、14可以基本上对称方式而操作,使得装置12、14中的每一者包含视频编码及解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频发射,例如,用于视频流式发射、视频播放、视频广播或视频电话。

源装置12的视频源18可包含诸如视频相机的视频捕捉装置、含有经先前捕捉视频的视频文件库,及/或用以从视频内容提供者接收视频的视频馈送接口。作为另外替代例,视频源18可产生基于计算机图形的数据作为源视频,或实况视频、经存档视频及计算机产生视频的组合。在一些状况下,如果视频源18为视频相机,那么源装置12及目的地装置14可形成所谓的相机电话或视频电话。然而,如上文所提及,本发明中所描述的技术一般可适用于视频译码,且可适用于无线及/或有线应用。在每一状况下,经捕捉、经预捕捉或计算机产生的视频可由视频编码器20编码。经编码视频信息可接着由输出接口22输出至计算机可读媒体16上。

在本发明的实例中,视频源18可经配置以捕捉360度视频数据。举例来说,视频源18可为相机组,其通常由指向不同方向且理想地共同涵盖围绕相机组的所有视点的多个个别相机组成。视频源18可经进一步配置以执行图像拼接,其中由多个个别相机拍摄的视频图片在时域中同步且在空间域中拼接为球面视频,但映射至矩形格式,诸如等量矩形贴图(类似于世界地图)或立方体贴图。

在一个实例中,视频编码器20可以多个分辨率(例如,6k、4k、HD(1080p)及720p)编码用于完整360度全景的数据。即,视频编码器20可以此多个分辨率中的每一者编码用于每一区(或“单元片(tile)”)的视频数据。以此方式,对于每一分辨率,单元片粒度可相同。视频编码器20可在编码各种分辨率时避免层间相依性。因此,视频解码器30可以选择性方式(例如,如由区确定单元34所选择)以不同分辨率解码用于单元片的视频数据。举例来说,区确定单元34可针对用户的当前视点的中心处的区选择最高可用分辨率。在远离当前视点的中心移动的情况下,经解码分辨率可逐渐地下降。即,区确定单元34可针对较远离当前视点的中心的区(单元片)选择变得按比例降低的分辨率。因此,视频解码器30可针对用户的当前视点后方的单元片以最低可用分辨率解码视频数据。

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

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

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

显示装置32可对应于全景显示器。举例来说,显示装置32可对应于头戴式显示器(HMD),或基本上或完全地包封用户的一或多个屏幕。区确定单元34可经配置以确定显示装置32的多个区。举例来说,显示装置32可包含多个单元片,例如,对应于球面显示器(或可模拟球面显示器的显示器,诸如HMD)的立方体面的一或多个部分。

如本文中所论述,区确定单元34可确定用户的视觉焦点(图1中未展示)被导向的区中的一或多者。区确定单元34可致使输入接口28检索用于用户的视觉焦点被导向的显示装置32的区的第一子集的视频数据。

目的地装置14可包含经配置以存储经检索视频数据的存储器,诸如硬盘及/或缓冲器。此存储器可包含于视频解码器30内、包含于区确定单元34内,或包含于目的地装置14内的别处。

视频编码器20及视频解码器30可根据视频译码标准(诸如高效率视频译码(HEVC)标准,也被称作ITU-T H.265,或正由联合视频专家组(JVET)研究的新H.266标准)而操作。替代地,视频编码器20及视频解码器30可根据其它专属或工业标准(诸如ITU-TH.264标准,被替代地称作MPEG-4,Part 10、先进视频译码(AVC))或这些标准的延伸而操作。然而,本发明的技术并不限于任何特定译码标准。视频译码标准的其它实例包含MPEG-2及ITU-TH.263。尽管图1中未展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当多路复用器-多路分用器(MUX-DEMUX)单元,或其它硬件及软件,以处置共同数据流或单独数据流中的音频及视频两者的编码。适用时,多路复用器-多路分用器单元可符合ITU H.223多路复用器协议,或诸如用户数据报协议(UDP)的其它协议。一般来说,视频解码器30执行与由视频编码器20执行的过程基本上相似但互逆的过程,以解码经编码数据。

视频编码器20及视频解码器30各自可被实施为多种合适编码器或解码器电路系统中的任一者,例如,包含一或多个处理器,诸如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当所述技术以软件部分地实施时,装置可将用于软件的指令存储于合适非暂时性计算机可读媒体中,且在硬件中使用一或多个处理器执行所述指令以执行本发明的技术。因此,编码器或解码器可由多种集成处理电路系统中的任一者形成,其包括被实施为固定硬件处理电路系统、可编程处理电路系统及/或固定及可编程处理电路系统两者的组合的一或多个处理器。视频编码器20及视频解码器30中的每一者可包含于一或多个编码器或解码器中,编码器或解码器中的任一者可被集成为相应装置中的组合式编码器/解码器(编码解码器)的部分。包含视频编码器20、视频解码器30及/或区确定单元34的装置可包括集成电路、微处理器,及/或无线通信装置,诸如蜂窝电话。

下文参考HEVC标准描述各种视频译码技术。然而,本发明的技术可与搭配360度视频而使用的任何视频译码技术一起使用,包含诸如H.266的未来视频译码标准。

在HEVC及其它视频译码规范中,视频序列通常包含一系列图片。图片也可被称作“帧”。图片可包含三个样本阵列,被表示为SL、SCb及SCr。SL为明度样本的二维阵列(即,块)。SCb为Cb彩度样本的二维阵列。SCr为Cr彩度样本的二维阵列。彩度样本也可在本文中被称作“色度(chroma)”样本。在其它情况下,图片可为单色的,且可仅包含明度样本阵列。

为了产生图片的经编码表示,视频编码器20可产生一组译码树单元(CTU)。所述CTU中的每一者可包括明度样本的译码树块、色度样本的两个对应译码树块,及用以译码所述译码树块的样本的语法结构。在单色图片或具有三个单独彩色平面的图片中,CTU可包括单一译码树块及用以译码所述译码树块的样本的语法结构。译码型块可为样本的N×N块。CTU也可被称作“树块”或“最大译码单元”(LCU)。HEVC或其它标准的CTU可大致地类似于诸如H.264/AVC的其它标准的巨集块。然而,CTU未必限于特定大小,且可包含一或多个译码单元(CU)。切片可包含按光栅扫描次序连续地排序的整数数目个CTU。

CTB含有四元树,所述四元树的节点为译码单元。CTB的大小的范围可在HEVC主规范中为16×16至64×64(但技术上可支持8×8CTB大小)。但译码单元(CU)可与CTB具有相同大小,且小至8×8。每一译码单元是运用一个模式而译码。当CU被帧间译码时,CU可被进一步分割成2个或4个预测单元(PU),或在进一步分割不适用时变为仅仅一个PU。当两个PU存在于一个CU中时,其可为一半大小的矩形或具有CU的1/4或3/4大小的两个矩形大小。

为了产生经译码CTU,视频编码器20可对CTU的译码树块递归地执行四元树分割,以将译码树块划分成译码块,因此命名为“译码树单元”。译码块可为样本的N×N块。CU可包括具有明度样本阵列、Cb样本阵列及Cr样本阵列的图片的明度样本的译码块及色度样本的两个对应译码块,以及用以译码所述译码块的样本的语法结构。在单色图片或具有三个单独彩色平面的图片中,CU可包括单一译码块及用以译码所述译码块的样本的语法结构。

视频编码器20可将CU的译码块分割成一或多个预测块。预测块为被应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的预测单元(PU)可包括明度样本的预测块、色度样本的两个对应预测块,及用以预测所述预测块的语法结构。在单色图片或具有单独彩色平面的图片中,PU可包括单一预测块及用以预测所述预测块的语法结构。视频编码器20可针对CU的每一PU的明度预测块、Cb预测块及Cr预测块产生预测性明度块、预测性Cb块及预测性Cr块。

视频编码器20可使用帧内预测或帧间预测以产生用于PU的预测性块。如果视频编码器20使用帧内预测以产生PU的预测性块,那么视频编码器20可基于与PU相关联的图片的经解码样本产生PU的预测性块。如果视频编码器20使用帧间预测产生PU的预测性块,那么视频编码器20可基于除了与PU相关联的图片以外的一或多个图片的经解码样本产生PU的预测性块。当CU被帧间译码时,可针对每一PU存在一组动作信息。另外,每一PU可运用唯一帧间预测模式而译码以推导所述组动作信息。

在视频编码器20产生用于CU的一或多个PU的预测性明度块、预测性Cb块及预测性Cr块之后,视频编码器20可产生用于CU的明度残余块。CU的明度残余块中的每一样本指示CU的预测性明度块中的一者中的明度样本与CU的原始明度译码块中的对应样本之间的差。另外,视频编码器20可产生用于CU的Cb残余块。CU的Cb残余块中的每一样本可指示CU的预测性Cb块中的中一者中的Cb样本与CU的原始Cb译码块中的对应样本之间的差。视频编码器20也可产生用于CU的Cr残余块。CU的Cr残余块中的每一样本可指示CU的预测性Cr块中的一者中的Cr样本与CU的原始Cr译码块中的对应样本之间的差。

此外,视频编码器20可使用四元树分割以将CU的明度残余块、Cb残余块及Cr残余块分解成一或多个明度变换块、Cb变换块及Cr变换块。变换块为被应用相同变换的样本的矩形(例如,正方形或非正方形)块。CU的变换单元(TU)可包括明度样本的变换块、色度样本的两个对应变换块,及用以变换所述变换块样本的语法结构。因此,CU的每一TU可与明度变换块、Cb变换块及Cr变换块相关联。与TU相关联的明度变换块可为CU的明度残余块的子块。Cb变换块可为CU的Cb残余块的子块。Cr变换块可为CU的Cr残余块的子块。在单色图片或具有三个单独彩色平面的图片中,TU可包括单一变换块及用以变换所述变换块的样本的语法结构。

视频编码器20可将一或多个变换应用于TU的明度变换块以产生用于TU的明度系数块。系数块可为变换系数的二维阵列。变换系数可为纯量。视频编码器20可将一或多个变换应用于TU的Cb变换块以产生用于TU的Cb系数块。视频编码器20可将一或多个变换应用于TU的Cr变换块以产生用于TU的Cr系数块。

在产生系数块(例如,明度系数块、Cb系数块或Cr系数块)之后,视频编码器20可量化系数块。量化通常是指量化变换系数以可能地缩减用以表示变换系数的数据的量从而提供进一步压缩的过程。在视频编码器20量化系数块之后,视频编码器20可熵编码指示经量化变换系数的语法元素。举例来说,视频编码器20可对指示经量化变换系数的语法元素执行上下文自适应二进制算术译码(CABAC)。

视频编码器20可输出包含形成经译码图片及关联数据的表示的位序列的位流。位流可包括NAL单元序列。NAL单元为含有NAL单元中的数据的类型的指示及含有所述数据的字节的语法结构,所述字节呈必要时穿插有仿真阻止位的RBSP的形式。所述NAL单元中的每一者包含NAL单元标头且囊封RBSP。NAL单元标头可包含指示NAL单元类型代码的语法元素。由NAL单元的NAL单元标头指定的NAL单元类型码指示NAL单元的类型。RBSP可为含有囊封于NAL单元内的整数数目个字节的语法结构。在一些情况下,RBSP包含零个位。

不同类型的NAL单元可囊封不同类型的RBSP。举例来说,第一类型的NAL单元可囊封用于PPS的RBSP,第二类型的NAL单元可囊封用于经译码切片的RBSP,第三类型的NAL单元可囊封用于SEI消息的RBSP,等等。囊封用于视频译码数据的RBSP(与用于参数集及SEI消息的RBSP相对)的NAL单元可被称作VCL NAL单元。

视频解码器30可接收由视频编码器20产生的位流。另外,视频解码器30可剖析位流以从位流获得语法元素。视频解码器30可至少部分地基于从位流获得的语法元素而重建视频数据的图片。用以重建视频数据的过程可与由视频编码器20执行的过程大体上互逆。另外,视频解码器30可反量化与当前CU的TU相关联的系数块。视频解码器30可对系数块执行反变换以重建与当前CU的TU相关联的变换块。视频解码器30可通过将用于当前CU的PU的预测性块的样本与当前CU的TU的变换块的对应样本相加来重建当前CU的译码块。通过重建用于图片的每一CU的译码块,视频解码器30可重建图片。

图2A及2B为绘示用以呈现全景及/或360度视频数据的显示器的模型的表示的概念图。图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绘示被划分成八个单元片116A至116H的画布118。在此实例中,当用户正观察球体的“极”(例如,北极112,其中在观察北极112时的用户的视场由区域114表示)时,将需要以高分辨率解码画布118的整个上部半部(即,单元片116A至116D)。将单元片116A至116D分成更多竖直单元片将无助于解决问题。因此,在此实例中,将需要以高分辨率解码全景的一半。

如上文所论述,可使用投影及映射以在2D贴图上表示3D表面。在360度视频应用中,使用投影以将球体上表示的360度视频数据映射至二维视频帧上。实例投影包含立方体贴图投影及经调整立方体贴图投影(ACP)。一般来说,视频编码器20可使用立方体贴图投影及/或ACP以将360度视频的球体的表面上的点映射至与球体表面相切的平面(例如,立方体的面)上的点,例如,如图2A所展示。可通过使用各种封装方案封装视频数据而将所得立方体映射至2D帧。虽然本发明论述球面360度视频至立方体的六个面上的投影,但应理解,本发明的技术可与其它类型的投影一起使用,包含其它基于立方体的投影以及至其它形状的投影。

在本发明的一些实例中,视频编码器20可经配置以在经编码视频位流中产生及用信号表示指示投影的类型的一或多个语法元素。视频解码器30可经配置以接收及剖析一或多个语法元素以确定投影。在其它实例中,欲使用的投影可被预定且存储于视频编码器20及视频解码器30两者处。如下文将更详细地所阐释,视频解码器30可经配置以使用与视频编码器20使用的投影相同的投影以产生具有延伸面(例如,大于由视频编码器20产生的面的面)的参考帧。所述延伸面相比于最初取样面可具有更多的样本。

图3绘示可由视频编码器20及视频解码器30使用以封装立方体贴图投影及/或ACP的3×2帧封装的实例。如图3所展示,用于360度视频数据的帧的立方体贴图投影或ACP(或其它投影类型)的六个面可被封装成帧200。帧200为数据结构且可被视为类似于360度视频数据的帧或图片,且可与2D视频数据的帧或图片(例如,HEVC图片)相似地被处理。然而,帧200包含来自360度视频数据至立方体上的投影(例如,立方体贴图投影或ACP)的六个面中的每一者的视频数据。

如图3所展示,用于左侧立方体面202的视频数据封装于帧200的左上角落中,用于前部立方体面204的视频数据封装于帧200的中上部中,用于右侧立方体面206的视频数据封装于帧200的右上角落中,用于底部立方体面208的视频数据封装于帧200的左下角落中,用于背部立方体面210的视频数据封装于帧200的中下部中,且顶部立方体面212封装于帧200的右下角落中。如图3所展示,左侧立方体面、前部立方体面、右侧立方体面、底部立方体面、背部立方体面及顶部立方体面的文字的布置也指示帧200内的视频数据的定向。应理解,帧200的3×2封装布置仅仅为实例,且可使用立方体面的其它次序及定向。

在本发明的一些实例中,视频编码器20可经配置以在经编码视频位流中产生及用信号表示指示用以将立方体贴图投影及/或ACP投影封装成帧200的封装方案的一或多个语法元素。视频解码器30可经配置以接收及剖析一或多个语法元素以确定封装方案。在其它实例中,欲使用的封装方案可被预定且存储于视频编码器20及视频解码器30两者处。如下文将更详细地所阐释,视频解码器30可经配置以使用与视频编码器20使用的封装方案相同的封装方案以产生具有延伸面(例如,大于由视频编码器20产生的面的面)的参考帧。所述延伸面相比于最初取样面可具有更多的样本。

当产生及封装立方体贴图投影及/或ACP时,沿着每一立方体面的边缘可存在不连续性或变形。变形起因于所使用的投影技术,而不连续性可为封装方案的结果。归因于所使用的投影技术,常常可在某些立方体面边界处发生变形(例如,左侧立方体面与前部立方体面之间或前部立方体面与右侧立方体面之间的变形)。

三个立方体面的顶部列是连续的,表示左侧面、前部面及右侧面。相似地,三个立方体面的底部列表示顶部立方体面、背部立方体面及底部立方体面。然而,底部列被旋转90度。因而,沿着立方体面的边界可存在不连续性。举例来说,前部立方体面204的底部处的视频数据可能不直接流动至背部立方体面210的顶部边缘,即使其邻近也如此。这是因为,在图3所展示的封装方案中的背部立方体面210的90度顺时针旋转的情况下,背部立方体面210的顶部边缘实际上为背部立方体面210的视频数据的左侧边缘。

当在视频译码期间执行帧间预测时,沿着立方体面的这些种类的变形及不连续性可降低译码效率及/或增加失真。在一持续时间内与立方体面交叉的物件可能会归因于不连续性及变形而未被高效地预测。

图4展示可归因于立方体面边界处的变形而造成可能帧间预测低效率的实例。如图4所展示,帧200包含左侧面202、前部面204、右侧面206、底部面208、背部面210及顶部面212。帧200是以与上文参考图片3所描述的方式相同的方式而封装。视频编码器20可使用任何投影技术(包含立方体贴图投影或ACP)产生帧200的面。在图4的实例中,视频编码器20及/或视频解码器30可经配置以对块214执行帧间预测。出于说明性目的,图4将块214展示为包含椭圆形物件。此椭圆形物件意味着表示360度视频数据中表示的图像的任何部分。

参考帧300为先前已由视频编码器20或视频解码器30重建及/或解码的封装360度视频数据的帧。参考帧300可存储于经解码图片缓冲器中。参考帧300包含左侧面302、前部面304、右侧面306、底部面308、背部面310及顶部面312。可以与帧200相同的方式封装参考帧300,且可使用与帧200相同的投影技术产生参考帧300的面。

如图4所展示,参考帧300可包含对应于帧200中的块214的参考块314。视频编码器20可使用动作估计过程定位参考块314。视频编码器20可向视频解码器30指示参考块314的位置。如图4所展示,参考块314与前部面304及右侧面306的边界交叉。归因于由投影过程引起的变形,沿着前部面304及右侧面306的边缘的参考块314中的椭圆形物件的部分相对于帧200的块214中的椭圆形物件而变形。因而,从参考块314预测块214可导致失真及/或译码效率损失。

图5展示可归因于立方体面边界处的不连续性而造成可能帧间预测低效率的实例。如图5所展示,帧200包含左侧面202、前部面204、右侧面206、底部面208、背部面210及顶部面212。帧200是以与上文关于图3所描述的方式相同的方式而封装。视频编码器20可使用任何投影技术(包含立方体贴图投影或ACP)产生帧200的面。在图5的实例中,视频编码器20及/或视频解码器30可经配置以对块216执行帧间预测。出于说明性目的,图5将块216展示为包含椭圆形物件。此椭圆形物件意味着表示360度视频数据中表示的图像的任何部分。

参考帧300为先前已由视频编码器20或视频解码器30重建及/或解码的封装360度视频数据的帧。参考帧300可存储于经解码图片缓冲器中。参考帧300包含左侧面302、前部面304、右侧面306、底部面308、背部面310及顶部面312。可以与帧200相同的方式封装参考帧300,且可使用与帧200相同的投影技术产生参考帧300的面。

如图5所展示,参考帧300可包含对应于帧200中的块216的参考块316。视频编码器20可使用动作估计过程定位参考块316。视频编码器20可向视频解码器30指示参考块316的位置。如图5所展示,参考块316与右侧面306及顶部面306的边界交叉。归因于由封装方案引起的面之间的不连续性,在顶部面212的边缘上方的参考块314中的椭圆形物件的部分实际上位于底部面308中。因而,从参考块316预测块216可导致失真及/或译码效率损失,这是因为椭圆形物件的全部并不位于参考块316中。

一种解决相邻信息(即,靠近或横越面边界的图像的部分)的保留以及缩减潜在变形的技术涉及将来自相邻立方体面平面的物件投影至驻留有待译码的当前块的平面,所述平面作为当前经译码块的面平面的延伸。以下各者中描述这些技术的实例:J.Sauer,M.Wien,“对于平面投影的360VR视频的运动补偿的几何校正(Geometry correction formotion compensation of planar-projected 360VR video)”,JVET-D0067,2016年;及X.Ma,H.Yang,Z.Zhao,L.Li,H.Li,“用于立方格式VR内容的基于共投影屏幕的运动补偿预测(Co-projection-plane based motion compensated prediction for cubic formatVR content)”,JVET-D0061,2016年。图6中也绘示这些技术的实例。

如图6所展示,视频编码器20及/或视频解码器30可运用较宽投影(被展示为延伸400及延伸402)延伸面1中表示的视频数据。延伸400可包含可在面3中的视频数据的部分,而延伸402可包含可在面2中的视频数据的部分。同样地,视频编码器20及/或视频解码器30可运用较宽投影(被展示为延伸404及延伸406)延伸面2中表示的视频数据。延伸404可包含可在面1中的视频数据的部分,而延伸406可包含可在面4中的视频数据的部分。因而,立方体面的边界的所得延伸包含来自相邻于特定立方体面的立方体面的像素。视频编码器20及/或视频解码器30可使用ACP以推导用于最初运用ACP而投影的视频数据的延伸样本,且可使用立方体贴图投影以推导用于最初运用规则立方体贴图投影而投影的视频数据的延伸样本。

为了解决使用帧间预测译码立方体贴图及ACP投影的缺点,本发明描述包含延伸经解码封装立方体贴图帧或ACP帧的面及根据封装延伸面而形成参考帧的技术。以此方式,视频数据中的靠近面的边界的物件将更可能在具有延伸面的参考帧的同一面内。因而,可缩减上文所描述的由沿着面边界的变形及不连续性引起的问题。

本发明的技术可由视频编码器20及视频解码器30两者执行。举例来说,在编码视频数据的帧之后,视频编码器20可经配置以重建(例如,解码)视频数据的经编码帧且将视频数据的经编码帧作为参考帧存储于经解码图片缓冲器中。使用本发明的技术,视频编码器20可经配置以处理视频数据的经重建帧以建立延伸面且将延伸面作为延伸面参考帧封装及存储于经解码图片缓冲器中。同样地,使用本发明的技术,视频解码器30可经配置以处理视频数据的经解码帧以建立延伸面且将延伸面作为延伸面参考帧封装及存储于经解码图片缓冲器中。视频解码器30可使用与视频编码器20使用的过程相同的过程以建立延伸面参考帧。视频编码器20及视频解码器30可接着使用延伸面参考帧作为用于帧间预测的参考。将参考视频解码器30描述以下技术。然而,应理解,当形成参考图片时,可由视频编码器20在重建回路中执行相同技术。

在本发明的一个实例中,视频解码器30可经配置以接收经编码视频位流中的360度视频数据的经编码帧。360度视频数据的经编码帧可以从360度视频数据的球体的投影(例如,立方体贴图投影或ACP)获得的封装面而布置。举例来说,360度视频数据的经编码帧可如图3所展示而封装。当然,可使用其它封装布置。视频解码器30可经进一步配置以解码经编码360度视频数据的帧以获得360度视频数据的经解码帧,360度视频数据的经解码帧是以封装面的相同布置而布置。

根据本发明的技术,视频解码器30可经配置以处理360度视频数据的经解码帧以产生具有延伸立方体面的360度视频数据的参考帧。视频解码器30可经配置以通过对自360度视频数据的经解码帧推导的360度视频数据的球体进行取样来延伸立方体面,例如,如图5所展示。即,取决于所使用的投影,视频解码器30可从360度视频数据的经解码帧推导360度视频数据的经解码球体。如上文所论述,所使用的投影可被预定且存储于视频编码器20及视频解码器30两者处,及/或视频编码器20可将所使用的投影用信号表示至视频解码器30。

视频解码器30可接着使用由视频编码器20使用的投影(例如,立方体贴图投影、ACP,或如关于参考图2A及2B所描述的其它投影)将360度视频数据的经解码球体取样回至延伸面中。然而,不同于用以建立360度视频数据的经编码帧的投影,视频解码器30可对360度视频的经解码球体进行取样以产生大于360度视频数据的经解码帧的封装面的延伸面。即,延伸面包含围绕最初接收及解码的立方体面的延伸像素的边界。视频解码器30可接着通过使用封装方案将延伸面封装成参考帧而自延伸面推导延伸参考帧。所述封装方案可为用于360度视频数据的经编码帧的相同封装方案。同样地,所使用的封装方案可被预定且存储于视频编码器20及视频解码器30两者处,及/或视频编码器20可将所使用的封装方案用信号表示至视频解码器30。

延伸像素的推导可为正规的,这是因为延伸像素将用于后续帧的预测。在一些实例中,可指定延伸像素的浮点投影的近似。在一些实例中,延伸的量(例如,就像素的数目来说)可为可配置的。举例来说,视频编码器20可在参数集中的图片及/或序列级别处产生及用信号表示语法,所述语法指示使延伸立方体面相对于原始立方体面大多少像素。在其它实例中,延伸像素的数目可被预定且存储于视频编码器20及视频解码器30两者处。在一个实例中,延伸像素的数目可为给定CTU大小的最大预测单元大小。

图7展示经解码/经重建封装帧500及自经重建封装帧500推导的延伸参考帧502。如在图7中可看出,延伸参考帧502的立方体面中的每一者大于经解码/经重建封装帧500的立方体面。延伸参考帧502的立方体面包含经解码/经重建封装帧500的立方体面的所有视频数据(例如,左侧立方体面的白色部分504),以及环绕所述立方体面的数个延伸像素(例如,左侧立方体面的灰色部分506)。因此,延伸参考帧502中的立方体面中的每一者包含相对于经解码/经重建封装帧500的立方体面之间的原始边界的更多相邻像素。因此,当使用经重建封装帧500作为用于帧间预测的参考时,较少像素将经受由投影过程造成的变形及不连续性。

视频解码器30可接着使用延伸参考帧502以使用帧间预测过程解码360度视频数据的随后接收的经编码帧。图8为绘示可改进变形立方体面边界处的帧间预测的经推导延伸参考帧的概念图。比较图8与图4所展示的变形。图8的帧200与图4中的帧200相同。代替产生如图4所展示的参考帧300,视频编码器20及视频解码器30可经配置以产生图8所展示的延伸参考帧600。视频编码器20及视频解码器30可使用上文所描述的技术产生延伸参考帧600。

延伸参考帧600包含延伸左侧面602、延伸前部面604、延伸右侧面606、延伸底部面608、延伸背部面610及延伸顶部面612。如图8所展示,延伸参考帧308可包含对应于帧200中的块214的参考块614。视频编码器20可使用动作估计过程定位参考块614。视频编码器20可向视频解码器30指示参考块614的位置。如图4所展示,参考块314与前部面304及右侧面306的边界交叉,从而归因于变形而造成帧间预测误差。然而,如图8所展示,参考块614完全地在延伸前部面604内。因而,可能已存在于图4的参考帧300中的任何变形归因于在产生延伸参考帧600时产生的延伸参考面而减轻。

图9为绘示可改进不连续性立方体面边界处的帧间预测的经推导延伸参考帧的概念图。比较图9与图5所展示的不连续性。图9的帧200与图5中的帧200相同。代替产生如图5所展示的参考帧300,视频编码器20及视频解码器30可经配置以产生图9所展示的延伸参考帧600。视频编码器20及视频解码器30可使用上文所描述的技术产生延伸参考帧600。

延伸参考帧600包含延伸左侧面602、延伸前部面604、延伸右侧面606、延伸底部面608、延伸背部面610及延伸顶部面612。如图9所展示,延伸参考帧600可包含对应于帧200中的块216的参考块616。视频编码器20可使用动作估计过程定位参考块616。视频编码器20可向视频解码器30指示参考块616的位置。如图5所展示,参考块316与右侧面306及顶部面308的边界交叉,从而归因于不连续性而造成帧间预测误差。然而,如图9所展示,参考块616完全地在延伸右侧面606内。因而,可能已存在于图5的参考帧300中的任何不连续性归因于在产生延伸参考帧600时产生的延伸参考面而减轻。

如上文所论述,使用本发明的技术产生的延伸参考帧大于经解码帧(例如,包含更多像素)。参考帧上的经当前解码帧的同置型像素对应于延伸帧中的非延伸区(面)(例如,图7的白色区504)中的像素的位置,即,所有零动作向量预测将为参考帧预延伸,即,在延伸被应用之前。延伸处置边缘区处的变形及不连续性。然而,在一些封装方案中,将顶部列及底部列上的立方体面旋转90度。此可在使物件充分地横越立方体面边界移动的大动作的情况下防止从底部至顶部的高效预测,或反之亦然。

为了处理来自旋转面的运动补偿,视频编码器20及视频解码器30可经配置以旋转经当前译码块的块(例如,预测单元)以对准当前块及其预测块(例如,参考帧的旋转立方体面中的参考块或预测块)的定向。视频编码器20及视频解码器30可经配置以通过相对于经译码块的面定向确定由动作向量指向的预测块的左上角落的位置处的面定向而确定是否旋转当前块(或旋转参考块)。

图10展示具有PU1及PU2的当前块702位于当前帧650的背部面700中的实例,当前块702正自来自右侧面及顶部面的PU被预测。如图10所展示,用于块702的上部PU(PU1)的动作向量(MV)656指向参考帧660的右侧面中的PU1 662,且用于块702的下部PU(PU2)的MV658指向参考帧660的顶部面中的PU2 664。在一些实例中,可使用上文所描述的技术延伸参考帧660的面,诸如图10所展示。然而,在其它实例中,参考帧无需具有延伸面。

如图10所展示,在所使用的封装方案的情况下,当前帧650及参考帧660两者的右侧面相对于当前帧650及参考帧660的背部面逆时针旋转90度。因而,根据本发明的技术,视频编码器20及视频解码器30可经配置以相对于参考帧中的参考块的定向旋转当前帧中的PU,以便将当前块的定向与参考块匹配。在图10的实例中,视频编码器20及视频解码器30可经配置以将块702的PU1逆时针旋转90度以匹配参考块662。视频编码器20及视频解码器30可经配置以将块702的PU2顺时针旋转90度以匹配参考块664。

此外,在预测之后,视频编码器20及视频解码器30可将残余样本旋转回至当前帧650的背部面的定向以形成最终预测块。对于位于自左侧面、前部面或右侧面预测的底部面及顶部面中的经译码块,PU将被顺时针旋转90度以对准所述面中的物件。相似方案可应用于左侧面、前部面及右侧面中的块从来自底部面、背部面及顶部面的块被预测以对准面定向的状况。无旋转可应用于不相对于彼此旋转的面之间的预测。作为一个实例,无旋转可应用于左侧面、前部面及右侧面之间的预测。作为另一实例,无旋转可应用于底部面、背部面及顶部面之间的预测。下表1提供应用于所有面的预测块的实例旋转的概述。

对于使用不同立方体面定向的封装方案,应用对准立方体面的定向的相似方案。可在参数集中用信号表示封装帧的封装方案。块预测旋转也可应用于基于非立方体的投影,例如,旋转球面投影(RSP),其中,在封装中,一些区相对于另一区旋转。在表1中,CW是指顺时针旋转且CCW是指逆时针旋转。

Figure BDA0002326999670000191

Figure BDA0002326999670000201

表1:横越面的预测块旋转。

图11为绘示可实施本发明的技术的视频编码器20的实例的框图。视频编码器20可执行视频切片内的视频块的帧内译码及帧间译码。帧内译码依赖于空间预测以缩减或移除给定视频帧或图片内的视频中的空间冗余。帧间译码依赖于时间预测以缩减或移除视频序列的邻近帧或图片内的视频的时间冗余。帧内模式(I模式)可指若干基于空间的译码模式中的任一者。帧间模式(诸如单向预测(P模式)或双向预测(B模式))可指若干基于时间的译码模式中的任一者。

如图11所展示,视频编码器20接收待编码视频数据的当前帧。在本发明的实例中,视频帧可为360度视频数据的帧。360度视频数据的帧可为由360度视频数据的球体的立方体贴图投影或ACP形成的封装立方体面。

在图11的实例中,视频编码器20包含模式选择单元40、参考图片存储器64(其也可被称作经解码图片缓冲器(DPB))、求和器50、变换处理单元52、量化单元54、延伸面产生单元63及熵编码单元56。模式选择单元40又包含运动补偿单元44、动作估计单元42、帧内预测单元46及分割单元48。为了视频块重建,视频编码器20也包含反量化单元58、反变换单元60及求和器62。也可包含解块滤波器(图11中未展示)以滤波块边界以从经重建视频移除块效应伪影。视需要,解块滤波器通常将滤波求和器62的输出。除了解块滤波器以外,也可使用额外滤波器(回路内或回路后)。出于简洁起见而未展示这些滤波器,但视需要,这些滤波器可滤波求和器62的输出(作为回路内滤波器)。

在编码过程期间,视频编码器20接收待译码视频帧或切片。可将所述帧或切片划分成多个视频块。动作估计单元42及运动补偿单元44执行经接收视频块相对于一或多个参考帧中的一或多个块的帧间预测性编码以提供时间预测。帧内预测单元46可替代地使用与待译码块在同一个帧或切片中的一或多个相邻块的像素帧内预测经接收视频块以提供空间预测。视频编码器20可执行多个译码遍次,例如,以选择用于每一视频数据块的适当译码模式。

此外,分割单元48可基于先前译码遍次中的先前分割方案的评估而将视频数据的块分割成子块。举例来说,分割单元48最初可将帧或切片分割成多个LCU,且基于速率-失真分析(例如,速率-失真最佳化)将所述LCU中的每一者分割成子CU。模式选择单元40可进一步产生指示将LCU分割成子CU的四元树数据结构。四元树的叶节点CU可包含一或多个PU及一或多个TU。

模式选择单元40可例如基于误差结果选择预测模式(帧内或帧间)中的一者,且将所得预测块提供至求和器50以产生残余数据及将所得预测块提供至求和器62以重建经编码块以用作参考帧。模式选择单元40也将语法元素(诸如动作向量、帧内模式指示符、分割信息及其它此类语法信息)提供至熵编码单元56。

动作估计单元42及运动补偿单元44可高度地集成,但出于概念目的而被单独地绘示。由动作估计单元42执行的动作估计为产生动作向量的过程,所述动作向量估计视频块的动作。举例来说,动作向量可指示当前视频帧或图片内的视频块的PU相对于参考帧(或其它经译码单元)内的预测性块相对于当前帧(或其它经译码单元)内正被译码的当前块的位移。预测性块为就像素差来说被发现接近地匹配待译码块的块,所述像素差可由绝对差总和(SAD)、平方差总和(SSD)或其它差度量确定。在一些实例中,视频编码器20可计算存储于参考图片存储器64中的参考图片的次整数像素位置的值。举例来说,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,动作估计单元42可执行相对于全像素位置及分数像素位置的动作搜索且输出具有分数像素精确度的动作向量。

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

由运动补偿单元44执行的运动补偿可涉及基于由动作估计单元42确定的动作向量提取或产生预测性块。再次,在一些实例中,动作估计单元42与运动补偿单元44可在功能上集成。在接收到用于当前视频块的PU的动作向量后,运动补偿单元44就可在参考图片列表中的一者中定位动作向量所指向的预测性块。求和器50通过从正被译码的当前视频块的像素值减去预测性块的像素值来形成残余视频块,从而形成像素差值,如下文所论述。一般来说,动作估计单元42执行相对于明度分量的动作估计,且运动补偿单元44将基于明度分量所计算的动作向量用于色度分量及明度分量两者。模式选择单元40也可产生与视频块及视频切片相关联的语法元素以供视频解码器30用来解码视频切片的视频块。

此外,运动补偿单元44可经配置以执行本发明技术中的任一者或全部(单独地或以任何组合方式)。尽管关于运动补偿单元44予以论述,但应理解,模式选择单元40、动作估计单元42、分割单元48及/或熵编码单元56也可经配置以单独地或与运动补偿单元44组合地执行本发明的某些技术。

作为如上文所描述的由动作估计单元42及运动补偿单元44执行的帧间预测的替代例,帧内预测单元46可帧内预测当前块。确切地说,帧内预测单元46可确定待用以编码当前块的帧内预测模式。在一些实例中,帧内预测单元46可例如在单独编码遍次期间使用各种帧内预测模式来编码当前块,且帧内预测单元46(或在一些实例中为模式选择单元40)可从经测试模式中选择适当帧内预测模式来使用。

举例来说,帧内预测单元46可使用针对各种经测试帧内预测模式的速率-失真分析来计算速率-失真值,且可在经测试模式当中选择具有最佳速率-失真特性的帧内预测模式。速率-失真分析通常确定经编码块与原始未经编码块(其经编码以产生经编码块)之间的失真(或误差)量,以及用以产生经编码块的位速率(即,位的数目)。帧内预测单元46可从各种经编码块的失真及速率计算比率以确定哪一帧内预测模式展现所述块的最佳速率-失真值。

在选择用于块的帧内预测模式之后,帧内预测单元46可将指示用于块的经选择帧内预测的信息提供至熵编码单元56。熵编码单元56可编码指示经选择帧内预测模式的信息。视频编码器20可在经发射位流中包含以下各者:配置数据,其可包含多个帧内预测模式索引表及多个经修改帧内预测模式索引表(也被称作码字映射表);用于各种块的编码上下文的定义;及待用于所述上下文中的每一者的最可能帧内预测模式、帧内预测模式索引表及经修改帧内预测模式索引表的指示。

视频编码器20通过从正被译码的原始视频块减去来自模式选择单元40的预测数据而形成残余视频块。求和器50表示执行此减去运算的一或多个组件。变换处理单元52将变换(诸如离散余弦变换(DCT)或概念上相似变换)应用于残余块,从而产生包括变换系数值的视频块。可使用小波变换、整数变换、子频带变换、离散正弦变换(DST)或其它类型的变换来代替DCT。在任何状况下,变换处理单元52将变换应用于残余块,从而产生变换系数块。变换可将残余信息从像素域转换为变换域,诸如频域。变换处理单元52可将所得变换系数发送至量化单元54。量化单元54量化变换系数以进一步缩减位速率。量化过程可缩减与系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。

在量化之后,熵编码单元56熵译码经量化变换系数。举例来说,熵编码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、机率区间分割熵(PIPE)译码或另一熵译码技术。在基于上下文的熵译码的状况下,上下文可基于相邻块。在由熵编码单元56进行熵译码之后,可将经编码位流发射至另一装置(例如,视频解码器30),或加以存档以供稍后发射或检索。

反量化单元58及反变换单元60分别应用反量化及反变换以在像素域中重建残余块。确切地说,求和器62将经重建残余块与由运动补偿单元44或帧内预测单元46较早产生的运动补偿预测块相加,以产生用于存储于参考图片存储器64中的经重建视频块。经重建视频块可由动作估计单元42及运动补偿单元44使用,作为参考块以帧间译码后续视频帧中的块。

根据本发明的技术,延伸面产生单元63可使用上文所描述的技术从经重建视频块形成延伸参考帧。举例来说,使用上文所描述的技术,视频编码器20可接收及编码360度视频数据的帧。360度视频的经编码帧可以从360度视频数据的球体的投影获得的封装面而布置。视频编码器20可重建经编码360度视频数据的帧以获得360度视频数据的经重建帧。360度视频数据的经重建帧也以封装面而布置。延伸面产生单元63可经配置以从360度视频数据的经重建帧推导360度视频数据的经解码球体。延伸面产生单元63可经进一步配置以使用投影(例如,立方体贴图投影或ACP)对360度视频数据的经解码球体进行取样以产生延伸面。延伸面大于360度视频数据的经重建帧的封装面。延伸面产生单元63可经配置以自延伸面推导延伸参考帧且将延伸参考帧存储于参考图片存储器64中。视频编码器20可接着使用帧间预测过程及经推导延伸参考帧编码360度视频数据的后续帧。

图12为绘示可实施本发明的技术的视频解码器30的实例的框图。在图12的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测单元74、反量化单元76、反变换单元78、参考图片存储器82、延伸面产生单元81及求和器80。在一些实例中,视频解码器30可执行与关于视频编码器20(图11)所描述的编码遍次大体上互逆的解码遍次。运动补偿单元72可基于从熵解码单元70接收的动作向量产生预测数据,而帧内预测单元74可基于从熵解码单元70接收的帧内预测模式指示符产生预测数据。

如图12所展示,视频解码器接收包含待解码视频数据的当前经编码帧的经编码视频位流。在本发明的实例中,经编码视频帧可为360度视频数据的经编码帧。360度视频数据的经编码帧可为由360度视频数据的球体的立方体贴图投影或ACP形成的封装立方体面。

在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块及关联语法元素的经编码视频位流。视频解码器30的熵解码单元70熵解码位流以产生经量化系数、动作向量或帧内预测模式指示符,及其它语法元素。熵解码单元70将动作向量及其它语法元素转递至运动补偿单元72。视频解码器30可在视频切片级别及/或视频块级别处接收语法元素。

当视频切片被译码为经帧内译码(I)切片时,帧内预测单元74可基于用信号表示的帧内预测模式及来自当前帧或图片的经先前解码块的数据而产生用于当前视频切片的视频块的预测数据。当视频帧被译码为经帧间译码(例如,B或P)切片时,运动补偿单元72基于从熵解码单元70接收的动作向量及其它语法元素产生用于当前视频切片的视频块的预测性块。可从参考图片列表中的一者内的参考图片中的一者产生预测性块。视频解码器30可基于存储于参考图片存储器82中的参考图片使用默认构建技术来构建参考帧列表:列表0及列表1。

运动补偿单元72通过剖析动作向量及其它语法元素来确定用于当前视频切片的视频块的预测信息,且使用所述预测信息以产生用于正被解码的当前视频块的预测性块。举例来说,运动补偿单元72使用经接收语法元素中的一些以确定用以译码视频切片的视频块的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片或P切片)、用于切片的参考图片列表中的一或多者的构建信息、用于切片的每一经帧间编码视频块的动作向量、用于切片的每一经帧间译码视频块的帧间预测状态,及用以解码当前视频切片中的视频块的其它信息。

运动补偿单元72也可针对子像素精确度基于内插滤波器执行内插。运动补偿单元72可使用如由视频编码器20在视频块的编码期间使用的内插滤波器,以计算参考块的次整数像素的内插值。在此状况下,运动补偿单元72可从经接收语法元素确定由视频编码器20使用的内插滤波器且使用所述内插滤波器以产生预测性块。此外,运动补偿单元72可经配置以执行本发明技术中的任一者或全部(单独地或以任何组合方式)。

反量化单元76反量化(即,解量化)位流中所提供且由熵解码单元70解码的经量化变换系数。反量化过程可包含使用由视频解码器30针对视频切片中的每一视频块所计算的量化参数QPY以确定应被应用的量化程度且同样地确定应被应用的反量化程度。

反变换单元78将反变换(例如,反DCT、反整数变换或概念上相似反变换过程)应用于变换系数,以便在像素域中产生残余块。

在运动补偿单元72基于动作向量及其它语法元素产生用于当前视频块的预测性块之后,视频解码器30通过对来自反变换单元78的残余块与由运动补偿单元72产生的对应预测性块求和而形成经解码视频块。求和器80表示执行此求和运算的一或多个组件。视需要,也可应用解块滤波器以滤波经解码块以便移除块效应伪影。也可使用其它回路滤波器(在译码回路内或在译码回路之后)以使像素转变平滑,或以其它方式改进视频质量。接着将给定帧或图片中的经解码视频块存储于参考图片存储器82中,参考图片存储器82存储用于后续运动补偿的参考图片。参考图片存储器82也存储经解码视频以供稍后呈现于显示装置(诸如图1的显示装置32)上。举例来说,参考图片存储器82可存储经解码图片。

根据本发明的技术,延伸面产生单元81可使用上文所描述的技术从视频帧的经解码视频块形成延伸参考帧。举例来说,使用上文所描述的技术,视频解码器30可接收360度视频数据的经编码帧。360度视频的经编码帧可以从360度视频数据的球体的投影获得的封装面而布置。视频解码器30可解码经编码360度视频数据的帧以获得360度视频数据的经解码帧。360度视频数据的经解码帧也以封装面布置。延伸面产生单元81可经配置以从360度视频数据的经解码帧推导360度视频数据的经解码球体。延伸面产生单元81可经进一步配置以使用投影(例如,立方体贴图投影或ACP)对360度视频数据的经解码球体进行取样以产生延伸面。延伸面大于360度视频数据的经解码帧的封装面。延伸面产生单元81可经配置以从延伸面推导延伸参考帧且将延伸参考帧存储于参考图片存储器82中。视频解码器30可接着使用帧间预测过程及经推导延伸参考帧解码360度视频数据的后续经编码帧。

图13为绘示本发明的实例编码方法的流程图。包含延伸面产生单元63的视频编码器20可经配置以执行图13的技术。

在本发明的一个实例中,视频编码器20可经配置以接收360度视频数据的球体(1300),且将360度视频数据的球体布置成从360度视频数据的球体的投影获得的封装面的帧(1302)。视频编码器20可经进一步配置以编码封装面的帧以形成经编码360度视频数据的帧(1304),且接着重建经编码360度视频数据的帧以获得360度视频数据的经重建帧,360度视频数据的经重建帧是以封装面布置(1306)。视频编码器20可经进一步配置以从360度视频数据的经重建帧推导360度视频数据的经重建球体(1308),且使用投影对360度视频数据的经重建球体进行取样以产生延伸面,其中延伸面大于360度视频数据的经重建帧的封装面(1310)。视频编码器20可经进一步配置以从延伸面推导延伸参考帧(1312),且使用帧间预测过程及经推导延伸参考帧编码360度视频数据的后续帧(1314)。

在本发明的一个实例中,投影为立方体贴图投影或经调整立方体贴图投影(ACP)。

在本发明的另一实例中,为了使用投影对360度视频数据的经重建球体进行取样以产生延伸面,视频编码器20可经进一步配置以根据延伸像素的数目使用投影对360度视频数据的经重建球体进行取样以产生延伸面。

在本发明的另一实例中,视频编码器20经进一步配置以在图片级别或序列级别处产生延伸像素的数目的指示。在一个实例中,延伸像素的数目等于封装面的经编码帧的译码树单元(CTU)中的最大预测单元大小。

在本发明的另一实例中,视频编码器20经进一步配置以基于参考立方体面的旋转角旋转封装面的经编码帧的当前立方体面中的当前预测单元,参考立方体面含有用于当前预测单元的参考块。

图14为绘示本发明的实例解码方法的流程图。包含延伸面产生单元81的视频解码器30可经配置以执行图14的技术。

在本发明的一个实例中,视频解码器30可经配置以接收360度视频数据的经编码帧,360度视频数据的经编码帧是以从360度视频数据的球体的投影获得的封装面布置(1400),且解码经编码360度视频数据的帧以获得360度视频数据的经解码帧,360度视频数据的经解码帧是以封装面布置(1402)。视频解码器30可经配置以从360度视频数据的经解码帧推导360度视频数据的经解码球体(1404),且使用投影对360度视频数据的经解码球体进行取样以产生延伸面,其中延伸面大于360度视频数据的经解码帧的封装面(1406)。视频解码器30可经进一步配置以从延伸面推导延伸参考帧(1408),且使用帧间预测过程及经推导延伸参考帧解码360度视频数据的后续经编码帧(1410)。

在一个实例中,投影为立方体贴图投影或经调整立方体贴图投影(ACP)。

在本发明的另一实例中,为了使用投影对360度视频数据的经解码球体进行取样以产生延伸面,视频解码器30可经进一步配置以根据延伸像素的数目使用投影对360度视频数据的经解码球体进行取样以产生延伸面。在本发明的另一实例中,视频解码器30可经进一步配置以在图片级别或序列级别处接收延伸像素的数目的指示。在一个实例中,延伸像素的数目等于360度视频数据的经编码帧的译码树单元(CTU)中的最大预测单元大小。在本发明的另一实例中,视频解码器30可经进一步配置以基于参考立方体面的旋转角旋转360度视频数据的经编码帧的当前立方体面中的当前预测单元,参考立方体面含有用于当前预测单元的参考块。

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

在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合予以实施。如果以软件予以实施,则所述功能可作为一或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体进行发射,且由基于硬件的处理单元执行。计算机可读媒体可包含:计算机可读存储媒体,其对应于诸如数据存储媒体的有形媒体;或通信媒体,其包含例如根据通信协议促进计算机程序从一处传送至另一处的任何媒体。以此方式,计算机可读媒体通常可对应于(1)非暂时性有形计算机可读存储媒体,或(2)诸如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索指令、代码及/或数据结构以用于实施本发明中所描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。

作为实例而非限制,这些计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、闪速存储器,或可用以存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。又,任何连接被适当地称为计算机可读媒体。举例来说,如果使用同轴缆线、光缆、双绞线、数字订户线(DSL)或诸如红外线、无线电及微波的无线技术而从网站、服务器或其它远程源发射指令,那么同轴缆线、光缆、双绞线、DSL或诸如红外线、无线电及微波的无线技术包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体并不包含连接、载波、信号或其它暂时性媒体,而涉及非暂时性有形存储媒体。如本文中所使用,磁盘及光盘包含光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘及蓝光光盘,其中磁盘通常以磁性方式再生数据,而光盘通过激光以光学方式再生数据。以上各者的组合也应包含于计算机可读媒体的范围内。

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

本发明的技术可实施于各种各样的装置或设备中,所述装置或设备包含无线手机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必要求由不同硬件单元来实现。更确切地,如上文所描述,可将各种单元组合于编码解码器硬件单元中,或通过互操作性硬件单元(包含如上文所描述的一或多个处理器)的集合而结合合适软件及/或固件来提供所述单元。

已描述了各种实例。这些及其它实例在以下权利要求书的范围内。

41页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于在视频译码中构造候选列表的基于运动的优先级

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类