欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于ios設(shè)備的視頻編輯方法及裝置制造方法

文檔序號:6766832閱讀:147來源:國知局
一種基于ios設(shè)備的視頻編輯方法及裝置制造方法
【專利摘要】本發(fā)明提供了一種基于IOS設(shè)備的視頻編輯方法,所述IOS設(shè)備設(shè)置有第一緩沖區(qū)域以及第二緩沖區(qū)域,所述方法包括:在接收視頻編輯指令后,判斷所述第一緩沖區(qū)域的地址對應(yīng)的內(nèi)存地址中是否存在第一編輯數(shù)據(jù),所述視頻編輯指令包括目標(biāo)富媒體數(shù)據(jù)的路徑信息;若是,則獲取所述第一編輯數(shù)據(jù)并編碼;若否,則生成第一數(shù)據(jù)獲取請求;依據(jù)所述第一數(shù)據(jù)獲取請求判斷所述第二緩沖區(qū)域中是否存在第二編輯數(shù)據(jù);若是,則獲取所述第二編輯數(shù)據(jù)并對所述第二編輯數(shù)據(jù)進(jìn)行渲染,生成第一編輯數(shù)據(jù)存儲在第一緩沖區(qū)域中;否則,則依據(jù)所述路徑信息獲取對應(yīng)的目標(biāo)富媒體數(shù)據(jù),對所述目標(biāo)富媒體數(shù)據(jù)進(jìn)行解碼,得到第二編輯數(shù)據(jù)存儲在第二緩沖區(qū)域中。
【專利說明】一種基于I OS設(shè)備的視頻編輯方法及裝置

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及視頻編輯【技術(shù)領(lǐng)域】,特別是涉及一種基于I0S設(shè)備的視頻編輯裝置及 一種基于I0S設(shè)備的視頻編輯方法。

【背景技術(shù)】
[0002] 近年來,隨著計算機(jī)圖形圖像技術(shù)的迅速發(fā)展,圖片視頻編輯技術(shù)逐漸成熟,已成 為制作影視節(jié)目、數(shù)字多媒體的主要工具。其中,圖片視頻編輯是指對圖片或者視頻進(jìn)行加 工,例如:將多張高清視頻合成一個連續(xù)的視頻,將完整視頻裁剪成多段視頻,合并多個視 頻為單個視頻,添加背景音樂,改變視頻的顏色等對視頻進(jìn)行的操作。
[0003] 但是,在現(xiàn)有的圖片視頻編輯處理過程中,若需要對視頻添加特效,需要經(jīng)過多次 編碼解碼的過程,耗費時間長,生成視頻速度緩慢。例如,若采用多媒體框架GPUimage做一 個貼素材動畫以及帶3個filter的風(fēng)格,制作過程為:先將視頻或者拼接的視頻進(jìn)行貼素材 動畫處理,生成一個0. mp4 ;進(jìn)行filter處理時,是將0. mp4進(jìn)行解碼,然后filter處理,生 成1. mp4 ;整個過程做了 2次解碼,2次編碼,大大浪費了時間,而且3個filter必須寫在一 個文件中,要修改只能程序員去修改渲染語言。


【發(fā)明內(nèi)容】

[0004] 本發(fā)明實施例所要解決的技術(shù)問題是提供一種基于I0S設(shè)備的視頻編輯方法,用 以解決視頻編輯過程中,對視頻編碼解碼次數(shù)多導(dǎo)致的生成視頻速度緩慢的問題。
[0005] 相應(yīng)的,本發(fā)明實施例還提供了一種基于I0S設(shè)備的視頻編輯裝置,用以保證上 述方法的實現(xiàn)及應(yīng)用。
[0006] 為了解決上述問題,本發(fā)明實施例公開了一種基于I0S設(shè)備的視頻編輯裝置,包 括指令接收模塊、編碼模塊、渲染模塊、解碼模塊,所述編碼模塊與所述渲染模塊間設(shè)置有 大小為第一預(yù)設(shè)閾值的第一緩沖區(qū)域,所述解碼模塊與所述渲染模塊間設(shè)置有大小為第二 預(yù)設(shè)閾值的第二緩沖區(qū)域,所述I0S設(shè)備預(yù)先設(shè)置有第一緩沖區(qū)域地址與內(nèi)存地址的映射 關(guān)系,其中,
[0007] 指令接收模塊,用于接收視頻編輯指令,并將所述視頻編輯指令發(fā)送至編碼模塊 和/或解碼模塊,所述視頻編輯指令包括目標(biāo)富媒體數(shù)據(jù)的路徑信息;
[0008] 編碼模塊,用于依據(jù)所述視頻編輯指令生成第一數(shù)據(jù)獲取請求,將所述第一數(shù)據(jù) 獲取請求發(fā)送至渲染模塊,以及,從所述第一緩沖區(qū)域的地址對應(yīng)的內(nèi)存地址中獲取一幀 第一編輯數(shù)據(jù),對所述第一編輯數(shù)據(jù)進(jìn)行編碼,其中所述第一編輯數(shù)據(jù)為經(jīng)過渲染的數(shù) 據(jù);
[0009] 渲染模塊,用于在收到第一數(shù)據(jù)獲取請求時,或在監(jiān)測到所述第一緩沖區(qū)域中的 數(shù)據(jù)量小于第一預(yù)設(shè)閾值時,判斷所述第二緩沖區(qū)域是否存在第二編輯數(shù)據(jù),若是,則從所 述第二緩沖區(qū)域中獲取一幀第二編輯數(shù)據(jù),對所述第二編輯數(shù)據(jù)進(jìn)行渲染生成第一編輯數(shù) 據(jù),將所述第一編輯數(shù)據(jù)存儲到第一緩沖區(qū)域中;若否,則生成第二數(shù)據(jù)獲取請求,將所述 第二數(shù)據(jù)獲取請求發(fā)送至解碼模塊;所述第二編輯數(shù)據(jù)為經(jīng)過解碼但未經(jīng)過渲染的數(shù)據(jù); [0010] 解碼模塊,用于在接收到所述視頻編輯指令時,或在接收到所述第二數(shù)據(jù)獲取請 求時,依據(jù)所述路徑信息獲取對應(yīng)的目標(biāo)富媒體數(shù)據(jù),對所述目標(biāo)富媒體數(shù)據(jù)進(jìn)行解碼,得 到第二編輯數(shù)據(jù)存儲在第二緩沖區(qū)域中,以及,實時監(jiān)測所述第二緩沖區(qū)域的所述第二編 輯數(shù)據(jù)的數(shù)據(jù)量,在所述數(shù)據(jù)量大于或等于第二預(yù)設(shè)閾值時,停止解碼所述目標(biāo)富媒體數(shù) 據(jù),在所述數(shù)據(jù)量小于第二預(yù)設(shè)閾值時,繼續(xù)解碼所述目標(biāo)富媒體數(shù)據(jù)。
[0011] 優(yōu)選地,所述目標(biāo)富媒體數(shù)據(jù)包括目標(biāo)視頻數(shù)據(jù)和/或目標(biāo)圖片數(shù)據(jù),所述第二 編輯數(shù)據(jù)包括第一圖像數(shù)據(jù),和/或第二圖像數(shù)據(jù),所述解碼模塊包括:
[0012] 視頻解碼子模塊,用于對所述目標(biāo)視頻數(shù)據(jù)進(jìn)行解碼,得到第一圖像數(shù)據(jù);
[0013] 圖片解碼子模塊,用于對所述目標(biāo)圖片數(shù)據(jù)進(jìn)行解碼,得到第二圖像數(shù)據(jù)。
[0014] 優(yōu)選地,所述I0S設(shè)備具有avasset reader接口,所述第二緩沖區(qū)域位于顯存中, 所述I0S設(shè)備預(yù)設(shè)有內(nèi)存地址與第二緩沖區(qū)域地址的映射關(guān)系,所述視頻解碼子模塊包 括:
[0015] 解碼單元,用于采用所述avasset reader接口在內(nèi)存中對所述目標(biāo)視頻數(shù)據(jù)進(jìn)行 解碼,得到第一圖像數(shù)據(jù);
[0016] 轉(zhuǎn)換單元,用于獲取所述內(nèi)存的內(nèi)存地址,按照所述內(nèi)存地址與第二緩沖區(qū)域地 址的映射關(guān)系,將所述第一圖像數(shù)據(jù)的存儲地址由所述內(nèi)存地址轉(zhuǎn)換成對應(yīng)的第二緩沖區(qū) 域地址。
[0017] 優(yōu)選地,所述解碼單元還用于,初始化所述avasset reader接口,設(shè)置輸出的一中貞 第一圖像數(shù)據(jù)的分辨率大小。
[0018] 優(yōu)選地,所述解碼單元還用于,采用所述avasset reader接口在內(nèi)存中對所述目 標(biāo)視頻數(shù)據(jù)進(jìn)行解碼,得到與所述第一圖像數(shù)據(jù)對應(yīng)的音頻數(shù)據(jù),所述音頻數(shù)據(jù)存儲在內(nèi) 存中。
[0019] 優(yōu)選地,所述與所述第一圖像數(shù)據(jù)對應(yīng)的音頻數(shù)據(jù),采用如下方式獲得:
[0020] 獲取所述目標(biāo)視頻數(shù)據(jù)的幀率;
[0021] 計算預(yù)設(shè)的音頻數(shù)據(jù)采樣率/幀率,得到一幀第一圖像數(shù)據(jù)對應(yīng)的音頻數(shù)據(jù)。
[0022] 優(yōu)選地,所述視頻編輯裝置還包括:
[0023] 音頻渲染模塊,用于在內(nèi)存中對所述音頻數(shù)據(jù)進(jìn)行渲染。
[0024] 優(yōu)選地,所述渲染模塊還用于,將所述第一緩沖區(qū)域中的第一編輯數(shù)據(jù)從第二緩 沖區(qū)域中讀取到內(nèi)存中。
[0025] 優(yōu)選地,所述I0S設(shè)備具有avasset writer接口,所述編碼模塊還用于,采用所述 avasset writer接口在內(nèi)存中對所述第一編輯數(shù)據(jù)進(jìn)行編碼,最終生成視頻文件。
[0026] 優(yōu)選地,所述編碼模塊還用于,
[0027] 在內(nèi)存中獲取每一幀第一編輯數(shù)據(jù)對應(yīng)的音頻數(shù)據(jù);
[0028] 在內(nèi)存中對所述第一編輯數(shù)據(jù)以及對應(yīng)的音頻數(shù)據(jù)進(jìn)行編碼。
[0029] 優(yōu)選地,所述第二緩沖區(qū)域位于顯存中,所述圖片解碼子模塊還用于,采用多線程 在內(nèi)存中對所述目標(biāo)圖片數(shù)據(jù)進(jìn)行解碼,得到第二圖像數(shù)據(jù),將所述內(nèi)存中的第二圖像數(shù) 據(jù)復(fù)制到第二緩沖區(qū)域中。
[0030] 優(yōu)選地,所述第一數(shù)據(jù)獲取請求包括視頻編輯樣式信息,所述渲染模塊包括:
[0031] 數(shù)據(jù)接收子模塊,用于接收所述第一圖像數(shù)據(jù)和/或所述第二圖像數(shù)據(jù);
[0032] 解析子模塊,用于解析所述視頻編輯樣式信息,獲得一個或多個特效元素;
[0033] 順序確定子模塊,用于在所述特效元素為多個時,確定所述特效元素的組合順 序;
[0034] 特效添加子模塊,用于按照所述組合順序在所述第一圖像數(shù)據(jù)中依次添加對應(yīng)的 特效元素,生成第三圖像數(shù)據(jù);
[0035] 第一編輯數(shù)據(jù)生成子模塊,用于合并所述第三圖像數(shù)據(jù)以及所述第二圖像數(shù)據(jù), 生成第一編輯數(shù)據(jù)。
[0036] 優(yōu)選地,所述特效添加子模塊還用于,采用著色語言GLSL按照所述組合順序在所 述第一圖像數(shù)據(jù)中依次添加對應(yīng)的特效元素,生成第三圖像數(shù)據(jù)。
[0037] 優(yōu)選地,所述特效元素包括裁剪信息、尺寸縮放信息、顏色編輯信息、透明度編輯 信息、模糊效果信息。
[0038] 優(yōu)選地,所述路徑信息有多個,所述視頻編輯指令包括多個路徑信息的導(dǎo)入順序, 則對應(yīng)的目標(biāo)富媒體數(shù)據(jù)有多個,所述解碼模塊還用于,
[0039] 在接收到所述第二數(shù)據(jù)獲取請求時,依據(jù)所述導(dǎo)入順序確定所述多個富媒體數(shù)據(jù) 的解碼順序;
[0040] 按照所述解碼順序?qū)λ瞿繕?biāo)富媒體數(shù)據(jù)進(jìn)行解碼。
[0041] 優(yōu)選地,所述渲染模塊位于第一線程中,所述編碼模塊位于第二線程中,所述第一 線程與第二線程并行運行。
[0042] 本發(fā)明實施例還公開了一種基于I0S設(shè)備的視頻編輯方法,所述I0S設(shè)備設(shè)置有 大小為第一預(yù)設(shè)閾值的第一緩沖區(qū)域以及大小為第二預(yù)設(shè)閾值的第二緩沖區(qū)域,所述第一 緩沖區(qū)域用于存儲第一編輯數(shù)據(jù),所述第二緩沖區(qū)域用于存儲第二編輯數(shù)據(jù),所述第一編 輯數(shù)據(jù)為經(jīng)過渲染的數(shù)據(jù),所述第二編輯數(shù)據(jù)為經(jīng)過解碼但未渲染的數(shù)據(jù),以及,預(yù)先設(shè)置 有第一緩沖區(qū)域地址與內(nèi)存地址的映射關(guān)系,所述方法包括:
[0043] 在接收視頻編輯指令后,判斷所述第一緩沖區(qū)域的地址對應(yīng)的內(nèi)存地址中是否存 在第一編輯數(shù)據(jù),所述視頻編輯指令包括目標(biāo)富媒體數(shù)據(jù)的路徑信息;
[0044] 若所述內(nèi)存中存在所述第一編輯數(shù)據(jù),則獲取所述第一編輯數(shù)據(jù)并編碼;
[0045] 若所述第二緩沖區(qū)域不存在所述第一編輯數(shù)據(jù),則生成第一數(shù)據(jù)獲取請求;
[0046] 依據(jù)所述第一數(shù)據(jù)獲取請求判斷所述第二緩沖區(qū)域中是否存在第二編輯數(shù)據(jù);
[0047] 若所述第二緩沖區(qū)域存在所述第二編輯數(shù)據(jù),則獲取所述第二編輯數(shù)據(jù)并對所述 第二編輯數(shù)據(jù)進(jìn)行渲染,生成第一編輯數(shù)據(jù)存儲在第一緩沖區(qū)域中;
[0048] 若所述第二緩沖區(qū)域不存在第二編輯數(shù)據(jù),則依據(jù)所述路徑信息獲取對應(yīng)的目標(biāo) 富媒體數(shù)據(jù),對所述目標(biāo)富媒體數(shù)據(jù)進(jìn)行解碼,得到第二編輯數(shù)據(jù)存儲在第二緩沖區(qū)域中。
[0049] 優(yōu)選地,所述方法還包括:
[0050] 實時監(jiān)控所述第一緩沖區(qū)域中的第一編輯數(shù)據(jù)的數(shù)據(jù)量,以及所述第二緩沖區(qū)域 中的第二編輯數(shù)據(jù)的數(shù)據(jù)量;
[0051] 在所述第一編輯數(shù)據(jù)的數(shù)據(jù)量大于或等于第一預(yù)設(shè)閾值時,停止對第二編輯數(shù)據(jù) 的渲染;
[0052] 在所述第二編輯數(shù)據(jù)的數(shù)據(jù)量大于或等于第二預(yù)設(shè)閾值時,停止對目標(biāo)富媒體數(shù) 據(jù)的解碼。
[0053] 優(yōu)選地,所述目標(biāo)富媒體數(shù)據(jù)包括目標(biāo)視頻數(shù)據(jù),所述第二編輯數(shù)據(jù)包括第一圖 像數(shù)據(jù),所述I0S設(shè)備具有avasset reader接口,所述依據(jù)所述路徑信息獲取對應(yīng)的目標(biāo) 富媒體數(shù)據(jù),對所述目標(biāo)富媒體數(shù)據(jù)進(jìn)行解碼,得到第二編輯數(shù)據(jù)存儲在第二緩沖區(qū)域中 的步驟包括:
[0054] 所述依據(jù)所述路徑信息獲取對應(yīng)的目標(biāo)視頻數(shù)據(jù);
[0055] 采用所述avasset reader接口在內(nèi)存中對所述目標(biāo)視頻數(shù)據(jù)進(jìn)行解碼,得到預(yù)設(shè) 分辨率大小的第一圖像數(shù)據(jù);
[0056] 將所述第一圖像數(shù)據(jù)存儲在第二緩沖區(qū)域中。
[0057] 優(yōu)選地,所述第二緩沖區(qū)域位于顯存中,所述I0S設(shè)備預(yù)設(shè)有內(nèi)存地址與第二緩 沖區(qū)域地址的映射關(guān)系,所述將所述第一圖像數(shù)據(jù)存儲在第二緩沖區(qū)域中的步驟包括:
[0058] 獲取所述內(nèi)存的內(nèi)存地址;
[0059] 按照所述內(nèi)存地址與第二緩沖區(qū)域地址的映射關(guān)系,將所述第一圖像數(shù)據(jù)的存儲 地址由所述內(nèi)存地址轉(zhuǎn)換成對應(yīng)的第二緩沖區(qū)域地址。
[0060] 優(yōu)選地,所述預(yù)設(shè)分辨率大小為在所述avasset reader接口初始化時設(shè)定。
[0061] 優(yōu)選地,所述方法還包括:
[0062] 采用所述avasset reader接口在內(nèi)存中對所述目標(biāo)視頻數(shù)據(jù)進(jìn)行解碼,獲得與所 述第一圖像數(shù)據(jù)對應(yīng)的音頻數(shù)據(jù),所述音頻數(shù)據(jù)存儲在內(nèi)存中;
[0063] 在內(nèi)存中渲染所述音頻數(shù)據(jù);
[0064] 在對所述第一編輯數(shù)據(jù)進(jìn)行編碼時,從內(nèi)存中獲取與所述第一編輯數(shù)據(jù)對應(yīng)的經(jīng) 過渲染后的音頻數(shù)據(jù);
[0065] 對所述經(jīng)過渲染后的音頻數(shù)據(jù)進(jìn)行編碼。
[0066] 優(yōu)選地,所述與所述第一圖像數(shù)據(jù)對應(yīng)的音頻數(shù)據(jù),采用如下方式獲得:
[0067] 獲取所述目標(biāo)視頻數(shù)據(jù)的幀率;
[0068] 計算預(yù)設(shè)的音頻數(shù)據(jù)采樣率/幀率,得到一幀第一圖像數(shù)據(jù)對應(yīng)的音頻數(shù)據(jù)。
[0069] 優(yōu)選地,所述I0S設(shè)備具有avasset writer接口,采用所述avasset writer接口 在內(nèi)存中對所述第一編輯數(shù)據(jù)進(jìn)行編碼,最終生成視頻文件。
[0070] 優(yōu)選地,所述目標(biāo)富媒體數(shù)據(jù)包括目標(biāo)圖片數(shù)據(jù),所述第二編輯數(shù)據(jù)包括第二圖 像數(shù)據(jù),所述依據(jù)所述路徑信息獲取對應(yīng)的目標(biāo)富媒體數(shù)據(jù),對所述目標(biāo)富媒體數(shù)據(jù)進(jìn)行 解碼,得到第二編輯數(shù)據(jù)存儲在第二緩沖區(qū)域中的步驟包括:
[0071] 所述依據(jù)所述路徑信息獲取對應(yīng)的目標(biāo)圖片數(shù)據(jù);
[0072] 在內(nèi)存中采用多線程對所述目標(biāo)圖片數(shù)據(jù)進(jìn)行解碼,得到第二圖像數(shù)據(jù);
[0073] 將所述第二圖像數(shù)據(jù)從內(nèi)存中復(fù)制到第二緩沖區(qū)域中。
[0074] 優(yōu)選地,所述第一數(shù)據(jù)獲取請求包括視頻編輯樣式信息,所述獲取所述第二編輯 數(shù)據(jù)并對所述第二編輯數(shù)據(jù)進(jìn)行渲染,生成第一編輯數(shù)據(jù)存儲在第一緩沖區(qū)域中的步驟包 括:
[0075] 接收所述第一圖像數(shù)據(jù)和/或所述第二圖像數(shù)據(jù);
[0076] 解析所述視頻編輯樣式信息,獲得一個或多個特效元素;
[0077] 在所述特效元素為多個時,確定所述特效元素的組合順序;
[0078] 按照所述組合順序在所述第一圖像數(shù)據(jù)中依次添加對應(yīng)的特效元素,生成第三圖 像數(shù)據(jù);
[0079] 合并所述第三圖像數(shù)據(jù)以及所述第二圖像數(shù)據(jù),生成第一編輯數(shù)據(jù)。
[0080] 優(yōu)選地,所述按照所述組合順序在所述第一圖像數(shù)據(jù)中依次添加對應(yīng)的特效元 素,生成第三圖像數(shù)據(jù)的步驟包括:
[0081] 采用著色語言GLSL按照所述組合順序在所述第一圖像數(shù)據(jù)中依次添加對應(yīng)的特 效元素,生成第三圖像數(shù)據(jù)。
[0082] 優(yōu)選地,所述特效元素包括裁剪信息、尺寸縮放信息、顏色編輯信息、透明度編輯 信息、模糊效果信息。
[0083] 優(yōu)選地,所述路徑信息有多個,所述視頻編輯指令包括多個路徑信息的導(dǎo)入順序, 則對應(yīng)的目標(biāo)富媒體數(shù)據(jù)有多個,所述依據(jù)所述路徑信息獲取對應(yīng)的目標(biāo)富媒體數(shù)據(jù),對 所述目標(biāo)富媒體數(shù)據(jù)進(jìn)行解碼,得到第二編輯數(shù)據(jù)存儲在第二緩沖區(qū)域中的步驟包括:
[0084] 獲取與所述路徑信息對應(yīng)的多個目標(biāo)富媒體數(shù)據(jù);
[0085] 依據(jù)所述導(dǎo)入順序確定所述多個富媒體數(shù)據(jù)的解碼順序;
[0086] 按照所述解碼順序?qū)λ瞿繕?biāo)富媒體數(shù)據(jù)進(jìn)行解碼,得到第二編輯數(shù)據(jù)存儲在第 二緩沖區(qū)域中。
[0087] 與【背景技術(shù)】相比,本發(fā)明實施例包括以下優(yōu)點:
[0088] 第一,本發(fā)明實施例在進(jìn)行視頻編輯時,解碼模塊對目標(biāo)富媒體數(shù)據(jù)解碼后得到 第二編輯數(shù)據(jù),然后渲染模塊對第二編輯數(shù)據(jù)渲染完成后生成第一編輯數(shù)據(jù),編碼模塊才 對第一編輯數(shù)據(jù)進(jìn)行編碼,整個過程只需要一次編輯和解碼,提高了視頻編輯效率,提升設(shè) 備性能,同時,增強了用戶體驗;第二,本發(fā)明實施例設(shè)置了第二緩沖區(qū)域來控制解碼模塊 解碼的數(shù)據(jù)量,使得解碼模塊無需將目標(biāo)富媒體數(shù)據(jù)完整解碼好再傳輸給渲染模塊,避免 了因解碼后的數(shù)據(jù)過大導(dǎo)致存儲空間不足而限制視頻編輯發(fā)揮的情況發(fā)生,提高了 I0S設(shè) 備的性能,并且減少了渲染模塊的等待時間,降低了視頻預(yù)覽時延;
[0089] 第三,在本發(fā)明實施例中,設(shè)置了第一緩沖區(qū)域來存儲需要編碼的數(shù)據(jù),在編碼模 塊需要的時候才到第一緩沖區(qū)域的地址對應(yīng)的內(nèi)存地址中獲得數(shù)據(jù),避免了編碼模塊由于 編碼不及時而導(dǎo)致的丟幀的情況發(fā)生,從而達(dá)到準(zhǔn)確的幀級控制,提高視頻編輯實時預(yù)覽 的準(zhǔn)確性,提升視頻編輯質(zhì)量;
[0090] 第四,本發(fā)明實施例采取可組裝的特效信息添加方式,在需要用到某個特效filter 時,采用底層GLSL將該filter注冊到框架就可以(無需將一個filter寫到另一個filter 中),隨時進(jìn)行特效元素的添加或刪減,代碼重用性高,簡化了開發(fā)者的工作量,提高特效添 加效率,進(jìn)而提1?視頻預(yù)覽效率,降低視頻預(yù)覽時延;
[0091] 第五,本發(fā)明實施例在進(jìn)行特效元素添加以及貼素材時,無需進(jìn)行在特效元素添 加完后生成一次視頻,再對生成視頻進(jìn)行貼素材的過程,本發(fā)明實施例經(jīng)過一次編碼和解 碼便可完成上述動作,節(jié)省了編碼解碼時間,提高視頻編輯效率;
[0092] 第六,在本發(fā)明實施例中,采用avasset reader接口完成目標(biāo)視頻數(shù)據(jù)的解碼,由 于avasset reader接口的特性,可以直接將解碼后得到的第二編輯數(shù)據(jù)轉(zhuǎn)換至第二緩沖區(qū) 域中,而無需將第二編輯數(shù)據(jù)由內(nèi)存復(fù)制至顯存中,節(jié)省了數(shù)據(jù)傳輸?shù)臅r間,同時,防止數(shù) 據(jù)傳輸過程中數(shù)據(jù)丟失等情況的發(fā)生,提高視頻編輯準(zhǔn)確率;
[0093] 第七,本發(fā)明實施例對于目標(biāo)圖片數(shù)據(jù)的解碼,采用多線程的方式進(jìn)行,提高解碼 效率,提升設(shè)備性能。

【專利附圖】

【附圖說明】
[0094] 圖1示出了本發(fā)明的一種基于I0S設(shè)備的視頻編輯裝置實施例1的結(jié)構(gòu)框圖;
[0095] 圖2示出了本發(fā)明的本發(fā)明的一種基于I0S設(shè)備的視頻編輯裝置實施例2的結(jié)構(gòu) 框圖;
[0096] 圖3示出了本發(fā)明的一種基于I0S設(shè)備的視頻編輯裝置實施例2中的視頻編輯樣 式示意圖;
[0097] 圖4示出了本發(fā)明的一種基于I0S設(shè)備的視頻編輯方法實施例的步驟流程圖。

【具體實施方式】
[0098] 為使本發(fā)明實施例的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和

【具體實施方式】對本發(fā)明實施例作進(jìn)一步詳細(xì)的說明。
[0099] 參照圖1,示出了本發(fā)明的一種基于I0S設(shè)備的視頻編輯裝置實施例1的結(jié)構(gòu)框 圖,可以包括指令接收模塊10、編碼模塊20、渲染模塊30以及解碼模塊40,所述編碼模塊 20與所述渲染模塊30間設(shè)置有大小為第一預(yù)設(shè)閾值的第一緩沖區(qū)域,所述解碼模塊40與 所述渲染模塊30間設(shè)置有大小為第二預(yù)設(shè)閾值的第二緩沖區(qū)域,所述I0S設(shè)備預(yù)先設(shè)置有 第一緩沖區(qū)域地址與內(nèi)存地址的映射關(guān)系,其中,
[0100] 指令接收模塊10,用于接收視頻編輯指令,并將所述視頻編輯指令發(fā)送至編碼模 塊和/或解碼模塊,所述視頻編輯指令包括目標(biāo)富媒體數(shù)據(jù)的路徑信息;
[0101] 編碼模塊20,用于依據(jù)所述視頻編輯指令生成第一數(shù)據(jù)獲取請求,將所述第一數(shù) 據(jù)獲取請求發(fā)送至渲染模塊,以及,從所述第一緩沖區(qū)域的地址對應(yīng)的內(nèi)存地址中獲取一 幀第一編輯數(shù)據(jù),對所述第一編輯數(shù)據(jù)進(jìn)行編碼,其中所述第一編輯數(shù)據(jù)為經(jīng)過渲染的數(shù) 據(jù);
[0102] 渲染模塊30,用于在收到第一數(shù)據(jù)獲取請求時,或在監(jiān)測到所述第一緩沖區(qū)域中 的數(shù)據(jù)量小于第一預(yù)設(shè)閾值時,判斷所述第二緩沖區(qū)域是否存在第二編輯數(shù)據(jù),若是,則從 所述第二緩沖區(qū)域中獲取一幀第二編輯數(shù)據(jù),對所述第二編輯數(shù)據(jù)進(jìn)行渲染生成第一編輯 數(shù)據(jù),將所述第一編輯數(shù)據(jù)存儲到第一緩沖區(qū)域中;若否,則生成第二數(shù)據(jù)獲取請求,將所 述第二數(shù)據(jù)獲取請求發(fā)送至解碼模塊;所述第二編輯數(shù)據(jù)為經(jīng)過解碼但未經(jīng)過渲染的數(shù) 據(jù);
[0103] 解碼模塊40,用于在接收到所述視頻編輯指令時,或在接收到所述第二數(shù)據(jù)獲取 請求時,依據(jù)所述路徑信息獲取對應(yīng)的目標(biāo)富媒體數(shù)據(jù),對所述目標(biāo)富媒體數(shù)據(jù)進(jìn)行解碼, 得到第二編輯數(shù)據(jù)存儲在第二緩沖區(qū)域中;以及,實時監(jiān)測所述顯存區(qū)域的所述第二編輯 數(shù)據(jù)的數(shù)據(jù)量,在所述數(shù)據(jù)量大于或等于第二預(yù)設(shè)閾值時,停止解碼所述目標(biāo)富媒體數(shù)據(jù), 在所述數(shù)據(jù)量小于第二預(yù)設(shè)閾值時,繼續(xù)解碼所述目標(biāo)富媒體數(shù)據(jù)。
[0104] 具體而言,所述視頻編輯指令可以包括目標(biāo)富媒體數(shù)據(jù)的路徑信息等,第一緩沖 區(qū)域以及第二緩沖區(qū)域位于顯存中,第一緩沖區(qū)域用來存儲已經(jīng)渲染好但未編碼的數(shù)據(jù) (第一編輯數(shù)據(jù)),第二緩沖區(qū)域用來存儲已經(jīng)解碼好但未渲染的數(shù)據(jù)(第二編輯數(shù)據(jù)),采 用本發(fā)明實施例中的視頻編輯裝置進(jìn)行視頻編輯時,可以包括如下過程:
[0105] 指令接收模塊10接收到視頻編輯指令后,將所述視頻編輯指令發(fā)送至編碼模塊 20和/或解碼模塊40,編碼模塊20接收到視頻編輯指令后,依據(jù)視頻編輯指令生成第一數(shù) 據(jù)獲取請求并發(fā)送至渲染模塊30。
[0106] 渲染模塊30接收到第一數(shù)據(jù)獲取請求后,判斷第二緩沖區(qū)域是否存在第二編輯 數(shù)據(jù),若是(解碼模塊接收到視頻編輯指令的情況,此時,解碼模塊依據(jù)視頻編輯指令解碼 目標(biāo)富媒體數(shù)據(jù)),則渲染模塊30從第二緩沖區(qū)域中獲取一幀第二編輯數(shù)據(jù),對所述第二 編輯數(shù)據(jù)進(jìn)行渲染生成第一編輯數(shù)據(jù),將所述第一編輯數(shù)據(jù)存儲到第一緩沖區(qū)域中,并從 第一緩沖區(qū)域讀取至內(nèi)存中,編碼模塊20檢測到內(nèi)存中有第一編輯數(shù)據(jù),從內(nèi)存中獲取一 幀第一編輯數(shù)據(jù)進(jìn)行編碼。若渲染模塊30判斷第二緩沖區(qū)域不存在已經(jīng)解碼好的第二編 輯數(shù)據(jù)(解碼模塊沒有接收到視頻編輯指令的情況),則生成第二數(shù)據(jù)獲取請求,將所述第 二數(shù)據(jù)獲取請求發(fā)送至解碼模塊。
[0107] 解碼模塊40接收到第二數(shù)據(jù)獲取請求后,依據(jù)所述路徑信息獲取對應(yīng)的目標(biāo)富 媒體數(shù)據(jù),對所述目標(biāo)富媒體數(shù)據(jù)進(jìn)行解碼,得到第二編輯數(shù)據(jù)存儲在第二緩沖區(qū)域中,以 供渲染模塊30提取。
[0108] 本發(fā)明實施例中,渲染模塊30實時監(jiān)控第一緩沖區(qū)域中的第一編輯數(shù)據(jù)的數(shù)據(jù) 量,在所述第一編輯數(shù)據(jù)的數(shù)據(jù)量小于第一預(yù)設(shè)閾值時,判斷第二緩沖區(qū)域是否存在第二 編輯數(shù)據(jù),若是,則渲染模塊30從第二緩沖區(qū)域中獲取一幀第二編輯數(shù)據(jù),對所述第二編 輯數(shù)據(jù)進(jìn)行渲染生成第一編輯數(shù)據(jù),將所述第一編輯數(shù)據(jù)存儲到第一緩沖區(qū)域中,如此反 復(fù),直到所述第一編輯數(shù)據(jù)的數(shù)據(jù)量大于或等于第一預(yù)設(shè)閾值時,停止渲染;若渲染模塊 30判斷第二緩沖區(qū)域不存在第二編輯數(shù)據(jù),則生成第二數(shù)據(jù)獲取請求,將所述第二數(shù)據(jù)獲 取請求發(fā)送至解碼模塊40,解碼模塊40接收到第二數(shù)據(jù)獲取請求后,對所述目標(biāo)富媒體數(shù) 據(jù)進(jìn)行解碼,得到第二編輯數(shù)據(jù)存儲在第二緩沖區(qū)域中,以供渲染模塊30提取。
[0109] 解碼模塊實時監(jiān)控第二緩沖區(qū)域中的第二編輯數(shù)據(jù)的數(shù)據(jù)量,在所述第二編輯數(shù) 據(jù)的數(shù)據(jù)量小于第二預(yù)設(shè)閾值時,繼續(xù)解碼所述目標(biāo)富媒體數(shù)據(jù),獲得第二編輯數(shù)據(jù)存儲 到第二緩沖區(qū)域中,如此反復(fù),直到所述第二編輯數(shù)據(jù)的數(shù)據(jù)量大于或等于第二預(yù)設(shè)閾值 時,停止解碼目標(biāo)富媒體數(shù)據(jù)。
[0110] 需要說明的是,所述第一預(yù)設(shè)閾值以及第二預(yù)設(shè)閾值可以為跟幀率相當(dāng)?shù)娜≈担?例如若幀率為25幀/秒,則預(yù)設(shè)閾值為25幀,當(dāng)然,本領(lǐng)域技術(shù)人員也可以根據(jù)實際需求 設(shè)置為其他取值,例如1幀,2幀,本發(fā)明對此無需加以限制。
[0111] 本發(fā)明實施例在進(jìn)行視頻編輯時,解碼模塊對目標(biāo)富媒體數(shù)據(jù)解碼后得到第二 編輯數(shù)據(jù),然后渲染模塊對第二編輯數(shù)據(jù)渲染完成后生成第一編輯數(shù)據(jù),編碼模塊才對第 一編輯數(shù)據(jù)進(jìn)行編碼,整個過程只需要一次編輯和解碼,提高了視頻編輯效率,提升設(shè)備性 能,同時,增強了用戶體驗。
[0112] 另外,本發(fā)明實施例設(shè)置了第二緩沖區(qū)域來控制解碼模塊解碼的數(shù)據(jù)量,使得解 碼模塊40無需將目標(biāo)富媒體數(shù)據(jù)完整解碼好再傳輸給渲染模塊30,避免了因解碼后的數(shù) 據(jù)過大導(dǎo)致存儲空間不足而限制視頻編輯發(fā)揮的情況發(fā)生,提高了 I0S設(shè)備的性能,并且 減少了渲染模塊30的等待時間,降低了視頻預(yù)覽時延。
[0113] 另外,在本發(fā)明實施例中,設(shè)置了第一緩沖區(qū)域來存儲需要編碼的數(shù)據(jù),在編碼模 塊20需要的時候才獲得第一編碼數(shù)據(jù),避免了編碼模塊20由于編碼不及時而導(dǎo)致的丟幀 的情況發(fā)生,從而達(dá)到準(zhǔn)確的幀級控制,提高視頻編輯實時預(yù)覽的準(zhǔn)確性,提升視頻編輯質(zhì) 量。
[0114] 參照圖2,示出了本發(fā)明的一種基于I0S設(shè)備的視頻編輯裝置實施例2的結(jié)構(gòu)框 圖,所述視頻編輯裝置是基于OpenGL ES(0penGL for Embedded Systems)的視頻編輯裝 置,其中,OpenGL ES是OpenGL(Open Graphics Library,是個專業(yè)的圖形程序接口,是一個 功能強大,調(diào)用方便的底層圖形庫)的三維圖形API的子集,是免授權(quán)費的,跨平臺的,功能 完善的2D和3D圖形應(yīng)用程序接口 API,主要針對多種嵌入式設(shè)備專門設(shè)計,包括控制臺、移 動電話、手持設(shè)備、家電設(shè)備和汽車。它由精心定義的桌面OpenGL子集組成,創(chuàng)造了軟件與 圖形加速間靈活強大的底層交互接口。
[0115] 本發(fā)明實施例中的視頻編輯裝置可以包括指令接收模塊100、編碼模塊200、渲染 模塊300以及解碼模塊400,所述編碼模塊200與所述渲染模塊300間設(shè)置有大小為第一預(yù) 設(shè)閾值的第一緩沖區(qū)域,所述解碼模塊400與所述渲染模塊300間設(shè)置有大小為第二預(yù)設(shè) 閾值的第二緩沖區(qū)域,第一緩沖區(qū)域及第二緩沖區(qū)域位于顯存中,所述I0S設(shè)備預(yù)先設(shè)置 有第一緩沖區(qū)域地址與內(nèi)存地址的映射關(guān)系,以下對每個模塊加以具體說明:
[0116] 指令接收模塊100,用于接收視頻編輯指令,并將所述視頻編輯指令發(fā)送至編碼模 塊和/或解碼模塊,所述視頻編輯指令包括目標(biāo)富媒體數(shù)據(jù)的路徑信息;
[0117] 在具體實現(xiàn)中,用戶可以采用本發(fā)明實施例中的視頻編輯裝置對某個視頻進(jìn)行編 輯或者將多張圖片拼接成視頻,最后編碼成視頻文件。此時,用戶側(cè)的操作可以為:用戶在 視頻編輯裝置提供的特定入口中導(dǎo)入I0S設(shè)備中的用戶想用于編輯的富媒體數(shù)據(jù)的路徑 信息,選擇界面中給出的視頻編輯樣式,點擊"Start"等特定觸發(fā)按鈕,即可觸發(fā)本視頻編 輯裝置工作。因此,目標(biāo)富媒體數(shù)據(jù)為該用戶導(dǎo)入的路徑信息對應(yīng)的富媒體數(shù)據(jù),視頻編輯 指令為用戶點擊特定觸發(fā)按鈕所觸發(fā)的指令,本發(fā)明實施例中的視頻編輯指令可以包括目 標(biāo)富媒體數(shù)據(jù)的路徑信息,視頻編輯樣式信息,若所述路徑信息為多個,所述視頻編輯指令 還可以包括多個路徑信息的導(dǎo)入順序等,所述目標(biāo)富媒體數(shù)據(jù)可以包括目標(biāo)視頻數(shù)據(jù)和/ 或目標(biāo)圖片數(shù)據(jù)。
[0118] 需要說明的是,所述I0S設(shè)備中的富媒體數(shù)據(jù)的來源,可以為采用所述I0S設(shè)備采 集得到的,也可以是其他外部設(shè)備導(dǎo)入的,本發(fā)明實施例對富媒體數(shù)據(jù)的來源無需加以限 制。
[0119] 指令接收模塊100接收視頻編輯指令后,將該視頻編輯指令發(fā)送至編碼模塊200 和/或解碼模塊400,以觸發(fā)編碼模塊200和/或解碼模塊400的工作。
[0120] 編碼模塊200,用于依據(jù)所述視頻編輯指令生成第一數(shù)據(jù)獲取請求,將所述第一數(shù) 據(jù)獲取請求發(fā)送至渲染模塊,以及,從所述第一緩沖區(qū)域的地址對應(yīng)的內(nèi)存地址中獲取一 幀第一編輯數(shù)據(jù),對所述第一編輯數(shù)據(jù)進(jìn)行編碼,其中所述第一編輯數(shù)據(jù)為經(jīng)過渲染的數(shù) 據(jù);
[0121] 在本發(fā)明實施例中,編碼模塊200的作用是將一幀一幀的第一編輯數(shù)據(jù)編碼成視 頻文件,具體而言,指令接收模塊1〇〇接收到視頻編輯指令后,將視頻編輯指令發(fā)送至編碼 模塊200,編碼模塊200接收到視頻編輯指令后,生成第一數(shù)據(jù)獲取請求,并將所述第一數(shù) 據(jù)獲取請求發(fā)送至渲染模塊300,以觸發(fā)渲染模塊300獲取第二編輯數(shù)據(jù),并對所述第二編 輯數(shù)據(jù)進(jìn)行渲染生成第一編輯數(shù)據(jù)。
[0122] 應(yīng)用于本發(fā)明實施例,所述I0S設(shè)備具有avasset writer接口,所述編碼模塊200 還用于,采用所述avasset writer接口在內(nèi)存中對所述第一編輯數(shù)據(jù)進(jìn)行編碼,最終生成 視頻文件。在具體實現(xiàn)中,編碼模塊200向渲染模塊300發(fā)送第一數(shù)據(jù)獲取請求的過程,實 際為編碼模塊200調(diào)用渲染模塊300中的相應(yīng)函數(shù)的過程。
[0123] 渲染模塊300,用于在收到第一數(shù)據(jù)獲取請求時,或在監(jiān)測到所述第一緩沖區(qū)域 中的數(shù)據(jù)量小于第一預(yù)設(shè)閾值時,判斷所述第二緩沖區(qū)域是否存在第二編輯數(shù)據(jù),若是,則 從所述第二緩沖區(qū)域中獲取一幀第二編輯數(shù)據(jù),對所述第二編輯數(shù)據(jù)進(jìn)行渲染生成第一編 輯數(shù)據(jù),將所述第一編輯數(shù)據(jù)存儲到第一緩沖區(qū)域中;若否,則生成第二數(shù)據(jù)獲取請求,將 所述第二數(shù)據(jù)獲取請求發(fā)送至解碼模塊;所述第二編輯數(shù)據(jù)為經(jīng)過解碼但未經(jīng)過渲染的數(shù) 據(jù);
[0124] 在具體實現(xiàn)中,渲染模塊300的作用是對解碼后的第二編輯數(shù)據(jù)進(jìn)行渲染生成第 一編輯數(shù)據(jù),具體而言,渲染模塊300接收到第一數(shù)據(jù)獲取請求后,判斷第二緩沖區(qū)域是否 存在第二編輯數(shù)據(jù),若是(解碼模塊接收到視頻編輯指令的情況,此時,解碼模塊依據(jù)視頻 編輯指令解碼目標(biāo)富媒體數(shù)據(jù)),則渲染模塊300從第二緩沖區(qū)域中獲取一幀第二編輯數(shù) 據(jù),對所述第二編輯數(shù)據(jù)進(jìn)行渲染生成第一編輯數(shù)據(jù),將所述第一編輯數(shù)據(jù)存儲到第一緩 沖區(qū)域中,在實際中,渲染模塊300可以調(diào)用相應(yīng)函數(shù)將第一緩沖區(qū)域中的第一編輯數(shù)據(jù) 讀取到內(nèi)存中,編碼模塊200檢測到內(nèi)存中有第一編輯數(shù)據(jù),從內(nèi)存中獲取一幀第一編輯 數(shù)據(jù)進(jìn)行編碼。若渲染模塊300判斷第二緩沖區(qū)域不存在已經(jīng)解碼好的第二編輯數(shù)據(jù)(解 碼模塊沒有接收到視頻編輯指令的情況),則生成第二數(shù)據(jù)獲取請求,將所述第二數(shù)據(jù)獲取 請求發(fā)送至解碼模塊400。其中,渲染模塊300向解碼模塊400發(fā)送第二數(shù)據(jù)獲取請求的過 程,實際為渲染模塊300調(diào)用解碼模塊400中的相應(yīng)函數(shù)的過程。
[0125] 本發(fā)明實施例中,渲染模塊300實時監(jiān)控第一緩沖區(qū)域中的第一編輯數(shù)據(jù)的數(shù)據(jù) 量,在所述第一編輯數(shù)據(jù)的數(shù)據(jù)量小于第一預(yù)設(shè)閾值時,判斷第二緩沖區(qū)域是否存在第二 編輯數(shù)據(jù),若是,則渲染模塊300從第二緩沖區(qū)域中獲取一幀第二編輯數(shù)據(jù),對所述第二編 輯數(shù)據(jù)進(jìn)行渲染生成第一編輯數(shù)據(jù),將所述第一編輯數(shù)據(jù)存儲到第一緩沖區(qū)域中,如此反 復(fù),直到第一緩沖區(qū)域中的所述第一編輯數(shù)據(jù)的數(shù)據(jù)量大于或等于第一預(yù)設(shè)閾值時,停止 渲染;若渲染模塊300判斷第二緩沖區(qū)域不存在第二編輯數(shù)據(jù),則生成第二數(shù)據(jù)獲取請求, 將所述第二數(shù)據(jù)獲取請求發(fā)送至解碼模塊40。
[0126] 本發(fā)明實施例設(shè)置第一緩沖區(qū)域存儲第一編輯數(shù)據(jù),編碼模塊編碼完一幀第一編 輯數(shù)據(jù)后,從內(nèi)存中獲取下一幀第一編輯數(shù)據(jù)進(jìn)行編碼,編碼模塊在需要的時候才獲取第 一編輯數(shù)據(jù),避免因編碼不及時導(dǎo)致的丟幀的情況發(fā)生,提高視頻編輯質(zhì)量,提升I0S設(shè)備 性能。需要說明的是,所述第一預(yù)設(shè)閾值可以為跟幀率相當(dāng)?shù)娜≈?,?dāng)然本領(lǐng)域技術(shù)人員也 可以根據(jù)實際需求將第一預(yù)設(shè)閾值設(shè)置為其他取值,例如1幀,2幀,本發(fā)明對此無需加以 限制。
[0127] 在實際中,對第二編輯數(shù)據(jù)進(jìn)行渲染的過程,可以為對第二編輯數(shù)據(jù)添加特效以 及貼素材的過程。由于視頻編輯指令中包含視頻編輯樣式信息,因此依據(jù)視頻編輯指令生 成的第一數(shù)據(jù)獲取請求也包含視頻編輯樣式信息,在本發(fā)明實施例的一種優(yōu)選實施例中, 渲染模塊300可以包括如下子模塊 :
[0128] 數(shù)據(jù)接收子模塊3001,接收第一圖像數(shù)據(jù)和/或第二圖像數(shù)據(jù);
[0129] 具體而言,第一圖像數(shù)據(jù)為對目標(biāo)視頻數(shù)據(jù)解碼后得到的數(shù)據(jù),第二圖像數(shù)據(jù)為 對目標(biāo)圖片數(shù)據(jù)解碼后得到的數(shù)據(jù)。第二圖像數(shù)據(jù)可以作為素材數(shù)據(jù),貼在第一圖像數(shù)據(jù) 中。對于第一圖像數(shù)據(jù)以及第二圖像數(shù)據(jù)將在下面解碼模塊中加以具體說明。
[0130] 解析子模塊3002,用于解析所述視頻編輯樣式信息,獲得一個或多個特效元素;
[0131] 順序確定子模塊3003,用于在所述特效元素為多個時,確定所述特效元素的組合 順序;
[0132] 具體而言,視頻編輯樣式信息為上述用戶側(cè)操作中用戶選擇的視頻編輯樣式后生 成的信息,是用戶所想要添加到目標(biāo)富媒體數(shù)據(jù)中的特效元素以及素材元素的組合,通過 解析視頻編輯樣式信息可以獲得一個或多個特效元素,以及在特效信息為多個時,可以確 定所述特效元素的組合順序。例如,如圖3所示的視頻編輯樣式示意圖,對該視頻編輯樣式 解析,可知其添加了透明泡泡特效以及顏色特效,而由于視頻編輯樣式中的泡泡是有顏色 的,可以得知兩個特效的組合順序是先添加透明泡泡特效,然后添加顏色特效。
[0133] 進(jìn)一步地,還可以依據(jù)所述視頻編輯樣式信息獲取特效元素添加的位置信息,即 特效元素添加到視頻的哪個時間段上。例如,若一段視頻數(shù)據(jù)一共有10秒,若需要在4-6 秒添加特效元素,則特效元素添加在4-6秒的幀上。
[0134] 所述特效元素可以包括裁剪信息、尺寸縮放信息、顏色編輯信息、透明度編輯信 息、模糊效果信息等。在實際中,可以使用濾鏡(filter)來添加特效元素。
[0135] 特效添加子模塊3004,用于按照所述組合順序在所述第一圖像數(shù)據(jù)中依次添加對 應(yīng)的特效元素,生成第三圖像數(shù)據(jù);
[0136] 具體而言,渲染模塊300內(nèi)部包含各種不同的獨立的且模塊化了的filter,可以 根據(jù)用戶的選擇來進(jìn)行不同的組合得到不一樣的效果。具體的,可以按照組合順序?qū)⒍?個特效元素的濾鏡filter串聯(lián)起來,當(dāng)處理到特效元素添加的位置信息時,對該位置信息 上的每一幀第一圖像數(shù)據(jù),依次被串聯(lián)起來的濾鏡渲染后生成第三圖像數(shù)據(jù),例如,一個 1920x1080的第二編輯數(shù)據(jù),最后要生成一個480x480正方形的第一編輯數(shù)據(jù),可以先經(jīng)過 裁剪filter,裁剪成1080x1080,然后通過縮放filter縮放成480x480。
[0137] 在本發(fā)明實施例中,可以采用著色語言GLSL按照組合順序在第一圖像數(shù)據(jù)中依 次添加對應(yīng)的特效元素,生成第三圖像數(shù)據(jù)。GLSL(0penGL Shading Language, OpenGL著 色語言)是用來在OpenGL中著色編程的語言,也即開發(fā)人員寫的短小的自定義程序,是在 圖形卡的GPU(Graphic Processor Unit圖形處理器)上執(zhí)行的,代替了固定的渲染管線的 一部分,使渲染管線中不同層次具有可編程型。比如:視圖轉(zhuǎn)換、投影轉(zhuǎn)換等。可以將GLSL 所寫的代碼直接作為長字符串資源放進(jìn)應(yīng)用程序中。
[0138] 本發(fā)明實施例采取可組裝的特效信息添加方式,在需要用到某個特效filter時, 采用底層GLSL將該filter注冊到框架就可以(無需將一個filter寫到另一個filter中), 隨時進(jìn)行特效元素的添加或刪減,代碼重用性高,簡化了開發(fā)者的工作量,提高特效添加效 率,進(jìn)而提高視頻預(yù)覽效率,降低視頻預(yù)覽時延。
[0139] 第一編輯數(shù)據(jù)生成子模塊3005,用于合并所述第三圖像數(shù)據(jù)以及所述第二圖像數(shù) 據(jù),生成第一編輯數(shù)據(jù)。
[0140] 具體而言,對第一圖像數(shù)據(jù)添加特效元素生成第三圖像數(shù)據(jù)后,以第二圖像數(shù)據(jù) 作為素材元素貼到第三圖像數(shù)據(jù)中,即合并第三圖像數(shù)據(jù)以及第二圖像數(shù)據(jù),生成第一編 輯數(shù)據(jù)。在具體實現(xiàn)中,可以通過疊加運算例如第三圖像數(shù)據(jù)以及第二圖像數(shù)據(jù)的對應(yīng)位 置像素相加的方式來實現(xiàn)第三圖像數(shù)據(jù)和第二圖像數(shù)據(jù)的合并。
[0141] 本發(fā)明實施例在進(jìn)行特效元素添加以及貼素材時,無需進(jìn)行在特效元素添加完后 生成一次視頻,再對生成視頻進(jìn)行貼素材的過程,本發(fā)明實施例經(jīng)過一次編碼和解碼便可 完成上述動作,節(jié)省了編碼解碼時間,提高視頻編輯效率。
[0142] 在本發(fā)明實施例中,I0S設(shè)備包括圖形處理器GPU(Graphic Processing Unit,圖 形處理器,GPU是顯示卡的"大腦",它決定了該顯卡的檔次和大部分性能),渲染模塊300位 于GPU中,則渲染模塊300與編碼模塊200位于不同線程中(例如,渲染模塊300位于第一 線程中,編碼模塊200位于第二線程中),且并行運行。解碼模塊400,用于在接收到視頻編 輯指令時,或在接收到所述所述第二數(shù)據(jù)獲取請求時,依據(jù)所述路徑信息獲取對應(yīng)的目標(biāo) 富媒體數(shù)據(jù),對所述目標(biāo)富媒體數(shù)據(jù)進(jìn)行解碼,得到第二編輯數(shù)據(jù)存儲在第二緩沖區(qū)域中; 以及,實時監(jiān)測所述第二緩沖區(qū)域的所述第二編輯數(shù)據(jù)的數(shù)據(jù)量,在所述數(shù)據(jù)量大于或等 于第二預(yù)設(shè)閾值時,停止解碼所述目標(biāo)富媒體數(shù)據(jù),在所述數(shù)據(jù)量小于第二預(yù)設(shè)閾值時,繼 續(xù)解碼所述目標(biāo)富媒體數(shù)據(jù)。
[0143] 在本發(fā)明實施例中,解碼模塊400的作用是將目標(biāo)富媒體數(shù)據(jù)解碼成一幀一幀的 原始數(shù)據(jù)(即第二編輯數(shù)據(jù))。具體而言,若解碼模塊400接收到視頻編輯指令,則解碼模 塊400在初始化時即開始解碼目標(biāo)富媒體數(shù)據(jù),具體的,解碼模塊400依據(jù)所述路徑信息獲 取對應(yīng)的目標(biāo)富媒體數(shù)據(jù),對所述目標(biāo)富媒體數(shù)據(jù)進(jìn)行解碼,得到第二編輯數(shù)據(jù)存儲在第 二緩沖區(qū)域中,以供渲染模塊300提取。若解碼模塊400沒有接收到視頻編輯指令,則解碼 模塊400在接收到第二數(shù)據(jù)獲取請求后才開始解碼目標(biāo)富媒體數(shù)據(jù),具體的,解碼模塊接 收到第二數(shù)據(jù)獲取請求后,依據(jù)所述路徑信息獲取對應(yīng)的目標(biāo)富媒體數(shù)據(jù),對所述目標(biāo)富 媒體數(shù)據(jù)進(jìn)行解碼,得到第二編輯數(shù)據(jù)存儲在第二緩沖區(qū)域中,以供渲染模塊300提取。
[0144] 本發(fā)明實施例中,解碼模塊400實時監(jiān)控第二緩沖區(qū)域中的第二編輯數(shù)據(jù)的數(shù)據(jù) 量,在所述第二編輯數(shù)據(jù)的數(shù)據(jù)量小于第二預(yù)設(shè)閾值時,繼續(xù)解碼所述目標(biāo)富媒體數(shù)據(jù),獲 得第二編輯數(shù)據(jù)存儲到第二緩沖區(qū)域中,如此反復(fù),直到所述第二緩沖區(qū)域中的第二編輯 數(shù)據(jù)的數(shù)據(jù)量大于或等于第二預(yù)設(shè)閾值時,停止解碼目標(biāo)富媒體數(shù)據(jù)。其中,所述第二預(yù)設(shè) 閾值可以為跟幀率相當(dāng)?shù)娜≈?,?dāng)然本領(lǐng)域技術(shù)人員也可以根據(jù)實際需求將第二預(yù)設(shè)閾值 設(shè)置為其他取值,例如1幀,2幀,本發(fā)明對此無需加以限制。
[0145] 本發(fā)明實施例設(shè)置第二緩沖區(qū)域,使得解碼模塊400只需要解碼一部分目標(biāo)富媒 體數(shù)據(jù)即可開始渲染及編碼操作,無需將目標(biāo)富媒體數(shù)據(jù)完整解碼好再傳輸給渲染模塊 300,避免了因解碼后的數(shù)據(jù)過大導(dǎo)致存儲空間不足限制視頻編輯發(fā)揮的情況發(fā)生,提高了 設(shè)備性能,且減少了對渲染模塊300的等待時間,降低了視頻預(yù)覽時延。
[0146] 在具體實現(xiàn)中,若所述路徑信息有多個,則視頻編輯指令包括多個路徑信息的導(dǎo) 入順序,則依據(jù)視頻編輯指令生成的第二數(shù)據(jù)獲取請求可以包括多個路徑信息的導(dǎo)入順 序,解碼模塊400在對目標(biāo)富媒體數(shù)據(jù)解碼時,還可以依據(jù)所述導(dǎo)入順序確定所述多個富 媒體數(shù)據(jù)的解碼順序;按照所述解碼順序?qū)λ瞿繕?biāo)富媒體數(shù)據(jù)進(jìn)行解碼。即在導(dǎo)入多個 富媒體數(shù)據(jù)的路徑的情況下,先解碼第一個導(dǎo)入的富媒體數(shù)據(jù)的路徑對應(yīng)的富媒體數(shù)據(jù)。
[0147] 在本發(fā)明實施例中,目標(biāo)富媒體數(shù)據(jù)可以包括目標(biāo)圖片數(shù)據(jù)以及目標(biāo)視頻數(shù)據(jù), 相對應(yīng)地,所述第二編輯數(shù)據(jù)可以包括第一圖像數(shù)據(jù),和/或第二圖像數(shù)據(jù),解碼模塊400 可以包括視頻解碼子模塊4001以及圖片解碼子模塊4002,視頻解碼子模塊4001用于對目 標(biāo)視頻數(shù)據(jù)進(jìn)行解碼,得到第一圖像數(shù)據(jù);圖片解碼子模塊4002用于對目標(biāo)圖片數(shù)據(jù)進(jìn)行 解碼,得到第二圖像數(shù)據(jù)。
[0148] 在本發(fā)明實施例的一種優(yōu)選實施例中,所述I0S設(shè)備具有avasset reader接口, 所述I0S設(shè)備預(yù)設(shè)有內(nèi)存地址與第二緩沖區(qū)域地址的映射關(guān)系,所述視頻解碼子模塊可以 包括如下單元:
[0149] 解碼單元,用于采用所述avasset reader接口在內(nèi)存中對所述目標(biāo)視頻數(shù)據(jù)進(jìn)行 解碼,得到第一圖像數(shù)據(jù)以及與所述第一圖像數(shù)據(jù)對應(yīng)的音頻數(shù)據(jù);
[0150] 具體而言,avasset 是 I0S 設(shè)備中的一個視頻 API (Application Programming Interface,應(yīng)用程序編程接口)接口,avasset reader接口用來解碼目標(biāo)視頻數(shù)據(jù),得 到一幀一幀的第一圖像數(shù)據(jù)以及與所述第一圖像數(shù)據(jù)對應(yīng)的音頻數(shù)據(jù)??梢酝ㄟ^初始化 所述avasset reader接口來設(shè)置輸出的一巾貞第一圖像數(shù)據(jù)的分辨率大小,從而省略將其 他分辨率縮放至需要的分辨率的過程,節(jié)省時間的同時,提升了后續(xù)的渲染速度。其中, 所述分辨率可以為I0S設(shè)備的最佳顯示分辨率,例如,需求的分辨率是640x480,可以直接 通過avasset reader的初始化來設(shè)置輸出大小,這樣可以直接減掉一些高清視頻縮放到 640x480的過程,提升后續(xù)的渲染速度。
[0151] 在本發(fā)明實施例的一種優(yōu)選實施例中,所述與所述第一圖像數(shù)據(jù)對應(yīng)的音頻數(shù) 據(jù),可以采用如下方式獲得:獲取所述目標(biāo)視頻數(shù)據(jù)的幀率;計算預(yù)設(shè)的音頻數(shù)據(jù)采樣率/ 幀率,得到一幀第一圖像數(shù)據(jù)對應(yīng)的音頻數(shù)據(jù)。
[0152] 具體的,幀率(Frame rate)是用于測量顯示幀數(shù)的量度。所謂的測量單位為每 秒顯示巾貞數(shù)(Frames per Second,簡稱:FPS)或"赫茲"(Hz),所述目標(biāo)視頻數(shù)據(jù)的巾貞率 可以從所述目標(biāo)視頻數(shù)據(jù)的頭文件中獲得,音頻采樣率是指錄音設(shè)備在一秒鐘內(nèi)對聲音信 號的采樣次數(shù),采樣頻率越高聲音的還原就越真實越自然,在數(shù)字音頻領(lǐng)域,常用的采樣 率有:8, 000Hz、ll, 025Hz、22, 050Hz、32, 000Hz、44, 100Hz、47, 250Hz、48, 000Hz、50, 000Hz、 50, 400Hz、96, 000或者192, 000Hz、2. 8224MHz等。計算預(yù)設(shè)的音頻數(shù)據(jù)采樣率/幀率,得到 一幀第一圖像數(shù)據(jù)對應(yīng)的音頻數(shù)據(jù),例如,目標(biāo)視頻數(shù)據(jù)的幀率是25幀每秒,音頻采樣率 是8000Hz (表示一秒鐘采樣了 8000個點,假設(shè)每個點是一個字節(jié),那么一秒鐘音頻數(shù)據(jù)量 就是8000個字節(jié)),計算出一幀第一圖像數(shù)據(jù)對應(yīng)的音頻數(shù)據(jù)為8000/25 = 320個字節(jié)。
[0153] 轉(zhuǎn)換單元,用于獲取所述內(nèi)存的內(nèi)存地址,按照所述內(nèi)存地址與第二緩沖區(qū)域地 址的映射關(guān)系,將所述第一圖像數(shù)據(jù)的存儲地址由所述內(nèi)存地址轉(zhuǎn)換成對應(yīng)的第二緩沖區(qū) 域地址。
[0154] 在本發(fā)明實施例中,采用avasset reader接口完成目標(biāo)視頻數(shù)據(jù)的解碼,由于 avasset reader接口的特性,可以直接將解碼后得到的第二編輯數(shù)據(jù)轉(zhuǎn)換至第二緩沖區(qū)域 中,具體的,本發(fā)明實施例的I0S設(shè)備上預(yù)設(shè)有內(nèi)存地址與第二緩沖區(qū)域地址的映射關(guān)系, 當(dāng)解碼出第二編輯數(shù)據(jù)后,可以通過avasset reader接口,依據(jù)所述內(nèi)存地址與第二緩沖 區(qū)域地址的映射關(guān)系,直接將第二編輯數(shù)據(jù)的內(nèi)存地址轉(zhuǎn)換成第二緩沖區(qū)域地址,期間第 二編輯數(shù)據(jù)的存儲位置并沒發(fā)生變化,只是存儲的地址名稱發(fā)生了改變,而無需將第二編 輯數(shù)據(jù)由內(nèi)存復(fù)制至顯存中,節(jié)省了數(shù)據(jù)傳輸?shù)臅r間,同時,防止數(shù)據(jù)傳輸過程中數(shù)據(jù)丟失 等情況的發(fā)生,提商視頻編輯準(zhǔn)確率。
[0155] 需要說明的是,對目標(biāo)視頻數(shù)據(jù)解碼后得到的第一圖像數(shù)據(jù)存儲在顯存的第二緩 沖區(qū)域中,并在顯存中對所述第一圖像數(shù)據(jù)進(jìn)行渲染;而解碼后得到的與所述第一圖像數(shù) 據(jù)對應(yīng)的音頻數(shù)據(jù)存儲在內(nèi)存中,本發(fā)明實施例還設(shè)置有音頻渲染模塊,用于在內(nèi)存中對 所述音頻數(shù)據(jù)進(jìn)行渲染(包括變調(diào)處理等)。對于所述音頻數(shù)據(jù),所述編碼模塊還用于,在 內(nèi)存中獲取每一幀第一編輯數(shù)據(jù)對應(yīng)的音頻數(shù)據(jù);在內(nèi)存中對所述第一編輯數(shù)據(jù)以及對應(yīng) 的音頻數(shù)據(jù)進(jìn)行編碼。
[0156] 本發(fā)明實施例采用avasset reader接口來解碼目標(biāo)視頻數(shù)據(jù),由于avasset reader本身的工作原理是,想要獲取哪個時間的幀,就會解碼對應(yīng)的幀,不存在與音頻數(shù)據(jù) 的同步,避免了調(diào)用播放器來解碼視頻時出現(xiàn)音視頻同步導(dǎo)致的后期處理時間不夠快出現(xiàn) 的丟幀的情況,達(dá)到精準(zhǔn)的幀級控制。
[0157] 對于目標(biāo)圖片數(shù)據(jù)的解碼,本實施例中的圖片解碼子模塊采用多線程的方式在內(nèi) 存中對所述目標(biāo)圖片數(shù)據(jù)進(jìn)行解碼,提高解碼效率,提升設(shè)備性能。解碼后得到的第二圖像 數(shù)據(jù)可以通過opengles的teximage2d函數(shù)由內(nèi)存中復(fù)制到第二緩沖區(qū)域中。另外,若圖 片解碼子模塊用來將多張圖片拼接成視頻,由于在所述第二緩沖區(qū)域中的所述第二圖像數(shù) 據(jù)的數(shù)據(jù)量大于第二預(yù)設(shè)閾值,停止解碼所述目標(biāo)圖片數(shù)據(jù),否則,繼續(xù)解碼所述目標(biāo)圖片 數(shù)據(jù),防止出現(xiàn)多張圖片拼接成視頻時存儲空間不夠而導(dǎo)致需要限制拼接圖片張數(shù)引起的 影響視頻質(zhì)量的問題,提升視頻編輯質(zhì)量。
[0158] 參照圖4,示出了本發(fā)明的一種基于I0S設(shè)備的視頻編輯方法實施例的步驟流程 圖,所述I0S設(shè)備設(shè)置有大小為第一預(yù)設(shè)閾值的第一緩沖區(qū)域以及大小為第二預(yù)設(shè)閾值的 第二緩沖區(qū)域,所述第一緩沖區(qū)域用于存儲第一編輯數(shù)據(jù),所述第二緩沖區(qū)域用于存儲第 二編輯數(shù)據(jù),所述第一編輯數(shù)據(jù)為經(jīng)過渲染的數(shù)據(jù),所述第二編輯數(shù)據(jù)為經(jīng)過解碼但未渲 染的數(shù)據(jù),以及,預(yù)先設(shè)置有第一緩沖區(qū)域地址與內(nèi)存地址的映射關(guān)系,本發(fā)明實施例可以 包括如下步驟:
[0159] 步驟401,接收視頻編輯指令,所述視頻編輯指令包括目標(biāo)富媒體數(shù)據(jù)的路徑信 息;
[0160] 步驟402,判斷所述第一緩沖區(qū)域的地址對應(yīng)的內(nèi)存地址中是否存在第一編輯數(shù) 據(jù),若是,執(zhí)行步驟403,若否,執(zhí)行步驟404 ;
[0161] 步驟403,獲取所述第一編輯數(shù)據(jù)并編碼;
[0162] 步驟404,生成第一數(shù)據(jù)獲取請求,繼續(xù)執(zhí)行步驟405 ;
[0163] 步驟405,依據(jù)所述第一數(shù)據(jù)獲取請求判斷所述第二緩沖區(qū)域中是否存在第二編 輯數(shù)據(jù),若是,執(zhí)行步驟406,若否,執(zhí)行步驟407 ;
[0164] 步驟406,獲取所述第二編輯數(shù)據(jù)并對所述第二編輯數(shù)據(jù)進(jìn)行渲染,生成第一編輯 數(shù)據(jù)存儲在第一緩沖區(qū)域中,返回執(zhí)行步驟402 ;
[0165] 步驟407,依據(jù)所述路徑信息獲取對應(yīng)的目標(biāo)富媒體數(shù)據(jù),對所述目標(biāo)富媒體數(shù)據(jù) 進(jìn)行解碼,得到第二編輯數(shù)據(jù)存儲在第二緩沖區(qū)域中,返回執(zhí)行步驟405。
[0166] 在本發(fā)明的一種優(yōu)選實施例中,本發(fā)明實施例還可以包括:
[0167] 實時監(jiān)控所述第一緩沖區(qū)域中的第一編輯數(shù)據(jù)的數(shù)據(jù)量,以及所述第二緩沖區(qū)域 中的第二編輯數(shù)據(jù)的數(shù)據(jù)量,在所述第二編輯數(shù)據(jù)的數(shù)據(jù)量大于或等于第二預(yù)設(shè)閾值時, 停止對目標(biāo)富媒體數(shù)據(jù)的解碼。
[0168] 在本發(fā)明的一種優(yōu)選實施例中,所述目標(biāo)富媒體數(shù)據(jù)包括目標(biāo)視頻數(shù)據(jù),所述第 二編輯數(shù)據(jù)包括第一圖像數(shù)據(jù),所述I0S設(shè)備具有avasset reader接口,所述步驟407可 以包括如下子步驟:
[0169] 子步驟S11,所述依據(jù)所述路徑信息獲取對應(yīng)的目標(biāo)視頻數(shù)據(jù);
[0170] 子步驟S12,采用所述avasset reader接口在內(nèi)存中對所述目標(biāo)視頻數(shù)據(jù)進(jìn)行解 碼,得到預(yù)設(shè)分辨率大小的第一圖像數(shù)據(jù);
[0171] 其中,所述預(yù)設(shè)分辨率大小為在所述avasset reader接口初始化時設(shè)定。
[0172] 子步驟S13,將所述第一圖像數(shù)據(jù)存儲在第二緩沖區(qū)域中。
[0173] 在本發(fā)明的一種優(yōu)選實施例中,所述第二緩沖區(qū)域位于顯存中,所述I0S設(shè)備預(yù) 設(shè)有內(nèi)存地址與第二緩沖區(qū)域地址的映射關(guān)系,所述子步驟S13進(jìn)一步可以包括如下子步 驟:
[0174] 子步驟S131,獲取所述內(nèi)存的內(nèi)存地址;
[0175] 子步驟S132,按照所述內(nèi)存地址與第二緩沖區(qū)域地址的映射關(guān)系,將所述第一圖 像數(shù)據(jù)的存儲地址由所述內(nèi)存地址轉(zhuǎn)換成對應(yīng)的第二緩沖區(qū)域地址。
[0176] 在本發(fā)明的一種優(yōu)選實施例中,所述方法還可以包括:
[0177] 采用所述avasset reader接口在內(nèi)存中對所述目標(biāo)視頻數(shù)據(jù)進(jìn)行解碼,與所述第 一圖像數(shù)據(jù)對應(yīng)的音頻數(shù)據(jù),所述音頻數(shù)據(jù)存儲在內(nèi)存中;
[0178] 在內(nèi)存中渲染所述音頻數(shù)據(jù);
[0179] 在對所述第一編輯數(shù)據(jù)進(jìn)行編碼時,從內(nèi)存中獲取與所述第一編輯數(shù)據(jù)對應(yīng)的經(jīng) 過渲染后的音頻數(shù)據(jù);
[0180] 對經(jīng)過渲染后的音頻數(shù)據(jù)進(jìn)行編碼。
[0181] 在本發(fā)明的一種優(yōu)選實施例中,所述與所述第一圖像數(shù)據(jù)對應(yīng)的音頻數(shù)據(jù),可以 采用如下方式獲得:
[0182] 獲取所述目標(biāo)視頻數(shù)據(jù)的幀率;
[0183] 計算預(yù)設(shè)的音頻數(shù)據(jù)采樣率/幀率,得到一幀第一圖像數(shù)據(jù)對應(yīng)的音頻數(shù)據(jù)。
[0184] 在本發(fā)明的一種優(yōu)選實施例中,所述I0S設(shè)備具有avasset writer接口,采用所 述avasset writer接口在內(nèi)存中對所述第一編輯數(shù)據(jù)進(jìn)行編碼,最終生成視頻文件。
[0185] 在本發(fā)明的一種優(yōu)選實施例中,所述目標(biāo)富媒體數(shù)據(jù)包括目標(biāo)圖片數(shù)據(jù),所述第 二編輯數(shù)據(jù)包括第二圖像數(shù)據(jù),所述步驟407可以包括如下子步驟 :
[0186] 子步驟S21,所述依據(jù)所述路徑信息獲取對應(yīng)的目標(biāo)圖片數(shù)據(jù);
[0187] 子步驟S22,在內(nèi)存中采用多線程對所述目標(biāo)圖片數(shù)據(jù)進(jìn)行解碼,得到第二圖像數(shù) 據(jù);
[0188] 子步驟S23,將所述第二圖像數(shù)據(jù)從內(nèi)存中復(fù)制到第二緩沖區(qū)域中。
[0189] 在本發(fā)明的一種優(yōu)選實施例中,所述第一數(shù)據(jù)獲取請求包括視頻編輯樣式信息, 所述步驟406可以包括如下子步驟 :
[0190] 子步驟S31,接收所述第一圖像數(shù)據(jù)和/或所述第二圖像數(shù)據(jù);
[0191] 子步驟S32,解析所述視頻編輯樣式信息,獲得一個或多個特效元素;
[0192] 子步驟S33,在所述特效元素為多個時,確定所述特效元素的組合順序;
[0193] 子步驟S34,按照所述組合順序在所述第一圖像數(shù)據(jù)中依次添加對應(yīng)的特效元素, 生成第三圖像數(shù)據(jù);
[0194] 子步驟S35,合并所述第三圖像數(shù)據(jù)以及所述第二圖像數(shù)據(jù),生成第一編輯數(shù)據(jù)。
[0195] 在本發(fā)明的一種優(yōu)選實施例中,所述子步驟S34進(jìn)一步可以包括如下子步驟:
[0196] 子步驟S341,采用著色語言GLSL按照所述組合順序在所述第一圖像數(shù)據(jù)中依次 添加對應(yīng)的特效元素,生成第三圖像數(shù)據(jù)。
[0197] 作為本發(fā)明實施例的一種示例,所述特效元素可以包括裁剪信息、尺寸縮放信息、 顏色編輯信息、透明度編輯信息、模糊效果信息。
[0198] 在本發(fā)明的一種優(yōu)選實施例中,所述路徑信息有多個,所述視頻編輯指令包括多 個路徑信息的導(dǎo)入順序,則對應(yīng)的目標(biāo)富媒體數(shù)據(jù)有多個,所述步驟407可以包括如下子 步驟:
[0199] 子步驟S41,獲取與所述路徑信息對應(yīng)的多個目標(biāo)富媒體數(shù)據(jù);
[0200] 子步驟S42,依據(jù)所述導(dǎo)入順序確定所述多個富媒體數(shù)據(jù)的解碼順序;
[0201] 子步驟S43,按照所述解碼順序?qū)λ瞿繕?biāo)富媒體數(shù)據(jù)進(jìn)行解碼,得到第二編輯數(shù) 據(jù)存儲在第二緩沖區(qū)域中。
[0202] 對于方法實施例而言,由于其與上述裝置實施例基本相似,所以描述的比較簡單, 相關(guān)之處參照在通訊錄中添加插件的方法實施例的部分說明即可。
[0203] 本說明書中的各個實施例均采用遞進(jìn)的方式描述,每個實施例重點說明的都是與 其他實施例的不同之處,各個實施例之間相同相似的部分互相參照即可。
[0204] 本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明實施例的實施例可提供為方法、裝置、或計算 機(jī)程序產(chǎn)品。因此,本發(fā)明實施例可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和 硬件方面的實施例的形式。而且,本發(fā)明實施例可采用在一個或多個其中包含有計算機(jī)可 用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上 實施的計算機(jī)程序產(chǎn)品的形式。
[0205] 本發(fā)明實施例是參照根據(jù)本發(fā)明實施例的方法、移動設(shè)備(系統(tǒng))、和計算機(jī)程序 產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實現(xiàn)流程圖和/或方框 圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商?供這些計算機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理 移動設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理移動設(shè)備的處 理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多 個方框中指定的功能的裝置。
[0206] 這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理移動設(shè)備 以特定方式工作的計算機(jī)可讀存儲器中,使得存儲在該計算機(jī)可讀存儲器中的指令產(chǎn)生包 括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方 框或多個方框中指定的功能。
[0207] 這些計算機(jī)程序指令也可裝載到計算機(jī)或其他可編程數(shù)據(jù)處理移動設(shè)備上,使得 在計算機(jī)或其他可編程移動設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實現(xiàn)的處理,從而在 計算機(jī)或其他可編程移動設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程 和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0208] 盡管已描述了本發(fā)明實施例的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基 本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為 包括優(yōu)選實施例以及落入本發(fā)明實施例范圍的所有變更和修改。
[0209] 最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將 一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作 之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語"包括"、"包含"或者其任何其他變體意 在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者移動設(shè)備不僅包 括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品 或者移動設(shè)備所固有的要素。在沒有更多限制的情況下,由語句"包括一個……"限定的要 素,并不排除在包括所述要素的過程、方法、物品或者移動設(shè)備中還存在另外的相同要素。
[0210] 以上對本發(fā)明實施例所提供的一種基于I0S設(shè)備的視頻編輯裝置和一種基于I0S 設(shè)備的視頻編輯方法進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明實施例的原理及實 施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明實施例的方法及其核心思 想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明實施例的思想,在【具體實施方式】及應(yīng)用 范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明實施例的限制。
【權(quán)利要求】
1. 一種基于IOS設(shè)備的視頻編輯裝置,其特征在于,包括指令接收模塊、編碼模塊、渲 染模塊、解碼模塊,所述編碼模塊與所述渲染模塊間設(shè)置有大小為第一預(yù)設(shè)閾值的第一緩 沖區(qū)域,所述解碼模塊與所述渲染模塊間設(shè)置有大小為第二預(yù)設(shè)閾值的第二緩沖區(qū)域,所 述I0S設(shè)備預(yù)先設(shè)置有第一緩沖區(qū)域地址與內(nèi)存地址的映射關(guān)系,其中, 指令接收模塊,用于接收視頻編輯指令,并將所述視頻編輯指令發(fā)送至編碼模塊和/ 或解碼模塊,所述視頻編輯指令包括目標(biāo)富媒體數(shù)據(jù)的路徑信息; 編碼模塊,用于依據(jù)所述視頻編輯指令生成第一數(shù)據(jù)獲取請求,將所述第一數(shù)據(jù)獲取 請求發(fā)送至渲染模塊,以及,從所述第一緩沖區(qū)域的地址對應(yīng)的內(nèi)存地址中獲取一幀第一 編輯數(shù)據(jù),對所述第一編輯數(shù)據(jù)進(jìn)行編碼,其中所述第一編輯數(shù)據(jù)為經(jīng)過渲染的數(shù)據(jù); 渲染模塊,用于在收到第一數(shù)據(jù)獲取請求時,或在監(jiān)測到所述第一緩沖區(qū)域中的數(shù)據(jù) 量小于第一預(yù)設(shè)閾值時,判斷所述第二緩沖區(qū)域是否存在第二編輯數(shù)據(jù),若是,則從所述第 二緩沖區(qū)域中獲取一幀第二編輯數(shù)據(jù),對所述第二編輯數(shù)據(jù)進(jìn)行渲染生成第一編輯數(shù)據(jù), 將所述第一編輯數(shù)據(jù)存儲到第一緩沖區(qū)域中;若否,則生成第二數(shù)據(jù)獲取請求,將所述第二 數(shù)據(jù)獲取請求發(fā)送至解碼模塊;所述第二編輯數(shù)據(jù)為經(jīng)過解碼但未經(jīng)過渲染的數(shù)據(jù); 解碼模塊,用于在接收到所述視頻編輯指令時,或在接收到所述第二數(shù)據(jù)獲取請求時, 依據(jù)所述路徑信息獲取對應(yīng)的目標(biāo)富媒體數(shù)據(jù),對所述目標(biāo)富媒體數(shù)據(jù)進(jìn)行解碼,得到第 二編輯數(shù)據(jù)存儲在第二緩沖區(qū)域中,以及,實時監(jiān)測所述第二緩沖區(qū)域的所述第二編輯數(shù) 據(jù)的數(shù)據(jù)量,在所述數(shù)據(jù)量大于或等于第二預(yù)設(shè)閾值時,停止解碼所述目標(biāo)富媒體數(shù)據(jù),在 所述數(shù)據(jù)量小于第二預(yù)設(shè)閾值時,繼續(xù)解碼所述目標(biāo)富媒體數(shù)據(jù)。
2. 根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述目標(biāo)富媒體數(shù)據(jù)包括目標(biāo)視頻數(shù)據(jù) 和/或目標(biāo)圖片數(shù)據(jù),所述第二編輯數(shù)據(jù)包括第一圖像數(shù)據(jù),和/或第二圖像數(shù)據(jù),所述解 碼模塊包括: 視頻解碼子模塊,用于對所述目標(biāo)視頻數(shù)據(jù)進(jìn)行解碼,得到第一圖像數(shù)據(jù); 圖片解碼子模塊,用于對所述目標(biāo)圖片數(shù)據(jù)進(jìn)行解碼,得到第二圖像數(shù)據(jù)。
3. 根據(jù)權(quán)利要求2所述的裝置,其特征在于,所述I0S設(shè)備具有avasset reader接口, 所述第二緩沖區(qū)域位于顯存中,所述IOS設(shè)備預(yù)設(shè)有內(nèi)存地址與第二緩沖區(qū)域地址的映射 關(guān)系,所述視頻解碼子模塊包括: 解碼單元,用于采用所述avasset reader接口在內(nèi)存中對所述目標(biāo)視頻數(shù)據(jù)進(jìn)行解 碼,得到第一圖像數(shù)據(jù); 轉(zhuǎn)換單元,用于獲取所述內(nèi)存的內(nèi)存地址,按照所述內(nèi)存地址與第二緩沖區(qū)域地址的 映射關(guān)系,將所述第一圖像數(shù)據(jù)的存儲地址由所述內(nèi)存地址轉(zhuǎn)換成對應(yīng)的第二緩沖區(qū)域地 址。
4. 根據(jù)權(quán)利要求3所述的裝置,其特征在于,所述解碼單元還用于,初始化所述 avasset reader接口,設(shè)置輸出的一巾貞第一圖像數(shù)據(jù)的分辨率大小。
5. 根據(jù)權(quán)利要求3或4所述的裝置,其特征在于,所述解碼單元還用于,采用所述 avasset reader接口在內(nèi)存中對所述目標(biāo)視頻數(shù)據(jù)進(jìn)行解碼,得到與所述第一圖像數(shù)據(jù)對 應(yīng)的音頻數(shù)據(jù),所述音頻數(shù)據(jù)存儲在內(nèi)存中。
6. 根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述與所述第一圖像數(shù)據(jù)對應(yīng)的音頻數(shù) 據(jù),采用如下方式獲得: 獲取所述目標(biāo)視頻數(shù)據(jù)的幀率; 計算預(yù)設(shè)的音頻數(shù)據(jù)采樣率/幀率,得到一幀第一圖像數(shù)據(jù)對應(yīng)的音頻數(shù)據(jù)。
7. 根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述視頻編輯裝置還包括: 音頻渲染模塊,用于在內(nèi)存中對所述音頻數(shù)據(jù)進(jìn)行渲染。
8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述渲染模塊還用于,將所述第一緩沖區(qū) 域中的第一編輯數(shù)據(jù)從第二緩沖區(qū)域中讀取到內(nèi)存中。
9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述IOS設(shè)備具有avasset writer接口, 所述編碼模塊還用于,采用所述avasset writer接口在內(nèi)存中對所述第一編輯數(shù)據(jù)進(jìn)行編 碼,最終生成視頻文件。
10. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述編碼模塊還用于, 在內(nèi)存中獲取每一幀第一編輯數(shù)據(jù)對應(yīng)的音頻數(shù)據(jù); 在內(nèi)存中對所述第一編輯數(shù)據(jù)以及對應(yīng)的音頻數(shù)據(jù)進(jìn)行編碼。
11. 根據(jù)權(quán)利要求2所述的裝置,其特征在于,所述第二緩沖區(qū)域位于顯存中,所述圖 片解碼子模塊還用于,采用多線程在內(nèi)存中對所述目標(biāo)圖片數(shù)據(jù)進(jìn)行解碼,得到第二圖像 數(shù)據(jù),將所述內(nèi)存中的第二圖像數(shù)據(jù)復(fù)制到第二緩沖區(qū)域中。
12. 根據(jù)權(quán)利要求2所述的裝置,其特征在于,所述第一數(shù)據(jù)獲取請求包括視頻編輯樣 式信息,所述渲染模塊包括: 數(shù)據(jù)接收子模塊,用于接收所述第一圖像數(shù)據(jù)和/或所述第二圖像數(shù)據(jù); 解析子模塊,用于解析所述視頻編輯樣式信息,獲得一個或多個特效元素; 順序確定子模塊,用于在所述特效元素為多個時,確定所述特效元素的組合順序; 特效添加子模塊,用于按照所述組合順序在所述第一圖像數(shù)據(jù)中依次添加對應(yīng)的特效 元素,生成第三圖像數(shù)據(jù); 第一編輯數(shù)據(jù)生成子模塊,用于合并所述第三圖像數(shù)據(jù)以及所述第二圖像數(shù)據(jù),生成 第一編輯數(shù)據(jù)。
13. 根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述特效添加子模塊還用于,采用著色 語言GLSL按照所述組合順序在所述第一圖像數(shù)據(jù)中依次添加對應(yīng)的特效元素,生成第三 圖像數(shù)據(jù)。
14. 根據(jù)權(quán)利要求12或13所述的裝置,其特征在于,所述特效元素包括裁剪信息、尺寸 縮放信息、顏色編輯信息、透明度編輯信息、模糊效果信息。
15. 根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述路徑信息有多個,所述視頻編輯指 令包括多個路徑信息的導(dǎo)入順序,則對應(yīng)的目標(biāo)富媒體數(shù)據(jù)有多個,所述解碼模塊還用于, 在接收到所述第二數(shù)據(jù)獲取請求時,依據(jù)所述導(dǎo)入順序確定所述多個富媒體數(shù)據(jù)的解 碼順序; 按照所述解碼順序?qū)λ瞿繕?biāo)富媒體數(shù)據(jù)進(jìn)行解碼。
16. 根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述渲染模塊位于第一線程中,所述編 碼模塊位于第二線程中,所述第一線程與第二線程并行運行。
17. -種基于IOS設(shè)備的視頻編輯方法,其特征在于,所述IOS設(shè)備設(shè)置有大小為第一 預(yù)設(shè)閾值的第一緩沖區(qū)域以及大小為第二預(yù)設(shè)閾值的第二緩沖區(qū)域,所述第一緩沖區(qū)域用 于存儲第一編輯數(shù)據(jù),所述第二緩沖區(qū)域用于存儲第二編輯數(shù)據(jù),所述第一編輯數(shù)據(jù)為經(jīng) 過渲染的數(shù)據(jù),所述第二編輯數(shù)據(jù)為經(jīng)過解碼但未渲染的數(shù)據(jù),以及,預(yù)先設(shè)置有第一緩沖 區(qū)域地址與內(nèi)存地址的映射關(guān)系,所述方法包括: 在接收視頻編輯指令后,判斷所述第一緩沖區(qū)域的地址對應(yīng)的內(nèi)存地址中是否存在第 一編輯數(shù)據(jù),所述視頻編輯指令包括目標(biāo)富媒體數(shù)據(jù)的路徑信息; 若所述內(nèi)存中存在所述第一編輯數(shù)據(jù),則獲取所述第一編輯數(shù)據(jù)并編碼; 若所述第二緩沖區(qū)域不存在所述第一編輯數(shù)據(jù),則生成第一數(shù)據(jù)獲取請求; 依據(jù)所述第一數(shù)據(jù)獲取請求判斷所述第二緩沖區(qū)域中是否存在第二編輯數(shù)據(jù); 若所述第二緩沖區(qū)域存在所述第二編輯數(shù)據(jù),則獲取所述第二編輯數(shù)據(jù)并對所述第二 編輯數(shù)據(jù)進(jìn)行渲染,生成第一編輯數(shù)據(jù)存儲在第一緩沖區(qū)域中; 若所述第二緩沖區(qū)域不存在第二編輯數(shù)據(jù),則依據(jù)所述路徑信息獲取對應(yīng)的目標(biāo)富媒 體數(shù)據(jù),對所述目標(biāo)富媒體數(shù)據(jù)進(jìn)行解碼,得到第二編輯數(shù)據(jù)存儲在第二緩沖區(qū)域中。
18. 根據(jù)權(quán)利要求17所述的方法,其特征在于,還包括: 實時監(jiān)控所述第一緩沖區(qū)域中的第一編輯數(shù)據(jù)的數(shù)據(jù)量,以及所述第二緩沖區(qū)域中的 第二編輯數(shù)據(jù)的數(shù)據(jù)量; 在所述第一編輯數(shù)據(jù)的數(shù)據(jù)量大于或等于第一預(yù)設(shè)閾值時,停止對第二編輯數(shù)據(jù)的渲 染; 在所述第二編輯數(shù)據(jù)的數(shù)據(jù)量大于或等于第二預(yù)設(shè)閾值時,停止對目標(biāo)富媒體數(shù)據(jù)的 解碼。
19. 根據(jù)權(quán)利要求17所述的方法,其特征在于,所述目標(biāo)富媒體數(shù)據(jù)包括目標(biāo)視頻數(shù) 據(jù),所述第二編輯數(shù)據(jù)包括第一圖像數(shù)據(jù),所述IOS設(shè)備具有avasset reader接口,所述依 據(jù)所述路徑信息獲取對應(yīng)的目標(biāo)富媒體數(shù)據(jù),對所述目標(biāo)富媒體數(shù)據(jù)進(jìn)行解碼,得到第二 編輯數(shù)據(jù)存儲在第二緩沖區(qū)域中的步驟包括: 所述依據(jù)所述路徑信息獲取對應(yīng)的目標(biāo)視頻數(shù)據(jù); 采用所述avasset reader接口在內(nèi)存中對所述目標(biāo)視頻數(shù)據(jù)進(jìn)行解碼,得到預(yù)設(shè)分辨 率大小的第一圖像數(shù)據(jù); 將所述第一圖像數(shù)據(jù)存儲在第二緩沖區(qū)域中。
20. 根據(jù)權(quán)利要求19所述的方法,其特征在于,所述第二緩沖區(qū)域位于顯存中,所述 IOS設(shè)備預(yù)設(shè)有內(nèi)存地址與第二緩沖區(qū)域地址的映射關(guān)系,所述將所述第一圖像數(shù)據(jù)存儲 在第二緩沖區(qū)域中的步驟包括: 獲取所述內(nèi)存的內(nèi)存地址; 按照所述內(nèi)存地址與第二緩沖區(qū)域地址的映射關(guān)系,將所述第一圖像數(shù)據(jù)的存儲地址 由所述內(nèi)存地址轉(zhuǎn)換成對應(yīng)的第二緩沖區(qū)域地址。
21. 根據(jù)權(quán)利要求19所述的方法,其特征在于,所述預(yù)設(shè)分辨率大小為在所述avasset reader接口初始化時設(shè)定。
22. 根據(jù)權(quán)利要求19所述的方法,其特征在于,還包括: 采用所述avasset reader接口在內(nèi)存中對所述目標(biāo)視頻數(shù)據(jù)進(jìn)行解碼,獲得與所述第 一圖像數(shù)據(jù)對應(yīng)的音頻數(shù)據(jù),所述音頻數(shù)據(jù)存儲在內(nèi)存中; 在內(nèi)存中渲染所述音頻數(shù)據(jù); 在對所述第一編輯數(shù)據(jù)進(jìn)行編碼時,從內(nèi)存中獲取與所述第一編輯數(shù)據(jù)對應(yīng)的經(jīng)過渲 染后的音頻數(shù)據(jù); 對所述經(jīng)過渲染后的音頻數(shù)據(jù)進(jìn)行編碼。
23. 根據(jù)權(quán)利要求22所述的方法,其特征在于,所述與所述第一圖像數(shù)據(jù)對應(yīng)的音頻 數(shù)據(jù),采用如下方式獲得: 獲取所述目標(biāo)視頻數(shù)據(jù)的幀率; 計算預(yù)設(shè)的音頻數(shù)據(jù)采樣率/幀率,得到一幀第一圖像數(shù)據(jù)對應(yīng)的音頻數(shù)據(jù)。
24. 根據(jù)權(quán)利要求17-23所述的方法,其特征在于,所述IOS設(shè)備具有avasset writer 接口,采用所述avasset writer接口在內(nèi)存中對所述第一編輯數(shù)據(jù)進(jìn)行編碼,最終生成視 頻文件。
25. 根據(jù)根據(jù)權(quán)利要求17所述的方法,其特征在于,所述目標(biāo)富媒體數(shù)據(jù)包括目標(biāo)圖 片數(shù)據(jù),所述第二編輯數(shù)據(jù)包括第二圖像數(shù)據(jù),所述依據(jù)所述路徑信息獲取對應(yīng)的目標(biāo)富 媒體數(shù)據(jù),對所述目標(biāo)富媒體數(shù)據(jù)進(jìn)行解碼,得到第二編輯數(shù)據(jù)存儲在第二緩沖區(qū)域中的 步驟包括: 所述依據(jù)所述路徑信息獲取對應(yīng)的目標(biāo)圖片數(shù)據(jù); 在內(nèi)存中采用多線程對所述目標(biāo)圖片數(shù)據(jù)進(jìn)行解碼,得到第二圖像數(shù)據(jù); 將所述第二圖像數(shù)據(jù)從內(nèi)存中復(fù)制到第二緩沖區(qū)域中。
26. 根據(jù)權(quán)利要求25所述的方法,其特征在于,所述第一數(shù)據(jù)獲取請求包括視頻編輯 樣式信息,所述獲取所述第二編輯數(shù)據(jù)并對所述第二編輯數(shù)據(jù)進(jìn)行渲染,生成第一編輯數(shù) 據(jù)存儲在第一緩沖區(qū)域中的步驟包括: 接收所述第一圖像數(shù)據(jù)和/或所述第二圖像數(shù)據(jù); 解析所述視頻編輯樣式信息,獲得一個或多個特效元素; 在所述特效元素為多個時,確定所述特效元素的組合順序; 按照所述組合順序在所述第一圖像數(shù)據(jù)中依次添加對應(yīng)的特效元素,生成第三圖像數(shù) 據(jù); 合并所述第三圖像數(shù)據(jù)以及所述第二圖像數(shù)據(jù),生成第一編輯數(shù)據(jù)。
27. 根據(jù)權(quán)利要求26所述的方法,其特征在于,所述按照所述組合順序在所述第一圖 像數(shù)據(jù)中依次添加對應(yīng)的特效元素,生成第三圖像數(shù)據(jù)的步驟包括: 采用著色語言GLSL按照所述組合順序在所述第一圖像數(shù)據(jù)中依次添加對應(yīng)的特效元 素,生成第三圖像數(shù)據(jù)。
28. 根據(jù)權(quán)利要求26或27所述的方法,其特征在于,所述特效元素包括裁剪信息、尺寸 縮放信息、顏色編輯信息、透明度編輯信息、模糊效果信息。
29. 根據(jù)權(quán)利要求17所述的方法,其特征在于,所述路徑信息有多個,所述視頻編輯指 令包括多個路徑信息的導(dǎo)入順序,則對應(yīng)的目標(biāo)富媒體數(shù)據(jù)有多個,所述依據(jù)所述路徑信 息獲取對應(yīng)的目標(biāo)富媒體數(shù)據(jù),對所述目標(biāo)富媒體數(shù)據(jù)進(jìn)行解碼,得到第二編輯數(shù)據(jù)存儲 在第二緩沖區(qū)域中的步驟包括: 獲取與所述路徑信息對應(yīng)的多個目標(biāo)富媒體數(shù)據(jù); 依據(jù)所述導(dǎo)入順序確定所述多個富媒體數(shù)據(jù)的解碼順序; 按照所述解碼順序?qū)λ瞿繕?biāo)富媒體數(shù)據(jù)進(jìn)行解碼,得到第二編輯數(shù)據(jù)存儲在第二緩 沖區(qū)域中。
【文檔編號】G11B27/031GK104091608SQ201410265870
【公開日】2014年10月8日 申請日期:2014年6月13日 優(yōu)先權(quán)日:2014年6月13日
【發(fā)明者】蔣金峰 申請人:北京奇藝世紀(jì)科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
禹州市| 姚安县| 浪卡子县| 旬邑县| 大理市| 黎城县| 普兰县| 诏安县| 永济市| 大冶市| 大新县| 甘德县| 扎囊县| 浪卡子县| 石屏县| 临潭县| 天门市| 南昌市| 图木舒克市| 同心县| 原平市| 临汾市| 嘉黎县| 棋牌| 集安市| 凤凰县| 延安市| 华池县| 翁牛特旗| 汤阴县| 浦江县| 富裕县| 公主岭市| 临湘市| 义马市| 施秉县| 西丰县| 中江县| 罗城| 抚顺县| 苍南县|