CN113315967A - 视频编码方法、装置、介质及电子设备 - Google Patents

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

Info

Publication number
CN113315967A
CN113315967A CN202110853942.4A CN202110853942A CN113315967A CN 113315967 A CN113315967 A CN 113315967A CN 202110853942 A CN202110853942 A CN 202110853942A CN 113315967 A CN113315967 A CN 113315967A
Authority
CN
China
Prior art keywords
partition
division
coding
dividing
reference frame
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.)
Granted
Application number
CN202110853942.4A
Other languages
English (en)
Other versions
CN113315967B (zh
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 CN202110853942.4A priority Critical patent/CN113315967B/zh
Publication of CN113315967A publication Critical patent/CN113315967A/zh
Application granted granted Critical
Publication of CN113315967B publication Critical patent/CN113315967B/zh
Priority to PCT/CN2022/106235 priority patent/WO2023005709A1/zh
Priority to US18/463,916 priority patent/US20230421763A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for 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/124Quantisation
    • 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/172Methods 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 picture, frame or field
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

本申请属于视频编解码技术领域,具体涉及一种视频编码方法、装置、介质及电子设备。该视频编码方法包括:获取当前视频帧,并确定对所述当前视频帧进行编码时参考的参考帧;搜索用于对所述当前视频帧的待编码部分进行块划分的划分模式;根据所述参考帧的编码信息或者所述当前视频帧的已编码部分的编码信息,跳过部分待搜索的划分模式;按照搜索得到的划分模式对组成所述待编码部分的编码单元进行预测编码。该方法能够利用历史编码信息来加快编码速度,提高编码效率。

Description

视频编码方法、装置、介质及电子设备
技术领域
本申请属于视频编解码技术领域,具体涉及一种视频编码方法、视频编码装置、计算机可读介质以及电子设备。
背景技术
在视频编码技术中,一个视频帧可以通过树状结构逐步划分成小的编码单元。编码单元的划分需要适应视频帧中的视频内容,以尽可能地提高视频压缩效率,降低编码损失。
多种不同类型的划分方式能够为编码单元划分提供更多的选择,然而这也增加了编码器的复杂度,导致视频编码速度下降。
发明内容
本申请的目的在于提供一种视频编码方法、视频编码装置、计算机可读介质以及电子设备,至少在一定程度上克服相关技术中存在的编码复杂度高、编码速度慢的技术问题。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供一种视频编码方法,该方法包括:取当前视频帧,并确定对所述当前视频帧进行编码时参考的参考帧;搜索用于对所述当前视频帧的待编码部分进行块划分的划分模式;根据所述参考帧的编码信息或者所述当前视频帧的已编码部分的编码信息,跳过部分待搜索的划分模式;按照搜索得到的划分模式对组成所述待编码部分的编码单元进行预测编码。
根据本申请实施例的一个方面,提供一种视频编码装置,该装置包括:获取模块,被配置为获取当前视频帧,并确定对所述当前视频帧进行编码时参考的参考帧;搜索模块,被配置为搜索用于对所述当前视频帧的待编码部分进行块划分的划分模式;跳过模块,被配置为根据所述参考帧的编码信息或者所述当前视频帧的已编码部分的编码信息,跳过部分待搜索的划分模式;编码模块,被配置为按照搜索得到的划分模式对组成所述待编码部分的编码单元进行预测编码。
在本申请的一些实施例中,基于以上技术方案,所述跳过模块包括:第一结果确定模块,被配置为根据所述参考帧的编码信息确定对所述参考帧进行块划分得到的块划分结果;第一模式跳过模块,被配置为根据所述块划分结果跳过部分待搜索的划分模式。
在本申请的一些实施例中,基于以上技术方案,所述第一模式跳过模块包括:参考帧选取模块,被配置为从对所述当前视频帧进行编码时参考的一个或者多个参考帧中选取目标参考帧;平均尺寸确定模块,被配置为根据所述目标参考帧的块划分结果确定组成所述目标参考帧的编码单元的平均尺寸;最大尺寸确定模块,被配置为根据所述平均尺寸确定对所述当前视频帧进行划分模式搜索的最大尺寸;划分模式跳过模块,被配置为若所述当前视频帧中的当前编码单元的尺寸大于所述最大尺寸,则跳过除目标划分模式以外的其他待搜索的块划分模式。
在本申请的一些实施例中,基于以上技术方案,所述参考帧选取模块包括:第一帧选取模块,被配置为若对所述当前视频帧进行编码时参考的参考帧的数量为一个,则将该参考帧选作目标参考帧;第二帧选取模块,被配置为若对所述当前视频帧进行编码时参考的参考帧的数量为多个,则根据各个视频帧的量化参数从多个参考帧中选取目标参考帧。
在本申请的一些实施例中,基于以上技术方案,所述第二帧选取模块包括:量化参数差值确定模块,被配置为根据各个视频帧的量化参数确定所述参考帧与所述当前视频帧的量化参数差值;目标参考帧选取模块,被配置为选取与所述当前视频帧具有最小量化参数差值的参考帧作为目标参考帧。
在本申请的一些实施例中,基于以上技术方案,所述目标参考帧选取模块还被配置为:若与所述当前视频帧具有最小量化参数差值的参考帧的数量为一个,则将该参考帧选作目标参考帧;若与所述当前视频帧具有最小量化参数差值的参考帧的数量为多个,则从多个与所述当前视频帧具有最小量化参数差值的参考帧中选取与所述当前视频帧距离最近的参考帧作为目标参考帧。
在本申请的一些实施例中,基于以上技术方案,所述平均尺寸确定模块被配置为:根据所述目标参考帧的块划分结果确定所述目标参考帧中的各个编码单元的宽度和高度;根据所述目标参考帧中的各个编码单元的宽度和高度,确定所述目标参考帧中的编码单元的平均宽度和平均高度;将所述平均宽度或者所述平均高度作为组成所述目标参考帧的编码单元的平均尺寸。
在本申请的一些实施例中,基于以上技术方案,所述最大尺寸确定模块包括:参数差值确定模块,被配置为获取所述目标参考帧与所述当前视频帧的量化参数差值;参数差值映射模块,被配置为对所述量化参数差值进行映射处理,得到与所述量化参数差值呈正相关关系的补偿值;数值补偿模块,被配置为根据所述补偿值对所述平均尺寸进行数值补偿,得到补偿尺寸;范围搜索模块,被配置为根据所述补偿尺寸所在的数值范围确定对所述当前视频帧进行划分模式搜索的最大尺寸。
在本申请的一些实施例中,基于以上技术方案,所述参数差值映射模块被配置为:将所述量化参数差值与预设的补偿系数的乘积作为补偿值,所述补偿系数为大于0的预设数值。
在本申请的一些实施例中,基于以上技术方案,所述范围搜索模块被配置为:若所述补偿尺寸小于预设的第一阈值,则确定对所述当前视频帧进行划分模式搜索的最大尺寸为预设的第一尺寸;若所述补偿尺寸大于或等于所述第一阈值并且小于预设的第二阈值,则确定对所述当前视频帧进行划分模式搜索的最大尺寸为预设的第二尺寸;若所述补偿尺寸大于或等于所述第二阈值,则确定对所述当前视频帧进行划分模式搜索的最大尺寸为预设的第三尺寸;其中,所述第一尺寸、所述第二尺寸和所述第三尺寸具有等比例放大的倍数关系。
在本申请的一些实施例中,基于以上技术方案,所述待搜索的划分模式包括四叉树划分、横向二叉树划分、竖向二叉树划分、横向三叉树划分或竖向三叉树划分中的至少一种,所述目标划分模式为四叉树划分。
在本申请的一些实施例中,基于以上技术方案,所述跳过模块包括:第二结果确定模块,被配置为根据所述当前视频帧的已编码部分的编码信息确定对所述已编码部分进行块划分得到的块划分结果;第二模式跳过模块,被配置为根据所述块划分结果跳过部分待搜索的划分模式。
在本申请的一些实施例中,基于以上技术方案,所述第二模式跳过模块包括:划分属性确定模块,被配置为根据所述块划分结果确定当前编码单元的划分属性,所述划分属性包括划分方向、划分位置和多类型树划分深度中的至少一种;划分模式跳过模块,被配置为若所述划分属性满足预设的属性条件,则跳过与所述属性条件相匹配的待搜索的划分模式。
在本申请的一些实施例中,基于以上技术方案,所述划分属性确定模块包括:划分方向确定模块,被配置为根据所述块划分结果确定对当前编码单元进行多类型树划分的各种划分模式的划分方向,所述划分方向包括水平方向和竖直方向。
在本申请的一些实施例中,基于以上技术方案,所述划分模式跳过模块包括:第一方向跳过模块,被配置为若所述各种划分模式的划分方向均为水平方向,则跳过搜索与竖直方向相匹配的划分模式;第二方向跳过模块,被配置为若所述各种划分模式的划分方向均为竖直方向,则跳过搜索与水平方向相匹配的划分模式。
在本申请的一些实施例中,基于以上技术方案,所述第一方向跳过模块被配置为跳过搜索竖向二叉树划分、竖向三叉树划分和四叉树划分;所述第二方向跳过模块被配置为跳过搜索横向二叉树划分、横向三叉树划分和四叉树划分。
在本申请的一些实施例中,基于以上技术方案,所述划分属性确定模块包括:划分位置确定模块,被配置为根据所述块划分结果确定当前编码单元中的各个子编码单元的划分位置,所述划分位置包括对应于竖向三叉树划分的多个沿竖直方向的划分位置以及对应于横向三叉树划分的多个沿水平方向的划分位置。
在本申请的一些实施例中,基于以上技术方案,所述划分模式跳过模块包括:位置匹配检测模块,被配置为将所述各个子编码单元的划分位置与目标划分模式的划分位置进行匹配检测,以确定所述各个子编码单元与所述目标划分模式是否存在重叠的划分位置;位置跳过模块,被配置为若所述各个子编码单元与所述目标划分模式不存在重叠的划分位置,则跳过搜索所述目标划分模式,所述目标划分模式包括横向三叉树划分和竖向三叉树划分中的至少一种。
在本申请的一些实施例中,基于以上技术方案,所述划分属性确定模块包括:深度确定模块,被配置为根据所述块划分结果确定当前编码单元中的各个子编码单元的多类型树划分深度。
在本申请的一些实施例中,基于以上技术方案,所述划分模式跳过模块包括:最大深度确定模块,被配置为将所述各个子编码单元的多类型树划分深度与预设的最大深度,以确定所述当前编码单元中是否存在多类型树划分深度达到所述最大深度的子编码单元;深度跳过模块,被配置为若所述当前编码单元中存在多类型树划分深度达到所述最大深度的子编码单元,则跳过搜索除四叉树划分以外的其他划分模式。
在本申请的一些实施例中,基于以上技术方案,所述划分属性确定模块包括:历史编码单元确定模块,被配置为在所述块划分结果中查找与当前编码单元处于同一位置且具有相同尺寸的历史编码单元;优选划分方向确定模块,被配置为获取对所述历史编码单元进行多类型树划分的各种划分模式的划分方向,并将所述历史编码单元的划分方向作为所述当前编码单元的优选划分方向。
在本申请的一些实施例中,基于以上技术方案,所述划分模式跳过模块包括:第三方向跳过模块,被配置为若所述优选划分方向为水平方向,则跳过搜索与竖直方向相匹配的划分模式;第四方向跳过模块,被配置为若所述优选划分方向为竖直方向,则跳过搜索与水平方向相匹配的划分模式。
在本申请的一些实施例中,基于以上技术方案,所述第三方向跳过模块被配置为跳过搜索竖向二叉树划分和竖向三叉树划分;在本申请的一些实施例中,基于以上技术方案,所述第四方向跳过模块被配置为跳过搜索与水平方向相匹配的划分模式,包括:跳过搜索横向二叉树划分和横向三叉树划分。
根据本申请实施例的一个方面,提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如以上技术方案中的视频编码方法。
根据本申请实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器被配置为经由执行所述可执行指令来执行如以上技术方案中的视频编码方法。
根据本申请实施例的一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上技术方案中的视频编码方法。
在本申请实施例提供的技术方案中,利用参考帧的编码信息或者当前视频帧的已编码部分的编码信息对当前视频帧的待编码部分进行预测编码,能够利用历史编码信息来加快编码速度,提高编码效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性地示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。
图2示意性地示出视频编码装置和视频解码装置在流式传输环境中的放置方式。
图3示意性地示出了一个视频编码器的基本流程图。
图4示意性地示出了多种划分模式的划分结果。
图5示意性地示出了本申请一个实施例中视频编码方法的步骤流程图。
图6示意性地示出了本申请实施例中进行划分模式搜索的树状结构图。
图7示意性地示出了本申请一个实施例中根据参考帧的编码信息对当前视频帧的待编码部分进行预测编码的步骤流程图。
图8示意性地示出了本申请一个实施例中基于参考帧的块划分结果跳过划分模式的步骤流程图。
图9示意性地示出了本申请一个实施例中确定对当前视频帧进行划分模式搜索的最大尺寸的步骤流程图。
图10示意性地示出了本申请一个实施例中根据当前视频帧的已编码部分的编码信息对当前视频帧的待编码部分进行预测编码的步骤流程图。
图11示意性地示出了本申请一个实施例中根据已编码部分的划分方向跳过部分待搜索的划分模式的原理示意图。
图12示意性地示出了本申请一个实施例中根据已编码部分的划分位置跳过部分待搜索的划分模式的原理示意图。
图13示意性地示出了本申请实施例提供的视频编码装置的结构框图。
图14示意性示出了适于用来实现本申请实施例的电子设备的计算机系统结构框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
图1示意性地示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。
如图1所示,系统架构100包括多个终端装置,所述终端装置可通过例如网络150彼此通信。举例来说,系统架构100可以包括通过网络150互连的第一终端装置110和第二终端装置120。在图1的实施例中,第一终端装置110和第二终端装置120执行单向数据传输。
举例来说,第一终端装置110可对视频数据(例如由终端装置110采集的视频图片流)进行编码以通过网络150传输到第二终端装置120,已编码的视频数据以一个或多个已编码视频码流形式传输,第二终端装置120可从网络150接收已编码视频数据,对已编码视频数据进行解码以恢复视频数据,并根据恢复的视频数据显示视频图片。
在本申请的一个实施例中,系统架构100可以包括执行已编码视频数据的双向传输的第三终端装置130和第四终端装置140,所述双向传输比如可以发生在视频会议期间。对于双向数据传输,第三终端装置130和第四终端装置140中的每个终端装置可对视频数据(例如由终端装置采集的视频图片流)进行编码,以通过网络150传输到第三终端装置130和第四终端装置140中的另一终端装置。第三终端装置130和第四终端装置140中的每个终端装置还可接收由第三终端装置130和第四终端装置140中的另一终端装置传输的已编码视频数据,且可对已编码视频数据进行解码以恢复视频数据,并可根据恢复的视频数据在可访问的显示装置上显示视频图片。
在图1的实施例中,第一终端装置110、第二终端装置120、第三终端装置130和第四终端装置140可为服务器、个人计算机和智能电话,但本申请公开的原理可不限于此。本申请公开的实施例适用于膝上型计算机、平板电脑、媒体播放器和/或专用视频会议设备。网络150表示在第一终端装置110、第二终端装置120、第三终端装置130和第四终端装置140之间传送已编码视频数据的任何数目的网络,包括例如有线和/或无线通信网络。通信网络150可在电路交换和/或分组交换信道中交换数据。该网络可包括电信网络、局域网、广域网和/或互联网。出于本申请的目的,除非在下文中有所解释,否则网络150的架构和拓扑对于本申请公开的操作来说可能是无关紧要的。
在本申请的一个实施例中,图2示意性地示出视频编码装置和视频解码装置在流式传输环境中的放置方式。本申请所公开主题可同等地适用于其它支持视频的应用,包括例如视频会议、数字TV(television,电视机)、在包括CD、DVD、存储棒等的数字介质上存储压缩视频等等。
流式传输系统可包括采集子系统213,采集子系统213可包括数码相机等视频源201,视频源创建未压缩的视频图片流202。在实施例中,视频图片流202包括由数码相机拍摄的样本。相较于已编码的视频数据204(或已编码的视频码流204),视频图片流202被描绘为粗线以强调高数据量的视频图片流,视频图片流202可由电子装置220处理,电子装置220包括耦接到视频源201的视频编码装置203。视频编码装置203可包括硬件、软件或软硬件组合以实现或实施如下文更详细地描述的所公开主题的各方面。相较于视频图片流202,已编码的视频数据204(或已编码的视频码流204)被描绘为细线以强调较低数据量的已编码的视频数据204(或已编码的视频码流204),其可存储在流式传输服务器205上以供将来使用。一个或多个流式传输客户端子系统,例如图2中的客户端子系统206和客户端子系统208,可访问流式传输服务器205以检索已编码的视频数据204的副本207和副本209。客户端子系统206可包括例如电子装置230中的视频解码装置210。视频解码装置210对已编码的视频数据的传入副本207进行解码,且产生可在显示器212(例如显示屏)或另一呈现装置上呈现的输出视频图片流211。在一些流式传输系统中,可根据某些视频编码/压缩标准对已编码的视频数据204、视频数据207和视频数据209(例如视频码流)进行编码。该些标准的实施例包括ITU-T H.265。在实施例中,正在开发的视频编码标准非正式地称为下一代视频编码(Versatile Video Coding,VVC),本申请可用于VVC标准的上下文中。
应注意,电子装置220和电子装置230可包括图中未示出的其它组件。举例来说,电子装置220可包括视频解码装置,且电子装置230还可包括视频编码装置。
在本申请的一个实施例中,以国际视频编码标准HEVC(High Efficiency VideoCoding,高效率视频编码)、VVC(Versatile Video Coding,多功能视频编码),以及中国国家视频编码标准AVS为例,当输入一个视频帧图像之后,会根据一个块大小,将视频帧图像划分成若干个不重叠的处理单元,每个处理单元将进行类似的压缩操作。这个处理单元被称作CTU(Coding Tree Unit,编码树单元),或者称之为LCU(Largest Coding Unit,最大编码单元)。CTU再往下可以继续进行更加精细的划分,得到一个或多个基本的编码单元CU,CU是一个编码环节中最基本的元素。以下介绍对CU进行编码时的一些概念:
预测编码(Predictive Coding):预测编码包括了帧内预测和帧间预测等方式,原始视频信号经过选定的已重建视频信号的预测后,得到残差视频信号。编码端需要为当前CU决定选择哪一种预测编码模式,并告知解码端。其中,帧内预测是指预测的信号来自于同一图像内已经编码重建过的区域;帧间预测是指预测的信号来自已经编码过的、不同于当前图像的其它图像(称之为参考图像)。
变换及量化(Transform & Quantization):残差视频信号经过DFT(DiscreteFourier Transform,离散傅里叶变换)、DCT(Discrete Cosine Transform,离散余弦变换)等变换操作后,将信号转换到变换域中,称之为变换系数。变换系数进一步进行有损的量化操作,丢失掉一定的信息,使得量化后的信号有利于压缩表达。在一些视频编码标准中,可能有多于一种变换方式可以选择,因此编码端也需要为当前CU选择其中的一种变换方式,并告知解码端。量化的精细程度通常由量化参数(Quantization Parameter,简称QP)来决定,QP取值较大,表示更大取值范围的系数将被量化为同一个输出,因此通常会带来更大的失真及较低的码率;相反,QP取值较小,表示较小取值范围的系数将被量化为同一个输出,因此通常会带来较小的失真,同时对应较高的码率。
熵编码(Entropy Coding)或统计编码:量化后的变换域信号将根据各个值出现的频率进行统计压缩编码,最后输出二值化(0或者1)的压缩码流。同时,编码产生其他信息,例如选择的编码模式、运动矢量数据等,也需要进行熵编码以降低码率。统计编码是一种无损的编码方式,可以有效的降低表达同样信号所需要的码率,常见的统计编码方式有变长编码(Variable Length Coding,简称VLC)或者基于上下文的二值化算术编码(ContentAdaptive Binary Arithmetic Coding,简称CABAC)。
基于上下文的自适应二进制算术编码(CABAC)过程主要包含3个步骤:二进制化、上下文建模和二进制算术编码。在对输入的语法元素进行二值化后,可以通过常规编码模式和旁路编码模式(bypass)对二元数据进行编码。旁路编码模式(Bypass Coding Mode),它无须为每个二元位分配特定的概率模型,输入的二元位bin值直接用一个简单的旁路编码器进行编码,以加快整个编码以及解码的速度。一般情况下,不同的语法元素之间并不是完全独立的,且相同语法元素自身也具有一定的记忆性。因此,根据条件熵理论,利用其他已编码的语法元素进行条件编码,相对于独立编码或者无记忆编码能够进一步提高编码性能。这些用来作为条件的已编码符号信息称为上下文。在常规编码模式中,语法元素的二元位顺序地进入上下文模型器。编码器根据先前编码过的语法元素或二元位的值,为每一个输入的二元位分配合适的概率模型,该过程即为上下文建模。通过ctxIdxInc(contextindex increment,上下文索引增量)和ctxIdxStart(context index Start,上下文起始索引)即可定位到语法元素所对应的上下文模型。将bin值和分配的概率模型一起送入二元算术编码器进行编码后,需要根据bin值更新上下文模型,也就是编码中的自适应过程。
环路滤波(Loop Filtering):经过变化及量化的信号会通过反量化、反变换及预测补偿的操作获得重建图像。重建图像与原始图像相比由于存在量化的影响,部分信息与原始图像有所不同,即重建图像会产生失真(Distortion)。因此,可以对重建图像进行滤波操作,例如去块效应滤波(Deblocking filter,简称DB)、SAO(Sample Adaptive Offset,自适应像素补偿)或者ALF(Adaptive Loop Filter,自适应环路滤波)等滤波器,可以有效降低量化所产生的失真程度。由于这些经过滤波后的重建图像将作为后续编码图像的参考来对将来的图像信号进行预测,因此上述的滤波操作也被称为环路滤波,即在编码环路内的滤波操作。
在本申请的一个实施例中,图3示意性地示出了一个视频编码器的基本流程图,在 该流程中以帧内预测为例进行说明。其中,原始图像信号
Figure 984142DEST_PATH_IMAGE001
与预测图像信号
Figure 370124DEST_PATH_IMAGE002
做差值运算,得到残差信号
Figure 8916DEST_PATH_IMAGE003
,残差信号
Figure 872967DEST_PATH_IMAGE003
经过变换及量化处理之后得到量化 系数,量化系数一方面通过熵编码得到编码后的比特流,另一方面通过反量化及反变换处 理得到重构残差信号
Figure 31547DEST_PATH_IMAGE004
,预测图像信号
Figure 322851DEST_PATH_IMAGE002
与重构残差信号
Figure 183360DEST_PATH_IMAGE004
叠加生 成图像信号
Figure 851101DEST_PATH_IMAGE005
。图像信号
Figure 362723DEST_PATH_IMAGE005
一方面输入至帧内模式决策模块和帧内预测模块 进行帧内预测处理,另一方面通过环路滤波输出重建图像信号
Figure 824928DEST_PATH_IMAGE006
,重建图像信号
Figure 172733DEST_PATH_IMAGE006
可以作为下一帧的参考图像进行运动估计及运动补偿预测。然后基于运动补偿预 测的结果
Figure 113007DEST_PATH_IMAGE007
和帧内预测结果
Figure 246180DEST_PATH_IMAGE008
得到下一帧的预测图像信号
Figure 879286DEST_PATH_IMAGE002
,并继续重复上述过程,直至编码完成。
基于上述的编码过程,在解码端针对每一个CU,在获取到压缩码流(即比特流)之后,进行熵解码获得各种模式信息及量化系数。然后量化系数经过反量化及反变换处理得到残差信号。另一方面,根据已知的编码模式信息,可获得该CU对应的预测信号,然后将残差信号与预测信号相加之后即可得到重建信号,重建信号再经过环路滤波等操作,产生最终的输出信号。
基于以上对编码过程的介绍可知,在进行视频编码的过程中,视频信号中的一帧图像可以被分割成互不重叠的编码树单元CTU。可选地,一个CTU的块尺寸可以设置为64×64、128×128等,本申请实施例对CTU的块尺寸大小不作限定。示例性地,块尺寸为128×128的CTU可以是包含128列的矩阵像素点阵,每一列包含128个像素,每个像素包含亮度分量和/或色度分量。CTU再往下,可以继续进行更细粒度的划分,得到一组编码单元CU,一组CU里面可以包含一个或多个CU。对编码树单元CTU的划分,可以采用QT(Quaternary Tree,四叉树)、BT(Binary Tree,二叉树)和TT(Ternary Tree,三叉树)等划分方式中的一种划分方式或多种划分方式的组合。其中,按照不同的划分方向,BT可以进一步包括HBT(HorizontalBinary Tree,横向二叉树)、VBT(Vertical Binary Tree,竖向二叉树),TT可以进一步包括HTT(Horizontal Ternary Tree,横向三叉树)和VTT(Vertical Ternary Tree,竖向三叉树)。
针对某一编码树单元CTU,可以将该CTU作为根节点(root),划分成若干节点。一个节点对应于一个图像区域,如果某一节点不再继续划分,则将该节点称为叶节点(LeafNode),且其所对应的图像区域就形成一个CU;如果该节点继续划分,则可以采用上述一种划分方式或多种划分方式的组合将该节点划分为多个子区域,每个子区域对应一个子节点,之后需要分别确定这些子节点是否还会继续划分。示例性地,假设根节点的划分层级为0,则子节点的划分层级可以为父节点的划分层级加1。在视频编码过程中,通常编码器设置有CU的最小块尺寸,在划分过程中,若某一节点的块尺寸等于该最小块尺寸,则该节点默认不再继续划分。为了便于表述,下文中将“节点对应的图像区域”简称为“节点”。
图4示意性地示出了多种划分模式的划分结果。
针对某一节点,可以采用QT划分模式将该节点划分为4个子节点。如图4所示,按照QT划分模式可以将该节点划分成四个相同块尺寸的子节点,各个子节点的宽相同、高也相同,且宽为划分前节点的宽的一半,高为划分前节点的高的一半。
例如,对于块尺寸为64×64的节点,若不再继续划分该节点,则该节点直接成为1个块尺寸为64×64的CU;若继续划分该节点,则可以按照QT划分模式将该节点划分为4个块尺寸为32×32的节点。对于这4个块尺寸为32×32的节点中的某一节点,若继续划分该节点,则产生4个块尺寸为16×16的节点。
针对某一节点,可以采用BT划分模式将该节点划分成2个子节点。可选地,BT划分模式包括两种类型:HBT划分模式和VBT划分模式。其中,HBT划分模式是将节点划分成上、下两个相同块尺寸的子节点,各个子节点的宽相同、高也相同,且宽等于划分前节点的宽,高为划分前节点的高的一半。VBT是将节点划分成左、右两个相同大小的子节点,各个子节点的宽相同、高也相同,且宽为划分前节点的宽的一半,高等于划分前节点的高。
例如,对于块尺寸为64×64的节点,若不再继续划分该节点,则该节点直接成为1个块尺寸为64×64的CU;若继续划分该节点,则可以按照HBT划分模式将该节点划分为2个块尺寸为64×32的节点,或者按照VBT划分模式将该节点划分为2个块尺寸为32×64的节点。
针对某一节点,可以采用TT划分模式将该节点划分为3个子节点。可选地,TT划分模式包括两种类型:HTT划分模式和VTT划分模式。其中,HTT划分模式是将节点划分成上、中、下三个子节点,上、下这两个子节点的宽等于划分前节点的宽、高为划分前节点的高的四分之一,中这一节点的宽等于划分前节点的宽、高为划分前节点的高的一半。VTT是将节点划分成左、中、右三个子节点,左、右这两个子节点的宽为划分前节点的宽的四分之一、高等于划分前节点的高,中这一节点的宽为划分前节点的宽的一半、高等于划分前节点的宽。
在相关技术中,为了比较各种划分模式的率失真(Rate-Distortion,RD)代价,需要对各种划分模式得到的CU进行运动估计(Motion Estimation,ME),以计算各个CU的位移矢量。在本申请的一些实施例中,基于不同的预测模式及不同的实现方式,位移矢量可能有不同的名称。例如,帧间预测模式中的位移矢量称为运动矢量(Motion Vector,MV);IBC预测模式中的位移矢量称为块矢量(BlockVector,BV);ISC(Intra String Copy,帧内串复制)预测模式中的位移矢量称为串矢量(String Vector,SV)。其中,帧内串复制也称作“串预测”或“串匹配”等。
示例性地,在采用第一划分模式对待编码的编码树单元CTU进行划分之后,对划分得到的CU进行ME,计算各个CU的位移矢量,进而计算得到第一划分模式的RD代价,然后采用第二划分模式对待编码图像块进行划分并计算后得到第二划分模式的RD代价。最后通过比较计算出的RD代价以确定最优的划分模式。
下面结合具体实施方式对本申请提供的视频编码方法、视频编码装置、计算机可读介质以及电子设备等技术方案做出详细说明。
图5示意性地示出了本申请一个实施例中视频编码方法的步骤流程图。如图5所示,该方法主要可以包括如下的步骤S510至步骤S540。
步骤S510:获取当前视频帧,并确定对当前视频帧进行编码时参考的参考帧。
为了提高精度,在对当前视频帧进行编码时可以从一组前面或后面的编码图像中选出一个或两个与当前视频帧最匹配的图像作为帧间编码时参考的参考帧,虽然复杂度增加了,但是预测精度将得到显著改善。
编码器将多张图像进行编码后形成一段一段的GOP(Group of Pictures),解码器在播放时则是读取一段一段的GOP进行解码后读取画面再渲染显示。GOP是一组连续的画面,由一个I帧和若干个B帧/P帧组成,是视频图像编码器和解码器存取的基本单位,它的排列顺序将会一直重复到视频影像结束。
I帧又称帧内编码帧,是一种自带全部信息的独立帧,无需参考其他图像便可独立进行解码,可以简单理解为一张静态画面。
P帧又称帧间预测编码帧,需要参考前面的I帧才能进行编码。P帧表示的是当前帧画面与前一帧(前一帧可能是I帧也可能是P帧)的差别。解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。
B帧又称双向预测编码帧,B帧记录的是当前视频帧与在前的视频帧以及在后的视频帧之间的差别。在解码B帧时,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面与本帧数据的叠加取得最终的画面。
步骤S520:搜索用于对当前视频帧的待编码部分进行块划分的划分模式。
图6示意性地示出了本申请实施例中进行划分模式搜索的树状结构图。如图6所示,对于一个编码单元601,首先可以分别使用QT、BT和TT三种划分模式进行块划分,得到对应的子编码单元。
当采用QT划分模式时,对编码单元601进行四叉树划分,可以得到四个尺寸相同的正方形的第一子编码单元602。其中每个子编码单元又可以继续选择QT、BT和TT中的任意一种划分模式做进一步地块划分,直至划分得到的子编码单元达到规定的最小尺寸。
当采用BT划分模式时,对编码单元601进行二叉树划分,可以得到两个矩形的第二子编码单元603。按照划分方向的不同,可以包括沿竖直方向Ver.划分以及沿水平方向Hor.划分两种划分结果。以沿竖直方向进行二叉树划分为例,经过二叉树划分后得到的第二子编码单元603,可以继续选择BT和TT中的任意一种划分模式做进一步地块划分,直至划分得到的子编码单元达到规定的最小尺寸。
当采用TT划分模式时,对编码单元601进行三叉树划分,可以得到三个矩形的第三子编码单元604。按照划分方向的不同,可以包括沿竖直方向Ver.划分以及沿水平方向Hor.划分两种划分结果。以沿竖直方向进行三叉树划分为例,经过三叉树划分后得到的第三子编码单元604,可以继续选择BT和TT中的任意一种划分模式做进一步地块划分,直至划分得到的子编码单元达到规定的最小尺寸。
步骤S530:根据参考帧的编码信息或者当前视频帧的已编码部分的编码信息,跳过部分待搜索的划分模式。
当前视频帧的编码顺序在其参考帧之后,即当前视频帧在进行编码时,其参考帧已经完成编码,而且当前视频帧与其参考帧在图像内容上存在一定的内容相关性,因此根据参考帧的编码信息可以指导当前视频帧的编码过程,例如可以根据参考帧的编码块划分结果对当前视频帧进行块划分,从而降低计算复杂度,加快块划分过程。
在对当前视频帧进行编码时,编码器会按照不同的划分模式将其划分为若干个编码单元,并分别对每个编码单元进行预测编码。在块划分的过程中,按照各种不同的划分模式进行块划分后,可以对划分得到的编码单元进行预测编码,从而计算各种划分模式下的率失真代价,并选择其中率失真代价最低的划分模式进行预测编码。
步骤S540:按照搜索得到的划分模式对组成待编码部分的编码单元进行预测编码。
按照搜索得到的划分模式,可以对当前视频帧的待编码部分进行块划分得到组成该待编码部分的编码单元,在块划分的基础上可以进一步对每个编码单元进行预测编码。
如图6中所示的划分模式搜索的树状结构可知,在对编码单元进行块划分时,按照不同的划分模式进行组合可以形成多种不同的划分路径,其中每种划分路径具有不同的率失真代价。在对当前视频帧进行块划分的过程中,基于已完成搜索和编码的部分可以对待搜索和编码的部分进行指导,例如跳过部分待搜索的划分模式,从而加快块划分过程。
在本申请实施例提供的视频编码方法中,利用参考帧的编码信息或者当前视频帧的已编码部分的编码信息对当前视频帧的待编码部分进行预测编码,能够充分利用历史编码信息来加快编码速度,提高编码效率。
在一些可选的实施方式中,可以单独根据参考帧的编码信息对当前视频帧的待编码部分进行预测编码,也可以单独根据当前视频帧的已编码部分的编码信息对当前视频帧的待编码部分进行预测编码,或者也可以同时根据参考帧的编码信息和当前视频帧的已编码部分的编码信息对当前视频帧的待编码部分进行预测编码。
图7示意性地示出了本申请一个实施例中根据参考帧的编码信息对当前视频帧的待编码部分进行预测编码的步骤流程图。
如图7所示,在以上实施例的基础上,步骤S530中的根据参考帧的编码信息或者当前视频帧的已编码部分的编码信息,跳过部分待搜索的划分模式,可以包括如下的步骤S710至步骤S720。
步骤S710:根据参考帧的编码信息确定对参考帧进行块划分得到的块划分结果。
参考帧的编码信息包括了将参考帧划分为多个编码单元后,分别对每个编码单元进行预测编码得到的结果。根据参考帧的编码信息可以从中确定对参考帧进行块划分的块划分结果。图8示意性地示出了一个参考帧中的编码树单元的块划分结果。如图8所示,基于QT、BT和TT等多种划分模式的组合,可以将一个编码树单元划分成多个具有不同尺寸大小的编码单元。一个参考帧中可以包括多个编码树单元,每个编码树单元均可以确定一个对应的块划分结果。
步骤S720:根据块划分结果跳过部分待搜索的划分模式。
在对当前视频帧进行编码的过程中,可以按照如图6所示的树状结构图递归地进行划分模式搜索,从而最终搜索到最适宜的划分模式。在一些相关技术中,需要按照图6所示的树状结构图,遍历所有路径上的划分模式。而在本申请实施例提供的技术方案中,由于当前视频帧与其参考帧在视频内容上存在较大的相关性,即其图像像素分布情况具有很大的相似性,因此本申请实施例在对当前视频帧的待编码部分进行块划分的过程中,可以根据参考帧的块划分结果跳过部分待搜索的划分模式,从而缩小划分模式的搜索范围,加快搜索过程,提高搜索效率。
图8示意性地示出了本申请一个实施例中基于参考帧的块划分结果跳过划分模式的步骤流程图。
如图8所示,在以上实施例的基础上,步骤S720中的根据块划分结果跳过部分待搜索的划分模式,可以包括如下的步骤S810至步骤S840。
步骤S810:从对当前视频帧进行编码时参考的一个或者多个参考帧中选取目标参考帧。
在本申请的一个实施例中,若对当前视频帧进行编码时参考的参考帧的数量为一个,则将该参考帧选作目标参考帧;若对当前视频帧进行编码时参考的参考帧的数量为多个,则根据各个视频帧的量化参数从多个参考帧中选取目标参考帧。
量化是把信号的连续取值映射成多个离散的幅值的过程,实现了信号取值多对一的映射。残差数据在经过变换之后,变换系数具有较大的取值范围,量化可以有效减小信号的取值范围,进而获得更好的压缩效果。
量化参数(Quantizer Parameter,QP)是量化步长Qstep的序号,反映了空间细节压缩情况。QP取值越小,量化越精细,图像质量越高,产生的码流也越长。如果QP较小,大部分的图像细节都会被保留;QP增大时,一些图像细节会丢失,导致码率降低,同时也会导致图像失真加强和质量下降。
在本申请的一个实施例中,根据各个视频帧的量化参数从多个参考帧中选取目标参考帧的方法,包括:根据各个视频帧的量化参数确定参考帧与当前视频帧的量化参数差值;选取与当前视频帧具有最小量化参数差值的参考帧作为目标参考帧。
在本申请的一个实施例中,若与当前视频帧具有最小量化参数差值的参考帧的数量为一个,则将该参考帧选作目标参考帧;若与当前视频帧具有最小量化参数差值的参考帧的数量为多个,则从多个与当前视频帧具有最小量化参数差值的参考帧中选取与当前视频帧距离最近的参考帧作为目标参考帧。
当前视频帧与参考帧之间的平均CU尺寸的差异会随着二者QP差值的增大而增大,为了减小平均CU尺寸之间的差异,与当前视频帧中具有最小QP差值的参考帧被用来决定当前帧允许搜索检测的最大CU尺寸。若存在多个参考帧同时满足与当前视频帧的QP差值最小,则第一个与当前帧距离最近的参考帧被选中作为目标参考帧。
步骤S820:根据目标参考帧的块划分结果确定组成目标参考帧的编码单元的平均尺寸。
在本申请的一个实施例中,根据目标参考帧的块划分结果确定目标参考帧中的各个编码单元的宽度和高度;根据目标参考帧中的各个编码单元的宽度和高度,确定目标参考帧中的编码单元的平均宽度和平均高度;将平均宽度或者平均高度作为组成目标参考帧的编码单元的平均尺寸。
在本申请的一个实施例中,可以将平均宽度和平均高度中的较大值作为组成目标参考帧的编码单元的平均尺寸。
步骤S830:根据平均尺寸确定对当前视频帧进行划分模式搜索的最大尺寸。
图9示意性地示出了本申请一个实施例中确定对当前视频帧进行划分模式搜索的最大尺寸的步骤流程图。如图9所示,在以上实施例的基础上,步骤S830中的根据平均尺寸确定对当前视频帧进行划分模式搜索的最大尺寸,可以包括如下的步骤S910至步骤S940。
步骤S910:获取目标参考帧与当前视频帧的量化参数差值。
步骤S920:对量化参数差值进行映射处理,得到与量化参数差值呈正相关关系的补偿值。
在本申请的一个实施例中,将量化参数差值与预设的补偿系数的乘积作为补偿值,补偿系数为大于0的预设数值。
将量化参数差值记为
Figure 714387DEST_PATH_IMAGE009
,补偿系数记为
Figure 458352DEST_PATH_IMAGE010
,由此可以确定补偿值为
Figure 367402DEST_PATH_IMAGE011
。在本申请的一个实施例中,补偿系数
Figure 545312DEST_PATH_IMAGE010
例如取值为2.5。
步骤S930:根据补偿值对平均尺寸进行数值补偿,得到补偿尺寸。
步骤S940:根据补偿尺寸所在的数值范围确定对当前视频帧进行划分模式搜索的最大尺寸。
在本申请的一个实施例中,若补偿尺寸小于预设的第一阈值,则确定对当前视频帧进行划分模式搜索的最大尺寸为预设的第一尺寸;若补偿尺寸大于或等于第一阈值并且小于预设的第二阈值,则确定对当前视频帧进行划分模式搜索的最大尺寸为预设的第二尺寸;若补偿尺寸大于或等于第二阈值,则确定对当前视频帧进行划分模式搜索的最大尺寸为预设的第三尺寸;其中,第一尺寸、第二尺寸和第三尺寸具有等比例放大的倍数关系。
在本申请的一个实施例中,取第一尺寸为32,第二尺寸为64,第三尺寸为128,相应地可以按照如下公式确定对当前视频帧进行划分模式搜索的最大尺寸。
Figure 743075DEST_PATH_IMAGE012
在本申请的一个实施例中,第一阈值
Figure 618627DEST_PATH_IMAGE013
例如可以取值为15,第二阈值
Figure 382183DEST_PATH_IMAGE014
例如可以 取值为30。
步骤S840:若当前视频帧中的当前编码单元的尺寸大于最大尺寸,则跳过除目标划分模式以外的其他待搜索的块划分模式。
在本申请的一个实施例中,待搜索的划分模式包括四叉树划分、横向二叉树划分、竖向二叉树划分、横向三叉树划分或竖向三叉树划分中的至少一种,目标划分模式为四叉树划分。如果当前编码单元大于当前帧允许搜索检测的最大尺寸,则直接对当前编码单元做QT划分而不引入其他额外检查。由于在编码当前视频帧时,其参考帧已经完成编码,本申请实施例不会对帧级并行造成影响。
图10示意性地示出了本申请一个实施例中根据当前视频帧的已编码部分的编码信息对当前视频帧的待编码部分进行预测编码的步骤流程图。
如图10所示,在以上实施例的基础上,步骤S530中的根据参考帧的编码信息或者当前视频帧的已编码部分的编码信息,跳过部分待搜索的划分模式,可以包括如下的步骤S1010至步骤S1020。
步骤S1010:根据当前视频帧的已编码部分的编码信息确定对已编码部分进行块划分得到的块划分结果。
如图6中所示的划分模式搜索的树状结构可知,对当前视频帧进行块划分时,会按照不同划分模式组成的路径进行多次搜索。搜索过程中会对一部分编码单元进行编码以计算其率失真代价,利用搜索顺序在前的已编码部分的编码信息,可以指导对在后的待编码部分的块划分过程。例如,在进行BT划分模式的选择时,可以分别对编码单元做HBT和VBT的划分,经过编码和率失真代价的比较后,从中选择HBT或者VBT对该编码单元进行块划分和编码。
步骤S1020:根据块划分结果跳过部分待搜索的划分模式。
在对当前视频帧进行编码的过程中,可以按照如图6所示的树状结构图递归地进行划分模式搜索,从而最终搜索到最适宜的划分模式。在本申请实施例提供的技术方案中,利用搜索顺序在前的已编码部分的编码信息,可以指导顺序在后的待编码部分的块划分过程,具体可以根据已编码部分的块划分结果跳过部分待搜索的划分模式,从而缩小划分模式的搜索范围,加快搜索过程,提高搜索效率。
在本申请的一个实施例中,步骤S1020中的根据块划分结果跳过部分待搜索的划分模式的方法包括:根据块划分结果确定当前编码单元的划分属性,划分属性包括划分方向、划分位置和多类型树划分深度中的至少一种;若划分属性满足预设的属性条件,则跳过与属性条件相匹配的待搜索的划分模式。
在本申请的一个实施例中,以划分方向作为划分属性,根据当前视频帧的已编码部分的块划分结果,可以确定对当前编码单元进行多类型树划分的各种划分模式的划分方向,划分方向包括水平方向和竖直方向。
在本申请实施例中,根据当前视频帧的已编码部分已经检测过的划分方向可以推断其最优划分方向的可能性,从而跳过后续的可能性较低的划分模式。举例而言,在当前视频帧的已编码部分,若各种划分模式的划分方向均为水平方向,则跳过搜索与竖直方向相匹配的划分模式;若各种划分模式的划分方向均为竖直方向,则跳过搜索与水平方向相匹配的划分模式。
图11示意性地示出了本申请一个实施例中根据已编码部分的划分方向跳过部分待搜索的划分模式的原理示意图。
如图11所示,当多类型树MTT的最大深度大于或等于2时,如果当前CU的BT或者TT划分只包括横向的划分,则说明当前CU几乎不包含竖向划分的可能,编码器可以跳过剩余的包含竖向分割的划分,即跳过搜索竖向二叉树BT划分、竖向三叉树TT划分和四叉树QT划分。同样地,如果当前CU的BT或者TT划分只包括竖向的划分,则说明当前CU几乎不包含横向划分的可能,编码器可以跳过剩余的包含横向分割的划分,即跳过搜索横向二叉树BT划分、横向三叉树TT划分和四叉树QT划分。
在本申请的一个实施例中,根据块划分结果确定当前编码单元的划分属性,还可以包括:在块划分结果中查找与当前编码单元处于同一位置且具有相同尺寸的历史编码单元;获取对历史编码单元进行多类型树划分的各种划分模式的划分方向,并将历史编码单元的划分方向作为当前编码单元的优选划分方向。
若优选划分方向为水平方向,则跳过搜索与竖直方向相匹配的划分模式;例如,跳过搜索竖向二叉树划分和竖向三叉树划分。若优选划分方向为竖直方向,则跳过搜索与水平方向相匹配的划分模式;例如,跳过搜索横向二叉树划分和横向三叉树划分。
继续参考图6所示,由于VVC中按照不同的划分路径递归地进行QT、BT和TT划分,因此同一位置和大小的CU会由不同的划分路径检查多次。但不同划分路径会导致同一位置和大小的CU拥有不同的周围信息,从而导致他们最终选择不同的划分。对同一位置和大小的CU,如果历史中横向的BT和TT划分都优于竖向的BT和TT划分,则之后对此CU跳过对竖向的BT和TT划分的检查。类似地,如果历史中竖向的BT和TT划分都优于横向的BT和TT划分,则之后对此CU跳过对横向的BT和TT划分的检查。
在本申请的一个实施例中,以划分位置作为划分属性,根据当前视频帧的已编码部分的块划分结果,可以确定当前编码单元中的各个子编码单元的划分位置,划分位置包括对应于竖向三叉树划分的多个沿竖直方向的划分位置以及对应于横向三叉树划分的多个沿水平方向的划分位置。
将各个子编码单元的划分位置与目标划分模式的划分位置进行匹配检测,以确定各个子编码单元与目标划分模式是否存在重叠的划分位置;若各个子编码单元与目标划分模式不存在重叠的划分位置,则跳过搜索目标划分模式,目标划分模式包括横向三叉树划分和竖向三叉树划分中的至少一种。
图12示意性地示出了本申请一个实施例中根据已编码部分的划分位置跳过部分待搜索的划分模式的原理示意图。
如图12所示,当多类型树MTT的最大深度大于或等于2时,在当前CU已完成的划分中,如果全部子CU都没有在当前CU进行横向TT划分的位置上产生过划分,则说明横向TT划分不适合当前CU,所以可以跳过当前CU对横向TT的检查。类似地,如果全部子CU都没有在当前CU进行竖向TT划分的位置上产生过划分,则说明竖向TT划分不适合当前CU,所以可以跳过当前CU对竖向TT的检查。
在本申请的一个实施例中,以多类型树划分深度作为划分属性,根据当前编码单元的已编码部分的块划分结果,可以确定当前编码单元中的各个子编码单元的多类型树划分深度。
将各个子编码单元的多类型树划分深度与预设的最大深度,以确定当前编码单元中是否存在多类型树划分深度达到最大深度的子编码单元;若当前编码单元中存在多类型树划分深度达到最大深度的子编码单元,则跳过搜索除四叉树划分以外的其他划分模式。
在本申请实施例中,当多类型树MTT的最大深度大于或等于2时,在当前CU完成QT之后,如果QT划分中有子CU继续划分到了最大MTT深度,则代表当前CU需要很精细的划分。如果直接对当前CU用BT或者TT划分,则无法达到QT中同样的子CU大小,因此可以跳过当前CU对BT和TT划分的检查。
如以上各个实施例,本申请通过运用参考帧或者当前视频帧的已编码部分的历史信息,可以加速剩余待编码部分的划分模式搜索,从而降低编码器的时间复杂度,同时可以保证视频压缩效率。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的视频编码方法。图13示意性地示出了本申请实施例提供的视频编码装置的结构框图。如图13所示,视频编码装置1300包括:获取模块1310,被配置为获取当前视频帧,并确定对所述当前视频帧进行编码时参考的参考帧;搜索模块1320,被配置为搜索用于对所述当前视频帧的待编码部分进行块划分的划分模式;跳过模块1330,被配置为根据所述参考帧的编码信息或者所述当前视频帧的已编码部分的编码信息,跳过部分待搜索的划分模式;编码模块1340,被配置为按照搜索得到的划分模式对组成所述待编码部分的编码单元进行预测编码。
在本申请的一些实施例中,基于以上各实施例,所述跳过模块1330包括:第一结果确定模块,被配置为根据所述参考帧的编码信息确定对所述参考帧进行块划分得到的块划分结果;第一模式跳过模块,被配置为根据所述块划分结果跳过部分待搜索的划分模式。
在本申请的一些实施例中,基于以上各实施例,所述第一模式跳过模块包括:参考帧选取模块,被配置为从对所述当前视频帧进行编码时参考的一个或者多个参考帧中选取目标参考帧;平均尺寸确定模块,被配置为根据所述目标参考帧的块划分结果确定组成所述目标参考帧的编码单元的平均尺寸;最大尺寸确定模块,被配置为根据所述平均尺寸确定对所述当前视频帧进行划分模式搜索的最大尺寸;划分模式跳过模块,被配置为若所述当前视频帧中的当前编码单元的尺寸大于所述最大尺寸,则跳过除目标划分模式以外的其他待搜索的块划分模式。
在本申请的一些实施例中,基于以上各实施例,所述参考帧选取模块包括:第一帧选取模块,被配置为若对所述当前视频帧进行编码时参考的参考帧的数量为一个,则将该参考帧选作目标参考帧;第二帧选取模块,被配置为若对所述当前视频帧进行编码时参考的参考帧的数量为多个,则根据各个视频帧的量化参数从多个参考帧中选取目标参考帧。
在本申请的一些实施例中,基于以上各实施例,所述第二帧选取模块包括:量化参数差值确定模块,被配置为根据各个视频帧的量化参数确定所述参考帧与所述当前视频帧的量化参数差值;目标参考帧选取模块,被配置为选取与所述当前视频帧具有最小量化参数差值的参考帧作为目标参考帧。
在本申请的一些实施例中,基于以上各实施例,所述目标参考帧选取模块还被配置为:若与所述当前视频帧具有最小量化参数差值的参考帧的数量为一个,则将该参考帧选作目标参考帧;若与所述当前视频帧具有最小量化参数差值的参考帧的数量为多个,则从多个与所述当前视频帧具有最小量化参数差值的参考帧中选取与所述当前视频帧距离最近的参考帧作为目标参考帧。
在本申请的一些实施例中,基于以上各实施例,所述平均尺寸确定模块被配置为:根据所述目标参考帧的块划分结果确定所述目标参考帧中的各个编码单元的宽度和高度;根据所述目标参考帧中的各个编码单元的宽度和高度,确定所述目标参考帧中的编码单元的平均宽度和平均高度;将所述平均宽度或者所述平均高度作为组成所述目标参考帧的编码单元的平均尺寸。
在本申请的一些实施例中,基于以上各实施例,所述最大尺寸确定模块包括:参数差值确定模块,被配置为获取所述目标参考帧与所述当前视频帧的量化参数差值;参数差值映射模块,被配置为对所述量化参数差值进行映射处理,得到与所述量化参数差值呈正相关关系的补偿值;数值补偿模块,被配置为根据所述补偿值对所述平均尺寸进行数值补偿,得到补偿尺寸;范围搜索模块,被配置为根据所述补偿尺寸所在的数值范围确定对所述当前视频帧进行划分模式搜索的最大尺寸。
在本申请的一些实施例中,基于以上各实施例,所述参数差值映射模块被配置为:将所述量化参数差值与预设的补偿系数的乘积作为补偿值,所述补偿系数为大于0的预设数值。
在本申请的一些实施例中,基于以上各实施例,所述范围搜索模块被配置为:若所述补偿尺寸小于预设的第一阈值,则确定对所述当前视频帧进行划分模式搜索的最大尺寸为预设的第一尺寸;若所述补偿尺寸大于或等于所述第一阈值并且小于预设的第二阈值,则确定对所述当前视频帧进行划分模式搜索的最大尺寸为预设的第二尺寸;若所述补偿尺寸大于或等于所述第二阈值,则确定对所述当前视频帧进行划分模式搜索的最大尺寸为预设的第三尺寸;其中,所述第一尺寸、所述第二尺寸和所述第三尺寸具有等比例放大的倍数关系。
在本申请的一些实施例中,基于以上各实施例,所述待搜索的划分模式包括四叉树划分、横向二叉树划分、竖向二叉树划分、横向三叉树划分或竖向三叉树划分中的至少一种,所述目标划分模式为四叉树划分。
在本申请的一些实施例中,基于以上各实施例,所述跳过模块1330包括:第二结果确定模块,被配置为根据所述当前视频帧的已编码部分的编码信息确定对所述已编码部分进行块划分得到的块划分结果;第二模式跳过模块,被配置为根据所述块划分结果跳过部分待搜索的划分模式。
在本申请的一些实施例中,基于以上各实施例,所述第二模式跳过模块包括:划分属性确定模块,被配置为根据所述块划分结果确定当前编码单元的划分属性,所述划分属性包括划分方向、划分位置和多类型树划分深度中的至少一种;划分模式跳过模块,被配置为若所述划分属性满足预设的属性条件,则跳过与所述属性条件相匹配的待搜索的划分模式。
在本申请的一些实施例中,基于以上各实施例,所述划分属性确定模块包括:划分方向确定模块,被配置为根据所述块划分结果确定对当前编码单元进行多类型树划分的各种划分模式的划分方向,所述划分方向包括水平方向和竖直方向。
在本申请的一些实施例中,基于以上各实施例,所述划分模式跳过模块包括:第一方向跳过模块,被配置为若所述各种划分模式的划分方向均为水平方向,则跳过搜索与竖直方向相匹配的划分模式;第二方向跳过模块,被配置为若所述各种划分模式的划分方向均为竖直方向,则跳过搜索与水平方向相匹配的划分模式。
在本申请的一些实施例中,基于以上各实施例,所述第一方向跳过模块被配置为跳过搜索竖向二叉树划分、竖向三叉树划分和四叉树划分;所述第二方向跳过模块被配置为跳过搜索横向二叉树划分、横向三叉树划分和四叉树划分。
在本申请的一些实施例中,基于以上各实施例,所述划分属性确定模块包括:划分位置确定模块,被配置为根据所述块划分结果确定当前编码单元中的各个子编码单元的划分位置,所述划分位置包括对应于竖向三叉树划分的多个沿竖直方向的划分位置以及对应于横向三叉树划分的多个沿水平方向的划分位置。
在本申请的一些实施例中,基于以上各实施例,所述划分模式跳过模块包括:位置匹配检测模块,被配置为将所述各个子编码单元的划分位置与目标划分模式的划分位置进行匹配检测,以确定所述各个子编码单元与所述目标划分模式是否存在重叠的划分位置;位置跳过模块,被配置为若所述各个子编码单元与所述目标划分模式不存在重叠的划分位置,则跳过搜索所述目标划分模式,所述目标划分模式包括横向三叉树划分和竖向三叉树划分中的至少一种。
在本申请的一些实施例中,基于以上各实施例,所述划分属性确定模块包括:深度确定模块,被配置为根据所述块划分结果确定当前编码单元中的各个子编码单元的多类型树划分深度。
在本申请的一些实施例中,基于以上各实施例,所述划分模式跳过模块包括:最大深度确定模块,被配置为将所述各个子编码单元的多类型树划分深度与预设的最大深度,以确定所述当前编码单元中是否存在多类型树划分深度达到所述最大深度的子编码单元;深度跳过模块,被配置为若所述当前编码单元中存在多类型树划分深度达到所述最大深度的子编码单元,则跳过搜索除四叉树划分以外的其他划分模式。
在本申请的一些实施例中,基于以上各实施例,所述划分属性确定模块包括:历史编码单元确定模块,被配置为在所述块划分结果中查找与当前编码单元处于同一位置且具有相同尺寸的历史编码单元;优选划分方向确定模块,被配置为获取对所述历史编码单元进行多类型树划分的各种划分模式的划分方向,并将所述历史编码单元的划分方向作为所述当前编码单元的优选划分方向。
在本申请的一些实施例中,基于以上各实施例,所述划分模式跳过模块包括:第三方向跳过模块,被配置为若所述优选划分方向为水平方向,则跳过搜索与竖直方向相匹配的划分模式;第四方向跳过模块,被配置为若所述优选划分方向为竖直方向,则跳过搜索与水平方向相匹配的划分模式。
在本申请的一些实施例中,基于以上各实施例,所述第三方向跳过模块被配置为跳过搜索竖向二叉树划分和竖向三叉树划分;在本申请的一些实施例中,基于以上各实施例,所述第四方向跳过模块被配置为跳过搜索与水平方向相匹配的划分模式,包括:跳过搜索横向二叉树划分和横向三叉树划分。
本申请各实施例中提供的视频编码装置的具体细节已经在对应的方法实施例中进行了详细的描述,此处不再赘述。
图14示意性地示出了用于实现本申请实施例的电子设备的计算机系统结构框图。
需要说明的是,图14示出的电子设备的计算机系统1400仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图14所示,计算机系统1400包括中央处理器1401(Central Processing Unit,CPU),其可以根据存储在只读存储器1402(Read-Only Memory,ROM)中的程序或者从存储部分1408加载到随机访问存储器1403(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器1403中,还存储有系统操作所需的各种程序和数据。中央处理器1401、在只读存储器1402以及随机访问存储器1403通过总线1404彼此相连。输入/输出接口1405(Input /Output接口,即I/O接口)也连接至总线1404。
以下部件连接至输入/输出接口1405:包括键盘、鼠标等的输入部分1406;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1407;包括硬盘等的存储部分1408;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分1409。通信部分1409经由诸如因特网的网络执行通信处理。驱动器1410也根据需要连接至输入/输出接口1405。可拆卸介质1411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1410上,以便于从其上读出的计算机程序根据需要被安装入存储部分1408。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1409从网络上被下载和安装,和/或从可拆卸介质1411被安装。在该计算机程序被中央处理器1401执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (26)

1.一种视频编码方法,其特征在于,包括:
获取当前视频帧,并确定对所述当前视频帧进行编码时参考的参考帧;
搜索用于对所述当前视频帧的待编码部分进行块划分的划分模式;
根据所述参考帧的编码信息或者所述当前视频帧的已编码部分的编码信息,跳过部分待搜索的划分模式;
按照搜索得到的划分模式对组成所述待编码部分的编码单元进行预测编码。
2.根据权利要求1所述的视频编码方法,其特征在于,根据所述参考帧的编码信息或者所述当前视频帧的已编码部分的编码信息,跳过部分待搜索的划分模式,包括:
根据所述参考帧的编码信息确定对所述参考帧进行块划分得到的块划分结果;
根据所述块划分结果跳过部分待搜索的划分模式。
3.根据权利要求2所述的视频编码方法,其特征在于,根据所述块划分结果跳过部分待搜索的划分模式,包括:
从对所述当前视频帧进行编码时参考的一个或者多个参考帧中选取目标参考帧;
根据所述目标参考帧的块划分结果确定组成所述目标参考帧的编码单元的平均尺寸;
根据所述平均尺寸确定对所述当前视频帧进行划分模式搜索的最大尺寸;
若所述当前视频帧中的当前编码单元的尺寸大于所述最大尺寸,则跳过除目标划分模式以外的其他待搜索的块划分模式。
4.根据权利要求3所述的视频编码方法,其特征在于,从对所述当前视频帧进行编码时参考的一个或者多个参考帧中选取目标参考帧,包括:
若对所述当前视频帧进行编码时参考的参考帧的数量为一个,则将该参考帧选作目标参考帧;
若对所述当前视频帧进行编码时参考的参考帧的数量为多个,则根据各个视频帧的量化参数从多个参考帧中选取目标参考帧。
5.根据权利要求4所述的视频编码方法,其特征在于,根据各个视频帧的量化参数从多个参考帧中选取目标参考帧,包括:
根据各个视频帧的量化参数确定所述参考帧与所述当前视频帧的量化参数差值;
选取与所述当前视频帧具有最小量化参数差值的参考帧作为目标参考帧。
6.根据权利要求5所述的视频编码方法,其特征在于,选取与所述当前视频帧具有最小量化参数差值的参考帧作为目标参考帧,包括:
若与所述当前视频帧具有最小量化参数差值的参考帧的数量为一个,则将该参考帧选作目标参考帧;
若与所述当前视频帧具有最小量化参数差值的参考帧的数量为多个,则从多个与所述当前视频帧具有最小量化参数差值的参考帧中选取与所述当前视频帧距离最近的参考帧作为目标参考帧。
7.根据权利要求3至6中任意一项所述的视频编码方法,其特征在于,根据所述目标参考帧的块划分结果确定组成所述目标参考帧的编码单元的平均尺寸,包括:
根据所述目标参考帧的块划分结果确定所述目标参考帧中的各个编码单元的宽度和高度;
根据所述目标参考帧中的各个编码单元的宽度和高度,确定所述目标参考帧中的编码单元的平均宽度和平均高度;
将所述平均宽度或者所述平均高度作为组成所述目标参考帧的编码单元的平均尺寸。
8.根据权利要求3至6中任意一项所述的视频编码方法,其特征在于,根据所述平均尺寸确定对所述当前视频帧进行划分模式搜索的最大尺寸,包括:
获取所述目标参考帧与所述当前视频帧的量化参数差值;
对所述量化参数差值进行映射处理,得到与所述量化参数差值呈正相关关系的补偿值;
根据所述补偿值对所述平均尺寸进行数值补偿,得到补偿尺寸;
根据所述补偿尺寸所在的数值范围确定对所述当前视频帧进行划分模式搜索的最大尺寸。
9.根据权利要求8所述的视频编码方法,其特征在于,对所述量化参数差值进行映射处理,得到与所述量化参数差值呈正相关关系的补偿值,包括:
将所述量化参数差值与预设的补偿系数的乘积作为补偿值,所述补偿系数为大于0的预设数值。
10.根据权利要求8所述的视频编码方法,其特征在于,根据所述补偿尺寸所在的数值范围确定对所述当前视频帧进行划分模式搜索的最大尺寸,包括:
若所述补偿尺寸小于预设的第一阈值,则确定对所述当前视频帧进行划分模式搜索的最大尺寸为预设的第一尺寸;
若所述补偿尺寸大于或等于所述第一阈值并且小于预设的第二阈值,则确定对所述当前视频帧进行划分模式搜索的最大尺寸为预设的第二尺寸;
若所述补偿尺寸大于或等于所述第二阈值,则确定对所述当前视频帧进行划分模式搜索的最大尺寸为预设的第三尺寸;
其中,所述第一尺寸、所述第二尺寸和所述第三尺寸具有等比例放大的倍数关系。
11.根据权利要求3至6中任意一项所述的视频编码方法,其特征在于,所述待搜索的划分模式包括四叉树划分、横向二叉树划分、竖向二叉树划分、横向三叉树划分或竖向三叉树划分中的至少一种,所述目标划分模式为四叉树划分。
12.根据权利要求1所述的视频编码方法,其特征在于,根据所述参考帧的编码信息或者所述当前视频帧的已编码部分的编码信息,跳过部分待搜索的划分模式,包括:
根据所述当前视频帧的已编码部分的编码信息确定对所述已编码部分进行块划分得到的块划分结果;
根据所述块划分结果跳过部分待搜索的划分模式。
13.根据权利要求12所述的视频编码方法,其特征在于,根据所述块划分结果跳过部分待搜索的划分模式,包括:
根据所述块划分结果确定当前编码单元的划分属性,所述划分属性包括划分方向、划分位置和多类型树划分深度中的至少一种;
若所述划分属性满足预设的属性条件,则跳过与所述属性条件相匹配的待搜索的划分模式。
14.根据权利要求13所述的视频编码方法,其特征在于,根据所述块划分结果确定当前编码单元的划分属性,包括:
根据所述块划分结果确定对当前编码单元进行多类型树划分的各种划分模式的划分方向,所述划分方向包括水平方向和竖直方向。
15.根据权利要求14所述的视频编码方法,其特征在于,若所述划分属性满足预设的属性条件,则跳过与所述属性条件相匹配的待搜索的划分模式,包括:
若所述各种划分模式的划分方向均为水平方向,则跳过搜索与竖直方向相匹配的划分模式;
若所述各种划分模式的划分方向均为竖直方向,则跳过搜索与水平方向相匹配的划分模式。
16.根据权利要求15所述的视频编码方法,其特征在于,跳过搜索与竖直方向相匹配的划分模式,包括:跳过搜索竖向二叉树划分、竖向三叉树划分和四叉树划分;
跳过搜索与水平方向相匹配的划分模式,包括:跳过搜索横向二叉树划分、横向三叉树划分和四叉树划分。
17.根据权利要求13所述的视频编码方法,其特征在于,根据所述块划分结果确定当前编码单元的划分属性,包括:
根据所述块划分结果确定当前编码单元中的各个子编码单元的划分位置,所述划分位置包括对应于竖向三叉树划分的多个沿竖直方向的划分位置以及对应于横向三叉树划分的多个沿水平方向的划分位置。
18.根据权利要求17所述的视频编码方法,其特征在于,若所述划分属性满足预设的属性条件,则跳过与所述属性条件相匹配的待搜索的划分模式,包括:
将所述各个子编码单元的划分位置与目标划分模式的划分位置进行匹配检测,以确定所述各个子编码单元与所述目标划分模式是否存在重叠的划分位置;
若所述各个子编码单元与所述目标划分模式不存在重叠的划分位置,则跳过搜索所述目标划分模式,所述目标划分模式包括横向三叉树划分和竖向三叉树划分中的至少一种。
19.根据权利要求13所述的视频编码方法,其特征在于,根据所述块划分结果确定当前编码单元的划分属性,包括:
根据所述块划分结果确定当前编码单元中的各个子编码单元的多类型树划分深度。
20.根据权利要求19所述的视频编码方法,其特征在于,若所述划分属性满足预设的属性条件,则跳过与所述属性条件相匹配的待搜索的划分模式,包括:
将所述各个子编码单元的多类型树划分深度与预设的最大深度,以确定所述当前编码单元中是否存在多类型树划分深度达到所述最大深度的子编码单元;
若所述当前编码单元中存在多类型树划分深度达到所述最大深度的子编码单元,则跳过搜索除四叉树划分以外的其他划分模式。
21.根据权利要求13所述的视频编码方法,其特征在于,根据所述块划分结果确定当前编码单元的划分属性,包括:
在所述块划分结果中查找与当前编码单元处于同一位置且具有相同尺寸的历史编码单元;
获取对所述历史编码单元进行多类型树划分的各种划分模式的划分方向,并将所述历史编码单元的划分方向作为所述当前编码单元的优选划分方向。
22.根据权利要求21所述的视频编码方法,其特征在于,若所述划分属性满足预设的属性条件,则跳过与所述属性条件相匹配的待搜索的划分模式,包括:
若所述优选划分方向为水平方向,则跳过搜索与竖直方向相匹配的划分模式;
若所述优选划分方向为竖直方向,则跳过搜索与水平方向相匹配的划分模式。
23.根据权利要求22所述的视频编码方法,其特征在于,跳过搜索与竖直方向相匹配的划分模式,包括:跳过搜索竖向二叉树划分和竖向三叉树划分;
跳过搜索与水平方向相匹配的划分模式,包括:跳过搜索横向二叉树划分和横向三叉树划分。
24.一种视频编码装置,其特征在于,包括:
获取模块,被配置为获取当前视频帧,并确定对所述当前视频帧进行编码时参考的参考帧;
搜索模块,被配置为搜索用于对所述当前视频帧的待编码部分进行块划分的划分模式;
跳过模块,被配置为根据所述参考帧的编码信息或者所述当前视频帧的已编码部分的编码信息,跳过部分待搜索的划分模式;
编码模块,被配置为按照搜索得到的划分模式对组成所述待编码部分的编码单元进行预测编码。
25.一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1至23中任意一项所述的视频编码方法。
26.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至23中任意一项所述的视频编码方法。
CN202110853942.4A 2021-07-28 2021-07-28 视频编码方法、装置、介质及电子设备 Active CN113315967B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110853942.4A CN113315967B (zh) 2021-07-28 2021-07-28 视频编码方法、装置、介质及电子设备
PCT/CN2022/106235 WO2023005709A1 (zh) 2021-07-28 2022-07-18 视频编码方法、装置、介质及电子设备
US18/463,916 US20230421763A1 (en) 2021-07-28 2023-09-08 Video coding method and apparatus, medium, and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110853942.4A CN113315967B (zh) 2021-07-28 2021-07-28 视频编码方法、装置、介质及电子设备

Publications (2)

Publication Number Publication Date
CN113315967A true CN113315967A (zh) 2021-08-27
CN113315967B CN113315967B (zh) 2021-11-09

Family

ID=77381586

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110853942.4A Active CN113315967B (zh) 2021-07-28 2021-07-28 视频编码方法、装置、介质及电子设备

Country Status (3)

Country Link
US (1) US20230421763A1 (zh)
CN (1) CN113315967B (zh)
WO (1) WO2023005709A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023005709A1 (zh) * 2021-07-28 2023-02-02 腾讯科技(深圳)有限公司 视频编码方法、装置、介质及电子设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115883835B (zh) * 2023-03-03 2023-04-28 腾讯科技(深圳)有限公司 一种视频编码方法、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130188742A1 (en) * 2004-07-20 2013-07-25 Qualcomm Incorporated Method and apparatus for encoder assisted-frame rate up conversion (ea-fruc) for video compression
JP2014204208A (ja) * 2013-04-02 2014-10-27 日本電信電話株式会社 予測モード決定方法、動画像符号化装置、及び予測モード決定プログラム
US20160080738A1 (en) * 2010-01-14 2016-03-17 Samsung Electronics Co., Ltd. Method and apparatus for encoding video and method and apparatus for decoding video by considering skip and split order
CN107371022A (zh) * 2017-08-26 2017-11-21 同济大学 应用于hevc医学影像无损编码的帧间编码单元快速划分方法
CN110213581A (zh) * 2019-05-20 2019-09-06 广州市数字视频编解码技术国家工程实验室研究开发与产业化中心 一种基于块划分模式跳过的编码方法、装置及存储介质
CN110913232A (zh) * 2019-11-29 2020-03-24 北京数码视讯软件技术发展有限公司 一种tu划分模式的选择方法及装置、可读存储介质
CN111263145A (zh) * 2020-01-17 2020-06-09 福州大学 基于深度神经网络的多功能视频快速编码方法
CN111711815A (zh) * 2020-06-30 2020-09-25 福州大学 基于集成学习和概率模型的快速vvc帧内预测方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190306506A1 (en) * 2018-04-02 2019-10-03 Qualcomm Incorporated Limitation on the coding tree unit/block for next-generation video coding
CN111988607B (zh) * 2020-08-07 2023-03-24 北京奇艺世纪科技有限公司 编码单元处理方法、装置、电子设备及存储介质
CN111988628B (zh) * 2020-09-08 2023-10-17 福州大学 基于强化学习的vvc的快速帧内编码方法
CN112104868B (zh) * 2020-11-05 2021-02-05 电子科技大学 一种针对vvc帧内编码单元划分的快速决策方法
CN112714314B (zh) * 2020-12-28 2022-07-26 杭州电子科技大学 一种多类型树结构块划分模式抉择提前终止方法
CN113014925B (zh) * 2021-01-27 2022-08-23 重庆邮电大学 一种h.266/vvc帧间编码cu快速划分方法及存储介质
CN113315967B (zh) * 2021-07-28 2021-11-09 腾讯科技(深圳)有限公司 视频编码方法、装置、介质及电子设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130188742A1 (en) * 2004-07-20 2013-07-25 Qualcomm Incorporated Method and apparatus for encoder assisted-frame rate up conversion (ea-fruc) for video compression
US20160080738A1 (en) * 2010-01-14 2016-03-17 Samsung Electronics Co., Ltd. Method and apparatus for encoding video and method and apparatus for decoding video by considering skip and split order
JP2014204208A (ja) * 2013-04-02 2014-10-27 日本電信電話株式会社 予測モード決定方法、動画像符号化装置、及び予測モード決定プログラム
CN107371022A (zh) * 2017-08-26 2017-11-21 同济大学 应用于hevc医学影像无损编码的帧间编码单元快速划分方法
CN110213581A (zh) * 2019-05-20 2019-09-06 广州市数字视频编解码技术国家工程实验室研究开发与产业化中心 一种基于块划分模式跳过的编码方法、装置及存储介质
CN110913232A (zh) * 2019-11-29 2020-03-24 北京数码视讯软件技术发展有限公司 一种tu划分模式的选择方法及装置、可读存储介质
CN111263145A (zh) * 2020-01-17 2020-06-09 福州大学 基于深度神经网络的多功能视频快速编码方法
CN111711815A (zh) * 2020-06-30 2020-09-25 福州大学 基于集成学习和概率模型的快速vvc帧内预测方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023005709A1 (zh) * 2021-07-28 2023-02-02 腾讯科技(深圳)有限公司 视频编码方法、装置、介质及电子设备

Also Published As

Publication number Publication date
WO2023005709A1 (zh) 2023-02-02
US20230421763A1 (en) 2023-12-28
CN113315967B (zh) 2021-11-09

Similar Documents

Publication Publication Date Title
CN112425166B (zh) 视频译码中使用交叉分量线性模型进行帧内预测
US10009615B2 (en) Method and apparatus for vector encoding in video coding and decoding
KR102197505B1 (ko) 비디오 및 이미지 코딩 및 디코딩에서의 해시 값을 갖는 블록의 표현
JP2020039167A (ja) 計算装置及び方法
US20190246107A1 (en) Encoding and decoding methods and corresponding devices
KR20160075705A (ko) 비디오 및 이미지 코딩에서의 해시 기반 블록 매칭
CN112533000B (zh) 视频解码方法、装置、计算机可读介质及电子设备
KR102586674B1 (ko) 경계 강제 파티션에 대한 개선
CN110324623B (zh) 一种双向帧间预测方法及装置
CN113315967B (zh) 视频编码方法、装置、介质及电子设备
CN111226441A (zh) 视频编码的空间变化变换
CN114501019A (zh) 关于划分预测
CN112995671B (zh) 视频编解码方法、装置、计算机可读介质及电子设备
US20240089494A1 (en) Video encoding and decoding method and apparatus, storage medium, electronic device, and computer program product
CN114257810B (zh) 上下文模型的选择方法、装置、设备及存储介质
WO2022022299A1 (zh) 视频编解码中的运动信息列表构建方法、装置及设备
WO2022174637A1 (zh) 视频编解码方法、装置、计算机可读介质及电子设备
US20230396793A1 (en) Adjacent spatial motion vector predictor candidates improvement
CN111770338B (zh) 编码单元的索引值确定方法、装置、设备及存储介质
WO2022037458A1 (zh) 视频编解码中的运动信息列表构建方法、装置及设备
CN111971958B (zh) 视频编码中的块分割方法和设备
WO2023154574A1 (en) Methods and devices for geometric partitioning mode with adaptive blending
WO2024039910A1 (en) Method and apparatus for adaptive motion compensated filtering
CN115209146A (zh) 视频编解码方法、装置、计算机可读介质及电子设备
CN115209141A (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
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40051633

Country of ref document: HK