发明名称 多视点视频流多速率组播传输的最优速率分配方法
摘要 本发明提出了一种多视点视频流多速率组播传输的最优速率分配方法,其构思是:将多视点视频流传输中多速率多径路由、中继节点的网络流量控制进行了联合优化,并且在选择最佳组播传输路径和分配各视点视频流传输速率时,兼顾了视点和帧的传输顺序问题,一方面,为每个视频流寻求合适的传输网络使所有需要该视点的用户节点的失真最小化;另一方面,同时满足用户对视点的请求度和帧之间解码依赖性的需求。此外,本发明还采用拉格朗日对偶方法对原始凸优化问题进行分解并求解,既实现了资源的最优分配,又便于分布式求解。该方法能有效地利用网络的带宽资源,实现异构网络环境中所有用户整体失真最小化,为用户端提供更佳的视频质量。
申请公布号 CN103024597B 申请公布日期 2015.07.29
申请号 CN201210571123.1 申请日期 2012.12.26
申请人 上海大学 发明人 邹君妮;石征;陈琳;谭冲;杨阳
分类号 H04N21/647(2011.01)I;H04N21/266(2011.01)I 主分类号 H04N21/647(2011.01)I
代理机构 上海上大专利事务所(普通合伙) 31205 代理人 陆聪明
主权项 一种多视点视频流多速率组播传输的最优速率分配方法,其特征在于根据上述发明构思,采用下述步骤实现异构网络环境中所有用户整体失真最小化,其步骤如下:第一,将多视点视频流传输中的多速率多径路由、中继节点的网络流量控制进行联合优化;第二,在选择最佳组播传输路径和分配各视点视频流传输速率时,兼顾视点和帧的传输优先级顺序,不仅为每个视频流寻求传输网络使所有需要该视点的用户节点的失真最小化,而且满足网络环境中所有用户对视点的请求度和帧之间解码依赖性的需求;第三,采用分布式的速率分配算法,即采用拉格朗日对偶方法对原始凸优化问题进行分解和求解,既实现了资源的最优分配,又便于分布式求解;上述第一步骤中的联合优化是:网络中每个接收节点在接收需要的视频流时,同时选用多条路由路径;基于这些路径,合理分配网络资源给各个视点,进一步提高网络的吞吐量;上述第二步骤中的兼顾视点和帧的传输优先级顺序是:确定视点和帧的传输优先级计算方法,在选择路由和进行网络流量分配时,传输优先级较高的视点分配的网络流量较多,每个视点分配的网络流量首先用于传输优先级比较高的帧;上述第三步骤中的分布式的速率分配算法是:利用拉格朗日对偶方法,对原始凸优化问题进行分解和求解,允许每个网络节点和每条链路利用本地局部信息进行速率的动态调整和更新,以分布式方式实现链路传输速率的全局最优化分配;以网络中所有用户整体失真最小化为目标函数,以链路容量限制、视点编码速率限制为约束函数,建立多视点视频流多速率组播传输的资源分配凸优化数学模型;具体方法如下:1.网络模型的建立将网络抽象为有向图<img file="dest_path_image002.GIF" wi="73" he="24" />,其中<img file="dest_path_image004.GIF" wi="19" he="19" />是节点的集合,分为源节点集合<img file="dest_path_image006.GIF" wi="16" he="20" />、中间节点集合<img file="dest_path_image008.GIF" wi="14" he="19" />和接收节点集合<img file="dest_path_image010.GIF" wi="34" he="41" />,<img file="dest_path_image012.GIF" wi="16" he="18" />是节点之间链路的集合;对于每条链路<img file="dest_path_image014.GIF" wi="38" he="20" />对应有限的传输带宽<img file="dest_path_image016.GIF" wi="32" he="43" />;假定一个多视点视频包含<img file="dest_path_image018.GIF" wi="22" he="18" />个视点<img file="dest_path_image020.GIF" wi="169" he="44" />,每一个视点的编码速率为<img file="dest_path_image022.GIF" wi="45" he="46" />;假设从源节点到每个接收节点<img file="dest_path_image024.GIF" wi="12" he="13" />均有多条传输路径<img file="dest_path_image026.GIF" wi="33" he="24" />,<img file="dest_path_image028.GIF" wi="46" he="44" />表示接收节点<img file="dest_path_image030.GIF" wi="13" he="14" />在接收第<img file="dest_path_image032.GIF" wi="18" he="16" />个视点数据时,第<img file="dest_path_image034.GIF" wi="14" he="21" />条路径上分配的网络流量大小;矩阵<img file="dest_path_image036.GIF" wi="22" he="21" />表示链路和接收节点<img file="823174dest_path_image024.GIF" wi="12" he="13" />的传输路径之间的关系,其中<img file="577503dest_path_image036.GIF" wi="22" he="21" />的元素<img file="dest_path_image038.GIF" wi="68" he="39" />表示链路<img file="dest_path_image040.GIF" wi="10" he="20" />包含于接收节点<img file="940614dest_path_image024.GIF" wi="12" he="13" />的第<img file="463999dest_path_image034.GIF" wi="14" he="21" />条传输路径中,<img file="dest_path_image042.GIF" wi="84" he="46" />表示链路<img file="893843dest_path_image040.GIF" wi="10" he="20" />没有包含在接收节点<img file="322419dest_path_image024.GIF" wi="12" he="13" />的第<img file="597543dest_path_image034.GIF" wi="14" he="21" />条传输路径中;2. 视点和帧的传输优先级的计算在用户端,显示设备周期性检测用户的位置,假定用户端<img file="241014dest_path_image030.GIF" wi="13" he="14" />和视点<img file="513863dest_path_image032.GIF" wi="18" he="16" />的视角夹角为<img file="dest_path_image044.GIF" wi="49" he="44" />,用户端<img file="242785dest_path_image030.GIF" wi="13" he="14" />对视点<img file="7085dest_path_image032.GIF" wi="18" he="16" />的需求度为<img file="dest_path_image046.GIF" wi="92" he="40" />,其计算方式为:<img file="dest_path_image048.GIF" wi="217" he="47" />,设置用户端视点的选择阈值为<img file="dest_path_image050.GIF" wi="16" he="18" />,若视点的需求度<img file="dest_path_image052.GIF" wi="81" he="42" />大于视点选择阈值<img file="dest_path_image054.GIF" wi="12" he="21" />,则用户端<img file="dest_path_image056.GIF" wi="13" he="14" />选择该视点,并向存储多视点视频数据的服务器发送该视点请求,否则用户端<img file="629696dest_path_image030.GIF" wi="13" he="14" />不选择该视点,不向服务器发送该视点请求,服务器收集所有用户的视点请求信息,并以此计算每个视点的传输优先级,即传输网络中所有用户对视点<img file="dest_path_image058.GIF" wi="13" he="21" />的需求度之和作为视点<img file="401343dest_path_image032.GIF" wi="18" he="16" />的传输优先级<img file="dest_path_image060.GIF" wi="73" he="39" />,其表达式为:<img file="dest_path_image062.GIF" wi="305" he="59" />;在多视点视频编码KS‑IPP结构中,视点的编码顺序按视点的传输优先级确定,将传输优先级最高的视点作为第一个视点<img file="dest_path_image064.GIF" wi="18" he="25" />,并根据视点传输优先级从高到低的顺序依次确定其他视点在KS‑IPP编码结构中的顺序,多视点视频中帧的传输优先级由该帧所在视点的传输优先级和该帧的类型确定,多视点视频编码KS‑IPP结构中包含不同类型的帧,其具体如下:<img file="dest_path_image066.GIF" wi="14" he="18" />帧、<img file="dest_path_image068.GIF" wi="17" he="18" />帧、<img file="dest_path_image070.GIF" wi="21" he="25" />帧、<img file="dest_path_image072.GIF" wi="16" he="25" />帧、<img file="dest_path_image074.GIF" wi="21" he="24" />帧,每一类帧丢失均导致一部分帧不能正常解码,若<img file="dest_path_image076.GIF" wi="8" he="21" />帧或者<img file="dest_path_image078.GIF" wi="13" he="21" />帧丢失,则<img file="102714dest_path_image076.GIF" wi="8" he="21" />帧或者<img file="922903dest_path_image078.GIF" wi="13" he="21" />帧所在的视点和该视点外解码依赖<img file="275387dest_path_image076.GIF" wi="8" he="21" />帧或者<img file="217935dest_path_image078.GIF" wi="13" he="21" />帧的其他视点均不能正常解码,若<img file="dest_path_image080.GIF" wi="17" he="25" />帧丢失,则该<img file="341355dest_path_image080.GIF" wi="17" he="24" />帧所在视点内除<img file="dest_path_image082.GIF" wi="8" he="25" />帧均不能正常解码,若<img file="761972dest_path_image072.GIF" wi="16" he="31" />帧丢失,则该<img file="172225dest_path_image072.GIF" wi="16" he="30" />帧的相邻帧不能正常解码,<img file="dest_path_image084.GIF" wi="17" he="30" />帧丢失不影响其他帧的正常解码,因此,设视点<img file="285674dest_path_image032.GIF" wi="18" he="16" />中的第<img file="dest_path_image086.GIF" wi="10" he="18" />个帧<img file="dest_path_image088.GIF" wi="50" he="22" />丢失所引起的不能正常解码的帧集合<img file="dest_path_image090.GIF" wi="72" he="22" />,其表达式为:<img file="dest_path_image092.GIF" wi="445" he="122" /><img file="dest_path_image094.GIF" wi="36" he="97" />上述公式中,<img file="23954dest_path_image088.GIF" wi="50" he="22" />表示视点<img file="185946dest_path_image032.GIF" wi="18" he="16" />中的第<img file="247442dest_path_image086.GIF" wi="10" he="18" />个帧,<img file="718744dest_path_image018.GIF" wi="22" he="18" />表示多视点视频中的视点数,<img file="dest_path_image096.GIF" wi="17" he="18" />表示每个GOP(Group of Picture)中帧的数目,集合<img file="dest_path_image098.GIF" wi="67" he="32" />可分为两部分:只包含视点<img file="68954dest_path_image032.GIF" wi="18" he="16" />内帧的集合<img file="dest_path_image100.GIF" wi="78" he="24" />和包含视点<img file="782439dest_path_image058.GIF" wi="13" he="21" />以外帧的集合<img file="dest_path_image102.GIF" wi="76" he="31" />,在计算帧的传输优先级时,首先视点<img file="964021dest_path_image032.GIF" wi="18" he="16" />中的第<img file="91377dest_path_image086.GIF" wi="10" he="18" />个帧<img file="dest_path_image104.GIF" wi="45" he="27" />的传输优先级<img file="dest_path_image106.GIF" wi="58" he="26" />等于该帧丢失时视点<img file="178151dest_path_image058.GIF" wi="13" he="21" />中不能正常解码的帧的传输优先级之和,即集合<img file="dest_path_image108.GIF" wi="73" he="23" />中帧的传输优先级之和,其计算表达式表示为:<img file="dest_path_image110.GIF" wi="361" he="78" /><img file="dest_path_image112.GIF" wi="105" he="22" />式中,<img file="dest_path_image114.GIF" wi="57" he="26" />表示视点<img file="681944dest_path_image032.GIF" wi="18" he="16" />中第<img file="672028dest_path_image086.GIF" wi="10" he="18" />个帧<img file="970286dest_path_image104.GIF" wi="45" he="34" />的传输优先级,<img file="dest_path_image116.GIF" wi="56" he="22" />表示视点<img file="357405dest_path_image032.GIF" wi="18" he="16" />中第<img file="dest_path_image118.GIF" wi="16" he="18" />个帧,<img file="dest_path_image120.GIF" wi="62" he="26" />表示帧<img file="914157dest_path_image116.GIF" wi="56" he="22" />的传输优先级,<img file="dest_path_image122.GIF" wi="72" he="23" />表示帧<img file="742435dest_path_image116.GIF" wi="56" he="22" />的丢失导致视点<img file="539490dest_path_image032.GIF" wi="18" he="16" />中不能正常解码的帧的集合,<img file="148326dest_path_image096.GIF" wi="17" he="18" />表示每个GOP(Group of Picture)中帧的数目<b>,</b>当在编码<img file="7304dest_path_image084.GIF" wi="17" he="22" />帧时以其他帧为参考帧,其他帧的编码均不依赖于<img file="17986dest_path_image084.GIF" wi="17" he="25" />帧,则在每个视点内<img file="985942dest_path_image084.GIF" wi="17" he="24" />帧的传输优先级是最小的,<img file="82074dest_path_image084.GIF" wi="17" he="24" />帧的传输优先级是计算其他帧的传输优先级的基础,在每个视点中,设所有帧的传输优先级之和等于该视点的传输优先级,其计算表达式为<b>:</b><img file="dest_path_image124.GIF" wi="385" he="82" /><img file="731361dest_path_image112.GIF" wi="105" he="22" />式中,<img file="dest_path_image126.GIF" wi="65" he="36" />表示第<img file="783499dest_path_image032.GIF" wi="18" he="16" />个视点的传输优先级,<img file="922356dest_path_image116.GIF" wi="56" he="22" />表示视点<img file="505785dest_path_image032.GIF" wi="18" he="16" />中第<img file="755500dest_path_image118.GIF" wi="16" he="18" />个帧,<img file="dest_path_image128.GIF" wi="96" he="40" />表示帧<img file="678457dest_path_image116.GIF" wi="56" he="22" />的传输优先级,<img file="dest_path_image130.GIF" wi="41" he="22" />表示视点<img file="676631dest_path_image032.GIF" wi="18" he="16" />的一个GOP(Group of Picture)内所包含帧的集合,<img file="747355dest_path_image096.GIF" wi="17" he="18" />表示每个GOP中帧的数目<b>,</b>根据以上<img file="dest_path_image132.GIF" wi="85" he="39" />计算表达式和<img file="dest_path_image134.GIF" wi="73" he="40" />计算表达式,即可得到每个视点中各个帧的传输优先级,在多视点视频编码KS‑IPP结构中,每个视点的关键帧<img file="738445dest_path_image076.GIF" wi="8" he="21" />帧或者<img file="578225dest_path_image078.GIF" wi="13" he="21" />帧采用视点内编码和视点间编码的方式,在计算<img file="58885dest_path_image076.GIF" wi="8" he="21" />帧或者<img file="538277dest_path_image078.GIF" wi="13" he="21" />帧的传输优先级时还要考虑视点间编码,一个<img file="395374dest_path_image076.GIF" wi="8" he="21" />帧或者<img file="89661dest_path_image078.GIF" wi="13" he="21" />帧<img file="dest_path_image136.GIF" wi="48" he="23" />的传输优先级可以表示为该帧丢失而不能正常解码的所有关键帧的传输优先级之和,即集合<img file="678905dest_path_image102.GIF" wi="76" he="25" />中关键帧的传输优先级之和:<img file="dest_path_image138.GIF" wi="385" he="84" /><img file="dest_path_image140.GIF" wi="112" he="22" />式中,<img file="dest_path_image142.GIF" wi="62" he="26" />表示视点<img file="409707dest_path_image032.GIF" wi="18" he="16" />中第0个帧<img file="dest_path_image144.GIF" wi="54" he="22" />的传输优先级,<img file="dest_path_image146.GIF" wi="50" he="22" />表示视点<img file="dest_path_image148.GIF" wi="14" he="20" />中第0个帧,<img file="dest_path_image150.GIF" wi="60" he="26" />表示帧<img file="742600dest_path_image146.GIF" wi="50" he="22" />的传输优先级,<img file="dest_path_image152.GIF" wi="85" he="25" />表示帧<img file="478343dest_path_image144.GIF" wi="54" he="22" />的丢失导致视点<img file="566385dest_path_image032.GIF" wi="18" he="16" />以外的视点中不能正常解码的帧的集合,<img file="833418dest_path_image018.GIF" wi="22" he="18" />表示多视点视频中视点的数目,根据视点和帧的传输优先级,若在一个用户端的可用网络流量不足以传输所有选择的视点时,则按照传输优先级从高到低的顺序传输视点;若可用网络流量不足以传输一个视点中所有的帧,则按照传输优先级从高到低的顺序传输视点内的帧,这样可以提高用户端接收的视频质量,3.建立凸优化数学模型<b>目标问题</b><b>P:    min<img file="dest_path_image154.GIF" wi="336" he="79" /></b>约束条件:1)<img file="dest_path_image156.GIF" wi="201" he="58" /><img file="dest_path_image158.GIF" wi="165" he="44" />;2)<img file="dest_path_image160.GIF" wi="201" he="72" /><img file="dest_path_image162.GIF" wi="177" he="42" />;3)<img file="dest_path_image164.GIF" wi="129" he="76" /><img file="dest_path_image166.GIF" wi="209" he="37" />;优化目标:使异构网络环境中的所有用户失真总和最小化;其中<img file="dest_path_image168.GIF" wi="88" he="45" />为视点<img file="596100dest_path_image032.GIF" wi="18" he="16" />对与用户<img file="999400dest_path_image030.GIF" wi="13" he="14" />的重要性,<img file="dest_path_image170.GIF" wi="208" he="98" />,约束条件:1)  规定每条链路上的实际网络流量消耗量小于等于该链路的传输容量;2)  对应于各个接收节点,用于接收每个视点的网络流量小于等于该视点的编码码率;3)  规定各个接收节点在每条路径上的网络流量必须大于等于零;4. 对原始凸优化问题分布式求解<b>目标问题</b><b>P1:</b><img file="dest_path_image172.GIF" wi="44" he="34" /><img file="dest_path_image174.GIF" wi="301" he="71" />约束条件:<img file="dest_path_image176.GIF" wi="233" he="67" /><img file="382977dest_path_image158.GIF" wi="165" he="44" />;步骤1:定义拉格朗日对偶:<img file="dest_path_image178.GIF" wi="529" he="55" />其中,<img file="dest_path_image180.GIF" wi="43" he="50" />是拉格朗日乘子;步骤2:定义拉格朗日对偶函数:<img file="dest_path_image182.GIF" wi="181" he="44" />;步骤3:定义对偶问题:<img file="dest_path_image184.GIF" wi="53" he="50" /><img file="dest_path_image186.GIF" wi="72" he="41" />;步骤4:采用原始‑对偶算法,同时更新原始变量和对偶变量,逐步逼近最优点,其中<img file="dest_path_image188.GIF" wi="28" he="20" />和<img file="dest_path_image190.GIF" wi="28" he="20" />是正的步长值,<img file="dest_path_image192.GIF" wi="22" he="20" />表示取正值的运算:<img file="dest_path_image194.GIF" wi="517" he="75" /><img file="dest_path_image196.GIF" wi="505" he="77" />在以上更新过程中,<img file="dest_path_image198.GIF" wi="38" he="45" />可视为拥塞代价,当总需求<img file="dest_path_image200.GIF" wi="195" he="56" />逼近可提供的网络流量上限<img file="dest_path_image202.GIF" wi="17" he="25" />时,<img file="dest_path_image204.GIF" wi="35" he="41" />上升;反之,<img file="dest_path_image206.GIF" wi="37" he="44" />下降,定义<img file="dest_path_image208.GIF" wi="74" he="40" />为满足目标问题P1中约束条件<img file="dest_path_image210.GIF" wi="244" he="69" />的最优化拉格朗日乘子,<img file="dest_path_image212.GIF" wi="38" he="50" />是第<img file="573524dest_path_image040.GIF" wi="10" he="20" />条链路上总的拥塞代价,所有更新过程可以分布式实现,每条链路、每个节点只需要局部信息,就可完成更新。
地址 200444 上海市宝山区上大路99号