設備的同步方法和同步系統的制作方法
【專利摘要】公開了設備的同步方法和同步系統。根據某些實施例,同步方法可以包括接收用于發起操作的信號。所述方法還可以包括優先化用于所述操作的處理能力。所述方法還可以包括在接收到所述信號之后在計算出的時間量處開始所述操作。
【專利說明】
設備的同步方法和同步系統
技術領域
[0001]本公開總體涉及成像系統,更具體地涉及用于同步多個設備的系統和方法。【背景技術】
[0002]在許多工業、商業和科學應用中,精確同步多個設備或控制多個設備以協調方式操作是很關鍵的。例如,為了創建沉浸式虛擬現實(VR)體驗,可以使用多個攝像機來覆蓋場景的不同部分。對攝像機在同一時間捕捉到的圖像幀進行同步,從而實現場景的三維(3D) 重構。當場景是動態的,即包含移動對象時,一種公知的挑戰在于精確地在幀級別或者甚至在子幀級別(即,幀持續時間的一部分)同步圖像捕捉。
[0003]在沉浸式VR產生中關鍵任務是根據多視圖2D圖像數據準確地重構3D對象形狀、運動和表面紋理。類似于人眼通過雙目視覺在正確的深度看到對象,多個攝像機可以用于從不同視點拍攝對象的圖像。對于運動對象,除非在同一時間捕捉到不同視點的圖像,否則不能生成對象的適當立體顯示。
[0004]圖1是示出用于獲得對象的3D圖像信息的多攝像機系統的示意圖。參考圖1,為拍攝移動汽車,將兩個攝像機(即,攝像機1和2)間隔預定距離并對齊。可以解釋由該兩個攝像機在同一時間拍攝的圖像之間的差別,從而確定汽車的深度信息。然而,如果攝像機1和2未同步,則由攝像機1在時間^捕捉到的圖像幀不能與攝像機在時間Tdf捉到的圖像幀組合來構造顯示正確深度的虛擬場景。
[0005]此外,VR的觀看者可以自由地在虛擬世界中到處看。因此,VR需要提供寬視場 (F0V),例如360度球面圖。由于攝像機僅具有有限的F0V,所以可以將由多個攝像機拍攝的圖像組合成全景。圖2是示出用于獲得全景的多攝像機系統的示意圖。參考圖2,攝像機1和2 具有局部重疊的F0V。每個F0V覆蓋包括移動車行進經過若干靜置輪胎的場景的一部分。如果兩個攝像機沒有同步,則當汽車在F0V的重疊區域行進時,由攝像機1在時間切甫捉到的圖像幀和由攝像機2在時間T2捕捉到的圖像幀示出在不同像素的汽車。這種像素差通常叫做“重影(ghosting)”偽像。換言之,根據這兩個圖像幀生成的全景可能在兩個幀重疊的區域將移動汽車顯示為兩個圖像或“重影”。相反,因為靜置輪胎總是停留在相同像素,所以輪胎沒有重影。
[0006]所公開的方法和系統解決了以上列出的一個或多個問題。
【發明內容】
[0007]與本公開的一個實施例一致,提供了第一設備的同步方法。所述方法可以包括接收用于發起操作的信號。所述方法還可以包括優先化用于所述操作的處理能力。所述方法還可以包括在接收到所述信號之后在計算出的時間量處開始所述操作。
[0008]與本公開的另一實施例一致,提供了第一設備,包括存儲器和處理器。所述存儲器可以存儲指令。所述處理器可以配置為執行所述指令,以:接收用于發起操作的信號;優先化用于所述操作的處理能力;以及在接收到所述信號之后在計算出的時間量處開始所述操作。
[0009]與本公開的又一實施例一致,提供了一種同步系統。所述系統可以包括信號生成器;以及通信地連接到所述信號生成器的多個設備。所述信號生成器可以配置為響應于用戶輸入而將信號發送給設備。所述設備配置為:接收信號;優先化用于操作的處理能力;以及在接收到所述信號之后在計算出的時間量處開始所述操作。
[0010]可以理解的是,上述通用描述和后續詳細描述都僅是示例性和說明性的,而不限制如所要求保護的本發明。【附圖說明】
[0011]將通過示例性實施例進一步描述在本文描述的方法、系統和/或程序。參考附圖詳細描述這些示例性實施例。這些實施例是非限制性的示例性實施例,其中在附圖的若干圖中類似的附圖標記表示類似的結構,其中:
[0012]圖1是示出用于獲得對象的3D圖像信息的多攝像機系統的示意圖。
[0013]圖2是示出用于獲得全景的多攝像機系統的示意圖。
[0014]圖3是示出在兩個攝像機之間未同步的幀數據編碼的示意圖。
[0015]圖4是示出在兩個攝像機之間的時鐘漂移的示意圖。
[0016]圖5是根據示例性實施例的用于同步多個用戶設備的系統的框圖。
[0017]圖6是根據示例性實施例的用于執行同步方法的用戶設備的框圖。
[0018]圖7是根據示例性實施例的用于同步多個用戶設備的過程的流程圖。[0019 ]圖8是根據示例性實施例示出在圖7中所示過程的實現的示意圖。【具體實施方式】
[0020]現在將詳細參考所公開的實施例,其例子在附圖中示出。在方便時,相同的附圖標記將在整體附圖中用于指代相同或類似部件。
[0021]當參照附圖考慮以下說明時,本公開的特點和特征、以及操作方法和結構的相關元件的功能以及部分的組合和制造的經濟性可以變得更加明顯,所有附圖形成本說明書的一部分。但是,應理解,附圖只是用于說明和描述的目的而不意欲作為對發明的限定的定義。如說明書和權利要求書中所使用的,除非上下文清楚地另有說明,否則單數形式“一”、 “一個”和“該”包括復數。[〇〇22] 如圖1-2所示,快速變化的場景(例如,運動場館或音樂會)可能呈現產生立體3D內容的巨大困難和/或導致全景生成中嚴重的重影偽像,即使由不同攝像機生成的圖像幀的時間差非常小也如此。為了創建令人滿意的沉浸式VR體驗,期望將這些時間差控制到僅幾暈秒內。
[0023]然而,難以實現多個攝像機的精確同步。每個攝像機捕捉圖像的工作流包括:激活攝像機(或激活攝像機的同步拍攝模式);設置在攝像機中使用的拍攝參數,并啟動圖像傳感器來捕捉圖像幀(即,觸發快門操作);啟動攝像機的圖像信號處理器(ISP)來獲取幀數據,并將幀數據編碼為可呈現和可顯示的圖像;以及重復幀捕捉和編碼。在上述步驟的任一個中都可能發生同步誤差。
[0024]首先,激活攝像機、幀捕捉以及幀編碼需要同時被外部觸發信號觸發。然而,在發送這些觸發信號時可能存在時延。一些觸發信號還可能在傳輸期間意外丟失。特別地,當無線輸送觸發信號時,可能由無線介質訪問時間中的非確定性而引入不確定度。難以確信何時同步分組開始從發送方傳播以及同步分組何時被接收方接收到。例如,典型的無線網絡的延遲可以是若干毫秒級別。
[0025]第二,即使多個攝像機能夠同時接收命令來拍攝圖像,在不同攝像機中的圖像傳感器可能會以不同的速度響應該命令。圖像傳感器最初可能處于不同狀態。因此,每個攝像機需要重置各自的圖像傳感器,并向圖像傳感器的驅動器發送傳感器操作參數,例如,快門速度、幀率、分辨率等。由于在圖像傳感器間的不同以及攝像機的多種硬件和軟件能力,每個攝像機具有從接收到拍攝圖像的觸發信號的時間到捕捉幀的時間的非確定性的延遲。
[0026]第三,即使多個攝像機能夠在同一時間開始幀捕捉,由于攝像機中不同的實時工作條件/負載,多個攝像機可能以不同的速度開始幀數據獲取和編碼。例如,當攝像機接收到開始幀獲取和編碼的命令時,每個攝像機可能執行多個其它應用,例如,測量剩余電池電量、調整變焦等。執行這些額外任務可能消耗處理器時間和存儲器空間,因此可能在攝像機間引入對發起數據獲取和編碼的非確定性延遲。
[0027]圖3是示出在兩個攝像機之間未同步的幀數據編碼的示意圖。參考圖3,攝像機1和 2中的圖像傳感器被同步。換言之,攝像機1和2能夠在時間以、^^3、...同時捕捉幀。然而, 在攝像機1和2中的幀數據編碼是未同步的。例如,攝像機1在以和^之間的時間開始編碼。 相反,攝像機2在^之后的時間^開始編碼。因此,攝像機1對在t捕捉到的幀進行編碼,并將其當做第一幀;而攝像機2對在t2捕捉到的幀進行編碼,并將其當做第一幀。這兩個幀不能適當組合而生成VR效果。
[0028]第四,多個攝像機需要以預定速率重復捕捉和對幀編碼。因此,即使在不同攝像機中的幀捕捉和編碼同時發起,由于后續在部分或所有攝像機中的時鐘漂移仍可能破壞同步。例如,每個攝像機可以使用晶體振蕩器作為內部時鐘。由于每個晶體振蕩器的固有頻率誤差以及不同晶體振蕩器間的精度的差異,在多個攝像機開始連續成像過程之后,在一個攝像機中的時鐘信號可能逐漸與在另一攝像機中的時鐘信號漂離或與其失去同步。[0〇29]圖4是不出在兩個攝像機之間的時鐘漂移的不意圖。參考圖4,可以在最初同步由攝像機1和2進行的幀捕捉和編碼。然而,當成像過程繼續時,時鐘漂移可能在攝像機1和2之間累積。例如,在兩個小時之后,在攝像機2中的圖像傳感器捕捉第i幀之前,攝像機1中的圖像傳感器可能捕捉第(i+1)幀。因此,攝像機1和2不再同時對動態場景成像。此外,如果在相同或類似時間編碼這兩個幀,則它們可能被當作在同一時間捕捉到的幀,這將在產生VR效果時造成誤差。
[0030]在上述任何一方面的缺陷將導致丟失同步。如下文所述,與本公開一致的示例性實施例提供了克服一個或多個上述困難的技術方案。
[0031]圖5是根據示例性實施例的用于同步多個用戶設備的系統100的框圖。參考圖5,系統100包括多個用戶設備110(例如,如圖5所示的用戶設備110a、110b、110c、…和110n)、信號生成器120、以及用于連接用戶設備110和信號生成器120的多個通信電纜130。
[0032]每個用戶設備110可以是具有特定計算和/或通信能力的設備,例如,智能攝像機、 智能可穿戴設備(例如,腕帶)、智能空調、智能空氣凈化器、智能冰箱、智能插座、智能門鈴等。用戶設備110可以是相同或不同類型的設備。例如,所有的用戶設備110可以是能夠由信號生成器120觸發以同時拍攝對象的視頻的智能攝像機。再如,用戶設備110可以是不同的設備,例如,分別是智能空調、智能空氣凈化器以及智能咖啡機等,并且這些不同的用戶設備110可以由信號生成器120同時開啟。[〇〇33]僅出于說明的目的,后續描述假設用戶設備110是能夠同時拍攝視頻的智能攝像機。本文所公開的攝像機可以是任意類型的圖像捕捉設備。例如,用戶設備110可以是運動攝像機、數字攝像機或者網絡攝像機。用戶設備110還可以嵌入到另一設備中,例如,智能電話、計算機、個人數字助理(PDA)、監視設備、視頻游戲控制臺等。[〇〇34]用戶設備110可以配置為以多種方式捕捉一個或多個圖像。例如,用戶設備110可以配置為通過編程、通過硬件設置或者通過其組合來捕捉用戶發起的圖像。在一些實施例中,當用戶設備110配置為通過軟件或硬件編程或通過硬件設置捕捉圖像時,可以在一個或多個預定條件下執行圖像捕捉。例如,用戶設備110可以響應于用戶操作,例如用戶按壓在信號生成器120上的控制按鈕,來捕捉圖像。備選地或附加地,一組預定條件(例如,感知移動對象)可以觸發用戶設備110來捕捉圖像。在一些實施例中,捕捉圖像可以包括用戶設備 110處于能夠捕捉一個或多個圖像的模式或設置中。如這里使用的,“圖像”可以局部或整體地指代靜態或動態視覺表示,包括但不限于,照片、圖片、圖形、視頻、全息圖、虛擬現實圖像、增強現實圖像、其它視覺表示或其組合。
[0035]信號生成器120配置為生成用于觸發在每個用戶設備110中的操作的觸發信號,從而同步一些或所有用戶設備110的操作。信號生成器120可以是專門設計為同步用戶設備 110的操作的獨立設備。備選地,信號生成器120可以是較大設備(例如,計算機、移動電話、 個人數字助理(PDA)、MP3(運動圖像專家組音頻層III)播放器、MP4播放器等)的一部分。信號生成器120可以包括用戶輸入設備,例如鍵盤、觸摸屏或支持用戶輸入的觸摸板。此外,可以通過硬件、軟件或硬件和軟件的組合來實現信號生成器120。[〇〇36]參考圖5,在一個示例性實施例中,信號生成器120可以是包括按鈕122的遠程控制設備。信號生成器120可以包括電路,該電路配置為通過生成觸發信號來觸發一個或多個用戶設備110的操作而響應用戶激活按鈕122。
[0037]有線連接(例如,通信電纜130)用于連接,并因此允許每個用戶設備110和信號生成器120之間進行雙向通信。在一個實施例中,用戶設備110可以包括接口,例如微型通用串行總線(USB)接口,其配置為接納通信電纜130。類似地,信號生成器120可以包括多個端口, 例如微型USB端口,從而通信電纜130可以使每個用戶設備110與信號生成器120連接。這樣, 信號生成器110可以將觸發信號發送給每個用戶設備,以同時觸發用戶設備110的特定操作。例如,觸發信號可以是能夠激活每個用戶設備110的傳感器的高電壓脈沖。有線連接能夠避免信號的額外轉變和轉換,并在一些應用中提供比無線連接更可靠的信號傳輸信道。 因此,通信電纜130能夠最小化信號時延和損失。[〇〇38]然而,在一些實施例中,信號生成器120還可以無線地將觸發信號發送到用戶設備 110。例如,每個用戶設備110可以包括紅外信號收發器、近場通信(NFC)信號收發器、藍牙天線和/或無線路由器,以便于在用戶設備110和信號生成器120之間的短程雙向通信。
[0039]圖6是根據不例性實施例的用戶設備110的框圖。參考圖6,用戶設備110可以包括傳感器210、晶體振蕩器220和控制器230。
[0040]傳感器210可以是圖像傳感器,例如電荷耦合器件(CXD)傳感器或者互補金屬氧化物半導體(CMOS)傳感器。傳感器210還可以包括以下中的任一種:光學設備、透鏡、(XD或 CMOS驅動電路,以及以及用于發送和接收各種波長的光的光學部件、電子部件和控制電路的其它布置。[〇〇41]傳感器210配置為將光信號(例如,光子)轉換為電子信號(例如,電子電荷)。傳感器210具有光電轉換表面(光接收表面),其中布置有形成像素矩陣的多個光檢測器。傳感器 210將入射光光電轉換為電荷,所述入射光通過用戶設備110的透鏡和光圈機構聚焦于光電轉換表面。傳感器210由驅動器驅動。根據從控制器230接收到的命令,通過傳感器驅動器來調整傳感器210的曝光時間(S卩,快門速度)。傳感器210將在像素中累積的電荷作為圖像信號通過可變增益放大器輸出到模擬-數字(A/D)轉換器。控制器230設置放大器的放大因子。 放大因子對應于ISO感光度(S卩,光敏度),例如,ISO 200、IS0 400、IS0 800或ISO 1600。八/1) 轉換器將放大后的圖像數據轉換為數字形式,并將數字數據發送給控制器230以供進一步處理。在本公開中,這一過程被稱作“捕捉圖像”或“捕捉幀”。
[0042]在視頻記錄模式或連續圖片記錄模式中,傳感器210可以配置為以各種分辨率和幀率捕捉圖像幀,例如,30fps下1296p的分辨率以及30fps或60fps下1080p的分辨率。傳感器210的幀率是傳感器210獲取圖像幀并隨后完全讀出圖像幀所需時間的倒數(inverse)。 傳感器210的讀出速率由數字化單個像素(S卩,將模擬信號轉換為數字信號)所需的時間進行決定,并定義為數字化時間的倒數。傳感器210的幀率并入了曝光時間,并將單個像素讀出速率擴展到整個像素陣列。
[0043]通過幀獲取時間和幀讀取時間的組合來確定幀率,所述時間中的每一個取決于特定于傳感器210的操作細節。在數量上,幀率可以表示為以下等式:
[0044]幀率=1/(幀獲取時間+幀讀取時間)(等式1)
[0045]通常,多個基本操作影響幀獲取和幀讀取時間間隔。可以通過但不限于以下項來確定幀獲取時間:1)在開始信號積分(即,曝光)之前,從每個像素清除電荷所需的時間;2) 快門打開時延;3)曝光時間;以及4)快門關閉時延。可以通過但不限于以下項確定幀讀取時間:每像素數字化時間乘以待讀取像素的個數。
[0046]特別地,在圖像獲取之前,傳感器210有必要清除像素矩陣中在曝光之前由于暗電流或其它電荷生成事件累積的電荷。在開始實際的幀積分之前消除在像素陣列中累積的任意電荷減少了圖像拖尾(image smear)的現象,并允許更精確地控制逐幀的曝光。
[0047]如從上可以看出的,在傳感器210捕捉第一幀之前,用戶設備110需要大量時間來準備幀捕捉。例如,用戶設備110需要執行一系列任務,包括調整焦點、設置閃光、設置圖像分辨率、測量和收集其它拍攝參數、以及選擇適當的快門持續時間和光圈開口。還例如,傳感器210需要在捕捉每個新的幀之前從每個像素清除殘留的電荷。僅在設置了所需的參數和清除了殘留的電荷之后,快門可以打開,并且傳感器210可以開始幀捕捉。
[0048]在傳感器210中清除殘留電荷以及讀取和設置拍攝參數所需的時間可以從幾十毫秒到長達幾秒的范圍。因此,在按壓快門按鈕和實際開始幀捕捉之間總是存在滯后。此外, 由于硬件差異,不同的用戶設備110可以具有不同的快門滯后。
[0049]與所公開的實施例一致,可以通過硬件設計縮短快門滯后,從而減少開始幀捕捉的同步誤差。例如,在同步成像模式中一般使用的拍攝參數可以保存在控制器230的緩沖器中,從而處理器可以容易地訪問參數。再如,可以將一些拍攝參數寫入到集成到傳感器210的固件中,以便減少在將參數提供給傳感器210時所涉及的時間。
[0050]如在方法1000(圖7)中更詳細描述的,還可以通過軟件設計來避免由快門滯后所引起同步誤差。例如,當接收觸發信號時,可以對用戶設備110進行編程以設置拍攝參數,并用預定的持續時間重置傳感器110,并啟動傳感器110來在預定持續時間末尾處捕捉第一幀 (BP,打開快門開始信號積分)。預定持續時間可以足夠長,以允許每個用戶設備110結束設置拍攝參數和重置傳感器110。這樣,在所有用戶設備110中的傳感器210可以同時開始幀捕捉。
[0051]晶體振蕩器220是電子振蕩器電路,其使用壓電材料的振動晶體(例如,石英晶體) 的機械共振來創建具有精確頻率的電信號。可以將由晶體振蕩器220生成的頻率供應給傳感器210和控制器230,以精確控制其操作。在示例性實施例中,為了確保多個用戶設備110 的精確同步,可以使用高精度晶體振蕩器,例如,具有百萬分之(ppm)五的頻率容差的晶體振蕩器。5ppm頻率容差對應于每秒5微秒的漂移。[〇〇52]實踐中,標記有5ppm的晶體振蕩器實際上可能具有稍不同于5ppm的頻率容差。這是因為制造變化和暴露于超容差條件(例如,機械沖擊)可能引起晶體振蕩器中永久的頻率誤差。另外,溫度、年限、濕度等的變化可能導致在晶體振蕩器中的短期誤差。例如,標記有 5ppm的五十個晶體振蕩器的實際頻率誤差可以形成以5ppm為中心的正態分布。[〇〇53]可以通過用戶設備110的改進的制造方法或對用戶設備110的硬件修改,來解決實際頻率容差中的這種差異。在一個實施例中,可以根據實際頻率容差,來測試和排序大量的 5ppm晶體振蕩器。晶體振蕩器還可以被劃分為若干組,每個組中的振蕩器具有小于lppm的差別。來自同一組的振蕩器隨后可以用于需要同步的用戶設備110上。例如,如果需要同步 16個用戶設備110,則可以根據實際頻率容差來測試和排序50個晶體振蕩器。然后可以選擇具有小于lppm差別的16個晶體振蕩器,并將其分別安裝在16個用戶設備110上。[〇〇54]在另一實施例中,可以使用晶體振蕩器來向需要同步的所有用戶設備110提供時鐘信號。例如,專用電路可以用于將晶體振蕩器連接到每個用戶設備110上,從而為每個用戶設備110提供相同的時鐘信號。
[0055]控制器230可以包括輸入/輸出(I/O)接口 232、處理單元234、存儲單元236和/或存儲器模塊238等。這些單元可以配置為在彼此之間轉移數據并發送或接收指令。
[0056] I/O接口 232可以配置為在控制器230和用戶設備110和其它設備的各種部件(例如,傳感器210和信號生成器120)之間進行雙向通信。例如,I/O接口232可以接收從信號生成器120傳送的觸發信號,并將該觸發信號中繼到處理單元234,以用于發起視頻捕捉。再如,I/O接口232可以接收由傳感器210生成的圖像數據,并將所述數據中繼到處理單元234 以進行編碼,或中繼到存儲單元236和/或存儲器模塊238以進行存儲。[〇〇57]可以通過以下項目實現處理單元234:—個或多個專用集成電路(ASIC)、數字信號處理器(DSP)、數字信號處理設備(DSPD)、可編程邏輯設備(PLD)、現場可編程門陣列 (FPGA)、控制器、微控制器、微處理器或其它電子部件。處理單元234可以根據本文描述的技術執行計算機指令(程序代碼)并執行功能。計算機指令包括例程、程序、對象、部件、數據結構、過程、模塊和函數,其執行本文描述的特定功能。[〇〇58]存儲單元236和/或存儲器模塊238中的每一個包括一個或多個存儲器,所述存儲器配置為存儲用于同步用戶設備110的指令和數據。可以利用以下項目實現存儲器:任何種類的易失性或非易失性存儲器設備或其組合,例如,靜態隨機存取存儲器(SRAM)、電可擦除可編程只讀存儲器(EEPROM)、可擦除可編程只讀存儲器(EPROM)、可編程只讀存儲器 (PROM)、只讀存儲器(ROM)、磁存儲器、閃存、或者磁盤或光盤。[〇〇59]存儲單元236和/或存儲器模塊238可以配置為存儲處理單元234用于執行用戶設備110的功能的計算機指令和數據。例如,存儲單元236和/或存儲器模塊238可以存儲同步應用,用于精確地控制收集和對幀數據編碼的定時。再如,存儲單元236和/或存儲器模塊 238可以存儲每個編碼的圖像幀,從而稍后可以將編碼的圖像幀與由其它用戶設備110生成的幀組合以形成全景。
[0060]圖7是根據示例性實施例的用于同步多個用戶設備的操作(也就是任務)的過程 1 〇〇〇的流程圖。例如,過程1 〇〇〇可以由控制器230執行。參考圖7,過程1000可以包括以下步驟。
[0061]在步驟1010中,控制器230在第一時間點接收第一觸發信號,并激活用戶設備110。 [〇〇62]在示例性實施例中,每個用戶設備110通過通信電纜130連接到信號生成器120。為了激活用戶設備110,用戶可以按壓信號生成器120的按鈕122。響應于用戶操作,信號生成器120可以將第一觸發信號發送到每個用戶設備110。
[0063]如果用戶設備110初始是關閉的或者處于空閑狀態,則第一觸發信號可以用于激活用戶設備110。在一個實施例中,用戶設備110的液晶顯示器(IXD)可以進入睡眠模式,并且當用戶設備110已經空閑了給定時間段時,用戶設備110可以掉電。當接收到第一觸發信號時,用戶設備110可以花費若干秒醒來和準備好拍攝圖像。[〇〇64]在接收到第一觸發信號之后,控制器230可以執行特定任務以準備圖像捕捉。例如,控制器230可以向緩沖器或存儲器模塊238加載拍攝參數和/或用于同步用戶設備110的指令,從而允許快速訪問所述參數和指令。[〇〇65]在步驟1020中,控制器230在第二時間點接收第二觸發信號并重置傳感器210。
[0066]在接收到第二觸發信號之前,傳感器220可以處于各種狀態。例如,傳感器220可以是活躍的,允許電荷連續填充像素。再如,傳感器210可以處于睡眠狀態,以幫助減少生熱并改善信噪比。類似于在攝像機上按壓“快門釋放”按鈕,第二觸發信號用于重置傳感器210并使其準備好捕捉新的幀。因此,當接收到第二觸發信號時,控制器230可以確保快門關閉并允許傳感器210清除任何殘留電荷。[〇〇67] 傳感器210的重置還要求控制器230設置用于傳感器210的拍攝參數。在一個實施例中,控制器130可以確定對于要成像的場景或主題合適的設置。基于所述確定,控制器230 可以調整用戶設備110的焦點和變焦,設置圖像質量,設置電子閃光的定時和持續時間,選擇適當的快門持續時間和光圈開口,和/或測量并收集其它拍攝參數。
[0068]例如,如果使用自動對焦模式,則控制器230可以確定自動對焦設置。控制器230隨后可以確定場景的白平衡-色彩校正。之后,控制器230可以計算并設置曝光。[〇〇69] 例如,控制器230可以設置用于傳感器210的適當幀率。如上所述,傳感器210的幀率由多種因素確定。例如,幀率部分由幀讀取時間所確定,而幀讀取時間是每像素數字化時間乘以將要讀取的像素數量的結果。如果將要讀取的像素數量變化,則幀讀取時間以及因此幀率也將變化。因此,通過不同的拍攝參數,傳感器210可以實現不同的幀率。例如,用戶設備11 〇可以以各種分辨率和幀率記錄視頻,例如1080p/30f ps、1080p/60f ps、960p/48f ps、720p/120fps、480p/240fps 等。
[0070]然而,為了同步在多個用戶設備110中的視頻記錄,期望在每個用戶設備110中的傳感器210以相同的操作參數工作,從而多個用戶設備110生成的幀可以組合。因此,控制器 230可以規定傳感器210的統一幀率。例如,如果在同步成像模式下1080p/30fps是用于傳感器210的分辨率和幀率,則控制器230可以為傳感器210設置1080p/30fps。[〇〇71]在步驟1030中,控制器230在第三時間點發起幀捕捉。
[0072]將第三時間點和第二時間點之間的差設置為預定值,該值足夠長從而允許所有用戶設備110完成重置各自的傳感器210。由于處理速度的多樣性,不同的用戶設備110可能花費不同的持續時間來重置各自的傳感器210。在用戶設備110完成清除各自傳感器210上的殘留電荷以及設置拍攝參數之后,用戶設備110可以將各自的傳感器110保持不活躍直到第三時間點。因此,在第三時間點之前,用戶設備110中具有較快處理速度的傳感器210可以更長時間保持不活躍。
[0073]在第三時間點,所有用戶設備110可以激活各自的傳感器210,并在同一時間開始幀捕捉。這樣,可以最小化跨所有用戶設備110的快門滯后的差別。具體地,每個控制器230 打開各自的快門并使得各自的傳感器210暴光。快門在再次關閉之前保持開啟達指定的曝光持續時間,允許傳感器210執行信號積分。積分的信號然后可以被讀出并發送到控制器 230。曝光和像素讀出周期可以以幀率重復以連續捕捉幀。將捕捉到的幀在被控制器230進一步處理之前保存到緩沖器(例如,存儲單元236和/或存儲器模塊238的一部分)中。[〇〇74]在步驟1040中,控制器230在第四時間點接收第三觸發信號,并確定用戶設備110 是否在執行先前發起的與同步成像操作無關的第二操作。
[0075]因為在接收觸發信號之前,用戶設備110可以同時運行多個過程,所以執行該第二操作。例如,用戶設備110可能正在運行應用以回放先前捕捉到的圖像。再如,用戶設備110 可以周期性監視和顯示剩余的電池電量。這些過程與同步成像操作無關,但是消耗控制器 230的計算能力,并因此可能減慢處理捕捉到的幀的速度。[〇〇76]在步驟1050中,如果用戶設備110正在執行第二操作,則控制器230停止執行第二操作,例如,通過掛起或終止第二操作。
[0077] “掛起”指的是控制器230在一段時間內臨時暫停執行程序的情況。當掛起程序時, 程序是“睡眠的”。所述程序不在中央處理單元(CPU)中運行,但是仍然存在存儲器中并且其操作狀態被存儲,從而程序可以在短時間內被“喚醒”以開始執行。相反,“終止”指的是控制器230使得程序完全“死亡”,從而程序被從CPU和存儲器中移除的情況。因此,如果程序被終止,則控制器230下次花費較長的時間來調用該程序。[〇〇78]通過掛起或終止第二操作,控制器230能夠將最大可用計算能力專用于處理由傳感器210捕捉到的幀,并因此可以最小化從接收到第三觸發信號的時間和開始編碼捕捉到的幀的時間起的延遲。通過減少該延遲,控制器230可以減少同步幀編碼的誤差。
[0079]在步驟1060中,控制器230在第五時間點發起幀編碼。
[0080]如在步驟1030中描述的,通過傳感器210捕捉到的幀保存在緩沖器中用于進一步處理。控制器230然后可以從緩沖器讀取捕捉到的幀,并對所述幀進行編碼以產生經處理的圖像。經處理的圖像可以是為在顯示器屏幕上顯示、為在存儲器中存儲等而格式化的圖像文件。在一個實施例中,控制器230可以執行編碼步驟,包括清除Bayer處理、去馬賽克等,以及壓縮以格式化圖像數據進行輸出。控制器230可以處理圖像數據以生成標準格式(例如 JPEG、PNG、TIFF、AVI或MPEG)的圖像或視頻文件。在一些實施例中,控制器230可以以傳感器 210所使用的幀率對幀進行編碼,從而能夠同步幀捕捉和編碼。
[0081]可以將所有用戶設備110編程為在第五時間點發起幀編碼。因為與同步成像操作無關的操作被掛起或終止(步驟1050),所以第五時間點和第四時間點之間的差可以設置地非常短,例如,幾毫秒。這樣,可以用該差限制在同步幀結束中的任何誤差。[〇〇82] 實踐中,雖然有重置傳感器210的同步機制(步驟1020-1030),但是不同的傳感器 210仍然可在不同時間點開始幀捕捉。考慮到這種可能性,可以將第五時間點和第三時間點很好地分離,以便最小化幀失配的風險。下面結合圖8解釋了該情形。圖8是根據示例性實施例的示出過程1000的實現的示意圖。參考圖8,重置用戶設備110a和110b中的傳感器210(下文中分別稱作傳感器210a和21 Ob),以在第三時間點時間To(例如,0ms)處發起幀捕捉,從而開始視頻捕捉。隨后,傳感器210a可以在每個時間點等處生成幀。并且傳感器210b 可以在每個時間點11、12、13處生成幀。此外,用戶設備110&和11013中的控制器230(下文分別稱作傳感器230a和230b)在每個時間點T1、T2、T3等處獲得并對幀編碼。這里,h是第五時間點,在此控制器230a和230b開始獲得并編碼分別由傳感器210a和210b生成的第一幀。 [〇〇83]實踐中,由于系統配置的差別,傳感器210a和210b可能分別在稍微不同的時間點 (即,ti和t’ 1)處生成第一幀。例如,ti = 10ms并且t’ i = 1 lms。如果兩個傳感器210a和210b都以30fps的幀率操作,則傳感器210a和210b中的每一個可以大約每33ms生成一幀。例如,傳感器210a和210b可以在大約t2 = 43ms和t’2 = 44ms處生成各自的第二幀。如果第五時間點Ti 設置在10.5ms處,則控制器230a將不能獲得和對傳感器210a生成的第一幀進行編碼。更糟的是,由于傳感器210a生成的第二幀實際上是控制器230a獲得和編碼的第一幀。傳感器 210a生成的第二幀將與傳感器210b生成的第一幀組合來形成全景。因此,導致幀失配。
[0084] 為了解決上述問題,可以將第五時間點^選為顯著不同于tdPt、的值,從而1^實際上不能落入到tdPt、之間。例如,如果試驗顯示“和丨^通常位于lOms-llms的范圍內,則可以將Ti設置為20ms。這可以防止控制器230忽略由對應傳感器210生成的第一幀。[〇〇85]在步驟1070中,控制器230在發起編碼幀之后恢復第二操作。
[0086]在開始幀編碼之后,控制器230的計算能力不再需要專用于確保準確發起編碼。因此,控制器230可以恢復先前掛起或終止的第二操作。[〇〇87]在步驟1080中,用戶設備110根據預定速率重復幀捕捉和編碼。[〇〇88] 這里,預定速率是傳感器210的幀率。例如,如果用于同步目的的幀率是30fps,則控制器230還可以根據30Hz的速率重復幀編碼。在示例性實施例中,為了在視頻捕捉的整個過程中確保幀同步,晶體振蕩器220的頻率可以用于防止用戶設備110的系統時鐘漂移。
[0089]總之,本公開提供了用于同步多個攝像機的成像過程的技術方案。首先,使用專用通信電纜來傳送觸發信號,從而最小化信號延遲和損失。例如,在有線連接中的信號傳輸可以限制到幾微秒,這使得可以將同步誤差減少到幾毫秒。
[0090]第二,每個攝像機的工作流被劃分成多個階段,包括攝像機激活、傳感器重置和幀編碼。每個階段被分別觸發和同步。在各階段之間允許足夠的時間來支持對下一階段的準備。這樣,可以改善同步的整體精度。
[0091]在一些實施例中,可以通過觸發信號攜帶的信息來區別不同階段的觸發信號。例如,可以用唯一識別符(UID)對觸發信號編碼。UID可以實現為不同的電壓電平。第一電壓電平可以用于識別攝像機的激活。第二電壓電平可以用于識別圖像傳感器的重置。第三電壓電平可以對應于幀編碼的開始。
[0092]第三,在傳感器重置階段,在公共時間點之前可以重置所有圖像傳感器,然后將其激活以在公共時間點處發起幀捕捉。因此,可以減少跨攝像機的快門滯后的差別。
[0093]第四,當接收到發起幀編碼的命令時,攝像機掛起或終止與成像過程無關的操作, 從而減少開始幀編碼的時延。此外,將幀編碼的定時與幀捕捉的定時很好地分離開,并因此可以最小化幀失配的風險。
[0094]第五,高精度的晶體振蕩器可以用于減小攝像機間的時鐘漂移。例如,可以從大量晶體振蕩器中通過測試和排序來選擇用于同步目的的晶體振蕩器。再例如,晶體振蕩器可以用于向所有攝像機提供時鐘信號。[〇〇95]雖然在此已經描述了說明性實施例,但是基于本公開本領域技術人員將理解,任意和所有實施例的范圍可以具有等同的元件、修改、省略、(例如,跨各個實施例的方面的) 組合、適配和/或改變。應基于權利要求中采用的語言對權利要求中的限定進行寬泛解釋, 而不應將其限制到在本說明書中描述的或在本申請審查期間的例子。所述例子將被解釋為非排它的。此外,可以以任何方式修改所公開的過程的步驟,包括通過重新排序步驟和/或插入或刪除步驟。因此,意圖將說明書和例子視為僅說明性的,真實的范圍和精神由所附權利要求及等同物的全部范圍表示。
【主權項】
1.一種第一設備的同步方法,包括:接收用于發起操作的信號;優先化用于所述操作的處理能力;以及 在接收到所述信號之后,在計算出的時間量處開始所述操作。2.根據權利要求1所述的方法,其中,所述第一設備經由有線連接接收信號。3.根據權利要求1所述的方法,其中:所述操作是第一操作;并且 優先化處理能力包括:響應于接收到所述信號,確定所述第一設備當前是否在執行第二操作;以及 如果所述第一設備當前在執行所述第二操作,則停止執行所述第二操作。4.根據權利要求3所述的方法,還包括:在開始所述第一操作之后,恢復所述第二操作。5.根據權利要求1所述的方法,其中,所述操作包括以預定速率對圖像幀進行編碼。6.根據權利要求5所述的方法,其中:所述信號是第一信號;所述計算出的時間量是第一時間量;以及 所述方法還包括:在接收所述第一信號之前,接收第二信號;響應于所述第二信號,重置所述第一設備的圖像傳感器;以及在接收到所述第二信號之后,控制所述圖像傳感器在第二時間量處開始捕捉圖像幀。7.根據權利要求6所述的方法,還包括:基于重置所述圖像傳感器所需的持續時間,計算所述第二時間量。8.根據權利要求7所述的方法,其中:由包括圖像傳感器的第二設備執行所述操作;所述方法用于同步在所述第一設備中和在所述第二設備中的操作;以及 所述第二時間量比第一和第二設備重置各自的圖像傳感器所需要的持續時間長。9.根據權利要求6所述的方法,其中,重置所述圖像傳感器包括:防止所述圖像傳感器在所述第二時間量期間捕捉圖像幀。10.根據權利要求6所述的方法,其中:在開始捕捉之后,控制所述圖像傳感器以預定速率捕捉圖像幀。11.根據權利要求10所述的方法,其中:由包括圖像傳感器的第二設備執行所述操作;所述方法用于同步在所述第一設備中和在所述第二設備中的操作;所述第一設備的圖像傳感器在時間點七和^生成兩個連續的圖像幀;所述第二設備的圖像傳感器在時間點七’和t2’生成兩個連續的圖像幀;以及 計算所述第一時間量,從而所述第一設備在時間點T處開始對圖像幀進行編碼,其中tK T〈t2且tl’〈T〈t2’。12.根據權利要求6所述的方法,還包括:在接收到所述第二信號之前,接收第三信號;以及響應于所述第三信號,激活所述第一設備。13.根據權利要求5所述的方法,其中:通過第二設備執行所述操作;所述方法用于同步在所述第一設備中和在所述第二設備中的操作;以及 所述第一和第二設備根據晶體振蕩器的頻率維持預定速率。14.第一設備,包括:存儲器,用于存儲指令;以及 處理器,被配置為執行所述指令,以:接收用于發起操作的信號;優先化用于所述操作的處理能力;以及 在接收到所述信號之后,在計算出的時間量處開始所述操作。15.根據權利要求14所述的第一設備,其中:所述操作是第一操作;并且所述處理器還被配置為執行指令,以:響應于接收到所述信號,確定所述第一設備當前是否在執行第二操作;以及 如果所述第一設備當前在執行所述第二操作,則停止執行所述第二操作。16.根據權利要求15所述的第一設備,其中,所述處理器還被配置為執行所述指令,以: 在開始所述第一操作之后,恢復所述第二操作。17.根據權利要求14所述的第一設備,其中,所述操作包括以預定速率對圖像幀進行編碼。18.根據權利要求17所述的第一設備,還包括:圖像傳感器;其中:所述信號是第一信號;所述計算出的時間量是第一時間量;以及 所述處理器還被配置為執行所述指令,以:在接收所述第一信號之前,接收第二信號;響應于所述第二信號,重置所述圖像傳感器;以及在接收到所述第二信號之后,控制所述圖像傳感器在第二時間量處開始捕捉圖像幀。19.根據權利要求18所述的第一設備,其中,所述處理器還被配置為執行所述指令,以: 基于重置所述圖像傳感器所需的持續時間,計算所述第二時間量。20.根據權利要求19所述的第一設備,其中:由包括圖像傳感器的第二設備執行所述操作;以及所述第二時間量比第一和第二設備重置各自的圖像傳感器所需要的持續時間長。21.根據權利要求18所述的第一設備,其中,所述處理器還被配置為執行所述指令,以: 防止所述圖像傳感器在所述第二時間量期間捕捉圖像幀。22.根據權利要求18所述的第一設備,其中,所述處理器還被配置為執行所述指令,以: 在開始捕捉之后,控制所述圖像傳感器以預定速率捕捉圖像幀。23.根據權利要求18所述的第一設備,其中:由包括圖像傳感器的第二設備執行所述操作;所述第一設備的圖像傳感器在時間點七和^生成兩個連續的圖像幀;所述第二設備的圖像傳感器在時間點七’和t2’生成兩個連續的圖像幀;以及 所述處理器還被配置為執行所述指令,以:計算所述第一時間量,從而所述第一設備在時間點T處開始對圖像幀進行編碼,其中tK T〈t2且tl’〈T〈t2’。24.—種同步系統,包括:信號生成器;以及通信地連接到所述信號生成器的多個設備;其中:所述信號生成器被配置為響應于用戶輸入而將信號發送給設備;以及所述設備被配置 為:接收信號;優先化用于操作的處理能力;以及在接收到所述信號之后,在計算出的時間量處開始所述操作。25.根據權利要24所述的系統,其中,所述設備經由有線連接連接到所述信號生成器。26.根據權利要求24所述的系統,其中:所述系統還包括通信地連接到多個設備的晶體振蕩器;以及 其中,所述設備還被配置為:根據所述晶體振蕩器的頻率,執行所述操作。27.根據權利要求24所述的系統,其中:所述設備包括具有指定頻率容差的晶體振蕩器;以及 所述晶體振蕩器的實際頻率容差間的差別小于預定閾值。
【文檔編號】H04N13/02GK105979159SQ201610578584
【公開日】2016年9月28日
【申請日】2016年7月21日
【發明人】和超
【申請人】上海云蟻科技有限公司