针对色度分量的灵活块分割

文档序号:1895384 发布日期:2021-11-26 浏览:10次 >En<

阅读说明:本技术 针对色度分量的灵活块分割 (Flexible block partitioning for chroma components ) 是由 赵亮 赵欣 刘杉 于 2021-01-07 设计创作,主要内容包括:一种对视频数据进行编码/解码的方法,包括:解析视频数据以获得分割参数;获得经分割的超级块;以及基于经分割的超级块进行解码,其中,基于最小亮度块的亮度块区域大小或亮度划分深度,来基于第一块分割结构对经分割的超级块的亮度块和色度块进行分割,或者基于第一块分割结构对亮度块进行分割,并且基于第二块分割结构对色度块进行分割。(A method of encoding/decoding video data, comprising: analyzing the video data to obtain a segmentation parameter; obtaining a partitioned superblock; and decoding based on the partitioned super block, wherein a luminance block and a chrominance block of the partitioned super block are partitioned based on a first block partitioning structure based on a luminance block region size or a luminance partition depth of a minimum luminance block, or the luminance block is partitioned based on the first block partitioning structure and the chrominance block is partitioned based on a second block partitioning structure.)

针对色度分量的灵活块分割

相关申请的交叉引用

本申请要求2020年1月8日提交的美国临时专利申请第62/958,422号以及2020年11月2日提交的美国专利申请第17/087,236号的优先权,上述两件专利申请的全部内容并入本文中。

技术领域

本公开内容总体上涉及数据处理的领域,并且更具体地,涉及包括针对色度分量的灵活块分割的视频编码和/或解码。

背景技术

AOMedia Video 1(AOMedia Video 1,AV1)是设计用于通过因特网进行视频传输的开放视频编码格式。AOMedia Video 1是由开放媒体联盟(Alliance for Open Media,AOMedia)作为VP9的继承者开发的,开放媒体联盟是于2015年成立的联盟,包括半导体公司、视频点播提供商、视频内容生产商、软件开发公司和web浏览器供应商。AV1项目的许多组成部分源于联盟成员之前的研究工作。个人贡献者在数年前启动了实验技术平台:Xiph/Mozilla的Daala在2010年已经公布了代码,谷歌的实验性VP9演进项目VP10宣布于2014年9月12日,以及思科的Thor公布于2015年8月11日。在VP9代码库的基础上,AV1结合了其他技术,这些技术中的一些是以这些实验格式开发的。AV1参考编解码器的第一个版本0.1.0公布于2016年4月7日。该联盟于2018年3月28日宣布发布AV1比特流规范,同时发布了基于软件的参考编码器和解码器。2018年6月25日发布了该规范的验证版本1.0.0。2019年1月8日发布了该规范的具有勘误表1的验证版本1.0.0。AV1比特流规范包括参考视频编解码器。AOMedia Video 2(AOMedia Video 2,AV2)目前处于开发中。在AV1中,量化步长具有有限的分辨率。

ITU-T VCEG(Q6/16)和ISO/IEC MPEG(JTC 1/SC 29/WG 11)在2013年(版本1)、2014年(版本2)、2015年(版本3)和2016年(版本4)公布了H.265/HEVC(High EfficiencyVideo Coding,高效视频编码)标准。在2015年,这两个标准组织联合形成了JVET(JointVideo Exploration Team,联合视频探索团队),以探索开发超越HEVC的下一个视频编码标准的潜力。在2017年10月,他们发布了有关能力超越HEVC的视频压缩提案的联合征集(Callfor Proposal,CfP)。到2018年2月15日,分别提交了关于标准动态范围(standard dynamicrange,SDR)的总共22个CfP响应、关于高动态范围(high dynamic range,HDR)的12个CfP响应以及关于360个视频类别的12个CfP响应。2018年4月,在122MPEG/第10次JVET会议中评估了所有接收到的CfP响应。作为这次会议的结果,JVET正式地发起了超越HEVC的下一代视频编码的标准化过程。新标准被命名为通用视频编码(VVC,Versatile Video Coding),并且JVET被重新命名为联合视频专家小组。

发明内容

实施方式涉及用于对视频数据进行编码和/或解码的方法、系统和计算机可读介质。

根据一个方面,提供了一种用于对视频数据进行编码和/或解码的方法。该方法可以包括:获得视频数据;解析所获得的视频数据以获得分割参数;基于分割参数获得经分割的超级块;以及基于经分割的超级块来解码视频数据,其中,基于经分割的超级块的最小亮度块的亮度块区域大小大于第一阈值,或者最小亮度块的亮度划分深度小于第二阈值,来基于第一块分割结构对经分割的超级块的亮度块和经分割的超级块的色度块进行分割,并且其中,基于亮度块区域大小小于第一阈值或者亮度划分深度大于第二阈值,来基于第一块分割结构对经分割的超级块的亮度块进行分割,以及基于第二块分割结构对经分割的超级块的色度块进行分割,第二块分割结构不同于第一块分割结构。

根据一个方面,提供了一种用于对视频数据进行编码和/或解码的设备。该设备可以包括:至少一个存储器,其被配置成存储程序代码;以及至少一个处理器,其被配置成读取程序代码并且根据程序代码的指示进行操作,程序代码包括:第一获得代码,其被配置成使至少一个处理器获得视频数据;解析代码,其被配置成使至少一个处理器解析所获得的视频数据以获得分割参数;第二获得代码,其被配置成使至少一个处理器基于分割参数获得经分割的超级块;及解码代码,其被配置成使至少一个处理器基于经分割的超级块对视频数据进行解码,其中基于经分割的超级块的最小亮度块的亮度块区域大小大于第一阈值,或者最小亮度块的亮度划分深度小于第二阈值,来基于第一块分割结构对经分割的超级块的亮度块和经分割的超级块的色度块进行分割,并且其中基于亮度块区域大小小于第一阈值或者亮度划分深度大于第二阈值,来基于第一块分割结构对经分割的超级块的亮度块进行分割,以及基于第二块分割结构对经分割的超级块的色度块进行分割,第二块分割结构不同于第一块分割结构。

根据一个方面,提供一种用于对视频数据进行编码和/或解码的非暂态计算机可读介质。非暂态计算机可读介质可以存储包括一个或更多个指令的指令,一个或更多个指令在由用于视频编码的设备的一个或更多个处理器执行时使一个或更多个处理器进行以下操作:获得视频数据;解析所获得的视频数据以获得分割参数;基于分割参数获得经分割的超级块;以及基于经分割的超级块来解码视频数据,其中基于经分割的超级块的最小亮度块的亮度块区域大小大于第一阈值,或者最小亮度块的亮度划分深度小于第二阈值,来基于第一块分割结构对经分割的超级块的亮度块和经分割的超级块的色度块进行分割,并且其中基于亮度块区域大小小于第一阈值,或者亮度划分深度大于第二阈值,来基于第一块分割结构对经分割的超级块的亮度块进行分割,以及基于第二块分割结构对经分割的超级块的色度块进行分割,第二块分割结构不同于第一块分割结构。

附图说明

根据要结合附图阅读的说明性实施方式的下列详细描述,这些和其他目标、特征和优点将变得明显。附图的各种特征未按比例绘制,因为图示是为了清楚起见,以促进本领域技术人员结合

具体实施方式

的理解。

在附图中:

图1示出了根据至少一个实施方式的联网计算机环境;

图2示出了根据至少一个实施方式的多类型树划分模式的示例。

图3示出了根据至少一个实施方式的具有嵌套多类型树编码树结构的四叉树中的划分标志信令的示例。

图4示出了根据至少一个实施方式的具有嵌套的多类型树编码块结构的四叉树的示例。

图5示出了根据至少一个实施方式的VP9中的编码树结构的示例。

图6示出了根据至少一个实施方式的AV1中的编码树结构的示例。

图7示出了根据至少一个实施方式的限制分割区域的示例。

图8示出了根据至少一个实施方式的用于亮度分量和色度分量的编码树结构的示例。

图9是示出根据至少一个实施方式的由对视频数据进行编码的程序执行的步骤的操作流程图;

图10是根据至少一个实施方式的图1中描绘的计算机和服务器的内部部件和外部部件的框图;

图11是根据至少一个实施方式的包括图1中描绘的计算机系统的说明性云计算环境的框图;以及

图12是根据至少一个实施方式的图11的说明性云计算环境的功能层的框图。

具体实施方式

本文中公开了所要求保护的结构和方法的详细实施方式;然而,可以理解的是,所公开的实施方式仅仅是对可以以各种形式实施的所要求保护的结构和方法的说明。然而,可以以许多不同的形式来实施这些结构和方法,并且这些结构和方法不应被解释为限于本文中阐述的示例性实施方式。相反,提供这些示例性实施方式使得本公开内容将是透彻和完整的并且将向本领域技术人员完整地传达范围。在说明书中,可以省略公知特征和技术的细节,以避免不必要地模糊所呈现的实施方式。

实施方式一般涉及数据处理领域,并且更具体地涉及视频编码和解码。以下描述的示例性实施方式提供了系统、方法和计算机程序,以除了其他之外使用扩展量化器来编码和/或解码视频数据以高效压缩视频数据。因此,一些实施方式具有通过在AV2中提供扩展量化器来改进计算领域的能力。

如先前描述的,AOMedia Video 1(AOMedia Video 1,AV1)是设计用于通过因特网进行视频传输的开放视频编码格式。AOMedia Video 1是由开放媒体联盟(Alliance forOpen Media,AOMedia)作为VP9的继承者开发的,开放媒体联盟是于2015年成立的联盟,包括半导体公司、视频点播提供商、视频内容生产商、软件开发公司和web浏览器供应商。目前AV1量化步长具有有限的分辨率。尽管步长范围已经增加,但是Q_index的有效范围是相同的。量化步长分辨率的这种限制对于10位和12位内部位深度更明显,其中对应的8位步长(使用q_idx获得)分别缩放4和16。这可能影响可以由编解码器实现的比特率的粒度。因此,通过扩展量化索引的范围来增加量化步长分辨率可能是有利的。

本文参考根据各种实施方式的方法、装置(系统)和计算机可读介质的流程图图示和/或框图来描述各方面。将理解的是,可以通过计算机可读程序指令来实现流程图图示和/或框图中的每个块以及流程图图示和/或框图中的块的组合。

现在参照图1,联网计算机环境的功能框图示出了根据示例性实施方式(例如本文中描述的实施方式)用于对视频数据进行编码和/或解码的视频编码系统100(在下文中“系统”)。应当理解的是,图1仅提供了一种实现方式的说明,而不暗示对可以实现不同实施方式的环境的任何限制。可以基于设计和实现需求对所描绘的环境进行许多修改。

系统100可以包括计算机102和服务器计算机114。计算机102可以经由通信网络110(在下文中“网络”)与服务器计算机114通信。计算机102可以包括处理器104和软件程序108,软件程序108存储在数据存储设备106上并且能够与用户交互以及与服务器计算机114通信。如以下将参照图10所讨论的,计算机102可以分别包括内部部件800A和外部部件900A,并且服务器计算机114可以分别包括内部部件800B和外部部件900B。计算机102可以是例如移动设备、电话、个人数字助理、上网本、膝上型计算机、平板计算机、台式计算机或能够运行程序、访问网络和访问数据库的任何类型的计算设备。

如以下关于图11和图12所讨论的,服务器计算机114还可以在云计算服务模型中操作,例如软件即服务(Software as a Service,SaaS)、平台即服务(Platform as aService,PaaS)或基础设施即服务(Infrastructure as a Service,IaaS)。服务器计算机114还可以位于云计算部署模型中,例如私有云、社区云、公共云或混合云。

可以用于对视频数据进行编码的服务器计算机114能够运行可以与数据库112交互的视频编码程序116(在下文中“程序”)。下面关于图4更详细地说明视频编码程序方法。在一个实施方式中,计算机102可以作为包括用户接口的输入设备操作,而程序116可以主要在服务器计算机114上运行。在替选实施方式中,程序116可以主要在一个或更多个计算机102上运行,而服务器计算机114可以被用于处理和存储由程序116使用的数据。应当注意的是,程序116可以是独立的程序,或者可以集成到更大的视频编码程序中。

然而,应当注意,在一些实例中,程序116的处理可以在计算机102和服务器计算机114之间以任何比率共享。在另一实施方式中,程序116可以在一个以上计算机、服务器计算机或计算机和服务器计算机的某种组合上运行,例如,通过网络110与单个服务器计算机114进行通信的多个计算机102。在另一实施方式中,例如,程序116可以在多个服务器计算机114上运行,多个服务器计算机通过网络110与多个客户端计算机进行通信。替选地,程序可以在网络服务器上运行,该网络服务器通过网络与服务器以及多个客户端计算机进行通信。

网络110可以包括有线连接、无线连接、光纤连接或其某种组合。通常,网络110可以是将支持计算机102与服务器计算机114之间的通信的连接和协议的任何组合。网络110可以包括各种类型的网络,例如局域网(local area network,LAN)、诸如因特网的广域网(wide area network,WAN)、诸如公共交换电话网(Public Switched Telephone Network,PSTN)的电信网络、无线网络、公共交换网络、卫星网络、蜂窝网络(例如,第五代(fifthgeneration,5G)网络、长期演进(long-term evolution,LTE)网络、第三代(thirdgeneration,3G)网络、码分多址(code division multiple access,CDMA)网络等)、公共陆地移动网络(public land mobile network,PLMN)、城域网(metropolitan area network,MAN)、专用网络、自组织网络、内联网、基于光纤的网络等,以及/或者这些的组合或其他类型的网络。

图1所示的设备和网络的数目和布置被作为示例提供。实际上,相比于图1所示的设备和/或网络,可以存在另外的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或不同布置的设备和/或网络。此外,图1所示的两个或更多个设备可以在单个设备内实现,或者图1所示的单个设备可以被实现为多个分布式设备。附加地或替选地,系统100的一组设备(例如,一个或更多个设备)可以执行被描述为由系统100的另一组设备执行的一个或更多个功能。

在HEVC中,可以通过使用被表示为编码树的四叉树结构来将编码树单元(codingtree unit,CTU)划分成编码单元(coding unit,CU),以适于各种局部特性。可以在CU级做出关于是使用图片间(时间)预测还是图片内(空间)预测来编码图片区域的决策。根据PU划分类型,还可以将每个CU划分成一个、两个或四个PU。在一个PU内,可以应用相同的预测过程,并且可以基于PU将相关信息发送至解码器。在通过基于PU划分类型应用预测过程获得残差块后,可以根据另一四叉树结构(如CU的编码树)将CU分割成变换单元(transformunit,TU)。HEVC结构的关键特征之一是其具有包括CU、PU和TU的多分割构思。

在VVC中,使用二元和三元划分分割结构的嵌套多类型树的四叉树代替多分割单元类型的构思,即,除了具有对于最大变换长度来说太大的尺寸的CU所需要的之外,它去除CU、PU和TU构思的分离,并且支持对于CU分割形状的更多灵活性。在编码树结构中,CU可以具有正方形或矩形形状。编码树单元(coding tree unit,CTU)可以首先被四元树(quaternary tree)(也称为四叉树(quadtree))结构分割。然后,可以通过多类型树结构对四元树叶节点进一步进行分割。如图2所示,在多类型树结构中可以存在四种划分类型:垂直二元划分(SPLIT_BT_VER)、水平二元划分(SPLIT_BT_HOR)、垂直三元划分(SPLIT_TT_VER)和水平三元划分(SPLIT_TT_HOR)。多类型树叶节点被称为编码单元(coding unit,CU),并且除非CU对于最大变换长度而言太大,否则该分割可以用于预测和变换处理而无需任何进一步分割。这意味着,在大多数情况下,CU、PU和TU在具有嵌套的多类型树编码块结构的四叉树中具有相同的块大小。在最大支持变换长度小于CU的颜色分量的宽度或高度时,出现例外。

图3示出了根据实施方式的在具有嵌套多类型树编码树结构的四叉树中的分割划分信息的信令机制的示例。可以将CTU视为四元树的根,并且可以首先将CTU通过四元树结构进行分割。然后,可以通过多类型树结构将每个四元树叶节点(当足够大而允许它时)进一步分割。在多类型树结构中,可以用信号通知第一标志(mtt_split_cu_flag)以指示节点是否被进一步分割;在节点被进一步分割时,可以用信号通知第二标志(mtt_split_cu_vertical_flag)以指示划分方向,并且然后可以用信号通知第三标志(mtt_split_cu_binary_flag)以指示划分是二元划分还是三元划分。基于mtt_split_cu_vertical_flag和mtt_split_cu_binary_flag的值,可以得出CU的多类型树分切模式(MttSplitMode),如表1所示。

表1-基于多类型树语法元素的MttSplitMode得出

MttSplitMode mtt_split_cu_vertical_flag mtt_split_cu_binary_flag
SPLIT_TT_HOR 0 0
SPLIT_BT_HOR 0 1
SPLIT_TT_VER 1 0
SPLIT_BT_VER 1 1

图4示出了根据实施方式的被划分成具有四叉树和嵌套多类型树编码块结构的多个CU的CTU的示例,其中,粗体块边缘表示四叉树分割,而其余边缘表示多类型树分割。具有嵌套多类型树分割的四叉树提供了包括CU的内容白适应编码树结构。CU的大小可以与CTU一样大,或以亮度样本为单位小至4×4。对于4:2:0色度格式的情况,最大色度CB大小可以是64×64,并且最小色度CB大小可以是2×2。

在VVC中,最大支持亮度变换大小可以是64×64,并且最大支持色度变换大小可以是32×32。在CB的宽度或高度可以大于最大变换宽度或高度时,可以将CB在水平方向和/或垂直方向上自动划分以满足该方向上的变换大小限制。

在VTM7中,编码树方案支持亮度和色度具有单独的块树结构的能力。当前,对于P和B切片,一个CTU中的亮度CTB和色度CTB必须共享相同的编码树结构。然而,对于I切片,亮度和色度可以具有单独的块树结构。在应用单独的块树模式时,可以通过一个编码树结构将亮度CTB分割成CU,并且通过另一编码树结构将色度CTB分割成色度CU。这意味着I切片中的CU可以包括亮度分量的编码块或两个色度分量的编码块,并且除非视频是单色的,否则P切片或B切片中的CU总是包括所有三种颜色分量的编码块。

如图5所示,VP9使用从64x64级开始向下至4x4级的4路分割树,其中对块8x8有一些额外限制。如图5所示,指定为R的分割可以被称为递归的,因为相同的分割树可以以较低的等级重复,直到达到最低的4x4级。

如图6所示,AV1不仅将分割树扩展到10路结构,而且增大最大尺寸(在VP9/AV1用语中被称为超级块)以从128x128开始。注意,这可以包括VP9中不存在的4∶1/1∶4矩形分割。矩形分割都不能被进一步细分。除了编码块大小之外,还可以限定编码树深度以指示从根节点的划分深度。具体而言,可以将根节点(例如,128x128)的编码树深度设置为0,并且在可以将树块进一步划分一次之后,编码树深度可以加1。

代替如VP9中那样施行固定变换单元大小,AV1允许将亮度编码块分割成多个大小的变换单元,多个大小的变换单元可以由向下多达2级的递归分割来表示。为了合并AV1的扩展编码块分割,支持从4x4到64x64的方形2:1/1:2和4:1/1:4变换大小。对于色度块,仅允许最大可能变换单元。

在AV1中,一个CTU中的亮度CU和色度CU必须共享相同的编码树结构。在实施方式中,CU可以对应于例如块,而CTU可以对应于例如超级块。然而,色度分量可以比亮度分量具有更少的纹理,并且总是使用与亮度分量相同的编码树结构可能不是最优的。

在实施方式中,当亮度块区域大小大于一个阈值T1或者亮度块的编码树划分深度小于或等于一个阈值T2时,则色度块可以使用与亮度相同的编码树结构。否则,当块区域大小小于或等于T1或者亮度划分深度大于T2时,对应的色度块可以与亮度分量具有不同的编码块分割,这可以被称为色度分量的灵活块分割。T1可以是正整数,例如128或256。T2可以是正整数,例如1或2。

在至少一个实施方式中,色度分量的灵活块分割可以仅应用于I帧(帧内帧(Intraframe))。

在至少一个实施方式中,当亮度块区域大小大于一个阈值T1或者编码树深度小于或等于一个阈值T2时,则色度块可以使用与亮度相同的编码树结构。否则,当块区域大小小于或等于T1或者亮度划分深度大于T2时,色度分量的编码块深度可以等于或小于亮度分量的编码块深度。

在至少一个实施方式中,当亮度块区域大小大于一个阈值T1或者编码树深度小于或等于一个阈值T2时,则色度块可以使用与亮度相同的编码树结构。否则,亮度块可以仍然具有被进一步划分的灵活性,而色度块不可以被进一步划分。可以将色度分量的编码块深度得出为coLocatedDepthLuma>T2?T2:coLocatedDepthLuma,其中,coLocatedDepthLuma可以是亮度分量中的同位块的编码块深度,并且T2可以是诸如1或2的正整数。

在至少一个实施方式中,当亮度块区域大小大于一个阈值T1或者编码树深度小于或等于一个阈值T2时,则色度块可以使用与亮度相同的编码树结构。否则,色度分量的编码块深度可以取决于亮度分量的编码块深度。在至少一个实施方式中,当亮度块区域大小大于一个阈值T1或者编码树深度小于或等于一个阈值T2时,则色度块可以使用与亮度相同的编码树结构。否则,将色度分量的编码块深度得出为((maxDepthLuma-N1,T2),coLocatedDepthLuma),其中,maxDepthLuma可以是限制分割区域内的亮度分量的最大编码块深度,coLocatedDepthLuma可以是亮度分量中的同位块的编码块深度,并且N1可以是诸如1或2的正整数。在图7中示出了示例。如图7所示,用虚线圆圈突出显示亮度分量和色度分量的限制分割区域,并且用实线箭头标记每个色度块的同位亮度块。另外,在该示例中,将T2设置为1,将N1也设置为1。可以观察到的是,在限制分割区域中maxDepthLuma为3。另外,本例中的YUV格式是YUV420。

在至少一个实施方式中,当亮度块区域大小大于一个阈值T1或者编码树深度小于或等于一个阈值T2时,则色度块可以使用与亮度相同的编码树结构。否则,当区域的块区域大小小于或等于一个阈值T1或者亮度划分深度大于T2时,可以将亮度分量和色度分量的块分割去耦,这意味着色度分量的块分割可以独立于亮度分量的块分割。在图8中示出一个示例。在图8的示例中,将T2设置为1。

在至少一个实施方式中,当亮度块区域大小大于一个阈值T1或编码树深度小于或等于一个阈值T2时,可以在不同颜色分量之间联合地用信号通知块分割。否则,当块区域大小小于或等于T1或者亮度划分深度大于T2时,可以针对不同的颜色分量分别用信号通知块分割。在一个示例中,当针对不同颜色分量分别用信号通知块分割时,Cb颜色分量和Cr颜色分量仍可以共享同一块分割信令,但其可以与亮度块分割信令分开。

在至少一个实施方式中,以上论述的T1和T2中的一个或更多个的值可以以高级语法用信号通知,高级语法包含但不限于:视频参数集(Video Parameter Set,VPS)、序列参数集(Sequence Parameter Set,SPS)、图片参数集(Picture Parameter Set,PPS)、自适应参数集(Adaptive Parameter Set,APS)、切片头部和图块头部。

现在参照图9,描绘了示出用于对视频数据进行编码和/或解码的方法9000的步骤的操作流程图。在一些实现方式中,图4的一个或更多个过程块可以由计算机102(图1)和服务器计算机114(图1)执行。在一些实现方式中,图4的一个或更多个过程块可以由与计算机102和服务器计算机114分开的或包括计算机102和服务器计算机114的另一设备或设备组来执行。

在9100处,方法9000包括获得视频数据。

在9200处,方法9000包括解析所获得的视频数据以获得分割参数。

在9300处,方法9000包括基于分割参数获得经分割的超级块。在实施方式中,基于经分割的超级块的最小亮度块的亮度块区域大小大于第一阈值,或者最小亮度块的亮度划分深度小于第二阈值,可以基于第一块分割结构对经分割的超级块的亮度块和经分割的超级块的色度块进行分割。在实施方式中,基于亮度块区域大小小于第一阈值或者亮度划分深度大于第二阈值,可以基于第一块分割结构对经分割的超级块的亮度块进行分割,并且可以基于与第一块分割结构不同的第二块分割结构对经分割的超级块的色度块进行分割。

在9400处,方法9000包括基于经分割的超级块对视频数据进行解码。

在一个或更多个实施方式中,第一阈值可以是128和/或256中的一个,并且第二阈值可以是1和/或2中的一个。

在一个或更多个实施方式中,经分割的超级块可以对应于帧内帧。

在一个或更多个实施方式中,基于第二块分割结构分割的最小色度块的色度划分深度可以小于亮度划分深度。

在一个或更多个实施方式中,可以基于亮度划分深度来确定基于第二块分割结构分割的最小色度块的色度划分深度。

在一个或更多个实施方式中,第一块分割结构可以包括使用附加分割对第二块分割结构的分割。

在一个或更多个实施方式中,基于亮度块区域大小大于第一阈值,或者亮度划分深度小于第二阈值,可以针对多个颜色分量联合地用信号通知分割参数,并且基于亮度块区域大小小于第一阈值或者亮度划分深度小于第二阈值,可以在多个颜色分量之中分别用信号通知分割参数。

