本發(fā)明屬于通信技術(shù)領(lǐng)域,尤其涉及一種在接收端的流媒體數(shù)據(jù)的處理方法及系統(tǒng)、電視終端。
背景技術(shù):
目前,一般的流媒體數(shù)據(jù)的傳輸分為兩種情況:一種是將音視頻數(shù)據(jù)進行交織傳輸,一種是音視頻數(shù)據(jù)分開進行傳輸。但是無論哪種情況,都會因為視頻數(shù)據(jù)占用較大的帶寬和對終端的處理能力要求較高,在一定程度上會影響用戶的體驗。音視頻播放效果受限于采樣圖像的上傳速度以及采樣數(shù)據(jù)的遞交成功率。采樣的部分數(shù)據(jù)可能無法及時發(fā)送到網(wǎng)絡(luò)上而被丟棄,或者數(shù)據(jù)報在傳輸過程中由于信道噪聲的干擾而產(chǎn)生錯誤被路由器或交換機丟棄或者先發(fā)送的數(shù)據(jù)后到達而被丟棄,這樣就導(dǎo)致接收端收到的是不完整的數(shù)據(jù),于是出現(xiàn)不同程度的花屏和卡屏。
現(xiàn)有技術(shù)中,常見的H.264編碼將采樣的圖像分為幀內(nèi)編碼幀、前向預(yù)測編碼幀、雙向預(yù)測內(nèi)插值編碼幀。幀內(nèi)編碼幀就是關(guān)鍵幀,接收端收到數(shù)據(jù)后解碼時只需要本幀數(shù)據(jù)就可以完成。而其他兩種統(tǒng)稱為非關(guān)鍵幀,非關(guān)鍵幀的解碼需要關(guān)鍵幀的參與。當(dāng)解碼時如果關(guān)鍵幀丟失會導(dǎo)致該關(guān)鍵幀所屬的圖像組(GOP)的圖像出現(xiàn)模糊,即花屏。如果丟棄缺失關(guān)鍵幀的圖像組,那么該時間段內(nèi)沒有新的圖像出現(xiàn),會導(dǎo)致卡屏??ㄆ梁突ㄆ猎趲捠芟薜臈l件下無法完全避免,在這種情形下,在接收端如何處理丟失關(guān)鍵幀部分缺失的圖像組,來達到卡屏與花屏的平衡,使得播放更流暢是本發(fā)明要解決的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種在接收端的流媒體數(shù)據(jù)的處理方法及系統(tǒng)、電視終端,旨在解決現(xiàn)有技術(shù)中因流媒體數(shù)據(jù)在傳輸過程中因丟失關(guān)鍵幀而造成播放卡屏的問題。
本發(fā)明實施例是這樣實現(xiàn)的,一種在接收端的流媒體數(shù)據(jù)的處理方法,包括:
按預(yù)設(shè)時間長度對接收的流媒體數(shù)據(jù)進行分段,獲得兩段以上流媒體數(shù)據(jù),每一段所述流媒體數(shù)據(jù)包括兩個以上圖像組,每一所述圖像組包括兩個以上圖像幀;
解碼一圖像幀,獲得解碼數(shù)據(jù);
基于所述解碼數(shù)據(jù)判斷所述圖像幀是否為關(guān)鍵幀;
當(dāng)所述圖像幀為關(guān)鍵幀時,基于所述圖像幀的完整度來判斷是否需要丟幀處理;
當(dāng)所述圖像幀為非關(guān)鍵幀時,基于所述圖像幀所在的圖像組的有效關(guān)鍵幀的數(shù)量來判斷所述圖像幀是否有效。
優(yōu)選地,所述當(dāng)所述圖像幀為關(guān)鍵幀時,基于所述圖像幀的完整度來判斷是否需要丟幀處理具體包括:
在所述關(guān)鍵幀所在的時間段中,記錄關(guān)鍵幀的數(shù)量加1;
基于所述圖像幀的完整度判斷所述圖像幀是否為有效關(guān)鍵幀;
當(dāng)所述圖像幀為無效關(guān)鍵幀時,計算所述圖像幀所在時間段的流媒體數(shù)據(jù)的流暢度;
基于所計算的流暢度來確認是否需要丟幀處理。
優(yōu)選地,所述基于所述圖像幀的完整度判斷所述圖像幀是否為有效關(guān)鍵幀具體包括:
基于所述圖像幀的大小計算所述圖像幀的完整度;
基于所述圖像幀所在時間段的每一關(guān)鍵幀的完整度計算所述圖像幀所在時間段的關(guān)鍵幀的加權(quán)完整度;
基于所述圖像幀的完整度及所計算的加權(quán)完整度判斷所述圖像幀是否為有效關(guān)鍵幀。
優(yōu)選地,所述基于所述圖像幀的完整度及所計算的加權(quán)完整度判斷所述圖像幀是否為有效關(guān)鍵幀具體包括:
判斷所述圖像幀的完整度是否小于所述關(guān)鍵幀的加權(quán)完整度;
當(dāng)所述圖像幀的完整度小于所述關(guān)鍵幀的加權(quán)完整度時,確認所述圖像幀為無效關(guān)鍵幀;
當(dāng)所述圖像幀的完整度不小于所述關(guān)鍵幀的加權(quán)完整度時,確認所述圖像幀為有效關(guān)鍵幀。
優(yōu)選地,所述當(dāng)所述圖像幀為無效關(guān)鍵幀時,計算所述圖像幀所在時間段的流媒體的流暢度具體為:
基于流暢度公式計算所述圖像幀所在時間段的流媒體數(shù)據(jù)的流暢度,所述流暢度公式為:流暢度=所述圖像幀所在時間段的有效關(guān)鍵幀的數(shù)量/關(guān)鍵幀的數(shù)量。
優(yōu)選地,所述基于所計算的流暢度來確認是否需要丟幀處理具體包括:
判斷所計算的流暢度是否小于流暢度閾值;
當(dāng)所計算的流暢度不小于所述流暢度閾值時,丟棄所述圖像幀;
當(dāng)所計算的流暢度小于所述流暢度閾值時,基于所述圖像幀的可播放度來確定所述圖像幀是否可播放。
優(yōu)選地,所述基于所述圖像幀的可播放度來確定所述圖像幀是否可播放具體包括:
計算所述圖像幀的可播放度;
判斷所計算的可播放度是否小于可播放度閾值;
當(dāng)所計算的可播放度是否小于可播放度閾值時,將所述圖像幀標記為不可播放;
當(dāng)所計算的可播放度是否不小于可播放度閾值時,確認所述圖像幀為有效關(guān)鍵幀,記錄有效關(guān)鍵幀的數(shù)量加1,將所述圖像幀標記為可播放。
優(yōu)選地,所述當(dāng)所述圖像幀為非關(guān)鍵幀時,基于所述圖像幀所在的圖像組是否存在有效關(guān)鍵幀來判斷所述圖像幀是否有效具體包括:
記錄非關(guān)鍵幀的數(shù)量加1;
判斷所述圖像幀所在圖像組是否存在有效關(guān)鍵幀;
當(dāng)存在時,確認所述圖像幀為有效非關(guān)鍵幀;
當(dāng)不存在時,標記所述圖像幀不可播放。
本發(fā)明還提供一種在接收端的流媒體數(shù)據(jù)的處理系統(tǒng),包括:
分段處理模塊,用于按預(yù)設(shè)時間長度對接收的流媒體數(shù)據(jù)進行分段,獲得兩段以上流媒體數(shù)據(jù),每一段所述流媒體數(shù)據(jù)包括兩個以上圖像組,每一所述圖像組包括兩個以上圖像幀;
解碼模塊,用于解碼一圖像幀,獲得解碼數(shù)據(jù);
關(guān)鍵幀判斷模塊,用于基于所述解碼數(shù)據(jù)判斷所述圖像幀是否為關(guān)鍵幀;
關(guān)鍵幀處理模塊,用于基于圖像幀的完整度來判斷是否需要丟幀處理;
非關(guān)鍵幀處理模塊,用于基于圖像幀所在的圖像組的有效關(guān)鍵幀的數(shù)量來判斷圖像幀是否有效。
本發(fā)明還提供一種電視終端,所述電視終端包括一種在接收端的流媒體數(shù)據(jù)的處理系統(tǒng),所述處理系統(tǒng)包括:
分段處理模塊,用于按預(yù)設(shè)時間長度對接收的流媒體數(shù)據(jù)進行分段,獲得兩段以上流媒體數(shù)據(jù),每一段所述流媒體數(shù)據(jù)包括兩個以上圖像組,每一所述圖像組包括兩個以上圖像幀;
解碼模塊,用于解碼一圖像幀,獲得解碼數(shù)據(jù);
關(guān)鍵幀判斷模塊,用于基于所述解碼數(shù)據(jù)判斷所述圖像幀是否為關(guān)鍵幀;
關(guān)鍵幀處理模塊,用于基于圖像幀的完整度來判斷是否需要丟幀處理;
非關(guān)鍵幀處理模塊,用于基于圖像幀所在的圖像組的有效關(guān)鍵幀的數(shù)量來判斷圖像幀是否有效。
在本發(fā)明實施例中,接收端接收到流媒體數(shù)據(jù)之后,對流媒體數(shù)據(jù)進行分段,對每一段的圖像幀進行分析,當(dāng)該圖像幀為關(guān)鍵幀時,基于關(guān)鍵幀的完整度來進行相應(yīng)的處理,當(dāng)該圖像幀為非關(guān)鍵幀時,基于其所在圖像組的有效關(guān)鍵幀數(shù)量來確認該圖像幀是否有效,可提高流媒體播放的流暢性。
附圖說明
圖1是本發(fā)明第一實施例提供的一種在接收端的流媒體數(shù)據(jù)的處理方法的流程圖;
圖2是本發(fā)明第一實施例提供的一種在接收端的流媒體數(shù)據(jù)的處理方法的步驟S4的具體流程圖;
圖3是本發(fā)明第一實施例提供的一種在接收端的流媒體數(shù)據(jù)的處理方法的步驟S42的具體流程圖;
圖4是本發(fā)明第一實施例提供的一種在接收端的流媒體數(shù)據(jù)的處理方法的步驟S43的具體流程圖;
圖5是本發(fā)明第一實施例提供的一種在接收端的流媒體數(shù)據(jù)的處理方法的步驟S432的具體流程圖;
圖6是本發(fā)明第一實施例提供的一種在接收端的流媒體數(shù)據(jù)的處理方法的步驟S5的具體流程圖;
圖7是本發(fā)明第二實施例提供的一種在接收端的流媒體數(shù)據(jù)的處理系統(tǒng)的結(jié)構(gòu)圖;
圖8是本發(fā)明第二實施例提供的一種在接收端的流媒體數(shù)據(jù)的處理系統(tǒng)的關(guān)鍵幀處理模塊4的具體結(jié)構(gòu)圖;
圖9是本發(fā)明第二實施例提供的一種在接收端的流媒體數(shù)據(jù)的處理系統(tǒng)的完整度判斷單元42的具體結(jié)構(gòu)圖;
圖10是本發(fā)明第二實施例提供的一種在接收端的流媒體數(shù)據(jù)的處理系統(tǒng)的關(guān)鍵幀處理單元43的具體結(jié)構(gòu)圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明實施例中,一種在接收端的流媒體數(shù)據(jù)的處理方法,包括:按預(yù)設(shè)時間長度對接收的流媒體數(shù)據(jù)進行分段,獲得兩段以上流媒體數(shù)據(jù),每一段所述流媒體數(shù)據(jù)包括兩個以上圖像組,每一所述圖像組包括兩個以上圖像幀;解碼一圖像幀,獲得解碼數(shù)據(jù);基于所述解碼數(shù)據(jù)判斷所述圖像幀是否為關(guān)鍵幀;當(dāng)所述圖像幀為關(guān)鍵幀時,基于所述圖像幀的完整度來判斷是否需要丟幀處理;當(dāng)所述圖像幀為非關(guān)鍵幀時,基于所述圖像幀所在的圖像組的有效關(guān)鍵幀的數(shù)量來判斷所述圖像幀是否有效。
為了說明本發(fā)明所述的技術(shù)方案,下面通過具體實施例來進行說明。
實施例一:
圖1示出了本發(fā)明第一實施例提供的一種在接收端的流媒體數(shù)據(jù)的處理方法的流程圖,包括:
步驟S1、按預(yù)設(shè)時間長度對接收的流媒體數(shù)據(jù)進行分段,獲得兩段以上流媒體數(shù)據(jù);
具體地,接收端接收到流媒體數(shù)據(jù)后,需要對流媒體數(shù)據(jù)進行分段處理,按預(yù)設(shè)時間長度對接收的流媒體數(shù)據(jù)進行分段,形成兩段以上流媒體數(shù)據(jù),每一段流媒體數(shù)據(jù)包括兩個以上圖像組,而每一圖像組包括兩個以上的圖像幀,該流媒體數(shù)據(jù)攜帶每一圖像幀的類型、發(fā)送端發(fā)出的對應(yīng)圖像幀的大小、接收端接收到的該圖像幀的大小,所述圖像幀的類型包括圖像幀為關(guān)鍵幀或者非關(guān)鍵幀的標記,而每一圖像組包括一個關(guān)鍵幀及至少一個非關(guān)鍵幀,所述預(yù)設(shè)時間長度可根據(jù)實際情況而設(shè),此處對此不作限制。進一步地,流媒體數(shù)據(jù)有對應(yīng)的播放時長,根據(jù)預(yù)設(shè)時間長度對該播放時長進行分段處理,得到兩段以上時間段,該時間段對應(yīng)一段流媒體數(shù)據(jù)。
步驟S2、解碼一圖像幀,獲得解碼數(shù)據(jù);
具體地,逐一對每一接收的圖像幀進行解碼,獲得對應(yīng)的解碼數(shù)據(jù),該解碼數(shù)據(jù)包括圖像幀的屬性、發(fā)送端發(fā)出的對應(yīng)圖像幀的大小、接收端接收到的該圖像幀的大小,所述圖像幀的屬性包括圖像幀為關(guān)鍵幀或者非關(guān)鍵幀的標記。
步驟S3、基于解碼數(shù)據(jù)判斷圖像幀是否為關(guān)鍵幀;
具體地,對圖像幀進行解碼后,基于解碼數(shù)據(jù)判斷該圖像幀是否為關(guān)鍵幀,由于解碼數(shù)據(jù)攜帶圖像幀的相關(guān)信息,例如類型,基于該圖像幀的類型可判斷其是否為關(guān)鍵幀,當(dāng)該圖像幀是關(guān)鍵幀時,轉(zhuǎn)到步驟S4,否則轉(zhuǎn)到步驟S5;
步驟S4、基于圖像幀的完整度來判斷是否需要丟幀處理;
具體地,當(dāng)該圖像幀屬于關(guān)鍵幀時,需要記錄關(guān)鍵幀的數(shù)量,本實施例中,會記錄每一時間段的關(guān)鍵幀及非關(guān)鍵幀的數(shù)量、每一圖像組的關(guān)鍵幀、非關(guān)鍵幀的數(shù)量,此時當(dāng)該圖像幀為關(guān)鍵幀時,在該圖像幀所在時間段的關(guān)鍵幀數(shù)量記錄中加1,而在該圖像幀所在圖像組中關(guān)鍵幀的數(shù)量記錄也加1,然后基于圖像幀的完整度來判斷是否需要丟幀處理。
步驟S5、基于圖像幀所在的圖像組的有效關(guān)鍵幀的數(shù)量來判斷圖像幀是否有效。
具體地,當(dāng)該圖像幀為非關(guān)鍵幀時,在該圖像幀所在時間段,記錄非關(guān)鍵幀的數(shù)量加1,在該圖像幀所在圖像組記錄非關(guān)鍵幀的數(shù)量加1,基于該圖像幀所在圖像組的有效關(guān)鍵幀數(shù)量來判斷是否可播放該圖像幀。
在本實施例的一個優(yōu)選方案中,在步驟S1之前還可包括:
步驟S0、接收流媒體數(shù)據(jù);
具體地,接收端接收發(fā)送端或者數(shù)據(jù)源發(fā)送的流媒體數(shù)據(jù)。
本實施例中,接收端接收到流媒體數(shù)據(jù)之后,對流媒體數(shù)據(jù)進行分段,對每一段的圖像幀進行分析,當(dāng)該圖像幀為關(guān)鍵幀時,基于關(guān)鍵幀的完整度來進行相應(yīng)的處理,當(dāng)該圖像幀為非關(guān)鍵幀時,基于其所在圖像組的有效關(guān)鍵幀數(shù)量來確認該圖像幀是否有效,可提供流媒體播放的流暢性。
在本實施例的一個優(yōu)選方案中,如圖2所示,為本發(fā)明第一實施例提供的一種在接收端的流媒體數(shù)據(jù)的處理方法的步驟S4的具體流程圖,該步驟S4包括:
步驟S41、記錄關(guān)鍵幀所在的時間段中,關(guān)鍵幀的數(shù)量加1;
具體地,在該關(guān)鍵幀所在的時間段中,記錄關(guān)鍵幀的數(shù)量加1,且在該關(guān)鍵幀所在的圖像組中記錄關(guān)鍵幀的數(shù)量加1。
步驟S42、基于圖像幀的完整度判斷圖像幀是否為有效關(guān)鍵幀;
具體地,可根據(jù)圖像幀的完整度來判斷其是否為有效關(guān)鍵幀,當(dāng)該圖像幀為有效關(guān)鍵幀時,轉(zhuǎn)到步驟S43,否則轉(zhuǎn)到步驟S44;
步驟S43、根據(jù)該圖像幀所在時間段的流媒體的流暢度來確認是否需要丟幀處理;
步驟S44、記錄有效關(guān)鍵幀的數(shù)量加1;
具體地,在該圖像幀所在的時間段記錄有效關(guān)鍵幀數(shù)量加1,并在該圖像幀所在圖像組中標記該圖像幀為有效關(guān)鍵幀,可播放。
在本實施例的一個優(yōu)選方案中,如圖3所示,為本發(fā)明第一實施例提供的一種在接收端的流媒體數(shù)據(jù)的處理方法的步驟S42的具體流程圖,該步驟S42包括:
步驟S421、基于圖像幀的大小計算圖像幀的完整度;
具體地,在數(shù)據(jù)傳輸過程中,接收端接收的圖像幀的大小與發(fā)送端發(fā)送的圖像幀的大小可能不一致,即傳輸過程可能會出現(xiàn)數(shù)據(jù)丟失,該圖像幀的完整度為接收端接收的圖像幀的大小與發(fā)送端發(fā)送的圖像幀的大小(即圖像幀原本的大小)之間的比值。
步驟S422、基于圖像幀所在時間段的每一關(guān)鍵幀的完整度計算圖像幀所在時間段的關(guān)鍵幀的加權(quán)完整度;
具體地,由于在一個時間段內(nèi),可包括兩個以上關(guān)鍵幀,加權(quán)完整度計算過程為:采用加權(quán)完整度公式來計算該加權(quán)完整度,該加權(quán)完整度公式為:
其中,所述p為當(dāng)前關(guān)鍵幀(即當(dāng)圖像幀為關(guān)鍵幀時)的權(quán)重,m為當(dāng)前圖像幀所在時間段記錄的其他關(guān)鍵幀的數(shù)量,i為當(dāng)前關(guān)鍵幀所在時間段的其他任一關(guān)鍵幀,Wi為當(dāng)前圖像幀所在時間段記錄的其他關(guān)鍵幀對應(yīng)的完整度,Wd為當(dāng)前圖像幀的完整度,所述當(dāng)前關(guān)鍵幀的權(quán)重可根據(jù)實際情況而設(shè),例如可謂0.5、0.8等,此處對此不作限制。
步驟S423、基于圖像幀的完整度及所計算的加權(quán)完整度判斷圖像幀是否為有效關(guān)鍵幀。
具體地,計算出該圖像幀的完整度及加權(quán)完整度后,將二者進行比較,當(dāng)圖像幀的完整度小于該圖像幀所在時間段的關(guān)鍵幀的加權(quán)完整度時,表示該圖像幀為無效關(guān)鍵幀,轉(zhuǎn)到步驟S43;當(dāng)不小于(大于或等于)時,表示該圖像幀為有效關(guān)鍵幀,轉(zhuǎn)到步驟S44。
在本實施例的一個優(yōu)選方案中,如圖4所示,為本發(fā)明第一實施例提供的一種在接收端的流媒體數(shù)據(jù)的處理方法的步驟S43的具體流程圖,該步驟S43包括:
步驟S431、計算圖像幀所在時間段的流媒體數(shù)據(jù)的流暢度;
具體地,根據(jù)流暢度公式來計算該圖像幀所在時間段的流媒體數(shù)據(jù)的流暢度,該流暢度公式為:L=NY/NG,其中,L為流暢度,該NY為該關(guān)鍵幀所在時間段的有效關(guān)鍵幀的數(shù)量,NG為該關(guān)鍵幀所在時間段的關(guān)鍵幀的數(shù)量。
步驟S432、基于所計算的流暢度來確認是否需要丟幀處理;
具體地,將所計算的流暢度與流暢度閾值進行比較,當(dāng)所計算的流暢度小于流暢度閾值時,表示當(dāng)前時間段的流媒體數(shù)據(jù)的播放流暢度不好,當(dāng)所計算的流暢度大于或等于流暢度閾值時,表示當(dāng)前時間段的流媒體數(shù)據(jù)播放的流暢度較好。
在本實施例的一個優(yōu)選方案中,如圖5所示,為本發(fā)明第一實施例提供的一種在接收端的流媒體數(shù)據(jù)的處理方法的步驟S432的具體流程圖,該步驟S432包括:
步驟S4321、判斷所計算的流暢度是否小于流暢度閾值;
具體地,判斷所計算的流暢度是否小于流暢度閾值,當(dāng)小于時,轉(zhuǎn)到步驟S4322,當(dāng)不小于時轉(zhuǎn)到步驟S4323;
步驟S4322、丟棄該圖像幀;
具體地,當(dāng)所計算的流暢度大于或等于流暢度閾值時,表示當(dāng)前時間段的播放流暢度,圖片幀的連續(xù)性較好,無須關(guān)注該圖像幀,可對該圖像幀作丟幀處理,不會對播放質(zhì)量產(chǎn)生明顯影響,將該圖像幀標為不可播放。
步驟S4323、基于圖像幀的可播放度來確定圖像幀是否可播放。
具體地,當(dāng)所計算的流暢度小于流暢度閾值時,表示當(dāng)前播放的圖像幀連續(xù)性不好,需要進一步確認是否播放該圖像幀,可通過該圖像幀的可播放度來確認。
進一步地,該步驟S4323具體包括:
計算該圖像幀的可播放度;
具體地,根據(jù)可播放度公式來計算,該可播放度公式為:可播放度=當(dāng)前圖像幀的權(quán)重*當(dāng)前圖像幀的完整度+流暢度權(quán)重*當(dāng)前圖像幀所在時間段的流媒體數(shù)據(jù)的流暢度+連續(xù)度權(quán)重*當(dāng)前圖像幀所在時間段的流媒體數(shù)據(jù)的連續(xù)度,其中,上述當(dāng)前圖像幀的權(quán)重、流暢度權(quán)重及連續(xù)度權(quán)重可根據(jù)實際情況提前設(shè)置,此處對此不作限制。
優(yōu)選地,上述當(dāng)前圖像幀所在時間段的流媒體數(shù)據(jù)的連續(xù)度可根據(jù)連續(xù)度公式來計算,該連續(xù)度公式為:連續(xù)度=圖像幀所在時間段的有效幀的完整度之和/圖像幀所在時間段的有效幀的數(shù)量,其中,該有效幀包括有效關(guān)鍵幀及有效非關(guān)鍵幀。
判斷所計算的可播放度是否小于可播放度閾值;
具體地,將所計算的可播放度與可播放度閾值進行比較,該可播放度閾值根據(jù)實際情況而設(shè),此處對此不作限制;
當(dāng)所計算的可播放度小于該可播放度閾值時,表示該圖像幀不可播放,將該圖像幀標記為不可播放,后續(xù)可對其作丟幀處理;
當(dāng)所計算的可播放度不小于該可播放度閾值時,表示該圖像幀具有一定的可播放性,將該圖像幀標記為可播放,定義該圖像幀為有效關(guān)鍵幀,在圖像幀所在時間段記錄有效關(guān)鍵幀數(shù)量加1。
在本實施例的一個優(yōu)選方案中,如圖6所示,為本本發(fā)明第一實施例提供的一種在接收端的流媒體數(shù)據(jù)的處理方法的步驟S5的具體流程圖,該步驟S5包括:
步驟S51、記錄非關(guān)鍵幀的數(shù)量加1;
具體地,在該圖像幀所在的時間端,記錄非關(guān)鍵幀的數(shù)量加1,在該圖像幀所在的圖像組,記錄非關(guān)鍵幀的數(shù)量加1;
步驟S52、判斷圖像幀所在圖像組是否存在有效關(guān)鍵幀;
具體地,分析圖像幀所在的圖像組,判斷該圖像組中是否存在有效關(guān)鍵幀,當(dāng)判斷為是時,轉(zhuǎn)到步驟S53,否則轉(zhuǎn)到步驟S54;
步驟S53、確認圖像幀為有效非關(guān)鍵幀;
具體地,若該圖像組中存在有效非關(guān)鍵幀,則確認該圖像幀為有效非關(guān)鍵幀,將該圖像幀標記為有效非關(guān)鍵幀,在該圖像幀所在時間段記錄有效非關(guān)鍵幀的數(shù)量加1;且在該圖像組中記錄有效非關(guān)鍵幀的數(shù)量也加1。
步驟S53、標記該圖像幀不可播放;
具體地,若該圖像組中不存在有效關(guān)鍵幀,則確認該圖像幀為無效非關(guān)鍵幀,標記該圖像幀為不可播放。
本實施例中,本實施例中,接收端接收到流媒體數(shù)據(jù)之后,對流媒體數(shù)據(jù)進行分段,對每一段的圖像幀進行分析,當(dāng)該圖像幀為關(guān)鍵幀時,基于關(guān)鍵幀的完整度來進行相應(yīng)的處理,當(dāng)該圖像幀為非關(guān)鍵幀時,基于其所在圖像組的有效關(guān)鍵幀數(shù)量來確認該圖像幀是否有效,可提高流媒體播放的流暢性。
其次,對每一圖像幀進行分析,并且分析該圖像幀所在的時間段的流媒體數(shù)據(jù)播放的流暢度、該圖像幀的可播放度來確認該圖像幀是否可播放,根據(jù)確認結(jié)果來進行相應(yīng)的處理,可一定程度上提高播放的流暢性。
實施例二:
圖7示出了本發(fā)明第二實施例提供的一種在接收端的流媒體數(shù)據(jù)的處理系統(tǒng)的結(jié)構(gòu)圖,包括:分段處理模塊1、與分段處理模塊1連接的解碼模塊2、與解碼模塊2連接的關(guān)鍵幀判斷模塊3、與關(guān)鍵幀判斷模塊3連接的關(guān)鍵幀處理模塊4、與關(guān)鍵幀判斷模塊3連接的非關(guān)鍵幀處理模塊5,其中:
分段處理模塊1,用于按預(yù)設(shè)時間長度對接收的流媒體數(shù)據(jù)進行分段,獲得兩段以上流媒體數(shù)據(jù),每一段所述流媒體數(shù)據(jù)包括兩個以上圖像組,每一所述圖像組包括兩個以上圖像幀;
按預(yù)設(shè)時間長度對接收的流媒體數(shù)據(jù)進行分段,獲得兩段以上流媒體數(shù)據(jù);
具體地,接收端接收到流媒體數(shù)據(jù)后,需要對流媒體數(shù)據(jù)進行分段處理,按預(yù)設(shè)時間長度對接收的流媒體數(shù)據(jù)進行分段,形成兩段以上流媒體數(shù)據(jù),每一段流媒體數(shù)據(jù)包括兩個以上圖像組,而每一圖像組包括兩個以上的圖像幀,該流媒體數(shù)據(jù)攜帶每一圖像幀的類型、發(fā)送端發(fā)出的對應(yīng)圖像幀的大小、接收端接收到的該圖像幀的大小,所述圖像幀的類型包括圖像幀為關(guān)鍵幀或者非關(guān)鍵幀的標記,而每一圖像組包括一個關(guān)鍵幀及至少一個非關(guān)鍵幀,所述預(yù)設(shè)時間長度可根據(jù)實際情況而設(shè),此處對此不作限制。進一步地,流媒體數(shù)據(jù)有對應(yīng)的播放時長,根據(jù)預(yù)設(shè)時間長度對該播放時長進行分段處理,得到兩段以上時間段,該時間段對應(yīng)一段流媒體數(shù)據(jù)。
解碼模塊2,用于解碼一圖像幀,獲得解碼數(shù)據(jù);
具體地,逐一對每一接收的圖像幀進行解碼,獲得對應(yīng)的解碼數(shù)據(jù),該解碼數(shù)據(jù)包括圖像幀的屬性、發(fā)送端發(fā)出的對應(yīng)圖像幀的大小、接收端接收到的該圖像幀的大小,所述圖像幀的屬性包括圖像幀為關(guān)鍵幀或者非關(guān)鍵幀的標記。
關(guān)鍵幀判斷模塊3,用于基于解碼數(shù)據(jù)判斷所述圖像幀是否為關(guān)鍵幀;
具體地,對圖像幀進行解碼后,基于解碼數(shù)據(jù)判斷該圖像幀是否為關(guān)鍵幀,由于解碼數(shù)據(jù)攜帶圖像幀的相關(guān)信息,例如類型,基于該圖像幀的類型可判斷其是否為關(guān)鍵幀,當(dāng)判斷為關(guān)鍵幀時,將結(jié)果反饋給關(guān)鍵幀處理模塊4,若判斷為非關(guān)鍵幀時,將結(jié)果反饋給非關(guān)鍵幀處理模塊5;
關(guān)鍵幀處理模塊4,用于基于圖像幀的完整度來判斷是否需要丟幀處理。
具體地,當(dāng)該圖像幀屬于關(guān)鍵幀時,關(guān)鍵幀處理模塊4需要記錄關(guān)鍵幀的數(shù)量,本實施例中,會記錄每一時間段的關(guān)鍵幀及非關(guān)鍵幀的數(shù)量、每一圖像組的關(guān)鍵幀、非關(guān)鍵幀的數(shù)量,此時當(dāng)該圖像幀為關(guān)鍵幀時,在該圖像幀所在時間段的關(guān)鍵幀數(shù)量記錄中加1,而在該圖像幀所在圖像組中關(guān)鍵幀的數(shù)量記錄也加1,然后基于圖像幀的完整度來判斷是否需要丟幀處理。
非關(guān)鍵幀處理模塊5,用于基于圖像幀所在的圖像組的有效關(guān)鍵幀的數(shù)量來判斷圖像幀是否有效。
具體地,當(dāng)該圖像幀為非關(guān)鍵幀時,在該圖像幀所在時間段,記錄非關(guān)鍵幀的數(shù)量加1,在該圖像幀所在圖像組記錄非關(guān)鍵幀的數(shù)量加1,基于該圖像幀所在圖像組的有效關(guān)鍵幀數(shù)量來判斷是否可播放該圖像幀。
在本實施例的一個優(yōu)選方案中,該處理系統(tǒng)還可包括:與分段處理模塊1連接的接收模塊6,其中:
接收模塊6,用于接收流媒體數(shù)據(jù);
具體地,接收端接收發(fā)送端或者數(shù)據(jù)源發(fā)送的流媒體數(shù)據(jù)。
本實施例中,接收端的接收模塊6接收到流媒體數(shù)據(jù)之后,對流媒體數(shù)據(jù)進行分段,對每一段的圖像幀進行分析,當(dāng)該圖像幀為關(guān)鍵幀時,基于關(guān)鍵幀的完整度來進行相應(yīng)的處理,當(dāng)該圖像幀為非關(guān)鍵幀時,基于其所在圖像組的有效關(guān)鍵幀數(shù)量來確認該圖像幀是否有效,可提供流媒體播放的流暢性。
在本實施例的一個優(yōu)選方案中,如圖8所示,為本發(fā)明第二實施例提供的一種在接收端的流媒體數(shù)據(jù)的處理系統(tǒng)的關(guān)鍵幀處理模塊4的具體結(jié)構(gòu)圖,該關(guān)鍵幀處理模塊4包括:記錄單元41、與記錄單元41連接的完整度判斷單元42、與完整度判斷單元42連接的關(guān)鍵幀處理單元43,其中:
記錄單元41、用于記錄關(guān)鍵幀所在的時間段中,關(guān)鍵幀的數(shù)量加1;
具體地,在該關(guān)鍵幀所在的時間段中,記錄關(guān)鍵幀的數(shù)量加1,且在該關(guān)鍵幀所在的圖像組中記錄關(guān)鍵幀的數(shù)量加1。
完整度判斷單元42,用于基于圖像幀的完整度判斷圖像幀是否為有效關(guān)鍵幀;
具體地,可根據(jù)圖像幀的完整度來判斷其是否為有效關(guān)鍵幀,并將判斷結(jié)果反饋給關(guān)鍵幀處理單元43。
關(guān)鍵幀處理單元43,在判斷該關(guān)鍵幀為有效關(guān)鍵幀時,用于記錄有效關(guān)鍵幀的數(shù)量加1;
具體地,在該圖像幀所在的時間段記錄有效關(guān)鍵幀數(shù)量加1,并在該圖像幀所在圖像組中標記該圖像幀為有效關(guān)鍵幀,可播放。
并且,在該圖像幀為無效關(guān)鍵幀時,用于根據(jù)該圖像幀所在時間段的流媒體的流暢度來確認是否需要丟幀處理。
在本實施例的一個優(yōu)選方案中,如圖9所示,為本發(fā)明第二實施例提供的一種在接收端的流媒體數(shù)據(jù)的處理系統(tǒng)的完整度判斷單元42的具體結(jié)構(gòu)圖,該完整度判斷單元42具體包括:完整度計算子單元421、與完整度計算子單元421連接的加權(quán)完整度計算子單元422、與加權(quán)完整度計算子單元422連接的有效判斷子單元423,其中:
完整度計算子單元421,用于基于圖像幀的大小計算圖像幀的完整度;
具體地,在數(shù)據(jù)傳輸過程中,接收端接收的圖像幀的大小與發(fā)送端發(fā)送的圖像幀的大小可能不一致,即傳輸過程可能會出現(xiàn)數(shù)據(jù)丟失,該圖像幀的完整度為接收端接收的圖像幀的大小與發(fā)送端發(fā)送的圖像幀的大小(即圖像幀原本的大小)之間的比值。
加權(quán)完整度計算子單元422,用于基于圖像幀所在時間段的每一關(guān)鍵幀的完整度計算圖像幀所在時間段的關(guān)鍵幀的加權(quán)完整度;
具體地,由于在一個時間段內(nèi),可包括兩個以上關(guān)鍵幀,加權(quán)完整度計算過程為:采用加權(quán)完整度公式來計算該加權(quán)完整度,,該加權(quán)完整度公式為:
其中,所述p為當(dāng)前關(guān)鍵幀(即當(dāng)圖像幀為關(guān)鍵幀時)的權(quán)重,m為當(dāng)前圖像幀所在時間段記錄的其他關(guān)鍵幀的數(shù)量,i為當(dāng)前關(guān)鍵幀所在時間段的其他任一關(guān)鍵幀,Wi為當(dāng)前圖像幀所在時間段記錄的其他關(guān)鍵幀對應(yīng)的完整度,Wd為當(dāng)前圖像幀的完整度,所述當(dāng)前關(guān)鍵幀的權(quán)重可根據(jù)實際情況而設(shè),例如可謂0.5、0.8等,此處對此不作限制。
有效判斷子單元423,用于基于圖像幀的完整度及所計算的加權(quán)完整度判斷圖像幀是否為有效關(guān)鍵幀。
具體地,計算出該圖像幀的完整度及加權(quán)完整度后,將二者進行比較,當(dāng)圖像幀的完整度小于該圖像幀所在時間段的關(guān)鍵幀的加權(quán)完整度時,表示該圖像幀為無效關(guān)鍵幀,當(dāng)不小于(大于或等于)時,表示該圖像幀為有效關(guān)鍵幀。
在本實施例的一個優(yōu)選方案中,如圖10所示,為本發(fā)明第二實施例提供的一種在接收端的流媒體數(shù)據(jù)的處理系統(tǒng)的關(guān)鍵幀處理單元43的具體結(jié)構(gòu)圖,該關(guān)鍵幀處理單元43具體包括:流暢度計算子單元431、與流暢度計算子單元431連接的關(guān)鍵幀處理子單元432,其中:
流暢度計算子單元431,用于計算圖像幀所在時間段的流媒體數(shù)據(jù)的流暢度;
具體地,根據(jù)流暢度公式來計算該圖像幀所在時間段的流媒體數(shù)據(jù)的流暢度,該流暢度公式為:L=NY/NG,其中,L為流暢度,該NY為該關(guān)鍵幀所在時間段的有效關(guān)鍵幀的數(shù)量,NG為該關(guān)鍵幀所在時間段的關(guān)鍵幀的數(shù)量。
關(guān)鍵幀處理子單元432,用于基于所計算的流暢度來確認是否需要丟幀處理;
具體地,將所計算的流暢度與流暢度閾值進行比較,當(dāng)所計算的流暢度小于流暢度閾值時,表示當(dāng)前時間段的流媒體數(shù)據(jù)的播放流暢度不好,當(dāng)所計算的流暢度大于或等于流暢度閾值時,表示當(dāng)前時間段的流媒體數(shù)據(jù)播放的流暢度較好。
在本實施例的一個優(yōu)選方案中,該關(guān)鍵幀處理子單元432具體包括:流暢度判斷子單元、與流暢度判斷子單元連接的第一處理子單元及第二處理子單元,其中:
流暢度判斷子單元,用于判斷所計算的流暢度是否小于流暢度閾值;
具體地,判斷所計算的流暢度是否小于流暢度閾值,當(dāng)小于時將判斷結(jié)果反饋給第一判斷子單元,當(dāng)不小于時將判斷結(jié)果反饋給第二處理子單元;
第一處理子單元,用于丟棄該圖像幀;
具體地,當(dāng)所計算的流暢度大于或等于流暢度閾值時,表示當(dāng)前時間段的播放流暢度,圖片幀的連續(xù)性較好,無須關(guān)注該圖像幀,可對該圖像幀作丟幀處理,不會對播放質(zhì)量產(chǎn)生明顯影響,將該圖像幀標為不可播放。
第二處理子單元,用于基于圖像幀的可播放度來確定圖像幀是否可播放。
具體地,當(dāng)所計算的流暢度小于流暢度閾值時,表示當(dāng)前播放的圖像幀連續(xù)性不好,需要進一步確認是否播放該圖像幀,可通過該圖像幀的可播放度來確認。
在本實施例的一個優(yōu)選方案中,該第二處理子單元具體用于:
計算該圖像幀的可播放度;
具體地,根據(jù)可播放度公式來計算,該可播放度公式為:可播放度=當(dāng)前圖像幀的權(quán)重*當(dāng)前圖像幀的完整度+流暢度權(quán)重*當(dāng)前圖像幀所在時間段的流媒體數(shù)據(jù)的流暢度+連續(xù)度權(quán)重*當(dāng)前圖像幀所在時間段的流媒體數(shù)據(jù)的連續(xù)度,其中,上述當(dāng)前圖像幀的權(quán)重、流暢度權(quán)重及連續(xù)度權(quán)重可根據(jù)實際情況提前設(shè)置,此處對此不作限制。
優(yōu)選地,上述當(dāng)前圖像幀所在時間段的流媒體數(shù)據(jù)的連續(xù)度可根據(jù)連續(xù)度公式來計算,該連續(xù)度公式為:連續(xù)度=圖像幀所在時間段的有效幀的完整度之和/圖像幀所在時間段的有效幀的數(shù)量,其中,該有效幀包括有效關(guān)鍵幀及有效非關(guān)鍵幀。
判斷所計算的可播放度是否小于可播放度閾值;
具體地,將所計算的可播放度與可播放度閾值進行比較,該可播放度閾值根據(jù)實際情況而設(shè),此處對此不作限制;
當(dāng)所計算的可播放度小于該可播放度閾值時,表示該圖像幀不可播放,將該圖像幀標記為不可播放,后續(xù)可對其作丟幀處理;
當(dāng)所計算的可播放度不小于該可播放度閾值時,表示該圖像幀具有一定的可播放性,將該圖像幀標記為可播放,定義該圖像幀為有效關(guān)鍵幀,在圖像幀所在時間段記錄有效關(guān)鍵幀數(shù)量加1。
在本實施例的一個優(yōu)選方案中,該非關(guān)鍵幀處理模塊5具體包括:非關(guān)鍵幀記錄單元、與非關(guān)鍵幀記錄單元連接的圖像幀判斷單元、與圖像幀判斷單元連接的非關(guān)鍵幀處理單元,其中:
非關(guān)鍵幀記錄單元,用于記錄非關(guān)鍵幀的數(shù)量加1;
具體地,在該圖像幀所在的時間段對應(yīng)記錄非關(guān)鍵幀的數(shù)量加1,在該圖像幀所在的圖像組,記錄非關(guān)鍵幀的數(shù)量加1;
圖像幀判斷單元,用于判斷圖像幀所在圖像組是否存在有效關(guān)鍵幀;
具體地,分析圖像幀所在的圖像組,判斷該圖像組中是否存在有效關(guān)鍵幀,并將判斷結(jié)果反饋給非關(guān)鍵幀處理單元,其中:
非關(guān)鍵幀處理單元,用于在圖像幀所在圖像組是否存在有效關(guān)鍵幀時,確認所述圖像幀為有效非關(guān)鍵幀;
具體地,若該圖像組中存在有效非關(guān)鍵幀,則確認該圖像幀為有效非關(guān)鍵幀,將該圖像幀標記為有效非關(guān)鍵幀,在該圖像幀所在時間段記錄有效非關(guān)鍵幀的數(shù)量加1;且在該圖像組中記錄有效非關(guān)鍵幀的數(shù)量也加1。
并且,在圖像幀所在圖像組不存在有效關(guān)鍵幀時,用于標記該圖像幀不可播放;
具體地,若該圖像組中不存在有效關(guān)鍵幀,則確認該圖像幀為無效非關(guān)鍵幀,標記該圖像幀為不可播放。
本實施例中,本實施例中,接收端接收到流媒體數(shù)據(jù)之后,對流媒體數(shù)據(jù)進行分段,對每一段的圖像幀進行分析,當(dāng)該圖像幀為關(guān)鍵幀時,基于關(guān)鍵幀的完整度來進行相應(yīng)的處理,當(dāng)該圖像幀為非關(guān)鍵幀時,基于其所在圖像組的有效關(guān)鍵幀數(shù)量來確認該圖像幀是否有效,可提高流媒體播放的流暢性。
其次,對每一圖像幀進行分析,并且分析該圖像幀所在的時間段的流媒體數(shù)據(jù)播放的流暢度、該圖像幀的可播放度來確認該圖像幀是否可播放,根據(jù)確認結(jié)果來進行相應(yīng)的處理,可一定程度上提高播放的流暢性。
本發(fā)明還提出一種電視終端,該電視終端與現(xiàn)有技術(shù)的電視終端結(jié)構(gòu)基本一致,該電視終端還包括一種在接收端的流媒體數(shù)據(jù)的處理系統(tǒng),該處理系統(tǒng)的具體結(jié)構(gòu)及工作原理與上述實施例的描述基本一致,此處不再贅述。
本發(fā)明中,接收端接收到流媒體數(shù)據(jù)之后,對流媒體數(shù)據(jù)進行分段,對每一段的圖像幀進行分析,當(dāng)該圖像幀為關(guān)鍵幀時,基于關(guān)鍵幀的完整度來進行相應(yīng)的處理,當(dāng)該圖像幀為非關(guān)鍵幀時,基于其所在圖像組的有效關(guān)鍵幀數(shù)量來確認該圖像幀是否有效,可提高流媒體播放的流暢性。
其次,對每一圖像幀進行分析,并且分析該圖像幀所在的時間段的流媒體數(shù)據(jù)播放的流暢度、該圖像幀的可播放度來確認該圖像幀是否可播放,根據(jù)確認結(jié)果來進行相應(yīng)的處理,可一定程度上提高播放的流暢性。
本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結(jié)合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。
專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認為超出本發(fā)明的范圍。以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)所述以權(quán)利要求的保護范圍為準。