发明名称 一种联合端系统和中继节点网络编码的鲁棒视频传输方法
摘要 本发明公开了一种联合端系统和中继节点网络编码的鲁棒视频传输方法:设计可伸缩视频编码的不平等保护算法,可伸缩码流优先级划分方法,视频流交织打包算法,以及视频质量失真模型,并通过对视频质量失真模型优化求解得到最优的冗余分配方案;发送端在待传输的压缩信源码流中通过随机线性网络编码添加适当冗余,从端系统角度保证视频传输的可靠性;中继节点通过随机线性网络编码减少了网络带宽资源消耗,并且提高了视频传输的效率和抗差错性能。本发明保证了接收端按可伸缩码流重要性顺序获得分层码流,提高了视频传输质量,并能够适应网络中不同终端的带宽、计算能力和分辨率的需求。
申请公布号 CN103260033B 申请公布日期 2017.02.08
申请号 CN201310150375.1 申请日期 2013.04.26
申请人 西安交通大学 发明人 张兴军;景萍;董小社;吴玉星;岑松;崔华力
分类号 H04N19/40(2014.01)I;H04N21/2383(2011.01)I;H04N21/438(2011.01)I;H04L1/22(2006.01)I 主分类号 H04N19/40(2014.01)I
代理机构 西安通大专利代理有限责任公司 61200 代理人 汪人和
主权项 一种联合端系统和中继节点网络编码的鲁棒视频传输方法,其特征在于:包括如下步骤:第一步:发送端按视频质量失真模型优化求解出冗余分配方案,然后按照冗余分配方案对可伸缩视频流排序、建立可伸缩视频流交织打包格式、构造编码包并生成冗余包,然后将编码包和冗余包发送到网络上;其中建立视频质量失真模型包括如下步骤:(a)端系统通过实验预测的方法获得可伸缩视频流可扩展单元SU丢失后的视频PSNR值,再计算出可扩展单元丢失造成的视频流PSNR下降值,用来确定该可扩展单元的重要性δ<sub>i,j</sub>;(b)通过实验仿真计算出接收端收不到该视频流可扩展单元SU的概率,即得到可扩展单元丢失的概率表达式;(c)当获得一个GOP中所有可扩展单元的以上两项值后,构建总体视频质量失真模型D<sub>overall</sub>;所述视频质量失真模型是基于可伸缩视频流特性和网络编码约束的视频传输优化模型,如下式所示:<maths num="0001"><math><![CDATA[<mrow><msub><mi>D</mi><mrow><mi>o</mi><mi>v</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>l</mi><mi>l</mi></mrow></msub><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>T</mi><mo>-</mo><mn>1</mn></mrow></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>Q</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>&sigma;</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>&CenterDot;</mo><msub><mi>&rho;</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mrow><mo>(</mo><msub><mi>w</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001070005660000011.GIF" wi="557" he="142" /></maths><maths num="0002"><math><![CDATA[<mrow><mi>W</mi><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><msub><mi>W</mi><mrow><mn>0</mn><mo>,</mo><mn>0</mn></mrow></msub></mtd><mtd><msub><mi>W</mi><mrow><mn>0</mn><mo>,</mo><mn>1</mn></mrow></msub></mtd><mtd><mo>...</mo></mtd><mtd><msub><mi>W</mi><mrow><mn>0</mn><mo>,</mo><mi>Q</mi><mo>-</mo><mn>1</mn></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>W</mi><mrow><mn>1</mn><mo>,</mo><mn>0</mn></mrow></msub></mtd><mtd><msub><mi>W</mi><mrow><mn>1</mn><mo>,</mo><mn>1</mn></mrow></msub></mtd><mtd><mo>...</mo></mtd><mtd><msub><mi>W</mi><mrow><mn>1</mn><mo>,</mo><mi>Q</mi><mo>-</mo><mn>1</mn></mrow></msub></mtd></mtr><mtr><mtd><mo>...</mo></mtd><mtd><mo>...</mo></mtd><mtd><mo>...</mo></mtd><mtd><mo>...</mo></mtd></mtr><mtr><mtd><msub><mi>W</mi><mrow><mi>T</mi><mo>-</mo><mn>1</mn><mo>,</mo><mn>0</mn></mrow></msub></mtd><mtd><msub><mi>W</mi><mrow><mi>T</mi><mo>-</mo><mn>1</mn><mo>,</mo><mn>1</mn></mrow></msub></mtd><mtd><mo>...</mo></mtd><mtd><msub><mi>W</mi><mrow><mi>T</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>Q</mi><mo>-</mo><mn>1</mn></mrow></msub></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0001070005660000012.GIF" wi="670" he="302" /></maths>,优化的目标是考虑可伸缩视频流自身特性、编码特性以及网络容量限制,合理的安排可伸缩视频流的冗余分配,从而保证视频质量失真最小,如下式所示: min{D<sub>overal</sub>(W)} s.t.<maths num="0003"><math><![CDATA[<mrow><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>T</mi><mo>-</mo><mn>1</mn></mrow></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>Q</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>h</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>+</mo><mi>H</mi><mo>&le;</mo><mi>M</mi></mrow>]]></math><img file="FDA0001070005660000021.GIF" wi="382" he="142" /></maths> w<sub>i,j</sub>≤w<sub>i+1,j</sub>,i=0,1,......,T‑2,j=0,1,......,Q‑1 w<sub>i,j</sub>≤w<sub>i,j+1</sub>,i=0,1,......,T‑1,j=0,1,......,Q‑2<maths num="0004"><math><![CDATA[<mrow><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>T</mi><mo>-</mo><mn>1</mn></mrow></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>Q</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>h</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>&CenterDot;</mo><mrow><mo>(</mo><mi>N</mi><mo>+</mo><mi>r</mi><mo>)</mo></mrow><mo>&le;</mo><msub><mi>B</mi><mrow><mi>t</mi><mi>o</mi><mi>t</mi></mrow></msub></mrow>]]></math><img file="FDA0001070005660000022.GIF" wi="469" he="141" /></maths>其中,D<sub>overal</sub>是视频传输总的失真;W是分层码流的宽度;H是分层码流的高度;M是数据包的长度;w<sub>i,j</sub>为一个GOP中可扩展单元SU(i,j)的宽度;ρ<sub>i,j</sub>(w<sub>i,j</sub>)为可扩展单元SU(i,j)的宽度为w<sub>i,j</sub>时数据包丢失的概率;σ<sub>i,j</sub>为可扩展单元SU(i,j)的重要程度;h<sub>i,j</sub>为一个GOP中可扩展单元SU(i,j)的高度;T和Q分别为时间层和质量层;N为可伸缩码流排序后生成的总的数据包数目;r为添加的冗余包数目;B<sub>tot</sub>为分配给一个GOP的总的码流;第二步:网络中继节点执行随机线性网络编码生成编码包;第三步:接收端对从网络中继节点接收的编码包采用高斯‑约旦消元法分层解码得到视频数据包,从视频数据包中提取视频数据,利用视频数据恢复出原始的可伸缩视频流;所述建立可伸缩视频流交织打包格式包括如下具体步骤:1)求解视频传输优化模型,得到可伸缩码流中最优的分层码流的高度和宽度,根据最优的分层码流的高度和宽度将不同层的码流划分成不同大小的数据块;2)采用交织读取的方式提取数据块,计算数据块在数据包中的填充位置,然后将数据块填充到对应的数据包位置中;网络中继节点执行随机线性网络编码的流程包括如下步骤:1)中继节点从输入链路接收来自同一组的数据包,然后将来自同一条输入链路的数据包存储到同一个缓存;2)缓存中的数据包个数大于编码最小上限时,在有限域中随机的选择编码系数构成编码向量,使之符合基于梯形分割的下三角全局编码矩阵的形式,然后对缓存中的数据包进行线性组合生成新的编码包;线性组合的过程为:提取基于梯形分割的下三角全局编码矩阵编码向量,用编码向量乘以同组数据包的数据构成的矩阵生成编码包;3)将生成的新的编码包发送到该中继节点的输出链路;所述编码矩阵是基于梯形分割的下三角全局编码矩阵:根据最优的分层码流的高度和宽度,确定编码矩阵的行数和列数,然后用有限域中的基本运算构建基于梯形分割的下三角全局编码矩阵,该矩阵是一种稀疏矩阵,矩阵从左到右依次存放重要程度递增的码流;用高斯‑约旦消元法分层解码的过程为:1)接收端从输入链路上接收编码包,对于同一组中的编码包,根据可扩展单元的高度和宽度提取收到的编码包中的可扩展单元的编码块和编码向量,并分别存储到编码包缓存和编码向量缓存中;2)在有限域中计算可扩展单元的编码向量构成的矩阵的秩,当该矩阵的秩等于可扩展单元的宽度,即可扩展单元的编码向量构成的矩阵满秩时,在有限域中用高斯‑约旦消元法求解出可扩展单元的编码向量构成的矩阵的逆矩阵;3)用逆矩阵乘以可扩展单元编码块矩阵解码出原始的可扩展单元,按码流重要性顺序,即根据可扩展单元中时间层和质量层ID号循环完成下一个可扩展单元的解码过程。
地址 710049 陕西省西安市咸宁西路28号