视频处理方法和装置与流程

文档序号:26792056发布日期:2021-09-28 23:44阅读:169来源:国知局
视频处理方法和装置与流程
视频处理方法和装置
1.本技术要求2020年3月26日递交的美国临时申请63/000,292的优先权,以及2020年11月11日递交的美国申请17/095,602的优先权,其全部内容通过引用结合在本文中。
技术领域
2.本技术实施例主要涉及视频平滑技术,特别地,涉及视频的时间平滑方法和装置。


背景技术:

3.本文提供的背景描述是为了呈现本技术的背景。记名的发明人的工作,在该背景部分描述的工作以及本说明书各实施例的范围内的内容,在递交时可能并不算作现有技术,均未被明示或暗示地承认作为不利于本技术的现有技术。
4.沉浸式视频包括来自多个方向的景象,并且可经过渲染以提供特殊的用户体验。在示例中,使用全向摄像机或摄像机集合录制同时来自多个方向的视频记录,作为沉浸式视频。在普通平面显示器上回放期间,观看者像控制全景图一样控制观看方向。在另一示例中,在虚拟现实应用程序中,计算机技术创建沉浸式视频,以复制真实环境或创建虚构环境,因此用户可以获得身处三维环境的模拟体验。


技术实现要素:

5.本技术各方面提供了用于视频处理的方法和装置。在一些示例中,用于视频处理的装置包括处理电路。例如,处理电路确定当前帧中当前块的帧间隔。当前帧是一个帧序列内的帧,帧间隔指示该帧序列中的一组帧,该组帧具有与当前块相比满足误差度量要求的当前块的同位块。此外,处理电路基于该组帧中的同位块确定替换块,并用替换块替换当前帧中的当前块。
6.在一些实施例中,处理电路确定当前帧之前的起始帧。在起始帧及起始帧与当前帧之间的帧中包括当前块的同位块,所述同位块与当前块相比满足误差度量要求。
7.在一些实施例中,处理电路确定当前帧之后的结束帧。在结束帧及当前帧与结束帧之间的帧中的当前块的同位块与当前块相比满足误差度量要求。
8.在一些示例中,响应于帧间隔小于预定阈值且较小块的尺寸满足尺寸要求,处理电路将当前块划分为较小的块。
9.在一些实施例中,使用自上而下的块分解。例如,处理电路将当前帧划分为满足最大尺寸要求的最大块,并基于帧间隔要求和最小尺寸要求递归地对最大块中的每个块进行划分。
10.在一些实施例中,使用自下而上的块分解。例如,处理电路将当前帧划分为满足最小尺寸要求的最小块,并基于帧间隔要求和最大尺寸要求递归地将相邻最小块组合起来。
11.在一些示例中,误差度量要求包括针对当前块与同位块中的每个同位块之间的误差的第一要求,及各同位块到当前块的综合误差的第二要求。该误差被计算为绝对差之和、均方误差和像素加权差中的至少一个。
12.在一些实施例中,处理电路对同位块进行滤波以确定替换块。处理电路可使用均值滤波器、中值滤波器和高斯滤波器中的至少一个对同位块进行滤波。
13.本技术的各方面还提供一种存储指令的非易失性计算机可读介质,当由计算机执行该指令以进行视频处理时,使得计算机执行用于视频处理的方法。
附图说明
14.根据以下具体实施方式和附图,所公开的主题的进一步特征、性质和各种优点将更加明显,其中:
15.图1为本技术实施例的视频系统的框图。
16.图2为本技术一些实施例的块划分的示意图。
17.图3为本技术实施例的块分解的示例。
18.图4为本技术一些实施例的平滑间隔长度的计算示例的示意图。
19.图5为本技术实施例的方法示例的概述流程图。
20.图6是一个实施例的计算机系统的示意图。
具体实施方式
21.沉浸式视频是沉浸式媒体的一部分。通常,沉浸式视频包括同时记录多个方向上的景象的视频记录,例如使用全向摄像机或摄像机集合拍摄的视频。此外,在一些示例中,在显示器(例如平面显示器)上回放期间,观看者像控制全景图一样控制观看方向。沉浸式视频可以在设置在球体或球体的某个部分上的显示器或投影仪上播放。
22.在一些示例中,沉浸式视频的已编码表示可以支持3个自由度(3dof,3degrees of freedom)。例如,观看者的位置是静止的,但是观看者的头部可以偏转、俯仰和转动。在一些其它示例中,沉浸式视频的已编码表示可以支持6个自由度(6dof)。除3dof方位(例如,偏转、俯仰和转动)之外,6dof还能够在水平、垂直和深度方向上进行平移运动。平移运动可以造成交互式运动视差,从而为观看者提供对观看者的视觉系统的自然提示,并且可以增强对观看者周围空间体量的感知。
23.根据本技术的一方面,对于给定的视点位置和姿态,可以生成合成视图的图像,例如使用视图合成软件和/或硬件。合成视图可能表现出时间噪声,尤其是在静态背景情况下。例如,在“篮球”测试序列中,篮球架、线(半场线、3分线和罚球线等)在合成视图中会表现出严重的时间噪声,诸如来回移动、振动等。时间噪声可能对观看者造成困扰。本技术提供的基于块的视频时间平滑技术,可执行时间去噪并提高观看者所感知到的视频质量。在一些实施例中,当视频时间去噪在视频编码之前执行时,可以提高视频压缩速度和效率,并且可以降低视频传输带宽。
24.图1为本技术实施例的视频系统100的框图。视频系统100包括相互耦合的源系统110、传送系统150和渲染系统160。源系统110用于获取视频的视觉图像,并将视觉图像编码为,例如,已编码视频码流。传送系统150用于将已编码视频码流从源系统110传送到渲染系统160。渲染系统160用于从已编码视频码流中解码出并重建视觉图像,并渲染重建的视觉图像。
25.源系统110可以使用任何合适的技术来实现。在示例中,源系统110的部件被组装
在封装好的设备中。在另一示例中,源系统110是分布式系统,源系统110的部件可以设置在不同位置,并且以适当方式耦合在一起,例如通过有线连接和/或无线连接。
26.在图1的示例中,源系统100包括耦合在一起的获取设备112、处理电路(例如,图像处理电路)120、存储器115和接口电路111。
27.获取设备112用于获取图片帧序列形式的视频。获取设备112可以具有任何合适的设置。在示例中,获取设备112包括具有多个摄像头的摄像装备(未示出),例如具有两个鱼眼摄像头的成像系统、具有四个摄像头的四面体成像系统、具有六个摄像头的立方体成像系统、具有八个摄像头的八面体成像系统、具有二十个摄像头的二十面体成像系统等,用于拍摄周围空间中各个方向的图像。
28.在一个实施例中,来自多个摄像头的图像可被拼接成三维(3d)图片,以提供比单个摄像头更大的周围空间覆盖。在示例中,由摄像机拍摄的图像可以提供覆盖整个周围空间的360度球面的3d图片。应注意,由多个摄像头拍摄的图像可以提供覆盖周围空间的小于360度球面的图片。在示例中,按时间顺序拍摄的3d图片可以形成沉浸式视频。
29.在一些实施例中,由获取设备112获取的图像可被以适当的方式存储或缓冲在,例如,存储器115中。处理电路120可以访问存储器115并处理这些图像。在一些示例中,处理电路120基于虚拟摄像机合成技术来配置,并且可针对给定视点的位置和姿态生成合成视图。在示例中,根据由获取设备112获取并存储在存储器115中的图像,处理电路120可生成针对一个视点的视频(例如,图像序列)。此外,在一些示例中,处理电路120包括视频编码器130,其可以对视频进行编码并生成承载已编码视频的已编码视频码流。
30.在一个实施例中,处理电路120由至少一个处理器实现,并且该至少一个处理器用于执行软件指令以执行媒体数据处理。在另一实施例中,处理电路120由集成电路实现。
31.在图1的示例中,已编码视频码流可经由接口电路111提供给传送系统150。传送系统150用于以适当的方式将已编码视频码流提供给客户端设备,例如渲染系统160。一个实施例中,传送系统150可包括服务器、存储设备、网络设备等。传送系统150的部件经由有线和/或无线连接以适当的方式耦合在一起。传送系统150经由有线和/或无线连接以适当的方式与源系统110和渲染系统160耦合。
32.渲染系统160可由任何合适的技术实现。在示例中,渲染系统160的部件被组装在封装好的设备中。在另一示例中,渲染系统160是分布式系统,渲染系统160的部件可以位于不同的位置,并且通过有线连接和/或无线连接以适当的方式耦合在一起。
33.在图1的示例中,渲染系统160包括耦合在一起的接口电路161、处理电路170和显示设备165。接口电路161用于以适当的方式接收视频的图像序列对应的已编码视频码流。
34.在一实施例中,处理电路170用于处理已编码视频码流并且重建图像序列以供显示设备165呈现给至少一个用户。例如,处理电路170包括视频解码器180,其可对已编码视频码流中的信息进行解码并重建出图像序列。
35.显示设备165可以是任何合适的显示器,例如电视、智能电话、可穿戴显示器、头戴式设备等。在示例中,显示设备165可以接收图像序列并以适当的方式显示图像序列。在一些示例中,显示设备165包括处理电路190,其用于处理接收到的图像以生成用于显示的最终图像。
36.本技术的各方面提供了视频的时间去噪技术。该视频的时间去噪技术可通过视频
系统100中的各种部件作用于视频,这些部件例如为处理电路120、处理电路170、处理电路190等。在示例中,处理电路120可在视频被视频编码器130编码成已编码视频码流之前,应用该视频的时间去噪技术。在另一示例中,处理电路170可在视频解码器180对已编码视频码流进行解码之后,对应用该视频的时间去噪技术。在另一示例中,处理电路190可在生成用于显示的最终图像之前应用该视频的时间去噪技术。
37.该视频的时间去噪技术基于自适应的基于块的时间平滑。在一些实施例中,可以将视频分解为一组2

