本發(fā)明涉及圖像處理技術(shù),尤指一種生成全景視頻的方法及裝置。
背景技術(shù):
由于全景視頻能夠?yàn)橛脩籼峁┤轿灰暯恰⒔胧揭曨l觀看體驗(yàn),逐漸成為虛擬現(xiàn)實(shí)和視頻播放的熱點(diǎn)?,F(xiàn)有技術(shù)中,全景拍攝設(shè)備通過兩個(gè)魚眼鏡頭或多個(gè)廣角鏡頭采集外界圖像,然后通過算法進(jìn)行拼接,形成全景視頻。在生成全景視頻以后,用戶可以通過虛擬現(xiàn)實(shí)眼鏡,觀看全景視頻,達(dá)到身臨其境的觀看效果。
然而,在進(jìn)行全景視頻拍攝的過程中,尤其是在運(yùn)動(dòng)狀態(tài)下,拍攝設(shè)備會(huì)發(fā)生一些晃動(dòng)或抖動(dòng),這就導(dǎo)致拍攝出來的視頻在顯示時(shí)顯示畫面會(huì)發(fā)生相同的晃動(dòng)或抖動(dòng),造成播放的畫面不穩(wěn)定,用戶的觀看體驗(yàn)大大降低。
技術(shù)實(shí)現(xiàn)要素:
為了解決上述技術(shù)問題,本發(fā)明提供了一種生成全景視頻的方法及裝置,能夠?yàn)閷?shí)現(xiàn)全景視頻的畫面穩(wěn)定播放提供數(shù)據(jù),達(dá)到穩(wěn)定播放圖像的目的。
為了達(dá)到本發(fā)明目的,本發(fā)明提供了一種生成全景視頻的方法,包括:
采集全景圖像,并生成全景視頻;
在采集全景圖像的同時(shí),檢測(cè)拍攝設(shè)備的慣性參數(shù),根據(jù)所述慣性參數(shù),計(jì)算在采集每一幀全景圖像時(shí)拍攝設(shè)備的位姿狀態(tài)數(shù)據(jù);
對(duì)所述全景視頻以及全景視頻的每一幀全景圖像對(duì)應(yīng)的位姿狀態(tài)數(shù)據(jù)進(jìn)行存儲(chǔ)和/或輸出。
本發(fā)明還提供了一種生成全景視頻的裝置,包括:
一全景視頻獲取模塊,用于采集全景圖像,并生成全景視頻;
一慣性傳感器模塊,用于在所述全景視頻獲取模塊采集全景圖像的同時(shí),檢測(cè)拍攝設(shè)備的慣性參數(shù);
一姿態(tài)角計(jì)算模塊,用于根據(jù)慣性傳感器模塊檢測(cè)得到的所述慣性參數(shù),計(jì)算在采集每一幀全景圖像時(shí)拍攝設(shè)備的位姿狀態(tài)數(shù)據(jù);
一存儲(chǔ)單元,用于對(duì)所述全景視頻以及全景視頻的每一幀全景圖像對(duì)應(yīng)的位姿狀態(tài)數(shù)據(jù)進(jìn)行存儲(chǔ)和/或輸出。
與現(xiàn)有技術(shù)相比,本發(fā)明包括采集全景圖像,并生成全景視頻;在采集全景圖像的同時(shí),檢測(cè)拍攝設(shè)備的慣性參數(shù),根據(jù)所述慣性參數(shù),計(jì)算在采集每一幀全景圖像時(shí)拍攝設(shè)備的位姿狀態(tài)數(shù)據(jù);對(duì)所述全景視頻以及全景視頻的每一幀全景圖像對(duì)應(yīng)的位姿狀態(tài)數(shù)據(jù)進(jìn)行存儲(chǔ)和/或輸出。本發(fā)明通過計(jì)算拍攝設(shè)備在采集每一幀全景圖像時(shí)的位姿狀態(tài)數(shù)據(jù),并保存和/或輸出,從而能夠在用戶觀看全景視頻的時(shí)候,通過位姿狀態(tài)數(shù)據(jù),補(bǔ)償圖像的抖動(dòng),達(dá)到穩(wěn)定圖像的作用,從而提升用戶在觀看全景視頻的觀感體驗(yàn)。
本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
附圖說明
附圖用來提供對(duì)本發(fā)明技術(shù)方案的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本申請(qǐng)的實(shí)施例一起用于解釋本發(fā)明的技術(shù)方案,并不構(gòu)成對(duì)本發(fā)明技術(shù)方案的限制。
圖1為本發(fā)明一實(shí)施例提供的生成全景視頻的方法的流程圖;
圖2為本發(fā)明另一實(shí)施例提供的生成全景視頻的裝置的架構(gòu)圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。
在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行。并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
現(xiàn)有技術(shù)中,在拍攝全景視頻的過程中,如果拍攝設(shè)備發(fā)生抖動(dòng)或晃動(dòng),就會(huì)導(dǎo)致在拍攝得到的全景視頻中,在拍攝設(shè)備晃動(dòng)或抖動(dòng)時(shí)所拍攝的全景圖像幀的畫面會(huì)存在與拍攝設(shè)備相同的晃動(dòng)或抖動(dòng)。在播放全景視頻時(shí),這種由拍攝晃動(dòng)或抖動(dòng)導(dǎo)致的畫面不穩(wěn),就會(huì)呈現(xiàn)在觀看者的面前,不僅降低了畫面質(zhì)量,而且影響了觀看者的觀看體驗(yàn)。
目前,雖然可以使用三軸云臺(tái)等裝置為圖像增穩(wěn),但這種方式需要額外的硬件設(shè)備,且售價(jià)較高;另外由于裝置體積較大,對(duì)于全景相機(jī)來說,云臺(tái)會(huì)遮擋全景相機(jī)的部分畫面。
本申請(qǐng)中,考慮到如果能夠在拍攝全景視頻的同時(shí),獲取到拍攝設(shè)備的位姿狀態(tài)數(shù)據(jù),就可以在播放全景視頻時(shí),對(duì)于晃動(dòng)或抖動(dòng)時(shí)所拍攝的全景圖像使用相應(yīng)的位姿狀態(tài)數(shù)據(jù),補(bǔ)償拍攝設(shè)備的運(yùn)動(dòng),達(dá)到穩(wěn)像的目的。為了能夠消除由于拍攝晃動(dòng)或抖動(dòng)導(dǎo)致的全景視頻畫面的晃動(dòng)或抖動(dòng),本申請(qǐng)?jiān)诓杉皥D像的同時(shí),檢測(cè)拍攝設(shè)備的慣性參數(shù),計(jì)算出每一幀全景圖像對(duì)應(yīng)的位姿狀態(tài)數(shù)據(jù),再將全景視頻與對(duì)應(yīng)的位姿狀態(tài)數(shù)據(jù)進(jìn)行存儲(chǔ)和/或輸出,以便在播放全景視頻時(shí),對(duì)于發(fā)生抖動(dòng)或晃動(dòng)時(shí)所拍攝的全景圖像,根據(jù)該全景圖像對(duì)應(yīng)的位姿狀態(tài)數(shù)據(jù)消除掉畫面晃動(dòng)或抖動(dòng),使播放的視頻畫面始終保持平穩(wěn),增加了觀看者的觀看體驗(yàn)。
如圖1所示,本申請(qǐng)一實(shí)施例提供的生成全景視頻的方法,包括:
步驟101:采集全景圖像,并生成全景視頻;
步驟102:在采集全景圖像的同時(shí),檢測(cè)拍攝設(shè)備的慣性參數(shù),根據(jù)慣性參數(shù),計(jì)算在采集每一幀全景圖像時(shí)拍攝設(shè)備的位姿狀態(tài)數(shù)據(jù);
步驟103:對(duì)全景視頻以及全景視頻的每一幀全景圖像對(duì)應(yīng)的位姿狀態(tài)數(shù)據(jù)進(jìn)行存儲(chǔ)和/或輸出。
本申請(qǐng)?zhí)峁┑纳扇耙曨l的方法可以應(yīng)用在全景相機(jī)、運(yùn)動(dòng)相機(jī)等拍攝設(shè)備中,在拍攝設(shè)備拍攝得到全景視頻的同時(shí)計(jì)算得到全景視頻的每一幀全景圖像對(duì)應(yīng)的位姿狀態(tài)數(shù)據(jù)。也可以是應(yīng)用于專業(yè)設(shè)備,生成全景電影、全景動(dòng)畫等,在生成全景電影、全景動(dòng)畫等全景內(nèi)容的同時(shí),計(jì)算得到對(duì)應(yīng)的位姿狀態(tài)數(shù)據(jù)。全景視頻既可以是對(duì)采集到的視頻進(jìn)行編碼保存成視頻文件以供以后播放,也可以是對(duì)采集到的視頻圖像實(shí)時(shí)處理并直播出去。
首先,為了得到全景視頻,需要采集全景圖像,并將采集的全景圖像生成全景視頻。在本申請(qǐng)的一可選實(shí)施例中,可以通過全景視頻獲取模塊采集360度視野內(nèi)的全景圖像。全景視頻獲取模塊,用于獲取水平360度,垂直180度的全景視頻。優(yōu)選的,全景視頻獲取模塊可以包括至少兩個(gè)圖像采集單元,每個(gè)圖像采集單元包括一個(gè)魚眼鏡頭和一個(gè)攝取由魚眼鏡頭所形成圖像的圖像傳感器,每個(gè)魚眼鏡頭的視場(chǎng)角超過180度。兩個(gè)圖像采集單元背向設(shè)置,保證采集到水平和垂直各360°的全景圖像。拍攝設(shè)備通過將各圖像采集單元攝取的圖像結(jié)合在一起獲得立體角弧度為4π的圖像。全景視頻獲取模塊也可以由三個(gè)或更多個(gè)鏡頭組成。全景視頻獲取模塊的輸出可以是原始單個(gè)鏡頭模組輸出的圖像組合,也可以為拼接處理后的寬高比為2:1的世界地圖展開形式的圖像序列。
拍攝設(shè)備需要首先使用圖像采集單元拍攝外界圖像,得到多路視頻數(shù)據(jù),兩圖像采集單元拍攝的圖像需保證有部分重疊區(qū)域。拍攝設(shè)備接收多路視頻數(shù)據(jù),對(duì)多路視頻數(shù)據(jù)進(jìn)行拼接融合處理,得到全景視頻。
其次,在采集全景圖像的同時(shí),檢測(cè)拍攝設(shè)備的慣性參數(shù)。在本申請(qǐng)的一可選實(shí)施例中,可以通過慣性傳感器模塊采集慣性參數(shù)。慣性傳感器模塊由重力傳感器和陀螺儀傳感器組成。重力傳感器輸出重力加速度參數(shù),陀螺儀傳感器輸出角速度參數(shù)。較優(yōu)地,慣性傳感器模塊的采樣頻率設(shè)置為200Hz,重力加速度參數(shù)的輸出范圍為+/-8G,角速度參數(shù)的輸出范圍1000°/s。
在得到拍攝設(shè)備的慣性參數(shù)后,可以由姿態(tài)角計(jì)算模塊根據(jù)慣性參數(shù)計(jì)算全景視頻的每一幀全景圖像對(duì)應(yīng)的位姿狀態(tài)數(shù)據(jù)。全景圖像對(duì)應(yīng)的位姿狀態(tài)數(shù)據(jù)是表現(xiàn)拍攝設(shè)備在采集全景圖像時(shí)所處位姿的數(shù)據(jù),能夠表征拍攝設(shè)備采集全景圖像時(shí)的姿態(tài),也就是表征拍攝設(shè)備在采集全景圖像時(shí)是否發(fā)生晃動(dòng)以及晃動(dòng)的程度,根據(jù)全景圖像的位姿狀態(tài)數(shù)據(jù)可以消除采集全景圖像時(shí)由于拍攝設(shè)備的晃動(dòng)造成的圖像晃動(dòng),使得全景視頻能夠畫面穩(wěn)定的進(jìn)行顯示。
在本申請(qǐng)的一可選實(shí)施例中,根據(jù)慣性參數(shù),計(jì)算在采集每一幀全景圖像時(shí)拍攝設(shè)備的位姿狀態(tài)數(shù)據(jù),可以包括:
針對(duì)檢測(cè)到的多組慣性參數(shù),計(jì)算出相對(duì)應(yīng)的多組位姿狀態(tài)數(shù)據(jù);
為每一幀全景圖像從多組位姿狀態(tài)數(shù)據(jù)中匹配出對(duì)應(yīng)的位姿狀態(tài)數(shù)據(jù)。
如上所述,慣性傳感器模塊的采樣頻率可以設(shè)置為200Hz,也就是說,慣性傳感器模塊每秒鐘會(huì)檢測(cè)到200組慣性參數(shù),一組慣性參數(shù)對(duì)應(yīng)的計(jì)算出一組位姿狀態(tài)數(shù)據(jù),相當(dāng)于每秒鐘會(huì)計(jì)算出200組位姿狀態(tài)數(shù)據(jù)。全景視頻的幀率通常設(shè)置為30Hz,也就是每秒鐘采集30幀全景圖像。由于全景視頻獲取模塊每秒鐘采集30幀全景圖像,慣性傳感器模塊每秒鐘檢測(cè)到200組慣性參數(shù),對(duì)應(yīng)的計(jì)算出200組位姿狀態(tài)數(shù)據(jù),這就需要為每一幀全景圖像匹配出對(duì)應(yīng)的位姿狀態(tài)數(shù)據(jù)。
在為每一幀全景圖像匹配對(duì)應(yīng)的位姿狀態(tài)數(shù)據(jù)時(shí),可以將全景圖像的時(shí)間戳與每一組慣性參數(shù)的采集時(shí)間進(jìn)行對(duì)比,從而匹配到采集全景圖像的時(shí)刻所檢測(cè)到的那組慣性參數(shù),進(jìn)而將由匹配到的慣性參數(shù)計(jì)算得到的位姿狀態(tài)數(shù)據(jù)作為全景圖像對(duì)應(yīng)的位姿狀態(tài)數(shù)據(jù)。
姿態(tài)角計(jì)算模塊計(jì)算并輸出拍攝設(shè)備在拍攝每一幀全景圖像時(shí)的位姿狀態(tài)數(shù)據(jù)。位姿狀態(tài)數(shù)據(jù)的形式可以是用于表示三維空間旋轉(zhuǎn)變換的任意數(shù)學(xué)表示,包括但不限于旋轉(zhuǎn)矩陣、四元數(shù)、歐拉角等等。所輸出的位姿狀態(tài)數(shù)據(jù)包含對(duì)應(yīng)全景圖像幀的時(shí)刻信息。為了避免死鎖問題,優(yōu)先選用旋轉(zhuǎn)矩陣或者四元數(shù)的輸出形式。
下面以位姿狀態(tài)數(shù)據(jù)采用四元數(shù)的情況,對(duì)本申請(qǐng)中針對(duì)每一組慣性參數(shù),計(jì)算出相對(duì)應(yīng)的多組位姿狀態(tài)數(shù)據(jù)進(jìn)行說明。其中,每一組慣性參數(shù)均包含角速度參數(shù)的分組。
對(duì)于每一組慣性參數(shù),根據(jù)當(dāng)前組的角速度參數(shù)和前一組四元數(shù)計(jì)算出當(dāng)前組的四元數(shù)增量,當(dāng)前組的四元數(shù)增量中的每個(gè)元素與當(dāng)前組四元數(shù)中的元素一一對(duì)應(yīng);
計(jì)算得到當(dāng)前組的四元數(shù)增量后,再將當(dāng)前組的四元數(shù)增量中的每個(gè)元素與前一組四元數(shù)中的相應(yīng)元素進(jìn)行累計(jì),得到當(dāng)前組四元數(shù)。
例如,以四元數(shù)表示拍攝設(shè)備的位姿狀態(tài)數(shù)據(jù),設(shè)初始狀態(tài)為(1,0,0,0)。慣性傳感器模塊輸出的角速度參數(shù)表示為
下面以表示四元數(shù)增量,可以采用如下方式,根據(jù)當(dāng)前組的角速度參數(shù)和前一組四元數(shù)計(jì)算出當(dāng)前組的四元數(shù)增量,包括:
其中,表示前一組四元數(shù)。
在計(jì)算得到當(dāng)前組的四元數(shù)增量后,可以采用以下方式將當(dāng)前組的四元數(shù)增量中的每個(gè)元素與前一組四元數(shù)中的相應(yīng)元素進(jìn)行累計(jì),得到當(dāng)前組四元數(shù),包括:
其中,表示前一組四元數(shù);kt為累計(jì)權(quán)重,可以根據(jù)實(shí)際情況進(jìn)行設(shè)定,如可以設(shè)置為0.5等;tg為采樣間隔。具體如下:
進(jìn)一步,在根據(jù)當(dāng)前組的角速度參數(shù)和前一組四元數(shù)計(jì)算當(dāng)前組的四元數(shù)增量前,還可以對(duì)當(dāng)前組的角速度參數(shù)消除誤差。本申請(qǐng)中的每一組慣性參數(shù)中還包含一個(gè)重力加速度參數(shù)的分組??蛇x的,對(duì)當(dāng)前組的角速度參數(shù)消除誤差,可以包括:
首先,根據(jù)前一組四元數(shù)計(jì)算當(dāng)前組的加速度方向;
其次,在得到當(dāng)前組的加速度方向后,再根據(jù)當(dāng)前組的加速度方向和當(dāng)前組的重力加速度參數(shù),計(jì)算陀螺儀測(cè)量誤差,再對(duì)陀螺儀測(cè)量誤差進(jìn)行累計(jì),得到陀螺儀累計(jì)誤差;
最后,再根據(jù)陀螺儀測(cè)量誤差和陀螺儀累計(jì)誤差,對(duì)當(dāng)前組的角速度參數(shù)消除誤差。
例如,以下采用表示加速度方向,可以采用如下方法根據(jù)前一組四元數(shù)計(jì)算當(dāng)前組的加速度方向,包括:
可選的,可以采用表示陀螺儀測(cè)量誤差,采用表示陀螺儀累計(jì)誤差,采用表示重力加速度參數(shù),根據(jù)當(dāng)前組的加速度方向和當(dāng)前組的重力加速度參數(shù),計(jì)算陀螺儀測(cè)量誤差,可以包括:
可選的,上述對(duì)陀螺儀測(cè)量誤差進(jìn)行累計(jì),得到陀螺儀累計(jì)誤差,可以包括:
其中,表示當(dāng)前的累計(jì)誤差,表示累計(jì)后的累計(jì)誤差。具體包括:
在計(jì)算得到陀螺儀測(cè)量誤差和陀螺儀累計(jì)誤差后,可以采用如下方法消除陀螺儀的誤差,包括:
其中,表示慣性傳感器模塊檢測(cè)輸出的角速度參數(shù),Kp為比例權(quán)重,Ki為積分權(quán)重,Kp和Ki可以根據(jù)實(shí)際情況選擇設(shè)置。具體包括:
在對(duì)陀螺儀消除誤差后,采用消除誤差后的角速度參數(shù)和前一組四元數(shù)計(jì)算當(dāng)前組的四元數(shù)增量,進(jìn)而再計(jì)算當(dāng)前組四元數(shù),從而可以得到更加準(zhǔn)確的四元數(shù),增強(qiáng)對(duì)全景圖像畫面的去抖效果。
可選的,在得到當(dāng)前組四元數(shù)后,還可以將四元數(shù)轉(zhuǎn)換為其他表示三維空間旋轉(zhuǎn)變換的任意數(shù)學(xué)表示,如旋轉(zhuǎn)矩陣、歐拉角等。例如,可以通過如下方式將四元數(shù)轉(zhuǎn)換為旋轉(zhuǎn)矩陣,包括:
最后,在得到全景視頻的每一幀全景圖像對(duì)應(yīng)的位姿狀態(tài)數(shù)據(jù)后,可以對(duì)全景視頻以及全景視頻的每一幀全景圖像對(duì)應(yīng)的位姿狀態(tài)數(shù)據(jù)進(jìn)行存儲(chǔ)和/或輸出,以便后續(xù)根據(jù)位姿狀態(tài)數(shù)據(jù)對(duì)抖動(dòng)或晃動(dòng)時(shí)拍攝的全景圖像消除畫面晃動(dòng)。
本申請(qǐng)中可以通過存儲(chǔ)模塊對(duì)全景視頻獲取模塊輸出的全景圖像和姿態(tài)角計(jì)算模塊輸出的位姿狀態(tài)數(shù)據(jù)進(jìn)行存儲(chǔ)和/或輸出,如存儲(chǔ)到拍攝設(shè)備的內(nèi)存或存儲(chǔ)卡中。存儲(chǔ)時(shí)可以是將位姿狀態(tài)數(shù)據(jù)作為字幕保存到視頻,也可以保存為單獨(dú)的文件。
位姿狀態(tài)數(shù)據(jù)可以按照采集時(shí)刻或幀號(hào)等進(jìn)行索引。位姿狀態(tài)數(shù)據(jù)可以與全景視頻一同保存或通過網(wǎng)絡(luò)單獨(dú)傳輸。位姿狀態(tài)數(shù)據(jù)的采集時(shí)刻等同于對(duì)應(yīng)的全景圖像的拍攝時(shí)刻,也就是全景圖像的時(shí)間戳,通過時(shí)間戳能夠建立起位姿狀態(tài)數(shù)據(jù)與全景圖像的對(duì)應(yīng)關(guān)系。幀號(hào)是全景圖像的唯一標(biāo)識(shí),通過幀號(hào)能夠識(shí)別出全景視頻中的每一幀全景圖像,將幀號(hào)作為索引,同樣能夠建立起全景圖像與位姿狀態(tài)數(shù)據(jù)的對(duì)應(yīng)關(guān)系。
位姿狀態(tài)數(shù)據(jù)的保存或傳輸方式并不限定為將位姿狀態(tài)數(shù)據(jù)作為單獨(dú)的數(shù)據(jù)實(shí)體進(jìn)行保存或傳輸,例如保存成獨(dú)立的磁盤文件,而是也包括以附加數(shù)據(jù)的形式直接添加在全景視頻數(shù)據(jù)本身的方式。例如,可以將位姿狀態(tài)數(shù)據(jù)轉(zhuǎn)換為文本,在視頻文件的字幕通道中對(duì)應(yīng)于該位姿狀態(tài)數(shù)據(jù)的采集時(shí)刻處添加上述文本作為字幕信息。任何可以將位姿狀態(tài)數(shù)據(jù)與采集時(shí)刻的對(duì)應(yīng)關(guān)系記錄并保存或傳輸?shù)姆椒ǘ伎梢砸暈楸4婧蛡鬏斘蛔藸顟B(tài)數(shù)據(jù)的方法,本申請(qǐng)不對(duì)具體方式作限定。
本申請(qǐng)中在采集全景圖像的同時(shí),計(jì)算得到每一幀全景圖像對(duì)應(yīng)的位姿狀態(tài)數(shù)據(jù),以便能夠在展示全景視頻時(shí),能夠根據(jù)位姿狀態(tài)數(shù)據(jù)消除拍攝晃動(dòng)造成的圖像轉(zhuǎn)動(dòng)。本申請(qǐng)的方法中提供的位姿狀態(tài)數(shù)據(jù)為進(jìn)行后續(xù)的畫面晃動(dòng)消除提供了支持。實(shí)際中,在展示全景視頻時(shí),在獲取全景視頻以及對(duì)應(yīng)的位姿狀態(tài)數(shù)據(jù)后,可以將全景圖像貼到預(yù)定的三維幾何形體的表面得到全景展示體,再根據(jù)全景圖像的姿態(tài)角對(duì)全景展示體進(jìn)行旋轉(zhuǎn)。由于全景圖像對(duì)應(yīng)的位姿狀態(tài)數(shù)據(jù)能夠表征拍攝設(shè)備拍攝全景圖像時(shí)的姿態(tài),也就是表征拍攝設(shè)備在拍攝全景圖像時(shí)是否發(fā)生晃動(dòng)以及晃動(dòng)的程度,根據(jù)全景圖像的位姿狀態(tài)數(shù)據(jù)對(duì)全景展示體進(jìn)行旋轉(zhuǎn)可以消除拍攝全景圖像時(shí)由于拍攝設(shè)備的晃動(dòng)造成的圖像晃動(dòng),使得全景視頻能夠畫面穩(wěn)定的進(jìn)行顯示。
本申請(qǐng)的生成全景視頻的方法中,對(duì)計(jì)算得到的位姿狀態(tài)數(shù)據(jù)是進(jìn)行存儲(chǔ)、輸出還是存儲(chǔ)并輸出,需要根據(jù)不同需要來確定。例如,如果是在手機(jī)等顯示設(shè)備上在展示全景視頻并根據(jù)位姿狀態(tài)數(shù)據(jù)消除畫面抖動(dòng),需要將位姿狀態(tài)數(shù)據(jù)輸出給顯示設(shè)備,可選的,本地也可以同時(shí)存儲(chǔ)位姿狀態(tài)數(shù)據(jù)。如果是在全景相機(jī)等拍攝設(shè)備上消除畫面抖動(dòng),如對(duì)于具有顯示功能的拍攝設(shè)備,則是需要在本地存儲(chǔ)位姿狀態(tài)數(shù)據(jù),同時(shí)也可以附加的將位姿狀態(tài)數(shù)據(jù)輸出給其他的顯示設(shè)備。
本申請(qǐng)?jiān)谂臄z視頻的同時(shí),將拍攝設(shè)備的位姿狀態(tài)保存下來,即保存了拍攝設(shè)備的抖動(dòng)信息。這樣,在播放全景視頻時(shí),能夠減少畫面顯示的抖動(dòng),增加用戶在觀看全景視頻時(shí)畫面的穩(wěn)定性。
如圖2所示,本申請(qǐng)還提供了一種生成全景視頻的裝置,包括:
一全景視頻獲取模塊,用于采集全景圖像,并生成全景視頻;
一慣性傳感器模塊,用于在全景視頻獲取模塊采集全景圖像的同時(shí),檢測(cè)拍攝設(shè)備的慣性參數(shù);
一姿態(tài)角計(jì)算模塊,用于根據(jù)慣性傳感器模塊檢測(cè)得到的慣性參數(shù),計(jì)算在采集每一幀全景圖像時(shí)拍攝設(shè)備的位姿狀態(tài)數(shù)據(jù);
一存儲(chǔ)單元,用于對(duì)全景視頻以及全景視頻的每一幀全景圖像對(duì)應(yīng)的位姿狀態(tài)數(shù)據(jù)進(jìn)行存儲(chǔ)和/或輸出。
進(jìn)一步的,姿態(tài)角計(jì)算模塊根據(jù)慣性傳感器模塊檢測(cè)得到的慣性參數(shù),計(jì)算在采集每一幀全景圖像時(shí)拍攝設(shè)備的位姿狀態(tài)數(shù)據(jù),包括:
針對(duì)檢測(cè)到的多組慣性參數(shù),計(jì)算出相對(duì)應(yīng)的多組位姿狀態(tài)數(shù)據(jù);
為每一幀全景圖像從多組位姿狀態(tài)數(shù)據(jù)中匹配出對(duì)應(yīng)的位姿狀態(tài)數(shù)據(jù)。
進(jìn)一步的,位姿狀態(tài)數(shù)據(jù)采用四元數(shù);慣性參數(shù)包含角速度參數(shù);
姿態(tài)角計(jì)算模塊針對(duì)檢測(cè)到的多組慣性參數(shù),計(jì)算出相對(duì)應(yīng)的多組位姿狀態(tài)數(shù)據(jù),包括:
根據(jù)當(dāng)前組的角速度參數(shù)和前一組四元數(shù)計(jì)算當(dāng)前組的四元數(shù)增量,當(dāng)前組的四元數(shù)增量中的每個(gè)元素與當(dāng)前組四元數(shù)中的元素一一對(duì)應(yīng);
將當(dāng)前組的四元數(shù)增量中的每個(gè)元素與前一組四元數(shù)中的相應(yīng)元素進(jìn)行累計(jì),得到當(dāng)前組四元數(shù)。
進(jìn)一步的,慣性參數(shù)還包含重力加速度參數(shù);
姿態(tài)角計(jì)算模塊在計(jì)算當(dāng)前組的四元數(shù)增量前,還包括:
根據(jù)前一組四元數(shù)計(jì)算當(dāng)前組的加速度方向;
根據(jù)計(jì)算得到的當(dāng)前組的加速度方向和當(dāng)前組的重力加速度參數(shù),計(jì)算陀螺儀測(cè)量誤差,再對(duì)陀螺儀測(cè)量誤差進(jìn)行累計(jì),得到陀螺儀累計(jì)誤差;
根據(jù)陀螺儀測(cè)量誤差和陀螺儀累計(jì)誤差,對(duì)當(dāng)前組的角速度參數(shù)消除誤差。
進(jìn)一步的,采用表示四元數(shù),采用表示角速度參數(shù),采用表示四元數(shù)增量;
姿態(tài)角計(jì)算模塊根據(jù)當(dāng)前組的角速度參數(shù)和前一組四元數(shù)計(jì)算當(dāng)前組的四元數(shù)增量,包括:
其中,表示前一組四元數(shù)。
進(jìn)一步的,姿態(tài)角計(jì)算模塊將當(dāng)前組的四元數(shù)增量中的每個(gè)元素與前一組四元數(shù)中的相應(yīng)元素進(jìn)行累計(jì),得到當(dāng)前組四元數(shù),包括:
其中,kt為累計(jì)權(quán)重,tg為采樣間隔。
進(jìn)一步的,采用表示加速度方向;
姿態(tài)角計(jì)算模塊根據(jù)前一組四元數(shù)計(jì)算當(dāng)前組的加速度方向,包括:
進(jìn)一步的,采用表示陀螺儀測(cè)量誤差,采用表示重力加速度參數(shù);
姿態(tài)角計(jì)算模塊根據(jù)計(jì)算得到的當(dāng)前組的加速度方向和當(dāng)前組的重力加速度參數(shù),計(jì)算陀螺儀測(cè)量誤差,包括:
進(jìn)一步的,采用表示陀螺儀累計(jì)誤差;
姿態(tài)角計(jì)算模塊對(duì)陀螺儀測(cè)量誤差進(jìn)行累計(jì),得到陀螺儀累計(jì)誤差,包括:
其中,表示當(dāng)前的累計(jì)誤差,表示進(jìn)行累計(jì)后的累計(jì)誤差。
進(jìn)一步的,姿態(tài)角計(jì)算模塊根據(jù)陀螺儀測(cè)量誤差和陀螺儀累計(jì)誤差,對(duì)當(dāng)前組的角速度參數(shù)消除誤差,包括:
其中,表示檢測(cè)到的角速度參數(shù),Kp為比例權(quán)重,Ki為積分權(quán)重。
雖然本發(fā)明所揭露的實(shí)施方式如上,但所述的內(nèi)容僅為便于理解本發(fā)明而采用的實(shí)施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實(shí)施的形式及細(xì)節(jié)上進(jìn)行任何的修改與變化,但本發(fā)明的專利保護(hù)范圍,仍須以所附的權(quán)利要求書所界定的范圍為準(zhǔn)。