CN111050177B - 视频编码、视频解码方法、装置、计算机设备和存储介质 - Google Patents

视频编码、视频解码方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN111050177B
CN111050177B CN201811198938.3A CN201811198938A CN111050177B CN 111050177 B CN111050177 B CN 111050177B CN 201811198938 A CN201811198938 A CN 201811198938A CN 111050177 B CN111050177 B CN 111050177B
Authority
CN
China
Prior art keywords
reference block
current
block
current reference
coding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811198938.3A
Other languages
English (en)
Other versions
CN111050177A (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 CN201811198938.3A priority Critical patent/CN111050177B/zh
Priority to PCT/CN2019/109341 priority patent/WO2020078211A1/zh
Priority to EP19873653.0A priority patent/EP3869806A4/en
Priority to JP2020563899A priority patent/JP7431752B2/ja
Publication of CN111050177A publication Critical patent/CN111050177A/zh
Priority to US17/074,477 priority patent/US11445205B2/en
Application granted granted Critical
Publication of CN111050177B publication Critical patent/CN111050177B/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • 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
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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
    • H04N19/567Motion estimation based on 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/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
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

本发明涉及一种视频编码、视频解码方法、装置、计算机设备和存储介质,所述视频编码方法包括:获取当前视频帧中待编码的当前编码块;获取所述当前编码块对应的第一当前参考块;获取与所述第一当前参考块匹配的一个或多个第二当前参考块;根据所述第一当前参考块以及各个所述第二当前参考块对所述当前编码块进行编码,得到编码数据。上述方法可以提高视频编码质量。

Description

视频编码、视频解码方法、装置、计算机设备和存储介质
技术领域
本发明涉及计算机技术领域,特别是涉及视频编码、视频解码方法、装置、计算机设备和存储介质。
背景技术
随着多媒体技术和网络技术的飞速发展和广泛应用,人们在日常生活和生产活动中大量使用视频信息。为了减少视频的传输数据量或者存储数据量,需要对视频进行压缩编码。目前,对于复杂的编码块,采用传统视频编码方法进行编码的视频编码质量差。
发明内容
基于此,本发明实施例提供一种视频编码、视频解码方法、装置、计算机设备和存储介质,可以用于解决上述视频编码质量差的问题。
一种视频编码方法,所述方法包括:获取当前视频帧中待编码的当前编码块;获取所述当前编码块对应的第一当前参考块;获取与所述第一当前参考块匹配的一个或多个第二当前参考块;根据所述第一当前参考块以及各个所述第二当前参考块对所述当前编码块进行编码,得到编码数据。
一种视频编码装置,所述装置包括:编码块获取模块,用于获取当前视频帧中待编码的当前编码块;编码参考块获取模块,用于获取所述当前编码块对应的第一当前参考块;编码参考块匹配模块,用于获取与所述第一当前参考块匹配的一个或多个第二当前参考块;编码模块,用于根据所述第一当前参考块以及各个所述第二当前参考块对所述当前编码块进行编码,得到编码数据。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述视频编码方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述视频编码方法的步骤。
上述视频编码方法、装置、计算机设备和存储介质,进行编码时,通过第一当前参考块获取匹配第二当前参考块,基于多个匹配的参考块进行编码能够提高参考块与当前编码块的匹配程度,减少预测残差,因此能够提高视频编码质量。
一种视频解码方法,所述方法包括:获取待解码视频帧中的当前待解码块对应的编码数据;获取所述当前待解码块对应的第一当前参考块;获取与所述第一当前参考块匹配的一个或多个第二当前参考块;根据所述第一当前参考块以及各个所述第二当前参考块对所述编码数据进行解码,得到所述当前待解码块对应的视频图像块。
一种视频解码装置,所述装置包括:编码数据获取模块,用于获取待解码视频帧中的当前待解码块对应的编码数据;解码参考块获取模块,用于获取所述当前待解码块对应的第一当前参考块;解码参考块匹配模块,用于获取与所述第一当前参考块匹配的一个或多个第二当前参考块;解码模块,用于根据所述第一当前参考块以及各个所述第二当前参考块对所述编码数据进行解码,得到所述当前待解码块对应的视频图像块。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述视频解码方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述视频解码方法的步骤。
上述视频解码方法、装置、计算机设备和存储介质,在进行解码时,通过第一当前参考块获取匹配第二当前参考块,基于多个匹配的参考块对编码数据进行解码,能够降低图像块损失,视频解码质量高。
附图说明
图1为一个实施例中提供的视频编码方法的应用环境图;
图2为一个实施例中提供的视频编码方法对应的编码框架图;
图3为一个实施例中提供的视频解码方法对应的解码框架图;
图4A为一个实施例中视频编码方法的流程图;
图4B为一个实施例中图像块的划分示意图;
图5A为一个实施例中根据第一当前参考块以及各个第二当前参考块对当前编码块进行编码,得到编码数据的流程图;
图5B为一个实施例中据第一当前参考块以及各个第二当前参考块进行图像融合,得到第一融合参考块的示意图;
图6为一个实施例中根据第一当前参考块以及各个第二当前参考块对当前编码块进行编码,得到编码数据的流程图;
图7为一个实施例中从第一融合参考块和第一当前参考块中选择目标参考块的流程图;
图8为一个实施例中从第一融合参考块和第一当前参考块中选择目标参考块的流程图;
图9为一个实施例中视频解码方法的流程图;
图10为一个实施例中视频解码方法的流程图;
图11为一个实施例中获取当前编码块对应的第一参考块以及第二当前参考块的示意图;
图12为一个实施例中视频编码装置的结构框图;
图13为一个实施例中视频编码装置的结构框图;
图14为一个实施例中计算机设备的内部结构框图;
图15为一个实施例中计算机设备的内部结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一率失真代价称为第二率失真代价,且类似地,可将第二率失真代价称为第一率失真代价。
图1为一个实施例中提供的视频编码方法以及视频解码方法的应用环境图,如图1所示,在该应用环境中,包括终端110以及服务器120。终端110或服务器120可以通过编码器进行视频编码,或者通过解码器进行视频解码。终端110或服务器120也可以通过处理器运行视频编码程序进行视频编码,或者通过处理器运行视频解码程序进行视频解码。服务器120通过输入接口接收到终端110发送的编码数据后,可直接传递至处理器进行解码,也可存储至数据库中等待后续解码。服务器120在通过处理器对视频帧编码得到编码数据后,可直接通过输出接口发送至终端110,也可将编码数据存储至数据库中等待后续传递。当然,服务器120也可以在获取终端110发送的编码数据后,发送到对应的接收终端中,由接收终端进行解码。
终端110和服务器120可以通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以包括手机、平板电脑以及笔记本电脑等中的至少一种,但并不局限于此。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
图2为一个实施例中提供的视频编码方法对应的编码框架图,本发明实施例提供的视频编码方法可以获取视频序列的各个视频帧进行编码,得到对应的编码数据,并通过存储发送单元218执行存储或者发送编码数据中的一个或多个步骤。其中,在视频帧获取单元202处,获取当前视频帧。在第一预测单元204处,可以对当前视频帧的各个编码块进行帧内预测或者帧间预测,例如当编码块的预测模式为帧间预测时,根据编码块对应的参考块的图像值得到预测值以及对应的运动矢量,将编码块实际值与预测值相减得到预测残差,运动矢量表示编码块相对于参考块的位移。在变换单元206处,将空间域中的预测残差以及矢量信息变换到频率域,并可以对变换系数进行编码。变换的方法可以为离散傅里叶变换或者离散余弦变换等等,矢量信息可以为表示位移的实际运动矢量或者运动矢量差值,运动矢量差值为实际运动矢量与预测运动矢量的差值。
在量化单元208处,将变换后的数据映射成另一个数值,例如可以通过变换后的数据除以量化步长得到一个较小的值。量化参数是量化步长对应的的序号,根据量化参数可以查找到对应的量化步长。量化参数小,则图像帧的大部分的细节都会被保留,对应的码率高。量化参数大,则对应的码率低,但图像失真较大、质量不高。量化的原理用公式表示如下:FQ=round(y/Qstep)。其中,y为量化之前视频帧对应的预测残差。Qstep为量化步长,FQ为对y进行量化得到的量化值。Round(x)函数指将取值进行四舍五入取偶,即四舍六入五取偶。量化参数与量化步长的对应关系具体可以根据需要进行设置。例如,在一些视频编码标准中,对于亮度编码而言,量化步长共有52个值,为0~51之间的整数,对于色度编码,量化步长的取值为0~39之间的整数,且量化步长随着量化参数的增加而增加,每当量化参数增加6,量化步长便增加一倍。
熵编码单元216用于进行熵编码,熵编码为按熵原理进行编码,且不丢失任何信息的数据编码方式,能够利用较小的字符来表达一定的信息。熵编码方法例如可以为香农编码(shannon)或者哈夫曼编码(huffman)等。
第一反量化单元210、第一反变换单元212以及重建单元214是重建路径对应的单元,利用重建路径的各个单元进行帧的重建得到参考帧,能够保持编码以及解码中参考帧的一致。其中第一反量化单元210进行的步骤是进行量化的逆过程,第一反变换单元212进行的步骤是是变换单元206进行变换的逆过程,第一重建单元214用于将反变换得到的残差数据加上预测数据得到重建参考帧。
图3为一个实施例中提供的视频解码方法对应的解码框架图,本发明实施例提供的视频解码方法可以通过编码数据获取单元300获取待解码视频序列的各个待解码视频帧对应的编码数据,通过熵解码单元302进行熵解码后,得到熵解码数据,第二反量化单元304对熵解码数据进行反量化,得到反量化数据,第二反变换单元306对反量化数据进行反变换,得到反变换的数据,该反变换的数据可以与图2中第一反变换单元212进行反变换后得到的数据是一致的。第二预测单元308根据待解码块的预测模式对待解码块进行帧内预测或者帧间预测,例如当为帧间预测时,根据编码数据中携带的运动矢量信息获取待解码块对应的目标参考块,根据目标参考块的图像值得到与图2中的预测值一致的预测值,根据预测值以及编码数据中的预测残差得到解码视频数据块的像素值,其中,参考块是从第二预测单元308已经解码得到的参考帧中获取的。播放存储单元310可以对解码得到的视频帧执行播放视频以及存储视频中的一个或多个步骤。
可以理解,上述的编码框架图、解码框架图仅是一种示例,并不构成对本申请方案所应用于的编码方法的限定,具体的编码框架图以及解码框架图可以包括比图中所示更多或更少的单元,或者组合某些单元,或者具有不同的部件单元不知。例如,还可以对重建视频帧进行环路滤波,降低视频帧的方块效应,以提高视频质量。
在本发明实施例中,将执行编码的一端称为编码端,将执行解码的一端称为解码端。编码端和解码端可以是同一端或者不同端,上述计算机设备比如终端以及服务器,可以是编码端也可以是解码端。
如图4A所示,在一个实施例中,提出了一种视频编码方法,本实施例提供的视频编码方法可以应用于上述图1中的终端110以及服务器120中。具体可以包括以下步骤:
步骤S402,获取当前视频帧中待编码的当前编码块。
具体地,视频帧是构成视频的单位,视频帧可以是计算机设备实时采集的视频帧,例如可以是通过终端的摄像头实时获取的视频帧,也可以是预先存储的视频序列对应的视频帧。一个视频序列可以包括多个视频帧。当前视频帧是指当前需要编码的视频帧,当前编码块是当前视频帧中当前需要编码的编码块。视频帧可以包括一个或多个编码块,视频帧中编码块的大小可以根据需要进行设置或者计算得到。例如可以将一个视频帧分为多个大小为8*8像素的编码块。也可以通过计算各种编码块的划分方式对应的率失真代价,选择率失真代价小的划分方式进行编码块的划分。如图4B所示为一个64*64像素图像块的划分示意图,其中的一个方块代表一个编码块。由图4B可知,编码块的大小可以包括32*32像素、16*16像素、8*8像素以及4*4像素。当然,编码块的大小也可是其他大小,例如可以是32*16像素或者是64*64像素。
步骤S404,获取当前编码块对应的第一当前参考块。
具体地,第一当前参考块是从参考帧中获取的,是与当前编码块匹配的参考块。在进行视频编码时,通常需要在参考帧内根据运动搜索算法找出与当前编码块匹配的块,即参考块,根据参考块对当前编码块进行编码。运动搜索算法例如可以采用全搜索算法以及部分搜索算法中的一种或多种,部分搜索算法例如可以是二维对数搜索算法、钻石搜索算法以及六边形搜索算法中的一种或多种。第一当前参考块可以是通过单向预测得到的参考块,也可以是通过双向预测得到的参考块。视频帧可以根据编码算法确定对应的帧预测类型,帧预测类型可以是I帧、P帧或者B帧,其中I帧为帧内预测帧,P帧为前向预测帧,B帧为双向预测帧,P帧与B帧的各个编码块可以采用帧内预测方式也可以采用帧间预测方式进行编码。可以理解,视频编码中,为了保持编码端以及解码端中参考帧的一致,参考块是在编码端进行编码后再重建得到的参考帧中获取的。
在一个实施例中,第一当前参考块是根据与当前编码块的差异度得到的,可以选择参考帧中差异度最小的块作为第一当前参考块。例如可以根据当前编码块与对应的参考帧的图像块的SSE(Sum of Squares for Error,残差平方和)、SAD(Sum of AbsoluteDifference,绝对误差和)值、MAD(Mean Absolute Difference,平均绝对差值)以及MSE(Mean Squared Error,平均平方误差)中的一种或多种得到对应的第一当前参考块。例如,将参考帧的图像块中,与当前编码块的SSE值最小的图像块、或者SSE值以及SAD值的和中最小的图像块作为第一当前参考块。其中,SSE的计算公式可以公式所示。其中,SSEP表示当前编码块C与参考帧中的图像块P的残差平方和,C(i,j)表示当前编码块的第i行第j列的像素点,P(i,j)表示参考帧的图像块P的第i行第j列的像素点,m表示图像块的行数,n表示图像块的列数。
Figure BDA0001829522370000071
本发明实施例提供的视频编码方法主要应用于帧间预测,也可以应用于帧内预测中。如果是应用于帧内预测,可以在当前视频帧中已编码重建的图像块中获取图像块作为第一当前参考块,第一当前参考块可以是根据预设的位置得到的,例如,可以将当前视频帧中与当前编码块相邻的重建图像块作为第一当前参考块。如果是应用于帧间预测中,则在获取到当前编码块时,可以在对应的参考帧中进行运动搜索,获取当前编码块。
在一个实施例中,可以获取当前编码块的当前预测模式,如果当前预测模式为帧间预测模式,则执行本发明实施例提供的视频编码方法,如果是帧内预测模式,则采用帧内预测对应的视频编码方法进行编码。
步骤S406,获取与第一当前参考块匹配的一个或多个第二当前参考块。
具体地,第二当前参考块是与第一当前参考块匹配得的参考块。是通过第一当前参考块以及匹配算法进行匹配得到的。第一当前参考块与第二当前参考块是相似的参考块。是否匹配的标准可以根据需要设置,例如可以是第一当前参考块与第二当前参考块的差异度小于预设值。第二当前参考块的数量可以根据需要设置,例如为4个。
在一个实施例中,编码端所采用的匹配算法与解码端是一致的,根据与解码端一致的匹配算法获取第一当前参考块匹配的一个或多个第二当前参考块。即解码端可以根据相同的匹配算法得到同样的第二当前参考块。这样,由于第一当前参考块在解码端也可以获取得到,因此编码端无需传输第二当前参考块的运动矢量信息,解码端也可以根据第一当前参考块以及一致的匹配算法获取得到第二当前参考块,在利用多个参考块进行视频编码的同时,降低了编码数据的数据量。
在一个实施例中,编码端与解码端的匹配算法一致是指获取第二当前参考块的参考区域一致以及计算是否匹配的规则一致。例如,参考区域可以包括第一当前参考块所在的参考视频帧以及参考视频帧的前一帧视频帧中的一个或多个。
在一个实施例中,参考区域还可以是视频帧中的预设区域。预设区域例如可以包括与第一当前参考块和/或与当前编码块的距离小于预设距离的区域。例如,参考区域可以是以第一当前参考块的位置为中心,边长为100像素的正方形所对应的区域。
在一个实施例中,计算是否匹配的规则可以包括当参考区域内与第一当前参考块的差异度小于预设差异度,以及差异度排名按照从小到大的顺序进行排名,位于预设排名内的一个或多个。预设差异度以及预设排名可以根据需要设置,例如,预设差异度可以为100。也可以设置在参考区域内,与第一当前参考块的差异度最小的3个图像块为第二当前参考块。
在一个实施例中,获取与第一当前参考块匹配的一个或多个第二当前参考块包括:获取第一当前参考块对应的多个候选参考块;计算第一当前参考块与各个候选参考块的第一差异度;根据第一差异度从多个候选参考块中获取与第一当前参考块匹配的一个或多个第二当前参考块。
具体地,差异度用于衡量图像块之间的差异程度,差异度越小,则表示图像块越相像。差异度与相似度可以用于衡量图像是否相似。差异度越小,则图像越相似,相似度越大,则图像越相似。差异度可以与相似度成负相关关系,即差异度大,则相似度小。根据差异度可以计算得到相似度,根据相似度也可以计算得到差异度。例如,差异度的倒数可以是相似度。在一个实施例中,当对差异度以及相似度进行归一化后,差异度与相似度的和可以为1,例如如果相似度为0.9,则差异度为0.1。计算与第一当前参考块匹配的第二当前参考块的度量方法可以用差异度进行表示。差异度可以用SSE、SAD、MAD以及MSE中的一个或多个进行表示。例如,第一当前参考块P0与参考区域内的各个候选参考块的SSE的计算公式可以用公式(2)所示。其中,SSE1表示第一当前参考块P0与候选图像块H的残差平方和,P0(i,j)表示第一当前参考块的第i行第j列的像素点,H(i,j)表示候选参考块H的第i行第j列的像素点,m表示图像块的行数,n表示图像块的列数。得到与各个候选参考块的第一差异度后,根据第一差异度筛选得到一个或多个第二当前参考块。例如,根据参考区域内与第一当前参考块的差异度小于预设差异度,以及差异度排名按照从小到大的顺序进行排名,位于预设排名内的一个或多个规则筛选得到第二当前参考块。
Figure BDA0001829522370000091
步骤S408,根据第一当前参考块以及各个第二当前参考块对当前编码块进行编码,得到编码数据。
具体地,得到第一当前参考块以及第二当前参考块后,结合第一当前参考块以及各个第二当前参考块对当前编码块进行编码。可以结合第一当前参考块以及第二当前参考块得到当前编码块的预测值,根据预测残差进行变换、量化以及熵编码中的一个或多个步骤,得到编码数据。其中,变换是指将空间域中的数据变换到频率域,以对变换系数进行编码。变换的方法可以为离散傅里叶变换或者离散余弦变换等等,量化是指将数据例如变换后的数据映射成另一个数值,例如可以通过变换后的数据除以量化步长得到一个较小的值。熵编码为按熵原理进行编码,且不丢失任何信息的数据编码方式,能够利用较小的字符来表达一定的信息。熵编码方法例如可以为香农编码(shannon)或者哈夫曼编码(huffman)等。
在一个实施例中,编码数据中携带了第一当前参考块的运动矢量信息。运动矢量(MV,Motion Vector)表示编码块相对于参考块的位移。在帧间预测编码中,可以用运动矢量表示当前编码块与其参考帧中的参考块之间的相对位移。首先可以使用参考块的MV预测当前编码块的MV,得到对应的预测值MVP(Motion Vector Prediction,运动矢量预测值),然后根据当前编码块对应的实际MV与当前编码块对应的预测值MVP的差值,即运动矢量差MVD(MotionVector Difference)进行编码,从而有效降低运动矢量信息的编码比特数。在解码端,由于编码数据中携带了第一当前参考块的运动矢量信息,因此可以根据运动矢量信息获取到第一当前参考块,根据第一当前参考块获取到对应的第二当前参考块,以根据第一当前参考块以及第二当前参考块进行解码,得到解码后的图像。
上述视频编码方法,进行编码时,通过第一当前参考块获取匹配第二当前参考块,基于多个匹配的参考块进行编码能够提高参考块与当前编码块的匹配程度,减少预测残差,因此能够提高视频编码质量。
在一个实施例中,得到编码数据后,还可以执行发送以及存储编码数据等步骤中的一种或多种步骤。例如,在进行视频通话时,将编码数据发送到进行视频通话的另一计算机设备中。视频网站服务器可以将编码数据发送到需要播放视频的终端中,终端接收到编码数据后,进行解码,得到解码后的视频帧并进行播放。
在一个实施例中,步骤S408即根据第一当前参考块以及各个第二当前参考块对当前编码块进行编码,得到编码数据包括:获取融合参考块集合,根据第一参考块以及融合参考块集合对当前编码块进行编码,得到编码数据。
具体地,融合参考块集合可以包括根据第一当前参考块以及第二当前参考块进行图像融合得到的参考块,以及根据多个第二当前参考块进行融合得到的参考块中的一个或多个。即融合参考块中的参考块既可以包括根据第一当前参考块以及第二当前参考块进行图像融合得到的参考块,也可以包括根据多个第二当前参考块进行图像融合得到的参考块。得到融合参考块集合后,可以从融合参考块集合中筛选其中的融合参考块进行编码。
在一个实施例中,可以根据采用融合参考块进行编码对应的率失真代价、融合参考块与当前编码块的差异度中的一个或多个选择融合参考块。例如可以选择率失真代价最小或者差异度最小的融合参考块进行编码。编码数据中可以携带目标参考块对应的参考块模式信息,用于表示所采用的目标参考块的信息。
在一个实施例中,也可以将融合参考块集合中的融合参考块或第一当前参考块中作为目标参考块,根据目标参考块进行编码。例如,可以根据率失真代价以及差异度的一个或多个从融合参考块集合以及第一当前参考块中选择得到目标参考块。
在一个实施例中,当第二当前参考块包括多个时,根据第一当前参考块以及各个第二当前参考块对所述当前编码块进行编码,得到编码数据包括:根据第二当前参考块进行图像融合,得到第二融合参考块;从第二融合参考块和第一当前参考块中选择目标参考块,根据目标参考块对当前编码块进行编码,得到编码数据,编码数据携带所述目标参考块对应的参考块模式信息。
具体地,第二融合参考块是根据多个第二当前参考块融合得到的。融合的方式例如可以是将多个第二当前参考块相同位置的像素值进行加权求和,得到第二融合参考块对应位置的像素值。
在一个实施例中,第二当前参考块对应的权值可以根据需要进行设置,例如第二当前参考块对应的权重是融合的数量的倒数。也可以根据第二当前参考块与当前编码块的距离确定第二当前参考块对应的权重,第二当前参考块对应的权重与当前编码块的距离成负相关关系,即第二当前参考块与当前编码块的距离越大,则第二当前参考块对应的权重越小。例如,第二当前参考块对应的权重可以是根据距离的倒数进行归一化得到的。参考块模式信息用于描述当前编码块采用的目标参考块的类型,例如目标参考块是第二融合参考块还是第一当前参考块。
在一个实施例中,如图5A所示,步骤S408即根据第一当前参考块以及各个第二当前参考块对当前编码块进行编码,得到编码数据包括:
步骤S502,根据第一当前参考块以及各个第二当前参考块进行图像融合,得到第一融合参考块。
具体地,图像融合是指将多张图像信息进行融合,使得融合得到的图像含有更多有用的信息,能够更方便进行处理。第一融合参考块是根据第一当前参考块以及各个第二当前参考块融合得到的。融合的方式例如可以是将第一当前参考块以及第二当前参考块相同位置的像素值进行加权求和,得到第一融合参考块对应位置的像素值。
在一个实施例中,根据第一当前参考块以及各个第二当前参考块进行图像融合,得到第一融合参考块包括:获取第一当前参考块和各个第二当前参考块对应的加权权重;根据加权权重将第一当前参考块以及各个第二当前参考块进行加权得到第一融合参考块。
具体地,第一当前参考块以及各个第二当前参考块对应的加权权重可以根据需要进行设置。例如,如果第二当前参考块为4个,可以设置第一当前参考块的加权权重为0.6,各个第二当前参考块的加权权重均为0.1。各个当前参考块的加权权重也可以根据与当前编码块的距离得到,其中,加权权重与当前编码块的距离成反比关系,即距离越大,则对应的加权权重越小。例如,加权权重可以是对第一当前参考块以及各个第二当前参考块与当前编码块的距离的倒数进行归一化后得到的。得到加权权重后,利用加权权重与对应的当前参考块进行加权求和,得到对应的第一融合参考块。例如,第一融合参考块的计算方法可以利用公式(3)表示,其中,Pw表示第一融合参考块,PO为第一当前参考块,WO为第一当前参考块的加权权重,P1至Pn为第二当前参考块,W1为第二当前参考块P1的加权权重,Wn为第二当前参考块Pn的加权权重,n表示第二当前参考块的数量。第一当前参考块以及第二当前参考块对应的加权权重的和为1,即W0+W1+…+Wn=1。
Pw=(P0*W0+P1*W1+…+Pn*Wn) (3)
举个实际的例子,如图5B所示,假设视频帧图像为灰度图像,第一当前参考块P0包括2*2个像素,对应的权重为0.8,第二当前参考块P1有一个,包括2*2个像素,对应的权重为0.2,则可以将P0的各个像素值与P1相同位置上的像素值进行加权求和,得到PW。
在一个实施中,可以根据第二当前参考块与第一当前参考块的差异度,以及第二当前参考块与当前编码块的差异度中的一种或多种得到第二当前参考块的权重。例如,可以根据第二当前参考块与第一当前参考块的差异度,以及第二当前参考块与当前编码块的差异度得到目标差异度,根据目标差异度得到加权权重。目标差异度可以是第二当前参考块与第一当前参考块的差异度,以及第二当前参考块与当前编码块的差异度的和。其中,第二当前参考块对应的加权权重与目标差异度成负相关关系。即目标差异度越大,则加权权重越小。当第二当前参考块对应的加权权重是根据第二当前参考块与当前编码块的差异度计算得到的时,由于当前编码块在编码的过程中存在损失,即解码端解码得到的图像块是存在失真的图像块,因此,可以在编码数据中携带第二当前参考块对应的加权权重,以使得解码端可以从编码数据中提取得到第二当前参考块的加权权重,根据第一当前参考块的加权权重以及第二当前参考块的加权权重计算得到第一融合参考块,根据第一融合参考块进行解码。
在一个实施例中,获取第一当前参考块和各个第二当前参考块对应的加权权重包括:计算各个第二当前参考块与第一当前参考块的第二差异度;根据第二差异度得到各个第二当前参考块对应的加权权重,其中,各个第二当前参考块对应的加权权重与对应的第二差异度成负相关关系。
具体地,第二当前参考块与第一当前参考块的第二差异度可以用第二当前参考块与第一当前参考块之间的SSE、SAD、MAD以及MSE中的一个或多个进行表示。第二当前参考块对应的加权权重与对应的第二差异度成负相关关系是指第二差异度越大,则对应的第二当前参考块对应的加权权重越小。在一个实施例中,第一当前参考块对应的加权权重可以是预设权重,例如0.6。第二当前参考块对应的加权权重是根据对应的第二差异度计算得到的。例如,第二当前参考块对应的加权权重是根据对应的第二差异度的倒数进行归一化后得到的。假设第二当前参考块有两个:P1以及P2,P1对应的与第一当前参考块的SSE为100,P2对应的与第一当前参考块的SSE为300,第一当前参考块对应的加权权重为0.6则P1对应的加权权重为0.4*(1/100÷(1/100+1/300)=0.3,P2对应的加权权重为0.4*(1/300÷(1/100+1/300)=0.1。
步骤S504,根据第一融合参考块对当前编码块进行编码,得到编码数据。
具体地,得到第一融合参考块后,可以将第一融合参考块的像素值作为当前编码块的预测值,根据当前编码块的实际值与预测值的差值得到预测残差,对预测残差以及第一当前参考块对应的的运动矢量信息进行编码,得到编码数据。
本发明实施例中,通过将第一融合参考块作为预测块进行编码,能够得到与当前编码块匹配的预测块,因此可以减少预测残差,因此可以减少编码数据的数据量,提高编码质量。
如图6所示,步骤S408即根据第一当前参考块以及各个第二当前参考块对当前编码块进行编码,得到编码数据包括:
步骤S602,根据第一当前参考块以及各个第二当前参考块进行图像融合,得到第一融合参考块。
具体地,步骤S602中根据第一当前参考块以及各个第二当前参考块进行图像融合,得到第一融合参考块可以参见步骤S502的描述,在此不再赘述。
步骤S604,从第一融合参考块和第一当前参考块中选择目标参考块,根据目标参考块对当前编码块进行编码,得到编码数据,编码数据携带目标参考块对应的参考块模式信息。
具体地,参考块模式信息用于描述当前编码块采用的目标参考块的类型,即目标参考块是第一融合参考块还是第一当前参考块。计算机设备可以在编码数据中加入描述参考块模式信息的标志位multi_prediction_flag,即在编码数据中加入描述参考块模式信息的语法元素。语法元素是指在编码数据中携带的用以表示特定含义的某一个或一系列元素。参考块模式信息对应的标志位的值可以根据需要设置。例如,当目标参考块是第一融合参考块时,对应的multi_prediction_flag可以为0。当目标参考块是第一当前参考块时,对应的multi_prediction_flag可以为1。在一个实施例中,参考块模式信息添加至预测单元(PU,prediction unit)对应的头信息中,因此,在进行编码时,可以在预测单元对应的头信息中添加当前编码块对应的参考块模式信息,选择第一融合参考块以及第一当前参考块中的一种参考块作为目标参考块,根据目标参考块的像素值得到当前编码块的预测值,根据当前编码块的实际值与预测值的差值得到预测残差,对预测残差、第一当前参考块对应的运动矢量信息以及参考块模式信息进行编码,得到编码数据。
在选择目标参考块时,可以根据视频编码的需求进行选择。在一个实施例中,可以根据参考块与当前编码块的差异度以及编码的率失真代价中的一个或多个进行选择。例如,如果第一融合参考块与当前编码块的差异度,以及第一当前参考块与当前编码块的差异度都小于预设差异度,则选择第一融合参考块以及第一当前参考块中,对应的率失真代价小的参考块作为目标参考块。如果第一融合参考块与当前编码块的差异度,以及第一当前参考块与当前编码块的差异度都大于预设差异度,则选择第一融合参考块以及第一当前参考块中,对应的差异度小的参考块作为目标参考块。
本发明实施例中,通过从第一融合参考块和第一当前参考块中选择目标参考块,可以获取到与当前编码块更匹配的参考块进行编码,因此可以提高编码质量。
在一个实施例中,编码数据中携带第一当前参考块的运动矢量信息。如果采用第一当前参考块作为目标参考块,则在解码端进行解码时,根据运动矢量信息获取得到第一当前参考块,将第一当前参考块作为目标参考块进行解码。如果采用第一融合参考块作为目标参考块,则在解码端进行解码时,根据运动矢量信息获取得到第一当前参考块,根据一致的匹配算法获取第一当前参考块匹配的第二当前参考块,根据第一当前参考块以及得让当前参考块得到第一融合参考块。利用第一融合参考块进行解码。
在一个实施例中,如图7所示,从第一融合参考块和第一当前参考块中选择目标参考块包括:
步骤S702,计算第一融合参考块与当前编码块的第三差异度,计算第一当前参考块与当前编码块的第四差异度。
具体地,第三差异度以及第四差异度也可以用SSE、SAD、MAD以及MSE中的一个或多个进行表示。可以理解,第三差异度以及第四差异度是采用同一种差异度计算方法计算得到的。例如,如果第三差异度采用SSE表示,则第四差异度也采用SSE表示。第一融合参考块与当前编码块的第三差异度的计算方法可以用公式(4)表示,其中,SSEw表示当前编码块C与第一融合参考块PW的残差平方和,PW(i,j)表示第一融合参考块PW的第i行第j列的像素点,C(i,j)表示当前编码块的第i行第j列的像素点,m表示图像块的行数,n表示图像块的列数。
Figure BDA0001829522370000161
步骤S704,根据第三差异度与第四差异度的大小选择目标参考块。
具体地,得到第三差异度与第四差异度后,根据第三差异度与第四差异度的大小关系选择目标参考块,可以是第四差异度与第三差异度相减得到的差值小于或等于第一预设阈值时选择第一当前参考块作为目标参考块,第四差异度与第三差异度相减得到的差值大于第一预设阈值时选择第一融合参考块作为目标参考块。第一预设阈值可以根据需要设置,例如,可以为0。第一预设阈值也可以为0至100之间的数。
例如,可以设置当第四差异度SSE0小于或等于第三差异度SSEw时选择P0即第一当前参考块作为目标参考块,当第四差异度SSE0大于第三差异度SSEw时选择Pw即融合当前参考块作为目标参考块。即第一预设阈值为0。
Figure BDA0001829522370000171
本发明实施例中,通过差异度选择目标参考块,能够使得编码时得到预测残差小,减少编码数据的数据量。
在一个实施例中,如图8所示,从第一融合参考块和第一当前参考块中选择目标参考块包括:
步骤S802,根据第一融合参考块与当前编码块计算对应的第一率失真代价,根据第一当前参考块与当前编码块计算对应的第二率失真代价。
具体地,率失真是指编码码率和图像失真度之间的相互关系,可以用预设的率失真代价函数计算得到的率失真代价表示,率失真代价小,则表示在一定的码率限制下,视频的失真度小。例如,率失真代价函数可以用J=D+λR表示,其中J表示率失真代价,D为失真度估计值,R为编码所需比特数估计值,λ为拉格朗日常数。得到第一融合参考块后,计算采用第一融合参考块对当前编码块进行编码时的第一率失真代价。得到第一当前参考块后,计算采用第一当前参考块对当前编码块进行编码时的第二率失真代价。
步骤S804,根据第一率失真代价与第二率失真代价的大小选择目标参考块。
具体地,得到第一率失真代价与第二率失真代价后,根据第一率失真代价与第二率失真代价的大小关系选择目标参考块,可以是第二率失真代价与第一率失真代价相减得到的差值小于或等于第二预设阈值时选择第一当前参考块作为目标参考块,第二率失真代价与第一率失真代价相减得到的差值大于第二预设阈值时选择第一融合参考块作为目标参考块。第二预设阈值可以根据需要设置,例如,可以为0。第二预设阈值也可以为0至3之间的数。
例如,可以设置当第二率失真代价J0小于或等于第一率失真代价Jw时选择P0即第一当前参考块作为目标参考块,当第二率失真代价J0大于第一率失真代价Jw时选择Pw即融合当前参考块作为目标参考块。即第二预设阈值为0。
Figure BDA0001829522370000172
本发明实施例中,通过率失真代价选择选择目标参考块,能够权衡码率和失真度为编码器选择最优编码参数,实现高效编码。
如图9所示,在一个实施例中,提出了一种视频解码方法,本实施例提供的视频解码方法可以应用于上述图1中的终端110以及服务器120中。具体可以包括以下步骤:
步骤S902,获取当前待解码视频帧中的当前待解码块对应的编码数据。
具体地,待解码视频帧是需要进行解码的视频帧。一个待解码视频序列可以包括多个待解码视频帧。待解码视频帧可以是实时获取的视频帧,也可以是预先存储的待解码视频序列中获取的视频帧。当前待解码视频帧是指当前需要进行解码的视频帧,当前待解码块是当前待解码视频帧中当前需要解码的待解码块。视频帧可以包括一个或多个待解码块,可以理解,在解码时,由于编码块与待解码块是一一对应的,当前待解码块对应的编码数据为对应的当前编码块进行编码得到的编码数据。因此编码块与待解码块的大小是一致的,待解码块的像素大小也可以包括32*32像素、16*16像素、8*8像素以及4*4像素等。
步骤S904,获取当前待解码块对应的第一当前参考块。
具体地,第一当前参考块是从参考帧中获取的,是与当前待解码块匹配的参考块。可以理解,由于编解码规则的一致性,对于对应的当前编码块以及当前待解码块,第一当前参考块是相同的。编码数据中可以携带第一当前参考块对应的运动矢量信息,解码端可以根据第一当前参考块对应的运动矢量信息获取得到对应的第一当前参考块。
步骤S906,获取与第一当前参考块匹配的一个或多个第二当前参考块。
具体地,第二当前参考块是与第一当前参考块匹配得的参考块。是通过第一当前参考块以及预设的匹配算法进行匹配得到的。第一当前参考块与第二当前参考块是相似的参考块。是否匹配的标准可以根据需要设置,例如可以是第一当前参考块与第二当前参考块的差异度小于预设值。
在一个实施例中,编码端所采用的匹配算法与解码端是一致的,即解码端可以根据相同的匹配算法得到同样的第二当前参考块。例如,如果编码端是在预设的参考区域中进行匹配得到第二当前参考块,则解码端也在预设的参考区域中进行匹配得到第二当前参考块,且计算是否匹配的规则是一致的,因此编码端与解码端得到的第二当前参考块是相同的。
获取第一当前参考块匹配的一个或多个第二当前参考块方法可以参考视频编码中提供的方法,例如,获取与第一当前参考块匹配的一个或多个第二当前参考块也包括:获取第一当前参考块对应的多个候选参考块;计算第一当前参考块与各个候选参考块的第一差异度;根据第一差异度从多个候选参考块中获取与第一当前参考块匹配的一个或多个第二当前参考块。本发明实施例在此不再赘述。
可以理解,本发明实施例提供的视频解码方法主要应用于帧间预测,但也可以应用于帧内预测中,例如,可以在当前待解码视频帧中已解码的图像块中获取匹配的参考块作为第一当前参考块。如果是应用于帧间预测中,则在获取到当前待解码块时,获取当前待解码块的当前预测模式,如果当前预测模式为帧间预测模式,则执行本发明实施例提供的视频解码方法,如果是帧内预测模式,则采用帧内预测对应的视频解码方法进行解码。
步骤S908,根据第一当前参考块以及各个第二当前参考块对编码数据进行解码,得到当前待解码块对应的视频图像块。
具体地,得到第一当前参考块以及各个第二当前参考块后,结合第一当前参考块以及各个第二当前参考块对编码数据进行解码,得到解码后的视频图像块。例如可以结合第一当前参考块以及第二当前参考块得到当前待解码块对应的预测值,根据编码数据中的预测残差以及预测值的和得到视频图像块的像素值。解码的过程可以根据编码的过程确定,例如解码还可以包括反变换、反量化以及熵解码中的至少一个。
上述视频解码方法,在进行解码时,通过第一当前参考块获取匹配第二当前参考块,基于多个匹配的参考块对编码数据进行解码,能够降低图像块损失,视频解码质量高。
在一个实施例中,视频解码方法还可以包括:从编码数据中读取参考块模式信息,当参考块模式信息表示采用融合参考块集合的融合参考块进行解码时,进入步骤S906,即进入获取与第一当前参考块匹配的一个或多个第二当前参考块的步骤,以根据得到的融合参考块对编码数据进行解码。若参考块模式信息表示采用第一当前参考块进行解码,则根据第一参考块对编码数据进行解码。
在一个实施例中,视频解码方法还可以包括:从编码数据中读取参考块模式信息,当参考块模式信息表示采用第二融合参考块进行解码时,进入获取与第一当前参考块匹配的一个或多个第二当前参考块的步骤,以根据第二当前参考块进行图像融合,得到第二融合参考块。根据第二融合参考块进行解码。若参考块模式信息表示采用第一当前参考块进行解码,则根据第一参考块对编码数据进行解码。
在一个实施例中,根据第一当前参考块以及各个第二当前参考块对编码数据进行解码,得到当前待解码块对应的视频图像块包括:根据第一当前参考块以及各个第二当前参考块进行图像融合,得到第一融合参考块;根据第一融合参考块对编码数据进行解码,得到当前待解码块对应的视频图像块。
具体地,进行图像融合的方法可以参照视频编码方法中步骤S502的方法进行,在此不再赘述。得到第一融合参考块后,将第一融合参考块作为预测块,得到对应的预测值,根据预测值与编码数据中的预测残差的和得到视频图像块对应的像素值。
在一个实施例中,如图10所示,编码数据携带目标参考块对应的参考块模式信息,视频解码方法还包括:
步骤S1002,从编码数据中读取参考块模式信息,判断参考块模式信息对应的参考块。
具体地,编码数据中携带了参考块模式信息,当参考块模式信息表示采用第一当前参考块作为目标参考块时,如当multi_prediction_flag为1时,进入步骤S1004,当参考块模式信息表示采用第一融合参考块作为目标参考块时,如当multi_prediction_flag为0时,进入步骤S906,即进入获取与第一当前参考块匹配的一个或多个第二当前参考块的步骤,以根据第一当前参考块以及第二当前参考块对编码数据进行解码。
步骤S1004,根据第一参考块对编码数据进行解码。
具体地,如果参考块模式信息表示采用第一当前参考块进行解码时,则可以将第一参考块作为目标参考块根据第一参考块作为预测块得到对应的预测值,根据预测值与编码数据中的预测残差的和得到视频图像块对应的像素值。
可以理解,上述实施例提供的视频编码方法以及视频解码方法是利用当前编码块对视频编码的过程以及利用当前待解码块对视频解码的过程进行说明,在实际的编码过程中,可以对各个预测模式为帧间预测的编码块实施本发明实施例提供的视频编码方法,得到编码数据。同样地,对对应的待解码块实施本发明实施例提供的视频解码方法,得到解码的图像块,根据各个待解码视频帧的各个解码图像块得到解码后的视频帧。
以下以一个具体的实施例对本发明实施例提供的视频编码方法以及视频解码方法进行说明,其中,假设视频编解码标准中第二当前参考块的数量为3个。
1、编码端获取视频帧序列中的当前视频帧,假设为第三个视频帧,且前两个视频帧均已编码。对当前视频帧进行划分,假设划分为16个编码块。前9个已经编码完成,因此将第10个编码块作为当前编码块,例如,将图11中的编码块C作为当前编码块。
2、编码端从当前视频帧的前两个视频帧中进行运动搜索,获取与当前编码块的SSE值最小的块作为第一当前参考块。例如,如图11所示,获取得到第一当前参考块为P0。
3、编码端在以第一当前参考块所在位置为中心,边长为50个像素的正方形区域中,获取与第一当前参考块的SSE值最小的前三个图像块作为第二当前图像块,如图11所示,获取到第二当前参考块为P1、P2以及P3。
4、编码端获取P0、P1、P2以及P3对应的权重,假设预设的权重分别为0.7、0.1、0.1以及0.1,则第一融合参考块Pw=P0*0.7+P1*0.1+P2*0.1+P3*0.1。
5、编码端得到第一融合参考块Pw后,计算Pw与C的差异度、计算P0与C的差异度,在第一融合参考块以及第一当前参考块中选择差异度小的作为选择目标参考块。其中,Pw与C的差异度小于P0与C的差异度,因此,将第一融合参考块Pw作为目标参考块。
6、编码端利用第一融合参考块对当前编码块C进行编码,得到对应的编码数据,编码数据中还携带1比特的语法元素信息以及第一当前参考块P0对应的运动矢量(MV)信息,其中语法元素信息muiti_prediction_flag可以为0,表示参考块模式信息为选择第一融合参考块作为目标参考块。
7、编码端将编码数据发送到解码端中,解码端获取当前待解码块对应的编码数据。
8、解码端根据编码数据中携带的运动矢量信息获取当前待解码块对应的第一当前参考块P0。
9、解码端从编码数据提取得到标识参考块模式信息的语法元素信息,得到参考块模式信息为选择第一融合参考块作为目标参考块。进入步骤10。否则,直接采用第一当前参考块进行解码。
10、解码端获取与第一当前参考块匹配的第二当前参考块P1、P2以及P3。
11、解码端获取P0、P1、P2以及P3对应的预设权重,分别为0.7、0.1、0.1以及0.1,得到融合图像块Pw=P0*0.7+P1*0.1+P2*0.1+P3*0.1。
12、解码端根据第一融合参考块Pw对编码数据进行解码,得到当前待解码块对应的视频图像块。
如图12所示,在一个实施例中,提供了一种视频编码装置,该视频编码装置可以集成于上述的终端110以及服务器120中,具体可以包括编码块获取模块1202、编码参考块获取模块1204、编码参考块匹配模块1206以及编码模块1208。
编码块获取模块1202,用于获取当前视频帧中待编码的当前编码块。
编码参考块获取模块1204,用于获取当前编码块对应的第一当前参考块。
编码参考块匹配模块1206,用于获取与第一当前参考块匹配的一个或多个第二当前参考块。
编码模块1208,用于根据第一当前参考块以及各个第二当前参考块对当前编码块进行编码,得到编码数据。
在一个实施例中,编码参考块匹配模块1206包括:
候选参考块获取单元,用于获取第一当前参考块对应的多个候选参考块。
第一差异度计算单元,用于计算第一当前参考块与各个候选参考块的第一差异度。
第二参考块获取单元,用于根据第一差异度从多个候选参考块中获取与第一当前参考块匹配的一个或多个第二当前参考块。
在一个实施例中,编码模块1208用于:根据第一当前参考块以及各个第二当前参考块进行图像融合,得到第一融合参考块;根据第一融合参考块对当前编码块进行编码,得到编码数据。
在一个实施例中,编码模块1208用于:根据第一当前参考块以及各个第二当前参考块进行图像融合,得到第一融合参考块;从第一融合参考块和第一当前参考块中选择目标参考块,根据目标参考块对当前编码块进行编码,得到编码数据,编码数据携带目标参考块对应的参考块模式信息。
在一个实施例中,编码模块1208用于:获取第一当前参考块和各个第二当前参考块对应的加权权重;根据加权权重将第一当前参考块以及各个第二当前参考块进行加权得到第一融合参考块。
在一个实施例中,编码模块1208用于:计算各个第二当前参考块与第一当前参考块的第二差异度;根据第二差异度得到各个第二当前参考块对应的加权权重,其中,各个第二当前参考块对应的加权权重与对应的第二差异度成负相关关系。
在一个实施例中,编码模块1208用于:计算第一融合参考块与当前编码块的第三差异度,计算第一当前参考块与当前编码块的第四差异度;根据第三差异度与第四差异度的大小选择目标参考块。
在一个实施例中,编码模块1208用于:根据第一融合参考块与当前编码块计算对应的第一率失真代价,根据第一当前参考块与当前编码块计算对应的第二率失真代价;根据第一率失真代价与第二率失真代价的大小选择目标参考块。
如图13所示,在一个实施例中,提供了一种视频解码装置,该视频解码装置可以集成于上述的终端110以及服务器120中,具体可以包括编码数据获取模块1302、解码参考块获取模块1304、解码参考块匹配模块1306以及解码模块1308。
编码数据获取模块1302,用于获取待解码视频帧中的当前待解码块对应的编码数据。
解码参考块获取模块1304,用于获取当前待解码块对应的第一当前参考块。
解码参考块匹配模块1306,用于获取与第一当前参考块匹配的一个或多个第二当前参考块。
解码模块1308,用于根据第一当前参考块以及各个第二当前参考块对编码数据进行解码,得到当前待解码块对应的视频图像块。
在一个实施例中,解码参考块匹配模块1306用于:获取第一当前参考块对应的多个候选参考块;计算第一当前参考块与各个候选参考块的第一差异度;根据第一差异度从多个候选参考块中获取与第一当前参考块匹配的一个或多个第二当前参考块。
在一个实施例中,解码模块1308用于:根据第一当前参考块以及各个第二当前参考块进行图像融合,得到第一融合参考块;根据第一融合参考块对编码数据进行解码,得到当前待解码块对应的视频图像块。
在一个实施例中编码数据携带目标参考块对应的参考块模式信息,解码装置还包括:
模式信息获取模块,用于从编码数据中读取参考块模式信息。
进入模块,用于当参考块模式信息表示采用第一当前参考块作为目标参考块时,根据第一参考块对编码数据进行解码,当参考块模式信息表示采用第一融合参考块作为目标参考块时,进入获取与第一当前参考块匹配的一个或多个第二当前参考块的步骤。
图14示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110。如图14所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现视频编码方法以及视频解码方法中的至少一种方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行视频编码方法以及视频解码方法中的至少一种方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
图15示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的服务器12。如图15所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器以及网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现视频编码方法以及视频解码方法中的至少一种方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行视频编码方法以及视频解码方法中的至少一种方法。
本领域技术人员可以理解,图14以及15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的视频编码装置可以实现为一种计算机程序的形式,计算机程序可在如图14以及15所示的计算机设备上运行。计算机设备的存储器中可存储组成该视频编码装置的各个程序模块,比如,图12所示的编码块获取模块1202、编码参考块获取模块1204、编码参考块匹配模块1206以及编码模块1208。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的视频编码方法中的步骤。
例如,图14以及15所示的计算机设备可以通过如图12所示的视频编码装置中的编码块获取模块1202获取当前视频帧中待编码的当前编码块;通过编码参考块获取模块1204获取当前编码块对应的第一当前参考块;通过编码参考块匹配模块1206获取与第一当前参考块匹配的一个或多个第二当前参考块;通过编码模块1208根据第一当前参考块以及各个第二当前参考块对当前编码块进行编码,得到编码数据。
在一个实施例中,本申请提供的视频解码装置可以实现为一种计算机程序的形式,计算机程序可在如图14或15所示的计算机设备上运行。计算机设备的存储器中可存储组成该视频解码装置的各个程序模块,比如,图13所示的编码数据获取模块1302、解码参考块获取模块1304、解码参考块匹配模块1306以及解码模块1308。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的视频解码方法中的步骤。
例如,图14以及15所示的计算机设备可以通过如图13所示的视频解码装置中的编码数据获取模块1302获取待解码视频帧中的当前待解码块对应的编码数据。通过解码参考块获取模块1304获取当前待解码块对应的第一当前参考块。通过解码参考块匹配模块1306获取与第一当前参考块匹配的一个或多个第二当前参考块。通过解码模块1308根据第一当前参考块以及各个第二当前参考块对编码数据进行解码,得到当前待解码块对应的视频图像块。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述视频编码方法以及视频解码方法中的一种或多种方法中的步骤。此处视频编码方法以及视频解码方法中的步骤可以是上述各个实施例的视频编码方法以及视频解码方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述视频编码方法以及视频解码方法中的一种或多种方法中的步骤。此处视频编码方法以及视频解码方法中的步骤可以是上述各个实施例的视频编码方法以及视频解码方法中的步骤。
应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (32)

1.一种视频编码方法,所述方法包括:
获取当前视频帧中待编码的当前编码块;
从所述当前视频帧的参考帧中,获取与所述当前编码块匹配的第一当前参考块;
获取与所述第一当前参考块匹配的一个或多个第二当前参考块;
获取融合参考块集合,从所述第一当前参考块以及所述融合参考块集合中选择目标参考块,根据所述目标参考块对当前编码块进行编码,得到编码数据,所述编码数据携带所述目标参考块对应的参考块模式信息;
所述融合参考块集合中包括根据所述第一当前参考块以及所述第二当前参考块进行图像融合得到的参考块,以及根据多个第二当前参考块进行融合得到的参考块中的一种或多种。
2.根据权利要求1所述的方法,其特征在于,所述获取与所述第一当前参考块匹配的一个或多个第二当前参考块包括:
根据与解码端一致的匹配算法获取与所述第一当前参考块匹配的一个或多个第二当前参考块,所述与解码端一致的匹配算法包括参考块获取区域一致以及匹配规则一致。
3.根据权利要求1所述的方法,其特征在于,所述获取与所述第一当前参考块匹配的一个或多个第二当前参考块包括:
获取所述第一当前参考块对应的多个候选参考块;
计算所述第一当前参考块与各个所述候选参考块的第一差异度;
根据所述第一差异度从所述多个候选参考块中获取与所述第一当前参考块匹配的一个或多个第二当前参考块。
4.根据权利要求1所述的方法,其特征在于,所述融合参考块集合包括第一融合参考块,所述获取融合参考块集合,从所述第一当前参考块以及所述融合参考块集合中选择目标参考块,根据所述目标参考块对当前编码块进行编码,得到编码数据包括:
根据所述第一当前参考块以及各个所述第二当前参考块进行图像融合,得到第一融合参考块;
从所述第一当前参考块以及所述融合参考块集合中选择目标参考块,根据所述目标参考块对当前编码块进行编码,得到编码数据。
5.根据权利要求1所述的方法,其特征在于,所述融合参考块集合包括第二融合参考块,所述获取融合参考块集合,从所述第一当前参考块以及所述融合参考块集合中选择目标参考块,根据所述目标参考块对当前编码块进行编码,得到编码数据包括:
当所述第二当前参考块包括多个时,根据所述第二当前参考块进行图像融合,得到第二融合参考块;
从所述第一当前参考块以及所述融合参考块集合中选择目标参考块,根据所述目标参考块对当前编码块进行编码,得到编码数据。
6.根据权利要求4所述的方法,其特征在于,所述根据所述第一当前参考块以及各个所述第二当前参考块进行图像融合,得到第一融合参考块包括:
获取所述第一当前参考块和各个所述第二当前参考块对应的加权权重;
根据所述加权权重将所述第一当前参考块以及各个所述第二当前参考块进行加权得到所述第一融合参考块。
7.根据权利要求6所述的方法,其特征在于,所述获取所述第一当前参考块和各个所述第二当前参考块对应的加权权重包括:
计算各个所述第二当前参考块与所述第一当前参考块的第二差异度;
根据所述第二差异度得到各个所述第二当前参考块对应的加权权重,其中,各个所述第二当前参考块对应的加权权重与对应的第二差异度成负相关关系。
8.根据权利要求4所述的方法,其特征在于,所述从所述第一当前参考块以及所述融合参考块集合中选择目标参考块包括:
计算所述第一融合参考块与所述当前编码块的第三差异度,计算所述第一当前参考块与所述当前编码块的第四差异度;
根据所述第三差异度与所述第四差异度的大小选择目标参考块。
9.根据权利要求4所述的方法,其特征在于,所述从所述第一当前参考块以及所述融合参考块集合中选择目标参考块包括:
根据所述第一融合参考块与所述当前编码块计算对应的第一率失真代价,根据所述第一当前参考块与所述当前编码块计算对应的第二率失真代价;
根据所述第一率失真代价与所述第二率失真代价的大小选择目标参考块。
10.根据权利要求8所述的方法,其特征在于,所述根据所述第三差异度与所述第四差异度的大小选择目标参考块包括:
当所述第四差异度与所述第三差异度相减得到的差值小于或等于第一预设阈值时,选择所述第一当前参考块作为目标参考块;
或者,当第四差异度与第三差异度相减得到的差值大于第一预设阈值时,选择所对应的第一融合参考块作为目标参考块。
11.一种视频解码方法,所述方法包括:
获取待解码视频帧中的当前待解码块对应的编码数据,所述编码数据携带目标参考块对应的参考块模式信息;
获取所述当前待解码块匹配的第一当前参考块,所述第一当前参考块是从参考帧中获取的;
从所述编码数据中读取所述参考块模式信息;
当所述参考块模式信息表示采用融合参考块集合中的融合参考块进行解码时,获取与所述第一当前参考块匹配的一个或多个第二当前参考块;
根据所述第二当前参考块进行图像融合,利用融合得到的融合参考块对所述编码数据进行解码,得到所述当前待解码块对应的视频图像块。
12.根据权利要求11所述的方法,其特征在于,获取与所述第一当前参考块匹配的一个或多个第二当前参考块包括:
根据与编码端一致的匹配算法获取与所述第一当前参考块匹配的一个或多个第二当前参考块,所述与编码端一致的匹配算法包括参考块获取区域一致以及匹配规则一致。
13.根据权利要求11所述的方法,其特征在于,所述获取与所述第一当前参考块匹配的一个或多个第二当前参考块包括:
获取所述第一当前参考块对应的多个候选参考块;
计算所述第一当前参考块与各个所述候选参考块的第一差异度;
根据所述第一差异度从所述多个候选参考块中获取与所述第一当前参考块匹配的一个或多个第二当前参考块。
14.根据权利要求11所述的方法,其特征在于,所述根据所述第二当前参考块进行图像融合,利用融合得到的融合参考块对所述编码数据进行解码,得到所述当前待解码块对应的视频图像块包括:
根据所述第一当前参考块以及各个所述第二当前参考块进行图像融合,得到第一融合参考块;
根据所述第一融合参考块对所述编码数据进行解码,得到所述当前待解码块对应的视频图像块。
15.根据权利要求11所述的方法,其特征在于,所述方法还包括:
当所述参考块模式信息表示采用所述第一当前参考块作为目标参考块时,根据所述第一当前参考块对所述编码数据进行解码。
16.一种视频编码装置,所述装置包括:
编码块获取模块,用于获取当前视频帧中待编码的当前编码块;
编码参考块获取模块,用于从所述当前视频帧的参考帧中,获取与所述当前编码块匹配的第一当前参考块;
编码参考块匹配模块,用于获取与所述第一当前参考块匹配的一个或多个第二当前参考块;
编码模块,用于获取融合参考块集合,从所述第一当前参考块以及所述融合参考块集合中选择目标参考块,根据所述目标参考块对当前编码块进行编码,得到编码数据,所述编码数据携带所述目标参考块对应的参考块模式信息;
所述融合参考块集合中包括根据所述第一当前参考块以及所述第二当前参考块进行图像融合得到的参考块,以及根据多个第二当前参考块进行融合得到的参考块中的一种或多种。
17.根据权利要求16所述的装置,其特征在于,所述编码参考块匹配模块用于:
根据与解码端一致的匹配算法获取与所述第一当前参考块匹配的一个或多个第二当前参考块,所述与解码端一致的匹配算法包括参考块获取区域一致以及匹配规则一致。
18.根据权利要求16所述的装置,其特征在于,所述编码参考块匹配模块包括:
候选参考块获取单元,用于获取所述第一当前参考块对应的多个候选参考块;
第一差异度计算单元,用于计算所述第一当前参考块与各个所述候选参考块的第一差异度;
第二参考块获取单元,用于根据所述第一差异度从所述多个候选参考块中获取与所述第一当前参考块匹配的一个或多个第二当前参考块。
19.根据权利要求16所述的装置,其特征在于,所述融合参考块集合包括第一融合参考块,所述编码模块用于:
根据所述第一当前参考块以及各个所述第二当前参考块进行图像融合,得到第一融合参考块;
从所述第一当前参考块以及所述融合参考块集合中选择目标参考块,根据所述目标参考块对当前编码块进行编码,得到编码数据。
20.根据权利要求16所述的装置,其特征在于,所述融合参考块集合包括第二融合参考块,所述编码模块用于:
当所述第二当前参考块包括多个时,根据所述第二当前参考块进行图像融合,得到第二融合参考块;
从所述第一当前参考块以及所述融合参考块集合中选择目标参考块,根据所述目标参考块对当前编码块进行编码,得到编码数据。
21.根据权利要求19所述的装置,其特征在于,所述编码模块用于:
获取所述第一当前参考块和各个所述第二当前参考块对应的加权权重;
根据所述加权权重将所述第一当前参考块以及各个所述第二当前参考块进行加权得到所述第一融合参考块。
22.根据权利要求21所述的装置,其特征在于,所述编码模块用于:
计算各个所述第二当前参考块与所述第一当前参考块的第二差异度;
根据所述第二差异度得到各个所述第二当前参考块对应的加权权重,其中,各个所述第二当前参考块对应的加权权重与对应的第二差异度成负相关关系。
23.根据权利要求19所述的装置,其特征在于,所述编码模块用于:
计算所述第一融合参考块与所述当前编码块的第三差异度,计算所述第一当前参考块与所述当前编码块的第四差异度;
根据所述第三差异度与所述第四差异度的大小选择目标参考块。
24.根据权利要求19所述的装置,其特征在于,所述编码模块用于:
根据所述第一融合参考块与所述当前编码块计算对应的第一率失真代价,根据所述第一当前参考块与所述当前编码块计算对应的第二率失真代价;
根据所述第一率失真代价与所述第二率失真代价的大小选择目标参考块。
25.根据权利要求23所述的装置,其特征在于,所述编码模块用于:
当所述第四差异度与所述第三差异度相减得到的差值小于或等于第一预设阈值时,选择所述第一当前参考块作为目标参考块;
或者,当第四差异度与第三差异度相减得到的差值大于第一预设阈值时,选择所对应的第一融合参考块作为目标参考块。
26.一种视频解码装置,所述装置包括:
编码数据获取模块,用于获取待解码视频帧中的当前待解码块对应的编码数据,所述编码数据携带目标参考块对应的参考块模式信息;
解码参考块获取模块,用于获取所述当前待解码块对应的第一当前参考块,所述第一当前参考块是从参考帧中获取的;
解码参考块匹配模块,用于从所述编码数据中读取所述参考块模式信息;当所述参考块模式信息表示采用融合参考块集合中的融合参考块进行解码时,获取与所述第一当前参考块匹配的一个或多个第二当前参考块;
解码模块,用于根据所述第二当前参考块进行图像融合,利用融合得到的融合参考块对所述编码数据进行解码,得到所述当前待解码块对应的视频图像块。
27.根据权利要求26所述的装置,其特征在于,所述解码参考块匹配模块用于:
根据与编码端一致的匹配算法获取与所述第一当前参考块匹配的一个或多个第二当前参考块,所述与编码端一致的匹配算法包括参考块获取区域一致以及匹配规则一致。
28.根据权利要求26所述的装置,其特征在于,所述解码参考块匹配模块用于:
获取所述第一当前参考块对应的多个候选参考块;
计算所述第一当前参考块与各个所述候选参考块的第一差异度;
根据所述第一差异度从所述多个候选参考块中获取与所述第一当前参考块匹配的一个或多个第二当前参考块。
29.根据权利要求26所述的装置,其特征在于,所述解码模块用于:
根据所述第一当前参考块以及各个所述第二当前参考块进行图像融合,得到第一融合参考块;
根据所述第一融合参考块对所述编码数据进行解码,得到所述当前待解码块对应的视频图像块。
30.根据权利要求26所述的装置,其特征在于,所述解码模块用于:
当所述参考块模式信息表示采用所述第一当前参考块作为目标参考块时,根据所述第一当前参考块对所述编码数据进行解码。
31.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至15中任一项权利要求所述方法的步骤。
32.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至15中任一项权利要求所述方法的步骤。
CN201811198938.3A 2018-10-15 2018-10-15 视频编码、视频解码方法、装置、计算机设备和存储介质 Active CN111050177B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201811198938.3A CN111050177B (zh) 2018-10-15 2018-10-15 视频编码、视频解码方法、装置、计算机设备和存储介质
PCT/CN2019/109341 WO2020078211A1 (zh) 2018-10-15 2019-09-30 视频编码、视频解码方法、装置、计算机设备和存储介质
EP19873653.0A EP3869806A4 (en) 2018-10-15 2019-09-30 VIDEO ENCODING AND VIDEO DECODING PROCESSES, DEVICE, COMPUTER DEVICE AND INFORMATION MEDIA
JP2020563899A JP7431752B2 (ja) 2018-10-15 2019-09-30 ビデオ符号化、ビデオ復号化方法、装置、コンピュータ装置及びコンピュータプログラム
US17/074,477 US11445205B2 (en) 2018-10-15 2020-10-19 Video encoding method and apparatus, video decoding method and apparatus, computer device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811198938.3A CN111050177B (zh) 2018-10-15 2018-10-15 视频编码、视频解码方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN111050177A CN111050177A (zh) 2020-04-21
CN111050177B true CN111050177B (zh) 2021-07-20

Family

ID=70230389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811198938.3A Active CN111050177B (zh) 2018-10-15 2018-10-15 视频编码、视频解码方法、装置、计算机设备和存储介质

Country Status (5)

Country Link
US (1) US11445205B2 (zh)
EP (1) EP3869806A4 (zh)
JP (1) JP7431752B2 (zh)
CN (1) CN111050177B (zh)
WO (1) WO2020078211A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111950587B (zh) * 2020-07-02 2024-04-16 北京大学深圳研究生院 帧内编码块划分处理方法和硬件装置
CN113992635B (zh) * 2021-10-20 2022-09-20 腾讯科技(深圳)有限公司 多媒体数据处理方法、装置、设备及存储介质
CN115293994B (zh) * 2022-09-30 2022-12-16 腾讯科技(深圳)有限公司 图像处理方法、装置、计算机设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101816183A (zh) * 2007-10-04 2010-08-25 三星电子株式会社 使用子像素运动估计对图像进行帧间预测编码/解码的方法和设备
CN102316317A (zh) * 2010-07-10 2012-01-11 华为技术有限公司 一种生成图像预测值的方法和装置
WO2012090425A1 (ja) * 2010-12-27 2012-07-05 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム、並びに動画像復号装置、動画像復号方法及び動画像復号プログラム
KR20130023444A (ko) * 2011-08-29 2013-03-08 한양대학교 산학협력단 다단계 화면간 예측을 이용한 영상 부호화/복호화 장치 및 방법
CN104244002A (zh) * 2013-06-14 2014-12-24 北京三星通信技术研究有限公司 一种视频编/解码中运动信息的获取方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090008418A (ko) * 2006-04-28 2009-01-21 가부시키가이샤 엔티티 도코모 화상 예측 부호화 장치, 화상 예측 부호화 방법, 화상 예측부호화 프로그램, 화상 예측 복호 장치, 화상 예측 복호 방법 및 화상 예측 복호 프로그램
JP5271271B2 (ja) * 2006-11-03 2013-08-21 サムスン エレクトロニクス カンパニー リミテッド 動きベクトル・トラッキングを利用した映像の符号化、復号化方法及び装置
KR20090095012A (ko) * 2008-03-04 2009-09-09 삼성전자주식회사 연속적인 움직임 추정을 이용한 영상 부호화, 복호화 방법및 장치
EP2269379B1 (en) * 2008-04-11 2019-02-27 InterDigital Madison Patent Holdings Methods and apparatus for template matching prediction (tmp) in video encoding and decoding
US8995526B2 (en) * 2009-07-09 2015-03-31 Qualcomm Incorporated Different weights for uni-directional prediction and bi-directional prediction in video coding
EP2615832A1 (en) * 2012-01-13 2013-07-17 Thomson Licensing Method and device for encoding a block of an image and corresponding reconstructing method and device
CN110121073B (zh) * 2018-02-06 2021-07-09 浙江大学 一种双向帧间预测方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101816183A (zh) * 2007-10-04 2010-08-25 三星电子株式会社 使用子像素运动估计对图像进行帧间预测编码/解码的方法和设备
CN102316317A (zh) * 2010-07-10 2012-01-11 华为技术有限公司 一种生成图像预测值的方法和装置
WO2012090425A1 (ja) * 2010-12-27 2012-07-05 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム、並びに動画像復号装置、動画像復号方法及び動画像復号プログラム
KR20130023444A (ko) * 2011-08-29 2013-03-08 한양대학교 산학협력단 다단계 화면간 예측을 이용한 영상 부호화/복호화 장치 및 방법
CN104244002A (zh) * 2013-06-14 2014-12-24 北京三星通信技术研究有限公司 一种视频编/解码中运动信息的获取方法及装置

Also Published As

Publication number Publication date
US20210037251A1 (en) 2021-02-04
CN111050177A (zh) 2020-04-21
EP3869806A4 (en) 2021-12-22
JP2021525025A (ja) 2021-09-16
EP3869806A1 (en) 2021-08-25
WO2020078211A1 (zh) 2020-04-23
JP7431752B2 (ja) 2024-02-15
US11445205B2 (en) 2022-09-13

Similar Documents

Publication Publication Date Title
CN108848380B (zh) 视频编码和解码方法、装置、计算机设备及存储介质
RU2678489C1 (ru) Устройство кодирования видео с предсказанием, способ кодирования видео с предсказанием, программа кодирования видео с предсказанием, устройство декодирования видео с предсказанием, способ декодирования видео с предсказанием и программа декодирования видео с предсказанием
Liu et al. Neural video coding using multiscale motion compensation and spatiotemporal context model
US9451266B2 (en) Optimal intra prediction in block-based video coding to calculate minimal activity direction based on texture gradient distribution
CN110557631B (zh) 图像预测方法和相关设备
CN108769681B (zh) 视频编码、解码方法、装置、计算机设备和存储介质
US20060012719A1 (en) System and method for motion prediction in scalable video coding
KR100955396B1 (ko) 양-예측 부호화 방법 및 장치, 양-예측 복호화 방법 및장치 및 기록매체
CN108924553B (zh) 视频编码、解码方法、装置、计算机设备和存储介质
CN111050177B (zh) 视频编码、视频解码方法、装置、计算机设备和存储介质
CN110268716B (zh) 由球面投影处理等量矩形对象数据以补偿畸变
CN108848377B (zh) 视频编码、解码方法、装置、计算机设备和存储介质
CN101023672A (zh) 在可调整视频编码中用于运动预测的系统和方法
CN112673627A (zh) 在图像编码系统中使用仿射合并候选列表的基于仿射运动预测的图像解码方法和装置
CN112602326A (zh) 一种运动矢量预测方法、装置与编解码器
WO2023020588A1 (en) Template matching based motion vector refinement in video coding system
US20220109869A1 (en) Method for encoding video using effective differential motion vector transmission method in omnidirectional camera, and method and device
KR101074919B1 (ko) 분산 비디오 부호화 영상의 복호화 장치 및 그 방법
JP4785769B2 (ja) 符号化装置及び符号化プログラム
KR20120010738A (ko) 경쟁 기반 인터리브드 움직임 벡터코딩 방법 및 장치와 이를 이용한 영상 부호화/복호화 방법 및 장치
Kanger et al. Video Image Compression Using Absolute Moment Block Truncation Method with Orthogonal Search Motion Estimation Technique
KR20170122350A (ko) 확장된 Intra Block Copy 방법을 통한 비디오 복호화 방법 및 장치
KR20130097958A (ko) 움직임 정보 부호화/복호화 장치 및 움직임 정보를 부호화/복호화하는 방법

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

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant