CN109151469B - 视频编码方法、装置及设备 - Google Patents

视频编码方法、装置及设备 Download PDF

Info

Publication number
CN109151469B
CN109151469B CN201710461367.7A CN201710461367A CN109151469B CN 109151469 B CN109151469 B CN 109151469B CN 201710461367 A CN201710461367 A CN 201710461367A CN 109151469 B CN109151469 B CN 109151469B
Authority
CN
China
Prior art keywords
image frame
frame
coded
encoded
motion amplitude
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
CN201710461367.7A
Other languages
English (en)
Other versions
CN109151469A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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
Priority to CN201710461367.7A priority Critical patent/CN109151469B/zh
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to KR1020197024476A priority patent/KR102225235B1/ko
Priority to JP2019543009A priority patent/JP6925587B2/ja
Priority to EP18816657.3A priority patent/EP3641310A4/en
Priority to PCT/CN2018/087539 priority patent/WO2018228130A1/zh
Publication of CN109151469A publication Critical patent/CN109151469A/zh
Priority to US16/401,671 priority patent/US10893275B2/en
Application granted granted Critical
Publication of CN109151469B publication Critical patent/CN109151469B/zh
Priority to US17/100,207 priority patent/US11297328B2/en
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/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/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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • 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/142Detection of scene cut or scene change
    • 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/17Methods 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 an image region, e.g. an object
    • H04N19/172Methods 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 an image region, e.g. an object the region being a picture, frame or field
    • 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/17Methods 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 an image region, e.g. an object
    • H04N19/176Methods 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 an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone

Landscapes

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

Abstract

本发明公开了一种视频编码方法、装置及设备,属于多媒体技术领域。方法包括:根据滑动窗口确定视频的图像帧序列上的N个图像帧;获取滑动窗口内每个图像帧的运动幅度差值;根据滑动窗口内每个图像帧的运动幅度差值更新静止变量,静止变量用于表示已确定的连续静止图像帧的数目;当更新后的静止变量不小于第一预设阈值时,将待编码图像帧编码为I帧。本发明提供了一种判别视频是否长时间处于静止场景的方式,并在确定视频长时间处于静止场景时编入I帧,避免***过多的P帧,既提高了编码质量,也提高了编码效率。

Description

视频编码方法、装置及设备
技术领域
本发明涉及多媒体技术领域,特别涉及一种视频编码方法、装置及设备。
背景技术
随着互联网的普及以及多媒体技术的快速发展,视频的应用越来越广泛,在很多情况下都需要传输视频,如多个用户进行视频通话时或者用户在线观看视频时。视频的图像帧序列中包括多个图像帧,在传输视频的过程中如果直接传输这些图像帧会导致传输的数据量非常大,因此为了减小数据量需要在传输之前进行编码。
H.264标准是一种常用的视频编码标准,H.264标准包括I帧和P帧,I帧为将当前的图像帧进行完整编码后得到的帧,P帧为根据当前图像帧与前一图像帧之间的差异数据进行编码后得到的帧。其中,I帧完整地保留了图像帧中的数据,编码质量较高,而P帧只需根据差异数据进行编码,编码效率较高,但编码质量较低。编入的I帧和P帧可以构成一个GOP(Group of Pictures,图像组),一个GOP以一个I帧开始,到下一个I帧之前的P帧结束。
考虑到视频发生场景切换时,当前图像帧与前一图像帧之间的差异比较大,若将当前图像帧编码为P帧会导致编码质量下降过多,因此可以将当前图像帧编码为I帧。为此,进行编码时可以获取当前图像帧与前一图像帧之间的残差,该残差可以表示当前图像帧与前一图像帧之间的差异大小,判断该残差是否大于预设阈值,当该残差大于预设阈值时可以确定视频发生了场景切换,此时将当前图像帧编码为I帧。
在实现本发明的过程中,发明人发现相关技术至少存在以下缺陷:上述方法仅在视频发生场景切换时编入I帧,而未考虑静止场景。然而,在视频长时间处于静止场景时,会编入过多的P帧而导致编码质量下降过多,因此,需要提出一种在长时间静止场景下编入I帧的方法。
发明内容
为了解决相关技术的问题,本发明实施例提供了一种视频编码方法、装置及设备。所述技术方案如下:
第一方面,提供了一种视频编码方法,所述方法包括:
根据滑动窗口确定视频的图像帧序列上的N个图像帧,所述滑动窗口内的图像帧包括N-1个已编码图像帧以及一个处于窗尾的待编码图像帧;
获取所述滑动窗口内每个图像帧的运动幅度差值,所述图像帧的运动幅度差值为对应图像帧的运动幅度与前一图像帧的运动幅度之间的差值,所述图像帧的运动幅度为对应图像帧的帧间预测代价与帧内预测代价之间的比值;
根据所述滑动窗口内每个图像帧的运动幅度差值更新静止变量,所述静止变量用于表示已确定的连续静止图像帧的数目;
当更新后的静止变量不小于第一预设阈值时,将所述待编码图像帧编码为I帧。
第二方面,提供了一种视频编码装置,所述装置包括:
确定模块,用于根据滑动窗口确定视频的图像帧序列上的N个图像帧,所述滑动窗口内的图像帧包括N-1个已编码图像帧以及一个处于窗尾的待编码图像帧;
第一获取模块,用于获取所述滑动窗口内每个图像帧的运动幅度差值,所述图像帧的运动幅度差值为对应图像帧的运动幅度与前一图像帧的运动幅度之间的差值,所述图像帧的运动幅度为对应图像帧的帧间预测代价与帧内预测代价之间的比值;
第二获取模块,用于根据所述滑动窗口内每个图像帧的运动幅度差值更新静止变量,所述静止变量用于表示已确定的连续静止图像帧的数目;
编码模块,用于当更新后的静止变量不小于所述第一预设阈值时,将所述待编码图像帧编码为I帧。
第三方面,提供了一种视频编码设备,所述视频编码设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如第一方面所述的视频编码方法。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如第一方面所述的视频编码方法中所执行的操作。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例提供的方法、装置及设备,通过根据滑动窗口确定N个图像帧,根据滑动窗口内每个图像帧的运动幅度差值更新静止变量,当更新后的静止变量不小于第一预设阈值时,确定位于滑动窗口内的视频长时间处于静止场景,则编入I帧。本发明提供了一种判别视频是否长时间处于静止场景的方式,并在确定视频长时间处于静止场景时编入I帧,避免***过多的P帧,既提高了编码质量,也提高了编码效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种实施环境的示意图;
图2是本发明实施例提供的另一种实施环境的示意图;
图3是本发明实施例提供的一种视频编码方法的流程图;
图4A是本发明实施例提供的一种滑动窗口和图像帧的示意图;
图4B是本发明实施例提供的一种移动滑动窗口的示意图;
图5是本发明实施例提供的一种视频编码方法的流程图;
图6是本发明实施例提供的一种视频编码方法的流程图;
图7是本发明实施例提供的一种视频编码装置的结构示意图;
图8是本发明实施例提供的一种终端的结构示意图;
图9是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到相关技术中并未给出在静止场景下***I帧的方案,但在长时间处于静止场景时会编入过多的P帧,从而导致视频的编码质量下降过多,此时恰当地编入I帧会对整体性能有很大的帮助。因此,本发明实施例提供了一种在长时间处于静止场景时编入I帧的方法,能够提高编码质量。另外,还提供了一种在视频发生场景切换时编入I帧的方案,能够在提高编码质量的同时避免编入过多的I帧。上述编入I帧的方法具体请参见下述实施例。
本发明实施例提供了一种实施环境,该实施环境中包括第一设备101和第二设备102,第一设备101与第二设备102之间通过网络连接。第一设备101向第二设备102传输视频时,需要先对视频进行编码,将编码后的视频发送给第二设备102,由第二设备102进行解码后得到原视频。
本发明实施例可以应用于在线播放视频的场景下,参见图1,第一设备101为用于提供视频的视频服务器,第二设备102为用于播放视频的终端,视频服务器获取到已编码的视频后,可以对视频进行转码,在转码过程中采用本发明实施例提供的编码方法编入I帧,从而得到编码后的视频,发送给终端,由终端进行解码后播放视频,用户即可在终端上观看视频。
本发明实施例还可以应用于视频通话的场景下,参见图2,第一设备101和第二设备102为进行视频通话的两个终端,第一设备101与第二设备102之间通过服务器103连接。在进行视频通话的过程中,第一设备101每次获取到图像帧,对图像帧进行编码后发送给服务器103,由服务器103转发给第二设备102,第二设备102进行解码后播放该图像帧。第一设备101可以获取到多个图像帧,而第二设备102可以连续播放多个图像帧从而实现播放视频的效果,用户即可在第二设备102上观看视频。
当然,本发明实施例还可以应用于传输视频的其他场景下,在此不再赘述。
图3是本发明实施例提供的一种视频编码方法的流程图,本发明实施例对在静止场景下针对一个图像帧编入I帧的过程进行说明,执行主体为视频编码设备,该视频编码设备可以为终端或者服务器等具备视频传输功能的设备。参见图3,该方法包括:
301、根据滑动窗口确定视频的图像帧序列上的N个图像帧。
其中,滑动窗口的长度等于N,N为大于1的正整数。N可以根据视频的帧率确定,例如可以为帧率的三分之二。
在对视频的图像帧序列进行编码的过程中,每次可以采用该滑动窗口确定N个图像帧,N个图像帧包括N-1个已编码图像帧以及一个处于滑动窗口尾部的待编码图像帧,此时根据滑动窗口内的图像帧可以对待编码图像帧进行编码。
例如,参见图4A,开始对视频进行编码时,将图像帧序列上的第一个图像帧编码为I帧,将视频的第二个图像帧至第N-1个图像帧均编码为P帧,此时编码得到的N-1个图像帧位于滑动窗口的前N-1个位置,获取到第N个图像帧时,滑动窗口内包括N个图像帧,此时开始对第N个图像帧进行编码。
需要说明的是,本发明实施例以一个待编码图像帧为例进行说明,该待编码图像帧可以为视频的第N个图像帧,也可以为第N个图像帧之后的任一图像帧,实际应用中第N个图像帧和第N个图像帧之后的每个图像帧均可采用本发明实施例提供的编码方法进行编码。至于第N个图像帧之前除第一个图像帧之外的图像帧,由于这些图像帧与I帧的距离较近,编码为P帧并不会造成编码质量下降过多,因此默认编码为P帧即可。
302、获取滑动窗口内每个图像帧的运动幅度差值。
图像帧的运动幅度为图像帧的帧间预测代价与帧内预测代价之间的比值,可以表示图像帧与前一图像帧相比的变化幅度,图像帧与前一图像帧的变化幅度越大,运动幅度越大,图像帧与前一图像帧的变化幅度越小,运动幅度越小。
而图像帧的运动幅度差值为图像帧的运动幅度与前一图像帧的运动幅度之间的差值,用于表示图像帧的变化幅度与前一图像帧的变化幅度之间的波动情况,运动幅度差值越大表示图像帧的变化幅度与前一图像帧的变化幅度的波动越剧烈,运动幅度差值越小表示图像帧的变化幅度与前一图像帧的变化幅度之间的波动越平缓。
以Icost表示帧内预测代价,以Pcost表示帧间预测代价,第n个图像帧的运动幅度
Figure GDA0002413240830000051
第n个图像帧的运动幅度差值为η0=αnn-1,n表示图像帧在视频的图像帧序列中的序号。
其中,图像帧的帧内预测代价Icost可以通过将图像帧进行下采样后,将采样得到的图像帧划分为指定尺寸的多个宏块,对于每个宏块,计算在该宏块的多个方向上的预测块,通过计算宏块与预测块之间残差的SATD,从而得到最优的帧内预测代价Icost。其中,下采样时的采样幅度可以根据需求确定,例如采样得到的图像帧的长度可以为原始图像帧的长度的二分之一,宽度可以为原始图像帧的宽度的二分之一,另外该指定尺寸也可以根据预测需求确定,例如可以为8*8。SATD是指将残差经Hadamard(哈达码)变换后再进行绝对值求和。
其中,图像帧的帧间预测代价Pcost可以将图像帧进行下采样后,将采样得到的图像帧划分为指定尺寸的多个宏块。对于每个宏块,采用整像素菱形预测得到宏块的最佳参考块,通过计算宏块与参考块之间残差的SATD,从而得到最优的运动幅度,将该运动幅度与宏块的Icost的最小值作为宏块的Pcost,将多个宏块的Pcost之和作为图像帧的Pcost
需要说明的是,每个图像帧的运动幅度差值可以在进行编码之前计算得到,在对当前的图像帧进行编码时,可以计算该图像帧的运动幅度差值,且由于该图像帧之前的图像帧在进行编码时已经计算了运动幅度差值,因此无需重新计算这些图像帧的运动幅度差值,直接获取即可。
303、根据滑动窗口内每个图像帧的运动幅度差值更新静止变量。
其中,静止图像帧是指处于静止场景下的图像帧,静止变量用于表示已确定的连续静止图像帧的数目,在编码过程中随着确定的连续静止图像帧的增多,该静止变量会逐渐累加,累加过程中若中间有任一图像帧不是静止图像帧,则将静止变量重置为0,重新开始累加。
因此,可以根据滑动窗口内每个图像帧的运动幅度差值,判断待编码图像帧是否为静止图像帧,根据判断结果和已确定的静止变量进行更新,得到更新后的静止变量。
在判断待编码图像帧是否为静止图像帧时,判断当前是否满足第一预设条件,该第一预设条件为待编码图像帧的运动幅度差值的绝对值小于第二预设阈值且滑动窗口内所有图像帧的运动幅度差值总和的绝对值小于第三预设阈值。因此,视频编码设备判断待编码图像帧的运动幅度差值的绝对值是否小于第二预设阈值,并判断滑动窗口内所有图像帧的运动幅度差值总和的绝对值是否小于第三预设阈值,如果是,确定满足第一预设条件,待编码图像帧为静止图像帧,将已确定的静止变量加1,得到更新后的静止变量。如果否,确定不满足第一预设条件时,待编码图像帧不是静止图像帧,将更新后的静止变量设置为0,重新开始统计连续的静止图像帧的数目。
实际应用中,视频编码设备可以采用以下公式,确定静止变量:
Figure GDA0002413240830000071
其中,fn表示根据待编码图像帧确定的静止变量,fn-1表示根据待编码图像帧的前一图像帧确定的静止变量,ηn表示待编码图像帧的运动幅度差值,ηn=αnn-1,αn表示待编码图像帧的运动幅度,αn-1表示待编码图像帧的前一图像帧,ξn表示滑动窗口内所有图像帧的运动幅度差值总和,n为大于1的正整数,ηT表示第二预设阈值,ξT表示第三预设阈值。ηT和ξT的值可以综合考虑编码效率和编码质量后确定并根据实际的图像帧序列进行微调,例如ηT=0.2,ξT=1。
304、判断更新后的静止变量是否小于第一预设阈值,如果是,执行步骤305,如果否,执行步骤306。
本发明实施例中,为了避免在静止场景下编入过多的P帧,将编入I帧的条件设置为:连续静止图像帧的数目达到第一预设阈值,在这种条件下,视频处于长时间静止场景且根据足够数目的静止图像帧已经编入了足够的P帧,若继续编入P帧会导致编码质量下降过多,因此要编入I帧。
那么,视频编码设备获取到更新后的静止变量时,判断更新后的静止变量是否小于第一预设阈值。如果更新后的静止变量小于第一预设阈值,表示连续静止图像帧的数目没有超过上限,出于提高编码效率的考虑,可以继续编入P帧。而如果更新后的静止变量不小于第一预设阈值,表示连续静止图像帧的数目过大,出于提高编码质量的考虑,需要编入I帧。其中,第一预设阈值可以综合对编码质量和编码效率的需求确定,如该第一预设阈值可以等于N。
305、将待编码图像帧编码为P帧。要编入P帧时,获取待编码图像帧与前一图像帧之间的差异数据,根据该差异数据进行编码,得到编码后的图像帧即为P帧。
306、将待编码图像帧编码为I帧。要编入I帧时,直接根据待编码图像帧中的数据进行编码,得到编码后的图像帧即为I帧。
在另一实施例中,编入I帧的条件除上述静止变量不小于第一预设阈值的条件之外,还可以包括第二预设条件,相应地,上述步骤304-306可以由以下步骤代替:判断更新后的静止变量是否小于第一预设阈值,并判断是否满足第二预设条件,在更新后的静止变量不小于第一预设阈值且满足第二预设条件时,将待编码图像帧编码为I帧,而在更新后的静止变量小于第一预设阈值或者不满足第二预设条件时,将待编码图像帧编码为P帧。
0<αn≤σ1且μI.nn-1>T1.n
σ1<αn≤σ2且μI.nn-1>T2.n
σ2<αn≤σ3且μI.nn-1>T3.n
σ3<αn≤σ4且μI.nn-1>T4.n
其中,n表示待编码图像帧的序号;αn表示待编码图像帧的运动幅度;μI.n表示在待编码图像帧之前、距离待编码图像帧最近的I帧的亮度分量的PSNR(PeakSignal to NoiseRatio,峰值信噪比);μn-1表示待编码图像帧的前一图像帧的亮度分量的PSNR,亮度分量的PSNR可以用于评估相应图像帧的编码质量;σ1、σ2、σ3和σ4,以及T1.n、T2.n、T3.n和T4.n为正数阈值,σ1、σ2、σ3和σ4为表示图像复杂度变化的阈值,可以根据需求设定,σ1<σ2,σ2<σ3,σ3<σ4,例如可以设置为σ1=0.2,σ2=0.3,σ3=0.4,σ4=0.5,T1.n>T2.n,T2.n>T3.n,T3.n>T4.n
采用上述第二预设条件,可以保证在图像帧的运动幅度较小的情况下,表示图像帧的画面比较稳定,此时编入P帧时不会导致编码质量下降过多,因此无需编入过多的I帧,可以待PSNR下降较大幅度时再编入I帧,既保证了编码质量,还尽可能地提高了编码效率。而在图像帧的运动幅度较大的情况下,表示图像帧的画面变化剧烈,此时为了避免编码质量下降过多,可以将编入I帧的条件放宽,在PSNR下降稍小的幅度时即可编入I帧。
本发明实施例中,针对T1、T2、T3和T4这四个阈值,不同的图像帧采用的阈值可以相等,也可以不相等。在一种可能实现方式中,在对第n个图像帧进行编码完成后,可以对T1.n、T2.n、T3.n和T4.n进行更新,得到更新后的T1.n+1、T2.n+1、T3.n+1和T4.n+1,采用更新后的阈值对第n+1个图像帧进行判断。该更新方式如下:
T1.n+1=(1-ωT)×T1.nT×(μIn-1)0<αn≤σ1
T2.n+1=(1-ωT)×T2.nT×(μIn-11<αn≤σ2
T3.n+1=(1-ωT)×T3.nT×(μIn-12<αn≤σ3
T4.n+1=(1-ωT)×T4.nT×(μIn-13<αn≤σ4
其中,上述T1、T2、T3、T4阈值的初始值可以根据对在第一个I帧之后编入第一个I帧时PSNR的下降幅度的需求确定,例如可以设置为:T1.1=5,T2.1=4.5,T3.1=3,T4.1=2.5。ωT为表示当前PSNR差值在更新过程中占用的权重的正数阈值,例如可以设置为ωT=0.2。
本发明实施例中,在对待编码图像帧编码完成后,可以获取下一个待编码图像帧,按照一个图像帧的距离向后移动滑动窗口,使下一个待编码图像帧处于滑动窗口的窗尾,此时可以重复执行步骤301-306,继续对下一个待编码图像帧进行编码,以此类推。
基于图4A所示的举例,第N个图像帧编码完成后(假设编码为P帧),按照一个图像帧的距离向后移动滑动窗口,使第N+1个图像帧位于滑动窗口的窗尾,如图4B所示,此时开始对第N+1个图像帧进行编码。
需要说明的是,视频编码设备还可以在配置文件中设置GOP的预设最大长度,该预设最大长度规定了前后两个I帧之间的最大长度,那么,在对待编码图像帧进行编码时,视频编码设备不仅采用上述步骤304中的条件来确定是否要编入I帧,还需要获取待编码图像帧与在待编码图像帧之前、距离待编码图像帧最近的I帧之间的距离,判断该距离是否达到该预设最大长度,当确定该距离达到该预设最大长度时,即使当前不满足步骤304中的条件,也要将待编码图像帧编码为I帧。
本发明实施例提供的方法,通过根据滑动窗口确定N个图像帧,根据滑动窗口内每个图像帧的运动幅度差值更新静止变量,当更新后的静止变量不小于第一预设阈值时,确定视频长时间处于静止场景,则编入I帧。本发明提供了一种判别视频是否长时间处于静止场景的方式,并在确定视频长时间处于静止场景时编入I帧,避免***过多的P帧,提高了编码质量,而且编入I帧再编入P帧时,P帧占用的比特数目减小,PSNR增加,从而提高了编码效率。
其中,本发明采用帧间预测代价与帧内预测代价的比值来表示当前的运动幅度,采用已编码完成的图像帧的PSNR来表示失真,采用滑动窗口对滑动窗口中的图像帧进行预分析,结合运动幅度的变化情况,利用一个分段函数实现自适应编入I帧的算法,提高了编码效率。
另外,在实时进行视频通话的场景下,可以将配置文件中的GOP的预设最大长度设置为较大的数值,保证不会频繁地根据预设最大长度编入I帧,而更多地是根据图像帧的情况决定是否编入I帧,极大地提升了编码效率。而且,本发明实施例采用的算法在armv7和arm64等类型的处理器上做了汇编优化,可以提高处理速度。
图5是本发明实施例提供的一种视频编码方法的流程图,本发明实施例以对3个图像帧进行编码的过程为例,执行主体为视频编码设备。参见图5,该方法包括:
501、设置长度等于N的滑动窗口,将视频中的第一个图像帧编码为I帧,将视频的第二个图像帧至第N-1个图像帧均编码为P帧,此时编码得到的N-1个图像帧位于滑动窗口的前N-1个位置。获取到第N个图像帧时,第N个图像帧为当前待编码图像帧,且第N个图像帧处于滑动窗口的窗尾。
本发明实施例中假设N为3。
502、若根据滑动窗口内的N个图像帧的运动幅度差值确定满足第一预设条件,第N个图像帧为静止图像帧,此时静止变量为1,由于静止变量1小于N,因此将第N个图像帧编码为P帧。
503、获取第N+1个图像帧,并按照一个图像帧的距离向后移动滑动窗口,此时滑动窗口中包括第2个图像帧至第N+1个图像帧。
504、若根据滑动窗口内的N个图像帧的运动幅度差值确定满足第一预设条件,第N+1个图像帧为静止图像帧,此时静止变量更新为2,由于静止变量2小于N,因此将第N+1个图像帧编码为P帧。
505、获取第N+2个图像帧,并按照一个图像帧的距离向后移动滑动窗口,此时滑动窗口中包括第3个图像帧至第N+2个图像帧。
506、若根据滑动窗口内的N个图像帧的运动幅度差值确定满足第一预设条件,第N+2个图像帧为静止图像帧,此时静止变量更新为3,由于静止变量3等于N,因此将第N+2个图像帧编码为I帧。
图6是本发明实施例提供的一种视频编码方法的流程图,本发明实施例对在场景切换时编入I帧的过程进行说明,执行主体为视频编码设备。参见图6,该方法包括:
601、获取待编码图像帧与在待编码图像帧之前、距离待编码图像帧最近的I帧之间的距离。
602、根据该距离计算第四预设阈值。
其中,计算第四预设阈值时采用以下公式:
Figure GDA0002413240830000111
Figure GDA0002413240830000112
Figure GDA0002413240830000113
其中,VScene表示设定的阈值,可以由视频编码设备预先确定;D表示该距离;GOPmin表示图像组GOP的预设最小长度;GOPmax表示GOP的预设最大长度;Fbias表示第四预设阈值。
603、判断待编码图像帧的运动幅度是否大于1与第四预设阈值的差值、是否小于第五预设阈值,并判断该距离是否小于第六预设阈值。
604、当待编码图像帧的运动幅度大于1与第四预设阈值的差值,也不小于第五预设阈值,且该距离不小于第六预设阈值时,将待编码图像帧编码为I帧。
605、当待编码图像帧的运动幅度不大于1与第四预设阈值的差值,或者运动幅度小于第五预设阈值,或者该距离小于第六预设阈值时,将待编码图像帧编码为P帧。
相关技术会在视频发生场景切换时编入I帧,但是,如果视频频繁发生场景切换时,若编入过多的I帧,在I帧之后编入P帧时会导致质量下降。因此为了避免编入过多的I帧,要编码为I帧的图像帧的运动幅度应当大于1与第四预设阈值的差值且不小于第五预设阈值,编入的I帧与前一个I帧之间的距离不能小于第六预设阈值。该第五预设阈值用于确定要编码为I帧的图像帧的最小运动幅度,该第六预设阈值用于确定前后两个I帧之间的最小距离,该第五预设阈值和该第六预设阈值可以综合考虑编码质量和编码效率后确定,例如第五预设阈值可以为0.8,第六预设阈值可以为帧率的二分之一。
实际应用中,在进行判断时,视频编码设备可以先判断该距离是否小于第六预设阈值,如果是,直接将待编码图像帧编码为P帧,如果否,再判断待编码图像帧的运动幅度是否大于1与第四预设阈值的差值、是否小于第五预设阈值,并根据判断结果确定将待编码图像帧编码为I帧还是P帧。
需要说明的是,上述图3所示实施例与图6所示实施例可以结合,在编码过程中,视频编码设备可以采用上述步骤301-304进行判断,并采用上述步骤601-603进行判断,从而确定要将待编码图像帧编码为I帧还是P帧。
本发明实施例提供的方法,通过保证在待编码图像帧的运动幅度大于1与第四预设阈值的差值且不小于第五预设阈值,待编码图像帧与前一个I帧之间的距离不小于第六预设阈值时,将待编码图像帧编码为I帧,避免了编入过多的I帧,提高了编码效率。
图7是本发明实施例提供的一种视频编码装置的结构示意图。参见图7,该装置包括:
确定模块701,用于执行上述步骤301;
第一获取模块702,用于执行上述步骤302;
第二获取模块703,用于执行上述步骤303;
编码模块704,用于执行上述步骤305或306。
在一种可能实现方式中,第二获取模块703用于更新静止变量。
在另一种可能实现方式中,编码模块704用于当更新后的静止变量不小于所述指定数目且满足第二预设条件时编入I帧。
第二预设条件包括以下条件中的至少一个:
0<αn≤σ1且μI.nn-1>T1.n
σ1<αn≤σ2且μI.nn-1>T2.n
σ2<αn≤σ3且μI.nn-1>T3.n
σ3<αn≤σ4且μI.nn-1>T4.n
在另一种可能实现方式中,
T1.n+1=(1-ωT)×T1.nT×(μIn-1)0<αn≤σ1
T2.n+1=(1-ωT)×T2.nT×(μIn-11<αn≤σ2
T3.n+1=(1-ωT)×T3.nT×(μIn-12<αn≤σ3
T4.n+1=(1-ωT)×T4.nT×(μIn-13<αn≤σ4
其中,ωT为正数阈值。
在另一种可能实现方式中,编码模块704还用于当更新后的静止变量小于第一预设阈值时,将待编码图像帧编码为P帧。
在另一种可能实现方式中,该装置还包括:
切换模块,用于获取下一个待编码图像帧,按照一个图像帧的距离向后移动滑动窗口;
第二获取模块703,还用于继续根据滑动窗口内每个图像帧的运动幅度差值更新静止变量,直至当前更新后的静止变量不小于第一预设阈值时,由编码模块704将当前待编码图像帧编码为I帧。
在另一种可能实现方式中,该装置还包括:
第三获取模块,用于执行上述步骤601;
计算模块,用于执行上述步骤602;
编码模块704,用于执行上述步骤604或605。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的视频编码装置在进行编码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将视频编码设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频编码装置与视频编码方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图8是本发明实施例提供的一种终端的结构示意图。该终端可以用于实施上述实施例所示出的视频编码方法中视频编码设备所执行的功能。具体来讲:
终端800可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、传输模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图8中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他终端通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯***)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(CodeDivision Multiple Access,码分多址)、WCDMA(Wideband Code Division MultipleAccess,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器120可用于存储软件程序以及模块,如上述示例性实施例所示出的终端所对应的软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理,如实现基于视频的交互等。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端800的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入终端132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的链接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入终端132。具体地,其他输入终端132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端800的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图8中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
终端800还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端800移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端800还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端800之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端800的通信。
终端800通过传输模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线或有线的宽带互联网访问。虽然图8示出了传输模块170,但是可以理解的是,其并不属于终端800的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端800的控制中心,利用各种接口和线路链接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端800的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端800还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理***与处理器180逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端800还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端800的显示单元是触摸屏显示器,终端800还包括有存储器以及至少一条指令,其中至少一条指令存储于存储器中,且经配置以由一个或者一个以上处理器加载并执行,以实现上述实施例中的视频编码方法。
图9是本发明实施例提供的一种服务器的结构示意图,该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(central processingunits,CPU)922(例如,一个或一个以上处理器)和存储器932,一个或一个以上存储应用程序942或数据944的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器932和存储介质930可以是短暂存储或持久存储。存储在存储介质930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令。更进一步地,中央处理器922可以设置为与存储介质930通信,在服务器900上加载并执行存储介质930中的一系列指令,以实现上述实施例中的视频编码方法。
服务器900还可以包括一个或一个以上电源926,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口959,一个或一个以上键盘956,和/或,一个或一个以上操作***941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
该服务器900可以用于执行上述实施例提供的视频编码方法中视频编码设备所执行的步骤。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条指令,该指令由处理器加载并执行以实现上述实施例的视频编码方法中所执行的操作。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (13)

1.一种视频编码方法,其特征在于,所述方法包括:
根据滑动窗口确定视频的图像帧序列上的N个图像帧,所述滑动窗口内的图像帧包括N-1个已编码图像帧以及一个处于窗尾的待编码图像帧;
获取所述滑动窗口内每个图像帧的运动幅度差值,所述图像帧的运动幅度差值为对应图像帧的运动幅度与前一图像帧的运动幅度之间的差值,所述图像帧的运动幅度为对应图像帧的帧间预测代价与帧内预测代价之间的比值;
当根据所述每个图像帧的运动幅度差值确定所述待编码图像帧为静止图像帧时,将已确定的静止变量加1,得到更新后的静止变量;
当根据所述每个图像帧的运动幅度差值确定所述待编码图像帧不是静止图像帧,将更新后的静止变量设置为0,所述静止变量用于表示已确定的连续静止图像帧的数目;
当更新后的静止变量不小于第一预设阈值时,将所述待编码图像帧编码为I帧。
2.根据权利要求1所述的方法,其特征在于,所述当根据所述每个图像帧的运动幅度差值确定所述待编码图像帧为静止图像帧时,将已确定的静止变量加1,得到更新后的静止变量之前,所述方法还包括:
判断是否满足第一预设条件,所述第一预设条件为所述待编码图像帧的运动幅度差值的绝对值小于第二预设阈值且所述滑动窗口内所有图像帧的运动幅度差值总和的绝对值小于第三预设阈值;
当满足所述第一预设条件时,确定所述待编码图像帧为静止图像帧;
当不满足所述第一预设条件时,确定所述待编码图像帧不是静止图像帧。
3.根据权利要求1所述的方法,其特征在于,所述当更新后的静止变量不小于第一预设阈值时,将所述待编码图像帧编码为I帧,包括:
当所述更新后的静止变量不小于所述第一预设阈值,且满足第二预设条件时,将所述待编码图像帧编码为I帧;
所述第二预设条件包括以下条件中的至少一个:
0<αn≤σ1且μI.nn-1>T1.n
σ1<αn≤σ2且μI.nn-1>T2.n
σ2<αn≤σ3且μI.nn-1>T3.n
σ3<αn≤σ4且μI.nn-1>T4.n
其中,所述n表示所述待编码图像帧的序号;所述αn表示所述待编码图像帧的运动幅度;所述μI.n表示在所述待编码图像帧之前、距离所述待编码图像帧最近的I帧的亮度分量的峰值信噪比PSNR;所述μn-1表示所述待编码图像帧的前一图像帧的亮度分量的PSNR;所述σ1、所述σ2、所述σ3和所述σ4,以及所述T1.n、所述T2.n、所述T3.n和所述T4.n为正数阈值,σ1<σ2,σ2<σ3,σ3<σ4,T1.n>T2.n,T2.n>T3.n,T3.n>T4.n
4.根据权利要求1所述的方法,其特征在于,所述根据所述滑动窗口内每个图像帧的运动幅度差值更新静止变量之后,所述方法还包括:
当所述更新后的静止变量小于所述第一预设阈值时,将所述待编码图像帧编码为P帧。
5.根据权利要求1或4所述的方法,其特征在于,所述方法还包括:
所述待编码图像帧编码完成后,获取下一个待编码图像帧,按照一个图像帧的距离向后移动所述滑动窗口,使所述下一个待编码图像帧处于所述滑动窗口的窗尾;
继续根据所述滑动窗口内每个图像帧的运动幅度差值更新所述静止变量,直至当前更新后的静止变量不小于所述第一预设阈值时,将当前待编码图像帧编码为I帧。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述待编码图像帧与在所述待编码图像帧之前、距离所述待编码图像帧最近的I帧之间的距离;
根据所述距离,采用以下公式计算第四预设阈值:
Figure FDA0002413240820000021
Figure FDA0002413240820000022
Figure FDA0002413240820000031
其中,所述VScene表示设定的阈值;所述D表示所述距离;所述GOPmin表示图像组GOP的预设最小长度;所述GOPmax表示GOP的预设最大长度;所述Fbias表示所述第四预设阈值;
当所述待编码图像帧的运动幅度大于1与所述第四预设阈值的差值,所述待编码图像帧的运动幅度不小于第五预设阈值,且所述距离不小于第六预设阈值时,将所述待编码图像帧编码为I帧。
7.一种视频编码装置,其特征在于,所述装置包括:
确定模块,用于根据滑动窗口确定视频的图像帧序列上的N个图像帧,所述滑动窗口内的图像帧包括N-1个已编码图像帧以及一个处于窗尾的待编码图像帧;
第一获取模块,用于获取所述滑动窗口内每个图像帧的运动幅度差值,所述图像帧的运动幅度差值为对应图像帧的运动幅度与前一图像帧的运动幅度之间的差值,所述图像帧的运动幅度为对应图像帧的帧间预测代价与帧内预测代价之间的比值;
第二获取模块,用于当根据所述每个图像帧的运动幅度差值确定所述待编码图像帧为静止图像帧时,将已确定的静止变量加1,得到更新后的静止变量;
当根据所述每个图像帧的运动幅度差值确定所述待编码图像帧不是静止图像帧,将更新后的静止变量设置为0,所述静止变量用于表示已确定的连续静止图像帧的数目;
编码模块,用于当更新后的静止变量不小于所述第一预设阈值时,将所述待编码图像帧编码为I帧。
8.根据权利要求7所述的装置,其特征在于,所述第二获取模块还用于:
判断是否满足第一预设条件,所述第一预设条件为所述待编码图像帧的运动幅度差值的绝对值小于第二预设阈值且所述滑动窗口内所有图像帧的运动幅度差值总和的绝对值小于第三预设阈值;
当满足所述第一预设条件时,确定所述待编码图像帧为静止图像帧;
当不满足所述第一预设条件时,确定所述待编码图像帧不是静止图像帧。
9.根据权利要求7所述的装置,其特征在于,所述编码模块用于当所述更新后的静止变量不小于所述第一预设阈值,且满足第二预设条件时,将所述待编码图像帧编码为I帧;
所述第二预设条件包括以下条件中的至少一个:
0<αn≤σ1且μI.nn-1>T1.n
σ1<αn≤σ2且μI.nn-1>T2.n
σ2<αn≤σ3且μI.nn-1>T3.n
σ3<αn≤σ4且μI.nn-1>T4.n
其中,所述n表示所述待编码图像帧的序号;所述αn表示所述待编码图像帧的运动幅度;所述μI.n表示在所述待编码图像帧之前、距离所述待编码图像帧最近的I帧的亮度分量的峰值信噪比PSNR;所述μn-1表示所述待编码图像帧的前一图像帧的亮度分量的PSNR;所述σ1、所述σ2、所述σ3和所述σ4,以及所述T1.n、所述T2.n、所述T3.n和所述T4.n为正数阈值,σ1<σ2,σ2<σ3,σ3<σ4,T1.n>T2.n,T2.n>T3.n,T3.n>T4.n
10.根据权利要求7所述的装置,其特征在于,所述编码模块还用于当所述更新后的静止变量小于所述第一预设阈值时,将所述待编码图像帧编码为P帧。
11.根据权利要求7或10所述的装置,其特征在于,所述装置还包括:
切换模块,用于所述待编码图像帧编码完成后,获取下一个待编码图像帧,按照一个图像帧的距离向后移动所述滑动窗口,使所述下一个待编码图像帧处于所述滑动窗口的窗尾;
所述第二获取模块,还用于继续根据所述滑动窗口内每个图像帧的运动幅度差值更新静止变量,直至当前更新后的静止变量不小于所述第一预设阈值时,由所述编码模块将当前待编码图像帧编码为I帧。
12.一种视频编码设备,其特征在于,所述视频编码设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至权利要求6任一项所述的视频编码方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至权利要求6任一项所述的视频编码方法中所执行的操作。
CN201710461367.7A 2017-06-15 2017-06-15 视频编码方法、装置及设备 Active CN109151469B (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201710461367.7A CN109151469B (zh) 2017-06-15 2017-06-15 视频编码方法、装置及设备
JP2019543009A JP6925587B2 (ja) 2017-06-15 2018-05-18 ビデオ符号化方法、装置、機器、及び記憶媒体
EP18816657.3A EP3641310A4 (en) 2017-06-15 2018-05-18 VIDEO CODING METHOD, APPARATUS AND DEVICE, INFORMATION DEVICE AND MEDIUM
PCT/CN2018/087539 WO2018228130A1 (zh) 2017-06-15 2018-05-18 视频编码方法、装置、设备及存储介质
KR1020197024476A KR102225235B1 (ko) 2017-06-15 2018-05-18 비디오 인코딩 방법, 장치, 및 디바이스, 및 저장 매체
US16/401,671 US10893275B2 (en) 2017-06-15 2019-05-02 Video coding method, device, device and storage medium
US17/100,207 US11297328B2 (en) 2017-06-15 2020-11-20 Video coding method, device, device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710461367.7A CN109151469B (zh) 2017-06-15 2017-06-15 视频编码方法、装置及设备

Publications (2)

Publication Number Publication Date
CN109151469A CN109151469A (zh) 2019-01-04
CN109151469B true CN109151469B (zh) 2020-06-30

Family

ID=64659774

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710461367.7A Active CN109151469B (zh) 2017-06-15 2017-06-15 视频编码方法、装置及设备

Country Status (6)

Country Link
US (2) US10893275B2 (zh)
EP (1) EP3641310A4 (zh)
JP (1) JP6925587B2 (zh)
KR (1) KR102225235B1 (zh)
CN (1) CN109151469B (zh)
WO (1) WO2018228130A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112272297B (zh) * 2020-10-28 2023-01-31 上海科江电子信息技术有限公司 嵌入在解码器端的图像质量静止帧检测方法
CN112929701B (zh) * 2021-02-04 2023-03-17 浙江大华技术股份有限公司 一种视频编码方法、装置、设备及介质
CN113747159B (zh) * 2021-09-06 2023-10-13 深圳软牛科技有限公司 一种生成可变帧率视频媒体文件的方法、装置及相关组件
CN115695889A (zh) * 2022-09-30 2023-02-03 聚好看科技股份有限公司 显示设备及悬浮窗显示方法
CN116962685B (zh) * 2023-09-21 2024-01-30 杭州爱芯元智科技有限公司 视频编码方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101742293A (zh) * 2008-11-14 2010-06-16 北京中星微电子有限公司 一种基于视频运动特征的图像自适应帧场编码方法
CN102572381A (zh) * 2010-12-29 2012-07-11 ***通信集团公司 视频监控场景判别方法及其监控图像编码方法、及装置
CN103796019A (zh) * 2012-11-05 2014-05-14 北京勤能通达科技有限公司 一种均衡码率编码方法
CN106254873A (zh) * 2016-08-31 2016-12-21 广州市百果园网络科技有限公司 一种视频编码方法及视频编码装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09327023A (ja) 1996-06-06 1997-12-16 Nippon Telegr & Teleph Corp <Ntt> フレーム内/フレーム間符号化切替方法および画像符号化装置
US6025888A (en) * 1997-11-03 2000-02-15 Lucent Technologies Inc. Method and apparatus for improved error recovery in video transmission over wireless channels
JP4649318B2 (ja) 2004-12-13 2011-03-09 キヤノン株式会社 画像符号化装置、画像符号化方法、プログラム及び記憶媒体
US8654848B2 (en) * 2005-10-17 2014-02-18 Qualcomm Incorporated Method and apparatus for shot detection in video streaming
US7965771B2 (en) * 2006-02-27 2011-06-21 Cisco Technology, Inc. Method and apparatus for immediate display of multicast IPTV over a bandwidth constrained network
JP4688170B2 (ja) 2007-01-26 2011-05-25 株式会社Kddi研究所 動画像符号化装置
US8938005B2 (en) * 2007-11-05 2015-01-20 Canon Kabushiki Kaisha Image encoding apparatus, method of controlling the same, and computer program
US9628811B2 (en) * 2007-12-17 2017-04-18 Qualcomm Incorporated Adaptive group of pictures (AGOP) structure determination
US8385404B2 (en) * 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
JP5215951B2 (ja) 2009-07-01 2013-06-19 キヤノン株式会社 符号化装置及びその制御方法、コンピュータプログラム
WO2012096164A1 (ja) * 2011-01-12 2012-07-19 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
KR20140110221A (ko) * 2013-03-06 2014-09-17 삼성전자주식회사 비디오 인코더, 장면 전환 검출 방법 및 비디오 인코더의 제어 방법
JP6365253B2 (ja) 2014-11-12 2018-08-01 富士通株式会社 映像データ処理装置、映像データ処理プログラムおよび映像データ処理方法
CN105898313A (zh) * 2014-12-15 2016-08-24 江南大学 一种新的基于视频大纲的监控视频可伸缩编码技术
CN105761263A (zh) * 2016-02-19 2016-07-13 浙江大学 一种基于镜头边界检测和聚类的视频关键帧提取方法
CN106231301B (zh) * 2016-07-22 2020-06-12 上海交通大学 基于编码单元层次和率失真代价的hevc复杂度控制方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101742293A (zh) * 2008-11-14 2010-06-16 北京中星微电子有限公司 一种基于视频运动特征的图像自适应帧场编码方法
CN102572381A (zh) * 2010-12-29 2012-07-11 ***通信集团公司 视频监控场景判别方法及其监控图像编码方法、及装置
CN103796019A (zh) * 2012-11-05 2014-05-14 北京勤能通达科技有限公司 一种均衡码率编码方法
CN106254873A (zh) * 2016-08-31 2016-12-21 广州市百果园网络科技有限公司 一种视频编码方法及视频编码装置

Also Published As

Publication number Publication date
KR102225235B1 (ko) 2021-03-09
US20190260998A1 (en) 2019-08-22
WO2018228130A1 (zh) 2018-12-20
JP2020509668A (ja) 2020-03-26
EP3641310A4 (en) 2020-05-06
US11297328B2 (en) 2022-04-05
EP3641310A1 (en) 2020-04-22
US10893275B2 (en) 2021-01-12
CN109151469A (zh) 2019-01-04
US20210076044A1 (en) 2021-03-11
KR20190109476A (ko) 2019-09-25
JP6925587B2 (ja) 2021-08-25

Similar Documents

Publication Publication Date Title
US11240511B2 (en) Video encoding code rate control method, apparatus, and device, and storage medium
CN109151469B (zh) 视频编码方法、装置及设备
US10986332B2 (en) Prediction mode selection method, video encoding device, and storage medium
US11202066B2 (en) Video data encoding and decoding method, device, and system, and storage medium
CN108391127B (zh) 视频编码方法、装置、存储介质及设备
CN111010576B (zh) 一种数据处理方法及相关设备
US11375227B2 (en) Video motion estimation method and apparatus, and storage medium
US10284850B2 (en) Method and system to control bit rate in video encoding
CN108337533B (zh) 视频压缩方法和装置
CN105992001A (zh) 一种对图片进行量化处理的方法及装置
US10827198B2 (en) Motion estimation method, apparatus, and storage medium
CN111263216B (zh) 一种视频传输方法、装置、存储介质及终端
CN105187831B (zh) 一种对图像进行压缩的方法和装置
CN109003313B (zh) 一种传输网页图片的方法、装置和***
CN112866710B (zh) 一种编码单元处理方法和相关装置
CN116156232A (zh) 一种视频内容的播放方法以及相关装置
CN117412055A (zh) 图像处理方法、电子设备和存储介质
CN117615175A (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