專(zhuān)利名稱(chēng):提高多媒體資料廣播品質(zhì)的方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于一種利用廣播方式傳送多媒體資料,特別是指一種提高多 Jf某體資料廣播品質(zhì)的方法。
背景技術(shù):
目前常見(jiàn)的無(wú)線(xiàn)通訊協(xié)議主要有二種,包括傳輸控制協(xié)議(Transmission Control Protocol,簡(jiǎn)稱(chēng)TCP)與用戶(hù)資料流協(xié)議(User Datagram Protocol, 簡(jiǎn)稱(chēng)UDP),其應(yīng)用在資料的無(wú)線(xiàn)通訊分述如下。在TCP通訊協(xié)議中,其所傳送的資料封包(packet)包括資料內(nèi)容以及文 件頭信息(header),而文件頭信息包含了起始地址、目的地地址、封包序號(hào)、 封包信息以及檢查號(hào)碼等。當(dāng)利用TCP在傳送封包時(shí),發(fā)送端(Sender)與接 收端(Receiver)之間將建立點(diǎn)對(duì)點(diǎn)的聯(lián)機(jī)關(guān)系,并在封包傳送的過(guò)程中提供 資料確認(rèn)程序,以便隨時(shí)了解傳送出去封包的狀態(tài),并依據(jù)該狀態(tài)決定是否 要重送(Resend)封包,或傳送下一個(gè)封包。由以上說(shuō)明可知,利用TCP通訊協(xié)議傳送資料的品質(zhì)較佳,可以確保資 料正確且完整的到達(dá)接收端,但其缺點(diǎn)為速度慢、占用較多頻寬,且發(fā)送端 必須知道接收端的位置才能夠進(jìn)行傳輸,若要以TCP通訊協(xié)議進(jìn)行一對(duì)多的 資料傳送(類(lèi)似廣播方式),發(fā)送端必須與每一個(gè)接收端建立TCP聯(lián)機(jī),其所 占用的頻寬將會(huì)成比例增加,且TCP為了確保傳輸過(guò)程的可靠度,傳輸?shù)乃?度可能會(huì)變得非常慢,因此TCP通訊協(xié)議并不適合具有實(shí)時(shí)性多媒體資料的 傳輸,也不適合以廣播方式進(jìn)行數(shù)據(jù)傳輸。UDP通訊協(xié)議為一種非連接導(dǎo)向的通訊協(xié)議,在數(shù)據(jù)傳輸時(shí)不需要預(yù)先建 立聯(lián)機(jī),傳輸?shù)倪^(guò)程中,發(fā)送端不會(huì)去檢查傳送出去的資料是否到達(dá)接收端,
而接收端也不必確認(rèn)資料是否正確,更不需要對(duì)發(fā)送端回傳資料是否完整的收到,因此UDP的傳送速度較TCP快,但不保證資料能夠完整的送達(dá)接收端。 由于UDP通訊并沒(méi)有提供確認(rèn)程序,因此UDP封包的文件頭信息并不包 含封包序號(hào),若是有部分封包在傳送過(guò)程中遺失也不去理會(huì),此種傳輸方式 非常適合應(yīng)用在以廣播方式(Broadcasting)的數(shù)據(jù)傳輸,尤其是運(yùn)用緩沖方 式的串流多媒體檔案,大部分都是采用UDP方式進(jìn)行傳輸。通常一份多媒體檔案通過(guò)UDP方式進(jìn)行傳輸,即使有部分的資料遺失, 只會(huì)造成部分畫(huà)面跳動(dòng)或部分聲音不連續(xù),對(duì)整份多媒體檔案的影響并不會(huì) 太大。但隨著檔案壓縮技術(shù)的提高,多媒體檔案的壓縮比例也隨之增加,在 傳輸?shù)倪^(guò)程中,每一筆資料的遺失都會(huì)對(duì)多媒體檔案的完整性造成相當(dāng)大的 影響,尤其是當(dāng)資料遺失率超過(guò)20%時(shí),所接收到的多媒體檔案將會(huì)變得非常 不完整而令人難以接受。因此,如何提高UDP資料廣播的品質(zhì),實(shí)為現(xiàn)階段相關(guān)人員所急欲解決 的課題。發(fā)明內(nèi)容本發(fā)明的主要目的在于提供一種提高多媒體資料廣播品質(zhì)的方法,該方 法在數(shù)據(jù)傳輸?shù)倪^(guò)程中增加動(dòng)態(tài)的確認(rèn)動(dòng)作,以提高資料廣播的品質(zhì)。為了達(dá)到上述的目的,本發(fā)明的提高多媒體資料廣播品質(zhì)的方法,其步 驟包括(a)首先將一多媒體資料分割成多筆數(shù)據(jù)塊,其中每一筆數(shù)據(jù)塊包括 至少一封包,并在數(shù)據(jù)塊上加注序號(hào);(b)對(duì)所要傳送資料的多個(gè)接收端中指 定其中一個(gè)接收端做為確認(rèn)者(acknowledger); (c)由一發(fā)送端以廣播方式將 第N筆數(shù)據(jù)塊發(fā)送至多個(gè)接收端;(d)判斷確認(rèn)者是否收到第N筆數(shù)據(jù)塊;(e) 若為是,則傳送一認(rèn)收信息(ACK)至發(fā)送端,反之,則重復(fù)步驟(c); (f)判斷 上述接收端是否未收到第N筆數(shù)據(jù)塊;(g)若為是,接收端將未收到第N筆 數(shù)據(jù)塊記錄為遺失,反之,則進(jìn)行下一步驟;(h)判斷接收端數(shù)據(jù)塊遺失的累
計(jì)次數(shù)是否大于i或數(shù)據(jù)塊連續(xù)遺失的次數(shù)是否大于j; (i)若為是,則通知 發(fā)送端將該接收端定義為遠(yuǎn)接收端(far peer),反之,則進(jìn)4亍下一步驟;(j) 判斷遠(yuǎn)接收端占所有接收端的比例是否超過(guò)M; (k)若為是,則重新指定一接 收端為確認(rèn)者(Acknowledger),反之,則進(jìn)行下一步驟;(l)判斷第N筆數(shù)據(jù) 塊是否為最后一筆數(shù)據(jù)塊;(m)若為是,則停止傳送數(shù)據(jù)塊;反之,(n)則定 義N+1為N,并重復(fù)步驟(c)。其中發(fā)送端是通過(guò)UDP通訊協(xié)議傳送數(shù)椐塊至多個(gè)接收端,而確認(rèn)者以 及多個(gè)接收端則是通過(guò)TCP通訊協(xié)議將信息傳送至發(fā)送端。在步驟(d)中,若接收端處理第N筆數(shù)據(jù)塊的時(shí)間為T(mén)b,則當(dāng)確認(rèn)者超過(guò) 一段時(shí)間(例如2Tb)未將認(rèn)收信息發(fā)送至發(fā)送端時(shí),發(fā)送端將認(rèn)為確認(rèn)者及接 收端并未收到第N筆數(shù)據(jù)塊,并以廣播方式再次將第N筆數(shù)據(jù)塊發(fā)送至多個(gè) 接收端,此時(shí)若是接收端已經(jīng)接收過(guò)第N筆數(shù)據(jù)塊,則該接收端會(huì)將再次傳 送的第N筆數(shù)據(jù)塊拋棄。發(fā)送端重新指定確認(rèn)者的方式包括l.從多個(gè)遠(yuǎn)接收端(far peer)中選 擇資料遺失最多的接收端做為確認(rèn)者,2.從多個(gè)遠(yuǎn)接收端中選擇資料遺失最 少的接收端做為確認(rèn)者,3.從多個(gè)遠(yuǎn)接收端中任選其一做為確認(rèn)者。此外, 每一個(gè)接收端也可以主動(dòng)偵測(cè)目前無(wú)線(xiàn)網(wǎng)絡(luò)頻道(WLAN channel)的信號(hào)品質(zhì), 并將信號(hào)品質(zhì)狀態(tài)傳送至發(fā)送端,而發(fā)送端可根據(jù)目前所有接收端的信號(hào)品 質(zhì)決定是否要需要更換無(wú)線(xiàn)網(wǎng)絡(luò)頻道。
圖1為利用本發(fā)明進(jìn)行多媒體資料廣播的系統(tǒng)架構(gòu)圖。 圖2為本發(fā)明的提高多i某體資料廣播品質(zhì)的方法流程圖。 符號(hào)說(shuō)明1~發(fā)送端 2~接收端 3~網(wǎng)絡(luò) 4~無(wú)線(xiàn)存取器
具體實(shí)施方式
為使本發(fā)明的優(yōu)點(diǎn)及精神能更進(jìn)一步被揭示,茲配合圖式作一詳細(xì)說(shuō)明 如后。請(qǐng)參閱圖1所示,其為利用本發(fā)明進(jìn)行多媒體資料廣播的系統(tǒng)架構(gòu)圖,圖中包括一發(fā)送端1以及多個(gè)接收端2,發(fā)送端1與接收端2均分別與網(wǎng)絡(luò)3 建立連結(jié),當(dāng)資料通過(guò)無(wú)線(xiàn)網(wǎng)絡(luò)進(jìn)行資料廣播時(shí),同一區(qū)域的接收端2通常 會(huì)聯(lián)機(jī)至該區(qū)域范圍的無(wú)線(xiàn)存取器(AP) 4,因此圖中同 一區(qū)域的接收端2是在 同一個(gè)無(wú)線(xiàn)存取器4所涵蓋的范圍內(nèi),且每一區(qū)域的接收端2中至少包含一 個(gè)確認(rèn)者5,確認(rèn)者5的作用將在實(shí)施例中說(shuō)明。發(fā)送端是通過(guò)廣播方式(UDP通訊協(xié)議)對(duì)多個(gè)接收端進(jìn)行多媒體數(shù)據(jù)傳 輸,所傳送的多媒體資料必須先切割成多個(gè)數(shù)據(jù)塊并加注序號(hào),每一個(gè)數(shù)據(jù) 塊依其檔案大小與傳輸速度,可決定該數(shù)據(jù)塊的接收時(shí)間為T(mén)b,在理想狀況 下,接收端每經(jīng)過(guò)一個(gè)Tb時(shí)間都會(huì)接收到一筆數(shù)據(jù)塊,如果發(fā)送端超過(guò)2Tb 的時(shí)間未收到確認(rèn)者回報(bào)收到該信息,則發(fā)送端將主動(dòng)重送該筆資料。請(qǐng)參閱圖2所示,其為本發(fā)明的提高多媒體資料廣播品質(zhì)的方法,其步 驟包括首先將一多媒體資料分割成多筆數(shù)據(jù)塊,該數(shù)據(jù)塊包括至少一封包, 并在每一筆數(shù)據(jù)塊上加注序號(hào)(S21);對(duì)所要傳送資料的多個(gè)接收端中指定其 中一個(gè)接收端做為確認(rèn)者(acknowledger) (S22);由一發(fā)送端以廣播方式將第 N筆數(shù)據(jù)塊發(fā)送至多個(gè)接收端(S23);判斷確認(rèn)者是否收到該第N筆數(shù)據(jù)塊 (S24),若為是,則傳送一認(rèn)收信息(ACK)至發(fā)送端(S25),反之,則重復(fù)步驟 (S23);判斷上述接收端是否未收到第N筆數(shù)據(jù)塊(S26),若為是,接收端將 未收到的第N筆數(shù)據(jù)塊記錄為遺失(S27),反之,則進(jìn)行下一步驟;判斷接收 端數(shù)據(jù)塊遺失的累計(jì)次數(shù)是否大于i或數(shù)據(jù)塊連續(xù)遺失的次數(shù)是否大于 j (S28),若為是,則通知發(fā)送端將該接收端定義為遠(yuǎn)接收端(far peer) (S29),反之,則進(jìn)行下一步驟;判斷遠(yuǎn)接收端占所有接收端的比例是否超過(guò)M(S30), 若為是,則重新指定一接收端為確認(rèn)者(Acknowledger) (S31),反之,則進(jìn)行 下一步驟;判斷第N筆數(shù)據(jù)塊是否為最后一筆數(shù)據(jù)塊(S32),若為是則停止傳 送資料(S33),反之,則定義N+1為N(S34),并重復(fù)步驟(S23)。在步驟(S25)中,當(dāng)確認(rèn)者完整接收到第N筆數(shù)據(jù)塊時(shí)就會(huì)通過(guò)TCP協(xié)議 發(fā)出認(rèn)收信號(hào)通知發(fā)送端,此時(shí)發(fā)送端將認(rèn)定確認(rèn)者及其附近的接收端均已 收到第N筆數(shù)據(jù)塊,反之,若是發(fā)送端超過(guò)一段時(shí)間,例如2Tb, 一直未收到 確認(rèn)者的認(rèn)收信息時(shí),則認(rèn)定確認(rèn)者及其附近的接收端均未收到第N筆數(shù)據(jù) 塊,并重復(fù)步驟(S23),此時(shí)若是接收端已經(jīng)接收過(guò)第N筆數(shù)據(jù)塊,則該接收 端會(huì)將再次傳送的第N筆數(shù)據(jù)塊拋棄。在本發(fā)明中,發(fā)送端所發(fā)送的第N筆數(shù)據(jù)塊是從第1筆數(shù)據(jù)塊開(kāi)始依續(xù) 發(fā)送,因此當(dāng)完成第N筆數(shù)據(jù)塊之后,便定義N+1為N,繼續(xù)進(jìn)行下一筆數(shù)據(jù) 塊的發(fā)送,直到最后一筆為止。此外,步驟(S28)的i與j以及步驟(S30)的M 的數(shù)值可自行設(shè)定,原則上設(shè)定的數(shù)值越小,可靠度越高,但傳輸速度較慢, 反之,則可靠度越低,但傳輸速度較快。由于公知技術(shù)中,利用UDP通訊協(xié)議進(jìn)行資料廣播原本不具有確認(rèn)的功 能,因此數(shù)據(jù)傳輸較不可靠,但在本發(fā)明中,雖然也是通過(guò)UDP通訊協(xié)議進(jìn) 行資料廣播,但本發(fā)明在同一區(qū)域的接收端中以隨機(jī)方式主動(dòng)選擇至少一個(gè) 接收端做為確認(rèn)者,該確認(rèn)者為其附近接收端的代表,通過(guò)該確認(rèn)者與發(fā)送 端建立一條TCP聯(lián)機(jī),其所占的頻寬不大,因此不會(huì)影響到傳輸?shù)钠焚|(zhì),且 由于確認(rèn)者可提供確認(rèn)機(jī)制,因此大大地提高資料廣播的可靠度。然而,影響本發(fā)明可靠度最重大的因素在于,所選擇的確認(rèn)者是否足以 代表其附近的接收端。特別是當(dāng)確認(rèn)者已收到數(shù)據(jù)塊,而其附近的接收端有 未收到的情形時(shí),發(fā)送端會(huì)因?yàn)槭盏酱_認(rèn)者的認(rèn)收信息而誤以為所有的接收 端都已收到數(shù)據(jù)塊,而影響到傳輸?shù)钠焚|(zhì)和可靠度。反之,當(dāng)確認(rèn)者未收到 數(shù)據(jù)塊,而其附近的接收端絕大部分均已收到時(shí),由于發(fā)送端未收到確認(rèn)者
的認(rèn)收信息而誤以為所有的接收端都未收到數(shù)據(jù)塊,并進(jìn)行數(shù)據(jù)塊的重送動(dòng) 作,其結(jié)果將造成網(wǎng)絡(luò)資源的浪費(fèi)。為了提高資料的傳送可靠度以及避免資料一再地重送而浪費(fèi)網(wǎng)絡(luò)資源,本發(fā)明提供發(fā)送端重新指定確認(rèn)者的方式如下a. 從多個(gè)遠(yuǎn)接收端(far peer)中選擇資料遺失最多的接收端做為確認(rèn)者, 此一方式的可靠度最佳,但也可能增加資料重送的次數(shù),進(jìn)而造成網(wǎng)絡(luò)資源 的浪費(fèi)。b. 從多個(gè)遠(yuǎn)接收端中選擇資料遺失最少的接收端做為確認(rèn)者,此一方式 的可靠度較差,但資料重送的次數(shù)較少,不會(huì)浪費(fèi)過(guò)多的網(wǎng)絡(luò)資源。c. 從多個(gè)遠(yuǎn)接收端中任選其一做為確認(rèn)者,發(fā)送者可依據(jù)實(shí)際需求,選 擇一適當(dāng)?shù)拇_認(rèn)者以符合其對(duì)于資料可靠度或是網(wǎng)絡(luò)資源的要求。此外,本發(fā)明對(duì)于同一區(qū)域所指定的確認(rèn)者,并不以一個(gè)為限,也可以 是一個(gè)以上。又目前的無(wú)線(xiàn)通訊裝置都具備有自動(dòng)偵測(cè)無(wú)線(xiàn)網(wǎng)絡(luò)頻道(WLAN channel)的信號(hào)品質(zhì)的功能,因此本發(fā)明的每一個(gè)接收端也可以主動(dòng)偵測(cè)目 前所使用的無(wú)線(xiàn)網(wǎng)絡(luò)頻道(WLAN channel)的信號(hào)品質(zhì),并通過(guò)TCP聯(lián)機(jī),將 該頻道的信號(hào)品質(zhì)狀態(tài)傳送至發(fā)送端,以供發(fā)送端判斷是否要需要更換無(wú)線(xiàn) 網(wǎng)絡(luò)頻道,進(jìn)而使資料在利用廣播方式進(jìn)行無(wú)線(xiàn)傳輸時(shí),其品質(zhì)與可靠度能 夠達(dá)到最佳的狀態(tài)。以上所述,僅為本發(fā)明的一較佳實(shí)施例,其并非用以限制本發(fā)明的實(shí)施 范圍,任何熟習(xí)該項(xiàng)技藝者依據(jù)本發(fā)明的精神所做的少許修改,仍應(yīng)屬本發(fā) 明的精神及范圍。
權(quán)利要求
1.一種提高多媒體資料廣播品質(zhì)的方法,其步驟包括a.將一多媒體資料分割成多筆數(shù)據(jù)塊;b.在多個(gè)接收端中指定其中一個(gè)接收端做為確認(rèn)者;c.由一發(fā)送端以廣播方式將第N筆數(shù)據(jù)塊發(fā)送至上述多個(gè)接收端;d.判斷該確認(rèn)者是否收到該第N筆數(shù)據(jù)塊;e.若為是,則傳送一認(rèn)收信息至該發(fā)送端,反之,則重復(fù)步驟c;f.判斷該第N筆數(shù)據(jù)塊是否為最后一筆數(shù)據(jù)塊;g.若為是,則停止傳送資料,反之,則定義N+1為N,并重復(fù)步驟c。
2. 如權(quán)利要求1所述的方法,其中該步驟e還包括 el.若上述任一接收端未收到該第N筆數(shù)據(jù)塊時(shí),該接收端將記錄該筆數(shù)據(jù)塊為遺失,反之,則進(jìn)行下一步驟;e2.若上述任一接收端數(shù)據(jù)塊遺失的次數(shù)累計(jì)大于i或數(shù)據(jù)塊連續(xù)遺失的 次數(shù)大于j時(shí),則通知該發(fā)送端將該接收端定義為遠(yuǎn)接收端,反之,則進(jìn)行 下一步驟;e3.若上述接收端之中,該遠(yuǎn)接收端所占的比例超過(guò)M時(shí),則重新指定一 接收端為確認(rèn)者,反之,則進(jìn)行下一步驟。
3. 如權(quán)利要求1所述的方法,其中該發(fā)送者是通過(guò)UDP通訊協(xié)議傳送該 數(shù)據(jù)塊至上述接收端。
4. 如權(quán)利要求1所述的方法,其中該確認(rèn)者是通過(guò)TCP通訊協(xié)議將該認(rèn) 收信息傳送至該發(fā)送端。
5. 如權(quán)利要求1所述的方法,'其中步驟d的接收端處理該第N筆數(shù)據(jù)塊 的時(shí)間為T(mén)b,若該確認(rèn)者超過(guò)2Tb時(shí)間未收到該第N筆數(shù)據(jù)塊,則定義為未 收到。
6. 如權(quán)利要求1所述的方法,其中上述接收端若已經(jīng)接收該第N筆數(shù)椐 塊,則會(huì)將再次接收到的該第N筆數(shù)據(jù)塊拋棄。
7. —種提高多媒體資料廣播品質(zhì)的方法,其步驟包括a. 將一份多媒體資料分割成多筆數(shù)據(jù)塊;b. 在多個(gè)接收端中指定其中 一個(gè)接收端做為確認(rèn)者;c. 由一發(fā)送端以廣播方式將第N筆數(shù)據(jù)塊發(fā)送至上述多個(gè)接收端;d. 判斷該確認(rèn)者是否收到該第N筆數(shù)據(jù)塊;e. 若為是,則傳送一認(rèn)收信息至該發(fā)送端,反之,則重復(fù)步驟c;f. 判斷上述任一接收端是否未收到該第N筆數(shù)據(jù)塊;g. 若為是,則將該未收到的該第N筆數(shù)據(jù)塊記錄為遺失,反之,則進(jìn)行 下一步驟;h. 判斷上述任一接收端數(shù)據(jù)塊遺失的次數(shù)累計(jì)是否大于i或數(shù)據(jù)塊連續(xù) 遺失的次數(shù)是否大于j;i. 若為是,則通知該發(fā)送端將該接收端定義為遠(yuǎn)接收端,反之,則進(jìn)行 下一步驟;j.判斷該遠(yuǎn)接收端占所有接收端的比例是否超過(guò)M;k.若為是,則重新指定一接收端為確認(rèn)者,反之,則進(jìn)行下一步驟;1.判斷該第N筆數(shù)據(jù)塊是否為最后一筆數(shù)據(jù)塊;m.若為是,則停止傳送數(shù)據(jù)塊,反之,則定義N+1為N,并重復(fù)步驟c。
8. 如權(quán)利要求7所述的方法,其中該發(fā)送者是通過(guò)UDP通訊協(xié)議傳送該 數(shù)據(jù)塊至上述接收端。
9. 如權(quán)利要求7所述的方法,其中該確認(rèn)者是通過(guò)TCP通訊協(xié)議將該認(rèn) 收信息傳送至該發(fā)送端。
10. 如權(quán)利要求7所述的方法,其中步驟d的接收端處理該第N筆數(shù)據(jù)塊 的時(shí)間為T(mén)b,若該確認(rèn)者超過(guò)2Tb時(shí)間未收到該第N筆數(shù)據(jù)塊,則定義為未 收到。
全文摘要
一種提高多媒體資料廣播品質(zhì)的方法,其步驟包括首先在多個(gè)接收端中指定其中一個(gè)接收端做確認(rèn)者,再通過(guò)一發(fā)送端以廣播方式依續(xù)將多筆數(shù)據(jù)塊發(fā)送至多個(gè)接收端,若確認(rèn)者每收到一筆數(shù)據(jù)塊時(shí)則傳送一認(rèn)收信息(ACK)至發(fā)送端,反之,發(fā)送端若未收到確認(rèn)者的認(rèn)收信息時(shí),則將該筆認(rèn)收信息所對(duì)應(yīng)的數(shù)據(jù)塊以廣播方式發(fā)送至多個(gè)接收端,重復(fù)前述動(dòng)作直到全部數(shù)據(jù)塊傳送完畢為止。
文檔編號(hào)H04L12/56GK101132299SQ20061011598
公開(kāi)日2008年2月27日 申請(qǐng)日期2006年8月22日 優(yōu)先權(quán)日2006年8月22日
發(fā)明者張國(guó)隆, 王建興, 鄭博文, 陳飛達(dá) 申請(qǐng)人:奇揚(yáng)網(wǎng)科股份有限公司