CN115767103A - 一种数据处理方法、装置、计算机设备及存储介质 - Google Patents
一种数据处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN115767103A CN115767103A CN202211355258.4A CN202211355258A CN115767103A CN 115767103 A CN115767103 A CN 115767103A CN 202211355258 A CN202211355258 A CN 202211355258A CN 115767103 A CN115767103 A CN 115767103A
- Authority
- CN
- China
- Prior art keywords
- coded
- division
- partitioning
- unit
- recursive
- 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
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例公开了一种数据处理方法、装置、计算机设备及存储介质,适用于云技术中的数据传输领域,包括:获取针对目标视频帧中的待编码单元的递归划分策略集合;递归划分策略集合包括N个划分策略;N个划分策略包括划分策略Gi;按照划分策略Gi,对待编码单元进行块划分,得到划分策略Gi下的递归划分结果Ri;递归划分结果Ri包括基于划分策略Gi得到的待编码子单元;遍历N个划分策略对应的N个递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示待编码单元满足块划分条件,则根据N个递归划分结果,确定待编码单元的目标划分结果。采用本申请实施例,可以降低编码复杂度。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置、计算机设备及存储介质。
背景技术
在传统视频编码过程中,对一个视频数据中的视频帧的待编码单元进行块划分时,为了得到更加准确的编码结果,往往需要尝试多个划分策略,以最终选择出具有最优率失真代价的那个划分结果作为待编码单元的目标划分结果。其中,这里的多个划分策略包括不划分策略、水平二划分策略、垂直二划分策略等等。这意味着计算机设备需要依次无差别的尝试每个划分策略,且由于不同划分方式的组合有非常多种情况,这导致了确定最终划分结果这一块划分决策在整个编码过程中的复杂度极高。
发明内容
本申请实施例提供一种数据处理方法、装置、计算机设备及存储介质,可以降低编码复杂度。
本申请实施例一方面提供一种数据处理方法,包括:
获取针对目标视频帧中的待编码单元的递归划分策略集合;递归划分策略集合包括N个划分策略;N为正整数;N个划分策略包括划分策略Gi;i为小于或者等于N的正整数;
按照划分策略Gi,对待编码单元进行块划分,得到划分策略Gi下的递归划分结果Ri;递归划分结果Ri包括基于划分策略Gi得到的待编码子单元;
遍历N个划分策略对应的N个递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示待编码单元满足块划分条件,则根据N个递归划分结果,确定待编码单元的目标划分结果。
本申请实施例一方面提供一种数据处理装置,包括:
策略集合获取模块,用于获取针对目标视频帧中的待编码单元的递归划分策略集合;递归划分策略集合包括N个划分策略;N为正整数;N个划分策略包括划分策略Gi;i为小于或者等于N的正整数;
块划分模块,用于按照划分策略Gi,对待编码单元进行块划分,得到划分策略Gi下的递归划分结果Ri;递归划分结果Ri包括基于划分策略Gi得到的待编码子单元;
第一目标结果确定模块,用于遍历N个划分策略对应的N个递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示待编码单元满足块划分条件,则根据N个递归划分结果,确定待编码单元的目标划分结果。
其中,该第一目标结果确定模块包括:
结果遍历单元,用于依次遍历N个划分策略对应的N个递归划分结果;
编码参数获取单元,用于在遍历到递归划分结果Ri时,获取递归划分结果Ri所包含的待编码子单元的编码参数;
第一结果确定单元,用于若递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元满足块划分条件,则根据N个递归划分结果,确定待编码单元的目标划分结果;
第二结果确定单元,用于若递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元不满足块划分条件,则遍历N个递归划分结果中未被遍历的递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示待编码单元满足块划分条件,则根据N个递归划分结果,确定待编码单元的目标划分结果。
其中,该编码参数获取单元包括:
第一确定子单元,用于在遍历到递归划分结果Ri时,从递归划分结果Ri所包括的待编码子单元中确定待编码子单元Cj;j为小于或者等于Mi的正整数;Mi用于表征递归划分结果Ri中的待编码子单元的总数量;Mi为大于1的正整数;
预测模式获取子单元,用于获取待编码子单元Cj在采用不划分策略时所选择的预测模式;
状态参数确定子单元,用于基于块划分限制条件,确定待编码子单元Cj的划分状态参数;划分状态参数包括第一状态参数或第二状态参数;第一状态参数用于表征待编码子单元Cj的最优划分策略为不划分策略;第二状态参数用于表征待编码子单元Cj的最优划分策略属于递归划分策略集合;
编码参数确定子单元,用于将待编码子单元Cj的预测模式以及待编码子单元Cj的划分状态参数作为待编码子单元Cj的编码参数。
其中,预测模式包括帧内预测模式和帧间预测模式;帧内预测模式包括X1个预测模式;帧间预测模式包括X2个预测模式;X1和X2均为正整数;
该预测模式获取子单元还用于:
在帧内预测过程中,确定在采用X1个预测模式分别对待编码子单元Cj进行预测处理时,X1个预测模式中的每个预测模式对应的率失真代价,将X1个预测模式中具有最优率失真代价对应的预测模式,作为最优帧内预测模式;
在帧间预测过程中,确定在采用X2个预测模式,分别对待编码子单元Cj进行预测处理时,X2个预测模式中的每个预测模式对应的率失真代价,将X2个预测模式中具有最优率失真代价对应的预测模式,作为最优帧间预测模式;
从最优帧内预测模式和最优帧间预测模式中,将具有最优率失真代价对应的预测模式,作为待编码子单元Cj在采用不划分策略时所选择的预测模式。
其中,块划分限制条件包括第一限制条件;第一限制条件包括划分次数阈值;
该状态参数确定子单元还用于:
统计待编码子单元Cj所属待编码单元的划分次数;
若划分次数达到划分次数阈值,则确定待编码子单元Cj满足第一限制条件,将第一状态参数确定为待编码子单元Cj的划分状态参数;
若划分次数未达到划分次数阈值,则获取待编码子单元Cj对应的最优划分策略,在最优划分策略属于递归划分策略集合时,确定待编码子单元Cj不满足第一限制条件,将第二状态参数确定为待编码子单元Cj的划分状态参数。
其中,块划分限制条件包括第二限制条件;第二限制条件包括划分尺寸阈值;
该状态参数确定子单元还用于:
获取待编码子单元Cj的图像尺寸;
若图像尺寸小于或者等于划分尺寸阈值,则确定待编码子单元Cj满足第二限制条件,将第一状态参数确定为待编码子单元Cj的划分状态参数;
若图像尺寸大于划分尺寸阈值,则获取待编码子单元Cj对应的最优划分策略,在最优划分策略属于递归划分策略集合时,确定待编码子单元Cj不满足第二限制条件,将第二状态参数确定为待编码子单元Cj的划分状态参数。
其中,递归划分结果Ri包括Mi个待编码子单元;Mi个待编码子单元是基于划分策略Gi对待编码单元进行块划分后所得到的;Mi为大于1的正整数;块划分条件包括与预测模式相关联的第一块划分条件和与状态划分参数相关联的第二块划分条件;
该第一结果确定单元包括:
第一条件满足子单元,用于若Mi个待编码子单元对应的Mi个编码参数中的预测模式均有效且存在至少两个待编码子单元对应的预测模式不相同,则确定递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元满足第一块划分条件,基于第二块划分条件对Mi个编码参数中的划分状态参数进行分析;
第二条件满足子单元,用于若Mi个编码参数中的划分状态参数存在至少一个划分状态参数属于第二状态参数,则确定递归划分结果Ri所包含的待编码子单元的编码参数所指示的待编码单元满足第二块划分条件;第二状态参数用于表征对应待编码子单元的最优划分策略属于递归划分策略集合;
块划分条件满足子单元,用于在第一块划分条件与第二块划分条件均满足时,确定递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元满足块划分条件;
第二确定子单元,用于获取N个递归划分结果分别在预测处理过程中所得到的率失真代价,从N个率失真代价中选择具有最优率失真代价,将选择出的最优率失真代价所对应的划分结果作为待编码单元的目标划分结果。
其中,该第二结果确定单元包括:
第一条件不满足子单元,用于若Mi个待编码子单元对应的Mi个编码参数中的预测模式均有效且均相同,则确定递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元不满足第一块划分条件;
第三确定子单元,用于在确定不满足第一块划分条件时,确定递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元不满足块划分条件;
第四确定子单元,用于遍历N个递归划分结果中未被遍历的递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示待编码单元满足块划分条件,则根据N个递归划分结果,确定待编码单元的目标划分结果。
其中,该第二结果确定单元还包括:
第二条件不满足子单元,用于若Mi个待编码子单元对应的Mi个编码参数中的划分状态参数均属于第一状态参数,则确定递归划分结果Ri所包含的待编码子单元的编码参数所指示的待编码单元不满足第二块划分条件;第一状态参数用于表征对应待编码子单元的最优划分策略为不划分策略;
第五确定子单元,用于在确定不满足第二块划分条件时,确定递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元不满足块划分条件;
第六确定子单元,用于遍历N个递归划分结果中未被遍历的递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示待编码单元满足块划分条件,则根据N个递归划分结果,确定待编码单元的目标划分结果。
其中,该装置还包括:
结束遍历模块,用于若Mi个编码参数中的预测模式存在具有无效的预测模式,则结束遍历N个递归划分结果中未被遍历的递归划分结果分别所包含的待编码子单元的编码参数,将不划分策略确定为待编码单元的划分策略,将待编码单元确定为不划分策略下的原始划分结果;
第二目标结果确定模块,用于基于原始划分结果和N个递归划分结果,确定待编码单元的目标划分结果。
其中,该装置还包括:
原始结果确定模块,用于若遍历到递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元不满足块划分条件,且i等于N,则将不划分策略确定为待编码单元的划分策略,将待编码单元确定为不划分策略下的原始划分结果;
第三目标结果确定模块,用于基于原始划分结果和N个递归划分结果,确定待编码单元的目标划分结果。
其中,该第二目标结果确定模块包括:
第一指标获取单元,用于获取原始划分结果在预测处理过程中所得到的第一率失真代价;
第二指标获取单元,用于获取N个递归划分结果分别在预测处理过程中所得到的第二率失真代价;
第三结果确定单元,用于从第一率失真代价和N个第二率失真代价中,选择最优率失真代价,将具有最优率失真代价所对应的划分结果作为待编码单元的目标划分结果。
其中,该装置还包括:
目标帧确定模块,用于从视频数据中获取待进行编码处理的视频帧,确定视频帧的帧类型,在视频帧的帧类型属于目标帧类型时,将视频帧作为目标视频帧;目标帧类型属于非关键帧类型;
图像块确定模块,用于通过视频编码器对目标视频帧进行图像块划分处理,得到目标视频帧对应的一个或多个图像块;
待编码单元确定模块,用于基于一个或多个图像块,确定目标视频帧中的待编码单元。
本申请一方面提供了一种计算机设备,包括:处理器、存储器、网络接口;
处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,存储器用于存储计算机程序,处理器用于调用计算机程序,以使得计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中;计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行本申请实施例中的方法。
在本申请实施例中,具有视频编码功能的计算机设备在对目标视频帧中的待编码单元进行编码时,先获取包括N个划分策略的递归划分策略集合,以根据这N个划分策略依次对待编码单元进行块划分,从而得到N个划分策略分别对应的递归划分结果。由于该计算机设备需要先尝试N个划分策略,因此该计算机设备可以获取这N个递归划分结果在编码过程中已有的编码信息,即N个递归划分结果分别所包含的待编码子单元的编码参数,进而可以对其进行遍历,直到遍历到的编码参数指示待编码单元满足块划分条件,该计算机设备则可以无需尝试不划分策略,直接根据N个递归划分结果,快速确定待编码单元的目标划分结果。由此可见,本申请实施例中的递归划分结果所包含的待编码子单元的编码参数是该计算机设备在判断待编码单元是否需要采用不划分策略的判断依据,且递归划分结果所包含的待编码子单元的编码参数是在编码过程中已有的编码信息,即本申请实施例并不需要额外高复杂度的分析操作来获取判断依据,这意味着本申请实施例提供的这种快速划分方式无需引入额外的复杂度,便可以快速决定在待编码单元满足块划分条件时无需采用不划分策略,能够降低块划分决策在整个编码过程的编码复杂度,从而减少编码时间以及计算资源的开销。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的一种网络架构的结构示意图;
图1b是本申请实施例所提供的一种针对待编码单元的划分策略示意图;
图2是本申请实施例提供的一种进行块划分决策的场景示意图;
图3是本申请实施例提供的一种数据处理方法的流程示意图;
图4是本申请实施例提供的一种用于确定待编码子单元的划分状态参数的场景示意图;
图5是本申请实施例提供的一种数据处理方法的流程示意图;
图6是本申请实施例提供的一种图像块的划分结果示意图;
图7是本申请实施例提供的一种数据处理装置的结构示意图;
图8是本申请实施例提供的一种计算机设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施提供的数据处理方法可以适用于云技术中的数据传输领域,具有视频编码功能的计算机设备执行可以通过云技术,实现对多媒体数据(例如,视频数据)的数据编码及数据传输。其中,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
可以理解的是,该数据处理方法应用于视频通话场景、视频传输场景、云会议场景、直播场景、云游戏场景等高分辨率、高帧率的场景。其中,云会议是基于云计算技术的一种高效、便捷、低成本的会议形式。使用者只需要通过互联网界面,进行简单易用的操作,便可快速高效地与全球各地团队及客户同步分享语音、数据文件及视频,而会议中数据的传输、处理等复杂技术由云会议服务商帮助使用者进行操作。目前国内云会议主要集中在以SaaS(Software as a Service,软件即服务)模式为主体的服务内容,包括电话、网络、视频等服务形式,基于云计算的视频会议就叫云会议。在云会议时代,数据的传输、处理、存储全部由视频会议厂家的计算机资源处理,用户完全无需再购置昂贵的硬件和安装繁琐的软件,只需打开浏览器,登录相应界面,就能进行高效的远程会议。云会议系统支持多服务器动态集群部署,并提供多台高性能服务器,大大提升了会议稳定性、安全性、可用性。近年来,视频会议因能大幅提高沟通效率,持续降低沟通成本,带来内部管理水平升级,而备受欢迎,已广泛应用在交通、运输、金融、运营商、教育、企业、车联网等各个领域。毫无疑问,视频会议运用云计算以后,在方便性、快捷性、易用性上具有更强的吸引力,必将激发视频会议应用新高潮的到来。
其中,云游戏(Cloud gaming)又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
请参见图1a,图1a是本申请实施例提供的一种网络架构的结构示意图。如图1a所示,该网络架构可以包括服务器10F和终端设备集群。该终端设备集群可以包括一个或者多个终端设备,这里将不对终端设备的数量进行限制。如图1a所示,具体可以包括终端设备100a、终端设备100b、终端设备100c、…、终端设备100n。如图1a所示,终端设备100a、终端设备100b、终端设备100c、…、终端设备100n可以分别与上述服务器10F进行网络连接,以便于每个终端设备可以通过该网络连接与服务器10F进行数据交互。其中,这里的网络连接不限定连接方式,可以通过有线通信方式进行直接或间接地连接,也可以通过无线通信方式进行直接或间接地连接,还可以通过其他方式,本申请在此不做限制。
其中,该终端设备集群中的每个终端设备均可以包括:智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能电视等具有数据处理功能的智能终端。应当理解,如图1a所示的终端设备集群中的每个终端设备均可以安装有应用客户端,当该应用客户端运行于各终端设备中时,可以分别与上述图1a所示的服务器10F之间进行数据交互。其中,该应用客户端可以包括社交客户端、多媒体客户端(例如,视频客户端)、娱乐客户端(例如,游戏客户端)、信息流客户端、教育客户端、直播客户端等具有视频编码功能的客户端。其中,该客户端可以为独立的客户端,也可以为集成在某客户端(例如,社交客户端、教育客户端以及多媒体客户端等)中的嵌入式子客户端,在此不做限定。
如图1a所示,本申请实施例中的服务器10F可以为该应用客户端对应的服务器。该服务器10F可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。
为便于理解,本申请实施例可以在图1a所示的多个终端设备中选择一个终端设备作为业务对象所使用的对象终端设备。例如,本申请实施例可以将图1a所示的终端设备100a作为对象终端设备,该对象终端设备中可以集成有具备视频编码功能的应用客户端。此时,该对象终端设备可以通过该应用客户端对应的业务数据平台与服务器10F之间实现数据交互。
由于视频数据是连续的图像序列,由连续的视频帧构成,一帧即为一幅图像,且为便于储存传输,具有视频编码功能的计算机设备(例如,对象终端设备或图1a所示的服务器10F)可以通过视频编码器,对原始的视频数据进行编码处理,以得到该视频数据对应的视频码流,以至于去除空间、时间维度的冗余,减少数据存储时的存储空间,并提升数据传输时的传输效率。其中,这里的视频编码器可以为H.266视频编码器,AV1视频编码器,AVS3视频编码器等。
其中,视频帧的帧类型可以包括关键帧类型和非关键帧类型,比如,这里的关键帧类型所对应的视频帧可以为帧内编码帧(intra picture,简称I帧),I帧通常是每个GOP(Group of Pictures,即一组由连续的视频帧所构成的图像序列)的第一个帧,经过适度地压缩,作为随机访问的参考点,可以看成是一个图像经过压缩后的产物。这里的非关键帧类型所对应的视频帧可以包括前向预测编码帧(predictive-frame,简称P帧)、双向预测编码帧(bi-directional interpolated prediction frame,简称B帧)。其中,P帧通过充分降低于图像序列中前面已编码帧的时间冗余信息来压缩传输数据量的编码图像;B帧既考虑与源图像序列前面已编码帧,也顾及源图像序列后面已编码帧之间的时间冗余信息来压缩传输数据量的编码图像。
基于此,本申请实施例可以将视频数据中待进行编码处理,且属于非关键帧类型的视频帧称之为目标视频帧,以便于后续根据块划分条件,从视频编码标准所规定的划分策略中,来快速确定该目标视频帧中的待编码单元的目标划分结果。其中,这里的待编码单元(Coding Uint,简称CU)是指视频编码标准所规定的进行编码预测的基本编码单元,该待编码单元的图像尺寸在此不做限定,当然,本申请实施例还可以为待编码单元添加尺寸限制,即在待编码单元的像素个数超过像素阈值(例如,512)时,可以采用本申请实施例提供的这种快速划分方式。这里的像素阈值可以根据实际业务情况进行动态调整,这里将不对其进行限定。
为便于理解,进一步地,请参见图1b,图1b是本申请实施例所提供的一种针对待编码单元的划分策略示意图。其中,本申请实施例中的视频编码标准以块划分的方式进行编码,针对待编码单元的划分策略可以为视频编码标准所规定的多个划分策略,如图1b所示,这多个划分策略具体可以包括划分策略a以及递归划分策略集合。其中,该递归划分策略集合可以包括N个划分策略,N为正整数。比如,在视频编码标准为H.266标准时,这里的递归划分策略集合中所包括的划分策略的数量可以以5个为例,具体可以包括划分策略b(例如,水平二划分策略)、划分策略c(例如,垂直二划分策略)、划分策略d(例如,四划分策略)、划分策略e(例如,水平三划分策略)以及划分策略f(例如,垂直三划分策略)。
可以理解的是,为了编码效率最大化,即得到更加准确的编码结果,视频编码器往往需要尝试所有可能的划分形态,并最终选择具有最优率失真代价的那个划分结果作为待编码单元的目标划分结果,而针对待编码单元的划分策略的组合往往存在多个,这导致了编码过程中的复杂度极高,因此,本申请实施例在对待编码单元进行编码时,可以先按照递归划分策略集合中的5个划分策略,依次对待编码单元进行块划分,以得到5个划分策略分别对应的递归划分结果,进而可以基于这5个递归划分结果来决定当前待编码单元是否能够跳过采用图1b所示的划分策略a进行编码的方式,即决定后续是否还需要采用不划分策略进行编码。
为便于理解,进一步地,请参见图2,图2是本申请实施例提供的一种进行块划分决策的场景示意图。如图2所示,本申请实施例中的具有视频编码功能的计算机设备可以为上述图1a所示的终端设备集群中的任意一个终端设备,例如,终端设备100a,该计算机设备还可以为上述图1a所示的服务器10F,这里将不对计算机设备的具体形式进行限定。
应当理解,计算机设备获取到的视频数据可以为任意场景下的视频数据。比如,该视频数据可以为在车载场景中,通过图像采集器(例如,车载摄像头)所采集到的实时交通数据,该视频数据还可以为在音视频通话场景中通过手机摄像头所采集的与业务对象(例如,用户)相关联的实时会话数据,该视频数据还可以为计算机设备在网络上所下载的多媒体数据,例如,电视剧、电影等。这里将不对其进行一一举例。
可以理解的是,计算机设备在需要对目标视频帧中的待编码单元进行编码处理时,可以先获取针对该待编码单元的递归划分策略集合。其中,这里的递归划分策略集合可以包括图2所示的N个划分策略,N为正整数。这N个划分策略具体可以包括划分策略G1、划分策略G2、划分策略G3、…、划分策略GN。
进一步地,该计算机设备可以从递归划分策略集合中的N个划分策略中,获取划分策略Gi,进而可以按照划分策略Gi对待编码单元进行块划分,以得到划分策略Gi下的递归划分结果Ri。其中,这里的i为小于或者等于N的正整数,该递归划分结果Ri可以包括基于划分策略Gi所得到的待编码子单元。
在尝试完递归划分策略集合中的N个划分策略后,该计算机设备得到的递归划分结果可以包括划分策略G1下的递归划分结果R1、划分策略G2下的递归划分结果R2、划分策略G3下的递归划分结果R3、…、划分策略GN下的递归划分结果RN。其中,不同划分策略下的递归划分结果所包含的待编码子单元的数量可以存在不同,比如,递归划分结果R1可以包括基于划分策略G1(例如,上述图1b所示的划分策略b)得到的两个待编码子单元,递归划分结果R2可以包括基于划分策略G2(例如,上述图1b所示的划分策略d)得到的四个待编码子单元,递归划分结果R3可以包括基于划分策略G3(例如,上述图1b所示的划分策略e)得到的三个待编码子单元,这里将不对其进行一一举例。
进一步地,计算机设备需要遍历这N个递归划分结果分别所包含的待编码子单元的编码参数,以确定遍历到的编码参数指示待编码单元是否满足块划分条件。其中,这里的块划分条件是用于指示待编码单元是否需要跳过不划分策略。可以理解的是,若遍历到的编码参数指示待编码单元满足块划分条件,则该计算机设备无需采用不划分策略对待编码单元进行编码,而是可以直接根据N个递归划分结果,确定待编码单元的目标划分结果。
可选的,若遍历到的编码参数指示待编码单元不满足块划分条件,该计算机设备需要确定当前是否遍历完这N个递归划分结果,若未遍历完,则该计算机设备继续遍历未被遍历到的递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示待编码单元满足块划分条件,则计算机设备根据N个递归划分结果,确定待编码单元的目标划分结果。若已经遍历完,且这N个递归划分结果分别所包含的待编码子单元的编码参数均不满足块划分条件,则意味着该计算机设备还需要采用不划分策略对待编码单元进行编码,进一步地,该计算机设备需要基于采用不划分策略所得到的原始划分结果和上述N个递归划分结果,一并来确定待编码单元的目标划分结果。
由于任意一种递归划分结果所包含的待编码子单元的编码参数是该计算机设备在判断待编码单元是否需要采用不划分策略的判断依据,且递归划分结果所包含的待编码子单元的编码参数是在编码过程中已有的编码信息,即本申请实施例并不需要额外高复杂度的分析操作来获取判断依据,这意味着本申请实施例提供的这种快速划分方式无需引入额外的复杂度,便可以快速决定在满足块划分条件时无需采用不划分策略,能够有效降低块划分决策在整个编码过程复杂度中的占比,从而减少编码时间以及计算资源的开销。
其中,在根据递归划分策略集合中的N个划分策略分别对待编码单元进行块划分后得到递归划分结果时,计算机设备可以根据N个递归划分结果分别所包含的待编码子单元的编码参数以及块划分条件,来决定待编码单元是否需要跳过不划分策略的具体实现方式可以参见下述图3-图6所对应的实施例。
进一步地,请参见图3,图3是本申请实施例提供的一种数据处理方法的流程示意图。如图3所示,该方法可以由具有视频编码功能的计算机设备执行,该计算机设备可以为上述图1a所示的终端设备集群中的任意一个终端设备(例如,终端设备100a),也可以为服务器(例如,上述图1a所示的服务器10F),在此不做限定。该方法至少可以包括以下步骤S101-步骤S103:
步骤S101,获取针对目标视频帧中的待编码单元的递归划分策略集合。
其中,计算机设备在对某一视频数据进行编码时,可以从视频数据中获取待进行编码处理的视频帧,确定这一视频帧的帧类型。在视频帧的帧类型属于目标帧类型(即非关键帧类型)时,该计算机设备可以将这一视频帧作为目标视频帧,进而可以通过视频编码器对目标视频帧进行图像块划分处理,以得到该目标视频帧对应的一个或多个图像块,进一步地,该计算机设备可以基于这一个或多个图像块,确定目标视频帧的待编码单元。此时,该计算机设备可以获取针对待编码单元的递归划分策略集合,这里的递归划分策略集合包括N个划分策略;N为正整数。
如图1b所示,在视频编码标准为H.266标准时,这里的递归划分策略集合中所包括的划分策略的数量可以以5个为例,具体可以包括划分策略b(例如,水平二划分策略)、划分策略c(例如,垂直二划分策略)、划分策略d(例如,四划分策略)、划分策略e(例如,水平三划分策略)以及划分策略f(例如,垂直三划分策略)。
步骤S102,按照划分策略Gi,对待编码单元进行块划分,得到划分策略Gi下的递归划分结果Ri。
其中,N个划分策略包括划分策略Gi;i为小于或者等于N的正整数。具体地,该计算机设备在按照划分策略Gi对待编码单元进行块划分时,可以先确定划分策略Gi所指示的划分信息,这里的划分信息可以包括划分线的数量、每个划分线在待编码单元所处的划分位置。进一步地,该计算机设备可以按照划分策略Gi所指示的划分信息,对待编码单元进行块划分,以得到Mi个待编码子单元,进而可以将这Mi个待编码子单元确定为划分策略Gi下的递归划分结果Ri。其中,Mi为大于1的正整数。本申请实施例中的尝试N个划分策略的先后顺序在此不做限定。
比如,该计算机设备可以先从N个划分策略中获取划分策略N1(例如,如图1b所示的划分策略b),由于该划分策略b为水平二划分策略,这意味着划分策略b所指示的划分信息中包括一条划分线,且这条划分线在待编码单元所处的划分位置为水平中心位置。进一步地,该计算机设备可以按照该划分信息,对待编码单元进行块划分,以得到两个大小相同的待编码子单元,进而可以将这两个待编码子单元确定为划分策略G1下的递归划分结果R1。
又比如,该计算机设备还可以从N个个划分策略中获取划分策略N2(例如,如图1b所示的划分策略d),由于该划分策略d为四划分策略,这意味着划分策略d所指示的划分信息中包括两条互相垂直的划分线,且这两条划分线在待编码单元所处的划分位置分别为水平中心位置和垂直中心位置。进一步地,该计算机设备可以按照该划分信息,对待编码单元进行块划分,以得到四个大小相同的待编码子单元,进而可以将这四个待编码子单元确定为划分策略G2下的递归划分结果R2。以此类推,直到计算机设备得到N个划分策略分别对应的N个递归划分结果。
步骤S103,遍历N个划分策略对应的N个递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示待编码单元满足块划分条件,则根据N个递归划分结果,确定待编码单元的目标划分结果。
具体地,该计算机设备可以依次遍历N个划分策略对应的N个递归划分结果。在遍历到递归划分结果Ri时,该计算机设备可以获取递归划分结果Ri所包含的待编码子单元的编码参数,进而可以获取块划分条件,以对获取到的编码参数进行参数分析。其中,若递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元满足块划分条件,则该计算机设备可以根据N个递归划分结果,确定待编码单元的目标划分结果。可选的,若递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元不满足块划分条件,则该计算机设备可以遍历N个递归划分结果中未被遍历的递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示待编码单元满足块划分条件,则该计算机设备可以根据N个递归划分结果,确定待编码单元的目标划分结果。
其中,该计算机设备在遍历到递归划分结果Ri时,可以从递归划分结果Ri所包括的待编码子单元中确定待编码子单元Cj。这里的j为小于或者等于Mi的正整数;Mi用于表征递归划分结果Ri中的待编码子单元的总数量;Mi为大于1的正整数。进一步地,该计算机设备可以获取待编码子单元Cj在采用不划分策略时所选择的预测模式。与此同时,该计算机设备还可以基于块划分限制条件,确定待编码子单元Cj的划分状态参数。其中,这里的划分状态参数可以包括第一状态参数或第二状态参数,该第一状态参数可以用于表征待编码子单元Cj的最优划分策略为不划分策略;第二状态参数可以用于表征待编码子单元Cj的最优划分策略属于递归划分策略集合。进一步地,该计算机设备可以将待编码子单元Cj的预测模式以及待编码子单元Cj的划分状态参数作为待编码子单元Cj的编码参数。
由于视频编码标准所规定的预测模式(即编码预测技术)可以包括帧内预测模式(即该模式下当前帧的编码不参考其他帧的信息)和帧间预测模式(即该模式下需要使用相邻帧的信息对当前帧间进行预测)这两大类,该计算机设备需要从这两大类中,最终选择出具有最优率失真代价(即最小率失真代价)的预测模式作为待编码子单元Cj的预测模式。可以理解的是,在确定待编码子单元Cj的预测模式为帧内预测模式,该计算机设备可以将待编码子单元Cj的预测模式赋予为第一有效值(例如,1)。在确定待编码子单元Cj的预测模式为帧间预测模式,该计算机设备可以将待编码子单元Cj的预测模式赋予为第二有效值(例如,2)。其中,本申请实施例可以将赋予第一有效值或第二有效值的预测模式称之为有效的预测模式。当然,本申请实施例还存在一种特殊的情况,即由于本申请实施例采用自下而上的递归,因此在对当前待编码单元进行判断时,其某种划分方式的待编码子单元(或者更下级的待编码子单元)可能已经跳过了不划分策略,这会导致这一待编码子单元在不划分策略下的预测模式不可用,此时,本申请实施例可以将这种不可用的预测模式称之为无效的预测模式,即该计算机设备可以将该待编码子单元Cj的预测模式赋予为无效值(例如,0)。
其中,帧内预测模式可以包括X1个预测模式,比如,具体可以包括角度预测模式、多参考行技术、帧内预测子划分技术、位置相关的组合帧内预测、矩阵加权平均帧内预测以及交叉分量线性模型预测等。帧间预测模式可以包括X2个预测模式,比如,具体可以包括扩展的合并预测、带运动矢量差的合并模式、解码端修正技术、对称运动矢量差编码、仿射运动补偿预测、基于子块的时域运动矢量预测等;X1和X2均为正整数。
可以理解的是,在帧内预测过程中,该计算机设备可以确定在采用X1个预测模式分别对待编码子单元Cj进行预测处理时,X1个预测模式中的每个预测模式对应的率失真代价,进而可以将X1个预测模式中具有最优率失真代价(即最小率失真代价)对应的预测模式,作为最优帧内预测模式。同理,在帧间预测过程中,该计算机设备确定在采用X2个预测模式,分别对待编码子单元Cj进行预测处理时,X2个预测模式中的每个预测模式对应的率失真代价,进而可以将X2个预测模式中具有最优率失真代价对应的预测模式,作为最优帧间预测模式。此时,该计算机设备可以从最优帧内预测模式和最优帧间预测模式中,将具有最优率失真代价对应的预测模式,作为待编码子单元Cj在采用不划分策略时所选择的预测模式。
其中,在视频编码过程中,率失真代价可以作为编码性能的评估标准参数,用于多种选项的择优,因此,该计算机设备在对待编码单元进行编码处理后,可以基于待编码子单元对应的预测单元、待编码子单元、以及预测模式对应的编码辅助参数(例如,编码码率参数、编码失真参数),确定待编码子单元对应的率失真代价。率失真代价越小,意味着编码性能越好,反之亦然。其中,编码码率也表现为数据压缩的程度,编码码率越低,视频数据压缩的越厉害。具体地,率失真代价的计算公式可以参见下述公式(1):
rdcost=dist+bit×λ (1)
其中,rdcost是指率失真代价,dist表示编码失真参数,bit是指与预测模式相关联的编码码率参数,λ是拉格朗日因子。
在实际应用中,计算机设备常采用平均误差(SSE)、反映时域的绝对误差和(SAD)或者反映频域的绝对误差和(SATD)等客观质量评估标准作为编码失真参数的失真测度。可以理解的是,SSE表示原始像素与重构像素误差的平方和,需要对残差信号做变换、量化、逆量化、逆变换的过程,估算出的码子和真实编码出来的一样,选出的模式最节省码子,但计算复杂度也最大。
应当理解,在确定待编码子单元Cj的划分状态参数时,该计算机设备需要获取块划分限制条件。其中,块划分限制条件是指用于限制该计算机设备继续对当前编码子单元进行划分的业务条件。这里的块划分限制条件可以包括与划分次数相关联的第一限制条件或与图像尺寸相关联的第二限制条件。
其中,在块划分限制条件为第一限制条件时,该计算机设备可以获取第一限制条件所包括的划分次数阈值(例如,3)。进一步地,该计算机设备需要统计待编码子单元Cj所属待编码单元的划分次数,进而可以将统计到的划分次数与划分次数阈值进行比对。若划分次数达到划分次数阈值,则该计算机设备可以确定待编码子单元Cj满足第一限制条件,这意味着该待编码子单元Cj不需要继续进行划分,此时该计算机设备可以将第一状态参数确定为该待编码子单元Cj的划分状态参数。可选的,若划分次数未达到划分次数阈值,则该计算机设备需要获取待编码子单元Cj对应的最优划分策略,在最优划分策略属于不划分策略时,该计算机设备可以确定待编码子单元Cj满足第一限制条件,这意味着该待编码子单元Cj不需要继续进行划分,此时可以将第一状态参数确定为待编码子单元Cj的划分状态参数。可选的,若划分次数未达到划分次数阈值,则该计算机设备需要获取待编码子单元Cj对应的最优划分策略,在最优划分策略属于递归划分策略集合时,该计算机设备可以确定待编码子单元Cj不满足第一限制条件,这意味着该待编码子单元Cj还能够继续进行划分,此时可以将第二状态参数确定为待编码子单元Cj的划分状态参数。
为便于理解,进一步地,请参见图4,图4是本申请实施例提供的一种用于确定待编码子单元的划分状态参数的场景示意图。如图4所示,本申请实施例中的待编码单元4可以为具有视频编码功能的计算机设备从视频数据的目标视频帧中的所确定的。
应当理解,该计算机设备可以按照递归划分策略集合中的某一划分策略,对待编码单元4进行块划分,以得到包括待编码子单元4C1、待编码子单元4C2、待编码子单元4C3以及待编码子单元4C4的递归划分结果。进一步地,该计算机设备可以分别确定这4个待编码子单元中的每个待编码子单元的编码参数。其中,一个待编码子单元的编码参数包括这个待编码子单元的预测模式和这个待编码子单元的划分状态参数。
可以理解的是,由于本申请实施例提供的视频编码器是采用一种自下而上、类似于后序遍历的方式来遍历划分树,即对于一个CU节点而言,该视频编码器可以先递归各种继续划分为若干子块的划分策略,最终再决定是否需要尝试不划分策略。这意味着在将待编码子单元4C2看做是当前需要划分的图像块时,待编码子单元4C21和待编码子单元4C22可以被当做是划分后的子块(又称子CU)。同理,待编码子单元4C221和待编码子单元4C222也可以被称为待编码子单元4C22的子块。
比如,对于待编码子单元4C221而言,该计算机设备在确定其划分状态参数时,需要先统计待编码子单元4C221所属待编码单元(即原始的待编码单元4)的划分次数(例如,3),此时,该计算机设备可以确定划分次数达到划分次数阈值,这时该计算机设备可以确定待编码子单元4C221满足第一限制条件,这意味着该待编码子单元4C221不需要继续进行划分,此时该计算机设备可以将第一状态参数确定为该待编码子单元4C221的划分状态参数。
又比如,对于待编码子单元4C21而言,该计算机设备在确定其划分状态参数时,需要先统计待编码子单元4C21当前所属待编码单元(即原始的待编码单元4)的划分次数(例如,2),此时,该计算机设备可以确定待编码子单元4C21的划分次数未达到划分次数阈值(例如,3),这时该计算机设备需要获取待编码子单元4C21对应的最优划分策略,由于该待编码子单元4C21对应的最优划分策略属于不划分策略,因此该计算机设备可以确定待编码子单元4C21满足第一限制条件,这意味着该待编码子单元4C21不需要继续进行划分,此时可以将第二状态参数确定为待编码子单元4C21的划分状态参数。
又比如,对于待编码子单元4C22而言,该计算机设备在确定其划分状态参数时,需要先统计待编码子单元4C22当前所属待编码单元(即原始的待编码单元4)的划分次数(例如,2),此时,该计算机设备可以确定待编码子单元4C22的划分次数未达到划分次数阈值(例如,3),这时该计算机设备需要获取待编码子单元4C22对应的最优划分策略,由于该待编码子单元4C22对应的最优划分策略属于递归划分策略集合中的垂直二划分策略,因此该计算机设备可以确定待编码子单元4C22不满足第一限制条件,这意味着该待编码子单元4C22能够继续进行划分,此时可以将第二状态参数确定为待编码子单元4C22的划分状态参数。
再比如,对于待编码子单元4C2而言,该计算机设备在确定其划分状态参数时,需要先统计待编码子单元4C2当前所属待编码单元的划分次数(例如,1),此时,该计算机设备可以确定待编码子单元4C2的划分次数未达到划分次数阈值(例如,3),这时该计算机设备需要获取待编码子单元4C2对应的最优划分策略,由于待编码子单元4C2对应的最优划分策略属于递归划分策略集合中的水平二划分策略时,该计算机设备可以确定待编码子单元4C2不满足第一限制条件,这意味着该待编码子单元4C2还能够继续进行划分,此时可以将第二状态参数确定为待编码子单元4C2的划分状态参数。
可选的,在块划分限制条件为第二限制条件时,该计算机设备可以获取第二限制条件所包括的划分尺寸阈值,其中,这里的划分尺寸阈值可以用L1*L2所表示,L1和L2均可以用于表征一个子块的像素值数量的非负整数。进一步地,该计算机设备可以获取待编码子单元Cj的图像尺寸,进而可以将待编码子单元Cj的图像尺寸与划分尺寸阈值进行比对。若图像尺寸小于或者等于划分尺寸阈值,则该计算机设备可以确定待编码子单元Cj满足第二限制条件,这意味该待编码子单元Cj不需要继续进行划分,此时该计算机设备可以将第一状态参数确定为待编码子单元Cj的划分状态参数。可选的,若图像尺寸大于划分尺寸阈值,则该计算机设备需要获取待编码子单元Cj对应的最优划分策略,在最优划分策略属于不划分策略时,确定待编码子单元Cj满足第二限制条件,这意味着该待编码子单元Cj不需要继续进行划分,此时可以将第一状态参数确定为待编码子单元Cj的划分状态参数。可选的,若图像尺寸大于划分尺寸阈值,则该计算机设备需要获取待编码子单元Cj对应的最优划分策略,在最优划分策略属于递归划分策略集合时,确定待编码子单元Cj不满足第二限制条件,这意味着该待编码子单元Cj还能够继续进行划分,此时可以将第二状态参数确定为待编码子单元Cj的划分状态参数。
如图4所示,若计算机设备获取到的第二限制条件中的划分尺寸阈值为4*4,那么对于待编码子单元4C221而言,该计算机设备在确定其划分状态参数时,需要获取待编码子单元4C221的图像尺寸(例如,4*4),此时,该计算机设备可以确定待编码子单元4C221的图像尺寸等于划分尺寸阈值,进而可以确定待编码子单元4C221满足第二限制条件,这意味该待编码子单元4C221不需要继续进行划分,此时该计算机设备可以将第一状态参数确定为待编码子单元4C221的划分状态参数。
又比如,对于待编码子单元4C21而言,该计算机设备在确定其划分状态参数时,需要获取待编码子单元4C21的图像尺寸(例如,8*4),此时,该计算机设备可以确定待编码子单元4C21的图像尺寸小于划分尺寸阈值,进而需要获取待编码子单元4C21对应的最优划分策略,由于待编码子单元4C21对应的最优划分策略属于不划分策略时,则确定待编码子单元4C21满足第二限制条件,这意味着该待编码子单元4C21不需要继续进行划分,此时可以将第一状态参数确定为待编码子单元4C21的划分状态参数。
又比如,对于待编码子单元4C2而言,该计算机设备在确定其划分状态参数时,需要获取待编码子单元4C2的图像尺寸(例如,8*8),此时,该计算机设备可以确定待编码子单元4C2的图像尺寸大于划分尺寸阈值,进而需要获取待编码子单元4C2对应的最优划分策略,由于该待编码子单元4C2对应的最优划分策略属于递归划分策略集合中的水平二划分策略,因此该计算机设备可以确定待编码子单元4C2不满足第二限制条件,这意味着该待编码子单元4C2能够继续进行划分,此时可以将第二状态参数确定为待编码子单元4C2的划分状态参数。
计算机设备在获取到上述待编码子单元Cj的预测模式以及待编码子单元Cj的划分状态参数时,可以将其作为待编码子单元Cj的编码参数。可以理解的是,递归划分结果Ri可以包括Mi个待编码子单元;Mi个待编码子单元是基于划分策略Gi对待编码单元进行块划分后所得到的;Mi为大于1的正整数。基于此,本申请实施例可以参见待编码子单元Cj的编码参数的具体实施方式,获取递归划分结果Ri所包含的每个待编码子单元的编码参数。
进一步地,该计算机设备需要基于块划分条件,对递归划分结果Ri所包含的每个待编码子单元的编码参数进行分析。其中,这里的块划分条件可以包括与预测模式相关联的第一块划分条件和与状态划分参数相关联的第二块划分条件。
若Mi个待编码子单元对应的Mi个编码参数中的预测模式均有效且存在至少两个待编码子单元对应的预测模式不相同,则该计算机设备可以确定递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元满足第一块划分条件,进而需要基于第二块划分条件继续对Mi个编码参数中的划分状态参数进行分析。可以理解的是,若Mi个编码参数中的划分状态参数存在至少一个划分状态参数属于第二状态参数,则该计算机设备可以确定递归划分结果Ri所包含的待编码子单元的编码参数所指示的待编码单元满足第二块划分条件。其中,这里的第二状态参数用于表征对应待编码子单元的最优划分策略属于递归划分策略集合。在第一块划分条件与第二块划分条件均满足时,该计算机设备可以确定递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元满足块划分条件,此时,该计算机设备可以获取N个递归划分结果分别在预测处理过程中所得到的率失真代价,进而可以从N个率失真代价中选择具有最优率失真代价,将选择出的最优率失真代价所对应的划分结果作为待编码单元的目标划分结果。
如图4所示,该计算机设备可以在遍历到该待编码单元4在采用四划分策略下的递归划分结果时,可以获取该遍历到的递归划分结果所包括的每个待编码子单元的编码参数。比如,待编码子单元4C1的编码参数中的预测模式可以为帧内预测模式,状态划分参数可以为第一状态参数;待编码子单元4C2的编码参数中的预测模式可以为帧间预测模式,状态划分参数可以为第二状态参数;待编码子单元4C3的编码参数中的预测模式可以为帧间预测模式,状态划分参数可以为第一状态参数;待编码子单元4C4的编码参数中的预测模式可以为帧内预测模式,状态划分参数可以为第一状态参数。那么,对于待编码单元4而言,由于这4个待编码子单元对应的4个编码参数中的预测模式均有效且存在至少两个待编码子单元对应的预测模式不相同,此外,这4个编码参数中的状态划分参数还存在至少一个划分状态参数属于第二状态参数,这时,该计算机设备可以确定第一块划分条件和第二块划分条件均满足,此时,该计算机设备可以确定这一递归划分结果所包含的待编码子单元的编码参数指示待编码单元满足块划分条件,这意味着待编码单元4无需再尝试不划分策略,而是可以直接根据N个递归划分结果,快速确定待编码单元的目标划分结果。
可选的,若Mi个待编码子单元对应的Mi个编码参数中的预测模式均有效且均相同,则该计算机设备可以确定递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元不满足第一块划分条件。在确定不满足第一块划分条件时,该计算机设备可以确定递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元不满足块划分条件,此时,该计算机设备需要继续遍历N个递归划分结果中未被遍历的递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示待编码单元满足块划分条件,则该计算机设备可以根据N个递归划分结果,确定待编码单元的目标划分结果。
可选的,若Mi个待编码子单元对应的Mi个编码参数中的划分状态参数均属于第一状态参数,则该计算机设备可以确定递归划分结果Ri所包含的待编码子单元的编码参数所指示的待编码单元不满足第二块划分条件,其中,这里的第一状态参数用于表征对应待编码子单元的最优划分策略为不划分策略。在确定不满足第二块划分条件时,该计算机设备可以确定递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元不满足块划分条件,此时,该计算机设备需要继续遍历N个递归划分结果中未被遍历的递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示待编码单元满足块划分条件,则该计算机设备可以根据N个递归划分结果,确定待编码单元的目标划分结果。
可以理解的是,在该计算机设备确定递归划分结果Ri所包含的待编码子单元的编码参数所指示的待编码单元不满足第一块划分条件,或不满足第二块划分条件,或第一块划分条件和第二块划分条件均不满足时,该计算机设备仍然需要继续编码N个递归划分结果中未被遍历的递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示待编码单元满足块划分条件。
然而,若Mi个编码参数中的预测模式存在具有无效的预测模式,则该计算机设备可以结束遍历N个递归划分结果中未被遍历的递归划分结果分别所包含的待编码子单元的编码参数。这时,为了确保最终目标划分结果的准确度,该计算机设备确定待编码单元需要尝试不划分策略,即将不划分策略确定为待编码单元的划分策略,进而可以将待编码单元自身确定为不划分策略下的原始划分结果,此时,该计算机设备可以基于原始划分结果和N个递归划分结果,确定待编码单元的目标划分结果。
可选的,若遍历到递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元不满足块划分条件,且i等于N,则意味着该计算机设备已经完成遍历,且遍历到的每个递归划分结果所包含的待编码子单元的编码参数指示待编码单元均不满足块划分条件,这时,该计算机设备仍然需要尝试不划分策略,即将不划分策略确定为待编码单元的划分策略,将待编码单元确定为不划分策略下的原始划分结果,进而可以基于原始划分结果和N个递归划分结果,确定待编码单元的目标划分结果。
其中,可以理解的是,计算机设备在基于原始划分结果和N个递归划分结果,确定待编码单元的目标划分结果时,可以获取原始划分结果在预测处理过程中所得到的第一率失真代价,与此同时,该计算机设备还可以获取N个递归划分结果分别在预测处理过程中所得到的第二率失真代价。进一步地,该计算机设备可以从第一率失真代价和N个第二率失真代价中,选择最优率失真代价,将具有最优率失真代价所对应的划分结果作为待编码单元的目标划分结果。
在本申请实施例中,递归划分结果所包含的待编码子单元的编码参数是该计算机设备在判断待编码单元是否需要采用不划分策略的判断依据,且递归划分结果所包含的待编码子单元的编码参数是在编码过程中已有的编码信息,即本申请实施例并不需要额外高复杂度的分析操作来获取判断依据,这意味着本申请实施例提供的这种快速划分方式无需引入额外的复杂度,便可以快速决定在待编码单元满足块划分条件时无需采用不划分策略,能够降低块划分决策在整个编码过程的编码复杂度,从而减少编码时间以及计算资源的开销。
进一步地,请参见图5,图5是本申请实施例提供的一种数据处理方法的流程示意图。如图5所示,该方法可以由具有视频编码功能的计算机设备执行,该计算机设备可以为上述图1a所示的终端设备集群中的任意一个终端设备(例如,终端设备100a),也可以为服务器(例如,上述图1a所示的服务器10F),在此不做限定。该方法至少可以包括以下步骤S201-步骤S209:
步骤S201,获取针对目标视频帧中的待编码单元的递归划分策略集合。
步骤S202,按照划分策略Gi,对待编码单元进行块划分,得到划分策略Gi下的递归划分结果Ri。
步骤S203,依次遍历N个划分策略对应的N个递归划分结果,获取遍历到的递归划分结果所包含的待编码子单元的编码参数。
步骤S204,确定遍历到的递归划分结果所包含的待编码子单元的编码参数指示待编码单元是否满足第一块划分条件。
其中,若遍历到的递归划分结果所包含的待编码子单元的编码参数指示待编码单元确定满足第一块划分条件,则执行步骤S205;若遍历到的递归划分结果所包含的待编码子单元的编码参数指示待编码单元确定不满足第一块划分条件,则跳转执行步骤S207。
步骤S205,确定遍历到的递归划分结果所包含的待编码子单元的编码参数指示待编码单元是否满足第二块划分条件。
其中,若遍历到的递归划分结果所包含的待编码子单元的编码参数指示待编码单元确定满足第二块划分条件,则执行步骤S206;若遍历到的递归划分结果所包含的待编码子单元的编码参数指示待编码单元确定不满足第二块划分条件,则跳转执行步骤S207。
步骤S206,根据N个递归划分结果,确定待编码单元的目标划分结果。
步骤S207,确定是否结束遍历。
其中,若遍历到的递归划分结果所包含的待编码子单元的编码参数中的预测模式存在具有无效的预测模式,或N个递归划分结果中不存在未被遍历的递归划分结果,则该计算机设备确定结束遍历,进而执行步骤S208。否则,该计算机设备需要跳转执行步骤S203,继续遍历N个递归划分结果中未被遍历的递归划分结果分别所包含的待编码子单元的编码参数。
步骤S208,获取采用不划分策略下的原始划分结果。
步骤S209,根据N个递归划分结果和原始划分结果,确定待编码单元的目标划分结果。
其中,该步骤S201-步骤S209的具体实施方式可参见上述图3所对应实施例中对步骤S101-步骤S103的描述,这里将不再赘述。
可以理解的是,通过递归划分策略集合中的划分策略对待编码单元进行块划分后所得到的待编码子单元(又称子CU、子块)还可以继续按照视频编码标准所规定的多个划分方式进行划分,直到划分后的子块达到划分限制。对于一个图像块而言,视频编码标准并未规定划分的形态,这意味着符合划分策略的划分形态都是符合标准的,且不同的划分形态会带来不同的编码效率,即不同的划分形态所导致的率失真代价存在不同。所有可能的子CU可以组织成一颗搜索树,本申请实施例的视频编码器可以采用一种自下而上、类似于后序遍历的方式来遍历划分树,即对于一个CU节点而言,该视频编码器可以先递归各种继续划分为若干子块的划分策略,最终再决定是否需要尝试不划分策略。
为便于理解,进一步地,请参见图6,图6是本申请实施例提供的一种图像块的划分结果示意图。如图6所示,本申请实施例中的划分结果示意图可以为图像块最终可能呈现的一种划分形式,该图像块是具有视频编码功能的计算机设备对视频数据中的目标视频帧进行图像块划分处理后所得到的。
应当理解,该计算机设备可以将该图像块划分为多个待编码单元,这里可以以6个为例,具体可以包括图6所示的待编码单元61、待编码单元62、待编码单元63以及待编码单元64。其中,这里的待编码单元62所占据的区域可以是由待编码子单元62C1、待编码子单元62C2、待编码子单元62C3以及待编码子单元62C4所共同组成的;这里的待编码单元63所占据的区域可以是由待编码子单元63C1和待编码子单元63C2所共同组成的;这里的待编码单元64所占据的区域可以是由待编码子单元64C1、待编码子单元64C2以及待编码子单元64C3所共同组成的。
一般来说,纹理一致,预测效果较好的图像块适合大尺寸CU编码,比如,对于待编码单元61而言,该计算机设备得到的最优划分策略可以为不划分策略(例如,上述图1b所示的划分策略a),这意味着该待编码单元61的目标划分结果包括待编码单元61自身。
而纹理变化丰富、预测效果较差的图像块会划分较小尺寸的CU进行编码。比如,对于待编码单元62而言,该计算机设备得到的最优划分策略为递归划分策略中的某一划分策略(例如,上述图1b所示的划分策略d),这意味着该待编码单元62的目标划分结果所包含的待编码子单元可以包括待编码子单元62C1、待编码子单元62C2、待编码子单元62C3以及待编码子单元62C4。
可以理解的是,在对待编码单元进行块划分后,计算机设备还可以继续按照视频编码标准所规定的多个划分方式对已经划分出的子块(例如,待编码子单元)继续进行划分,直到划分后的子块达到划分限制。比如,由于待编码子单元62C2未达到划分限制,该计算机设备还需要对待编码子单元62C2继续进行划分,在确定待编码子单元62C2的最优划分策略为上述图1b所示的递归划分策略集合中的划分策略b时,这意味着该计算机设备可以将该待编码子单元62C2划分为图6所示的待编码子单元62C21和待编码子单元62C22。进一步地,由于待编码子单元62C22未达到划分限制,该计算机设备还能够继续对待编码子单元62C22进行块划分,在确定待编码子单元62C22的最优划分策略为上述图1b所示的递归划分策略集合中的划分策略c时,这意味着该计算机设备可以将该待编码子单元62C22划分为图6所示的待编码子单元62C221和待编码子单元62C222。
对于待编码单元63而言,该计算机设备得到的最优划分策略为递归划分策略中的某一划分策略(例如,上述图1b所示的划分策略b),这意味着该待编码单元63的目标划分结果所包含的待编码子单元可以包括待编码子单元63C1、和待编码子单元63C2。
对于待编码单元64而言,该计算机设备得到的最优划分策略为递归划分策略中的某一划分策略(例如,上述图1b所示的划分策略e),这意味着该待编码单元64的目标划分结果所包含的待编码子单元可以包括待编码子单元64C1、待编码子单元64C2以及待编码子单元64C3。
在本申请实施例中,若某一待编码单元所划分的待编码子单元的预测模式不一致,即一部分选择帧内预测模式,一部分选择帧间预测模式,这意味着当前待编码单元的图像内容纹理一致的可能性比较小,即不太可能用大尺寸的CU进行编码,同时,待编码子单元的最佳划分方式无法继续划分为更小子块也是判断当前待编码单元纹理一致的一大因素。由此可见,本申请实施例在自下而上的划分形式遍历基础上,如果在遍历到递归划分结果Ri所包含的Mi个待编码子单元存在至少两个待编码子单元在编码不划分方式时所选择的预测模式有效且不同,且至少一个待编码子单元的最优划分策略属于递归划分策略集合,即继续划分为若干下一级的子CU,这意味着该递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元满足块划分条件,此时可以跳过不划分策略,直接根据N个递归划分结果,确定待编码单元的目标划分结果。
由于该计算机设备在判断当前待编码单元是否需要采用不划分策略的判断依据,是在编码过程中已有的编码信息,即本申请实施例并不需要额外高复杂度的分析操作来获取判断依据,这意味着本申请实施例提供的这种快速划分方式无需引入额外的复杂度,便可以快速决定在待编码单元满足块划分条件时无需采用不划分策略,能够降低块划分决策在整个编码过程的编码复杂度,从而减少编码时间以及计算资源的开销。此外,对于直播一类的低时延业务来讲,本申请实施例的视频编码标准所支持的低码率能力和编码复杂度的降低的,能够有效提高用户的业务体验。
进一步地,请参见图7,图7是本申请实施例提供的一种数据处理装置的结构示意图。如图7所示,该数据处理装置1可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如,该数据处理装置1为一个应用软件;该数据处理装置1可以用于执行本申请实施例提供的方法中的相应步骤。如图7所示,该数据处理装置1可以运行于具有视频编码功能的计算机设备,该计算机设备可以为上述图1a所示的终端设备集群中的任意一个终端设备(例如,终端设备100a),也可以为服务器(例如,上述图1a所示的服务器10F),在此不做限定。该数据处理装置1可以包括:策略集合获取模块11,块划分模块12,第一目标结果确定模块13,结束遍历模块14,第二目标结果确定模块15,原始结果确定模块16,第三目标结果确定模块17,目标帧确定模块18,图像块确定模块19以及待编码单元确定模块20。
该策略集合获取模块11,用于获取针对目标视频帧中的待编码单元的递归划分策略集合;递归划分策略集合包括N个划分策略;N为正整数;N个划分策略包括划分策略Gi;i为小于或者等于N的正整数;
该块划分模块12,用于按照划分策略Gi,对待编码单元进行块划分,得到划分策略Gi下的递归划分结果Ri;递归划分结果Ri包括基于划分策略Gi得到的待编码子单元;
该第一目标结果确定模块13,用于遍历N个划分策略对应的N个递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示待编码单元满足块划分条件,则根据N个递归划分结果,确定待编码单元的目标划分结果。
其中,该第一目标结果确定模块13包括:结果遍历单元131,编码参数获取单元132,第一结果确定单元133以及第二结果确定单元134。
该结果遍历单元131,用于依次遍历N个划分策略对应的N个递归划分结果;
该编码参数获取单元132,用于在遍历到递归划分结果Ri时,获取递归划分结果Ri所包含的待编码子单元的编码参数。
其中,该编码参数获取单元132包括:第一确定子单元1321,预测模式获取子单元1322,状态参数确定子单元1323以及编码参数确定子单元1324。
该第一确定子单元1321,用于在遍历到递归划分结果Ri时,从递归划分结果Ri所包括的待编码子单元中确定待编码子单元Cj;j为小于或者等于Mi的正整数;Mi用于表征递归划分结果Ri中的待编码子单元的总数量;Mi为大于1的正整数;
该预测模式获取子单元1322,用于获取待编码子单元Cj在采用不划分策略时所选择的预测模式。
其中,预测模式包括帧内预测模式和帧间预测模式;帧内预测模式包括X1个预测模式;帧间预测模式包括X2个预测模式;X1和X2均为正整数;
该预测模式获取子单元1322还用于:
在帧内预测过程中,确定在采用X1个预测模式分别对待编码子单元Cj进行预测处理时,X1个预测模式中的每个预测模式对应的率失真代价,将X1个预测模式中具有最优率失真代价对应的预测模式,作为最优帧内预测模式;
在帧间预测过程中,确定在采用X2个预测模式,分别对待编码子单元Cj进行预测处理时,X2个预测模式中的每个预测模式对应的率失真代价,将X2个预测模式中具有最优率失真代价对应的预测模式,作为最优帧间预测模式;
从最优帧内预测模式和最优帧间预测模式中,将具有最优率失真代价对应的预测模式,作为待编码子单元Cj在采用不划分策略时所选择的预测模式。
该状态参数确定子单元1323,用于基于块划分限制条件,确定待编码子单元Cj的划分状态参数;划分状态参数包括第一状态参数或第二状态参数;第一状态参数用于表征待编码子单元Cj的最优划分策略为不划分策略;第二状态参数用于表征待编码子单元Cj的最优划分策略属于递归划分策略集合;
其中,块划分限制条件包括第一限制条件;第一限制条件包括划分次数阈值;
该状态参数确定子单元1323还用于:
统计待编码子单元Cj所属待编码单元的划分次数;
若划分次数达到划分次数阈值,则确定待编码子单元Cj满足第一限制条件,将第一状态参数确定为待编码子单元Cj的划分状态参数;
若划分次数未达到划分次数阈值,则获取待编码子单元Cj对应的最优划分策略,在最优划分策略属于递归划分策略集合时,确定待编码子单元Cj不满足第一限制条件,将第二状态参数确定为待编码子单元Cj的划分状态参数。
其中,块划分限制条件包括第二限制条件;第二限制条件包括划分尺寸阈值;
该状态参数确定子单元1323还用于:
获取待编码子单元Cj的图像尺寸;
若图像尺寸小于或者等于划分尺寸阈值,则确定待编码子单元Cj满足第二限制条件,将第一状态参数确定为待编码子单元Cj的划分状态参数;
若图像尺寸大于划分尺寸阈值,则获取待编码子单元Cj对应的最优划分策略,在最优划分策略属于递归划分策略集合时,确定待编码子单元Cj不满足第二限制条件,将第二状态参数确定为待编码子单元Cj的划分状态参数。
该编码参数确定子单元1324,用于将待编码子单元Cj的预测模式以及待编码子单元Cj的划分状态参数作为待编码子单元Cj的编码参数。
其中,该第一确定子单元1321,预测模式获取子单元1322,状态参数确定子单元1323以及编码参数确定子单元1324的具体实现方式可以参见上述图3所对应实施例中对编码参数的描述,这里将不再继续进行赘述。
该第一结果确定单元133,用于若递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元满足块划分条件,则根据N个递归划分结果,确定待编码单元的目标划分结果。
其中,递归划分结果Ri包括Mi个待编码子单元;Mi个待编码子单元是基于划分策略Gi对待编码单元进行块划分后所得到的;Mi为大于1的正整数;块划分条件包括与预测模式相关联的第一块划分条件和与状态划分参数相关联的第二块划分条件;
该第一结果确定单元133包括:第一条件满足子单元1331,第二条件满足子单元1332,块划分条件满足子单元1333以及第二确定子单元1334。
该第一条件满足子单元1331,用于若Mi个待编码子单元对应的Mi个编码参数中的预测模式均有效且存在至少两个待编码子单元对应的预测模式不相同,则确定递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元满足第一块划分条件,基于第二块划分条件对Mi个编码参数中的划分状态参数进行分析;
该第二条件满足子单元1332,用于若Mi个编码参数中的划分状态参数存在至少一个划分状态参数属于第二状态参数,则确定递归划分结果Ri所包含的待编码子单元的编码参数所指示的待编码单元满足第二块划分条件;第二状态参数用于表征对应待编码子单元的最优划分策略属于递归划分策略集合;
该块划分条件满足子单元1333,用于在第一块划分条件与第二块划分条件均满足时,确定递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元满足块划分条件;
该第二确定子单元1334,用于获取N个递归划分结果分别在预测处理过程中所得到的率失真代价,从N个率失真代价中选择具有最优率失真代价,将选择出的最优率失真代价所对应的划分结果作为待编码单元的目标划分结果。
其中,该第一条件满足子单元1331,第二条件满足子单元1332,块划分条件满足子单元1333以及第二确定子单元1334的具体实现方式可以参见上述图3所对应实施例中对满足块划分条件的描述,这里将不再继续进行赘述。
该第二结果确定单元134,用于若递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元不满足块划分条件,则遍历N个递归划分结果中未被遍历的递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示待编码单元满足块划分条件,则根据N个递归划分结果,确定待编码单元的目标划分结果。
其中,该第二结果确定单元134包括:第一条件不满足子单元1341,第三确定子单元1342,第四确定子单元1343,第二条件不满足子单元1344,第五确定子单元1345以及第六确定子单元1346。
该第一条件不满足子单元1341,用于若Mi个待编码子单元对应的Mi个编码参数中的预测模式均有效且均相同,则确定递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元不满足第一块划分条件;
该第三确定子单元1342,用于在确定不满足第一块划分条件时,确定递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元不满足块划分条件;
该第四确定子单元1343,用于遍历N个递归划分结果中未被遍历的递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示待编码单元满足块划分条件,则根据N个递归划分结果,确定待编码单元的目标划分结果。
该第二条件不满足子单元1344,用于若Mi个待编码子单元对应的Mi个编码参数中的划分状态参数均属于第一状态参数,则确定递归划分结果Ri所包含的待编码子单元的编码参数所指示的待编码单元不满足第二块划分条件;第一状态参数用于表征对应待编码子单元的最优划分策略为不划分策略;
该第五确定子单元1345,用于在确定不满足第二块划分条件时,确定递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元不满足块划分条件;
该第六确定子单元1346,用于遍历N个递归划分结果中未被遍历的递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示待编码单元满足块划分条件,则根据N个递归划分结果,确定待编码单元的目标划分结果。
其中,该第一条件不满足子单元1341,第三确定子单元1342,第四确定子单元1343,第二条件不满足子单元1344,第五确定子单元1345以及第六确定子单元1346的具体实现方式可以参见上述图3所对应实施例中对不满足块划分条件的描述,这里将不再继续进行赘述。
其中,该结果遍历单元131,编码参数获取单元132,第一结果确定单元133以及第二结果确定单元134的具体实现方式可以参见上述图3所对应实施例中对步骤S103的描述,这里将不再继续进行赘述。
该结束遍历模块14,用于若Mi个编码参数中的预测模式存在具有无效的预测模式,则结束遍历N个递归划分结果中未被遍历的递归划分结果分别所包含的待编码子单元的编码参数,将不划分策略确定为待编码单元的划分策略,将待编码单元确定为不划分策略下的原始划分结果;
该第二目标结果确定模块15,用于基于原始划分结果和N个递归划分结果,确定待编码单元的目标划分结果。
其中,该第二目标结果确定模块15包括:第一指标获取单元151,第二指标获取单元152以及第三结果确定单元153。
该第一指标获取单元151,用于获取原始划分结果在预测处理过程中所得到的第一率失真代价;
该第二指标获取单元152,用于获取N个递归划分结果分别在预测处理过程中所得到的第二率失真代价;
该第三结果确定单元153,用于从第一率失真代价和N个第二率失真代价中,选择最优率失真代价,将具有最优率失真代价所对应的划分结果作为待编码单元的目标划分结果。
其中,该第一指标获取单元151,第二指标获取单元152以及第三结果确定单元153的具体实现方式可以参见上述图3所对应实施例中对目标划分结果的描述,这里将不再继续进行赘述。
该原始结果确定模块16,用于若遍历到递归划分结果Ri所包含的待编码子单元的编码参数指示待编码单元不满足块划分条件,且i等于N,则将不划分策略确定为待编码单元的划分策略,将待编码单元确定为不划分策略下的原始划分结果;
该第三目标结果确定模块17,用于基于原始划分结果和N个递归划分结果,确定待编码单元的目标划分结果。
该目标帧确定模块18,用于从视频数据中获取待进行编码处理的视频帧,确定视频帧的帧类型,在视频帧的帧类型属于目标帧类型时,将视频帧作为目标视频帧;目标帧类型属于非关键帧类型;
该图像块确定模块19,用于通过视频编码器对目标视频帧进行图像块划分处理,得到目标视频帧对应的一个或多个图像块;
该待编码单元确定模块20,用于基于一个或多个图像块,确定目标视频帧中的待编码单元。
其中,该策略集合获取模块11,块划分模块12,第一目标结果确定模块13,结束遍历模块14,第二目标结果确定模块15,原始结果确定模块16,第三目标结果确定模块17,目标帧确定模块18,图像块确定模块19以及待编码单元确定模块20的具体实现方式可以参见上述图5所对应实施例中对步骤S201-步骤S209的描述,这里将不再继续进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步地,请参见图8,图8是本申请实施例提供的一种计算机设备的示意图。如图8所示,该计算机设备1000可以为具有视频编码功能的计算机设备,该计算机设备可以为上述图1a所示的终端设备集群中的任意一个终端设备(例如,终端设备100a),也可以为服务器(例如,上述图1a所示的服务器10F),在此不做限定。该计算机设备1000可以包括:至少一个处理器1001,例如,CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),网络接口1004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选地还可以是至少一个位于远离前述处理器1001的存储装置。如图8所示,作为一种计算机存储介质的存储器1005可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图8所示的计算机设备1000中,网络接口1004主要用于进行网络通信;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取针对目标视频帧中的待编码单元的递归划分策略集合;递归划分策略集合包括N个划分策略;N为正整数;N个划分策略包括划分策略Gi;i为小于或者等于N的正整数;
按照划分策略Gi,对待编码单元进行块划分,得到划分策略Gi下的递归划分结果Ri;递归划分结果Ri包括基于划分策略Gi得到的待编码子单元;
遍历N个划分策略对应的N个递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示待编码单元满足块划分条件,则根据N个递归划分结果,确定待编码单元的目标划分结果。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3和图5所对应实施例中对该数据处理方法的描述,也可执行前文图7所对应实施例中对该数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时实现图3和图5中各个步骤所提供的数据处理方法,具体可参见图3以及图5各个步骤所提供的实现方式,在此不再赘述。
计算机可读存储介质可以是前述任一实施例提供的数据传输装置或者计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smartmedia card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备可执行前文各实施例中对数据处理方法或装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包括。例如包括了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (17)
1.一种数据处理方法,其特征在于,包括:
获取针对目标视频帧中的待编码单元的递归划分策略集合;所述递归划分策略集合包括N个划分策略;N为正整数;所述N个划分策略包括划分策略Gi;i为小于或者等于N的正整数;
按照所述划分策略Gi,对所述待编码单元进行块划分,得到所述划分策略Gi下的递归划分结果Ri;所述递归划分结果Ri包括基于所述划分策略Gi得到的待编码子单元;
遍历所述N个划分策略对应的N个递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示所述待编码单元满足块划分条件,则根据所述N个递归划分结果,确定所述待编码单元的目标划分结果。
2.根据权利要求1所述的方法,其特征在于,所述遍历所述N个划分策略对应的N个递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示所述待编码单元满足块划分条件,则根据所述N个递归划分结果,确定所述待编码单元的目标划分结果,包括:
依次遍历所述N个划分策略对应的N个递归划分结果;
在遍历到所述递归划分结果Ri时,获取所述递归划分结果Ri所包含的待编码子单元的编码参数;
若所述递归划分结果Ri所包含的待编码子单元的编码参数指示所述待编码单元满足块划分条件,则根据所述N个递归划分结果,确定所述待编码单元的目标划分结果;
若所述递归划分结果Ri所包含的待编码子单元的编码参数指示所述待编码单元不满足所述块划分条件,则遍历所述N个递归划分结果中未被遍历的递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示所述待编码单元满足所述块划分条件,则根据所述N个递归划分结果,确定所述待编码单元的目标划分结果。
3.根据权利要求2所述的方法,其特征在于,所述在遍历到所述递归划分结果Ri时,获取所述递归划分结果Ri所包含的待编码子单元的编码参数,包括:
在遍历到所述递归划分结果Ri时,从所述递归划分结果Ri所包括的待编码子单元中确定待编码子单元Cj;所述j为小于或者等于Mi的正整数;Mi用于表征所述递归划分结果Ri中的待编码子单元的总数量;Mi为大于1的正整数;
获取所述待编码子单元Cj在采用不划分策略时所选择的预测模式;
基于块划分限制条件,确定所述待编码子单元Cj的划分状态参数;所述划分状态参数包括第一状态参数或第二状态参数;所述第一状态参数用于表征所述待编码子单元Cj的最优划分策略为不划分策略;所述第二状态参数用于表征所述待编码子单元Cj的最优划分策略属于所述递归划分策略集合;
将所述待编码子单元Cj的预测模式以及所述待编码子单元Cj的划分状态参数作为所述待编码子单元Cj的编码参数。
4.根据权利要求3所述的方法,其特征在于,所述预测模式包括帧内预测模式和帧间预测模式;所述帧内预测模式包括X1个预测模式;所述帧间预测模式包括X2个预测模式;X1和X2均为正整数;
所述获取所述待编码子单元Cj在采用不划分策略时所选择的预测模式,包括:
在帧内预测过程中,确定在采用所述X1个预测模式分别对所述待编码子单元Cj进行预测处理时,所述X1个预测模式中的每个预测模式对应的率失真代价,将所述X1个预测模式中具有最优率失真代价对应的预测模式,作为最优帧内预测模式;
在帧间预测过程中,确定在采用所述X2个预测模式,分别对所述待编码子单元Cj进行预测处理时,所述X2个预测模式中的每个预测模式对应的率失真代价,将所述X2个预测模式中具有最优率失真代价对应的预测模式,作为最优帧间预测模式;
从所述最优帧内预测模式和所述最优帧间预测模式中,将具有最优率失真代价对应的预测模式,作为所述待编码子单元Cj在采用不划分策略时所选择的预测模式。
5.根据权利要求3所述的方法,其特征在于,所述块划分限制条件包括第一限制条件;所述第一限制条件包括划分次数阈值;
所述基于块划分限制条件,确定所述待编码子单元Cj的划分状态参数,包括:
统计所述待编码子单元Cj所属待编码单元的划分次数;
若所述划分次数达到所述划分次数阈值,则确定所述待编码子单元Cj满足所述第一限制条件,将所述第一状态参数确定为所述待编码子单元Cj的划分状态参数;
若所述划分次数未达到所述划分次数阈值,则获取所述待编码子单元Cj对应的最优划分策略,在所述最优划分策略属于所述递归划分策略集合时,确定所述待编码子单元Cj不满足所述第一限制条件,将所述第二状态参数确定为所述待编码子单元Cj的划分状态参数。
6.根据权利要求3所述的方法,其特征在于,所述块划分限制条件包括第二限制条件;所述第二限制条件包括划分尺寸阈值;
所述基于块划分限制条件,确定所述待编码子单元Cj的划分状态参数,包括:
获取所述待编码子单元Cj的图像尺寸;
若所述图像尺寸小于或者等于所述划分尺寸阈值,则确定所述待编码子单元Cj满足所述第二限制条件,将所述第一状态参数确定为所述待编码子单元Cj的划分状态参数;
若所述图像尺寸大于所述划分尺寸阈值,则获取所述待编码子单元Cj对应的最优划分策略,在所述最优划分策略属于所述递归划分策略集合时,确定所述待编码子单元Cj不满足所述第二限制条件,将所述第二状态参数确定为所述待编码子单元Cj的划分状态参数。
7.根据权利要求2所述的方法,其特征在于,所述递归划分结果Ri包括Mi个待编码子单元;所述Mi个待编码子单元是基于所述划分策略Gi对所述待编码单元进行块划分后所得到的;Mi为大于1的正整数;所述块划分条件包括与预测模式相关联的第一块划分条件和与状态划分参数相关联的第二块划分条件;
所述若所述递归划分结果Ri所包含的待编码子单元的编码参数指示所述待编码单元满足块划分条件,则根据所述N个递归划分结果,确定所述待编码单元的目标划分结果,包括:
若所述Mi个待编码子单元对应的Mi个编码参数中的预测模式均有效且存在至少两个待编码子单元对应的预测模式不相同,则确定所述递归划分结果Ri所包含的待编码子单元的编码参数指示所述待编码单元满足所述第一块划分条件,基于所述第二块划分条件对所述Mi个编码参数中的划分状态参数进行分析;
若所述Mi个编码参数中的划分状态参数存在至少一个划分状态参数属于第二状态参数,则确定所述递归划分结果Ri所包含的待编码子单元的编码参数所指示的所述待编码单元满足所述第二块划分条件;所述第二状态参数用于表征对应待编码子单元的最优划分策略属于所述递归划分策略集合;
在所述第一块划分条件与所述第二块划分条件均满足时,确定所述递归划分结果Ri所包含的待编码子单元的编码参数指示所述待编码单元满足所述块划分条件;
获取所述N个递归划分结果分别在预测处理过程中所得到的率失真代价,从N个率失真代价中选择具有最优率失真代价,将选择出的最优率失真代价所对应的划分结果作为所述待编码单元的目标划分结果。
8.根据权利要求7所述的方法,其特征在于,所述若所述递归划分结果Ri所包含的待编码子单元的编码参数指示所述待编码单元不满足所述块划分条件,则遍历所述N个递归划分结果中未被遍历的递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示所述待编码单元满足所述块划分条件,则根据所述N个递归划分结果,确定所述待编码单元的目标划分结果,包括:
若所述Mi个待编码子单元对应的Mi个编码参数中的预测模式均有效且均相同,则确定所述递归划分结果Ri所包含的待编码子单元的编码参数指示所述待编码单元不满足所述第一块划分条件;
在确定不满足所述第一块划分条件时,确定所述递归划分结果Ri所包含的待编码子单元的编码参数指示所述待编码单元不满足所述块划分条件;
遍历所述N个递归划分结果中未被遍历的递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示所述待编码单元满足所述块划分条件,则根据所述N个递归划分结果,确定所述待编码单元的目标划分结果。
9.根据权利要求7所述的方法,其特征在于,所述若所述递归划分结果Ri所包含的待编码子单元的编码参数指示所述待编码单元不满足块划分条件,则遍历所述N个递归划分结果中未被遍历的递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示所述待编码单元满足块划分条件,则根据所述N个递归划分结果,确定所述待编码单元的目标划分结果,包括:
若所述Mi个待编码子单元对应的Mi个编码参数中的划分状态参数均属于第一状态参数,则确定所述递归划分结果Ri所包含的待编码子单元的编码参数所指示的所述待编码单元不满足所述第二块划分条件;所述第一状态参数用于表征对应待编码子单元的最优划分策略为不划分策略;
在确定不满足所述第二块划分条件时,确定所述递归划分结果Ri所包含的待编码子单元的编码参数指示所述待编码单元不满足所述块划分条件;
遍历所述N个递归划分结果中未被遍历的递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示所述待编码单元满足块划分条件,则根据所述N个递归划分结果,确定所述待编码单元的目标划分结果。
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
若所述Mi个编码参数中的预测模式存在具有无效的预测模式,则结束遍历所述N个递归划分结果中未被遍历的递归划分结果分别所包含的待编码子单元的编码参数,将不划分策略确定为所述待编码单元的划分策略,将所述待编码单元确定为所述不划分策略下的原始划分结果;
基于所述原始划分结果和所述N个递归划分结果,确定所述待编码单元的目标划分结果。
11.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若遍历到所述递归划分结果Ri所包含的待编码子单元的编码参数指示所述待编码单元不满足所述块划分条件,且i等于N,则将不划分策略确定为所述待编码单元的划分策略,将所述待编码单元确定为所述不划分策略下的原始划分结果;
基于所述原始划分结果和所述N个递归划分结果,确定所述待编码单元的目标划分结果。
12.根据权利要求10或11所述的方法,其特征在于,所述基于所述原始划分结果和所述N个递归划分结果,确定所述待编码单元的目标划分结果,包括:
获取所述原始划分结果在预测处理过程中所得到的第一率失真代价;
获取所述N个递归划分结果分别在预测处理过程中所得到的第二率失真代价;
从所述第一率失真代价和N个所述第二率失真代价中,选择最优率失真代价,将具有所述最优率失真代价所对应的划分结果作为所述待编码单元的目标划分结果。
13.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从视频数据中获取待进行编码处理的视频帧,确定所述视频帧的帧类型,在所述视频帧的帧类型属于目标帧类型时,将所述视频帧作为目标视频帧;所述目标帧类型属于非关键帧类型;
通过视频编码器对所述目标视频帧进行图像块划分处理,得到所述目标视频帧对应的一个或多个图像块;
基于所述一个或多个图像块,确定所述目标视频帧中的待编码单元。
14.一种数据处理装置,其特征在于,包括:
策略集合获取模块,用于获取针对目标视频帧中的待编码单元的递归划分策略集合;所述递归划分策略集合包括N个划分策略;N为正整数;所述N个划分策略包括划分策略Gi;i为小于或者等于N的正整数;
块划分模块,用于按照所述划分策略Gi,对所述待编码单元进行块划分,得到所述划分策略Gi下的递归划分结果Ri;所述递归划分结果Ri包括基于所述划分策略Gi得到的待编码子单元;
第一目标结果确定模块,用于遍历所述N个划分策略对应的N个递归划分结果分别所包含的待编码子单元的编码参数,直到遍历到的编码参数指示所述待编码单元满足块划分条件,则根据所述N个递归划分结果,确定所述待编码单元的目标划分结果。
15.一种计算机设备,其特征在于,包括:处理器和存储器以及网络接口;
所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供数据通信功能,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1至13任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1至13任一项所述的方法。
17.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,所述计算机程序适于由处理器读取并执行,以使得具有所述处理器的计算机设备执行权利要求1至13任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211355258.4A CN115767103A (zh) | 2022-11-01 | 2022-11-01 | 一种数据处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211355258.4A CN115767103A (zh) | 2022-11-01 | 2022-11-01 | 一种数据处理方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115767103A true CN115767103A (zh) | 2023-03-07 |
Family
ID=85355000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211355258.4A Pending CN115767103A (zh) | 2022-11-01 | 2022-11-01 | 一种数据处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115767103A (zh) |
-
2022
- 2022-11-01 CN CN202211355258.4A patent/CN115767103A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI622288B (zh) | 視訊解碼方法 | |
TWI601411B (zh) | 視訊解碼裝置 | |
TWI601414B (zh) | 對視訊進行畫面內預測的方法 | |
CN114501010B (zh) | 图像编码方法、图像解码方法及相关装置 | |
CN111277826B (zh) | 一种视频数据处理方法、装置及存储介质 | |
WO2019153861A1 (zh) | 一种双向帧间预测方法及装置 | |
US20170180745A1 (en) | Prediction method and Electronic Apparatus of encoding mode of variable resolution | |
WO2020048205A1 (zh) | 应用于双向帧间预测中的参考帧获取方法及装置 | |
CN112235582B (zh) | 一种视频数据处理方法、装置、计算机设备及存储介质 | |
CN110876065A (zh) | 候选运动信息列表的构建方法、帧间预测方法及装置 | |
KR102407912B1 (ko) | 양방향 인트라 예측 시그널링 | |
CN116489385A (zh) | 视频编码方法、解码方法、装置、电子设备及存储介质 | |
CN116405665A (zh) | 编码方法、装置、设备及存储介质 | |
CN115767103A (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN112055970B (zh) | 候选运动信息列表的构建方法、帧间预测方法及装置 | |
TW202209878A (zh) | 圖像編碼方法、圖像解碼方法及相關裝置 | |
CN115769573A (zh) | 编码方法、解码方法及相关装置 | |
CN113542737A (zh) | 编码模式确定方法、装置、电子设备及存储介质 | |
CN115733988A (zh) | 一种视频数据处理方法、装置、计算机设备以及存储介质 | |
CN117354524B (zh) | 编码器编码性能测试方法、装置、设备及计算机介质 | |
CN114125442B (zh) | 屏幕视频编码模式确定方法、编码方法、装置和计算设备 | |
RU2783337C2 (ru) | Способ декодирования видео и видеодекодер | |
CN114449283A (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN116170582A (zh) | 一种视频数据处理方法、装置、计算机设备以及存储介质 | |
CN115883844A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40083075 Country of ref document: HK |