本發(fā)明涉及圖像處理領(lǐng)域,特別涉及一種劃圖的生成、顯示方法以及裝置。
背景技術(shù):
蘋果公司在iPhone6s和6s Plus中增加了一個全新特性——Live Photos,這新特性的作用是在照片拍攝前后錄制一段1.5秒的動態(tài)視頻,當(dāng)用戶在照片上深按一下,照片就會自動播放動態(tài)效果。同時,用戶還可以將Live Photos設(shè)置為鎖屏墻紙,隨時重現(xiàn)動態(tài)瞬間。采用Live Photos技術(shù),通過3D-Touch按壓iPhone可以展示圖片前后大約1-2秒時長的視頻。同時這項功能是默認(rèn)開啟的,在拍照的界面正上方看到一個激活的黃色小標(biāo)識。如果用戶想拍下Live Photo形式的照片,只需要在相機界面正上方中間的“l(fā)ive”圖標(biāo)打開的時候拍攝一張照片就行(打開狀態(tài)下圖標(biāo)為黃色,關(guān)閉狀態(tài)下則圖標(biāo)則是黑白色)。iPhone將能夠在拍攝照片前后分別自動錄制一段1.5秒的視頻,并把視頻和照片編輯在一起。
目前,Live Photos已經(jīng)具有以下運用:
用戶還可以將Live Photo共享到社交平臺上,如果用戶要分享Live Photo,找到想要分享的那一張點擊分享按鍵,點擊照片上的live按鍵,那么就可以分享視頻和照片結(jié)合在一起的Live Photo,如果只是需要分享一張靜態(tài)照片,那就不需要打開live鍵,最后再選擇你想要通過哪個平臺來分享即可。
用戶還可以把Live Photo設(shè)置為壁紙,同樣先找到用戶需要的照片然后點擊分享按鍵,找到用作壁紙項,然后調(diào)整大小,預(yù)覽看看效果如何,然后選擇Live Photo鍵,點擊設(shè)定就可以選擇將Live Photo設(shè)定為壁紙了。
但Live Photos技術(shù)具有以下缺點:
1)只適用于部分機型蘋果手機(iPhone6s、6s Plus或者iOS9以上的OS),完全不能夠使用在安卓手機上,無法適配所有的智能手機機型或操作系統(tǒng)。
2)由于Live Photo其實是照片和視頻的結(jié)合體,所以它占據(jù)的空間其實是一般照片的兩倍,占用較大的手機內(nèi)存。
3)Live Photo目前僅支持:3D-Touch按壓iPhone,無法支持多種方式的用戶交互功能。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是,提供應(yīng)用適用范圍廣、用戶交互多樣、一定程度上降低內(nèi)容占用量的劃圖的生成、顯示方法。
在本申請中,劃圖是指包括但不限于:多種通過圖片的形式展示視頻內(nèi)容的方式,但既不是傳統(tǒng)的視頻,不是靜態(tài)的圖片,也不是GIF格式的動圖。
解決上述技術(shù)問題,本發(fā)明提供了一種劃圖的生成方法,包括如下步驟:
獲得視頻拍攝圖像,根據(jù)所述圖像提取得到多張局部圖片,所述圖像按照每秒的限定幀進行拍攝,并根據(jù)所述限定幀提取得到對應(yīng)的所述局部圖片;
將所述局部圖片按照矩陣拼接轉(zhuǎn)化成為拼接圖片;
對所述拼接圖片解碼,得到的局部圖片按照數(shù)組堆棧形式存儲得到劃圖。
本發(fā)明還包括一種劃圖的顯示方法,按照所述的劃圖的生成方法得到的劃圖后,若用戶劃動所述劃圖時從第一幀開始播放。
更進一步,所述限定幀的范圍是:1秒24幀~1秒60幀或者1秒60幀~1秒120幀。
更進一步,所述獲得視頻拍攝圖像的時間范圍是:1s~10s。
更進一步,對PNG格式的所述局部圖片進行壓縮并按照矩陣拼接轉(zhuǎn)化成為JPEG格式的拼接圖片。
本發(fā)明還提出了一種劃圖的生成、顯示裝置,包括:運行iOS或Android系統(tǒng)的終端,所述終端被配置為:
通過攝像頭按照每秒的限定幀進行拍攝,在獲得視頻拍攝圖像后上傳;
接收拼接圖片,所述拼接圖片通過將根據(jù)所述限定幀提取得到對應(yīng)的局部圖片按照矩陣拼接轉(zhuǎn)化得到;所述局部圖片包括:多張,并通過所述上傳的圖像提取得到;
以及,對接收到的所述拼接圖片解碼,得到的局部圖片按照數(shù)組堆棧形式存儲得到劃圖;
若用戶在終端劃動或者檢測到重力變化時,所述劃圖從第一幀開始播放。
更進一步,所述劃圖按照第一幀為封面靜態(tài)顯示在所述終端中,用戶劃動距離為所述終端的屏幕寬度,從所述終端的屏幕左方劃動到右方,按照所述視頻拍攝圖像的時間順序播放劃圖,從右方劃回左方,可倒序播放劃圖。
更進一步,所述終端還被配置為:通過iOS或Android系統(tǒng)API對視頻拍攝圖像進行初步壓縮后上傳。
更進一步,所述終端還被配置為:通過所述限定幀控制所述獲得視頻拍攝圖像的時長、尺寸和格式。
本發(fā)明還提出了一種劃圖服務(wù)器端,所述劃圖服務(wù)器端被配置為:
接收所述終端上傳的視頻拍攝圖像,根據(jù)所述圖像提取得到多張局部圖片,所述圖像按照每秒的限定幀進行拍攝,并根據(jù)所述限定幀提取得到對應(yīng)的所述局部圖片;以及,所述劃圖服務(wù)器端將所述局部圖片按照矩陣拼接轉(zhuǎn)化成為拼接圖片后同步至對所述拼接圖片解碼得到的局部圖片按照數(shù)組堆棧形式存儲得到劃圖的所述終端
本發(fā)明的有益效果:
1)本發(fā)明中的劃圖的生成、顯示裝置和方法,能夠適用于目前市面運行iOS或Android系統(tǒng)的智能移動終端,比如安卓手機、蘋果手機、PAD,覆蓋面很廣,克服了目前Live Photos技術(shù)所實現(xiàn)的技術(shù)局限性。
2)本發(fā)明中的劃圖的生成方法,由于獲得視頻拍攝圖像,根據(jù)所述圖像提取得到多張局部圖片,在此過程中進行圖像壓縮,并通過Python提取得到多張局部圖片。比如,以1秒60幀的速度拍攝視頻,獲取2秒時長的視頻內(nèi)容,通過Python編寫的算法代碼,提取2秒視頻的每一幀視圖,共120張圖片。與Live Photos技術(shù)相比,能夠一定程度上的節(jié)省手機的內(nèi)存空間。
3)本發(fā)明中的劃圖的生成、顯示裝置,通過劃動和重力感應(yīng)搖擺,可以顯示圖片前后時長的視頻,完全適用于蘋果手機、安卓手機和網(wǎng)頁展示,對于用戶而言交互更豐富。
附圖說明
圖1是本發(fā)明一實施例中的劃圖生成流程示意圖。
圖2是本發(fā)明一實施例中的劃圖顯示流程示意圖。
圖3是本發(fā)明實施例中的具體操作流程示意圖。
圖4是本實施例中劃圖生成、顯示裝置的硬件實現(xiàn)結(jié)構(gòu)圖。
圖5是本實施例中劃圖生成、顯示裝置的操作流程示意圖。
圖6是劃圖服務(wù)器端操作流程示意圖。
具體實施方式
現(xiàn)在將參考一些示例實施例描述本公開的原理??梢岳斫?,這些實施例僅出于說明并且?guī)椭绢I(lǐng)域的技術(shù)人員理解和實施例本公開的目的而描述,而非建議對本公開的范圍的任何限制。在此描述的本公開的內(nèi)容可以以下文描述的方式之外的各種方式實施。
如本文中所述,術(shù)語“包括”及其各種變體可以被理解為開放式術(shù)語,其意味著“包括但不限于”。術(shù)語“基于”可以被理解為“至少部分地基于”。術(shù)語“一個實施例”可以被理解為“至少一個實施例”。術(shù)語“另一實施例”可以被理解為“至少一個其它實施例”。
在本申請中,獲得視頻拍攝圖像的方法包括但不限于:安卓手機或者蘋果手機,只要能夠進行攝像頭調(diào)用即可。手機攝像頭可主要包括:內(nèi)置與外置,內(nèi)置攝像頭是指攝像頭在手機內(nèi)部,更方便。外置手機通過數(shù)據(jù)線或者手機下部接口與數(shù)碼相機相連,來完成數(shù)碼相機的一切拍攝功能。
在本申請中,手機重力感應(yīng)技術(shù):利用壓電效應(yīng)實現(xiàn),就是測量內(nèi)部一片重物(重物和壓電片做成一體)重力正交兩個方向的分力大小,來判定水平方向。通過對力敏感的傳感器,感受手機在變換姿勢時,重心的變化,使手機光標(biāo)變化位置從而實現(xiàn)選擇的功能。通過手機的重力感應(yīng),可以利用該功能來切換所需的界面和功能,甩歌甩屏,翻轉(zhuǎn)靜音,甩動切換視頻等,是一種非常具有使用樂趣的功能。
可以理解,攝像頭結(jié)構(gòu)基于:SENSOR(圖象傳感器),圖像傳感器(SENSOR)是一種半導(dǎo)體芯片,其表面包含有幾十萬到幾百萬的光電二極管。光電二極管受到光照射時,就會產(chǎn)生電荷。目前的SENSOR類型有兩種:CCD(Charge Couple Device)電荷耦合器件,CMOS(Complementary Metal Oxide Semiconductor)互補金屬氧化物半導(dǎo)體。以及A/D轉(zhuǎn)換器,A/D轉(zhuǎn)換器即ADC(Analog Digital Converter模擬數(shù)字轉(zhuǎn)換器)ADC的兩個重要指標(biāo)是轉(zhuǎn)換速度和量化精度,由于CAMERA SYSTEM中高分辨率圖象的象素量龐大,因此對速度轉(zhuǎn)換器的要求很高。同時量化精度對應(yīng)的ADC轉(zhuǎn)換器將每一個象素的亮度和色彩值量化為若干的等級,這個等級就是CAMERA的色彩深度。由于CMOS已經(jīng)具備數(shù)字化傳輸接口,所以不需要A/D4.0數(shù)字信號處理芯片(DSP)數(shù)字信號處理芯片DSP(DIGITAL SIGNAL PROCESSING)功能:主要是通過一系列復(fù)雜的數(shù)學(xué)算法運算,對數(shù)字圖像信號參數(shù)進行優(yōu)化處理,并把處理后的信號通過USB等接口傳到PC等設(shè)備。
在本申請中,對視頻的初步壓縮,是利用手機系統(tǒng)本身提供的系統(tǒng)API進行的,對于所屬領(lǐng)域技術(shù)人員而言是公知的。比如,iOS:-(nullable instancetype)initWithAsset:(AVAsset*)asset presetName:(NSString*)presetName NS_DESIGNATED_INITIALIZER。
可以理解,若用戶劃動所述劃圖時從第一幀開始播放,當(dāng)用戶左右劃動圖片,按順序前后可展示多張圖片形成類似走馬燈的動態(tài)播放效果。
請參考圖1是本發(fā)明一實施例中的劃圖生成流程示意圖,本實施例提供了一種劃圖的生成方法,包括如下步驟:步驟S100獲得視頻拍攝圖像,根據(jù)所述圖像提取得到多張局部圖片,在執(zhí)行上述步驟S100時,作為操作條件進入步驟S101所述圖像按照每秒的限定幀進行拍攝,并根據(jù)所述限定幀提取得到對應(yīng)的所述局部圖片;作為本實施例中的優(yōu)選,所述限定幀的范圍是:1秒24幀~1秒60幀或者1秒60幀~1秒120幀。在本發(fā)明中的限定幀可以優(yōu)選上述的范圍,比如,1秒60幀時圖像處理速度可為最優(yōu)。作為本實施例中的優(yōu)選,所述獲得視頻拍攝圖像的時間范圍是:1s~10s,可以根據(jù)用戶的需要拍攝不同時長的視頻,一般而言1s-2s內(nèi)獲得的視頻可以記錄最想要留存的瞬間。步驟S102將所述局部圖片按照矩陣拼接轉(zhuǎn)化成為拼接圖片;作為本實施例中的優(yōu)選,對PNG格式的所述局部圖片進行壓縮并按照矩陣拼接轉(zhuǎn)化成為JPEG格式的拼接圖片。步驟S103對所述拼接圖片解碼,得到的局部圖片按照數(shù)組堆棧形式存儲得到劃圖,所述圖片解碼主要是對接收到的拼接圖片裁剪切割成一張張的局部圖片,每一局部圖片對應(yīng)每一幀。
請參考圖2是本發(fā)明一實施例中的劃圖顯示流程示意圖,步驟S100獲得視頻拍攝圖像,根據(jù)所述圖像提取得到多張局部圖片,步驟S101所述圖像按照每秒的限定幀進行拍攝,并根據(jù)所述限定幀提取得到對應(yīng)的所述局部圖片;步驟S102將所述局部圖片按照矩陣拼接轉(zhuǎn)化成為拼接圖片;步驟S103對所述拼接圖片解碼,得到的局部圖片按照數(shù)組堆棧形式存儲得到劃圖;還包括步驟S104若用戶劃動所述劃圖時從第一幀開始播放。比如在手機上實現(xiàn)上述方法時,用戶劃動所述劃圖時,從第一幀開始播放,劃動距離為手機屏幕寬,從手機屏幕左方劃動到右方,即可順序播放完整幾秒時間內(nèi)的劃圖,從右方劃回左方,可倒序播放幾秒劃圖,根據(jù)獲得視頻拍攝圖像的時間范圍是:1s~10s而定。另外可顯示的圖片數(shù)量也根據(jù)所述限定幀的范圍是:1秒24幀~1秒60幀或者1秒60幀~1秒120幀而定。
請參考圖3是本發(fā)明實施例中的具體操作流程示意圖,以限定幀為1秒60幀,視頻拍攝圖像的時間為2s為例進行說明:
首先,以1秒60幀的速度拍攝視頻,獲取2秒時長的視頻內(nèi)容,視頻尺寸為480*480。通過iOS或Android系統(tǒng)API對視頻進行初步壓縮后上傳到本地或者云端服務(wù)器。
然后,服務(wù)器中通過比如,Python編寫的算法代碼,提取2秒視頻的每一幀視圖,共120張局部圖片。圖片尺寸為480*480,對這120張PNG格式圖片進行壓縮以12*10的矩陣拼接成一張尺寸為5760*4800的拼接圖片,轉(zhuǎn)換為JPEG格式。
接著,拼接圖片傳輸?shù)接脩羰謾C客戶端,手機客戶端通過本地代碼(用以將拼接圖片裁剪切割成一張張的局部圖片,每一個局部圖片對應(yīng)每一幀)運行算法解碼大圖片,還原120張圖片,并以數(shù)組堆棧形式儲存在本地,這120張圖片組成的一個整體,即為劃圖。劃圖會以第一幀為封面靜態(tài)展示在手機中。
另外,當(dāng)用戶劃動劃圖時,從第一幀開始播放,劃動距離為手機屏幕寬,從手機屏幕左方劃動到右方,即可順序播放完整2秒劃圖,從右方劃回左方,可倒序播放2秒劃圖。除了劃動,用戶還可以通過左右晃動手機播放劃圖。當(dāng)用戶晃動手機時,則調(diào)用智能手機的重力感應(yīng)陀螺儀進行檢測,根據(jù)晃動幅度和速度播放劃圖。
請參考圖4和圖5,其中圖4是本實施例中劃圖生成、顯示裝置的硬件實現(xiàn)結(jié)構(gòu)圖,圖5是本實施例中劃圖生成、顯示裝置的操作流程示意圖,實施例中的劃圖的生成、顯示裝置,包括:運行iOS或Android系統(tǒng)的終端,所述終端包括:CPU100,RAM101,ROM103以及總線104,所述CPU100,RAM101,ROM103分別與所述總線104相連;所述CPU100是整臺手機的控制中樞系統(tǒng),也是邏輯部分的控制中心。微處理器通過運行存儲器內(nèi)的軟件及調(diào)用存儲器內(nèi)的數(shù)據(jù)庫,達(dá)到控制目的,比如,進行下述步驟S200的操作和對所述步驟S203進行反饋。所述RAM101,RAM101即運行內(nèi)存,比如在Android移動操作系統(tǒng)中,RAM的大小直接決定了在手機后臺能開多少程序,比如進行下述步驟S200。所述ROM103即機身存儲,比如在Android移動操作系統(tǒng)中,ROM的大小決定了在手機中安裝應(yīng)用程序的數(shù)量,存放視頻或者照片的數(shù)量。通過串行接口控制器105與內(nèi)存109相連,用以視頻或者照片的傳輸;通過并行接口控制器106與攝像頭110相連,用以傳輸手機的攝像頭110的數(shù)據(jù)。通過顯示屏控制器與顯示屏111相連,用于顯示視頻或者照片。通過鍵盤控制器108與觸摸屏112相連,用以反饋用戶的劃動操作或者重力變化。
所述終端被配置為可進行如下步驟操作:
步驟S200通過攝像頭按照每秒的限定幀進行拍攝,在獲得視頻拍攝圖像后上傳;優(yōu)選地,所述終端還被配置為:通過iOS或Android系統(tǒng)API對視頻拍攝圖像進行初步壓縮后上傳。
步驟S201接收拼接圖片,所述拼接圖片通過將根據(jù)所述限定幀提取得到對應(yīng)的局部圖片按照矩陣拼接轉(zhuǎn)化得到;所述局部圖片包括:多張,并通過所述上傳的圖像提取得到;優(yōu)選地,所述終端還被配置為:通過所述限定幀控制所述獲得視頻拍攝圖像的時長、尺寸和格式。
步驟S202對接收到的所述拼接圖片解碼,得到的局部圖片按照數(shù)組堆棧形式存儲得到劃圖;
步驟S203若用戶在終端劃動或者檢測到重力變化時,所述劃圖從第一幀開始播放,具體地,所述劃圖按照第一幀為封面靜態(tài)顯示在所述終端中,用戶劃動距離為所述終端的屏幕寬度,從所述終端的屏幕左方劃動到右方,按照所述視頻拍攝圖像的時間順序播放劃圖,從右方劃回左方,可倒序播放劃圖。時間順序播放劃圖形成類似走馬燈的動態(tài)播放效果,是一種充滿趣味的娛樂方式和多媒體表現(xiàn)途徑。
請參考圖6是劃圖服務(wù)器端操作流程示意圖,所述劃圖服務(wù)器端被配置為:步驟S300接收所述終端上傳的視頻拍攝圖像,根據(jù)所述圖像提取得到多張局部圖片,通過iOS或Android系統(tǒng)API對視頻進行初步壓縮后上傳到劃圖服務(wù)器端。然后,服務(wù)器中通過比如,Python編寫的算法代碼,提取限定幀范圍內(nèi)的視頻的每一幀視圖,圖片尺寸為480*480,對該些PNG格式圖片進行壓縮以12*10的矩陣拼接成一張尺寸為5760*4800的拼接圖片,轉(zhuǎn)換為JPEG格式。步驟S301所述圖像按照每秒的限定幀進行拍攝,并根據(jù)所述限定幀提取得到對應(yīng)的所述局部圖片;步驟S302所述劃圖服務(wù)器端將所述局部圖片按照矩陣拼接轉(zhuǎn)化成為拼接圖片后同步至對所述拼接圖片解碼得到的局部圖片按照數(shù)組堆棧形式存儲得到劃圖的所述終端。
雖然本公開以具體結(jié)構(gòu)特征和/或方法動作來描述,但是可以理解在所附權(quán)利要求書中限定的本公開并不必然限于上述具體特征或動作。而是,上述具體特征和動作僅公開為實施權(quán)利要求的示例形式。