一种基于无线网络的视频数据包传输方法及系统的制作方法

文档序号:9915036阅读:704来源:国知局
一种基于无线网络的视频数据包传输方法及系统的制作方法
【技术领域】
[0001] 本发明涉及无线网络视频传输技术领域,尤其涉及一种基于无线网络的视频数据 包传输方法及系统。
【背景技术】
[0002] 网络化数字化的未来工业对工业生产监控提出了更高的要求。视频监控以其信息 的丰富性和用户的友好性成为其中最重要也最常用的监控手段。然而,在许多极端环境下 的工业生产,比如油田、矿井等,往往难以甚至无法部署有线视频监控系统。在这种场景下, 基于无线多跳网络的视频传输和监控系统具有得天独厚的应用优势。
[0003] 然而在极端条件下部署无线多跳视频传输系统存在许多挑战。特别是长距离的传 输、高温或低温环境、严重的风沙等部署环境都可能对无线网络的传输性能造成极大影响。 与此同时,无线多跳视频传输网络的性能要求却非常之高,通常都是在大范围的监控区域 部署大规模的网络,在不可预测的链路质量下实现低延迟和高可靠性的视频传输。因此,如 何保证在无线网络中的视频传输质量是工业视频监控系统成功的关键。
[0004] 针对无线局域网络视频传输的研究非常多,有大量关于服务质量的算法、协议和 标准先后被提出。例如,IEEE 802.1 le无线传输协议中定义了EDCA视频调度机制,将不同权 重的数据包放在不同的优先级队列中(如图2所示)<JEEE 802. lie中定义了四个优先级队 列,即AC(0),AC(1),AC(2),AC(3),每个队列在竞争无线信道时具有不同的访问参数,包括 拥塞窗口、数据包间隔、连续传输时长等,由此造成不同的信道访问优先级。在默认的EDCA 中,AC(0)(对应图2中的AC_BK)用于传输背景数据,AC(1)(对应图2中的AC_BE)用于传输最 大努力(best efforts)业务,AC(2)(对应图2中的AC_VI)和AC(3)(对应图2中的AC_V0)分别 用于输出视频数据和声音数据。四个队列按照优先级从高到低的顺序为AC(3)>AC(2)>AC (1)>AC(0)。具体地,声音与视频数据被赋予更高的优先级,通过较高优先级的队列传输。
[0005] 另一方面,视频编码技术领域的发展出现了诸如H.264、MPEGE-4等分级编码技术, 视频数据被编码为不同权重的视频帧。因此,分级编码与IEEE 802.1 le-起,为视频传输服 务质量保障的跨层设计奠定了基础:将权重高的视频帧放入高优先级的队列以提高带宽不 足情况下的视频传输质量。
[0006] 在H.264等视频分级编码技术中,视频帧由基本的图像帧组(Group of Pictures, GOP)组成,每一个图像帧组由三种不同的帧类型组成:1帧(intra coded frame)、P帧 (predictive coded frame)、B帧(bi-predictive coded frame),其中每一个GOP都由一个 I帧开始,后面跟着交替出现的一定数量的P帧和B帧。通常,一个图像帧的结构可以记作G (11〇,其中~是该60?中总的帧数,1是1帧和?帧之间的帧数(等于两个?帧之间的距离)。如 图 1 所示,G(12,3)表示一组G0P结构为 "IBBPBBPBBPBB"。
[0007] 不同类型的帧对于视频解码的权重各不相同。I帧是一组G0P的第一帧,也是压缩 最轻的帧,包含了解码该帧的所有信息,因此不依赖于相同G0P中的任何其他数据帧。P帧存 储当前帧与前一个I帧或者P帧之间的差值,因此需要其前导I帧或P帧的信息才能完整解 码。B帧是GOP中压缩率最大的帧,其编解码依赖于前后的I帧和P帧作为参考数据。很显然, 对于解码视频视距,I帧的权重高于P帧,而P帧高于B帧。
[0008] 现有的包括m)CA在内的视频帧优先级调度机制存在许多局限,比如只区分视频数 据与非视频数据、只区别不同的视频帧类型、未考虑队列长度等,这些因素都造成了在带宽 受限的无线网络环境下,视频传输的QoS得不到有效保障。
[0009] 传统的视频数据调度映射机制包括静态映射机制和动态映射机制两类。静态映射 机制将某一类型的数据帧固定地放入某一个队列,而动态映射机制中,则考虑数据帧的帧 类型以及队列的拥塞窗口、队列长度等,每一种类型的数据帧都具有概率被放入任何一个 队列(如图3所示)。
[0010] 但现有视频数据传输方法未考虑相同类型不同位置的帧的权重差异,也未考虑同 一视频帧中不同帧头数据包与帧内容数据包的区别。因此信道资源并没有得到最大化利 用,输出的视频质量不能保证最好。

【发明内容】

[0011] 本发明所要解决的技术问题是:现有的基于无线网络的视频数据传输方法信道利 用率低、视频质量较差的问题。
[0012] 为解决上述技术问题,本发明一方面提出了一种基于无线的网络视频数据包传输 方法,该方法包括:
[0013] 源节点提取当前视频帧的元数据;
[0014] 源节点根据所述元数据和所述视频帧数据包的类型获取当前视频帧中数据包的 权重;
[0015] 转发节点或目的节点根据当前视频帧的数据包的权重和各优先级队列的长度将 各个数据包调度进不同的优先级队列,以进行视频数据包的传输;
[0016] 其中,所述元数据包括视频帧结构、视频帧类型和视频帧在G0P中的位置;每个视 频帧分为帧头数据包和帧内容数据包。
[0017] 可选地,所述源节点根据所述元数据和所述视频帧数据包的类型获取当前视频帧 中数据包的权重包括:
[0018] 根据视频帧结构、视频帧类型和视频帧在G0P中的位置获取视频帧的第一权重;
[0019] 根据视频帧的第一权重确定视频帧的帧头数据包和帧内容数据包的权重;
[0020] 其中,视频帧的帧头数据包的权重为该视频帧的第一权重加权重增量;视频帧的 帧内容数据包的权重为该视频帧的第一权重。
[0021] 可选地,所述根据视频帧结构、视频帧类型和视频帧在G0P中的位置获取视频帧的 第一权重包括:
[0022] I帧的第一权重为1;
[0023]根据P帧的前后帧中被当前帧影响的帧数量和影响当前帧的帧数量获取P帧的第 一权重;
[0024] 根据B帧的前后帧中被当前帧影响的帧数量和影响当前帧的帧数量获取B帧的第 一权重。
[0025] 可选地,所述根据P帧的前后帧中被当前帧影响的帧数量和影响当前帧的帧数量 获取P帧的第一权重,包括:
[0026]根据公式一获取P帧的第一权重:
[0028] 其中,f 〇为被当前帧影响的帧数量,f i为影响当前帧的帧数量,a e (〇,1),是调节f 〇 和的影响系数的因子,1,心2 l;g(x)是一个单调递增函数。
[0029] 可选地,所述根据B帧的前后帧中被当前帧影响的帧数量和影响当前帧的帧数量 获取B帧的第一权重,包括:
[0030] 根据公式二获取B帧的第一权重:
[0032]其中,f 〇为被当前帧影响的帧数量,f 1为影响当前帧的帧数量,a e (〇,1),f 〇 2 1, 2 1;g(x)是单调递增函数。
[0033] 可选地,单调递增函数g(x)定义如下:
[0034] g(x) = a( log(x)+b)+bo,
[0035] 其中,b〇为一个基准线值,
:log(N)和
:的最大值和最小值;
[0036] 对于G0P中的第p个P帧,f〇 = N+M-1-M*p,f1 = p,对于该P帧之后、在下一个P帧之前 的任意13帧,:1;'()=1,;1;'1 = 1]1;[11{。+2,1'1/]\1};对于在1帧和第一个?帧之间的13帧,;1;'1 = 2;对于任何 在I帧和第一个P帧之间的B帧,ρ = 0;Ν和Μ为大于0的整数。
[0037] 可选地,所述根据视频帧的数据包的权重和各优先级队列的长度将各个数据包调 度进不同的优先级队列包括:
[0038] 根据视频帧的数据包的权重按照优先级从高到低的顺序查找各优先级队列,根据 视频帧的权重、各优先级队列的最大队列长度和各优先级队列的当前队列长度将当前视频 帧调入相应的优先级队列。
[0039] 可选地,所述根据视频帧的权重、各优先级队列的最大队列长度和各优先级队列 的当前队列长度将当前视频帧调入相应的优先级队列包括:
[0040] 若当前视频帧的数据包满足以下条件则将当前视频帧的数据包调入该优先级队 列;
[0041] w*threshold(i)>qlen(i),
[0042] 其中,w为当前视频帧的数据包的权重,threshold!; i)为最大队列长度,qlen(i)为 当前队列长度。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1