CN116250235A - 具有基于神经网络的环路滤波的视频编解码 - Google Patents

具有基于神经网络的环路滤波的视频编解码 Download PDF

Info

Publication number
CN116250235A
CN116250235A CN202180067345.7A CN202180067345A CN116250235A CN 116250235 A CN116250235 A CN 116250235A CN 202180067345 A CN202180067345 A CN 202180067345A CN 116250235 A CN116250235 A CN 116250235A
Authority
CN
China
Prior art keywords
video
neural network
block
resolution
samples
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
CN202180067345.7A
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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Publication of CN116250235A publication Critical patent/CN116250235A/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/186Methods 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 a colour or a chrominance component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种电子装置执行一种对视频数据进行解码的方法,该方法包括:从视频比特流中重建图片帧,该图片帧包括亮度分量、第一和第二色度分量,以及通过以下方式将基于经训练的神经网络的环路滤波器应用到重建的图片帧:当第一和第二色度分量中的至少一个分量的样点的第一分辨率不同于亮度分量的样点的第二分辨率时,将第一分辨率转换成第二分辨率;将第一和第二色度分量中的至少一个分量的样点与亮度分量串接起来;使用卷积神经网络处理串接的样点;以及将卷积神经网络处理的第一和第二色度分量中的至少一个分量的样点从第二分辨率重新转换回第一分辨率。

Description

具有基于神经网络的环路滤波的视频编解码
相关申请的交叉引用
本申请要求2020年10月1日提交的、题为“Video Coding with Neural NetworkBased In-Loop Filtering”的美国临时专利申请No.63/086,538的优先权,该临时专利申请的全部内容通过引用合并进来。
技术领域
本申请总体上涉及视频编解码(coding)和压缩,具体地,涉及关于将神经网络技术应用于视频编解码的方法和装置。
背景技术
数字视频受各种各样的电子设备支持,所述电子设备诸如数字电视、膝上型或台式计算机、平板计算机、数字摄像机、数字记录设备、数字媒体播放器、视频游戏控制台、智能电话、视频远程会议设备、视频流式传输设备等等。这些电子设备通过实现视频压缩/解压缩标准而对数字视频数据进行发送、接收、编码、解码和/或存储。一些知名的视频编解码标准包括由ISO/IEC MPEG和ITU-T VCEG联合开发的通用视频编解码(VVC)、联合探索测试模型(JEM)、运动图片专家组(MPEG)编解码、高效视频编解码(HEVC,也称为H.265或MPEG-H第2部分)和高级视频编解码(AVC,也称为H.264或MPEG-4第10部分)。AOMedia视频1(AV1)由开放媒体联盟(AOM)开发,作为其之前的标准VP9的继承者。涉及数字音频和数字视频压缩标准的音视频编解码(AVS)是另一个视频压缩标准系列。
视频压缩典型地包括执行空间(帧内)预测和/或时间(帧间)预测以降低或者去除视频数据中固有的冗余。对于基于块的视频编解码,将视频帧分割成一个或多个条带,每个条带具有多个视频块,视频块也可以称为编码树单元(CTU)。每个CTU可以包含一个编码单元(CU),或者递归地拆分成更小的CU,直到达到预定义最小CU尺寸。每个CU(也称为叶CU)包含一个或多个变换单元(TU),并且每个CU还包含一个或多个预测单元(PU)。每个CU可以以帧内模式、帧间模式或者IBC模式进行编解码。视频帧的帧内编解码(I)的条带中的视频块关于相同视频帧内的相邻块中的参考样点而使用空间预测进行编码。视频帧的帧间编解码(P或B)的条带中的视频块可以关于相同视频帧内的相邻块中的参考样点而使用空间预测,或者关于其他先前和/或未来参考视频帧中的参考样点而使用时间预测。
基于先前已经编码的参考块(例如,相邻块)的空间或时间预测产生了针对待编解码的当前视频块的预测块。找到参考块的过程可以通过块匹配算法完成。表示待编解码的当前块与预测块之间的像素差异的残差数据称为残差块或者预测误差。帧间编码的块依照运动矢量以及残差块进行编码,运动矢量指向形成预测块的参考帧中的参考块。确定运动矢量的过程通常称为运动估计。帧内编码的块依照帧内预测模式和残差块被编码。为了进行进一步压缩,将残差块从像素域变换到变换域(例如频域),而产生残差变换系数,残差变换系数然后可以被量化。最初以二维阵列布置的量化的变换系数可以被扫描以产生变换系数的一维矢量,并且然后被熵编码到视频比特流中以实现更大的压缩。
然后,编码的视频比特流被保存在计算机可读存储介质(例如,闪存)中,以便由具有数字视频能力的另一个电子设备访问,或者以有线或无线的方式直接传输至该电子设备。然后,该电子设备执行视频解压缩(其为上面描述的视频压缩的相反过程),并在电子设备的显示器上呈现重建的数字视频数据。该电子设备通过以下方式执行视频解压缩:解析编码的视频比特流以便从该比特流获得语法元素,以及至少部分地基于从该比特流获得的语法元素将数字视频数据重建为它的原始格式。
随着数字视频质量从高清晰度转到4Kx2K或者甚至8Kx4K,待编码/解码的视频数据量呈指数增长。就如何可以在保持解码的视频数据的图像质量的同时更高效地对视频数据进行编码/解码而言,这是一个持续的挑战。
发明内容
本申请描述了实现方式,这些实现方式涉及视频数据编码和解码,更具体地,涉及关于提高视频编解码和压缩的编解码效率,包括通过对视频编解码应用神经网络技术来提高编解码效率的方法和装置。
依照本申请的第一方面,一种对视频信号进行解码的方法包括:从视频比特流中重建图片帧,该图片帧包括亮度分量、第一色度分量和第二色度分量,以及通过以下方式将基于经训练的神经网络的环路滤波器应用到重建的图片帧:将第一和第二色度分量中的至少一个分量的样点与亮度分量串接起来以创建串接的样点;以及使用卷积神经网络处理串接的样点。
在一些实施例中,将基于经训练的神经网络的环路滤波器应用到重建的图片帧进一步包括:当第一和第二色度分量中的至少一个分量的第一分辨率不同于亮度分量的第二分辨率时,将第一和第二色度分量中的至少一个分量的样点的第一分辨率转换成亮度分量的样点的第二分辨率;以及将卷积神经网络处理的第一和第二色度分量中的至少一个分量的样点从第二分辨率重新转换回第一分辨率。
在一些实施例中,将第一和第二色度分量中的至少一个分量的样点的第一分辨率转换成亮度分量的样点的第二分辨率包括:将第一和第二色度分量中的至少一个分量的样点从第一分辨率上采样为亮度分量的样点的第二分辨率,并且其中将卷积神经网络处理的第一和第二色度分量中的至少一个分量的样点从第二分辨率重新转换回第一分辨率包括:将卷积神经网络处理的第一和第二色度分量中的至少一个分量的样点从第二分辨率下采样回第一分辨率。
依照本申请的第二方面,一种电子装置包括一个或多个处理单元、存储器以及存储在存储器中的多个程序。这些程序在由一个或多个处理单元执行时,使得电子装置执行如上面所描述的对视频数据编解码的方法。
依照本申请的第三方面,一种非暂时性计算机可读存储介质存储了多个程序以供具有一个或多个处理单元的电子装置执行。这些程序在由该一个或多个处理单元执行时,使得电子装置执行如上面所描述的对视频数据编解码的方法。
附图说明
被包括以便提供对于所述实现方式的进一步理解并且结合于此且构成本说明书的一部分的附图图示了所描述的实现方式,并且与所述描述一起用来解释根本的原理。相似的附图标记指代相应的部分。
图1为依照本公开一些实现方式的图示出一种示例性视频编码和解码系统的框图。
图2为依照本公开一些实现方式的图示出一种示例性视频编码器的框图。
图3为依照本公开一些实现方式的图示出一种示例性视频解码器的框图。
图4A-4E为依照本公开一些实现方式的图示出如何将帧递归地分割成不同尺寸和形状的多个视频块的框图。
图5为依照本公开一些实现方式的图示出自适应环路滤波器(ALF)滤波器形状的框图。
图6A和6B为依照本公开一些实现方式的描绘出用于不同方向的梯度计算的子采样位置的框图。
图7为依照本公开一些实现方式的图示出一种全连接神经网络(FC-NN)的框图。
图8为依照本公开一些实现方式的图示出FC-NN与卷积神经网络(CNN)之间的相似性的框图。
图9为依照本公开一些实现方式的图示出应用于输入64x64x3图像的具有维度[5,5,3,4]的空间滤波器的框图。
图10为依照本公开一些实现方式的图示出长短期记忆网络(LSTM)的框图。
图11为依照本公开一些实现方式的示出一种残差网络(ResNet)的框图。
图12为依照本公开一些实现方式的示出针对单图像超分辨率(SISR)提高恢复图像质量以及增加图像分类精度的若干变型的框图。
图13为依照本公开一些实现方式的示出神经网络残差块的变型的框图。
图14为依照本公开一些实现方式的图示出增强空间注意力块(ESA)的框图。
图15为依照本公开一些实现方式的示出卷积运算的变型的框图。
图16为依照本公开一些实现方式的示出卷积运算的变型的框图。
图17为依照本公开一些实现方式的示出挤压激励网(SENet)的框图。
图18为依照本公开一些实现方式的图示出一种解码器侧NN-ALF的框图。
图19为依照本公开一些实现方式的示出深度方面卷积(DWC)、逐点卷积(PWC)和SENet的组合的架构的框图。
图20为依照本公开一些实现方式的示出ResNet与PWC的聚合的框图。
图21为依照本公开一些实现方式的图示出一种基于ResNet结构的网络架构的框图,该网络架构使用一个单一网络独立地处理亮度和色度分量。
图22为依照本公开一些实现方式的图示出一种网络架构的框图,该网络架构在亮度和色度分量尺寸相等时使用一个单一网络联合地处理亮度和色度分量。
图23为依照本公开一些实现方式的图示出联合亮度色度ResNet的网络架构的框图,在该网络架构中,上采样和下采样被卷积模块代替。
图24为依照本公开一些实现方式的图示出一种具有输入QP图的修改的ResNet架构的框图。
图25为依照本公开一些实现方式的图示出分别具有亮度和色度分量的独立QP图输入的联合亮度色度ResNet架构的框图。
图26为依照本公开一些实现方式的图示出一种使用基于神经网络的环路滤波器对视频信号进行解码的示例性过程的流程图。
具体实施方式
现在将详细地参考具体的实现方式,其示例在附图中图示出。在以下详细描述中,阐述了许多非限制性具体细节,以便帮助理解本文给出的主题。但是,本领域普通技术人员将清楚明白的是,在不脱离权利要求的范围的情况下可以使用各种不同的替代方案,并且可以在没有这些具体细节的情况下实施主题。例如,本领域普通技术人员将清楚明白的是,本文给出的主题可以在具有数字视频能力的多种类型的电子设备上实现。
HEVC标准的第一版于2013年10月定稿,其与上一代视频编解码标准H.264/MPEGAVC相比提供了大约50%的比特率节省或者同等的感知质量。尽管HEVC标准与其以前的标准相比提供了显著的编解码改进,但是有证据表明,利用额外的编解码工具可以实现相对于HEVC更优越的编解码效率。基于此,VCEG和MPEG都启动了用于未来视频编解码标准化的新编解码技术的探索工作。联合视频探索团队(JVET)于2015年10月由ITU-T VECG和ISO/IEC MPEG成立,以开始对能够实现编解码效率的大幅提高的先进技术进行重大研究。JVET通过在HEVC测试模型(HM)之上集成几个额外的编解码工具而主张一种称为联合探索模型(JEM)的参考软件。
2017年10月,ITU-T和ISO/IEC发布了有关具有超越HEVC的能力的视频压缩的联合提案征集(CfP)。2018年4月,在第10届JVET会议上,收到并评估了23份CfP响应,其展现出比HEVC高约40%的压缩效率增益。基于这样的评估结果,JVET启动了一个新项目来开发新一代视频编解码标准,该标准被命名为通用视频编解码(VVC)。同月,建立了一个称为VVC测试模型(VTM)的参考软件代码库,用于展现VVC标准的参考实现方式。像HEVC一样,VVC建立在基于块的混合视频编解码框架之上。
第一代AVS标准包括中国国家标准“信息技术,高级音视频编解码,第2部分:视频”(称为AVS1)和“信息技术,高级音视频编解码第16部分:广播电视视频”(称为AVS+)。与MPEG-2标准相比,它可以在相同的感知质量下提供大约50%的比特率节省。第二代AVS标准包括中国国家标准系列“信息技术,高效多媒体编解码”(称为AVS2),其主要针对额外高清晰度电视节目的传输。AVS2的编解码效率是AVS+的两倍。同时,AVS2标准视频部分由电气和电子工程师协会(IEEE)作为一种国际应用标准提交。AVS3标准是一种用于UHD视频应用的新一代视频编解码标准,旨在超越最新国际标准HEVC的编解码效率,其相对于HEVC标准提供了大约30%的比特率节省。2019年3月,在第68次AVS会议上,AVS3-P2基线已完成,其相对于HEVC标准提供了大约30%的比特率节省。目前,一种称为高性能模型(HPM)的参考软件由AVS组维护以演示AVS3标准的一种参考实现方式。像HEVC一样,AVS3标准建立在基于块的混合视频编解码框架之上。
图1为依照本公开一些实现方式的图示出一种用于并行地对视频块进行编码和解码的示例性系统10的框图。如图1所示,系统10包括生成视频数据并且对视频数据编码的源设备12,视频数据要在以后的时间由目标设备14进行解码。源设备12和目标设备14可以包括广泛多样的电子设备中的任何电子设备,包括桌面或膝上型计算机、平板计算机、智能电话、机顶盒、数字电视、摄像机、显示设备、数字媒体播放器、视频游戏控制台、视频流式传输设备等等。在一些实现方式中,源设备12和目标设备14配备有无线通信能力。
在一些实现方式中,目标设备14可以经由链路16接收待解码的经编码的视频数据。链路16可以包括能够将经编码的视频数据从源设备12移动到目标设备14的任何类型的通信介质或设备。在一个示例中,链路16可以包括使得源设备12能够实时地将经编码的视频数据直接传输至目标设备14的通信介质。经编码的视频数据可以依照诸如无线通信协议之类的通信标准被调制,并且被传输至目标设备14。通信介质可以包括任何无线或有线通信介质,诸如射频(RF)频谱或者一条或多条物理传输线。通信介质可以形成诸如局域网、广域网之类的基于分组的网络或者诸如因特网之类的全球网络的一部分。通信介质可以包括路由器、交换机、基站或者可能对于促进从源设备12到目标设备14的通信有用的任何其他装备。
在一些其他的实现方式中,经编码的视频数据可以从输出接口22传输至存储设备32。随后,存储设备32中的经编码的视频数据可以经由输入接口28被目标设备14访问。存储设备32可以包括各种各样的分布式或本地访问的数据存储介质中的任何数据存储介质,诸如硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪存、易失性或非易失性存储器或者任何其他适当的用于存储经编码的视频数据的数字存储介质。在进一步的示例中,存储设备32可以对应于文件服务器或者可以存放由源设备12生成的经编码的视频数据的另一种中间存储设备。目标设备14可以经由流式传输或者下载而从存储设备32访问存储的视频数据。文件服务器可以是能够存储经编码的视频数据并且将经编码的视频数据传输至目标设备14的任何类型的计算机。示例性文件服务器包括web服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)设备或者本地盘驱动器。目标设备14可以通过任何标准的数据连接访问经编码的视频数据,所述数据连接包括无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、线缆调制解调器等等)或者二者的组合,该组合适合于访问存储在文件服务器上的经编码的视频数据。来自存储设备32的经编码的视频数据的传输可以是流式传输、下载传输或者二者的组合。
如图1所示,源设备12包括视频源18、视频编码器20和输出接口22。视频源18可以包括诸如视频捕获设备之类的源,例如视频摄像机、包含先前捕获的视频的视频存档、接收来自视频内容提供方的视频的视频馈送接口、和/或用于生成诸如源视频之类的计算机图形数据的计算机图形系统,或者此类源的组合。作为一个示例,如果视频源18为安全监控系统的视频摄像机,那么源设备12和目标设备14可以形成摄像电话或视频电话。然而,本申请描述的实现方式可以一般性地适用于视频编解码,并且可以适用于无线和/或有线应用。
捕获的视频、预先捕获的视频或者计算机生成的视频可以由视频编码器20编码。经编码的视频数据可以经由源设备12的输出接口22直接传输至目标设备14。经编码的视频数据也(或者可替换地)可以存储到存储设备32上,以便之后由目标设备14或者其他设备访问以用于解码和/或回放。输出接口22可以进一步包括调制解调器和/或传输器。
目标设备14包括输入接口28、视频解码器30和显示设备34。输入接口28可以包括接收器和/或调制解调器,并且通过链路16接收经编码的视频数据。通过链路16传送或者在存储设备32上提供的经编码的视频数据可以包括各种各样的语法元素,语法元素由视频编码器20生成、供视频解码器30在解码视频数据时使用。这样的语法元素可以被包括在经编码的视频数据内,经编码的视频数据在通信介质上传输、存储在存储介质上或者存储在文件服务器上。
在一些实现方式中,目标设备14可以包括显示设备34,显示设备34可以是集成式显示设备和被配置为与目标设备14通信的外部显示设备。显示设备34向用户显示解码的视频数据,并且可以包括各种各样的显示设备中的任何显示设备,诸如液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或者另一种类型的显示设备。
视频编码器20和视频解码器30可以依照专有或行业标准来操作,标准诸如VVC、HEVC、MPEG-4第10部分、高级视频编解码(AVC)、AVS或者此类标准的扩展。应当理解,本申请并不限于具体的视频编解码/解码标准,而是可以适用于其他视频编解码/解码标准。通常可以设想,源设备12的视频编码器20可以被配置为依照这些当前或未来的标准中的任何标准对视频数据进行编码。类似地,通常还可以设想,目标设备14的视频解码器30可以被配置为依照这些当前或未来的标准中的任何标准对视频数据进行解码。
视频编码器20和视频解码器30中的每一个可以实现为各种各样的适当编码器电路系统中的任何电路系统,诸如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、分立逻辑、软件、硬件、固件或者其任何组合。当部分地以软件实现时,电子设备可以将用于软件的指令存储在适当的非暂时性计算机可读介质中,并且在硬件中使用一个或多个处理器执行这些指令,以便执行本公开中所公开的视频编解码/解码操作。视频编码器20和视频解码器30中的每一个可以被包括在一个或多个编码器或解码器中,其中任一个可以作为组合的编码器/解码器(CODEC)的一部分集成到对应的设备中。
图2为依照本申请中描述的一些实现方式的图示出一种示例性视频编码器20的框图。视频编码器20可以执行视频帧内的视频块的帧内和帧间预测编解码。帧内预测编解码依赖于空间预测来降低或去除给定视频帧或图片内的视频数据中的空间冗余。帧间预测编解码依赖于时间预测来降低或去除视频序列的邻近视频帧或图片内的视频数据中的时间冗余。
如图2所示,视频编码器20包括视频数据存储器40、预测处理单元41、已解码图片缓冲器(DPB)64、求和器50、变换处理单元52、量化单元54和熵编码单元56。预测处理单元41进一步包括运动估计单元42、运动补偿单元44、分割单元45、帧内预测处理单元46和帧内块复制(BC)单元48。在一些实现方式中,视频编码器20也包括用于视频块重建的反量化单元58、逆变换处理单元60和求和器62。诸如去块滤波器之类的环路滤波器63可以置于求和器62与DPB 64之间,以对块边界进行滤波以便从重建的视频中去除块效应伪影。除了去块滤波器之外,还可以使用环路滤波器63对求和器62的输出进行滤波。在将重建的CU置于参考图片存储库中以及用它来对未来的视频块进行编解码之前,可以对它应用另外的环路滤波63,诸如样点自适应偏移(SAO)和自适应环路滤波器(ALF)。视频编码器20可以采取固定或者可编程硬件单元的形式,或者可以被划分在图示的固定或可编程硬件单元中的一个或多个硬件单元之中。
视频数据存储器40可以存储待由视频编码器20的部件编码的视频数据。视频数据存储器40中的视频数据可以例如从视频源18获得。DPB 64为缓冲器,其存储供视频编码器20在对视频数据进行编码中使用的参考视频数据(例如,在帧内或帧间预测编解码模式下)。视频数据存储器40和DPB 64可以由各种各样的存储器设备中的任何存储器设备形成。在各个不同的示例中,视频数据存储器40可以与视频编码器20的其他部件一起在片上,或者相对于那些部件在片外。
如图2所示,在接收视频数据之后,预测处理单元41内的分割单元45将视频数据分割成视频块。这种分割也可以包括依照与视频数据关联的诸如四叉树结构之类的预定义拆分结构将视频帧分割成条带、瓦片或者其他更大的编码单元(CU)。视频帧可以被划分成多个视频块(或者称为瓦片的视频块集合)。预测处理单元41可以基于误差结果(例如,编码率和失真水平)为当前视频块选择多种可能的预测编码模式之一,诸如多种帧内预测编码模式之一或者多种帧间预测编码模式之一。预测处理单元41可以将得到的帧内或帧间预测编码的块提供给求和器50以生成残差块,并且提供给求和器62来重建编码的块,以随后用作参考帧的一部分。预测处理单元41还向熵编码单元56提供语法元素,诸如运动矢量、帧内模式指示符、分割信息以及其他这样的语法信息。
为了针对当前视频块选择合适的帧内预测编码模式,预测处理单元41内的帧内预测处理单元46可以执行当前视频块相对于一个或多个相邻块的帧内预测编码,以提供空间预测,该待编码的当前块与该一个或多个相邻块在同一帧中。预测处理单元41内的运动估计单元42和运动补偿单元44执行当前视频块相对于一个或多个参考帧中的一个或多个预测块的帧间预测编码,以提供时间预测。视频编码器20可以执行多个编码遍次,例如来为视频数据的每个块选择合适的编码模式。
在一些实现方式中,运动估计单元42通过依照视频帧序列内的预定型式生成运动矢量而确定用于当前视频帧的帧间预测模式,运动矢量指示当前视频帧内的视频块的预测单元(PU)相对于参考视频帧内的预测块的位移。由运动估计单元42执行的运动估计是生成运动矢量的过程,这些运动矢量估计针对视频块的运动。运动矢量例如可以指示当前视频帧或图片内的视频块的PU相对于参考帧(或者其他编码的单元)内的预测块的位移,预测块是相对于当前帧(或者其他编码的单元)内正被编码的当前块而言的。预定型式可以将序列中的视频帧指定为P帧或B帧。帧内BC单元48可以以类似于运动估计单元42为帧间预测确定运动矢量的方式确定用于帧内BC编码的矢量,例如块矢量,或者可以利用运动估计单元42来确定块矢量。
预测块是在像素差异方面被认为与待编码的视频块的PU紧密匹配的参考帧的块,像素差异可以通过绝对差之和(SAD)、平方差之和(SSD)或者其他差异度量而确定。在一些实现方式中,视频编码器20可以计算针对DPB 64中存储的参考帧的亚整数像素位置的值。例如,视频编码器20可以对参考帧的四分之一像素位置、八分之一像素位置或者其他分数像素位置的值进行插值。因此,运动估计单元42可以执行相对于完整像素位置和分数像素位置的运动搜索,并且输出具有分数像素精度的运动矢量。
运动估计单元42通过以下方式针对帧间预测编码帧中的视频块的PU来计算运动矢量:将PU的位置与从第一参考帧列表(列表0)或者第二参考帧列表(列表1)中选择的参考帧的预测块的位置相比较,第一参考帧列表和第二参考帧列表中的每个列表标识DPB 64中存储的一个或多个参考帧。运动估计单元42将计算的运动矢量发送到运动补偿单元44,并且然后发送到熵编码单元56。
由运动补偿单元44执行的运动补偿可以涉及基于由运动估计单元42确定的运动矢量获取或者生成预测块。一经接收到用于当前视频块的PU的运动矢量,运动补偿单元44就可以在参考帧列表之一中定位运动矢量指向的预测块,从DPB 64中取回预测块,并且将预测块转发至求和器50。然后,求和器50通过从正被编码的当前视频块的像素值中减去由运动补偿单元44提供的预测块的像素值,而形成像素差异值的残差视频块。形成残差视频块的像素差异值可以包括亮度差异分量或色度差异分量或者二者。运动补偿单元44还可以生成与视频帧的视频块关联的语法元素,以供视频解码器30在对视频帧的视频块进行解码时使用。这些语法元素可以包括,例如,定义用来标识预测块的运动矢量的语法元素、指示预测模式的任何标志或者本文描述的任何其他语法信息。注意,运动估计单元42和运动补偿单元44可以是高度集成的,但是出于概念上的目的而分离地图示出。
在一些实现方式中,帧内BC单元48可以以与上面结合运动估计单元42和运动补偿单元44所描述的方式类似的方式生成矢量和获取预测块,但是预测块处于与正被编码的当前块相同的帧中,并且矢量被称为块矢量而不是运动矢量。特别地,帧内BC单元48可以确定用来对当前块进行编码的帧内预测模式。在一些示例中,帧内BC单元48可以例如在多个单独的编码遍次期间使用各种不同的帧内预测模式对当前块进行编码,并且通过率失真分析来测试它们的性能。接下来,帧内BC单元48可以在各种不同的已测试的帧内预测模式之中选择合适的帧内预测模式来使用,并且相应地生成帧内模式指示符。例如,帧内BC单元48可以针对各种不同的已测试的帧内预测模式使用率失真分析来计算率失真值,并且在已测试的模式之中选择具有最佳率失真特性的帧内预测模式作为合适的帧内预测模式来使用。率失真分析通常确定编码的块与被编码以产生编码的块的原始未编码块之间的失真(或误差)量,以及用来产生编码的块的比特率(即比特数量)。帧内BC单元48可以针对各种不同的编码的块的失真和速率来计算比率,以确定对于块而言哪种帧内预测模式表现出最佳的率失真值。
在其他示例中,帧内BC单元48可以完全或者部分地使用运动估计单元42和运动补偿单元44,来依照本文描述的实现方式执行用于帧内BC预测的此类功能。在任一种情况下,对于帧内块复制而言,预测块可以是就像素差异而言被认为紧密匹配待编码的块的块,像素差异可以通过绝对差之和(SAD)、平方差之和(SSD)或者其他差异度量而确定,并且预测块的标识可以包括计算针对亚整数像素位置的值。
不管预测块是依照帧内预测而来自相同的帧,还是依照帧间预测而来自不同的帧,视频编码器20都可以通过以下方式形成残差视频块:从正被编码的当前视频块的像素值中减去预测块的像素值,而形成像素差异值。形成残差视频块的像素差异值可以包括亮度分量差异和色度分量差异二者。
如上所述,帧内预测处理单元46可以对当前视频块进行帧内预测,作为由运动估计单元42和运动补偿单元44执行的帧间预测或者帧内BC单元48执行的帧内块复制预测的替代方案。特别地,帧内预测处理单元46可以确定用来对当前块进行编码的帧内预测模式。为了这样做,帧内预测处理单元46可以例如在多个单独的编码遍次期间使用各种不同的帧内预测模式对当前块进行编码,并且帧内预测处理单元46(或者在一些示例中,模式选择单元)可以从已测试的帧内预测模式中选择合适的帧内预测模式来使用。帧内预测处理单元46可以将指示用于块的所选择的帧内预测模式的信息提供给熵编码单元56。熵编码单元56可以将指示所选择的帧内预测模式的信息编码在比特流中。
在预测处理单元41经由帧间预测或者帧内预测确定了用于当前视频块的预测块之后,求和器50通过从当前视频块中减去预测块而形成残差视频块。残差块中的残差视频数据可以被包括在一个或多个变换单元(TU)中,并且被提供给变换处理单元52。变换处理单元52使用诸如离散余弦变换(DCT)之类的变换或者概念上类似的变换将残差视频数据变换为残差变换系数。
变换处理单元52可以将得到的变换系数发送至量化单元54。量化单元54对变换系数进行量化,以进一步降低比特率。量化过程也可以降低与系数中的一些或全部系数关联的位深度。量化的程度可以通过调节量化参数被修改。在一些示例中,量化单元54然后可以执行对包括量化的变换系数的矩阵的扫描。可替换地,熵编码单元56可以执行该扫描。
在量化之后,熵编码单元56使用例如上下文自适应可变长度编解码(CAVLC)、上下文自适应二进制算术编解码(CABAC)、基于语法的上下文自适应二进制算术编解码(SBAC)、概率区间分割熵(PIPE)编解码或者另一种熵编码方法或技术,将量化的变换系数熵编码到视频比特流中。然后,编码的比特流被传输至视频解码器30,或者存档于存储设备32中,以便以后传输至视频解码器30或者由其取回。熵编码单元56也可以对用于正被编解码的当前视频帧的运动矢量和其他语法元素进行熵编码。
反量化单元58和逆变换处理单元60分别应用反量化和逆变换,以在像素域中重建残差视频块,以生成用于预测其他视频块的参考块。如上面所指出的,运动补偿单元44可以从DPB 64中存储的帧的一个或多个参考块生成经运动补偿的预测块。运动补偿单元44还可以将一个或多个插值滤波器应用到预测块,以计算在运动估计中使用的亚整数像素值。
求和器62将重建的残差块加到由运动补偿单元44产生的经运动补偿的预测块,以产生用于存储在DPB 64中的参考块。然后,参考块可以由帧内BC单元48、运动估计单元42和运动补偿单元44用作预测块,以对后续视频帧中的另一个视频块进行帧间预测。
图3为依照本申请一些实现方式的图示出一种示例性视频解码器30的框图。视频解码器30包括视频数据存储器79、熵解码单元80、预测处理单元81、反量化单元86、逆变换处理单元88、求和器90和DPB 92。预测处理单元81进一步包括运动补偿单元82、帧内预测处理单元84和帧内BC单元85。视频解码器30可以执行通常与上面关于视频编码器20结合图2描述的编码过程互反的解码过程。例如,运动补偿单元82可以基于接收自熵解码单元80的运动矢量生成预测数据,而帧内预测单元84可以基于接收自熵解码单元80的帧内预测模式指示符生成预测数据。
在一些示例中,视频解码器30的单元可以被分派任务,以执行本申请的实现方式。同样地,在一些示例中,本公开的实现方式可以被划分在视频解码器30的单元中的一个或多个单元之中。例如,帧内BC单元85可以单独地或者与视频解码器30的其他单元(诸如运动补偿单元82、帧内预测处理单元84和熵解码单元80)结合地执行本申请的实现方式。在一些示例中,视频解码器30可以不包括帧内BC单元85,并且帧内BC单元85的功能可以由预测处理单元81的诸如运动补偿单元82之类的其他部件执行。
视频数据存储器79可以存储要由视频解码器30的其他部件解码的诸如编码的视频比特流之类的视频数据。视频数据存储器79中存储的视频数据可以经由视频数据的有线或无线网络通信或者通过访问物理数据存储介质(例如,闪存驱动器或者硬盘)、例如从存储设备32、从诸如摄像机之类的本地视频源来获得。视频数据存储器79可以包括存储来自编码的视频比特流的经编码的视频数据的已编解码图片缓冲器(CPB)。视频解码器30的已解码图片缓冲器(DPB)92存储供视频解码器30在对视频数据进行解码时使用的参考视频数据(例如,在帧内或帧间预测编解码模式下)。视频数据存储器79和DPB 92可以由各种各样的存储器设备中的任何存储器设备形成,诸如动态随机存取存储器(DRAM)(包括同步DRAM(SDRAM))、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或者其他类型的存储器设备。出于说明的目的,视频数据存储器79和DPB 92在图3中被描绘为视频解码器30的两个不同的部件。但是本领域技术人员将清楚明白的是,视频数据存储器79和DPB 92可以由同一存储器设备或者分离的存储器设备提供。在一些示例中,视频数据存储器79可以与视频解码器30的其他部件一起在片上,或者相对于那些部件在片外。
在解码过程期间,视频解码器30接收编码的视频比特流,其表示编码的视频帧的视频块和关联的语法元素。视频解码器30可以在视频帧级别和/或视频块级别接收语法元素。视频解码器30的熵解码单元80对比特流进行熵解码,以生成量化的系数、运动矢量或帧内预测模式指示符以及其他语法元素。然后,熵解码单元80将运动矢量和其他语法元素转发至预测处理单元81。
当视频帧被编码为帧内预测编码(I)的帧或者用于其他类型的帧中的帧内编码的预测块时,预测处理单元81的帧内预测处理单元84可以基于用信号发传输的帧内预测模式和来自当前帧的先前解码的块的参考数据,生成针对当前视频帧的视频块的预测数据。
当视频帧被编码为帧间预测编码(即B或P)的帧时,预测处理单元81的运动补偿单元82基于接收自熵解码单元80的运动矢量和其他语法元素,产生用于当前视频帧的视频块的一个或多个预测块。这些预测块中的每一个可以从参考帧列表之一内的参考帧产生。视频解码器30可以基于DPB 92中存储的参考帧,使用默认构建技术构建参考帧列表一一列表0和列表1。
在一些示例中,当依照本文描述的帧内BC模式对视频块进行编码时,预测处理单元81的帧内BC单元85基于接收自熵解码单元80的块矢量和其他语法元素,产生用于当前视频块的预测块。这些预测块可以处于由视频编码器20定义的与当前视频块相同的图片的重建区域内。
运动补偿单元82和/或帧内BC单元85通过解析运动矢量和其他语法元素确定用于当前视频帧的视频块的预测信息,并且然后使用预测信息产生用于正被解码的当前视频块的预测块。例如,运动补偿单元82使用接收的语法元素中的一些语法元素,来确定用来对视频帧的视频块进行解码的预测模式(例如,帧内或帧间预测)、帧间预测帧类型(例如,B或P)、用于帧的参考帧列表中的一个或多个参考列表的构建信息、用于帧的每个帧间预测编码的视频块的运动矢量、用于帧的每个帧间预测编码的视频块的帧间预测状态,以及对当前视频帧中的视频块进行解码的其他信息。
类似地,帧内BC单元85可以使用接收的语法元素中的一些语法元素(例如,标志)来确定当前视频块是使用帧内BC模块被预测的、帧的哪些视频块处于重建的区域内并且应当存储在DPB 92中的构建信息、用于帧的每个帧内BC预测的视频块的块矢量、用于帧的每个帧内BC预测的视频块的帧内BC预测状态,以及对当前视频帧中的视频块进行解码的其他信息。
运动补偿单元82也可以使用如视频编码器20在对视频块进行编码期间使用的插值滤波器执行插值,以计算用于参考块的亚整数像素的内插值。在这种情况下,运动补偿单元82可以从接收的语法元素确定视频编码器20使用的插值滤波器,并且使用这些插值滤波器产生预测块。
反量化单元86使用视频编码器20为视频帧中的每个视频块计算以便确定量化程度的相同量化参数对比特流中提供的且由熵解码单元80熵解码的量化的变换系数进行反量化。逆变换处理单元88将逆变换(例如,逆DCT、逆整数变换或者概念上相似的逆变换过程)应用到这些变换系数,以便在像素域中重建残差块。
在运动补偿单元82或帧内BC单元85基于矢量和其他语法元素生成用于当前视频块的预测块之后,求和器90通过对来自逆变换处理单元88的残差块以及由运动补偿单元82和帧内BC单元85生成的相应的预测块进行求和,而重建针对当前视频块的经解码的视频块。环路滤波器91可以置于求和器90和DPB 92之间,以进一步处理解码的视频块。在将重建的CU置于参考图片存储库中之前,可以对它应用环路滤波91,诸如去块滤波器、样点自适应偏移(SAO)和自适应环路滤波器(ALF)。然后,将给定帧中的经解码的视频块存储在DPB 92中,DPB 92存储用于接下来的视频块的后续运动补偿的参考帧。DPB 92或者与DPB 92分开的存储器设备也可以存储解码的视频,用于以后在诸如图1的显示设备34之类的显示设备上呈现。
在典型的视频编解码过程中,视频序列通常包括帧或图片的有序集合。每个帧可以包括三个样点阵列,记为SL、SCb和SCr。SL为亮度样点二维阵列。SCb为Cb色度样点二维阵列。SCr为Cr色度样点二维阵列。在其他情况下,帧可以是单色的,并且因此仅仅包括亮度样点的一个二维阵列。
像HEVC一样,VVC/AVS3标准建立在基于块的混合视频编解码框架之上。输入视频信号被逐块(称为编码单元(CU))处理。在VVC测试模型(VTM)-1.0中,CU可以高达128x128像素。不同于仅仅基于四叉树分割块的HEVC的是,在VVC/AVS3中,一个编码树单元(CTU)基于四叉/二叉/三叉树(VCC)或者扩展四叉树(AVS3)被拆分成若干CU,以适应变化的局部特性。此外,HEVC中的多分区单元类型的概念被移除,即,VVC/AVS3中不再存在CU、预测单元(PU)和变换单元(TU)的分离;取而代之地,每个CU总是用作预测和变换二者的基本单元,没有进一步的分区。在VCC/AVS3的树分区结构中,一个CTU首先基于四叉树结构被分割。然后,每个四叉树叶节点可以基于二叉和三叉树(VCC)或者扩展四叉树(AVS3)结构被进一步分割。
如图4A所示,视频编码器20(或者更具体地,分割单元45)通过首先将帧分割为编码树单元(CTU)集合而生成帧的编码表示。视频帧可以包括以从左到右和从上到下的光栅扫描顺序连续排序的整数个CTU。每个CTU为最大的逻辑编码单元,并且CTU的宽度和高度由视频编码器20在序列参数集合中用信号表示,使得视频序列中的所有CTU都具有相同的尺寸,该尺寸为128×128、64×64、32×32和16×16之一。但是注意,本申请不一定限于特定的尺寸。如图4B所示,每个CTU可以包括亮度样点的一个编码树块(CTB)、色度样点的两个相应编码树块以及用来对编码树块的样点进行解码的语法元素。这些语法元素描述编码的像素块的不同类型的单元的属性,以及在视频解码器30处可以如何重建视频序列,包括帧间或帧内预测、帧内预测模式、运动矢量和其他参数。在单色图片或者具有三个单独的颜色平面的图片中,CTU可以包括单个编码树块和用来对编码树块的样点进行解码的语法元素。编码树块可以是NxN样点块。
为了实现更佳的性能,视频编码器20可以对CTU的编码树块递归地执行树分割,诸如二叉树分割、三叉树分割、四叉树分割或者其组合,并且将CTU划分成更小的编码单元(CU)。如图4C中所描绘的,64x64 CTU 400首先被划分成四个更小的CU,每个CU具有32x32的块尺寸。在这四个更小的CU之中,CU 410和CU 420中的每一个被划分成四个块尺寸为16x16的CU。两个16x16CU 430和CU 440中的每一个进一步被划分成四个块尺寸为8x8的CU。图4D描绘了四叉树数据结构,其说明了如图4C中所描绘的CTU 400的分割过程的最终结果,四叉树的每个叶节点对应于范围从32x32到8x8的对应尺寸的一个CU。像图4B中描绘的CTU那样,每个CU可以包括亮度样点的一个编码块(CB)和相同尺寸的帧的色度样点的两个相应的编码块、以及用来对编码块的样点进行解码的语法元素。在单色图片或者具有三个单独的颜色平面的图片中,CU可以包括单个编码块和用来对编码块的样点进行解码的语法结构。应注意,图4C和图4D中描绘的四叉树分割仅仅用于说明的目的,并且一个CTU可以基于四叉/三叉/二叉树分割拆分成CU,以适应变化的局部特性。在多类型树结构中,一个CTU被四叉树结构分割,并且每个四叉树的叶CU可以进一步被二叉和三叉树结构分割。如图4E所示,VCC中存在五种拆分/分割类型,即四元分割、水平二元分割、垂直二元分割、水平三元分割和垂直三元分割。
在一些实现方式中,视频编码器20可以进一步将CU的编码块分割成一个或多个MxN预测块(PB)。预测块为矩形(方形或者非方形)样点块,其上应用相同的预测(帧间或帧内)。CU的预测单元(PU)可以包括亮度样点的一个预测块、色度样点的两个相应的预测块以及用来对预测块进行预测的语法元素。在单色图片或者具有三个单独的颜色平面的图片中,PU可以包括单个预测块和用来对预测块进行预测的语法结构。视频编码器20可以生成针对CU的每个PU的亮度预测块、Cb预测块和Cr预测块的预测亮度块、预测Cb块和预测Cr块。
视频编码器20可以使用帧内预测或帧间预测来生成用于PU的预测块。如果视频编码器20使用帧内预测来生成PU的预测块,那么视频编码器20可以基于与PU关联的帧的已解码的样点生成PU的预测块。如果视频编码器20使用帧间预测来生成PU的预测块,那么视频编码器20可以基于不同于与PU关联的帧的一个或多个帧的已解码的样点来生成PU的预测块。
在视频编码器20生成CU的一个或多个PU的预测亮度块、Cb块和Cr块之后,视频编码器20可以通过从CU的原始亮度编码块中减去它的预测亮度块而生成针对CU的亮度残差块,使得CU的亮度残差块中的每个样点指示CU的预测亮度块之一中的亮度样点与CU的原始亮度编码块中的相应样点之间的差异。类似地,视频编码器20可以分别生成CU的Cb残差块和Cr残差块,使得CU的Cb残差块中的每个样点指示CU的预测Cb块之一内的Cb样点与CU的原始Cb编码块中的相应样点之间的差异,并且CU的Cr残差块中的每个样点可以指示CU的预测Cr块之一中的Cr样点与CU的原始Cr编码块中的相应样点之间的差异。
此外,如图4C所图示的,视频编码器20可以使用四叉树分割将CU的亮度残差块、Cb残差块和Cr残差块分解为一个或多个亮度变换块、Cb变换块和Cr变换块。变换块是其上应用相同变换的矩形(方形或非方形)样点块。CU的变换单元(TU)可以包括亮度样点的一个变换块、色度样点的两个相应的变换块以及用来对变换块样点进行变换的语法元素。因此,CU的每个TU可以与亮度变换块、Cb变换块和Cr变换块关联。在一些示例中,与TU关联的亮度变换块可以是CU的亮度残差块的子块。Cb变换块可以是CU的Cb残差块的子块。Cr变换块可以是CU的Cr残差块的子块。在单色图片或者具有三个单独的颜色平面的图片中,TU可以包括单个变换块和用来对变换块的样点进行变换的语法结构。
视频编码器20可以将一种或多种变换应用到TU的亮度变换块,以生成针对TU的亮度系数块。系数块可以是变换系数的二维阵列。变换系数可以是标量。视频编码器20可以将一种或多种变换应用到TU的Cb变换块,以生成针对TU的Cb系数块。视频编码器20可以将一种或多种变换应用到TU的Cr变换块,以生成针对TU的Cr系数块.
在生成系数块(例如,亮度系数块、Cb系数块或者Cr系数块)之后,视频编码器20可以对系数块进行量化。量化通常是指一种过程,在该过程中,对变换系数进行量化以便可能地减少用来表示变换系数的数据量,提供进一步压缩。在视频编码器20对系数块进行量化之后,视频编码器20可以对指示量化变换系数的语法元素进行熵编码。例如,视频编码器20可以对指示量化变换系数的语法元素执行上下文自适应二进制算术编解码(CABAC)。最后,视频编码器20可以输出包括比特序列的比特流,比特序列形成编码帧和关联的数据的表示,比特流被保存在存储设备32中或者传输至目标设备14。
在接收到视频编码器20生成的比特流之后,视频解码器30可以解析比特流,以从比特流获得语法元素。视频解码器30可以至少部分地基于从比特流获得的语法元素重建视频数据的帧。重建视频数据的过程通常与视频编码器20执行的编码过程互反。例如,视频解码器30可以对与当前CU的TU关联的系数块执行逆变换,以重建与当前CU的TU关联的残差块。视频解码器30还通过将用于当前CU的PU的预测块的样点加到当前CU的TU的变换块的相应样点,而重建当前CU的编码块。在重建帧的每个CU的编码块之后,视频解码器30可以重建帧。
总的说来,除了若干模块被进一步扩展和/或改进之外,例如,去块滤波器、样点自适应偏移(SAO)和自适应环路滤波器(ALF)之外,VVC中应用的基本帧内预测方案保持与HEVC的方案相同。本文公开的系统和方法的主要着眼点在于改进VVC标准中的环路设计。
在当前VTM中,应用了具有基于块的滤波器调整的自适应环路滤波器(ALF)。对于亮度分量,基于局部梯度的方向和活性为每个4×4块选择25个滤波器中的一个滤波器。图5为依照本公开一些实现方式的图示出ALF滤波器形状的框图。如图5所示,两个菱形滤波器形状被使用。图5右边的7×7菱形形状被应用于亮度分量,图5左边的5×5菱形形状被应用于色度分量。
在一些实施例中,ALF的块分类在下文中进一步被描述。对于亮度分量,每个4×4块被分类到25个类别中的一个类别中。分类指数C基于其方向性D和活性量化值
Figure BDA0004154030370000201
而如下导出:
Figure BDA0004154030370000202
为了计算D和
Figure BDA0004154030370000203
首先使用1-D拉普拉斯计算水平、垂直和两个对角方向的梯度:
Figure BDA0004154030370000204
/>
Figure BDA0004154030370000211
其中,索引i和j涉及4×4块内左上样点的坐标,并且R(i,j)指示坐标(i,j)处的重建样点。
为了降低块分类的复杂度,应用子采样1-D拉普拉斯计算。图6A和图6B为依照本公开一些实现方式的描绘出用于不同方向的梯度计算的子采样位置的框图。如图6A和图6B所示,相同的子采样位置用于所有方向的梯度计算。图6A(a)示出了用于垂直梯度的子采样位置。图6A(b)示出了用于水平梯度的子采样位置。图6B(a)示出了用于对角梯度的子采样位置。图6B(b)示出了用于对角梯度的子采样位置。
然后,如下通过Dmain和Dstrength导出D:
D=((Dmain&0x1)<<1)+Dstrength (1-6)
Dmain和Dstrength通过HV0、HV1、Dir0、Dir1、HVD0、HVD1、DtempHV、DtempD01如下导出:
HV0=(sumv>sumh)?sumv:sumh (1-7)
HV1=(sumv>sumh)?sumh:sumv (1-8)
DtempHV=(sumv>sumh)?1:3 (1-9)
Dir0=(sumd0>sumd1)?sumd0:sumd1 (1-10)
Dir1=(sumd0>sumd1)?sumd1:sumd0 (1-11)
DtempD01=(sumd0>sumd1)?0:2 (1-12)
Dmain=(Dir1*HV0>Dir0*HV1)?DtempD01:DtempHV (1-13)
Dstrength=(HVD1>2*HVD0)?1:(HVD1*2>9*HVD0)?2:0 (1-14)
活性值A被计算为:
A=sumv+sumh (1-15)
A进一步被量化到0到4的范围,包括0和4,并且量化值记为
Figure BDA0004154030370000212
对于图片中的色度分量,不应用分类方法,即,对于每个色度分量应用单组ALF系数。
在一些实施例中,ALF的修剪值和滤波器系数的几何变换进一步在下文中被描述。在对每个4×4亮度块进行滤波之前,根据为该块计算的梯度值,对滤波器系数f(j)和相应的滤波器修剪值c(j)应用诸如旋转或对角和垂直翻转之类的几何变换。这等效于将这些变换应用于滤波器支持区域中的样点。其想法是通过调整应用了ALF的不同块的方向性而使得这些不同块更加相似。
滤波器系数以及系数fL(j)滤波器修剪值cL(j)(j=0...11)用于亮度,并且通过filtIdxL[x][y]和AlfCoeffL[i]导出,它们是从编码器用信号发送的系数组。
fL(j)=AlfCoeffL[i][filtIdx[x][y]][j] (1-16)
cL(j)=AlfClipL[i][filtIdx[x][y]][j] (1-17)
transposeTable[]={0,1,0,2,2,3,1,3} (1-18)
transposeIdx[x][y]=transposeTable[dirl[x][y]*2+(dir2[x][y]>>1)] (1-19)
varTab[]={0,1,2,2,2,2,2,3,3,3,3,3,3,3,3,4} (1-20)
Figure BDA0004154030370000221
Figure BDA0004154030370000222
在该等式中,Clip3为在由两个阈值定义的某个范围内修剪给定值的函数。更确切地说,Clip3定义为:Clip3(x,y,z)=(z<x?x:z>y?y:x)。换言之,Clip3函数用来将给定值z修剪到[x,y]范围内。
色度滤波器系数以及系数fc(j)滤波器修剪值cc(j),j=0...5,通过altIdx和AlfCoeffC[i]导出,它们分别是从编码器用信号发送的系数集合的索引和系数集合。
fC(j)=AlfCoeffC[slice_alf_aps_id_chroma][altIdx][j] (1-23)
cC(j)=AlfClipC[slice_alf_aps_id_chroma][altIdx][j] (1-24)
过去十年,神经网络技术,例如全连接神经网络(FC-NN)、卷积神经网络(CNN)和长短期记忆网络(LSTM),在许多研究领域取得成功。
在一些实施例中,全连接神经网络(FC-NN)进一步在下文中被描述。图7为依照本公开一些实现方式的图示出一种全连接神经网络(FC-NN)的框图。如图7所示,一种简单的FC-NN由输入层、输出层和多个隐藏层组成。在第k层,输出fk(xk-1,Wk,Bk)包括
fk(xk-1,Wk,Bk)=δ(xk-1*Wk+Bk) (2-25)
Figure BDA0004154030370000231
其中,xk-1∈RM为第(k-1)层的输出,Wk∈RM*N和Bk∈RN为第k层的权重和偏置。δ(·)为激活函数,例如如等式(2-3)所定义的线性整流单元(ReLU)函数。
Figure BDA0004154030370000232
因此,K层FC-NN的一般形式写成
FCNN(x)=fK(...fk(fk-1(...f1(x,W1,B1)...),Wk,Bk)...,WK,BK),for1≤k≤K (2-28)
依照通用近似假设和等式(2-4),给定任意连续函数g(x)和某个ε>0,存在具有合理非线性选择(例如ReLU)的神经网络f(x),使得
Figure BDA0004154030370000233
|g(x)-f(x)|<ε。在一些实施例中,应用神经网络作为模拟具有隐藏变量的模型的逼近器,以便提取表面下的可解释特征。例如,在图像识别中应用FC-NN帮助研究者构建一种系统,该系统不仅理解单个像素,而且理解越来越深入和复杂的子结构,例如边缘、纹理、几何形状和对象。
在一些实施例中,卷积神经网络(CNN)进一步在下文中被描述。图8为依照本公开一些实现方式的图示出FC-NN与CNN之间的相似性的框图。图8(a)示出了具有2个隐藏层的FC-NN。图8(b)示出了CNN的一个示例,并且CNN的第二隐藏层的维度是[W,H,Depth]。作为用于图像/视频应用的一种流行的神经网络架构,CNN非常类似于如图8(a)所示的FC-NN,其包括权重和偏置度量。CNN可以被看作神经网络的一种3-D版本。在图8(b)中,神经元以3-D结构(宽度、高度和深度)布置以形成CNN,并且第二隐藏层被可视化。在该示例中,输入层保存输入图像或视频帧,因此它的宽度和高度与输入数据相同。为了应用于图像或视频应用,CNN中的每个神经元为具有与其输入对齐的扩展深度的空间滤波器元件,例如,在输入图像中存在3个颜色分量的情况下深度为3。图9为依照本公开一些实现方式的图示出应用于输入64x64x3图像的、具有维度[5,5,3,4]的空间滤波器的框图。图9还示出了额外的2个像素被填充用于卷积运算。如图9所示,CNN中的基本元素的维度被定义为[Filterwidth,Filterheight,Inputdepth,Outputdepth],并且在该示例中被设置为[5,5,3,4]。每个空间滤波器对输入图像执行具有5*5*3权重的二维空间卷积,然后输出4个卷积结果。因此,如果用额外的2个像素填充边界,则滤波的结果的维度为[64+4,64+4,4]。
在一些实施例中,长短期记忆神经网络(LSTM)在下文中被详细讨论。图10为依照本公开一些实现方式的图示出长短期记忆网络(LSTM)的框图。如图10所示,考虑数据的顺序,LSTM中隐藏层的输入包含前一层的输出及其自己的输出二者。LSTM是一种用于解决时间依赖问题的网络架构。
图11为依照本公开一些实现方式的示出一种残差网络(ResNet)的框图。图11(a)示出作为ResNet的元素的残差块通过恒等连接(identity connection)而与其输入进行逐元素相加。图11(b)示出针对ResNet标注(stake)残差块的一个示例。图像分类中的若干研究揭示,当神经网络的深度增加时,精度饱和并且迅速下降。更具体地说,在深度神经网络上添加更多的层导致更高的训练误差,因为梯度沿着深度网络逐渐消失并且最终趋于零梯度。在一些实施例中,应用由残差块构成的残差网络(ResNet)以通过引入恒等连接解决精度问题。
如图11(a)所示,ResNet的一种基本模块包括残差块和恒等连接。依照通用近似假设,给定输入x,残差块中具有激活函数的加权层近似于隐藏函数F(x)而不是输出H(x)=F(x)+x。
通过堆叠非线性多层神经网络,残差块探索了表示输入图像的局部特性的特征。在不引入额外的参数或者计算复杂度的情况下,恒等连接被证明通过如图11(a)所示跳过一个或多个非线性加权层而使得深度学习网络是可训练的。跳过加权层,则残差层的微分输出可以写成:
Figure BDA0004154030370000241
因此,即使微分项
Figure BDA0004154030370000242
朝着零逐渐减小,恒等项仍然可以继续并且将输入传递至下一层而不是被卡于零梯度以及阻断信息传播。理论上,如果神经元不能将信息传播到下一神经元,则它被看作死神经元,死神经元在神经网络中是不可训练元素。相加之后,另一个非线性激活函数也可以被应用。图11(b)是通过标注残差模块的ResNet的一个示例,其中残差特征在传播至下一模块之前与恒等特征融合。
图12为依照本公开一些实现方式的示出针对单图像超分辨率(SISR)提高恢复图像质量以及增加图像分类精度的若干变型的框图。例如,图12(a)示出具有全局恒等连接的残差块。图12(b)示出具有串接架构的ResNet。图12(c)示出一种聚合ResNet。
在图12(a)中,一种ResNet变型被用来增强上采样图像的视觉质量。具体地,从第一残差块的输入到最后残差块的输出应用了全局恒等连接,以便促进训练过程的收敛。
在图12(b)中,另一种ResNet变型堆叠多个残差块,以便进一步提高视频编解码效率。每个残差块通过串接操作将它自己的输入直接传播至后续单元。换言之,每个中间块都可以从其前面的单元接收多层次信息,因为多级信息可以流过相同的连接。在一些示例中,图12(b)中每个残差块的参数由于串接操作的原因而随着层数线性增加。
在图12(a)和图12(b)中,在残差信息可以被传播至后面的模块之前,残差特征必须经历一个或几个模块。由于恒等连接的原因,这些残差特征可以与某个层的恒等特征迅速耦合,并且停止传播至后继模块。因此,前两种变型中的残差特征是局部受限的,导致性能下降。
在图12(c)中,另一种ResNet变型被用来通过聚合残差块的输出而解决SISR。在该变型中,最后残差块的输出与之前三个模块的所有输出串接。在应用于与第一残差块的输入进行逐元素相加之前,串接的层次特征通过卷积运算而被融合。不同于前两种变型,聚合ResNet使得非局部特征可应用于最后的残差模块,从而层次信息可以被传播至后继块,以更具区别性的方式实现特征表示。
图13为依照本公开一些实现方式的示出神经网络残差块的变型的框图。图13(a)示出一种用于增强SISR的图片质量的变型残差块。图13(b)示出一种没有最后的非线性层的残差块。图13(c)示出一种没有批量归一化的残差块。
在一个示例中,图13(a)中示出了基本残差块。两个卷积层堆叠在一起,其后是批量归一化和非线性激活函数。第二批量归一化的输出与第一卷积层的输入进行逐元素相加。最后的结果应用于另一个非线性徼活。
图13(b)中示出了一种修改的残差块。受原始残差块的启发,它是针对4倍放大因子推断出逼真的自然图像的第一种实现方式。最后的非线性激活层从变型中去除。图13(c)中示出了残差块的进一步减少。批量归一化层被去除,因为它限制了特征的范围灵活性。去除批量归一化可以增强SISR的图片质量。
在一些实施例中,增强空间注意力块(ESA)被应用来提高ResNet的性能。图14为依照本公开一些实现方式的图示出ESA的框图。如图14所示,ESA模块与聚合ResNet一起使用以解决SISR。在图14(a)中,ESA在残差块的结尾起作用。最重要的子模块是池化机制,该机制是ESA迫使特征更聚焦于感兴趣区域的空间特性的关键。
图15为依照本公开一些实现方式的示出卷积运算的变型的框图。为了减少参数数量,空间可分离卷积(SepConv)被使用来代替经典的卷积运算。图15(a)示出一种基本的卷积,它是二维滤波器,其[width,height]=[m,k]。图15(b)示出一种空间可分离卷积,由两个堆叠在一起的一维卷积组成,以近似于二维卷积运算。
图16为依照本公开一些实现方式的示出卷积运算的变型的框图。图16(a)示出高度和宽度分别等于w和h的三色分量图像上的二维卷积。图16(b)示出一种深度方面卷积。图16(c)示出一种逐点卷积。
在图16(a)中,经典的二维卷积应用于三通道输入图像,并且在三通道中构建卷积结果。卷积结果中的通道数量与输入相同。
在一些示例中,由于不同颜色分量的特性可能没有相似的分布,因此实施一种深度方面卷积(DWC)以在每个颜色空间上执行不同的卷积滤波。在图16(b)中,三个二维卷积滤波器,即橙色、绿色和黄色滤波器,被应用于输入并且在三个独立的空间中产生卷积结果。
深度方面卷积在三个独立的空间中产生结果,而不将输入的特性变换成特征。为了组合来自深度方面运算的独立卷积结果,如图16(c)中所示实施逐点卷积(PWC),例如,将1x1 x3逐点应用于三通道输入,并且将输入聚合到一个通道结果中。
图17为依照本公开一些实现方式的示出挤压激励网(SENet)的框图。挤压激励块与CNN一起使用以形成SENet,它显式地对图像的全局活性与通道之间的相互依赖性进行建模。在图17中,通过全局平均池化操作Fsq将特征图U挤压以形成通道描述符。
Figure BDA0004154030370000271
为了捕捉通道方面依赖性,将通道描述符应用于FC-NN,Fex(·,W)。为了简单和泛化起见,Fex(·,W)可以包括两个全连接层,即维度减少层、激活层,和维度增加层,以便扩大等于U的通道维度。最后的步骤是标量缩放矩阵以及将Fex(·,W)的输出与U混合以形成估计
Figure BDA0004154030370000272
在一些实施例中,本文所公开的系统和方法着眼于开发将神经网络作为环路/后环路滤波器应用以进一步提高当前混合视频编解码的编解码效率的算法。
在一些实施例中,实施一种通过训练预处理数据的改进的训练过程。例如,大量的训练数据典型地被利用来提高模型的泛化。不同数据集合的多样化特性(例如分辨率、位深、YUV采样比)要求神经网络架构的输入层足够灵活,这是难以设计的。可以执行训练数据的预处理,使得神经网络架构的输入层可以被统一设计。此外,良好预处理的训练数据集合可以导致训练过程的更快速和更有效的收敛。具体地,下面的方法被实施来预处理训练数据以提高经训练的网络的效率。
在一些实施例中,碎片生成被用来提高经训练的网络的效率。神经网络的输入可以具有固定的空间分辨率。给定选定的数据集合,诸如具有不同图片或视频帧分辨率(例如720p、1080p)的Div2K,这些重建的图像/视频帧可以被随机地选择和分割成具有一种或多种特定空间分辨率(例如128x128)的多个碎片。具体地,选定的(多个)数据集合中的原始图片/视频可能在被编码和重建之前被上采样或下采样至不同的分辨率。重建的图像/视频帧可以在碎片化分割之前利用不同的量化参数进行分组,并且然后单独地或者联合地馈送至神经网络。分割的碎片可以以或者可以不以随机选定的旋转度或/和翻转方向被扩增。分割的碎片的空间分辨率可以依照数据内容来确定,称为内容感知碎片分割。例如,如果图像/视频帧包含小的对象,则空间分辨率可以相应地更小。
在一些实施例中,位深选择被用来提高经训练的网络的效率。编码器可以在压缩和重建之前使用与原始图片或视频帧的位深不同的内部位深。在碎片生成期间,每个输出碎片中的样点可以仅仅包含整数像素样点值或者分数像素样点值。
如果输出碎片包含分数比特,则每个路径的位深/精度高于原始图片或视频帧。在这里,分数像素样点值指的是碎片信号的最低有效位(LSB)位置处的比特数量。在这种情况下,输出碎片可以包含有噪声样点值。在一个实施例中,在神经网络中可以需要或者可以不需要某些数据处理层,从而可以获得零中心数据或者归一化数据。
如果输出碎片不包含分数比特,则每个碎片的位深/精度与原始图片或视频帧相同。在这种情况下,在神经网络中可以仍然存在或者可以不存在某些数据处理层(例如零中心数据或归一化数据)。在一个实施例中,数据处理层可以被利用来降低模型参数的精度。
在一些实施例中,去块滤波控制被用来提高经训练的网络的效率。去块滤波器典型地被应用来衰减编解码的块边界上的伪影。在碎片生成之前,可以在或者不在应用去块滤波器的情况下获得重建的图像/视频帧。在一个实施例中,去块滤波器可以不被应用到训练数据,从而训练过程可以更好地学习和适应编码器行为,因为训练数据维持了现有的块伪影。在另一个实施例中,去块滤波器可以被应用到训练数据,使得更好的训练数据感知质量可以帮助训练过程收敛到增强的视觉质量。
在一些实施例中,基于神经网络的ALF(NN-ALF)被实施。在一个或多个实施例中,神经网络被应用于ALF。图18为依照本公开一些实现方式的图示出一种解码器侧NN-ALF的框图。块分类通过神经网络,例如FC-NN、CNN和/或二者的组合实现,并且依照局部特性产生滤波器指标。NN-ALF的滤波器系数可以利用分类指标通过神经网络(例如FC-NN、CNN和/或二者的组合)获得。修剪和移位操作也可以应用于NN-ALF的解码器侧的滤波器操作,以便防止溢流,使得滤波的结果可以通过一定数量的比特表示。
在一些实施例中,DWC、PWC和挤压激励模块与ResNet的组合被实施。如上面所描述的,ResNet的变型版本仍然需要数百万字节的参数内存,这对于视频编解码系统而言是负担沉重的。在一个或多个实施例中,深度方面和逐点可分离卷积被应用于SENet。由于SENet可以通过在第一卷积输出之后引入两个FC-NN而减少参数,因而中间参数可以进一步减少。图19为依照本公开一些实现方式的示出DWC、PWC和SENet的组合的架构的框图。DWC和PWC代替了经典的卷积,其后是SQ(挤压模块),SQ通过在空间维度上聚合而构建通道方面特征。
在原始SEnet中,SQ模块在空间域对特征进行平均。均匀平均运算并没有考虑到局部特性。在一个或多个实施例中,用于SQ模块的加权和非均匀矩阵被应用。用于SQ模块的矩阵可以是来自神经网络(例如FC-NN、CNN和/或LSTM)的训练结果。用于SQ模块的矩阵可以是一种预定义简单逻辑。一个示例是,矩阵包含运算区域的边界与像素位置之间的几何距离。运算区域可以是图片帧中的CU、CTU和/或贴片(tile)。
在一些实施例中,用于层次特征提取的ResNet和PWC的组合被实施。如上面所讨论的,ResNet揭示层次特征沿着标注的残差块的传播可以提高SISR的质量。另一方面,逐点卷积(PWC)强调了单个像素与其邻居的相关性。在一个或多个实施例中,ResNet被应用于PWC。图20为依照本公开一些实现方式的示出ResNet与PWC的聚合的框图。聚合的ResNet从输入图像中提取层次特征。PWC模块组合空间特征以增强输入图像的质量。
在一些实施例中,一种用于环路滤波器的修改的ESA被实施。ESA用于通过引入具有卷积和上采样模块的空间池化而解决SISR问题。对于环路滤波器,像素与其邻居之间的相关性可以起着比全局特性更为关键的作用。在一个或多个实施例中,针对视频编解码中的环路滤波,ESA的上采样模块用非线性激活模块代替。
在一个或多个实施例中,针对视频编解码中的环路滤波,去除ESA的上采样模块。
在一个或多个实施例中,针对视频编解码的环路滤波,去除ESA的最后的非线性激活层。
考虑了这里公开的本发明的说明书和实践后,本发明的其他示例对于本领域技术人员来说将是清楚明白的。本申请意在覆盖遵循本发明的一般原理且包括进入本领域已知或惯例实践范围内的与本公开偏离的本发明的任何变型、用途或调整。预期本说明书和示例被认为仅仅是示例性的。应当领会,本发明并不限于上面所描述且在附图中图示出的精确示例,并且在不脱离其范围的情况下,可以做出各种不同的修改和变化。
在一些实施例中,用于联合处理亮度和色度分量的基于NN的环路滤波器被实施。常规的基于NN的环路滤波器的目的主要在于提高重建的亮度样点的质量。然而,由于自然内容通常包含三个颜色分量这一事实,各种不同的基于NN的环路滤波方法在本文中被实施,其可以在亮度和色度分量二者上联合作用。首先,最直接的解决方案是将亮度分量的相同网络结构重新用于两个色度分量。图21为依照本公开一些实现方式的图示出一种基于ResNet结构的网络架构的框图,该网络架构使用一个单一网络独立地处理亮度和色度分量。如图21所示,图像/视频帧的Y、U和V通道被拆分成相等尺寸(例如64x64)的碎片,并且被单独地馈送至网络。在这种情况下,输入信号(即亮度和色度分量)被网络同等地处理。
在第二种方法中,为了更好地利用亮度与色度分量之间的相关性,亮度和色度分量被串接并且联合馈送至网络。图22示出了当假设亮度和色度分量具有相同的分辨率(例如RGB或YUV444)而应用这样的方法时的一个示例。图22为依照本公开一些实现方式的图示出一种网络架构的框图,该网络架构在亮度和色度分量尺寸相等时使用一个单一网络联合地处理亮度和色度分量。可替换地,当亮度和色度分量具有不同的分辨率时,该方法首先通过上采样将色度分量的样点转换成与亮度分量处于相同分辨率下。然后,上采样的色度分量的样点与亮度分量的样点一起可以被串接和馈送到卷积网络,例如ResNet。相应地,在应用基于NN的环路滤波器之后,输出色度样点将被下采样回到其原始分辨率。
为了对色度分量进行上采样,可以应用不同的方法。在一个实施例中,简单复制被用来进行上采样和下采样操作。具体地,通过这种方法,上采样的色度平面中的一个2x2邻域内的每个色度样点直接从更低分辨率平面中的相应同位的色度样点复制。相应地,在基于NN的环路滤波器结尾,每个2x2色度区域中的仅仅一个色度样点(例如左上样点)将被保留以形成原始分辨率下的色度平面。
在另一个实施例中,为了进一步提高性能,引入滤波操作以执行色度平面的上采样和下采样。为了实现不同的性能/复杂度折中,可以应用不同类型的上采样和下采样滤波器,例如高斯滤波器、Lanczos滤波器、双边滤波器等等。在基于滤波器的方法中,滤波器系数对于上采样和下采样两个过程而言是固定的。考虑到不同视频内容的特性变化,这可能不是最优的。为了解决这个问题,在一个实施例中,上采样和下采样过程作为网络的部分而被包括。图23为依照本公开一些实现方式的图示出联合亮度色度ResNet的网络架构的框图,在该网络架构中,上采样和下采样被卷积模块代替。具体地,如图23所示,2个卷积被用来代替原始固定的上采样和下采样操作。具体地,通过这样的方法,色度样点首先被一个卷积模块处理,该卷积模块将一个MxM色度块转换至其相应亮度块的相同分辨率(例如,4:2:0色度格式被应用时的2Mx2M)。然后,两个色度平面和亮度平面被串接在一起以生成一个3x2Mx2M输入特征输入。如图21所示,残差块(Resblock或RB)是ResNet的基本单元,其通常包含2个卷积层和一个激活模块,例如ReLU。
在一些实施例中,具有输入QP信息的基于NN的环路滤波器被实施。在上面的方法中,一个相同的网络结构被用来对利用不同量化参数进行编解码的重建的视频信号进行滤波。同时,在通常情况下,网络参数通过最小化真实图片与重建图片之间的目标损失函数、基于大量的训练而被训练。另一方面,如图2所示,为了降低信令开销,预测残差(例如图2所示的残差块)(即原始信号与帧内/帧间预测信号之间的差异)在被用信号从编码器发送到解码器之前被量化。在HEVC和VVC二者中,量化参数(QP)与实际量化步长Qstep之间的关系为Qstep=2(QP-4)/6。因此,给定量化步长,一个预测残差样点通过下式量化:
Figure BDA0004154030370000311
在解码器处,重建的残差样点通过将量化步长与接收自比特流的量化系数相乘而导出,其被示为:
pRec=round(pLevel·Qstep)=round(pLevel·2(QP-4)/6) (6)
如等式(5)和(6)所示,由于量化/去量化过程的原因,不同的QP值导致不同的重建视频质量,这可能显著影响导出的网络的参数。为了进一步提高基于NN的环路滤波的效率,下文中实施了若干方法和系统,这些方法和系统利用QP信息作为网络输入,使得一个单一网络可以更好地适应具有不同质量的重建视频信号。
在一个实施例中,归一化的QP值被用作一个附加的网络输入。使用传统的ResNet作为一个示例,图24示出了当应用这样的方法时的一个示例。图24为依照本公开一些实现方式的图示出一种具有输入QP图的修改的ResNet架构的框图。如图24所示,修改的ResNet架构具有两个输入:重建的样点和QP值(QP图)。具体地,重建样点平面和QP图平面中的样点值和QP值二者都在被串接层连接之前被归一化到[0,1]范围。更详细地,两个平面的位置(x,y)中的每个重建样点值P(x,y)和QP值通过下面的等式归一化:
Pnorm(x,y)=P(x,y)/Pmax
QPnorm(x,y)=QP/QPmax (7)
其中Pmax为样点值的最大值,其等于,Pmax=2bitdepth-1,其中bitdepth是内部编解码位深,以及QPmax为允许的输入QP值的最大值,其在HEVC中等于51,在VVC中等于63。
在本公开的另一个实施例中,代替使用QP值作为网络的输入的是,将QP步长用作输入。更具体地,当应用这样的方法时,网络的QP图平面中的输入值被计算为:
Figure BDA0004154030370000321
其中
Figure BDA0004154030370000322
为QP步长的归一化值,并且/>
Figure BDA0004154030370000323
为允许的QP步长值的最大值,其被计算为:
Figure BDA0004154030370000324
在上面的方法中,在设计NN架构时仅仅考虑了一个亮度分量的QP值。由于亮度和色度分量被允许使用不同的QP值,因此理论上在基于NN的环路滤波器过程中对于亮度和色度二者使用相同的QP值是不可行的。基于这样的考虑,在本公开的一个实施例中,单独的QP图(每个与一个相应的颜色平面组合)被用作网络结构的输入。使用联合亮度色度NN结构作为一个示例,图25示出了当应用这样的方法时的NN架构。图25为依照本公开一些实现方式的图示出分别具有亮度和色度分量的独立QP图输入的联合亮度色度ResNet架构的框图。如图25所示,三种不同的QP/QP步长图通过使用与每个颜色分量关联的相应QP/QP步长的值而生成,其然后被归一化到[0,1]范围并且与颜色分量的相应样点平面串接。此外,在结构的结尾,不同的卷积和激活模块的集合被单独地应用到三个分量,以将残差恢复到每个分量的原始分辨率,并且通过将颜色分量的原始重建样点相加而生成输出重建样点。
在一些实施例中,具有在线或离线训练的基于NN的环路滤波被实施。对于视频/图像压缩而言,在训练和推理过程二者中,真实数据在编码器侧总是可用的。该益处可以导致不同的可选训练模式。为了实现不同的性能/复杂度折中,以下两种方法被实施以将网络参数从编码器通知到解码器。
在一个实施例中,使用在线训练,其中从一个重建的图像/视频帧训练的模型参数可以用于相同图像/视频帧的推理。在这种情况下,训练的模型参数可能需要显式地被用信号发送至解码器。并且,整个训练过程需要针对每个编码的图像/视频帧继续进行,这可以被认为是在线训练。在一个示例中,当神经网络模型用作后处理工具以便在视频编解码器之后增强图像/视频质量时,可以使用在线训练模式。
在另一个实施例中,使用离线训练,其中从重建的图像/视频帧训练的模型参数可以用于相同或不同图像/视频帧的推理。在这种情况下,模型参数可以被离线训练和保存,并且在不同的未来情况下根据需要加载。在一个示例中,当神经网络模型用作环路滤波工具时,可以使用离线训练模式,允许模型推理过程之后具有增强的质量的图像/视频帧用作参考图片/帧。
在一些实施例中,在设计基于NN的环路滤波器时,其他考虑方面进一步在下文中被描述。
在第一实施例中,深度选择被实施。卷积层的数量可以被选择,以反映不同的考虑。对于在线训练而言,可能需要用信号发送训练模型参数,并且希望卷积层的数量少以限制信令开销。此外,少量的卷积层更容易被训练。在这种情况下,过拟合可能不是问题所在。如果已知输入数据的空间分辨率是微不足道的(平坦区域或者微小的变化)或者少量的数据,那么希望卷积层的数量少,从而模型尺寸更小并且对于加载和推理更高效。
在第二实施例中,激活层选择被实施。如果最初选择了Relu函数,则可以使用Relu函数的替代版本。例如,如果在数据预处理期间输入数据以零为中心,则一些输入数据可以具有负输入。为了避免死Relu(例如由于零梯度的原因未被激活),可以使用诸如泄漏Relu之类的Relu函数的某些变型。
在第三实施例中,质量度量被实施。与PSNR相比,如今,几种诸如结构相似性(SSIM)、视频多方法评估融合(VMAF)等等之类的感知视频质量评估度量被报道,其可以更好地表示视觉质量。在一个实施例中,PSNR和SSIM/VMAF可以被组合以用于本文公开的神经网络模型的损失函数设计。在一个实施例中,PSNR可以用于训练的第一阶段,并且SSIM、MS-SSIM、VMAF或者其他感知评价度量可以用于训练的第二阶段。并且,第一和第二阶段可以或者可以不针对整个训练过程被重复。在另一个实施例中,可以根据特定的场景使用PSNR和SSIM(或者MS-SSIM、VMAF)。例如,可以在开始时期(epoch)使用PSNR以快速地降低训练损失,并且可以在基于PSNR的训练损失相对稳定的其余时期使用SSIM。
在第四实施例中,数据扩增被实施。训练数据可以以不同的方式被扩增,以便丰富数据变化以用于更好的模型泛化。经训练的神经网络模型完全依赖于训练数据。在一些示例中,数据扩增可以通过诸如翻转、旋转、按比例增大或缩小、裁剪、平移和/或动态添加高斯噪声之类的传统变换而实现。在一些示例中,数据扩增可以通过在线或离线扩增而实现。对于相对更小的数据集合而言,离线扩增可能是所希望的。对于相对更大的数据集合而言,在线扩增可能是所希望的,诸如对于不同批次而言。在一些实例中,在线扩增在GPU上加速是更好的。
在第五实施例中,收敛粒度控制被实施。为了实现良好且也快速的训练过程,学习速率是控制收敛粒度的一个重要的超参数。
从模式参数的角度来看,一种选定的优化器(例如Adam)可以被用来保持用于每个网络参数的学习速率,并且随着学习的展开而单独地被调整。选定优化器(例如Adam)的学习速率可以依照训练的图像/视频帧的QP来设置。在更高QP的情况下,由于开始时损失更大的原因,学习速率值可以使用更高的值。选定优化器(例如Adam)的学习速率可以依照训练的图像/视频帧的内容来设置。在琐碎的图像/帧内容的情况下,可以使用更高的学习速率值。Adam的β1和β2可以依照训练的图像/视频帧的内容来设置。例如,如果训练的图像/视频帧的内容包含更多的细节/边缘/运动,则可以将Adam的β1和β2设置为更低的值(例如从0.9到0.8)。Adam的β1和β2可以依照训练的图像/视频帧内的梯度分布的稀疏性来设置。
从训练迭代的角度来看,可以基于迭代/时期的数量调节选定优化器(例如Adam)的学习速率。例如,在前几个时期,学习速率可以被设置为更大的值,使得初始训练损失可以快速地降低。而在后几个时期,学习速率可以被设置为更小的值。
在第六实施例中,过拟合控制被实施。在大多数情况下,模型泛化是训练过程的优选结果。在这种情况下,可以应用不同的正则化方法。例如,为了防止过拟合,一些项被有意地添加到损失函数中,并且这些项可以是L1或L2正则化。再例如,退出方法可以被用来随机地将一些神经元设置为零,使得经训练的网络可以具有冗余(鲁棒)表示。退出概率可以依照图像/视频帧内容来设置。在一些情况下,不需要模型泛化,因为训练的模型预期在小范围内被应用。例如,对于在线训练而言,训练的模型参数被期望不时地更新,并且每次更新被应用于特定的图像/视频帧。在这种情况下,过拟合是所希望的,以便最小化图像编解码残差。在一些情况下,可以应用上面两种控制方法的混合组合。例如,在训练开始时,数据拟合是所希望的,并且那些过拟合避免方法不起作用。在训练的后面部分,那些过拟合避免方法被启用。
在第七实施例中,重叠控制被实施。为了减轻编解码的块边界处的伪影或不连续性,在推理过程中,将每个图像/视频帧分割成多个重叠图像/帧块(例如具有与CTU尺寸一样的空间分辨率)。重叠尺寸可以是预定义范围(例如每侧4-12像素),而为每个图像/帧选择的特定重叠尺寸可以取决于图像/帧内容或者块的宽度和高度比或者图像/帧宽度和高度。
在第八实施例中,标志信令被实施。当在每个分割的图像/帧块上应用推理过程时,输出可能具有更好或者更差的质量(例如PSNR、VMAF或SSIM值)。指示该块在解码器侧是否需要推理过程的标志被用信号发送至解码器。为了在图像/帧的大多数分割的块将标志打开或关闭的情况下节省信令开销,也用信号发送另一个或两个帧/图像级别标志。例如,如果指示打开的帧/图像级别标志等于1,则表示所有块都将应用推理。而如果指示关闭的帧/图像级别标志等于1,则表示所有块都将不应用推理。在任一情况下,块级别标志都可能不被发送以节省信令。
在第九实施例中,偏移控制被实施。在推理过程期间,如果模型参数被表示为浮点(非整数)值,则每个图像/帧中的处理的样点也可以是浮点值。为了表示整数样点值,需要取整过程。在这种情况下,需要取整过程中使用的偏移值。该偏移值可以在编码的比特流中用信号发送或者不用信号发送。在一些示例中,偏移值可以是固定值,诸如0.5。在一些示例中,偏移值可以在编码器侧利用不同的分辨率值确定。
最后但同样重要的是,虽然在上面的描述中ResNet用作用于解释的示例,但是本公开中的系统和方法可以自由应用到不同的基于NN的网络结构。
图26为依照本公开一些实现方式的图示出一种使用基于神经网络的环路滤波器对视频信号进行解码的示例性过程2600的流程图。
视频解码器30(如图3所示)从视频比特流中重建包括亮度分量、第一色度分量和第二色度分量的图片帧(2610)。
视频解码器30通过以下方式将基于经训练的神经网络的环路滤波器应用到重建的图片帧(2620):将第一和第二色度分量中的至少一个分量的样点与亮度分量串接以创建串接的样点(2620-2);以及使用卷积神经网络处理串接的样点(2620-3)。
在一些实施例中,将基于经训练的神经网络的环路滤波器应用到重建的图片帧(2620)进一步包括:当第一和第二色度分量中的至少一个分量的第一分辨率不同于亮度分量的第二分辨率时,将第一和第二色度分量中的至少一个分量的样点的第一分辨率转换成亮度分量的样点的第二分辨率(2620-1);以及将卷积神经网络处理的第一和第二色度分量中的至少一个分量的样点从第二分辨率重新转换回第一分辨率(2620-4)。
在一些实施例中,将第一和第二色度分量中的至少一个分量的样点的第一分辨率转换成亮度分量的样点的第二分辨率(2620-1)包括:将第一和第二色度分量中的至少一个分量的样点从第一分辨率上采样为亮度分量的样点的第二分辨率,并且其中将卷积神经网络处理的第一和第二色度分量中的至少一个分量的样点从第二分辨率重新转换回第一分辨率(2620-4)包括:将卷积神经网络处理的第一和第二色度分量中的至少一个分量的样点从第二分辨率下采样回第一分辨率。
应当理解,权利要求书的范围并不限于所公开的实现方式的具体示例,并且修改和其他实现方式预期将卷积神经网络处理的第一和第二色度分量中的至少一个分量的样点从第二分辨率重新转换回第一分辨率。
在一些实施例中,将基于经训练的神经网络的环路滤波器应用到重建的图片帧(2620)进一步包括:将预测残差的量化参数(QP)信息作为附加输入馈送至卷积网络。在一些实施例中,QP信息是归一化QP值。
在一些实施例中,QP信息是QP步长。
在一些实施例中,QP信息是QP图,并且每个QP图分别与亮度分量、第一色度分量和第二色度分量的相应颜色平面组合。
在一些实施例中,基于神经网络的环路滤波器被训练以通过以下方式获得模型参数:减小来自卷积神经网络的输出重建图片帧与相应的真实图片帧之间的差异。在一些实施例中,相应的真实图片帧在编码器处可用。在一些实施例中,模型参数显式地从编码器用信号发送至解码器。
在一些实施例中,基于神经网络的环路滤波器针对每个编码的图片帧被训练并且频繁地被更新。
在一些实施例中,基于神经网络的环路滤波器在过拟合启用的情况下针对每个编码的图片帧被训练并且频繁地被更新。
在一些实施例中,基于神经网络的环路滤波器被训练并且离线保存以备下一次使用。
在一些实施例中,基于神经网络的环路滤波器在过拟合被禁用的情况下被训练并且离线保存以备下一次使用。
在一些实施例中,转换和重新转换由卷积模块处理。
在一些实施例中,上采样和下采样由卷积模块处理。
在一些实施例中,在应用去块滤波器的情况下从重建的图片帧训练数据训练基于神经网络的环路滤波器。
在一些实施例中,在不应用去块滤波器的情况下从重建的图片帧训练数据训练基于神经网络的环路滤波器。
在一些实施例中,将基于经训练的神经网络的环路滤波器应用到重建的图片帧(2620)进一步包括:将重建的图片帧分割成多个重叠块,其中重叠块的重叠尺寸依照重建的图片帧的内容、重叠块的宽高比以及重建的图片帧的宽高比中的一个或多个进行选择。
在一些实施例中,将基于经训练的神经网络的环路滤波器应用到重建的图片帧(2620)进一步包括:在卷积神经网络的输出处通过应用偏移值对样点值取整,其中偏移值为固定值或者从编码器确定且用信号发送的值。
在一些实施例中,卷积神经网络为ResNet。
另外的实施例还包括在各种不同的其他实施例中组合或者以其他方式重新布置的上述实施例的各种不同的子集。
在一个或多个示例中,所描述的功能可以以硬件、软件、固件或者其任意组合实现。如果以软件实现,则这些功能可以作为一个或多个指令或代码存储在计算机可读介质之上或者通过计算机可读介质传输,并且由基于硬件的处理单元执行。计算机可读介质可以包括与诸如数据存储介质之类的有形介质相应的计算机可读存储介质,或者通信介质,通信介质包括例如依照通信协议促进计算机程序从一个地方转输到另一个地方的任意介质。以此方式,计算机可读介质通常可以相应于(1)非暂时性的有形计算机可读存储介质或者(2)诸如信号或载波之类的通信介质。数据存储介质可以是可以被一个或多个计算机或者一个或多个处理器访问以取回用于实现本申请中描述的实现方式的指令、代码和/或数据结构的任何可用的介质。计算机程序产品可以包括计算机可读介质。
本文对于实现方式的描述中使用的术语仅仅出于描述特定实现方式的目的,并不意在限制权利要求书的范围。当用于实现方式的描述和所附权利要求书中时,单数形式“一”、“一个”和“这个/那个”预期也包括复数形式,除非上下文另有明确说明。也应当理解,如本文中使用的术语“和/或”是指并且涵盖关联的列出的项目中的一个或多个的任意和所有可能的组合。应当进一步理解,当在本说明书中使用时,术语“包括”和/或“包含”明确规定叙述的特征、元件和/或部件的存在,但是没有排除一个或多个其他特征、元件、部件和/或其群组的存在或者附加。
还应当理解,尽管措词第一、第二等等可能在本文中用来描述各种不同的元件,但是这些元件不应当受这些措词限制。这些措词仅仅用来将一个元件与另一个元件区分开来。例如,第一电极可以称为第二电极,并且类似地,第二电极可以称为第一电极,而不脱离实现方式的范围。第一电极和第二电极二者都是电极,但是它们不是同一电极。
贯穿本说明书,以单数或复数方式对于“一个示例”、“某个示例”、“示例性示例”等等的引用意味着关于某个示例描述的一个或多个特定特征、结构或特性包括在本公开的至少一个示例中。因此,贯穿本说明书在不同地方以单数或复数出现短语“在一个示例中”、“在某个示例中”、“在某个示例性示例中”等等不一定都指的是同一个示例。此外,一个或多个示例中的特定特征、结构或特性可以包括以任何适当的方式组合。
出于图示和描述的目的给出了本申请的说明,其并不预期是详尽无遗的或者限于所公开的形式的发明。许多修改、变型和替代实现方式对于受益于前面的描述和关联附图中给出的教导的本领域普通技术人员来说将是清楚明白的。实施例被选择和描述以便最佳地解释本发明的原理、实际的应用,并且使得本领域其他技术人员能够就各种不同的实现方式理解本发明,且最佳地利用所基于的原理和适合设想的特定用途的具有不同修改的不同实现方式。因此,应当理解,权利要求书的范围不应当限于所公开的实现方式的具体示例,并且修改和其他实现方式预期包括在所附权利要求书的范围之内。

