王會(huì)芹
(中國(guó)傳媒大學(xué),北京 100024)
舞臺(tái)燈光是演出場(chǎng)景中一個(gè)重要的環(huán)節(jié)。在舞臺(tái)演出中,根據(jù)演出節(jié)目?jī)?nèi)容和劇情的發(fā)展,實(shí)時(shí)改變舞臺(tái)燈的顏色和亮度,可以烘托演出效果,渲染舞臺(tái)氣氛[1]。舞臺(tái)燈光的變化離不開(kāi)調(diào)光系統(tǒng),因?yàn)長(zhǎng)ED舞臺(tái)燈調(diào)光信號(hào)的傳輸需要專(zhuān)門(mén)的傳輸協(xié)議如DMX512協(xié)議、ACN協(xié)議(一種網(wǎng)絡(luò)燈光控制協(xié)議)等,所以LED舞臺(tái)燈有專(zhuān)門(mén)的調(diào)光系統(tǒng)[2]。設(shè)計(jì)人員根據(jù)演出內(nèi)容預(yù)先設(shè)計(jì)燈光效果,然后在演出中根據(jù)方案由調(diào)光系統(tǒng)控制舞臺(tái)燈的變化,最終實(shí)現(xiàn)設(shè)計(jì)效果。
隨著欣賞水平的日益提高,人們對(duì)演出節(jié)目的感染力和節(jié)目互動(dòng)性有了更高的要求。許多表演場(chǎng)合例如音樂(lè)會(huì)、戲曲、服裝走秀等,經(jīng)常需要舞臺(tái)背景變化與表演者之間進(jìn)行實(shí)時(shí)互動(dòng),以增強(qiáng)和激發(fā)參與者的共鳴,使演出更具吸引力[3]。對(duì)于目前常用的調(diào)光系統(tǒng)而言,要滿(mǎn)足交互性,要求設(shè)計(jì)的燈光效果要實(shí)時(shí)地、準(zhǔn)確地跟蹤節(jié)目?jī)?nèi)容的變化,這樣會(huì)大大增加設(shè)計(jì)難度。為此,本文提出了由表演者手勢(shì)進(jìn)行控制的LED舞臺(tái)燈調(diào)光系統(tǒng),該系統(tǒng)不需要預(yù)先設(shè)計(jì)燈光效果,直接利用表演者的不同手勢(shì)來(lái)控制現(xiàn)場(chǎng)的舞臺(tái)燈光效果,使舞臺(tái)燈的亮度隨著演員的手勢(shì)的變化而變化,從而滿(mǎn)足交互性要求[4,5]。
整個(gè)調(diào)光系統(tǒng)由手勢(shì)動(dòng)作捕捉與識(shí)別和信號(hào)處理與轉(zhuǎn)換兩大部分構(gòu)成,具體結(jié)構(gòu)如圖1所示。
圖1 LED舞臺(tái)燈調(diào)光系統(tǒng)結(jié)構(gòu)框圖
當(dāng)表演者的手勢(shì)發(fā)生變換時(shí),動(dòng)作捕捉與識(shí)別部分自動(dòng)捕捉手勢(shì)信號(hào)并進(jìn)行識(shí)別,然后將識(shí)別結(jié)果送入下一單元進(jìn)行信號(hào)處理。信號(hào)處理與轉(zhuǎn)換部分根據(jù)調(diào)光方案將采集到的動(dòng)作信息轉(zhuǎn)換成不同的調(diào)光信號(hào),再按照DMX512協(xié)議格式對(duì)這些調(diào)光數(shù)據(jù)進(jìn)行轉(zhuǎn)換,將其變成LED舞臺(tái)燈能夠識(shí)別的數(shù)據(jù)形式,最后送入LED舞臺(tái)燈。這樣實(shí)現(xiàn)了燈光狀態(tài)隨著手部動(dòng)作的變化而交互式變化。
整個(gè)調(diào)光系統(tǒng)的設(shè)計(jì)主要可以分為各種手勢(shì)的識(shí)別、手勢(shì)與調(diào)光效果的轉(zhuǎn)換及DMX512協(xié)議實(shí)現(xiàn)三部分。
目前常用的手勢(shì)識(shí)別方案主要分為接觸式和非接觸式兩大類(lèi),其中第一種主要通過(guò)手掌和各種傳感器相連接,通過(guò)檢測(cè)手部的變化,如彎曲度、移動(dòng)的加速度等來(lái)識(shí)別各種手勢(shì);第二種方法主要是基于視覺(jué)、超聲波、紅外線等方式進(jìn)行識(shí)別?;谝曈X(jué)的手勢(shì)識(shí)別方式通過(guò)對(duì)采集的手部圖像進(jìn)行算法處理,得到識(shí)別結(jié)果,這種方法計(jì)算量大,實(shí)現(xiàn)成本高。超聲波手勢(shì)識(shí)別技術(shù)識(shí)別速度快、范圍廣,但是受雜波影響大,出錯(cuò)率較高。紅外線方式的手勢(shì)識(shí)別方法,識(shí)別速度快、精度較高、價(jià)格適中,但是識(shí)別范圍有限。綜合考慮本次設(shè)計(jì)采用基于紅外線檢測(cè)方式的手勢(shì)傳感器PAJ7620[6,7]。
2.1.1 PAJ7620傳感器工作原理
PAJ7620是原相科技公司推出的光學(xué)手勢(shì)傳感器,在其四周各放置一個(gè)紅外發(fā)光二極管,中心位置為紅外接收器。這樣只要有手勢(shì)進(jìn)入檢測(cè)區(qū),紅外二極管發(fā)出的光信號(hào)就會(huì)傳送到接收器,經(jīng)過(guò)轉(zhuǎn)換變成電信號(hào)送入指定寄存器。電信號(hào)的大小由手掌和發(fā)光二極管的距離決定,離二極管越近,光信號(hào)越強(qiáng),輸出電信號(hào)值越大,反之電信號(hào)越小。通過(guò)這種結(jié)構(gòu),PAJ7620可以識(shí)別上移、下移、左移、右移、旋轉(zhuǎn)和接近等九種手勢(shì)[8]。
2.1.2 PAJ7620工作過(guò)程
PAJ7620手勢(shì)識(shí)別過(guò)程主要分別初始化、手勢(shì)信號(hào)采集和識(shí)別三個(gè)主要部分,具體實(shí)現(xiàn)過(guò)程如圖2所示。
圖2 PAJ 7620手勢(shì)識(shí)別流程圖
當(dāng)傳感器上電后,首先進(jìn)行初始化處理。包括傳感器的初始化,即等待700 us,保證傳感器達(dá)到穩(wěn)定狀態(tài);I2C總線的初始化,手勢(shì)信息一般通過(guò)訪問(wèn)I2C總線與后續(xù)單元進(jìn)行數(shù)據(jù)交換,所以需要在初始化階段激活該總線;手勢(shì)寄存器初始化,對(duì)各種手勢(shì)標(biāo)志寄存器設(shè)置初始值。
PAJ7620的工作方式主要是指手勢(shì)采集方式。手勢(shì)采集方式包括兩種,一種是中斷方式,一種是定時(shí)方式。采用中斷方式,只要紅外接收器感應(yīng)到新的手勢(shì)動(dòng)作,系統(tǒng)就訪問(wèn)PAJ7620相應(yīng)寄存器采集該手勢(shì)信號(hào),進(jìn)入手勢(shì)識(shí)別環(huán)節(jié)。在沒(méi)有新手勢(shì)信號(hào)出現(xiàn)時(shí),傳感器則進(jìn)行低功耗模式。而定時(shí)方式需要首先設(shè)置定時(shí)時(shí)間,到達(dá)設(shè)定時(shí)間后直接讀取PAJ7620相應(yīng)寄存器的信號(hào),若信號(hào)超過(guò)閾值時(shí)說(shuō)明有手勢(shì)信號(hào),進(jìn)入下一環(huán)節(jié);反之為無(wú)效信號(hào),系統(tǒng)直接進(jìn)入低功耗模式,等待下一個(gè)定時(shí)時(shí)間的到來(lái)。
采集到有效的手勢(shì)信號(hào)后,根據(jù)手勢(shì)的開(kāi)始和結(jié)束點(diǎn)檢測(cè)信號(hào),判斷手勢(shì)的類(lèi)型并將識(shí)別結(jié)果保存在對(duì)應(yīng)寄存器,供后續(xù)環(huán)節(jié)調(diào)用。
PAJ7620手勢(shì)識(shí)別結(jié)果通過(guò)I2C協(xié)議送入Arduino單片機(jī)進(jìn)行信號(hào)處理與轉(zhuǎn)換。信號(hào)與轉(zhuǎn)換主要包括手勢(shì)信號(hào)與調(diào)光信號(hào)的轉(zhuǎn)換和調(diào)光信號(hào)的DMX512格式的變換。
2.2.1 調(diào)光信號(hào)的轉(zhuǎn)換
手勢(shì)和LED的狀態(tài)關(guān)系如圖3所示。手掌向右移動(dòng)時(shí),LED舞臺(tái)燈打開(kāi),向左移動(dòng)時(shí)舞臺(tái)燈關(guān)閉。打開(kāi)時(shí)舞臺(tái)燈亮度由該時(shí)刻的手勢(shì)亮度值E決定,見(jiàn)式(1)。
(1)
式中,L是不同時(shí)刻對(duì)手勢(shì)的紅外照度,K是光學(xué)系統(tǒng)的透過(guò)率,D是成像系統(tǒng)的通光口徑,f是成像系統(tǒng)的焦距。手掌和PAJ 7620的之間距離不同,手勢(shì)亮度值不同。在有效的檢測(cè)區(qū)域,將最遠(yuǎn)到最近距離對(duì)應(yīng)的輸出信號(hào)進(jìn)行量化,則得到了0~255之間的亮度值[8]。
圖3 手勢(shì)與LED燈光效果的對(duì)應(yīng)關(guān)系
手掌不斷向上移動(dòng),則LED燈的亮度不斷增加,直到達(dá)最大亮度值255;反之,當(dāng)手掌向下移動(dòng),則燈的亮度不斷減小,從而將手勢(shì)信號(hào)轉(zhuǎn)換為調(diào)光信號(hào)。
2.2.2 DMX512協(xié)議
DMX512燈光控制數(shù)據(jù)傳輸協(xié)議是美國(guó)舞臺(tái)燈光協(xié)會(huì)(USITT)于1990年發(fā)布的燈光控制器與燈具設(shè)備進(jìn)行數(shù)據(jù)傳輸?shù)拈_(kāi)放工業(yè)標(biāo)準(zhǔn)。如今舞臺(tái)燈光系統(tǒng)越來(lái)越復(fù)雜,部分前端的控制可能應(yīng)用了更新、更復(fù)雜的網(wǎng)絡(luò)控制協(xié)議,但是在末端對(duì)具體燈具的控制仍然大量使用DMX512協(xié)議。
DMX512協(xié)議將一組燈光控制數(shù)據(jù)按照一定格式打包成多個(gè)數(shù)據(jù)包,再用串行的方式在控制線路上發(fā)送。典型的傳輸速率為250 kbps,對(duì)應(yīng)每個(gè)比特位的持續(xù)時(shí)間為44 us[9]。
一個(gè)完整的DMX512數(shù)據(jù)包包括一個(gè)Break信號(hào)(中斷位),寬度至少為88bit的低電平信號(hào),對(duì)應(yīng)于一次DMX512數(shù)據(jù)發(fā)送結(jié)束后的復(fù)位階段;一個(gè)MAB(Mark After Break)信號(hào),寬度不小于4bit的高電平信號(hào),標(biāo)志新的DMX512信號(hào)發(fā)送的開(kāi)始,用于分離每個(gè)數(shù)據(jù)幀的第一位開(kāi)始位的低電平和Break信號(hào)的低電平;一幀StartCode信號(hào),DMX512信號(hào)的第0幀,8位數(shù)據(jù)均為0;512個(gè)數(shù)據(jù)幀和一個(gè)MTBP(Mark Time Between Packet)信號(hào),高電平信號(hào),標(biāo)志著一輪DMX512信號(hào)發(fā)送的結(jié)束。
DMX512每個(gè)數(shù)據(jù)幀對(duì)應(yīng)一個(gè)通道,用于控制燈光參數(shù)(如亮度、顏色、角度等)。數(shù)據(jù)幀共有11bit構(gòu)成,分別為1起始位、8個(gè)數(shù)據(jù)位和2個(gè)停止位。其中,起始位固定為低電平“0”,兩個(gè)停止位固定為高電平“1”;8個(gè)數(shù)據(jù)位從 00000000~11111111,共256級(jí),當(dāng)用于控制燈具亮度時(shí),可產(chǎn)生共256個(gè)調(diào)光灰度。
DMX512數(shù)據(jù)包的傳輸要符合一定的格式和時(shí)序要求。如要包含1個(gè)至少88 us的低電平輸出起始標(biāo)志(Break)、起始碼幀、512個(gè)數(shù)據(jù)幀和最后的數(shù)據(jù)包結(jié)束標(biāo)志(高電平)。只有滿(mǎn)足DMX512數(shù)據(jù)包的時(shí)序要求,才能實(shí)現(xiàn)調(diào)光器和舞臺(tái)燈之間的數(shù)據(jù)傳輸。具體的信號(hào)時(shí)序如圖4所示。
圖4 DMX512協(xié)議時(shí)序圖
在第一個(gè)亮度信號(hào)發(fā)送前,先發(fā)送一個(gè)復(fù)位信號(hào)即Break信號(hào)(圖4中1),之后是持續(xù)時(shí)間在8 us到1 s之間的高電平的標(biāo)記信號(hào)MAB(2所示),用于分隔復(fù)位信號(hào)和后面的8位空代碼-開(kāi)始代碼;隨后的數(shù)據(jù)就是多路調(diào)光信號(hào),每一路對(duì)一個(gè)字段(3所示),字段中4為字段起始位,5、6為字段停止位,其余8位為調(diào)光數(shù)據(jù),對(duì)應(yīng)0~255之間的信號(hào)變化;7為兩個(gè)字段間的允許的高電平間隔時(shí)間;8為復(fù)位前標(biāo)記信號(hào)MTBP,持續(xù)時(shí)間在0~1 s之間。
采用Arduino單片機(jī)作為主控模塊,以PAJ7620傳感器為手勢(shì)檢測(cè)元件,搭建基于手勢(shì)的舞臺(tái)燈調(diào)光系統(tǒng),系統(tǒng)的電路如圖5所示。手勢(shì)傳感器通過(guò)I2C接口和Arduino單片機(jī)進(jìn)行通信,先由主控系統(tǒng)發(fā)送指令,手勢(shì)傳感器進(jìn)行初始化;進(jìn)入工作狀態(tài)后,利用定時(shí)方式采集手勢(shì)信號(hào)。當(dāng)識(shí)別到有效數(shù)據(jù)后,通過(guò)對(duì)應(yīng)引腳發(fā)送到主控系統(tǒng),完成手勢(shì)動(dòng)作信息的讀取和識(shí)別,并根據(jù)不同的識(shí)別結(jié)果驅(qū)動(dòng)LED燈的變化。
圖5 調(diào)光系統(tǒng)工作電路
用LED燈代替舞臺(tái)燈,測(cè)試上述調(diào)光系統(tǒng)。手勢(shì)不同時(shí),對(duì)應(yīng)的燈光變化如圖6所示。手掌右移,LED燈亮,如圖6(a)所示,這時(shí)的亮度值大小等于手勢(shì)傳感器的對(duì)應(yīng)手勢(shì)亮度值;燈開(kāi)后,手掌向上移動(dòng),亮度值增加,LED燈變亮。設(shè)每次移動(dòng)亮度變化量為50,手掌連續(xù)向上2次后,LED燈亮度達(dá)到最大,如圖6(c)所示;反之,手掌向下移動(dòng),LED燈變暗。當(dāng)手掌連續(xù)向下移動(dòng)4次后,LED燈的亮度變化如圖6(d)所示;手掌左移,LED燈直接熄滅,如圖6(b)所示,這時(shí)手掌上移和下移動(dòng)作均無(wú)效,直至手掌右移重新打開(kāi)LED燈。測(cè)試結(jié)果表明,利用手勢(shì)變化可以實(shí)現(xiàn)對(duì)LED燈光亮度的調(diào)節(jié)。
本文以手勢(shì)變化作為調(diào)光信號(hào),設(shè)計(jì)了一種基于手勢(shì)的LED舞臺(tái)燈調(diào)光系統(tǒng),并從手勢(shì)信號(hào)的采集和調(diào)光信號(hào)的轉(zhuǎn)換與處理兩個(gè)方面對(duì)該調(diào)光系統(tǒng)進(jìn)行了詳細(xì)闡述。與常用的調(diào)光系統(tǒng)相比,該系統(tǒng)不需要提前設(shè)計(jì)調(diào)光方案,直接以手勢(shì)傳感器代替調(diào)光臺(tái),實(shí)現(xiàn)了手部動(dòng)作和燈光亮度的交互式變化,是現(xiàn)有調(diào)光方式的一種有效補(bǔ)充。實(shí)驗(yàn)結(jié)果驗(yàn)證了這種調(diào)光系統(tǒng)的可行性。
圖6 基于手勢(shì)的LED燈調(diào)光效果