一种实时视频转码流媒体服务器的制作方法

文档序号:7695774阅读:387来源:国知局
专利名称:一种实时视频转码流媒体服务器的制作方法
技术领域
本发明涉及数字媒体技术,特别涉及一种实时视频转码流媒体服务器。
背景技术
现在数字々某体内容在数字电视、网络电视和手机电一见等领域已经得到了广 泛应用。但是在传输技术和信源的编解码技术上存在着多种技术标准。
由于各种不同标准的存在,大量的视频节目按照不同的格式进行存储和传 输。在仅支持一种视频标准的终端上,很难实现收看采用其他标准编码的视频 节目。
在网络和终端不断融合的今天,要求视频数据格式随应用环境不同而采用 不同编码标准的要求变得越来越迫切。用户希望可以随时随地的收取、保存和 发送视频数据,这就要求视频数据格式随应用环境不同,在异构网络不同终端
中自由转换,包括比特率转换、空间分辨率转换以及不同压缩标准之间的转 换。目前还没有成熟的能够支持不同编码标准之间进行自由转换的技术和设 备,影响了节目资源在不同应用场景的分发和共享。
现在对视频数据进行格式转换的普遍做法是将编码完成的视频数据解压 缩为基带信号,根据情况进行再编码,并加以适当的封装,使用相同的接口协 议,以流的方式,在不同的视频产品之间进行传输共享。这种办法虽然灵活, 但是涉及到二次编码,运算的复杂度很高,对计算机的计算能力要求较高,不 能适应未来流媒体的发展要求,而且对原始节目图像质量的损失较大。
根据视频格式互通的发展趋势来看,开发一种高效、高保真的转码技术和 产品来实现同一视频服务在异构网络中能够自由转换传输显得十分必要,并具 有广泛的应用前景。

发明内容
本发明的目的在于,提供一种实时视频转码流媒体服务器,能够支持不同 编码标准之间进行自由转换传输,有效减少网络传输时对数据的损耗和延时。本发明的实时视频转码流媒体服务器,包括解码模块、编码模块、流媒体 发布模块,其中,所述解码模块,用于实现TS流的解复用及对相应格式节目进行部分解码;所述编码模块,用于将所述解码模块输出的数据进行再编码; 所述流媒体发布模块,用于根据流媒体协议对所述编码模块再编码后的数据进 行封装,并在侦听到用户的请求后,将所述输出的数据推送到客户端。其中,所述解码模块,用于将TS流解复用为MPEG2格式的码流,并根 据标准的MPEG2解码过程进行解码,在解到运动矢量层时停止解码,利用运 动矢量信息进行重新估算。其中,所述解码模块,进一步通过建立前向和后向参考帧中宏块到编码帧 中最相似宏块的反向映射表,得到辅助矢量,以利用运动矢量信息进行重新估 算。其中,所述解码模块,进一步用于记录相似宏块重叠面积,搜索帧内近邻 宏块的运动矢量。其中,所述流媒体发布模块,用于根据流媒体协议对编码^t块再编码后的 数据进行封装,并将这些输出的数据保存到一块緩冲区中,在侦听到用户的请 求时从緩冲区中取出码流数据,按照RTP协议格式进行封装推送到客户端。其中,所述输出后的数据为MPEG4/H.264格式的.MP4文件。进一步地,可以包括服务控制模块,用于接收用户的点播请求,将控制命 令分别发送给所述解码模块和所述编码模块,并根据周期性的探测用户带宽情 况,发送指令控制流媒体发布模块的数据发送速度。进一步地,可以包括加密模块,设置在所述编码模块与所述流媒体发布模 块之间,用于将转换完成的节目数据进行加密后通过流媒体发布模块输出。其中,所述加密模块,用于将DCT域系数的位置利用加密算法进行扰乱, 之后再进4于编;马。本发明的有益效果是依照本发明的实时视频转码流媒体服务器,能够支 持不同编码标准之间进行自由转换传输,有效减少网络传输时对数据的损耗和 延时,而且提高了同时降低了用户成本,方便部署;利用动态调整算法,大大 增强了矢量合成方法适用的范围和精度,提高了转码的速度和转码输出的视频 质量;并根据周期性的探测用户带宽情况,发送指令控制流媒体发布模块的数据发送速度,实现播放速度的平滑变化,在网络拥塞的情况下,尽量降低对用
户主观感受的冲击,可使用户感受到更平滑、更连贯。


图1为本发明的实时视频转码流々某体服务器的结构示意图; 图2为本发明实施例的服务器工作流程图。
具体实施例方式
以下,参考附图1 2详细描述本发明的实时视频转码流i某体服务器。
如图l所示,本发明的实时视频转码流媒体服务器,包括解码模块、编 码模块、流媒体发布模块。其中,解码模块,用于实现TS流的解复用及对 MPEG2格式节目进行部分解码。
其中,解码模块的部分解码,是将TS流解复用为MPEG2格式的码流, 然后根据标准的MPEG2解码过程进行解码,当解码器解到运动矢量层时,控 制解码器停止解码,开始利用运动矢量信息进行重新估算。其中,部分解码是 指不将原视频信号完全解码,而是保留其中的运动矢量信息并进行适当转换 后,重新进行利用。在转码过程中,运动矢量估计是运算复杂度最高的一步, 这一步大概占了整个编码时间的60 70%。因此,在4见频转码的过程中,避免 重新进行运动矢量的估计,是实现快速转码的主要技术手段。
编码模块,用于将解码模块输出的数据进行再编码;编码模块中编码器基 本上采用的是标准化结构,唯一区别的地方是输入的信息是比标准的编码器多 输入一个重估的运动矢量信息,这样在编码的过程中就可以直接利用,而不用 编码器重新计算。
其中,该重估的运动矢量信息通过如下方式获得建立前向和后向参考帧 中宏块到编码帧中最相似宏块的反向映射表,继而得到辅助矢量,从而快速准 确地估计转码后宏块的运动矢量;另外,还可以通过记录相似宏块重叠面积来 避免对不精确的候选矢量的搜索,通过对帧内近邻宏块的运动矢量搜索来提 高估计的准确度。采用了这种动态调整算法后能取得比已有算法更好的估计结 果,大大增强了矢量合成方法适用的范围和精度,提高了转码的速度和转码输 出的视频质量。
流媒体发布模块,用于根据流媒体协议对编码模块再编码后的数据进行封装,并将这些输出的数据保存到一块緩冲区中, 一旦侦听到用户的请求,立刻从緩冲区中取出码流数据,按照RTP协议格式进行封装,推送到客户端。其 中,转码输出后的数据可以是MPEG4/H.264格式的.MP4文件(APPLE公司 的一种码流封装格式)。目前大多数编解码服务器与流媒体服务器都是相对独立的。由于编解码主 要消耗的是CPU资源,而流媒体服务器主要消耗的是带宽资源,二者对硬件 的要求不矛盾,因此可以将编解码和流媒体同时发布,这样不仅有效减少了网 络传输时对数据的损耗和延时,而且提高了同时降低了用户成本,方便部署。由于网络带宽自适应技术可根据由网络拥塞状态导致的客户端緩冲不足 的程度,自动调整节目码流发送速度,主动丟弃一些非关键帧,提高了客户端 緩沖稳定性。因此,本发明的实时视频转码流媒体服务器,可以进一步包括服务控制模 块,用于接收用户的点播请求,将控制命令分别发送给解码模块和编码模块; 并根据周期性的探测用户带宽情况,发送指令控制流媒体发布模块的数据发送 速度。实现播放速度的平滑变化,在网络拥塞的情况下,尽量降低对用户主观 感受的沖击,可使用户感受到更平滑、更连贯的播放效果。另外,本发明可以进一步在编码模块与流媒体发布模块之间设置加密模 块,用于在DCT域将转换完成节目数据进行加密。在转码过程中可以得到变换后的DCT域系数,例如可以根据一个64位密 钥,将DCT域重要的系数的位置利用加密算法进行扰乱,之后再进行编码。 在加密的同时也不会降低编码效率。解码端也根据此密钥将加密后的系数进行 复原,之后即可以正常解码。同时,也可根据需要周期性更换密钥,提高节目 传输的安全性。本月良务器可以实现由TS流到H.264/MPEG-4节目格式的实时转换,转换 延迟不超过5秒。输出分辨率支持4倍的通用中间格式Dl为720 x 576像素, 通用中间格式(Common Intermediate Format, CIF )为352x288像素、四分之 一通用中间才各式(Quarter Common Intermediate Format, QCIF )为176x144像 素;输出码率覆盖为500kbps-2Mbps;流媒体封装协议支持RTP/RTSP协议, 支持单播和组播;整个服务器构架实现了高度的可扩展性,可根据用户需要灵活的加入新的编码模块,实现新格式解码的转换输出。具体地,如图2所示,为本发明实施例的服务器工作流程图,包括下列步骤步骤100:服务器的流媒体发布模块接收用户提出节目点播请求后,分析 用户请求节目格式描述信息,提取该描述信息中的帧率、视频尺寸、比特率和 码率等信息;步骤200:解码模块对源视频格式进行分析,提取视频序列中的帧率、视 频尺寸、码率、比特率和运动矢量信息;步骤300:服务控制模块判断源格式与目标格式的帧率是否相同,如果不 同,则初始化转码器的帧率值,并执行步骤400;否则,执行步骤400;步骤400:判断源格式与目标格式的图像大小是否相同,如果相同,则执 行步骤500;否则,初始化转码的图像大小,然后执行步骤500;步骤500:判断源格式与目标格式的比特率大小是否相同,如果是,则执 行步骤600;否则,初始化转码器的比特率,然后执行步骤600;步骤600:开始转码,然后利用源视频序列帧中的运动矢量信息,对运动 矢量进行重估及精细化,等到目标格式视频序列的运动矢量信息;步骤700:将变换后的获得的DTC域系数,根据64位密钥进行,将DTC 域系数根据算法进行置乱;步骤800:将转码完成后的数据根据流媒体协议进行封装,定期获取客户 端用户的有效带宽,根据当时带宽调整服务器的码率向客户端发送数据。综上所述,依照本发明的实时视频转码流媒体服务器,能够有效减少了网 络传输时对数据的损耗和延时,而且提高了同时降低了用户成本,方便部署; 利用动态调整算法,大大增强了矢量合成方法适用的范围和精度,提高了转码 的速度和转码输出的视频质量;并根据周期性的探测用户带宽情况,发送指令 控制流媒体发布模块的数据发送速度,实现播放速度的平滑变化,在网络拥塞 的情况下,尽量降低对用户主观感受的冲击,可使用户感受到更平滑、更连贯。以上是为了使本领域普通技术人员理解本发明,而对本发明所进行的详细 描述,但可以想到,在不脱离本发明的权利要求所涵盖的范围内还可以做出其 它的变化和修改,这些变化和修改均在本发明的保护范围内。
权利要求
1.一种实时视频转码流媒体服务器,其特征在于,包括解码模块、编码模块、流媒体发布模块,其中,所述解码模块,用于实现TS流的解复用及对相应格式节目进行部分解码;所述编码模块,用于将所述解码模块输出的数据进行再编码;所述流媒体发布模块,用于根据流媒体协议对所述编码模块再编码后的数据进行封装,并在侦听到用户的请求后,将所述输出的数据推送到客户端。
2. 如权利要求1所述的实时视频转码流媒体服务器,其特征在于,所述 解码模块,用于将TS流解复用为MPEG2格式的码流,并根据标准的MPEG2 解码过程进行解码,在解到运动矢量层时停止解码,利用运动矢量信息进行重 新估算。
3. 如权利要求2所述的实时视频转码流媒体服务器,其特征在于,所述 解码模块,进一步通过建立前向和后向参考帧中宏块到编码帧中最相似宏块的反向映射表,得到辅助矢量,以利用运动矢量信息进行重新估算。
4. 如权利要求3所述的实时视频转码流媒体服务器,其特征在于,所述 解码模块,进一步用于记录相似宏块重叠面积,搜索帧内近邻宏块的运动矢量。
5. 如权利要求1所述的实时视频转码流J 某体服务器,其特征在于,所述 流媒体发布模块,用于根据流媒体协议对编码模块再编码后的数据进行封装, 并将这些输出的数据保存到一块緩冲区中,在侦听到用户的请求时从緩冲区中 取出码流数据,按照RTP协议格式进行封装推送到客户端。
6. 如权利要求5所述的实时视频转码流媒体服务器,其特征在于,所述 输出后的数据为MPEG4/H.264格式的.MP4文件。
7. 如权利要求1所述的实时视频转码流媒体服务器,其特征在于,进一 步包括服务控制模块,用于接收用户的点播请求,将控制命令分别发送给所述 解码模块和所述编码模块,并根据周期性的探测用户带宽情况,发送指令控制 流媒体发布模块的数据发送速度。
8. 如权利要求1所述的实时视频转码流i某体服务器,其特征在于,进一 步包括加密模块,设置在所述编码模块与所述流媒体发布模块之间,用于将转换完成的节目数据进行加密后通过流媒体发布模块输出。
9.如权利要求8所述的实时视频转码流媒体服务器,其特征在于,所述 加密模块,用于将DCT域系数的位置利用加密算法进行扰乱,之后再进行编 码。
全文摘要
本发明提供一种实时视频转码流媒体服务器,包括解码模块、编码模块、流媒体发布模块,其中,所述解码模块,用于实现TS流的解复用及对相应格式节目进行部分解码;所述编码模块,用于将所述解码模块输出的数据进行再编码;所述流媒体发布模块,用于根据流媒体协议对所述编码模块再编码后的数据进行封装,并在侦听到用户的请求后,将所述输出的数据推送到客户端。本发明能够支持不同编码标准之间进行自由转换传输,并能有效减少网络传输时对数据的损耗和延时。
文档编号H04N7/24GK101321280SQ20081011696
公开日2008年12月10日 申请日期2008年7月22日 优先权日2008年7月22日
发明者勇 夏 申请人:国家广播电影电视总局广播科学研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1