Claims (22)

1.一种对视频数据进行解码的方法,包括:
从视频比特流中重建图片帧,该图片帧包括亮度分量、第一色度分量和第二色度分量,以及
通过以下方式将基于经训练的神经网络的环路滤波器应用到重建的图片帧:
将所述第一色度分量和所述第二色度分量中的至少一个分量的样点与所述亮度分量串接起来以创建串接的样点;以及
使用卷积神经网络处理所串接的样点。
2.依照权利要求1所述的方法,其中将基于经训练的神经网络的环路滤波器应用到重建的图片帧进一步包括:
当所述第一色度分量和所述第二色度分量中的所述至少一个分量的第一分辨率不同于所述亮度分量的第二分辨率时,将所述第一色度分量和所述第二色度分量中的所述至少一个分量的样点的所述第一分辨率转换成所述亮度分量的样点的所述第二分辨率;以及
将所述卷积神经网络处理的所述第一色度分量和所述第二色度分量中的所述至少一个分量的样点从所述第二分辨率重新转换回所述第一分辨率。
3.依照权利要求2所述的方法,其中将所述第一色度分量和所述第二色度分量中的所述至少一个分量的样点的所述第一分辨率转换成所述亮度分量的样点的所述第二分辨率包括:
将所述第一色度分量和所述第二色度分量中的至少一个分量的样点从所述第一分辨率上采样为所述亮度分量的样点的所述第二分辨率,并且
其中将所述卷积神经网络处理的所述第一色度分量和所述第二色度分量中的所述至少一个分量的样点从所述第二分辨率重新转换回所述第一分辨率包括:
将所述卷积神经网络处理的所述第一色度分量和所述第二色度分量中的所述至少一个分量的样点从所述第二分辨率下采样回所述第一分辨率。
4.依照权利要求1所述的方法,其中将所述基于经训练的神经网络的环路滤波器应用到所述重建的图片帧进一步包括:
将预测残差的量化参数(QP)信息作为附加输入馈送至所述卷积网络。
5.依照权利要求4所述的方法,其中所述QP信息是归一化QP值。
6.依照权利要求4所述的方法,其中所述QP信息是QP步长。
7.依照权利要求4所述的方法,其中所述QP信息是QP图,每个QP图分别与所述亮度分量、所述第一色度分量和所述第二色度分量的相应颜色平面组合。
8.依照权利要求1所述的方法,其中基于所述神经网络的环路滤波器被训练以通过以下方式获得模型参数:减小来自所述卷积神经网络的输出重建图片帧与相应的真实图片帧之间的差异。
9.依照权利要求8所述的方法,其中所述相应的真实图片帧在编码器处可用。
10.依照权利要求9所述的方法,其中所述模型参数显式地从所述编码器用信号发送至解码器。
11.依照权利要求8所述的方法,其中所述基于神经网络的环路滤波器针对每个编码的图片帧被训练并且频繁地被更新。
12.依照权利要求8所述的方法,其中所述基于神经网络的环路滤波器针对每个编码的图片帧在过拟合启用的情况下被训练并且频繁地被更新。
13.依照权利要求8所述的方法,其中所述基于神经网络的环路滤波器被训练并且离线保存以备下一次使用。
14.依照权利要求8所述的方法,其中所述基于神经网络的环路滤波器在过拟合被禁用的情况下被训练并且离线保存以备下一次使用。
15.依照权利要求2所述的方法,其中所述转换和所述重新转换由卷积模块处理。
16.依照权利要求1所述的方法,其中在应用去块滤波器的情况下从重建的图片帧训练数据训练所述基于神经网络的环路滤波器。
17.依照权利要求1所述的方法,其中在不应用去块滤波器的情况下从重建的图片帧训练数据训练所述基于神经网络的环路滤波器。
18.依照权利要求1所述的方法,其中将所述基于经训练的神经网络的环路滤波器应用到所述重建的图片帧进一步包括:将所述重建的图片帧分割成多个重叠块,其中所述重叠块的重叠尺寸依照所述重建的图片帧的内容、所述重叠块的宽高比以及所述重建的图片帧的宽高比中的一个或多个进行选择。
19.依照权利要求1所述的方法,其中将所述基于经训练的神经网络的环路滤波器应用到所述重建的图片帧进一步包括:在所述神经网络的输出处通过应用偏移值对样点值取整,其中所述偏移值为固定值或者从编码器确定且用信号发送的值。
20.依照权利要求1所述的方法,其中所述卷积神经网络为ResNet。
21.一种电子装置,包括:
一个或多个处理单元;
耦合到所述一个或多个处理单元的存储器;以及
存储在该存储器中的多个程序,所述程序在由所述一个或多个处理单元执行时,使得所述电子装置执行权利要求1-20的方法。
22.一种非暂时性计算机可读存储介质,存储了多个程序以供具有一个或多个处理单元的电子装置执行,其中所述多个程序在由所述一个或多个处理单元执行时,使得所述电子装置执行权利要求1-20所述的方法。
CN202180067345.7A 2020-10-01 2021-09-30 具有基于神经网络的环路滤波的视频编解码 Pending CN116250235A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063086538P 2020-10-01 2020-10-01
US63/086538 2020-10-01
PCT/US2021/052915 WO2022072659A1 (en) 2020-10-01 2021-09-30 Video coding with neural network based in-loop filtering

