專利名稱:一種向視頻中添加滾屏信息的系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種視頻處理的系統(tǒng)及方法,特別是一種利用計算機程序?qū)崿F(xiàn)自動向視頻中添加滾屏信息的系統(tǒng)及方法。
背景技術(shù):
:
我們在觀看視頻、電視節(jié)目時,經(jīng)常會看到視頻的下方出現(xiàn)滾動的字幕,這些滾屏的信息是視頻編輯人員在節(jié)目的后期制作期間通過手工編輯的方式合成到視頻中的,在此項工作中需要借助一些視頻編輯工具(軟件)來實現(xiàn)。如果采用手工編輯的方式將滾屏的信息合成到視頻中,容易視頻與滾屏的信息不同步。并且,當需要給大量的視頻文件加入相應(yīng)的不同的滾屏信息,而且這些視頻文件的格式還五花八門時,這將是一項繁重且極易出錯的手工勞動,需要消耗大量的人力和時間。中國專利申請201110054486.3公開了一種從RGB色彩空間到Y(jié)UV色彩空間的轉(zhuǎn)換方法,該方法可以用于實現(xiàn)將字幕位圖合成到視頻幀序列的各幀圖像中。但該技術(shù)只能實現(xiàn)將子.圖像插入到視頻中,不能實現(xiàn)自動向視頻中插入子.圖像。發(fā)明內(nèi)容:
為解決上述技術(shù)問題,本發(fā)明提供一種向視頻中添加滾屏信息的系統(tǒng),包括:解封裝裝置,用于對音視頻文件進行解封裝,從而將所述音視頻文件解析為相應(yīng)的音頻幀序列和視頻幀序列;視頻數(shù)據(jù)解碼裝 置,用于對所述視頻幀序列進行解碼,并將所述視頻幀序列中的視頻幀還原為RAW格式的視頻數(shù)據(jù);視頻合成裝置,根據(jù)用戶輸入的滾屏信息文本和參數(shù)向所述RAW格式的視頻數(shù)據(jù)添加滾屏信息;編碼裝置,通過對已經(jīng)添加了滾屏信息的RAW格式的視頻數(shù)據(jù)進行編碼,獲得經(jīng)重新編碼后的視頻幀序列;封裝裝置,用于對所述音頻幀序列和所述經(jīng)重新編碼后的視頻幀序列進行封裝。
優(yōu)選地,所述視頻合成裝置包括:用戶設(shè)定接口,用于從用戶接收滾屏信息的文本和參數(shù)的設(shè)定;字庫單元,用于將用戶輸入的滾屏信息的文本轉(zhuǎn)換成對應(yīng)的字符的圖形信息;顯示處理單元,用于根據(jù)用戶設(shè)定的參數(shù)計算每個視頻幀中應(yīng)顯示的滾屏信息;計算機視覺庫單元;用于將每個視頻幀中應(yīng)顯示的滾屏信息對應(yīng)的字符的圖形信息合成為滾屏信息的圖像;圖像合成單元,用于將每個視頻幀對應(yīng)的滾屏信息的圖像合成到該視頻幀的RAW格式數(shù)據(jù)中。優(yōu)選地,所述視頻合成裝置還包括字符編碼轉(zhuǎn)換單元,用于將用戶輸入的滾屏信息的文本轉(zhuǎn)換為字庫單元可以識別的字符編碼類型。優(yōu)選地,所述字庫單元可以識別Unicode編碼格式。優(yōu)選地,所述字庫單元使用FreeType字庫。優(yōu)選地,所述計算機視覺庫單元使用OpenCV視覺庫。優(yōu)選地,視頻數(shù)據(jù)解碼裝置僅對顯示處理單元判斷需要添加滾屏信息的視頻幀進行解碼;視頻合成裝置僅向顯示處理單元判斷需要添加滾屏信息的視頻幀相應(yīng)的RAW格式數(shù)據(jù)添加滾屏信息。優(yōu)選地,所述編碼裝置能夠根據(jù)原視頻幀序列的相關(guān)參數(shù)或用戶指令對已經(jīng)添加了滾屏信息的RAW格式的視頻數(shù)據(jù)進行編碼。優(yōu)選地,所述原視頻幀序列的相關(guān)參數(shù)或所述用戶指令包括編碼格式、視頻幀率、視頻碼率、視頻分辨率和視頻幀制式中的一種或幾種。本發(fā)明同時提供一種向視頻中添加滾屏信息的方法,包括:解封裝步驟,對音視頻文件進行解封裝,從而將所述音視頻文件解析為相應(yīng)的音頻幀序列和視頻幀序列;視頻數(shù)據(jù)解碼步驟,對所述視頻幀序列進行解碼,并將所述視頻幀序列中的視頻幀還原為RAW格式的視頻數(shù)據(jù);滾屏信息添加步驟,根據(jù)用戶輸入的滾屏信息文本和參數(shù)設(shè)定對所述RAW格式的視頻數(shù)據(jù)添加滾屏信息;編碼步驟,通過對添加了滾屏信息的RAW格式的視頻數(shù)據(jù)進行編碼,獲得經(jīng)重新編碼后的視頻幀序列;封裝步驟,對所述音頻幀序列和所述經(jīng)重新編碼后的視頻幀序列進行封裝。
優(yōu)選地,所述滾屏信息添加步驟包括:利用字庫將用戶輸入的滾屏信息的文本轉(zhuǎn)換成對應(yīng)的字符的圖形信息的步驟;根據(jù)用戶設(shè)定的參數(shù)計算每個視頻幀中應(yīng)顯示的滾屏信息的步驟;利用計算機視覺庫將每個視頻幀中應(yīng)顯示的滾屏信息對應(yīng)的字符的圖形信息合成為滾屏信息的圖像的步驟;將每個視頻幀對應(yīng)的滾屏信息的圖像合成到該視頻幀的RAW格式數(shù)據(jù)中的步驟。優(yōu)選地,還包括:將用戶輸入的滾屏信息的文本轉(zhuǎn)換為字庫單元可以識別的編碼類型的步驟。優(yōu)選地,所述字庫可以識別Unicode編碼格式。優(yōu)選地,所述字庫為FreeType字庫。優(yōu)選地,所述計算機視覺庫為OpenCV視覺庫。優(yōu)選地,在所述視頻數(shù)據(jù)解碼步驟中,僅對需要添加滾屏信息的視頻幀進行解碼;在所述滾屏信息添加步驟中,僅向需要添加滾屏信息的視頻幀相應(yīng)的RAW格式數(shù)據(jù)添加滾
屏信息。優(yōu)選地,在所述編碼步驟中,根據(jù)原視頻幀序列的相關(guān)參數(shù)或用戶指令對已經(jīng)添加了滾屏信息的RAW格式的視頻數(shù)據(jù)進行編碼。優(yōu)選地,所述原視頻幀序列的相關(guān)參數(shù)或所述用戶指令包括編碼格式、視頻幀率、視頻碼率、視頻分辨率和視頻幀制式中的一種或幾種。本發(fā)明的上述技術(shù)方案能夠使用戶只需輸入視頻文件位置、信息文本、各參數(shù),SP可實現(xiàn)自動對大批量視頻進行字幕或滾屏信息的添加處理,大大減輕了編輯人員的操作負荷,節(jié)省了大量的時間和人力,同時降低了出錯的幾率。
:
圖1為本發(fā)明實施方式涉及的滾屏信息添加系統(tǒng)的結(jié)構(gòu)框 圖2為本發(fā)明實施方式涉及的滾屏信息添加系統(tǒng)的解封裝模塊的結(jié)構(gòu)框 圖3為本發(fā)明實施方式涉及的滾屏信息添加系統(tǒng)的視頻數(shù)據(jù)解碼模塊的結(jié)構(gòu)框 圖4為本發(fā)明實施方式涉及的滾屏信息添加系統(tǒng)的編碼模塊的結(jié)構(gòu)框 圖5為本發(fā)明實施方式涉及的滾屏信息添加系統(tǒng)的封裝模塊的結(jié)構(gòu)框 圖6為本發(fā)明實施方式涉及的視頻合成模塊7的結(jié)構(gòu)框 圖7為本發(fā)明實施方式涉及的向視頻中添加滾屏信息的流程 圖8為本發(fā)明實施方式涉 及的步驟S12的流程圖;圖9為本發(fā)明實施方式涉及的步驟S13的流程 圖10為本發(fā)明實施方式涉及的步驟S14的流程 圖11為本發(fā)明實施方式涉及的步驟S15的流程 圖12為本發(fā)明實施方式涉及的步驟S16的流程圖。
具體實施方式
:
下面根據(jù)附圖所示實施方式闡述本項發(fā)明。本發(fā)明實施方式所涉及的滾屏信息添加系統(tǒng)可以對多個視頻文件按用戶的設(shè)定進行字幕或滾屏信息的添加處理,用戶在輸入滾屏信息的文本并設(shè)定好參數(shù)后就不必再參與處理過程,余下的處理由計算機完成。圖1顯示了本發(fā)明實施方式涉及的滾屏信息添加系統(tǒng)的結(jié)構(gòu)框圖。如圖1所示,上述滾屏信息添加系統(tǒng)包括音視頻數(shù)據(jù)接收模塊1、解封裝模塊2、視頻數(shù)據(jù)解碼模塊3、編碼模塊4、封裝模塊5、存儲模塊6、視頻合成模塊7和數(shù)據(jù)總線8。上述音視頻數(shù)據(jù)接收模塊1、解封裝模塊2、視頻數(shù)據(jù)解碼模塊3、編碼模塊4、封裝模塊5、存儲模塊6和視頻合成模塊7通過上述數(shù)據(jù)總線8進行連接。上述音視頻數(shù)據(jù)接收模塊I用于接收需要進行處理的音視頻數(shù)據(jù),并將所接收的上述音視頻數(shù)據(jù)輸送至上述解封裝模塊2進行相應(yīng)的解封裝。上述解封裝模塊2從上述音視頻數(shù)據(jù)接收模塊I接收到上述音視頻數(shù)據(jù)后,根據(jù)所收到的上述音視頻數(shù)據(jù)的相應(yīng)文件格式進行解封裝。在上述解封裝過程中,上述解封裝模塊2將音視頻文件解析為相應(yīng)的視頻幀序列和音頻幀序列,并將上述視頻幀序列和音頻幀序列及上述音視頻文件封裝格式的相關(guān)參數(shù)存儲到上述存儲模塊6中。上述視頻數(shù)據(jù)解碼模塊3從上述存儲模塊6中獲取上述視頻幀序列,并根據(jù)所收到的視頻幀序列的相應(yīng)編碼格式進行解碼。在上述解碼過程中,上述視頻數(shù)據(jù)解碼模塊3對上述視頻幀序列進行解碼,將上述視頻幀序列中的視頻幀還原為RAW格式的視頻數(shù)據(jù), 并將上述RAW格式的視頻數(shù)據(jù)和上述視頻幀序列編碼格式相關(guān)的參數(shù)存儲在上述存儲模塊6中,直至完成對所有的視頻幀序列的解碼。上述視頻合成模塊7獲取用戶輸入的滾屏信息的文本和參數(shù),并根據(jù)這些文本和參數(shù)向RAW格式的視頻數(shù)據(jù)中添加滾屏信息,將處理后的數(shù)據(jù)存入存儲模塊6。上述編碼模塊4從上述存儲模塊6獲取添加滾屏信息處理后的RAW格式的視頻數(shù)據(jù),并根據(jù)從上述存儲模塊6中所獲取的上述視頻幀序列編碼格式相關(guān)的參數(shù)或用戶的要求選擇相應(yīng)的編碼器對上述添加滾屏信息處理后的RAW格式的視頻數(shù)據(jù)進行編碼、壓縮,形成新的視頻幀序列并存儲在存儲模塊6中。上述封裝模塊5從上述存儲模塊6中獲取上述音視頻文件封裝格式的相關(guān)參數(shù)、上述音頻幀序列和新的視頻幀序列,然后根據(jù)上述音視頻文件封裝格式的相關(guān)參數(shù)將上述音頻幀序列和上述新的視頻幀序列封裝成新的音視頻文件。圖2為本發(fā)明實施方式涉及的滾屏信息添加系統(tǒng)的解封裝模塊2的結(jié)構(gòu)框圖。如圖2所示,上述解封裝模塊2包括音視頻文件格式判斷單元21、解封裝選擇單元22和數(shù)個解封裝單元23、24、25……。其中,上述數(shù)個解封裝單元23、24、25……具有不同的格式,可以對應(yīng)于不同的文件格式進行解封裝。上述音視頻文件格式判斷單元21可以判斷來自上述音視頻數(shù)據(jù)接收模塊I所接收的音視頻的文件格式并獲取上述音視頻的文件格式的相關(guān)參數(shù),并將上述音視頻的文件格式的相關(guān)參數(shù)存儲到上述存儲模塊6中,上述解封裝選擇單元22可以根據(jù)上述音視頻文件格式判斷單元21的判斷結(jié)果(即音視頻文件的格式)從解封裝單元23、24、25……中選擇相應(yīng)的解封裝單元對上述音視頻文件進行解封裝,上述相應(yīng)的解封裝單元(即上述解封裝單元23、24、25......中之一)將所接收到的上述音視頻文件
解封為相應(yīng)的視頻幀序列和音頻幀序列,并將上述視頻幀序列和音頻幀序列存儲在上述存儲模塊6中。圖3為本發(fā)明實施方式涉及的滾屏信息添加系統(tǒng)的視頻數(shù)據(jù)解碼模塊3的結(jié)構(gòu)框圖。如圖3所示,上述視頻數(shù)據(jù)解碼模塊3包括編碼格式判斷單元31、解碼器選擇單元32和數(shù)個解碼器33、34、35……。其中,上述數(shù)個解碼器33、34、35……可以對應(yīng)于不同的解碼要求進行解碼。上述編碼格式判斷單元31可以判斷來自上述解封裝模塊2所解封的視頻幀序列的編碼格式并獲取所解封的視頻幀序列的編碼格式的相關(guān)參數(shù),并將原視頻幀序列的編碼格式的相關(guān)參數(shù)存儲在上述存儲模塊6中。上述解碼器選擇單元32可以根據(jù)上述編碼格式判斷單元31的判斷結(jié)果(即上述視頻幀序列的編碼格式)從解碼器33、34、35……中選擇相應(yīng)的解碼器對上述視頻幀序列進行解碼,上述相應(yīng)的解碼器(即上述解碼器33、34、
35......中之一)對所收到的上述視頻幀序列進行解碼,將上述視頻幀序列中的視頻幀還原 為RAW格式數(shù)據(jù),上述RAW格式數(shù)據(jù)被暫存在存儲模塊6中。圖4為本發(fā)明實施方式涉及的滾屏信息添加系統(tǒng)的編碼模塊4的結(jié)構(gòu)框圖。如圖4所示,上述編碼模塊4包括編碼器選擇單元41、數(shù)個編碼器42、43、44……和指令接收單元45。上述編碼器選擇單元41可以從上述存儲模塊6中獲取經(jīng)上述視頻合成模塊7進行滾屏信息添加處理后的新的RAW格式數(shù)據(jù),并根據(jù)從上述存儲模塊6中獲取的原視頻幀序列的編碼格式或上述指令接收單元45所接受的用戶指定的編碼格式選擇相應(yīng)的編碼器(即上述編碼器42、43、44……中之一)。上述指令接收單元45可以接受用戶的指令并將上述指令輸送給上述編碼器選擇單元41。其中,上述原視頻幀序列的編碼格式的相關(guān)參數(shù)或上述用戶的指令可以包括編碼格式、視頻幀率、視頻碼率、視頻分辨率、視頻幀制式等參數(shù)。上述所選擇的相應(yīng)的編碼器根據(jù)上述指令接收單元45所接受的用戶指令或原視頻幀序列的參數(shù)對上述滾屏信息添加處理后的新的RAW格式數(shù)據(jù)進行重新編碼,形成新的視頻幀序列,并將新的視頻幀序列存儲在上述存儲模塊6中。例如,上述編碼器分析上述RAW格式數(shù)據(jù)文件的頭結(jié)構(gòu),取得上述RAW格式數(shù)據(jù)文件中的視頻幀率、視頻碼率、視頻分辨率、視頻幀制式等參數(shù),然后將上述視頻幀率、視頻碼率、視頻分辨率、視頻幀制式等參數(shù)轉(zhuǎn)換為用戶所指定的視頻幀率、視頻碼率、視頻分辨率、視頻幀制式等參數(shù),然后根據(jù)用戶對編碼格式的要求或原視頻幀序列的編碼格式形成新的視頻幀序列,并將上述新的視頻幀序列存入上述存儲模塊6中。在本實施方式中,上述編碼器選擇單元41如果接收到用戶指令,則根據(jù)用戶指令選擇相應(yīng)的編碼器并進行編碼;如果未接收到用戶指令,則根據(jù)上述原視頻幀序列的編碼格式的相關(guān)參數(shù)選擇相應(yīng)的編碼器并進行編碼。圖5為本發(fā)明實施方式涉及的滾屏信息添加系統(tǒng)的封裝模塊5的結(jié)構(gòu)框圖。如圖5所示,上述封裝模塊5包括封裝格式選擇單元51和數(shù)個封裝單元52、53、54……。其中,上述數(shù)個封裝單元52、53、54……具有不同的封裝格式,可以對應(yīng)于不同的封裝格式的要求進行封裝。上述封裝格式選擇單元51從上述存儲模塊6中獲取上述音視頻文件封裝格式的相關(guān)參數(shù)、上述音頻幀序列、新的視頻幀序列并根據(jù)上述音視頻文件封裝格式的相關(guān)參數(shù)選擇相應(yīng)的封裝單元(即封裝單元52、53、54……中之一)對上述音頻幀序列和新的視頻幀序列進行封裝,獲得調(diào)節(jié)后的音視頻文件。在上述實施方式中,上述封裝模塊5還可以根據(jù)用戶的需求來選擇相應(yīng)的編碼格式和封裝格式。圖6為本發(fā)明實施方式涉及的視頻合成模塊7的結(jié)構(gòu)框圖。如圖6所示,上述視頻合成模塊7包括字符編碼轉(zhuǎn)換單元71、字庫單元72、顯示處理單元73、計算機視覺庫單元74、圖像合成單元75和用戶設(shè)定接口 76。字符編碼轉(zhuǎn)換單元71中存有字符編碼庫,字符編碼庫中存儲著各種字符與對應(yīng)的計算機可處理的二進制編碼的對照表,常見字符編碼包括Unicode、ASCI1、UTF-8、GB2312、BIG5等。字符編碼轉(zhuǎn)換單元71接受用戶輸入的滾屏信息文本和字符編碼類型,選擇相應(yīng)的字符編碼庫,將用戶輸入的滾屏信息編碼轉(zhuǎn)換為相應(yīng)的字庫單元72可以識別的編碼類型發(fā)送給字庫單元72。字庫單元72中存有圖形字庫,存儲著各字符與對應(yīng)的計算機可處理的該字符的圖形信息的對照表,常見字庫包括TrueType、FreeType、PostScript等。字庫單元72接受字符編碼轉(zhuǎn)換單元71發(fā)送的與滾屏信息的文本相對應(yīng)的二進制編碼和用戶設(shè)定的參數(shù),按照用戶的設(shè)定選擇相應(yīng)的字庫,將二進制編碼轉(zhuǎn)換成對應(yīng)的字符的圖形信息發(fā)送給顯示處理單元73。顯示處理單元73接收字庫單元72發(fā)送的字符的圖形信息,根據(jù)用戶輸入的滾屏方向、滾動速度、起始位置坐標等參數(shù)結(jié)合視頻幀幀率等信息計算出每個視頻幀要插入的圖像和位置等,將每一幀的處理結(jié)果發(fā)送給計算機視覺庫單元74。計算機視覺庫單元74可以運行計算機視覺庫軟件,該軟件可以對得到的字符的圖形信息進行進一步渲染與合成,從而得到字幕位圖,常見的計算機視覺庫有OpenCV等。計算機視覺庫單元74接受顯示處理單元73發(fā)送的每一幀的處理結(jié)果并進行處理,得到滾屏信息的圖像發(fā)送給圖像合成單元74。圖像合成單元74從計算機視覺庫單元74接收滾屏信息的圖像,將該圖像合成到每一幀視頻中。用戶設(shè)定接口 76接收用戶輸入的滾屏信息文本和各種參數(shù)的設(shè)定值,將接收的相應(yīng)的用戶設(shè)定分別發(fā)送給上述字符編碼轉(zhuǎn)換單元71、字庫單元72、顯示處理單元73、計算機視覺庫單元74、圖像合成單元75。
圖7為本發(fā)明實施方式涉及的向視頻中添加滾屏信息的流程圖。下面,參照圖7說明在本實施方式涉及的添加滾屏信息的處理過程。首先,輸入音視頻文件,上述音視頻數(shù)據(jù)接收模塊I接收上述音視頻文件數(shù)據(jù)并將其輸送至上述解封裝模塊2(步驟SI I)。上述解封裝模塊2對上述音視頻文件數(shù)據(jù)進行解封裝,將上述音視頻文件數(shù)據(jù)解析為視頻幀序列和音頻幀序列,并將上述視頻幀序列和音頻幀序列以及原音視頻文件的封裝格式的相關(guān)參數(shù)存儲在上述存儲模塊6中(步驟S12)。上述視頻數(shù)據(jù)解碼模塊3從上述存儲模塊6中獲取上述視頻幀序列,將上述視頻幀序列中的視頻幀還原為RAW格式數(shù)據(jù),并將上述RAW格式數(shù)據(jù)和原視頻幀序列的編碼格式的相關(guān)參數(shù)存儲到上述存儲模塊6中(步驟S13)。上述視頻合成模塊7根據(jù)用戶輸入的滾屏信息的文本和設(shè)定參數(shù),對RAW格式數(shù)據(jù)進行添加滾屏信息的處理,獲取處理后的RAW格式數(shù)據(jù),并將處理后的RAW格式數(shù)據(jù)存儲到上述存儲模塊6中(步驟S14)
上述編碼模塊4從上述存儲模塊6中獲取添加滾屏信息后的RAW格式數(shù)據(jù),并根據(jù)從上述存儲模塊6中所獲取的原視頻幀序列的編碼格式的相關(guān)參數(shù)或所接收的用戶指令對添加滾屏信息后的RAW格式數(shù)據(jù)進行編碼,形成新的視頻幀序列并存儲到上述存儲模塊6中(步驟S15)。
上述封裝|旲塊5從上述存儲|旲塊6中獲取首頻巾貞序列、新的視頻巾貞序列和原首視頻文件的封裝格式的相關(guān)參數(shù),并根據(jù)原音視頻文件的封裝格式的相關(guān)參數(shù)進行封裝,形成新音視頻文件(步驟S16)。圖8為本發(fā)明實施方式涉及的向音視頻文件添加滾屏信息的處理的步驟S12的流程圖。下面,參照圖8說明在本實施方式涉及的音視頻文件進行解封裝處理過程。音視頻文件格式判斷單元21基于所接收的音視頻文件數(shù)據(jù)判斷所接收的音視頻文件的封裝格式,將判斷結(jié)果輸送到解封裝選擇單元22 (步驟S121),同時將原音視頻文件的封裝格式的相關(guān)參數(shù)存儲到上述存儲模塊6中(步驟S122)。上述解封裝選擇單元22基于上述判斷結(jié)果選擇相應(yīng)的解封裝單元(步驟S123)。上述解封裝單元(即解封裝單元23、24,25……中之一)對上述音視頻文件數(shù)據(jù)進行解封裝,將上述音視頻文件數(shù)據(jù)解析為視頻幀序列和音頻幀序列(步驟S124),并將視頻幀序列和音頻幀序列存儲到上述存儲模塊6中(步驟 S125)。圖9為本發(fā)明實施方式涉及的向音視頻文件添加滾屏信息的處理的步驟S13的流程圖。下面,參照圖9說明在本實施方式涉及的對視頻數(shù)據(jù)進行解碼處理過程。編碼格式判斷單元31對解封裝后的視頻幀序列的編碼格式進行判斷,并將判斷結(jié)果輸送到解碼器選擇單元32 (步驟S131),同時將視頻幀序列的編碼格式的相關(guān)參數(shù)存儲到上述存儲模塊6中(步驟S132)。上述解碼器選擇單元32基于上述判斷結(jié)果選擇與上述編碼格式相應(yīng)的解碼器進行解碼(步驟S133),上述解碼器(即解碼器33、34、35……中之一)將上述視頻幀序列中的視頻幀還原為RAW格式數(shù)據(jù)(步驟S134),并將上述RAW格式數(shù)據(jù)存儲至存儲模塊6中(步驟S135)。圖10為本發(fā)明實施方式涉及的向音視頻文件添加滾屏信息的處理的步驟S14的流程圖。下面,參照圖10說明 在本實施方式涉及的對RAW格式視頻添加滾屏信息的處理過程。首先,字符編碼轉(zhuǎn)換單元71從用戶設(shè)定接口 76接收用戶輸入的滾屏信息的文本和指定的字符編碼庫。字符編碼轉(zhuǎn)換單元71在用戶指定的字符編碼庫中對滾屏信息的文本逐個字符進行檢索,將所有文本轉(zhuǎn)換為字庫單元可以識別的字符編碼(步驟S141)。比如,用戶指定文本為GB2312編碼,而字庫單元只能識別Unicode編碼,字符編碼轉(zhuǎn)換單元71參照GB2312和Unicode字符編碼庫,將用戶輸入的文本轉(zhuǎn)換為Unicode字符編碼發(fā)送到字庫單元72。字庫單元72從用戶設(shè)定接口 76接收用戶輸入的對滾屏信息的字體等參數(shù)的設(shè)定,并據(jù)此檢索相應(yīng)的字庫,將接收到的字符編碼轉(zhuǎn)換為相應(yīng)的字形圖像發(fā)送到顯示處理單元73 (步驟S142)。比如,字庫單元72以兩個字節(jié)為單位(Unicode編碼以兩個字節(jié)作為一個編碼單元)檢索收到的Unicode字符編碼在用戶指定的FreeType字庫中對應(yīng)的字形位圖(此位圖可根據(jù)用戶的要求選擇單位或具有一定灰度階數(shù)的像素圖,或不同字體的圖像)。顯示處理單元73接收字庫單元72發(fā)送的字形圖像,并從用戶設(shè)定接口 76接收用戶輸入的處理參數(shù),如滾屏方向、滾動速度、起始位置坐標、透明度等。顯示處理單元73根據(jù)用戶輸入的參數(shù)計算在每一個視頻幀中應(yīng)顯示的滾屏信息,并發(fā)送給計算機視覺庫單元74(步驟S143)。計算機視覺庫單元74接收顯示處理單元73發(fā)送的每一幀的滾屏信息,并從用戶設(shè)定接口 76接收用戶輸入的參數(shù),如字幕方向、字幕寬度、字幕高度、文字大小、背景色、字體顏色、透明度等。計算機視覺庫單元74將每一幀的滾屏信息按用戶設(shè)定的參數(shù)進行渲染與合成,得到每個視頻幀中要插入的滾屏信息的圖像,并發(fā)送給圖像合成單元75(步驟S144)。比如,計算機視覺庫單元74可以使用OpenCV視覺庫處理滾屏信息,得到32bit的滾屏信息的位圖。圖像合成單元75接收計算機視覺庫單元74發(fā)送的每個視頻幀的滾屏信息的圖像,并從存儲模塊6中調(diào)取每一個視頻幀的RAW格式數(shù)據(jù),將滾屏信息的圖像合成到RAW格式數(shù)據(jù)中。圖像合成單元75對每個視頻幀重復(fù)上述處理,直至所有視頻幀處理完成(步驟S145)。圖11為本發(fā)明實施方式涉及的向音視頻文件添加滾屏信息的處理的的步驟S15的流程圖。下面,參照圖11說明在本實施方式涉及的對RAW格式數(shù)據(jù)進行編碼的處理過程。編碼器選擇單元41從上述存儲模塊6中獲取上述經(jīng)處理后的RAW格式數(shù)據(jù)(步驟S151)。編碼器選擇單元41基于上述原視頻幀序列的編碼格式的相關(guān)參數(shù)或用戶的指令選擇相應(yīng)的編碼器(步驟S152)。上述被選定的編碼器對經(jīng)上述滾屏信息處理后的RAW格式的視頻數(shù)據(jù)進行編碼,以獲得新的視頻幀序列(步驟S153),并將所獲得的新的視頻幀序列存儲在存儲模塊6中(步驟S154)。圖12為本發(fā)明實施方式涉及的對音頻幀序列和新的視頻幀序列進行封裝的步驟S16的流程圖。下面,參照圖12說明在本實施方式涉及的對音頻幀序列和新的視頻幀序列進行封裝的處理過程。上述封裝格式選擇單元51從上述存儲模塊6中獲取音頻幀序列、新的視頻幀序列和原音視頻文件的封裝格式的相關(guān)參數(shù)(步驟S161)。上述封裝格式選擇單元51基于原音視頻文件的封裝格式的相關(guān)參數(shù)選擇與原音視頻文件的封裝格式相應(yīng)的封裝單元(步驟S162),上述封裝單元對上述音頻幀序列和上述新的視頻幀序列進行重新封裝,形成具有與原音視頻文件的封裝格式相同的新的音視頻文件(步驟S163),并輸出新的音視頻文件(步驟S164)。在本實施方式中,在步驟S13中對所有視頻幀進行了解碼。但本發(fā)明并不限于此,也可以由視頻合成模塊7先進 行步驟S140-S143的處理,由此可以知道對哪些視頻幀需要插入滾屏信息,對哪些視頻幀不需要插入滾屏信息。據(jù)此,在步驟S13中只對需要插入滾屏信息的視頻幀進行解碼操作,在步驟S14中只對需要插入滾屏信息的視頻幀添加滾屏信息。這樣可以減輕視頻數(shù)據(jù)解碼模塊3、編碼模塊4、和視頻合成模塊7處理的數(shù)據(jù)量,提高效率。在本實施方式中,由用戶設(shè)定接口 76接收用戶輸入的設(shè)定。但本發(fā)明并不限于此,用戶可以在用戶設(shè)定接口 76中設(shè)定待處理的音視頻文件所在的文件夾、將各音視頻文件的滾屏信息和各項參數(shù)設(shè)定保存為一個指令文件,由處理系統(tǒng)自動執(zhí)行對指定文件夾下的所有文件或指令文件中涉及的所有文件進行添加滾屏信息的操作。用戶設(shè)定接口 76也可以根據(jù)用戶的需要設(shè)計成其他便于使用的形式。在本實施方式中,在步驟S16中采用與原音視頻文件的封裝格式相同的封裝格式對音頻幀序列和新的視頻幀序列進行封裝。但本發(fā)明并不限于此,在步驟S16中也可以采用用戶指定的封裝格式對音頻幀序列和新的視頻幀序列進行封裝。在本實施方式中,相關(guān)數(shù)據(jù)均存儲于上述存儲模塊6中。但本發(fā)明并不限于此,相關(guān)數(shù)據(jù)可以不用存儲于上述存儲模塊6中而直接用于各個模塊進行處理。應(yīng)理解以上說明書中所描述的具體實施方式
和實施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍。在閱讀了本發(fā)明之后,本領(lǐng)域技術(shù)人員對本發(fā)明的各種等同形式的修改均落于本申請 所附權(quán)利要求所限定的范圍。
權(quán)利要求
1.一種向視頻中添加滾屏信息的系統(tǒng),包括: 解封裝裝置,用于對音視頻文件進行解封裝,從而將所述音視頻文件解析為相應(yīng)的音頻幀序列和視頻幀序列; 視頻數(shù)據(jù)解碼裝置,用于對所述視頻幀序列進行解碼,并將所述視頻幀序列中的視頻幀還原為RAW格式的視頻數(shù)據(jù); 視頻合成裝置,根據(jù)用戶輸入的滾屏信息文本和參數(shù)向所述RAW格式的視頻數(shù)據(jù)添加滾屏信息; 編碼裝置,通過對已經(jīng)添加了滾屏信息的RAW格式的視頻數(shù)據(jù)進行編碼,獲得經(jīng)重新編碼后的視頻幀序列; 封裝裝置,用于對所述音頻幀序列和所述經(jīng)重新編碼后的視頻幀序列進行封裝。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于: 所述視頻合成裝置包括: 用戶設(shè)定接口,用于從用戶接收滾屏信息的文本和參數(shù)的設(shè)定; 字庫單元,用于將用戶輸入的滾屏信息的文本轉(zhuǎn)換成對應(yīng)的字符的圖形信息; 顯示處理單元,用于根據(jù)用戶設(shè)定的參數(shù)計算每個視頻幀中應(yīng)顯示的滾屏信息;計算機視覺庫單元;用于將每 個視頻幀中應(yīng)顯示的滾屏信息對應(yīng)的字符的圖形信息合成為滾屏信息的圖像; 圖像合成單元,用于將每個視頻幀對應(yīng)的滾屏信息的圖像合成到該視頻幀的RAW格式數(shù)據(jù)中。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于: 所述視頻合成裝置還包括字符編碼轉(zhuǎn)換單元,用于將用戶輸入的滾屏信息的文本轉(zhuǎn)換為字庫單元可以識別的字符編碼類型。
4.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于: 所述字庫單元可以識別Unicode編碼格式。
5.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于: 所述字庫單元使用FreeType字庫。
6.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于: 所述計算機視覺庫單元使用OpenCV視覺庫。
7.根據(jù)權(quán)利要求2 6所述的系統(tǒng),其特征在于: 視頻數(shù)據(jù)解碼裝置僅對顯示處理單元判斷需要添加滾屏信息的視頻幀進行解碼;視頻合成裝置僅向顯示處理單元判斷需要添加滾屏信息的視頻幀相應(yīng)的RAW格式數(shù)據(jù)添加滾屏信息。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于: 所述編碼裝置能夠根據(jù)原視頻幀序列的相關(guān)參數(shù)或用戶指令對已經(jīng)添加了滾屏信息的RAW格式的視頻數(shù)據(jù)進行編碼。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于: 所述原視頻幀序列的相關(guān)參數(shù)或所述用戶指令包括編碼格式、視頻幀率、視頻碼率、視頻分辨率和視頻幀制式中的一種或幾種。
10.一種向視頻中添加滾屏信息的方法,包括:解封裝步驟,對音視頻文件進行解封裝,從而將所述音視頻文件解析為相應(yīng)的音頻幀序列和視頻幀序列; 視頻數(shù)據(jù)解碼步驟,對所述視頻幀序列進行解碼,并將所述視頻幀序列中的視頻幀還原為RAW格式的視頻數(shù)據(jù); 滾屏信息添加步驟,根據(jù)用戶輸入的滾屏信息文本和參數(shù)設(shè)定對所述RAW格式的視頻數(shù)據(jù)添加滾屏信息; 編碼步驟,通過對添加了滾屏信息的RAW格式的視頻數(shù)據(jù)進行編碼,獲得經(jīng)重新編碼后的視頻巾貞序列; 封裝步驟,對所述音頻幀序列和所述經(jīng)重新編碼后的視頻幀序列進行封裝。
11.根據(jù)權(quán)利 要求10所述的方法,其特征在于: 所述滾屏信息添加步驟包括: 利用字庫將用戶輸入的滾屏信息的文本轉(zhuǎn)換成對應(yīng)的字符的圖形信息的步驟; 根據(jù)用戶設(shè)定的參數(shù)計算每個視頻幀中應(yīng)顯示的滾屏信息的步驟; 利用計算機視覺庫將每個視頻幀中應(yīng)顯示的滾屏信息對應(yīng)的字符的圖形信息合成為滾屏信息的圖像的步驟; 將每個視頻幀對應(yīng)的滾屏信息的圖像合成到該視頻幀的RAW格式數(shù)據(jù)中的步驟。
12.根據(jù)權(quán)利要求11所述的方法,還包括: 將用戶輸入的滾屏信息的文本轉(zhuǎn)換為字庫單元可以識別的字符編碼類型的步驟。
13.根據(jù)權(quán)利要求11所述的方法,其特征在于: 所述字庫可以識別Unicode編碼格式。
14.根據(jù)權(quán)利要求11所述的方法,其特征在于: 所述字庫為FreeType字庫。
15.根據(jù)權(quán)利要求11所述的方法,其特征在于: 所述計算機視覺庫為OpenCV視覺庫。
16.根據(jù)權(quán)利要求11 15所述的方法,其特征在于: 在所述視頻數(shù)據(jù)解碼步驟中,僅對需要添加滾屏信息的視頻幀進行解碼; 在所述滾屏信息添加步驟中,僅向需要添加滾屏信息的視頻幀相應(yīng)的RAW格式數(shù)據(jù)添加滾屏信息。
17.根據(jù)權(quán)利要求16所述的方法,其特征在于: 在所述編碼步驟中,根據(jù)原視頻幀序列的相關(guān)參數(shù)或用戶指令對已經(jīng)添加了滾屏信息的RAW格式的視頻數(shù)據(jù)進行編碼。
18.根據(jù)權(quán)利要求17所述的方法,其特征在于: 所述原視頻幀序列的相關(guān)參數(shù)或所述用戶指令包括編碼格式、視頻幀率、視頻碼率、視頻分辨率和視頻幀制式中的一種或幾種。
全文摘要
本發(fā)明提供一種向視頻中添加滾屏信息的系統(tǒng),包括解封裝裝置,用于對音視頻文件進行解封裝,從而將所述音視頻文件解析為相應(yīng)的音頻幀序列和視頻幀序列;視頻數(shù)據(jù)解碼裝置,用于對所述視頻幀序列進行解碼,并將所述視頻幀序列中的視頻幀還原為RAW格式的視頻數(shù)據(jù);視頻合成裝置,根據(jù)用戶輸入的滾屏信息文本和參數(shù)向所述RAW格式的視頻數(shù)據(jù)添加滾屏信息;編碼裝置,通過對已經(jīng)添加了滾屏信息的RAW格式的視頻數(shù)據(jù)進行編碼,獲得經(jīng)重新編碼后的視頻幀序列;封裝裝置,用于對所述音頻幀序列和所述經(jīng)重新編碼后的視頻幀序列進行封裝。本發(fā)明還提供一種向視頻中添加滾屏信息的方法。
文檔編號H04N21/44GK103248951SQ20131015469
公開日2013年8月14日 申請日期2013年4月28日 優(yōu)先權(quán)日2013年4月28日
發(fā)明者武悅 申請人:天脈聚源(北京)傳媒科技有限公司