CN110198444B - 视频帧编码方法、视频帧编码设备及具有存储功能的装置 - Google Patents

视频帧编码方法、视频帧编码设备及具有存储功能的装置 Download PDF

Info

Publication number
CN110198444B
CN110198444B CN201910305228.4A CN201910305228A CN110198444B CN 110198444 B CN110198444 B CN 110198444B CN 201910305228 A CN201910305228 A CN 201910305228A CN 110198444 B CN110198444 B CN 110198444B
Authority
CN
China
Prior art keywords
quantization parameter
frame
current frame
parameter
video
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
CN201910305228.4A
Other languages
English (en)
Other versions
CN110198444A (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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN201910305228.4A priority Critical patent/CN110198444B/zh
Publication of CN110198444A publication Critical patent/CN110198444A/zh
Application granted granted Critical
Publication of CN110198444B publication Critical patent/CN110198444B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

本申请公开了一种视频帧编码方法、视频帧编码设备及具有存储功能的装置,该编码方法包括:获取当前帧,当前帧为非首帧视频帧;对当前帧进行预处理,以得到当前帧的多种帧信息;将该多种帧信息作为时间型特征参数分析得到量化参数预测网络的多维输入特征,输入量化参数预测网络,以预测得到当前帧的量化参数,其中量化参数预测网络是预先训练好的神经网络;利用当前帧的量化参数对当前帧进行编码,以得到相应的视频码流。通过上述方式,本申请能够提高码流控制的性能。

Description

视频帧编码方法、视频帧编码设备及具有存储功能的装置
技术领域
本申请涉及视频编码技术领域,特别是涉及一种视频帧编码方法、视频帧编码设备及具有存储功能的装置。
背景技术
视频图像数据量比较大,通常需要对其进行压缩,压缩后的数据称之为视频码流,视频码流通过有线或者无线网络传输至用户端,再进行解码观看。整个系统包括编码、传输、解码等流程,这些过程中由于受硬件和其他条件限制,比如网络传输会有上限值,故通常希望在编码时,码率尽量小,同时能保持编码后的视频图像品质不变甚至得到改善。视频帧压缩后的大小与编码器在编码过程中选择的参数相关,其中,量化参数(QuantizationParameter,QP)控制的是有损量化处理过程中损失数据量的大小,对编码后帧大小有直接的影响。
现有码率控制方法通常不考虑帧与帧之间时间序上的相关性,导致帧间量化参数QP的取值偏差较大,使得码率的匹配正确率偏低,码率控制性能较差。
发明内容
本申请主要解决的技术问题是提供一种视频帧编码方法、视频帧编码设备及具有存储功能的装置,能够提高码率控制性能。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种视频帧编码方法,包括:获取当前帧,当前帧为非首帧视频帧;对当前帧进行预处理,以得到当前帧的多种帧信息;将该多种帧信息作为时间型特征参数分析得到量化参数预测网络的多维输入特征,输入量化参数预测网络,以预测得到当前帧的量化参数,其中量化参数预测网络是预先训练好的神经网络;利用当前帧的量化参数对当前帧进行编码,以得到相应的视频码流。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种视频帧编码设备,包括:相互连接的通信电路和处理器;通信电路用于接收视频帧;处理器用于执行指令以实现如上所述的视频帧编码方法。
为解决上述技术问题,本申请采用的又一个技术方案是:提供一种具有存储功能的装置,内部存储有程序指令,该程序指令用于执行以实现如上所述的视频帧编码方法。
本申请的有益效果是:区别于现有技术的情况,本申请的实施例中,在对当前帧视频进行编码前,首先对当前帧进行预处理,以得到当前帧的多种帧信息,并将该多种帧信息作为时间型特征参数分析得到量化参数预测网络的多维输入特征,输入量化参数预测网络,以预测得到当前帧的量化参数,最后利用当前帧的量化参数对当前帧进行编码,以得到相应的视频码流。通过上述方式,本申请采用预先训练好的量化参数预测网络预测当前帧的量化参数时,输入特征考虑了帧时间序上的相关性,从而使得预测得到的量化参数较为精准,能够提高码率的匹配正确率,进而提高码流控制的性能。
附图说明
图1是本申请一种视频帧编码方法第一实施例的流程示意图;
图2是长短期记忆网络的层次结构示意图;
图3是本申请一种视频帧编码方法第二实施例的流程示意图;
图4是图3中步骤S141的具体流程示意图;
图5是图4中步骤S1412的具体流程示意图;
图6是图4中步骤S1416的具体流程示意图;
图7是图4中步骤S1417之前还包括的流程示意图;
图8是本申请一种视频帧编码方法第三实施例的流程示意图;
图9是本申请一种视频帧编码方法第三实施例中采用的“滑窗”机制的示意图;
图10是将本申请视频编码方法应用到x264编码器进行编码效果验证时采用的LSTM网络模型示意图;
图11是本申请一种视频帧编码设备一实施例的结构示意图;
图12是本申请一种具有存储功能的装置一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,本申请一种视频帧编码方法第一实施例包括:
S11:获取当前帧,该当前帧为非首帧视频帧。
视频帧编码通常是对一系列连续视频帧进行编码,编码时,通常是从该连续视频帧的首帧按照时间顺序连续向后编码。
由于对当前帧进行量化参数预测的预测网络需要获取当前帧之前的视频帧的帧信息,因此,首帧视频帧不采用该预测网络预测量化参数,而是采用预设的固定量化参数进行编码,或者采用其他方式获取量化参数进行编码。当前帧是首帧视频帧之后的后续视频帧。
可选地,步骤S11之前,包括:
S10:利用预设量化参数对首帧视频帧进行编码,以得到该首帧视频帧编码后的视频码流。
其中,该预设量化参数是预先设定的固定量化参数,该固定量化参数也可以是根据目标码流计算得到的量化参数。
具体地,在一个应用例中,编码器接收首帧视频帧后,获取该固定量化参数,即可以利用该固定量化参数对首帧视频帧进行编码,以得到编码后的视频码流。其中,该编码器是数字视频压缩编码器,如符合h.264、HEVC或svac2标准的编码器。
S12:对当前帧进行预处理,以得到当前帧的多种帧信息。
其中,该多种帧信息包括纹理特征、码率信息和帧的属性等。
对于当前帧来说,画面纹理的复杂度(即纹理特征)影响视频编码所产生的码流大小,码率信息则是对编码后的码流大小的一种预估,帧的属性决定当前帧编码时所受到的影响程度,这三种类型的参数作为预分析过程的所收集到的结果,构建成为量化参数预测网络的输入参数,更具合理性。
具体地,纹理特征可以为且不限于当前帧的残差变换绝对值和(Sum of AbsoluteTransformed Difference,SATD)、均方误差(Mean Square Error,MSE)、结构相似性(Structure Similarity index,SSIM)等其中一个或多个参数,用于表帧当前帧或前一帧的纹理复杂度。码率信息可以是当前帧的目标码率、比特分配Alloc_bits等其中一个或多个。帧的属性包括帧的类型,如表示I/P/B帧的标志,以及上一帧的量化参数QP等。
对当前帧进行预分析,例如纹理特征分析、码率信息计算以及帧属性获取等,可以得到当前帧的多种帧信息,每一种帧信息可以作为一维输入特征,多种帧信息可以组成多维输入特征。
S13:将该多种帧信息作为时间型特征参数分析得到量化参数预测网络的多维输入特征,输入量化参数预测网络,以预测得到当前帧的量化参数。
其中,该量化参数预测网络是预先训练好的神经网络。
例如,该量化参数预测网络可以采用长短期记忆网络。如图2所示,该长短期记忆网络包括输入特征层、长短期记忆层和至少一个全连接层,其中该长短期记忆层包括多个长短期记忆单元(即图2中的LSTM框),每个输入样本之间在该长短期记忆单元会经由时间序连接。
具体地,在一个应用例中,该多种帧信息作为时间型特征参数,根据当前帧之前的视频帧的编码过程,可以分析得到当前帧之前的已编码帧的帧信息,根据时间相关性(例如时间序列),当前帧的多种帧信息和已编码帧的帧信息可以共同组成该量化参数预测网络的多维输入特征。其中,已编码视频帧的帧信息种类与当前帧相同,每个视频帧的同个帧信息可以组成一维输入特征向量的元素,从而使得每种帧信息可以组成该量化参数预测网络的一维输入特征向量,多种帧信息一起可以组成该量化参数预测网络的多维输入特征向量组。
量化参数预测网络是预先训练好的网络模型,其利用输入的多维输入特征,可以直接预测得到当前帧的量化参数。
S14:利用当前帧的量化参数对当前帧进行编码,以得到相应的视频码流。
具体地,编码器,即数字视频压缩编码器,如符合h.264、HEVC或svac2标准的编码器,在输入当前帧的原始数据后,使用预测得到的当前帧的量化参数对当前帧的原始数据进行编码,可以得到当前帧编码压缩后的视频码流,还可以得到当前帧实际编码比特数等编码信息。
本实施例中,由于采用的量化参数预测网络中,输入特征采用了当前帧和已编码帧的多种帧信息,并且考虑了帧与帧在时间序上的相关性,有助于预测得到较为精准的量化参数,能够提高码率的匹配正确率,进而提高码流控制的性能。
在其他实施例中,为了使得量化参数更接近目标码率,可以对预测得到的量化参数进行调整。
具体如图3所示,本申请一种视频帧编码方法第二实施例是在本申请一种视频帧编码方法第一实施例的基础上,进一步限定步骤S14包括:
S141:对当前帧的量化参数进行调整,以使得当前帧的编码码率接近目标码率。
其中,目标码率是预先设定的编码器进行视频编码得到的码流的最优码流。实际编码码率越接近该目标码率,则编码效果越好。
具体地,对于由量化参数预测网络预测得到的QP,可以进一步根据当前帧为止,目标码率与实际编码码率之间的关系,再度调整QP,使得QP值能够使当前帧以及后续帧的实际编码码率更接近目标码率。
可选地,如图4所示,步骤S141具体包括:
S1411:获取当前帧的第一量化参数调整参数。
其中,该第一量化参数调整参数是根据当前帧为止,目标码率与实际编码码率之间的关系,计算得到的调整权重。
具体地,编码器获取已编码视频帧的实际总比特数,已编码视频帧以目标码率计算得出的目标总比特数,目标比特率,当前编码的帧数以及帧率之后,可以利用如下公式(1)计算得到该第一量化参数调整参数:
Figure BDA0002029589870000061
其中,overflow[i]为当前帧的第一量化参数调整参数,Btotal为已编码视频帧的实际总比特数,Bwanted为已编码视频帧以目标码率计算得出的目标总比特数,Rtarget为目标比特率,i为当前编码的帧数,fps为帧率。
S1412:利用第一量化参数调整参数作为权重对当前帧的量化参数进行调整,以得到第一量化参数。
具体地,在获取该第一量化参数调整参数后,可以利用该调整参数直接作为权重,与当前帧的量化参数相乘,得到第一量化参数。
可选地,利用该调整参数调整当前帧的量化参数的过程也可以是先根据某个中间参量与量化参数之间的转换关系,得到该中间参量,然后利用该调整参数作为权重调整该中间参量后,在利用转换关系得到第一量化参数。具体如图5所示,步骤S1412包括:
S21:利用量化参数和拉格朗日常量的关系式,计算得到当前帧的量化参数对应的第一拉格朗日常量。
其中,量化参数与拉格朗日常量的关系式如下公式(2)所示:
Figure BDA0002029589870000062
上述公式(2)中,QP[i]为当前帧的量化参数,qscale[i]为当前帧的量化参数对应的第一拉格朗日常量,lb(*)为对数运算log2(*)。
S22:以第一量化参数调整参数作为权重,与第一拉格朗日常量相乘,得到调整后的第二拉格朗日常量。
具体地,利用如下公式(3)即可以计算得到该第二拉格朗日常量:
qscale’[i]=qscale[i]·overflow (3)
其中,qscale’[i]为该第二拉格朗日常量,overflow为该第一量化参数调整参数。
S23:以第二拉格朗日常量为参数,利用量化参数和拉格朗日常量的关系式,计算得到第一量化参数。
具体地,将该第二拉格朗日常量代入上述公式(2)中的qscale[i],即可以利用上述公式(2)计算得到该第一量化参数。
S1413:获取当前帧之前的部分已编码视频帧的第二量化参数调整参数。
其中,该第二量化参数调整参数可以是当前帧之前的一帧或者两帧,甚至更多帧计算得到的量化参数调整参数,其计算方法与第一量化参数调整参数的计算方法相同,具体可以参考上述步骤S21~S23。
S1414:判断第一量化参数调整参数和第二量化参数调整参数是否满足第一预设条件。
该第一预设条件可以为如下条件:|overflow[i-2]-1|>|overflow[i-1]-1|且|overflow[i-1]-1|>|overflow[i]-1|,同时|overflow[i]-1|<ξ。其中,当前帧为第i帧,overflow[i]为第一量化参数调整参数,overflow[i-2]和overflow[i-1]分别为当前帧之前的第i-2帧和第i-1帧的第二量化参数调整参数,ξ为预先设定的第一阈值参数,例如0.5。
若第一量化参数调整参数和第二量化参数调整参数满足上述第一预设条件,则执行如下步骤S1415,否则执行步骤S1416。
S1415:将当前帧的量化参数调整为第一量化参数。
S1416:根据当前帧的前一帧的量化参数或预设参量,调整第一量化参数,并将当前帧的量化参数调整为经调整的第一量化参数。
其中,预设参量是预先设置的对第一量化参数进行调整的参数,其用于设定调整后的当前帧的量化参数与第一量化参数的差距。
在第一量化参数调整参数和第二量化参数调整参数不满足第一预设条件时,可以根据当前帧的前一帧的量化参数或预设参量,调整第一量化参数,并将当前帧的量化参数调整为经调整的第一量化参数,使得调整后的当前帧的量化参数与前一帧的量化参数或第一量化参数的差距不会过大。例如,利用预设参量增加或减少该第一量化参数,或者利用前一帧的量化参数与该第一量化参数进行平均或加权和等运算。
可选地,如图6所示,步骤S1416包括:
S31:判断第一量化参数调整参数和第二量化参数调整参数是否满足第二预设条件。
该第二预设条件可以为如下条件:|overflow[i-1]-1|>|overflow[i]-1|+η且|overflow[i]-1|<2ξ。其中,当前帧为第i帧,overflow[i]为第一量化参数调整参数,overflow[i-1]为当前帧之前的第i-1帧的第二量化参数调整参数,ξ为预先设定的第一阈值参数,η为预设的第二阈值参数,且η<ξ;例如,ξ=0.5,η=0.002。
若第一量化参数调整参数和第二量化参数调整参数满足上述第二预设条件,则执行步骤S32,否则,执行步骤S33。
S32:计算第一量化参数和前一已编码的视频帧的量化参数的平均值,并将第一量化参数调整为该平均值。
具体地,若第一量化参数调整参数和第二量化参数调整参数满足上述第二预设条件,则可以利用如下公式(4)计算得到调整后第一量化参数:
QPrefine=(QPLSTM+QPprev)/2 (4)
其中,QPrefine为调整后的第一量化参数,QPLSTM为未调整前的第一量化参数,QPprev为前一已编码的视频帧的量化参数。
S33:判断第一量化参数调整参数和第二量化参数调整参数是否满足第三预设条件。
其中,该第三预设条件为|overflow[i-1]-1|<|overflow[i]-1|。
若第一量化参数调整参数和所述第二量化参数调整参数不满足第三预设条件,则执行步骤S34,否则执行步骤S35。
S34:将当前帧的量化参数调整为第一量化参数。
当第一量化参数调整参数和第二量化参数调整参数不满足第三预设条件时,不对该第一量化参数做调整,可以直接将当前帧的量化参数调整为该第一量化参数。
S35:判断第一量化参数调整参数是否大于1。
若该第一量化参数调整参数大于1,则执行步骤S36,否则执行步骤S37。
S36:将第一量化参数增加预设参量。
S37:将第一量化参数减少预设参量。
其中,该预设参量的取值根据第一量化参数的调整幅度确定,例如取0.5。该调整幅度还可以与前一视频帧的量化参数相关,即根据前一视频帧的量化参数设定该预设参量,从而可以使得相邻两帧的量化参数差距不会过大。
S1417:输出调整后的当前帧的量化参数。
当根据目标码率与实际编码码率之间的关系,对当前帧的量化参数进行调整后,输出的调整后的当前帧的量化参数,其可以使得当前帧以及后续帧的实际编码码率更接近目标码率,有助于提高编码效果。
可选地,在输出该当前帧的量化参数前,还可以限定当前帧的量化参数的范围,以使得当前帧的量化参数与前一已编码帧的量化参数差距不会过大。具体如图7所示,步骤S1417之前,还包括:
S41:判断调整后的当前帧的量化参数是否小于第一阈值。
若调整后的当前帧的量化参数小于第一阈值,则执行如下步骤S42,否则执行步骤S43。
S42:将调整后的当前帧的量化参数更改为第一阈值。
S43:判断调整后的当前帧的量化参数是否大于第二阈值。
若调整后的当前帧的量化参数大于第二阈值,则执行如下步骤S44,否则执行步骤S1417。
S44:将调整后的当前帧的量化参数更改为第二阈值。
其中,该第一阈值和第二阈值是预先设定的调整后的当前帧的量化参数的取值范围边界值,该第一阈值限定了最小边界值,第二阈值限定了最大边界值。该第一阈值和第二阈值的中点可以设置为前一已编码帧的量化参数。例如,该第一阈值设置为QPprev-2,第二阈值设置为QPprev+2,其中QPprev为前一已编码帧的量化参数。
具体地,在获取调整后的当前帧的量化参数后,将该量化参数与第一阈值和第二阈值进行比较,若该量化参数小于第一阈值,则将其调整为第一阈值,若该量化参数大于第二阈值,则将其调整为第二阈值,若该量化参数既不小于第一阈值,也不大于第二阈值,即该量化参数在第一阈值和第二阈值范围内,则不调整该量化参数,直接输出该量化参数,从而可以使得输出的当前帧的量化参数不超出第一阈值和第二阈值设定的范围内,进而使得该当前帧的量化参数与前一已编码帧的量化参数差距不会过大,有助于平滑整体量化参数,使得实际编码码率更接近目标码率。
S142:利用调整后的当前帧的量化参数对当前帧进行编码。
具体地,在获取调整后的当前帧的量化参数后,利用该调整后的当前帧的量化参数对当前帧进行编码,即可以得到编码后的视频码流及相关编码信息。由于该当前帧的量化参数是根据目标码率进行调整,利用该调整后的当前帧的量化参数进行编码,可以使得当前帧以及后续帧的实际编码码率更接近目标码率,有助于提高编码效果。
如图8所示,本申请一种视频帧编码方法第三实施例是在本申请一种视频帧编码方法第二实施例的基础上,进一步限定步骤S13包括:
S131:获取量化参数预测网络的时间步长T。
本实施例中,该量化参数预测网络以图2所示的LSTM网络为例进行说明。该LSTM网络中,
Figure BDA0002029589870000101
代表输入特征向量,T为用于LSTM训练时所设计的时间步长,L为特征向量的维度。在网络结构中,LSTM框代表着一个LSTM单元,每个输入样本之间在LSTM单元都会经由时间序连接,接着再经由一层或多层的全连接层(即图2中的FC框),输出网络的神经元。输出阶段,输出的神经元<QP1,QP2,...,QPT>将会与设定好的参考标签,组成损失函数,进行反向传播和训练。
S132:以当前帧为最后一帧,按时间顺序获取当前帧之前已编码的T-1帧视频帧的多种帧信息,其中若已编码视频帧的帧数小于T-1,则按时间顺序获取当前帧之前所有已编码视频帧的多种帧信息。
S133:将获取的每个视频帧的多种帧信息作为一个特征向量,以当前帧的多种帧信息为最后一个向量,按时间进行排序,以得到量化参数预测网络的多维输入特征向量组。
具体地,在已拥有训练好的LSTM网络模型,且已进行了当前帧的输入特征分析得到当前帧的多种帧信息后,则可以采用一个“滑窗”的机制获取当前帧之前已编码的T-1帧视频帧的多种帧信息,进行后续QP预测。
其中,如图9所示,对于当前第T帧的码率控制时,通过输入特征分析收集到当前帧的输入特征向量
Figure BDA0002029589870000111
以及已经编码的前T-1帧所收集到的输入特征向量,共同组成输入多维特征向量组
Figure BDA0002029589870000112
每个输入特征向量中均具有L个帧信息。对于第T+1帧的编码时,在输入特征分析阶段,则以一个“先进先出”的方式收集输入特征向量
Figure BDA0002029589870000113
若当前帧为第n帧,其大小小于LSTM网络模型(RCLSTM)中所设定的T时间步长(即n<T),则仅选取前n帧,即当前帧的输入特征向量和之前已编码的n-1帧的输入特征向量一起,组成多维输入特征向量组
Figure BDA0002029589870000114
可选地,由于不同帧类型对应的量化参数预测需求不同,因此可以针对不同的帧类型训练不同的量化参数预测网络,以便更准确地预测量化参数。具体如图8所示,步骤S13还包括:
S134:选择当前帧的类型对应的量化参数预测网络。
其中,帧类型有I、P、B帧三种。在训练量化参数预测网络时,可以根据帧类型训练完成每种帧类型对应的预测网络。在对当前帧的量化参数进行预测前,需要先获取当前帧的类型,选择与该类型对应的量化参数预测网络,以便后续进行预测。
S135:向对应的量化参数预测网络输入该多维输入特征向量组,以得到对应的量化参数预测网络输出的预测量化参数。
具体地,在输出阶段,量化参数预测网络会输出多个量化参数,如图2中输出的量化参数序列<QP1,QP2,...,QPT>,此时可以选择该对应的量化参数预测网络输出的量化参数序列中最后一个量化参数(如图2中的QPT)作为当前帧的预测量化参数,从而能与当前第T帧对应,且最具LSTM网络时间上的相关性。若当前帧为第T+1帧,则在预测网络输出的量化参数序列<QP2,QP3,...QPT+1>中选取QPT+1作为第T+1帧的预测QP。
本实施例所构建的长短期网络模型,运算量较低,不会对编码器造成过大的运算负担,且结合视频内容的纹理特征信息,以及帧与帧之间时间上的相关性,能精确地预测量化参数QP,提升编码的性能。本实施例还可以与本申请一种视频帧编码方法第二实施例相结合。
为了验证本申请提出的视频帧编码方法的效果,下面采用H.264标准的开源编码器x264,进行本申请视频帧编码方法。
对于输入视频帧,仅考虑P帧的情况,量化参数预测网络采用离线训练的LSTM网络模型。在x264编码器进行编码之前,需训练一个LSTM网络模型,用于x264编码时的帧级平均码率控制,该LSTM网络模型如图10所示。
其中,LSTM网络模型的网络结构如下表一所示:
表一
层次 输入特征层 LSTM+ReLU FC+ReLU FC
神经元 6 128 128 1
大小 6×40 128×40 128×40 1×40
对于LSTM网络的结构参数,输入特征的维度为L=6,各输入特征的介绍在后续输入特征分析中。LSTM网络的时间步长T设为40。
训练时,采用欧式距离作为损失函数表示如下:
Figure BDA0002029589870000121
其中,N为训练的样本数;F3(hT)n为LSTM网络输出的预测值,即为图10中的QP,yT n为训练时的参考样本,这里选取视频序列通过x264编码中的ABR码控算法获取得到的QP。该LSTM网络用于x264上的码率控制过程,取代原来的x264的ABR码控算法。具体编码过程如下:
首先,视频编码帧的输入。在第一帧以固定QP进行I帧编码后,对于后续帧,判断视频帧的类型,帧类型为P帧,进行当前帧基于长短期记忆网络LSTM的码率控制过程。
其次,输入特征分析。此过程为获取LSTM输入特征向量组
Figure BDA0002029589870000131
的每个特征向量,其中特征向量xL代表着当前帧的纹理特征或码率信息,定义如下:
x1为当前帧除以分辨率的SATD,x2为上一已编码帧的MSE,x3为上一已编码帧的SSIM,x4为当前帧比特分配的像素深度,x5为上一帧的已编码比特的像素深度,x6为上一已编码帧的量化参数QP。
在上述定义的输入特征中,x1,x2,x3,x5,x6均可在x264编码过程中获取计算得到,而对于输入特征x4(Palloc)的获取计算过程如下:
Figure BDA0002029589870000132
其中,Btotal,Bwanted分别表示为已编码帧总的比特数,已编码帧以目标码率计算得出的总的比特数。Rtarget为所设定好的目标码率。Pcoded和Icoded分别表示过去已编码的P帧和I帧的总的编码比特数。
于是,对于当前帧的输入特征可完全获取得到。为进行LSTM网络的预测QP,根据时间步长T=40的前40帧输入特征向量组成的输入特征向量组
Figure BDA0002029589870000133
作为LSTM网络模型的输入。
再次,预测当前帧QP。在得到输入特征向量后,LSTM网络的前向过程可以表示如下:
第一层为LSTM单元层,其输出神经元hT计算如下:
Figure BDA0002029589870000134
Figure BDA0002029589870000135
Figure BDA0002029589870000136
Figure BDA0002029589870000137
cT=iT⊙gT+fT⊙cT-1
hT=oT⊙tanh(cT)
其中,iT,fT,和oT为LSTM单元层的输入门、遗忘门和输出门,Wi,Wf,和Wo以及bi,bf,bo分别为上述三个门的权重参数以及偏置项,σ为Sigmoid激活函数,gT和cT为计算输出hT的中间参量,Wc和bc分别为gT的权重参数以及偏置项,⊙为逐元素乘积运算。输出的hT,再以激活函数ReLU得到当前LSTM单元层的最终输出:
F1(hT)=max(0,hT)
第二层和第三次均是全连接层(Fully connected,FC):
F2(hT)=max(0,W2·F1(hT)+b2)
F3(hT)=W3·F2(hT)+b3
其中,W2和W3以及b2和b3为两个全连接层的神经元权重及偏置项,F2(hT)为第二层FC的输出,F3(hT)为第三层FC的输出。
最终,输出的F3(hT)即为预测的QP,而因时间步长为40,故选取最后一个作为当前帧的预测QP:
QP=F3(h40)
其中,选取预测QP采用“滑窗”机制,其可以参考本申请一种视频帧编码方法第三实施例中的描述。
最后,对LSTM网络模型预测出来的QP,使用本申请视频帧编码方法第二实施例中的调整过程,再度调整QP的值,使其预测当前帧的QP更能拟合目标码率。
表二为采用HEVC标准的测试序列集(HM Test Sequence)作为输入视频帧,分别利用本申请的视频帧编码方法(Proposed method)以及x264的ABR码控算法进行编码后的编码效果比较表。其中,相对于采用ABR码控算法,采用本申请的视频帧编码方法,BD-rate的测量指标平均有1.2%的降低(越低越好),BRAC码率的匹配准确率高至98.90%(越高越好)。
表二
Figure BDA0002029589870000141
表三为采用监控视频序列集(Surveillance Test Sequence)作为输入视频帧,分别利用本申请的视频帧编码方法(Proposed method)以及x264的ABR码控算法进行编码后的编码效果比较表。其中,相对于采用ABR码控算法,采用本申请的视频帧编码方法,BD-rate的测量指标平均有1.0%的降低,BRAC码率的匹配准确率高至99.70%。
表三
Figure BDA0002029589870000151
由上述表二和表三的比较结果可知,无论是针对HEVC标准的测试序列集还是监控视频序列集,采用本申请的视频帧编码方法的码率控制性能明显好于采用x264的ABR码控算法。由此可知,本申请提出的视频帧编码方法能够提升码率控制性能,能够提高编码效果。
如图11所示,本申请一种视频帧编码设备一实施例中,视频帧编码设备80包括:相互连接的通信电路801和处理器802。
该通信电路801用于接收视频帧。
处理器802还可以称为CPU(Central Processing Unit,中央处理单元)。处理器802可能是一种集成电路芯片,具有信号的处理能力。处理器802还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该处理器802用于执行指令以实现如本申请视频帧编码方法第一至第三任一实施例或其不冲突的组合所提供的视频帧编码方法。
该视频帧编码设备80可以是视频帧编码器,也可以是具有视频编码功能的设备,例如相机、手机、平板、服务器、台式计算机等。
该视频编码设备80还可以包括存储器803和显示器804等部件,该存储器803可以存储处理器执行所需的指令、视频帧数据等。
本实施例中,视频帧编码设备的处理器采用预先训练好的量化参数预测网络预测当前帧的量化参数时,输入特征考虑了帧时间序上的相关性,从而使得预测得到的量化参数较为精准,能够提高码率的匹配正确率,进而提高码流控制的性能。
如图12所示,本申请一种具有存储功能的装置一实施例中,具有存储功能的装置90内部存储有程序指令901,该程序指令901用于执行以实现如本申请视频帧编码方法第一至第三任一实施例或其不冲突的组合所提供的视频帧编码方法。
该存储设备90为U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等可以存储程序指令的介质,或者也可以为存储有该程序指令的服务器,该服务器可将存储的程序指令发送给其他设备运行,或者也可以自运行该存储的程序指令。
在一实施例中,存储设备90可以是如图11所示的存储器。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (18)

1.一种视频帧编码方法,其特征在于,包括:
获取当前帧,所述当前帧为非首帧视频帧;
对所述当前帧进行预处理,以得到所述当前帧的多种帧信息;
获取所述当前帧之前已编码的视频帧的所述多种帧信息;将获取的每个视频帧的所述多种帧信息作为一个特征向量,并按时间顺序进行排序,以得到多维输入特征向量组;
将所述多维输入特征向量组输入量化参数预测网络,以预测得到所述当前帧的量化参数,其中所述量化参数预测网络是预先训练好的神经网络;
利用所述当前帧的量化参数对所述当前帧进行编码,以得到相应的视频码流。
2.根据权利要求1所述的方法,其特征在于,所述利用所述当前帧的量化参数对所述当前帧进行编码包括:
对所述当前帧的量化参数进行调整,以使得所述当前帧的编码码率接近目标码率;
利用调整后的所述当前帧的量化参数对所述当前帧进行编码。
3.根据权利要求1所述的方法,其特征在于,所述对所述当前帧进行预处理,以得到所述当前帧的多种帧信息包括:
对所述当前帧进行预分析,获取所述当前帧的纹理特征、码率信息和帧的属性;
其中,所述帧的属性包括所述当前帧的类型,每一种帧信息作为一维所述输入特征。
4.根据权利要求3所述的方法,其特征在于,所述获取所述当前帧之前已编码的视频帧的所述多种帧信息;将获取的每个视频帧的所述多种帧信息作为一个特征向量,并按时间顺序进行排序,以得到多维输入特征向量组包括:
获取所述量化参数预测网络的时间步长T;
以所述当前帧为最后一帧,按时间顺序获取所述当前帧之前已编码的T-1帧视频帧的所述多种帧信息,其中若所述已编码视频帧的帧数小于T-1,则按时间顺序获取所述当前帧之前所有已编码视频帧的所述多种帧信息;
将获取的每个视频帧的所述多种帧信息作为一个特征向量,以所述当前帧的多种帧信息为最后一个向量,按时间进行排序,以得到所述量化参数预测网络的多维输入特征向量组。
5.根据权利要求4所述的方法,其特征在于,所述将所述多维输入特征向量组输入量化参数预测网络,以预测得到所述当前帧的量化参数包括:
选择所述当前帧的类型对应的量化参数预测网络;
向所述对应的量化参数预测网络输入所述多维输入特征向量组,以得到所述对应的量化参数预测网络输出的预测量化参数。
6.根据权利要求5所述的方法,其特征在于,所述向所述对应的量化参数预测网络输入所述多维输入特征向量组,以得到所述对应的量化参数预测网络输出的预测量化参数包括:
选择所述对应的量化参数预测网络输出的量化参数序列中最后一个量化参数作为所述当前帧的预测量化参数。
7.根据权利要求2所述的方法,其特征在于,所述对所述当前帧的量化参数进行调整,以使得所述当前帧的编码码率接近目标码率包括:
获取所述当前帧的第一量化参数调整参数;
利用所述第一量化参数调整参数作为权重对所述当前帧的量化参数进行调整,以得到第一量化参数;
获取所述当前帧之前的部分已编码视频帧的第二量化参数调整参数;
判断所述第一量化参数调整参数和所述第二量化参数调整参数是否满足第一预设条件;
若所述第一量化参数调整参数和所述第二量化参数调整参数满足第一预设条件,则将所述当前帧的量化参数调整为所述第一量化参数;
否则,根据所述当前帧的前一帧的量化参数或预设参量,调整所述第一量化参数,并将所述当前帧的量化参数调整为经调整的所述第一量化参数;
输出调整后的所述当前帧的量化参数。
8.根据权利要求7所述的方法,其特征在于,所述获取所述当前帧的第一量化参数调整参数包括:
获取已编码视频帧的实际总比特数,已编码视频帧以目标码率计算得出的目标总比特数,目标比特率,当前编码的帧数以及帧率;
利用如下公式计算所述第一量化参数调整参数:
Figure FDA0002977284010000031
其中,overflow[i]为所述当前帧的第一量化参数调整参数,Btotal为所述已编码视频帧的实际总比特数,Bwanted为所述已编码视频帧以目标码率计算得出的目标总比特数,Rtarget为所述目标比特率,i为所述当前编码的帧数,fps为所述帧率。
9.根据权利要求8所述的方法,其特征在于,所述第一预设条件为|overflow[i-2]-1|>|overflow[i-1]-1|且|overflow[i-1]-1|>|overflow[i]-1|,同时|overflow[i]-1|<;
其中,overflow[i-2]和overflow[i-1]分别为所述当前帧之前的第i-2帧和第i-1帧的所述第二量化参数调整参数,ξ为预先设定的第一阈值参数。
10.根据权利要求8所述的方法,其特征在于,所述根据所述当前帧的前一帧的量化参数或预设参量,调整所述第一量化参数包括:
判断所述第一量化参数调整参数和所述第二量化参数调整参数是否满足第二预设条件;
若满足,则计算所述第一量化参数和前一已编码的视频帧的量化参数的平均值,并将所述第一量化参数调整为所述平均值;
否则,判断所述第一量化参数调整参数和所述第二量化参数调整参数是否满足第三预设条件,且所述第一量化参数调整参数是否大于1;
若所述第一量化参数调整参数和所述第二量化参数调整参数满足第三预设条件,且所述第一量化参数调整参数大于1,则将所述第一量化参数增加所述预设参量;
若所述第一量化参数调整参数和所述第二量化参数调整参数满足第三预设条件,且所述第一量化参数调整参数不大于1,则将所述第一量化参数减少所述预设参量。
11.根据权利要求10所述的方法,其特征在于,所述第二预设条件为|overflow[i-1]-1|>|overflow[i]-1|+η且|overflow[i]-1|<2ξ,其中,overflow[i-1]为所述当前帧之前的第i-1帧的所述第二量化参数调整参数,ξ为预先设定的第一阈值参数,η为预设的第二阈值参数,且η<ξ;
所述第三预设条件为|overflow[i-1]-1|<|overflow[i]-1|。
12.根据权利要求7所述的方法,其特征在于,所述利用所述第一量化参数调整参数作为权重对所述当前帧的量化参数进行调整,以得到第一量化参数包括:
利用量化参数和拉格朗日常量的关系式,计算得到所述当前帧的量化参数对应的第一拉格朗日常量;
以所述第一量化参数调整参数作为权重,与所述第一拉格朗日常量相乘,得到调整后的第二拉格朗日常量;
以所述第二拉格朗日常量为参数,利用所述量化参数和拉格朗日常量的关系式,计算得到所述第一量化参数。
13.根据权利要求7所述的方法,其特征在于,所述输出调整后的所述当前帧的量化参数之前,还包括:
判断调整后的所述当前帧的量化参数是否小于第一阈值;
若所述调整后的所述当前帧的量化参数小于所述第一阈值,则将所述调整后的所述当前帧的量化参数更改为所述第一阈值;
若所述调整后的所述当前帧的量化参数不小于所述第一阈值,则判断所述调整后的所述当前帧的量化参数是否大于第二阈值;
若所述调整后的所述当前帧的量化参数大于所述第二阈值,则将所述调整后的所述当前帧的量化参数更改为所述第二阈值。
14.根据权利要求1所述的方法,其特征在于,所述获取当前帧之前,包括:
接收首帧视频帧;
获取预设量化参数;
利用所述预设量化参数对所述首帧视频帧进行编码,以得到所述首帧视频帧编码后的视频码流。
15.根据权利要求1所述的方法,其特征在于,所述量化参数预测网络为长短期记忆网络。
16.根据权利要求15所述的方法,其特征在于,所述长短期记忆网络包括输入特征层、长短期记忆层和至少一个全连接层,所述长短期记忆层包括多个长短期记忆单元,每个输入样本之间在所述长短期记忆单元会经由时间序连接。
17.一种视频帧编码设备,其特征在于,包括:相互连接的通信电路和处理器;
所述通信电路用于接收视频帧;
所述处理器用于执行指令以实现如权利要求1-16任一项所述的视频帧编码方法。
18.一种具有存储功能的装置,内部存储有程序指令,其特征在于,所述程序指令用于执行以实现如权利要求1-16任一项所述的视频帧编码方法。
CN201910305228.4A 2019-04-16 2019-04-16 视频帧编码方法、视频帧编码设备及具有存储功能的装置 Active CN110198444B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910305228.4A CN110198444B (zh) 2019-04-16 2019-04-16 视频帧编码方法、视频帧编码设备及具有存储功能的装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910305228.4A CN110198444B (zh) 2019-04-16 2019-04-16 视频帧编码方法、视频帧编码设备及具有存储功能的装置

Publications (2)

Publication Number Publication Date
CN110198444A CN110198444A (zh) 2019-09-03
CN110198444B true CN110198444B (zh) 2021-07-09

Family

ID=67751984

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910305228.4A Active CN110198444B (zh) 2019-04-16 2019-04-16 视频帧编码方法、视频帧编码设备及具有存储功能的装置

Country Status (1)

Country Link
CN (1) CN110198444B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110365981B (zh) * 2019-07-10 2021-12-24 中移(杭州)信息技术有限公司 一种视频编码方法、装置、电子设备及存储介质
CN110913220A (zh) * 2019-11-29 2020-03-24 合肥图鸭信息科技有限公司 一种视频帧编码方法、装置及终端设备
CN111008701A (zh) * 2019-12-03 2020-04-14 杭州嘉楠耘智信息科技有限公司 一种基于神经网络的数据量化方法、装置及计算机可读存储介质
CN111107440B (zh) * 2019-12-26 2022-02-25 腾讯科技(深圳)有限公司 视频传输控制方法及装置、设备、存储介质
CN113132723B (zh) * 2019-12-31 2023-11-14 武汉Tcl集团工业研究院有限公司 一种图像压缩方法及装置
CN111083494A (zh) * 2019-12-31 2020-04-28 合肥图鸭信息科技有限公司 一种视频编码方法、装置及终端设备
CN111314698A (zh) * 2020-02-27 2020-06-19 浙江大华技术股份有限公司 一种图像编码处理方法及装置
CN112165620A (zh) * 2020-09-24 2021-01-01 北京金山云网络技术有限公司 视频的编码方法及装置、存储介质、电子设备
CN114374841A (zh) * 2021-12-15 2022-04-19 杭州未名信科科技有限公司 视频编码码率控制的优化方法、装置及电子设备
CN115002512B (zh) * 2022-05-23 2023-11-28 北京市商汤科技开发有限公司 视频转码方法及装置、电子设备和存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100581262C (zh) * 2008-05-23 2010-01-13 清华大学 基于ρ域的视频编码码率控制方法
JP6149707B2 (ja) * 2013-11-25 2017-06-21 富士通株式会社 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、及び動画像撮影装置
CN104683804B (zh) * 2015-02-14 2017-12-29 北京航空航天大学 基于视频内容特征的参数自适应多维码率控制方法
US10499056B2 (en) * 2016-03-09 2019-12-03 Sony Corporation System and method for video processing based on quantization parameter
CN108124155B (zh) * 2016-11-30 2021-02-05 阿里巴巴集团控股有限公司 一种码率控制方法、装置及电子设备

Also Published As

Publication number Publication date
CN110198444A (zh) 2019-09-03

Similar Documents

Publication Publication Date Title
CN110198444B (zh) 视频帧编码方法、视频帧编码设备及具有存储功能的装置
Xu et al. Reducing complexity of HEVC: A deep learning approach
CN110139109B (zh) 图像的编码方法及相应终端
KR100953152B1 (ko) 비디오 인코더에서 매크로블록 양자화 파라미터들을선택하기 위한 방법 및 장치
US8787454B1 (en) Method and apparatus for data compression using content-based features
Ma et al. Reduced-reference image quality assessment in reorganized DCT domain
US9615101B2 (en) Method and apparatus for signal encoding producing encoded signals of high fidelity at minimal sizes
US11335034B2 (en) Systems and methods for image compression at multiple, different bitrates
CN101395671A (zh) 用于提供内容自适应码率控制的视频编码系统和方法
JPH05276501A (ja) 可変長の適応映像圧縮方法及び装置
US11496769B2 (en) Neural network based image set compression
KR20220007853A (ko) 신경망의 매개변수를 압축하기 위한 방법 및 장치
CN113132723A (zh) 一种图像压缩方法及装置
CN103501438A (zh) 一种基于主成分分析的内容自适应图像压缩方法
Bhat et al. A case study of machine learning classifiers for real-time adaptive resolution prediction in video coding
CN115767098A (zh) 面向机器视觉的端-边协同视频编码方法及视频传输系统
CN115941943A (zh) 一种hevc视频编码方法
US20180338151A1 (en) Optimal signal encoding based on experimental data
Zvezdakov et al. Machine-Learning-Based Method for Content-Adaptive Video Encoding
Zemliachenko et al. Compression ratio prediction in lossy compression of noisy images
Nasiri et al. Ensemble learning for efficient vvc bitrate ladder prediction
WO2023118317A1 (en) Method and data processing system for lossy image or video encoding, transmission and decoding
Jenab et al. Content-adaptive resolution control to improve video coding efficiency
JP2002369198A (ja) 符号化選択装置および符号化装置ならびにその方法
Coban et al. Adaptive subband video coding using bivariate generalized Gaussian distribution model

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