Publications (1)

Publication Number Publication Date
CN116250235A true CN116250235A (zh) 2023-06-09

Family

ID=80950961

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180067345.7A Pending CN116250235A (zh) 2020-10-01 2021-09-30 具有基于神经网络的环路滤波的视频编解码

Country Status (4)

Country Link
US (1) US20230319314A1 (zh)
EP (1) EP4222968A1 (zh)
CN (1) CN116250235A (zh)
WO (1) WO2022072659A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023132765A1 (en) * 2022-01-04 2023-07-13 Telefonaktiebolaget Lm Ericsson (Publ) Filtering for image encoding and decoding
WO2023197230A1 (zh) * 2022-04-13 2023-10-19 Oppo广东移动通信有限公司 滤波方法、编码器、解码器以及存储介质
CN115034375B (zh) * 2022-08-09 2023-06-27 北京灵汐科技有限公司 数据处理方法及装置、神经网络模型、设备、介质
WO2024077575A1 (zh) * 2022-10-13 2024-04-18 Oppo广东移动通信有限公司 基于神经网络的环路滤波、视频编解码方法、装置和系统
WO2024077740A1 (en) * 2022-10-13 2024-04-18 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Convolutional neural network for in-loop filter of video encoder based on depth-wise separable convolution
WO2024118071A1 (en) * 2022-11-30 2024-06-06 Zeku, Inc. Reduced power consumption in machine learning models
CN116341640B (zh) * 2023-05-29 2023-08-11 深圳须弥云图空间科技有限公司 文本处理模型训练方法及装置
CN117834925A (zh) * 2023-12-27 2024-04-05 北京中星天视科技有限公司 压缩后视频质量增强方法、装置、电子设备和可读介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3451670A1 (en) * 2017-08-28 2019-03-06 Thomson Licensing Method and apparatus for filtering with mode-aware deep learning
US10643306B2 (en) * 2017-10-11 2020-05-05 Qualcomm Incoporated Image signal processor for processing images
CN111133756B (zh) * 2017-10-12 2022-04-19 联发科技股份有限公司 用于视频编码的神经网络方法和装置
US10999606B2 (en) * 2019-01-08 2021-05-04 Intel Corporation Method and system of neural network loop filtering for video coding
US11516512B2 (en) * 2019-03-04 2022-11-29 Alibaba Group Holding Limited Method and system for processing video content

