CN116055717B - 视频压缩方法、装置、计算机设备及计算机可读存储介质 - Google Patents
视频压缩方法、装置、计算机设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN116055717B CN116055717B CN202310332236.4A CN202310332236A CN116055717B CN 116055717 B CN116055717 B CN 116055717B CN 202310332236 A CN202310332236 A CN 202310332236A CN 116055717 B CN116055717 B CN 116055717B
- Authority
- CN
- China
- Prior art keywords
- value
- motion vectors
- reference frame
- axis direction
- preset
- 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.)
- Active
Links
- 230000006835 compression Effects 0.000 title claims abstract description 54
- 238000007906 compression Methods 0.000 title claims abstract description 54
- 238000000034 method Methods 0.000 title claims abstract description 41
- 239000013598 vector Substances 0.000 claims abstract description 180
- 238000004590 computer program Methods 0.000 claims description 7
- 239000002699 waste material Substances 0.000 abstract description 3
- 238000004364 calculation method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000004927 fusion Effects 0.000 description 3
- 238000012806 monitoring device Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
- H04N19/426—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种视频压缩方法、装置、计算机设备及计算机可读存储介质,涉及视频处理领域,所述方法包括:获取目标视频中连续的多个图像帧;确定多个图像帧对应的多个运动矢量;确定多个运动矢量在横纵方向上的最值;基于最值,确定多个运动矢量的中心位置和所处的区域;将中心位置作为参考帧搜索中心,并将区域作为的参考帧搜索区域,及基于参考帧搜索中心和参考帧搜索区域确定参考帧,再将参考帧写入缓存以完成视频的缩。基于此,本发明使得计算机设备在进行参考帧的选取时,将基于参考帧搜索中心和参考帧搜索区域来完成,使得各个运动矢量能尽量均匀地分布在搜索中心周围且处于参考帧搜索区域中,从而避免参考帧缓存空间的浪费。
Description
技术领域
本发明涉及视频处理领域,尤其涉及一种视频压缩方法、装置、计算机设备及计算机可读存储介质。
背景技术
在视频压缩过程中通常包含有参考帧和运动矢量的存储,如在融合(merge)及跳过(skip)模式下,参考帧和运动矢量均存储在参考帧缓存中。
但是,融合及跳过模式下的参考帧缓存的存储空间大小有限,难以存储过多的数据,进而,当参考帧的数据量过大时,可能导致运动矢量无法存储至参考帧缓存中,进而导致视频压缩失败。
发明内容
有鉴于此,本发明提供一种视频压缩方法、装置、计算机设备及计算机可读存储介质,用于改善当参考帧的数据量过大时,可能导致运动矢量无法存储至参考帧缓存中,进而导致视频压缩失败的现状。
第一方面,本发明实施例提供一种视频压缩方法,包括:
获取目标视频中连续的多个图像帧;
确定所述多个图像帧对应的多个运动矢量;
确定所述多个运动矢量在横纵方向上的最值;
基于所述最值,确定所述多个运动矢量的中心位置和所处的区域;
将所述中心位置作为参考帧搜索中心,并将所述区域作为的参考帧搜索区域,及基于所述参考帧搜索中心和所述参考帧搜索区域确定所述多个图像帧对应的参考帧,再将所述参考帧写入缓存以完成所述目标视频的压缩。
可选的,在本发明实施例提供的一种可行方式中,所述确定所述多个图像帧对应的多个运动矢量,包括:
基于预设协议,计算所述多个图像帧对应的多个运动矢量。
可选的,在本发明实施例提供的一种可行方式中,所述最值包括最大值和最小值;
所述确定所述多个运动矢量在横纵方向上的最值,包括:
确定所述多个运动矢量在横纵方向的极大值和极小值;
从所述多个运动矢量在横轴方向的极小值与预设的横轴边界下限值中选取较小的那个值作为所述多个运动矢量在横轴方向上的最小值;
从所述多个运动矢量在纵轴方向的极小值与预设的纵轴边界下限值中选取较小的那个值作为所述多个运动矢量在纵轴方向上的最小值;
从所述多个运动矢量在横轴方向的极大值与预设的横轴边界上限值中选取较大的那个值作为所述多个运动矢量在横轴方向上的最大值;
从所述多个运动矢量在纵轴方向的极大值与预设的纵轴边界上限值中选取较大的那个值作为所述多个运动矢量在纵轴方向上的最大值。
可选的,在本发明实施例提供的一种可行方式中,所述确定所述多个运动矢量在横纵方向的极大值和极小值,包括:
将所述多个运动矢量的横轴坐标中,数值最大的横轴坐标和数值最小的横轴坐标分别作为所述多个运动矢量在横轴方向上的极大值和极小值;
将所述多个运动矢量的纵轴坐标中,数值最大的纵轴坐标和数值最小的纵轴坐标分别作为所述多个运动矢量在纵轴方向上的极大值和极小值。
可选的,在本发明实施例提供的一种可行方式中,所述最值包括最大值和最小值;
所述基于所述最值,确定所述多个运动矢量的中心位置和所处的区域,包括:
计算横轴方向上的最小值和最大值的第一均值,并计算纵轴方向上的最小值和最大值的第二均值;
基于所述第一均值和所述第二均值得到所述多个运动矢量的中心位置;
计算横轴方向上的最大值和最小值的第一差值,并将所述第一差值的预设比例作为所述多个运动矢量的横轴范围大小;
计算纵轴方向上的最大值和最小值的第二差值,并将所述第二差值的预设比例作为所述多个运动矢量的纵轴范围大小;
基于所述中心位置、所述横轴范围大小及纵轴范围大小,得到所述多个运动矢量所处的区域。
可选的,在本发明实施例提供的一种可行方式中,所述计算横轴方向上的最小值和最大值的第一均值,并计算纵轴方向上的最小值和最大值的第二均值,包括:
将横轴方向上的最小值、最大值以及第一预设数值相加以得到第一和值,并将所述第一和值右移一位,得到第一均值,其中,所述第一预设数值大于零,所述第一预设数值用于使所述第一均值为整数;
将纵轴方向上的最小值、最大值以及所述第一预设数值相加以得到第二和值,并将所述第二和值右移一位,得到第二均值。
可选的,在本发明实施例提供的一种可行方式中,所述计算横轴方向上的最大值和最小值的第一差值,并将所述第一差值的预设比例作为所述多个运动矢量的横轴范围大小,包括;
将所述横轴方向上的最大值和最小值做差以得到第一差值,并将所述第一差值与第二预设数值相加以得到第三和值,及将所述第三和值的预设比例作为所述多个运动矢量的横轴范围大小,其中,所述第二预设数值大于零;
所述计算纵轴方向上的最大值和最小值的第二差值,并将所述第二差值的预设比例作为所述多个运动矢量的纵轴范围大小,包括:
将所述纵轴方向上的最大值和最小值做差以得到第二差值,并将所述第二差值与第二预设数值相加以得到第四和值,及将所述第四和值的预设比例作为所述多个运动矢量的纵轴范围大小。
第二方面,本发明实施例提供一种视频压缩装置,包括:
获取模块,用于获取目标视频中连续的多个图像帧;
矢量确定模块,用于确定所述多个图像帧对应的多个运动矢量;
最值确定模块,用于确定所述多个运动矢量在横纵方向上的最值;
区域确定模块,用于基于所述最值,确定所述多个运动矢量的中心位置和所处的区域;
压缩模块,用于将所述中心位置作为参考帧搜索中心,并将所述区域作为的参考帧搜索区域,及基于所述参考帧搜索中心和所述参考帧搜索区域确定所述多个图像帧对应的参考帧,再将所述参考帧写入缓存以完成所述目标视频的压缩。
第三方面,本发明实施例提供一种计算机设备,包括存储器以及处理器,存储器存储有计算机程序,计算机程序在处理器上运行时执行如第一方面中任一种公开的视频压缩方法。
第四方面,本发明实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序在处理器上运行时执行如第一方面中任一种公开的视频压缩方法。
本发明提供的视频压缩方法中,首先获取目标视频中连续的多个图像帧;然后,确定多个图像帧对应的多个运动矢量;随后,确定多个运动矢量在横纵方向上的最值,以确定运动矢量的横纵坐标变化范围;基于最值,确定多个运动矢量的中心位置和所处的区域;将中心位置作为参考帧搜索中心,并将区域作为的参考帧搜索区域,及基于参考帧搜索中心和参考帧搜索区域确定多个图像帧对应的参考帧,再将参考帧写入缓存以完成目标视频的压缩。基于此,使得计算机设备在进行参考帧的选取时,将基于参考帧搜索中心和参考帧搜索区域来完成,使得各个运动矢量能尽量均匀地分布在搜索中心周围且处于参考帧搜索区域中,从而能确保选取出的参考帧的大小能最小化,进而能避免参考帧缓存空间的浪费,保证运动矢量数据能完整地写入参考帧缓存空间,使得视频压缩和视频解码均能正常完成。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本发明实施例提供的第一种视频压缩方法的流程示意图;
图2示出了本发明实施例提供的第二种视频压缩方法的流程示意图;
图3示出了本发明实施例提供的第三种视频压缩方法的流程示意图;
图4示出了本发明实施例提供的视频压缩装置的结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
实施例1
参照图1,示出了本发明实施例提供的第一种视频压缩方法的流程示意图,本发明实施例提供的视频压缩方法包括:
步骤S110,获取目标视频中连续的多个图像帧。
可以理解的是,本发明实施例中的目标视频指代需进行压缩处理的视频,目标视频由连续的图像帧构成。
还可以理解的是,获取目标视频的方式为可根据实际情况设置的内容。示范性的,在一种可行方式中,本发明实施例中的计算机设备与监控设备通信连接,而监控设备拍摄到目标区域的视频并保存至自身的存储器后,计算机设备通过读取监控设备的存储器以得到目标视频。
而在另一种可行方式中,本发明实施例中的计算机设备通过接收外部设备发送的数据以得到目标视频。
步骤S120,确定所述多个图像帧对应的多个运动矢量。
可以理解的是,运动矢量是指代编码帧中编码块和参考帧中的预测块之间的位置差值。
还可以理解的是,在确定运动矢量前需将一个图像帧作为参考图像。而在现有技术中,完成运动矢量的计算后,通常是在参考图像中进行运动矢量的搜索,以确定需在参考图像中选取多大范围或区域的图像数据(也即参考帧)来存储至参考帧缓存。
但需说明的是,在本发明实施例中,完成运动矢量的计算后不会进行参考图像中运动矢量的搜索,而是通过相应的计算步骤以确定参考图像中需选取的区域或范围图像。
此外,还可以理解的是,确定多个图像帧对应的运动矢量的方式为可根据实际情况设置的内容,如可以直接参考现有技术中各类协议中公开的运动矢量计算方式。也即,上述步骤S120在本发明实施例提供的一种可行方式中具体包括:
基于预设协议,计算所述多个图像帧对应的多个运动矢量。
进一步的,在一种可行方式中,因本发明实施例中的运动实例需写入参考帧缓存,换言之,本发明实施例将基于融合及跳过模式完成帧间预测,进而计算机设备将基于H.265标准协议或H.266标准协议完成视频压缩。
步骤S130,确定所述多个运动矢量在横纵方向上的最值。
也即,本发明实施例将基于各个运动矢量的坐标,确定各个运动矢量的横纵坐标的变化范围(即,最值)。
不难理解的是,各个运动矢量在纵轴上的最大值和最小值能表明参考帧中预测快(也即连续图像中的变化物体所在区域)在纵轴方向的活跃范围,因而与参考帧需的图像高度存在关联。类似的,各个运动矢量在横轴上的最大值和最小值则与参考帧的图像宽度存在关联。正因此,本发明实施例基于运动矢量在横纵方向上的最值来完成参考帧的选取。
步骤S140,基于所述最值,确定所述多个运动矢量的中心位置和所处的区域。
需说明的是,在现有技术中,通常会以预设的中心坐标如(0,0)来完成参考图像中运动矢量的搜索。具体的,以参考图像中的(0,0)为起点,向四个方向(横轴正负方向和纵轴正负方向)不断扩张,直至所有的运动矢量均被搜索到(或是搜索到足够数量的运动矢量,又或是搜索到最够大的图像区域)后,停止扩张,并将扩张得到的区域图像作为参考帧。
但可以理解的是,基于(0,0)来完成运动矢量的搜索时,因各个运动矢量可能未均匀地分别在(0,0)的四周,故会存在横轴方向上已不存在运动矢量,但因纵轴方向上仍存在运动矢量,故扩张操作持续进行,导致横轴方向上囊括了较多的无用区域。
针对上述情形,本发明实施例在完成运动矢量的计算后,将执行运动矢量的中心点计算,从而确定各个运动矢量将在哪个位置或点位周围均匀,或是,在哪一个点位附近,各个运动矢量将分布地较为均匀,并将此点位作为运动矢量的搜索起点或搜索中心或中心位置。由此,当基于计算得到的中心位置来进行运动矢量搜索时,因各个运动矢量将相对均匀地分布在中心位置四周,从而能有效避免扩张操作执行完毕后将囊括较多的无用区域的情形出现。
进一步的,虽然能通过计算得到的中心位置来改善无用区域的过多囊括,但能理解的是,若存在运动矢量V1与其他运动矢量的距离较远,则为囊括V1,计算机设备将不断执行扩张操作,故仍将出现无用区域囊括过多的情形出现。
由此,本申请为改善扩张操作的盲目执行性,还将基于各个运动矢量的横轴坐标最值,确定各个运动矢量在参考图像中的活跃范围(即多个运动矢量所处的区域),进而,计算机设备在进行运动矢量搜索时,将基于确定出的活跃范围来执行,从而避免扩张行为盲目执行的情况。
此外,可以理解的是,本发明实施例中多个运动矢量的中心位置和所处的区域的确定方式为可根据实际情况设置的内容。
步骤S150,将所述中心位置作为参考帧搜索中心,并将所述区域作为的参考帧搜索区域,及基于所述参考帧搜索中心和所述参考帧搜索区域确定所述多个图像帧对应的参考帧,再将所述参考帧写入缓存以完成所述目标视频的压缩。
也即,本发明实施例中的计算机设备将步骤S140输出的中心位置作为搜索中心(即参考帧搜索中心),并将步骤S140输出的区域作为参考帧搜索区域或参考帧搜索范围,进而通过参考帧搜索中心和参考帧搜索区域完成参考帧的选取,及将选取到的参考帧存入参考帧缓存,进而借此完成目标视频的压缩。
基于此,本发明实施例使得计算机设备在进行参考帧的选取时,将基于参考帧搜索中心和参考帧搜索区域来完成,使得各个运动矢量能尽量均匀地分布在搜索中心周围且处于参考帧搜索区域中,从而能确保选取出的参考帧的大小能最小化,进而能避免参考帧缓存空间的浪费,保证运动矢量数据能完整地写入参考帧缓存空间,使得视频压缩和视频解码均能正常完成。
可选的,参考图2,示出了本发明实施例提供的第二种视频压缩方法的流程示意图,在此种可行方式中,所述最值包括最大值和最小值,进而,上述步骤S130在此种可行方式中具体包括:
S131,确定所述多个运动矢量在横纵方向的极大值和极小值;
S132,从所述多个运动矢量在横轴方向的极小值与预设的横轴边界下限值中选取较小的那个值作为所述多个运动矢量在横轴方向上的最小值;
S133,从所述多个运动矢量在纵轴方向的极小值与预设的纵轴边界下限值中选取较小的那个值作为所述多个运动矢量在纵轴方向上的最小值;
S134,从所述多个运动矢量在横轴方向的极大值与预设的横轴边界上限值中选取较大的那个值作为所述多个运动矢量在横轴方向上的最大值;
S135,从所述多个运动矢量在纵轴方向的极大值与预设的纵轴边界上限值中选取较大的那个值作为所述多个运动矢量在纵轴方向上的最大值。
也即,本发明实施例将基于横纵坐标的极大值以及预设的边界上下限值,确定出各个运动矢量在参考图像中的活跃范围,即横纵轴方向上的坐标最大值和最小值,进而使最后选取出的参考帧的大小总是不小于预设边界对应的大小。
为更清楚地说明此种可行方式,请参考以下公式:
式中,X min和Y min分别表示多个运动矢量在横轴方向上的最小值,和在纵轴方向上的最小值,X max和Y max分别表示多个运动矢量在横轴方向上的最大值和在纵轴方向上的最大值,X' min和Y' min分别表示多个运动矢量在横轴方向的极小值和在纵轴方向的极小值,RX min和RY min分别表示横轴边界下限值和纵轴边界下限值,RX max和RY max分别表示横轴边界下限值和纵轴边界上限值。
不难理解的是,在步骤S132和步骤S135执行完毕后,若多个运动矢量在横纵轴方向上的极值超过对应的边界上限和下限,则多个运动矢量在横纵轴方向上的最值将为极值;而若未超过,则多个运动矢量在横纵轴方向上的最值将为预设的边界上限和下限。
可以理解的是,本发明实施例中的预设的边界为可根据实际情况设置的内容。示范性的,在一种可行方式中,搜索范围为N,水平和垂直搜寻范围为-N到N-1,也即,RX max和RY max均为N-1,RX min和RY min均为-N。其中,N为根据实际情况设置的内容。也因此,此种可行方式中,参考帧的大小不小于2Nx 2N。
此外,可以理解的是,本发明实施例中的极大值和极小值指代横纵坐标的最大取值和最下取值,也因此,在本发明实施例提供的一种可行方式中,上述步骤S131具体包括:
将所述多个运动矢量的横轴坐标中,数值最大的横轴坐标和数值最小的横轴坐标分别作为所述多个运动矢量在横轴方向上的极大值和极小值;
将所述多个运动矢量的纵轴坐标中,数值最大的纵轴坐标和数值最小的纵轴坐标分别作为所述多个运动矢量在纵轴方向上的极大值和极小值。
举例而言,设存在3个运动矢量,二分部为(1,2)、(5,3)及(-5,-6),则针对横轴而言,比较“1”、“5”及“-5”的大小,得出“-5”最小而“5”最大,故3个运动矢量在横轴方向上的极大值和极小值分别为“5”和“-5”。
而针对纵轴而言,则是比对“2”、“3”及“-6”,进而得到3个运动矢量在横轴方向上的极大值和极小值分别为“3”和“-6”。
可选的,在本发明实施例提供的一种可行方式中,具体可参考图3,示出了本发明实施例提供的第三种视频压缩方法的流程示意图,在此种可行方式中,所述最值包括最大值和最小值。
进而,上述步骤S140在此种可行方式中具体包括:
S141,计算横轴方向上的最小值和最大值的第一均值,并计算纵轴方向上的最小值和最大值的第二均值;
S142,基于所述第一均值和所述第二均值得到所述多个运动矢量的中心位置;
S143,计算横轴方向上的最大值和最小值的第一差值,并将所述第一差值的预设比例作为所述多个运动矢量的横轴范围大小;
S144,计算纵轴方向上的最大值和最小值的第二差值,并将所述第二差值的预设比例作为所述多个运动矢量的纵轴范围大小;
S145,基于所述中心位置、所述横轴范围大小及纵轴范围大小,得到所述多个运动矢量所处的区域。
也即,在此种可行方式下,本发明实施例中的计算机设备利用横纵坐标的算术平均数来确定各个运动矢量的中心位置。
同时,计算机设备再基于横纵轴上最大值和最小值的差值的预设比例,来确定多个运动矢量所处的区域,也即多个运动矢量的活跃区域。可选的,在一种可行方式中,前述预设比例为二分之一。
可选的,在本发明实施例提供的一种可行方式中,预设比例为二分之一,进而,中心位置、横轴范围大小及纵轴范围大小的计算公式为:
其中,X和Y分别为中心位置的横纵轴坐标,X Range为横轴范围大小,X Range为纵轴范围大小。
进一步的,为避免因计算机设备的计算精度有限而引发的意外错误,在本发明实施例提供的一种可行方式中,前述中心位置的计算将进行相应的修正以确保横纵坐标均为整数,也即,上述步骤S141在此种可行方式中具体包括:
将横轴方向上的最小值、最大值以及第一预设数值相加以得到第一和值,并将所述第一和值右移一位,得到第一均值,其中,所述第一预设数值大于零,所述第一预设数值用于使所述第一均值为整数;
将纵轴方向上的最小值、最大值以及所述第一预设数值相加以得到第二和值,并将所述第二和值右移一位,得到第二均值。
为更清楚地说明此种可行方式,请参考下式:
不难理解的是,在此种可行方式下,本发明实施例中的计算机设备将基于大于0的第一预设数值,确保中心位置的横纵轴坐标在右移一位后,其结果定然为整数。不难理解的是,因最小值与最大值的和值将与第一预设数值相加,则在相加前后将产生位数的变化。示范性的,当m为2时,第一和值、第二和值将左移1位。
在一种优选方式中,m为1,用于确保右移1位的运算能实现四舍五入,从而取整。
可选的,在本发明实施例提供的一种可行方式中,上述步骤S143具体包括:
将所述横轴方向上的最大值和最小值做差以得到第一差值,并将所述第一差值与第二预设数值相加以得到第三和值,及将所述第三和值的预设比例作为所述多个运动矢量的横轴范围大小,其中,所述第二预设数值大于零;
上述步骤S144具体包括:
将所述纵轴方向上的最大值和最小值做差以得到第二差值,并将所述第二差值与第二预设数值相加以得到第四和值,及将所述第四和值的预设比例作为所述多个运动矢量的纵轴范围大小。
也即,本发明实施例为确保横轴范围大小和纵轴范围大小能合理囊括各个运动矢量,故使最大值和最小值做差后还与第二预设数值相加以得到相应的和值,进而,在将和值的预设比例作为横轴或纵轴范围大小时,因第三和值大于第一差值,第四和值大于第二差值,进而计算机设备将以相对较大的范围对应设置横轴或纵轴范围大小。
为更清楚地说明此种可行方式,请参考下式:
在一种优选的可行方式中,前述第二预设数值为1,前述预设比例为二分之一,则上式可改写为如下形式:
实施例2
与本发明实施例1提供的视频压缩方法相对应的,本发明实施例2还提供一种视频压缩装置,参照图4,示出了本发明实施例提供的视频压缩装置的结构示意图,本发明实施例提供的视频压缩装置200,包括:
获取模块210,用于获取目标视频中连续的多个图像帧;
矢量确定模块220,用于确定所述多个图像帧对应的多个运动矢量;
最值确定模块230,用于确定所述多个运动矢量在横纵方向上的最值;
区域确定模块240,用于基于所述最值,确定所述多个运动矢量的中心位置和所处的区域;
压缩模块250,用于将所述中心位置作为参考帧搜索中心,并将所述区域作为的参考帧搜索区域,及基于所述参考帧搜索中心和所述参考帧搜索区域确定所述多个图像帧对应的参考帧,再将所述参考帧写入缓存以完成所述目标视频的压缩。
可选的,在本发明实施例提供的一种可行方式中,所述矢量确定模块还用于:
基于预设协议,计算所述多个图像帧对应的多个运动矢量。
可选的,在本发明实施例提供的一种可行方式中,所述最值包括最大值和最小值;
所述最值确定模块,包括:
极值确定子模块,用于确定所述多个运动矢量在横纵方向的极大值和极小值;
第一选取子模块,用于从所述多个运动矢量在横轴方向的极小值与预设的横轴边界下限值中选取较小的那个值作为所述多个运动矢量在横轴方向上的最小值;
第二选取子模块,用于从所述多个运动矢量在纵轴方向的极小值与预设的纵轴边界下限值中选取较小的那个值作为所述多个运动矢量在纵轴方向上的最小值;
第三选取子模块,用于从所述多个运动矢量在横轴方向的极大值与预设的横轴边界上限值中选取较大的那个值作为所述多个运动矢量在横轴方向上的最大值;
第四选取子模块,用于从所述多个运动矢量在纵轴方向的极大值与预设的纵轴边界上限值中选取较大的那个值作为所述多个运动矢量在纵轴方向上的最大值。
可选的,在本发明实施例提供的一种可行方式中,所述极值确定子模块,包括:
横轴极值选取单元,用于将所述多个运动矢量的横轴坐标中,数值最大的横轴坐标和数值最小的横轴坐标分别作为所述多个运动矢量在横轴方向上的极大值和极小值;
纵轴极值选取单元,用于将所述多个运动矢量的纵轴坐标中,数值最大的纵轴坐标和数值最小的纵轴坐标分别作为所述多个运动矢量在纵轴方向上的极大值和极小值。
可选的,在本发明实施例提供的一种可行方式中,所述最值包括最大值和最小值;
所述区域确定模块,包括:
均值计算子模块,用于计算横轴方向上的最小值和最大值的第一均值,并计算纵轴方向上的最小值和最大值的第二均值;
位置确定子模块,用于基于所述第一均值和所述第二均值得到所述多个运动矢量的中心位置;
第一差值计算子模块,用于计算横轴方向上的最大值和最小值的第一差值,并将所述第一差值的预设比例作为所述多个运动矢量的横轴范围大小;
第二差值计算子模块,用于计算纵轴方向上的最大值和最小值的第二差值,并将所述第二差值的预设比例作为所述多个运动矢量的纵轴范围大小;
所处区域确定子模块,用于基于所述中心位置、所述横轴范围大小及纵轴范围大小,得到所述多个运动矢量所处的区域。
可选的,在本发明实施例提供的一种可行方式中,所述均值计算子模块,包括:
第一位移单元,用于将横轴方向上的最小值、最大值以及第一预设数值相加以得到第一和值,并将所述第一和值右移一位,得到第一均值,其中,所述第一预设数值大于零,所述第一预设数值用于使所述第一均值为整数;
第二位移单元,用于将纵轴方向上的最小值、最大值以及所述第一预设数值相加以得到第二和值,并将所述第二和值右移一位,得到第二均值。
可选的,在本发明实施例提供的一种可行方式中,所述第一差值计算子模块还用于将所述横轴方向上的最大值和最小值做差以得到第一差值,并将所述第一差值与第二预设数值相加以得到第三和值,及将所述第三和值的预设比例作为所述多个运动矢量的横轴范围大小,其中,所述第二预设数值大于零;
所述第二差值计算子模块还用于将所述纵轴方向上的最大值和最小值做差以得到第二差值,并将所述第二差值与第二预设数值相加以得到第四和值,及将所述第四和值的预设比例作为所述多个运动矢量的纵轴范围大小。
本申请实施例提供的视频压缩装置能够实现实施例1对应的视频压缩方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机设备,包括存储器以及处理器,存储器存储有计算机程序,计算机程序在处理器上运行时执行如实施例1中所述的视频压缩方法。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序在处理器上运行时执行如实施例1中所述的视频压缩方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种视频压缩方法,其特征在于,包括:
获取目标视频中连续的多个图像帧;
确定所述多个图像帧对应的多个运动矢量;
确定所述多个运动矢量在横纵方向上的最值;
基于所述最值,确定所述多个运动矢量的中心位置和所处的区域;
将所述中心位置作为参考帧搜索中心,并将所述区域作为的参考帧搜索区域,及基于所述参考帧搜索中心和所述参考帧搜索区域,确定参考帧中需选取的区域或范围图像,将选取的区域或范围图像确定为所述多个图像帧对应的参考帧,再将所述参考帧写入缓存以完成所述目标视频的压缩。
2.根据权利要求1所述的视频压缩方法,其特征在于,所述确定所述多个图像帧对应的多个运动矢量,包括:
基于预设协议,计算所述多个图像帧对应的多个运动矢量。
3.根据权利要求1所述的视频压缩方法,其特征在于,所述最值包括最大值和最小值;
所述确定所述多个运动矢量在横纵方向上的最值,包括:
确定所述多个运动矢量在横纵方向的极大值和极小值;
从所述多个运动矢量在横轴方向的极小值与预设的横轴边界下限值中选取较小的那个值作为所述多个运动矢量在横轴方向上的最小值;
从所述多个运动矢量在纵轴方向的极小值与预设的纵轴边界下限值中选取较小的那个值作为所述多个运动矢量在纵轴方向上的最小值;
从所述多个运动矢量在横轴方向的极大值与预设的横轴边界上限值中选取较大的那个值作为所述多个运动矢量在横轴方向上的最大值;
从所述多个运动矢量在纵轴方向的极大值与预设的纵轴边界上限值中选取较大的那个值作为所述多个运动矢量在纵轴方向上的最大值。
4.根据权利要求3所述的视频压缩方法,其特征在于,所述确定所述多个运动矢量在横纵方向的极大值和极小值,包括:
将所述多个运动矢量的横轴坐标中,数值最大的横轴坐标和数值最小的横轴坐标分别作为所述多个运动矢量在横轴方向上的极大值和极小值;
将所述多个运动矢量的纵轴坐标中,数值最大的纵轴坐标和数值最小的纵轴坐标分别作为所述多个运动矢量在纵轴方向上的极大值和极小值。
5.根据权利要求1所述的视频压缩方法,其特征在于,所述最值包括最大值和最小值;
所述基于所述最值,确定所述多个运动矢量的中心位置和所处的区域,包括:
计算横轴方向上的最小值和最大值的第一均值,并计算纵轴方向上的最小值和最大值的第二均值;
基于所述第一均值和所述第二均值得到所述多个运动矢量的中心位置;
计算横轴方向上的最大值和最小值的第一差值,并将所述第一差值的预设比例作为所述多个运动矢量的横轴范围大小;
计算纵轴方向上的最大值和最小值的第二差值,并将所述第二差值的预设比例作为所述多个运动矢量的纵轴范围大小;
基于所述中心位置、所述横轴范围大小及纵轴范围大小,得到所述多个运动矢量所处的区域。
6.根据权利要求5所述的视频压缩方法,其特征在于,所述计算横轴方向上的最小值和最大值的第一均值,并计算纵轴方向上的最小值和最大值的第二均值,包括:
将横轴方向上的最小值、最大值以及第一预设数值相加以得到第一和值,并将所述第一和值右移一位,得到第一均值,其中,所述第一预设数值大于零,所述第一预设数值用于使所述第一均值为整数;
将纵轴方向上的最小值、最大值以及所述第一预设数值相加以得到第二和值,并将所述第二和值右移一位,得到第二均值。
7.根据权利要求5所述的视频压缩方法,其特征在于,所述计算横轴方向上的最大值和最小值的第一差值,并将所述第一差值的预设比例作为所述多个运动矢量的横轴范围大小,包括;
将所述横轴方向上的最大值和最小值做差以得到第一差值,并将所述第一差值与第二预设数值相加以得到第三和值,及将所述第三和值的预设比例作为所述多个运动矢量的横轴范围大小,其中,所述第二预设数值大于零;
所述计算纵轴方向上的最大值和最小值的第二差值,并将所述第二差值的预设比例作为所述多个运动矢量的纵轴范围大小,包括:
将所述纵轴方向上的最大值和最小值做差以得到第二差值,并将所述第二差值与第二预设数值相加以得到第四和值,及将所述第四和值的预设比例作为所述多个运动矢量的纵轴范围大小。
8.一种视频压缩装置,其特征在于,包括:
获取模块,用于获取目标视频中连续的多个图像帧;
矢量确定模块,用于确定所述多个图像帧对应的多个运动矢量;
最值确定模块,用于确定所述多个运动矢量在横纵方向上的最值;
区域确定模块,用于基于所述最值,确定所述多个运动矢量的中心位置和所处的区域;
压缩模块,用于将所述中心位置作为参考帧搜索中心,并将所述区域作为的参考帧搜索区域,及基于所述参考帧搜索中心和所述参考帧搜索区域,确定参考帧中需选取的区域或范围图像,将选取的区域或范围图像确定为所述多个图像帧对应的参考帧,再将所述参考帧写入缓存以完成所述目标视频的压缩。
9.一种计算机设备,其特征在于,包括存储器以及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行如权利要求1-7任一项所述的视频压缩方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在处理器上运行时执行如权利要求1-7任一项所述的视频压缩方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310332236.4A CN116055717B (zh) | 2023-03-31 | 2023-03-31 | 视频压缩方法、装置、计算机设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310332236.4A CN116055717B (zh) | 2023-03-31 | 2023-03-31 | 视频压缩方法、装置、计算机设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116055717A CN116055717A (zh) | 2023-05-02 |
CN116055717B true CN116055717B (zh) | 2023-07-14 |
Family
ID=86133555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310332236.4A Active CN116055717B (zh) | 2023-03-31 | 2023-03-31 | 视频压缩方法、装置、计算机设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116055717B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022117076A1 (zh) * | 2020-12-04 | 2022-06-09 | 腾讯科技(深圳)有限公司 | 视频运动估计方法、装置、设备、计算机可读存储介质及计算机程序产品 |
CN114745555A (zh) * | 2022-03-31 | 2022-07-12 | 上海顺久电子科技有限公司 | 一种视频图像的运动估计方法及显示设备 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050135481A1 (en) * | 2003-12-17 | 2005-06-23 | Sung Chih-Ta S. | Motion estimation with scalable searching range |
US20070092007A1 (en) * | 2005-10-24 | 2007-04-26 | Mediatek Inc. | Methods and systems for video data processing employing frame/field region predictions in motion estimation |
CN100452882C (zh) * | 2006-08-07 | 2009-01-14 | 清华大学 | 可变块大小运动补偿的数据缓存方法及其实现装置 |
US9357228B2 (en) * | 2010-05-27 | 2016-05-31 | The Hong Kong University Of Science And Technology | Motion estimation of images |
JP6163919B2 (ja) * | 2013-07-01 | 2017-07-19 | 富士通株式会社 | 画像処理装置、補正方法および補正プログラム |
WO2017094298A1 (ja) * | 2015-12-04 | 2017-06-08 | ソニー株式会社 | 画像処理装置、画像処理方法及びプログラム |
CN107846597B (zh) * | 2016-09-20 | 2019-12-10 | 上海澜至半导体有限公司 | 用于视频解码器的数据缓存方法和装置 |
US10291928B2 (en) * | 2017-01-10 | 2019-05-14 | Blackberry Limited | Methods and devices for inter-prediction using motion vectors for video coding |
CN109660810B (zh) * | 2018-12-29 | 2021-07-27 | 湖南国科微电子股份有限公司 | 一种数据编码方法 |
JP7324065B2 (ja) * | 2019-06-26 | 2023-08-09 | キヤノン株式会社 | 動きベクトル検出装置、撮像装置、動きベクトル検出方法、及びプログラム |
CN114762331A (zh) * | 2020-11-20 | 2022-07-15 | 深圳市大疆创新科技有限公司 | 视频编解码方法、装置、可移动平台和存储介质 |
-
2023
- 2023-03-31 CN CN202310332236.4A patent/CN116055717B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022117076A1 (zh) * | 2020-12-04 | 2022-06-09 | 腾讯科技(深圳)有限公司 | 视频运动估计方法、装置、设备、计算机可读存储介质及计算机程序产品 |
CN114745555A (zh) * | 2022-03-31 | 2022-07-12 | 上海顺久电子科技有限公司 | 一种视频图像的运动估计方法及显示设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116055717A (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060002470A1 (en) | Motion vector detection circuit, image encoding circuit, motion vector detection method and image encoding method | |
JP6394876B2 (ja) | 符号化回路、符号化方法 | |
CN109919247B (zh) | 危化品堆垛双目测距中特征点匹配方法、***和设备 | |
JP2001357399A (ja) | 画像処理装置及び方法 | |
CN111357034A (zh) | 点云生成方法、***和计算机存储介质 | |
US10460461B2 (en) | Image processing apparatus and method of controlling the same | |
CN116055717B (zh) | 视频压缩方法、装置、计算机设备及计算机可读存储介质 | |
CN114283089A (zh) | 基于跳跃加速的深度恢复方法、电子设备及存储介质 | |
CN111739118B (zh) | 一种磁共振图像伪影去除方法、装置、设备及存储介质 | |
CN115334308B (zh) | 一种面向学习模型的编码决策处理方法、装置及设备 | |
CN111583345A (zh) | 一种相机参数的获取方法、装置、设备及存储介质 | |
US8144934B2 (en) | Photographic subject tracking method, computer program product and photographic subject tracking device | |
JP4488805B2 (ja) | 動きベクトル検出装置および方法 | |
CN113191965B (zh) | 图像降噪方法、设备及计算机存储介质 | |
CN115049731A (zh) | 一种基于双目摄像头的视觉建图和定位方法 | |
CN114040209A (zh) | 运动估计方法、装置、电子设备及存储介质 | |
JP4473736B2 (ja) | カメラワークパラメータ算出方法、この方法を実施する装置、プログラムおよびその記憶媒体 | |
JP2007124605A (ja) | コスト関数演算方法、コスト関数演算装置及びその補間方法 | |
US20170076460A1 (en) | Image processing apparatus and image processing method | |
US10674174B2 (en) | Coding apparatus, coding method, and recording medium | |
JP2007235333A (ja) | 動きベクトル検出装置 | |
US9432690B2 (en) | Apparatus and method for video processing | |
CN104837027B (zh) | 一种分像素的运动估计方法和装置 | |
CN116074533B (zh) | 运动矢量预测方法、***、电子设备及存储介质 | |
CN112633122B (zh) | 一种单目vio***的前端里程计算法及*** |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |