實(shí)現(xiàn)全景相機(jī)的多個(gè)攝像頭同時(shí)拍攝的方法及全景相機(jī)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于全景相機(jī)領(lǐng)域,特別涉及一種實(shí)現(xiàn)全景相機(jī)的多個(gè)攝像頭同時(shí)拍攝的方法及全景相機(jī)。
【背景技術(shù)】
[0002]傳統(tǒng)的全景攝影使用一個(gè)相機(jī)朝不同角度依次拍攝多張照片然后拼接成全景圖像,這樣的缺點(diǎn)是如果拍攝過(guò)程中被攝物體移動(dòng),就會(huì)出現(xiàn)明顯的拼接錯(cuò)誤。近來(lái)出現(xiàn)了集成了多個(gè)攝像模組的專用全景設(shè)備,拍攝時(shí)多個(gè)攝像模組同時(shí)成像,從而可以避免以上問(wèn)題。
[0003]為了保證圖像質(zhì)量,在全景合成之前需要對(duì)各攝像模組輸出的拜耳(Bayer)格式數(shù)據(jù)進(jìn)行逆馬賽克變換(Demosaicing)和降噪。這部分算法非常消耗計(jì)算資源,如果在通用CPU內(nèi)用軟件實(shí)現(xiàn),將嚴(yán)重影響性能。目前智能手機(jī)和數(shù)碼相機(jī)的逆馬賽克變換和降噪大都是用獨(dú)立的圖像信號(hào)處理(Image signal processing,ISP)芯片或者移動(dòng)SoC內(nèi)嵌的ISP模塊處理的,比起使用通用CPU大大提高了性能。然而每個(gè)移動(dòng)SoC只能連接一片ISP或者只內(nèi)嵌一個(gè)ISP模塊,無(wú)法處理全景相機(jī)大量攝像頭的同時(shí)輸出數(shù)據(jù)。
[0004]目前一種方案是為每個(gè)攝像頭各自配一個(gè)ISP芯片和處理器,或者各自配一個(gè)內(nèi)嵌ISP模塊和處理器的移動(dòng)SoC,各攝像頭的輸出數(shù)據(jù)分別由各自的ISP進(jìn)行逆馬賽克變換和降噪處理并在處理器控制下存儲(chǔ),等拍攝完成導(dǎo)出處理后的圖像數(shù)據(jù)在電腦上完成拼接。一種方式是把所有攝像頭,ISP芯片(模塊)和處理器放在一個(gè)硬件里,如TE720,另一種只是把多個(gè)單獨(dú)的相機(jī)(每個(gè)相機(jī)有獨(dú)立的攝像頭,ISP及處理器)固定在一起,如將6個(gè)GoPro固定在一起拍攝全景的裝置。
[0005]由于每個(gè)攝像頭各自配一個(gè)ISP芯片和處理器,或者各自配一個(gè)內(nèi)嵌ISP模塊的移動(dòng)SoC,硬件成本較高,功耗較大;又由于各處理器彼此獨(dú)立,實(shí)現(xiàn)在機(jī)器內(nèi)拼接比較困難,基本都是將數(shù)據(jù)導(dǎo)出在電腦或服務(wù)器拼接。
[0006]中國(guó)專利CN201420237546.4,實(shí)用新型名稱為《一種接口共享的全景數(shù)字圖像傳感器》公開(kāi)了多個(gè)攝像頭連接一片F(xiàn)PGA或CPLD,CPLD/FPGA通過(guò)時(shí)分復(fù)用的方式從攝像頭讀取數(shù)據(jù),并以非標(biāo)準(zhǔn)的格式將數(shù)據(jù)輸出。對(duì)于M個(gè)攝像頭,CPLD/FPGA分配M個(gè)時(shí)隙,讓CPLD/FPGA上的8位并行數(shù)據(jù)接口分時(shí)傳輸各CMOS傳感器的數(shù)據(jù),每個(gè)時(shí)隙寬度為像素時(shí)鐘信號(hào)周期的1/(2M),每個(gè)時(shí)隙傳輸一個(gè)字節(jié)YUV格式的圖像數(shù)據(jù)。
[0007]由于該方案CPLD/FPGA讀取攝像頭數(shù)據(jù)的時(shí)隙寬度為像素時(shí)鐘信號(hào)周期的I/(2M),即CPLD/FPGA的讀取頻率要比攝像頭的像素時(shí)鐘頻率高很多倍,如果攝像頭數(shù)目多且攝像頭像素?cái)?shù)高,對(duì)FPGA的主頻要求極高,大大提高了成本;其次,該方案輸出的非標(biāo)準(zhǔn)的格式的數(shù)據(jù)并不被一般的ISP芯片或者內(nèi)嵌的ISP模塊兼容。
【發(fā)明內(nèi)容】
[0008]本發(fā)明提供一種能夠?qū)崿F(xiàn)全景相機(jī)的多個(gè)攝像頭同時(shí)拍攝的方法及全景相機(jī),用于解決現(xiàn)有技術(shù)中全景相機(jī)實(shí)現(xiàn)多個(gè)攝像頭同時(shí)拍攝時(shí),對(duì)硬件要求高,所需硬件多,成本高的問(wèn)題。
[0009]本發(fā)明提供的一種實(shí)現(xiàn)全景相機(jī)的多個(gè)攝像頭同時(shí)拍攝的方法,包括,
[0010]多個(gè)攝像頭同時(shí)采集多個(gè)方向上的圖像數(shù)據(jù);
[0011]將采集的圖像數(shù)據(jù)存儲(chǔ)于內(nèi)存中;
[0012]按序讀取內(nèi)存中的圖像數(shù)據(jù),將讀取的圖像數(shù)據(jù)模擬成單一攝像頭輸出數(shù)據(jù)格式發(fā)送至同一圖像信號(hào)處理器處理。
[0013]本發(fā)明另提供一種能夠?qū)崿F(xiàn)多個(gè)攝像頭同時(shí)拍攝的全景相機(jī),包括,
[0014]多個(gè)攝像頭、內(nèi)存、控制器及一個(gè)圖像信號(hào)處理器,
[0015]所述攝像頭用于同時(shí)采集多個(gè)方向上的圖像數(shù)據(jù);
[0016]所述控制器連接所述攝像頭、所述內(nèi)存及所述圖像信號(hào)處理器,用于將采集的圖像數(shù)據(jù)存儲(chǔ)于內(nèi)存中,按序讀取內(nèi)存中的圖像數(shù)據(jù),將讀取的圖像數(shù)據(jù)模擬成單一攝像頭輸出數(shù)據(jù)格式發(fā)送至所述圖像信號(hào)處理器處理。
[0017]本發(fā)明的技術(shù)方案中控制多個(gè)攝像頭同時(shí)采集各方向上的圖像數(shù)據(jù),將各攝像頭采集到的圖像數(shù)據(jù)存儲(chǔ)于內(nèi)存中,按序讀取內(nèi)存中的圖像數(shù)據(jù),將讀取的圖像數(shù)據(jù)發(fā)送至同一圖像信號(hào)處理器處理。本發(fā)明能夠在較低的硬件成本下實(shí)現(xiàn)多個(gè)攝像頭同時(shí)成像,避免由被攝物體移動(dòng)導(dǎo)致的拼接錯(cuò)誤,同時(shí)只需要一個(gè)圖像信號(hào)處理器,并且對(duì)圖像信號(hào)處理器的時(shí)鐘頻率要求不高,比起現(xiàn)有技術(shù)大大降低了成本。使用一個(gè)控制器也有利于在全景相機(jī)內(nèi)完成拼接。
【附圖說(shuō)明】
[0018]為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0019]圖1為本發(fā)明一實(shí)施例的實(shí)現(xiàn)全景相機(jī)的多個(gè)攝像頭同時(shí)拍攝的方法流程圖;
[0020]圖2為本發(fā)明一實(shí)施例的能夠?qū)崿F(xiàn)多個(gè)攝像頭同時(shí)拍攝的全景相機(jī)結(jié)構(gòu)圖;
[0021]圖3為本發(fā)明另一實(shí)施例的能夠?qū)崿F(xiàn)多個(gè)攝像頭同時(shí)拍攝的全景相機(jī)結(jié)構(gòu)圖;
[0022]圖4為本發(fā)明又一實(shí)施例的能夠?qū)崿F(xiàn)多個(gè)攝像頭同時(shí)拍攝的全景相機(jī)結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0023]為了使本發(fā)明的技術(shù)特點(diǎn)及效果更加明顯,下面結(jié)合附圖對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步說(shuō)明,本發(fā)明也可有其他不同的具體實(shí)例來(lái)加以說(shuō)明或?qū)嵤?,任何本領(lǐng)域技術(shù)人員在權(quán)利要求范圍內(nèi)做的等同變換均屬于本發(fā)明的保護(hù)范疇。
[0024]如圖1所示,圖1為本發(fā)明一實(shí)施例的實(shí)現(xiàn)全景相機(jī)的多個(gè)攝像頭同時(shí)拍攝的方法流程圖。
[0025]本實(shí)施例提供的方法能夠使多個(gè)攝像頭同時(shí)生成的圖像數(shù)據(jù)發(fā)送至同一圖像處理器處理,圖像處理器接收到的各攝像頭拍攝的數(shù)據(jù)如同一個(gè)單獨(dú)的攝像頭連續(xù)發(fā)送的多幀數(shù)據(jù),處理方式也與連接單個(gè)攝像頭一樣。
[0026]具體的,實(shí)現(xiàn)全景相機(jī)的多個(gè)攝像頭同時(shí)拍攝的方法包括:
[0027]步驟101:多個(gè)攝像頭同時(shí)采集多個(gè)方向上的圖像數(shù)據(jù);其中,圖像數(shù)據(jù)為攝像頭獲取的原始數(shù)據(jù)。
[0028]步驟102:將采集的圖像數(shù)據(jù)存儲(chǔ)于內(nèi)存中;
[0029]本發(fā)明一實(shí)施例中,通過(guò)FPGA將采集的圖像數(shù)據(jù)存儲(chǔ)于與FPGA相連的內(nèi)存中,當(dāng)全景相機(jī)的多個(gè)攝像頭輸出的數(shù)據(jù)格式不方便被FPGA接收時(shí),可在FPGA和每個(gè)攝像頭之間插入橋接芯片進(jìn)行格式轉(zhuǎn)換,如可通過(guò)MIPI與DVP的橋接芯片將攝像頭輸出的MIPI格式數(shù)據(jù)轉(zhuǎn)換為DVP格式,以方便被FPGA接收。
[0030]步驟103:按序讀取內(nèi)存中的圖像數(shù)據(jù),如先從攝像頭I開(kāi)始,讀取完攝像頭I的圖像數(shù)據(jù)后,讀取攝像頭2的圖像數(shù)據(jù),一直到讀取完所有攝像頭的圖像數(shù)據(jù),將讀取的圖像數(shù)據(jù)模擬成單一攝像頭輸出數(shù)據(jù)格式發(fā)送至同一圖像信號(hào)處理器處理,模擬成單一攝像頭輸出數(shù)據(jù)格式可以為DVP、MIP1、HISPI等。圖像信號(hào)處理器接收到的多個(gè)攝像頭各自拍攝的一幀數(shù)據(jù)的數(shù)據(jù)格式就如同一個(gè)單獨(dú)的攝像頭連續(xù)發(fā)送的多幀數(shù)據(jù),圖像信號(hào)處理器對(duì)接收到的圖像數(shù)據(jù)做逆馬賽克變換和降噪處理,與圖像信號(hào)處理器相連的應(yīng)用處理芯片將逆馬賽克變換和降噪處理后的多幀數(shù)據(jù)拆開(kāi)成多個(gè)攝像頭輸出的圖像數(shù)據(jù),并進(jìn)行后續(xù)的拼接操作。
[0031 ] 詳細(xì)的說(shuō),內(nèi)存為同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器(Synchronous Dynamic Random AccessMemory,SDRAM),內(nèi)存中可存儲(chǔ)多個(gè)時(shí)刻獲取的原始數(shù)據(jù),每一時(shí)刻的原始數(shù)據(jù)分配一個(gè)區(qū)域,其中,每一時(shí)刻的原始數(shù)據(jù)由所有攝像頭輸出的單幀圖像數(shù)據(jù)構(gòu)成,每個(gè)攝像頭的單幀圖像數(shù)據(jù)又被分配一個(gè)子區(qū)域。
[0032]攝像頭以逐行輸出圖像數(shù)據(jù)的方式發(fā)送數(shù)據(jù),攝像頭發(fā)送圖像數(shù)據(jù)的同時(shí)還發(fā)送同步信號(hào),如幀同步信號(hào)(VSYNC),使能信號(hào)(HREF),像素時(shí)鐘(PCLK),分別用于標(biāo)識(shí)單幀數(shù)據(jù)的開(kāi)始,標(biāo)識(shí)新一行的開(kāi)始及標(biāo)識(shí)攝像頭輸出數(shù)據(jù)的時(shí)間。
[0033]進(jìn)一步的,按序讀取內(nèi)存中的圖像數(shù)據(jù)時(shí),還讀取攝像頭圖像數(shù)據(jù)對(duì)應(yīng)的同步信號(hào)。
[0034]本發(fā)明一實(shí)施例中,