[發明專利]視頻流快進快退的方法有效
| 申請號: | 201010156923.8 | 申請日: | 2010-04-23 |
| 公開(公告)號: | CN101841692A | 公開(公告)日: | 2010-09-22 |
| 發明(設計)人: | 徐佳宏;肖友能;張雪振 | 申請(專利權)人: | 深圳市茁壯網絡股份有限公司 |
| 主分類號: | H04N7/173 | 分類號: | H04N7/173;H04N7/24 |
| 代理公司: | 深圳市深佳知識產權代理事務所(普通合伙) 44285 | 代理人: | 彭愿潔;李文紅 |
| 地址: | 518002 廣東省深圳市羅湖區沿河*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 視頻 快進 方法 | ||
技術領域
本發明涉及視頻技術領域,尤其涉及一種視頻流快進快退的方法。
背景技術
首先簡要介紹一下對視頻點播涉及的一些關鍵幀:
I幀:是一個全幀壓縮編碼幀,也叫幀內編碼幀,因此I幀的數據量一般比較大,I幀不需要參考其他幀而生成,它是P幀或是B幀的參考幀,解碼時僅用I幀就可以重構一個完整的圖像。
P幀:是一個前向預測編碼幀,也稱為幀間編碼幀,P幀需要參考前面的與其相鄰的I幀或P幀而生成,同時它也是其他P幀或者B幀的參考幀,解碼時必須依賴其前面的I幀或P幀才可以重構出完整的圖像。
B幀:是一個雙向預測編碼幀,它也是一個幀間編碼幀,B幀需要參考前面的I幀或P幀或后面的P幀生成,B幀不作為其它幀的參考幀,因此它的解碼錯誤不會造成錯誤擴散,但是B幀解碼時必須依賴I幀或P幀才可重構出完整的圖像。
用戶在觀看視頻節目的時候,有時會想先了解一下視頻所播放的大概內容,這時需要進行快進或快退的操作。現有絕大多數視頻快進快退方案都是通過先找到I幀,從而通過播放I幀來實現的,具體的過程如下:
解析視頻源文件,一幀一幀的獲取I幀數據,并獲取當前I幀在源視頻的播放時間;按照源視頻的格式重新封裝I幀數據,并將當前幀的播放時間作為時間戳封裝進去,標識這個I幀的播放時間,也起到定位一個I幀起始位置的作用;新生成的只有I幀數據的視頻文件與源視頻文件一一對應存在。
當有快進發生時,服務器記錄發生快進的時間,從只含I幀數據的視頻文件中找到與發生快進時最接近的時間戳,并從這個位置開始正向讀取只含I幀的數據包以此來實現快進,系統可按照需要快進的倍數來確定是否跳幀,比如系統可判斷2倍數或4倍數快進不需要跳幀,只需要正向順序讀取數據即可,8倍數跳2幀,16倍數跳8幀等;跳幀也即間隔若干幀后再讀取一幀的數據;最后需要更新每個I幀的時間戳,從而獲取兩個時間戳之間的時間長度,當n倍數時只要將這個時間長度除以n后,加上前一個I幀的時間戳后更新到后面這個I幀的時間戳信息即可。
當有快退發生時,只需要在找到最后的時間戳的位置反向找前一個時間戳讀取數據,也就是以時間戳為分隔符反向一幀一幀的讀取數據,其他與快進處理類似。
上述現有方案存在以下的不足:
1、將所有I幀數據提取組成一個新視頻文件,比起建立I幀的索引文件的做法,它占據了較多的磁盤空間;
2、根據快進快退的倍數固定的跳過若干幀來實現減小數據量的目的,但是由于每一幀的數據大小是不確定的,這樣所帶來的后果就是碼率波動會變大,這會浪費傳輸帶寬甚至使視頻質量下降,并且,由于這一規則不能動態的更新,致使有的視頻可能會造成跳幀太少,需要播放的I幀數據量很大,如果給定帶寬不足就會嚴重影響播放。
發明內容
本發明提供一種視頻流快進快退的方法,以克服現有方案帶寬浪費以及碼率不平穩的問題。
為此,本發明實施例采用如下技術方案:
一種視頻流快進快退的方法,包括:
解析源視頻文件,獲取包含各個I幀索引信息的索引文件;
接收到快進或快退請求時,執行以下步驟:
a.定位視頻流當前播放時刻;
b.查詢所述索引文件,獲得與所述當前播放時刻最接近的當前I幀的索引信息;
c.利用快進或快退倍數以及與所述當前I幀的索引信息,確定需要跳過的I幀的數量NF;
d.對于快進請求,向后跳過NF個I幀;對于快退請求,向前跳過NF個I幀;
e.從索引文件中查詢到下一個I幀信息,依據索引文件中記錄的該I幀的信息從原始文件中獲得該I幀的實際數據并播放該I幀數據;
重復執行d-e,直至處理完索引文件的最后一個I幀或者接收到其它的處理請求。
其中,采用如下公式確定需要跳過的I幀的數量NF:
NF=cnt-1;
cnt滿足如下不等式:((ltl-lsz)/cnt)/((T-ltm)/n<=S/T;
其中,
n為快進倍數;
cnt為常數,初始值為1,每次增加幅度為1;
ltl、lsz、T、ltm和S為索引信息,具體含義如下:
ltl為源視頻中所有I幀數據量總和;
lsz從源視頻起始位置到當前I幀所有I幀數據量的總和;
T為源視頻播放總時間;
ltm為當前I幀在源視頻中的播放時間點;
S為源視頻的總數據量。
對于快退請求,采用如下公式確定需要跳過的I幀的數量NF:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市茁壯網絡股份有限公司,未經深圳市茁壯網絡股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010156923.8/2.html,轉載請聲明來源鉆瓜專利網。