在一个或更多个实施方式中,可以在以下的至少一个中用信号通知分割参数:视频参数集、序列参数集、图片参数集、自适应参数集、切片头部和/或图块头部。

可以理解的是,图9仅提供了一种实现方式的说明,而不意味着对如何实现不同实施方式的任何限制。可以基于设计和实现需求对所描绘的环境进行许多修改。

图10是根据说明性实施方式的图1中描绘的计算机的内部部件和外部部件的框图500。应当理解的是,图10仅提供了一种实现方式的说明,而不意味着对可以实现不同实施方式的环境的任何限制。可以基于设计和实现需求对所描绘的环境进行许多修改。

计算机102(图1)和服务器计算机114(图1)可以包括图4中所示的内部部件800A、800B和外部部件900A、900B的相应集合。内部部件800的每个集合包括一个或更多个处理器820、一个或更多个总线826上的一个或更多个计算机可读RAM 822和一个或更多个计算机可读ROM 824、一个或更多个操作系统828以及一个或更多个计算机可读有形存储设备830。

处理器820以硬件、固件或硬件和软件的组合来实现。处理器820是中央处理单元(central processing unit,CPU)、图形处理单元(graphics processing unit,GPU)、加速处理单元(accelerated processing unit,APU)、微处理器、微控制器、数字信号处理器(digital signal processor,DSP)、现场可编程门阵列(field-programmable gatearray,FPGA)、专用集成电路(application-specific integrated circuit,ASIC)或另一类型的处理部件。在一些实现方式中,处理器820包括能够被编程以执行功能的一个或更多个处理器。总线826包括允许内部部件800A、800B之间的通信的部件。

服务器计算机114(图1)上的一个或更多个操作系统828、软件程序108(图1)和视频编码程序116(图1)存储在一个或更多个相应的计算机可读有形存储设备830上,以由一个或更多个相应的处理器820经由一个或更多个相应的RAM 822(其通常包括高速缓冲存储器)来执行。在图10所示的实施方式中,计算机可读有形存储设备830中的每一个是内部硬盘驱动器的磁盘存储设备。替选地,计算机可读有形存储设备830中的每一个是半导体存储设备,例如ROM 824、EPROM、闪存、光盘、磁光盘、固态盘、致密盘(compact disc,CD)、数字多功能盘(digital versatile disc,DVD)、软盘、盒式磁带、磁带和/或可以存储计算机程序和数字信息的另一类型的非暂态计算机可读有形存储设备。

内部部件800A、800B的每个集合还包括R/W驱动器或接口832,以从一个或更多个便携式计算机可读有形存储设备936读取和向一个或更多个便携式计算机可读有形存储设备写入,该便携式计算机可读有形存储设备例如CD-ROM、DVD、记忆棒、磁带、磁盘、光盘或半导体存储设备。诸如软件程序108(图1)和视频编码程序116(图1)的软件程序可以被存储在一个或更多个相应的便携式计算机可读有形存储设备936上,经由相应的R/W驱动器或接口832读取,并且加载到相应的硬盘驱动器830中。

内部部件800A、800B的每个集合还包括网络适配器或接口836,例如TCP/IP适配卡;无线Wi-Fi接口卡;或者3G、4G或5G无线接口卡或其他有线或无线通信链路。服务器计算机114(图1)上的软件程序108(图1)和视频编码程序116(图1)可以经由网络(例如,因特网、局域网或其他、广域网)和相应的网络适配器或接口836从外部计算机下载到计算机102(图1)和服务器计算机114。服务器计算机114上的软件程序108和视频编码程序116从网络适配器或接口836被加载到相应的硬盘驱动器830中。网络可以包括铜线、光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。

外部部件900A、900B的集合中的每个集合可以包括计算机显示监视器920、键盘930和计算机鼠标934。外部部件900A、900B还可以包括触摸屏、虚拟键盘、触摸板、定点设备和其他人机接口设备。内部部件800A、800B的集合中的每个集合还包括与计算机显示监视器920、键盘930和计算机鼠标934对接的设备驱动器840。设备驱动器840、R/W驱动或接口832以及网络适配器或接口836包括硬件和(存储在存储设备830和/或ROM 824中的)软件。

应当预先理解的是,尽管本公开内容包括关于云计算的详细描述,但是本文中记载的教导的实现方式不限于云计算环境。相反,一些实施方式能够结合现在已知的或以后开发的任何其他类型的计算环境被实现。

云计算是一种服务递送模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便的按需网络访问,该可配置计算资源可以以最小的管理努力或与服务提供商的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。

特性如下:

按需自助服务:云消费者可以单方面地自动地根据需要提供计算能力,例如服务器时间和网络存储,而不需要与服务提供商进行人工交互。

广泛的网络接入:能力可通过网络获得,并且通过促进由异构的瘦客户端平台或厚客户端平台(例如,移动电话、膝上型计算机和PDA)使用的标准机制来访问。

资源池化:提供商的计算资源被池化以使用多租户模型来服务多个消费者,其中不同的物理资源和虚拟资源根据需求被动态地分配和重新分配。存在位置无关的感觉,因为消费者通常不控制或不知道所提供的资源的确切位置,但是能够在更高的抽象层次(例如,国家、州或数据中心)指定位置。

