Ip网络会议视音频同步的方法

文档序号:7600080阅读:356来源:国知局
专利名称:Ip网络会议视音频同步的方法
技术领域
本发明涉及了一种在IP网络环境下音、视频数据处理的方法,特别是一种IP网络会议视音频同步的方法。
背景技术
随着计算机和通信技术的发展,多媒体通信技术已经成为研究的热点。而在此项技术中,如何在目的端正确地恢复多种媒体间的时间关系,即实现媒体间的同步,成为实现多媒体通信的关键技术之一。
在多媒体网络通信中,同步是指系统中所有媒体对象之间以及媒体对象内部存在的时态关系,存在于多媒体信息的获取、存储、传输和演示等一系列过程之中,由于网络状况的不稳定性,其中以传输中的同步问题最为复杂。
同步的实质是达到各种媒体在传输后仍然保持原来在时间和空间上的制约关系。在分布式多媒体通信网络中,多媒体同步包括两种类型流内同步和流间同步。
流内同步是指在一个单一的媒体流内,媒体单元之间存在的时间关系。举例来说,保证发送的音频在接收端按时间关系播放,而不会出现后发送的音频先播放这样“颠倒次序”的问题,就是指流内同步。流内同步相对来说容易实现,最简单的方法就是对要发送的数据包依次编号,在接收端只要设定一个缓冲区,严格按照数据包的序号依次拆包、播放即可实现流内同步。
流间同步是指若干相关媒体流的基本媒体单元之间存在的时态关系,即保证同一时间所采集的视频、音频等各种数据在接收端依然是同时刻播放的。我们所研究的视频、音频同步技术就是流间同步。相比之与流内同频,流间同步的实现更为复杂。
会议系统中,声音和视频数据都要依次经过数据采样、数据压缩、打包、发送数据包、接收数据包、解包、解压和回放的处理过程。
经过以上多个环节的处理,同一时间捕捉的音、视频信号到了接收终端回放时,往往已经不同步了。根据以上的处理过程,引起不同步的原因可分为两种一是终端处理数据引起的时延;二是网络传输时延。终端引起的时延包括发送终端在处理采样、压缩、打包等模块和接收终端在处理解包、解压、回放等模块时,由于音频和视频的数据量以及编码算法各不同而引起的时间差。而网络传输时延是受到网络的实时传输带宽、传输距离和网络节点的处理速度等诸多因素的影响。
实际上,由终端处理程序所引起的时延是固定的,可以估算,较容易解决。而真正难解决的是网络时延,它的大小随网络状况而随机变化,从而引发了不同步的问题。
为了解决上述的音视频同频问题,专家们进行了大量的相关研究。目前,使用较为广泛的方法为分块打包传输法。分块打包传输法主要思想是A.在发送端对待发送的视频、音频数据每隔一段时间T(T很小)分别进行采样。
B.把同一时间获得的视音频数据直接打在同一个包内。即每次采样的视频和音频数据都打在同一个包内,将这些包进行编号。
C.将各个数据包分别进行传输。
D.在接收端设一个缓冲区,把接收到的包按编号排序并播放。由于视频和音频是在同一个包内,故同步问题自然解决。
然而,分块打包传输法存在许多缺点。最主要的缺点有第一、它是一种发送端控制的方法,使得发送端负荷大。对于IP网络会议来讲,往往要在发送端进行大量的音频、视频采集。分块打包传输法要求发送端主机不仅要承担数据采集、压缩、向各个接收端发送等工作,而且还要负责同步控制,这对参与网络会议的计算机硬件是一个很高的要求。
第二、稳定性和实时性不高。分块打包传输法由于将音频、视频数据打在同一个包内,使得每一个数据包都很大,这将产生很大的数据量,在网络上传输时很可能因为网络状况不稳定,而产生更多的丢包、迟到等问题,这不利于系统的稳定性和实时性。
第三、接收端的数据缓冲区必须较大。由于每个数据包都很大,而各个包到达接收端所需要的时间是不定的,这可能要求接收端的数据缓冲区很大以存储那些“后发先至”的数据包,同时等待那些“先发后至”的数据。
鉴于分块打包法存在的上述多种缺点,人们在实际使用中,根据实际情况,对分块打包法进行了部分改进。改进的主要措施有A.减小数据量。为了避免因数据量太大而使得发送端过于繁忙的情况,可以考虑减小数据量的发送,当然这是以牺牲IP网络会议的质量为代价的。减小数据量的方法主要有a.减小采集频率——这可能会导致音、视频的不连续。b.减小视频的采集而保持音频的连续。在IP网络会议中,如果音频是时断时续的,那么是很难让人接收受的,而视频的不连续似乎还可以忍受。为此,可以考虑减小视频的采集、增大视频数据的压缩比(以牺牲图片质量为代价)来减小数据量。
B.开辟多路发送、多路传输通道。在发送端计算机硬件足够好的情况下,为了克服发送端发送线程过忙、网络状况不稳定而对数据发送带来的问题,可以考虑这个方法。
开辟多路发送就是在发送端创建多个发送线程,每个线程负责发送数据给与之对应的几个接收端。多路传输通道就是指在面向连接的计算机网络中,发送端和接收端之间创建两个或多个虚拟连接通道,待发送的数据可以通过不同的通道传输。这增加了系统成本。
因此,改进的分块打包法只是打包法在不同实际情况下,不同实际要求下的一种变更与改进。但它的实现是以牺牲其它的一些利益或代价而实现的。

发明内容
本发明的目的是针对现有技术的不足,提供一种数据传输稳定、实时,音、视频播放效果好,系统成本低的IP网络会议视音频同步的方法。
为了解决上述技术问题,本发明所采取的技术方案是一种IP网络会议视音频同步的方法,具体为在视、音频数据发送端和视、音频数据接收端之间建立相互独立的视频通道和音频通道,所述的两个通道均分别包括数据采样、数据压缩、打包、发送数据包、接收数据包、解包、解压和回放的处理过程;其中,在音频通道中采用一个线程,并设定第一时间参数,在该线程中以所述第一时间参数为时间间隔,对采集到的音频数据进行编码,然后对编码后的数据进行封包,在封包的同时采用一累加的变量为音频数据包标记序列号码;在采集音频的同时,在视频通道内采用一个线程,并设定第二时间参数,在该线程中,以所述第二时间参数为时间间隔,对采集到的视频数据进行编码,对编码后的数据进行封包,该段视频数据的关键帧在封包的时候,以该段视频数据开始被采集时的所述累加的变量作为序列号码;所述视、音频数据接收端在开始播放数据之前,先分别缓冲一段视、音频数据,并且使位于缓冲区起始位置的视、音频数据的序列号码相同;当音频数据缓冲积累到一定时间之后,开始播放视、音频数据。
在视、音频数据播放的过程中,当视、音频数据序列号码不能保持一致时,可以以音频数据序列号码为准。
在视、音频数据播放的过程中,如果视频数据序列号码小于音频数据序列号码,则视频数据直接丢弃,如果视频数据序列号码大于音频数据序列号码,则视频数据延迟播放,直到与音频数据序列号码相等时再播放。
所述第二时间参数可以为第一时间参数的整数倍。
所述第一时间参数的取值范围可以在50毫秒到150毫秒之间。
所述第二时间参数的取值范围可以为0.8秒~1.2秒。
所述用于作为序列号码的变量可以采用无符号整数类型变量。
采用无符号整数类型变量为数据包标记序列号码时,每次操作后,都可以对该无符号整数类型变量进行进1累加,当该无符号整数类型变量的值溢出时恢复到0。
在上述技术方案中,本发明通过采用两个相互独立的通道,使用两个不同的线程分别传输序列号码相同的音频数据包和视频数据包,使接收端可以根据序列号码进行同步处理的操作,这样既可减小发送端的工作量,又控制了网络的传输时延。同时,由于不再使音频数据和视频数据同时封装在一个数据包内,还可以调整第一时间参数和第二时间参数,使音频数据包和视频数据包变得较小,从而不仅可保证数据包传输具有较好的稳定性和实时性,而且可以传输较大的数据量而获得更好的图像和声音的播放效果。另外,两路线程对于接收端的系统硬件要求较低,可节省系统成本,适用范围更广。因此,相对现有技术,本发明具有实用性强,成本低,音、视频数据传输稳定性和实时性好,同步效果好,播放的效果更佳等特点。
具体实施例方式
下面将结合说明书附图
及具体实施例对本发明作进一步详细说明。
本发明提供的一种IP网络会议视音频同步的方法,为了克服发送端发送线程过忙,网络状况不稳定而影响数据发送,同时又避免系统成本过高造成普通用户不适用等问题,而为视频数据和音频数据分别构建数据通道,并在各自的数据通道内采用单独的线程进行数据的采集、压缩、打包、发送、接收、解包、解压等处理。并且,在打包编码时,将音频数据包和对应的视频数据包以相同的序列号码进行编码,从而在接收端,就可以根据序列号码进行音、视频数据同步播放的操作。
本实施例具体为在发送端和接收端之间建立相互独立的视频通道和音频通道,并且,所述的两个通道均分别包括数据采样、数据压缩、打包、发送数据包、接收数据包、解包、解压和回放的处理过程。
其中,在音频通道中采用一个线程,并设定第一时间参数,在该线程中以所述第一时间参数为时间间隔,对采集到的音频数据进行编码,然后对编码后的数据进行封包,在封包的同时,以一累加的变量为音频数据包标记序列号码;所述第一时间参数取值较小,从而可以减小单个数据包内的数据量,保证数据包传输的稳定性和实时性。本实施例中,所述第一时间参数的取值范围可以在50毫秒到150毫秒之间。
本实施例中,所述累加的变量可以采用无符号整数类型变量。
采用累加的无符号整数类型变量为数据包标记序列号码时,每次操作后,都要对该无符号整数类型变量进行进1累加,当该无符号整数类型变量的值溢出时恢复到0,且不会引起任何系统异常。
在采集音频的同时,在视频通道内也采用一个线程,并设定第二时间参数。在该线程中,以所述第二时间参数为时间间隔,对采集到的视频数据进行编码,对编码后的数据进行封包,该段视频数据的关键帧在封包的时候,以该段视频数据开始被采集时的无符号整数类型变量作为序列号码。
所述第二时间参数为第一时间参数的整数倍。
所述第二时间参数的取值范围为0.8秒~1.2秒,较佳值在1秒钟左右。
通过调整第一时间参数和第二时间参数的值,使接收端可以采用较小数据缓冲区即可充分缓冲接收到的音、视频数据。
视、音频数据接收端在开始播放数据之前,先分别缓冲一段视、音频数据,并且使位于缓冲区起始位置的视、音频数据的序列号码相同,即时播放的视、音频数据同步。
当音频数据缓冲积累到一定时间之后,开始播放视、音频数据。
在视、音频数据播放的过程中,当视、音频数据序列号码不能保持一致时,由于不连续的视频播放是人们普遍可以接收的,因此,本实施例采用保证音频尽可能的连续播放的原则,以音频数据序列号码为准。具体为如果视频数据序列号码小于音频数据序列号码,则视频数据直接丢弃,如果视频数据序列号码大于音频数据序列号码,则视频数据延迟播放,直到与音频数据序列号码相等时再播放。
权利要求
1.一种IP网络会议视音频同步的方法,具体为在视、音频数据发送端和视、音频数据接收端之间建立相互独立的视频通道和音频通道,所述的两个通道均分别包括数据采样、数据压缩、打包、发送数据包、接收数据包、解包、解压和回放的处理过程;其中,在音频通道中采用一个线程,并设定第一时间参数,在该线程中以所述第一时间参数为时间间隔,对采集到的音频数据进行编码,然后对编码后的数据进行封包,在封包的同时采用一累加的变量为音频数据包标记序列号码;在采集音频的同时,在视频通道内采用一个线程,并设定第二时间参数,在该线程中,以所述第二时间参数为时间间隔,对采集到的视频数据进行编码,对编码后的数据进行封包,该段视频数据的关键帧在封包的时候,以该段视频数据开始被采集时的所述累加的变量作为序列号码;所述视、音频数据接收端在开始播放数据之前,先分别缓冲一段视、音频数据,并且使位于缓冲区起始位置的视、音频数据的序列号码相同;当音频数据缓冲积累到一定时间之后,开始播放视、音频数据。
2.如权利要求1所述IP网络会议视音频同步的方法,其特征在于在视、音频数据播放的过程中,当视、音频数据序列号码不能保持一致时,以音频数据序列号码为准。
3.如权利要求2所述IP网络会议视音频同步的方法,其特征在于在视、音频数据播放的过程中,如果视频数据序列号码小于音频数据序列号码,则视频数据直接丢弃,如果视频数据序列号码大于音频数据序列号码,则视频数据延迟播放,直到与音频数据序列号码相等时再播放。
4.如权利要求1、2或3所述IP网络会议视音频同步的方法,其特征在于所述第二时间参数为第一时间参数的整数倍。
5.如权利要求4所述IP网络会议视音频同步的方法,其特征在于所述第一时间参数的取值范围在50毫秒到150毫秒之间。
6.如权利要求5所述IP网络会议视音频同步的方法,其特征在于所述第二时间参数的取值范围为0.8秒~1.2秒。
7.如权利要求6所述IP网络会议视音频同步的方法,其特征在于所述用于作为序列号码的变量采用无符号整数类型变量。
8.如权利要求7所述IP网络会议视音频同步的方法,其特征在于采用无符号整数类型变量为数据包标记序列号码时,每次操作后,都对该无符号整数类型变量进行进1累加,当该无符号整数类型变量的值溢出时恢复到0。
全文摘要
本发明公开了一种IP网络会议视音频同步的方法,具体为视频数据和音频数据分别构建数据通道,并在各自的数据通道内采用单独的线程进行数据的采集、压缩、打包、发送、接收、解包、解压等处理。并且,在打包编码时,将音频数据包和对应的视频数据包以相同的序列号码进行编码,从而在接收端,就可以根据序列号码进行音、视频数据同步播放的操作。另外在视、音频数据播放的过程中,当视、音频数据序列号码不能保持一致时,以音频数据序列号码为准。相对现有技术,本发明具有实用性强,成本低,音、视频数据传输稳定性和实时性好,同步效果好,播放的效果更佳等特点。
文档编号H04N7/15GK1614994SQ20041009632
公开日2005年5月11日 申请日期2004年11月30日 优先权日2004年11月30日
发明者付群, 杨劲松, 施健标, 焉勇 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1