用于校正针对全向视频的运动补偿的方法和装置与流程

文档序号:17814724发布日期:2019-06-05 21:29阅读:202来源:国知局
用于校正针对全向视频的运动补偿的方法和装置与流程
所描述的实施例的各方面涉及校正针对全向视频的运动补偿。
背景技术
:最近,可用的大视场内容有所增长(高达360°)。这些内容对于在沉浸式显示设备(例如头戴式显示器、智能眼镜、pc屏幕、平板电脑、智能电话等)上观看内容的用户来讲可能并不是完全可见的。这意味着在给定时刻,用户可能仅查看内容的一部分。然而,用户通常可以通过诸如头部移动、鼠标移动、触摸屏幕、语音之类的各种手段在内容内导航。通常希望对该内容进行编码和解码。技术实现要素:根据本原理的一个方面,提供了一种用于改进针对全向视频的运动补偿的方法。该方法包括:通过使用运动补偿预测全向视频图像块来解码视频图像块的步骤,其中,所述运动补偿包括:使用块中心点以及块高度和宽度来计算所述视频图像块的块角,以及通过对计算出的块角使用块扭曲函数,在参数表面上获得角的图像和视频图像块的中心点。该方法还包括如下步骤:通过从参数表面上的角变换到三维表面来获得三维角;在三维表面上获得块的每个三维角相对于块的中心点的三维偏移;在参数表面上通过使用块扭曲函数以及在三维表面上通过使用变换和针对视频图像块的运动矢量,计算运动补偿块的图像。该方法还包括:使用三维偏移来计算视频图像块的运动补偿角的三维坐标;以及通过使用逆块扭曲函数和逆变换根据参考帧计算所述运动补偿角的图像。根据本原理的另一方面,提供了一种装置。装置包括存储器和处理器。处理器被配置为通过使用运动补偿预测全向视频图像块来解码视频图像块,其中,运动补偿包括:使用块中心点以及块高度和宽度来计算所述视频图像块的块角,以及通过对计算出的块角使用块扭曲函数,在参数表面上获得角的图像和视频图像块的中心点。该方法还包括如下步骤:通过从参数表面上的角变换到三维表面来获得三维角;在三维表面上获得块的每个三维角相对于块的中心点的三维偏移;在参数表面上通过使用块扭曲函数以及在三维表面上通过使用变换和针对视频图像块的运动矢量,计算运动补偿块的图像。该方法还包括:使用三维偏移来计算视频图像块的运动补偿角的三维坐标;以及通过使用逆块扭曲函数和逆变换根据参考帧计算所述运动补偿角的图像。根据本原理的另一方面,提供了一种用于改进针对全向视频的运动补偿的方法。该方法包括:通过使用运动补偿预测全向视频图像块来编码视频图像块的步骤,其中,运动补偿包括:使用块中心点以及块高度和宽度来计算所述视频图像块的块角,以及通过对计算出的块角使用块扭曲函数,在参数表面上获得角的图像和视频图像块的中心点。该方法还包括如下步骤:通过从参数表面上的角变换到三维表面来获得三维角;在三维表面上获得块的每个三维角相对于块的中心点的三维偏移;在参数表面上通过使用块扭曲函数以及在三维表面上通过使用变换和针对视频图像块的运动矢量,计算运动补偿块的图像。该方法还包括:使用三维偏移来计算视频图像块的运动补偿角的三维坐标;以及通过使用逆块扭曲函数和逆变换根据参考帧计算所述运动补偿角的图像。根据本原理的另一方面,提供了一种装置。装置包括存储器和处理器。处理器被配置为通过使用运动补偿预测全向视频图像块来编码视频图像块,其中,运动补偿包括:使用块中心点以及块高度和宽度来计算所述视频图像块的块角,以及通过对计算出的块角使用块扭曲函数,在参数表面上获得角的图像和视频图像块的中心点。该方法还包括如下步骤:通过从参数表面上的角变换到三维表面来获得三维角;在三维表面上获得块的每个三维角相对于块的中心点的三维偏移;在参数表面上通过使用块扭曲函数以及在三维表面上通过使用变换和针对视频图像块的运动矢量,计算运动补偿块的图像。该方法还包括:使用三维偏移来计算视频图像块的运动补偿角的三维坐标;以及通过使用逆块扭曲函数和逆变换根据参考帧计算所述运动补偿角的图像。根据结合附图阅读的示例性实施例的以下详细描述,本发明原理的这些和其他方面、特征和优点将变得清楚明白。附图说明图1示出了根据实施例的一个总体方面的编码和解码系统的总体概览。图2示出了根据实施例的一个总体方面的解码系统的一个实施例。图3示出了根据实施例的一个总体方面的用于处理增强现实、虚拟现实、增强虚拟或其内容系统的第一系统。图4示出了根据实施例的另一总体方面的用于处理增强现实、虚拟现实、增强虚拟或其内容系统的第二系统。图5示出了根据实施例的另一总体方面的用于使用智能电话来处理增强现实、虚拟现实、增强虚拟或其内容系统的第三系统。图6示出了根据实施例的另一总体方面的用于使用手持设备和传感器来处理增强现实、虚拟现实、增强虚拟或其内容系统的第四系统。图7示出了根据实施例的另一总体方面的包含视频墙的用于处理增强现实、虚拟现实、增强虚拟或其内容系统的系统。图8示出了根据实施例的另一总体方面的使用视频墙和传感器的用于处理增强现实、虚拟现实、增强虚拟或其内容系统的系统。图9示出了根据实施例的另一总体方面的具有游戏控制台的用于处理增强现实、虚拟现实、增强虚拟或其内容系统的系统。图10示出了根据本发明的沉浸式视频渲染设备的另一实施例。图11示出了根据实施例的另一总体方面的沉浸式视频渲染设备的另一实施例。图12示出了根据实施例的另一总体方面的沉浸式视频渲染设备的另一实施例。图13示出了根据实施例的总体方面的使用等量矩形投影从球体表面到帧的映射。图14示出了根据实施例的总体方面的针对全向视频的等量矩形帧布局的示例。图15示出了根据实施例的总体方面的使用立方体映射从立方体表面到帧的映射。图16示出了根据实施例的总体方面的针对全向视频的立方体映射帧布局的示例。图17示出了根据实施例的总体方面的其他类型的投影球体平面。图18示出了根据实施例的总体方面的用于球体和立方体的帧和三维(3d)表面坐标系。图19示出了移动对象在场景中沿直线移动并且在渲染帧中得到明显运动的示例。图20示出了根据实施例的总体方面的使用变换块的运动补偿。图21示出了根据实施例的总体方面的基于块扭曲的运动补偿。图22示出了根据实施例的总体方面的通过块扭曲的块运动补偿的示例。图23示出了根据实施例的总体方面的运动矢量的极(polar)参数化。图24示出了根据实施例的总体方面的仿射运动矢量和子块情况。图25示出了根据实施例的总体方面的仿射映射运动补偿。图26示出了重叠的块运动补偿示例。图27示出了根据实施例的总体方面的平面与球体的近似。图28示出了根据实施例的总体方面的立方体映射的面(face)的可能布局的两个示例。图29示出了根据实施例的总体方面的针对画面f和表面s的参考帧。图30示出了根据实施例的总体方面的立方体表面s到3d空间的映射。图31示出了根据实施例的总体方面的方法的一个实施例。图32示出了根据实施例的总体方面的装置的一个实施例。具体实施方式本文描述了一种用于改进针对全向视频的运动补偿的方法。所描述的原理的实施例涉及:一种用于虚拟现实、增强现实或增强虚拟的系统;一种用于显示虚拟现实、增强现实或增强虚拟的头戴式显示设备;以及一种用于虚拟现实、增强现实或增强虚拟系统的处理设备。根据所描述的实施例的系统旨在处理和显示从增强现实到虚拟现实(因此也还涉及增强虚拟)的内容形成了。该内容可以用于玩游戏或观看视频内容或与视频内容交互。因此,通过虚拟现实系统,我们在此理解实施例还涉及增强现实系统、增强虚拟系统。沉浸式视频在使用和普及方面有进展,特别是用诸如头戴式显示器(hmd)之类的新设备或者使用交互式显示器(例如平板电脑)的情况下。作为第一步骤,考虑针对全向视频(沉浸式视频格式的重要部分)编码这样的视频。这里,假设全向视频的格式为使得环绕型(surrounding)三维(3d)表面s的投影可以被投影到适合于当前视频编码器/解码器(编解码器)的标准矩形帧中。这样的投影将不可避免地对要编码的视频引入一些挑战性的影响,这种影响可以包括强几何失真、不再笔直的直线、不再正交的正交坐标系、以及非均匀像素密度。非均匀像素密度意味着要编码的帧中的像素并不总是表示要编码的表面上的相同表面(即,在渲染阶段期间图像上的相同表面)。附加的挑战性影响是强的不连续性,使得帧布局将在表面上的两个相邻像素之间引入强的不连续性,并且引入可以在帧方面发生的一些周期性(例如,从一个边界到相对的边界)。图1示出了根据本发明的示例实施例的编码和解码系统的总体概览。图1的系统是功能系统。预处理模块300可以准备内容以供编码设备400进行编码。预处理模块300可以执行多图像获取,将所获取的图像合并到公共空间(如果我们编码方向,则通常是3d球体)中,以及使用例如但不限于等量矩形(equirectangular)映射或立方体映射来将3d球体映射到2d帧中。预处理模块300还可以接受特定格式的(例如,等量矩形的)全向视频作为输入,并且对视频进行预处理以将映射改变为更适合于编码的格式。取决于所获取的视频数据表示,预处理模块300可以执行映射空间改变。将参考说明书的其他附图描述编码设备400和编码方法。在数据被编码之后,向网络接口500发送编码后的数据(例如,其可以编码沉浸式视频数据或3dcgi编码数据),网络接口500通常可以在任何网络接口中实现(例如,存在于网关中)。然后,通过通信网络(例如互联网,但是可以预见任何其他网络)来发送数据。然后,经由网络接口600接收数据。网络接口600可以在网关、电视、机顶盒、头戴式显示设备、沉浸式(投影式)墙或任何沉浸式视频渲染设备中实现。在接收到数据之后,向解码设备700发送数据。解码功能是以下图2至图12中描述的处理功能之一。然后,由播放器800处理解码后的数据。播放器800为渲染设备900准备数据,并且可以从传感器或用户接收外部数据来作为输入数据。更确切地说,播放器800准备将由渲染设备900显示的视频内容的一部分。解码设备700和播放器800可以集成在单个设备(例如,智能电话、游戏控制台、stb、平板电脑、计算机等)中。在变型中,播放器800集成在渲染设备900中。例如,在渲染沉浸式视频时,可以设想若干种类型的系统来执行沉浸式显示设备的解码、播放和渲染功能。图2至图6中示出了用于处理增强现实、虚拟现实或增强虚拟内容的第一系统。这样的系统包括处理功能、沉浸式视频渲染设备(其可以是例如头戴式显示器(hmd)、平板电脑或智能电话),并且可以包括传感器。沉浸式视频渲染设备还可以包括在显示设备和处理功能之间的附加接口模块。处理功能可以由一个或若干个设备执行。它们可以集成到沉浸式视频渲染设备中,或者它们可以集成到一个或若干个处理设备中。处理设备包括一个或若干个处理器和与沉浸式视频渲染设备通信的通信接口(例如,无线或有线通信接口)。处理设备还可以包括与宽访问网(例如,互联网)通信的第二通信接口,并且直接地或通过诸如家庭或本地网关之类的网络设备访问位于云上的内容。处理设备还可以通过第三接口(例如以太网类型的本地访问网络接口)访问本地存储设备。在实施例中,处理设备可以是具有一个或若干个处理单元的计算机系统。在另一实施例中,处理设备可以是这样的智能电话:其可以通过有线或无线链路连接到沉浸式视频渲染设备,或者可以插入到在沉浸式视频渲染设备中且还通过连接器或无线地与沉浸式视频渲染设备通信的壳体中。处理设备的通信接口是有线接口(例如,总线接口、广域网接口、局域网接口)或无线接口(例如,ieee802.11接口或接口)。当沉浸式视频渲染设备执行处理功能时,沉浸式视频渲染设备可以设置有到网络的接口,该接口直接或通过网关接收和/或发送内容。在另一实施例中,该系统包括辅助设备,该辅助设备与沉浸式视频渲染设备和处理设备通信。在这样的实施例中,该辅助设备可以包含至少一个处理功能。沉浸式视频渲染设备可以包括一个或若干个显示器。该设备可以在它的每个显示器的前面采用诸如镜头之类的光学器件。显示器也可以是沉浸式显示设备(如在智能电话或平板电脑的情况下)的一部分。在另一实施例中,显示器和光学器件可以嵌入用户可以穿戴的头盔、眼镜或面罩中。沉浸式视频渲染设备还可以集成若干个传感器,如稍后所述。沉浸式视频渲染设备还可以包括若干个接口或连接器。它可以包括一个或若干个无线模块,以便与传感器、处理功能、手持式或其他身体部位相关的设备或传感器通信。沉浸式视频渲染设备还可以包括由一个或若干个处理器执行的并且被配置为解码内容或处理内容的处理功能。通过处理内容,在此,其可以理解为用于准备可以显示的内容的所有功能。例如,这可以包括解码内容、在显示内容之前合并内容、以及修改内容以适合显示设备。沉浸式内容渲染设备的一个功能是控制虚拟相机,该虚拟相机捕获被构造为虚拟卷的内容的至少一部分。该系统可以包括姿势跟踪传感器,其完全或部分地跟踪用户的姿势(例如,用户头部的姿势),以便处理虚拟相机的姿势。一些定位传感器可以跟踪用户的移位。该系统还可以包括与环境相关的其他传感器,例如以测量照明、温度或声音条件。这样的传感器还可以与用户的身体相关,例如以测量出汗或心率。通过这些传感器获取的信息可以用于处理内容。该系统还可以包括用户输入设备(例如,鼠标、键盘、遥控器、操纵杆)。来自用户输入设备的信息可以用于处理内容、管理用户接口或控制虚拟相机的姿势。传感器和用户输入设备通过有线或无线通信接口与处理设备和/或沉浸式渲染设备通信。通过图2至图6,示出了用于显示增强现实、虚拟现实、增强虚拟或从增强现实到虚拟现实的任何内容的该第一类系统的若干个实施例。图2示出了被配置为解码、处理和渲染沉浸式视频的系统的特定实施例。该系统包括沉浸式视频渲染设备10、传感器20、用户输入设备30、计算机40和网关50(可选的)。图10所示的沉浸式视频渲染设备10包括显示器101。显示器例如是oled或lcd类型。沉浸式视频渲染设备10例如是hmd、平板电脑或智能电话。设备10可以包括触摸表面102(例如,触摸板或触觉屏幕)、相机103、与至少一个处理器104连接的存储器105和至少一个通信接口106。至少一个处理器104处理从传感器20接收的信号。来自传感器的一些测量用于计算设备的姿势和控制虚拟相机。用于姿势估计的传感器例如是陀螺仪、加速度计或罗盘。也可以使用更复杂的系统(例如,使用一套相机)。在这种情况下,至少一个处理器执行图像处理以估计设备10的姿势。根据环境条件或用户的反应,使用一些其他测量来处理内容。用于观察环境和用户的传感器例如是麦克风、光传感器或接触传感器。也可以使用更复杂的系统(例如,跟踪用户眼睛的摄像机)。在这种情况下,至少一个处理器执行图像处理以操作期望的测量。来自传感器20和用户输入设备30的数据也可以发送到计算机40,计算机40将根据这些传感器的输入处理数据。存储器105包括用于处理器104的参数和代码程序指令。存储器105还可以包括从传感器20和用户输入设备30接收的参数。通信接口106使沉浸式视频渲染设备能够与计算机40通信。处理设备的通信接口106是有线接口(例如,总线接口、广域网接口、局域网接口)或无线接口(例如,ieee802.11接口或接口)。计算机40向沉浸式视频渲染设备10发送数据和可选的控制命令。计算机40负责处理数据,即,准备它们以供沉浸式视频渲染设备10显示。处理可以排他地由计算机40完成,或者处理的一部分可以由计算机完成,而一部分由沉浸式视频渲染设备10完成。计算机40直接或通过网关或网络接口50连接到互联网。计算机40从互联网接收表示沉浸式视频的数据,处理这些数据(例如,对它们进行解码并且可以准备将要由沉浸式视频渲染设备10显示的视频内容的一部分),并且向沉浸式视频渲染设备10发送处理后的数据以供显示。在变型中,系统还可以包括本地存储设备(未示出),本地存储设备中存储表示沉浸式视频的数据,所述本地存储设备可以在计算机40上或在通过例如局域网可访问的本地服务器上(未示出)。图3示出了第二实施例。在该实施例中,stb90直接连接到诸如互联网的网络(即,stb90包括网络接口),或经由网关50连接到诸如互联网的网络。stb90通过无线接口或通过有线接口连接到诸如电视机100或沉浸式视频渲染设备200的渲染设备。除了stb的经典功能之外,stb90还包括用于处理视频内容以供在电视100上或在任何沉浸式视频渲染设备200上渲染的处理功能。这些处理功能与针对计算机40描述的处理功能相同,这里不再描述。传感器20和用户输入设备30也与前面关于图2描述的传感器和用户输入设备的类型相同。stb90从互联网获得表示沉浸式视频的数据。在变型中,stb90从存储表示沉浸式视频的数据的本地存储设备(未示出)获得表示沉浸式视频的数据。图4示出了与图2中所示的实施例相关的第三实施例。游戏控制台60处理内容数据。游戏控制台60向沉浸式视频渲染设备10发送数据和可选的控制命令。游戏控制台60被配置为:处理表示沉浸式视频的数据,并向沉浸式视频渲染设备10发送处理后的数据以供显示。处理可以由游戏控制台60排他地完成,或者部分处理可以由沉浸式视频渲染设备10完成。游戏控制台60直接或通过网关或网络接口50连接到互联网。游戏控制台60从互联网获得表示沉浸式视频的数据。在变型中,游戏控制台60从存储表示沉浸式视频的数据的本地存储设备(未示出)获得表示沉浸式视频的数据,所述本地存储设备可以在游戏控制台60上或在通过例如局域网可访问的本地服务器上(未示出)。游戏控制台60从互联网接收表示沉浸式视频的数据,处理这些数据(例如,对它们进行解码并且可以准备将要被显示的视频的一部分),并且向沉浸式视频渲染设备10发送处理后的数据以供显示。游戏控制台60可以从传感器20和用户输入设备30接收数据,并且可以使用所接收到的数据来处理表示从互联网或从本地存储设备获得的沉浸式视频的数据。图5示出了所述第一类系统的第四实施例,其中沉浸式视频渲染设备70由插入到壳体705中的智能电话701形成。智能电话701可以连接到互联网,因此可以从互联网获得表示沉浸式视频的数据。在变型中,智能电话701从存储表示沉浸式视频的数据的本地存储设备(未示出)获得表示沉浸式视频的数据,所述本地存储设备可以在智能电话701上或在通过例如局域网可访问的本地服务器上(未示出)。参考图11描述沉浸式视频渲染设备70,图11给出了沉浸式视频渲染设备70的优选实施例。沉浸式视频渲染设备可选地包括至少一个网络接口702和用于智能电话701的壳体705。智能电话701包括智能电话和显示器的所有功能。智能电话的显示器用作沉浸式视频渲染设备70的显示器。因此,不需要除智能电话701的显示器之外的显示器。然而,需要光学器件704(例如镜头),以能够在智能电话显示器上看到数据。智能电话701被配置为可根据从传感器20和用户输入设备30接收的数据来处理(例如,解码并准备以用于显示)表示沉浸式视频的数据。来自传感器的一些测量用于计算设备的姿势和控制虚拟相机。用于姿势估计的传感器例如是陀螺仪、加速度计或罗盘。也可以使用更复杂的系统(例如,使用一套相机)。在这种情况下,至少一个处理器执行图像处理以估计设备10的姿势。根据环境条件或用户的反应,使用一些其他测量来处理内容。用于观察环境和用户的传感器例如是麦克风、光传感器或接触传感器。也可以使用更复杂的系统(例如,跟踪用户眼睛的摄像机)。在这种情况下,至少一个处理器执行图像处理以操作期望的测量。图6示出了所述第一类系统的第五实施例,其中沉浸式视频渲染设备80包括用于处理和显示数据内容的所有功能。该系统包括沉浸式视频渲染设备80、传感器20和用户输入设备30。沉浸式视频渲染设备80被配置为可根据从传感器20和用户输入设备30接收的数据来处理(例如,解码并准备以用于显示)表示沉浸式视频的数据。沉浸式视频渲染设备80可以连接到互联网,因此可以从互联网获得表示沉浸式视频的数据。在变型中,沉浸式视频渲染设备80从存储表示沉浸式视频的数据的本地存储设备(未示出)获得表示沉浸式视频的数据,所述本地存储设备可以在沉浸式视频渲染设备80上或在通过例如局域网可访问的本地服务器上(未示出)。沉浸式视频渲染设备80在图12上示出。沉浸式视频渲染设备包括显示器801。显示器可以是例如oled或lcd类型,触摸板(可选的)802、相机(可选的)803、与至少一个处理器804连接的存储器805和至少一个通信接口806。存储器805包括用于处理器804的参数和代码程序指令。存储器805还可以包括从传感器20和用户输入设备30接收的参数。存储器也可以足够大以存储表示沉浸式视频内容的数据。为此,可以存在若干种类型的存储器,并且存储器805可以是单个存储器,或者可以是若干种类型的存储设备(sd卡、硬盘、易失性或非易失性存储器...)。通信接口806使沉浸式视频渲染设备能够与互联网网络通信。处理器804处理表示视频的数据,以便在显示器801上显示处理后的数据。相机803捕获环境的图像以用于图像处理步骤。从该步骤提取数据以便控制沉浸式视频渲染设备。在图7至图9中示出了用于显示增强现实、虚拟现实、增强虚拟或从增强现实到虚拟现实的任何内容的第二类虚拟现实系统,其也可以是沉浸式(投影式)墙类型。在这种情况下,系统包括显示有内容的、通常具有巨大的大小的一个显示器。虚拟现实系统还包括:一个或若干个处理功能,以处理接收到的内容以供显示;以及网络接口,以从传感器接收内容或信息。显示器可以是lcd、oled或一些其他类型,并且可以包括诸如镜头的光学器件。显示器还可以包括若干个传感器,如稍后所述。显示器还可以包括若干个接口或连接器。它可以包括一个或若干个无线模块,以便与传感器、处理器和手持式或其他身体部位相关的设备或传感器进行通信。处理功能可以与显示器在相同设备中,或者在单独的设备中,或者一部分处理功能在显示器中,一部分处理功能在单独的设备中。通过处理内容,在此,其可以理解为用于准备可以被显示的内容所需的所有功能。这可以包括或不限于:解码内容、在显示内容之前合并内容、修改内容以适合显示设备、或者一些其他处理。当处理功能未完全包括在显示设备中时,显示设备能够通过诸如无线或有线接口的第一通信接口与显示器进行通信。可以设想若干种类型的处理设备。例如,可以设想具有一个或若干个处理单元的计算机系统。还可以看做这样的智能电话,它可以通过有线或无线链接连接到显示器,并且还通过连接器或无线地与显示器通信。处理设备还可以包括与宽访问网(例如,互联网)通信的第二通信接口,并且直接地或通过诸如家庭或本地网关之类的网络设备访问位于云上的内容。处理设备还可以通过第三接口(例如以太网类型的本地访问网络接口)访问本地存储设备。传感器也可以是系统的一部分,在显示器本身上(例如,相机、麦克风),或者位于显示器环境中(例如,光传感器、触摸板)。其他交互式设备也可以是系统的一部分,例如智能电话、平板电脑、遥控器或手持设备。传感器可以与环境感测(例如,照明条件)相关,但也可以与人体感测(例如位置跟踪)相关。传感器可以位于一个或若干个设备中。例如,可以存在位于房间中的测量照明条件或温度或任何其他物理参数的一个或若干个环境传感器。可以存在与用户相关的传感器,其可以在手持设备中,在椅子(例如,人坐在其中)中,在用户的鞋或脚中,以及在身体的其他部分上。相机、麦克风也可以链接到或在显示器中。这些传感器可以经由有线或无线通信与显示器和/或处理设备进行通信。根据若干个实施例,内容可以由虚拟现实系统接收。内容可以经由诸如虚拟现实系统中包括的本地存储设备(例如本地硬盘、存储卡)接收或从云流传输。以下段落描述了一些实施例,示出了用于显示增强现实、虚拟现实、增强虚拟或从增强现实到虚拟现实的任何内容的第二类系统的一些配置。图5至图7示出了这些实施例。图7示出了第二类系统。第二类系统包括:显示器1000,其是从计算机4000接收数据的沉浸式(投影式)墙。计算机4000可以从互联网接收沉浸式视频数据。计算机4000通常直接或通过网关5000或网络接口连接到互联网。在变型中,沉浸式视频数据由计算机4000从存储表示沉浸式视频的数据的本地存储设备(未示出)获得,所述本地存储设备可以在计算机4000中或在通过例如局域网可访问的本地服务器(未示出)中。该系统还可以包括传感器2000和用户输入设备3000。沉浸式墙1000可以是oled或lcd类型。它可以配备有一个或若干个相机。沉浸式墙1000可以处理从传感器2000(或多个传感器2000)接收的数据。从传感器2000接收的数据可以与照明条件、温度、用户的环境(例如,对象的位置)相关。沉浸式墙1000还可以处理从用户输入设备3000接收的数据。用户输入设备3000发送诸如触觉信号之类的数据,以便给出关于用户情绪的反馈。用户输入设备3000的示例是诸如智能电话、遥控器和具有陀螺仪功能的设备之类的手持设备。从传感器2000和用户输入设备3000接收的数据也可以发送到计算机4000。计算机4000可以根据从这些传感器/用户输入设备接收的数据来处理视频数据(例如,解码视频数据并准备它们以供显示)。传感器信号可以通过沉浸式墙的通信接口接收。该通信接口可以是蓝牙类型、wifi类型或任何其他类型的连接,优选地是无线的,但也可以是有线连接。计算机4000向沉浸式墙1000发送处理后的数据和可选的控制命令。计算机4000被配置为处理数据(即,准备它们以供显示),以将由沉浸式墙1000显示。处理可以排他地由计算机4000完成,或者处理的一部分可以由计算机4000完成,而一部分由沉浸式墙1000完成。图8示出了另一第二类系统。该另一第二类系统包括:沉浸式(投影式)墙6000,其被配置为处理(例如,解码和准备数据以供显示)并显示视频内容。它还包括传感器2000、用户输入设备3000。沉浸式墙6000通过网关5000或直接从互联网接收沉浸式视频数据。在变型中,沉浸式视频数据由沉浸式墙6000从存储表示沉浸式视频的数据的本地存储设备(未示出)获得,所述本地存储设备可以在沉浸式墙6000中或在通过例如局域网可访问的本地服务器(未示出)中。该系统还可以包括传感器2000和用户输入设备3000。沉浸式墙6000可以是oled或lcd类型。它可以配备有一个或若干个相机。沉浸式墙6000可以处理从传感器2000(或多个传感器2000)接收的数据。从传感器2000接收的数据可以与照明条件、温度、用户的环境(例如,对象的位置)相关。沉浸式墙6000还可以处理从用户输入设备3000接收的数据。用户输入设备3000发送诸如触觉信号之类的数据,以便给出关于用户情绪的反馈。用户输入设备3000的示例是诸如智能电话、遥控器和具有陀螺仪功能的设备之类的手持设备。沉浸式墙6000可以根据从这些传感器/用户输入设备接收的数据来处理视频数据(例如,解码视频数据并准备它们以供显示)。传感器信号可以通过沉浸式墙的通信接口接收。该通信接口可以是蓝牙类型、wifi类型或任何其他类型的连接,优选地是无线的,但也可以是有线连接。沉浸式墙6000可以包括至少一个通信接口,以与传感器和互联网通信。图9示出了第三实施例,其中沉浸式墙用于玩游戏。优选地,一个或若干个游戏控制台7000通过无线接口连接到沉浸式墙6000。沉浸式墙6000通过网关5000或直接从互联网接收沉浸式视频数据。在变型中,沉浸式视频数据由沉浸式墙6000从存储表示沉浸式视频的数据的本地存储设备(未示出)获得,所述本地存储设备可以在沉浸式墙6000中或在通过例如局域网可访问的本地服务器(未示出)中。游戏控制台7000向沉浸式墙6000发送指令和用户输入参数。沉浸式墙6000可根据从传感器2000和用户输入设备3000和游戏控制台7000接收的输入数据来处理沉浸式视频内容,以便准备内容以供显示。沉浸式墙6000还可以包括内部存储器以存储要显示的内容。以下部分通过改进编解码器内部的运动补偿的性能,解决所谓的全向/4π球面度/沉浸式视频的编码。假设与无限远处的或被校正以看起来在无限远处的全部或局部3d表面的投影相对应的矩形帧由视频编解码器来编码。本提议用于适配运动补偿处理以适配帧的布局,从而改进编解码器的性能。这些适配是通常通过编码矩形帧在假设当前视频编解码器发生最小变化的情况下进行的。全向视频是用于描述用于编码环境的4π球面度、或者有时是整个3d表面的子部分的格式的一个术语。其旨在使用一些交互设备“环顾四周”理想地在hmd中或标准显示器上进行可视化。视频可以是立体感的,也可以不是立体感的。其他术语有时用于设计此类视频:vr、360、全景、4π球面度、沉浸式,但它们并不总是指代相同格式。更高级的格式(嵌入式3d信息等)也可以用相同的术语来指代,并且可以或可以不与这里描述的原理兼容。在实践中,用于投影的3d表面是凸形的且简单的,例如球体、立方体、金字塔形体。本发明的思想也可以用于以非常大的视场(例如,像鱼眼镜头那样的非常小的焦距)获取的标准图像的情况。作为示例,我们示出了针对全向视频的2种可能的帧布局的特性:类型等量矩形(图1)立方体映射(图2)3d表面球体立方体直线连续失真分段笔直正交局部帧无是,只不过在面边界上像素密度非均匀(赤道线上更高)几乎恒定不连续无是,在每个面边界上周期性是,水平的是,在一些面之间图14示出了从表面到用于两个映射的帧的映射。图14和图16示出了所得到的用于编码的帧。图18示出了用于帧(左)和表面(中/右)的坐标系。帧f中的像素p(x,y)在球体上对应于点表示:f:编码器帧,即发送到编码器的帧s:无穷远处的映射到帧f的表面g:渲染帧:这是从某一视点渲染时(即,通过固定视点的角度)发现的帧。渲染帧性质取决于最终显示器(hmd、电视屏幕等):水平和竖直视野、像素分辨率等。对于诸如立方体、金字塔形体之类的一些3d表面,3d表面的参数化不是连续的,而是分段定义的(通常通过面)。下一部分首先描述了针对全向视频的典型布局(等量矩形布局)问题,但总的原理可适用于从3d表面s到矩形帧f的任何映射。例如,相同的原理适用于立方体映射布局。图19示出了对象在场景中沿直线移动并且在渲染帧中得到明显运动的示例。如可以注意到的,即使在渲染图像中运动完全笔直,用于编码的帧也显示为非均匀运动,包括在渲染帧中的变焦和旋转。由于现有的运动补偿使用纯平移正方形块作为默认模式来补偿运动,因此不适合这种扭曲视频。本文描述的实施例提出基于帧的布局来适配诸如hevc之类的现有视频编解码器的运动补偿处理。注意,被选择用于将用于编码的帧映射到球体的特定布局由序列固定,并且可以以序列水平(例如,在hevc的序列参数集(sps)中)发信号通知。以下部分描述了如何使用任意帧布局执行运动补偿(或作为编码工具的估计)。第一解决方案假设每个块的运动由单个矢量表示。在该解决方案中,根据块的四个角针对块计算运动模型,如图20的示例所示。在解码时应用以下处理步骤,从而知道块的当前运动矢量dp。当测试候选运动矢量dp时,可以在编码时应用相同的处理。对于当前块i大小,输入为:块中心坐标p、块大小2*dw和2*dh、以及块运动矢量dp。输出是运动补偿之后当前块的每个角的图像di。每个角的图像计算如下(参见图21):1运动补偿之后计算p的图像q(图21a):q=p+dp2针对p处的块b的每个角ci(图21a),计算表面上的角的图像ci′、以及表面上的p的图像pi′(图21b):c0=p-dw-dhc1=p+dw-dhc2=p+dw+dhc3=p-dw+dhci′=f(ci)p′=f(p)其中dw和dh为块大小在宽度和高度方面的一半。3计算ci’的点ci3d和pi′的点pi3d的笛卡尔坐标系中的3d点(图21b):ci3d=3d(ci′)p3d=3d(p′)4计算每个角相对于中心的3d偏移(图21b):dci3d=ci3d-p3d5计算q的图像q′,然后计算q的q3d(图21c):q′=f(q)q3d=3d(q′)6使用先前计算的3d偏移根据q3d来计算3d角d3d(图21c):di3d=q3d+dci3d7逆向计算每个位移角的逆图像(图21d):di′=3d-1(di3d)di=f-1(di′)在等量矩形映射的情况下,块的平面由球体拼块(patch)近似。例如,对于立方体映射,没有近似值。图22示出了针对等量矩形布局的基于块的扭曲运动补偿的结果。图22示出了从使用上述方法计算的参考画面运动预测回块和扭曲回块。第二解决方案是第一解决方案的变型,但是不是仅对四个角进行校正并且扭曲块以用于运动补偿,而是单独地对每个像素进行校正。在第一解决方案的处理中,通过每个像素或像素组(例如,hevc中的4×4块)的计算来替代针对角的计算。第三解决方案是使用每像素/像素组一个运动矢量的基于像素的校正的运动补偿。可以获得每像素/像素组的运动矢量预测器。然后,该预测器dpi用于与运动残差mvd相加来形成每像素pi的运动矢量vi:vi=dpi+mvd第四解决方案是利用基于极坐标的运动矢量参数化。块的运动矢量可以用极坐标dθ、表示。然后,可以如下地进行用于运动补偿块的处理:1计算表面上的p的图像p′和p′的3d点p3d:p′=f(p)p3d=3d(p′)2使用运动矢量dθ、旋转点p3d:q3d=r.p3d其中,r表示极角为dθ、的旋转矩阵。然后,我们可以使用所计算的q3d来应用解决方案1的处理:ci3d=3d(ci′)p3d=3d(p′)dci3d=ci3d-p3ddi3d=q3d+dci3ddi′=3d-1(di3d)di=f-1(di′)由于运动矢量现在以极坐标表示,因此根据映射改变单元。使用映射函数f找到该单元。针对等量矩形映射,图像中的一个像素的单元与2π/宽度的角度相对应,其中宽度是图像宽度。在现有仿射运动补偿模型的情况下,使用两个矢量来导出当前块的仿射运动,如图24所示。其中(v0x,v0y)是左上角控制点的运动矢量,并且(v1x,v1y)是右上角控制点的运动矢量。块的每个像素(或每个子块)具有利用上述等式计算的运动矢量。在映射投影的情况下,用于运动补偿块的方法可以如下适配,如图25所示。首先,计算局部仿射变换。其次,逆向地映射投影变换后的块。1在仿射运动补偿之后计算块p的中心的图像q:2计算p的3d点图像:p′=f(p)p3d=3d(p′)3对于每个子块或像素,计算子块/像素的局部仿射变换:dvl=dv-dp4计算每个子块的局部变换的子块:vl=v+dvl5计算每个局部变换后的子块的3d点:vl′=f(vl)vl3d=3d(vl′)6计算每个子块相对于中心p的3d偏移:dvl3d=vl3d-p3d7计算q的图像q′,然后计算q的q3d:q′=f(q)q3d=3d(q′)8使用先前计算的3d偏移根据q3d来计算3d点w3d:w3d=q3d+dvl3d9逆向计算每个位移的子块的逆图像:w′=3d-1(w3d)w=f-1(w′)然后,w是参考画面中的用于运动补偿的点的点坐标。在obmc模式下,计算利用当前运动矢量以及相邻块的运动矢量补偿的若干个子块的加权和,如图26所示。对该模式的可能适配是在进行子块的运动补偿之前首先校正当前块的局部帧中的相邻块的运动矢量。上述方案的一些变型可以包括:使用模式匹配运动矢量推导的帧速率上转换(fruc)(其可以使用映射/解映射搜索估计)、双向光流(bio)、具有等式的局部光照补偿(lic)(该等式类似于帧内预测)、以及高级时间运动矢量预测(atmvp)。所描述的实施例及其变型的优点是由改进全向视频的运动矢量补偿处理所带来的编码效率的改进,其使用映射f将用于编码的帧f映射到用于渲染帧的表面s。现在可以描述从帧f到3d表面s的映射。图21示出了等量矩形映射。这样的映射将函数f定义为如下:θ=x假设归一化坐标,帧f中的像素m(x,y)映射到球体上的点处。注意:在非归一化坐标的情况下:现在可以描述从表面s到3d空间的映射。给定f中的点m(x,y)映射到球体上的(18):m3d的投影坐标由下式给出:3d:m′→m3d为了根据点m3d逆回帧f,计算逆变换t-1:t-1:m3d→mm=f1(3d-1(m3d))根据点m3d(x,y,z),通过使用标准笛卡尔到极变换逆回到球体参数化是通过f表达式的逆来实现的:3d-1:m3d→m′以及,然后注意:对于奇点(通常在极点处),当x和y接近0时,直接设置:θ=0注意:对模块化案例应特别小心。图27示出了平面与球体的近似。在图的左侧示出了完整计算,并且右侧示出了近似值。在立方体映射的情况下,帧内部可以有若干个面的布局。在图28中,我们示出了立方体图的面的布局的两个示例。现在可以描述从帧f到表面s的映射。对于所有布局,映射函数f将帧f的像素m(x,y)映射到3d表面上的点m′(u,v,k),其中,k是面编号,并且(u,v)是立方体的面s上的局部坐标系。f:m(x,y)→m′(u,v,k)和以前一样,立方体面被定义为由比例因子决定,因此它是任意选择的,例如,具有u,v∈[-1,1]。这里,映射是在假设布局2(参见图29)的情况下表示的,但相同的推理适用于任何布局:其中w是图像宽度的三分之一,并且h是图像的一半(即画面f中立方体面的大小)。注意,逆函数f-1直接从上面的等式得到:f-1:m′(u,v,k)→m(x,y)图30示出了从立方体表面s到3d空间的映射。要从表面s映射到3d空间,步骤2与将面k中的点映射到立方体上的3d点相对应:3d:m′(u,v,k)→m3d(x,y,z)请注意,逆函数3d-1直接从以上等式获得:3d-1:m3d(x,y,z)→m′(u,v,k)图31中示出了用于改进运动矢量补偿的方法的一个实施例。方法3100在开始框3101处开始,并且控制进行到框3110,以用于使用块中心点和块高度和宽度来计算块角。控制从框3110进行到框3120,以用于在参数表面上获得图像角和块的中心点。控制从框3120进行到框3130,以用于根据参数表面上的点到三维表面的变换获得三维角。控制从框3130进行到框3140,以用于获得角到块的中心点的三维偏移。控制从框3140进行到框3150,以用于在参数表面上和在三维表面上计算运动补偿块。控制从框3160进行到框3170,以用于通过逆扭曲和逆变换根据参考帧计算运动补偿块角的图像。上述方法被执行为当通过使用运动补偿预测全向视频图像块来对视频图像块进行解码时的解码操作,其中,上述方法用于运动补偿。上述方法被执行为当通过使用运动补偿预测全向视频图像块来对视频图像块进行编码时的编码操作,其中,上述方法用于运动补偿。在图32中示出了用于改进全向视频中的运动补偿的装置的一个实施例。装置3200包括以信号通信与存储器3220连接的处理器3210。处理器3210和存储器3220之间的至少一个连接被示出为双向的,但是附加的单向或双向连接可以连接二者。处理器3210还示出为具有输入端口和输出端口,输入端口和输出端口都未指定宽度。存储器3220还示出为具有输出端口。处理器3210执行命令以执行图31的运动补偿。该实施例可以用在编码器或解码器中,以通过使用运动补偿预测全向视频图像块来分别对视频图像块进行编码或解码,其中,运动补偿包括图31的步骤。该实施例也可以用在图1至图12所示的系统中。图中示出的各个元件的功能可以通过使用专用硬件以及能够执行软件的硬件与合适软件相关联来提供。当由处理器来提供时,这些功能可以由单个专用处理器、单个共享处理器、或多个单独的处理器来提供,多个单独的处理器中的一些可以被共享。此外,术语“处理器”或“控制器”的明确使用不应被解释为排他地指代能够执行软件的硬件,而是可以隐含地包括(不限于)数字信号处理器(“dsp”)硬件、用于存储软件的只读存储器(“rom”)、随机存取存储器(“ram”)以及非易失性存储器。还可以包括传统和/或定制的其他硬件。类似地,图中所示的任何开关都仅是概念性的。其功能可以通过程序逻辑的操作、通过专用逻辑、通过程序控制和专用逻辑的交互、或甚至手动地执行,实现者可选择的具体技术可以从上下文中得到明确的理解。本说明书示意了本发明原理。因此将理解的是,本领域的技术人员将能够设计出虽然本文没有明确地描述或示出但体现了本原理并包括在其范围之内的各种布置。这里所引述的所有示例和条件性语言均为了教导的目的,以帮助读者理解本发明原理以及发明人对现有技术做出贡献的构思,应看作不会被限制为这里具体引述的示例和条件。此外,这里对本发明的原理、方面、实施例及其特定示例做出引述的所有声明意在包括本发明的结构和功能上的等同物。此外,这种等同物旨在包括当前已知的等同物以及将来研发的等同物,即,执行相同功能的所研发的任何元件,而无论其结构。因此,本领域的技术人员可以理解,例如这里所表示的框图展示出体现本发明的示意性电路的概念图。类似地,将理解,任何流程、流程图、状态转移图、伪代码等表现出实质上可以在计算机可读介质上表现的、并且由计算机或处理器执行的各个过程,无论是否明确示出该计算机或处理器。在权利要求中,被表述为用于执行指定功能的装置的任意元件意在包括执行该功能的任何方式,包括例如a)执行该功能的电路元件的组合、b)任何形式的软件,因而包括固件、微代码等,其与适当的电路组合以运行该软件来执行该功能。由这种权利要求限定的本发明原理在于由各种记载的装置提供的功能以权利要求所要求的方式在一起组合并带来。因此,可以认为提供这些功能的任何装置等同于本文所示的装置。说明书中引用本发明原理的“一个实施例”或“实施例”及其其他变型指与该实施例相结合描述的特定特征、结构、特性等包括在本发明原理的至少一个实施例中。因此,在说明书中各处出现的短语“在一个实施例中”或“在实施例中”以及任意其他变型不必都指相同实施例。总之,前面的实施例已经示出了由改进全向视频的运动矢量补偿处理所带来的编码效率的改进,其使用映射f将用于编码的帧f映射到用于渲染帧的表面s。基于前述原理可以容易地构思附加的实施例。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1