CN108965847B - 一种全景视频数据的处理方法及装置 - Google Patents
一种全景视频数据的处理方法及装置 Download PDFInfo
- Publication number
- CN108965847B CN108965847B CN201710393777.2A CN201710393777A CN108965847B CN 108965847 B CN108965847 B CN 108965847B CN 201710393777 A CN201710393777 A CN 201710393777A CN 108965847 B CN108965847 B CN 108965847B
- Authority
- CN
- China
- Prior art keywords
- picture
- resolution
- layer
- data
- boundary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种全景视频数据的处理方法及装置,用以提高全景视频播放时的视频质量,改善用户观看体验。所述方法包括:终端接收全景视频的N层数据码流并解码,得到N个待处理画面,将解码第1层数据码流得到的第1待处理画面作为第1待拼接画面,将解码第i层数据码流得到的第i待处理画面通过图像超分辨率算法放大Pi倍,得到第i待拼接画面,Pi等于第1分辨率与第i分辨率的比值,使用第N待拼接画面的数据作为待显示画面帧中全部画面区域内的数据,并按照i取值从N递减的顺序,依次使用第i‑1待拼接画面的数据覆盖所述待显示画面帧中第i‑1区域内的数据,对所述待显示画面帧中第1区域至第N‑1区域的边界进行平滑处理后显示。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种全景视频数据的处理方法及装置。
背景技术
虚拟现实(Virtual Reality,VR)技术是一种可以创建和体验虚拟世界的计算机仿真系统,利用计算机生成一种模拟环境,使用户沉浸到该环境中。VR技术主要包括模拟环境、感知、自然技能和传感设备等方面。模拟环境是由计算机生成的、实时动态的三维立体逼真图像。感知是指理想的VR应该具有一切人所具有的感知,除计算机图形技术所生成的视觉感知外,还有听觉、触觉、力觉、运动等感知,甚至还包括嗅觉和味觉等。自然技能是指人的头部转动,眼睛、手势、或其他人体行为动作,由计算机来处理与参与者的动作相适应的数据,实时响应用户的输入,并分别反馈到用户的五官。传感设备是指三维交互设备,该设备能采集用户的动作并把该动作为输入反馈到计算机模拟系统。
视觉感官在VR中占据极其重要的地位。最基本的VR系统首先要解决的是虚拟的视觉感官。为此,基本的VR系统首先要做到以下三点,第一、阻断人原有的视觉输入;第二、用虚拟影像光线占据全部视觉;第三、与影像的交互,达到欺骗大脑的效果。
全景视频扩展了传统的视频技术来达到VR沉浸的目的。不同于传统的视频只能被动的观看摄影师拍摄的既定视场角(Field Of View,FOV)的画面和镜头,全景视频可以让用户以主动交互的方式在拍摄点的上下左右360度的任意位置观看动态视频,让用户有一种真正意义上身临其境的感觉,而不受时间、空间和地域的限制。由于全景视频记录了360度空间的所有景象,因而全景视频具有数据量大的特点,这也给全景视频在网络上的传输带来了巨大的挑战。如果服务端直接将全景视频的数据全部传输到客户端进行解码播放,不仅需要大量的传输资源,还需要对客户端播放器进行较大修改,以实现全景视频的渲染显示,如果服务端以降低全景视频部分区域分辨率的方式来传输全景视频,则会导致全景视频在客户端解码播放时出现诸如部分区域模糊,边界明显,运动物体出现闪烁等现象,造成较差的用户观看体验。
发明内容
本申请提供一种全景视频数据处理方法及装置,用以提高全景视频播放时的视频质量,改善用户观看体验。
第一方面,本申请提供了一种全景视频数据的处理方法,所述方法包括:
终端接收全景视频的N层数据码流;其中,对所述全景视频的每个画面帧,所述N层数据码流中的第1层数据码流用于传输该画面帧中第1区域内的数据,所述第1区域包含该画面帧中由所述终端的用户视场角确定的区域,该画面帧的原始分辨率为第1分辨率,第i层数据码流用于传输该画面帧降采样为第i分辨率后第i区域内的数据,i为大于1且不大于N的整数,第i分辨率小于第i-1分辨率,第i区域包含第i-1区域,第N层数据码流用于传输该画面帧降采样为第N分辨率后全部画面区域的数据;
所述终端解码所述N层数据码流,得到N个待处理画面;
所述终端将解码第1层数据码流得到的第1待处理画面作为第1待拼接画面,将解码第i层数据码流得到的第i待处理画面通过图像超分辨率算法放大Pi倍,得到第i待拼接画面,所述Pi等于第1分辨率与第i分辨率的比值;
所述终端使用第N待拼接画面的数据作为待显示画面帧中全部画面区域内的数据,并按照i取值从N递减的顺序,依次使用第i-1待拼接画面的数据覆盖所述待显示画面帧中第i-1区域内的数据;
所述终端对所述待显示画面帧中第1区域至第N-1区域的共N-1个区域的边界进行平滑处理后显示。
可以看到,通过本申请上述实施例,在全景视频分层tile传输的基础上,将通过采用图像超分辨率放大算法对分层传输中的低分辨率层传输画面进行放大,并对画面拼接所造成的画面边界进行平滑处理,从而能够克服全景视频画面质量过渡不均匀、动态过渡模糊等缺陷,整体上提高全景视频播放时的画面质量,改善用户观看体验。
在一种可能的设计中,所述终端对所述待显示画面帧中第1区域至第N-1区域的共N-1个区域的边界进行平滑处理,可以通过如下方式实现:
所述终端对所述待显示画面帧中第1区域至第N-1区域的共N-1个区域中每一个区域的边界,使用与该区域的边界距离在第一设定距离范围内的像素集合,通过空域滤波算法将该区域的边界进行平滑处理。
通过上述频域滤波,能够有效消除待显示画面帧中由分辨率差异所形成的边界,从而提高全景视频播放时的视频质量,改善用户观看体验
在一种可能的设计中,所述终端对所述待显示画面帧中第1区域至第N-1区域的共N-1个区域的边界进行平滑处理后,且在显示之前,还包括:
所述终端对边界平滑处理后得到的画面帧,通过时域滤波算法进行时域滤波处理,以使所述全景视频中的运动物体分辨率平滑过渡。
通过上述时域滤波,增强全景视频中运动物体的清晰度,消弱全景视频播放中在时域上的模糊及闪烁现象,平滑时域质量
在一种可能的设计中,所述终端将解码第i层数据码流得到的第i待处理画面通过图像超分辨率算法放大Pi倍,得到第i待拼接画面,可以通过如下方式实现:
所述终端将所述第i待处理画面中与第i-1区域边界的距离在第二设定距离范围内的像素使用图像超分辨率算法放大所述Pi倍,将所述第i待处理画面中的其它像素使用非图像超分辨率算法放大所述Pi倍,得到所述第i待拼接画面。
这样,能够克服由于图像超分辨率放大算法计算量通常较大,对全部画面进行图像超分辨率放大处理对计算资源的消耗大的缺陷,降低处理的复杂度而不影响用户的观看体验
在一种可能的设计中,所述方法还包括:
所述终端通过空域滤波算法,将由所述第i待拼接画面中基于图像超分辨率算法得到的区域与基于图像差值算法得到的区域之间形成的边界进行平滑处理。
这样,能够解决本申请一些实施例选择待拼接画面中的部分区域进行图像超分辨率放大,在该待拼接画面中导致边界出现的问题。
在一种可能的设计中,所述空域滤波算法为H.264去块滤波算法,或者为H.265去块滤波算法。
第二方面,本申请提供了一种全景视频数据的处理装置,所述装置包括:
接收模块,用于接收全景视频的N层数据码流;其中,对所述全景视频的每个画面帧,所述N层数据码流中的第1层数据码流用于传输该画面帧中第1区域内的数据,所述第1区域包含该画面帧中由所述终端的用户视场角确定的区域,该画面帧的原始分辨率为第1分辨率,第i层数据码流用于传输该画面帧降采样为第i分辨率后第i区域内的数据,i为大于1且不大于N的整数,第i分辨率小于第i-1分辨率,第i区域包含第i-1区域,第N层数据码流用于传输该画面帧降采样为第N分辨率后全部画面区域的数据;
解码模块,用于解码所述接收模块接收到的所述N层数据码流,得到N个待处理画面;
放大模块,用于将所述解码模块解码第1层数据码流得到的第1待处理画面作为第1待拼接画面,将所述解码模块解码第i层数据码流得到的第i待处理画面通过图像超分辨率算法放大Pi倍,得到第i待拼接画面,所述Pi等于第1分辨率与第i分辨率的比值;
拼接模块,用于使用所述放大模块得到的第N待拼接画面的数据作为待显示画面帧中全部画面区域内的数据,并按照i取值从N递减的顺序,依次使用所述放大模块得到的第i-1待拼接画面的数据覆盖所述待显示画面帧中第i-1区域内的数据;
边界处理模块,用于对所述拼接模块得到的所述待显示画面帧中第1区域至第N-1区域的共N-1个区域的边界进行平滑处理;
显示模块,用于显示所述边界处理模块处理后的画面帧。
在一种可能的设计中,所述边界处理模块在对所述拼接模块得到的所述待显示画面帧中第1区域至第N-1区域的共N-1个区域的边界进行平滑处理时,具体用于:
对所述拼接模块得到的所述待显示画面帧中第1区域至第N-1区域的共N-1个区域中每一个区域的边界,使用与该区域的边界距离在第一设定距离范围内的像素集合,通过空域滤波算法将该区域的边界进行平滑处理。
在一种可能的设计中,所述边界处理模块在对所述拼接模块得到的所述待显示画面帧中第1区域至第N-1区域的共N-1个区域的边界进行平滑处理后,还用于:
对边界平滑处理后得到的画面帧,通过时域滤波算法进行时域滤波处理,以使所述全景视频中的运动物体分辨率平滑过渡。
在一种可能的设计中,所述放大模块在将所述解码模块解码第i层数据码流得到的第i待处理画面通过图像超分辨率算法放大Pi倍时,具体用于:
将所述第i待处理画面中与第i-1区域边界的距离在第二设定距离范围内的像素使用图像超分辨率算法放大所述Pi倍,将所述第i待处理画面中的其它像素使用非图像超分辨率算法放大所述Pi倍。
在一种可能的设计中,所述边界处理模块,还用于:
通过空域滤波算法,将由所述放大模块得到的第i待拼接画面中基于图像超分辨率算法得到的区域与基于图像差值算法得到的区域之间形成的边界进行平滑处理。
在一种可能的设计中,所述空域滤波算法为H.264去块滤波算法,或者为H.265去块滤波算法。
本发明上述第二方面或第二方面的任一种实现所述方法的实施及有益效果可参见本发明上述第一方面或第一方面的任一种实现所述方法的实施及有益效果,重复之处不再赘述。
第三方面,本申请提供了一种终端,所述终端包括:处理单元、存储单元和通信单元;
其中,所述存储单元存储有计算机程序,所述通信单元用于收发数据,所述处理单元用于基于所述通信单元收发数据的功能,通过调用存储单元中存储的计算机程序来执行上述第一方面或第一方面的任一种实现所述的全景视频数据的处理方法。
在一种可能的设计中,所述终端还包括:显示单元,用于对所述处理单元执行上述第一方面或第一方面的任一种实现所述的全景视频数据的处理方法后得到的待显示画面帧进行显示。
第四方面,本申请提供了一种计算机可读存储介质,用于存储为执行上述第一方面、第一方面的任意一种实现的功能所使用的计算机指令,其包含用于执行上述第一方面、第一方面的任意一种实现的方法所设计的程序,以使处理器在调用所述计算机指令时,能够执行上述第一方面、第一方面的任意一种实现方案。
附图说明
图1为本申请一些实施例中用户视场角的示意图;
图2为本申请一些实施例中全景视频分层tile传输流程的示意图;
图3为本申请一些实施例提供的全景视频数据的处理方案的流程示意图;
图4为本申请一些实施例中终端对待拼接画面选择出部分区域进行图像超分辨率放大的示意图;
图5(a)为本申请一些实施例中终端对待显示画面帧中的区域边界进行平滑处理的原理示意图;
图5(b)为本申请一些实施例中终端对待显示画面帧中的区域边界进行平滑处理的原理示意图;
图6(a)为本申请一些实施例中运动物体的运动轨迹在时域上从画面的高分辨率区域到画面的低分辨率区域的示意图;
图6(b)为本申请一些实施例对示例情形下的画面帧进行时域滤波的示意图;
图7为本申请一些实施例中基于运动估计进行时域滤波的示意图;
图8(a)为本申请一些实施例中全景视频中的运动物体没有时域滤波处理时从高分辨率区域运动到低分辨率区域时分辨率的变化示意图;
图8(b)为本申请一些实施例中使用时域滤波处理后全景视频中运动物体从高分辨率区域运动到低分辨率区域时分辨率的变化示意图;
图8(c)为本申请一些实施例中全景视频中的运动物体没有时域滤波处理时从低分辨率区域运动到高分辨率区域时分辨率的变化示意图;
图8(d)为本申请一些实施例中使用时域滤波处理后全景视频中运动物体从低分辨率区域运动到高分辨率区域时分辨率的变化示意图;
图9为本申请一些实施例所提供的全景视频数据的处理方案应用在该示例场景中的流程示意图;
图10为本申请一些实施例提供的全景视频数据的处理装置的结构示意图;
图11为本申请一些实施例提供的终端的结构示意图。
具体实施方式
下面结合附图对本申请作进一步地详细描述。
本申请提供一种全景视频数据的处理方法及装置,用以解决全景视频在终端解码播放时出现诸如部分区域模糊,边界明显,运动物体出现闪烁等问题,提高全景视频播放时的视频质量,改善用户观看体验。其中,方法和装置是基于同一发明构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
本申请实施例中,全景视频的画面帧通过N层数据码流从服务端侧传输到终端侧,其中,对于全景视频的每个画面帧,令该画面帧的原始分辨率为第1分辨率,这N层数据码流中的第1层数据码流用于传输该画面帧中由所述终端的用户视场角确定的第1区域内的数据,第i层数据码流用于传输该画面帧降采样为第i分辨率后第i区域内的数据,第i分辨率小于第i-1分辨率,第i区域包含第i-1区域,i为大于1且不大于N的整数,第N层数据码流用于传输该画面帧降采样为第N分辨率后全部画面区域的数据;终端在接收到全景视频的N层数据码流之后进行解码,得到N个待处理画面,并进一步地将解码第1层数据码流得到的第1待处理画面作为第1待拼接画面,将解码第i层数据码流得到的第i待处理画面通过图像超分辨率算法放大Pi倍,得到第i待拼接画面,其中的Pi等于第1分辨率与第i分辨率的比值,从而得到共N个待拼接画面,终端使用第N待拼接画面的数据作为待显示画面帧中全部画面区域内的数据,并按照i取值从N递减的顺序,依次使用第i-1待拼接画面的数据覆盖待显示画面帧中第i-1区域内的数据,再对该待显示画面帧中第1区域至第N-1区域的共N-1个区域的边界进行平滑处理后显示。
通过本申请实施例所提供的上述过程,全景视频在经由分层降分辨率传输的方式传输到终端的情况下,终端接收分层数据码流并解码后,将可以基于超分辨率放大算法对降低分辨率传输的各层数据所恢复出的画面进行放大处理,从而得到具有较高画面质量的各层画面,终端再通过将得到的多层画面进行拼接,同时对由画面拼接所形成的边界进行平滑处理后显示,因而能够向终端的用户呈现画面质量较高且边界效应得到有效消减的全景画面帧,可以提高全景视频播放时的视频质量,使得终端的用户的观看体验得到改善。
以下,对本申请中的部分用语进行解释说明,以便本领域技术人员理解。
1、视场角(Field Of View,FOV):是指人的眼睛在任一瞬间视觉可见的场景的边缘与观察点(眼睛所在位置)连线所形成的夹角;比如,在显示系统中,视场角通常是显示器边缘与观察点(眼睛)连线的夹角。
在本文的描述中,由用户的FOV在全景视频的画面帧上所确定出的区域被称为用户视场角区域(FOV区域)。比如,图1示出了视场角的一个示例,在360度空间中,区域A即为用户的FOV所形成的FOV区域。
2、ROI(region of interest,感兴趣区域):通常地,在图像处理领域中,感兴趣区域(ROI)是从图像中选择的一个图像区域,通过圈定该区域以进行进一步得处理,能够达到减少处理时间,增加处理精度的目的。在图像算法很多应用场合,图像中处理的目标往往位置相对固定,根据先验信息定义图像的ROI区域可以大幅减小算法的复杂度,提高算法的效率和鲁棒性。根据图像中目标的形状特征不同,ROI区域的定义方式有多种方式,较为常见的比如有以方框、圆、椭圆、不规则多边形等方式勾勒出需要处理的区域。
需要说明的是,本申请中涉及的终端可以包括智能手机、平板电脑、台式机、笔记本电脑以及VR设备(诸如VR头戴式显示设备)等能够具备全景视频数据处理功能的设备。
比如,本申请中涉及的终端具体可以是VR设备,VR设备通常可包括有虚拟环境、以高性能计算机为核心的虚拟环境处理器、显示系统、听觉追踪系统、以方位跟踪器、数据手套和数据衣为主体的身体方位姿态跟踪系统,以及味觉、嗅觉、触觉、力觉等反馈功能单元或者模块等;其中,虚拟环境处理器可用于接收以及处理全景视频数据,显示系统可用于实现全景视频的播放。
应当理解的是,上述结构描述,并不对本申请实施例涉及到的终端构成限定,可以包括更多的功能或者模块,本申请对此不作具体限定。
本申请中涉及的全景视频具体可以是VR视频,或者也可以是立体的双路360度视频。
本申请中涉及的终端上可安装有用于支持全景视频播放的应用;比如VR应用,包括不局限于VR游戏类应用、VR影院类应用、VR社交类应用,VR模拟购物类应用,VR教育类应用,VR体育类应用等等,或者往后新开发出来的其它应用等,具体不作限定。
此外,需要说明的是,本申请中所涉及的多个,是指两个或两个以上;本申请描述中的“第一”(“第1”)、“第二”(“第2”)等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
为了更清楚地说明本申请实施例所提供的全景视频数据的处理方案,下面先简要介绍下全景视频传输的相关技术方案。
传统的用以传输全景视频并在终端实现播放的方案比如有:服务器将整个全景视频直接传输给终端进行渲染播放,该方案的缺陷在于,由于终端的用户任意时刻实际上只会看全景视频中位于正前方视角区域(即FOV区域)内的画面,该画面区域往往只占全景视频全部画面区域的1/6左右,因而带宽利用率很低;此外,还需要对终端中的播放器进行较大变动,以使播放器能够根据全景视频的投影格式,将全景视频作为纹理映射到相应的投影面上,如球面、或立方体面,在它们的中心进行重投影渲染来显示全景视频的画面;
又比如,还有由服务器渲染全景视频画面的方案,服务器实时获取终端的用户视角的转动情况,把终端的用户想观看的FOV区域内的画面实时渲染和压缩后传输给终端,由终端对接收的画面数据码流进行解码,在终端自身的屏幕上显示或传输到终端外接的屏幕上显示,该方案的缺陷在于处理路径较长,从终端采集用户行为、传输给服务器、在服务端渲染、编码、传输、缓冲、最后在终端解码显示,会造成较高的运动到显示的时延(Motion toPhoton Latency,MTP),难以满足大部分全景视频应用小于20ms的MTP延时的需求;
再比如,还有由服务端进行投影变换预处理的方案,服务器通过对全景视频在源文件格式上做一些投影变换预处理,来降低文件的数据大小,降低传输带宽;一种典型的例子是利用四菱锥投影格式,把全景视频预先以有限个离散且不同的FOV角度来投影成不同的四菱锥文件,当服务器检测到终端的用户视角运动到某个FOV方向后,选取最接近该方向的四菱锥文件传输给终端,终端接收到四菱锥文件的码流后,将四菱锥文件的码流解码成四菱锥视频,并作为纹理映射到相应的四菱锥面上,在四菱锥的中心进行重投影渲染得到显示画面,该方案仍然存在较多缺陷,如服务器和终端都需要做投影渲染,且服务器需要保证具有所有的不同FOV方向的文件,需要消耗大量的服务器存储空间,同时也需要较大的内容分发网络(Content Delivery Network,CDN)带宽。
考虑到上述方案各自存在的缺陷,业界目前还提供了基于分层分块(tile)传输技术传输全景视频的方案。该方案中,对全景视频的每一个画面帧,服务器将通过分层的方式同时传输该画面帧的多个不同分辨率层、且每一层包含不同的ROI区域大小的码流到终端侧。比如,作为一个示例,图2示出了全景视频分层tile传输流程的示意图。
参阅图2,该示例流程采用了典型的三层传输方式,其中,第一层(分辨率层1)对应于全景视频的原始画面帧,具有最高的分辨率,因而为了节省带宽,将只传输包含有FOV区域的最小ROI区域(ROI 1区域)。中间的第二层(分辨率层2)对应于全景视频的原始画面帧被2:1降采样后的、低分辨率的画面,因为分辨率降低,因而可以传输包括FOV区域的、且比第一层更大的ROI区域(ROI 2区域)。第三层(分辨率层3),也即最底层,对应于全景视频的原始画面帧再次被2:1降采样后的画面,即对应于全景视频的原始画面帧被4:1降采样后的、更低分辨率的画面,由于分辨率极低,因而可以将该画面的整个画面区域(ROI 3区域)传输到终端;
为了方便第一层和第二层的数据传输,这两个分辨率层均采用tile切片的编码方式。比如,tile切片的编码方式典型的是将画面在水平垂直方向上切分为MxN个矩形块(tile)的独立的tile码流进行传输。如图2中所示出的,第三层可以不切分矩形块而直接以一个矩形块(一个ROI-tile)进行传输,第二层对应于水平和垂直方向上被切分出的2×2个矩形块的tile码流,即终端将接收到来自第二层的多个ROI-tiles,第一层对应于水平和垂直方向上被切分为4×4个矩形块的tile码流,即终端将接收到来自第一层的多个ROI-tiles;
在终端侧,终端接收到这三层的tile码流(第三层包含一个tile的码流、第二层和第一层包含多个tile的码流)并进行解码后,可将所得到的画面进行合成和拼接,从而得到最终的待显示全景画面帧,送入到图形处理器(Graphics Processing Unit,GPU)进行渲染显示。
可以看到,由于采用了分层tile的传输技术,对于不同的FOV视角,当用户切换FOV视角到相应的画面区域,通过tile切片编码方案可将与该画面区域对应的矩形块的tile码流传输到终端,tile码流可以组合以达到FOV自适应的传输,相比于上述全景视频的传输方案,分层tile传输方案能够有效节省服务器的存储空间和CDN带宽,在MTP延时、传输带宽、服务器存储和CDN带宽、视频质量体验之间获得较好的平衡。
然而,通过上述分层tile传输方案传输的全景视频在播放时依然存在有缺陷:首先,在对解码全景视频的数据码流得到的画面进行合成和拼接时,往往会先通过图像插值放大算法对低分辨率层传输的低分辨率画面进行放大,然后再进行画面的拼接,但是通过图像插值放大算法放大后的画面质量比较差,容易出现模糊不清晰的效果,特别是在用户转动视角(FOV变化)的过程中,画面动态过渡的质量十分不理想。
举例来说,当用户以较大的速度转动FOV视角之后,由于传输延时,下一个时刻的tile码流可能还来不及到达终端侧,因而终端侧的播放器只能使用已有的具有较低分辨率的第二层的画面内容作为纹理来渲染FOV区域内的画面,如果FOV视角转动幅度更大,那么播放器甚至需要使用具有最低分辨率的最底层数据来渲染FOV区域内画面,使用低分辨率的画面来渲染将得到低质量的模糊画面,降低用户的观看体验;
此外,各个不同分辨率层的画面在拼接合成时会出现空域的边界效应,因而在空域上画面质量过渡不平滑;另外,如果全景视频中存在有运动的物体(或者对象),并且该物体在时域上的运动跨越各个分辨率层所形成的画面边界的情况下,将会出现时域的边界效应,即在时域上画面质量过渡也不平滑;例如,当人眼在全景视频中跟踪一个运动物体的时候,如果物体的运动从高分辨率区域变化到低分辨率区域,将会导致运动物体在时域上的模糊突变和闪烁,这也会降低用户观看体验。
考虑到全景视频分层tile传输后在播放上的缺陷,同时考虑到全景视频分层tile传输技术所具备的优势,本申请实施例提供了一种全景视频数据的处理方案。
本申请实施例所提供的全景视频数据的处理方案主要是在全景视频分层tile传输的基础上,通过采用图像超分辨率放大算法对分层传输中的低分辨率层传输画面进行放大,并对画面拼接所造成的画面边界进行平滑处理,从而克服全景视频画面质量过渡不均匀、动态过渡模糊等缺陷,整体上提高全景视频播放时的画面质量,改善用户观看体验。
下面结合图3,对本申请一些实施例提供的全景视频数据的处理方案进行说明。图3示出了本申请一些实施例提供的全景视频数据的处理方案的流程示意图。
参阅图3,该流程可以包括有如下步骤:
在步骤301部分,终端接收全景视频的N层数据码流;进一步地,在步骤302部分,终端解码这N层数据码流,得到N个待处理画面。
其中,基于上文对全景视频分层tile传输的介绍,对于全景视频的每个画面帧,上述N层数据码流中的第1层数据码流可用于传输该画面帧(设该画面帧的分辨率为第1分辨率)中第1区域内的数据,该第1区域可以是包含该画面帧中由终端的用户视场角(FOV)确定出的区域,第i层数据码流用于传输该画面帧降采样为第i分辨率后第i区域内的数据,i为大于1且不大于N的整数,第i分辨率小于第i-1分辨率,第i区域包含第i-1区域,第N层数据码流用于传输该画面帧降采样为第N分辨率后全部画面区域的数据。
比如,以上述全景视频分层tile传输的典型示例-三层传输方式场景为例,该场景下,终端通过步骤301将接收到全景视频的三层数据码流(即N=3),其中,分辨率层1(相当于上述的第1层)对应于全景视频具有原始分辨率(相当于上述第1分辨率)的画面帧,传输包含有FOV区域的ROI 1区域(相当于上述的第1区域)内画面的数据码流,分辨率层2(相当于上述的第2层)对应于全景视频的原始画面1被2:1降采样后的较低分辨率(相当于上述i=2时的第2分辨率)的画面,传输包含FOV区域且比ROI 1区域更大的ROI 2区域(相当于上述的第2区域)内画面的数据码流,分辨率层3(相当于上述的第3层(或第N层))对应于全景视频的原始画面帧被4:1降采样后的更低分辨率(相当于上述i=3,也即i取值为N时的第3(或N)分辨率)的画面3,传输整个画面区域也即ROI 3区域(相当于上述的第3(或N)区域)内画面的数据码流。
终端通过步骤301接收到全景视频的N层数据码流之后,便可以通过步骤302进行解码,得到N个待拼接画面,其中,终端对每层数据码流解码分别得到一个待拼接画面。
仍然以上述三层传输的场景示例,终端解码分辨率层1传输的数据码流将得到具有分辨率与全景视频原始画面帧的分辨率相同的待拼接画面1,待拼接画面1的画面数据即为位于全景视频画面的ROI 1区域中的、具有原始分辨率的画面数据,解码分辨率层2传输的数据码流将得到的具有较低分辨率的待拼接画面2,待拼接画面2的画面数据即为位于全景视频画面的ROI 2区域中的、降采样得到的较低分辨率的画面数据,解码分辨率层3传输的数据码流将得到具有最低分辨率的待拼接画面3,待拼接画面3的画面数据即为位于全景视频画面的ROI 3区域(也即全部区域)中的、降采样得到的最低分辨率的画面数据。
进一步地,在步骤303部分,终端可将解码第1层数据码流得到的第1待处理画面作为第1待拼接画面,将解码第i层数据码流得到的第i待处理画面通过图像超分辨率算法放大Pi倍,得到第i待拼接画面;其中,Pi等于第1分辨率与第i分辨率的比值;
上述处理之后,在步骤304部分,终端可使用第N待拼接画面的数据作为待显示画面帧中全部画面区域内的数据,并按照i取值从N递减的顺序,依次使用第i-1待拼接画面的数据覆盖待显示画面帧中第i-1区域内的数据,从而得到待显示画面帧。
比如,仍然基于上述三层传输的场景示例,终端可对解码两个低分辨率层(分辨率层2和分辨率层3)的数据码流所得到的待拼接画面2和待拼接画面3分别在水平和垂直方向上,通过图像超分辨率放大算法进行放大,其中,待拼接画面2将按照1:2进行放大,即放大2倍(相当于上述的Pi=2=2),待拼接画面3将按照1:4进行放大,即放大4倍(相当于上述的Pi=3=4),然后再通过步骤304将解码分辨率层1所得到的待拼接画面1、以及放大2倍后的待拼接画面2和放大4倍后的待拼接画面3合成拼接到一起,形成待显示画面帧。
具体地,上述图像超分辨率算法比如可以是非局部插值算法,时域像素算法,统计字典方法,基于稀疏表示的超分辨率算法,基于深度学习的超分辨率算法,基于图像分解的超分辨率算法等用于将一幅低分辨率图像或图像序列恢复为高分辨率图像的算法。
可以看到,由于终端在步骤303部分对于具有较低分辨率的待拼接画面使用图像超分辨率算法进行放大,即将解码第2至第N层数据码流所得到的第2至第N待拼接画面进行图像超分辨率的增强处理,而不是传统的图像超值放大处理,因而能够得到质量更高的画面,克服低分辨率画面以普通的图像插值放大算法进行放大时放大效果差,图像模糊不清晰,以及在FOV转动过程中的动态过渡效果较差等缺陷。
具体地,终端在步骤304中将由步骤303处理后N个待拼接画面合成为一个待显示画面帧的过程的实际实现,主要是内存的复制与覆盖,不涉及对画面数据的其它操作。
比如,基于上述三层传输的场景示例,对于解码分辨率层1所得到的待拼接画面1、放大2倍后的待拼接画面2、以及放大4倍后的待拼接画面3,终端可以首先将具有最高分辨率的待拼接画面1的画面数据复制并覆盖到具有中间分辨率的待拼接画面2的画面相对应的存储位置(相当于使用最高分辨率的ROI 1区域内的数据覆盖到待拼接画面2中对应ROI1区域的存储位置),然后再将覆盖后的具有中间分辨率的待拼接画面2的画面数据复制并覆盖到具有最低分辨率的待拼接画面3的画面相对应的存储位置(相当于使用完成ROI 1区域数据覆盖后的ROI 2区域内的数据覆盖到待拼接画面3中对应ROI 2区域的存储位置),从而得到待显示画面帧,该待显示画面帧中,画面的ROI 1区域内为具有最高分辨率的画面数据,ROI 2区域内除去ROI 1区域的部分为具有中间分辨率的画面数据,ROI 3区域(也即全部画面区域)内除去ROI 2区域的部分为具有最低分辨率的画面数据。
进一步地,考虑到图像超分辨率放大算法计算量通常较大,对全部画面进行图像超分辨率放大处理对计算资源的消耗将非常大,而在用户观看全景视频的实际场景中,用户观看的往往仅仅是包含FOV区域的ROI区域内的画面,对于FOV区域外围的更多的画面,是由于用户可能发生视角转动而存在一定的概率被访问到,比如在用户FOV转动过程中新的FOV预测不准确、或者FOV区域画面传输延时,导致终端不能及时获取下一个高分辨率的FOV区域的画面等情况下,为了降低MTP延时终端将需要使用已有的较低分辨率层所传输的具有更大ROI区域的画面进行FOV的渲染。因而,在图3所示流程的一些实现场景中,终端在对分辨率较低的待拼接画面进行图像超分辨率放大处理时,终端可以选择出待拼接画面的部分区域来进行图像超分辨率放大,从而降低处理的复杂度而不影响用户的观看体验,因为越是远离当前用户FOV区域的其它区域,被访问的可能性越低。
具体地,对于解码第i层数据码流所得到的第i待处理画面(其中,i从2到N范围内依次取值),终端可将第i待处理画面中与第i-1区域边界的距离在第二设定距离范围内的像素使用图像超分辨率算法放大Pi倍,将第i待处理画面中的其它像素使用非图像超分辨率算法(比如典型的可以是图像插值放大算法等)放大Pi倍,通过上述方式得到第i待拼接画面。
基于前述全景视频三层传输的场景示例,作为一个示例,图4示出了本申请一些实施例中终端对待拼接画面选择出部分区域进行图像超分辨率放大的示意图。
参阅图4,由水平线填充的区域代表待拼接画面3(相当于画面的ROI 3区域,也即全部画面区域,),由斜线填充的区域代表待拼接画面2(相当于画面的ROI 2区域),由格子线填充的区域代表具有原始分辨率的待拼接画面1(相当于画面的ROI 1区域),由于从用户观看全景视频的角度而言,包含有FOV区域的最小区域,即ROI 1区域才是当前被访问的,更大一点的ROI 2区域以及全部的画面区域(即ROI 3区域)只是有一定的概率被访问到,比如当用户FOV转动过程中新的FOV预测不准确、或者FOV画面传输延时,导致终端不能及时获取下一个高分辨率的包含有FOV区域的ROI 1区域内的画面时,为了降低MTP延时,终端可能会临时使用已有的ROI 2区域或者ROI 3区域内的低分辨率的模糊画面来进行新的FOV区域的渲染;
因而,考虑到用户视角运动具有连续性,越靠近当前FOV区域的画面,下一时刻被访问到的可能性越高,为了降低处理复杂度,如图4中所示出的,终端在对待拼接画面3进行放大处理的时候,只对待拼接画面3中位于ROI 2区域边界附近的矩形区域(如图4中的由ROI 2区域边界与虚线圈出的区域A)中的画面进行图像超分辨率放大处理,而不是整个待拼接画面3,类似地,在对待拼接画面2进行放大处理的时候,只对待拼接画面2中位于ROI 1区域边界附近的矩形区域(如图4中的由ROI 1区域边界与虚线圈出的区域B)中的画面进行图像超分辨率放大处理,而不是整个待拼接画面2。
可以看到,通过上述选择低分辨率层次的待拼接画面中靠近高分辨率层次的ROI区域的周围像素进行图像超分辨率放大处理,而不是对所有的像素区域进行超分辨率,一方面,所需处理像素个数得到较少,因而能大大降低复杂度,另一方面,由于越远离高分辨率层次的ROI区域的像素被访问的概率越低,因此不对待拼接画面中的全部区域内的像素进行图像超分辨率处理,也不会对用户观看全景视频的体验造成较大影响。
由于终端通过步骤304所得到的待显示画面帧是由步骤303放大处理后的、具有不同分辨率、且分别对应画面中N个区域的N个待拼接画面合成的,如果直接进行显示,该待显示画面帧中将会出现由第1区域(对应第1待拼接画面)到第N-1区域(对应第N-1待拼接画面)的共N-1个区域的边界所造成的边界效应,导致不好的用户观看体验;为了解决上述边界效应问题,在如图3所示的流程中,终端在通过步骤301-304部分得到待显示画面帧之后,在步骤305部分,可先对该待显示画面帧中第1区域至第N-1区域的共N-1个区域的边界进行平滑处理,然后再进行显示。
具体地,终端可对该待显示画面帧中第1区域至第N-1区域的共N-1个区域中每一个区域的边界,使用与该区域的边界距离在第一设定距离范围内的像素集合,通过空域滤波算法将该区域的边界进行平滑处理。
其中,空域滤波算法具体比如可以是H.264去块滤波算法,或者H.265去块滤波算法等。
作为一个示例,假设待显示画面帧中的区域边界(即上述的第1区域至第N-1区域的边界)均为矩形,图5(a)和图5(b)示出了本申请一些实施例中终端对待显示画面帧中的区域边界进行平滑处理的原理示意图。
参阅图5(a),对于待显示画面帧中存在的区域的垂直边界,终端可以利用该垂直边界左边的4个像素p3、p2、p1、p0以及该垂直边界右边的4个像素q3、q2、q1、q0,通过空域滤波算法来进行滤波,从而消弱除该垂直边界;参阅图5(b),对于待显示画面帧中存在的区域的水平边界,终端可以利用该水平边界上边的4个像素p3、p2、p1、p0以及该水平边界下边的4个像素q3、q2、q1、q0,通过空域滤波算法来进行滤波,从而消弱除该水平边界;对于水平边界与垂直边界的交叉拐点,可以先进行水平方向上的滤波,再进行垂直方向上的滤波。或者先进行垂直方向上的滤波,再进行水平方向上的滤波;
同理,对于待显示画面帧中的区域边界为其它形状的情况,比如多边形、圆形、椭圆形等等情况,均可以与上述类似的进行边界平滑处理。
可以看到,通过上述对由不同分辨率的待拼接画面拼接得到的待显示画面帧进行空域滤波处理,能够有效消除待显示画面帧中由分辨率差异所形成的可见边界,降低边界效应,从而提高全景视频显示时的视频质量,改善用户观看体验。
进一步地,考虑到除了不同分辨率的待拼接画面在拼接后形成的边界之外,如果在步骤304中对待拼接区域进行放大处理时,是选择待拼接画面中的部分区域进行图像超分辨率放大,而对待拼接画面中的其它区域按照其它方式进行放大的话,将会导致在该待拼接画面中出现边界,因而,为了解决上述边界现象,在本申请一些实施例中,与上述对画面中由不同分辨率层所造成的边界进行空域滤波处理类似地,终端还可以通过空域滤波算法,对通过步骤304放大处理后的每个待拼接画面,将该待拼接画面中基于图像超分辨率算法进行放大的区域与基于非图像超分辨率算法进行放大的区域之间所形成的边界进行平滑处理,具体方式以及过程与上述空域滤波处理类似,本申请在此将不作赘述。
由于在全景视频中,如果一个运动的物体或者对象在时域运动上跨越多个分辨率的画面区域,那么将会导致时域的边界效应,时域上视频画面的过渡不平滑。比如图6(a)所示的情形,物体的运动轨迹为在时域上从画面的高分辨率区域运动到画面的低分辨率区域,人眼也在跟踪该物体,因而FOV视角的转动也是从高分辨率运动到低分辨率的,在这个过程中,由于人眼所跟踪的物体分辨率突然由高到低,这将表现为画面突然变模糊的现象,类似地,物体的运动轨迹在时域上如果是从画面的低分辨率区域运动到画面的高分辨率区域,FOV视角的转动也是从低分辨率运动到高分辨率的,在这个过程中,由于人眼所跟踪的物体分辨率突然由低到高,这将表现为画面突然变清晰的现象,这些均会导致全景视频播放时在时域上的闪烁,影响用户的观看体验。
空域滤波虽然能够解决按照分层tile传输的全景视频的每个画面帧,也即每个时刻的画面帧内部不同分辨率层之间所形成的边界效应,但是无法对全景视频中的运动物体在多个时刻的画面帧中跨域分辨率运动而造成的时域上的边界效应实现有效的处理。
为了克服上述全景视频中的运动物体在时域上出现模糊突变和闪烁的问题,在本申请一些实施例中,终端在通过步骤305对待显示画面帧中第1区域至第N-1区域的共N-1个区域的边界进行空域上的平滑处理之后,可以进一步地对该空域上被平滑处理之后的待显示画面进行时域上的滤波,然后再将空域上和时域上均进行滤波处理后的待显示画面帧进行渲染显示,以增强全景视频中运动物体的清晰度,消弱分层tile传输的全景视频在播放中时域上的模糊及闪烁现象,平滑时域质量。
具体地,终端可以对通过步骤305所得到的边界平滑处理后得到的画面帧,进一步通过时域滤波算法进行时域滤波处理,以增强全景视频中运动物体的清晰度,使全景视频中的运动物体分辨率平滑过渡。
其中,时域滤波通常是指采用当前像素和时域上相邻帧的相似或相同的像素进行加权平均来替换掉当前像素;时域滤波算法包括有基于运动自适应算法,基于运功估计和运动补偿算法等等;通过时域滤波能够削弱时域上不连贯变化的像素所导致的诸如噪声和闪烁等视频质量上的缺陷。
比如,基于图6(a)所示出的、物体的运动轨迹为在时域上从画面的高分辨率区域运动到画面的低分辨率区域的情形,图6(b)示出了本申请一些实施例中对该情形下的画面帧进行时域滤波的示意图。参阅图6(b)所示,物体的运动轨迹所对应的在时域上顺序发生的、位于高分辨率画面区域的第1、2、3画面帧以及位于低分辨率画面区域的第4画面帧,为了解决这样在时域上跨分辨率的运动物体画面质量过渡不平滑的缺陷,终端可使用第1、2、3、4这4个画面帧,通过时域上的滤波算法得到时域上滤波处理后的第4画面帧,该处理后的第4画面帧画面质量将得到增强,因而能够达到增强跨边界的运动对象的清晰度,降低时域模糊和闪烁,平滑时域质量的效果。
下面以3阶时域滤波为例,对时域滤波的实现过程进行简要介绍:
假设以cur表示当前像素值,ref1和ref2表示与当前像素在时域上相邻帧的2个相似的参考像素,output表示时域滤波后的像素值;
3阶时域滤波的表达式具体可表示为:output=w0*cur+w1*ref1+w2*ref2,
其中,w0,w1,w2表示cur,ref1,ref2各自的加权系数,这些加权系数(或也可称之为权重)之和为1:w0+w1+w2=1。
因而,在执行时域滤波的过程中,一方面是要利用当前像素(如上述cur)确定出各个参考像素(如上述ref1,ref2),另一方面是要确定出当前像素以及各个参考像素各自的加权系数(如上述w0,w1,w2);
在一些较简单的时域滤波算法中,比如基于运动自适应算法,其主要是选取与当前像素所在的当前帧时域上相邻帧的相同位置的像素作为参考像素,采用区域运动检测的方式来调整各个滤波权重;比如,基于上述cur、ref1、ref2,对应的w0、w1、w2,对于运动较大区域中的像素,在计算时减小权重系数w1和w2,对于运动较小区域中的像素,在计算时加大权重系数w1和w2;该算法的优势在于简单、易于实现,然而对于发生有剧烈运动的视频帧效果并不理想,并且还会引起运动物体的运动拖影现象。
在一些复杂度较高的时域滤波算法中,比如基于运动估计和运动补偿算法,其主要是利用运动估计和运动补偿找到当前帧在时域上相邻帧中的时域预测,从而有效地去除拖影效果,但时间复杂度较高,实时性较弱。
比如,仍基于上述cur、ref1、ref2,对应的w0、w1、w2,图7示出了基于运动估计的一个示例,该示例基于16×16块来进行运动估计,其中,cur块(图中的cur_block)表示运动估计中对应cur的匹配块,ref1块(图中的ref1_block)表示运动估计中对应ref1的匹配块,ref2块(图中的ref2_block)表示运动估计中对应ref2的匹配块,得到各个匹配块之后,可以通过如下公式来计算输出的时域滤波后的像素值:
Output_block=w0*cur_block+w1*ref1_block+w2*ref2_block,w0+w1+w2=1;
其中,加权系数w1和w2可以按下式得到:
通过上述表达式可以看到,如果ref1和ref2与cur越相似,可以用高清晰度的ref1块和ref2块来替换cur块,体现到上述公式上便是这些匹配块的平均绝对差值(Meanabsolute difference,MAD)越小,从而加权系数w1和w2越大,滤波效果越强;与cur块对应的加权系数w0跟上采样的放大倍数有关,倍数越大,其值越小,可以根据经验给出;
最后,为了满足w0+w1+w2=1的约束,可通过下式对各个加权系数进行归一化处理:
通过上述时域滤波处理后,将能够有效削弱时域上不连贯变化的像素所导致的诸如噪声和闪烁等视频质量上的缺陷。
图8(a)示出了全景视频中的运动物体没有时域滤波处理时从高分辨率区域运动到低分辨率区域时分辨率的变化示意图,图8(b)示出了本申请一些实施例中使用时域滤波处理后全景视频中运动物体从高分辨率区域运动到低分辨率区域时分辨率的变化示意图;
可以看到,通过时域上的滤波处理,全景视频中的运动物体的分辨率(或者也可以理解为清晰度)逐渐的由高到低,而不是突变,因而,一方面取得了平滑的时域质量过渡,消除闪烁的效果,另一方面提高了运动物体在低分辨率层的清晰度,可以提高动态过渡模糊质量,从而提高用户观看全景视频的用户体验。
类似地,图8(c)示出了全景视频中的运动物体没有时域滤波处理时从低分辨率区域运动到高分辨率区域时分辨率的变化示意图,图8(d)示出了本申请一些实施例中使用时域滤波处理后全景视频中运动物体从低分辨率区域运动到高分辨率区域时分辨率的变化示意图;可以看到,通过时域上的滤波处理,全景视频中的运动物体的分辨率(或者也可以理解为清晰度)逐渐的由低到高,而不是突变,同样可以实现平滑的时域质量过渡,消除闪烁,并提高运动物体在低分辨率层的清晰度,可以提高动态过渡模糊质量,从而可以提高用户观看全景视频的用户体验。
完成上述处理过程后,终端便可以将处理后的待显示画面帧显示给用户观看,比如可以送入到图形处理器(Graphics Processing Unit,GPU)进行渲染显示。
通过上面的描述可以看到,本申请上述实施例所提供的全景视频数据的处理方案一方面能够对全景视频分层tile传输中的低分辨率层传输的画面,在解码之后采用图像超分辨率放大技术进行放大,增强低分辨率画面放大后的画面质量,从整体上提高全景视频播放的画质,并提高用户FOV视角转动过程中的运动画面质量的平滑过渡;另一方面,能够在将来自不同分辨率层的画面进行融合得到待显示画面帧后,对待显示画面帧不同分辨率区域所形成的边界进行空域滤波处理,去除全景视频画面帧在空域上的边界效应;最后,还能够对全景视频连续的多个画面帧的不同分辨率区域所形成的边界,采用时域滤波处理来增强全景视频中运动物体在连续的多个画面帧中跨不同分辨率区域运动时该运动物体的画面清晰度,改善运动物体在时域上的模糊突变、时域闪烁现象,平滑时域质量;此外,还能够在采用图像超分辨率放大算法放大低分辨率画面的时候,可以对图形超分辨率放大算法的使用进行区域选择性的控制,以降低超分辨率算法的复杂度。
因而,通过本申请上述实施例所提供的全景视频数据的处理方案,能够解决由于用户FOV转动过程中新的FOV区域预测不准确,或者FOV区域内的画面传输延时等原因,导致的全景视频画面动态过渡模糊质量、边界效应明显、画面闪烁等问题,提高用户观看全景视频的用户体验。
为了使本申请上述实施例所提供的全景视频数据的处理方案更清楚,下面结合图9对本申请实施例所提供的全景视频数据的处理方案在实际场景下的应用进行简单介绍。
基于上文中举例描述的全景视频分三层传输的示例,图9示出了本申请一些实施例所提供的全景视频数据的处理方案应用在该示例场景中的流程示意图。
参阅图9,基于前述如图2所示的全景视频的三层传输示例,假设该场景下全景视频分三层传输,其中,分辨率层1传输具有最高分辨率的全景视频画面帧中的ROI 1区域内的画面,该ROI 1区域为包含用户当前FOV区域的最小区域,分辨率层2传输该画面帧2:1降采样后ROI 2区域内的画面,该ROI 2区域包含该ROI 1区域,分辨率层3传输该画面帧4:1降采样后ROI 3区域内的画面,该ROI 3区域包含该ROI 2区域;
如图9中示出的,当终端接收到分层tile传输的全景视频的这三层数据码流之后,首先对各层的数据码流进行解码:终端对分辨率层1和分辨率层2传输的数据码流进行ROI-tiles解码,对分辨率层3传输的数据码流直接进行解码;
进一步地,终端对解码低分辨率层(如图9所示的分辨率层2和分辨率层3)传输的数据码流得到的低分辨率的待拼接画面,使用图像超分辨放大算法区域选择性地进行超分辨率的增强处理,即只对低分辨率层的画面中靠近高分辨率层的ROI区域边界周围的像素进行超分辨率放大,而不是传统的统一插值放大,如图9所示的,对解码分辨率层2的数据码流得到的画面区域选择性地超分辨率放大2倍,对解码分辨率层3的数据码流得到的画面区域选择性地超分辨率放大4倍,具体过程可参加前文相关描述,本申请在此不再赘述;
随后,终端便可以将来自三个分辨率层的、处理后的画面合成一个待显示画面帧(如图9所示的层间拼接),主要是内存的复制与覆盖,具体可以是首先将最高分辨率的画面数据复制并覆盖到中间分辨率的画面的相对应的存储位置。然后再将中间分辨率的画面数据复制并覆盖到最低分辨率的画面的相对应的存储位置;
进而,终端可对拼接合成的单帧全景画面帧进行空滤滤波处理(如图9所示的空域滤波),来消除因为不同分辨率画面拼接时所形成的边界、以及区域选择性的超分辨率之后出现的不同分辨率区域所形成的边界进行滤波处理;
最后,终端可对空域滤波后的全景视频进行时域滤波处理(如图9所示的时域滤波),以提高全景视频中运动物体的画质,消除全景视频中跨分辨率层次边界的运动物体的闪烁、模糊等现象,提高动态过渡模糊质量。
综上所述,本申请上述实施例所提供的全景视频数据的处理方案主要用以解决在全景视频分层tile传输的情形下,全景视频在终端解码播放时出现诸如部分区域模糊,边界明显,运动物体出现闪烁等问题;
本申请上述实施例所提供的全景视频数据的处理方案具体包括有在全景视频分层tile传输的框架下,对多个低分辨率层传输的画面应用图像超分辨率算法来进行画面的放大处理,增强低分辨率画面放大后的质量,以及在实现上述对低分辨率层传输的画面进行图像超分辨率放大处理时,为了降低处理的复杂度,有选择性的对位于各个区域边界区域的像素进行图像超分辨率放大处理,从而降低处理的复杂度而不影响全景视频的观看体验;
本申请上述实施例所提供的全景视频数据的处理方案还包括有对于全景视频同一画面帧上各个区域分辨率不同所形成的边界,采用空域滤波来消弱区域分辨率差异而形成的边界效应,以及进一步地可包括有对于全景视频不同画面帧的不同分辨率区域的边界,采用时域滤波来增强全景视频中在时域上跨不同分辨率区域的边界进行运动的运动对象的清晰度,使全景视频中运动物体在时域上的视频画面质量平滑过渡;通过上述过程,达到提高全景视频播放时的视频质量,改善用户观看体验的效果。
基于同样的发明构思,本申请还提供了一种全景视频数据的处理装置,该处理装置可部署在能够支持全景视频处理的终端中,用于执行本申请上述全景视频数据的处理方法实施例,该处理装置中的各个功能模块具体可通过软件、硬件或软硬件的结合来实现。
如图10所示,该处理装置包括:
接收模块1001,用于接收全景视频的N层数据码流;其中,对所述全景视频的每个画面帧,所述N层数据码流中的第1层数据码流用于传输该画面帧中第1区域内的数据,所述第1区域包含该画面帧中由所述终端的用户视场角确定的区域,该画面帧的原始分辨率为第1分辨率,第i层数据码流用于传输该画面帧降采样为第i分辨率后第i区域内的数据,i为大于1且不大于N的整数,第i分辨率小于第i-1分辨率,第i区域包含第i-1区域,第N层数据码流用于传输该画面帧降采样为第N分辨率后全部画面区域的数据;
解码模块1002,用于解码所述接收模块1001接收到的所述N层数据码流,得到N个待处理画面;
放大模块1003,用于将所述解码模块1002解码第1层数据码流得到的第1待处理画面作为第1待拼接画面,将所述解码模块解码第i层数据码流得到的第i待处理画面通过图像超分辨率算法放大Pi倍,得到第i待拼接画面,所述Pi等于第1分辨率与第i分辨率的比值;
拼接模块1004,用于使用所述放大模块1003得到的第N待拼接画面的数据作为待显示画面帧中全部画面区域内的数据,并按照i取值从N递减的顺序,依次使用所述放大模块1003得到的第i-1待拼接画面的数据覆盖所述待显示画面帧中第i-1区域内的数据;
边界处理模块1005,用于对所述拼接模块1004得到的所述待显示画面帧中第1区域至第N-1区域的共N-1个区域的边界进行平滑处理;
显示模块1006,用于显示所述边界处理模块1005处理后的画面帧。
在一种可能的设计中,所述边界处理模块1005在对所述拼接模块1004得到的所述待显示画面帧中第1区域至第N-1区域的共N-1个区域的边界进行平滑处理时,具体用于:
对所述拼接模块1004得到的所述待显示画面帧中第1区域至第N-1区域的共N-1个区域中每一个区域的边界,使用与该区域的边界距离在第一设定距离范围内的像素集合,通过空域滤波算法将该区域的边界进行平滑处理。
在一种可能的设计中,所述边界处理模块1005在对所述拼接模块1004得到的所述待显示画面帧中第1区域至第N-1区域的共N-1个区域的边界进行平滑处理后,还用于:
对边界平滑处理后得到的画面帧,通过时域滤波算法进行时域滤波处理,以使所述全景视频中的运动物体分辨率平滑过渡。
在一种可能的设计中,所述放大模块1003在将所述解码模块1002解码第i层数据码流得到的第i待处理画面通过图像超分辨率算法放大Pi倍时,具体用于:
将所述第i待处理画面中与第i-1区域边界的距离在第二设定距离范围内的像素使用图像超分辨率算法放大所述Pi倍,将所述第i待处理画面中的其它像素使用非图像超分辨率算法放大所述Pi倍。
在一种可能的设计中,所述边界处理模块1005,还用于:通过空域滤波算法,将由所述放大模块1003得到的第i待拼接画面中基于图像超分辨率算法得到的区域与基于图像差值算法得到的区域之间形成的边界进行平滑处理。
在一种可能的设计中,空域滤波算法为H.264去块滤波算法,或为H.265去块滤波算法。
具体地,由于本申请上述实施例所提供的装置与本申请前述实施例所提供的方法实施例解决问题的原理相似,因而本申请上述实施例所提供的装置的具体实施可与本申请前述实施例所提供方法的实施可以相互参见,重复之处不再赘述。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
基于同样的发明构思,本申请还提供了一种终端,所述终端上可部署有上述如图10所示的全景视频数据的处理装置,用以执行如图3所示的全景视频数据的处理方法流程。
图11示出了本申请实施例提供的一种终端的结构示意图。参阅图11,该终端1100可以包括有处理单元1101和通信单元1102。处理单元1101可以包括中央处理模块(centralprocessing unit,CPU),或者也可包括数字处理模块等等。
具体地,通信单元1102用于接收全景视频的N层数据码流;其中,对所述全景视频的每个画面帧,所述N层数据码流中的第1层数据码流用于传输该画面帧中第1区域内的数据,所述第1区域包含该画面帧中由所述终端的用户视场角确定的区域,该画面帧的原始分辨率为第1分辨率,第i层数据码流用于传输该画面帧降采样为第i分辨率后第i区域内的数据,i为大于1且不大于N的整数,第i分辨率小于第i-1分辨率,第i区域包含第i-1区域,第N层数据码流用于传输该画面帧降采样为第N分辨率后全部画面区域的数据;
处理单元1101用于解码所述N层数据码流,得到N个待处理画面,将解码第1层数据码流得到的第1待处理画面作为第1待拼接画面,将解码第i层数据码流得到的第i待处理画面通过图像超分辨率算法放大Pi倍,得到第i待拼接画面,所述Pi等于第1分辨率与第i分辨率的比值,进一步地,使用第N待拼接画面的数据作为待显示画面帧中全部画面区域内的数据,并按照i取值从N递减的顺序,依次使用第i-1待拼接画面的数据覆盖所述待显示画面帧中第i-1区域内的数据,;以及,用于对所述待显示画面帧中第1区域至第N-1区域的共N-1个区域的边界进行平滑处理。
具体地,处理单元1101以及通信单元1102可具体用于执行本申请前述实施例所提供的全景视频数据的处理方法。本申请在此不再赘述。
具体地,该终端1100还可以包括有存储单元1104,用于存储处理单元1101执行的计算机程序。存储单元1104可以是非易失性存储器,比如硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM)。存储单元1104是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
如图11所示,该终端1100还可以包括有显示单元1103,用于对处理单元1101通过上述过程处理得到的待显示画面帧进行显示。
本申请实施例中不限定上述处理单元1101、通信单元1102、显示单元1103和存储单元1104之间的具体连接介质。比如可以通过总线连接,总线可以分为地址总线、数据总线、控制总线等等。
本申请实施例还提供了一种可读存储介质,用于存储为执行上述处理单元所需执行的软件指令,其包含用于执行上述处理单元所需执行的程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (12)
1.一种全景视频数据的处理方法,其特征在于,所述方法包括:
终端接收全景视频的N层数据码流;其中,对所述全景视频的每个画面帧,所述N层数据码流中的第1层数据码流用于传输该画面帧中第1区域内的数据,所述第1区域包含该画面帧中由所述终端的用户视场角确定的区域,该画面帧的原始分辨率为第1分辨率,第i层数据码流用于传输该画面帧降采样为第i分辨率后第i区域内的数据,i为大于1且不大于N的整数,第i分辨率小于第i-1分辨率,第i区域包含第i-1区域,第N层数据码流用于传输该画面帧降采样为第N分辨率后全部画面区域的数据;
所述终端解码所述N层数据码流,得到N个待处理画面;
所述终端将解码第1层数据码流得到的第1待处理画面作为第1待拼接画面,将解码第i层数据码流得到的第i待处理画面通过图像超分辨率算法放大Pi倍,得到第i待拼接画面,所述Pi等于第1分辨率与第i分辨率的比值;
所述终端使用第N待拼接画面的数据作为待显示画面帧中全部画面区域内的数据,并按照i取值从N递减的顺序,依次使用第i-1待拼接画面的数据覆盖所述待显示画面帧中第i-1区域内的数据;
所述终端对所述待显示画面帧中第1区域至第N-1区域的共N-1个区域的边界进行平滑处理后显示。
2.如权利要求1所述的方法,其特征在于,所述终端对所述待显示画面帧中第1区域至第N-1区域的共N-1个区域的边界进行平滑处理,包括:
所述终端对所述待显示画面帧中第1区域至第N-1区域的共N-1个区域中每一个区域的边界,使用与该区域的边界距离在第一设定距离范围内的像素集合,通过空域滤波算法将该区域的边界进行平滑处理。
3.如权利要求1或2所述的方法,其特征在于,所述终端对所述待显示画面帧中第1区域至第N-1区域的共N-1个区域的边界进行平滑处理后,且在显示之前,还包括:
所述终端对边界平滑处理后得到的画面帧,通过时域滤波算法进行时域滤波处理,以使所述全景视频中的运动物体分辨率平滑过渡。
4.如权利要求1或2所述的方法,其特征在于,所述终端将解码第i层数据码流得到的第i待处理画面通过图像超分辨率算法放大Pi倍,得到第i待拼接画面,包括:
所述终端将所述第i待处理画面中与第i-1区域边界的距离在第二设定距离范围内的像素使用图像超分辨率算法放大所述Pi倍,将所述第i待处理画面中的其它像素使用非图像超分辨率算法放大所述Pi倍,得到所述第i待拼接画面。
5.如权利要求4所述的方法,其特征在于,还包括:
所述终端通过空域滤波算法,将由所述第i待拼接画面中基于图像超分辨率算法得到的区域与基于图像插值算法得到的区域之间形成的边界进行平滑处理。
6.如权利要求2或5所述的方法,其特征在于,所述空域滤波算法为H.264去块滤波算法,或者为H.265去块滤波算法。
7.一种全景视频数据的处理装置,其特征在于,所述装置包括:
接收模块,用于接收全景视频的N层数据码流;其中,对所述全景视频的每个画面帧,所述N层数据码流中的第1层数据码流用于传输该画面帧中第1区域内的数据,所述第1区域包含该画面帧中由终端的用户视场角确定的区域,该画面帧的原始分辨率为第1分辨率,第i层数据码流用于传输该画面帧降采样为第i分辨率后第i区域内的数据,i为大于1且不大于N的整数,第i分辨率小于第i-1分辨率,第i区域包含第i-1区域,第N层数据码流用于传输该画面帧降采样为第N分辨率后全部画面区域的数据;
解码模块,用于解码所述接收模块接收到的所述N层数据码流,得到N个待处理画面;
放大模块,用于将所述解码模块解码第1层数据码流得到的第1待处理画面作为第1待拼接画面,将所述解码模块解码第i层数据码流得到的第i待处理画面通过图像超分辨率算法放大Pi倍,得到第i待拼接画面,所述Pi等于第1分辨率与第i分辨率的比值;
拼接模块,用于使用所述放大模块得到的第N待拼接画面的数据作为待显示画面帧中全部画面区域内的数据,并按照i取值从N递减的顺序,依次使用所述放大模块得到的第i-1待拼接画面的数据覆盖所述待显示画面帧中第i-1区域内的数据;
边界处理模块,用于对所述拼接模块得到的所述待显示画面帧中第1区域至第N-1区域的共N-1个区域的边界进行平滑处理;
显示模块,用于显示所述边界处理模块处理后的画面帧。
8.如权利要求7所述的装置,其特征在于,所述边界处理模块在对所述拼接模块得到的所述待显示画面帧中第1区域至第N-1区域的共N-1个区域的边界进行平滑处理时,具体用于:
对所述拼接模块得到的所述待显示画面帧中第1区域至第N-1区域的共N-1个区域中每一个区域的边界,使用与该区域的边界距离在第一设定距离范围内的像素集合,通过空域滤波算法将该区域的边界进行平滑处理。
9.如权利要求7或8所述的装置,其特征在于,所述边界处理模块在对所述拼接模块得到的所述待显示画面帧中第1区域至第N-1区域的共N-1个区域的边界进行平滑处理后,还用于:
对边界平滑处理后得到的画面帧,通过时域滤波算法进行时域滤波处理,以使所述全景视频中的运动物体分辨率平滑过渡。
10.如权利要求7或8所述的装置,其特征在于,所述放大模块在将所述解码模块解码第i层数据码流得到的第i待处理画面通过图像超分辨率算法放大Pi倍时,具体用于:
将所述第i待处理画面中与第i-1区域边界的距离在第二设定距离范围内的像素使用图像超分辨率算法放大所述Pi倍,将所述第i待处理画面中的其它像素使用非图像超分辨率算法放大所述Pi倍。
11.如权利要求10所述的装置,其特征在于,所述边界处理模块,还用于:
通过空域滤波算法,将由所述放大模块得到的第i待拼接画面中基于图像超分辨率算法得到的区域与基于图像插值算法得到的区域之间形成的边界进行平滑处理。
12.如权利要求8或11所述的装置,其特征在于,所述空域滤波算法为H.264去块滤波算法,或者为H.265去块滤波算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710393777.2A CN108965847B (zh) | 2017-05-27 | 2017-05-27 | 一种全景视频数据的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710393777.2A CN108965847B (zh) | 2017-05-27 | 2017-05-27 | 一种全景视频数据的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108965847A CN108965847A (zh) | 2018-12-07 |
CN108965847B true CN108965847B (zh) | 2020-04-14 |
Family
ID=64494770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710393777.2A Active CN108965847B (zh) | 2017-05-27 | 2017-05-27 | 一种全景视频数据的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108965847B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111083523A (zh) * | 2019-12-04 | 2020-04-28 | 聚好看科技股份有限公司 | 一种全景视频播放的方法及终端 |
CN111277911B (zh) * | 2020-01-10 | 2021-10-15 | 聚好看科技股份有限公司 | 一种全景视频的图像处理方法、显示设备及服务器 |
US20210349308A1 (en) * | 2020-05-05 | 2021-11-11 | Szu Wen FAN | System and method for video processing using a virtual reality device |
CN116347183A (zh) * | 2020-06-04 | 2023-06-27 | 腾讯科技(深圳)有限公司 | 一种沉浸媒体的数据处理方法及相关装置 |
CN112261408B (zh) * | 2020-09-16 | 2023-04-25 | 青岛小鸟看看科技有限公司 | 用于头戴显示设备的图像处理方法、装置及电子设备 |
CN114598853A (zh) * | 2020-11-20 | 2022-06-07 | 中国移动通信有限公司研究院 | 视频数据的处理方法、装置及网络侧设备 |
CN114666565B (zh) * | 2020-12-22 | 2024-02-27 | 中国电信股份有限公司 | 多视角视频播放方法、装置及存储介质 |
CN112804444B (zh) * | 2020-12-30 | 2022-08-23 | 影石创新科技股份有限公司 | 一种视频处理方法、装置、计算设备及存储介质 |
CN113314080A (zh) * | 2021-05-31 | 2021-08-27 | 锐迪科微电子科技(上海)有限公司 | 一种背光亮度的控制方法及电子设备 |
CN116996661B (zh) * | 2023-09-27 | 2024-01-05 | 中国科学技术大学 | 三维视频展示方法、装置、设备及介质 |
CN117615146B (zh) * | 2023-11-13 | 2024-08-16 | 书行科技(北京)有限公司 | 视频处理方法及装置、电子设备及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105939482A (zh) * | 2015-03-05 | 2016-09-14 | 诺基亚技术有限公司 | 视频流式传输方法 |
CN105959705A (zh) * | 2016-05-10 | 2016-09-21 | 武汉大学 | 一种面向可穿戴设备的视频直播方法 |
CN106231317A (zh) * | 2016-09-29 | 2016-12-14 | 三星电子(中国)研发中心 | 视频处理、解码方法和装置、vr终端、视频播放系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10290156B2 (en) * | 2015-03-11 | 2019-05-14 | Facebook Technologies, Llc | Display device with dual data drivers |
-
2017
- 2017-05-27 CN CN201710393777.2A patent/CN108965847B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105939482A (zh) * | 2015-03-05 | 2016-09-14 | 诺基亚技术有限公司 | 视频流式传输方法 |
CN105959705A (zh) * | 2016-05-10 | 2016-09-21 | 武汉大学 | 一种面向可穿戴设备的视频直播方法 |
CN106231317A (zh) * | 2016-09-29 | 2016-12-14 | 三星电子(中国)研发中心 | 视频处理、解码方法和装置、vr终端、视频播放系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108965847A (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108965847B (zh) | 一种全景视频数据的处理方法及装置 | |
Xu et al. | State-of-the-art in 360 video/image processing: Perception, assessment and compression | |
CN110650368B (zh) | 视频处理方法、装置和电子设备 | |
CN111656407B (zh) | 对动态三维模型的视图进行融合、纹理化和绘制 | |
US11514657B2 (en) | Replica graphic causing reduced visibility of an image artifact in a direct-view of a real-world scene | |
CN110322542B (zh) | 重建真实世界3d场景的视图 | |
US10853918B2 (en) | Foveal adaptation of temporal anti-aliasing | |
JP7519390B2 (ja) | 新規ビュー合成のためのニューラルブレンド | |
KR102535947B1 (ko) | 이미지를 생성하기 위한 장치 및 방법 | |
CN106919248A (zh) | 应用于虚拟现实的内容传输方法以及设备 | |
CN104010180B (zh) | 三维视频滤波方法和装置 | |
Turban et al. | Extrafoveal video extension for an immersive viewing experience | |
KR20190011212A (ko) | 출력면을 제공하는 방법 및 데이터 처리 시스템 | |
KR20210038659A (ko) | 2차원 이미지를 외삽하기 위해 깊이 정보를 사용하는 시스템 및 방법 | |
CN111696034B (zh) | 图像处理方法、装置及电子设备 | |
CN113286138A (zh) | 一种全景视频显示方法及显示设备 | |
Pigny et al. | Using cnns for users segmentation in video see-through augmented virtuality | |
JP4797039B2 (ja) | 画像合成方法及び装置 | |
US20230030247A1 (en) | Method of asynchronous reprojection of an image of a 3d scene | |
CN114514746A (zh) | 用于作为对视频编码的预处理的运动自适应滤波的系统和方法 | |
WO2023217867A1 (en) | Variable resolution variable frame rate video coding using neural networks | |
US20220326527A1 (en) | Display System Optimization | |
Ye et al. | Neural Foveated Super-Resolution for Real-time VR Rendering | |
US11640699B2 (en) | Temporal approximation of trilinear filtering | |
EP4443869A1 (en) | Foveal region processing for artificial reality devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |