掌桥专利:专业的专利平台
掌桥专利
首页

视频通用约束信息语法中保留位的信令通知

文献发布时间:2023-06-19 18:32:25


视频通用约束信息语法中保留位的信令通知

相关申请的交叉参考

根据适用专利法和/或依据巴黎公约的规则,本申请要求于2020年6月2日提交的第63/033,689号国际专利申请的优先权和利益。出于法律上的所有目的,上述申请的全部公开内容通过参考并入本申请公开的一部分。

技术领域

本专利文档涉及图像编码和解码以及视频编码和解码。

背景技术

数字视频占互联网和其他数字通信网络上的最大带宽使用。随着能够接收和显示视频的连接用户设备的数量的增加,预期数字视频使用的带宽需求将继续增长。

发明内容

本文公开了用于通用约束信息(GCI)语法中保留位的信令通知的技术,其可由视频编码器和解码器使用以执行视频编码、解码或处理。

在一个示例方面,公开了一种视频处理方法。该方法包括根据规则执行包括一个或多个图片的视频和该视频的比特流之间的转换,其中,该规则规定profile-tier-level语法结构中的语法结构在语法元素之后,其中,该语法结构包括与用于比特流的通用约束信息(GCI)相关的信息,并且其中,该语法元素指示与profile-tier-level语法结构相关联的输出层集所符合的级别。

在另一示例方面,公开了另一视频处理方法。该方法包括根据规则执行包括一个或多个图片的视频和该视频的比特流之间的转换,其中,该规则规定通用约束信息(GCI)语法结构中的字节对齐语法在一个或多个GCI保留字段之后,其中,该字节对齐语法指示比特流中的当前位置是否距比特流中的第一位的位置8位的整数倍,并且其中,该GCI语法结构包括GCI相关语法元素。

在又一示例方面,公开了另一视频处理方法。该方法包括根据规则执行包括一个或多个图片的视频和该视频的比特流之间的转换,其中,该规则规定profile-tier-level语法结构中的语法结构在级别信息的指示之后,其中,该语法结构包括与通用约束信息(GCI)相关的信息,并且其中,该级别信息的指示规定了互操作性指示符。

在又一示例方面,公开了另一视频处理方法。该方法包括根据规则执行包括一个或多个图片的视频和该视频的比特流之间的转换,其中,该规则规定profile-tier-level语法结构中的语法元素指示通用约束信息(GCI)语法结构是否包括在profile-tier-level语法结构中。

在又一示例方面,公开了另一视频处理方法。该方法包括根据规则执行包括一个或多个图片的视频和视频的比特流之间的转换,其中,该规则规定字节对齐语法被排除在profile-tier-level语法结构中存在的通用约束信息(GCI)语法结构之外,其中,该字节对齐语法指示比特流中的当前位置是否距比特流中的第一位的位置8位的整数倍,并且其中,该GCI语法结构包括GCI相关语法元素。

在又一示例方面,公开了另一视频处理方法。该方法包括根据规则执行包括一个或多个图片的视频和该视频的比特流之间的转换,其中,该规则规定通用约束信息(GCI)语法结构紧接在profile-tier-level语法结构中的字节对齐检查条件之前,其中,该GCI语法包括GCI相关语法元素,并且其中,该字节对齐检查条件检查比特流中的当前位置是否距该比特流中的第一位的位置8位的整数倍。

在又一示例方面,公开了另一视频处理方法。该方法包括根据规则执行包括一个或多个图片的视频和该视频的比特流之间的转换,其中,该规则规定与通用约束信息(GCI)语法元素相关联的多个保留约束位的数量包括在该比特流中。

在又一示例方面,公开了另一视频处理方法。该方法包括根据规则执行包括一个或多个图片的视频和该视频的比特流之间的转换,其中,该规则规定通用约束信息(GCI)语法元素包括在GCI语法结构的开头,其中,该GCI语法元素指示一个或多个GCI语法元素是否包括在该GCI语法结构中。

在又一示例方面,公开了另一视频处理方法。该方法包括根据规则执行包括一个或多个图片的视频和该视频的比特流之间的转换,其中,该规则规定对语法元素的约束,其中,该语法元素对应于用于表示该比特流中的视频的位深度。

在又一示例方面,公开了另一视频处理方法。该方法包括根据规则执行包括一个或多个图片的视频和该视频的比特流之间的转换,其中,该规则规定对语法元素的约束,其中,该语法元素对应于视频的色度格式。

在又一示例方面,公开了一种视频编码器装置。该视频编码器包括被配置为实现上述方法的处理器。

在又一示例方面,公开了一种视频解码器装置。该视频解码器包括被配置为实现上述方法的处理器。

在又一示例方面,公开了一种其上存储有代码的计算机可读介质。该代码以处理器可执行代码的形式体现了本文所描述的方法中的一种方法。

这些和其他特征在本文中均有描述。

附图说明

图1是示出在此公开的各种技术可以被实现的示例视频处理系统的框图。

图2是用于视频处理的示例硬件平台的框图。

图3是示出可以实现本公开的一些实施例的示例视频编解码系统的框图。

图4是示出可以实现本公开的一些实施例的编码器的示例的框图。

图5是示出可以实现本公开的一些实施例的解码器的示例的框图。

图6至图15示出了视频处理的示例方法的流程图。

具体实施方式

在本文件中使用章节标题是为了便于理解,并且不限制每个章节中公开的技术和实施例仅应用于该章节。此外,在一些说明书中使用H.266术语只是为了便于理解,而不是为了限制所公开技术的范围。这样,本文所描述的技术也应用于其它视频编解码器协议和设计。

1.简介

本文档涉及视频编解码技术。具体地,它是关于用于在视频编解码中信令通知通用约束信息(GCI)的语法设计。这些思想可以单独或以各种组合应用于支持多层视频编解码的任何视频编解码标准或非标准视频编解码器,例如,正在开发的通用视频编解码(VVC)。

2.缩写

APS 自适应参数集

AU 访问单元

AUD 访问单元分隔符

AVC 高级视频编解码

CLVS 编解码层视频序列

CPB 编解码图片缓冲器

CRA 清洁随机访问

CTU 编解码树单元

CVS 编解码视频序列

DPB 解码图片缓冲器

DPS 解码参数集

EOB 比特流结尾

EOS 序列结尾

GCI 通用约束信息

GDR 逐步解码刷新

HEVC 高效视频编解码

HRD 假设参考解码器

IDR 即时解码刷新

JEM 联合探索模型

MCTS 运动约束的片组

NAL 网络抽象层

OLS 输出层集

PH 图片标头

PPS 图片参数集

PTL 档次、层次和级别

PU 图片单元

RRP 参考图片重采样

RBSP 原始字节序列有效载荷

SEI 补充增强信息

SH 条带标头

SPS 序列参数集

SVC 可缩放视频编解码

VCL 视频编解码层

VPS 视频参数集

VTM VVC测试模型

VUI 视频可用性信息

VVC 多功能视频编解码

3.初步讨论

视频编解码标准主要是通过著名的ITU-T和ISO/IEC标准的发展而发展起来的。ITU-T制作了H.261和H.263,ISO/IEC制作了MPEG-1和MPEG-4Visual,并且这两个组织联合制作了H.262/MPEG-2视频标准和H.264/MPEG-4高级视频编解码(Advanced Video Coding,AVC)标准以及H.265/HEVC标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中,使用了时域预测加变换编解码。为了探索HEVC之外的未来视频编解码技术,VCEG和MPEG于2015年联合成立了联合视频探索小组(Joint Video Exploration Team,JVET)。此后,许多新方法被JVET采用,并被应用到名为联合探索模型(Joint Exploration Model,JEM)的参考软件中。JVET会议每季度同时举行一次,并且新的编解码标准的目标是比HEVC降低50%的比特率。在2018年4月的JVET会议上,新的视频编解码标准被正式命名为通用视频编解码(Versatile Video Coding,VVC),并且当时发布了VVC测试模型(VTM)的第一个版本。随着致力于VVC标准化的不断努力,每次JVET会议都会为VCC标准采用新的编解码技术。然后在每次会议后更新VVC工作草案和测试模型VTM。VVC项目目前的目标是在2020年7月的会议上实现技术完成(FDIS)。

3.1.序列内的图片分辨率变化

在AVC和HEVC中,除非使用新SPS的新序列以IRAP图片开始,否则图片的空间分辨率无法改变。VVC允许在某个位置的序列内改变图片分辨率,而无需对始终是帧内编解码的IRAP图片进行编码。此特征有时被称为参考图片重采样(RPR),因为当该参考图片的分辨率与正在被解码的当前图片不同时,该特征需要对用于帧间预测的参考图片进行重采样。

缩放比被限制为大于或等于1/2(从参考图片到当前图片的2倍下采样),并且小于或等于8(8倍上采样)。规定三组频率截止不同的重采样滤波器,以处理参考图片和当前图片之间的各种缩放比。三组重采样滤波器分别适用于从1/2至1/1.75、从1/1.75至1/1.25以及从1/1.25至8的缩放比。每组重采样滤波器对于亮度具有16个相位,对于色度具有32个相位,这与运动补偿插值滤波器的情况相同。实际上,正常的MC插值过程是重采样过程的一种特殊情况,缩放比的范围为1/1.25至8。水平和垂直缩放比是基于图片宽度和高度以及为参考图片和当前图片规定的左、右、上和下缩放偏移量推导出来的。

