專利名稱:一種滾屏中圖文動畫的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及字幕、動畫等領(lǐng)域,特別涉及一種滾屏中圖文動畫的實(shí)現(xiàn)方法。
背景技術(shù):
滾屏是一組圖文字幕在屏幕上按照一定的規(guī)律滑動的效果,包括俗稱的底拉滾屏、上下滾屏、走馬燈等等,現(xiàn)有的滾屏內(nèi)容主要是靜態(tài)的文字或者圖片。滾屏字幕的主要作用是提示或者宣傳,由于播放時間和顯示區(qū)域的限制對滾屏字幕的影響遠(yuǎn)大于普通播放,靜態(tài)的文字或圖片往往引起的關(guān)注度不夠,達(dá)不到很好的效果。 相比于靜態(tài)的文字和圖片,圖文動畫更能夠吸引觀眾的眼球,提高滾屏內(nèi)容的被關(guān)注度。但現(xiàn)有的滾屏技術(shù)只支持靜態(tài)的文字或圖片,不支持圖文動畫,極大的影響了滾屏內(nèi)容的提示和宣傳效果,急需一種能在滾屏中實(shí)現(xiàn)圖文動畫的方法。
發(fā)明內(nèi)容
本發(fā)明提供了一種滾屏中圖文動畫的實(shí)現(xiàn)方法,通過對滾屏中區(qū)域的定義區(qū)分,然后精確控制每個區(qū)域中的內(nèi)容和顯示情況,保持動畫在滾屏滾動過程中相對位置不變,不斷更新動畫的內(nèi)容。具體方法包括以下步驟對滾屏中各個區(qū)域進(jìn)行定義;開啟動畫解碼線程;根據(jù)區(qū)域定義獲取當(dāng)前滾屏顯示區(qū)域的靜態(tài)內(nèi)容;根據(jù)區(qū)域定義獲取當(dāng)前滾屏顯示區(qū)域的動畫內(nèi)容;播放靜態(tài)內(nèi)容和動畫。本發(fā)明提供的滾屏中圖文動畫的實(shí)現(xiàn)方法,在滾屏靜態(tài)內(nèi)容中增加了圖文動畫的現(xiàn)實(shí),豐富了滾屏內(nèi)容,提高了滾屏內(nèi)容的關(guān)注度,提升了滾屏內(nèi)容的提示和宣傳效果。
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹。圖I為本發(fā)明一種滾屏中圖文動畫的實(shí)現(xiàn)方法的流程圖。圖2為本發(fā)明實(shí)施例的步驟流程圖。圖3為本發(fā)明實(shí)施例的區(qū)域關(guān)系圖。圖4、圖5為本發(fā)明實(shí)施例區(qū)域混合關(guān)系圖。
具體實(shí)施例方式下面將結(jié)合附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。本發(fā)明提供了一種滾屏中圖文動畫的實(shí)現(xiàn)方法,該方法的實(shí)現(xiàn)依賴于對滾屏中內(nèi)容的分離控制,即實(shí)現(xiàn)相對于滾屏的完整過程要顯示的全部內(nèi)容,對當(dāng)前滾屏內(nèi)容和當(dāng)前動畫內(nèi)容的精確控制。對滾屏中各個區(qū)域進(jìn)行定義區(qū)分可以有多種方式,實(shí)施例I僅給出其中的一種。實(shí)施例I :滾屏的全部內(nèi)容區(qū)域、當(dāng)前播放內(nèi)容區(qū)域以及動畫區(qū)域的關(guān)系如圖3所示,其中A點(diǎn)為全部內(nèi)容區(qū)域的左上角頂點(diǎn),B點(diǎn)為當(dāng)前顯示內(nèi)容區(qū)域的左上角頂點(diǎn),C點(diǎn)為動畫區(qū)域的左上角頂點(diǎn)。設(shè)A點(diǎn)為坐標(biāo)原點(diǎn),則C點(diǎn)對應(yīng)的坐標(biāo)能夠直接算出。由于當(dāng)前滾屏顯示區(qū)域相對于A點(diǎn)是不斷下移的,B點(diǎn)的坐標(biāo)是不斷變 化的,其變化與滾屏的速度有關(guān),滾屏開始后到結(jié)束前任意時刻的B點(diǎn)坐標(biāo)可以根據(jù)滾屏速度算出。當(dāng)前顯示內(nèi)容區(qū)域記為rcOutput,那么每個對應(yīng)的rcOutput值都對應(yīng)著當(dāng)前需要顯示的區(qū)域;動畫區(qū)域記為rcMovie,它相對于滾屏的全部內(nèi)容區(qū)域是固定的;動畫播出的當(dāng)前巾貞號nCurFramelndex,動畫的當(dāng)前巾貞原始內(nèi)容memFrame ;動畫相對于顯示區(qū)域的邏輯坐標(biāo)點(diǎn)ptFrame,及對應(yīng)的動畫顯示區(qū)域rcFrame,這是一個相對坐標(biāo),在滾屏播放的過程中一直變化,其變化與滾屏的速度有關(guān);滾屏最終顯示的內(nèi)容memOutput,包含rcOutput區(qū)域內(nèi)容和動畫處于顯示區(qū)域中時當(dāng)前幀的部分或全部內(nèi)容,即當(dāng)前顯示內(nèi)容區(qū)域和當(dāng)前顯示動畫區(qū)域的混合。實(shí)施例2 實(shí)施例2根據(jù)實(shí)施例I給出的滾屏內(nèi)容區(qū)域定義方法,給出一種具體的滾屏中圖文動畫實(shí)施例。在滾屏播出之前,為滾屏中使用到的動畫開啟對應(yīng)的解碼線程,該線程可以隨時提供當(dāng)前播出的動畫的內(nèi)容。在滾屏的滾動過程中,當(dāng)前滾屏顯示區(qū)域不斷向下移動,rcOutput的值不斷發(fā)生變化,我們根據(jù)該值可以獲得當(dāng)前滾屏的內(nèi)容memOutput。首先計算滾屏內(nèi)容中不含動畫的部分rcOutput ;然后計算當(dāng)前rcOutput和rcMovie兩個區(qū)域的交集,即當(dāng)前顯示動畫區(qū)域rcFrame,該值相對于坐標(biāo)原點(diǎn)A而言rcFrame = rcOutput&rcMovie ;根據(jù)當(dāng)前顯示動畫區(qū)域是否為空分以下兩種情況I、空集。說明當(dāng)前需要播出的滾屏內(nèi)容中沒有動畫,系統(tǒng)只需播出滾屏對應(yīng)的內(nèi)容,即 memOutput = rcOutput。2、不為空。說明此時滾屏中需要播出動畫內(nèi)容,即memOutput為rcOutput和rcFrame的混合。根據(jù)rcOutput和rcMovie之間的關(guān)系,確定ptFrame和rcFrame,這兩個值決定了動畫參與混合時的兩個參數(shù)(I)混合到哪里⑵使用了哪些內(nèi)容。具體計算為2. I、動畫區(qū)域進(jìn)入滾屏區(qū)域,但是沒有部分移出該區(qū)域。如圖4所示,虛線框代表滾屏當(dāng)前需要顯示的靜態(tài)內(nèi)容,LOGO標(biāo)代表動畫,ptFrame代表動畫在memOutput的相對位置,rcFrame表示當(dāng)前參與混合的動畫區(qū)域,它的值是相對于整個動畫本身,例如動畫大小為500x400,rcFrame = (500,200)就是動畫上一半?yún)^(qū)域參與混合。
步驟I :把相對于坐標(biāo)原點(diǎn)A的rcFrame轉(zhuǎn)換為相對坐標(biāo)B的值;步驟2 :需要參與混合的動畫在memOutput中的起始位置是ptFrame,其縱坐標(biāo)Y的值為絕對動畫區(qū)域上沿rcMovie. top減去當(dāng)前滾屏區(qū)域的上沿rcOutput. top,即ptFrame. y = rcMovie. top-rcOutput.top。2. 2、動畫區(qū)域已有部分移出滾屏區(qū)域,但沒有全部移出。如圖5所示,線框代表滾屏當(dāng)前需要顯示的靜態(tài)內(nèi)容,LOGO標(biāo)代表動畫。 步驟I :把相對于坐標(biāo)原點(diǎn)A的rcFrame轉(zhuǎn)換為相對坐標(biāo)B的值步驟2 :需要參與混合的動畫在memOutput中的起始位置ptFrame,其縱坐標(biāo)y的值一定為 O,即 ptFrame. y = O。 最后根據(jù)以上的ptFrame和rcFrame,混合動畫的相應(yīng)內(nèi)容到當(dāng)前的滾屏內(nèi)容中,并把動畫的當(dāng)前幀數(shù)加一,驅(qū)動動畫更新內(nèi)容,保證下次讀取到的動畫為當(dāng)前的下一幀?;旌系木唧w做法為把memFrame的rcFrame處的內(nèi)容混合至memOutput的ptFrame處,輸出最終內(nèi)容。本發(fā)明包括但不局限于以上描述的實(shí)施例,任何本領(lǐng)域的技術(shù)人員不需要付出創(chuàng)造性勞動就能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種滾屏中圖文動畫的實(shí)現(xiàn)方法,包括滾屏播出系統(tǒng),其特征在于,包括以下步驟 對滾屏中各個區(qū)域進(jìn)行定義; 開啟動畫解碼線程; 根據(jù)區(qū)域定義獲取當(dāng)前滾屏顯示區(qū)域的靜態(tài)內(nèi)容; 根據(jù)區(qū)域定義獲取當(dāng)前滾屏顯示區(qū)域的動畫內(nèi)容; 播放靜態(tài)內(nèi)容和動畫。
2.如權(quán)利要求I所述的實(shí)現(xiàn)方法,其特征在于,所述的各個區(qū)域包括但不限于滾屏的全部內(nèi)容區(qū)域、當(dāng)前滾屏顯示區(qū)域、動畫區(qū)域和當(dāng)前顯示動畫區(qū)域。
3.如權(quán)利要求I所述的實(shí)現(xiàn)方法,其特征在于,所述的解碼線程對動畫解碼,并根據(jù)需求提供相應(yīng)的動畫內(nèi)容在當(dāng)前顯示動畫區(qū)域中播放;
4.如權(quán)利要求I所述的實(shí)現(xiàn)方法,其特征在于,所述的當(dāng)前滾屏顯示區(qū)域的動畫內(nèi)容,是在當(dāng)前顯示內(nèi)容區(qū)域和動畫區(qū)域的交集中顯示的動畫內(nèi)容,即當(dāng)前顯示動畫區(qū)域顯示的動畫內(nèi)容;
5.如權(quán)利要求I所述的實(shí)現(xiàn)方法,其特征在于,所述播放靜態(tài)內(nèi)容和播放動畫包括以下步驟 5501:判斷當(dāng)前顯示動畫區(qū)域是否為空,如果為空,則在當(dāng)前滾屏顯示區(qū)域只播放靜態(tài)內(nèi)容,如果不為空,則在當(dāng)前滾屏顯示區(qū)域同時播放靜態(tài)內(nèi)容和動畫內(nèi)容,其中按照當(dāng)前顯示動畫區(qū)域播放動畫內(nèi)容的當(dāng)前幀; 5502:當(dāng)播放機(jī)制提供屏幕刷新時,重新計算當(dāng)前顯示區(qū)域,并獲取下一幀動畫內(nèi)容,執(zhí)行步驟S501,直到滾屏內(nèi)容全部播放完畢。
全文摘要
本發(fā)明實(shí)施例公開了一種滾屏中圖文動畫的實(shí)現(xiàn)方法,通過對滾屏中區(qū)域的定義區(qū)分,然后精確控制每個區(qū)域中的內(nèi)容和顯示情況,保持滾屏滾動過程中動畫的相對位置不變,并不斷更新動畫的內(nèi)容。實(shí)現(xiàn)了滾屏中的圖文動畫,豐富了滾屏內(nèi)容,提高了滾屏內(nèi)容的關(guān)注度,提升了滾屏內(nèi)容的提示和宣傳效果。
文檔編號G09G5/40GK102724434SQ20111011589
公開日2012年10月10日 申請日期2011年5月5日 優(yōu)先權(quán)日2011年5月5日
發(fā)明者呂精華, 廖健, 郭紅艷, 饒文輝 申請人:新奧特(北京)視頻技術(shù)有限公司