一种编码模式的选择方法和装置的制作方法

文档序号:7714533阅读:109来源:国知局
专利名称:一种编码模式的选择方法和装置的制作方法
技术领域
本发明涉及通讯领域,尤其涉及一种编码模式的选择方法和装置。
背景技术
在IP (Internet Protocol,因特网协议)网络上传播的一见频码流一般都釆用H.263、 H.264、 MPEG4等压缩标准,其特点是占用带宽低,解码端恢复的S见频质量较好。但在实时视频应用.的网络场景中,如视频会议系统、实时监控场景等,经常出现丟包。由于压缩标准中采用的帧间参考,视频码流的缺失造成的解码端视频数椐错误一般都会一直延续到新的I帧的视频码流到来为止,会对视频质量产生严重的影响。传统的解决方法从原理上可以分为两种(1)在解码端增加丢包恢复功能,通过复杂的数据插值算法估计出丢失的部分;(2)在编码端增加容错处理,通过增加额外的数据字段对重要的视频数据做冗余发送。现有技术中通常使用第一种解决方法。
对于第一种方法,现有的视频监控系统中解码端大多釆用如下两种方案
方案一中,当解码端才企测到视频数据发生丟包时,对接收到的不完整帧解码,使用当前帧已解码得到的信息预测出丟失的图像信息。例如根据丟失数据上一行的编码类型和解码数据、丢失数据左行的编码类型和解码后的视频数据、丟失数据上一帧对应位置的编码类型和解码数据等信息等,预测丟失的纟见频数据信息。
方案二中,当解码端检测到视频数据发生丟包时,对接收到的不完整帧解码,根据帧间信息进行帧间预测参考和补偿,预测参考的对象可以根据周围宏块的参考帧索引,也可以对上一帧或几帧的参考帧指针和运动矢量做中值滤波,把滤波后的数据作为丟失宏块的参考运动矢量,通过帧间预测得到失的纟见频数据信息。
现有技术中存在的问题在于,在进行丟失的视频数据信息的预测时,需要对预测所采用的编码方式进行选择,现有的编码方式的选择过程中并不考虑网络场景中的丟包情况,因此在应用于发生丟包的网络场景中时无法保证能够选择合适的编码方式、得到最优的视频质量。