支持此特征的VVC设计与HEVC不同的其他方面包括:i)图片分辨率和相应的一致性窗口在PPS中而不是在SPS中被信令通知,而最大图片分辨率在SPS中被信令通知。ii)对于单层比特流,每个图片存储(DPB中用于存储一个解码图片的时隙)占用存储图片分辨率最大的解码图片所需的缓冲区尺寸。

3.2.VVC中的通用可缩放视频编解码(SVC)

可缩放视频编解码(SVC,有时也称为视频编码中的可缩放性)是指使用有时称为参考层(RL)的基本层(BL)和一个或多个可缩放增强层(EL)的视频编解码。在SVC中,基本层可以承载具有基本质量级别的视频数据。一个或多个增强层可以承载额外的视频数据以支持例如更高的空域、时域和/或信噪比(SNR)级别。增强层可以相对于先前编码的层来定义。例如,底层可以用作BL,而顶层可以用作EL。中间可以用作EL或RL,或两者兼用。例如,中层(例如,既不是最低层也不是最高层的层)可以是用于中层以下的层的EL,如基层或任何中间增强层,并且同时用作中层以上的一个或多个增强层的RL。类似地,在HEVC标准的多视图或3D扩展中,可以有多个视图,并且可以利用一个视图的信息来编解码(例如,编码或解码)另一视图的信息(例如,运动估计、运动矢量预测和/或其他冗余)。

在SVC中,编码器或解码器使用的参数基于其可使用的编解码级别(例如,视频级别、序列级别、图片级别、条带级别等)被分组为参数集。例如,可以由比特流中不同层的一个或多个编解码视频序列使用的参数可以包括在视频参数集(VPS)中,并且由编解码视频序列中的一个或多个图片使用的参数可以包括在序列参数集(SPS)中。类似地,可以由图片中的一个或多个条带使用的参数可以包括在图片参数集(PPS)中,并且特定于单个条带的其他参数可以包括在条带标头中。类似地,可以在各种编解码级别上提供特定层在给定时间使用哪个参数集的指示。

由于在VVC中支持参考图片重采样(RPR),可以设计对包含多个层(例如,在VVC具有SD和HD分辨率的两个层)的比特流的支持,而不需要任何额外的信号处理级别编解码工具,因为空域可缩放性支持所需的上采样可以仅使用RPR上采样滤波器。然而,对于可缩放性支持,需要高级语法变化(与不支持可缩放性相比)。可缩放性支持在VVC版本1中规定。不同于任何早期视频编解码标准中的可缩放性支持,包括AVC和HEVC的扩展在内,VVC可缩放性的设计已尽可能对单层解码器设计友好。多层比特流的解码能力以在比特流中好像只有单层的方式规定。例如,解码能力(如DPB尺寸)以独立于待解码的比特流中的层数的方式规定。基本上,为单层比特流设计的解码器不需要太多变化就能够解码多层比特流。与AVC和HEVC的多层扩展的设计相比,HLS方面得到了显著简化而牺牲了一些灵活性。例如,IRAP AU需要包含用于CVS中存在的层中的每一层的图片。

3.3.参数集

AVC、HEVC和VVC规定了参数集。参数集的类型包括SPS、PPS、APS和VPS。所有AVC、HEVC和VVC都支持SPS和PPS。VPS从HEVC开始引入,并包括在HEVC和VVC中。APS未包括在AVC或HEVC中,但包括在最新的VVC草案文本中。

SPS被设计为承载序列级别标头信息,并且PPS被设计为承载不经常变化的图片级别标头信息。对于SPS和PPS,不需要为每个序列或图片重复不经常变化的信息,因此可以避免该信息的冗余信令通知。此外,使用SPS和PPS能够实现重要标头信息的带外传输,从而不仅避免了冗余传输的需要,而且改善了容错性。

引入VPS是为了承载对于多层比特流中所有层都是通用的序列级别标头信息。

引入APS是为了承载此类图片级别或条带级别信息,这些信息需要相当多的比特来编解码,可以由多个图片共享,并且在一个序列中可以有很多不同的变化。

3.4.通用档次、层次和级别语法和语义

在最新的VVC草案文本中,通用档次、层次、级别语法和语义如下:

profile_tier_level()语法结构提供级别信息,以及可选地档次、层次、子档次和通用约束信息。

当profile_tier_level()语法结构包括在VPS中时,OlsInScope是VPS规定的一个或多个OLS。当profile_tier_level()语法结构包括在SPS中时,OlsInScope是只包括层的OLS,该层是引用SPS的层中的最低层,并且该最低层是独立层。

general_profile_idc指示OlsInScope所符合的如附录A中规定的档次。比特流不得包含除附录A中规定的值之外的general_profile_idc值。general_profile_idc的其他值保留供ITU-T|ISO/IEC将来使用。

general_tier_flag规定了用于解释如附录A中规定的general_level_idc的层次上下文。

general_level_idc指示OlsInScope所符合的附录A中规定的级别。比特流不应包含除附录A中规定的值之外的general_level_idc值。general_level_idc的其他值保留供ITU-T|ISO/IEC将来使用。

注释1–general_level_idc值越大指示级别越高。在用于OlsInScope的DCINAL单元中被信令通知的最大级别可以高于但不能低于在SPS中被信令通知的用于OlsInScope内包含的CLVS的级别。

注释2–当OlsInScope符合多个档次时,general_profile_idc应指示提供如编码器确定的优选解码结果或优选比特流标识的档次(以本规范中未规定的方式)。

注释3–当OlsInScope的CVS符合不同档次时,多个profile_tier_level()语法结构可以包括在DCI NAL单元中,使得对于OlsInScope的每个CVS,至少有一组用于能够解码CVS的解码器的所指示的档次、层次和级别。

ptl_num_sub_profiles规定了general_sub_profile_idc[i]语法元素的数量。

general_sub_profile_idc[i]规定了如推荐ITU-T T.35规定的经注册的第i个互操作性元数据的指示符,其内容在本规范中未规定。

ptl_sublayer_level_present_flag[i]等于1规定了用于TemporalId等于i的子层表示的profile_tier_level()语法结构中存在级别信息。ptl_sublayer_level_present_flag[i]等于0规定了用于TemporalId等于i的子层表示的profile_tier_level()语法结构中不存在级别信息。

ptl_alignment_zero_bits应等于0。

除了不存在的值推断的规范,语法元素sublayer_level_idc[i]的语义与语法元素general_level_idc的语义相同,但适用于TemporalId等于i的子层表示。

当不存在时,sublayer_level_idc[i]的值推断如下:

–sublayer_level_idc[maxNumSubLayersMinus1]被推断为等于相同profile_tier_level()结构的general_level_idc,

–对于从maxNumSubLayersMinus1-1到0(按i值的递减顺序)(包括maxNumSubLayersMinus1-1和0)的i,sublayer_level_idc[i]被推断为等于sublayer_level_idc[i+1]。

3.5.通用约束信息语法和语义

general_non_packed_constraint_flag等于1规定在OlsInScope的比特流中不应存在任何帧封装排列SEI消息。general_non_packed_constraint_flag等于0不施加这种约束。

注释1–解码器可以忽略general_non_packed_constraint_flag的值,因为没有与帧封装排列SEI消息的存在或解释相关联的解码过程要求。

general_frame_only_constraint_flag等于1规定OlsInScope传送表示帧的图片。general_frame_only_constraint_flag等于0规定OlsInScope传送可能或可能不表示帧的图片。

注释2–解码器可以忽略general_frame_only_constraint_flag的值,因为没有与其相关联的解码过程要求。

general_non_projected_constraint_flag等于1规定在OlsInScope的比特流中不应存在任何等距柱状投影SEI消息或广义立方体映射投影SEI消息息。general_non_projected_constraint_flag等于0不施加这种约束。

注释3–解码器可以忽略general_non_projected_constraint_flag的值,因为没有与等距柱状投影SEI消息或广义立方体映射投影SEI消息息的存在或解释相关联的解码过程要求。

general_one_picture_only_constraint_flag等于1规定比特流中只有一个编解码图片。general_one_picture_only_constraint_flag等于0不施加这种约束。

intra_only_constraint_flag等于1规定sh_slice_type应等于I。intra_only_constraint_flag等于0不施加这种约束。

max_bitdepth_minus8_constraint_idc规定sps_bitdepth_minus8应在0到max_bitdepth_minus8_constraint_idc(包括0和max_bitdepth_minus8_constraint_idc)的范围内。

max_chroma_format_constraint_idc规定sps_chroma_format_idc应在0到max_chroma_format_constraint_idc(包括0和max_chroma_format_constraint_idc)的范围内。

single_layer_constraint_flag等于1规定对于OlsInScope中的所有VCL NAL单元,nuh_layer_id的值应相同。single_layer_constraint_flag等于0不施加这种约束。

all_layers_independent_constraint_flag等于1规定vps_all_independent_layers_flag应等于1。all_layers_independent_constraint_flag等于0不施加这种约束。

no_ref_pic_resampling_constraint_flag等于1规定sps_ref_pic_resampling_enabled_flag应等于0。no_ref_pic_resampling_constraint_flag等于0不施加这种约束。

no_res_change_in_clvs_constraint_flag等于1规定sps_res_change_in_clvs_allowed_flag应等于0。no_res_change_in_clvs_constraint_flag等于0不施加这种约束。

one_tile_per_pic_constraint_flag等于1规定每个图片应仅包含一个片,即每个图片的NumTilesInPic的值应等于1。one_tile_per_pic_constraint_flag等于0不施加这种约束。

pic_header_in_slice_header_constraint_flag等于1规定每个图片应仅包含一个条带并且每个条带中的sh_picture_header_in_slice_header_flag的值应等于1。pic_header_in_slice_header_constraint_flag等于0不施加这种约束。

one_slice_per_pic_constraint_flag等于1规定每个图片应仅包含一个条带,即如果pps_rect_slice_flag等于1,则num_slices_in_pic_minus1的值应等于0,否则,存在于每个条带标头中的num_slices_in_pic_minus1的值应等于NumTilesInPic-1。one_slice_per_pic_constraint_flag等于0不施加这种约束。

one_subpic_per_pic_constraint_flag等于1规定每个图片应仅包含一个子图片,即每个图片的sps_num_subpics_minus1的值应等于0。one_subpic_per_pic_constraint_flag等于0不施加这种约束。

no_qtbtt_dual_tree_intra_constraint_flag等于1规定sps_qtbtt_dual_tree_intra_flag应等于0。no_qtbtt_dual_tree_intra_constraint_flag等于0不施加这种约束。

no_partition_constraints_override_constraint_flag等于1规定sps_partition_constraints_override_enabled_flag应等于0。no_partition_constraints_override_constraint_flag等于0不施加这种约束。

no_sao_constraint_flag等于1规定sps_sao_enabled_flag应等于0。no_sao_constraint_flag等于0不施加这种约束。

no_alf_constraint_flag等于1规定sps_alf_enabled_flag应等于0。no_alf_constraint_flag等于0不施加这种约束。

no_ccalf_constraint_flag等于1规定sps_ccalf_enabled_flag应等于0。no_ccalf_constraint_flag等于0不施加这种约束。

no_joint_cbcr_constraint_flag等于1规定sps_joint_cbcr_enabled_flag应等于0。no_joint_cbcr_constraint_flag等于0不施加这种约束。

no_mrl_constraint_flag等于1规定sps_mrl_enabled_flag应等于0。no_mrl_constraint_flag等于0不施加这种约束。

no_isp_constraint_flag等于1规定sps_isp_enabled_flag应等于0。no_isp_constraint_flag等于0不施加这种约束。

no_mip_constraint_flag等于1规定sps_mip_enabled_flag应等于0。no_mip_constraint_flag等于0不施加这种约束。

no_ref_wraparound_constraint_flag等于1规定sps_ref_wraparound_enabled_flag应等于0。no_ref_wraparound_constraint_flag等于0不施加这种约束。

no_temporal_mvp_constraint_flag等于1规定sps_temporal_mvp_enabled_flag应等于0。no_temporal_mvp_constraint_flag等于0不施加这种约束。

no_sbtmvp_constraint_flag等于1规定sps_sbtmvp_enabled_flag应等于0。no_sbtmvp_constraint_flag等于0不施加这种约束。

no_amvr_constraint_flag等于1规定sps_amvr_enabled_flag应等于0。no_amvr_constraint_flag等于0不施加这种约束。

no_bdof_constraint_flag等于1规定sps_bdof_enabled_flag应等于0。no_bdof_constraint_flag等于0不施加这种约束。

no_dmvr_constraint_flag等于1规定sps_dmvr_enabled_flag应等于0。no_dmvr_constraint_flag等于0不施加这种约束。

no_cclm_constraint_flag等于1规定sps_cclm_enabled_flag应等于0。no_cclm_constraint_flag等于0不施加这种约束。

no_mts_constraint_flag等于1规定sps_mts_enabled_flag应等于0。no_mts_constraint_flag等于0不施加这种约束。

no_sbt_constraint_flag等于1规定sps_sbt_enabled_flag应等于0。no_sbt_constraint_flag等于0不施加这种约束。

no_lfnst_constraint_flag等于1规定sps_lfnst_enabled_flag应等于0。no_lfnst_constraint_flag等于0不施加这种约束。

no_affine_motion_constraint_flag等于1规定sps_affine_enabled_flag应等于0。no_affine_motion_constraint_flag等于0不施加这种约束。

no_mmvd_constraint_flag等于1规定sps_mmvd_enabled_flag应等于0。no_mmvd_constraint_flag等于0不施加这种约束。

no_smvd_constraint_flag等于1规定sps_smvd_enabled_flag应等于0。no_smvd_constraint_flag等于0不施加这种约束。

no_prof_constraint_flag等于1规定sps_affine_prof_enabled_flag应等于0。no_prof_constraint_flag等于0不施加这种约束。

no_bcw_constraint_flag等于1规定sps_bcw_enabled_flag应等于0。no_bcw_constraint_flag等于0不施加这种约束。

no_ibc_constraint_flag等于1规定sps_ibc_enabled_flag应等于0。no_ibc_constraint_flag等于0不施加这种约束。

no_ciip_constraint_flag等于1规定sps_ciip_enabled_flag应等于0。no_cipp_constraint_flag等于0不施加这种约束。

no_gpm_constraint_flag等于1规定sps_gpm_enabled_flag应等于0。no_gpm_constraint_flag等于0不施加这种约束。

no_ladf_constraint_flag等于1规定sps_ladf_enabled_flag应等于0。no_ladf_constraint_flag等于0不施加这种约束。

no_transform_skip_constraint_flag等于1规定sps_transform_skip_enabled_flag应等于0。no_transform_skip_constraint_flag等于0不施加这种约束。

no_bdpcm_constraint_flag等于1规定sps_bdpcm_enabled_flag应等于0。no_bdpcm_constraint_flag等于0不施加这种约束。

no_weighted_prediction_constraint_flag等于1规定sps_weighted_pred_flag和sps_weighted_bipred_flag应等于0。no_weighted_prediction_constraint_flag等于0不施加这种约束。

no_palette_constraint_flag等于1规定sps_palette_enabled_flag应等于0。no_palette_constraint_flag等于0不施加这种约束。

no_act_constraint_flag等于1规定sps_act_enabled_flag应等于0。no_act_constraint_flag等于0不施加这种约束。

no_lmcs_constraint_flag等于1规定sps_lmcs_enabled_flag应等于0。no_lmcs_constraint_flag等于0不施加这种约束。

no_cu_qp_delta_constraint_flag等于1规定pps_cu_qp_delta_enabled_flag应等于0。no_cu_qp_delta_constraint_flag等于0不施加这种约束。

no_chroma_qp_offset_constraint_flag等于1规定pps_cu_chroma_qp_offset_list_enabled_flag应等于0。no_chroma_qp_offset_constraint_flag等于0不施加这种约束。

no_dep_quant_constraint_flag等于1规定sps_dep_quant_enabled_flag应等于0。no_dep_quant_constraint_flag等于0不施加这种约束。

no_sign_data_hiding_constraint_flag等于1规定sps_sign_data_hiding_enabled_flag应等于0。no_sign_data_hiding_constraint_flag等于0不施加这种约束。

no_mixed_nalu_types_in_pic_constraint_flag等于1规定比特流一致性的要求是pps_mixed_nalu_types_in_pic_flag应等于0。no_mixed_nalu_types_in_pic_constraint_flag等于0不施加这种约束。

no_trail_constraint_flag等于1规定OlsInScope中不应存在nuh_unit_type等于TRAIL_NUT的NAL单元。no_trail_constraint_flag等于0不施加这种约束。

no_stsa_constraint_flag等于1规定OlsInScope中不应存在nuh_unit_type等于STSA_NUT的NAL单元。no_stsa_constraint_flag应等于0不施加这种约束。

no_rasl_constraint_flag等于1规定OlsInScope中不应存在nuh_unit_type等于RASL_NUT的NAL单元。no_rasl_constraint_flag等于0不施加这种约束。

no_radl_constraint_flag等于1规定OlsInScope中不应存在nuh_unit_type等于RADL_NUT的NAL单元。no_radl_constraint_flag等于0不施加这种约束。

no_idr_constraint_flag等于1规定OlsInScope中不应存在nuh_unit_type等于IDR_W_RADL或IDR_N_LP的NAL单元。no_idr_constraint_flag等于0不施加这种约束。

no_cra_constraint_flag等于1规定OlsInScope中不应存在nuh_unit_type等于CRA_NUT的NAL单元。no_cra_constraint_flag等于0不施加这种约束。

no_gdr_constraint_flag等于1规定sps_gdr_enabled_flag应等于0。no_gdr_constraint_flag等于0不施加这种约束。

no_aps_constraint_flag等于1规定OlsInScope中不应存在nuh_unit_type等于PREFIX_APS_NUT或SUFFIX_APS_NUT的NAL单元,并且sps_lmcs_enabled_flag和sps_scaling_list_enabled_flag均应等于0。no_aps_constraint_flag等于0不施加这种约束。

gci_alignment_zero_bits应等于0。

gci_num_reserved_bytes规定保留约束字节的数量。gci_num_reserved_bytes的值应等于0。gci_num_reserved_bytes的其他值保留供ITU-T|ISO/IEC将来使用,并且不应存在于符合本规范此版本的比特流中。

gci_reserved_byte[i]可以具有任何值。其存在和值不影响解码器与本规范此版本中规定的档次的一致性。符合本规范此版本的解码器应忽略所有gci_reserved_byte[i]语法元素的值。

3.6.GCI字段的条件信令通知

JVET-S0050和JVET-S0127都建议在PTL语法结构中添加存在标志,以规定PTL语法中GCI语法结构的存在,唯一的区别是以下在S0050中完成,而不是在S0127中完成:S0050紧接GCI语法结构之后在PTL语法结构中添加字节对齐(当存在时),以确保general_level_idc在PTL语法结构中的字节对齐的位置开始,因此移除了GCI语法结构内的字节对齐。

JVET-S0050语法更改如下:其中,已添加或修改的部分均用粗体、下划线和斜体表示,例如“使用A

JVET-S0127语法更改如下:

JVET-S0092仅更改GCI语法结构本身。它在GCI语法结构中将GCI扩展长度指示符(gci_num_reserved_bytes)从最后一个移动到第一个(gci_num_constraint_bytes),以启用GCI字段的跳过信令通知。gci_num_reserved_bytes的值应等于0或9。

S0092语法更改如下:

以下是关于不同方法的一些比较:

1)关于JVET-S0050和JVET-S0127,区别在于是否确保general_level_idc位于PTL语法结构中的字节对齐的位置(包括GCI存在标志等于0时)。DCI、VPS和SPS语法均已设计为确保每个PTL语法结构(当存在时)位于DCI/VPS/SPS中的字节对齐的位置。我希望我们不必争论太多,就可以得出这样的结论:应该将general_level_idc保持在PTL语法结构中的字节对齐的位置。如果可以实现,那么JVET-S0050和JVET-S0127是相同的。

2)在PTL语法结构中具有GCI存在标志(如在JVET-S0050和JVET-S0127中)与在GCI语法结构中操纵语法之间的区别如下。它们都规定,在general_tier_flag和general_level_idc之间,PTL语法结构中有一些GCI信息。GCI存在标志方法使用标志来规定GCI字段的存在,而JVET-S0092方法使用8位尺寸指示符来实现这一目的。至于计算位数,JVET-S0050方法对标志使用1位加上0至7字节对齐位,而JVET-S0092方法对尺寸指示符使用8位加上0至7字节对齐位。所以本质上,差异只有7位。

3)JVET-S0092中有一个语义错误:如果gci_num_reserved_bytes的值应等于0或9,那么GCI语法结构中永远不会有gci_reserved_byte[i]。当然,这可以通过诸如gci_num_reserved_bytes的值应等于0或者等于或大于9来轻松解决。

-4.本文所公开的技术方案所解决的技术问题

用于CGI字段信令通知的现有设计需要消耗比所需更多的位。

-5.发明

为了解决上述问题和一些其他未提及的问题,公开了如下总结的方法。这些项目应被视为解释一般概念的示例,而不应狭义解释。此外,这些项目可以单独应用或以任何方式组合应用。

1)为了解决第一个问题,关于PTL语法结构中的GCI字段的条件信令通知,公开了以下方法中的一种或多种方法,例如,如第一实施例中的方法:

a.将general_constraint_info()语法结构和/或其他GCI相关语法元素(例如,GCI标志的存在)移动到级别信息的指示之后,而不是紧接在general_tier_flag之后。

i.在一个示例中,将profile_tier_level()语法结构中的general_constraint_info()语法结构移动到紧接general_sub_profile_idc[i]语法元素之后。

b.在profile_tier_level()语法结构中添加新语法元素(例如,1位标志,被命名为gci_present_flag),以调节general_constraint_info()语法结构的存在。

i.当gci_present_flag对于profileTierPresentFlag等于1的profile_tier_level()语法结构而等于1时,profile_tier_level()语法结构中存在general_constraint_info()语法结构。当gci_present_flag对于profile_tier_level()语法结构而等于0时(无论profileTierPresentFlag是否等于1),profile_tier_level()语法结构中不存在general_constraint_info()语法结构。

ii.GCI字段的语义被更改,使得GCI字段的语义仅在它们存在时适用(即,当gci_present_flag等于1时)。换句话说,当gci_present_flag等于0时,除诸如被规定为档次定义的一部分的约束的其他规定的约束之外,通用约束不适用。

iii.可替代地,此外,新语法元素可以例如根据profileTierPresentFlag的值而被有条件信令通知。

c.从general_constraint_info()语法结构中移除字节对齐语法(即gci_alignment_zero_bit字段及其语法条件)。

d.保留约束位数和/或每个保留约束位的值可以被信令通知,而不是信令通知总保留约束字节数和保留约束字节。

i.在一个示例中,将GCI语法元素gci_num_reserved_bytes更改为gci_num_reserved_bits。

ii.可替代地,此外,更改后的GCI语法元素可以用u(11)而不是u(8)来编解码。

iii.可替代地,此外,将GCI语法元素gci_reserved_byte[i]更改为gci_reserved_bit[i],其用u(1)而不是u(8)编解码。

2)为了解决第一个问题,关于PTL语法结构中的GCI字段的条件信令通知,公开了以下方法中的一种或多种方法,例如,如第二实施例中的方法:

a.将general_constraint_info()语法结构和/或其他GCI相关语法元素(例如,GCI标志的存在)移动到级别信息的指示之后,而不是紧接在general_tier_flag之后。

i.在一个示例中,将profile_tier_level()语法结构中的general_constraint_info()语法结构移动到紧接general_sub_profile_idc[i]语法元素之后(而不是紧接general_tier_flag之后)。

b.在profile_tier_level()语法结构中添加新语法元素(例如,1位标志,被命名为gci_present_flag),以调节general_constraint_info()语法结构的存在。

i.当gci_present_flag对于profileTierPresentFlag等于1的profile_tier_level()语法结构而等于1时,profile_tier_level()语法结构中存在general_constraint_info()语法结构。当gci_present_flag对于profile_tier_level()语法结构而等于0时(无论profileTierPresentFlag是否等于1),profile_tier_level()语法结构中不存在general_constraint_info()语法结构。

ii.GCI字段的语义被更改,使得GCI字段的语义仅在它们存在时适用(即,当gci_present_flag等于1时)。换句话说,当gci_present_flag等于0时,除诸如被规定为档次定义的一部分的约束的其他规定的约束之外,通用约束不适用。

iii.可替代地,此外,新语法元素可以例如根据profileTierPresentFlag的值而被有条件信令通知。

3)为了解决第一个问题,关于PTL语法结构中的GCI字段的条件信令,公开了以下方法中的一种或多种方法,例如,如第一实施例中的方法:

a.将general_constraint_info()语法结构和/或其他GCI相关语法元素(例如,GCI标志的存在)移动到刚好在PTL语法结构中的字节对齐检查条件之前(例如,刚好在while(!byte_aligned())循环之前),而不是紧接在general_tier_flag之后。

i.在一个示例中,将profile_tier_level()语法结构中的general_constraint_info()语法结构移动到紧接ptl_sublayer_level_present_flag[i]语法元素之后(而不是紧接general_tier_flag之后)。

b.在profile_tier_level()语法结构中添加新语法元素(例如,1位标志,被命名为gci_present_flag),以调节general_constraint_info()语法结构的存在。

i.当gci_present_flag对于profileTierPresentFlag等于1的profile_tier_level()语法结构而等于1时,profile_tier_level()语法结构中存在general_constraint_info()语法结构。当gci_present_flag对于profile_tier_level()语法结构而等于1时(无论profileTierPresentFlag是否等于1),profile_tier_level()语法结构中不存在general_constraint_info()语法结构。

ii.GCI字段的语义被更改,使得GCI字段的语义仅在它们存在时适用(即,当gci_present_flag等于1时)。换句话说,当gci_present_flag等于0时,除诸如被规定为档次定义的一部分的约束的其他规定的约束之外,通用约束不适用。

iii.可替代地,此外,新语法元素可以例如根据profileTierPresentFlag的值而被有条件信令通知。

c.从general_constraint_info()语法结构中移除字节对齐语法(即gci_alignment_zero_bit字段及其语法条件)。

d.保留约束位数和/或每个保留约束位的值可以被信令通知,而不是信令通知总保留约束字节数和保留约束字节。

i.在一个示例中,将GCI语法元素gci_num_reserved_bytes更改为gci_num_reserved_bits。

ii.可替代地,此外,更改后的GCI语法元素可以用u(11)而不是u(8)来编解码。

iii.可替代地,此外,将GCI语法元素gci_reserved_byte[i]更改为gci_reserved_bit[i],其用u(1)而不是u(8)编解码。

4)为了解决第一个问题,关于PTL语法结构中的GCI字段的条件信令,公开了以下方法中的一种或多种方法,例如,如第二实施例中的方法:

a.将general_constraint_info()语法结构和/或其他GCI相关语法元素(例如,GCI标志的存在)移动到刚好在PTL语法结构中的字节对齐检查条件之前(例如,刚好在while(!byte_aligned())循环之前),而不是紧接在general_tier_flag之后。

i.在一个示例中,将profile_tier_level()语法结构中的general_constraint_info()语法结构移动到紧接ptl_sublayer_level_present_flag[i]语法元素之后。

b.在profile_tier_level()语法结构中添加新语法元素(例如,1位标志,被命名为gci_present_flag),以调节general_constraint_info()语法结构的存在。

i.当gci_present_flag对于profileTierPresentFlag等于1的profile_tier_level()语法结构而等于1时,profile_tier_level()语法结构中存在general_constraint_info()语法结构。当gci_present_flag对于profile_tier_level()语法结构而等于1时(无论profileTierPresentFlag是否等于1),profile_tier_level()语法结构中不存在general_constraint_info()语法结构。

ii.GCI字段的语义被更改,使得GCI字段的语义仅在它们存在时适用(即,当gci_present_flag等于1时)。换句话说,当gci_present_flag等于0时,除诸如被规定为档次定义的一部分的约束的其他规定的约束之外,通用约束不适用。

iii.可替代地,此外,新语法元素可以例如根据profileTierPresentFlag的值而被有条件信令通知。

5)为了解决第一个问题,关于PTL语法结构中的GCI字段的条件信令,公开了以下方法中的一种或多种方法,例如,如第五实施例中的方法:

a.将general_constraint_info()语法结构和/或其他GCI相关语法元素(例如,GCI标志的存在)移动到general_level_idc之后,而不是在general_level_idc之前。

i.将profile_tier_level()语法结构中的general_constraint_info()语法结构移动到紧接general_level_idc语法元素之后。

b.将字节对齐语法(即,gci_alignment_zero_bit字段及其语法条件)移动到general_constraint_info()语法结构的末尾,即,在GCI保留字段之后,而不是在GCI保留字段之前。

c.保留约束位数和/或每个保留约束位的值可以被信令通知,而不是信令通知总保留约束字节数和保留约束字节。

i.在一个示例中,将GCI语法元素gci_num_reserved_bytes更改为gci_num_reserved_bits。

ii.可替代地,此外,更改后的GCI语法元素可以用u(11)而不是u(8)来编解码。

iii.可替代地,此外,将GCI语法元素gci_reserved_byte[i]更改为gci_reserved_bit[i],其用u(1)而不是u(8)编解码。

d.在general_constraint_info()语法结构的开头,添加新语法元素(例如,1位标志,被命名为gci_present_flag)。

i.当gci_present_flag等于0时,除了字节对齐字段,general_constraint_info()语法结构中的所有字段被跳过。所有这些被跳过的字段的语义被更改,使得语义仅在它们存在时适用(即,当gci_present_flag等于1时)。换句话说,当gci_present_flag等于0时,除诸如被规定为档次定义的一部分的约束的其他规定的约束之外,通用约束不适用。

6)为了解决第一个问题,关于PTL语法结构中的GCI字段的条件信令通知,公开了以下方法中的一种或多种方法,例如,如第六实施例中的方法:

a.将general_constraint_info()语法结构和/或其他GCI相关语法元素(例如,GCI标志的存在)移动到general_level_idc之后,而不是在general_level_idc之前。

i.在一个示例中,将profile_tier_level()语法结构中的general_constraint_info()语法结构移动到紧接general_level_idc语法元素之后。

b.在profile_tier_level()语法结构中添加新语法元素(例如,1位标志,被命名为gci_present_flag),以调节general_constraint_info()语法结构的存在。

i.当gci_present_flag对于profileTierPresentFlag等于1的profile_tier_level()语法结构而等于1时,profile_tier_level()语法结构中存在general_constraint_info()语法结构。当gci_present_flag对于profile_tier_level()语法结构而等于1时(无论profileTierPresentFlag是否等于1),profile_tier_level()语法结构中不存在general_constraint_info()语法结构。

ii.所有GCI语法结构的语义被更改,使得GCI字段的语义仅在它们存在时适用(即,当gci_present_flag等于1时)。换句话说,当gci_present_flag等于0时,除诸如被规定为档次定义的一部分的约束的其他规定的约束之外,通用约束不适用。

iii.要保持ptl_num_sub_profiles的起始位置(当存在时)为字节对齐的位置,紧接general_constraint_info()语法结构之后添加字节对齐检查,并且如果未字节对齐,则添加ptl_alignment_zero_bit,直到其字节对齐。

c.从general_constraint_info()语法结构中移除字节对齐语法(即gci_alignment_zero_bit字段及其语法条件)。

d.保留约束位数和/或每个保留约束位的值可以被信令通知,而不是信令通知总保留约束字节数和保留约束字节。

i.在一个示例中,将GCI语法元素gci_num_reserved_bytes更改为gci_num_reserved_bits。

ii.可替代地,此外,更改后的语法元素可以用u(11)而不是u(8)来编解码。

iii.可替代地,此外,将GCI语法元素gci_reserved_byte[i]更改为gci_reserved_bit[i],其用u(1)而不是u(8)编解码。

7)为了解决第一个问题,关于PTL语法结构中的GCI字段的条件信令通知,公开了以下方法中的一种或多种方法,例如,如第五实施例中的方法:

a.将general_constraint_info()语法结构和/或其他GCI相关语法元素(例如,GCI标志的存在)移动到general_level_idc之后,而不是在general_level_idc之前。

i.在一个示例中,将profile_tier_level()语法结构中的general_constraint_info()语法结构移动到紧接general_level_idc语法元素之后。

b.在profile_tier_level()语法结构中添加新语法元素(例如,1位标志,被命名为gci_present_flag),以调节general_constraint_info()语法结构的存在。

i.当gci_present_flag对于profileTierPresentFlag等于1的profile_tier_level()语法结构而等于1时,profile_tier_level()语法结构中存在general_constraint_info()语法结构。当gci_present_flag对于profile_tier_level()语法结构而等于1时(无论profileTierPresentFlag是否等于1),profile_tier_level()语法结构中不存在general_constraint_info()语法结构。

ii.所有GCI语法结构的语义被更改,使得GCI字段的语义仅在它们存在时适用(即,当gci_present_flag等于1时)。换句话说,当gci_present_flag等于0时,除诸如被规定为档次定义的一部分的约束的其他规定的约束之外,通用约束不适用。

iii.要保持ptl_num_sub_profiles的起始位置(当存在时)为字节对齐的位置,紧接general_constraint_info()语法结构之后添加字节对齐检查,并且如果未字节对齐,则添加ptl_alignment_zero_bit,直到其字节对齐。

8)将max_bitdepth_minus8_constraint_idc的语义更改为如下:max_bitdepth_minus8_constraint_idc小于8规定sps_bitdepth_minus8应在0到max_bitdepth_minus8_constraint_idc(包括0和max_bitdepth_minus8_constraint_idc)的范围内。max_bitdepth_minus8_constraint_idc等于或大于8不施加约束。

a.可替代地,上述“不施加约束”被更改为“不施加这种约束”。

9)将max_chroma_format_constraint_idc的语义更改为如下:max_chroma_format_constraint_idc小于2规定sps_chroma_format_idc应在0到max_chroma_format_constraint_idc(包括0和max_chroma_format_constraint_idc)的范围内。max_chroma_format_constraint_idc等于或大于2不施加约束。

a.可替代地,上述“不施加约束”被更改为“不施加这种约束”。

-6.实施例

以下是上文在本章节中概述的本发明方面中的一些方面的一些示例实施例,其可应用于VVC规范。更改后的文本基于JVET-S0152-v3中最新的VVC文本。大多数已添加或修改的相关部分均用粗体、下划线和斜体表示,例如“使用A

6.1.实施例1

该实施例用于第1项及其子项。

语法结构profile_tier_level()更改如下:

并且语义更改如下:

语法结构general_constraint_info()更改如下:

并且语义更改如下:

...

6.2.实施例2

该实施例用于第2项及其子项。

语法结构profile_tier_level()更改如下:

并且语义更改如下:

6.3.实施例3

该实施例用于第3项及其子项。

语法结构profile_tier_level()更改如下:

并且语义更改如下:

可替代地,此外,在一个示例中,语法结构general_constraint_info()被更改如下:

并且语义更改如下:

...

gci_reserved_bityte[i]可以具有任何值。其存在和值不影响解码器与本规范此版本中规定的档次的一致性。符合本规范此版本的解码器应忽略所有

6.4.实施例4

该实施例用于第4项及其子项。

语法结构profile_tier_level()更改如下:

并且语义更改如下:

6.5.实施例5

该实施例用于第5项及其子项。

语法结构profile_tier_level()更改如下:

语法结构general_constraint_info()更改如下:

并且语义更改如下:

6.6.实施例6

该实施例用于第6项及其子项。

语法结构profile_tier_level()更改如下:

并且语义更改如下:

语法结构general_constraint_info()更改如下:

并且语义更改如下:

...

6.7.实施例7

该实施例用于第7项及其子项。

语法结构profile_tier_level()更改如下:

并且语义更改如下:

图1是示出示例视频处理系统1000的框图,其中,可以实现本文公开的各种技术。各种实现可以包括系统1000的部分或全部组件。系统1000可以包括用于接收视频内容的输入1002。视频内容可以以原始或未压缩格式(例如,8位或10位多分量像素值)接收,或者可以以压缩或编码格式接收。输入1002可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口(例如,以太网、无源光学网络(PON)等),以及无线接口(例如,Wi-Fi或蜂窝接口)。

系统1000可以包括编解码组件1004,其可以实现本文档中描述的各种编解码或编码方法。编解码组件1004可以将视频的平均比特率从输入1002降低到编解码组件1004的输出,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码组件1004的输出可以被存储,或者经由由组件1006表示的连接的通信来传输。在输入1002处接收的视频的存储的或传送的比特流(或编解码的)表示可以由组件1008用于生成发送到显示接口1010的像素值或可显示视频。根据比特流生成用户可观看视频的过程有时被称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但将理解的是,在编码器处使用编解码工具或操作,并且反转编解码结果的对应的解码工具或操作将由解码器执行。

外围总线接口或显示接口的示例可能包括通用串行总线(USB)或高清多媒体接口(HDMI)或Displayport等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以体现在各种电子设备中,例如移动电话、膝上型计算机、智能手机或能够执行数字数据处理和/或视频显示的其它设备。

图2是视频处理装置2000的框图。装置2000可以用于实现本文所描述的一种或多种方法。装置2000可以体现在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。装置2000可以包括一个或多个处理器2002、一个或多个存储器2004和视频处理硬件2006。(多个)处理器2002可以被配置为实现本文档中描述的一个或多个方法(例如,在图6至图9中)。一个或多个存储器2004可以用于存储用于实现本文所描述的方法和技术的数据和代码。视频处理硬件2006可以用于在硬件电路中实现本文档中描述的一些技术。在一些实施例中,硬件2006可以部分或全部位于一个或多个处理器2002中,例如图形处理器。

图3是示出可以利用本公开技术的示例视频编解码系统100的框图。

如图3所示,视频编解码系统100可以包括源设备110和目的地设备120。源设备110生成可以被称为视频编码设备的编码视频数据。目的地设备120可以对源设备110生成的编码视频数据进行解码,源设备110可以被称为视频解码设备。

源设备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)标准、通用视频编解码(VVM)标准和其它当前和/或进一步的标准)操作。

图4是示出视频编码器200的示例的框图,视频编码器200可以是图3所示的系统100中的视频编码器114。

视频编码器200可以被配置为执行本公开的任何或所有技术。在图4的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。

视频编码器200的功能组件可以包括分割单元201、可以包括模式选择单元203的预测单元202、运动估计单元204、运动补偿单元205和帧内预测单元206、残差生成单元207、变换单元208、量化单元209、反量化单元210、反变换单元211,重建单元212、缓冲器213和熵编码单元214。

在其它示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括帧内块复制(IBC)单元。IBC单元可以在IBC模式下执行预测,其中至少一个参考图片是当前视频块所在的图片。

此外,一些组件(例如运动估计单元204和运动补偿单元205)可以是高度集合的,但是出于解释的目的,在图4的示例中分别表示。

分割单元201可以将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。

模式选择单元203可以例如基于错误结果选择编解码模式中的一种(帧内或帧间),并将得到的帧内或帧间编解码块提供给残差生成单元207以生成残差块数据,以及提供给重建单元212以重建编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内预测和帧间预测(CIIP)模式的组合,其中预测基于帧间预测信号和帧内预测信号。模式选择单元203还可以在帧间预测的情况下为块选择运动向量的分辨率(例如,子像素精度或整数像素精度)。

为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较来生成当前视频块的运动信息。运动补偿单元205可以基于来自缓冲器213的、与当前视频块相关联的图片以外的图片的运动信息和解码样点来确定当前视频块的预测视频块。

例如,运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作,这取决于当前视频块是在I条带、P条带还是B条带中。

在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。然后,运动估计单元204可以生成参考索引,该索引指示包含参考视频块的列表0或列表1中的参考图片,以及指示当前视频块和参考视频块之间的空域位移的运动向量。运动估计单元204可以输出参考索引、预测方向指示符和运动向量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。

在其它示例中,运动估计单元204可以对当前视频块执行双向预测,运动估计单元204可以在列表0中的参考图片中搜索当前视频块的参考视频块,还可以在列表1中的参考图片中搜索当前视频块的另一个参考视频块。然后,运动估计单元204可以生成指示包含参考视频块的列表0和列表1中的参考图片的参考索引,以及指示参考视频块和当前视频块之间的空域位移的运动向量。运动估计单元204可以输出当前视频块的参考索引和运动向量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。

在一些示例中,运动估计单元204可以输出用于解码器的解码处理的完整运动信息集合。

在一些示例中,运动估计单元204可能不输出当前视频的完整运动信息集合。相反,运动估计单元204可以参考另一个视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与邻近视频块的运动信息足够相似。

在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中,指示向视频解码器300指示当前视频块具有与另一个视频块相同的运动信息的值。

在另一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中识别另一个视频块和运动向量差(MVD)。运动向量差指示当前视频块的运动向量与所指示视频块的运动向量之间的差。视频解码器300可以使用所指示视频块的运动向量和运动向量差来确定当前视频块的运动向量。

如上所讨论的,视频编码器200可以预测地信令通知运动向量。可以由视频编码器200实现的预测信令技术的两个示例包括高级运动矢量预测(AMVP)和merge模式信令。

帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于同一图片中的其它视频块的解码样点生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。

残差生成单元207可以通过从当前视频块减去(例如,用减号表示)当前视频块的预测视频块来生成当前视频块的残差数据。当前视频块的残余数据可以包括对应于当前视频块中的样点的不同样点分量的残余视频块。

在其它示例中,对于当前视频块,可能没有当前视频块的残差数据,例如在跳过模式下,残差生成单元207可能不执行减法操作。

变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块,来为当前视频块生成一个或多个变换系数视频块。

在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(QP)值,来对与当前视频块相关联的变换系数视频块进行量化。

反量化单元210和反变换单元211可以分别对变换系数视频块应用反量化和反变换,以根据变换系数视频块重建残差视频块。重建单元212可以将重建的残差视频块添加到来自预测单元202生成的一个或多个预测视频块的对应样点中,以产生与当前块相关联的重建视频块,以存储在缓冲器213中。

在重建单元212重建视频块之后,可以执行环路滤波操作以减少视频块中的视频块伪像。

熵编码单元214可以从视频编码器200的其它功能组件接收数据。当熵编码单元214接收到数据时,熵编码单元214可以执行一个或多个熵编码操作以生成熵编码数据,并输出包括熵编码数据的比特流。

图5是示出视频解码器300的示例的框图,视频解码器300可以是图3所示的系统100中的视频解码器114。

视频解码器300可以被配置为执行本公开的任何或所有技术。在图5的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。

在图5的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、反量化单元304、反变换单元305、重建单元306和缓冲器307。在一些示例中,视频解码器300可以执行通常与关于视频编码器200描述的编码遍次(图4)相反的解码遍次。

熵解码单元301可以取回编码比特流。编码比特流可以包括熵编码的视频数据(例如,视频数据的编码块)。熵解码单元301可以对熵编码的视频数据进行解码,并且运动补偿单元302可以根据熵解码的视频数据确定运动信息,该运动信息包括运动向量、运动向量精度、参考图片列表索引以及其它运动信息。例如,运动补偿单元302可以通过执行AMVP和merge模式来确定这种信息。

运动补偿单元302可以产生运动补偿块,可能基于插值滤波器执行插值。语法元素中可以包括用于以子像素精度使用的插值滤波器的标识符。

运动补偿单元302可以使用视频编码器200在视频块编码期间使用的插值滤波器来计算参考块的子整数像素的插值。运动补偿单元302可以根据接收到的语法信息确定视频编码器200使用的插值滤波器,并使用插值滤波器来产生预测块。

运动补偿单元302可以使用一些语法信息来确定用于对编码视频序列的帧和/或条带进行编码的块的尺寸,描述如何对编码视频序列的图片的每个宏块进行分割的分割信息,指示如何对每个分区进行编码的模式,用于每个帧间编码块的一个或多个参考帧(和参考帧列表),以及用于对编码视频序列进行解码的其它信息。

帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来根据空域上邻近的块形成预测块。反量化单元303对比特流中提供并由熵解码单元301解码的量化视频块系数进行反量化(即,去量化)。反变换单元303应用反变换。

重建单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的对应预测块相加,以形成解码块。如果需要,还可以应用去方块滤波器来对解码块进行滤波,以便移除块性伪像。解码视频块然后被存储在缓冲器307中,缓冲器307为后续运动补偿/帧内预测提供参考块,并且还产生解码视频以在显示设备上呈现。

图6至图15示出了可以在例如图1至5所示的实施例中实现上述技术方案的示例方法。

图6示出了视频处理的示例方法600的流程图。该方法600包括在操作610处根据规则执行包括一个或多个图片的视频和该视频的比特流之间的转换,该规则规定profile-tier-level语法结构中的语法结构在语法元素之后,该语法结构包括与用于比特流的通用约束信息(GCI)相关的信息,并且该语法元素指示与profile-tier-level语法结构相关联的输出层集所符合的级别。

图7示出了视频处理的示例方法700的流程图。该方法700包括在操作710根据规则执行包括一个或多个图片的视频和该视频的比特流之间的转换,该规则规定通用约束信息(GCI)语法结构中的字节对齐语法在一个或多个GCI保留字段之后,该字节对齐语法指示比特流中的当前位置是否距比特流中的第一位的位置8位的整数倍,并且该GCI语法结构包括GCI相关语法元素。

图8示出了视频处理的示例方法800的流程图。该方法800包括在操作810处根据规则执行包括一个或多个图片的视频和该视频的比特流之间的转换,该规则规定profile-tier-level语法结构中的语法结构在级别信息的指示之后,该语法结构包括与通用约束信息(GCI)相关的信息,并且该级别信息的指示规定了互操作性指示符。

图9示出了视频处理的示例方法900的流程图。该方法900包括在操作910处根据规则执行包括一个或多个图片的视频和该视频的比特流之间的转换,该规则规定profile-tier-level语法结构中的语法元素指示通用约束信息(GCI)语法结构是否包括在profile-tier-level语法结构中。

图10示出了视频处理的示例方法1000的流程图。该方法1000包括在操作1010处根据规则执行包括一个或多个图片的视频和视频的比特流之间的转换,该规则规定字节对齐语法被排除在profile-tier-level语法结构中存在的通用约束信息(GCI)语法结构之外,该字节对齐语法指示比特流中的当前位置是否距比特流中的第一位的位置8位的整数倍,并且该GCI语法结构包括GCI相关语法元素。

图11示出了视频处理的示例方法1100的流程图。该方法1100包括在操作1110处根据规则执行包括一个或多个图片的视频和该视频的比特流之间的转换,该规则规定通用约束信息(GCI)语法结构紧接在profile-tier-level语法结构中的字节对齐检查条件之前,该GCI语法包括GCI相关语法元素,并且该字节对齐检查条件检查比特流中的当前位置是否距该比特流中的第一位的位置8位的整数倍。

图12示出了视频处理的示例方法1200的流程图。该方法1200包括在操作1210处根据规则执行包括一个或多个图片的视频和该视频的比特流之间的转换,该规则规定与通用约束信息语法元素相关联的多个保留约束位的数量包括在比特流中。

图13示出了视频处理的示例方法1300的流程图。该方法1300包括在操作1310处根据规则执行包括一个或多个图片的视频和该视频的比特流之间的转换,该规则规定通用约束信息(GCI)语法元素包括在GCI语法结构的开头,该GCI语法元素指示一个或多个GCI语法元素是否包括在该GCI语法结构中。

图14示出了视频处理的示例方法1400的流程图。该方法1400包括在操作1410处根据规则执行包括一个或多个图片的视频和该视频的比特流之间的转换,该规则规定对语法元素的约束,该语法元素对应于用于表示该比特流中的视频的位深度。

图15示出了视频处理的示例方法1500的流程图。该方法1500包括在操作1510处根据规则执行包括一个或多个图片的视频和该视频的比特流之间的转换,该规则规定对语法元素的约束,该语法元素对应于视频的色度格式。

以下解决方案显示了在前一章节(例如,第1至9项)中讨论的技术的示例实施例。

接下来提供一些实施例优选的解决方案的列表。

A1.一种视频处理的方法,其包括根据规则执行包括一个或多个图片的视频和所述视频的比特流之间的转换,其中,所述规则规定profile-tier-level语法结构中的语法结构在语法元素之后,其中,所述语法结构包括与用于所述比特流的通用约束信息(GCI)相关的信息,并且其中,所述语法元素指示与所述profile-tier-level语法结构相关联的输出层集所符合的级别。

A2.根据解决方案A1所述的方法,其中,与所述GCI相关的所述信息指示是否指示了一个或多个GCI标志。

A3.根据解决方案A1或A2所述的方法,其中,所述语法结构紧接在所述语法元素之后。

A4.根据解决方案A1至A3中任一项所述的方法,其中,所述语法结构是general_constraint_info()语法结构,并且所述语法元素是general_level_idc语法元素。

A5.一种视频处理的方法,其包括根据规则执行包括一个或多个图片的视频和所述视频的比特流之间的转换,其中,所述规则规定通用约束信息(GCI)语法结构中的字节对齐语法在一个或多个GCI保留字段之后,其中,所述字节对齐语法指示所述比特流中的当前位置是否距所述比特流中的第一位的位置8比特的整数倍,并且其中,所述GCI语法结构包括GCI相关语法元素。

A6.根据解决方案A5所述的方法,其中,所述字节对齐语法位于所述GCI语法结构的末尾。

A7.根据解决方案A5或A6所述的方法,其中,所述字节对齐语法包括gci_alignment_zero_bit字段及其语法条件,并且所述GCI语法结构是general_constraint_info()语法结构。

A8.一种视频处理的方法,其包括根据规则执行包括一个或多个图片的视频和所述视频的比特流之间的转换,其中,所述规则规定profile-tier-level语法结构中的语法结构在级别信息的指示之后,其中,所述语法结构包括与通用约束信息(GCI)相关的信息,并且其中,所述级别信息的指示规定了互操作性指示符。

A9.根据解决方案A8所述的方法,其中,所述语法结构是general_constraint_info()语法结构,并且所述指示是general_sub_profile_idc[i]语法元素。

A10.一种视频处理的方法,其包括根据规则执行包括一个或多个图片的视频和所述视频的比特流之间的转换,其中,所述规则规定profile-tier-level语法结构中的语法元素指示通用约束信息(GCI)语法结构是否包括在所述profile-tier-level语法结构中。

A11.根据解决方案A10所述的方法,其中,所述语法元素是第一标志。

A12.根据解决方案A11的方法,其中,所述第一标志等于1以及第二标志等于1指示所述profile-tier-level语法结构中存在GCI语法结构。

A13.根据解决方案A12所述的方法,其中,所述第二标志是profileTierPresentFlag。

A14.根据解决方案A11的方法,其中,所述第一标志等于0指示所述profile-tier-level语法结构中不存在GCI语法结构。

A15.根据解决方案A11的方法,其中,所述GCI语法结构包括一个或多个GCI字段,并且其中,所述一个或多个GCI字段的语义仅在所述第一标志等于1时适用。

A16.根据解决方案A11的方法,其中,在所述profile-tier-level语法结构中包括所述第一标志是基于第二标志的值。

A17.根据解决方案A16所述的方法,其中,所述第二标志是profileTierPresentFlag。

A18.根据解决方案A11至A17所述的方法,其中,所述第一标志是gci_present_flag。

A19.一种视频处理的方法,其包括根据规则执行包括一个或多个图片的视频和所述视频的比特流之间的转换,其中,所述规则规定字节对齐语法被排除在所述profile-tier-level语法结构中存在的通用约束信息(GCI)语法结构之外,其中,所述字节对齐语法指示所述比特流中的当前位置是否距所述比特流中的第一位的位置8位的整数倍,并且其中,所述GCI语法结构包括GCI相关语法元素。

A20.根据解决方案A19所述的方法,其中,所述字节对齐语法包括gci_alignment_zero_bit字段及其语法条件,并且所述GCI语法结构是general_constraint_info()语法结构。

A21.根据解决方案A19所述的方法,其中,所述规则规定与GCI相关语法元素相关联的多个保留约束位的数量包括在所述比特流中。

A22.根据解决方案A21所述的方法,其中,所述规则还规定所述多个保留约束位中的每个保留约束位的值包括在所述比特流中。

A23.根据解决方案A22所述的方法,其中,所述GCI语法元素是gci_num_reserved_bits。

A24.根据解决方案A22所述的方法,其中,所述语法元素被编解码为无符号11位整数。

A25.根据解决方案A22所述的方法,其中,所述多个保留约束位中的每个保留约束位的值被编解码为无符号1位整数。

A26.一种视频处理的方法,其包括根据规则执行包括一个或多个图片的视频和所述视频的比特流之间的转换,其中,所述规则规定通用约束信息(GCI)语法结构紧接在profile-tier-level语法结构中的字节对齐检查条件之前,其中,所述GCI语法包括GCI相关语法元素,并且其中,所述字节对齐检查条件检查所述比特流中的当前位置是否距所述比特流中的第一位的位置8位的整数倍。

A27.根据解决方案A26所述的方法,其中,所述语法结构是general_constraint_info()语法结构,并且其中,所述字节对齐检查条件是基于byte_aligned()语法元素。

A28.根据解决方案A1至A27中任一项所述的方法,其中,所述转换包括从所述比特流解码所述视频。

A29.根据解决方案A1至A27中任一项所述的方法,其中,所述转换包括将所述视频编码为所述比特流。

A30.一种将表示视频的比特流存储到计算机可读记录介质的方法,其包括根据解决方案A1至A27中任一项或多项所描述的方法从所述视频生成所述比特流;以及将所述比特流存储在所述计算机可读记录介质中。

A31.一种视频处理装置,其包括处理器,所述处理器被配置为实现解决方案A1至A30中任一项或多项所述的方法。

A32.一种计算机可读介质,其上存储有指令,所述指令在执行时使处理器实现解决方案A1至A30中任一项或多项所述的方法。

A33.一种计算机可读介质,其存储根据解决方案A1至A30中任一项或多项所生成的所述比特流。

A34.一种用于存储比特流的视频处理装置,其中,所述视频处理装置被配置为实现解决方案A1至A30中任一项或多项所述的方法。

接下来提供一些实施例优选的解决方案的另一列表。

B1.一种视频处理的方法,其包括根据规则执行包括一个或多个图片的视频和所述视频的比特流之间的转换,其中,所述规则规定与通用约束信息(GCI)语法元素相关联的多个保留约束位的数量包括在所述比特流中。

B2.根据解决方案B1所述的方法,其中,所述规则还规定所述多个保留约束位中的每个保留约束位的值包括在所述比特流中。

B3.根据解决方案B2所述的方法,其中,所述语法元素被编解码为无符号11位整数。

B4.根据解决方案B2所述的方法,其中,所述多个保留约束位中的每个保留约束位的值被编解码为无符号1位整数。

B5.根据解决方案B2所述的方法,其中,所述GCI语法元素是gci_num_reserved_bits。

B6.一种视频处理的方法,其包括根据规则执行包括一个或多个图片的视频和所述视频的比特流之间的转换,其中,所述规则规定通用约束信息(GCI)语法元素包括在GCI语法结构的开头,其中,所述GCI语法元素指示一个或多个GCI语法元素是否包括在所述GCI语法结构中。

B7.根据解决方案B6所述的方法,其中,所述GCI语法元素等于0指示所述一个或多个GCI语法元素不包括在所述GCI语法结构中。

B8.根据解决方案B7所述的方法,其中,所述一个或多个GCI语法元素不包括字节对齐字段。

B9.根据解决方案B7所述的方法,其中,所述GCI语法结构不施加约束。

B10.根据解决方案B6所述的方法,其中,第二语法元素位于所述GCI语法结构之后,其中,所述第二语法元素规定语法元素的数量,每个语法元素规定互操作性指示符。

B11.根据解决方案B10所述的方法,其中,所述第二语法元素紧接在所述GCI语法结构之后。

B12.根据解决方案B10或B11所述的方法,其中,响应于所述第二语法元素存在于所述比特流中而添加了所述第二语法元素的字节对齐检查。

B13.根据解决方案B12所述的方法,其中,响应于所述第二语法元素未被字节对齐而添加了一个或多个对齐位,并且其中,添加所述一个或多个对齐位导致所述第二语法元素被字节对齐。

B14.根据解决方案B13所述的方法,其中,所述一个或多个对齐位包括一个或多个ptl_alignment_zero_bit。

B15.根据解决方案B10至B14中任一项所述的方法,其中,所述第二语法元素是ptl_num_sub_profiles。

B16.根据解决方案B6所述的方法,其中,所述GCI语法元素等于1指示所述一个或多个GCI语法元素包括在所述GCI语法结构中。

B17.根据解决方案B6至B16中任一项所述的方法,其中,所述第一GCI语法元素是gci_present_flag,并且所述GCI语法结构是general_constraint_info()语法结构。

B18.一种视频处理的方法,其包括根据规则执行包括一个或多个图片的视频和所述视频的比特流之间的转换,其中,所述规则规定对语法元素的约束,其中,所述语法元素对应于用于表示所述比特流中的所述视频的位深度。

B19.根据解决方案B18所述的方法,其中,所述约束规定所述语法元素是小于最大值的非负整数,所述最大值等于所述语法元素的值加一的值。

B20.根据解决方案B19所述的方法,其中,所述语法元素小于8施加了所述约束。

B21.根据解决方案B19所述的方法,其中,所述语法元素大于等于8不施加所述约束。

B22.根据解决方案B18至B21中任一项所述的方法,其中,所述第二语法元素是max_bitdepth_minus8_constraint_idc。

B23.一种视频处理的方法,其包括根据规则执行包括一个或多个图片的视频和所述视频的比特流之间的转换,其中,所述规则规定对语法元素的约束,其中,所述语法元素对应于所述视频的色度格式。

B24.根据解决方案B23所述的方法,其中,所述约束规定所述语法元素是小于最大值的非负整数,所述最大值等于所述语法元素的值加一的值。

B25.根据解决方案B24所述的方法,其中,所述语法元素小于2施加了所述约束。

B26.根据解决方案B24所述的方法,其中,所述语法元素等于2不施加所述约束。

B27.根据解决方案B23至B26中任一项所述的方法,其中,所述第二语法元素是max_chroma_format_constraint_idc。

B28.根据解决方案B1至B27中任一项所述的方法,其中,所述转换包括从所述比特流解码所述视频。

B29.根据解决方案B1至B27中任一项所述的方法,其中,所述转换包括将所述视频编码为所述比特流。

B30.一种将表示视频的比特流存储到计算机可读记录介质的方法,其包括根据解决方案B1至B27中任一项或多项所描述的方法从所述视频生成所述比特流;以及将所述比特流存储在所述计算机可读记录介质中。

B31.一种视频处理装置,其包括处理器,所述处理器被配置为实现解决方案B1至B30中任一项或多项所述的方法。

B32.一种计算机可读介质,其上存储有指令,所述指令在执行时使处理器实现解决方案B1至B30中任一项或多项所述的方法。

B33.一种计算机可读介质,其存储根据解决方案B1至B30中任一项或多项所生成的所述比特流。

B34.一种用于存储比特流的视频处理装置,其中,所述视频处理装置被配置为实现解决方案B1至B30中任一项或多项所述的方法。

接下来提供一些实施例优选的解决方案的又一列表。

P1.一种视频处理方法,其包括执行视频和所述视频的编解码表示之间的转换,其中,所述编解码表示符合格式规则,其中,所述格式规则规定通用约束信息语法(GCI)字段被包括在所述编解码表示中的位置和方式,或者所述GCI字段被包括在所述编解码表示中的条件。

P2.根据解决方案P1所述的方法,其中,所述规则规定所述GCI字段包括在所述视频的级别信息的指示之后。

P3.根据解决方案P1至P2中任一项所述的方法,其中,所述规则规定在指示所述GCI字段是否包括在所述编解码表示中的字段之后包括所述GCI字段。

P4.根据解决方案P1所述的方法,其中,所述规则规定所述GCI字段包括在profile-tier-level语法结构中的层次指示标志之后和字节对齐语法元素之前。

P5.根据解决方案P1至P4中任一项所述的方法,其中,所述规则还规定所述编码表示包括约束位数或每个保留约束的值,而不是信令通知总保留约束字节数。

P6.一种视频处理方法,其包括执行视频和所述视频的编解码表示之间的转换,其中,所述编解码表示符合格式规则,其中,所述格式规则规定对语法元素的约束,其中,所述语法元素对应于用于表示所述编解码表示中所述视频的位深度或所述视频的色度格式的约束。

P7.根据解决方案P6所述的方法,其中,所述格式规则规定针对所述字段的小于8的值的约束。

P8.根据解决方案P6的方法,其中,所述格式规则规定所述约束不对语法元素的值2施加。

P9.根据解决方案P1至P8中任一项所述的方法,其中,所述执行所述转换包括编码所述视频以生成所述编解码表示。

P10.根据解决方案P1至P8中任一项所述的方法,其中,所述执行所述转换包括解析并解码所述编解码表示以生成所述视频。

P11.一种视频解码装置,包括处理器,所述处理器被配置为实现解决方案P1至P10中一项或多项所述的方法。

P12.一种视频编码装置,包括处理器,所述处理器被配置为实现解决方案P1至P10中一项或多项所述的方法。

P13.一种其上存储有计算机代码的计算机程序产品,所述代码由处理器执行时使所述处理器实现解决方案P1至P10中任一项所述的方法。

在本文档中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,在从视频的像素表示到对应的比特流的转换期间,可以应用视频压缩算法,反之亦然。如语法所定义,当前视频块的比特流表示(或简称为比特流)可例如对应于并置或散布在比特流内不同位置的位。例如,可以根据经变换和编解码的误差残余值,并且还使用比特流中的标头和其他字段中的位,对宏块进行编码。

本文档中描述的所公开的解决方案和其它解决方案、示例、实施例、模块和功能操作可以在以下各项中实现:数字电子电路,或计算机软件、固件或硬件,包括本文档中公开的结构及其结构等同物,或上述各项的一个或多个的组合。所公开的实施例和其它实施例可以被实现为一个或多个计算机程序产品,即,编码在计算机可读介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制其操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质的组合物,或者一个或多个它们的组合。术语“数据处理装置”包含用于处理数据的所有装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或其中一个或多个的组合的代码。传播信号是人为生成的信号,例如,机器生成的电气、光学或电磁信号,其被生成以对信息进行编码以传输到合适的接收器装置。

计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且其也可以以任何形式部署,包括作为独立程序或模块、组件、子例程或其它适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件相对应。程序可以被存储在保存其它程序或数据的文件部分(例如,标记语言文档中存储的一个或多个脚本)、专用于相关程序的单个文件或多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序可以被部署以在一台计算机上执行,或在位于一个站点或分布在多个站点并通过通信网络互连的多台计算机上执行。

本文档中描述的过程和逻辑流可以由一个或多个可编程处理器执行,这些计算机程序执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流还可以由专用逻辑电路执行,并且装置还可以实现为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。

例如,适合执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者中接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或被操作地耦合以从一个或多个用于存储数据的大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据或向其传输数据。然而,计算机不需要这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪速存储器设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM光盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。

尽管本专利文档包含许多细节,但这些细节不应当被解释为对任何主题或要求保护的内容的范围的限制,而应当被解释为对特定的技术的特定的实施例所特有的特征的描述。本专利文档中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反地,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地或在任何合适的子组合中实现。此外,尽管上述特征可以被描述为以特定组合起作用,甚至最初被声称为这样,但在一些情况下,可以从所要求保护的组合中删除一个或多个特征,并且所要求保护的组合可以指向子组合或子组合的变体。

类似地,尽管在附图中以特定的顺序描述这些操作,但这不应当被理解为要求按照所示的特定的顺序或序列顺序执行这样的操作,或要求所有示出的操作被执行,以获得理想的结果。此外,本专利文档中描述的实施例中的各种系统组件的分离不应当理解为在所有实施例中都要求这种分离。

仅描述了一些实现和示例,并且其它实现、增强和变体可以基于本专利文档中描述和说明的内容进行。

相关技术
  • 视频编解码中语法元素的通用约束信息和信令
  • 用于视频编码中运动信息信令通知的语法
技术分类

06120115607560