CN112261409A - 残差编码、解码方法及装置、存储介质及电子装置 - Google Patents

残差编码、解码方法及装置、存储介质及电子装置 Download PDF

Info

Publication number
CN112261409A
CN112261409A CN201910663278.XA CN201910663278A CN112261409A CN 112261409 A CN112261409 A CN 112261409A CN 201910663278 A CN201910663278 A CN 201910663278A CN 112261409 A CN112261409 A CN 112261409A
Authority
CN
China
Prior art keywords
block
residual
decoded
coded
prediction
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.)
Pending
Application number
CN201910663278.XA
Other languages
English (en)
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.)
ZTE Corp
Huazhong University of Science and Technology
Original Assignee
ZTE Corp
Huazhong University of Science and Technology
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 ZTE Corp, Huazhong University of Science and Technology filed Critical ZTE Corp
Priority to CN201910663278.XA priority Critical patent/CN112261409A/zh
Priority to PCT/CN2020/100558 priority patent/WO2021012942A1/zh
Publication of CN112261409A publication Critical patent/CN112261409A/zh
Pending legal-status Critical Current

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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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

Landscapes

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

Abstract

本发明提供了一种残差编码、解码方法及装置、存储介质及电子装置。在残差编码方法中,确定待编码块的参考块的残差;基于所述待编码块的所述参考块的残差,对所述待编码块的残差进行预测,得到所述待编码块的预测残差;将所述待编码块的所述预测残差和所述待编码块的实际残差之间的残差差值编码进码流。通过本发明,解决了相关技术中如何降低编码残差的比特率的问题,进而达到了节省码率的效果。

Description

残差编码、解码方法及装置、存储介质及电子装置
技术领域
本发明涉及通信领域,具体而言,涉及一种残差编码、解码方法及装置、存储介质及电子装置。
背景技术
近些年,随着网络通信和多媒体技术的快速发展,视频内容开始以高分辨率和超高分辨率形式呈现给观众。与标准分辨率视频相比,视频的分辨率越高,人们观看视频内容的视觉效果体验越好。同时,高分辨率视频也给视频编码技术提出了更高的要求。为了应对这一挑战,国际联合视频编码小组(Joint Collaborative Team on Video Coding,简称为JCT-VC)开发了新一代高效视频编码标准(High Efficiency Video Coding,简称为HEVC)。与上一代视频编码标准H.264/MPEG-4 AVC相比,HEVC提升了50%的压缩效率,并保持了原来相同的视觉质量。2015年9月1日,谷歌宣布与亚马逊、思科、英特尔、微软、火狐、奈飞(Netflix)成立开放媒体联盟(Alliance of Open Media,简称为AOM),AOM开发了新一代视频编码格式AV1。2017年12月,中国数字音视频编解码技术标准(Audio Video CodingStandard,简称为AVS)提出新一代AVS3视频编码。联合视频探索团队(Joint VideoExploration Team,简称为JVET)于2018年4月10日美国圣地亚哥会议上确定最新一代视频编码标准的名称为通用视频编码(Versatile Video Coding,简称为VVC),主要目标是改进现有HEVC,提供更高的压缩性能,同时会针对新兴应用(360°全景视频和高动态范围成像(High Dynamic Range Imaging,简称为HDR或HDRI))进行优化。VVC预计在2020年之前完成标准化,目前提出的方案相对于HEVC提高已经达到40%以上。
帧间预测是视频编码标准HEVC/AV1/AVS中最核心的组成部分,它利用视频时间域的相关性,使用时域相邻已编码图像像素预测当前图像的像素,以达到有效去除视频时域冗余的目的。目前主流的视频编码标准都是采用基于块的运动补偿技术,原理是为当前图像的每个像素块在之前已编码图像中通过运动估计寻找一个最佳匹配块。用于预测的图像称为参考图像,参考块到当前像素块的位移称为运动矢量(motion vector,简称为MV),当前块原始像素值与参考块进行运动补偿后的预测块的像素值之间的差值称为残差(也可以称为残差、残差值、残差块)。帧间预测只需要将编码块的最优MV、参考帧索引和残差值经编码后写入码流传输给解码器端。解码器端根据最优MV和参考帧索引在参考帧找到对应的参考块,然后再加上解码后残差值,就可以恢复出该解码块的原始像素值。帧间预测主要需要消耗比特率的是残差块的编码,传统的帧间预测直接将预测后得到的实际残差进行编码。然而,针对大多数复杂运动情况下,残差块的值非常大,这会导致编码残差的比特率非常高。
因此,针对如何降低编码残差的比特率以达到节省码率的效果,是目前亟待解决的问题。
发明内容
本发明实施例提供了一种残差编码、解码方法及装置、存储介质及电子装置,以至少解决相关技术中如何降低编码残差的比特率的问题。
根据本发明的一个实施例,提供了一种残差编码方法,包括:确定待编码块的参考块的残差,其中,所述待编码块的所述参考块包括:所述待编码块在时域上的至少两个第一参考块;或,所述待编码块在空域上的至少两个第二参考块;或,所述待编码块在时域上的至少一个第一参考块以及所述待编码块在空域上的至少一个第二参考块;基于所述待编码块的所述参考块的残差,对所述待编码块的残差进行预测,得到所述待编码块的预测残差;将所述待编码块的所述预测残差和所述待编码块的实际残差之间的残差差值编码进码流。
在至少一个示例性实施例中,在所述待编码块所在的图像帧为P帧的情况下,所述待编码块在所述时域上的第一参考块包括:所述待编码块在前向参考帧中的最优预测单元块PU,记为第一最优PU,和/或,所述待编码块在所述前向参考帧的前一帧中的最优PU,记为第二最优PU;或者,在所述待编码块所在的图像帧为B帧的情况下,所述待编码块在所述时域上的第一参考块包括:所述待编码块在前向参考帧中的最优PU,记为第三最优PU,和/或,所述待编码块在后向参考帧中的最优PU,记为第四最优PU。
在至少一个示例性实施例中,在所述待编码块所在的图像帧为P帧的情况下,所述待编码块在所述时域上的第一参考块通过以下方式确定:通过运动估计在所述前向参考帧中确定所述待编码块的所述第一最优PU,并确定所述待编码块相对于所述第一最优PU的运动矢量MV;根据所述第一最优PU的位置和所述MV,通过运动估计在所述前向参考帧的前一帧中确定所述第二最优PU。
在至少一个示例性实施例中,所述待编码块在所述空域上的第二参考块位于所述待编码块所在的图像帧中,且与所述待编码块在所述空域上相邻。
在至少一个示例性实施例中,所述待编码块在所述空域上的第二参考块包括:所述待编码块所在的图像帧中,与所述待编码块相邻的左边的块和/或上边的块。
在至少一个示例性实施例中,所述待编码块的所述参考块包括:
所述待编码块在所述时域上的对应的残差为非全零的两个第一参考块,和所述待编码块在所述空域上的对应的残差为非全零的两个第二参考块;或者,
所述待编码块在所述时域上的对应的残差为非全零的一个第一参考块,和所述待编码块在所述空域上的对应的残差为非全零的一个第二参考块;或者,
所述待编码块在所述时域上的对应的残差为非全零的两个第一参考块,和所述待编码块在所述空域上的对应的残差为非全零的一个第二参考块;或者,
所述待编码块在所述时域上的对应的残差为非全零的一个第一参考块,和所述待编码块在所述空域上的对应的残差为非全零的两个第二参考块;或者,
所述待编码块在所述时域上的对应的残差为非全零的两个第一参考块;或者,
所述待编码块在所述空域上的对应的残差为非全零的两个第二参考块。
在至少一个示例性实施例中,基于所述待编码块的所述参考块的残差,对所述待编码块的残差进行预测,得到所述待编码块的预测残差包括:将所述参考块的所述残差输入残差预测模型得到所述待编码块的预测残差,其中,所述残差预测模型是基于训练样本采用深度学习网络训练得到的,所述训练样本包括:具有已知残差的编码块的参考块的残差、以及所述具有已知残差的编码块的实际残差;或者,对所述参考块的所述残差进行线性加权,得到所述待编码块的预测残差,其中,所述线性加权包括单一权重的线性加权或多权重的线性加权。
在至少一个示例性实施例中,所述待编码块的所述实际残差为所述待编码块的原始图像块的像素值与所述待编码块的预测块的像素值之间的差值,其中,所述待编码块的所述预测块是对所述编码块的所述参考块进行运动补偿之后得到的块。
根据本发明的另一个实施例,提供了一种残差解码方法,包括:基于码流中解析出来的运动矢量MV确定待解码块的预测块,并获取所述待解码块的参考块的残差,其中,所述待解码块的所述参考块包括:所述待解码块在时域上的至少两个第一参考块;或,所述待解码块在空域上的至少两个第二参考块;或,所述待解码块在时域上的至少一个第一参考块以及所述待解码块在空域上的至少一个第二参考块;基于所述待解码块的所述参考块的残差,对所述待解码块的残差进行预测,得到所述待解码块的预测残差;根据所述待解码块的预测残差和从所述码流中解析出的所述待解码块的预测残差和所述待解码块的实际残差之间的残差差值,确定所述待解码块的实际残差。
在至少一个示例性实施例中,在所述待解码块所在的图像帧为P帧的情况下,所述待解码块在所述时域上的第一参考块包括:所述待解码块在前向参考帧中的最优预测单元块PU,记为第一最优PU,和/或,所述待解码块在所述前向参考帧的前一帧中的最优PU,记为第二最优PU;或者,在所述待解码块所在的图像帧为B帧的情况下,所述待解码块在所述时域上的第一参考块包括:所述待解码块在前向参考帧中的最优PU,记为第三最优PU,和/或,所述待解码块在后向参考帧中的最优PU,记为第四最优PU。
在至少一个示例性实施例中,在所述待解码块所在的图像帧为P帧的情况下,所述待解码块在所述时域上的第一参考块通过以下方式确定:根据所述码流中解析出来的所述MV,确定所述待解码块在所述前向参考帧中的所述第一最优PU;根据所述第一最优PU在所述前向参考帧的前一帧中的同位PU,通过运动估计在所述前向参考帧的前一帧中确定所述第二最优PU。
在至少一个示例性实施例中,所述待解码块在所述空域上的第二参考块位于所述待解码块所在的图像帧中,且与所述待解码块在所述空域上相邻。
在至少一个示例性实施例中,所述待解码块在所述空域上的第二参考块包括:所述待解码块所在的图像帧中,与所述待解码块相邻的左边的块和/或上边的块。
在至少一个示例性实施例中,基于所述待解码块的所述参考块的残差,对所述待解码块的残差进行预测,得到所述待解码块的预测残差包括:将所述参考块的所述残差输入残差预测模型得到所述待解码块的预测残差,其中,所述残差预测模型与编码器端的残差预测模型相同;或者,对所述参考块的所述残差进行线性加权,得到所述待解码块的预测残差,其中,所述线性加权与编码器端的线性加权相同。
在至少一个示例性实施例中,在所述待解码块的预测残差和从所述码流中解析出的所述待解码块的预测残差和所述待解码块的实际残差之间的残差差值,确定所述待解码块的实际残差之后,还包括:在所述待解码块的所述预测块的基础上加上所述实际残差,恢复出所述待解码块的原始图像块。
根据本发明的又一个实施例,提供了一种残差编码装置,包括:编码器端参考残差确定模块,设置为确定待编码块的参考块的残差,其中,所述待编码块的所述参考块包括:所述待编码块在时域上的至少两个第一参考块;或,所述待编码块在空域上的至少两个第二参考块;或,所述待编码块在时域上的至少一个第一参考块以及所述待编码块在空域上的至少一个第二参考块;编码器端残差预测模块,设置为基于所述待编码块的所述参考块的残差,对所述待编码块的残差进行预测,得到所述待编码块的预测残差;残差编码模块,设置为将所述待编码块的所述预测残差和所述待编码块的实际残差之间的残差差值编码进码流。
根据本发明的又一个实施例,提供了一种残差解码装置,包括:解码器端参考残差确定模块,设置为基于码流中解析出来的运动矢量MV确定待解码块的预测块,并获取所述待解码块的参考块的残差,其中,所述待解码块的所述参考块包括:所述待解码块在时域上的至少两个第一参考块;或,所述待解码块在空域上的至少两个第二参考块;或,所述待解码块在时域上的至少一个第一参考块以及所述待解码块在空域上的至少一个第二参考块;解码器端残差预测模块,设置为基于所述待解码块的所述参考块的残差,对所述待解码块的残差进行预测,得到所述待解码块的预测残差;残差解码模块,设置为根据所述待解码块的预测残差和从所述码流中解析出的所述待解码块的预测残差和所述待解码块的实际残差之间的残差差值,确定所述待解码块的实际残差。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,根据参考块的残差对待编码块的残差进行预测得到预测残差,并将预测残差和实际残差之间的残差差值编码进码流,因为编码器只需要传输当前待编码块的实际残差与预测残差之间的差值,而残差差值的大小远远低于实际残差,所以有效减少了编码残差所需的比特率,达到了节省码率的效果。在解码器端布局有编码器端相同的残差预测过程,解码器端基于待解码块的参考块的残差预测待解码块的残差,并根据预测残差和码流中携带的残差差值确定待解码块的实际残差,能够保证在解码器端,基于节省码率的码流仍然能够正确恢复得到待解码块的实际残差。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种设置有能够应用残差编码方法和残差解码方法的帧间预测模块的移动终端10的硬件结构框图;
图2是根据本发明实施例1的残差编码方法的流程图;
图3是根据本发明实施例1的残差编码装置的结构框图;
图4是根据本发明实施例2的残差解码方法的流程图;
图5是根据本发明实施例2的残差解码装置的结构框图;
图6是根据本发明实施例3的一个用于生成残差预测模块的卷积神经网络的示意图;
图7是根据本发明实施例3的P帧和B帧情况下时域参考残差块的选取示意图;
图8是根据本发明实施例3的空域参考残差块的选取示意图;
图9是本发明实施例3的一种利用时空相关性提升视频帧间编码性能的方法程示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本发明实施例提供了一种利用时空相关性提升编码性能(例如,视频帧间编码性能)的方案,该方案在视频帧间预测中利用残差预测模块预测编码块的残差值,以减少编码残差的码率,用于提升视频编码中帧间预测编码效率。编解码器在帧间预测中加入残差预测模块,利用当前待编码块的空域和时域上参考块的残差,预测当前待编码块的残差值(以下称之为预测残差)。相比于直接将待编码块的残差块编码进码流的编码方案,编码器只需要传输当前块的实际残差与预测残差之间的差值,从而减少编码残差所需的比特率,以达到节省码率的效果。
以下实施例1从编码器端描述了一种能够减少编码残差所需的比特率的残差编码方案,本申请实施例2从解码器端描述了与编码器端相对应的正确解析待解码块的残差块的残差解码方案。实施例1提供的编码器端的实施例以及实施例2所提供的解码器端的实施例可以分别应用在编解码器端的帧间预测模块中(例如,可应用于现有视频编码标准的帧间预测模块中),这些帧间预测模块可以设置在移动终端、计算机终端或者类似的运算装置中。以帧间预测模块设置在移动终端上为例,图1是本发明实施例的一种设置有能够应用残差编码方法和残差解码方法的帧间预测模块的移动终端10的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置,其上可以运行相应的程序用于实现能够应用残差编码方法和残差解码方法的帧间预测模块的功能)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例1提供的编码器端的实施例以及实施例2所提供的解码器端的实施例对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
以下分别通过实施例1和2从编码器端和解码器端描述残差编码方案。
实施例1
在本实施例中提供了一种残差编码方法,图2是根据本发明实施例1的残差编码方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,确定待编码块的参考块的残差(在本发明实施例中,这一术语也被称为残差、残差块、参考残差、参考残差块),其中,所述待编码块的所述参考块包括:所述待编码块在时域上的至少两个第一参考块;或,所述待编码块在空域上的至少两个第二参考块;或,所述待编码块在时域上的至少一个第一参考块以及所述待编码块在空域上的至少一个第二参考块;
步骤S204,基于所述待编码块的所述参考块的残差,对所述待编码块的残差进行预测,得到所述待编码块的预测残差;
步骤S206,将所述待编码块的所述预测残差和所述待编码块的实际残差之间的残差差值编码进码流(例如,视频帧间编码码流)。
在步骤S202中所提及的参考块的残差,指的是在编码过程中按照传统方法得到参考块本身的实际编码残差,因为参考块已经完成编码,所以参考块的残差是可以通过技术手段可以获得的。
在步骤S206中所提及的所述待编码块的所述实际残差为所述待编码块的原始图像块的像素值与所述待编码块的预测块的像素值之间的差值,其中,所述待编码块的所述预测块是对所述待编码块的所述参考块进行运动补偿之后得到的块。
通过上述步骤,根据参考块的残差对待编码块的残差进行预测得到预测残差,并将预测残差和实际残差之间的残差差值编码进码流,因为编码器只需要传输当前待编码块的实际残差与预测残差之间的差值,而残差差值的大小远远低于实际残差,所以有效减少了编码残差所需的比特率,达到了节省码率的效果。
关于待编码块的参考块的选取,鉴于视频图像的连续性,选择合适的参考块能够对待编码块的残差进行准确的预测。
在至少一个示例性实施例中,在所述待编码块所在的图像帧为P帧的情况下,所述待编码块在所述时域上的第一参考块可以包括:所述待编码块在前向参考帧中的最优预测单元块PU,记为第一最优PU,和/或,所述待编码块在所述前向参考帧的前一帧中的最优PU,记为第二最优PU。
在所述待编码块所在的图像帧为B帧的情况下,所述待编码块在所述时域上的第一参考块包括:所述待编码块在前向参考帧中的最优PU,记为第三最优PU,和/或,所述待编码块在后向参考帧中的最优PU,记为第四最优PU。
在至少一个示例性实施例中,在所述待编码块所在的图像帧为P帧的情况下,所述待编码块在所述时域上的第一参考块可以通过以下方式确定:通过运动估计在所述前向参考帧中确定所述待编码块的所述第一最优PU,并确定所述待编码块相对于所述第一最优PU的运动矢量MV;根据所述第一最优PU的位置和所述MV,通过运动估计在所述前向参考帧的前一帧中确定所述第二最优PU。
在至少一个示例性实施例中,所述待编码块在所述空域上的第二参考块位于所述待编码块所在的图像帧中,且与所述待编码块在所述空域上相邻。
在至少一个示例性实施例中,所述待编码块在所述空域上的第二参考块包括:所述待编码块所在的图像帧中,与所述待编码块相邻的左边的块和/或上边的块(优选可以是具有相同尺寸的空域上相邻的左边和/或上边的块)。
本领域技术人员应当理解,在实际应用中,可以通过上述方式确定待编码块在时域上的第一参考块,和/或,待编码块在空域上的第二参考块。时域上的第一参考块所对应的残差可以称为时域参考残差块,空域上的第二参考块所对应的残差可以称为空域参考残差块,基于至少一个时域参考残差块和/或至少一个空域参考残差块,可以预测出待编码块的残差信息。
一种较优的实施方式中,为了数据能够对称考虑,可以选取两个时域参考残差块和两个空域参考残差块,并基于这四个参考残差块进行残差预测。此时,所述待编码块的所述参考块包括:所述待编码块在所述时域上的对应的残差为非全零的两个第一参考块,和所述待编码块在所述空域上的对应的残差为非全零的两个第二参考块。
在另一种较优的实施方式中,在仅有一个时域参考残差块和一个空域参考残差块为非全零块的时候,可以选取一个时域和一个空域参考残差块,并基于这两个参考残差块进行残差预测。此时,所述待编码块的所述参考块包括:所述待编码块在所述时域上的对应的残差为非全零的一个第一参考块,和所述待编码块在所述空域上的对应的残差为非全零的一个第二参考块。
在另一种较优的实施方式中,在仅有两个时域参考残差块和一个空域参考残差块为非全零块的时候,可以选取两个时域和一个空域参考残差块,并基于这三个参考残差块进行残差预测。此时,所述待编码块的所述参考块包括:所述待编码块在所述时域上的对应的残差为非全零的两个第一参考块,和所述待编码块在所述空域上的对应的残差为非全零的一个第二参考块。
在另一种较优的实施方式中,在仅有一个时域参考残差块和两个空域参考残差块为非全零块的时候,可以选取一个时域和两个空域参考残差块,并基于这三个参考残差块进行残差预测。此时,所述待编码块的所述参考块包括:所述待编码块在所述时域上的对应的残差为非全零的一个第一参考块,和所述待编码块在所述空域上的对应的残差为非全零的两个第二参考块。
在另一种较优的实施方式中,在仅有时域上两个时域参考残差块是非全零块的时候,可以选取两个时域参考残差块,并基于这两个时域参考残差块进行残差预测。此时,所述待编码块的所述参考块包括:所述待编码块在所述时域上的对应的残差为非全零的两个第一参考块。
在另一种较优的实施方式中,在仅有空域上两个参考残差块是非全零块的时候,可以选取两个空域参考残差块,并基于这两个空域参考残差块进行残差预测。此时,所述待编码块的所述参考块包括:所述待编码块在所述空域上的对应的残差为非全零的两个第二参考块。
基于参考块的残差对待编码块的残差进行预测的过程,可以采用多种预测方式来实现。在至少一个示例性实施例中,基于所述待编码块的所述参考块的残差,对所述待编码块的残差进行预测,得到所述待编码块的预测残差可以包括以下之一:
(1)将所述参考块的所述残差输入残差预测模型得到所述待编码块的预测残差,其中,所述残差预测模型是可以是用深度学习网络训练的一个残差预测模型,也就是说,其是基于训练样本采用深度学习网络训练得到的,所述训练样本包括:具有已知残差的编码块的参考块的残差、以及所述具有已知残差的编码块的实际残差;
(2)对所述参考块的所述残差进行线性加权,得到所述待编码块的预测残差,其中,所述线性加权包括单一权重的线性加权或多权重的线性加权。
例如单一权重的线性加权和可以采用以下公式计算:
ReiPred(i,j)=W1ResiA(i,j)+W2ResiB(i,j)
W1和W2为权重,ResiA(i,j),ResiB(i,j)是选取的参考残差块在像素点(i,j)处的像素值,ReiPred(i,j)是预测残差块在像素点(i,j)处的像素值。
例如多权重的线性加权和可以采用以下公式计算:
Figure BDA0002139253520000131
W1ij和W2ij是参考残差块每一个像素点对应的权重值,它们可以通过训练获得。ResiA(i,j),ResiB(i,j)是选取的参考残差块在像素点(i,j)处的像素值,ReiPred(i,j)是预测残差块在像素点(i,j)处的像素值。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中,对应于上述残差编码方法提供了一种残差编码装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例1的残差编码装置的结构框图,如图3所示,该装置包括:
编码器端参考残差确定模块32,设置为确定待编码块的参考块的残差,其中,所述待编码块的所述参考块包括:所述待编码块在时域上的至少两个第一参考块;或,所述待编码块在空域上的至少两个第二参考块;或,所述待编码块在时域上的至少一个第一参考块以及所述待编码块在空域上的至少一个第二参考块;
编码器端残差预测模块34,设置为基于所述待编码块的所述参考块的残差,对所述待编码块的残差进行预测,得到所述待编码块的预测残差;
残差编码模块36,设置为将所述待编码块的所述预测残差和所述待编码块的实际残差之间的残差差值编码进码流。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行本实施例中以上残差编码方法中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,确定待编码块的参考块的残差(在本发明实施例中,这一术语也被称为残差、残差块、参考残差、参考残差块),其中,所述待编码块的所述参考块包括:所述待编码块在时域上的至少两个第一参考块;或,所述待编码块在空域上的至少两个第二参考块;或,所述待编码块在时域上的至少一个第一参考块以及所述待编码块在空域上的至少一个第二参考块;
S2,基于所述待编码块的所述参考块的残差,对所述待编码块的残差进行预测,得到所述待编码块的预测残差;
S3,将所述待编码块的所述预测残差和所述待编码块的实际残差之间的残差差值编码进码流(例如,视频帧间编码码流)。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行本实施例中上述残差编码方法的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,确定待编码块的参考块的残差(在本发明实施例中,这一术语也被称为残差、残差块、参考残差、参考残差块),其中,所述待编码块的所述参考块包括:所述待编码块在时域上的至少两个第一参考块;或,所述待编码块在空域上的至少两个第二参考块;或,所述待编码块在时域上的至少一个第一参考块以及所述待编码块在空域上的至少一个第二参考块;
S2,基于所述待编码块的所述参考块的残差,对所述待编码块的残差进行预测,得到所述待编码块的预测残差;
S3,将所述待编码块的所述预测残差和所述待编码块的实际残差之间的残差差值编码进码流(例如,视频帧间编码码流)。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
实施例2
在本实施例中提供了一种残差解码方法,图4是根据本发明实施例2的残差解码方法的流程图,如图4所示,该流程包括如下步骤:
步骤S402,基于码流(例如,视频帧间编码码流)中的运动矢量MV确定待解码块的预测块,并获取所述待解码块的参考块的残差(在本发明实施例中,这一术语也被称为残差、残差块、参考残差、参考残差块),其中,所述待解码块的所述参考块包括:所述待解码块在时域上的至少两个第一参考块;或,所述待解码块在空域上的至少两个第二参考块;或,所述待解码块在时域上的至少一个第一参考块以及所述待解码块在空域上的至少一个第二参考块;
步骤S404,基于所述待解码块的所述参考块的残差,对所述待解码块的残差进行预测,得到所述待解码块的预测残差;
步骤S406,根据所述待解码块的预测残差和从所述码流中解析出的所述待解码块的预测残差和所述待解码块的实际残差之间的残差差值,确定所述待解码块的实际残差。
在步骤S402中所提及的参考块的残差,指的是在编码过程中按照传统方法得到的参考块本身的实际编码残差,因为参考块已经完成编码,所以参考块的残差是可以通过技术手段可以获得的。
在步骤S402中,所述待解码块的所述预测块是对所述待解码块进行运动补偿之后得到的块。
在步骤S406中所提及的所述待解码块的所述实际残差为所述待解码块的原始图像块的像素值与所述待解码块的预测块的像素值之间的差值。
通过上述步骤,由于在解码器端布局有编码器端相同的残差预测过程,解码器端基于待解码块的参考块的残差预测待解码块的残差,并根据预测残差和码流中携带的残差差值确定待解码块的实际残差,能够保证在解码器端,基于节省码率的码流仍然能够正确恢复得到待解码块的实际残差。
在至少一个示例性实施例中,在所述待解码块所在的图像帧为P帧的情况下,所述待解码块在所述时域上的第一参考块包括:所述待解码块在前向参考帧中的最优预测单元块PU,记为第一最优PU,和/或,所述待解码块在所述前向参考帧的前一帧中的最优PU,记为第二最优PU。
在至少一个示例性实施例中,在所述待解码块所在的图像帧为B帧的情况下,所述待解码块在所述时域上的第一参考块包括:所述待解码块在前向参考帧中的最优PU,记为第三最优PU,和/或,所述待解码块在后向参考帧中的最优PU,记为第四最优PU。
需要说明的是,为了保证残差预测的准确性,在解码器端采用和编码器端相同的参考块选取方式,以保证和编码器端通过残差预测所得到的预测残差相一致。
在至少一个示例性实施例中,在所述待解码块所在的图像帧为P帧的情况下,所述待解码块在所述时域上的第一参考块通过以下方式确定:根据所述码流中解析出来的所述MV,确定所述待解码块在所述前向参考帧中的所述第一最优PU;根据所述第一最优PU在所述前向参考帧的前一帧中的同位PU,通过运动估计在所述前向参考帧的前一帧中确定所述第二最优PU。
在至少一个示例性实施例中,所述待解码块在所述空域上的第二参考块位于所述待解码块所在的图像帧中,且与所述待解码块在所述空域上相邻。
在至少一个示例性实施例中,所述待解码块在所述空域上的第二参考块包括:所述待解码块所在的图像帧中,与所述待解码块相邻的左边的块和/或上边的块(优选可以是具有相同尺寸的空域上相邻的左边和/或上边的块)。
本领域技术人员应当理解,在实际应用中,可以通过上述方式确定待解码块在时域上的第一参考块,和/或,待解码块在空域上的第二参考块。时域上的第一参考块所对应的残差可以称为时域参考残差块,空域上的第二参考块所对应的残差可以称为空域参考残差块,基于至少一个时域参考残差块和/或至少一个空域参考残差块,可以预测出待解码块的残差信息。
一种较优的实施方式中,为了数据能够对称考虑,可以选取两个时域参考残差块和两个空域参考残差块,并基于这四个参考残差块进行残差预测,此时,所述待解码块的所述参考块包括:所述待解码块在所述时域上的对应的残差为非全零的两个第一参考块,和所述待解码块在所述空域上的对应的残差为非全零的两个第二参考块。
在另一种较优的实施方式中,在仅有一个时域参考残差块和一个空域参考残差块为非全零块的时候,可以选取一个时域和一个空域参考残差块,并基于这两个参考残差块进行残差预测。此时,所述待解码块的所述参考块包括:所述待解码块在所述时域上的对应的残差为非全零的一个第一参考块,和所述待解码块在所述空域上的对应的残差为非全零的一个第二参考块。
在另一种较优的实施方式中,在仅有两个时域参考残差块和一个空域参考残差块为非全零块的时候,可以选取两个时域和一个空域参考残差块,并基于这三个参考残差块进行残差预测。此时,所述待解码块的所述参考块包括:所述待解码块在所述时域上的对应的残差为非全零的两个第一参考块,和所述待解码块在所述空域上的对应的残差为非全零的一个第二参考块。
在另一种较优的实施方式中,在仅有一个时域参考残差块和两个空域参考残差块为非全零块的时候,可以选取一个时域和两个空域参考残差块,并基于这三个参考残差块进行残差预测。此时,所述待解码块的所述参考块包括:所述待解码块在所述时域上的对应的残差为非全零的一个第一参考块,和所述待解码块在所述空域上的对应的残差为非全零的两个第二参考块。
在另一种较优的实施方式中,在仅有时域上两个时域参考残差块是非全零块的时候,可以选取两个时域参考残差块,并基于这两个时域参考残差块进行残差预测。此时,所述待解码块的所述参考块包括:所述待解码块在所述时域上的对应的残差为非全零的两个第一参考块。
在另一种较优的实施方式中,在仅有空域上两个参考残差块是非全零块的时候,可以选取两个空域参考残差块,并基于这两个空域参考残差块进行残差预测。此时,所述待解码块的所述参考块包括:所述待解码块在所述空域上的对应的残差为非全零的两个第二参考块。
基于参考块的残差对待解码块的残差进行预测的过程,可以采用多种预测方式来实现。在至少一个示例性实施例中,基于所述待解码块的所述参考块的残差,对所述待解码块的残差进行预测,得到所述待解码块的预测残差可以包括以下之一:
(1)将所述参考块的所述残差输入残差预测模型得到所述待解码块的预测残差,其中,所述残差预测模型与编码器端的残差预测模型相同;
(2)对所述参考块的所述残差进行线性加权,得到所述待解码块的预测残差,其中,所述线性加权与编码器端的线性加权相同。
例如单一权重的线性加权和可以采用以下公式计算:
ReiPred(i,j)=W1ResiA(i,j)+W2ResiB(i,j)
W1和W2为权重,ResiA(i,j),ResiB(i,j)是选取的参考残差块在像素点(i,j)处的像素值,ReiPred(i,j)是预测残差块在像素点(i,j)处的像素值。
例如多权重的线性加权和可以采用以下公式计算:
Figure BDA0002139253520000201
W1ij和W2ij是参考残差块每一个像素点对应的权重值,它们可以通过训练获得。ResiA(i,j),ResiB(i,j)是选取的参考残差块在像素点(i,j)处的像素值,ReiPred(i,j)是预测残差块在像素点(i,j)处的像素值。
在至少一个示例性实施例中,在所述待解码块的预测残差和从所述码流中解析出的所述待解码块的预测残差和所述待解码块的实际残差之间的残差差值,确定所述待解码块的实际残差之后,还包括:在所述待解码块的所述预测块的基础上加上所述实际残差,恢复出所述待解码块的原始图像块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中,对应于上述残差解码方法提供了一种残差解码装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明实施例2的残差解码装置的结构框图,如图5所示,该装置包括:
解码器端参考残差确定模块52,设置为基于码流中解析出来的运动矢量MV确定待解码块的预测块,并获取所述待解码块的参考块的残差,其中,所述待解码块的所述参考块包括:所述待解码块在时域上的至少两个第一参考块;或,所述待解码块在空域上的至少两个第二参考块;或,所述待解码块在时域上的至少一个第一参考块以及所述待解码块在空域上的至少一个第二参考块;
解码器端残差预测模块54,设置为基于所述待解码块的所述参考块的残差,对所述待解码块的残差进行预测,得到所述待解码块的预测残差;
残差解码模块56,设置为根据所述待解码块的预测残差和从所述码流中解析出的所述待解码块的预测残差和所述待解码块的实际残差之间的残差差值,确定所述待解码块的实际残差。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行本实施例中上述残差解码方法中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,基于码流(例如,视频帧间编码码流)中的运动矢量MV确定待解码块的预测块,并获取所述待解码块的参考块的残差(在本发明实施例中,这一术语也被称为残差、残差块、参考残差、参考残差块),其中,所述待解码块的所述参考块包括:所述待解码块在时域上的至少两个第一参考块;或,所述待解码块在空域上的至少两个第二参考块;或,所述待解码块在时域上的至少一个第一参考块以及所述待解码块在空域上的至少一个第二参考块;
S2,基于所述待解码块的所述参考块的残差,对所述待解码块的残差进行预测,得到所述待解码块的预测残差;
S3,根据所述待解码块的预测残差和从所述码流中解析出的所述待解码块的预测残差和所述待解码块的实际残差之间的残差差值,确定所述待解码块的实际残差。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行本实施例中上述残差解码方法的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,基于码流(例如,视频帧间编码码流)中的运动矢量MV确定待解码块的预测块,并获取所述待解码块的参考块的残差(在本发明实施例中,这一术语也被称为残差、残差块、参考残差、参考残差块),其中,所述待解码块的所述参考块包括:所述待解码块在时域上的至少两个第一参考块;或,所述待解码块在空域上的至少两个第二参考块;或,所述待解码块在时域上的至少一个第一参考块以及所述待解码块在空域上的至少一个第二参考块;
S2,基于所述待解码块的所述参考块的残差,对所述待解码块的残差进行预测,得到所述待解码块的预测残差;
S3,根据所述待解码块的预测残差和从所述码流中解析出的所述待解码块的预测残差和所述待解码块的实际残差之间的残差差值,确定所述待解码块的实际残差。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
以下实施例3以通过深度学习网络训练残差预测模型(也可以称为残差预测模块)为例,详细描述了残差编解码方案的具体实施方式。需要说明的是,针对采用线性加权和的方式来进行残差预测的方案,整体残差编解码的原理与以下实施例相类似,不再赘述。
实施例3
本实施例针对视频编码的编码单元设计一种利用时空相关性提升视频帧间编码性能的方法,在实际使用中,编码器将调用该方法来完成帧间预测。以下对该方法中所涉及的内容进行详细的描述。
(1)残差预测模块
残差预测模块可以通过卷积神经网络生成。图6是根据本发明实施例3的一个用于生成残差预测模块的卷积神经网络的示意图,如图6所示,该卷积神经网络以当前编码块相关的两个时域参考残差块和两个空域参考残差块作为输入(也可以是其他数量的时域和空域参考残差块,还可以只有时域参考残差块或只有空域参考残差块),经过卷积、池化提取残差图像的特征信息,再通过反卷积过程输出预测残差。
卷积神经网络的输入是四个参考残差块,时域参考帧中选取两个,相邻空域中选取两个。
在时域上,根据P帧和B帧的预测方式的不同进行不同的操作。图7是根据本发明实施例3的P帧和B帧情况下时域参考残差块的选取示意图,如图7所示:
对于P帧,由于它是单向预测,只有一个前向参考帧,首先通过运动估计在前向参考帧中找到最优的预测单元块(Prediction Unit,PU),生成当前编码块的运动矢量(motion vector,MV)。然后,基于当前编码块的最优参考PU的位置和当前编码块的MV,从前向参考帧的前一帧中通过运动估计又搜索到另一个最优参考PU,将这两个最优参考PU所对应的残差块作为P帧的两个时域参考残差块输入。
对于B帧,有一个前向参考帧和后向参考帧,在前向参考帧和后向参考帧通过运动估计各找到一个最优PU的残差块作为时域参考残差块输入。
在空域上,图8是根据本发明实施例3的空域参考残差块的选取示意图。如图8所示,选取与当前块相邻并同尺寸的左边、上边的块作为参考块,将参考块对应的残差块作为空域参考残差块的输入。
残差预测模块的输出为当前块的预测残差块,在编码器端,预测残差块可以与实际残差块相减得到编码残差。在解码器端,预测残差块加上编码残差可以恢复出实际残差块。
(2)基于时空相关性的帧间编码块残差预测方法
图9是本发明实施例3的一种利用时空相关性提升视频帧间编码性能的方法程示意图,在该图中,以残差预测模块通过神经网络实现为例,示出了编码器端和解码器端的的残差编码和解码操作,以下分别进行详细的描述。
编码器端的操作:
第一步,预编码通测标准提供的视频序列,提取四个参考块的残差数据和当前块的残差数据作为训练数据。用图6搭建的深度神经网络实施例进行网络训练,然后将训练好的深度神经网络嵌入编码器的帧间预测中。
第二步,从输入的视频图像中读取需要编码的待编码块,通过运动估计预测得到待编码块的预测块,用原始图像像素值减去预测块像素值得到传统残差块。
第三步,根据P帧和B帧预测方式的不同,通过运动估计得到的运动矢量MV搜索到如图7所示的两个时域参考残差块,然后根据图8得到两个空域参考残差块,将得到的四个参考残差块输入残差预测模块中得到预测残差块。
第四步,将传统残差块和预测残差块之间的差值作为当前待编码块的编码残差,写入码流文件中。在本步骤中,传统残差块为当前编码块按传统帧间预测方法得到的待编码残差值,预测残差为通过残差预测模块预测得到的残差值。
综上,可以看到,在编码器端,利用运动估计在参考帧中找到参考块,进行运动补偿操作之后,得到了预测块,原始块与预测块的差值即为传统帧间预测模式下的实际残差块。在这一过程中建立残差预测模块来预测当前块的残差。残差预测模块的输入为当前编码块的参考块所对应的时域和空域上各两个参考残差块,残差预测模块的输出则为当前块的预测残差,实际残差块与预测残差块的差值作为编码残差,进行后续的变换、量化和熵编码。
解码器端的操作:
第一步,将残差预测模块嵌入解码器帧间预测中。
第二步,通过码流解析出来的运动矢量MV得到当前待解码块的预测块,然后找到如图7所示的两个时域参考残差块,以及得到如图8所示的两个空域参考残差块,将得到的四个参考残差块输入残差预测模块中得到预测残差块。在本步骤中,对应当前块的四个参考残差块的产生方式与编码器端的四个参考残差块一致。
第三步,从码流中读取待解码块的编码残差,然后编码残差加上预测残差块恢复待解码块的实际残差,最后再加上预测块恢复出原始图像块。
综上,可以看到,在解码器端的帧间预测解码操作中,建立与编码器相同的残差预测模块来预测当前块的残差。残差预测模块的输入为当前解码块的参考块所对应的时域和空域上各两个参考残差块,参考块的寻找方式与编码器端相同,输出为当前解码块的预测残差,与解码后的残差和待解码块的预测块相加即可完成当前块的重建工作。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (19)

1.一种残差编码方法,其特征在于,包括:
确定待编码块的参考块的残差,其中,所述待编码块的所述参考块包括:所述待编码块在时域上的至少两个第一参考块;或,所述待编码块在空域上的至少两个第二参考块;或,所述待编码块在时域上的至少一个第一参考块以及所述待编码块在空域上的至少一个第二参考块;
基于所述待编码块的所述参考块的残差,对所述待编码块的残差进行预测,得到所述待编码块的预测残差;
将所述待编码块的所述预测残差和所述待编码块的实际残差之间的残差差值编码进码流。
2.根据权利要求1所述的方法,其特征在于,
在所述待编码块所在的图像帧为P帧的情况下,所述待编码块在所述时域上的第一参考块包括:所述待编码块在前向参考帧中的最优预测单元块PU,记为第一最优PU,和/或,所述待编码块在所述前向参考帧的前一帧中的最优PU,记为第二最优PU;
或者,
在所述待编码块所在的图像帧为B帧的情况下,所述待编码块在所述时域上的第一参考块包括:所述待编码块在前向参考帧中的最优PU,记为第三最优PU,和/或,所述待编码块在后向参考帧中的最优PU,记为第四最优PU。
3.根据权利要求2所述的方法,其特征在于,在所述待编码块所在的图像帧为P帧的情况下,所述待编码块在所述时域上的第一参考块通过以下方式确定:
通过运动估计在所述前向参考帧中确定所述待编码块的所述第一最优PU,并确定所述待编码块相对于所述第一最优PU的运动矢量MV;
根据所述第一最优PU的位置和所述MV,通过运动估计在所述前向参考帧的前一帧中确定所述第二最优PU。
4.根据权利要求1所述的方法,其特征在于,所述待编码块在所述空域上的第二参考块位于所述待编码块所在的图像帧中,且与所述待编码块在所述空域上相邻。
5.根据权利要求4所述的方法,其特征在于,所述待编码块在所述空域上的第二参考块包括:所述待编码块所在的图像帧中,与所述待编码块相邻的左边的块和/或上边的块。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述待编码块的所述参考块包括:
所述待编码块在所述时域上的对应的残差为非全零的两个第一参考块,和所述待编码块在所述空域上的对应的残差为非全零的两个第二参考块;或者,
所述待编码块在所述时域上的对应的残差为非全零的一个第一参考块,和所述待编码块在所述空域上的对应的残差为非全零的一个第二参考块;或者,
所述待编码块在所述时域上的对应的残差为非全零的两个第一参考块,和所述待编码块在所述空域上的对应的残差为非全零的一个第二参考块;或者,
所述待编码块在所述时域上的对应的残差为非全零的一个第一参考块,和所述待编码块在所述空域上的对应的残差为非全零的两个第二参考块;或者,
所述待编码块在所述时域上的对应的残差为非全零的两个第一参考块;或者,
所述待编码块在所述空域上的对应的残差为非全零的两个第二参考块。
7.根据权利要求1-5中任一项所述的方法,其特征在于,基于所述待编码块的所述参考块的残差,对所述待编码块的残差进行预测,得到所述待编码块的预测残差包括:
将所述参考块的所述残差输入残差预测模型得到所述待编码块的预测残差,其中,所述残差预测模型是基于训练样本采用深度学习网络训练得到的,所述训练样本包括:具有已知残差的编码块的参考块的残差、以及所述具有已知残差的编码块的实际残差;
或者,
对所述参考块的所述残差进行线性加权,得到所述待编码块的预测残差,其中,所述线性加权包括单一权重的线性加权或多权重的线性加权。
8.根据权利要求1-5中任一项所述的方法,其特征在于,所述待编码块的所述实际残差为所述待编码块的原始图像块的像素值与所述待编码块的预测块的像素值之间的差值,其中,所述待编码块的所述预测块是对所述编码块的所述参考块进行运动补偿之后得到的块。
9.一种残差解码方法,其特征在于,包括:
基于码流中解析出来的运动矢量MV确定待解码块的预测块,并获取所述待解码块的参考块的残差,其中,所述待解码块的所述参考块包括:所述待解码块在时域上的至少两个第一参考块;或,所述待解码块在空域上的至少两个第二参考块;或,所述待解码块在时域上的至少一个第一参考块以及所述待解码块在空域上的至少一个第二参考块;
基于所述待解码块的所述参考块的残差,对所述待解码块的残差进行预测,得到所述待解码块的预测残差;
根据所述待解码块的所述预测残差和从所述码流中解析出的残差差值,确定所述待解码块的实际残差,其中,所述残差差值是所述待解码块的所述预测残差和所述待解码块的实际残差之间的差值。
10.根据权利要求9所述的方法,其特征在于,
在所述待解码块所在的图像帧为P帧的情况下,所述待解码块在所述时域上的第一参考块包括:所述待解码块在前向参考帧中的最优预测单元块PU,记为第一最优PU,和/或,所述待解码块在所述前向参考帧的前一帧中的最优PU,记为第二最优PU;
或者,
在所述待解码块所在的图像帧为B帧的情况下,所述待解码块在所述时域上的第一参考块包括:所述待解码块在前向参考帧中的最优PU,记为第三最优PU,和/或,所述待解码块在后向参考帧中的最优PU,记为第四最优PU。
11.根据权利要求10所述的方法,其特征在于,在所述待解码块所在的图像帧为P帧的情况下,所述待解码块在所述时域上的第一参考块通过以下方式确定:
根据所述码流中解析出来的所述MV,确定所述待解码块在所述前向参考帧中的所述第一最优PU;
根据所述第一最优PU在所述前向参考帧的前一帧中的同位PU,通过运动估计在所述前向参考帧的前一帧中确定所述第二最优PU。
12.根据权利要求9所述的方法,其特征在于,所述待解码块在所述空域上的第二参考块位于所述待解码块所在的图像帧中,且与所述待解码块在所述空域上相邻。
13.根据权利要求12所述的方法,其特征在于,所述待解码块在所述空域上的第二参考块包括:所述待解码块所在的图像帧中,与所述待解码块相邻的左边的块和/或上边的块。
14.根据权利要求9-13中任一项所述的方法,其特征在于,基于所述待解码块的所述参考块的残差,对所述待解码块的残差进行预测,得到所述待解码块的预测残差包括:
将所述参考块的所述残差输入残差预测模型得到所述待解码块的所述预测残差,其中,所述残差预测模型与编码器端的残差预测模型相同;
或者,
对所述参考块的所述残差进行线性加权,得到所述待解码块的所述预测残差,其中,所述线性加权与编码器端的线性加权相同。
15.根据权利要求9-13中任一项所述的方法,其特征在于,在所述待解码块的所述预测残差和从所述码流中解析出的残差差值,确定所述待解码块的实际残差之后,还包括:
在所述待解码块的所述预测块的基础上加上所述实际残差,恢复出所述待解码块的原始图像块。
16.一种残差编码装置,其特征在于,包括:
编码器端参考残差确定模块,设置为确定待编码块的参考块的残差,其中,所述待编码块的所述参考块包括:所述待编码块在时域上的至少两个第一参考块;或,所述待编码块在空域上的至少两个第二参考块;或,所述待编码块在时域上的至少一个第一参考块以及所述待编码块在空域上的至少一个第二参考块;
编码器端残差预测模块,设置为基于所述待编码块的所述参考块的残差,对所述待编码块的残差进行预测,得到所述待编码块的预测残差;
残差编码模块,设置为将所述待编码块的所述预测残差和所述待编码块的实际残差之间的残差差值编码进码流。
17.一种残差解码装置,其特征在于,包括:
解码器端参考残差确定模块,设置为基于码流中解析出来的运动矢量MV确定待解码块的预测块,并获取所述待解码块的参考块的残差,其中,所述待解码块的所述参考块包括:所述待解码块在时域上的至少两个第一参考块;或,所述待解码块在空域上的至少两个第二参考块;或,所述待解码块在时域上的至少一个第一参考块以及所述待解码块在空域上的至少一个第二参考块;
解码器端残差预测模块,设置为基于所述待解码块的所述参考块的残差,对所述待解码块的残差进行预测,得到所述待解码块的预测残差;
残差解码模块,设置为根据所述待解码块的所述预测残差和从所述码流中解析出的残差差值,确定所述待解码块的实际残差,其中,所述残差差值是所述待解码块的所述预测残差和所述待解码块的实际残差之间的差值。
18.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至15任一项中所述的方法。
19.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至15任一项中所述的方法。
CN201910663278.XA 2019-07-22 2019-07-22 残差编码、解码方法及装置、存储介质及电子装置 Pending CN112261409A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910663278.XA CN112261409A (zh) 2019-07-22 2019-07-22 残差编码、解码方法及装置、存储介质及电子装置
PCT/CN2020/100558 WO2021012942A1 (zh) 2019-07-22 2020-07-07 残差编码、解码方法及装置、存储介质及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910663278.XA CN112261409A (zh) 2019-07-22 2019-07-22 残差编码、解码方法及装置、存储介质及电子装置

Publications (1)

Publication Number Publication Date
CN112261409A true CN112261409A (zh) 2021-01-22

Family

ID=74193180

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910663278.XA Pending CN112261409A (zh) 2019-07-22 2019-07-22 残差编码、解码方法及装置、存储介质及电子装置

Country Status (2)

Country Link
CN (1) CN112261409A (zh)
WO (1) WO2021012942A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023005579A1 (zh) * 2021-07-30 2023-02-02 中兴通讯股份有限公司 视频编码、视频解码方法、装置、电子设备和存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100678911B1 (ko) * 2005-07-21 2007-02-05 삼성전자주식회사 방향적 인트라 예측의 적용을 확장하여 비디오 신호를인코딩하고 디코딩하는 방법 및 장치
WO2007024106A1 (en) * 2005-08-24 2007-03-01 Samsung Electronics Co., Ltd. Method for enhancing performance of residual prediction and video encoder and decoder using the same
CN101478672B (zh) * 2008-01-04 2012-12-19 华为技术有限公司 视频编码、解码方法及装置和视频处理***
CN102148989B (zh) * 2011-04-22 2012-07-25 西安交通大学 一种h.264中全零块检测的方法
GB2506853B (en) * 2012-09-28 2015-03-18 Canon Kk Method and apparatus for encoding an image into a video bitstream and decoding corresponding video bitstream
KR101662662B1 (ko) * 2014-01-02 2016-10-05 인텔렉추얼디스커버리 주식회사 다시점 영상을 위한 잔차를 부호화/복호화하는 방법 및 그 장치
CN103916672B (zh) * 2014-03-21 2018-03-13 华为技术有限公司 一种数据编解码方法、相关装置及***
US10694204B2 (en) * 2016-05-06 2020-06-23 Vid Scale, Inc. Systems and methods for motion compensated residual prediction

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023005579A1 (zh) * 2021-07-30 2023-02-02 中兴通讯股份有限公司 视频编码、视频解码方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
WO2021012942A1 (zh) 2021-01-28

Similar Documents

Publication Publication Date Title
RU2577181C2 (ru) Способ и устройство для кодирования видеосигналов
CN109983770B (zh) 多级复合预测
RU2577207C2 (ru) Способ и устройство для видеокодирования
US10462457B2 (en) Dynamic reference motion vector coding mode
WO2018127090A1 (zh) 图像预测方法和相关设备
CN107205149B (zh) 通过参考帧缓冲器跟踪的运动矢量参考选择
US20240098298A1 (en) Segmentation-based parameterized motion models
US20140098856A1 (en) Lossless video coding with sub-frame level optimal quantization values
CN107205156B (zh) 通过缩放的运动矢量预测
JP2021523604A (ja) ビデオ符号化及び復号化の動き補償
JP2008523724A (ja) 動画像符号化のための動き推定技術
Abou-Elailah et al. Fusion of global and local motion estimation for distributed video coding
WO2019153861A1 (zh) 一种双向帧间预测方法及装置
US10681374B2 (en) Diversified motion using multiple global motion models
CN111480338A (zh) 视频数据的帧间预测方法和装置
WO2019128716A1 (zh) 图像的预测方法、装置及编解码器
JP7448558B2 (ja) 画像エンコーディングおよびデコーディングのための方法およびデバイス
Chen et al. Learning to compress videos without computing motion
CN112806011A (zh) 改进的虚拟时间仿射候选
US8989270B2 (en) Optimized search for reference frames in predictive video coding system
US9210424B1 (en) Adaptive prediction block size in video coding
CN112261409A (zh) 残差编码、解码方法及装置、存储介质及电子装置
KR102407912B1 (ko) 양방향 인트라 예측 시그널링
WO2023020588A1 (en) Template matching based motion vector refinement in video coding system
US20240013046A1 (en) Apparatus, method and computer program product for learned video coding for machine

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