视频编码方法和装置以及相关的视频解码方法和装置与流程

文档序号:15625697发布日期:2018-10-09 22:55阅读:190来源:国知局

本发明有关于视频编码和视频解码,更具体地,涉及使用独立分区编码(independentpartitioncoding)的视频编码方法和装置以及相关的视频解码方法和装置。



背景技术:

传统的视频编码标准通常采用基于块的编码技术,来利用空间和时间冗余。例如,基本方法是将整个源帧划分为多个块,对每个块执行帧内预测(intraprediction)/帧间(inter)预测,对每个块的残差进行转换,并执行量化和熵编码。此外,生成重构帧(reconstructedframe)以提供用于对后续块(followingblock)进行编码的参考像素数据。对于某些视频编码标准,可以使用环路滤波器(in-loopfilter)来增强重构帧的图像质量。视频解码器用于执行由视频编码器执行的视频编码操作的逆操作。例如,在视频解码器中生成重构帧,以提供用于解码后续块的参考像素数据。

当前块的环路滤波可能需要从相邻块提供的数据。因此,关于环路滤波,相邻块之间存在数据依赖关系。在相邻块属于相同帧内的不同分区(例如,切片或图象块(slicesortiles))的情况下,由于环路滤波的数据依赖,多个分区的并行/独立编码和多个分区的并行/独立解码不能实现。因此,需要一种创新的环路滤波设计,允许不同分区的并行/独立编码和不同分区的并行/独立解码。



技术实现要素:

有鉴于此,本发明提供一种视频编码方法和装置以及相关的视频解码方法和装置。

依据本发明一实施方式,提供一种视频编码方法,其中编码帧以产生输出比特流,包括:将所述帧划分成多个分区;将每个分区划分成多个块,其中每个块由多个像素组成;将第一分段标识符分配给位于所述帧内的两个相邻分区之间的分区边界处的多个第一块中的每个,其中所述第一块属于第一分段,并且所述第一分段标识符通过每个所述第一块的所述输出比特流来发送;以及编码所述每个块,包括:分别为所述多个块生成多个重构块;以及响应于所述第一分段标识符,通过预定的环路滤波设置来配置环路滤波器,其中具有所述预定的环路滤波设置的所述环路滤波器不对相应于所述第一分段的每个所述重构块应用环路滤波。

依据本发明另一实施方式,提供一种解码输入比特流的方法,其中,编码帧来生成所述输入比特流,所述帧被划分成多个分区,每个分区被划分成多个块,每个块由多个像素组成,所述方法包括:解码所述帧的所选分区内的所述每个块,包括:生成所述每个块的重构块;从所述输入比特流导出所述每个块的分段标识符;以及当所述分段标识符是第一分段标识符时,响应于所述第一分段标识符,通过预定的环路滤波设置来配置环路滤波器,其中具有所述预定的环路滤波设置的所述环路滤波器不对属于第一分段的所述重构块应用环路滤波,并且所述第一分段包括位于所述帧内的两个相邻分区之间的分区边界处的多个第一块。

依据本发明另一实施方式,提供一种视频编码器,用于编码帧以生成输出比特流,包括:控制电路,用于将所述帧划分成多个分区,将每个分区划分成多个块,每个块由多个像素组成,并且将第一分段标识符分配给位于所述帧内的两个相邻分区之间的分区边界处的多个第一块中的每个,其中所述第一块属于第一分段,并且所述第一分段标识符通过每个第一块的所述输出比特流来发送;以及编码电路,用于编码每个所述块,其中所述编码电路包括:重构电路,用于为所述多个块生成多个重构块;以及环路滤波器,用于响应于所述第一分段标识符,采用预定的环路滤波设置,其中具有所述预定的环路滤波设置的所述环路滤波器不对相应于所述第一分段的每个所述重构块应用环路滤波。

依据本发明另一实施方式,提供一种视频解码器,用于对编码帧来生成的输入比特流进行解码,所述帧被划分成多个分区,每个分区被划分成多个块,每个块由多个像素组成,所述视频解码器包括:解码电路,用于解码所述帧的所选分区内的所述每个块,其中所述解码电路包括:重构电路,用于生成所述每个块的重构块;熵解码电路,用于从所述输入比特流导出所述每个块的分段标识符;以及环路滤波器,当所述分段标识符是第一分段标识符时,所述环路滤波器响应于所述第一分段标识符,采用预定的环路滤波设置,其中具有所述预定的环路滤波设置的所述环路滤波器不对属于第一分段的所述重构块应用环路滤波,并且所述第一分段包括位于所述帧内的两个相邻分区之间的分区边界处的多个第一块。

依据本发明另一实施方式,提供一种用于帧的环路滤波方法,所述帧被划分成多个分区,每个分区被划分为多个块,每个块由多个像素组成,所述环路滤波方法包括:接收重构块;以及当所述重构块是位于所述帧内的两个相邻分区之间的分区边界上的第一块中的任何一个时,不对所述重构块应用环路滤波;其中,所述帧具有360度虚拟现实格式,并且由水平排列的六个立方面组成,并且所述分区边界包括在两个相邻的立方面之间的立方面边界。

本发明所提供的视频编码方法和装置以及相关的视频解码方法和装置,允许不同分区的并行/独立编码和不同分区的并行/独立解码,可以提高编码/解码效率,还能减少块伪影。

对于已经阅读后续由各附图及内容所显示的较佳实施方式的本领域的技术人员来说,本发明的各目的是明显的。

附图说明

图1为根据本发明的实施例的视频处理系统的示意图。

图2为根据本发明的实施例的视频编码器的示意图。

图3为根据本发明的实施例的视频解码器的示意图。

图4为根据本发明的实施例的独立分区编码设计的示意图。

图5为根据本发明的实施例的在非约束模式决定(unconstrainedmodedecision)下将帧划分成第一分段和第二分段的结果的示意图。

图6为根据本发明的实施例的在约束模式决定(constrainedmodedecision)下将帧划分成第一分段和第二分段的结果的示意图。

图7为根据本发明的实施例的具有360度虚拟现实组装的立方投影格式(360vrassembledcubicformat)并且由可独立解码的分区组成的帧的示意图。

图8为根据本发明的实施例的立方组装设计(cubicassemblerdesign)的示意图。

具体实施方式

在权利要求书及说明书中使用了某些词汇来指称特定的组件。所属领域中的技术人员应可理解,硬件制造商可能会用不同的名词来称呼同样的组件。本权利要求书及说明书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。在权利要求书及说明书中所提及的「包括」为开放式的用语,故应解释成「包括但不限定于」。另外,「耦接」一词在此包括任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表所述第一装置可直接电连接于所述第二装置,或通过其他装置或连接手段间接地电连接至所述第二装置。

图1为根据本发明的实施例的视频处理系统的示意图。视频处理系统100包括视频编码器102和视频解码器104,其中视频编码器102经由传输装置103与视频解码器104进行通信。例如,传输装置103可以是有线/无线通信链路或存储介质。在该实施例中,视频编码器102用于对帧img进行编码以生成比特流bs作为输出比特流,并且视频解码器104用于接收比特流bs以作为输入比特流,并对接收的比特流bs进行解码,以生成解码帧img'。例如,可以从视频捕获装置生成帧img,并且可以在显示屏上显示解码帧img'。

图2为根据本发明的实施例的视频编码器的示意图。例如,图1所示的视频编码器102可以使用图2所示的视频编码器200来实现。应该注意的是,图2所示的视频编码器结构仅用于说明的目的,并不意味着对本发明的限制。如图2所示,视频编码器200包括控制电路202和编码电路204。控制电路202对编码电路204的处理块提供编码器控制。例如,控制电路202可以为编码电路204决定编码参数(例如,控制语法元素),其中编码参数(例如,控制语法元素)经由从视频编码器200生成的比特流bs被发送到视频解码器(例如,图1所示的视频解码器104)。关于编码电路204,其包括加法器211(用于执行数据相减)、转换电路(附图中表示为“t”)212、量化电路(附图中表示为“q”)213、熵编码电路(例如,可变长度编码器)214、逆量化电路(附图中表示为“iq”)215、逆转换电路(附图中表示为“it”)216、加法器(用于执行数据求和)217、至少一个环路滤波器(例如,去块滤波器(deblockingfilter))218、参考帧缓冲器219,帧间预测电路220(其包括运动估计电路(附图中表示为“me”)221和运动补偿电路(附图中表示为“mc”))222)、帧内预测电路(附图中表示为“ip”)223和帧内/帧间模式选择开关224。加法器211是残差计算电路,用于从将被编码的当前块中减去预测块以生成当前块的残差至转换电路212。当帧内/帧间模式选择开关224由所选择的帧内预测模式控制时,可以从帧内预测电路223来生成预测块,并且当帧内/帧间模式选择开关224由所选择的帧间预测模式控制时,可以从帧间预测电路220来生成预测块。在由转换电路212和量化电路213顺序处理之后,将当前块的残差转换为量化转换系数,其中量化转换系数在熵编码电路214处被熵编码为比特流bs的一部分。

