CN104702974A - 基于模糊逻辑的码率控制方法及视频编码方法 - Google Patents

基于模糊逻辑的码率控制方法及视频编码方法 Download PDF

Info

Publication number
CN104702974A
CN104702974A CN201510053198.4A CN201510053198A CN104702974A CN 104702974 A CN104702974 A CN 104702974A CN 201510053198 A CN201510053198 A CN 201510053198A CN 104702974 A CN104702974 A CN 104702974A
Authority
CN
China
Prior art keywords
msub
mrow
fuzzy
centerdot
mfrac
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.)
Granted
Application number
CN201510053198.4A
Other languages
English (en)
Other versions
CN104702974B (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201510053198.4A priority Critical patent/CN104702974B/zh
Publication of CN104702974A publication Critical patent/CN104702974A/zh
Application granted granted Critical
Publication of CN104702974B publication Critical patent/CN104702974B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供一种基于模糊逻辑的码率控制方法及视频编码方法。本发明通过对表征输出比特R与量化参数Q的指数关系特性的R-Q模型进行变形,从而动态地计算出缓冲区误差对应的误差区间与缓冲区误差变化对应的误差变化区间,为码率控制与模糊控制的结合提供了基础。本发明的有益效果是,提供统一接口,支持恒定/可变比特率控制,码率控制能力强。

Description

基于模糊逻辑的码率控制方法及视频编码方法
技术领域
本发明涉及视频编码技术与模糊控制技术。
背景技术
随着网络视频实时通信需求的高速增长和网络流媒体点播的广泛普及,囿于相对有限且实时可变的网络带宽,服务质量和播放效果常常不尽如人意。码率控制(Rate Control,RC)在视频图像压缩技术和网络传输领域的重要性愈加突显。
码率控制是视频图像编码器一端的集成模块,它基于网络可用带宽严格控制信道上输出的视频比特流速率,实现稳定的视频图像传输和播放,同时获得视觉质量和可用带宽之间的最佳平衡。为了获得视觉质量和带宽之间的最佳平衡,通常码率控制器通过设置假想参考解码缓冲区的容量反馈数值来计算和分配编码输出比特,尽可能地保持平稳的视频输出流,并在有限的通信带宽下提供最小失真的视频图像解码视觉质量。码率控制是视频编码器中重要的功能组成部分,在现有的各种视频编码标准和实际应用中都存在实际的解决方案。
随着视频点播、视频电话通信、网络视频监控等视频应用的兴起,视频图像的及时高质量传输及服务保障成为当前比较迫切的技术需求,适用于多种视频编解码标准的低延迟码率控制系统具有强烈的现实意义。
视频图像的分辨率在编码开始前即被给定,以像素点宽W和高H的乘积形式表示。目标比特率TBR在编码开始时被设置,单位为比特每秒bps,在编码过程中的任意时刻都可以被改写。当TBR初始设置后,不被改写的情况称为恒定比特率CBR,被改写一次或一次以上的情况称为可变比特率VBR。在不引起混淆的情况下,TBR被认为是可以变动的输入参数,当TBR取值在编码过程中保持不变,则认为是CBR模式,当TBR取值在编码过程中发生改变,则认为是VBR模式。帧率F即每秒播放的帧的数量,单位帧每秒fps。受图像采样的限制,信源帧率Fs在视频编码前被给定。实际编码帧率FC通常被初始设置为与Fs保持一致,但也可以被设置为与Fs不相等。视频编码码率可以由每像素点比特bpp来进行指标统一,那么,可以将目标比特率规范化为像素点目标比特Tbpp,由公式(1)计算获得。
Tbpp = TBR W · H · F C - - - ( 1 )
其中,TBR和FC在编码过程中可能值有变化,W和H的值为固定。
编码输入量化参数(QP)用Q表示,是一个非负整数。在MPEG-1、MPEG-2、MPEG-4、H.261、H.263、WMV1、WMV2、RV10、RV20等编码器中其合理取值范围为[2,31],在H.264/AVC、H.264/SVC、HEVC等编码器中其合理取值范围为[0,51]。在AVS-2中其合理取值范围为[0,79]。
解码视频的失真一般以原始图像和编码后恢复图像的像素点平均方差MSE来刻画。通常以峰值信噪比PSNR为评价标准,其计算过程如公式(2)所示。
PSNR = 10 · lg ( 2 K - 1 ) 2 MSE - - - ( 2 )
其中,K表示像素点灰度值用二进制表示时的位数,通常K的取值为8。
帧编码输出比特用R表示,Rt-1表示t-1时刻缓冲区容量。设置假想参考解码缓冲区(后简称缓冲区),用Bt表示当前t时刻缓冲区容量,单位都为每像素点比特bpp。其初始值和目标值都固定设置为0,即B0=0。在每一帧编码过后,缓冲区容量将被更新,如公式(3)所示。
Bt=Bt-1+Rt-1-Tbpp   (3)
对于公式(3),当Bt>0时,表示过度使用比特;当Bt<0时,表示使用比特不足。码率控制的目标就是尽可能地使Bt接近目标值0。
另一方面,模糊控制,是采用由模糊数学语言描述的控制律(控制规则)来操纵系统工作的控制方式。按照模糊控制律组成的控制装置称为模糊控制器。在一般控制问题上,输入变量有误差E和误差变化EC,根据输入变量,模糊控制将产生一个输出控制量U作为下一个状态的输入,以达到反馈控制的效果。模糊化即为将输入值以适当的比例转换到论域的数值,利用口语化变量来描述测量物理量的过程,根据适合的语言值求该值相对的隶属度,此口语化变量称为模糊子集合。再运用模糊推理规则得到模糊控制量,最后将模糊控制转换为明确的控制讯号,作为系统的输入值。
7级模糊变量词集为:{负大,负中,负小,零,正小,正中,正大},用英文缩写可定义为如式(4)所示。
W={NB,NM,NS,ZO,PS,PM,PB}   (4)
选取模糊控制量的原则是,当误差大或较大时,选择大的控制量以尽快消除误差。当误差较小时,选择小的控制量以防止超调,保证系统的稳定性。根据经验设计模糊控制器控制规则。
定义模糊子集论域S和隶属函数曲线。本实施例采用论域S={-6,-5,-4-3,-2,-1,0,+1,+2,+3,+4,+5,+6}、“三角形”隶属函数曲线。将确定的隶属函数曲线离散化,就得到了有限个点的隶属度,构成了相应的模糊变量子集,定义模糊子集论域S={-6,-5,-4-3,-2,-1,0,+1,+2,+3,+4,+5,+6}。7级模糊变量对应的模糊子集论域中有13个元素。
隶属函数曲线表示了模糊子集论域S和隶属度μ的关系。根据隶属函数曲线,则可建立模糊变量不同等级W的隶属度值μ(S,W)表。不同的隶属函数曲线将构造出不同的隶属度值表。上述隶属度值表也可根据不同的隶属函数曲线做出改变或调整。利用模糊控制规则与隶属函数,计算得到模糊关系。
7级模糊变量的隶属度值表包括行表头、列表头和单元格,列表头对应模糊子集论域中的13个元素,行表头对应7级模糊变量,共有13×7个单元格对应的隶属度值。
定义模糊子集,实际上就是要确定模糊子集隶属函数曲线的形状。将确定的隶属函数曲线离散化,就得到了有限个点的隶属度,构成了相应的模糊变量子集。取误差和误差变化的模糊论域中的所有元素,按隶属度最大原则得到对应的模糊子集。根据模糊推理规则,计算得到控制量的模糊子集。
7级模糊变量的模糊控制器具有7×7=49条规则,得到满足49条规则的模糊关系,再根据模糊推理规则计算输出的控制量U的模糊子集,最终得到模糊控制查询表,模糊控制查询表包括行表头、列表头和单元格,列表头对应误差E量化至模糊子集论域中的13个元素,行表头对应误差变化EC量化至模糊子集论域中的13个元素,共有13×13个单元格对应的控制量。
发明内容
本发明所要解决的技术问题是,提供一种基于模糊逻辑的通用码率控制方法以及使用该方法的编码方法。
本发明为解决上述技术问题所采样的技术方案是,基于模糊逻辑的码率控制方法,包括以下步骤:
1)计算当前帧像素点目标比特值Tbpp;
2)更新当前时刻t的缓冲区容量Bt,当前时刻t=0时,Bt=0,当前时刻t≥1时,Bt=Bt-1+Rt-1-Tbpp;Bt-1为上一时刻t-1的缓冲区容量,Rt-1为上一时刻t-1帧编码输出比特;
3)计算当前时刻t的缓冲区误差Et,Et=Bt,缓冲区误差变化ECt=Et-Et-1,Et-1为上一时刻的缓冲区误差;计算当前时刻t的缓冲区误差Et对应的误差区间[aE,bE],缓冲区误差变化ECt对应的误差变化区间[aEC,bEC];
[ a E , b E ] = [ - &beta; &CenterDot; R &OverBar; t &CenterDot; 2 , &beta; &CenterDot; R &OverBar; t &CenterDot; 2 ] ;
[ a EC , b EC ] = [ - &beta; &CenterDot; R &OverBar; t &CenterDot; 4 , &beta; &CenterDot; R &OverBar; t &CenterDot; 4 ] ;
其中, 为当前时刻t的平滑输出比特率;ρ为平滑系数,取值范围是0至1;β为先验的R-Q模型参数,取值范围为0.08至0.10;Rt-1为上一时刻t-1帧编码输出比特,为上一时刻t-1的平滑输出比特率;
4)计算缓冲区误差Et的量化参数将缓冲区误差变化ECt的量化参数
E t * = [ 12 &CenterDot; ( E t - a E + b E 2 ) b E - a E ] , EC t * = [ 12 &CenterDot; ( EC t - a EC + b EC 2 ) b EC - a EC ] ;
5)将缓冲区误差量化参数进行边界绑定至模糊子集论域得到对应的元素e为: e = max { - 6 , min { E t * , + 6 } } ;
将缓冲区误差变化量化参数进行边界绑定至模糊子集论域得到对应的元素ec为: ec = max { - 6 , min { E t * , + 6 } } ;
6)利用元素e和元素ec查询模糊控制查询表得到当前时刻t的调节量u;所述模糊控制查询表的列表头对应误差E量化至模糊子集论域中的13个元素,行表头对应误差变化EC量化至模糊子集论域中的13个元素,13×13个单元格对应13×13个控制量,模糊子集论域S={-6,-5,-4-3,-2,-1,0,+1,+2,+3,+4,+5,+6};
7)计算真实控制量u*,u*=[u·Ku],Ku为量化因子,量化因子为编码输入量化参数变化的最大变化量与调节量u的理论最大值的比值;
8)利用真实控制量u*计算当前时刻t的编码输入量化参数值Qt,Qt=max{Qmin,min{Qmax,Qt-1+u*}};其中,Qmin为量化参数最小值,Qmax为量化参数最大值,Qt-1为上一时刻t-1的编码输入量化参数值。
基于模糊逻辑码率控制的视频编码方法,包括以下步骤:
1)初始化步骤:
1-1)编码初始化:设置视频图像编码标准、码率控制参数、数据封装格式;
1-2)模糊控制初始化:设置7级模糊变量、模糊子集论域S={-6,-5,-4-3,-2,-1,0,+1,+2,+3,+4,+5,+6}和隶属函数曲线,得到模糊控制查询表,模糊控制查询表的列表头对应误差E量化至模糊子集论域中的13个元素,行表头对应误差变化EC量化至模糊子集论域中的13个元素,13×13个单元格对应13×13个控制量;
2)利用上述基于模糊逻辑的码率控制方法得到当前时刻t用于帧级码率控制的编码输入量化参数值Qt后,进入步骤3);
3)根据计算的编码输入量化参数值Qt进行一帧编码,编码完成后进行数据封装,数据封装后的长度为当前时刻t的帧编码输出比特,判断编码是否完成,如是,则结束,否则,更新时间变量t=t+1,进行下一帧编码,返回步骤2)。
本发明通过对表征输出比特R与量化参数Q的指数关系特性的R-Q模型进行变形,从而动态地计算出缓冲区误差Et对应的误差区间与缓冲区误差变化对应的误差变化区间,为码率控制与模糊控制的结合提供了基础。
本发明的有益效果是,提供统一接口,支持恒定/可变比特率控制,码率控制能力强。
附图说明
图1为视频编码步骤流程图。
图2为基于模糊逻辑的码率控制架构图。
图3为模糊控制器原理图。
图4为AI配置下模糊逻辑码率控制缓冲区状态。(a)视频序列名称为BasketballPass,视频分辨率格式为WQVGA,编码器及版本为:RD9.2,QP值测点为:QP 27,32,38,45;(b)Racehorse WVGA,RD9.2QP 27,32,38,45;(c)Vidyo1720p,RD9.2QP 27,32,38,45;(d)Cactus 1080p,RD9.2QP 27,32,38,45;(e)pku_girls UHD,RD9.2QP 27,32,38,45。
图5为LDP配置下模糊逻辑码率控制缓冲区状态。(a)BQSquare WQVGA,RD9.2QP27,32,38,45;(b)BasketballDrill WVGA,RD9.2QP 27,32,38,45;(c)Vidyo1720p,RD9.2QP27,32,38,45;(d)Cactus 1080p,RD9.2QP 27,32,38,45;(e)Traffic UHD,RD9.2QP27,32,38,45。
图6为RA配置下模糊逻辑码率控制缓冲区状态。(a)BQSquare WQVGA,RD9.2QP27,32,38,45;(b)PartyScene WVGA,RD9.2QP 27,32,38,45;(c)Vidyo1720p,RD9.2QP27,32,38,45;(d)Cactus 1080p,RD9.2QP 27,32,38,45;(e)pku_parkwalk UHD,RD9.2QP27,32,38,45。
具体实施方式
本发明为了快速响应误差的变化,选用模糊控制器来修正Bt
定义模糊变量词集W为:W={负大,负中,负小,零,正小,正中,正大}={NB,NM,NS,ZO,PS,PM,PB}
二维模糊控制器控制规则可写为条件语句形式,如公式(5)所示。
if(E=Eiand EC=ECj)thenU=Ui,j   (5)
其中i,j下标的取值范围为1至7,对应公式(4)词集中的7个元素。Ei,ECj,Ui,j是分别定义在为:误差、误差变化和控制量论域上的模糊子集。本实施例采用的模糊控制规则表如表1所示,可根据不同的经验做调整。
表1 模糊控制规则表
定义模糊子集论域S={-6,-5,-4-3,-2,-1,0,+1,+2,+3,+4,+5,+6}。定义模糊子集,实际上就是要确定模糊子集隶属函数曲线的形状。将确定的隶属函数曲线离散化,就得到了有限个点的隶属度,构成了相应的模糊变量子集。隶属函数曲线表示了模糊子集论域S和隶属度μ的关系。根据隶属函数曲线,则可建立模糊变量不同等级的隶属度值表,如表2所示。
表2 模糊变量不同等级的隶属度值表
不同的隶属函数曲线将构造出不同的隶属度值表。本发明采用简单经典的三角形曲线构造。明显地,上述隶属度值表也可根据不同的隶属函数曲线做出改变或调整。模糊控制器中常见的连续型隶属度函数还有吊钟形函数与题型函数。
为了求得模糊关系矩阵Ri,j,需要利用直乘(笛卡尔乘积)运算求出Di,j(x,y),如公式(6)所示。
D i , j ( x , y ) 13 &times; 13 = E i ( x ) &times; EC j ( y ) = E i T ( x ) &CenterDot; EC j ( y ) = { ( x i &And; y j ) / x i &Element; x , y i &Element; y } - - - ( 6 )
其中,∧表示取小操作,×表示矩阵直乘运算,即对应元素相乘时隶属度取小。Ei和ECj是模糊子集,其中i,j=1,2...7。x为Ei的隶属度值,y为ECj的隶属度值。它们的具体值Ei(x)和ECj(y)可以根据Ei和ECj的档次查询相应的隶属度值表获得。将Di,j(x,y)13×13变为一维列向量,即Di,j′(x,y)169×1
求每条规则的模糊关系Ri,j,根据Mamdani模糊推理算法,对公式(5)中所示的模糊规则可构造模糊关系Ri,j如公式(7)所示。
Ri,j(x,y,z)=Ei(x)×ECj(y)×Ui,j(z)   (7)
结合公式(6)和公式(7),可以转化获得公式(8)。
Ri,j(x,y,z)169×13=Di,j(x,y)×Ui,j(z)=Di,j′(x,y)169×1·Ui,j(z)1×13   (8)
根据公式(8),可以得到一条规则的模糊关系,本发明采用的模糊控制器具有7×7=49条规则,采用公式(9)对49个模糊关系进行求并运算,按矩阵加法规则,对应元素相加时,隶属度取大。将隶属度关系作求并运算,得到总的满足7×7=49条规则的模糊关系
R ^ i , j ( x , y , z ) 169 &times; 13 = &cup; i , j = 1 i , j = 7 R i , j ( x , y , z ) 169 &times; 13 - - - ( 9 )
取误差和误差变化在模糊子集论域中对应的值,按隶属度最大原则得到对应的模糊子集。即由E=x,x∈[-6,6]查E的隶属函数表得到Ei(x),同理,由EC=y,y∈[-6,6]查EC的隶属函数表得到Ej(y)。同样,根据公式(6)可以求得Di,j′(x,y)。根据模糊推理规则,输出的控制量U的隶属向量V为如公式(10)所示。
公式(10)中,z表示模糊决策模糊集,这是通过运算得来的,z是向量由13个元素构成,z恰好对应-6到6的13个模糊子集。ο表示合成运算,即先取小,再取大。∨表示取大操作。经过合成运算求出的Vij,即为执行量的模糊子集。
为了获得输出控制量u,根据加权平均原则,输出控制量u由公式(11)给出。
u x , y = &Sigma; i &Element; S &mu; V ( u i ) &CenterDot; u i &Sigma; i &Element; S &mu; V ( u i ) | x &Element; S , y &Element; S - - - ( 11 )
即生成了如表3给出的模糊控制查询表。
表3 模糊控制查询表
用误差Et表示Bt与目标缓冲区的误差,即Et=Bt。用ECt表示误差变化,即ECt=Et-Et-1。其基本论域分别定义为[aE,bE]和[aEC,bEC],反应的是码率控制所能调控的合理范围。本发明采用R-Q率-失真模型计算获得。
通过经验可以得到R-Q模型呈现非常明显的指数函数关系特性,如公式(12)所示。
R=α·e-β·Q   (12)其中α和β为模型参数。
对不同编码器进行通测可以获得不同编码器、不同序列及不同档次下的比特率R和QP的关系,通过拟合曲线,可得到相应的α和β。
对公式(12)所示的R-Q模型进行一阶微分,如公式(13)所示。
dR dQ = &alpha; &CenterDot; e - &beta; &CenterDot; Q &CenterDot; ( - &beta; ) = - &beta; &CenterDot; R - - - ( 13 )
不失一般性,在较小的编码输入量化参数值变化范围,用△R≈dR,△Q≈dQ,那么编码输入量化参数值变化幅度为±2时,比特率的误差Et的范围即为帧编码比特变化的一阶变化值范围,由公式(14)给出。
[aE,bE]=[-△R,△R]=[-β·R·2,β·R·2]   (14)其中β取值由不同结构下计算获得R-Q模型均值得到。比特率R值由已编码图像的比特率均值表示,本发明采用指数平滑法获得,如公式(15)所示。
R=ρ·Rt-1+(1-ρ)·Rt   (15)其中,ρ为平滑系数,取值为典型值0.3。
误差的变化ECt的范围需要考虑到两次叠加极大编码输入量化参数变化量。因此,在误差变化范围区间[aE,bE]基础上扩展max{|△Q|}=2倍。公式(16)给出了误差变化区间的计算。
[aEC,bEC]=[-△R·max{|△Q|},△R·max{|△Q|}]   (16)
不失一般性,实际输入的精确量(误差和误差变化)是连续量,通过模糊化处理把连续量离散到[-6,6]的有限整数区间,如公式(17)所示。
E t * = [ 12 &CenterDot; ( E t - a E + b E 2 ) b E - a E ] , EC t * = [ 12 &CenterDot; ( EC t - a EC + b EC 2 ) b EC - a EC ] - - - ( 17 )
将误差Et和误差变化ECt带入公式(17)后即可获得量化后的参数而后再进行边界绑定至模糊子集论域[-6,6]的范围内,如公式(18)所示。
e = max { - 6 , min { E t * , + 6 } } ec = max { - 6 , min { EC t * , + 6 } } - - - ( 18 )
输入e和ec查询模糊控制查询表3即可获得调节量u,再通过量化输出将查表获得的调节量u进行量化和清晰化操作得到真实的控制量u*,如公式(19)所示。
u*=[u·Ku]   (19)其中量化比例因子Ku用于将控制规则表中的论域折算到实际需要调节参数的论域,由公式(20)计算获得。
K u = max { &Delta;Q } / max u &Element; S { | u | } - - - ( 20 )
如公式(21)所示,利用真实控制量u*对编码输入量化参数Q编码输入量化参数进行修改,再利用公式(22)进行边界绑定,即获得当前编码时刻t的Q。
Qt′=Qt-1+u*   (21)
Qt=max{Qmin,min{Qmax,Qt′}}   (22)
图1是编码流程图,包括:
步骤101:选择/确定编码器。视频图像编码标准有很多,常见的有:MPEG-1、MPEG-2、MPEG-4、H.261、H.263、WMV1、WMV2、RV10、RV20、H.264/SVC、HEVC、AVS-1、AVS-2等。本实施例采用AVS-2编码标准。
步骤102:初始化码率控制参数。读取码流封装格式,从配置文件中输入码率控制的目标比特率,视频信源的帧率、分辨率、GOP预设长度等。根据指定文件封装格式,建立编码后输出文件接口。
步骤103:生成模糊控制查询表。根据模糊控制原理生成模糊控制查询表。
步骤104:循环编码开始,读取信源视频的帧数据。依赖实际编码帧率从信源视频文件或数据流中取得一帧视频原始数据。
步骤105:模糊帧级码率控制,得到当前的编码量化参数。
步骤106:编码器进行编码。根据码率控制器给出的编码参数包含帧类型、编码输入量化参数值等关键参数,对步骤104中取得的原始视频数据进行一帧的视频编码。
步骤107:NAL打包。将步骤106中编码获得的流进行NAL打包操作,即将NAL流写入预先设定文件格式中。统计NAL长度即比特数,统计编码后的客观视觉质量失真PSNR。
步骤108:循环判断编码是否完成。编码结束的情况可能有信源视频结束和预设编码帧数达到预期这两种。当上述两种可能任一条为真时,结束循环,否则跳转到步骤104继续进行一下帧编码。
其中,步骤103所述生成模糊控制查询表具体步骤如下:
步骤103a:定义模糊变量词集为:{负大,负中,负小,零,正小,正中,正大},根据经验设计模糊控制器控制规则,本实施例采用的控制规则如表1所述。
步骤103b:定义模糊子集论域S和隶属函数曲线。本实施例采用论域S={-6,-5,-4-3,-2,-1,0,+1,+2,+3,+4,+5,+6}、“三角形”隶属函数曲线。将确定的隶属函数曲线离散化,就得到了有限个点的隶属度,构成了相应的模糊变量子集,如表2所示。
步骤103c:利用步骤103a所述模糊控制规则与步骤103b所述隶属函数,计算得到模糊关系Ri,j
Ri,j(x,y,z)169×13=Di,j(x,y)×Ui,j(z)=Di,j′(x,y)169×1·Ui,j(z)1×13
步骤103d:取误差和误差变化的模糊论域中的所有元素,按隶属度最大原则得到对应的模糊子集。根据模糊推理规则,计算得到执行量的模糊子集Vij
步骤103e:根据加权平均原则,计算获得输出控制量u,生成如表3给出的模糊控制查询表。
图2给出了本发明的码率控制器架构图。具体实施步骤有:
步骤201:利用步骤102得到的初始化参数,计算当前帧像素点目标比特值Tbpp。
Tbpp = TBR W &CenterDot; H &CenterDot; F C
其中,目标比特率TBR在编码过程中可能被改写,这里采用最新最近的数值。
步骤202:帧级编码的比特分配在额定的Tbpp基础上必须考虑到Bt的反馈,根据已编码比特,对缓冲区进行更新:
B 0 = 0 ( t = 0 ) B t = B t - 1 + R t - 1 - Tbpp ( t &GreaterEqual; 1 ) ,
用模糊控制器来修正缓冲区大小。
步骤203:用误差Et表示Bt与目标缓冲区的误差,即Et=Bt。用ECt表示误差变化,即ECt=Et-Et-1。其基本论域分别定义为[aE,bE]和[aEC,bEC]。
对AVS编码器进行通测可以获得不同序列及档次下的比特率和编码输入量化参数值关系,建立指数R-Q模型R=α·e-β·Q。计算获得参数α和β,及卡尔·皮尔森相关系数值,比特率单位为mbps。本发明采用的β值为所列表中β均值0.10,编码输入量化参数值变化幅度设为±2。
利用指数平滑法计算得到比特率R值,
R = R &OverBar; t = &rho; &CenterDot; R t - 1 + ( 1 - &rho; ) &CenterDot; R &OverBar; t - 1
其中,为当前时刻t的平滑输出比特率;ρ为平滑系数,取值范围是0至1,此处平滑系数ρ取典型值0.3;β为先验的R-Q模型参数,取值范围为0.08至0.10;Rt-1为上一时刻t-1帧编码输出比特,为上一时刻t-1的平滑输出比特率;
[aE,bE]=[-△R,△R]=[-β·R·2,β·R·2]
[aEC,bEC]=[-△R·max{|△Q|},△R·max{|△Q|}]=[-β·R·4,β·R·4]
计算获得[aE,bE]和[aEC,bEC]。
步骤204:利用模糊控制器计算得到控制量u*
步骤205:最后,利用真实控制量u*对编码输入量化参数值进行修改,Qt=Qt-1+u*,再对其进行边界绑定,Qt=max{Qmin,min{Qmax,Qt}},获得当前编码时刻t的编码输入量化参数值,进行一帧编码。
图3展现了模糊控制的基本原理,具体流程如下:
步骤301:输入参数误差Et和误差变化ECt。利用公式进行量化处理获得量化后的参数
E t * = [ 12 &CenterDot; ( E t - a E + b E 2 ) b E - a E ] , EC t * = [ 12 &CenterDot; ( EC t - a EC + b EC 2 ) b EC - a EC ]
再进行边界绑定至模糊子集论域[-6,6]的范围内得到e和ec。
e = max { - 6 , min { E t * , + 6 } } ec = max { - 6 , min { EC t * , + 6 } }
步骤302:利用e和ec查询表3所示的模糊控制查询表,得到调节量u。
步骤303:通过公式u*=[u·Ku]将查表获得的调节量u进行清晰化操作得到真实的控制量u*。其中量化因子Ku的值为编码输入量化参数变化的最大变化量与调节量u的理论最大值的比值。
本发明已实现集成并以动态链接的方式提供接口。为了说明本发明的整体性能,以AVS-2(9.2版本)编码器为例,可以直接调用本发明接口,实现统一的模糊逻辑码率控制器。
按照AVS-2制定的通测条件,测试序列如表4所示:
表4 AVS-2通测序列及帧数
本发明的码率控制算法在RA、LDP、AI三种典型的配置下实施。码率控制的目标比特率设定为RA、LDP、AI在27、32、38、45四个测点下标准配置测试后的比特率结果。码率控制的初始化编码输入量化参数值即为上述四个测点编码输入量化参数值。测试结果如表5所示:
表5 测试性能比较
单元格中百分比数值为BD-Rate,BD-Rate表示比特率与失真之间的关系,其值为负表示达到相同的视觉质量,比特率节省的比例,为正表示比特率过多消耗的比例。从表5中可以看出,本发明的码率控制功能开启后,BD-Rate在RA、LDP、AI三种编码结构下都获得明显增益,比特率控制精度非常高。
如图4、图5、图6所示分别为AI、LDP、RA配置下测试结果。视频分辨率格式为:WQVGA为416x240,QVGA为832x480,720P为1280x720,1080p为1920x1080,UHD为2560x1600X-轴坐标表示视频图像播放的时间刻度,Y-轴表示不同初始编码输入量化参数设置下的缓冲区高度值。可以看到缓冲区曲线在目标缓冲区高度附近呈现紧密围绕并频繁绕动,表明本发明的码率控制能力强。

