义理有疑,则濯去旧见,以来新意。心中有所开,即便札记,不思则还塞之矣。更须得朋友之助。一日间朋友论著,则一日间意思差别。须日日如此讲论,久则自觉进也。-张载

 网络中的大部分流量已被视频占用[1].视频流中的码率一般恒定,而网络中流所占用的带宽是动态变化的。DASH技术应运而生-播放器根据网络可用带宽,动态调整请求视频流的码片速率-成为近年来的网络研究热点。证据,就是有一大波高水平的论文出现,sigcomm,ton,conext。现在搞这个,正当其时,还可以浑水摸鱼,灌些论文。大好机会,要是错过,岂不气死人也么哥!
 我的博客,主要用途是为了记录,如上述引文,“不思则还塞之矣”。感兴趣的,还是需要深挖原文。
 [2]主要就是基于预测的网络带宽,向服务器请求与带宽最接近的码片。在dash中,视频按照时间被分成片,相同的片被编码为不同的速率。一段Δ\DeltaΔ时长的视频,假设可以被编译LLL种不同的速率,V1,V2,...VLV_1,V_2,...V_LV1​,V2​,...VL​,视频片kkk的不同码率对应的大小为ViΔV_i\DeltaVi​Δ。

符号 含义
qqq 客户端缓冲区存储的视频片,以时间为单位
tkst_{k}^stks​ 客户端开始下载码片k的时刻
tket_{k}^etke​ 客户端下载码片k完成时刻

 下面开始飞公式。
(1)q(tke)=Δ+max⁡(q(tks)−(tke−tks),0)q(t_{k}^e)=\Delta +\max(q(t_{k}^s)-(t_{k}^e-t_{k}^s),0)\tag{1}q(tke​)=Δ+max(q(tks​)−(tke​−tks​),0)(1)
 第一项,表示视频片k下载完成,队列里面视频片的增量,第二项则是在(tks,tket_{k}^s,t_{k}^etks​,tke​]时间内消费掉的视频段。式子里视频的段的增加与消耗以时间为衡量标准。
 将上式变为微分形式。计算机中需要点数学,这点数学也不是那么严格。
dq(t)dt=Δtke−tks−1(q(t)>0)=v(k)Δv(k)(tke−tks)−1(q(t)>0),=T‾(k)v(k)−1(q(t)>0),t∈(tks,tke]\frac{dq(t)}{dt}=\frac{\Delta}{t_{k}^e-t_{k}^s}-\textbf{1}(q(t)>0) =\frac{v(k)\Delta}{v(k)(t_{k}^e-t_{k}^s)}-\textbf{1}(q(t)>0),\\ =\frac{\overline T(k)}{v(k)}-\textbf{1}(q(t)>0) ,t\in (t_{k}^s,t_{k}^e]dtdq(t)​=tke​−tks​Δ​−1(q(t)>0)=v(k)(tke​−tks​)v(k)Δ​−1(q(t)>0),=v(k)T(k)​−1(q(t)>0),t∈(tks​,tke​]
其中,T‾(k)\overline T(k)T(k)为tcp在这个时间段的平均速率,v(k)v(k)v(k)为视频码片速率。在理想情况下,只有当T‾(k)=v(k)\overline T(k)=v(k)T(k)=v(k),队列长度保持恒定。但是v(k)v(k)v(k)只有L种选择,接收端缓冲区就很大可能存在震荡。请求的码率超出了网络的传输速率,缓冲区可能会出现没有数据可以消费的情况(freeze);请求的码率低于网络的传输速率,缓冲区中的视频时间在积累,没有充分利用网络资源。
 所以,需要请求的视频速率最接近网络的传输速率。即v(k)=argmin∣Vi−T‾(k)∣v(k)=argmin|V_i-\overline T(k)|v(k)=argmin∣Vi​−T(k)∣。
 但是上述系统是个开环控制系统。[1]引入PID的方法,进行闭环控制。等我看懂,再进行分解。
 另一个可以研究的方向就是如何准确地预测网络链路的吞吐量(带宽)T‾(k)\overline T(k)T(k)。
 The control of ABR streaming should address two key requirement: maximizing playback bitrate and reducing frequent bitrate change.Maximizing playback bitrate would enhance QoE greatly but frequent video rate changes lead to inferior user quality-of-experience[13,14].

[1]Cisco Visual Networking Index: Forecast and Methodology, 2016–2021
[2]Towards agile and smooth video adaptation in dynamic HTTP streaming(2012-CoNEXT)
[3]Elastic: a client-side controller for dynamic adaptive streaming over http (dash)(2013)
[4]A Control Theoretic Approach to ABR Video Streaming: A Fresh Look at PID-based Rate Adaptation(2017-infocom)
[5]A buffer-based approach to rate adaptation: Evidence from a large video streaming service(2014-sigcomm)
[6]Streaming Video over HTTP with Consistent Quality(2014)
[7]Probe and Adapt: Rate Adaptation for HTTP Video Streaming At Scale(2014-JSAC)
[8]Improving Fairness, Efficiency, and Stability in HTTP-based Adaptive Video Streaming with FESTIVE(2012-CoNEXT)
[9]An adaptive video streaming control system: modeling, validation, and performance evaluation(2014-TON)
[10]A control-theoretic approach to rate adaptation for dynamic HTTP streaming(2012)
[11]A control-theoretic approach for dynamic adaptive video streaming over HTTP(2015-sigcomm)
[12]CS2P: Improving Video Bitrate Selection and Adaptation with Data-Driven Throughput Prediction(2016-sigcomm)
[13]Qdash: A qoe-aware dash system.
[14]Subjective impression of variations in layer encoded videos.(2003)
[15]Adaptation Algorithms for HTTP-Based Video Streaming(2016-phd-thesis)
[16]BOLA: Near-Optimal Bitrate Adaptation for Online Videos(2016-infocom)