编码电路204具有内部解码电路。因此,量化转换系数经由逆量化电路215和逆转换电路216顺序处理,以生成当前块的解码残差至加法器217。加法器217作为重构电路,用于组合当前块的解码残差和当前块的预测块,以生成存储在参考帧缓冲器219中的参考帧(其为重构帧)的重构块。帧间预测电路220可以使用参考帧缓冲器219中的一个或多个参考帧,以在帧间预测下生成预测块。在重构块被存储到参考帧缓冲器219中之前,环路滤波器218可以在重构块上执行指定的(designated)环路滤波。例如,环路滤波器218可以包括去块滤波器,其目的在于减少由于基于块的编码而引入的块伪影(blockingartifact)。

图3为根据本发明的实施例的视频解码器的示意图。例如,图1所示的视频解码器104可以使用图3所示的视频解码器300来实现。应该注意的是,图3所示的视频解码器结构仅用于说明的目的,并不意味着对本发明的限制。如图3所示,视频解码器300是解码电路,其包括熵解码电路(例如,可变长度解码器)302、逆量化电路(附图中表示为“iq”)304、逆转换电路(附图中表示为“it”)306、加法器(用作重构电路以执行数据求和)308、运动向量计算电路(附图中表示为“mv计算”)310、运动补偿电路(附图中表示为“mc”)313、帧内预测电路(附图中表示为“ip”)314、帧内/帧间模式选择开关316、至少一个环路滤波器(例如,去块滤波器)318和参考帧缓冲器320。

当块被帧间编码时,运动向量计算电路310参考由熵解码电路302从比特流bs解析的信息,以确定正被解码的帧的当前块和参考帧的预测块之间的运动向量,该参考帧是存储在参考帧缓冲器320中的重构帧。运动补偿电路313可以执行内插滤波以根据运动向量生成预测块。预测块被提供给帧内/帧间模式选择开关316。由于该块被帧间编码,帧内/帧间模式选择开关316将从运动补偿电路313生成的预测块输出到作为重构电路的加法器308。

当块被帧内编码时,帧内预测电路314生成预测块到帧内/帧间模式选择开关316。由于块被帧内编码,帧内/帧间模式选择开关316输出从帧内预测电路314生成的预测块到作为重构电路的加法器308。

此外,通过熵解码电路302、逆量化电路304和逆转换电路306获得块的解码残差(decodedresidual)。重构电路(即,加法器308)组合解码残差和预测块以生成重构块。重构块可以被存储到参考帧缓冲器320中,以作为参考帧(其是重构帧)的一部分,该参考帧可用于解码后续块和帧。类似地,在重构块被存储到参考帧缓冲器320之前,环路滤波器318可以在重构块上执行指定的环路滤波。例如,环路滤波器318可以包括去块滤波器,其目的在于减少由于基于块的编码引入的块伪影。

为了清楚和简洁起见,假设在视频编码器102/200中实现的环路滤波器218和在视频解码器104/300中实现的环路滤波器318是去块滤波器。换句话说,术语“环路滤波器”和“去块滤波器”在本发明中可以互换。然而,这并不意味着对本发明的限制。实际上,本发明提出的相同独立分区编码设计也可以应用于其它环路滤波器,例如样本自适应偏移(sao)滤波器、自适应回路滤波器(adaptiveloopfilter,alf)、去环效应滤波器(deringfilter)和约束低通滤波器(constrainedlow-passfilter,clpf)。这些替代设计都落在本发明的范围内。

在将重构样本(reconstructedsamples)写入视频编码器/视频解码器中的参考帧缓冲器之前,去块滤波器被应用于重构样本。例如,除了边界也是帧边界的情况之外,将去块滤波器应用于每个转换块(transformblock)的边界处的所有重构样本。例如,关于转换块,当左垂直边缘不是帧的左垂直边缘(即,左边界)时,去块滤波器被应用于转换块的左垂直边缘(即,左边界)处的所有重构样本,并且当顶部水平边缘不是该帧的顶部水平边缘(即,顶部边界)时,去块滤波器也应用于转换块的顶部水平边缘(即,顶部边界)处的所有重构样本。为了在转换块的左垂直边缘(即,左边界)处对重构样本进行滤波,去块滤波器需要在左垂直边缘的两侧的重构样本。因此,去块滤波器的垂直边缘滤波,需要属于转换块的重构样本和属于左边相邻的转换块的重构样本。类似地,为了在转换块的顶部水平边缘(即,顶部边界)处对重构样本进行滤波,去块滤波器需要在顶部水平边缘的两侧的重构样本。因此,去块滤波器的水平边缘滤波,需要属于转换块的重构样本和属于上方相邻的转换块的重构样本。取决于所使用的转换大小,一个编码块可以被划分成一个或多个转换块。因此,编码块的左垂直边缘(即左边界)与包括在编码块中的转换块的左垂直边缘对齐,并且编码块的顶部水平边缘(即顶边界)与包括在编码块中的转换块的顶部垂直边缘对齐。因此,关于编码块的去块滤波,在编码块和相邻编码块之间存在数据依赖性。如果编码块位于帧内的两个相邻分区(例如,相邻切片或相邻图像块)之间的分区边界处,则去块滤波的数据依赖性可能降低同一帧内的多个分区的并行处理性能。

在该实施例中,视频编码器102可以采用独立的分区编码,以允许每个帧分区在视频编码器102处被独立编码,并在视频解码器104处独立解码。图4为根据本发明实施例的独立分区编码设计的示意图。当图1所示的视频编码器102使用图2所示的视频编码器200来实现时,控制电路202将帧img划分为多个分区(例如,切片或图像块),并将每个分区划分为多个编码块,其中每个编码块由像素组成。此外,一个编码块还可以被划分成一个或多个预测块,并且还可以被划分成一个或多个转换块。

为了防止相邻分区的并行处理性能被去块滤波的数据依赖性降低,控制电路202可以执行步骤402来设置编码参数,以将去块滤波器(例如,环路滤波器218)配置为完全禁用的去块滤波器(disableddeblockingfilter,dbf),或者可以执行步骤404来设置编码参数,以将去块滤波器配置为部分禁用的去块滤波器,其中编码参数可以是被发送到熵编码电路214的控制语法元素,使得编码参数被嵌入到比特流bs中。用于配置去块滤波器的嵌入编码参数被视频解码器104(其可以使用图3所示的视频解码器300来实现)使用,以在完全禁用的去块滤波器或部分禁用的去块滤波器中适当地操作去块滤波器(例如,环路滤波器318)。

在视频编码器200是h.264编码器的情况下,每个分区是一切片,并且用于将去块滤波器配置为完全禁用的去块滤波器或部分禁用的去块滤波器的控制语法元素可以包括图片参数集(pictureparameterset,pps)中的deblocking_filter_control_present_flag和/或在切片标头(sliceheader)中的disable_deblocking_filter_idc。

在视频编码器200是h.265编码器的另一情况下,每个分区是一切片或一图像块,并且用于将去块滤波器配置为完全禁用的去块滤波器或部分禁用的去块滤波器的控制语法元素可以包括在图片参数集中的tiles_enabled_flag、loop_filter_across_tiles_enabled_flag、pps_loop_filter_across_slices_enabled_flag、deblocking_filter_control_present_flag、deblocking_filter_override_enabled_flag和pps_deblocking_filter_disabled_flag中的至少一个和/或在切片标头中的deblocking_override_flag、slice_deblocking_filter_disabled_flag和slice_loo_filter_across_slices_enabled_flag中的至少一个。

