首页 / 专利库 / 视听技术与设备 / / 适应于全向视频的运动矢量预测量的方法和装置

适应于全向视频的运动矢量预测量的方法和装置

阅读:264发布:2020-05-08

专利汇可以提供适应于全向视频的运动矢量预测量的方法和装置专利检索,专利查询,专利分析的服务。并且一种方法和装置调节 运动矢量 预测以适应于全向视频。一个 实施例 改进了对时域运动矢量预测量或重新缩放的运动矢量预测量的处理。另一个实施例适用于 空域 运动矢量预测量,并且另一个实施例适用于时域或空域运动矢量预测量的组合。该方法分析从预测量的时间索引、参考图像的预测量的时间索引、参考图像的当前 块 的时间索引和当前块的时间索引中的至少一个推导出的缩放因子。例如,如果缩放因子大于1,则在运动矢量重新缩放之前执行运动矢量变换。然而,如果缩放因子小于或等于1,则在运动矢量变换之前执行运动矢量重新缩放。,下面是适应于全向视频的运动矢量预测量的方法和装置专利的具体信息内容。

1.一种方法,包括:
计算图片的运动矢量预测量的缩放因子;
基于所述缩放因子,按顺序对所述运动矢量预测量执行运动矢量重新缩放和运动矢量变换;以及,
使用经变换和重新缩放的运动矢量预测量对块执行运动补偿;以及,
对运动补偿后的图片的块进行编码。
2.一种方法,包括:
计算图片的块的运动矢量预测量的缩放因子;
基于所述缩放因子,按顺序对所述运动矢量预测量执行运动矢量重新缩放和运动矢量变换;以及,
使用经变换和重新缩放的运动矢量预测量对所述块执行运动补偿;以及,对运动补偿后的图片的块进行解码。
3.一种用于编码视频数据块的装置,包括:
存储器,和
处理器,被配置为执行:
计算图片的块的运动矢量预测量的缩放因子;
基于所述缩放因子,按顺序对所述运动矢量预测量执行运动矢量重新缩放和运动矢量变换;并且,
使用经变换和重新缩放的运动矢量预测量对所述块执行运动补偿;并且,对运动补偿后的图片的块进行编码。
4.一种用于解码视频数据块的装置,包括:
存储器,和
处理器,被配置为执行:
计算图片的块的运动矢量预测量的缩放因子;
基于所述缩放因子,按顺序对所述运动矢量预测量执行运动矢量重新缩放和运动矢量变换;并且,
使用经变换和重新缩放的运动矢量预测量对所述块执行运动补偿;并且,对运动补偿后的图片的块进行解码。
5.根据权利要求1或2所述的方法,或者根据权利要求3或4所述的装置,其中,对于大视场视频,所述大视场视频的至少一个图片被表示为使用投影函数投影到至少一个二维图片上的三维表面,所述运动矢量变换包括:
在三维表面上将所述块的点P投影到点P”’,将另一个块的点V投影到点V”’,并且将所述另一个块的点V移位运动矢量(dV)到点W”’;
确定矢量OV”’和平面G之间的交点Vp以及矢量OW”’和平面G之间的交点Wp,其中平面G是在P”’处与表面相切的平面,O是球体的原点;
将P”’移位dVp,以获得平面G中的点Qp,其中dVp等于矢量VpWp;
将所述图片中的点Qp投影到点Q;以及
将所述块的当前运动矢量(dP)确定为从P到Q的矢量。
6.根据权利要求1或2所述的方法,或者根据权利要求3或4所述的装置,其中,对于大视场视频,所述大视场视频的至少一个图片被表示为使用投影函数投影到至少一个二维图片上的三维表面,所述运动矢量变换包括:
在投影空间中计算使用所述运动矢量预测量而进行的对所述块的至少一个点的移位,获得所述投影空间中的移位点;
将所述移位点投影到所述图片上;以及
计算调整后的运动矢量预测量,作为投影后的移位点在图片上的位置和所述当前块的所述点之间的差;
将所述运动矢量预测量应用于所述图片的锚点,以获得移位的锚点;
将所述块的点、所述锚点和所述移位的锚点投影到所述投影空间上;以及在所述投影空间中计算投影的运动矢量预测量,作为投影的移位的锚点和所述投影的锚点之间的差,在所述投影空间中计算使用所述投影的运动矢量预测量执行的对所述块的至少一个点的移位。
7.根据权利要求1或2所述的方法,或者根据权利要求3或4所述的装置,其中,所述缩放因子基于所述预测量的时间索引、参考图像预测量的时间索引、参考图像当前块的时间索引和当前块的时间索引。
8.根据权利要求1或2所述的方法,或者根据权利要求3或4所述的装置,其中,所述运动矢量预测量来自所述块的空域邻近块。
9.根据权利要求1或2所述的方法,或者根据权利要求3或4所述的装置,其中,所述运动矢量预测量来自于已经解码或重构的参考的块。
10.根据权利要求1或2所述的方法,或者根据权利要求3或4所述的装置,其中,当所述缩放因子小于或等于1时,在所述运动矢量变换之前,对所述运动矢量预测量执行所述运动矢量重新缩放。
11.根据权利要求1或2所述的方法,或者根据权利要求3或4所述的装置,其中,当所述缩放因子大于1时,在所述运动矢量变换之后,对所述运动矢量预测量执行所述运动矢量重新缩放。
12.根据权利要求1或2所述的方法,或者根据权利要求3或4所述的装置,其中,对于高级时域运动矢量预测,共位的子预测单元运动矢量预测量也进行重新缩放。
13.一种非暂时性计算机可读介质,包含根据权利要求1和5至12中任一项所述的方法或者由根据权利要求3和5至12中任一项所述的装置生成的数据内容,以用于使用处理器进行回放。
14.一种信号,包括根据权利要求1和5至12中任一项所述的方法或者由根据权利要求3和5至12中任一项所述的装置生成的视频数据,以用于使用处理器进行回放。
15.一种包括指令的计算机程序产品,当程序由计算机执行时,使得计算机执行根据权利要求2和5至12中任一项所述的方法。

