CN114071142B - 一种基于硬件编码器的码率控制方法及设备 - Google Patents
一种基于硬件编码器的码率控制方法及设备 Download PDFInfo
- Publication number
- CN114071142B CN114071142B CN202111217988.3A CN202111217988A CN114071142B CN 114071142 B CN114071142 B CN 114071142B CN 202111217988 A CN202111217988 A CN 202111217988A CN 114071142 B CN114071142 B CN 114071142B
- Authority
- CN
- China
- Prior art keywords
- video
- sliding window
- encoder
- frame
- code rate
- 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 37
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
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
-
- 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/136—Incoming video signal characteristics or properties
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种基于硬件编码器的码率控制方法及设备。基于硬件编码器的码率控制方法包括:第一编码器基于第一QP对待编码视频进行编码,以获得若干第一编码信息;在获得N个第一编码信息后,第二编码器基于第二QP对待编码视频进行编码,以获得若干第二编码信息;第二QP可变,下一第二QP根据当前第二QP所对应的第二编码信息,以及第一编码器与第二编码器之间对应的若干第一编码信息计算获得。采用本发明,通过设置第一编码器在第二编码器前若干帧进行编码,基于第一编码器与第二编码器编码生成的编码信息计算获得变化的第二QP可以在视频编码中实现实时的码率控制。
Description
技术领域
本发明涉及视频编码领域,尤其涉及一种基于硬件编码器的码率控制方法及设备。
背景技术
当今社会是一个高度数字化的社会,视频编码技术已被广泛应用到很多领域,例如有线电视、数字广播、视频会议等。在应用过程中,必须使计算机的数据处理与视频信息的处理以及网络的传输相配合,而且要保证视听质量达到人们的可接受范围。为了节约传输带宽以及存储空间,视频编码技术一直是科学研究所关注的重点。在带宽、延时、缓存等的限制下获得更好的图像质量,在码率下高效地传输编码数据,同时保证良好和稳定的质量,码率控制是视频编码的关键技术。
通常在视频编码过程中,硬件编码器的码率控制算法隐藏在编码器内部,它只向外部用户提供有限的编码信息。如果编码过程中码率控制效果达不到用户的需要,用户很难对码率控制器进行调节。在没有码率控制的情况下,我们只能根据给定的QP(Quantizationparameter,量化参数)来进行编码,这就会使每一单位时间所产生的比特数随着视频内容的变化会有很大的不同,不能够适应通信信道的带宽,导致解码后的视频质量不稳定。
发明内容
本发明提供一种基于硬件编码器的码率控制方法及设备,用以至少解决现有的视频编码技术中无法对对码率进行实时控制问题。
根据本发明第一方面实施例中的基于硬件编码器的码率控制方法,包括:
第一编码器基于第一QP对待编码视频进行编码,以获得若干第一编码信息;
在获得N个所述第一编码信息后,第二编码器基于第二QP对所述待编码视频进行编码,以获得若干第二编码信息;
所述第二QP可变,下一第二QP根据当前第二QP所对应的第二编码信息,以及所述第一编码器与所述第二编码器之间对应的若干第一编码信息计算获得。
根据本发明的一些实施例,所述方法还包括:
将所述待编码视频划分为若干长度相同的视频片段,所述视频片段长度大于等于N且大于等于视频I帧更新周期的长度。
根据本发明的一些实施例,所述方法还包括:
设置滑动窗口,所述第一编码器与所述第二编码器位于所述滑动窗口内,所述滑动窗口起始长度等于所述视频片段的长度,所述滑动窗口的起始点与所述第二编码器的位置保持一致,所述滑动窗口的末尾点在第一编码器编码至两个所述视频片段分界点时自动延伸至两个所述视频片段中后一个视频片段的末尾。
根据本发明的一些实施例,基于所述滑动窗口内的若干第一编码信息,计算所述滑动窗口内的待编码视频中各类型帧的帧数与各类型帧大小的平均值;
基于所述各类型帧的帧数与所述各类型帧大小的平均值,计算所述滑动窗口内的待编码视频的比特使用数量;
基于所述滑动窗口内的第二编码信息与预设用户编码参数,计算所述滑动窗口内的待编码视频的可用比特数量;
基于所述比特使用数量与所述可用比特数量,对所述第一QP进行调整,以获得所述下一第二QP。
根据本发明的一些实施例,在获得所述下一第二QP后,还包括:
基于已编码视频缓存,对所述下一第二QP进行调整,并根据所述调整结果,对所述滑动窗口内待编码视频的可用比特数量进行补偿。
根据本发明的一些实施例,所述基于所述滑动窗口内的第二编码信息与预设用户编码参数,计算所述滑动窗口内的待编码视频的可用比特数量,包括:
基于所述滑动窗口内的第二编码信息与预设用户编码参数,结合所述补偿,计算所述滑动窗口内的待编码视频的可用比特数量。
根据本发明的一些实施例,所述方法还包括:下一第二QP使所述编码窗口内的待编码视频的比特使用数量与所述可用比特数量的差值小于比特阈值。
根据本发明的一些实施例,所述第二QP大于最小QP阈值且小于最大QP阈值。
根据本发明第二实施例中的基于硬件编码器的码率控制设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面实施例中任一项所述的基于硬件编码器的码率控制方法的步骤。
根据本发明第三方面实施例中的计算机可读存储介质,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如第一方面实施例中任一项所述的基于硬件编码器的码率控制方法的步骤。
采用本发明的技术方案,设置第一编码器在第二编码器前若干帧进行编码,基于第一编码器与第二编码器编码生成的编码信息计算获得变化的第二QP可以在视频编码中实现实时的码率控制。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。在附图中:
图1是本发明实施例中码率控制的方法流程图;
图2是本发明实施例中码率控制的原理图;
图3是本发明实施例中码率控制的原理图;
图4是本发明实施例中滑动窗口的初始长度示意图;
图5是本发明实施例中滑动窗口在第一编码器编码至视频片段终点的长度示意图;
图6是本发明实施例中复杂度计算的原理流程图;
图7是本发明实施例中计算滑动窗口内视频的比特使用数量原理图;
图8是本发明实施例中计算滑动窗口内可用比特数量原理图;
图9是本发明实施例中码率量化模型调整QP的原理图;
图10是本发明实施例中QP调整计算器对QP修正的原理图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
参考图1、图2,本发明实施例提出一种基于硬件编码器的码率控制方法,包括:
S1,使用基于第一QP的第一编码器接收待编码视频缩小的源图像(帧)进行编码,获得若干第一编码信息。
S2,在获取N个第一编码信息后,第二编码器基于第二QP对待编码视频进行编码,获得若干第二编码信息。第二编码器对待编码视频进行编码时采用的第二QP是变化的(例如,可以是逐帧变化的),第二编码器对下一个基本编码单元进行编码时所用的下一第二QP,是根据当前第二QP所对应的第二编码信息,以及所述第一编码器与所述第二编码器之间对应的若干第一编码信息计算获得。例如,所述若干第一编码信息可以是第一编码器提前对待编码视频编码所获得的最新N帧的编码信息。
编码信息至少包含所编码帧的大小及类型。
N可以根据实际编码情况进行设置,例如,如实际编码场景需要的实时性较高,则可以将N设置为较小的数值。
在第二编码器开始对待编码视频进行编码后,第一编码器与第二编码器的间距保持不变,后续两个编码器同步对待编码视频进行编码。
第二编码器最初编码时采用的初始第二QP与第一QP可以相同,也可以不同。
基本编码单元可以根据实际情况进行设置,例如,以帧为基本编码单元的单位;或者以宏块为基本编码单元的单位。
最后保存并输出第二编码器所产生的的编码结果。
采用本实施例的技术方案,设置第一编码器在第二编码器前若干帧进行编码,基于第一编码器与第二编码器编码生成的编码信息计算获得变化的第二QP可以在视频编码中实现实时的码率控制。而且也可以避免采用双编码方式对视频进行编码时,需要依次顺序执行两遍视频编码,第一遍运行并保存统计数据,第二遍运行以生成最终编码结果,需要单独完整的执行两次视频编码,运行时间成本较高,无法在实时性要求高的情况下使用的问题,降低了时间成本。
在上述实施例的基础上,进一步提出各变型实施例,在此需要说明的是,为了使描述简要,在各变型实施例中仅描述与上述实施例的不同之处。
根据本发明的一些实施例,还包括:将所述待编码视频划分为若干长度相同的视频片段,所述视频片段长度大于等于视频I帧更新周期的长度,也大于第一编码器获取N个第一编码信息所对应的视频长度。
根据本发明的一些实施例,参考图4,设置滑动窗口,所述第一编码器与所述第二编码器位于所述滑动窗口的长度范围内,所述滑动窗口起始长度等于所述视频片段的长度,参考图5,所述滑动窗口的起始点与所述第二编码器的位置始终保持一致,所述滑动窗口的初始起始位置与待编码视频的第一个视频片段的起点重合。所述滑动窗口的末尾点在第一编码器编码至两个所述视频片段分界点时自动延伸至两个所述视频片段中后一个视频片段的末尾。
将待编码视频分为若干大于等于视频I帧更新周期的长度的片段,可以利用视频片段或滑动窗口内的视频信息更加精准的计算出编码时适用于第二编码器的第二QP,进一步提高视频编码质量。
根据本发明的一些实施例,基于硬件编码器的码率控制方法,包括:
参考图3,基于所述滑动窗口内的若干第一编码信息,即基于第一编码器对待编码视频提前编码获得的最新N帧的信息计算滑动窗口内的待编码视频的复杂度,在计算复杂度的过程中可以获得所述滑动窗口内的待编码视频中各类型帧的帧数与各类型帧大小的平均值。
参考图6,在第一编码器对视频编码生成的I帧、B帧、P帧等各类型帧的数量及大小等信息后,第二编码器将第一编码器对待编码视频最新编码生成的N帧的相关编码信息存储在循环缓冲区中,可以根据实际的编码情况对N的数值进行设置,例如N=30。并与存储的数据一起计算每种类型帧的平均帧大小,这些不同类型帧大小的平均值就可以估算第一编码器编码的这段视频的复杂度,进而随着编码的进行,可以进一步对滑动窗口内的视频复杂度进行计算。
比特使用数量取决于滑动窗口内视频内容的复杂程度,对与简单的视频内容,比特使用量较低,对于复杂的内容,比特使用量较高。
参考图7,基于所述各类型帧的帧数与所述各类型帧大小的平均值,计算所述滑动窗口内的待编码视频的比特使用数量。计算公式如下所示:
Predicted Bit of Active Window for base QP
=(Number of I in ActiveWindow)*(Average I)+(Number of P inActiveWindow)*(Average P)+(Number of B in Active Window)*(Average B),
其中,Number of I in Active Window表示滑动窗口内I帧的数量,Number of Pin ActiveWindow表示滑动窗口内P帧的数量,Number of B in Active Window表示滑动窗口内B帧的数量,Average I表示I帧的平均值,AverageP表示P帧的平均值,Average B表示B帧的平均值,baseQP表示第一QP。
基于所述滑动窗口内的第二编码信息与预设用户编码参数,计算所述滑动窗口内的待编码视频的可用比特数量。
基于所述比特使用数量与所述可用比特数量,对所述第一QP进行调整,以获得所述下一第二QP。例如,参考图9,在码率量化模型中,基于实际编码场景,判断计算的滑动窗口内视频的比特使用数量与滑动窗口内视频的可用比特数量是否接近,若接近,则将此时的第一QP输出为下一第二QP作为第二编码器对下一个基本编码单元进行编码时所使用的QP。若不接近,调整第一QP,使其滑动窗口内的比特使用数量发生改变,并重新计算所述滑动窗口内视频的比特使用数量,使所述编码窗口内视频的比特使用数量与所述编码窗口内视频的可用比特数量的差值小于比特阈值,输出调整后的第一QP作为第二编码器对下一个基本编码单元进行编码时所使用的QP。
在调整QP时,可以设计比特率转换模型来执行不同QP与比特率的转换,例如,通过采用QP迭代的方式,设置QP的增加或减少1时,比特量减少或者增加12%。
根据本发明的一些实施例,在获得下一第二QP后,还包括:基于已编码视频缓存,对所述下一第二QP进行调整,并根据所述调整结果,对所述滑动窗口内待编码视频的可用比特数量进行补偿。例如,参考图10,虚拟缓冲区模型基于已编码视频缓存对QP调整计算器发出针对下一未来QP的修改指令使之进行调整,并根据所述调整计算对所述滑动窗口内视频的可用比特数量的补偿,所述补偿依据如下公式计算获得:
bitError=bitTranslate(curPktSize,baseQP,nextQP)-bitTranslate(curPktSize,baseQP,nexClippedQP);
其中,bitTranslate表示将baseQP编码的大小转化为nextQP编码大小的函数,curPktSize表示对第一编码器与第二编码器之间帧编码后帧存储的大小,baseQP表示第一编码器编码时所用的QP即第一QP,nextQP表示基于滑动窗口内的比特使用数量与可以比特数量对QP进行调整后产生的下一第二QP,nexClippedQP表示经过已编码视频缓存调整后的下一第二QP。
虚拟缓冲区模型对QP的调整可以是根据已编码视频缓存缓冲区的填充程度发送调整QP的指令以对第二QP进行调整,避免缓冲区上溢超出缓冲区限制或者下溢缓冲区为空。
根据本发明的一些实施例,参考图8,所述基于所述滑动窗口内的第二编码信息与预设用户编码参数,计算所述滑动窗口内的待编码视频的可用比特数量,包括:基于所述滑动窗口内的第二编码信息与预设用户编码参数,结合所述补偿,计算所述滑动窗口内的待编码视频的可用比特数量。计算公式如下:
Available Bit Budget=
(Target Bitrate*Encoding Time Duration)-(Sum of generate frame size)+(Feedback bonus bits),
其中,Target Bitrate表示用户编码参数中的目标比特率信息,Encoding TimeDuration表示编码持续时间,Sum of generate frame size表示第一编码器生成的实际比特流,Feedback bonus bits表示补偿比特数量。
根据本发明的一些实施例,所述方法还包括:下一第二QP使所述编码窗口内的待编码视频的比特使用数量与所述可用比特数量的差值小于比特阈值。
根据本发明的一些实施例,所述第二QP大于最小QP阈值且小于最大QP阈值。最小QP阈值与最大QP阈值可以根据实际编码场景进行设置。
根据本发明的一些实施例,在编码过程中,变化的第二QP的变化也限制在一定范围以内。例如,第二QP的数值变化范围在正负4之间。
下面以一个具体的实施例详细描述基于硬件编码器的码率控制方法。值得理解的是,下述描述仅是示例性说明,而不是对本发明的具体限制。凡是采用本发明的相似结构及其相似变化,均应列入本发明的保护范围。
在本实施例中,对一段长度超过150帧的视频进行编码,视频的GOP大小为50帧,视频的起始帧为I帧,将视频以50帧为单位划分为若干个片段。设置滑动窗口,滑动窗口的初始长度也为50帧,滑动窗口的起始点为视频的起始位置,滑动窗口的末尾点为视频第一个片段的末尾点,滑动窗口的长度随着编码的进行而改变。编码器对视频进行编码时的编码顺序为IPBPBPBP…,进行编码时的基本编码单元以帧为单位。
第一编码器从视频第一个片段的起始帧I帧开始进行编码,并将第一编码信息中关于帧大小、帧类型的信息发送至第二编码器,当第一编码器编码至第30帧时,第二编码器开始对视频第一个片段的起始帧I帧进行编码,且此后第一编码器与第二编码器之间的距离一直保持为30帧,并同步对视频进行编码。
第二编码器将从第一编码器接收的最新编码的N帧的相关统计数据信息存储至循环缓冲区,并与存储的数据一起计算滑动窗口内视频的每种帧(I、P、B)的平均帧大小。
通过各类型帧的平均帧大小与各类型帧的数量计算滑动窗口内视频所需要的比特使用量,计算公式如下:
Predicted Bit of Active Window for base QP
=(Number of I in Active Window)*(Average I)+(Number of P in ActiveWindow)*(Average P)+(Number of B in Active Window)*(Average B)
其中,Number of I in Active Window表示滑动窗口内I帧的数量,Number of Pin Active Window表示滑动窗口内P帧的数量,Number of B in Active Window表示滑动窗口内B帧的数量,Average I表示I帧的平均值,AverageP表示P帧的平均值,Average B表示B帧的平均值,baseQP表示第一QP。
通过目标比特率和当前滑动窗口末位点所在帧的位置,可以计算出当前滑动窗口的比特预算,再减去已经使用的,得到可以使用的比特数量。
计算滑动窗口内视频的可用比特数量公式如下:
Available Bit Budget=
(Target Bitrate*Encoding Time Duration)-(Sum of generate frame size)+(Feedback bonus bits)
其中,Target Bitrate表示用户编码参数中的目标比特率信息,Encoding TimeDuration表示编码持续时间,Sum of generate frame size表示第一编码器生成的实际比特流,Feedback bonus bits表示补偿比特数量。
比较滑动窗口需要的比特数量与可用的比特数量,通过调整第一QP改变各类型帧的数量重新计算滑动窗口内的可用比特,使需要的比特量与可用的比特量足够接近直至差值在阈值范围内,将此时的第一QP作为第二编码器对下一帧编码时所用的下一第二QP。
在第二编码器采用下一第二QP对下一帧编码之前,利用虚拟缓冲区模型根据缓冲区的填充程度对下一第二QP进行调整,并将调整后的下一QP作为第二编码器对下一帧编码时所用的QP。此时调整QP会导致在滑动窗口内视频的可用比特数量需要校正,因此需要对其进行补偿,所补偿的比特数量依据如下公式计算获得:
bitError=bitTranslate(curPktSize,baseQP,nextQP)-bitTranslate(curPktSize,baseQP,nexClippedQP);
其中,bitTranslate表示将baseQP编码的大小转化为nextQP编码大小的函数,curPktSize表示对第一编码器与第二编码器之间帧编码后帧存储的大小,baseQP表示第一编码器编码时所用的QP即第一QP,nextQP表示基于滑动窗口内的比特使用数量与可以比特数量对QP进行调整后产生的下一第二QP,nexClippedQP表示经过已编码视频缓存调整后的下一第二QP。
第一编码器与第二编码器按照上述方法对视频进行编码,当第一编码器编码至第一个视频片段的末尾帧时,滑动窗口的末位点自动延长至第二个视频片段的末尾帧,后续第一编码器编码至第二个视频片段的末尾帧时,滑动窗口的末尾点自动延长至第三个视频片段的末尾帧,同理当第一编码器后续编码至其他视频片段的末尾帧时对滑动窗口同样如此操作,此滑窗工作模式直至视频编码结束。
最后,保存第二编码器输出的视频编码结果直至第二编码器对视频编码完毕。
采用本实施例中的技术方案,设置第一编码器在第二编码器前若干帧进行编码,基于第一编码器与第二编码器编码生成的编码信息计算获得逐帧变化的第二QP可以在视频编码中实现实时的码率控制,也避免了需要单独两次编码才能实现码率控制,降低了时间成本。第二编码器基于实时变化的第二QP对视频进行编码,提高了视频编码质量。并且可以根据调整两个编码器的间距调整各终端的视频延迟,给用户更好的使用体验。
根据本发明第二方面实施例中的基于硬件编码器的码率控制设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面实施例中任一项所述的基于硬件编码器的码率控制方法的步骤。
根据本发明第三方面实施例中的计算机可读存储介质,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如第一方面实施例中任一项所述的基于硬件编码器的码率控制方法的步骤。
需要说明的是,以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化,可以将各个实施例进行不同的自由组合。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
需要说明的是,在本说明书的描述中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
Claims (6)
1.一种基于硬件编码器的码率控制方法,其特征在于,包括:
第一编码器基于第一QP对待编码视频进行编码,以获得若干第一编码信息;所述若干第一编码信息是所述第一编码器提前对所述待编码视频编码所获得的最新N帧的编码信息;
在获得N个所述第一编码信息后,第二编码器基于第二QP对所述待编码视频进行编码,以获得若干第二编码信息;N为整数;
所述第二QP可变,下一个第二QP根据当前第二QP所对应的第二编码信息,以及所述第一编码器与所述第二编码器之间对应的若干第一编码信息计算获得;所述方法还包括:
将所述待编码视频划分为若干长度相同的视频片段,所述视频片段长度大于等于N且大于等于视频I帧更新周期的长度;
所述方法还包括:
设置滑动窗口,所述第一编码器与所述第二编码器位于所述滑动窗口内,所述滑动窗口起始长度等于所述视频片段的长度,所述滑动窗口的起始点与所述第二编码器的位置保持一致,所述滑动窗口的末尾点在第一编码器编码至两个视频片段分界点时自动延伸至两个所述视频片段中后一个视频片段的末尾;
基于所述滑动窗口内的若干第一编码信息,计算所述滑动窗口内的待编码视频中各类型帧的帧数与各类型帧大小的平均值;
基于所述各类型帧的帧数与所述各类型帧大小的平均值,计算所述滑动窗口内的待编码视频的比特使用数量;
基于所述滑动窗口内的第二编码信息与预设用户编码参数,计算所述滑动窗口内的待编码视频的可用比特数量;
基于所述比特使用数量与所述可用比特数量,对所述第一QP进行调整,以获得所述下一个第二QP;
所述方法还包括:下一个第二QP使所述滑动窗口内的待编码视频的比特使用数量与所述可用比特数量的差值小于比特阈值。
2.如权利要求1所述的基于硬件编码器的码率控制方法,其特征在于,在获得所述下一个第二QP后,还包括:
基于已编码视频缓存,对所述下一个第二QP进行调整,并根据调整结果,对所述滑动窗口内待编码视频的可用比特数量进行补偿。
3.如权利要求2所述的基于硬件编码器的码率控制方法,其特征在于,所述基于所述滑动窗口内的第二编码信息与预设用户编码参数,计算所述滑动窗口内的待编码视频的可用比特数量,包括:
基于所述滑动窗口内的第二编码信息与预设用户编码参数,结合所述补偿,计算所述滑动窗口内的待编码视频的可用比特数量。
4.如权利要求1所述的基于硬件编码器的码率控制方法,其特征在于,所述第二QP大于最小QP阈值且小于最大QP阈值。
5.一种基于硬件编码器的码率控制设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至4中任一项所述的基于硬件编码器的码率控制方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如权利要求1至4中任一项所述的基于硬件编码器的码率控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111217988.3A CN114071142B (zh) | 2021-10-20 | 2021-10-20 | 一种基于硬件编码器的码率控制方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111217988.3A CN114071142B (zh) | 2021-10-20 | 2021-10-20 | 一种基于硬件编码器的码率控制方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114071142A CN114071142A (zh) | 2022-02-18 |
CN114071142B true CN114071142B (zh) | 2024-06-11 |
Family
ID=80234935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111217988.3A Active CN114071142B (zh) | 2021-10-20 | 2021-10-20 | 一种基于硬件编码器的码率控制方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114071142B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116389763B (zh) * | 2023-06-05 | 2023-08-11 | 瀚博半导体(上海)有限公司 | 基于多种编码器的视频编码方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1738423A (zh) * | 2005-08-26 | 2006-02-22 | 华中科技大学 | 视频编码比特率的控制方法 |
CN101795415A (zh) * | 2010-04-22 | 2010-08-04 | 杭州华三通信技术有限公司 | 一种视频编码中的码率控制方法及其装置 |
CN104104951A (zh) * | 2014-07-30 | 2014-10-15 | 北京邮电大学 | Hevc中屏幕内容编码的码率控制方法 |
WO2020089701A1 (en) * | 2018-10-31 | 2020-05-07 | Ati Technologies Ulc | Efficient quantization parameter prediction method for low latency video coding |
WO2021130754A1 (en) * | 2019-12-23 | 2021-07-01 | Ariel Scientific Innovations Ltd. | Systems and methods of data compression |
-
2021
- 2021-10-20 CN CN202111217988.3A patent/CN114071142B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1738423A (zh) * | 2005-08-26 | 2006-02-22 | 华中科技大学 | 视频编码比特率的控制方法 |
CN101795415A (zh) * | 2010-04-22 | 2010-08-04 | 杭州华三通信技术有限公司 | 一种视频编码中的码率控制方法及其装置 |
CN104104951A (zh) * | 2014-07-30 | 2014-10-15 | 北京邮电大学 | Hevc中屏幕内容编码的码率控制方法 |
WO2020089701A1 (en) * | 2018-10-31 | 2020-05-07 | Ati Technologies Ulc | Efficient quantization parameter prediction method for low latency video coding |
WO2021130754A1 (en) * | 2019-12-23 | 2021-07-01 | Ariel Scientific Innovations Ltd. | Systems and methods of data compression |
Also Published As
Publication number | Publication date |
---|---|
CN114071142A (zh) | 2022-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4390112B2 (ja) | ビデオシーケンスのレートを制御する方法及び装置並びにビデオ符号化装置 | |
KR100484148B1 (ko) | 개선된 비트율 제어 방법과 그 장치 | |
US7773672B2 (en) | Scalable rate control system for a video encoder | |
US8077775B2 (en) | System and method of adaptive rate control for a video encoder | |
JP5351040B2 (ja) | 映像符号化規格に対応した映像レート制御の改善 | |
US20080151998A1 (en) | Method and Apparatus for Providing Rate Control for Panel-Based Real Time Video Encoder | |
US20070177665A1 (en) | Picture layer rate control for video encoding | |
JP2005065291A (ja) | ビデオエンコーダのエンコーディング率制御方法、ビデオデータの伝送方法、ビデオエンコーダのエンコーディング率制御器、及びビデオデータ伝送システム | |
WO2009035143A1 (ja) | 画像処理装置及び方法 | |
WO2009121234A1 (zh) | 一种视频压缩码率控制方法 | |
CN101795415A (zh) | 一种视频编码中的码率控制方法及其装置 | |
US5710595A (en) | Method and apparatus for controlling quantization and buffering for digital signal compression | |
CN114071142B (zh) | 一种基于硬件编码器的码率控制方法及设备 | |
WO2012079329A1 (zh) | 自适应解码复杂度的编码方法、编码端和编解码系统 | |
EP1157560B1 (en) | Bit rate control for video data compression | |
US20050036548A1 (en) | Method and apparatus for selection of bit budget adjustment in dual pass encoding | |
US6226326B1 (en) | Coding device and coding method | |
US8780977B2 (en) | Transcoder | |
KR100498332B1 (ko) | 비디오 트랜스코더의 적응적 비트율 제어장치 및 방법 | |
JP2004040811A (ja) | 動映像符号化のためのdct演算量調節方法及びその装置 | |
JP4104066B2 (ja) | ビデオ情報複数同時符号化装置 | |
US9426474B2 (en) | Transcoder | |
CN114513664B (zh) | 视频帧编码方法、装置、智能终端及计算机可读存储介质 | |
KR20010064266A (ko) | 공간예측 오차 모델을 이용한 동영상 부호화기의 율제어장치 및 방법 | |
WO2012069318A1 (en) | Bit rate regulation module and method for regulating bit rate |
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 |