CN114125443A - 视频码率控制方法、装置和电子设备 - Google Patents

视频码率控制方法、装置和电子设备 Download PDF

Info

Publication number
CN114125443A
CN114125443A CN202111376114.2A CN202111376114A CN114125443A CN 114125443 A CN114125443 A CN 114125443A CN 202111376114 A CN202111376114 A CN 202111376114A CN 114125443 A CN114125443 A CN 114125443A
Authority
CN
China
Prior art keywords
frame
frames
target
macro block
quantization parameter
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.)
Pending
Application number
CN202111376114.2A
Other languages
English (en)
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.)
Spreadtrum Communications Shanghai Co Ltd
Original Assignee
Spreadtrum Communications Shanghai 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 Spreadtrum Communications Shanghai Co Ltd filed Critical Spreadtrum Communications Shanghai Co Ltd
Priority to CN202111376114.2A priority Critical patent/CN114125443A/zh
Publication of CN114125443A publication Critical patent/CN114125443A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明实施例涉及互联网技术领域,尤其涉及一种视频码率控制方法、装置和电子设备。其中,上述视频码率控制方法包括:从已编码帧中确定与目标帧关联的m个关联帧;将所述m个关联帧的编码残差信息输入循环神经网络RNN预测模型,所述RNN预测模型根据所述m个关联帧的编码残差信息输出所述目标帧各宏块的量化参数偏移量;其中,所述量化参数偏移量用于所述目标帧的编码。本发明实施例中,通过RNN预测模型,有效实现码率控制对视频的压缩。

Description