发明内容
本发明提供一种编码模式的选择方法和装置,用于在发生丟包的网络场景中综合考虑丟包情况选择最佳的编码方式。
为了达到上述目的,本发明提供了一种编码模式的选择方法,包括编码端获取当前与解码端间信道的丢包系数;
所述编码端根据所述丟包系数以及率失真最优方法,获取各可用编码模式对应的拉格朗日耗值;
所述编码端选择具有最小的拉格朗日耗值的编码模式,作为最优的编码模式;
其中,所述获取各可用编码模式对应的拉格朗日耗值包括对于帧内预测的编码方式,
<formula>formula see original document page 5</formula>对于帧间预测的编码方式,
<formula>formula see original document page 5</formula>
其中J表示拉格朗日耗值,丄表示信道的丢包系数,Distortion表示重建图像的质量,Rate表示编码当前一个宏块所需要的比特位数量,^尸为常量;对于所述丄,0<£《1,丢包率越大则丄的值越小,丟包率为O时,1=1。其中,所述编码端获取当前与解码端间信道的丢包系数包括所述编码端根据经验公式获取当前信道的丢包系数;或所述编码端以最优信噪比为判别条件对获取当前信道的丢包系数的公式进行自动调整,并根据自动调整后的公式获取当前信道的丢包系数。其中,还包括
所述编码端在预定的时间间隔到达时,获取当前信道的丟包系数。
本发明还提供一种编码模式的选择装置,包括
系数获取单元,用于获取当前与解码端间信道的丟包系数;
参考值获取单元,用于根据所述系数获取单元获取的丟包系数以及率失真最优方法,获取各可用编码模式对应的拉格朗日耗值;
编码模式获取单元,用于根据所述参考值获取单元获取的各可用编码模式对应的拉格朗日耗值,选择具有最小的拉格朗日耗值的编码模式,作为最优的编码;溪式;
所述参考值获取单元具体用于
对于帧内预测的编码方式,
/ (intra) = Distortion +/Wod&/ * Rate
/1舉,尸(1/丄)*0.85*2,12)/3
对于帧间预测的编码方式,
/ (inter) = Distortion +/Wod£,/> * Rate
其中/表示拉格朗日耗值,丄表示信道的丟包系数,Distortion表示重建图像的质量,Rate表示编码当前一个宏块所需要的比特位数量,g尸为常量;对于所述丄,0<ZX1,丢包率越大则£的值越小,丟包率为O时,£=1。
其中,所述系数获取单元具体用于
根据经验公式获取当前信道的丢包系数;或以最优信噪比为判别条件对获取当前信道的丟包系数的公式进行自动调整,并根据自动调整后的公式获取当前信道的丟包系数。
其中,还包括
定时单元,用于对当前时间进行计时,当预定的时间间隔到达时,通知所述系数获取单元获取当前信道的丢包系数。与现有技术相比,本发明具有以下优点
在网络场景中进行丢失的视频数据信息的预测时,在现有的率失真最优方法下综合考虑网络场景中的丟包情况用于编码模式的选择,因此在发生丟包的网络场景中时可以保证能够选择合适的编码方式、得到最优的视频质量。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的 一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明中提供的编码模式的选择方法的流程图;图2是本发明中提供的编码模式的选择装置的结构示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明提供了一种编码模式的选择方法,如图l所示,包括步骤s 101 、编码端获取当前与解码端间信道的丢包系数。步骤s102、编码端根据丟包系数以及率失真最优方法,获取各可用编码模式对应的拉格朗日耗值。
具体的,获取各可用编码模式对应的拉格朗日耗值包括对于帧内预测的编石马方式,
/ (intra) = Distortion * Rate
/1舉,/=(1/丄)*0.85*2,12)/3
对于帧间预测的编码方式,
■/ (inter) = Distortion +/Woo£,p * Rate
其中J表示拉格朗日耗值,£表示信道的丟包系数,Distortion表示重建图像的质量,Rate表示编码当前一个宏块所需要的比特位数量,g尸为常量;对于所述丄,0<丄<1,丟包率越大则丄的值越小,丟包率为0时,丄=1。
步骤s103、编码端选择具有最小的拉格朗日耗值的编码模式,作为最优的编码模式。
以下结合具体的实施方式,对本发明中提供的编码模式的选择方法的具体实施方式
进^f于详细"i兌明。
现有的H.263/H.264等视频编码标准中,编码器可以选择不同的编码模式,如多参考帧模式、子块模式选择等,对于多参考帧模式,属于帧间预测模式;对于子块模式,根据子块的不同可能属于帧间预测模式或帧内预测模式。因此,为了选择合适的编码模式以获取较佳的编码效果,现有技术中提出了 RDO (Rate Distortion Optimized,率失真最优)方法,用于在多种编码模式中选择最优的编码模式。以下首先对现有的根据RDO方法选择最优的编码模式的原理进行描述
在RDO方法下,对视频序列进行编码时,对于每一种可用的编码模式(包
括属于帧间预测模式的编码模式和/或属于帧内预测模式的编码模式),需要从率失真最优的角度选择一种编码模式。具体的,以拉格朗日耗值作为率失真最优的衡量标准,根据参考宏块间的MAD (Mean Absolute Difference,平均绝对差值)值和编码模式所耗费的比特(bit),拉格朗日耗值的计算公式如下
/= Distortion + AM07KW * Rate (1)
其中为拉格朗日乘子,计算方法如下
义膨柳=0.85 x 2,2)/3 (2)
其中J表示拉格朗日耗值,Distortion表示重建图像的质量,Rate表示编码当前一个宏块所需要的比特数量,g尸为常量。
现有技术中,编码器在选择编码方式时,倾向于根据编码方式的图像质量和所需要的比特之间获取最小的拉格朗日耗值。具体的,对于每一种编码方法,获取该编码方法对应的Distortion和Rate,分别使用上述公式(1 )计算该编码方法对应的/。之后,根据各编码方法对应的/,选择具有最小的J的编码方式。
从信源编码的角度,现有技术中所使用的RDO方法是一种最优的实现方案,但该方法没有考虑到信道传输中丟包对图像质量的影响。现有技术中,Distortion的计算通常由SAD ( Sum of Absolute Difference,绝对误差和)、SSD(Sum of Squared Difference,平方差和)等公式计算得到,并基于编码端与解码端的信道完全没有丢包发生这一假设而来。因此,在网络环境中应用该方法时,由于网络丟包的存在,会使得Distortion的计算结果并不符合实际情况,导致根据上述公式(1)选择的编码模式并不是最优的编码模式,从而使得解码端无法得到最优的图像质量。
为了解决这个问题,本发明提供了一种编码选择方法,在上述率失真最优方法的基础上,引入一个表征传输中丢包发生情况的变量丄,用于表示信道
中的丢包系数(0<丄< i )。当传输中的丢包率(丟包率-iooy。x实际接收到的
数据包数量/初始发送的数据包数量)越大,丄值越小。丄的具体形式可以通过丟包率(%)表示,或者通过其他参数表示并转化到(O,l]之间的区域,当丟包率为0 (即没有丢包发生时),£=1;当丟包率趋近于1 (即几乎所有包均丟失时),丄趋近于O。
对于Z值的计算公式,可以由经验公式获得,也可以由编码器以最优信噪比为判别条件自动调整。
本发明的一个应用场景中提供的编码模式获取方法中,关于拉格朗日耗值J的计算公式如下
/ (intra) = Distortion +/W<9m;/ * Rate
其中,/Woz)£,/= (l/Z)*0.85*2(eim2)/3 (3)
■/ (inter) = Distortion +/Wod£,/> * Rate
其中,/W0M,/>= "0.85*2(ep-12)/3 (4)
对于公式(3),适用于帧内预测模式的情况;即对于属于帧内预测模式的编码模式,使用该公式(3)取代现有技术中的公式(1 )进行拉格朗日耗值J的计算,其中涉及了新引入的因子1/丄。
对于公式(4),适用于帧间预测模式的情况,即对于属于帧间预测模式的编码模式,使用该公式(4)取代现有技术中的公式(1)进行拉格朗日耗值J的计算,其中涉及了新引入的因子丄。
从公式(3)和(4)可以发现,当信道不存在丢包时丄等于1,这时,公式(3)和公式(4)等同于公式(1),与现有技术中的RDO方法相同。当有丢包发生时,丄的值将小于l,此时对于属于帧内预测模式的编码模式,其对应的拉格朗日耗值J将变大;对于属于帧间预测模式的编码模式,其对应的拉格朗日耗值J将变小。但拉格朗日耗值J的计算还依赖于公式中的Distortion值和Rate值,不同模式下这两个值不相同,丄值只对J值起部分调节作用。因此,最后选择哪种编码模式,还得依赖公式(3)和(4)计算得出的最终结果。
对于解码端而言,在接收到编码端发送的码流后,根据码流中携带的信息标识可以获知编码端使用的编码模式,进而进行解码,该过程与丟包率无关。
本发明提供的方法中,为了实现编码模式的动态选择,编码器可以在固定的时间周期内每隔预定的时间即更新一次丄的值,并根据更新后的£的值
重新选择编码模式。当丄的值越小时,公式(3)计算得到的J的值越大;反之,当丄的值越大时,公式(3)计算得到的J的值越小。因此,随着丟包系数i:的减小(即丟包率变大),编码器将倾向于使用帧间预测的编码模式;而随着丟包系数丄的增大(即丟包率变小),编码器将倾向于使用帧内预测的编码模式,以有效的减少解码端因丟包而造成的帧间误差传递,在解码端可以在丟包环境下可以较好的对视频图像进行恢复。
通过使用本发明提供的上述方法,在网络场景中进行丢失的^L频数据信息的预测时,在现有的率失真最优方法下综合考虑网络场景中的丢包情况用于编码模式的选择,因此在发生丢包的网络场景中时可以保证能够选择合适的编码方式、得到最优的视频质量。
本发明还提供了一种编码模式的选择装置,如图2所示,包括系数获取单元10,用于获取当前与解码端间信道的丟包系数;参考值获取单元20,用于根据系数获取单元IO获取的丢包系数以及率失真最优方法,获取各可用编码模式对应的拉格朗日耗值;具体的对于帧内预测的编码方式,
/ (intra) = Distortion +/Wd, * Rate
/Wj=(l/Z)*0.85*2(e/M2)/3
对于帧间预测的编码方式,
/ (inter) = Distortion +/Wod£,/> * Rate
如,丄*0.85*2(阔/3其中J表示拉格朗日耗值,Z表示信道的丢包系数,Distortion表示重建图像的质量,Rate表示编码当前一个宏块所需要的比特位数量,g尸为常量;对于所述丄,0<丄《1,丢包率越大则丄的值越小,丢包率为O时,1=1。
编码模式获取单元30,用于根据参考值获取单元20获取的各可用编码模式对应的拉格朗日耗值,选择具有最小的拉格朗日耗值的编码模式,作为最优的编码模式。
该系数获取单元IO可以具体用于
根据经验公式获取当前信道的丟包系数;或
以最优信噪比为判别条件对获取当前信道的丟包系数的公式进行自动调整,并根据自动调整后的公式荻取当前信道的丟包系数。
该选择装置还包括定时单元40,用于对当前时间进行计时,当预定的时间间隔到达时,通知系数获取单元IO获取当前信道的丟包系数。
通过使用本发明提供的上述装置,在网络场景中进行丢失的视频数据信息的预测时,在现有的率失真最优方法下综合考虑网络场景中的丟包情况用于编码模式的选择,因此在发生丢包的网络场景中时可以保证能够选择合适的编码方式、得到最优的视频质量。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM, U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的单元或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的单元可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的单元可以合并为一个单元,也可以进一
分成多个子单元。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣°
权利要求
1、一种编码模式的选择方法,其特征在于,包括编码端获取当前与解码端间信道的丢包系数;所述编码端根据所述丢包系数以及率失真最优方法,获取各可用编码模式对应的拉格朗日耗值;所述编码端选择具有最小的拉格朗日耗值的编码模式,作为最优的编码模式;其中,所述获取各可用编码模式对应的拉格朗日耗值包括对于帧内预测的编码方式,J(intra)=Distortion+λMODE,I*RateλMODE,I=(1/L)*0.85*2(QP-12)/3对于帧间预测的编码方式,J(inter)=Distortion+λMODE,P*RateλMODE,P=L*0.85*2(QP-12)/3其中J表示拉格朗日耗值,L表示信道的丢包系数,Distortion表示重建图像的质量,Rate表示编码当前一个宏块所需要的比特位数量,QP为常量;对于所述L,0<L≤1,丢包率越大则L的值越小,丢包率为0时,L=1。
2、 如权利要求l所述的方昧,其特征在于,所述编码端获取当前与解码端间信道的丟包系数包括所述编码端根据经验公式获取当前信道的丟包系数;或所述编码端以最优信噪比为判别条件对获取当前信道的丢包系数的公式进行自动调整,并根据自动调整后的公式获取当前信道的丟包系数。
3、 如权利要求1或2中所述的方法,其特征在于,还包括所述编码端在预定的时间间隔到达时,获取当前信道的丟包系数。
4、 一种编码模式的选择装置,其特征在于,包括系数获取单元,用于获取当前与解码端间信道的丟包系数;参考值获取单元,用于根据所述系数获取单元获取的丢包系数以及率失 真最优方法,获取各可用编码模式对应的拉格朗日耗值;编码模式获取单元,用于根据所述参考值获取单元获取的各可用编码模 式对应的拉格朗日耗值,选择具有最小的拉格朗日耗值的编码模式,作为最 优的编码模式;所述参考值获取单元具体用于对于帧内预测的编码方式,/ (intra) = Distortion +/\a/od£,/ * Rate/W,/=,*0.85*2(e/M2)/3对于帧间预测的编码方式,/ (inter) = Distortion +/Woz £,p * Rate其中J表示拉格朗日耗值,Z表示信道的丟包系数,Distortion表示重建 图像的质量,Rate表示编码当前一个宏块所需要的比特位数量,Q尸为常量; 对于所述丄,0<丄《1,丟包率越大则丄的值越小,丢包率为0时,£=1。
5、 如权利要求4所述的选择装置,其特征在于,所述系数获取单元具体 用于根据经验公式获取当前信道的丢包系数;或以最优信噪比为判别条件对获取当前信道的丢包系数的公式进行自动调 整,并根据自动调整后的公式获取当前信道的丟包系数。
6、 如权利要求4或5所述的选择装置,其特征在于,还包括 定时单元,用于对当前时间进行计时,当预定的时间间隔到达时,通知所述系数获取单元获取当前信道的丟包系数。
全文摘要
本发明公开了一种编码模式的选择方法和装置。该方法包括编码端获取当前与解码端间信道的丢包系数;所述编码端根据所述丢包系数以及率失真最优方法,获取各可用编码模式对应的拉格朗日耗值;所述编码端选择具有最小的拉格朗日耗值的编码模式,作为最优的编码模式。通过使用本发明,在网络场景中进行丢失的视频数据信息的预测时,在现有的率失真最优方法下综合考虑网络场景中的丢包情况用于编码模式的选择,因此在发生丢包的网络场景中时可以保证能够选择合适的编码方式、得到最优的视频质量。
文档编号H04N7/32GK101674480SQ20091018072
公开日2010年3月17日 申请日期2009年10月21日 优先权日2009年10月21日
发明者吴参毅, 朱旭东, 攀 黄 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1