CN111294595B - 一种基于深度强化学习的视频编码帧内码率控制方法 - Google Patents
一种基于深度强化学习的视频编码帧内码率控制方法 Download PDFInfo
- Publication number
- CN111294595B CN111294595B CN202010080042.6A CN202010080042A CN111294595B CN 111294595 B CN111294595 B CN 111294595B CN 202010080042 A CN202010080042 A CN 202010080042A CN 111294595 B CN111294595 B CN 111294595B
- Authority
- CN
- China
- Prior art keywords
- network
- coding
- current
- frame
- ctu
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000002787 reinforcement Effects 0.000 title claims abstract description 25
- 238000012549 training Methods 0.000 claims abstract description 31
- 230000009471 action Effects 0.000 claims abstract description 28
- 230000008569 process Effects 0.000 claims abstract description 14
- 238000005457 optimization Methods 0.000 claims abstract description 10
- 238000013139 quantization Methods 0.000 claims description 74
- 238000013528 artificial neural network Methods 0.000 claims description 37
- 230000006870 function Effects 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000005284 excitation Effects 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 claims description 5
- 238000004519 manufacturing process Methods 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000013441 quality evaluation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/092—Reinforcement learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种基于深度强化学习的视频编码帧内码率控制方法,采用A3C算法,首先采用不同分辨率的视频进行编码并记录实际编码信息以制作离线训练数据集,然后定义行动网络和批评网络的结构和输入输出,再利用离线训练数据集训练定义好的网络,训练完成后将网络嵌入到HM编码软件中,当视频编码进行到帧内码率控制流程时,调用该网络预测得到当前CTU的QP并计算当前的拉格朗日优化因子,利用得到的QP和拉格朗日优化因子对当前CTU进行编码,实现帧内码率控制。本发明的方法相对于传统的帧内码率控制方法以及现有的基于深度强化学习的帧内码率控制方法,率失真性能都有一定的提升。
Description
技术领域
本发明涉及视频编码和深度学习的交叉领域,具体涉及一种基于深度强化学习的视频编码帧内码率控制方法。
背景技术
视频编码是一种视频压缩技术,能够利用视频信息的时域冗余和空域冗余对视频进行压缩,减小视频占用的存储空间和网络带宽。码率控制是视频编码中的一项关键技术,其目的是在保证视频压缩后所占用比特数一定的情况下使得视频的客观质量最优,客观质量评价指标主要是峰值信噪比(Peak signal-to-noise ratio,PSNR)。帧内预测是指当前视频帧在编码的过程中仅利用空间相关性去除空域冗余,而不利用视频的时域相关性。帧内码率控制是指对只进行帧内预测的视频帧进行码率控制。量化参数(QuantizationParameter,QP)是视频编码技术中的一个关键参数,直接决定视频编码单元的压缩程度,从而控制视频编码后的码率和视频质量。现有技术一般都是利用基于码率控制R-λ模型的传统迭代方法,以及深度强化学习等技术通过对视频编码过程中量化参数进行选择,实现码率控制。
例如微软亚洲研究院的李斌博士针对新一代视频编码标准H.265/HEVC提出了视频编码码率控制R-λ模型,该码率控制方法概括如下:首先是为编码单元进行目标比特分配,即根据视频内容、信道带宽和缓冲区状态为编码单元分配恰当的目标比特;然后利用R-λ模型为编码单元独立确定量化参数实现预分配的目标比特。在仅考虑帧内码率控制的目标比特分配过程中,根据视频编码的分级结构,将目标比特分配分为图像级和CTU(CodingTree Unit,编码树单元)级。图像级是指在视频编码一个视频序列过程中的一帧完整图像级别的编码单元,CTU级是对图像级编码单元进一步划分为64*64像素范围的编码单元。图像级的目标比特分配是根据剩余未编码图像的数量、编码复杂度和剩余目标比特的情况进行分配的。CTU级的目标比特分配是根据图像级的目标比特分配的,其方法与图像级目标比特分配方法类似,是根据当前编码图像中剩余未编码CTU的数量、编码复杂度和剩余目标比特的情况进行分配的。在计算量化参数的步骤中需要利用视频编码码率与失真度的关系。实验表明,双曲函数能够很好地反映H.265/HEVC视频编码码率(R)和失真度(D)的关系,如下:
D(R)=CR-K (1)
其中,C和K是与视频内容有关的参数。则,拉格朗日优化因子为
其中,α和β与视频内容有关;参数α和β对于不同CTU是不同的,需要根据已经编码好的CTU的实际码率进行更新。除此之外,实验结果表明量化参数(QP)和lnλ存在如下线性关系:
QP=4.2005lnλ+13.7122 (3)
可见,量化参数的确定可以分为两个步骤,首先是根据编码单元预分配目标比特数计算λ;然后是根据量化参数(QP)和λ之间的关系计算QP。在该方法中,利用目标码率分配和量化参数计算不断迭代的方法进行码率控制。
然而,使用上述以R-λ模型为基础通过参数迭代方法计算量化参数进行码率控制的技术,仍存在两个缺点:首先是双曲函数能够很好地反映H.265/HEVC视频编码码率(R)和失真度(D)关系的这一结论是根据实验数据测试得到的,并不能反映所有视频的特点,因此这一结论具有很强的局限性;其次是利用双曲函数得到拉格朗日优化因子λ的更新公式之后,利用参数α和β不断迭代更新得到每一个CTU的λ的过程中,参数α和β的更新仅利用已经完成编码的CTU的信息,而没有利用当前正要编码的CTU的信息,使得对于当前CTU估计的λ可能不准确,从而导致对于当前CTU估计的量化参数不是最优的,最终导致该码率控制方法的率失真性能较差。率失真性能是指视频编码在一定码率条件下,使得视频的失真度尽可能小。率失真性能主要用于衡量视频编码码率控制技术的好坏。
以上背景技术内容的公开仅用于辅助理解本发明的发明构思及技术方案,其并不必然属于本专利申请的现有技术,在没有明确的证据表明上述内容在本专利申请的申请日前已经公开的情况下,上述背景技术不应当用于评价本申请的新颖性和创造性。
发明内容
本发明的主要目的在于提出一种基于深度强化学习的视频编码帧内码率控制方法,解决传统的视频编码码率控制方法难以很好地利用实际编码过程中的编码信息进行量化参数选择从而导致率失真性能不够好的问题,以及,现有的深度强化学习帧内码率控制算法的率失真性能比传统方法更差的问题。
本发明为达上述目的而提出的技术方案如下:
一种基于深度强化学习的视频编码帧内码率控制方法,采用的深度强化学习算法为A3C算法,采用的神经网络为A3C网络,包含一行动网络和一批评网络;所述视频编码帧内码率控制方法包括如下步骤:
S1、建立训练神经网络所需的离线训练数据集:选取不同分辨率的视频,以固定量化参数的方式进行编码,记录实际编码信息,作为离线训练数据集;
S2、定义神经网络的网络结构及输入输出:定义神经网络的激励函数为率失真性能表达式D+λR,其中D为失真度,用峰值信噪比PSNR来表征;λ为拉格朗日优化因子;R为编码码率;行动网络的输入包括:当前CTU的前8个CTU的相对量化参数,当前编码帧中剩余的目标比特占比,当前编码帧平均每像素剩余目标比特,当前帧的量化参数与量化参数最大值的比值,所述前8个CTU的平均每像素编码复杂度,当前CTU的平均每像素编码复杂度,当前帧剩余编码复杂度与当前帧全部编码复杂度的比值,当前帧平均每像素剩余编码复杂度,当前帧剩余CTU数量与当前帧CTU总数量的比值,9个输入;其中量化参数和相对量化参数均为整数;行动网络的输出为当前CTU的相对量化参数,范围为-3~+3;批评网络的输入与行动网络的输入相同,批评网络的输出端连接于行动网络,其输出为一个用于评价行动网络输出动作好坏的值;
S3、利用所述离线训练数据集,训练步骤S2所定义的神经网络;
S4、将步骤S3训练好的神经网络嵌入HM编码软件中,当视频编码进行到帧内码率控制流程时,利用HM编码软件的目标比特分配方法为当前编码帧分配目标编码比特,然后计算所述神经网络预测CTU级别量化参数所需要的9个输入,并调用该神经网络,将当前计算得到的9个输入传入该神经网络中,经过行动网络前向计算,输出当前CTU的相对量化参数;接下来根据当前帧的图像级量化参数和当前CTU的相对量化参数计算得到当前CTU的实际量化参数,然后利用当前CTU的实际量化参数和λ的关系计算得到当前的λ,最后HM编码软件利用当前CTU的实际量化参数和当前的λ进行编码,实现帧内码率控制。
本发明上述技术方案与现有技术相比,具有如下的有益效果:
利用深度强化学习优异的感知和决策能力,摒弃传统方法利用特定数学公式模拟视频编码率失真模型的方法,充分利用实际视频编码的数据,引入多种传统方法中并未使用到的与码率控制量化参数选择相关的参数,包括当前CTU的编码复杂度、已编码相邻位置CTU的编码复杂度,共同参与到CTU量化参数的选择,从而使得码率控制中CTU级别的量化参数的选择更优,最终提升帧内码率控制的率失真性能,即在一定码率的条件下,基于深度强化学习的帧内码率控制算法比传统帧内码率控制算法的视频失真度更小。
附图说明
图1是本发明基于深度强化学习的视频编码帧内码率控制方法所采用的神经网络和输入输出结构图;
图2是图1中行动网络的网络结构示意图;
图3是嵌入了本发明的深度强化学习码率控制网络的HM编码系统框架示意图。
具体实施方式
下面结合附图和具体的实施方式对本发明作进一步说明。
本发明的具体实施方式提出一种深度强化学习的视频编码帧内码率控制方法,解决现有的基于深度强化学习的码率控制方法所存在的率失真性能差的问题。本发明的帧内码率控制方法所采用的深度强化学习算法为异步优势行动者-批评者算法即A3C算法(Asynchronous AdvantageActor-critic,A3C),所采用的神经网络即为该算法的网络,包含一行动网络和一批评网络。本发明的帧内码率控制方法主要包括如下步骤S1至S4:
S1、制作用于训练上述神经网络的离线训练数据集,具体方法是:选取5种常见分辨率的视频,包括416×240、832×480、1280×720、1920×1080、2560×1600,每种分辨率选取两个以上的视频,对所选取的视频以固定量化参数的方式进行编码,在神经网络训练时量化参数的取值范围15~47,由于量化参数为整数,因此每个视频都用这33个量化参数分别编码一次,即所选取的每个视频都编码33次。然后记录每个视频的实际编码信息,包括每一帧图像的目标编码比特、总编码复杂度和图像级量化参数,以及,每一个CTU在所有可取值的量化参数下的实际编码占用比特数、编码复杂度、实际失真度、CTU序号以及当前图像实际编码总比特数和总编码复杂度,构成所述离线训练数据集。应当理解的是,在本步骤中,不限于选取前述5种分辨率的视频,训练时量化参数的取值范围也不限于15~47。
S2、定义神经网络的网络结构及输入输出。如图1所示,本发明的网络结构主要包括一行动网络和一批评网络,行动网络的输入包括:当前CTU的前8个CTU的相对量化参数ΔQP,当前编码帧中剩余的目标比特占比,当前编码帧平均每像素剩余目标比特,当前帧的量化参数与量化参数最大值的比值,所述前8个CTU的平均每像素编码复杂度,当前CTU的平均每像素编码复杂度,当前帧剩余编码复杂度与当前帧全部编码复杂度的比值,当前帧平均每像素剩余编码复杂度,当前帧剩余CTU数量与当前帧CTU总数量的比值,9个输入。其中量化参数和相对量化参数均为整数,相对量化参数是指编码CTU实际的量化参数与编码帧初始化的量化参数(图像级量化参数)的差值。其行动网络的输出为当前CTU的相对量化参数,范围为-3~+3,也就是说当前CTU的实际量化参数是在图像级量化参数的基础上-3~+3之间。批评网络的输入与行动网络的输入相同,批评网络的输出端连接于行动网络,其输出为一个用于评价行动网络输出动作好坏的值。由于是深度强化学习,因此需要为本发明的神经网络定义一激励函数,本发明中激励函数定义为率失真性能表达式D+λR,其中D为失真度,用峰值信噪比PSNR来表征;λ为拉格朗日优化因子;R为编码码率。该激励函数用于评价神经网络选择动作的好坏,并能够通过长期累积奖励来评价一段时间内神经网络决策的好坏。
行动网络的网络结构如图2所示,图中箭头代表输入方向,从输入端到输出端,网络结构为:9个并列的全连接层,分别接收所述9个输入;9个并列的Relu层,分别串联于9个全连接层;一个并列连接层,同时与9个Relu层的输出端连接;以及,依次串联于所述并列连接层之后的一个全连接层、一个Relu层、一个全连接层、一个Relu层、一个softmax层。该行动网络首先通过一层128个节点的全连接层接收输入并使用后面串联的Relu层激活函数得到128维特征,即前述的“9个输入”并行进入9个全连接层、经过9个Relu层后得到对应的9个128维特征。再将9个128维特征通过并列连接层连接到一起,送入一层128个节点的全连接层1再接着使用一层Relu层1得到128维特征,然后使用一层与输出维度(输出维度为7,因为ΔQP的取值范围是{-3,-2,-1,0,1,2,3}共7个)相等的全连接层2、Relu层2,最终使用softmax激活函数,得到7维输出。批评网络的网络结构与行动网络的网络结构大体相同,即,将行动网络的最后一层(softmax层)改为linear层即为批评网络的结构,linear层是一个一维的全连接网络,激活函数为linear函数。因此批评网络的输入与行动网络相同,而输出只有一维,是一个用于评价行动网络输出动作好坏的值。
S3、利用前述步骤S1制作的离线训练数据集,来训练经过步骤S2定义的神经网络。具体的训练过程包括:
S31、首先从所述离线训练数据集中读取一帧图像的目标编码比特和总编码复杂度,以及图像级量化参数;
S32、然后神经网络从当前读取的图像帧的第9个CTU开始,根据当前编码CTU的前8个CTU的量化参数,从所述离线训练数据集中寻找并计算所述9个输入,作为当前时刻神经网络的输入,得到行动网络的输出(ΔQP)。所述9个输入分别是:利用当前CTU的前8个CTU的实际量化参数与图像级量化参数相减得到前8个CTU的相对量化参数;当前编码帧的目标比特减去所有已经编码的CTU实际的比特后除以当前编码帧的目标比特得到当前编码帧中剩余的目标比特占比;当前编码帧的目标比特减去已经编码的CTU实际的比特后除以当前编码帧的剩余未编码像素数得到当前编码帧平均每像素剩余目标比特;当前帧的量化参数与量化参数最大值(量化参数最大取值为51)的比值;所述前8个CTU的编码复杂度与像素数的比值得到前8个CTU的平均每像素编码复杂度;当前CTU的编码复杂度与像素数的比值得到当前CTU的平均每像素编码复杂度;当前帧的编码复杂度减去所有已经编码的CTU编码复杂度后除以当前编码帧的编码复杂度得到当前帧剩余编码复杂度与当前帧全部编码复杂度的比值;当前编码帧的编码复杂度减去已经编码的CTU的编码复杂度后除以当前编码帧的剩余未编码像素数得到当前帧平均每像素剩余编码复杂度;当前帧剩余CTU数量与当前帧CTU总数量的比值。根据此时行动网络的输出ΔQP即可计算当前编码CTU所选择的量化参数,以及此时的拉格朗日优化因子(利用公式(3)计算),并记录下来。再到下一个CTU,也是如此,根据其相邻的前8个CTU的量化参数,重复上述过程,以此类推,直至当前图像帧的所有CTU编码完成,此时利用激励函数的累积值计算梯度,进行反向传播,更新网络参数;
S33、进入下一帧图像,执行步骤S32,如此反复训练,直至网络收敛,完成所述深度强化学习网络的训练。
S4、将步骤S3训练好的神经网络嵌入HM编码软件比如H.265/HEVC的标准参考软件较新版本HM16.8中,当视频编码进行到帧内码率控制流程时,利用HM编码软件的目标比特分配方法为当前编码帧分配编码的目标比特,然后计算所述神经网络预测CTU级别量化参数所需要的9个输入,并调用该神经网络,将当前计算得到的9个输入传入该神经网络中,经过行动网络前向计算,输出当前CTU的相对量化参数;接下来根据当前帧的图像级量化参数和当前CTU的相对量化参数计算得到当前CTU的实际量化参数,然后利用当前CTU的实际量化参数和λ的关系计算得到当前的λ,最后HM编码软件利用当前CTU的实际量化参数和当前的λ进行编码,实现帧内码率控制。具体的框架和可视化流程参见图3。
经过上述流程之后,可以得到一个基于深度强化学习的视频编码帧内码率控制方法,能够充分利用已编码CTU的编码信息和当前编码CTU的编码信息,通过足够的数据量和复杂的非线性关系,为帧内CTU级别的码率控制选择更优的量化参数,从而提升视频编码帧内码率控制的率失真性能。
通过在新一代视频编码标准H.265/HEVC的标准参考软件较新版本HM16.8中嵌入本发明前述训练得到的基于深度强化学习的帧内码率控制神经网络,利用神经网络预测得到当前编码CTU的量化参数QP,从而进行码率控制。进一步提升了HM16.8帧内码率控制的率失真性能。
下表1展示了在视频编码标准测试集上的结果。BDBR和BDPSNR是比较不同码率控制算法率失真性能的评价指标,BDBR表示在相同PSNR下,两种算法对比平均码率的节省百分比;BDPSNR表示在相同码率下,两种算法对比平均PSNR的差异。
表1
由表1可知,本发明的方法比HM16.8的原有帧内码率控制算法在全部标准测试集上,在相同PSNR的情况下,平均节省1.79%的码率;在相同码率下,PSNR平均提升0.09dB。本发明改进了传统算法对实际编码帧内码率控制过程中CTU级别最优量化参数估计不准确的问题。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。
Claims (4)
1.一种基于深度强化学习的视频编码帧内码率控制方法,其特征在于,采用的深度强化学习算法为A3C算法,采用的神经网络为A3C网络,包含一行动网络和一批评网络;所述视频编码帧内码率控制方法包括如下步骤:
S1、建立训练神经网络所需的离线训练数据集:选取不同分辨率的视频,以固定量化参数的方式进行编码,记录实际编码信息,作为离线训练数据集;
S2、定义神经网络的网络结构及输入输出:
定义神经网络的激励函数为率失真性能表达式D+λR,其中D为失真度,用峰值信噪比PSNR来表征;λ为拉格朗日优化因子;R为编码码率;
行动网络的输入包括:9个输入,所述9个输入为:当前CTU的前8个CTU的相对量化参数,当前编码帧中剩余的目标比特占比,当前编码帧平均每像素剩余目标比特,当前帧的量化参数与量化参数最大值的比值,所述前8个CTU的平均每像素编码复杂度,当前CTU的平均每像素编码复杂度,当前帧剩余编码复杂度与当前帧全部编码复杂度的比值,当前帧平均每像素剩余编码复杂度,当前帧剩余CTU数量与当前帧CTU总数量的比值;其中量化参数和相对量化参数均为整数;
行动网络的输出为当前CTU的相对量化参数,范围为-3~+3;
批评网络的输入与行动网络的输入相同,批评网络的输出端连接于行动网络,其输出为一个用于评价行动网络输出动作好坏的值;
S3、利用所述离线训练数据集,训练经过步骤S2定义的神经网络;
S4、将步骤S3训练好的神经网络嵌入HM编码软件中,当视频编码进行到帧内码率控制流程时,利用HM编码软件的目标比特分配方法为当前编码帧分配目标编码比特,然后计算所述神经网络预测CTU级别量化参数所需要的9个输入,并调用该神经网络,将当前计算得到的9个输入传入该神经网络中,经过行动网络前向计算,输出当前CTU的相对量化参数;接下来根据当前帧的图像级量化参数和当前CTU的相对量化参数计算得到当前CTU的实际量化参数,然后利用当前CTU的实际量化参数和λ的关系计算得到当前的λ,最后HM编码软件利用当前CTU的实际量化参数和当前的λ进行编码,实现帧内码率控制。
2.如权利要求1所述的基于深度强化学习的视频编码帧内码率控制方法,其特征在于,步骤S1包括:
S11、选取多种不同分辨率的视频,每种分辨率选两个以上视频;
S12、对每个视频,用所有可取值的量化参数分别编码一次;其中,量化参数为整数,取值范围为15~47;
S13、记录每个视频的实际编码信息,包括每一帧图像的目标编码比特、总编码复杂度和图像级量化参数,以及,每一个CTU在所有可取值的量化参数下的实际编码占用比特数、编码复杂度、实际失真度、CTU序号以及当前图像实际编码总比特数和总编码复杂度,构成所述离线训练数据集。
3.如权利要求1所述的基于深度强化学习的视频编码帧内码率控制方法,其特征在于,所述行动网络从输入端到输出端包括:
9个并列的全连接层,分别接收所述9个输入;
9个并列的Relu层,分别串联于9个全连接层;
一个并列连接层,同时与9个Relu层的输出端连接;以及
依次串联于所述并列连接层之后的一个全连接层1、一个Relu层1、一个全连接层2、一个Relu层2、一个softmax层;
所述批评网络的网络结构与行动网络的网络结构仅最后一层不同,即行动网络的网络结构最后一层为softmax层,而批评网络的网络结构的最后一层为linear层。
4.如权利要求1所述的基于深度强化学习的视频编码帧内码率控制方法,其特征在于,步骤S3具体包括:
S31、从所述离线训练数据集中读取一帧图像的目标编码比特和总编码复杂度,以及图像级量化参数;
S32、所述神经网络从当前读取的图像帧的第9个CTU开始,根据当前编码CTU的前8个CTU的量化参数,从所述离线训练数据集中寻找并计算所述9个输入,作为当前时刻神经网络的输入,得到行动网络的输出,根据此时行动网络的输出计算当前编码CTU的量化参数和此时的拉格朗日优化因子,并记录下来,以此类推,直至当前图像帧编码完成,此时利用激励函数的累积值计算梯度,进行反向传播,更新网络参数;
S33、进入下一帧图像,执行步骤S32,如此反复训练,直至网络收敛,完成所述深度强化学习网络的训练。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010080042.6A CN111294595B (zh) | 2020-02-04 | 2020-02-04 | 一种基于深度强化学习的视频编码帧内码率控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010080042.6A CN111294595B (zh) | 2020-02-04 | 2020-02-04 | 一种基于深度强化学习的视频编码帧内码率控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111294595A CN111294595A (zh) | 2020-06-16 |
CN111294595B true CN111294595B (zh) | 2022-01-07 |
Family
ID=71026895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010080042.6A Active CN111294595B (zh) | 2020-02-04 | 2020-02-04 | 一种基于深度强化学习的视频编码帧内码率控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111294595B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114071164B (zh) * | 2020-08-06 | 2024-10-18 | 阿里巴巴集团控股有限公司 | 图像压缩模型的训练方法及装置、图像压缩方法及装置 |
CN112422965B (zh) * | 2020-11-16 | 2022-08-30 | 深圳市嬴圳科技有限公司 | 一种视频码率控制方法、装置、计算机设备及存储介质 |
CN112468808B (zh) * | 2020-11-26 | 2022-08-12 | 深圳大学 | 一种基于强化学习的i帧目标带宽分配方法及装置 |
CN112886039B (zh) * | 2021-01-11 | 2021-11-23 | 清华大学深圳国际研究生院 | 一种基于强化学习的压水堆堆芯自动控制方法 |
CN113128607B (zh) * | 2021-04-25 | 2023-10-10 | 思创数码科技股份有限公司 | 一种轨迹相似度计算方法 |
CN114025190B (zh) * | 2021-11-03 | 2023-06-20 | 北京达佳互联信息技术有限公司 | 多码率调度方法和多码率调度装置 |
CN116320529A (zh) * | 2021-12-10 | 2023-06-23 | 深圳市中兴微电子技术有限公司 | 视频码率控制方法及装置、计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107277520A (zh) * | 2017-07-11 | 2017-10-20 | 中国科学技术大学 | 帧内预测的码率控制方法 |
CN108063961A (zh) * | 2017-12-22 | 2018-05-22 | 北京联合网视文化传播有限公司 | 一种基于强化学习的自适应码率视频传输方法以及系统 |
CN109996071A (zh) * | 2019-03-27 | 2019-07-09 | 上海交通大学 | 基于深度学习的可变码率图像编码、解码系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11593632B2 (en) * | 2016-12-15 | 2023-02-28 | WaveOne Inc. | Deep learning based on image encoding and decoding |
-
2020
- 2020-02-04 CN CN202010080042.6A patent/CN111294595B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107277520A (zh) * | 2017-07-11 | 2017-10-20 | 中国科学技术大学 | 帧内预测的码率控制方法 |
CN108063961A (zh) * | 2017-12-22 | 2018-05-22 | 北京联合网视文化传播有限公司 | 一种基于强化学习的自适应码率视频传输方法以及系统 |
CN109996071A (zh) * | 2019-03-27 | 2019-07-09 | 上海交通大学 | 基于深度学习的可变码率图像编码、解码系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111294595A (zh) | 2020-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111294595B (zh) | 一种基于深度强化学习的视频编码帧内码率控制方法 | |
KR101103699B1 (ko) | 영상 부호화 방법 및 복호 방법, 그들의 장치, 그들의 프로그램 및 프로그램을 기록한 기록매체 | |
US6891889B2 (en) | Signal to noise ratio optimization for video compression bit-rate control | |
RU2408161C1 (ru) | Способ кодирования изображения/декодирования изображения, устройство кодирования изображения/декодирования изображения | |
CN104796705B (zh) | 一种基于ssim的hevc视频编码率失真优化与码率控制算法 | |
CN106791848B (zh) | 一种基于HEVC的Two-Pass码率控制方法 | |
CN107277520B (zh) | 帧内预测的码率控制方法 | |
CN111464815B (zh) | 一种基于神经网络的视频编码方法及系统 | |
KR20110010324A (ko) | 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치 | |
CN103634601B (zh) | 基于结构相似度的高效视频编码感知码率控制优化方法 | |
EP3328083A1 (en) | Method and apparatus for encoding a video applying adaptive quantisation | |
CN104320657A (zh) | Hevc无损视频编码的预测模式选择方法及相应的编码方法 | |
Pan et al. | Frame-level Bit Allocation Optimization Based on<? brk?> Video Content Characteristics for HEVC | |
CN107707918A (zh) | 基于hevc/h.265平均码率控制的优化算法 | |
JP2012505618A (ja) | 1つ以上の所定の予測因子の除外を伴う符号化及び復号 | |
CN108040256A (zh) | 一种基于h.265的码率控制方法、系统及装置 | |
TWI789581B (zh) | 用於視頻編碼器的強化學習方法 | |
CN100493191C (zh) | 具有低复杂度噪声消减的视频编码器及视频编码方法 | |
CN101335891A (zh) | 视频速率控制方法及视频速率控制器 | |
CN103391439B (zh) | 一种基于主动宏块隐藏的h.264/avc码率控制方法 | |
CN114915789A (zh) | 一种帧间的拉格朗日乘子优化方法、系统、设备及介质 | |
CN103634600A (zh) | 一种基于ssim评价的视频编码模式选择方法、系统 | |
CN109688411B (zh) | 一种视频编码率失真代价估计方法和装置 | |
CN110677644A (zh) | 一种视频编码、解码方法及视频编码帧内预测器 | |
De Silva et al. | Intra mode selection method for depth maps of 3D video based on rendering distortion modeling |
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 |