CN111479115A - 一种视频图像处理方法、装置及计算机可读存储介质 - Google Patents
一种视频图像处理方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111479115A CN111479115A CN202010290295.6A CN202010290295A CN111479115A CN 111479115 A CN111479115 A CN 111479115A CN 202010290295 A CN202010290295 A CN 202010290295A CN 111479115 A CN111479115 A CN 111479115A
- Authority
- CN
- China
- Prior art keywords
- video frame
- current video
- distortion
- search position
- target search
- 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.)
- Granted
Links
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/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
-
- 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/124—Quantisation
-
- 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
-
- 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
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例公开了一种视频图像处理方法、装置及计算机可读存储介质,本申请实施例通过从待编码视频中获取待编码的当前视频帧;对当前视频帧进行整像素运动估计,确定当前视频帧的目标搜索位置;基于目标搜索位置统计当前视频帧的波动率;当当前视频帧的波动率小于整像素波动阈值时,将目标搜索位置作为当前视频帧的编码搜索位置。以此,在获取到目标搜索位置的情况下,计算目标搜索位置和周围区域的波动率,在波动率符合条件时,直接以目标搜索位置作为当前视频帧编码搜索位置作为运动估计结果,进而跳过分像素运动估计,节省了运动估计的时间,极大的提升了视频编码的效率和实时性。
Description
技术领域
本申请涉及图像处理技术领域,具体涉及一种视频图像处理方法、装置及计算机可读存储介质。
背景技术
随着视频压缩技术的迅速发展,未来视频的发展趋势是高清晰度、高压缩率,现在普及的H.264压缩方式,在压缩原理上存在一定的局限性,不能适应未来的需求。因此高性能视频编码(High Efficiency Video Coding,HEVC)协议应运而生,使得压缩率可以提升百分之四十左右。
现有技术中,HEVC编码由于分割更细致,分割的模式更多,导致需要做遍历参考帧下的运动估计(Motion Estimation,ME)的计算量非常大,占整个编码时间的百分之三十至百分之四十,浪费很多时间,编码的效率和实时性较低。
发明内容
本申请实施例提供一种视频图像处理方法、装置及计算机可读存储介质,可以提升视频编码的效率和实时性。
为解决上述技术问题,本申请实施例提供以下技术方案:
一种视频图像处理方法,包括:
从待编码视频中获取待编码的当前视频帧;
对所述当前视频帧进行整像素运动估计,确定所述当前视频帧的目标搜索位置;
基于所述目标搜索位置统计所述当前视频帧的波动率;
当所述当前视频帧的波动率小于整像素波动阈值时,将所述目标搜索位置作为所述当前视频帧的编码搜索位置。
一种视频图像处理装置,包括:
获取单元,用于从待编码视频中获取待编码的当前视频帧;
第一估计单元,用于对所述当前视频帧进行整像素运动估计,确定所述当前视频帧的目标搜索位置;
第一计算单元,用于基于所述目标搜索位置统计所述当前视频帧的波动率;
第一结果单元,用于当所述当前视频帧的波动率小于整像素波动阈值时,将所述目标搜索位置作为所述当前视频帧的编码搜索位置。
一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行上述视频图像处理方法中的步骤。
一种计算机设备,包括处理器和存储器,所述存储器存储有多条计算机指令,所述处理器加载所述计算机指令,以执行上述视频图像处理方法中的步骤。
本申请实施例通过从待编码视频中获取待编码的当前视频帧;对当前视频帧进行整像素运动估计,确定当前视频帧的目标搜索位置;基于目标搜索位置统计当前视频帧的波动率;当当前视频帧的波动率小于整像素波动阈值时,将目标搜索位置作为当前视频帧的编码搜索位置。以此,在获取到目标搜索位置的情况下,计算目标搜索位置和周围区域的波动率,在波动率符合条件时,直接以目标搜索位置作为当前视频帧编码搜索位置作为运动估计结果,进而跳过分像素运动估计,节省了运动估计的时间,极大的提升了视频编码的效率和实时性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例所提供的HEVC编码框架的组成结构示意图;
图2是本申请实施例提供的视频图像处理方法的流程示意图;
图3是本申请实施例提供的视频图像处理方法的另一流程示意图;
图4是本申请实施例提供的视频图像处理方法的场景示意图;
图5是本申请实施例提供的视频图像处理装置的结构示意图;
图6是本申请实施例提供的服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种视频图像处理方法、装置及计算机可读存储介质。
请参阅图1,图1为本申请实施例所提供的HEVC编码框架的组成结构示意图。首先对HEVC的编码过程进行详细说明,一帧视频帧从帧缓存中读取到之后送入到编码器,先经过帧内或帧间预测之后得到预测值,其中,帧内预设是参考周围像素来插值出预测像素,参考的是空域上信息,帧间预测是从视频参考帧中找出与当前块最匹配的位置,参考的是时域上信息,帧间预测可包括:运动估计(Motion Estimation,ME)和运动补偿(MotionCompensation,MC),在得到预测值之后,将预测值与输入数据相减,得到残差,然后进行离散余弦变换(Discrete Cosine Transform,DCT)变化和量化,得到残差系数,然后送入熵编码模块输出码流,同时,残差系数经反量化反变换之后,得到重构图像的残差值,再和帧内或者帧间的预测值相加,从而得到了重构图像,重构图像再经环内滤波之后,进入参考帧队列,作为下一帧的参考图像,从而一帧帧向后编码。其中,环内滤波可包括去块滤波(Deblocking Filter,DBF)和自适应像素补偿(Sample Adaptive Offset,SAO)。
在HEVC编码中,由于分割更细致,方向也更多,因此计算量非常大,要想实现高压缩性能,必须对整个视频编码器进行优化,一般情况下,单运动估计的过程就要占整个视频编码时间的30%-40%,因此,如何优化该运动估计部分对于提升视频编码时间尤为重要。
该运动估计主要包含3部分,整像素运动估计、二分之一像素运动估计和四分之一像素运动估计,为了更好的描述整像素运动估计、二分之一像素运动估计和四分之一像素运动估计,首先对运动估计的概念进行解释,运动估计的基本思想是将图像序列的每一视频帧分成许多互不重叠的预测单元,该预测单元为图像块,并认为预测单元内所有像素的位移量都相同,然后对每个预测单元到视频参考帧某一给定特定搜索范围内根据一定的匹配准则找出与当前块最相似的块,简称匹配块(即参考预测单元),匹配块与当前块的相对位置即为运动矢量,视频压缩的时候,只需要保存运动矢量和残差数据就可以完全恢复出当前块,通过运动估计可以去除帧间冗余度,使得视频传输的比特数大为减少,因此,运动估计是视频压缩处理系统中的一个重要组成部分。以此,整像素运动估计为视频帧的大小为原始大小的状态下的像素运动估计,该整像素运动估计中的参考预测单元移动的步长为一个像素,该二分之一像素运动估计为将视频参考帧放大两倍,同时对视频参考帧进行插值处理,因而该二分之一像素运动估计的二分之一参考预测单元移动步长为半个像素,可以实现比整像素运动估计更精确的搜索位置查找。该四分之一像素运动估计为将视频参考帧放大四倍,同时对视频参考帧进行插值处理,因而该四分之一像素运动估计的四分之一参考预测单元移动步长为四分之一个像素,可以实现比二分之一像素运动估计还要更精确的搜索位置查找。
由于做二分之一像素运动估计和四分之一像素运动估计时,还需要对视频参考帧中不存在的半像素和四分之一像素进行插值,导致计算量上升,从而增加视频编码的时间。基于此,本申请实施例从待编码视频中获取待编码的当前视频帧,对该当前视频帧进行整像素运动估计,确定该当前视频帧的目标搜索位置,基于该目标搜索位置统计该当前视频帧的波动率,该波动率代表目标搜索位置的图像块内容跟周边位置图像块内容的接近程度,该波动率越小,说明两者越接近,即目标搜索位置与周边位置图像块内容极有可能为同一纹理简单的整体或者当前块纹理变化缓慢,目标搜索位置准确,因此可以不用再做二分之一像素运动估计和不用再做四分之一运动估计,直接将目标搜索位置作为运动估计结果,退出运动估计,可以大幅度的节省运动估计的时间,从而增加视频编码的时间。
需要说明的是,图1所示的HEVC编码框架仅仅是一个示例,本申请实施例描述的HEVC编码框架是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着HEVC编码框架的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。
实施例一、
在本实施例中,将从视频图像处理装置的角度进行描述,该视频图像处理装置具体可以集成在具备储存单元并安装有微处理器而具有运算能力的服务器中。
请参阅图2,图2是本申请实施例提供的视频图像处理方法的流程示意图。该视频图像处理方法包括:
在步骤101中,从待编码视频中获取待编码的当前视频帧。
其中,视频压缩的目标是在尽可能保证视觉效果的前提下减少视频数据率,该待编码的视频由连续帧的视频帧组成,本申请实施例可以基于HEVC编码框架完成对每一视频帧的运动估计,首先,可以从帧缓存(Frame Buffer)中读取到待编码的当前视频帧,该帧缓存是一块显示缓存,往显示缓存中写入特定格式的数据就意味着向屏幕输出内容。帧缓存可以在系统存储器(内存)的任意位置,视频控制器通过访问帧缓存来刷新屏幕。
在步骤102中,对当前视频帧进行整像素运动估计,确定当前视频帧的目标搜索位置。
需要说明的是,请一并参阅图1,将当前视频帧送入到编码器,首先会按照最大编码单元(Largest Coding Unit,LCU)分成不重叠的矩形块,对于每个最大编码单元,编码器会选择合适的编码单元(Coding Uint,CU)四叉树划分方式,对于每个不再继续划分的编码单元,编码器会选择合适预测方式进行预测,每个编码单元包含预测单元(Predict Unit,PU)和变换单元(TransformUnit,TU),对每个预测单元进行预测,得到预测值,预测值与原始输入数据相减,得到残差,然后对该残差进行离散余弦变换(Discrete CosineTransform,DCT)和量化,得到残差系数,然后将该残差系数送入熵编码模块输出码流,同时,该残差系数经反量化、反变换之后,可以得到重构图像的残差值,再和预测值相加,从而得到了重构图像,重构图像经环内滤波之后,进入视频参考帧队列,作为下一帧的视频参考帧,从而可以依次向后编码。
其中,本申请实施例获取到当前视频帧之后,首先可以对该当前视频帧进行整像素运动估计,得到整像素运动估计出的目标搜索位置,该目标搜索位置表示从视频参考帧中的多个参考预测单元相应的图像块中选择出与当前视频帧的预测单元的图像块之间的率失真代价(Rate Distortion Cost)取值最小的整像素位置,在整像素运动估计过程中需要计算每个参考预测单元对应的图像块与当前视频帧的预测单元的图像块所对应的率失真代价,最小率失真代价即代表与当前视频帧的预测单元对应的图像块最接近的参考预测单元,将该最小率失真代价对应的参考预测单元确定为目标搜索位置。
在一些实施方式中,该对该当前视频帧进行整像素运动估计,确定该当前视频帧的目标搜索位置的步骤,可以包括:
(1)将该当前视频帧分为多个预测单元;
(2)基于每一个预测单元在视频参考帧中进行整像素运动估计,确定与每一个预测单元匹配的目标搜索位置。
其中,为了更好的理解本申请实施例,先对运动估计进行简单的介绍,运动估计的理论基础为活动图像的临近帧图像中的景物存在一定的相关性。因此在压缩编码中不需要传递每一帧的所有信息,而只需要传递帧与帧之间差值就可以了。基本思想是将视频序列的当前视频帧分成互不重叠的图像块(即预测单元),并认为块内所有像素的位移量都相同,然后对每个预测单元到参考帧某一特定搜索范围内根据一定的块匹配准则找出与当前块最相似的块(即参考预测单元),即匹配块,匹配块与当前块的相对位移即为运动矢量。以此,本申请实施例可以将当前视频帧划分为若干互不重叠的预测单元,并以该预测单元为单位寻找视频参考帧中整像素运动估计相应的最相似的匹配块,该相似的评定标准以率失真代价为标准,两者之间的率失真代价越小,说明两者越接近,该率失真代价越大,说明两者相差越大,因此可以将最小率失真代价对应的参考预测单元确定为目标搜索位置。
在一些实施方式中,该基于每一个预测单元在视频参考帧中进行整像素运动估计,确定与每一个预测单元匹配的目标搜索位置的步骤,可以包括:
(1.1)计算每一个预测单元与视频参考帧中指定范围内的多个参考预测单元的绝对误差和值和相应的第一消耗比特位数;
(1.2)根据该绝对误差和值和相应的第一消耗比特位数计算出多个参考预测单元的率失真代价;
(1.3)将该率失真代价中的最小值相应的参考预测单元确定为每一个预测单元匹配的目标搜索位置。
其中,该运动估计是当前视频帧的预测单元和视频参考帧指定范围内的参考预测单元逐步块进行匹配的过程,该预测单元即代表图像块,该运动估计方法可以包括:
(a)全搜索方法,即在一定的搜索范围内,对搜索区域内的块进行光栅式搜索,逐一计算比较。
(b)菱形搜索算法(DIA),即以搜索起点为中心,采用一定大小的小菱形模板搜索,计算各点的匹配误差,得到MBD(最小误差)点。如果MBD点在模板中心,则搜索结束,此时的MBD点就是最优匹配点,对应的像素块就是最佳匹配块,如果MBD点不在模板中心位置,则以现在MBD点为中心点,继续进行小菱形搜索,直至MBD点落在中心点为止。
(c)六边形搜索算法(HEX)
该方法采用1个大模板(六边形模板)和2个小模板(小菱形模板和小正方形模板)。具体的搜索步骤如下:
步骤1:以搜索起点为中心,采用六边形模板进行搜索。计算区域中心及周围6个点处的匹配误差并比较,如最小MBD点位于模板中心点,则转至步骤2;否则以上一次的MBD点作为中心点,以六边形模板为模板进行反复搜索。
步骤2:以上一次的MBD点为中心点,采用小菱形模板搜索,计算各点的匹配误差,找到MBD点。然后以MBD点为中心点,采用小正方形模板搜索,得到的MBD点就是最优匹配点。
(d)非对称十字型多层次六边形格点搜索算法(UMH)
步骤0:进行一次小菱形搜索,根据匹配误差值和两个门限值(对于一种尺寸的预测单元来说是固定大小的threshold1和threshold2)之间的关系作相应的处理结果跳到步骤1。
步骤1:使用非对称十字模板搜索。“非对称”的原因是一般水平方向运动要比垂直方向运动剧烈,所以将水平方向搜索范围定为W,垂直方向搜索范围定为W/2。
步骤2:使用5x5逐步搜索模板搜索。
步骤3:使用大六边形模板搜索。
步骤4:使用六边形搜索算法找到最优匹配点。
在本申请实施例中,可以根据上述任一种运动估计方法找到目标搜索位置(即目标搜索位置),并通过率失真代价Rdcost来评价匹配点之间的相似程度,在整像素运动估计中的失真单位为绝对误差和(Sum of Absolute Difference)值,该率失真代价的计算公式可以为如下:
Rdcost=D+λ*bit
该Rdcost即为率失真代价,该D表示失真,在整像素运动估计中该失真为绝对误差和值,该λ为拉格朗日常数,该bit代表编码当前运动矢量(MotionVector,MV)需要消耗的比特位数,该bit为描述电脑数据量的最小单位,根据上述公式可以计算出当前视频帧的预测单元和视频参考帧指定范围内的多个参考预测单元之间的率失真代价,该率失真代价越小,说明两者误差越小,匹配度越高,该率失真代价越大,说明两者误差越大,匹配度越低,以此,可以先计算每一当前视频帧的预测单元与视频参考帧中指定范围内的多个参考预测单元的率失真代价,并将该率失真代价的最小值相应的参考预测单元确定为每一个预测单元匹配的目标搜索位置。
在步骤103中,基于目标搜索位置统计当前视频帧的波动率。
需要说明的是,在现有技术中,HEVC编码框架为了提升运动估计的精度,在估计估计中均采用三部分依次进行处理,即:整像素运动估计、二分之一像素运动估计(HalfMotion Estimation,HME)、四分之一像素运动估计(Quarter Motion Estimation,QME)等。也就是说,现有技术的HEVC编码框架在对当前视频帧进行整像素运动估计,得到整像素运动估计出的目标搜索位置后,还需要进行分像素运动估计,该分像素运动估计包括二分之一像素运动估计和四分之一像素运动估计等等,由于在做分像素运动估计时,视频参考帧中不存在相应的二分一精度像素和四分之一精度像素,因此需要对视频参考帧进行插值后才能进行分级像素运动估计,这部分的计算量非常大,约占整个运动估计的百分之三十左右,极大影响视频编码的实时性和效率。
其中,本申请实施例为了克服上述问题,在获取目标搜索位置时,先不做分像素运动估计,而对该目标搜索位置进行可行性评估,该可行性评估的过程为获取目标搜索位置和目标搜索位置的周围区域上的参考预测单元位置上的多个像素失真,统称为整像素失真,进一步的根据该整像素失真可以计算出该目标搜索位置相应的波动率,该波动率代表了当前目标搜索位置的图像块与周围的参考预测单元的图像块的接近程度,该波动率越小,说明当前目标搜索位置的图像块与周围的参考预测单元的图像块越接近,越有可能为同一纹理简单的整体,或者当前纹理变化缓慢。该波动率越大,说明当前目标搜索位置的图像块与周围的参考预测单元的图像块越不接近,越不可能为同一纹理简单的整体,或者当前纹理变化较大。以此,后续可以根据该波动率来选择性跳过分像素运动估计,进而提升视频编码的实时性和效率。
在一些实施方式中,该基于目标搜索位置统计当前视频帧的波动率的步骤,可以包括:
(1)获取该目标搜索位置的周围区域上的参考预测单元数量;
(2)当检测到该参考预测单元数量大于预设阈值时,获取该目标搜索位置的第一失真;
(3)依次获取该目标搜索位置的周围区域上的每一参考预测单元的第二失真;
(4)将该第一失真和第二失真确定为整像素失真;
(5)根据该整像素失真计算出该当前视频帧的波动率。
其中,对于位于图像4个角上的目标搜索位置,由于其周围区域上的参考预测单元位置利用点太少,该周围区域上的参考预测单元具体为与目标搜索位置在周围区域错开一个像素的参考预测单元,该图像4个角上的目标搜索位置周围只有3个参考预测单元,加上目标搜索位置只有4个参考点,会导致后续的波动率不准确,因此,需要排除对四个角上的目标搜索位置进行波动率计算,首先获取目标搜索位置的周围区域上的参考预测单元数量,该预设阈值即为界定该目标搜索位置是否为四个角上的目标搜索位置的临界值,可以为3个,当检测到该目标搜索位置的周围区域上的参考预测单元数量大于3个时,说明不为四个角上的目标搜索位置,可以获取该目标搜索位置的第一失真和依次获取该目标搜索位置的周围区域上的多个参考预测单元的第二失真,将该第一失真和第二失真统称为整像素失真。进而根据该整像素失真计算出该当前视频帧的波动率。
在一些实施方式中,该根据该整像素失真计算出该当前视频帧的波动率的步骤,可以包括:
(1)计算该整像素失真相应的平均失真;
(2)计算该整像素失真的平均波动;
(3)基于该平均波动与平均失真的比值确定该当前视频帧的波动率。
其中,可以先统计所有整像素失真的和,得到目标失真,将该目标失真除以目标搜索位置和周围区域上参考预测单元位置数量的总和,得到平均失真。基于此,依次计算每一整像素失真与平均失真的差值,并将该差值求和,得到目标波动,进而将该目标波动除以目标搜索位置和周围区域上参考预测单元位置数量的总和,得到平均波动。
进一步的,将该平均波动除以平均失真即可得到该目标搜索位置与周围区域上的参考预测单元的波动率,该波动率越低,说明该目标搜索位置的图像块与周围整像素位置的图像块越接近。
在步骤104中,当当前视频帧的波动率小于整像素波动阈值时,将目标搜索位置作为当前视频帧的编码搜索位置。
其中,与现有技术不同的是,本申请实施例在进行整像素运动估计之后,设定一整像素波动阈值,该整像素波动阈值为界定该目标搜索位置的图像块与周围参考预测单元的图像块之间是否为同一纹理简单的整体的临界值。
进一步的,当检测到当前视频帧的波动率小于整像素波动阈值时,说明该目标搜索位置的图像块与周围参考预测单元的图像块之间为同一纹理简单的整体,因此,可以直接跳过分像素运动估计,直接将目标搜索位置作为当前视频帧的编码搜索位置作为运动结果,并将目标搜索位置作为运动结果进行运动补偿,运动补偿的方式可以参阅现有技术,此处不做赘述。运动补偿完成之后,可以进行预测编码,主要利用视频的空间相关性和时间相关性,分别采用帧内预测和帧间预测去除时空域冗余信息,从而得到预测图像块,然后根据预测图像块与原始图像块作差得到预测残差块,再对预测残差进行离散余弦变换和量化,获得量化的残差系数,最后将该量化的残差系数进行熵编码输出码流,实现在保证目标搜索位置的质量的前提下,跳过分像素运动估计,所以可以加速运动估计的过程。
在一实施方式中,当检测到当前视频帧的波动率不小于整像素波动阈值时,说明该目标搜索位置的图像块与周围参考预测单元的图像块之间不为同一纹理简单的整体,该目标搜索位置不符合要求,需要进一步的进行分像素运动估计,以得到更为准确的搜索位置进行运动补偿。
由上述可知,本申请实施例通过从待编码视频中获取待编码的当前视频帧;对当前视频帧进行整像素运动估计,确定当前视频帧的目标搜索位置;基于目标搜索位置统计当前视频帧的波动率;当当前视频帧的波动率小于整像素波动阈值时,将目标搜索位置作为当前视频帧的编码搜索位置。以此,在获取到目标搜索位置的情况下,计算目标搜索位置和周围区域的波动率,在波动率符合条件时,直接以目标搜索位置作为当前视频帧编码搜索位置作为运动估计结果,进而跳过分像素运动估计,节省了运动估计的时间,极大的提升了视频编码的效率和实时性。
实施例二、
根据实施例一所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以该视频图像处理装置具体集成在服务器中为例进行说明。
请参阅图3,图3为本申请实施例提供的视频图像处理方法的另一流程示意图。该方法流程可以包括:
在步骤201中,服务器从待编码视频中获取待编码的当前视频帧。
其中,服务器依次将每一个视频帧送入到编码器,按照最大编码单元分成不重叠的矩形块,对于每个最大编码单元,编码器会选择合适的编码单元四叉树划分方式,对于每个不再继续划分的编码单元,编码器会选择合适预测方式进行预测,每个编码单元包含预测单元和变换单元,对每个预测单元进行预测,得到预测值,预测值与原始输入数据相减,得到残差,然后对该残差进行DCT和量化,得到残差系数,然后将该残差系数送入熵编码模块输出码流,同时,该残差系数经反量化、反变换之后,可以得到重构图像的残差值,再和预测值相加,从而得到了重构图像,重构图像经环内滤波之后,进入参考帧队列,作为下一帧的视频参考帧,从而可以依次向后编码,即从第二帧图像开始,都有一个相应的视频参考帧,才可以进行后续的运动估计。基于此,服务器依次从帧缓存中读取当前视频帧。
在步骤202中,服务器将当前视频帧分为多个预测单元,计算每一个预测单元与视频参考帧中指定范围内的多个参考预测单元的绝对误差和值和相应的第一消耗比特位数。
其中,由于在整像素运动估计中的失真单位为绝对误差和(Sum of AbsoluteDifference)值,因此服务器将当前视频帧划分为若干互不重叠的预测单元,同时将视频参考帧也划分为若干互不重叠的参考预测单元(即匹配块),计算该当前视频帧的预测单元与视频参考帧指定范围内的多个参考预测单元的绝对误差和值和每一参考预测单元相应的第一消耗比特位数,根据率失真代价的计算公式计算出当前视频帧的预测单元与视频参考帧指定范围内每一参考预测单元的率失真代价。该率失真代价的计算公式可以为如下:
Rdcost=D+λ*bit
该Rdcost即为率失真代价,该D表示失真,在整像素运动估计中该失真为绝对误差和值,该λ为拉格朗日常数,该bit代表编码当前运动矢量(Motion Vector,MV)需要消耗的比特位数,该bit为描述电脑数据量的最小单位,根据上述公式可以计算出当前视频帧的预测单元和视频参考帧指定范围内的多个参考预测单元之间的率失真代价。
在步骤203中,服务器根据绝对误差和值和相应的第一消耗比特位数计算出多个参考预测单元的率失真代价,将率失真代价中的最小值相应的参考预测单元确定为每一个预测单元匹配的目标搜索位置。
其中,该率失真代价最小值相应的参考预测单元作为与当前视频帧的预测单元最相似的匹配块,可以直接将该率失真代价中的最小值相应的参考预测单元确定为当前视频帧的预测单元匹配的目标搜索位置,以此类推,可以得到当前视频帧的每一预测单元相应的目标搜索位置。请一并参阅图4,图4为本申请实施例提供的图像处理方法的场景示意图,该视频参考帧10上包括有4个目标搜索位置,分别为目标搜索位置11、目标搜索位置12、目标搜索位置13、目标搜索位置14和目标搜索位置15。
在步骤204中,服务器获取目标搜索位置的周围区域上的参考预测单元数量,当检测到参考预测单元数量大于预设阈值时,获取目标搜索位置的第一失真。
其中,该整像素运动评估中的失真即为上述的绝对误差和值,该目标搜索位置的周围区域上的参考预测单元即为目标搜索位置在周围区域方向上错开一个像素的参考预测单元,请一并参阅图4,服务器获取该目标搜索位置11、目标搜索位置12、目标搜索位置13和目标搜索位置14的周围区域上的参考预测单元数量均为5个,该目标搜索位置15的周围区域上的参考预测单元数量为8个,由于该参考帧图像10的4个角上的目标搜索位置周围区域上的参考预测单元数量太少,只有3个参考预测单元进行参考,会导致后续的波动率计算不准确,因此需要将该4个角上的目标搜索位置进行排除,即设定预设阈值为3,当检测到参考预测单元数量大于3个时,获取目标搜索位置的第一失真。而当检测到参考预测单元数量不大于3个时,说明为4个角上的目标搜索位置,不进行波动率计算,直接使用分像素运动估计方式进行运动估计。
在步骤205中,服务器依次获取目标搜索位置的周围区域上的每一参考预测单元的第二失真,将第一失真和第二失真确定为整像素失真。
其中,请一并参阅图4,服务器分别获取目标搜索位置11、目标搜索位置12、目标搜索位置13和目标搜索位置14的周围区域上的4个参考预测单元的第二失真,获取目标搜索位置15周围区域上的8个参考预测单元的第二失真,将每一目标搜索位置的第一失真和周围区域上的每一参考预测单元的第二失真一并确定为整像素失真。
在步骤206中,服务器将整像素失真进行求和,得到目标失真,统计目标搜索位置和目标搜索位置的周围区域上的参考预测单元数量进行求和,得到目标数量,计算目标失真与目标数量的比值,得到平均失真。
其中,该平均失真用公式表达如下:
该dist[i]为每一个整像素失真,该num为目标搜索位置和目标搜索位置的周围区域上的参考预测单元数量进行求和的数量,即目标数量。以此,服务器将目标搜索位置相应的所有整像素失真进行求和,得到目标失真,最后计算该目标失真与目标数量的比值,得到相应的平均失真averdist。
在步骤207中,服务器依次计算每一整像素失真与平均失真的差值,并将差值进行求和,得到目标波动,统计目标搜索位置和目标搜索位置的周围区域上的参考预测单元数量进行求和,得到目标数量,计算目标波动与目标数量的比值,得到平均波动。
其中,该平均波动用公式表达如下:
该dist[i]为每一个整像素失真,该num为目标搜索位置和目标搜索位置的周围区域上的参考预测单元数量进行求和的数量,即目标数量,该averdist为上述的平均失真。以此,服务器依次计算每一整像素失真与平均失真的差值,并将差值进行求和,得到目标波动,计算该目标波动与目标数量的比值,得到平均波动averdiff。
在步骤208中,服务器基于平均波动与平均失真的比值确定当前视频帧的波动率。
其中,该波动率用公式表达如下:
该averdiff即为上述的平均波动,该averdist为上述的平均失真,将该平均波动除以该平均失真即可以得到每一目标搜索位置相应的波动率,该波动率越低,说明该目标搜索位置的图像块与周围整像素位置的图像块越接近。
在步骤209中,服务器检测当前视频帧的波动率是否小于整像素波动阈值。
其中,该整像素波动阈值为界定该目标搜索位置的图像块与周围参考预测单元的图像块之间是否为同一纹理简单的整体的临界值,当服务器检测到当前视频帧的波动率小于整像素波动阈值时,执行步骤210,当服务器检测到当前视频帧的波动率大于等于整像素波动阈值时,执行步骤211。
在步骤210中,服务器将目标搜索位置作为当前视频帧的编码搜索位置。
其中,当服务器检测到当前视频帧的波动率小于整像素波动阈值时,说明该目标搜索位置的图像块与周围参考预测单元的图像块为同一纹理简单的整体,此时,没有必要再做分像素运动估计,可以直接将该目标搜索位置作为运动结果进行运动补偿。
在步骤211中,服务器对目标搜索位置进行二分之一像素运动估计,得到二分之一像素运动估计出的二分之一目标搜索位置。
其中,当服务器检测到当前视频帧的波动率大于等于整像素波动阈值时,说明该目标搜索位置的图像块与周围参考预测单元的图像块之间不为同一纹理简单的整体,需要进一步对目标搜索位置进行二分之一像素运动估计,得到准确率更高的二分之一目标搜索位置。
在一实施方式中,该对目标搜索位置进行二分之一像素运动估计,得到二分之一像素运动估计出的二分之一目标搜索位置的步骤,可以包括:
(1)将该视频参考帧放大二倍,并将放大二倍后的视频参考帧分为多个二分之一参考预测单元;
(2)计算每一个预测单元与视频参考帧中指定范围内的多个二分之一参考预测单元的哈达玛变换后再绝对值求和值和相应的第二消耗比特位数;
(3)根据该哈达玛变换后再绝对值求和值和相应的第二消耗比特位数计算出多个二分之一参考预测单元的率失真代价;
(4)将该率失真代价中的最小值相应的二分之一参考预测单元确定为每一个预测单元匹配的二分之一目标搜索位置。
其中,本申请实施例为了获取更精准的最优位置,可以先将该视频参考帧放大二倍,实现一个像素步长变为二分之一像素步长,并将放大二倍后的视频参考帧划分为若干个互不重叠的多个二分之一参考预测单元,具体在将视频参考帧放大二倍后,还需要对视频参考帧进行二倍插值,后续计算该预测单元与进行二倍插值后的视频参考帧中的指定范围内的二分之一参考预测单元的率失真代价,并将该率失真代价的最小值相应的二分之一参考预测单元确定为每一个预测单元匹配的二分之一目标搜索位置。
进一步的,由于在分像素运动估计中,待搜索点不多,各点处的绝对误差和值差异不大,所以在分像素运动估计中可以采用失真单位为哈达玛(hadamard)变换后再绝对值求和(Sum of Absolute Transformed Difference,SATD)值,该率失真代价的计算公式可以为如下:
Rdcost=D+λ*bit
该Rdcost即为率失真代价,该D表示失真,在二分之一像素运动估计中该失真为哈达玛变换后再绝对值求和值,该λ为拉格朗日常数,该bit代表编码当前运动矢量需要消耗的比特位数,该bit为描述电脑数据量的最小单位,根据上述公式可以计算出当前视频帧的预测单元和进行二倍插值后的视频参考帧指定范围内的多个二分之一参考预测单元之间的率失真代价,该率失真代价越小,说明两者误差越小,匹配度越高,该率失真代价越大,说明两者误差越大,匹配度越差。
在步骤212中,服务器获取二分之一目标搜索位置以及二分之一目标搜索位置的周围区域的二分之一像素失真,并根据二分之一像素失真计算出当前视频帧的二分之一波动率。
其中,与现有技术中接着做四分之一像素运动估计不同的是,本申请实施例在获取到二分之一目标搜索位置时,先不做四分之一像素运动估计,而对该二分之一目标搜索位置进行可行性评估,该可行性评估的过程为获取二分之一目标搜索位置和二分之一目标搜索位置的周围区域上的二分之一参考预测单元位置的多个二分之一像素失真,该周围区域上的二分之一参考预测单元具体为二分之一目标搜索位置在周围区域错开二分之一像素的多个二分之一参考预测单元,并根据该二分之一像素失真计算出相应的二分之一波动率,该计算的过程与波动率的计算过程基本相同,区别为一个是目标搜索位置,该目标搜索位置的失真为绝对误差和值,另一个为二分之一目标搜索位置,该二分之一像素失真为哈达玛变换后再绝对值求和值。请参考上述调波动率的计算过程,此处不作具体的赘述。
在步骤213中,当二分之一波动率小于二分之一像素波动阈值时,将二分之一目标搜索位置作为当前视频帧的编码搜索位置。
其中,该二分之一像素波动阈值为界定该二分之一目标搜索位置的图像块与周围的二分之一参考预测单元的图像块之间是否为同一纹理简单的整体的临界值,该二分之一像素波动阈值与整像素波动阈值不同,二者取值均介于0.1至0.35之间,有一个共性,慢速档阈值均最小,编码速度越快阈值越大。当服务器检测到二分之一波动率小于该二分之一像素波动阈值时,说明该二分之一目标搜索位置的图像块与周围的二分之一参考预测单元的图像块之间为同一纹理简单的整体,因此,可以直接跳过后续的四分之一像素运动估计,直接将该将二分之一目标搜索位置作为当前视频帧的编码搜索位置,作为运动结果进行运动补偿。实现在保证二分之一目标搜索位置的质量的前提下,跳过四分之一像素运动估计,所以可以加速运动估计的过程。
当服务器检测到二分之一波动率大于等于该二分之一像素波动阈值时,说明该二分之一目标搜索位置的图像块与周围二分之一参考预测单元的图像块之间不为同一纹理简单的整体,需要进一步执行四分之一像素运动估计。
由上述可知,本申请实施例通过从待编码视频中获取待编码的当前视频帧;对当前视频帧进行整像素运动估计,确定当前视频帧的目标搜索位置;基于目标搜索位置统计当前视频帧的波动率;当当前视频帧的波动率小于整像素波动阈值时,将目标搜索位置作为当前视频帧的编码搜索位置。以此,在获取到目标搜索位置的情况下,计算目标搜索位置和周围区域的波动率,在波动率符合条件时,直接以目标搜索位置作为当前视频帧编码搜索位置作为运动估计结果,进而跳过分像素运动估计,节省了运动估计的时间,极大的提升了视频编码的效率和实时性。
进一步的,在波动率不符合条件时,获取二分之一目标搜索位置,计算二分之一目标搜索位置和周围区域的二分之一波动率,在二分之一波动率符合条件时,直接以二分之一目标搜索位置作为运动估计结果,跳过后续的四分之一像素运动估计,更好的节省了运动估计的时间。
实施例三、
为便于更好的实施本申请实施例提供的视频图像处理方法,本申请实施例还提供一种基于上述视频图像处理方法的装置。其中名词的含义与上述视频图像处理方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图5,图5为本申请实施例提供的视频图像处理装置的结构示意图,其中该视频图像处理装置可以包括获取单元301、第一估计单元302、第一计算单元303、及第一结果单元304等。
获取单元301,用于从待编码视频中获取待编码的当前视频帧。
第一估计单元302,用于对该当前视频帧进行整像素运动估计,确定该当前视频帧的目标搜索位置。
在一些实施方式中,第一估计单元302可以包括:
划分子单元,将该当前视频帧分为多个预测单元;
确定子单元,基于每一个预测单元在视频参考帧中进行整像素运动估计,确定与每一个预测单元匹配的目标搜索位置。
在一些实施方式中,确定子单元,用于:计算每一个预测单元与视频参考帧中指定范围内的多个参考预测单元的绝对误差和值和相应的第一消耗比特位数;根据该绝对误差和值和相应的第一消耗比特位数计算出多个参考预测单元的率失真代价;将该率失真代价中的最小值相应的参考预测单元确定为每一个预测单元匹配的目标搜索位置。
第一计算单元303,用于基于该目标搜索位置统计该当前视频帧的波动率。
在一些实施例中,该第一计算单元303,包括:
获取子单元,用于获取该目标搜索位置的周围区域上的参考预测单元数量;
第一失真获取子单元,用于当检测到该参考预测单元数量大于预设阈值时,获取该目标搜索位置的第一失真;
第二失真获取子单元,用于依次获取该目标搜索位置的周围区域上的每一参考预测单元的第二失真;
确定子单元,用于将该第一失真和第二失真确定为整像素失真;
计算子单元,用于根据该整像素失真计算出该当前视频帧的波动率。
在一些实施例中,该计算子单元,用于:
计算该整像素失真相应的平均失真;计算该整像素失真的平均波动;基于该平均波动与平均失真的比值确定该当前视频帧的波动率。
在一些实施例中,该计算子单元,还用于:
将该整像素失真进行求和,得到目标失真;统计该目标搜索位置和目标搜索位置的周围区域上的参考预测单元数量进行求和,得到目标数量;计算该目标失真与目标数量的比值,得到平均失真;计算该整像素失真的平均波动;基于该平均波动与平均失真的比值确定该当前视频帧的波动率。
在一些实施例中,该计算子单元,还用于:
计算该整像素失真相应的平均失真;依次计算每一整像素失真与该平均失真的差值,并将该差值进行求和,得到目标波动;统计该目标搜索位置和目标搜索位置的周围区域上的参考预测单元数量进行求和,得到目标数量;计算该目标波动与目标数量的比值,得到平均波动;基于该平均波动与平均失真的比值确定该当前视频帧的波动率。
第一结果单元304,用于当该当前视频帧的波动率小于整像素波动阈值时,将该目标搜索位置作为该当前视频帧的编码搜索位置。
在一些实施例中,该装置还包括:
第二估计单元,用于当该当前视频帧的波动率大于等于整像素波动阈值时,对该目标搜索位置进行二分之一像素运动估计,得到二分之一像素运动估计出的二分之一目标搜索位置。
第二计算单元,用于获取该二分之一目标搜索位置以及该二分之一目标搜索位置的周围区域的二分之一像素失真,并根据该二分之一像素失真计算出该当前视频帧的二分之一波动率。
第二结果单元,用于当该二分之一波动率小于二分之一像素波动阈值时,将该二分之一目标搜索位置作为该当前视频帧的编码搜索位置,该二分之一像素波动阈值与该整像素波动阈值不同。
第三估计单元,用于当该二分之一波动率大于等于二分之一像素波动阈值时,对该二分之一目标搜索位置进行四分之一像素运动估计。
在一些实施方式中,该第二估计单元,用于:当该当前视频帧的波动率大于等于整像素波动阈值时,将该视频参考帧放大二倍,并将放大二倍后的视频参考帧分为多个二分之一参考预测单元;计算每一个预测单元与视频参考帧中指定范围内的多个二分之一参考预测单元的哈达玛变换后再绝对值求和值和相应的第二消耗比特位数;根据该哈达玛变换后再绝对值求和值和相应的第二消耗比特位数计算出多个二分之一参考预测单元的率失真代价;将该率失真代价中的最小值相应的二分之一参考预测单元确定为每一个预测单元匹配的二分之一目标搜索位置。
以上各个单元的具体实施可参见前面的实施例,在此不再赘述。
由上述可知,本申请实施例通过获取单元301从待编码视频中获取待编码的当前视频帧;第一估计单元302对当前视频帧进行整像素运动估计,确定当前视频帧的目标搜索位置;第一计算单元303基于目标搜索位置统计当前视频帧的波动率;当第一结果单元304检测到当前视频帧的波动率小于整像素波动阈值时,将目标搜索位置作为当前视频帧的编码搜索位置。以此,在获取到目标搜索位置的情况下,计算目标搜索位置和周围区域的波动率,在波动率符合条件时,直接以目标搜索位置作为当前视频帧编码搜索位置作为运动估计结果,进而跳过分像素运动估计,节省了运动估计的时间,极大的提升了视频编码的效率和实时性。
实施例四、
本申请实施例还提供一种服务器,如图6所示,其示出了本申请实施例所涉及的服务器的结构示意图,具体来讲:
该服务器可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图6中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中:
处理器401是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
服务器还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该服务器还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
从待编码视频中获取待编码的当前视频帧;对该当前视频帧进行整像素运动估计,确定该当前视频帧的目标搜索位置;基于该目标搜索位置统计该当前视频帧的波动率;当该当前视频帧的波动率小于整像素波动阈值时,将该目标搜索位置作为该当前视频帧的编码搜索位置。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对视频图像处理方法的详细描述,此处不再赘述。
由上述可知,本申请实施例的服务器可以通过从待编码视频中获取待编码的当前视频帧;对当前视频帧进行整像素运动估计,确定当前视频帧的目标搜索位置;基于目标搜索位置统计当前视频帧的波动率;当当前视频帧的波动率小于整像素波动阈值时,将目标搜索位置作为当前视频帧的编码搜索位置。以此,在获取到目标搜索位置的情况下,计算目标搜索位置和周围区域的波动率,在波动率符合条件时,直接以目标搜索位置作为当前视频帧编码搜索位置作为运动估计结果,进而跳过分像素运动估计,节省了运动估计的时间,极大的提升了视频编码的效率和实时性。
实施例五、
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种视频图像处理方法中的步骤。例如,该指令可以执行如下步骤:
从待编码视频中获取待编码的当前视频帧;对该当前视频帧进行整像素运动估计,确定该当前视频帧的目标搜索位置;基于该目标搜索位置统计该当前视频帧的波动率;当该当前视频帧的波动率小于整像素波动阈值时,将该目标搜索位置作为该当前视频帧的编码搜索位置。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种视频图像处理方法中的步骤,因此,可以实现本申请实施例所提供的任一种视频图像处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种视频图像处理方法、装置及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (13)
1.一种视频图像处理方法,其特征在于,包括:
从待编码视频中获取待编码的当前视频帧;
对所述当前视频帧进行整像素运动估计,确定所述当前视频帧的目标搜索位置;
基于所述目标搜索位置统计所述当前视频帧的波动率;
当所述当前视频帧的波动率小于整像素波动阈值时,将所述目标搜索位置作为所述当前视频帧的编码搜索位置。
2.根据权利要求1所述的视频图像处理方法,其特征在于,所述基于所述目标搜索位置统计所述当前视频帧的波动率的步骤,包括:
获取所述目标搜索位置的周围区域上的参考预测单元数量;
当检测到所述参考预测单元数量大于预设阈值时,获取所述目标搜索位置的第一失真;
依次获取所述目标搜索位置的周围区域上的每一参考预测单元的第二失真;
将所述第一失真和第二失真确定为整像素失真;
根据所述整像素失真计算出所述当前视频帧的波动率。
3.根据权利要求2所述的视频图像处理方法,其特征在于,所述根据所述整像素失真计算出所述当前视频帧的波动率的步骤,包括:
计算所述整像素失真相应的平均失真;
计算所述整像素失真的平均波动;
基于所述平均波动与平均失真的比值确定所述当前视频帧的波动率。
4.根据权利要求3所述的视频图像处理方法,其特征在于,所述计算所述整像素失真相应的平均失真的步骤,包括:
将所述整像素失真进行求和,得到目标失真;
统计所述目标搜索位置和目标搜索位置的周围区域上的参考预测单元数量进行求和,得到目标数量;
计算所述目标失真与目标数量的比值,得到平均失真。
5.根据权利要求3所述的视频图像处理方法,其特征在于,所述计算所述整像素失真的平均波动的步骤,包括:
依次计算每一整像素失真与所述平均失真的差值,并将所述差值进行求和,得到目标波动;
统计所述目标搜索位置和目标搜索位置的周围区域上的参考预测单元数量进行求和,得到目标数量;
计算所述目标波动与目标数量的比值,得到平均波动。
6.根据权利要求1所述的视频图像处理方法,其特征在于,所述对所述当前视频帧进行整像素运动估计,确定所述当前视频帧的目标搜索位置的步骤,包括:
将所述当前视频帧分为多个预测单元;
基于每一个预测单元在视频参考帧中进行整像素运动估计,确定与每一个预测单元匹配的目标搜索位置。
7.根据权利要求6所述的视频图像处理方法,其特征在于,所述基于每一个预测单元在视频参考帧中进行整像素运动估计,确定与每一个预测单元匹配的目标搜索位置的步骤,包括:
计算每一个预测单元与视频参考帧中指定范围内的多个参考预测单元的绝对误差和值和相应的第一消耗比特位数;
根据所述绝对误差和值和相应的第一消耗比特位数计算出多个参考预测单元的率失真代价;
将所述率失真代价中的最小值相应的参考预测单元确定为每一个预测单元匹配的目标搜索位置。
8.根据权利要求1至7任一项所述的视频图像处理方法,其特征在于,所述基于所述目标搜索位置统计所述当前视频帧的波动率的步骤之后,还包括:
当所述当前视频帧的波动率大于等于整像素波动阈值时,对所述目标搜索位置进行二分之一像素运动估计,得到二分之一像素运动估计出的二分之一目标搜索位置;
获取所述二分之一目标搜索位置以及所述二分之一目标搜索位置的周围区域的二分之一像素失真,并根据所述二分之一像素失真计算出所述当前视频帧的二分之一波动率;
当所述二分之一波动率小于二分之一像素波动阈值时,将所述二分之一目标搜索位置作为所述当前视频帧的编码搜索位置,所述二分之一像素波动阈值与所述整像素波动阈值不同。
9.根据权利要求8所述的视频图像处理方法,其特征在于,所述对所述目标搜索位置进行二分之一像素运动估计,得到二分之一像素运动估计出的二分之一目标搜索位置的步骤,包括:
将所述视频参考帧放大二倍,并将放大二倍后的视频参考帧分为多个二分之一参考预测单元;
计算每一个预测单元与视频参考帧中指定范围内的多个二分之一参考预测单元的哈达玛变换后再绝对值求和值和相应的第二消耗比特位数;
根据所述哈达玛变换后再绝对值求和值和相应的第二消耗比特位数计算出多个二分之一参考预测单元的率失真代价;
将所述率失真代价中的最小值相应的二分之一参考预测单元确定为每一个预测单元匹配的二分之一目标搜索位置。
10.根据权利要求9所述的视频图像处理方法,其特征在于,所述根据所述二分之一像素失真计算出所述当前视频帧的二分之一波动率的步骤之后,还包括:
当所述二分之一波动率大于等于二分之一像素波动阈值时,对所述二分之一目标搜索位置进行四分之一像素运动估计。
11.一种视频图像处理装置,其特征在于,包括:
获取单元,用于从待编码视频中获取待编码的当前视频帧;
第一估计单元,用于对所述当前视频帧进行整像素运动估计,确定所述当前视频帧的目标搜索位置;
第一计算单元,用于基于所述目标搜索位置统计所述当前视频帧的波动率;
第一结果单元,用于当所述当前视频帧的波动率小于整像素波动阈值时,将所述目标搜索位置作为所述当前视频帧的编码搜索位置。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至10任一项所述的视频图像处理方法中的步骤。
13.一种计算机设备,包括处理器和存储器,所述存储器存储有多条计算机指令,其特征在于,所述处理器加载所述计算机指令,以执行权利要求1至10任一项所述的视频图像处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010290295.6A CN111479115B (zh) | 2020-04-14 | 2020-04-14 | 一种视频图像处理方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010290295.6A CN111479115B (zh) | 2020-04-14 | 2020-04-14 | 一种视频图像处理方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111479115A true CN111479115A (zh) | 2020-07-31 |
CN111479115B CN111479115B (zh) | 2022-09-27 |
Family
ID=71751891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010290295.6A Active CN111479115B (zh) | 2020-04-14 | 2020-04-14 | 一种视频图像处理方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111479115B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113630602A (zh) * | 2021-06-29 | 2021-11-09 | 杭州未名信科科技有限公司 | 编码单元的仿射运动估计方法、装置、存储介质及终端 |
CN113949881A (zh) * | 2021-11-15 | 2022-01-18 | 赵茜茜 | 一种基于智慧城市数据的业务处理方法及系统 |
WO2022104678A1 (zh) * | 2020-11-20 | 2022-05-27 | 深圳市大疆创新科技有限公司 | 视频编解码方法、装置、可移动平台和存储介质 |
CN114584673A (zh) * | 2020-12-01 | 2022-06-03 | 京东方科技集团股份有限公司 | 一种图像处理方法和装置 |
CN115529459A (zh) * | 2022-10-10 | 2022-12-27 | 格兰菲智能科技有限公司 | 中心点搜索方法、装置、计算机设备、存储介质 |
CN116760986A (zh) * | 2023-08-23 | 2023-09-15 | 腾讯科技(深圳)有限公司 | 候选运动矢量生成方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160171664A1 (en) * | 2013-07-09 | 2016-06-16 | Hitachi Kokusai Electric Inc. | Image processing apparatus and image processing method |
US20170094293A1 (en) * | 2015-09-30 | 2017-03-30 | Apple Inc. | Configurable motion estimation search systems and methods |
CN108733707A (zh) * | 2017-04-20 | 2018-11-02 | 腾讯科技(深圳)有限公司 | 一种确定搜索功能稳定性及装置 |
CN109660811A (zh) * | 2018-12-17 | 2019-04-19 | 杭州当虹科技股份有限公司 | 一种快速的hevc帧间编码方法 |
CN110839155A (zh) * | 2018-08-17 | 2020-02-25 | 北京金山云网络技术有限公司 | 运动估计的方法、装置、电子设备及计算机可读存储介质 |
-
2020
- 2020-04-14 CN CN202010290295.6A patent/CN111479115B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160171664A1 (en) * | 2013-07-09 | 2016-06-16 | Hitachi Kokusai Electric Inc. | Image processing apparatus and image processing method |
US20170094293A1 (en) * | 2015-09-30 | 2017-03-30 | Apple Inc. | Configurable motion estimation search systems and methods |
CN108733707A (zh) * | 2017-04-20 | 2018-11-02 | 腾讯科技(深圳)有限公司 | 一种确定搜索功能稳定性及装置 |
CN110839155A (zh) * | 2018-08-17 | 2020-02-25 | 北京金山云网络技术有限公司 | 运动估计的方法、装置、电子设备及计算机可读存储介质 |
CN109660811A (zh) * | 2018-12-17 | 2019-04-19 | 杭州当虹科技股份有限公司 | 一种快速的hevc帧间编码方法 |
Non-Patent Citations (2)
Title |
---|
BRUNNO ABREU等: "Exploiting_Partial_Distortion_Elimination_in_the_Sum_of_Absolute_Differences_for_Energy-Efficient_HEVC_Integer_Motion_Estimation", 《IEEE EXPLORE》 * |
陈清坤等: "面向HEVC的运动估计快速算法和硬件架构", 《福州大学学报(自然科学版)》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022104678A1 (zh) * | 2020-11-20 | 2022-05-27 | 深圳市大疆创新科技有限公司 | 视频编解码方法、装置、可移动平台和存储介质 |
CN114584673A (zh) * | 2020-12-01 | 2022-06-03 | 京东方科技集团股份有限公司 | 一种图像处理方法和装置 |
CN114584673B (zh) * | 2020-12-01 | 2024-01-09 | 京东方科技集团股份有限公司 | 一种图像处理方法和装置 |
CN113630602A (zh) * | 2021-06-29 | 2021-11-09 | 杭州未名信科科技有限公司 | 编码单元的仿射运动估计方法、装置、存储介质及终端 |
CN113949881A (zh) * | 2021-11-15 | 2022-01-18 | 赵茜茜 | 一种基于智慧城市数据的业务处理方法及系统 |
CN113949881B (zh) * | 2021-11-15 | 2023-10-03 | 山东瑞瀚网络科技有限公司 | 一种基于智慧城市数据的业务处理方法及系统 |
CN115529459A (zh) * | 2022-10-10 | 2022-12-27 | 格兰菲智能科技有限公司 | 中心点搜索方法、装置、计算机设备、存储介质 |
CN115529459B (zh) * | 2022-10-10 | 2024-02-02 | 格兰菲智能科技有限公司 | 中心点搜索方法、装置、计算机设备、存储介质 |
CN116760986A (zh) * | 2023-08-23 | 2023-09-15 | 腾讯科技(深圳)有限公司 | 候选运动矢量生成方法、装置、计算机设备和存储介质 |
CN116760986B (zh) * | 2023-08-23 | 2023-11-14 | 腾讯科技(深圳)有限公司 | 候选运动矢量生成方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111479115B (zh) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111479115B (zh) | 一种视频图像处理方法、装置及计算机可读存储介质 | |
US8705611B2 (en) | Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program | |
US8571106B2 (en) | Digital video compression acceleration based on motion vectors produced by cameras | |
US8385423B2 (en) | Motion vector detecting device, motion vector detecting method, image encoding device, and program | |
JP4606311B2 (ja) | 画像符号化装置および画像符号化方法 | |
JPH08307874A (ja) | 映像信号符号化装置 | |
JP2011528533A (ja) | 動き推定反復検索のための推測的開始点選択 | |
WO2022088631A1 (zh) | 图像编码方法、图像解码方法及相关装置 | |
JP2007142521A (ja) | 動きベクトル算出装置および動きベクトル算出方法 | |
US8358860B2 (en) | Motion vector detecting device, motion vector detecting method, image encoding device, and program | |
JP2011528534A (ja) | 動き推定反復検索のための簡単な次検索位置選択 | |
WO2023131059A1 (zh) | 图像编码方法、图像编码装置、电子设备和可读存储介质 | |
US9204157B2 (en) | Video compression searching reference frame in hybrid growing-window and sliding-window | |
US9197892B2 (en) | Optimized motion compensation and motion estimation for video coding | |
US9686556B2 (en) | Rate-estimation for encoding rate control | |
JP3674535B2 (ja) | 動画像符号化方法および装置 | |
WO2018205781A1 (zh) | 一种实现运动估计的方法及电子设备 | |
WO2020037501A1 (zh) | 码率分配方法、码率控制方法、编码器和记录介质 | |
KR20070000702A (ko) | 탐색영역 재설정을 이용한 고속 움직임 예측 장치 및 방법 | |
KR20120072205A (ko) | 매크로블록 간의 예측 기법을 이용한 움직임 추정 장치 및 방법 | |
Gao et al. | Complexity scalable control for H. 264 motion estimation and mode decision under energy constraints | |
WO2018205780A1 (zh) | 一种运动估计实现方法及电子设备 | |
JP2002232881A (ja) | 動画像復号化方法及び装置 | |
KR20060109440A (ko) | 전력 최적화 콜로케이팅된 움직임 추정 방법 | |
JP2003219428A (ja) | 動画像符号化装置 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40025893 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |