CSDN博客

img zergbird

网络课作业

发表于2004/6/30 21:12:00  620人阅读

1.     模拟手段大概这样:我们都知道ns-2本身只能做到模拟,
如果我们做视频传输的话似乎需要给出最终的视频使别人一目了然,
而不是一些包的分析。我想采取做先视频做记号,在网络上只传送包
而不牵涉内容,在接手端在离线恢复的方法。
2.     对于我们的策略,我们对于在access point的application层
上面做都是明确的。你上次提到考虑I-frame的重传,要考虑的问题
比较多,比较复杂,比如怎么判断他们之间相关性。
我的意见是给I-frame比较高的优先级,其他的比较低的优先级,
加上时间戳考虑。对于access point,只要考虑两个问题:
1。优先级。2。时间戳的满足。好处是:
我们简化了优先级的分配问题,不必考虑frame直接的关联。
当然也可以考虑,但是灵活性更强了。因为简单我们也可以号称是
传输层甚至是更下面的,看老师要求啦
3.     对于调度策略,我的想法是再加上网络条件的判断。
基本思想是在网络情况好的时候我们网络状况好的情况下预先
传输多几个高优先级包,当然也不能预先地过分多,导致太多地
低优先级的包失效,我的想法是预先传输0。5s左右的高级别,
在那个以后我们传输低级别的包。在网络情况不好的情况下我们
就传输低级别的包,但是如果高级别包可能超过时间限制,
则无论情况好坏传输高级别的包。
4.     使用rtp协议去实现反馈。
5.     如果发现超过时间限制的包则丢弃。
(这里我们需要探讨,可以做的复杂,但是实现和模拟比较困难)
6.     高低优先级别在我们这次的实现里面使用视频分层技术实现。


伪代码:
注意:1。所有packet中的time都是最晚在本地被发送时间
  2。假设所以队列里面的包都是按sequence number排好序的。
从High_queue中得到Next_High_packet (如果发现超过时间限制的,
                                   直接丢弃)
从Low_queue中得到Low_High_packet  如果发现超过时间限制的,
                                              直接丢弃)
Process_time =处理一个包的时间 (自己定一个固定值)
If  Next_High_packet.time < current_time + Process_time)
发送 Next_High_packet
Else
   If (网络状况好)
                If (Next_high_packet.time < 0.5+current_time)
                        发送  Next_high_packet
            Else
                        发送  Low_high_packet
   Else //网络状况不好
   发送  Low_high_packet

阅读全文
0 0

相关文章推荐

img
取 消
img