CN111770345B - 编码单元的运动估计方法、装置、设备及存储介质 - Google Patents

编码单元的运动估计方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111770345B
CN111770345B CN202010712393.4A CN202010712393A CN111770345B CN 111770345 B CN111770345 B CN 111770345B CN 202010712393 A CN202010712393 A CN 202010712393A CN 111770345 B CN111770345 B CN 111770345B
Authority
CN
China
Prior art keywords
coding unit
coding
target
coding units
units
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
CN202010712393.4A
Other languages
English (en)
Other versions
CN111770345A (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 CN202010712393.4A priority Critical patent/CN111770345B/zh
Publication of CN111770345A publication Critical patent/CN111770345A/zh
Application granted granted Critical
Publication of CN111770345B publication Critical patent/CN111770345B/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

编码单元的运动估计方法、装置、设备及存储介质
技术领域
本申请实施例涉及视频编解码技术领域,特别涉及一种编码单元的运动估计方法、装置、设备及存储介质。
背景技术
视频信号是指包括多个帧的图像序列。由于视频信号数字化后数据带宽很高,计算机设备难以直接对之进行存储和处理,因而需要采用视频压缩技术来降低视频信号的数据带宽。
视频压缩技术是通过视频编码来实现的,在进行视频编码时,一个待编码图像块会被划分为多个图像块。在H.265/HEVC(High Efficient Video Coding,高效率视频压缩编码)标准中,一个待编码图像块可以通过QT(Quad Tree,四叉树)划分方式划分为多个CU(Coding Unit,编码单元)。在H.266/VVC(Versatile Video Coding,通用视频编码)标准中,一个待编码图像块可以通过BT(Binary Tree,二叉树)划分、TT(Ternary Tree,三叉树)划分、EQT(Extended Quad-Tree,扩展四叉树)划分等方式划分为多个CU。通常,可以采用多种划分方式对待编码图像块进行划分,在视频编码过程中,需要计算多种划分方式分别对应的拉格朗日RD(Rate-Distortion,率失真)代价,并比较计算出的RD代价以确定待编码图像块的最优划分方式。RD代价的计算需要用到ME(Motion Estimation,运动估计)过程中计算的位移矢量。相关技术中,在采用第一划分方式对待编码图像块进行划分之后,对划分得到的CU进行ME,计算各个CU的位移矢量,然后采用第二划分方式对待编码图像块进行划分,并对划分得到的CU进行ME,计算各个CU的位移矢量。
由于采用第二划分方式对待编码图像块进行划分时,会产生一些通过第一划分方式无法得到的CU,相关技术中针对这些CU需要重新进行ME,导致视频编码的复杂度增加,不利于视频编码效率的提升。
发明内容
本申请实施例提供了一种编码单元的运动估计方法、装置、设备及存储介质,可用于降低了视频编码的复杂度,有助于视频编码效率的提升。所述技术方案如下:
一方面,本申请实施例提供了一种编码单元的运动估计方法,所述方法包括:
采用第一划分方式对目标编码块进行划分,得到多个第一编码单元;
采用第二划分方式对所述目标编码块进行划分,得到多个第二编码单元;
对于所述多个第二编码单元中的目标编码单元,基于所述多个第一编码单元确定所述目标编码单元对应的参考编码单元,所述目标编码单元是所述多个第二编码单元中不同于所述多个第一编码单元的编码单元;
获取所述参考编码单元的位移矢量;
根据所述参考编码单元的位移矢量,确定所述目标编码单元的位移矢量。
另一方面,本申请实施例提供了一种编码单元的运动估计装置,所述装置包括:
第一划分模块,用于采用第一划分方式对目标编码块进行划分,得到多个第一编码单元;
第二划分模块,用于采用第二划分方式对所述目标编码块进行划分,得到多个第二编码单元;
单元确定模块,用于对于所述多个第二编码单元中的目标编码单元,基于所述多个第一编码单元确定所述目标编码单元对应的参考编码单元,所述目标编码单元是所述多个第二编码单元中不同于所述多个第一编码单元的编码单元;
矢量获取模块,用于获取所述参考编码单元的位移矢量;
矢量确定模块,用于根据所述参考编码单元的位移矢量,确定所述目标编码单元的位移矢量。
再一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述编码单元的运动估计方法。
又一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述编码单元的运动估计方法。
还一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述编码单元的运动估计方法。
本申请实施例提供的技术方案可以带来如下有益效果:
通过采用某一划分方式对待编码图像块进行划分得到多个编码单元,对于这多个编码单元中无法通过其它划分方式得到的编码单元,基于采用其它划分方式得到的编码单元确定该编码单元对应的参考编码单元,然后依据该参考编码单元的位移矢量计算该编码单元的位移矢量。由于计算机设备在确定该编码单元的位移矢量之前,先对采用其它划分方式得到的编码单元进行了运动估计,该编码单元对应的参考编码单元的位移矢量已知,相比于对该编码单元重新进行运动估计会导致视频编码的复杂度增加,本申请实施例直接利用已知的、该编码单元对应的参考编码单元的位移矢量来计算该编码单元的位移矢量,充分利用了已知信息,降低了视频编码的复杂度,有助于视频编码效率的提升。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的视频编码过程的基本流程图;
图2是本申请一个实施例提供的不同划分方式的示意图;
图3是本申请一个实施例提供的划分待编码图像块的示意图;
图4是本申请另一个实施例提供的划分待编码图像块的示意图;
图5是本申请一个实施例提供的通信系统的简化框图;
图6是本申请一个实施例提供的视频编码器和视频解码器在流式传输环境中的放置方式的示意图;
图7是本申请一个实施例提供的编码单元的运动估计方法的流程图;
图8是本申请一个实施例提供的参考编码单元的选择示意图;
图9是本申请一个实施例提供的编码单元的运动估计装置的框图;
图10是本申请另一个实施例提供的编码单元的运动估计装置的框图;
图11是本申请一个实施例提供的计算机设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,结合图1对视频编码技术进行简单介绍。请参考图1,其示出了本申请一个实施例提供的视频编码过程的基本流程图。
视频信号是指包括多个帧的图像序列。帧(frame)是视频信号空间信息的表示。以YUV模式为例,一个帧包括一个亮度样本矩阵(Y)和两个色度样本矩阵(Cb和Cr)。从视频信号的获取方式来看,可以分为摄像机拍摄到的以及计算机生成的两种方式。由于视频信号数字化后数据带宽很高,计算机设备难以直接对之进行存储和处理,因而需要采用视频压缩技术来降低视频信号的数据带宽。视频压缩技术是通过视频编码来实现的,由于统计特性的不同,其对应的视频编码方式也可能有所区别。
在一些主流的视频编码技术中,如H.265/HEVC标准、H.266/VVC标准、AVS(如AVS3)中,采用了混合编码框架,对输入的原始视频信号进行如下一系列的操作和处理:
1、块划分结构(Block Partition Structure):输入图像划分成若干个不重叠的处理单元,每个处理单元将进行类似的压缩操作。这个处理单元被称作CTU(Coding TreeUnit,编码树单元),或者LCU(Large Coding Unit,最大编码单元)。CTU再往下,可以继续进行更加细粒度的划分,得到一个或多个基本编码的单元,称之为CU(Coding Unit,编码单元)。以下描述的是对每一个CU可能采用的各种编码方式。
2、预测编码(Predictive Coding):包括了帧内预测和帧间预测等方式,原始视频信号经过选定的已重建视频信号的预测后,得到残差视频信号。编码端需要为当前CU决定在众多可能的预测编码模式中,选择最适合的一种,并告知解码端。其中,帧内预测是指预测的信号来自于同一图像内已经编码重建过的区域。帧间预测是指预测的信号来自已经编码过的,不同于当前图像的其他图像(称之为参考图像)。
3、变换编码及量化(Transform&Quantization):残差视频信号经过DFT(DiscreteFourier Transform,离散傅里叶变换)、DCT(Discrete Cosine Transform,离散余弦变换)等变换操作,将信号转换到变换域中,称之为变换系数。在变换域中的信号,进一步进行有损的量化操作,丢失掉一定的信息,使得量化后的信号有利于压缩表达。在一些视频编码标准中,可能有多于一种变换方式可以选择,因此,编码端也需要为当前CU选择其中的一种变换,并告知解码端。量化的精细程度通常由量化参数来决定。QP(Quantization Parameter,量化参数)取值较大,表示更大取值范围的系数将被量化为同一个输出,因此通常会带来更大的失真,及较低的码率;相反,QP取值较小,表示较小取值范围的系数将被量化为同一个输出,因此通常会带来较小的失真,同时对应较高的码率。
4、熵编码(Entropy Coding)或统计编码:量化后的变换域信号,将根据各个值出现的频率,进行统计压缩编码,最后输出二值化(0或者1)的压缩码流。同时,编码产生其他信息,例如选择的模式、运动矢量等,也需要进行熵编码以降低码率。统计编码是一种无损编码方式,可以有效的降低表达同样的信号所需要的码率。常见的统计编码方式有变长编码(Variable Length Coding,简称VLC)或者基于上下文的二值化算术编码(ContentAdaptive Binary Arithmetic Coding,简称CABAC)。
5、环路滤波(Loop Filtering):已经编码过的图像,经过反量化、反变换及预测补偿的操作(上述2~4的反向操作),可获得重建的解码图像。重建图像与原始图像相比,由于存在量化的影响,部分信息与原始图像有所不同,产生失真(distortion)。对重建图像进行滤波操作,例如去块效应滤波(deblocking),SAO(Sample Adaptive Offset,样本自适应偏移量)或者ALF(Adaptive Lattice Filter,自适应格型滤波器)等滤波器,可以有效的降低量化所产生的失真程度。由于这些经过滤波后的重建图像,将作为后续编码图像的参考,用于对将来的信号进行预测,所以上述的滤波操作也被称为环路滤波,及在编码环路内的滤波操作。
由上述“块划分结构”的介绍说明可知,在进行视频编码的过程中,视频信号中的一帧图像可以被分割成互不重叠的CTU,通常,可以将CTU称为待编码图像块。可选地,一个CTU的块尺寸可以设置为64×64、128×128等,本申请实施例对CTU的块尺寸大小不作限定。示例性地,块尺寸为128×128的CTU可以是包含128列的矩阵像素点阵,每一列包含128个像素,每个像素包含亮度分量和/或色度分量。CTU再往下,可以继续进行更细粒度的划分,得到一组CU,该一组CU里面可以包含一个或多个CU。对待编码图像块CTU的划分,可以采用QT、BT(如HBT(Horizontal Binary Tree,水平二叉树)、VBT(Vertical Binary Tree,垂直二叉树))、EQT(如HEQT(Horizontal Extended Quad Tree,水平扩展四叉树)、VEQT(VerticalExtended Quad Tree,垂直扩展四叉树))、TT(如HTT(Horizontal Ternary Tree,水平三叉树)、VTT(Vertical Ternary Tree,垂直三叉树))等划分方式中的一种划分方式或多种划分方式的组合。下面结合图2对这几种划分方式进行介绍说明。
针对某一编码图像块CTU,可以将该CTU作为根节点(root),划分成若干叶节点(Leaf Node)。一个节点对应于一个图像区域,如果某一节点不再继续划分,则将该节点称为叶节点,且其所对应的图像区域就形成一个CU;如果该节点继续划分,则可以采用上述一种划分方式或多种划分方式的组合将该节点划分为多个子区域,每个子区域对应一个子节点,之后需要分别确定这些子节点是否还会继续划分。示例性地,假设根节点的划分层级为0,则子节点的划分层级可以为父节点的划分层级加1。在视频编码过程中,通常编码器设置有CU的最小块尺寸,在划分过程中,若某一节点的块尺寸等于该最小块尺寸,则该节点默认不再继续划分。为了便于表述,下文中将“节点对应的图像区域”简称为“节点”。
1、QT划分方式。
针对某一节点,可以采用QT划分方式将该节点划分为4个子节点。如图2(a)所示,按照QT划分方式可以将该节点划分成四个相同块尺寸的子节点(各个子节点的宽相同、高也相同,且宽为划分前节点的宽的一半,高为划分前节点的高的一半)。
例如,对于块尺寸为64×64的节点,若不再继续划分该节点,则该节点直接成为1个块尺寸为64×64的CU;若继续划分该节点,则可以按照QT划分方式将该节点划分为4个块尺寸为32×32的节点。对于这4个块尺寸为32×32的节点中的某一节点,若继续划分该节点,则产生4个块尺寸为16×16的节点。
2、BT划分方式。
针对某一节点,可以采用BT划分方式将该节点划分成2个子节点。可选地,BT划分方式包括两种类型:HBT划分方式和VBT划分方式。其中,如图2(b)所示,HBT划分方式是将节点划分成上、下两个相同块尺寸的子节点(各个子节点的宽相同、高也相同,且宽等于划分前节点的宽,高为划分前节点的高的一半);如图2(c)所示,VBT是将节点划分成左、右两个相同大小的子节点(各个子节点的宽相同、高也相同,且宽为划分前节点的宽的一半,高等于划分前节点的高)。
例如,对于块尺寸为64×64的节点,若不再继续划分该节点,则该节点直接成为1个块尺寸为64×64的CU;若继续划分该节点,则可以按照HBT划分方式将该节点划分为2个块尺寸为64×32的节点,或者按照VBT划分方式将该节点划分为2个块尺寸为32×64的节点。
3、EQT划分方式。
针对某一节点,可以采用EQT划分方式将该节点划分为4个子节点。可选地,EQT划分方式包括两种类型:HEQT划分方式和VEQT划分方式。其中,如图2(d)所示,HEQT划分方式是将节点划分为上、中、下三个子区域,并将中间的子区域水平划分为中左、中右两个子节点(上、下这两个子节点的宽等于划分前节点的宽、高为划分前节点的高的四分之一,中左、中右这两个子节点的宽为划分前节点的宽的一半、高也为划分前节点的高的一半);如图2(e)所示,VEQT划分方式是将节点划分为左、中、右三个子区域,并且将中间的子区域垂直划分为中上、中下这两个子节点(左、右这两个子节点的宽为划分前节点的宽的四分之一、高等于划分前节点的高,中上、中下这两个子节点的宽为划分前节点的宽的二分之一,高为划分前节点的高的二分之一)。
例如,对于块尺寸为64×64的节点,若不再继续划分该节点,则该节点直接成为1个块尺寸为64×64的CU;若继续划分该节点,则可以按照HEQT划分方式将该节点划分为4个节点,这4个节点的块尺寸分别为64×16、32×32、32×32以及64×16,或者按照VEQT划分方式将该节点划分为4个子节点,这4个子节点的块尺寸分别为16×64、32×32、32×32以及16×64。
4、TT划分方式。
针对某一节点,可以采用TT划分方式将该节点划分为3个子节点。可选地,TT划分方式包括两种类型:HTT划分方式和VTT划分方式。其中,如图2(f)所示,HTT划分方式是将节点划分成上、中、下三个子节点(上、下这两个子节点的宽等于划分前节点的宽、高为划分前节点的高的四分之一,中这一节点的宽等于划分前节点的宽、高为划分前节点的高的一半);如图2(g)所示,VTT是将节点划分成左、中、右三个子节点(左、右这两个子节点的宽为划分前节点的宽的四分之一、高等于划分前节点的高,中这一节点的宽为划分前节点的宽的一半、高等于划分前节点的宽)。
在视频编码过程中,可以直接使用上述一种划分方式将待编码图像块CTU递归划分形成多个CU,如图3(a)所示,使用上述QT划分方式将CTU递归划分形成多个CU,或者如图3(b)所示,使用上述EQT划分方式将CTU递归划分形成多个CU;也可以使用上述多种划分方式的组合将待编码图像块CTU划分形成多个CU,如图3(c)所示,使用上述QT划分方式和BT划分方式(以下称为“QTBT划分方式”)将CTU划分为多个CU,或者如图3(d)所示,使用上述QT划分方式和EQT划分方式将CTU划分为多个CU。在使用多种划分方式的组合对CTU进行划分的情况下,需要注意:使用BT划分方式得到的节点可以继续使用EQT划分方式,但是不可以继续使用QT划分方式。
在相关技术中,为了比较各种划分方式的RD代价,需要对各种划分方式得到的CU进行ME,以计算各个CU的位移矢量。本申请实施例中,在不同的预测模式下及不同的实现,位移矢量可能有不同的名称,本文统一按照以下方式进行描述:帧间预测模式中的位移矢量称为运动矢量(Motion Vector,MV);IBC预测模式中的位移矢量称为块矢量(BlockVector,BV);ISC(Intra String Copy,帧内串复制)预测模式中的位移矢量称为串矢量(String Vector,SV)。其中,帧内串复制也称作“串预测”或“串匹配”等。
示例性地,在采用第一划分方式对待编码图像块进行划分之后,对划分得到的CU进行ME,计算各个CU的位移矢量,然后采用第二划分方式对待编码图像块进行划分,并对划分得到的CU进行ME。相关技术中,对采用第二划分方式得到CU进行ME时,若该CU可以通过第一划分方式得到,则不再对该CU进行ME;若该CU无法通过第一划分方式得到,则需要对该CU重新进行ME。
假设第一划分方式为QT划分方式和BT划分方式的结合,第二划分方式为QT划分方式和EQT划分方式的结合。如图4(a)所示,先采用第一划分方式对待编码图像块CTU进行划分,得到多个CU,然后采用第二划分方式对该CTU进行划分,也得到多个CU,如图4(b)所示,对于采用第二划分方式得到的CU中的第一CU,由于该第一CU可以通过第一划分方式得到,不需要对该第一CU进行ME;对于采用第二划分方式得到的CU中的第二CU,由于该第二CU无法通过第一划分方式得到,因而需要对该第二CU重新进行ME,这样会导致视频编码的复杂度增加,不利于视频编码效率的提升。
为了降低视频编码的复杂度、提升视频编码的效率,本申请实施例提出了一种编码单元的运动估计方法,该方法利用其它划分方式得到的CU的位移矢量来对某一划分方式得到的CU进行ME,从而利用已有信息直接计算该划分方式得到的CU的位移矢量,无需重新进行ME。
请参考图5,其示出了本申请一个实施例提供的通信系统的简化框图。通信系统200包括多个设备,所述设备可通过例如网络250彼此通信。举例来说,通信系统200包括通过网络250互连的第一设备210和第二设备220。在图5的实施例中,第一设备210和第二设备220执行单向数据传输。举例来说,第一设备210可对视频数据例如由第一设备210采集的视频图片流进行编码以通过网络250传输到第二设备220。已编码的视频数据以一个或多个已编码视频码流形式传输。第二设备220可从网络250接收已编码视频数据,对已编码视频数据进行解码以恢复视频数据,并根据恢复的视频数据显示视频图片。单向数据传输在媒体服务等应用中是较常见的。
在另一实施例中,通信系统200包括执行已编码视频数据的双向传输的第三设备230和第四设备240,所述双向传输可例如在视频会议期间发生。对于双向数据传输,第三设备230和第四设备240中的每个设备可对视频数据(例如由设备采集的视频图片流)进行编码,以通过网络250传输到第三设备230和第四设备240中的另一设备。第三设备230和第四设备240中的每个设备还可接收由第三设备230和第四设备240中的另一设备传输的已编码视频数据,且可对所述已编码视频数据进行解码以恢复视频数据,且可根据恢复的视频数据在可访问的显示装置上显示视频图片。
在图5的实施例中,第一设备210、第二设备220、第三设备230和第四设备240可为服务器、个人计算机和智能电话等计算机设备,但本申请公开的原理可不限于此。本申请实施例适用于PC(Personal Computer,个人计算机)、手机、平板电脑、媒体播放器和/或专用视频会议设备。网络250表示在第一设备210、第二设备220、第三设备230和第四设备240之间传送已编码视频数据的任何数目的网络,包括例如有线连线的和/或无线通信网络。通信网络250可在电路交换和/或分组交换信道中交换数据。该网络可包括电信网络、局域网、广域网和/或互联网。出于本申请的目的,除非在下文中有所解释,否则网络250的架构和拓扑对于本申请公开的操作来说可能是无关紧要的。
作为实施例,图6示出视频编码器和视频解码器在流式传输环境中的放置方式。本申请所公开主题可同等地适用于其它支持视频的应用,包括例如视频会议、数字TV(电视)、在包括CD(Compact Disc,光盘)、DVD(Digital Versatile Disc,数字通用光盘)、存储棒等的数字介质上存储压缩视频等等。
流式传输系统可包括采集子系统313,所述采集子系统可包括数码相机等视频源301,所述视频源创建未压缩的视频图片流302。在实施例中,视频图片流302包括由数码相机拍摄的样本。相较于已编码的视频数据304(或已编码的视频码流),视频图片流302被描绘为粗线以强调高数据量的视频图片流,视频图片流302可由电子装置320处理,所述电子装置320包括耦接到视频源301的视频编码器303。视频编码器303可包括硬件、软件或软硬件组合以实现或实施如下文更详细地描述的所公开主题的各方面。相较于视频图片流302,已编码的视频数据304(或已编码的视频码流304)被描绘为细线以强调较低数据量的已编码的视频数据304(或已编码的视频码流304),其可存储在流式传输服务器305上以供将来使用。一个或多个流式传输客户端子系统,例如图6中的客户端子系统306和客户端子系统308,可访问流式传输服务器305以检索已编码的视频数据304的副本307和副本309。客户端子系统306可包括例如电子装置330中的视频解码器310。视频解码器310对已编码的视频数据的传入副本307进行解码,且产生可在显示器312(例如显示屏)或另一呈现装置(未描绘)上呈现的输出视频图片流311。在一些流式传输系统中,可根据某些视频编码/压缩标准对已编码的视频数据304、副本307和副本309(例如视频码流)进行编码。
应注意,电子装置320和电子装置330可包括其它组件(未示出)。举例来说,电子装置320可包括视频解码器(未示出),且电子装置330还可包括视频编码器(未示出)。其中,视频解码器用于对接收到的已编码视频数据进行解码;视频编码器用于对视频数据进行编码。
需要说明的一点是,本申请实施例提供的技术方案可以应用于H.266/VVC标准、H.265/HEVC标准、AVS(如AVS3)或者下一代视频编解码标准中,本申请实施例对此不作限定。
还需要说明的一点是,本申请实施例提供的视频编解码中的编码单元的索引值确定方法,各步骤的执行主体可以是编码端设备。在视频编码的过程中,可以采用本申请实施例提供的技术方案,对编码单元的索引值进行确定。编码端设备可以是计算机设备,该计算机设备是指具备数据计算、处理和存储能力的电子设备,如PC、手机、平板电脑、媒体播放器、专用视频会议设备、服务器等等。另外,本申请所提供的方法可以单独使用或以任意顺序与其他方法合并使用。基于本申请所提供方法的编码器,可以由1个或多个处理器或是1个或多个集成电路来实现。
下面,通过几个实施例对本申请技术方案进行介绍说明。
请参考图7,其示出了本申请一个实施例提供的编码单元的运动估计方法的流程图。为了便于说明,仅以各步骤执行主体为计算机设备进行介绍说明。该方法可以包括如下几个步骤(710~750):
步骤710,采用第一划分方式对目标编码块进行划分,得到多个第一编码单元。
目标编码块是指视频编码过程中的待编码图像块。由上述“块划分结构”的介绍说明可知,在进行视频编码的过程中,视频信号中的一帧图像可以被分割成互不重叠的CTU,通常,可以将CTU称为待编码图像块,也即目标编码块。本申请实施例对目标编码块的形状不作限定,通常,目标编码块为方形,也即,目标编码块的宽和高相等。本申请实施例对目标编码块的块尺寸大小不作限定,可选地,目标编码块的尺寸为64×64或128×128,实际应用中,目标编码块的尺寸可以结合视频编码器所允许的最大编码块的块尺寸确定,例如,视频编码器所允许的最大编码块的块尺寸为128×128,则目标编码块的块尺寸小于或等于128×128。
计算机设备可以采用第一划分方式将上述目标编码块(CTU)划分为多个第一编码单元(CU)。本申请实施例对第一划分方式的数量不作限定,可选地,第一划分方式包含一种划分目标编码块的划分方式,或者,第一划分方式包含多种划分目标编码块的划分方式。本申请实施例对第一划分方式的类型不作限定,可选地,第一划分方式包括QT划分方式和BT划分方式中的至少一种,例如,第一划分方式为QT划分方式;或者,第一划分方式为BT划分方式;或者,第一划分方式为QTBT划分方式。
步骤720,采用第二划分方式对目标编码块进行划分,得到多个第二编码单元。
计算机设备可以采用第二划分方式将上述目标编码块(CTU)划分为多个第二编码单元(CU)。本申请实施例对第二划分方式的数量不作限定,可选地,第二划分方式包含一种划分目标编码块的划分方式,或者,第二划分方式包含多种划分目标编码块的划分方式。本申请实施例对第二划分方式的类型不作限定,可选地,第二划分方式包括EQT划分方式和TT划分方式中的至少一种,例如,第二划分方式为EQT划分方式;或者,第二划分方式为TT划分方式。
在一个示例中,第二划分方式可以包含第一划分方式,或者包含第一划分方式中的部分划分方式,也即,本申请实施例中,第二划分方式除了包含EQT划分方式或TT划分方式之外,还可以包含其它划分方式,例如,第二划分方式为QT划分方式和EQT划分方式;或者,第二划分方式为BT划分方式和EQT划分方式;或者,第二划分方式为QT划分方式、BT划分方式和EQT划分方式。
需要说明的一点是,本申请实施例对步骤710和步骤720的执行先后顺序不作限定,可选地,步骤710在步骤720之前执行;或者,步骤710在步骤720之后执行;或者,步骤710和步骤720同时执行。由于下述在确定步骤720得到的第二编码单元中的目标编码单元的位移矢量时,需要依据步骤710得到的第一编码单元中的参考编码单元的位移矢量,因此,图7仅以步骤710在步骤720之前执行为例进行举例说明,应理解,这不应当构成对本申请实施例的限定。
步骤730,对于多个第二编码单元中的目标编码单元,基于多个第一编码单元确定目标编码单元对应的参考编码单元,目标编码单元是多个第二编码单元中不同于多个第一编码单元的编码单元。
由于第一划分方式和第二划分方式中包含的划分方式的不同,因而,通过第二划分方式得到的第二编码单元中可能存在通过第一划分方式无法得到的编码单元,例如,在第一划分方式为QTBT划分方式、第二划分方式为EQT划分方式的情况下,通过QTBT划分方式对目标编码块进行划分得到多个第一编码单元,通过EQT划分方式对目标编码块进行划分得到多个第二编码单元,这多个第二编码单元中存在一些不同于多个第一编码单元的编码单元,也即,通过EQT划分方式得到的编码单元中存在一些无法通过QTBT划分方式得到的编码单元。
计算机设备可以从多个第二编码单元中确定不同于多个第一编码单元的编码单元,并将其确定为目标编码单元。本申请实施例对目标编码单元的数量不作限定,可选地,目标编码单元的数量为一个;或者,目标编码单元的数量为多个。在目标编码单元的数量为多个的情况下,本申请实施例对目标编码单元的块尺寸大小不作限定,可选地,该目标编码单元的块尺寸均相同;或者,该目标编码单元的块尺寸均不相同;或者,该目标编码单元中部分编码单元的块尺寸相同,部分编码单元的块尺寸不相同。在目标编码单元的数量为多个的情况下,计算机设备可以对该目标编码单元进行逐一处理,也可以并行对该目标编码单元进行处理,本申请实施例对此不作限定。下述方法实施例中,以目标编码单元的数量为一个为例进行举例说明,应理解,这并不构成对本申请的技术方案的限定。
对于目标编码单元,计算机设备可以基于上述多个第一编码单元确定该目标编码单元对应的参考编码单元。本申请实施例对参考编码单元的数量不作限定,可选地,参考编码单元的数量为一个;或者,参考编码单元的数量为多个。本申请实施例对参考编码单元的块尺寸大小不作限定,可选地,参考编码单元的块尺寸等于目标编码单元的块尺寸,通过使用相同块尺寸的参考编码单元的位移示例来确定目标编码单元的位移矢量,可以提升目标编码单元的位移矢量的准确性。本申请实施例对参考编码单元的位置和目标编码单元的位置之间的关系不作限定,可选地,参考编码单元是第一编码单元中与目标编码单元相邻的编码单元;或者,参考编码单元是第一编码单元中与目标编码单元之间的距离小于一定阈值的编码单元。有关参考编码单元的确定过程请参见下述实施例,此处不多赘述。
步骤740,获取参考编码单元的位移矢量。
在确定了参考编码单元之后,计算机设备可以获取该参考编码单元在运动估计过程中计算的位移矢量。有关位移矢量的介绍说明,请参见上述实施例,此处不多赘述。
本申请实施例对参考编码单元的位移矢量的获取方式不作限定,可选地,计算机设备直接对该参考编码单元进行运动估计,以获取该参考编码单元的位移矢量;或者,计算机设备从参考编码单元的内存位置上读取事先计算的参考编码单元的位移矢量。例如,计算机设备在对参考编码单元进行运动估计之后,将参考编码单元的位移矢量存储在该参考编码单元的内存位置上,后续计算机设备从该参考编码单元的内存位置上读取参考编码单元的位移矢量。本申请实施例对计算机设备计算参考编码单元的位移矢量的时机不作限定,可选地,计算机设备在通过第一划分方式对目标编码块进行划分得到多个第一编码单元之后,对该第一编码单元进行运动估计,计算该第一编码单元的位移矢量,从而得到参考编码单元的位移矢量;或者,计算机设备在基于多个第一编码单元确定出参考编码单元之后,对该参考编码单元进行运动估计,计算该参考编码单元的位移矢量。
步骤750,根据参考编码单元的位移矢量,确定目标编码单元的位移矢量。
计算机设备可以参考编码单元的位移矢量为参考,确定目标编码单元的位移矢量。本申请实施例对目标编码单元的位移矢量的确定方式不作限定,可选地,计算机设备将参考编码单元的位移矢量的平均值作为目标编码单元的位移矢量;或者,计算机设备对参考编码单元的位移矢量进行加权求和处理,以得到目标编码单元的位移矢量。有关目标编码单元的位移矢量的确定过程请参见下述实施例,此处不多赘述。
综上所述,本申请实施例提供的技术方案,通过采用某一划分方式对待编码图像块进行划分得到多个编码单元,对于这多个编码单元中无法通过其它划分方式得到的编码单元,基于采用其它划分方式得到的编码单元确定该编码单元对应的参考编码单元,然后依据该参考编码单元的位移矢量计算该编码单元的位移矢量。由于计算机设备在确定该编码单元的位移矢量之前,先对采用其它划分方式得到的编码单元进行了运动估计,该编码单元对应的参考编码单元的位移矢量已知,相比于对该编码单元重新进行运动估计会导致视频编码的复杂度增加,本申请实施例直接利用已知的、该编码单元对应的参考编码单元的位移矢量来计算该编码单元的位移矢量,充分利用了已知信息,降低了视频编码的复杂度,有助于视频编码效率的提升。
下面对目标编码单元的位移矢量的确定过程进行介绍说明。
在一个示例中,参考编码单元的数量为n,n为正整数;上述步骤750包括如下几个步骤:
(1)获取n个参考编码单元的位移矢量分别对应的权重值,得到n个权重值。
本申请实施例中,每一个参考编码单元的位移矢量均对应有一个权重值。在只有一个参考编码单元的情况下,该参考编码单元的位移矢量对应的权重值可以设置为1。在有多个参考编码单元的情况下,各个参考编码单元的位移矢量对应的权重值可以相同,也可以不相同,本申请实施例对此不作限定。
由于参考编码单元的数量为n,且每一个参考编码单元的位移矢量均对应有一个权重值,则一共有n个权重值。本申请实施例对这n个权重值的获取方式不作限定,可选地,针对每一个参考编码单元,预先设置有该参考编码单元的位移矢量对应的权重值并存储在计算机设备中,计算机设备直接从内存中获取n个权重值;或者,计算机设备根据参考编码单元与目标编码单元之间的距离,即时确定n个权重值,示例性地,计算机设备获取n个参考编码单元分别与目标编码单元之间的距离,得到n个距离值;根据n个距离值确定n个权重值。本申请实施例对参考编码单元与目标编码单元之间的距离的计算方式不作限定,可选地,计算机设备将参考编码单元的中心与目标编码单元的中心之间的距离作为参考编码单元与目标编码单元之间的距离;或者,计算机设备将参考编码单元的左上顶点与目标编码单元的左上顶点之间的距离作为参考编码单元与目标编码单元之间的距离。
可选地,计算机设备根据n个距离值确定n个权重值的情况下,距离值与权重值之间呈负相关关系,也即,距离值越小,权重值越大;距离值越大,权重值越小。示例性地,上述根据n个距离值确定n个权重值,包括:根据n个距离值计算距离比,距离比用于指示n个距离值之间的大小关系,距离比包括n个项;按照距离比确定n个权重值;其中,n个项中第i个项与n个权重值中第i个权重值之间呈负相关关系,i为小于或等于n的正整数。
通过计算距离比,可以明确n个距离值之间的比例关系,便于确定n个权重值。本申请实施例中,n个权重值之和为1,结合距离比,计算机设备可以确定n个权重值。为了确保目标编码单元的位移矢量的准确性,本申请实施例中,距离目标编码单元越近的参考编码单元,它的位移矢量的权重值越大,也即,距离比中各个项与该项对应的权重值之间呈负相关关系,该项越小,该项对应的权重值越大。例如,假设n的取值为3,且距离比为1:2:1,则n个权重值分别为0.25、0.5和0.25。
(2)根据n个参考编码单元的位移矢量以及n个权重值,确定目标编码单元的位移矢量。
计算机设备可以根据n个参考编码单元的位移矢量以及n个权重值,计算目标编码单元的位移矢量。可选地,计算机设备将n个参考编码单元的位移矢量中的各个位移矢量与其对应的权重值相乘,得到n个乘积,并将n个乘积相加,得到目标编码单元的位移矢量。例如,以位移矢量为运动矢量为例,假设n个权重值为λi,n个参考编码单元的位移矢量为MVi,其中,i为小于或等于n、且大于或等于1的整数,则目标编码单元的位移矢量MV0计算公式如下所示:
Figure BDA0002596981770000161
综上所述,本申请实施例提供的技术方案,通过为某一编码单元对应的每个参考编码单元的位移矢量分配权重值,并根据参考编码单元的位移矢量及其对应的权重值,确定该编码单元的位移矢量,充分考虑了不同的参考编码单元的位移矢量与该编码单元的位移矢量之间的相似程度。并且,本申请实施例中,距离该编码单元较近的参考编码单元,它的位移矢量的权重值较大,由于编码单元越接近,它们的位移矢量也就越相似,通过根据距离确定权重值可以确保目标编码单元的位移矢量的准确性。
下面对参考编码单元的确定过程进行介绍说明。
在一个示例中,上述步骤730包括:将多个第一编码单元中满足第一条件的编码单元,确定为参考编码单元。
本申请实施例中,可以为参考编码单元的选取设定第一条件,然后将多个第一编码单元中满足第一条件的编码单元确定为参考编码单元。可选地,第一条件是预先设置的,例如,预先设置第一条件为参考编码单元与目标编码单元之间的距离小于预设阈值;或者,第一条件是计算机设备根据目标编码单元即时确定的,例如,根据目标编码单元的块尺寸,即时确定第一条件为块尺寸等于目标编码单元的块尺寸。
示例性地,上述将多个第一编码单元中满足第一条件的编码单元,确定为参考编码单元,包括:获取目标编码单元的块尺寸;从多个第一编码单元中选择块尺寸与目标编码单元的块尺寸相同的编码单元,作为参考编码单元。
也即,参考编码单元的块尺寸等于目标编码单元的块尺寸。计算机设备先获取目标编码单元的块尺寸,然后以目标编码单元的块尺寸为第一条件,从多个第一编码单元中选择块尺寸等于目标编码单元的块尺寸的编码单元作为参考编码单元。
示例性地,上述将多个第一编码单元中满足第一条件的编码单元,确定为参考编码单元,包括:获取目标编码单元的块尺寸;根据目标编码单元的块尺寸,确定候选编码单元集合,候选编码单元集合包括多个第一编码单元中块尺寸与目标编码单元的块尺寸相同的编码单元;获取候选编码单元集合中各个编码单元与目标编码单元之间的距离;从候选编码单元集合中选择与目标编码单元之间的距离满足第二条件的编码单元,作为参考编码单元。
也即,参考编码单元的块尺寸等于目标编码单元的块尺寸,且参考编码单元与目标编码单元之间的距离满足一定的条件。计算机设备先获取目标编码单元的块尺寸,然后根据目标编码单元的块尺寸对第一编码单元进行筛选,将块尺寸等于目标编码单元的块尺寸的编码单元组成候选编码单元集合。接着,在确定候选编码单元集合中各个编码单元与目标编码单元之间的距离,再根据距离从候选编码单元集合中选择参考编码单元。
可选地,上述从候选编码单元集合中选择与目标编码单元之间的距离满足第二条件的编码单元,作为参考编码单元,包括:将候选编码单元集合中与目标编码单元之间的距离小于距离阈值的编码单元,确定为参考编码单元。本申请实施例对距离阈值的确定时机不作限定,可选地,距离阈值为预先设定的,例如,计算机设备预先设置有距离阈值;或者,距离阈值为计算机设备即时确定的,例如,计算机设备根据目标编码单元的块尺寸和/或候选编码单元集合中编码单元的数量即时确定距离阈值。可选地,不同块尺寸的目标编码单元对应的距离阈值可以相同,也可以不相同,本申请实施例对此不作限定。
可选地,上述从候选编码单元集合中选择与目标编码单元之间的距离满足第二条件的编码单元,作为参考编码单元,包括:对候选编码单元集合中各个编码单元与目标编码单元之间的距离进行排序,得到排序后距离;将排序后距离中较小的k个距离对应的编码单元,确定为参考编码单元,k为正整数。本申请实施例对k的取值不作限定,可选地,k为预设的取值,例如,计算机设备预先设置有k;或者,k的取值为计算机设备即时确定的,例如,计算机设备根据目标编码单元的块尺寸和/或候选编码单元集合中编码单元的数量即时确定k的取值。可选地,计算机设备按照候选编码单元集合中各个编码单元与目标编码单元之间的距离从小至大的顺序,对候选编码单元集合中各个编码单元进行排序,得到排序后的编码单元;然后将排序后的编码单元中前k个编码单元确定为参考编码单元;或者,计算机设备按照候选编码单元集合中各个编码单元与目标编码单元之间的距离从大至小的顺序,对候选编码单元集合中各个编码单元进行排序,得到排序后的编码单元;然后将排序后的编码单元中后k个编码单元确定为参考编码单元。通过对候选编码单元集合中各个编码单元进行排序,便于快速选取参考编码单元。
例如,如图8所示,假设第一划分方式为QT划分方式,第二划分方式为EQT划分方式,通过EQT划分方式得到的编码单元CU0无法通过QT划分方式得到,为了确定CU0的位移矢量,计算机设备需要从QT划分方式得到的多个第一编码单元中选择参考编码单元。首先,计算机设备从第一编码单元中选择块尺寸与CU0的块尺寸相同的编码单元,如图8所示,此时,计算机设备从第一编码单元中选择出CU1至CU12,并将CU1和CU12组成候选编码单元集合。然后,再依据CU1至CU12中各个编码单元至CU0之间的距离,选择参考编码单元,例如,选择距离小于CU0的宽且小于CU0的高的编码单元,作为参考编码单元,如图8所示,此时选择出CU1至CU6作为参考编码单元。最后,根据CU1至CU6中各个编码单元与CU0之间的距离,确定CU1至CU6中各个编码单元的位移矢量的权重值,然后根据CU1至CU6中各个编码单元的位移矢量及其权重值,确定CU0的权重值。
综上所述,本申请实施例提供的技术方案,通过为某一编码单元对应的参考编码单元的选取设置一定的条件,以确保选取出的参考编码单元的位移矢量与该编码单元的位移矢量之间存在相似性。并且,由于块尺寸相同的编码单元的位移矢量较为相似,本申请实施例通过选择块尺寸与该编码单元的块尺寸相同的参考编码单元,提升了该编码单元的位移矢量的准确性。另外,由于距离接近的编码单元的位移矢量之间更为相似,本申请实施例通过从块尺寸与该编码单元的块尺寸相同的编码单元中,选择与该编码单元接近的编码单元作为参考编码单元,可以进一步提升该编码单元的位移矢量的准确性。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图9,其示出了本申请一个实施例提供的编码单元的运动估计装置的框图。该装置具有实现上述编码单元的运动估计方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上文介绍的计算机设备,也可以设置在计算机设备上。该装置900可以包括:第一划分模块910、第二划分模块920、单元确定模块930、矢量获取模块940和矢量确定模块950。
第一划分模块910,用于采用第一划分方式对目标编码块进行划分,得到多个第一编码单元。
第二划分模块920,用于采用第二划分方式对所述目标编码块进行划分,得到多个第二编码单元。
单元确定模块930,用于对于所述多个第二编码单元中的目标编码单元,基于所述多个第一编码单元确定所述目标编码单元对应的参考编码单元,所述目标编码单元是所述多个第二编码单元中不同于所述多个第一编码单元的编码单元。
矢量获取模块940,用于获取所述参考编码单元的位移矢量。
矢量确定模块950,用于根据所述参考编码单元的位移矢量,确定所述目标编码单元的位移矢量。
在一个示例中,所述参考编码单元的数量为n,所述n为正整数;如图10所示,所述矢量确定模块950,包括:权重获取子模块952,用于获取所述n个参考编码单元的位移矢量分别对应的权重值,得到n个权重值;矢量确定子模块954,用于根据所述n个参考编码单元的位移矢量以及所述n个权重值,确定所述目标编码单元的位移矢量。
在一个示例中,如图10所示,所述权重获取子模块952,包括:距离获取单元9522,用于获取所述n个参考编码单元分别与所述目标编码单元之间的距离,得到n个距离值;权重确定单元9524,用于根据所述n个距离值确定所述n个权重值。
在一个示例中,如图10所示,权重确定单元9524,用于:根据所述n个距离值计算距离比,所述距离比用于指示所述n个距离值之间的大小关系,所述距离比包括n个项;按照所述距离比确定所述n个权重值;其中,所述n个项中第i个项与所述n个权重值中第i个权重值之间呈负相关关系,所述i为小于或等于n的正整数。
在一个示例中,所述单元确定模块930,用于:将所述多个第一编码单元中满足第一条件的编码单元,确定为所述参考编码单元。
在一个示例中,所述单元确定模块930,用于:获取所述目标编码单元的块尺寸;从所述多个第一编码单元中选择块尺寸与所述目标编码单元的块尺寸相同的编码单元,作为所述参考编码单元。
在一个示例中,如图10所示,所述单元确定模块930,包括:尺寸获取子模块932,用于获取所述目标编码单元的块尺寸;集合确定子模块934,用于根据所述目标编码单元的块尺寸,确定候选编码单元集合,所述候选编码单元集合包括所述多个第一编码单元中块尺寸与所述目标编码单元的块尺寸相同的编码单元;距离获取子模块936,用于获取所述候选编码单元集合中各个编码单元与所述目标编码单元之间的距离;单元确定子模块938,用于从所述候选编码单元集合中选择与所述目标编码单元之间的距离满足第二条件的编码单元,作为所述参考编码单元。
在一个示例中,如图10所示,所述单元确定子模块938,用于:将所述候选编码单元集合中与所述目标编码单元之间的距离小于距离阈值的编码单元,确定为所述参考编码单元。
在一个示例中,如图10所示,所述单元确定子模块938,用于:按照所述候选编码单元集合中各个编码单元与所述目标编码单元之间的距离从小到大的顺序,对所述候选编码单元集合中各个编码单元进行排序,得到排序后的编码单元;将所述排序后的编码单元中前k个编码单元,确定为所述参考编码单元,所述k为正整数;或者,按照所述候选编码单元集合中各个编码单元与所述目标编码单元之间的距离从大至小的顺序,对所述候选编码单元集合中各个编码单元进行排序,得到排序后的编码单元;将所述排序后的编码单元中后k个编码单元,确定为所述参考编码单元,所述k为正整数。
在一个示例中,所述第一划分方式包括四叉树QT划分方式和二叉树BT划分方式中的至少一种,所述第二划分方式包括扩展四叉树EQT划分方式和三叉树TT划分方式中的至少一种。
综上所述,本申请实施例提供的技术方案,通过采用某一划分方式对待编码图像块进行划分得到多个编码单元,对于这多个编码单元中无法通过其它划分方式得到的编码单元,基于采用其它划分方式得到的编码单元确定该编码单元对应的参考编码单元,然后依据该参考编码单元的位移矢量计算该编码单元的位移矢量。由于计算机设备在确定该编码单元的位移矢量之前,先对采用其它划分方式得到的编码单元进行了运动估计,该编码单元对应的参考编码单元的位移矢量已知,相比于对该编码单元重新进行运动估计会导致视频编码的复杂度增加,本申请实施例直接利用已知的、该编码单元对应的参考编码单元的位移矢量来计算该编码单元的位移矢量,充分利用了已知信息,降低了视频编码的复杂度,有助于视频编码效率的提升。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图11,其示出了本申请一个实施例提供的计算机设备的结构框图。该计算机设备可以是上文介绍的编码端设备。该计算机设备110可以包括:处理器111、存储器112、通信接口113、编码器/解码器114和总线115。
处理器111包括一个或者一个以上处理核心,处理器111通过运行软件程序以及模块,从而执行各种功能应用以及信息处理。
存储器112可用于存储计算机程序,处理器111用于执行该计算机程序,以实现上述编码单元的运动估计方法。
通信接口113可用于与其它设备进行通信,如收发音视频数据。
编码器/解码器114可用于实现编码和解码功能,如对音视频数据进行编码和解码。
存储器112通过总线115与处理器111相连。
此外,存储器112可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,易失性或非易失性存储设备包括但不限于:磁盘或光盘,EEPROM(ElectricallyErasable Programmable Read-Only Memory,电可擦除可编程只读存储器),EPROM(Erasable Programmable Read-Only Memory,可擦除可编程只读存储器),SRAM(StaticRandom-Access Memory,静态随时存取存储器),ROM(Read-Only Memory,只读存储器),磁存储器,快闪存储器,PROM(Programmable read-only memory,可编程只读存储器)。
本领域技术人员可以理解,图11中示出的结构并不构成对计算机设备110的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被处理器执行时实现上述编码单元的运动估计方法。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述编码单元的运动估计方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (12)

1.一种编码单元的运动估计方法,其特征在于,所述方法包括:
采用第一划分方式对目标编码块进行划分,得到多个第一编码单元;所述第一划分方式包括四叉树QT划分方式和二叉树BT划分方式中的至少一种;
采用第二划分方式对所述目标编码块进行划分,得到多个第二编码单元;所述第二划分方式包括扩展四叉树EQT划分方式和三叉树TT划分方式中的至少一种;
对于所述多个第二编码单元中的目标编码单元,基于所述多个第一编码单元确定所述目标编码单元对应的参考编码单元,所述目标编码单元是所述多个第二编码单元中不同于所述多个第一编码单元的编码单元;
获取所述参考编码单元的位移矢量;
根据所述参考编码单元的位移矢量,确定所述目标编码单元的位移矢量。
2.根据权利要求1所述的方法,其特征在于,所述参考编码单元的数量为n,所述n为正整数;
所述根据所述参考编码单元的位移矢量,确定所述目标编码单元的位移矢量,包括:
获取n个参考编码单元的位移矢量分别对应的权重值,得到n个权重值;
根据所述n个参考编码单元的位移矢量以及所述n个权重值,确定所述目标编码单元的位移矢量。
3.根据权利要求2所述的方法,其特征在于,所述获取n个参考编码单元的位移矢量分别对应的权重值,得到n个权重值,包括:
获取所述n个参考编码单元分别与所述目标编码单元之间的距离,得到n个距离值;
根据所述n个距离值确定所述n个权重值。
4.根据权利要求3所述的方法,其特征在于,所述根据所述n个距离值确定所述n个权重值,包括:
根据所述n个距离值计算距离比,所述距离比用于指示所述n个距离值之间的大小关系,所述距离比包括n个项;
按照所述距离比确定所述n个权重值;
其中,所述n个项中第i个项与所述n个权重值中第i个权重值之间呈负相关关系,所述i为小于或等于n的正整数。
5.根据权利要求1所述的方法,其特征在于,所述基于所述多个第一编码单元确定所述目标编码单元对应的参考编码单元,包括:
将所述多个第一编码单元中满足第一条件的编码单元,确定为所述参考编码单元。
6.根据权利要求5所述的方法,其特征在于,所述将所述多个第一编码单元中满足第一条件的编码单元,确定为所述参考编码单元,包括:
获取所述目标编码单元的块尺寸;
从所述多个第一编码单元中选择块尺寸与所述目标编码单元的块尺寸相同的编码单元,作为所述参考编码单元。
7.根据权利要求5所述的方法,其特征在于,所述将所述多个第一编码单元中满足第一条件的编码单元,确定为所述参考编码单元,包括:
获取所述目标编码单元的块尺寸;
根据所述目标编码单元的块尺寸,确定候选编码单元集合,所述候选编码单元集合包括所述多个第一编码单元中块尺寸与所述目标编码单元的块尺寸相同的编码单元;
获取所述候选编码单元集合中各个编码单元与所述目标编码单元之间的距离;
从所述候选编码单元集合中选择与所述目标编码单元之间的距离满足第二条件的编码单元,作为所述参考编码单元。
8.根据权利要求7所述的方法,其特征在于,所述从所述候选编码单元集合中选择与所述目标编码单元之间的距离满足第二条件的编码单元,作为所述参考编码单元,包括:
将所述候选编码单元集合中与所述目标编码单元之间的距离小于距离阈值的编码单元,确定为所述参考编码单元。
9.根据权利要求7所述的方法,其特征在于,所述从所述候选编码单元集合中选择与所述目标编码单元之间的距离满足第二条件的编码单元,作为所述参考编码单元,包括:
按照所述候选编码单元集合中各个编码单元与所述目标编码单元之间的距离从小到大的顺序,对所述候选编码单元集合中各个编码单元进行排序,得到排序后的编码单元;将所述排序后的编码单元中前k个编码单元,确定为所述参考编码单元,所述k为正整数;
或者,
按照所述候选编码单元集合中各个编码单元与所述目标编码单元之间的距离从大至小的顺序,对所述候选编码单元集合中各个编码单元进行排序,得到排序后的编码单元;将所述排序后的编码单元中后k个编码单元,确定为所述参考编码单元,所述k为正整数。
10.一种编码单元的运动估计装置,其特征在于,所述装置包括:
第一划分模块,用于采用第一划分方式对目标编码块进行划分,得到多个第一编码单元;所述第一划分方式包括四叉树QT划分方式和二叉树BT划分方式中的至少一种;
第二划分模块,用于采用第二划分方式对所述目标编码块进行划分,得到多个第二编码单元;所述第二划分方式包括扩展四叉树EQT划分方式和三叉树TT划分方式中的至少一种;
单元确定模块,用于对于所述多个第二编码单元中的目标编码单元,基于所述多个第一编码单元确定所述目标编码单元对应的参考编码单元,所述目标编码单元是所述多个第二编码单元中不同于所述多个第一编码单元的编码单元;
矢量获取模块,用于获取所述参考编码单元的位移矢量;
矢量确定模块,用于根据所述参考编码单元的位移矢量,确定所述目标编码单元的位移矢量。
11.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至9任一项所述的编码单元的运动估计方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至9任一项所述的编码单元的运动估计方法。
CN202010712393.4A 2020-07-22 2020-07-22 编码单元的运动估计方法、装置、设备及存储介质 Active CN111770345B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010712393.4A CN111770345B (zh) 2020-07-22 2020-07-22 编码单元的运动估计方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010712393.4A CN111770345B (zh) 2020-07-22 2020-07-22 编码单元的运动估计方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111770345A CN111770345A (zh) 2020-10-13
CN111770345B true CN111770345B (zh) 2022-02-22

Family

ID=72728633

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010712393.4A Active CN111770345B (zh) 2020-07-22 2020-07-22 编码单元的运动估计方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111770345B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112866710B (zh) * 2019-11-27 2022-07-26 腾讯科技(深圳)有限公司 一种编码单元处理方法和相关装置
CN113489986A (zh) * 2021-05-28 2021-10-08 杭州博雅鸿图视频技术有限公司 一种整像素运动估计方法、装置、电子设备及介质
CN113489994A (zh) * 2021-05-28 2021-10-08 杭州博雅鸿图视频技术有限公司 一种运动估计方法、装置、电子设备及介质
CN113259685B (zh) * 2021-06-07 2021-12-03 杭州博雅鸿图视频技术有限公司 一种分像素运动估计方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110832869A (zh) * 2019-01-02 2020-02-21 深圳市大疆创新科技有限公司 用于视频编码或解码的运动信息获取方法与装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015083300A1 (ja) * 2013-12-04 2015-06-11 日本電気株式会社 動画像符号化装置、動画像符号化方法および非一時的なコンピュータ可読媒体
CN109672894B (zh) * 2017-10-13 2022-03-08 腾讯科技(深圳)有限公司 一种帧间预测方法、装置及存储介质
CN109905702B (zh) * 2017-12-11 2021-12-21 腾讯科技(深圳)有限公司 一种视频编码中参考信息确定的方法、装置及存储介质
CN110213591B (zh) * 2018-03-07 2023-02-28 腾讯科技(深圳)有限公司 一种视频运动估计方法、装置及存储介质
CN115714861A (zh) * 2018-12-16 2023-02-24 华为技术有限公司 视频译码器及相应方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110832869A (zh) * 2019-01-02 2020-02-21 深圳市大疆创新科技有限公司 用于视频编码或解码的运动信息获取方法与装置

Also Published As

Publication number Publication date
CN111770345A (zh) 2020-10-13

Similar Documents

Publication Publication Date Title
CN111866512B (zh) 视频解码方法、视频编码方法、装置、设备及存储介质
CN111770345B (zh) 编码单元的运动估计方法、装置、设备及存储介质
EP2755388B1 (en) Method, device, and program for encoding and decoding image
CN113766249B (zh) 视频编解码中的环路滤波方法、装置、设备及存储介质
KR20220045045A (ko) 비디오 신호의 행렬 가중된 인트라 예측
CN111741299B (zh) 帧内预测模式的选择方法、装置、设备及存储介质
US11818378B2 (en) Image encoding/decoding method and device
CN114830670A (zh) 用于色度采样的方法和装置
CN113853797A (zh) 使用变换索引的图像编码
CN113826395A (zh) 图像编码中基于矩阵的帧内预测的变换
WO2022116836A1 (zh) 视频解码方法、视频编码方法、装置及设备
CN114679917A (zh) 视频数据的变换跳过残差编码
CN114257810B (zh) 上下文模型的选择方法、装置、设备及存储介质
CN116325729A (zh) 用于视频译码的基于神经网络的滤波过程中的激活函数设计
WO2022078339A1 (zh) 参考像素候选列表构建方法、装置、设备及存储介质
CN115209157A (zh) 视频编解码方法、装置、计算机可读介质及电子设备
CN116113985A (zh) 利用基于深度学习的环内滤波器进行视频编码和解码
CN114071158A (zh) 视频编解码中的运动信息列表构建方法、装置及设备
CN111770338B (zh) 编码单元的索引值确定方法、装置、设备及存储介质
CN114902670A (zh) 用信号通知子图像划分信息的方法和装置
CN114286095B (zh) 视频解码方法、装置及设备
CN114286096B (zh) 视频解码方法、装置及设备
US20240089457A1 (en) Coding a merged block that overlaps a reference block in intra block copy mode
WO2022037458A1 (zh) 视频编解码中的运动信息列表构建方法、装置及设备
WO2022037464A1 (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: 40030131

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant