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

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

Info

Publication number
CN111669593B
CN111669593B CN202010730850.2A CN202010730850A CN111669593B CN 111669593 B CN111669593 B CN 111669593B CN 202010730850 A CN202010730850 A CN 202010730850A CN 111669593 B CN111669593 B CN 111669593B
Authority
CN
China
Prior art keywords
coding unit
coding
partition
depth
determining
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.)
Active
Application number
CN202010730850.2A
Other languages
English (en)
Other versions
CN111669593A (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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology 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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN202010730850.2A priority Critical patent/CN111669593B/zh
Publication of CN111669593A publication Critical patent/CN111669593A/zh
Application granted granted Critical
Publication of CN111669593B publication Critical patent/CN111669593B/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

本发明提供了一种视频编码方法、装置、电子设备和存储介质。该方法通过获取待编码的视频数据;按照视频数据中各编码帧的编码顺序,获取编码帧中各编码单元的划分深度;针对当前读取的第一编码单元,根据第二编码单元的划分深度,确定第一编码单元的参考划分深度;当第一编码单元的划分深度小于参考划分深度时,在第一划分方式中确定目标划分方式,其中,所述第一划分方式包括四叉树划分和不划分;按照目标划分方式对第一编码单元进行编码。由此,在当前编码单元的划分深度小于参考划分深度的情况下,可以从四叉树划分和不划分这两种划分方式中,选择对视频损失较小的划分方式划分编码单元。这能够减少编码过程中的计算量,节省编码时间。

Description

视频编码方法、装置、电子设备和存储介质
技术领域
本发明涉及视频编码技术领域,特别是涉及视频编码方法、装置、电子设备和存储介质。
背景技术
为了更有效的压缩视频数据,由国际视频编码标准组织制定的多功能视频编码(Versatile Video Coding,VVC)标准被广泛应用,应用多功能视频编码标准对视频进行压缩编码的过程中,编码帧会被划分为多个编码树单元(Coding Tree Unit,CTU),对编码树单元进行四叉树划分(Quad Tree,QT)得到编码单元(Coding Unit,CU),进一步的,按照水平二叉树划分(Horzizontal Binary Tree,H-BT)、垂直二叉树划分(Vertical BinaryTree,V-BT)、水平三叉树划分(Horzizontal Ternary Tree,H-TT)、垂直三叉树划分(Vertical Ternary Tree,V-TT)、四叉树划分和不进行划分对编码单元进行计算,以确定较佳的划分方式,并以该划分方式对编码单元进行编码。
相比于高效视频编码(High Efficiency Video Coding,HEVC)标准,多功能视频编码标准中嵌套了更多的编码单元划分类型,使得编码复杂度大幅增加。然而,编码器应用多功能视频编码标准划分编码单元的过程中,需要对全部的编码单元划分类型进行计算,这种情况的出现,加大了编码过程中数据的计算量,降低了编码速度,增加了编码时间。
发明内容
本发明实施例提供一种视频编码方法、装置、电子设备和存储介质,用以减少视频编码过程中的计算量,进而提高编码速度,节省编码时间。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种视频编码方法,包括以下步骤:
获取待编码的视频数据;
按照所述视频数据中编码帧的编码顺序,获取所述编码帧中各编码单元的划分深度;
针对当前读取的第一编码单元,根据第二编码单元的划分深度,确定所述第一编码单元的参考划分深度,所述第二编码单元为与所述第一编码单元相邻的至少一个编码单元;
当所述第一编码单元的划分深度小于所述参考划分深度时,在第一划分方式中确定目标划分方式,其中,所述第一划分方式包括四叉树划分和不划分;
按照所述目标划分方式对所述第一编码单元进行编码。
在本发明实施的第二方面,还提供了一种视频编码装置,所述视频编码装置包括:
第一获取模块,用于获取待编码的视频数据;
第二获取模块,用于按照所述视频数据中编码帧的编码顺序,获取所述编码帧中各编码单元的划分深度;
第一确定模块,用于针对当前读取的第一编码单元,根据第二编码单元的划分深度,确定所述第一编码单元的参考划分深度,所述第二编码单元为与所述第一编码单元相邻的至少一个编码单元;
第二确定模块,用于当所述第一编码单元的划分深度小于所述参考划分深度时,在第一划分方式中确定目标划分方式,其中,所述第一划分方式包括四叉树划分和不划分;
编码模块,用于按照所述目标划分方式对所述第一编码单元进行编码。
在本发明实施的第三方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的视频编码方法。
在本发明实施的第四方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的视频编码方法。
本发明实施例中通过获取待编码的视频数据;按照视频数据中编码帧的编码顺序,获取编码帧中各编码单元的划分深度;针对当前读取的第一编码单元,根据第二编码单元的划分深度,确定第一编码单元的参考划分深度,第二编码单元为与第一编码单元相邻的至少一个编码单元;当第一编码单元的划分深度小于参考划分深度时,在第一划分方式中确定目标划分方式,其中,第一划分方式包括四叉树划分和不划分;按照目标划分方式对第一编码单元进行编码。一般而言,两个相邻的编码单元,彼此之间的划分深度较为接近,由此,可以以相邻编码单元的划分深度为参考,确定当前编码单元的参考划分深度。与参考划分深度相比,当前编码单元的划分深度越小,则当前编码单元越倾向于四叉树划分和不划分。由此,在当前编码单元的划分深度小于参考划分深度的情况下,可以从四叉树划分和不划分这两种划分方式中,选择对视频损失较小的划分方式划分编码单元。这能够省略对于多类型树划分的计算过程,减少编码过程中的计算量,进而有利于提高编码速率,节省编码时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例中编码块的坐标示意图;
图2为本发明实施例中一编码树单元的多种划分方式示意图;
图3为本发明实施例中一编码单元的多种划分方式示意图;
图4为本发明实施例中视频编码方法的流程图;
图5为本发明实施例中一种视频编码装置的结构示意图;
图6为本发明实施例中一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
本发明实施例提供的视频编码方法应用在使用视频编码标准将原始视频格式的文件转换成另一种视频格式文件,实现对视频数据压缩这一编码过程中,其中,该视频编码标准可以包括多功能视频编码标准,以及未来可能出现的其它视频编码标准。
为了更直观的了解各个编码单元之间是否相邻,可以将编码单元表示为在一坐标系中的编码块。
该坐标系可以是由横坐标轴和纵坐标轴构成的直角坐标系,横坐标轴和纵坐标轴可用于指示编码块在两个不同方向上的编码顺序。为便于理解,可将横坐标轴指向的方向记作第一方向,将纵坐标轴指向的方向为第二方向,第一方向与第二方向垂直。例如,一种可选的方案为,当第一方向指向右侧时,横坐标轴指示的编码顺序为从左至右,当第二方向指向下方时,纵坐标轴指示的编码顺序为从上至下。又例如,另一种可选的方案为,当第一方向指向左侧时,横坐标轴指示的编码顺序为从右至左,当第二方向指向下方时,纵坐标轴指示的编码顺序为从上至下。又例如,另一种可选的方案为,当第一方向指向左侧时,横坐标轴指示的编码顺序为从右至左,当第二方向指向上方时,纵坐标轴指示的编码顺序为从下至上。
需要说明的是,本发明实施例对于第一方向与第二方向的先后执行次序无特别限制。例如,当第一方向指向右侧且第二方向指向下方时,可以按照从上到下的顺序,逐行处理每一行的编码块(编码单元),在处理每一行编码块时,按照从左至右的顺序。或者,当第一方向指向右侧且第二方向指向下方时,可以按照从左至右的顺序,逐列处理每一列的编码块(编码单元),在处理每一列编码块时,按照从上到下的顺序。或者,还可以同时从两个方向辐射执行,相同次序的编码块可以同时处理。
在坐标系中,任意一个编码块呈矩形。每一编码单元中都包括有坐标信息,坐标信息包括但不限于:起始坐标、编码单元长度和编码单元宽度。其中,起始坐标为编码块包括的各个坐标中,编码顺序最先的坐标。如此,可以根据编码块的起始坐标、编码单元长度和编码单元宽度得到编码块四个端点的坐标,进而,可以利用坐标系中的四个端点来表征编码块。
可选的,在横坐标轴上的编码顺序为从左至右,纵坐标轴上的编码顺序为从上至下的情况下,编码单元坐标信息中的起始坐标即为该编码块在坐标系中表征的编码块的左上角坐标,将起始坐标中横坐标的数值加编码单元长度,确定编码块的右上角坐标;将起始坐标中纵坐标的数值减编码单元宽度,确定编码块的左下角坐标;将起始坐标中横坐标的数值加编码单元长度,纵坐标的数值减编码单元宽度,确定编码块的右下角坐标;根据编码块四个端点的坐标确定编码块在坐标系中具体的位置和大小。
例如,请参阅图1,该坐标系中横坐标轴指示的编码顺序为从左至右,纵坐标轴指示的编码顺序为从上至下,一编码单元的起始坐标为(8,8),编码单元长度为8,编码单元宽度为8,编码单元的起始坐标(8,8)即为编码块的左上角坐标;起始坐标中横坐标的数值加编码单元长度,确定编码块的右上角坐标(16,8);将起始坐标中纵坐标的数值加编码单元宽度,确定编码块的左下角坐标(8,16);将起始坐标中横坐标的数值加编码单元长度,纵坐标的数值加编码单元宽度,确定编码块的右下角坐标(16,16)。如图1所示,该编码单元对应的编码块在坐标系中的范围为坐标(8,8),坐标(8,16),坐标(16,16)和坐标(16,8)在坐标系中覆盖的范围。
进一步的,请参阅图2,图2为本发明实施例中一编码树单元的多种划分方式示意图,在多功能视频编码标准中,一个编码树单元(CTU)可以被四叉树划分得到四个编码单元(CU),对任意一个编码单元(CU),则可以从不划分、四叉树划分、水平二叉树划分、垂直二叉树划分、水平三叉树划分和垂直三叉树划分这几种划分方式中选择一种划分方式继续进行划分,以及,划分后得到的编码单元(CU)还可以在前述6种划分方式中继续迭代划分。其中,图2中的粗实线部分表示对编码单元进行四叉树划分,细实线部分表示对编码单元进行多类型树划分,多类型树划分包括但不限于水平二叉树划分、垂直二叉树划分、水平三叉树划分和垂直三叉树划分。此外,本实施例中的编码树单元是从编码帧中获取的未进行任何划分的编码数据。
对CTU做进一步划分,可以得到多个编码单元。需要说明的是,编码单元还可以进一步划分,并得到更下一级的编码单元。为便于说明,本发明实施例中,以“编码单元”和“编码子单元”这一对相对概念,来对编码单元进行划分前后的状态进行区分。也就是说,对任意一个编码单元进行进一步划分后,可以得到的多个编码子单元。可以理解,部分编码子单元也可以再进一步划分。
请参阅图3,图3为本发明实施例中一编码单元的多种划分方式示意图,在对一编码单元进行划分后,会得到多个不同的编码子单元。在图3中,R(Recursive,递归)表示编码单元可以继续划分。在图3所示的各种划分方式中,从左至右依次为:不划分、对编码单元进行四叉树划分得到四个编码子单元、对编码单元进行水平二叉树划分得到两个编码子单元、对编码单元进行垂直二叉树划分得到两个编码子单元、对编码单元进行水平三叉树划分得到三个编码子单元和对编码单元进行垂直三叉树划分得到三个编码子单元。
基于前文所述,对编码单元进行编码时,就需要按照前述6种划分方式分别进行计算(计算方式此处不展开详述),从而,基于计算结果,在前述6种划分方式中确定目标划分方式。这就导致编码过程的数据计算量较大,降低了编码速度,增加了编码时间。
针对前述问题,本发明实施例基于如下发明构思:由于编码单元的划分深度趋向于与相邻编码单元的划分深度一致,因此,可以比较编码单元的划分深度与相邻编码单元的划分深度,根据比较结果,确定编码单元更趋向于进行哪几种划分,从中选择出较优的划分方式对编码单元进行编码,如此,能够在一定程度上减少视频编码过程中的计算量,进而提高编码速度,节省编码时间。
请参阅图4,图4为本发明实施例中视频编码方法的流程图。该视频编码方法包括:
S110,获取待编码的视频数据。
S120,按照所述视频数据中编码帧的编码顺序,获取所述编码帧中各编码单元的划分深度。
本实施例中,为了对视频数据进行编辑,首先获取待编码的视频数据,视频数据中包含图像数据,图像数据包含多个图像,将一帧图像作为一个编码帧,每一编码帧对应有一个编码,根据各编码帧对应的编码确定视频数据中各编码帧的编码顺序,并按照编码顺序依次对编码帧进行编码。
对于任意一个编码帧而言,可以被划分成若干个互不重叠的编码树单元,而对编码树单元可以进一步的划分得到若干不同的编码单元。也就是说,一个编码帧可以划分为多个不同的编码单元。
本实施例中,一种可选的方式为,按照编码顺序读取每一编码帧的划分深度;另一种可选的方式为,按照编码顺序依次计算每一编码帧的划分深度。
广义来说,划分深度包括四叉树划分深度以及多类型树划分深度,其中,多类型树划分深度包括水平二叉树划分深度、垂直二叉树划分深度、水平三叉树划分深度和垂直三叉树划分深度。
本实施例采用编码单元的四叉树划分深度确定编码单元是否倾向于进行四叉树划分和不划分,进而确定对编码单元的划分方式。也就是说,在本实施例及后续实施例的方案中,并不涉及多类型树划分深度,因此本实施例及后续实施例中的划分深度均指四叉树划分深度,后续不再重复。
四叉树划分深度可用于表征编码单元进行过四叉树划分的次数。
在对编码帧中的每一编码单元进行编码时,可以直接读取编码单元的划分深度,也可以通过编码单元对应的编码块的尺寸大小推断(计算)划分深度。在视频编码过程中,未进行编码处理的编码块的初始尺寸为128*128,例如,对未进行编码处理的编码块进行一次四叉树划分,得到4个尺寸为64*64的子编码块,则各子编码块的划分深度为1。再例如,一编码块的尺寸为32*32,则该编码块是初始编码块进行两次四叉树划分之后得到的,确定该编码块的划分深度为2。
S130,针对当前读取的第一编码单元,根据第二编码单元的划分深度,确定所述第一编码单元的参考划分深度,所述第二编码单元为与所述第一编码单元相邻的至少一个编码单元。
本发明实施例中,将当前读取到的编码帧中的编码单元简称为第一编码单元。可以理解,在任意一个编码帧中,可以包括多个编码单元,在进行编码时,可以按照一定的顺序或任意自定义顺序,对编码单元分别进行处理,直至遍历所有编码单元。在此过程中,这些编码单元中的任意一个编码单元,都可以作为第一编码单元,进行后续处理。
为便于处理,本发明实施例还将编码帧中与第一编码单元相邻的至少一个编码单元确定为第二编码单元。可以理解,对任意一个第一编码单元而言,与该第一编码单元相邻的编码单元可以有多个;而本发明实施例可以将这些相邻的编码单元中的一个或多个确定为第二编码单元。换言之,第二编码单元的数目可以为一个或多个。后续详述第二编码单元的确定方式。
另外,第二编码单元的划分深度可以在确定参考划分深度之前,获取第二编码单元的划分深度。第二编码单元的划分深度也是四叉树划分深度,可以按照前述第一编码单元的划分深度的计算方式计算得到,不再重复。
S140,当所述第一编码单元的划分深度小于所述参考划分深度时,在第一划分方式中确定目标划分方式,其中,所述第一划分方式包括四叉树划分和不划分。
编码单元的编码方式受到相邻编码单元的影响,任意相邻的两个编码单元的划分深度有一定相关性。本发明实施例根据相邻编码单元的划分深度,确定第一编码单元的参考划分深度。从而,与参考划分深度相比,第一编码单元的划分深度越小,第一编码单元越倾向于进行四叉树划分以增加第一编码单元的划分深度,使得第一编码单元的划分深度与相邻编码单元的划分深度趋向一致,或者,第一编码单元倾向于不进行划分,不改变划分深度。因此,当第一编码单元的划分深度小于所述参考划分深度时,可以在四叉树划分或不划分两种方式中确定目标划分方式,相对于遍历6种划分方式来确定目标划分方式的现有技术方案,本方案能够有效降低计算量,提高编码效率。
S150,按照所述目标划分方式对所述第一编码单元进行编码。
本发明实施例中通过获取待编码的视频数据;按照视频数据中编码帧的编码顺序,获取编码帧中各编码单元的划分深度;针对当前读取的第一编码单元,根据第二编码单元的划分深度,确定第一编码单元的参考划分深度,第二编码单元为与第一编码单元相邻的至少一个编码单元;当第一编码单元的划分深度小于参考划分深度时,在第一划分方式中确定目标划分方式,其中,第一划分方式包括四叉树划分和不划分;按照目标划分方式对第一编码单元进行编码。一般而言,两个相邻的编码单元,彼此之间的划分深度较为接近,由此,可以以相邻编码单元的划分深度为参考,确定当前编码单元的参考划分深度。与参考划分深度相比,当前编码单元的划分深度越小,则当前编码单元越倾向于四叉树划分和不划分。由此,在当前编码单元的划分深度小于参考划分深度的情况下,可以从四叉树划分和不划分这两种划分方式中,选择对视频数据损失较小的划分方式划分编码单元。这能够省略对于多类型树划分的计算过程,减少编码过程中的计算量,进而有利于提高编码速率,节省编码时间。
现对第二编码单元的确定方式进行说明。
需要说明的是,在上述实施例中,第二编码单元是编码帧中与第一编码单元相邻的编码单元。
一种可选的情况为,可以通过坐标系来确定第二编码单元。具体而言,第二编码单元可以是坐标系中与第一编码单元相邻的编码单元。在这种情况下,可以获取第一编码单元在坐标系中的起始坐标,具体的方式请参考上述实施例,对第一编码单元的起始坐标进行一定的运算得到参考坐标,将编码帧(包含多个编码单元)中与该参考坐标对应的编码单元确定为第二编码单元,后续详述确定参考坐标的方式。
另一种可选的情况中,还可以在坐标系的基础上,结合编码顺序,来确定第二编码单元。
示例性的,本发明实施例还提供如下具体确定第二编码单元的实现方式:基于所述第一编码单元的坐标信息,按照编码顺序确定与所述第一编码单元相邻的第二编码单元。
由于第一编码单元为当前读取的编码单元,那么与第一编码单元相邻的第二编码单元的编码顺序可以先于第一编码单元,这种情况下,可以在与第一编码单元的坐标相邻的多个编码单元中,将编码顺序在第一编码单元之前的编码单元,确定为第二编码单元,这样,无需付出额外的计算来确定第二编码,这种方式减少了视频编码过程的计算量,
具体而言,可以根据所述第一编码单元中的坐标信息,确定所述第一编码单元的起始坐标;根据编码顺序和所述起始坐标,确定参考坐标;所述参考坐标与所述起始坐标相邻,且所述参考坐标对应的编码顺序在所述起始坐标对应的编码顺序之前;将所述编码帧中与所述参考坐标对应的编码单元确定为第二编码单元。
第一编码单元坐标信息包括起始坐标、编码单元长度和编码单元宽度,在存在与第一编码单元相邻的第二编码单元的情况下,第一编码单元和第二编码单元各自在坐标系中对应的编码块也会相邻,因此,可以基于第一编码单元的起始坐标确定编码顺序在第一编码单元之前的第二编码单元。出于详尽阐述本实施例的目的,以第一编码单元的起始坐标为(8,24),横坐标轴的编码顺序为从左到右,纵坐标轴的编码顺序为从上至下为例进行说明,在这种情况下,第二编码单元对应的编码块应当位于第一编码单元对应编码块的上方或左边,一种可选方式为,将起始坐标的横坐标减1,得到一个参考坐标(7,24),若编码帧中存在与参考坐标对应的编码单元,则将该编码单元作为第二编码单元;另一种可选方式为,将起始坐标的纵坐标减1,得到一个参考坐标(8,23),将起始坐标的纵坐标减1,横坐标减1,得到另一个参考坐标(7,23),若编码帧中存在与参考坐标(8,23)和参考坐标(7,23)对应的2个编码单元,则将这2个编码单元确定为第二编码单元。
本实施例基于第一编码单元的坐标信息,得到第一编码单元的起始坐标,对起始坐标的横坐标和/或纵坐标进行运算得到参考坐标,进一步将编码帧中与参考坐标对应的编码单元确定为第二编码单元,通过这种方式,准确的确定与第一编码单元相邻的第二编码单元。
以下,具体说明如何根据第二编码单元的划分深度,确定所述第一编码单元的参考划分深度。此时,基于第二编码单元的数目不同,也可以有不同的处理方式:
第一种,当只存在与所述第一编码单元相邻的一个第二编码单元时。
在这种情况下的一种可能的实施例中,可以将所述第二编码单元的划分深度确定为所述参考划分深度。
除此之外,也可以通过其他方式确定参考划分深度,以下举例说明。
一种可能的实施例中,将第二编码单元的划分深度与预设系数的乘积确定为参考划分深度,其中,预设系数可以自定义预设设置,例如预设系数为0.5。
另一种可能的实施例中,将第二编码单元的划分深度加第一预设值后的数值确定为参考划分深度。其中,第一预设值可以自定义预设,例如,第一预设值可以为一。
另一种可能的实施例中,将第二编码单元的划分深度减一后的数值确定为参考划分深度。
第二种,当存在与所述第一编码单元相邻的多个第二编码单元时。
在这种情况下的一种可能的实施例中,可以将多个第二编码单元的划分深度中较小的划分深度确定为所述参考划分深度。
除此之外,也可以通过其他方式确定参考划分深度,以下举例说明。
一种可能的实施例中,将多个第二编码单元的划分深度的平均值确定为参考划分深度。
另一种可能的实施例中,将多个第二编码单元的划分深度中最小的划分深度加/减第二预设值后的数值确定为参考划分深度,其中,第二预设值可以自定义预设,例如,第二预设值可以为一。
另一种可能的实施例中,将多个第二编码单元的划分深度中最小的划分深度与预设系数的乘积确定为参考划分深度。
另一种可能的实施例中,将多个第二编码单元的划分深度的平均值加/减第三预设值后的数值确定为参考划分深度,其中,第三预设值可以自定义预设,例如,第三预设值可以为一。
另一种可能的实施例中,将多个第二编码单元的划分深度的平均值与预设系数的乘积确定为参考划分深度。
那么,当所述第一编码单元的划分深度小于所述参考划分深度时,在第一划分方式中确定目标划分方式,其中,所述第一划分方式包括四叉树划分和不划分。或者,当所述第一编码单元的划分深度不小于所述参考划分深度时,在第二划分方式中确定目标划分方式,其中,所述第二划分方式包括但不限于四叉树划分、不划分和多类型树划分;所述多类型树划分包括:水平二叉树划分、垂直二叉树划分、水平三叉树划分、垂直三叉树划分中的一种或多种。后续具体展开说明。
进一步的,所述在第一划分方式中确定目标划分方式的步骤可以包括但不限于如下方式:计算所述第一编码单元的第一率失真代价和第二率失真代价。其中,所述第一率失真代价为所述第一编码单元进行四叉树划分的率失真代价,所述第二率失真代价为所述第一编码单元不划分的率失真代价;从而,在第一率失真代价对应的划分方式和第二率失真代价对应的划分方式中,将数值较小的率失真代价对应的划分方式确定为所述目标划分方式。
率失真代价能反映视频数据压缩在一定范围内付出的失真度。换言之,率失真代价越大,视频数据的失真程度越高,视频质量较差;反之,率失真代价越小,视频数据的失真程度越低,视频质量较好。
本发明实施例中,可以通过但不限于拉格朗日率失真最优算法,计算率失真代价。例如,在第一编码单元的划分深度小于参考划分深度的情况下,可以通过拉格朗日率失真最优算法分别计算对第一编码单元进行四叉树划分的率失真代价(也即第一率失真代价)和不划分的率失真代价(也即第二率失真代价),并选择数值较小的率失真代价对应的划分方式,对所述第一编码单元进行编码划分。
具体而言,当计算得到第一编码单元进行四叉树划分的第一率失真代价;以及计算第一编码单元不划分的第二率失真代价后,可以比较第一率失真代价和第二率失真代价。从而,在第一率失真代价小于第二率失真代价的情况下,选择四叉树划分对第一编码单元进行编码。或者,在第一率失真代价与第二率失真代价相同的情况下,可以对第一编码单元进行四叉树划分,也可以不对第一编码单元进行划分。或者,在第二率失真代价大于第一率失真代价的情况下,不对第一编码单元进行划分。
本实施例在第一编码单元的划分深度小于参考划分深度的情况下,通过计算编码单元在四叉树划分和不进行划分这两种划分方式下的率失真代价,在这两种划分方式中选择率失真代价较小的划分方式对编码单元进行划分,即在四叉树划分和不划分中,选择对视频损失较小的划分方式划分编码单元,尽可能的减少编码过程中视频数据的失真。
以下,对所述第一编码单元的划分深度不小于所述参考划分深度的情况进行说明。这种情况下,可以在第二划分方式中确定所述目标划分方式。其中,第二划分方式包括但不限于:四叉树划分、不划分和多类型树划分;所述多类型树划分包括:水平二叉树划分、垂直二叉树划分、水平三叉树划分、垂直三叉树划分中的一种或多种。
一种可能的实施例中,在第一编码单元的划分深度不小于参考划分深度的情况下,表明第一编码单元的划分深度大于相邻编码单元的划分深度,或者,第一编码单元的划分深度与相邻编码单元的划分深度一致。由于相邻的编码单元的划分深度接近,在相邻编码单元与第一编码单元划分深度相差不大的情况下,编码单元可能采取四叉树划分、不划分、水平二叉树划分、垂直二叉树划分、水平三叉树划分和垂直三叉树划分这6种划分方式中的一种进行编码划分,因此,可以从前述6种划分方式中确定目标划分方式,并使用目标划分方式对第一编码单元进行划分。
可选的,可以计算第一编码单元进行四叉树划分的率失真代价、进行水平二叉树划分的率失真代价、进行垂直二叉树划分的率失真代价、进行水平三叉树划分的率失真代价、进行垂直三叉树划分的率失真代价和不进行划分的率失真代价,并将较小率失真代价对应的划分方式确定为目标划分方式,按照目标划分方式对第一编码单元进行划分。率失真代价的计算方式同前文所述,不再重复。
例如,第一编码单元的划分深度为3,存在与第一编码单元相邻的2个第二编码单元,且2个第二编码单元各自对应的划分深度中较小划分深度为2,即确定第一编码单元的参考划分深度为2,在第一编码单元的划分深度大于参考划分深度的情况下,计算第一编码单元进行水平二叉树划分的率失真代价,第一编码单元不划分的率失真代价,第一编码单元进行四叉树划分的率失真代价,第一编码单元进行垂直二叉树划分的率失真代价,第一编码单元进行水平三叉树划分的率失真代价和第一编码单元进行垂直三叉树划分的率失真代价,并将较小率失真代价对应的划分确定为目标划分方式,按照目标划分方式对第一编码单元进行划分。
示例性的,本发明实施例还以多个测试序列的编码场景为例,说明本方案的编码效果。
具体而言,可以将一个测试序列理解为一个编码单元,该编码单元存在2个相邻编码单元,且该编码单元的参考划分深度是相邻编码单元的划分深度中,较小的划分深度。测试的结果如下表一所示:
表一:
Figure BDA0002603236390000131
表一中示出了20个测试序列,以及,各个测试序列的类别、编号、编码时间节省百分比、视频编码质量评价标准,其中,不同的测试序列类别对应不同的分辨率。从表一中可以得到,上述测试序列1-20的平均编码时间节省百分比为11.62%,平均视频编码质量评价标准也为不影响视频数据失真的0.3074,因此,本发明实施例提供的视频编码方法节省了编码时间,提高了编码速率。
如图5所示,本发明实施例还提供了一种视频编码装置200,包括:
第一获取模块210,用于获取待编码的视频数据;
第二获取模块220,用于按照所述视频数据中编码帧的编码顺序,获取所述编码帧中各编码单元的划分深度;
第一确定模块230,用于针对当前读取的第一编码单元,根据第二编码单元的划分深度,确定所述第一编码单元的参考划分深度,所述第二编码单元为与所述第一编码单元相邻的至少一个编码单元;
第二确定模块240,用于当所述第一编码单元的划分深度小于所述参考划分深度时,在第一划分方式中确定目标划分方式,其中,所述第一划分方式包括四叉树划分和不划分;
编码模块250,用于按照所述目标划分方式对所述第一编码单元进行编码。
可选的,所述视频编码装置200还包括:
第三确定模块,用于基于所述第一编码单元的坐标信息,按照编码顺序确定与所述第一编码单元相邻的第二编码单元。
可选的,所述第三确定模块具体用于:
根据所述第一编码单元中的坐标信息,确定所述第一编码单元的起始坐标;
根据编码顺序和所述起始坐标,确定参考坐标;所述参考坐标与所述起始坐标相邻,且所述参考坐标对应的编码顺序在所述起始坐标对应的编码顺序之前;
将所述编码帧中与所述参考坐标对应的编码单元确定为第二编码单元。
可选的,所述第一确定模块230,包括:
第一确定单元,用于当只存在与所述第一编码单元相邻的一个第二编码单元时,将所述第二编码单元的划分深度确定为所述参考划分深度。
可选的,所述第一确定模块230,还包括:
第二确定单元,用于当存在与所述第一编码单元相邻的多个第二编码单元时,将多个第二编码单元的划分深度中较小的划分深度确定为所述参考划分深度。
可选的,所述编码模块250,还具体用于:
计算所述第一编码单元的第一率失真代价和第二率失真代价;
在第一率失真代价对应的划分方式和第二率失真代价对应的划分方式中,将数值较小的率失真代价对应的划分方式确定为所述目标划分方式。
可选的,所述编码模块250,具体用于:
当所述第一编码单元的划分深度不小于所述参考划分深度时,在第二划分方式中确定所述目标划分方式。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信。
存储器303,用于存放计算机程序;
处理器301,用于执行存储器303上所存放的程序时,实现如下步骤:
获取待编码的视频数据;
按照所述视频数据中编码帧的编码顺序,获取所述编码帧中各编码单元的划分深度;
针对当前读取的第一编码单元,根据第二编码单元的划分深度,确定所述第一编码单元的参考划分深度,所述第二编码单元为与所述第一编码单元相邻的至少一个编码单元;
当所述第一编码单元的划分深度小于所述参考划分深度时,在第一划分方式中确定目标划分方式,其中,所述第一划分方式包括四叉树划分和不划分;
按照所述目标划分方式对所述第一编码单元进行编码。
可选的,所述计算机程序被所述处理器301执行时还用于实现上述实施例中任一所述的视频编码方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的视频编码方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的视频编码方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种视频编码方法,其特征在于,包括以下步骤:
获取应用多功能视频编码标准的待编码的视频数据;
按照所述视频数据中编码帧的编码顺序,获取所述编码帧中各编码单元的划分深度;
针对当前读取的第一编码单元,根据第二编码单元的划分深度,确定所述第一编码单元的参考划分深度,所述第二编码单元为与所述第一编码单元相邻的至少一个编码单元;
当所述第一编码单元的划分深度小于所述参考划分深度时,在第一划分方式中确定目标划分方式,其中,所述第一划分方式包括四叉树划分和不划分;
按照所述目标划分方式对所述第一编码单元进行编码。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述第一编码单元的坐标信息,按照编码顺序确定与所述第一编码单元相邻的第二编码单元。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一编码单元中的位置信息,按照编码顺序确定与所述第一编码单元相邻的第二编码单元的步骤包括:
根据所述第一编码单元中的坐标信息,确定所述第一编码单元的起始坐标;
根据编码顺序和所述起始坐标,确定参考坐标;所述参考坐标与所述起始坐标相邻,且所述参考坐标对应的编码顺序在所述起始坐标对应的编码顺序之前;
将所述编码帧中与所述参考坐标对应的编码单元确定为第二编码单元。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述根据第二编码单元的划分深度,确定所述第一编码单元的参考划分深度的步骤包括:
当只存在与所述第一编码单元相邻的一个第二编码单元时,将所述第二编码单元的划分深度确定为所述参考划分深度。
5.根据权利要求1-3中任一项所述的方法,其特征在于,所述根据第二编码单元的划分深度,确定所述第一编码单元的参考划分深度的步骤,还包括:
当存在与所述第一编码单元相邻的多个第二编码单元时,将多个第二编码单元的划分深度中较小的划分深度确定为所述参考划分深度。
6.根据权利要求1所述的方法,其特征在于,所述在第一划分方式中确定目标划分方式的步骤包括:
计算所述第一编码单元的第一率失真代价和第二率失真代价;其中,所述第一率失真代价为所述第一编码单元进行四叉树划分的率失真代价,所述第二率失真代价为所述第一编码单元不划分的率失真代价;
在第一率失真代价对应的划分方式和第二率失真代价对应的划分方式中,将数值较小的率失真代价对应的划分方式确定为所述目标划分方式。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一编码单元的划分深度不小于所述参考划分深度时,在第二划分方式中确定所述目标划分方式;
其中,第二划分方式包括:四叉树划分、不划分和多类型树划分;所述多类型树划分包括:水平二叉树划分、垂直二叉树划分、水平三叉树划分、垂直三叉树划分中的一种或多种。
8.一种视频编码装置,其特征在于,所述视频编码装置包括:
第一获取模块,用于获取应用多功能视频编码标准的待编码的视频数据;
第二获取模块,用于按照所述视频数据中各编码帧的编码顺序,获取所述编码帧中各编码单元的划分深度;
第一确定模块,用于针对当前读取的第一编码单元,根据第二编码单元的划分深度,确定所述第一编码单元的参考划分深度,所述第二编码单元为与所述第一编码单元相邻的至少一个编码单元;
第二确定模块,用于当所述第一编码单元的划分深度小于所述参考划分深度时,在第一划分方式中确定目标划分方式,其中,所述第一划分方式包括四叉树划分和不划分;
编码模块,用于按照所述目标划分方式对所述第一编码单元进行编码。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7中任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时,实现如权利要求1-7中任一所述的方法。
CN202010730850.2A 2020-07-27 2020-07-27 视频编码方法、装置、电子设备和存储介质 Active CN111669593B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010730850.2A CN111669593B (zh) 2020-07-27 2020-07-27 视频编码方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010730850.2A CN111669593B (zh) 2020-07-27 2020-07-27 视频编码方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN111669593A CN111669593A (zh) 2020-09-15
CN111669593B true CN111669593B (zh) 2022-01-28

Family

ID=72393042

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010730850.2A Active CN111669593B (zh) 2020-07-27 2020-07-27 视频编码方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN111669593B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112312133B (zh) * 2020-10-30 2022-10-04 北京奇艺世纪科技有限公司 一种视频编码方法、装置、电子设备及可读存储介质
CN114520917B (zh) * 2020-11-19 2024-02-23 腾讯科技(深圳)有限公司 视频编码方法、装置、终端设备以及存储介质
CN112866693B (zh) * 2021-03-25 2023-03-24 北京百度网讯科技有限公司 编码单元cu的划分方法、装置、电子设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103813178A (zh) * 2014-01-28 2014-05-21 浙江大学 一种基于编码单元深度时空相关性的快速hevc编码方法
CN105721865A (zh) * 2016-02-01 2016-06-29 同济大学 一种hevc帧间编码单元划分的快速决策算法
CN108712648A (zh) * 2018-04-10 2018-10-26 天津大学 一种深度视频快速帧内编码方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016203881A1 (ja) * 2015-06-18 2016-12-22 シャープ株式会社 算術復号装置及び算術符号化装置
CN110730343B (zh) * 2019-09-20 2021-12-07 中山大学 一种多功能视频编码帧间划分方法、系统及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103813178A (zh) * 2014-01-28 2014-05-21 浙江大学 一种基于编码单元深度时空相关性的快速hevc编码方法
CN105721865A (zh) * 2016-02-01 2016-06-29 同济大学 一种hevc帧间编码单元划分的快速决策算法
CN108712648A (zh) * 2018-04-10 2018-10-26 天津大学 一种深度视频快速帧内编码方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Utilize Neighboring LCU Depth Information to speedup FVC/H.266 Intra Coding;Jiann-Jone Chen等;《 2019 International Conference on System Science and Engineering (ICSSE)》;20190905;全文 *
基于深度预测的HEVC编码单元快速划分算法;赵宏等;《计算机应用与软件》;20170531;全文 *

Also Published As

Publication number Publication date
CN111669593A (zh) 2020-09-15

Similar Documents

Publication Publication Date Title
CN111669593B (zh) 视频编码方法、装置、电子设备和存储介质
JP7434422B2 (ja) 符号化方法、復号方法、および対応するデバイス
WO2020207162A1 (zh) 帧内预测编码方法、装置、电子设备及计算机存储介质
JP4797009B2 (ja) 予測モード情報符号化方法,予測モード情報復号方法,これらの装置,およびこれらのプログラム並びにコンピュータ読み取り可能な記録媒体
CN106170093B (zh) 一种帧内预测性能提升编码方法
US20230024834A1 (en) Video decoding method, video encoding method, and related apparatuses
CN109688407B (zh) 编码单元的参考块选择方法、装置、电子设备及存储介质
WO2019085942A1 (zh) Sao模式决策方法、装置、电子设备及可读存储介质
JP6837545B2 (ja) ビデオを符号化するための方法及び機器
KR20210042355A (ko) 비디오 이미지 성분의 예측 방법, 장치 및 컴퓨터 저장 매체
EP3918791A1 (en) Inter prediction in exponential partitioning
KR20220006113A (ko) 루프 필터링 방법 및 장치
CN113079375B (zh) 基于相关度比较确定视频编解码优先顺序的方法及装置
CN111988605A (zh) 模式选择方法、装置、计算机可读存储介质及电子设备
CN111654696A (zh) 一种帧内的多参考行预测方法、装置、存储介质及终端
CN109660806B (zh) 一种编码方法、装置和电子设备
CN108683915B (zh) 一种写入dQP值的方法、装置及电子设备
KR20220064950A (ko) 프레임 간 예측 방법 및 장치, 기기, 저장 매체
CN113691811B (zh) 编码块划分方法、装置、系统及存储介质
KR20210106547A (ko) 디코딩 예측 방법, 장치 및 컴퓨터 저장 매체
CN104079942A (zh) 一种图像处理方法、装置及系统
CN114666592A (zh) 基于avs3编码历史信息的cu块划分方法、装置及介质
CN114071138A (zh) 帧内预测编码方法、帧内预测编码装置和计算机可读介质
CN109618152B (zh) 深度划分编码方法、装置和电子设备
CN111988612A (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