d时间相关块。将视频分解为2

d块可以通过递归的块划分方案实现。此外,在一些实施例中,对于每一块,可以利用该组块建立时间平滑间隔,并以基于时间平滑间隔去除噪声。
38.视频的时间去噪技术包括用于块分解的第一技术和用于时间平滑的第二技术。第一技术可以将视频分解为多个2

d块,并在时间方向上搜索满足给定度量的对应块。第二技术可基于搜索结果应用时间平滑以实现去噪。
39.应注意,虽然以下描述在帧级处理视频,但所公开的技术可应用在场级或帧级与场级的组合的情形。还应注意,本技术中公开的技术可单独使用或以任何顺序组合使用。此外,各方法(或各实施例)、编码器和解码器中的每一个可由处理电路(例如,至少一个处理器或至少一个集成电路)实现。在一个示例中,至少一个处理器执行存储在非易失性计算机可读介质中的程序。
40.根据本技术的一些方面,块分解技术可将输入视频中的每一帧分解为多个2

d块。在一些示例中,输入视频中的每一帧尺寸为w x h,其中w和h分别是宽度和高度。在一些实施例中,通过检查当前帧之前的帧(以显示顺序)和当前帧之后的帧,可由决定性方案确定2

d块的尺寸。2

d块的尺寸也受到最大允许块尺寸bsmax和最小允许块尺寸的限制。最大允许块尺寸bsmax和最小允许块尺寸bsmin可以是任何合适的数字。一个示例中,对于1080p(1920
×
1080像素)的视频内容,bsmax等于64且bsmin等于8。在另一示例中,对于1080p(1920
×
1080像素)的视频内容,bsmax等于64且bsmin等于4。
41.块分解可以通过自上而下的方法或自下而上的方法来完成。
42.根据本技术的一方面,自上而下的方法首先将每一帧划分为尺寸为bsmax
×
bsmax的不重叠的2

d块。此外,对于尺寸为bsmax
×
bsmax的每个块,使用递归方案确定是否将较大块分解为(在水平和垂直方向上)具有一半尺寸的四个块。
43.为了对块使用递归方案,可以执行一个时间方向或两个时间方向上的搜索,以确定满足给定度量的其它帧中的相应块。具体地,在一些示例中,对于当前帧中尺寸为m
×
m的当前块,搜索当前帧之前(显示顺序)的帧和/或当前帧之后的帧以计算当前块的平滑间隔长度sil(smoothing interval length,也称为帧间隔)。平滑间隔长度的计算将参照图4进行详细描述。
44.图2为本技术一些实施例的块划分的示意图。如图2所示,当前块(210)具有尺寸m
×
m。为了对当前块使用递归方案,如果m/2小于bsmin,则当前块(210)的块分解已完成;否则,如果平滑间隔长度值sil大于或等于被称为平滑间隔阈值silth的阈值,则当前块(210)的块分解已完成。对于当前块(210),如果平滑间隔长度值sil小于平滑间隔阈值silth,并且m/2大于或等于bsmin,则当前块(210)可被分解为尺寸为m/2
×
m/2的4个块(211)

(214),如图2所示。
45.在自上而下的方法中,递归分解从块尺寸为bsmax
×
bsmax的块开始。在所有块均经过递归分解(平滑间隔长度值sil大于或等于平滑间隔阈值silth,或者块尺寸达到最小允许块尺寸bsmin
×
bsmin)之后,块分解完成。
46.图3为本技术实施例的块分解的示例。在图3的示例中,帧(300)被分解为不同尺寸的块。在图3的示例中,bsmax等于64且bsmin等于8。以自上而下方法为例,帧(300)被划分为块(311)

(314),每一块的尺寸为64
×
64。
47.对于块(311),执行一个或多个时间方向上的搜索以计算块(311)的平滑间隔长度sil。平滑间隔长度sil大于或等于平滑间隔阈值silth,因此块(311)的分解完成。
48.对于块(312),执行一个或多个时间方向上的搜索以计算块(312)的平滑间隔长度sil。平滑间隔长度sil小于平滑间隔阈值silth,并且64/2大于bsmin,从而块(312)被划分为块(321)

(324)。
49.一个示例中,对于块(321)

(324)中的每个块,执行一个或多个时间方向上的搜索以计算平滑间隔长度sil。对于块(321)

(324)中的每个块,平滑间隔长度sil大于或等于平滑间隔阈值silth,因此块(321)

(324)中每个块的分解完成。
50.对于块(313),执行一个或多个时间方向上的搜索以计算块(313)的平滑间隔长度sil。平滑间隔长度sil大于或等于平滑间隔阈值silth,因此块(313)的分解完成。
51.对于块(314),执行一个或多个时间方向上的搜索以计算块(314)的平滑间隔长度sil。平滑间隔长度sil小于平滑间隔阈值silth,并且64/2大于bsmin,因此块(314)被划分为块(331)

(334)。
52.对于块(331),执行一个或多个时间方向上的搜索以计算块(331)的平滑间隔长度sil。平滑间隔长度sil小于平滑间隔阈值silth,并且32/2大于bsmin,因此块(331)被划分为块(341)

(344)。
53.一个示例中,对于块(341)、(343)和(344)中的每个块,执行一个或多个时间方向上的搜索以计算平滑间隔长度sil。对于块(341)、(343)和(344)中的每个块,平滑间隔长度sil大于或等于平滑间隔阈值silth,因此块(341)、(343)和(344)中每个块的分解完成。
54.对于块(342),执行一个或多个时间方向上的搜索以计算块(342)的平滑间隔长度sil。平滑间隔长度sil小于平滑间隔阈值silth,并且16/2等于bsmin,因此块(342)被划分为块(a)

(d)。由于块(a)

(d)具有最小允许块尺寸,并且因此不再分解。
55.一个示例中,对于块(332)

(334)中的每个块,执行一个或多个时间方向上的搜索以计算平滑间隔长度sil。对于块(332)

(334)中的每个块,平滑间隔长度sil大于或等于平滑间隔阈值silth,因此对于块(332)

(334)中的每个块的分解完成。
56.图4为本技术一些实施例的平滑间隔长度的计算方法示例的示意图。
57.在一些实施例中,为了计算当前帧(401)中给定块的平滑间隔长度,执行搜索以找到起始帧(410)和/或结束帧(420)。然后基于从起始帧(410)到结束帧(420)的多个帧,可对给定块执行时间平滑。在实施例中,可通过双阈值算法确定起始帧(410)和结束帧(420)。
58.在相关示例中,在视频去噪中执行双阈值算法以进行像素级时间平均。在本技术中,可执行基于块的时间平滑,其与执行像素级方法相比增加了汇集优势。
59.例如,假设当前帧(401)具有帧索引i,通过计算当前块与当前帧(401)之前的帧中的同位块(与当前块尺寸相同并且在相应帧中与当前块的坐标相同的块)之间的误差度量,
并使用直接误差阈值deth和累积误差阈值aeth,使用迭代方案来确定起始帧(410)的帧索引。在一些示例中,直接误差阈值deth和累积误差阈值aeth两者均是当前块(401)的块尺寸,例如m
×
m,的函数。一个实施例中,直接误差阈值deth和累积误差阈值aeth可被设置为块尺寸的恒定标量。例如,如果像素值被表示为10位整数,则直接误差阈值deth可被设置为2.5
×
m2,而累积误差阈值aeth可被设置为5.0
×
m2。
60.两个块之间的误差度量(由eb表示)可通过任何合适的度量来计算,该度量测量具有相同尺寸和位置的两个块之差。一个示例中,两个块之间的误差度量eb被计算为两个块的同位(例如,相同的水平位置和相同的垂直位置)像素的绝对差之和。在另一示例中,两个块之间的误差度量eb被计算为两个块中的同位(例如,相同的水平位置和相同的垂直位置)像素的均方误差之和。在另一示例中,两个块之间的误差度量eb被计算为两个块的同位(例如,相同的水平位置和相同的垂直位置)像素的加权差之和。
61.一个实施例中,可通过对所有颜色通道(诸如,yuv、rgb、hsv等)求和来计算误差度量eb。在另一实施例中,可以为一个或几个颜色通道计算误差度量eb。
62.一个示例中,误差度量eb被计算为帧平面中具有相同坐标的两个块的y通道的绝对差之和。例如,当前块(401)在帧i中而其它块在帧j中,使用等式1计算误差度量eb:eb=∑
l<x<r,t<y<b
|y
i,x,y

y
j,x,y
|
ꢀꢀ
(等式1)其中,y
i,x,y
是位于帧i中坐标(x,y)处的像素的亮度(y通道)值,而y
j,x,y
是位于帧j中相同坐标(x,y)处的像素的亮度(y通道)值。位置(l+1,t+1)是帧i中当前块和帧j中同位块的左上顶点(坐标),而(r

1,b

1)是帧i中当前块和帧j中同位块的右下顶点(坐标)。
63.一个实施例中,对于当前帧(401)中的给定块,使用搜索算法在视频中执行搜索以找到当前帧(401)之前的起始帧(410)。假设视频从帧0开始,当前帧为帧i,那么搜索算法根据以下步骤确定起始帧i
start
;步骤1、设置k=i

1,search=true,sum_err=0步骤2、如果(k>=0)并且(search=true)a、计算当前块和帧k中在同一空间位置处的块之间的误差(eb)b、如果(eb>deth)search=false,则搜索停止c、sum_err=sum_err+ebd、如果(sum_err>aeth)search=false,则搜索停止e、k=k

1f、返回至步骤2。步骤3、设置i
start
=k+1
64.一个实施例中,对于当前帧(401)中的给定块,使用类似的搜索算法在视频中执行另一搜索以找到当前帧(401)之后的、具有帧索引i
end
的结束帧(420)。
65.一个实施例中,执行第一搜索以找到起始帧(410)并执行第二搜索以找到结束帧(420),而将平滑间隔长度计算为i
end
与i
start
之差。
66.在另一实施例中,执行搜索算法以找到当前帧(401)之前的起始帧(410),并将平滑间隔长度计算为i与i
start
之差。
67.在另一实施例中,执行搜索算法以找到当前帧(401)之后的结束帧(420),并将平滑间隔长度被计算为i
end
与i之差。
68.根据本技术的一方面,自下而上的方法可用于块划分。在自下向上的方法中,块分解以尺寸为bsmin
×
bsmin的最小块开始。例如,一个帧被分解为尺寸为bsmin
×
bsmin的不重叠的块。然后,以与自上而下方法类似的方式,基于对较大块的平滑间隔长度值的阈值设定,可执行递归算法对四个相邻块进行合并。
69.在一些实施例中,对于在当前帧中分解出的每一块,在确定起始帧索引(例如,i
start
)和/或结束帧索引(例如,i
end
)之后,可以对该块执行时间平滑以减少时间噪声。
70.一个实施例中,对于当前帧(帧索引为i)中的当前块,基于从起始帧索引到结束帧索引的多个帧执行时间平滑以减少时间噪声。
71.在一些示例中,对于当前帧中的当前块(例如,分解后的2

d块),如果平滑间隔长度(例如,i
end

i
start
)大于或等于平滑间隔阈值silth,则对包括从帧索引i
start
到帧索引i
end
中与当前块具有相同空间位置的多个2

d块的3维体应用时间平滑滤波器。一个示例中,该3维体包括当前帧的当前块;在另一示例中,该3维体不包括当前帧的当前块。时间平滑滤波器可以是任何合适的滤波器,例如均值滤波器、中值滤波器、高斯滤波器等。滤波结果用于替换当前帧中的当前块。应注意,在一些示例中,在滤波和替换步骤中仅改变当前块的像素值,而当前帧之前和当前帧之后的2d块保持不变。
72.在一些示例中,对于当前帧中的当前块,如果平滑间隔长度(例如,i
end

i
start
)小于平滑间隔阈值silth,则不对当前块应用时间平滑滤波器。
73.在一些示例中,在用时间平滑替换2

d块的像素值之后,如果该2

d块被选择用于(例如,后续帧中的)另一个块的时间平滑,则该2

d块的原始像素值(时间平滑之前的像素值)将被用于该另一块的时间平滑。在一些其它示例中,在用时间平滑替换2

d块的像素值之后,如果该2

d块被选择用于对(例如,后续帧中的)另一个块的时间平滑,则该2

d块的替换后的像素值(时间平滑之后的像素值)将被用于该另一块的时间平滑。
74.尽管上述时间平滑技术基于从起始帧索引到结束帧索引的多个帧以减少时间噪声,但在一些实施例中,时间平滑技术可以修改为基于从起始帧索引到当前帧索引的多个帧。在一些其它实施例中,时间平滑技术可以修改为基于从当前帧索引到结束帧索引的多个帧。
75.图5示出了本技术实施例的方法(500)的概要流程图。方法(500)可用于去除视频中的时间噪声。在各实施例中,方法(500)由处理电路执行,例如处理电路(120)、处理电路(170)、处理电路(190)等。一个示例中,方法(500)由处理电路(120)在视频编码器(130)对视频中的帧序列进行编码之前执行。在另一示例中,方法(500)由处理电路(170)在视频解码器(180)利用已编码视频码流重建视频的帧序列之后执行。在另一示例中,方法(500)由处理电路(190)在生成用于显示的最终图像之前执行。在一些实施例中,方法(500)由软件指令实现,因此当处理电路执行软件指令时,处理电路执行方法(500)。该方法开始于(s501)并进行到(s510)。
76.在(s510),确定当前帧的当前块的帧间隔(例如,平滑间隔长度)。当前帧是帧序列内的帧。帧间隔指示帧序列中的一组帧,这些帧中具有与当前块相比满足误差度量要求(例如,小于直接误差阈值deth,小于累积误差阈值aeth)的当前块的同位块。
77.在一实施例中,确定当前帧之前的起始帧。当前块在起始帧及起始帧与当前帧之间的多个帧中的同位块与当前块相比满足误差度量要求。此外,确定当前帧之后的结束帧。
当前块在结束帧及当前帧与结束帧之间的多个帧中的同位块与当前块相比满足误差度量要求。
78.在一些实施例中,响应于帧间隔小于预定阈值,可将当前块划分为较小块,并且这些较小块的尺寸满足一尺寸要求。
79.在一些实施例中,可以使用自上而下的块分解方式。例如,当前帧被划分为满足最大尺寸要求的最大块(例如,宽度和高度分别等于最大允许块尺寸bsmax)。然后,基于帧间隔要求(例如,要求平滑间隔长度sil大于平滑间隔阈值silth)和最小尺寸要求(例如,最小允许块尺寸是bsmin)对最大块中的每个块进行递归式的划分。
80.在一些实施例中,可以使用自下而上的块分解方式。例如,当前帧被划分为满足最小尺寸要求的最小块。然后,基于帧间隔要求和最大尺寸要求对这些最小块进行递归式的合并。
81.在一些实施例中,误差度量要求包括第一要求(例如,每个同位块与当前块之间的误差小于直接误差阈值deth)和多个同位块与当前块的综合误差的第二要求(例如,各同位块与当前块的综合误差小于累积误差阈值aeth)。误差可被计算为绝对差之和、均方误差或像素加权差。
82.在(s520),基于该组帧中的同位块确定替换块。一个示例中,对帧间隔内的各个帧中的同位块进行滤波以确定替换块。可以使用各种滤波器,例如均值滤波器、中值滤波器和高斯滤波器。
83.在(s530),用替换块替换当前帧中的当前块。然后,方法进行到(s599)并结束。
84.应注意,可以对当前帧中的每个块以适当的方式执行方法(500)。在一些实施例中,当帧间隔小于平滑间隔阈值silth时,跳过替换块的计算。
85.上述技术可以由视频处理装置实现。该装置可以包括:
86.第一确定模块,用于确定帧序列内当前帧中的当前块的帧间隔,所述帧间隔指示所述帧序列中的一组帧,所述一组帧具有与所述当前块相比满足误差度量要求的所述当前块的同位块;
87.第二确定模块,用于基于所述一组帧中的所述同位块确定替换块;及
88.替换模块,用于用所述替换块替换所述当前帧中的所述当前块。
89.一些实施例中,第一确定模块可以确定所述当前帧之前的起始帧,在所述起始帧及所述起始帧与所述当前帧之间的帧中的所述当前块的同位块与所述当前块相比满足所述误差度量要求。
90.另一些实施例中,第一确定模块可以确定所述当前帧之后的结束帧,在所述结束帧及所述当前帧与所述结束帧之间的帧中的所述当前块的同位块与所述当前块相比满足所述误差度量要求。
91.一些实施例中,该装置可以包括:划分模块,用于响应于所述帧间隔小于预定阈值,将所述当前块划分为较小块,并且所述较小块的尺寸满足尺寸要求。
92.一些实施例中,该装置可以包括:划分模块,用于将所述当前帧划分为满足最大尺寸要求的最大块;及基于帧间隔要求和最小尺寸要求,对所述最大块中的每个块进行递归式的划分。
93.一些实施例中,该装置可以包括:划分模块,用于将所述当前帧划分为满足最小尺
寸要求的最小块;及基于帧间隔要求和最大尺寸要求,对相邻的所述最小块进行递归式的合并。
94.一些实施例中,所述误差度量要求包括针对所述当前块与所述同位块中的每一者之间的误差的第一要求,及针对多个所述同位块与所述当前块的综合误差的第二要求。
95.一些实施例中,所述误差计算为绝对差之和、均方误差和像素加权差中的至少一个。
96.一些实施例中,所述第二确定模块可以对所述同位块进行滤波以确定所述替换块。
97.一些实施例中,所述替换模块可以使用均值滤波器、中值滤波器和高斯滤波器中的至少一个对所述同位块进行滤波。
98.上述技术可以使用计算机可读指令实现为计算机软件,并且物理地存储在一个或多个计算机可读介质中。例如,图6为适于实现本技术一些实施例的计算机系统(600)。
99.该计算机软件可利用任何合适的机器代码或计算机语言来编写,可经由汇编、编译、链接或类似机制生成指令代码。这些指令代码可由一个或多个计算机中央处理单元(cpu)、图形处理单元(gpu)等直接执行或通过代码解释、微代码执行等操作来执行。
100.这些指令可在多种类型的计算机或计算机组件中执行,包括,例如,个人计算机、平板电脑、服务器、智能电话、游戏设备、物联网设备等。
101.图6所示的用于计算机系统(600)的组件本质上是示例性的,而非旨在对实现本技术实施例的计算机软件的使用或功能范围做任何限制。也不应将组件的配置方式解释为对计算机系统(600)的示例性实施例中的任一部件或其组合具有任何的依赖性或要求。
102.计算机系统(600)可以包括某些人机界面输入设备。这样的人机界面输入设备可以响应于一个或多个人类用户通过例如触觉输入(诸如键击、挥动、数据手套移动)、音频输入(诸如语音、拍击)、视觉输入(诸如姿势)、嗅觉输入(未示出)的输入。人机界面设备还可用于捕捉不必直接与人类有意识输入相关的某些介质,例如音频(诸如语音、音乐、环境声音)、图像(诸如扫描的图像、从静止图像相机获得的摄影图像)、视频(诸如二维视频,包括立体视频的三维视频)。
103.人机界面输入设备可包括以下项中的一种或多种(每一种仅描绘一个):键盘(601)、鼠标(602)、触控板(603)、触摸屏(610)、数据手套(未示出)、操纵杆(605)、麦克风(606)、扫描仪(607)、照相机(608)。
104.计算机系统(600)还可以包括某些人机界面输出设备。这样的人机界面输出设备可以通过例如触觉输出、声音、光和气味/味道来刺激一个或多个人类用户的感觉。这种人机界面输出设备可以包括触觉输出设备(例如通过触摸屏(610)、数据手套(未示出)或操纵杆(605)的触觉反馈,但是也可以有不用作输入设备的触觉反馈设备)、音频输出设备(诸如扬声器(609)、耳机(未示出))、可视输出设备以及打印机(未示出),其中可视输出设备诸如屏幕(610)、虚拟现实眼镜(未示出)、全息显示器和烟雾箱(未示出),屏幕(610)包括阴极射线管(crt)屏幕、液晶显示器(lcd)屏幕、等离子屏幕、有机发光二极管(oled)屏幕,每一种都具有或不具有触摸屏输入能力,每一种都具有或不具有触觉反馈能力,这些屏幕中的一些能够通过手段(诸如立体图像输出)输出二维可视输出或多于三维的输出。
105.计算机系统(600)还可以包括人类可访问的存储设备及其相关联的介质,诸如光
学介质(包括具有cd/dvd的cd/dvd rom/rw(620))或类似介质(621)、拇指驱动器(622)、可移动硬盘驱动器或固态驱动器(623)、传统磁介质(诸如磁带和软盘(未示出))、基于专用rom/asic/pld的设备(诸如安全道尔芯片(未示出)),等等。
106.本领域技术人员还应当理解,结合当前公开的主题使用的术语“计算机可读介质”不包括传输介质、载波或其它瞬时信号。
107.计算机系统(600)还可以包括连接一个或多个通信网络的接口。网络可以是,例如,无线网络、有线网络、光网络。网络还可以是本地网、广域网、城域网、车联网的和工业网络、实时网络、延迟容忍网络等等。网络的示例包括局域网(诸如以太网、无线lan)、蜂窝网络(包括全球移动通信系统(gsm)、第三代移动通信系统(3g)、第四代移动通信系统(4g)、第五代移动通信系统(5g)、长期演进(lte)等)、电视有线或无线广域数字网络(包括有线电视、卫星电视和地面广播电视)、车辆和工业网络(包括canbus),等等。某些网络通常需要外部网络接口适配器,该外部网络接口适配器连接到某些通用数据端口或外围总线(649)(诸如计算机系统(600)的通用串行总线(usb)端口);其他的通常通过如下所述连接到系统总线而集成到计算机系统(600)的内核中(例如,进入个人计算机系统的以太网接口或进入智能手机计算机系统的蜂窝网络接口)。通过使用这些网络中的任何一个,计算机系统(600)可以与其它实体通信。这种通信可以是使用局域或广域数字网络的到其它计算机系统的单向的、仅接收的(例如广播tv)、单向仅发送的(例如到某些can总线设备的can总线)或双向的通信。可以在如上所述的那些网络和网络接口中的每一个上使用某些协议和协议栈。
108.上述人机界面设备、人类可访问存储设备和网络接口可以连接到计算机系统(600)的内核(640)。
109.内核(640)可以包括一个或多个中央处理单元(cpu)(641)、图形处理单元(gpu)(642)、以现场可编程门阵列(fpga)(643)形式存在的专用可编程处理单元、用于特定任务的硬件加速器(644)等。这些设备,以及只读存储器(rom)(645),随机存取存储器(646),内部大容量存储器(如内部非用户可访问硬盘驱动器,ssd)(647)等,可以通过系统总线(648)相互连接。在一些计算机系统中,系统总线(648)可以以一个或多个物理插头的形式访问,从而通过附加的cpu,gpu等实现扩展。外围设备可以直接,或者通过外围总线(648),连接到内核的系统总线(649)。外围总线的架构包括pci,usb等。
110.cpu(641)、gpu(642)、fpga(643)和加速器(644)可以执行某些指令,这些指令组合起来可以构成前述的计算机代码。该计算机代码可以存储在rom(645)或ram(646)中。中间数据也可以存储在ram(646)中,而永久数据可以存储在,例如,内部大容量存储器(647)中。可以通过使用高速缓冲存储器来实现到任何存储器设备的快速存储和读取,高速缓存存储器可以与一个或多个cpu(641)、gpu(642)、大容量存储器(647)、rom(645)、ram(646)等紧密关联。
111.计算机可读介质上可以具有计算机代码,在计算机代码上执行各种计算机执行的操作。介质和计算机代码可以是为本技术的目的而特别设计和构造的,也可以是计算机软件领域的技术人员所熟知和可用的介质和代码。
112.作为示例而非限制,具有体系结构(600)的计算机系统,特别是内核(640),可以提供处理器(包括cpu、gpu、fpga、加速器等)执行在一个或多个有形的计算机可读介质中的软件而实现的功能。这样的计算机可读介质可以是与如上所述的用户可访问大容量存储器相
关联的介质,以及非易失性的内核(640)的某些存储,诸如内核内部大容量存储器(647)或rom(645)。实现本技术各实施例的软件可以存储在这样的设备中并由内核(640)执行。根据特定需要,计算机可读介质可包括一个或多个存储器设备或芯片。该软件可以使内核(640),特别是其中的处理器(包括cpu,gpu,fpga等),执行本文描述的特定过程或特定过程的特定部分,包括给定存储在ram(646)中的数据结构,以及根据软件给定的过程修改这些数据结构。作为补充或作为替代,计算机系统可提供与电路(例如加速器644)中的逻辑硬连线或其它组件相同的功能,可代替软件或与软件一起操作以执行本文所述的特定过程或特定过程的特定部分。在适当的情况下,对软件的引用可以包括逻辑,反之亦然。在适当的情况下,对计算机可读介质的引用可包括存储执行软件的电路(如集成电路(ic)),包括执行逻辑的电路,或两者兼备。本技术包括硬件和软件的任何适当组合。附录a:缩略语jem:joint exploration model 联合勘探模型vvc:versatile video coding 多功能视频编码bms:benchmark set 基准集合mv:motion vector 运动向量hevc:high efficiency video coding 高效视频编码sei:supplementary enhancement information 补充增强信息vui:video usability information 视频可用性信息gops:groups of pictures 图像组tus:transform units,变换单元pus:prediction units 预测单元ctus:coding tree units 编码树单元ctbs:coding tree blocks 编码树块pbs:prediction blocks预测块hrd:hypothetical reference decoder假想参考解码器snr:signal noise ratio 信噪比cpus:central processing units 中央处理单元gpus:graphics processing units 图形处理单元crt:cathode ray tube 阴极射线管lcd:liquid

crystal display 液晶显示器oled:organic light

emitting diode 有机发光二极管cd:compact disc 压缩盘dvd:digital video disc 数字视频盘rom:read

only memory 只读存储器ram:random access memory 随机存取存储器asic:application

specific integrated circuit 专用集成电路pld:programmable logic device 可编程逻辑设备lan:local area network 局域网gsm:global system for mobile communications 全球移动通信系统
lte:long

term evolution 长期演进canbus:controller area network bus 控制器区域网络总线usb:universal serial bus 通用串行总线pci:peripheral component interconnect 外围设备组件互联fpga:field programmable gate array 现场可编程门阵列ssd:solid

state drive 固态硬盘ic:integrated circuit 集成电路cu:coding unit 编码单元
113.虽然本技术已对多个示例性实施例进行了描述,但实施例的各种变更、置换和各种替代属于本技术的范围内。因此应理解,本领域技术人员能够设计多种系统和方法,所述系统和方法虽然未在本文中明确展示或描述,但其体现了本技术的原则,因此属于本技术的精神和范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1