一种3g网络环境下的移动音视频实时通信方法

文档序号:7986619阅读:293来源:国知局
专利名称:一种3g网络环境下的移动音视频实时通信方法
技术领域
本发明涉及通信领域,特别针对移动多媒体通信的特殊需求,具体而言,就是一种 3G网络环境下低延时、鲁棒性移动音视频通信方法。
背景技术
随着移动通信技术的飞跃发展,移动通信已全面迈入了 3G时代,开创了高速率移动通信的新阶段。3G时代的技术进步使得移动通信的环境条件得到明显改善,驱动移动通信业进入新一轮增长高峰,这其中,移动音视频通信业务最具发展前景,应用需求也最为迫切,已在移动安防应急、移动指挥调度、移动视频会议、移动娱乐等领域取得一定的成就。但是,由于无线信道固有的特点,如可靠性不高、容易丢包,带宽随时可能变化等,在一定程度上限制了移动音视频业务的发展和推广。同时,移动终端的异构性也加大了移动音视频的实现难度。目前,严重影响用户体验的两个主要问题是“延时”和“质量差”,如何保障移动音视频业务的服务质量已成为当前多媒体领域与移动通信领域的研究热点。移动终端大都基于ARM平台,而多数ARM处理器对于多媒体处理的能力都较弱,因此一种简单的,不提高编解码复杂度,又能对无线网络有着良好适应性的方法,将成为移动音视频应用的强大助推器。

发明内容
本发明的目的在于提供一种3G网络环境下低延时、鲁棒性的移动音视频通信方法。该方法在对音视频数据包的收发与处理上最大限度地与无线网络的固有特点相适应, 可以在保证低延时的前提下,显著提高音视频业务的服务质量。本发明的技术方案为一种3G网络环境下的移动音视频实时通信方法,在音频发送端进行音频采集、音频编码、码流封装和数据包发送,在视频发送端进行视频采集、视频编码、码流封装和数据包发送,在音频接收端进行数据包接收、排序及码流拆分、音频解码和语音播放,在视频接收端进行数据包接收、排序及码流拼接、视频解码和视频显示,在视频发送端进行视频编码时,对移动终端实时采集得到的视频图像采用分片机制进行压缩编码,且分片时仅指定数据片中宏块的最大数目;在视频发送端进行码流封装时,把含剧烈运动信息的数据片单独封装成数据包,对于属于一帧但不含剧烈运动信息的连续多个数据片合并封装成一个数据包;在视频发送端进行数据包发送时,对一帧码流封装后所得到的多个数据包进行有间隔的发送,实现方式为,计算出要发送的当前数据包和下一个数据包的间隔时间,然后将当前数据包发出,等待间隔时间后,将下一个数据包作为要发送的当前数据包,计算间隔时间并发送,直到通信终止;所述间隔时间根据要发送的当前数据包的尺寸、所属帧封装成数据包的数目、网络上限带宽、处理时延及编码帧率计算得到;在视频接收端进行排序及码流拼接时,若在对移动终端接收到的数据包进行排序的过程中发现有数据包丢失,则在码流拼接过程中计算有数据包丢失的这帧码流中是否存在含剧烈运动信息的数据片,若存在则这帧码流经解码后得到的图像不予显示;在音频接收端使用三个并行的过程,其中一个过程进行数据包接收,一个过程进行排序及码流拆分,一个过程进行音频解码和语音播放。而且,视频发送端进行码流封装时,对每一帧码流的具体处理包括以下步骤,步骤1. 1,设当前帧码流的尺寸记为Size,当前帧码流中所包含的数据片数目记为n,将要封装成数据包的码流数据记为pack,将要封装成数据包的码流数据pack 的尺寸记为packSize,连续多个不含剧烈运动信息的数据片合并之后的上限尺寸记为maxPackSize,第i个数据片中的码流数据记为slice[i],第i个数据片的尺寸记为 length[i],测试的经验阈值记为Thl ;步骤1. 2,令 i = 1,pack = slice[i], packSize = length[i],若 length[i] > size/n且length[i]-size/n > Thl,则认为第i个数据片为含剧烈运动信息的数据片,转到步骤1.4;否则,进行步骤1.3;步骤1.3,若 i < n,length[i + l]-size/n < Thl 且 packSize < = maxPackSize-length [i + 1], 贝令 pack = pack + sl ice [i + 1] , packSize = packSize+length[i+l],i = i+1,转到步骤 1. 3 ;否则,进入步骤 1. 4 ;步骤1. 4,把要封装成数据包的码流数据pack封装成一个数据包;步骤1. 5,若i < n,转到步骤1. 2 ;否则,当前帧码流处理完成。而且,在视频发送端进行数据包发送时,对每一帧码流的具体处理包括以下步骤,步骤2. 1,通过测试获取处理时延φ;步骤2. 2,计算数据包的发送时延 a,a = ((L*8) / (B*1000)) *1000 = (8*L)/B,其中L为数据包的长度,B是网络上限带宽;步骤2. 3,计算所允许的最大数据包发送间隔b,b = (l/(u*f))*1000 = IO3/ (u*f),其中u是数据包所属帧封装成数据包的数目,f是视频的编码帧率;步骤2. 4,若(p<a<b,贝ijt=a-cp;若cp<b<a,贝ijt=b-cp;否贝Ij t = 0 ;步骤2. 5,发送当前数据包;步骤2. 6,等待一个时间间隔λ *t,然后转到步骤2. 2,准备发送下一个数据包,其中λ是经验系数,0 < λ < 1。而且,在视频接收端进行排序及码流拼接时,对每一帧码流的具体处理包括以下步骤,步骤3. 1,根据数据包的包头信息取出属于当前帧的所有数据包并进行排序,然后通过检测数据包的序列号是否按照指定长度递增来确定有无数据包丢失,若无,正常解码当前帧码流并显示图像;若有,进行步骤3. 2 ;步骤3. 2,首先通过检测起始码和NAL单元的类型得到当前帧码流中数据片的数目及各数据片的尺寸,然后再对数据片进行遍历,若出现len-t0tal/nUm>Th2,则认为当前帧码流中存在含剧烈运动信息的数据片,不予显示;否则,正常解码当前帧码流并显示图像;其中,Ien是单个数据片的尺寸,total是当前帧码流中数据片的总尺寸,num是当前帧码流中数据片的个数,Th2是测试的经验阈值。而且,在音频接收端把对音频处理的三个过程分别放在三个独立的线程中并行执行处理,并使用四级缓存对这三个线程进行协同;
第一级缓存是接收缓存,在进行数据包接收时存放数据包,在进行数据包排序前从中提取数据包;第二级缓存是排序缓存,存放待排序的数据包,并进行数据包排序;第三级缓存是解码缓存,存放已排序的数据包,进行音频解码时从中提取数据包;第四级缓存是同步播放缓存,存放进行音频解码后的语音,进行语音播放时从中提取语音。本发明所提出的方法在音视频的收发两端和编解码处理的前后做一些先验判断和处理,并由此改变网络传输的方式及音视频数据包处理的流程来提高网络适应性,所涉及的计算均简单而有效,几乎没有增加计算复杂度。本发明中对视频的处理分为三部分首先,视频编码时采用分片机制且分片时仅指定片中宏块的最大数目,并对生成的可独立解码的数据片采用不同的策略进行封装,以使数据包的封装自适应于视频的内容。新一代视频编码标准H. ^4/AVC、AVS等均包含片的句法,支持分片机制,所不同的是在AVS中称为条带;其次,在一帧码流的多个数据包之间添加自适应于网络的发送时间间隔,以减少网络拥塞和数据包乱序的可能性;最后,通过在视频接收端屏蔽一些视觉效果比较差的视频图像来进一步提高视频的显示质量。音频的信息量虽然远小于视频,但人耳对声音比较敏感,结合实时语音通信对延时要求比较严格的特点,本发明中对数据包的处理采用三个并行的过程和四级缓存来最大限度地抵消网络的不稳定因素,在保证低延时的同时有效地提高了语音的通信质量。


图1本发明实施例的移动音视频实时通信方法所涉及处理环节流程图;图2本发明实施例的语音接收端协同处理示意图。
具体实施例方式以下结合附图和实施例详细说明本发明技术方案。参见图1,现有技术提供的移动音视频实时通信方法,移动终端上的处理主要包括在音频发送端进行音频采集、音频编码、码流封装和数据包发送,在视频发送端进行视频采集、视频编码、码流封装和数据包发送,在音频接收端进行数据包接收、排序及码流拆分、 音频解码和语音播放,在视频接收端进行数据包接收、排序及码流拼接、视频解码和视频显示。本发明实施例提供的移动音视频通信方法对以下几部分进行改进[Si]视频编码、码流封装在视频发送端进行编码时,对移动终端实时采集得到的视频图像采用分片机制进行压缩编码,且分片时仅指定数据片中宏块的数目,即首先把一帧视频图像划分为若干个数据片,然后对各数据片进行编码。这样以来,由剧烈运动区域的宏块所组成的数据片在尺寸上要明显大于由静止区域的宏块所组成的数据片,即用数据片的尺寸来反映视频内容的运动性。实施例对一帧码流所包含的多个可独立解码的数据片在发送之前采用不同的封装策略,使数据包的封装自适应于视频的内容。在视频发送端进行码流封装时,把含剧烈运动信息的数据片单独封装成数据包,对于属于一帧但不含剧烈运动信息的连续多个数据片合并封装成一个数据包。
实施例的视频发送端进行码流封装时,对每一帧码流的具体处理包括以下步骤
步骤1. 1,设当前帧码流的尺寸记为size,当前帧码流中所包含的数据片数目记为n,将要封装成数据包的码流数据记为pack,将要封装成数据包的码流数据pack 的尺寸记为packSize,连续多个不含剧烈运动信息的数据片合并之后的上限尺寸记为maxPackSize,第i个数据片中的码流数据记为slice[i],第i个数据片的尺寸记为 length[i],测试的经验阈值记为Thl ;
步骤1. 2,令 i = 1,pack = slice[i], packSize = length[i],若 length[i] > size/n且length[i]-size/n > Thl,则认为第i个分片为含剧烈运动信息的数据片,转到步骤1.4;否则,进行步骤1.3;
步骤1.3,若 i < n,length[i + 1]—size/n < Thl 且 packSize < = maxPackSize-length [i + 1], 贝令 pack = pack + sl ice [i + 1] , packSize = packSize+length[i+l],i = i+1,即将第i+1个数据片中的码流数据加入pack,将码流数据 pack的尺寸加上第i+Ι个数据片的尺寸后更新,然后转到步骤1. 3 ;否则,进入步骤1. 4 ;
步骤1. 4,把要封装成数据包的码流数据pack封装成一个数据包;
步骤1. 5,若i < n,转到步骤1. 2 ;否则,当前帧码流处理完成。具体实施时,可以转到步骤1. 1,处理下一帧视频码流,直到通信终止。
这里“数据”的单位均为字节,“尺寸”就是字节的数目。这样,既将含剧烈运动信息的数据片单独封装,提高了可靠性,又把连续多个小尺寸的数据片合并封装,在保证数据包上限尺寸的同时减少了数据包发送的频率,降低了因数据包发送过密而造成网络拥塞和延时的可能性。
[S2]视频数据包发送
在视频发送端进行数据包发送时,对一帧视频码流封装后所得到的多个数据包进行有间隔的发送,计算出要发送的当前数据包和下一个数据包的间隔时间,然后将当前数据包发出,等待间隔时间后,将下一个数据包作为要发送的当前数据包,计算间隔时间并发送,直到通信终止;所述间隔时间根据要发送的当前数据包的尺寸、所属帧封装成数据包的数目、网络上限带宽、处理时延及编码帧率计算得到。
实施例在视频发送端进行数据包发送时,对每一帧码流的具体处理包括以下步骤
步骤2. 1,通过测试获取处理时延φ;
步骤2. 2,计算数据包的发送时延 a, a = ((L*8) / (B*1000)) *1000 = (8*L) /B,其中L为数据包的长度,B是网络的上限带宽;
步骤2. 3,计算所允许的最大数据包发送间隔b,b = (l/(u*f))*1000 = IO3/ (u*f),其中u是数据包所属帧封装成数据包的数目,f是视频的编码帧率;
步骤2. 4,若(p<a<b,贝ijt=a-cp;若cp<b<a,贝ijt=b-cp;否贝Ij t = 0 ;
步骤2. 5,发送当前数据包;
步骤2. 6,等待一个时间间隔λ *t,然后转到步骤2. 2,准备发送下一个数据包,其中λ是经验系数,0 < λ < 1。
其中,t是数据包的发送时间间隔,(p、a、b、t的单位均是ms (毫秒),L的单位是 byte (字节),B的单位是Icbit/s (千比特/秒),f单位是帧/秒。步骤2. 2是从局部出发计算数据包的发送时延,若网络稳定并按这个时间间隔发包,可以保证一个数据包到达目的地之后再发送下一个数据包,不会出现乱序。步骤2. 3是从全局出发计算这一帧码流所含数据包的平均发送时间,对于单个数据包而言,就是它的最大发送间隔,若网络稳定并按这个时间间隔发包,可以保证数据及时发出,不至于阻塞在发送端。步骤2. 4是步骤2. 3和2. 3的折中,若网络稳定并按这个时间间隔发包,既保证数据包能够及时发出,不会因此带来延时,又在各数据包之间增加了时间间隔,大大减少了网络拥塞和乱序的可能性。步骤2. 4的极限情况才是连续无间隔的非友好发送方式(数据包之间只有处理时延)。步骤2. 6对计算出的时间间隔乘上经验系数,以抵消在实际应用中网络抖动等不稳定因素的影响,经验系数λ可以在具体实施时实验得到。[S3]视频数据包排序、码流拼接在视频接收端进行排序及码流拼接时,若在对移动终端接收到的数据包进行排序的过程中发现有数据包丢失,则在码流拼接过程中计算有数据包丢失的这帧码流中是否存在含剧烈运动信息的数据片,若存在则这帧码流经解码后得到的图像不予显示。即通过屏蔽一些视觉效果比较差的图像来提高移动终端的视频质量。实施例在视频接收端进行排序及码流拼接时,对每一帧码流的具体处理包括以下步骤步骤3. 1,根据数据包的包头信息取出属于当前帧的所有数据包并进行排序, 包头信息仅与数据包封装时所使用的传输协议有关,例如RTP (Real-time Transport Protocol)实时传送协议,头部信息主要包含数据包的类型、序列号、时戳、负载长度等信息,实际使用时同一帧码流的数据包被赋予相同的时戳和递增的序列号,这样以来,检测数据包的序列号便可以确定有无数据包丢失,若无,正常解码当前帧码流并显示图像;若有, 进行步骤3. 2 ;步骤3. 2,首先通过检测起始码和NAL (Network Abstraction Layer网络抽象层) 单元的类型得到当前帧码流中数据片的数目及各数据片的尺寸,起始码仅与所使用的编码标准有关,例如,H. ^4/AVC标准的起始码为0X000001,NAL单元的类型取值范围为0 31, 取值5代表IDR(刷新帧)帧中片,取值7代表序列参数集,取值8代表图像参数集,等等; 然后再对数据片进行遍历,若出现len-total/num > Th2,则认为当前帧码流中存在含剧烈运动信息的数据片,不予显示;否则,正常解码当前帧码流并显示图像。其中,Ien是单个数据片的尺寸,total是当前帧不完整的码流中数据片的总尺寸,num是当前帧不完整的码流中数据片的个数,Th2是测试的经验阈值,len, total的单位均是byte (字节)。在确定有数据包丢失的前提下,不显示含剧烈运动信息的码流解码后的图像,而对于不含剧烈运动信息的码流多对应运动变化很小或静止的图像,由解码器里的容错机制对丢失的数据片进行修补并解码后所得到的图像对人的视觉感受影响有限,因此可以显示。这样做可能会使视频损失一定的连贯性,但对于移动终端,更重要的是视频的显示质量,宁缺勿滥。[S4]音频接收端的处理针对人耳对声音比较敏感的特点,对音频接收端的处理过程使用三个并行的过程和四级缓存来实现。其中一个过程进行数据包接收,一个过程进行排序及码流拆分,一个过程进行音频解码和语音播放。
[S401]音频数据包接收
音频数据包的接收作为一个独立的过程放在一个单独的线程中执行,所使用的多媒体传输协议底层接收缓存的尺寸等于X个语音包的长度。所允许的最大延时记为S毫秒,一个音频数据包所包含的音频帧数记为N,一帧语音的时间记为S毫秒,调节X或N的取值,使得X*N*S < δ。
[S402]音频数据包排序、码流拆分
音频数据包的排序作为一个独立的过程放在一个单独的线程中执行,所使用排序缓存的尺寸等于Y个语音包的长度。由于一帧音频码流的信息量比较小,单个语音包一般包含多帧音频码流,这时需要对码流进行拆分,确保以帧为单位进行解码。
[S403]音频解码、语音播放
音频数据包的解码和语音的播放作为一个整体放在一个单独的线程中执行。解码所使用缓存的尺寸等于Z个语音包的长度,调节Y与Z的值,使Υ+Ζ大于X。移动终端底层同步播放缓存的长度设置为(BufSize/frame+lhframe,BufSize是指同步播放缓存的默认长度,frame是指解码之后一帧原始语音的长度,BufSize和frame的单位均为byte (字节)。
实施例把移动终端通过3G网络收到的数据包的处理分为三个过程①数据包接收、②排序及码流拆分、③音频解码和语音播放;将这三个过程分别放在三个独立的线程中并行处理,并使用四级缓存对这三个功能独立且并行执行的线程进行协同,在保证低延时的同时,极大的提高了语音通话的质量。参见图2:
第一级缓存是接收缓存,在进行数据包接收时(过程1)存放数据包,在进行数据包排序前从中提取数据包;
第二级缓存是排序缓存,存放待排序的数据包,第二级缓存是排序缓存,存放待排序的数据包,并进行数据包排序(过程2);
第三级缓存是解码缓存,存放已排序的数据包,进行音频解码时(过程幻从中提取数据包;
第四级缓存是同步播放缓存,存放进行音频解码后的语音,进行语音播放时(过程3)从中提取语音。
使用四级缓存对三个线程进行协同的具体说明如下
第一级缓存是指所使用的多媒体传输协议其底层的接收缓存,这个缓存用来缓冲因网络抖动而导致的收包不均勻,在接收时使用,尺寸等于X个语音包的长度。该缓存可以有效平滑网络的抖动,即长时间未收到数据包而后一次性收到大量数据包的情况。同时,这个缓存也决定了语音的延时时间,把所允许的最大延时记为δ毫秒,一个音频数据包所包含的音频帧数记为N,一帧语音的时间记为S毫秒,那么,总的声音延时为X*N*S毫秒。调节 X或N的取值,使得X*N*S < δ,即可保证延时在δ毫秒以内。要注意的是,X的取值不能过小,否则会因为接收缓存过小而使同时到达的多个数据包部分被丢弃,将严重影响声音的质量。
第二级缓存用来对数据包进行排序,在接收后使用,尺寸等于Y个语音包的长度,即仅考虑连续Y个语音包乱序的情况,对于序号跨度超出这个范围的数据包视为无效。第三级缓存用来存放已排序的数据包,在排序后使用,尺寸等于Z个语音包的长度,用于缓冲接收与播放之间速度的不匹配。Y+Z要大于X,防止因缓存满而失去缓冲作用。第四级缓存是指移动终端底层的同步播放缓存,用来存放解码后的语音,在解码后使用,长度设置为(BufSize/frame+lRframe,能够缓冲移动终端播放每帧音频数据所花费的时间差,这里的时间是指从一帧语音流进入缓存到播放完毕所花费的总时间,即包含了排队时延。其中,BufSize是指同步播放缓存的默认长度,这个长度随终端类型和型号的不同差别可能会很大;frame是指解码之后一帧原始语音的长度;BufSize和frame的单位均为byte (字节)。本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
权利要求
1.一种3G网络环境下的移动音视频实时通信方法,在音频发送端进行音频采集、音频编码、码流封装和数据包发送,在视频发送端进行视频采集、视频编码、码流封装和数据包发送,在音频接收端进行数据包接收、排序及码流拆分、音频解码和语音播放,在视频接收端进行数据包接收、排序及码流拼接、视频解码和视频显示,其特征在于在视频发送端进行视频编码时,对移动终端实时采集得到的视频图像采用分片机制进行压缩编码,且分片时仅指定数据片中宏块的最大数目;在视频发送端进行码流封装时,把含剧烈运动信息的数据片单独封装成数据包,对于属于一帧但不含剧烈运动信息的连续多个数据片合并封装成一个数据包;在视频发送端进行数据包发送时,对一帧码流封装后所得到的多个数据包进行有间隔的发送,实现方式为,计算出要发送的当前数据包和下一个数据包的间隔时间,然后将当前数据包发出,等待间隔时间后,将下一个数据包作为要发送的当前数据包,计算间隔时间并发送,直到通信终止;所述间隔时间根据要发送的当前数据包的尺寸、所属帧封装成数据包的数目、网络上限带宽、处理时延及编码帧率计算得到;在视频接收端进行排序及码流拼接时,若在对移动终端接收到的数据包进行排序的过程中发现有数据包丢失,则在码流拼接过程中计算有数据包丢失的这帧码流中是否存在含剧烈运动信息的数据片,若存在则这帧码流经解码后得到的图像不予显示;在音频接收端使用三个并行的过程,其中一个过程进行数据包接收,一个过程进行排序及码流拆分,一个过程进行音频解码和语音播放。
2.根据权利要求1所述3G网络环境下的移动音视频实时通信方法,其特征在于视频发送端进行码流封装时,对每一帧码流的具体处理包括以下步骤,步骤1. 1,设当前帧码流的尺寸记为size,当前帧码流中所包含的数据片数目记为n, 将要封装成数据包的码流数据记为pack,将要封装成数据包的码流数据pack的尺寸记为 packSize,连续多个不含剧烈运动信息的数据片合并之后的上限尺寸记为maxPackSize,第 i个数据片中的码流数据记为slice[i],第i个数据片的尺寸记为length[i],测试的经验阈值记为Thl ;步骤 1. 2,令 i = l,pack = slice[i],packSize = length[i],若 length[i] > size/ η且length[i]-Size/n > Thl,则认为第i个数据片为含剧烈运动信息的数据片,转到步骤 1.4;否则,进行步骤1.3;步骤 1.3,若 i < n, length[i + l]-size/n < Thl 且 packSize < = maxPackSize-length [i + 1], 贝令 pack = pack+sl ice [i + 1] , packSize = packSize+length[i+l],i = i+1,转到步骤 1. 3 ;否则,进入步骤 1. 4 ;步骤1. 4,把要封装成数据包的码流数据pack封装成一个数据包;步骤1. 5,若i < n,转到步骤1. 2 ;否则,当前帧码流处理完成。
3.根据权利要求1所述3G网络环境下的移动音视频实时通信方法,其特征在于在视频发送端进行数据包发送时,对每一帧码流的具体处理包括以下步骤,步骤2. 1,通过测试获取处理时延φ;步骤2. 2,计算数据包的发送时延a,a = ((L*8) / (B*1000)) *1000 = (8*L)/B,其中L 为数据包的长度,B是网络上限带宽;步骤2. 3,计算所允许的最大数据包发送间隔b,b = (l/(u*f))*1000 = 103/(U*f),其中u是数据包所属帧封装成数据包的数目,f是视频的编码帧率; 步骤 2. 4,若(p<a<b,贝ijt=a-cp;若cp<b<a,贝ijt=b-cp;否贝Ij t = 0 ;步骤2. 5,发送当前数据包;步骤2. 6,等待一个时间间隔λ *t,然后转到步骤2. 2,准备发送下一个数据包,其中λ 是经验系数,0 < λ < 1。
4.根据权利要求1所述3G网络环境下的移动音视频实时通信方法,其特征在于在视频接收端进行排序及码流拼接时,对每一帧码流的具体处理包括以下步骤,步骤3. 1,根据数据包的包头信息取出属于当前帧的所有数据包并进行排序,然后通过检测数据包的序列号是否按照指定长度递增来确定有无数据包丢失,若无,正常解码当前帧码流并显示图像;若有,进行步骤3. 2 ;步骤3. 2,首先通过检测起始码和NAL单元的类型得到当前帧码流中数据片的数目及各数据片的尺寸,然后再对数据片进行遍历,若出现len-t0tal/nUm>Th2,则认为当前帧码流中存在含剧烈运动信息的数据片,不予显示;否则,正常解码当前帧码流并显示图像; 其中,Ien是单个数据片的尺寸,total是当前帧码流中数据片的总尺寸,num是当前帧码流中数据片的个数,Th2是测试的经验阈值。
5.根据权利要求1所述3G网络环境下的移动音视频实时通信方法,其特征在于在音频接收端把对音频处理的三个过程分别放在三个独立的线程中并行执行处理,并使用四级缓存对这三个线程进行协同;第一级缓存是接收缓存,在进行数据包接收时存放数据包,在进行数据包排序前从中提取数据包;第二级缓存是排序缓存,存放待排序的数据包,并进行数据包排序;第三级缓存是解码缓存,存放已排序的数据包,进行音频解码时从中提取数据包;第四级缓存是同步播放缓存,存放进行音频解码后的语音,进行语音播放时从中提取语首。
全文摘要
本发明提供了一种3G网络环境下的移动音视频实时通信方法,所述方法通过在音视频的收发两端和编解码处理的前后做一些先验判断和处理,使音视频数据包的传输及处理具有更好的网络适应性。本发明提供的移动音视频通信方法可以在保证低延时的前提下,显著提高音视频业务的服务质量。
文档编号H04N21/23GK102497578SQ201110379059
公开日2012年6月13日 申请日期2011年11月25日 优先权日2011年11月25日
发明者侯志强, 傅佑铭, 周楚, 王中元, 王文兵, 胡瑞敏 申请人:武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1