视频码率控制方法、装置和电子设备
【技术领域】
本发明实施例涉及互联网技术领域,尤其涉及一种视频码率控制方法、装置和电子设备。
【背景技术】
在视频压缩过程中,需要通过调整视频帧每个宏块的量化参数来实现码率控制。而为获得更高的视频质量,则需要更优的码控算法。
但是,在视频压缩过程中,如果采用直接输入视频帧原始数据的方法来实现码率控制,则会严重增加带宽,增加延时。因此,如何实现码率控制对视频的压缩,成为亟待解决的问题。
【发明内容】
本发明实施例提供了一种视频码率控制方法、装置和电子设备。本发明实施例可以使用编码残差信息或除编码残差信息外的其他信息或多组信息组合形式来获取目标帧各宏块的量化参数或量化参数偏移量,只需更改循环神经网络(Recurrent NeuralNetwork,RNN)训练模型;同样可以使用目标帧已编码宏块编码信息预测目标帧目标宏块的量化参数或量化参数偏移量,只需更改RNN预测模型。通过循环神经网络RNN预测模型,有效实现码率控制对视频的压缩。
第一方面,本发明实施例提供一种视频码率控制方法,包括:
从已编码帧中确定与目标帧关联的m个关联帧;
将所述m个关联帧的编码残差信息输入循环神经网络RNN预测模型,所述RNN预测模型根据所述m个关联帧的编码残差信息输出所述目标帧各宏块的量化参数偏移量;
其中,所述量化参数偏移量用于所述目标帧的编码。
其中一种可能的实现方式中,从已编码帧中确定与目标帧关联的m个关联帧之前,所述方法还包括:
若当前第i帧图像为同一图像组GOP的前X个预测帧,则对所述第i帧图像进行编码,并保存所述第i帧图像的编码残差信息,所述X为预设已知值;
若当前第i帧图像为同一GOP的前X个预测帧之后的预测帧,则将第i帧图像或者将第i帧图像之后的第k未来帧确定为目标帧,所述i取值为1、2……Y,Y为GOP包含的图像帧个数,所述k取值为1、2……Y-1。
其中一种可能的实现方式中,若将第i帧图像确定为目标帧,则根据所述RNN预测模型得到所述目标帧各宏块的量化参数偏移量之后,所述方法还包括:
使用对所述目标帧各宏块的量化参数偏移量进行编码;
对所述m个关联帧的编码残差信息进行更新。
其中一种可能的实现方式中,若将第i帧图像之后的第k未来帧确定为目标帧,包括:
对所述第i帧图像进行编码,得到所述第i帧图像的编码残差信息;
从包含所述第i帧图像的已编码帧中确定与所述第k未来帧关联的m个关联帧;
所述RNN预测模型根据所述m个关联帧的编码残差信息得到所述第k未来帧的量化参数偏移量之后,所述方法还包括:当编码执行到所述未来帧时,使用所述未来帧的所述量化参数偏移量进行编码。
其中一种可能的实现方式中,将所述m个关联帧的编码残差信息输入循环神经网络RNN预测模型,包括:
确定所述目标帧中的目标宏块;
从所述m个关联帧中分别确定与所述目标宏块对应的关联宏块;
将所述关联宏块的编码残差信息输入所述RNN预测模型,所述RNN预测模型根据所述关联宏块的编码残差信息输出所述目标宏块的量化参数偏移量。
其中一种可能的实现方式中,从所述m个关联帧中分别确定与所述目标宏块对应的关联宏块,包括:
从所述m个关联帧中分别确定与所述目标宏块位置相同的对应宏块,或根据运动向量对应的位置确定相应宏块,以及各个关联帧中围绕选中宏块分布的相邻宏块;
根据所述m个关联帧中的所述选中宏块和相应的相邻宏块,确定所述目标宏块的关联宏块。
其中一种可能的实现方式中,从各个关联帧中确定围绕选中宏块分布的相邻宏块,包括:
围绕每个所述关联帧的边界设置有填充宏块,所述填充宏块的编码残差信息根据所述填充宏块相邻的边界宏块的编码残差信息确定;
当所述选中宏块为各个所述关联帧的边界宏块时,所述选中宏块的相邻宏块包括位置相邻的填充宏块。
其中一种可能的实现方式中,还包括:
确定训练数据集,所述训练数据集包括:若干图像帧的编码信息,每个图像帧的编码信息包括:编码残差信息和目标量化参数偏移量,其中,目标量化参数偏移量通过MB-tree算法确定;
利用所述训练数据集对RNN预测模型进行训练,以使所述RNN预测模型建立输入的多个图像帧的编码残差信息与输出的目标帧或未来帧的量化参数偏移量的预测规则。
第二方面,本发明实施例提供一种视频码率控制装置,包括:
确定模块,用于从已编码帧中确定与目标帧关联的m个关联帧;
输出模块,用于将所述m个关联帧的编码残差信息输入循环神经网络RNN预测模型,所述RNN预测模型根据所述m个关联帧的编码残差信息输出所述目标帧各宏块的量化参数偏移量。
其中一种可能的实现方式中,还包括:第一处理模块,所述第一处理模块用于若当前第i帧图像为同一图像组GOP的前X个预测帧,则对所述第i帧图像进行编码,并保存所述第i帧图像的编码残差信息,所述X为预设已知值;若当前第i帧图像为同一GOP的前X个预测帧之后的预测帧,则将第i帧图像或者将第i帧图像之后的第k未来帧确定为目标帧,所述i取值为1、2……Y,Y为GOP包含的图像帧个数,所述k取值为1、2……Y-1。
其中一种可能的实现方式中,还包括:第二处理模块,所述第二处理模块用于使用所述目标帧各宏块的量化参数偏移量进行编码;对所述m个关联帧的编码残差信息进行更新。
其中一种可能的实现方式中,所述第一处理模块,具体用于对所述第i帧图像进行编码,得到所述第i帧图像的编码残差信息;从包含所述第i帧图像的已编码帧中确定与所述第k未来帧关联的m个关联帧;所述RNN预测模型根据所述m个关联帧的编码残差信息得到所述第k未来帧的量化参数偏移量之后,还包括当编码执行到所述未来帧时,使用所述未来帧各宏块的所述量化参数偏移量进行编码。
其中一种可能的实现方式中,所述输出模块,具体用于确定所述目标帧中的目标宏块;从所述m个关联帧中分别确定与所述目标宏块对应的关联宏块;将所述关联宏块的编码残差信息输入所述RNN预测模型,所述RNN预测模型根据所述关联宏块的编码残差信息输出所述目标宏块的量化参数偏移量。
其中一种可能的实现方式中,所述输出模块,还具体用于从所述m个关联帧中分别确定与所述目标宏块位置相同的对应宏块,或根据运动向量对应的位置确定相应宏块,以及各个关联帧中围绕选中宏块分布的相邻宏块;根据所述m个关联帧中的所述选中宏块和相应的相邻宏块,确定所述目标宏块的关联宏块。
其中一种可能的实现方式,所述输出模块,还具体用于围绕每个所述关联帧的边界设置有填充宏块,所述填充宏块的编码残差信息根据所述填充宏块相邻的边界宏块的编码残差信息确定;当所述选中宏块为各个所述关联帧的边界宏块时,所述选中宏块的相邻宏块包括位置相邻的填充宏块。
其中一种可能的实现方式,还包括:预训练模块,用于确定训练数据集,所述训练数据集包括:若干图像帧的编码信息,每个图像帧的编码信息包括:编码残差信息和目标量化参数偏移量,其中,目标量化参数偏移量通过MB-tree算法确定;利用所述训练数据集对RNN预测模型进行训练,以使所述RNN预测模型建立输入的多个图像帧的编码残差信息与输出的目标帧或未来帧的量化参数偏移量的预测规则。
第三方面,本发明实施例提供一种电子设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面提供的方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面提供的方法。
应当理解的是,本说明书的第二~第四方面与本说明书的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种视频码率控制方法的流程图;
图2为本发明实施例提供的另一种视频码率控制方法的流程图;
图3(a)~(d)为本发明实施例提供的一种确定非图像边界处关联帧宏块编码残差信息的示意图;
图4(a)~(d)为本发明实施例提供的图像边界处确定关联帧宏块编码残差信息的示意图;
图5为本发明实施例提供的一种RNN预测模型的结构图;
图6为本发明实施例提供的一种RNN预测模型预训练的流程图;
图7为本发明实施例提供的一种预测量化参数偏移量的视频编码流程图;
图8为本发明实施例提供的另一种预测量化参数偏移量的视频编码流程图;
图9为本发明实施例提供的一种视频码率控制装置的结构示意图;
图10为本发明电子设备一个实施例的结构示意图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本说明书保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
图1为本发明实施例提供的一种视频码率控制方法的流程图,如图1所示,如图1所示,所述方法包括:
步骤101,从已编码帧中确定与目标帧关联的m个关联帧。
在一些实施例中,可以通过目标帧的量化参数偏移量对目标帧进行编码。首先应选取目标帧的不止一个关联帧,关联帧为已编码的视频帧。
步骤102,将所述m个关联帧的编码残差信息输入循环神经网络RNN预测模型,所述RNN预测模型根据所述m个关联帧的编码残差信息输出所述目标帧各宏块的量化参数偏移量。
在一些实施例中,可直接预测目标帧的量化参数偏移量,将整个关联帧的编码残差信息直接输入至RNN预测模型中即可获得整个目标帧的量化参数偏移量。还有一种,是预测目标帧的各个宏块的量化参数偏移量。首先确认目标帧中的每个宏块在每个关联帧中对应的对照宏块,再将关联帧中各对照宏块以及其参考宏块的编码残差信息输入RNN预测模型中,即可得出目标帧中每个宏块的量化参数偏移量。
在获取关联帧中各对照宏块以及其参考宏块的的编码残差信息时,需要执行如图2所示的方法,图2为本发明实施例提供的另一种视频码率控制方法的流程图,所述方法包括:
步骤201,确定所述目标帧中的目标宏块。
步骤202,从所述m个关联帧中分别确定与所述目标宏块对应的关联宏块。
步骤203,将所述关联宏块的编码残差信息输入所述RNN预测模型,所述RNN预测模型根据所述关联宏块的编码残差信息输出所述目标宏块的量化参数偏移量。
具体地,在确定与所述目标宏块对应的关联宏块时,应从所述m个关联帧中分别确定与所述目标宏块位置相同的对应宏块,或根据运动向量对应的位置确定相应宏块,以及各个关联帧中围绕相应选中宏块分布的相邻宏块;根据所述m个关联帧中的所述选中宏块和相应的相邻宏块,确定所述目标宏块的关联宏块。
如图3(a)~(d)所示,图3(a)~(d)为本发明实施例提供的一种确定非图像边界处关联帧宏块编码残差信息的示意图,图3(a)所示的为目标帧,确定目标帧中带有方格图案的宏块为目标宏块。图3(b)~图3(d)所示的为与目标帧相关的三个关联帧,三个关联帧中的带有方格图案的宏块为与目标宏块位置相同的对照宏块。图3(b)~图3(d)中的灰色宏块则为围绕对照宏块的相邻宏块。将图中的灰色相邻宏块与对照宏块组成的九宫格宏块确定为目标宏块的关联宏块,关联宏块的选取不限于九宫格形式,并将关联宏块的编码残差信息输入RNN预测模型,RNN预测模型的输出为目标宏块的量化参数偏移量。
具体地,从各个关联帧中确定围绕选中宏块分布的相邻宏块,包括:围绕每个所述关联帧的边界设置有填充宏块,所述填充宏块的编码残差信息根据所述填充宏块相邻的边界宏块的编码残差信息确定;当所述选中宏块为各个所述关联帧的边界宏块时,所述选中宏块的相邻宏块包括位置相邻的填充宏块。
如图4(a)~(d)所示,图4(a)~(d)为本发明实施例提供的图像边界处关联帧宏块获取编码残差信息的结构图。当目标帧中的目标宏块为图4(a)所示的带有条纹图案的边界宏块时,应在如图4(b)~(d)中目标帧的关联帧边界填充围绕的虚线宏块,各虚线宏块的残差信息与其相邻的宏块的编码残差信息相同。除了图3、图4所述获取关联帧宏块编码残差信息,也可以采用运动向量(motion vector)对应的位置确定关联帧编码残差信息。确定了宏块的编码残差信息,即可通过各关联帧中条纹图案的宏块与围绕该宏块的虚线宏块的编码残差信息输入RNN预测模型,获取目标宏块的量化参数偏移量。其中,RNN预测模型的结构如图5所示,图5为本发明实施例提供的一种RNN预测模型的结构图。图5中首先输入关联帧中关联宏块的编码残差信息到RNN预测模型中,本图中输入与当前帧相关的关联帧的关联宏块的编码残差信息以图3所示为例。RNN预测模型对输入的三个关联帧的关联宏块的编码残差信息进行处理,再将输出数据通过全链接层(fully connected layers,FC)获得目标帧中目标宏块的量化参数偏移量QPoffset。
在一些实施例中,在使用RNN预测模型之前,需要先对RNN预测模型进行训练。具体实施方法如图6所示,图6为本发明实施例提供的一种RNN预测模型预训练的流程图。上述方法包括:
步骤301,确定训练数据集,所述训练数据集包括:若干图像帧的编码信息,每个图像帧的编码信息包括:编码残差信息和目标量化参数偏移量,其中,目标量化参数偏移量通过MB-tree算法确定。
步骤302,利用所述训练数据集对RNN预测模型进行训练,以使所述RNN预测模型建立输入的多个图像帧的编码残差信息与输出的目标帧或未来帧的量化参数偏移量的预测规则。
对RNN预测模型进行训练时,应先通过宏块树(Macroblock-tree,Mb-tree)算法跟踪未来帧宏块对当前帧宏块的依赖程度propagate_cost,预处理未来帧获得未来帧的各宏块的编码残差信息,再根据相应公式计算当前帧对应宏块的量化参数偏移量。首先,根据未来宏块的变量intra_cost、inter_cost和propagate_in。通过1-inter_cost/int_cost得出propagate_fraction,propagate_fraction为未来宏块依赖目标帧宏块的信息分数。然后,通过(intra_cost+propagate_in)*propagate_fraction得出目标宏块传播到未来帧的信息量propagate_amount,将propagate_amount分配到目标帧的相应宏块中以及添加到相应宏块的propagate_cost中。最后,输出目标宏块的量化参数偏移量。
计算量化参数偏移量的公式如下:
-strength*log2(1+propagate_cost/intra_cost)=QPoffset
其中,strength为经验因素,QPoffset为量化参数偏移量。
在获得量化参数偏移量之后,即可将量化参数偏移量作为RNN预测模型的训练目标以对模型进行训练。首先从目标帧之前的已编码帧中选取关联帧,关联帧可以为与目标帧相邻的三个视频帧。RNN预测模型的训练过程也可如图5所示,在图5中首先输入三个关联帧的编码残差信息到RNN预测模型中,并采用反向传播算法计算与量化参数偏移量的误差函数,网络参数经过多次迭代进行调整更新,直至误差函数达到合理范围。当调整好RNN预测模型的网络参数后,就可得到训练好的RNN预测模型,并即可将模型应用到对视频帧各宏块量化参数偏移量的预测中。
在从已编码帧中确定与目标帧关联的m个关联帧之前,还包括:若当前第i帧图像为同一图像组GOP的前X个预测帧,则对所述第i帧图像进行编码,并保存所述第i帧图像的编码残差信息,所述X为预设已知值。
上述使用RNN预测模型预测量化参数偏移量的方法可以应用在如图7所示的视频编码流程中,图7为本发明实施例提供的一种预测量化参数偏移量的视频编码流程图。图7所示流程为当目标帧为当前帧时预测当前帧的量化偏移参数的编码流程,在图7中,所述编码流程包括:
步骤01,开始编码第i帧。
对一个图像组(Group of Pictures,GOP)内的视频帧进行编码。
步骤02,判断是否关键帧I帧。
当判断第i帧为关键帧I帧时,进行步骤03;否则,进行步骤04。
步骤03,直接编码。
当判断第i帧为关键帧I帧时,对第i帧直接编码并进行步骤10。
步骤04,判断是否GOP内前三个P帧。
当判断第i帧不为关键帧I帧时,则当确定第i帧为GOP内的前3个预测帧P帧时,则进行步骤05;否则,进行步骤07。
步骤05,直接编码。
当判断第i帧为GOP内的前3个预测帧P帧时,例如P0、P1和P2时,则对第i帧直接编码并进行步骤06。
步骤06,保存该帧各宏块的编码残差信息。
此步骤用于可根据保存的关联帧的各宏块编码残差信息通过RNN预测模型预测目标帧的QPoffset。
步骤07,通过RNN获得当前帧各宏块QPoffset。
当判断第i帧不是GOP内的前3个预测帧P帧时,则选取已编码帧中的各个关联帧,并将各个关联帧的编码残差信息输入RNN预测模型获得当前帧各宏块的QPoffset。
步骤08,编码(QPoffset)。
通过RNN预测模型获得当前帧的QPoffset之后,将通过QPoffset对当前帧进行编码并进行步骤09。
步骤09,更新关联帧的各宏块编码残差信息。
此步骤的目的是在进行下一帧编码时,可以继续使用最新的编码残差信息。
步骤10,i++。
当步骤03、步骤06以及步骤09完成之后,均需要跳转到步骤10进行下一帧的编码。
还包括一种情况:若当前第i帧图像为同一GOP的前X个预测帧之后的预测帧,则将第i帧图像或者将第i帧图像之后的第k未来帧确定为目标帧,所述i取值为1、2……Y,Y为GOP包含的图像帧个数,所述k取值为1、2……Y-1。
具体地,若将第i帧图像之后的第k未来帧确定为目标帧,则:对所述第i帧图像进行编码,得到所述第i帧图像的编码残差信息;从包含所述第i帧图像的已编码帧中确定与所述第k未来帧关联的m个关联帧;所述RNN预测模型根据所述m个关联帧的编码残差信息得到所述第k未来帧的量化参数偏移量之后,所述方法还包括:当编码执行到所述未来帧时,使用所述未来帧的各宏块所述量化参数偏移量进行编码。
如图8所示,图8为本发明实施例提供的另一种预测量化参数偏移量的视频编码流程图。图8所示流程为预测未来帧的量化偏移参数的编码流程,上述编码流程包括:
步骤001,开始编码第i帧。
对一个GOP内的视频帧进行编码。
步骤002,判断是否关键帧I帧。
当判断第i帧为关键帧I帧时,进行步骤003;否则,进行步骤004。
步骤003,直接编码。
当判断第i帧为关键帧I帧时,对第i帧进行直接编码。
步骤004,判断是否GOP内前三个P帧。
当判断第i帧不为关键帧I帧时,则当确定第i帧为GOP内的前3个预测帧P帧时,则进行步骤005;否则,进行步骤007。
步骤005,直接编码。
当判断第i帧为GOP内的前3个预测帧P帧时,例如P0、P1和P2,则对第i帧直接编码并进行步骤006。
步骤006,保存该帧各宏块的编码残差信息。
此步骤用于可根据保存的关联帧的各宏块编码残差信息通过RNN预测模型预测目标帧的QPoffset。
步骤007,判断是否GOP内第四个P帧。
当判断第i帧为GOP内的第四个预测帧P帧时,则进行步骤008;否则,进行步骤012。
步骤008,直接编码。
当第i帧为GOP内的第四个预测帧P3,则需要先对该帧直接进行编码,并进行步骤009。
步骤009,通过RNN获得未来帧各宏块QPoffset。
选取前3个关联帧P0、P1和P2,并将3个关联帧的各宏块残差输入已训练好的RNN预测模型,通过RNN预测模型输出未来帧即第五个预测帧P4的各宏块QPoffset并进行步骤010。
步骤010,Last_Qpoffset=Qpoffset。
其中,Last_Qpoffset即为第五个预测帧P4的QPoffset,随后进行步骤011。
步骤011,更新关联帧的各宏块编码残差信息。
在获得Last_Qpoffset之后,同时自动更新关联帧P0、P1和P2的各宏块编码残差信息,更新各个关联帧的各宏块编码残差信息是为了下一帧使用最新的编码残差信息。
步骤012,编码(Last_Qpoffset)。
当判断第i帧不是GOP内的第四个预测帧P帧时,则例如第五个预测帧P4,则可通过之前获得的Last_Qpoffset进行编码并进入步骤013。
步骤013,通过RNN获得未来帧各宏块QPoffset。
选取关联帧P1、P2和P3,并将3个关联帧的各宏块编码残差信息输入RNN预测模型,获得第六个预测帧P5的QPoffset并进行步骤014。
步骤014,Last_qpoffset=QPoffset。
其中Last_qpoffset即为第六个预测帧P5的QPoffset,随后进行步骤015。
步骤015,更新关联帧的各宏块编码残差信息。
在获得Last_qpoffset之后,同时自动更新关联帧的P1、P2和P3的各宏块编码残差信息。
步骤016,i++。
当步骤003、步骤006、步骤011以及步骤015完成之后,均需要跳转到步骤10进行下一帧的编码。
图9为本发明实施例提供的一种视频码率控制装置的结构示意图,如图9所示,上述手势识别装置400可以包括:确定模块401和输出模块402。
确定模块401,用于从已编码帧中确定与目标帧关联的m个关联帧。
输出模块402,用于将所述m个关联帧的编码残差信息输入循环神经网络RNN预测模型,所述RNN预测模型根据所述m个关联帧的编码残差信息输出所述目标帧各宏块的量化参数偏移量。
在本发明上述实施例中,可选地,还包括:第一处理模块,所述第一处理模块用于若当前第i帧图像为同一图像组GOP的前X个预测帧,则对所述第i帧图像进行编码,并保存所述第i帧图像的编码残差信息,所述X为预设已知值;若当前第i帧图像为同一GOP的前X个预测帧之后的预测帧,则将第i帧图像或者将第i帧图像之后的第k未来帧确定为目标帧,所述i取值为1、2……Y,Y为GOP包含的图像帧个数,所述k取值为1、2……Y-1。
在本发明上述实施例中,可选地,还包括第二处理模块,所述第二处理模块用于使用所述目标帧各宏块的量化参数偏移量进行编码;对所述m个关联帧的编码残差信息进行更新。
在本发明上述实施例中,可选地,所述第一处理模块,具体用于对所述第i帧图像进行编码,得到所述第i帧图像的编码残差信息;从包含所述第i帧图像的已编码帧中确定与所述第k未来帧关联的m个关联帧;所述RNN预测模型根据所述m个关联帧的编码残差信息得到所述第k未来帧的量化参数偏移量之后,还包括当编码执行到所述未来帧时,使用所述未来帧的所述量化参数偏移量进行编码。
在本发明上述实施例中,可选地,所述输出模块,具体用于确定所述目标帧中的目标宏块;从所述m个关联帧中分别确定与所述目标宏块对应的关联宏块;将所述关联宏块的编码残差信息输入所述RNN预测模型,所述RNN预测模型根据所述关联宏块的编码残差信息输出所述目标宏块的量化参数偏移量。在本发明上述实施例中,可选地,所述提供模块,具体用于采用语音或者文字方式向向用户提供所述目标语言数据。
在本发明上述实施例中,可选地,所述输出模块,还具体用于从所述m个关联帧中分别确定与所述目标宏块位置相同的对应宏块,或根据运动向量(motion vector)对应的位置确定相应宏块,以及各个关联帧中围绕选中宏块分布的相邻宏块;根据所述m个关联帧中的所述选中宏块和相应的相邻宏块,确定所述目标宏块的关联宏块。
在本发明上述实施例中,可选地,所述输出模块,还具体用于围绕每个所述关联帧的边界设置有填充宏块,所述填充宏块的编码残差信息根据所述填充宏块相邻的边界宏块的编码残差信息确定;当所述选中宏块为各个所述关联帧的边界宏块时,所述选中宏块的相邻宏块包括位置相邻的填充宏块。
在本发明上述实施例中,可选地,还包括预训练模块,用于确定训练数据集,所述训练数据集包括:若干图像帧的编码信息,每个图像帧的编码信息包括:编码残差信息和目标量化参数偏移量,其中,目标量化参数偏移量通过MB-tree算法确;利用所述训练数据集对RNN预测模型进行训练,以使所述RNN预测模型建立输入的多个图像帧的编码残差信息与输出的目标帧或未来帧的量化参数偏移量的预测规则。
图10为本发明电子设备一个实施例的结构示意图。
如图10所示,上述电子设备可以包括至少一个处理器;以及与上述处理器通信连接的至少一个存储器,其中:存储器存储有可被处理器执行的程序指令,上述处理器调用上述程序指令能够执行本说明书图1、图2和图6所示实施例提供的视频码率控制方法。
其中,上述电子设备可以为能够与用户进行手势识别的设备,例如:云服务器,本说明书实施例对上述电子设备的具体形式不作限定。可以理解的是,这里的电子设备即为方法实施例中提到的机器。
图10示出了适于用来实现本发明实施方式的示例性电子设备的框图。图10显示的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:一个或者多个处理器410,存储器430,连接不同系统组件(包括存储器430和处理单元410)的通信总线440。
通信总线440表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
电子设备典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器430可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)和/或高速缓存存储器。电子设备可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。存储器430可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块的程序/实用工具,可以存储在存储器430中,这样的程序模块包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本发明所描述的实施例中的功能和/或方法。
处理器410通过运行存储在存储器430中的程序,从而执行各种功能应用以及数据处理,例如实现本发明图1、图2和图6所示实施例提供的视频码率控制方法。
本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行本说明书图1、图2和图6所示实施例提供的视频码率控制方法。
上述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ReadOnly Memory;以下简称:ROM)、可擦式可编程只读存储器(Erasable Programmable ReadOnly Memory;以下简称:EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本说明书操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network;以下简称:LAN)或广域网(Wide Area Network;以下简称:WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本说明书的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本说明书的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本说明书的实施例所属技术领域的技术人员所理解。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
需要说明的是,本说明书实施例中所涉及的终端可以包括但不限于个人计算机(Personal Computer;以下简称:PC)、个人数字助理(Personal Digital Assistant;以下简称:PDA)、无线手持设备、平板电脑(Tablet Computer)、手机、MP3播放器、MP4播放器等。
在本说明书所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本说明书各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本说明书各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory;以下简称:ROM)、随机存取存储器(Random Access Memory;以下简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

Claims (10)

1.一种视频码率控制方法,其特征在于,包括:
从已编码帧中确定与目标帧关联的m个关联帧;
将所述m个关联帧的编码残差信息输入循环神经网络RNN预测模型,所述RNN预测模型根据所述m个关联帧的编码残差信息输出所述目标帧各宏块的量化参数偏移量;
其中,所述量化参数偏移量用于所述目标帧的编码。
2.根据权利要求1所述的方法,其特征在于,从已编码帧中确定与目标帧关联的m个关联帧之前,所述方法还包括:
若当前第i帧图像为同一图像组GOP的前X个预测帧,则对所述第i帧图像进行编码,并保存所述第i帧图像的编码残差信息,所述X为预设已知值;
若当前第i帧图像为同一GOP的前X个预测帧之后的预测帧,则将第i帧图像或者将第i帧图像之后的第k未来帧确定为目标帧,所述i取值为1、2……Y,Y为GOP包含的图像帧个数,所述k取值为1、2……Y-1。
3.根据权利要求2所述的方法,其特征在于,若将第i帧图像确定为目标帧,则根据所述RNN预测模型得到所述目标帧各宏块的量化参数偏移量之后,所述方法还包括:
使用所述目标帧各宏块的量化参数偏移量进行编码;
对所述m个关联帧的编码残差信息进行更新。
4.根据权利要求2所述的方法,其特征在于,若将第i帧图像之后的第k未来帧确定为目标帧,则:
对所述第i帧图像进行编码,得到所述第i帧图像的编码残差信息;
从包含所述第i帧图像的已编码帧中确定与所述第k未来帧关联的m个关联帧;
所述RNN预测模型根据所述m个关联帧的编码残差信息得到所述第k未来帧的量化参数偏移量之后,所述方法还包括:当编码执行到所述未来帧时,使用所述未来帧的各宏块的所述量化参数偏移量进行编码。
5.根据权利要求1至4任一项所述的方法,其特征在于,将所述m个关联帧的编码残差信息输入循环神经网络RNN预测模型,包括:
确定所述目标帧中的目标宏块;
从所述m个关联帧中分别确定与所述目标宏块对应的关联宏块;
将所述关联宏块的编码残差信息输入所述RNN预测模型,所述RNN预测模型根据所述关联宏块的编码残差信息输出所述目标宏块的量化参数偏移量。
6.根据权利要求5所述的方法,其特征在于,从所述m个关联帧中分别确定与所述目标宏块对应的关联宏块,包括:
从所述m个关联帧中分别确定与所述目标宏块位置相同的对应宏块,或根据运动向量对应的位置确定相应宏块,以及各个关联帧中围绕选中宏块分布的相邻宏块;
根据所述m个关联帧中的所述选中宏块和相应的相邻宏块,确定所述目标宏块的关联宏块。
7.根据权利要求6所述的方法,其特征在于,从各个关联帧中确定围绕选中宏块分布的相邻宏块,包括:
围绕每个所述关联帧的边界设置有填充宏块,所述填充宏块的编码残差信息根据所述填充宏块相邻的边界宏块的编码残差信息确定;
当所述选中宏块为各个所述关联帧的边界宏块时,所述选中宏块的相邻宏块包括位置相邻的填充宏块。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定训练数据集,所述训练数据集包括:若干图像帧的编码信息,每个图像帧的编码信息包括:编码残差信息和目标量化参数偏移量,其中,目标量化参数偏移量通过MB-tree算法确定;
利用所述训练数据集对RNN预测模型进行训练,以使所述RNN预测模型建立输入的多个图像帧的编码残差信息与输出的目标帧或未来帧的量化参数偏移量的预测规则。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至8任一所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至8任一所述的方法。
CN202111376114.2A 2021-11-19 2021-11-19 视频码率控制方法、装置和电子设备 Pending CN114125443A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111376114.2A CN114125443A (zh) 2021-11-19 2021-11-19 视频码率控制方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111376114.2A CN114125443A (zh) 2021-11-19 2021-11-19 视频码率控制方法、装置和电子设备

Publications (1)

Publication Number Publication Date
CN114125443A true CN114125443A (zh) 2022-03-01

Family

ID=80397958

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111376114.2A Pending CN114125443A (zh) 2021-11-19 2021-11-19 视频码率控制方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN114125443A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115002512A (zh) * 2022-05-23 2022-09-02 北京市商汤科技开发有限公司 视频转码方法及装置、电子设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115002512A (zh) * 2022-05-23 2022-09-02 北京市商汤科技开发有限公司 视频转码方法及装置、电子设备和存储介质
CN115002512B (zh) * 2022-05-23 2023-11-28 北京市商汤科技开发有限公司 视频转码方法及装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
KR100809354B1 (ko) 복원된 프레임의 프레임율을 업컨버팅하는 장치 및 방법
CN106961603B (zh) 帧内编码帧码率分配方法和装置
US20150092856A1 (en) Exploiting Camera Depth Information for Video Encoding
CN113436620B (zh) 语音识别模型的训练方法、语音识别方法、装置、介质及设备
CN108989804B (zh) 图像的编码方法及装置
US20190327481A1 (en) Intra-prediction video coding method and device
CN110248189B (zh) 一种视频质量预测方法、装置、介质和电子设备
CN113362811B (zh) 语音识别模型的训练方法、语音识别方法和装置
CN113327599B (zh) 语音识别方法、装置、介质及电子设备
CN110198440A (zh) 编码预测信息的确定及视频编码的方法、装置
CN114125443A (zh) 视频码率控制方法、装置和电子设备
CN113225554B (zh) 一种基于神经网络的图像编解码方法、装置、存储介质及终端
CN110049333B (zh) 一种jpeg_ls图像压缩输出编码码流拼接系统及方法
CN114745552A (zh) 视频编解码方法、视频编解码器和电子设备
CN114710667A (zh) 针对h.266/vvc屏幕内容帧内cu划分的快速预测方法及装置
CN110781674A (zh) 一种信息处理方法、装置、计算机设备及存储介质
CN108234195B (zh) 预测网络性能的方法和装置、设备、介质
KR100377131B1 (ko) 동화상부호화장치
CN110060324B (zh) 图像渲染方法、装置及电子设备
CN115983349A (zh) 卷积神经网络的量化方法及装置、电子设备和存储介质
CN116528017A (zh) 数字人视频的生成方法、装置、电子设备和存储介质
CN116016934A (zh) 视频编码方法、装置、电子设备和计算机可读介质
CN106101731B (zh) 图像无损压缩方法及装置
CN115442617A (zh) 一种基于视频编码的视频处理方法和装置
CN115460419A (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