具有考量色彩格式采样结构的bdpcm尺寸约束的视频处理方法以及装置
1.交叉引用
2.本发明要求于2019年10月29日提交的序号为62/927,180、名称为“具有最大变换跳过尺寸约束的色度变换跳过”的美国临时专利申请、以及于2019年12月27日提交的序号为62/954,026、名称为“具有bdpcm尺寸约束的色度采样”的美国临时专利申请的优先权。所述美国临时专利申请在此通过引用将其全文并入。
技术领域
3.本发明涉及视频编码以及解码系统中的视频处理方法以及装置。具体地,本发明涉及块差分脉冲码调制(block differential pulse code modulation,bdpcm)启用条件。
背景技术:4.高效视频编码(hevc)标准依赖于基于块的编码结构,其将每一视频条带(slice)拆分成多个正方形块,称为编码树单元(ctu)。光栅扫描次序用于在每一条带中编码或解码ctu。每一ctu包含一个编码单元(cu)或根据四叉树分割结构反复运算地拆分成四个更小的cu直到达到预定最小cu尺寸。预测决定在cu层级上做出,其中每一cu使用帧间预测或帧内预测来编解码。一旦完成了cu分层树的拆分,每一cu根据预测的pu分割类型进一步被拆分成一个或多个预测单元(pu)。因为相同的预测进程被应用于pu中的所有像素,pu作为共用预测资讯的基础数据表示块。预测资讯在pu基础上被传达给解码器。运动估计识别一个(单向预测)或两个(双向预测)最佳参考块用于cu,其使用一个或两个参考图像中的帧间预测以及根据一个或多个运动向量(mv)的帧间预测中的运动补偿来定位一个或两个最佳参考块来编解码。使用帧内预测编解码的cu由相同图像中的参考样本来预测。cu的预测误差是cu与预测子之间的差异,以及预测误差被拆分成一个或多个变换单元(tu)用于变换以及量化。
5.术语编码树块(ctb)、编码块(cb)、预测块(pb)以及变换块(tb)被定义来分别指定与ctu、cu、pu以及tu相关的一个色彩分量的二维样本(2-d)阵列。例如,ctu包括y分量的一个亮度(luma)ctb、cb以及cr分量的两个色度(chroma)ctb及其相关语法元素。类似的关系对cu、pu以及tu是有效的。例如,cu由一个亮度cb以及两个色度cb组成,以及tu由一个大小为8x8、16x16或32x32的亮度样本的tb或四个大小为4x4的亮度样本的tb,以及在以4∶2∶0颜色格式编码的图片中的两个相应的色度样本的tb组成。更具体地,cu由在单树模式下具有三个样本阵列的图像的亮度样本的cb和两个相应的色度样本的cb组成,或者由双树模式下具有三个样本阵列的图像的亮度样本的cb组成,或者双树模式下具有三个样本阵列的图像的色度样本的两个cb组合,或者单色图像的样本的cb以及用于编解码样本的语法结构。当使用单个编码单位树用于亮度与色度以及语法结构用于对变换块样本进行变换时,tu包括图像的tb亮度样本和两个相应的tb色度样本。当使用两个单独的编码单元树用于亮度与色度以及语法结构用于对变换块样本进行变换时,tu包括一个tb的亮度样本或两个tb的色度
样本。在hevc系统中,除非达到色度块的最小尺寸,否则通常将相同的拆分结构应用于亮度和色度分量。
6.块差分脉冲码调制(bdpcm)已经开发了块差分脉冲码调制(bdpcm),以使用水平或垂直方向上的重构样本来预测帧内cu的亮度分量和色度分量中的一个或多个中的像素。用于预测每一bdpcm块的参考像素是未滤波的重构样本。bdpcm块的预测误差在空间域中量化,这意味着将跳过bdpcm块的变换操作。通过将去了量化的预测误差添加到bdpcm块的预测中来重构bdpcm块的像素。为了编码或解码bdpcm块,使用loco-i的中值边缘检测器从垂直和水平方向上的相邻样本中预测bdpcm块中的每个样本。对于bdpcm块中的当前像素x,其中像素a为左相邻像素,像素b为上相邻像素,c为左上相邻像素,则当前像素p(x)的预测子由下式得出:如果c≥max(a,b),p(x)=min(a,b);如果c≤min(a,b),则p(x)=max(a,b);否则,p(x)=a+b-c。
7.当上方以及左上相邻块被选择时,bdpcm块的上方列(row)使用未滤波的参考像素来预测,以及当左边以左上相邻块被选择时,bdpcm块的左边行(column)使用未滤波的参考像素来预测。当左边相邻块被选择时,除了第一像素,上方列(row)使用重构的像素的来预测,以及当上方相邻块被选择时,除了第一像素,左边行(column)使用重构的像素来预测。bdpcm块的剩余列(row)以及行(column)也使用重构像素来预测。像素在bdpcm块内部以光栅扫描次序来处理。当前块的预测子与bdpcm块的原始数据之间的差异是预测误差,也称为当前块的残差,以及在缩放后,以与变换跳过(ts)模式中的变换以及量化操作相同的方式,bdpcm块的预测误差在空间域被量化。换言之,ts模式总是被应用于bdpcm块。然后通过将已量化预测误差添加到预测子,每一像素被重构。重构的像素用于以光栅扫描次序预测后续像素。已量化预测误差的幅度以及符号被分别编码。cbf_bdpcm_flag被首先编解码,以及如果这一旗标等于1,当前块的所有幅度以光栅扫描次序被单独编码。为了保持bdpcm的低复杂度,这些幅度的值被限于至多31个。幅度使用一元二值化来编码,三个上下文用于第一箱(bin),然后一个上下文用于每一额外箱直到第十二箱,以及一个上下文用于所有剩余箱。符号以旁路模式被编码用于非0残差。用于亮度以及色度分量两者的去块滤波器在两个bdpcm块的边界上被去启动,因为两个bdpcm的任一个由变换操作处理,其中变换操作通常导致块伪影。
8.bdpcm旗标bdpcm_flag在cu层级被传输用于满足启用条件的每一帧内cu。用于帧内cu的bdpcm旗标bdpcm_flag指示常规帧内编解码或bdpcm编解码是否被应用于帧内cu,以及bdpcm旗标bdpcm_flag使用单个cabac上下文来编码。
9.在由来自itu-t研究小组的视频编解码专家的视频编解码的联合协作小组(jct-vc)开发的即将到来的新兴视频编码标准通用视频编码(vvc)中,bdpcm的替换方案称为量化的残差域bdpcm(rdpcm,其在wc中又被称为基于块的δ脉冲码调制(bdpcm))。在下文中,bdpcm意指vvc标准中的bdpcm。发信的bdpcm方向指示是否采用垂直或水平预测方向。根据类似于常规帧内编码的预测方向,通过样本复制对整个块执行帧内预测。参考像素用于逐线(line)预测bdpcm块的列(row)或列(column)。通过将已量化的预测误差添加到预测子,像素(或样本)被重构。残差被量化以及已量化残差与预测子(水平或垂直)之间的差异被编码。对于尺寸m列(row)以及n行(column)的当前块,在使用来自左边或上方块边界样本的未滤波样本执行水平或垂直帧内预测后,r_(i,j)是预测残差,0≤i≤m-1,0≤j≤n-1。如果在
水平方执行bdpcm,让跨过当前块的左边相邻像素值被复制到当前块的预测子中的每一行(column),以及如果在垂直方向执行bdpcm,让上方相邻线(line)被复制到当前块的预测子中的每一线。
10.让q(r
i,j
),0≤i≤m-1,0≤j≤n-1表示残差r
i,j
的已量化版本,其中残差是原始块值与已预测块值之间的差异。然后bdpcm被应用于已量化的残差样本,生成具有元素的修正的mxn阵列当垂直方向被发信时,已量化的残差样本被推导如下:
[0011][0012]
对于水平预测,应用类似的规则,以及已量化的残差样本被获得如下:
[0013][0014]
残差已量化样本被发送给解码器。在解码器侧,上述计算被保留来生成已量化的残差q(r
i,j
),0≤i≤m-1,0≤j≤n-1.。对于垂直预测情况,已量化的残差被推导如下:
[0015][0016]
对于水平预测情况,已量化的残差被推导如下:
[0017][0018]
逆已量化残差q-1
(q(r
i,j
))被添加到帧内预测值来生成重构的样本值。
[0019]
bdpcm的语法表在原始bdpcm设计中,bdpcm的块层级语法在cu或编码块(cb)层级被发信,当当前cu/cb是亮度帧内cu/cb以及cb快的与/或高度小于或等于预定阈值时,bdpcm旗标bdpcm_flag被发信来指示是否启用bdpcm。预定阈值的一些示例是16、32、64、128、256、512以及1024。在bdpcm旗标bdpcm_flag为真时,一个额外的旗标bdpcm_dir_flag被发信来预测bdpcm中使用的方向。例如,当旗标bdpcm_dir_flag等于0时,采用水平方向,否者当旗标bdpcm_dir_flag等于1时采用垂直方向。bdpcm可以被应用于亮度以及色度分量两者。用于bdpcm的语法表示出如下:
[0020][0021]
变换跳过模式变换跳过(ts)模式是在没有经历变换操作的情况下由熵编解码处理已量化的残差资讯编解码工具。ts模式中编解码块的残差信号在样本域中被直接编码而不是变换成频率域。ts模式对萤幕内容编解码尤其有效,尤其是对具有锐利边缘以及单色的区域。ts模式可以由高层级语法元素控制,例如,启用旗标用于选择启用或禁用ts模式,以及语法元素用于发信应用ts模式的尺寸约束。在一个示例中,ts模式仅被允许被应用到宽度以及高度小于或等于32样本的变换块。通过应用变换跳过残差编解码到亮度tb以及色度tb,ts模式可以被应用于亮度以及色度分量两者。ts模式对所有色度采样格式的色度分量是启用的。最大变换跳过尺寸maxtssize被固定为整数或从在图像参数集(pps)中发信的语法元素log2_transform_skip_max_size_minus2来推导,例如,最大变换跳过尺寸等于1<<(log2_transform_skip_max_size_minus2+2),其中语法元素log2_trasnform_skip_max_size_minus2用于指定ts模式的最大块尺寸,以及这一语法元素的范围是从0到3。当其在视频比特流中不存在时,这一语法元素log2_transnform_skip_max_size_minus2被推断为0。
[0022]
亮度变换块的ts模式尺寸约束定义仅当亮度变换块的宽度小于或等于maxtssize以及亮度变换块的高度小于或等于maxtssize时可以启用ts模式。用于色度变换块的ts模式尺寸约束定义仅当色度变换块wc小于或等于maxtssize以及色度变换块的高度hc小于或等于maxtssize时可以启用ts模式。如下文所示,用对应的亮度变换块的宽度tbwidth除以变数subwdithc来计算色度变换块wc的宽度:
[0023]
wc=tbwidth/subwidthc
[0024]
类似地,通过用对应的亮度变换块的高度tbheight除以变数subheightc来计算变换块的高度hc,如下所示:
[0025]
hc=tbheight/subheightc
[0026]
根据色彩格式采样结构,变数subwidthc以及subheightc在后续表中指定,其通过索引chroma_format_idc与/或旗标separate_colour_plane_flag指定。索引chroma_
format_idc的其他值以及变数subwidthc与subheightc的其他值可以在未来指定。
[0027]
技术实现要素:[0028]
在视频编码或解码方法的示例性实施例中,一视频编码或解码系统接收与一当前图像中一亮度块以及一个或多个对应色度块相关的输入视频数据,或者接收与一当前图像中一亮度块或一个或多个对应色度块相关的压缩视频数据,将一最大变换跳过尺寸与该亮度块的一尺寸进行比较以及将该最大变换跳过尺寸与该色度块的尺寸进行比较,当该亮度块的尺寸小于或等于该最大变换跳过尺寸时发信或解析用于该亮度块的一bdpcm亮度启用旗标,与/或当该色度块的尺寸小于或等于该最大变换跳过尺寸时发信或解析用于该色度块的一bdpcm色度启用旗标。该bdpcm亮度启用旗标以及该bdpcm色度启用旗标是分别是在亮度cb以及色度cb中发信的块层级bdpcm启用旗标。当用于该亮度块的该bdpcm亮度启用旗标指示bdpcm被启用时将bdpcm应用于该亮度块,或者当用于该亮度块的该bdpcm亮度启用指示bdpcm是禁用时,将帧内预测应用于该亮度块,当用于该色度块的该bdpcm色度启用旗标指示bdpcm被启用时将bdpcm应用于该色度块,或者当用于该色度块的该bdpcm色度启用旗标指示bdpcm被禁用时将帧内预测应用于该色度块,以及编码或解码该亮度块以及该色度块。当bdpcm被应用于该亮度块时,亮度块中的像素使用水平或垂直方向上重构的亮度样本来预测,类似地,当bdpcm被应用于色度块时,该色度块中的像素使用水平或垂直方向上重构的色度样本来预测。亮度块以及一个或多个色度块的示例是属于相同编码单元(cu)的编码块(cb)。例如,每一cu具有三个cb,包含一个亮度cb以及两个色度cb。在另一个示例中,每一cu具有一个或多个cb,包含一个或多个亮度cb与/或一个或多个色度cb。在一个示例中,每一tu具有三个tb,包含一个亮度tb以及两个色度tb。在另一个示例中,每一tu具有一个或多个tb,包含一个或多个亮度tb与/或一个或多个色度tb。
[0029]
在一些实施例中,该最大变换跳过尺寸与该色度块的尺寸的比较包括比较该最大变换跳过尺寸与该色度块的宽度以及高度。该色度块的宽度由高亮度块的宽度以及该输入视频数据的一色彩采样格式来推导以及该色度块的高度由该亮度块的高度以及该输入视频数据的该色彩格式采样结构来推导。在一个实施例中,该色度块的宽度等于该亮度块的宽度除以变数subwidthc以及该色度块的高度等于该亮度块的高度除以变数subheightc。当色彩格式是4∶2∶0或4∶2∶2时变数subwidthc等于2,以及当该色彩格式是单色或4∶4∶4时,该变数等于1。当该色彩格式是4∶2∶0时该变数subheightc等于2,以及当该色彩格式是单
色、4:2:0或者4∶4∶4时,该变数等于1。
[0030]
当该bdpcm亮度启用旗标指示bdpcm被启用时,一bdpcm亮度方向旗标被发信或被解析来指示水平或垂直方向被应用来预测该亮度块。当该bdpcm色度启用旗标指示bdpcm被启用时,一bdpcm色度方向旗标被发信或被解析来指示水平或垂直方向被应用来预测该色度块。在一些实施例中,一序列参数集合(sps)层级bdpcm亮度启用旗标以及sps层级bdpcm色度启用旗标在于当前图像相关的sps中被发信或者从与该当前图像相关的sps中解析。在一些实施例中,当序列参数集合(sps)层级bdpcm启用旗标在于该当前图像相关的sps中被发信或者从与该当前图像相关的spsp中解析,以及sps层级bdpcm启用旗标控制bdpcm的使用用于亮度以及色度块两者。在下文中,单个sps层级bdpcm启用旗标被作为示例。仅当sps层级bdpcm启用旗标指示bdpcm被启用时,bdpcm亮度启用旗标被发信或解析,以及仅当sps层级bdpcm启用旗标指示bdpcm被启用时,发信或解析bdpcm亮度启用旗标。
[0031]
亮度块包括一个或多个亮度变换块以及一个或多个色度块包括一个或多个色度变换块。当该亮度变换块的尺寸小于或等于该最大变换跳过尺寸时,视频编码或解码系统的一些实施例进一步发信或解析变换跳过启用旗标用于亮度变换块,与/或当该色度变换块的尺寸小于或等于该最大变换跳过尺寸时发信或解析变换跳过启用旗标用于该色度变换块。用于该亮度变换块的变换跳过启用旗标是块层级变换跳过亮度启用旗标以及用于该色度变换块的该变换跳过启用旗标是块层级的变换跳过色度启用旗标。当用于该亮度变换块的该色度跳过启用旗标指示该变换跳过模式被启用时,该亮度变换块的残差由变换跳过模式处理,以及当用于色度变换块的该变换跳过旗标指示该变换跳过模式被启用时,该色度变换块的残差由变换跳过模式处理。当bdpcm被应与亮度块时该变换跳过模式被应用来处理该亮度变换块的残差以及当bdpcm被应用于色度块时该变换跳过模式被应用来处理该色度变换块的残差。因为bdpcm块的残差总是由ts模式处理,仅当ts启用条件满足时启用bdpcm。
[0032]
根据一些实施例,与该最大变换跳过尺寸有关的语法元素被发信或从对应于当前图像中的sps或图像参数集合(pps)来解析。该最大变换跳过尺寸(maxtssize)定义被允许用于寻找变换跳过模式的最大块宽度或高度。当变换块由变换跳过模式处理时,变换块的残差在每一经过变换操作的情况被编码或解码。例如,maxtssize的值可以由1<<(log2_transform_skip_max_size_minus2+2)来推导。语法元素log2_transform_skip_max_size_minus2在pps或sps中被显式发信。例如,该最大变换跳过尺寸等于1<<(log2_transform_skip_max_size_minus2+2),其中语法元素log2_trasnform_skip_max_size_minus2用于指定ts模式的最大块尺寸,以及这一语法元素的范围是0到3。当其在比特流中不存在时,这一语法元素log2_transnform_skip_max_size_minus2被推断为等于0。当cu在变换跳过模式中编解码时,其预测残差被量化以及使用变换跳过残差编解码进程来编解码。
[0033]
本发明一方面进一步提供了用于在视频编码或解码系统中执行视频编码或解码的装置。该装置包括一个或多个电子电路用于接收当前图像中的亮度块以及一个或多个对应色度块的输入视频数据,比较最大变换跳过尺寸与亮度块的尺寸,以及比较最大变换跳过尺寸与色度块的尺寸。仅当该亮度块的尺寸小于或等于该最大变换跳过尺寸时,bdpcm被允许应用于亮度块,以及仅当该色度块的尺寸小于或等于最大变换跳过尺寸时,bdpcm被允许应用于该一个或多个色度块。
[0034]
在视频编码或解码方法的另一个示例性实施例中,视频编码或解码系统接收与一当前图像中一当前块相关的输入视频数据,检查用于当前块的bdpcm启用条件,当该bdpcm启用条件被满足时,发信或解析用于该当前块的一个或多个bdpcm启用旗标,当用于该当前块的一个或多个bdpcm启用旗标指示bdpcm被启用时,对该当前块的一个或多个色彩分量应用bdpcm,检查用于该当前块的变换块的变换跳过模式启用条件,当该变换跳过模式启用条件被满足时,发信或解析一个或多个变换跳过启用旗标用于该当前块的变换块,当用于该当前块中变换块的该一个或多个变换跳过启用旗标指示该变换跳过模式被启用时,将变换跳过模式应用于该当前块的该变换块的一个或多个色度分量,以及编码或解码该当前图像中的当前块。该变换跳过模式启用条件与用于当前块的bdpcm启用条件对齐。该bdpcm启用条件以及该变换跳过模式启用条件对应于一个或多个亮度分量的尺寸约束与/或一个或多个色度分量的尺寸约束。在本发明的一些实施例中,用于一个或多个亮度分量的尺寸约束将该当前块中一亮度块的尺寸与最大变换跳过尺寸进行比较以及用于该一个或多个色度分量的尺寸约束将该当前块的色度块尺寸与最大变换跳过尺寸进行比较。例如,该色度块的尺寸包括该色度块的宽度以及高度,其中该色度跨ide宽度由该亮度块的宽度以及该输入视频数据的色彩格式采样结构来推导,以及该色度块的高度由该亮度块的高度以及该输入视频数据的色彩格式采样结构来推导。在一个实施例中,该色度块的宽度等于该亮度块的宽度除以变数subwidthc以及该色度块的高度等于该亮度块的高度除以变数subheightc。当色彩格式是4∶2∶0或4∶2∶2时,变数subwidthc等于2,或者当色彩格式是单色或4∶4∶4时变数等于1。当该色彩格式是4∶2∶0时变数subheightc等于2或者当该色彩格式是单色、4∶2∶2或4∶4∶4时变数等于1。与该最大变换跳过尺寸有关的语法元素被发信或从对应于当前图形学中的sps或pps来解析。
[0035]
在另一个实施例中,用于亮度分量的尺寸约束以及用于色度分量的尺寸约束两者将当前块中亮度块的尺寸与最大变换跳过尺寸进行比较。在又一实施例中,用于亮度分量的尺寸约束将该当前块中亮度块的尺寸与最大变换跳过尺寸进行比较以及用于色度分量的尺寸约束将该当前块中色度块的尺寸与调整的最大变换跳过尺寸进行比较。该调整的最大变换跳过尺寸由该最大变换跳过尺寸以及该输入视频数据的色彩格式采样结构来推导。
附图说明
[0036]
以示例提出的本发明的实施例将在下文参考附图来详细描述,以及其中:
[0037]
图1示出了根据本发明实施例的用于视频编码系统的示例性视频处理方法的流程图。
[0038]
图2示出了根据本发明的实施例的用于视频解码系统的示例性处理方法的流程图。
[0039]
图3示出了根据本发明实施例的合并视频处理方法的视频编码系统的示例性系统框图。
[0040]
图4示出了根据本发明实施例的合并视频处理方法的视频解码系统的示例性系统框图。
具体实施方式
[0041]
将容易理解,如本文图式所描述以及所示出的,本发明的元件可以以多种不同的配置来安排以及设计。因此,如图式中所呈现的,本发明的系统以及方法的实施例的后续细节描述不旨在限制本发明的范围,而仅是本发明所选实施例的表示。
[0042]
与最大变换跳过尺寸maxtssize相关的语法元素在视频比特流中被发信以及在亮度与色度分量之间共用。用于亮度分量的ts模式尺寸约束与maxtssize与亮度块的宽度之间的比较以及maxtssize与亮度块的高度之间的比较有关。用于色度分量的ts模式尺寸约束与maxtssize与色度块的宽度之间的比较以及maxtssize与色度块的高度之间的比较有关。即使ts模式对一些色彩格式的相关亮度块不是启用的,ts模式对色度块也可能是启用的。然而,亮度以及色度分量两者的bdpcm尺寸约束仅和maxtssize与亮度块的宽度之间的比较以及maxtssize与亮度块的高度之间的比较有关,而与视频数据的色度格式采样结构无关。因为ts总是被应用处理bdpcm块的残差,本发明的各种实施例将ts模式以及bdpcm的启用条件对齐。
[0043]
ts模式或bdpcm的启用条件包括用于亮度分量、色度分量或亮度以及色度分量两者的尺寸约束。在本发明的各种实施例中,仅当满足对应的尺寸约束时启用ts模式、bdpcm或ts模式以及bdpcm。在后续实施例中,用于ts模式、bdpcm或ts模式与bdpcm两者的尺寸约束与变换单元(tu)、亮度变换块(tb)、色度tb、编码单元(cu)、亮度编码块(cb)或色度cb块宽度、块高度以及块面积有关。当满足尺寸约束时,决定ts模式或bdpcm是否被应用的启用旗标在ts、tb、cu、cb、ctu、ctb、条带、图块、图块组、序列参数集(sps)、图像参数集(pps)或图像被显式发信。
[0044]
基于色彩格式采样结构设置尺寸约束为bdpcm继承在本发明的一个实施例中,当前图像中色度块的实际宽度以及色度块的实际高度(其考虑色度格式采样结构)用于设置色度块的bdpcm尺寸约束。当前图像中的色度块与/或其对应的亮度块是帧内块。例如,色度块是帧内cu或tu中的cb或tb。通过将色度块的实际宽度以及高度与最大变换跳过尺寸maxtssize进行比较而不是将对应亮度块的宽度以及高度与maxtssize进行比较,可以分别为两个度以及色度分量设置bdpcm尺寸约束。即,在这一实施例中,即使当bdpcm不被允许被应用于对应的亮度块时,bdpcm可以被应用于色度块。实施这一实施例的示例性语法表被示出如下:
[0045][0046]
在这一实施例中,当色度块的宽度小于或等于最大变换跳过尺寸maxtssize以及色度块的高度小于或等于maxtssize时,bdpcm色度启用旗标intra_bdpcm_chroma_flag仅被发信用于色度块。通过用对应亮度块的宽度cbwidth除以变数subwidthc来计算色度块的宽度以及通过用对应亮度块cbheight的高度除以变数subheightc来计算色度块的高度。变数subwidthc以及subheightc基于色彩格式采样结构来设置,例如,这些变数根据索引chroma_format_idc的值来设置。当色度格式对应于单色时,索引chroma_format_idc等于0,当色度格式分别对应于4∶2∶0、4∶2∶2或4∶4∶4时,索引chroma_format_idc被分别设置为1、2、3或4。当索引chroma_format_idc等于0或3或4时变数subwidthc被设置为1,以及当索引chroma_format_idc等于1或2时subwidthc被设置为2。当索引chroma_format_idc等于0、2、3或4时,变数subheightc被设置为1,以及当索引chroma_format_idc等于1时变数subheightc被设置为2。换言之,当色彩格式是4∶2∶0或4∶2∶2时变数subwidthc等于2,否则变数subwidthc等于1;以及当色彩格式是4:2:0时变数subheightc等于2,否者变数subheightc等于1。
[0047]
当色度块的bdpcm色度启用旗标intra_bdpcm_flag指示bdpcm启用时,bdpcm被应用来预测当前图像中的当前块,否则当色度块的bdpcm色度启用旗标intra_bapcm_chroma_flag指示bdpcm被禁用时,帧内预测被应用来预测色度块。当用于色度块的bdpcm色度启用旗标intra_bdpcm_chroam_flag指示bdpcm被启用时,bdpcm色度方向旗标intra_bdpcm_chroma_fir_flag也在视频比特流中被发信来指示水平或垂直预测是否被应用来预测色度块。进一步注意到,视频编码系统在与当前图像相关的sps中发信sps层级bdpcm启用旗标sps_bdpcm_enabled_flag,以及视频解码系统从sps解析sps层级bdpcm启用旗标。仅当sps层级bdpcm启用旗标sps_bdpcm_enabled_flag指示bdpcm对当前块是启用时,发信或解析当前图像中色度块的bdpcm色度启用旗标intra_bdpcm_chroma_flag。
[0048]
在上述语法表中,仅当sps层级bdpcm启用旗标sps_bdpcm_enabled_flag指示bdpcm是启用的以及当满足亮度分量的bdpcm尺寸约束时,bdpcm亮度启用旗标intra_bdpcm_luna_flag被发信。该bdpcm尺寸约束将亮度块的宽度与最大变换跳过尺寸进行比较以及将亮度块的高度与最大变换跳过尺寸进行比较。当亮度块的宽度小于或等于最大变换
跳过尺寸maxtssize以及亮度块的高度小于或等于maxtssize时,满足bdpcm尺寸约束。当bdpcm亮度启用旗标为真时亮度块由bdpcm来预测,或者当bdpcm亮度启用旗标为假时亮度块由帧内预测来预测。当bdpcm亮度启用旗标指示bdpcm启用时,发信或解析bdpcm亮度方向旗标intra_bdpcm_luma_dir_flag。这一bdpcm亮度方向旗标指示水平或垂直方向是否被应用来预测亮度块。在一个实施例中,bdpcm色度启用旗标intra_bdpcm_chroma_flag被发信用于cu的一个或多个色度cb,例如,cb以及cr分量共用相同的bdpcm色度启用旗标。bdpcm亮度启用旗标intra_bdpcm_luma_flag被发信用于cu的一个或多个亮度cb。
[0049]
在本发明的另一个实施例中,根据视频数据的色彩格式采样结构或色度采样,允许应用bdpcm的最大块尺寸被改动。被允许应用bdpcm的改动的最大块尺寸在后续实施例也称为调整的最大块尺寸。本实施例的示例性语法表被示出如下:
[0050][0051]
在上述示例性语法表中,当sps层级bdpcm启用旗标sps_bdpcm_enabled_flag为真以及当对应的亮度块的宽度小于或等于最大变换跳过尺寸maxtssize除以变数subwidthc时,以及对应的亮度块的高度小于或等于maxtssize除以变数subheightc时,仅发信bdpcm色度启用旗标intra_bdpcm_chroma_flag用于色度块。最大变换跳过尺寸maxtssize在视频比特流中被发信用于亮度分量的bdpcm尺寸约束,以及通过maxtssize除以变数subwidthc或subheightc,调整的最大块宽度或高度被推导用于色度分量的bdpcm尺寸约束。在这一实施例中,虽然对应的亮度块尺寸用于决定bdpcm是否可以被应用于色度分量,当变数subwidthc或subheightc大于1时,被允许应用bdpcm的调整的最大块尺寸被设置为一较小值。
[0052]
在本发明的又一个实施例中,色度分量的bdpcm尺寸约束将色度块尺寸与允许对色度块应用bdpcm的调整的最大块尺寸进行比较,其中允许对色度块应用bdpcm的该调整的最大块尺寸由考虑色彩格式采样结构或色度采样的最大变换跳过尺寸maxtssize来推导。后续语法表示出了这一实施例的示例。
[0053][0054]
仅当sps层级bdpcm启用旗标sps_bdpcm_enabled_flag为真以及当色度块的宽度(即,cbwidth/subwidthc)小于或等于调整的最大块宽度(即,maxtssize/subwidthc)以及色度块的高度(即,cbheight/subheightc)小于或等于调整的最大块高度(即,maxtssize/subheightc)时,发信bdpcm色度启用旗标intra_bdpcm_chroma_flag用于色度块。
[0055]
对齐变换跳过模式以及bdpcm的启用条件在本发明的一些实施例中,因为ts模式总是用于处理每一bdpcm块的残差,用于ts模式的启用条件被设置为与bdpcm的启用条件相同。例如,启用条件与尺寸约束相关,更具体地,用于启用ts模式的尺寸约束以及用于启用bdpcm的尺寸约束被对齐。在一个具体的实施例中,用于ts模式以及bdpcm的尺寸约束将亮
度块尺寸与亮度分量的最大变换跳过尺寸maxtssize进行比较以及将色度块尺寸与色度分量的maxtssize进行比较来决定ts模式以及bdpcm是否被启用。在一个实施例中,在亮度以及色度分量之间共用maxtssize的相同值。在视频编码器端,当亮度块尺寸小于或等于maxtssize时,在视频比特流中发信bdpcm亮度启用旗标,以及当色度块尺寸小于或等于maxtssize时,在视频比特流中发信bdpcm色度启用旗标。类似地,仅当亮度块尺寸小于或等于maxtssize时在视频比特流中发信亮度块的变换跳过启用旗标,以及仅当色度块尺寸小于或等于maxtssize时,在视频比特流中发信色度块的变换跳过启用旗标。仅当亮度尺寸小于或等于maxtssize时视频解码器解析bdpcm亮度启用旗标以及仅当色度块尺寸小于或等于maxtssize时解析bdpcm色度启用旗标。如果对应的bdpcm启用旗标指示bdpcm是启用的,视频解码器由bdpcm解码亮度或色度块。仅当亮度块尺寸小于或等于maxtssize时视频解码器解析亮度块的变换跳过启用旗标,以及仅当色度块尺寸小于或等于maxtssize时解析色度块的变换跳过启用旗标。根据对应的变换跳过启用旗标,变换跳过模式被应用于亮度块或色度块。
[0056]
在另一个实施例中,用于ts模式以及bdpcm两者的尺寸约束将亮度尺寸的与亮度以及色度分量两者的maxtssize进行比较来决定该ts模式以及bdpcm是否可以被启用。在另一个实施例中,用于ts模式以及bdpcm两者的尺寸约束将亮度块尺寸与亮度分量的maxtssize进行比较以及将亮度块尺寸与色度分量的调整的最大变换跳过尺寸进行比较来决定是否可以启用ts模式以及bdpcm。从考虑视频数据的色彩格式采样结构的maxtssize中推导色度分量的调制的最大变换跳过尺寸,例如,色度分量的调整的最大变换跳过宽度等于maxtssize除以subwidthc以及色度分量的调整的最大变换跳过高度等于maxtssize除以变数subheightc。变数subwidthc以及subheightc的值取决于色彩采用格式。例如,当视频数据的色彩采样格式是4∶2∶0或4∶2∶2时,色度分量的调整的最大变换跳过块宽度是色度分量的最大变换跳过块宽度的一半,以及当视频数据的色彩采样格式是4∶2∶0时,色彩分量的调整的最大变换跳过块高度是亮度分量的最大变换跳过块高度的一半,否则色调分量的调整的最大变换跳过块宽度以及高度与亮度分量的最大变换跳过块宽度以及高度相同。在又一实施例中,用于ts模式以及bdpcm的尺寸约束将亮度块尺寸与色度分量的maxtssize进行比较以及将色度块尺寸与用于色度分量的调整的最大变换跳过尺寸进行比较来决定ts模式以及bdpcm是否可以被启用。
[0057]
用于亮度以及色度分量的对齐的变换跳过模式尺寸约束在本发明的一些实施例中,用于亮度分量的ts模式尺寸约束与用于色度分量的ts模式尺寸约束对齐。在一个实施例中,用于ts模式的尺寸约束将色度块宽度wc与调整的最大变换跳过块宽度进行比较以及将色度块高度hc与调整的最大变换块高度进行比较来决定ts模式是否可以被启用用于亮度块以及色度块。通过最大变换块尺寸maxtssize除以变数subwidthc来推导调整的最大变换块宽度以及通过最大变换跳过块尺寸maxtssize除以subheightc来推导调整的最大变换跳过块高度。后续语法表示出了用于色度分量的ts模式启用条件的示例。
[0058][0059]
变换跳过启用旗标transform_skip_flag[x0][y0][cidx]指定变换操作是否可以被应用于相关的变换块。阵列索引x0,y0指定相对于图像的左上亮度样本的所考虑的变换块的左上亮度样本的位置(x0,y0)。阵列索引cidx指定色彩分量的指示符,其对于亮度分量y其等于0,对于色度分量cb其等于1以及对于色度分量cr其等于2。换言之,在亮度tb中发信第一ts旗标transform_skip_flag[x0][y0][[0],在cb色度tb中发信第二ts旗标transform_skip_flag[x0][y0][1],以及在cr色度tb中发信第三ts旗标transform_skip_flag[x0][y0][2]。ts旗标transform_skip_flag[x0][y0][cidx]等于1指定变换操作不被应用于相关变换块,以及这一ts旗标transform_skip_flag[x0][y0][cidx]等于0指定变换操作是否被应用于相关变换块的决定取决于其他语法元素。当这一ts旗标transform_skip_flag[x0][y0][cidx]在视频比特流中不存在时,如果对应的bdpcm启用旗标bdpcmflag[x0][y0][cidx]等于1,ts旗标的值被推断为1,否则该ts旗标的值被推断为0。
[0060]
在可选实施例中,通过将亮度块尺寸与最大变换跳过尺寸maxtssize进行比较决定用于亮度以及色度分量两者的ts模式尺寸约束。在这一实施例中,仅当亮度块宽度tbwidth小于或等于maxtssize以及亮度块高度tbheight小于或等于maxtssize时发信亮度以及色度分量的变换跳过启用旗标。
[0061][0062]
编码以及解码进程的示例性流程图图1示出了根据本发明实施例的在视频编码系统中实施的视频处理方法的示例性流程图。在步骤s102,视频编码系统接收与当前图像中一个或多个亮度块与/或一个或多个对应的色度块相关的输入视频数据,其中该输入视频数据对应于待编码进一视频比特流中的像素数据。该一个或多个亮度块与/或该一个或多个色度块是帧内块。例如,该亮度块是亮度cb以及该色度块是帧内cu中对应的色度cb,或该亮度块是亮度tb以及该色度块是帧内cu中相同tu内对应的色度tb。在步骤s104,该视频编
码系统将该亮度块的尺寸与最大变换跳过尺寸maxtssize进行比较,如果该亮度块的尺寸大于maxtssize,在步骤s110中,bdpcm不被允许应用于亮度块,以及该亮度块由帧内预测来预测。当该亮度块的尺寸小于或等于maxtssize,在步骤s108,视频编码系统决定bdpcm是否被应用于亮度块,以及如果bdpcm被应用于亮度块,在步骤s116,bdpcm启用旗标被设置为1(即,真)以及在视频比特流中被发信。如果bdpcm不被应用于该亮度块,在步骤s118,bdpcm亮度启用旗标被设置为0(即,假)以及在比特流中被发信。在步骤s106中,视频编码系统也将色度块的尺寸与maxtssize进行比较,以及如果色度块的尺寸大于maxtssize,在步骤s114中,因为色度块由帧内预测来进行预测,bdpcm不被允许应用于色度块。在色度块的尺寸小于或等于maxtssize的情况下,在步骤s112中,视频编码系统决定bdpcm是否被应用于色度块。当bdpcm被应用于色度块,在步骤s120中,bdpcm启用旗标被设置为1(即,真)以及在视频比特流中被发信,以及当bdpcm不被应用于色度块,在步骤s122中,bdpcm色度启用旗标被设置为0(即,假)以及在视频比特流中被发信。当bdpcm色度启用旗标被设置为0时,帧内预测被应用于色度块。在步骤s124,当前块中的一个或多个亮度块与/或一个或多个色度块被编码来形成视频比特流。
[0063]
图2示出了根据本发明实施例的在视频解码系统中实施的视频处理方法的示例性流程图。在步骤s202,视频解码系统接收与一个或多个亮度块与/或一个或多个对应的色度块相关的输入压缩视频数据。其中该输入压缩视频数据对应于待解码的已编码数据或预测残差。亮度块与/或色度块是帧内块(如帧内cu内的cb)。在步骤s204,视频解码系统将亮度块的尺寸与最大变换跳过尺寸maxtssize进行比较,以及在步骤s208,如果亮度块的尺寸小于或等于maxtssize,视频解码系统解析bdpcm亮度启用旗标。在步骤s210,如果bdpcm亮度启用旗标指示bdpcm被启用,视频解码系统对亮度块应用bdpcm,否者如果bdpcm亮度启用旗标指示bdpcm被禁用,视频解码系统由帧内预测解码以及重构亮度块。在亮度块的尺寸大于maxtssize的情况下,因为视频解码系统由帧内预测解码以及重构该亮度块,在步骤s212中,bdpc不被应用于亮度块。类似与亮度块,在步骤s206,视频解码系统将色度块的尺寸与maxtssize进行比较,以及如果色度块的尺寸小于或等于maxtssize,在步骤s214中,视频解码系统解析bdpcm色度启用旗标,以及在步骤s216中,根据bdpcm色度启用旗标的值适应性地对色度块应用bdpcm。如果色度块的尺寸大于maxtssize,因为帧内预测被应用来预测色度块,bdpcm不被应用于色度块。视频解码系统在步骤s220中解码一个或多个亮度块与/或一个或多个色度块。因为ts模式总是被选择用于处理bdpcm块的残差,如果bdpcm被应用于亮度块,亮度块的残差由ts模式处理,以及如果bdpcm被应用于色度块,色度块的残差由ts模式处理。
[0064]
视频编码器以及解码器实施方式前述所提出的视频处理方法可以在视频编码器或解码器中实施。例如,所提出的视频处理方法在编码器的帧内预测模组与/或解码器的帧内预测模组中实施。或者,任何所提出的方法被实施为与编码器的帧内预测模组与/或解码器的帧内预测模组耦合的电路,以提供去块滤波器所需要的资讯。图3示出了实施本发明各种实施例的视频编码器300的示例性系统框图。帧内预测模组310基于当前图的重构视频数据提供帧内预测子。帧间预测模组312基于来自其他一个或多个图像的视频数据执行运动估计(me)以及运动补偿(mc)来提供帧间预测子。对于每一块,帧内预测模组310或帧间预测模组312提供所选择的预测子到加法器模组316来形成预测误差,也称为预测残差。在本发
明的示例性实施例中,帧内块中每一亮度块的尺寸与最大变换跳过尺寸进行比较以及仅当该亮度块的尺寸小于或等于该最大变换跳过尺寸时允许bdpcm被应用于亮度块。帧内块中每一色度块的尺寸与该最大变换跳过尺寸进行比较以及仅当该色度块的尺寸小于或等于该最大变换跳过尺寸时允许bdpcm被应用于色度块。对于亮度或色度块尺寸小于或等于该最大变换跳过尺寸的每一亮度或色度块,在视频比特流中发信bdpcm启用旗标。对于由bdpcm编码的每一亮度或色度块,该亮度或色度块中每一当前像素由该当前图像中该当前像素的一个或多个相邻像素来预测。由bdpcm编解码的亮度或色度块中每一当前像素的预测子从该当前像素的相邻像素来决定,以及根据每一当前像素的预测子决定每一当前像素的残差。每一块的预测残差通常由变换模组(t)318紧接着量化模组(q)320进一步处理,然而,bdpcm编解码的块的预测残差在空间域中被量化而不是被变换到频率域,这种情况下,亮度或色度块中每一当前像素的残差由量化模组320处理来生成已量化的残差。该已量化的残差以及预测子(水平或垂直)然后由熵编码器332编码来形成视频比特流。视频比特流然后和辅助资讯一起打包。亮度或色度块中每一当前像素的已量化残差然后由逆量化模组(iq)322进行处理来去量化该已量化的残差。因为每一bdpcm编解码块的残差跳过变换操作,该bdpcm编解码块的已去量化的残差不由逆变换模组(it)324来处理。在本发明的一些实施例中,应用bdpcm的尺寸约束与应用ts模式的尺寸约束对齐,例如,ts模式仅被允许用于小于或等于最大变换跳过尺寸的亮度与/或色度块。如图3所示,通过将重构的残差在重构(rec)模组326添加回每一当前像素的预测子来生成重构的视频数据,每一当前像素被重构。亮度或色度块的每一重构的当前像素然后用于根据一实施例的光栅扫描次序预测相同块中的下一个像素。重构的视频数据可以被存储于参考图像缓冲器(ref.pict.buffer)332以及用于其他图像的预测。由于编码处理,从rec 326恢复的重构的视频数据可能会受到各种损害;因此,在被存储在参考图像缓冲器332之前,环路处理去块滤波器(df)328以及样本适应性偏移(sao)330被应用于重构的视频数据来进一步增强图像品质。与用于环路处理df 328以及sao 330的资讯被提供给熵编码器334用于合并到编码的视频比特流中。
[0065]
在图4中示出了用于解码从图3的视频编码器300生成的视频比特流的对应视频解码器400。视频比特流被输入到视频解码器400并由熵解码器410进行解码来解析并恢复已量化的残差以及其他系统资讯。解码器400的解码进程类似于编码器300的重构回路,除了解码器400仅需要帧间预测模组414的运动补偿预测。当前图像中每一块由帧内预测模组412或帧间预测模组414进行解码。在本发明的一些实施例中,当前图像中亮度块或色度块的尺寸与最大变换跳过尺寸进行比较,仅当亮度块的尺寸小于或等于该最大变换跳过尺寸时bdpcm被允许用于解码亮度,以及仅当色度块的尺寸小于或等于最大变换跳过尺寸时bdpcm被允许用于解码色度块。当亮度或色度块的尺寸小于或等于最大变换跳过尺寸时,视频解码器400解析对应的bdpcm启用旗标,以及当bdpcm启用旗标指示bdpcm被启用时,根据预测方向应用bdpcm到亮度或色度块。预测方向从水平以及垂直方向来选择并且当对应的bdpcm启用旗标指示bdpcm是启用时,从视频比特流来解析预测方向。开关模组416根据解码模式资讯选择来自帧内预测模组412的帧内预测子或来自帧间预测预测模组414的帧间预测子。在bdpcm中编解码的亮度或色度块的每一当前像素相关的已量化残差由逆量化(iq)模组进行去量化来生成去量化的残差。当处理bdpcm编解码的块时,逆变换模组(it)422中执行的逆变换操作被跳过。通过在rec中将每一当前像素的重构残差与每一当前像素的预
测子相加来生成重构的视频数据,来重构每一当前像素。亮度或色度块的每一重构的当前像素用于根据光栅扫描次序预测相同块中的下一个像素。重构的视频数据进一步由去块滤波器(df)424以及样本适应性偏移(sao)426处理来生成最终的解码视频。如果当前解码图像是参考图像,当前解码图像的重构视频也被存储于参考图像缓冲器428用于解码次序中的后续图像。
[0066]
图3以及图4中的视频编码器300以及视频解码器400的各种元件可以由硬体元件、配置于执行存储于记忆体中的程式指令的一个或多个处理器或应用于处理器的组合来实施。例如,处理器执行程式指令用于控制设置尺寸约束来启用bdpcm。处理器配备单个或多个处理核心。在一些示例中,处理器执行程式指令来在编码器300以及解码器400的一些元件中执行功能,以及电性地与处理器耦合的记忆体用于存储程式指令、对应于块的重构图像的资讯与/或编码或解码进程中的中间数据。一些实施例中的记忆体包括非暂态电脑可读媒介,如半导体或固态记忆体、随机记忆体记忆体(ram)、唯读记忆体(rom)、硬碟、光碟或其他合适的存储媒介。记忆体也可以是以上列出的两个或多个非暂态电脑可读媒介的组合。如图3以及图4所示,编码器300以及解码器400可以实施于相同的电子装置,如果实施于相同的电子装置,编码器300以及解码器400的各种功能元件可以共用或再用。例如,图3中的重构模组326、逆变换模组324、逆量化模组322、去块滤波器328、样本适应性偏移330以及参考图像缓冲器332的一个或多个也可以分别作为图4中的重构模组418、逆变换模组422、逆量化模组420、去块滤波器424、样本适应性偏移426以及参考图像缓冲器428。
[0067]
用于编码或解码的视频处理方法的实施例可以以集成在视频压缩晶片的电路或集成到视频压缩软体的程式码来实施来执行以上所描述的处理方法。例如,对亮度元件或色度元件应用bdpcm可以在程式码中实现来在电脑处理器、数位讯号处理器(dsp)、微处理器或现场可程式闸阵列(fpga)上执行。这些处理器可以被配置来执行根据本发明的任务,通过执行定义本发明呈现的特定方法的机器可读软体代码或韧体代码。
[0068]
贯彻本说明书的“实施例”、“一些实施例”或类似的语言意味着结合实施描述的特定特征、结构或特性可以包括于本发明的至少一个实施例。因此,贯彻本说明性的各个地方出现的短语“一实施例”或“一些实施例”不需要都指相同的实施例,这些实施例可以单独或结合一个或多个其他实施例来实施。例如,所描述的特征、结构或特性可以以任何合适的方式在一个或多个实施例中组合。相关领域中的技术人员将意识到,然而,在没有一个或多个具体细节或其他方法、元件等的情况下,可以实施本发明。在其他情况下,公知的结构或操作未被示出或详细描述以避免混淆本发明的方面。
[0069]
以其他具体形式实施的本发明不背离其精神或基本特征。所描述的示例在所有方面仅被认为是说明性的而非限制的。因此,本发明的范围由所附申请专利范围而不是前述描述来指示。申请专利范围的含义以及等同范围内的任何变换都在其范围内。