一種快進(jìn)播放視頻幀選擇方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及一種快進(jìn)播放視頻幀選擇方法。
【背景技術(shù)】
[0002]視頻播放過(guò)程中,快進(jìn)操作是最常用也是必需的功能之一。標(biāo)準(zhǔn)的實(shí)現(xiàn)方法是舍棄非關(guān)鍵幀,再對(duì)關(guān)鍵幀均勻采樣。但是該方法對(duì)于碼率較低、關(guān)鍵幀較為稀疏的視頻流,快進(jìn)時(shí)會(huì)產(chǎn)生畫面不連續(xù),甚至像切換幻燈片一樣的效果,嚴(yán)重影響用戶體驗(yàn)。
[0003]常見的優(yōu)化改進(jìn)方法,是基于幀內(nèi)圖像數(shù)據(jù)或者運(yùn)動(dòng)信息選擇視頻幀。這些方法雖然可以很好的解決快進(jìn)畫面不連續(xù)、甚至畫面抖動(dòng)的問(wèn)題,但是算法復(fù)雜、運(yùn)算量大。
【發(fā)明內(nèi)容】
[0004]解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種快進(jìn)播放視頻幀選擇方法,算法簡(jiǎn)單、運(yùn)算量小,以便快進(jìn)播放過(guò)程中,增加畫面的連續(xù)性。
[0005]為了達(dá)到上述目的,本發(fā)明所采用的技術(shù)方案是,一種快進(jìn)播放視頻幀選擇方法,包括以下步驟:
步驟1:使用均勻采樣方法,選出待播放關(guān)鍵幀作為基準(zhǔn)幀;
步驟2:對(duì)基準(zhǔn)幀之間的視頻幀進(jìn)行篩選作為保留幀;
步驟3:重新計(jì)算視頻幀的延遲時(shí)長(zhǎng),對(duì)時(shí)間戳進(jìn)行平滑處理。
[0006]進(jìn)一步的,所述使用均勻采樣方法,選出待播放關(guān)鍵幀作為候選基準(zhǔn)幀的步驟具體包括:
1)設(shè)快進(jìn)倍數(shù)為N倍數(shù);
2)根據(jù)上述設(shè)定的快進(jìn)倍數(shù),向前跳過(guò)N個(gè)視頻幀(包括I幀、P幀、B幀);
3)判斷得到的第N+1幀是否為I幀,若不是,則繼續(xù)判斷下一幀,若是,則得到一個(gè)候選基準(zhǔn)幀;
4)重復(fù)步驟2)~3),選出所有候選基準(zhǔn)幀。
[0007]進(jìn)一步的,所述視頻幀包括I幀、P幀、B幀。
[0008]進(jìn)一步的,對(duì)基準(zhǔn)幀之間的視頻幀進(jìn)行篩選作為保留幀,具體篩選步驟為:假設(shè)相鄰兩個(gè)基準(zhǔn)幀之間的視頻幀數(shù)量為M,快進(jìn)倍數(shù)為N,則保留的視頻幀數(shù)量為ceil (Μ/Ν)+δ,其中,δ是指用于保證最后一個(gè)保留幀不為Β幀的最小整數(shù);
進(jìn)一步的,所述重新計(jì)算視頻幀的延遲時(shí)長(zhǎng),對(duì)時(shí)間戳進(jìn)行平滑處理的方法,步驟具體為:視頻幀率為F,則根據(jù)視頻幀率計(jì)算得到相鄰兩個(gè)視頻幀時(shí)間間隔為1000/F毫秒,于是第I個(gè)視頻幀的時(shí)間戳應(yīng)該為(I_l)*1000/F。
[0009]本發(fā)明通過(guò)采用上述技術(shù)方案,與現(xiàn)有技術(shù)相比,具有如下優(yōu)點(diǎn):本發(fā)明提出一種算法簡(jiǎn)單、運(yùn)算量小的視頻快進(jìn)播放視頻幀選擇方法:關(guān)鍵幀后面保留η個(gè)視頻幀,而不是舍棄部分關(guān)鍵幀和所有的非關(guān)鍵幀,使得畫面保持了一定的連續(xù)性,提高了用戶體驗(yàn)。
【具體實(shí)施方式】
[0010]作為一個(gè)具體的實(shí)施例,本發(fā)明的一種快進(jìn)播放視頻幀選擇方法,包括以下步驟:
步驟1:使用均勻采樣方法,選出待播放關(guān)鍵幀作為基準(zhǔn)幀;具體包括以下步驟:
1)設(shè)快進(jìn)倍數(shù)為N倍數(shù);快進(jìn)倍數(shù)N取值通常為2、4、8、16。本實(shí)施例中,快進(jìn)倍數(shù)為
8倍,
2)根據(jù)上述設(shè)定的快進(jìn)倍數(shù),向前跳過(guò)N(8)個(gè)視頻幀;
3)判斷得到的第N+1幀是否為I幀,若不是,則繼續(xù)判斷下一幀,若是,則得到一個(gè)候選基準(zhǔn)幀;
4)重復(fù)步驟2)~3),該視頻幀包括I幀、P幀、B幀。選出所有候選基準(zhǔn)幀。上述基準(zhǔn)幀在原始視頻序列中采用I。表示,如下所示:
原始視頻幀序列為:1。p0p0p BBPPBP10P0P0PPPPBBPPPPPP10P0P0PPIPPPPPPBPP10P0P0P0PPIPPBBBPPPPPPPP10P0P0PPPPPBPP10P0P0P0IPPPPBPPPPBPPP10P0P0PPPBPPPPPPBP 10 P0 P0P P P I P P P P P 10 P0 P P I P P P 10 P0P0P0 P0PPIPPPPPBPPP
PPPPPPPPP10P0 P0B0 P0PBBPPPPIPP P......步驟2:對(duì)基準(zhǔn)幀之間的視頻幀進(jìn)行篩選作為保留幀,篩選方法是:假設(shè)相鄰兩個(gè)基準(zhǔn)幀之間的視頻幀數(shù)量為M,Μ為不小于Ν的數(shù)值,快進(jìn)倍數(shù)為Ν,則保留的視頻幀數(shù)量為ceil (Μ/Ν)+δ,即Μ除以Ν的上取整加上若干額外的視頻幀。其中,δ是指用于保證最后一個(gè)保留幀不為Β幀的最小整數(shù)。篩選出來(lái)的保留幀,在原始視頻序列中以Ρ。或Β。標(biāo)出,如下所示,
原始視頻幀序列為:1。P0P0P BBPPBP10P0P0PPPPBBPPPPPP10P0P0PPIPPPPPPBPP10P0P0P0PPIPPBBBPPPPPPPP10P0P0PPPPPBPP10P0P0P0IPPPPBPPPPBPPP10P0P0PPPBPPPPPPBP 10 P0 P0P P P I P P P P P 10 P0 P P I Ρ Ρ Ρ 10 Ρ0Ρ0Ρ0 Ρ0ΡΡΙΡΡΡΡΡΒΡΡΡΡΡΡΡΡΡΡΡΡΙ0Ρ0 Ρ0Β0 Ρ0ΡΒΒΡΡΡΡΙΡΡ Ρ......。
[0011]步驟3:重新計(jì)算視頻幀的延遲時(shí)長(zhǎng),對(duì)時(shí)間戳進(jìn)行平滑處理。步驟具體為:視頻幀率為F,則根據(jù)視頻幀率計(jì)算得到相鄰兩個(gè)視頻幀時(shí)間間隔為1000/F毫秒,于是第I個(gè)視頻幀的時(shí)間戳應(yīng)該為(I_l)*1000/F。
[0012]本實(shí)施例中,對(duì)基準(zhǔn)幀之間的視頻幀進(jìn)行篩選作為保留幀的篩選方法,具有如下優(yōu)點(diǎn):
1、保留幀為基準(zhǔn)幀(I幀)之后的連續(xù)幀,保證了預(yù)測(cè)幀(P幀)和差補(bǔ)幀(B幀)解碼信息的完整,避免出現(xiàn)馬賽克畫面;
2、保留幀數(shù)量可以保證快進(jìn)播放過(guò)程中的幀率跟正常播放時(shí)大致相當(dāng),這樣在盡可能多的保留視頻畫面的同時(shí),避免了客戶端播放器解碼壓力驟升。
[0013]若是按照常規(guī)做法,則選取出來(lái)的視頻幀序列,僅為本方法中篩選出來(lái)的基準(zhǔn)幀。僅對(duì)基準(zhǔn)幀進(jìn)行播放,將會(huì)出現(xiàn)【背景技術(shù)】中提及的畫面不連續(xù),甚至像切換幻燈片一樣,嚴(yán)重影響用戶體驗(yàn)。
[0014]本發(fā)明提出一種算法簡(jiǎn)單、運(yùn)算量小的視頻快進(jìn)播放視頻幀選擇方法:關(guān)鍵幀后面保留η個(gè)視頻幀(包括I幀、Ρ幀、Β幀),而不是舍棄部分關(guān)鍵幀和所有的非關(guān)鍵幀,使得畫面保持了一定的連續(xù)性,提高了用戶體驗(yàn)。
[0015]盡管結(jié)合優(yōu)選實(shí)施方案具體展示和介紹了本發(fā)明,但所屬領(lǐng)域的技術(shù)人員應(yīng)該明白,在不脫離所附權(quán)利要求書所限定的本發(fā)明的精神和范圍內(nèi),在形式上和細(xì)節(jié)上可以對(duì)本發(fā)明做出各種變化,均為本發(fā)明的保護(hù)范圍。
【主權(quán)項(xiàng)】
1.一種快進(jìn)播放視頻幀選擇方法,其特征在于:包括以下步驟: 步驟1:使用均勻采樣方法,選出待播放關(guān)鍵幀作為基準(zhǔn)幀; 步驟2:對(duì)基準(zhǔn)幀之間的視頻幀進(jìn)行篩選作為保留幀; 步驟3:重新計(jì)算視頻幀的延遲時(shí)長(zhǎng),對(duì)時(shí)間戳進(jìn)行平滑處理。2.根據(jù)權(quán)利要求1所述的一種快進(jìn)播放視頻幀選擇方法,其特征在于:所述使用均勻采樣方法,選出待播放關(guān)鍵幀作為候選基準(zhǔn)幀的步驟具體包括: 1)設(shè)快進(jìn)倍數(shù)為N倍數(shù); 2)根據(jù)上述設(shè)定的快進(jìn)倍數(shù),向前跳過(guò)N個(gè)視頻幀; 3)判斷得到的第N+1幀是否為I幀,若不是,則繼續(xù)判斷下一幀,若是,則得到一個(gè)候選基準(zhǔn)幀; 4)重復(fù)步驟2)~3),選出所有候選基準(zhǔn)幀。3.根據(jù)權(quán)利要求1所述的一種快進(jìn)播放視頻幀選擇方法,其特征在于:所述視頻幀包括I幀、P幀、B幀。4.根據(jù)權(quán)利要求3所述的一種快進(jìn)播放視頻幀選擇方法,其特征在于:對(duì)基準(zhǔn)幀之間的視頻幀進(jìn)行篩選作為保留幀,具體篩選步驟為:假設(shè)相鄰兩個(gè)基準(zhǔn)幀之間的視頻幀數(shù)量為M,快進(jìn)倍數(shù)為N,則保留的視頻幀數(shù)量為ceil(M/N)+S,其中,δ是指用于保證最后一個(gè)保留幀不為Β幀的最小整數(shù)。5.根據(jù)權(quán)利要求1所述的一種快進(jìn)播放視頻幀選擇方法,其特征在于:述重新計(jì)算視頻幀的延遲時(shí)長(zhǎng),對(duì)時(shí)間戳進(jìn)行平滑處理的方法,步驟具體為:視頻幀率為F,根據(jù)視頻幀率計(jì)算得到相鄰兩個(gè)視頻幀時(shí)間間隔為1000/F毫秒,第I個(gè)視頻幀的時(shí)間戳為(1-l)*1000/Fo
【專利摘要】本發(fā)明涉及一種快進(jìn)播放視頻幀選擇方法。步驟1:使用均勻采樣方法,選出待播放關(guān)鍵幀作為基準(zhǔn)幀;步驟2:對(duì)基準(zhǔn)幀之間的視頻幀進(jìn)行篩選作為保留幀;步驟3:重新計(jì)算視頻幀的延遲時(shí)長(zhǎng),對(duì)時(shí)間戳進(jìn)行平滑處理。本發(fā)明提供了一種快進(jìn)播放視頻幀選擇方法,算法簡(jiǎn)單、運(yùn)算量小,以便快進(jìn)播放過(guò)程中,增加畫面的連續(xù)性。
【IPC分類】H04N21/4402, H04N21/8547
【公開號(hào)】CN105307013
【申請(qǐng)?zhí)枴緾N201510686956
【發(fā)明人】林文山, 王國(guó)清, 李燕茹, 崔躍
【申請(qǐng)人】廈門雅迅網(wǎng)絡(luò)股份有限公司
【公開日】2016年2月3日
【申請(qǐng)日】2015年10月22日