CN117834881A - 视频帧的滤波方法、视频帧的编码方法及装置 - Google Patents
视频帧的滤波方法、视频帧的编码方法及装置 Download PDFInfo
- Publication number
- CN117834881A CN117834881A CN202410010994.9A CN202410010994A CN117834881A CN 117834881 A CN117834881 A CN 117834881A CN 202410010994 A CN202410010994 A CN 202410010994A CN 117834881 A CN117834881 A CN 117834881A
- Authority
- CN
- China
- Prior art keywords
- image block
- video frame
- motion
- motion compensation
- filtering
- 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
Links
- 238000001914 filtration Methods 0.000 title claims abstract description 246
- 238000000034 method Methods 0.000 title claims abstract description 122
- 239000013598 vector Substances 0.000 claims abstract description 152
- 230000002123 temporal effect Effects 0.000 claims abstract description 98
- 230000015654 memory Effects 0.000 claims description 17
- 238000006073 displacement reaction Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 abstract description 20
- 238000012545 processing Methods 0.000 abstract description 17
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 16
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 230000000903 blocking effect Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000002146 bilateral effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/31—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开关于一种视频帧的滤波方法、视频帧的编码方法及装置,涉及视频处理技术领域,该方法包括:对于视频帧的任意一个图像块,基于该图像块的运动矢量和该图像块的至少一个相邻图像块的运动矢量,对该图像块进行运动补偿,得到该图像块对应的运动补偿图像块,以便基于该运动补偿图像块来实现针对视频帧的时域滤波。由于上述方式在生成某一图像块的运动补偿图像块时,结合了该图像块的相邻图像块的运动矢量,因此,充分考虑了相邻图像块之间的运动连续性,可以缓解运动补偿图像块的块效应,进而有效改善视频帧的滤波效果。
Description
技术领域
本公开涉及视频处理技术领域,尤其涉及一种视频帧的滤波方法、视频帧的编码方法及装置。
背景技术
随着互联网技术的快速发展,视频数据量呈指数级增长,为了适应该增长造成的存储和传输压力,通常会对视频进行编码压缩。
相关技术中,采用基于运动估计补偿的时域滤波方法(Motion CompensatedTemporal Filter,MCTF)对视频进行编码前的滤波处理,以提升视频编码效率。该方法采用经典的基于块的运动估计和运动补偿方式,利用视频的时域相关性对视频帧进行时域滤波,来减少视频帧参考过程中产生的时域冗余信息。
然而,上述方法中,通过经典的基于块的运动估计和运动补偿方式生成的运动补偿帧的边缘容易存在块效应(Blocking Artifacts),即块边界变化不连续,导致时域滤波效果较差。
发明内容
本公开提供一种视频帧的滤波方法、视频帧的编码方法及装置,能够有效改善视频帧的滤波效果。本公开的技术方案如下:
根据本公开实施例的第一方面,提供了一种视频帧的滤波方法,所述方法包括:
基于视频帧中多个图像块的运动矢量,对所述视频帧中每个图像块进行运动补偿,得所述视频帧中每个图像块对应的运动补偿图像块,其中,所述图像块对应的运动补偿图像块基于所述图像块的运动矢量和所述图像块的至少一个相邻图像块的运动矢量,对所述图像块进行运动补偿得到;
基于所述视频帧中每个图像块对应的运动补偿图像块,对所述视频帧进行时域滤波,得到滤波后的所述视频帧。
在上述方法中,对于视频帧的任意一个图像块,基于该图像块的运动矢量和该图像块的至少一个相邻图像块的运动矢量,对该图像块进行运动补偿,得到该图像块对应的运动补偿图像块,以便基于该运动补偿图像块来实现针对视频帧的时域滤波。由于上述方式在生成某一图像块的运动补偿图像块时,结合了该图像块的相邻图像块的运动矢量,因此,充分考虑了相邻图像块之间的运动连续性,可以缓解运动补偿图像块的块效应,进而有效改善视频帧的滤波效果。
在一些实施例中,所述方法还包括:
基于第一图像块在所述视频帧中的位置,从所述视频帧中确定第二图像块,所述第二图像块覆盖所述第一图像块且所述第二图像块的尺寸大于所述第一图像块的尺寸,所述第一图像块是指所述视频帧中任意一个图像块;
基于所述第二图像块和所述视频帧的参考帧,对所述第二图像块进行运动估计,将所述第二图像块的运动矢量作为所述第一图像块的运动矢量,所述视频帧与所述参考帧在时域上具备关联关系。
在一些实施例中,所述基于所述第二图像块和所述视频帧的参考帧,对所述第二图像块进行运动估计,将所述第二图像块的运动矢量作为所述第一图像块的运动矢量,包括:
以所述第二图像块为搜索单位,在所述参考帧中以分像素精度进行搜索,得到所述第二图像块对应的参考图像块;
基于所述第二图像块和所述参考图像块之间的位移,确定所述第二图像块的运动矢量,将所述第二图像块的运动矢量作为所述第一图像块的运动矢量。
在一些实施例中,所述基于视频帧中多个图像块的运动矢量,对所述视频帧中每个图像块进行运动补偿,得所述视频帧中每个图像块对应的运动补偿图像块,包括:
基于第一图像块在所述视频帧中的位置,从所述视频帧中确定与所述第一图像块相邻的至少一个第三图像块,所述第一图像块是指所述视频帧中任意一个图像块;
基于所述第一图像块的运动矢量和所述至少一个第三图像块的运动矢量,对所述第一图像块进行运动补偿,得到所述第一图像块对应的第一运动补偿图像块。
在一些实施例中,所述基于所述第一图像块的运动矢量和所述至少一个第三图像块的运动矢量,对所述第一图像块进行运动补偿,得到所述第一图像块对应的第一运动补偿图像块,包括:
基于所述第一图像块的运动矢量,对所述第一图像块进行运动补偿,得到所述第一图像块对应的第一中间运动补偿图像块;
基于每个第三图像块的运动矢量,分别对所述第一图像块进行运动补偿,得到所述第一图像块对应的至少一个第二中间运动补偿图像块;
基于所述第一中间运动补偿图像块和所述至少一个第二中间运动补偿图像块,确定所述第一运动补偿图像块。
在一些实施例中,所述基于所述第一中间运动补偿图像块和所述至少一个第二中间运动补偿图像块,确定所述第一图像块对应的第一运动补偿图像块,包括:
基于每个第三图像块在所述视频帧中的位置,依次将每个第二中间运动补偿图像块中每个像素点的像素值加权到所述第一中间运动补偿图像块中对应像素点的像素值,得到所述第一运动补偿图像块。
在一些实施例中,所述基于所述视频帧中每个图像块对应的运动补偿图像块,对所述视频帧进行时域滤波,得到滤波后的所述视频帧,包括:
基于每个运动补偿图像块对应的时域滤波权重,对所述视频帧进行时域滤波,得到滤波后的所述视频帧,其中,所述运动补偿图像块与所述视频帧之间的相似程度与所述运动补偿图像块的时域滤波权重相关。
在一些实施例中,所述方法还包括:
基于每个运动补偿图像块对应的初始时域滤波权重和每个运动补偿图像块的至少一个相邻运动补偿图像块,确定每个运动补偿图像块对应的时域滤波权重。
在一些实施例中,所述基于每个运动补偿图像块对应的初始时域滤波权重和每个运动补偿图像块的至少一个相邻运动补偿图像块,确定每个运动补偿图像块对应的时域滤波权重,包括:
确定第一运动补偿图像块以及与所述第一运动补偿图像块相邻的至少一个第二运动补偿图像块,所述第一运动补偿图像块是指任意一个运动补偿图像块;
基于所述第一运动补偿图像块对应的初始时域滤波权重和所述至少一个第二运动补偿图像块对应的初始时域滤波权重,确定所述第一运动补偿图像块对应的第一时域滤波权重。
在一些实施例中,所述基于所述第一运动补偿图像块对应的初始时域滤波权重和所述至少一个第二运动补偿图像块对应的初始时域滤波权重,确定所述第一运动补偿图像块对应的第一时域滤波权重,包括:
确定所述第一运动补偿图像块的第一区域中每个像素点对应的初始时域滤波权重,所述第一区域是指所述第一运动补偿图像块的边缘区域;
基于所述至少一个第二运动补偿图像块中与所述第一区域相邻的目标运动补偿图像块,确定所述目标运动补偿图像块的目标区域中每个像素点对应的初始时域滤波权重,所述目标区域是指所述目标运动补偿图像中与所述第一区域相邻的边缘区域;
基于所述第一区域中每个像素点对应的初始时域滤波权重和所述目标区域中每个像素点对应的初始时域滤波权重,确定所述第一区域中每个像素点对应的第一时域滤波权重。
在一些实施例中,所述基于所述第一区域中每个像素点对应的初始时域滤波权重和所述目标区域中每个像素点对应的初始时域滤波权重,确定所述第一区域中每个像素点对应的第一时域滤波权重,包括:
基于高斯核和所述目标区域中每个像素点对应的初始时域滤波权重,对所述第一区域中每个像素点对应的初始时域滤波权重进行高斯滤波,得到所述第一区域中每个像素点对应的第一时域滤波权重。
根据本公开实施例的第二方面,提供一种视频帧的编码方法,该方法包括:
基于待编码的视频帧中多个图像块的运动矢量,对所述视频帧中每个图像块进行运动补偿,得所述视频帧中每个图像块对应的运动补偿图像块,其中,所述图像块对应的运动补偿图像块基于所述图像块的运动矢量和所述图像块的至少一个相邻图像块的运动矢量,对所述图像块进行运动补偿得到;
基于所述视频帧中每个图像块对应的运动补偿图像块,对所述视频帧进行时域滤波,得到滤波后的所述视频帧;
基于滤波后的所述视频帧,对所述视频帧进行编码。
根据本公开实施例的第三方面,提供一种视频帧的滤波装置,该装置包括:
运动补偿单元,被配置为执行基于视频帧中多个图像块的运动矢量,对所述视频帧中每个图像块进行运动补偿,得所述视频帧中每个图像块对应的运动补偿图像块,其中,所述图像块对应的运动补偿图像块基于所述图像块的运动矢量和所述图像块的至少一个相邻图像块的运动矢量,对所述图像块进行运动补偿得到;
时域滤波单元,被配置为执行基于所述视频帧中每个图像块对应的运动补偿图像块,对所述视频帧进行时域滤波,得到滤波后的所述视频帧。
在一些实施例中,所述装置还包括:
第一确定单元,被配置为执行基于第一图像块在所述视频帧中的位置,从所述视频帧中确定第二图像块,所述第二图像块覆盖所述第一图像块且所述第二图像块的尺寸大于所述第一图像块的尺寸,所述第一图像块是指所述视频帧中任意一个图像块;
运动估计单元,被配置为执行基于所述第二图像块和所述视频帧的参考帧,对所述第二图像块进行运动估计,将所述第二图像块的运动矢量作为所述第一图像块的运动矢量,所述视频帧与所述参考帧在时域上具备关联关系。
在一些实施例中,所述运动估计单元,被配置为执行:
以所述第二图像块为搜索单位,在所述参考帧中以分像素精度进行搜索,得到所述第二图像块对应的参考图像块;
基于所述第二图像块和所述参考图像块之间的位移,确定所述第二图像块的运动矢量,将所述第二图像块的运动矢量作为所述第一图像块的运动矢量。
在一些实施例中,所述运动补偿单元包括:
第二确定单元,被配置为执行基于第一图像块在所述视频帧中的位置,从所述视频帧中确定与所述第一图像块相邻的至少一个第三图像块,所述第一图像块是指所述视频帧中任意一个图像块;
运动补偿子单元,被配置为执行基于所述第一图像块的运动矢量和所述至少一个第三图像块的运动矢量,对所述第一图像块进行运动补偿,得到所述第一图像块对应的第一运动补偿图像块。
在一些实施例中,所述运动补偿子单元,被配置为执行:
基于所述第一图像块的运动矢量,对所述第一图像块进行运动补偿,得到所述第一图像块对应的第一中间运动补偿图像块;
基于每个第三图像块的运动矢量,分别对所述第一图像块进行运动补偿,得到所述第一图像块对应的至少一个第二中间运动补偿图像块;
基于所述第一中间运动补偿图像块和所述至少一个第二中间运动补偿图像块,确定所述第一运动补偿图像块。
在一些实施例中,所述运动补偿子单元,被配置为执行:
基于每个第三图像块在所述视频帧中的位置,依次将每个第二中间运动补偿图像块中每个像素点的像素值加权到所述第一中间运动补偿图像块中对应像素点的像素值,得到所述第一运动补偿图像块。
在一些实施例中,所述时域滤波单元,被配置为执行:
基于每个运动补偿图像块对应的时域滤波权重,对所述视频帧进行时域滤波,得到滤波后的所述视频帧,其中,所述运动补偿图像块与所述视频帧之间的相似程度与所述运动补偿图像块的时域滤波权重相关。
在一些实施例中,所述装置还包括:
第三确定单元,被配置为执行基于每个运动补偿图像块对应的初始时域滤波权重和每个运动补偿图像块的至少一个相邻运动补偿图像块,确定每个运动补偿图像块对应的时域滤波权重。
在一些实施例中,所述第三确定单元,被配置为执行:
确定第一运动补偿图像块以及与所述第一运动补偿图像块相邻的至少一个第二运动补偿图像块,所述第一运动补偿图像块是指任意一个运动补偿图像块;
基于所述第一运动补偿图像块对应的初始时域滤波权重和所述至少一个第二运动补偿图像块对应的初始时域滤波权重,确定所述第一运动补偿图像块对应的第一时域滤波权重。
在一些实施例中,所述第三确定单元,被配置为执行:
确定所述第一运动补偿图像块的第一区域中每个像素点对应的初始时域滤波权重,所述第一区域是指所述第一运动补偿图像块的边缘区域;
基于所述至少一个第二运动补偿图像块中与所述第一区域相邻的目标运动补偿图像块,确定所述目标运动补偿图像块的目标区域中每个像素点对应的初始时域滤波权重,所述目标区域是指所述目标运动补偿图像中与所述第一区域相邻的边缘区域;
基于所述第一区域中每个像素点对应的初始时域滤波权重和所述目标区域中每个像素点对应的初始时域滤波权重,确定所述第一区域中每个像素点对应的第一时域滤波权重。
在一些实施例中,所述第三确定单元,被配置为执行:基于高斯核和所述目标区域中每个像素点对应的初始时域滤波权重,对所述第一区域中每个像素点对应的初始时域滤波权重进行高斯滤波,得到所述第一区域中每个像素点对应的第一时域滤波权重。
根据本公开实施例的第四方面,提供一种视频帧的编码装置,该装置包括:
运动补偿单元,被配置为执行基于待编码的视频帧中多个图像块的运动矢量,对所述视频帧中每个图像块进行运动补偿,得所述视频帧中每个图像块对应的运动补偿图像块,其中,所述图像块对应的运动补偿图像块基于所述图像块的运动矢量和所述图像块的至少一个相邻图像块的运动矢量,对所述图像块进行运动补偿得到;
时域滤波单元,被配置为执行基于所述视频帧中每个图像块对应的运动补偿图像块,对所述视频帧进行时域滤波,得到滤波后的所述视频帧;
编码单元,被配置为执行基于滤波后的所述视频帧,对所述视频帧进行编码。
根据本公开实施例的第五方面,提供一种电子设备,该电子设备包括:
一个或多个处理器;
用于存储该处理器可执行程序代码的存储器;
其中,该处理器被配置为执行该程序代码,以实现上述视频帧的滤波方法和/或视频帧的编码方法。
根据本公开实施例的第六方面,提供一种计算机可读存储介质,该计算机可读存储介质包括:当该计算机可读存储介质中的程序代码由电子设备的处理器执行时,使得电子设备能够执行上述视频帧的滤波方法和/或视频帧的编码方法。
根据本公开实施例的第七方面,提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述视频帧的滤波方法和/或视频帧的编码方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是本公开实施例提供的一种实施环境的示意图;
图2是本公开实施例提供的一种视频帧的滤波方法的流程图;
图3是本公开实施例提供的另一种视频帧的滤波方法的流程图;
图4是本公开实施例提供的一种第一图像块和第二图像块的示意图;
图5是本公开实施例提供的一种第一图像块和第三图像块的示意图;
图6是本公开实施例提供的一种确定第一运动补偿图像块的示意图;
图7是本公开实施例提供的一种第一运动补偿图像块和第二运动补偿图像块的示意图;
图8是本公开实施例提供的一种高斯核的示意图;
图9是本公开实施例提供的一种确定时域滤波权重的示意图;
图10是本公开实施例提供的一种视频帧的编码方法的流程图;
图11是本公开实施例提供的一种视频帧的滤波装置的结构示意图;
图12是本公开实施例提供的一种视频帧的编码装置的结构示意图;
图13是本公开实施例提供的一种终端的结构示意图;
图14是本公开实施例提供的一种服务器的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
需要说明的是,本公开所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本公开实施例中涉及到的视频帧都是在充分授权的情况下获取的。在一些实施例中,本公开实施例提供有权限询问页面,该权限询问页面用于询问是否授予上述信息的获取权限,在该权限询问页面中,显示同意授权控件和拒绝授权控件,在检测到对该同意授权控件的触发操作的情况下,利用本公开实施例所提供的视频帧的滤波方法和/或视频帧的编码方法来获取上述信息。
在介绍本公开实施例之前,下面先对本公开涉及的一些关键术语进行介绍。
块划分(Block Partition),在视频编码过程中是指将待编码的视频帧(或称为图像帧)划分成若干个不重叠的图像块(或称为编码单元),此处的图像块也即是视频编码的基本单元。
运动矢量(Motion Vector,MV),在帧间编码过程中,相邻时刻的不同视频帧中的景物存在着一定的相关性。因此,将一个视频帧划分成许多互不重叠的图像块,并认为图像块内所有像素的位移量都相同,然后针对每个图像块,在参考帧的某一给定搜索范围内,根据一定的匹配准则找出与当前图像块最相似的块,即参考图像块(或称参考块、匹配块),参考图像块与当前图像块之间的相对位移即称为运动矢量MV。
运动估计(Motion Estimation,ME),运动估计的过程也即是获取运动矢量MV的过程。运动估计的好坏通常决定了视频编码的残差的大小,即影响视频编码的效率。运动估计的过程,可以看成是利用匹配准则在各参考帧中寻找匹配块的过程,例如,将当前图像块与参考帧中所有图像块进行匹配,从而得到最佳匹配块。当然,还可以采用其他运动估计方式,例如,金字塔运动估计等等,本公开对此不作限定。
运动补偿(Motion Compensation,MC),是一种描述相邻帧(相邻在这里表示在编码关系上相邻,在播放顺序上两帧未必相邻)差别的方法,具体来说是描述前面一帧的每个块怎样移动到当前帧中的某个位置。该方法经常被用于视频压缩/视频编解码器中,以减少视频序列中的空域冗余。
基于运动估计补偿的时域滤波方法(Motion Compensated Temporal Filter,MCTF),是一种Encoder-only的视频滤波技术,即,无需更改解码器的任何配置。该方法采用经典的基于块的运动估计和运动补偿方式,利用视频的时域相关性对视频帧进行时域滤波,来减少视频帧参考过程中产生的时域冗余信息。示意性地,MCTF包括两部分:运动补偿部分和时域滤波部分。下面分别对这两个部分的实现方式进行介绍。
(1)运动补偿部分。MCTF以视频帧的图像块为单位,执行块级运动估计ME,即,将视频帧均匀分割成8×8(宽度和高度均为8像素)的图像块,将每个图像块分别在相邻前后帧(例如,相邻前后帧为当前帧之间4帧以及之后4帧,后续将这些相邻帧称为参考帧)中进行运动估计,得到每个图像块相对于每个参考帧的运动矢量,在这一过程中,MCTF采用金字塔运动估计方式,即,先在下采样视频帧上进行快速运动估计,基于运动估计结果在原始分辨率视频帧上进行运动估计,其中,在原始分辨率视频帧上先以整像素精度进行运动估计,再基于整像素运动估计结果以分像素精度进行运动估计,最终得到每个图像块的运动矢量;随后,对于任意一个参考帧,基于每个图像块的运动矢量,对每个图像块进行基于块的运动补偿,得到每个图像块对应的运动补偿图像块,将多个运动补偿图像块拼接后,得到运动补偿帧;对于每个参考帧均执行此运动补偿过程,得到每个参考帧对应的运动补偿帧。
(2)时域滤波部分。基于每个参考帧对应的运动补偿帧,以图像块为单位,对当前帧进行双边滤波,得到时域滤波结果。其中,亮度以8×8的图像块为单位进行滤波,色度以4×4的图像块为单位进行滤波。
下面对本公开实施例涉及的实施环境进行介绍。
图1是本公开实施例提供的一种实施环境的示意图,参见图1,该实施环境包括电子设备101。在一些实施例中,电子设备101能够通过有线或无线通信方式接入网络,以实现更多功能。
电子设备101用于实现针对视频的下述至少一种功能:滤波功能、编码功能、增强功能、去噪功能等等,本公开对此不作限定。在一些实施例中,以电子设备101用于实现针对视频的滤波功能和编码功能为例,电子设备101对待编码的视频进行采样,得到该视频的多个待编码的视频帧,对这些视频帧进行时域滤波后,基于视频编码标准对这些滤波后的视频帧进行编码,得到相应的视频编码数据(也称为码流),将视频编码数据传输至解码设备(解码设备也可以是电子设备101,例如,通过电子设备101的不同功能模块来分别实现视频解码功能和视频编码功能)。其中,视频编码标准通常采用基于块的混合编码框架,包括但不限于:高性能视频编码标准(High Efficiency Video Coding,HEVC)、多功能视频编码标准(Versatile Video Coding,VVC)以及音视频编码标准(Audio Video coding Standard3,AVS3)等等,本公开实施例对此不作限定。
另外,本公开对于电子设备101的形式不作限定。例如,电子设备101为终端或服务器等。以电子设备101为终端为例,终端为智能手机、智能手表、台式电脑、手提电脑、虚拟现实终端、增强现实终端、无线终端和膝上型便携计算机等设备中的至少一种。终端具有通信功能,可以接入有线网络或无线网络。以电子设备101为服务器为例,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式文件系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。当然,服务器还可以包括其他功能服务器,以便提供更全面且多样化的服务。
下面对本公开实施例提供的视频帧的滤波方法进行介绍。
基于上述对MCTF的介绍可知,该方法采用经典的基于块的运动估计和运动补偿方式来生成运动补偿图像块,然而,采用这种方式生成的运动补偿图像块的边缘容易存在块效应(Blocking Artifacts),即块边界变化不连续,导致时域滤波效果较差。基于此,本公开提供了一种视频帧的滤波方法,通过对现有MCTF进行改进,以缓解运动补偿图像块的块效应,改善视频帧的滤波效果。
下面参考图2至图9所示实施例,对本公开的技术方案进行介绍。
图2是本公开实施例提供的一种视频帧的滤波方法的流程图。如图2所示,以该方法由电子设备执行为例进行介绍,示意性地,该方法包括下述步骤201和步骤202。
在步骤201中,电子设备基于视频帧中多个图像块的运动矢量,对视频帧中每个图像块进行运动补偿,得视频帧中每个图像块对应的运动补偿图像块,其中,图像块对应的运动补偿图像块基于该图像块的运动矢量和该图像块的至少一个相邻图像块的运动矢量,对该图像块进行运动补偿得到。
在本公开实施例中,视频帧是指视频帧序列中的任一个视频帧,该视频帧序列可以是存储在电子设备本地的视频,也可以是基于流媒体技术传输至该电子设备的视频,本公开对此不做限定。示意性地,以任一视频帧为例,电子设备对该视频帧进行块划分,得到该视频帧的多个图像块。其中,本公开对于图像块的尺寸不作限定,例如,图像块的宽度和高度均为8像素,即图像块的尺寸为8×8。
对于视频帧的任意一个图像块,电子设备基于该图像块的运动矢量和该图像块的至少一个相邻图像块的运动矢量,对该图像块进行运动补偿,得到该图像块对应的运动补偿图像块。其中,图像块的运动矢量通过对视频帧和视频帧的参考帧进行运动估计得到,本公开对于运动估计的实现方式不作限定。相邻图像块可以是与图像块的上、下、左、右、左上、左下等等任意方向相邻的图像块,其数量可以是一个,也可以是多个,本公开对此不作限定。另外,视频帧的参考帧可以是一个,也可以是多个,本公开对于参考帧的数量不作限定。
在步骤202中,电子设备基于视频帧中每个图像块对应的运动补偿图像块,对视频帧进行时域滤波,得到滤波后的视频帧。
在本公开实施例中,在得到视频帧中每个图像块对应的运动补偿图像块之后,基于每个运动补偿图像块对应的时域滤波权重,对视频帧进行时域滤波,得到滤波后的视频帧。其中,对于任意一个运动补偿图像块,其时域滤波权重可以是预设权重,示意性地,运动补偿图像块与视频帧之间的相似程度与运动补偿图像块的时域滤波权重相关。例如,该运动补偿图像块对应的参考帧与视频帧之间的距离越近,其时域滤波权重越大,等等,本公开对此不作限定。
另外,滤波后的视频帧可以用于下述至少一种视频处理场景:视频编码、视频增强、视频去噪等等,本公开对此不作限定。
在上述视频帧的滤波方法中,对于视频帧的任意一个图像块,基于该图像块的运动矢量和该图像块的至少一个相邻图像块的运动矢量,对该图像块进行运动补偿,得到该图像块对应的运动补偿图像块,以便基于该运动补偿图像块来实现针对视频帧的时域滤波。由于上述方式在生成某一图像块的运动补偿图像块时,结合了该图像块的相邻图像块的运动矢量,因此,充分考虑了相邻图像块之间的运动连续性,可以缓解运动补偿图像块的块效应,进而有效改善视频帧的滤波效果。
经过上述图2,对本公开提供的视频帧的滤波方法进行了简要介绍,下面参考图3,对该方法进行详细介绍。
图3是本公开实施例提供的另一种视频帧的滤波方法的流程图。如图3所示,该方法由电子设备执行,包括下述步骤301至步骤305。
在步骤301中,电子设备从视频帧序列中确定视频帧和该视频帧的参考帧,视频帧与参考帧在时域上具备关联关系。
在本公开实施例中,参考帧的数量可以是一个,也可以是多个。以参考帧的数量为多个为例,电子设备从视频帧序列中确定视频帧,并从视频帧序列中确定与该视频帧在时域上具备关联关系的多个参考帧。例如,将该视频帧前后各4帧作为参考帧,也即是,参考帧是显示顺序上与视频帧相邻的帧。以视频帧记为It为例,在参考帧的数量为多个的情况下(例如是8个),其参考帧可记为It-4、It-3、It-2、It-1、It+1、It+2、It+3、It+4。
在步骤302中,电子设备基于视频帧和参考帧,对视频帧中多个图像块进行运动估计,得到多个图像块的运动矢量。
在本公开实施例中,电子设备对该视频帧进行块划分,得到该视频帧的多个图像块。对于视频帧的任意一个参考帧,电子设备基于视频帧和该参考帧,对视频帧中多个图像块进行运动估计,得到每个图像块相对于该参考帧的运动矢量。其中,本公开对于运动估计的实现方式不作限定,例如,可以采用经典的基于块的运动估计方式,即将当前图像块与参考帧中所有图像块进行匹配,从而得到最佳匹配块。当然,还可以采用其他运动估计方式,例如,金字塔运动估计等等,本公开对此不作限定。
在一些实施例中,在对图像块进行运动估计的过程中,对图像块进行扩充,基于扩充后的图像块(例如简称为扩充块)进行运动估计。示意性地,下面以任意一个图像块为例(以下称为第一图像块,也可以称为当前块),对该图像块在任意一个参考帧中的运动估计过程进行介绍,包括如下几个步骤:
步骤A1、基于第一图像块在视频帧中的位置,从视频帧中确定第二图像块。
其中,第一图像块是指视频帧中任意一个图像块,第二图像块覆盖第一图像块且第二图像块的尺寸大于第一图像块的尺寸。例如,以第一图像块为中心,对第一图像块的四周进行扩充,得到第二图像块。这一过程也可以理解为是一种对第一图像块的周围进行像素填充的过程。示意性地,参考图4,图4是本公开实施例提供的一种第一图像块和第二图像块的示意图。如图4所示,以第一图像块(当前块C)的尺寸为s×s为例,第二图像块的尺寸为(s+2×n)×(s+2×n),s和n均为正整数,也即,第二图像块覆盖第一图像块且第二图像块的尺寸大于第一图像块的尺寸。例如,以s=8、n=2为例,上述过程也即是,基于原本尺寸为8×8的第一图像块,从视频帧中确定出尺寸为12×12的第二图像块。又例如,以s=8、n=4为例,上述过程也即是,基于原本尺寸为8×8的第一图像块,从视频帧中确定出尺寸为16×16的第二图像块。需要说明的是,此处仅为举例说明,并不构成对本公开的限定,在一些实施例中,能够根据实际需求来设置第二图像块的尺寸和形状(即并不局限于正方形,也可以是长方形、类圆形、类三角形等等,对此不作限定),而且,上述举例是以对第一图像块的四周进行扩充为例进行介绍的,也可以对第一图像块除下方以外的其他方向进行扩充,比如说,当第一图像块位于视频帧最下方时,可以对第一图像块的上方、左方以及右方进行扩充,以确定第二图像块,本公开对此不作限定。
步骤A2、基于第二图像块和视频帧的参考帧,对第二图像块进行运动估计,将第二图像块的运动矢量作为第一图像块的运动矢量。
其中,电子设备以第二图像块为搜索单位,在参考帧中搜索与该第二图像块匹配的参考图像块,基于第二图像块与参考图像块之间的位移,确定第二图像块的运动矢量,将第二图像块的运动矢量作为第一图像块的运动矢量。在一些实施例中,电子设备以第二图像块为搜索单位,在参考帧中以分像素精度进行搜索,得到第二图像块对应的参考图像块;基于第二图像块和参考图像块之间的位移,确定第二图像块的运动矢量,将第二图像块的运动矢量作为第一图像块的运动矢量。其中,分像素点由整像素点经过插值计算得到,本公开对于分像素精度不作限定,例如可以是1/2个像素、1/4个像素或者1/8个像素,等等。应理解,由于第二图像块相当于第一图像块的扩充块,因此直接在原始分辨率的参考帧上进行搜索也能够得到准确的运动矢量,而且,这种方式计算复杂度较低,从而有效节约了计算资源,提高了视频处理效率。当然,在一些实施例中,也可以采用如MCTF所示的金字塔运动估计方式,即,对参考帧和视频帧分别进行上采样和下采样,先在下采样视频帧上进行快速运动估计,基于运动估计结果在原始分辨率视频帧上进行运动估计,其中,在原始分辨率视频帧上先以整像素精度进行运动估计,再基于整像素运动估计结果以分像素精度进行运动估计,最终得到图像块的运动矢量。又例如,还可以在原始分辨率视频帧上以整像素精度进行运动估计。再例如,可以分别在不同分辨率视频帧上进行运动估计,或者,在一种分辨率视频帧上进行运动估计,等等,本公开对于图像块的运动矢量的获取过程不作限定。
通过上述步骤A1和步骤A2所示的方法,由于在确定某一图像块的运动矢量的过程中,是以该图像块的扩充块为基础进行确定的,因此,充分考虑了相邻图像块之间的运动连续性,可以缓解后续生成的运动补偿图像块的块效应,进而有效改善视频帧的滤波效果。
上述步骤A1和步骤A2是以任意一个图像块为例进行介绍的,对于视频帧中每个图像块,均执行如上所示的步骤,进而得到每个图像块相对于某个参考帧的运动矢量。当参考帧的数量为多个时,对于每个参考帧,均执行如上所示的步骤,进而得到每个图像块相对于每个参考帧的运行矢量。
在步骤303中,电子设备基于视频帧中多个图像块的运动矢量,对视频帧中每个图像块进行运动补偿,得视频帧中每个图像块对应的运动补偿图像块。
在本公开实施例中,对于任意一个图像块,电子设备基于该图像块相对于任意参考帧的运动矢量和该图像块的至少一个相邻图像块的运动矢量,对该图像块进行运动补偿,得到该图像块对应的运动补偿图像块。
示意性地,下面以任意一个图像块为例(以下称为第一图像块,也可以称为当前块),对该图像块进行运动补偿以得到相应运动补偿图像块的过程进行介绍,包括如下几个步骤:
步骤B1、基于第一图像块在视频帧中的位置,从视频帧中确定与第一图像块相邻的至少一个第三图像块。
其中,第一图像块是指视频帧中任意一个图像块。第三图像块可以是与第一图像块的上、下、左、右、左上、左下等等任意方向相邻的图像块,其数量可以是一个,也可以是多个,本公开对此不作限定。例如,参考图5,图5是本公开实施例提供的一种第一图像块和第三图像块的示意图。如图5所示,基于第一图像块(当前块C)的位置,从视频帧中确定与第一图像块在上、下、左、右四个方向上相邻的四个第三图像块。
步骤B2、基于第一图像块的运动矢量和至少一个第三图像块的运动矢量,对第一图像块进行运动补偿,得到第一图像块对应的第一运动补偿图像块。
其中,本步骤包括如下几个子步骤:
步骤B201、基于第一图像块的运动矢量,对第一图像块进行运动补偿,得到第一图像块对应的第一中间运动补偿图像块。
也即,基于第一图像框自身的运动矢量,对第一图像块进行运动补偿,得到相应的第一中间运动补偿图像块。例如,继续参考图5,这一过程也即是,基于第一图像块的运动矢量MVC进行运动补偿,得到第一中间运动补偿图像块,记为PC。
步骤B202、基于每个第三图像块的运动矢量,分别对第一图像块进行运动补偿,得到第一图像块对应的至少一个第二中间运动补偿图像块。
其中,每个第三图像块的运动矢量分别对应一个第二中间运动补偿图像块。这一过程也即是,将每个第三图像块的运动矢量作为第一图像块的运动矢量,对第一图像块进行运动补偿,从而得到相应的第二中间运动补偿图像块。例如,继续参考图5,这一过程也即是,基于多个第三图像块的运动矢量MV0、MV1、MV2、MV3,分别对第一图像块进行运动补偿,得到多个第二中间运动补偿图像块,记为P0、P1、P2、P3。
步骤B203、基于第一中间运动补偿图像块和至少一个第二中间运动补偿图像块,确定第一运动补偿图像块。
其中,基于每个第三图像块在视频帧中的位置,依次将每个第二中间运动补偿图像块中每个像素点的像素值加权到第一中间运动补偿图像块中对应像素点的像素值,得到第一运动补偿图像块。
下面参考图6,以图5所示的第一图像块和第三图像块为例,对这一过程的原理进行介绍。图6是本公开实施例提供的一种确定第一运动补偿图像块的示意图。如图6所示,基于前述步骤可知,基于第一图像块的运动矢量进行运动补偿后,得到了第一中间运动补偿图像块PC,基于多个第三图像块的运动矢量进行运动补偿后,得到了多个第二中间运动补偿图像块P0、P1、P2、P3。按照多个第三图像块在视频帧中的位置,也即按照每个第三图像块在视频帧中相对于第一图像块的位置:上、左、下、右四个方向(也可以按照其他顺序,本公开对此不作限定),依次将每个第二中间运动补偿图像块P0、P1、P2、P3中每个像素点的像素值加权到第一中间运动补偿图像块PC中对应像素点的像素值,最终得到第一运动补偿图像块。在一些实施例中,基于目标加权行列数进行加权以得到第一运动补偿图像块。示意性地,以加权行列数为N为例(N为正整数,能够根据实际需求进行设定),按照方向N行或者N列加权,图像块内不同像素位置的加权权重大小与方向相关,权重大小沿着所在方向单调变换,
例如,参考图6中(a)图,先将方向向上的第二中间运动补偿图像块P0中每个像素点的像素值加权到第一中间运动补偿图像块PC中对应像素点的像素值。设定N=4,第一中间运动补偿图像块PC对应的运动补偿权重(1-ω0)为{3/4,7/8,15/16,31/32}(对前4行设置权重,后4行权重为1),该运动补偿权重从方向“上”开始依次递增,第一行像素点对应的运动补偿权重为3/4,第二行像素点对应的运动补偿权重为7/8,第三行像素点对应的运动补偿权重为15/16,第四行像素点对应的运动补偿权重为31/32。相应地,第二中间运动补偿图像块P0对应的运动补偿权重ω0为{1/4,1/8,1/16,1/32}(对前4行设置权重,后4行权重为0),该运动补偿权重从方向“上”开始依次递减,第一行像素点对应的运动补偿权重为1/4,第二行像素点对应的运动补偿权重为1/8,第三行像素点对应的运动补偿权重为1/16,第四行像素点对应的运动补偿权重为1/32。这一过程的加权公式记为:PC×(1-ω0)+P0×ω0=PC。也即,将加权结果更新为当前块的运动补偿图像块。
将方向向上的第二中间运动补偿图像块P0中每个像素点的像素值加权到第一中间运动补偿图像块PC中对应像素点的像素值之后,接着,将方向向左的第二中间运动补偿图像块P1中每个像素点的像素值加权到第一中间运动补偿图像块PC中对应像素点的像素值。这一过程参考图6中的(b)图。设定N=4,第一中间运动补偿图像块PC对应的运动补偿权重(1-ω0)为{3/4,7/8,15/16,31/32}(对前4列设置权重,后4列权重为1),该运动补偿权重从方向“左”开始依次递增,第一列像素点对应的运动补偿权重为3/4,第二列像素点对应的运动补偿权重为7/8,第三列像素点对应的运动补偿权重为15/16,第四列像素点对应的运动补偿权重为31/32。相应地,第二中间运动补偿图像块P1对应的运动补偿权重ω0为{1/4,1/8,1/16,1/32}(对前4列设置权重,后4列权重为0),该运动补偿权重从方向“左”开始依次递减,第一列像素点对应的运动补偿权重为1/4,第二列像素点对应的运动补偿权重为1/8,第三列像素点对应的运动补偿权重为1/16,第四列像素点对应的运动补偿权重为1/32。这一过程的加权公式记为:PC×(1-ω0)+P1×ω0=PC。也即,将加权结果更新为当前块的运动补偿图像块。
将方向向左的第二中间运动补偿图像块P1中每个像素点的像素值加权到第一中间运动补偿图像块PC中对应像素点的像素值之后,接着,将方向向下的第二中间运动补偿图像块P2中每个像素点的像素值加权到第一中间运动补偿图像块PC中对应像素点的像素值。然后,再将方向向右的第二中间运动补偿图像块P3中每个像素点的像素值加权到第一中间运动补偿图像块PC中对应像素点的像素值,得到最终结果,即第一图像块的第一运动补偿图像块。应理解,方向向下的加权过程、方向向右的加权过程与前述图6所示的过程同理,故不再赘述。另外,若第一图像块的周围缺少某个方向对应的相邻图像块(例如第一图像块为上左下右边缘图像块),则可以跳过缺失方向的加权过程,在此不再赘述。
需要说明的是,上述图6所示是将每个第二中间运动补偿图像块中每个像素点的像素值加权到第一中间运动补偿图像块中对应像素点的像素值的一种举例说明,并不构成对本公开的限定,在一些实施例中,还可以采用其他加权方式,例如,分别将每个第二中间运动补偿图像块中每个像素点的像素值加权到第一中间运动补偿图像块中对应像素点的像素值,得到多个第二中间运动补偿图像块对应的加权结果,对多个加权结果取平均值,得到第一运动补偿图像块,等等。
上述步骤B1至骤B2是以任意一个图像块为例进行介绍的,对于视频帧中每个图像块,均执行如上所示的步骤,进而得到每个图像块相对于某个参考帧的运动补偿图像块。当参考帧的数量为多个时,对于每个参考帧,均执行如上所示的步骤,进而得到每个图像块相对于每个参考帧的运动补偿图像块。
经过上述步骤303,由于在生成某一图像块的运动补偿图像块时,结合了该图像块的相邻图像块的运动矢量,因此,充分考虑了相邻图像块之间的运动连续性,可以缓解运动补偿图像块的块效应,进而有效改善视频帧的滤波效果。
在步骤304中,电子设备基于每个运动补偿图像块对应的初始时域滤波权重和每个运动补偿图像块的至少一个相邻运动补偿图像块,确定每个运动补偿图像块对应的时域滤波权重。
在本公开实施例中,每个运动补偿图像块对应的初始时域滤波权重为预设权重,能够根据实际需求进行设定,例如,时域滤波权重与块频率、块误差、相对误差等相关,与运动补偿图像块和视频帧之间的相似程度相关,等等。
在本步骤中,以任意一个参考帧为例,对于该参考帧对应的任意一个运动补偿图像块,电子设备基于该运动补偿图像块对应的初始时域滤波权重和该运动补偿图像块的至少一个相邻运动补偿图像块对应的初始时域滤波权重,对该运动补偿图像块对应的初始时域滤波权重进行更新,得到该运动补偿图像块对应的时域滤波权重。
示意性地,下面以任意一个运动补偿图像块为例(以下称为第一运动补偿图像块,也可以称为当前运动补偿图像块),对该运动补偿图像块对应的时域滤波权重的确定过程进行介绍,包括如下几个步骤:
步骤C1、确定第一运动补偿图像块和与第一运动补偿图像块相邻的至少一个第二运动补偿图像块。
其中,第一运动补偿图像块是指任意一个运动补偿图像块。第二运动补偿图像块可以是与第一运动补偿图像块的上、下、左、右、左上、左下等等任意方向相邻的运动补偿图像块,其数量可以是一个,也可以是多个,本公开对此不作限定。
步骤C2、基于第一运动补偿图像块对应的初始时域滤波权重和至少一个第二运动补偿图像块对应的初始时域滤波权重,确定第一运动补偿图像块对应的第一时域滤波权重。
其中,本步骤包括如下几个子步骤:
步骤C201、确定第一运动补偿图像块的第一区域中每个像素点对应的初始时域滤波权重。
其中,第一区域是指第一运动补偿图像块的边缘区域。例如,第一区域为第一运动补偿图像块边缘一行像素点所在区域,当然,也可以是多行像素点所在区域,本公开对此不作限定。例如,参考图7,图7是本公开实施例提供的一种第一运动补偿图像块和第二运动补偿图像块的示意图。如图7所示,第一运动补偿图像块的第一区域为上方第一行像素点所在区域。
步骤C202、基于至少一个第二运动补偿图像块中与第一区域相邻的目标运动补偿图像块,确定目标运动补偿图像块的目标区域中每个像素点对应的初始时域滤波权重。
其中,目标区域是指目标运动补偿图像中与第一区域相邻的边缘区域。这一过程也可以理解为,确定与第一区域相邻的边缘区域。例如,继续参考图7,第一运动补偿图像块的第一区域为上方第一行像素点所在区域,目标运动补偿图像块为第一运动补偿图像块上方的第二运动补偿图像块,相应地,目标区域可以是目标运动补偿图像块下方最后一行像素点所在区域。
步骤C203、基于第一区域中每个像素点对应的初始时域滤波权重和目标区域中每个像素点对应的初始时域滤波权重,确定第一区域中每个像素点对应的第一时域滤波权重。
其中,电子设备基于高斯核和目标区域中每个像素点对应的初始时域滤波权重,对第一区域中每个像素点对应的初始时域滤波权重进行高斯滤波,得到第一区域中每个像素点对应的第一时域滤波权重。示意性地,高斯核的尺寸为预设尺寸,能够根据实际需求进行设定,例如,高斯核的尺寸为3×3。参考图8,图8是本公开实施例提供的一种高斯核的示意图。下面以图8所示高斯核为例,参考图9,对上述高斯滤波过程进行举例说明。图9是本公开实施例提供的一种确定时域滤波权重的示意图。如图9所示,以像素点a为例,对该像素点a对应的初始时域滤波权重a1进行高斯滤波,其运算规则为将高斯核覆盖的像素点对应的初始时域滤波权重按照不同的权重计算和值。在实际计算时,使用的高斯卷积核如图9所示(取小数点后2位,对此不作限定)。基于该高斯卷积核对像素点a对应的初始时域滤波权重a1进行高斯滤波,计算方式为:像素点a对应的时域滤波权重a1’=(b1×0.06+c1×0.12+d1×0.06)+(e1×0.12+a1×0.25+f1×0.12)+(g1×0.06+h1×0.12+i1×0.06),式中,b1、c1、d1、e1、f1、g1、h1、i1分别表示相应像素点对应的初始时域滤波权重。
需要说明的是,上述图7至图9所示均为举例说明,并不构成对本公开的限定,例如,在图7中,第一区域、目标区域的尺寸能够根据实际需求进行调整,又例如,在图8中,高斯核的尺寸也可以是5×5或者其他,等等,而且,每个像素点对应的初始时域滤波权重也可以根据实际需求进行调整。另外,也可以不采用高斯核方式来确定时域滤波权重,例如,对第一区域内某个像素点周围的多个像素点对应的初始时域滤波权重求和后取平均值,将平均值作为该像素点对应的时域滤波权重,等等,本公开对此不作限定。
上述步骤C1至骤C2是以任意一个运动补偿图像块为例进行介绍的,对于经过步骤304得到的每个运动补偿图像块,均执行如上所示的步骤,进而得到每个运动补偿图像块的时域滤波权重。
经过上述步骤304,由于结合了某个运动补偿图像块的相邻运动补偿图像块的时域滤波权重来更新该运动补偿图像块的时域滤波权重,因此,充分考虑了相邻运动补偿图像块之间的运动连续性,可以进一步改善视频帧的滤波效果。
在步骤305中,电子设备基于每个运动补偿图像块对应的时域滤波权重,对视频帧进行时域滤波,得到滤波后的视频帧。
在本公开实施例中,电子设备以块为单位,采用双边滤波器,对视频帧进行时域滤波。例如,亮度以8×8的图像块为单位进行滤波,色度以4×4的图像块为单位进行滤波。例如,该时域滤波过程参考如下公式:
上述公式中,Im表示当前视频帧经过时域滤波的像素值,I0表示当前视频帧的原始像素值,i表示任意一个参考帧,Ir(i)表示第i个参考帧对应的运动补偿图像块的像素值,wr(i,a)表示第i个参考帧对应的运动补偿图像块的时域滤波权重。
需要说明的是,上述公式仅为举例说明,并不构成对本公开的限定,电子设备也可以采用其他方式来实现时域滤波。
综上,在上述视频帧的滤波方法中,对于视频帧的任意一个图像块,基于该图像块的运动矢量和该图像块的至少一个相邻图像块的运动矢量,对该图像块进行运动补偿,得到该图像块对应的运动补偿图像块,以便基于该运动补偿图像块来实现针对视频帧的时域滤波。由于上述方式在生成某一图像块的运动补偿图像块时,结合了该图像块的相邻图像块的运动矢量,因此,充分考虑了相邻图像块之间的运动连续性,可以缓解运动补偿图像块的块效应,进而有效改善视频帧的滤波效果。
另外,基于前述介绍可知,滤波后的视频帧可以用于下述至少一种视频处理场景:视频编码、视频增强、视频去噪等等,下面以滤波后的视频帧用于视频编码场景为例,介绍一种视频帧的编码方法。
图10是本公开实施例提供的一种视频帧的编码方法的流程图。如图10示,该方法由电子设备执行,包括下述步骤1001至步骤1006。
在步骤1001中,电子设备从待编码的视频帧序列中确定待编码的视频帧和该视频帧的参考帧,视频帧与参考帧在时域上具备关联关系。
其中,待编码的视频帧是指待编码的视频帧序列中的任一个视频帧,该视频帧序列可以是存储在电子设备本地的视频,也可以是基于流媒体技术传输至该电子设备的视频,本公开对此不做限定。
在步骤1002中,电子设备基于视频帧和参考帧,对视频帧中多个图像块进行运动估计,得到多个图像块的运动矢量。
在步骤1003中,电子设备基于视频帧中多个图像块的运动矢量,对视频帧中每个图像块进行运动补偿,得视频帧中每个图像块对应的运动补偿图像块。
在步骤1004中,电子设备基于每个运动补偿图像块对应的初始时域滤波权重和每个运动补偿图像块的至少一个相邻运动补偿图像块,确定每个运动补偿图像块对应的时域滤波权重。
在步骤1005中,电子设备基于每个运动补偿图像块对应的时域滤波权重,对视频帧进行时域滤波,得到滤波后的视频帧。
上述步骤1001至步骤1005参考前述图2至图9所示内容,在此不再赘述。
在步骤1006中,电子设备基于滤波后的视频帧,对该视频帧进行编码。
其中,电子设备基于视频编码标准对滤波后的视频帧进行编码,得到相应的视频编码数据(也称为码流),将视频编码数据传输至解码设备,当然,解码设备也可以是电子设备,例如,通过电子设备的不同功能模块来分别实现视频解码功能和视频编码功能,本公开对此不作限定。
在上述视频帧的编码方法中,先对视频帧进行了时域滤波,其中,对于视频帧的任意一个图像块,基于该图像块的运动矢量和该图像块的至少一个相邻图像块的运动矢量,对该图像块进行运动补偿,得到该图像块对应的运动补偿图像块,以便基于该运动补偿图像块来实现针对视频帧的时域滤波,进而根据滤波后的视频帧进行视频编码。由于上述方式在生成某一图像块的运动补偿图像块时,结合了该图像块的相邻图像块的运动矢量,因此,充分考虑了相邻图像块之间的运动连续性,可以缓解运动补偿图像块的块效应,进而有效改善视频帧的滤波效果,也即提升了视频编码效率和视频编码性能。
图11是本公开实施例提供的一种视频帧的滤波装置的结构示意图。参照图11,该装置包括运动补偿单元1101和时域滤波单元1102。
运动补偿单元1101,被配置为执行基于视频帧中多个图像块的运动矢量,对所述视频帧中每个图像块进行运动补偿,得所述视频帧中每个图像块对应的运动补偿图像块,其中,所述图像块对应的运动补偿图像块基于所述图像块的运动矢量和所述图像块的至少一个相邻图像块的运动矢量,对所述图像块进行运动补偿得到;
时域滤波单元1102,被配置为执行基于所述视频帧中每个图像块对应的运动补偿图像块,对所述视频帧进行时域滤波,得到滤波后的所述视频帧。
在一些实施例中,所述装置还包括:
第一确定单元,被配置为执行基于第一图像块在所述视频帧中的位置,从所述视频帧中确定第二图像块,所述第二图像块覆盖所述第一图像块且所述第二图像块的尺寸大于所述第一图像块的尺寸,所述第一图像块是指所述视频帧中任意一个图像块;
运动估计单元,被配置为执行基于所述第二图像块和所述视频帧的参考帧,对所述第二图像块进行运动估计,将所述第二图像块的运动矢量作为所述第一图像块的运动矢量,所述视频帧与所述参考帧在时域上具备关联关系。
在一些实施例中,所述运动估计单元,被配置为执行:
以所述第二图像块为搜索单位,在所述参考帧中以分像素精度进行搜索,得到所述第二图像块对应的参考图像块;
基于所述第二图像块和所述参考图像块之间的位移,确定所述第二图像块的运动矢量,将所述第二图像块的运动矢量作为所述第一图像块的运动矢量。
在一些实施例中,所述运动补偿单元1101包括:
第二确定单元,被配置为执行基于第一图像块在所述视频帧中的位置,从所述视频帧中确定与所述第一图像块相邻的至少一个第三图像块,所述第一图像块是指所述视频帧中任意一个图像块;
运动补偿子单元,被配置为执行基于所述第一图像块的运动矢量和所述至少一个第三图像块的运动矢量,对所述第一图像块进行运动补偿,得到所述第一图像块对应的第一运动补偿图像块。
在一些实施例中,所述运动补偿子单元,被配置为执行:
基于所述第一图像块的运动矢量,对所述第一图像块进行运动补偿,得到所述第一图像块对应的第一中间运动补偿图像块;
基于每个第三图像块的运动矢量,分别对所述第一图像块进行运动补偿,得到所述第一图像块对应的至少一个第二中间运动补偿图像块;
基于所述第一中间运动补偿图像块和所述至少一个第二中间运动补偿图像块,确定所述第一运动补偿图像块。
在一些实施例中,所述运动补偿子单元,被配置为执行:
基于每个第三图像块在所述视频帧中的位置,依次将每个第二中间运动补偿图像块中每个像素点的像素值加权到所述第一中间运动补偿图像块中对应像素点的像素值,得到所述第一运动补偿图像块。
在一些实施例中,所述时域滤波单元1102,被配置为执行:
基于每个运动补偿图像块对应的时域滤波权重,对所述视频帧进行时域滤波,得到滤波后的所述视频帧,其中,所述运动补偿图像块与所述视频帧之间的相似程度与所述运动补偿图像块的时域滤波权重相关。
在一些实施例中,所述装置还包括:
第三确定单元,被配置为执行基于每个运动补偿图像块对应的初始时域滤波权重和每个运动补偿图像块的至少一个相邻运动补偿图像块,确定每个运动补偿图像块对应的时域滤波权重。
在一些实施例中,所述第三确定单元,被配置为执行:
确定第一运动补偿图像块以及与所述第一运动补偿图像块相邻的至少一个第二运动补偿图像块,所述第一运动补偿图像块是指任意一个运动补偿图像块;
基于所述第一运动补偿图像块对应的初始时域滤波权重和所述至少一个第二运动补偿图像块对应的初始时域滤波权重,确定所述第一运动补偿图像块对应的第一时域滤波权重。
在一些实施例中,所述第三确定单元,被配置为执行:
确定所述第一运动补偿图像块的第一区域中每个像素点对应的初始时域滤波权重,所述第一区域是指所述第一运动补偿图像块的边缘区域;
基于所述至少一个第二运动补偿图像块中与所述第一区域相邻的目标运动补偿图像块,确定所述目标运动补偿图像块的目标区域中每个像素点对应的初始时域滤波权重,所述目标区域是指所述目标运动补偿图像中与所述第一区域相邻的边缘区域;
基于所述第一区域中每个像素点对应的初始时域滤波权重和所述目标区域中每个像素点对应的初始时域滤波权重,确定所述第一区域中每个像素点对应的第一时域滤波权重。
在一些实施例中,所述第三确定单元,被配置为执行:基于高斯核和所述目标区域中每个像素点对应的初始时域滤波权重,对所述第一区域中每个像素点对应的初始时域滤波权重进行高斯滤波,得到所述第一区域中每个像素点对应的第一时域滤波权重。
在上述视频帧的滤波装置中,对于视频帧的任意一个图像块,基于该图像块的运动矢量和该图像块的至少一个相邻图像块的运动矢量,对该图像块进行运动补偿,得到该图像块对应的运动补偿图像块,以便基于该运动补偿图像块来实现针对视频帧的时域滤波。由于上述方式在生成某一图像块的运动补偿图像块时,结合了该图像块的相邻图像块的运动矢量,因此,充分考虑了相邻图像块之间的运动连续性,可以缓解运动补偿图像块的块效应,进而有效改善视频帧的滤波效果。
需要说明的是:上述实施例提供的视频帧的滤波装置在对视频帧进行滤波时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频帧的滤波装置与视频帧的滤波方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图12是本公开实施例提供的一种视频帧的编码装置的结构示意图。参照图12,该装置包括运动补偿单元1201、时域滤波单元1202以及编码单元1203。
运动补偿单元1201,被配置为执行基于待编码的视频帧中多个图像块的运动矢量,对所述视频帧中每个图像块进行运动补偿,得所述视频帧中每个图像块对应的运动补偿图像块,其中,所述图像块对应的运动补偿图像块基于所述图像块的运动矢量和所述图像块的至少一个相邻图像块的运动矢量,对所述图像块进行运动补偿得到;
时域滤波单元1202,被配置为执行基于所述视频帧中每个图像块对应的运动补偿图像块,对所述视频帧进行时域滤波,得到滤波后的所述视频帧;
编码单元1203,被配置为执行基于滤波后的所述视频帧,对所述视频帧进行编码。
在一些实施例中,所述装置还包括:
第一确定单元,被配置为执行基于第一图像块在所述视频帧中的位置,从所述视频帧中确定第二图像块,所述第二图像块覆盖所述第一图像块且所述第二图像块的尺寸大于所述第一图像块的尺寸,所述第一图像块是指所述视频帧中任意一个图像块;
运动估计单元,被配置为执行基于所述第二图像块和所述视频帧的参考帧,对所述第二图像块进行运动估计,将所述第二图像块的运动矢量作为所述第一图像块的运动矢量,所述视频帧与所述参考帧在时域上具备关联关系。
在一些实施例中,所述运动估计单元,被配置为执行:
以所述第二图像块为搜索单位,在所述参考帧中以分像素精度进行搜索,得到所述第二图像块对应的参考图像块;
基于所述第二图像块和所述参考图像块之间的位移,确定所述第二图像块的运动矢量,将所述第二图像块的运动矢量作为所述第一图像块的运动矢量。
在一些实施例中,所述运动补偿单元1101包括:
第二确定单元,被配置为执行基于第一图像块在所述视频帧中的位置,从所述视频帧中确定与所述第一图像块相邻的至少一个第三图像块,所述第一图像块是指所述视频帧中任意一个图像块;
运动补偿子单元,被配置为执行基于所述第一图像块的运动矢量和所述至少一个第三图像块的运动矢量,对所述第一图像块进行运动补偿,得到所述第一图像块对应的第一运动补偿图像块。
在一些实施例中,所述运动补偿子单元,被配置为执行:
基于所述第一图像块的运动矢量,对所述第一图像块进行运动补偿,得到所述第一图像块对应的第一中间运动补偿图像块;
基于每个第三图像块的运动矢量,分别对所述第一图像块进行运动补偿,得到所述第一图像块对应的至少一个第二中间运动补偿图像块;
基于所述第一中间运动补偿图像块和所述至少一个第二中间运动补偿图像块,确定所述第一运动补偿图像块。
在一些实施例中,所述运动补偿子单元,被配置为执行:
基于每个第三图像块在所述视频帧中的位置,依次将每个第二中间运动补偿图像块中每个像素点的像素值加权到所述第一中间运动补偿图像块中对应像素点的像素值,得到所述第一运动补偿图像块。
在一些实施例中,所述时域滤波单元1102,被配置为执行:
基于每个运动补偿图像块对应的时域滤波权重,对所述视频帧进行时域滤波,得到滤波后的所述视频帧,其中,所述运动补偿图像块与所述视频帧之间的相似程度与所述运动补偿图像块的时域滤波权重相关。
在一些实施例中,所述装置还包括:
第三确定单元,被配置为执行基于每个运动补偿图像块对应的初始时域滤波权重和每个运动补偿图像块的至少一个相邻运动补偿图像块,确定每个运动补偿图像块对应的时域滤波权重。
在一些实施例中,所述第三确定单元,被配置为执行:
确定第一运动补偿图像块以及与所述第一运动补偿图像块相邻的至少一个第二运动补偿图像块,所述第一运动补偿图像块是指任意一个运动补偿图像块;
基于所述第一运动补偿图像块对应的初始时域滤波权重和所述至少一个第二运动补偿图像块对应的初始时域滤波权重,确定所述第一运动补偿图像块对应的第一时域滤波权重。
在一些实施例中,所述第三确定单元,被配置为执行:
确定所述第一运动补偿图像块的第一区域中每个像素点对应的初始时域滤波权重,所述第一区域是指所述第一运动补偿图像块的边缘区域;
基于所述至少一个第二运动补偿图像块中与所述第一区域相邻的目标运动补偿图像块,确定所述目标运动补偿图像块的目标区域中每个像素点对应的初始时域滤波权重,所述目标区域是指所述目标运动补偿图像中与所述第一区域相邻的边缘区域;
基于所述第一区域中每个像素点对应的初始时域滤波权重和所述目标区域中每个像素点对应的初始时域滤波权重,确定所述第一区域中每个像素点对应的第一时域滤波权重。
在一些实施例中,所述第三确定单元,被配置为执行:基于高斯核和所述目标区域中每个像素点对应的初始时域滤波权重,对所述第一区域中每个像素点对应的初始时域滤波权重进行高斯滤波,得到所述第一区域中每个像素点对应的第一时域滤波权重。
在上述视频帧的编码装置中,先对视频帧进行了时域滤波,其中,对于视频帧的任意一个图像块,基于该图像块的运动矢量和该图像块的至少一个相邻图像块的运动矢量,对该图像块进行运动补偿,得到该图像块对应的运动补偿图像块,以便基于该运动补偿图像块来实现针对视频帧的时域滤波,进而根据滤波后的视频帧进行视频编码。由于上述方式在生成某一图像块的运动补偿图像块时,结合了该图像块的相邻图像块的运动矢量,因此,充分考虑了相邻图像块之间的运动连续性,可以缓解运动补偿图像块的块效应,进而有效改善视频帧的滤波效果,也即提升了视频编码效率和视频编码性能。
需要说明的是:上述实施例提供的视频帧的编码装置在对视频帧进行编码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频帧的编码装置与视频帧的编码方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在示例性实施例中,还提供了一种电子设备,该电子设备包括处理器和存储器,该存储器用于存储程序代码,该程序代码由该处理器加载并执行以实现本公开实施例中的视频帧的滤波方法和/或视频帧的编码方法。
以电子设备为终端为例,图13是本公开实施例提供的一种终端的结构示意图。该终端1300可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts GroupAudio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1300还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1300包括有:处理器1301和存储器1302。
处理器1301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1301可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1301还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1302中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器1301所执行以实现本申请中方法实施例提供的视频帧的滤波方法和/或视频帧的编码方法中电子设备执行的过程。
在一些实施例中,终端1300还可选包括有:外围设备接口1303和至少一个外围设备。处理器1301、存储器1302和外围设备接口1303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1303相连。具体地,外围设备包括:射频电路1304、显示屏1305、摄像头组件1306、音频电路1307、定位组件1308和电源1309中的至少一种。
外围设备接口1303可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1301和存储器1302。在一些实施例中,处理器1301、存储器1302和外围设备接口1303被集成在同一芯片或电路板上;在一些其他实施例中,处理器1301、存储器1302和外围设备接口1303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1304用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1304包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1304还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1305用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1305是触摸显示屏时,显示屏1305还具有采集在显示屏1305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1301进行处理。此时,显示屏1305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1305可以为一个,设置在终端1300的前面板;在另一些实施例中,显示屏1305可以为至少两个,分别设置在终端1300的不同表面或呈折叠设计;在另一些实施例中,显示屏1305可以是柔性显示屏,设置在终端1300的弯曲表面上或折叠面上。甚至,显示屏1305还可以设置成非矩形的不规则图形,也即异形屏。显示屏1305可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-EmittingDiode,有机发光二极管)等材质制备。
摄像头组件1306用于采集图像或视频。可选地,摄像头组件1306包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1306还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1307可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1301进行处理,或者输入至射频电路1304以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1300的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1301或射频电路1304的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1307还可以包括耳机插孔。
定位组件1308用于定位终端1300的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。
电源1309用于为终端1300中的各个组件进行供电。电源1309可以是交流电、直流电、一次性电池或可充电电池。当电源1309包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1300还包括有一个或多个传感器1310。该一个或多个传感器1310包括但不限于:加速度传感器1311、陀螺仪传感器1312、压力传感器1313、指纹传感器1314、光学传感器1315以及接近传感器1316。
加速度传感器1311可以检测以终端1300建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1311可以用于检测重力加速度在三个坐标轴上的分量。处理器1301可以根据加速度传感器1311采集的重力加速度信号,控制显示屏1305以横向视图或纵向视图进行用户界面的显示。加速度传感器1311还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1312可以检测终端1300的机体方向及转动角度,陀螺仪传感器1312可以与加速度传感器1311协同采集用户对终端1300的3D动作。处理器1301根据陀螺仪传感器1312采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1313可以设置在终端1300的侧边框和/或显示屏1305的下层。当压力传感器1313设置在终端1300的侧边框时,可以检测用户对终端1300的握持信号,由处理器1301根据压力传感器1313采集的握持信号进行左右手识别或快捷操作。当压力传感器1313设置在显示屏1305的下层时,由处理器1301根据用户对显示屏1305的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1314用于采集用户的指纹,由处理器1301根据指纹传感器1314采集到的指纹识别用户的身份,或者,由指纹传感器1314根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1301授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1314可以被设置在终端1300的正面、背面或侧面。当终端1300上设置有物理按键或厂商Logo时,指纹传感器1314可以与物理按键或厂商Logo集成在一起。
光学传感器1315用于采集环境光强度。在一个实施例中,处理器1301可以根据光学传感器1315采集的环境光强度,控制显示屏1305的显示亮度。具体地,当环境光强度较高时,调高显示屏1305的显示亮度;当环境光强度较低时,调低显示屏1305的显示亮度。在另一个实施例中,处理器1301还可以根据光学传感器1315采集的环境光强度,动态调整摄像头组件1306的拍摄参数。
接近传感器1316,也称距离传感器,通常设置在终端1300的前面板。接近传感器1316用于采集用户与终端1300的正面之间的距离。在一个实施例中,当接近传感器1316检测到用户与终端1300的正面之间的距离逐渐变小时,由处理器1301控制显示屏1305从亮屏状态切换为息屏状态;当接近传感器1316检测到用户与终端1300的正面之间的距离逐渐变大时,由处理器1301控制显示屏1305从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图13中示出的结构并不构成对终端1300的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
以电子设备为服务器为例,图14是本公开实施例提供的一种服务器的结构示意图。示意性地,该服务器1400可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(Central Processing Units,CPU)1401和一个或多个的存储器1402,其中,该一个或多个存储器1402中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器1401加载并执行以实现上述各个方法实施例提供的视频帧的滤波方法和/或视频帧的编码方法。当然,该服务器1400还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器1400还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种包括程序代码的计算机可读存储介质,例如包括程序代码的存储器1402,上述程序代码可由服务器1400的处理器1401执行以完成上述视频帧的滤波方法和/或视频帧的编码方法。可选地,计算机可读存储介质可以是只读内存(Read-only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact-disc Read-only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的视频帧的滤波方法和/或视频帧的编码方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (15)
1.一种视频帧的滤波方法,其特征在于,所述方法包括:
基于视频帧中多个图像块的运动矢量,对所述视频帧中每个图像块进行运动补偿,得所述视频帧中每个图像块对应的运动补偿图像块,其中,所述图像块对应的运动补偿图像块基于所述图像块的运动矢量和所述图像块的至少一个相邻图像块的运动矢量,对所述图像块进行运动补偿得到;
基于所述视频帧中每个图像块对应的运动补偿图像块,对所述视频帧进行时域滤波,得到滤波后的所述视频帧。
2.根据权利要求1所述的视频帧的滤波方法,其特征在于,所述方法还包括:
基于第一图像块在所述视频帧中的位置,从所述视频帧中确定第二图像块,所述第二图像块覆盖所述第一图像块且所述第二图像块的尺寸大于所述第一图像块的尺寸,所述第一图像块是指所述视频帧中任意一个图像块;
基于所述第二图像块和所述视频帧的参考帧,对所述第二图像块进行运动估计,将所述第二图像块的运动矢量作为所述第一图像块的运动矢量,所述视频帧与所述参考帧在时域上具备关联关系。
3.根据权利要求2所述的视频帧的滤波方法,其特征在于,所述基于所述第二图像块和所述视频帧的参考帧,对所述第二图像块进行运动估计,将所述第二图像块的运动矢量作为所述第一图像块的运动矢量,包括:
以所述第二图像块为搜索单位,在所述参考帧中以分像素精度进行搜索,得到所述第二图像块对应的参考图像块;
基于所述第二图像块和所述参考图像块之间的位移,确定所述第二图像块的运动矢量,将所述第二图像块的运动矢量作为所述第一图像块的运动矢量。
4.根据权利要求1所述的视频帧的滤波方法,其特征在于,所述基于视频帧中多个图像块的运动矢量,对所述视频帧中每个图像块进行运动补偿,得所述视频帧中每个图像块对应的运动补偿图像块,包括:
基于第一图像块在所述视频帧中的位置,从所述视频帧中确定与所述第一图像块相邻的至少一个第三图像块,所述第一图像块是指所述视频帧中任意一个图像块;
基于所述第一图像块的运动矢量和所述至少一个第三图像块的运动矢量,对所述第一图像块进行运动补偿,得到所述第一图像块对应的第一运动补偿图像块。
5.根据权利要求4所述的视频帧的滤波方法,其特征在于,所述基于所述第一图像块的运动矢量和所述至少一个第三图像块的运动矢量,对所述第一图像块进行运动补偿,得到所述第一图像块对应的第一运动补偿图像块,包括:
基于所述第一图像块的运动矢量,对所述第一图像块进行运动补偿,得到所述第一图像块对应的第一中间运动补偿图像块;
基于每个第三图像块的运动矢量,分别对所述第一图像块进行运动补偿,得到所述第一图像块对应的至少一个第二中间运动补偿图像块;
基于所述第一中间运动补偿图像块和所述至少一个第二中间运动补偿图像块,确定所述第一运动补偿图像块。
6.根据权利要求5所述的视频帧的滤波方法,其特征在于,所述基于所述第一中间运动补偿图像块和所述至少一个第二中间运动补偿图像块,确定所述第一图像块对应的第一运动补偿图像块,包括:
基于每个第三图像块在所述视频帧中的位置,依次将每个第二中间运动补偿图像块中每个像素点的像素值加权到所述第一中间运动补偿图像块中对应像素点的像素值,得到所述第一运动补偿图像块。
7.根据权利要求1所述的视频帧的滤波方法,其特征在于,所述基于所述视频帧中每个图像块对应的运动补偿图像块,对所述视频帧进行时域滤波,得到滤波后的所述视频帧,包括:
基于每个运动补偿图像块对应的时域滤波权重,对所述视频帧进行时域滤波,得到滤波后的所述视频帧,其中,所述运动补偿图像块与所述视频帧之间的相似程度与所述运动补偿图像块的时域滤波权重相关。
8.根据权利要求7所述的视频帧的滤波方法,其特征在于,所述方法还包括:
基于每个运动补偿图像块对应的初始时域滤波权重和每个运动补偿图像块的至少一个相邻运动补偿图像块,确定每个运动补偿图像块对应的时域滤波权重。
9.根据权利要求8所述的视频帧的滤波方法,其特征在于,所述基于每个运动补偿图像块对应的初始时域滤波权重和每个运动补偿图像块的至少一个相邻运动补偿图像块,确定每个运动补偿图像块对应的时域滤波权重,包括:
确定第一运动补偿图像块以及与所述第一运动补偿图像块相邻的至少一个第二运动补偿图像块,所述第一运动补偿图像块是指任意一个运动补偿图像块;
基于所述第一运动补偿图像块对应的初始时域滤波权重和所述至少一个第二运动补偿图像块对应的初始时域滤波权重,确定所述第一运动补偿图像块对应的第一时域滤波权重。
10.根据权利要求9所述的视频帧的滤波方法,其特征在于,所述基于所述第一运动补偿图像块对应的初始时域滤波权重和所述至少一个第二运动补偿图像块对应的初始时域滤波权重,确定所述第一运动补偿图像块对应的第一时域滤波权重,包括:
确定所述第一运动补偿图像块的第一区域中每个像素点对应的初始时域滤波权重,所述第一区域是指所述第一运动补偿图像块的边缘区域;
基于所述至少一个第二运动补偿图像块中与所述第一区域相邻的目标运动补偿图像块,确定所述目标运动补偿图像块的目标区域中每个像素点对应的初始时域滤波权重,所述目标区域是指所述目标运动补偿图像中与所述第一区域相邻的边缘区域;
基于所述第一区域中每个像素点对应的初始时域滤波权重和所述目标区域中每个像素点对应的初始时域滤波权重,确定所述第一区域中每个像素点对应的第一时域滤波权重。
11.一种视频帧的编码方法,其特征在于,所述方法包括:
基于待编码的视频帧中多个图像块的运动矢量,对所述视频帧中每个图像块进行运动补偿,得所述视频帧中每个图像块对应的运动补偿图像块,其中,所述图像块对应的运动补偿图像块基于所述图像块的运动矢量和所述图像块的至少一个相邻图像块的运动矢量,对所述图像块进行运动补偿得到;
基于所述视频帧中每个图像块对应的运动补偿图像块,对所述视频帧进行时域滤波,得到滤波后的所述视频帧;
基于滤波后的所述视频帧,对所述视频帧进行编码。
12.一种视频帧的滤波装置,其特征在于,所述装置包括:
运动补偿单元,被配置为执行基于视频帧中多个图像块的运动矢量,对所述视频帧中每个图像块进行运动补偿,得所述视频帧中每个图像块对应的运动补偿图像块,其中,所述图像块对应的运动补偿图像块基于所述图像块的运动矢量和所述图像块的至少一个相邻图像块的运动矢量,对所述图像块进行运动补偿得到;
时域滤波单元,被配置为执行基于所述视频帧中每个图像块对应的运动补偿图像块,对所述视频帧进行时域滤波,得到滤波后的所述视频帧。
13.一种视频帧的编码装置,其特征在于,所述装置包括:
运动补偿单元,被配置为执行基于待编码的视频帧中多个图像块的运动矢量,对所述视频帧中每个图像块进行运动补偿,得所述视频帧中每个图像块对应的运动补偿图像块,其中,所述图像块对应的运动补偿图像块基于所述图像块的运动矢量和所述图像块的至少一个相邻图像块的运动矢量,对所述图像块进行运动补偿得到;
时域滤波单元,被配置为执行基于所述视频帧中每个图像块对应的运动补偿图像块,对所述视频帧进行时域滤波,得到滤波后的所述视频帧;
编码单元,被配置为执行基于滤波后的所述视频帧,对所述视频帧进行编码。
14.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
用于存储所述处理器可执行程序代码的存储器;
其中,所述处理器被配置为执行所述程序代码,以实现如权利要求1至11中任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的程序代码由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410010994.9A CN117834881A (zh) | 2024-01-03 | 2024-01-03 | 视频帧的滤波方法、视频帧的编码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410010994.9A CN117834881A (zh) | 2024-01-03 | 2024-01-03 | 视频帧的滤波方法、视频帧的编码方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117834881A true CN117834881A (zh) | 2024-04-05 |
Family
ID=90520721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410010994.9A Pending CN117834881A (zh) | 2024-01-03 | 2024-01-03 | 视频帧的滤波方法、视频帧的编码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117834881A (zh) |
-
2024
- 2024-01-03 CN CN202410010994.9A patent/CN117834881A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110933334B (zh) | 视频降噪方法、装置、终端及存储介质 | |
CN110110787A (zh) | 目标的位置获取方法、装置、计算机设备及存储介质 | |
CN110062246B (zh) | 对视频帧数据进行处理的方法和装置 | |
CN110599593B (zh) | 数据合成的方法、装置、设备及存储介质 | |
CN108776822B (zh) | 目标区域检测方法、装置、终端及存储介质 | |
CN112967730B (zh) | 语音信号的处理方法、装置、电子设备及存储介质 | |
CN113891074B (zh) | 视频编码方法和装置、电子装置和计算机可读存储介质 | |
CN111107357A (zh) | 一种图像处理的方法、装置及系统 | |
CN116074512A (zh) | 视频编码方法、装置、电子设备以及存储介质 | |
CN113379624B (zh) | 图像生成方法、图像生成模型的训练方法、装置及设备 | |
CN111770339B (zh) | 视频编码方法、装置、设备及存储介质 | |
CN113822916B (zh) | 图像匹配方法、装置、设备及可读存储介质 | |
CN111127539B (zh) | 视差确定方法、装置、计算机设备及存储介质 | |
CN117834881A (zh) | 视频帧的滤波方法、视频帧的编码方法及装置 | |
CN109040753B (zh) | 预测模式选择方法、装置及存储介质 | |
CN110660031B (zh) | 图像锐化方法及装置、存储介质 | |
CN108881739B (zh) | 图像生成方法、装置、终端及存储介质 | |
CN110062226B (zh) | 一种视频编码方法、视频解码方法、装置、系统及介质 | |
CN113658283B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN111641831B (zh) | 帧内预测方法、装置、设备及存储介质 | |
CN114268797B (zh) | 用于视频的时域滤波的方法、装置、存储介质及电子设备 | |
CN113763486B (zh) | 主色调提取方法、装置、电子设备及存储介质 | |
CN113079372B (zh) | 帧间预测的编码方法、装置、设备及可读存储介质 | |
CN114612841A (zh) | 视频处理方法、装置、计算机设备及介质 | |
CN113409235A (zh) | 一种灭点估计的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |