一种流媒体视频编码方法及装置的制作方法

文档序号:7721025阅读:161来源:国知局
专利名称:一种流媒体视频编码方法及装置的制作方法
技术领域
本发明涉及音视频技术领域,特别是涉及一种流媒体视频编码方法及装置。
背景技术
MPEG压缩标准是针对运动图像而设计的,基本方法是——在单位时间内采集并保 存第一帧信息,然后就只存储其余帧相对第一帧发生变化的部分,以达到压缩的目的。MPEG 压缩标准可实现帧之间的压缩。在多媒体数据压缩标准中,较多采用MPEG系列标准。MPEG 系列压缩算法从早期的MPEG-l、MPEG-2发展到现在的MPEG-4以及最新的H. 264,其核心压 缩原理没有变化。MPEG系列压缩算法都在时域上对视频流进行压缩。MPEG系列压缩算法采用了 I帧、P帧和B帧的模式,当前大部分压缩芯片或者压缩 算法并没有实现B帧。其中,I帧是关键帧,P帧是前向预测帧,B帧是后向预测帧。当解码器收到一个I帧,可立刻进行解码,而不需要其它条件。但是,当解码器收 到P帧或者B帧的时候,就不能够立刻进行解码,比如,P帧的解码需要解码器先解码该帧前 面的P帧或者I帧。如果前面的P帧或者I帧在网络中丢掉,即使后面连续收到很多P帧, 也无法正常解码。例如在带宽不够的情况下网络丢掉一个I帧,即使随后的P帧都收到, 仍然无法正确解码出图像。综上所述,目前的MPEG压缩算法在低带宽容易丢帧的情况下,存在无法正确解码 的问题。例如,对H. 264来说,由于自身码流本身比较低,可能在低带宽下1秒能够传送15、 16帧,但是,如果I帧在网络上丢失了,即使连续收到15帧P帧也无法正常解码出一幅图 片,这时给用户的直观感觉是画面长时间停滞,低带宽下H. 264居然比不上MJPEG。

发明内容
本发明所要解决的技术问题是提供一种流媒体视频编码方法及装置,以解决丢帧 导致无法正确解码的问题。为了解决上述问题,本发明公开了一种流媒体视频编码方法,包括实时检测网络带宽;根据网络带宽实时调整关键帧产生的间隔;利用关键帧进行视频编码。优选的,所述根据网络带宽实时调整关键帧产生的间隔,包括当网络带宽符合表示低带宽的预置条件时,减小关键帧产生的间隔,从而增加关 键帧的数量。优选的,所述利用关键帧进行视频编码之前,还包括在关键帧中加入校验信息。优选的,针对同一视频,采用多种码率进行编码。优选的,对于每种码率的编码,当网络带宽符合表示低带宽的预置条件时,减小关 键帧产生的间隔,从而增加关键帧的数量。本发明还提供了一种流媒体视频编码装置,包括
带宽检测单元,用于实时检测网络带宽;关键帧调整单元,用于根据网络带宽实时调整关键帧产生的间隔;编码单元,用于利用关键帧进行视频编码。优选的,所述关键帧调整单元包括关键帧增加子单元,用于当网络带宽符合表示低带宽的预置条件时,减小关键帧 产生的间隔,从而增加关键帧的数量。优选的,所述装置还包括校验单元,用于在关键帧中加入校验信息。优选的,所述编码单元针对同一视频,采用多种码率进行编码。与现有技术相比,本发明具有以下优点本发明针对MPEG压缩算法,通过实时检测网络带宽,并根据网络带宽实时调整关 键帧产生的间隔来进行编码,通常在低带宽下减小关键帧产生的间隔来增加关键帧。这样, 即使出现丢掉关键帧的情况,由于下一个关键帧能很快弥补上,因此不会影响解码,视频播 放的画面也不会长时间的停滞,保证了用户浏览的流畅度,提升了视频图像的质量。


图1是本发明实施例一所述一种流媒体视频编码方法的流程图;图2是本发明实施例二所述一种流媒体视频编码方法的流程图;图3是本发明实施例三所述一种流媒体视频编码装置的结构图;图4是本发明实施例中MPEG-2帧结构示意图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。实施例一参照图1,是本发明实施例一所述一种流媒体视频编码方法的流程图。针对MPEG压缩算法,如前所述,采用了 I帧、P帧和B帧的模式,其中I帧是关键 帧,P帧是前向预测帧,B帧是后向预测帧。解码时,解码器可以立刻对I帧进行解码,但如 果没有I帧,P帧和B帧就无法解码。本实施例对现有的MPEG编码进行了编码优化,其编码过程如下步骤101,实时检测网络带宽;在计算机网络中,带宽用来表示网络的通信线路所能传送数据的能力,因此网络 带宽表示在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。网络的信道 带宽与它的数据传输能力存在一个稳定的基本关系带宽越高,数据传输可利用的资源就 越多,因而能达到越高的速度。现有技术中有多种可以检测网络带宽的方法,如通过网络流量的方式等。本实施 例可以选取一种比较简单的算法和较低的开销,对带宽进行实时检测,实时掌握实际的网 络带宽,这样就可以对编码器的策略进行实时调整,从而最大利用带宽进行流媒体视频传输。
4
步骤102,根据网络带宽实时调整关键帧产生的间隔;在MPEG系列编码算法中,通常用GOP (Group Of Picture)这一值来设置I帧产生 的间隔。经过对比测试研究,在低带宽的情况下,可以将GOP的值调整到一个较小的合适 值,这样1秒钟能够产生多个I帧,即使偶尔丢掉了一个I帧,下一个I帧也能很快弥补上, 图像不至于长时间的停滞。所谓G0P,意思是画面组,一个GOP就是一组连续的画面。MPEG编码将画面(即 帧)分为I、P、B三种,I帧是一个完整的画面,而P帧和B帧记录的是相对于I帧的变化。 例如,参照图4所示,是MPEG-2的帧结构,一个GOP包括的帧序列是IBBPBBPBBPBB。正常情况下,如果网络带宽良好,则可以按照传统的MPEG编码设置正常情况下的 I帧产生间隔,即设置GOP值。但是,如果实际的网络带宽较低,即实时检测结果符合表示低带宽的条件,则本实 施例通过减小I帧产生的间隔,即减小GOP值,可以增加I帧的数量。甚至,在网络带宽非常良好的情况下,可以通过增大I帧产生的间隔,来减小I帧 的数量。步骤103,利用关键帧进行视频编码。综上所述,本实施例可以根据网络带宽的变化实时调整I帧数量,尤其是在低带 宽情况下,通过增加I帧来进行编码,即使网络出现丢掉I帧的情况,由于下一个I帧能很 快弥补上,因此不会影响解码,视频播放的画面也不会长时间的停滞,保证了用户浏览的流 畅度,提升了视频图像的质量。例如,对于H. 264来说,按照现有技术的编码方法,可能在低带宽下1秒能够传送 15,16帧,但是,按照本发明所述方法在编码过程中增加I帧,在低带宽下1秒能够传送的 帧数大于原来的16帧。如果I帧在网络上丢失了,由于I帧的增加导致I帧之间的间隔变 小,解码器可以在很短的时间收到下一个I帧,利用所述下一个I帧继续进行解码。如果增 加的I帧足够多,则解码过程不会由于丢帧而产生影响,那么视频播放的流畅度也不会受 到影响。实施例二 本实施例是对实施例一的进一步优化,具体如下。参照图2,是本发明实施例二所述一种流媒体视频编码方法的流程图。步骤201,针对同一视频,采用多种码率进行编码;码率就是数据传输时单位时间传送的数据位数,码率也叫码流(DataRate),一般 用的单位是kbps即千位每秒。通俗一点的理解就是取样率,单位时间内取样率越大,精度 就越高,处理出来的文件就越接近原始文件,但是文件体积与取样率是成正比的,所以几乎 所有的编码格式重视的都是如何用最低的码率达到最少的失真。例如,对于同一音视频节目源(实时直播节目源或点播节目源),可以设置 64K-128K、128K-256k、300K、500K、lM、2M等不同的码流,以供用户选择。用户在收看直播节 目或者点播视频节目时,如果当前的网络状态较好,网速较快,则可以选择300K或500K的 高码流进行高清播放;如果在后续播放过程中,由于连接的用户数越来越多,网络变慢,则 用户可以选择128K-256k的低码流进行切换,以适应网络状态的变化,保证画面播放的流 畅。
5
针对每一种码率的编码过程如下步骤202,实时检测网络带宽;步骤203,根据网络带宽实时调整关键帧产生的间隔;如果实际的网络带宽较低,则可以将GOP的值调整到一个较小的合适值,即减小I 帧产生的间隔,可以增加I帧的数量。步骤204,在关键帧中加入校验信息;所述校验信息用于保证服务器播放的内容不会被随意篡改。步骤205,利用关键帧进行视频编码。上述流程中,每一种码率的原始视频流都会在低带宽情况下通过增加关键帧的方 法,来避免解码过程中由于丢帧(关键帧)导致的无法解码。实施例三参照图3,是本发明实施例三所述一种流媒体视频编码装置的结构图。所述编码装置主要包括带宽检测单元31,用于实时检测网络带宽;关键帧调整单元32,用于根据网络带宽实时调整关键帧产生的间隔;编码单元33,用于利用关键帧进行视频编码。在低带宽情况下,所述关键帧调整单元32可以包括关键帧增加子单元,用于当网络带宽符合表示低带宽的预置条件时,减小关键帧 产生的间隔,从而增加关键帧的数量。在MPEG系列编码算法中,通常用GOP (Group Of Picture)这一值来设置I帧产生 的间隔。经过对比测试研究,在低带宽的情况下,可以将GOP的值调整到一个较小的合适 值,这样1秒钟能够产生多个I帧,即使偶尔丢掉了一个I帧,下一个I帧也能很快弥补上, 图像不至于长时间的停滞。优选的,所述编码装置还可以包括校验单元34,用于在关键帧中加入校验信息。所述校验信息用于保证服务器播放的内容不会被随意篡改。优选的,所述编码单元33针对同一视频,采用多种码率进行编码。用户在收看直播节目或者点播视频节目时,如果当前的网络状态较好,网速较快, 则可以选择300K或500K的高码流进行高清播放;如果在后续播放过程中,由于连接的用户 数越来越多,网络变慢,则用户可以选择128K_256k的低码流进行切换,以适应网络状态的 变化,保证画面播放的流畅。综上所述,所述编码装置对传统的MPEG系列编码算法进行了优化改进,可以根据 网络带宽的实时状态调整关键帧的数量,在低带宽情况下增加关键帧,这样即使网络传输 中丢掉了关键帧,由于关键帧的数量较多,下一个关键帧会马上传到,因此解码可以正常进 行。利用所述编码装置,可以提高视频播放的流畅性,并提升视频图像的质量。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与 其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例 而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部 分说明即可。
6
以上对本发明所提供的一种流媒体视频编码方法及装置,进行了详细介绍,本文 中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮 助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思 想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对 本发明的限制。
权利要求
一种流媒体视频编码方法,其特征在于,包括实时检测网络带宽;根据网络带宽实时调整关键帧产生的间隔;利用关键帧进行视频编码。
2.根据权利要求1所述的方法,其特征在于,所述根据网络带宽实时调整关键帧产生 的间隔,包括当网络带宽符合表示低带宽的预置条件时,减小关键帧产生的间隔,从而增加关键帧 的数量。
3.根据权利要求1所述的方法,其特征在于,所述利用关键帧进行视频编码之前,还包 括在关键帧中加入校验信息。
4.根据权利要求1所述的方法,其特征在于针对同一视频,采用多种码率进行编码。
5.根据权利要求4所述的方法,其特征在于对于每种码率的编码,当网络带宽符合表示低带宽的预置条件时,减小关键帧产生的 间隔,从而增加关键帧的数量。
6.一种流媒体视频编码装置,其特征在于,包括带宽检测单元,用于实时检测网络带宽;关键帧调整单元,用于根据网络带宽实时调整关键帧产生的间隔;编码单元,用于利用关键帧进行视频编码。
7.根据权利要求6所述的装置,其特征在于,所述关键帧调整单元包括关键帧增加子单元,用于当网络带宽符合表示低带宽的预置条件时,减小关键帧产生 的间隔,从而增加关键帧的数量。
8.根据权利要求6所述的装置,其特征在于,还包括校验单元,用于在关键帧中加入校验信息。
9.根据权利要求6所述的装置,其特征在于所述编码单元针对同一视频,采用多种码 率进行编码。
全文摘要
本发明提供了一种流媒体视频编码方法及装置,以解决丢帧导致无法正确解码的问题。本发明通过实时检测网络带宽,并根据网络带宽实时调整关键帧产生的间隔来进行编码,通常在低带宽下减小关键帧产生的间隔来增加关键帧。这样,即使出现丢掉关键帧的情况,由于下一个关键帧能很快弥补上,因此不会影响解码,视频播放的画面也不会长时间的停滞,保证了用户浏览的流畅度,提升了视频图像的质量。
文档编号H04N7/26GK101917612SQ20091024280
公开日2010年12月15日 申请日期2009年12月17日 优先权日2009年12月17日
发明者何宇飞, 夏永宏, 李军, 温晓瑶 申请人:新奥特(北京)视频技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1