说明书全文

适应于全向视频的运动矢量预测量的方法和装置

技术领域

[0001] 以下描述的方面总地涉及视频压缩领域,具体涉及全向视频领域。

背景技术

[0002] 最近,可用的大视场(高达360°)内容有所增长。这种内容对于在沉浸式显示设备(诸如头戴式显示器(Head Mounted Display,HMD)、智能眼镜、PC屏幕、平板电脑、智能手机等)上观看内容的用户来说可能是不完全可见的。这意味着在给定的时刻,用户可能只在观看部分内容。然而,用户通常可以通过诸如头部移动、鼠标移动、触摸屏、语音等各种方式在内容内导航。通常期望对该内容进行编码和解码。发明内容
[0003] 现有技术的这些和其他缺点和不足由至少一个所描述的实施例来解决,这些实施例涉及一种通过提高的运动矢量的精度来改善视频编码器和解码器的压缩效率的方法和装置。
[0004] 在至少一个实施例中,提供了一种方法。该方法包括以下步骤:计算图片的运动矢量预测量的缩放因子;基于缩放因子,按顺序对运动矢量预测量执行运动矢量重新缩放和运动矢量变换;使用经变换和重新缩放的运动矢量预测量对图片块执行运动补偿;以及对运动补偿的视频数据块进行编码。
[0005] 在至少一个其他实施例中,提供了一种方法。该方法包括以下步骤:计算图片块的运动矢量预测量的缩放因子;基于缩放因子,按顺序对运动矢量预测量执行运动矢量重新缩放和运动矢量变换;使用经变换和重新缩放的运动矢量预测量对图片块执行运动补偿;以及对运动补偿的视频数据块进行解码。
[0006] 在另一个实施例中,提供了根据任何前述方法的方法,其中该方法被用于速率上转换、高级运动矢量预测、高级时域运动矢量预测或这些运动补偿技术的任何组合。
[0007] 在另一个实施例中,提供了一种装置。该装置包括存储器和处理器。处理器被配置为执行前述方法实施例的任何变型。
[0008] 根据本文所述的另一方面,提供了一种非暂时性计算机可读存储介质,其包含根据前述方法实施例中任一项的方法或者由前述装置实施例中任一项的装置生成的数据内容用于使用处理器进行回放。
[0009] 根据本文所述的另一方面,提供了一种信号,其包括根据前述方法实施例中用于编码视频数据块的任一项的方法生成的或者由前述装置实施例中用于编码视频数据块的任一项的装置生成的视频数据,用于使用处理器进行回放。
[0010] 根据本文描述的另一方面,提供了一种计算机程序产品,其包括指令,当程序由计算机执行时,使得计算机执行前述方法实施例中任一项的方法。
[0011] 从下面结合附图阅读的示例性实施例的详细描述中,本原理的这些和其他方面、特征和优点将变得明显。

附图说明

[0012] 图1示出了根据特定且非限制性实施例的用于编码和解码全向视频的示例性系统,
[0013] 图2-图6示出了根据各种实施例的被配置为解码、处理和呈现沉浸式视频的系统,[0014] 图7-图9表示根据各种实施例的具有被配置为解码、处理和呈现沉浸式视频的沉浸式墙的系统,以及
[0015] 图10-图12表示根据各种实施例的沉浸式视频呈现设备。
[0016] 图13A和图13B示出了从球面S投影到矩形图片F上的示例,
[0017] 图14A和图14B示出了从立方体表面S投影到六个图片上的示例,以及投影到二维(2D)图片上的立方体的六个面的布局,
[0018] 图15A和图15B示出了表示全向视频的三维(3D)表面的投影图片F中的运动对象,以及投影图片的块分割中的对应运动矢量。
[0019] 图16A和图16B示出了从帧坐标到呈现的帧以及从呈现的帧到编码帧的映射。
[0020] 图17示出了运动矢量预测量缩放的示例。
[0021] 图18示出了可以应用所描述的方面的编码器的示例。
[0022] 图19示出了可以应用所描述的方面的解码器的示例。
[0023] 图20示出了运动补偿块的进一步细节的示例。
[0024] 图21示出了根据所描述的方面的运动矢量变换/重新缩放的流程图的示例。
[0025] 图22示出了根据所描述的方面的编码方法的一个实施例。
[0026] 图23示出了根据所描述的方面的解码方法的一个实施例。
[0027] 图24示出了根据所描述的方面的用于编码或解码的装置的一个实施例。

具体实施方式

