(上海航空電器有限公司, 上海 201108)
高效率的變字長顏色編碼與解碼技術(shù)*
欒新源
(上海航空電器有限公司, 上海 201108)
提出了一種新的mB/nB(m 光通信;變字長顏色編碼;解碼 隨著LED在照明、通信等領(lǐng)域的廣泛應(yīng)用,可見光通信(Visible Light Communications,VLC)近年來得到迅速發(fā)展。通過在公共基礎(chǔ)照明設(shè)施上增加數(shù)據(jù)傳輸功能,就可構(gòu)建室內(nèi)可見光無線通信網(wǎng)絡(luò),將信息從燈具發(fā)送到客戶端??梢姽馀c日常生活息息相關(guān),辦公室、家庭以及公共場合中許多設(shè)備均含可見光光源,可為室內(nèi)用戶提供隨時(shí)隨地的便捷數(shù)據(jù)服務(wù)。 表1比較了各種定位技術(shù)性能[1]。其中,VLC定位技術(shù)不但定位精度高,而且具有高速通信的優(yōu)勢,被認(rèn)為是極具發(fā)展?jié)摿蛻?yīng)用前景的技術(shù)。 基于成像VLC定位系統(tǒng)用成像器件做接收端,用圖像和燈具之間的幾何關(guān)系定位,試驗(yàn)結(jié)果表明,該方法的誤差精度可控制在數(shù)厘米范圍內(nèi)[2-3]。表2比較了幾種VLC定位技術(shù)性能[4]。 表1 室內(nèi)定位技術(shù)性能比較 注:精度在0.01~0.1 m,稱為厘米級;0.1~0.5 m,稱為分米級;0.5~1 m,稱為亞米級;1~10 m,稱為米級。 由于基于單攝像頭接收方法與基于雙攝像頭接收方法的定位精度相近,而實(shí)施更簡單,因此基于單攝像頭接收的定位技術(shù)是未來趨勢。中國互聯(lián)網(wǎng)協(xié)會(huì)發(fā)布的《中國移動(dòng)互聯(lián)網(wǎng)發(fā)展?fàn)顩r及安全報(bào)告(2017)》顯示,2016年中國境內(nèi)活躍智能手機(jī)達(dá)23.3億部,這些智能手機(jī)普遍擁有攝像頭及安裝應(yīng)用軟件的能力,為基于單攝像頭接收的定位技術(shù)提供了良好的發(fā)展契機(jī)[5]。但目前基于單攝像頭接收的VLC定位技術(shù)存在通信編碼效率有限、定位實(shí)時(shí)性差的問題,為此本文提出一種變字長顏色編碼技術(shù)來提高通信效率,從而進(jìn)一步促進(jìn)手機(jī)VLC定位技術(shù)的普及。 表2 幾種定位技術(shù)性能對比 注:TOA,Time Of Arrival;TDOA,Time Difference Of Arrival;AOA,Arrival Of Angle;RSS,Received Signal Strength。 1.1 變字長編碼技術(shù) mB/nB(m 變字長編碼技術(shù)目的是獲得較高的照明穩(wěn)定度,同時(shí)提高編碼效率,電路實(shí)施比OFDM等編碼方法要簡潔,硬件成本也得以大幅下降。其傳輸流程如圖1所示。 圖1 變字長編碼技術(shù)發(fā)射與接收框圖 12B/14B編碼是將12位二進(jìn)制串映射到14位二進(jìn)制編碼空間的方法,實(shí)現(xiàn)方法有同步塊分組法與查表法。同步塊分組法分解成7B/8B和5B/6B計(jì)算編碼,算法復(fù)雜[6];查表法則需要占用4 096字節(jié)的RAM。 在12位編碼中含有少于5個(gè)0或1組成的組合個(gè)數(shù)為: 占總數(shù)1 588/4 096=38.77%的碼需要映射到14位編碼中去,使得0和1個(gè)數(shù)的差值不大于2。 故變字長編碼方法就是只映射這38.77%的二進(jìn)制串,剩余的二進(jìn)制串中0和1的個(gè)數(shù)相對均衡,不做映射。故而12位二進(jìn)制串編碼中有38.77%采用14位二進(jìn)制串傳輸,字節(jié)長度會(huì)變長,另外61.23%依然采用12位傳輸。 1.2 變字長顏色編碼設(shè)計(jì) 在早期的研究中設(shè)計(jì)了一款用琥珀色、薄荷色和藍(lán)色混光的筒燈[7],顯色指數(shù)在94%以上,混光后發(fā)光效率為80 lm/W以上,遠(yuǎn)高于RGB三色混光約23 lm/W的發(fā)光效率。本編碼技術(shù)以琥珀色、薄荷色和藍(lán)色混光為例,詳細(xì)描述編、解碼規(guī)則。 圖2展示了12位顏色編碼效果。a0,a1和a2位是前置頭,用于判定數(shù)據(jù)的起始位置。a3~a14為數(shù)據(jù)位,其中a0不能為琥珀色。a0,a1和a2是分時(shí)混光色。例如前述研究的混色比例中[7],同時(shí)點(diǎn)亮薄荷色加琥珀色LED呈現(xiàn)的是低色溫暖白色。如果先點(diǎn)亮薄荷色,接著關(guān)掉,然后快速點(diǎn)亮琥珀色,再關(guān)掉,由于人眼有視覺暫留的現(xiàn)象,看到的還是低色溫暖白色,這種混光方法稱為場序顏色顯示[8](Field-sequential color displays)。 圖2 12位顏色編碼 圖3展示了14位顏色編碼效果。a0,a1和a2位是前置頭,用于判定數(shù)據(jù)的起始位置。a3~a16為數(shù)據(jù)位,其中a0為琥珀色,表示傳輸數(shù)據(jù)位長為14位。 圖3 14位顏色編碼 新的顏色編碼技術(shù)使得12B/14B變字長編碼有了高效的實(shí)施手段。該顏色編碼技術(shù)利用場序顏色顯示技術(shù)將顏色位作為前置頭,用來表明字節(jié)的開始。a3~an為數(shù)據(jù)區(qū),12位編碼n取14,14位編碼n取16。編碼步驟如下: ① 設(shè)有十進(jìn)制數(shù)D,先轉(zhuǎn)成二進(jìn)制數(shù): 式中“%”符號為求余數(shù),“/”符號為整除。 ② 將二進(jìn)制數(shù)首尾互換,使之滿足: D=an×2n-3+an-1×2n-4+…+a3 1.3 新編碼技術(shù)性質(zhì)定義 設(shè)利用新的12B/14B變字長編碼技術(shù)生成的序列記為A={a0,a1…an},它滿足如下性質(zhì)。 性質(zhì)1: 性質(zhì)2:a0,a1,a2只能是三種顏色(琥珀色、藍(lán)色和薄荷色)中的一種,且不能重復(fù)。a3…an只能是黑色或白色。14位編碼時(shí),a0必為琥珀色,a1為藍(lán)色或薄荷色,a2必對應(yīng)為薄荷色或藍(lán)色。12位編碼時(shí),a0只能為藍(lán)色或薄荷色,a1從剩下兩種顏色選一,a2為剩下的一種顏色。 性質(zhì)3:數(shù)據(jù)高位在后,即先傳數(shù)據(jù)的低位,然后傳高位,解碼時(shí)可實(shí)現(xiàn)向下兼容。 性質(zhì)4:0和1的個(gè)數(shù)差值不大于2。 可利用性質(zhì)1來解碼。由性質(zhì)2可知,除了利用a0位來表明傳輸?shù)氖?2位編碼還是14位編碼外,還可利用顏色的不重復(fù)性來做顏色校驗(yàn),驗(yàn)證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。利用性質(zhì)4也可做數(shù)據(jù)傳輸準(zhǔn)確性校驗(yàn)。 與傳統(tǒng)添加字節(jié)頭方法相比,新的顏色編碼技術(shù)編碼效率高,減少了冗余碼元。 考慮到數(shù)據(jù)區(qū)條紋會(huì)受到外界光干擾、顏色污染等,除采取二值化、濾波等圖像處理手段外,這里還引入算術(shù)平均法計(jì)算單位寬度。設(shè)數(shù)據(jù)區(qū)條紋寬度分別為w0~wg,g≤13,設(shè)平均寬度為mx,則有: 每個(gè)條紋寬度與平均寬度比值為0或1的個(gè)數(shù),也即Resulti表示連續(xù)若干個(gè)0或1。這里定義白條紋為1;黑條紋為0。計(jì)算方法為: 將上式中的寬度比值拼接成二進(jìn)制串,可表示為: 此時(shí)二進(jìn)制串Binary也可表達(dá)為(n≤16): 高位在后,將上式中二進(jìn)制串轉(zhuǎn)成十進(jìn)制數(shù): ResultF=an×2n-3+an-1×2n-4…+a3 如圖4所示,每個(gè)數(shù)據(jù)都是單位長度,設(shè)白為1,黑為0,二進(jìn)制串為{10 1010 1010 1010},高位在后,由上式轉(zhuǎn)成十進(jìn)制數(shù)為5 461。 圖4 數(shù)據(jù)寬度 解碼示例如圖5所示,設(shè)w0~w8寬度為5個(gè)像素,w9為15個(gè)像素。平均像素寬度mx=60/12=5,則w0~w8與平均寬度的比值為1,w9與平均寬度的比值為3。二進(jìn)制串為{1010 1010 1000},高位在后,由上式轉(zhuǎn)成十進(jìn)制數(shù)為341。 圖5 解碼示例 編碼效率是指信息碼元位數(shù)與碼長之比,也稱為碼率,通常用η來表示,反映碼字中有用碼元(信息碼元)所占的比例,其是評判各種編碼方法有效性優(yōu)劣的重要指標(biāo)。η值越大,單位時(shí)間內(nèi)信道傳送的信息碼元的效率越高。要傳送k位信息碼元,經(jīng)過編碼后得到長度為n (n≥k)的碼字,編碼效率為 η=k/n 用于VLC成像定位系統(tǒng)的通信編碼方法主要有4-PPM編碼方法[9]、模板匹配法[10]及頻率編碼法[11-12]。其中模板匹配法依賴于不同圖案模板的匹配以實(shí)現(xiàn)信息的傳遞,較難量化其編碼效率。成像大小變化較大時(shí),模板匹配計(jì)算量比較大,最終會(huì)造成定位系統(tǒng)實(shí)時(shí)性低。 頻率編碼法中一幀圖像的多個(gè)條紋(大于3才有周期循環(huán))只能傳輸1位信息,傳輸效率約為33%, 而4-PPM編碼效率只有50%。新的12B/14B變字長編碼效率提高到94%。 變字長雖然可以提高編碼效率,但是必須提供額外的信息告訴接收端當(dāng)前字長數(shù),所以在一般通信系統(tǒng)中變字長編碼比較少見?;旃饧夹g(shù)的出現(xiàn)正好提供了一個(gè)好的載體,通過顏色編碼技術(shù)實(shí)現(xiàn)12B/14B變字長編碼。 通過顏色位做區(qū)分符,實(shí)現(xiàn)一符三用:做起始位標(biāo)志、12位/14位標(biāo)志位和校驗(yàn)位。和其他形式的區(qū)分方法相比,顏色編碼技術(shù)具有傳輸效率高、算法復(fù)雜度低的優(yōu)點(diǎn)(如表3所列)。 表3 區(qū)分方法對比 由于3種顏色是事先已知的,所以接收端可將3種顏色作為標(biāo)志,檢查是否正確,另外還可用0和1的個(gè)數(shù)差值不大于2的特性來做校驗(yàn)。如表4所列,和其他形式的校驗(yàn)方法相比,顏色編碼技術(shù)仍然具有占用位數(shù)少、傳輸效率高、算法復(fù)雜度低的優(yōu)點(diǎn)。 表4 檢驗(yàn)方法對比 變字長顏色編碼技術(shù)能夠用一幀圖像完成完整的數(shù)據(jù)傳輸,包含字節(jié)頭且數(shù)據(jù)位足夠長,還含有校驗(yàn)信息。表5是變字長顏色編碼和現(xiàn)有編碼方法的性能對比。用于VLC成像定位系統(tǒng)的4-PPM編碼方法,需要額外的前置頭、字節(jié)頭和校驗(yàn)碼,且解碼復(fù)雜[9]。模板匹配法[10]能表達(dá)的地址個(gè)數(shù)有限,算法本身也容易受到環(huán)境光干擾。頻率編碼法[11-12]一幀圖像只能傳輸1位信息,傳輸效率低,需要多幀圖像組成一個(gè)字節(jié),而且需要額外的字節(jié)頭和校驗(yàn)位。 表5 變字長顏色編碼和現(xiàn)有編碼方法性能比較 利用研制的筒燈[7](顏色簡寫如表6所列)進(jìn)行編碼實(shí)驗(yàn)。在距離筒燈2 m位置,攝像頭(規(guī)格如表7所列)拍攝筒燈,攝像頭光圈為F1.4,曝光時(shí)間為50 μs。圖像捕捉與解碼程序用PC端的 VS2010 C++語言開發(fā)。筒燈的PWM頻率為1 kHz,遠(yuǎn)超人眼反應(yīng)時(shí)間。 表6 顏色對照表 表7 成像器件規(guī)格 圖6 普通編碼 圖6展示了在沒有區(qū)分符情況下的碼元發(fā)送效果。沒有區(qū)分符,筒燈發(fā)送出來的條紋首尾相連,按二進(jìn)制解碼很困難。設(shè)定筒燈編號為1365,要求筒燈采用12位顏色編碼發(fā)送,根據(jù)編碼規(guī)則,可編碼為M,B1,A,1,0,1,0,1,0,1,0,1,0,1,0,接收端程序?qū)ζ溥M(jìn)行識(shí)別與解碼。 圖7中Gmask和Rmask為搜索到的顏色頭,ColorBar為條紋區(qū)。根據(jù)第1節(jié)的編碼規(guī)則可知,第1位和第3位是薄荷色和琥珀色,第2位必然為藍(lán)色。在第2位條紋區(qū)搜索10個(gè)點(diǎn)確認(rèn)為藍(lán)色,顏色位校驗(yàn)正確。顏色頭之間為數(shù)據(jù)區(qū),找到顏色頭位置后,數(shù)據(jù)區(qū)也可確定。圖7中白色矩形框上方imageROI小窗口為顏色頭之間的數(shù)據(jù)區(qū)條紋。 圖7 顏色頭辨識(shí) 理想數(shù)據(jù)區(qū)應(yīng)是黑白條紋,但從圖7中看出數(shù)據(jù)區(qū)受到其他顏色或噪聲的污染。為減少噪聲對數(shù)據(jù)的污染,將數(shù)據(jù)條紋圖像灰度化、高斯濾波、二值化后得到黑白條紋圖像,該結(jié)果顯示在圖8的ROI窗口中(圖右下方黑白條紋窗口),cmd窗口中height=39值為數(shù)據(jù)條紋高度,width=189值為條紋寬度,單位為像素。 黑白數(shù)據(jù)條紋解碼實(shí)施過程如下: ① 搜索白條的寬度; ② 對白條的寬度排序,取中間值作為該白條寬度; 通過卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)檢測領(lǐng)域的應(yīng)用,本文實(shí)現(xiàn)了鐵路視頻圖像關(guān)鍵幀提取器的設(shè)計(jì)和實(shí)現(xiàn),其中粗識(shí)別階段選取傳統(tǒng)的SIFT特征點(diǎn),精識(shí)別階段利用卷積神經(jīng)網(wǎng)絡(luò)挖掘圖像深度特征,提高了關(guān)鍵幀提取的精度。 ③ 搜索黑條的寬度; ④ 對黑條的寬度排序,取中間值作為該黑條寬度; ⑤ 重復(fù)①,直到到達(dá)圖像最右邊; ⑥ 將所有條紋寬度arWidth[i]相加,計(jì)算平均寬度mx=寬度和/12,代碼如下: for(i=0; i<12; i++) mx += (double)arWidth[i]; mx /= 12.0; ⑦ 求條紋寬度與平均寬度的比值result[i],代碼如下: for(i=0; i<12; i++){ result[i] =(int)((double)arWidth[i]/mx+0.5) ; t[i]=0; } ⑧ 將結(jié)果拼接成二進(jìn)制串,代碼如下: int temp16=0; for(i=0; i<6; i++) { for(j=0;j t[j+temp16]=1; for(j=0;j t[j+result[2*i]+temp16]=0; temp16=temp16+result[2*i]+result[2*i+1]; } 數(shù)組t[]存儲(chǔ)拼接完成結(jié)果。 ⑨ 將t[]存儲(chǔ)的二進(jìn)制串轉(zhuǎn)換成十進(jìn)制數(shù),高位在后,代碼如下: for(i=11;i>=0;i--){ temp12=pow(2.0,i); //pow(2.0,i)函數(shù)表示2i resultF=t[i]*temp12+resultF; } 數(shù)組轉(zhuǎn)換后的十進(jìn)制值存儲(chǔ)在resultF中。 ⑩ 輸出解碼結(jié)果resultF。 解碼后獲取到筒燈發(fā)送的編號,通過編號可查詢到預(yù)先設(shè)置的筒燈坐標(biāo)信息,進(jìn)而通過圖像定位公式計(jì)算出手持終端的位置。亮為1,黑為0,可目測黑白數(shù)據(jù)條紋二進(jìn)制碼數(shù)值為1010 1010 1010,傳輸規(guī)則是高位在后,手工計(jì)算值為1 365。 圖8 圖像處理及解碼 表8中“要求發(fā)送值”為根據(jù)第1節(jié)編碼方法得出的理論值,“程序輸出值”表示筒燈實(shí)際發(fā)送出的值及接收端程序處理的值,“觀測值”指通過目測輸出的圖像,手工計(jì)算的值。圖8中code=1365值即為程序解碼值。(cmd窗口中X=328.651,Y=938.638和Z=912.388為程序通過圖像定位公式,計(jì)算出的攝像頭像素面中心在室內(nèi)坐標(biāo)系中的坐標(biāo),Distance=1832.612為燈到攝像頭鏡頭的垂直距離,單位為mm。) 表8 實(shí)施效果 通過表8對比,可知筒燈按照要求發(fā)送了編碼信息,而解碼程序很好地執(zhí)行解碼任務(wù),解出正確的碼值,充分說明本編碼方法是切實(shí)可行的。 [1] 張宴龍.室內(nèi)定位關(guān)鍵技術(shù)研究[D].合肥:中國科學(xué)技術(shù)大學(xué),2014. [2] Sevincer A,Bhattarai A,Bilgi M,et al.LIGHTNETs:Smart LIGHTing and Mobile Optical Wireless NETworks-A Survey[J]. Communications Surveys&Tutorials,2013,15(4):1620-1641. [3] Liu Y,Dashti M,Zhang J.Indoor localization on mobile phone platforms using embedded inertial sensors[C]//Proceedings of the Positioning Navigation and Communication (WPNC),2013:1-5. [4] 許銀帆,黃星星,李榮玲,等.基于LED可見光通信的室內(nèi)定位技術(shù)研究[J].中國照明電器,2014(4):11-15. [5] Schroth G,Huitl R,Chen D,et al.Mobile Visual Location Recognition[J].Signal Processing Magazine,2011,28(4):77-89. [6] 秦蒙,王輝,秋云海,等.光纖通信中8B/10B編碼器的設(shè)計(jì)與實(shí)現(xiàn)[J].電視技術(shù),2014(1):50-54. [7] 欒新源,劉廷章,周壯麗.基于改進(jìn)人工魚群算法的LED混光方法[J].發(fā)光學(xué)報(bào),2015(1):113-120. [8] Miettinen I,N?s?nen R,H?kkinen J.Effects of Saccade Length and Target Luminance on the Refresh Frequency Threshold for the Visibility of Color Break-Up[J].Journal of Display Technoogy,2008,4(1):81-85. [9] Nakazawa Y,Makino H,Nishimori K,et al.Indoor positioning using a high-speed, fish-eye lens-equipped camera in visible light communication[C]//Proceedings of the 2013 International Conference on Indoor Positioning and Indoor Navigation,2013:1-8. [10] Cha J,Lee S.A study on location DB matching of IPS in specific area using LED lights and image sensor[C]//Proceedings of the 4th International Conference on Future Generation Information Technology,2012:202-205. [11] Kuo Y S,Pannuto P,Hsiao K J,et al.Luxapose: Indoor positioning with mobile phones and visible light[C]//Proceedings of the 20th ACM Annual International Conference on Mobile Computing and Networking,2014:447-458. [12] 郭成,胡洪.光信號解碼方法和裝置及系統(tǒng):中國,201410141223.x [P].2014. 欒新源,主要研究領(lǐng)域?yàn)楣馔ㄐ?、智能照明等?/p> High-efficiency Variable-length Color Coding and Decoding Technology LuanXinyuan (Shanghai Aviation Electric Co.,Ltd.,Shanghai 201108,China) The mB/nB(m visible light communication;variable-length color coding;decoding TN929.1 : A 2017-06-12) 裝備預(yù)研中航工業(yè)聯(lián)合基金(6141B05060106)。引 言
1 變字長顏色編碼技術(shù)
2 變字長顏色碼解碼技術(shù)
3 變字長編碼性能分析
4 實(shí)驗(yàn)結(jié)果及分析
結(jié) 語