CN116489385A - 视频编码方法、解码方法、装置、电子设备及存储介质 - Google Patents

视频编码方法、解码方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116489385A
CN116489385A CN202310545135.5A CN202310545135A CN116489385A CN 116489385 A CN116489385 A CN 116489385A CN 202310545135 A CN202310545135 A CN 202310545135A CN 116489385 A CN116489385 A CN 116489385A
Authority
CN
China
Prior art keywords
block
prediction mode
current block
inter
coding
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
Application number
CN202310545135.5A
Other languages
English (en)
Inventor
张佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202310545135.5A priority Critical patent/CN116489385A/zh
Publication of CN116489385A publication Critical patent/CN116489385A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请实施例提供了一种视频编码方法、解码方法、装置、电子设备及存储介质,可涉及多媒体、云技术、人工智能等领域,具体涉及编解码领域。该编码方法包括:确定当前待编码块的帧间预测效果;若所述帧间预测效果满足预设条件,则跳过帧内块复制IBC预测模式,采用除IBC预测模式之外的预测编码模式作为所述当前待编码块的目标预测模式;采用所述当前待编码块的目标预测模式对所述当前待编码块进行编码,得到所述当前待编码块的编码结果。采用本申请提供的方法,可有效提升编码效率。

Description

视频编码方法、解码方法、装置、电子设备及存储介质
技术领域
本申请属于编解码技术领域,可涉及多媒体、云技术、人工智能等领域,具体而言,本申请涉及一种视频解码方法、编码方法、装置及电子设备。
背景技术
视频是连续的图像序列,由连续的帧构成,一帧即为一幅图像。在实际应用中,为了降低数据存储或传输的数据量,通常都需要对视频进行编码处理。
预测编码是视频编码中的重要技术之一,采用预测编码方式可以对预测残差而非原始像素进行编码,因此,可以大幅提高编码效果。预测编码从大的层面可以分为帧内预测模式和帧间预测模式。帧内预测模式是利用图像内邻近像素之间的空间相关性,使用当前图像已编码的像素预测当前像素,以达到去除空间冗余,帧间预测编码是利用图像之间的时间相关性,使用邻近已编码的图像像素预测当前图像的像素,以达到去除时域冗余的目的。
随着科技的快速发展以及人们生活水平的提升,对于视频编解码的需求也在不断提升,如何降低编解码复杂度,提高编码效果,一直是相关技术人员在研究的重要问题之一。
发明内容
本申请实施例的目的旨在提供一种能够提升编码效率的视频编码方法、解码方法、装置、电子设备及存储介质。为了实现上述目的,本申请实施例提供的技术方案如下:
一方面,本申请实施例提供了一种视频编码方法,该方法包括:
确定当前待编码块的帧间预测效果;
若帧间预测效果满足预设条件,则跳过IBC(Intra Block Copy,帧内块复制/拷贝)预测模式,采用除IBC预测模式之外的预测编码模式作为当前待编码块的目标预测模式;
采用所述目标预测模式对当前待编码块进行编码,得到当前待编码块的编码结果。
可选的,所述帧间预测效果通过编码代价或所述当前待编码块的最佳帧间预测模式中的至少一项表征;所述帧间预测效果满足预设条件包括以下至少一项:
帧间预测的编码代价小于或等于设定代价;最佳帧间预测模式为指定帧间预测模式中的一种。
另一方面,本申请实施例提供了一种视频编码装置,该编码装置包括:
模式判决信息确定模块,用于确定当前待编码块的帧间预测效果;
模式判决模块,用于在所述帧间预测效果满足预设条件的情况下,跳过IBC预测模式,采用除IBC预测模式之外的预测编码模式作为所述当前待编码块的目标预测模式;
编码模块,用于采用所述目标预测模式对所述当前待编码块进行编码,得到所述当前待编码块的编码结果。
可选的,所述帧间预测效果通过编码代价或所述当前待编码块的最佳帧间预测模式中的至少一项表征,所述帧间预测效果满足预设条件包括以下至少一项:
帧间预测的编码代价小于或等于设定代价;
最佳帧间预测模式为指定帧间预测模式中的一种。
可选的,上述指定帧间预测模式至少包括帧间跳过skip模式。
可选的,模式判决信息确定模块可以用于:确定所述当前待编码块的内容类型,所述内容类型为自然内容或屏幕内容;
模式判决模块可以用于:在所述当前待编码块的内容类型为自然内容的情况下,跳过IBC预测模式,采用除IBC预测模式之外的预测编码模式作为对所述当前待编码块的目标预测模式,或者,在所述帧间预测效果满足预设条件且当前当编码块的内容类型为自然内容的情况下,跳过IBC预测模式。
可选的,所述当前待编码块的内容类型是通过以下任一方式得到的:
根据所述当前待编码块的图像内容中各像素点的像素值,确定所述当前待编码块的颜色统计特征,基于所述颜色统计特征,确定所述当前待编码块的内容类型;
通过训练好的分类模型预测得到所述当前待编码块所属的视频帧的各个待编码块的内容类型,所述各个待编码块包括所述当前待编码块。
可选的,所述训练好的分类模型是基于多个训练样本对初始的分类模型进行训练得到的,每个所述训练样本包括一个样本图像块和该样本图像块的标签,一个样本图像块的标签表征了该样本图像块的内容类型为自然内容或屏幕内容;其中,所述多个训练样本是通过以下方式得到的:
获取多个样本图像块;
对于每个样本图像块,确定该样本图像块的图像内容的颜色统计特征,基于该样本图像块的颜色统计特征,得到该样本图像块的标签。
可选的,所述颜色统计特征包括全局统计特征或局部统计特征中的至少一项,待处理块(待处理块为当前待编码块或样本图像块)的全局统计特征是通过以下方式确定的:
确定所述待处理块的图像内容中各像素点的像素值;
对于每个所述像素点,确定该像素点的像素值在多个第一颜色类别中所属的颜色类别,其中,每个所述第一颜色类别对应一个像素值区间;
根据各所述像素点所属的颜色类别,确定所述待处理块的图像内容中出现的颜色类别的第一类别数,所述全局统计特征包括所述第一类别数;
所述待处理块的内容类型是通过以下方式确定的:
若所述第一类别数不小于第一预设值或者所述第一类别数不大于第二预设值,确定所述待处理块的内容类型为自然内容。
可选的,所述颜色统计特征包括局部统计特征,所述局部统计特征是通过以下方式确定的:
将所述待处理块划分为多个子块;
对于每个所述子块,基于该子块中的各像素点的像素值,确定该子块中的各像素点的像素值在多个第二图像类别中所属的颜色类别,确定该子块中出现的颜色类别的第二类别数;
其中,所述局部统计特征包括每个所述子块对应的第二类别数;
所述待处理块的内容类型是通过以下方式确定的:
若满足以下至少一项,则确定待处理块的内容类型为自然内容:
对应的所述第二类别数不小于设定值的子块在所有子块中的占比不小于设定占比;
对应的所述第二类别数不小于设定值的子块的数量不小于设定数量。
可选的,所述模式判决信息确定模块可以用于:确定所述待处理块的块大小,若所述块大小小于或等于设定大小,将所述全局统计特征作为所述颜色统计特征,若所述块大小大于所述设定大小,所述颜色统计特征包括局部统计特征。
可选的,所述帧间预测效果满足预设条件包括:所述当前待编码块的最佳帧间预测模式为指定帧间预测模式中的一种;
其中,所述当前待编码块的目标预测模式是通过以下方式确定的:
在所述帧间预测效果满足预设条件的情况下,将所述最佳帧间预测模式作为所述目标预测模式;
在不跳过IBC预测模式的情况下,将IBC预测模式作为所述目标预测模式,或者从第一候选模式集合中确定出所述目标预测模式,其中,所述第一候选模式集合包括除所述指定帧间预测模式和IBC预测模式之外的至少一种预测编码模式;
当确定所述帧间预测效果的步骤是在确定所述当前待编码块的内容类型为屏幕内容的情况下执行时,若所述当前待编码块的内容类型为自然内容,从第二候选模式集合中确定出所述目标预测模式,其中,所述第二候选模式集合包括除IBC预测模式之外的至少一种预测编码模式。
可选的,模式判决模式还可以用于执行以下至少一项:
若当前的编解码应用场景为第一场景集合中的场景,则不执行判断是否跳过IBC预测模式的过程,从包括IBC预测编码模式的候选预测编码模式集合中确定所述当前待编码块的目标预测模式,所述第一场景集合中包括至少一种编解码应用场景;
若当前的编解码应用场景为第二场景集合中的场景,则跳过IBC预测模式;
若所述当前待编码块为视频帧的背景区域,则跳过IBC预测模式。
另一方面,本申请实施例提供了一种视频解码方法,该方法包括:
获取当前待解码块对应的编码结果,其中,所述编码结果是采用本申请实施例提供的编码方法对当前待编码块进行编码得到的;
通过解析所述编码结果,确定出所述当前待解码块对应的目标预测模式;
基于所述目标预测模式对所述编码结果解析,得到所述当前待解码块的解码结果。
另一方面,本申请实施例提供了一种视频解码装置,该装置包括:
编码结果获取模块,用于获取当前待解码块对应的编码结果,其中,所述编码结果是采用本申请实施例提供的编码方法对当前待编码块进行编码得到的;
解码模块,用于通过解析所述编码结果,确定出所述当前待解码块对应的目标预测模式,基于所述目标预测模式对所述编码结果解析,得到所述当前待解码块的解码结果。
另一方面,本申请实施例还提供了一种电子设备,该电子设备包括存储器和处理器,存储器中存储有计算机程序,处理器执行该计算机程序以实现本申请任一可选实施例中提供的方法。
另一方面,本申请实施例还提供了一种计算机可读存储介质,该存储介质中存储有计算机程序,该计算机程序被处理器执行时实现本申请任一可选实施例中提供的方法。
另一方面,本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现本申请任一可选实施例中提供的方法。
本申请实施例提供的技术方案带来的有益效果如下:
本申请实施例提供的视频编码方法,在对当前待编码块进行编码时,可以根据当前待编码块的帧间预测效果评估IBC预测模式是否适用于当前待编码帧,具体的,在当前待编码块对应于帧间预测模式的编码代价或者当前待编码帧的最佳帧间预测模式中的至少一项满足预设条件时,可以确定跳过IBC预测模式,采用其他预测模式作为当前待编码块的目标预测模式对其进行编码。采用本申请提供的方案,可以快速判断出可跳过IBC预测模式的一些情况,能够有效降低IBC预测模式的编码复杂度在视频的整体编码复杂度中的占比,从而可以在维持编码性能的前提下提高编码效率,更好的满足实际应用需求。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种视频编码方法的流程示意图;
图2为本申请提供的一种视频编码方法的流程示意图;
图3为本申请实施例提供的一种图像块的颜色分类流程示意图;
图4和图5为本申请实施例提供的两种视频编码方法的流程示意图;
图6为本申请实施例提供的一种视频解码方法的流程示意图;
图7为本申请实施例提供的一种应用场景中的系统架构的示意图;
图8为本申请实施例提供的另一种应用场景中的系统架构的示意图;
图9为本申请实施例提供的一种视频编码方法的流程示意图;
图10为本申请实施例提供的一种视频编码装置的结构示意图;
图11为本申请实施例提供的一种视频解码装置的结构示意图;
图12为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。在描述多个(两个或两个以上)项目时,如果没有明确限定多个项目之间的关系,这多个项目之间可以是指多个项目中的一个、多个或者全部,例如,对于“参数A包括A1、A2、A3”的描述,可以实现为参数A包括A1或A2或A3,还可以实现为参数A包括参数A1、A2、A3这三项中的至少两项。
本申请实施例提供了一种视频编解码方案,采用该方案,可以利用帧间预测效果和/或待编码块的内容特征判决是否跳过IBC预测模式,采用该方案,可以减少编码的复杂度,能够在维持编码性能的前提下,有效提高编码效率,因此能够更好的满足实际应用需求。
可选的,本申请实施例提供的方法中所涉及的数据处理可以基于云技术实现。例如,视频编解码过程中所涉及的数据计算可以采用云计算技术实现,所涉及的数据存储可以采用云存储的方式,如视频的存储可以采用云存储。
其中,云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
需要说明的是,在本申请的可选实施例中,所涉及到的对象信息等相关的数据,当本申请中的实施例运用到具体产品或技术中时,需要获得对象许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。也就是说,本申请实施例中如果涉及到与对象有关的数据,需要经由对象授权同意、相关部门授权同意、且符合国家和地区的相关法律法规和标准的情况下获取的。实施例中如涉及个人信息,所有个人信息的获取需要获得个人的同意,如涉及到敏感信息,需要征得信息主体的单独同意,实施例也是需要在对象授权同意的情况下实施。
下面通过对几个示例性实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
图1示出了本申请实施例提供的一种视频编码方法的流程示意图,该方法可以由任意电子设备执行,如可以由用户终端(也可称为终端、终端设备或用户设备等)或服务器执行。其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。用户终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备(例如智能音箱)、可穿戴电子设备(例如智能手表)、车载终端、智能家电(例如智能电视)、AR/VR设备等,但并不局限于此。用户终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例在此不做限制。
如图1所示,本申请实施例提供的视频编码方法可以包括以下步骤S110至步骤S130:
步骤S110:确定当前待编码块的帧间预测效果。
步骤S120:若帧间预测效果满足预设条件,则跳过IBC预测模式,采用除IBC预测模式之外的预测编码模式作为当前待编码块的目标预测模式;
步骤S130:采用当前待编码块的目标预测模式对当前待编码块进行编码,得到当前待编码块的编码信息。
可以理解的是,当前待编码块是指编码过程中当前待编码帧(可简称为当前待编码帧/当前帧)中当前在进行编码处理的图像块。本申请的一些实施例描述中,可以将编码过程和解码过程中正在处理的块称为当前块,编码阶段的当前块即为当前待编码块,解码阶段的当前块为当前待解码块即待重建的图像块。
本申请实施例中,对于当前帧、当前待编码块的具体获取/确定方式不做限定,可以采用现有技术中任意的视频编解码技术实现。比如,可以按照预设好的策略对待编码视频流中的各帧图像(或者是进行采样/抽帧处理后的各帧图像)进行依次编码或并行编码,当前在编码处理中的一帧图像就是当前帧,可以将当前帧划分为若干个编码块(CodingBlock,CB),按照设定顺序对各个编码块依次进行编码。
本申请实施例提供的方案可以应用于任意有编解码需求的应用场景中,即待编码视频流可以任一应用场景中需要编码的任意视频,如短视频、影视视频等,视频可以是实时视频,如直播视频、在线会议视频、在线通话视频等,也可以是非实时视频,如已经录制好的视频,视频网站的视频(如提供视频观看服务的应用程序的视频数据库中的视频)等等。其中,待编码的视频包括至少一个视频帧,也就是说,本申请实施例提供的方法也适用于对一张图像进行编码。
本申请实施例中,对于编码块的尺寸粒度不做限定,一个编码块可以是视频帧中设定大小的图像块,编码块的尺寸大小可以根据需求预配置。可选的,可以将需要编码的视频帧进行一次或多次划分,将划分后的每个子区域作为一个待编码块,如可以按照预设大小将待编码帧进行划分,或者将待编码帧分为n×n(n≥2)的子区域,将划分后的每个子区域分别作为一个待编码块,或者是将每个子区域再次进行划分,将再次划分得到的每个区域作为一个待编码块。可选的,编码块可以是一个编码单元(CU,Coding Unit)。
为了描述方便,下面的实施例描述中,当前待编码块可以以当前CU或当前CB为例进行说明。一个视频帧中的多个编码块的尺寸可以相同,也可以不同。在编码过程中,后文的编码块、图像块都是指当前帧中需要进行编码的块。
在进行编码时,为待编码块确定合适的预测编码模式,是保证编码效果的重要步骤之一。随着屏幕共享、云计算等应用的快速发展,由计算机或移动终端等电子设备产生的屏幕内容视频受到了越来越多的关注,对应的屏幕内容编码也已提出。IBC预测模式(也可称为IBC模式)主要是针对屏幕内容设计的一种预测模式。其依据是屏幕内容经常在同一帧中包含相同的图案,例如一个文本中一个字母多次出现。在这种情况下,编码器通过在当前帧已编码的区域中进行搜索,可能能够搜寻到一个与当前块非常相似或者完美匹配的区域对当前块进行预测,此时编码器仅需对很小的预测残差进行编码。虽然IBC预测模式对屏幕内容编码的编码性能带来提升,但并非所有情形下都适合采用IBC预测模式,且编码器在当前帧的已编码的区域中搜寻相似区域是一个计算复杂度颇高的过程,而编码复杂度高意味着编码需要更多的计算资源、更长的编码时间,这在很多的业务场景(如视频点播类的高转码负荷业务)中是否非常不友好的、甚至是不允许的,有些场景(如直播一类的低延时业务)中高编码复杂度更会直接降低用户的业务体验。因此,如何对IBC预测模式做出一些快速判断,对降低计算复杂度是十分有意义的。
本申请实施例中,为了能够在维持编码性能的前提下提高编码效率,从IBC预测模式的原理出发,提出了能够快速判决是否可以跳过IBC预测模式(也就是是否进行IBC模式编码)的多种可选方案。其中,考虑到IBC预测模式通常是对于一帧图像中包含相同图案的情况具有很好的效果,而帧间预测在非图像内容突变的情况下也能达到较好的图案匹配效果,基于此,作为本申请的一种可选方案,提出了基于当前待编码块的帧间预测效果来判决是否跳过IBC预测模式的方案。
其中,帧间预测效果是指当前待编码帧对应于帧间预测模式的编码效果,可以表征帧间预测模式的好坏,可以反映帧间预测模式对于当前待编码块的适用程度,帧间预测效果越好,说明帧间预测模式越适用于当前待编码块。
可以理解的是,帧间预测效果是在当前待编码块的可选/候选预测编码模式包括帧间预测模式时确定出的,如果当前帧属于采用帧内预测模式的图像,那么该图像中的各个编码块的预测编码模式为帧内预测编码。
如图2所示的流程图中,在对待编码视频进行编码处理时,可以先确定当前帧的帧类型,在当前帧支持帧间预测模式(如图2中所示的当前帧为P帧(predictive-frame,预测帧)或B帧(Bidirectional frame,双向帧))时,可以对当前帧中的当前块执行判断是否跳过IBC模式的步骤,确定出的该当前块对应于至少一种帧间预测模式的帧间预测效果,根据帧间预测效果进行判决是否跳过IBC预测模式。如果当前帧是I帧(帧内帧/帧内编码帧),该帧图像中的编码块的预测编码模式是帧内预测编码,帧间预测模式不是该帧图像的可选预测编码模式,对于当前帧中的当前块进行编码时,则采用帧内预测模式,例如,可以基于编码代价,从多种帧内预测模式(可以包括IBC预测模式,也可以不包括)中选择目标预测模式,或者也可以采用本申请提供的其他可选实施例先判断是否可以跳过IBC模式,如果判断跳过,则可以将IBC预测模式排除,从不包括IBC预测模式的帧内预测模式中确定当前待编码块目标预测模式。
对于帧间预测效果的具体方式,本申请实施例不做唯一限定,理论上只要是能够表征帧间预测模式对于当前预测块的好坏或者适用程度或者编码效果的信息都可以。可选的,帧间预测效果可以通过编码代价或当前待编码块的最佳帧间预测模式中至少一项表征;相应的,帧间预测效果满足预设条件包括以下至少一项:
编码代价小于或等于设定代价;
最佳帧间预测模式为指定帧间预测模式中的一种。
可选的,指定帧间预测模式至少包括帧间跳过skip模式。
在编码过程中,为了选择出更加合适于当前待编码块的编码预测模式,编码器会从多个候选预测模式中,根据一定的策略(如率失真代价)来确定当前待编码块的最佳预测模式。由于不同的预测编码模式通常会具有各自更加适用的场景,也会有各自不太适用的场景,因此,当前待编码块的最佳帧间预测模式是哪种预测模式是可以反映帧间预测模式对于当前待编码块的适用性的,也就反映了当前待编码块的帧间预测效果,可以采用当前待编码块的最佳帧间预测模式来表征帧间预测效果。可以通过预先指定/配置一种或多种帧间预测模式,通过判断当前待编码块的最佳帧间预测模式是否是指定的模式来确定当前待编码块的帧间预测效果的好坏。
其中,指定帧间预测模式具体包括哪种或哪几种预测模式,可以根据经验值和/或实验值配置。在实际应用中,通常帧间预测效果好时编码器会使用帧间skip模式进行预测编码,因此,可以将当前待编码块块在进行帧间预测时是否选择了skip模式作为预测效果是否足够好的依据,可选的,在当前待编码块的块的帧间预测结果(最佳帧间预测模式)是skip模式时,跳过IBC预测模式。
对于确定当前待编码块的最佳预测帧间模式的具体方式,本申请实施例也不做限定,可以按照预先配置好的预测模式确定策略来确定。在指定帧间预测模式包括skip模式时,对于确定当前待编码块的最佳帧间预测模式是否是帧间skip模式的具体实现方式,可以采用现有任意判断当前待编码块是否属于skip模式的判断方案,比如,可以根据当前待编码块对应的运动矢量的残差是否为0、变化系数是否为0等来确定是否可以将skip模式作为最佳预测模式。作为一可选方案,可以根据当前待编码块的图像区域是否是视频帧的背景区域来确定最佳预测模式,如果当前待编码块的图像区域是背景区域,可以将skip模式作为当前待编码块的最佳帧间预测模式。
编码代价可以表征预测模式的编码效果,因此,可以将帧间预测模式的编码代价作为判断是否跳过IBC预测模式的条件或者条件之一,如果编码代价小于或等于设定代价,说明帧间预测模式也可以达到不错的编码效果,可以采用帧间预测模式作为目标预测模式,跳过IBC预测模式,或者可以结合其他信息判断是否可以跳过IBC预测模式。可选的,编码代价可以采用一个或多个编码效果评估指标来表示,例如,可以通过率失真损失(率失真代价)表示,率失真损失越小,编码损失越小,也可以通过当前待编码块与其预测块之间的匹配程度表示,匹配程度越高效果越好,认为编码代价越小,比如,可以在当前帧的参考帧中搜索当前待编码块的预测块,将当前待编码块与预测块中相对应位置的各像素点的像素值的差值之和作为匹配程度,差值之和越小匹配程度越高。
本申请实施例中,在判断当前待编码块的编码代价是否小于或等于设定代价时,这里的编码代价可以是当前待编码块对应于一种具体的帧间预测模式的代价,即编码代价小于或等于设定代价是指对于待编码块而言存在编码代价小于设定代价的至少一种帧间预测模式。编码代价还可以是一个通用的编码代价,可以表征当前待编码块对应于帧间预测这种预测类型(如相对于帧内预测类型而言)的编码效果,例如,采用上述待编码块与其预测块之间的匹配程度表征编码损失时,可以不需要计算当前待编码块对应于某种或某几种帧间预测模式的率失真损失。
其中,上述设定代价的具体取值可以根据实验值和/或经验值预先配置,还可以根据应用场景的不同对该取值进行调整。在采用编码代价是具体的各种帧间预测模式(如skip模式)的编码代价时,不同的帧间预测模式对应的设定代价的取值可以相同,也可以不同。
在实际实施时,上述编码代价和最佳帧间预测模式可以单独使用,也可以组合使用。比如,可以预配置一候选模式集合,该集合中包括一种或多种帧间预测模式,例如,包括模式a和模式b,如果当前待编码块对应于模式a的编码代价小于设定代价A,或者当前待编码块对应于模式b的编码代价小于设定代价B,可以认为对当前待编码块采用帧间预测模式已经可以具有不错的编码效果,可以跳过IBC预测模式,可选的,可以将小于设定代价的预测模式作为目标预测模式对当前待编码块进行预测编码,或者,如果两种模式对应的编码代价都小于各自对应的设定代价,可以将编码代价较小的模式作为目标预测模式对待编码块进行预测编码。
再例如,编码代价和最佳帧间预测模式组合使用时,可以计算当前待编码块对应于上述指定帧间预测模式中每种模式的编码代价,编码代价最小的模式确定为最佳帧间预测模式,如果该模式的编码代价小于设定代价,则认为当前待编码的帧间预测效果满足预设条件(最佳帧间预测模式是指定帧间预测模式且最佳帧间预测模式对应的编码代价小于设定代价),可以跳过IBC预测模式。
由于IBC预测模式主要是针对屏幕内容设计的一种预测模式,本申请实施例中,在判决是否跳过IBC预测模式时,可以根据当前待编码块的图像内容的特性来判决。可选的,本申请提供的方法还包括:
确定当前待编码块的内容类型,内容类型为自然内容或屏幕内容;
若内容类型为自然内容,则跳过IBC预测模式,采用除IBC预测模式之外的预测编码模式作为对当前待编码块的目标预测模式;或者,上述若帧间预测效果满足预设条件,则跳过IBC预测模式,包括:若帧间预测效果满足预设条件且内容类型为自然内容,则跳过IBC预测模式。
也就是说,在判断是否可以跳过IBC预测模式时,可以根据当前待编码块的帧间预测效果或当前待编码块的内容类型中的一者来实现,也可以是根据两者进行联合判断,具体实现可以如下:
1)如果待编码块的内容类型为自然内容或者待编码块的帧间预测效果满足预设条件,则跳过IBC预测模式;
2)如果待编码块的内容类型为自然内容且待编码块的帧间预测效果满足预设条件,则跳过IBC模式。
对于上述方案1),确定当前待编码块的内容类型的步骤,可以在确定当前待编码块的帧间预测效果是否满足预设条件的步骤之前或之后执行,即如果当前待编码块的内容类型确定为屏幕内容,可以再确定当前待编码帧的帧间预测效果,判断预测效果是否满足预设条件,或者,在当前待编码块的帧间预测效果不满足预设条件时,再确定当前待编码块的内容类型,根据内容类型确定是否跳过IBC预测模式。
对于上述方案2),确定内容类型是否为自然内容步骤与确定帧间预测效果是否满足预设条件的步骤的执行顺序也没有限定,可以是任一步骤先执行,比如,先执行内容类型的判断,如果是自然内容,再继续根据帧间预测效果继续判断,如果不是自然内容,不跳过IBC预测模式,此时可以不执行确定帧间预测效果的步骤。当然,两个步骤也可以并行执行,只有同时满足内容类型是自然内容且帧间预测效果满足预设条件,才确定跳过IBC预测模式,否则IBC预测模式不跳过,也会作为候选预测模式,或者直接将IBC预测模式作为目标预测模式。
可选的,当前待编码块的内容类型可以是通过以下任一方式得到的:
根据当前待编码块的图像内容中各像素点的像素值,确定当前待编码块的颜色统计特征,基于颜色统计特征,确定当前待编码块的内容类型;
通过训练好的分类模型预测得到当前待编码块所属的视频帧的各个待编码块的内容类型,各个待编码块包括当前待编码块。
由于屏幕内容和自然内容的生成方式不同,相比于通过图像采集设备拍摄得到的自然内容,屏幕内容具有独特的内容特性,因此,可以根据当前待编码块的内容特征来判断当前待编码块是自然内容的图像块,还是屏幕内容的图像块。
本申请实施例中,待编码块的内容特征可以是图像内容的统计特征,例如,可以是待编码块所包含的各像素点的对应于至少一种像素点属性参数的统计学特征。可选的,内容特征可以是当前待编码块的颜色统计特征,该特征可以根据待编码块中各像素点的像素值统计得出,比如,颜色统计特征可以是待编码块的图像内容的直方图,该直方图中包括待编码块中出现的各个像素值的数量,也就是具有每种像素值的像素点的数量,根据直方图可以知晓待编码块中出现的像素值的数量,还可以知晓每种像素值的像素点的数量。相比于自然内容,屏幕内容的色彩信息一般分布比较集中、图像中像素值分布的连续性较差,出现的像素值的数量也会较少(大多数像素的像素值是相同的),因此,可以根据待编码块的直方图来区分待编码块是自然内容的图像块,还是屏幕内容的图像块。
可以理解的是,本申请实施例中,一个待编码块的内容类型为自然内容或屏幕内容,并不是说图像块百分之百是自然内容或屏幕内容,而是根据其内容特征识别出的结果,一个待编码块中可能既有自然内容,也有屏幕内容。一个待编码块的内容类型为自然内容可以解释为该待编码块所包含的图像内容是自然内容的可能性比较高或者主要图像内容是由摄像机拍摄产生的。
作为判断待编码块的内容类型的另一种可选方式,可以通过训练好的神经网络模型(分类模型)来识别图像内容是自然内容还是屏幕内容。其中,该分类模型可以是采用带有标签的训练样本对初始的分类模型进行训练得到的。每个训练样本可以包括一个样本图像块和该图像块的标签,该标签代表了该样本图像块的真实内容类型,比如,标签为1代表真实内容类型是自然内容,标签为0表示真实内容类型是屏幕内容。
对于训练样本的获取方式本申请实施例不做限定,可选的,可以获取大量的样本图像,将样本图像进行划分可以得到多个图像块,例如,可以按照编码过程中待编码块的大小将每个样本图像划分为多个样本图像块,可以通过人工标注或其他方式得到样本图像块的标签。
作为一可选方案,可以通过以下方式来得到多个训练样本:
获取多个样本图像块;
对于每个样本图像块,确定该样本图像块的图像内容的颜色统计特征,基于该样本图像块的颜色统计特征,得到该样本图像块的标签。
采用该方案,可以减少样本获取所需的人工成本,提高样本的获取效率,可以方便、快捷的获取到大量的训练样本。本申请实施例中,对于分类模型的具体模型结构本申请实施例不做限定,理论上基于任意类型网络的二分类模型都可以。在训练阶段,模型的输入可以是各个样本图像块,输出是样本图像块的分类结果,该分类结果为样本图像块的内容类型的预测结果,比如,分类结果为1代表自然内容,分类结果为0代表屏幕内容,或者分类结果是分别对应于自然内容和屏幕内容的两个概率值,两个概率值之和为1,每个概率值表示了样本图像块是该概率值对应的内容类型的可能性。根据大量样本图像块的分类结果和标签所表示的真实结果,可以计算模型的训练损失,对模型参数进行优化调整,通过不断训练得到满足应用需求的分类模型。在得到训练好的分类模型之后,对于待编码的视频流中的待编码帧(如p帧、b帧),可以将该帧的各个编码块分别输入到模型中,通过模型预测得到各个编码块的内容类型。采用模型预测的方式,可以方便、快捷的得知待编码帧中各个待编码块的内容类型,从而可以提高判断是否跳过IBC预测模式的判断效率,提高编码速度。
本申请的可选实施例中,待编码块或者训练样本中的样本图像块的颜色统计特征可以包括全局统计特征或局部统计特征中的至少一项。为了描述方便,将待编码块、样本图像块可以统称为待处理块。其中,待处理块的全局统计特征是指根据待处理块中的所有像素点的像素值统计得到的整个图像块的颜色统计特征,局部统计特征是将待处理块划分为多个子块之后,根据各个子块中包含的像素点的像素值统计得到的子块的颜色统计特征。
对于不同的应用场景、不同的预测编码方式或者不同的应用需求,图像块的中各种像素值的分布也会存在较大差异,针对不同的场景、不同的预测编码方式或不同的需求,可以选择采用全局统计特征或局部统计特征中一种或两种判断图像块的内容类型,以更好的保证判断结果。
可选的,待处理块(当前待编码块或样本图像块)的全局统计特征可以是通过以下方式确定的:
确定待处理块的图像内容中各像素点的像素值;
对于每个像素点,确定该像素点的像素值在多个第一颜色类别中所属的颜色类别,其中,每个第一颜色类别对应一个第一像素值区间;
根据各像素点所属的第一颜色类别,确定待处理块的图像内容中出现的第一颜色类别的第一类别数,全局统计特征包括第一类别数。
相应的,待处理块的内容类型可以是通过以下方式确定的:
若第一类别数不小于第一预设值或者第一类别数不大于第二预设值,确定待处理块的内容类型为自然内容。
其中,第一预设值大于第二预设值,对于两种设定值的具体取值,可以根据实验值、经验值或者通过对样本图像进行像素值种类进行统计得到的统计值。可选的,第二预设值可以为1。此时,如果一个待处理块中出现的颜色类别的总数大于第二预设值且小于第一预设值,可以认为该处理块是屏幕内容。其中,一个颜色类别对应的一个像素值区间,一个像素值区间可以包括多个连续的像素值,不同的像素值区间之间不包含重复的像素值。
对于像素值区间的具体划分方式,本申请实施例不做唯一限定。作为一可选方案,可以按照预设的像素值间隔将像素值的分布范围划分为多个颜色类别,也就是颜色区间,例如,像素值可以是指像素点的灰度值,以像素值的分布范围为0~255为例,可以以每连续的8个像素值作为一个颜色类别,那么颜色类别有32个,例如,像素值0~7属于第0个颜色类别,像素值8~15属于第1个颜色类别,以此类推,像素值248~255属于第32个颜色类别。对于当前待编码块或样本图像块,可以根据其所包含的各个像素点的像素值和每个颜色类所对应的像素值区间,统计出待编码块或图像块中存在的颜色类别。
以当前块为例,图3示出了采用上述可选方案确定当前块中存在的颜色类别的数量的流程示意图,如图3所示,32个颜色类别可以有各自对应的标志位,一个标志位对应一个颜色类别,每个标志位都有一个初始值,例如标志位的初始值为0,在对图像内容进行颜色分类时,如果某个颜色类别的像素点存在,该颜色类别对应的标志位的值会更新,如更新为1。对于当前块,在开始分类时,首先将32个颜色类别的标志位进行复位,如将所有标志位都复位为初始值0,然后按照预设的顺序对当前块中的各个像素点依次进行分类或者是对多个像素点进行并行处理(同时进行分类处理),如果当前块中还存在没有分类的像素点,则将该待分类的像素点的像素值除以8之后向下取整得到值s,第s个颜色类就是该像素点所属的颜色类别,将第s个颜色类的标志位置位为1,如果该标志位已经是1,则保持该标志位的值为1即可。在完成对当前块中所有像素点的像素值的分类之后,32个颜色类中标志位的值为1的颜色类的数量就是该当前块中存在的颜色类别的数量。
对于一个待编码块,如果该待编码块中出现的颜色类别的数量大于第一预设值,说明该待编码块中的图像内容的颜色信息比较丰富,可以认为该块中包含自然内容,可以将该待编码块当作自然内容的图像块,可以不进行IBC编码。如果一个待编码块中出现的颜色类别不大于第二预设值,比如,第二预设值为1,此时待编码块中所有像素点的像素值都非常的接近,待编码块属于基本没有纹理的图像块,此时,不采用IBC编码,也能够从帧间预测模式或其他帧内预测模式中选择出编码效果不错的目标预测模式,因此,也可以计算复杂度高的IBC编码,虽然此时待编码块很可能不是自然内容的图像块,但也可以对该图像块采用与自然内容的图像块一样的处理方式,将该图像块的内容类型认为是自然内容。
由于全局统计特征反映的是整个图像块中所有像素点的颜色分布特征,有时从该特征不能够看出图像块中局部区域的分布情况,例如,一个图像块中的颜色种类较多,但是整个图像块中只有局部很小的一块区域是由多种颜色的,如果这块区域的内容在实际应用中的影响不大,将该图像块判别为自然内容反而有可能不太符合实际需求。考虑到可能存在的问题,对于图像块的内容类型的判断也可以采用局部统计特征,或者局部统计特征和全局统计特征相结合。
可选的,待处理块的局部统计特征是通过以下方式确定的:
将待处理块划分为多个子块;
对于每个子块,基于该子块中的各像素点的像素值,确定该子块中的各像素点的像素值在多个第二颜色类别中所属的颜色类别,确定该子块中出现的第二颜色类别的第二类别数;每个第二颜色类别对应一个第二像素值区间;
其中,局部统计特征包括每个子块对应的第二类别数。
相应的,待处理块的内容类型可以是通过以下方式确定的:
若满足以下至少一项,则确定待处理块的内容类型为自然内容:
对应的第二类别数大于或等于设定值的子块在所有子块中的占比不小于设定占比;对应的第二类别数大于或等于设定值的子块的数量不小于设定数量。
其中,第一颜色类别和第二颜色类别的类别划分方式可以相同,也可以不同。通过统计每个子块对应的第二类别数,可以获知待处理块中每个局部区域的颜色分布特征,如果一个待处理块中颜色类别丰富的子块的较多,可以认为待处理块的主要内容是自然内容,将其内容类型确定为自然内容,反之,如果颜色类别丰富的子块很少,可以认为该待处理块的主要内容是屏幕内容。
对于上述设定值、设定占比、设定数量的具体取值,可以根据实际需求进行配置,本申请实施例不做限定。
作为一可选方案,颜色统计特征可以同时包括全局统计特征和局部统计特征,此时,确定一个待处理块的内容类型是否是自然内容时,可以是全局统计特征满足相应的条件,或者是局部统计特征满足相应的条件,也可以是两者都需要满足各自对应的条件。例如,如果第一类别数不小于第一预设值且上述占比不小于设定占比,确定待处理块的内容类型为自然内容,如果第一类别数不小于第一预设值但上述占比小于设定占比,可以认为待处理块的内容类型不是自然内容。
作为一种可选方案,本申请提供的方法还可以包括:
确定待处理块的块大小;
若块大小小于或等于设定大小,将全局统计特征作为颜色统计特征;
若块大小大于设定大小,颜色统计特征包括局部统计特征。
采用该方案,如果待处理块的尺寸比较小,也就是像素点的数量相对较少,可以只统计待处理块的全局统计特征,可以减少数据处理量,如果待处理块的尺寸比较大,至少要统计待处理块的局部统计特征,以尽可能保障判断结果的准确性。其中,设定大小可以根据实际需求预先配置,还可以根据场景的不同进行调整。
图4和图5示出了本申请实施例提供的两种可选方案的流程示意图,这两种可选方案中,指定帧间预测模式为帧间skip模式,像素值的分布范围被划分了32个颜色类别(第一颜色类别),参见前文,一个颜色类别对应8个像素值,像素值0~7为第0类,像素值8~15为第1类,以此类推,像素值248~255为第31类。第一预设值为4,第二预设值为1。
如图4所示,对于当前帧的当前块,可以先对其进行帧间预测编码,根据编码效果确定出最佳帧间预测模式,或者根据预设策略直接先判断skip模式是否适用(如果适用,skip模式可以确定为skip模式),通过该帧间预测过程确定出skip模式是否为最佳预测模式,如果是,可以将帧间skip模式直接作为当前块的目标预测模式,采用该模式对当前块进行编码。
如果skip模式不是最佳预测模式,进一步对当前块中所包含的所有像素点的像素值进行颜色分类,确定出当前块中出现的颜色类别的数量,如果颜色类别数量不小于4,则认为当前块中包括了自然内容,则跳过IBC预测,采用其他预测模式对当前块进行编码,此时由于已经确定帧间skip模式不是最佳预测模式,当前块的目标预测模式可以是除skip模式和IBC之外的其他预测模式,比如,可以直接采用帧间预测过程确定出的最佳预测模式作为目标预测模式,或者从其他预测模式中根据编码代价或其他策略中确定出目标预测模式。如果当前块包含的颜色类别数量为1,采用帧间预测也可以取得很不错的编码效果,也采用自然内容的图像块一样的处理方式,采用除skip模式和IBC之外的其他预测模式对当前块进行编码。
如果当前块的最佳预测模式不是帧间skip模式,且当前块中出现的颜色类别数量大于1小于4,则不跳过IBC模式,可以直接将IBC模式对当前块进行编码,或者从包括IBC模式但不包括帧间skip模式的候选预测模式中选择目标预测模式。
对于图5中所示的可选方案,通过比对图4和图5可以看出,图5的方案是先执行了确定当前块出现的颜色类别数量的步骤,如果根据颜色类别数量不能够确定可以跳过IBC(即图5中颜色类别数量不满足等于1或者不小于4的情况)时,再执行确定当前块的最佳帧间预测模式的步骤,根据最佳帧间预测模式是否是skip模式再判断是否可以跳过IBC模式。
本申请实施例提供的方案,利用了待编码块的帧间预测效果或内容特性中的至少一者来决定是否进行IBC预测模式编码,采用本申请实施例提供的方案,可以在IBC预测模式不太使用的情况下跳过该模式,降低该模式带来的计算复杂度,可以在维持编码性能的前提下进行编码加速。
对于当前待编码块,在通过本申请提供的任一实施例提供的方案确定出可以跳过IBC预测模式之后,可以采用除该模式之外的其他预测编码模式作为该待编码块的目标预测模式,采用目标预测模式对该待编码块进行编码,得到编码结果。其中,对于确定跳过IBC预测模式的情况,目标预测模式的确定方式本申请不做限定,比如,可以从除IBC预测模式之外的候选预测模式中选择,如可以根据率失真损失选择,将率失真损失最小的预测模式作为目标预测模式;再比如,如果在判断是否跳过IBC预测模式的过程中,确定过待编码块的最佳预测模式(如最佳帧间预测模式),也可以将该最佳预测模式作为目标预测模式。如果根据本申请提供的方案,没有确定要跳过IBC预测模式,可以将IBC预测模式作为目标预测模式,或者从包含IBC预测模式的候选预测模式中选择目标预测模式。
作为一可选方案,当前待编码块的帧间预测效果满足预设条件包括:当前待编码块的最佳帧间预测模式为指定帧间预测模式中的一种,例如,最佳帧间预测模式是帧间skip模式,在帧间预测效果满足预设条件的情况下,将最佳帧间预测模式作为当前待编码块的目标预测模式。
可选的,在不跳过IBC预测模式的情况下(如当前待编码块的帧间预测效果不满足预设条件且当前待编码块的内容类型为屏幕内容的情况下),将IBC预测模式作为目标预测模式,或者从第一候选模式集合中确定出所述目标预测模式,其中,第一候选模式集合包括除指定帧间预测模式和IBC预测模式之外的至少一种预测编码模式。
可选的,当确定帧间预测效果的步骤是在确定当前待编码块的内容类型为屏幕内容的情况下执行时,若当前待编码帧的内容类型为自然内容,从第二候选模式集合中确定出所述目标预测模式,其中,第二候选模式集合包括除IBC预测模式之外的至少一种预测编码模式。也就是说,如果确定当前待编码块的内容类型为自然内容,确定当前待编码块的帧间预测效果的步骤可以不执行,可以直接从除IBC预测模式之外的预测模式中确定目标预测模式。
为了能够更加快速的判断出是否可以跳过IBC预测模式,可选的,本申请提供的方法还可以包括以下至少一项:
若当前的编解码应用场景为第一场景集合中的场景,则不执行判断是否跳过IBC预测模式的过程,从包括IBC预测编码模式的候选预测编码模式集合中确定当前待编码块的目标预测模式;
若当前的编解码应用场景为第二场景集合中的场景,则跳过IBC预测模式;
若当前待编码块为视频帧的背景区域,跳过IBC预测模式。
在实际应用中,视频/图像的编解码应用场景是非常多的,有些应用场景中,IBC预测模式被选择为待编码块的目标预测模式的概率是非常小,或者只有图像/视频中的特别少的待编码块适用IBC预测模式,考虑到该情况,可以预先配置上述第二场景集合,该集合中包括一种或多种很少会采用IBC预测模式的编解码场景,如果当前的编解码场景属于该集合中的场景,待编码视频中所有视频帧的所有待编码块都可以不再判断IBC预测模式是否适用,即IBC预测模式不作为该集合中的编解码场景的候选预测模式。
同样的,可以第一场景集合,该集合中的编解码场景是预配置的IBC预测模式被选择作为目标预测模式的概率较高的编解码场景,如果当前的编解码应用场景属于该集合中的场景,可以不执行是否跳过IBC预测模式的判断,直接将IBC预测模式作为候选预测编码模式集合中的一种预测模式,可以根据率失真损失从该集合中选择目标预测模式,可选的,此时可以先判断IBC预测模式对应的率失真损失,如果该损失小于设定阈值,可以直接将IBC预测模式作为目标预测模式。其中,上述候选预测编码模式集合中可包括多种预测模式。
此外,对于属于视频帧中的背景区域的编码块,也可以跳过计算复杂度高的IBC预测模式,采用其他预测模式作为目标预测模式。
需要说明的是,在方案之间不存在冲突的情况下,本申请提供的多种实施例之间是可以组合使用的,本申请实施例提供的方案与其他能够加快目标预测模式选择的编码方案也是可以结合使用的,比如,可以与其他判决是否跳过IBC预测预测模式的方案结合,或者与判断是否可以跳过某种帧间预测模式的方案相结合。
对应于本申请实施例提供的视频编码方法,本申请实施例还提供了一种视频解码方法,该方法可以由任意电子设备执行,可以是用户终端,也可以是服务器,如图6所示,该解码方法可以包括以下步骤:
步骤S610:获取当前待解码块对应的编码结果。
步骤S620:通过解析编码结果,确定出当前待编码块对应的目标预测模式;
步骤S630:基于目标预测模式对编码结果解析,得到当前待解码块的解码结果。
可以理解的是,当前待解码块是需要解码的图像块,可以是视频中任一视频帧需要解析出的图像块。当前待解码块对应的编码结果也就是该待解析出的图像块所对应的编码前的图像块即待编码块的编码结果(已编码的数据,也可称为码流),该编码结果可以是采用本申请实施例提供的任一编码方法对待编码块进行待编码块进行编码处理得到的。
可选的,当前待解码块的编码结果可以通过解析待解码视频对应的码流得到。该码流可以是实时接收的码流,如视频通话场景或视频会议中实时传输的码流,从视频服务器接收到的当前在观看的视频的码流,该码流也可以是非实时的码流,如对视频进行编码后存储在本地的码流。
对于任一待解码块即待重建的图像块,其对应的编码结果中应该待重建图像块所需要的相关信息,其中,编码结果可以包括待重建块对应的目标预测模式的标识,解码端根据该标识可以知道编码时所采用的预测编码模式,编码结果中还应包括重建所需的其他信息,编码器根据目标预测模式继续对编码结果解析,经过包括但不限于熵解码、反量化、反变换、预测等步骤重建出编码结果对应的图像块。
本申请实施例提供的方案,可以适用于任何有编码需求的应用场景中,对于支持IBC预测模式的编码器/电子设备,采用该方案,可以快速判决出是否要跳过IBC预测模式,可以降低IBC预测模式的编码复杂度在视频编码过程中的整体复杂度的占比,从而可以减少编码时间,还可以减少计算资源的开销,能够更好的满足实际需求。
为了更好的理解和说明书本申请实施例提供的方案的实用价值,下面结合具体的场景实施例对本申请的可选实施方式进行说明。
场景1:屏幕共享场景
在多人在线会议场景中,参会者a可以通过在其用户终端的应用程序界面上触发屏幕/桌面共享,其他参会者的用户终端上也就可以看到参会者的屏幕内容,比如,在在线会议中,参会者a可以打开其终端上的文档,通过屏幕共享,所有参会者都可以看到该文档,方便大家沟通讨论。
图7示出了本申请实施例提供的一种在线会议的屏幕共享场景的系统结构示意图,如图7所示,该场景中的系统结构可以包括在线会议服务器10以及与会议服务器10通信连接的用户终端,如图7中的终端1、……、终端N,其中,用户终端可以是用户的手机、电脑等任何形式的可以观看视频的终端,会议服务器10可以是任意能够为用户提供包括但不限于在线会议功能的应用程序的服务器。
假设终端1为发起屏幕共享的参会者a的终端,终端2、……、终端N为其他参会者的终端,应用程序支持本申请实施例提供的视频编解码方法,可选的,该应用场景中,终端1可以是编码端,其他终端可以是解码端。参会者a可以对其终端1上显示的文档内容进行操作,如翻页,标记等,其他终端N的参会者也会看到操作后的文档内容。在在线会议过程中,终端1可以通过执行本申请实施例提供的编码方法,对终端1上显示的内容进行编码,生成码流,并通过服务器10将码流发送给其他参会者的终端,如终端N,终端N通过该对接收到的码流进行解码,可以终端1上所显示的内容的重建图像并显示。
对于上述屏幕共享的应用场景,终端1需要编码处理的主要是屏幕内容,IBC预测模式比较适用,此时,终端1可以通过执行本申请实施例提供的方案判断是否跳过IBC预测模式,不过不满足跳过的条件,可以将IBC预测模式作为目标预测模式进行编码,并在编码结果中携带指示目标预测模式是IBC预测模式的标识,终端N接收到码流后,可以采用该标识指示的预测编码模式对码流进行解码,得到重建图像。可选的,也可以将屏幕共享场景作为前文中所描述的第一场景集合中的一种应用场景,此时,终端1可以根据该集合快速判断出当前场景中的编码过程是不跳过IBC预测模式的,可选的,终端1确定当前的编码场景是屏幕共享场景,可以直接选择IBC预测模式作为目标预测模式,可以提高屏幕内容的压缩效率。
场景2:直播场景或类直播场景
其中,类直播场景是指待编码的视频与直播场景下的视频类似,例如,待编码的视频流都是摄像头采集的视频流,如通过开始终端上的摄像头实现的视频通话场景。下面以实时视频通话场景为例。
图8示出了本申请实施例提供的一种视频通话应用场景的系统结构示意图,如图8所示,应用服务器20为提供视频通话功能的应用程序的服务器,对象1的第一终端121和对象2的第二终端122上可以运行有该应用程序,对象1和对象2可以通过应用服务器20提供的视频通话服务进行实时视频通话。该应用场景中,参与视频通话的各个终端既是编码端,也是解码端,应用程序同样支持本申请实施例提供的编解码方案,视频编码方法和解码方法在第一终端121和第二终端122上均要部署,第一终端121和第二终端122在通过应用服务器20建立视频通话之后,第一终端121实时采集对象1一侧的视频,并可以采用本申请实施例提供的视频编码方法对采集的视频中视频帧进行编码,将编码生成的码流通过应用服务器20发送给第二终端121,第二终端122通过对第一终端121发送的码流进行解码,得到对象1一侧的视频画面,并显示给对象2。同样的,第二终端122对其所采集的对象2一侧的视频流进行编码后,通过应用服务器20发送给第一终端121,第一终端121通过对码流进行解码,将对象2一侧的或视频画面呈现给对象1。
对于上述场景2,由于需要编码的视频流都是摄像头实时采集的自然内容的视频流,采用IBC预测模式作为目标预测模式的可能性不高,各终端在对其采集的视频流进行编码时,采用本申请实施例提供的方案,可以识别出不适用IBC预测模式的待编码块,从而跳过该预测模式,避免该预测模式导致的编码复杂度提升的问题,加快编码效率,也就使得对端可以更快的显示出对方的视频画面,提高了使用感知。
其他场景
在实际应用中,还有很多其他复杂的应用场景,例如,在在线会议的应用场景中,有参会者进行了屏幕共享(如共享了一个文档),还有一个或多个参与者同时开启了视频画面显示功能,参会者的实时视频画面可以以小窗或其他方式显示于共享文档内容上方,该场景中,要编码的视频帧中既有屏幕内容又有摄像头实时采集的自然内容,此时一帧图像中可能有些待编码块是自然内容的图像块,有些是屏幕内容的图像块,采用本申请实施例提供的方案,可以通过判断是否跳过IBC模式,对有些待编码块采用IBC预测模式进行编码,对有些待编码块采用其他预测模式进行编码,即可保证编码性能又能提高整体编码效果。
为了能够进一步提升多种多样的应用场景下的视频的编码效率,图9示出了本申请提供一种视频编码方法的可选方案的流程示意图,该可选方案中,第二场景集合中包括一个或多个无需选择IBC模式的编解码应用场景,如上述场景2中的视频通话场景,这些场景下的视频基本都是摄像头实时采集的自然内容视频,可以对整个视频编解码过程都跳过IBC模式,可以根据帧类型选择帧间预测编码或者除IBC模式之外的帧内预测编码。
第一场景集合中包括一个或多个非常有可能会选择IBC模式的编解码应用场景,如上述场景1中的屏幕共享场景,对于这些应用场景,可以不判断是否要跳过IBC模式,将IBC模式直接作为候选预测模式,可以根据编码代价或其他策略从候选中选择IBC模式,当然,如果第一场景集合中的场景也可以是确定采用IBC模式的场景,如果确定当前的编解码应用场景属于该集合,直接采用IBC模式进行编码。
如果当前的编解码应用场景既不是第一场景集合中的场景,也不是第二场景集合中的场景,如上述同时有屏幕共享和实时视频画面显示的应用场景,这些场景相对复杂,可以采用前文实施例中提供的根据当前块的帧间预测效果和/或内容特征(颜色统计特征)来判断跳过IBC模式或者不跳过IBC模式,并根据判断结果,采用IBC模式对当前块进行编码,还是采用非IBC模式对当前块进行编码。
通过区分不同的应用场景,可以对一些特定/指定场景下的整个编码过程都跳过IBC模式,或者是不执行判断是否跳过IBC模式的步骤,从而能够进一步加快这些特定场景下的编码速度,节省计算资源。
基于与本申请提供的视频编码方法相同的原理,本申请实施例还提供了一种视频编码装置,该装置可以实现为任意电子设备,如图10所示,该视频编码装置100可以包括模式判决信息确定模块110、模式判决模块120和编码模块130。其中:
模式判决信息确定模块110,用于确定当前待编码块的帧间预测效果;
模式判决模块120,用于在所述帧间预测效果满足预设条件的情况下,跳过IBC预测模式,采用除IBC预测模式之外的预测编码模式作为所述当前待编码块的目标预测模式;
编码模块130,用于采用所述目标预测模式对所述当前待编码块进行编码,得到所述当前待编码块的编码结果。
可选的,其中,所述帧间预测效果通过编码代价或所述当前待编码块的最佳帧间预测模式中的至少一项表征,所述帧间预测效果满足预设条件包括以下至少一项:
帧间预测的编码代价小于或等于设定代价;
最佳帧间预测模式为指定帧间预测模式中的一种。
可选的,所述指定帧间预测模式至少包括帧间跳过skip模式。
可选的,模式判决信息确定模块可以用于:确定所述当前待编码块的内容类型,所述内容类型为自然内容或屏幕内容;
模式判决模块可以用于:在当前待编码块的内容类型为自然内容的情况下,跳过IBC预测模式,采用除IBC预测模式之外的预测编码模式作为对所述当前待编码块的目标预测模式;或者,在当前待编码块的帧间预测效果满足预设条件且当前待编码块的内容类型为自然内容的情况下,跳过IBC预测模式。
可选的,当前待编码块的内容类型是通过以下任一方式得到的:
根据所述当前待编码块的图像内容中各像素点的像素值,确定所述当前待编码块的颜色统计特征,基于所述颜色统计特征,确定所述当前待编码块的内容类型;
通过训练好的分类模型预测得到所述当前待编码块所属的视频帧的各个待编码块的内容类型,所述各个待编码块包括所述当前待编码块。
可选的,所述训练好的分类模型是基于多个训练样本对初始的分类模型进行训练得到的,每个所述训练样本包括一个样本图像块和该样本图像块的标签,一个样本图像块的标签表征了该样本图像块的内容类型为自然内容或屏幕内容;
其中,所述多个训练样本是通过以下方式得到的:
获取多个样本图像块;对于每个样本图像块,确定该样本图像块的图像内容的颜色统计特征,基于该样本图像块的颜色统计特征,得到该样本图像块的标签。
可选的,颜色统计特征包括全局统计特征或局部统计特征中的至少一项,待处理块的全局统计特征是通过以下方式确定的,其中,所述待处理块为当前待编码块或样本图像块:
确定所述待处理块的图像内容中各像素点的像素值;
对于每个所述像素点,确定该像素点的像素值在多个第一颜色类别中所属的颜色类别,其中,每个所述第一颜色类别对应一个像素值区间;
根据各所述像素点所属的颜色类别,确定所述待处理块的图像内容中出现的颜色类别的第一类别数,所述全局统计特征包括所述第一类别数。
可选的,待处理块的内容类型是通过以下方式确定的:
若所述第一类别数不小于第一预设值或者所述第一类别数不大于第二预设值,确定所述待处理块的内容类型为自然内容,所述第二预设值小于第一预设值。
可选的,所述颜色统计特征包括局部统计特征,所述局部统计特征是通过以下方式确定的:
将所述待处理块划分为多个子块;对于每个所述子块,基于该子块中的各像素点的像素值,确定该子块中的各像素点的像素值在多个第二图像类别中所属的颜色类别,确定该子块中出现的颜色类别的第二类别数;
其中,所述局部统计特征包括每个所述子块对应的第二类别数。
可选的,待处理块的内容类型是通过以下方式确定的:
若满足以下至少一项,则确定待处理块的内容类型为自然内容:
对应的所述第二类别数不小于设定值的子块在所有子块中的占比不小于设定占比;
对应的所述第二类别数不小于设定值的子块的数量不小于设定数量。
可选的,模式判决信息确定模块可以用于:确定所述待处理块的块大小;若所述块大小小于或等于设定大小,将所述全局统计特征作为所述颜色统计特征;若所述块大小大于所述设定大小,所述颜色统计特征包括局部统计特征。
可选的,所述帧间预测效果满足预设条件包括当前待编码块的最佳帧间预测模式为指定帧间预测模式中的一种。
可选的,所述当前待编码块的目标预测模式是通过以下方式确定的:
在所述帧间预测效果满足预设条件的情况下,将所述最佳帧间预测模式作为所述目标预测模式;
在不跳过IBC预测模式的情况下,将IBC预测模式作为所述目标预测模式,或者从第一候选模式集合中确定出所述目标预测模式,其中,所述第一候选模式集合包括除所述指定帧间预测模式和IBC预测模式之外的至少一种预测编码模式;
当确定所述帧间预测效果的步骤是在确定所述当前待编码块的内容类型为屏幕内容的情况下执行时,若所述当前待编码块的内容类型为自然内容,从第二候选模式集合中确定出所述目标预测模式,其中,所述第二候选模式集合包括除IBC预测模式之外的至少一种预测编码模式。
可选的,模式判决模块还可以用于执行以下至少一项:
若当前的编解码应用场景为第一场景集合中的场景,则不执行判断是否跳过IBC预测模式的过程,从包括IBC预测编码模式的候选预测编码集合中确定所述当前待编码块的目标预测模式,所述第一场景集合中包括至少一种编解码应用场景;
若当前的编解码应用场景为第二场景集合中的场景,则跳过IBC预测模式;
若所述当前待编码块为视频帧的背景区域,则跳过IBC预测模式。
基于与本申请提供的视频编码方法相同的原理,本申请实施例还提供了一种视频解码装置,该装置可以实现为任意电子设备,如图11所示,该视频解码装置200可以包括编码结果获取模块210和解码模块220。其中:
编码结果获取模块210,用于获取当前待解码块对应的编码结果,其中,所述编码结果是采用本申请实施例提供的编码方法对待编码块进行编码得到的;
解码模块220,用于通过解析所述编码结果,确定出所述当前待解码块对应的目标预测模式,基于所述目标预测模式对所述编码结果解析,得到所述当前待解码块的解码结果。
本申请实施例的装置可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
本申请实施例中还提供了一种电子设备,该电子设备包括至少一个处理器,该处理器被配置为执行本申请任一可选实施例提供的方法的步骤,可选的,该电子设备还可以包括与处理器耦接的收发器和/或存储器,存储器中存储有计算机程序,处理器在运行该计算机程序时可以实现本申请任一可选实施例提供的方案。可选的,该电子设备可以为用户终端或服务器。
图12示出了本发明实施例所适用的一种电子设备的结构示意图,如图12所示,该电子设备可以为独立的编码器(如通用编码器),也可以是独立的解码器(通用解码器),还可以是同时具有编码和解码功能的电子设备,例如,该电子设备可以是服务器或用户终端,该电子设备可以用于实施本发明任一实施例中提供的方法。
如图12中所示,该电子设备2000主要可以包括至少一个处理器2001(图12中示出了一个)、存储器2002、通信模块2003和输入/输出接口2004等组件,可选的,各组件之间可以通过总线2005实现连接通信。需要说明的是,图12中示出的该电子设备2000的结构只是示意性的,并不构成对本申请实施例提供的方法所适用的电子设备的限定。
其中,存储器2002可以用于存储操作系统和应用程序等,应用程序可以包括在被处理器2001调用时实现本发明实施例所示方法的计算机程序,还可以包括用于实现其他功能或服务的程序。存储器2002可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和计算机程序的其他类型的动态存储设备,也可以是EEPROM(ElectricallyErasable Programmable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(CompactDisc Read Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
处理器2001通过总线2005与存储器2002连接,通过调用存储器2002中所存储的应用程序实现相应的功能。其中,处理器2001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application Specific Integrated Circuit,专用集成电路),FPGA(FieldProgrammable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合,其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
电子设备2000可以通过通信模块2003(可以包括但不限于网络接口等组件)连接到网络,以通过网络与其它设备(如用户终端或服务器等)的通信,实现数据的交互,如向其他设备发送数据或从其他设备接收数据。其中,通信模块2003可以包括有线网络接口和/或无线网络接口等,即通信模块可以包括有线通信模块或无线通信模块中的至少一项。
电子设备2000可以通过输入/输出接口2004可以连接所需要的输入/输出设备,如键盘、显示设备等,电子设备200自身可以具有显示设备,还可以通过接口2004外接其他显示设备。可选的,通过该接口2004还可以连接存储装置,如硬盘等,以可以将电子设备2000中的数据存储到存储装置中,或者读取存储装置中的数据,还可以将存储装置中的数据存储到存储器2002中。可以理解的,输入/输出接口2004可以是有线接口,也可以是无线接口。根据实际应用场景的不同,与输入/输出接口2004连接的设备,可以是电子设备2000的组成部分,也可以是在需要时与电子设备2000连接的外接设备。
用于连接各组件的总线2005可以包括一通路,在上述组件之间传送信息。总线2005可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。根据功能的不同,总线2005可以分为地址总线、数据总线、控制总线等。
可选的,对于本发明实施例所提供的方案而言,存储器2002可以用于存储执行本发明方案的计算机程序,并由处理器2001来运行,处理器2001运行该计算机程序时实现本发明实施例提供的方法或装置的动作。
基于与本申请实施例提供的方法相同的原理,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的相应内容。
本申请实施例还提供了一种计算机程序产品,该产品包括计算机程序,该计算机程序被处理器执行时可实现前述方法实施例的相应内容。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。

Claims (15)

1.一种视频编码方法,其特征在于,所述方法包括:
确定当前待编码块的帧间预测效果;
若所述帧间预测效果满足预设条件,则跳过帧内块复制IBC预测模式,采用除IBC预测模式之外的预测编码模式作为所述当前待编码块的目标预测模式;
采用所述目标预测模式对所述当前待编码块进行编码,得到所述当前待编码块的编码结果;
其中,所述帧间预测效果通过编码代价或所述当前待编码块的最佳帧间预测模式中的至少一项表征,所述帧间预测效果满足预设条件包括以下至少一项:
帧间预测的编码代价小于或等于设定代价;
最佳帧间预测模式为指定帧间预测模式中的一种。
2.根据权利要求1所述的方法,其特征在于,所述指定帧间预测模式至少包括帧间跳过skip模式。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述当前待编码块的内容类型,所述内容类型为自然内容或屏幕内容;
若所述内容类型为自然内容,则跳过IBC预测模式,采用除IBC预测模式之外的预测编码模式作为对所述当前待编码块的目标预测模式;或者,所述若所述帧间预测效果满足预设条件,则跳过IBC预测模式,包括:
若所述帧间预测效果满足预设条件且所述内容类型为自然内容,则跳过IBC预测模式。
4.根据权利要求3所述的方法,其特征在于,所述当前待编码块的内容类型是通过以下任一方式得到的:
根据所述当前待编码块的图像内容中各像素点的像素值,确定所述当前待编码块的颜色统计特征,基于所述颜色统计特征,确定所述当前待编码块的内容类型;
通过训练好的分类模型预测得到所述当前待编码块所属的视频帧的各个待编码块的内容类型,所述各个待编码块包括所述当前待编码块。
5.根据权利要求4所述的方法,其特征在于,所述训练好的分类模型是基于多个训练样本对初始的分类模型进行训练得到的,每个所述训练样本包括一个样本图像块和该样本图像块的标签,一个样本图像块的标签表征了该样本图像块的内容类型为自然内容或屏幕内容;
其中,所述多个训练样本是通过以下方式得到的:
获取多个样本图像块;
对于每个样本图像块,确定该样本图像块的图像内容的颜色统计特征,基于该样本图像块的颜色统计特征,得到该样本图像块的标签。
6.根据权利要求4或5所述的方法,其特征在于,所述颜色统计特征包括全局统计特征或局部统计特征中的至少一项,待处理块的全局统计特征是通过以下方式确定的:
确定所述待处理块的图像内容中各像素点的像素值,其中,所述待处理块为当前待编码块或样本图像块;
对于每个所述像素点,确定该像素点的像素值在多个第一颜色类别中所属的颜色类别,其中,每个所述第一颜色类别对应一个第一像素值区间;
根据各所述像素点所属的第一颜色类别,确定所述待处理块的图像内容中出现的第一颜色类别的第一类别数,所述全局统计特征包括所述第一类别数;
所述待处理块的内容类型是通过以下方式确定的:
若所述第一类别数不小于第一预设值或者所述第一类别数不大于第二预设值,确定所述待处理块的内容类型为自然内容,所述第二预设值小于第一预设值。
7.根据权利要求6所述的方法,其特征在于,所述颜色统计特征包括局部统计特征,所述局部统计特征是通过以下方式确定的:
将所述待处理块划分为多个子块;
对于每个所述子块,基于该子块中的各像素点的像素值,确定该子块中的各像素点的像素值在多个第二颜色类别中所属的颜色类别,确定该子块中出现的颜色类别的第二类别数;每个所述第二颜色类别对应一个第二像素值区间;
其中,所述局部统计特征包括每个所述子块对应的第二类别数;
所述待处理块的内容类型是通过以下方式确定的:
若满足以下至少一项,则确定待处理块的内容类型为自然内容:
对应的第二类别数不小于设定值的子块在所有子块中的占比不小于设定占比;
对应的第二类别数不小于设定值的子块的数量不小于设定数量。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
确定所述待处理块的块大小;
若所述块大小小于或等于设定大小,将所述全局统计特征作为所述颜色统计特征;
若所述块大小大于所述设定大小,所述颜色统计特征包括局部统计特征。
9.根据权利要求3所述的方法,其特征在于,所述帧间预测效果满足预设条件包括:所述当前待编码块的最佳帧间预测模式为指定帧间预测模式中的一种;
其中,所述当前待编码块的目标预测模式是通过以下方式确定的:
在所述帧间预测效果满足预设条件的情况下,将所述最佳帧间预测模式作为所述目标预测模式;
在不跳过IBC预测模式的情况下,将IBC预测模式作为所述目标预测模式,或者从第一候选模式集合中确定出所述目标预测模式,其中,所述第一候选模式集合包括除所述指定帧间预测模式和IBC预测模式之外的至少一种预测编码模式;
当确定所述帧间预测效果的步骤是在确定所述当前待编码块的内容类型为屏幕内容的情况下执行时,若所述当前待编码块的内容类型为自然内容,从第二候选模式集合中确定出所述目标预测模式,其中,所述第二候选模式集合包括除IBC预测模式之外的至少一种预测编码模式。
10.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括以下至少一项:
若当前的编解码应用场景为第一场景集合中的场景,则不执行判断是否跳过IBC预测模式的过程,从包括IBC预测编码模式的候选预测编码模式集合中确定所述当前待编码块的目标预测模式,所述第一场景集合中包括至少一种编解码应用场景;
若当前的编解码应用场景为第二场景集合中的场景,则跳过IBC预测模式;
若所述当前待编码块为视频帧的背景区域,则跳过IBC预测模式。
11.一种视频解码方法,其特征在于,所述方法包括:
获取当前待解码块对应的编码结果,其中,所述编码结果是采用权利要求1至10任一项所述的方法对待编码块进行编码得到;
通过解析所述编码结果,确定出所述当前待解码块对应的目标预测模式;
基于所述目标预测模式对所述编码结果解析,得到所述当前待解码块的解码结果。
12.一种视频编码装置,其特征在于,所述编码装置包括:
模式判决信息确定模块,用于确定当前待编码块的帧间预测效果;
模式判决模块,用于在所述帧间预测效果满足预设条件的情况下,跳过IBC预测模式,采用除IBC预测模式之外的预测编码模式作为所述当前待编码块的目标预测模式;
编码模块,用于采用所述目标预测模式对所述当前待编码块进行编码,得到所述当前待编码块的编码结果;
其中,所述帧间预测效果通过编码代价或所述当前待编码块的最佳帧间预测模式中的至少一项表征,所述帧间预测效果满足预设条件包括以下至少一项:
帧间预测的编码代价小于或等于设定代价;
最佳帧间预测模式为指定帧间预测模式中的一种。
13.一种视频解码装置,其特征在于,所述解码装置包括:
编码结果获取模块,用于获取当前待解码块对应的编码结果,其中,所述编码结果是采用权利要求1至10任一项所述的方法对待编码块进行编码得到的;
解码模块,用于通过解析所述编码结果,确定出所述当前待解码块对应的目标预测模式,基于所述目标预测模式对所述编码结果解析,得到所述当前待解码块的解码结果。
14.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器在运行所述计算机程序时执行权利要求1至11任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至11任一项所述的方法。
CN202310545135.5A 2023-05-15 2023-05-15 视频编码方法、解码方法、装置、电子设备及存储介质 Pending CN116489385A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310545135.5A CN116489385A (zh) 2023-05-15 2023-05-15 视频编码方法、解码方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310545135.5A CN116489385A (zh) 2023-05-15 2023-05-15 视频编码方法、解码方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116489385A true CN116489385A (zh) 2023-07-25

Family

ID=87213894

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310545135.5A Pending CN116489385A (zh) 2023-05-15 2023-05-15 视频编码方法、解码方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116489385A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117376551A (zh) * 2023-12-04 2024-01-09 淘宝(中国)软件有限公司 视频编码加速方法及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117376551A (zh) * 2023-12-04 2024-01-09 淘宝(中国)软件有限公司 视频编码加速方法及电子设备
CN117376551B (zh) * 2023-12-04 2024-02-23 淘宝(中国)软件有限公司 视频编码加速方法及电子设备

Similar Documents

Publication Publication Date Title
US9420282B2 (en) Video coding redundancy reduction
RU2708347C1 (ru) Способ и устройство кодирования изображения и способ и устройство декодирования изображения
CN111277826B (zh) 一种视频数据处理方法、装置及存储介质
CN110166771B (zh) 视频编码方法、装置、计算机设备和存储介质
Gao et al. Recent standard development activities on video coding for machines
TW201127064A (en) System and method to process motion vectors of video data
CN109688407B (zh) 编码单元的参考块选择方法、装置、电子设备及存储介质
CN107820095B (zh) 一种长期参考图像选择方法及装置
US20230062509A1 (en) Chroma intra prediction in video coding and decoding
US20200128252A1 (en) Variable Frame Rate Encoding Method and Device, Computer Device and Computer Readable Storage Medium
CN116489385A (zh) 视频编码方法、解码方法、装置、电子设备及存储介质
CN115484464A (zh) 视频编码方法和装置
CN111447452A (zh) 数据编码方法及系统
CN115118964A (zh) 视频编码方法、装置、电子设备及计算机可读存储介质
CN112235582B (zh) 一种视频数据处理方法、装置、计算机设备及存储介质
Chen et al. Quality-of-content (QoC)-driven rate allocation for video analysis in mobile surveillance networks
CN113422959A (zh) 视频编解码的方法、装置、电子设备及存储介质
CN116437102B (zh) 可学习通用视频编码方法、系统、设备及存储介质
CN116170582A (zh) 一种视频数据处理方法、装置、计算机设备以及存储介质
CN115442617A (zh) 一种基于视频编码的视频处理方法和装置
CN112714336B (zh) 视频分割方法和装置、电子设备、计算机可读存储介质
US20220377342A1 (en) Video encoding and video decoding
CN111212288B (zh) 视频数据的编解码方法、装置、计算机设备和存储介质
CN109862315B (zh) 视频处理方法、相关设备及计算机存储介质
US11831887B1 (en) Scalable video coding for machine

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: 40089296

Country of ref document: HK