用于多视图视频的视频编码技术的制作方法

文档序号:18832709发布日期:2019-10-09 03:59阅读:143来源:国知局
用于多视图视频的视频编码技术的制作方法
本公开涉及用于多视图成像系统的编码/解码系统,并且具体地讲,涉及将最初为平面图像开发的编码技术用于多视图图像数据。视频编码系统通常通过利用视频内容中的空间和/或时间冗余来减小视频信号的带宽。将输入数据的给定部分(为方便起见称为“像素块”)与先前编码的图像进行比较以识别类似的内容。如果搜索识别适当的匹配,则相对于来自先前图像的匹配数据(“参考块”)将输入像素块差异地编码。许多现代编码协议,诸如itu-th.265、h.264、h.263及它们的前身,已围绕这些基本原理进行设计。此类视频编码协议在图像数据为“平面的”的假设下进行操作,这意味着图像内容表示连续二维视场。然而,正在开发的现代视频系统不在这些假设下操作。多视图成像是其中图像数据不是平面的的一种应用。由多视图成像系统生成的图像可表示图像数据的二维阵列中的图像数据,但空间不连续性可存在于该图像内所包含的图像数据中。可用空间相对较小的对象运动可由表示该对象的图像数据内的大空间运动来表示。因此,现代编码系统可能无法将这些运动实例识别为差分编码的机会。由于未能识别出此类现象,此类编码系统不会尽可能有效地对图像数据进行编码。因此,本发明人认识到需要改进编码系统以适应多视图图像数据中可能出现的运动效果。附图说明图1示出了适合与本公开的实施方案一起使用的系统。图2是根据本公开的一个实施方案的编码系统的功能框图。图3(a)至图3(c)示出了示例性立方体映射图像及其与可用空间中图像内容的关系。图4示出了根据本公开的实施方案的一种方法。图5示出了根据本公开的实施方案的填充立方体映射图像。图6(a)至图6(b)示出了根据本公开的实施方案的另一示例性立方体映射图像和可由其生成的填充图像。图7示出了根据本公开的另一实施方案的一种方法。图8(a)示出了示例性立方体映射图像,并且图8(b)至图8(c)示出了可由本公开的实施方案来编码的示例性填充参考图像。图9(a)至图9(b)示出了另一示例性立方体映射图像及其与自由空间中的图像内容的关系。图10(a)至图10(d)示出了根据本公开的实施方案的多视图图像数据的示例性投影。图11(a)至图11(e)示出了根据本公开的实施方案的与球面投影图像数据一起使用的填充数据的应用。图12示出了根据本公开的实施方案的一种方法。图13(a)至图13(b)示出了可通过图12的方法处理的示例性等量矩形图像及其球面投影。图14是根据本公开的实施方案的编码系统的功能框图。图15是根据本公开的实施方案的解码系统的功能框图。图16示出了适合与本公开的实施方案一起使用的示例性计算机系统。具体实施方式本公开的实施方案提供用于立方体映射图像的视频编码/解码技术。根据这些技术,生成填充参考图像以供在预测输入数据期间使用。参考图像以立方体映射格式存储。从该参考图像生成填充参考图像,其中将包含在参考图像中的第一视图的图像数据复制并相邻于包含在该立方体映射图像中的第二视图放置。当对输入图像的像素块进行编码时,可在该输入像素块和该填充参考图像的内容之间执行预测搜索。当该预测搜索识别到匹配时,可相对于来自该填充参考图像的匹配数据对像素块进行编码。在该填充参考图像中存在复制的数据预计会增加为输入像素块数据识别到足够预测匹配的可能性,这将提高视频编码的总体效率。图1示出了可采用本公开的实施方案的系统100。系统100可以包括经由网络130互连的至少两个终端110-120。第一终端110可具有生成多视图视频的图像源。该终端110还可包括编码系统和传输系统(未示出),以将该多视图视频的编码表示传输到第二终端120,在该第二终端处可消费该多视图视频。例如,该第二终端120可在本地显示器上显示该多视图视频,它可执行视频编辑程序以修改该多视图视频,或可将该多视图视频整合到应用(例如,虚拟现实程序)中,可存在于头戴式显示器(例如,虚拟现实应用)中,或者其可存储该多视图视频以供之后使用。图1示出了适合于从第一终端110向第二终端120单向传输多视图视频的部件。在一些应用中,可能适合提供视频数据的双向交换,在这种情况下,第二终端120可包括其自身的图像源、视频编码器和发射器(未示出),并且第一终端110可包括其自身的接收器和显示器(也未示出)。如果希望双向交换多视图视频,则可复制下文论述的技术以生成一对独立的多视图视频单向交换。在其他应用中,可能允许在一个方向上(例如,从第一终端110到第二终端120)传输多视图视频并且在反向方向上传输“平面”视频(例如,来自受限视场的视频)。在图1中,第二终端120被示为计算机显示器,但本公开的原理不受此限制。本公开的实施方案可应用于膝上型计算机、平板电脑、智能电话、服务器、媒体播放器、虚拟现实头戴式显示器、增强现实显示器、全息图显示器和/或专用视频会议设备。网络130代表在终端110-120之间输送经编码的视频数据的任意数量的网络,包括例如有线通信网络和/或无线通信网络。通信网络130可在电路交换信道和/或分组交换信道中交换数据。代表性网络包括电信网、局域网、广域网和/或互联网。出于本论述的目的,除非下文作出解释,否则网络130的架构和拓扑结构对本公开的操作是无关紧要的。图2是根据本公开的实施方案的编码系统200的功能框图。该系统200可包括图像源210、图像处理系统220、视频编码器230、视频解码器240、参考画面存储库250、预测器260、填充单元270,以及可选地,一对球面转换单元280.1、280.2。图像源210可生成图像数据作为多视图图像,该图像数据包含在多个方向上围绕参考点延伸的视场的图像数据。图像处理系统220可根据需要来转换来自图像源210的图像数据以适应视频编码器230的要求。视频编码器230通常可通过利用图像数据中的空间和/或时间冗余来生成其输入图像数据的编码表示。视频编码器230可输出输入数据的编码表示,该编码表示在传输和/或存储时比输入数据消耗更少的带宽。视频解码器240可反转由视频编码器230执行的编码操作,以从经编码的视频数据获得重建画面。通常,视频编码器230所应用的编码过程是有损过程,这导致重建画面在与原始画面比较时具有各种误差。视频解码器240可重建被指定为“参考画面”的选定编码画面的画面,并将经解码的参考画面存储在参考画面存储库250中。在不存在传输误差的情况下,解码的参考画面将复制解码器(图2中未示出)所获得的经解码的参考画面。预测器260可在编码新输入画面时为其选择预测参考。对于被编码的输入画面的每个部分(为了方便起见称为“像素块”),预测器260可选择编码模式并识别参考画面中可充当被编码的像素块的预测参考搜索的部分。编码模式可为帧内编码模式,在这种情况下,可从被编码画面的先前编码(和解码)部分绘制预测参考。另选地,编码模式可以是帧间编码模式,在这种情况下,可从另一先前编码和解码的画面绘制预测参考。预测器260可在由如本文所述的填充单元270生成的填充的参考图像数据中操作。在一个实施方案中,预测器260可搜索对已被变换为球面投影表示的输入画面和参考画面进行操作的被编码画面的预测参考。球面变换单元280.1、280.2可将输入画面和参考画面变换为球面投影表示。当识别出合适的预测参考时,预测器260可向视频编码器230提供该预测数据。视频编码器230可相对于由预测器260提供的预测数据而对输入视频数据进行差异编码。通常,预测操作和差分编码在逐个像素块的基础上操作。预测残差(表示输入像素块和预测像素块之间的像素方面差异)可经受进一步的编码操作以进一步减小带宽。如所指出的,由视频编码器230输出的编码视频数据在传输和/或存储时应消耗小于输入数据的带宽。编码系统200可将编码视频数据输出到输出设备290,诸如发射器(未示出),该发射器可跨通信网络130(图1)或存储设备(也未示出)诸如电子存储介质、磁性存储介质和/或光学存储介质传输编码视频数据。图3示出了适合与本发明的实施方案一起使用的立方体映射图像300。如图所示,全向相机可在若干视场中捕获图像数据,该若干视场分别表示“前”视图310、“左”视图320、“后”视图330、“右”视图340、“顶部”视图350和“底部”视图360。这些视图310至360的图像数据可根据存在于不同视场之间的空间关系而被组装到mxn像素图像中。图3(a)示出了较大立方体映射图像300中的视图310至360的取向。图3(b)示出了视图310至360关于捕获对应于这些视图310至360的图像的相机的取向。为方便起见,在描述该立方体映射图像300的内容时,为这些视场中的每一个视场所捕获的图像数据将被描述为“视图”310至360。图3(c)为视图的空间取向的分解图,示出了在视图310至360之间出现的边缘312-318、322-326、332-336、342-344。因此,如图3(b)所示,来自紧邻边缘312的前视图310的图像内容在空间上与来自也紧邻边缘312的左视图320的像素内容相邻。类似地,来自紧邻边缘314的前视图310的像素内容在空间上与来自也紧邻边缘314的右视图340的像素内容相邻。来自紧邻边缘316和318的前视图310的像素内容在空间上分别与来自紧邻那些边缘的顶部视图350和底部视图360的像素内容相邻。视图310至360可被布置在立方体映射图像300中以保持视图310至360之间的边界中的一些边界上的连续性。如图3(a)所示,可在前视图310和相邻的左视图320、顶部视图350和底部视图360之间沿它们相应的边缘312、316和318来保持图像连续性。可沿边缘312和322分别在左视图320与前视图310和后视图330之间保持图像连续性。可沿边缘322和332分别在后视图330与左视图320和右视图340之间保持图像连续性。然而,在边缘314、324、326、334、336、342、344之间不保持图像连续性。因此,来自与这些边缘相邻的视图310至360的图像内容将不会彼此接近,即便它们表示相邻图像内容。例如,尽管来自与边缘314相邻的前视图310和右视图340的内容在空间上与彼此相邻,如图3(c)所示,但它们沿着图3(a)所示的立方体映射图像300的相反边缘出现。类似地,沿着顶视图350的边缘324、336和344的图像内容分别远离沿着左视图320、后视图330和右视图340的边缘324、336和344的该图像内容的对应部分。此外,沿着底部视图360的边缘326、334和342的图像内容分别远离沿着左视图320、后视图330和右视图340的边缘326、334和342的该图像内容的对应部分。图4示出了根据本公开的实施方案的一种方法。方法400可处理以立方体映射图像格式布置的参考画面,诸如图3(a)所示。对于每个候选参考画面,该方法400可在源立方体映射图像的空区中创建填充图像(框410)。方法400还可对在框410处生成的填充图像上的输入像素块执行运动预测搜索(框420)。方法400可确定该预测搜索是否生成匹配(框430),并且如果是,则方法400可使用从运动预测搜索识别的匹配参考块来预测性地对输入像素块进行编码(框440)。否则,方法400可通过另选技术诸如通过帧内编码来对输入像素块进行编码。图5示出了根据本公开的实施方案的填充的立方体映射图像500。该填充的立方体映射图像500可包括来自由源立方体映射图像的创建而生成的前、左、后、右、顶部和底部视图310至360的图像数据,如图3(a)所示。在图3(a)中示出的立方体映射图像300的为空区370.1、370.2的区域可根据需要包含来自与边缘324、326、334、336、342和344接近的视图的图像数据以在那些边缘上形成连续图像内容。因此,就空区370.1而言(图3),顶部视图350的图像内容可被放置作为填充图像510、520和530,并且顶部视图350的每个实例可被旋转以使其边缘与左视图320、后视图330和右视图340的边缘324、336和344对齐。类似地,就空区370.2而言(图3),底部视图360的图像内容可被放置作为填充图像540、550和560,并且底部图像360的每个实例可被旋转以使其边缘与左视图320、后视图330和右视图340的边缘326、334和342对齐。在图5中,填充图像510至560的文本示出了图像数据的旋转,该旋转可发生以将数据与这些边缘324、326、334、336、342和344对齐。提供填充图像增加了预测视频编码器可检测到图像内容在图像上的运动的可能性。在位置loc1处在左视图320中考虑图3中所示的对象。该对象的图像内容在先前编码的参考帧中可能已从顶部视图350中的位置loc2移动。因此,该对象的在顶部视图350中的位置loc2处的图像内容可用作该对象的在位置loc1处的预测参考。然而,实际上,在正被编码的帧中搜索位置loc1处的对象的预测匹配的视频编码器可能不会检测到参考帧的位置loc2处的图像内容,这是由于在该等量矩形图像300中该对象距位置loc1的距离、由于其取向、或两者造成的。利用如图5所示的填充图像,可在参考帧中的位置loc3处提供该对象的冗余副本。顶部视图350的图像内容以使边缘324处的顶部视图350的图像内容与边缘324处的左视图320的图像内容邻接的取向来出现在填充视图510中。位置loc3处的图像内容的位置和取向必须更靠近(在位置loc1处)被编码的对象内容,因此它具有更高的作为预测视频编码器的预测基础的可能性。本发明的原理可应用于多种格式的立方体映射图像。图6中示出了另一种格式,其示出了处于具有四个空区670.1至670.4的另选表示中的前、左、后、右、顶部和底部视图610至660(图6(a))。此处,填充图像680.1至680.6可在空区670.1至670.4中提供,该填充图像从视图610至660中的相应视图绘制(图6(b))。在该示例中,填充图像680.1和680.4可源自右视图640,并且填充图像680.2至680.3和680.5至680.6可源自顶部视图650。回到图5,可以看出,使用填充图像不会在所有边缘上产生图像连续性。例如,相对于顶视图350,在边缘324、344或336上不保持连续性。填充图像510包含不在边缘324上产生连续性的顶部视图数据(即使其确实在左视图324处在对应边缘320上产生连续性)。另外,在边缘336和344处不存在表示图像500的边界边缘的图像数据。相似地,相对于底视图360,在边缘326、334或342上不保持连续性。填充图像540包含不在边缘326上产生连续性的底部图像数据(即使其确实在左视图320处在对应边缘326上产生连续性)。另外,在边缘334和342处不存在表示图像500的边界边缘的图像数据。因此,预测搜索很可能不会识别在此类边界上的匹配,并且可选地可能被约束以避免在边缘324、326、334、336、342、344上进行搜索,这些边缘在应用填充之后具有图像内容的不连续性。在另外的实施方案中,可通过围绕图像的周边进行填充来扩展参考图像。因此,由视频编码器和解码器处理的作为m×n像素图像的参考图像可沿图像的周边分别以δm和δn的量进行扩展,从而产生(m+2δm)×(n+2δn)图像。可沿m×n像素图像的周边边缘来提供填充图像数据,以在该周边处沿视图310、340、350、360的边缘提供填充图像数据。可从邻接立方体映射视图中的周边边缘的视图来得到此类填充图像数据。例如,可沿前视图310的周边边缘提供右视图数据,并且可沿右视图340的周边边缘提供前视图数据。因此,预测搜索可从m×n图像的周边边缘扩大到由δm和/或δn扩展提供的填充区域中。图7示出了根据本公开的另一实施方案的方法700。可以针对正被编码的立方体映射图像的每个像素块来执行方法700。方法700可识别与正被编码的像素块相关联的视图(框710)。然后,针对可用作输入像素块的预测参考的每个候选参考画面,方法700可使用来自与框710中所识别的视图相邻的视图的图像数据来创建填充的参考图像(框720)。方法700可在框720处创建的填充参考图像内执行运动预测搜索730(框730)。在考虑该候选参考图片之后,方法700可确定预测搜索是否产生匹配(框740)。如果是,则方法700可使用从该运动预测搜索识别的匹配参考块来预测性地对输入像素块进行编码(框750)。否则,方法700可通过另选技术诸如通过帧内编码来对输入像素块进行编码。图8示出了可通过图7的方法进行编码的示例性立方体映射图像800。图8(a)示出了立方体映射图像800,其具有分别被分区成像素块的前、左、后、右、顶部和底部视图810至880。图8(b)示出了可在像素块pb1是从顶部视图850编码的时生成的填充参考图像870,并且图8(c)示出了可在像素块pb1是从后视图830编码的时生成的填充参考图像880。参见图8(b),当来自输入图像800的顶部视图850的像素块pb1被编码时,方法700可生成填充参考图像870,该填充参考图像包括来自参考画面的顶部视图872和沿着该顶部视图872的边缘提供的填充图像874.1至874.4的图像数据。在这种情况下,填充图像874.1至874.4分别包含参考图像的前视图874.1、参考图像的左视图874.2、参考图像的后视图874.3和参考图像的右视图874.4的图像数据。这些视图874.1至874.4的图像数据各自可被旋转以提供顶部视图872的边缘上的图像数据的连续性。填充参考图像870可沿其中像素块pb1已被编码的视图850的所有边缘来提供连续参考画面数据。因此,当编码像素块pb1时,视频编码系统可在其中像素块pb1已被编码的视图850的所有边缘上搜索预测参考。相似地,参见图8(c),当来自输入图像800的后视图830的像素块pb2被编码时,方法700可生成填充参考图像880,该填充参考图像包括来自参考画面的后视图882和沿该后视图882的边缘提供的填充图像884.1至884.4的图像数据。在这种情况下,填充图像884.1至884.4分别包含参考图像的底视图884.1、参考图像的右视图884.2、参考图像的顶视图884.3和参考图像的左视图884.4的图像数据。这些视图884.1至884.4的图像数据各自可被旋转以提供顶部视图882的边缘上的图像数据的连续性。填充参考图像880可沿其中像素块pb2已被编码的视图830的所有边缘来提供连续参考画面数据。因此,当对像素块pb2进行编码时,视频编码系统可在其中像素块pb2所在的视图80的边缘上搜索预测参考。针对被编码的图像800的视图810至860中的每一个视图的像素块,可重复方法700的操作。图8(b)和图8(c)各自示出了相应的空区876.1至876.4以及886.1至886.4,该空区提供在填充图像数据874.1至874.4以及884.1至884.4的实例之间的区域中。在一个实施方案中,不必要在这些空区中提供图像数据。然而,另选地,允许从相邻图像复制填充图像数据。例如,空区876.3与填充图像847.1和847.4相邻;如果需要,可在空区876.3中复制填充图像中的一个填充图像。虽然图7示出了可对被编码的每个像素块重新执行填充图像的创建(框720),但实际上,填充图像的创建可执行一次并重新用于对给定视图内的所有像素块进行编码。因此,当对输入图像800的顶部视图850中的像素块编码时,可创建填充参考图像870的单个实例以用于对来自顶部视图850的所有像素块进行编码。类似地,当对输入图像800的后视图830中的像素块编码时,可创建填充参考图像880的单个实例以用于对来自后视图830的所有像素块进行编码。此外,在构建填充参考图像时,不需要使用给定视图的所有图像数据。相反,提供足以在与正在执行的运动预测搜索的搜索窗口对应的区域中开发图像数据的填充图像数据的一部分是足够的。例如,图8(a)示出了围绕正在编码的图像800的顶部视图850中的像素块pb1提供的示例性搜索窗口sw。开发具有足以覆盖与给定视图(诸如视图850)的所有像素块的搜索窗口的并集对应的区域的数据的填充参考图像是足够的。因此,填充参考图像可得自参考图像的图像数据,该参考图像对应于作为被编码的像素块的协同定位的视图和与该协同定位的视图相邻的图像的部分。在图8(b)中,参考图像的顶部视图872与其中pb1驻留的视图850协同定位,并且可使用来自参考图像的前、左、后和右视图中的一部分来构建与视图850的所有像素块的搜索窗口的并集共延的填充参考图像870。如果围绕顶部视图850(图8(a))中的像素块的搜索窗口不能获取这些视图,则不必要使用来自参考图像的整个前、左、后和右视图。图7的方法700可应用于另选格式的立方体映射图像。例如,图9(a)示出了具有避免使用空区的布局的立方体映射图像900。在该示例中,立方体映射图像900分别包含前视图910、左视图920、后视图930、右视图940、顶视图950和底视图960,这些视图由图9(b)中示出的视场产生。可以常规阵列诸如图9(a)中所示的3x2阵列来将视图910至960布置在图像中。然而,在这样做时,立方体映射图像900引入沿视图边缘的可能已在不同布局(诸如图3和图6中所示的布局)中避免的附加不连续性。在图9的示例中,前视图910、左视图920和后视图930被布置用于保持边缘912|928和922|936上的图像连续性。类似地,右、顶部和底部视图被布置用于保持边缘946|954和942|962上的图像连续性。在前视图910和底部视图960之间、在左视图920和右视图940之间以及在顶部视图950和后视图930之间的接缝处形成不连续部。例如,在前视图910和底部视图960在立方体映射图像900中相遇的情况下,边缘916和968相邻于彼此放置,即使它们在可用空间中不相邻(由图9(b))。相似地,在左视图920和右视图940在立方体映射图像900中相遇的情况下,边缘924和944相邻于彼此放置,即使它们在可用空间中不相邻。并且,进一步地,在后视图930和顶部视图950在立方体映射图像900中相遇的情况下,边缘938和952相邻于彼此放置,但它们的取向(顶视图被翻转)与在自由空间中的取向不同。图9(a)中的虚线示出了这些不连续部,其中连续的图像视图之间的接缝用实线来表示。使用图7的技术,可针对诸如图9中所示立方体映射图像的视图开发填充参考图像。当对来自立方体映射图像900的顶部视图950的像素块数据进行编码时,填充参考图像可来源于参考画面的顶部视图以及来源于源自图8(b)所示的前、左、后和右图像的填充图像。类似地,当对来自立方体映射图像900的后视图930的像素块数据进行编码时,填充参考图像可来源于参考画面的后视图以及来源于源自图8(c)所示的底部、右、顶部和左图像的填充图像。在一个实施方案中,可在运动预测搜索之前对填充的图像数据执行图像变换。可执行此类变换以将来自填充图像的图像数据投影到该填充图像数据所附加到的视图的域中。图10示出了根据本公开的实施方案的一种此类投影。如图10(a)中所示,对象的图像数据将出现在立方体映射图像1000的多个视图中是可能的。例如,对象obj的图像数据(图10(b))示出为显现在立方体映射图像1000的右视图1010和顶部视图1020中。由于捕获这些视图1010、1020的图像数据的一个或多个图像传感器的不同视角,如果将右视图1010和顶部视图1020作为单个“平面”图像来处理,则该对象可能出现失真。在一个实施方案中,可对填充图像数据进行变换以抵消由于视场之间的差异而产生的失真。图10(c)示意性地示出了根据本公开的实施方案的变换的操作。在该实施方案中,可假定来自顶部视图1020的填充图像数据被生成用于与来自右视图1010的图像数据相邻放置。在该实施方案中,当来自顶部视图1020的图像数据的投影出现在右视图1030的平面中时,对该投影进行估计。例如,对象obj(图10(a))可被估计为在顶部视图中具有长度l1。该长度占据从立方体映射图像的视图的假设中心测量的角度α。从该角度α,当该对象出现在右视图1010的平面中时可导出其长度l2。因此,出于预测目的,可开发填充图像数据1030(图10(d)),该填充图像数据抵消可能由于视场的不同视角而引起的图像失真并提供图像数据的改善的连续性。本发明的原理还可应用于球面投影格式的等量矩形图像。图11示出了与球面投影图像数据一起使用的填充数据的应用。图11(a)示出了平面投影中的第一视图1110的图像数据,并且图11(b)示出了根据球面投影进行变换的图11(a)视图的图像数据1120。此类变换是常见的,例如,当从全向相机的顶部视图将数据映射到等量矩形图像时。实质上,视图1110可表示图像空间的“北极”的数据。图11(c)和图11(d)表示根据平面图像格式(参考标号1130)和球面投影(参考标号1140)的示例性参考图像。在视频编码期间,球面投影参考图像1140的图像数据可用作新图像的预测参考,该新图像由球面投影图像1120表示。可能会发生由于图像数据的球面投影,平面域中数据的运动的相对适度的变化(例如,在像素块1150和1152之间)可引起等量矩形图像的大位移,如图11(d)中运动向量mv所示。图11(e)中所示的图像填充可沿该等量矩形图像的周边复制预测数据。在图11(e)的示例中,通过沿参考图像1140的边缘1142(图11(d))复制该参考图像的内容、翻转该复制的图像、以及将翻转的图像放置成与边缘1142相邻来创建填充参考图像。这样,该填充参考图像沿边缘1142创建图像内容的连续性,这可在预测搜索期间产生较短的运动矢量并由此导致编码效率的提高。图12示出了根据本公开的实施方案的方法1200。方法1200根据来自相同图像的先前编码的像素块的运动矢量来预测等量矩形图像的像素块的搜索窗口。该方法1200可将先前编码的像素块的运动矢量从等量矩形图像的域投影到球面域(框1210)。方法1200可从先前编码的像素块的球面投影运动矢量来估计要被编码的新像素块的搜索窗口(框1220)。该方法1200可将搜索窗口从球面投影变换回输入图像的等量矩形投影(框1230)。然后,方法1200对已变换的搜索窗口内的参考执行预测搜索(框1240)。图13示出了可通过图12的方法1200处理的示例性等量矩形图像1300。在对像素块1310进行编码时,来自图像1300的其他像素块1320、1330可能已被编码,因此可针对编码的像素块1320、1330限定运动矢量mv1、mv2(图13(a))。这些运动矢量mv1、mv2可投影到球面域1350(图13(b))。在许多实例中,运动矢量mv1、mv2可指球面投影中的图像内容的协同定位的区(图13(b)),即使运动矢量mv1、mv2不是指等量矩形格式的协同定位区。搜索窗口可从球面投影中的运动矢量导出,例如,通过对运动矢量求平均并限定关于由此获得的所得矢量的预定尺寸的搜索区。然后,可将搜索窗口变换回到等量矩形图像1300的域。等量矩形格式与球面投影之间的变换可根据2016年12月23日提交的共同未决的专利申请s.n.15/390,202中描述的技术来执行,该专利的公开内容据此以引用方式并入本文。图14是根据本公开的实施方案的编码系统1400的功能框图。系统1400可包括像素块编码器1410、像素块解码器1420、回路滤波器系统1430、参考画面存储库1440、填充单元1450、预测器1460、控制器1470和语法单元1480。填充单元1450可根据前述讨论的实施方案中的一个或多个实施方案生成填充图像数据。像素块编码器1410和解码器1420以及预测器1460可迭代地在画面的各个像素块上操作。预测器等量矩形1460可预测在新呈现的输入像素块的编码期间使用的数据。像素块编码器1410可通过预测编码技术对新像素块进行编码,并将编码像素块数据呈现给语法单元1480。像素块解码器1420可解码经编码的像素块数据,由此产生解码像素块数据。回路滤波器1430可以对从由像素块解码器1420获得的经解码像素块组合的经解码画面执行各种滤波操作。经滤波画面可以被存储在参考画面存储库1440中,其中其可以被用作稍后接收的像素块的预测的源。语法单元1480可组合来自符合管理编码协议的编码像素块数据的数据流。像素块编码器1410可包括减法器1412、变换单元1414、量化器1416和熵编码器1418。像素块编码器1410可以在减法器1412处接受输入数据的像素块。减法器1412可接收来自预测器1460的预测像素块,并由此生成表示输入像素块与预测像素块之间的差异的像素残差阵列。变换单元1414可以对从减法器1412输出的样本数据应用变换,以将数据从像素域转换到变换系数域。量化器1416可对由变换单元1414输出的变换系数执行量化。量化器1416可为均匀或非均匀量化器。熵编码器1418可通过例如通过可变长度码字对输出进行编码来减小系数量化器的输出带宽。变换单元1414可以在控制器1470所确定的多种变换模式中操作。例如,变换单元1414可以应用离散余弦变换(dct)、离散正弦变换(dst)、walsh-hadamard变换、haar变换、daubechies小波变换等。在一个实施方案中,控制器1470可以选择变换单元1415要应用的编码模式m,可以相应地配置变换单元1415,并且可以显式地或隐式地在编码视频数据中发信号通知编码模式m。量化器1416可以根据控制器1470所提供的量化参数qp来操作。在一个实施方案中,量化参数qp可以作为多值量化参数被应用于变换系数,多值量化参数例如在变换域像素块内的不同系数位置上可以改变。因此,量化参数qp可以被提供成量化参数阵列。像素块解码器1420可以反转像素块编码器1410的编码操作。例如,像素块解码器1420可以包括去量化器1422、逆变换单元1424和加法器1426。像素块解码器1420可从量化器1416的输出获取其输入数据。尽管允许,像素块解码器1420不必执行熵编码数据的熵解码,因为熵编码是无损事件。去量化器1422可反转像素块编码器1410的量化器1416的操作。去量化器1422可执行如解码信号qp所指定的均匀或非均匀去量化。类似地,逆变换单元1424可以反转变换单元1414的操作。去量化器1422和逆变换单元1424可以使用与像素块编码器1410中其对应部件相同的量化参数qp和变换模式m。量化操作可能将在各个方面截断数据,并且因此,在与被呈现给像素块编码器1410中的量化器1416的数据相比时,去量化器1422所恢复的数据很可能将具有编码误差。加法器1426可以反转减法器1412所执行的操作。它可以接收与减法器1412在生成残差信号中所使用相同的来自预测器1460的预测像素块。加法器1426可以将预测像素块添加到逆变换单元1424所输出的重建残差值,并且可以输出重建的像素块数据。回路滤波器1430可对所恢复的像素块数据执行各种滤波操作。例如,回路滤波器1430可以包括解块滤波器1432和样本自适应偏移(“sao”)滤波器1433。解块滤波器1432可以对重建的像素块之间接缝处的数据进行滤波,以减少由于编码而产生的像素块之间的不连续。sao滤波器可例如基于边缘方向/形状和/或像素/颜色分量水平,根据sao“类型”将偏移添加到像素值。回路滤波器1430可根据由控制器1470选择的参数来操作。参考画面存储库1440可以存储经滤波的像素数据以供在其他像素块的后续预测中使用。使不同类型的预测数据可供预测器1460使用以用于不同预测模式。例如,对于输入像素块,帧内预测从输入像素块所位于的相同画面的经解码数据获取预测参考。因此,参考画面存储库1440可以存储在编码时每个画面的经解码像素块数据。对于相同的输入像素块,帧间预测可以从被指定为参考画面的先前编码和解码的画面获取预测参考。因此,参考画面存储库1440可以存储这些经解码的参考画面。填充单元1450可生成填充图像数据,如前述实施方案中所讨论。因此,该填充单元可执行图4至图12所示的操作以生成填充图像数据,预测器1460可从该填充图像数据来选择预测参考。如所论述的,预测器1460可以将预测数据提供给像素块编码器1410以在生成残差中使用。预测器1460可以包括帧间预测器1462、帧内预测器1463和模式决策单元1462。帧间预测器1462可以接收表示要编码的新像素块的球面投影像素块数据,并且可以对于来自一个或多个参考画面的像素块数据从存储库1440搜索参考画面数据的球面投影,以用于对输入像素块进行编码。帧间预测器1462可以支持多种预测模式,诸如p模式编码和b模式编码。帧间预测器1462可以选择帧间预测模式以及提供与被编码的输入像素块最接近匹配的候选预测参考数据的标识。帧间预测器1462可以生成预测参考元数据,诸如运动矢量,以标识哪些参考画面的哪个(哪些)部分被选择作为输入像素块的预测源。帧内预测器1463可以支持帧内(i)模式编码。帧内预测器1463可以从来自与被编码像素块相同的画面的球面投影像素块数据中进行搜索,这提供与球面投影输入像素块的最接近匹配。帧内预测器1463也可以生成预测参考指示符以标识画面的哪个部分被选择作为输入像素块的预测源。模式决策单元1462可以选择要应用于输入像素块的最终编码模式。通常,如上所述,在给定目标比特率的情况下,模式决策单元1462选择在解码视频时将实现最低失真的预测模式。当编码模式被选择为满足编码系统1400所遵循的其他策略,诸如满足特定信道行为、或支持随机接入或数据刷新策略时,可能出现例外。在模式决策选择最终编码模式时,模式决策单元1462可以将来自存储库1440的非球面投影的参考块输出给像素块编码器1410和解码器1420,并且可以向控制器1470提供所选择的预测模式的标识以及对应于所选择模式的预测参考指示符。控制器1470可以控制编码系统1400的整个操作。控制器1470可以基于输入像素块的分析以及还有外部约束(诸如编码比特率目标和其他操作参数)来选择像素块编码器1410和预测器1460的操作参数。与本论述相关,在选择量化参数qp、均匀或非均匀量化器的使用、和/或变换模式m时,可以将那些参数提供给语法单元1480,该语法单元可以将表示那些参数的数据包括在系统1400所输出的经编码视频数据的数据流中。控制器1470也可以在系统可以用以生成参考图像的不同操作模式之间进行选择,并且可以包括标识为经编码数据的每个部分选择的模式的元数据。在操作期间,控制器1470可以按照图像数据的不同粒度,要么以每个像素块为基础要么在更大粒度(例如,每画面、每切片、每个最大编码单元(“lcu”)或另一区域),来修改量化器1416和变换单元1415的操作参数。在一个实施方案中,量化参数可以在经编码的画面内以每像素为基础进行修改。另外,如所论述的,控制器1470可以控制回路滤波器1430和预测单元1460的操作。对于预测单元1460,此类控制可包括模式选择(λ,待测模式、搜索窗口、失真策略等),并且对于回路滤波器1430,包括选择滤波器参数、重新排序参数、加权预测等。在一个实施方案中,预测器1460可使用球面投影中的输入像素块数据和参考像素块数据来执行预测搜索。此类预测技术的操作在2016年12月23日提交的并转让给本申请的受让人的美国专利申请15/390,202中有所描述。在此类实施方案中,编码器1400可包括球面变换单元1490,该球面变换单元将输入像素块数据在被输入到预测器1460之前变换到球面域。填充单元1450可将参考画面数据在被输入到预测器1460之前变换到球面域(除了执行上文所述的变换之外)。如所讨论的,视频编码系统1400可提供编码视频数据中的元数据,该元数据识别由编码系统1400所选择的填充技术的参数。下文描述了可结合h.265(“hevc”)编码协议一起使用的示例性语法:可通过将如下所示的新字段“vps_projection_format_id”添加到video_parameter_set_rbsp来修改视频参数集语法,如下所示:video_parameter_set_rbsp(){描述符vps_video_parameter_set_idu(4)vps_base_layer_internal_flagu(1)vps_base_layer_available_flagu(1)vps_max_layers_minus1u(6)vps_max_sub_layers_minus1u(3)vps_temporal_id_nesting_flagu(1)vps_projection_format_idu(2)在这种实例中,vps_projection_format_id可以是标识由编码器应用的投影格式的两位字段。可以在序列参数集(seq_paramter_set_rbsp())中发出投影格式信号,如下所示:以举例的方式,projection-format-id可采用以下值:projection_format_id格式02d常规视频1等量矩形2立方体映射3预留此外,可发信号通知cube_map_packing_id,如下所示:当然,可根据需要来扩展代码的数量以适应其他立方体映射格式。此外,可以对reference_padding_mode字段进行编码,以识别由编码器应用的不同变换。例如,如果reference_padding_mode设置为“0”,那么可能指示未使用任何变换。如果reference_padding_mode设置为“1”,那么可能指示根据图14来执行了变换。再次,可根据需要来扩展代码的数量以适应其他变换。图15是根据本公开的实施方案的解码系统1500的功能框图。解码系统1500可包括语法单元1510、像素块解码器1520、回路滤波器1530、参考画面存储库1140、填充单元1550、预测器1560和控制器1570。语法单元1510可以接收经编码的视频数据流,并且可以将经编码的数据解析成其组成部分。表示编码参数的数据可被提供给控制器1570,而表示编码残差的数据(图11的像素块编码器1110输出的数据)可被提供给像素块解码器1520。像素块解码器1520可反转由像素块编码器1110提供的编码操作(图11)。回路滤波器1530可过滤重建的像素块数据。重建的像素块数据可组合成用于显示的画面并且从解码系统1500输出作为输出视频。画面也可以被存储在预测缓冲器1540中以用于在预测操作中使用。填充单元1550可基于编码数据中包含的元数据来生成填充参考图像,如前述讨论中所述。预测器1560可以向像素块解码器1520提供预测数据,预测数据由经编码的视频数据流中接收的编码数据确定。像素块解码器1520可包括熵解码器1522、去量化器1524、逆变换单元1526和加法器1528。熵解码器1522可执行熵解码以反转由熵编码器1118执行的过程(图11)。去量化器1524可反转像素块编码器1110的量化器1116的操作(图11)。类似地,逆变换单元1526可以反转变换单元1114的操作(图11)。它们可以使用在经编码的视频数据流中提供的量化参数qp和变换模式m。由于量化可能要截断数据,因此去量化器1524所恢复的数据在与被呈现给像素块编码器1110中其对应量化器1116的输入数据(图11)进行比较时可能将具有编码误差。加法器1528可反转减法器1111所执行的操作(图11)。它可以接收来自预测器1560的预测像素块,该预测像素块由经编码的视频数据流中的预测参考所确定。加法器1528可以将预测像素块添加到逆变换单元1526所输出的重建残差值,并且可以输出重建的像素块数据。回路滤波器1530可以对重建的像素块数据执行各种滤波操作。如图所示,回路滤波器1530可以包括解块滤波器1532和sao滤波器1534。解块滤波器1532可以对重建的像素块之间接缝处的数据进行滤波,以减少由于编码而产生的像素块之间的不连续。sao滤波器1534可以根据sao类型,例如基于边缘方向/形状和/或像素电平对像素值添加偏移。也可以按类似的方式使用其他类型的回路滤波器。解块滤波器1532和sao滤波器1534的操作理想地将模拟编码系统1100中其对应部分的操作(图11)。因此,在不存在传输误差或其他异常的情况下,从解码系统1500的回路滤波器1530获得的经解码画面将与从编码系统1100的回路滤波器1150获得的经解码画面(图11)相同;这样,编码系统1100和解码系统1500应在它们各自的参考画面存储库1140、1540中存储同一组参考画面。参考画面存储库1540可以存储经滤波的像素数据以供在其他像素块的后续预测中使用。参考画面存储库1540可以存储在被编码时每个画面的经解码的像素块数据以供在帧内预测中使用。参考画面存储库1540也可以存储经解码的参考画面。填充单元1550可基于编码数据中包含的元数据生成填充的参考图像,如前述讨论中所述。因此,填充单元1550还可执行如前述图4至图11所述的操作,以生成预测器1560可对其进行操作的填充参考图像。在解码器1500中,填充图像数据的类型将由编码图像数据中提供的元数据来确定,该元数据识别由编码器执行的填充操作。填充单元1550可复制该填充操作以生成与编码器生成的填充参考图像数据相匹配的填充参考图像数据。当然,除非与编码像素块相关联的预测信息引用填充参考图像的填充区中的数据,否则填充单元1550不必执行填充操作。参见图8,如果编码器使用来自填充参考图像870的顶部视图872的预测数据来对像素块pb1进行编码,则像素块pb1不依赖于来自任何填充图像874.1至874.4的数据。在解码器处,填充单元1550无需执行操作来导出填充图像数据以解码该编码像素块pb1。另一方面,可使用来自填充图像884.3(图8(c))的数据来编码不同像素块(例如,pb2)。在这种实例中,填充单元1550(图15)可开发对应于编码器所选择的参考数据的填充图像数据。因此,解码器1500确定在生成给定编码像素块的填充图像数据之前是否通过预测来引用填充图像数据。如所讨论的,预测器1560可以将经变换的参考块数据提供给像素块解码器1520。预测器1560可以提供由经编码的视频数据流中所提供的预测参考指示符确定的所预测的像素块数据。预测器1560还可复制图12至图13中所述的变换技术。控制器1570可以控制编码系统1500的整个操作。控制器1570可以基于在经编码的视频数据流中接收的参数来设定像素块解码器1520和预测器1560的操作参数。与本论述相关,这些操作参数可以包括去量化器1524的量化参数qp和逆变换单元1515的变换模式m。如所论述的,所接收的参数可以按照图像数据的各种粒度被设定,例如,以每像素块为基础、以每画面为基础、以每切片为基础、以每lcu为基础、或者基于为输入图像定义的其他类型的区域。前述论述已在视频编码器和解码器的上下文中描述了本公开各实施方案的操作。这些部件常常作为电子设备来提供。视频解码器和/或控制器可以被嵌入在集成电路中,诸如专用集成电路、现场可编程门阵列和/或数字信号处理器。另选地,它们可以被嵌入到在相机设备、个人计算机、笔记本电脑、平板电脑、智能电话或计算机服务器上执行的计算机程序中。此类计算机程序通常存储在物理存储介质诸如电子、磁性和/或基于光学的存储设备中,在那里它们被读取到处理器并且被执行。解码器常常被封装在消费电子设备中,诸如智能电话、平板电脑、游戏系统、dvd播放器、便携式媒体播放器等;并且,它们也可以被封装在消费软件应用程序中,诸如视频游戏、媒体播放器、媒体编辑器等。并且,当然,这些部件可以被提供作为根据需要在专用硬件部件和经编程的通用处理器上分配功能的混合系统。例如,本文所述的技术可由计算机系统的中央处理器执行。图16示出了可执行此类技术的示例性计算机系统1600。计算机系统1600可包括中央处理器1610、一个或多个相机1620、存储器1630、以及以彼此通信地提供的收发器1640。相机1620可执行图像捕获,并且可将捕获的图像数据存储在存储器1630中。可选地,设备还可根据需要包括接收器部件,诸如显示器1650和编码器1660。中央处理器1610可读取并执行存储在存储器1630中的各种程序指令,该程序指令定义系统1600的操作系统1612和各种应用1616.1至1616.n。该程序指令可根据本文所述的技术执行图像滤波。在执行那些程序指令时,中央处理器1610可从存储器1630读取由相机1620或应用程序1616.1至1616.n创建的图像数据,该图像数据可被编码用于传输。中央处理器1610可执行根据图6的原理来操作的程序。另选地,系统1600可具有作为独立处理系统和/或集成电路提供的专用编码器1650。如图所示,存储器1630可存储程序指令,该程序指令当被执行时使得处理器执行上文所述的技术。存储器1630可在基于电、磁和/或光学的存储介质上存储程序指令。收发器1640可表示通信系统以传输传输单元并从网络(未示出)接收确认消息。在其中中央处理器1610操作基于软件的视频编码器的实施方案中,收发器1640可将表示存储器1630中的确认消息的状态的数据放置成供处理器1610检索。在其中系统1600具有专用编码器的实施方案中,收发器1640可与编码器1650交换状态信息。已经出于例示和描述的目的呈现了前面的描述。它们并非是穷举性的并且并非将本公开的实施方案限制到所公开的精确形式。鉴于上面的教导内容,修改和变型是可能的,或者可从实践与本公开一致的实施方案获取修改和变型。除非本文另有描述,可采用任何组合来实施任何方法。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1