摘要:本文采用緩沖區(qū)技術(shù)和時(shí)間戳技術(shù),主要針對(duì)多媒體教學(xué)系統(tǒng)中由于網(wǎng)絡(luò)傳輸?shù)纫蛩卦斐傻亩嗝襟w數(shù)據(jù)不同步問題進(jìn)行了研究。
關(guān)鍵詞:數(shù)據(jù)同步;緩沖區(qū);時(shí)間戳
中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007—9599 (2012) 14—0000—02
隨著信息技術(shù)的飛速發(fā)展,多媒體教學(xué)系統(tǒng)所具備的優(yōu)勢(shì)越來越被人們所認(rèn)同。但是由于種種原因?qū)е率袌?chǎng)上的多媒體教學(xué)系統(tǒng)的質(zhì)量并不如人意。在多媒體教學(xué)系統(tǒng)中,往往出現(xiàn)延時(shí)較長(zhǎng)、播放換亂、畫面與語音不同步等問題,嚴(yán)重影響了多媒體教學(xué)系統(tǒng)的應(yīng)用。
一、多媒體數(shù)據(jù)同步的影響因素分析
在多媒體教學(xué)系統(tǒng)中,多媒體數(shù)據(jù)必須要經(jīng)過網(wǎng)絡(luò)傳輸,但是在網(wǎng)絡(luò)傳輸?shù)倪^程中,由于各種因素的影響,使得多媒體數(shù)據(jù)之間的時(shí)序約束關(guān)系遭到破壞,從而造成多媒體數(shù)據(jù)的不同步。多媒體數(shù)據(jù)的不同步包含兩種含義:一種是多媒體內(nèi)部的不同步,即發(fā)送端后發(fā)送的多媒體數(shù)據(jù)先一步到達(dá)接收端并且進(jìn)行播放,從而導(dǎo)致接收端的多媒體數(shù)據(jù)播放混亂;另一種是多媒體之間的不同步,即同時(shí)采集的音頻數(shù)據(jù)和視頻數(shù)據(jù)在接收端不同時(shí)播放,從而導(dǎo)致畫面與語音的不同步。
在多媒體教學(xué)系統(tǒng)中影響多媒體數(shù)據(jù)同步關(guān)系的因素主要有如下幾種:
(一)延時(shí)抖動(dòng)
延時(shí)抖動(dòng)即多媒體信息從一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)傳輸?shù)搅硗庖粋€(gè)網(wǎng)絡(luò)節(jié)點(diǎn)之間的延時(shí)變換。例如CPU、存儲(chǔ)單元、網(wǎng)絡(luò)傳輸?shù)榷喾矫娴囊蛩囟紩?huì)導(dǎo)致多媒體數(shù)據(jù)傳輸?shù)难訒r(shí)抖動(dòng)。由于在多媒體教學(xué)系統(tǒng)中,視頻數(shù)據(jù)和音頻數(shù)據(jù)時(shí)分開處理和傳輸?shù)?,因此不同多媒體數(shù)據(jù)的延時(shí)抖動(dòng)不同,從而導(dǎo)致接收端接受的視頻數(shù)據(jù)與音頻數(shù)據(jù)之間的同步性遭到破壞。
(二)時(shí)鐘偏差
在無全局時(shí)鐘的多媒體教學(xué)系統(tǒng)中,由于受到溫度、濕度因素的影響,使得多媒體系統(tǒng)中的教師端計(jì)算機(jī)與學(xué)生端計(jì)算機(jī)之間的時(shí)鐘頻率產(chǎn)生偏差,經(jīng)過一端時(shí)間之后,會(huì)造成視頻數(shù)據(jù)或者音頻數(shù)據(jù)的溢出,從而導(dǎo)致多媒體數(shù)據(jù)的不同步。
(三)數(shù)據(jù)丟失
在網(wǎng)絡(luò)中傳輸?shù)囊曨l數(shù)據(jù)或者音頻數(shù)據(jù)沒有按時(shí)達(dá)到目的地,從而破壞多媒體數(shù)據(jù)之間的同步性。
二、多媒體數(shù)據(jù)的同步技術(shù)
(一)基于緩沖區(qū)的多媒體數(shù)據(jù)同步技術(shù)
即在多媒體數(shù)據(jù)接收端分別為視頻數(shù)據(jù)和音頻數(shù)據(jù)設(shè)置不同的緩沖區(qū),來減少網(wǎng)絡(luò)傳輸抖動(dòng)對(duì)多媒體數(shù)據(jù)之間同步性的影響。由于受到網(wǎng)絡(luò)傳輸條件變換以及時(shí)鐘偏移等因素的影響,緩沖區(qū)中的多媒體數(shù)據(jù)時(shí)不斷變化的。為此,在多媒體數(shù)據(jù)的接收端需要對(duì)緩沖區(qū)中的數(shù)據(jù)量進(jìn)行周期性的檢測(cè),如果緩沖量高于或者低于預(yù)設(shè)的閾值,即緩沖區(qū)中的多媒體數(shù)據(jù)將要溢出或者抽空時(shí),需要采取相應(yīng)的措施來保證多媒體數(shù)據(jù)之間的同步性。所采取的措施一般有發(fā)送端處理和接收端處理兩種。但是一般數(shù)據(jù)的發(fā)送端都是進(jìn)行周期性的多媒體數(shù)據(jù)采集和發(fā)送,所以一般都是在發(fā)送端采取相應(yīng)措施來進(jìn)行多媒體數(shù)據(jù)的同步。在數(shù)據(jù)接收端一般采取如下的措施來保證緩沖區(qū)中的數(shù)據(jù)量恢復(fù)到正常水平:1.加快或者放慢多媒體數(shù)據(jù)的播放頻率;2.跳過或者重復(fù)播放某些多媒體數(shù)據(jù)。
(二)時(shí)間戳同步技術(shù)
時(shí)間戳技術(shù)即在多媒體數(shù)據(jù)的發(fā)送端將視頻數(shù)據(jù)和多媒體數(shù)據(jù)按照時(shí)間的順序劃分成若干部分,并且依據(jù)同一個(gè)時(shí)間軸給每個(gè)部分標(biāo)上時(shí)間戳。在多媒體數(shù)據(jù)的接收端,將處具有相同時(shí)間戳的視頻數(shù)據(jù)和多媒體數(shù)據(jù)同時(shí)播放,從而達(dá)到多媒體數(shù)據(jù)的同步。
三、多媒體數(shù)據(jù)同步策略設(shè)計(jì)
根據(jù)前面對(duì)多媒體教學(xué)系統(tǒng)中多媒體數(shù)據(jù)同步的影響因素,以及多媒體數(shù)據(jù)同步技術(shù)的研究,在本文中主要對(duì)基于RTP協(xié)議的多媒體教學(xué)系統(tǒng)中的多媒體數(shù)據(jù)同步問題進(jìn)行研究。本文所研究的多媒體數(shù)據(jù)同步的關(guān)鍵技術(shù)如下:
由于在多媒體教學(xué)系統(tǒng)中不存在全網(wǎng)同步時(shí)鐘,因此只能采用時(shí)間戳技術(shù),而無法使用RTCP協(xié)議中的SR分組來實(shí)現(xiàn)系統(tǒng)中多媒體數(shù)據(jù)的同步。首先,在發(fā)送端,將視頻和音頻數(shù)據(jù)的采集時(shí)間加入到RTP包頭中的額時(shí)間戳字段中,同時(shí),考慮到音頻數(shù)據(jù)與視頻數(shù)據(jù)采集、編碼時(shí)的時(shí)間差,因此,在發(fā)送時(shí)還需要對(duì)多媒體數(shù)據(jù)進(jìn)行進(jìn)一步的同步校準(zhǔn);然后,在接收端,使用緩沖區(qū)策略來保證多媒體數(shù)據(jù)的內(nèi)部同步,并且利用時(shí)間戳技術(shù),通過同步算法實(shí)現(xiàn)多媒體數(shù)據(jù)之間的同步播放。
四、多媒體數(shù)據(jù)同步實(shí)現(xiàn)
(一)媒體內(nèi)部同步控制
多媒體內(nèi)部的同步控制主要采用緩沖區(qū)策略。其中對(duì)于音頻數(shù)據(jù)而言,主要采用播放時(shí)限的方案,即在接收端設(shè)置一個(gè)帶有門限值M的緩沖區(qū),其中M的計(jì)算的計(jì)算如下所示:
其中dmax表示網(wǎng)絡(luò)預(yù)期最大延遲,dmin表示網(wǎng)絡(luò)逾期最小延遲,r表示多媒體數(shù)據(jù)的傳輸速率。在多媒體教學(xué)系統(tǒng)的多媒體接收端開始接收音頻數(shù)據(jù)開始,一直到緩沖區(qū)的音頻數(shù)據(jù)量大于M時(shí),才開始進(jìn)行播放。
而對(duì)于視頻流而言,為了保證音頻數(shù)據(jù)與視頻數(shù)據(jù)之間的同步,因此視頻數(shù)據(jù)的播放采用事件驅(qū)動(dòng)的方式進(jìn)行播放,即根據(jù)所播放音頻數(shù)據(jù)的時(shí)間戳選取合適的視頻數(shù)據(jù)進(jìn)行播放。
(二)多媒體之間的同步控制
相對(duì)于視覺而言,聽覺對(duì)聲音的連續(xù)性更為敏感,為此在多媒體播放時(shí),主要采取音頻為主流進(jìn)行播放,而視頻通過時(shí)間戳同步依據(jù)音頻進(jìn)行播放。其中音頻、視頻的同步控制流程如圖1所示:
音頻、視頻同步播放算法如下:
1.規(guī)定音頻數(shù)據(jù)域視頻數(shù)據(jù)的不同步播放容忍度為Ta=100ms。定時(shí)從音頻緩沖區(qū)中讀取音頻數(shù)據(jù)進(jìn)行播放,并且記錄播放音頻數(shù)據(jù)的時(shí)間戳Tp,如果音頻數(shù)據(jù)的延時(shí)不超過門限值M,那么就可以保證音頻緩沖區(qū)中的數(shù)據(jù)可以連續(xù)播放。
2.將視頻緩沖區(qū)中的視頻數(shù)據(jù)按照時(shí)間戳進(jìn)行排序,并選取最早的視頻數(shù)據(jù)對(duì)其時(shí)間戳Tv進(jìn)行判斷:如果Tp—Ta≤Tv≤Tp+Ta,則播放該視頻;如果Tv≤Tp—Ta,則表示視頻數(shù)據(jù)滯后于音頻數(shù)據(jù)超過了不同步播放的容忍度,則將該視頻數(shù)據(jù)拋棄;如果Tv≥Tp+Ta,則表示視頻數(shù)據(jù)超前于視頻數(shù)據(jù)超過了不同步容忍度,則重復(fù)播放該視頻數(shù)據(jù),直到下一次播放音頻數(shù)據(jù)時(shí),再進(jìn)行判斷。
五、結(jié)束語
針對(duì)由于多媒體教學(xué)系統(tǒng)中多媒體數(shù)據(jù)不同步所造成的教學(xué)質(zhì)量問題,本文采用緩沖區(qū)技術(shù)和時(shí)間戳技術(shù)進(jìn)行了研究,并采取音頻數(shù)據(jù)實(shí)時(shí)播放,視頻數(shù)據(jù)依據(jù)音頻數(shù)據(jù)時(shí)間戳進(jìn)行播放的策略,來消除多媒體教學(xué)系統(tǒng)中的多媒體數(shù)據(jù)不同步問題。
參考文獻(xiàn):
[1]白躍彬.分布式多媒體系統(tǒng)同步機(jī)制的研究.計(jì)算機(jī)工程與應(yīng)用,2001(7):P17—19
[2]曹水,周煒.基于動(dòng)態(tài)緩沖的實(shí)時(shí)同步策略.計(jì)算機(jī)工程與應(yīng)用,2001(11)
[3]劉漢斌,陳世鴻.時(shí)序媒體間同步控制機(jī)制的時(shí)態(tài)模型.武漢大學(xué)學(xué)報(bào),1999(10)