CN111901605B - 视频处理方法、装置、电子设备及存储介质 - Google Patents

视频处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111901605B
CN111901605B CN201910372810.2A CN201910372810A CN111901605B CN 111901605 B CN111901605 B CN 111901605B CN 201910372810 A CN201910372810 A CN 201910372810A CN 111901605 B CN111901605 B CN 111901605B
Authority
CN
China
Prior art keywords
frame
video
video frame
determining
frames
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
CN201910372810.2A
Other languages
English (en)
Other versions
CN111901605A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910372810.2A priority Critical patent/CN111901605B/zh
Publication of CN111901605A publication Critical patent/CN111901605A/zh
Application granted granted Critical
Publication of CN111901605B publication Critical patent/CN111901605B/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/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
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • 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
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开实施例公开了一种视频处理方法、装置、电子设备及存储介质,所述方法包括:针对当前待处理的多个视频帧,确定目标视频帧,其中,所述目标视频帧为与当前参考帧之间的匹配度满足匹配度阈值的视频帧;将所述目标视频帧确定为P帧,将所述视频帧中位于所述P帧之前的视频帧确定为B帧。该技术方案从当前待处理的多个视频帧中找出第一个帧类型为P帧的目标视频帧之后,将目标视频帧之前的视频帧的帧类型均确定为B帧,相较于已有技术能够提高编码效率,降低计算复杂度。

Description

视频处理方法、装置、电子设备及存储介质
技术领域
本公开涉及计算机技术领域,具体涉及一种视频处理方法、装置、电子设备及存储介质。
背景技术
图片和视频是目前网络传输的主要媒体,占据80%以上的流量,且随着时间的推移一直在增长,未来三年内有望占据90%以上的网络流量;这图片和视频占据着大量的存储容量和网络带宽等资源;为了降低视频所占用的资源,通常采用视频压缩编码技术对视频进行编码。而视频编码中,确定视频帧的类型是非常关键的一步。视频帧的类型一般分为I帧(关键帧)、P帧(单向参考帧)、B帧(双向参考帧)。在确定了视频帧的类型后,根据帧类型的不同进行不同的编码;其中I帧为单独编码,P帧则是参考前一参考帧进行编码,而B帧则参考前后两个参考帧进行编码,因此帧类型的判断对编码质量有很大影响。常见做法是固定帧类型,比如IBBBPBBBP,这样做虽然简单,但没有考虑到帧与帧之间的相关性及差异程度,因此得到的编码质量也会较低。
发明内容
本公开实施例提供一种视频处理方法、装置、电子设备及计算机可读存储介质。
第一方面,本公开实施例中提供了一种视频处理方法。
具体的,所述视频处理方法,包括:
针对当前待处理的多个视频帧,确定目标视频帧,其中,所述目标视频帧为与当前参考帧之间的匹配度满足匹配度阈值的视频帧;
将所述目标视频帧确定为P帧,将所述视频帧中位于所述P帧之前的视频帧确定为B帧。
进一步地,所述针对当前待处理的多个视频帧,确定目标视频帧,包括:
针对当前待处理的多个所述视频帧,依次根据所述视频帧与参考帧之间的匹配度以及匹配度阈值确定出第一个帧类型为P帧的目标视频帧。
进一步地,所述匹配度阈值根据量化参数确定。
进一步地,所述方法还包括:
在满足以下两个条件之一时,根据所述视频帧和所述当前参考帧之间的距离确定所述匹配度阈值:
量化参数小于第一设定阈值;
相较于所述当前参考帧,所述视频帧及其前后帧的画面内容的变化量小于第二设定阈值;其中,所述第一设定阈值和第二设定阈值为预先确定的值。
进一步地,所述方法还包括:
在不满足所述两个条件中的任意一个时,根据所述量化参数以及所述视频帧中宏块的数量确定所述匹配度阈值。
进一步地,根据所述量化参数以及所述视频帧中宏块的数量确定所述匹配度阈值,包括:
根据所述量化参数确定所述宏块的平均匹配度阈值;
根据所述视频帧中宏块的数量及所述平均匹配度阈值确定所述匹配度阈值。
进一步地,所述确定目标视频帧,包括:
针对所述多个视频帧中的每一个,基于所述当前参考帧依次确定所述视频帧的帧类型假设为P帧时的编码代价值;
在所述编码代价值大于所述匹配度阈值时,确定所述视频帧的帧类型为P帧。
进一步地,所述确定目标视频帧之前,所述方法还包括:
确定当前待处理的所述多个视频帧和/或所述当前参考帧。
进一步地,确定当前待处理的所述多个视频帧和/或所述当前参考帧,包括:
按照播放顺序从未处理的第一个视频帧开始,利用运动估计法确定第一个帧类型为B帧的视频帧;
将所述第一个帧类型为B帧的视频帧的前一帧作为所述当前参考帧,将所述第一个帧类型为B帧的视频帧之后的预定数量个视频帧确定为当前待处理的多个所述视频帧。
进一步地,按照播放顺序从未处理的第一个视频帧开始,利用运动估计法确定第一个帧类型为B帧的视频帧,包括:
将所述第一个视频帧的后一帧的帧类型假设为P帧时,确定所述第一个视频帧的后一帧中帧内预测块的第一数量;
根据所述第一数量确定所述第一个视频帧的帧类型。
进一步地,根据所述第一数量确定所述第一个视频帧的帧类型,包括:
在所述第一数量小于或等于第三设定阈值时,将所述第一个视频帧确定为B帧;其中,所述第三设定阈值为预先确定的值。
进一步地,按照播放顺序从未处理的第一个视频帧开始,利用运动估计法确定第一个帧类型为B帧的视频帧,包括:
确定所述第一个视频帧的帧类型分别假设为P帧和B帧的编码代价值;
根据所述编码代价值确定所述第一个视频帧的帧类型。
进一步地,所述第一个视频帧的帧类型假设为P帧的编码代价值包括所述第一个视频帧以前一帧作参考时的第一编码代价值和所述第一个视频帧的后一帧以所述第一个视频帧的前一帧作参考时的第二编码代价值;和/或,
所述第一个视频帧的帧类型假设为B帧的编码代价值包括所述第一个视频帧以前一帧和后一帧作参考时的第三编码代价值和所述第一个视频帧的后一帧以所述第一个视频帧的前一帧作参考时的第四编码代价值。
进一步地,根据所述编码代价值确定所述第一个视频帧的帧类型,包括:
在所述第一个视频帧的帧类型假设为B帧的编码代价值小于或等于所述第一个视频帧的帧类型假设为P帧的编码代价值时,将所述第一个视频帧的帧类型确定为B帧。
进一步地,将所述目标视频帧确定为P帧,将所述视频帧中位于所述P帧之前的视频帧确定为B帧之后,所述方法还包括:
将所述目标视频帧作为后续处理的参考帧,并对所述目标视频帧之后的视频帧进行后续处理。
第二方面,本发明实施例中提供了一种视频编码方法。
具体的,所述视频编码方法,包括:
确定待编码视频帧的帧类型;其中,所述待编码视频帧的帧类型根据第一方面所述的方法确定;
根据所述帧类型对所述待编码视频帧进行编码。
第三方面,本发明实施例中提供了一种视频处理装置。
具体的,所述视频处理装置,包括:
第一确定模块,被配置为针对当前待处理的多个视频帧,确定目标视频帧,其中,所述目标视频帧为与当前参考帧之间的匹配度满足匹配度阈值的视频帧;
第二确定模块,被配置为将所述目标视频帧确定为P帧,将所述视频帧中位于所述P帧之前的视频帧确定为B帧。
进一步地,所述第一确定模块,包括:
目标视频帧确定子模块,被配置为针对当前待处理的多个所述视频帧,依次根据所述视频帧与参考帧之间的匹配度以及匹配度阈值确定出第一个帧类型为P帧的目标视频帧。
进一步地,所述匹配度阈值根据量化参数确定。
进一步地,所述装置还包括:
第三确定模块,被配置为在满足以下两个条件之一时,根据所述视频帧和所述当前参考帧之间的距离确定所述匹配度阈值:
量化参数小于第一设定阈值;
相较于所述当前参考帧,所述视频帧及其前后帧的画面内容的变化量小于第二设定阈值;其中,所述第一设定阈值和第二设定阈值为预先确定的值。
进一步地,所述装置还包括:
第四确定模块,被配置为在不满足所述两个条件中的任意一个时,根据所述量化参数以及所述视频帧中宏块的数量确定所述匹配度阈值。
进一步地,所述第四确定模块,包括:
第一确定子模块,被配置为根据所述量化参数确定所述宏块的平均匹配度阈值;
第二确定子模块,被配置为根据所述视频帧中宏块的数量及所述平均匹配度阈值确定所述匹配度阈值。
进一步地,所述第一确定模块,包括:
第三确定子模块,被配置为针对所述多个视频帧中的每一个,基于所述当前参考帧依次确定所述视频帧的帧类型假设为P帧时的编码代价值;
第四确定子模块,被配置为在所述编码代价值大于所述匹配度阈值时,确定所述视频帧的帧类型为P帧。
进一步地,所述第一确定模块之前,所述装置还包括:
第五确定模块,被配置为确定当前待处理的所述多个视频帧和/或所述当前参考帧。
进一步地,所述第五确定模块,包括:
第五确定子模块,被配置为按照播放顺序从未处理的第一个视频帧开始,利用运动估计法确定第一个帧类型为B帧的视频帧;
第六确定子模块,被配置为将所述第一个帧类型为B帧的视频帧的前一帧作为所述当前参考帧,将所述第一个帧类型为B帧的视频帧之后的预定数量个视频帧确定为当前待处理的多个所述视频帧。
进一步地,所述第五确定子模块,包括:
第七确定子模块,将所述第一个视频帧的后一帧的帧类型假设为P帧时,确定所述第一个视频帧的后一帧中帧内预测块的第一数量;
第八确定子模块,被配置为根据所述第一数量确定所述第一个视频帧的帧类型。
进一步地,所述第八确定子模块,包括:
第九确定子模块,被配置为在所述第一数量小于或等于第三设定阈值时,将所述第一个视频帧确定为B帧;其中,所述第三设定阈值为预先确定的值。
进一步地,所述第五确定子模块,包括:
第十确定子模块,被配置为确定所述第一个视频帧的帧类型分别假设为P帧和B帧的编码代价值;
第十一确定子模块,被配置为根据所述编码代价值确定所述第一个视频帧的帧类型。
进一步地,所述第一个视频帧的帧类型假设为P帧的编码代价值包括所述第一个视频帧以前一帧作参考时的第一编码代价值和所述第一个视频帧的后一帧以所述第一个视频帧的前一帧作参考时的第二编码代价值;和/或,
所述第一个视频帧的帧类型假设为B帧的编码代价值包括所述第一个视频帧以前一帧和后一帧作参考时的第三编码代价值和所述第一个视频帧的后一帧以所述第一个视频帧的前一帧作参考时的第四编码代价值。
进一步地,所述第十一确定子模块,包括:
第十二确定子模块,被配置为在所述第一个视频帧的帧类型假设为B帧的编码代价值小于或等于所述第一个视频帧的帧类型假设为P帧的编码代价值时,将所述第一个视频帧的帧类型确定为B帧。
进一步地,所述第二确定模块之后,所述装置还包括:
第六确定模块,被配置为将所述目标视频帧作为后续处理的参考帧,并对所述目标视频帧之后的视频帧进行后续处理。
所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,视频处理装置的结构中包括存储器和处理器,所述存储器用于存储一条或多条支持视频处理装置执行上述第一方面中视频处理方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。所述视频处理装置还可以包括通信接口,用于视频处理装置与其他设备或通信网络通信。
第四方面,本公开实施例还提出了一种视频编码装置。
具体地,所述视频编码装置包括:
第七确定模块,被配置为确定待编码视频帧的帧类型;其中,所述待编码视频帧的帧类型根据第三方面所述的装置确定;
编码模块,被配置为根据所述帧类型对所述待编码视频帧进行编码。
所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,视频编码装置的结构中包括存储器和处理器,所述存储器用于存储一条或多条支持视频处理装置执行上述第二方面中视频编码方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。所述视频编码装置还可以包括通信接口,用于视频编码装置与其他设备或通信网络通信。
第五方面,本公开实施例提供了一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现第一方面或第二方面所述的方法。
第六方面,本公开实施例提供了一种计算机可读存储介质,用于存储企业账户的安全认证装置所用的计算机指令,其包含用于执行上述第一方面中视频处理方法或第二方面中视频编码方法所涉及的计算机指令。
本公开实施例提供的技术方案可以包括以下有益效果:
本公开实施例在视频处理过程中,针对当前待处理的多个视频帧,依次将视频帧与当前参考帧进行匹配,并根据两者的匹配度以及匹配度阈值确定出多个视频帧中类型为P帧的目标视频帧,并将目标视频帧之前未被确定帧类型的所述视频帧的帧类型确定为B帧。通过这种方式,从当前待处理的多个视频帧中找出第一个帧类型为P帧的目标视频帧之后,将目标视频帧之前的视频帧的帧类型均确定为B帧,相较于已有技术能够提高编码效率,降低计算复杂度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
图1示出根据本公开一实施方式的视频处理方法的流程图;
图2示出根据本公开一实施方式中确定匹配度阈值部分的流程图;
图3示出根据图1所示实施方式的步骤S101的流程图;
图4示出根据本公开一实施方式中确定第一个帧类型为B帧的视频帧部分的流程图;
图5示出根据本公开一实施方式中确定第一个帧类型为B帧的视频帧部分的又一流程图;
图6示出根据本公开一实施方式的视频处理装置的结构框图;
图7示出根据本公开一实施方式中第四确定模块的结构框图;
图8示出根据图6所示实施方式的第一确定模块601的结构框图;
图9示出根据本公开一实施方式中第五确定子模块的结构框图;
图10示出根据本公开一实施方式中第五确定子模块的又一结构框图;
图11是适于用来实现根据本公开一实施方式的视频处理方法或视频编码方法的电子设备的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
视频编码过程中,视频帧的类型一般分为I帧(关键帧)、P帧(单向参考帧)和B帧(双向参考帧)。在确定了视频帧的类型后,根据帧类型的不同进行不同的编码;其中I帧为单独编码,P帧则是参考前一参考帧进行编码,而B帧则参考前后两个参考帧进行编码,因此帧类型的判断对编码质量有很大影响。一种常见做法是GOP(图像编码序列)中各帧的帧类型固定,比如一个GOP中包括的视频帧的帧类型固定为IBBBPBBBP,这样做虽然简单,但没有考虑到帧与帧之间的相关性及差异程度,因此得到的编码质量也会较低。另一种常见做法是采用穷举法在一个GOP中两两视频帧进行匹配的方法决定帧类型,速度非常慢。
图1示出根据本公开一实施方式的视频处理方法的流程图。如图1所示,所述视频处理方法包括以下步骤S101-S102:
在步骤S101中,针对当前待处理的多个视频帧,确定目标视频帧,其中,所述目标视频帧为与当前参考帧之间的匹配度满足匹配度阈值的视频帧;
在步骤S102中,将所述目标视频帧确定为P帧,将所述视频帧中位于所述P帧之前的视频帧确定为B帧。
本实施例中,对于按照播放顺序排列的待编码视频帧,分成多个部分确定帧类型,也即针对包括多个待编码视频帧的一个完整视频,从第一个待编码视频帧开始分成多个部分进行处理。例如,当前待处理的视频包括N个视频帧fv,可以表示为F={fv|0≤v≤N-1},而当前所处理的多个视频帧为F={fv|0≤v≤N-1}中的一部分视频帧,例如fv+1到fv+Bs,其中,Bs为视频帧的预定数量。
对于当前待处理所针对的多个视频帧,当前参考帧可以从前一处理结束后已经确定了帧类型的视频帧中选择,并且当前参考帧的帧类型不为B帧。而对于最开始的处理部分,第一帧可以确定为I帧,并作为最开始处理部分的当前参考帧,最开始处理部分的多个视频帧为第一帧之后的多个视频帧。
在确定了当前待处理的当前参考帧和多个视频帧的数量之后,可以从多个视频帧中确定目标视频帧;目标视频帧为与当前参考帧之间的匹配度满足匹配度阈值的视频帧。
在本公开实施例一可选的实现方式中,步骤S101,即针对当前待处理的多个视频帧,确定目标视频帧的步骤,进一步包括以下步骤:
针对当前待处理的多个所述视频帧,依次根据所述视频帧与参考帧之间的匹配度以及匹配度阈值确定出第一个帧类型为P帧的目标视频帧。
该可选的实现方式中,确定目标视频时,针对当前待处理的多个视频帧,可以按播放顺序排序最前的一个开始,依次与当前参考帧进行匹配,并基于匹配度阈值找出第一个与当前参考帧不太匹配的目标视频帧,将其帧类型确定为P帧,此时可以将该P帧之前未确定帧类型的视频帧的帧类型均确定为B帧。例如,当前待处理待处理的多个视频帧为fv+1至fv+Bs(0<v<N)的多个视频帧,那么通过将fv+1到fv+Bs的多个视频帧从最开始依次与当前参考帧进行匹配,并找到第一目标视频帧为
Figure BDA0002050571660000101
其中,v+1<ιc<+Bs,则
Figure BDA0002050571660000102
的帧类型确定为P帧,而视频帧中从
Figure BDA0002050571660000103
Figure BDA0002050571660000104
的帧类型确定为B帧,当前待处理的处理结束。
在一些实施例中,视频帧与当前参考帧之间的匹配度可以通过图像匹配方法来确定,例如平均绝对差算法(MAD)、绝对误差和算法(SAD)、误差平方和算法(SSD)、平均误差平方和算法(MSD)、归一化积相关算法(NCC)、序贯相似性检测算法(SSDA)、hadamard变换算法(SATD)等。
其中,匹配度阈值可以预先设置,其用于衡量视频帧与当前参考帧之间的匹配程度,也即用于判决视频帧与当前参考帧之间是否匹配或者不匹配、以及匹配或不匹配的程度如何。
本公开实施例在视频处理过程中,针对当前待处理的多个视频帧,依次将视频帧与当前参考帧进行匹配,并根据两者的匹配度以及匹配度阈值确定出多个视频帧中类型为P帧的目标视频帧,并将当前待处理的多个视频帧中,目标视频帧之前未被确定帧类型的所述视频帧的帧类型确定为B帧。通过这种方式,从当前待处理的多个视频帧中找出第一个帧类型为P帧的目标视频帧之后,将目标视频帧之前的视频帧的帧类型均确定为B帧,相较于已有技术能够提高编码效率,降低计算复杂度。
在本实施例的一个可选实现方式中,所述匹配度阈值根据量化参数确定。
该可选的实现方式中,为了降低误判率,匹配度阈值的选择尤为重要。如果选择了较为合适的匹配度阈值,则能够提高多个视频帧中P帧类型的判决准确率,进而B帧的判决准确率也会相应提高,最终能够得到高质量的编码视频。而如果选择了不合适的匹配度阈值,则可能会导致多个视频帧中P帧类型判决错误,进而导致B帧类型也判决错误,最终使得编码视频的质量较差。
在视频编码过程中,根据设置好的量化参数选择对应的量化步长对视频帧进行量化,而在视频解码过程中,根据量化参数对应的量化步长对编码后的视频帧进行去量化。量化的目的是为了能够压缩视频帧的数据量,量化步长越大,压缩后的数据量越小,但是去量化后的画质可能会越差。通常情况下,会选择对画质影响不大的最大量化步长对视频帧进行量化。量化参数与量化步长之间具有一一对应关系,量化参数确定后,量化步长也就能够确定。
视频帧与当前参考帧之间的匹配程度与量化参数相关,量化参数大时两者的匹配度要高于量化参数小时的匹配度,因此匹配度阈值随当前参考帧所采用的量化参数的不同而不同。本公开实施例针对不同的量化参数采用不同的匹配度阈值,使得视频帧类型的判决准确度更高。
在本实施例的一个可选实现方式中,所述方法还包括以下步骤:
在满足以下两个条件之一时,根据所述视频帧和所述当前参考帧之间的距离确定所述匹配度阈值:
量化参数小于第一设定阈值;
相较于所述当前参考帧,所述视频帧及其前后帧的画面内容的变化量小于第二设定阈值;其中,所述第一设定阈值和第二设定阈值为预先确定的值。
该可选的实现方式中,由于存在一些特殊情况,一刀切的方式采用量化参数对应的匹配度阈值可能会使得帧类型判决结果的准确度下降。为了使得判决准确度更高,还可以单独考虑以下两种特殊情况:
一种特殊情况是,量化参数较小时,其对应的量化步长也小(例如量化步长趋近于1时),因此在对第一频帧帧进行量化时,接近于无损编码,这种情况下视频帧应该更被易于判决为P帧。第一设定阈值可以根据实际情况设置,例如可以将量化参数设置为所对应的量化步长趋于1的参数,对于H264编码而言,第一设定阈值可以设置为5,使得量化参数小于5时,则认为满足上述特殊情况。
另一种特殊情况是,相较于当前参考帧,视频帧及其前后若干个视频帧的画面内容均趋于静止。这种情况主要是考虑到类似PPT演示这种播放情况,在PPT演示过程中,翻页之后,通常情况下会静止一段时间,也即这段时间里的各个视频帧的画面内容均对应同一个PPT页面,因此这种情况下趋于静止的这些视频帧按理更应该判决为P帧。此处画面内容趋于静止可以理解为相较于前一帧,当前帧的画面内容的变化小于第二设定阈值。第二设定阈值可以根据实际情况而定。
上述两种特殊情况下,可以根据视频帧与当前参考帧之间的距离确定一较小的匹配度阈值。视频帧与当前参考帧之间的距离可以理解为视频帧与当前参考帧之间所间隔的视频帧数,间隔的帧数越多,则距离越远,而间隔的帧数越少,则距离越近。所述视频帧和当前参考帧之间的距离与匹配度阈值呈反比,距离越大,匹配度阈值越小,而距离越小,匹配度阈值则越大。
当然,可以理解的是,在一些实施例中,为了减少判决流程,也可以不单独考虑上述两种特殊情况,而统一采用量化参数确定匹配度阈值。
下面给出一种根据所述视频帧和所述当前参考帧之间的距离确定所述匹配度阈值可行实施方式:
TL=max(A1-B(ιC-(v-1)),A2)
其中,TL为视频帧中每个块的平均匹配度阈值,匹配度阈值为视频帧中宏块数量乘以平均匹配度阈值;A1和A2分别为该种情况下视频帧中每个块的最大平均匹配度阈值和最小平均匹配度阈值,ιc为当前待处理的视频帧的帧序号,v-1为当前参考帧的帧序号。
在本实施例的一个可选实现方式中,通过编码代价值确定相较于所述当前参考帧,所述视频帧及其前后帧的画面内容的变化量是否小于所述第二设定阈值。
该可选的实现方式中,如前所述,上述第二种特殊情况通常是用于考虑类似PPT演示这种特殊场景,即一个视频帧相较于前一帧画面内容变化非常大,而后的几帧相较于该帧的变化又非常小,趋于静止。
在一些实施例中,为了判断视频帧及其前后帧的画面内容的变化是否小于第二设定阈值,可以通过计算视频帧及其前后视频帧以当前参考帧作为参考的两个编码代价值,并通过这两个编码代价值确定视频帧及其前后帧的画面内容的变化是否小于第二设定阈值。
例如,可以通过下面的公式判断视频帧是否满足上述第二种情况:
Fv(1,0)<aNCUandFv+1(1,0)<aNCU
其中,Fv(1,0)为第v帧以第v-1帧为参考帧的编码代价值;Fv+1(1,0)为第v+1帧以第v帧为参考帧的编码代价值;a为预设常量,与前后两视频帧之间的运动强度相关;Ncu为视频帧中的宏块数量。
通常情况下,类似PPT这种特殊场景,翻页后的第一个画面会被判决为I帧(本公开实施例仅考虑P帧和B帧的判决,而I帧的判决可以参考业界已有的检测方法),本公开实施例中通常将该I帧作为当前参考帧(假设帧序号为v-1)。因此可以通过计算fv-1(也即该I帧)的后一帧fv帧和fv+1帧以fv-1帧为参考帧的编码代价值Fv(1,0)和Fv+1(1,0),并确定Fv(1,0)和Fv+1(1,0)是否同时小于aNCU来判断是否属于类似PPT的这种特殊场景;其中,假设
Figure BDA0002050571660000131
为当前帧lc运动预测的编码代价,例如SATD代价,其中,d0为当前帧lc与前向预测帧也即当前参考帧之间的帧间距离,d1为当前帧lc与后向参考帧之间的帧间距离,d1为0表示当前帧lc是前向预测帧,d1不为0表示当前帧lc是双向预测帧。
在本实施例的一个可选实现方式中,所述方法还包括以下步骤:
在不满足所述两个条件中的任意一个时,根据所述量化参数以及所述视频帧中宏块的数量确定所述匹配度阈值。
该可选的实现方式中,如前所述,在视频帧均不属于上述两种特殊情况时,可以采用量化参数与视频帧中宏块的数量确定匹配度阈值,例如匹配度阈值为量化参数与宏块数量的乘积。
在本实施例的一个可选实现方式中,如图2所示,所述根据所述量化参数以及所述视频帧中宏块的数量确定所述匹配度阈值的步骤,进一步包括以下步骤S201-S202:
在步骤S201中,根据所述量化参数确定所述宏块的平均匹配度阈值;
在步骤S202中,根据所述视频帧中宏块的数量及所述平均匹配度阈值确定所述匹配度阈值。
该可选的实现方式中,可以先利用量化参数确定视频帧中宏块的平均匹配度阈值,之后根据视频帧中宏块的数量与平均匹配度阈值确定匹配度阈值。例如,宏块的像素大小为x*y=M,视频帧的宏块数量为N,而量化参数为Qp,则可以设置平均匹配度阈值TH=M*Qp。匹配度阈值为N*TH
在本实施例的一个可选实现方式中,如图3所示,所述步骤S101,即确定目标视频帧的步骤,进一步包括以下步骤S301-S302:
在步骤S301中,针对所述多个视频帧中的每一个,基于所述当前参考帧依次确定所述视频帧的帧类型假设为P帧时的编码代价值;
在步骤S302中,在所述编码代价值大于所述匹配度阈值时,确定所述视频帧的帧类型为P帧。
该可选的实现方式中,针对当前待处理的多个视频帧,从第一个视频帧开始,以当前参考帧作为参考确定该视频帧为P帧时的编码代价值,并基于编码代价值与匹配度阈值找到第一个帧类型为P帧的目标视频帧。编码代价值可以表示出当前参考帧与该视频帧两者之间的匹配度;编码代价值越大,当前参考帧与该视频帧两者之间越不匹配。可以利用运动估计法确定视频帧与当前参考帧之间的编码代价值。编码代价值可以是当前待处理的视频帧的SATD值
Figure BDA0002050571660000141
其中,lc为视频帧的帧序号,v-1为当前参考帧的帧序号。在所述
Figure BDA0002050571660000142
大于匹配度阈值时,可以确定视频帧的帧类型就是P帧。
在本实施例的一个可选实现方式中,按照视频播放顺序排在当前待处理的多个视频帧前一位的视频帧为当前参考帧之后的第一帧,且当前参考帧之后的第一帧的帧类型为B帧,也即当前待处理的多个视频帧的前一位视频帧的帧类型为B帧的情况下,当前参考帧为该B帧的前一帧。假如当前待处理的多个视频帧为fv+1到fv+Bs,那么当前参考帧之后的第一帧为fv,而当前参考帧则为fv-1,且当前参考帧的帧类型为P或者I,而当前参考帧之后的第一帧的帧类型为B帧。
需要说明的是,本公开实施例所提高的方法适用于判决当前视频帧是否为P帧或B帧,而I帧可以通过其他方法来确定,例如一种简单的判决方式是,在确定了GOP的长度的情况下,可以将一个完整视频的第0帧作为I帧,并将之后每间隔GOP长度的帧也确定为I帧,而各个I帧之间的帧的帧类型可以通过本公开实施例的方法来确定,在开始阶段,可以将第0帧作为当前参考帧,并判断之后各帧的帧类型为B还是P,在确定了其中一个帧类型为P帧时,以该P帧为当前参考帧,进行后续处理的判决,在遇到其他方法判决出来的I帧时,也可以进入后续处理,并以该I帧作为当前参考帧。
在本实施例的一个可选实现方式中,所述步骤S101,即确定目标视频帧的步骤之前,所述方法还包括:
确定当前待处理的所述多个视频帧和/或所述当前参考帧。
该可选的实现方式中,当前参考帧和当前待处理的多个视频帧可以预先确定,当前待处理的多个视频帧可以是所有视频帧中的部分视频帧。例如,最简单的方式是将前一次处理得到的目标视频帧作为当前参考帧,而当前参考帧之后的预定数量个视频帧作为当前待处理的多个视频帧,而最开始的处理中,可以将视频中的第0帧作为当前参考帧,后面预定数量个视频帧作为当前待处理的视频帧。
在本实施例的一个可选实现方式中,所述确定当前待处理的所述多个视频帧和/或所述当前参考帧的步骤,进一步包括以下步骤:
按照播放顺序从未处理的第一个视频帧开始,利用运动估计法确定第一个帧类型为B帧的视频帧;
将所述第一个帧类型为B帧的视频帧的前一帧作为所述当前参考帧,将所述第一个帧类型为B帧的视频帧之后的预定数量个视频帧确定为当前待处理的多个所述视频帧。
该可选的实现方式中,在进行当前处理之前,针对未处理过的第一个视频帧,也即按照视频的播放顺序未确定帧类型的第一个视频帧开始,利用运动估计方法确定该第一个视频帧的帧类型,如果该第一个视频帧的帧类型为P帧,则继续利用运动估计方法确定下一个视频帧的帧类型,直到找到第一个帧类型为B帧的视频帧。之后,再对该B帧之后的视频帧进行当前处理,也即将该B帧的前一帧作为当前参考帧,而将该B帧之后的预定数量个视频帧作为当前待处理的多个视频帧,进而从该多个视频帧中确定出目标视频帧。
例如,未处理的第一个视频帧为fv,则可以先通过运动估计方法确定fv是否为P帧,如果为P帧,则继续利用运动估计方法确定fv的下一帧的帧类型是否为P帧,以此往后寻找,直到找到第一个B帧。
之后可以将该B帧之后预定数量个视频帧作为当前待处理的多个视频帧,并从这些多个视频帧的第一个开始,依次根据与当前参考帧的匹配度和匹配度阈值确定当前待处理的视频帧是否为P帧,如果是P帧的话,则将所述当前参考帧之后的第一帧与该P帧之间的视频帧的帧类型都确定为B帧,由于连续B帧的最大允许数量是预先设置好的,因此此处的预定数量可以设置为允许的最大连续B帧的数量。
在本实施例的一个可选实现方式中,如图4所示,所述按照播放顺序从未处理的第一个视频帧开始,利用运动估计法确定第一个帧类型为B帧的视频帧的步骤,进一步包括以下步骤S401-S402:
在步骤S401中,将所述第一个视频帧的后一帧的帧类型假设为P帧时,确定所述第一个视频帧的后一帧中帧内预测块的第一数量;
在步骤S402中,根据所述第一数量确定所述第一个视频帧的帧类型。
该可选的实现方式中,将第一个视频帧的后一帧假设为P帧的情况下,利用运动估计方法进行前向预测时,第一个视频帧的后一帧中帧内预测块的多少决定了所述第一个视频帧的后一帧的帧类型,而所述第一个视频帧的后一帧的帧类型也会影响到第一个视频帧的帧类型,因此可以通过第一数量确定第一个视频帧的后一帧的帧类型。
在本实施例的一个可选实现方式中,所述步骤S402即根据所述第一数量确定所述第一个视频帧的帧类型的步骤,进一步包括以下步骤:
在所述第一数量小于或等于第三设定阈值时,将所述第一个视频帧确定为B帧;其中,所述第三设定阈值为预先确定的值。
该可选的实现方式中,确定出第一个视频帧的后一帧的帧内预测块的第一数量后,如果第一数量超过第三设定阈值(例如第一个视频帧的后一帧中宏块总数的一半)时,可以认为该第一个视频帧的后一帧为理论上的I帧,而该I帧对于第一个视频帧而言没有参考价值,因此可以确定第一个视频帧的帧类型为P帧。而该第一个视频帧的后一帧的帧类型可以为I帧,但是本公开实施例由于仅涉及P帧和B帧的判决,因此该第一个视频帧的后一帧的帧类型也可以暂时确定为P帧(之后可以根其他检测I帧的方式进行合并后,将该帧的帧类型替换成I帧)。而在不满足上述条件,也即第一数量不超过第三设定阈值的情况下,可以将第一个视频帧确定为B帧。需要说明的是,为了节省时间,不做重复的判决,可以将第一个视频帧的后一帧作为后续处理的参考帧,并进行后续处理。
在本实施例的一个可选实现方式中,如图5所示,所述按照播放顺序从未处理的第一个视频帧开始,利用运动估计法确定第一个帧类型为B帧的视频帧的步骤,进一步包括以下步骤S501-S502:
在步骤S501中,确定所述第一个视频帧的帧类型分别假设为P帧和B帧的编码代价值;
在步骤S502中,根据所述编码代价值确定所述第一个视频帧的帧类型。
该可选的实现方式中,还可以通过确定第一个视频帧的帧类型分别假设为P帧和B帧时,分别利用前向预测法和双向预测法确定出第一个视频帧的编码代价值,例如SATD值,并根据前向预测和双向预测得到的编码代价确定第一个视频帧是否为P帧。假如第一个视频帧作为B帧得到的双向预测编码代价值大于作为P帧得到的前向预测编码代价值,则为了减少编码代价,可以判决第一个视频帧为P帧,否则将第一个视频帧判决为B帧。
在本实施例的一个可选实现方式中,所述第一个视频帧的帧类型假设为P帧的编码代价值包括所述第一个视频帧以前一帧作参考时的第一编码代价值和所述第一个视频帧的后一帧以所述第一个视频帧的前一帧作参考时的第二编码代价值;和/或,
所述第一个视频帧的帧类型假设为B帧的编码代价值包括所述第一个视频帧以前一帧和后一帧作参考时的第三编码代价值和所述第一个视频帧的后一帧以所述第一个视频帧的前一帧作参考时的第四编码代价值。
该可选的实现方式中,第一个视频帧的帧类型不同时,除了其本身的编码代价值不同之外,在其后一帧为P帧且以第一个视频帧为参考帧时,还会导致其后一帧的编码代价值也不同,因此第一个视频帧分别作为P帧和B帧时的编码代价值还可以考虑其后一帧的编码代价值。
例如,可以通过下面的公式确定第一个视频帧的帧类型作为B帧时的编码代价是否大于作为P帧时的编码代价:
Fv(1,0)+Fv+1=(1,0)<Fv(1,1)+Fv+1(2,0)
其中,上式左边为第一个视频帧作为P帧时的编码代价值,而右边为第一个视频帧作为B帧时的编码代价值;Fv(1,0)为第一个视频帧fv以前一帧fv-1作为参考帧计算得到的前向预测编码代价值,也即第一编码代价值,而Fv+1(1,0)为第一个视频帧的后一帧fv+1以第一个视频帧为参考帧计算得到的前向预测编码值,也即第二编码代价值;Fv(1,1)为第一个视频帧以前一帧fv-1和后一帧fv+1作为参考帧计算得到的双向预测编码代价值,也即第三编码代价值,而Fv+1(2,0)为第一个视频帧的后一帧fv+1以当前参考帧Fv-1为参考帧计算得到的前向预测编码值,也即第四编码代价值。
在本实施例的一个可选实现方式中,所述步骤S502即根据所述编码代价值确定所述第一个视频帧的帧类型的步骤,进一步包括以下步骤:
在所述第一个视频帧的帧类型假设为B帧的编码代价值小于或等于所述第一个视频帧的帧类型假设为P帧的编码代价值时,将所述第一个视频帧的帧类型确定为B帧。
该可选的实现方式中,第一个视频帧的帧类型作为B帧的编码代价值大于作为P帧的编码代价值时,将第一个视频帧的帧类型判决为P帧。需要说明的是,本公开实施例中,在利用运动估计方法的上述两种估计方式均判决出第一个视频帧的帧类型不为P帧时,则将第一个视频帧的帧类型确定为B帧。
在本实施例的一个可选实现方式中,所述步骤S102即将所述目标视频帧确定为P帧,将所述视频帧中位于所述P帧之前的视频帧确定为B帧的步骤之后,所述方法还进一步包括以下步骤:
将所述目标视频帧作为后续处理的参考帧,并对所述目标视频帧之后的视频帧进行后续处理。
该可选的实现方式中,在确定出帧类型为P帧的目标视频帧,并且将该目标视频帧之前未确定帧类型的其他视频帧的帧类型均确定为B帧之后,当前待处理的处理结束,进而进入后续处理;而后续处理则针对前一阶段所确定的最后一个P帧之后的视频帧进行处理,并重复上述当前处理的各个步骤。
根据本公开另一实施方式,还公开了一种视频编码方法。该视频编码方法包括以下步骤:
确定待编码视频帧的帧类型;其中,所述待编码视频帧的帧类型根据上述视频处理方法确定;
根据所述帧类型对所述待编码视频帧进行编码。
本实施例中,针对待编码视频帧,在利用上述视频处理方法确定了帧类型之后,根据帧类型对待编码视频帧进行编码。例如,对于I帧可以进行单独编码,而对于P帧可以基于前向参考帧进行编码,对于B帧可以针对前向参考帧和后向参考帧进行编码。视频编码的过程可以基于相应的视频编码标准,在此不再赘述。
帧类型的确定过程可以参见上述对视频处理方法的描述,在此不再赘述。
下述为本公开装置实施例,可以用于执行本公开方法实施例。
图6示出根据本公开一实施方式的视频处理装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图6所示,所述视频处理装置包括:
第一确定模块601,被配置为针对当前待处理的多个视频帧,确定目标视频帧,其中,所述目标视频帧为与当前参考帧之间的匹配度满足匹配度阈值的视频帧;
第二确定模块602,被配置为将所述目标视频帧确定为P帧,将所述视频帧中位于所述P帧之前的视频帧确定为B帧。
本实施例中,对于按照播放顺序排列的待编码视频帧,分成多个部分确定帧类型,也即针对包括多个待编码视频帧的一个完整视频,从第一个待编码视频帧开始分成多个部分进行处理。例如,当前待处理的视频包括N个视频帧fv,可以表示为F={fv|0≤v≤N-1},而当前所处理的多个视频帧为F={fv|0≤v≤N-1}中的一部分视频帧,例如fv+1到fv+Bs,其中,Bs为视频帧的预定数量。
对于当前待处理所针对的多个视频帧,当前参考帧可以从前一处理结束后已经确定了帧类型的视频帧中选择,并且当前参考帧的帧类型不为B帧。而对于最开始的处理部分,第一帧可以确定为I帧,并作为最开始处理部分的当前参考帧,最开始处理部分的多个视频帧为第一帧之后的多个视频帧。
在确定了当前待处理的当前参考帧和多个视频帧的数量之后,可以从多个视频帧中确定目标视频帧;目标视频帧为与当前参考帧之间的匹配度满足匹配度阈值的视频帧。
在本公开实施例一可选的实现方式中,所述第一确定模块,进一步包括:
目标视频帧确定子模块,被配置为针对当前待处理的多个所述视频帧,依次根据所述视频帧与参考帧之间的匹配度以及匹配度阈值确定出第一个帧类型为P帧的目标视频帧。
该可选的实现方式中,确定目标视频时,针对当前待处理的多个视频帧,可以按播放顺序排序最前的一个开始,依次与当前参考帧进行匹配,并基于匹配度阈值找出与当前参考帧不太匹配的目标视频帧,将其帧类型确定为P帧,此时可以将该P帧之前未确定帧类型的视频帧的帧类型均确定为B帧。例如,当前待处理待处理的多个视频帧为fv+1至fv+Bs(0<v<N)的多个视频帧,那么通过将fv+1到fv+Bs的多个视频帧从最开始依次与当前参考帧进行匹配,并找到第一目标视频帧为
Figure BDA0002050571660000201
其中,v+1<ιc<v+Bs,则
Figure BDA0002050571660000202
的帧类型确定为P帧,而视频帧中从
Figure BDA0002050571660000204
Figure BDA0002050571660000203
的帧类型确定为B帧,当前待处理的处理结束。
在一些实施例中,视频帧与当前参考帧之间的匹配度可以通过图像匹配方法来确定,例如平均绝对差算法(MAD)、绝对误差和算法(SAD)、误差平方和算法(SSD)、平均误差平方和算法(MSD)、归一化积相关算法(NCC)、序贯相似性检测算法(SSDA)、hadamard变换算法(SATD)等。
其中,匹配度阈值可以预先设置,其用于衡量视频帧与当前参考帧之间的匹配程度,也即用于判决视频帧与当前参考帧之间是否匹配或者不匹配、以及匹配或不匹配的程度如何。
本公开实施例在视频处理过程中,针对当前待处理的多个视频帧,依次将视频帧与当前参考帧进行匹配,并根据两者的匹配度以及匹配度阈值确定出多个视频帧中类型为P帧的目标视频帧,并将当前待处理的多个视频帧中,目标视频帧之前未被确定帧类型的所述视频帧的帧类型确定为B帧。通过这种方式,从当前待处理的多个视频帧中找出第一个帧类型为P帧的目标视频帧之后,将目标视频帧之前的视频帧的帧类型均确定为B帧,相较于已有技术能够提高编码效率,降低计算复杂度。
在本实施例的一个可选实现方式中,所述匹配度阈值根据量化参数确定。
该可选的实现方式中,为了降低误判率,匹配度阈值的选择尤为重要。如果选择了较为合适的匹配度阈值,则能够提高多个视频帧中P帧类型的判决准确率,进而B帧的判决准确率也会相应提高,最终能够得到高质量的编码视频。而如果选择了不合适的匹配度阈值,则可能会导致多个视频帧中P帧类型判决错误,进而导致B帧类型也判决错误,最终使得编码视频的质量较差。
在视频编码过程中,根据设置好的量化参数选择对应的量化步长对视频帧进行量化,而在视频解码过程中,根据量化参数对应的量化步长对编码后的视频帧进行去量化。量化的目的是为了能够压缩视频帧的数据量,量化步长越大,压缩后的数据量越小,但是去量化后的画质可能会越差。通常情况下,会选择对画质影响不大的最大量化步长对视频帧进行量化。量化参数与量化步长之间具有一一对应关系,量化参数确定后,量化步长也就能够确定。
视频帧与当前参考帧之间的匹配程度与量化参数相关,量化参数大时两者的匹配度要高于量化参数小时的匹配度,因此匹配度阈值随当前参考帧所采用的量化参数的不同而不同。本公开实施例针对不同的量化参数采用不同的匹配度阈值,使得视频帧类型的判决准确度更高。
在本实施例的一个可选实现方式中,所述装置还包括:
第三确定模块,被配置为在满足以下两个条件之一时,根据所述视频帧和所述当前参考帧之间的距离确定所述匹配度阈值:
量化参数小于第一设定阈值;
相较于所述当前参考帧,所述视频帧及其前后帧的画面内容的变化量小于第二设定阈值;其中,所述第一设定阈值和第二设定阈值为预先确定的值。
该可选的实现方式中,由于存在一些特殊情况,一刀切的方式采用量化参数对应的匹配度阈值可能会使得帧类型判决结果的准确度下降。为了使得判决准确度更高,还可以单独考虑以下两种特殊情况:
一种特殊情况是,量化参数较小时,其对应的量化步长也小(例如量化步长趋近于1时),因此在对第一频帧帧进行量化时,接近于无损编码,这种情况下视频帧应该更被易于判决为P帧。第一设定阈值可以根据实际情况设置,例如可以将量化参数设置为所对应的量化步长趋于1的参数,对于H264编码而言,第一设定阈值可以设置为5,使得量化参数小于5时,则认为满足上述特殊情况。
另一种特殊情况是,相较于当前参考帧,视频帧及其前后若干个视频帧的画面内容均趋于静止。这种情况主要是考虑到类似PPT演示这种播放情况,在PPT演示过程中,翻页之后,通常情况下会静止一段时间,也即这段时间里的各个视频帧的画面内容均对应同一个PPT页面,因此这种情况下趋于静止的这些视频帧按理更应该判决为P帧。此处画面内容趋于静止可以理解为相较于前一帧,当前帧的画面内容的变化小于第二设定阈值。第二设定阈值可以根据实际情况而定。
上述两种特殊情况下,可以根据视频帧与当前参考帧之间的距离确定一较小的匹配度阈值。视频帧与当前参考帧之间的距离可以理解为视频帧与当前参考帧之间所间隔的视频帧数,间隔的帧数越多,则距离越远,而间隔的帧数越少,则距离越近。所述视频帧和当前参考帧之间的距离与匹配度阈值呈反比,距离越大,匹配度阈值越小,而距离越小,匹配度阈值则越大。
当然,可以理解的是,在一些实施例中,为了减少判决流程,也可以不单独考虑上述两种特殊情况,而统一采用量化参数确定匹配度阈值。
下面给出一种根据所述视频帧和所述当前参考帧之间的距离确定所述匹配度阈值可行实施方式:
TL=max(A1-B(ιc-(v-1)),A2)
其中,TL为视频帧中每个块的平均匹配度阈值,匹配度阈值为视频帧中宏块数量乘以平均匹配度阈值;A1和A2分别为该种情况下视频帧中每个块的最大平均匹配度阈值和最小平均匹配度阈值,ιc为当前待处理的视频帧的帧序号,v-1为当前参考帧的帧序号。
在本实施例的一个可选实现方式中,通过编码代价值确定相较于所述当前参考帧,所述视频帧及其前后帧的画面内容的变化量是否小于所述第二设定阈值。
该可选的实现方式中,如前所述,上述第二种特殊情况通常是用于考虑类似PPT演示这种特殊场景,即一个视频帧相较于前一帧画面内容变化非常大,而后的几帧相较于该帧的变化又非常小,趋于静止。
在一些实施例中,为了判断视频帧及其前后帧的画面内容的变化是否小于第二设定阈值,可以通过计算视频帧及其前后视频帧以当前参考帧作为参考的两个编码代价值,并通过这两个编码代价值确定视频帧及其前后帧的画面内容的变化是否小于第二设定阈值。
例如,可以通过下面的公式判断视频帧是否满足上述第二种情况:
Fv(1,0)<aNCU andFv+1(10)<aNCU
其中,Fv(1,0)为第v帧以第v-1帧为参考帧的编码代价值;Fv+1(1,0)为第c+1帧以第v帧为参考帧的编码代价值;a为预设常量,与前后两视频帧之间的运动强度相关;Ncu为视频帧中的宏块数量。
通常情况下,类似PPT这种特殊场景,翻页后的第一个画面会被判决为I帧(本公开实施例仅考虑P帧和B帧的判决,而I帧的判决可以参考业界已有的检测方法),本公开实施例中通常将该I帧作为当前参考帧(假设帧序号为v-1)。因此可以通过计算fv-1(也即该I帧)的后一帧fv帧和fv+1帧以fv-1帧为参考帧的编码代价值Fv(1,0)和Fv+1(1,0),并确定Fv(1,0)和Fv+1(1,0)是否同时小于aNCU来判断是否属于类似PPT的这种特殊场景;其中,假设
Figure BDA0002050571660000231
为当前帧lc运动预测的编码代价,例如SATD代价,其中,山为当前帧lc与前向预测帧也即当前参考帧之间的帧间距离,d1为当前帧lc与后向参考帧之间的帧间距离,d1为0表示当前帧lc是前向预测帧,d1不为0表示当前帧lc是双向预测帧。
在本实施例的一个可选实现方式中,所述装置还包括:
第四确定模块,被配置为在不满足所述两个条件中的任意一个时,根据所述量化参数以及所述视频帧中宏块的数量确定所述匹配度阈值。
该可选的实现方式中,如前所述,在视频帧均不属于上述两种特殊情况时,可以采用量化参数与视频帧中宏块的数量确定匹配度阈值,例如匹配度阈值为量化参数与宏块数量的乘积。
在本实施例的一个可选实现方式中,如图7所示,所述第四确定模块,进一步包括:
第一确定子模块701,被配置为根据所述量化参数确定所述宏块的平均匹配度阈值;
第二确定子模块702,被配置为根据所述视频帧中宏块的数量及所述平均匹配度阈值确定所述匹配度阈值。
该可选的实现方式中,可以先利用量化参数确定视频帧中宏块的平均匹配度阈值,之后根据视频帧中宏块的数量与平均匹配度阈值确定匹配度阈值。例如,宏块的像素大小为x*y=M,视频帧的宏块数量为N,而量化参数为Qp,则可以设置平均匹配度阈值TH=M*Qp。匹配度阈值为N*TH
在本实施例的一个可选实现方式中,如图8所示,所述第一确定模块601,进一步包括:
第三确定子模块801,被配置为针对所述多个视频帧中的每一个,基于所述当前参考帧依次确定所述视频帧的帧类型假设为P帧时的编码代价值;
第四确定子模块802,被配置为在所述编码代价值大于所述匹配度阈值时,确定所述视频帧的帧类型为P帧。
该可选的实现方式中,可针对当前待处理的多个视频帧,从第一个视频帧开始,以当前参考帧作为参考确定该视频帧为P帧时的编码代价值,并基于编码代价值与匹配度阈值找到第一个帧类型为P帧的目标视频帧。编码代价值可以表示出当前参考帧与该视频帧两者之间的匹配度;编码代价值越大,当前参考帧与该视频帧两者之间越不匹配。可以利用运动估计法确定视频帧与当前参考帧之间的编码代价值。编码代价值可以是当前待处理的视频帧的SATD值
Figure BDA0002050571660000241
其中,lc为视频帧的帧序号,v-1为当前参考帧的帧序号。在所述
Figure BDA0002050571660000242
大于匹配度阈值时,可以确定视频帧的帧类型就是P帧。
在本实施例的一个可选实现方式中,按照视频播放顺序排在当前待处理的多个视频帧前一位的视频帧为当前参考帧之后的第一帧,且当前参考帧之后的第一帧的帧类型为B帧,也即当前待处理的多个视频帧的前一位视频帧的帧类型为B帧的情况下,当前参考帧为该B帧的前一帧。假如当前待处理的多个视频帧为fv+1到fv+Bs,那么当前参考帧之后的第一帧为fv,而当前参考帧则为fv-1,且当前参考帧的帧类型为P或者I,而当前参考帧之后的第一帧的帧类型为B帧。
需要说明的是,本公开实施例所提高的方法适用于判决当前视频帧是否为P帧或B帧,而I帧可以通过其他方法来确定,例如一种简单的判决方式是,在确定了GOP的长度的情况下,可以将一个完整视频的第0帧作为I帧,并将之后每间隔GOP长度的帧也确定为I帧,而各个I帧之间的帧的帧类型可以通过本公开实施例的方法来确定,在开始阶段,可以将第0帧作为当前参考帧,并判断之后各帧的帧类型为B还是P,在确定了其中一个帧类型为P帧时,以该P帧为当前参考帧,进行后续处理的判决,在遇到其他方法判决出来的I帧时,也可以进入后续处理,并以该I帧作为当前参考帧。
在本实施例的一个可选实现方式中,所述第一确定模块601之前,所述装置还包括:
第五确定模块,被配置为确定当前待处理的所述多个视频帧和/或所述当前参考帧。
该可选的实现方式中,当前参考帧和当前待处理的视频帧可以预先确定。例如,最简单的方式是将前一次处理得到的目标视频帧作为当前参考帧,而当前参考帧之后的预定数量个视频帧作为当前待处理的多个视频帧,而最开始的处理中,可以将视频中的第0帧作为当前参考帧,后面预定数量个视频帧作为当前待处理的视频帧。
在本实施例的一个可选实现方式中,所述第五确定模块,包括:
第五确定子模块,被配置为按照播放顺序从未处理的第一个视频帧开始,利用运动估计法确定第一个帧类型为B帧的视频帧;
第六确定子模块,被配置为将所述第一个帧类型为B帧的视频帧的前一帧作为所述当前参考帧,将所述第一个帧类型为B帧的视频帧之后的预定数量个视频帧确定为当前待处理的多个所述视频帧。
该可选的实现方式中,在进行当前处理之前,针对未处理过的第一个视频帧,也即按照视频的播放顺序未确定帧类型的第一个视频帧开始,利用运动估计方法确定该第一个视频帧的帧类型,如果该第一个视频帧的帧类型为P帧,则继续利用运动估计方法确定下一个视频帧的帧类型,直到找到第一个帧类型为B帧的视频帧。之后,再对该B帧之后的视频帧进行当前处理,也即将该B帧的前一帧作为当前参考帧,而将该B帧之后的预定数量个视频帧作为当前待处理的多个视频帧,进而从该多个视频帧中确定出目标视频帧。
例如,未处理的第一个视频帧为fv,则可以先通过运动估计方法确定fv是否为P帧,如果为P帧,则继续利用运动估计方法确定fv的下一帧的帧类型是否为P帧,以此往后寻找,直到找到第一个B帧。
之后可以将该B帧之后预定数量个视频帧作为当前待处理的多个视频帧,并从这些多个视频帧的第一个开始,依次根据与当前参考帧的匹配度和匹配度阈值确定当前待处理的视频帧是否为P帧,如果是P帧的话,则将所述当前参考帧之后的第一帧与该P帧之间的视频帧的帧类型都确定为B帧,由于连续B帧的最大允许数量是预先设置好的,因此此处的预定数量可以设置为允许的最大连续B帧的数量。
在本实施例的一个可选实现方式中,如图9所示,所述第五确定子模块,包括:
第七确定子模块901,将所述第一个视频帧的后一帧的帧类型假设为P帧时,确定所述第一个视频帧的后一帧中帧内预测块的第一数量;
第八确定子模块902,被配置为根据所述第一数量确定所述第一个视频帧的帧类型。
该可选的实现方式中,将第一个视频帧的后一帧假设为P帧的情况下,利用运动估计方法进行前向预测时,第一个视频帧的后一帧中帧内预测块的多少决定了所述第一个视频帧的后一帧的帧类型,而所述第一个视频帧的后一帧的帧类型也会影响到第一个视频帧的帧类型,因此可以通过第一数量确定第一个视频帧的后一帧的帧类型。
在本实施例的一个可选实现方式中,所述第八确定子模块902,包括:
第九确定子模块,被配置为在所述第一数量小于或等于第三设定阈值时,将所述第一个视频帧确定为B帧;其中,所述第三设定阈值为预先确定的值。
该可选的实现方式中,确定出第一个视频帧的后一帧的帧内预测块的第一数量后,如果第一数量超过第三设定阈值(例如第一个视频帧的后一帧中宏块总数的一半)时,可以认为该第一个视频帧的后一帧为理论上的I帧,而该I帧对于第一个视频帧而言没有参考价值,因此可以确定第一个视频帧的帧类型为P帧。而该第一个视频帧的后一帧的帧类型可以为I帧,但是本公开实施例由于仅涉及P帧和B帧的判决,因此该第一个视频帧的后一帧的帧类型也可以暂时确定为P帧(之后可以根其他检测I帧的方式进行合并后,将该帧的帧类型替换成I帧)。而在不满足上述条件,也即第一数量不超过第三设定阈值的情况下,可以将第一个视频帧确定为B帧。需要说明的是,为了节省时间,不做重复的判决,可以将第一个视频帧的后一帧作为后续处理的参考帧,并进行后续处理。
在本实施例的一个可选实现方式中,如图10所示,所述第五确定子模块,包括:
第十确定子模块1001,被配置为确定所述第一个视频帧的帧类型分别假设为P帧和B帧的编码代价值;
第十一确定子模块1002,被配置为根据所述编码代价值确定所述第一个视频帧的帧类型。
该可选的实现方式中,还可以通过确定第一个视频帧的帧类型分别假设为P帧和B帧时,分别利用前向预测法和双向预测法确定出第一个视频帧的编码代价值,例如SATD值,并根据前向预测和双向预测得到的编码代价确定第一个视频帧是否为P帧。假如第一个视频帧作为B帧得到的双向预测编码代价值大于作为P帧得到的前向预测编码代价值,则为了减少编码代价,可以判决第一个视频帧为P帧,否则将第一个视频帧判决为B帧。
在本实施例的一个可选实现方式中,所述第一个视频帧的帧类型假设为P帧的编码代价值包括所述第一个视频帧以前一帧作参考时的第一编码代价值和所述第一个视频帧的后一帧以所述第一个视频帧的前一帧作参考时的第二编码代价值;和/或,
所述第一个视频帧的帧类型假设为B帧的编码代价值包括所述第一个视频帧以前一帧和后一帧作参考时的第三编码代价值和所述第一个视频帧的后一帧以所述第一个视频帧的前一帧作参考时的第四编码代价值。
该可选的实现方式中,第一个视频帧的帧类型不同时,除了其本身的编码代价值不同之外,在其后一帧为P帧且以第一个视频帧为参考帧时,还会导致其后一帧的编码代价值也不同,因此第一个视频帧分别作为P帧和B帧时的编码代价值还可以考虑其后一帧的编码代价值。
例如,可以通过下面的公式确定第一个视频帧的帧类型作为B帧时的编码代价是否大于作为P帧时的编码代价:
Fv((1,0)+Fv+1(1,0)<Fv(1,1)+Fv+1(2,0)
其中,上式左边为第一个视频帧作为P帧时的编码代价值,而右边为第一个视频帧作为B帧时的编码代价值;Fv(1,0)为第一个视频帧fv以前一帧fv-1作为参考帧计算得到的前向预测编码代价值,也即第一编码代价值,而Fv+1(1,0)为第一个视频帧的后一帧fv+1以第一个视频帧为参考帧计算得到的前向预测编码值,也即第二编码代价值;Fv(1,1)为第一个视频帧以前一帧fv-1和后一帧fv+1作为参考帧计算得到的双向预测编码代价值,也即第三编码代价值,而Fv+1(2,0)为第一个视频帧的后一帧fv+1以当前参考帧fv-1为参考帧计算得到的前向预测编码值,也即第四编码代价值。
在本实施例的一个可选实现方式中,所述第十一确定子模块1002,包括:
第十二确定子模块,被配置为在所述第一个视频帧的帧类型假设为B帧的编码代价值小于或等于所述第一个视频帧的帧类型假设为P帧的编码代价值时,将所述第一个视频帧的帧类型确定为B帧。
该可选的实现方式中,第一个视频帧的帧类型作为B帧的编码代价值大于作为P帧的编码代价值时,将第一个视频帧的帧类型判决为P帧。需要说明的是,本公开实施例中,在利用运动估计方法的上述两种估计方式均判决出第一个视频帧的帧类型不为P帧时,则将第一个视频帧的帧类型确定为B帧。
在本实施例的一个可选实现方式中,所述第二确定模块602之后,所述装置还包括:
第六确定模块,被配置为将所述目标视频帧作为后续处理的参考帧,并对所述目标视频帧之后的视频帧进行后续处理。
该可选的实现方式中,在确定出帧类型为P帧的目标视频帧,并且将该目标视频帧之前未确定帧类型的其他视频帧的帧类型均确定为B帧之后,当前待处理的处理结束,进而进入后续处理;而后续处理则针对前一阶段所确定的最后一个P帧之后的视频帧进行处理,并重复上述当前处理的各个步骤。
根据本公开另一实施方式,还公开了一种视频编码装置。该视频编码装置包括:
第七确定模块,被配置为确定待编码视频帧的帧类型;其中,所述待编码视频帧的帧类型根据上述视频处理方法确定;
编码模块,被配置为根据所述帧类型对所述待编码视频帧进行编码。
本实施例中,针对待编码视频帧,在利用上述视频处理装置确定了帧类型之后,根据帧类型对待编码视频帧进行编码。例如,对于I帧可以进行单独编码,而对于P帧可以基于前向参考帧进行编码,对于B帧可以针对前向参考帧和后向参考帧进行编码。视频编码的过程可以基于相应的视频编码标准,在此不再赘述。
帧类型的确定过程可以参见上述对视频处理装置的描述,在此不再赘述。
图11是适于用来实现根据本公开实施方式的视频处理方法或视频编码方法的电子设备的结构示意图。
如图11所示,电子设备1100包括中央处理单元(CPU)1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行上述图1所示的实施方式中的各种处理。在RAM1103中,还存储有电子设备1100操作所需的各种程序和数据。CPU1101、ROM1102以及RAM1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
以下部件连接至I/O接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
特别地,根据本公开的实施方式,上文参考视频处理方法或视频编码方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行上述视频处理方法或视频编码方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。
附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (21)

1.一种视频处理方法,其特征在于,包括:
针对当前待处理的多个视频帧,确定目标视频帧,其中,所述目标视频帧为与当前参考帧之间的匹配度满足匹配度阈值的视频帧;
将所述目标视频帧确定为P帧,将所述多个视频帧中位于所述P帧之前的视频帧确定为B帧;
其中,所述方法还包括:
在满足以下两个条件之一时,根据所述视频帧和所述当前参考帧之间的距离确定所述匹配度阈值:
量化参数小于第一设定阈值;
所述视频帧及其前后帧的画面内容相较于所述当前参考帧的变化量小于第二设定阈值;其中,所述第一设定阈值和第二设定阈值为预先确定的值。
2.根据权利要求1所述的方法,其特征在于,所述针对当前待处理的多个视频帧,确定目标视频帧,包括:
针对当前待处理的多个所述视频帧,依次根据所述视频帧与参考帧之间的匹配度以及匹配度阈值确定出第一个帧类型为P帧的目标视频帧。
3.根据权利要求1所述的方法,其特征在于,所述匹配度阈值根据量化参数确定。
4.根据权利要求1所述的方法,其特征在于,还包括:
在不满足所述两个条件中的任意一个时,根据所述量化参数以及所述视频帧中宏块的数量确定所述匹配度阈值。
5.根据权利要求4所述的方法,其特征在于,根据所述量化参数以及所述视频帧中宏块的数量确定所述匹配度阈值,包括:
根据所述量化参数确定所述宏块的平均匹配度阈值;
根据所述视频帧中宏块的数量及所述平均匹配度阈值确定所述匹配度阈值。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述确定目标视频帧,包括:
针对所述多个视频帧中的每一个,基于所述当前参考帧依次确定所述视频帧的帧类型假设为P帧时的编码代价值;
在所述编码代价值大于所述匹配度阈值时,确定所述视频帧的帧类型为P帧。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述确定目标视频帧之前,所述方法还包括:
确定当前待处理的所述多个视频帧和/或所述当前参考帧。
8.根据权利要求7所述的方法,其特征在于,确定当前待处理的所述多个视频帧和/或所述当前参考帧,包括:
按照播放顺序从未处理的第一个视频帧开始,利用运动估计法确定第一个帧类型为B帧的视频帧;
将所述第一个帧类型为B帧的视频帧的前一帧作为所述当前参考帧,将所述第一个帧类型为B帧的视频帧之后的预定数量个视频帧确定为当前待处理的多个所述视频帧。
9.根据权利要求8所述的方法,其特征在于,按照播放顺序从未处理的第一个视频帧开始,利用运动估计法确定第一个帧类型为B帧的视频帧,包括:
将所述第一个视频帧的后一帧的帧类型假设为P帧时,确定所述第一个视频帧的后一帧中帧内预测块的第一数量;
根据所述第一数量确定所述第一个视频帧的帧类型。
10.根据权利要求9所述的方法,其特征在于,根据所述第一数量确定所述第一个视频帧的帧类型,包括:
在所述第一数量小于或等于第三设定阈值时,将所述第一个视频帧确定为B帧;其中,所述第三设定阈值为预先确定的值。
11.根据权利要求8所述的方法,其特征在于,按照播放顺序从未处理的第一个视频帧开始,利用运动估计法确定第一个帧类型为B帧的视频帧,包括:
确定所述第一个视频帧的帧类型分别假设为P帧和B帧的编码代价值;
根据所述编码代价值确定所述第一个视频帧的帧类型。
12.根据权利要求11所述的方法,其特征在于,所述第一个视频帧的帧类型假设为P帧的编码代价值包括所述第一个视频帧以前一帧作参考时的第一编码代价值和所述第一个视频帧的后一帧以所述第一个视频帧的前一帧作参考时的第二编码代价值;和/或,
所述第一个视频帧的帧类型假设为B帧的编码代价值包括所述第一个视频帧以前一帧和后一帧作参考时的第三编码代价值和所述第一个视频帧的后一帧以所述第一个视频帧的前一帧作参考时的第四编码代价值。
13.根据权利要求11所述的方法,其特征在于,根据所述编码代价值确定所述第一个视频帧的帧类型,包括:
在所述第一个视频帧的帧类型假设为B帧的编码代价值小于或等于所述第一个视频帧的帧类型假设为P帧的编码代价值时,将所述第一个视频帧的帧类型确定为B帧。
14.根据权利要求1所述的方法,其特征在于,将所述目标视频帧确定为P帧,将所述视频帧中位于所述P帧之前的视频帧确定为B帧之后,所述方法还包括:
将所述目标视频帧作为后续处理的参考帧,并对所述目标视频帧之后的视频帧进行后续处理。
15.一种视频编码方法,其特征在于,包括:
确定待编码视频帧的帧类型;其中,所述待编码视频帧的帧类型根据权利要求1-14任一项所述的方法确定;
根据所述帧类型对所述待编码视频帧进行编码。
16.一种视频处理装置,其特征在于,包括:
第一确定模块,被配置为针对当前待处理的多个视频帧,确定目标视频帧,其中,所述目标视频帧为与当前参考帧之间的匹配度满足匹配度阈值的视频帧;
第二确定模块,被配置为将所述目标视频帧确定为P帧,将所述视频帧中位于所述P帧之前的视频帧确定为B帧;其中,
所述装置还包括:
第三确定模块,被配置为在满足以下两个条件之一时,根据所述视频帧和所述当前参考帧之间的距离确定所述匹配度阈值:
量化参数小于第一设定阈值;
相较于所述当前参考帧,所述视频帧及其前后帧的画面内容的变化量小于第二设定阈值;其中,所述第一设定阈值和第二设定阈值为预先确定的值。
17.根据权利要求16所述的装置,其特征在于,所述第一确定模块,包括:
目标视频帧确定子模块,被配置为针对当前待处理的多个所述视频帧,依次根据所述视频帧与参考帧之间的匹配度以及匹配度阈值确定出第一个帧类型为P帧的目标视频帧。
18.根据权利要求16-17任一项所述的装置,其特征在于,所述装置还包括:
第三确定模块,被配置为在满足以下两个条件之一时,根据所述视频帧和所述当前参考帧之间的距离确定所述匹配度阈值:
量化参数小于第一设定阈值;
相较于所述当前参考帧,所述视频帧及其前后帧的画面内容的变化量小于第二设定阈值;其中,所述第一设定阈值和第二设定阈值为预先确定的值。
19.一种视频编码装置,其特征在于,包括:
第七确定模块,被配置为确定待编码视频帧的帧类型;其中,所述待编码视频帧的帧类型根据权利要求16-18任一项所述的装置确定;
编码模块,被配置为根据所述帧类型对所述待编码视频帧进行编码。
20.一种电子设备,其特征在于,包括存储器和处理器;其中,
所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现权利要求1-15任一项所述的方法。
21.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-15任一项所述的方法。
CN201910372810.2A 2019-05-06 2019-05-06 视频处理方法、装置、电子设备及存储介质 Active CN111901605B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910372810.2A CN111901605B (zh) 2019-05-06 2019-05-06 视频处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910372810.2A CN111901605B (zh) 2019-05-06 2019-05-06 视频处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111901605A CN111901605A (zh) 2020-11-06
CN111901605B true CN111901605B (zh) 2022-04-29

Family

ID=73169495

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910372810.2A Active CN111901605B (zh) 2019-05-06 2019-05-06 视频处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111901605B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102196253A (zh) * 2010-03-11 2011-09-21 中国科学院微电子研究所 一种帧类型自适应选择的视频编码方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7889792B2 (en) * 2003-12-24 2011-02-15 Apple Inc. Method and system for video encoding using a variable number of B frames
US20080232468A1 (en) * 2007-03-21 2008-09-25 Mediatek Inc. Method and apparatus for adaptive gop structure determination
JP5474838B2 (ja) * 2008-03-10 2014-04-16 トムソン ライセンシング 改善された効率及び主観的な品質をサポートする予測フレームの選択方法及び装置
US20110109721A1 (en) * 2009-11-06 2011-05-12 Sony Corporation Dynamic reference frame reordering for frame sequential stereoscopic video encoding
CN101720044B (zh) * 2009-12-10 2011-09-28 四川长虹电器股份有限公司 一种基于自适应帧结构的avs编码方法
CN102547300B (zh) * 2010-12-17 2015-01-21 华为技术有限公司 帧类型的检测方法和装置
CN102300096A (zh) * 2011-09-19 2011-12-28 盛乐信息技术(上海)有限公司 帧类型检测方法及帧类型检测系统
US9262986B2 (en) * 2011-12-07 2016-02-16 Cisco Technology, Inc. Reference frame management for screen content video coding using hash or checksum functions
CN105898307A (zh) * 2015-12-22 2016-08-24 乐视云计算有限公司 一种b帧位置决策方法及装置
CN108495130B (zh) * 2017-03-21 2021-04-20 腾讯科技(深圳)有限公司 视频编码、解码方法和装置、终端、服务器和存储介质
CN107360431B (zh) * 2017-06-30 2019-08-02 武汉斗鱼网络科技有限公司 一种帧类型的判断方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102196253A (zh) * 2010-03-11 2011-09-21 中国科学院微电子研究所 一种帧类型自适应选择的视频编码方法及装置

Also Published As

Publication number Publication date
CN111901605A (zh) 2020-11-06

Similar Documents

Publication Publication Date Title
CN111819852B (zh) 用于变换域中残差符号预测的方法及装置
US9414086B2 (en) Partial frame utilization in video codecs
US8144770B2 (en) Apparatus and method for encoding moving picture
US11936857B2 (en) Method, system and apparatus for intra-prediction in a video signal processing
CN111757106A (zh) 多级复合预测
US9838690B1 (en) Selective prediction signal filtering
US20120008686A1 (en) Motion compensation using vector quantized interpolation filters
US11627321B2 (en) Adaptive coding of prediction modes using probability distributions
US9641843B1 (en) Video coding using adaptive source variance based partitioning
US20230421763A1 (en) Video coding method and apparatus, medium, and electronic device
US20120008687A1 (en) Video coding using vector quantized deblocking filters
CN114793282A (zh) 带有比特分配的基于神经网络的视频压缩
CN108401185B (zh) 参考帧选择方法、视频转码方法、电子设备和存储介质
CN115348449A (zh) 编码器,解码器和使用压缩mv存储的对应方法
US20120195364A1 (en) Dynamic mode search order control for a video encoder
CN111416977B (zh) 视频编码器、视频解码器及相应方法
CN110741636A (zh) 用于视频编码的变换块级扫描顺序选择
US9578324B1 (en) Video coding using statistical-based spatially differentiated partitioning
US8989270B2 (en) Optimized search for reference frames in predictive video coding system
US20170201767A1 (en) Video encoding device and video encoding method
US10715821B2 (en) Embedding information about EOB positions
CN111901605B (zh) 视频处理方法、装置、电子设备及存储介质
CN112218086A (zh) 编码、解码方法、传输方法、编码、解码装置及系统
RU2783385C2 (ru) Кодер, декодер и соответствующие способы с использованием компактного mv хранилища
RU2771925C1 (ru) Кодер, декодер и соответствующие способы с использованием компактного mv хранилища

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