首页> 中国专利> 视频编码的参考画面重取样中考虑最差情况带宽的缩放窗限制的方法和装置

视频编码的参考画面重取样中考虑最差情况带宽的缩放窗限制的方法和装置

摘要

对视频序列进行编解码的方法和装置被公开,其中参考图像重采样(Reference Picture Resampling,简称RPR)模式被包括作为编解码工具。根据所述方法,与视频序列的编码数据相对应的比特流被生成或接收;其中当RPR模式被致能时,所述比特流包括与RPR模式有关的一个或多个语法;使用包括所述一个或多个语法的第一信息,RPR模式的缩放信息被导出;以及其中通过考虑对应于Max(8,(亮度分量的最小编解码块大小))的值,所述一个或多个语法被约束。当RPR模式被致能用于所述目标图像时,视频序列的目标图像使用缩放信息进行编码或解码。

著录项

  • 公开/公告号CN114930854A

    专利类型发明专利

  • 公开/公告日2022-08-19

    原文格式PDF

  • 申请/专利权人 寰发股份有限公司;

    申请/专利号CN202080091121.5

  • 发明设计人 庄子德;陈庆晔;

    申请日2020-12-11

  • 分类号H04N19/70(2006.01);

  • 代理机构北京市万慧达律师事务所 11111;

  • 代理人李江

  • 地址 中国台湾新竹县

  • 入库时间 2023-06-19 16:25:24

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-06

    实质审查的生效 IPC(主分类):H04N19/70 专利申请号:2020800911215 申请日:20201211

    实质审查的生效

说明书

相关引用

本申请要求分别在2020年1月14日递交的申请号为62/960,782的美国临时申请案和在2020年12月10日递交的申请号为17/117,757的美国临时申请案的优先权。上述全部内容以引用方式并入本发明。

技术领域

本发明涉及包含参考图像重采样(Reference Picture Resampling,简称RPR)编解码工具的视频编解码。特别地,本发明涉及约束RPR参数以减轻最坏情况的内存带宽。

背景技术

高效率视频编解码(High Efficiency Video Coding,HEVC)标准已经在ITU-T视频编解码专家组(Video Coding Experts Group,VCEG)和ISO/IEC运动图像专家组(MovingPicture Experts Group,MPEG)标准化组织的联合视频项目下被开发,尤其是与称为视频编解码联合协作小组(Joint Collaborative Team on Video Coding,JCT-VC)的合作而开发的。新兴的视频编解码标准开发被称为多样化视频编解码(Versatile Video Coding,简称VVC),近年来已作为HEVC以外的下一代视频编解码而进行。VVC支持参考图像重采样(Reference Picture Resampling,简称RPR)作为适应性流服务的工具,以支持实时(on-the-fly)的上采样和下采样运动补偿。与适应性流服务有关的技术如下。

参考图像重采样(Reference Picture Resampling,简称RPR)

在VVC的开发过程中,根据“Requirements for a Future Video CodingStandard”,“在适应性流服务提供了相同内容的多个表示,每个具有不同属性(例如空间分辨率或样本比特深度)的适应性流服务的情况下,该标准应支持快速表示切换。”在实时(real-time)视频通信中,允许在编解码视频序列中更改分辨率而无需插入I图像,这不仅可以使视频数据无缝适应动态信道条件或用户偏好,还可以消除由I图像引起的跳动效果。具有参考图像重采样(Reference Picture Resampling,简称RPR)的适应性分辨率更改(Adaptive Resolution Change,简称ARC)的假设示例被显示在图1中,其中,当前图像(110)根据不同大小的参考图像(Ref0 120和Ref1 130)被预测。如图1所示,参考图像Ref0(120)具有比当前图像(110)更低的分辨率。为了将参考图像Ref0用作参考,Ref0必须被放大到与当前图像相同的分辨率。参考图像Ref1(130)具有比当前图像(110)更高的分辨率。为了将参考图像Ref1用作参考,Ref1必须被缩小到与当前图像相同的分辨率。

为了支持空间可伸缩性,参考图像的图像大小可以与当前图像不同,这对于流应用程序很有用。用于支持参考图像重采样(RPR)(也被称为适应性分辨率更改(ARC))的方法已经被研究,以将其包含在VVC规范中。在日内瓦举行的第14届JVET会议上,有关RPR的一些文稿已提交会议讨论。

当RPR被使用时,从参考图像的宽度和高度以及当前图像的宽度和高度中,图像大小比例被导出。图像大小比例被限制在[1/8至2]的范围内。换句话说,图像大小比例在1/8和2之间。以亮度样本为单位的图像宽度/高度可在比特流中发送,例如PPS,其语义如下所示。

pic_width_in_luma_samples以亮度样本为单位指定参考PPS的每个解码图像的宽度。pic_width_in_luma_samples不应等于0,应为Max(8,MinCbSizeY)的整数倍,以及应小于或等于pic_width_max_in_luma_samples。

当subpics_present_flag等于1或ref_pic_resampling_enabled_flag等于0时,pic_width_in_luma_samples的值应等于pic_width_in_luma_samples。

pic_height_in_luma_samples以亮度样本为单位指定参考PPS的每个解码图像的高度。pic_height_in_luma_samples不应等于0,应为Max(8,MinCbSizeY)的整数倍,以及应小于或等于pic_height_max_in_luma_samples。

当subpics_present_flag等于1或ref_pic_resampling_enabled_flag等于0时,pic_height_in_luma_samples的值应等于pic_height_in_luma_samples。

当当前图像和参考图像的图像大小被指定时,以下约束应被满足。该约束将参考图像与当前图像的图像大小比例限制在[1/8,2]的范围内。

使refPicWidthInLumaSamples和RefPicHeightInLumaSamples分别是引用该PPS的当前图像的参考图像的pic_width_in_luma_samples和pic_height_in_luma_samples。满足以下所有条件是比特流一致性的要求:

-pic_width_in_luma_samples*2应大于或等于refPicWidthInLumaSamples。

-pic_height_in_luma_samples*2应大于或等于refPicHeightInLumaSamples。

-pic_width_in_luma_samples应小于或等于refPicWidthInLumaSamples*8。

-pic_height_in_luma_samples应小于或等于refPicHeightInLumaSamples*8。

在VVC中,RPR的缩放比例和缩放偏移是从PPS中发送的语法信息中得出的。PPS语法在下表被显示。

表1.用于缩放比例和缩放偏移的图像参数集合RBSP语法

语法的语义描述如下。

scaling_window_flag等于1表示在PPS中存在缩放窗口偏移参数。scaling_window_flag等于0表示在PPS中不存在缩放窗口偏移参数。当ref_pic_resampling_enabled_flag等于0时,scaling_window_flag的值应等于0。

scaling_win_left_offset,scaling_win_right_offset,scaling_win_top_offset和scaling_win_bottom_offset指定以亮度样本为单位的偏移,该偏移被应用于图像大小以进行缩放比例计算。当scaling_window_flag等于0时,scaling_win_left_offset,scaling_win_right_offset,scaling_win_top_offset和scaling_win_bottom_offset的值被推断为等于0。

scaling_win_left_offset+scaling_win_right_offset的值应小于pic_width_in_luma_samples,scaling_win_top_offset+scaling_win_bottom_offset的值应小于pic_height_in_luma_samples。

变量PicOutputWidthL和PicOutputHeightL被导出如下:

PicOutputWidthL=pic_width_in_luma_samples-(scaling_win_right_offset+scaling_win_left_offset)。

PicOutputHeightL=pic_height_in_lumasamples-(scaling_win_bottom_offset+scaleing_win_top_offset)。

fRefWidth被设置为等于参考图像RefPicList[i][j]的PicOutputWidthL,以亮度样本为单位,以及fRefHeight被设置为等于参考图像RefPicList[i][j]的PicOutputHeightL,以亮度样本为单位。

RefPicScale[i][j][0]=((fRefWidth<<14)+(PicOutputWidthL>>1))/PicOutputWidthL。

RefPicScale[i][j][1]=((fRefHeight<<14)+(PicOutputHeightL>>1))/PicOutputHeightL。

RefPicIsScaled[i][j]=(RefPicScale[i][j][0]!=(1<<14))||(RefPicScale[i][j][1]!=(1<<14))。

尽管RPR为编解码视频比特流增加了灵活性,但与RPR缩放相关的运动补偿导致计算复杂度以及存储带宽的增加。为了减轻最坏情况的内存带宽,本发明公开了约束与RPR有关的参数的方法和装置。

发明内容

对视频序列进行编解码以减轻与运动补偿相关联的最坏情况的内存带宽增加的方法和装置被公开,其中,参考图像重采样(Reference Picture Resampling,简称RPR)模式被公开。根据该方法,与视频序列的编码数据相对应的比特流在编码器侧生成或在解码器侧接收,其中,当RPR模式被致能时,该比特流包括与RPR模式有关的一种或多种语法,以及使用包括该一个或多个语法的第一信息,用于RPR模式的缩放信息被导出,以及其中通过考虑对应于Max(8,(亮度分量的最小编解码块大小))的值,该一个或多个语法被约束。当RPR模式被致能用于该目标图像时,利用缩放信息,视频序列的目标图像在编码器侧进行编码,或者在解码器侧进行解码。在一实施例中,亮度分量的最小编解码块大小由语法MinCbSizeY指示。

在一实施例中,语法包括对应于以亮度样本为单位的当前图像宽度的第一语法和对应于以亮度样本为单位的最大图像宽度的第二语法。在一实施例中,语法被约束为导致((当前图像宽度-Max(8,MinCbSizeY))*参考图像的以亮度样本为单位的缩放窗口宽度)小于或等于(最大图像宽度*当前图像的缩放窗口宽度)。

在一实施例中,语法包括对应于以亮度样本为单位的当前图像高度的第一语法和对应于以亮度样本为单位的最大图像高度的第二语法。在一实施例中,语法被约束为导致((当前图像高度-Max(8,MinCbSizeY))*参考图像的以亮度样本为单位的缩放窗口高度)小于或等于(最大图像高度*当前图像的缩放窗口高度)。

在一实施例中,比特流符合比特流一致性要求,即通过不考虑用于运动补偿的插值滤波器,该一种或多种语法被约束,以及通过考虑与最大(8,(亮度分量的最小编码块大小))对应的值,该一种或多种语法被约束。

在一实施例中,比特流符合比特流一致性要求,即(最大图像宽度*当前图像的缩放窗口宽度)大于或等于((当前图像宽度-Max(8,MinCbSizeY))*参考图像的以亮度样本为单位的缩放窗口宽度)。

在一实施例中,比特流符合比特流一致性要求,即(最大图像高度*当前图像的缩放窗口高度)大于或等于((当前图像高度-Max(8,MinCbSizeY))*参考图像的以亮度样本为单位的缩放窗口高度)。

附图说明

图1示出具有参考图像重采样(Adaptive Resolution Change,简称RPR)的适应性分辨率更改(Adaptive Resolution Change,简称ARC)的假设示例,其中当前图像根据不同大小的参考图像(Ref0和Ref1)预测。

图2示出根据本发明的实施例的引入约束的参考图像重采样(AdaptiveResolution Change,简称RPR)参数的系统的示例性框图。

具体实施方式

以下描述是实施本发明的最佳构想模式。该描述的进行是出于说明本发明的一般原理的目的,而不应被认为是限制性的。本发明的范围最好透过参考所附的权利要求来确定。

容易理解的是,如本文附图中一般描述和说明的本发明的元件可以以各种不同的配置来布置和设计。因此,如附图所示,本发明的系统和方法的实施例的以下更详细的描述并非旨在限制所要求保护的本发明的范围,而仅仅代表本发明的所选实施例。

本说明书中对“实施例”,“一些实施例”或类似语言的引用意味着结合实施例描述的具体特征,结构或特性可以包括在本发明的至少一实施例中。因此,贯穿本说明书在各个地方出现的短语“在实施例中”或“在一些实施例中”不一定都指代相同的实施例,

此外,所描述的特征,结构或特性可在一个或多个实施例中以任何合适的方式组合。然而,所属技术领域的技术人员将认识到,可在没有一个或多个具体细节的情况下或者利用其他方法,元件等来实践本发明。在其他情况下,未示出或详细描述公知的结构或操作,以避免模糊本发明的各方面。

通过参考附图,本发明的所示实施例将被最好地理解,其中,相似的部分始终由相似的数字表示。以下描述仅旨在作为示例,并且简单地示出了与本文所要求保护的本发明一致的装置和方法的特定选择的实施例。

在说明书中,现在附图和说明书中的相似的附图标记指定不同视图之间的对应或相似元素。

根据VVC,导出的参考图像缩放比例(RefPicScale[i][j][0],RefPicScale[i][j][1])被用于运动补偿。RefPicScale是从PPS中指定的缩放窗口大小/宽度/高度得出的。它影响在运动补偿阶段哪些滤波器将被使用,还影响用于运动补偿的存储带宽。例如,对于一个16x16的块,在执行运动补偿时,如果缩放比例等于1(例如RefPicScale[i][j][0]和RefPicScale[i][j][1]都等于16384),需要一个(16+L-1)x(16+L-1)参考块,其中L是运动补偿的滤波器抽头长度。在SPS中,序列的最大图像大小被指定。根据最大图像大小,最坏情况下的带宽可被计算和约束。但是,当缩放比例等于2时(例如RefPicScale[i][j][0]和RefPicScale[i][j][1]都等于32768),则需要(32+L-1)x(32+L-1)参考块。考虑到滤波器抽头长度的影响,带宽几乎是原来的四倍。所需带宽受缩放比例的影响。例如,如果当前图像的大小等于最大图像大小,以及参考图像之一的缩放比例大于1,则此当前图像的所需带宽可能会大于系统预期的带宽。为了constrian最坏情况的带宽,几种方法被提出。

方法-1:约束缩放比例

