王國娟,李佳忻,盤細平
(上海市計算技術(shù)研究所上海200333)
一種面向即時通訊的圖片管理方法及其在稅務(wù)通訊軟件上的實現(xiàn)
王國娟,李佳忻,盤細平
(上海市計算技術(shù)研究所上海200333)
結(jié)合即時通訊對圖片使用要求的特點,為了提高即時通訊軟件通訊中圖片的加載速度,提升用戶體驗,開發(fā)出了一種圖片管理系統(tǒng)。該圖片管理系統(tǒng)主要實現(xiàn)方法為:以XMPP協(xié)議為依托,發(fā)送客戶端將待發(fā)送圖片生成縮略圖,將待發(fā)送圖片及其縮略圖一起上傳到服務(wù)器,在獲取到圖片在文件服務(wù)器上的URL后,生成報文消息并發(fā)送給消息服務(wù)器,接收端在接受到報文消息后,根據(jù)URL下載圖片及其縮略圖,完成緩存,在圖片顯示時,根據(jù)是否具有緩存采取相應(yīng)顯示方法。本方法在上海稅務(wù)通訊軟件上進行了實現(xiàn),證明了本圖片管理方法的實用性和可行性。
圖片管理;XMPP;即時通訊;上海稅務(wù)
隨著科技的飛速發(fā)展,即時通訊已經(jīng)成了目前網(wǎng)絡(luò)上最流行的通訊方式,各種各樣的即時通訊軟件層出不窮。即時通訊系統(tǒng)中圖片傳輸是最重要的子功能之一。用戶通過傳輸圖片不僅可以在最快的時間內(nèi)清晰地獲得所需要的資訊,而且增加了交流的趣味性。但是隨著智能手機的普及,即時通訊的應(yīng)用環(huán)境日趨復(fù)雜,既有不同的操作系統(tǒng)(安卓、IOS等),又有不同的終端設(shè)備,還有復(fù)雜的網(wǎng)絡(luò)環(huán)境[1]。而即時通訊中對圖片的使用頻率日益頻繁,片人們?nèi)諠u喜歡通過圖片來傳達信息,并且希望是實時的,快速送達目標好友。圖使用終端也日益多樣化,要求我們具有完整的支持。因此如何使圖片在通訊過程中能達到即時高效的傳輸是即時通訊圖片傳輸?shù)囊粋€難點。
本即時通訊的圖片管理方法原理是將要發(fā)送的圖片處理后按比例壓縮后在發(fā)送端對壓縮后的圖片和原圖進行編碼,將編碼后的文件在IM服務(wù)器中以報文的形式進行傳輸[2],接收端在接收到報文后,按照相應(yīng)的編碼方式進行解碼,顯示在接收端,同時發(fā)送端將編碼并將編碼后的壓縮文件和原文件上傳到服務(wù)器端并進行保存,同時將編碼[3]后的壓縮文件在IM服務(wù)器[4]中以報文的形式進行傳輸,接收端在接收到報文后,按照相應(yīng)的編碼方式進行解碼,顯示在接收端,并且顯示在接收端的壓縮文件附帶著服務(wù)器端的URL地址,在特定情況下當客戶端需要相應(yīng)的文件時,雙擊壓縮圖片利用URL地址可以從服務(wù)器端將文件下載下來,本即時通訊的圖片管理方法的原理如圖1所示。
圖1 圖片管理方法的系統(tǒng)框架
1)發(fā)送端:發(fā)送端的功能是將選取的文件進行壓縮、剪裁,并將處理好的文件進行編碼處理。
2)IM服務(wù)器:IM服務(wù)器是負責傳輸報文的通道;
3)服務(wù)器端:服務(wù)器端是一個網(wǎng)絡(luò)上的存儲空間,負責接收發(fā)送端發(fā)送的編碼文件,并保存下來,返回一個URL地址;
4)接收端:接收端在接收到IM服務(wù)器傳送過來的報文以后,將報文進行相應(yīng)的解碼,或者在用戶選擇下載那個服務(wù)器端下載文件時,根據(jù)URL地址,進行下載,并將文件顯示在界面。
即時通訊是一個O2O平臺,沒有固定的發(fā)送端,本文中所謂的發(fā)送端和接收端都可以是安裝著上海稅務(wù)系統(tǒng)即時通訊軟件和任何一部移動設(shè)備。
發(fā)送端的主要職能包括對圖片的選取以及對圖片進行處理。當用戶需要傳送圖片的時候,可以通過設(shè)置是否使用手機自帶相機的選擇和從相冊中進行已有圖片的選擇,從而選定一張照片。
選定照片后對照片進行處理,首先對照片進行人臉識別判斷,人臉識別使用的是openCV臉部識別原理[5],這是一個目前比較成熟的方法,基于人臉識別的難度,是對人臉的關(guān)鍵點進行分析進而識別,所以可以避免很多麻煩,使用該原理進行人臉識別只可以識別出占整張圖片大面積的人臉,而無法識別作為背景不小心被拍進畫面的人臉,這樣一旦進行需要圖片剪裁的時候,對識別出人臉的圖片,以人臉為中心,進行剪裁,而風(fēng)景的畫面即無法識別出人臉的畫面,則以幾何中心為中心進行剪裁,雖然會存在一定的誤差,但是在大多數(shù)情況下,剪裁后都可以保證最大化的保留圖片想表達的重點內(nèi)容。
壓縮圖片[6]的參數(shù)在經(jīng)過上海稅務(wù)即時通訊系統(tǒng)上的反復(fù)測試,得出在壓縮系數(shù)確定為0.7的時候,壓縮效果可以保證圖片索要表達的信息。
同時在發(fā)送端只有在圖片的大小大于1080P的情況下會對圖片進行剪裁,分為三個檔次階段,第一階段,圖片小于1080P直接進行等比例壓縮;第二個階段圖片大于1080P小于2M的情況下,先對圖片進行一次0.7系數(shù)的壓縮,然后進行剪裁,剪裁后的大小在1080P左右,然后進行壓縮;第三個階段,圖片的大小大于2M,對圖片先進行剪裁,剪裁到2M大小,接著按照2M圖片的處理方法進行處理。
在對圖片進行處理編碼后發(fā)送端將處理后的圖片和原圖片以報文的形式分別發(fā)送出去。
服務(wù)器端是一個存在于網(wǎng)絡(luò)上的存儲空間,服務(wù)器端在收到發(fā)送端發(fā)送過來的處理后的圖片和原圖后,給接收到的原圖迅速分配一個內(nèi)存的URL地址,將接收到的文件進行保存,并且將原圖分配的URL地址以報文的形式發(fā)送到接收端,并且將該URL地址加載在與該原圖對應(yīng)的處理后的圖片上。
并且在接收到接收端的請求后,將原圖發(fā)送到接收端。
接收端也是任意一部安裝著上海稅務(wù)即時通訊軟件的移動設(shè)備。
接收端在通過IM服務(wù)器接受到來自發(fā)送端直接發(fā)送的處理后的圖片報文后,將報文組裝后,解壓縮顯示在接收端界面上,并且將來自服務(wù)器端的URL地址加載在對應(yīng)的處理后的圖片上,并且在客戶有需要的情況下,即客戶雙擊縮略圖,則接收端對服務(wù)器端發(fā)送一個http請求,在獲得服務(wù)器端發(fā)送過來的原圖后,以大圖的形式顯示子界面上。
當客戶瀏覽大圖完成后,雙擊大圖,則圖片再次變成縮略圖,并且在接收端形成原圖緩存,在再次想要訪問原圖的情況下就不需要再次向服務(wù)器端發(fā)送請求,只需要從后臺緩存里取出圖片,節(jié)省流量。
上海稅務(wù)系統(tǒng)即時通訊軟件又名霓歌是一款屬于上海市神計信息有限公司開發(fā)的一款用于上海2016年稅務(wù)改版后業(yè)內(nèi)業(yè)務(wù)交流的軟件。該款軟件實現(xiàn)了稅務(wù)填報人員和稅務(wù)局以及稅務(wù)填報客服之間的無障礙交流,現(xiàn)在已經(jīng)進行局部上線試用,得到了業(yè)內(nèi)人士的一致好評。
現(xiàn)在除了各個公司的私有IM協(xié)議后,絕大多數(shù)都選擇使用XMPP協(xié)議[11]。XMPP協(xié)議是一種基于標準通用標記語言的子集XML的協(xié)議,它繼承了在XML環(huán)境中靈活的發(fā)展性。因此,基于XMPP的應(yīng)用具有超強的可擴展性,霓歌系統(tǒng)在傳輸過程中選擇了XMPP協(xié)議。
因為即時通訊管理方法主要是基于手機客戶端,手機客戶端的拍照結(jié)果和相冊的圖片格式都是JPEG。JPEG是負責創(chuàng)建JPEG標準和其他靜止圖像編碼標準的聯(lián)合圖像專家組。該專家組開發(fā)的JPEG算法[8-9]成為國際上通用的靜止圖形壓縮標準。JPEG不僅能處理灰度圖像,是一個通用的靜態(tài)圖像數(shù)據(jù)壓縮標準。JPEG可以按照需求調(diào)節(jié)壓縮比[10],能在圖像存儲大小和圖像質(zhì)量之間得到折中。
云存儲[7]是在云計算概念上衍生發(fā)展出來的一個新的概念?,F(xiàn)在社會上存在著各式各樣的云存儲服務(wù)器,例如阿里的云服務(wù),本即時圖片管理系統(tǒng)采用的是阿里云存儲服務(wù)器,阿里云存儲是構(gòu)建在阿里云飛天分布式系統(tǒng)之上的一種以表格存儲方式的一種Nosql數(shù)據(jù)存儲服務(wù)[12-13]基于阿里云良好的擴展性和安全性能,霓歌的服務(wù)器端選擇了阿里的云存儲。
本即時通訊軟件的圖片管理系統(tǒng)的整體實現(xiàn)方案如圖2所示。
1)從手機相冊選取圖片或者使用手機進行拍照生成新的圖片,根據(jù)顯示終端尺寸以及圖片尺寸選擇最小差值確定壓縮尺寸,根據(jù)該尺寸將圖片壓縮,顯示到終端[14],用戶選擇所需要發(fā)送的圖片,此處發(fā)送分為兩種情況。
2)用戶選擇原圖發(fā)送,生成縮略圖,并將原圖和縮略圖上傳到文件服務(wù)器,上傳成功后返回對應(yīng)的URL;
3)用戶不選擇原圖發(fā)送,生成縮略圖,并將原圖壓縮到一定的尺寸,將縮略圖和壓縮后的圖片上傳到文件服務(wù)器,上傳成功后返回對應(yīng)的URL;
4)獲取到相關(guān)的URL后,生成報文發(fā)送到XMPP服務(wù)器;
5)接收客戶端收到消息后,根據(jù)其中URL進行下載并緩存圖片[15],一般情況下,下載緩存好時在界面中顯示縮略圖,用戶點擊查看時顯示原圖。
如果在訂閱號等情況下需要對圖片進行剪裁,最大程度保證圖片顯示用戶最需要的部分。
圖2 圖片管理方法的整體實現(xiàn)流程
通過流量監(jiān)測器在霓歌應(yīng)用軟件上的測試結(jié)果,在發(fā)送不同大小的圖片的情況下,手機的流量的消耗都大大減少,尤其在像素點越高的情況下,節(jié)省流量的效果越加明顯,像素點和流量使用情況對比如表1所示,因為即時圖片管理系統(tǒng)是以1080P的圖片大小為節(jié)點,0.7的系數(shù)進行壓縮,所以從表1的結(jié)果看出。
表1 流量使用對比表
表1的結(jié)果表明,在圖片越大的情況下,流量使用情況相對來說減少的越多,但是由于每個人的關(guān)注點不同,圖片的剪裁是以最大人臉為中心,所以可能出現(xiàn)丟失部分人群需要的信息。
本即時通訊軟件的圖片管理方法在上海稅務(wù)系統(tǒng)即時通訊軟件上得到了很好的應(yīng)用,測試結(jié)果表明,在圖片的瀏覽方面,圖片清晰,反應(yīng)速度很快,而且同比于相同功能的軟件,流量的使用量都大大節(jié)省,是一種及時、高效的圖片管理方法。
[1]黃偉敏.基于XMPP協(xié)議的Android即時通信系統(tǒng)設(shè)計[J].電子設(shè)計工程,2011,19(8):57-59.
[2]周昊.基于Web圖片庫的設(shè)計與實現(xiàn)[D].北京:北京交通大學(xué),2012.
[3]于沛東,李靜,彭華.一種利用軟判決的信道編碼識別新算法[J].電子學(xué)報,2013(2):301-306.
[4]鞏元鵬.基于XMPP協(xié)議的智能家居遠程控制系統(tǒng)研究設(shè)計[D].碩士學(xué)位論文,2012.
[5]黎志華,李新國.基于OpenCV的紅外弱小運動目標檢測與跟蹤[J].紅外與激光工程,2013(9):2561-2565.
[6]鄒紹武,武貴斌.Android應(yīng)用開發(fā)中圖片壓縮技術(shù)的研究應(yīng)用[J].計算機技術(shù)與發(fā)展,2015(6):106-109,113.
[7]魏振鋼,孫維成,楊潔等.云計算在醫(yī)療結(jié)構(gòu)部署中的云資源管理一種方式[J].計算機科學(xué),2013(S1):372-373,391.
[8]熊哲源,樊曉平,劉少強,等.面向無線多媒體傳感器網(wǎng)絡(luò)的JPEG 2000圖像編碼算法[J].傳感器與微系統(tǒng),2011,2(1):55-58.
[9]李毅,李珊珊.基于VC++6.0的JPEG圖像編碼研究[J].計算機與現(xiàn)代化,2012(6):58-61.
[10]李素鈞,廖勝,李強.基于多核DSP的H.264圖像壓縮編碼的并行化實現(xiàn)[J].電子設(shè)計工程,2017(4):126-129.
[11]劉涌,張彥工,梁崑濤.移動設(shè)備上XMPP功耗與帶寬的研究[J].小型微型計算機系統(tǒng),2013,34(2):272-276.
[12]翁省輝,黃丹萍,廖天驕,等.基于移動存儲設(shè)備的云端自動備份系統(tǒng)設(shè)計[J].電子設(shè)計工程,2016(10):77-79.
[13]姚書科,張韌志.基于云計算的海量圖片存儲管理系統(tǒng)研究[J].電子設(shè)計工程,2012(11):17-20.
[14]王坤.互動多媒體圖片自適應(yīng)大小的研究與實現(xiàn)[J].電子設(shè)計工程,2015(18):69-71.
[15]屈佳,胡志勇.基于WEB的表情圖片模塊動態(tài)管理與實現(xiàn)[J].電子設(shè)計工程,2016(9):185-187.
One of picture management method for instant messaging and its realization in tax communication software
WANG Guo?juan ,LI Jia?xin,PAN Xi?ping
(Shanghai Institute of Computing Technology,Shanghai200333,China)
Combined with instant messaging features for image management requirements,in order to im?prove communication instant messaging software image loading speed and enhance the user experience,we developed a photo management system.The image management system is mainly the method:the XMPP protocol as the basis,to be transmitted to generate a thumbnail picture,and send pictures to be uploaded to the server with a thumbnail,the image acquired on the file server's URL,the message is gen?erated text messages sent to the message server,the receiver receives packets in the message,according to the URL to download pictures and thumbnails,complete cache,and the cache based on the results of image display.While social software get a series of verification on the Shanghai tax communication soft?ware proved practical management methods,reliability.
picturesmanagement;XMPP;nstant messaging feature;Shanghai taxation administration
TN701
A
1674-6236(2017)22-0182-04
2016-10-11稿件編號:201610038
王國娟(1991—),女,山西大同人,碩士研究生。研究方向:計算機軟件理論與應(yīng)用。