在视频编码器200是vp9编码器的另一种情况下,每个分区是一图像块,并且用于将去块滤波器配置为完全禁用的去块滤波器或部分禁用的去块滤波器的控制语法元素可以包括在未压缩标头(uncompressedheader)中filter_level和/或使能的分段特征(enabledsegmentationfeature)。

当根据所选择的独立分区编码策略,去块滤波器(例如,环路滤波器218/318)被配置为完全禁用的去块滤波器时,对于所有分区/块/编码块(即,整个帧)禁能(disabled)去块滤波处理。以这种方式,在相邻分区之间的去块滤波的数据依赖性不再存在,从而提高了视频编码器的并行编码性能以及视频解码器的并行解码性能。对于视频编码器200是h.264编码器的情况,一个帧被划分成多个切片,并且控制语法元素的一个可能设置可以是:在图片参数集中的deblocking_filter_control_present_flag=1,并且在切片标头中的disable_deblocking_filter_idc=1。在disable_deblocking_filter_idc=1时,去块滤波器不会应用于整个当前切片。对于视频编码器200是h.265编码器的情况,一个帧被划分成多个切片或图像块,并且控制语法元素的第一可能设置可以是:在图片参数集中的deblocking_filter_control_present_flag=1,deblocking_filter_override_enabled_flag=0和pps_deblocking_filter_disabled_flag=1。或者,控制语法元素的第二可能设置可以是:在图片参数集中的eblocking_filter_control_present_flag=1和deblocking_filter_filride_enabled_flag=1,以及在切片片段标头(slicesegmentheader)中的deblocking_filter_override_flag=1和slice_deblocking_filter_disabled_flag=1。对于视频编码器200是vp9编码器的情况,可以将一个帧划分为水平排列的多个垂直图像块,并且控制语法元素的一个可能设置可以是:在未压缩标头中为filter_level=0。当filter_level=0时,去块滤波器不会应用于整个当前帧。

由于控制语法元素被嵌入在比特流bs中,视频解码器104(其可以使用视频解码器300来实现)可以在熵解码电路302处导出发送的控制语法元素,使得在视频解码器104中的去块滤波器的可被配置为完全禁用的去块滤波器。

然而,由于完全禁用的去块滤波器,当整个帧的去块滤波处理被禁用时,重构帧可能遭受块伪影。另一个独立的分区编码策略是将去块滤波器配置为部分禁用的去块滤波器,其仅在分区边界(例如,切片边界或图像块边界)处禁用去块滤波处理。例如,一个分区(例如,切片或图像块)可以包括位于帧内的两个相邻分区之间的分区边界处的第一编码块,并且还可以包括不位于相同的帧内的两个相邻分区之间的分区边界处的第二编码块。与完全禁用的去块滤波器相比,对不在分区边界处的第二编码块,采用部分禁用的去块滤波器可以减少来自基于块的编码导致的块伪影。

当根据所选择的独立分区编码策略,去块滤波器(例如,环路滤波器218/318)被配置为部分禁用的去块滤波器时,仅在划分边界处禁用去块滤波处理。类似地,在相邻分区之间的去块滤波的数据依赖性不再存在,从而提高了视频编码器的并行编码性能以及视频解码器的并行解码性能。

对于视频编码器200是h.264编码器的情况,一个帧被划分成多个切片,并且控制语法元素的一个可能的设置可以是:在图片参数集中的deblocking_filter_control_present_flag=1,并且在切片标头中的disable_deblocking_filter_idc=2。在disable_deblocking_filter_idc=2时,去块滤波器不会应用于切片边界。对于视频编码器200是h.265编码器的情况,一个帧划分成多个切片或图像块。当分区是图像块时,在图像块边界处禁能去块滤波的控制语法元素的一个可能设置可以是:在图片参数集中的tiles_enabled_flag=1和loop_filter_across_tiles_enabled_flag=0。当分区是切片时,在切片边界处禁能去块滤波的控制语法元素的第一可能设置可以是:在图片参数集中的pps_loop_filter_across_slices_enabled_flag=1和deblocking_filter_control_present_flag=1。或者,在切片边界处禁能去块滤波的控制语法元素的第二可能设置可以是在图片参数集中的pps_filter_across_slices_enabled_flag=1、deblocking_filter_control_present_flag=1和deblocking_filter_override_enabled_flag=1,并且在切片片段标头中的deblocking_filter_filter_expride_flag=1、slice_deblocking_filter_disabled_flag=0和slice_loop_filter_across_slices_enabled_flag=1。