在本发明中,(参考图像大小与当前图像大小的)缩放比例被约束为不大于(SPS中的最大图像大小与当前图像大小的比例)的比例。例如,scaling_ratio_x*current_picture_width*scaleing_ratio_y*current_picture_height应小于或等于max_picture_width*max_picture_height。current_picture_width或current_picture_height可以是图像的宽度或高度(例如,在PPS中发送或导出),或者是一致性窗口(例如,在PPS中发送或导出),或缩放窗口(例如,在PPS中发送或导出)。max_picture_width或max_picture_height height可以是当前序列的最大图像宽度或高度(例如,在SPS中发送或导出)。在一实施例中,scaling_ratio_x和scaling_ratio_y可以是RefPicIsScaled[][][0]和RefPicIsScaled[][][1]。例如,RefPicIsScaled[][][0]*current_picture_width*RefPicIsScaled[][][1]*current_picture_height应小于或等于max_picture_width*max_picture_height*2^K,或(((RefPicIsScaled[][][0]*RefPicIsScaled[][][1]*current_picture_width*current_picture_height)>>K)应小于或等于max_picture_width*max_picture_height。K可以是28。

在另一实施例中,水平缩放比和垂直缩放可以被分别地约束。例如,(参考图像大小与当前图像大小的)水平和垂直缩放比例被分别约束为不大于(SPS中的最大图像宽度与当前图像宽度)的比例和(SPS中的最大图像高度与当前图像高度)的比例。例如,scaling_ratio_x*current_picture_width应小于或等于max_picture_width。scaling_ratio_y*current_picture_height应小于或等于max_picture_height。current_picture_width或current_picture_height可以是图像的宽度或高度(例如,在PPS中发送或导出,或者是一致性窗口(例如,在PPS中发送或导出),或缩放窗口(例如,在PPS中发送或导出)。max_picture_width或max_picture_height height可以是当前序列的最大图像宽度或高度(例如,在SPS中发送或导出)。在一实施例中,scaling_ratio_x和scaling_ratio_y可以是RefPicIsScaled[][][0]和RefPicIsScaled[][][1]。例如,RefPicIsScaled[][][0]*current_picture_width应小于或等于max_picture_2^K,或(((RefPicIsScaled[][0]*current_picture_width)>>K)应小于或等于max_picture_width。同样,RefPicIsScaled[][][1]*current_picture_height应小于或等于max_picture_height*2^K,或(((RefPicIsScaled[][][1]*current_picture_height)>>K)>>max_picture_height。K可以为14。

在另一实施例中,缩放窗口的大小,当前图像大小,参考图像大小和/或当前序列中的最大图像大小受到约束。例如,使refPicOutputWidthL和refPicOutputHeightL分别为引用该PPS的当前图像的参考图像的PicOutputWidthL和PicOutputHeightL。满足以下所有条件是比特流一致性的要求:

-refPicOutputWidthL*current_picture_width*refPicOutputHeightL*current_picture_height应小于或等于PicOutputWidthL*max_picture_width*PicOu中utHeightL*max_picture_height。

在另一实施例中,缩放窗口的宽度和高度,当前图像的宽度和高度,参考图像的宽度和高度,和/或当前序列中图像的最大宽度和高度被分别约束。例如,使refPicOutputWidthL和refPicOutputHeightL分别为引用该PPS的当前图像的参考图像的PicOutputWidthL和PicOutputHeightL。满足以下所有条件是比特流一致性的要求:

-refPicOutputWidthL*current_picture_width应小于或等于PicOutputWidthL*max_picture_width,

-refPicOutputHeightL*current_picture_height应小于或等于PicOutputHeightL*max_picture_height。

current_picture_width和current_picture_height可以是在SPS或PPS中发送的图像宽度和高度。例如,图像的宽度和高度可以是pic-width_in_luma_samples和pic_height_in_luma_samples,或者可以是一致性裁剪窗口的宽度和高度,或者可以是缩放窗口的宽度和高度。

在另一实施例中,插值滤波器被考虑。当前图像的最坏情况MC内存带宽等于CurPicWidth*CurPicHeight*WorstCaseBlockBW/WorstCaseBlockSize。因此,如果满足以下条件,则最坏情况下的MC内存带宽不会增加。

CurPicWidth*CurPicHeight*(8*ScalingRatioX+7)*(8*ScalingRatioY+7)/(8*8)<=SpsMaxPicWidth*SpsMaxPicHeight*(8+7)*(8+7)/(8*8)。

在以上等式中,ScalingRatioX等于(refPicOutputWidthL/PicOutputWidthL),ScalingRatioY等于(refPicOutputHeightL/PicOutputHeightL),SpsMaxPicWidth是SPS中发送的最大图像宽度,SpsMaxPicHeight是SPS中发送的最大图像高度。

在公式简化之后,以下等式可被重写为以下形式。

CurPicWidth*CurPicHeight*(8*refPicOutputWidthL+7*PicOutputWidthL)*(8*refPicOutputHeightL+7*PicOutputHeightL)<=SpsMaxPicWidth*SpsMaxPicHeight*225*PicOutputWidthL*PicOutputHeightL。

类似地,对于色度分量,约束如下:

CurPicWidth*CurPicHeight*(8/SubWidthC*refPicOutputWidthL+3*PicOutputWidthL)*(8/SubHeightC*refPicOutputHeightL+3*PicOutputHeightL)<=SpsMaxPicWidth*SpsMaxPicHeight*(8/SubWidthC+3)*(8/SubHeightC+3)*PicOutputWidthL*PicOutputHeightL。

在以上等式中,对于4:2:0,4:2:2和4:4:4,(SubWidthC,SubHeightC)分别是(2,2),(2,1)和(1,1)。

关于缩放窗口大小的建议文本如下。

scaling_win_left_offset,scaling_win_right_offset,scaling_win_top_offset和scaling_win_bottom_offset指定以亮度样本为单位的偏移,该偏移被应用于图像大小以进行缩放比例计算。当scaling_window_flag等于0时,scaling_win_left_offset,scaling_win_right_offset,scaling_win_top_offset和scaling_win_bottom_offset的值被推断为等于0。

scaling_win_left_offset+scaling_win_right_offset的值应小于pic_width_in_luma_samples,scaling_win_top_offset+scaling_win_bottom_offset的值应小于pic_height_in_luma_samples。

变量PicOutputWidthL和PicOutputHeightL的导出如下:

PicOutputWidthL=pic_width_in_luma_samples-

(scaling_win_right_offset+scaling_win_left_offset)。

PicOutputHeightL=pic_height_in_luma_samples-(scaling_win_bottom_offset+scaling_win_top_offset)。

在另一示例中,scaling_win_left_offset,scaling_win_right_offset,scaling_win_top_offset和scaling_win_bottom_offset以色度样本为单位发送。变量PicOutputWidthL和PicOutputHeightL的导出如下:

PicOutputWidthL=pic_width_in_luma_samples-SubWidthC*(scaling_win_right_offset+scaling_win_left_offset)。

PicOutputHeightL=pic_height_in_luma_samples-SubHeightC*(scaling_win_bottom_offset+scaling_win_top_offset)。

在以上等式中,SubWidthC和SubHeightC分别指定水平方向和垂直方向上的亮度采样与色度采样的采样比。

根据一实施例,以下约束被施加。当scaling_window_flag等于1时,使refPicOutputWidthL和refPicOutputHeightL分别为参考该PPS的当前图像的参考图像的PicOutputWidthL和PicOutputHeightL。满足以下条件是比特流一致性的要求:

-pic_width_in_luma_samples*pic_height_in_luma_samples*(8*refPicOutputWidthL+7*PicOutputWidthL)*(8*refPicOutputHeightL+7*PicOutputHeightL)必须小于或等于pic_width_max_in_luma_samples*pic_height_max_in_lum_samples height*225*PicOutputWidthL*PicOutputHeightL。

-pic_width_in_luma_samples*pic_height_in_luma_samples*(8/SubWidthC*refPicOutputWidthL+3*PicOutputWidthL)*(8/SubHeightC*refPicOutputHeightL+3*PicOutputHeightL)小于或等于pic_width_max_in_luma_samples*pic_height_max_in_luma_samples height*(8/SubWidthC+3)*(8/SubHeightC+3)*PicOutputWidthL*PicOutputHeightL。

在另一种方法中,我们可以只考虑亮度分量。缩放窗口大小的建议文本如下。

scaling_win_left_offset,scaling_win_right_offset,scaling_win_top_offset和scaling_win_bottom_offset指定以亮度样本为单位的偏移,该偏移被应用于图像大小以进行缩放比例计算。当scaling_window_flag等于0时,scaling_win_left_offset,scaling_win_right_offset,scaling_win_top_offset和scaling_win_bottom_offset的值被推断为等于0。

scaling_win_left_offset+scaling_win_right_offset的值应小于pic_width_in_luma_samples,scaling_win_top_offset+scaling_win_bottom_offset的值应小于pic_height_in_luma_samples。

变量PicOutputWidthL和PicOutputHeightL的导出如下:

PicOutputWidthL=pic_width_in_luma_samples-(scaling_win_right_offset+scaling_win_left_offset)。

PicOutputHeightL=pic_height_in_luma_samples-(scaling_win_bottom_offset+scaling_win_top_offset)。

根据一实施例,以下约束被施加。当scaling_window_flag等于1时,使refPicOutputWidthL和refPicOutputHeightL分别为参考该PPS的当前图像的参考图像的PicOutputWidthL和PicOutputHeightL。满足以下条件是比特流一致性的要求:

-pic_width_in_luma_samples*pic_height_in_luma_samples*(8*refPicOutputWidthL+7*PicOutputWidthL)*(8*refPicOutputHeightL+7*PicOutputHeightL)必须小于或等于pic-width_max_in_luma_samples*pic_height_max_in_luma_samples height*225*PicOutputWidthL*PicOutputHeightL。

注意,以上的数字8、7和3可以用其他数字代替。例如,在公式简化后,其可被重写如下。

CurPicWidth*CurPicHeight*(M*refPicOutputWidthL+N*PicOutputWidthL)*(O*refPicOutputHeightL+P*PicOutputHeightL)<=SpsMaxPicWidth*SpsMaxPicHeight*(M+N)*(O+P)*PicOutputWidthL*PicOutputHeightL。

类似地,对于色度分量,约束如下。

CurPicWidth*CurPicHeight*(A/SubWidthC*refPicOutputWidthL+B*PicOutputWidthL)*(C/SubHeightC*refPicOutputHeightL+D*PicOutputHeightL)<=SpsMaxPicWidth*SpsMaxPicHeight*(A/SubWidthC+B)*(C/SubHeightC+D)*PicOutputWidthL*PicOutputHeightL。

在以上等式中,对于4:2:0,4:2:2和4:4:4,(SubWidthC,SubHeightC)分别是(2,2),(2,1)和(1,1)。

在一实施例中,M和O可以是1,N和P可以是0,A和C可以是1或2,B和D可以是0。

在一实施例中,16x4和4x16被用作块大小以计算最坏情况的带宽。约束可被重写如下。

在公式简化之后,其被重写如下:

CurPicWidth*CurPicHeight*(16*refPicOutputWidthL+7*PicOutputWidthL)*(4*refPicOutputHeightL+7*PicOutputHeightL)<=SpsMaxPicWidth*SpsMaxPicHeight*253*PicOutputWidthL*PicOutputHeightL,

CurPicWidth*CurPicHeight*(4*refPicOutputWidthL+7*PicOutputWidthL)*(16*refPicOutputHeightL+7*PicOutputHeightL)<=SpsMaxPicWidth*SpsMaxPicHeight*253*PicOutputWidthL*PicOutputHeightL。

类似地,对于色度分量,约束如下:

CurPicWidth*CurPicHeight*(16/SubWidthC*refPicOutputWidthL+3*PicOutputWidthL)*(4/SubHeightC*refPicOutputHeightL+3*PicOutputHeightL)<=SpsMaxPicWidth*SpsMaxPicHeight*(16/SubWidthC+3)*(4/SubHeightC+3)*PicOutputWidthL*PicOutputHeightL,

CurPicWidth*CurPicHeight*(4/SubWidthC*refPicOutputWidthL+3*PicOutputWidthL)*(16/SubHeightC*refPicOutputHeightL+3*PicOutputHeightL)<=SpsMaxPicWidth*SpsMaxPicHeight*(4/SubWidthC+3)*(16/SubHeightC+3)*PicOutputWidthL*PicOutputHeightL。

在以上等式中,对于4:2:0、4:2:2和4:4:4,(SubWidthC,SubHeightC)分别是(2,2),(2,1)和(1,1)。

缩放窗口大小的建议文本如下。

scaling_win_left_offset,scaling_win_right_offset,scaling_win_top_offset和scaling_win_bottom_offset指定以亮度样本为单位的偏移,该偏移被应用于图像大小以进行缩放比例计算。当scaling_window_flag等于0时,scaling_win_left_offset,scaling_win_right_offset,scaling_win_top_offset和scaling_win_bottom_offset的值被推断为等于0。

scaling_win_left_offset+scaling_win_right_offset的值应小于pic_width_in_luma_samples,以及scaling_win_top_offset+scaling_win_bottom_offset的值应小于pic_height_in_luma_samples。

变量PicOutputWidthL和PicOutputHeightL的导出如下:

PicOutputWidthL=pic_width_in_luma_samples-(scaling_win_right_offset+scaling_win_left_offset)。

PicOutputHeightL=pic_height_in_luma_samples-(scaling_win_bottom_offset+scaling_win_top_offset)。

根据一实施例,以下约束被施加。当scaling_window_flag等于1时,使refPicOutputWidthL和refPicOutputHeightL分别为引用该PPS的当前图像的参考图像的PicOutputWidthL和PicOutputHeightL。满足以下条件是比特流一致性的要求:

-pic_width_in_luma_samples*pic_height_in_luma_samples*(16*refPicOutputWidthL+7*PicOutputWidthL)*(4*refPicOutputHeightL+7*PicOutputHeightL)应小于或等于pic_width_max_in_luma_samples*pic_height_max_in_lum_samples height*253*PicOutputWidthL*PicOutputHeightL。

-pic_width_in_luma_samples*pic_height_in_luma_samples*(4*refPicOutputWidthL+7*PicOutputWidthL)*(16*refPicOutputHeightL+7*PicOutputHeightL)应小于或等于pic_width_max_in_luma_samples*pic_height_Width_sample height*253*PicOutputWidthL*PicOutputHeightL。

-pic_width_in_luma_samples*pic_height_in_luma_samples*(16/SubWidthC*refPicOutputWidthL+3*PicOutputWidthL)*(4/SubHeightC*refPicOutputHeightL+3*PicOutputHeightL)应小于或等于pic_width_max_in_luma_samples*pic_height_max_in_luma_samples height*(16/SubWidthC+3)*(4/SubHeightC+3)*PicOutputWidthL*PicOutputHeightL。

-pic_width_in_luma_samples*pic_height_in_luma_samples*(4/SubWidthC*refPicOutputWidthL+3*PicOutputWidthL)*(16/SubHeightC*refPicOutputHeightL+3*PicOutputHeightL)应小于或等于pic_width_max_in_luma_samples*pic_height_max_in_luma_samples height*(4/SubWidthC+3)*(16/SubHeightC+3)*PicOutputWidthL*PicOutputHeightL。

另外,在另一示例中,我们可以仅考虑亮度分量。

在另一实施例中,公差比(tolerance ratio)可被调用。例如,Ty可以是亮度的公差值。Tc可以是色度的公差值。Ty和Tc可以是整数或实数(例如1.0、1.2、1.1、1.5等)。

例如,在公式简化之后,约束可被重写如下。

CurPicWidth*CurPicHeight*(M*refPicOutputWidthL+N*PicOutputWidthL)*(O*refPicOutputHeightL+P*PicOutputHeightL)<=SpsMaxPicWidth*SpsMaxPicHeight*(M+N)*(O+P)*PicOutputWidthL*PicOutputHeightL*Ty。

类似地,对于色度分量,约束如下。

CurPicWidth*CurPicHeight*(A/SubWidthC*refPicOutputWidthL+B*PicOutputWidthL)*(C/SubHeightC*refPicOutputHeightL+D*PicOutputHeightL)<=SpsMaxPicWidth*SpsMaxPicHeight*(A/SubWidthC+B)*(C/SubHeightC+D)*PicOutputWidthL*PicOutputHeightL*Tc,

在以等式中,对于4:2:0、4:2:2和4:4:4,(SubW记thC,SubHeightC)分别是(2,2),(2,1)和(1,1)。

在一示例中,M和O可以是1,N和P可以是0,A和C可以是1或2,B和D可以是0。在一示例中,M和O可以是8,N和P可以是7或8,A和C可以是8,B和D可以是3或4。在一示例中,M可以是16O可以是4,N和P可以是7或8,A可以是16,C可以是4,B和D可以是3或4。在一示例中,M可以是4O可以是16,N和P可以是7或8,A可以是4和C可以是16,B和D可以是3或4。

在另一实施例中,垂直方向约束和水平方向约束可以分开。例如,在公式简化之后,约束可按如下方式重写。

CurPicWidth*(M*refPicOutputWidthL+N*PicOutputWidthL)<=SpsMaxPicWidth*(M+N)*PicOutputWidthL*Ty_x。

CurPicHeight*(O*refPicOutputHeightL+P*PicOutputHeightL)<=SpsMaxPicHeight*(O+P)*PicOutputHeightL*Ty_y。

类似地,对于色度分量,约束如下。

CurPicWidth*(A/SubWidthC*refPicOutputWidthL+B*PicOutputWidthL)<=SpsMaxPicWidth*(A/SubWidthC+B)*PicOutputWidthL*Tc_x。

CurPicHeight*(C/SubHeightC*refPicOutputHeightL+D*PicOutputHeightL)<=SpsMaxPicHeight*(C/SubHeightC+D)*PicOutputHeightL*Tc_y。

在以上等式中,对于4:2:0、4:2:2和4:4:4,(SubWidthC,SubHeightC)分别是(2,2),(2,1)和(1,1)。

在一示例中,在公式简化之后,约束可重写如下。

CurPicWidth*(16*refPicOutputWidthL+7*PicOutputWidthL)<=SpsMaxPicWidth*(16+7)*PicOutputWidthL*Ty_x。

CurPicHeight*(4*refPicOutputHeightL+7*PicOutputHeightL)<=SpsMaxPicHeight*(4+7)*PicOutputHeightL*Ty_y。

CurPicWidth*(4*refPicOutputWidthL+7*PicOutputWidthL)<=SpsMaxPicWidth*(4+7)*PicOutputWidthL*Ty_x。

CurPicHeight*(16*refPicOutputHeightL+7*PicOutputHeightL)<=SpsMaxPicHeight*(16+7)*PicOutputHeightL*Ty_y。

在另一示例中,约束可重写如下:

CurPicWidth*(4*refPicOutputWidthL+7*PicOutputWidthL)<=SpsMaxPicWidth*(4+7)*PicOutputWidthL*Ty_x。

CurPicHeight*(4*refPicOutputHeightL+7*PicOutputHeightL)<=SpsMaxPicHeight*(4+7)*PicOutputHeightL*Ty_y。

在另一示例中,约束可重写如下:

CurPicWidth*(16*refPicOutputWidthL+7*PicOutputWidthL)<=SpsMaxPicWidth*(16+7)*PicOutputWidthL*Ty_x。

CurPicHeight*(16*refPicOutputHeightL+7*PicOutputHeightL)<=SpsMaxPicHeight*(16+7)*PicOutputHeightL*Ty_y。

类似地,对于色度分量,约束如下:

CurPicWidth*(16/SubWidthC*refPicOutputWidthL+3*PicOutputWidthL)<=SpsMaxPicWidth*(16/SubWidthC+3)*PicOutputWidthL*Tc_x。

CurPicHeight*(4/SubHeightC*refPicOutputHeightL+3*PicOutputHeightL)<=SpsMaxPicHeight*(4/SubHeightC+3)*PicOutputHeightL*Tc_y。

CurPicWidth*(4/SubWidthC*refPicOutputWidthL+3*PicOutputWidthL)<=SpsMaxPicWidth*(4/SubWidthC+3)*PicOutputWidthL*Tc_x。

CurPicHeight*(16/SubHeightC*refPicOutputHeightL+3*PicOutputHeightL)<=SpsMaxPicHeight*(16/SubHeightC+3)*PicOutputHeightL*Tc_y。

在另一示例中,约束可重写如下:

CurPicWidth*(4/SubWidthC*refPicOutputWidthL+3*PicOutputWidthL)<=SpsMaxPicWidth*(4/SubWidthC+3)*PicOutputWidthL*Tc_x。

CurPicHeight*(4/SubHeightC*refPicOutputHeightL+3*PicOutputHeightL)<=SpsMaxPicHeight*(4/SubHeightC+3)*PicOutputHeightL*Tc_y。

在另一示例中,约束可重写如下:

CurPicWidth*(16/SubWidthC*refPicOutputWidthL+3*PicOutputWidthL)<=SpsMaxPicWidth*(16/SubWidthC+3)*PicOutputWidthL*Tc_x。

CurPicHeight*(16/SubHeightC*refPicOutputHeightL+3*PicOutputHeightL)<=SpsMaxPicHeight*(16/SubHeightC+3)*PicOutputHeightL*Tc_y。

在以上等式中,对于4:2:0、4:2:2和4:4:4,(SubWidthC,SubHeightC)分别是(2,2),(2,1)和(1,1)。

在另一实施例中,滤波器抽头长度可被忽略。例如,在公式简化之后,约束可重写如下:

CurPicWidth*CurPicHeight*refPicOutputWidthL*refPicOutputHeightL<=SpsMaxPicWidth*SpsMaxPicHeight*PicOutputWidthL*PicOutputHeightL*T。

在另一示例中,约束可重写如下:

CurPicWidth*refPicOutputWidthL<=SpsMaxPicWidth*PicOutputWidthL*Tx。

CurPicHeight*refPicOutputHeightL<=SpsMaxPicHeight*PicOutputHeightL*Ty。

然而,在参考图像是全高清(例如1920x1080)以及当前图像是全高清的四分之一大小(例如960x544)的情况下,参考图像的缩放窗口是1920x1080,以及如果当前图像为960x540,则高度约束不被满足。因此,约束应稍稍松开。在一实施例中,当前图像的宽度或高度被减去一项(term)。例如,该项可以是8、16,正整数,与minCbSizeY或minCbSizeC有关的值,与CTU/CU约束有关的值,或者可以是Max(8,MinCbSizeY)或Max(k,MinCbSizeY),其中k是一正整数。例如,约束可修改如下:

-(pic_width_in_luma_samples-Max(8,MinCbSizeY))*refPicOutputWidthL小于或等于pic_width_max_in_luma_samples*PicOutputWidthL。

-(pic_height_in_luma_samples-Max(8,MinCbSizeY))*refPicOutputHeightL小于或等于pic_height_max_in_luma_samples*PicOutputHeightL。

或者

-PicOutputWidthL*pic_width_max_in_luma_samples大于或等于refPicOutputWidthL*(pic_width_in_luma_samples-Max(8,MinCbSizeY))。

-PicOutputHeightL*pic_height_max_in_luma_samples大于或等于refPicOutputHeightL*(pic_height_in_luma_samples-Max(8,MinCbSizeY))。

在另一示例中,约束可重写如下:

(CurPicWidth-Max(8,MinCbSizeY))*refPicOutputWidthL<=SpsMaxPicWidth*PicOutputWidthL。

(CurPicHeight-Max(8,MinCbSizeY))*refPicOutputHeightL<=SpsMaxPicHeight*PicOutputHeightL。

在另一示例中,约束可重写如下:

(CurPicWidth-Max(8,MinCbSizeY))*refPicOutputWidthL<=SpsMaxPicWidth*PicOutputWidthL*Tx。

(CurPicHeight-Max(8,MinCbSizeY))*refPicOutputHeightL<=SpsMaxPicHeight*PicOutputHeightL*Ty。

在另一示例中,约束可重写如下:

(CurPicWidth-Max(8,MinCbSizeY))*(CurPicHeight-Max(8,MinCbSizeY))*refPicOutputWidthL*refPicOutputHeightL<=SpsMaxPicWidth*PicOutputWidthL*SpsMaxPicHeight*PicOutputHeightL。

在另一示例中,约束可重写如下:

(CurPicWidth-Max(8,MinCbSizeY))*(CurPicHeight-Max(8,MinCbSizeY))*refPicOutputWidthL*refPicOutputHeightL<=SpsMaxPicWidth*PicOutputWidthL*SpsMaxPicHeight*PicOutputHeightL*T。

在另一实施例中,最大图像的宽度或高度可加上一项。例如,该项可以是8、16,正整数,与minCbSizeY/C有关的值,与CTU/CU约束有关的值,或者可以是Max(8,MinCbSizeY)或Max(k,MinCbSizeY),其中k是一正整数。例如,约束可修改如下:

-pic_width_in_luma_samples*refPicOutputWidthL应小于或等于(pic_width_max_in_luma_samples+Max(8,MinCbSizeY))*PicOutputWidthL。

-pic_height_in_luma_samples*refPicOutputHeightL应小于或等于(pic_height_max_in_luma_samples+Max(8,MinCbSizeY))*PicOutputHeightL。

在另一示例中,约束可重写如下:

CurPicWidth*refPicOutputWidthL<=(SpsMaxPicWidth+Max(8,MinCbSizeY))*PicOutputWidthL。

CurPicHeight*refPicOutputHeightL<=(SpsMaxPicHeight+Max(8,MinCbSizeY))*PicOutputHeightL。

在另一示例中,约束可重写如下:

CurPicWidth*refPicOutputWidthL<=(SpsMaxPicWidth+Max(8,MinCbSizeY))*PicOutputWidthL*Tx。

CurPicHeight*refPicOutputHeightL<=(SpsMaxPicHeight+Max(8,MinCbSizeY))*PicOutputHeightL*Ty。

在另一示例中,约束可重写如下:

CurPicWidth*CurPicHeight*refPicOutputWidthL*refPicOutputHeightL<=(SpsMaxPicWidth+Max(8,MinCbSizeY))*PicOutputWidthL*(SpsMaxPicHeight+Max(8,MinCbSizeY))*PicOut。

在另一示例中,约束可重写如下:

CurPicWidth*CurPicHeight*refPicOutputWidthL*refPicOutputHeightL<=(SpsMaxPicWidth+Max(8,MinCbSizeY))*PicOutputWidthL*(SpsMaxPicHeight+Max(8,MinCbSizeY))*PicOutputHeightL*T.

在另一实施例中,如上所述,当前图像的宽度或高度都可减去一项,而最大图像的宽度或高度都可加上一项。

在另一实施例中,在上述方法中,图像或缩放窗口的宽度或高度可由图像/缩放窗口的宽度/高度中的CTU数量替换。

方法2:当缩放比例大于阈值时,小的帧间块被禁能。

对于运动补偿,由于插值滤波器的作用,较小的块每个样本需要较大的带宽。为了减小内存带宽,当缩放比例大于阈值时,建议禁能小的帧间块。例如,当缩放比例大于K或大于或等于K时,高度和/或高度小于N的帧间块被禁能。在另一示例中,当缩放比例大于K时,面积小于M的帧间块被禁能。K可以是1、1.25、1.5、1.75或2.0。N可以是8、16或32。M可以是32、64、128、256、512或1024。

在一实施例中,RefPicIsScaled[][][0]和/或RefPicIsScaled[][][1]可被使用。例如,当RefPicIsScaled[][][0]和/或RefPicIsScaled[][][1]大于K或大于或等于K时,高度和/或高度小于N的帧间块被禁能。在另一示例中,当RefPicIsScaled[][][0]和/或RefPicIsScaled[][][1]大于K时,面积小于M的帧间块被禁能。K可以是(1、1.25、1.5、1.75或2.0)*2^P,其中P可以是14。N可以是8、16或32。M可以是32、64、128、256、512或1024。

方法-3:在当前缩放窗口之外没有帧间预测

在所提出的方法中,如果当前CU在当前图像缩放窗口之外,则编码器不应对该帧CU使用帧间模式。因此,比特流应具有这样的一致性,即缩放窗口外的CU全部都不应处于帧间模式。在另一实施例中,相关的语法可被保存。例如,缩放窗口之外的任一CU将仅需要发送与帧内模式有关的语法,从而所有与帧间模式有关的语法可被保存。这种方法还将保证最坏情况下的带宽。

在以上公开的方法中,对RPR的缩放的约束在各种等式或公式中被示出。这些等式或公式并非旨在提供基于本发明实施例的可能实现的详尽列表。如本领域中已知的,通过重新排列或重新组合这些等式或公式中的术语,这些等式或公式可具有各种形式。本发明的实施例涵盖所有等效等式或公式。

实现任一上述提出的方法可在编码器和/或解码器中。例如,任一所提出的方法可在编码器的缩放或运动补偿模块或参数确定模块和/或解码器的缩放或运动补偿模块或参数确定模块中实现。可选地,所提出的方法中的任一实现为与编码器的缩放或运动补偿模块或参数确定模块和/或解码器的缩放或运动补偿模块或参数确定模块耦合的一个或多个电路,以便提供缩放或运动补偿模块或参数确定模块所需的信息。

视频编码器必须遵循上述语法设计以便生成合法的比特流,以及只有在解析过程符合上述语法设计的情况下,视频解码器才能够正确地解码比特流。当语法在比特流中被跳过时,编码器和解码器应将语法值设置为推断值,以确保编码和解码结果匹配。

图2示出根据本发明的实施例的引入约束的参考图像重采样(RPR)参数的系统的示例性框图。流程图中所示的步骤以及本公开中的其他后续流程图可被实现为可在编码器侧和/或解码器侧的一个或多个处理器(例如,一个或多个CPU)上执行的程序代码。流程图中所示的步骤还可基于诸如被布置为执行流程图中的步骤的一个或多个电子设备或处理器之类的硬件来实现。根据该方法,在步骤210中,与视频序列的编码数据相对应的比特流在编码器侧生成或在解码器侧接收,其中,当RPR模式被致能时,该比特流包括与RPR模式有关的一种或多种语法,以及用于RPR模式的缩放信息使用包括该一个或多个语法的第一信息来导出,以及其中通过考虑与Max(8,(亮度分量的最小编解码块大小))相对应的值,该一个或多个语法被约束。在步骤220中,当RPR模式被致能用于视频序列的目标图像时,利用缩放信息,视频序列的目标图像在编码器侧进行编码,或者在解码器侧进行解码。

所示的流程图旨在说明根据本发明的实施例的示例。所属技术领域的技术人员可以修改每个步骤,重新布置步骤,拆分步骤或组合步骤以实践本发明,而不背离本发明的精神。

上述描述被给出以使所属技术领域的技术人员能够实践在特定应用及其要求的上下文中提供的本发明。对所描述的实施例的各种修改对于所属技术领域的技术人员将是显而易见的,以及本文中定义的一般原理可以应用于其他实施例。因此,本发明不旨在限于所示出和描述的特定实施例,而是与符合本文公开的原理和新颖性特征的最宽范围相一致。在以上详细描述中,示出了各种具体细节以便提供对本发明的透彻理解。然而,所属技术领域的技术人员将理解,本发明可被实施。

如上所述的本发明的实施例可以以各种硬件,软件代码或两者的组合来实现。例如,本发明的实施例可以是集成到视频压缩芯片中的一个或多个电路或集成到视频压缩软件中以执行本文描述的处理的程序代码。本发明的实施例还可以是在数字信号处理器(Digital Signal Processor,DSP)上执行以执行本文描述的处理的程序代码。本发明还可涉及由计算机处理器,数字信号处理器,微处理器或现场可程序设计门阵列(fieldprogrammable gate arragy,简称FPGA)执行的许多功能。该些处理器可被配置为通过执行定义本发明所体现的特定方法的机器可读软件代码或固件代码来执行根据本发明的特定任务。软件代码或固件代码可以不同的程序设计语言和不同的格式或样式来开发。软件代码也可被编译用于不同的目标平台。然而,不同的代码格式,软件代码的样式和语言以及配置代码以执行根据本发明的任务的其他手段将不脱离本发明的精神和范围。

在不脱离本发明的精神或基本特征的情况下,本发明可以以其他特定形式实施。所描述的示例在所有方面仅应被认为是说明性的而非限制性的。因此,本发明的范围由所附权利要求而不是上述描述来指示。落在权利要求的等同含义和范围内的所有改变均应包含在其范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号