專利名稱:一種動(dòng)態(tài)切入視頻碼流的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于視頻信息壓縮領(lǐng)域,具體涉及一種動(dòng)態(tài)切入視頻碼流的方法。
背景技術(shù):
隨著視頻編解碼技術(shù)和網(wǎng)絡(luò)流媒體技術(shù)的發(fā)展,目前很多的電影、 電視節(jié)目都是使用數(shù)字化壓縮編碼,然后通過有線或無線網(wǎng)絡(luò)進(jìn)行傳輸。
在視頻編解碼方面,有MPEG-2、 MPEG-4、 H.264和AVS等幾種國際 標(biāo)準(zhǔn)。在流媒體網(wǎng)絡(luò)傳輸方面,出現(xiàn)了很多使用P2P流媒體技術(shù)的網(wǎng)絡(luò) 電視,P2P可以使用戶連接更快,緩沖時(shí)間更短,具有連接越多,播放 越流暢的特性。
網(wǎng)絡(luò)電視的應(yīng)用越來越廣泛,針對(duì)網(wǎng)絡(luò)電視中的廣告需求也變得逐 步增多。但是很多網(wǎng)絡(luò)電視片源的制作,只是直接對(duì)衛(wèi)星電視信號(hào)進(jìn)行 采集編碼,生成目標(biāo)碼流,沒有經(jīng)過專門的非線性編輯,所以要在目標(biāo) 碼流中插入廣告的話,是比較困難的。目前, 一般的插播廣告的方法, 是找到目標(biāo)碼流中的I幀,然后把廣告視頻碼流插到目標(biāo)碼流的I幀之 前,這樣客戶端在播放完廣告碼流后,可以從I幀繼續(xù)播放目標(biāo)碼流。
但是,在目標(biāo)碼流的生成過程中,I幀的位置是不根據(jù)節(jié)目內(nèi)容變 化的,如果目標(biāo)碼流I幀位置不當(dāng),可能使得目標(biāo)碼流的節(jié)目情節(jié)被強(qiáng) 行打斷,影響觀眾的觀看感受。 一般來說,應(yīng)該根據(jù)目標(biāo)碼流節(jié)目的具 體內(nèi)容和情節(jié),把插播點(diǎn)放到合適的位置,使觀眾有更好的收視體驗(yàn)。
在中國專利《 一 種設(shè)置電視節(jié)目插播點(diǎn)的方法》 (CN200610065222.7)中,對(duì)于如何設(shè)置電視節(jié)目插播點(diǎn),提出了一種 比較有效的方法,但是其中并沒有考慮實(shí)際應(yīng)用中目標(biāo)碼流的情況,如 果插播點(diǎn)設(shè)置在目標(biāo)碼流的P幀之前,則會(huì)影響后續(xù)目標(biāo)碼流的解碼。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種動(dòng)態(tài)切入視頻碼流的方法,支 持在目標(biāo)碼流任意類型的幀前插入其他碼流,避免了碼流切換時(shí)對(duì)目標(biāo) 視頻碼流中關(guān)鍵幀的依賴,并且支持插入碼流的動(dòng)態(tài)替換,很好的支持 了類似廣告插播這樣的流媒體業(yè)務(wù)。為達(dá)到上述目的,本發(fā)明采用下述技術(shù)方案 一種動(dòng)態(tài)切入視頻碼流的方法,包括以下處理步驟
1) 在目標(biāo)碼流和切入碼流中分別設(shè)置碼流切換標(biāo)志,編碼端將帶切換 標(biāo)志的切入碼流合并到目標(biāo)碼流的切入位置中,構(gòu)成新碼流;
2) 編碼端將合并后的新碼流發(fā)送到解碼端;
3) 解碼端在解碼過程中動(dòng)態(tài)檢測(cè)碼流中切換標(biāo)志的狀態(tài),在解碼切入 碼流前緩存至少一個(gè)目標(biāo)碼流的參考幀數(shù)據(jù),在切入碼流解碼結(jié)束后根據(jù) 緩存中存儲(chǔ)的參考幀數(shù)據(jù)恢復(fù)目標(biāo)碼流的解碼。
優(yōu)選的,所述的切換標(biāo)志包括目標(biāo)碼流標(biāo)志、切入碼流標(biāo)志。
優(yōu)選的,所述的切換標(biāo)志為定長碼或者非定長碼。
優(yōu)選的,所述步驟l)具體包括以下處理過程
11) 分別初始化目標(biāo)碼流和切入碼流的切換標(biāo)志,目標(biāo)碼流的切換 標(biāo)志為目標(biāo)碼流標(biāo)志,切入碼流的切換標(biāo)志為切入碼流標(biāo)志;
12) 確定目標(biāo)碼流使用的最大參考幀數(shù)M;
13) 確定目標(biāo)碼流中的碼流切換位置;
14) 將帶切換標(biāo)志的切入碼流和目標(biāo)碼流進(jìn)行合并成新碼流。 優(yōu)選的,所述步驟3)具體包括以下處理過程-
31) 初始化解碼器;
32) 檢測(cè)碼流是否結(jié)束,如果沒有結(jié)束則進(jìn)入步驟33),否則退出;
33) 檢測(cè)碼流中切換標(biāo)志的狀態(tài),如果切換標(biāo)志為切入碼流標(biāo)志, 則進(jìn)入步驟34),否則,如果是目標(biāo)碼流,則進(jìn)入步驟37);
34) 檢測(cè)參考幀保存標(biāo)志,如果沒有保存參考幀,則進(jìn)入步驟35); 否則,進(jìn)入步驟36);
35) 在緩沖區(qū)中保存當(dāng)前目標(biāo)碼流的M個(gè)參考幀,并置保存標(biāo)志為 有效;
36) 解碼切入碼流的一幀數(shù)據(jù),然后進(jìn)入步驟32);
37) 檢測(cè)參考幀保存標(biāo)志,如果已保存則參考幀進(jìn)入步驟38), 否則進(jìn)入步驟39);38) 從緩沖區(qū)中恢復(fù)保存的M個(gè)參考幀,并復(fù)位參考幀保存標(biāo)志 為無效;
39) 解碼正常碼流的一幀數(shù)據(jù),然后進(jìn)入步驟32)。
本發(fā)明提出的的動(dòng)態(tài)切入視頻碼流的方法,支持使用一個(gè)解碼器進(jìn) 行若干個(gè)碼流的串行處理,只需對(duì)現(xiàn)有的視頻編解碼進(jìn)行很少的改動(dòng)。 對(duì)類似廣告插播這樣的業(yè)務(wù)具有很好的支持作用。
圖1是本發(fā)明動(dòng)態(tài)切入視頻碼流的方法在編碼端的處理流程圖; 圖2是本發(fā)明動(dòng)態(tài)切入視頻碼流的方法在解碼端的處理流程圖。
具體實(shí)施例方式
下面結(jié)合附圖給出實(shí)施例,對(duì)本技術(shù)方案作進(jìn)一步的詳細(xì)描述。 如圖1所示,在編碼端的具體處理過程如下
第一步分別初始化目標(biāo)碼流和切入碼流的切換標(biāo)志,在這里可以 使用定長碼進(jìn)行表示,也可以使用不定長碼。假設(shè)使用"0"表示目標(biāo) 碼流標(biāo)志,"1"表示切入碼流標(biāo)志;
第二步針對(duì)不同的視頻編碼標(biāo)準(zhǔn),得到其使用的最大參考幀數(shù)M; 假設(shè)這里M等于2;
第三步在目標(biāo)碼流中選定需要進(jìn)行碼流切換的切入位置,以整幀 為單位,假設(shè)為第N幀;
第四步將切入碼流和目標(biāo)碼流進(jìn)行合并,生成新碼流。
然后將編碼端生成的新碼流數(shù)據(jù)傳送到解碼端,如圖2所示為在解 碼端的具體處理過程
第一步初始化解碼器,進(jìn)入第二步;
第二步檢測(cè)碼流是否結(jié)束,如果沒有結(jié)束則進(jìn)入第三步;否則退
出;
第三步檢測(cè)碼流中切換標(biāo)志的狀態(tài),如果標(biāo)識(shí)為切入碼流,則進(jìn) 入第四步;否則,如果是正常碼流,則進(jìn)入第七步;
第四步檢測(cè)參考幀保存標(biāo)志,如果沒有保存,則進(jìn)入第五步;否 貝U,進(jìn)入第六步;第五步保存當(dāng)前緩沖區(qū)中的M個(gè)參考幀(本實(shí)施例中為2個(gè)參考
幀),并置保存標(biāo)志為有效;
第六步解碼切入碼流的一幀數(shù)據(jù),然后進(jìn)入第二步;
第七步檢測(cè)參考幀保存標(biāo)志,如果有保存則進(jìn)入第八步;否則進(jìn)
入第九步;
第八步恢復(fù)保存的M個(gè)參考幀(本實(shí)施例中為2個(gè)參考幀),并 復(fù)位參考幀保存標(biāo)志為無效;
第九步解碼正常碼流的一幀數(shù)據(jù),然后進(jìn)入第二步。
以上內(nèi)容是結(jié)合具體的優(yōu)選實(shí)施方式對(duì)本發(fā)明所作的進(jìn)一步詳細(xì)說 明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說明。對(duì)于本發(fā)明所屬技術(shù) 領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若 干簡(jiǎn)單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。
權(quán)利要求
1. 一種動(dòng)態(tài)切入視頻碼流的方法,其特征在于,所述方法包括以下處理步驟1)在目標(biāo)碼流和切入碼流中分別設(shè)置碼流切換標(biāo)志,編碼端將帶切換標(biāo)志的切入碼流合并到目標(biāo)碼流的切入位置中,構(gòu)成新碼流;2)編碼端將合并后的新碼流發(fā)送到解碼端;3)解碼端在解碼過程中動(dòng)態(tài)檢測(cè)碼流中切換標(biāo)志的狀態(tài),在解碼切入碼流前緩存至少一個(gè)目標(biāo)碼流的參考幀數(shù)據(jù),在切入碼流解碼結(jié)束后根據(jù)緩存中存儲(chǔ)的參考幀數(shù)據(jù)恢復(fù)目標(biāo)碼流的解碼。
2. 根據(jù)權(quán)利要求1所述的動(dòng)態(tài)切入視頻碼流的方法,其特征在于,所 述的切換標(biāo)志包括目標(biāo)碼流標(biāo)志、切入碼流標(biāo)志。
3. 根據(jù)權(quán)利要求2所述的動(dòng)態(tài)切入視頻碼流的方法,其特征在于,所 述的切換標(biāo)志為定長碼或者非定長碼。
4. 根據(jù)權(quán)利要求2所述的動(dòng)態(tài)切入視頻碼流的方法,其特征在于,所 述步驟l)具體包括以下處理過程11) 分別初始化目標(biāo)碼流和切入碼流的切換標(biāo)志,目標(biāo)碼流的切換 標(biāo)志為目標(biāo)碼流標(biāo)志,切入碼流的切換標(biāo)志為切入碼流標(biāo)志;12) 確定目標(biāo)碼流使用的最大參考幀數(shù)M;13) 確定目標(biāo)碼流中的碼流切換位置;14) 將帶切換標(biāo)志的切入碼流和目標(biāo)碼流進(jìn)行合并成新碼流。
5. 根據(jù)權(quán)利要求4所述的動(dòng)態(tài)切入視頻碼流的方法,其特征在于,所述步驟3)具體包括以下處理過程31) 初始化解碼器;32) 檢測(cè)碼流是否結(jié)束,如果沒有結(jié)束則進(jìn)入步驟33),否則退出;33) 檢測(cè)碼流中切換標(biāo)志的狀態(tài),如果切換標(biāo)志為切入碼流標(biāo)志,則進(jìn)入步驟34),否則,如果是目標(biāo)碼流,則進(jìn)入步驟37);34) 檢測(cè)參考幀保存標(biāo)志,如果沒有保存參考幀,則進(jìn)入步驟35); 否則,進(jìn)入步驟36);35) 在緩沖區(qū)中保存當(dāng)前目標(biāo)碼流的M個(gè)參考幀,并置保存標(biāo)志為 有效;36) 解碼切入碼流的一幀數(shù)據(jù),然后進(jìn)入步驟32);37) 檢測(cè)參考幀保存標(biāo)志,如果已保存則參考幀進(jìn)入步驟38), 否則進(jìn)入步驟39);38) 從緩沖區(qū)中恢復(fù)保存的M個(gè)參考幀,并復(fù)位參考幀保存標(biāo)志 為無效;39) 解碼正常碼流的一幀數(shù)據(jù),然后進(jìn)入步驟32)。
全文摘要
本發(fā)明公開了一種動(dòng)態(tài)切入視頻碼流的方法,包括以下處理步驟1)在目標(biāo)碼流和切入碼流中分別設(shè)置碼流切換標(biāo)志,編碼端將帶切換標(biāo)志的切入碼流合并到目標(biāo)碼流的切入位置中,構(gòu)成新碼流;2)編碼端將合并后的新碼流發(fā)送到解碼端;3)解碼端在解碼過程中動(dòng)態(tài)檢測(cè)碼流中切換標(biāo)志的狀態(tài),在解碼切入碼流前緩存至少一個(gè)目標(biāo)碼流的參考幀數(shù)據(jù),在切入碼流解碼結(jié)束后根據(jù)緩存中存儲(chǔ)的參考幀數(shù)據(jù)恢復(fù)目標(biāo)碼流的解碼。本發(fā)明的方法支持在目標(biāo)碼流任意類型的幀前插入其他碼流,避免了碼流切換時(shí)對(duì)目標(biāo)視頻碼流中關(guān)鍵幀的依賴,并且支持插入碼流的動(dòng)態(tài)替換,很好的支持了類似廣告插播這樣的流媒體業(yè)務(wù)。
文檔編號(hào)H04N7/24GK101287114SQ20081006750
公開日2008年10月15日 申請(qǐng)日期2008年5月27日 優(yōu)先權(quán)日2008年5月27日
發(fā)明者梁立偉, 寧 王, 睿 陳 申請(qǐng)人:中興通訊股份有限公司