CN117280685A - 编解码方法、码流、编码器、解码器以及存储介质 - Google Patents

编解码方法、码流、编码器、解码器以及存储介质 Download PDF

Info

Publication number
CN117280685A
CN117280685A CN202180097906.8A CN202180097906A CN117280685A CN 117280685 A CN117280685 A CN 117280685A CN 202180097906 A CN202180097906 A CN 202180097906A CN 117280685 A CN117280685 A CN 117280685A
Authority
CN
China
Prior art keywords
block
information
residual
resolution
current block
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
CN202180097906.8A
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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Publication of CN117280685A publication Critical patent/CN117280685A/zh
Pending legal-status Critical Current

Links

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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/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
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

本申请实施例公开了一种编解码方法、码流、编码器、解码器以及存储介质,应用于编码器,该方法包括:确定当前块的第一匹配块;对第一匹配块进行运动补偿增强,得到至少一个第二匹配块;根据至少一个第二匹配块,确定当前块的运动信息;根据运动信息,对当前块进行编码。这样,在保证相同解码质量的前提下,可以节省码率,进而能够提高编解码效率。

Description

编解码方法、码流、编码器、解码器以及存储介质 技术领域
本申请涉及视频处理技术领域,尤其涉及一种编解码方法、码流、编码器、解码器以及存储介质。
背景技术
在视频处理技术领域中,当前块的编解码可以采用帧内预测方式和帧间预测方式。其中,分像素运动补偿技术是通过消除视频时间冗余来提高压缩效率的关键技术,其主要应用于帧间预测的运动补偿和运动估计部分。
目前,针对二分之一精度的分像素运动补偿,虽然相关技术已经存在一些分像素运动补偿的技术方案,但是考虑到自然图像信号的非平稳性和编码噪声的非线性,现有的技术方案仍然存在一些缺陷,尤其是难以适应日益多样化的视频内容和复杂的编码环境,造成编解码效率偏低。
发明内容
本申请实施例提供一种编解码方法、码流、编码器、解码器以及存储介质,在保证相同解码质量的前提下,可以节省码率,进而能够提高编解码效率。
本申请实施例的技术方案可以如下实现:
第一方面,本申请实施例提供了一种编码方法,应用于编码器,该方法包括:
确定当前块的第一匹配块;
对第一匹配块进行运动补偿增强,得到至少一个第二匹配块;
根据至少一个第二匹配块,确定当前块的运动信息;
根据运动信息,对当前块进行编码。
第二方面,本申请实施例提供了一种码流,该码流是根据待编码信息进行比特编码生成的;其中,
待编码信息至少包括当前块的运动信息、当前块的残差块和第一语法元素标识信息的取值,该第一语法元素标识信息用于指示当前块是否使用运动补偿增强处理方式。
第三方面,本申请实施例提供了一种解码方法,应用于解码器,该方法包括:
解析码流,确定第一语法元素标识信息的取值;
若第一语法元素标识信息指示当前块使用运动补偿增强处理方式,则解析码流,确定当前块的第一运动信息;
根据第一运动信息确定当前块的第一匹配块,并对第一匹配块进行运动补偿增强,得到至少一个第二匹配块;
根据第一运动信息和至少一个第二匹配块,确定当前块的第一预测块;
根据第一预测块,确定当前块的重建块。
第四方面,本申请实施例提供了一种编码器,该编码器包括第一确定单元、第一运动补偿单元和编码单元;其中,
第一确定单元,配置为确定当前块的第一匹配块;
第一运动补偿单元,配置为对第一匹配块进行运动补偿增强,得到至少一个第二匹配块;
第一确定单元,还配置为根据至少一个第二匹配块,确定当前块的运动信息;
编码单元,配置为根据运动信息,对当前块进行编码。
第五方面,本申请实施例提供了一种编码器,该编码器包括第一存储器和第一处理器;其中,
第一存储器,用于存储能够在第一处理器上运行的计算机程序;
第一处理器,用于在运行计算机程序时,执行如第一方面的方法。
第六方面,本申请实施例提供了一种解码器,该解码器包括解析单元、第二确定单元和第二运动补偿单元;其中,
解析单元,配置为解析码流,确定第一语法元素标识信息的取值;
解析单元,还配置为若第一语法元素标识信息指示当前块使用运动补偿增强处理方式,则解析码流,确定当前块的第一运动信息;
第二运动补偿单元,配置为根据第一运动信息确定当前块的第一匹配块,并对第一匹配块进行运动补偿增强,得到至少一个第二匹配块;
第二确定单元,配置为根据第一运动信息和至少一个第二匹配块,确定当前块的第一预测块;以及根据第一预测块,确定当前块的重建块。
第七方面,本申请实施例提供了一种解码器,该解码器包括第二存储器和第二处理器;其中,
第二存储器,用于存储能够在第二处理器上运行的计算机程序;
第二处理器,用于在运行计算机程序时,执行如第三方面的方法。
第八方面,本申请实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,计算机程序被第一处理器执行时实现如第一方面的方法、或者被第二处理器执行时实现如第三方面的方法。
本申请实施例提供了一种编解码方法、码流、编码器、解码器以及存储介质,在编码器侧,通过确定当前块的第一匹配块;对第一匹配块进行运动补偿增强,得到至少一个第二匹配块;根据至少一个第二匹配块,确定当前块的运动信息;根据运动信息,对当前块进行编码。在解码器侧,通过解析码流,确定第一语法元素标识信息的取值;若第一语法元素标识信息指示当前块使用运动补偿增强处理方式,则解析码流,确定当前块的第一运动信息;根据第一运动信息确定当前块的第一匹配块,并对第一匹配块进行运动补偿增强,得到至少一个第二匹配块;根据第一运动信息和至少一个第二匹配块,确定当前块的第一预测块;根据第一预测块,确定当前块的重建块。这样,无论是编码器还是解码器,通过对第一匹配块进行运动补偿增强,在保证相同解码质量的前提下,不仅可以降低计算复杂度,还可以节省码率,进而能够提高编解码效率。
附图说明
图1为本申请实施例提供的一种帧间预测的表现形式示意图;
图2为本申请实施例提供的一种分像素精度的亮度分量的分数位置示意图;
图3A为本申请实施例提供的一种视频编码系统的组成框图示意图;
图3B为本申请实施例提供的一种视频解码系统的组成框图示意图;
图4为本申请实施例提供的一种编码方法的流程示意图;
图5为本申请实施例提供的一种预设神经网络模型的网络结构示意图;
图6为本申请实施例提供的一种残差投影块的网络结构示意图;
图7为本申请实施例提供的一种解码方法的流程示意图;
图8为本申请实施例提供的一种编码器的组成结构示意图;
图9为本申请实施例提供的一种编码器的具体硬件结构示意图;
图10为本申请实施例提供的一种解码器的组成结构示意图;
图11为本申请实施例提供的一种解码器的具体硬件结构示意图。
具体实施方式
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。还需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅是用于区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
在视频图像中,一般采用第一图像分量、第二图像分量和第三图像分量来表征编码块(Coding Block,CB);其中,这三个图像分量分别为一个亮度分量、一个蓝色色度分量和一个红色色度分量,具体地,亮度分量通常使用符号Y表示,蓝色色度分量通常使用符号Cb或者U表示,红色色度分量通常使用符号Cr或者V表示;这样,视频图像可以用YCbCr格式表示,也可以用YUV格式表示。
对本申请实施例进行进一步详细说明之前,先对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释:
动态图像专家组(Moving Picture Experts Group,MPEG)
国际标准化组织(International Standardization Organization,ISO)
国际电工委员会(International Electrotechnical Commission,IEC)
联合视频专家组(Joint Video Experts Team,JVET)
开放媒体联盟(Alliance for Open Media,AOM)
新一代视频编码标准H.266/多功能视频编码(Versatile Video Coding,VVC)
VVC的参考软件测试平台(VVC Test Model,VTM)
编码单元(Coding Unit,CU)
编码树单元(Coding Tree Unit,CTU)
预测单元(Prediction Unit,PU)
离散余弦变换(Discrete Cosine Transform,DCT)
基于离散余弦变换的插值滤波器(Interpolation Filter based on Discrete Cosine Transform,DCTIF)
残差投影块(Residual Projection Block,RPB)
残差投影网络(Residual Projection Network,RPN)
峰值信噪比(Peak Signal to Noise Ratio,PSNR)
可以理解,在视频处理技术领域中,分像素运动补偿技术是通过消除视频时间冗余来提高压缩效率的关键技术,其主要应用于帧间预测的运动补偿和运动估计部分。这里,帧间预测是利用解码重建的参考帧对当前帧进行预测的过程,其核心是根据当前块的运动信息通过运动补偿从参考帧中获取最优匹配块(也可以称为“最佳匹配块”)。其中,运动信息可以包括预测方向、参考帧的索引序号和运动向量。参见图1,其示出了本申请实施例提供的一种帧间预测的表现形式示意图。如图1所示,对于编码器而言,编码器采用一定的搜索算法给当前帧要编码的当前块找到一个最优匹配块,两者之间的位移称为运动向量,这一过程可称为运动估计。
具体来讲,编码器首先需要进行整像素的运动估计,获得整像素位置的最优匹配块。为了进一步提高预测精度,分像素运动补偿的概念被提出。所谓分像素运动补偿,就是通过插值滤波器对整像素位置的最优匹配块进行插值,生成二分之一精度的分像素样本和四分之一精度的分像素样本。如图2所示,其示出了本申请实施例提供的一种分像素精度的亮度分量的分数位置示意图。在图2中,大写字母代表整像素样本,即A i,j表示整数位置的像素;小写字母代表分像素样本,其中,b i,j、h i,j、j i,j均表示二分之一精度位置的分像素,其余小写字母则表示四分之一精度位置的分像素。
也就是说,分像素运动补偿的本质是对整像素位置的匹配块采用插值滤波方式进一步优化,其中,插值滤波器的主要作用包括去除由于数字采样造成的频谱混叠和抑制参考帧中存在的编码噪声。然而,针对二分之一精度的分像素运动补偿,但是考虑到自然图像信号的非平稳性和编码噪声的非线性,现有的技术方案仍然存在一些缺陷,尤其是难以适应日益多样化的视频内容和复杂的编码环境,造成编解码效率偏低。
本申请实施例提供了一种编码方法,通过确定当前块的第一匹配块;对第一匹配块进行运动补偿增强,得到至少一个第二匹配块;根据至少一个第二匹配块,确定当前块的运动信息;根据运动信息,对当前块进行编码。
本申请实施例提供了一种解码方法,通过解析码流,确定第一语法元素标识信息的取值;若第一语法元素标识信息指示当前块使用运动补偿增强处理方式,则解析码流,确定当前块的第一运动信息;根据第一运动信息确定当前块的第一匹配块,并对第一匹配块进行运动补偿增强,得到至少一个第二匹配块;根据第一运动信息和至少一个第二匹配块,确定当前块的第一预测块;根据第一预测块,确定当前块的重建块。
这样,无论是编码器还是解码器,通过对第一匹配块进行运动补偿增强,不仅可以适应多样化的视频内容和复杂的编码环境,而且在保证相同解码质量的前提下,可以降低计算复杂度,还可以节省码率,进而提高编解码效率。
下面将结合附图对本申请各实施例进行详细说明。
参见图3A,其示出了本申请实施例提供的一种视频编码系统的组成框图示意图。如图3A所示,该视频编码系统10包括变换与量化单元101、帧内估计单元102、帧内预测单元103、运动补偿单元104、运动估计单元105、反变换与反量化单元106、滤波器控制分析单元107、滤波单元108、编码单元109和解码图像缓存单元110等,其中,滤波单元108可以实现去方块滤波及样本自适应缩进(Sample Adaptive Offset,SAO)滤波,编码单元109可以实现头信息编码及基于上下文的自适应二进制算术编码(Context-based Adaptive Binary Arithmetic Coding,CABAC)。针对输入的原始视频信号,通过编码树块(Coding Tree Unit,CTU)的划分可以得到一个视频编码块,然后对经过帧内或帧间预测后得到的残差像素信息通过变换与量化单元101对该视频编码块进行变换,包括将残差信息从像素域变换到变换域,并对所得的变换系数进行量化,用以进一步减少比特率;帧内估计单元102和帧内预测单元103是用于对该视频编码块进行帧内预测;明确地说,帧内估计单元102和帧内预测单元103用于确定待用以编码该视频编码块的帧内预测模式;运动补偿单元104和运动估计单元105用于执行所接收的视频编码块相对于一或多个参考帧中的一或多个块的帧间预测编码以提供时间预测信息;由运动估计单元105执行的运动估计为产生运动向量的过程,所述运动向量可以估计该视频编码块的运动,然后由运动补偿单元104基于由运动估计单元105所确定的运动向量执行运动补偿;在确定帧内预测模式之后,帧内预测单元103还用于将所选择的帧内预测数据提供到编码单元109,而且运动估计单元105将所计算确定的运动向量数据也发送到编码单元109;此外,反变换与反量化单元106是用于该视频编码块的重构建,在像素域中重构建残差块,该重构建残差块通过滤波器控制分析单元107和滤波单元108去除方块效应伪影,然后将该重构残差块添加到解码图像缓存单元110的帧中的一个预测性块,用以产生经重构建的视频编码块;编码单元109是用于编码各种编码参数及量化后的变换系数,在基于CABAC的编码算法中,上下文内容可基于相邻编码块,可用于编码指示所确定的帧内预测模式的信息,输出该视频信号的码流;而解码图像缓存单元110是用于存放重构建的视频编码块,用于预测参考。随着视频图像编码的进行,会不断生成新的重构建的视频编码块,这些重构建的视频编码块都会被存放在解码图像缓存单元110中。
参见图3B,其示出了本申请实施例提供的一种视频解码系统的组成框图示意图。如图3B所示,该视频解码系统20包括解码单元201、反变换与反量化单元202、帧内预测单元203、运动补偿单元204、滤波单元205和解码图像缓存单元206等,其中,解码单元201可以实现头信息解码以及CABAC解码,滤波单元205可以实现去方块滤波以及SAO滤波。输入的视频信号经过图3A的编码处理之后,输出该视频信号的码流;该码流输入视频解码系统20中,首先经过解码单元201,用于得到解码后的变换系数;针对该变换系数通过反变换与反量化单元202进行处理,以便在像素域中产生残差块;帧内预测单元203可用于基于所确定的帧内预测模式和来自当前帧或图片的先前经解码块的数据而产生当前视频解码块的预测数据;运动补偿单元204是通过剖析运动向量和其他关联语法元素来确定用于视频解码块的预测信息,并使用该预测信息以产生正被解码的视频解码块的预测性块;通过对来自反变换与反量化单元202的残差块与由帧内预测单元203或运动补偿单元204产生的对应预测性块进行求和,而形成解码的视频块;该解码的视频信号通过滤波单元205以便去除方块效应伪影,可以改善视频质量;然后将经解码的视频块存储于解码图像缓存单元206中,解码图像缓存单元206存储用于后续帧内预测或运动补偿的参考图像,同时也用于视频信号的输出,即得到了所恢复的原始视频信号。
需要说明的是,本申请实施例可以应用在视频编码系统10(可简称为“编码器”)的帧间预测部分,具体是如图3A所示的运动补偿单元104和运动估计单元105;本申请实施例还可以应用在视频解码系统20(可简称为“解码器”)的帧间预测部分,具体是如图3B所示的运动补偿单元204。也就是说,本申请实施例既可以应用于编码器,也可以应用于解码器,甚至还可以同时应用于编码器和解码器,但是这里不作具体限定。
还需要说明的是,当本申请实施例的方法应用于编码器时,“当前块”具体是指待编码图像中当前待进行帧间预测的编码块;当本申请实施例的方法应用于解码器时,“当前块”具体是指待解码图像中当前待进行帧间预测的解码块。
本申请的一实施例中,参见图4,其示出了本申请实施例提供的一种编码方法的流程示意图。如图4所示,该方法可以包括:
S401:确定当前块的第一匹配块。
需要说明的是,对于一视频图像而言,视频图像可以划分为多个图像块,每个待编码的图像块均可以称为编码块,而这里的当前块具体是指当前待进行帧间预测的编码块。其中,当前块可以是一个CTU,甚至可以是一个CU、PU等,本申请实施例不作任何限定。
还需要说明的是,本申请实施例的编码方法主要应用于帧间预测的运动估计和运动补偿部分。其中,运动补偿是利用解码重建的参考帧中的局部图像来预测和补偿当前的局部图像,可以减少运动图像的冗余信息;运动估计是从视频序列中抽取运动信息,即对运动物体从参考帧到当前帧之间的位移信息做出估计,也即本申请实施例所述的运动信息,这个过程称为运动估计。
在本申请实施例中,这里的第一匹配块可以是根据整像素运动估计得到的,也可以是使用相关技术 的分像素插值滤波方式得到的,本申请实施例并不作任何限定。
以整像素运动估计为例,在一种具体的示例中,所述确定当前块的第一匹配块,可以包括:
对当前块进行整像素运动估计,确定当前块的第一匹配块。
具体来讲,对当前块进行整像素运动估计,确定当前块在整像素位置的目标匹配块,将整像素位置的目标匹配块确定为第一匹配块;其中,整像素位置的目标匹配块(或称之为“第一匹配块”)为当前块在整像素位置进行运动估计时率失真代价值最小的匹配块。
在本申请实施例中,运动估计方法主要包括像素递归法和块匹配法两大类。其中,前者复杂度高,实际中应用较少;后者在视频编码标准中被广泛采用。具体地,在块匹配法中,主要包括块匹配准则及搜索方法。目前有三种常用的匹配准则:(1)绝对误差和(Sum Absolute Difference,SAD)准则;(2)均方误差(Mean Square Error,MSE)准则;(3)归一化互相关函数(Normalized Cross Correlation Function,NCCF)准则。在确定匹配准则后就需要进行寻找最优匹配块的搜索工作,例如可以采用全搜索法、三部搜索法、菱形搜索法等等。
这里,在整像素运动估计过程中,针对多个整像素位置的匹配块,需要计算每一个整像素位置的匹配块所对应的率失真代价值(Rate Distortion Cost),然后选取出率失真代价值最小情况下的整像素位置的匹配块,即为最优匹配块,也即本申请实施例所述的目标匹配块。也就是说,整像素位置的目标匹配块为从多个整像素位置的匹配块中选择出最小率失真代价值对应的匹配块。
S402:对第一匹配块进行运动补偿增强,得到至少一个第二匹配块。
需要说明的是,在获取到第一匹配块之后,为了进一步提高预测精度,本申请实施例还可以进行运动补偿增强。
在一种可能的实施方式中,对于运动补偿增强而言,视频编码标准中通常采用DCTIF进行二分之一精度的分像素样本插值。其基本思想是对整像素样本进行正变换到DCT域,然后使用目标分像素位置采样的DCT基将DCT系数反变换回空域,这一过程可以用一个有限脉冲响应滤波过程来表示。其中,假定给定像素表示为f(i),插值得到的像素表示为 那么DCTIF插值过程的数学形式如式(1)所示。
在式(1)中,
基于DCTIF的基本原理,在实际应用中,可以得出二分之一精度的分像素样本的插值滤波器的抽头系数为[-1,4,-11,40,40,-11,4,-1]。
在该实施方式中,针对二分之一精度的运动补偿增强,考虑到自然图像信号的非平稳性和编码噪声的非线性,如果采用基于固定抽头的线性插值滤波器DCTIF,将难以适应日益多样化的视频内容和复杂的编码环境。
在另一种可能的实施方式中,对于运动补偿增强而言,本申请实施例提出了一种基于预设神经网络模型的运动补偿增强处理方式。具体地,在一些实施例中,所述对第一匹配块进行运动补偿增强的步骤还可以包括:利用预设神经网络模型对第一匹配块进行运动补偿增强。
相应地,所述对第一匹配块进行运动补偿增强,得到至少一个第二匹配块,可以包括:
利用预设神经网络模型对第一匹配块进行超分辨率和质量增强处理,得到处理块;
对处理块进行第一滤波处理,得到至少一个第二匹配块。
需要说明的是,处理块的分辨率高于当前块的分辨率。或者,也可以说,经过超分辨率和质量增强处理后所得到的处理块具有高质量和高分辨率性能。
还需要说明的是,第一匹配块与当前块具有相同的分辨率,而且经过第一滤波处理后得到的第二匹配块也具有与当前块相同的分辨率。
进一步地,在一些实施例中,第一滤波处理可以包括:下采样。也就是说,在得到处理块之后,对处理块进行下采样,可以得到至少一个第二匹配块。
在一种具体的示例中,如果第一匹配块为整像素匹配块,所述利用预设神经网络模型对第一匹配块进行运动补偿增强,得到至少一个第二匹配块,可以包括:
利用预设神经网络模型对第一匹配块进行分像素运动补偿,得到至少一个第二匹配块。
在这里,如果第一匹配块为整像素匹配块,那么在一种可能的实施方式中,第二匹配块的精度为二 分之一精度,该第二匹配块的数量为四个;在另一种可能的实施方式中,第二匹配块的精度为四分之一精度,该第二匹配块的数量为16个;但是本申请实施例不作任何限定。
可以理解地,预设神经网络模型为一种卷积神经网络(Convolutional Neural Networks,CNN)模型。其中,CNN是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。这里,卷积神经网络具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类(shift-invariant classification),故也可称为“平移不变人工神经网络(Shift-Invariant Artificial Neural Networks,SIANN)”。
也就是说,本实施方式与上述实施方式中插值滤波器对第一匹配块插值滤波出三个二分之一精度的分像素样本不同,本实施方式是利用卷积神经网络模型对第一匹配块实现端到端的超分辨率和质量增强,然后对输出的高分辨率图像进行下采样,可以生成四个二分之一精度的分像素样本(即“第二匹配块”)。
进一步地,针对预设神经网络模型而言,在一些实施例中,预设神经网络模型可以包括特征提取模块、残差投影模块组、采样模块和重建模块。其中,特征提取模块、残差投影模块组、采样模块和重建模块顺次连接。
在一种具体的示例中,基于预设神经网络模型的具体结构,所述对第一匹配块进行超分辨率和质量增强处理,得到处理块,可以包括:
通过特征提取模块对第一匹配块进行浅层特征提取,得到第一特征信息;
通过残差投影模块组对第一特征信息进行残差特征学习,得到第二特征信息;
通过采样模块对第二特征信息进行第二滤波处理,得到第三特征信息;
通过重建模块对第三特征信息进行超分辨率重建,得到处理块。
在这里,对于特征提取模块,其主要是用于进行浅层特征的提取,故特征提取模块又可以称为“浅层特征提取模块”。其中,本申请实施例的浅层特征主要是指低层次的简单特征(如边缘特征等)。
在一种具体的示例中,特征提取模块可以包括第一卷积层。相应地,所述通过特征提取模块对第一匹配块进行浅层特征提取,得到第一特征信息,可以包括:通过第一卷积层对第一匹配块进行卷积操作,得到第一特征信息。
在一些实施例中,第一卷积层的卷积核尺寸为K×L,第一卷积层的卷积核数量为2的整数次幂,K和L为大于零的正整数。在一种更具体的示例中,第一卷积层的卷积核尺寸可以为3×3,第一卷积层的卷积核数量为64,但是这里并不作任何限定。
进一步地,对于残差投影模块组,在一种具体的示例中,残差投影模块组可以包括N个残差投影块、第二卷积层和第一连接层;其中,N为大于或等于1的整数。
在本申请实施例中,N个残差投影块、第二卷积层和第一连接层顺次连接,且第一连接层还与N个残差投影块中第一个残差投影块的输入连接。
相应地,所述通过残差投影模块组对第一特征信息进行残差特征学习,得到第二特征信息,包括:
通过N个残差投影块对第一特征信息进行残差特征学习,得到第一中间特征信息;
通过第二卷积层对第一中间特征信息进行卷积操作,得到第二中间特征信息;
通过第一连接层对第一特征信息和第二中间特征信息进行加法计算,得到第二特征信息。
在一些实施例中,第二卷积层的卷积核尺寸为K×L,第二卷积层的卷积核数量为2的整数次幂,K和L为大于零的正整数。在一种更具体的示例中,第二卷积层的卷积核尺寸为3×3,第二卷积层的卷积核数量为64,但是这里也不作任何限定。
需要说明的是,第d个残差投影块的输入用F d-1表示,第d个残差投影块的输出用F d表示。如果仅通过堆叠残差投影块的方式并不会达到更好的效果,这时候可以引入第一连接层,即长跳跃连接(Long Skip Connection,LSC)层;甚至还在N个残差投影块之后引入了第二卷积层,通过这种残差学习的方式,可以简化预设神经网络模型中的信息流,使得预设神经网络模型的性能更加稳定。
还需要说明的是,针对堆叠残差投影块的方式,N个残差投影块是级联结构,该级联结构的输入为所述第一特征信息,该级联结构的输出为所述第二中间特征信息。在一些实施例中,所述通过N个残差投影块对第一特征信息进行残差特征学习,得到第一中间特征信息,可以包括:
当N等于1时,将第一特征信息输入到第一个残差投影块,得到第一个残差投影块的输出信息,并将第一个残差投影块的输出信息确定为第一中间特征信息;
当N大于1时,在得到第一个残差投影块的输出信息后,将第d个残差投影块的输出信息输入到第d+1个残差投影块,得到第d+1个残差投影块的输出信息,并对d执行加1处理,直至得到第N个残差投影块的输出信息,并将第N个残差投影块的输出信息确定为第一中间特征信息;其中,d为大于或等于1且小于N的整数。
在这里,如果N等于1,即残差投影模块组中仅包括1个残差投影块,该残差投影块的输出信息即为第一中间特征信息;如果N大于1,即残差投影模块组中包括有两个以上残差投影块,通过堆叠残差 学习方式,即前一个残差投影块的输出即为下一个残差投影块的输入,直至堆叠得到最后一个残差投影块的输出信息,这时候最后一个残差投影块的输出信息即为第一中间特征信息。
进一步地,对于采样模块,在一种具体的示例中,采样模块可以包括亚像素卷积层。相应地,所述通过采样模块对第二特征信息进行第二滤波处理,得到第三特征信息,可以包括:
通过亚像素卷积层对第二特征信息进行第二滤波处理,得到第三特征信息。
需要说明的是,经过第二滤波处理后得到的第三特征信息的分辨率高于第二特征信息的分辨率。
还需要说明的是,第二滤波处理可以包括:上采样。也就是说,对于采样模块,其主要是用于对第二特征信息进行上采样,故该采样模块又可以称为“上采样模块”。
还需要说明的是,该采样模块可以采用亚像素卷积层,也可以是增加一层亚像素卷积层。在这里,亚像素卷积层也可以是PixShuffle模块(或者,称为Pixelshuffle模块),其实现的功能是:将一个H×W的低分辨率输入图像,通过亚像素(Sub-pixel)操作将其变换为rH×rW的高分辨率输入图像。但是其实现过程不是直接通过插值等方式产生这个高分辨率图像,而是通过卷积先得到r 2个通道的特征图(特征图大小和输入低分辨率图像一致),然后通过周期筛选(periodic shuffling)的方法得到这个高分辨率图像;其中,r可以为图像的放大倍数。具体地,针对特征图,其通道数为r 2,将每个像素的r 2个通道重新排列成一个r×r的区域,对应于高分辨率图像中的一个r×r大小的子块,从而大小为r 2×H×W的特征图像被重新排列成1×rH×rW大小的高分辨率图像。
进一步地,对于重建模块,在一种具体的示例中,重建模块可以包括第五卷积层。相应地,所述通过重建模块对第三特征信息进行超分辨率重建,得到处理块,可以包括:
通过第五卷积层对第三特征信息进行卷积操作,得到处理块。
在本申请实施例中,第五卷积层的卷积核尺寸为K×L,第五卷积层的卷积核数量为2的整数次幂,K和L为大于零的正整数。在一种更具体的示例中,第五卷积层的卷积核尺寸为3×3,第五卷积层的卷积核数量为1,但是这里也不作任何限定。
示例性地,参见图5,其示出了本申请实施例提供的一种预设神经网络模型的网络结构示意图。该预设神经网络模型可以用RPNet表示。如图5所示,RPNet主要包括浅层特征提取网络层(Shallow Feature Extraction Net)、残差投影模块组(Residual Projection Blocks)、上采样网络层(Up-sampling Net)和重建网络层(Reconstruction Net)等四部分。其中,浅层特征提取网络层即本申请实施例所述的特征提取模块,其可以为第一卷积层;上采样网络层即本申请实施例所述的采样模块,其可以为亚像素卷积层;重建网络层即本申请实施例所述的重建模块,其可以为第五卷积层。在这里,假定I LR表示本申请实施例所述的第一匹配块,即RPNet输入的低分辨率图像;I SR表示本申请实施例所述的处理块,即RPNet输出的高分辨率图像(也可称为超分辨率图像);也就是说,I LR和I SR分别表示RPNet的输入和输出。下面将结合图5对该模型的网络结构进行具体说明。
首先,本申请实施例只使用一层卷积层对输入的低分辨率图像进行浅层特征提取,其数学形式如式(4)所示,
F 0=H SFE(I LR) (4)
其中,H SFE(·)表示卷积操作,F 0表示提取到的低分辨率图像的浅层特征,并作为残差投影模块的输入。
其次,假定RPNet中包含N个残差投影块,那么第d个残差投影块的运算可以用式(5)描述,
F d=H RPB,d(F d-1)=H RPB,d(H RPB,d-1(...(H RPB,1(F 0))...)) (5)
其中,F d-1和F d分别表示第d个残差投影块的输入和输出。经验表明,仅通过堆叠残差投影块的方式并不会取得更好的效果。为了解决这个问题,这里引入了长跳跃连接层,其数学形式如式(6)所示,
F DF=F 0+W LSCF N=F 0+W LSCH RPB,N(H RPB,N-1(...(H RPB,1(F 0))...)) (6)
其中,W LSC表示第N个残差投影块之后卷积层的权重值。通过这种全局残差学习(Global Residual Leaning,GRL)的方式,简化了网络结构中的信息流,使网络模型在训练过程中变得更加稳定,并且利用残差投影块直接学习残差信息,为网络模型性能的提升带来了可能。
再次,通过上采样网络层对残差特征F DF进行上采样,其数学形式如式(7)所示,
F UP=H UP(F DF) (7)
其中,H UP(·)表示卷积操作以实现上采样,F UP表示提取到的第三特征信息,并作为重建网络层的输入。
最后,通过重建网络层生成高分辨率图像,数学形式如式(8)所示,
I SR=H REC(F UP). (8)
其中,H REC(·)表示卷积操作以实现超分辨率重建。
还可以理解,考虑到低分辨率特征与高分辨率特征之间的联系,受投影思想的启发,本申请实施例提出了残差投影模块(或简称为“残差投影块”)。在一些实施例中,残差投影块可以包括上投影模块、M个残差模块、局部特征融合模块、下投影模块和第二连接层;其中,M为大于或等于1的整数。
在本申请实施例中,上投影模块、M个残差模块、局部特征融合模块、下投影模块和第二连接层顺次连接,且第二连接层还与上投影模块的输入连接,M个残差模块的输出还分别与局部特征融合模块连接。
相应地,对于残差投影块的具体网络结构,该方法还可以包括:
通过上投影模块对残差投影块的输入信息进行第三滤波处理,得到第一高分辨率特征信息;
通过M个残差模块对第一高分辨率特征信息进行不同等级的高分辨率特征学习,得到M个第二高分辨率特征信息;
通过局部特征融合模块对M个第二高分辨率特征信息进行融合操作,得到第三高分辨率特征信息;
通过下投影模块对第三高分辨率特征信息进行第四滤波处理,得到滤波后特征信息;
通过第二连接层对输入信息和滤波后特征信息进行加法计算,得到残差投影块的输出信息。
进一步地,对于上投影模块,在一种具体的示例中,上投影模块可以包括转置卷积层。相应地,所述通过上投影模块对残差投影块的输入信息进行第三滤波处理,得到第一高分辨率特征信息,可以包括:
通过转置卷积层对残差投影块的输入信息进行第三滤波处理,得到第一高分辨率特征信息。
需要说明的是,经过第三滤波处理后得到的第一高分辨率特征信息的分辨率高于残差投影块的输入信息的分辨率。
还需要说明的是,第三滤波处理可以包括:上采样。也就是说,通过转置卷积层对残差投影块的输入信息进行上采样,得到第一高分辨率特征信息。
进一步地,对于局部特征融合模块,在一种具体的示例中,局部特征融合模块可以包括特征融合层和第三卷积层,所述通过局部特征融合模块对M个第二高分辨率特征信息进行融合操作,得到第三高分辨率特征信息,包括:
通过特征融合层对M个第二高分辨率特征信息进行融合操作,得到融合特征信息;
通过第三卷积层对融合特征信息进行卷积操作,得到第三高分辨率特征信息。
在本申请实施例中,第三卷积层的卷积核尺寸为K×L,第三卷积层的卷积核数量为2的整数次幂,K和L为大于零的正整数。在一种更具体的示例中,第三卷积层的卷积核尺寸为1×1,第三卷积层的卷积核数量为64,但是这里并不作任何限定。
也就是说,在本申请实施例中,通过特征融合层对M个第二高分辨率特征信息进行融合操作,但是为了充分发挥残差网络的学习能力,这里还引入了1×1卷积层对残差模块学习到的特征信息进行融合操作,能够自适应地控制学习到的特征信息。
进一步地,对于下投影模块,在一种具体的示例中,下投影模块可以包括第四卷积层,所述通过下投影模块对第三高分辨率特征信息进行第四滤波处理,得到滤波后特征信息,包括:
通过第四卷积层对第三高分辨率特征信息进行第四滤波处理,得到滤波后特征信息。
需要说明的是,经过第四滤波处理后得到的滤波后特征信息的分辨率低于第三高分辨率特征信息的分辨率。另外,经过第四滤波处理后得到的滤波后特征信息与残差投影块的输入信息具有相同的分辨率。
还需要说明的是,第四滤波处理可以包括:下采样。也就是说,通过第四卷积层对第三高分辨率特征信息进行下采样,得到滤波后特征信息。
示例性地,参见图6,其示出了本申请实施例提供的一种残差投影块的网络结构示意图。该残差投影块可以用RPB表示。如图6所示,RPB主要包括上投影模块(Up-Projection Unit)、残差模块(Residual Block)、局部特征融合模块(Local Feature Fusion)和下投影模块(Down-Projection Unit)等。其中,对于第d个残差投影块,假定其中包含M个残差模块;其具体连接关系详见图6。
首先,上投影模块采用转置卷积层对输入的低分辨率特征进行上采样,数学形式如式(9)所示,
F d,0=(F d-1*p t)↑ s (9)
其中,*表示空间卷积操作,F d-1表示第d个残差投影块的输入,p t表示转置卷积,↑ s表示缩放因子为s的上采样,F d,0表示第1个残差模块的输入。在这里,[F d,1,...,F d,M]分别表示M个残差模块的输出。
其次,为了充分发挥残差网络的学习能力,局部特征融合包括特征融合层和第三卷积层,其中引入1×1的第三卷积层对残差模块学习到的特征进行融合操作,自适应的控制学习到的特征信息,其数学形式如式(10)所示,
再次,下投影模块采用第四卷积层的卷积操作对F d,LFF进行下采样,实现使用高分辨率特征指导低分辨率特征的效果,最终与通过F d-1进行像素级相加得到F d,其数学形式如式(11)所示,
F d=F d-1+(F d,LFF*q t)↓ s (11)
其中,*表示空间卷积操作,q t表示卷积层,↓ s表示缩放因子为s的下采样。
也就是说,本申请实施例结合转置卷积和残差模块提出了残差投影块RPB,其基本思想是利用转置卷积层将低分辨率特征投影到高分辨率特征空间,再利用残差模块学习不同等级的高分率特征,然后通过局部特征融合提高残差模块的表达能力,最后利用卷积层将该高分率特征投影回低分辨率特征空间。这样,基于该模块,本申请实施例提出了二分之一精度的分像素插值的预设神经网络模型RPNet,并将训练好的模型嵌入到编码平台VTM7.0。如此,在视频编码过程中,本申请实施例可以只对尺寸大于或等于64×64的PU选择RPNet进行运动补偿增强;对于尺寸小于64×64的PU仍然按照相关技术中的插值滤波器进行运动补偿增强。
另外,以第一匹配块为整像素匹配块为例,对于运动补偿增强来说,本申请实施例的方法可以实现二分之一精度的分像素运动补偿,也可以实现四分之一精度的分像素运动补偿,甚至还可以实现其他精度的分像素运动补偿,本申请实施例不作任何限定。
在一种具体的示例中,当分像素样值的精度为二分之一精度时,转置卷积层和第四卷积层的卷积核尺寸均为6×6,步长和填充值均设置为2;或者,当分像素样值的精度为四分之一精度时,转置卷积层和第四卷积层的卷积核尺寸均为8×8,步长和填充值分别设置为4和2。
换句话说,在模型结构中,对于RPNet而言,在一种具体的示例中,RPNet中残差投影块的数量N可设置为10,每个残差投影块中残差模块的数量M可设置为3。除了重建网络层中的卷积层的卷积核个数设置为1外,网络模型中其他转置卷积层或卷积层的卷积核个数都设置为64。上投影模块中的转置卷积层和下投影模块中的卷积层中卷积核的尺寸设置为6×6,步长和填充设置为2。除此之外,网络模型中其他卷积层均采用尺寸3×3的卷积核,而上采样模块可以采用亚像素卷积层。
在另一种具体的示例中,本申请实施例中的RPNet还可以用于所有尺寸的PU进行二分之一精度的分像素样本插值。另外,虽然所有的更改都可能对最终视频的质量产生影响,但是本申请实施例中的RPNet还可以调整残差投影块的数量以及调整残差投影块中残差模块的数量。甚至本申请实施例中的RPNet还可以用于四分之一精度的分像素运动补偿,这时候将上投影模块中的转置卷积层和下投影模块中的卷积层中卷积核的尺寸设置为8×8,步长和填充分别设置为4和2,并在上采样模块中增加一层亚像素卷积层。
还可以理解,对于预设神经网络模型,其可以是通过模型训练得到的。在一些实施例中,该方法还可以包括:
确定训练数据集,该训练数据集包括至少一张训练图像;
对训练数据集进行预处理,得到预设神经网络模型的真值区域以及至少一组输入图像组;其中,该输入图像组包括至少一张输入图像;
基于真值区域,利用这至少一组输入图像组对神经网络模型进行训练,得到至少一组候选模型参数;其中,真值区域用于确定神经网络模型的损失函数的损失值(Loss),这至少一组候选模型参数是在损失函数的损失值收敛到预设阈值时得到的。
需要说明的是,在数据集方面,本申请实施例可以选择一种公开数据集(如DIV2K数据集),其中包含800张训练图像和100张验证图像。在具体的操作过程中,对DIV2K数据集的预处理主要包括格式转换与编码重建两个步骤。首先,对训练集中的800张高分辨率图像和测试集中的100张高分辨率图像以及二者对应的低分辨率图像进行格式转换,由原始的PNG格式转换为YUV420格式。然后,对YUV420格式的高分辨率图像数据提取亮度分量并保存为PNG格式,作为真值区域(Ground Truth)。对YUV420格式的低分辨率图像数据则利用VTM7.0进行全帧内编码,量化参数(Quantization Parameter,QP)可以分别设置为22、27、32、37,再对四组解码重建的数据分别提取亮度分量并保存为PNG格式,作为神经网络模型的输入。由此,可以获得四组训练数据集。
在评价标准方面,本申请实施例选择峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)作为图像重建质量的评价标准。
在网络训练方面,模型是基于Pytorch平台训练的。将尺寸为48×48的低分辨率图像作为输入,批(batch)设置为16。本申请实施例可以选择平均绝对误差作为损失函数,自适应矩估计作为优化函数,并将动量和权重衰减分别设置为0.9和0.0001。初始学习率设置为0.0001,并且每经过100个时期(epoch)则按照0.1的比例下降,一共经过300个epoch。根据不同的QP,利用相应的数据集进行训练,可以得到四组模型参数,这四组模型参数对应四个模型,分别用RPNet_qp22、RPNet_qp27、RPNet_qp32、RPNet_qp37表示。
进一步地,模型训练之后,在一些实施例中,该方法还可以包括:
确定当前块的量化参数;
根据所述量化参数,从至少一组候选模型参数中确定所述量化参数对应的模型参数;
根据所述模型参数,确定预设神经网络模型。
在这里,当至少一组为多组时,输入图像组对应不同的量化参数,且多组候选模型参数与不同的量化参数之间具有对应关系。
也就是说,在模型训练之后,根据当前块的量化参数,可以确定出该量化参数对应的训练好后的模型参数,进而能够确定出本申请实施例使用的预设神经网络模型。
进一步地,在一些实施例中,该方法还可以包括:对所述模型参数进行编码,将编码比特写入码流。
需要说明的是,一方面,如果编码器和解码器使用相同的固定参数的预设神经网络模型,那么这时候参数已经固化,故不需要进行模型参数传输;另一方面,如果码流中传输公共训练数据集的访问信息,例如一个统一资源定位系统(Uniform Resource Locator,URL),解码器使用与编码器相同的方式进行训练;再一方面,对于编码器,可以使用已编码的视频序列进行学习。
还需要说明的是,如果编码器将模型参数写入码流,那么解码器可以不再进行模型训练,通过解析码流获得模型参数后,即可确定出本申请实施例使用的预设神经网络模型。
这样,在确定出预设神经网络模型之后,可以利用预设神经网络模型对第一匹配块进行运动补偿增强,得到至少一个第二匹配块。
S403:根据至少一个第二匹配块,确定当前块的运动信息。
需要说明的是,如果第一匹配块为整像素匹配块,在得到至少一个第二匹配块之后,本申请实施例还需要进行分像素运动估计。在一些实施例中,该方法还可以包括:
根据至少一个第二匹配块对当前块进行分像素运动估计,确定当前块的分像素匹配块。
具体来讲,根据至少一个第二匹配块对当前块进行分像素运动估计,确定当前块在分像素位置的目标匹配块,将分像素位置的目标匹配块确定为所述分像素匹配块;其中,分像素位置的目标匹配块(可称之为“分像素匹配块”)为当前块在分像素位置进行运动估计时率失真代价值最小的匹配块。
在这里,在分像素运动估计过程中,针对多个第二匹配块,需要计算每一个分像素位置的匹配块所对应的率失真代价值(Rate Distortion Cost),然后选取出率失真代价值最小情况下的分像素位置的匹配块,即为最优匹配块,也即本申请实施例所述的目标匹配块。也就是说,分像素位置的目标匹配块(或简称为“分像素匹配块”)为从这多个第二匹配块中选择出最小率失真代价值对应的匹配块。
在一些实施例中,所述根据至少一个第二匹配块,确定当前块的运动信息,可以包括:
利用第一匹配块对当前块进行预编码处理,确定第一率失真代价值;
利用分像素匹配块对当前块进行预编码处理,确定第二率失真代价值;
若第一率失真代价值大于第二率失真代价值,则确定当前块使用运动补偿增强处理方式,且确定运动信息为第一运动信息,该第一运动信息用于指向分像素位置;
若第一率失真代价值小于或等于第二率失真代价值,则确定当前块不使用运动补偿增强处理方式,且确定运动信息为第二运动信息,该第二运动信息用于指向整像素位置。
需要说明的是,当前块是使用运动补偿增强处理方式,还是不使用运动补偿增强处理方式(或者说,使用整像素运动补偿方式),本申请实施例是根据计算率失真代价值的大小确定的。也就是说,编码器最终选取率失真代价值最小的方式进行预测编码。
还需要说明的是,如果确定当前块使用运动补偿增强处理方式,那么这时候的运动信息为第一运动信息,即用于指向分像素位置(即“分像素精度位置”),此时在解码器中也需要进行运动补偿增强以插值出第二匹配块。否则,如果确定当前块不使用运动补偿增强处理方式,那么这时候的运动信息为第二运动信息,即用于指向整像素位置(即“整像素精度位置”),此时解码器是不需要进行运动补偿增强的。
进一步地,在一些实施例中,该方法还可以包括:
若第一率失真代价值大于第二率失真代价值,则确定第一语法元素标识信息的取值为第一值;
若第一率失真代价值小于或等于第二率失真代价值,则确定第一语法元素标识信息的取值为第二值。
在本申请实施例中,第一值和第二值不同,而且第一值和第二值可以是参数形式,也可以是数字形式。在通常情况下,第一语法元素标识信息是写入在概述(profile)中的参数,但是第一语法元素标识信息也可以是一个标志(flag),这里并不作任何限定。
也就是说,本申请实施例还可以设置第一语法元素标识信息,该第一语法元素标识信息用于指示当前块是否使用运动补偿增强处理方式。这样,后续在解码器中,根据第一语法元素标识信息的取值,即可以确定当前块是否使用运动补偿增强处理方式。
还需要说明的是,如果第一语法元素标识信息为一个flag,那么在一种具体的示例中,第一值可以设置为1,第二值可以设置为0;在另一具体的示例中,第一值还可以设置为true,第二值还可以设置为false;甚至在又一具体的示例中,第一值还可以设置为0,第二值还可以设置为1;或者,第一值还 可以设置为false,第二值还可以设置为true。本申请实施例第一值和第二值不作任何限定。
除此之外,本申请实施例还可以设置第二语法元素标识信息,该第二语法元素标识信息用于指示当前块是否使用本申请实施例的运动补偿增强方法。在一些实施例中,该方法还可以包括:若第二语法元素标识信息指示当前块使用本申请实施例的运动补偿增强方法,即第二语法元素标识信息的取值为第一值,则执行图4所示的流程;若第二语法元素标识信息指示当前块不使用本申请实施例的运动补偿增强方法,即第二语法元素标识信息的取值为第二值,则执行相关技术的运动补偿增强方法,比如基于DCTIF的分像素运动补偿方法。
进一步地,在一些实施例中,该方法还可以包括:对第一语法元素标识信息的取值进行编码,将编码比特写入码流。如此,编码器在将第一语法元素标识信息的取值写入码流后,使得解码器可以通过解析码流直接确定出当前块是否使用运动补偿增强处理方式,以方便解码器执行后续操作。
S404:根据运动信息,对当前块进行编码。
需要说明的是,运动信息可以至少包括:参考帧信息和运动向量。这样,根据当前块的运动信息,可以从参考帧中确定出预测块。
在一种可能的实施方式中,如果当前块使用运动补偿增强处理方式,那么所述根据运动信息,对当前块进行编码,可以包括:
根据第一运动信息和分像素匹配块,确定当前块的第一预测块;
根据当前块和第一预测块,确定当前块的残差块;
对残差块进行编码,将编码比特写入码流。
在一种具体的示例中,所述根据当前块和第一预测块,确定当前块的残差块,可以包括:对当前块和第一预测块进行减法运算,确定出当前块的残差块。
在另一种可能的实施方式中,如果当前块不使用运动补偿增强处理方式,那么所述根据运动信息,对当前块进行编码,可以包括:
根据第二运动信息和第一匹配块,确定当前块的第二预测块;
根据当前块和第二预测块,确定当前块的残差块;
对残差块进行编码,将编码比特写入码流。
需要说明的是,在本申请实施例中,如果当前块不使用运动补偿增强处理方式,那么即指当前块使用整像素运动补偿方式。
还需要说明的是,在一种具体的示例中,所述根据当前块和第二预测块,确定当前块的残差块,可以包括:对当前块和第二预测块进行减法运算,确定出当前块的残差块。
进一步地,在一些实施例中,该方法还可以包括:对运动信息进行编码,将编码比特写入码流。如此,编码器在将运动信息写入码流后,使得解码器通过解析码流确定出运动信息之后,根据运动信息即可以确定出当前块的预测块(第一预测块或第二预测块),以方便解码器执行后续操作。
简言之,考虑到低分辨率特征与高分辨特征之间的联系,受投影思想的启发,本申请实施例结合转置卷积和残差网络,提出了残差投影块。然后基于残差投影块,本申请实施例提出了一种二分之一精度的分像素插值网络RPNet,并将其应用在VTM7.0中。
这样,本申请实施例所提出的技术方案在VTM7.0上实现后,在低延迟(Low Delay)的P条件下对视频序列进行编码实验。如表1所示,其示出了应用基于RPNet的分像素运动补偿方法的VTM7.0编码结果。与VTM7.0相比,在同样解码质量的前提下,本技术方案提出的方法可以使得码率(BD-Rate)平均降低0.18%。尤其是对于SlideShow视频序列,该方法可以使得码率降低0.57%,进一步说明了基于RPNet的二分之一精度的分像素运动补偿方法的有效性。
表1
本申请实施例提供了一种编码方法,应用于编码器。通过确定当前块的第一匹配块;对第一匹配块进行运动补偿增强,得到至少一个第二匹配块;根据至少一个第二匹配块,确定当前块的运动信息;根据运动信息,对当前块进行编码。这样,利用预设神经网络模型进行运动补偿增强,在保证相同解码质量的前提下,不仅可以降低计算复杂度,还可以节省码率,进而能够提高编解码效率。
本申请的另一实施例中,本申请实施例提供一种码流,该码流是根据待编码信息进行比特编码生成的。其中,待编码信息至少包括当前块的运动信息、当前块的残差块和第一语法元素标识信息的取值,该第一语法元素标识信息用于指示当前块是否使用运动补偿增强处理方式。
在本申请实施例中,码流可以由编码器传输到解码器,以方便解码器执行后续操作。
本申请的又一实施例中,参见图7,其示出了本申请实施例提供的一种解码方法的流程示意图。如图7所示,该方法可以包括:
S701:解析码流,确定第一语法元素标识信息的取值。
需要说明的是,对于一视频图像而言,视频图像可以划分为多个图像块,每个待解码的图像块均可以称为解码块,而这里的当前块具体是指当前待进行帧间预测的解码块。其中,当前块可以是一个CTU,甚至可以是一个CU、PU等,本申请实施例不作任何限定。
还需要说明的是,本申请实施例的解码方法主要应用于帧间预测的运动补偿部分。其中,运动补偿是利用解码重建的参考帧中的局部图像来预测和补偿当前的局部图像,可以减少运动图像的冗余信息。
在一些实施例中,所述解析码流,确定第一语法元素标识信息的取值,可以包括:
若第一语法元素标识信息的取值为第一值,则确定当前块使用运动补偿增强处理方式;
若第一语法元素标识信息的取值为第二值,则确定当前块不使用运动补偿增强处理方式。
需要说明的是,第一语法元素标识信息用于指示当前块是否使用运动补偿增强处理方式。另外,第一值和第二值不同,而且第一值和第二值可以是参数形式,也可以是数字形式。在通常情况下,第一语法元素标识信息是写入在概述(profile)中的参数,但是第一语法元素标识信息也可以是一个标志(flag),这里并不作任何限定。
还需要说明的是,如果第一语法元素标识信息为一个flag,那么在一种具体的示例中,第一值可以设置为1,第二值可以设置为0;在另一具体的示例中,第一值还可以设置为true,第二值还可以设置为false;甚至在又一具体的示例中,第一值还可以设置为0,第二值还可以设置为1;或者,第一值还可以设置为false,第二值还可以设置为true。本申请实施例第一值和第二值不作任何限定。
以第一值为1,第二值为0为例,在本申请实施例中,如果第一语法元素标识信息的取值为1,那么可以确定当前块使用运动补偿增强处理方式,那么这时候解码获得的运动信息为第一运动信息,即用于指向分像素位置,此时在解码器中也需要进行运动补偿增强以插值出第二匹配块。否则,如果第一语法元素标识信息的取值为0,那么可以确定当前块不使用运动补偿增强处理方式,那么这时候解码获得的运动信息为第二运动信息,即用于指向整像素位置,此时解码器是不需要进行运动补偿增强的。
S702:若第一语法元素标识信息指示当前块使用运动补偿增强处理方式,则解析码流,确定当前块的第一运动信息。
S703:根据第一运动信息确定当前块的第一匹配块,并对第一匹配块进行运动补偿增强,得到至少一个第二匹配块。
在本申请实施例中,运动信息可以包括参考帧信息和运动向量(Motion Vector,MV)信息。以VVC为例,是否使用分像素运动补偿是由解析码流所确定的MV精度决定的。例如,标识MV是整像素精度还是分像素精度。如果是分像素精度,例如1/4像素,MV分量的低2个比特位均为0,那么可以表示该MV指向整像素精度位置;反之,指向分像素精度位置。
需要说明的是,这里的第一匹配块可以是指向整像素精度位置,也可以是使用相关技术的分像素插值滤波方式所指向的分像素精度位置,本申请实施例并不作任何限定。
还需要说明的是,如果第一匹配块可以是指向整像素精度位置,那么当第一语法元素标识信息指示当前块使用运动补偿增强处理方式时,这时候解码器需要进行分像素运动补偿以插值出第二匹配块。在这里,由于解码器中已解码的参考帧均为整像素位置,对于整像素位置中间的分像素位置,则是需要通过插值方式得到,本申请实施例是采用基于预设神经网络模型的分像素运动补偿方式实现的。
在一些实施例中,所述对第一匹配块进行运动补偿增强的步骤还可以包括:利用预设神经网络模型对第一匹配块进行运动补偿增强。
相应地,所述对第一匹配块进行运动补偿增强,得到至少一个第二匹配块,可以包括:
利用预设神经网络模型对第一匹配块进行超分辨率和质量增强处理,得到处理块;
对处理块进行第一滤波处理,得到至少一个第二匹配块。
需要说明的是,处理块的分辨率高于当前块的分辨率。或者,也可以说,经过超分辨率和质量增强处理后所得到的处理块具有高质量和高分辨率性能。
还需要说明的是,第一匹配块与当前块具有相同的分辨率,而且经过第一滤波处理后得到的第二匹配块也具有与当前块相同的分辨率。
进一步地,在一些实施例中,第一滤波处理可以包括:下采样。也就是说,在得到处理块之后,对处理块进行下采样,可以得到至少一个第二匹配块。
在一种具体的示例中,如果第一匹配块为整像素匹配块,所述利用预设神经网络模型对第一匹配块进行运动补偿增强,得到至少一个第二匹配块,可以包括:
利用预设神经网络模型对第一匹配块进行分像素运动补偿,得到至少一个第二匹配块。
在这里,如果第一匹配块为整像素匹配块,那么在一种可能的实施方式中,第二匹配块的精度为二分之一精度,该第二匹配块的数量为四个;在另一种可能的实施方式中,第二匹配块的精度为四分之一精度,该第二匹配块的数量为16个;但是本申请实施例不作任何限定。
可以理解地,预设神经网络模型可以为一种卷积神经网络模型。本申请实施例可以利用卷积神经网络模型对第一匹配块实现端到端的超分辨率和质量增强,然后对输出的高分辨率图像进行下采样,能够生成四个二分之一精度的分像素样本(即“第二匹配块”)。
进一步地,在一些实施例中,预设神经网络模型可以包括特征提取模块、残差投影模块组、采样模块和重建模块;其中,特征提取模块、残差投影模块组、采样模块和重建模块顺次连接。
相应地,基于预设神经网络模型的具体结构,所述对第一匹配块进行超分辨率和质量增强处理,得到处理块,可以包括:
通过特征提取模块对第一匹配块进行浅层特征提取,得到第一特征信息;
通过残差投影模块组对第一特征信息进行残差特征学习,得到第二特征信息;
通过采样模块对第二特征信息进行第二滤波处理,得到第三特征信息;
通过重建模块对第三特征信息进行超分辨率重建,得到处理块。
在这里,特征提取模块又可以称为“浅层特征提取模块”。在一种具体的示例中,特征提取模块可以为第一卷积层。相应地,所述通过特征提取模块对第一匹配块进行浅层特征提取,得到第一特征信息,可以包括:通过第一卷积层对第一匹配块进行卷积操作,得到第一特征信息。需要注意的是,这里的浅层特征主要是指低层次的简单特征(如边缘特征等)。
在一些实施例中,第一卷积层的卷积核尺寸为K×L,第一卷积层的卷积核数量为2的整数次幂,K和L为大于零的正整数。在一种更具体的示例中,第一卷积层的卷积核尺寸可以为3×3,第一卷积层的卷积核数量为64,但是这里并不作任何限定。
进一步地,对于残差投影模块组,在一种具体的示例中,残差投影模块组可以包括N个残差投影块、第二卷积层和第一连接层;其中,N为大于或等于1的整数。
在本申请实施例中,N个残差投影块、第二卷积层和第一连接层顺次连接,且第一连接层还与N个残差投影块中第一个残差投影块的输入连接。
相应地,所述通过残差投影模块组对第一特征信息进行残差特征学习,得到第二特征信息,包括:
通过N个残差投影块对第一特征信息进行残差特征学习,得到第一中间特征信息;
通过第二卷积层对第一中间特征信息进行卷积操作,得到第二中间特征信息;
通过第一连接层对第一特征信息和第二中间特征信息进行加法计算,得到第二特征信息。
在一些实施例中,第二卷积层的卷积核尺寸为K×L,第二卷积层的卷积核数量为2的整数次幂,K和L为大于零的正整数。在一种更具体的示例中,第二卷积层的卷积核尺寸为3×3,第二卷积层的卷积核数量为64,但是这里也不作任何限定。
进一步地,针对堆叠残差投影块的方式,N个残差投影块是级联结构,该级联结构的输入为所述第一特征信息,该级联结构的输出为所述第二中间特征信息。在一些实施例中,所述通过N个残差投影块对第一特征信息进行残差特征学习,得到第一中间特征信息,可以包括:
当N等于1时,将第一特征信息输入到第一个残差投影块,得到第一个残差投影块的输出信息,并将第一个残差投影块的输出信息确定为第一中间特征信息;
当N大于1时,在得到第一个残差投影块的输出信息后,将第d个残差投影块的输出信息输入到第d+1个残差投影块,得到第d+1个残差投影块的输出信息,并对d执行加1处理,直至得到第N个残差投影块的输出信息,并将第N个残差投影块的输出信息确定为第一中间特征信息;其中,d为大于或等于1且小于N的整数。
在这里,如果N等于1,即残差投影模块组中仅包括1个残差投影块,该残差投影块的输出信息即 为第一中间特征信息;如果N大于1,即残差投影模块组中包括有两个以上残差投影块,通过堆叠残差学习方式,即前一个残差投影块的输出即为下一个残差投影块的输入,直至堆叠得到最后一个残差投影块的输出信息,这时候最后一个残差投影块的输出信息即为第一中间特征信息。
可以理解,考虑到低分辨率特征与高分辨率特征之间的联系,受投影思想的启发,本申请实施例提出了残差投影模块(或简称为“残差投影块”)。在一些实施例中,残差投影块可以包括上投影模块、M个残差模块、局部特征融合模块、下投影模块和第二连接层;其中,M为大于或等于1的整数。
在本申请实施例中,上投影模块、M个残差模块、局部特征融合模块、下投影模块和第二连接层顺次连接,且第二连接层还与上投影模块的输入连接,M个残差模块的输出还分别与局部特征融合模块连接。
相应地,对于残差投影块的具体网络结构,该方法还可以包括:
通过上投影模块对残差投影块的输入信息进行第三滤波处理,得到第一高分辨率特征信息;
通过M个残差模块对第一高分辨率特征信息进行不同等级的高分辨率特征学习,得到M个第二高分辨率特征信息;
通过局部特征融合模块对M个第二高分辨率特征信息进行融合操作,得到第三高分辨率特征信息;
通过下投影模块对第三高分辨率特征信息进行第四滤波处理,得到滤波后特征信息;
通过第二连接层对输入信息和滤波后特征信息进行加法计算,得到所述残差投影块的输出信息。
进一步地,对于上投影模块,在一种具体的示例中,上投影模块可以包括转置卷积层。相应地,所述通过上投影模块对残差投影块的输入信息进行第三滤波处理,得到第一高分辨率特征信息,可以包括:
通过转置卷积层对残差投影块的输入信息进行第三滤波处理,得到第一高分辨率特征信息。
需要说明的是,经过第三滤波处理后得到的第一高分辨率特征信息的分辨率高于残差投影块的输入信息的分辨率。
还需要说明的是,第三滤波处理可以包括:上采样。也就是说,通过转置卷积层对残差投影块的输入信息进行上采样,得到第一高分辨率特征信息。
进一步地,对于局部特征融合模块,在一种具体的示例中,局部特征融合模块可以包括特征融合层和第三卷积层,所述通过局部特征融合模块对M个第二高分辨率特征信息进行融合操作,得到第三高分辨率特征信息,包括:
通过特征融合层对M个第二高分辨率特征信息进行融合操作,得到融合特征信息;
通过第三卷积层对融合特征信息进行卷积操作,得到第三高分辨率特征信息。
在本申请实施例中,第三卷积层的卷积核尺寸为K×L,第三卷积层的卷积核数量为2的整数次幂,K和L为大于零的正整数。在一种更具体的示例中,第三卷积层的卷积核尺寸为1×1,第三卷积层的卷积核数量为64,但是这里并不作任何限定。
也就是说,在本申请实施例中,通过特征融合层对M个第二高分辨率特征信息进行融合操作,但是为了充分发挥残差网络的学习能力,这里还引入了1×1卷积层对残差模块学习到的特征信息进行融合操作,能够自适应地控制学习到的特征信息。
进一步地,对于下投影模块,在一种具体的示例中,下投影模块可以包括第四卷积层,所述通过下投影模块对第三高分辨率特征信息进行第四滤波处理,得到滤波后特征信息,包括:
通过第四卷积层对第三高分辨率特征信息进行第四滤波处理,得到滤波后特征信息。
需要说明的是,经过第四滤波处理后得到的滤波后特征信息的分辨率低于第三高分辨率特征信息的分辨率。另外,经过第四滤波处理后得到的滤波后特征信息与残差投影块的输入信息具有相同的分辨率。
还需要说明的是,第四滤波处理可以包括:下采样。也就是说,通过第四卷积层对第三高分辨率特征信息进行下采样,得到滤波后特征信息。
除此之外,对于预设神经网络模块的采样模块而言,在一种具体的示例中,采样模块可以包括亚像素卷积层。相应地,所述通过采样模块对第二特征信息进行第二滤波处理,得到第三特征信息,包括:
通过亚像素卷积层对第二特征信息进行第二滤波处理,得到第三特征信息。
需要说明的是,经过第二滤波处理后得到的第三特征信息的分辨率高于第二特征信息的分辨率。
还需要说明的是,第二滤波处理可以包括:上采样。也就是说,对于采样模块,其主要是用于对第二特征信息进行上采样,故该采样模块又可以称为“上采样模块”。
还需要说明的是,该采样模块可以采用亚像素卷积层,也可以是增加一层亚像素卷积层。在这里,亚像素卷积层也可以是PixShuffle模块(或者,称为Pixelshuffle模块),其实现的功能是:将一个H×W的低分辨率输入图像,通过亚像素(Sub-pixel)操作将其变换为rH×rW的高分辨率输入图像。但是其实现过程不是直接通过插值等方式产生这个高分辨率图像,而是通过卷积先得到r 2个通道的特征图(特征图大小和输入低分辨率图像一致),然后通过周期筛选(periodic shuffling)的方法得到这个高分 辨率图像;其中,r可以为图像的放大倍数。具体地,针对特征图,其通道数为r 2,将每个像素的r 2个通道重新排列成一个r×r的区域,对应于高分辨率图像中的一个r×r大小的子块,从而大小为r 2×H×W的特征图像被重新排列成1×rH×rW大小的高分辨率图像。
进一步地,对于预设神经网络模块的重建模块而言,在一种具体的示例中,重建模块可以包括第五卷积层。相应地,所述通过重建模块对第三特征信息进行超分辨率重建,得到处理块,可以包括:
通过第五卷积层对第三特征信息进行卷积操作,得到处理块。
在本申请实施例中,第五卷积层的卷积核尺寸为K×L,第五卷积层的卷积核数量为2的整数次幂,K和L为大于零的正整数。在一种更具体的示例中,第五卷积层的卷积核尺寸为3×3,第五卷积层的卷积核数量为1,但是这里也不作任何限定。
示例性地,图5示出了本申请实施例提供的一种预设神经网络模型的网络结构示例,图6示出了本申请实施例提供的一种残差投影块的网络结构示例。也就是说,本申请实施例结合转置卷积和残差模块提出了残差投影块RPB,其基本思想是利用转置卷积层将低分辨率特征投影到高分辨率特征空间,再利用残差模块学习不同等级的高分率特征,然后通过局部特征融合提高残差模块的表达能力,最后利用卷积层将该高分率特征投影回低分辨率特征空间。这样,基于该模块,本申请实施例提出了二分之一精度的分像素插值的预设神经网络模型RPNet,并将训练好的模型嵌入到编码平台VTM7.0。如此,在视频编码过程中,本申请实施例可以只对尺寸大于或等于64×64的PU选择RPNet进行运动补偿增强;对于尺寸小于64×64的PU仍然按照相关技术中的插值滤波器进行运动补偿增强。
另外,以第一匹配块为整像素匹配块为例,对于运动补偿增强来说,本申请实施例的方法可以实现二分之一精度的分像素运动补偿,也可以实现四分之一精度的分像素运动补偿,甚至还可以实现其他精度的分像素运动补偿,本申请实施例不作任何限定。
在一种具体的示例中,当分像素样值的精度为二分之一精度时,转置卷积层和第四卷积层的卷积核尺寸均为6×6,步长和填充值均设置为2;或者,当分像素样值的精度为四分之一精度时,转置卷积层和第四卷积层的卷积核尺寸均为8×8,步长和填充值分别设置为4和2。
换句话说,在模型结构中,对于RPNet而言,在一种具体的示例中,RPNet中残差投影块的数量N可设置为10,每个残差投影块中残差模块的数量M可设置为3。除了重建网络层中的卷积层的卷积核个数设置为1外,网络模型中其他转置卷积层或卷积层的卷积核个数都设置为64。上投影模块中的转置卷积层和下投影模块中的卷积层中卷积核的尺寸设置为6×6,步长和填充设置为2。除此之外,网络模型中其他卷积层均采用尺寸3×3的卷积核,而上采样模块可以采用亚像素卷积层。
在另一种具体的示例中,本申请实施例中的RPNet还可以用于所有尺寸的PU进行二分之一精度的分像素样本插值。另外,虽然所有的更改都可能对最终视频的质量产生影响,但是本申请实施例中的RPNet还可以调整残差投影块的数量以及调整残差投影块中残差模块的数量。甚至本申请实施例中的RPNet还可以用于四分之一精度的分像素运动补偿,这时候将上投影模块中的转置卷积层和下投影模块中的卷积层中卷积核的尺寸设置为8×8,步长和填充分别设置为4和2,并在上采样模块中增加一层亚像素卷积层。
进一步地,对于预设神经网络模型,其可以是通过模型训练得到的。在一些实施例中,该方法还可以包括:
确定训练数据集,该训练数据集包括至少一张训练图像和至少一张验证图像;
对训练数据集进行预处理,得到预设神经网络模型的真值区域以及至少一组输入图像组;其中,该输入图像组包括至少一张输入图像;
基于真值区域,利用这至少一组输入图像组对神经网络模型进行训练,得到至少一组候选模型参数;其中,真值区域用于确定神经网络模型的损失函数的损失值(Loss),这至少一组候选模型参数是在损失函数的损失值收敛到预设阈值时得到的。
需要说明的是,在数据集方面,本申请实施例可以选择公开数据集DIV2K,其中包含800张训练图像和100张验证图像。在具体的操作过程中,对DIV2K数据集的预处理主要包括格式转换与编码重建两个步骤。首先,对训练集中的800张高分辨率图像和测试集中的100张高分辨率图像以及二者对应的低分辨率图像进行格式转换,由原始的PNG格式转换为YUV420格式。然后,对YUV420格式的高分辨率图像数据提取亮度分量并保存为PNG格式,作为真值区域(Ground Truth)。对YUV420格式的低分辨率图像数据则利用VTM7.0进行全帧内编码,量化参数(Quantization Parameter,QP)可以分别设置为22、27、32、37,再对四组解码重建的数据分别提取亮度分量并保存为PNG格式,作为神经网络模型的输入。由此,可以获得四组训练数据集。
在评价标准方面,本申请实施例选择峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)作为图像重建质量的评价标准。
在网络训练方面,模型是基于Pytorch平台训练的。将尺寸为48×48的低分辨率图像作为输入,批(batch)设置为16。本申请实施例可以选择平均绝对误差作为损失函数,自适应矩估计作为优化函数,并将动量和权重衰减分别设置为0.9和0.0001。初始学习率设置为0.0001,并且每经过100个时期(epoch)则按照0.1的比例下降,一共经过300个epoch。根据不同的QP,利用相应的数据集训练,得到四组模型参数,这四组模型参数对应四个模型,分别用RPNet_qp22、RPNet_qp27、RPNet_qp32、RPNet_qp37表示。
进一步地,对于预设神经网络模型的确定,可以通过下述两种方式来实现。
在一种可能的实施方式中,模型训练之后,该方法还可以包括:
确定当前块的量化参数;
根据所述量化参数,从至少一组候选模型参数中确定所述量化参数对应的模型参数;
根据所述模型参数,确定预设神经网络模型。
在这里,当至少一组为多组时,输入图像组对应不同的量化参数,且多组候选模型参数与不同的量化参数之间具有对应关系。
在另一种可能的实施方式中,该方法还可以包括:
解析所述码流,获取模型参数;
根据所述模型参数,确定所述预设神经网络模型。
需要说明的是,解码器可以在模型训练之后,根据当前块的量化参数来确定出该量化参数对应的训练好后的模型参数,然后确定出本申请实施例使用的预设神经网络模型;或者,解码器还可以通过解析码流获得模型参数,然后根据该模型参数即可确定出本申请实施例使用的预设神经网络模型;本申请实施例对此不作具体限定。
还需要说明的是,一方面,如果编码器和解码器使用相同的固定参数的预设神经网络模型,那么这时候参数已经固化,故不需要进行模型参数传输;另一方面,如果码流中传输公共训练数据集的访问信息,例如一个统一资源定位系统(Uniform Resource Locator,URL),解码器使用与编码器相同的方式进行训练;再一方面,对于编码器,可以使用已编码的视频序列进行学习。
这样,如果第一语法元素标识信息指示当前块使用运动补偿增强处理方式,那么在确定出第一运动信息和预设神经网络模型之后,可以利用预设神经网络模型对第一匹配块进行运动补偿增强,得到至少一个第二匹配块。
S704:根据第一运动信息和至少一个第二匹配块,确定当前块的第一预测块。
S705:根据第一预测块,确定当前块的重建块。
需要说明的是,解码器还需要解码获得当前块的残差块。在一些实施例中,该方法还可以包括:解析码流,获取当前块的残差块。这样,所述根据第一预测块,确定当前块的重建块,可以包括:根据残差块和第一预测块,确定当前块的重建块。
在一种具体的示例中,所述根据残差块和第一预测块,确定当前块的重建块,可以包括:对残差块和第一预测块进行加法运算,确定出当前块的重建块。
除此之外,在本申请实施例中,第一语法元素标识信息还可以指示当前块不使用运动补偿增强处理方式,即当前块使用整像素运动补偿方式。这时候,在一些实施例中,该方法还可以包括:
若第一语法元素标识信息指示当前块不使用运动补偿增强处理方式,则解析码流,获取当前块的第二运动信息,该第二运动信息用于指向整像素位置;
根据当前块的第二运动信息,确定当前块的第二预测块;
根据第二预测块,确定当前块的重建块。
需要说明的是,如果当前块使用整像素运动补偿方式,这时候不再需要进行运动补偿增强;根据解码获得的第二运动信息,即可以确定出当前块的第二预测块。
还需要说明的是,在确定当前块的重建块过程中,解码器仍然需要解码获得当前块的残差块。具体地,在一些实施例中,该方法还可以包括:解析码流,获取当前块的残差块。这样,所述根据第二预测块,确定当前块的重建块,可以包括:根据残差块和第二预测块,确定当前块的重建块。
在一种具体的示例中,所述根据残差块和第二预测块,确定当前块的重建块,可以包括:对残差块和第二预测块进行加法运算,确定出当前块的重建块。
简言之,在解码器中,如果解码获得当前块使用运动补偿增强处理方式,那么考虑到低分辨率特征与高分辨特征之间的联系,受投影思想的启发,这时候可以结合转置卷积和残差网络来提出残差投影块。然后基于残差投影块,本申请实施例提出了一种二分之一精度的分像素插值网络RPNet,并将其应用在VTM7.0中。
本申请实施例提供了一种解码方法,应用于解码器。通过解析码流,确定第一语法元素标识信息的 取值;若第一语法元素标识信息指示当前块使用运动补偿增强处理方式,则解析码流,确定当前块的第一运动信息;根据第一运动信息确定当前块的第一匹配块,并对第一匹配块进行运动补偿增强,得到至少一个第二匹配块;根据第一运动信息和至少一个第二匹配块,确定当前块的第一预测块;根据第一预测块,确定当前块的重建块。这样,当解码获得当前块使用运动补偿增强处理方式时,这时候利用预设神经网络模型进行运动补偿增强,在保证相同解码质量的前提下,不仅可以降低计算复杂度,还可以节省码率,进而能够提高编解码效率。
本申请的再一实施例中,基于前述实施例相同的发明构思,参见图8,其示出了本申请实施例提供的一种编码器80的组成结构示意图。如图8所示,该编码器80可以包括:第一确定单元801、第一运动补偿单元802和编码单元803;其中,
第一确定单元801,配置为确定当前块的第一匹配块;
第一运动补偿单元802,配置为对第一匹配块进行运动补偿增强,得到至少一个第二匹配块;
第一确定单元801,还配置为根据至少一个第二匹配块,确定当前块的运动信息;
编码单元803,配置为根据运动信息,对当前块进行编码。
在一些实施例中,第一运动补偿单元802,具体配置为对第一匹配块进行超分辨率和质量增强处理,得到处理块;以及对处理块进行第一滤波处理,得到至少一个第二匹配块,其中,经过第一滤波处理后得到的第二匹配块具有与当前块相同的分辨率。
在一些实施例中,第一滤波处理包括:下采样。
在一些实施例中,第一运动补偿单元802,还配置为利用预设神经网络模型对第一匹配块进行运动补偿增强;其中,预设神经网络模型包括特征提取模块、残差投影模块组、采样模块和重建模块,且特征提取模块、残差投影模块组、采样模块和重建模块顺次连接;
相应地,第一运动补偿单元802,还配置为通过特征提取模块对第一匹配块进行浅层特征提取,得到第一特征信息;以及通过残差投影模块组对第一特征信息进行残差特征学习,得到第二特征信息;以及通过采样模块对第二特征信息进行第二滤波处理,得到第三特征信息;以及通过重建模块对第三特征信息进行超分辨率重建,得到处理块。
在一些实施例中,特征提取模块包括第一卷积层;相应地,第一运动补偿单元802,还配置为通过第一卷积层对第一匹配块进行卷积操作,得到第一特征信息。
在一些实施例中,残差投影模块组包括N个残差投影块、第二卷积层和第一连接层,N个残差投影块、第二卷积层和第一连接层顺次连接,且第一连接层还与N个残差投影块中第一个残差投影块的输入连接;
相应地,第一运动补偿单元802,还配置为通过N个残差投影块对第一特征信息进行残差特征学习,得到第一中间特征信息,其中,N为大于或等于1的整数;以及通过第二卷积层对第一中间特征信息进行卷积操作,得到第二中间特征信息;以及通过第一连接层对第一特征信息和第二中间特征信息进行加法计算,得到第二特征信息。
在一些实施例中,N个残差投影块是级联结构,级联结构的输入为第一特征信息,级联结构的输出为第二中间特征信息。
在一些实施例中,第一运动补偿单元802,还配置为当N等于1时,将第一特征信息输入到第一个残差投影块,得到第一个残差投影块的输出信息,并将第一个残差投影块的输出信息确定为第一中间特征信息;以及当N大于1时,在得到第一个残差投影块的输出信息后,将第d个残差投影块的输出信息输入到第d+1个残差投影块,得到第d+1个残差投影块的输出信息,并对d执行加1处理,直至得到第N个残差投影块的输出信息,并将第N个残差投影块的输出信息确定为第一中间特征信息;其中,d为大于或等于1且小于N的整数。
在一些实施例中,残差投影块包括上投影模块、M个残差模块、局部特征融合模块、下投影模块和第二连接层,上投影模块、M个残差模块、局部特征融合模块、下投影模块和第二连接层顺次连接,且第二连接层还与上投影模块的输入连接,M个残差模块的输出还分别与局部特征融合模块连接;
相应地,第一运动补偿单元802,还配置为通过上投影模块对残差投影块的输入信息进行第三滤波处理,得到第一高分辨率特征信息;以及通过M个残差模块对第一高分辨率特征信息进行不同等级的高分辨率特征学习,得到M个第二高分辨率特征信息,其中,M为大于或等于1的整数;以及通过局部特征融合模块对M个第二高分辨率特征信息进行融合操作,得到第三高分辨率特征信息;以及通过下投影模块对第三高分辨率特征信息进行第四滤波处理,得到滤波后特征信息;以及通过第二连接层对输入信息和滤波后特征信息进行加法计算,得到残差投影块的输出信息。
在一些实施例中,上投影模块包括转置卷积层;相应地,第一运动补偿单元802,还配置为通过转 置卷积层对残差投影块的输入信息进行第三滤波处理,得到第一高分辨率特征信息,其中,经过第三滤波处理后得到的第一高分辨率特征信息的分辨率高于残差投影块的输入信息的分辨率。
在一些实施例中,第三滤波处理包括:上采样。
在一些实施例中,局部特征融合模块包括特征融合层和第三卷积层;相应地,第一运动补偿单元802,还配置为通过特征融合层对M个第二高分辨率特征信息进行融合操作,得到融合特征信息;以及通过第三卷积层对融合特征信息进行卷积操作,得到第三高分辨率特征信息。
在一些实施例中,下投影模块包括第四卷积层;相应地,第一运动补偿单元802,还配置为通过第四卷积层对第三高分辨率特征信息进行第四滤波处理,得到滤波后特征信息,其中,经过第四滤波处理后得到的滤波后特征信息的分辨率低于第三高分辨率特征信息的分辨率。
在一些实施例中,第四滤波处理包括:下采样。
在一些实施例中,采样模块包括亚像素卷积层;相应地,第一运动补偿单元802,还配置为通过亚像素卷积层对第二特征信息进行第二滤波处理,得到第三特征信息,其中,经过第二滤波处理后得到的第三特征信息的分辨率高于第二特征信息的分辨率。
在一些实施例中,第二滤波处理包括:上采样。
在一些实施例中,重建模块包括第五卷积层;相应地,第一运动补偿单元802,还配置为通过第五卷积层对第三特征信息进行卷积操作,得到处理块。
在一些实施例中,参见图8,编码器80还可以包括第一训练单元804,配置为确定训练数据集,训练数据集包括至少一张训练图像;以及对训练数据集进行预处理,得到预设神经网络模型的真值区域以及至少一组输入图像组;其中,输入图像组包括至少一张输入图像;以及基于真值区域,利用至少一组输入图像组对神经网络模型进行训练,得到至少一组候选模型参数;其中,真值区域用于确定神经网络模型的损失函数的损失值,至少一组候选模型参数是在损失函数的损失值收敛到预设阈值时得到的。
在一些实施例中,第一确定单元801,还配置为确定当前块的量化参数;根据量化参数,从至少一组候选模型参数中确定量化参数对应的模型参数;以及根据模型参数,确定预设神经网络模型;其中,当至少一组为多组时,输入图像组对应不同的量化参数,且多组候选模型参数与不同的量化参数之间具有对应关系。
在一些实施例中,编码单元803,还配置为对模型参数进行编码,将编码比特写入码流。
在一些实施例中,参见图8,编码器80还可以包括运动估计单元805,配置为对当前块进行整像素运动估计,确定当前块的第一匹配块;其中,第一匹配块为当前块在整像素位置进行运动估计时率失真代价值最小的匹配块;
第一运动补偿单元802,还配置为利用预设神经网络模型对第一匹配块进行分像素运动补偿,得到至少一个第二匹配块。
在一些实施例中,运动估计单元805,还配置为根据至少一个第二匹配块对当前块进行分像素运动估计,确定当前块的分像素匹配块,分像素匹配块为当前块在分像素位置进行运动估计时率失真代价值最小的匹配块;
第一确定单元801,还配置为利用第一匹配块对当前块进行预编码处理,确定第一率失真代价值;以及利用分像素匹配块对当前块进行预编码处理,确定第二率失真代价值;以及若第一率失真代价值大于第二率失真代价值,则确定当前块使用运动补偿增强处理方式,且确定运动信息为第一运动信息,第一运动信息用于指向分像素位置;或者,若第一率失真代价值小于或等于第二率失真代价值,则确定当前块不使用运动补偿增强处理方式,且确定运动信息为第二运动信息,第二运动信息用于指向整像素位置。
在一些实施例中,第一确定单元801,还配置为若第一率失真代价值大于第二率失真代价值,则确定第一语法元素标识信息的取值为第一值;或者,若第一率失真代价值小于或等于第二率失真代价值,则确定第一语法元素标识信息的取值为第二值;其中,第一语法元素标识信息用于指示当前块是否使用运动补偿增强处理方式。
在一些实施例中,编码单元803,还配置为对第一语法元素标识信息的取值进行编码,将编码比特写入码流。
在一些实施例中,编码单元803,还配置为当当前块使用运动补偿增强处理方式时,根据第一运动信息和分像素匹配块,确定当前块的第一预测块;以及根据当前块和第一预测块,确定当前块的残差块;以及对残差块进行编码,将编码比特写入码流;
或者,编码单元803,还配置为当当前块不使用运动补偿增强处理方式时,根据第二运动信息和第一匹配块,确定当前块的第二预测块;以及根据当前块和第二预测块,确定当前块的残差块;以及对残差块进行编码,将编码比特写入码流。
在一些实施例中,编码单元803,还配置为对运动信息进行编码,将编码比特写入码流。
可以理解地,在本申请实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
因此,本申请实施例提供了一种计算机存储介质,应用于编码器80,该计算机存储介质存储有计算机程序,所述计算机程序被第一处理器执行时实现前述实施例中任一项所述的方法。
基于上述编码器80的组成以及计算机存储介质,参见图9,其示出了本申请实施例提供的编码器80的具体硬件结构示意图。如图9所示,可以包括:第一通信接口901、第一存储器902和第一处理器903;各个组件通过第一总线系统904耦合在一起。可理解,第一总线系统904用于实现这些组件之间的连接通信。第一总线系统904除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为第一总线系统904。其中,
第一通信接口901,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
第一存储器902,用于存储能够在第一处理器903上运行的计算机程序;
第一处理器903,用于在运行所述计算机程序时,执行:
确定当前块的第一匹配块;
对第一匹配块进行运动补偿增强,得到至少一个第二匹配块;
根据至少一个第二匹配块,确定当前块的运动信息;
根据运动信息,对当前块进行编码。
可以理解,本申请实施例中的第一存储器902可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请描述的系统和方法的第一存储器902旨在包括但不限于这些和任意其它适合类型的存储器。
而第一处理器903可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过第一处理器903中的硬件的集成逻辑电路或者软件形式的指令完成。上述的第一处理器903可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于第一存储器902,第一处理器903读取第一存储器902中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本申请描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其 组合中。对于软件实现,可通过执行本申请所述功能的模块(例如过程、函数等)来实现本申请所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
可选地,作为另一个实施例,第一处理器903还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。
本实施例提供了一种编码器,该编码器可以包括第一确定单元、第一运动补偿单元和编码单元。这样,在保证相同解码质量的前提下,不仅可以降低计算复杂度,还可以节省码率,进而能够提高编解码效率。
本申请的再一实施例中,基于前述实施例相同的发明构思,参见图10,其示出了本申请实施例提供的一种解码器100的组成结构示意图。如图10所示,该解码器100可以包括:解析单元1001、第二确定单元1002和第二运动补偿单元1003;其中,
解析单元1001,配置为解析码流,确定第一语法元素标识信息的取值;
解析单元1001,还配置为若第一语法元素标识信息指示当前块使用运动补偿增强处理方式,则解析码流,确定当前块的第一运动信息;
第二运动补偿单元1003,配置为根据第一运动信息确定当前块的第一匹配块,并对第一匹配块进行运动补偿增强,得到至少一个第二匹配块;
第二确定单元1002,配置为根据第一运动信息和至少一个第二匹配块,确定当前块的第一预测块;以及根据第一预测块,确定当前块的重建块。
在一些实施例中,解析单元1001,还配置为解析码流,获取当前块的残差块;
相应地,第二确定单元1002,还配置为根据残差块和第一预测块,确定当前块的重建块。
在一些实施例中,解析单元1001,还配置为若第一语法元素标识信息指示当前块不使用运动补偿增强处理方式,则解析码流,获取当前块的第二运动信息,第二运动信息用于指向整像素位置;
第二确定单元1002,还配置为根据当前块的第二运动信息,确定当前块的第二预测块;以及根据第二预测块,确定当前块的重建块。
在一些实施例中,解析单元1001,还配置为解析码流,获取当前块的残差块;
相应地,第二确定单元1002,还配置为根据残差块和第二预测块,确定当前块的重建块。
在一些实施例中,第二确定单元1002,还配置为若第一语法元素标识信息的取值为第一值,则确定当前块使用运动补偿增强处理方式;或者,若第一语法元素标识信息的取值为第二值,则确定当前块不使用运动补偿增强处理方式。
在一些实施例中,第二运动补偿单元1003,具体配置为对第一匹配块进行超分辨率和质量增强处理,得到处理块,其中,处理块的分辨率高于当前块的分辨率;以及对处理块进行第一滤波处理,得到至少一个第二匹配块,其中,经过第一滤波处理后得到的第二匹配块具有与当前块相同的分辨率。
在一些实施例中,第一滤波处理包括:下采样。
在一些实施例中,第二运动补偿单元1003,还配置为利用预设神经网络模型对第一匹配块进行运动补偿增强;其中,预设神经网络模型包括特征提取模块、残差投影模块组、采样模块和重建模块,且特征提取模块、残差投影模块组、采样模块和重建模块顺次连接;
相应地,第二运动补偿单元1003,还配置为通过特征提取模块对第一匹配块进行浅层特征提取,得到第一特征信息;以及通过残差投影模块组对第一特征信息进行残差特征学习,得到第二特征信息;以及通过采样模块对第二特征信息进行第二滤波处理,得到第三特征信息;以及通过重建模块对第三特征信息进行超分辨率重建,得到处理块。
在一些实施例中,特征提取模块为第一卷积层;相应地,第二运动补偿单元1003,还配置为通过第一卷积层对第一匹配块进行卷积操作,得到第一特征信息。
在一些实施例中,残差投影模块组包括N个残差投影块、第二卷积层和第一连接层,N个残差投影块、第二卷积层和第一连接层顺次连接,且第一连接层还与N个残差投影块中第一个残差投影块的输入连接;
相应地,第二运动补偿单元1003,还配置为通过N个残差投影块对第一特征信息进行残差特征学习,得到第一中间特征信息,其中,N为大于或等于1的整数;以及通过第二卷积层对第一中间特征信息进行卷积操作,得到第二中间特征信息;以及通过第一连接层对第一特征信息和第二中间特征信息进行加法计算,得到第二特征信息。
在一些实施例中,N个残差投影块是级联结构,级联结构的输入为第一特征信息,级联结构的输出为第二中间特征信息。
在一些实施例中,第二运动补偿单元1003,还配置为当N等于1时,将第一特征信息输入到第一 个残差投影块,得到第一个残差投影块的输出信息,并将第一个残差投影块的输出信息确定为第一中间特征信息;以及当N大于1时,在得到第一个残差投影块的输出信息后,将第d个残差投影块的输出信息输入到第d+1个残差投影块,得到第d+1个残差投影块的输出信息,并对d执行加1处理,直至得到第N个残差投影块的输出信息,并将第N个残差投影块的输出信息确定为第一中间特征信息;其中,d为大于或等于1且小于N的整数。
在一些实施例中,残差投影块包括上投影模块、M个残差模块、局部特征融合模块、下投影模块和第二连接层,上投影模块、M个残差模块、局部特征融合模块、下投影模块和第二连接层顺次连接,且第二连接层还与上投影模块的输入连接,M个残差模块的输出还分别与局部特征融合模块连接;
相应地,第二运动补偿单元1003,还配置为通过上投影模块对残差投影块的输入信息进行第三滤波处理,得到第一高分辨率特征信息;以及通过M个残差模块对第一高分辨率特征信息进行不同等级的高分辨率特征学习,得到M个第二高分辨率特征信息,其中,M为大于或等于1的整数;以及通过局部特征融合模块对M个第二高分辨率特征信息进行融合操作,得到第三高分辨率特征信息;以及通过下投影模块对第三高分辨率特征信息进行第四滤波处理,得到滤波后特征信息;以及通过第二连接层对输入信息和滤波后特征信息进行加法计算,得到残差投影块的输出信息。
在一些实施例中,上投影模块包括转置卷积层;相应地,第二运动补偿单元1003,还配置为通过转置卷积层对残差投影块的输入信息进行第三滤波处理,得到第一高分辨率特征信息,其中,经过第三滤波处理后得到的第一高分辨率特征信息的分辨率高于残差投影块的输入信息的分辨率。
在一些实施例中,第三滤波处理包括:上采样。
在一些实施例中,局部特征融合模块包括特征融合层和第三卷积层;相应地,第二运动补偿单元1003,还配置为通过特征融合层对M个第二高分辨率特征信息进行融合操作,得到融合特征信息;以及通过第三卷积层对融合特征信息进行卷积操作,得到第三高分辨率特征信息。
在一些实施例中,下投影模块包括第四卷积层;相应地,第二运动补偿单元1003,还配置为通过第四卷积层对第三高分辨率特征信息进行第四滤波处理,得到滤波后特征信息,其中,经过第四滤波处理后得到的滤波后特征信息的分辨率低于第三高分辨率特征信息的分辨率。
在一些实施例中,第四滤波处理包括:下采样。
在一些实施例中,采样模块包括亚像素卷积层;相应地,第二运动补偿单元1003,还配置为通过亚像素卷积层对第二特征信息进行第二滤波处理,得到第三特征信息,其中,经过第二滤波处理后得到的第三特征信息的分辨率高于第二特征信息的分辨率。
在一些实施例中,第二滤波处理包括:上采样。
在一些实施例中,重建模块包括第五卷积层;相应地,第二运动补偿单元1003,还配置为通过第五卷积层对第三特征信息进行卷积操作,得到处理块。
在一些实施例中,参见图10,解码器100还可以包括第二训练单元1004,配置为确定训练数据集,训练数据集包括至少一张训练图像;以及对训练数据集进行预处理,得到预设神经网络模型的真值区域以及至少一组输入图像组;其中,输入图像组包括至少一张输入图像;以及基于真值区域,利用至少一组输入图像组对神经网络模型进行训练,得到至少一组候选模型参数;其中,真值区域用于确定神经网络模型的损失函数的损失值,至少一组候选模型参数是在损失函数的损失值收敛到预设阈值时得到的。
在一些实施例中,第二确定单元1002,还配置为确定当前块的量化参数;根据量化参数,从至少一组候选模型参数中确定量化参数对应的模型参数;以及根据模型参数,确定预设神经网络模型;其中,当至少一组为多组时,输入图像组对应不同的量化参数,且多组候选模型参数与不同的量化参数之间具有对应关系。
在一些实施例中,解析单元1001,还配置为解析码流,获取模型参数;
第二确定单元1002,还配置为根据模型参数,确定预设神经网络模型。
可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本实施例提供了一种计算机存储介质,应用于解码器100,该计算机存储介质存储有计算机程序,所述计算机程序被第二处理器执行时实现前述实施例中任一项所述的方法。
基于上述解码器100的组成以及计算机存储介质,参见图11,其示出了本申请实施例提供的解码器100的具体硬件结构示意图。如图11所示,可以包括:第二通信接口1101、第二存储器1102和第 二处理器1103;各个组件通过第二总线系统1104耦合在一起。可理解,第二总线系统1104用于实现这些组件之间的连接通信。第二总线系统1104除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图11中将各种总线都标为第二总线系统1104。其中,
第二通信接口1101,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
第二存储器1102,用于存储能够在第二处理器1103上运行的计算机程序;
第二处理器1103,用于在运行所述计算机程序时,执行:
解析码流,确定第一语法元素标识信息的取值;
若第一语法元素标识信息指示当前块使用运动补偿增强处理方式,则解析码流,确定当前块的第一运动信息;
根据第一运动信息确定当前块的第一匹配块,并对第一匹配块进行运动补偿增强,得到至少一个第二匹配块;
根据第一运动信息和至少一个第二匹配块,确定当前块的第一预测块;
根据第一预测块,确定当前块的重建块。
可选地,作为另一个实施例,第二处理器1103还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。
可以理解,第二存储器1102与第一存储器902的硬件功能类似,第二处理器1103与第一处理器903的硬件功能类似;这里不再详述。
本实施例提供了一种解码器,该解码器可以包括解析单元、第二确定单元和第二运动补偿单元。这样,当解码获得当前块使用运动补偿增强处理方式时,在保证相同解码质量的前提下,不仅可以降低计算复杂度,还可以节省码率,进而能够提高编解码效率。
需要说明的是,在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
工业实用性
本申请实施例中,在编码器侧,通过确定当前块的第一匹配块;对第一匹配块进行运动补偿增强,得到至少一个第二匹配块;根据至少一个第二匹配块,确定当前块的运动信息;根据运动信息,对当前块进行编码。在解码器侧,通过解析码流,确定第一语法元素标识信息的取值;若第一语法元素标识信息指示当前块使用运动补偿增强处理方式,则解析码流,确定当前块的第一运动信息;根据第一运动信息确定当前块的第一匹配块,并对第一匹配块进行运动补偿增强,得到至少一个第二匹配块;根据第一运动信息和至少一个第二匹配块,确定当前块的第一预测块;根据第一预测块,确定当前块的重建块。这样,无论是编码器还是解码器,均可以对第一匹配块进行运动补偿增强,在保证相同解码质量的前提下,不仅可以降低计算复杂度,还可以节省码率,进而能够提高编解码效率。

Claims (56)

  1. 一种编码方法,应用于编码器,所述方法包括:
    确定当前块的第一匹配块;
    对所述第一匹配块进行运动补偿增强,得到至少一个第二匹配块;
    根据所述至少一个第二匹配块,确定所述当前块的运动信息;
    根据所述运动信息,对所述当前块进行编码。
  2. 根据权利要求1所述的方法,其中,所述对所述第一匹配块进行运动补偿增强,得到至少一个第二匹配块,包括:
    对所述第一匹配块进行超分辨率和质量增强处理,得到处理块,其中,所述处理块的分辨率高于所述当前块的分辨率;
    对所述处理块进行第一滤波处理,得到所述至少一个第二匹配块,其中,经过所述第一滤波处理后得到的所述第二匹配块具有与所述当前块相同的分辨率。
  3. 根据权利要求2所述的方法,其中,所述第一滤波处理包括:下采样。
  4. 根据权利要求2所述的方法,其中,所述对所述第一匹配块进行运动补偿增强的步骤还包括:利用预设神经网络模型对所述第一匹配块进行运动补偿增强;其中,所述预设神经网络模型包括特征提取模块、残差投影模块组、采样模块和重建模块,且所述特征提取模块、所述残差投影模块组、所述采样模块和所述重建模块顺次连接;
    所述对所述第一匹配块进行超分辨率和质量增强处理,得到处理块,包括:
    通过所述特征提取模块对所述第一匹配块进行浅层特征提取,得到第一特征信息;
    通过所述残差投影模块组对所述第一特征信息进行残差特征学习,得到第二特征信息;
    通过所述采样模块对所述第二特征信息进行第二滤波处理,得到第三特征信息;
    通过所述重建模块对所述第三特征信息进行超分辨率重建,得到所述处理块。
  5. 根据权利要求4所述的方法,其中,所述特征提取模块包括第一卷积层;所述通过所述特征提取模块对所述第一匹配块进行浅层特征提取,得到第一特征信息,包括:
    通过所述第一卷积层对所述第一匹配块进行卷积操作,得到所述第一特征信息。
  6. 根据权利要求4所述的方法,其中,所述残差投影模块组包括N个残差投影块、第二卷积层和第一连接层,所述N个残差投影块、所述第二卷积层和所述第一连接层顺次连接,且所述第一连接层还与所述N个残差投影块中第一个残差投影块的输入连接;
    所述通过所述残差投影模块组对所述第一特征信息进行残差特征学习,得到第二特征信息,包括:
    通过所述N个残差投影块对所述第一特征信息进行残差特征学习,得到第一中间特征信息,其中,N为大于或等于1的整数;
    通过所述第二卷积层对所述第一中间特征信息进行卷积操作,得到第二中间特征信息;
    通过所述第一连接层对所述第一特征信息和所述第二中间特征信息进行加法计算,得到所述第二特征信息。
  7. 根据权利要求6所述的方法,其中,所述N个残差投影块是级联结构,所述级联结构的输入为所述第一特征信息,所述级联结构的输出为所述第二中间特征信息。
  8. 根据权利要求7所述的方法,其中,所述通过所述N个残差投影块对所述第一特征信息进行残差特征学习,得到第一中间特征信息,包括:
    当N等于1时,将所述第一特征信息输入到第一个残差投影块,得到所述第一个残差投影块的输出信息,并将所述第一个残差投影块的输出信息确定为所述第一中间特征信息;
    当N大于1时,在得到所述第一个残差投影块的输出信息后,将第d个残差投影块的输出信息输入到第d+1个残差投影块,得到所述第d+1个残差投影块的输出信息,并对d执行加1处理,直至得到第N个残差投影块的输出信息,并将所述第N个残差投影块的输出信息确定为所述第一中间特征信息;其中,d为大于或等于1且小于N的整数。
  9. 根据权利要求8所述的方法,其中,所述残差投影块包括上投影模块、M个残差模块、局部特征融合模块、下投影模块和第二连接层,所述上投影模块、所述M个残差模块、所述局部特征融合模块、所述下投影模块和所述第二连接层顺次连接,且所述第二连接层还与所述上投影模块的输入连接,所述M个残差模块的输出还分别与所述局部特征融合模块连接;
    所述方法还包括:
    通过所述上投影模块对所述残差投影块的输入信息进行第三滤波处理,得到第一高分辨率特征信息;
    通过所述M个残差模块对所述第一高分辨率特征信息进行不同等级的高分辨率特征学习,得到M个第二高分辨率特征信息,其中,M为大于或等于1的整数;
    通过所述局部特征融合模块对所述M个第二高分辨率特征信息进行融合操作,得到第三高分辨率特征信息;
    通过所述下投影模块对所述第三高分辨率特征信息进行第四滤波处理,得到滤波后特征信息;
    通过所述第二连接层对所述输入信息和所述滤波后特征信息进行加法计算,得到所述残差投影块的输出信息。
  10. 根据权利要求9所述的方法,其中,所述上投影模块包括转置卷积层,所述通过所述上投影模块对所述残差投影块的输入信息进行第三滤波处理,得到第一高分辨率特征信息,包括:
    通过所述转置卷积层对所述残差投影块的输入信息进行第三滤波处理,得到所述第一高分辨率特征信息,其中,经过所述第三滤波处理后得到的所述第一高分辨率特征信息的分辨率高于所述残差投影块的输入信息的分辨率。
  11. 根据权利要求10所述的方法,其中,所述第三滤波处理包括:上采样。
  12. 根据权利要求9所述的方法,其中,所述局部特征融合模块包括特征融合层和第三卷积层,所述通过所述局部特征融合模块对所述M个第二高分辨率特征信息进行融合操作,得到第三高分辨率特征信息,包括:
    通过所述特征融合层对所述M个第二高分辨率特征信息进行融合操作,得到融合特征信息;
    通过所述第三卷积层对所述融合特征信息进行卷积操作,得到所述第三高分辨率特征信息。
  13. 根据权利要求9所述的方法,其中,所述下投影模块包括第四卷积层,所述通过所述下投影模块对所述第三高分辨率特征信息进行第四滤波处理,得到滤波后特征信息,包括:
    通过所述第四卷积层对所述第三高分辨率特征信息进行第四滤波处理,得到所述滤波后特征信息,其中,经过所述第四滤波处理后得到的所述滤波后特征信息的分辨率低于所述第三高分辨率特征信息的分辨率。
  14. 根据权利要求13所述的方法,其中,所述第四滤波处理包括:下采样。
  15. 根据权利要求4所述的方法,其中,所述采样模块包括亚像素卷积层,所述通过所述采样模块对所述第二特征信息进行第二滤波处理,得到第三特征信息,包括:
    通过所述亚像素卷积层对所述第二特征信息进行所述第二滤波处理,得到所述第三特征信息,其中,经过所述第二滤波处理后得到的所述第三特征信息的分辨率高于所述第二特征信息的分辨率。
  16. 根据权利要求15所述的方法,其中,所述第二滤波处理包括:上采样。
  17. 根据权利要求4所述的方法,其中,所述重建模块包括第五卷积层,所述通过所述重建模块对所述第三特征信息进行超分辨率重建,得到所述处理块,包括:
    通过所述第五卷积层对所述第三特征信息进行卷积操作,得到所述处理块。
  18. 根据权利要求1至17任一项所述的方法,其中,所述方法还包括:
    确定训练数据集,所述训练数据集包括至少一张训练图像;
    对所述训练数据集进行预处理,得到所述预设神经网络模型的真值区域以及至少一组输入图像组;其中,所述输入图像组包括至少一张输入图像;
    基于所述真值区域,利用所述至少一组输入图像组对神经网络模型进行训练,得到至少一组候选模型参数;其中,所述真值区域用于确定所述神经网络模型的损失函数的损失值,所述至少一组候选模型参数是在所述损失函数的损失值收敛到预设阈值时得到的。
  19. 根据权利要求18所述的方法,其中,所述方法还包括:
    确定所述当前块的量化参数;
    根据所述量化参数,从所述至少一组候选模型参数中确定所述量化参数对应的模型参数;
    根据所述模型参数,确定所述预设神经网络模型;其中,当所述至少一组为多组时,所述输入图像组对应不同的量化参数,且多组所述候选模型参数与不同的量化参数之间具有对应关系。
  20. 根据权利要求19所述的方法,其中,所述方法还包括:
    对所述模型参数进行编码,将编码比特写入码流。
  21. 根据权利要求4所述的方法,其中,所述确定当前块的第一匹配块,包括:
    对所述当前块进行整像素运动估计,确定所述当前块的第一匹配块;其中,所述第一匹配块为所述当前块在整像素位置进行运动估计时率失真代价值最小的匹配块;
    所述对所述第一匹配块进行运动补偿增强,得到至少一个第二匹配块,包括:
    利用预设神经网络模型对所述第一匹配块进行分像素运动补偿,得到所述至少一个第二匹配块。
  22. 根据权利要求21所述的方法,其中,在所述得到至少一个第二匹配块之后,所述方法还包括:
    根据所述至少一个第二匹配块对所述当前块进行分像素运动估计,确定所述当前块的分像素匹配块,所述分像素匹配块为所述当前块在分像素位置进行运动估计时率失真代价值最小的匹配块;
    所述根据所述至少一个第二匹配块,确定所述当前块的运动信息,包括:
    利用所述第一匹配块对所述当前块进行预编码处理,确定第一率失真代价值;
    利用所述分像素匹配块对所述当前块进行预编码处理,确定第二率失真代价值;
    若所述第一率失真代价值大于所述第二率失真代价值,则确定所述当前块使用运动补偿增强处理方式,且确定所述运动信息为第一运动信息,所述第一运动信息用于指向分像素位置;
    若所述第一率失真代价值小于或等于所述第二率失真代价值,则确定所述当前块不使用运动补偿增强处理方式,且确定所述运动信息为第二运动信息,所述第二运动信息用于指向整像素位置。
  23. 根据权利要求22所述的方法,其中,所述方法还包括:
    若所述第一率失真代价值大于所述第二率失真代价值,则确定第一语法元素标识信息的取值为第一值;
    若所述第一率失真代价值小于或等于所述第二率失真代价值,则确定第一语法元素标识信息的取值为第二值;其中,所述第一语法元素标识信息用于指示所述当前块是否使用运动补偿增强处理方式。
  24. 根据权利要求23所述的方法,其中,所述方法还包括:
    对所述第一语法元素标识信息的取值进行编码,将编码比特写入码流。
  25. 根据权利要求22所述的方法,其中,所述根据所述运动信息,对所述当前块进行编码,包括:
    当所述当前块使用运动补偿增强处理方式时,根据所述第一运动信息和所述分像素匹配块,确定所述当前块的第一预测块;
    根据所述当前块和所述第一预测块,确定所述当前块的残差块;
    对所述残差块进行编码,将编码比特写入码流;
    或者,
    当所述当前块不使用运动补偿增强处理方式时,根据所述第二运动信息和所述第一匹配块,确定所述当前块的第二预测块;
    根据所述当前块和所述第二预测块,确定所述当前块的残差块;
    对所述残差块进行编码,将编码比特写入码流。
  26. 根据权利要求1至25任一项所述的方法,其中,所述方法还包括:
    对所述运动信息进行编码,将编码比特写入码流。
  27. 一种码流,其中,所述码流是根据待编码信息进行比特编码生成的;其中,所述待编码信息至少包括当前块的运动信息、当前块的残差块和第一语法元素标识信息的取值,所述第一语法元素标识信息用于指示所述当前块是否使用运动补偿增强处理方式。
  28. 一种解码方法,应用于解码器,所述方法包括:
    解析码流,确定第一语法元素标识信息的取值;
    若所述第一语法元素标识信息指示当前块使用运动补偿增强处理方式,则解析所述码流,确定所述当前块的第一运动信息;
    根据所述第一运动信息确定所述当前块的第一匹配块,并对所述第一匹配块进行运动补偿增强,得到至少一个第二匹配块;
    根据所述第一运动信息和所述至少一个第二匹配块,确定所述当前块的第一预测块;
    根据所述第一预测块,确定所述当前块的重建块。
  29. 根据权利要求28所述的方法,其中,所述方法还包括:
    解析码流,获取所述当前块的残差块;
    所述根据所述第一预测块,确定所述当前块的重建块,包括:
    根据所述残差块和所述第一预测块,确定所述当前块的重建块。
  30. 根据权利要求28所述的方法,其中,所述方法还包括:
    若所述第一语法元素标识信息指示当前块不使用运动补偿增强处理方式,则解析码流,获取所述当前块的第二运动信息;
    根据所述当前块的第二运动信息,确定所述当前块的第二预测块;
    根据所述第二预测块,确定所述当前块的重建块。
  31. 根据权利要求30所述的方法,其中,所述方法还包括:
    解析码流,获取所述当前块的残差块;
    所述根据所述第二预测块,确定所述当前块的重建块,包括:
    根据所述残差块和所述第二预测块,确定所述当前块的重建块。
  32. 根据权利要求28至31任一项所述的方法,其中,所述解析码流,确定第一语法元素标识信息的取值,包括:
    若所述第一语法元素标识信息的取值为第一值,则确定所述当前块使用运动补偿增强处理方式;
    若所述第一语法元素标识信息的取值为第二值,则确定所述当前块不使用运动补偿增强处理方式。
  33. 根据权利要求28所述的方法,其中,所述对所述第一匹配块进行运动补偿增强,得到至少一个第二匹配块,包括:
    对所述第一匹配块进行超分辨率和质量增强处理,得到处理块,其中,所述处理块的分辨率高于所述当前块的分辨率;
    对所述处理块进行第一滤波处理,得到所述至少一个第二匹配块,其中,经过所述第一滤波处理后得到的所述第二匹配块具有与所述当前块相同的分辨率。
  34. 根据权利要求33所述的方法,其中,所述第一滤波处理包括:下采样。
  35. 根据权利要求33所述的方法,其中,所述对所述第一匹配块进行运动补偿增强的步骤还包括:利用预设神经网络模型对所述第一匹配块进行运动补偿增强;其中,所述预设神经网络模型包括特征提取模块、残差投影模块组、采样模块和重建模块,且所述特征提取模块、所述残差投影模块组、所述采样模块和所述重建模块顺次连接;
    所述对所述第一匹配块进行超分辨率和质量增强处理,得到处理块,包括:
    通过所述特征提取模块对所述第一匹配块进行浅层特征提取,得到第一特征信息;
    通过所述残差投影模块组对所述第一特征信息进行残差特征学习,得到第二特征信息;
    通过所述采样模块对所述第二特征信息进行第二滤波处理,得到第三特征信息;
    通过所述重建模块对所述第三特征信息进行超分辨率重建,得到所述处理块。
  36. 根据权利要求35所述的方法,其中,所述特征提取模块包括第一卷积层;所述通过所述特征提取模块对所述第一匹配块进行浅层特征提取,得到第一特征信息,包括:
    通过所述第一卷积层对所述第一匹配块进行卷积操作,得到所述第一特征信息。
  37. 根据权利要求35所述的方法,其中,所述残差投影模块组包括N个残差投影块、第二卷积层和第一连接层,所述N个残差投影块、所述第二卷积层和所述第一连接层顺次连接,且所述第一连接层还与所述N个残差投影块中第一个残差投影块的输入连接;
    所述通过所述残差投影模块组对所述第一特征信息进行残差特征学习,得到第二特征信息,包括:
    通过所述N个残差投影块对所述第一特征信息进行残差特征学习,得到第一中间特征信息,其中,N为大于或等于1的整数;
    通过所述第二卷积层对所述第一中间特征信息进行卷积操作,得到第二中间特征信息;
    通过所述第一连接层对所述第一特征信息和所述第二中间特征信息进行加法计算,得到所述第二特征信息。
  38. 根据权利要求37所述的方法,其中,所述N个残差投影块是级联结构,所述级联结构的输入为所述第一特征信息,所述级联结构的输出为所述第二中间特征信息。
  39. 根据权利要求38所述的方法,其中,所述通过所述N个残差投影块对所述第一特征信息进行残差特征学习,得到第一中间特征信息,包括:
    当N等于1时,将所述第一特征信息输入到第一个残差投影块,得到所述第一个残差投影块的输出信息,并将所述第一个残差投影块的输出信息确定为所述第一中间特征信息;
    当N大于1时,在得到所述第一个残差投影块的输出信息后,将第d个残差投影块的输出信息输入到第d+1个残差投影块,得到所述第d+1个残差投影块的输出信息,并对d执行加1处理,直至得到第N个残差投影块的输出信息,并将所述第N个残差投影块的输出信息确定为所述第一中间特征信息;其中,d为大于或等于1且小于N的整数。
  40. 根据权利要求39所述的方法,其中,所述残差投影块包括上投影模块、M个残差模块、局部特征融合模块、下投影模块和第二连接层,所述上投影模块、所述M个残差模块、所述局部特征融合模块、所述下投影模块和所述第二连接层顺次连接,且所述第二连接层还与所述上投影模块的输入连接,所述M个残差模块的输出还分别与所述局部特征融合模块连接;
    所述方法还包括:
    通过所述上投影模块对所述残差投影块的输入信息进行第三滤波处理,得到第一高分辨率特征信息;
    通过所述M个残差模块对所述第一高分辨率特征信息进行不同等级的高分辨率特征学习,得到M个第二高分辨率特征信息,其中,M为大于或等于1的整数;
    通过所述局部特征融合模块对所述M个第二高分辨率特征信息进行融合操作,得到第三高分辨率特征信息;
    通过所述下投影模块对所述第三高分辨率特征信息进行第四滤波处理,得到滤波后特征信息;
    通过所述第二连接层对所述输入信息和所述滤波后特征信息进行加法计算,得到所述残差投影块的输出信息。
  41. 根据权利要求40所述的方法,其中,所述上投影模块包括转置卷积层,所述通过所述上投影模块对所述残差投影块的输入信息进行第三滤波处理,得到第一高分辨率特征信息,包括:
    通过所述转置卷积层对所述残差投影块的输入信息进行第三滤波处理,得到所述第一高分辨率特征信息,其中,经过所述第三滤波处理后得到的所述第一高分辨率特征信息的分辨率高于所述残差投影块的输入信息的分辨率。
  42. 根据权利要求41所述的方法,其中,所述第三滤波处理包括:上采样。
  43. 根据权利要求40所述的方法,其中,所述局部特征融合模块包括特征融合层和第三卷积层,所述通过所述局部特征融合模块对所述M个第二高分辨率特征信息进行融合操作,得到第三高分辨率特征信息,包括:
    通过所述特征融合层对所述M个第二高分辨率特征信息进行融合操作,得到融合特征信息;
    通过所述第三卷积层对所述融合特征信息进行卷积操作,得到所述第三高分辨率特征信息。
  44. 根据权利要求40所述的方法,其中,所述下投影模块包括第四卷积层,所述通过所述下投影模块对所述第三高分辨率特征信息进行第四滤波处理,得到滤波后特征信息,包括:
    通过所述第四卷积层对所述第三高分辨率特征信息进行第四滤波处理,得到所述滤波后特征信息,其中,经过所述第四滤波处理后得到的所述滤波后特征信息的分辨率低于所述第三高分辨率特征信息的分辨率。
  45. 根据权利要求44所述的方法,其中,所述第四滤波处理包括:下采样。
  46. 根据权利要求35所述的方法,其中,所述采样模块包括亚像素卷积层,所述通过所述采样模块对所述第二特征信息进行第二滤波处理,得到第三特征信息,包括:
    通过所述亚像素卷积层对所述第二特征信息进行所述第二滤波处理,得到所述第三特征信息,其中,经过所述第二滤波处理后得到的所述第三特征信息的分辨率高于所述第二特征信息的分辨率。
  47. 根据权利要求46所述的方法,其中,所述第二滤波处理包括:上采样。
  48. 根据权利要求35所述的方法,其中,所述重建模块包括第五卷积层,所述通过所述重建模块对所述第三特征信息进行超分辨率重建,得到所述处理块,包括:
    通过所述第五卷积层对所述第三特征信息进行卷积操作,得到所述处理块。
  49. 根据权利要求28至48任一项所述的方法,其中,所述方法还包括:
    确定训练数据集,所述训练数据集包括至少一张训练图像;
    对所述训练数据集进行预处理,得到所述预设神经网络模型的真值区域以及至少一组输入图像组;其中,所述输入图像组包括至少一张输入图像;
    基于所述真值区域,利用所述至少一组输入图像组对神经网络模型进行训练,得到至少一组候选模型参数;其中,所述真值区域用于确定所述神经网络模型的损失函数的损失值,所述至少一组候选模型参数是在所述损失函数的损失值收敛到预设阈值时得到的。
  50. 根据权利要求49所述的方法,其中,所述方法还包括:
    确定所述当前块的量化参数;
    根据所述量化参数,从所述至少一组候选模型参数中确定所述量化参数对应的模型参数;
    根据所述模型参数,确定所述预设神经网络模型;其中,当所述至少一组为多组时,所述输入图像组对应不同的量化参数,且多组所述候选模型参数与不同的量化参数之间具有对应关系。
  51. 根据权利要求28至50任一项所述的方法,其中,所述方法还包括:
    解析所述码流,获取模型参数;
    根据所述模型参数,确定所述预设神经网络模型。
  52. 一种编码器,所述编码器包括第一确定单元、第一运动补偿单元和编码单元;其中,
    所述第一确定单元,配置为确定当前块的第一匹配块;
    所述第一运动补偿单元,配置为对所述第一匹配块进行运动补偿增强,得到至少一个第二匹配块;
    所述第一确定单元,还配置为根据所述至少一个第二匹配块,确定所述当前块的运动信息;
    所述编码单元,配置为根据所述运动信息,对所述当前块进行编码。
  53. 一种编码器,所述编码器包括第一存储器和第一处理器;其中,
    所述第一存储器,用于存储能够在所述第一处理器上运行的计算机程序;
    所述第一处理器,用于在运行所述计算机程序时,执行如权利要求1至26任一项所述的方法。
  54. 一种解码器,所述解码器包括解析单元、第二确定单元和第二运动补偿单元;其中,
    所述解析单元,配置为解析码流,确定第一语法元素标识信息的取值;
    所述解析单元,还配置为若所述第一语法元素标识信息指示当前块使用运动补偿增强处理方式,则解析所述码流,确定所述当前块的第一运动信息;
    所述第二运动补偿单元,配置为根据所述第一运动信息确定所述当前块的第一匹配块,并对所述第一匹配块进行运动补偿增强,得到至少一个第二匹配块;
    所述第二确定单元,配置为根据所述第一运动信息和所述至少一个第二匹配块,确定所述当前块的第一预测块;以及根据所述第一预测块,确定所述当前块的重建块。
  55. 一种解码器,所述解码器包括第二存储器和第二处理器;其中,
    所述第二存储器,用于存储能够在所述第二处理器上运行的计算机程序;
    所述第二处理器,用于在运行所述计算机程序时,执行如权利要求28至51任一项所述的方法。
  56. 一种计算机存储介质,其中,所述计算机存储介质存储有计算机程序,所述计算机程序被第一处理器执行时实现如权利要求1至26任一项所述的方法、或者被第二处理器执行时实现如权利要求28至51任一项所述的方法。
CN202180097906.8A 2021-05-28 2021-05-28 编解码方法、码流、编码器、解码器以及存储介质 Pending CN117280685A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/096818 WO2022246809A1 (zh) 2021-05-28 2021-05-28 编解码方法、码流、编码器、解码器以及存储介质

Publications (1)

Publication Number Publication Date
CN117280685A true CN117280685A (zh) 2023-12-22

Family

ID=84228340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180097906.8A Pending CN117280685A (zh) 2021-05-28 2021-05-28 编解码方法、码流、编码器、解码器以及存储介质

Country Status (4)

Country Link
US (1) US20240098271A1 (zh)
EP (1) EP4351136A1 (zh)
CN (1) CN117280685A (zh)
WO (1) WO2022246809A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8265136B2 (en) * 2007-02-20 2012-09-11 Vixs Systems, Inc. Motion refinement engine for use in video encoding in accordance with a plurality of sub-pixel resolutions and methods for use therewith
US20120063515A1 (en) * 2010-09-09 2012-03-15 Qualcomm Incorporated Efficient Coding of Video Parameters for Weighted Motion Compensated Prediction in Video Coding
CN109729363B (zh) * 2017-10-31 2022-08-19 腾讯科技(深圳)有限公司 一种视频图像的处理方法和装置
CN111010568B (zh) * 2018-10-06 2023-09-29 华为技术有限公司 插值滤波器的训练方法、装置及视频图像编解码方法、编解码器
CN111586415B (zh) * 2020-05-29 2022-01-04 浙江大华技术股份有限公司 视频编码方法、装置、编码器及存储装置

Also Published As

Publication number Publication date
WO2022246809A1 (zh) 2022-12-01
US20240098271A1 (en) 2024-03-21
EP4351136A1 (en) 2024-04-10

Similar Documents

Publication Publication Date Title
JP5174970B2 (ja) 適応フィルタ
JP5197630B2 (ja) 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法
RU2721004C1 (ru) Способ и устройство для компенсации движения с предсказанием
EP2157799A1 (en) Interpolation filter with local adaptation based on block edges in the reference frame
US20160073107A1 (en) Method and apparatus for video encoding/decoding using intra prediction
EP2168382B1 (en) Method for processing images and the corresponding electronic device
CN102804779A (zh) 图像处理装置和方法
CN113784128B (zh) 图像预测方法、编码器、解码器以及存储介质
EP4224842A1 (en) Image prediction method, encoder, decoder, and computer storage medium
JP7540841B2 (ja) ループ内フィルタリングの方法、コンピュータ可読記憶媒体及びプログラム
CN103069803B (zh) 视频编码方法、视频解码方法、视频编码装置、视频解码装置
WO2008148272A1 (en) Method and apparatus for sub-pixel motion-compensated video coding
CN116438796A (zh) 图像预测方法、编码器、解码器以及计算机存储介质
CN112601095B (zh) 一种视频亮度和色度分数插值模型的创建方法及系统
CN117461315A (zh) 编解码方法、码流、编码器、解码器以及存储介质
CN116471418A (zh) 帧间预测方法、编码器、解码器以及计算机存储介质
KR101462959B1 (ko) 확장 블록 필터링을 이용한 비디오 부호화, 복호화 방법 및 장치
CN117280685A (zh) 编解码方法、码流、编码器、解码器以及存储介质
CN113766233B (zh) 图像预测方法、编码器、解码器以及存储介质
CN117413515A (zh) 编解码方法、编码器、解码器以及计算机存储介质
CN114982228A (zh) 帧间预测方法、编码器、解码器以及计算机存储介质
US20240236380A9 (en) Super Resolution Upsampling and Downsampling
US20240137513A1 (en) Application of Super Resolution
WO2024078635A1 (en) Down-sampling methods and ratios for super-resolution based video coding
WO2023274405A1 (en) Super resolution position and network structure

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