[发明专利]一种媒体流的修复方法无效
申请号: | 201110442607.1 | 申请日: | 2011-12-27 |
公开(公告)号: | CN102595144A | 公开(公告)日: | 2012-07-18 |
发明(设计)人: | 李宗霖 | 申请(专利权)人: | 李宗霖 |
主分类号: | H04N7/64 | 分类号: | H04N7/64;H04N21/236 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100009 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 媒体 修复 方法 | ||
技术领域
本发明涉及一种媒体流的修复方法,特别地涉及一种针对数据包的媒体流修复方法。
背景技术
媒体流是一种采用流式传输的方式在网络上传输的媒体格式。现有技术播放媒体流内容的方法是:由内容源提供数据来源;内容准备模块根据数据来源的内容输入及相关环境信息进行内容分片和生成元数据,并将内容分片和元数据发布到媒体流服务器;媒体流播放器获取到元数据的网页地址(Uniform/Universal Resource Locator,URL),并到媒体流服务器请求获取元数据,其中,元数据用于描述分片信息;媒体流服务器将元数据发送给媒体流播放器;媒体流播放器解析获得的元数据,得到内容分片信息,并根据内容分片信息到媒体流服务器请求内容分片;媒体流服务器将内容分片发送给媒体流播放器;媒体流播放器播放内容分片。
Network Coding是2000年提出的概念,它通过在网络层将信息流进行组合编码来达到数据的高速传输(即最大流),而传统的信息传输方式只是将信息进行复制、转发(即路由方式)。
在视频聊天,视频会议这种实时性要求高的媒体流应用中,往往采用UDP的传输方式来保证传输速度,但是往往由于UDP传输的不可靠性带来网络丢包,从而造成视频质量差,影响通信效果。本发明吸取了NetworkCoding的思想,用数据包异或等多种方式对数据进行冗余计算,利用应用层组播来降低网络开销,并在每一个组播点上做恢复运算,使得网络接收端有较大的容错能力,允许在一定的丢包比例范围内不影响媒体流质量,从而能让媒体流在较差的网络中获得较好的效果。本发明主要包括数据包冗余编码、应用层组播、接收端容错处理几部分。
Reliable UDP是目前被广泛使用的UDP防丢包技术,在出现丢包的情况下,接收端通过应用层协议到发送端重新请求丢失的包,因此Reliable UDP在实时性上会大打折扣。本发明和Reliable UDP相比,在保证传输可靠性的前提下,更加实时,逻辑处理上更加简单。
UDP是一个不可靠的传输协议,由于其传输速度快,目前被广泛的应用于实时媒体流传输。假设发送端到组播点有10%的丢包率,组播点到接收端也有10%的丢包率,那么,本来的10个包到达接收端只剩下8个包。这时接收端在播放时,视频质量就不能保证了。
另一种Reliable UDP的处理方式是当组播点在丢失了某个数据包之后,会主动到发送端重新请求,发送端会把丢失的数据包重新送给组播点。假设每次重新请求的时间消耗是100ms,如果考虑经过 多个组播点转发的情况,延时会更加严重,当延时超过1s的时候,视频质量就不能接受了。
并且,传统的组播点的作用是对收到的数据做原封不动的分发,也就是只有路由功能。
发明内容
本发明为了解决上述技术问题,提供了一种不增加网络负担,且具有容错和恢复的功能的媒体流数据包丢失的修复方法。
目前的媒体流传输时都具有以下几个关键模块:
消息头Head:用于描述文件的媒体信息。
索引Index:用于存放视频关键帧位置的索引表。
媒体流包:用于存放实际的视音频数据帧。
其中索引中的元素是按照时间戳从小到大的顺序存放,因此可以根据索引中的按时间戳排列好的关键帧的位置,将关键帧1到关键帧2分割成一个小数据包,依次类推将整个媒体流包全部分割。在进行媒体流传输时,就以分割出来的小数据包进行传输。
而且每个分割出来的小数据由索引中的关键帧位置信息进行命名。小数据包1代表关键帧1到关键帧2之间的数据包,小数据包2代表关键帧2到关键帧3之间的数据包,以此类推,小数据包n代表关键帧n到关键帧n+1之间的数据包。
这样如果在传输时某个数据包出现丢失,接收端可以根据所接收到的小数据包的名称就立刻判断出是哪个部分的数据包发生了丢失。
本发明所述修复方法的另一部分在于,在传输媒体流数据包之前,使用异或的方式作出一个冗余包,然后将媒体流数据包与冗余包一起进行传输;这些数据包由发送端传输到组播点;由组播点对所接收的数据包做丢包检查;如果组播点发现有丢失的数据包,首先定位丢失的是哪个数据包,然后通过冗余包对所丢失的数据包进行恢复,再用同样的算法做出一个冗余包;组播点将经过检查以及修复的数据包传输到接收端;接收端对所接收的数据包做丢包检查;如果组播点发现有丢失的数据包,首先定位丢失的是哪个数据包,然后通过冗余包对所丢失的数据包进行恢复。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于李宗霖,未经李宗霖许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110442607.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:铝或铝合金的壳体及其制造方法
- 下一篇:一种抗浪涌的网络设备