CN101605251B - 无线视频传输方法和系统 - Google Patents
无线视频传输方法和系统 Download PDFInfo
- Publication number
- CN101605251B CN101605251B CN 200910089792 CN200910089792A CN101605251B CN 101605251 B CN101605251 B CN 101605251B CN 200910089792 CN200910089792 CN 200910089792 CN 200910089792 A CN200910089792 A CN 200910089792A CN 101605251 B CN101605251 B CN 101605251B
- Authority
- CN
- China
- Prior art keywords
- frame
- sent
- data packet
- compressed data
- receiving terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了无线视频传输方法和系统,属于视频传输技术领域。该方法包括:S110、建立网络连接;S120、信源将数据包存入发送缓存;将待发送的每个数据包分别作为当前数据包;S130、向中继和接收端广播当前数据包;S140、中继将接收到的当前数据包进行压缩并进行CRC,获得压缩数据包;S150、中继判断接收端对压缩数据包解码的时刻是否晚于播放时刻;如果是,执行S160,否则,执行S170;S160、中继放弃压缩数据包并返回S130;S170、中继将压缩数据包发给接收端;接收端对数据包进行怀纳-泽夫解码,获得信源发送的数据信息,并对其进行视频解码。该系统包括:信源、中继和接收端。本发明提高了视频传输的分集增益、鲁棒性与实时性。
Description
技术领域
本发明涉及视频传输技术领域,特别涉及无线视频传输方法和系统。
背景技术
随着网络多媒体的广泛应用,无线视频技术已经逐渐成为视频传输领域里的一个非常重要的组成部分。视频流的海量数据与无线信道带宽之间的矛盾对无线传输技术提出了新的要求。
在无线通信中,无线信道的衰落是可靠通信中需要解决的关键问题。现有技术一中的基于多天线阵列的多输入多输出技术(MIMO,Multiple-Input and Multiple-Output)技术,很好地利用了空域复用和空域分集的特性,具有很好的抗衰落的特性。在对现有技术一进行分析后,发明人发现,在移动终端和无线传感器体积的限制下,MIMO技术对于天线空间位置的要求使得其在移动无线视频传输中的应用受到了局限。
现有技术二中的基于中继的协作通信能够将单设备MIMO系统转化为分布式天线阵列,即单天线(或多天线)的移动终端,可以通过相互协作以构成虚拟MIMO。这样就以分布式的形式在多个终端间实现了空域复用和协作分集。协同通信的一种实现方式称为压缩-转发(CF,Compress-and-Forward)模式,其最典型的实现方法是中继使用怀纳-泽夫(Wyner-Ziv)编码来压缩接收到的信号,并转发给接收端。在对现有技术二进行分析后,发明人发现,尽管CF模式下的协同传输能够为无线视频传输提供良好的空域复用和空域分集性能,但是在传输的过程中仍然无法避免网络拥塞和时延等问题。
发明内容
本发明实施例提供了一种无线视频传输方法和系统。所述技术方案如下:
一种无线视频传输方法,包括:
S110、在信源、中继以及接收端之间建立网络连接;
S120、所述信源将待发送帧经过视频编码器编码得到的数据包存入发送缓存等待发送;将待发送的每一个数据包分别作为当前数据包,执行:
S130、所述信源在第一时隙向所述中继和所述接收端广播所述当前数据包;
S140、所述中继在第二时隙将接收到的所述当前数据包进行编码压缩并进行循环冗余校验,获得压缩数据包;
S150、所述中继判断如果将所述压缩数据包发送到所述接收端,所述接收端对所述压缩数据包进行解码的时刻,是否晚于所述压缩数据包的播放时刻;如果是,执行步骤S160,否则,执行步骤S170;
S160、所述中继放弃发送所述压缩数据包并返回步骤S130;
S170、所述中继将所述压缩数据包转发给所述接收端;
所述接收端对所述压缩数据包进行循环冗余校验,校验成功则所述接收端对所述压缩数据包和所述当前数据包进行怀纳-泽夫解码,获得信源在第一时隙发送的数据信息,并向所述信源和所述中继发送接收确认数据包,并对所述数据信息进行视频解码;
如果循环冗余校验失败或者接收端无法对所述压缩数据包进行正确的怀纳-泽夫解码,则所述接收端根据所述压缩数据包的重传次数,向所述中继或所述信源发送自动重传请求,重传后对所述压缩数据包的重传次数加1。
进一步地,步骤S120中,视频编码器采用H.264可伸缩扩展版本标准进行层次化双向预测编码帧编码。
在步骤S130之前,还包括:
判断所述接收端对所述当前数据包解码的最早时刻TS,arr是否晚于所述当前数据包的播放时刻Tdisp;
如果是,则丢弃所述待发送帧剩余的尚未发送的所有数据包,以及与待发送帧位于同一图像组中的丢弃帧的所有数据包,然后将所述发送缓存中的下一帧的每一个数据包分别作为当前数据包,执行步骤S130;其中,如果所述待发送帧为双向预测编码帧,则所述丢弃帧为播放时刻在所述待发送帧的前向预测帧和所述待发送帧的后向预测帧的播放时刻之间,并且编码层次较所述待发送帧高的视频帧;如果所述待发送帧为帧内编码帧,则所述丢弃帧为所述待发送帧所在图像组除所述待发送帧以外的全部视频帧;如果所述待发送帧为前向预测编码帧,则所述丢弃帧为所述待发送帧所在图像组除帧内编码帧和所述待发送帧外的全部视频帧;
如果否,则直接执行步骤S130。
所述接收端对所述当前数据包解码的最早时刻TS,arr的计算式为:TS,arr=TS+T′trans+Tdecode,其中TS为信源发送所述当前数据包的时刻,T′trans为所述当前数据包从信源到接收端的最小传输时延,Tdecode为所述当前数据包的解码时延;
设当前待发送帧为第j帧,在接收到所述当前待发送帧之前接收端共播放了NGOP个图像组,则在所述接收端,所述当前数据包的播放时刻Tdisp的计算式为:Tdisp=Tbuffer+j/Rf+NGOP×M/Rf,其中Tbuffer为缓存播放时延,Rf为视频播放的帧率,M为一个图像组中的帧数。
所述步骤S140中的所述编码压缩为怀纳-泽夫编码压缩。
所述步骤S150中,所述接收端对所述压缩数据包进行解码的时刻TR,arr为:TR,arr=TR+T″trans+T′decode,其中,TR为所述中继发送所述压缩数据包的时刻,T″trans为所述压缩数据包从中继到接收端的最小传输时延,T′decode为所述压缩数据包的解码时延;
设当前待发送帧为第j帧,在接收到所述当前待发送帧之前接收端共播放了NGOP个图像组,则所述压缩数据包的播放时刻Tdisp为:Tdisp=Tbuffer+j/Rf+NGOP×M/Rf,其中Tbuffer为缓存播放时延,Rf为视频播放的帧率,M为一个图像组中的帧数。
所述接收端根据所述压缩数据包的重传次数,向所述中继或所述信源发送自动重传请求,具体包括:
当所述重传次数不大于预设的最大重传次数时,所述接收端向所述中继发送自动重传请求,返回步骤S140;
当所述重传次数大于最大重传次数时,则所述接收端向所述信源发送自动重传请求,返回步骤S130。
本发明实施例还提供了一种无线视频传输系统,包括:信源、中继以及接收端,
所述信源包括:
存储模块,用于将待发送帧经过视频编码器编码得到的数据包存入发送缓存等待发送;将待发送的每一个数据包分别作为当前数据包;
发送模块,用于在第一时隙向所述中继和所述接收端广播所述当前数据包;
所述中继包括:
编码校验模块,用于在第二时隙将接收到的所述发送模块发来的当前数据包进行编码压缩并进行循环冗余校验,获得压缩数据包;
判断模块,用于判断如果将所述压缩数据包发送到所述接收端,所述接收端对所述压缩数据包进行解码的时刻,是否晚于所述压缩数据包的播放时刻;
放弃模块,用于当所述判断模块的判断结果为是时,放弃发送所述压缩数据包并触发所述发送模块工作;
转发模块,用于当所述判断模块的判断结果为否时,将所述压缩数据包转发给所述接收端;
所述接收端包括:
校验模块,用于对所述压缩数据包进行循环冗余校验;
第一模块,用于如果所述校验模块校验成功则对所述压缩数据包和所述当前数据包进行怀纳-泽夫解码,获得信源在第一时隙发送的数据信息,并向所述信源和所述中继发送接收确认数据包,对所述数据信息进行视频解码;
第二模块,用于如果所述校验模块校验失败或者所述第一模块无法对所述压缩数据包进行正确的怀纳-泽夫解码,则根据所述压缩数据包的重传次数,向所述中继或所述信源发送自动重传请求,重传后对所述压缩数据包的重传次数加1。
进一步地,所述信源还包括:
信源判断模块,用于在第一时隙向所述中继和所述接收端广播所述当前数据包之前,判断所述接收端对所述当前数据包解码的最早时刻Tarr是否晚于所述当前数据包的播放时刻Tdisp;
第一执行模块,用于当所述信源判断模块的判断结果为是时,丢弃所述待发送帧剩余的尚未发送的所有数据包,以及与所述待发送帧位于同一图像组中的丢弃帧的所有数据包,然后将所述发送缓存中的下一帧数据中的每一个数据包分别作为当前数据包,触发所述发送模块工作;其中,如果所述待发送帧为双向预测编码帧,则所述丢弃帧为播放时刻在所述待发送帧的前向预测帧和所述待发送帧的后向预测帧的播放时刻之间,并且编码层次较所述待发送帧高的视频帧;如果所述待发送帧为帧内编码帧,则所述丢弃帧为所述待发送帧所在图像组除所述待发送帧以外的全部视频帧;如果所述待发送帧为前向预测编码帧,则所述丢弃帧为所述待发送帧所在图像组除帧内编码帧和所述待发送帧外的全部视频帧;
第二执行模块,用于当所述信源判断模块的判断结果为否时,触发所述发送模块工作。
本发明实施例提供的技术方案的有益效果是:将协同传输的技术应用于无线视频传输,提高了视频传输的分集增益。同时本发明实施例还给出了实时传输中数据包的丢弃方法和基于CF模式下协同视频传输的自动重传请求策略,提高了视频传输的鲁棒性与实时性。
附图说明
图1是本发明实施例提供的无线视频传输方法的流程图;
图2是视频编码器层次化B帧编码时域预测原理图;
图3是本发明实施例提供的无线视频传输系统的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例的应用环境如下:用于无线视频传输的视频序列采用CIF(标准化图像格式,Common Intermediate Format)的名字为“mobile”的标准测试视频序列;该CIF格式视频序列的像素为352×288;解码器采用H.264/SVC(ScalableVideo Coding,可伸缩扩展)标准的参考软件JSVM(Joint Scalable Video Model,可伸缩视频编码);编码器GOP(Group ofPictures,图像组)的帧数为8;编码的时域预测采用Hierarchical B(层次化双向预测编码帧,简称层次化B帧)的方法,每一帧又按照FGS(Fine Granular Scalability,精细粒度可伸缩)方法将其分为一个BL(Base Layer,基本层)和至少一个EL(Enhancement Layer,提升层);信源和中继的发送码率均为256kbps(千比特每秒);每个发送时隙为0.5秒;每个数据包的解码时延Tdecode=0.1秒;建立视频通信连接后的初始缓存为10秒的视频帧;视频播放的帧率为每秒30帧;中继最大重传次数为5。每一个ACK包(接收成功确认数据包)或NACK包(接收失败确认数据包)从接收端到中继或到信源的反向传输的时延均为TACK=0.001秒。本发明实施例以一帧分为一个BL和一个EL进行说明。
实施例一
本发明实施例提供了一种无线视频传输方法,如图1所示,包括:
S110、在信源、中继以及接收端之间建立无线协同网络连接。
S120、信源将待发送帧经过视频编码器编码得到的数据包存入发送缓存等待发送;将待发送的每一个数据包分别作为当前数据包,执行步骤S130。
视频编码器采用H.264标准的可伸缩扩展版本(H.264/SVC)进行层次化B帧编码,即视频编码器采用层次化B帧的时域预测结构进行编码。Hierarchical B结构定义了每个视频帧的层次,如图2所示:在一个GOP中,第一帧(即帧内编码帧(I帧))和最后一帧(即前向预测编码帧(P帧))为第0层;由第0层的I帧和P帧共同共同预测得到的双向预测编码帧(即B帧)为第1层;由第0层的I帧或P帧和第1层的B帧预测B帧的层次为第2层;由第2层B帧和第0层或者第1层的视频帧预测得到的B帧称为第3层,以此类推。在图2中,每一个独立的菱形(包括一个BL和至少一个EL)对应视频序列中的一个视频帧,所有的视频帧从左至右按照播放时间先后顺序排列。信源将待发送帧经过该视频编码器编码得到的数据包存入发送缓存等待发送。根据层次化B帧编码的知识可知,在该发送缓存中,同一个视频帧(即待发送帧中的一帧)的数据包放在一起,而不同视频帧的排放顺序并非是按照视频序列中的时间顺序排列,是按照编码的先后顺序排列,也即排在最前面最先发送的是第0层的视频帧,然后依次是第1层、第2层和第3层。
S130、信源在第一时隙向中继和接收端广播当前数据包。
优选地,本实施例在第一时隙(本实施例为0.01秒内)向中继和接收端广播当前数据包之前,还包括:
120b:判断所述接收端对所述当前数据包解码的最早时刻TS,arr是否晚于所述当前数据包的播放时刻Tdisp。
设整个视频序列中某个GOP的第j(j=1,2,3,…)帧中某一层(BL或者EL)的第i个数据包mi(i=1,2,3,…)为当前要发送的数据包。该层的所有数据包大小相同,都包含K比特。信源和中继的发送码率为每秒r比特(本实施例为256kbps(千比特每秒))。此时该数据包的发送时延为Ttrans=K/r。设一个GOP的帧数为M(本实施例中是8)。数据包mi所在的视频层(上述第j帧)被编码成L个数据包。视频播放的帧率为Rf。
设信源发送数据包mi的时刻为该当前数据包的解码时延为Tdecode。对于同一视频层的数据包,其所在视频层的解码时延相同。在接收端,设其播放之初缓存的视频帧的播放时延为Tbuffer。在接收到数据包mi所在的视频帧之前,接收端共播放了NGOP个GOP。因此,数据包mi的最小传输时延为T′trans=(L-i+1)×Ttrans+(L-i+1)×TACK。其中,每一个ACK包或NACK包从接收端到中继或到信源的反向传输的时延均为TACK=0.001秒。
120c:如果是,则丢弃待发送帧剩余的尚未发送的所有数据包,以及与待发送帧位于同一图像组中的丢弃帧的所有数据包,然后将发送缓存中的下一帧数据中的每一个数据包分别作为当前数据包,执行步骤S130。
120d:否则执行步骤S130。
其中,如果上述待发送帧为B帧,则丢弃帧为播放时刻在待发送帧的前向预测帧和待发送帧的后向预测帧的播放时刻之间,并且编码层次较待发送帧高的视频帧;如果上述待发送帧为I帧,则丢弃帧为待发送帧所在图像组除待发送帧以外的全部视频帧;如果上述待发送帧为P帧,则丢弃帧为待发送帧所在图像组除I帧和待发送帧外的全部视频帧。
某一帧的预测帧指用来预测该帧的视频帧。一般来讲,双向预测编码帧的预测帧有两帧。播放时刻位于该帧之前的预测帧为前向预测帧;播放时刻位于该帧之后的预测帧为后向预测帧。参见图2,第二个“第2层”(以下简称为A层)所在视频帧,是由“第1层”所在视频帧和最右面的“第0层”所在视频帧共同预测得到的,则“第1层”所在视频帧为A层所在视频帧的前向预测帧;最右面的“第0层”所在视频帧为A层所在视频帧的后向预测帧。
当时,信源丢弃上述第j帧剩余的尚未发送的所有数据包,以及与上述第j帧位于同一GOP中的丢弃帧的所有数据包。比如若当前数据包mi位于图2中A层所在视频帧(该待发送帧为一个B帧),则由图2分析可知,该待发送帧的前向预测帧为编码层次为“第1层”的视频帧;后向预测帧为最右面的编码层次为“第0层”的视频帧。本例中位于待发送帧的前向预测帧和待发送帧的后向预测帧的播放时刻之间,并且编码层次较待发送帧高的为与待发送帧直接相邻的编码层次为“第3层”的视频帧。若当前数据包mi位于图2中最左边的“第0层”所在视频帧(即该待发送帧为一个I帧),由上述可知,丢弃帧为待发送帧所在图像组除待发送帧以外的全部视频帧。假设当前数据包mi位于图2中最右边的“第0层”所在视频帧(即该待发送帧为一个P帧),由上述可知,丢弃帧为待发送帧所在图像组除I帧和待发送帧外的全部视频帧。
信源丢弃完数据包后,将发送缓存中的下一帧数据中的每一个数据包分别作为当前数据包,执行步骤S130。
例如对于整个视频序列中某个GOP的第3帧的BL,该层每个数据包大小相同,均为2048bits。此时每个数据包的发送时延为Ttrans=8×10-3秒。对于该BL的第100个数据包mi,信源发送该数据包的发送时刻为并且此次发送为该数据包的第一次发送。第3帧被分成两层,该数据包所在层被编码成300个数据包。接收端在接收到该数据包所在帧之前共播放了9个GOP。此时对该数据包的时延判断包括以下步骤:
而该视频层期望的播放时刻为:
S140、中继在第二时隙将接收到的当前数据包进行编码压缩并进行循环冗余校验(Cyclic Redundancy Check,CRC),获得压缩数据包。
本步骤的编码压缩方法采用Wyner-Ziv编码器实现。本实施例中,Wyner-Ziv编码器采用均匀量化器和信道编码的编码器实现,中继压缩编码的码率设为Rw=0.5。
如果上一次中继压缩数据包的码率为Rrelay=3/16,并且发送成功;同时该压缩码率可以在{1/16,2/16,…,15/16}中选择(也即该压缩码率的调整步长为1/16),则此时码率调整为Rrelay=3/16-1/16=2/16。当Rrelay=1/16时,码率不再降低。
S150、中继判断如果将上述压缩数据包发送到接收端,接收端对上述压缩数据包进行解码的时刻,是否晚于上述压缩数据包的播放时刻;如果是,执行步骤S160,否则,执行步骤S170。
接收端对上述压缩数据包进行解码的时刻TR,arr为:tR,arr=TR+T″trans+T′decode,其中,TR为中继发送上述压缩数据包的时刻,T″trans为上述压缩数据包的最小传输时延,T′decode为上述压缩数据包的解码时延。
设当前待发送帧为第j帧,在接收到当前待发送帧之前接收端共播放了NGOP个图像组,则上述压缩数据包的播放时刻Tdisp为:Tdisp=Tbuffer+j/Rf+NGOP×M/Rf,其中Tbuffer为缓存播放时延,Rf为视频播放的帧率,M为一个图像组中的帧数。
S160、中继放弃发送上述压缩数据包并返回步骤S130。
例如对于整个视频序列中某个GOP的第3帧的BL,该层每个数据包大小相同,均为2048bits。此时每个数据包的发送时延为Ttrans=8×10-3秒。对于该BL的第100个数据包mi,设中继即将发送该数据包mi的时刻为此次发送为中继对该数据包的第5次发送。设该数据包所在帧被分成两层(1个BL和1个EL),而该数据包所在层被编码成300个数据包。接收端在接收到该数据包所在帧之前共播放了9个GOP。该数据包最小的传输时延为T″trans=(L-i+1)×Ttrans+(L-i+1)×TACK≈1.8秒。其所在视频层顺利传输并解码的“最早时刻”为
而该视频层期望的播放时刻为
因为并且此时中继对于该数据包的传输次数已经达到了最大重传次数(本实施例为5次)的限制,因此执行步骤S160,放弃发送上述压缩数据包并返回步骤S130。
S170、中继将上述压缩数据包转发给接收端;接收端对上述压缩数据包和当前数据包进行Wyner-Ziv解码,获得信源在第一时隙发送的数据信息,并对该数据信息进行视频解码。
当接收端对上述压缩数据包进行解码的时刻,早于上述压缩数据包的播放时刻时,中继将上述压缩数据包转发给接收端。
接收端对上述压缩数据包进行循环冗余校验,校验成功则接收端对上述压缩数据包和当前数据包进行Wyner-Ziv解码,获得信源在第一时隙发送的数据信息,并对该数据信息进行视频解码,以及向信源和中继发送ACK数据包;
如果循环冗余校验失败或者接收端无法对上述压缩数据包进行正确的Wyner-Ziv解码,则接收端根据上述压缩数据包的重传次数,向中继或信源发送自动重传请求(AutomaticRepeat-reQuest,ARQ),重传后对上述压缩数据包的重传次数加1。
具体地,接收端对中继转发的数据包进行CRC-16校验,校验成功则对两个时隙接收到的数据包(上述压缩数据包和当前数据包)进行Wyner-Ziv解码,Wyner-Ziv解码器采用信道编码的解码器实现。接收端通过Wyner-Ziv解码获得信源在第一个时隙发送的信息。接收端同时向信源和中继发送ACK包。
如果CRC-16校验不成功或者Wyner-Ziv解码失败,则向中继或者信源发送ARQ,即同时向信源和中继发送NACK包。当该数据包当前已经进行的重传次数没有超过最大重传次数限制时,接收端向中继发送ARQ,请求重传该数据包,返回步骤S140。如果超过最大重传次数的限制,则接收端向信源发出ARQ,请求重传该数据包,返回步骤S130。
接收端对Wyner-Ziv解码得到的数据进行视频解码,如果缺少某个视频层的数据,则通过错误隐藏等方法重建该视频层。同时接收端请求信源发送缓存中的下一个数据包。
本发明实施例将协同传输的技术应用于无线视频传输,提高了视频传输的分集增益。同时本发明实施例还给出了实时传输中数据包的丢弃方法和基于CF模式下协同视频传输的ARQ策略,提高了视频传输的鲁棒性与实时性。
实施例二
本发明实施例提供了一种无线视频传输系统,如图3所示,包括:信源301、中继302以及接收端303,
信源301包括:
存储模块,用于将待发送帧经过视频编码器编码得到的数据包存入发送缓存等待发送;将待发送的每一个数据包分别作为当前数据包。
视频编码器采用H.264标准的可伸缩扩展版本(H.264/SVC)进行层次化B帧编码,即视频编码器采用层次化B帧的时域预测结构进行编码。Hierarchical B结构定义了每个视频帧的层次,如图2所示:在一个GOP中,第一帧(即帧内编码帧(I帧))和最后一帧(即前向预测编码帧(P帧))为第0层;由第0层的I帧和P帧共同共同预测得到的双向预测编码帧(即B帧)为第1层;由第0层的I帧或P帧和第1层的B帧预测B帧的编码层次为第2层;由第2层B帧和第0层或者第1层的视频帧预测得到的B帧称为第3层,以此类推。在图2中,每一个独立的菱形(包括一个BL和至少一个EL)对应视频序列中的一个视频帧,所有的视频帧从左至右按照播放时间先后顺序排列。信源将待发送帧经过该视频编码器编码得到的数据包存入发送缓存等待发送。根据层次化B帧编码的知识可知,在该发送缓存中,同一个视频帧(即待发送帧中的一帧)的数据包放在一起,而不同视频帧的排放顺序并非是按照视频序列中的时间顺序排列,是按照编码的先后顺序排列,也即排在最前面最先发送的是第0层的视频帧,然后依次是第1层、第2层和第3层。
发送模块,用于在第一时隙向中继302和接收端303广播当前数据包。
进一步地,信源301还包括:
信源判断模块,用于在第一时隙向中继302和接收端303广播当前数据包之前,判断接收端303对当前数据包解码的最早时刻Tarr是否晚于当前数据包的播放时刻Tdisp。
设整个视频序列中某个GOP的第j(j=1,2,3,…)帧中某一层(BL或者EL)的第i个数据包mi(i=1,2,3,…)为当前要发送的数据包。该层的所有数据包大小相同,都包含K比特。信源和中继的发送码率为每秒r比特(本实施例为256kbps(千比特每秒))。此时该数据包的发送时延为Ttrans=K/r。设一个GOP的帧数为M(本实施例中是8)。数据包mi所在的视频层(上述第j帧)被编码成L个数据包。视频播放的帧率为Rf。
设信源发送数据包mi的时刻为该当前数据包的解码时延为Tdecode。对于同一视频层的数据包,其所在视频层的解码时延相同。在接收端,设其播放之初缓存的视频帧的播放时延为Tbuffer。在接收到数据包mi所在的视频帧之前,接收端共播放了NGOP个GOP。因此,数据包mi的最小传输时延为T′trans=(L-i+1)×Ttrans+(L-i+1)×TACK。其中,每一个ACK包或NACK包从接收端到中继或到信源的反向传输的时延均为TACK=0.001秒。
第一执行模块,用于当信源判断模块的判断结果为是时,丢弃待发送帧剩余的尚未发送的数据包,以及与待发送帧位于同一图像组中的丢弃帧的所有数据包,然后将发送缓存中的下一帧数据中的每一个数据包分别作为当前数据包,触发发送模块工作;其中,如果待发送帧为B帧(双向预测编码帧),则所述丢弃帧为播放时刻在待发送帧的前向预测帧和待发送帧的后向预测帧的播放时刻之间,并且编码层次较所述待发送帧高的视频帧;如果所述待发送帧为I帧,则丢弃帧为待发送帧所在图像组除待发送帧以外的全部视频帧;如果待发送帧为P帧,则丢弃帧为待发送帧所在图像组除I帧和待发送帧外的全部视频帧。
第二执行模块,用于当信源301判断模块的判断结果为否时,触发发送模块工作。
某一帧的预测帧指用来预测该帧的视频帧。一般来讲,双向预测编码帧的预测帧有两帧。播放时刻位于该帧之前的预测帧为前向预测帧;播放时刻位于该帧之后的预测帧为后向预测帧。参见图2,第二个“第2层”(以下简称为A层)所在视频帧,是由“第1层”所在视频帧和最右面的“第0层”所在视频帧共同预测得到的,则“第1层”所在视频帧为A层所在视频帧的前向预测帧;最右面的“第0层”所在视频帧为A层所在视频帧的后向预测帧。
当时,信源丢弃上述第j帧剩余的尚未发送的所有数据包,以及与上述第j帧位于同一GOP中的丢弃帧的所有数据包。比如若当前数据包mi位于图2中A层所在视频帧(该待发送帧为一个B帧),则由图2分析可知,该待发送帧的前向预测帧为编码层次为“第1层”的视频帧;后向预测帧为最右面的编码层次为“第0层”的视频帧。本例中位于待发送帧的前向预测帧和待发送帧的后向预测帧的播放时刻之间,并且编码层次较待发送帧高的为与待发送帧直接相邻的编码层次为“第3层”的视频帧。若当前数据包mi位于图2中最左边的“第0层”所在视频帧(即该待发送帧为一个I帧),由上述可知,丢弃帧为待发送帧所在图像组除待发送帧以外的全部视频帧。假设当前数据包mi位于图2中最右边的“第0层”所在视频帧(即该待发送帧为一个P帧),由上述可知,丢弃帧为待发送帧所在图像组除I帧和待发送帧外的全部视频帧。
信源丢弃完数据包后,将发送缓存中的下一帧数据中的每一个数据包分别作为当前数据包,触发发送模块工作。
例如对于整个视频序列中某个GOP的第3帧的BL,该层每个数据包大小相同,均为2048bits。此时每个数据包的发送时延为Ttrans=8×10-3秒。对于该BL的第100个数据包mi,信源发送该数据包的发送时刻为并且此次发送为该数据包的第一次发送。第3帧被分成两层,该数据包所在层被编码成300个数据包。接收端在接收到该数据包所在帧之前共播放了9个GOP。此时对该数据包的时延判断包括以下步骤:
该数据包最小的传输时延为T′trans=(L-i+1)×Ttrans+(L-i+1)×TACK≈1.8秒。其所在视频层顺利传输并解码的“最早时刻”为
而该视频层期望的播放时刻为:
中继302包括:
编码校验模块,用于在第二时隙将接收到的发送模块发来的当前数据包进行编码压缩并进行循环冗余校验,获得压缩数据包。
本步骤的编码压缩为Wyner-Ziv编码压缩。本实施例中,Wyner-Ziv编码器采用均匀量化器和信道编码的编码器实现,中继压缩编码的码率设为Rw=0.5。
如果上一次中继压缩数据包的码率为Rrelay=3/16,并且发送成功;同时该压缩码率可以在{1/16,2/16,…,15/16}中选择(也即该压缩码率的调整步长为1/16),则此时码率调整为Rrelay=3/16-1/16=2/16。当Rrelay=1/16时,码率不再降低。
判断模块,用于判断如果将上述压缩数据包发送到接收端303,接收端303对上述压缩数据包进行解码的时刻,是否晚于上述压缩数据包的播放时刻。
接收端对上述压缩数据包进行解码的时刻TR,arr为:TR,arr=TR+T″trans+T′decode,其中,TR为中继发送上述压缩数据包的时刻,T″trans为上述压缩数据包的最小传输时延,T′decode为上述压缩数据包的解码时延。
设当前待发送帧为第j帧,在接收到当前待发送帧之前接收端共播放了NGOP个图像组,则上述压缩数据包的播放时刻Tdisp为:Tdisp=Tbuffer+j/Rf+NGOP×M/Rf,其中Tbuffer为缓存播放时延,Rf为视频播放的帧率,M为一个图像组中的帧数。
放弃模块,用于当判断模块的判断结果为是时,放弃发送上述压缩数据包并触发发送模块工作。
例如对于整个视频序列中某个GOP的第3帧的BL,该层每个数据包大小相同,均为2048bits。此时每个数据包的发送时延为Ttrans=8×10-3秒。对于该BL的第100个数据包mi,设中继即将发送该数据包mi的时刻为此次发送为中继对该数据包的第五次发送。该数据包所在帧被分成两层(1个BL和1个EL),而该数据包所在层被编码成300个数据包。设接收端在接收到该数据包所在帧之前共播放了9个GOP。该数据包最小的传输时延为T″trans=(L-i+1)×Ttrans+(L-i)×TACK≈1.8秒。其所在视频层顺利传输并解码的“最早时刻”为
而该视频层期望的播放时刻为
转发模块,用于当判断模块的判断结果为否时,将上述压缩数据包转发给接收端303。
当接收端对上述压缩数据包进行解码的时刻,早于上述压缩数据包的播放时刻时,中继将上述压缩数据包转发给接收端303。
接收端303,用于对上述压缩数据包和当前数据包进行Wyner-Ziv解码,获得信源在第一时隙发送的数据信息,并对该数据信息进行视频解码。
进一步地,接收端具体包括:
校验模块,用于对上述压缩数据包进行循环冗余校验;
第一模块,用于校验成功则对上述压缩数据包和当前数据包进行Wyner-Ziv解码,获得信源301在第一时隙发送的数据信息,并向信源301和中继302发送接收确认数据包,以及对数据信息进行视频解码;
第二模块,用于如果校验模块校验失败或者第一模块无法对上述压缩数据包进行正确的Wyner-Ziv解码,则根据上述压缩数据包的重传次数,向中继302或信源301发送ARQ,重传后对上述压缩数据包的重传次数加1。
具体地,接收端对中继转发的数据包进行CRC-16校验,校验成功则对两个时隙接收到的数据包(上述压缩数据包和当前数据包)进行Wyner-Ziv解码,Wyner-Ziv解码器采用信道编码的解码器实现。接收端通过Wyner-Ziv解码获得信源在第一个时隙发送的信息,同时向信源和中继发送ACK包。
如果CRC-16校验不成功或者Wyner-Ziv解码失败,则向中继或者信源发送ARQ,即同时向信源和中继发送NACK包。当该数据包当前已经进行的重传次数没有超过最大重传次数限制时,接收端向中继发送ARQ,请求重传该数据包,触发编码校验模块工作。如果超过最大重传次数的限制,则接收端向信源发出ARQ,请求重传该数据包,触发发送模块工作。
接收端对Wyner-Ziv解码得到的数据进行视频解码,如果缺少某个视频层的数据,则通过错误隐藏等方法重建该视频层。同时接收端请求信源发送缓存中的下一个数据包。
本发明实施例将协同传输的技术应用于无线视频传输,从而提高了视频传输的分集增益。同时本发明实施例还通过放弃模块,对实时传输中超时的数据包予以丢弃;通过接收端的第二模块,实现了基于CF模式下协同视频传输的ARQ策略,提高了视频传输的鲁棒性与实时性。
尽管本发明已参照具体实施方式进行描述和举例说明,但是并不意味着本发明限于这些描述的实施方式。首先,本发明以最新的国际视频编码标准H.264/SVC为例进行说明,但是并不局限于此,只要定义了Hierarchical B的视频编码,均可按照本发明的思想进行改动。其次,本发明中对于中继的编码方式采用均匀量化器和信道码编码器为例,但是不限于此,只要是采用量化器和信道编码来实现Wyner-Ziv编码,均可按照本发明思想进行改动。最后,本发明中采用CRC-16进行循环冗余校验,但是不局限于此,只要是在CF协同通信中采用校验方法来检测数据包的完整性均可按照本发明思想进行改动。本领域技术人员可在本发明思想下对本发明进行多种不同的修改,但凡依本发明权利要求书范围所做的同等的变化及修饰,均属于专利保护范畴。
本发明实施例可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,例如,计算机的硬盘、缓存或光盘中。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种无线视频传输方法,其特征在于,包括:
S110、在信源、中继以及接收端之间建立网络连接;
S120、所述信源将待发送帧经过视频编码器编码得到的数据包存入发送缓存等待发送;将待发送的每一个数据包分别作为当前数据包,执行:
S130、所述信源在第一时隙向所述中继和所述接收端广播所述当前数据包;
S140、所述中继在第二时隙将接收到的所述当前数据包进行编码压缩并进行循环冗余校验,获得压缩数据包;
S150、所述中继判断如果将所述压缩数据包发送到所述接收端,所述接收端对所述压缩数据包进行解码的时刻,是否晚于所述压缩数据包的播放时刻;如果是,执行步骤S160,否则,执行步骤S170;
S160、所述中继放弃发送所述压缩数据包并返回步骤S130;
S170、所述中继将所述压缩数据包转发给所述接收端;
所述接收端对所述压缩数据包进行循环冗余校验,校验成功则所述接收端对所述压缩数据包和所述当前数据包进行怀纳-泽夫解码,获得信源在第一时隙发送的数据信息,并向所述信源和所述中继发送接收确认数据包,并对所述数据信息进行视频解码;
如果循环冗余校验失败或者接收端无法对所述压缩数据包进行正确的怀纳-泽夫解码,则所述接收端根据所述压缩数据包的重传次数,向所述中继或所述信源发送自动重传请求,重传后对所述压缩数据包的重传次数加1。
2.如权利要求1所述的无线视频传输方法,其特征在于,步骤S120中,视频编码器采用H.264可伸缩扩展版本标准进行层次化双向预测编码帧编码。
3.如权利要求2所述的无线视频传输方法,其特征在于,在步骤S130之前,还包括:
判断所述接收端对所述当前数据包解码的最早时刻TS,arr是否晚于所述当前数据包的播放时刻Tdisp;
如果是,则丢弃所述待发送帧剩余的尚未发送的所有数据包,以及与待发送帧位于同一图像组中的丢弃帧的所有数据包,然后将所述发送缓存中的下一帧的每一个数据包分别作为当前数据包,执行步骤S130;其中,如果所述待发送帧为双向预测编码帧,则所述丢弃帧为播放时刻在所述待发送帧的前向预测帧和所述待发送帧的后向预测帧的播放时刻之间,并且编码层次较所述待发送帧高的视频帧;如果所述待发送帧为帧内编码帧,则所述丢弃帧为所述待发送帧所在图像组除所述待发送帧以外的全部视频帧;如果所述待发送帧为前向预测编码帧,则所述丢弃帧为所述待发送帧所在图像组除帧内编码帧和所述待发送帧外的全部视频帧;
如果否,则直接执行步骤S130。
4.如权利要求3所述的无线视频传输方法,其特征在于,
所述接收端对所述当前数据包解码的最早时刻TS,arr的计算式为:TS,arr=TS+T′trans+Tdecode,其中TS为信源发送所述当前数据包的时刻,T′trans为所述当前数据包从信源到接收端的最小传输时延,Tdecode为所述当前数据包的解码时延;
设当前待发送帧为第j帧,在接收到所述当前待发送帧之前接收端共播放了NGOP个图像组,则在所述接收端,所述当前数据包的播放时刻Tdisp的计算式为:Tdisp=Tbuffer+j/Rf+NGOP×M/Rf,其中Tbuffer为缓存播放时延,Rf为视频播放的帧率,M为一个图像组中的帧数。
5.如权利要求1所述的无线视频传输方法,其特征在于,所述步骤S140中的所述编码压缩为怀纳-泽夫编码压缩。
6.如权利要求1所述的无线视频传输方法,其特征在于,所述步骤S150中,
所述接收端对所述压缩数据包进行解码的时刻TR,arr为:TR,arr=TR+T″trans+T′decode,其中,TR为所述中继发送所述压缩数据包的时刻,T″trans为所述压缩数据包从中继到接收端的最小传输时延,T′decode为所述压缩数据包的解码时延;
设当前待发送帧为第j帧,在接收到所述当前待发送帧之前接收端共播放了NGOP个图像组,则所述压缩数据包的播放时刻Tdisp为:Tdisp=Tbuffer+j/Rf+NGOP×M/Rf,其中Tbuffer为缓存播放时延,Rf为视频播放的帧率,M为一个图像组中的帧数。
7.如权利要求1所述的无线视频传输方法,其特征在于,所述接收端根据所述压缩数据包的重传次数,向所述中继或所述信源发送自动重传请求,具体包括:
当所述重传次数不大于预设的最大重传次数时,所述接收端向所述中继发送自动重传请求,返回步骤S140;
当所述重传次数大于最大重传次数时,则所述接收端向所述信源发送自动重传请求,返回步骤S130。
8.一种无线视频传输系统,其特征在于,包括:信源、中继以及接收端,
所述信源包括:
存储模块,用于将待发送帧经过视频编码器编码得到的数据包存入发送缓存等待发送;将待发送的每一个数据包分别作为当前数据包;
发送模块,用于在第一时隙向所述中继和所述接收端广播所述当前数据包;
所述中继包括:
编码校验模块,用于在第二时隙将接收到的所述发送模块发来的当前数据包进行编码压缩并进行循环冗余校验,获得压缩数据包;
判断模块,用于判断如果将所述压缩数据包发送到所述接收端,所述接收端对所述压缩数据包进行解码的时刻,是否晚于所述压缩数据包的播放时刻;
放弃模块,用于当所述判断模块的判断结果为是时,放弃发送所述压缩数据包并触发所述发送模块工作;
转发模块,用于当所述判断模块的判断结果为否时,将所述压缩数据包转发给所述接收端;
所述接收端包括:
校验模块,用于对所述压缩数据包进行循环冗余校验;
第一模块,用于如果所述校验模块校验成功则对所述压缩数据包和所述当前数据包进行怀纳-泽夫解码,获得信源在第一时隙发送的数据信息,并向所述信源和所述中继发送接收确认数据包,对所述数据信息进行视频解码;
第二模块,用于如果所述校验模块校验失败或者所述第一模块无法对所述压缩数据包进行正确的怀纳-泽夫解码,则根据所述压缩数据包的重传次数,向所述中继或所述信源发送自动重传请求,重传后对所述压缩数据包的重传次数加1。
9.如权利要求8所述的无线视频传输系统,其特征在于,所述信源还包括:
信源判断模块,用于在第一时隙向所述中继和所述接收端广播所述当前数据包之前,判断所述接收端对所述当前数据包解码的最早时刻Tarr是否晚于所述当前数据包的播放时刻Tdisp;
第一执行模块,用于当所述信源判断模块的判断结果为是时,丢弃所述待发送帧剩余的尚未发送的所有数据包,以及与所述待发送帧位于同一图像组中的丢弃帧的所有数据包,然后将所述发送缓存中的下一帧数据中的每一个数据包分别作为当前数据包,触发所述发送模块工作;其中,如果所述待发送帧为双向预测编码帧,则所述丢弃帧为播放时刻在所述待发送帧的前向预测帧和所述待发送帧的后向预测帧的播放时刻之间,并且编码层次较所述待发送帧高的视频帧;如果所述待发送帧为帧内编码帧,则所述丢弃帧为所述待发送帧所在图像组除所述待发送帧以外的全部视频帧;如果所述待发送帧为前向预测编码帧,则所述丢弃帧为所述待发送帧所在图像组除帧内编码帧和所述待发送帧外的全部视频帧;
第二执行模块,用于当所述信源判断模块的判断结果为否时,触发所述发送模块工作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910089792 CN101605251B (zh) | 2009-07-24 | 2009-07-24 | 无线视频传输方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910089792 CN101605251B (zh) | 2009-07-24 | 2009-07-24 | 无线视频传输方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101605251A CN101605251A (zh) | 2009-12-16 |
CN101605251B true CN101605251B (zh) | 2011-05-11 |
Family
ID=41470769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910089792 Expired - Fee Related CN101605251B (zh) | 2009-07-24 | 2009-07-24 | 无线视频传输方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101605251B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
PL2651128T3 (pl) * | 2010-12-06 | 2019-01-31 | Sun Patent Trust | Sposób dekodowania obrazu, sposób kodowania obrazu, urządzenie dekodujące obraz oraz urządzenie kodujące obraz |
CN108337574A (zh) * | 2017-01-20 | 2018-07-27 | 中兴通讯股份有限公司 | 一种流媒体传输方法及装置、系统、服务器、终端 |
CN111385045B (zh) * | 2018-12-29 | 2022-04-15 | 南京中感微电子有限公司 | 一种音频数据通信系统 |
CN112929590B (zh) * | 2021-02-05 | 2022-10-04 | 广东欧谱曼迪科技有限公司 | 开机动画播放系统、压缩方法、装置及解压方法、装置 |
-
2009
- 2009-07-24 CN CN 200910089792 patent/CN101605251B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101605251A (zh) | 2009-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5016279B2 (ja) | データ通信システム、データ送信装置およびデータ送信方法 | |
JP5562861B2 (ja) | スケーラブルマルチメディアデータストリームをストリーミングする方法及び装置 | |
US8295352B2 (en) | Process for delivering a video stream over a wireless bidirectional channel between a video encoder and a video decoder | |
CN101969372B (zh) | 基于帧丢失预测的蜂窝网络上行视频通信QoS优化方法 | |
EP2912845A1 (en) | Enhanced video streaming with application layer forward error correction | |
CN102547376B (zh) | 一种视频数据传输方法、装置和系统 | |
CN101605251B (zh) | 无线视频传输方法和系统 | |
CN1754385B (zh) | 图像数据分发装置、方法及图像数据接收方法 | |
US8799749B2 (en) | Ad-hoc multimedia group communication terminal robust to packet loss and method of operating the same | |
Chen et al. | Multi-stages hybrid ARQ with conditional frame skipping and reference frame selecting scheme for real-time video transport over wireless LAN | |
CN101079685B (zh) | 一种用于多天线通讯系统的自动重传请求方法 | |
CN106230560A (zh) | 无线网络中协作多媒体多播数据传输方法 | |
KR101196451B1 (ko) | 비트스트림 전송 장치 및 방법 | |
Tu et al. | Proxy-based reference picture selection for error resilient conversational video in mobile networks | |
Panahi et al. | A novel schema for multipath video transferring over ad hoc networks | |
KR101429398B1 (ko) | 스케일러블 코딩 기반의 데이터 처리 방법 | |
KR101725345B1 (ko) | 무선 랜에서 브로드캐스팅/멀티캐스팅 전송과 유니캐스팅 전송을 혼용한 방송 패킷 재전송 시스템 및 방법 | |
Hou et al. | A novel differentiated retransmission scheme for MPEG video streaming over wireless links | |
Saadawi et al. | A transport level unequal error protection mechanism for wireless interactive video | |
GHAIDA | An efficient error-robust wireless video transmission using link-layer FEC and low-delay ARQ schemes | |
Al-Suhail | Impact of packet size on the temporal quality of video transmission over wired-to-wireless network | |
Dawood | Error resilient packet switched H. 264 video telephony over third generation networks. | |
Kim et al. | Design and implementation of adaptive transmission error control for video streaming under time-varying wireless channels | |
Zhang et al. | Adaptive re-transmission scheme for wireless mobile networking and computing | |
Kim et al. | Feedback-based adaptive video streaming over lossy channels |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110511 |
|
CF01 | Termination of patent right due to non-payment of annual fee |