视频流的自适应传输机制-dash相关推荐

  1. 【计算机网络】传输层 : TCP 可靠传输 ( 可靠传输机制 | 快速重传机制 )

    文章目录 一.TCP 可靠传输 二.TCP 可靠传输机制 三.TCP 快速重传 机制 一.TCP 可靠传输 可靠性 : 保证 接收方进程 从 TCP 缓冲区 中读取的数据 与 发送方进程 发送的数据 ...

  2. TCP 可靠传输机制详解

    目录 TCP协议的特点 TCP 报文段 TCP "三次握手" TCP "四次挥手" 客户端和服务器端所经历的状态 TCP 可靠传输 TCP流量控制 TCP拥塞控 ...

  3. LTE上行物理层传输机制(1)-PUSCH上行跳频之Type1频率跳频

    1.什么是PUSCH频率跳频(PUSCH Frequency Hopping) 博文<LTE下行物理层传输机制(9)-集中式和分布式资源映射>中提到了分布式的下行资源分配,这种资源分配方式 ...

  4. Cell:浙大张兴/朱永群组揭示细菌鞭毛马达结构、组装与扭矩传输机制

    2021年4月20日,浙江大学基础医学院张兴教授实验室和生命科学研究院朱永群教授实验室合作在Cell杂志在线发表了题为"Structural Basis of Assembly and To ...

  5. 红茶一杯话Binder(传输机制篇_上)

    2019独角兽企业重金招聘Python工程师标准>>> 红茶一杯话Binder (传输机制篇_上) 侯 亮 1 Binder是如何做到精确打击的? 我们先问一个问题,binder机制 ...

  6. 3.4.1 流量控制与可靠传输机制

    3.4.1 流量控制与可靠传输机制

  7. Dubbo源码分析(三)Dubbo中的SPI和自适应扩展机制

    前言 我们在往期文章中,曾经深入分析过Java的SPI机制,它是一种服务发现机制.具体详见:深入理解JDK的SPI机制 在继续深入Dubbo之前,我们必须先要明白Dubbo中的SPI机制.因为有位大神 ...

  8. 红茶一杯话Binder(传输机制篇_下)

    1 事务的传递和处理 从IPCThreadState的角度看,它的transact()函数是通过向binder驱动发出BC_TRANSACTION语义,来表达其传输意图的,而后如有必要,它会等待从bi ...

  9. 红茶一杯话Binder(传输机制篇_中)

    1 谈谈底层IPC机制吧 在上一篇文章的最后,我们说到BpBinder将数据发到了Binder驱动.然而在驱动层,这部分数据又是如何传递到BBinder一侧的呢?这里面到底藏着什么猫腻?另外,上一篇文 ...

最新文章

  1. 使用markdown编辑evernote(印象笔记)的常用方法汇总
  2. “面试不败计划”:多线程
  3. 网络服务器安全协议,ipsec 网络安全协议
  4. spring学习(30):定义第一个bean
  5. 使用validate验证数据库
  6. Bootstrap 3 与 Foundation 5 的区别
  7. 【今日CV 计算机视觉论文速览 第126期】Thu, 6 Jun 2019
  8. iOS学习:CAShapeLayer与DrawRect对比,与UIBezierPath画图形
  9. ERROR: Could not find a version that satisfies the requirement PIL (from versions: none)
  10. python_14 多态,封装,反射
  11. 论文准备:基于区块链的一些设计IIoT的最新动向调查【已公开发表】
  12. python进阶 pdf_Python进阶(Intermediate_Python)_中文PDF彩色版.pdf
  13. 堆栈平衡(子程序调用)
  14. MindManager2022安装使用教程
  15. python将html转成pdf,python将html转成PDF的示例
  16. 排列组合(组合C语言实现)
  17. 深入浅出SpringBoot的核心原理
  18. 微信小程序实现列表项左滑删除效果
  19. 戴尔R710服务器配置raid阵列(附图文)
  20. 贵有恒,何必三更眠五更起;最无益,莫过一日暴十日寒。

热门文章

  1. 病毒分析之撒旦(Satan)勒索病毒分析解密(AES256 ECB算法)
  2. easymock模拟post接口请求数据
  3. JavaScript基础——第四章,JavaScript对象及初识面向对象
  4. Nett源码剖析(1)NioEventloopGroup的创建2021SC@SDUSC
  5. 对睡眠好的东西,失眠了,就看看这些助眠好物
  6. linux系统如何为软件升级,在Linux系统中怎样才能使用一个命令升级所有软件?...
  7. 668. 游戏时间2
  8. 恩格尔注塑机数据采集
  9. 【BitLocker】解锁后快速上锁(不重启电脑)
  10. 设计师的日常--你要知道的25个UI/UX设计网站