CN115176462A - 视频编解码中限制片宽度 - Google Patents

视频编解码中限制片宽度 Download PDF

Info

Publication number
CN115176462A
CN115176462A CN202080090129.XA CN202080090129A CN115176462A CN 115176462 A CN115176462 A CN 115176462A CN 202080090129 A CN202080090129 A CN 202080090129A CN 115176462 A CN115176462 A CN 115176462A
Authority
CN
China
Prior art keywords
slice
picture
video
bitstream
equal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080090129.XA
Other languages
English (en)
Inventor
张凯
张莉
刘鸿彬
邓智玭
许继征
王业奎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Douyin Vision Co Ltd
ByteDance Inc
Original Assignee
Douyin Vision Co Ltd
ByteDance Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Douyin Vision Co Ltd, ByteDance Inc filed Critical Douyin Vision Co Ltd
Publication of CN115176462A publication Critical patent/CN115176462A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/162User input
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种视频处理的示例方法,该方法包括执行视频单元中视频的块与视频的比特流之间的转换。比特流符合规则,该规则指定视频单元的最大维度。视频单元的维度包括视频单元中的宽度、高度或样点数目,最大维度在转换之前已知。

Description

视频编解码中限制片宽度
相关申请的交叉引用
根据适用的《专利法》和/或《巴黎公约》的规定,本申请及时要求于2019年12月27日提交的PCT申请PCT/CN2019/129069以及于2020年4月3日提交的PCT申请PCT/CN2020/083315的优先权和利益。出于法律上的所有目的,将以上申请的全部公开以引用方式并入本文,作为本申请公开的一部分。
技术领域
本专利文件涉及视频编解码技术、设备和***。
背景技术
目前,正在努力改善当前视频编解码器技术的性能,以提供更好的压缩率或提供允许较低复杂度或并行化实现的视频编解码和解码方案。行业专家最近提出了几种新的视频编解码工具,目前正在进行测试以确定其有效性。
发明内容
描述了与数字视频编解码有关的设备、***和方法,特别是与运动矢量的管理有关的设备、***和方法。所描述的方法可以应用于现有的视频编解码标准(例如,高效视频编解码(HEVC)或通用视频编解码)以及未来的视频编解码标准或视频编解码器。
在一个代表性方面,所公开的技术可以用来提供一种用于视频处理的方法。该方法包括:执行视频单元中视频的块与视频的比特流之间的转换。比特流符合规则,该规则指定视频单元的最大维度,并且其中视频单元的维度包括视频单元中的宽度、高度或样点数目。其中,最大维度在转换之前已知。
在另一个代表性方面,所公开的技术可以用来提供一种用于视频处理的方法。该方法包括:执行视频的当前图片与视频的比特流之间的转换。当前图片与一个或多个参考图片相关联,使得(1)当前图片的维度PW×PH,(2)当前图片的缩放窗口维度SW×WH,(3)当前图片的参考图片的缩放窗口维度SW’×SH’,(4)图片的最大允许维度Wmax和Hmax满足约束。
在另一个代表性方面,所公开的技术可以用来提供一种用于视频处理的方法。该方法包括:执行视频的图片与视频的比特流之间的转换。比特流符合规则,规则指定在图片标头中信令通知量化参数信息并排除在图片参数集中。
在另一个代表性方面,所公开的技术可以用来提供一种用于视频处理的方法。该方法包括:执行视频与视频的比特流之间的转换。比特流符合规则,规则指定在与多个条带相关联的视频的视频单元中指示条带的条带类型,视频单元包括图片参数集或图片标头,条带类型包括I条带、P条带或B条带。
在另一个代表性方面,所公开的技术可以用来提供一种用于视频处理的方法。该方法包括:执行视频与视频的比特流之间的转换。比特流包括指示色度量化参数映射表的起始点的值。
在另一代表性方面,所公开的技术可以用来提供一种用于视频处理的方法。该方法包括执行当前视频块与当前视频块的编解码表示之间的转换,其中,在该转换期间,如果参考图片的分辨率和/或尺寸与当前视频块的分辨率和/或尺寸不相同,将相同的插值滤波器应用于使用当前视频块预测的相邻或不相邻样点组。
在另一代表性方面,所公开的技术可以用来提供一种用于视频处理的方法。该方法包括执行当前视频块与当前视频块的编解码表示之间的转换,其中,在该转换期间,如果参考图片的分辨率和/或尺寸与当前视频块的分辨率和/或尺寸不相同,其中,仅允许使用当前视频块预测的块使用与当前块相关的整数值运动信息。
在另一代表性方面,所公开的技术可以用来提供另一种用于视频处理的方法。该方法包括执行当前视频块与当前视频块的编解码表示之间的转换,其中,在该转换期间,如果参考图片的分辨率和/或尺寸与当前视频块的分辨率和/或尺寸不相同,应用插值滤波器来推导使用当前视频块预测的块,并且其中该插值滤波器是基于规则选择的。
在另一代表性方面,所公开的技术可以用来提供另一种用于视频处理的方法。该方法包括执行当前视频块与当前视频块的编解码表示之间的转换,其中,在该转换期间,如果参考图片的分辨率和/或尺寸与当前视频块的分辨率和/或尺寸不相同,选择性地应用去方块滤波器,其中,根据与相对于当前视频块的分辨率和/或尺寸的参考图片的分辨率和/或尺寸有关的规则来设置去方块滤波器的强度。
在另一代表性方面,所公开的技术可以用来提供另一种用于视频处理的方法。该方法包括执行当前视频块与当前视频块的编解码表示之间的转换,其中,在该转换期间,根据基于当前视频块的维度的规则来对当前视频块的参考图片进行重采样。
在另一代表性方面,所公开的技术可以用来提供另一种用于视频处理的方法。该方法包括执行当前视频块与当前视频块的编解码表示之间的转换,其中,在该转换期间,取决于相对于当前视频块的分辨率/尺寸的当前视频块的参考图片的分辨率/尺寸,选择性地启用或禁用对当前视频块的编解码工具的使用。
在另一代表性方面,所公开的技术可以用来提供另一种用于视频处理的方法。该方法包括执行多个视频块与多个视频块的编解码表示之间的转换,其中,在该转换期间,定义用于第一视频块的第一一致性窗口以及用于第二视频块的第二一致性窗口,并且其中第一一致性窗口与第二一致性窗口的宽度和/或高度的比率是根据至少基于一致性比特流的规则。
在另一代表性方面,所公开的技术可以用来提供另一种用于视频处理的方法。该方法包括执行多个视频块和多个视频块的编解码表示之间的转换,其中,在该转换期间,定义用于第一视频块的第一一致性窗口以及定义用于第二视频块的第二一致性窗口,并且其中第一一致性窗口与第二一致性窗口的宽度和/或高度的比率是根据至少基于一致性比特流的规则。
在另一代表性方面,公开了一种视频处理的方法。该方法包括:对于视频的视频片段和视频的编解码表示,由于视频片段包括所有I条带而确定编解码表示排除与P/B条带相关的语法元素;以及根据确定执行转换。
此外,在代表性方面,公开了一种视频***中的装置,该装置包括处理器和在其上具有指令的非暂时性存储器。该指令在由处理器执行时使得处理器实现所公开的方法中的任何一种或多种。
在一个代表性方面,公开了一种视频解码装置,该装置包括配置为实现本文所公开的方法的处理器。
在一个代表性方面,公开了一种视频编码装置,该装置包括配置为实现本文所公开的方法的处理器。
此外,公开了一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行所公开的方法中的任何一种或多种的程序代码。
在附图、说明书和权利要求书中更详细地描述了所公开技术的以上和其他方面以及特征。
附图说明
图1示出了子块运动矢量(VSB)和运动矢量差的示例。
图2示出了被分成16个4×4区域的16×16视频块的示例。
图3A示出了样点中的特定位置的示例。
图3B示出了样点中的特定位置的另一示例。
图3C示出了样点中的特定位置的又一示例。
图4A示出了当前样点及其参考样点的位置的示例。
图4B示出了当前样点及其参考样点的位置的另一示例。
图5是用于实现本文档中描述的视觉媒体解码或视觉媒体编码技术的示例硬件平台的框图。
图6示出了用于视频编解码的示例方法的流程图。
图7示出了解码器侧运动矢量细化的示例。
图8示出了VTM5.0中级联DMVR和BDOF过程的流程示例。DMVR SAD操作和BDOF SAD操作不同且不共享。
图9是其中可以实现所公开的技术的示例视频处理***的框图。
图10是图示示例视频编解码***的框图。
图11是图示根据本公开的一些实施例的编码器的框图。
图12是图示根据本公开的一些实施例的解码器的框图。
图13是根据本技术的视频处理方法的流程图表示。
图14是根据本技术的另一视频处理方法的流程图表示。
图15是根据本技术的另一视频处理方法的流程图表示。
图16是根据本技术的另一视频处理方法的流程图表示。
图17是根据本技术的另一视频处理方法的流程图表示。
具体实施方式
1.HEVC/H.265中的视频编解码
视频编解码标准主要是通过开发众所周知的ITU-T和ISO/IEC标准而发展起来的。ITU-T制定了H.261和H.263,ISO/IEC制定了MPEG-1和MPEG-4视觉,并且两个组织联合制定了H.262/MPEG-2视频和H.264/MPEG-4高级视频编解码(AVC)和H.265/HEVC标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中采用了时域预测加变换编解码。为了探索HEVC之外的未来视频编解码技术,VCEG和MPEG于2015年共同成立了联合视频探索小组(JVET)。此后,JVET采用了许多新的方法,并将其应用到名为联合探索模型(JEM)的参考软件中。2018年4月,成立了VCEG(Q6/16)与ISO/IEC JTC1 SC29/WG11(MPEG)之间的联合视频专家团队(JVET),致力于开发VVC标准,目标是比HEVC降低50%的比特率。
2.概要
2.1自适应分辨率改变(ARC)
AVC和HEVC不具有在不必引入IDR或帧内随机接入点(IRAP)图片的情况下改变分辨率的能力;可以将这样的能力表示为自适应分辨率改变(ARC)。有一些用例或应用情形将从ARC特征中获益,包括以下情形:
-视频电话和会议中的速率调适:为了根据变化的网络条件对编解码视频进行调适,在网络条件变差从而使得可用带宽变得更低时,编码器可以通过编码更低分辨率的图片而适应该带宽。当前,只能在IRAP图片之后完成对图片分辨率的改变;这有一些问题。处于合理质量的IRAP图片将比帧间编解码图片大得多,而且解码起来也相应地更加复杂:这将花费时间和资源。如果分辨率改变是解码器出于负荷原因而请求的,那么这也是问题。其还可能破坏低延迟缓冲条件,从而迫使音频重新同步,并且流的端到端延迟将增大,至少暂时性地增大。这可能带来差的用户体验。
-多方视频会议中的活跃演讲者改变:对于多方视频会议而言,常见的情况是与用于其余会议参与者的视频相比要通过更大的视频尺寸示出活跃演讲者。在活跃演讲者改变时,还可能需要调整每一参与者的图片分辨率。在活跃演讲者的此类改变频繁发生时具有ARC特征的需求变得更加重要。
-流媒体中的快速开始:对于流媒体应用而言,常见的情况是在开始显示之前应用程序将进行直至某一长度的解码图片的缓冲。采用较低分辨率开始比特流将允许应用程序具有足够的位于缓冲区内的图片,从而更快地开始显示。
流媒体中的自适应流切换:基于HTTP规范的动态自适应流媒体(DASH)包括名为@mediaStreamStructureId的特征。这使得能够具有不可解码的前导图片的开放GOP随机接入点(例如,HEVC中的与RASL图片相关联的CRA图片)处的不同表示之间的切换。在同一视频的两个不同表示具有不同的比特率但是具有相同的空域分辨率,与此同时它们具有相同的@mediaStreamStructureId的值时,能够在与RASL图片相关联的CRA图片处执行这两个表示之间的切换,并且能够以可接受质量对与CRA图片处的切换相关联的RASL图片解码,因而实现无缝切换。借助于ARC,@mediaStreamStructureId特征还将可用于具有不同空域分辨率的DASH表示之间的切换。
ARC又称为动态分辨率转换。
ARC可以被视作参考图片重采样(RPR)(例如,H.263附录P)的特殊情况。
2.2 H.263附录P中的参考图片重采样
此模式描述了在将参考图片用于预测之前使参考图片扭曲(warp)的算法。其可用于对具有与正在预测的图片的源格式不同的源格式的参考图片重采样。其还可以通过扭曲参考图片的形状、尺寸和位置而用于全局运动估计或旋转运动的估计。语法包括要使用的扭曲参数以及重采样算法。用于参考图片重采样模式的最简单级别的操作是隐含因数4的重采样,其中只须将FIR滤波器应用于上采样和下采样过程。在这种情况下,在新图片的尺寸(在图片标头中指示的)不同于前一图片的尺寸时,不需要附加的信令通知开销,因为可以理解其用途。
2.3 VVC中的一致性窗口
VVC中的一致性窗口定义了矩形。一致性窗口之内的样点属于感兴趣的图像。在输出时,一致性窗口之外的样点将会被丢弃。
当应用一致性窗口时,基于一致性窗口推导RPR中的缩放比率。
图片参数集RBSP语法
Figure BDA0003710942930000071
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时,pic_width_in_luma_samples的值应等于pic_width_max_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时,pic_height_in_luma_samples的值应等于pic_height_max_in_luma_samples。
使得refPicWidthInLumaSamples和refPicHeightInLumaSamples分别是参考该PPS的当前图片的参考图片的pic_width_in_luma_samples和pic_height_in_luma_samples。满足以下所有条件的比特流一致性要求:
Figure BDA0003710942930000082
conformance_window_flag等于1指示在SPS中紧随其后的是一致性裁剪窗口偏移参数。conformance_window_flag等于0指示不存在一致性裁剪窗口偏移参数。
根据用于输出的在图片坐标中规定的矩形区域,conf_win_left_offset、conf_win_right_offset、conf_win_top_offset和conf_win_bottom_offset规定从解码过程中输出的CVS中的图片样点。当conformance_window_flag等于0时,conf_win_left_offset、conf_win_right_offset、conf_win_top_offset和conf_win_bottom_offset的值被推断为等于0。
一致性裁剪窗口包含亮度样点,其具有从SubWidthC*conf_win_left_offset到pic_width_in_luma_samples-(SubWidthC*conf_win_right_offset+1)的水平图片坐标和从SubHeightC*conf_win_top_offset到pic_height_in_luma_samples-(SubHeightC*conf_win_bottom_offset+1)的垂直图片坐标(包括端值)。
SubWidthC*(conf_win_left_offset+conf_win_right_offset)的值应小于pic_width_in_luma_samples,SubHeightC*(conf_win_top_offset+conf_win_bottom_offset)的值应小于pic_height_in_luma_samples。
变量PicOutputWidthL和PicOutputHeightL的推导如下:
PicOutputWidthL=pic_width_in_luma_samples- (7-43)
SubWidthC*(conf_win_right_offset+conf_win_left_offset)
PicOutputHeightL=pic_height_in_pic_size_units- (7-44)
SubHeightC*(conf_win_bottom_offset+conf_win_top_offset)
当ChromaArrayType不等于0时,两个色度阵列的对应规定样点是具有图片坐标(x/SubWidthC,y/SubHeightC)的样点,其中(x,y)是规定亮度样点的图片坐标。
注–一致性裁剪窗口偏移参数仅应用于输出时。所有内部解码过程都将应用于未 裁剪的图片尺寸。
令ppsA和ppsB是参考相同SPS的任何两个PPS。比特流一致性的要求是,当ppsA和ppsB的pic_width_in_luma_samples和pic_height_in_luma_samples的值分别相同时,ppsA和ppsB的conf_win_left_offset、conf_win_right_offset、conf_win_top_offset和conf_win_bottom_offset的值分别相同。
2.4参考图片重采样(RPR)
在一些实施例中,ARC也被称为参考图片重采样(RPR)。利用RPR,如果并置图片具有与当前图片不同的分辨率,则禁用TMVP。此外,当参考图片具有与当前图片不同的分辨率时,则禁用BDOF和DMVR。
为了在参考图片具有与当前图片不同的分辨率时处理一般MC,插值部分被定义如下:
8.5.6.3分数样点插值过程
8.5.6.3.1概述
此过程的输入为:
–亮度位置(xSb,ySb),规定相对于当前图片的左上亮度样点的当前编解码子块的左上样点,
–变量sbWidth,规定当前编解码子块的宽度,
–变量sbHeight,规定当前编解码子块的高度,
–运动矢量偏移mvOffset,
–细化的运动矢量refMvLX,
–所选的参考图片样点阵列refPicLX,
–半样点插值滤波器索引hpelIfIdx,
–双向光流标志bdofFlag,
–变量cIdx,规定当前块的颜色分量索引。
此过程的输出为:
–预测样点值的(sbWidth+brdExtSize)x(sbHeight+brdExtSize)阵列predSamplesLX。
按照如下推导预测块边界(border)延伸尺寸brdExtSize:
brdExtSize=(bdofFlag||(inter_affine_flag[xSb][ySb]&&sps_affine_prof_enabled_flag))?2:0(8-752)
将变量fRefWidth设置为等于以亮度样点衡量的参考图片的PicOutputWidthL。
将变量fRefHeight设置为等于以亮度样点衡量的参考图片的PicOutputHeightL。
将运动矢量mvLX设置为等于(refMvLX-mvOffset)。
–如果cIdx等于0,那么适用以下内容:
-将缩放因数及其固定点表示定义为:
hori_scale_fp=((fRefWidth<<14)+(PicOutputWidthL>>1))/PicOutputWidthL(8-753)
vert_scale_fp=((fRefHeight<<14)+(PicOutputHeightL>>1))/PicOutputHeightL(8-754)
–令(xIntL,yIntL)为以全样点为单位的亮度位置,并且(xFracL,yFracL)为以1/16样点为单位的偏移量。这些变量仅在这一条款中用于规定参考样点阵列refPicLX内的分数样点位置。
–将用于参考样点填补的包围块(bounding block)的左上坐标(xSbIntL,ySbIntL)设置为等于(xSb+(mvLX[0]>>4),ySb+(mvLX[1]>>4))。
–对于预测亮度样点阵列predSamplesLX内的每一亮度样点位置(xL=0..sbWidth-1+brdExtSize,yL=0..sbHeight-1+brdExtSize),按照如下推导对应预测亮度样点值predSamplesLX[xL][yL]:
-令(refxSbL,refySbL)和(refxL,refyL)为以1/16样点为单位给出的运动矢量(refMvLX[0],refMvLX[1])所指向的亮度位置。按照如下推导变量refxSbL、refxL、refySbL和refyL
refxSbL=((xSb<<4)+refMvLX[0])*hori_scale_fp (8-755)
refxL=((Sign(refxSb)*((Abs(refxSb)+128)>>8)+xL*((hori_scale_fp+8)>>4))+32)>>6 (8-756)
refySbL=((ySb<<4)+refMvLX[1])*vert_scale_fp(8-757)
refyL=((Sign(refySb)*((Abs(refySb)+128)>>8)+yL*((vert_scale_fp+8)>>4))+32)>>6(8-758)
–按照如下推导变量xIntL、yIntL、xFracL和yFracL
xIntL=refxL>>4 (8-759)
yIntL=refyL>>4 (8-760)
xFracL=refxL&15 (8-761)
yFracL=refyL&15 (8-762)
–如果bdofFlag等于真或(sps_affine_prof_enabled_flag等于真并且inter_affine_flag[xSb][ySb]等于真),并且下述条件中的一个或多个为真,那么在以(xIntL+(xFracL>>3)-1),yIntL+(yFracL>>3)-1)和refPicLX为输入的情况下通过调用条款8.5.6.3.3中规定的亮度整数样点取回过程而推导出预测亮度样点值predSamplesLX[xL][yL]。
–xL等于0。
–xL等于sbWidth+1。
–yL等于0。
–yL等于sbHeight+1。
–否则,在以(xIntL-(brdExtSize>0?1:0),yIntL-(brdExtSize>0?1:0))、(xFracL,yFracL)、(xSbIntL,ySbIntL)、refPicLX、hpelIfIdx、sbWidth、sbHeight和(xSb,ySb)为输入的情况下通过调用条款8.5.6.3.2中规定的亮度样点8抽头插值滤波过程来推导出预测亮度样点值predSamplesLX[xL][yL]。
–否则(cIdx不等于0),那么适用以下内容:
–令(xIntC,yIntC)为以全样点为单位给出的色度位置,并且(xFracC,yFracC)为以1/32样点为单位给出的偏移。这些变量仅在这一条款中用于规定参考样点阵列refPicLX内的常规分数样点位置。
–将用于参考样点填补的包围块的左上坐标(xSbIntC,ySbIntC)设置为等于((xSb/SubWidthC)+(mvLX[0]>>5),(ySb/SubHeightC)+(mvLX[1]>>5))。
–针对预测色度样点阵列predSamplesLX内的每一色度样点位置(xC=0..sbWidth-1,yC=0..sbHeight-1),按照如下推导对应的预测色度样点值predSamplesLX[xC][yC]:
–令(refxSbC,refySbC)和(refxC,refyC)为以1/32样点为单位给出的运动矢量(mvLX[0],mvLX[1])所指向的色度位置。按照如下推导变量refxSbC、refySbC、refxC和refyC
refxSbC=((xSb/SubWidthC<<5)+mvLX[0])*hori_scale_fp(8-763)
refxC=((Sign(refxSbC)*((Abs(refxSbC)+256)>>9)+xC*((hori_scale_fp+8)>>4))+16)>>5(8-764)
refySbC=((ySb/SubHeightC<<5)+mvLX[1])*vert_scale_fp(8-765)
refyC=((Sign(refySbC)*((Abs(refySbC)+256)>>9)+yC*((vert_scale_fp+8)>>4))+16)>>5(8-766)
–按照如下推导变量xIntC、yIntC、xFracC和yFracC
xIntC=refxC>>5 (8-767)
yIntC=refyC>>5 (8-768)
xFracC=refyC&31 (8-769)
yFracC=refyC&31 (8-770)
–在以(xIntC,yIntC)、(xFracC,yFracC)、(xSbIntC,ySbIntC)、sbWidth、sbHeight和refPicLX为输入的情况下通过调用条款8.5.6.3.4中规定的过程来推导预测样点值predSamplesLX[xC][yC]。
8.5.6.3.2亮度样点插值滤波过程
此过程的输入是:
–以全样点为单位的亮度位置(xIntL,yIntL),
–以分数样点为单位的亮度位置(xFracL,yFracL),
–以全样点为单位的亮度位置(xSbIntL,ySbIntL),规定相对于参考图片的左上亮度样点的用于参考样点填补的包围块的左上样点,
–亮度参考样点阵列refPicLXL
–半样点插值滤波器索引hpelIfIdx,
–变量sbWidth,规定当前子块的宽度,
–变量sbHeight,规定当前子块的高度,
–亮度位置(xSb,ySb),规定相对于当前图片的左上亮度样点的当前子块的左上样点,
此过程的输出是预测的亮度样点值predSampleLXL
按照如下推导变量shift1、shift2和shift3:
–将变量shift1设置为等于Min(4,BitDepthY-8),将变量shift2设置为等于6,并且将变量shift3设置为等于Max(2,14-BitDepthY)。
–将变量picW设置为等于pic_width_in_luma_samples并且将变量picH设置为等于pic_height_in_luma_samples。
按照如下推导等于xFracL或yFracL的每一1/16分数样点位置p的亮度插值滤波器系数fL[p]:
–如果MotionModelIdc[xSb][ySb]大于0,并且sbWidth和sbHeight均等于4,那么亮度插值滤波器系数fL[p]被规定在表2中。
–否则,取决于hpelIfIdx,亮度插值滤波器系数fL[p]被规定在表1中。
对于i=0..7,按照如下推导以全样点为单位的亮度位置(xInti,yInti):
–如果subpic_treated_as_pic_flag[SubPicIdx]等于1,那么适用以下内容:
xInti=Clip3(SubPicLeftBoundaryPos,SubPicRightBoundaryPos,xIntL+i-3)(8-771)
yInti=Clip3(SubPicTopBoundaryPos,SubPicBotBoundaryPos,yIntL+i-3) (8-772)
–否则(subpic_treated_as_pic_flag[SubPicIdx]等于0),那么适用以下内容:
xInti=Clip3(0,picW-1,sps_ref_wraparound_enabled_flag?
ClipH((sps_ref_wraparound_offset_minus1+1)*MinCbSizeY,picW,xIntL+i-3):(8-773)
xIntL+i-3)
yInti=Clip3(0,picH-1,yIntL+i-3) (8-774)
对于i=0..7,按照如下进一步修改以全样点为单位的亮度位置:
xInti=Clip3(xSbIntL-3,xSbIntL+sbWidth+4,xInti) (8-775)
yInti=Clip3(ySbIntL-3,ySbIntL+sbHeight+4,yInti) (8-776)
按照如下推导预测的亮度样点值predSampleLXL
–如果xFracL和yFracL两者均等于0,那么按照如下推导predSampleLXL的值:
predSampleLXL=refPicLXL[xInt3][yInt3]<<shift3(8-777)
–否则,如果xFracL不等于0并且yFracL等于0,那么按照如下推导predSampleLXL的值:
Figure BDA0003710942930000141
–否则,如果xFracL等于0,并且yFracL不等于0,那么按照如下推导predSampleLXL的值:
Figure BDA0003710942930000142
–否则,如果xFracL不等于0并且yFracL不等于0,那么按照如下推导predSampleLXL的值:
–按照如下推导样点阵列temp[n],其中,n=0..7:
Figure BDA0003710942930000143
–按照如下推导预测的亮度样点值predSampleLXL
Figure BDA0003710942930000144
表8-11用于每一1/16分数样点位置p的亮度插值滤波器系数fL[p]的规定
Figure BDA0003710942930000151
表8-12用于仿射运动模式的用于每一1/16分数样点位置p的亮度插值滤波器系数fL[p]的规定
Figure BDA0003710942930000152
8.5.6.3.3亮度整数样点取回过程
此过程的输入为:
–以全样点为单位的亮度位置(xIntL,yIntL),
–亮度参考样点阵列refPicLXL
此过程的输出是预测的亮度样点值predSampleLXL
将变量shift设置为等于Max(2,14-BitDepthY)。
将变量picW设置为等于pic_width_in_luma_samples,并且将变量picH设置为等于pic_height_in_luma_samples。
按照如下推导以全样点为单位的亮度位置(xInt,yInt):
xInt=Clip3(0,picW-1,sps_ref_wraparound_enabled_flag?(8-782)
ClipH((sps_ref_wraparound_offset_minus1+1)*MinCbSizeY,picW,xIntL):xIntL)
yInt=Clip3(0,picH-1,yIntL) (8-783)
按照如下推导预测的亮度样点值predSampleLXL
predSampleLXL=refPicLXL[xInt][yInt]<<shift3 (8-784)
8.5.6.3.4色度样点插值过程
此过程的输入为:
–以全样点为单位的色度位置(xIntC,yIntC),
–以1/32分数样点为单位的色度位置(xFracC,yFracC),
–以全样点为单位的色度位置(xSbIntC,ySbIntC),其规定相对于参考图片的左上色度样点的用于参考样点填补的包围块的左上样点,
–变量sbWidth,规定当前子块的宽度,
–变量sbHeight,规定当前子块的高度,
–色度参考样点阵列refPicLXC
此过程的输出是预测的色度样点值predSampleLXC
按照如下推导变量shift1、shift2和shift3:
–将变量shift1设置为等于Min(4,BitDepthC-8),将变量shift2设置为等于6,并且将变量shift3设置为等于Max(2,14-BitDepthC)。
–将变量picWC设置为等于pic_width_in_luma_samples/SubWidthC,并且将变量picHC设置为等于pic_height_in_luma_samples/SubHeightC。
在表3中规定了等于xFracC或yFracC的每一1/32分数样点位置p的色度插值滤波器系数fC[p]。
将变量xOffset设置为等于(sps_ref_wraparound_offset_minus1+1)*MinCbSizeY)/SubWidthC。
对于i=0..3,按照如下推导以全样点为单位的色度位置(xInti,yInti):
–如果subpic_treated_as_pic_flag[SubPicIdx]等于1,那么适用以下内容:
xInti=Clip3(SubPicLeftBoundaryPos/SubWidthC,SubPicRightBoundaryPos/SubWidthC,xIntL+i) (8-785)
yInti=Clip3(SubPicTopBoundaryPos/SubHeightC,SubPicBotBoundaryPos/SubHeightC,yIntL+i) (8-786)
–否则(subpic_treated_as_pic_flag[SubPicIdx]等于0),那么适用以下内容:
xInti=Clip3(0,picWC-1,sps_ref_wraparound_enabled_flag?ClipH(xOffset,picWC,xIntC+i-1):(8-787)
xIntC+i-1)
yInti=Clip3(0,picHC-1,yIntC+i-1) (8-788)
对于i=0..3,按照如下进一步修改以全样点为单位的色度位置(xInti,yInti):
xInti=Clip3(xSbIntC-1,xSbIntC+sbWidth+2,xInti) (8-789)
yInti=Clip3(ySbIntC-1,ySbIntC+sbHeight+2,yInti) (8-790)
按照如下推导预测的色度样点值predSampleLXC
–如果xFracC和yFracC两者均等于0,那么按照如下推导predSampleLXC的值:
predSampleLXC=refPicLXC[xInt1][yInt1]<<shift3 (8-791)
–否则,如果xFracC不等于0并且yFracC等于0,那么按照如下推导predSampleLXC的值:
Figure BDA0003710942930000171
Figure BDA0003710942930000181
–否则,如果xFracC等于0,并且yFracC不等于0,那么按照如下推导predSampleLXC的值:
Figure BDA0003710942930000182
–否则,如果xFracC不等于0并且yFracC不等于0,那么按照如下推导predSampleLXC的值:
–按照如下推导样点阵列temp[n],其中,n=0..3:
Figure BDA0003710942930000183
–按照如下推导预测的色度样点值predSampleLXC
Figure BDA0003710942930000184
表8-13对于每个1/32分数样点位置p的色度插值滤波器系数fC[p]的规定。
Figure BDA0003710942930000191
Figure BDA0003710942930000201
2.5基于细化子块的仿射运动补偿预测
本文公开的技术包括一种利用光流来细化基于子块的仿射运动补偿预测的方法。在执行基于子块的仿射运动补偿之后,通过添加由光流方程得出的差来细化预测样点,这被称为利用光流的预测细化(PROF)。所提出的方法能在不增加存储器访问带宽的情况下实现像素级粒度的帧间预测。
为了获得更好的运动补偿粒度,此贡献提出了一种利用光流来细化基于子块的仿射运动补偿预测的方法。在执行基于子块的仿射运动补偿之后,通过添加由光流方程得出的差来细化亮度预测样点。所提出的PROF(利用光流进行预测细化)被描述为以下四个步骤。
步骤1)执行基于子块的仿射运动补偿,以生成子块预测I(i,j)。
步骤2)使用3抽头滤波器[-1,0,1]在每个样点位置计算子块预测的空域梯度gx(i,j)和gy(i,j)。
gx(i,j)=I(i+1,j)-I(i-1,j)
gy(i,j)=I(i,j+1)-I(i,j-1)
子块预测在每一侧扩展一个像素,以用于梯度计算。为了减少存储器带宽和复杂性,从参考图片中最接近的整数像素位置来复制扩展边界上的像素。因此,避免了对填补区域的附加插值。
步骤3)通过光流方程来计算的亮度预测细化(表示为ΔI)。
ΔI(i,j)=gx(i,j)*Δvx(i,j)+gy(i,j)*Δvy(i,j)
其中如图1所示,ΔMV(表示为Δv(i,j))是对样点位置(i,j)计算的像素MV(表示为v(i,j))与像素(i,j)所属于的子块的子块MV之差。
由于仿射模型参数和相对于子块中心的像素位置在子块之间没有变化,因此可以为第一子块计算Δv(i,j),并重新用于相同CU中的其他子块。令x和y是从像素位置到子块中心的水平和垂直偏移,则可以通过以下方程得出Δv(x,y):
Figure BDA0003710942930000202
对于4参数仿射模型,
Figure BDA0003710942930000211
Figure BDA0003710942930000212
对于6参数仿射模型,
Figure BDA0003710942930000213
其中,(v0x,v0y)、(v1x,v1y)、(v2x,v2y)是左上、右上和左下控制点运动矢量,w和h是CU的宽度和高度。
步骤4)最后,将亮度预测细化添加到子块预测I(i,j)。按照以下方程生成最终预测I′。
I′(i,j)=I(i,j)+ΔI(i,j)
下面描述一些细节:
a)PROF如何推导梯度
在一些实施例中,为每个参考列表的每个子块(VTM-4.0中的4×4子块)计算梯度。对于每个子块,取回参考块的最接近的整数样点以填补样点的四个侧面外线。
假设当前子块的MV为(MVx,MVy)。然后,按照(FracX,FracY)=(MVx&15,MVy&15)计算分数部分。按照(IntX,IntY)=(MVx>>4,MVy>>4)计算整数部分。按照如下推导偏移(OffsetX,OffsetY):
OffsetX=FracX>7?1:0;
OffsetY=FracY>7?1:0;
假设当前子块的左上坐标是(xCur,yCur)并且当前子块的维度是W×H。然后按照如下计算(xCor0,yCor0)、(xCor1,yCor1)、(xCor2,yCor2)和(xCor3,yCor3):
(xCor0,yCor0)=(xCur+IntX+OffsetX-1,yCur+IntY+OffsetY-1);
(xCor1,yCor1)=(xCur+IntX+OffsetX-1,yCur+IntY+OffsetY+H);
(xCor2,yCor2)=(xCur+IntX+OffsetX-1,yCur+IntY+OffsetY);
(xCor3,yCor3)=(xCur+IntX+OffsetX+W,yCur+IntY+OffsetY);
假设PredSample[x][y](其中x=0..W-1,y=0..H-1)存储用于子块的预测样点。然后按照如下推导填补样点:
PredSample[x][-1]=(Ref(xCor0+x,yCor0)<<Shift0)–Rounding,其中x=-1..W;
PredSample[x][H]=(Ref(xCor1+x,yCor1)<<Shift0)–Rounding,其中x=-1..W;
PredSample[-1][y]=(Ref(xCor2,yCor2+y)<<Shift0)–Rounding,其中y=0..H-1;
PredSample[W][y]=(Ref(xCor3,yCor3+y)<<Shift0)-Rounding,其中y=0..H-1;
其中,Rec代表参考图片。Rounding是整数,其在示例性PROF实现中等于213。Shift0=Max(2,(14-BitDepth));PROF尝试提高梯度的精度,这不同于VTM-4.0中的BIO,后者以与输入亮度样点相同的精度输出梯度。
按照如下计算PROF中的梯度:
Shift1=Shift0-4.
gradientH[x][y]=(predSamples[x+1][y]-predSample[x-1][y])>>Shift1
gradientV[x][y]=(predSample[x][y+1]-predSample[x][y-1])>>Shift1
应当注意,predSamples[x][y]保持插值后的精度。
b)PROF如何推导Δv
Δv的可以描述为以下内容(表示为dMvH[posX][posY]和dMvV[posX][posY],其中posX=0..W-1,posY=0..H-1)。
假设当前块的维度为cbWidth×cbHeight,控制点运动矢量的数量为numCpMv,并且控制点运动矢量是cpMvLX[cpIdx],其中cpIdx=0..numCpMv-1并且X为0或1代表两个参考列表。
按照如下推导变量log2CbW和log2CbH:
log2CbW=Log2(cbWidth)
log2CbH=Log2(cbHeight)
按照如下推导变量mvScaleHor、mvScaleVer、dHorX和dVerX:
mvScaleHor=cpMvLX[0][0]<<7
mvScaleVer=cpMvLX[0][1]<<7
dHorX=(cpMvLX[1][0]-cpMvLX[0][0])<<(7-log2CbW)
dVerX=(cpMvLX[1][1]-cpMvLX[0][1])<<(7-log2CbW)
按照如下推导变量dHorY和dVerY:
-如果numCpMv等于3,则适用以下内容:
dHorY=(cpMvLX[2][0]-cpMvLX[0][0])<<(7-log2CbH)
dVerY=(cpMvLX[2][1]-cpMvLX[0][1])<<(7-log2CbH)
-否则(numCpMv等于2),适用以下内容:
dHorY=-dVerX
dVerY=dHorX
按照如下推导变量qHorX、qVerX、qHorY和qVerY:
qHorX=dHorX<<2;
qVerX=dVerX<<2;
qHorY=dHorY<<2;
qVerY=dVerY<<2;
如下计算dMvH[0][0]和dMvV[0][0]:
dMvH[0][0]=((dHorX+dHorY)<<1)-((qHorX+qHorY)<<1);
dMvV[0][0]=((dVerX+dVerY)<<1)-((qVerX+qVerY)<<1);
按照如下推导dMvH[xPos][0]和dMvV[xPos][0],其中,xPos为从1至W-1:
dMvH[xPos][0]=dMvH[xPos-1][0]+qHorX;
dMvV[xPos][0]=dMvV[xPos-1][0]+qVerX;
对于从1至H-1的yPos,适用以下:
dMvH[xPos][yPos]=dMvH[xPos][yPos-1]+qHorY,其中xPos=0..W-1
dMvV[xPos][yPos]=dMvV[xPos][yPos-1]+qVerY,其中xPos=0..W-1
最后,其中posM=0..W-1,posY=0..H-1的dMvH[xPos][yPos]和dMvV[xPos][yPos]向右移位为:
dMvH[xPos][yPos]=SatShift(dMvH[xPos][yPos],7+2-1);
dMvV[xPos][yPos]=SatShift(dMvV[xPos][yPos],7+2-1);
其中,SatShift(x,n)和Shift(x,n)定义为:
Figure BDA0003710942930000241
Shift(x,n)=(x+offset0)>>n
在一个示例中,将offset0和/或offset1设置为(1<<n)>>1。
c)PROF如何推导ΔI
对于子块内的位置(posX,posY),其对应Δv(i,j)表示为(dMvH[posX][posY],dMvV[posX][posY])。其对应梯度表示为(gradientH[posX][posY],gradientV[posX][posY])。
然后,按照如下推导ΔI(posX,posY)。
(dMvH[posX][posY],dMvV[posX][posY])被裁剪为:
dMvH[posX][posY]=Clip3(-32768,32767,dMvH[posX][posY]);
dMvV[posX][posY]=Clip3(-32768,32767,dMvV[posX][posY]);
ΔI(posX,posY)=dMvH[posX][posY]×gradientH[posX][posY]+dMvV[posX][posY]×gradientV[posX][posY];
ΔI(posX,posY)=Shift(ΔI(posX,posY),1+1+4);
ΔI(posX,posY)=Clip3(-(213-1),213-1,ΔI(posX,posY));
d)PROF如何推导I’
如果并未以双向预测或加权预测来编解码当前块,
I’(posX,posY)=Shift((I(posX,posY)+ΔI(posX,posY)),Shift0),
I’(posX,posY)=ClipSample(I’(posX,posY)),
其中,ClipSample将样点值裁剪为有效的输出样点值。然后将I’(posX,posY)作为帧间预测值输出。
否则(当前块是以双向预测或加权预测编解码的)。将存储I’(posX,posY),并用于根据其他预测值和/或加权值来生成帧间预测值。
2.6示例条带标头
Figure BDA0003710942930000242
Figure BDA0003710942930000251
Figure BDA0003710942930000261
Figure BDA0003710942930000271
Figure BDA0003710942930000281
Figure BDA0003710942930000291
2.7示例序列参数集
Figure BDA0003710942930000292
Figure BDA0003710942930000301
Figure BDA0003710942930000311
Figure BDA0003710942930000321
Figure BDA0003710942930000331
2.8示例图片参数集
Figure BDA0003710942930000332
Figure BDA0003710942930000341
Figure BDA0003710942930000351
Figure BDA0003710942930000361
2.9示例自适应参数集
Figure BDA0003710942930000362
Figure BDA0003710942930000371
Figure BDA0003710942930000372
Figure BDA0003710942930000381
Figure BDA0003710942930000382
Figure BDA0003710942930000391
2.10示例图片标头
在一些实施例中,图片标头被设计为具有以下属性:
1.图片头NAL单元的时域Id和层Id与包含图片标头的层访问单元的时域Id和层Id相同。
2.图片标头NAL单元应在包含其相关联图片的第一条带的NAL单元之前。这建立了图片标头和与该图片标头相关联的图片的条带之间的关联,而无需在图片标头中信令通知并从条带标头中引用图片标头Id。
3.图片标头NAL单元应遵循图片级别参数集或更高级别,例如DPS、VPS、SPS、PPS等。因此,这要求那些参数集在图片内或访问单元内不重复/不存在。
4.图片头包含关于其相关联图片的图片类型的信息。图片类型可用于定义以下内容(并非详尽列表)
a.图片是IDR图片
b.图片是CRA图片
c.图片是GDR图片
d.图片是非IRAP、非GDR图片,并且仅包含I条带
e.图片是非IRAP、非GDR图片,并且只能包含P条带和I条带
f.图片是非IRAP、非GDR图片,并且包含B条带、P条带和/或I条带中的任何一个
5.将条带标头中的图片级别语法元素的信令移动到图片标头。
6.在条带标头中信令通知非图片级别语法元素,这些元素对于图片标头中的相同图片的所有条带通常是相同的。当那些语法元素不存在于图片标头中时,可以在条带标头中信令通知它们。
在一些实施方式中,将强制图片标头概念用于每个图片发送一次作为图片的第一VCL NAL单元。还提出将当前在条带标头中的语法元素移动到此图片标头。从功能上来说,每个图片只需要发送一次的语法元素可以移动至图片标头,而不是针对给定图片多次发送,例如,条带标头中的语法元素每个条带发送一次。移动条带标头语法元素被约束为在图片内相同。
语法元素已经被约束为在图片的所有条带中都相同。可以推断,将这些字段移动到图片标头,以便每个图片仅信令通知一次,而不是每个条带信令通知一次,从而避免不必要的冗余比特传输,而无需改变这些语法元素的功能。
1.在某些实施方式中,存在以下语义约束:
当存在时,条带标头语法元素slice_pic_parameter_set_id、non_reference_picture_flag、colour_plane_id、slice_pic_order_cnt_lsb、recovery_poc_cnt、no_output_of_prior_pics_flag、pic_output_flag和slice_temporal_mvp_enabled_flag中的每个条带标头语法元素的值在编解码图片的所有条带标头中都应相同。因此,这些语法元素中的每一个都可以移动到图片标头,以避免不必要的冗余比特。
在此贡献中,recovery_poc_cnt和no_output_of_prior_pics_flag不移动到图片标头。它们在条带标头中的存在取决于对条带标头nal_unit_type的条件检查,因此,如果期望将这些语法元素移动到图片标头,建议对它们进行研究。
2.在某些实施方式中,存在以下语义约束:
当存在时,slice_lmcs_aps_id的值对于图片的所有条带应相同。
当存在时,slice_scaling_list_aps_id的值对于图片的所有条带应当是相同的。因此,这些语法元素中的每一个都可以移动到图片标头,以避免不必要的冗余比特。
在一些实施例中,语法元素当前不被约束为在图片的所有条带中都相同。建议评估这些语法元素的预期用法,以确定可以将哪些语法元素移动到图片标头,以简化整体VVC设计,因为其声称在每个条带标头中处理大量语法元素具有复杂性影响。
1.提议将以下语法元素移动到图片标头。当前对它们在不同条带上具有不同的值没有任何限制,但其声称在每个条带标头中传输它们没有/较小的好处和编解码损失,因为它们的预期用法将在图片级别改变:
a.six_minus_max_num_merge_cand
b.five_minus_max_num_subblock_merge_cand
c.slice_fpel_mmvd_enabled_flag
d.slice_disable_bdof_dmvr_flag
e.max_num_merge_cand_minus_max_num_triangle_cand
f.slice_six_minus_max_num_ibc_merge_cand
2.提议将以下语法元素移动到图片标头。当前对它们在不同条带上具有不同的值没有任何限制,但其声称在每个条带标头中传输它们没有/较小的好处和编解码损失,因为它们的预期用法将在图片级别改变:
a.partition_constraints_override_flag
b.slice_log2_diff_min_qt_min_cb_luma
c.slice_max_mtt_hierarchy_depth_luma
d.slice_log2_diff_max_bt_min_qt_luma
e.slice_log2_diff_max_tt_min_qt_luma
f.slice_log2_diff_min_qt_min_cb_chroma
g.slice_max_mtt_hierarchy_depth_chroma
h.slice_log2_diff_max_bt_min_qt_chroma
i.slice_log2_diff_max_tt_min_qt_chroma
与这些语法元素中的一些语法元素相关联的条件检查“slice_type==I”已随着移至图片标头而被移除。
3.提议将以下语法元素移动到图片标头。当前对它们在不同条带上具有不同的值没有任何限制,但其声称在每个条带标头中传输它们没有/较小的好处和编解码损失,因为它们的预期用法将在图片级别改变:
a.mvd_l1_zero_flag
与这些语法元素中的一些语法元素相关联的条件检查“slice_type==B”已随着移至图片标头而被移除。
4.提议将以下语法元素移动到图片标头。当前对它们在不同条带上具有不同的值没有任何限制,但其声称在每个条带标头中传输它们没有/较小的好处和编解码损失,因为它们的预期用法将在图片级别改变:
a.dep_quant_enabled_flag
sign_data_hiding_enabled_flag4.
2.10.1示例语法表
7.3.2.8图片标头RBSP语法
[表从下一页开始]
Figure BDA0003710942930000431
Figure BDA0003710942930000441
Figure BDA0003710942930000451
Figure BDA0003710942930000461
2.11示例DMVR
解码器侧运动矢量细化(DMVR)利用双向匹配(BM)通过在两个不同参考图片中沿着当前CU的运动轨迹找到两个块之间的最接近匹配来推导当前CU的运动信息。BM方法计算参考图片列表L0和列表L1中两个候选块之间的失真。如图1所示,基于初始MV周围的每个MV候选计算红色块之间的SAD。具有最低SAD的MV候选成为细化的MV并用于生成双向预测信号。匹配过程中使用的成本函数是行-子采样SAD(绝对差之和)。图7中是示例。
在VTM5.0中,当使用常规merge/跳过模式和双向预测对CU进行编解码时,在解码器处采用DMVR来针对编解码单元(CU)细化运动矢量(MV),在显示顺序上,一个参考图片在当前图片之前并且另一参考图片在当前图片之后,当前图片和一个参考图片之间的时域距离等于当前图片和另一参考图片之间的时域距离,并且利用CU权重的双向预测(BCW)选择相等的权重。当应用DMVR时,一个亮度编解码块(CB)被分成几个独立处理的子块,尺寸min(cbWidth,16)×min(cbHeight,16)。DMVR通过最小化双向插值生成的1/2子采样的10比特L0和L1预测样点之间的SAD来细化每个子块的MV。对于每个子块,首先使用SAD围绕初始MV(即选择的常规merge/跳过候选的MV)进行整数△MV搜索,然后进行分数△MV推导以获得最终的MV。
当CU是使用双向预测编解码的时,BDOF细化CU的亮度预测样点,在显示顺序上,一个参考图片在当前图片之前并且另一参考图片在当前图片之后,并且BCW选择相等的权重。八抽头插值用于根据输入MV生成初始L0和L1预测样点(例如,在启用DMVR的情况下,DMVR的最终MV)。接下来,进行两级提前终止过程。第一次提前终止在子块级别,第二次提前终止在4×4块级别,并在第一次提前终止没有发生时被检查。在每个级别,首先计算每个子块/4×4块中全采样14比特L0和L1预测样点之间的SAD。如果SAD小于一个阈值,则BDOF不应用于子块/4×4块。否则,推导BDOF参数并用于生成每个4×4块的最终亮度样点预测。在BDOF中,子块尺寸与DMVR中的相同,即min(cbWidth,16)×min(cbHeight,16)。
当CU是以常规merge/跳过模式编解码的时,在显示顺序上,一个参考图片在当前图片之前并且另一个参考图片在当前图片之后,当前图片和一个参考图片之间的时域距离等于当前图片和另一个参考图片之间的时域距离,BCW选择相等的权重,DMVR和BDOF均适用。级联DMVR和BDOF过程的流程如图8所示。
图8示出了VTM5.0中级联DMVR和BDOF过程的流程。DMVR SAD操作和BDOF SAD操作不同,且不共享。
为了降低此关键路径中的延迟和操作,当DMVR和BDOF都应用时,最新的VVC工作草案已修订以重用DMVR中计算的子块SAD,用于BDOF中的子块提前终止。
SAD计算定义如下:
Figure BDA0003710942930000471
其中,两个变量nSbW和nSbH指定当前子块的宽度和高度,两个(nSbW+4)×(nSbH+4)数组pL0和pL1分别包含L0和L1的预测样点,以及预测列表L0中的整数样点偏移(dX,dY)。
为了降低DMVR细化不确定性的不利后果,提出在DMVR过程中有利于原始MV。初始(或称为原始)MV候选所参考的参考块之间的SAD减少SAD值的1/4。也就是说,当上述方程中的dX和dY都等于0时,sad的值修改如下:
sad=sad-(sad>>2)
当SAD值小于阈值(2*子块宽度*子块高度)时,不再需要执行BDOF。
2.12色度QP映射表
在一些实施例中,定义色度QP映射表以定义如何使用以下语法和语义来从亮度QP获得色度QP。
Figure BDA0003710942930000481
same_qp_table_for_chroma等于1规定仅信令通知一个色度QP映射表,此表应用Cb和Cr残差并且在sps_joint_cbcr_enabled_flag等于1时还额外应用于联合Cb-Cr残差。same_qp_table_for_chroma等于1规定在SPS中信令通知色度QP映射表,两个用于Cb和Cr以及在当sps_joint_cbcr_enabled_flag等于1时一个额外的用于联合Cb-Cr。当比特流中不存在same_qp_table_for_chroma时,same_qp_table_for_chroma的值被推断为等于1。
qp_table_start_minus26[i]加26指定用于描述第i个色度QP映射表的起始亮度和色度QP。qp_table_start_minus26[i]的值应在-26-QpBdOffset到36的范围内(包括端值)。当比特流中不存在qp_table_start_minus26[i]时,qp_table_start_minus26[i]的值被推断为等于0。
num_points_in_qp_table_minus1[i]加1指定用于描述第i个色度QP映射表的点的数目。num_points_in_qp_table_minus1[i]的值应在0到63+QpBdOffset的范围内(包括端值)。当位流中不存在num_points_in_qp_table_minus1[i]时,将num_points_in_qp_table_minus1[i]的值推断为等于0。
delta_qp_in_val_minus1[i][j]指定用于推导第i个色度QP映射表的第j个枢轴点的输入坐标的delta值。当比特流中不存在delta_qp_in_val_minus1[0][j]时,将delta_qp_in_val_minus1[0][j]的值推断为等于0。
delta_qp_diff_val[i][j]指定用于推导第i个色度QP映射表的第j个枢轴点的输出坐标的delta值。
对于i=0..numQpTables–1,按照如下推导第i个色度QP映射表ChromaQpTable[i]:
Figure BDA0003710942930000491
Figure BDA0003710942930000501
当same_qp_table_for_chroma等于1时,ChromaQpTable[1][k]和ChromaQpTable[2][k]被设置为等于ChromaQpTable[0][k],其中k的范围为-QpBdOffset到63(包括端值)。
比特流一致性要求是,对于i的范围为0到numQpTables–1(包括端值)以及j的范围为0到num_points_in_qp_table_minus1[i]+1(包括端值),qpInVal[i][j]和qpOutVal[i][j]的值应在-QpBdOffset到63范围内(包括端值)。
3.现有实施方式的缺陷
在细化运动矢量期间,DMVR和BIO不涉及原始信号,这可能导致编解码块具有不准确的运动信息。此外,DMVR和BIO有时会在运动细化之后采用分数运动矢量,而屏幕视频通常具有整数运动矢量,这会使得当前运动信息更加不准确,并使编解码性能变差。
当在VVC中应用RPR时,RPR(ARC)可能具有以下问题:
1.利用RPR,对于块中的相邻样点,插值滤波器可能是不同的,这在SIMD(单指令多数据)实现中是不希望的。
2.包围区域不考虑RPR。
3.需要注意的是,“一致性裁剪窗口偏移参数仅应用于输出。所有内部解码过程均应用于未裁剪的图片尺寸。”然而,当应用RPR时,可以在解码过程中使用这些参数。
4.当推导参考样点位置时,RPR仅考虑两个一致性窗口之间的比率。但是,还应该考虑两个一致性窗口之间的左上偏移差异。
5.参考图片的宽度/高度与当前图片的宽度/高度之间的比率在VVC中受到约束。然而,参考图片的一致性窗口的宽度/高度与当前图片的一致性窗口的宽度/高度之间的比率不受约束。
6.在图片标头中并非所有语法元素均被正确处理。
7.在当前的VVC中,对于TPM、GEO预测模式,无论视频序列的色度样点位置类型如何,均推导色度混合(blending)权重。例如,在TPM/GEO中,如果色度权重是从亮度权重得出的,则可能需要对亮度权重进行下采样以匹配色度信号的采样。通常在色度样点位置类型为0的情况下应用色度下采样,这在ITU-R BT.601或ITU-R BT.709情形中广泛使用。然而,如果使用了不同的色度样点位置类型,则这可能会导致色度样点与下采样的亮度样点之间的未对准,从而可能会降低编解码性能。
8.需要注意的是,SAD计算/SAD阈值没有考虑比特深度影响。因此,对于更高的比特深度(例如,14或16比特输入序列),提前终止的阈值可能太小。
9.对于非RPR情况,具有1/2像素MV精度的AMVR(即可替代插值滤波器/可切换插值滤波器)应用于6抽头运动补偿滤波器,但8抽头应用于其他情况(例如,1/16像素)。然而,对于RPR情况,相同的插值滤波器适用于所有情况,而不考虑mv/mvd精度。因此,1/2像素情况(可替代插值滤波器/可切换插值滤波器)的信令是在浪费比特。
10.是否允许分割树划分的决定取决于编解码图片分辨率,而不是输出图片分辨率。
11.采用SMVD/MMVD而不考虑RPR情况。这些方法基于对称MVD应用于两幅参考图片的假设。然而,当输出图片分辨率不同时,这样的假设是不正确的。
12.通过对同一参考图片列表中两个merge候选的两个MV求平均来生成成对merge候选。然而,当与两个merg候选相关联的两个参考图片具有不同的分辨率时,平均没有意义。
13.如果当前图片中的所有条带都是I(帧内)条带,则可能不需要对图片标头中的一些与帧间条带相关的语法元素进行编解码。有条件地信令这些能够节省语法开销,特别是对于利用所有帧内编解码的低分辨率序列。
14.在当前的VVC中,对片/条带的维度没有限制。添加适当的限制有助于实时软/硬件解码器的并行处理,尤其是对于每个帧可能大于4K/8K的超高分辨率序列。
15.可以改进色度QP映射表的语法元素qp_table_start_minus26。
4示例技术和实施例
以下详细描述的实施例将作为解释一般概念的示例。不应狭义地解释这些实施例。此外,能以任何方式组合这些实施例。
除了下面提到的DMVR和BIO之外,以下描述的方法还可以应用于其他解码器运动信息推导技术。
运动矢量表示为(mv_x,mv_y),其中,mv_x是水平分量,mv_y是垂直分量。
在此公开中,图片的分辨率(或维度、或宽度/高度或尺寸)可以指编解码/解码后的图片的分辨率(或维度、或宽度/高度或尺寸),或者可以指编解码/解码后的图片中一致性窗口的分辨率(或维度、宽度/高度或尺寸)。在一个示例中,图片的分辨率(或维度、或宽度/高度或尺寸)可以参考与RPR(参考图片重采样)过程相关的参数,诸如缩放窗口/相位偏移窗口。在一个示例中,图片的分辨率(或维度、或宽度/高度或尺寸)与相关联的输出图片的分辨率相关。
RPR中的运动补偿
1.当参考图片的分辨率不同于当前图片的分辨率时,或者当参考图片的宽度和/或高度大于当前图片的宽度和/或高度时,可以利用相同的水平和/或垂直插值滤波器生成当前块的样点集合(至少两个样点)的预测值。
a.在一个示例中,该集合可以包括块的区域中的所有样点。
i.例如,可以将块分成彼此不重叠的S个M×N个矩形。每个M×N矩形是一个集合。在如图2所示的示例中,16×16的块能被分成16个4×4矩形,每个矩形是一个集合。
ii.例如,具有N个样点的行是一个集合。N是不大于块宽度的整数。在一个示例中,N为4或8或块宽度。
iii.例如,具有N个样点的列是一个集合。N是不大于块高度的整数。在一个示例中,N为4或8或块高度。
iv.M和/或N可以是预定义的或者诸如基于块维度/编解码信息即时推导的或者是信令通知的。
b.在一个示例中,集合中的样点可以具有相同的MV(表示为共享MV)。
c.在一个示例中,集合中的样点可以具有具有相同水平分量(表示为共享水平分量)的MV。
d.在一个示例中,集合中的样点可以具有具有相同垂直分量(表示为共享垂直分量)的MV。
e.在一个示例中,集合中的样点可以具有具有水平分量的相同分数部分(表示为共享分数水平分量)的MV。
i.例如,假设第一样点的MV是(MV1x,MV1y),第二样点的MV是(MV2x,MV2y),则应满足MV1x&(2M-1)等于MV2x&(2M-1),其中M表示MV精度。例如,M=4。
f.在一个示例中,该组中的样本可以具有具有垂直分量的相同分数部分(表示为共享分数垂直分量)的MV。
i.例如,假设第一个样本的MV为(MV1x,MV1y),第二个样本的MV为(MV2x,MV2y),则应满足MV1y&(2M-1)等于MV2y&(2M-1),其中M表示MV精度。例如,M=4。
g.在一个示例中,对于要预测的集合中的样点,可以首先根据当前图片和参考图片(例如,在JVET-O2001-v14中的8.5.6.3.1节中推导的(refxL,refyL))的分辨率来推导由MVb表示的运动矢量。然后,可以将MVb进一步修改(例如,被取整/截断/裁剪为MV',以满足诸如上述条目的要求,并且MV'将被用于推导该样点的预测样点。
i.在一个示例中,MV’具有与MVb相同的整数部分,并且MV’的分数部分被设置为共享的分数水平和/或垂直分量。
ii.在一个示例中,MV’被设置为具有共享的分数水平和/或垂直分量,并且最接近MVb
h.共享运动矢量(和/或共享水平分量和/或共享垂直分量和/或共享分数垂直分量和/或共享分数垂直分量)可以被设置为集合中特定样点的运动矢量(和/或水平分量和/或垂直分量和/或分数垂直分量和/或分数垂直分量)。
i.例如,特定样点可以位于矩形集合的角点处,诸如图3A中所示出的“A”、“B”、“C”和“D”。
ii.例如,特定样点可以位于矩形集合的中心处,诸如图3A中所示出的“E”、“F”、“G”和“H”。
iii.例如,特定样点可以位于行形状或列形状集合的末端,诸如图3B和图3C中所示出的“A”和“D”。
iv.例如,特定样点可以位于行形状或列形状集合的中间,诸如图3B和图3C中所示出的“B”和“C”。
v.在一个示例中,特定样点的运动矢量可以是条目g中提到的MVb
i.共享运动矢量(和/或共享水平分量和/或共享垂直分量和/或共享分数垂直分量和/或共享分数垂直分量)可以被设置为与此集合中的所有样点相比位于不同位置处的虚拟样点的运动矢量(和/或水平分量和/或垂直分量和/或分数垂直分量和/或分数垂直分量)。
i.在一个示例中,虚拟样点不在该集合中,而是位于覆盖该集合中所有样点的区域中。
1)可替代地,虚拟样点位于覆盖该集合中所有样点的区域之外,例如,紧邻该区域的右下角位置。
ii.在一个示例中,以与真实样点相同的方式推导虚拟样点的MV,但位置不同。
iii.图3A-3C中的“V”示出了虚拟样点的三个示例。
j.可以将共享MV(和/或共享水平分量和/或共享垂直分量和/或共享分数垂直分量和/或共享分数垂直分量)设置为多个样点和/或虚拟样点的MV(和/或水平分量和/或垂直分量和/或分数垂直分量和/或分数垂直分量)的函数。
i.例如,可以将共享MV(和/或共享水平分量和/或共享垂直分量和/或共享分数垂直分量和/或共享分数垂直分量)设置为以下样点的平均MV(和/或水平分量和/或垂直分量和/或分数垂直分量和/或分数垂直分量):该集合中的全部或部分样点;或图3A中的样点“E”、“F”、“G”、“H”;或图3A中的样点“E”、“H”;或图3A中的样点“A”、“B”、“C”、“D”;或图3A中的样点“A”、“D”;或图3B中的样点“B”、“C”;或图3A中的样点“A”、“D”;图3C中的样点“B”、“C”;或图3C中的样点“A”、“D”。
2.提出了当参考图片的分辨率不同于当前图片的分辨率时,或者当参考图片的宽度和/或高度大于当前图片的宽度和/或高度时,仅允许整数MV执行运动补偿过程以推导当前块的预测块。
a.在一个示例中,用于待预测样点的解码运动矢量在被使用之前被取整为整数MV。
b.在一个示例中,用于待预测样点的解码运动矢量被取整为最接近解码运动矢量的整数MV。
c.在一个示例中,用于待预测样点的解码运动矢量被取整为在水平方向上最接近解码运动矢量的整数MV。
d.在一个示例中,用于待预测样点的解码运动矢量被取整为在垂直方向上最接近解码运动矢量的整数MV。
3.在当前块中的样点的运动补偿过程中使用的运动矢量(例如,以上条目中提到的共享MV/共享水平或垂直或分数分量/MV')可以存储在解码图片缓冲器中,并用于当前/不同图片中后续块的运动矢量预测。
a.可替代地,在当前块中的样点的运动补偿过程中使用的运动矢量(例如,以上条目中提到的共享MV/共享水平或垂直或分数分量/MV')不允许用于当前/不同图片中后续块的运动矢量的预测。
i.在一个示例中,可以将解码的运动矢量(例如,以上条目中的MVb)用于当前/不同图片中的后续块的运动矢量预测。
b.在一个示例中,在当前块中的样点的运动补偿过程中使用的运动矢量可以用于滤波过程(例如,去方块滤波器/SAO/ALF)。
i.可替代地,可以在滤波过程中使用解码的运动矢量(例如,以上条目中的MVb)。
c.在一个示例中,可以在子块级别推导这样的MV并且可以为每个子块存储这样的MV。
4.提出了可以取决于参考图片的分辨率是否不同于当前图片的分辨率,或者参考图片的宽度和/或高度是否大于当前图片的宽度和/或高度来选择在运动补偿过程中用来推导当前块的预测块的插值滤波器。
a.在一个示例中,当满足条件A时,可以应用具有更少抽头的插值滤波器,其中,条件A取决于当前图片和/或参考图片维度。
i.在一个示例中,条件A是参考图片的分辨率不同于当前图片的分辨率。
ii.在一个示例中,条件A是参考图片的宽度和/或高度大于当前图片的宽度和/或高度。
iii.在一个示例中,条件A是W1>a*W2和/或H1>b*H2,其中,(W1,H1)代表参考图片的宽度和高度,而(W2,H2)代表当前图片的宽度和高度,a和b是两个系数,例如a=b=1.5。
iv.在一个示例中,条件A还可以取决于是否使用了双向预测。
v.在一个示例中,应用1抽头滤波器。换句话说,输出未被滤波的整数像素作为插值结果。
vi.在一示例中,当参考图片的分辨率不同于当前图片的分辨率时,应用双线性滤波器。
vii.在一个示例中,当参考图片的分辨率不同于当前图片的分辨率,或者参考图片的宽度和/或高度大于当前图片的宽度和/或高度时,应用4抽头滤波器或6抽头滤波器。
1)6抽头滤波器也可以用于仿射运动补偿。
2)4抽头滤波器也可以用于色度样点的插值。
b.在一示例中,当参考图片的分辨率不同于当前图片的分辨率,或者参考图片的宽度和/或高度大于当前图片的宽度和/或高度时,填补样点被用来执行插值。
c.是否和/或如何应用条目4中公开的方法可以取决于颜色分量。
i.例如,这些方法仅应用于亮度分量。
d.是否和/或如何应用条目4中公开的方法可以取决于插值滤波方向。
i.例如,这些方法仅应用于水平滤波。
ii.例如,这些方法仅应用于垂直过滤。
5.提出了当参考图片的分辨率不同于当前图片的分辨率,或者参考图片的宽度和/或高度大于当前图片的宽度和/或高度时,应用用于预测块生成的两阶段过程。
a.在第一阶段中,取决于当前图片和参考图片的宽度和/或高度,通过对参考图片中的区域进行上采样或下采样来生成虚拟参考块。
b.在第二阶段,独立于当前图片和参考图片的宽度和/或高度,通过应用插值滤波从虚拟参考块生成预测样点。
6.提出了如在一些实施例中那样,可以取决于当前图片和参考图片的宽度和/或高度来推导用于参考样点填补的包围块的左上坐标(xSbIntL,ySbIntL)的计算。
a.在一个示例中,将全样点单元中的亮度位置修改为:
xInti=Clip3(xSbIntL-Dx,xSbIntL+sbWidth+Ux,xInti),
yInti=Clip3(ySbIntL-Dy,ySbIntL+sbHeight+Uy,yInti),
其中Dx和/或Dy和/或Ux和/或Uy可以取决于当前图片和参考图片的宽度和/或高度。
b.在一个示例中,将全样点单元中的色度位置修改为:
xInti=Clip3(xSbIntC-Dx,xSbIntC+sbWidth+Ux,xInti)
yInti=Clip3(ySbIntC-Dy,ySbIntC+sbHeight+Uy,yInti)
其中Dx和/或Dy和/或Ux和/或Uy可以取决于当前图片和参考图片的宽度和/或高度。
7.代替基于与当前图片相同的参考图片分辨率来存储/使用用于块的运动矢量,提出了使用真实运动矢量,其中考虑了分辨率差。
a.可替代地,另外,当使用运动矢量来生成预测块时,无需根据当前图片和参考图片(例如(refxL,refyL))的分辨率来进一步改变运动矢量。
RPR与其他编解码工具之间的交互
8.是否/如何应用滤波过程(例如,去方块滤波器)可以取决于参考图片的分辨率和/或当前图片的分辨率。
a.在一个示例中,除了运动向量差之外,去方块滤波器中的界限强度(boundarystrength,BS)设置可以考虑分辨率差。
i.在一个示例中,根据当前和参考图片的分辨率缩放的运动矢量差可以用来确定界限强度。
b.在一个示例中,与对两个块使用相同分辨率的情况相比,如果块A的至少一个参考图片的分辨率不同于(或小于或大于)块B的指示一个参考图片的分辨率,则可以不同地设置(例如,增加/减小)用于块A和块B之间的界限的去方块滤波器的强度。
c.在一个示例中,如果块A的至少一个参考图片的分辨率不同于(或小于或大于)块B的至少一个参考图片的分辨率,则将块A和块B之间的界限标记为要滤波(例如,将BS设置为2)。
d.在一个示例中,与参考图片和当前图片使用相同分辨率的情况相比,如果块A和/或块B的至少一个参考图片的分辨率不同于(或小于或大于)当前图片的分辨率,则可以不同地设置(例如,增加/减小)用于块A和块B之间的界限的去方块滤波器的强度。
e.在一个示例中,如果两个块中的至少一个块的至少一个参考图片具有不同于当前图片分辨率的分辨率,则将两个块之间的界限标记为要滤波(例如,将BS设置为2)。
9.当存在子图片时,一致性比特流可能应满足参考图片必须具有与当前图片相同的分辨率。
a.可替代地,当参考图片具有与当前图片不同的分辨率时,当前图片中必须不存在子图片。
b.可替代地,对于当前图片中的子图片,不允许使用具有不同分辨率的参考图片作为当前图片。
i.可替代地,此外,可以调用参考图片管理以排除那些具有不同分辨率的参考图片。
10.在一个示例中,可以对具有不同分辨率的图片分别定义子图片(例如,如何将一个图片划分为多个子图片)。
在一个示例中,如果参考图片具有与当前图片不同的分辨率,则可以通过缩放和/或偏移当前图片的子图片来推导参考图片中的对应子图片。
11.当参考图片具有不同于当前图片的分辨率时,可以启用PROF(利用光流的预测细化)。
a.在一个示例中,可以对样点集合生成一组MV(表示为MVg),并且可以将其用于运动补偿,如条目1中所描述的。另一方面,可以对每个样点推导MV(表示为MVp),并且可以将MVp和MVg之间的差(例如,对应于PROF中使用的Δv)以及梯度(例如,运动补偿的块的空域梯度)用于推导预测细化。
b.在一个示例中,MVp可以具有与MVg不同的精度。例如,MVp可以具有1/N像素(N>0)精度,N=32、64等。
c.在一个示例中,MVg可以具有与内部MV精度不同的精度(例如,1/16像素)。
d.在一个示例中,将预测细化添加到预测块以生成细化的预测块。
e.在一个示例中,这样的方法可以应用于每个预测方向。
f.在一个示例中,这样的方法可以仅应用于单向预测的情形。
g.在一个示例中,这样的方法可以应用于单向预测或/和双向预测。
h.在一个示例中,仅当参考图片具有与当前图片不同的分辨率时,才可以应用这样的方法。
12.提出了当参考图片的分辨率不同于当前图片的分辨率时,仅一个MV可用于块/子块以执行运动补偿过程来推导当前块的预测块。
a.在一个示例中,可以将用于块/子块的唯一MV定义为与块/子块内的每个样点相关联的所有MV的函数(例如,平均值)。
b.在一个示例中,可以将用于块/子块的唯一MV定义为与块/子块内的选定样点(例如,中心样点)相关联的选定MV。
c.在一个示例中,仅一个MV可以使用4×4块或子块(例如,4×1)。
d.在一个示例中,可以进一步应用BIO来补偿由于基于块的运动矢量而产生的精度损失。
13.当参考图片的宽度和/或高度与当前图片的宽度和/或高度不同时,可以应用不信令通知任何基于块的运动矢量的惰性模式。
a.在一个示例中,可以不信令通知运动矢量,并且运动补偿过程是近似于静止图像的纯分辨率改变的情形。
b.在一个示例中,可以仅信令通知图片/片/砖块/CTU级别处的运动向量,并且当分辨率改变时,相关块可使用运动向量。
14.对于利用仿射预测模式和/或非仿射预测模式编解码的块,当参考图片的宽度和/或高度不同于当前图片的宽度和/或高度时,PROF可以应用于近似运动补偿。
a.在一个示例中,当参考图片的宽度和/或高度不同于当前图片的宽度和/或高度时,可以启用PROF。
b.在一个示例中,可以通过组合指示的运动和分辨率缩放来生成一组仿射运动,并由PROF使用。
15.当参考图片的宽度和/或高度不同于当前图片的宽度和/或高度时,可以将交织的预测(例如,如JVET-K0102中提出的)应用于近似运动补偿。
a.在一个示例中,将分辨率改变(缩放)表示为仿射运动,并且可以应用交织的运动预测。
16.当当前图片的宽度和/或高度与相同IRAP周期中的IRAP图片的宽度和/
或高度不同时,可以禁用LMCS和/或色度残差缩放。
a.在一个示例中,当禁用LMCS时,诸如slice_lmcs_enabled_flag、slice_lmcs_aps_id和slice_chroma_residual_scale_flag的条带级别标志可以不被信令通知并且被推断为0。
b.在一个示例中,当禁用色度残差缩放时,诸如slice_chroma_residual_scale_flag的条带级别标志可以不被信令通知并且被推断为0。
关于RPR的约束条件
17.RPR可以应用于具有块维度约束条件的编解码块。
a.在一个示例中,对于M×N的编解码块,其中M为块宽度,N为块高度,当M*N<T或M*N<=T(诸如T=256)时,可以不使用RPR。
b.在一个示例中,当M<K(或M<=K)(诸如K=16)和/或N<L(或N<=L)(诸如L=16)时,可以不使用RPR。
18.可以添加比特流一致性以限制活跃参考图片(或其一致性窗口)和当前图片(或其一致性窗口)的宽度和/或高度之间的比率。假设refPicW和refPicH表示参考图片的宽度和高度,curPicW和curPicH表示当前图片的宽度和高度,
a.在一个示例中,当(refPicW÷curPicW)等于整数时,可以将参考图片标记为活跃参考图片。
i.可替代地,当(refPicW÷curPicW)等于分数时,可以将参考图片标记为不可用。
b.在一个示例中,当(refPicW÷curPicW)等于(X*n)时,其中X表示分数,诸如X=1/2,n表示整数,诸如n=1、2、3、4…,可以将参考图片标记为活跃参考图片。
i.在一个示例中,当(refPicW÷curPicW)不等于(X*n)时,可以将参考图片标记为不可用。
19.对于M×N块,是否启用和/或如何启用编解码工具(例如,TPM中的双向预测/完整三角预测模式(TPM)/融合过程)可以取决于参考图片(或其一致性窗口)的分辨率和/或当前图片(或其一致性窗口)的分辨率。
a.在一个示例中,M*N<T或M*N<=T(诸如T=64)。
b.在一个示例中,M<K(或M<=K)(诸如K=16)和/或N<L(或N<=L)(诸如L=16)。
c.在一个示例中,当至少一个参考图片的宽度/高度不同于当前图片时,不允许使用编解码工具,
i.在一个示例中,当块的至少一个参考图片的宽度/高度大于当前图片的宽度/高度时,不允许使用编解码工具。
d.在一个示例中,当块的每个参考图片的宽度/高度不同于当前图片的宽度/高度时,不允许使用编解码工具,
i.在一个示例中,当每个参考图片的宽度/高度大于当前图片的宽度/高度时,不允许使用编解码工具。
e.可替代地,此外,当不允许使用编解码工具时,可以利用一个MV作为单向预测来进行运动补偿。
一致性窗口相关
20.以N像素精度而不是1像素信令通知一致性裁剪窗口偏移参数(例如conf_win_left_offset),其中N是大于1的正整数。
a.在一个示例中,可以按照将信令通知的偏移乘以N来推导实际偏移。
b.在一个示例中,N被设置为4或8。
21.提出了将一致性裁剪窗口偏移参数不仅应用于输出。一些内部解码过程可以取决于裁剪后的图片尺寸(例如,图片中一致性窗口的分辨率)。
22.提出了当第一视频单元和第二视频单元中表示为(pic_width_in_luma_samples,pic_height_in_luma_samples)的图片的宽度和/或高度相同时,在第一视频单元(例如PPS)和第二视频单元中的一致性裁剪窗口偏移参数可以不同。
23.提出了当第一视频单元和第二视频单元中表示为(pic_width_in_luma_samples,pic_height_in_luma_samples)的图片的宽度和/或高度不同时,在一致性比特流中,第一视频单元(例如PPS)和第二视频单元中的一致性裁剪窗口偏移应相同。
a.提出了无论第一视频单元和第二视频单元中的表示为(pic_width_in_luma_samples,pic_height_in_luma_samples)的图片的宽度和/或高度是否相同,在一致性比特流中,第一视频单元(例如PPS)和第二视频单元中的一致性裁剪窗口偏移参数应相同。
24.假设在第一视频单元(例如,PPS)中定义的一致性窗口的宽度和高度分别表示为W1和H1。在第二视频单元(例如,PPS)中定义的一致性窗口的宽度和高度分别表示为W2和H2。在第一视频单元(例如,PPS)中定义的一致性窗口的左上位置表示为X1和Y1。在第二视频单元(例如,PPS)中定义的一致性窗口的左上位置表示为X2和Y2。在第一视频单元(例如,PPS)中定义的编解码/解码图片(例如,pic_width_in_luma_samples和pic_height_in_luma_samples)的宽度和高度分别表示为PW1和PH1。在第二视频单元(例如,PPS)中定义的编解码/解码图片的宽度和高度表示为PW2和PH2。
a.在一个示例中,在一致性比特流中,W1/W2应等于X1/X2。
i.可替代地,在一致性比特流中,W1/X1应等于W2/X2。
ii.可替代地,在一致性比特流中,W1*X2应等于W2*X1。
b.在一个示例中,在一致性比特流中,H1/H2应等于Y1/Y2。
i.可替代地,在一致性比特流中,H1/Y1应等于H2/Y2。
ii.可替代地,在一致性比特流中,H1*Y2应等于H2*Y1。
c.在一个示例中,在一致性比特流中,PW1/PW2应等于X1/X2。
i.可替代地,在一致性比特流中,PW1/X1应等于PW2/X2。
ii.可替代地,在一致性比特流中,PW1*X2应等于PW2*X1。
d.在一示例中,在一致性比特流中PH1/PH2应等于Y1/Y2。
i.可替代地,在一致性比特流中,PH1/Y1应等于PH2/Y2。
ii.可替代地,在一致性比特流中,PH1*Y2应等于PH2*Y1。
e.在一个示例中,在一致性比特流中,PW1/PW2应等于W1/W2。
i.可替代地,在一致性比特流中,PW1/W1应等于PW2/W2。
ii.可替代地,在一致性比特流中,PW1*W2应等于PW2*W1。
f.F。在一个示例中,在一致性比特流中PH1/PH2应等于H1/H2。
i.可替代地,在一致性比特流中,PH1/H1应等于PH2/H2。
ii.可替代地,在一致性比特流中,PH1*H2应等于PH2*H1。
g.在一致性比特流中,如果PW1大于PW2,则W1必须大于W2。
h.在一致性比特流中,如果PW1小于PW2,则W1必须小于W2。
i.在一致性比特流中,(PW1-PW2)*(W1-W2)必须不小于0。
j.在一致性比特流中,如果PH1大于PH2,则H1必须大于H2。
k.在一致性比特流中,如果PH1小于PH2,则H1必须小于H2。
l.在一致性比特流中,(PH1-PH2)*(H1-H2)必须不小于0。
m.在一致性比特流中,如果PW1>=PW2,则W1/W2必须不大于(或小于)PW1/PW2。
n.在一致性比特流中,如果PH1>=PH2,则H1/H2必须不大于(或小于)PH1/PH2。
25.假设当前图片的一致性窗口的宽度和高度分别表示为W和H。参考图片的一致性窗口的宽度和高度分别表示为W’和H’。然后,一致性比特流应遵循以下至少一个约束条件。
a.W*pw>=W’;pw是整数,例如2。
b.W*pw>W’;pw是整数,例如2。
c.W’*pw’>=W;pw’是整数,例如8。
d.W’*pw’>W;pw’是整数,例如8。
e.H*ph>=H’;ph是整数,例如2。
f.H*ph>H’;ph是整数,例如2。
g.H’*ph’>=H;ph’是整数,例如8。
h.H’*ph’>H;ph’是整数,例如8。
i.在一个示例中,pw等于pw’。
j.在一个示例中,ph等于ph’。
k.在一个示例中,pw等于ph。
l.在一个示例中,pw’等于ph’。
m.在一个示例中,当W和H分别代表当前图片的宽度和高度时,一致性比特流需要满足上述子条目。W’和H’代表参考图片的宽度和高度。
26.提出了部分地信令通知一致性窗口参数。
a.在一个示例中,图片的一致性窗口中的左上样点与图片中的左上样点相同。
b.例如,不信令通知VVC中定义的conf_win_left_offset并将其推断为零。
c.例如,不信令通知VVC中定义的conf_win_top_offset并将其推断为零。
27.提出了参考样点的位置(例如,在VVC中定义的(refxL,refyL))的推导可以取决于当前图片和/或参考图片的一致性窗口的左上位置(例如,在VVC中定义的(conf_win_left_offset,conf_win_top_offset))。图4示出了按照VVC(a)和提出的方法(b)推导样点位置的示例。虚线矩形代表一致性窗口。
a.在一个示例中,仅当当前图片的宽度和/或高度与参考图片的宽度和/或高度不同时,才存在依赖性。
b.在一个示例中,推导参考样点的水平位置(例如,如在VVC中定义的refxL)可以取决于当前图片和/或参考图片的一致性窗口的左侧位置(例如,如VVC中定义的conf_win_left_offset)。
i.在一个示例中,计算当前样点相对于当前图片中的一致性窗口的左上位置的水平位置(表示为xSb’,并将其用来推导参考样点的位置。
1)例如,计算xSb’=xSb-(conf_win_left_offset<<Prec),并将其用来推导参考样点的位置,其中xSb代表当前样点在当前图片中的水平位置。conf_win_left_offset代表左上样点在当前图片的一致性窗口中的水平位置。Prec呈现xSb和xSb’的精度,其中(xSb>>Prec)可以示出当前样点相对于当前图片的实际水平坐标。例如,Prec=0或Prec=4。
ii.在一个示例中,计算参考样点相对于参考图片中的一致性窗口的左上位置的水平位置(表示为Rx’)。
1)Rx’的计算可以取决于xSb’和/或运动矢量和/或重采样比率。
iii.在一个示例中,根据Rx’来计算参考样点在参考图片中的相对位置的水平位置(表示为Rx)。
1)例如,计算Rx=Rx’+(conf_win_left_offset_ref<<Prec),其中conf_win_left_offset_ref代表参考图片的一致性窗口中左上样点的水平位置。Prec呈现了Rx和Rx’的精度。例如,Prec=0或Prec=4。
iv.在一个示例中,可以根据xSb’和/或运动矢量和/或重采样比率来直接地计算Rx。换句话说,将推导Rx’和Rx的两个步骤合并为一个步骤计算。
v.是否和/或如何使用当前图片和/或参考图片的一致性窗口的左侧位置(例如,在VVC中定义的conf_win_left_offset)可以取决于颜色分量和/或颜色格式。
1)例如,可以将conf_win_left_offset修改为conf_win_left_offset=conf_win_left_offset*SubWidthC,其中SubWidthC定义颜色分量的水平采样步骤。例如,对于亮度分量,SubWidthC等于1。当颜色格式为4:2:0或4:2:2时,对于色度分量,SubWidthC等于2。
2)例如,可以将conf_win_left_offset修改为conf_win_left_offset=conf_win_left_offset/SubWidthC,其中SubWidthC定义颜色分量的水平采样步骤。例如,对于亮度分量,SubWidthC等于1。当颜色格式为4:2:0或4:2:2时,对于色度分量,SubWidthC等于2。
c.在一个示例中,参考样点的垂直位置(例如,VVC中定义的refyL)的推导可以取决于当前图片和/或参考图片的一致性窗口的顶部位置(例如,VVC中定义的conf_win_top_offset)。
i.在一个示例中,计算当前样点相对于当前图片中的一致性窗口的左上位置的垂直位置(表示为ySb’),并将其用来推导参考样点的位置。
1)例如,计算ySb’=ySb-(conf_win_top_offset<<Prec)并将其用来推导参考样点的位置,其中ySb代表当前样点在当前图片中的垂直位置。conf_win_top_offset代表当前图片的一致性窗口中左上样点的垂直位置。Prec呈现ySb和ySb’的精度。例如,Prec=0或Prec=4。
ii.在一个示例中,计算参考样点相对于参考图片中的一致性窗口的左上位置的垂直位置(表示为Ry’)。
1)Ry’的计算可以取决于ySb’和/或运动矢量和/或重采样比率。
iii.在一个示例中,根据Ry’来计算参考样点相对于参考图片的垂直位置(表示为Ry)。
1)例如,计算Ry=Ry’+(conf_win_top_offset_ref<<Prec),其中conf_win_top_offset_ref代表参考图片的一致性窗口中左上样点的垂直位置。Prec呈现Ry和Ry’的精度。例如,Prec=0或Prec=4。
iv.在一个示例中,可以根据ySb’和/或运动矢量和/或重采样比率来直接地计算Ry。换句话说,将推导Ry’和Ry的两个步骤合并为一个步骤计算。
v.是否和/或如何使用当前图片和/或参考图片的一致性窗口的顶部位置(例如,VVC中定义的conf_win_top_offset)可以取决于颜色分量和/或颜色格式。
1)例如,可以将conf_win_top_offset修改为conf_win_top_offset=conf_win_top_offset*SubHeightC,其中SubHeightC定义颜色分量的垂直采样步骤。例如,对于亮度分量,SubHeightC等于1。当颜色格式为4:2:0时,对于色度分量,SubHeightC等于2。
2)例如,可以将conf_win_top_offset修改为conf_win_top_offset=conf_win_top_offset/SubHeightC,其中SubHeightC定义颜色分量的垂直采样步骤。例如,对于亮度分量,SubHeightC等于1。当颜色格式为4:2:0时,对于色度分量,SubHeightC等于2。
28.提出将参考样点水平坐标的整数部分剪裁成[minW,maxW]。假设参考图片的一致性窗口的宽度和高度分别表示为W和H。参考图片的一致性窗口的宽度和高度分别表示为W’和H’。参考图片中的一致性窗口的左上位置表示为(X0,Y0)。
a.在一个示例中,minW等于0。
b.在一个示例中,minW等于X0。
c.在一个示例中,maxW等于W-1。
d.在一个示例中,maxW等于W’-1。
e.在一个示例中,maxW等于X0+W’-1。
f.在一实例中,可基于颜色格式和/或颜色分量来修改minW和/或maxW。
i.例如,将minW修改为minW*SubC。
ii.例如,将minW修改为minW/SubC。
iii.例如,将maxW修改为maxW*SubC。
iv.例如,将maxW修改为maxW/SubC。
v.在一个示例中,对于亮度分量,SubC等于1。
vi.在一个示例中,当颜色格式为4:2:0时,对于色度分量,SubC等于2。
vii.在一个示例中,当颜色格式为4:2:2时,对于色度分量,SubC等于2。
viii.在一个示例中,当颜色格式为4:4:4时,对于色度分量,SubC等于1。
g.在一个示例中,是否和/或如何进行修剪可以取决于当前图片(或其一致性窗口)的维度和参考图片(或其一致性窗口)的维度。
i.在一个示例中,仅当当前图片(或其一致性窗口)的维度与参考图片(或其一致性窗口)的维度不同时才进行裁剪。
29.提出将参考样点垂直坐标的整数部分裁剪成[minH,maxH]。假设参考图片的一致性窗口的宽度和高度分别表示为W和H。参考图片的一致性窗口的宽度和高度分别表示为W’和H’。参考图片中的一致性窗口的左上位置表示为(X0,Y0)。
a.在一个示例中,minH等于0。
b.在一实例中,minH等于Y 0。
c.在一示例中,maxH等于H-1。
d.在一个例子中,maxH等于H’-1。
e.在一个例子中,maxH等于Y0+H’-1。
f.在一实例中,可以基于颜色格式和/或颜色分量来修改minH和/或maxH。
i.例如,将minH修改为minH*SubC。
ii.例如,将minH修改为minH/SubC。
iii.例如,将maxH修改为maxH*SubC。
iv.例如,将maxH修改为maxH/SubC。
v.在一个示例中,对于亮度分量,SubC等于1。
vi.在一个示例中,当颜色格式为4:2:0时,对于色度分量,SubC等于2。
vii.在一个示例中,当颜色格式为4:2:2时,对于色度分量,SubC等于1。
viii.在一个示例中,当颜色格式为4:4:4时,对于色度分量,SubC等于1。
g.在一个示例中,是否和/或如何进行修剪可以取决于当前图片(或其一致性窗口)的维度和参考图片(或其一致性窗口)的维度。
i.在一个示例中,仅当当前图片(或其一致性窗口)的维度与参考图片(或其一致性窗口)的维度不同时才进行裁剪。
在以下讨论中,如果两个语法元素具有同等功能,但可以在不同的视频单元(例如VPS/SPS/PPS/条带标头/图片标头等)进行信令通知,第一语法元素被称为“对应于”第二语法元素。
30.提出在第一视频单元(例如图片标头或PPS)中用信令通知语法元素,并且在较高级别(例如SPS)或较低级别(例如条带标头)的第二视频单元中不信令通知对应的语法元素。
a.可替代地,可以在第一视频单元(例如图片标头或PPS)中信令通知第一语法元素,并且可以在较低级别的第二视频单元中信令通知对应的第二语法元素(例如条带标头)。
i.可替代地,可以在第二视频单元中信令通知指示符,以通知其后是否信令通知第二语法元素。
ii.在一个示例中,如果信令通知了第二语法元素,则与第二视频单元相关联的条带(例如条带标头)可以跟随第二语法元素的指示而不是第一语法元素的指示。
iii.可以在第一视频单元中信令通知与第一语法元素相关联的指示符,以通知是否在与第一视频单元相关联的任何条带(或其他视频单元)中信令通知第二语法元素。
b.可替代地,可以在较高级别的第一视频单元中信令通知第一语法元素(例如,VPS/SPS/PPS),并且可以在第二视频单元中信令通知对应的第二语法元素(例如图片标头)。
i.可替代地,可以信令通知指示符以通知此后是否信令通知第二语法元素。
ii.在一个示例中,如果信令通知了第二语法元素,则与第二视频单元相关联的图片(可以被分割为条带)可以跟随第二语法元素的指示而不是第一语法元素的指示。
c.图片标头中的第一语法元素可以具有与在第2.6节中规定的条带标头中的第二语法元素等同的功能(例如但不限于slice_temporal_mvp_enabled_flag,cabac_init_flag,six_minus_max_num_merge_cand,five_minus_max_num_subblock_merge_cand,slice_fpel_mmvd_enabled_flag,slice_disable_bdof_dmvr_flag,max_num_merge_cand_minus_max_num_triangle_cand,slice_fpel_mmvd_enabled_flag,slice_six_minus_max_num_ibc_merge_cand,slice_joint_cbcr_sign_flag,slice_qp_delta等),但是可以控制图片的所有条带。
d.第2.6节中规定的SPS中的第一语法元素可以具有与图片标头中的第二语法元素等同的功能(例如但不限于sps_bdof_dmvr_slice_present_flag,sps_mmvd_enabled_flag,sps_isp_enabled_flag,sps_mrl_enabled_flag,sps_mip_enabled_flag,sps_cclm_enabled_flag,sps_mts_enabled_flag等),但是仅可以控制相关联的图片(其可以被分割为多个条带)。
e.第2.7节中规定的PPS中的第一语法元素可以具有与图片标头中的第二语法元素等同的功能(例如但不限于entropy_coding_sync_enabled_flag,entry_point_offsets_present_flag,cabac_init_present_flag,rpl1_idx_present_flag等),但是仅可以控制相关联的图片(其可以被分割为多个条带)。
31.图片标头中信令通知的语法元素与SPS/VPS/DPS中信令通知或推导的其他语法元素解耦。
32.可以在图片标头中单独的信令通知DMVR和BDOF的启用/禁用指示,而不是由相同的标志(例如,pic_disable_bdof_dmvr_flag)控制。
33.可在图片标头中信令通知启用/禁用PROF/跨分量ALF/利用几何分割(GEO)的帧间预测的指示。
a.可替代地,可以根据SPS中的PROF启用标志有条件地信令通知在图片标头中的启用/禁用PROF的指示。
b.可替代地,可以根据SPS中的CCALF启用标志,有条件地信令通知在图片标头中的启用/禁用跨分量ALF(CCALF)的指示。
c.可替代地,可以根据SPS中的GEO启用标志有条件地信令通知图片标头中的启用/禁用GEO的指示。
d.可替代地,此外,可以根据在图片标头中而不是SPS中信令通知的那些语法元素,有条件地信令通知条带标头中的启用/禁用PROF/跨分量ALF/利用几何分割(GEO)的帧间预测的指示。
34.可以在图片标头中用信令通知相同图片中的条带/砖块/片(或小于图片的其他视频单元)的预测类型的指示。
a.在一个示例中,可以在图片标头中信令通知是否所有条带/砖块/片(或小于图片的其他视频单元)都是帧内编解码(例如,所有I条带)的指示。
i.可替代地,此外,如果指示告诉图片内的所有条带都是I条带,则可以不在条带标头信令通知条带类型。
b.可替代地,可以在图片标头中信令通知条带/砖块/片(或小于图片的其他视频单元)中的至少一个是否不是帧内编解码(例如,至少一个非I条带)的指示。
c.可替代地,可以在图片标头中信令通知所有条带/砖块/片(或小于图片的其他视频单元)是否都具有相同的预测类型(例如,I/P/B条带)的指示。
i.可替代地,此外,可以不在条带标头中信令通知条带类型。
ii.可替代地,此外,可以根据预测类型的指示有条件地信令通知允许用于特定预测类型的工具(例如,DMVR/BDOF/TPM/GEO仅允许用于B条带;双树仅允许用于I条带)。
d.可替代地,此外,启用/禁用工具的指示的信令可以取决于上述子条目中提到的预测类型的指示。
i.可替代地,此外,可以根据上述子条目中提到的预测类型的指示来推导启用/禁用工具的指示。
35.在本公开中(条目1-条目29),术语“一致性窗口”可以由诸如“缩放窗口”之类的其他术语代替。可以与一致性窗口不同地信令通知缩放窗口,并且用于推导缩放比率和/或左上偏移,该缩放比率和/或左上偏移用于推导用于RPR的参考样点位置。
a.在一示例中,缩放窗口可以被一致性窗口约束。例如,在一致性比特流中,缩放窗口必须包含在一致性窗口中。
36.是否和/或如何用信令通知用于变换-跳过-编解码的块的所允许的最大块尺寸可以取决于用于变换-编解码的块的最大块尺寸。
a.可替代地,在一致性比特流中,用于变换-跳过-编解码的块的最大块尺寸不能大于用于变换-编解码的块的最大块尺寸。
37.是否以及如何信令通知启用联合Cb-Cr残差(JCCR)编解码的指示(例如sps_joint_cbcr_enabled_flag)可以取决于颜色格式(例如4:0:0,4:
2:0等)。
a.例如,如果颜色格式为4:0:0,则可以不信令通知启用联合Cb-Cr残差(JCCR)的指示。示例性语法设计如下:
Figure BDA0003710942930000711
Figure BDA0003710942930000721
在TPM/GEO中用于色度混合掩膜(blending mask)生成的下采样滤波器类型
38.可以在视频单元级别(例如SPS/VPS/PPS/图片标头/子图片/条带/条带标头/片/砖块/CTU/VPDU级别)信令通知用于色度样点的混合权重推导的下采样滤波器的类型。
a.在一个示例中,可以信令通知高级别标志,以在内容的不同色度格式类型之间切换。
i.在一个示例中,可以信令通知高级别标志,以在色度格式类型0和色度格式类型2之间切换。
ii.在一个示例中,可以信令通知标志,以规定TPM/GEO预测模式中左上下采样的亮度权重是否与左上亮度权重共位(例如,色度样本位置类型0)。
iii.在一个示例中,可以信令通知标志,以规定TPM/GEO预测模中下左上下采样的亮度样点是否与左上亮度样点在水平方向上共位,但是相对于左上亮度样点(例如,而是样点位置类型2)垂直位移了0.5单位的亮度样点。
b.在一个示例中,可以针对4:2:0色度格式和/或4:2:2色度格式信令通知下采样滤波器的类型。
c.在一个示例中,可以信令通知标志以规定用于TPM/GEO预测的色度下采样滤波器的类型。
i.在一个示例中,可以信令通知标志以用于在TPM/GEO预测模式下的色度权重推导是使用下采样滤波器A还是下采样滤波器B。39.可以在视频单位级别(例如SPS/VPS/PPS/图片标头/子图片/条带/条带标头/片/砖块/CTU/VPDU级别)推导用于色度样点的混合权重推导的下采样滤波器的类型。
a.在一个示例中,可以定义查找表以规定色度子采样滤波器类型和内容的色度格式类型之间的对应关系。
40.在色度样点位置类型不同的情况下,可以将规定的下采样滤波器用于TPM/GEO预测模式。
a.在一个示例中,在某种色度样点位置类型(例如,色度样点位置类型0)的情况下,TPM/GEO的色度权重可以从共位的左上亮度权重进行子采样。
b.在一个示例中,在某种色度样点位置类型(例如,色度样点位置类型0或2)的情况下,可以将规定的X抽头滤波器(X是常数,例如X=6或5)用于TPM/GEO预测模式中的色度权重子采样。
41.在视频单元(例如,SPS、PPS、图片标头、条带标头等)中,可以信令通知第一语法元素(例如标志)以指示是否所有块(条带/图片)禁用多变换选择(MTS)。
a.基于第一语法元素来条件地信令通知指示如何在帧内编解码块(条带/图片)上应用MTS(例如启用MTS/禁用MTS/隐式MTS/显式MTS)的第二语法元素。例如,仅当第一语法元素指示并非所有块(条带/图片)禁用MTS时,才信令通知第二语法元素。
b.基于第一语法元素来条件地信令通知指示如何在帧间编解码块(条带/图片)上应用MTS(例如启用MTS/禁用MTS/隐式MTS/显式MTS)的第三语法元素。例如,仅当第一语法元素指示并非所有块(条带/图片)禁用MTS时,才信令通知第三语法元素。
c.示例性语法设计如下:
Figure BDA0003710942930000731
d.基于是否应用子块变换(SBT)来条件地信令通知第三语法元素。示例性语法设计如下:
Figure BDA0003710942930000732
e.示例性语法设计如下
Figure BDA0003710942930000733
Figure BDA0003710942930000741
确定编解码工具X的使用
42.确定是否启用和/或如何启用编解码工具X可以取决于一个或多个参考图片的考虑图片和/或当前图片的宽度和/高度。
a.一个或多个参考图片的考虑图片和/或当前图片的宽度和/高度可以被修改以做出确定。
b.考虑图片可以由一致性窗口或缩放窗口定义。
i.考虑图片可以是整个图片。
c.在一个示例中,是否启用和/或如何启用编解码工具X可以取决于图片的宽度减去水平方向的一个或多个偏移和/或图片的高度减去垂直方向的偏移。
i.在一个示例中,水平偏移可以定义为scaling_win_left_offset。
ii.在一个示例中,垂直偏移可以定义为scaling_win_top_offset。
iii.在一个示例中,水平偏移可以定义为(scaling_win_right_offset+scaling_win_left_offset)。
iv.在一个示例中,垂直偏移可以定义为(scaling_win_bottom_offset+scaling_win_top_offset)。
v.在一个示例中,水平偏移可以定义为SubWidthC*(scaling_win_right_offset+scaling_win_left_offset)。
vi.在一个示例中,垂直偏移可以定义为SubHeightC*(scaling_win_bottom_offset+scaling_win_top_offset)。
d.在一个示例中,如果两个考虑参考图片中的至少一个具有与当前图片不同的分辨率(宽度或高度),则编解码工具X被禁用。
i.可替换地,如果两个输出参考图片中的至少一个的维度(宽度或高度)大于当前图片的维度(宽度或高度),则禁用编解码工具X。
e.在一个示例中,如果用于参考图片列表L的一个考虑参考图片具有与当前图片不同的分辨率,则针对参考图片列表L禁用编解码工具X。
i.可替换地,如果用于参考图片列表L的一个考虑参考图片具有大于当前图片的维度(宽度或高度),则针对参考图片列表L禁用编解码工具X。
f.在一个示例中,如果两个参考图片列表的两个考虑参考图片具有不同的分辨率,则可以禁用编解码工具。
i.可替换地,可以根据分辨率有条件地信令通知编解码工具的指示。
ii.可替换地,可以跳过编解码工具的指示的信令。
g.在一个示例中,如果两个merge候选的两个考虑参考图片被用于推导至少一个参考图片列表的第一成对merg候选,则可以禁用编解码工具,例如,第一成对merge候选被标记为不可用。
i.可替换地,如果两个merge候选的两个考虑参考图片被用于推导两个参考图片列表的第一成对merge候选,则可以禁用编解码工具,例如,第一成对merge候选被标记为不可用。
h.在一个示例中,编解码工具的解码过程可以在考虑图片维度的情况下进行修改。
i.在一个示例中,SMVD中的另一参考图片列表(例如,列表1)的MVD的推导可以基于两个目标SMVD参考图片中的至少一个的分辨率差(例如,缩放因子)。
ii.在一个示例中,成对merge候选的推导可以基于与两个参考图片相关联的两个参考图片中的至少一个的分辨率差(例如,缩放因子),例如,可以应用线性加权平均而不是相等的权重。
i.在一个示例中,X可能是:
i.DMVR/BDOF/PROF/SMVD/MMVD/在解码器侧细化运动/预测的其他编解码工具
ii.TMVP/依赖于时域运动信息的其他编解码工具
iii.MTS或其他变换编解码工具
iv.CC-ALF
v.TPM
vi.GEO
vii.可切换插值滤波器(例如,用于半像素运动补偿的替代插值滤波器)
viii.TPM/GEO/其他编解码工具中的混合过程,其将一个块划分成多个分割。
ix.依赖于不同于当前图片的图片中存储的信息的编解码工具
x.成对merge候选(当不满足与分辨率相关的某些条件时,不生成成对merge候选)
xi.具有CU级权重(BCW)的双向预测
xii.加权预测
xiii.仿射预测
xiv.自适应运动矢量分辨率(AMVR)
43.是否和/或如何信令通知编解码工具的使用可以取决于一个或多个参考图片的考虑图片和/或当前图片的宽度和/高度。
a.一个或多个参考图片的考虑图片和/或当前图片的宽度和/高度可以被修改以做出确定。
b.考虑图片可以由JVET-P0590中定义的一致性窗口或缩放窗口定义。
xv.考虑图片可以是整个图片。
c.在一个示例中,X可以是自适应运动矢量分辨率(AMVR)。
d.在一个示例中,X可以是利用MV差的merge(MMVD)方法。
xvi.在一个示例中,对称运动矢量差参考索引的构建可以取决于图片分辨率/不同参考图片的RPR情况的指示。
e.在一个示例中,X可以是对称MVD(SMVD)方法。
f.在一个示例中,X可以是QT/BT/TT或其他分割类型。
g.在一个示例中,X可以是具有CU级权重(BCW)的双向预测。
h.在一个示例中,X可以是加权预测。
i.在一个示例中,X可以是仿射预测。
j.在一个示例中,是否信令通知使用半像素运动矢量精度/可切换插值滤波器的指示可以取决于分辨率信息/是否为当前块启用RPR。
k.在一个示例中,amvr_precision_idx的信令可以取决于分辨率信息/是否为当前块启用RPR。
l.在一个示例中,sym_mvd_flag/mmvd_merge_flag的信令可以取决于分辨率信息/是否为当前块启用RPR。
m.当一个或多个参考图片的考虑图片的宽度和/高度不同于当前输出图片时,一致性比特流应满足1/2像素MV和/或MVD精度(例如,替代插值滤波器/可切换插值滤波器)是不允许的。
44.提出RPR中的块仍可启用具有1/2像素MV和/或MVD精度(或替代插值滤波器/可切换插值滤波器)的AMVR。
a.可替换地,此外,可以对具有1/2像素或其他精度的块应用不同的插值滤波器。
45.以上条目中相同/不同分辨率的条件检查可以通过为参考图片添加标志并检查与参考图片关联的标志来代替。
a.在一个示例中,可以在参考图片列表构建过程期间调用将标志设置为真或假(例如,以指示参考图片是RPR情况还是非RPR情况)的过程。
xvii.例如,可以应用以下内容:
fRefWidth设置为等于以亮度样点为单位的参考图片RefPicList[i][j]的PicOutputWidthL,其中PicOutputWidthL代表参考图片的考虑图片的宽度。
fRefWidth被设置为等于以亮度样点为单位的参考图片RefPicList[i][j]的PicOutputHeightL,其中PicOutputHeightL代表参考图片的考虑图片的高度。
RefPicScale[i][j][0]=((fRefWidth<<14)+(PicOutputWidthL>>1))/PicOutputWidthL,其中
PicOutputWidthL代表当前图片的考虑图片的宽度。
RefPicScale[i][j][1]=((fRefHeight<<14)+(PicOutputHeightL>>1))/PicOutputHeightL,其中PicOutputWidthL表示当前图片的考虑图片的高度
RefPicIsScaled[i][j]=(RefPicScale[i][j][0]!=(1<<14))||
(RefPicScale[i][j][1]!=(1<<14))
其中RefPicList[i][j]表示参考图片列表i中的第j个参考图片。
b.在一个示例中,当RefPicIsScaled[0][refIdxL0]不等于0或者RefPicIsScaled[1][refIdxL1]不等于0时,编解码工具X(例如,DMVR/BDOF/SMVD/MMVD/SMVD/PROF/那些上述条目中提到的工具)可以被禁用。
c.在一个示例中,当RefPicIsScaled[0][refIdxL0]和RefPicIsScaled[1][refIdxL1]两者都不等于0时,编解码工具X(例如,DMVR/BDOF/SMVD/MMVD/SMVD/PROF/那些上述条目中提到的工具)可以被禁用。
d.在一个示例中,当RefPicIsScaled[0][refIdxL0]不等于0时,可以针对参考图片列表0禁用编解码工具X(例如,PROF或上述条目中提到的那些工具)。
e.在一个示例中,当RefPicIsScaled[1][refIdxL1]不等于0时,可以针对参考图片列表1禁用编解码工具X(例如,PROF或上述条目中提到的那些工具)。
46.BDOF/DMVR所使用的SAD和/或阈值可以取决于比特深度。
f.在一个示例中,所计算的SAD值可以在被用于与阈值比较之前首先进行比特深度的函数的移位。
g.在一个示例中,所计算的SAD值可以直接与修改的阈值进行比较,该修改的阈值可以取决于比特深度的函数。
47.如果图片的所有条带的slice_type值等于I(I条带),则P/B条带相关的语法元素可以不在图片标头中信令通知。
a.在一个示例中,可以将(多个)语法元素添加到图片标头以指示特定图片中包括的所有条带的slice_type是否等于I(I条带)。
i.在一个示例中,可以在图片标头中信令通知第一语法元素。是否和/或如何信令/解释通知与图片标头相关联的条带的条带标头中的条带类型信息的第二语法元素可以取决于第一语法元素。
1)在一个示例中,取决于第一语法元素,可以不信令通知第二语法元素,并推断为条带类型。
2)在一个示例中,可以信令通知第二语法元素,但是一致性要求规定根据第一语法元素,第二语法元素必须是若干给定值中的一个。
3)可替换地,可以在与条带相关联的AU定界符RBSP中信令通知第一语法元素。
ii.在一个示例中,新的语法元素(例如,pic_all_X_slices_flag)可以在图片标头中信令通知以指示是否仅允许X条带用于该图片,或者该图片中的所有条带是否都是X条带。例如,X可以是I、P或B。
1)在一个示例中,如果在相关联的图片标头中指示所有条带都是I-条带,则不在条带标头中信令通知条带类型信息并且被推断为I-条带。
iii.在一个示例中,可以在图片标头中信令通知新的语法元素(例如,ph_pic_type)以指示图片的图片类型。
1)例如,如果ph_pic_type等于I-图片(例如等于0),则只允许图片中的slice_type等于I。
2)再例如,如果ph_pic_type等于非-I图片(例如1或2),则可以允许图片中的slice_type等于I和/或P和/或B。
b.在一个示例中,AU定界符RBSP中的语法元素pic_type可用于指示特定图片的所有条带是否等于I。
c.在一个示例中,如果图片中的所有条带都是I条带,那么对于此图片中的所有条带,条带标头中的语法元素slice_type可以不被信令通知并且被推断为I条带(例如2)。
i.在一个示例中,如果语法元素(诸如但不限于pic_all_I_slices_flag、ph_pic_type、pic_type)指示特定图片中包括的所有条带都等于I,则可以添加比特流约束以指定在特定图片中的每个条带的slice_type指定图片应等于I条带。
ii.可替换地,如果语法元素(例如但不限于pic_all_I_slices_flag、ph_pic_type、pic_type)指示特定图片中包含的所有条带都等于I,则可以添加比特流约束以指定在特定图片中不允许P或B条带。
d.如果条带/图片是W-条带/W-图片,则可以不信令通知条带标头/图片标头中允许用于非W条带的一个或多个语法元素(表示为如下指定的语法元素集X)。例如,W可以是I,非W可以是B或P。在另一示例中,W可以是B,非W可以是I或P。
i.在一个示例中,如果图片中的所有条带都是W条带,则可以不信令通知图片标头中允许用于非W条带的语法元素集X。
ii.可替换地,可以根据图片中的所有条带是否为W条带,有条件地信令通知图片标头中的一些语法元素(如下文指定的集合X)。
iii.语法元素集合X可以是以下一种或多种。
1)在一个示例中,X可以是图片标头中的参考图片相关的语法元素,例如但不限于pic_rpl_present_flag、pic_rpl_sps_flag、pic_rpl_idx、pic_poc_lsb_lt、pic_delta_poc_msb_present_flag、pic_delta_poc_msb_cycle_lt……如果条带/图片被信令通知或被推断为非帧间条带/图片,则X可以不被信令通知并被推断为不使用。
2)在一个示例中,X可以是图片标头中的帧间条带相关语法元素,例如但不限于pic_log2_diff_min_qt_min_cb_inter_slice、pic_max_mtt_hierarchy_depth_inter_slice、pic_log2_diff_max_bt_min_qt_inter_slice、pic_log2_diff_max_tt_min_qt_inter_slice……如果条带/图片被信令通知或被推断为非帧间条带/图片,则X可以不被信令通知并被推断为不使用。
3)在一个示例中,X可以是图片标头中帧间预测相关语法元素,例如但不限于pic_temporal_mvp_enabled_flag,mvd_l1_zero_flag,pic_six_minus_max_num_merge_cand,pic_five_minus_max_num_subblock_merge_cand,pic_fpel_mmvd_enabled_flag,pic_disable_bdof_flag,pic_disable_dmvr_flag,pic_disable_prof_flag,pic_max_num_merge_cand_minus_max_num_triangle_cand…
如果条带/图片被信令通知或被推断为非帧间条带/图片,则X可以不被信令通知并被推断为不使用。
4)在一个示例中,X可以是图片标头中的双向预测相关语法元素,例如但不限于pic_disable_bdof_flag,pic_disable_dmvr_flag,mvd_l1_zero_flag…
如果条带/图片被信令通知或被推断为非B条带/图片,则X可以不被信令通知并被推断为不使用。。
片/条带相关维度的限制
48.可以在规范中指定最大片宽度。
a.例如,最大片宽度可以定义以CTB为单位的最大亮度片宽度。
b.在一个示例中,在视频单元(例如,SPS、PPS、图片标头、条带标头等)中,可以信令通知新的语法元素以指示在当前序列/图片/条带/子中允许的最大片宽度。
c.在一个示例中,可以信令通知最大亮度片宽度或以CTB为单位的最大亮度片宽度。
d.在一个示例中,最大亮度片宽度可以固定为N(例如N=1920或4096等)
e.在一个示例中,可以在不同的配置文件/级别/层中指定不同的最大片宽度。
49.可以在规范中指定最大条带/子图片/片维度(例如,宽度和/或尺寸,和/或长度,和/或高度)。
f.例如,最大条带/子图片/片维度可以定义为以CTB为单位的最大亮度维度。
g.例如,条带/子图片/片的尺寸可以定义为条带中CTB的数目。
h.在一个示例中,在视频单元(例如,SPS、PPS、图片标头、条带标头等)中,可以信令通知新的(多个)语法元素以指示当前序列/图片/条带/子图片中允许的最大亮度条带/子图片/片维度。
i.在一个示例中,针对矩形条带/子图片,可以信令通知最大亮度条带/子图片宽度/高度或以CTB为单位的最大亮度条带/子图片宽度/高度。
j.在一个示例中,针对光栅扫描条带,可以信令通知最大亮度条带尺寸(例如宽度*高度)或以CTB为单位的最大亮度条带尺寸。
k.在一个示例中,针对矩形条带/子图片和光栅扫描条带两者,可以信令通知最大亮度条带/子图片尺寸(例如宽度*高度)或以CTB为单位的最大亮度条带/子图片尺寸。
l.在一个示例中,针对光栅扫描条带,可以信令通知最大亮度条带长度或以CTB为单位的最大亮度条带长度。
m.在一个示例中,最大亮度条带/子图片宽度/高度可以固定为N(例如N=1920或4096等)
n.在一个示例中,最大亮度条带/子图片尺寸(例如宽度*高度)可以固定为N(例如N=2073600或83388608等)
o.在一个示例中,可以在不同的配置文件/级别/层中指定不同的最大条带/子图片维度。
p.在一个示例中,可以在规范中指定要在图片/子图片中分割的条带/子图片/片的最大数目。
i.可以信号通知最大数目。
ii.不同配置文件/级别/层的最大数目可以不同。
50.假设当前图片的宽度和高度分别表示为PW和PH;当前图片缩放窗口的宽度和高度分别表示为SW和SH;参考图片缩放窗口的宽度和高度分别表示为SW'和SH';允许的最大图片的宽度和高度分别表示为Wmax和Hmax。为方便起见,令
Figure BDA0003710942930000821
Figure BDA0003710942930000822
以下约束中的至少一个应遵循一致性比特流。不应狭隘地理解以下约束。例如约束(a/b)>=(c/d),其中a,b,c,d是大于0的整数,也可以理解为(a/b)-(c/d)>=0或a*d>=c*b或a*d-c*d>=0。
q.a×Wmax×SW-(b×SW′+c×SW)×PW+offw≥0,其中a、b、c、offw为整数。例如,a=135,b=128,c=7和offw=0。
r.d×Hmax×SH-(e×SH′+f×SH)×PH+offh≥0,其中d、e、f为整数。例如,d=135、e=128、f=7和offh=0。
s.a×Wmax×SW-b×SW′×PW+offw≥0,其中a、b为整数。例如,a=1、b=1和offw=0。
t.d×Hmax×SH-e×SH′×PH+offh≥0,其中d、e为整数。例如,d=1、e=1和offh=0。
u.
Figure BDA0003710942930000823
其中Lw、Bw和offw为整数。例如,Lw=7、Bw=128和offw=0。
v.
Figure BDA0003710942930000831
其中Lh、Bh和offh为整数。例如,Lh=7、Bh=128和offh=0。
w.rw≤a*Rw+offw,其中a和offw为整数。例如,a=1且offw=0。
x.rh≤b*Rh+offh,其中b和offh为整数。例如,b=1且offh=0。
y.rw≤a*Qw+offw,其中a和offw为整数。例如,a=1且offw=0。
z.rh≤b*Qh+offh,其中b和offh为整数。例如,b=1且offh=0。
51.可以在图片标头中但不在PPS中信令通知QP相关信息(例如delta QP)。
a.在一个示例中,QP相关信息(例如delta QP)被指定用于特定编解码工具,例如自适应颜色变换(ACT)。
52.提出可以在条带或者可以与多个条带相关联的相关联的第一视频单元(VU)(诸如PPS或图片标头)中信令通知条带的条带类型。(例如,条带类型可以包括I-条带、P-条带或B-条带中的至少一种)。
b.提出可以在第一VU中信令通知第一语法元素(SE)(例如名为ph_same_slice_type_flag的标志),以指示与第一VU相关联的所有编解码条带是否具有相同的条带类型。
c.提出当所有条带具有相同条带类型时,可以在第一VU中信令通知第二SE(例如名为ph_slice_type的SE)以指示与第一VU相关联的所有条带的条带类型。
i.在一个示例中,当更高级别(例如在SPS中)不允许B-条带时,第二SE不能指示B-条带类型。
d.提出基于第一SE有条件地信令通知第二SE。
i.例如,仅当第一SE指示与第一VU相关联的所有编解码条带具有相同的条带类型(例如,ph_same_slice_type_flag等于1)时,才信令通知第二SE。
e.在一个示例中,第二SE以与在条带标头中信令通知的指示条带类型(例如,slice_type)的SE相同的方式进行二值化或解释。
f.提出可以基于第一和/或第二SE,在条带标头中有条件地信令通知指示条带类型(例如,slice_type)的SE。
i.在一个示例中,仅当第一SE指示与第一VU相关联的编解码的条带具有不同的条带类型(例如ph_same_slice_type_flag等于0)时,在条带标头信令通知用来指示条带类型(例如slice_type)的SE。
g.提出基于第一和/或第二SE,当不存在时,可以将条带标头中指示条带类型(例如,slice_type)的SE推断为默认值。
i.当不存在时,推断slice_type的值等于(ph_same_slice_type_flag?ph_slice_type:(ph_inter_slice_allowed_flag?1:2))。
h.可以在SPS和/或PPS和/或PH中信令通知一个或多个语法元素,指示在当前视频单元(例如,CLVS/一组图片/图片,例如X等于I或P或B,例如,如第5.13节中的实施例)中是否允许slice_type等于X。
ii.另外,当CLVS中不允许B条带的语法元素(命名为sps_b_slice_allowed_flag等于0)时,向PPS语法元素pps_weighted_bipred_flag添加语义约束,例如pps_weighted_bipred_flag的语义改变如下(添加的部分以带下划线的粗斜体显示):
pps_weighted_bipred_flag等于0指定显式加权预测不应用于参考PPS的B条带。pps_weighted_bipred_flag等于1指定显式加权预测应用于参考PPS的B条带。当sps_weighted_bipred_flag或
Figure BDA0003710942930000841
等于0时,pps_weighted_bipred_flag的值应等于0。
i.提出可以基于第一SE和/或第二SE,有条件地在第一VU中信令通知一个或多个SE以约束与第一VU相关联的条带的条带类型。
i.例如,仅当第一SE指示与第一VU相关联的编解码条带具有不同的条带类型(例如,ph_same_slice_type_flag等于0)时,信令通知那些一个或多个SE。
ii.那些一个或多个SE可以包括指示与第一VU相关联的所有编解码条带是否具有等于I-条带的条带类型的SE。例如。该SE可以是图片标头中的ph_inter_slice_allowed_flag。
iii.那些一个或多个SE可以包括指示与第一VU相关联的所有编解码条带是否具有等于B-条带或P-条带的条带类型的SE。例如,该SE可以是图片标头中的ph_intra_slice_allowed_flag。
iv.那些一个或多个SE可以包括指示与第一VU相关联的所有编解码条带是否具有等于P-条带或I-条带的条带类型的SE。例如,该SE可以是图片标头中的ph_b_slice_allowed_flag。
v.例如,当ph_same_slice_type_flag等于1时,语法元素ph_inter_slice_allowed_flag和/或ph_intra_slice_allowed_flag和/或ph_X_slice_allowed_flag(指示是否对当前图片中的所有条带允许slice_type等于X的PH标志,例如X等于I或P或B)不被信令通知,并且可以推断它们的值,例如,如在5.13中的实施例。例如,当ph_same_slice_type_flag等于0并且语法元素指定不允许B条带(例如,ph_b_slice_allowed_flag等于0),语法元素ph_intra_slice_allowed_flag可以不被信令通知,并被推断为某个值(例如1),例如,如在5.13中的实施例。
1)另外,当ph_same_slice_type_flag等于0时,ph_intra_slice_allowed_flag在ph_b_slice_allowed_flag之后发被信令通知,并且ph_intra_slice_allowed_flag的信令以ph_b_slice_allowed_flag为条件。
vi.例如,当ph_same_slice_type_flag等于0时,指定是否允许条带间的语法元素(例如,ph_inter_slice_allowed_flag)可以不被发信号通知,例如,如在第5.13节中的实施例中。
vii.另外,是否在PH中信令通知以下与帧间相关的语法元素取决于ph_same_slice_type_flag的值和/或ph_slice_type的值,(例如,ph_log2_diff_min_qt_min_cb_inter_slice,ph_max_mtt_hierarchy_depth_inter_slice,ph_log2_diff_max_bt_min_qt_inter_slice,ph_log2_diff_max_tt_min_qt_inter_slice,ph_cu_qp_delta_subdiv_inter_slice,ph_cu_chroma_qp_offset_subdiv_inter_slice,ph_temporal_mvp_enabled_flag,ph_collocated_from_l0_flag,ph_collocated_ref_idx,mvd_l1_zero_flag,ph_fpel_mmvd_enabled_flag,ph_disable_bdof_flag,ph_disable_dmvr_flag,ph_disable_prof_flag,以及语法结构pred_weight_table()),例如,如在第5.13节中的实施例中。
1.例如,当ph_same_slice_type_flag等于1或ph_slice_type不等于2时,可以信令通知上述PH中帧间关联的语法元素。否则,可以推断它们的值。
viii.另外,是否信令通知SH中的语法元素slice_type可以取决于ph_same_slice_type_flag的值,例如,slice_type的语法改变如下(添加的部分以带下划线的粗斜体显示,删除的部分显示在[[]]):
Figure BDA0003710942930000861
slice_type的语义变化如下:
如果不存在,则推断slice_type的值等于
Figure BDA0003710942930000862
[[2]]。
j.提出基于第一SE和/或第二SE,当不存在时,用于约束与第一VU相关联的条带的条带类型的一个或多个SE可以被推断为默认值。
i.那些一个或多个SE可以包括SE指示与第一VU相关联的所有编解码条带是否具有等于I-条带的条带类型的SE。例如,该SE可以是图片标头中的ph_inter_slice_allowed_flag。
2.示例1:当不存在时,ph_inter_slice_allowed_flag被推断为等于(!ph_same_slice_type_flag||(ph_slice_type<2?1:0))。
3.示例2:当不存在时,ph_inter_slice_allowed_flag被推断为等于(ph_same_slice_type_flag?(ph_slice_type<2?1:0):1)。
4.示例3:当不存在时,ph_inter_slice_allowed_flag被推断为等于(ph_slice_type<2?1:0)。
ii.那些一个或多个SE可以包括指示与第一VU相关联的所有编解码条带是否具有等于B-条带或P-条带的条带类型的SE。例如,该SE可以是图片标头中的ph_intra_slice_allowed_flag。
1.示例1:当不存在时,ph_intra_slice_allowed_flag的值被推断为等于(!ph_same_slice_type_flag||(ph_slice_type==2?1:0))。
2.示例2:当不存在时,ph_intra_slice_allowed_flag的值被推断为等于(ph_same_slice_type_flag?(ph_slice_type==2?1:0):1)。
iii.那些一个或多个SE可以包括指示与第一VU相关联的所有编解码条带是否具有等于P-条带或I-条带的条带类型的SE。例如,该SE可以是图片标头中的ph_b_slice_allowed_flag。
1.示例1:当不存在时,ph_b_slice_allowed_flag的值被推断为等于(ph_same_slice_type_flag?(ph_slice_type==0?1:0):(sps_b_slice_allowed_flag&&ph_inter_slice_allowed_flag))。
色度QP映射表
53.可以直接发送色度QP映射表的起始点。
k.在一个示例中,qp_table_start_minus26可以被qp_table_start代替而不被差分编解码。
i.或者,此外,可以使用ue(v)而不是se(v)来信令通知语法元素。
5.附加实施例
在下文中,以带下划线的粗斜体字体示出文本更改。
5.1关于一致性窗口的约束条件的实施例
根据用于输出的在图片坐标中规定的矩形区域,conf_win_left_offset、conf_win_right_offset、conf_win_top_offset和conf_win_bottom_offset规定从解码过程中输出的CVS中的图片样点。当conformance_window_flag等于0时,conf_win_left_offset、conf_win_right_offset、conf_win_top_offset和conf_win_bottom_offset的值被推断为等于0。
一致性裁剪窗口包含亮度样点,其具有从SubWidthC*conf_win_left_offset到pic_width_in_luma_samples-(SubWidthC*conf_win_right_offset+1)的水平图片坐标和从SubHeightC*conf_win_top_offset到pic_height_in_luma_samples-(SubHeightC*conf_win_bottom_offset+1)的垂直图片坐标(包括端值)。
SubWidthC*(conf_win_left_offset+conf_win_right_offset)的值应小于pic_width_in_luma_samples,SubHeightC*(conf_win_top_offset+conf_win_bottom_offset)的值应小于pic_height_in_luma_samples。
变量PicOutputWidthL和PicOutputHeightL的推导如下:
PicOutputWidthL=pic_width_in_luma_samples- (7-43)
SubWidthC*(conf_win_right_offset+conf_win_left_offset)
PicOutputHeightL=pic_height_in_pic_size_units- (7-44)
SubHeightC*(conf_win_bottom_offset+conf_win_top_offset)
当ChromaArrayType不等于0时,两个色度阵列的对应规定样点是具有图片坐标(x/SubWidthC,y/SubHeightC)的样点,其中(x,y)是规定亮度样点的图片坐标。
Figure BDA0003710942930000881
5.2参考样点位置推导的实施例1
8.5.6.3.1概述
将变量fRefWidth设置为等于以亮度样点衡量的参考图片的PicOutputWidthL。
将变量fRefHeight设置为等于以亮度样点衡量的参考图片的PicOutputHeightL。
Figure BDA0003710942930000882
Figure BDA0003710942930000891
将运动矢量mvLX设置为等于(refMvLX-mvOffset)。
–如果cIdx等于0,那么适用以下内容:
-将缩放因数及其固定点表示定义为:
hori_scale_fp=((fRefWidth<<14)+(PicOutputWidthL>>1))/PicOutputWidthL(8-753)
vert_scale_fp=((fRefHeight<<14)+(PicOutputHeightL>>1))/PicOutputHeightL(8-754)
–令(xIntL,yIntL)为以全样点为单位的亮度位置,并且(xFracL,yFracL)为以1/16样点为单位的偏移量。这些变量仅在这一条款中用于规定参考样点阵列refPicLX内的分数样点位置。
–将用于参考样点填补的包围块(bounding block)的左上坐标(xSbIntL,ySbIntL)设置为等于(xSb+(mvLX[0]>>4),ySb+(mvLX[1]>>4))。
–对于预测亮度样点阵列predSamplesLX内的每一亮度样点位置(xL=0..sbWidth-1+brdExtSize,yL=0..sbHeight-1+brdExtSize),按照如下推导对应预测亮度样点值predSamplesLX[xL][yL]:
-令(refxSbL,refySbL)和(refxL,refyL)为以1/16样点为单位给出的运动矢量(refMvLX[0],refMvLX[1])所指向的亮度位置。按照如下推导变量refxSbL、refxL、refySbL和refyL
Figure BDA0003710942930000892
refxL=((Sign(refxSb)*((Abs(refxSb)+128)>>8)+xL*((hori_scale_fp+8)>>4))+32)>>6 (8-756)
Figure BDA0003710942930000893
refyL=((Sign(refySb)*((Abs(refySb)+128)>>8)+yL*((vert_scale_fp+8)>>4))+32)>>6 (8-758)
Figure BDA0003710942930000901
–按照如下推导变量xIntL、yIntL、xFracL和yFracL
xIntL=refxL>>4 (8-759)
yIntL=refyL>>4 (8-760)
xFracL=refxL&15 (8-761)
yFracL=refyL&15 (8-762)
如果bdofFlag等于真或(sps_affine_prof_enabled_flag等于真并且inter_affine_flag[xSb][ySb]等于真),并且下述条件中的一个或多个为真,那么在以(xIntL+(xFracL>>3)-1),yIntL+(yFracL>>3)-1)和refPicLX为输入的情况下通过调用条款8.5.6.3.3中规定的亮度整数样点取回过程来推导出预测亮度样点值predSamplesLX[xL][yL]。
–xL等于0。
–xL等于sbWidth+1。
–yL等于0。
–yL等于sbHeight+1。
–否则,在以(xIntL-(brdExtSize>0?1:0),yIntL-(brdExtSize>0?1:0))、(xFracL,yFracL)、(xSbIntL,ySbIntL)、refPicLX、hpelIfIdx、sbWidth、sbHeight和(xSb,ySb)为输入的情况下通过调用条款8.5.6.3.2中规定的亮度样点8抽头插值滤波过程来推导预测亮度样点值predSamplesLX[xL][yL]。
–否则(cIdx不等于0),那么适用以下内容:
–令(xIntC,yIntC)为以全样点为单位给出的色度位置,并且(xFracC,yFracC)为以1/32样点为单位给出的偏移。这些变量仅在这一条款中用于规定参考样点阵列refPicLX内的常规分数样点位置。
–将用于参考样点填补的包围块的左上坐标(xSbIntC,ySbIntC)设置为等于((xSb/SubWidthC)+(mvLX[0]>>5),(ySb/SubHeightC)+(mvLX[1]>>5))。
–针对预测色度样点阵列predSamplesLX内的每一色度样点位置(xC=0..sbWidth-1,yC=0..sbHeight-1),按照如下推导对应预测色度样点值predSamplesLX[xC][yC]:
–令(refxSbC,refySbC)和(refxC,refyC)为以1/32样点为单位给出的运动矢量(mvLX[0],mvLX[1])所指向的色度位置。按照如下推导变量refxSbC、refySbC、refxC和refyC
Figure BDA0003710942930000911
refxC=((Sign(refxSbC)*((Abs(refxSbC)+256)>>9)+xC*((hori_scale_fp+8)>>4))+16)>>5 (8-764)
Figure BDA0003710942930000912
refyC=((Sign(refySbC)*((Abs(refySbC)+256)>>9)+yC*((vert_scale_fp+8)>>4))+16)>>5(8-766)
Figure BDA0003710942930000913
–按照如下推导变量xIntC、yIntC、xFracC和yFracC
xIntC=refxC>>5 (8-767)
yIntC=refyC>>5 (8-768)
xFracC=refyC&31 (8-769)
yFracC=refyC&31 (8-770)
5.3参考样点位置推导的实施例2
8.5.6.3.1概述
将变量fRefWidth设置为等于以亮度样点衡量的参考图片的PicOutputWidthL。
将变量fRefHeight设置为等于以亮度样点衡量的参考图片的PicOutputHeightL。
Figure BDA0003710942930000914
将运动矢量mvLX设置为等于(refMvLX-mvOffset)。
–如果cIdx等于0,那么适用以下内容:
-将缩放因数及其固定点表示定义为:
hori_scale_fp=((fRefWidth<<14)+(PicOutputWidthL>>1))/PicOutputWidthL(8-753)
vert_scale_fp=((fRefHeight<<14)+(PicOutputHeightL>>1))/PicOutputHeightL (8-754)
–令(xIntL,yIntL)为以全样点为单位的亮度位置,并且(xFracL,yFracL)为以1/16样点为单位的偏移量。这些变量仅在这一条款中用于规定参考样点阵列refPicLX内的分数样点位置。
–将用于参考样点填补的包围块(bounding block)的左上坐标(xSbIntL,ySbIntL)设置为等于(xSb+(mvLX[0]>>4),ySb+(mvLX[1]>>4))。
–对于预测亮度样点阵列predSamplesLX内的每一亮度样点位置(xL=0..sbWidth-1+brdExtSize,yL=0..sbHeight-1+brdExtSize),按照如下推导对应预测亮度样点值predSamplesLX[xL][yL]:
-令(refxSbL,refySbL)和(refxL,refyL)为以1/16样点为单位给出的运动矢量(refMvLX[0],refMvLX[1])所指向的亮度位置。按照如下推导变量refxSbL、refxL、refySbL和refyL
Figure BDA0003710942930000921
Figure BDA0003710942930000931
–按照如下推导变量xIntL、yIntL、xFracL和yFracL
xIntL=refxL>>4 (8-759)
yIntL=refyL>>4 (8-760)
xFracL=refxL&15 (8-761)
yFracL=refyL&15 (8-762)
如果bdofFlag等于真或(sps_affine_prof_enabled_flag等于真并且inter_affine_flag[xSb][ySb]等于真),并且下述条件中的一个或多个为真,那么在以(xIntL+(xFracL>>3)-1),yIntL+(yFracL>>3)-1)和refPicLX为输入的情况下通过调用条款8.5.6.3.3中规定的亮度整数样点取回过程来推导出预测亮度样点值predSamplesLX[xL][yL]。
–xL等于0。
–xL等于sbWidth+1。
–yL等于0。
–yL等于sbHeight+1。
–否则,在以(xIntL-(brdExtSize>0?1:0),yIntL-(brdExtSize>0?1:0))、(xFracL,yFracL)、(xSbIntL,ySbIntL)、refPicLX、hpelIfIdx、sbWidth、sbHeight和(xSb,ySb)为输入的情况下通过调用条款8.5.6.3.2中规定的亮度样点8抽头插值滤波过程来推导预测亮度样点值predSamplesLX[xL][yL]。
–否则(cIdx不等于0),那么适用以下内容:
–令(xIntC,yIntC)为以全样点为单位给出的色度位置,并且(xFracC,yFracC)为以1/32样点为单位给出的偏移。这些变量仅在这一条款中用于规定参考样点阵列refPicLX内的常规分数样点位置。
–将用于参考样点填补的包围块的左上坐标(xSbIntC,ySbIntC)设置为等于((xSb/SubWidthC)+(mvLX[0]>>5),(ySb/SubHeightC)+(mvLX[1]>>5))。
–针对预测色度样点阵列predSamplesLX内的每一色度样点位置(xC=0..sbWidth-1,yC=0..sbHeight-1),按照如下推导对应预测色度样点值predSamplesLX[xC][yC]:
–令(refxSbC,refySbC)和(refxC,refyC)为以1/32样点为单位给出的运动矢量(mvLX[0],mvLX[1])所指向的色度位置。按照如下推导变量refxSbC、refySbC、refxC和refyC
Figure BDA0003710942930000941
refxC=((Sign(refxSbC)*((Abs(refxSbC)+256)>>9)+xC*((hori_scale_fp+8)>>4))+16)>>5(8-764)
Figure BDA0003710942930000942
refyC=((Sign(refySbC)*((Abs(refySbC)+256)>>9)+yC*((vert_scale_fp+8)>>4))+16)>>5(8-766)
Figure BDA0003710942930000943
–按照如下推导变量xIntC、yIntC、xFracC和yFracC
xIntC=refxC>>5 (8-767)
yIntC=refyC>>5 (8-768)
xFracC=refyC&31 (8-769)
yFracC=refyC&31 (8-770)
5.4参考样点位置推导的实施例3
8.5.6.3.1概述
将变量fRefWidth设置为等于以亮度样点衡量的参考图片的PicOutputWidthL。
将变量fRefHeight设置为等于以亮度样点衡量的参考图片的PicOutputHeightL。
Figure BDA0003710942930000944
Figure BDA0003710942930000951
将运动矢量mvLX设置为等于(refMvLX-mvOffset)。
–如果cIdx等于0,那么适用以下内容:
-将缩放因数及其固定点表示定义为:
hori_scale_fp=((fRefWidth<<14)+(PicOutputWidthL>>1))/PicOutputWidthL(8-753)
vert_scale_fp=((fRefHeight<<14)+(PicOutputHeightL>>1))/PicOutputHeightL(8-754)
–令(xIntL,yIntL)为以全样点为单位的亮度位置,并且(xFracL,yFracL)为以1/16样点为单位的偏移量。这些变量仅在这一条款中用于规定参考样点阵列refPicLX内的分数样点位置。
–将用于参考样点填补的包围块(bounding block)的左上坐标(xSbIntL,ySbIntL)设置为等于(xSb+(mvLX[0]>>4),ySb+(mvLX[1]>>4))。
–对于预测亮度样点阵列predSamplesLX内的每一亮度样点位置(xL=0..sbWidth-1+brdExtSize,yL=0..sbHeight-1+brdExtSize),按照如下推导对应预测亮度样点值predSamplesLX[xL][yL]:
-令(refxSbL,refySbL)和(refxL,refyL)为以1/16样点为单位给出的运动矢量(refMvLX[0],refMvLX[1])所指向的亮度位置。按照如下推导变量refxSbL、refxL、refySbL和refyL
Figure BDA0003710942930000952
Figure BDA0003710942930000961
–按照如下推导变量xIntL、yIntL、xFracL和yFracL
xIntL=refxL>>4 (8-759)
yIntL=refyL>>4 (8-760)
xFracL=refxL&15 (8-761)
yFracL=refyL&15 (8-762)
如果bdofFlag等于真或(sps_affine_prof_enabled_flag等于真并且inter_affine_flag[xSb][ySb]等于真),并且下述条件中的一个或多个为真,那么在以(xIntL+(xFracL>>3)-1),yIntL+(yFracL>>3)-1)和refPicLX为输入的情况下通过调用条款8.5.6.3.3中规定的亮度整数样点取回过程来推导出预测亮度样点值predSamplesLX[xL][yL]。
–xL等于0。
–xL等于sbWidth+1。
–yL等于0。
–yL等于sbHeight+1。
–否则,在以(xIntL-(brdExtSize>0?1:0),yIntL-(brdExtSize>0?1:0))、(xFracL,yFracL)、(xSbIntL,ySbIntL)、refPicLX、hpelIfIdx、sbWidth、sbHeight和(xSb,ySb)为输入的情况下通过调用条款8.5.6.3.2中规定的亮度样点8抽头插值滤波过程来推导预测亮度样点值predSamplesLX[xL][yL]。
–否则(cIdx不等于0),那么适用以下内容:
–令(xIntC,yIntC)为以全样点为单位给出的色度位置,并且(xFracC,yFracC)为以1/32样点为单位给出的偏移。这些变量仅在这一条款中用于规定参考样点阵列refPicLX内的常规分数样点位置。
–将用于参考样点填补的包围块的左上坐标(xSbIntC,ySbIntC)设置为等于((xSb/SubWidthC)+(mvLX[0]>>5),(ySb/SubHeightC)+(mvLX[1]>>5))。
–针对预测色度样点阵列predSamplesLX内的每一色度样点位置(xC=0..sbWidth-1,yC=0..sbHeight-1),按照如下推导对应预测色度样点值predSamplesLX[xC][yC]:
–令(refxSbC,refySbC)和(refxC,refyC)为以1/32样点为单位给出的运动矢量(mvLX[0],mvLX[1])所指向的色度位置。按照如下推导变量refxSbC、refySbC、refxC和refyC
Figure BDA0003710942930000971
–按照如下推导变量xIntC、yIntC、xFracC和yFracC
xIntC=refxC>>5 (8-767)
yIntC=refyC>>5 (8-768)
xFracC=refyC&31 (8-769)
yFracC=refyC&31 (8-770)
5.5参考样点位置裁剪的实施例1
8.5.6.3.1概述
此过程的输入为:
–亮度位置(xSb,ySb),规定相对于当前图片的左上亮度样点的当前编解码子块的左上样点,
–变量sbWidth,规定当前编解码子块的宽度,
–变量sbHeight,规定当前编解码子块的高度,
–运动矢量偏移mvOffset,
–细化的运动矢量refMvLX,
–所选的参考图片样点阵列refPicLX,
–半样点插值滤波器索引hpelIfIdx,
–双向光流标志bdofFlag,
–变量cIdx,规定当前块的颜色分量索引。
此过程的输出为:
–预测样点值的(sbWidth+brdExtSize)x(sbHeight+brdExtSize)阵列predSamplesLX。
按照如下推导预测块边界延伸尺寸brdExtSize:
brdExtSize=(bdofFlag||(inter_affine_flag[xSb][ySb]&&sps_affine_prof_enabled_flag))?2:0(8-752)
将变量fRefWidth设置为等于以亮度样点衡量的参考图片的PicOutputWidthL。
将变量fRefHeight设置为等于以亮度样点衡量的参考图片的PicOutputHeightL。
将运动矢量mvLX设置为等于(refMvLX-mvOffset)。
–如果cIdx等于0,那么适用以下内容:
-将缩放因数及其固定点表示定义为:
hori_scale_fp=((fRefWidth<<14)+(PicOutputWidthL>>1))/PicOutputWidthL(8-753)
vert_scale_fp=((fRefHeight<<14)+(PicOutputHeightL>>1))/PicOutputHeightL(8-754)
–令(xIntL,yIntL)为以全样点为单位的亮度位置,并且(xFracL,yFracL)为以1/16样点为单位的偏移量。这些变量仅在这一条款中用于规定参考样点阵列refPicLX内的分数样点位置。
–将用于参考样点填补的包围块(bounding block)的左上坐标(xSbIntL,ySbIntL)设置为等于(xSb+(mvLX[0]>>4),ySb+(mvLX[1]>>4))。
–对于预测亮度样点阵列predSamplesLX内的每一亮度样点位置(xL=0..sbWidth-1+brdExtSize,yL=0..sbHeight-1+brdExtSize),按照如下推导对应预测亮度样点值predSamplesLX[xL][yL]:
-令(refxSbL,refySbL)和(refxL,refyL)为以1/16样点为单位给出的运动矢量(refMvLX[0],refMvLX[1])所指向的亮度位置。按照如下推导变量refxSbL、refxL、refySbL和refyL
refxSbL=((xSb<<4)+refMvLX[0])*hori_scale_fp (8-755)
refxL=((Sign(refxSb)*((Abs(refxSb)+128)>>8)+xL*((hori_scale_fp+8)>>4))+32)>>6 (8-756)
refySbL=((ySb<<4)+refMvLX[1])*vert_scale_fp(8-757)
refyL=((Sign(refySb)*((Abs(refySb)+128)>>8)+yL*((vert_scale_fp+8)>>4))+32)>>6 (8-758)
–按照如下推导变量xIntL、yIntL、xFracL和yFracL
Figure BDA0003710942930000991
xFracL=refxL&15 (8-761)
yFracL=refyL&15 (8-762)
–如果bdofFlag等于真或(sps_affine_prof_enabled_flag等于真并且inter_affine_flag[xSb][ySb]等于真),并且下述条件中的一个或多个为真,那么在以(xIntL+(xFracL>>3)-1),yIntL+(yFracL>>
3)-1)和refPicLX为输入的情况下通过调用条款8.5.6.3.3中规定的亮度整数样点取回过程而推导出预测亮度样点值predSamplesLX[xL][yL]。
–xL等于0。
–xL等于sbWidth+1。
–yL等于0。
–yL等于sbHeight+1。
–否则,在以(xIntL-(brdExtSize>0?1:0),yIntL-(brdExtSize>0?1:0))、(xFracL,yFracL)、(xSbIntL,ySbIntL)、refPicLX、hpelIfIdx、sbWidth、sbHeight和(xSb,ySb)为输入的情况下通过调用条款8.5.6.3.2中规定的亮度样点8抽头插值滤波过程来推导出预测亮度样点值predSamplesLX[xL][yL]。
–否则(cIdx不等于0),那么适用以下内容:
–令(xIntC,yIntC)为以全样点为单位给出的色度位置,并且(xFracC,yFracC)为以1/32样点为单位给出的偏移。这些变量仅在这一条款中用于规定参考样点阵列refPicLX内的常规分数样点位置。
–将用于参考样点填补的包围块的左上坐标(xSbIntC,ySbIntC)设置为等于((xSb/SubWidthC)+(mvLX[0]>>5),(ySb/SubHeightC)+(mvLX[1]>>5))。
–针对预测色度样点阵列predSamplesLX内的每一色度样点位置(xC=0..sbWidth-1,yC=0..sbHeight-1),按照如下推导对应的预测色度样点值predSamplesLX[xC][yC]:
–令(refxSbC,refySbC)和(refxC,refyC)为以1/32样点为单位给出的运动矢量(mvLX[0],mvLX[1])所指向的色度位置。按照如下推导变量refxSbC、refySbC、refxC和refyC
refxSbC=((xSb/SubWidthC<<5)+mvLX[0])*hori_scale_fp (8-763)
refxC=((Sign(refxSbC)*((Abs(refxSbC)+256)>>9)+xC*((hori_scale_fp+8)>>4))+16)>>5 (8-764)
refySbC=((ySb/SubHeightC<<5)+mvLX[1])*vert_scale_fp(8-765)
refyC=((Sign(refySbC)*((Abs(refySbC)+256)>>9)+yC*((vert_scale_fp+8)>>4))+16)>>5(8-766)
–按照如下推导变量xIntC、yIntC、xFracC和yFracC
Figure BDA0003710942930001001
xFracC=refyC&31 (8-769)
yFracC=refyC&31 (8-770)
–在以(xIntC,yIntC)、(xFracC,yFracC)、(xSbIntC,ySbIntC)、sbWidth、sbHeight和refPicLX为输入的情况下通过调用条款8.5.6.3.4中规定的过程来推导预测样点值predSamplesLX[xC][yC]。
5.6参考样点位置裁剪的实施例2
8.5.6.3.1概述
此过程的输入为:
–亮度位置(xSb,ySb),规定相对于当前图片的左上亮度样点的当前编解码子块的左上样点,
–变量sbWidth,规定当前编解码子块的宽度,
–变量sbHeight,规定当前编解码子块的高度,
–运动矢量偏移mvOffset,
–细化的运动矢量refMvLX,
–所选的参考图片样点阵列refPicLX,
–半样点插值滤波器索引hpelIfIdx,
–双向光流标志bdofFlag,
–变量cIdx,规定当前块的颜色分量索引。
此过程的输出为:
–预测样点值的(sbWidth+brdExtSize)x(sbHeight+brdExtSize)阵列predSamplesLX。
按照如下推导预测块边界延伸尺寸brdExtSize:
brdExtSize=(bdofFlag||(inter_affine_flag[xSb][ySb]&&sps_affine_prof_enabled_flag))?2:0(8-752)
将变量fRefWidth设置为等于以亮度样点衡量的参考图片的PicOutputWidthL。
将变量fRefHeight设置为等于以亮度样点衡量的参考图片的PicOutputHeightL。
Figure BDA0003710942930001011
将运动矢量mvLX设置为等于(refMvLX-mvOffset)。
–如果cIdx等于0,那么适用以下内容:
-将缩放因数及其固定点表示定义为:
hori_scale_fp=((fRefWidth<<14)+(PicOutputWidthL>>1))/PicOutputWidthL(8-753)
vert_scale_fp=((fRefHeight<<14)+(PicOutputHeightL>>1))/PicOutputHeightL(8-754)
–令(xIntL,yIntL)为以全样点为单位的亮度位置,并且(xFracL,yFracL)为以1/16样点为单位的偏移量。这些变量仅在这一条款中用于规定参考样点阵列refPicLX内的分数样点位置。
–将用于参考样点填补的包围块(bounding block)的左上坐标(xSbIntL,ySbIntL)设置为等于(xSb+(mvLX[0]>>4),ySb+(mvLX[1]>>4))。
–对于预测亮度样点阵列predSamplesLX内的每一亮度样点位置(xL=0..sbWidth-1+brdExtSize,yL=0..sbHeight-1+brdExtSize),按照如下推导对应预测亮度样点值predSamplesLX[xL][yL]:
-令(refxSbL,refySbL)和(refxL,refyL)为以1/16样点为单位给出的运动矢量(refMvLX[0],refMvLX[1])所指向的亮度位置。按照如下推导变量refxSbL、refxL、refySbL和refyL
refxSbL=((xSb<<4)+refMvLX[0])*hori_scale_fp (8-755)
refxL=((Sign(refxSb)*((Abs(refxSb)+128)>>8)+xL*((hori_scale_fp+8)>>4))+32)>>6 (8-756)
refySbL=((ySb<<4)+refMvLX[1])*vert_scale_fp (8-757)
refyL=((Sign(refySb)*((Abs(refySb)+128)>>8)+yL*((vert_scale_fp+8)>>4))+32)>>6 (8-758)
–按照如下推导变量xIntL、yIntL、xFracL和yFracL
Figure BDA0003710942930001021
xFracL=refxL&15 (8-761)
yFracL=refyL&15 (8-762)
–如果bdofFlag等于真或(sps_affine_prof_enabled_flag等于真并且inter_affine_flag[xSb][ySb]等于真),并且下述条件中的一个或多个为真,那么在以(xIntL+(xFracL>>3)-1),yIntL+(yFracL>>3)-1)和refPicLX为输入的情况下通过调用条款8.5.6.3.3中规定的亮度整数样点取回过程而推导出预测亮度样点值predSamplesLX[xL][yL]。
–xL等于0。
–xL等于sbWidth+1。
–yL等于0。
–yL等于sbHeight+1。
–否则,在以(xIntL-(brdExtSize>0?1:0),yIntL-(brdExtSize>0?1:0))、(xFracL,yFracL)、(xSbIntL,ySbIntL)、refPicLX、hpelIfIdx、sbWidth、sbHeight和(xSb,ySb)为输入的情况下通过调用条款8.5.6.3.2中规定的亮度样点8抽头插值滤波过程来推导出预测亮度样点值predSamplesLX[xL][yL]。
–否则(cIdx不等于0),那么适用以下内容:
–令(xIntC,yIntC)为以全样点为单位给出的色度位置,并且(xFracC,yFracC)为以1/32样点为单位给出的偏移。这些变量仅在这一条款中用于规定参考样点阵列refPicLX内的常规分数样点位置。
–将用于参考样点填补的包围块的左上坐标(xSbIntC,ySbIntC)设置为等于((xSb/SubWidthC)+(mvLX[0]>>5),(ySb/SubHeightC)+(mvLX[1]>>5))。
–针对预测色度样点阵列predSamplesLX内的每一色度样点位置(xC=0..sbWidth-1,yC=0..sbHeight-1),按照如下推导对应的预测色度样点值predSamplesLX[xC][yC]:
–令(refxSbC,refySbC)和(refxC,refyC)为以1/32样点为单位给出的运动矢量(mvLX[0],mvLX[1])所指向的色度位置。按照如下推导变量refxSbC、refySbC、refxC和refyC
refxSbC=((xSb/SubWidthC<<5)+mvLX[0])*hori_scale_fp (8-763)
refxC=((Sign(refxSbC)*((Abs(refxSbC)+256)>>9)+xC*((hori_scale_fp+8)>>4))+16)>>5 (8-764)
refySbC=((ySb/SubHeightC<<5)+mvLX[1])*vert_scale_fp (8-765)
refyC=((Sign(refySbC)*((Abs(refySbC)+256)>>9)+yC*((vert_scale_fp+8)>>4))+16)>> 5(8-766)
–按照如下推导变量xIntC、yIntC、xFracC和yFracC
Figure BDA0003710942930001041
xFracC=refyC&31 (8-769)
yFracC=refyC&31 (8-770)
–在以(xIntC,yIntC)、(xFracC,yFracC)、(xSbIntC,ySbIntC)、sbWidth、sbHeight和refPicLX为输入的情况下通过调用条款8.5.6.3.4中规定的过程来推导预测样点值predSamplesLX[xC][yC]。
5.7使用编解码工具的实施例
5.7.1 BDOF开/关控制
–变量currPic指定当前图片,变量bdofFlag的推导如下:
–如果以下所有条件均为真,则bdofFlag设置为真。
–sps_bdof_enabled_flag等于1,slice_disable_bdof_dmvr_flag等于0。
–predFlagL0[xSbIdx][ySbIdx]和predFlagL1[xSbIdx][ySbIdx]均等于1。
–DiffPicOrderCnt(currPic,RefPicList[0][refIdxL0])等于DiffPicOrderCnt(RefPicList[1][refIdxL1],currPic)。
–RefPicList[0][refIdxL0]是短期参考图片,并且RefPicList[1][refIdxL1]是短期参考图片。
–MotionModelIdc[xCb][yCb]等于0。
–merge_subblock_flag[xCb][yCb]等于0。
–sym_mvd_flag[xCb][yCb]等于0。
–ciip_flag[xCb][yCb]等于0。
–BcwIdx[xCb][yCb]等于0。
–luma_weight_l0_flag[refIdxL0]和luma_weight_l1_flag[refIdxL1]均等于0。
–cbWidth大于或等于8。
–cbHeight大于或等于8。
–cbHeight*cbWidth大于或等于128。
Figure BDA0003710942930001051
–cIdx等于0。
–否则,bdofFlag设置为假。
5.7.2 DMVR开/关控制
–当以下所有条件均为真时,dmvrFlag设置为等于1:
–sps_dmvr_enabled_flag等于1,slice_disable_bdof_dmvr_flag等于0
–general_merge_flag[xCb][yCb]等于1
–predFlagL0[0][0]和predFlagL1[0][0]都等于1
–mmvd_merge_flag[xCb][yCb]等于0
–ciip_flag[xCb][yCb]等于0
–DiffPicOrderCnt(currPic,RefPicList[0][refIdxL0])等于DiffPicOrderCnt(RefPicList[1][refIdxL1],currPic)
–RefPicList[0][refIdxL0]是短期参考图片,并且RefPicList[1][refIdxL1]是短期参考图片。
–BcwIdx[xCb][yCb]等于0
–luma_weight_l0_flag[refIdxL0]和luma_weight_l1_flag[refIdxL1]均等于0
–cbWidth大于或等于8
–cbHeight大于或等于8
–cbHeight*cbWidth大于或等于128
Figure BDA0003710942930001052
5.7.3用于参考图片列表X的PROF开/关控制
变量cbProfFlagLX的推导如下:
–如果以下一个或多个条件为真,则cbProfFlagLX设置为假。
–sps_affine_prof_enabled_flag等于0。
–fallbackModeTriggered等于1。
–numCpMv等于2,cpMvLX[1][0]等于cpMvLX[0][0],cpMvLX[1][1]等于cpMvLX[0][1]。
–numCpMv等于3,cpMvLX[1][0]等于cpMvLX[0][0],cpMvLX[1][1]等于cpMvLX[0][1],cpMvLX[2][0]等于cpMvLX[0][0],cpMvLX[2][1]等于cpMvLX[0][1]。
Figure BDA0003710942930001061
–[[与refIdxLX关联的参考图片refPicLX的pic_width_in_luma_samples分别不等于当前图片的pic_width_in_luma_samples。
–与refIdxLX关联的参考图片refPicLX的pic_height_in_luma_samples分别不等于当前图片的pic_height_in_luma_samples。]]
–否则,cbProfFlagLX设置为真。
5.7.4用于参考图片列表X的PROF开/关控制(第二实施例)
变量cbProfFlagLX的推导如下:
–如果以下一个或多个条件为真,则cbProfFlagLX设置为假。
–sps_affine_prof_enabled_flag等于0。
–fallbackModeTriggered等于1。
–numCpMv等于2,cpMvLX[1][0]等于cpMvLX[0][0],cpMvLX[1][1]等于cpMvLX[0][1]。
–numCpMv等于3,cpMvLX[1][0]等于cpMvLX[0][0],cpMvLX[1][1]等于cpMvLX[0][1],cpMvLX[2][0]等于cpMvLX[0][0],cpMvLX[2][1]等于cpMvLX[0][1]。
Figure BDA0003710942930001062
–[[与refIdxLX关联的参考图片refPicLX的pic_width_in_luma_samples分别不等于当前图片的pic_width_in_luma_samples。
–与refIdxLX关联的参考图片refPicLX的pic_height_in_luma_samples分别不等于当前图片的pic_height_in_luma_samples。]]
–否则,cbProfFlagLX设置为真。
5.8在图片标头Picture Header RBSP语法中有条件地信令通知帧间相关语法元素的实施例
Figure BDA0003710942930001071
Figure BDA0003710942930001081
Figure BDA0003710942930001091
Figure BDA0003710942930001101
Figure BDA0003710942930001111
7.4.3.6图片标头RBSP语义
Figure BDA0003710942930001112
7.3.7条带标头语法
7.3.7.1一般条带标头语法
Figure BDA0003710942930001113
Figure BDA0003710942930001121
5.9约束RPR的实施例
令refPicWidthInLumaSamples和refPicHeightInLumaSamples分别为引用此PPS的当前图片的参考图片的pic_width_in_luma_samples和pic_height_in_luma_samples。令refPicOutputWidthL和refPicOutputHeightL分别为参考图片的PicOutputWidthL andPicOutputHeightL。比特流一致性要求满足以下所有条件:
–PicOutputWidthL*2应大于或等于refPicOutputWidthL。
–PicOutputHeightL*2应大于或等于refPicOutputHeightL。
–PicOutputWidthL应小于或等于refPicOutputWidthL*8。
–PicOutputHeightL应小于或等于refPicOutputHeightL*8。
–(PicOutputWidthL–refPicOutputWidthL)*(PicWidthInLumaSamples–refPicWidthInLumaSamples)应大于或等于0。
–(PicOutputHeightL–refPicOutputHeightL)*(PicHeightInLumaSamples–refPicHeightInLumaSamples)应大于或等于0。
–135*pic_width_max_in_luma_samples*PicOutputWidthL–(128*refPicOutputWidthL+7*PicOutputWidthL)*PicWidthInLumaSamples应大于或等于0。
–135*pic_height_max_in_luma_samples*PicOutputHeightL–(128*refPicOutputHeightL+7*PicOutputHeightL)*PicHeightInLumaSamples应大于或等于0。
5.10信令环绕(wraparound)偏移的实施例
7.3.2.3序列参数集RBSP语法
Figure BDA0003710942930001131
7.3.2.3图片参数集RBSP语法
Figure BDA0003710942930001132
pps_ref_wraparound_enabled_flag等于1指定在帧间预测中应用水平环绕运动补偿。pps_ref_wraparound_enabled_flag等于0指定不应用水平环绕运动补偿。当(CtbSizeY/MinCbSizeY+1)的值小于或等于(pic_width_in_luma_samples/MinCbSizeY-1),pps_ref_wraparound_enabled_flag的值应等于0。
pps_ref_wraparound_offset_minus1加1指定用于计算以MinCbSizeY亮度样点为单位的水平环绕位置的偏移。pps_ref_wraparound_offset_minus1的值应在(CtbSizeY/MinCbSizeY)+1到(pic_width_in_luma_samples/MinCbSizeY)-1的范围内,包括端值。
7.4.4.2一般约束信息语义
no_ref_wraparound_constraint_flag等于1指定[[sps_ref_wraparound_enabled_flag]]
Figure BDA0003710942930001133
应等于0。no_ref_wraparound_constraint_flag等于0指定不施加这样的约束。
8.5.3.2.2亮度样点双线性插值过程
该过程的输入包括:
–以全样点为单位的亮度位置(xIntL、yIntL),
–以分数样点为单位的亮度位置(xFracL,yFracL),
–亮度参考样点阵列refPicLXL
对于i=0..1,以全样点为单位的亮度位置(xInti,yInti)推导如下:
–如果subpic_treated_as_pic_flag[SubPicIdx]等于1,则适用以下:
xInti=Clip3(SubPicLeftBoundaryPos,SubPicRightBoundaryPos,xIntL+i)(642)
yInti=Clip3(SubPicTopBoundaryPos,SubPicBotBoundaryPos,yIntL+i)(643)
–否则(subpic_treated_as_pic_flag[SubPicIdx]等于0),则适用以下:
xInti=Clip3(0,picW-1,[[sps_ref_wraparound_enabled_flag]]
Figure BDA0003710942930001141
ClipH(([[pps_ref_wraparound_offset_minus1]]
Figure BDA0003710942930001142
+1)*MinCbSizeY,picW,(xIntL+i)):
(644)
xIntL+i)
yInti=Clip3(0,picH-1,yIntL+i) (645)
8.5.6.3.2亮度样点插值滤波过程
对于i=0..7,以全样点为单位的亮度位置(xInti,yInti)推导如下:
–如果subpic_treated_as_pic_flag[SubPicIdx]等于1,则以下情况适用:
xInti=Clip3(SubPicLeftBoundaryPos,SubPicRightBoundaryPos,xIntL+i-3)(955)
yInti=Clip3(SubPicTopBoundaryPos,SubPicBotBoundaryPos,yIntL+i-3)
(956)
–否则(subpic_treated_as_pic_flag[SubPicIdx]等于0),则以下内容适用:
xInti=Clip3(0,picW-1,[[sps_ref_wraparound_enabled_flag]]
Figure BDA0003710942930001151
ClipH(([[pps_ref_wraparound_offset_minus1]]
Figure BDA0003710942930001152
+1)*MinCbSizeY,picW,xIntL+i-3):(957)
xIntL+i-3)
yInti=Clip3(0,picH-1,yIntL+i-3) (958)
8.5.6.3.3亮度整数样点提取流程
以全样点为单位的亮度位置(xInt、yInt)推导如下:
–如果subpic_treated_as_pic_flag[SubPicIdx]等于1,则以下情况适用:
xInt=Clip3(SubPicLeftBoundaryPos,SubPicRightBoundaryPos,xIntL)
(966)
yInt=Clip3(SubPicTopBoundaryPos,SubPicBotBoundaryPos,yIntL)
(967)
–否则,则以下内容适用:
xInt=Clip3(0,picW-1,[[sps_ref_wraparound_enabled_flag]]
Figure BDA0003710942930001153
(968)
ClipH(([[pps_ref_wraparound_offset_minus1]]
Figure BDA0003710942930001154
+1)*MinCbSizeY,picW,xIntL):xIntL)
yInt=Clip3(0,picH-1,yIntL) (969)
8.5.6.3.4色度样点插值过程
变量xOffset设置为等于([[pps_ref_wraparound_offset_minus1]]
Figure BDA0003710942930001155
+1)*MinCbSizeY)/SubWidthC。
对于i=0..3,以全样点为单位的色度位置(xInti,yInti)推导如下:
–如果subpic_treated_as_pic_flag[SubPicIdx]等于1,则以下情况适用:
xInti=Clip3(SubPicLeftBoundaryPos/SubWidthC,SubPicRightBoundaryPos/SubWidthC,xIntL+i) (971)
yInti=Clip3(SubPicTopBoundaryPos/SubHeightC,SubPicBotBoundaryPos/SubHeightC,yIntL+i) (972)
–否则(subpic_treated_as_pic_flag[SubPicIdx]等于0),则以下内容适用:
xInti=Clip3(0,picWC-1,[[sps_ref_wraparound_enabled_flag]]
Figure BDA0003710942930001161
ClipH(xOffset,picWC,xIntC+i-1):
(973)
xIntC+i-1)
yInti=Clip3(0,picHC-1,yIntC+i-1)
5.11子图片之间去方块滤波的实施例
8.8.3去方块滤波过程
8.8.3.1概述
该过程的输入是在去方块之前的重建图片,即阵列recPictureL,当ChromaArrayType不等于0时,阵列recPictureCb and recPictureCr
该过程的输出是去方块之后修改的重建图片,即阵列recPictureL,当ChromaArrayType不等于0时,阵列recPictureCb and recPictureCr
去方块滤波过程应用于图片的所有编解码子块边缘和变换块边缘,但以下类型的边缘除外:
–图片边界处的边缘,
–[[与子图片的边界重合的边缘,其中loop_filter_across_subpic_enabled_flag[SubPicIdx]等于0,]]
–当VirtualBoundariesDisabledFlag等于1时,与图片的虚拟边界重合的边缘,
-…
8.8.3.2用于一个方向的去方块滤波过程
该过程的输入包括:
–变量treeType,指定当前是处理亮度(DUAL_TREE_LUMA)还是色度分量(DUAL_TREE_CHROMA),
1.变量filterEdgeFlag的推导如下:
–如果edgeType等于EDGE_VER,并且以下一个或多个条件为真,则filterEdgeFlag设置为等于0:
–当前编解码块的左边界是图片的左边界。
–[[当前编解码块的左边界是子图片的左边界或右边界,并且loop_filter_across_subpic_enabled_flag[SubPicIdx]等于0。]]
-…
–否则,如果edgeType等于EDGE_HOR,并且以下一个或多个条件为真,则变量filterEdgeFlag设置为等于0:
–当前亮度编解码块的上边界是图片的上边界。
–[[当前编解码块的上边界是子图片的上边界或下边界,并且loop_filter_across_subpic_enabled_flag[SubPicIdx]等于0。]]
-…
8.8.3.6.6对亮度样点使用短滤波器的滤波过程
当nDp大于0且包括包含样点p0的编解码块的编解码单元的pred_mode_plt_flag等于1时,nDp被设置为等于0
当nDq大于0且包括包含样点q0的编解码块的编解码单元的pred_mode_plt_flag等于1时,nDq被设置为等于0
Figure BDA0003710942930001171
8.8.3.6.7对亮度样点使用长滤波器的滤波过程
当包括包含样点pi的编解码块的编解码单元的pred_mode_plt_flag等于1时,滤波的样点值pi’被对应的输入样点值pi代替,其中i=0..maxFilterLengthP-1。
当包括包含样点qi的编解码块的编解码单元的pred_mode_plt_flag等于1时,滤波的样点值qi’被对应的输入样点值qj代替,其中j=0..maxFilterLengthQ-1。
Figure BDA0003710942930001181
8.8.3.6.9色度样点的滤波过程
当包括包含样点pi的编解码块的编解码单元的pred_mode_plt_flag等于1时,滤波的样点值pi’被对应的输入样点值pi代替,其中0..maxFilterLengthP-1。
当包括包含样点qi的编解码块的编解码单元的pred_mode_plt_flag等于1时,滤波的样点值qi’被定义的输入样点值qi代替,其中ii=0..maxFilterLengthQ-1:
Figure BDA0003710942930001182
5.12条带类型信令的实施例
7.3.2.3序列参数集RBSP语法
Figure BDA0003710942930001183
Figure BDA0003710942930001191
Figure BDA0003710942930001192
sps_weighted_bipred_flag等于1指定可以将显式加权预测应用于参考SPS的B条带。sps_weighted_bipred_flag等于0指定不将显式加权预测应用于参考SPS的B条带。
Figure BDA0003710942930001201
Figure BDA0003710942930001202
sps_bdof_enabled_flag等于0指定禁用双向光流帧间预测。sps_bdof_enabled_flag等于1指定启用双向光流帧间预测。
Figure BDA0003710942930001203
Figure BDA0003710942930001204
sps_smvd_enabled_flag等于1指定在运动矢量解码中可以使用对称运动矢量差。sps_smvd_enabled_flag等于0指定运动矢量编解码中不使用对称运动矢量差。
Figure BDA0003710942930001205
sps_dmvr_enabled_flag等于1指定启用基于解码器运动矢量细化的帧间双向预测。sps_dmvr_enabled_flag等于0指定禁用基于解码器运动矢量细化的帧间双向预测。
Figure BDA0003710942930001206
sps_bcw_enabled_flag指定是否可以将具有CU权重的双向预测用于帧间预测。如果sps_bcw_enabled_flag等于0,则应限制语法以使得在CLVS中不使用具有CU权重的双向预测,并且在CLVS的编解码单元语法中不存在bcw_idx。否则(sps_bcw_enabled_flag等于1),可以在CLVS中使用具有CU权重的双向预测。
Figure BDA0003710942930001207
sps_ciip_enabled_flag指定ciip_flag可以存在于用于帧间编解码单元的编解码单元语法中。sps_ciip_enabled_flag等于0指定ciip_flag不存在于用于帧间编解码单元的编解码单元语法中。
Figure BDA0003710942930001208
Figure BDA0003710942930001209
7.3.2.7图片标头结构语法
Figure BDA00037109429300012010
Figure BDA0003710942930001211
Figure BDA0003710942930001212
Figure BDA0003710942930001221
ph_inter_slice_allowed_flag等于0指定图片的所有编解码条带具有slice_type等于2。ph_inter_slice_allowed_flag等于1指定图片中可以存在或不存在一个或多个slice_type等于0或1的编解码条带。
Figure BDA0003710942930001222
Figure BDA0003710942930001223
ph_intra_slice_allowed_flag等于0指定图片的所有编解码条带的slice_type等于0或1。ph_intra_slice_allowed_flag等于1指定图片中可以存在或不存在一个或多个slice_type等于2的编解码条带。如果不存在,则推断ph_intra_slice_allowed_flag的值等于
Figure BDA0003710942930001224
Figure BDA0003710942930001225
...
ph_collocated_from_l0_flag等于1指定用于时域运动矢量预测的并置图片是从参考图片列表0推导的。ph_collocated_from_l0_flag等于0指定用于时域运动矢量预测的并置图片是从参考图片列表1推导。
Figure BDA0003710942930001226
Figure BDA0003710942930001227
ph_collocated_ref_idx指定用于时域运动矢量预测的并置图片的参考索引。当ph_collocated_from_l0_flag等于1时,ph_collocated_ref_idx表示参考图片列表0中的条目,并且ph_collocated_ref_idx的值应在0到num_ref_entries[0][RplsIdx[0]]–1的范围内,包括端值。
当ph_collocated_from_l0_flag等于0时,ph_collocated_ref_idx表示参考图片列表1中的条目,并且ph_collocated_ref_idx的值应在0到num_ref_entries[1][RplsIdx[1]]–1的范围内,包括端值.
如果不存在,则推断ph_collocated_ref_idx的值等于0。
...
mvd_l1_zero_flag等于1指示未解析mvd_coding(x0,y0,1)语法结构,并且对于compIdx=0..1和cpIdx=0..2,MvdL1[x0][y0][compIdx]和MvdCpL1[x0][y0][cpIdx][compIdx]设置为等于0。mvd_l1_zero_flag等于0指示解析mvd_coding(x0,y0,1)语法结构。
Figure BDA0003710942930001231
Figure BDA0003710942930001232
ph_disable_bdof_flag等于1指定在与PH相关联的条带中禁用基于双向光流帧间预测的双向帧间预测。ph_disable_bdof_flag等于0指定在与PH相关联的条带中可以启用或可以不启用基于双向光流帧间预测的双向帧间预测。
当ph_disable_bdof_flag不存在时,以下情况适用:
–如果sps_bdof_enabled_flag等于1
Figure BDA0003710942930001233
则推断ph_disable_bdof_flag的值等于0。
–否则(sps_bdof_enabled_flag等于0
Figure BDA0003710942930001234
Figure BDA0003710942930001235
),将推断ph_disable_bdof_flag的值等于1。
ph_disable_dmvr_flag等于1指定在与PH相关联的条带中禁用基于解码器运动矢量细化的双向帧间预测。ph_disable_dmvr_flag等于0指定在与PH相关联的条带中可以启用或可以不启用基于解码器运动矢量细化的双向帧间预测。
当ph_disable_dmvr_flag不存在时,以下情况适用:
–如果sps_dmvr_enabled_flag等于1
Figure BDA0003710942930001236
则推断ph_disable_dmvr_flag的值等于0。
–否则(sps_dmvr_enabled_flag等于0
Figure BDA0003710942930001241
Figure BDA0003710942930001242
则推断ph_disable_dmvr_flag的值等于1。
7.3.7.1一般条带标头语法
Figure BDA0003710942930001243
slice_type根据表9指定条带的编解码类型。
表9–名称与slice_type的关联
slice_type slice_type的名称
0 B(B slice)
1 P(P slice)
2 I(I slice)
当不存在时,slice_type的值被推断为等于
Figure BDA0003710942930001244
Figure BDA0003710942930001245
[[2]]。
Figure BDA0003710942930001246
Figure BDA0003710942930001247
ph_intra_slice_allowed_flag等于0时,slice_type的值应等于0或1。当nal_unit_type在IDR_W_RADL到CRA_NUT的范围内(包括端值),并且vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于1,slice_type应等于2。
5.13条带类型信令的另一实施例
7.3.2.3序列参数集RBSP语法
Figure BDA0003710942930001248
Figure BDA0003710942930001251
Figure BDA0003710942930001252
...
pps_weighted_bipred_flag的语义更改如下:
pps_weighted_bipred_flag等于0指定显式加权预测不应用于引用PPS的B条带。pps_weighted_bipred_flag等于1指定将显式加权预测应用于参考PPS的B条带。当sps_weighted_bipred_flag
Figure BDA0003710942930001253
等于0时,pps_weighted_bipred_flag的值应等于0。
7.3.2.7图片标头结构语法
Figure BDA0003710942930001254
Figure BDA0003710942930001261
Figure BDA0003710942930001262
[[ph_inter_slice_allowed_flag等于0指定图片的所有编解码条带具有slice_type等于2。ph_inter_slice_allowed_flag等于1指定图片中可以存在或不存在一个或多个slice_type等于0或1的编解码条带。
ph_intra_slice_allowed_flag等于0指定图片的所有编解码条带的slice_type等于0或1。ph_intra_slice_allowed_flag等于1指定图片中可以存在或不存在一个或多个slice_type等于2的编解码条带。如果不存在,则推断ph_intra_slice_allowed_flag的值等1。]]
Figure BDA0003710942930001263
...
ph_intra_slice_allowed_flag等于0指定图片的所有编解码条带的slice_type等于0或1。ph_intra_slice_allowed_flag等于1指定图片中可以存在或可以不存在一个或多个slice_type等于2的编解码条带。如果不存在,则推断ph_intra_slice_allowed_flag的值等于[[1]]
Figure BDA0003710942930001264
Figure BDA0003710942930001265
7.3.7.1一般条带标头语法
Figure BDA0003710942930001266
Figure BDA0003710942930001271
slice_type根据表9指定条带的编解码类型。
表9–名称与slice_type的关联
slice_type slice_type的名称
0 B(B slice)
1 P(P slice)
2 I(I slice)
当不存在时,slice_type的值被推断为等于
Figure BDA0003710942930001272
[[2]]。
5.14直接信令通知色度QP映射表起始点的实施例
Figure BDA0003710942930001273
qp_table_start[[_minus26]][i][[加26]]指定用于描述第i个色度QP映射表的起始亮度和色度QP。qp_table_start[[_minus26]][i]的值应在[[-26]]-QpBdOffset to[[36]]
Figure BDA0003710942930001274
的范围内,包括端值。当比特流中不存在qp_table_start[[_minus26]][i]时,将推断qp_table_start[[_minus26]][i]的值等于0。
6.本公开技术的示例实施方式
图5是视频处理装置500的框图。装置500可以用于实现本文描述的一种或多种方法。装置500可以体现在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。装置500可以包括一个或多个处理器502、一个或多个存储器504和视频处理硬件506。(多个)处理器502可以被配置为实现本文档中描述的一种或多种方法。存储器(多个存储器)504可以用于存储用于实现本文描述的方法和技术的数据和代码。视频处理硬件506可以用于在硬件电路中实现本文档中描述的一些技术,并且可以部分地或完全地是处理器502(例如,图形处理器核心GPU或其他信号处理电路)的一部分。
在本文档中,术语“视频处理”或编解码可以指视频编码、视频解码、视频压缩或视频解压缩。例如,可以在从视频的像素表示到对应的比特流表示的转换期间应用视频压缩算法,反之亦然。如语法所定义的,当前视频块的比特流表示可以例如对应于在比特流内位于同一位置或分布在不同位置的比特。例如,可以根据变换和编解码的误差残差值并且还使用标头中的比特和比特流中的其他字段来对宏块进行编码。
可以理解的是,所公开的方法和技术将通过允许使用本文档中公开的技术而有益于结合在诸如智能手机、膝上型计算机、台式机和类似设备之类的视频处理设备内的视频编码器和/或解码器实施例。
图6是视频处理的示例方法600的流程图。方法600包括:在610处,执行当前视频块与当前视频块的编解码表示之间的转换,其中,在转换期间,如果参考图片的分辨率和/或尺寸不同于当前视频块的分辨率和/或尺寸,则将相同的插值滤波器应用于使用当前视频块预测的相邻或不相邻样点组。
可以使用以下基于条款的格式来描述一些实施例。
1.一种视频处理方法,包括:
执行当前视频块与当前视频块的编解码表示之间的转换,其中,在转换期间,如果参考图片的分辨率和/或尺寸不同于当前视频块的分辨率和/或尺寸,则将相同的插值滤波器应用于使用当前视频块预测的相邻或不相邻样点组。
2.根据条款1的方法,其中,相同的插值滤波器是垂直插值滤波器。
3.根据条款1的方法,其中,相同插值滤波器是水平插值滤波器。
4.根据条款1的方法,其中,相邻或不相邻样点组包括位于当前视频块的区域中的所有样点。
5.根据条款4的方法,其中,当前视频块被分成每个尺寸为MXN的多个矩形。
6.根据条款5的方法,其中,M和/或N是预先确定的。
7.根据条款5的方法,其中,M和/或N是根据当前视频块的维度推导的。
8.根据条款5的方法,其中,在当前视频块的编解码表示中信令通知M和/或N。
9.根据条款1的方法,其中,样点组共享相同的运动矢量。
10.根据条款9的方法,其中,样点组共享相同的水平分量和/或水平分量的相同的分数部分。
11.根据条款9的方法,其中,样点组共享相同的垂直分量和/或垂直分量的相同的分数部分。
12.根据条款9-11中的一项或多项的方法,其中,至少基于以下之一,相同的运动矢量或其分量至少满足一个或多个规则:参考图片的分辨率、参考图片的尺寸、当前视频块的分辨率、当前视频块的尺寸、或精度值。
13.根据条款9-11中的一项或多项的方法,其中,相同的运动矢量或其分量对应于位于当前视频块中的样点的运动信息。
14.根据条款9-11中的一项或多项的方法,其中,将相同的运动矢量或其分量设置为位于组内或组外的虚拟样点的运动信息。
15.一种视频处理方法,包括:
执行当前视频块与当前视频块的编解码表示之间的转换,其中,在转换期间,如果参考图片的分辨率和/或尺寸不同于当前视频块的分辨率和/或尺寸,其中仅允许使用当前视频块预测的块来使用与当前块有关的整数值运动信息。
16.根据条款15的方法,其中,通过对当前视频块的原始运动信息进行取整来推导整数值运动信息。
17.根据条款15的方法,其中,当前视频块的原始运动信息是在水平方向和/或垂直方向上。
18.一种视频处理方法,包括:
执行当前视频块与当前视频块的编解码表示之间的转换,其中,在转换期间,如果参考图片的分辨率和/或尺寸不同于当前视频块的分辨率和/或尺寸,则将插值滤波器应用于推导使用当前视频块预测的块,并且其中基于规则来选择插值滤波器。
19.根据条款18的方法,其中,规则与相对于当前视频块的分辨率和/或尺寸的参考图片的分辨率和/或尺寸有关。
20.根据条款18的方法,其中,插值滤波器是垂直插值滤波器。
21.根据条款18的方法,其中,插值滤波器是水平插值滤波器。
22.根据条款18的方法,其中,插值滤波器是以下之一:1抽头滤波器、双线性滤波器、4抽头滤波器或6抽头滤波器。
23.根据条款22的方法,其中,插值滤波器被用作该转换的其他步骤的一部分。
24.根据条款18的方法,其中,插值滤波器包括填补样点的使用。
25.根据条款18的方法,其中,插值滤波器的使用取决于当前视频块的样点的颜色分量。
26.一种视频处理方法,包括:
执行当前视频块与当前视频块的编解码表示之间的转换,其中,在转换期间,如果参考图片的分辨率和/或尺寸不同于当前视频块的分辨率和/或尺寸,则选择性地应用去方块滤波器,其中,根据与相对于当前视频块的分辨率和/或尺寸的参考图片的分辨率和/或尺寸有关的规则来设置去方块滤波器的强度。
27.根据条款27的方法,其中,去方块滤波器的强度在从一个视频块到另一视频块之间改变。
28.一种视频处理方法,包括:
执行当前视频块与当前视频块的编解码表示之间的转换,其中,在转换期间,如果存在当前视频块的子图片,则一致性比特流满足与相对于当前视频块的分辨率和/或尺寸的参考图片的分辨率和/或尺寸有关的规则。
29.根据条款28的方法,还包括:
将当前视频块划分为一个或多个子图片,其中该划分至少取决于当前视频块的分辨率。
30.一种视频处理方法,包括:
执行当前视频块与当前视频块的编解码表示之间的转换,其中,在转换期间,根据基于当前视频块的维度的规则来对当前视频块的参考图片进行重采样。
31.一种视频处理方法,包括:
执行当前视频块与当前视频块的编解码表示之间的转换,其中,在转换期间,取决于相对于当前视频块的分辨率/尺寸的当前视频块的参考图片的分辨率/尺寸,选择性地启用或禁用对当前视频块的编解码工具的使用。
32.根据前述条款中的一个或多个的方法,其中,样点组位于一致性窗口中。
33.根据条款32的方法,其中,一致性窗口的形状为矩形。
34.根据前述条款中的任意一项或多项的方法,其中,分辨率属于编解码/解码的视频块的分辨率或在编解码/解码的视频块中的一致性窗口的分辨率。
35.根据前述条款中的任意一项或多项的方法,其中,尺寸属于编解码/解码的视频块的尺寸或在编解码/解码的视频块中的一致性窗口的尺寸。
36.根据前述条款中任意一项或多项的方法,其中,维度属于编解码/解码的视频块的维度或在编解码/解码的视频块中的一致性窗口的维度。
37.根据条款32的方法,其中,一致性窗口是由一致性裁剪窗口参数集合定义的。
38.根据条款37的方法,其中,在编解码表示中隐式地或显式地信令通知一致性裁剪窗口参数集合的至少一部分。
39.根据前述条款中的任意一项或多项的方法,其中,不允许在编解码表示中信令通知一致性裁剪窗口参数集合。
40.根据前述条款中的任意一项或多项的方法,其中,相对于一致性窗口中的当前视频块的左上样点来推导参考样点的位置。
41.一种视频处理方法,包括:
执行多个视频块与多个视频块的编解码表示之间的转换,其中,在该转换期间,定义用于第一视频块的第一一致性窗口以及用于第二视频块的第二一致性窗口,并且其中第一一致性窗口与第二一致性窗口的宽度和/或高度的比率是根据至少基于一致性比特流的规则。
42.一种视频解码装置,包括处理器,该处理器配置为实现条款1-41中一项或多项的方法。
43.一种视频编码装置,包括处理器,该处理器配置为实现条款1-41中一项或多项的方法。
44.一种计算机程序产品,其上存储有计算机代码,当由处理器执行时,该代码使处理器实现条款1-41中任意一项的方法。
45.一种本文件中所描述的方法、装置或***。
图9是示出可在其中实施本文中所公开的各种技术的示例视频处理***900的框图。各种实施方式可以包括***900的一些或全部组件。***700可以包括用于接收视频内容的输入902。视频内容可以以原始或未压缩的格式接收,例如8比特或10比特多分量像素值,或者可以以压缩或编码的格式接收。输入902可以代表网络接口、***总线接口或存储接口。网络接口的示例包括有线接口(例如以太网、无源光网络(PON)等)和无线接口(例如Wi-Fi或蜂窝接口)。
***900可以包括编解码组件904,其可以实现本文档中描述的各种编解码或编码方法。编解码组件904可以将视频的平均比特率从输入902减少到编解码组件904的输出,以产生视频的编解码表示。因此,编解码技术有时称为视频压缩或视频转码技术。如组件906所表示的,编解码组件904的输出可以被存储或经由所连接的通信来发送。在输入902处接收的视频的存储或传送的比特流(或编解码)表示可以被组件使用。908用于生成像素值或可显示视频,该像素值或可显示视频被发送到显示接口910。从比特流表示中生成用户可见视频的过程有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但是应当理解,编解码工具或操作被用于编码器处,并且逆向编解码结果的对应的解码工具或操作将由解码器执行。
***总线接口或显示接口的示例可以包括通用串行总线(USB)或高清晰度多媒体接口(HDMI)或显示端口等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文中所述的技术可实施在各种电子设备中,例如移动电话、笔记本电脑、智能手机或其他能够执行数字数据处理和/或视频显示的设备。
图10是图示可利用本公开的技术的实例视频编解码***100的框图。
如图10所示,视频编解码***100可以包括源设备110和目标设备120。源设备110生成编码视频数据,源设备110可以被称为视频编码设备。目标设备120可以对由源设备110生成的编码视频数据进行解码,目标设备120可以被称为视频解码设备。
源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包括诸如视频捕获设备、从视频内容提供商接收视频数据的接口和/或用于生成视频数据的计算机图形***的源,或者这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和关联数据。编解码图片是图片的编解码表示。关联数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口116可以包括调制器/解调器(调制解调器)和/或发送器。编码的视频数据可以通过网络130a经由I/O接口116直接地发送到目标设备120。编码的视频数据还可以存储到存储介质/服务器130b上,以供目标设备120访问。
目标设备120可以包括I/O接口126、视频解码器124和显示设备122。
I/O接口126可以包括接收器和/或调制解调器。I/O接口126可以从源设备110或存储介质/服务器130b获取编码的视频数据。视频解码器124可以对编码的视频数据进行解码。显示设备122可以将解码的视频数据显示给用户。显示设备122可以与目标设备120集成在一起,或者可以在目标设备120外部,该目标设备120被配置为与外部显示设备交互。
视频编码器114和视频解码器124可以根据视频压缩标准(例如,高效视频编码(HEVC)标准、通用视频编码(VVC)标准和其他当前和/或未来标准)进行操作。
图11是图示视频编码器200的示例的框图,其可为图10中所图示的***100中的视频编码器114。
视频编码器200可以被配置为执行本公开的任何或全部技术。在图9的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
视频编码器200的功能组件可以包括分割单元201、预测单元202(可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206)、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重建单元212、缓冲器213和熵编码单元214。
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在示例中,预测单元202可以包括帧内块复制(IBC)单元。IBC单元可以以IBC模式执行预测,其中至少一个参考图片是当前视频块所在的图片。
此外,诸如运动估计单元204和运动补偿单元205的一些组件可以高度集成,但为便于说明,在图5的示例中分别进行了表示。
分割单元201可以将图片分割为一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
模式选择单元203可以例如基于错误结果来选择帧内或帧间编解码模式之一,并且将得到的帧内或帧间编解码块提供给残差生成单元207以生成残差块数据,并且提供给重建单元212以重建编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测(CIIP)模式的组合,其中,预测是基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以为该块选择运动矢量的分辨率(例如,子像素或整数像素精度)。
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较来生成当前视频块的运动信息。运动补偿单元205可基于运动信息和来自缓冲器213的除与当前视频块相关联的图片以外的图片的解码样点来确定当前视频块的预测视频块。
例如取决于当前视频块是在I条带、P条带还是B条带中,运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作。
在一些示例中,运动估计单元204可对当前视频块执行单向预测,并且运动估计单元204可在列表0或列表1的参考图片中搜索当前视频块的参考视频块。然后,运动估计单元204可以生成指示列表0或列表1中的参考图片的参考索引,该列表0或列表1包含参考视频块以及指示当前视频块和参考视频块之间的空域位移的运动矢量。运动估计单元204可以输出该参考索引、预测方向指示符和运动向量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
在其他示例中,运动估计单元204可以对当前视频块执行双向预测,运动估计单元204可以在列表0中的参考图片中搜索当前视频块的参考视频块,并且还可以在列表1中的参考图片中搜索当前视频块的另一参考视频块。然后,运动估计单元204可以生成指示列表0和列表1中的参考图片的参考索引,列表0和列表1包含参考视频块以及指示参考视频块和当前视频块之间的空域位移的运动矢量。运动估计单元204可以输出当前视频块的参考索引和运动向量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
在一些示例中,运动估计单元204可输出运动信息的完整集合以用于解码器的解码处理。
在一些示例中,运动估计单元204可以不输出当前视频的运动信息完整集合。而是,运动估计单元204可以相对于另一视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与邻近视频块的运动信息充分相似。
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示值,该值向视频解码器300指示当前视频块具有与另一视频块相同的运动信息。
在另一示例中,运动估计单元204可以在与当前视频块相关联的语法结构中识别另一视频块和运动矢量差(MVD)。运动向量差指示当前视频块的运动矢量与指示的视频块的运动矢量之间的差。视频解码器300可以使用所指示的视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
如上所讨论的,视频编码器200可预测性地信令通知运动矢量。可由视频编码器200实施的预测信令技术的两个示例包括高级运动向量预测(AMVP)和合并模式信令。
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于同一图片中的其他视频块的解码样点来生成针对当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
残差生成单元207可以通过从当前视频块中减去(例如,由负号标记表示)当前视频块的(多个)预测视频块,来产生当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中的样点的不同样点分量的残差视频块。
在其他示例中,对于当前视频块,例如在跳过模式下,可能没有针对当前视频块的残差数据,残差生成单元207可以不执行减法操作。
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来为当前视频块产生一个或多个变换系数视频块。
在变换处理单元208生成与当前视频块关联的变换系数视频块之后,量化单元209可以基于与当前视频块关联的一个或多个量化参数(QP)值来对与当前视频块关联的变换系数视频块进行量化。
逆量化单元210和逆变换单元211可以分别将逆量化和逆变换应用于变换系数视频块,以从变换系数视频块重建残差视频块。重建单元212可以将重建的残差视频块添加到由预测单元202生成的一个或多个预测视频块的对应样点中,以产生与当前块相关联的重建视频块,以存储在缓冲器213中。
在重建单元212重建视频块之后,可执行环路滤波操作以减少视频块中的视频块伪像。
熵编码单元214可从视频编码器200的其他功能组件接收数据。当熵编码单元214接收数据时,熵编码单元214可执行一个或多个熵编码操作以生成熵编码数据并输出其中包括熵编码数据的比特流。
图12是图示视频解码器300的示例的框图,视频解码器300可以是图10中图示的***100中的视频解码器114。
视频解码器300可以被配置为执行本公开的任何或全部技术。在图10的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在图10的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、重建单元306和缓冲器307。在一些示例中,视频解码器300可以执行相对于关于视频编码器200(例如,图9)描述的编码过程大体上相反的解码过程。
熵解码单元301可以获取编码的比特流。编码的比特流可以包括熵编解码的视频数据(例如,视频数据的编码块)。熵解码单元301可以对熵编解码的视频数据进行解码,并且运动补偿单元302可以从熵解码的视频数据中确定包括运动矢量、运动矢量精度、参考图片列表索引的运动信息和其他运动信息。例如,运动补偿单元302可以通过执行AMVP和合并模式来确定这样的信息。
运动补偿单元302可产生运动补偿块,可能基于插值滤波器执行插值。以子像素精度使用的插值滤波器的标识符可以被包括在语法元素中。
运动补偿单元302可以在视频块的编码期间使用视频编码器20使用的插值滤波器,以计算参考块的子整数像素的插值。运动补偿单元302可以根据接收到的语法信息确定由视频编码器200使用的内插滤波器,并使用该插值滤波器来产生预测块。
运动补偿单元302可以使用一些语法信息来确定用来对编码的视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸、描述编码视频序列的图片的每个宏块如何被分割的分割信息、指示每个分割如何被编码的模式、每个帧间编码块的一个或多个参考帧(和参考帧列表)、以及用来对编码视频序列进行解码的其他信息。
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式,以从空域相邻块形成预测块。逆量化单元303对在比特流中提供并由熵解码单元301解码的量化的视频块系数进行逆量化,即,去量化。逆变换单元303应用逆变换。
重建单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的对应预测块相加,以形成解码块。如果需要,还可以应用去方块滤波器来对解码的块进行滤波,以去除块状伪影。然后,将解码的视频块存储在缓冲器307中,其为后续的运动补偿提供参考块。
图13是根据本公开技术的视频处理方法的流程表示。方法1300包括,在操作1310,执行视频单元中视频的块与视频的比特流之间的转换。比特流符合规则,规则指定视频单元的最大维度。视频单元的维度包括视频单元中的宽度、高度或样点数目,最大维度在转换之前已知。
在一些实施例中,视频单元包括片,其中最大维度包括片的最大宽度,其中规则规定,片的最大宽度等于编解码树块以亮度维度计数的最大样点数目,最大亮度片维度是最大亮度片宽度。
在一些实施例中,视频单元包括条带、子图片或片。在一些实施例中,视频单元的维度是基于条带中编解码树块的数目来确定的。在一些实施例中,视频单元的最大维度是基于编解码树块以亮度维度计数的最大样点数目来确定的。
在一些实施例中,在比特流中指示最大亮度维度。在一些实施例中,比特流包括语法元素,语法元素指示在当前序列、当前图片、当前条带或当前子图片中允许的视频单元的最大维度。在一些实施例中,针对矩形条带或矩形子图片,在比特流中指示最大亮度维度。在一些实施例中,针对光栅扫描条带,在比特流中指示最大亮度维度。在一些实施例中,最大亮度维度宽度为固定值。在一些实施例中,最大亮度宽度或高度为1920或4096。在一些实施例中,最大亮度面积为2073600或83388608。
在一些实施例中,规则进一步规定视频单元中子单元的最大数目。在一些实施例中,在比特流中信令通知子单元的最大数目。在一些实施例中,子单元的最大数目根据视频的特性而变化,特性包括视频的配置文件、级别和层次。
在一些实施例中,视频单元的最大维度基于视频的特性而改变。在一些实施例中,特性包括视频的配置文件、级别或层次。
图14是根据本公开技术的视频处理方法的流程表示。方法1400包括,在操作1410,执行视频的当前图片与视频的比特流之间的转换。当前图片与一个或多个参考图片相关联,使得(1)当前图片的维度PW×PH,(2)当前图片的缩放窗口维度SW×WH,(3)当前图片的参考图片的缩放窗口维度SW’×SH’,(4)图片的最大允许维度Wmax和Hmax满足约束。
在一些实施例中,约束指定a×Wmax×SW-(b×SW′+c×SW)×PW+offw≥0,其中a、b、c和offw是整数。在一些实施例中,约束指定d×Hmax×SH-(e×SH′+f×SH)×PH+offh≥0,其中d、e、f和offw是整数。在一些实施例中,约束指定a×Wmax×SW-b×SW′×PW+offw≥0,其中a、b为整数。在一些实施例中,约束指定d×Hmax×SH-e×SH′×PH+offh≥0,其中d,e是整数。例如,d=1,e=1,offh=0。
在一些实施例中,
Figure BDA0003710942930001381
以及
Figure BDA0003710942930001382
Figure BDA0003710942930001383
其中约束指定
Figure BDA0003710942930001384
其中,Lw,Bw和offw为整数。在一些实施例中,
Figure BDA0003710942930001391
以及
Figure BDA0003710942930001392
其中约束指定
Figure BDA0003710942930001393
其中,Lh,Bh和offh为整数。在一些实施例中,
Figure BDA0003710942930001394
Figure BDA0003710942930001395
Figure BDA0003710942930001396
其中约束指定rw≤a*Rw+offw,其中a和offw是整数。在一些实施例中,
Figure BDA0003710942930001397
Figure BDA0003710942930001398
Figure BDA0003710942930001399
其中约束指定h≤b*Rh+offh,其中b和offh是整数。在一些实施例中,
Figure BDA00037109429300013910
Figure BDA00037109429300013911
其中约束指定rw≤a*Qw+offw,其中a和offw是整数。在一些实施例中,
Figure BDA00037109429300013912
Figure BDA00037109429300013913
Figure BDA00037109429300013914
其中约束指定rh≤b*Qh+offh,其中b和offh是整数。
图15是根据本公开技术的视频处理方法的流程表示。方法1500包括,在操作1510,执行视频的图片与视频的比特流之间的转换。比特流符合规则,规则指定在图片标头中信令通知量化参数信息并排除在图片参数集中。在一些实施例中,针对特定编解码工具信令通知量化参数信息,特定编解码工具包括自适应颜色变换(ACT)。
图16是根据本公开技术的视频处理方法的流程表示。方法1600包括,在操作1610,执行视频与视频的比特流之间的转换。比特流符合规则,规则指定在与多个条带相关联的视频的视频单元中指示条带的条带类型,视频单元包括图片参数集或图片标头,条带类型包括I条带、P条带或B条带。
在一些实施例中,比特流包括第一语法元素,第一语法元素指示与视频单元相关联的所有多个条带是否具有相同的条带类型。在一些实施例中,比特流包括第二语法元素,第二语法元素指示所有多个条带共享的相同的条带类型。
在一些实施例中,基于第一语法元素在比特流中有条件地信令通知第二语法元素。在一些实施例中,仅当第一语法元素指示与视频单元相关联的所有多个条带具有相同的条带类型时,在比特流中信令通知第二语法元素。
在一些实施例中,第二语法元素以与在条带标头中指示条带类型的第三语法元素相同的方式进行二值化或解释。在一些实施例中,至少基于第一语法元素或第二语法元素在比特流中有条件地信令通知第三语法元素。在一些实施例中,仅当第一语法元素指示与视频单元相关联的多个条带具有不同的条带类型时,在比特流中信令通知第三语法元素。在一些实施例中,在第三语法元素在比特流中被省略的情况下,基于第一和/或第二语法元素推断第三语法元素具有默认值。
在一些实施例中,比特流包括序列参数集、图片参数集或图片标头中的一个或多个语法元素,指示条带类型针对视频单元是否被允许。在一些实施例中,在视频单元中不允许B-条带的条带类型的情况下,向比特流的图片参数集添加语义约束。在一些实施例中,比特流有条件地包括一个或多个语法元素,一个或多个语法元素至少基于第一语法元素或第二语法元素来约束视频单元的条带类型。在一些实施例中,仅当第一语法元素指示与视频单元相关联的多个条带具有不同的条带类型时,在比特流中信令通知一个或多个语法元素。在一些实施例中,在比特流中省略了一个或多个语法元素的情况下,至少基于第一个语法元素或第二个语法元素,推断一个或多个语法元素具有默认值。在一些实施例中,一个或多个语法元素包括指示所有多个条带是否具有I-条带的条带类型的语法元素。在一些实施例中,一个或多个语法元素包括指示所有多个条带是否具有B-条带或P-条带的条带类型的语法元素。在一些实施例中,一个或多个语法元素包括指示所有多个条带是否具有P-条带或I-条带的条带类型的语法元素。在一些实施例中,是否在比特流的图片标头中信令通知一个或多个帧间关联的语法元素是基于条带类型或者所有多个条带是否具有相同的条带类型。在一些实施例中,一个或多个帧间关联的语法元素包括以下中的至少一种:ph_log2_diff_min_qt_min_cb_inter_slice,ph_max_mtt_hierarchy_depth_inter_slice,ph_log2_diff_max_bt_min_qt_inter_slice,ph_log2_diff_max_tt_min_qt_inter_slice,ph_cu_qp_delta_subdiv_inter_slice,ph_cu_chroma_qp_offset_subdiv_inter_slice,ph_temporal_mvp_enabled_flag,ph_collocated_from_l0_flag,ph_collocated_ref_idx,mvd_l1_zero_flag,ph_fpel_mmvd_enabled_flag,ph_disable_bdof_flag,ph_disable_dmvr_flag,ph_disable_prof_flag,或pred_weight_table。在一些实施例中,条带标头是否包括用于指示条带类型的语法元素取决于所有多个条带是否具有相同的条带类型。
图17是根据本公开技术的视频处理方法的流程表示。方法1700包括,在操作1710,执行视频与视频的比特流之间的转换。比特流包括指示色度量化参数映射表的起始点的值。
在一些实施例中,值是在没有差分编解码的情况下指示的。在一些实施例中,值作为无符号值而不是有符号值进行信令通知。
在一些实施例中,转换包括将视频编码为比特流。方法还包括将该比特流存储在计算机可读介质中。在一些实施例中,转换包括将比特流解码为视频。
所公开技术的一些实施例包括做出启用视频处理工具或模式的决策或决定。在一个示例中,当视频处理工具或模式被启用时,编码器将在视频块的处理中使用或实施该工具或模式,但不一定基于该工具或模式的使用来修改所得的比特流。也就是说,当基于决策或决定启用视频处理工具或模式时,从视频块到视频的比特流表示的转换将使用该视频处理工具或模式。在另一示例中,当视频处理工具或模式被启用时,解码器将在知道已经基于视频处理工具或模式修改了比特流的情况下处理比特流。也就是说,将使用基于决策或决定而启用的视频处理工具或模式来执行从视频的比特流表示到视频块的转换。
所公开技术的一些实施例包括做出禁用视频处理工具或模式的决策或决定。在一个示例中,当视频处理工具或模式被禁用时,编码器在将视频块转换为视频的比特流表示中将不使用该工具或模式。在另一示例中,当视频处理工具或模式被禁用时,解码器将在知道并未使用曾基于决策或决定禁用的视频处理工具或模式对比特流做出修改的情况下处理比特流。
本文件中描述的所公开的以及其他的解决方案、示例、实施例、模块和功能操作可以在数字电子电路或者计算机软件、固件或硬件中实施,其包括本文件中所公开的结构及其结构等价方案,或其中一者或多者的组合。所公开的实施例和其他实施例可以被实施成一个或多个计算机程序产品,即编码在计算机可读介质上的计算机程序指令的一个或多个模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质组成或者它们当中的一者或多者的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括(例如)可编程处理器、计算机或者多个处理器或计算机。除硬件外,该装置还可以包括为所考虑的计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理***、操作***或者它们当中的一者或多者的组合。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成为对信息编码,以便传输到合适的接收器装置。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以按照任何形式部署,包括作为独立程序或作为模块、部件、子例程或其他适合在计算环境中使用的单元。计算机程序不一定与文件***中的文件对应。程序可以存储在保存其他程序或数据的文件(例如,存储在标记语言文档中的一个或多个脚本)的部分中,专用于该程序的单个文件中,或者多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。可以将计算机程序部署为在一个或多个计算机上执行,这一个或多个计算机位于一个站点上,或者跨越多个站点分布并通过通信网络互连。
本文档中描述的过程和逻辑流可以通过由一个或多个可编程处理器执行一个或多个计算机程序来执行,从而通过对输入数据进行操作并生成输出来执行功能。这些过程和逻辑流也可以通过专用逻辑电路来执行,并且装置也可以被实施成专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。一般来讲,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本元件是执行指令的处理器以及存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或***作性地耦接为从一个或多个大容量存储设备接收数据或向其传输数据,或两者兼有。然而,计算机不一定具有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括(例如)半导体存储设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动盘;磁光盘;以及CD ROM和DVD ROM盘。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
虽然本专利文件包含许多细节,但不应将其解释为对任何主题或权利要求范围的限制,而应解释为对特定技术的特定实施例的具体特征的描述。本专利文件在各单独实施例的语境下描述的某些特征也可以在单个实施例中组合实施。相反地,在单个实施例的语境下描述的各种特征也可以单独地或者以任何合适的子组合的形式在多个实施例中实施。此外,虽然某些特征可能在上面被描述为以某些组合来起作用并且甚至最初也这样地来要求对其的权利保护,但是来自要求权利保护的组合的一个或多个特征在某些情况下可从该组合中去除,并且要求权利保护的组合可以涉及子组合或子组合的变型。
类似地,尽管附图中以特定顺序描述了操作,但这不应被理解为要获得想要的结果必须按照所示的特定顺序或者按照顺次排序执行此类操作,或者必须执行所有例示操作。此外,在本专利文件中描述的实施例当中对各种***部件的分离不应被理解为在所有实施例中都要求这样的分离。
仅描述了几种实施方式和示例,其他实施方式、增强和变化可以基于本专利文件中描述和说明的内容做出。

Claims (59)

1.一种视频处理方法,包括:
执行视频单元中视频的块与所述视频的比特流之间的转换,
其中,所述比特流符合规则,所述规则指定所述视频单元的最大维度,并且其中所述视频单元的维度包括所述视频单元中的宽度、高度或样点数目;以及
其中,所述最大维度在所述转换之前已知。
2.根据权利要求1所述的方法,其中,所述视频单元包括片,其中所述最大维度包括所述片的最大宽度,其中所述规则规定,所述片的最大宽度等于编解码树块以亮度维度计数的最大样点数目,最大亮度片维度是最大亮度片宽度。
3.根据权利要求1所述的方法,其中,所述视频单元包括条带、子图片或片。
4.根据权利要求3所述的方法,其中,所述视频单元的维度是基于条带中编解码树块的数目来确定的。
5.根据权利要求3所述的方法,其中,所述视频单元的最大维度是基于编解码树块以亮度维度计数的最大样点数目来确定的。
6.根据权利要求2或5所述的方法,其中,在所述比特流中指示最大亮度维度。
7.根据权利要求6所述的方法,其中,所述比特流包括语法元素,所述语法元素指示在当前序列、当前图片、当前条带或当前子图片中允许的视频单元的最大维度。
8.根据权利要求6所述的方法,其中,针对矩形条带或矩形子图片,在所述比特流中指示最大亮度维度。
9.根据权利要求6所述的方法,其中,针对光栅扫描条带,在所述比特流中指示最大亮度维度。
10.根据权利要求6至9中任一项所述的方法,其中,最大亮度维度宽度为固定值。
11.根据权利要求10所述的方法,其中,最大亮度宽度或高度为1920或4096。
12.根据权利要求10所述的方法,其中,最大亮度面积为2073600或83388608。
13.根据权利要求1至12中任一项所述的方法,其中,所述规则进一步规定所述视频单元中子单元的最大数目。
14.根据权利要求13所述的方法,其中,在所述比特流中信令通知所述子单元的最大数目。
15.根据权利要求13所述的方法,其中,所述子单元的最大数目根据所述视频的特性而变化,所述特性包括所述视频的配置文件、级别和层次。
16.根据权利要求1至15中任一项所述的方法,其中,所述视频单元的最大维度基于所述视频的特性而改变。
17.根据权利要求16所述的方法,其中,所述特性包括所述视频的配置文件、级别或层次。
18.一种视频处理方法,包括:
执行视频的当前图片与所述视频的比特流之间的转换,其中所述当前图片与一个或多个参考图片相关联,使得(1)所述当前图片的维度PW×PH,(2)所述当前图片的缩放窗口维度SW×WH,(3)所述当前图片的参考图片的缩放窗口维度SW’×SH’,(4)图片的最大允许维度Wmax和Hmax满足约束。
19.根据权利要求18所述的方法,其中,所述约束指定a×Wmax×SW-(b×SW′+c×SW)×PW+offw≥0,其中a、b、c和offw是整数。
20.根据权利要求18所述的方法,其中,所述约束指定d×Hmax×SH-(e×SH′+f×SH)×PH+offh≥0,其中d、e、f和offh是整数。
21.根据权利要求18所述的方法,其中,所述约束指定a×Wmax×SW-b×SW′×PW+offw≥0,其中a、b为整数。
22.根据权利要求18所述的方法,其中,所述约束指定d×Hmax×SH-e×SH′×PH+offh≥0,其中d,e是整数。
23.根据权利要求18所述的方法,其中,
Figure FDA0003710942920000031
Figure FDA0003710942920000032
以及
Figure FDA0003710942920000033
其中所述约束指定
Figure FDA0003710942920000034
Figure FDA0003710942920000035
其中,Lw,Bw和offw为整数。
24.根据权利要求18所述的方法,其中,
Figure FDA0003710942920000036
Figure FDA0003710942920000037
以及
Figure FDA0003710942920000038
其中所述约束指定
Figure FDA0003710942920000039
Figure FDA00037109429200000310
其中,Lh,Bh和offh为整数。
25.根据权利要求18所述的方法,其中,
Figure FDA00037109429200000311
Figure FDA00037109429200000312
Figure FDA00037109429200000313
其中所述约束指定rw≤a*Rw+offw,其中a和offw是整数。
26.根据权利要求18所述的方法,其中,
Figure FDA0003710942920000041
Figure FDA0003710942920000042
Figure FDA0003710942920000043
其中所述约束指定h≤b*Rh+offh,其中b和offh是整数。
27.根据权利要求18所述的方法,其中,
Figure FDA0003710942920000044
Figure FDA0003710942920000045
Figure FDA0003710942920000046
其中所述约束指定rw≤a*Qw+offw,其中a和offw是整数。
28.根据权利要求18所述的方法,其中,
Figure FDA0003710942920000047
Figure FDA0003710942920000048
Figure FDA0003710942920000049
其中所述约束指定rh≤b*Qh+offh,其中b和offh是整数。
29.一种视频处理方法,包括:
执行视频的图片与所述视频的比特流之间的转换,其中所述比特流符合规则,所述规则指定在图片标头中信令通知量化参数信息并排除在图片参数集中。
30.根据权利要求29所述的方法,其中,针对特定编解码工具信令通知所述量化参数信息,所述特定编解码工具包括自适应颜色变换ACT。
31.一种视频处理方法,包括:
执行视频与所述视频的比特流之间的转换,其中所述比特流符合规则,所述规则指定在与多个条带相关联的所述视频的视频单元中指示条带的条带类型,所述视频单元包括图片参数集或图片标头,所述条带类型包括I条带、P条带或B条带。
32.根据权利要求31所述的方法,其中,所述比特流包括第一语法元素,所述第一语法元素指示与所述视频单元相关联的所有多个条带是否具有相同的条带类型。
33.根据权利要求32所述的方法,其中,所述比特流包括第二语法元素,所述第二语法元素指示所有多个条带共享的相同的条带类型。
34.根据权利要求32或33所述的方法,其中,基于所述第一语法元素在所述比特流中有条件地信令通知所述第二语法元素。
35.根据权利要求34所述的方法,其中,仅当所述第一语法元素指示与所述视频单元相关联的所有多个条带具有相同的条带类型时,在所述比特流中信令通知所述第二语法元素。
36.根据权利要求33至35中任一项所述的方法,其中,所述第二语法元素以与在条带标头中指示条带类型的第三语法元素相同的方式进行二值化或解释。
37.根据权利要求36所述的方法,其中,至少基于所述第一语法元素或所述第二语法元素在所述比特流中有条件地信令通知所述第三语法元素。
38.根据权利要求37所述的方法,其中,仅当所述第一语法元素指示与所述视频单元相关联的多个条带具有不同的条带类型时,在所述比特流中信令通知所述第三语法元素。
39.根据权利要求37所述的方法,其中,在所述第三语法元素在所述比特流中被省略的情况下,基于所述第一和/或所述第二语法元素推断所述第三语法元素具有默认值。
40.根据权利要求31至39中任一项所述的方法,其中,所述比特流包括序列参数集、图片参数集或图片标头中的一个或多个语法元素,指示条带类型针对视频单元是否被允许。
41.根据权利要求40所述的方法,其中,在所述视频单元中不允许B-条带的条带类型的情况下,向所述比特流的所述图片参数集添加语义约束。
42.根据权利要求31至41中任一项所述的方法,其中,所述比特流有条件地包括一个或多个语法元素,所述一个或多个语法元素至少基于所述第一语法元素或所述第二语法元素来约束所述视频单元的条带类型。
43.根据权利要求42所述的方法,其中,仅当所述第一语法元素指示与所述视频单元相关联的多个条带具有不同的条带类型时,在所述比特流中信令通知所述一个或多个语法元素。
44.根据权利要求42所述的方法,其中,在所述比特流中省略了所述一个或多个语法元素的情况下,至少基于所述第一个语法元素或所述第二个语法元素,推断所述一个或多个语法元素具有默认值。
45.根据权利要求43至44中任一项所述的方法,其中,所述一个或多个语法元素包括指示所有多个条带是否具有I-条带的条带类型的语法元素。
46.根据权利要求43至44中任一项所述的方法,其中,所述一个或多个语法元素包括指示所有多个条带是否具有B-条带或P-条带的条带类型的语法元素。
47.根据权利要求43至44中任一项所述的方法,其中,所述一个或多个语法元素包括指示所有多个条带是否具有P-条带或I-条带的条带类型的语法元素。
48.根据权利要求42至47中任一项所述的方法,其中,是否在所述比特流的图片标头中信令通知一个或多个帧间关联的语法元素是基于所述条带类型或者所有多个条带是否具有相同的条带类型。
49.根据权利要求48所述的方法,其中,所述一个或多个帧间关联的语法元素包括以下中的至少一种:ph_log2_diff_min_qt_min_cb_inter_slice,ph_max_mtt_hierarchy_depth_inter_slice,ph_log2_diff_max_bt_min_qt_inter_slice,ph_log2_diff_max_tt_min_qt_inter_slice,ph_cu_qp_delta_subdiv_inter_slice,ph_cu_chroma_qp_offset_subdiv_inter_slice,ph_temporal_mvp_enabled_flag,ph_collocated_from_l0_flag,ph_collocated_ref_idx,mvd_l1_zero_flag,ph_fpel_mmvd_enabled_flag,ph_disable_bdof_flag,ph_disable_dmvr_flag,ph_disable_prof_flag,或pred_weight_table。
50.根据权利要求42至49中任一项所述的方法,其中,条带标头是否包括用于指示条带类型的语法元素取决于所有多个条带是否具有相同的条带类型。
51.一种视频处理方法,包括:
执行视频与所述视频的比特流之间的转换,其中,所述比特流包括指示色度量化参数映射表的起始点的值。
52.根据权利要求51所述的方法,其中,所述值是在没有差分编解码的情况下指示的。
53.根据权利要求51所述的方法,其中,所述值作为无符号值而不是有符号值进行信令通知。
54.根据权利要求1至53中任一项所述的方法,其中,所述转换包括将所述视频编码成所述比特流。
55.根据权利要求54所述的方法,还包括:
将所述比特流存储到计算机可读介质中。
56.根据权利要求1至53中任一项所述的方法,其中,所述转换包括将所述比特流解码成所述视频。
57.一种视频处理装置,包括处理器,所述处理器被配置为实现如权利要求1至56中任一项所述的方法。
58.一种计算机可读介质,其上存储有代码,所述代码在被处理器执行时,使得所述处理器实现如权利要求1至56中任一项所述的方法。
59.一种计算机可读介质,其存储根据权利要求1至56中任一项生成的比特流。
CN202080090129.XA 2019-12-27 2020-12-28 视频编解码中限制片宽度 Pending CN115176462A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN2019129069 2019-12-27
CNPCT/CN2019/129069 2019-12-27
CN2020083315 2020-04-03
CNPCT/CN2020/083315 2020-04-03
PCT/CN2020/140045 WO2021129867A1 (en) 2019-12-27 2020-12-28 Restricting tile width in video coding

Publications (1)

Publication Number Publication Date
CN115176462A true CN115176462A (zh) 2022-10-11

Family

ID=76573743

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080090129.XA Pending CN115176462A (zh) 2019-12-27 2020-12-28 视频编解码中限制片宽度

Country Status (2)

Country Link
CN (1) CN115176462A (zh)
WO (1) WO2021129867A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024100242A1 (en) * 2022-11-11 2024-05-16 Telefonaktiebolaget Lm Ericsson (Publ) Changing quantization parameter values based on resolution change

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8995522B2 (en) * 2007-04-13 2015-03-31 Apple Inc. Method and system for rate control
US20140003504A1 (en) * 2012-07-02 2014-01-02 Nokia Corporation Apparatus, a Method and a Computer Program for Video Coding and Decoding

Also Published As

Publication number Publication date
WO2021129867A1 (en) 2021-07-01

Similar Documents

Publication Publication Date Title
CN114556955B (zh) 参考图片重采样与视频编解码工具之间的相互作用
WO2021052490A1 (en) Scaling window in video coding
JP7482218B2 (ja) ビデオコーディングにおける予測タイプシグナリング
JP7391199B2 (ja) 映像コーディングツールのレベルベースシグナリング
CN114424573B (zh) 视频编解码中的参考样点位置推导
WO2021129866A1 (en) Signaling of slice types in video pictures headers
WO2021129867A1 (en) Restricting tile width in video coding

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination