CN116055717B - 视频压缩方法、装置、计算机设备及计算机可读存储介质 - Google Patents

视频压缩方法、装置、计算机设备及计算机可读存储介质 Download PDF

Info

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
Application number
CN202310332236.4A
Other languages
English (en)
Other versions
CN116055717A (zh
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.)
Hunan Goke Microelectronics Co Ltd
Original Assignee
Hunan Goke Microelectronics 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 Hunan Goke Microelectronics Co Ltd filed Critical Hunan Goke Microelectronics Co Ltd
Priority to CN202310332236.4A priority Critical patent/CN116055717B/zh
Publication of CN116055717A publication Critical patent/CN116055717A/zh
Application granted granted Critical
Publication of CN116055717B publication Critical patent/CN116055717B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods 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/426Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation

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,从所述多个运动矢量在纵轴方向的极大值与预设的纵轴边界上限值中选取较大的那个值作为所述多个运动矢量在纵轴方向上的最大值。
也即,本发明实施例将基于横纵坐标的极大值以及预设的边界上下限值,确定出各个运动矢量在参考图像中的活跃范围,即横纵轴方向上的坐标最大值和最小值,进而使最后选取出的参考帧的大小总是不小于预设边界对应的大小。
为更清楚地说明此种可行方式,请参考以下公式:
Figure SMS_1
Figure SMS_2
Figure SMS_3
Figure SMS_4
式中,X minY min分别表示多个运动矢量在横轴方向上的最小值,和在纵轴方向上的最小值,X maxY max分别表示多个运动矢量在横轴方向上的最大值和在纵轴方向上的最大值,X' minY' min分别表示多个运动矢量在横轴方向的极小值和在纵轴方向的极小值,RX minRY min分别表示横轴边界下限值和纵轴边界下限值,RX maxRY max分别表示横轴边界下限值和纵轴边界上限值。
不难理解的是,在步骤S132和步骤S135执行完毕后,若多个运动矢量在横纵轴方向上的极值超过对应的边界上限和下限,则多个运动矢量在横纵轴方向上的最值将为极值;而若未超过,则多个运动矢量在横纵轴方向上的最值将为预设的边界上限和下限。
可以理解的是,本发明实施例中的预设的边界为可根据实际情况设置的内容。示范性的,在一种可行方式中,搜索范围为N,水平和垂直搜寻范围为-NN-1,也即,RX maxRY max均为N-1,RX minRY 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,基于所述中心位置、所述横轴范围大小及纵轴范围大小,得到所述多个运动矢量所处的区域。
也即,在此种可行方式下,本发明实施例中的计算机设备利用横纵坐标的算术平均数来确定各个运动矢量的中心位置。
同时,计算机设备再基于横纵轴上最大值和最小值的差值的预设比例,来确定多个运动矢量所处的区域,也即多个运动矢量的活跃区域。可选的,在一种可行方式中,前述预设比例为二分之一。
可选的,在本发明实施例提供的一种可行方式中,预设比例为二分之一,进而,中心位置、横轴范围大小及纵轴范围大小的计算公式为:
Figure SMS_5
Figure SMS_6
Figure SMS_7
Figure SMS_8
其中,XY分别为中心位置的横纵轴坐标,X Range为横轴范围大小,X Range为纵轴范围大小。
进一步的,为避免因计算机设备的计算精度有限而引发的意外错误,在本发明实施例提供的一种可行方式中,前述中心位置的计算将进行相应的修正以确保横纵坐标均为整数,也即,上述步骤S141在此种可行方式中具体包括:
将横轴方向上的最小值、最大值以及第一预设数值相加以得到第一和值,并将所述第一和值右移一位,得到第一均值,其中,所述第一预设数值大于零,所述第一预设数值用于使所述第一均值为整数;
将纵轴方向上的最小值、最大值以及所述第一预设数值相加以得到第二和值,并将所述第二和值右移一位,得到第二均值。
为更清楚地说明此种可行方式,请参考下式:
Figure SMS_9
Figure SMS_10
不难理解的是,在此种可行方式下,本发明实施例中的计算机设备将基于大于0的第一预设数值,确保中心位置的横纵轴坐标在右移一位后,其结果定然为整数。不难理解的是,因最小值与最大值的和值将与第一预设数值相加,则在相加前后将产生位数的变化。示范性的,当m为2时,第一和值、第二和值将左移1位。
在一种优选方式中,m为1,用于确保右移1位的运算能实现四舍五入,从而取整。
可选的,在本发明实施例提供的一种可行方式中,上述步骤S143具体包括:
将所述横轴方向上的最大值和最小值做差以得到第一差值,并将所述第一差值与第二预设数值相加以得到第三和值,及将所述第三和值的预设比例作为所述多个运动矢量的横轴范围大小,其中,所述第二预设数值大于零;
上述步骤S144具体包括:
将所述纵轴方向上的最大值和最小值做差以得到第二差值,并将所述第二差值与第二预设数值相加以得到第四和值,及将所述第四和值的预设比例作为所述多个运动矢量的纵轴范围大小。
也即,本发明实施例为确保横轴范围大小和纵轴范围大小能合理囊括各个运动矢量,故使最大值和最小值做差后还与第二预设数值相加以得到相应的和值,进而,在将和值的预设比例作为横轴或纵轴范围大小时,因第三和值大于第一差值,第四和值大于第二差值,进而计算机设备将以相对较大的范围对应设置横轴或纵轴范围大小。
为更清楚地说明此种可行方式,请参考下式:
Figure SMS_11
Figure SMS_12
式中,
Figure SMS_13
表示第二预设数值,z表示预设比例。
在一种优选的可行方式中,前述第二预设数值为1,前述预设比例为二分之一,则上式可改写为如下形式:
Figure SMS_14
Figure SMS_15
不难理解的是,当
Figure SMS_16
取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任一项所述的视频压缩方法。
CN202310332236.4A 2023-03-31 2023-03-31 视频压缩方法、装置、计算机设备及计算机可读存储介质 Active CN116055717B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 富士通株式会社 画像処理装置、補正方法および補正プログラム
US10743023B2 (en) * 2015-12-04 2020-08-11 Sony Corporation Image processing apparatus and image processing method
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 キヤノン株式会社 動きベクトル検出装置、撮像装置、動きベクトル検出方法、及びプログラム
WO2022104678A1 (zh) * 2020-11-20 2022-05-27 深圳市大疆创新科技有限公司 视频编解码方法、装置、可移动平台和存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
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
US10455152B2 (en) Panoramic video processing method and device and non-transitory computer-readable medium
US20060002470A1 (en) Motion vector detection circuit, image encoding circuit, motion vector detection method and image encoding method
US8965105B2 (en) Image processing device and method
WO2008018331A1 (en) Method, apparatus and integrated circuit capable of reducing image ringing noise
CN111357034A (zh) 点云生成方法、系统和计算机存储介质
CN109543534B (zh) 一种目标跟踪中目标丢失重检的方法及装置
CN111105452A (zh) 基于双目视觉的高低分辨率融合立体匹配方法
CN116055717B (zh) 视频压缩方法、装置、计算机设备及计算机可读存储介质
CN110503002B (zh) 一种人脸检测方法和存储介质
CN111739118B (zh) 一种磁共振图像伪影去除方法、装置、设备及存储介质
JP6057629B2 (ja) 画像処理装置、その制御方法、および制御プログラム
US7852939B2 (en) Motion vector detection method and device of the same
US8144934B2 (en) Photographic subject tracking method, computer program product and photographic subject tracking device
JP2009302731A (ja) 画像処理装置、画像処理プログラム、画像処理方法、および電子機器
CN116389743A (zh) 图像编码方法、装置、芯片、终端、存储介质及程序产品
JP5683153B2 (ja) 画像処理装置および画像処理方法
JP4473736B2 (ja) カメラワークパラメータ算出方法、この方法を実施する装置、プログラムおよびその記憶媒体
JP2007124605A (ja) コスト関数演算方法、コスト関数演算装置及びその補間方法
JP2007279800A (ja) 動きベクトル検出装置、動きベクトル検出方法、手ぶれ補正装置、手ぶれ補正方法、手ぶれ補正プログラム、及び手ぶれ補正装置を備えた動画像表示装置
JP2007235333A (ja) 動きベクトル検出装置
US20190098330A1 (en) Coding apparatus, coding method, and recording medium
CN104837027B (zh) 一种分像素的运动估计方法和装置
CN116074533B (zh) 运动矢量预测方法、系统、电子设备及存储介质
CN112633122B (zh) 一种单目vio系统的前端里程计算法及系统
CN110349227B (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
GR01 Patent grant
GR01 Patent grant