CN106657855A - 一种适用于无人机spi接口视频码率控制方法 - Google Patents
一种适用于无人机spi接口视频码率控制方法 Download PDFInfo
- Publication number
- CN106657855A CN106657855A CN201611163788.3A CN201611163788A CN106657855A CN 106657855 A CN106657855 A CN 106657855A CN 201611163788 A CN201611163788 A CN 201611163788A CN 106657855 A CN106657855 A CN 106657855A
- Authority
- CN
- China
- Prior art keywords
- frame
- gop
- current
- image
- buffer
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000005540 biological transmission Effects 0.000 claims abstract description 8
- 238000013139 quantization Methods 0.000 claims description 52
- 230000003068 static effect Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 14
- 230000006835 compression Effects 0.000 abstract description 4
- 238000007906 compression Methods 0.000 abstract description 4
- 230000002093 peripheral effect Effects 0.000 abstract description 3
- 230000003139 buffering effect Effects 0.000 abstract 3
- 238000011002 quantification Methods 0.000 abstract 1
- 238000004458 analytical method Methods 0.000 description 2
- NUHSROFQTUXZQQ-UHFFFAOYSA-N isopentenyl diphosphate Chemical compound CC(=C)CCO[P@](O)(=O)OP(O)(O)=O NUHSROFQTUXZQQ-UHFFFAOYSA-N 0.000 description 2
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/765—Interface circuits between an apparatus for recording and another apparatus
-
- 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/103—Selection of coding mode or of prediction mode
-
- 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/169—Methods 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/177—Methods 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]
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供了一种适用于无人机SPI接口视频码率控制方法,涉及无人机领域,根据串行外设接口特性以及网络流媒体数据服务端处理机制,在输出端和视频传输复接接口之间划分一块内存作为缓冲区,通过实时调整量化因子、编码器的输入帧率和缓冲区占有率门限来控制输出码率,完成编码控制机制和数据处理缓冲机制,解决视频压缩数据恒定可控问题,满足无线信道预留带宽的目的。
Description
技术领域
本发明涉及无人机领域,尤其是一种视频码率控制方法。
背景技术
随着无人机在现代战争中应用越来越多,其在战场情报侦察、指挥和控制中也开始发挥重要作用。这些都需要无人机视频处理系统能够提供清晰可靠的视频图像。早期的无人机视频处理系统采用JPEG2000对采集到的视频进行压缩,虽然这种方法已经能够提供不错的图像质量,但缺点是压缩后的视频数据量较大,对带宽有限的无线传输信道造成巨大的压力。我们需要的无人机视频处理系统应能够尽可能以恒定码率输出数据到数据链复接设备,便于与机载任务数据以及其他遥测数据进行复接和处理。
近年来研究人员和技术人员也设计出了一些无人机视频处理系统,但是还没有很好的解决实时性问题和压缩编码数据按照信道带宽要求以恒定速率通过SPI接口传输的问题。由于无人机机载视频处理系统的压缩数据要与机载任务数据以及其他遥测数据进行复接,通过无线信道传输到地面指挥中心进行处理。因此,需要设计缓冲区码率控制机制,使视频处理系统尽可能以恒定码率输出数据到数据链复接设备,便于与机载任务数据以及其他遥测数据进行复接和处理。
发明内容
为了克服现有技术的不足,根据串行外设接口(Serial Peripheral Interface,SPI)接口特性以及网络流媒体数据服务端处理机制,本发明提出了一种适用于无人机SPI接口视频码率控制方法,以实际工程需求为背景,通过分析、研究在输出端和视频传输复接接口之间划分一块内存作为缓冲区,通过实时调整量化因子、编码器的输入帧率和缓冲区占有率门限来控制输出码率,完成编码控制机制和数据处理缓冲机制,解决视频压缩数据恒定可控问题,满足无线信道预留带宽的目的。
本发明的适用于实时应用的无人机SPI接口视频码率控制方法包括了以下步骤:
步骤1:缓冲区正常工作的要求为t时刻缓冲区内已缓存的视频流大小等于0~t时间段内流入缓冲区的视频流总量减去0~t时间段内流出缓冲区的视频流的总量,即满足式(1)
式(1)中,Buffer(t)表示t时刻缓冲区缓存视频数据的总量,Input_rate(t)表示t时刻已编码的视频流入SPI缓冲区的速度,即当前编码器的输出码率,Output_rate(t)表示t时刻视频流出SPI缓冲区的速度,即SPI接口的视频传输速度;
步骤2:根据目标码率计算初始量化参数
根据单位像素的平均目标比特数确定初始量化参数QP0,其计算公式如下:
其中l1,l2,l3是预定的阈值,l1,l2,l3的设置参数表1:
表1
图像大小 | l1 | l2 | l3 |
QCIF | 0.1 | 0.3 | 0.6 |
CIF | 0.2 | 0.6 | 1.2 |
大于CIF | 0.6 | 1.4 | 2.4 |
表1中CIF为Common Intermediate Format,QCIF为Quarter CommonIntermediate Format,其中CIF和QCIF都是一种通用视频格式,CIF尺寸大小为352×288像素,QCIF尺寸大小为176×144像素;
公式(2)图像中每个像素点所占的比特数bpp由下式确定:
公式(3)中u(n1,1)表示起始可用信道带宽,n1,1表示第1个GOP的第1帧,Fr为编码时的帧率,单位为帧/秒,记为fps,width表示图像宽度,height表示图像高度,width和height单位均为像素;
GOP第一帧为I帧,其余均为P帧,对于图像组(Group of Picture,GOP),起始量化参数由式(4)确定:
其中,表示除第1个I帧之外的第i个GOP的起始量化参数,QPi-1(1)表示除第1个I帧之外的第(i-1)个GOP的起始量化参数,Np(i-1)表示第(i-1)个GOP中P帧个数,TotalQPforPPicture(i-1)表示第(i-1)个GOP中所有P帧量化参数之和,Ngop是第i个GOP中的总帧数;
公式(4)的代入公式(5),与QPi-1(1)-2相比求出最大值,即可求出迭代后的QPi(1):
步骤3:根据目标缓冲区大小,确定当前P帧图像的目标比特数
在第i个GOP的第一个P帧编码完成后,目标缓冲区大小的起始值依照下式确定:
Tbl(ni,2)=Bc(ni,2) (6)
其中Tbl(ni,2)是第i个GOP的第一个P帧编码完成后,目标缓冲区大小的起始值,Bc(ni,2)是第i个GOP的第一个P帧编码完成后实际缓冲区大小;
随后的P帧的目标缓冲区大小按照式(7)计算:
其中,Tbl(ni,2)表示第i个GOP的第一个P帧编码完成后,目标缓冲区大小的起始值;Tbl(ni,j)表示第i个GOP的第(j-1)个P帧编码完成后,目标缓冲区大小的值;Tbl(ni,j+1)表示第i个GOP的第j个P帧编码完成后,目标缓冲区大小的值;Np表示第i个GOP中P帧的总帧数;
第i个GOP的第j个P帧应分配的目标比特数取决于目标缓冲区大小、帧率、可用信道带宽和实际缓冲区大小,计算公式如下:
其中表示第i个GOP的第j个P帧应分配的目标比特数,u(ni,j)表示第i个GOP的第j个P帧应分配的可用信道带宽,γ是常数,Tbl(ni,j)表示第i个GOP的第j-1个P帧应分配的目标缓冲区大小,Bc(ni,j)表示第i个GOP的第j-1个P帧应分配的实际缓冲区大小;
对于第i个GOP开始编码时,分配的比特数由式(9)计算:
其中Tr(ni,0)表示第i个GOP分配的比特数,u(ni,1)表示第i个GOP起始可用信道带宽,Ngop表示第i个GOP中的总帧数,Bc(ni-1,Ngop)表示编码完第(i-1)个GOP后虚拟缓冲区实际大小;
根据公式(9)计算剩余可用比特数,当信道带宽随时间变化时,剩余比特数Tr(ni,j)通过下式计算:
其中Tr(ni,j)表示第i个GOP的第j个P帧的剩余比特数,Tr(ni,j-1)表示第i个GOP的第(j-1)个P帧的剩余比特数,u(ni,j-1)表示第i个GOP的第j-1个P帧应分配的可用信道带宽,A(ni,j-1)表示第i个GOP的第j-1个P帧实际编码比特数;
当信道带宽恒定时,当前帧的剩余比特数通过下式计算:
Tr(ni,j)=Tr(ni,j-1)-A(ni,j-1) (11)
有公式(12):
其中表示第i个GOP的第j个P帧的目标比特数,Np,r(j-1)表示未编码的第(j-1)个P帧数目,当前P帧图像的目标比特数由和的加权组合计算得到:
其中β是0至1之间的任意常数;
为了满足假想的解码器HRD(Hypothetical Reference Decoder)要求,目标比特数作如下限制:
即L(ni,j)<f(ni,j)<U(ni,j),其中,f(ni,j)表示目标比特数,U(ni,j)和L(ni,j)分别表示为保证缓冲区既不上溢又不下溢时,编码图像n所产生的比特数的上界和下界,其中,U(ni,j)为比特数的上界,L(ni,j)为比特数的下界;
步骤4:确定帧级量化参数QP
P帧量化参数的计算如下:
设定当前帧的量化参数QPpc,当前帧为I帧或者是紧接I帧之后的第一个P帧时QPpc=QP0;
否则,根据MADPi=a1*MADPi-1+a2,a1,a2为预测模型的两个参数,初始值分别为a1=1,a2=0,MADPi代表当前基本单元相应位置处的MAD,MADPi-1代表前一帧相应位置处的MAD,用前一帧的实际平均绝对差MAD(Mean Absolute Difference)来预测当前帧的MAD,按照二次率失真模型,计算出当前帧的量化参数QPpc,为了保证视频质量的连续性,相邻两帧量化参数的差值应不大于2,则量化参数作如下调整:
QPpc=min{QPpp+2,max{QPpp-2,QPpc}} (15)
其中QPpp为前一帧量化参数,由H.264标准可知,量化参数的取值范围为0~51,所有对量化参数作进一步的限制:
QPpc=min{51,max{1,QPpc}} (16)
用式(16)求得的量化参数对当前帧的每个宏块执行率失真优化RDO(RateDistortion Optimized),得出每个宏块的最佳编码模式,最后对模型参数进行更新;
步骤5:跳帧控制
比特数多少来表示运动复杂度作为跳帧衡量的标准,第i个P帧的运动复杂度Ci用下式来表示:
其中Bp,i为第i个P帧根据(i-1)帧线性预测所得到的P帧比特数,Bp,i=αiBi-1,αi初始值为1,Bi-1为已编码的第(i-1)帧的实际比特数,αi为相邻两帧分配比特的变化因子,Bj(j=1,2,...,i)是已编帧的实际比特数,同时,在比特数分配完毕后,αi将进行更新,更新公式为
判定相邻两帧图像是否发生场景切换的方法如下式所示:
其中:Ti为场景切换变化因子,对Ti设定一个阈值ε,阈值ε为0到1的常数;
当Ti>ε时,判定该帧发生场景切换,由于发生场景切换时编码比特数会发生急增,容易超过缓冲区的上溢阈值ω,当缓冲器上溢,就判定P帧为跳帧,具体步骤如下:
采用GOP的结构为IPPPP...,即图像序列的第一帧为I帧,后面是连续的P帧,设定缓存容量的百分比为ω1,ω2,ω3,且ω1<ω2<ω3,同时设定图像的运动复杂度为a,b,c,且满足0<a<b<c<1,a、b和c均为固定值;ωi为当前编码帧的缓冲区满度;
当ωi<ω1则认为当前帧为静止图像,跳过此帧;
当ω1<ωi<ω2时:若Ci<a,则认为当前帧为静止图像,跳过此帧;若a<Ci<b,则认为当前帧为运动缓慢图像,跳过此帧,若Ci>b,则认为当前图像为运动剧烈图像,需要编码当前帧;
当ω2<ωi<ω3时:若Ci<b,则认为当前帧为静止图像,跳过此帧;若b<Ci<c,则认为当前帧为运动缓慢图像,跳过此帧,若Ci>c,则认为当前图像为运动剧烈图像,需要编码当前帧;
当ωi>ω3时:若Ci<c,则认为当前帧为静止图像,跳过此帧;若Ci>c,则认为当前图像为运动剧烈图像,需要编码当前帧;
同时,当缓冲区满度ωi超过90%以后,无论Ci的值为多少都将此帧判定为跳帧。
本发明的有益效果是由于采用一种适用于无人机SPI接口视频码率控制方法,在编码器的输出端和视频传输复接接口的之间划分一块内存作为缓冲区,通过实时调整量化因子、编码器的输入帧率和缓冲区占有率门限来控制输出码率,完成了编码控制机制和数据处理缓冲机制,解决了视频压缩数据恒定可控问题,满足无线信道预留带宽。
附图说明
图1为本发明码率控制流程图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明,为更清楚地表述本发明的内容,首先对一些术语加以说明:
(1)I帧:I帧称为帧内编码帧,I帧是一个能够完全记载这一帧全部图像数据的帧,即可单独解码。
(2)P帧:P帧称为前向预测帧,是根据与前一帧图像的比较,去掉与前帧相似的数据而构成的帧。
(3)GOP:即图像组(Group of Picture),图像压缩一般是以GOP为一个单元的。一般情况下一个图像组(GOP)由15帧组成,包含I帧和B、P帧等三种编码类型,图像帧编码的顺序为:I PBB PBB…I PBB…,在实时多媒体通信等情况下,一般采用IPPP…IPPP…结构。
选取编码器编码帧率的范围是15~30,本发明为缓冲区设定占有率的门限即缓存容量的取值范围为下限为65%,上限为85%。
本发明的适用于实时应用的无人机SPI接口视频码率控制方法包括了以下步骤:
步骤1:缓冲区正常工作的要求为t时刻缓冲区内已缓存的视频流大小等于0~t时间段内流入缓冲区的视频流总量减去0~t时间段内流出缓冲区的视频流的总量,即满足式(1)
式(1)中,Buffer(t)表示t时刻缓冲区缓存视频数据的总量,Input_rate(t)表示t时刻已编码的视频流入SPI缓冲区的速度,即当前编码器的输出码率,Output_rate(t)表示t时刻视频流出SPI缓冲区的速度,即SPI接口的视频传输速度;
为防止缓冲区溢出,应该确保Buffer(t)的值不能超过缓冲区的容量上限。等式(1)中,Output_rate(t)是恒定的,则只能通过调节Input_rate(t)的大小确保缓冲区内t时刻的数据总量不超过缓冲区容量上限使缓冲区正常工作。Input_rate(t)是视频编码器的输出码率,在视频编码器的内部,通过实时调整量化参数、编码器的输入帧率和缓冲区占有率门限来控制输出码率。
步骤2:根据目标码率计算初始量化参数
根据单位像素的平均目标比特数确定初始量化参数QP0,其计算公式如下:
其中l1,l2,l3是预定的阈值,l1,l2,l3的设置参数表1:
表1
图像大小 | l1 | l2 | l3 |
QCIF | 0.1 | 0.3 | 0.6 |
CIF | 0.2 | 0.6 | 1.2 |
大于CIF | 0.6 | 1.4 | 2.4 |
表1中CIF为Common Intermediate Format,QCIF为Quarter CommonIntermediate Format,其中CIF和QCIF都是一种通用视频格式,CIF尺寸大小为352×288像素,QCIF尺寸大小为176×144像素;
公式(2)图像中每个像素点所占的比特数bpp由下式确定:
公式(3)中u(n1,1)表示起始可用信道带宽,n1,1表示第1个GOP的第1帧,Fr为编码时的帧率,单位为帧/秒,记为fps,width表示图像宽度,height表示图像高度,width和height单位均为像素;
GOP第一帧为I帧,其余均为P帧,对于图像组(Group of Picture,GOP),起始量化参数由式(4)确定:
其中,表示除第1个I帧之外的第i个GOP的起始量化参数,QPi-1(1)表示除第1个I帧之外的第(i-1)个GOP的起始量化参数,Np(i-1)表示第(i-1)个GOP中P帧个数,TotalQPforPPicture(i-1)表示第(i-1)个GOP中所有P帧量化参数之和,Ngop是第i个GOP中的总帧数;
公式(4)的代入公式(5),与QPi-1(1)-2相比求出最大值,即可求出迭代后的QPi(1):
步骤3:根据目标缓冲区大小,确定当前P帧图像的目标比特数
要计算当前P帧的目标比特数,必须首先计算出当前GOP中P帧的目标缓冲区大小,而目标缓冲区大小的设置是根据第一个即时解码更新帧(IDR)和第一个存储帧的编码比特数以及平均图像复杂度来进行的。由于每个GOP的第一个P帧的量化参数已在GOP层码率控制中得到,此处只需要计算每个GOP中其他P帧的目标缓冲区大小。
在第i个GOP的第一个P帧编码完成后,目标缓冲区大小的起始值依照下式确定:
Tbl(ni,2)=Bc(ni,2) (6)
其中Tbl(ni,2)是第i个GOP的第一个P帧编码完成后,目标缓冲区大小的起始值,Bc(ni,2)是第i个GOP的第一个P帧编码完成后实际缓冲区大小;
随后的P帧的目标缓冲区大小按照式(7)计算:
其中,Tbl(ni,2)表示第i个GOP的第一个P帧编码完成后,目标缓冲区大小的起始值;Tbl(ni,j)表示第i个GOP的第(j-1)个P帧编码完成后,目标缓冲区大小的值;Tbl(ni,j+1)表示第i个GOP的第j个P帧编码完成后,目标缓冲区大小的值;Np表示第i个GOP中P帧的总帧数;
根据线性理论分析,第i个GOP的第j个P帧应分配的目标比特数取决于目标缓冲区大小、帧率、可用信道带宽和实际缓冲区大小,计算公式如下:
其中表示第i个GOP的第j个P帧应分配的目标比特数,u(ni,j)表示第i个GOP的第j个P帧应分配的可用信道带宽,γ是常数,Tbl(ni,j)表示第i个GOP的第j-1个P帧应分配的目标缓冲区大小,Bc(ni,j)表示第i个GOP的第j-1个P帧应分配的实际缓冲区大小;
对于第i个GOP开始编码时,分配的比特数由式(9)计算:
其中Tr(ni,0)表示第i个GOP分配的比特数,u(ni,1)表示第i个GOP起始可用信道带宽,Ngop表示第i个GOP中的总帧数,Bc(ni-1,Ngop)表示编码完第(i-1)个GOP后虚拟缓冲区实际大小;
根据公式(9)计算剩余可用比特数,当信道带宽随时间变化时,剩余比特数Tr(ni,j)通过下式计算:
其中Tr(ni,j)表示第i个GOP的第j个P帧的剩余比特数,Tr(ni,j-1)表示第i个GOP的第(j-1)个P帧的剩余比特数,u(ni,j-1)表示第i个GOP的第j-1个P帧应分配的可用信道带宽,A(ni,j-1)表示第i个GOP的第j-1个P帧实际编码比特数;
当信道带宽恒定时,当前帧的剩余比特数通过下式计算:
Tr(ni,j)=Tr(ni,j-1)-A(ni,j-1) (11)
有公式(12):
其中表示第i个GOP的第j个P帧的目标比特数,Np,r(j-1)表示未编码的第(j-1)个P帧数目,当前P帧图像的目标比特数由和的加权组合计算得到:
其中β是0至1之间的任意常数,本发明取为0.9;
为了满足假想的解码器HRD(Hypothetical Reference Decoder)要求,目标比特数作如下限制:
即L(ni,j)<f(ni,j)<U(ni,j),其中,f(ni,j)表示目标比特数,U(ni,j)和L(ni,j)分别表示为保证缓冲区既不上溢又不下溢时,编码图像n所产生的比特数的上界和下界,其中,U(ni,j)为比特数的上界,L(ni,j)为比特数的下界;
步骤4:确定帧级量化参数QP
P帧量化参数的计算如下:
设定当前帧的量化参数QPpc,当前帧为I帧或者是紧接I帧之后的第一个P帧时QPpc=QP0;
否则,根据MADPi=a1*MADPi-1+a2,a1,a2为预测模型的两个参数,初始值分别为a1=1,a2=0,MADPi代表当前基本单元相应位置处的MAD,MADPi-1代表前一帧相应位置处的MAD,用前一帧的实际平均绝对差MAD(Mean Absolute Difference)来预测当前帧的MAD,按照二次率失真模型,计算出当前帧的量化参数QPpc,为了保证视频质量的连续性,相邻两帧量化参数的差值应不大于2,则量化参数作如下调整:
QPpc=min{QPpp+2,max{QPpp-2,QPpc}} (15)
其中QPpp为前一帧量化参数,由H.264标准可知,量化参数的取值范围为0~51,所有对量化参数作进一步的限制:
QPpc=min{51,max{1,QPpc}} (16)
用式(16)求得的量化参数对当前帧的每个宏块执行率失真优化RDO(RateDistortion Optimized),得出每个宏块的最佳编码模式,最后对模型参数进行更新;
步骤5:跳帧控制
考虑到MAD值不能很好的表示运动复杂度的问题,并依据比特分布遵循以下的法则:高运动复杂度图像对应高比特数,低运动复杂度图像对应低比特数,以比特数多少来表示运动复杂度作为跳帧衡量的标准,第i个P帧的运动复杂度Ci用下式来表示:
其中Bp,i为第i个P帧根据(i-1)帧线性预测所得到的P帧比特数,Bp,i=αiBi-1,αi初始值为1,Bi-1为已编码的第(i-1)帧的实际比特数,αi为相邻两帧分配比特的变化因子,Bj(j=1,2,...,i)是已编帧的实际比特数,同时,在比特数分配完毕后,αi进行更新,更新公式为
为了更好地对缓冲区的占有量进行控制,获得高质量的图像质量,将场景切换所带来的编码比特数急增的图像考虑进来,给出的判定相邻两帧图像是否发生场景切换的方法如下式所示:
其中:Ti为场景切换变化因子,对Ti设定一个阈值ε,阈值ε为0到1的常数;
当Ti>ε时,就判定该帧发生场景切换,由于发生场景切换时编码比特数会发生急增,容易超过缓冲区的上溢阈值ω,所以为了防止缓冲器上溢,就判定该帧为跳帧。由于相邻两帧的相关性非常强,将场景切换的GOP的第1个P帧跳过,虽然这样做会丢失一些图像细节,导致图像质量略有下降,但是本发明能够更加有效的控制缓冲区的占有量,能够获取更稳定的图像质量。
具体步骤如下:
采用GOP的结构为IPPPP...,即图像序列的第一帧为I帧,后面是连续的P帧,设定缓存容量的百分比为ω1,ω2,ω3,且ω1<ω2<ω3,同时设定图像的运动复杂度为a,b,c,且满足0<a<b<c<1,a、b和c均为固定值;ωi为当前编码帧的缓冲区满度;
当ωi<ω1则认为当前帧为静止图像,跳过此帧;
当ω1<ωi<ω2时:若Ci<a,则认为当前帧为静止图像,跳过此帧;若a<Ci<b,则认为当前帧为运动缓慢图像,跳过此帧,若Ci>b,则认为当前图像为运动剧烈图像,需要编码当前帧;
当ω2<ωi<ω3时:若Ci<b,则认为当前帧为静止图像,跳过此帧;若b<Ci<c,则认为当前帧为运动缓慢图像,跳过此帧,若Ci>c,则认为当前图像为运动剧烈图像,需要编码当前帧;
当ωi>ω3时:若Ci<c,则认为当前帧为静止图像,跳过此帧;若Ci>c,则认为当前图像为运动剧烈图像,需要编码当前帧;
同时,当缓冲区满度ωi超过90%以后,无论Ci的值为多少都将此帧判定为跳帧。
由于I帧和前面几个P帧对于运动补偿的估计比较重要,跳过这些帧容易影响到后面的帧,因此,本发明从第3个P帧,即第4帧开始;而对前3帧的处理方法是:对I帧不采取跳帧,对第1个和第2个P帧只有当缓冲器的占用量达到90%时才跳过。
Claims (1)
1.一种适用于无人机SPI接口视频码率控制方法,其特征在于包括下述步骤:
步骤1:缓冲区正常工作的要求为t时刻缓冲区内已缓存的视频流大小等于0~t时间段内流入缓冲区的视频流总量减去0~t时间段内流出缓冲区的视频流的总量,即满足式(1)
式(1)中,Buffer(t)表示t时刻缓冲区缓存视频数据的总量,Input_rate(t)表示t时刻已编码的视频流入SPI缓冲区的速度,即当前编码器的输出码率,Output_rate(t)表示t时刻视频流出SPI缓冲区的速度,即SPI接口的视频传输速度;
步骤2:根据目标码率计算初始量化参数
根据单位像素的平均目标比特数确定初始量化参数QP0,其计算公式如下:
其中l1,l2,l3是预定的阈值,l1,l2,l3的设置参数表1:
表1
表1中CIF为Common Intermediate Format,QCIF为Quarter Common IntermediateFormat,其中CIF和QCIF都是一种通用视频格式,CIF尺寸大小为352×288像素,QCIF尺寸大小为176×144像素;
公式(2)图像中每个像素点所占的比特数bpp由下式确定:
公式(3)中u(n1,1)表示起始可用信道带宽,n1,1表示第1个GOP的第1帧,Fr为编码时的帧率,单位为帧/秒,记为fps,width表示图像宽度,height表示图像高度,width和height单位均为像素;
GOP第一帧为I帧,其余均为P帧,对于图像组(Group of Picture,GOP),起始量化参数由式(4)确定:
其中,表示除第1个I帧之外的第i个GOP的起始量化参数,QPi-1(1)表示除第1个I帧之外的第(i-1)个GOP的起始量化参数,Np(i-1)表示第(i-1)个GOP中P帧个数,TotalQPforPPicture(i-1)表示第(i-1)个GOP中所有P帧量化参数之和,Ngop是第i个GOP中的总帧数;
公式(4)的代入公式(5),与QPi-1(1)-2相比求出最大值,即可求出迭代后的QPi(1):
步骤3:根据目标缓冲区大小,确定当前P帧图像的目标比特数
在第i个GOP的第一个P帧编码完成后,目标缓冲区大小的起始值依照下式确定:
Tbl(ni,2)=Bc(ni,2) (6)
其中Tbl(ni,2)是第i个GOP的第一个P帧编码完成后,目标缓冲区大小的起始值,Bc(ni,2)是第i个GOP的第一个P帧编码完成后实际缓冲区大小;
随后的P帧的目标缓冲区大小按照式(7)计算:
其中,Tbl(ni,2)表示第i个GOP的第一个P帧编码完成后,目标缓冲区大小的起始值;Tbl(ni,j)表示第i个GOP的第(j-1)个P帧编码完成后,目标缓冲区大小的值;Tbl(ni,j+1)表示第i个GOP的第j个P帧编码完成后,目标缓冲区大小的值;Np表示第i个GOP中P帧的总帧数;
第i个GOP的第j个P帧应分配的目标比特数取决于目标缓冲区大小、帧率、可用信道带宽和实际缓冲区大小,计算公式如下:
其中表示第i个GOP的第j个P帧应分配的目标比特数,u(ni,j)表示第i个GOP的第j个P帧应分配的可用信道带宽,γ是常数,Tbl(ni,j)表示第i个GOP的第j-1个P帧应分配的目标缓冲区大小,Bc(ni,j)表示第i个GOP的第j-1个P帧应分配的实际缓冲区大小;
对于第i个GOP开始编码时,分配的比特数由式(9)计算:
其中Tr(ni,0)表示第i个GOP分配的比特数,u(ni,1)表示第i个GOP起始可用信道带宽,Ngop表示第i个GOP中的总帧数,Bc(ni-1,Ngop)表示编码完第(i-1)个GOP后虚拟缓冲区实际大小;
根据公式(9)计算剩余可用比特数,当信道带宽随时间变化时,剩余比特数Tr(ni,j)通过下式计算:
其中Tr(ni,j)表示第i个GOP的第j个P帧的剩余比特数,Tr(ni,j-1)表示第i个GOP的第(j-1)个P帧的剩余比特数,u(ni,j-1)表示第i个GOP的第j-1个P帧应分配的可用信道带宽,A(ni,j-1)表示第i个GOP的第j-1个P帧实际编码比特数;
当信道带宽恒定时,当前帧的剩余比特数通过下式计算:
Tr(ni,j)=Tr(ni,j-1)-A(ni,j-1) (11)
有公式(12):
其中表示第i个GOP的第j个P帧的目标比特数,Np,r(j-1)表示未编码的第(j-1)个P帧数目,当前P帧图像的目标比特数由和的加权组合计算得到:
其中β是0至1之间的任意常数;
为了满足假想的解码器HRD(Hypothetical Reference Decoder)要求,目标比特数作如下限制:
即L(ni,j)<f(ni,j)<U(ni,j),其中,f(ni,j)表示目标比特数,U(ni,j)和L(ni,j)分别表示为保证缓冲区既不上溢又不下溢时,编码图像n所产生的比特数的上界和下界,其中,U(ni,j)为比特数的上界,L(ni,j)为比特数的下界;
步骤4:确定帧级量化参数QP
P帧量化参数的计算如下:
设定当前帧的量化参数QPpc,当前帧为I帧或者是紧接I帧之后的第一个P帧时QPpc=QP0;
否则,根据MADPi=a1*MADPi-1+a2,a1,a2为预测模型的两个参数,初始值分别为a1=1,a2=0,MADPi代表当前基本单元相应位置处的MAD,MADPi-1代表前一帧相应位置处的MAD,用前一帧的实际平均绝对差MAD(Mean Absolute Difference)来预测当前帧的MAD,按照二次率失真模型,计算出当前帧的量化参数QPpc,为了保证视频质量的连续性,相邻两帧量化参数的差值应不大于2,则量化参数作如下调整:
QPpc=min{QPpp+2,max{QPpp-2,QPpc}} (15)
其中QPpp为前一帧量化参数,由H.264标准可知,量化参数的取值范围为0~51,所有对量化参数作进一步的限制:
QPpc=min{51,max{1,QPpc}} (16)
用式(16)求得的量化参数对当前帧的每个宏块执行率失真优化RDO(Rate DistortionOptimized),得出每个宏块的最佳编码模式,最后对模型参数进行更新;
步骤5:跳帧控制
比特数多少来表示运动复杂度作为跳帧衡量的标准,第i个P帧的运动复杂度Ci用下式来表示:
其中Bp,i为第i个P帧根据(i-1)帧线性预测所得到的P帧比特数,Bp,i=αiBi-1,αi初始值为1,Bi-1为已编码的第(i-1)帧的实际比特数,αi为相邻两帧分配比特的变化因子,Bj(j=1,2,...,i)是已编帧的实际比特数,同时,在比特数分配完毕后,αi将进行更新,更新公式为
判定相邻两帧图像是否发生场景切换的方法如下式所示:
其中:Ti为场景切换变化因子,对Ti设定一个阈值ε,阈值ε为0到1的常数;
当Ti>ε时,判定该帧发生场景切换,由于发生场景切换时编码比特数会发生急增,容易超过缓冲区的上溢阈值ω,当缓冲器上溢,就判定P帧为跳帧,具体步骤如下:
采用GOP的结构为IPPPP...,即图像序列的第一帧为I帧,后面是连续的P帧,设定缓存容量的百分比为ω1,ω2,ω3,且ω1<ω2<ω3,同时设定图像的运动复杂度为a,b,c,且满足0<a<b<c<1,a、b和c均为固定值;ωi为当前编码帧的缓冲区满度;
当ωi<ω1则认为当前帧为静止图像,跳过此帧;
当ω1<ωi<ω2时:若Ci<a,则认为当前帧为静止图像,跳过此帧;若a<Ci<b,则认为当前帧为运动缓慢图像,跳过此帧,若Ci>b,则认为当前图像为运动剧烈图像,需要编码当前帧;
当ω2<ωi<ω3时:若Ci<b,则认为当前帧为静止图像,跳过此帧;若b<Ci<c,则认为当前帧为运动缓慢图像,跳过此帧,若Ci>c,则认为当前图像为运动剧烈图像,需要编码当前帧;
当ωi>ω3时:若Ci<c,则认为当前帧为静止图像,跳过此帧;若Ci>c,则认为当前图像为运动剧烈图像,需要编码当前帧;
同时,当缓冲区满度ωi超过90%以后,无论Ci的值为多少都将此帧判定为跳帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611163788.3A CN106657855A (zh) | 2016-12-16 | 2016-12-16 | 一种适用于无人机spi接口视频码率控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611163788.3A CN106657855A (zh) | 2016-12-16 | 2016-12-16 | 一种适用于无人机spi接口视频码率控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106657855A true CN106657855A (zh) | 2017-05-10 |
Family
ID=58823724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611163788.3A Pending CN106657855A (zh) | 2016-12-16 | 2016-12-16 | 一种适用于无人机spi接口视频码率控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106657855A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108702511A (zh) * | 2017-07-28 | 2018-10-23 | 深圳市大疆创新科技有限公司 | 视频传输的方法、设备及系统 |
CN110113602A (zh) * | 2019-04-22 | 2019-08-09 | 西安电子科技大学 | 一种h.264码率控制跳帧优化方法 |
CN110933380A (zh) * | 2019-12-17 | 2020-03-27 | 深圳市道通智能航空技术有限公司 | 一种图传控制方法、系统及无人机 |
CN111986070A (zh) * | 2020-07-10 | 2020-11-24 | 中国人民解放军战略支援部队航天工程大学 | 基于gpu的vdif格式数据异构并行编帧方法 |
CN113170054A (zh) * | 2020-07-28 | 2021-07-23 | 深圳市大疆创新科技有限公司 | 视频传输方法、可移动平台及计算机可读存储介质 |
CN113473136A (zh) * | 2020-03-30 | 2021-10-01 | 炬芯科技股份有限公司 | 视频编码器及其码率控制装置 |
WO2022262294A1 (zh) * | 2021-06-15 | 2022-12-22 | 华为技术有限公司 | 视频流传输方法以及相关通信装置 |
-
2016
- 2016-12-16 CN CN201611163788.3A patent/CN106657855A/zh active Pending
Non-Patent Citations (4)
Title |
---|
SIWEI MA ET AL.: "Proposed Draft of Adaptive Rate Control", 《JOINT VIDEO TEAM (JVT) OF ISO/IEC MPEG & ITU-T VCEG(ISO/IEC JTC1/SC29/WG11 AND ITU-T SG16 Q.6)8TH MEETING: GENEVA, MAY 20-26,2003 ,DOCUMENT: JVT-H017》 * |
王建 等: "基于i.MX6 无人机视频码率受控的压缩系统设计*", 《火力与指挥控制》 * |
王晓: "一种低码率下的H .264 跳帧算法", 《计算机工程》 * |
王瑾: "低码率下H.264码率控制跳帧/插帧算法研究", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108702511A (zh) * | 2017-07-28 | 2018-10-23 | 深圳市大疆创新科技有限公司 | 视频传输的方法、设备及系统 |
CN110113602A (zh) * | 2019-04-22 | 2019-08-09 | 西安电子科技大学 | 一种h.264码率控制跳帧优化方法 |
CN110933380A (zh) * | 2019-12-17 | 2020-03-27 | 深圳市道通智能航空技术有限公司 | 一种图传控制方法、系统及无人机 |
WO2021121011A1 (zh) * | 2019-12-17 | 2021-06-24 | 深圳市道通智能航空技术股份有限公司 | 一种图传控制方法、系统及无人机 |
CN113473136A (zh) * | 2020-03-30 | 2021-10-01 | 炬芯科技股份有限公司 | 视频编码器及其码率控制装置 |
CN113473136B (zh) * | 2020-03-30 | 2024-02-09 | 炬芯科技股份有限公司 | 视频编码器及其码率控制装置 |
CN111986070A (zh) * | 2020-07-10 | 2020-11-24 | 中国人民解放军战略支援部队航天工程大学 | 基于gpu的vdif格式数据异构并行编帧方法 |
CN111986070B (zh) * | 2020-07-10 | 2021-04-06 | 中国人民解放军战略支援部队航天工程大学 | 基于gpu的vdif格式数据异构并行编帧方法 |
CN113170054A (zh) * | 2020-07-28 | 2021-07-23 | 深圳市大疆创新科技有限公司 | 视频传输方法、可移动平台及计算机可读存储介质 |
WO2022021090A1 (zh) * | 2020-07-28 | 2022-02-03 | 深圳市大疆创新科技有限公司 | 视频传输方法、可移动平台及计算机可读存储介质 |
WO2022262294A1 (zh) * | 2021-06-15 | 2022-12-22 | 华为技术有限公司 | 视频流传输方法以及相关通信装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106657855A (zh) | 一种适用于无人机spi接口视频码率控制方法 | |
KR100505699B1 (ko) | 실시간 가변 비트율 제어로 화질을 개선시키는 비디오인코더의 인코딩율 제어기, 이를 구비한 비디오 데이터전송 시스템 및 그 방법 | |
JP4390112B2 (ja) | ビデオシーケンスのレートを制御する方法及び装置並びにビデオ符号化装置 | |
KR100484148B1 (ko) | 개선된 비트율 제어 방법과 그 장치 | |
US6141380A (en) | Frame-level rate control for video compression | |
JP5351040B2 (ja) | 映像符号化規格に対応した映像レート制御の改善 | |
EP1446952B1 (en) | Method and system for rate control during video transcoding | |
KR100643454B1 (ko) | 영상 데이터 전송 제어방법 | |
CN101317463B (zh) | 在编解码中的实现量化的方法和装置 | |
JP5286581B2 (ja) | 動画像符号化制御方法,動画像符号化装置および動画像符号化プログラム | |
US6229849B1 (en) | Coding device and method | |
CN101335891A (zh) | 视频速率控制方法及视频速率控制器 | |
EP4333433A1 (en) | Video coding method and apparatus, and electronic device | |
JPH10164577A (ja) | 動画像符号化装置 | |
JP4362795B2 (ja) | 動画像符号化装置及びその方法 | |
US6226326B1 (en) | Coding device and coding method | |
KR20110099554A (ko) | 영상의 복잡도를 이용한 h.264/avc 부호화기의 양자화 파라미터 결정 방법 및 이를 구현하는 h.264/avc 부호화기 | |
JPH06225276A (ja) | 動画像符号化におけるプリフィルタ制御方法および装置 | |
CN102724507A (zh) | 一种gpu加速编码器码率控制方法 | |
JP2004040811A (ja) | 動映像符号化のためのdct演算量調節方法及びその装置 | |
US20090213929A1 (en) | Transcoder | |
JP3779066B2 (ja) | 動画像符号化装置 | |
KR100949755B1 (ko) | 비디오 시퀀스의 레이트를 제어하는 방법 및 장치, 비디오부호화 장치 | |
JP4035747B2 (ja) | 符号化装置および符号化方法 | |
JP2002058038A (ja) | 画像符号化方法および装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170510 |