CN115866257A - 编码单元的处理方法及相关设备 - Google Patents
编码单元的处理方法及相关设备 Download PDFInfo
- Publication number
- CN115866257A CN115866257A CN202211513883.7A CN202211513883A CN115866257A CN 115866257 A CN115866257 A CN 115866257A CN 202211513883 A CN202211513883 A CN 202211513883A CN 115866257 A CN115866257 A CN 115866257A
- Authority
- CN
- China
- Prior art keywords
- coding
- mode
- encoding
- coding unit
- distortion cost
- 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
Links
Images
Abstract
本公开实施例提供一种编码单元的处理方法及相关设备。该方法包括:获取编码模式集合,所述编码模式集合中包括调色板模式和除所述调色板模式以外的多个其他编码模式;通过各个其他编码模式对当前编码单元进行编码,获得各个其他编码模式各自的率失真代价值;根据各个其他编码模式各自的率失真代价值,确定是否使用所述调色板模式对所述当前编码单元进行编码。该方法可以在保证压缩性能的情况下提高调色板模式的编码速度,降低编码复杂度,从而提高编码单元的编码效率。
Description
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种编码单元的处理方法、编码单元的处理装置、电子设备、计算机可读存储介质以及计算机程序产品。
背景技术
H.265/HEVC(High Efficiency Video Coding,高效视频编码)是一种新的视频编码标准,其压缩性能相较视频编码标准H.264得到大幅的提升,HEVC技术的广泛应用能够节省存储及带宽成本,应用前景是十分广泛的。
相关技术中,针对每个编码单元都使用多种编码模式对其进行编码,使得编码速度较低;尤其是在针对每个编码单元都使用复杂度较高的Palette(调色板)模式进行编码时,编码复杂度较高,编码速度较低,使得编码效率较低。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开实施例提供一种编码单元的处理方法、编码单元的处理装置、电子设备、计算机可读存储介质以及计算机程序产品,该方法可以在保证压缩性能的情况下提高调色板模式的编码速度,降低编码复杂度,从而提高编码单元的编码效率。
本公开实施例提供一种编码单元的处理方法,该方法包括:获取编码模式集合,所述编码模式集合中包括调色板模式和除所述调色板模式以外的多个其他编码模式;通过各个其他编码模式对当前编码单元进行编码,获得各个其他编码模式各自的率失真代价值;根据各个其他编码模式各自的率失真代价值,确定是否使用所述调色板模式对所述当前编码单元进行编码。
在本公开的一些示例性实施例中,根据各个其他编码模式各自的率失真代价值,确定是否使用所述调色板模式对所述当前编码单元进行编码,包括:根据各个其他编码模式各自的率失真代价值,从各个其他编码模式中确定出目标编码模式;若所述目标编码模式的率失真代价值小于或等于预设值,则不使用所述调色板模式对所述当前编码单元进行编码。
在本公开的一些示例性实施例中,所述其他编码模式包括跳过编码模式;其中,根据各个其他编码模式各自的率失真代价值,确定是否使用所述调色板模式对所述当前编码单元进行编码,包括:若所述目标编码模式为所述跳过编码模式,则不使用所述调色板模式对所述当前编码单元进行编码。
在本公开的一些示例性实施例中,所述多个其他编码模式包括至少一种帧间编码模式和至少一种帧内编码模式;其中,通过各个其他编码模式对当前编码单元进行编码,获得各个其他编码模式各自的率失真代价值,包括:通过所述至少一种帧内编码模式对当前编码单元进行编码,获得所述至少一种帧内编码模式各自的第一率失真代价值;通过所述至少一种帧间编码模式对所述当前编码单元进行编码,获得所述至少一种帧间编码模式各自的第二率失真代价值;其中,根据各个其他编码模式各自的率失真代价值,确定是否使用所述调色板模式对所述当前编码单元进行编码,包括:若所述第一率失真代价值均大于所述第二率失真代价值的预设倍数,则不使用所述调色板模式对所述当前编码单元进行编码。
在本公开的一些示例性实施例中,在根据各个其他编码模式各自的率失真代价值,确定是否使用所述调色板模式对所述当前编码单元进行编码之前,所述方法还包括:对所述当前编码单元进行划分,获得所述当前编码单元的多个子编码单元;针对每个子编码单元,通过各个其他编码模式对所述子编码单元进行编码,获得所述子编码单元对应的各个其他编码模式各自的率失真代价值;根据所述子编码单元对应的各个其他编码模式各自的率失真代价值,确定是否使用所述调色板模式对所述子编码单元进行编码;其中,在根据各个其他编码模式各自的率失真代价值,确定是否使用所述调色板模式对所述当前编码单元进行编码之后,所述方法还包括:若根据各个其他编码模式各自的率失真代价值,确定使用所述调色板模式对所述当前编码单元进行编码,则根据各个子编码单元是否通过所述调色板模式进行编码,确定是否使用所述调色板模式对所述当前编码单元进行编码。
在本公开的一些示例性实施例中,根据各个子编码单元是否通过所述调色板模式进行编码,确定是否使用所述调色板模式对所述当前编码单元进行编码,包括:若各个子编码单元均未通过所述调色板模式进行编码,则不使用所述调色板模式对所述当前编码单元进行编码。
在本公开的一些示例性实施例中,通过各个其他编码模式对当前编码单元进行编码,获得所述其他编码模式各自的率失真代价值,包括:通过各个其他编码模式对当前编码单元进行编码,获得各个其他编码模式各自的编码结果;根据各个其他编码模式各自的编码结果,确定通过各个其他编码模式对所述当前编码单元进行编码时各自的率失真代价值;其中,在根据各个其他编码模式各自的率失真代价值,确定不使用所述调色板模式对所述当前编码单元进行编码时,所述方法还包括:根据各个其他编码模式各自的率失真代价值,从各个其他编码模式中确定出目标编码模式;将所述目标编码模式对应的编码结果作为所述当前编码单元的编码结果。
本公开实施例提供一种编码单元的处理装置,包括:获取模块,被配置为执行获取编码模式集合,所述编码模式集合中包括调色板模式和除所述调色板模式以外的多个其他编码模式;编码模块,被配置为执行通过各个其他编码模式对当前编码单元进行编码,获得各个其他编码模式各自的率失真代价值;确定模块,被配置为执行根据各个其他编码模式各自的率失真代价值,确定是否使用所述调色板模式对所述当前编码单元进行编码。
本公开实施例提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行可执行指令,以实现如上述任一项的编码单元的处理方法。
本公开实施例提供一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述任一项的编码单元的处理方法。
本公开实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述任一项的编码单元的处理方法。
本公开实施例提供的编码单元的处理方法,通过除调色板模式以外的其他编码模式对当前编码单元进行编码,获得各个其他编码模式各自的率失真代价值;根据各个其他编码模式各自的率失真代价值,确定是否使用调色板模式对当前编码单元进行编码,即确定是否跳过调色板模式的编码;该方法可以在各个其他编码模式各自的率失真代价值满足预设条件时,确定是否跳过调色板模式的编码,可以在保证压缩性能的情况下提高调色板模式的编码速度,降低编码复杂度,从而提高编码单元的编码效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了可以应用本公开实施例的编码单元的处理方法的示例性系统架构的示意图。
图2是根据一示例性实施例示出的一种编码单元的处理方法的流程图。
图3是根据一示例性实施例示出的另一种编码单元的处理方法的流程图。
图4是根据一示例性实施例示出的再一种编码单元的处理方法的流程图。
图5是根据一示例性实施例示出的一种编码单元的处理装置的框图。
图6是根据一示例性实施例示出了适于用来实现本公开示例性实施例的电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
本公开所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在至少一个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和步骤,也不是必须按所描述的顺序执行。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本说明书中,用语“一个”、“一”、“该”、“所述”和“至少一个”用以表示存在至少一个要素/组成部分/等;用语“包含”、“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”、“第二”和“第三”等仅作为标记使用,不是对其对象的数量限制。
图1示出了可以应用本公开实施例的编码单元的处理方法的示例性系统架构的示意图。
如图1所示,该系统架构可以包括服务器101、网络102、终端设备103、终端设备104和终端设备105。网络102用以在终端设备103、终端设备104或终端设备105和服务器101之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
服务器101可以是提供各种服务的服务器,例如对用户利用终端设备103、终端设备104或终端设备105所进行操作的装置提供支持的后台管理服务器。后台管理服务器可以对接收到的请求等数据进行分析等处理,并将处理结果反馈给终端设备103、终端设备104或终端设备105。
终端设备103、终端设备104和终端设备105可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、可穿戴智能设备、虚拟现实设备、增强现实设备等,但并不局限于此。
本公开实施例中,服务器101可以:获取待编码视频,该待编码视频中包括多个视频帧,将各个视频帧分割为多个编码单元,下面以正在进行编码的单元为当前编码单元为例进行说明。
服务器101可以:获取编码模式集合,编码模式集合中包括调色板模式和除调色板模式以外的多个其他编码模式;通过各个其他编码模式对当前编码单元进行编码,获得各个其他编码模式各自的率失真代价值;根据各个其他编码模式各自的率失真代价值,确定是否使用调色板模式对当前编码单元进行编码。
若不使用调色板模式对当前编码单元进行编码,则可以将其他编码模式中的最优编码模式的编码结果作为当前编码单元的编码结果;若使用调色板模式对当前编码进行编码,则获得调色板模式对应的率失真代价值,将编码模式集合中率失真代价值最小的编码模式对应的编码结果作为当前编码单元的编码结果。
在对当前编码单元编码完成后,可以采用同样的方法对下一编码单元进行编码,直至当前视频帧编码完成。
应该理解,图1中的终端设备103、终端设备104、终端设备105、网络102和服务器101的数目仅仅是示意性的,服务器101可以是一个实体的服务器,还可以为多个服务器组成的服务器集群,还可以是云端服务器,根据实际需要,可以具有任意数目的终端设备、网络和服务器。
下面,将结合附图及实施例对本公开示例实施例中的编码单元的处理方法的各个步骤进行更详细的说明。本公开实施例提供的方法可以由任意的电子设备来执行,例如上述图1中的服务器和/或终端设备,但本公开对此不作限定。
图2是根据一示例性实施例示出的一种编码单元的处理方法的流程图。
如图2所示,本公开实施例提供的方法可以包括以下步骤。
在步骤S210中,获取编码模式集合,编码模式集合中包括调色板模式和除调色板模式以外的多个其他编码模式。
本公开实施例中,编码模式集合包括多个编码模式,这多个编码模式可以用于对当前编码单元(Coding Unit,CU)进行编码;编码模式集合中包括的编码模式可以根据实际情况设置。
本公开实施例中,编码模式集合中包括调色板(palette)模式,可以将编码模式集合中除调色板以为的编码模式称为其他编码模式,其他编码模式例如可以是帧间(inter)编码模式中的一种或多种,也可以是帧内(intra)编码模式中除调色板模式以外的一种或多种;其他编码模式例如可以包括帧间编码模式中的跳过(Skip)编码模式。
在示例性实施例中,多个其他编码模式包括至少一种帧间编码模式和至少一种帧内编码模式。
在步骤S220中,通过各个其他编码模式对当前编码单元进行编码,获得各个其他编码模式各自的率失真代价值。
本公开实施例中,通过除调色板模式以外的各个其他编码模式对当前编码单元进行编码,获得各个其他编码模式对当前编码单元进行编码时各自的率失真代价值(RDcost,Rate-Distortion cost)。
例如有N个其他编码模式,则可以获得这N个其他编码模式分别对应的N个率失真代价值,其中N为大于1的整数。
在示例性实施例中,可以通过各个其他编码模式对当前编码单元进行编码,获得各个其他编码模式各自的编码结果;根据各个其他编码模式各自的编码结果,确定通过各个其他编码模式对当前编码单元进行编码时各自的率失真代价值。
本公开实施例中,通过除调色板模式以外的各个其他编码模式对当前编码单元进行编码,获得各个其他编码模式各自的编码结果;根据各个其他编码模式各自的编码结果,计算通过各个其他编码模式对当前编码单元进行编码各自的码率R(Rate)和失真D(Distortion),根据码率R和失真D计算率失真代价值。
例如有N个其他编码模式,则可以获得这N个其他编码模式分别对应的N个编码结果及N个率失真代价值。
在示例性实施例中,该方法还可以包括:根据各个其他编码模式各自的率失真代价值,从各个其他编码模式中确定出目标编码模式。
其中,目标编码模式可以指从多个其他编码模式中确定出的最优编码模式。
具体地,可以将率失真代价值最小的其他编码模式作为目标编码模式。
在步骤S230中,根据各个其他编码模式各自的率失真代价值,确定是否使用调色板模式对当前编码单元进行编码。
本公开实施例中,由于调色板模式的复杂度较高,因此可以先使用其他编码模式对当前编码单元进行编码,再根据其他编码模式各自的率失真代价值判断是否可以跳过调色板模式,从而在保证压缩性能的情况下提高调色板模式的编码速度。
本公开实施例中,可以根据各个其他编码模式各自的率失真代价值和调色板模式之间的关系,判断是否使用调色板模式对当前编码单元进行编码(或是否跳过调色板模式);即可以预设条件,在各个其他编码模式各自的率失真代价值满足预设条件时,确定使用(或跳过)调色板模式对当前编码单元进行编码。
在示例性实施例中,根据各个其他编码模式各自的率失真代价值,确定是否使用调色板模式对当前编码单元进行编码,包括:若目标编码模式对应的率失真代价值小于或等于预设值,则不使用调色板模式对当前编码单元进行编码。
其中,预设值可以根据实际需要设置,本公开对此不作限定。
具体地,可以先根据率失真代价值从各个其他编码模式中确定出最优编码模式(即目标编码模式),判断最优编码模式对应的率失真代价值是否小于或等于预设值;若最优编码模式对应的率失真代价值小于或等于预设值,说明其他编码模式中的最优编码模式的编码效果好,则可以不使用调色板模式对当前编码单元进行编码,即跳过调色板模式,可以在保证压缩性能的情况下提高调色板模式的编码速度。
具体地,若最优编码模式对应的率失真代价值大于预设值,则可以通过其他条件继续判断是否使用调色板模式对当前编码单元进行编码(例如判断最优编码模式是否为跳过(Skip)编码模式),也可以直接使用调色板模式对当前编码单元进行编码。
在一些实施例中,在使用各个其他编码模式对当前编码单元进行编码后,可以计算各个其他编码模式各自的编码结果的码率R和失真D,通过判断各个其他编码模式各自的失真D是否为0,若存在其他编码模式对应的失真D为0,则可以不使用调色板模式对当前编码单元进行编码,即跳过调色板模式。其中,在判断各个其他编码模式对应的失真D是否为0时,可以只考虑各个其他编码模式对应的编码结果的luma(亮度)分量的失真是否为0。
本公开实施例中,在计算出各个其他编码模式对应的率失真代价值后,可以判断各个其他编码模式各自的率失真代价值是否均小于或等于预设值;若各个其他编码模式各自的率失真代价值均小于或等于预设值,说明其他编码模式的编码效果好,则可以不使用调色板模式对当前编码单元进行编码,即跳过调色板模式,可以在保证压缩性能的情况下提高调色板模式的编码速度。
在示例性实施例中,根据各个其他编码模式各自的率失真代价值,确定是否使用调色板模式对当前编码单元进行编码,包括:若目标编码模式为跳过编码模式,则不使用调色板模式对当前编码单元进行编码。
具体地,在根据率失真代价值从各个其他编码模式中确定出最优编码模式(即目标编码模式)之后,可以判断最优编码模式是否为帧间编码模式中的跳过编码模式;若其他编码模式中的最优编码模式为跳过编码模式,则可以不使用调色板模式对当前编码单元进行编码,即跳过调色板模式;由于跳过编码模式对应的编码结果的残差为0,所以在最优模式为跳过编码模式时,说明对当前编码单元使用跳过编码模式对应的编码结果即可,无需在进行调色板模式的编码。
本公开实施例中,可以先判断最优编码模式对应的率失真代价值是否小于或等于预设值,在最优编码模式对应的率失真代价值大于预设值的情况下,再判断最优编码模式是否为帧间编码模式中的跳过编码模式;若最优编码模式是跳过编码模式,则不使用调色板模式对当前编码单元进行编码,即跳过调色板模式;若最优编码模式不是跳过编码模式,则可以通过其他条件继续判断是否使用调色板模式对当前编码单元进行编码(例如判断帧间编码模式对应的第一率失真代价值是否大于帧内编码模式对应的第二率失真代价值),也可以直接使用调色板模式对当前编码单元进行编码。
在示例性实施例中,通过各个其他编码模式对当前编码单元进行编码,获得各个其他编码模式各自的率失真代价值,包括:通过至少一种帧内编码模式对当前编码单元进行编码,获得至少一种帧内编码模式各自的第一率失真代价值;通过至少一种帧间编码模式对当前编码单元进行编码,获得至少一种帧间编码模式各自的第二率失真代价值;其中,根据各个其他编码模式各自的率失真代价值,确定是否使用调色板模式对当前编码单元进行编码,包括:若第一率失真代价值均大于第二率失真代价值的预设倍数,则不使用调色板模式对当前编码单元进行编码。
具体地,其他编码模式中可以包括至少一种帧内编码模式和至少一种帧间编码模式;通过至少一种帧内编码模式对当前编码单元进行编码,获得每种帧内编码模式各自的编码结果,根据编码结果分别计算每种帧内编码模式各自的率失真代价值(为了便于说明,将帧内编码模式对应的率失真代价值称为“第一率失真代价值”);通过至少一种帧间编码模式对当前编码单元进行编码,获得每种帧间编码模式各自的编码结果,根据编码结果分别计算每种帧间编码模式各自的率失真代价值(为了便于说明,将帧间编码模式对应的率失真代价值称为“第二率失真代价值”)。
然后,判断第一率失真代价值是否均远大于第二率失真代价值,若第一率失真代价值远均大于第二率失真代价值,则不使用调色板模式对当前编码单元进行编码,即跳过调色板模式;若第一率失真代价值不是均远大于第二率失真代价值,则可以使用调色板模式对当前编码单元进行编码,也可以再继续根据当前编码单元的子编码单元使用编码模式的情况,判断是否使用调色板模式对当前编码单元进行编码。
其中,上述“判断第一率失真代价值是否远大于第二率失真代价值”可以设置预设倍数(例如1.5倍、2倍等),通过判断第一率失真代价值是否大于第二率失真代价值的预设倍数,来判断第一率失真代价值是否远大于第二率失真代价值;即,若第一率失真代价值大于第二率失真代价值的预设倍数,则可以确定第一率失真代价值远大于第二率失真代价值。
其中,在其他编码模式中只包括一种帧内编码模式和一种帧间编码模式的情况下,上述“第一率失真代价值均大于第二率失真代价值的预设倍数”指的是该帧内编码模式对应的第一率失真代价值大于该帧间编码模式对应的第二率失真代价值的预设倍数;在其他编码模式中包括多种帧内编码模式和/或多种帧间编码模式的情况下,上述“第一率失真代价值均大于第二率失真代价值的预设倍数”可以指各种帧内编码模式各自的第一率失真代价值均大于各种帧间编码模式各自的第二率失真代价值的预设倍数,本公开对此不做限制。
本公开实施例中,若第一率失真代价值均大于第二率失真代价值的预设倍数,说明其他编码模式中的帧间编码模式的编码效果优于帧内编码模式的编码效果,由于调色板模式也是一种帧内编码模式,由此推断其他编码模式中的帧间编码模式的编码效果也会优于调色板模式的编码效果,因此可以不使用调色板模式对当前编码单元进行编码,即跳过调色板模式,从而在保证压缩性能的情况下提高调色板模式的编码速度。
在示例性实施例中,在根据各个其他编码模式各自的率失真代价值,确定不使用所述调色板模式对所述当前编码单元进行编码时,该方法还可以包括:根据各个其他编码模式各自的率失真代价值,从各个其他编码模式中确定出目标编码模式;将目标编码模式对应的编码结果作为当前编码单元的编码结果。
具体地,若根据各个其他编码模式各自的率失真代价值,确定不使用调色板模式对当前编码单元进行编码,则可以将确定出的最优编码模式(即目标编码模式)对应的编码结果作为当前编码单元的编码结果。
本公开实施例中,若使用调色板模式对当前编码单元进行编码,则可以将调色板模式对应的编码结果作为当前编码单元的编码结果,或者,通过调色板模式对当前编码单元进行编码后,获得调色板模式对应的率失真代价值,比较调色板模式对应的率失真代价值和其他编码模式中的最优编码模式对应的率失真代价值,将率失真代价值较小的编码模式对应的编码结果作为当前编码单元的编码结果。
本公开实施例提供的编码单元的处理方法,通过除调色板模式以外的其他编码模式对当前编码单元进行编码,获得各个其他编码模式各自的率失真代价值;根据各个其他编码模式各自的率失真代价值,确定是否使用调色板模式对当前编码单元进行编码,即确定是否跳过调色板模式的编码;该方法可以在各个其他编码模式各自的率失真代价值满足预设条件时,确定是否跳过调色板模式的编码,可以在保证压缩性能的情况下提高调色板模式的编码速度,降低编码复杂度,从而提高编码单元的编码效率。
此外,本公开实施例提供的编码单元的处理方法,对当前编码单元的尺寸没有限制,既适用于尺寸较大的编码单元(例如64*64),也适用于尺寸较小的编码单元(例如8*8)。
图3是根据一示例性实施例示出的另一种编码单元的处理方法的流程图。
如图3所示,在图2所示的编码单元的处理方法的步骤S230之前,本公开实施例提供的编码单元的处理方法还可以包括以下步骤S310~S330;在在图2所示的编码单元的处理方法的步骤S240之前,本公开实施例提供的编码单元的处理方法还可以包括以下步骤S340。
在步骤S310中,对当前编码单元进行划分,获得当前编码单元的多个子编码单元。
本公开实施例中,当前编码单元可以是能够划分成多个子编码单元的编码单元;一般情况下,对当前编码单元行划分,获得当前编码单元的4个子编码单元。
例如,1个64*64的当前编码单元可以划分为4个32*32的子编码单元;类似地,1个32*32的当前编码单元可以划分为4个16*16的子编码单元。
本公开实施例中,将当前编码单元划分为子编码单元的步骤S310可以在确定是否使用调色板模式的步骤S230之前执行,即将确定是否使用调色板模式进行编码的流程放在其他编码模式进行编码、以及对当前编码单元进行划分的步骤之后,可以通过其他编码模式的编码结果和子编码单元的编码结果确定是否跳过调色板模式,从而提高编码速度。
在步骤S320中,针对每个子编码单元,通过各个其他编码模式对子编码单元进行编码,获得子编码单元对应的各个其他编码模式各自的率失真代价值。
在步骤S330中,根据子编码单元对应的各个其他编码模式各自的率失真代价值,确定是否使用调色板模式对子编码单元进行编码。
本公开实施例中,通过各个其他编码模式对子编码单元进行编码的具体过程和通过其他编码模式对当前编码单元进行编码的具体过程类似,可以参见图2实施例中的文字描述。
下面以其中一个子编码单元(下面称为目标子编码单元)为例说明如何根据目标子编码单元对应的各个其他编码模式各自的率失真代价值,确定是否使用调色板模式对目标子编码单元进行编码。
在示例性实施例中,可以根据目标子编码单元对应的各个其他编码模式各自的率失真代价值,从各个其他编码模式中确定出目标子编码单元的目标编码模式;若目标子编码单元的目标编码模式对应的率失真代价值小于或等于预设值,则不使用调色板模式对目标子编码单元进行编码。
在示例性实施例中,若目标子编码单元的目标编码模式为跳过编码模式,则不使用调色板模式对目标子编码单元进行编码。
在示例性实施例中,可以通过至少一种帧内编码模式对目标子编码单元进行编码,获得所述至少一种帧内编码模式各自的目标子编码单元的第一率失真代价值;通过至少一种帧间编码模式对目标子编码单元进行编码,获得所述至少一种帧间编码模式各自的目标子编码单元的第二率失真代价值;若目标子编码单元的第一率失真代价值均大于目标子编码单元的第二率失真代价值的预设倍数,则不使用调色板模式对目标子编码单元进行编码。
在步骤S340中,若根据各个其他编码模式各自的率失真代价值,确定使用所述调色板模式对所述当前编码单元进行编码,则根据各个子编码单元是否通过调色板模式进行编码,确定是否使用调色板模式对当前编码单元进行编码。
本公开实施例中,步骤S340可以在上述步骤S230之后执行,即先根据各个其他编码模式各自的率失真代价值,确定是否使用调色板模式对当前编码单元进行编码,在根据各个其他编码模式各自的率失真代价值,确定使用调色板模式对当前编码单元进行编码的情况下,再根据各个子编码单元是否通过调色板模式进行编码,确定是否使用调色板模式对当前编码单元进行编码。
例如,在图2实施例中的帧内编码模式对应的第一率失真代价值不是均远大于帧间编码模式对应的第二率失真代价值的情况下,可以根据各个子编码单元是否通过调色板模式进行编码,判断是否使用调色板模式对当前编码单元进行编码。
在示例性实施例中,根据各个子编码单元是否通过调色板模式进行编码,确定是否使用调色板模式对当前编码单元进行编码,包括:若各个子编码单元均未通过调色板模式进行编码,则不使用调色板模式对当前编码单元进行编码。
具体地,以4个子编码单元为例,若4个子编码单元均未通过调色板模式进行编码,即4个子编码单元均跳过了调色板模式,则当前编码单元也可以跳过调色板模式;若4个子编码单元中存在通过调色板模式进行编码的单元,则当前编码单元使用调色板模式进行编码。
本公开实施例中,由于调色板模式更适用于颜色种类较少的编码单元,因此在子编码单元跳过调色板模式的情况下,说明子编码单元中包含的颜色种类较多,由此可以确定当前编码单元中包含的颜色种类也较多,因此可以不使用调色板模式对当前编码单元进行编码,即跳过调色板模式,从而在保证压缩性能的情况下提高调色板模式的编码速度。
图4是根据一示例性实施例示出的再一种编码单元的处理方法的流程图。
如图4所示,本公开实施例提供的编码单元的处理方法可以包括以下步骤。
在步骤S410中,通过除调色板以外的各个其他编码模式对当前编码单元进行编码,并从各个其他编码模式中确定出最优编码模式。
具体地,通过除调色板以外的各个其他编码模式对当前编码单元进行编码,获得各个其他编码模式各自的率失真代价值;将率失真代价值最小的其他编码模式作为最优编码模式。
在步骤S420中,判断最优编码模式对应的失真是否为0。
具体地,若最优编码模式对应的失真为0,则执行步骤S460,即跳过调色板模式;若最优编码模式对应的失真不为0,则执行步骤S430,继续判断是否可以跳过调色板模式。
在步骤S430中,判断最优编码模式是否为跳过编码模式。
具体地,若最优编码模式为帧间编码模式,且为帧间编码模式中的跳过编码模式,则执行步骤S460,即跳过调色板模式;若最优编码模式不是跳过编码模式,则执行步骤S440,继续判断是否可以跳过调色板模式。
在步骤S440中,判断帧内编码模式对应的率失真代价值是否远大于帧间编码模式对应的率失真代价值。
具体地,若其他编码模式中的帧内编码模式对应的率失真代价值远大于帧间编码模式对应的率失真代价值,则执行步骤S460,即跳过调色板模式;若其他编码模式中的帧内编码模式对应的率失真代价值不是远大于帧间编码模式对应的率失真代价值,则执行步骤S450,继续判断是否可以跳过调色板模式。
在步骤S450中,判断当前编码单元是否可以划分为子编码单元、以及子编码单元中是否均不使用调色板模式。
具体地,若当前编码单元可以划分为子编码单元、且子编码单元中均不使用调色板模式,则执行步骤S460,即跳过调色板模式;否则执行步骤S470,使用调色板模式对当前编码单元进行编码。
在步骤S460中,不进行调色板模式编码。
具体地,可以将其他编码模式中的最优编码模式对应的编码结果作为当前编码单元的编码结果。
在步骤S470中,进行调色板模式编码。
具体地,使用调色板模式对当前编码单元进行编码,获得调色板模式对应的编码结果;可以将调色板模式对应的编码结果作为当前编码单元的编码结果,或者,通过调色板模式对当前编码单元进行编码后,获得调色板模式对应的率失真代价值,比较调色板模式对应的率失真代价值和其他编码模式中的最优编码模式对应的率失真代价值,将率失真代价值较小的编码模式对应的编码结果作为当前编码单元的编码结果。
图4所示的实施例中与图2或图3所示的实施例中相同的内容可以参见图2或图3所示的实施例的文字描述,本公开在此不再赘述。
还应理解,上述只是为了帮助本领域技术人员更好地理解本公开实施例,而非要限制本公开实施例的范围。本领域技术人员根据所给出的上述示例,显然可以进行各种等价的修改或变化,例如,上述方法中某些步骤可以是不必须的,或者可以新加入某些步骤等。或者上述任意两种或者任意多种实施例的组合。这样的修改、变化或者组合后的方案也落入本公开实施例的范围内。
还应理解,上文对本公开实施例的描述着重于强调各个实施例之间的不同之处,未提到的相同或相似之处可以互相参考,为了简洁,这里不再赘述。
还应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
还应理解,在本公开的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
上文详细介绍了本公开提供的编码单元的处理方法示例。可以理解的是,计算机设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图5是根据一示例性实施例示出的一种编码单元的处理装置的框图。参照图5,该装置500可以包括获取模块510、编码模块520和确定模块530。
其中,获取模块510被配置为执行获取编码模式集合,所述编码模式集合中包括调色板模式和除所述调色板模式以外的多个其他编码模式;编码模块520被配置为执行通过各个其他编码模式对当前编码单元进行编码,获得各个其他编码模式各自的率失真代价值;确定模块530被配置为执行根据各个其他编码模式各自的率失真代价值,确定是否使用所述调色板模式对所述当前编码单元进行编码。
在本公开的一些示例性实施例中,编码模块520还被配置为执行根据各个其他编码模式各自的率失真代价值,从各个其他编码模式中确定出目标编码模式;若所述目标编码模式各自的率失真代价值小于或等于预设值,则不使用所述调色板模式对所述当前编码单元进行编码。
在本公开的一些示例性实施例中,所述其他编码模式包括跳过编码模式;其中,确定模块530还被配置为执行若所述目标编码模式为所述跳过编码模式,则不使用所述调色板模式对所述当前编码单元进行编码。
在本公开的一些示例性实施例中,所述多个其他编码模式包括至少一种帧间编码模式和至少一种帧内编码模式;其中,编码模块520还被配置为执行通过所述至少一种帧内编码模式对当前编码单元进行编码,获得所述至少一种帧内编码模式各自的第一率失真代价值;通过所述至少一种帧间编码模式对所述当前编码单元进行编码,获得所述至少一种帧间编码模式各自的第二率失真代价值;其中,确定模块530还被配置为执行若所述第一率失真代价值均大于所述第二率失真代价值的预设倍数,则不使用所述调色板模式对所述当前编码单元进行编码。
在本公开的一些示例性实施例中,所述装置还包括:划分模块,被配置为执行对所述当前编码单元进行划分,获得所述当前编码单元的多个子编码单元;编码模块520还被配置为执行针对每个子编码单元,通过各个其他编码模式对所述子编码单元进行编码,获得所述子编码单元对应的各个其他编码模式各自的率失真代价值;确定模块530还被配置为执行根据所述子编码单元对应的各个其他编码模式各自的率失真代价值,确定是否使用所述调色板模式对所述子编码单元进行编码;确定模块530还被配置为执行若根据各个其他编码模式各自的率失真代价值,确定使用所述调色板模式对所述当前编码单元进行编码,则根据各个子编码单元是否通过所述调色板模式进行编码,确定是否使用所述调色板模式对所述当前编码单元进行编码。
在本公开的一些示例性实施例中,确定模块530还被配置为执行若各个子编码单元均未通过所述调色板模式进行编码,则不使用所述调色板模式对所述当前编码单元进行编码。
在本公开的一些示例性实施例中,编码模块520还被配置为执行通过各个其他编码模式对当前编码单元进行编码,获得各个其他编码模式各自的编码结果;根据各个其他编码模式各自的编码结果,确定通过各个其他编码模式对所述当前编码单元进行编码时各自的率失真代价值;在根据各个其他编码模式各自的率失真代价值,确定不使用所述调色板模式对所述当前编码单元进行编码时,确定模块530还被配置为执行根据各个其他编码模式对应的率失真代价值,从各个其他编码模式中确定出目标编码模式;将所述目标编码模式对应的编码结果作为所述当前编码单元的编码结果。
需要注意的是,上述附图中所示的框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器终端设备和/或微控制器终端设备中实现这些功能实体。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
下面参照图6来描述根据本公开的这种实施例的电子设备600。图6显示的电子设备600仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:上述至少一个处理单元610、上述至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640。
其中,存储单元存储有程序代码,程序代码可以被处理单元610执行,使得处理单元610执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。例如,处理单元610可以执行如图2中所示的各个步骤。
又如,电子设备可以实现如图2所示的各个步骤。
存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)621和/或高速缓存存储单元622,还可以进一步包括只读存储单元(ROM)623。
存储单元620还可以包括具有一组(至少一个)程序模块625的程序/实用工具624,这样的程序模块625包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备670(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器660通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由装置的处理器执行以完成上述方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现上述实施例中的编码单元的处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (11)
1.一种编码单元的处理方法,其特征在于,包括:
获取编码模式集合,所述编码模式集合中包括调色板模式和除所述调色板模式以外的多个其他编码模式;
通过各个其他编码模式对当前编码单元进行编码,获得各个其他编码模式各自的率失真代价值;
根据各个其他编码模式各自的率失真代价值,确定是否使用所述调色板模式对所述当前编码单元进行编码。
2.根据权利要求1所述的编码单元的处理方法,其特征在于,根据各个其他编码模式各自的率失真代价值,确定是否使用所述调色板模式对所述当前编码单元进行编码,包括:
根据各个其他编码模式各自的率失真代价值,从各个其他编码模式中确定出目标编码模式;
若所述目标编码模式的率失真代价值小于或等于预设值,则不使用所述调色板模式对所述当前编码单元进行编码。
3.根据权利要求2所述的编码单元的处理方法,其特征在于,所述其他编码模式包括跳过编码模式;
其中,根据各个其他编码模式各自的率失真代价值,确定是否使用所述调色板模式对所述当前编码单元进行编码,还包括:
若所述目标编码模式为所述跳过编码模式,则不使用所述调色板模式对所述当前编码单元进行编码。
4.根据权利要求1所述的编码单元的处理方法,其特征在于,所述多个其他编码模式包括至少一种帧间编码模式和至少一种帧内编码模式;
其中,通过各个其他编码模式对当前编码单元进行编码,获得各个其他编码模式各自的率失真代价值,包括:
通过所述至少一种帧内编码模式对当前编码单元进行编码,获得所述至少一种帧内编码模式各自的第一率失真代价值;
通过所述至少一种帧间编码模式对所述当前编码单元进行编码,获得所述至少一种帧间编码模式各自的第二率失真代价值;
其中,根据各个其他编码模式各自的率失真代价值,确定是否使用所述调色板模式对所述当前编码单元进行编码,包括:
若所述第一率失真代价值均大于所述第二率失真代价值的预设倍数,则不使用所述调色板模式对所述当前编码单元进行编码。
5.根据权利要求1所述的编码单元的处理方法,其特征在于,在根据各个其他编码模式各自的率失真代价值,确定是否使用所述调色板模式对所述当前编码单元进行编码之前,所述方法还包括:
对所述当前编码单元进行划分,获得所述当前编码单元的多个子编码单元;
针对每个子编码单元,通过各个其他编码模式对所述子编码单元进行编码,获得所述子编码单元对应的各个其他编码模式各自的率失真代价值;
根据所述子编码单元对应的各个其他编码模式各自的率失真代价值,确定是否使用所述调色板模式对所述子编码单元进行编码;
其中,在根据各个其他编码模式各自的率失真代价值,确定是否使用所述调色板模式对所述当前编码单元进行编码之后,所述方法还包括:
若根据各个其他编码模式各自的率失真代价值,确定使用所述调色板模式对所述当前编码单元进行编码,则根据各个子编码单元是否通过所述调色板模式进行编码,确定是否使用所述调色板模式对所述当前编码单元进行编码。
6.根据权利要求5所述的编码单元的处理方法,其特征在于,根据各个子编码单元是否通过所述调色板模式进行编码,确定是否使用所述调色板模式对所述当前编码单元进行编码,包括:
若各个子编码单元均未通过所述调色板模式进行编码,则不使用所述调色板模式对所述当前编码单元进行编码。
7.根据权利要求1所述的编码单元的处理方法,其特征在于,通过各个其他编码模式对当前编码单元进行编码,获得所述其他编码模式各自的率失真代价值,包括:
通过各个其他编码模式对当前编码单元进行编码,获得各个其他编码模式各自的编码结果;
根据各个其他编码模式各自的编码结果,确定通过各个其他编码模式对所述当前编码单元进行编码时各自的率失真代价值;
其中,在根据各个其他编码模式各自的率失真代价值,确定不使用所述调色板模式对所述当前编码单元进行编码时,所述方法还包括:
根据各个其他编码模式各自的率失真代价值,从各个其他编码模式中确定出目标编码模式;
将所述目标编码模式对应的编码结果作为所述当前编码单元的编码结果。
8.一种编码单元的处理装置,其特征在于,包括:
获取模块,被配置为执行获取编码模式集合,所述编码模式集合中包括调色板模式和除所述调色板模式以外的多个其他编码模式;
编码模块,被配置为执行通过各个其他编码模式对当前编码单元进行编码,获得各个其他编码模式各自的率失真代价值;
确定模块,被配置为执行根据各个其他编码模式各自的率失真代价值,确定是否使用所述调色板模式对所述当前编码单元进行编码。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令,以实现如权利要求1至7中任一项所述的编码单元的处理方法。
10.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至7中任一项所述的编码单元的处理方法。
11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的编码单元的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211513883.7A CN115866257A (zh) | 2022-11-29 | 2022-11-29 | 编码单元的处理方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211513883.7A CN115866257A (zh) | 2022-11-29 | 2022-11-29 | 编码单元的处理方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115866257A true CN115866257A (zh) | 2023-03-28 |
Family
ID=85667945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211513883.7A Pending CN115866257A (zh) | 2022-11-29 | 2022-11-29 | 编码单元的处理方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115866257A (zh) |
-
2022
- 2022-11-29 CN CN202211513883.7A patent/CN115866257A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200260117A1 (en) | Methods and Apparatuses for Coding and Decoding Depth Map | |
US10455229B2 (en) | Prediction mode selection method, apparatus and device | |
WO2023045420A1 (zh) | 图像处理方法及装置、电子设备和存储介质 | |
CN111263243B (zh) | 视频编码方法、装置、计算机可读介质及电子设备 | |
CN112672149B (zh) | 一种视频处理方法、装置、存储介质及服务器 | |
US20230199192A1 (en) | Scene aware video content encoding | |
CN104581177A (zh) | 一种结合块匹配和串匹配的图像压缩方法和装置 | |
CN107820095B (zh) | 一种长期参考图像选择方法及装置 | |
JP7321583B2 (ja) | ピクチャヘッダ内の大域的運動ベクトルの信号伝達 | |
CN115022679A (zh) | 视频处理方法、装置、电子设备和介质 | |
US20230171410A1 (en) | Method for coding a video based on a long-term reference frame, device, and storage medium | |
JP2014099851A (ja) | イメージ分割システム及びその方法 | |
CN111277838B (zh) | 编码模式选择方法、装置、电子设备及计算机可读介质 | |
CN115866257A (zh) | 编码单元的处理方法及相关设备 | |
CN110809158B (zh) | 图像环路滤波处理方法、装置 | |
CN112437312B (zh) | 视频解码方法、编码方法、装置、设备及存储介质 | |
CN111212288B (zh) | 视频数据的编解码方法、装置、计算机设备和存储介质 | |
CN109587502B (zh) | 一种帧内压缩的方法、装置、设备及计算机可读存储介质 | |
CN113542737A (zh) | 编码模式确定方法、装置、电子设备及存储介质 | |
CN113489974A (zh) | 帧内预测方法、视频/图像编解码方法及相关装置 | |
CN113068050A (zh) | 树形编码块的样点自适应补偿模式确定方法、装置 | |
CN115661273B (zh) | 运动矢量的预测方法、装置、电子设备及存储介质 | |
CN115190295B (zh) | 视频帧处理方法、装置、设备及存储介质 | |
CN108769695B (zh) | 一种帧类别的转换方法、系统及终端 | |
WO2022033325A1 (zh) | 视频解码方法、视频编码方法、装置、设备和存储介质 |
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 |