由于控制语法元素被嵌入在比特流bs中,视频解码器104(其可以使用视频解码器300来实现)可以在熵解码电路302处导出发送的控制语法元素,使得在视频解码器104中的去块滤波器可以被配置为部分禁用的去块滤波器。

对于视频编码器200是vp9编码器的情况,可以将一个帧划分为水平排列的多个垂直图像块,并且使用去块滤波器来避免沿着转换块边缘的块伪影。然而,仅使用上述控制语法元素filter_level并不能实现将去块滤波器配置为仅在图像块边界处不应用去块滤波的部分使能的去块滤波器的目的。因此,本发明提出将控制语法元素filter_level与由vp9编码标准支持的分段特征相结合,以实现将去块滤波器配置为部分使能的去块滤波器的目的。

在该实施例中,控制电路202将帧img划分成水平排列的多个垂直图像块,其中每个垂直图像块是帧img的一个分区。根据提出的独立分区编码策略,其将去块滤波器配置为部分禁用的去块滤波器,可以独立地编码/解码垂直图像块。vp9提供了对帧进行分段,然后在段层级(segmentlevel)上设置各种信号或调整的装置。因此,控制电路202将第一分段标识符(例如,segment_id=0)分配给位于所述帧内的两个相邻分区(例如,vp9的相邻图像块)之间分区边界(例如,vp9的图像块边界)处的每个第一编码块,其中所述第一编码块属于第一分段(例如,分段#0),并且所述第一分段标识符(例如,segment_id=0)经由每个第一编码块的输出比特流bs来发送。此外,控制电路202将第二分段标识符(例如,segment_id=1)分配给不在所述帧内的两个相邻分区(例如,vp9的相邻图像块)之间的每个分区边界(例如,vp9的图像块边界)处的每个第二编码块,其中第二编码块属于第二分段(例如,分段#1),并且第二分段标识符(例如,segment_id=1)经由每个第二编码块的输出比特流bs来发送。换句话说,控制电路202将图像块边界处的编码块分类为第一分段(例如,分段#0),并将不在图像块边界处的编码块分类为第二分段(例如,分段#1)。换句话说,一个帧被划分成第一分段(例如,分段#0)和第二分段(例如,分段#1)。

应当注意,一个分段标识符仅具有一个滤波等级(filterlevel)。换句话说,属于分段的编码块具有相同的滤波等级。另外,编码块内的转换块共享相同的分段标识符。对于第一分段(例如,分段#0),控制电路202将控制语法元素filter_level设置为0(即,filter_level=0),使得被分类为第一分段的每个第一编码块内的所有转换块边缘不被去块滤波器去块滤波。换句话说,响应于第一分段标识符(例如,segment_id=0),环路滤波器218(例如,去块滤波器)由预定的环路滤波设置(例如,filter_level=0)来配置,其中具有预定的环路滤波设置(例如,filter_level=0)的环路滤波器218(例如,去块滤波器)不对与第一分段对应的每个重构编码块应用环路滤波(例如,去块滤波)。

对于第二分段(例如,分段#1),控制电路202将控制语法元素filter_level设置为适当的值(例如,filter_level>0),使得被分类为第二分段的每个第二编码块内的所有转换块边缘被允许通过去块滤波器(例如,环路滤波器218)进行去块滤波。换句话说,去块滤波器(例如,环路滤波器218)被允许对与第二分段对应的每个重构编码块应用环路滤波。通过设置控制语法元素filter_level并使能分段特征,vp9编码器的去块滤波器(例如,环路滤波器218)可以根据需要被配置为部分禁用的去块滤波器。

由于每个分段的控制语法元素和每个编码块的分段标识符被嵌入到比特流bs中,所以视频解码器104(其可以使用视频解码器300来实现)可以在熵解码电路302处获得发送的控制语法元素和发送的分段标识符,使得视频解码器104的去块滤波器可被配置为部分禁用的去块滤波器。例如,当编码块的解析的分段标识符是第一分段标识符(例如,segment_id=0)时,响应于第一分段标识符(例如,segment_id=0),环路滤波器318(例如,去块滤波器)被布置为采用发送的第一环路滤波设置(例如,分段#0的filter_level=0),其中具有发送的第一环路滤波设置(例如,分段#0的filter_level=0)的环路滤波器318(例如,去块滤波器),不对属于第一分段(例如,分段#0)的重构编码块应用环路滤波(例如,去块滤波)。另一个例子,当编码块的解析的分段标识符是第二分段标识符(例如,segment_id=1)时,响应于第二分段标识符(例如,segment_id=1),环路滤波器318(例如,去块滤波器)被布置为采用发送的第二环路滤波设置(例如,分段#1的filter_level>0),其中具有发送的第二环路滤波设置(例如,分段#1的filter_level>0)的环路滤波器318(例如,去块滤波器),允许对属于第二分段(例如,分段#1)的重构编码块应用环路过滤(例如,去块滤波)。

图5为根据本发明的实施例的在非约束模式决定下将帧划分成第一分段和第二分段的结果的示意图。当视频编码器是vp9编码器时,控制电路202可以将一个帧划分成用于独立编码/解码的水平排列的多个垂直图像块。在本实施例中,将帧分成水平排列的四个垂直图像块p1、p2、p3和p4。控制电路202进一步将每个垂直图像块p1-p4分成多个编码块。由于采用无约束模式决定,所以控制电路202通过从候选编码块大小(例如,64×64、64×32、32×64、32×32、32×16、16×32、16×16、...8×8等)中选择的最佳编码块大小,来确定两个相邻图像块之间的图像块边界处的每个第一编码块的编码块大小,并且通过从候选编码块大小(例如,64×64、64×32、32×64、32×32、32×16、16×32、16×16、...8×8等)中选择的最佳编码块大小,来确定不在两个相邻图像块之间的图像块边界处的每个第二编码块的编码块大小。例如,在候选编码块大小中,最佳编码块大小使得编码块具有从基于块的编码导致的最小失真。如图5所示,第一分段(由阴影区域表示)可以具有32×32编码块、16×16编码块和8×8编码块,第二分段(由非阴影区域表示)可以具有32×32编码块、16×16编码块和8×8编码块。如上所述,去块滤波不会被应用于属于第一分段的第一编码块。由于用于确定编码块大小的模式决定不被约束,所以可能的是,两个相邻图像块之间的图像块边界处的第一编码块的编码块大小是较大的(例如,32×32)。结果是,由于第一分段具有较大的非去块滤波区域(non-deblocking-filteredarea)的事实,重构帧中可能存在较为严重的块伪影。

为了减少非去块滤波区域(即,第一分段的区域),本发明提出使用约束模式决定。图6为根据本发明的实施例的在约束模式决定下将帧划分成第一分段和第二分段的结果的示意图。当视频编码器是vp9编码器时,控制电路202可以将一个帧划分成用于独立编码/解码的水平排列的多个垂直图像块。在本实施例中,将帧分成水平布置的四个垂直图像块p1、p2、p3和p4。控制电路202进一步将每个垂直图像块p1-p4分成多个编码块。在本实施例中,控制电路202有条件地选择编码块的最佳编码块大小。例如,控制电路202通过从候选编码块大小(例如,64×64、64×32、32×64、32×32、32×16、16×32、16×16、...8×8等)中选择的最小编码块大小(例如,8×8),来确定两个相邻图像块之间的图像块边界处的每个第一编码块的编码块大小,并且通过从候选编码块大小(例如,64×64、64×32、32×64、32×32、32×16、16×32、16×16等)中选择的最佳编码块大小,来确定不在两个相邻图像块之间的图像块边界处的每个第二编码块的编码块大小。如图6所示,第一分段(由阴影区域表示)仅具有8×8编码块(即,具有相同的最小编码块大小8×8的编码块),而第二分段(由非阴影区域表示)可以具有32×32编码块、16×16编码块和8×8编码块。如上所述,去块滤波不会被应用于属于第一分段的第一编码块。由于用于确定编码块大小的模式决定被限制用于在两个相邻图像块之间的每个图像块边界处的编码块,第一分段仅由最小大小编码块组成,因此具有较小的非去块滤波区域。以这种方式,由于第一分段被约束为具有较小的非去块滤波区域的事实,在重构帧中可以减少块伪影。

使用独立分区编码的视频编码器102可以消除在相邻分区之间的环路滤波的数据依赖性,从而便于视频编码器102处的多个分区的并行/独立编码,以及在视频解码器104处对多个分区进行并行/独立解码。一些应用可以受益于视频解码器104处的多个分区的并行/独立解码。例如,借助于在视频编码器102(例如,vr9编码器)处的独立分区编码,视频解码器104(例如,vr9解码器)可以支持360度虚拟现实(360度vr)区域解码功能。图7为根据本发明的实施例的具有360度vr组装的立方投影格式并且由可独立解码的分区组成的帧的示意图。根据360度vr组装的立方投影格式,图7所示的符号“1”、“2”、“3”、“4”、“5”、“6”分别表示六个立方面,其中六个立方面组合成一行以形成一个将要编码的帧。图8为根据本发明的实施例的立方组装设计的示意图。通过拼接和校准生成球形图像(sphericalimage),并且通过投影转换(即,球面到立方转换)被转换成六个立方面。在通过立方展开(cubicunfolding)、面旋转(facerotation)、面连接查找(faceconnectionfinding)和面组装(faceassembling)的处理之后,六个立方面被布置以形成如图7所示的帧。如图7所示,六个立方面水平布置,其中,当视频编码器102采用独立的分区编码时,一个立方面可作为一个垂直图像块,以在视频解码器104处独立解码。由六个立方面组成的帧被划分为水平排列的6个垂直图像块,其中图像块边界包括排列在帧中的两个相邻立方面之间的立方面边界。在该实施例中,同一帧中的所有图像块边界都可以是立方面边界。或者,同一帧中仅一部分图像块边界可以是立方面边界。在示例性设计中,可以采用基于约束模式决策的划分技术和基于无约束模式决策的划分技术之一来决定每个垂直图像块内的编码块,然后将图像块边界处的编码块分类为第一分段,并将不在图像块边界处的编码块分类为第二分段。因此,视频解码器104(其可以使用视频解码器300来实现)具有的去块滤波器(例如,环路滤波器318),被配置为部分禁用的去块滤波器,从而支持360度vr帧的多个垂直图像块的并行/独立解码。

当被360度vr应用程序使用时,视频解码器104(其可以使用视频解码器300来实现)接收指示视口(viewport)区域(即,用户的可见区域)的视口信息,然后选择性且独立地解码指向视口区域的360度vr帧所对应的垂直图像块(tile)。例如,当视口区域覆盖第1、第2和第4立方面时,由于第1,第2和第4立方面可以被独立解码,因此视频解码器104仅需要对第1、第2和第4立方面进行解码以供显示。以对第4立方面进行去块滤波来作为示例,第4立方面与第3立方面之间没有数据依赖关系。因此,为了获得视口信息当前指示的视口区域的显示数据,不需要解码第3立方面。

在上述示例中,使用独立分区编码的视频编码器102(例如,vr9编码器)处理具有360度vr组装立方投影格式的帧img,其中一个立方面作为可独立解码的一个垂直图像块;并且视频解码器104根据视口信息选择性地且独立地解码视口区域。然而,这仅仅是为了说明的目的,并不意味着对本发明的限制。或者,可以采用使用独立分区编码的视频编码器102(例如,vr9编码器)以不同的360度vr格式(例如,图8所示的球面图像)来处理帧img,其中将球面图像划分为多个可独立解码的图像块;并且视频解码器104根据视口信息选择性地且独立地解码对应于视口区域的对应的图像块。这也属于本发明的范围。

本领域的技术人员将容易地观察到,在不脱离本发明的精神和范围内,可以对装置和方法进行多种修改和变动。因此,本发明的范围应以权利要求的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1