快速弹性:可以快速且弹性地提供能力(在某些情况下是自动地),以快速向外扩展,并且快速发布以快速向内扩展。对于消费者,可用于提供的能力通常看起来不受限制,并且可以在任何时间以任何数量购买。

测量服务:云系统通过在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某种抽象水平上利用计量能力来自动控制和优化资源使用。可以监视、控制和报告资源使用,从而为所利用的服务的提供商和消费者两者提供透明度。

服务模型如下:

软件即服务(Software as a Service,SaaS):提供给消费者的能力是使用在云基础设施上运行的提供商的应用。可通过诸如web浏览器(例如,基于web的电子邮件)的瘦客户端接口从各种客户端设备访问应用。消费者不管理或控制包括网络、服务器、操作系统、存储、或甚至个别应用能力的底层云基础设施,可能的例外是有限的用户专用应用配置设置。

平台即服务(Platform as a Service,PaaS):提供给消费者的能力是将使用由提供商支持的编程语言和工具创建的消费者创建或获取的应用部署到云基础设施上。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但具有对部署的应用和可能地托管环境配置的应用的控制。

基础设施即服务(Infrastructure as a Service,IaaS):提供给消费者的能力是提供处理、存储、网络以及消费者能够部署和运行任意软件的其他基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,但具有对操作系统、存储、部署的应用的控制,以及可能对选择网络部件(例如,主机防火墙)的有限控制。

部署模型如下:

私有云:云基础设施仅为组织运行。它可以由组织或第三方管理,并且可以存在于场所内或场所外。

社区云:云基础设施由若干组织共享,并且支持有共享关注点(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。

公共云:云基础设施可供一般公众或大型行业团体使用,并且由销售云服务的组织所有。

混合云:云基础设施是两个或更多个云(私有、社区或公共)的组合,它们仍然是唯一的实体,但是通过标准化或专有技术绑定在一起,该标准化或专有技术实现数据和应用的可移植性(例如,用于云之间的负载平衡的云爆发)。

云计算环境是面向服务的,其焦点在于无状态、低耦合、模块性和语义互操作性。云计算的核心是包括由相互连接的节点组成的网络的基础设施。

参照图11,描绘了说明性云计算环境600,该云计算环境600可以适合于实现所公开主题的某些实施方式。如图所示,云计算环境600包括:一个或更多个云计算节点10,由云消费者使用的本地计算设备可以与该一个或更多个云计算节点通信,该本地计算设备例如个人数字助理(personal digital assistant,PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N。云计算节点10可以彼此通信。它们可以被物理地或虚拟地分组(未示出)到一个或更多个网络中,例如如上文描述的私有云、社区云、公共云或混合云、或其组合。这允许云计算环境600提供基础设施、平台和/或软件作为服务,云消费者不需要为其在本地计算设备上维护资源。应当理解的是,图11中所示的计算设备54A至54N的类型仅旨在说明,并且云计算节点10和云计算环境600可以通过任何类型的网络和/或网络可寻址连接(例如,使用web浏览器)与任何类型的计算机化设备通信。

参照图12,示出了由云计算环境600(图11)提供的一组功能抽象层700。应当预先理解的是,图12中所示的部件、层和功能仅旨在是说明性的,并且实施方式不限于此。如所描绘的,提供了以下层和相应的功能:

硬件和软件层60包括硬件部件和软件部件。硬件部件的示例包括:大型主机61;基于RISC(Reduced Instruction Set Computer,精简指令集计算机)架构的服务器62;服务器63;刀片式服务器64;存储设备65;以及网络和联网部件66。在一些实施方式中,软件部件包括网络应用服务器软件67和数据库软件68。

虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储72;虚拟网络73,包括虚拟专用网;虚拟应用和操作系统74;以及虚拟客户端75。

在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价82提供了在云计算环境中利用资源时的成本跟踪,以及对这些资源的消耗的帐单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务级别管理84提供云计算资源分配和管理,使得满足所需的服务级别。服务级别协议(Service LevelAgreement,SLA)规划和履行85提供对云计算资源的预安排和采购,根据SLA预期对云计算资源的未来需求。

工作负载层90提供了可以针对其来利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:绘图和导航91;软件开发和生命周期管理92;虚拟课堂教学交付93;数据分析处理94;交易处理95;以及视频编码/解码96。视频编码/解码96可以使用从标称角度得出的增量角度对视频数据进行编码/解码。

一些实施方式可以涉及处于任何可能的集成技术细节水平的系统、方法和/或计算机可读介质。计算机可读介质可以包括计算机可读非暂态存储介质(或多个介质),该计算机可读非暂态存储介质上具有用于使处理器执行操作的计算机可读程序指令。

计算机可读存储介质可以是能够保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(random accessmemory,RAM)、只读存储器(read-only memory,ROM)、可擦可编程只读存储器(EPROM(erasable programmable read-only memory)或闪速存储器)、静态随机存取存储器(static random access memory,SRAM)、便携式致密盘只读存储器(compact disc read-only memory,CD-ROM)、数字通用盘(digital versatile disk,DVD)、记忆棒、软盘、机械编码设备例如穿孔卡或其上记录有指令的凹槽中的凸起结构、以及前述的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为本身是暂态信号,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过导线传输的电信号。

本文中描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如,因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。该网络可以包括铜传输线缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并且转发该计算机可读程序指令以存储在相应的计算/处理设备内的计算机可读存储介质中。

用于执行操作的计算机可读程序代码/指令可以是汇编指令、指令集架构(instruction-set-architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据,或者以一种或更多种编程语言的任意组合编写的源代码或目标代码,所述一种或更多种编程语言包括诸如Smalltalk、C++等的面向对象的编程语言和诸如“C”编程语言或类似编程语言的过程编程语言。计算机可读程序指令可以全部在用户的计算机上执行、部分在用户的计算机上执行、作为独立的软件包执行、部分在用户的计算机上且部分在远程计算机上执行或者全部在远程计算机或服务器上执行。在全部在远程计算机或者服务器上执行的情况下,远程计算机可以通过包括局域网(local areanetwork,LAN)或广域网(wide area network,WAN)的任何类型的网络连接至使用者的计算机,或者可以连接到外部计算机(例如通过使用因特网服务提供商的因特网)。在一些实施方式中,包括例如可编程逻辑电路、现场可编程门阵列(field-programmable gate array,FPGA)或可编程逻辑阵列(programmable logic array,PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路系统个性化,以执行各方面或操作。

可以将这些计算机可读程序指令提供给通用计算机、专用计算机的处理器或其他可编程数据处理装置以产生机器,使得经由计算机的处理器或其他可编程数据处理装置执行的指令创建用于实现流程图和/或框图中的一个或更多个块中所指定的功能/动作的装置。这些计算机可读程序指令还可以被存储在计算机可读存储介质中,该计算机可读存储介质可以以特定的方式引导计算机、可编程数据处理装置或其他设备起作用,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图中的一个或更多个块中所指定的功能/动作方面的指令。

计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得要在计算机、其他可编程装置或其他设备上执行的一系列操作步骤能够产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或更多个块中指定的功能/动作。

图中的流程图和框图示出了根据各种实施方式的系统、方法和计算机可读介质的可能实现方式的架构、功能和操作。在这方面,流程图或框图中的每个块可以表示模块、段或部分指令,该模块、段或部分指令包括用于实现指定逻辑功能的一个或更多个可执行指令。方法、计算机系统和计算机可读介质可以包括与图中所描绘的这些块相比附加的块、更少的块、不同的块或不同布置的块。在一些替选实现方式中,块中注明的功能可以不按图中注明的顺序发生。例如,连续示出的两个块实际上可以同时或者基本上同时执行,或者块有时可以根据所涉及的功能而按照相反的顺序执行。还将注意到的是,可以通过执行指定功能或动作或实现专用硬件和计算机指令的组合的基于硬件的专用系统来实现框图和/或流程图图示中的每个块以及框图和/或流程图图示中的块的组合。

将明显的是,本文所描述的系统和/或方法可以以不同形式的硬件、固件、或硬件和软件的组合来实现。用于实现这些系统和/或方法的实际的专用控制硬件或软件代码并不限制实现方式。因此,本文中在不参考特定软件代码的情况下描述了系统和/或方法的操作和行为,应当理解的是,可以基于本文中的描述将软件和硬件设计成实现系统和/或方法。

除非对此明确地描述,否则本文中使用的元素、动作或指令均不应当被解释为关键的或必要的。而且,如本文中使用的,冠词“一种”和“一个”意在包括一个或更多个项,并且可以与“一个或更多个”互换使用。此外,如本文所使用的,术语“集合”旨在包括一个或更多个项(例如,相关项、不相关项、相关项与不相关项的组合等),并且可以与“一个或更多个”互换使用。在意指仅一项的情况下,使用术语“一个”或类似语言。而且,如本文中使用的,术语“具有”、“有”、“含有”等意在为开放式术语。此外,除非另有明确说明,否则词语“基于”旨在意味着“至少部分地基于”。

已经出于说明的目的呈现了对各个方面和实施方式的描述,但是该描述不旨在是穷举的或限于所公开的实施方式。尽管在权利要求中记载了和/或在说明书中公开了特征的组合,但是这些组合不旨在限制可能实现方式的公开内容。实际上,这些特征中的许多特征可以以权利要求中未具体记载以及/或者说明书中未公开的方式组合。尽管以下列出每个从属权利要求可能直接引用仅一个权利要求,但是可能的实现方式的公开内容包括结合权利要求组中的每个其他权利要求的每个从属权利要求。在不背离所描述的实施方式的范围的情况下,许多修改和变化对于本领域普通技术人员而言将是明显的。选择本文所使用的术语以最好地解释实施方式的原理、实际应用或相对于市场上现有技术的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施方式。

选定的首字母缩略词:

HEVC(High Efficiency Video Coding):高效视频编码

VVC(Versatile Video Coding):通用视频编码

CfL(Chroma from Luma):根据亮度预测色度

SDT(Semi Decoupled Tree):半解耦树

SDP(Semi Decoupled Partitioning):半解耦分割

SST(Semi Separate Tree):半分离树

SB(Super Block):超级块

CTU(coding tree unit):编码树单元

29页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:编码装置、解码装置、编码方法和解码方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类