[0028] 全向内容通常投影在给定的布局上,因此要编码/解码的最终内容适合矩形帧,这便于现有编解码器进行处理。取决于映射,可能会引入几何失真,这会损害压缩性能。特别地,当处理等矩形(equi-rectangular,ERP)映射时,运动矢量预测可能不适用。以下实施例也可以扩展到具有类似属性的其他映射。
[0029] 所描述的实施例中的至少一个被用于设计适应于ERP映射的新的运动矢量预测。对现有技术进行了若干改进,特别是更好地处理时域运动矢量预测量或重新缩放的运动矢量预测量。
[0030] 大视场内容可以是三维计算机图形成像场景(3D CGI场景)、点或沉浸式视频以及其它。许多术语可以被用来设计这样的沉浸式视频,诸如例如虚拟现实(virtual Reality,VR)、360、全景、4π、球面度、沉浸式、全向、大视场。
[0031] 沉浸式视频通常是指编码在矩形帧上的视频,该矩形帧是像“常规”视频一样的二维像素阵列(即颜色信息元素)。在许多实施方式中,可以执行以下过程。为了呈现,首先将帧映射到凸体积的内表面上,也称为映射表面(例如,球体、立方体、金字塔),其次,该体积的一部分被虚拟相机捕获。由虚拟相机捕获的图像被呈现在沉浸式显示设备的屏幕上。立体视频被编码在一个或两个矩形帧上,投影在两个映射表面上,根据设备的特性,这两个映射表面被组合以由两个虚拟相机捕获。
[0032] 像素可以根据帧中的映射函数来编码。映射函数可能取决于映射表面。对于相同的映射表面,有若干种映射函数是可能的。例如,立方体的面可以根据帧表面内的不同布局来构造。例如,球体可以根据等矩形投影或球心投影来映射。由所选择的投影函数产生的像素组织修改或中断线连续性、正交局部帧、像素密度,并引入了时间和空间的周期性。这些是用于编码和解码视频的典型特征。现有的编码和解码方法通常不考虑沉浸式视频的特殊性。事实上,由于沉浸式视频可以是360°视频,例如,平移引入了运动和不连续性,这需要在场景内容不变的同时编码大量数据。在对视频帧进行编码和解码时,考虑沉浸式视频的特殊性将为编码或解码方法带来有价值的优势。
[0033] 图1示出了根据特定且非限制性实施例的编码和解码系统的总体概述。图1的系统是功能系统。预处理模块110可以准备由编码设备120编码的内容。预处理模块110可以执行多图像采集、将采集的多图像合并到公共空间(如果我们对方向进行编码,则通常是3D球体)中、以及使用例如但不限于等矩形映射或立方体映射将3D球体映射到2D帧中。预处理模块110还可以接受特定格式(例如,等矩形)的全向视频作为输入,并且预处理视频以将映射改变为更适合编码的格式。取决于采集的视频数据表示,预处理模块110可以执行映射空间改变。
[0034] 编码设备120和编码方法将参考说明书的其他附图进行描述。在被编码之后,例如可以编码沉浸式视频数据或3D CGI编码数据的数据被发送到网络接口130,网络接口130通常可以以任何网络接口来实施,诸如存在于网关中的网络接口。然后,数据通过诸如互联网的通信网络传输,但是可以预见任何其他网络。然后经由网络接口140接收数据。网络接口140可以在网关、电视机、机顶盒、头戴式显示设备、沉浸式(投影式)墙壁或任何沉浸式视频呈现设备中实施。
[0035] 在接收之后,数据被发送到解码设备150。解码功能是下面图2至图12中描述的处理功能之一。解码的数据然后由播放器160处理。播放器160为呈现设备170准备数据,并且可以接收来自传感器的外部数据或用户输入数据。更准确地,播放器160准备将由呈现设备170显示的部分视频内容。解码设备150和播放器160可以集成在单个设备(例如,智能手机、游戏控制台、机顶盒(STB)、平板电脑、计算机等)中。在其他实施例中,播放器160可以集成在呈现设备170中。
[0036] 可以设想若干种类型的系统来执行沉浸式显示设备的解码、播放和呈现功能,例如,当呈现沉浸式视频时。
[0037] 图2至图6示出了用于处理增强现实、虚拟现实或增强虚拟内容的第一系统。这种系统包括处理功能、沉浸式视频呈现设备,该沉浸式视频呈现设备可以是例如头戴式显示器(HMD)、平板电脑或智能手机,并且可以包括传感器。沉浸式视频呈现设备还可以包括显示设备和处理功能之间的附加接口模块。处理功能可以由一个或多个设备来执行。它们可以集成到沉浸式视频呈现设备中,或者它们可以集成到一个或若干个处理设备中。处理设备包括一个或若干个处理器和与沉浸式视频呈现设备的通信接口,诸如无线或有线通信接口。
[0038] 处理设备还可以包括与诸如互联网的宽接入网络的第二通信接口,并且直接地或通过诸如家庭或本地网关的网络设备来访问位于云上的内容。处理设备还可以通过诸如以太网类型的本地接入网络接口的第三接口来访问本地存储装置。在实施例中,处理设备可以是具有一个或多个处理单元的计算机系统。在另一个实施例中,它可以是智能手机,该智能手机可以通过有线或无线链路连接到沉浸式视频呈现设备,或者可以插入沉浸式视频呈现设备的外壳中,并通过连接器或无线地与其通信。处理设备的通信接口是有线接口(例如,总线接口、广域网接口、局域网接口)或无线接口(诸如IEEE 802.11接口或 接口)。
[0039] 当处理功能由沉浸式视频呈现设备执行时,沉浸式视频呈现设备可以直接地或通过网关提供对网络的接口,以接收和/或发送内容。
[0040] 在另一个实施例中,该系统包括与沉浸式视频呈现设备和与处理设备通信的辅助设备。在这样的实施例中,该辅助设备可以包含至少一个处理功能。
[0041] 沉浸式视频呈现设备可以包括一个或多个显示器。该设备可以在其每个显示器前面采用光学器件,诸如透镜。显示器也可以是沉浸式显示设备的一部分,如在智能手机或平板电脑的情况下。在另一个实施例中,显示器和光学器件可以嵌入用户可以佩戴的头盔、眼镜或护目镜中。沉浸式视频呈现设备还可以集成若干个传感器,如稍后所述。沉浸式视频呈现设备还可以包括若干个接口或连接器。它可以包括一个或多个无线模块,以便与传感器、处理功能、手持或其他身体部位相关的设备或传感器通信。
[0042] 沉浸式视频呈现设备还可以包括由一个或多个处理器执行的处理功能,并被配置为解码内容或处理内容。通过在这里处理内容,可以理解为准备可以显示的内容的所有功能。这可以包括例如解码内容、在显示内容之前合并内容以及修改内容以适合显示设备。
[0043] 沉浸式内容呈现设备的一个功能是控制虚拟相机,该虚拟相机捕获被构造为虚拟体的至少一部分内容。该系统可以包括姿态跟踪传感器,其全部或部分跟踪用户的姿态,例如,用户头部的姿态,以便处理虚拟相机的姿态。一些定位传感器可以跟踪用户的位移。例如,该系统还可以包括与环境相关的其他传感器以测量照明、温度或声音状况。例如,这种传感器也可以与用户的身体相关以测量出汗或心率。通过这些传感器获取的信息可以被用于处理内容。该系统还可以包括用户输入设备(例如,鼠标、键盘、遥控器、操纵杆)。来自用户输入设备的信息可以被用于处理内容、管理用户界面或控制虚拟相机的姿态。传感器和用户输入设备通过有线或无线通信接口与处理设备和/或沉浸式呈现设备通信。
[0044] 使用图2至图6,描述了用于显示增强现实、虚拟现实、增强虚拟或从增强现实到虚拟现实的任何内容的第一类型系统的若干个实施例。
[0045] 图2示出了被配置为解码、处理和呈现沉浸式视频的系统的特定实施例。该系统包括沉浸式视频呈现设备10、传感器20、用户输入设备30、计算机40和网关50(可选)。
[0046] 如图10所示,沉浸式视频呈现设备10包括显示器10。显示器例如是OLED或LCD类型。沉浸式视频呈现设备10例如是HMD、平板电脑或智能手机。设备10可以包括触摸表面102(例如,触摸板或触觉屏幕)、相机103、与至少一个处理器104相连接的存储器105、和至少一个通信接口106。至少一个处理器104处理从传感器20接收的信号。
[0047] 来自传感器的一些测量值被用于计算该设备的姿态并控制虚拟相机。用于姿态估计的传感器例如是陀螺仪加速度计或罗盘。也可以使用例如使用一套相机的更复杂的系统。在这种情况下,至少一个处理器执行图像处理以估计设备10的姿态。根据环境条件或用户的反应,使用其他一些测量方法来处理内容。用于观察环境和用户的传感器例如是麦克、光传感器或接触传感器。也可以使用更复杂的系统,例如,跟踪用户眼睛的摄像机。在这种情况下,至少一个处理器执行图像处理以操作预期的测量。来自传感器20和用户输入设备30的数据也可以传输到计算机40,计算机40将根据这些传感器的输入来处理数据。
[0048] 存储器105包括处理器104的参数和代码程序指令。存储器105还可以包括从传感器20和用户输入设备30接收的参数。通信接口106使得沉浸式视频呈现设备能够与计算机40通信。处理设备的通信接口106可以是有线接口(例如,总线接口、广域网接口、局域网接口)或无线接口(例如,IEEE 802.11接口或 接口)。
[0049] 计算机40向沉浸式视频呈现设备10发送数据和可选地发送控制命令。计算机40负责处理数据,即准备它们以供沉浸式视频呈现设备10显示。处理可以专由计算机40来完成,或者部分处理可以由计算机来完成,并且部分处理可以由沉浸式视频呈现设备10来完成。计算机40直接地或通过网关或网络接口50连接到互联网。计算机40从互联网接收表示沉浸式视频的数据,处理这些数据(例如,解码它们,并且可能准备将由沉浸式视频呈现设备10显示的部分视频内容),并且将处理后的数据发送到沉浸式视频呈现设备10以供显示。在另一个实施例中,系统还可以包括本地存储器(未示出),其中存储表示沉浸式视频的数据,所述本地存储装置可以在计算机40上或者在例如通过局域网可访问的本地服务器(未示出)上。
[0050] 图3表示第二实施例。在该实施例中,STB 90直接地(即STB 90包括网络接口)或经由网关50连接到诸如互联网的网络。STB 90通过无线接口或通过有线接口连接到呈现设备,诸如电视机100或沉浸式视频呈现设备200。除了STB的传统功能之外,STB 90还包括处理功能,以处理视频内容,用于在电视机100或任何沉浸式视频呈现设备200上呈现。这些处理功能与针对计算机40描述的功能相同,这里不再描述。传感器20和用户输入设备30也与前面参考图2描述的类型相同。STB 90从互联网获得表示沉浸式视频的数据。在另一个实施例中,STB 90从其中存储有表示沉浸式视频的数据的本地存储装置(未示出)获得表示沉浸式视频的数据。
[0051] 图4表示与图2所示实施例相关的第三实施例。游戏控制台60处理内容数据。游戏控制台60向沉浸式视频呈现设备10发送数据和可选地发送控制命令。游戏控制台60被配置为处理表示沉浸式视频的数据,并将处理后的数据发送到沉浸式视频呈现设备10以供显示。处理可以专门由游戏控制台60完成,或者部分处理可以由沉浸式视频呈现设备10完成。
[0052] 游戏控制台60直接地或通过网关或网络接口50连接到互联网。游戏控制台60从互联网获得表示沉浸式视频的数据。在另一个实施例中,游戏控制台60从其中存储有表示沉浸式视频的数据的本地存储装置(未示出)获得表示沉浸式视频的数据,所述本地存储装置可以在游戏控制台60上或者在例如通过局域网可访问的本地服务器(未示出)上。
[0053] 游戏控制台60从互联网接收表示沉浸式视频的数据,处理这些数据(例如,解码它们,并且可能准备将要显示的部分视频),并且将处理后的数据发送到沉浸式视频呈现设备10以供显示。游戏控制台60可以从传感器20和用户输入设备30接收数据,并且可以使用它们来处理表示从互联网或从本地存储装置获得的沉浸式视频的数据。
[0054] 图5表示所述第一类型系统的第四实施例,其中沉浸式视频呈现设备70由插入外壳705中的智能手机701形成。智能手机701可以连接到互联网,因此可以从互联网获得表示沉浸式视频的数据。在另一个实施例中,智能手机701从其中存储有表示沉浸式视频的数据的本地存储装置(未示出)获得表示沉浸式视频的数据,所述本地存储装置可以在智能手机701上或者在例如通过局域网可访问的本地服务器(未示出)上。
[0055] 参考图11描述沉浸式视频呈现设备70,其给出了沉浸式视频呈现设备70的优选实施例。它可选地包括至少一个网络接口702和智能手机701的外壳705。智能手机701包括智能手机和显示器的所有功能。智能手机的显示器被用作沉浸式视频呈现设备70的显示器。因此,除了智能手机701的显示器之外,不包括任何显示器。然而,包括光学器件704(诸如透镜)以用于在智能手机显示器上看到数据。智能手机701被配置为可能根据从传感器20和用户输入设备30接收的数据来处理(例如,解码并准备以供显示)表示沉浸式视频的数据。来自传感器的一些测量值被用于计算设备的姿态并控制虚拟相机。用于姿态估计的传感器例如是陀螺仪、加速度计或罗盘。也可以使用例如使用一套相机的更复杂的系统。在这种情况下,至少一个处理器执行图像处理以估计设备10的姿态。根据环境条件或用户的反应,使用其他一些测量方法来处理内容。用于观察环境和用户的传感器例如是麦克风、光传感器或接触传感器。也可以使用更复杂的系统,例如,跟踪用户眼睛的摄像机。在这种情况下,至少一个处理器执行图像处理以操作预期的测量。
[0056] 图6表示所述第一类型系统的第五实施例,其中沉浸式视频呈现设备80包括用于处理和显示数据内容的所有功能。该系统包括沉浸式视频呈现设备80、传感器20和用户输入设备30。沉浸式视频呈现设备80被配置为可能根据从传感器20和用户输入设备30接收的数据来处理(例如,解码并准备以供显示)表示沉浸式视频的数据。沉浸式视频呈现设备80可以连接到互联网,因此可以从互联网获得表示沉浸式视频的数据。在另一个实施例中,沉浸式视频呈现设备80从其中存储有表示沉浸式视频的数据的本地存储装置(未示出)获得表示沉浸式视频的数据,所述本地存储装置可以在呈现设备80上或者在例如通过局域网可访问的本地服务器(未示出)上。
[0057] 沉浸式视频呈现设备80在图12中示出。沉浸式视频呈现设备包括显示器801。显示器可以是例如OLED或LCD类型。设备80可以包括触摸表面(可选)802(例如,触摸板或触觉屏幕)、相机(可选)803、与至少一个处理器804相连接的存储器805和至少一个通信接口806。存储器805包括处理器804的参数和代码程序指令。存储器805还可以包括从传感器20和用户输入设备30接收的参数。存储器也可以足够大以存储表示沉浸式视频内容的数据。为此,可以存在若干种类型的存储器,并且存储器805可以是单个存储器或者可以是若干种类型的存储装置(SD卡、硬盘、易失性或非易失性存储器……)。通信接口806使得沉浸式视频呈现设备能够与互联网通信。处理器804处理表示视频的数据,以便在显示器801上显示它们。
相机803捕获环境的图像以进行图像处理步骤。从该步骤中提取数据,以便控制沉浸式视频呈现设备。
[0058] 图7至图9示出了用于处理增强现实、虚拟现实或增强虚拟内容的第二系统。这种系统包括沉浸式墙壁。
[0059] 图7表示第二种类型的系统。它包括显示器1000,该显示器1000是从计算机4000接收数据的沉浸式(投影)墙壁。计算机4000可以从互联网接收沉浸式视频数据。计算机4000通常直接地或通过网关5000或网络接口连接到互联网。在另一个实施例中,沉浸式视频数据由计算机4000从其中存储有表示沉浸式视频的数据的本地存储装置(未示出)获得,所述本地存储装置可以在计算机4000中或者在例如通过局域网可访问的本地服务器(未示出)中。
[0060] 该系统还可以包括传感器2000和用户输入设备3000。沉浸式墙壁1000可以是OLED或LCD类型。它可以配备一个或多个相机。沉浸式墙壁1000可以处理从传感器2000(或多个传感器2000)接收的数据。从传感器2000接收的数据可以与照明条件、温度、用户环境(例如,对象的位置)相关。
[0061] 沉浸式墙壁1000还可以处理从用户输入设备3000接收的数据。用户输入设备3000发送诸如触觉信号的数据,以便给出关于用户情绪的反馈。用户输入设备3000的示例是手持设备,诸如智能手机、遥控器和带有陀螺仪功能的设备。
[0062] 传感器2000和用户输入设备3000的数据也可以传输到计算机4000。计算机4000可以根据从这些传感器/用户输入设备接收的数据来处理视频数据(例如,解码它们并准备它们以供显示)。传感器信号可以通过沉浸式墙壁的通信接口接收。该通信接口可以是蓝牙类型、WiFi类型或任何其他类型的连接,优选地是无线连接,但也可以是有线连接。
[0063] 计算机4000向沉浸式墙壁1000发送处理后的数据和可选地发送控制命令。计算机4000被配置为处理数据,即准备它们以供显示,以由沉浸式墙壁1000显示。处理可以专门由计算机4000来完成,或者部分处理可以由计算机4000来完成,并且部分处理可以由沉浸式墙壁1000来完成。
[0064] 图8表示第二种类型的另一个系统。它包括沉浸式(投影)墙壁6000,其被配置为处理(例如,解码和准备数据以供显示)和显示视频内容。它还包括传感器2000、用户输入设备3000。
[0065] 沉浸式墙壁6000通过网关5000从互联网或者直接地从互联网接收沉浸式视频数据。在另一个实施例中,沉浸式视频数据由沉浸式墙壁6000从其中存储有表示沉浸式视频的数据的本地存储装置(未示出)获得,所述本地存储装置可以在沉浸式墙壁6000中或者在例如通过局域网可访问的本地服务器(未示出)中。
[0066] 该系统还可以包括传感器2000和用户输入设备3000。沉浸式墙壁6000可以是OLED或LCD类型。它可以配备一个或多个相机。沉浸式墙壁6000可以处理从传感器2000(或多个传感器2000)接收的数据。从传感器2000接收的数据可以与照明条件、温度、用户环境(例如,对象的位置)相关。
[0067] 沉浸式墙壁6000还可以处理从用户输入设备3000接收的数据。用户输入设备3000发送诸如触觉信号的数据,以便给出关于用户情绪的反馈。用户输入设备3000的示例是手持设备,诸如智能手机、遥控器和带有陀螺仪功能的设备。
[0068] 沉浸式墙壁6000可以根据从这些传感器/用户输入设备接收的数据来处理视频数据(例如,解码它们并准备它们以供显示)。传感器信号可以通过沉浸式墙壁的通信接口接收。该通信接口可以是蓝牙类型、WiFi类型或任何其他类型的连接,优选地是无线连接,但也可以是有线连接。沉浸式墙壁6000可以包括至少一个通信接口,以与传感器和互联网通信。
[0069] 图9示出了第三实施例,其中沉浸式墙壁用于游戏。一个或多个游戏控制台7000优选地通过无线接口连接到沉浸式墙壁6000。沉浸式墙壁6000通过网关5000从互联网或者直接地从互联网接收沉浸式视频数据。在另一个实施例中,沉浸式视频数据由沉浸式墙壁6000从其中存储有表示沉浸式视频的数据的本地存储装置(未示出)获得,所述本地存储装置可以在沉浸式墙壁6000中或者在例如通过局域网可访问的本地服务器(未示出)中。
[0070] 游戏控制台7000向沉浸式墙壁6000发送指令和用户输入参数。沉浸式墙壁6000可能根据从传感器2000和用户输入设备3000以及游戏控制台7000接收的输入数据来处理沉浸式视频内容,以便准备内容以供显示。沉浸式墙壁6000还可以包括内部存储器来存储要显示的内容。
[0071] 在一个实施例中,考虑全向视频以能够将周围3D表面S投影到标准矩形帧F上的格式来表示,该标准矩形帧F以适合视频编解码器的格式来表示。各种投影可以被用于将3D表面投影到2D表面。例如,图13A示出了使用等矩形投影将示例性球表面S映射到2D帧F,并且图13B示出了使用立方体映射将示例性立方体表面映射到2D帧。其他映射,诸如金字塔、二十面体或八面体映射,可以被用于将3D表面映射到2D帧中。
[0072] 然后,可以使用现有的视频编码器(例如,符合VP9、AV1、MPEG-2、H.264/AVC或H.265/HEVC的编码器)对2D帧F进行编码。还可以用适合于全向视频性质的编码器对2D帧F进行编码,例如,使用适合的VP9、VP10、MPEG-2、H.264/AVC或H.265/HEVC编码器。在编码和解码之后,解码的2D帧可以被映射回对应的3D表面,例如,用于等矩形映射的球体或者用于立方体映射的立方体。然后,可以将3D表面投影到对应于用户视点的“虚拟屏幕”上,以便获得最终呈现帧。解码2D帧并从3D表面投影到呈现帧的步骤可以合并成单个步骤,其中解码的帧的一部分被映射到呈现帧。
[0073] 为了便于记法,可以将解码的2D帧也称为“F”,并且在呈现中使用的3D表面也称为S。应当理解,由于视频压缩,要编码的2D帧和要解码的2D帧可能不同,并且预处理中的3D表面和呈现中的3D表面也可能不同。术语“映射”和“投影”可以互换使用,术语“像素”和“样点”可以互换使用,并且术语“帧”和“图片”可以互换使用。
[0074] 将三维(3D)表面映射到矩形表面的问题首先针对全向视频的典型布局(等矩形布局)进行了描述,但是一般原理适用于从3D表面S到矩形帧F的任何映射。相同的原理可以应用于例如立方体映射布局。
[0075] 在图15A和图15B中,我们示出了对象在场景中沿直线移动及在帧中产生的明显运动的示例,如虚线所示。右侧示出了任意预测单元(PU)分割的最终运动矢量。可以注意到,即使运动在呈现出的图像中是完全直的,要编码的帧也显示非均匀的运动矢量。
[0076] 由于运动矢量预测量是使用周围的运动矢量形成的,所以可用于预测块D的运动矢量的预测量是不合适的。例如,在右图中,根据块A、块B或块C的运动来预测块D的运动可能不合适。
[0077] 根据图16中的符号,从邻近运动矢量推导运动矢量预测量的近似过程如下,图16示出了从帧坐标系到呈现的帧,然后从呈现的帧到编码器帧的映射:
[0078] -P是当前CU的中心点,我们想要为其预测运动矢量
[0079] -V是邻近CU的中心点,我们根据其来预测运动矢量
[0080] -dV是与邻近CU相关联的运动矢量
[0081] 1-计算V’=3d(V),W’=3d(V+dV),dV’=W’-V’
[0082] 2-计算P’=3d(P)和Q’=P’+dV’
[0083] 3-计算Q=3d-1(Q’)
[0084] 4-计算预测的运动矢量dP=Q-P
[0085] 产生对运动矢量预测量的更精确的推导的另一种变型如下:
[0086] -P是当前CU的中心点,我们想要为其预测运动矢量
[0087] -V是CU的中心点,我们根据其来预测运动矢量
[0088] -dW是与邻近CU相关联的运动矢量
[0089] 1-计算P”=3d(P),注意P”是一元化的,并定义垂直于方向P”、穿过P”的平面F,[0090] 2-计算V”=3d(V)
[0091] 3-计算V”在平面F上的投影
[0092] 4-计算W=V+dV
[0093] 5-计算W”=3d(W)
[0094] 6-计算W”在平面F上的投影
[0095] 7-计算运动矢量在平面F上的投影dVp=Wp-Vp
[0096] 8-计算Q”=Qp=Pp+dVp=P”+dVp
[0097] 9-计算Q=3d-1(Q)
[0098] 10-计算最终运动矢量dP=Q-P
[0099] 定义:
[0100] 3d:M(x,y)→M″(X,Y,Z)
[0101]
[0102] 其中
[0103]
[0104]
[0105] 其中w和h是图像宽度和高度,并且x和y是像素坐标。
[0106] 像素坐标在这里是浮点的,即:
[0107]
[0108] 其中, 是整数像素坐标。
[0109] 反函数被定义为:
[0110] 3d-1:M"(X,Y,Z)→M(x,y)
[0111]
[0112] 其中
[0113]
[0114]
[0115] 由所描述的实施例解决的一个问题是适应于ERP映射的运动矢量预测,尽管一般方面也可以应用于其他映射。
[0116] 在HEVC中,或者在实验模型联合探索模型(Joint Exploration Mode,JEM)中,运动矢量预测量可以是两种类型。空域预测来自于要处理的当前块的因果邻域中的邻近块。在(A)TMVP((高级)时域运动矢量预测)或单向帧速率上转换(FRUC/UniDir)中使用的时域预测量来自于已经解码的另一个参考帧的块(见图18中的180)。
[0117] 所描述的实施例处理由运动矢量的重新缩放引起的问题。HEVC标准描述了时域运动缩放,其中预测量被缩放以考虑当前帧和参考帧之间的时间差。在图17中,将时间t=1处的帧视为要处理的当前帧,将时间t=0处的帧视为要解码/编码的当前块B1的参考帧,将时间t=3处的帧视为包含用于块B1的时域运动矢量预测的块B3的帧,并且将时间t=0处的帧视为块B3的运动矢量的参考帧,将运动矢量按因子1/3缩小以考虑帧定时。在ERP转换过程中,需要考虑到这种缩小。
[0118] 对于高级运动矢量预测(AMVP),如果预测块的参考图片与当前块的参考图片不同,则可以以相同的方式重新缩放运动矢量。
[0119] 类似地,在ATMVP(-EXT)的情况下,执行若干次重新缩放,以从空域邻居计算初始“时域运动矢量”,并适配(adapt)共位的子PU运动矢量的缩放比例。
[0120] 所描述的实施例可以发生在例如运动补偿过程期间(图18的编码器中的170和图19的解码器中的375)。更具体地,该过程可以发生在(多个)运动矢量预测阶段期间。
[0121] 图20示出了运动补偿过程的更详细视图。例如,JEM软件具有以下特征。对于运动矢量预测,取决于模式,来自空域邻近块和时域块的一个或多个预测量是可用的。如果未使用MERGE或SKIP模式,则发送运动矢量残差以细化预测量。如果使用FRUC模式或BIO,则初始运动矢量被细化。如果使用FRUC或仿射模式,则每一子块的运动矢量被推导出或被细化。
[0122] 在ATMVP和ATMP-EXT(高级时域运动矢量预测量(ATMVP)的扩展)中,运动矢量预测过程可以被概括为:
[0123] 1-找到具有运动矢量的空域邻居。
[0124] 2-以与对TMVP运动矢量预测量相同的方式重新缩放此预测量。
[0125] 3-使用该时域运动矢量从当前块的运动补偿后的共位的子块中找到时域运动矢量。
[0126] 在ATMVP-EXT中,运动矢量被进一步处理,以与空域运动矢量预测量进行平均。
[0127] 当前实施例改变运动矢量预测过程。所描述的实施例允许改进变换后的ERP运动矢量,从而改进整个视频压缩方案的性能。
[0128] 基于上述应用中描述的推理,可以注意到运动矢量预测量的几何自适应对于较小的矢量更有效。这里提出基于应用于运动矢量预测量的缩放因子来执行缩放和变换过程的转换。
[0129] 在一个实施例中,例如,如果缩放因子小于或等于1,则首先进行重新缩放,然后进行运动矢量变换。如果不是,则首先进行转换,然后进行缩放。
[0130] 在另一个实施例中,缩放总是首先完成。基本原理是,对于随机存取模式中的常规GOP结构,运动矢量更可能被缩小(缩放因子小于1)而不是被放大。可以使用其他缩放因子值。
[0131] 在图21中,ERP运动矢量变换是在所述应用中描述的。请注意,该过程可以应用于AMVP、TMVP、ATMVP、ATMVP-EXT或FRUC/UniDir的运动矢量重新缩放。对于AMVP,预测量和当前块时间索引是相同的。对于ATMVP初始“时间矢量”,预测量和当前块时间索引是相同的。对于ATMVP和ATMVP-EXT,共位的子PU运动矢量预测量也被重新缩放。
[0132] 图22示出了所描述的方面中的方法2200的一个实施例。该方法从开始框2201开始,并且控制进行到框2210,用于计算图片块的运动矢量预测量的缩放因子。控制从框2210前进到框2220,用于基于缩放因子按顺序对运动矢量预测量执行运动矢量重新缩放和运动矢量变换。控制然后从框2220前进到框2230,用于使用经变换和重新缩放的运动矢量预测量对图片块执行运动补偿。控制然后从框2230前进到框2240,用于对运动补偿的视频数据块进行编码。
[0133] 图23示出了所描述的方面下的方法2300的一个实施例。该方法从开始框2301开始,控制进行到框2310,用于计算图片块的运动矢量预测量的缩放因子。控制从框2310前进到框2320,用于基于缩放因子按顺序对运动矢量预测量执行运动矢量重新缩放和运动矢量变换。控制然后从框2320前进到框2330,用于使用经变换和重新缩放的运动矢量预测量对图片块执行运动补偿。控制然后从框2330前进到框2340,用于对运动补偿的视频数据块进行编码。
[0134] 图24示出了用于编码或解码视频数据块的装置2400的一个实施例。该装置包括处理器2410,其具有输入和输出端口,并且与也具有输入和输出端口的存储器2420以信号连接。该装置可以执行任何前述方法实施例或变型。
[0135] 图中所示的各种元件的功能可以使用专用硬件以及能够运行与适当软件相关联的软件的硬件来提供。当由处理器提供时,功能可以由单个专用处理器、单个共享处理器或多个单独的处理器提供,其中一些处理器可以被共享。此外,术语“处理器”或“控制器”的显式使用不应被解释为专门指能够运行软件的硬件,并且可以隐含地包括但不限于数字信号处理器(“DSP”)硬件、用于存储软件的只读存储器(“ROM”)、随机存取存储器(“RAM”)和非易失性存储器。
[0136] 也可以包括传统的和/或定制的其他硬件。类似地,图中所示的任何开关都只是概念性的。它们的功能可以通过程序逻辑的操作、通过专用逻辑、通过程序控制和专用逻辑的交互或者甚至手动来实现,具体技术可以由实施者选择,如从上下文中更具体地理解的。
[0137] 本描述说明了本原理。因此,应当理解,本领域的技术人员将能够设计各种布置,尽管在此没有明确描述或示出,但是这些布置体现了本发明的原理,并且被包括在其范围内。
[0138] 本文所列举的所有示例和条件语言都是为了教学目的,以帮助读者理解本发明的原理和发明人为推进本领域所贡献的概念,并被解释为不限于这些具体列举的示例和条件。
[0139] 此外,本文列举本原理的原理、方面和实施例的所有陈述,以及其具体示例,都意图涵盖其结构和功能等同物。此外,这种等同物意图包括当前已知的等同物以及将来开发的等同物,即无论结构如何,开发的执行相同功能的任何元件。
[0140] 因此,例如,本领域技术人员将会理解,本文呈现的框图表示体现本原理的说明性电路概念图。类似地,将会理解,任何流程图表、流程图、状态转换图、伪代码等表示可以基本上在计算机可读介质中表示并由计算机或处理器执行的各种过程,无论是否明确示出了这样的计算机或处理器。
[0141] 在其权利要求中,表示为用于执行特定功能的装置的任何元件意图涵盖执行该功能的任何方式,包括例如a)执行该功能的电路元件的组合,或者b)任何形式的软件,因此包括固件微码等,与用于运行该软件以执行该功能的适当电路相结合。由这样的权利要求定义的本原理在于这样的事实,即由各种列举的装置提供的功能以权利要求所要求的方式被组合和集合在一起。因此,可以认为能够提供这些功能的任何装置都等同于本文所示的那些装置。
[0142] 说明书中对本原理的“一个实施例”或“实施例”以及其其他变型的引用意味着结合该实施例描述的特定特征、结构、特性等被包括在本原理的至少一个实施例中。因此,在整个说明书的不同地方出现的短语“在一个实施例中”或“在实施例中”以及任何其他变型不一定都指同一实施例。
[0143] 总之,提出了一种用于适应于全向视频的适应运动矢量预测的方法和装置。一个实施例改进了对时域运动矢量预测量或重新缩放的运动矢量预测量的处理。另一个实施例适用于空域运动矢量预测量,另一个实施例适用于时域或空域运动矢量预测量的组合。该方法分析从预测量的时间索引、参考图像的预测量的时间索引、参考图像的当前块的时间索引和当前块的时间索引中的至少一个推导出的缩放因子。例如,如果缩放因子大于1,则在运动矢量重新缩放之前执行运动矢量变换。然而,如果缩放因子小于或等于1,则在运动矢量变换之前执行运动矢量重新缩放。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