專利名稱:會(huì)議電視多點(diǎn)控制設(shè)備中數(shù)據(jù)處理的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信中基于分組交換的實(shí)時(shí)數(shù)據(jù)傳輸技術(shù),具體涉及一種會(huì)議電視多點(diǎn)控制設(shè)備中H323和H320互通時(shí)的數(shù)據(jù)處理技術(shù)。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種會(huì)議電視MCU中媒體數(shù)據(jù)處理的方法,可解決分組交換特性帶來的數(shù)據(jù)包的延時(shí)、亂序、抖動(dòng)引起的圖像、聲音質(zhì)量問題。
本發(fā)明的另一目的在于提供一種會(huì)議電視MCU中媒體數(shù)據(jù)處理的裝置,應(yīng)用于電視系統(tǒng)MCU的網(wǎng)絡(luò)接口板中,可大大提高會(huì)議電視在各種網(wǎng)絡(luò)環(huán)境下及H323與H320互通時(shí)的圖像及聲音的質(zhì)量。
本發(fā)明的目的是通過如下技術(shù)方案實(shí)現(xiàn)的一種會(huì)議電視多點(diǎn)控制設(shè)備中數(shù)據(jù)處理的方法,它至少包括媒體排序和同步輸出及流量控制;其中,媒體排序用于消除亂序和網(wǎng)絡(luò)抖動(dòng)對(duì)視頻及音頻質(zhì)量的影響;同步輸出及流量控制用于將經(jīng)過排序處理的數(shù)據(jù)以固定的帶寬進(jìn)行輸出。
所述的媒體排序至少包括如下的處理步驟步驟10接收RTP包并存放在緩存之中,步驟11判斷該RTP包的有效性,如果該包的序號(hào)小于當(dāng)前排序的最小序號(hào),則丟棄該包,結(jié)束排序;步驟12根據(jù)包的序號(hào),在當(dāng)前排序鏈表中進(jìn)行排序,將該包及其信息插入到排序鏈表中;步驟13如果當(dāng)前排序鏈表的長(zhǎng)度等于排序窗口的大小,則遍歷當(dāng)前排序鏈表,統(tǒng)計(jì)當(dāng)前有效包數(shù);否則結(jié)束排序;步驟14判斷是否已經(jīng)遍歷完排序鏈表;是則結(jié)束排序;步驟15根據(jù)包的序號(hào)判斷是否存在丟包,如果未丟包,執(zhí)行步驟17;步驟16鏈表的第一個(gè)結(jié)點(diǎn)和第二個(gè)結(jié)點(diǎn)之間是否丟包,如果是,則統(tǒng)計(jì)丟包數(shù)目,重新設(shè)置當(dāng)前排序鏈表的排序起始位置及當(dāng)前可以輸出的排序好的包的位置,退出此次遍歷,結(jié)束排序;步驟17排序鏈表中的有效包數(shù)加一,且排序鏈表中的有效包的字節(jié)數(shù)加該包的長(zhǎng)度,執(zhí)行步驟14;步驟18重新設(shè)置當(dāng)前排序鏈表的排序起始位置及當(dāng)前可以輸出的排序好的包的位置;步驟19如果當(dāng)前同步輸出狀態(tài)為停止輸出,且當(dāng)前有效包數(shù)大于最小輸出門限,將同步輸出狀態(tài)置為開始輸出,結(jié)束排序。
所述的同步輸出及流量控制至少包括如下的處理步驟步驟20如果當(dāng)前同步輸出狀態(tài)不為停止輸出,則開始輸出排序好的媒體數(shù)據(jù);否則停止輸出;步驟21如果當(dāng)前同步輸出狀態(tài)為開始輸出,則根據(jù)排序時(shí)提供的當(dāng)前可以輸出的排序好的包的位置確定輸出指針,將同步輸出狀態(tài)變?yōu)檎谳敵鰻顟B(tài);步驟22根據(jù)輸出指針將媒體數(shù)據(jù)輸出,并記錄下輸出的字節(jié)數(shù)及輸出后的當(dāng)前輸出指針;步驟23根據(jù)輸出的字節(jié)數(shù)判斷是否輸出完一個(gè)數(shù)據(jù)包,如果已經(jīng)輸完,則將有效字節(jié)數(shù)減已輸出的字節(jié)數(shù),同時(shí)將有效包數(shù)減一;將已輸出的字節(jié)數(shù)清零;步驟24如果當(dāng)前輸出的有效包數(shù)等于最小輸出門限,設(shè)置輸出狀態(tài)為停止輸出,否則根據(jù)下一個(gè)鏈表結(jié)點(diǎn)的信息重新確定輸出指針;步驟25如果當(dāng)前輸出的有效包數(shù)大于最大輸出門限,丟棄最早的沒有來得及輸出的包,輸出指針相應(yīng)前移,將有效包數(shù)減至有效包數(shù)小于最大輸出門限。
一種會(huì)議電視多點(diǎn)控制設(shè)備中數(shù)據(jù)處理的裝置,它至少包括通訊處理器、數(shù)字信號(hào)處理器、存儲(chǔ)器和用來完成串并轉(zhuǎn)換功能的串并轉(zhuǎn)換芯片;其中,通訊處理器用于完成IP數(shù)據(jù)包的收發(fā)功能,通訊處理器與數(shù)字信號(hào)處理器連接,并采用主機(jī)通信接口(Host-Port Interface,簡(jiǎn)稱HPI)進(jìn)行數(shù)據(jù)傳遞;數(shù)字信號(hào)處理器與存儲(chǔ)器連接,用于處理RTP數(shù)據(jù),完成媒體排序和同步輸出及流量控制;其中,媒體排序用于消除亂序和網(wǎng)絡(luò)抖動(dòng)對(duì)視頻及音頻質(zhì)量的影響;同步輸出及流量控制用于將經(jīng)過排序處理的數(shù)據(jù)以固定的帶寬進(jìn)行輸出;存儲(chǔ)器用于緩沖存取RTP數(shù)據(jù)。
所述的數(shù)字信號(hào)處理器進(jìn)行媒體排序,至少包括
數(shù)字信號(hào)處理器接收RTP包并存放在存儲(chǔ)器之中,數(shù)字信號(hào)處理器判斷該RTP包的有效性,如果該包的序號(hào)小于當(dāng)前排序的最小序號(hào),數(shù)字信號(hào)處理器丟棄該包,結(jié)束排序;根據(jù)包的序號(hào),數(shù)字信號(hào)處理器在當(dāng)前排序鏈表中進(jìn)行排序,并將該包及其信息插入排序鏈表中;如果當(dāng)前排序鏈表的長(zhǎng)度等于排序窗口的大小,數(shù)字信號(hào)處理器遍歷當(dāng)前排序鏈表,統(tǒng)計(jì)當(dāng)前有效包數(shù);否則結(jié)束排序;數(shù)字信號(hào)處理器判斷是否已經(jīng)遍歷完排序鏈表;是則結(jié)束排序;數(shù)字信號(hào)處理器根據(jù)包的序號(hào)判斷是否存在丟包,如果未丟包,數(shù)字信號(hào)處理器將排序鏈表中的有效包數(shù)加一,且將排序鏈表中的有效包的字節(jié)數(shù)加該包的長(zhǎng)度;數(shù)字信號(hào)處理器判斷是否已經(jīng)遍歷完排序鏈表;是則結(jié)束排序;如果丟包,數(shù)字信號(hào)處理器計(jì)算鏈表的第一個(gè)結(jié)點(diǎn)和第二個(gè)結(jié)點(diǎn)之間是否丟包,如果是,數(shù)字信號(hào)處理器統(tǒng)計(jì)丟包數(shù)目,并重新設(shè)置當(dāng)前排序鏈表的排序起始位置及當(dāng)前可以輸出的排序好的包的位置,退出此次遍歷,結(jié)束排序;數(shù)字信號(hào)處理器重新設(shè)置當(dāng)前排序鏈表的排序起始位置及當(dāng)前可以輸出的排序好的包的位置;如果當(dāng)前同步輸出狀態(tài)為停止輸出,且當(dāng)前有效包數(shù)大于最小輸出門限,數(shù)字信號(hào)處理器將同步輸出狀態(tài)置為開始輸出,結(jié)束排序。
所述的數(shù)字信號(hào)處理器進(jìn)行同步輸出及流量控制,至少包括如果當(dāng)前同步輸出狀態(tài)不為停止輸出,數(shù)字信號(hào)處理器開始輸出排序好的媒體數(shù)據(jù);否則停止輸出;如果當(dāng)前同步輸出狀態(tài)為開始輸出,數(shù)字信號(hào)處理器根據(jù)排序時(shí)提供的當(dāng)前可以輸出的排序好的包的位置確定輸出指針,將同步輸出狀態(tài)變?yōu)檎谳敵鰻顟B(tài);
數(shù)字信號(hào)處理器根據(jù)輸出指針將媒體數(shù)據(jù)輸出,并記錄下輸出的字節(jié)數(shù)及輸出后的當(dāng)前輸出指針;數(shù)字信號(hào)處理器根據(jù)輸出的字節(jié)數(shù)判斷是否輸出完一個(gè)數(shù)據(jù)包,如果已經(jīng)輸完,數(shù)字信號(hào)處理器將有效字節(jié)數(shù)減已輸出的字節(jié)數(shù),同時(shí)將有效包數(shù)減一;將已輸出的字節(jié)數(shù)清零;如果當(dāng)前輸出的有效包數(shù)等于最小輸出門限,數(shù)字信號(hào)處理器設(shè)置輸出狀態(tài)為停止輸出,否則數(shù)字信號(hào)處理器根據(jù)下一個(gè)鏈表結(jié)點(diǎn)的信息重新確定輸出指針;如果當(dāng)前輸出的有效包數(shù)大于最大輸出門限,數(shù)字信號(hào)處理器丟棄最早的沒有來得及輸出的包,將輸出指針相應(yīng)前移,并將有效包數(shù)減至有效包數(shù)小于最大輸出門限。
采用本發(fā)明所述方法,解決了MCU中H323與H320的順利互通必須解決的問題,保證了MCU中網(wǎng)關(guān),數(shù)字多畫面,速率匹配,混音功能的實(shí)現(xiàn),提高了系統(tǒng)的QoS(質(zhì)量服務(wù),Quaality of Service)能力,從而提高了系統(tǒng)適應(yīng)復(fù)雜網(wǎng)絡(luò)環(huán)境的能力。
圖1為本發(fā)明媒體排序算法的流程圖。
圖2為本發(fā)明媒體同步輸出算法的流程圖。
圖3為本發(fā)明裝置的結(jié)構(gòu)原理圖。
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步地詳細(xì)說明。
一種會(huì)議電視多點(diǎn)控制設(shè)備中數(shù)據(jù)處理的方法,利用C語言及匯編語言混合編程實(shí)現(xiàn)。處理過程至少包括媒體排序和同步輸出及流量控制;其中,媒體排序用于消除亂序和網(wǎng)絡(luò)抖動(dòng)對(duì)視頻及音頻質(zhì)量的影響;同步輸出及流量控制用于將經(jīng)過排序處理的數(shù)據(jù)以固定的帶寬進(jìn)行輸出。
參見圖1,在媒體排序過程中,首先判斷接收RTP包的有效性,如該包的序號(hào)小于當(dāng)前排序的最小序號(hào),則認(rèn)為該包延時(shí)超過系統(tǒng)容忍的范圍,被認(rèn)為丟包不予處理。然后,根據(jù)包的序號(hào),在當(dāng)前排序鏈表中進(jìn)行排序,將該包及其信息插入排序鏈表中。如果當(dāng)前排序鏈表的長(zhǎng)度等于排序窗口的大小,則遍歷當(dāng)前排序鏈表,統(tǒng)計(jì)當(dāng)前有效包數(shù)(即已排好序可以輸出的包的數(shù)目)。根據(jù)包的序號(hào)判斷是否丟包,如果丟包,則看是否為鏈表的第一個(gè)結(jié)點(diǎn)和第二個(gè)結(jié)點(diǎn)之間,如是則統(tǒng)計(jì)丟包數(shù)目,重新設(shè)置當(dāng)前排序鏈表的排序起始位置及當(dāng)前可以輸出的排序好的包的位置,退出此次遍歷,重新開始排序;否則遍歷完該排序鏈表,重新設(shè)置當(dāng)前排序鏈表的排序起始位置及當(dāng)前可以輸出的排序好的包的位置。如果當(dāng)前同步輸出狀態(tài)為停止輸出,則判斷當(dāng)前有效包數(shù)是否大于最小輸出門限,如果大于則將同步輸出狀態(tài)置為開始輸出。
具體媒體排序流程如下步驟10接收RTP包并存放在緩存之中,步驟11判斷該RTP包的有效性,如果該包的序號(hào)小于當(dāng)前排序的最小序號(hào),則丟棄該包,結(jié)束排序;步驟12根據(jù)包的序號(hào),在當(dāng)前排序鏈表中進(jìn)行排序,將該包及其信息插入到排序鏈表中;步驟13如果當(dāng)前排序鏈表的長(zhǎng)度等于排序窗口的大小,則遍歷當(dāng)前排序鏈表,統(tǒng)計(jì)當(dāng)前有效包數(shù);否則結(jié)束排序;步驟14判斷是否已經(jīng)遍歷完排序鏈表;是則結(jié)束排序;步驟15根據(jù)包的序號(hào)判斷是否存在丟包,如果未丟包,執(zhí)行步驟17;步驟16鏈表的第一個(gè)結(jié)點(diǎn)和第二個(gè)結(jié)點(diǎn)之間是否丟包,如果是,則統(tǒng)計(jì)丟包數(shù)目,重新設(shè)置當(dāng)前排序鏈表的排序起始位置及當(dāng)前可以輸出的排序好的包的位置,退出此次遍歷,結(jié)束排序;
步驟17排序鏈表中的有效包數(shù)加一,且排序鏈表中的有效包的字節(jié)數(shù)加該包的長(zhǎng)度,執(zhí)行步驟14;步驟18重新設(shè)置當(dāng)前排序鏈表的排序起始位置及當(dāng)前可以輸出的排序好的包的位置;步驟19如果當(dāng)前同步輸出狀態(tài)為停止輸出,且當(dāng)前有效包數(shù)大于最小輸出門限,將同步輸出狀態(tài)置為開始輸出,結(jié)束排序。
參見圖2,在同步輸出及流量控制過程中,如果當(dāng)前同步輸出狀態(tài)不為停止輸出狀態(tài),則開始輸出排序好的媒體數(shù)據(jù)。如果當(dāng)前同步輸出狀態(tài)為開始輸出狀態(tài),則根據(jù)排序算法提供的當(dāng)前可以輸出的排序好的包的位置確定輸出指針,同步輸出狀態(tài)變?yōu)檎谳敵鰻顟B(tài)。根據(jù)輸出指針將媒體數(shù)據(jù)輸出,記錄輸出的字節(jié)數(shù)及輸出后的當(dāng)前輸出指針。根據(jù)輸出的字節(jié)數(shù)判斷是否已經(jīng)輸完一個(gè)數(shù)據(jù)包;如果已經(jīng)輸完,則有效字節(jié)數(shù)減已輸出的字節(jié)數(shù),有效包數(shù)減一,已輸出的字節(jié)數(shù)清零;如當(dāng)前輸出的有效包數(shù)等于最小輸出門限,輸出狀態(tài)為停止輸出,否則根據(jù)下一個(gè)鏈表結(jié)點(diǎn)的信息重新確定輸出指針;如當(dāng)前輸出的有效包數(shù)大于最大輸出門限,為防止緩沖區(qū)溢出,丟棄最早的沒有來得及輸出的包,輸出指針相應(yīng)前移,有效包數(shù)減至有效包數(shù)小于最大輸出門限。
具體的同步輸出及流量控制流程如下步驟20如果當(dāng)前同步輸出狀態(tài)不為停止輸出,開始輸出排序好的媒體數(shù)據(jù);否則停止輸出;步驟21如果當(dāng)前同步輸出狀態(tài)為開始輸出,根據(jù)排序時(shí)提供的當(dāng)前可以輸出的排序好的包的位置確定輸出指針,將同步輸出狀態(tài)變?yōu)檎谳敵鰻顟B(tài);步驟22根據(jù)輸出指針將媒體數(shù)據(jù)輸出,并記錄下輸出的字節(jié)數(shù)及輸出后的當(dāng)前輸出指針;
步驟23根據(jù)輸出的字節(jié)數(shù)判斷是否輸出完一個(gè)數(shù)據(jù)包,如果已經(jīng)輸完,將有效字節(jié)數(shù)減已輸出的字節(jié)數(shù),同時(shí)將有效包數(shù)減一;將已輸出的字節(jié)數(shù)清零;步驟24如果當(dāng)前輸出的有效包數(shù)等于最小輸出門限,設(shè)置輸出狀態(tài)為停止輸出,否則根據(jù)下一個(gè)鏈表結(jié)點(diǎn)的信息重新確定輸出指針;步驟25如果當(dāng)前輸出的有效包數(shù)大于最大輸出門限,丟棄最早的沒有來得及輸出的包,將輸出指針相應(yīng)前移,并將有效包數(shù)減至有效包數(shù)小于最大輸出門限。
參見圖3,本發(fā)明中實(shí)現(xiàn)上述會(huì)議電視MCU中媒體數(shù)據(jù)處理方法的裝置包括Motorola的通訊處理器MPC860、Ti公司的數(shù)字信號(hào)處理器C6202、外掛的存儲(chǔ)器SDRAM和存儲(chǔ)器DPRAM以及用來完成串并轉(zhuǎn)換功能的串并轉(zhuǎn)換芯片MT90210連接。其中,通訊處理器MPC860與數(shù)字信號(hào)處理器C6202采用HPI進(jìn)行數(shù)據(jù)傳遞,數(shù)字信號(hào)處理器C6202與存儲(chǔ)器SDRAM和存儲(chǔ)器DPRAM相連,存儲(chǔ)器DPRAM與串并轉(zhuǎn)換芯片MT90210連接,從而將通訊處理器MPC860的較強(qiáng)的通訊處理功能和數(shù)字信號(hào)處理器C6202的數(shù)字信號(hào)處理能力有效的結(jié)合起來。
通訊處理器MPC860完成IP數(shù)據(jù)包的收發(fā)功能;數(shù)字信號(hào)處理器C6202用來處理RTP數(shù)據(jù),完成媒體排序處理和同步輸出及流量控制。由于實(shí)現(xiàn)本發(fā)明的方法時(shí),需要較大的緩沖區(qū)來緩存處理RTP數(shù)據(jù),而數(shù)字信號(hào)處理器C6202的內(nèi)存遠(yuǎn)不能滿足所需的存儲(chǔ)要求,所以需要外掛存儲(chǔ)器SDRAM。
其中,通訊處理器MPC860與數(shù)字信號(hào)處理器C6202通過HPI通訊,通訊處理器MPC860從網(wǎng)卡上收發(fā)網(wǎng)絡(luò)數(shù)據(jù),然后通過HPI與數(shù)字信號(hào)處理器C202通訊,且該通訊采用中斷方式;數(shù)字信號(hào)處理器C6202處理完數(shù)據(jù)后通過直接存儲(chǔ)器存取(Direct Memory Access,簡(jiǎn)稱DMA)方式將數(shù)據(jù)寫到存儲(chǔ)器DPRAM中,串并轉(zhuǎn)換芯片MT90210以8K字節(jié)為單元讀寫存儲(chǔ)器SDRAM,收發(fā)背板數(shù)據(jù)。
最后所應(yīng)說明的是,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管參照較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1.一種會(huì)議電視多點(diǎn)控制設(shè)備中數(shù)據(jù)處理的方法,其特征在于它至少包括媒體排序和同步輸出及流量控制;其中,媒體排序用于消除亂序和網(wǎng)絡(luò)抖動(dòng)對(duì)視頻及音頻質(zhì)量的影響;同步輸出及流量控制用于將經(jīng)過排序處理的數(shù)據(jù)以固定的帶寬進(jìn)行輸出。
2.根據(jù)權(quán)利要求1所述的會(huì)議電視多點(diǎn)控制設(shè)備中數(shù)據(jù)處理的方法,其特征在于所述的媒體排序至少包括如下的處理步驟步驟10接收RTP包并存放在緩存之中;步驟11判斷該RTP包的有效性,如果該包的序號(hào)小于當(dāng)前排序的最小序號(hào),則丟棄該包,結(jié)束排序;步驟12根據(jù)包的序號(hào),在當(dāng)前排序鏈表中進(jìn)行排序,將該包及其信息插入到排序鏈表中;步驟13如果當(dāng)前排序鏈表的長(zhǎng)度等于排序窗口的大小,則遍歷當(dāng)前排序鏈表,統(tǒng)計(jì)當(dāng)前有效包數(shù);否則結(jié)束排序;步驟14判斷是否已經(jīng)遍歷完排序鏈表;是則結(jié)束排序;步驟15根據(jù)包的序號(hào)判斷是否存在丟包,如果未丟包,執(zhí)行步驟17;步驟16鏈表的第一個(gè)結(jié)點(diǎn)和第二個(gè)結(jié)點(diǎn)之間是否丟包,如果是,則統(tǒng)計(jì)丟包數(shù)目,重新設(shè)置當(dāng)前排序鏈表的排序起始位置及當(dāng)前可以輸出的排序好的包的位置,退出此次遍歷,結(jié)束排序;步驟17排序鏈表中的有效包數(shù)加一,且排序鏈表中的有效包的字節(jié)數(shù)加該包的長(zhǎng)度,執(zhí)行步驟14;步驟18重新設(shè)置當(dāng)前排序鏈表的排序起始位置及當(dāng)前可以輸出的排序好的包的位置;步驟19如果當(dāng)前同步輸出狀態(tài)為停止輸出,且當(dāng)前有效包數(shù)大于最小輸出門限,將同步輸出狀態(tài)置為開始輸出,結(jié)束排序。
3.根據(jù)權(quán)利要求1所述的會(huì)議電視多點(diǎn)控制設(shè)備中數(shù)據(jù)處理的方法,其特征在于所述的同步輸出及流量控制至少包括如下的處理步驟步驟20如果當(dāng)前同步輸出狀態(tài)不為停止輸出,則開始輸出排序好的媒體數(shù)據(jù);否則停止輸出;步驟21如果當(dāng)前同步輸出狀態(tài)為開始輸出,則根據(jù)排序時(shí)提供的當(dāng)前可以輸出的排序好的包的位置確定輸出指針,將同步輸出狀態(tài)變?yōu)檎谳敵鰻顟B(tài);步驟22根據(jù)輸出指針將媒體數(shù)據(jù)輸出,并記錄下輸出的字節(jié)數(shù)及輸出后的當(dāng)前輸出指針;步驟23根據(jù)輸出的字節(jié)數(shù)判斷是否輸出完一個(gè)數(shù)據(jù)包,如果已經(jīng)輸完,則將有效字節(jié)數(shù)減已輸出的字節(jié)數(shù),同時(shí)將有效包數(shù)減一;將已輸出的字節(jié)數(shù)清零;步驟24如果當(dāng)前輸出的有效包數(shù)等于最小輸出門限,設(shè)置輸出狀態(tài)為停止輸出,否則根據(jù)下一個(gè)鏈表結(jié)點(diǎn)的信息重新確定輸出指針;步驟25如果當(dāng)前輸出的有效包數(shù)大于最大輸出門限,丟棄最早的沒有來得及輸出的包,輸出指針相應(yīng)前移,將有效包數(shù)減至有效包數(shù)小于最大輸出門限。
4.一種會(huì)議電視多點(diǎn)控制設(shè)備中數(shù)據(jù)處理的裝置,其特征在于它至少包括通訊處理器、數(shù)字信號(hào)處理器、存儲(chǔ)器和用來完成串并轉(zhuǎn)換功能的串并轉(zhuǎn)換芯片;其中,通訊處理器用于完成IP數(shù)據(jù)包的收發(fā)功能,通訊處理器與數(shù)字信號(hào)處理器連接,并采用HPI進(jìn)行數(shù)據(jù)傳遞;數(shù)字信號(hào)處理器與存儲(chǔ)器連接,用于處理RTP數(shù)據(jù),完成媒體排序和同步輸出及流量控制;其中,媒體排序用于消除亂序和網(wǎng)絡(luò)抖動(dòng)對(duì)視頻及音頻質(zhì)量的影響;同步輸出及流量控制用于將經(jīng)過排序處理的數(shù)據(jù)以固定的帶寬進(jìn)行輸出;存儲(chǔ)器用于緩沖存取RTP數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的會(huì)議電視多點(diǎn)控制設(shè)備中數(shù)據(jù)處理的裝置,其特征在于所述的數(shù)字信號(hào)處理器進(jìn)行媒體排序,至少包括數(shù)字信號(hào)處理器接收RTP包并存放在存儲(chǔ)器之中,數(shù)字信號(hào)處理器判斷該RTP包的有效性,如果該包的序號(hào)小于當(dāng)前排序的最小序號(hào),數(shù)字信號(hào)處理器丟棄該包,結(jié)束排序;根據(jù)包的序號(hào),數(shù)字信號(hào)處理器在當(dāng)前排序鏈表中進(jìn)行排序,并將該包及其信息插入排序鏈表中;如果當(dāng)前排序鏈表的長(zhǎng)度等于排序窗口的大小,數(shù)字信號(hào)處理器遍歷當(dāng)前排序鏈表,統(tǒng)計(jì)當(dāng)前有效包數(shù);否則結(jié)束排序;數(shù)字信號(hào)處理器判斷是否已經(jīng)遍歷完排序鏈表;是則結(jié)束排序;數(shù)字信號(hào)處理器根據(jù)包的序號(hào)判斷是否存在丟包,如果未丟包,數(shù)字信號(hào)處理器將排序鏈表中的有效包數(shù)加一,且將排序鏈表中的有效包的字節(jié)數(shù)加該包的長(zhǎng)度,數(shù)字信號(hào)處理器判斷是否已經(jīng)遍歷完排序鏈表;是則結(jié)束排序;如果丟包,數(shù)字信號(hào)處理器計(jì)算鏈表的第一個(gè)結(jié)點(diǎn)和第二個(gè)結(jié)點(diǎn)之間是否丟包,如果是,數(shù)字信號(hào)處理器統(tǒng)計(jì)丟包數(shù)目,并重新設(shè)置當(dāng)前排序鏈表的排序起始位置及當(dāng)前可以輸出的排序好的包的位置,退出此次遍歷,結(jié)束排序;數(shù)字信號(hào)處理器重新設(shè)置當(dāng)前排序鏈表的排序起始位置及當(dāng)前可以輸出的排序好的包的位置;如果當(dāng)前同步輸出狀態(tài)為停止輸出,且當(dāng)前有效包數(shù)大于最小輸出門限,數(shù)字信號(hào)處理器將同步輸出狀態(tài)置為開始輸出,結(jié)束排序。
6.根據(jù)權(quán)利要求4所述的會(huì)議電視多點(diǎn)控制設(shè)備中數(shù)據(jù)處理的裝置,其特征在于所述的數(shù)字信號(hào)處理器進(jìn)行同步輸出及流量控制,至少包括如果當(dāng)前同步輸出狀態(tài)不為停止輸出,數(shù)字信號(hào)處理器開始輸出排序好的媒體數(shù)據(jù);否則停止輸出;如果當(dāng)前同步輸出狀態(tài)為開始輸出,數(shù)字信號(hào)處理器根據(jù)排序時(shí)提供的當(dāng)前可以輸出的排序好的包的位置確定輸出指針,將同步輸出狀態(tài)變?yōu)檎谳敵鰻顟B(tài);數(shù)字信號(hào)處理器根據(jù)輸出指針將媒體數(shù)據(jù)輸出,并記錄下輸出的字節(jié)數(shù)及輸出后的當(dāng)前輸出指針;數(shù)字信號(hào)處理器根據(jù)輸出的字節(jié)數(shù)判斷是否輸出完一個(gè)數(shù)據(jù)包,如果已經(jīng)輸完,數(shù)字信號(hào)處理器將有效字節(jié)數(shù)減已輸出的字節(jié)數(shù),同時(shí)將有效包數(shù)減一;將已輸出的字節(jié)數(shù)清零;如果當(dāng)前輸出的有效包數(shù)等于最小輸出門限,數(shù)字信號(hào)處理器設(shè)置輸出狀態(tài)為停止輸出,否則數(shù)字信號(hào)處理器根據(jù)下一個(gè)鏈表結(jié)點(diǎn)的信息重新確定輸出指針;如果當(dāng)前輸出的有效包數(shù)大于最大輸出門限,數(shù)字信號(hào)處理器丟棄最早的沒有來得及輸出的包,將輸出指針相應(yīng)前移,并將有效包數(shù)減至有效包數(shù)小于最大輸出門限。
全文摘要
一種會(huì)議電視多點(diǎn)控制設(shè)備中數(shù)據(jù)處理的方法,包括媒體排序和同步輸出及流量控制;其中,媒體排序用于消除亂序和網(wǎng)絡(luò)抖動(dòng)的影響;同步輸出及流量控制用于將數(shù)據(jù)以固定的帶寬進(jìn)行輸出。通訊處理器用于完成IP數(shù)據(jù)包的收發(fā),通訊處理器與數(shù)字信號(hào)處理器用于處理RTP數(shù)據(jù),完成媒體排序和同步輸出及流量控制;采用本發(fā)明所述方法,解決了MCU中H323與H320的順利互通必須解決的問題,保證了MCU中網(wǎng)關(guān),數(shù)字多畫面,速率匹配,混音功能的實(shí)現(xiàn),提高了系統(tǒng)的QoS能力和適應(yīng)復(fù)雜網(wǎng)絡(luò)環(huán)境的能力。
文檔編號(hào)H04N7/15GK1510919SQ02157800
公開日2004年7月7日 申請(qǐng)日期2002年12月23日 優(yōu)先權(quán)日2002年12月23日
發(fā)明者翁鍵, 曹珈, 翁 鍵 申請(qǐng)人:深圳市中興通訊股份有限公司