CN112511843A - 视频编码方法、装置、终端设备以及存储介质 - Google Patents

视频编码方法、装置、终端设备以及存储介质 Download PDF

Info

Publication number
CN112511843A
CN112511843A CN202011306618.2A CN202011306618A CN112511843A CN 112511843 A CN112511843 A CN 112511843A CN 202011306618 A CN202011306618 A CN 202011306618A CN 112511843 A CN112511843 A CN 112511843A
Authority
CN
China
Prior art keywords
division
mode
dividing
sub
partition
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
CN202011306618.2A
Other languages
English (en)
Other versions
CN112511843B (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 CN202011306618.2A priority Critical patent/CN112511843B/zh
Publication of CN112511843A publication Critical patent/CN112511843A/zh
Application granted granted Critical
Publication of CN112511843B publication Critical patent/CN112511843B/zh
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/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
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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

Landscapes

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

Abstract

本申请实施例公开了一种视频编码方法、装置、终端设备以及存储介质,该方法包括:在视频编码过程中,从目标视频帧的图像块中获取待编码单元,基于确定的第一划分方式对待编码单元进行块划分处理,得到待编码单元的m个子块;m的值是由第一划分方式所确定的;第一划分方式中的划分方向包含第一方向划分模式和第二方向划分模式;在m个子块中,将采用第一方向划分模式的子块的数量作为第一累计数量,并将采用第二方向划分模式的子块的数量作为第二累计数量;根据第一累计数量和第二累计数量确定第一划分方式之后的下一划分的划分方式的目标划分方向。采用本申请实施例,可减少视频编码的时间和降低编码复杂度。

Description

视频编码方法、装置、终端设备以及存储介质
技术领域
本申请涉及视频处理领域,尤其涉及一种视频编码方法、装置、终端设备以及存储介质。
背景技术
随着网络技术的发展,越来越多的用户通过各类终端观看视频。由于视频占用的存储空间往往十分巨大,而网络带宽又受限,因此在进行视频传输时,需要对视频进行压缩,也即是编码,来降低视频对存储空间的占用。相关技术中,视频编码器对视频进行编码时,针对每种划分方式,需要进行各种不同划分方向的划分尝试,从而选择出最优的划分方式。但是这种遍历所有划分方式和划分方向的编码方法需要耗费较多的时间,且编码复杂度高。
发明内容
本申请实施例提供一种视频编码方法、装置、终端设备以及存储介质,可减少视频编码的时间和降低编码复杂度。
第一方面,本申请实施例提供了一种视频编码方法,该方法包括:
在视频编码过程中,从目标视频帧的图像块中获取待编码单元;
确定用于对所述待编码单元进行块划分处理的第一划分方式,并按照所述第一划分方式对待编码单元进行块划分处理,得到所述待编码单元的m个子块;所述m的值是由所述第一划分方式所确定的;所述第一划分方式中的划分方向包含第一方向划分模式和第二方向划分模式;
在所述m个子块中,将采用所述第一方向划分模式的子块的数量作为第一累计数量,并将采用所述第二方向划分模式的子块的数量作为第二累计数量;所述第一累计数量和所述第二累计数量均小于或者等于所述m;
将所述第一划分方式的下一划分方式作为第二划分方式,根据所述第一累计数量和所述第二累计数量确定所述第二划分方式的划分方向;所述第二划分方式的划分方向用于指示对所述待编码单元进行块划分处理;所述第二划分方式不同于所述第一划分方式。
结合第一方面,在一种可能的实施方式中,所述第一划分方式包括以下划分方式中的一种:四叉树划分方式、二叉树划分方式、三叉树划分方式,以及扩展四叉树划分方式。
结合第一方面,在一种可能的实施方式中,根据所述第一累计数量和所述第二累计数量确定所述第二划分方式的划分方向,包括:
获取所述待编码单元的方向划分决策条件,从所述方向划分决策条件中获取所述第一划分方式对应的子块数量阈值;
根据所述第一累计数量、所述第二累计数量以及所述子块数量阈值,确定所述第二划分方式的划分方向。
结合第一方面,在一种可能的实施方式中,所述根据所述第一累计数量、所述第二累计数量以及所述子块数量阈值,确定所述第二划分方式的划分方向,包括:
当所述第一累计数量大于或者等于所述子块数量阈值时,将所述第一方向划分模式确定为所述第二划分方式的划分方向;
当所述第二累计数量大于或者等于所述子块数量阈值时,将所述第二方向划分模式确定为确定所述第二划分方式的划分方向。
结合第一方面,在一种可能的实施方式中,当所述第一累计数量大于所述子块数量阈值,且所述第二累计数量大于所述子块数量阈值时,所述方法还包括:
若所述第一累计数量大于所述第二累计数量,则将所述第一方向划分模式确定为所述第二划分方式的划分方向;
若所述第一累计数量小于所述第二累计数量时,则将所述第二方向划分模式确定为所述第二划分方式的划分方向。
结合第一方面,在一种可能的实施方式中,当所述第一划分方式为四叉树划分或扩展四叉树划分时,所述子块数量阈值为小于或者等于4的非负整数;
当所述第一划分方式为三叉树划分时,所述子块数量阈值为小于或者等于3的非负整数;
当所述第一划分方式为二叉树划分时,所述子块数量阈值为小于或者等于2的非负整数。
结合第一方面,在一种可能的实施方式中,若所述第一划分方式为所述四叉树划分方式,则所述第二划分方式为所述二叉树划分方式、三叉树划分方式,以及扩展四叉树划分方式中的一种;
所述根据所述第一累计数量和所述第二累计数量确定所述第二划分方式的划分方向之后,所述方法还包括:
将所述第二划分方式的划分方向确定为目标划分方向,按照所述目标划分方向对应的所述第二划分方式对所述待编码单元进行块划分处理后,得当所述待编码单元的n个子块;所述n是由所述第二划分方式按照所述目标划分方向所确定的;
确定所述m个子块的第一率失真代价以及所述n个子块的第二率失真代价,基于所述m个子块的第一率失真代价之和以及所述n个子块的第二率失真代价之和,在所述第一划分方式和所述第二划分方式中确定具有最小率失真代价的划分方式;第一率失真代价和第二率失真代价均为所述待编码单元的编码码率与图像失真率之和;所述图像失真率为采用一种划分方式对所述待编码单元进行划分后,对划分后的子块进行编码得到的单元与所述待编码单元之间的图像失真率;
将确定出的具有最小率失真代价的划分方式确定为目标划分方式;基于所述目标划分方式对所述待编码单元进行编码预测。
第二方面,本申请实施例提供了一种视频编码装置,该装置包括:
待编码单元获取模块,用于在视频编码过程中,从目标视频帧的图像块中获取待编码单元;
块划分处理模块,用于确定用于对所述待编码单元进行块划分处理的第一划分方式,并按照所述第一划分方式对待编码单元进行块划分处理,得到所述待编码单元的m个子块;所述m的值是由所述第一划分方式所确定的;所述第一划分方式中的划分方向包含第一方向划分模式和第二方向划分模式;
子块数量统计模块,用于在所述m个子块中,将采用所述第一方向划分模式的子块的数量作为第一累计数量,并将采用所述第二方向划分模式的子块的数量作为第二累计数量;所述第一累计数量和所述第二累计数量均小于或者等于所述m;
划分方向确定模块,用于将所述第一划分方式的下一划分方式作为第二划分方式,根据所述第一累计数量和所述第二累计数量确定所述第二划分方式的划分方向;所述第二划分方式的划分方向用于指示对所述待编码单元进行块划分处理;所述第二划分方式不同于所述第一划分方式。
结合第二方面,在一种可能的实施方式中,所述第一划分方式包括以下划分方式中的一种:四叉树划分方式、二叉树划分方式、三叉树划分方式,以及扩展四叉树划分方式。
结合第二方面,在一种可能的实施方式中,所述划分方向确定模块包括:
阈值获取单元,用于获取所述待编码单元的方向划分决策条件,从所述方向划分决策条件中获取所述第一划分方式对应的子块数量阈值;
方向决策单元,用于根据所述第一累计数量、所述第二累计数量以及所述子块数量阈值,确定所述第二划分方式的划分方向。
结合第二方面,在一种可能的实施方式中,所述方向决策单元具体用于:
当所述第一累计数量大于或者等于所述子块数量阈值时,将所述第一方向划分模式确定为所述第二划分方式的划分方向;
当所述第二累计数量大于或者等于所述子块数量阈值时,将所述第二方向划分模式确定为确定所述第二划分方式的划分方向。
结合第二方面,在一种可能的实施方式中,当所述第一累计数量大于所述子块数量阈值,且所述第二累计数量大于所述子块数量阈值时,所述方向决策单元还用于:
若所述第一累计数量大于所述第二累计数量,则将所述第一方向划分模式确定为所述第二划分方式的划分方向;
若所述第一累计数量小于所述第二累计数量时,则将所述第二方向划分模式确定为所述第二划分方式的划分方向。
结合第二方面,在一种可能的实施方式中,当所述第一划分方式为四叉树划分或扩展四叉树划分时,所述子块数量阈值为小于或者等于4的非负整数;
当所述第一划分方式为三叉树划分时,所述子块数量阈值为小于或者等于3的非负整数;
当所述第一划分方式为二叉树划分时,所述子块数量阈值为小于或者等于2的非负整数。
结合第二方面,在一种可能的实施方式中,若所述第一划分方式为所述四叉树划分方式,则所述第二划分方式为所述二叉树划分方式、三叉树划分方式,以及扩展四叉树划分方式中的一种;
所述块划分处理模块,用于将所述第二划分方式的划分方向确定为目标划分方向,按照所述目标划分方向对应的所述第二划分方式对所述待编码单元进行块划分处理后,得当所述待编码单元的n个子块;所述n是由所述第二划分方式按照所述目标划分方向所确定的;
所述装置还包括:
率失真代价确定模块,用于确定所述m个子块的第一率失真代价以及所述n个子块的第二率失真代价,基于所述m个子块的第一率失真代价之和以及所述n个子块的第二率失真代价之和,在所述第一划分方式和所述第二划分方式中确定具有最小率失真代价的划分方式;第一率失真代价和第二率失真代价均为所述待编码单元的编码码率与图像失真率之和;所述图像失真率为采用一种划分方式对所述待编码单元进行划分后,对划分后的子块进行编码得到的单元与所述待编码单元之间的图像失真率;
目标划分方式确定模块,用于将确定出的具有最小率失真代价的划分方式确定为目标划分方式;基于所述目标划分方式对所述待编码单元进行编码预测。
第三方面,本申请实施例提供了一种终端设备,该终端设备包括处理器和存储器,该处理器和存储器相互连接。该存储器用于存储支持该终端设备执行上述第一方面和/或第一方面任一种可能的实现方式提供的方法的计算机程序,该计算机程序包括程序指令,该处理器被配置用于调用上述程序指令,执行上述第一方面和/或第一方面任一种可能的实施方式所提供的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时使该处理器执行上述第一方面和/或第一方面任一种可能的实施方式所提供的方法。
本申请在视频编码过程中,通过从目标视频帧的图像块中获取待编码单元,并基于确定出的第一划分方式对待编码单元进行块划分处理,可得到待编码单元的m个子块。其中,m的值是由第一划分方式所确定的。在m个子块中,将采用第一方向划分模式的子块的数量作为第一累计数量,并将采用第二方向划分模式的子块的数量作为第二累计数量,进而根据第一累计数量和第二累计数量确定第一划分方式之后的下一划分的划分方式的目标划分方向。采用本申请实施例,可减少视频编码的时间和降低编码复杂度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是针对视频帧的划分示意图;
图2是本申请提供的BT、TT和EQT划分的水平划分模式和垂直划分模式的示意图;
图3是本申请实施例提供的一种视频编码方法的实施环境示意图;
图4是本申请实施例提供的一种视频编码方法的流程示意图;
图5是本申请实施例提供的划分决策的流程示意图;
图6是本申请实施例提供的一种确定第一累计数量和第二累计数量的应用场景示意图;
图7是本申请实施例提供的一种确定第一累计数量和第二累计数量的应用场景示意图;
图8是本申请实施例提供的一种确定第一累计数量和第二累计数量的应用场景示意图;
图9是本申请实施例提供的一种确定第一累计数量和第二累计数量的应用场景示意图;
图10是本申请实施例提供的一种视频编码方法的流程示意图;
图11是本申请实施例提供的划分决策的应用场景示意图;
图12是本申请实施例提供的一种视频编码装置的结构示意图;
图13是本申请实施例提供的一种视频编码装置的结构示意图;
图14是本申请实施例提供的终端设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了对本申请提供的技术方案进行更加清楚的说明,首先对本申请实施例中涉及的名词进行介绍:
编码单元(Coding Unit,CU):通常而言,一个视频序列经过拆帧处理后,可得到多个视频帧。其中,一个视频帧可包括多个编码单元。在视频编码过程中,需要对视频帧进行划分,其中,划分包括多个层级。举例来说,请参见图1,图1是针对视频帧的划分示意图。如图1所示,假设一个视频序列中共包括99个视频帧,其分别为视频帧1~视频帧99。以视频编码器对视频帧99进行编码划分为例。假设对视频帧99进行四叉树(Quad tree,QT)划分可得到四个图像块分别为CU1,CU2,CU3和CU4。该四个图像块也即是编码单元。进一步地,视频编码器能够对四个图像块中的任意一个或者多个图像块继续进行划分,得到第一层子块。例如,以针对图像块CU4的划分方式为二叉树(Binary tree,BT)划分为例,视频编码器能够将图像块CU4划分为两个第一层子块,分别为第一层子块101和第一层子块102。其中,视频编码器还能够对两个第一层子块中的任1个或2个第一层子块继续进行划分,以得到第二层子块(图1中暂未示出)等,以此类推,得到更深层次的子块。
当前,视频编码器中主要包括QT划分、BT划分、三叉树(Trinomial tree,TT)划分和扩展四叉树(Extended Quad-Tree,EQT)划分等4种划分方式。其中,BT划分、TT划分和EQT划分皆具有垂直和水平两种划分模式。具体地,请参见图2,图2是本申请提供的BT、TT和EQT划分的水平划分模式和垂直划分模式的示意图。其中,图2中的编号(1)表示垂直方向的二叉树划分(简称垂直二叉划分),图2中的编号(2)表示水平方向的二叉树划分(简称水平二叉划分),图2中的编号(3)表示垂直方向的三叉树划分(简称垂直三叉划分),图2中的编号(4)表示水平方向的三叉树划分(简称水平三叉划分),图2中的编号(5)表示垂直方向的扩展四叉树划分(简称垂直扩展四叉划分),图2中的编号(6)表示水平方向的扩展四叉树划分(简称水平扩展四叉划分)。通常而言,QT和BT可进行递归划分,即QT划分之后所得到的子块可继续进行BT划分,但是进行BT划分之后的子块不能再进行QT划分。EQT和TT也可与BT进行递归划分,即进行EQT/TT划分之后的子块可以继续进行BT划分,而进行BT划分之后的子块也可以继续进行EQT/BT划分。
本申请提供的视频编码方法能够用于多种视频编码标准的上下文中,比如应用在多功能视频编码标准(Versatile Video Coding,VVC/H.266)中,或者,高性能视频编码标准(High Efficiency Video Coding,HEVC)中,或者,第二代数字视频编解码技术标准(Audio Video coding Standard 2,AVS2)中,或者,第三代数字视频编解码技术标准(Audio Video coding Standard 3,AVS3)中等,本申请实施例对此不做限定。
请参见图3,图3是本申请实施例提供的一种视频编码方法的实施环境示意图。如图3所示,该实施环境中可以包括终端设备210和服务器220。终端设备210通过无线网络或有线网络与服务器220相连。可选的,终端设备210包括智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,在此不做限制。终端设备210安装和运行有支持视频编码的编码器。可选的,服务器220是独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式系统,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备以及服务器能够通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在本申请实施例中,能够由服务器或终端设备作为执行主体来实施本申请实施例提供的技术方案,也能够通过终端设备和服务器之间的交互来实施本申请提供的技术方法,本申请实施例对此不作限定。为方便描述,下面将以终端设备为例进行说明。具体地,本申请实施例中的方法,终端设备通过从目标视频帧的图像块中获取待编码单元,并基于确定出的第一划分方式对待编码单元进行块划分处理,可得到待编码单元的m个子块。其中,m的值是由第一划分方式所确定的。在m个子块中,将采用第一方向划分模式的子块的数量作为第一累计数量,并将采用第二方向划分模式的子块的数量作为第二累计数量,进而根据第一累计数量和第二累计数量确定第一划分方式之后的下一划分方式的划分方向。采用本申请实施例,可减少视频编码的时间和降低编码复杂度。
下面将结合图4至图14分别对本申请实施例提供的方法及相关装置分别进行详细说明。
参见图4,图4为本申请实施例提供的一种视频编码方法的流程示意图。本申请实施例提供的方法可以包括如下步骤S301至S304:
S301、从目标视频帧的图像块中获取待编码单元。
在一些可行的实施方式中,通过对待处理视频序列进行拆帧处理,可得到组成待处理视频的多个视频帧,进而可从多个视频帧中确定出目标视频帧。应当理解的是,目标视频帧是本次进行视频编码的对象。例如,假设对待处理视频进行拆帧处理后可得到视频帧1,视频帧2,视频帧3,视频帧4,…,视频帧99。其中,假设本次进行视频编码的对象为视频帧1,则目标视频帧即为视频帧1,假设本次进行视频编码的对象为视频帧2,则目标视频帧即为视频帧2。不难理解的是,由于视频编码过程中,对每个视频帧的处理方法相同,因此,以下本申请实施例仅以一个视频帧为例进行说明。
通常而言,一个视频帧可被划分成多个CU,也称作图像块或者宏块,进而可以CU为基本编码单位,对各个CU依次进行编码。其中,本申请实施例通过从目标视频帧包括的多个CU(即多个图像块)中获取任一CU,可将获取到的CU作为待编码单元。
S302、确定用于对待编码单元进行块划分处理的第一划分方式,并按照第一划分方式对待编码单元进行块划分处理,得到待编码单元的m个子块。
在一些可行的实施方式中,确定用于对待编码单元进行块划分处理的第一划分方式,并按照第一划分方式对待编码单元进行块划分处理,得到待编码单元的m个子块。其中,上述m的值是由第一划分方式所确定的。也就是说,本申请实施例中的第一划分方式仅是针对将待编码单元划分为第一层子块的划分方式,后续针对每个第一层子块的划分,以及第一层子块的子块(为方便描述,简称第二层子块)的划分,第一次子块的子块的子块(为方便描述,简称第三层子块)的划分,甚至更深层次子块的划分将不再受第一划分方式的限制。举例来说,假设第一划分方式为QT划分(即m=4),则可将待编码单元划分为4个第一层子块,进一步地,针对后续每个第一层子块以及更深层次子块的划分,可采用QT划分和/或BT划分和/或TT划分和/或EQT划分等,具体根据实际应用场景确定,在此不做限制。
通常而言,后续针对第一层子块以及更深层次子块的划分方式,可采用率失真优化(Rate-distortion Optimization,RDO)方法来确定,且最后选择并存储率失真(Rate-distortion,RD)代价最小的划分方式作为整个待编码单元的最佳划分方式。
其中,不同编码器中上述4种划分方式(即QT、BT、TT和EQT)的执行顺序不同。假设编码器中的执行顺序为T0→T1→T2→T3,则T0通常可选择QT划分。可选的,T0也有可能是BT、TT和EQT中的一种,在此不做限制。为方便描述,本申请实施例中的T0皆为QT划分为例进行说明。请参见图5,图5是本申请实施例提供的划分决策的流程示意图。如图5所示,编码器中的执行顺序为QT→T1→T2→T3,其中,当T0为QT划分时,则剩余T1、T2、T3只可能是BT、TT、EQT中的任意一种并且T1、T2、T3不能是同一种划分方式。因此,T1、T2、T3可以有六种组合方式:①T1、T2、T3可分别是BT、TT、EQT,即编码器的执行顺序为QT→BT→TT→EQT。②T1、T2、T3也可分别是BT、EQT、TT,即编码器的执行顺序为QT→BT→EQT→TT。③T1、T2、T3也可分别是TT、BT、EQT,即编码器的执行顺序为QT→TT→BT→EQT。④T1、T2、T3也可分别是TT、EQT、BT,即编码器的执行顺序为QT→TT→EQT→BT。⑤T1、T2、T3也可分别是EQT、BT、TT,即编码器的执行顺序为QT→EQT→BT→TT。⑥T1、T2、T3还可以分别是EQT、TT、BT,即编码器的执行顺序为QT→EQT→TT→BT。其中,本申请对上述6种执行顺序的选择不做限制。因此,当第一划分方式为QT划分时,则第一划分方式的下一划分方式(即第二划分方式)可以是BT、TT、EQT中的任一种,具体以实际使用的编码器的执行顺序为准。例如,假设本申请所使用的编码器的执行顺序为QT→BT→TT→EQT,当第一划分方式为QT时,第二划分方式为BT,当第一划分方式为BT时,第二划分方式为TT,当第一划分方式为TT时,第二划分方式为EQT。
应当理解,当基于如图5所示的流程进行划分决策时,则在进行T1划分决策时,当前CU的QT划分决策已经完成,即当前CU的QT划分的四个子块的划分模式也已经确定。在进行T2划分决策时,当前CU的QT和T1划分决策已经完成,即当前CU的最优划分方式是QT和T1划分中的一种。在进行T3划分决策时,当前CU的QT、T1和T2划分决策已经完成,即当前CU的最优划分方式是QT、T1和T2划分的一种。直到执行完T3划分决策后,可从QT、T1、T2和T3中选择出最终的最优划分方式,并将最优划分方式用于后续对这个编码单元进行编码预测,以找到这个编码单元对应的预测块,进而基于预测块和编码单元之间的内容变化度的不同来进行编码。
为方便描述,以下本申请实施例以编码器的执行顺序为QT→BT→TT→EQT为例进行说明。因此,可依次将QT、BT、TT和EQT作为第一划分方式。其中,当第一划分方式为QT划分时,m的值等于4,当第一划分方式为BT划分时,m的值等于2,当第一划分方式为TT划分时,m的值等于3,当第一划分方式为EQT划分时,m的值等于4。不难理解的是,当基于上述执行顺序(即QT→BT→TT→EQT)对待编码单元进行划分时,则BT的划分方向由QT确定,TT的划分方向由BT确定,EQT的划分方向由TT确定。
S303、在m个子块中,将采用第一方向划分模式的子块的数量作为第一累计数量,并将采用第二方向划分模式的子块的数量作为第二累计数量。
在一些可行的实施方式中,在m个子块中,将采用第一方向划分模式的子块的数量作为第一累计数量,并将采用第二方向划分模式的子块的数量作为第二累计数量。其中,第一累计数量和第二累计数量均小于或者等于m。其中,第一方向划分模式可以是垂直方向的划分,第二方向划分模式可以是水平方向的划分。或者,第一方向划分模式可以是水平方向的划分,第二方向划分模式可以是垂直方向的划分。可选的,第一方向的划分模式和第二方向的划分模式还可以分别是其他方向的划分模式,例如,对角向左的划分模式和对角向右的划分模式等,在此不做限定。为方便描述,以下本申请可以第一方向划分模式为垂直方向的划分,第二方向划分模式为水平方向的划分为例进行说明。
也就是说,在进行第一划分方式后的下一划分的划分决策时,本申请通过统计CU当前一次划分,已决策出的第一层子块中包括的水平划分方向的第一累计数量H和垂直划分方向的第二累计数量V,进而可根据H和V确定下一次划分的划分方向。应当理解的是,这里只统计当前CU划一层时的子块信息,不会统计子块的子块或者更深层的子块信息,因此第一累计数量和第二累计数量均小于或者等于m。也就是说,本申请只统计第一层子块中是否包含了垂直方向划分和水平方向划分,不统计第一层子块内部具体包括了几次垂直方向的划分和水平方向的划分。例如,假设m个第一层子块中,存在某一个第一层子块中仅包含水平方向的划分,存在另一个第一层子块中既包含了垂直方向划分,又包含了水平方向划分,且其他(m-2)个第一层子块都没有被进一步划分,则m个第一层子块中,水平方向对应的第一累计数量为2,垂直方向对应的第二累计数量为1。
具体地,举例来说,请参见图6,图6是本申请实施例提供的一种确定第一累计数量和第二累计数量的应用场景示意图。如图6所示,第一划分方式为QT划分,因此基于QT划分对待编码单元进行第一层划分后,可得到4个第一层子块(即m=4),此后,针对每个第一层子块,可基于RDO方法来确定各第一层子块的最佳划分方式,以及基于RDO方法来确定针对第一层子块的子块(即第二层子块)的最佳划分方式,以此类推,最后选择基于QT划分得到的整个待编码单元的RD代价最低的那个作为此次划分最好的划分方式。
假设基于RDO方法确定出采用QT划分所得到的整个待编码单元的最佳划分方式如图6中左边待编码单元中所呈现的划分方式,其中,待编码单元中的线条01表示QT划分,线条02表示BT划分,线条03表示TT划分。如图6右边为对应的树表示。在进行T1划分前时,可统计第一划分方式(即QT划分)时,4个第一层子块中包含的垂直方向划分的子块数量(即第一累计数量)和水平方向划分的子块数量(即第二累计数量)。如图6所示,左上角、右上角、右下角的第一层子块中皆包含水平方向的划分,因此H1=3,左下角的第一层子块中包含垂直方向的划分,因此,V1=1。
又举例来说,请参见图7,图7是本申请实施例提供的一种确定第一累计数量和第二累计数量的应用场景示意图。如图7所示,假设第一划分方式为BT划分,因此基于BT划分对待编码单元进行第一层划分后,可得到2个第一层子块(即m=2),此后,针对每个第一层子块,可基于RDO方法来确定各第一层子块的最佳划分方式,以及基于RDO方法来确定针对第一层子块的子块(即第二层子块)以及更深层次的子块的最佳划分方式等,以此类推,最后选择RD代价最低的那个作为此次划分最好的划分方式。
假设基于RDO方法确定出采用BT划分所得到的整个待编码单元的最佳划分方式如图7中左边待编码单元中所呈现的划分方式,其中,待编码单元中的线条02表示BT划分,线条03表示TT划分,线条04表示ETQ划分。如图7右边为对应的树表示。在进行T2划分前,可统计第一划分方式(即BT划分)时,2个第一层子块中包含的垂直方向划分的子块数量(即第一累计数量)和水平方向划分的子块数量(即第二累计数量)。如图7所示,待编码单元上方的第一层子块中包括水平方向的划分和垂直方向的划分,编码单元下方的第一层子块中仅包括水平方向的划分,因此H1=2,V1=1。
又举例来说,请参见图8,图8是本申请实施例提供的一种确定第一累计数量和第二累计数量的应用场景示意图。如图8所示,假设第一划分方式为TT划分,因此基于TT划分对待编码单元进行第一层划分后,可得到3个第一层子块(即m=3),此后,针对每个第一层子块,可基于RDO方法来确定各第一层子块的最佳划分方式,以及基于RDO方法来确定针对第一层子块的子块(即第二层子块)以及更深层次的子块的最佳划分方式等,以此类推,最后选择RD代价最低的那个作为此次划分最好的划分方式。
假设基于RDO方法确定出第一层子块采用TT划分所得到的整个待编码单元的最佳划分方式如图8中左边待编码单元中所呈现的划分方式,其中,待编码单元中的线条02表示BT划分,线条03表示TT划分,线条04表示ETQ划分。如图8右边为对应的树表示。在进行T2划分前时,可统计第一划分方式(即BT划分)时,3个第一层子块中包含的垂直方向划分的子块数量(即第一累计数量)和水平方向划分的子块数量(即第二累计数量)。如图8所示,待编码单元上方的第一层子块中既包括水平方向划分也包括垂直方向的划分,待编码单元中间的第一层子块中只包括水平方向划分,待编码单元下方的第一层子块没有进行进一步划分,因此H=2,V=1。
又举例来说,请参见图9,图9是本申请实施例提供的一种确定第一累计数量和第二累计数量的应用场景示意图。如图9所示,假设第一划分方式为EQT划分,因此基于EQT划分对待编码单元进行第一层划分后,可得到4个第一层子块(即m=4),此后,针对每个第一层子块,可基于RDO方法来确定各第一层子块的最佳划分方式,以及基于RDO方法来确定针对第一层子块的子块(即第二层子块)以及更深层次的子块的最佳划分方式等,以此类推,最后选择RD代价最低的那个作为此次划分最好的划分方式。假设基于RDO方法确定出第一层子块采用EQT划分所得到的整个待编码单元的最佳划分方式如图9中左边待编码单元中所呈现的划分方式,其中,待编码单元中的线条02表示BT划分,线条03表示TT划分,线条04表示ETQ划分。如图9右边为对应的树表示。在进行T2划分前,可统计第一划分方式(即EQT划分)时,4个第一层子块中包含的垂直方向划分的子块数量(即第一累计数量)和水平方向划分的子块数量(即第二累计数量)。如图9所示,待编码单元上方的第一层子块中包括垂直方向的划分,待编码单元中间靠左的第一层子块中包括水平方向的划分,待编码单元中间靠右的第一层子块没有被进一步划分,待编码单元下方的第一层子块中包括水平方向的划分,因此H1=2,V1=1。
S304、将第一划分方式的下一划分方式作为第二划分方式,根据第一累计数量和第二累计数量确定第二划分方式的划分方向。
在一些可行的实施方式中,将第一划分方式的下一划分方式作为第二划分方式,进而可根据第一累计数量和第二累计数量确定第二划分方式的划分方向。具体地,获取待编码单元的方向划分决策条件,以从方向划分决策条件中获取第一划分方式对应的子块数量阈值。其中,方向划分决策条件中包括了第一划分方式为QT划分、BT划分、TT划分和EQT划分等各种不同的划分方式时,所对应的子块数量阈值。其中,当第一划分方式为QT划分或EQT划分时,子块数量阈值为不大于4的非负整数,例如子块数量阈值取3。当第一划分方式为TT划分时,子块数量阈值为不大于3的非负整数,例如子块数量阈值取2。当第一划分方式为BT划分时,子块数量阈值为不大于2的非负整数,例如子块数量阈值取2,具体取值根据实际应用场景确定,在此不做限制。
其中,当获取到对应的子块数量阈值后,可根据第一累计数量、第二累计数量以及子块数量阈值确定第一划分方式之后的下一划分方式的划分方向。其中,当第一累计数量不小于子块数量阈值时,可确定第一划分方式之后的下一划分方式的划分方向为第一方向划分模式。当第二累计数量不小于子块数量阈值时,可确定第一划分方式之后的下一划分方式的划分方向为第二方向划分模式。本申请中的“不小于”即相当于“大于或者等于”的意思。也就是说,当第一累计数量大于或者等于子块数量阈值时,将第一方向划分模式确定为第二划分方式的划分方向。当第二累计数量大于或者等于子块数量阈值时,将第二方向划分模式确定为确定第二划分方式的划分方向。
也就是说,当执行完QT划分后,可根据基于QT划分确定出的第一累计数量H1和第二累计数量V1判断是否需要提前终止T1、T2、T3划分中一种或者多种划分方式在某一方向的划分。具体地,若C1≤H1,则终止T1、T2、T3划分中一种或者多种划分的第二方向划分模式的决策。若C1≤V1,则终止T1、T2、T3划分中一种或者多种划分的第一方向划分模式的决策。其中,C1是QT划分对应的子块数量阈值,表示子块在水平或垂直中选择相同方向模式的数量,且0≤C1≤N1,N1为QT划分得到的子块数量,这里N1=4。
当执行完T1划分后,可根据基于T1划分确定出的第一累计数量H2和第二累计数量V2判断是否需要提前终止T2、T3划分中一种或者多种划分方式在某一方向的划分。具体地,若C2≤H2,则终止T2、T3划分中一种或者多种划分的第二方向划分模式的决策。若C2≤V2,则终止T2、T3划分中一种或者多种划分的第一方向划分模式的决策。其中,C2是T1划分对应的子块数量阈值,表示子块在水平或垂直中选择相同方向模式的数量,且0≤C1≤N2,N2为T1划分得到的子块数量。例如,当T1为BT时,则N2=2,当T1为TT时,则N2=3。
当执行完T2划分后,可根据基于T2划分确定出的第一累计数量H3和第二累计数量V3判断是否需要提前终止T3划分在某一方向的划分。具体地,若C3≤H3,则终止T3划分中第二方向划分模式的决策。若C3≤V3,则终止T3划分的第一方向划分模式的决策。其中,C3是T2划分对应的子块数量阈值,表示子块在水平或垂直中选择相同方向模式的数量,且0≤C3≤N3,N3为T2划分得到的子块数量。例如,当T2为BT时,则N3=2,当T3为TT时,则N3=3。
其中,第一划分方式的下一划分方式不同于第一划分方式。在本申请实施例中,划分方式一共包括4种,其分别为QT、BT、TT和EQT。其中,第一划分方式的下一划分方式可以是除第一划分方式之外的其他各个划分方式。可选的,第一划分方式的下一划分方式也可以是除第一划分方式之外的其他各个划分方式中的一种划分方式。例如,当第一划分方式为QT时,则第一划分方式的下一划分方式(即第二划分方式)可以为BT、TT和EQT。也就是说,当QT划分(即T0)作为第一划分方式执行完后,则可将基于QT划分所确定出的划分方向作为后续所有划分方式的划分方向。又例如,当第一划分方式为QT时,第二划分方式可以为BT划分方式,或者,第二划分方式可以为TT划分方式,或者,第二划分方式可以为EQT划分方式,具体根据所选择的编码器的执行顺序为准,在此不做限制。也就是说,基于当前划分方式得到的划分方向仅决定了相邻下一次的划分方式的划分方向。
可选的,在一些可行的实施方式中,当所述第一累计数量大于所述子块数量阈值,且所述第二累计数量大于所述子块数量阈值时,还可以通过比较第一累计数量与第二累计数量之间的关系确定第二划分方式的划分方向。具体地,当第一累计数量大于第二累计数量时,确定第一划分方式之后的下一划分方式的划分方向为第一方向划分模式。当第一累计数量小于第二累计数量时,确定第一划分方式之后的下一划分方式的划分方向为第二方向划分模式。应当理解的是,基于第一累计数量和第二累计数量确定出第一划分方式之后的下一划分方式的划分方向后,后续可基于确定出的该划分方向对待编码单元进行块划分处理。也就是说,本申请通过跳过对待编码单元其他划分方向的划分尝试,以减小了编码复杂度,进而缩短编码时间。
在本申请实施例中,通过从目标视频帧的图像块中获取待编码单元,并基于确定出的第一划分方式对待编码单元进行块划分处理,可得到待编码单元的m个子块。其中,m的值是由第一划分方式所确定的。在m个子块中,将采用第一方向划分模式的子块的数量作为第一累计数量,并将采用第二方向划分模式的子块的数量作为第二累计数量,进而根据第一累计数量和第二累计数量确定第一划分方式之后的下一划分的划分方式的目标划分方向。采用本申请实施例,可减少视频编码的时间和降低编码复杂度。
参见图10,图10是本申请实施例提供的一种视频编码方法的流程示意图。本申请实施例提供的视频编码方法可通过如下步骤S401至S406提供的实现方式进行说明:
S401、从目标视频帧的图像块中获取待编码单元。
S402、确定用于对待编码单元进行块划分处理的第一划分方式,并按照第一划分方式对待编码单元进行块划分处理,得到待编码单元的m个子块。
S403、在m个子块中,将采用第一方向划分模式的子块的数量作为第一累计数量,并将采用第二方向划分模式的子块的数量作为第二累计数量。
S404、将第一划分方式的下一划分方式作为第二划分方式,根据第一累计数量和第二累计数量确定第二划分方式的划分方向。
其中,所述步骤S401至步骤S404的具体实现方式可以参见图10对应的实施例中对步骤S301至步骤S304的描述,这里不再进行赘述。
S405、将第二划分方式的划分方向确定为目标划分方向,按照目标划分方向对应的第二划分方式对待编码单元进行块划分处理后,得当待编码单元的n个子块。
在一些可行的实施方式中,将第二划分方式的划分方向确定为目标划分方向,按照目标划分方向对应的第二划分方式对待编码单元进行块划分处理后,得当待编码单元的n个子块。n是由第二划分方式按照目标划分方向所确定的。也就是说,当根据第一累计数量和第二累计数量确定出第一划分方式之后的下一划分方式(即第二划分方式)的划分方向之后,可根据确定出的划分方向(为方便描述,简称目标划分方向),以及第二划分方式中包括的二叉树划分,三叉树划分以及扩展四叉树划分中的任一种划分方式对待编码单元进行划分。例如,假设当前编码器的编码顺序为QT→BT→TT→EQT,其中第一划分方式为QT划分,且基于QT划分确定出的目标划分方向为垂直划分,因此可确定第二划分方式为垂直二叉划分。其中,当基于垂直二叉划分对待编码单元进行划分,可得到2个子块,即2个第一层子块。
S406、确定m个子块的第一率失真代价以及n个子块的第二率失真代价,基于m个子块的第一率失真代价之和以及n个子块的第二率失真代价之和,在第一划分方式和第二划分方式中确定具有最小率失真代价的划分方式,并将确定出的具有最小率失真代价的划分方式确定为目标划分方式。
在一些可行的实施方式中,确定m个子块的第一率失真代价以及n个子块的第二率失真代价,基于m个子块的第一率失真代价之和以及n个子块的第二率失真代价之和,在第一划分方式和第二划分方式中确定具有最小率失真代价的划分方式。其中,第一率失真代价和第二率失真代价均为待编码单元的编码码率与图像失真率之和,且图像失真率为采用一种划分方式对待编码单元进行划分后,对划分后的子块进行编码得到的单元与待编码单元之间的图像失真率。
例如,假设当前编码器的编码顺序为QT→BT→TT→EQT,其中第一划分方式为QT划分(即QT划分得到的子块数量为3),且基于QT划分确定出的目标划分方向为垂直划分,因此可确定第二划分方式为垂直二叉划分(即BT划分得到的子块数量为2),进而确定QT划分得到的4个子块中每个子块的第一率失真代价以及BT划分得到的2个子块中每个子块的第二率失真代价。因此,将该4个子块对应的4个第一率失真代价之和确定为基于QT划分对应的待编码单元率失真代价,将该2个子块对应的2个第二率失真代价之和确定为基于QT划分对应的待编码单元率失真代价,进而从第一划分方式和第二划分方式中确定出目标划分方式。具体地,可从所述第一划分方式和所述第二划分方式对应的率失真代价中,将最小的率失真代价对应的划分方式确定为目标划分方式。也就是说,目标划分方式为从第一划分方式中和第二划分方式中确定出的最佳划分方式。进一步地,可将第二划分方式作为新的第一划分方式,并执行上述步骤S401~S406中所描述的实现过程,直到每种划分方式都尝试过后,确定出对待编码单元最终的最佳划分方式。进而,最终确定出的最佳划分方式可用于后续对这个待编码单元进行编码预测,以找到这个编码单元对应的预测块,进而基于预测块和编码单元之间的内容变化度的不同来进行编码。
通常而言,一个编码器只会存在一种划分方式的执行顺序,假设某个编码器中这4种划分方式的执行顺序为QT→BT→TT→EQT,则可依次将QT、BT、TT和EQT作为第一划分方式。因此,BT的划分方向可由QT确定,TT的划分方向可由BT确定,EQT的划分方向可由EQT确定。最后,可从4种划分方式中确定出一种RD代价最小的划分方式作为待编码单元最终的最佳划分方式。
举例来说,请参见图11,图11是本申请实施例提供的划分决策的应用场景示意图。如图11所示,假设本申请使用的编码器的执行顺序为QT→BT→TT→EQT。则首先将QT作为第一划分方式,其中,基于QT划分对待编码单元进行第一层划分后,可得到4个第一层子块(即m=4),此后,针对每个第一层子块以及更深层次的子块,可基于RDO方法来确定各子块的最佳划分方式。例如,假设图11中图①所呈现的划分方式为基于QT划分得到第一层子块的情况下,整个待编码单元的最佳划分方式。因此,可统计得到QT划分中水平方向划分对应的第一累计数量H=3,垂直方向划分对应的第二累计数量V=1。假设QT划分时,子块数量阈值为3,因此,可将大于或者等于子块数量阈值3的划分方向确定为BT的划分方向。也就是说,当第一划分方式为QT划分时,将水平方向确定为第二划分方式(即BT划分)时的划分方向,即第二划分方式为水平二叉划分(如图11图②所示,待编码单元被水平划分为2个第一层子块)。进一步地,将BT的水平划分确定为第一划分方式,假设图11中图②所呈现的划分方式为基于BT划分得到第一层子块的情况下,整个待编码单元的最佳划分方式。因此,可统计得到BT划分中水平方向划分对应的第一累计数量H=2,垂直方向划分对应的第二累计数量V=1。假设BT划分时,子块数量阈值为2,因此,可将大于或者等于子块数量阈值2的划分方向确定为BT的划分方向。也就是说,当第一划分方式为BT划分时,可将水平方向确定为第二划分方式(即TT划分)时的划分方向,即第二划分方式为水平三叉划分(如图11图③所示,待编码单元被水平划分为3个第一层子块)。
进一步地,将TT的水平划分确定为第一划分方式,假设图11中图③所呈现的划分方式为基于TT划分得到第一层子块的情况下,整个待编码单元的最佳划分方式。因此,可统计得到TT划分中水平方向划分对应的第一累计数量H=2,垂直方向划分对应的第二累计数量V=1。假设TT划分时,子块数量阈值为2,因此,可将大于或者等于子块数量阈值2的划分方向确定为TT的划分方向。也就是说,当第一划分方式为TT划分时,可将水平方向确定为第二划分方式(即EQT划分)时的划分方向,即第二划分方式为水平扩展四叉划分,如图11图④所示,待编码单元基于水平扩展四叉划分方式被划分为4个第一层子块。
在本申请实施例中,通过从目标视频帧的图像块中获取待编码单元,并基于确定出的第一划分方式对待编码单元进行块划分处理,可得到待编码单元的m个子块。其中,m的值是由第一划分方式所确定的。在m个子块中,将采用第一方向划分模式的子块的数量作为第一累计数量,并将采用第二方向划分模式的子块的数量作为第二累计数量,进而根据第一累计数量和第二累计数量确定第一划分方式之后的下一划分方式的划分方向。进一步地,根据确定出的划分方向进行后续划分的处理。采用本申请实施例,可减少视频编码的时间和降低编码复杂度。
请参见图12,图12是本申请实施例提供的一种视频编码装置的结构示意图。本申请实施例提供的视频编码装置包括:
待编码单元获取模块51,用于在视频编码过程中,从目标视频帧的图像块中获取待编码单元;
块划分处理模块52,用于确定用于对所述待编码单元进行块划分处理的第一划分方式,并按照所述第一划分方式对待编码单元进行块划分处理,得到所述待编码单元的m个子块;所述m的值是由所述第一划分方式所确定的;所述第一划分方式中的划分方向包含第一方向划分模式和第二方向划分模式;
子块数量统计模块53,用于在所述m个子块中,将采用所述第一方向划分模式的子块的数量作为第一累计数量,并将采用所述第二方向划分模式的子块的数量作为第二累计数量;所述第一累计数量和所述第二累计数量均小于或者等于所述m;
划分方向确定模块54,用于将所述第一划分方式的下一划分方式作为第二划分方式,根据所述第一累计数量和所述第二累计数量确定所述第二划分方式的划分方向;所述第二划分方式的划分方向用于指示对所述待编码单元进行块划分处理;所述第二划分方式不同于所述第一划分方式。
请一并参见图13,图13是本申请实施例提供的一种视频编码装置的结构示意图。其中:
在一些可行的实施方式中,所述第一划分方式包括以下划分方式中的一种:四叉树划分方式、二叉树划分方式、三叉树划分方式,以及扩展四叉树划分方式。
在一些可行的实施方式中,所述划分方向确定模块54包括:
阈值获取单元541,用于获取所述待编码单元的方向划分决策条件,从所述方向划分决策条件中获取所述第一划分方式对应的子块数量阈值;
方向决策单元542,用于根据所述第一累计数量、所述第二累计数量以及所述子块数量阈值,确定所述第二划分方式的划分方向。
在一些可行的实施方式中,所述方向决策单元542具体用于:
当所述第一累计数量大于或者等于所述子块数量阈值时,将所述第一方向划分模式确定为所述第二划分方式的划分方向;
当所述第二累计数量大于或者等于所述子块数量阈值时,将所述第二方向划分模式确定为确定所述第二划分方式的划分方向。
在一些可行的实施方式中,当所述第一累计数量大于所述子块数量阈值,且所述第二累计数量大于所述子块数量阈值时,所述方向决策单元542还用于:
若所述第一累计数量大于所述第二累计数量,则将所述第一方向划分模式确定为所述第二划分方式的划分方向;
若所述第一累计数量小于所述第二累计数量时,则将所述第二方向划分模式确定为所述第二划分方式的划分方向。
在一些可行的实施方式中,当所述第一划分方式为四叉树划分或扩展四叉树划分时,所述子块数量阈值为小于或者等于4的非负整数;
当所述第一划分方式为三叉树划分时,所述子块数量阈值为小于或者等于3的非负整数;
当所述第一划分方式为二叉树划分时,所述子块数量阈值为小于或者等于2的非负整数。
在一些可行的实施方式中,若所述第一划分方式为所述四叉树划分方式,则所述第二划分方式为所述二叉树划分方式、三叉树划分方式,以及扩展四叉树划分方式中的一种;
所述块划分处理模块52,用于将所述第二划分方式的划分方向确定为目标划分方向,按照所述目标划分方向对应的所述第二划分方式对所述待编码单元进行块划分处理后,得当所述待编码单元的n个子块;所述n是由所述第二划分方式按照所述目标划分方向所确定的;
所述装置还包括:
率失真代价确定模块55,用于确定所述m个子块的第一率失真代价以及所述n个子块的第二率失真代价,基于所述m个子块的第一率失真代价之和以及所述n个子块的第二率失真代价之和,在所述第一划分方式和所述第二划分方式中确定具有最小率失真代价的划分方式;第一率失真代价和第二率失真代价均为所述待编码单元的编码码率与图像失真率之和;所述图像失真率为采用一种划分方式对所述待编码单元进行划分后,对划分后的子块进行编码得到的单元与所述待编码单元之间的图像失真率;
目标划分方式确定模块56,用于将确定出的具有最小率失真代价的划分方式确定为目标划分方式;基于所述目标划分方式对所述待编码单元进行编码预测。
在本申请实施例中,视频编码装置通过从目标视频帧的图像块中获取待编码单元,并基于确定出的第一划分方式对待编码单元进行块划分处理,可得到待编码单元的m个子块。其中,m的值是由第一划分方式所确定的。在m个子块中,将采用第一方向划分模式的子块的数量作为第一累计数量,并将采用第二方向划分模式的子块的数量作为第二累计数量,进而根据第一累计数量和第二累计数量确定第一划分方式之后的下一划分的划分方式的目标划分方向。采用本申请实施例,可减少视频编码的时间和降低编码复杂度。
参见图14,图14是本申请实施例提供的终端设备的结构示意图。如图14所示,本实施例中的终端设备可以包括:一个或多个处理器601、存储器602和收发器603。上述处理器601、存储器602和收发器603通过总线604连接。存储器602用于存储计算机程序,该计算机程序包括程序指令,处理器601用于执行存储器602存储的程序指令,执行如下操作:
在视频编码过程中,从目标视频帧的图像块中获取待编码单元;
确定用于对所述待编码单元进行块划分处理的第一划分方式,并按照所述第一划分方式对待编码单元进行块划分处理,得到所述待编码单元的m个子块;所述m的值是由所述第一划分方式所确定的;所述第一划分方式中的划分方向包含第一方向划分模式和第二方向划分模式;
在所述m个子块中,将采用所述第一方向划分模式的子块的数量作为第一累计数量,并将采用所述第二方向划分模式的子块的数量作为第二累计数量;所述第一累计数量和所述第二累计数量均小于或者等于所述m;
将所述第一划分方式的下一划分方式作为第二划分方式,根据所述第一累计数量和所述第二累计数量确定所述第二划分方式的划分方向;所述第二划分方式的划分方向用于指示对所述待编码单元进行块划分处理;所述第二划分方式不同于所述第一划分方式。
在一些可行的实施方式中,所述第一划分方式包括以下划分方式中的一种:四叉树划分方式、二叉树划分方式、三叉树划分方式,以及扩展四叉树划分方式。
在一些可行的实施方式中,上述处理器601用于:
获取所述待编码单元的方向划分决策条件,从所述方向划分决策条件中获取所述第一划分方式对应的子块数量阈值;
根据所述第一累计数量、所述第二累计数量以及所述子块数量阈值,确定所述第二划分方式的划分方向。
在一些可行的实施方式中,上述处理器601用于:
当所述第一累计数量大于或者等于所述子块数量阈值时,将所述第一方向划分模式确定为所述第二划分方式的划分方向;
当所述第二累计数量大于或者等于所述子块数量阈值时,将所述第二方向划分模式确定为确定所述第二划分方式的划分方向。
在一些可行的实施方式中,当所述第一累计数量大于所述子块数量阈值,且所述第二累计数量大于所述子块数量阈值时,上述处理器601还用于:
若所述第一累计数量大于所述第二累计数量,则将所述第一方向划分模式确定为所述第二划分方式的划分方向;
若所述第一累计数量小于所述第二累计数量时,则将所述第二方向划分模式确定为所述第二划分方式的划分方向。
在一些可行的实施方式中,当所述第一划分方式为四叉树划分或扩展四叉树划分时,所述子块数量阈值为小于或者等于4的非负整数;
当所述第一划分方式为三叉树划分时,所述子块数量阈值为小于或者等于3的非负整数;
当所述第一划分方式为二叉树划分时,所述子块数量阈值为小于或者等于2的非负整数。
在一些可行的实施方式中,若所述第一划分方式为所述四叉树划分方式,则所述第二划分方式为所述二叉树划分方式、三叉树划分方式,以及扩展四叉树划分方式中的一种;
上述处理器601还用于:
将所述第二划分方式的划分方向确定为目标划分方向,按照所述目标划分方向对应的所述第二划分方式对所述待编码单元进行块划分处理后,得当所述待编码单元的n个子块;所述n是由所述第二划分方式按照所述目标划分方向所确定的;
确定所述m个子块的第一率失真代价以及所述n个子块的第二率失真代价,基于所述m个子块的第一率失真代价之和以及所述n个子块的第二率失真代价之和,在所述第一划分方式和所述第二划分方式中确定具有最小率失真代价的划分方式;第一率失真代价和第二率失真代价均为所述待编码单元的编码码率与图像失真率之和;所述图像失真率为采用一种划分方式对所述待编码单元进行划分后,对划分后的子块进行编码得到的单元与所述待编码单元之间的图像失真率;
将确定出的具有最小率失真代价的划分方式确定为目标划分方式;基于所述目标划分方式对所述待编码单元进行编码预测。
应当理解,在一些可行的实施方式中,上述处理器601可以是中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。该存储器602可以包括只读存储器和随机存取存储器,并向处理器601提供指令和数据。存储器602的一部分还可以包括非易失性随机存取存储器。例如,存储器602还可以存储设备类型的信息。
具体实现中,上述终端设备可通过其内置的各个功能模块执行如上述图4和图10中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
在本申请实施例中,终端设备通过从目标视频帧的图像块中获取待编码单元,并基于确定出的第一划分方式对待编码单元进行块划分处理,可得到待编码单元的m个子块。其中,m的值是由第一划分方式所确定的。在m个子块中,将采用第一方向划分模式的子块的数量作为第一累计数量,并将采用第二方向划分模式的子块的数量作为第二累计数量,进而根据第一累计数量和第二累计数量确定第一划分方式之后的下一划分的划分方式的目标划分方向。采用本申请实施例,可减少视频编码的时间和降低编码复杂度。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时实现图4和图10中各个步骤所提供的视频编码方法,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
上述计算机可读存储介质可以是前述任一实施例提供的视频编码装置或者上述终端设备的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存储介质也可以是该电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smartmedia card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该电子设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该电子设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请的权利要求书和说明书及附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。

Claims (10)

1.一种视频编码方法,其特征在于,所述方法包括:
在视频编码过程中,从目标视频帧的图像块中获取待编码单元;
确定用于对所述待编码单元进行块划分处理的第一划分方式,并按照所述第一划分方式对待编码单元进行块划分处理,得到所述待编码单元的m个子块;所述m的值是由所述第一划分方式所确定的;所述第一划分方式中的划分方向包含第一方向划分模式和第二方向划分模式;
在所述m个子块中,将采用所述第一方向划分模式的子块的数量作为第一累计数量,并将采用所述第二方向划分模式的子块的数量作为第二累计数量;所述第一累计数量和所述第二累计数量均小于或者等于所述m;
将所述第一划分方式的下一划分方式作为第二划分方式,根据所述第一累计数量和所述第二累计数量确定所述第二划分方式的划分方向;所述第二划分方式的划分方向用于指示对所述待编码单元进行块划分处理;所述第二划分方式不同于所述第一划分方式。
2.根据权利要求1所述的方法,其特征在于,所述第一划分方式包括以下划分方式中的一种:四叉树划分方式、二叉树划分方式、三叉树划分方式,以及扩展四叉树划分方式。
3.根据权利要求1或2所述的方法,其特征在于,根据所述第一累计数量和所述第二累计数量确定所述第二划分方式的划分方向,包括:
获取所述待编码单元的方向划分决策条件,从所述方向划分决策条件中获取所述第一划分方式对应的子块数量阈值;
根据所述第一累计数量、所述第二累计数量以及所述子块数量阈值,确定所述第二划分方式的划分方向。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一累计数量、所述第二累计数量以及所述子块数量阈值,确定所述第二划分方式的划分方向,包括:
当所述第一累计数量大于或者等于所述子块数量阈值时,将所述第一方向划分模式确定为所述第二划分方式的划分方向;
当所述第二累计数量大于或者等于所述子块数量阈值时,将所述第二方向划分模式确定为确定所述第二划分方式的划分方向。
5.根据权利要求4所述的方法,其特征在于,当所述第一累计数量大于所述子块数量阈值,且所述第二累计数量大于所述子块数量阈值时,所述方法还包括:
若所述第一累计数量大于所述第二累计数量,则将所述第一方向划分模式确定为所述第二划分方式的划分方向;
若所述第一累计数量小于所述第二累计数量时,则将所述第二方向划分模式确定为所述第二划分方式的划分方向。
6.根据权利要求4所述的方法,其特征在于,
当所述第一划分方式为四叉树划分或扩展四叉树划分时,所述子块数量阈值为小于或者等于4的非负整数;
当所述第一划分方式为三叉树划分时,所述子块数量阈值为小于或者等于3的非负整数;
当所述第一划分方式为二叉树划分时,所述子块数量阈值为小于或者等于2的非负整数。
7.根据权利要求2所述的方法,其特征在于,若所述第一划分方式为所述四叉树划分方式,则所述第二划分方式为所述二叉树划分方式、三叉树划分方式,以及扩展四叉树划分方式中的一种;
所述根据所述第一累计数量和所述第二累计数量确定所述第二划分方式的划分方向之后,所述方法还包括:
将所述第二划分方式的划分方向确定为目标划分方向,按照所述目标划分方向对应的所述第二划分方式对所述待编码单元进行块划分处理后,得当所述待编码单元的n个子块;所述n是由所述第二划分方式按照所述目标划分方向所确定的;
确定所述m个子块的第一率失真代价以及所述n个子块的第二率失真代价,基于所述m个子块的第一率失真代价之和以及所述n个子块的第二率失真代价之和,在所述第一划分方式和所述第二划分方式中确定具有最小率失真代价的划分方式;第一率失真代价和第二率失真代价均为所述待编码单元的编码码率与图像失真率之和;所述图像失真率为采用一种划分方式对所述待编码单元进行划分后,对划分后的子块进行编码得到的单元与所述待编码单元之间的图像失真率;
将确定出的具有最小率失真代价的划分方式确定为目标划分方式;基于所述目标划分方式对所述待编码单元进行编码预测。
8.一种视频编码装置,其特征在于,所述装置包括:
待编码单元获取模块,用于在视频编码过程中,从目标视频帧的图像块中获取待编码单元;
块划分处理模块,用于确定用于对所述待编码单元进行块划分处理的第一划分方式,并按照所述第一划分方式对待编码单元进行块划分处理,得到所述待编码单元的m个子块;所述m的值是由所述第一划分方式所确定的;所述第一划分方式中的划分方向包含第一方向划分模式和第二方向划分模式;
子块数量统计模块,用于在所述m个子块中,将采用所述第一方向划分模式的子块的数量作为第一累计数量,并将采用所述第二方向划分模式的子块的数量作为第二累计数量;所述第一累计数量和所述第二累计数量均小于或者等于所述m;
划分方向确定模块,用于将所述第一划分方式的下一划分方式作为第二划分方式,根据所述第一累计数量和所述第二累计数量确定所述第二划分方式的划分方向;所述第二划分方式的划分方向用于指示对所述待编码单元进行块划分处理;所述第二划分方式不同于所述第一划分方式。
9.一种终端设备,其特征在于,包括处理器和存储器,所述处理器和存储器相互连接;
所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
CN202011306618.2A 2020-11-19 2020-11-19 视频编码方法、装置、终端设备以及存储介质 Active CN112511843B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011306618.2A CN112511843B (zh) 2020-11-19 2020-11-19 视频编码方法、装置、终端设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011306618.2A CN112511843B (zh) 2020-11-19 2020-11-19 视频编码方法、装置、终端设备以及存储介质

Publications (2)

Publication Number Publication Date
CN112511843A true CN112511843A (zh) 2021-03-16
CN112511843B CN112511843B (zh) 2022-03-04

Family

ID=74958935

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011306618.2A Active CN112511843B (zh) 2020-11-19 2020-11-19 视频编码方法、装置、终端设备以及存储介质

Country Status (1)

Country Link
CN (1) CN112511843B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109151468A (zh) * 2017-06-28 2019-01-04 华为技术有限公司 一种图像数据的编码、解码方法及装置
US20190082178A1 (en) * 2016-03-30 2019-03-14 Electronics And Telecommunications Research Institute Method and apparatus for encoding and decoding video using picture division information
CN110213595A (zh) * 2019-06-25 2019-09-06 浙江大华技术股份有限公司 基于帧内预测的编码方法、图像处理设备和存储装置
CN110708551A (zh) * 2019-10-22 2020-01-17 腾讯科技(深圳)有限公司 视频编码方法、装置、计算机可读存储介质和计算机设备
CN111294599A (zh) * 2019-03-13 2020-06-16 北京达佳互联信息技术有限公司 视频解码方法、视频编码方法及装置
CN111770339A (zh) * 2020-07-22 2020-10-13 腾讯科技(深圳)有限公司 视频编码方法、装置、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190082178A1 (en) * 2016-03-30 2019-03-14 Electronics And Telecommunications Research Institute Method and apparatus for encoding and decoding video using picture division information
CN109151468A (zh) * 2017-06-28 2019-01-04 华为技术有限公司 一种图像数据的编码、解码方法及装置
CN111294599A (zh) * 2019-03-13 2020-06-16 北京达佳互联信息技术有限公司 视频解码方法、视频编码方法及装置
CN110213595A (zh) * 2019-06-25 2019-09-06 浙江大华技术股份有限公司 基于帧内预测的编码方法、图像处理设备和存储装置
CN110708551A (zh) * 2019-10-22 2020-01-17 腾讯科技(深圳)有限公司 视频编码方法、装置、计算机可读存储介质和计算机设备
CN111770339A (zh) * 2020-07-22 2020-10-13 腾讯科技(深圳)有限公司 视频编码方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112511843B (zh) 2022-03-04

Similar Documents

Publication Publication Date Title
US11438587B2 (en) Method and apparatus for encoding a picture block
WO2020176459A1 (en) Method and device for picture encoding and decoding
US11451772B2 (en) Intra-frame prediction coding method and apparatus, electronic device, and computer storage medium
US10123026B2 (en) Codeword space reduction for intra chroma mode signaling for HEVC
US11343533B2 (en) Coding method, device, system with merge mode
CN108965894B (zh) 一种视频图像的编解码方法及装置
CN104023241A (zh) 帧内预测编码的视频编码方法及视频编码装置
EP3706421A1 (en) Method and apparatus for video encoding and decoding based on affine motion compensation
CN110324668B (zh) 图像块编码中的变换方法、解码中的反变换方法及装置
US20240283930A1 (en) Systems and methods for video encoding using image segmentation
CN114520916A (zh) 视频编码方法、装置、终端设备以及存储介质
CN112511843B (zh) 视频编码方法、装置、终端设备以及存储介质
CN111654696B (zh) 一种帧内的多参考行预测方法、装置、存储介质及终端
CN112437307B (zh) 一种视频编码方法、装置、电子设备及介质
CN116405665A (zh) 编码方法、装置、设备及存储介质
CN116866591A (zh) 一种图像编码方法、装置及计算机设备、介质
CN115118990B (zh) 色度预测方法、装置、编码设备、解码设备及存储介质
CN114520917B (zh) 视频编码方法、装置、终端设备以及存储介质
CN111225212B (zh) 一种确定视频块的色度信息的方法及装置
CN112738522A (zh) 视频编码方法、装置
CN113660490A (zh) 编码单元的划分方法、编码方法、电子装置及存储介质
CN111480343B (zh) 用于编码图片块的方法和装置
CN111083490B (zh) 一种视频解码中运动补偿的方法及装置
US20220394285A1 (en) Video decoding method and apparatus, video encoding method and apparatus, and device and storage medium
CN118590659A (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: 40041045

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant