一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于针对360图像和视频编码的帧内预测的技术的制作方法

2022-02-22 02:27:38 来源:中国专利 TAG:

用于针对360图像和视频编码的帧内预测的技术


背景技术:
和相关申请的交叉引用
1.技术领域
1.本技术要求于2019年3月6日提交的美国申请第16/293,920号的优先权,该美国申请的全部公开内容通过引用并入本文。
2.与实施方式一致的方法和设备涉及图像和视频编码和解码,并且更具体地,涉及在其中平面视频编解码器的输入是从诸如360视频的非平面内容人为创建的环境中,基于内容的(空间)几何形状的关系的对一个或多个帧内预测模式语法元素的有效编码。2.相关技术的描述
3.可以使用具有运动补偿的帧间图片预测的视频编码和解码已经公知数十年。未压缩的数字视频可以包括一系列图片,每个图片的空间维度为例如1920
×
1080亮度样本以及相关联的色度样本。所述一系列图片可以具有例如每秒60个图片或60hz的固定的或可变的图片速率(也被非正式地称为帧速率)。未压缩的视频具有显著的比特率要求。例如,每样本8比特的1080p60 4:2:0视频(60hz帧速率下1920
×
1080亮度样本分辨率)需要接近1.5gbit/s的带宽。一小时的这样的视频需要大于600千兆字节(gbyte)的存储空间。
4.视频编码和解码的一个目的可以是通过压缩来减少输入视频信号的冗余。压缩可以帮助降低上面提及的带宽需求或存储空间需求,在一些情况下可以降低两个数量级或更多。可以采用无损压缩和有损压缩两者以及其组合。无损压缩是指可以根据经压缩的原始信号重建原始信号的精确副本的技术。当使用有损压缩时,重建的信号可能与原始信号不同,但是原始信号与重建的信号之间的失真足够小,以使重建的信号可用于预期应用。在视频的情况下,广泛采用有损压缩。容忍的失真量取决于应用,例如,某些消费者流媒体应用的用户可能比电视分配应用的用户容忍更高的失真。能够实现的压缩比可以反映出:更高的可允许/可容忍的失真能够产生更高的压缩比。
5.视频编码器和解码器可以利用包括例如运动补偿、变换、量化和熵编码若干大类中的技术,其中的一些技术将在下面介绍。
6.根据上面的技术的视频编码历史上通常假设从单个摄像装置捕获输入内容。引起关注的其他内容被称为立体内容:来自在空间上对准使得捕获轴近似平行的摄像装置的两个摄像装置信号当在合适的呈现装置中组合时可以提供在一定条件下观看时的三维图片的错觉。由于摄像装置信号高度相关,因此设计了某些视频编码技术来将两个信号相关联,以获得与对两个信号单独编码时可能达到的编码效率相比较更高的编码效率。这样的技术中的一种技术被称为多视图编码,如在h.264和h.265两者中以配置文件的形式可获得的。在一些情况下,这种多视图编码可以扩展至多于两个摄像装置信号的组合编码,同时仍然利用多个摄像装置信号的相似性(如果有的话)。然而,上述意义上的多视图编码仍然对平面摄像装置图像进行操作。
7.近来,潜在地包括在不平行的捕获角度的许多摄像装置的输入装置已经变得可用。就尽可能基于物理布局的程度而言,这些输入装置允许捕获球形体积的空间。这种摄像
装置可以出售,并且在本文中被称为“360摄像装置”,因为它们可以捕获所有维度的360度视野。静止图像360摄像装置可以通过使用平移-倾斜摄像装置云台来进行操作,该平移-倾斜摄像装置云台安装有具有可以捕获相对广角的镜头的单个摄像装置。通过在拍摄前将平移-倾斜云台的两个轴旋转至一定位置,摄像装置可以以使各个静止图像在一定程度上叠加的方式捕获一系列静止图像。使用与用于控制平移-倾斜摄像装置云台的控制信息一致的几何信息,可以对这些图像进行几何校正并且将这些图像拼接在一起以形成平面图像,该平面图像例如出于压缩和传输的目的可以被输入至传统的图像处理技术中。地理校正和拼接处理在本文中被称为“投影”。呈现360图像可能涉及选择与360捕获场景有关的视点或观看方向、反向几何校正、去拼接等,以创建适合观看的平面图像。反向几何校正和去拼接在本文中被称为“去投影”或“逆投影”。理想情况下,该图像中描绘的场景将与沿观看方向捕获的或从所选视点捕获的平面图像相同。
8.上面的构思可以扩展至视频的捕获,因为视频可以由在足够短的时间间隔内捕获和呈现的一系列静止图像来表示。可商业获得的支持360视频的摄像装置有两种基本变体。第一种变体使用快速旋转的摄像装置云台,其中一个或更多个摄像装置和适当透镜被布置成使得在一次旋转的过程中可以拍摄360度场景(在一个维度上)。一个或更多个摄像装置和透镜可以被布置成使得另一维度被覆盖。为了获得例如每秒60帧的帧率,摄像装置云台必须以例如每分钟最小3600转数旋转。为了避免摄像装置模糊,摄像装置的捕获时间可能必须选择得非常短,这可能限制摄像装置传感器暴露的光子数目,从而导致噪声图像、对场景的高的照明的需求、或上述两者。其他实现方式可以通过使用许多摄像装置和适当的透镜来省略机械上关键的旋转头,所述摄像装置和透镜被布置成使得所有摄像装置和透镜的交叠视图捕获整个360度球体,从而以需要更多的摄像装置和透镜为附加代价来避免上述上面提及的问题。这两个构思的混合形式也是可能的。由于电光部件相对于机械部件的成本降低,因此似乎有从机械360摄像装置朝向多透镜摄像装置的趋势。此外,基于对作为物理装置的360摄像装置可能需要安装在某处并且安装硬件可能限制观看者的兴趣的理解,一些设计省略了以某些通常相对窄的捕获角度的捕获。如上面的静态摄像装置一样,许多支持360的摄像装置将图像(在相同的瞬时间捕获,或者在旋转头的情况下几乎在相同的瞬时间捕获)一起进行几何投影,以形成代表摄像装置的360度视图的一系列的投影图像。
9.几个世纪以来,将表示球形捕获场景的图像投影至平面表面上是已知且得到充分研究的问题。例如,一种公知的投影是1569年引入的墨卡托(mercator)投影,其是圆柱投影并且仍在许多世界地图中使用。从那时起,已经设计了许多其他投影,包括例如等距柱状(equirectangular)投影、圆锥投影、埃托夫(aitoff)投影、哈默(hammer)投影、可利(plate carree)投影等。参照图1,示出了可以适用于将球形捕获场景映射至平面表面上的一些投影(许多投影中的一些),并且在360度视频压缩的上下文中进行研究。示出的是地球仪(101),其中,到地球仪的平面地图有三个投影。第一投影被称为等距柱状投影(102)。第二投影是立方体投影,其中,地球仪的表面被投影至六个正方形、平坦的正方形表面上,其代表每个维度上90度位移下的六个方向。六个正方形可以布置在单个平面表面上,以产生立方体贴图(103)。此处呈现的立方体的表面在平面表面中的布置是若干个选项中之一。最后,二十面体投影将地球仪表面投影至二十面体(104)(由20个三角形平面组成的三维对称几何图形)的表面上,并且这20个三角形表面可以布置在单个平面表面上(105)。同样,针对
单个平面表面(105)上的20个三角形表面的空间分配存在许多合理的选项。
10.这些和其他合适的投影格式试图将球形表面映射至平面表面。平面表示可能不一定是球体的几何特征的数学正确表示,而是具有一定误差的近似值。其中,该误差在空间上的位置以及其可以变成多大取决于投影的性质。例如,公知的是等距投影显著夸大了远离赤道的纬度处的经度距离。例如,在等距投影的世界地图中,格陵兰岛被描绘成比澳大利亚的大陆大,但实际上格陵兰岛仅具有约1/3的表面积。


技术实现要素:

11.根据实施方式,提供了一种将已编码视频序列中的编码图像或编码图片解码为表示非平面表面在平面表面上的投影的图片的方法,该方法由采用帧内预测的解码器执行。该方法包括:针对图片的块获得指示帧内预测方向的帧内预测模式;基于投影和所获得的帧内预测模式,确定代表非平面表面上的直线的至少一个非直曲线;以及针对该块,根据沿所确定的至少一个非直曲线的至少一个边界样本创建沿所确定的至少一个非直曲线的预测样本。
12.根据实施方式,提供了一种将已编码视频序列中的编码图像或编码图片解码为表示非平面表面在平面表面上的投影的图片的方法,该方法由采用帧内预测的解码器执行。该方法包括:对图片的块执行反向投影,该块具有第一纵横比;基于投影的至少一个特性和图片中的块的位置,识别与对其执行反向投影的块在非平面表面上的表面区域对应的矩形;以及基于识别的矩形的第二纵横比,执行向可用于根据第一纵横比和视频压缩标准对块进行解码的至少一个帧内预测方向添加和从所述至少一个帧内预测方向中去除。
13.根据实施方式,提供了一种用于将已编码视频序列中的编码图像或编码图片解码为表示非平面表面在平面表面上的投影的图片的设备,该设备是采用帧内预测的解码器。该设备包括:至少一个存储器,其被配置成存储计算机程序代码;以及至少一个处理器,其被配置成访问至少一个存储器并且根据所述计算机程序代码进行操作。计算机程序代码包括:获取代码,其被配置成使至少一个处理器针对图片的块获得指示帧内预测方向的帧内预测模式;确定代码,其被配置成使至少一个处理器基于投影和所获得的帧内预测模式确定代表非平面表面上的直线的至少一个非直曲线;以及创建代码,其被配置成使至少一个处理器针对块根据沿所确定的至少一个非直曲线的至少一个边界样本创建沿所确定的至少一个非直曲线的预测样本。
附图说明
14.图1是根据现有技术的若干个投影的示意图。
15.图2是根据实施方式的通信系统的简化框图的示意图。
16.图3是根据实施方式的视频编码器和视频解码器在流式传输系统中的放置方式的简化框图的示意图。
17.图4是根据实施方式的360通信/流式传输系统的简化框图的示意图。
18.图5是根据实施方式的视频解码器的简化框图的示意图。
19.图6是根据实施方式的视频编码器的简化框图的示意图。
20.图7是投影的示意图。
21.图8是具有tissod指标线的地球表面的等距柱状投影的示意图。
22.图9是地球表面的kravrayski-vii投影的示意图。
23.图10是根据实施方式的投影的细节的示意图。
24.图11是根据h.265的平面视频编解码器的帧内预测的示意图。
25.图12是根据实施方式的投影和逆投影的示意图。
26.图13是根据实施方式的基于投影的弯曲帧内预测的示意图。
27.图14是根据实施方式的基于投影的帧内预测方向谱修改的示意图。
28.图15是示出根据实施方式的将已编码视频序列中的编码图像或编码图片解码成表示非平面表面在平面表面上的投影的图片的方法的流程图。
29.图16是示出根据另一实施方式的将已编码视频序列中的编码图像或编码图片解码成表示非平面表面在平面表面上的投影的图片的方法的流程图。
30.图17是根据实施方式的用于将已编码视频序列中的编码图像或编码图片解码成表示非平面表面在平面表面上的投影的图片的设备的简化框图。
31.图18是根据另一实施方式的用于将已编码视频序列中的编码图像或编码图片解码为表示非平面表面在平面表面上的投影的图片的设备的简化框图。
32.图19是根据实施方式的计算机系统的示意图。
具体实施方式
33.360图像或视频压缩系统可以通过首先使用投影例如等距柱状投影、立方体投影等来操作,以将360图像或视频序列的图像映射为平面图片或平面图片序列,并且该平面图片或其序列可能经受压缩。用于平面图像和视频的压缩技术是公知的,但是针对输入材料进行了优化,在输入材料中,每个样本的相关性大致相似并且不存在已知的几何失真,或者至少不需要考虑几何失真。然而,通过投影步骤引入的几何不准确和误差会呈现下述平面图像:该平面图像使得平面表示的某些区域和样本与其他区域和样本相比相关性较低,原因在于它们表示从其投影的球体上的相对较小的表面区域。
34.此外,在某些投影中,样本在投影中的几何关系可能与相应样本在球体上的几何关系不同。例如,在球体的表面上形成近似直线(更具体地,大循环段)的样本可能投影之后由在平面图片中形成曲线的样本表示。为了在测量表示球体的表面(而不是平面投影)的性能时获得最高的速率失真性能,可能需要在平面压缩技术中进行某些优化,这是因为平面压缩技术在未修改的形式下是次优的。当平面图像或视频编码中的编码工具——包括例如帧内预测编码工具——在假设某些样本的关系为直线的情况下操作最佳时,这些编码工具在应用于如上所述的投影时可能产生次优结果。为了最佳性能,可能需要对于由投影引入的几何失真的性质来调整这样的编码工具。
35.图2是根据实施方式的通信系统(200)的简化框图的示意图。通信系统(200)可以包括经由网络(250)互连的至少两个终端(210-220)。对于单向数据传输,第一终端(210)可以对本地位置处的视频数据进行编码,以经由网络(250)传输至另一终端(220)。第二终端(220)可以从网络(250)接收另一终端的已编码视频数据,对已编码数据进行解码,并且显示恢复的视频数据。单向数据传输可能在媒体服务应用等中是常见的。
36.图2示出了第二对终端(230、240),其被提供以支持例如在视频会议期间可能发生
的已编码视频的双向传输。对于数据的双向传输,每个终端(230、240)可以对在本地位置处捕获的视频数据进行编码,以经由网络(250)传输至另一终端。每个终端(230、240)还可以接收由另一终端传输的已编码视频数据,可以对已编码数据进行解码并且可以在本地显示装置处显示恢复的视频数据。
37.在图2中,终端(210-240)可以被示为服务器、个人计算机和智能电话,但是本公开内容的原理可以不限于此。本公开内容的实施方式适用于膝上型计算机、平板计算机、媒体播放器和/或专用视频会议设备。网络(250)表示在终端(210-240)之间传送已编码视频数据的任何数目的网络,包括例如有线和/或无线通信网络。通信网络(250)可以在电路交换信道和/或分组交换信道中交换数据。代表性网络包括电信网络、局域网、广域网和/或因特网。出于本论述的目的,除非在下文中有所说明,否则网络(250)的架构和拓扑对于本公开内容的操作来说可以是无关紧要的。
38.图3是根据实施方式的视频编码器(303)和视频解码器(310)在流式传输系统(300)中的放置方式的简化框图的示意图。所公开主题可以同等地适用于其它支持视频的应用,包括例如视频会议、数字tv、在包括cd、dvd、存储棒等的数字介质上存储压缩视频等等。
39.流式传输系统可以包括捕获子系统(313),该捕获子系统可以包括视频源(301)例如数字摄像装置,该视频源创建例如未压缩的视频样本流(302)。该样本流(302)被描绘为粗线以强调与已编码的视频比特流相比的高数据量,该样本流(302)可以由耦接至摄像装置(301)的编码器(303)处理。编码器(303)可以包括硬件、软件或其组合以实现或实施如下文更详细地描述的所公开主题的各方面。已编码视频比特流(304)被描绘为细线以强调与样本流相比的较低数据量,已编码视频比特流(304)可以存储在流式传输服务器(305)上以供将来使用。一个或更多个流式传输客户端(306、308)可以访问流式传输服务器(305)以检索已编码视频比特流(304)的副本(307、309)。客户端(306)可以包括视频解码器(310),该视频解码器对已编码视频比特流的传入副本(307)进行解码,并且创建可以在显示器(312)或其他呈现装置(未描绘)上呈现的传出视频样本流(311)。在一些流式传输系统中,可以根据某些视频编码标准/压缩标准来对视频比特流(304、307、309)进行编码。这些标准的示例包括itu-t h.265建议书。正在开发的是被非正式地称为通用视频编码或vvc的视频编码标准。所公开的主题可以用于vvc的上下文中。
40.通信系统(200)或图3的流式传输系统可以被扩展成实现360视频的使用。
41.图4是根据实施方式的360通信/流式传输系统的简化框图的示意图。参照图4,这样的360系统的布局可以如下。360视频捕获单元(401)可以包括支持360的摄像装置(402)和将传入360图像(403)投影为平面图像(405)的投影仪(404)。360图像(403)和平面图像(405)被描绘为粗体箭头,以强调与压缩信号诸如已编码视频序列(407)相比较时的高的数据速率。平面图像可以由平面编码器(406)转换为一个或更多个已编码视频序列(407),已编码视频序列(407)还可以包括例如与由投影仪(404)生成或从投影仪(404)获得的投影有关的边元信息。已编码视频序列(407)可以通过网络(未描绘)直接转发至解码器/呈现装置,或者可以存储在流式传输服务器(408)上。流式传输服务器(408)可以将已编码视频序列直接流式传输至支持360视频的端点(409),该端点(409)可以包括(平面)解码器(410)和去投影仪(411)。去投影仪(411)可以例如使由投影仪(404)引入的投影反转,使得形成适合
于例如通过诸如虚拟现实护目镜(未描绘)、支持伪3d的屏幕(412)等装置显示的一个或更多个图像序列。投影仪可以由允许用户选择视角、视点等的用户界面(未描绘)来控制。该数据流可能需要如由投影仪(404)和编码器(406)投影和压缩的完整360视频呈现,以流式传输至支持360的端点(409)。
42.作为替选或除此之外,在一些情况下,接收端点可能不具有连接性或计算资源以执行重建完整的360度场景所需的所有数据的解码或逆投影。在这种情况下,传统的(不支持360)端点(413)可以向位于网络中的360处理器(415)发送从端点(413)的用户界面获得的与视点有关的元信息(414)。360处理器可以基于获得的元信息执行支持360的端点的任务,并且然后,360处理器在传统(平面优化的)编码器中对呈现的平面视频(416)进行重新编码,以供传统端点(413)消费。在这样的场景下,可以将对360场景的计算繁重的解码和逆投影卸载至基于云的资源,如360处理器(415)。如所描述的,360处理器可以充当代码转换器,原因在于360处理器具有解压缩机制和压缩机制两者。
43.在一些情况下,360数据中的一些在正确形成和适当标记时可以被选择性转发单元(selective forwarding unit,sfu)去除。例如,如果投影格式为立方体投影,那么针对任何给定的视点,六个平面方形表示中的至少三个且最多五个平面方形表示不需要呈现(假设为非透明源球体)。假设比特流例如通过切片、图块、图层、视图等的使用而被正确形成,例如因为其已经接收到元数据诸如360处理器(415)正在使用的元数据而了解视点的正确配置的sfu可以省略对不必要的360数据的转发。这样的sfu可以被视为轻量级代码转换器,其不包括完整代码转换器可能需要的信号处理技术中的一些信号处理技术。
44.图5是根据实施方式的视频解码器(310)的简化框图的示意图。
45.接收器(510)可以接收要由解码器(310)解码的一个或更多个编解码器视频序列;在同一实施方式或另一实施方式中,一次接收一个已编码视频序列,并且每个已编码视频序列的解码独立于其他已编码视频序列。可以从信道(512)接收已编码视频序列,所述信道可以是至存储已编码视频数据的存储装置的硬件/软件链路。接收器(510)可以接收已编码视频数据以及其它数据,例如,可以转发到它们各自的使用实体(未描绘)的已编码音频数据和/或辅助数据流。接收器(510)可以将已编码视频序列与其它数据分开。为了应对网络抖动,可以在接收器(510)与熵解码器/解析器(520)(此后称为“解析器”)之间耦接缓冲存储器(515)。当接收器(510)从具有足够带宽和可控性的存储/转发装置或从等时同步网络接收数据时,可能不需要缓冲器(515),或者缓冲器可以是小的。为了尽可能地使用诸如因特网的分组网络,可能需要缓冲器(515),所述缓冲器可以相对较大并且可以有利地具有自适应大小。
46.视频解码器(310)可以包括解析器(520),以根据已熵编码的视频序列重建符号(521)。这些符号的类别包括用于管理解码器(310)的操作的信息,以及潜在地包括用于控制诸如显示器(312)的呈现装置的信息,该呈现装置不是解码器的组成部分但是可以耦接至解码器,如图3所示。用于呈现装置的控制信息可以呈辅助增强信息(supplemental enhancement information,sei消息)或视频可用性信息(video usability information,vui)参数集片段(未描绘)的形式。解析器(520)可以对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编码可以根据视频编码技术或标准进行,并且可以遵循本领域技术人员已知的各种原理,包括可变长度编码、霍夫曼编码(huffman coding)、具有或不具
有上下文灵敏度的算术编码等。解析器(520)可以基于对应于群组的至少一个参数,从已编码视频序列中提取用于视频解码器中的像素的子群中的任意一个子群或任何组合的子群参数集。子群可以包括图片群组(group of picture,gop)、图片、图块、切片、宏块、编码单元(coding unit,cu)、块、变换单元(transform unit,tu)、预测单元(prediction unit,pu)等。熵解码器/解析器还可以从已编码视频序列中提取信息,诸如变换系数、量化器参数(quantizer parameter,qp)值、运动矢量等。
47.解析器(520)可以对从缓冲器(515)接收到的视频序列执行熵解码操作/解析操作,从而创建符号(521)。
48.取决于已编码视频图片或一部分已编码视频图片(例如:帧间图片和帧内图片、帧间块和帧内块)的类型以及其它因素,符号(521)的重建可能涉及多个不同单元。涉及哪些单元以及涉及方式可以通过由解析器(520)从已编码视频序列中解析的子群控制信息控制。为了简洁起见,未描绘解析器(520)与下文的多个单元之间的这样的子群控制信息流。
49.除了已经提及的功能块之外,解码器(310)可以在构思上细分为如下所述的多个功能单元。在商业约束下操作的实际实现方式中,这些单元中的许多单元彼此紧密交互并且可以至少部分地彼此集成。然而,出于描述所公开主题的目的,构思上细分成下文的功能单元是适当的。
50.第一单元是缩放器/逆变换单元(551)。缩放器/逆变换单元(551)从解析器(520)接收作为符号(521)的量化变换系数以及控制信息,包括使用哪种变换方式、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元(551)可以输出包括可以输入到聚合器(555)中的样本值的块。
51.在一些情况下,缩放器/逆变换(551)的输出样本可以属于帧内编码块;即:不使用来自先前重建的图片的预测性信息,但可以使用来自当前图片的先前重建部分的预测性信息的块。这样的预测性信息可以由帧内图片预测单元(552)提供。在一些情况下,帧内图片预测单元(552)使用从当前(部分重建的)图片(556)中提取的周围已重建信息来生成大小和形状与重建中的块相同的块。在一些情况下,聚合器(555)以每个样本为基础,将帧内预测单元(552)生成的预测信息添加至由缩放器/逆变换单元(551)提供的输出样本信息。
52.在其它情况下,缩放器/逆变换单元(551)的输出样本可以属于帧间编码和潜在运动补偿的块。在这样的情况下,运动补偿预测单元(553)可以访问参考图片存储器(557)以提取用于预测的样本。在根据属于块的符号(521)对提取的样本进行运动补偿之后,这些样本可以由聚合器(555)添加至缩放器/逆变换单元的输出(在这种情况下被称作残差样本或残差信号),从而生成输出样本信息。运动补偿单元从其提取预测样本的参考图片存储器内的地址可以由运动矢量控制,运动矢量能够以符号(521)的形式用于运动补偿单元,符号(521)可以具有例如x分量、y分量和参考图片分量。运动补偿还可以包括在使用子样本精确运动矢量时从参考图片存储器中提取的样本值的内插、运动矢量预测机制等。
53.聚合器(555)的输出样本可以在环路滤波器单元(554)中经受各种环路滤波技术。视频压缩技术可以包括环路内滤波器技术,环路内滤波器技术受控于包括在已编码视频比特流中的参数,并且所述参数作为来自解析器(520)的符号(521)可用于环路滤波器单元(554),然而视频压缩技术还可以响应于在对已编码图片或已编码视频序列的先前(按解码次序)部分进行解码期间获得的元信息,以及响应于先前重建且经环路滤波的样本值。
54.环路滤波器单元(554)的输出可以是样本流,所述样本流可以输出至呈现装置(312)以及存储在参考图片存储器(556)中,以用于后续的帧间图片预测。
55.一旦完全重建,某些已编码图片就可以用作参考图片以用于将来预测。一旦已编码图片被完全重建,并且该已编码图片(通过例如解析器(520))被识别为参考图片,则当前参考图片(556)可以变为参考图片缓冲器(557)的一部分,并且可以在开始重建后续的已编码图片之前重新分配新的当前图片存储器。
56.视频解码器(310)可以根据可以记录在诸如itu-t h.265建议书的标准中的预定视频压缩技术执行解码操作。在已编码视频序列遵循如在视频压缩技术文档或标准中且具体地在其配置文件中指定的视频压缩技术或标准的语法的意义上,已编码视频序列可以符合由所使用的视频压缩技术或标准指定的语法。对于合规性,可能还要求已编码视频序列的复杂度处于由视频压缩技术或标准的层级所限定的范围内。在一些情况下,层级限制最大图片大小、最大帧率、最大重建采样率(以例如每秒兆个样本为单位进行测量)、最大参考图片大小等。在一些情况下,由层级设置的限制可以通过假想参考解码器(hypothetical reference decoder,hrd)规范和在已编码视频序列中用信号通知的针对hrd缓冲器管理的元数据来进一步限定。
57.在实施方式中,接收器(510)可以连同已编码视频一起接收附加(冗余)数据。所述附加数据可以被包括为已编码视频序列的一部分。所述附加数据可以由视频解码器(310)用以对数据进行正确解码和/或较准确地重建原始视频数据。附加数据可以呈例如时间、空间或snr(signal noise ratio,snr)增强层、冗余切片、冗余图片、前向纠错码等形式。
58.图6是根据实施方式的视频编码器(303)的简化框图的示意图。
59.编码器(303)可以从视频源(301)(其不是编码器的一部分)接收视频样本,该视频源可以捕获要由编码器(303)进行编码的视频图像。
60.视频源(301)可以提供要由编码器(303)编码的呈数字视频样本流形式的源视频序列,所述数字视频样本流可以具有任何合适比特深度(例如:8比特、10比特、12比特
……
)、任何色彩空间(例如bt.601y crcb、rgb
……
)和任何合适取样结构(例如y crcb 4:2:0、y crcb 4:4:4)。在媒体服务系统中,视频源(301)可以是存储先前已准备的视频的存储装置。在视频会议系统中,视频源(303)可以是捕获本地图像信息作为视频序列的摄像装置。可以将视频数据提供为多个单独的图片,当按顺序观看时,这些图片被赋予运动。图片自身可以构建为空间像素阵列,其中取决于所用的采样结构、色彩空间等,每个像素可以包括一个或更多个样本。本领域技术人员可以很容易理解像素与样本之间的关系。下面侧重于描述样本。
61.根据实施方式,编码器(303)可以实时或在由应用所要求的任何其它时间约束下,将源视频序列的图片编码且压缩成已编码视频序列(643)。执行适当的编码速度是控制器(650)的一个功能。控制器控制如下所述的其他功能单元并且在功能上耦接至这些单元。为了简洁起见,未描绘耦接。由控制器设置的参数可以包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值等)、图片大小、图片群组(gop)布局、最大运动矢量搜索范围等。本领域技术人员可以容易地识别控制器(650)的其他功能,因为这些功能可能涉及针对特定系统设计而优化的视频编码器(303)。
62.一些视频编码器以本领域技术人员所容易了解的“编码环路”进行操作。作为过于
简化的描述,编码环路可以包括:编码器(630)(此后称为“源编码器”)的编码部分(负责基于要编码的输入图片和参考图片创建符号);以及嵌入在编码器(303)中的(本地)解码器(633),解码器(633)重建符号以创建(远程)解码器也将创建的样本数据(因为在所公开的主题中考虑的视频压缩技术中,符号与已编码视频比特流之间的任何压缩是无损的)。该重建的样本流被输入至参考图片存储器(634)。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,因此参考图片缓冲器内容在本地编码器与远程编码器之间也是比特精确的。换句话说,编码器的预测部分“看到”的参考图片样本与解码器将在解码期间使用预测时所“看到”的样本值完全相同。这种参考图片同步性基本原理(以及在例如由于信道误差而无法维持同步性的情况下产生的漂移)对于本领域技术人员来说是公知的。
[0063]“本地”解码器(633)的操作可以与已经在上面结合图5详细描述的“远程”解码器(310)的操作相同。然而,还简要地参照图5,当符号可用并且熵编码器(645)和解析器(520)能够无损地将符号编码/解码为已编码视频序列时,可以不完全在本地解码器(633)中实现包括信道(512)、接收器(510)、缓冲器(515)和解析器(520)的解码器(310)的熵解码部分。
[0064]
此时可以观察到,除了存在于解码器中的解析/熵解码之外的任何解码器技术,也必定需要以基本上相同的功能形式存在于对应的编码器中。出于该原因,所公开的主题侧重于解码器操作。可以简化编码器技术的描述,因为编码器技术与全面地描述的解码器技术互逆。仅在某些区域中可能需要更详细的描述,并且在下文提供。
[0065]
作为源编码器(630)的操作的一部分,源编码器(630)可以执行运动补偿预测性编码,运动补偿预测性编码参考来自视频序列中被指定为“参考帧”的一个或更多个先前编码的帧对输入帧进行预测性编码。以这样的方式,编码引擎(632)对输入帧的像素块与可以被选择为输入帧的预测参考的参考帧的像素块之间的差进行编码。
[0066]
本地视频解码器(633)可以基于由源编码器(630)创建的符号对可以被指定为参考帧的帧的已编码视频数据进行解码。编码引擎(632)的操作可以有利地为有损过程。当已编码视频数据可以在视频解码器(图6中未示出)处被解码时,重建的视频序列通常可以是带有一些误差的源视频序列的副本。本地视频解码器(633)复制可以由视频解码器对参考帧执行的解码处理,并且可以使重建的参考帧存储在参考图片缓存(634)中。以这样的方式,编码器(303)可以在本地存储重建的参考帧的副本,这些副本与将由远端视频解码器获得的重建的参考帧具有共同内容(不存在传输误差)。
[0067]
预测器(635)可以针对编码引擎(632)执行预测搜索。即,针对要编码的新帧,预测器(635)可以在参考图片存储器(634)中搜索可以作为针对所述新图片的适当预测参考的样本数据(作为候选参考像素块)或某些元数据,诸如参考图片运动矢量、块形状等。预测器(635)可以基于样本块逐像素块操作,以找到合适的预测参考。在一些情况下,如由预测器(635)获得的搜索结果所确定的,输入图片可以具有从参考图片存储器(634)中存储的多个参考图片取得的预测参考。
[0068]
控制器(650)可以管理视频编码器(630)的编码操作,包括例如设置用于对视频数据进行编码的参数和子群参数。
[0069]
可以在熵编码器(645)中对所有上述功能单元的输出进行熵编码。熵编码器通过根据本领域技术人员已知的技术(例如霍夫曼编码、可变长度编码、算术编码等)对由各种功能单元生成的符号进行无损压缩来将这些符号转换为已编码视频序列。
[0070]
传输器(640)可以缓冲由熵编码器(645)创建的已编码视频序列,从而为经由通信信道(660)进行传输做准备,该通信信道可以是至可以存储已编码视频数据的存储装置的硬件/软件链路。传输器(640)可以将来自视频编码器(630)的已编码视频数据与要传输的其它数据合并,所述其它数据例如是已编码音频数据和/或辅助数据流(未示出来源)。
[0071]
控制器(650)可以管理编码器(303)的操作。在编码期间,控制器(650)可以为每个已编码图片分配某一已编码图片类型,这可能影响可以应用于相应的图片的编码技术。例如,通常可以将图片分配为以下帧类型中之一:
[0072]
帧内图片(i图片)可以是可以在不将序列中的任何其它帧用作预测源的情况下进行编码和解码的图片。一些视频编解码器允许不同类型的帧内图片,包括例如独立解码器刷新(independent decoder refresh)图片。本领域技术人员了解i图片的变体及其相应的应用和特征。
[0073]
预测性图片(p图片)可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。
[0074]
双向预测性图片(b图片)可以是可以使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图片可以使用多于两个参考图片和相关联元数据以用于重建单个块。
[0075]
源图片通常可以在空间上细分为多个样本块(例如,分别具有4
×
4、8
×
8、4
×
8或16
×
16个样本的块)并且被逐块地编码。这些块可以参考其它(已编码)块进行预测性编码,所述其它块是根据应用于块的相应图片的编码分配来确定的。例如,可以对i图片的块进行非预测性编码,或可以参考同一图片的已经编码的块对所述块进行预测性编码(空间预测或帧内预测)。可以参考一个先前编码的参考图片经由空间预测或经由时间预测对p图片的像素块进行非预测性编码。可以参考一个或两个先前编码的参考图片经由空间预测或经由时间预测对b图片的块进行非预测性编码。
[0076]
视频编码器(303)可以根据诸如itu-t h.265建议书的预定视频编码技术或标准执行编码操作。在其操作中,视频编码器(303)可以执行各种压缩操作,包括利用输入视频序列中的时间冗余和空间冗余的预测性编码操作。因此,已编码视频数据可以符合由所用视频编码技术或标准指定的语法。
[0077]
在实施方式中,传输器(640)可以连同已编码视频一起传输附加数据。视频编码器(630)可以包括这样的数据作为已编码视频序列的一部分。附加数据可以包括时间/空间/snr增强层、诸如冗余图片和切片的其他形式的冗余数据、辅助增强信息(sei)消息、视觉可用性信息(vui)参数集片段等。
[0078]
当对来自平面视频源的样本进行编码或解码时,所有样本可以表示与捕获轴垂直且距离足够的投影平面的大致相同的角间隔,如从摄像装置的视点测量到的。
[0079]
图7是投影的示意图。参照图7的部分(a),作为示例,考虑将竖直维度的投影表面(701)划分为样本(702、703、704),所述样本由摄像装置(705)捕获。样本大小不是按照比例描绘的;在实际系统中,摄像装置的竖直分辨率可以为720、1080或更多个样本,而不是仅三个样本。可以观察到,代表样本的角间隔(706、708)大致相同。假设场景是相当平坦的并且大致垂直于捕获轴(709),样本(702、703、704)也具有大致相同的大小。这种关系由于摄像
的出现而是已知的,并且用于摄像装置的透镜可以被设计成创建尽可能接近的这种关系,即使在可能需要光学校正的情况下,例如相对于被捕获的场景的大小,摄像装置与场景的距离接近。
[0080]
参照图7的部分(b),现在考虑使用等距柱状投影的简化表示的球体(710)的场景(仅描绘球体的四分之一)的捕获,其中,仅描绘了一个维度。假设捕获轴(711)垂直于球体的赤道(未描绘)。示出了具有相同角宽度(未描绘)的三个样本(713、714、715)。直观地,看起来明显的是接近赤道的样本代表与负责描绘极区的样本相比较小得多的球体表面区域。例如,考虑代表球体的最北纬度的样本715。通过分隔器(716、717)示出的其相关表面区域比与样本713相关的表面区域大得多。
[0081]
虽然上面的示例可能看起来是极端的,但存在一些常用的投影,针对实际应用,所述投影描绘了与在球体上测量的表面区域所保证的极区相比较大很多倍的极区。参见上面“格陵兰岛/澳大利亚”的示例。
[0082]
图8是具有tissod指标线的地球的表面的等距柱状投影(801)的示意图。示出了公知的tissot指标线的示例。叠加在地图上的每个椭圆(802、803、804)代表地球仪上的圆形表面区域。假设投影由具有相同样本大小的样本地图表示。显然,在远离赤道的区域例如由椭圆(804)表示的区域中,投影中更大的表面区域—并且因此更多的样本—代表地球仪表面上的相同区域,然后例如赤道上的椭圆(802)。
[0083]
图9是地球表面的同样覆盖有tissod指标线的kavrayskiy-vii投影(901)的示意图。图9还包括一些经纬度“线”;更具体地,分别是恒定的纬度线或经度线。在地球仪的表面上,所述线中的每个线与其他线以直角相交,并且假设每个交点之间的表面距离是相同的。然而,在投影中,特别是在某些极区以及远离子午线的地方,“方形”表面区域由非方形区域表示。考虑覆盖中非北部的表面区域(902)。由于接近赤道和子午线两者,表面区域(902)由方形近似(虽然不完全)表示。作为极端反例,考虑覆盖阿拉斯加大部分的表面区域(903)。该(地球仪上近似方形)表面区域的形状严重扭曲。这在图10中示出。
[0084]
图10是根据实施方式的投影的细节的示意图。参照图10的部分(a)和部分(b),示出了图9的投影的局部(excerpt),其中,仅描绘了西北半球的一小部分(903);在(903)中,有样本块(905)。表面区域(1002)的形状可以被反向投影(1003)为方形表面(1004),方形表面(1004)是地球仪上的表面区域的接近近似。在图10的部分(c)和部分(d)中,对相同的表面区域(903)和块(905)如上所示进行投影。注意,非方形、扭曲的几何形状的(在投影方形上)块(1005)。还应注意,块(905)到扭曲块(1005)的反向投影是将区域(903)简化为四边形的简化。如果考虑了投影(1006、1007)中表面区域的边缘的弯曲性质,则块(1005)将更加扭曲。
[0085]
当由于球形场景投影为平面图像用于压缩时,该图像的某些样本表示球形场景的显著更大的表面区域或角宽度,那么这些样本变得与球形场景在解压缩和去投影之后的真实再现更加相关。类似地,例如当使用等距柱状投影时,描绘球体的赤道区域的样本可能覆盖相对较小的表面区域,这使得所述样本与球形场景的真实重现的相关性相对较低。针对平面图像和视频进行优化的传统图像和视频编解码器不一定能解决这种不平等性。此外,考虑同等的纬度线或经度线。在球体的表面上,这些线是直的。在投影中,所述线是弯曲的。
[0086]
必须进行的一项观察是平面编码器可能具有关于所用的投影的性质和特性的信
息。此外,在实际系统设计中,可能也需要使去投影仪知道这样的信息,例如通过比特流。在没有这些信息的情况下,去投影仪可能无法对平面解码器产生的样本流进行有意义的操作。由于编码器系统和解码器系统两者可以容易地获得关于所用的投影的边信息(可能必须从发送系统传输至接收系统,以便使去投影仪能够对由投影仪创建的场景进行逆投影),视频编码本身不需要对该信息进行再次编码;编码器可以假设解码器对该信息有先验知识。当然,该边信息也可以包括在视频比特流中,在这种情况下,可能不需要以其他方式发送该边信息。
[0087]
所公开的主题涉及帧内预测。参照图5,上面已经简要介绍的帧内预测如下:在一些情况下,缩放器/逆变换(551)的输出样本可以属于帧内编码块;即:不使用来自先前重建的图片的预测性信息,但可以使用来自当前图片的先前重建部分的预测性信息的块。这样的预测性信息可以由帧内图片预测单元(552)提供。在一些情况下,帧内图片预测单元(552)使用从当前(部分重建的)图片(556)中提取的周围已重建信息来生成大小和形状与重建中的块相同的块。在一些情况下,聚合器(555)以每个样本为基础,将帧内预测单元(552)的预测性信息添加至由缩放器/逆变换单元(551)提供的输出样本信息。
[0088]
到目前为止,还没有提供帧内图片预测单元(552)如何创建可以用于未来预测的帧内预测块的细节。虽然所公开的主题可以适用于平面视频压缩技术或标准中限定的许多可能的帧内预测机制,但现在描述的是针对平面视频优化的帧内预测技术的一种实现方式,即,在高效率视频编码(high efficiency video coding,hevc)视频压缩技术中使用的一种实现方式,该视频压缩技术可以特别地适合于使用修改来支持对投影的视频或图片的高效编码。可能不会描述该技术的某些细节,因为这些细节对于理解所公开的主题不是必需的。
[0089]
从解码器的观点来看,块的hevc帧内预测机制在构思上开始于基于先前解码的块的某些特性和统计数据创建“最可能模式”(most probably mode,mpm)的列表,包括相邻块的针对帧内预测的可用性、相邻块的编码模式等。该列表包含有限的少量的条目,例如三个。帧内预测模式可以是整数数目的有限范围,例如0至34。
[0090]
然后,解码器对表示最多三个“最可能模式”(mpm)或已显式编码的帧内预测模式中之一的一部分的至少一个符号进行解码。
[0091]
图11是根据h.265的平面视频编解码器的帧内预测的示意图。详细地,图11的部分(a)描绘了h.265的34种帧内预测模式及其相关方向。统计上经常选择的“平面”预测模式被称为模式0。dc预测被称为模式1。其余32种模式与帧内预测方向相关联。例如,模式29(1101)与向下且稍微向左的预测方向相关联。还示出了当使用帧内预测模式29(1101)时帧内预测的示例。具体地,参照图11的部分(a)和部分(b),上面(1102)的预测单元(pu)的边界样本沿所示方向复制到预测块(1103)的样本中,所示方向平行于帧内预测模式29(1101)的方向。术语“复制”必须被广义地解释,因为其可能涉及诸如插值的技术。预测块一旦被填入样本值,就可以在块的重建期间由聚合器(555)使用。
[0092]
在vvc中,基于重建中的块的几何形状——更准确地说:纵横比——通过允许某些附加的帧内预测方向并且不允许某些其他方向来增强帧内预测机制以有效地支持非方形块。此外,引入了提供更细粒度的预测方向的附加帧内预测模式。最后,诸如附加mpm的引入的许多其他进步使得能够对编码器选择的帧内预测模式进行更有效的熵编码。
[0093]
根据实施方式,针对投影的360视频的编码而优化的平面视频编码器可以基于编码器对使用中的投影的特性的了解来优化该编码器产生的已编码视频序列。
[0094]
理想地,压缩投影的360素材的平面视频编码器可以充分考虑投影的几何特性。以使用等距柱状投影为例,接近极点的区域的几何扭曲可能很大。关于所公开的主题,可以观察到,针对投影上的某些位置,球体的表面上的直线由投影上的曲线来表示。
[0095]
简要地参照图9,作为示例,考虑块(904)。该块位于赤道旁边,并且接近投影的中心。因此,几何失真是最小的,并且可能不需要对帧内预测进行校正以获得良好的编码结果。
[0096]
现在考虑块(905),其覆盖阿拉斯加北部。显然,存在显著的几何扭曲。例如,考虑接近块(905)的等纵线(极点到极点)。显然,这些线是弯曲的,并且针对球体上的南北方向,这些线不是竖直向上或向下指向,而是斜线地指向。这两者对帧内预测都有一定的影响。特别是,为了正确地表示球体的几何形状,边界样本可能不需要按照直线进行复制,而是根据投影适当弯曲。此外,某些帧内预测方向可能变得与用于平面内容相比较更有可能被选择用于投影内容。这可能对mpm列表创建过程产生影响。最后,由于球体上的块的形状可能具有与投影上的块的形状不同的纵横比,并且由于帧内预测的效率可以取决于球体上的几何形状而不是投影上的几何形状,因此某些附加的帧内预测模式相对于针对以仅平面编码的块几何形状的帧内预测模式可能是明智的选择,而某些其他预测模式可能是不明智的。
[0097]
图12是根据实施方式的投影和逆投影的示意图。参照图12的部分(a),示出的是以等距柱状投影的地球地图的侧重于阿拉斯加的局部。在投影格式中,地球表面上的近似方形的区域具有一定的形状(1201)。许多图像和视频压缩技术可以作为若干个选择之一使用或者专门使用方形块大小;因此,该示例假设要编码的投影数据的方形块(1202)。
[0098]
参照图12的部分(b),示出了等距柱状图中针对相同区域的投影的近似几何形状。球体(1203)表面上的方形区域由几何图形(1204)表示。如已经指出的那样,精确的几何形状根据球体表面上有关区域的位置以及使用的投影而改变。
[0099]
移动至图12的部分(c),示出了投影的放大图(1208),其被再分为用于编码的方形块(1209)。(仅示出了这些块的子集)。这些块中之一(1210)包含弯曲的虚线(1211)。该虚线表示当反向投影在球体上时指向北方的直线。注意,为简洁起见,过分强调线(1211)的曲率。
[0100]
该关系在图12的部分(d)中示出。示出的是可能是如(1208)所示的投影表面的表示的方形区域(1205)。在该区域内,存在表示反向投影的方形块(1210)的几何形状(1206)。在该几何形状(1206)内,存在指向南北的虚线(1207),其是曲线(1211)的去投影表示。
[0101]
本领域技术人员可以根据应用的需要容易地使上面的观察适合于各种其他投影、块尺寸、块形状等。
[0102]
上面观察可以用于设计针对投影格式优化的帧内预测机制。在视频比特流中,可以通过将相关信息编码至视频比特流中来建立对投影的性质和特性的共同理解。这在后面进行描述。
[0103]
在实施方式中,存在所公开的主题的两个方面:a)块内的帧内预测方向“曲线”;以及b)基于去投影的块的几何形状添加/去除帧内预测模式。
[0104]
在所公开的主题的第一方面中,帧内预测在复制预测块中的边界样本时使用非直
线。
[0105]
图13是根据实施方式的基于投影的弯曲帧内预测的示意图。考虑图13的部分(a)。示出的是由4
×
4矩阵中的16个样本组成的块(1301)。在块(1301)上方示出了六个边界样本(1302)。
[0106]
假设块(1301)位于地球地图的覆盖阿拉斯加北部的等距柱状投影上,如先前在图12示出的。根据块(1301)在投影中的几何位置(其对于编码器和解码器两者是已知的)以及投影格式的几何特性的知识,解码器可以调整样本复制机制,使得样本复制机制遵循根据投影和几何位置适当弯曲的线。在大多数情况下,可能需要涉及多个样本的插值技术来计算针对给定样本的预测样本值。这样的技术是本领域技术人员已知的,并且在一些情况下,甚至在不使用曲线的情况下也在使用。
[0107]
在同一实施方式或另一实施方式中,定向帧内预测与曲线帧内预测结合使用。具体地,在同一实施方式或另一实施方式中,帧内预测模式确定例如通过起点和终点、通过接近要复制的参考样本的曲线的初始方向等识别的曲线的方向。
[0108]
再次考虑图13的部分(a)。在该示例中,帧内预测模式确定构成针对投影调整的帧内预测复制方向的一组曲线中最右侧的曲线(1308)的方向。注意,曲线不一定平行,因为它们的形状取决于投影,但是当限定了所述曲线中的一个曲线时,可以从投影导出其余曲线的形状。在该示例中,最右侧曲线的形状由下述限定:投影的性质(此处:等距柱状);块在投影中的空间位置(此处:世界地图中的阿拉斯加北部,如图12先前示出的);以及如图13的部分(b)示出的帧内预测模式31(1303)。注意,识别预测模式31(1303)的帧内预测方向的线的延伸与曲线(1307)的端点(1305、1306)之间的直线(1304)平行,如图13的部分(c)示出的。
[0109]
视频压缩技术或标准还可以限定帧内预测方向与曲线的“倾斜”之间的其他映射。
[0110]
在所公开的主题的第二方面中,基于反向投影在球体上的空间区域的几何形状(并且更具体地:基于纵横比),可以引入未针对给定块架构和平面内容指定的某些帧内预测方向,并且去除其他方向。
[0111]
撰写jvet-l1001时的vvc工作草案包括与如上所述的帧内预测模式的某些差异。与本公开的上下文相关的是,针对非方形块,基于要编码的块的纵横比启用某些帧内预测方向而禁用其他方向。
[0112]
图14是根据实施方式的基于投影的帧内预测方向谱修改的示意图。参照图14的部分(a),作为示例,针对方形块(1401),帧内预测方向覆盖从竖直轴测量的-135度至 45度之间的角谱(1402)。与之相比,参照图14的部分(b),针对宽是高两倍的块(1403),针对方形块(1404)限定的那些帧内预测方向的右侧的某些帧内预测方向被启用,而朝向左底部(1405)的某些帧内预测方向被去除,产生可能的帧内预测方向的角谱(1406)约为-112.5度至 67.5度。
[0113]
在下文中,为了简化描述,假设投影中的要编码的块是方形。然而,再次使用投影中的方形块代表阿拉斯加北部地区并且投影是等距柱状的示例。参照图14的部分(c)图12,在该示例中,有关的块在投影中为(1210)而在球体上为(1206)。现在参照图14的部分(d),球体上的块(1206)覆盖不是方形的表面区域。然而,该块(1206)适合具有一定纵横比的矩形(1407);此处,纵横比在x/y维度上约为1.6:1。在同一实施方式或另一实施方式中,该矩形(1407)的纵横比可以确定某些帧内预测方向的添加和/或去除。在给出的示例中,矩形的
宽度大于高度。遵循与vvc工作草案中针对非方形块引入的逻辑类似的逻辑,可以在针对非投影的方形块指定的帧内预测方向的右侧添加帧内预测方向,而左底部的其他方向可以被去除。在给出的示例中,针对方形块的角谱(从竖直轴测量的-135度至 45度)可以修改为-112.5度至 67.5度,这反映了矩形的宽度大于高度。
[0114]
在vvc草案中,块大小在每个维度上可以是2的幂,因此纵横比的变化也可以基于2的幂。例如,纵横比可以为4:1、2:1、1:1、1:2和1:4。然而,投影中的矩形大小不是由编码机制的细节(并且具体地由视频编码技术或标准提供的块分割选项)而是由投影的性质或特性(例如,大小)和图片中的块的位置决定的。投影可能不遵循2的幂的矩形纵横比——例如,示例矩形(1407)具有近似1.4:1的纵横比。
[0115]
在同一实施方式或另一实施方式中,为了简化实现方式,可以将矩形的纵横比舍入为针对非方形块限定的纵横比中最接近的纵横比。参照图14的部分(e),考虑其中矩形(1408)的纵横比将为1.6:1的示例。因此,在该示例中,每个维度舍入为2的幂的最接近的纵横比将为2:1,并且该纵横比可以用于确定要添加或去除的帧内预测方向。由此产生的角谱(1406)将与使用vvc平面编码时的具有2:1的纵横比的矩形块(1403)相同。
[0116]
作为许多可能的替选方案中之一,矩形的纵横比可以直接用于确定可以添加和去除哪些帧内预测方向。仍然参照图14的部分(e),考虑具有1.6:1的纵横比的矩形(1408)。在该示例中,可以应用-122度至 58度的角谱(1409)。还可能的是频谱的离散允许扩展或缩减之间的混合形式(超出vvc草案中针对非方形块限定的那些),以及如上所述的对帧内预测模式的浮动启用/禁用。在两种情况下,除了向解码器通知投影的性质和/或几何特性之外,可能都不需要在比特流中用信号通知允许模式/不允许模式,这是因为矩形的形状可以由解码器基于块的投影的性质和几何位置来确定。
[0117]
当在投影中对非方形块进行编码时,情况可能变得更加复杂。在该情况下,可以通过角谱的合适的组合来确定适当的角谱,如通过考虑编码中的块和投影中的矩形两者的纵横比来确定。合适的组合包括:例如,选择两个选项中的任何一个(通过视频编码技术或标准中的规范暗示);由两种机制确定的最宽的角谱(但这可能导致角谱宽于180%,这反过来可能导致视频编码技术或标准相对于vvc草案的显著要求变化,这是因为可能需要添加帧内预测模式)等。
[0118]
在同一实施方式或另一实施方式中,投影的特征可以在已编码视频比特流内部作为一个或更多个规范的语法元素对解码器可用,一个或更多个规范的语法元素例如位于序列参数集、图片参数集、序列报头、图片群组(gop)报头、图片报头、切片报头或类似的语法结构(此后称为高级语法结构)中。在同一实施方式或另一实施方式中,可以通过带外机制使投影的特征对解码器可用。
[0119]
对特征的编码可以采用多种形式。在同一实施方式或另一实施方式中,可以使用单个或少量语法元素的抽象值来以适于投影的数学式的参数的形式直接地或间接地指示投影的几何特性。从这些参数中,解码器可以导出投影,并且根据情况且如上所述地应用其对投影的知识。编码技术或标准可以指定多个这样的投影参数。例如,可以是语法元素“投影id”,被编码为例如8位的无符号整数。该语法元素将允许多达256个投影的信令。例如,这256个值中之一可以分配给等距柱状投影,而其他值分配给其他明确限定的投影格式。
[0120]
在上面两种机制与可以起到类似作用的其他机制之间的选择可以取决于应用要
求,以及这种应用可能具有的压缩约束、计算约束和存储器约束。
[0121]
另外,包括语法元素“启用_360intrapred”可能是明智的,这可以使得能够使用针对如上所述的投影格式优化的帧内预测。当该语法元素的值为“假”时,平面解码器可能不使用360优化的帧内预测技术。然而,当该语法元素的值为“真”时,解码器可以以上述方式使用360优化的帧内预测技术。
[0122]
图15是示出根据实施方式的将已编码视频序列中的编码图像或编码图片解码成表示非平面表面在平面表面上的投影的图片的方法(1500)的流程图。在一些实现方式中,图15的一个或更多个处理块可以由解码器(310)执行。在一些实现方式中,图15的一个或更多个处理块可以由与解码器(310)分开或包括解码器(310)的另一装置或一组装置执行,例如编码器(303)。
[0123]
参照图15,在第一块(1510)中,方法(1500)包括针对图片的块获得指示帧内预测方向的帧内预测模式。
[0124]
在第二块(1520)中,方法(1500)包括基于投影和获得的帧内预测模式确定代表非平面表面上的直线的至少一个非直曲线。
[0125]
确定至少一个非直曲线可以包括确定至少一个非直曲线的形状为投影的形状。
[0126]
确定至少一个非直曲线可以包括确定至少一个非直曲线的位置与图片中的块的位置对应。
[0127]
确定至少一个非直曲线可以包括确定至少一个非直曲线的方向为帧内预测方向,该帧内预测方向为从接近至少一个边界样本的起点到接近预测样本中的一个预测样本的终点。
[0128]
在第三块(1530)中,该方法(1500)包括针对该块根据沿所确定的至少一个非直曲线的至少一个边界样本创建沿所确定的至少一个非直曲线的预测样本。
[0129]
图16是示出根据另一实施方式的将已编码视频序列中的编码图像或编码图片解码成表示非平面表面在平面表面上的投影的图片的方法(1600)的流程图。在一些实现方式中,图16的一个或更多个处理块可以由解码器(310)执行。在一些实现方式中,图16的一个或更多个处理块可以由与解码器(310)分开或包括解码器(310)的另一装置或一组装置执行,例如编码器(303)。
[0130]
参照图16,在第一块(1610)中,方法(1600)包括对图片的块执行反向投影,该块具有第一纵横比。
[0131]
在第二块(1620)中,该方法(1600)包括基于投影的至少一个特性和图片中的块的位置识别与对其执行反向投影的块在非平面表面上的表面区域对应的矩形。
[0132]
在第三块(1630)中,方法(1600)包括确定所识别的矩形的第二纵横比是否比块的第一纵横比宽。如果确定所识别的矩形的第二纵横比比块的第一纵横比宽,则方法(1600)在第四块(1640)中继续。否则,方法(1600)在第五块(1650)中继续。
[0133]
在第四块(1640)中,方法(1600)包括:向对于可用于根据第一纵横比和视频压缩标准对块进行解码的至少一个帧内预测方向,对于所述至少一个帧内预测方向的右上方,添加一个或更多个帧内预测方向。
[0134]
在第五块(1650)中,方法(1600)包括确定所识别的矩形的第二纵横比是否比该块的第一纵横比短。如果确定识别的矩形的第二纵横比短于块的第一纵横比,则方法(1600)
在第六块(1660)中继续。否则,方法(1600)结束。
[0135]
在第六块(1660)中,方法(1600)包括:从至少一个帧内预测方向中,对于所述至少一个帧内预测方向的左下方,去除一个或更多个帧内预测方向。
[0136]
方法(1600)还可以包括:将所识别矩形的第二纵横比舍入为视频压缩标准中针对非方形块限定的最接近的纵横比;以及基于舍入的所识别的矩形的第二纵横比执行向至少一个帧内预测方向添加和从至少一个帧内预测方向中去除。最接近的纵横比可以是2的幂。
[0137]
虽然图15和图16示出了方法(1500和1600)的示例块,但是在一些实现方式中,与图15和图16中描绘的这些块相比,方法(1500和1600)可以包括附加的块、更少的块、不同的块或不同地布置的块。附加地或替选地,方法(1500和1600)的块中的两个或更多个块可以并行执行。
[0138]
此外,所提出的方法可以由处理电路(例如,一个或更多个处理器或者一个或更多个集成电路)实现。在示例中,一个或更多个处理器执行存储在非暂态计算机可读介质中的用于执行所提出的方法中的一个或更多个方法的程序。
[0139]
图17是根据实施方式的用于将已编码视频序列中的编码图像或编码图片解码成表示非平面表面在平面表面上的投影的图片的设备(1700)的简化框图。
[0140]
参照图17,设备(1700)包括获得代码(1710)、确定代码(1720)和创建代码(1730)。
[0141]
获得代码(1710)被配置成针对图片的块获得指示帧内预测方向的帧内预测模式。
[0142]
确定代码(1720)被配置成基于投影和获得的帧内预测模式确定代表非平面表面上的直线的至少一个非直曲线。
[0143]
确定代码(1720)还可以被配置成确定至少一个非直曲线的形状为投影的形状。
[0144]
确定代码(1720)还可以被配置成确定至少一个非直曲线的位置与图片中的块的位置对应。
[0145]
确定代码(1720)还可以被配置成确定至少一个非直曲线的方向为帧内预测方向,该帧内预测方向为从接近至少一个边界样本的起点到接近预测样本中的一个预测样本的终点。
[0146]
创建代码(1730)被配置成针对该块根据沿所确定的至少一个非直曲线的至少一个边界样本创建沿所确定的至少一个非直曲线的预测样本。
[0147]
图18是根据另一实施方式的用于将已编码视频序列中的编码图像或编码图片解码成表示非平面表面在平面表面上的投影的图片的设备(1800)的简化框图。
[0148]
参照图18,设备(1800)包括第一执行代码(1810)、识别代码(1820)、第二执行代码(1830)和舍入代码(1840)。
[0149]
第一执行代码(1810)被配置成对图片的块执行反向投影,该块具有第一纵横比。
[0150]
识别代码(1820)被配置成基于投影的至少一个特性和图片中的块的位置识别与对其执行反向投影的块在非平面表面上的表面区域对应的矩形。
[0151]
第二执行代码(1830)被配置成基于所识别的矩形的第二纵横比,执行向可用于根据第一纵横比和视频压缩标准对块进行解码的至少一个帧内预测方向添加和从所述至少一个帧内预测方向中去除中的一者或两者。
[0152]
舍入代码(1840)可以被配置成将所识别的矩形的第二纵横比舍入为视频压缩标准中针对非方形块限定的最接近的纵横比。第二执行代码(1830)还可以被配置成基于舍入
的所识别的矩形的第二纵横比执行向至少一个帧内预测方向添加和从至少一个帧内预测方向中去除中的一者或两者。最接近的纵横比可以是2的幂。
[0153]
第二执行代码(1830)还可以被配置成基于所识别的矩形的第二纵横比宽于块的第一纵横比,向至少一个帧内预测方向,对于所述至少一个帧内预测方向的右上方,添加一个或更多个帧内预测方向。
[0154]
第二执行代码(1830)还可以被配置成基于所识别的矩形的第二纵横比短于块的第一纵横比,从至少一个帧内预测方向中,对于至少一个帧内预测方向的左下方,去除一个或更多个帧内预测方向。
[0155]
上述针对用于360图像和视频编码的qp选择的技术可以使用计算机可读指令实现为计算机软件,并且物理地存储在一个或更多个计算机可读介质中。
[0156]
图19是根据实施方式的计算机系统(1900)的示意图。例如,图19示出了适合于实施所公开的主题的某些实施方式的计算机系统(1900)。
[0157]
可以使用任何合适的机器代码或计算机语言对计算机软件进行编码,可以对机器代码或计算机语言进行汇编、编译、链接等机制以创建包括可以由计算机中央处理单元(central processing unit,cpu)、图形处理单元(graphics processing unit,gpu)等直接执行或者通过解译、微代码执行等来执行的指令的代码。
[0158]
指令可以在各种类型的计算机或其部件上执行,包括例如个人计算机、平板计算机、服务器、智能电话、游戏装置、物联网装置等。
[0159]
图19中示出的用于计算机系统(1900)的部件本质上是示例性的,并且不旨在对实现本公开内容的实施方式的计算机软件的使用范围或功能提出任何限制。部件的配置也不应当被解释为具有与计算机系统(1900)的实施方式中示出的部件中的任何一个部件或部件的组合有关的任何依赖性或要求。
[0160]
计算机系统(1900)可以包括某些人机接口输入装置。这样的人机接口输入装置可以响应于由一个或更多个人类用户通过例如触觉输入(诸如:击键、滑动、数据手套移动)、音频输入(诸如:语音、拍打)、视觉输入(诸如:手势)、嗅觉输入(未描绘)进行的输入。人机接口装置还可以用于捕获不一定与人类有意识的输入直接相关的某种介质,诸如,音频(诸如:语音、音乐、环境声音)、图像(诸如:扫描图像、从静态图像摄像装置获得的摄影图像)、视频(诸如:二维视频、包括立体视频的三维视频)。
[0161]
输入人机接口装置可以包括下述中的一种或更多种(仅描绘了每种中的一个):键盘(1901)、鼠标(1902)、触控板(1903)、触摸屏(1910)、数据手套(1904)、操纵杆(1905)、麦克风(1906)、扫描仪(1907)、摄像装置(1908)。
[0162]
计算机系统(1900)还可以包括某些人机接口输出装置。这样的人机接口输出装置可以通过例如触觉输出、声音、光和气味/味道来刺激一个或更多个人类用户的感觉。这样的人机接口输出装置可以包括:触觉输出装置(例如,通过触摸屏(1910)、数据手套(1904)或操纵杆(1905)的触觉反馈,但是也可以存在不充当输入装置的触觉反馈装置)、音频输出装置(诸如:扬声器(1909)、头戴式耳机(未描绘)、视觉输出装置(诸如屏幕(1910),包括crt(cathode ray tube)屏幕、lcd(liquid crystal display)屏幕、等离子屏幕、oled(organic light emitting diode)屏幕),各自具有或不具有触摸屏输入能力,各自具有或不具有触觉反馈能力——其中一些屏幕可能能够输出二维视觉输出或通过诸如立体图形
输出的方式的多于三维输出;虚拟现实眼镜(未描绘)、全息显示器和烟箱(未描绘))、以及打印机(未描绘)。
[0163]
计算机系统(1900)还可以包括人类可访问的存储装置及其相关联的介质,诸如包括具有cd/dvd等介质(1921)的cd/dvd rom/rw(1920)的光学介质、拇指驱动器(1922)、可移动硬盘驱动器或固态驱动器(1923)、诸如磁带和软盘的传统磁介质(未描绘)、基于专用rom/asic/pld的装置诸如安全软件狗(未描绘)等。
[0164]
本领域技术人员还应当理解,结合本技术公开的主题所使用的术语“计算机可读介质”不包含传输介质、载波、或其他瞬时信号。
[0165]
计算机系统(1900)还可以包括至一个或更多个通信网络的接口。网络可以例如是无线的、有线的、光学的。网络还可以是局域的、广域的、城域的、车载和工业的、实时的、延时容忍的等。网络的示例包括局域网诸如以太网、无线lan、蜂窝网络(包括gsm(global system for mobile communication)、3g(third generation)、4g(fourth generation)、5g(fifth generation)、lte(long term evolution)等)、电视有线或无线广域数字网络(包括有线电视、卫星电视和地面广播电视)、车载的和工业的(包括canbus)等。某些网络通常需要附接至某些通用数据端口或外围总线(1949)(诸如,例如计算机系统(1900)的usb(universal serial bus,usb)端口)的外部网络接口适配器;其他网络通常通过附接至如下所述的系统总线而集成至计算机系统(1900)的核中(例如,集成至pc计算机系统的以太网接口或集成至智能电话计算机系统的蜂窝网络接口)。计算机系统(1900)可以使用这些网络中的任何网络与其他实体进行通信。这样的通信可以是单向仅接收的(例如,广播电视)、单向仅发送的(例如,从can总线到某些can总线装置)、或双向的(例如使用局域数字网络或广域数字网络到其他计算机系统)。可以在如上所述的这些网络和网络接口中的每一个上使用某些协议和协议栈。
[0166]
以上提及的人机接口装置、人类可访问存储装置和网络接口可以附接至计算机系统(1900)的核(1940)。
[0167]
核(1940)可以包括一个或更多个中央处理单元(cpu)(1941)、图形处理单元(gpu)(1942)、现场可编程门阵列(field programmable gate area,fpga)(1943)形式的专用可编程处理单元、用于某些任务的硬件加速器(1944)等。这些装置连同只读存储器(read-only memory,rom)(1945)、随机存取存储器(random-access memory,ram)(1946)、内部大容量存储装置诸如内部非用户可访问硬盘驱动器、ssd(solid state drive,ssd)等(1947),可以通过系统总线(1948)连接。在一些计算机系统中,可以以一个或更多个物理插头的形式访问系统总线(1948),以通过附加的cpu、gpu等实现扩展。外围装置可以直接地或通过外围总线(1949)附接至核的系统总线(1948)。外围总线的架构包括pci(peripheral component interconnect,pci)、usb等。
[0168]
cpu(1941)、gpu(1942)、fpga(1943)和加速器(1944)可以执行某些指令,这些指令可以组合构成以上提及的计算机代码。该计算机代码可以被存储在rom(1945)或ram(1946)中。过渡数据也可以存储在ram(1946)中,而永久数据可以存储在例如内部大容量存储装置(1947)中。可以通过使用缓存存储器来实现针对存储器装置中的任何存储器装置的快速存储和检索,该缓存存储器可以与一个或更多个cpu(1941)、gpu(1942)、大容量存储装置(1947)、rom(1945)、ram(1946)等紧密关联。
[0169]
计算机可读介质上可以具有计算机代码,该计算机代码用于执行各种计算机实现的操作。介质和计算机代码可以是出于本公开内容的目的而专门设计和构造的介质和计算机代码,或者它们可以是计算机软件领域的技术人员公知且可获得的类型。
[0170]
作为示例而非限制的方式,具有架构的计算机系统(1900)且特别是核(1940)可以通过处理器(包括cpu、gpu、fpga、加速器等)执行包含在一个或更多个有形计算机可读介质中的软件来提供功能。这样的计算机可读介质可以是与下述存储装置相关联的介质:如以上所介绍的用户可访问大容量存储装置,以及具有非暂态性质的核(1940)的某些存储装置,诸如核内大容量存储装置(1947)或rom(1945)。实现本公开内容的各种实施方式的软件可以存储在这样的装置中并且由核(1940)执行。根据特定需要,计算机可读介质可以包括一个或更多个存储器装置或芯片。软件可以使核(1940)且特别是其中的处理器(包括cpu、gpu、fpga等)执行本文中描述的特定处理或特定处理的特定部分,包括限定存储在ram(1946)中的数据结构以及根据由软件限定的处理修改这些数据结构。附加地或作为替选,计算机系统可以以逻辑硬连线的方式、或以其他表现为电路(例如,加速器(1944))的方式来提供功能,该逻辑硬连线或者电路可以代替软件操作或与软件一起操作,以执行本文描述的特定处理或特定处理的特定部分。在适当的情况下,对软件的提及可以包含逻辑,反之对逻辑的提及也可以包含软件。在适当的情况下,对计算机可读介质的提及可以包含存储用于执行的软件的电路(诸如,集成电路(integrated circuit,ic))、实施用于执行的逻辑的电路、或上述两者。本公开内容包含硬件和软件的任何合适的组合。
[0171]
虽然本公开内容已经描述了若干个实施方式,但是存在落入本公开内容的范围内的改变、置换和各种替换等效物。因此能够理解,本领域技术人员将能够设想出多种系统和方法,这些系统和方法虽然在本文中没有明确示出或描述,但是体现本公开内容的原理并且因此落入本公开内容的精神和范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献