專(zhuān)利名稱(chēng):多媒體信號(hào)傳輸方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動(dòng)互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別地,涉及一種多媒體信號(hào)傳輸方法和裝置。
背景技術(shù):
隨著移動(dòng)互聯(lián)網(wǎng)應(yīng)用的普及,3G網(wǎng)絡(luò)的覆蓋不斷擴(kuò)大和普及,移動(dòng)視頻的業(yè)務(wù)量也在不斷擴(kuò)大。目前利用手機(jī)觀看視頻已經(jīng)成為手機(jī)的主要功能之一,但移動(dòng)的最大缺點(diǎn)就是帶寬仍然不夠?qū)?,而且?jīng)常出現(xiàn)斷網(wǎng)或者信號(hào)不好的問(wèn)題,這樣在播放中容易導(dǎo)致視頻停頓,而視頻停頓又是影響客戶(hù)體驗(yàn)的重要原因。目前移動(dòng)互聯(lián)網(wǎng)使用比較多的視頻封裝格式是3GP的封裝標(biāo)準(zhǔn),視頻壓縮多采用H.264的協(xié)議。視頻服務(wù)器有些是用流媒體服務(wù)器,有些采用Web服務(wù)器。終端一般會(huì)在內(nèi)部創(chuàng)建一定大小的緩沖來(lái)應(yīng)對(duì)移動(dòng)網(wǎng)絡(luò)的不穩(wěn)定性,但也只能解決部分的抖動(dòng)問(wèn)題,所以目前出現(xiàn)了 SVC(Scaled Video Coding,可分層視頻編解碼)算法,一個(gè)碼流可以包含不同分辨率和幀率,可以根據(jù)用戶(hù)的帶寬情況來(lái)發(fā)送合適分辨率和幀率的數(shù)據(jù),這種編碼方法給移動(dòng)視頻業(yè)務(wù)帶來(lái)了很好的解決方案,但如果在服務(wù)器的傳輸設(shè)計(jì)上和文件封裝上按原有的模式,只是更新一套編碼方法,該編碼方法發(fā)揮的真正效果并不理想,在網(wǎng)絡(luò)突然中斷或者信號(hào)差的時(shí)候同樣會(huì)有停頓現(xiàn)象發(fā)生。
發(fā)明內(nèi)容
本發(fā)明要解決的一個(gè)技術(shù)問(wèn)題是提供一種多媒體信號(hào)傳輸方法和裝置,能夠在用戶(hù)點(diǎn)播視頻時(shí)提聞視頻的抗網(wǎng)絡(luò)抖動(dòng)能力。根據(jù)本發(fā)明的一方面,提出了一種多媒體信號(hào)傳輸方法,包括對(duì)待傳輸?shù)亩嗝襟w信號(hào)進(jìn)行編碼,形成音頻編碼數(shù)據(jù)、視頻基本層編碼數(shù)據(jù)和視頻增強(qiáng)層編碼數(shù)據(jù);分別對(duì)音頻編碼數(shù)據(jù)、視頻基本層編碼數(shù)據(jù)和視頻增強(qiáng)層編碼數(shù)據(jù)進(jìn)行封裝;根據(jù)反饋的用戶(hù)帶寬確定待傳輸?shù)膬?nèi)容,并根據(jù)所確定的待傳輸?shù)膬?nèi)容從封裝后的數(shù)據(jù)中選擇待傳輸?shù)木幋a數(shù)據(jù);根據(jù)反饋的用戶(hù)帶寬和用戶(hù)丟包率確定前向糾錯(cuò)數(shù)據(jù)的插入位置,并將前向糾錯(cuò)數(shù)據(jù)插入到相應(yīng)位置的編碼數(shù)據(jù)中;在待傳輸?shù)木幋a數(shù)據(jù)中包含視頻增強(qiáng)層編碼數(shù)據(jù)的情況下,根據(jù)傳輸時(shí)刻按比例傳輸各種編碼數(shù)據(jù)。根據(jù)本發(fā)明的另一方面,還提出了一種多媒體信號(hào)傳輸裝置,包括編碼單元,用于對(duì)待傳輸?shù)亩嗝襟w信號(hào)進(jìn)行編碼,形成音頻編碼數(shù)據(jù)、視頻基本層編碼數(shù)據(jù)和視頻增強(qiáng)層編碼數(shù)據(jù);封裝單元,與編碼單元相連,用于分別對(duì)音頻編碼數(shù)據(jù)、視頻基本層編碼數(shù)據(jù)和視頻增強(qiáng)層編碼數(shù)據(jù)進(jìn)行封裝;數(shù)據(jù)選取單元,與封裝單元相連,用于根據(jù)反饋的用戶(hù)帶寬確定待傳輸?shù)膬?nèi)容,并根據(jù)所確定的待傳輸?shù)膬?nèi)容從封裝后的數(shù)據(jù)中選擇待傳輸?shù)木幋a數(shù)據(jù);糾錯(cuò)插入單元,與數(shù)據(jù)選取單元相連,用于根據(jù)反饋的用戶(hù)帶寬和用戶(hù)丟包率確定前向糾錯(cuò)數(shù)據(jù)的插入位置,并將前向糾錯(cuò)數(shù)據(jù)插入到相應(yīng)位置的編碼數(shù)據(jù)中;比例確定單元,與糾錯(cuò)插入單元相連,用于在待傳輸?shù)木幋a數(shù)據(jù)中包含視頻增強(qiáng)層編碼數(shù)據(jù)的情況下,根據(jù)傳輸時(shí)刻按比例傳輸各種編碼數(shù)據(jù)。
本發(fā)明提供的多媒體信號(hào)傳輸方法與裝置,充分發(fā)揮SVC的特性,根據(jù)SVC的分層特點(diǎn)對(duì)文件的封裝、傳輸方式和糾錯(cuò)機(jī)制進(jìn)行改進(jìn),在網(wǎng)絡(luò)抖動(dòng)和丟包情況下保證視頻基本層數(shù)據(jù)優(yōu)先到達(dá)用戶(hù)端并啟用糾錯(cuò)機(jī)制,保證點(diǎn)播視頻時(shí)抗網(wǎng)絡(luò)抖動(dòng)能力達(dá)到最強(qiáng),進(jìn)而使得用戶(hù)的體驗(yàn)達(dá)到最佳化。
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分。在附圖中:圖1是本發(fā)明多媒體信號(hào)傳輸方法的一個(gè)實(shí)施例的流程示意圖。圖2是Movie容器示意圖。圖3是本發(fā)明多媒體信號(hào)傳輸裝置的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面參照附圖對(duì)本發(fā)明進(jìn)行更全面的描述,其中說(shuō)明本發(fā)明的示例性實(shí)施例。本發(fā)明的示例性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,但并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。以下對(duì)至少一個(gè)示例性實(shí)施例的描述實(shí)際上僅僅是說(shuō)明性的,決不作為對(duì)本發(fā)明及其應(yīng)用或使用的任何限制。本發(fā)明的下述實(shí)施例在SVC封裝未標(biāo)準(zhǔn)化的情況下提出了自己的封裝方法,即,在文件封裝中增加獨(dú)立的視頻分層軌道(例如,視頻基本層軌道、視頻增強(qiáng)層軌道),分別對(duì)每個(gè)視頻分層軌道獨(dú)立地進(jìn)行封裝。在視頻服務(wù)器向終端傳輸多媒體信號(hào)的過(guò)程中,采取根據(jù)用戶(hù)端反饋的實(shí)時(shí)下載帶寬來(lái)重新生成相應(yīng)的媒體文件,即,重新拆解文件并封裝,把視頻基本層數(shù)據(jù)與視頻增強(qiáng)層數(shù)據(jù)優(yōu)化組合成適合當(dāng)前帶寬的媒體文件,并且根據(jù)用戶(hù)的下載帶寬情況來(lái)決定FEC(Forward error correction,前向糾錯(cuò))數(shù)據(jù)加入的位置,在丟包較嚴(yán)重并且下載帶寬可以滿(mǎn)足視頻基本層數(shù)據(jù)的帶寬要求的情況下,可以將FEC數(shù)據(jù)添加到基本層數(shù)據(jù)中。在傳輸過(guò)程中,可以根據(jù)用戶(hù)反饋的信息利用自適應(yīng)算法對(duì)基本層與增強(qiáng)層的傳輸速率分別控制,例如,在視頻播放開(kāi)始階段,先發(fā)送基本層數(shù)據(jù)到終端,這樣可以達(dá)到快速啟動(dòng)播放的目的,隨后根據(jù)帶寬情況保持或調(diào)整基本層與增強(qiáng)層之間的傳輸比例,這樣能保證視頻基本層數(shù)據(jù)優(yōu)先到達(dá)用戶(hù)端,抵抗網(wǎng)絡(luò)抖動(dòng),使用戶(hù)端的視頻流暢度和清晰度達(dá)到最優(yōu)。圖1是本發(fā)明多媒體信號(hào)傳輸方法的一個(gè)實(shí)施例的流程示意圖。如圖1所示,該實(shí)施例可以包括以下步驟:S102,對(duì)待傳輸?shù)亩嗝襟w信號(hào)進(jìn)行編碼,形成音頻編碼數(shù)據(jù)、視頻基本層編碼數(shù)據(jù)和視頻增強(qiáng)層編碼數(shù)據(jù),其中,多媒體信號(hào)可以包括音頻信號(hào)和視頻信號(hào),根據(jù)用戶(hù)終端對(duì)分辨率與幀率的最低要求確定出視頻基本層數(shù)據(jù),再根據(jù)視頻基本層數(shù)據(jù)預(yù)測(cè)出視頻增強(qiáng)層數(shù)據(jù),可以對(duì)視頻基本層數(shù)據(jù)和視頻增強(qiáng)層數(shù)據(jù)進(jìn)行SVC編碼,對(duì)音頻數(shù)據(jù)進(jìn)行MP3或AAC (Advanced Audio Coding,先進(jìn)音頻編碼)等編碼處理;S104,分別對(duì)音頻編碼數(shù)據(jù)、視頻基本層編碼數(shù)據(jù)和視頻增強(qiáng)層編碼數(shù)據(jù)進(jìn)行封裝,除了傳統(tǒng)的封裝處理外,還包括對(duì)不同數(shù)據(jù)標(biāo)識(shí)的封裝,例如,可以用AVCl標(biāo)識(shí)視頻基本層數(shù)據(jù),用SVCE標(biāo)識(shí)視頻增強(qiáng)層數(shù)據(jù),視頻增強(qiáng)層可以為一個(gè)或多個(gè),在視頻增強(qiáng)層為多個(gè)時(shí),每個(gè)視頻增強(qiáng)層對(duì)應(yīng)于不同的分辨率和幀率,例如,第一視頻增強(qiáng)層的分辨率為CIF (Common Intermediate Format),巾貞率為10巾貞/S,第二視頻增強(qiáng)層的分辨率為CIF (或720P等),幀率為25幀/S,此時(shí)可以用SVC1、SVC2、SVC3等來(lái)標(biāo)識(shí)不同的視頻增強(qiáng)層;
S106,根據(jù)反饋的用戶(hù)帶寬確定待傳輸?shù)膬?nèi)容,并根據(jù)所確定的待傳輸?shù)膬?nèi)容從封裝后的數(shù)據(jù)中選擇待傳輸?shù)木幋a數(shù)據(jù);
S108,根據(jù)反饋的用戶(hù)帶寬和用戶(hù)丟包率確定前向糾錯(cuò)數(shù)據(jù)的插入位置,并將前向糾錯(cuò)數(shù)據(jù)插入到相應(yīng)位置的編碼數(shù)據(jù)中;
S110,在待傳輸?shù)木幋a數(shù)據(jù)中包含視頻增強(qiáng)層編碼數(shù)據(jù)的情況下,根據(jù)傳輸時(shí)刻按比例傳輸各種編碼數(shù)據(jù)。
該實(shí)施例使視頻點(diǎn)播能夠最大化地適應(yīng)移動(dòng)網(wǎng)絡(luò)的不穩(wěn)定性,當(dāng)網(wǎng)絡(luò)中斷的時(shí)候因?yàn)橐曨l基本層編碼數(shù)據(jù)已經(jīng)優(yōu)先下載到了用戶(hù)終端,所以仍然能夠繼續(xù)被解碼,防止了視頻停頓等現(xiàn)象的發(fā)生,使用戶(hù)體驗(yàn)達(dá)到最優(yōu)。
為了使得用戶(hù)終端能夠體驗(yàn)最基本的視頻效果,待傳輸?shù)膬?nèi)容可以包括封裝后的音頻編碼數(shù)據(jù)和視頻基本層編碼數(shù)據(jù),進(jìn)一步地,在帶寬允許的情況下,待傳輸?shù)膬?nèi)容還可以包括封裝后的視頻增強(qiáng)層編碼數(shù)據(jù)。
在步驟S108中,可以通過(guò)下述方式確定前向糾錯(cuò)數(shù)據(jù)的插入位置,以在插入前向糾錯(cuò)數(shù)據(jù)后提高接收端的解碼正確率:
(I)在用戶(hù)丟包率大于設(shè)定的第一丟包率閾值(例如,第一丟包率閾值為30% )并且用戶(hù)帶寬滿(mǎn)足視頻基本層編碼數(shù)據(jù)帶寬要求時(shí),將基本層的前向糾錯(cuò)數(shù)據(jù)插入到視頻基本層編碼數(shù)據(jù)中;
(2)在用戶(hù)丟包率小于設(shè)定的第二丟包率閾值(例如,第二丟包率閾值為5% )并且用戶(hù)帶寬滿(mǎn)足視頻基本層編碼數(shù)據(jù)帶寬要求時(shí),將基本層的前向糾錯(cuò)數(shù)據(jù)插入到視頻增強(qiáng)層編碼數(shù)據(jù)中;
(3)在用戶(hù)帶寬大于視頻基本層編碼數(shù)據(jù)帶寬要求時(shí),將基本層的前向糾錯(cuò)數(shù)據(jù)插入到視頻基本層編碼數(shù)據(jù)中或視頻增強(qiáng)層編碼數(shù)據(jù)中。
此外,在步驟SllO中,當(dāng)服務(wù)器同時(shí)向用戶(hù)端傳輸視頻基本層編碼數(shù)據(jù)和視頻增強(qiáng)層編碼數(shù)據(jù)時(shí),為了提高用戶(hù)端在點(diǎn)播視頻時(shí)的抗抖動(dòng)功能,可以采用下述數(shù)據(jù)傳輸方式:
(I)在傳輸?shù)钠鹗紩r(shí)刻先向用戶(hù)傳輸視頻基本層編碼數(shù)據(jù),為了防止抖動(dòng),一般在初始時(shí)刻優(yōu)先向用戶(hù)端傳送基本層編碼數(shù)據(jù),以使得在網(wǎng)絡(luò)出現(xiàn)抖動(dòng)時(shí)用戶(hù)端能夠利用預(yù)先下載的基本層編碼數(shù)據(jù)保證最基本的視頻效果;
(2)在傳輸?shù)那鞍攵螘r(shí)刻逐漸增大視頻增強(qiáng)層編碼數(shù)據(jù)的傳輸比例,即,在視頻點(diǎn)播的前期階段,雖然在一開(kāi)始已經(jīng)向用戶(hù)端傳輸了部分視頻基本層編碼數(shù)據(jù),但是還有部分基本層數(shù)據(jù)未傳輸,在保證較好的視頻效果的同時(shí)還是要盡量?jī)?yōu)先傳輸基本層數(shù)據(jù),此時(shí)可以使得基本層數(shù)據(jù)與增強(qiáng)層數(shù)據(jù)的傳輸比例大于1,例如,用戶(hù)下載帶寬的70%用于傳輸基本層數(shù)據(jù),剩余的30%用于傳輸增強(qiáng)層數(shù)據(jù);或者下載帶寬的60%用于傳輸基本層數(shù)據(jù),剩余的40%用于傳輸增強(qiáng)層數(shù)據(jù);
(3)在傳輸?shù)暮蟀攵螘r(shí)刻逐漸減小視頻基本層編碼數(shù)據(jù)的傳輸比例,即,由于此時(shí)在用戶(hù)端已經(jīng)下載了相當(dāng)比例的基本層數(shù)據(jù),考慮到視頻顯示效果,可以適當(dāng)調(diào)整基本層數(shù)據(jù)與增強(qiáng)層數(shù)據(jù)的傳輸比例,此時(shí),可以使得基本層數(shù)據(jù)與增強(qiáng)層數(shù)據(jù)的傳輸比例小于1,例如,用戶(hù)下載帶寬的40%用于傳輸基本層數(shù)據(jù),剩余的60%用于傳輸增強(qiáng)層數(shù)據(jù);或者下載帶寬的30%用于傳輸基本層數(shù)據(jù),剩余的70%用于傳輸增強(qiáng)層數(shù)據(jù),隨著時(shí)間的推移,甚至可以達(dá)到下載帶寬的20%用于傳輸基本層數(shù)據(jù),80%用于傳輸增強(qiáng)層數(shù)據(jù)、或10%用于傳輸基本層數(shù)據(jù),90%用于傳輸增強(qiáng)層數(shù)據(jù)(此時(shí),絕大部分基本層數(shù)據(jù)已被下載到用戶(hù)端)。
在本發(fā)明多媒體信號(hào)傳輸方法的另一實(shí)施例中,可以將視頻服務(wù)器向用戶(hù)端傳輸數(shù)據(jù)的過(guò)程分為兩部分:
1、視頻碼流的封裝過(guò)程:
步驟一,由支持SVC特性的編碼器對(duì)實(shí)時(shí)圖像或離線(xiàn)圖像信號(hào)進(jìn)行編碼,并形成視頻基本層編碼數(shù)據(jù)和視頻增強(qiáng)層編碼數(shù)據(jù),其中視頻基本層編碼數(shù)據(jù)和視頻增強(qiáng)層編碼數(shù)據(jù)分離地并且同步地輸入到封裝單元中,封裝單元將對(duì)這兩種數(shù)據(jù)進(jìn)行打包處理;
具體地,首先將待編碼的視頻信息通過(guò)空域下采樣分解為兩個(gè)不同分辨率的空域?qū)有畔ⅲ總€(gè)空域?qū)釉偻ㄟ^(guò)基于MCTF(Motion Compensated Temporal Filtering,運(yùn)動(dòng)補(bǔ)償?shù)臅r(shí)域?yàn)V波)技術(shù)進(jìn)行時(shí)域分解,分解過(guò)程中得到的運(yùn)動(dòng)信息可以在層間進(jìn)行預(yù)測(cè)并最后編碼,分解后的高通幀紋理信息可以使用與H.264相同的幀內(nèi)預(yù)測(cè)方式進(jìn)行層內(nèi)預(yù)測(cè)、或使用空域低層的重建紋理進(jìn)行層間預(yù)測(cè),低通幀紋理使用與H.264相同的幀間預(yù)測(cè)方式進(jìn)行預(yù)測(cè),預(yù)測(cè)冗余還可以再進(jìn)行層間冗余預(yù)測(cè),最后對(duì)最終預(yù)測(cè)冗余進(jìn)行變換和熵編碼,編碼過(guò)程中可以通過(guò)對(duì)變換系數(shù)進(jìn)行重復(fù)量化來(lái)提供SNR分級(jí)性。
步驟二,進(jìn)行視頻文件的封裝,以MP4文件封裝為例,將MP4所有的內(nèi)容都存儲(chǔ)于一個(gè)稱(chēng)為movie的容器中,如圖2所示,這個(gè)movie容器可以由多個(gè)video track組成,每個(gè)video track就是一個(gè)隨時(shí)間變化的媒體序列,例如,視頻巾貞序列,track里的每個(gè)時(shí)間單位是一個(gè)sample,它可以是一巾貞視頻或音頻,sample按時(shí)間順序排列,需要指出的是,一中貞音頻可以分解成多個(gè)音頻sample,所以音頻一般用sample作為單位,而不用巾貞;在1^4文件格式的定義中用sample這個(gè)單詞表示一個(gè)時(shí)間巾貞或者數(shù)據(jù)單元,每個(gè)track又會(huì)有一個(gè)或者多個(gè)sample描述,t rack里面的每個(gè)sample通過(guò)引用關(guān)聯(lián)到一個(gè)sample描述,這個(gè)sample描述定義了怎樣對(duì)這個(gè)sample進(jìn)行解碼,例如,所使用的壓縮算法等。封裝單元會(huì)根據(jù)SVC編碼后數(shù)據(jù)的實(shí)際情況進(jìn)行媒體數(shù)據(jù)的封裝存儲(chǔ),例如,封裝單元將SVC編碼數(shù)據(jù)的每一層都作為一個(gè)獨(dú)立的媒體軌道(即,video track)進(jìn)行封裝,如果沒(méi)有增強(qiáng)層數(shù)據(jù),封裝結(jié)構(gòu)與普通的媒體封裝結(jié)構(gòu)相同,如果存在增強(qiáng)層數(shù)據(jù),則可以通過(guò)增加新的媒體軌道來(lái)實(shí)現(xiàn),在封裝SVC編碼數(shù)據(jù)時(shí),對(duì)于基本層數(shù)據(jù),使用與原始媒體單元描述(Sampledescription)相同的符號(hào),例如,AVCl (H.264),而增強(qiáng)層數(shù)據(jù)使用不同的描述符號(hào),例如,SVCE,這樣可以保證新封裝的SVC文件格式與原有系統(tǒng)的最大兼容性,在同時(shí)存在多個(gè)增強(qiáng)層時(shí),可以使用多級(jí)符號(hào)標(biāo)識(shí),以保證多層增強(qiáng)數(shù)據(jù)之間的級(jí)別關(guān)系,例如,SVCU SVC2、SVC3 等。
2、視頻數(shù)據(jù)的重組與傳輸糾錯(cuò)數(shù)據(jù)的插入
步驟三,在視頻服務(wù)器中增加數(shù)據(jù)選取單元,以根據(jù)用戶(hù)下載帶寬狀況確定傳輸策略,例如是否傳輸增強(qiáng)層數(shù)據(jù),如果傳輸增強(qiáng)層數(shù)據(jù),其分辨率與幀率如何選擇等,此外,還可以根據(jù)帶寬情況與用戶(hù)側(cè)的丟包率確定FEC數(shù)據(jù)的插入位置。
步驟四,對(duì)SVC媒體文件中的視頻與音頻數(shù)據(jù)進(jìn)行拆分,并對(duì)滿(mǎn)足步驟三中確定的傳輸策略的數(shù)據(jù)進(jìn)行組合,把基本層數(shù)據(jù)和需要的增強(qiáng)層數(shù)據(jù)分成兩組,根據(jù)用戶(hù)下載帶寬狀況和丟包率在基本層或增強(qiáng)層中加入所需的FEC數(shù)據(jù)。例如,在丟包率達(dá)到30%以上并且用戶(hù)帶寬可以滿(mǎn)足基本層數(shù)據(jù)帶寬的情況下,可以將基本層的FEC數(shù)據(jù)添加在基本層編碼數(shù)據(jù)中用以抵抗丟包造成的影響;在丟包很少并且用戶(hù)帶寬滿(mǎn)足基本層數(shù)據(jù)帶寬的情況下,可以將基本層的FEC數(shù)據(jù)添加到增強(qiáng)層編碼數(shù)據(jù)中,優(yōu)先保證基本層數(shù)據(jù)的快速傳輸;在帶寬較寬裕的情況下(例如,高于設(shè)定的帶寬門(mén)限時(shí),或遠(yuǎn)大于基本層數(shù)據(jù)帶寬要求時(shí)),可以將基本層的FEC數(shù)據(jù)添加到基本層編碼數(shù)據(jù)中或增強(qiáng)層編碼數(shù)據(jù)中,這樣在發(fā)生丟包的時(shí)候可以有通過(guò)FEC糾錯(cuò)恢復(fù)基本層數(shù)據(jù)的機(jī)會(huì)。
步驟五,通過(guò)一定的帶寬分配比例向用戶(hù)發(fā)送基本層數(shù)據(jù)與增強(qiáng)層數(shù)據(jù),例如,在視頻播放開(kāi)始階段,可以先向用戶(hù)發(fā)送基本層數(shù)據(jù),這樣可以達(dá)到快速啟動(dòng)播放的目的,同時(shí)還可以預(yù)先緩存部分基本層數(shù)據(jù)以備網(wǎng)絡(luò)抖動(dòng)時(shí)使用,隨后如果網(wǎng)絡(luò)帶寬穩(wěn)定,可以在下載的前半階段優(yōu)先保證基本層數(shù)據(jù)的下載,分配一小部分網(wǎng)絡(luò)帶寬用于增強(qiáng)層數(shù)據(jù)的下載,以保證穩(wěn)定獲取基本層數(shù)據(jù)的前提下再獲取增強(qiáng)層數(shù)據(jù)。
此外,還可以在視頻增強(qiáng)層編碼數(shù)據(jù)中加入腳本數(shù)據(jù)流,例如,JavaScript形式的控制流,這樣控制流可以與視頻流同時(shí)傳輸?shù)接脩?hù)端,不僅提高了控制的實(shí)時(shí)性,而且還在一定程度上節(jié)省了網(wǎng)絡(luò)帶寬。
本領(lǐng)域普通技術(shù)人員可以理解,實(shí)現(xiàn)上述方法實(shí)施例的全部和部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)于一計(jì)算設(shè)備可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟,而前述的存儲(chǔ)介質(zhì)可以包括ROM、RAM、磁碟和光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
圖3是本發(fā)明多媒體信號(hào)傳輸裝置的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
如圖3所示,該實(shí)施例中的裝置300可以包括:
編碼單元301,用于對(duì)待傳輸?shù)亩嗝襟w信號(hào)進(jìn)行編碼,形成音頻編碼數(shù)據(jù)、視頻基本層編碼數(shù)據(jù)和視頻增強(qiáng)層編碼數(shù)據(jù),其中,視頻增強(qiáng)層可以為一個(gè)或多個(gè)(例如,二個(gè)以上),在視頻增強(qiáng)層為多個(gè)時(shí),每個(gè)視頻增強(qiáng)層對(duì)應(yīng)于不同的分辨率和幀率;
封裝單元302,與編碼單元相連,用于分別對(duì)音頻編碼數(shù)據(jù)、視頻基本層編碼數(shù)據(jù)和視頻增強(qiáng)層編碼數(shù)據(jù)進(jìn)行封裝;
數(shù)據(jù)選取單元303,與封裝單元相連,用于根據(jù)反饋的用戶(hù)帶寬確定待傳輸?shù)膬?nèi)容,并根據(jù)所確定的待傳輸?shù)膬?nèi)容從封裝后的數(shù)據(jù)中選擇待傳輸?shù)木幋a數(shù)據(jù),其中,待傳輸?shù)膬?nèi)容可以包括但不限于封裝后的音頻編碼數(shù)據(jù)和視頻基本層編碼數(shù)據(jù),如果用戶(hù)帶寬允許,待傳輸?shù)膬?nèi)容還可以包括封裝后的視頻增強(qiáng)層編碼數(shù)據(jù);
糾錯(cuò)插入單元304,與數(shù)據(jù)選取單元相連,用于根據(jù)反饋的用戶(hù)帶寬和用戶(hù)丟包率確定前向糾錯(cuò)數(shù)據(jù)的插入位置,并將前向糾錯(cuò)數(shù)據(jù)插入到相應(yīng)位置的編碼數(shù)據(jù)中,其中,前向糾錯(cuò)數(shù)據(jù)的插入位置可以包括視頻基本層編碼數(shù)據(jù)和視頻增強(qiáng)層編碼數(shù)據(jù),例如,在用戶(hù)丟包率大于設(shè)定的第一丟包率閾值并且用戶(hù)帶寬滿(mǎn)足視頻基本層編碼數(shù)據(jù)帶寬要求時(shí),將基本層的前向糾錯(cuò)數(shù)據(jù)插入到視頻基本層編碼數(shù)據(jù)中,在用戶(hù)丟包率小于設(shè)定的第二丟包率閾值并且用戶(hù)帶寬滿(mǎn)足視頻基本層編碼數(shù)據(jù)帶寬要求時(shí),將基本層的前向糾錯(cuò)數(shù)據(jù)插入到視頻增強(qiáng)層編碼數(shù)據(jù)中,在用戶(hù)帶寬大于視頻基本層編碼數(shù)據(jù)帶寬要求時(shí),將基本層的前向糾錯(cuò)數(shù)據(jù)插入到視頻基本層編碼數(shù)據(jù)中或視頻增強(qiáng)層編碼數(shù)據(jù)中;
比例確定單元305,與糾錯(cuò)插入單元相連,用于在待傳輸?shù)木幋a數(shù)據(jù)中包含視頻增強(qiáng)層編碼數(shù)據(jù)的情況下,根據(jù)傳輸時(shí)刻按比例傳輸各種編碼數(shù)據(jù),例如,比例確定單元可以在傳輸?shù)钠鹗紩r(shí)刻先向用戶(hù)傳輸視頻基本層編碼數(shù)據(jù),在傳輸?shù)那鞍攵螘r(shí)刻逐漸增大視頻增強(qiáng)層編碼數(shù)據(jù)的傳輸比例,在傳輸?shù)暮蟀攵螘r(shí)刻逐漸減小視頻基本層編碼數(shù)據(jù)的傳輸比例。
本說(shuō)明書(shū)中各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同和相似的部分可以相互參見(jiàn)。對(duì)于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處可以參見(jiàn)方法實(shí)施例部分的說(shuō)明。
本發(fā)明的上述實(shí)施例通過(guò)挖掘H.264-SVC編碼技術(shù)的特點(diǎn),基于媒體文件格式的封裝標(biāo)準(zhǔn)優(yōu)化了目前的視頻傳輸方式、封裝方法以及糾錯(cuò)機(jī)制,使得移動(dòng)視頻點(diǎn)播能夠最大化地適應(yīng)移動(dòng)網(wǎng)絡(luò)的不穩(wěn)定性,當(dāng)網(wǎng)絡(luò)中斷的時(shí)候因?yàn)榛緦訑?shù)據(jù)已經(jīng)優(yōu)先下載到了用戶(hù)端,所以仍然能夠繼續(xù)被解碼,使用戶(hù)體驗(yàn)達(dá)到最優(yōu)。
最后需要指出的是,本申請(qǐng)不僅適用于移動(dòng)網(wǎng)絡(luò),還適用于任何網(wǎng)絡(luò)帶寬受限的系統(tǒng),例如,固定網(wǎng)絡(luò)。
雖然已經(jīng)通過(guò)示例對(duì)本發(fā)明的一些特定實(shí)施例進(jìn)行了詳細(xì)說(shuō)明,但是本領(lǐng)域的技術(shù)人員應(yīng)該理解,以上示例僅是為了進(jìn)行說(shuō)明,而不是為了限制本發(fā)明的范圍。本領(lǐng)域的技術(shù)人員應(yīng)該理解,可在不脫離本發(fā)明的范圍和精神的情況下,對(duì)以上實(shí)施例進(jìn)行修改。本發(fā)明的范圍由所附權(quán)利要求來(lái)限定。
權(quán)利要求
1.一種多媒體信號(hào)傳輸方法,其特征在于,包括: 對(duì)待傳輸?shù)亩嗝襟w信號(hào)進(jìn)行編碼,形成音頻編碼數(shù)據(jù)、視頻基本層編碼數(shù)據(jù)和視頻增強(qiáng)層編碼數(shù)據(jù); 分別對(duì)所述音頻編碼數(shù)據(jù)、所述視頻基本層編碼數(shù)據(jù)和所述視頻增強(qiáng)層編碼數(shù)據(jù)進(jìn)行封裝; 根據(jù)反饋的用戶(hù)帶寬確定待傳輸?shù)膬?nèi)容,并根據(jù)所確定的待傳輸?shù)膬?nèi)容從封裝后的數(shù)據(jù)中選擇待傳輸?shù)木幋a數(shù)據(jù); 根據(jù)反饋的用戶(hù)帶寬和用戶(hù)丟包率確定前向糾錯(cuò)數(shù)據(jù)的插入位置,并將所述前向糾錯(cuò)數(shù)據(jù)插入到相應(yīng)位置的編碼數(shù)據(jù)中; 在待傳輸?shù)木幋a數(shù)據(jù)中包含視頻增強(qiáng)層編碼數(shù)據(jù)的情況下,根據(jù)傳輸時(shí)刻按比例傳輸各種編碼數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的多媒體信號(hào)傳輸方法,其特征在于,所述待傳輸?shù)膬?nèi)容包括封裝后的音頻編碼數(shù)據(jù)和視頻基本層編碼數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的多媒體信號(hào)傳輸方法,其特征在于,所述待傳輸?shù)膬?nèi)容還包括封裝后的視頻增強(qiáng)層編碼數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的多媒體信號(hào)傳輸方法,其特征在于,所述根據(jù)反饋的用戶(hù)帶寬和用戶(hù)丟包率確定前向糾錯(cuò)數(shù)據(jù)的插入位置的步驟包括: 在所述用戶(hù)丟包率大于設(shè)定的第一丟包率閾值并且所述用戶(hù)帶寬滿(mǎn)足視頻基本層編碼數(shù)據(jù)帶寬要求時(shí),將基本層的前向糾錯(cuò)數(shù)據(jù)插入到視頻基本層編碼數(shù)據(jù)中; 在所述用戶(hù)丟包率小于設(shè)定的第二丟包率閾值并且所述用戶(hù)帶寬滿(mǎn)足視頻基本層編碼數(shù)據(jù)帶寬要求時(shí),將基 本層的前向糾錯(cuò)數(shù)據(jù)插入到視頻增強(qiáng)層編碼數(shù)據(jù)中; 在所述用戶(hù)帶寬大于視頻基本層編碼數(shù)據(jù)帶寬要求時(shí),將基本層的前向糾錯(cuò)數(shù)據(jù)插入到視頻基本層編碼數(shù)據(jù)中或視頻增強(qiáng)層編碼數(shù)據(jù)中。
5.根據(jù)權(quán)利要求1所述的多媒體信號(hào)傳輸方法,其特征在于,所述根據(jù)傳輸時(shí)刻按比例傳輸各種編碼數(shù)據(jù)的步驟包括: 在傳輸?shù)钠鹗紩r(shí)刻先向所述用戶(hù)傳輸視頻基本層編碼數(shù)據(jù); 在傳輸?shù)那鞍攵螘r(shí)刻逐漸增大視頻增強(qiáng)層編碼數(shù)據(jù)的傳輸比例; 在傳輸?shù)暮蟀攵螘r(shí)刻逐漸減小視頻基本層編碼數(shù)據(jù)的傳輸比例。
6.根據(jù)權(quán)利要求1所述的多媒體信號(hào)傳輸方法,其特征在于,所述視頻增強(qiáng)層為一個(gè)或多個(gè),在所述視頻增強(qiáng)層為多個(gè)時(shí),每個(gè)視頻增強(qiáng)層對(duì)應(yīng)于不同的分辨率和幀率。
7.一種多媒體信號(hào)傳輸裝置,其特征在于,包括: 編碼單元,用于對(duì)待傳輸?shù)亩嗝襟w信號(hào)進(jìn)行編碼,形成音頻編碼數(shù)據(jù)、視頻基本層編碼數(shù)據(jù)和視頻增強(qiáng)層編碼數(shù)據(jù); 封裝單元,與所述編碼單元相連,用于分別對(duì)所述音頻編碼數(shù)據(jù)、所述視頻基本層編碼數(shù)據(jù)和所述視頻增強(qiáng)層編碼數(shù)據(jù)進(jìn)行封裝; 數(shù)據(jù)選取單元,與所述封裝單元相連,用于根據(jù)反饋的用戶(hù)帶寬確定待傳輸?shù)膬?nèi)容,并根據(jù)所確定的待傳輸?shù)膬?nèi)容從封裝后的數(shù)據(jù)中選擇待傳輸?shù)木幋a數(shù)據(jù); 糾錯(cuò)插入單元,與所述數(shù)據(jù)選取單元相連,用于根據(jù)反饋的用戶(hù)帶寬和用戶(hù)丟包率確定前向糾錯(cuò)數(shù)據(jù)的插入位置,并將所述前向糾錯(cuò)數(shù)據(jù)插入到相應(yīng)位置的編碼數(shù)據(jù)中;比例確定單元,與所述糾錯(cuò)插入單元相連,用于在待傳輸?shù)木幋a數(shù)據(jù)中包含視頻增強(qiáng)層編碼數(shù)據(jù)的情況下,根據(jù)傳輸時(shí)刻按比例傳輸各種編碼數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的多媒體信號(hào)傳輸裝置,其特征在于,所述待傳輸?shù)膬?nèi)容包括封裝后的音頻編碼數(shù)據(jù)和視頻基本層編碼數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的多媒體信號(hào)傳輸裝置,其特征在于,所述待傳輸?shù)膬?nèi)容還包括封裝后的視頻增強(qiáng)層編碼數(shù)據(jù)。
10.根據(jù)權(quán)利要求7所述的多媒體信號(hào)傳輸裝置,其特征在于,所述前向糾錯(cuò)數(shù)據(jù)的插入位置包括視頻基本層編碼數(shù)據(jù)和視頻增強(qiáng)層編碼數(shù)據(jù)。
11.根據(jù)權(quán)利要求7所述的多媒體信號(hào)傳輸裝置,其特征在于,所述比例確定單元在傳輸?shù)钠鹗紩r(shí)刻先向所述用戶(hù)傳輸視頻基本層編碼數(shù)據(jù),在傳輸?shù)那鞍攵螘r(shí)刻逐漸增大視頻增強(qiáng)層編碼數(shù)據(jù)的傳輸比例,在傳輸?shù)暮蟀攵螘r(shí)刻逐漸減小視頻基本層編碼數(shù)據(jù)的傳輸比例。
12.根據(jù)權(quán)利要求7所述的多媒體信號(hào)傳輸裝置,其特征在于,所述視頻增強(qiáng)層為一個(gè)或多個(gè),在所述視頻增強(qiáng)層為多個(gè)時(shí),每個(gè)視頻增強(qiáng)層對(duì)應(yīng)于不同的分辨率和幀率。
全文摘要
本發(fā)明公開(kāi)了一種多媒體信號(hào)傳輸方法和裝置。其中,該方法包括對(duì)待傳輸?shù)亩嗝襟w信號(hào)進(jìn)行編碼,形成音頻編碼數(shù)據(jù)、視頻基本層編碼數(shù)據(jù)和視頻增強(qiáng)層編碼數(shù)據(jù);分別對(duì)音頻編碼數(shù)據(jù)、視頻基本層編碼數(shù)據(jù)和視頻增強(qiáng)層編碼數(shù)據(jù)進(jìn)行封裝;根據(jù)反饋的用戶(hù)帶寬確定待傳輸?shù)膬?nèi)容,并根據(jù)待傳輸?shù)膬?nèi)容從封裝后的數(shù)據(jù)中選擇待傳輸?shù)木幋a數(shù)據(jù);根據(jù)反饋的用戶(hù)帶寬和用戶(hù)丟包率確定前向糾錯(cuò)數(shù)據(jù)的插入位置,并將前向糾錯(cuò)數(shù)據(jù)插入到相應(yīng)位置的編碼數(shù)據(jù)中;在待傳輸?shù)木幋a數(shù)據(jù)中包含視頻增強(qiáng)層編碼數(shù)據(jù)的情況下,根據(jù)傳輸時(shí)刻按比例傳輸各種編碼數(shù)據(jù)。本發(fā)明在網(wǎng)絡(luò)抖動(dòng)和丟包情況下保證視頻基本層數(shù)據(jù)優(yōu)先到達(dá)用戶(hù)端,保證點(diǎn)播視頻時(shí)抗網(wǎng)絡(luò)抖動(dòng)能力達(dá)到最強(qiáng)。
文檔編號(hào)H04N7/26GK103139559SQ20111038951
公開(kāi)日2013年6月5日 申請(qǐng)日期2011年11月30日 優(yōu)先權(quán)日2011年11月30日
發(fā)明者段保通, 黃石華 申請(qǐng)人:中國(guó)電信股份有限公司