Also Published As

Publication number Publication date
US20230319314A1 (en) 2023-10-05
EP4222968A1 (en) 2023-08-09
WO2022072659A1 (en) 2022-04-07

Similar Documents

Publication Publication Date Title
CN116250235A (zh) 具有基于神经网络的环路滤波的视频编解码
TWI782904B (zh) 合併用於視訊寫碼之用於多類別區塊之濾波器
CN114339221B (zh) 用于视频编解码的基于卷积神经网络的滤波器
KR20240068078A (ko) 모드-인식 딥 러닝을 갖는 필터링을 위한 방법 및 장치
US20230069953A1 (en) Learned downsampling based cnn filter for image and video coding using learned downsampling feature
US9521412B2 (en) Method and device for determining residual data for encoding or decoding at least part of an image
TW202228081A (zh) 用於從位元流重建圖像及用於將圖像編碼到位元流中的方法及裝置、電腦程式產品
US20230051066A1 (en) Partitioning Information In Neural Network-Based Video Coding
US20230076920A1 (en) Global skip connection based convolutional neural network (cnn) filter for image and video coding
JP2023548507A (ja) セグメンテーション情報のシグナリングを用いた復号化
CN115037948A (zh) 基于神经网络的具有残差缩放的视频编解码环路滤波器
US20230239500A1 (en) Intra Prediction Method and Apparatus
CN116965029A (zh) 使用卷积神经网络对图像进行译码的装置和方法
CN114845101A (zh) 用于视频编解码的系统和方法
CN116349225A (zh) 用于逐块图像压缩中的去块的内容自适应在线训练方法和装置
US20240163488A1 (en) Wavelet transform domain convolutional neural network based in-loop filtering for video coding
EP3957072A1 (en) Methods and apparatus of video coding using prediction refinement with optical flow
CN118077201A (zh) 用于视频处理的方法、设备和介质
US20240236325A9 (en) Super resolution downsampling
US20240137519A1 (en) Super resolution downsampling
WO2024078599A1 (en) Method, apparatus, and medium for video processing
US20240223787A1 (en) Systems and methods for compressing feature data in coding of multi-dimensional data
US20240137517A1 (en) Super Resolution Position and Network Structure
WO2023092404A1 (zh) 视频编解码方法、设备、系统、及存储介质
WO2023149367A1 (en) Systems and methods for improving object detection in compressed feature data in coding of multi-dimensional data

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