一種視頻處理方法和裝置的制造方法
【專利說(shuō)明】
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,特別涉及一種視頻處理方法和裝置。
【【背景技術(shù)】】
[0002]在諸如Andr1cU1S等智能操作系統(tǒng)的用戶界面(UI)交互中,經(jīng)常會(huì)設(shè)計(jì)一種視覺特效是等比例縮放動(dòng)畫。例如手機(jī)中點(diǎn)擊一張圖片,圖片等比例放大以便用戶能夠更清楚地看到圖片。對(duì)圖片的等比例縮放動(dòng)畫常見于各種智能操作系統(tǒng)的應(yīng)用中,但并不支持對(duì)視頻的等比例縮放。在Android SDK (Software Development Kit,軟件開發(fā)工具包)提供的resize (圖片大小變化)方法能夠迅速地重置視頻尺寸,但沒有動(dòng)畫效果。例如Android平臺(tái)提供默認(rèn)動(dòng)畫縮放特效接口,默認(rèn)API是ScaleAnimat1n (縮放動(dòng)畫),但是僅支持圖片等比例縮放,對(duì)視頻的縮放支持不了。
【
【發(fā)明內(nèi)容】
】
[0003]有鑒于此,本發(fā)明提供了一種視頻處理方法和裝置,以便于實(shí)現(xiàn)智能操作系統(tǒng)中視頻縮放的動(dòng)畫效果。
[0004]具體技術(shù)方案如下:
[0005]本發(fā)明提供了一種視頻處理方法,該方法包括:
[0006]在視頻縮放開始前,在視頻層上覆蓋包含當(dāng)前視頻一幀圖像的視圖層;
[0007]依據(jù)當(dāng)前視頻的縮放目標(biāo)位置,對(duì)視圖層的圖像執(zhí)行縮放動(dòng)畫并縮放至所述縮放目標(biāo)位置;
[0008]去除所述視圖層以顯示所述視頻層。
[0009]根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述在視頻縮放開始前,在視頻層上覆蓋包含當(dāng)前視頻一幀圖像的視圖層包括:
[0010]獲取到視頻縮放觸發(fā)事件時(shí),調(diào)用視圖添加方法在視頻層上覆蓋包含當(dāng)前視頻一幀圖像的視圖層。
[0011]根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,在對(duì)視圖層的圖像執(zhí)行縮放動(dòng)畫之前還包括:
[0012]獲取視頻縮放觸發(fā)事件對(duì)當(dāng)前視頻觸發(fā)的縮放類型以及縮放目標(biāo)位置,所述縮放類型包括縮小或放大。
[0013]根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,當(dāng)所述縮放類型為縮小時(shí),在對(duì)視圖層的圖像執(zhí)行縮放動(dòng)畫之前或者同時(shí),或者在對(duì)視圖層的圖像執(zhí)行縮放動(dòng)畫結(jié)束之前,調(diào)用布局調(diào)整方法將所述當(dāng)前視頻縮小至所述縮放目標(biāo)位置;
[0014]當(dāng)所述縮放類型為放大時(shí),對(duì)視圖層的圖像執(zhí)行縮放動(dòng)畫之后,調(diào)用布局調(diào)整方法將所述當(dāng)前視頻放大至所述縮放目標(biāo)位置。
[0015]根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,利用縮放動(dòng)畫類對(duì)所述視圖層的圖像執(zhí)行縮放動(dòng)畫;
[0016]利用消去動(dòng)畫類去除所述視圖層。
[0017]本發(fā)明還提供了一種視頻處理裝置,該裝置包括:
[0018]圖層覆蓋單元,用于在視頻縮放開始前,在視頻層上覆蓋包含當(dāng)前視頻一幀圖像的視圖層;
[0019]圖像縮放單元,用于依據(jù)當(dāng)前視頻的縮放目標(biāo)位置,對(duì)所述視圖層的圖像執(zhí)行縮放動(dòng)畫并縮放至所述縮放目標(biāo)位置;
[0020]圖層去除單元,用于去除所述視圖層以顯示所述視頻層。
[0021]根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述圖層覆蓋單元,具體用于獲取到視頻縮放觸發(fā)事件時(shí),調(diào)用視圖添加方法在視頻層上覆蓋包含當(dāng)前視頻一幀圖像的視圖層。
[0022]根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,該裝置還包括:信息獲取單元,用于獲取視頻縮放觸發(fā)事件對(duì)當(dāng)前視頻觸發(fā)的縮放類型以及縮放目標(biāo)位置,所述縮放類型包括縮小或放大。
[0023]根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,該方法還包括:
[0024]視頻縮放單元,用于在所述縮放類型為縮小時(shí),在所述圖像縮放單元對(duì)視圖層的圖像執(zhí)行縮放動(dòng)畫之前或者同時(shí),或者在對(duì)視圖層的圖像執(zhí)行縮放動(dòng)畫結(jié)束之前,調(diào)用布局調(diào)整方法將所述當(dāng)前視頻縮小至所述縮放目標(biāo)位置;在所述縮放類型為放大時(shí),在所述圖像縮放單元對(duì)視圖層的圖像執(zhí)行縮放動(dòng)畫之后,調(diào)用布局調(diào)整方法將所述當(dāng)前視頻放大至所述縮放目標(biāo)位置。
[0025]根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述圖像縮放單元具體利用縮放動(dòng)畫類對(duì)所述視圖層的圖像執(zhí)行縮放動(dòng)畫;
[0026]所述圖層去除單元具體利用消去動(dòng)畫類去除所述視圖層。
[0027]由以上技術(shù)方案可以看出,本發(fā)明通過(guò)在視頻層上覆蓋包含當(dāng)前視頻一幀圖像的視圖層,通過(guò)對(duì)視圖層的圖像進(jìn)行縮放動(dòng)畫并縮放至視頻的縮放目標(biāo)位置來(lái)模擬視頻的縮放動(dòng)畫效果,再去除視圖層以露出視頻層從而實(shí)現(xiàn)視圖層至視圖層之間的過(guò)渡,這一過(guò)程能夠非常逼真地達(dá)到視頻的動(dòng)態(tài)縮放效果。
【【附圖說(shuō)明】】
[0028]圖1為本發(fā)明實(shí)施例提供的視頻縮小的方法流程圖;
[0029]圖2為本發(fā)明實(shí)施例提供的視頻放大的方法流程圖;
[0030]圖3為本發(fā)明實(shí)施例提供的視頻處理裝置的結(jié)構(gòu)圖。
【【具體實(shí)施方式】】
[0031]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
[0032]在智能操作系統(tǒng)中通常會(huì)提供縮放動(dòng)畫類,通過(guò)該類能夠?qū)D像產(chǎn)生動(dòng)態(tài)縮放動(dòng)畫,同時(shí)也提供所有View(視圖)通用的布局調(diào)整方法。例如Android的API提供了ScaleAnimat1n對(duì)圖像產(chǎn)生動(dòng)態(tài)縮放動(dòng)畫,同時(shí)提供了 setLayoutParams方法來(lái)調(diào)整視圖的大小和位置等布局屬性。本發(fā)明利用這些已有的方法,對(duì)視頻的縮放過(guò)程進(jìn)行了創(chuàng)造性的改進(jìn),提供了一種模擬視頻等比例縮放動(dòng)畫的實(shí)現(xiàn)方案。
[0033]本發(fā)明的主要方式是:在視頻縮放開始前,在視頻層上覆蓋包含當(dāng)前視頻一幀圖像的視頻層;依據(jù)當(dāng)前視頻的縮放目標(biāo)位置,對(duì)視圖層的圖像執(zhí)行縮放動(dòng)畫并縮放至縮放目標(biāo)位置;然后去除視圖層以顯示視頻層。
[0034]下面分別通過(guò)兩個(gè)實(shí)施例對(duì)視頻縮小和視頻放大兩種縮放類型的過(guò)程進(jìn)行詳細(xì)描述。在下面兩個(gè)實(shí)施例中均以Android系統(tǒng)為例,但本發(fā)明并不限于Android系統(tǒng),還可以應(yīng)用于諸如1S、Symbian、BlackBerry OS等智能操作系統(tǒng)。
[0035]圖1為本發(fā)明實(shí)施例提供的視頻縮小的方法流程圖,如圖1中所示,該方法主要包括以下步驟:
[0036]獲取到視頻縮放觸發(fā)事件時(shí),在步驟101中調(diào)用addView (視圖添加)方法在視頻層上覆蓋包含當(dāng)前視頻一幀圖像的視圖層。即調(diào)用addView方法在視頻層上添加一層視圖層,該視圖層是當(dāng)前視頻一幀圖像,該視圖層的位置和大小可以和當(dāng)前視頻的初始位置和大小一致,也可以略大,需要覆蓋掉當(dāng)前視頻,在視覺上讓用戶察覺不到該視圖層的增加,仍以為當(dāng)前顯示的是當(dāng)前視頻的那一幀圖像。
[0037]上述的視頻縮放觸發(fā)事件可以是用戶點(diǎn)擊某選項(xiàng)所觸發(fā)的,例如用戶在智能電視上觀看視頻的過(guò)程中點(diǎn)擊了視頻縮放按鈕(也可以是視頻縮小按鈕或者視頻放大按鈕),再例如用戶使用視頻通話功能時(shí)初始顯示本地全屏圖像,一旦通話建立成功后產(chǎn)生視頻縮小觸發(fā)事件,再例如用戶在具有觸摸屏的智能終端上通過(guò)手勢(shì)操作控制視頻縮放時(shí),用戶的手勢(shì)操作產(chǎn)生視頻縮放觸發(fā)事件,還可能是其他應(yīng)用場(chǎng)景產(chǎn)生的視頻縮放觸發(fā)事件,在此不再一一列舉。
[0038]在步驟102中,獲取視頻縮放觸發(fā)事件對(duì)當(dāng)前視頻觸發(fā)的縮放類型以及縮放目標(biāo)位置。
[0039]對(duì)于有些應(yīng)用場(chǎng)景下,縮放類型和縮放目標(biāo)位置是固定設(shè)置好的。例如對(duì)于用戶使用視頻通話功能時(shí)初始顯示本地全屏圖像,一旦通話建立成功后產(chǎn)生視頻縮小觸發(fā)事件這種應(yīng)用場(chǎng)景,縮放類型固定設(shè)置為縮小,縮放目標(biāo)位置通常是屏幕一角的一個(gè)固定大小的固定位置。這種場(chǎng)景下,只需要獲取該固定設(shè)置的縮放類型及縮放目標(biāo)位置即可。
[0040]還有些應(yīng)用場(chǎng)景,縮放類型根據(jù)外部事件確定,縮放目標(biāo)位置是固定設(shè)置好的。例如用戶在智能電視上觀看視頻的過(guò)程中點(diǎn)擊了視頻縮放按鈕,縮放類型可以跟用戶點(diǎn)擊的按鈕相關(guān),例如用戶點(diǎn)擊了視頻縮小按鈕,則對(duì)應(yīng)縮放類型為縮小,用戶點(diǎn)擊了視頻放大按鈕,則對(duì)應(yīng)縮放類型為放大。如果只有一個(gè)視頻縮放按鈕,則如果當(dāng)前視頻為大尺寸視頻(例如全屏)則對(duì)應(yīng)縮放類型為縮小,如果當(dāng)前視頻為小尺寸視頻則對(duì)應(yīng)縮放類型為視頻放大??s放目標(biāo)位置通常是全屏或者電視屏幕上的一個(gè)固定位置。
[0041]另外有一些應(yīng)用場(chǎng)景,縮放類型和縮放目標(biāo)位置都根據(jù)外部事件確定,例如用戶在具有觸摸屏的智能終端上通過(guò)手勢(shì)操作控制視頻縮放時(shí),如果用戶用多根手指進(jìn)行捏合操作,則縮放類型為縮小,縮放目標(biāo)位置由捏合程度確定;如果用戶用多根手指進(jìn)行分離操作,則縮放類型為放大,縮放目標(biāo)位置由分離程度確定。
[0042]在步驟103中,通過(guò)調(diào)用setLayoutParams (布局調(diào)整)方法將視頻縮小至目標(biāo)位置。如果是視頻縮放類型是縮小,則需要在對(duì)視圖層的圖像執(zhí)行縮放動(dòng)畫之前或者同時(shí),至少要在對(duì)視圖層的圖像執(zhí)行縮放動(dòng)畫結(jié)束之前,將視頻層的視頻縮小至目標(biāo)位置。
[0043]在步驟104中,依據(jù)當(dāng)前視頻的縮放類型和縮放目標(biāo)位置,對(duì)視圖層的圖像執(zhí)行縮小動(dòng)畫并縮小至目標(biāo)位置。本步驟中利用ScaleAnimat1n類對(duì)視圖層的圖像執(zhí)行縮小動(dòng)畫,這樣視圖層的圖像就進(jìn)行等比例縮放并向用戶展現(xiàn)動(dòng)畫。由于視頻層的視頻已經(jīng)先于視圖層的圖像縮小完成,因此用戶僅能夠看到視圖層的圖像的縮小動(dòng)畫效果。
[0044]在步驟105中,視圖層的圖像縮小動(dòng)畫執(zhí)行完畢后,去除視圖層。這樣就露出視頻層的視頻,兩者都是在縮放目標(biāo)位置,大小和位置一致,因此去除視圖層用戶完全感知不至IJ。另外,視圖層執(zhí)行的圖像縮放動(dòng)畫通常為秒級(jí),持續(xù)時(shí)間較長(zhǎng)用戶能夠明顯感知到,而視頻層的setLayoutParams方法的執(zhí)行時(shí)間十分短暫用戶并不能感知到,因此視圖層的圖像縮放完全覆蓋了視頻層的視頻縮放,這一過(guò)程非常逼真地達(dá)到視頻的動(dòng)態(tài)縮放效果。
[0045]優(yōu)選地,為了達(dá)到更逼真的效果,在去掉上面的視圖層時(shí),可以采用Android自帶的AlphaAnimat1n (消去動(dòng)畫)類,使得兩者的過(guò)渡更加順暢。
[0046]圖2為本發(fā)明實(shí)施例提供的視頻放大的方法流程圖,如圖2中所示,該方法主要包括以下步驟:
[0047]步驟201同圖1中的步驟101,不再贅述。
[0048]步驟202同圖1中的步驟102,不再贅述。
[0049]在步驟203中,依據(jù)當(dāng)前視頻的縮放類型和縮放