Claims (2)

1.基于模糊逻辑的码率控制方法,其特征在于,包括以下步骤:
1)计算当前帧像素点目标比特值Tbpp;
2)更新当前时刻t的缓冲区容量Bt,当前时刻t=0时,Bt=0,当前时刻t≥1时,Bt=Bt-1+Rt-1-Tbpp;Bt-1为上一时刻t-1的缓冲区容量,Rt-1为上一时刻t-1帧编码输出比特;
3)计算当前时刻t的缓冲区误差Et,Et=Bt,缓冲区误差变化ECt=Et-Et-1,Et-1为上一时刻的缓冲区误差;计算当前时刻t的缓冲区误差Et对应的误差区间[aE,bE],缓冲区误差变化ECt对应的误差变化区间[aEC,bEC];
[ a E , b E ] = [ - &beta; &CenterDot; R &OverBar; t &CenterDot; 2 , &beta; &CenterDot; R &OverBar; t &CenterDot; 2 ] ;
[ a EC , b EC ] = [ - &beta; &CenterDot; R &OverBar; t &CenterDot; 4 , &beta; &CenterDot; R &OverBar; t &CenterDot; 4 ] ;
其中, 为当前时刻t的平滑输出比特率;ρ为平滑系数,取值范围是0至1;β为先验的R-Q模型参数,取值范围为0.08至0.10;Rt-1为上一时刻t-1帧编码输出比特,为上一时刻t-1的平滑输出比特率;
4)计算缓冲区误差Et的量化参数将缓冲区误差变化ECt的量化参数
E t * = [ 12 &CenterDot; ( E t - a E + b E 2 ) b E - a E ] EC t * = [ 12 &CenterDot; ( EC t - a EC + b EC 2 ) b EC - a EC ] ;
5)将缓冲区误差量化参数进行边界绑定至模糊子集论域得到对应的元素e为: e = max { - 6 , min { E C t * , + 6 } } ;
将缓冲区误差变化量化参数进行边界绑定至模糊子集论域得到对应的元素ec为: ec = max { - 6 , min { E C t * , + 6 } } ;
6)利用元素e和元素ec查询模糊控制查询表得到当前时刻t的调节量u;所述模糊控制查询表的列表头对应误差E量化至模糊子集论域中的13个元素,行表头对应误差变化EC量化至模糊子集论域中的13个元素,13×13个单元格对应13×13个控制量,模糊子集论域S={-6,-5,-4-3,-2,-1,0,+1,+2,+3,+4,+5,+6};
7)计算真实控制量u*,u*=[u·Ku],Ku为量化因子,量化因子为编码输入量化参数变化的最大变化量与调节量u的理论最大值的比值;
8)利用真实控制量u*计算当前时刻t的编码输入量化参数值Qt,Qt=max{Qmin,min{Qmax,Qt-1+u*}};其中,Qmin为量化参数最小值,Qmax为量化参数最大值,Qt-1为上一时刻t-1的编码输入量化参数值。
2.基于模糊逻辑码率控制的视频编码方法,特征在于,包括以下步骤:
1)初始化步骤:
1-1)编码初始化:设置视频图像编码标准、码率控制参数、数据封装格式;
1-2)模糊控制初始化:设置7级模糊变量、模糊子集论域S={-6,-5,-4-3,-2,-1,0,+1,+2,+3,+4,+5,+6}和隶属函数曲线,得到模糊控制查询表,模糊控制查询表的列表头对应误差E量化至模糊子集论域中的13个元素,行表头对应误差变化EC量化至模糊子集论域中的13个元素,13×13个单元格对应13×13个控制量;
2)帧级码率控制步骤:
2-1)计算当前帧像素点目标比特值Tbpp;
2-2)更新当前时刻t的缓冲区容量Bt,当前时刻t=0时,Bt=0,当前时刻t≥1时,Bt=Bt-1+Rt-1-Tbpp;Bt-1为上一时刻t-1的缓冲区容量,Rt-1为上一时刻t-1帧编码输出比特;
2-3)计算当前时刻t的缓冲区误差Et,Et=Bt,缓冲区误差变化ECt=Et-Et-1,Et-1为上一时刻的缓冲区误差;计算当前时刻t的缓冲区误差Et对应的误差区间[aE,bE],缓冲区误差变化ECt对应的误差变化区间[aEC,bEC];
[ a E , b E ] = [ - &beta; &CenterDot; R &OverBar; t &CenterDot; 2 , &beta; &CenterDot; R &OverBar; t &CenterDot; 2 ] ;
[ a EC , b EC ] = [ - &beta; &CenterDot; R &OverBar; t &CenterDot; 4 , &beta; &CenterDot; R &OverBar; t &CenterDot; 4 ] ;
其中, 为当前时刻t的平滑输出比特率;ρ为平滑系数,取值范围是0至1;β为先验的R-Q模型参数,取值范围为0.08至0.10;Rt-1为上一时刻t-1帧编码输出比特,为上一时刻t-1的平滑输出比特率;
2-4)计算缓冲区误差Et的量化参数将缓冲区误差变化ECt的量化参数
E t * = [ 12 &CenterDot; ( E t - a E + b E 2 ) b E - a E ] EC t * = [ 12 &CenterDot; ( EC t - a EC + b EC 2 ) b EC - a EC ] ;
2-5)将缓冲区误差量化参数进行边界绑定至模糊子集论域得到对应的元素e为: e = max { - 6 , min { E C t * , + 6 } } ;
将缓冲区误差变化量化参数进行边界绑定至模糊子集论域得到对应的元素ec为: ec = max { - 6 , min { E C t * , + 6 } } ;
2-6)利用元素e和元素ec查询模糊控制查询表得到当前时刻t的调节量u;
2-7)计算真实控制量u*,u*=[u·Ku],Ku为量化因子,量化因子为编码输入量化参数变化的最大变化量与调节量u的理论最大值的比值;
2-8)利用真实控制量u*计算当前时刻t的编码输入量化参数值Qt,进入步骤3);Qt=max{Qmin,min{Qmax,Qt-1+u*}};其中,Qmin为量化参数最小值,Qmax为量化参数最大值,Qt-1为上一时刻t-1的编码输入量化参数值;
3)根据计算当前时刻t的编码输入量化参数值Qt对当前读取的一帧数据进行编码,编码完成后进行数据封装,数据封装后的长度为当前时刻t的帧编码输出比特Rt,判断编码是否完成,如是,则结束,否则,更新时间变量t=t+1,进行下一帧编码,返回步骤2)。
CN201510053198.4A 2015-02-02 2015-02-02 基于模糊逻辑的码率控制方法及视频编码方法 Expired - Fee Related CN104702974B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510053198.4A CN104702974B (zh) 2015-02-02 2015-02-02 基于模糊逻辑的码率控制方法及视频编码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510053198.4A CN104702974B (zh) 2015-02-02 2015-02-02 基于模糊逻辑的码率控制方法及视频编码方法

Publications (2)

Publication Number Publication Date
CN104702974A true CN104702974A (zh) 2015-06-10
CN104702974B CN104702974B (zh) 2018-04-06

Family

ID=53349684

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510053198.4A Expired - Fee Related CN104702974B (zh) 2015-02-02 2015-02-02 基于模糊逻辑的码率控制方法及视频编码方法

Country Status (1)

Country Link
CN (1) CN104702974B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106454317A (zh) * 2016-11-15 2017-02-22 天津大学 基于模糊控制的立体视频质量自适应算法
CN110720217A (zh) * 2017-05-26 2020-01-21 Sk电信有限公司 用于支持各种块大小的图像编码或解码的设备和方法
US11792397B2 (en) 2017-05-26 2023-10-17 Sk Telecom Co., Ltd. Apparatus and method for video encoding or decoding supporting various block sizes

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6075819A (en) * 1997-03-26 2000-06-13 Lg Information & Communications, Ltd. Apparatus for video rate control using fuzzy rule-based control
US20050015259A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Constant bitrate media encoding techniques
CN101375535A (zh) * 2005-12-29 2009-02-25 诺基亚公司 调谐时间减少
US7533075B1 (en) * 2003-09-11 2009-05-12 Emblaze Vcon Ltd System and method for controlling one or more signal sequences characteristics

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6075819A (en) * 1997-03-26 2000-06-13 Lg Information & Communications, Ltd. Apparatus for video rate control using fuzzy rule-based control
US20050015259A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Constant bitrate media encoding techniques
US7533075B1 (en) * 2003-09-11 2009-05-12 Emblaze Vcon Ltd System and method for controlling one or more signal sequences characteristics
CN101375535A (zh) * 2005-12-29 2009-02-25 诺基亚公司 调谐时间减少

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
REZAEI M: "Fuzzy Rate Controller for Variable Bitrate Video in Mobile Applications", 《IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS》 *
TSANG D H K: "Fuzzy-based rate control for real-time MPEG video", 《IEEE TRANSACTIONS ON FUZZY SYSTEMS》 *
ZHOU Y: "New rate-distortion modeling and efficient rate control for H.264/AVC video coding", 《SIGNAL PROCESSING IMAGE COMMUNICATION》 *
朱利: "视频会议系统中一种基于FLC的流控策略", 《计算机研究与发展》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106454317A (zh) * 2016-11-15 2017-02-22 天津大学 基于模糊控制的立体视频质量自适应算法
CN110720217A (zh) * 2017-05-26 2020-01-21 Sk电信有限公司 用于支持各种块大小的图像编码或解码的设备和方法
US11665346B2 (en) 2017-05-26 2023-05-30 Sk Telecom Co., Ltd. Apparatus and method for video encoding or decoding supporting various block sizes
US11736691B2 (en) 2017-05-26 2023-08-22 Sk Telecom Co., Ltd. Apparatus and method for video encoding or decoding supporting various block sizes
US11792397B2 (en) 2017-05-26 2023-10-17 Sk Telecom Co., Ltd. Apparatus and method for video encoding or decoding supporting various block sizes
CN110720217B (zh) * 2017-05-26 2023-10-24 Sk电信有限公司 用于支持各种块大小的图像编码或解码的设备和方法
US11818348B2 (en) 2017-05-26 2023-11-14 Sk Telecom Co., Ltd. Apparatus and method for video encoding or decoding supporting various block sizes

Also Published As

Publication number Publication date
CN104702974B (zh) 2018-04-06

Similar Documents

Publication Publication Date Title
CN100512432C (zh) 视频数据传输系统
US8379523B2 (en) Method and apparatus for transmitting a coded video signal
US7068718B2 (en) Advanced method for rate control and apparatus thereof
EP2769553B1 (en) Rate-distortion-complexity optimization of video encoding
CN101069432B (zh) 用于视频编码器速率控制的量化参数的确定方法和设备
US6801572B2 (en) Method and apparatus for image signal encoding
CN101647278B (zh) 用于视频编码标准的改进的视频速率控制
US8223836B2 (en) Constant-quality rate control system and algorithm for regions of interest
CN102932641B (zh) 一种恒定质量码率控制方法
US20030095594A1 (en) Method and system for rate control during video transcoding
KR20040069198A (ko) 비디오 인코더에서 매크로블록 양자화 파라미터들을선택하기 위한 방법 및 장치
US8085679B2 (en) Apparatuses and methods for controlling bit rates in variable bit rate video coding
WO2009035143A1 (ja) 画像処理装置及び方法
CN101754003B (zh) 一种稳定视频质量的码率控制方法
CN101335891A (zh) 视频速率控制方法及视频速率控制器
CN102316313B (zh) 嵌入式实时视频压缩系统中的低复杂度的比特率控制方法
CN104702974B (zh) 基于模糊逻辑的码率控制方法及视频编码方法
US7397855B2 (en) Rate controlling method and apparatus for use in a transcoder
CN100574442C (zh) 基于图像直方图的码率控制方法
CN104125460A (zh) 用于控制视频比特率的方法和设备
US20040146103A1 (en) Bit rate control method and apparatus for MPEG-4 video coding
CN117956160A (zh) 码率控制方法、码率控制装置以及计算机存储介质
Zhang et al. Rate controllable learned image compression based on rfl model
CN114422783B (zh) 视频编码方法、电子设备及存储介质
Sun et al. New bufferless rate control for high efficiency video coding

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180406

Termination date: 20220202