專利名稱:估算gif文件錄制時間的方法和系統的制作方法
技術領域:
本發明涉及計算機多媒體領域,特別涉及按大小的最大限定值動態估算GIF文件錄制時間的方法和系統。
背景技術:
觀看視頻成為廣大互聯網用戶普遍的學習和娛樂方式。在觀看過程中,許多用戶希望把簡短的片段保存下來,通過QQ、論壇或者社交網站等渠道與其他用戶分享。GIF作為一種Web、即時通信工具和圖像軟件等廣泛支持的圖形標準,以其支持簡 短動畫、占用空間小、快速解壓等優點,成為廣大用戶的首選。GIF(Graphics InterchangeFormat,圖形交換格式)是CompuServe公司開發的圖像文件存儲格式,1987年開發的GIF文件格式版本號是GIF87a,1989年進行了擴充,擴充后的版本號定義為GIFSga15GIF圖像文件以數據塊為單位來存儲圖像的相關信息。一個GIF文件由表示圖形/圖像的數據塊、數據子塊以及顯示圖形/圖像的控制信息塊組成,稱為GIF數據流。數據流中的所有控制信息塊和數據塊都必須在文件頭和文件結束塊之間。GIF文件格式采用了 LZW(Lempel-Ziv Walch)壓縮算法來存儲圖像數據,定義了允許用戶為圖像設置背景的透明(transparency)屬性。此外,GIF文件格式可在一個文件中存放多幅彩色圖形/圖像。如果在GIF文件中存放有多幅圖,它們可以像幻燈片那樣顯示或者像動畫那樣演示。目前QQ、論壇或者社交網站等渠道對用戶上傳的GIF文件大小做了嚴格限制,比如發布到QQ群上的GIF文件大小不能超過1M,因此大部分用戶希望按大小的最大限定值估算錄制GIF文件的時間,從而在播放視頻的過程中更準確地控制錄制時間。雖然QQ影音以及其它多媒體錄制工具提供了錄制GIF動畫的功能,但是只能讓用戶按照播放時間進行錄制,很難控制GIF文件的大小,導致錄制后的GIF文件的大小容易超出最大限定值。GIF本身的特點決定了很難按大小的最大限定值估算錄制時間,一方面,GIF是逐幀計算壓縮比的,因此壓縮比是動態變化的,很難在錄制前就計算出比較準確的錄制時間;另一方面,GIF的壓縮時間一般遠大于錄制時間,所以也不適合采用邊錄制邊壓縮的方法。
發明內容
鑒于以上,本發明提出估算GIF文件錄制時間的方法和系統。本發明提出估算GIF文件錄制時間的方法,包括以下步驟初始化最大限定值、分辨率、每秒錄制幀數以及時間單元長度;分段估算時間單元的壓縮比,根據已估算的所有時間單元的壓縮比估算剩余壓縮比;根據分辨率、每秒錄制幀數和時間單元的壓縮比,估算時間單元的GIF大小,累加已估算的所有時間單元的GIF大小,獲取累加值;判斷累加值是否小于最大限定值,如果是,將最大限定值減去累加值得到剩余大小;
根據剩余大小、剩余壓縮比、分辨率和每秒錄制幀數,估算剩余錄制時間。本發明還提出估算GIF文件錄制時間的系統,包括初始化模塊,初始化最大限定值、分辨率、每秒錄制幀數以及時間單元;判斷模塊,判斷累加值是否 小于限定值;估算模塊,耦合于初始化模塊和判斷模塊,分段估算時間單元的壓縮比,根據已估算的所有時間單元的壓縮比估算剩余壓縮比;根據分辨率、每秒錄制幀數和時間單元的壓縮比,估算時間單元的GIF大小,累加已估算的所有時間單元的GIF大小,獲取累加值;當累加值小于限定值時,將最大限定值減去累加值得到剩余大小,根據剩余大小、剩余壓縮比、分辨率和每秒錄制幀數,估算剩余錄制時間。本發明對現有的GIF錄制工具采用比較準確的錄制時間估算算法,提高按大小估算GIF錄制時間的準確度,滿足用戶按大小錄制GIF的需求。
圖I為本發明估算GIF文件錄制時間的流程示意圖。圖2為本發明估算GIF文件錄制時間的系統結構示意圖。
具體實施例方式下面參照附圖對本發明進行更全面的描述,其中說明本發明的示例性實施例。如圖I所示,為本發明估算GIF文件錄制時間的流程示意圖。本實施例的流程包括以下步驟步驟101、初始化最大限定值Qc、分辨率Dc、每秒錄制巾貞數Fe、時間單元長度t等各個要素;其中最大限定值Qc為常量,是發布渠道規定的GIF文件大小最大值。分辨率Dc為常量,GIF文件錄制區域大小。每秒錄制幀數Fe為常量,每秒從多媒體視頻上錄制的幀數。時間單元t為常量,選取和處理幀樣本的時間間隔,即采樣的間隔。步驟102、分段估算時間單元的壓縮比;在實施例中,從第一個時間單元開始,估算時間單元的壓縮比的操作可以是,在第η個時間單元的t/4和3t/4時刻分別選取幀樣本進行壓縮,將兩個壓縮比的平均值作為當前時間單元的壓縮比Cn。其中,幀樣本壓縮比=壓縮后幀大小\壓縮前幀大小,文件壓縮比=壓縮后GIF文件的大小\壓縮前視頻文件大小。進行壓縮的時刻不一定要選擇t/4和3t/4,選擇這兩個時刻是為了讓采樣的時刻更加均勻。一個時間單元中選擇兩個采樣時刻,是為了取兩個壓縮比的平均值,使得采樣的壓縮比更接近于整個時間單元的平均壓縮比。當然,本領域技術人員應該可以理解,采樣時刻并不限于兩個,也可以是3個、4個或者其他。在本發明實施例基礎上所作的相應修改和變形,都應覆蓋在本權利要求的保護范圍之內。步驟103、根據已估算的所有時間單元的壓縮比估算剩余壓縮比C ;在實施例中,估算時間單元的壓縮比之后,都要計算剩余壓縮比,根據已估算的所有時間單元的壓縮比估算剩余壓縮比的操作可以是,將已估算的所有時間單元的壓縮比的平均值作為剩余壓縮比C。當然,也可以在此基礎上對計算剩余壓縮比的公式進行變形,比如,對某個壓縮比進行加權后再計算。步驟104、根據分辨率Dc、每秒錄制幀數Fe和時間單元的壓縮比Cn,估算時間單元的GIF大小,累加已估算的所有時間單元的GIF大小,獲取累加值;在實施例中,估算時間單元的GIF大小的操作可以是Qn = DcXFcXtXCn,也可以在此基礎上對公式進行變形,比如,對某個參數進行加權后再計算。步驟105、累加已估算的所有時間單元的GIF大小值,得到累加值Qa ;步驟106、判斷累加值Qa是否小于最大限定值Qc,如果是,執行步驟107,否則執行步驟110和步驟112,即結束估算過程和錄制過程,結束順序不分先后,也可以同時結束;步驟107、將最大限定值Qc減去累加值Qa得到剩余大小Λ Q ; 步驟108、根據剩余大小、剩余壓縮比、分辨率和每秒錄制幀數,估算剩余錄制時間。在實施例中,估算剩余錄制時間的操作可以是ΛΤ = AQ/(DcXFcXC),當然,也可以在此基礎上對公式進行變形,比如,對某個參數進行加權后再計算。執行步驟108,已完成估算剩余錄制時間的操作,本方法流程還可以包括以下步驟步驟109、判斷剩余錄制時間Λ T是否大于t,如果是,跳轉到步驟102,繼續下一個時間單元的估算,否則,執行步驟Iio 步驟112 ;步驟110、結束估算過程;步驟111、錄制Λ T時間;步驟112、結束錄制過程。圖2為本發明估算GIF文件錄制時間的系統,包括初始化模塊、判斷模塊以及估算模塊,其中初始化模塊,初始化最大限定值、分辨率、每秒錄制幀數以及時間單元長度;判斷模塊,判斷累加值是否小于限定值;估算模塊,耦合于初始化模塊和判斷模塊,分段估算時間單元的壓縮比,根據已估算的所有時間單元的壓縮比估算剩余壓縮比;根據分辨率、每秒錄制幀數和時間單元的壓縮比,估算時間單元的GIF大小,累加已估算的所有時間單元的GIF大小,獲取累加值;當累加值小于限定值時,將最大限定值減去累加值得到剩余大小,根據剩余大小、剩余壓縮比、分辨率和每秒錄制幀數,估算剩余錄制時間。在實施例中,估算模塊的估算過程為將已估算的所有時間單元的壓縮比的平均值作為剩余壓縮比;估算剩余錄制時間=剩余大小/(分辨率X每秒錄制幀數X剩余壓縮比);和/或時間單元的GIF大小=分辨率X每秒錄制幀數X時間單元長度X時間單元壓縮比。當然,也可以在上述公式的基礎上進行變形或修改,比如對某個參數加權后再計
笪
ο在本發明另一實施例中,判斷模塊判斷累加值大于等于最大限定值時,通知估算模塊結束估算過程。在本發明另一實施例中,判斷模塊還判斷剩余錄制時間是否大于時間單元,如果是,通知估算模塊繼續下一個時間單元的估算,否則通知估算模塊結束估算過程。本發明提出了按大小的最大限定值動態估算GIF錄制時間的方法,在錄制過程中實時選取幀樣本進行壓縮,從而動態地估算壓縮比以及剩余壓縮比,根據該壓縮比估算時間單元的GIF大小并累加,當累加值小于最大限定值時,得到可以繼續壓縮的剩余大小,根據剩余大小、剩余壓縮比等參數估算剩余錄制時間。本發明提高按大小估算GIF錄制時間的準確度,滿足用戶按大小錄制GIF的需求。避免錄制的時間過長或過短,影響用戶的體驗。本發明可以廣泛應用于GIF錄制工具,也可以為即時聊天、多媒體播放器等客戶端軟件提供更加人性化的GIF截取功能,增強視頻的截取功能。用戶操作時,先要確定限制的GIF大小、分辨率和幀率。本發明的描述是為了示例和描述起見而給出的,而并不是 無遺漏的或者將本發明限于所公開的形式。很多修改和變化對于本領域的普通技術人員而言是顯然的。選擇和描述實施例是為了更好說明本發明的原理和實際應用,并且使本領域的普通技術人員能夠理解本發明從而設計適于特定用途的帶有各種修改的各種實施例。
權利要求
1.估算GIF文件錄制時間的方法,包括以下步驟 初始化最大限定值、分辨率、每秒錄制幀數以及時間單元長度; 分段估算時間單元的壓縮比,根據已估算的所有時間單元的壓縮比估算剩余壓縮比; 根據分辨率、每秒錄制幀數和時間單元的壓縮比,估算時間單元的GIF大小,累加已估算的所有時間單元的GIF大小,獲取累加值; 判斷累加值是否小于最大限定值,如果是,將最大限定值減去累加值得到剩余大小; 根據剩余大小、剩余壓縮比、分辨率和每秒錄制幀數,估算剩余錄制時間。
2.根據權利要求I所述估算GIF文件錄制時間的方法,估算剩余錄制時間,還包括以下步驟 判斷剩余錄制時間是否大于時間單元長度,如果是,繼續下一個時間單元的估算,否則結束估算過程,并且在錄制剩余錄制時間后,結束錄制過程。
3.根據權利要求I或2所述估算GIF文件錄制時間的方法,判斷累加值是否小于最大限定值,還包括以下步驟 當累加值大于等于最大限定值時,結束估算過程和錄制過程。
4.根據權利要求I或2所述估算GIF文件錄制時間的方法,根據已估算的所有時間單元的壓縮比估算剩余壓縮比的操作為 將已估算的所有時間單元的壓縮比的平均值作為剩余壓縮比。
5.根據權利要求I或2所述估算GIF文件錄制時間的方法,根據分辨率、每秒錄制幀數和時間單元的壓縮比,估算時間單元的GIF大小的操作為 時間單元的GIF大小=分辨率X每秒錄制幀數X時間單元長度X時間單元的壓縮比。
6.根據權利要求I或2所述估算GIF文件錄制時間的方法,根據剩余大小、剩余壓縮t匕、分辨率和每秒錄制幀數,估算剩余錄制時間的操作為 估算剩余錄制時間=剩余大小/(分辨率X每秒錄制幀數X剩余壓縮比)。
7.估算GIF文件錄制時間的系統,包括 初始化模塊,初始化最大限定值、分辨率、每秒錄制幀數以及時間單元; 判斷模塊,判斷累加值是否小于限定值; 估算模塊,耦合于初始化模塊和判斷模塊,分段估算時間單元的壓縮比,根據已估算的所有時間單元的壓縮比估算剩余壓縮比;根據分辨率、每秒錄制幀數和時間單元的壓縮比,估算時間單元的GIF大小,累加已估算的所有時間單元的GIF大小,獲取累加值;當累加值小于限定值時,將最大限定值減去累加值得到剩余大小,根據剩余大小、剩余壓縮比、分辨率和每秒錄制巾貞數,估算剩余錄制時間。
8.根據權利要求7所述估算GIF文件錄制時間的系統,其中 判斷模塊還判斷剩余錄制時間是否大于時間單元,如果是,通知估算模塊繼續下一個時間單元的估算,否則通知估算模塊結束估算過程。
9.根據權利要求7或8所述估算GIF文件錄制時間的系統,其中 判斷模塊判斷累加值大于等于最大限定值時,通知估算模塊結束估算過程。
10.根據權利要求7所述估算GIF文件錄制時間的系統,其中 估算模塊的估算過程為將已估算的所有時間單元的壓縮比的平均值作為剩余壓縮比;估算剩余錄 制時間=剩余大小/(分辨率X每秒錄制幀數X剩余壓縮比);和/或時間單元的GIF大小=分辨率X每秒錄制幀數X時間單元長度X時間單元的壓縮比。
全文摘要
本發明公開估算GIF文件錄制時間的方法和系統,分段估算時間單元的壓縮比,根據已估算的所有時間單元的壓縮比估算剩余壓縮比;根據分辨率、每秒錄制幀數和時間單元的壓縮比,估算時間單元的GIF大小,累加已估算的所有時間單元的GIF大小,獲取累加值;判斷累加值是否小于最大限定值,如果是,將最大限定值減去累加值得到剩余大小;根據剩余大小、剩余壓縮比、分辨率和每秒錄制幀數,估算剩余錄制時間。本發明提高按大小估算GIF錄制時間的準確度,滿足用戶按大小錄制GIF的需求。
文檔編號G06T9/00GK102891996SQ20111020305
公開日2013年1月23日 申請日期2011年7月20日 優先權日2011年7月20日
發明者林立宇, 陳云海, 劉曉玲, 吳英紅 申請人:中國電信股份有限公司