專利名稱:全景圖像的實時預覽的制作方法
全景圖像的實時預覽背景技術領域本方面涉及全景圖像的構建,尤其涉及在捕獲構建全景圖像時所用的圖像期 間向用戶提供實時交互輔助的諸如靜態數碼相機或數碼攝像機的圖像捕捉設備。相關技術一般而言,馬賽克全景圖像是通過結合多個重疊的圖像幀來在一個或多個維 度擴展以生成全景的圖像。結果,全景圖像通常大于常規圖像捕捉設備(諸如靜態 數碼相機或數碼攝像機)能夠在單個圖像幀中捕捉的尺寸。己經開發了許多用以生成這種全景圖像的常規技術。例如,基本方法是簡單 地拍攝多個規則圖片或視頻圖像以便覆蓋整個所需査看空間。然后,使用許多常規 圖像"馬賽克"或"拼接(stitch)"算法中的任一種將這些圖像對齊并合成為完整 的全景圖像。早期拼接方案通常要求小心控制相機的運動以便得到圖像之間的已知重疊。 然而,最近的拼接方案允許用戶如此拍攝照片用以任意次序拍攝的圖片來覆蓋隨 機的2D場。在任一情形中,如本領域技術人員所公知的,這種系統通常攝取由靜 態數碼相機或數碼攝像機捕捉的一組圖像并對這些圖像進行后處理操作,包括例如對齊、合成、去重影(deghost)、重疊區域混合、自動調節色彩、亮度、對比度等以生成馬賽克圖像,然后這些圖像通常被剪切成矩形區域或幀以創建最終的全景圖 像。然而,這種圖像后處理的一個問題是用戶一直無法確切地知道已經達到足夠 的場景覆蓋來確保可從所捕捉的圖像幀集構建所需全景直至隨后實際生成全景。結 果,用戶很難看到"大畫面"。具體而言,使用常規圖像拼接方案,直到從相機向計算設備(諸如PC型計算 機等)上傳圖像時用戶才能發現結果全景有缺陷。例如,如果用戶錯過一個或多個 點則在全景中出現間隙。如果由于例如圖片之間重疊太少、缺乏紋理、圖像聚焦問題(圖像過于模糊)等,拼接程序無法將一個或多個所捕捉的圖像插入到全景中則 也將出現間隙。此外,雖然全景邊緣處的間隙可通過剪切全景來消除,但是這會導 致剪切邊緣以外的其它所需圖像元素丟失。在最壞的情形中,原本希望單個全景, 卻最終得到總圖像的多個不能連接(以及不規則形狀)塊。常規后處理方法的另一問題涉及"重影"問題,其中在為全景拍攝圖像時物 體在幀拍攝期間發生運動。雖然用戶能夠用取景器標識圖片中的缺陷(例如散焦) 并重新拍攝,但是照相之間的諸如重影或燈光不同等缺陷很難在拍攝時發現。遺憾 的是,在用戶注意到這種缺陷時,對重新拍攝缺少或缺陷圖像幀來說通常都太晚了。用戶可通過在圖像之間使用更大的重疊并通過對易于重影的區域拍攝多個副 本來減小諸如間隙的缺陷的風險。然而,這種基于冗余的方法在時間上、尤其在存 儲空間(隨著拍攝更多圖片)上是昂貴的,并且這并不能確保成功生成結果全景圖 像。至少一個常規方案部分地解決了這些問題中的一些。例如, 一種稱為"VideoBrushW"的常規方案提供了對從由數碼攝像機捕捉的圖像所構建的全景圖 像的近實時預覽。然而,VideoBrushTM系統只支持平移運動,而不支持全視圖的全 景。具體而言,VideoBrush"^系統提供使用參數來對齊1D和2D視頻馬賽克的技 術,它包括用近似固定的相機位置捕捉視頻,或任意運動的相機捕捉近似平坦的場 景。此外,諸如由VideoBrush,提供的系統的另一問題是它們不對問題提供顯式 指示,這些問題諸如所需場景元件是否在剪切成常規矩形格式中保留或者結果全景 是否存在重影。類似地,某些數字消費相機提供"拼接輔助模式"之類,其中LCD (或其它 電子顯示)示出相機"取景器"和拍攝來作為視覺參考的上一幀的一部分。例如, 諸如"佳能PowershotS230"的數碼相機提供近似1D的全景拼接輔助,它需要用 戶對準相機使得取景器與在取景器的子區域中顯示的參考圖像(通常是所捕捉的上 一圖像)成一條直線。然后,最新幀成為下一次拍攝的參考,依此類推。該方法通 過保證恰當重疊量來確保成功拼接。而且,幀之間的已知空間關系可簡化使用分離 計算設備進行的最終的事后拼接。遺憾的是,由這種相機提供的方法在若干方面受限。首先,這種方法不能很 好地擴展到2D全景。具體而言,即使用戶選擇圖像之間它們移動所沿的連接方向, 通過在行中來回刷而拍攝較大的2D圖像只能確保前趨圖像和后續圖像之間的連接 性,而非行自身之間的連接性。第二,這些方法不能保證所需場景元素免于剪切。第三,這些方法往往限制了用戶的自由,因為用戶需要一直關注相機的LCD顯示。 此外,諸如重影和聚焦的問題并未被這種系統完全解決。"HP PhotosmartR707"相機提供類似系統,該相機提供類似于上述"佳能 PowershotS230"的拼接輔助模式,所以拍攝全景圖片受到同樣的限制。然而,此 外,諸如HP Photosmart R707的相機允許用戶以回放方式在相機LCD屏幕上預覽 整個全景。這允許用戶在現場時查看缺陷。遺憾的是,修復這些缺陷仍需要用戶重 新拍攝整個全景,因為不能向現有全景插入圖像來修復任何已標識的缺陷。概述提供本概述來以簡化形式引入在以下詳細描述中進一步描述的概念精選。本 概述并非旨在標識所要求保護主題的關鍵特征或本質特征,也非旨在用于幫助確定 所要求保護主題的范圍。如本文所述的"全景取景器"以交互式取景器顯示的形式提供用于捕捉在從 場景圖像集構建全景馬賽克圖像期間使用的圖像的直觀界面。 一般而言,全景取景 器的交互式取景器顯示在靜態數碼相機或數碼攝像機的取景器顯示屏幕上操作,以 在捕捉構建馬賽克圖像中使用的圖像時向用戶提供實時交互輔助。更具體而言,全 景取景器允許用戶以任何次序"刷(brush)"場景的全景圖像,同時向用戶提供視 覺反饋,以幫助用戶確保所需場景元素出現在最終全景圖像上。特別地,全景取景器的交互式取景器顯示為全景構建提供交互式系統,該系 統在拍攝圖像時向用戶提供全景的拼接預覽。全景取景器的經測試的實施方式在圖 像捕捉設備上提供取景器顯示,該圖像捕捉設備被更改成包括組合起來允許用戶捕 捉完成期望全景所需的確切的那些場景片而無需再次拍攝已經覆蓋的區域(除非需 要)的獨特界面組件集合。 一般而言,這些界面元件包括"馬賽克預覽";表示相 機取景器的"當前內容"的實況顯示窗口;以及重疊到馬賽克預覽上的全景"剪切 框"。整體馬賽克預覽通常提供可從對當前全景捕捉的所有圖像構建的拼接圖像的 預覽。該整體馬賽克預覽未被剪切成矩形區域,但取而代之示出可從已由相機捕捉 的圖像集構建的馬賽克圖像的全部范圍。在不同實施方式中,這些馬賽克預覽圖像 的部分被著重,或以其它方式更改以提醒用戶在該馬賽克中將在最終全景圖像中明 顯的潛在問題,例如該馬賽克中的重影、聚焦問題或間隙。此外,在附加實施方式 中,由于馬賽克預覽圖像相對于單個圖像幀的尺寸變得越來越大,可相對于取景器顯示的當前內容顯示窗口對馬賽克預覽圖像進行縮放、搖攝(pan)或變焦(zoom)。 "當前內容"顯示窗口基本上是整體相機顯示窗口的動態子區域。 一般而言, 當前顯示窗口是表示下次將要捕捉的圖像的顯示的實況窗口,類似于常規數碼相機 的LCD "取景器"顯示。然而,與常規數碼相機的取景器顯示不同,該實況當前 內容窗口在它可被自動映射到整體馬賽克預覽圖像內的匹配位置這方面上是動態 的。結果,用戶可立即查看當前圖像安置于現有整體馬賽克的何處。此外,因為取 景器的當前內容被顯示在該實況動態窗口中,所以它向用戶提供參考系統并幫助它 們將相機對準所需全景的未覆蓋區域。還應該注意,在不同實施方式中,"馬賽克 預覽"和"當前內容"窗口之一或兩者可進行縮放以更好地適合于數碼相機的整體 取景器顯示窗口。最終,上述全景"剪切框"只是在"馬賽克預覽"內被著重的矩形區域。一 般而言,該剪切框表明將從馬賽克圖像剪切一矩形而得到的內容。隨后,該剪切框 向用戶示出那些場景元素將在剪切成矩形之后出現在最終圖像中。此外,該剪切框 在它自動移動、縮放和調節(在X和Y軸上)成可從現有馬賽克預覽圖像剪切的 最大可能矩形尺寸這方面上是動態的。在以上概述的觀點中,清楚的是本文所述的全景取景器提供了一種用于使用 數碼相機生成場景的馬賽克全景圖像的獨特系統和方法。除了所述的優點之外,全 景取景器的其它優點將在結合附圖的同時從下文的詳細描述中變得顯而易見。附圖描述本專利的文件包含至少一幅彩色附圖。本專利的帶有彩色附圖的副本在請求 以及必要費用繳納下由專利商標局提供。參照以下描述、所附權利要求和附圖,本方面的具體特征、方面和優點將得 到更好的理解,在附圖中
圖1是示出構成用于實現如本文所述的全景取景器的示例性系統的通用計算 設備的通用系統示圖。圖2是示出具有簡化的計算和I/0能力以與數碼相機或其它圖像輸入源一起使 用來實現本文所述的全景取景器的通用計算設備的通用系統示圖。圖3是示出具有集成的計算和I/O能力以及集成顯示屏的、用于實現如本文所 述的全景取景器的數碼相機的通用系統示圖。圖4是三個圖片的序列,示出A)華盛頓州西雅圖市區地平線的圖像集的拼接馬賽克;B)拼接馬賽克的矩形剪切中的間隙;以及C)示出因拼接馬賽克中的間隙而丟失所需內容(西雅圖"SpaceNeedle (太空針塔)"的頂部被剪切)的最終剪 切全景圖像。圖5示出表示用于實現如本文所述的全景取景器的示例性程序模塊的示例性 架構系統示圖。圖6示出在用于實現本文所述的全景取景器的嵌入到數碼相機中的示例性用 戶界面,其中用戶界面示出集成LCD顯示、"馬賽克預覽"、表示相機取景器的"當 前內容"的實況顯示窗口以及任選全景"剪切框"。圖7示出圖6的LCD顯示的更大示圖,示出馬賽克預覽、相機取景器的當前 內容窗口和全景剪切框。圖8是在其上實現全景取景器的顯示裝置的四張圖片序列,示出A)第一捕捉場景圖像;B)附加場景圖像的捕捉、可視剪切框和相機取景器的當前內容窗口;c)附加場景圖像的捕捉、可視剪切框和相機取景器的當前內容窗口 (其中當前內容 窗口巻曲以反映當前圖像相對于其結合到馬賽克預覽中的巻曲);以及D)附加場景 圖像的捕捉,可視剪切框以及相機取景器的當前內容窗口 (其中當前內容窗口巻曲 以反映當前圖像相對于其結合到馬賽克預覽中的巻曲)。圖9示出基于圖8的圖像(D)所示的全景預覽和剪切框所構建的最終剪切全 景圖像。圖IOA是在其上實現全景取景器的顯示裝置的十二張圖片序列,示出圖像集 的連續捕捉、相應馬賽克預覽的增加、以及相機取景器的當前內容窗口的動態映射。圖IOB是圖IOA的四張圖像的子集,示出全景取景器的不同實施方式,包括 使用剪切框、以及對馬賽克預覽和相機取景器的當前內容窗口中處于剪切框范圍外 的區域進行弱化。圖11示出從場景圖像集生成360度柱面全景馬賽克預覽。圖12示出其中可向用戶標識拼接失敗(當前圖像相對于現有馬賽克的跟蹤丟 失)的全景取景器的實施方式。詳細描述在以下本方面的較佳實施方式的描述中,對作為其一部分的附圖進行參考, 在這些附圖中作為說明示出了實施本方面的具體實施方式
。應該理解,可以使用其 它實施方式,且可作出結構變化而不背離本方面的范圍。1.0示例性操作環境-圖1、圖2和圖3示出可在其上實現如本文所述的"全景取景器"的各種實施 方式和元件的合適計算環境的各個示例。例如,圖1示出通用計算系統環境100的示例。計算系統環境100只是合適計算環境的一個示例,并不旨在對本方面的使用范圍和功能作出任何限制。計算環境100不應解釋為具有相關于在示例性操作環境100中示出的組件中任一個或組合 的任何依賴性或要求。本方面可與許多其它通用或專用計算系統環境或配置一起使用。適用于本發明的公知計算系統環境和/或配置包括,但不限于個人計算機、服務器計算機、手持式設備、膝上型或移動計算機、或諸如蜂窩式電話和PDA的通信設備、多處 理器系統、基于微處理器的系統、機頂盒、可編程消費電子產品、網絡PC、微型 計算機、大型計算機、包括以上系統或設備中任一種的分布式計算環境等。本發明可在可由計算機執行的諸如程序模塊的計算機可執行指令結合包括麥 克風陣列198的組件的硬件模塊的一般上下文中描述。通常程序模塊包括執行特定 任務或實現特定抽象數據類型的例程、程序、對象、組件、數據結構等。本發明還 可在分布式計算環境中實踐,其中由通過通信網絡鏈接的遠程處理設備來執行任 務。在分布式計算環境中,程序模塊可位于包括存儲器存儲設備的本地和遠程計算 機存儲介質中。參照圖l,用于實現本發明的示例性系統包括計算機110形式的通 用計算設備。計算機110的組件可包括但不限于處理單元120、系統存儲器130以及將包 括系統存儲器在內的各種系統組件耦合到處理單元120的系統總線121。系統總線 121可以是若干類型總線結構中的任一種,這些總線結構包括存儲器總線或存儲器 控制器、外圍總線和使用各種總線架構中任一種的局域總線。作為示例而非限制, 這種架構包括工業標準架構(ISA)總線、微信道架構(MCA)總線、增強型ISA (EISA)總線、視頻電子技術標準協會(VESA)局域總線以及也被稱為Mezzanine 總線的外圍組件互連(PCI)總線。計算機110通常包括各種計算機可讀介質。計算機可讀介質可以是可由計算 機110訪問的任何可用介質,并且包括易失性和非易失性介質、可移動和不可移動 介質。作為示例而非限制,計算機可讀介質包括計算機存儲介質和通信介質。計算 機存儲介質包括以任何方法或技術實現的用于存儲諸如計算機可讀指令、數據結構、程序模塊或其它數據的信息的易失性和非易失性、可移動和不可移動介質。計算機存儲介質包括但不限于RAM、 ROM、 EPROM、閃存或其它存儲技 術;CD-ROM、數字多功能盤(DVD)或其它光盤存儲;盒式磁帶、磁帶、磁盤 存儲或其它磁性存儲設備;或可用于存儲所需信息并可由計算機110訪問的任何其 它介質。通信介質通常具體化為諸如載波或其它傳輸機制等的調制數據信號中的計 算機可讀指令、數據結構、程序模塊或其它數據,并包括任何信息傳輸介質。術語 "已調制數據信號"表示以在信號中編碼信息的方式設置或改變其一個或多個特征 的信號。作為示例而非限制,通信介質包括諸如有線網絡或直接接線連接的有線介 質,以及諸如聲學、RF、紅外線的無線介質和其它無線介質的無線介質。以上中 任一個的組合也應包含在計算機可讀介質的范圍內。系統存儲器130包括諸如只讀存儲器(ROM) 131和隨機存取存儲器(RAM) 132的易失性和/或非易失性存儲器形式的計算機存儲介質。包含在諸如啟動期間幫 助在計算機110內元件之間傳遞信息的基本例程的基本輸入/輸出系統133 (BIOS) 通常存儲在ROM 131中。RAM 132通常包含可由處理單元120即時訪問和/或正 在其上操作的數據和/或程序模塊。作為示例而非限制,圖1示出操作系統134、應 用程序135、其它程序模塊136和程序數據137。計算機110還可包括其它可移動/不可移動、易失性/非易失性計算機存儲介質。 僅作為示例,圖l示出向不可移動、非易失性磁性介質讀寫的硬盤驅動器141、向 可移動、非易失性磁盤152讀寫的磁盤驅動器151、和向諸如CD ROM或其它光 學介質的可移動、非易失性光盤156讀寫的光盤驅動器155。可用于示例性操作環 境的其它可移動/不可移動、易失性/非易失性計算機存儲介質包括但不限于磁帶 盒、閃存卡、數字多功能盤、數字錄像帶、固態RAM、固態ROM等。硬盤驅動 器141通常經由諸如接口 140等的不可移動存儲器接口連接到系統總線121,而磁 盤驅動器151和光盤驅動器155則通常經由諸如接口 150的可移動存儲器接口連接 至系統總線121。以上描述和圖1中示出的驅動器及其關聯計算機存儲介質為計算機110提供 了計算機可讀指令、數據結構、程序模塊和其它數據的存儲。例如在圖1中,硬盤 驅動器141被示為存儲操作系統144、應用程序145、其它程序模塊146和程序數 據147。注意,這些組件可與操作系統134、應用程序135、其它程序模塊136和 程序數據137相同或不同。在此為操作系統144、應用程序145、其它程序模塊146 和程序數據147被賦予不同的附圖標記至少說明它們是不同的副本。用戶可通過諸如鍵盤162和定點設備161 (通常指的是鼠標、跟蹤球或觸摸墊)的輸入設備向計 算機110輸入命令和信息。其它輸入設備(未示出)可包括操縱桿、游戲墊、圓盤式衛星天線、掃描儀、 無線電接收機和電視或廣播視頻接收器等。這些和其它輸入設備通常經由耦合至系統總線121的有線或無線用戶輸入接口 160連接到處理單元120,但是也可通過諸 如并行端口、游戲端口、通用串行總線(USB)、 IEEE 1394接口、 BluetoothTM無 線接口、 IEEE 802.11無線接口等其它常規接口和總線結構連接。此外計算機110 還可包括經由音頻接口 199鏈接的諸如麥克風或麥克風陣列198的話音或音頻輸入 設備,以及揚聲器197或其它聲音輸出設備,音頻接口可包括諸如并行、串行、 USB、正EE 1394、 Bluetooth 等常規的有線或無線接口 。監視器191或其它類型的顯示設備也可經由諸如視頻接口 190的接口連接到 系統總線121。除了監視器191之外,計算機還可包括可以通過輸出外圍接口 195 連接的諸如打印機196的其它外圍輸出設備。此外,計算機IIO還可包括作為輸入設備的能夠捕捉圖像序列193的相機192(諸如數字/電子靜態相機或數碼攝像機,或者膠片/照片掃描儀)。此外,雖然只 示出一個相機192,但是多個不同類型的相機可作為輸入設備包括在計算機110中。 多個相機的使用提供同時或連續捕捉多個圖像視圖的能力、捕捉三維或深度圖像的 能力、或捕捉全景的場景圖像的能力。可經由使用包括例如USB、 IEEE 1394、 Blueto0th 、 IEEE 802.11等的常規有線或無線接口的適當相機接口 194將來自一 個或多個相機192的圖像193輸入到計算機110。該接口連接于系統總線121,由 此允許圖像193被路由并存儲到RAM 132中,或者與計算機110相關聯的其它上 述數據存儲設備中。然而,注意,也可將預先存儲的圖像數據從上述計算機可讀介 質的任一種輸入到計算機110中而無需直接使用相機192。計算機110可在使用到一個或多個諸如遠程計算機180的遠程計算機的邏輯 連接的網絡化環境中操作。遠程計算機180可以是個人計算機、服務器、路由器、 網絡PC、對等設備或其它公共網絡節點,并且通常包括以上相關于計算機110描 述的元件中多個或全部,但是在圖1中僅僅示出了存儲器存儲設備181。在圖1中 所示的邏輯連接包括局域網(LAN) 171和廣域網(WAN) 173,但是也可以包括 其它網絡。這種網絡環境在辦公室、企業內部計算機網絡、內聯網和因特網中十分 常見。當在LAN網絡環境中使用時,計算機110通過網絡接口或適配器170連接到LAN 171。當在WAN網絡環境中使用時,計算機110通常包括調制解調器172或 用于在諸如因特網的WAN 173上建立通信的其它裝置。或為內置或為外置的調制 解調器172可經由用戶輸入接口 160或其它適當機制連接到系統總線121。在網絡 化環境中,相關于計算機UO描述的程序模塊或其部分可存儲在遠程存儲器存儲設 備中。作為示例而非限制,圖1示出駐留在存儲器設備181上的遠程應用程序185。 應該理解,所示網絡連接是示例性的,且可以使用在計算機之間建立通信鏈路的其 它裝置。參照圖2,該圖示出描繪耦合于數碼相機的簡化計算設備的通用系統示圖。這 種計算設備通常可在與通信接口結合的具有至少一些最小計算能力的設備中找到。適用于本發明的公知的簡化計算系統、環境、和/或配置的示例包括,但不限于 手持式、膝上型或移動計算機、諸如蜂窩電話和PDA的通信設備等。應該注意,圖2中虛線表示的任何框表示簡化計算設備的替換實施方式,如 本文所述,并且以下描述的這些替換實施方式的任一個或全部可與在本文檔中描述 的其它替換實施方式結合使用。至少,為了使計算設備能夠實現"全景取景器"(如以下進一步詳細描述), 計算設備200必需具有最小計算能力以及用于連接數碼相機2^)或其它圖像輸入源 的有線或無線接口 240。特別地,如圖2所示,計算設備200的計算能力通常由處理單元210 (與以上 關于圖1描述的處理單元120大致類似)和系統存儲器220示出。注意,與圖1 的通用計算設備的處理單元120不同,圖2所示的處理單元210可能是諸如DSP、 VLIW處理器或其它微控制器的專用(和不昂貴)的微處理器而非如上所述的PC 型計算機的通用處理單元等。此外,圖2的簡化計算設備200還可包括其它組件,諸如一個或多個輸入設 備240 (與相關于圖l所述的輸入設備類似)的連接。圖2的簡化計算設備還可包 括其它任選組件,諸如一個或多個輸出設備250 (與相關于圖l所述的輸出設備類 似),諸如外部顯示設備280。最后,圖2的簡化計算設備還可分別包括可移動和/ 或不可移動存儲260和270 (與相關于圖1所述的存儲設備類似)。最后,參照圖3,該圖是示出具有集成計算340和I/O能力345以及諸如LCD 屏幕的顯示裝置310的用于實現如本文所述的全景取景器的數碼相機300的通用系 統示圖。一般而言,如本領域技術人員所公知的,常規數碼相機包括諸如以上所述的那些組件(例如I/O、計算和顯示),以及或為可移動325或為不可移動330的相 機存儲器320。這種相機還包括透鏡305和一個或多個控件315的集合。此外,如 相關于圖2所描述的簡化計算設備,數碼相機的計算能力340可用諸如DSP、VLIW 處理器或其它微控制器等價格低廉的專用處理器而非以上參照圖1所述的PC型計 算機的通用處理器單元等來實現。如以下進一步詳細描述的,這些組件可結合使用, 以在獨立數碼相機中實現全景取景器的功能。現已經討論了示例性計算環境,本描述的剩余部分將致力于體現"全景取景 器"的程序模塊和例程的討論。2.0艇如本文所述的"全景取景器"提供用于捕捉要在從場景圖像集構建全景馬賽 克圖像時使用的圖像的交互式取景器顯示形式的直觀界面。 一般而言,全景取景器 的交互式取景器顯示在靜態數碼相機或數碼攝像機(或圖像捕捉設備)的取景器顯 示屏幕上操作,以在捕捉用以構建全景圖像的圖像時向用戶提供輔助。此外,在附加實施方式中,全景取景器的交互式取景器顯示在直接耦合到數 碼相機或經由分離計算設備耦合到數碼相機的外部顯示設備上實現。然而,在這些 情形的每個中,本文所述的全景取景器以實質上相同的方式操作。因此,雖然全景 取景器在本文中一般描述為在數碼相機中實現,但是應該理解,本文提供的全景取 景器的細節描述同樣可用于涉及外部顯示設備和/或外部計算設備的附加實施方 式。2.1系統總覽如上所述,本文所述的全景取景器提供用于捕捉在從場景圖像集構建全景圖 像時使用的圖像的交互式取景器顯示形式的直觀界面。一般而言,全景取景器允許用戶以任何次序"刷"全景場景圖像,同時向用 戶提供視覺反饋以幫助用戶確保所需場景元素將出現在最終全景圖像中。該視覺反 饋通過在拍攝將用于構建全景的場景圖像時向用戶呈現全景的實時拼接預覽來提 供。由全景取景器所提供的取景器顯示向圖像捕捉設備提供使用戶能夠捕捉完成期 望全景所需的那些確切場景塊而無需重新拍攝已覆蓋的區域(除非需要)的獨特能 力。嵌入到全景取景器中的界面組件包括呈現所捕捉圖像的拼接馬賽克預覽的"馬賽克預覽";展現相機取景器的"當前內容"的實況顯示窗口,該窗口被映射 到馬賽克預覽中的匹配位置;以及重疊在馬賽克預覽上、示出馬賽克的將免于馬賽 克矩形剪切的部分的任選全景"剪切框"或"剪切窗"。一般而言,整體馬賽克預覽通常提供可從對當前全景捕捉的所有圖像構建的 拼接圖像的預覽。該整體馬賽克預覽不被剪切成矩形區域,而是相反示出可從已由 相機捕捉的圖像集構建的馬賽克圖像的整個范圍。更具體地,馬賽克預覽是在用戶拍攝全景時從由用戶捕捉的圖像構建的馬賽 克的實況、實時預覽。如在數碼相機中所實現的,相機的內建LCD屏幕會示出當 前完成狀態下的全景預覽。該預覽通過在用戶拍攝這些圖像時將照片或視頻英尺數 編譯成單個工作中全景圖片來產生(關于圖像拼接的細節參見3.3節)。在各種實施方式中,該馬賽克預覽圖像的部分被著重,或者以其它方式更改 以提醒用戶將在最終全景圖像中明顯的潛在問題,諸如馬賽克中的重影、聚焦問題 或間隙。此外,在附加實施方式中,隨著馬賽克預覽圖像相對于單個圖像幀的尺寸 變得越來越大,可對馬賽克預覽圖像進行縮放、搖攝或變焦以允許用戶查看馬賽克 預覽以及取景器的當前內容顯示窗口。上述"當前內容"顯示窗口基本上是整體相機顯示屏幕的動態子區域。 一般 而言,當前顯示窗口是表示接下來捕捉什么圖像的顯示的實況窗口,這類似于與常 規數碼相機的LCD "取景器"顯示。然而,與常規數碼相機的取景器顯示不同, 該實況當前內容窗口在它被自動映射到整體馬賽克預覽圖像中的匹配位置這方面 上是動態的。結果,用戶可立即查看當前圖像安置于現有整體馬賽克的何處。在一 實施方式中,如3節中進一步詳細描述的,相對于馬賽克預覽將當前內容窗口著重, 使得新圖像安置于現有馬賽克的何處對用戶更加即時地顯而易見。此外,因為取景器的當前內容顯示在該實況動態窗口中,所以它向用戶提供 幫助它們將相機對準所需全景的未覆蓋區域的參考系統。還應該注意,在各個實施 方式中,"當前內容"窗口可與馬賽克預覽一起縮放以在數碼相機的整體顯示中更 好地適應。最后,上述全景"剪切框"只是在"馬賽克預覽"中被著重的矩形區域。一 般而言,該剪切幀簡單地指示將從馬賽克圖像的矩形剪切中得到的內容。特別地, 如本領域技術人員所公知的,由于各個圖像片段之間的可能錯位以及由于常規圖像 拼接期間發生的變形,原始全景常常是"流蘇狀(fringy)"的。因此,為了獲得無 流蘇的矩形輸出圖像,在一實施方式中,全景取景器將全景自動剪切成由圖像(或圖像片段)覆蓋的最大可能矩形區域。該矩形區域的內容預覽由剪切框向用戶示出。 一般而言,剪切框向用戶示出哪些場景元素將在其被剪切成矩形形狀之后落在最終圖像中。此外,該剪切框在它自動移動、縮放和調節(在X和Y軸上)成 可從現有馬賽克預覽圖像剪切的最大可能矩形尺寸這方面是動態的。應該注意,因 為剪切框是動態的,所以這意味著該剪切框并不在用戶的直接控制下。相反,用戶 通過他們拍攝的圖像材料間接地控制剪切框。這種特征的一個優點是用戶在構建全 景圖像中的體驗通過復雜程度大大減少的用戶界面而得以改進。例如,圖4提供三個圖片的序列,示出A)華盛頓州西雅圖市區地平線的圖 像集的拼接馬賽克400; B)拼接馬賽克的矩形剪切420中的間隙410和415;以及 C)示出因拼接馬賽克中的間隙而丟失所需內容430 (西雅圖"Space Needle (太空 針塔)"的頂部被剪切)的最終剪切全景圖像430。這是未向用戶提供最終全景會 包含哪些的向導的情況下實現的典型結果,但是用戶仍有機會捕捉附加圖像。特別 地,當使用剪切框作為實時馬賽克預覽上的覆蓋時,用戶可立即發現在馬賽克的矩 形剪切之后會損失信息(諸如"太空針塔")。因此,用戶有機會填充馬賽克中由剪 切框示出的間隙(通過簡單地捕捉附加圖像),以避免所需圖像內容的這種丟失。在另一實施方式中,馬賽克預覽中處于剪切框外的區域被弱化(諸如通過降 低剪切框外區域的亮度)。馬賽克預覽的所選部分的弱化可用于著重馬賽克預覽圖 像中將在最終馬賽克圖像的矩形剪切之后被保留的部分。在全景取景器的已測試的實施方式中,用戶與全景取景器的交互被設計成以 與常規數碼相機的正常使用一致的方式操作。例如,在全景取景器的一實施方式中, 用戶通過拍攝第一圖像來以相機的正常照片模式啟動,相機LCD示出取景器所看 到的,并且用戶一按快門按鈕就捕捉該圖像。然后, 一旦用戶決定以全景形式包括 附加場景元件,則用戶通過使用相機控件選擇"全景模式"等。 一旦該全景模式被 選擇,則所捕捉的任何附加圖像被自動包括在馬賽克預覽中。注意,在各個實施方 式中,附加圖像可在用戶拍攝單獨照片時手動捕捉,或者在用戶使相機搖攝場景時 自動捕捉。本文所述的全景取景器的一個優點是用戶捕捉用于構建圖像馬賽克的簡易 性。例如,為了擴展以上提供的示例, 一種用于使用經測試的全景取景器實施方式 來構建全景圖像的簡單策略被發現是特別有效,它通過用戶簡單地手動捕捉對整體 全景所需的邊界或邊界附近的任何"地標"(或其它場景元素)的圖像作為開始。 以與拍攝單獨元素的正常圖片的方式完全相同來捕捉這些地標。然后,在這些邊界地標之間進行簡單的附加圖像捕捉,以將全部地標實際連接成單個全景。此外,由于上述剪切框,結果馬賽克預覽提供參考幀,該參考幀使用戶能夠 易于通過在將相機移動過地標之間馬賽克預覽圖像的"黑"或空白區域時簡單地捕 捉附加圖像來填充馬賽克的缺失區域。最終全景的邊緣(相對于剪切框)可得到修 補(通過簡單地沿由剪切框示出的邊界捕捉附加圖像)直到所有所需場景元素包含 在剪切框中。最終,全景的擴展通過簡單地包括附加"地標"并如上所述地填充任何空白空間來容易地實現。注意,如3節中進一步詳細描述的,存在與處于全景模式中時附加圖像的捕 捉相關的若干其它實施方式。例如,在一實施方式中,僅當用戶按相機的快門按鈕 時捕捉附加圖像。在另一實施方式中,在用戶將相機繞場景搖攝時自動捕捉圖像。 該自動捕捉可以預定幀速率操作或者根據當前內容顯示窗口中的新材料的量(和重 疊)(相對于現有馬賽克預覽)來操作。或者,在數碼攝像機的情形中,通常在給 定幀速率下自動捕捉圖像,然后這些圖像用于生成馬賽克預覽。然而,在不同實施 方式中,這些數碼攝像機還可根據當前內容顯示窗口中的新材料(和重疊)(相對 于現有馬賽克預覽)的量來捕捉圖像。全景取景器的上述特征提供優于常規數碼相機的許多優點,包括這些相機提 供"拼接輔助模式"等。例如,全景取景器的一個優點是通過對所得全景完成情況提供清晰的視覺反 饋(剪切框中的所需場景元素),全景取景器允許用戶得到有保證的結果。剪切框 解決了事后剪切遇到的問題。沒有剪切框,用戶通常發現自己要面對在示出所有所需場景元素的的全景與無流蘇的全景之間作出折衷。原因是沒有剪切框,全景提供 錯誤的示能性尤其,全景通常向用戶示出比實際的(一旦被剪切)要更大,這使 用戶過早地停止捕捉圖像。剪切框修復這種破壞的容耐,因為它向用戶確切地示出 一旦圖像被剪切則所實際獲得的。因此全景取景器向用戶確切地示出為了得到所需 的輸出需要作什么。全景取景器的另一優點是圖像馬賽克的實時預覽使諸如重影或不能被拼接的 幀之類的缺陷在發生時就是可見的。這允許用戶重新拍攝這些區域,由此從馬賽克 消除這些問題。全景取景器的又一優點是幫助用戶最大化為全景捕捉圖像所花費的時間利用 率,同時最小化用戶的工作量。具體而言,馬賽克預覽允許用戶避免己被覆蓋的區 域。此外,馬賽克預覽還幫助用戶避免拍攝非必要的圖像材料,即位于地標所跨度空間之外的材料。另外,剪切框允許用戶在完成時停止,而僅在圖像不足以構建所 需全景的情形中才拍攝附加圖像。剪切框還支持以最小化浪費的形狀(矩形)的方 式進行拍攝。這對拍攝細長鏡頭搖攝是特別有用的。在沒有支架(諸如三腳架或其 它相機架)的情況下,這些類型的相機鏡頭搖攝常常產生稍微傾斜或巻曲的圖像馬 賽克,這可能會在任何矩形剪切過程中去除全景的大部分。全景取景器的另一優點是幫助最小化存儲空間要求,允許用戶用給定存儲量 來拍攝更多、更大的全景。 一個原因是避免了拍攝非必要圖像材料,因為用戶可以 實時地確切看到最終全景中將包含什么。此外,在一實施方式中,為數碼相機提供 足夠的計算能力(內部或通過外部連接的計算設備)允許近似實時地進行最終或半 最終拼接和剪切,由此允許相機自動丟棄更多的消耗空間的原始圖像材料。然而, 雖然該特征允許用戶通過最小化存儲要求來捕捉更大的全景,但是用戶通常期望保 留原始幀的子集以供后續處理。在這種情況下,不啟用圖像材料的自動丟棄。最后,由全景取景器提供的再一優點是通過立刻向用戶提供最終結果,全景 取景器向用戶提供"即時滿意"。這種即時滿意是典型用戶通常偏好數碼照片而非常規照片(需要沖洗相機膠片并隨后處理該膠片以產生圖像)的主要原因。這樣, 全景取景器使用戶拍攝全景時的體驗與拍攝常規照片的體驗可以比擬。2.2系統架構總覽以上總結的進程由圖5的通用系統示圖示出。特別地,圖5的系統示圖示出 用于實現本文所述的全景取景器的程序模塊之間的關系。應該注意,圖5中由虛線 表示的任何框和框之間的互連表示本文所述的全景取景器的替換實施方式,并且以 下所述的替換實施方式的任一個或全部可與本文獻中通篇所述的其它替換實施方 式結合使用。此外,還應該注意,出于說明清楚的目的,圖5中所示的全景取景器 示出全景取景器的整體系統外部的相機或圖像源500。然而,如上所述,在不同實 施方式中,圖5所示的組件和程序模塊的某些或全部可與相機500 —體化。一般而言,如圖5所示,全景取景器通常通過從數碼相機或其它圖像源500 向實時拼接模塊510提供已記錄圖像505來操作。實時拼接模塊510實時工作以生 成表示針對所需全景圖像捕捉的已記錄圖像505的拼接的馬賽克預覽圖像。如本文 進一步詳細描述的,該馬賽克預覽圖像隨著更多圖像被捕獲并由實時拼接模塊510 拼接在一起而隨時間增長。然后在顯示裝置515 (例如數碼相機500的集成LCD 顯示)上實時顯示該馬賽克預覽圖像。此外,實況輸入映射模塊520分析來自相機500的輸入(即通過相機的透鏡 到達相機取景器的視圖),并且結合實時拼接模塊510將該輸入映射到顯示裝置515 上相對于在該顯示裝置上正被顯示的整體馬賽克預覽圖像的相對應位置上。注意, 相機取景器的實況或"當前內容"的這種映射實時地進行而實際上無需捕捉用于存 儲的圖像。結果,用戶可及時查看將要拍攝的下一張圖片處于何處將適于整體馬賽 克預覽圖像而無需實際拍攝該圖片。這種特性使用戶能夠容易地捕捉最終全景圖像 所需的那些場景元素。此外,為了使相機取景器的當前內容窗口的查看和識別更加 可視化,在已測試實施方式中,當前內容窗口通過用清晰可見的邊框圍繞來著重。如上所述,在一實施方式中,"剪切窗"用于向用戶指示馬賽克預覽圖像將免 于矩形剪切的那個部分。 一般而言,該剪切窗由剪切窗重疊模塊525生成,該模塊 分析實時拼接模塊510的輸出以確定可在馬賽克預覽圖像上畫出而沿馬賽克預覽 圖像的任何邊框都沒有間隙(丟失圖像信息)的最大矩形的范圍。 一旦計算完成, 剪切窗就被簡單地顯示為馬賽克預覽圖像上的覆蓋。在相關實施方式中,馬賽克著重模塊535用于強調剪切窗中的區域或者弱化 剪切窗外的區域,使得免于剪切的區域對用戶更加明顯。弱化剪切窗外的區域的一 個示例是簡單地降低馬賽克預覽中剪切窗外的區域相對于剪切窗內的區域的亮度。 類似地,在緊密相關的實施方式中,相機取景器的當前內容窗口中落在當前剪切窗 范圍外的任何部分也被弱化,使得用戶及時看到當前示圖將對整體全景作出的貢 獻。在另一實施方式中,提供拼接警告模塊530以提醒用戶與己記錄圖像的拼接 (或者來自相機500的實況輸入的映射)相關的問題。例如,如3節中進一步詳細 描述,任何圖像拼接技術都有可能不知道圖像(包括已記錄圖像505或來自相機 500的實況輸入)應該安置于整體馬賽克的何處。這種失敗的原因可以包括,但不 限于,圖像細節或紋理不足以進行精確映射(諸如不包括地標的潔凈藍天)。可由 拼接警告模塊標識的其它可能問題包括諸如馬賽克預覽中重影效果的檢測、剪切窗 內邊界之內的間隙、 一個或多個圖像的圖像聚焦問題等。在由拼接警告模塊530標識任何這些問題的事件中,在顯示裝置515上提供 提示以在仍有時間修復問題時將用戶的注意力吸引到具體問題上。通常,修復任何 特定問題的解決方案是重新拍攝覆蓋馬賽克預覽中已標識出問題的區域的一個或 多個圖像。此外,在實時拼接模塊510不知道圖像應該安置于整體馬賽克預覽的何 處的事件中,拼接警告模塊530將建議用戶將相機移動到已被捕捉并成功拼接的區域,然后從該區域移出并朝失去線索的區域移動時重新拍攝附加圖像。在紋理是問題的情形中,諸如的潔凈藍天的示例,拼接警告模塊也可建議用 戶拉遠鏡頭以捕捉除了某些已映射地標之外的低紋理區域的更寬視場。應該注意, 實時拼接模塊能夠縮放(如果必要則巻曲)輸入圖像以將它們映射到馬賽克預覽圖 像,即使在圖像之間的變焦水平不同的情形中。在相關實施方式中,拼接警告模塊530與馬賽克著重模塊535協作以著重或以其它方式強調馬賽克預覽圖像內的特定問題區域。如上所述,馬賽克預覽圖像隨著更多的圖像被捕捉并由實時拼接模塊510拼 接在一起而隨時間增長。因此,在一實施方式中,縮放/搖攝模塊540縮放馬賽克 預覽圖像的范圍,使得整個馬賽克預覽圖像適于顯示裝置515的范圍。然而,因為 實況輸入映射模塊520將來自相機500的輸入映射到相對于整體馬賽克預覽圖像的 對應位置,所以該實況輸入的示圖(即當前內容窗口)也被縮放。因此,隨著馬賽 克預覽的增長,當前內容窗口隨時間縮小成其中用戶難以查看該窗口中的內容的一 點。因此,在另一相關實施方式中,當前內容窗口不會縮放到最小尺寸以下,而是 與馬賽克預覽上其中圖像如果被捕獲則被拼接的區域重疊(這一點的附加討論參見 3.4節)。在另一相關實施方式中,與統一縮放整個馬賽克預覽(以及當前內容窗口) 不同,縮放/搖攝模塊540在一定的公差內縮放和/或巻曲馬賽克預覽的部分以將馬 賽克預覽的邊緣壓縮同時保持當前內容窗口較大并且大致靠近顯示裝置515的中 心。類似地,在另一實施方式中,縮放/搖攝模塊540提供馬賽克預覽的搖攝以允 許馬賽克預覽的部分"在屏幕外"同時使當前顯示窗口保持在屏幕上以避免將馬賽 克預覽(以及當前內容窗口)縮小至其中難以參看馬賽克預覽或當前內容窗口中的 足夠細節的一點。注意,以上相關于縮放/搖攝模塊540描述的特征通常對與數碼相機一體化的 顯示屏幕更重要,因為這種屏幕通常在尺寸和分辨率兩方面受限。在全景取景器的又一實施方式中,數據存儲減少模塊545用于從己記錄圖像 505自動去除冗余圖像信息。例如,在為馬賽克捕捉圖像時,在圖像之間自然存在 某種程度的重疊。因此,在一實施方式中,在實時拼接模塊510的拼接之后,數據 存儲減少模塊545將從已記錄圖像數據505刪除任何冗余圖像信息的某些或全部。實施方式由數據存儲減少模塊實現的一個優點是當使用諸如數碼相機內部存 儲器的相對有限的圖像存儲空間時,附加空間變得可用于捕獲更大的全景圖像馬賽克。相反,本實施方式的一個缺點是獨立圖像的某些或全部不再是由單獨使用的完整(矩形)圖像。注意,在不同實施方式中,數據存儲減少模塊545可由用戶手動 啟用或停用,或者可根據數碼相機500內剩余存儲空間來自動啟用。一旦特定全景所需的所有圖像都已被實時拼接模塊510拼接并可任選地剪切 成對應于由剪切窗覆蓋模塊525提供的剪切窗的圖像范圍,則按需將所得全景存儲 到全景圖像550的文件或數據庫以供后續使用。然而,在另一實施方式中,實時拼接模塊510僅執行初步拼接以生成馬賽克 用于在顯示裝置515上顯示的"僅預覽"版本。在本實施方式中,將在計算己記錄 圖像505的最終拼接中使用的圖像之間的基本相關信息,諸如圖像映射、巻曲和縮 放信息,存儲在550而非最終全景圖像馬賽克中。然后,該己存儲信息550用于離 線拼接模塊555對已記錄圖像的非實時離線拼接中。實施方式由離線拼接模塊555提供的一個優點是包括常規混合、羽化、對比 度和亮度調節、去重影操作等的最終圖像拼接可能在計算上是昂貴的,因此很難在 由典型數碼相機提供的相對有限計算能力下實現。然而,用以生成最終圖像馬賽克 的簡單預覽的初步低分辨率拼接在計算上是不昂貴的,由此在計算能力有限的情形 中提供更好的性能。實施方式由離線拼接模塊提供的另一優點是已完成全景的最終 拼接版本的存儲可能需要相當的存儲空間量,極限下接近在構建最終全景中使用的 每個單獨圖像的存儲空間的總和。然而,用于最終全景的離線構建的圖像之間的關 系信息的存儲與實際全景圖像相比占據相對極少的空間。因此,本實施方式在相機 存儲器有限的情形中也很有用。3.0操作總覽上述程序模塊用于實現本文所述的全景取景器。如上所概述的,該全景取景 器提供用于捕捉在從場景圖像集構建全景馬賽克圖像時使用的圖像的交互式取景 器顯示形式的直觀界面。以下各節提供全景取景器的操作以及用于實現2節中所述 程序模塊的示例性方法的詳細討論。3.1全景取景器的操作細節以下各段詳細描述本文所述全景取景器的具體操作實施方式。特別地,以下 各段描述與全景取景器一起使用的相機和輸入圖像;使用常規拼接技術的圖像馬賽 克的一般構建;全景取景器用戶界面的元素;用戶與全景取景器的交互;以及全景取景器的附加實施方式。3.2相機和圖像或視頻流如上所述,在一實施方式中,全景取景器可嵌入到靜態數碼相機或數碼攝像 機內,靜態數碼相機或數碼攝像機具有足夠的集成計算能力以生成實時馬賽克預 覽、將當前取景器內容映射到馬賽克預覽以及生成剪切框以示出可免于圖像馬賽克 的矩形剪切的最大內容。然而,除了在靜態數碼相機或數碼攝像機內實現全景取景 器之外,許多常規相機類型或視頻饋送中的任一個可與全景取景器組合使用。實際上,可以使用能夠與外部計算設備接口并可擴展到全景取景器的任何數 碼相機和視頻流饋送。此外,許多較新的靜態相機或攝像機可直接連接到計算機的現有端口 (USB接口、 IEEE 1394接口、 Bluetooth 無線接口 、 IEEE 802.11無線接口等)。全景取景器可以使用任何這種相機。此外,如果全景取景器的功能并不集成到相機的功能上,則全景取景器可通 過相同方式在附連計算機的顯示裝置上來實例化,就如同全景取景器被顯示在數碼 相機的LCD屏幕上一樣。例如,用戶可以使用連接到臺式、筆記本或手持式計算 設備的常規"web相機"等(沒有集成計算能力)來以基本上相同的方式生成全景 圖像,如同由具有集成全景取景器能力的專用數碼相機所捕捉的一樣。然而,如上所述,與描述連接到分離計算設備以實現全景取景器的外部相機 的每一可能組合不同,全景取景器在本文中一般被描述為在數碼相機中實現。然而, 應該理解,本文提供的全景取景器的詳細描述同樣可應用于涉及耦合到可能包括或 不包括集成顯示裝置或計算能力的相機的外部顯示裝置和/或外部計算設備的附加 實施方式。3.3圖像馬賽克的構建從類似或相關圖像幀的集合或群集生成馬賽克是本領域技術人員公知的概 念,并且在本文中只是一般描述。 一般而言,常規馬賽克技術的基本理念是在給定 空間相關圖像幀的集合或序列的情況下獲得廣視場(FOV)或全景場景圖像。該全 景通常通過在相機移動時捕捉圖像,然后對圖像應用事后拼接以獲得更大的圖像來 構建。例如,許多數碼相機附帶有用于從由相機獲得的圖像自動事后構建全景圖像 馬賽克的軟件(事后處理在分離的計算設備上進行)。 一般而言,數碼相機的馬賽克的幾何結構問題已經相當清楚,并且通常包括對每個圖像估計相對較小的相機矩陣或單應性(homography)。這種估計進程通常通過自動或經由用戶輸入對圖像大 致排序而初始化。典型的馬賽克方案常常使用基于特征或直接方法。常規的基于特征的方法通常從在圖像中檢測到的點、線或其它幾何實體之間 建立對應開始。例如,典型的基于特征的方法會提取Harris角點(Harris corner) 并使用經歸一化的局部強度值交叉相關來對它們進行匹配。直接方法與基于特征的方法的不同之處在于直接方法嘗試通過最小化基于重 疊區域的強度差異的誤差函數來迭代估算相機參數。直接方法具有的優點是使用所 有可用數據并因此提供非常精確的配準。然而,這種方法的以供缺點是依賴于可能 并不正確的"亮度不變"假設。此外,這種方法通常還要求初始化。此外,許多這種拼接技術能夠產生360度全景,即其左端在邏輯上連接于右 端的全景。因此,在一實施方式中,當全景取景器的拼接進程確定全景已巻曲時, 它改變馬賽克預覽圖像的外觀以表明該全景實際上是360度的連續圖像。在經測試 的實施方式中,通過將馬賽克預覽的顯示的左、右兩邊緣作標記為符號拉鏈來表明 兩端是邏輯連接的,以此將馬賽克預覽更改成360度全景。應當清楚,在不同實施 方式中可以使用諸如文本、箭頭等其它標記來表明全景的末端如此連接以形成360 度全景。無論用于拼接圖像的方法如何, 一旦特征在各個圖像之間實現匹配,則通常 用常規的混合、巻曲和縮放技術來在圖像之間提供平滑過度同時保留細節銳度來構 建馬賽克圖像,即使在圖像之間存在強度變化的情形中,即使不同圖像之間存在小 的配準誤差。許多這種常規拼接技術適用于生成馬賽克的實時預覽而沒有必要生成最終的 拼接馬賽克。此外,在給定足夠的計算能力的情況下,許多常規拼接技術適用于實 時或近似實時地生成馬賽克圖像的最終拼接版本。應該注意,以上概述的馬賽克技 術僅為大量常規技術中的少許,并且大量常規馬賽克技術中的任一種能夠適用于由 本文所述的全景取景器捕捉的圖像的實時和/或離線拼接(使用拼接馬賽克的實時 預覽版本)。3.4全景取景器的用戶界面如上所述,全景取景器的用戶界面通常包括顯示或相機取景器屏幕中的拼接 馬賽克的視覺預覽(即"馬賽克預覽"),表示相機取景器的"當前內容"的實況顯示窗口;以及覆蓋到馬賽克預覽上的任選全景"剪切框"。此外,在不同實施方式 中,全景取景器的用戶界面還包括與拼接馬賽克中所標識的特定問題相關的各種視 覺提示、警告或指令。假設這些元素的每一個(馬賽克、當前取景器顯示、剪切框)可在受限空間(諸如數碼相機的較小LCD屏幕)中共存、重疊以及彼此獨立地變化,則存在視覺干擾的危險。因此,雖然可以實現這些元素的復雜顯示,但是己經 發現保持這些元素的組合盡可能的簡單將增強用戶在全景圖像馬賽克捕捉圖像時 的體驗。例如,如圖6所示,在一實施方式中,馬賽克預覽620自動縮放以適應數碼 相機600的LCD顯示屏幕610。然后,表示相機取景器630的"當前內容"(透鏡 當前所觀察的)的實況顯示窗口被映射到馬賽克預覽620內的對應位置。此外,剪 切框640覆蓋在馬賽克預覽640之上。相機600還可包括用于以常規方式操作相機 或者用于手動選擇特定選項(諸如在本文所述的全景取景器模式下拍攝)的一組常 規控件660。圖7示出圖6的LCD顯示的更大視圖(圖6所示屏幕的不同視圖), 示出了馬賽克預覽720、相機取景器的當前內容窗口 730和任選全景剪切框740。參照圖8-10B在3.4.3和3.4.4節詳細描述這些特征(馬賽克預覽、當前內容 窗口以及剪切框)的操作示例。3.4.1相機顯示裝置如本文所述,在一實施方式中,全景取景器的用戶界面在靜態數碼相機或數 碼攝像機的LCD屏幕上實現。通常,這種集成相機顯示器是大小約在2.5英寸(對 角線)量級上并根據相機類型而具有不同的分辨能力的LCD顯示器。然而,在本 文所提供的討論的角度上,應該清楚,相機顯示器的討論也只在涵蓋其它可直接連 接到相機或者經由相機自身所連接的外部計算設備而連接到相機的外部顯示裝置。在一實施方式中,相機的LCD顯示器上包括"邊框"。邊框的一般目的是為 用戶提供通過在覆蓋用戶感興趣場景的某些預定區域上"刷"相機而進行填充的區 域。馬賽克預覽可相對于邊框縮放,使得一旦所有圖像被拼接則整個場景適于邊框。 然而,雖然這種邊框對某些應用是有益的,但是它往往由于要求首先定義邊框范圍 的額外步驟而打擾用戶。因此,在另一實施方式中,不使用邊框。實際上,由于 LCD顯示屏幕的大小自身是有限的,因此它本質上充當了其內再現馬賽克預覽的 隱式邊框。在另一實施方式中,相機顯示屏幕的背景可以不同色彩和樣式再現在馬賽克預覽圖像的范圍外。然而,已經發現在馬賽克預覽圖像范圍外使用空白(或黑色) 背景提供最簡單、最直觀的用戶界面。3.4.2馬賽克預覽圖像如上所述,全景取景器在相機顯示屏幕上提供實時或近似實時的馬賽克預覽 圖像,且該馬賽克圖像隨著一有新圖像添加就向該馬賽克預覽中拼接附加圖像而增 長。在顯示屏幕上顯示圖像馬賽克時,視覺表示被設計成盡可能簡單以最小化對用 戶的視覺干擾。在經測試的實施方式中,馬賽克預覽由諸如白色實線或著色線的定義邊框圍 繞以確保馬賽克預覽與諸如剪切框或當前內容窗口的全景取景器其它元素或者只 是相機顯示屏幕的未填充區域之間清晰的視覺分離。此外,如上所述,全景取景器能夠構建360全景圖像。因此,在一實施方式 中,如圖11所示,全景取景器通過在馬賽克預覽圖像的左、右外延上示出左、右 符號拉鏈(1120和1130)來表示360度柱面全景馬賽克1100的存在。在本情形中, 對馬賽克預覽圖像使用搖攝,使得當前內容窗口 IIOO示出來自相機取景器的實況 輸入保持成大致靠近相機顯示的中心。注意,這種符號拉鏈只是指示360度全景的 眾多方法之一。其它方法包括使用文本、箭頭、連接線等。此外,如上所述,馬賽克預覽圖像隨著圖像被捕捉并拼接在一起以在相機LCD 屏幕上顯示馬賽克預覽圖像而隨時間增長。作為圖像增長的結果,馬賽克預覽圖像 可能很快達到過大而不適合相機LCD顯示的范圍這一點。因此,在一實施方式中, 隨著馬賽克預覽圖像隨附加圖像的結合而隨時間增長,全景取景器對馬賽克預覽圖 像進行縮放、巻曲和/或搖攝。例如,在一實施方式中,全景取景器縮放馬賽克預覽圖像的范圍(在一個或 多個維度上),使得整個馬賽克預覽圖像將適于顯示裝置的范圍。在只要新圖像拼 接到馬賽克預覽中則按需應用該縮放這一方面,該縮放是自動且動態的。此外,如 以下進一步描述,在不同實施方式中,來自相機的對應于當前內容窗口的實況輸入 也被縮放以匹配馬賽克預覽的縮放。具體而言,給定相機取景器對用戶的重要性(因此用戶能夠實際查看用相機 捕捉到什么),全景取景器提供允許用戶增大表示相機取景器的當前內容窗口的尺 寸的不同附加實施方式。在其它實施方式中,與同一縮放整個馬賽克預覽不同,全 景取景器縮放和/或巻曲馬賽克預覽的部分以壓縮馬賽克預覽的邊緣。這種縮放的優點之一是允許相機取景器的當前內容窗口被顯示在相對于總的馬賽克預覽圖像 而言更大的窗口中。例如,在一實施方式中,"魚眼模式"用于通過縮小取景器窗口外的某些內容 以為更大取景器創造附加空間來提供更大的相機取景器窗口。該變形可以是顯性的 或非線性的。此外,在一實施方式中,為了確保向用戶提供完成圖像馬賽克期望部 分所需的視覺輔助,將保留水平和垂直線的變形應用于馬賽克預覽中在相機取景器 的當前內容窗口外的哪些區域。具體而言,馬賽克預覽圖像在相機取景器的當前內 容窗口上方和下方的部分被垂直壓縮,并且馬賽克預覽圖像在相機取景器的當前內 容窗口的左側和右側的部分被水平壓縮。在相關實施方式中,"覆蓋模式"用于允許相機取景器的當前內容窗口填滿整 個屏幕。在本實施方式中,馬賽克預覽被縮小成在相機取景器的當前內容窗口上方 覆蓋的一條線。然后,馬賽克預覽輪廓、任選剪切窗輪廓和示出相機取景器的當前 內容窗口的相對映射位置和大小的輪廓都表示為覆蓋相機取景器的當前內容窗口 的顯示的線。這些線可以是任何所需厚度、樣式和色彩。然而,在緊密相關的實施 方式中,覆蓋相機取景器的當前內容窗口的這些線是使用常規圖像處理技術的"浮 雕"以最小化對相機取景器的使用的視覺干擾。在又一相關實施方式中,使用"調出模式",其中相機的LCD顯示屏幕示出 正常馬賽克預覽圖像,但是當相機取景器的當前內容窗口縮小到最小閾值以下(由 于馬賽克預覽圖像的增長),相機取景器的當前內容窗口的更大副本在屏幕的最不 密集的填充區域中示出。然而,諸如只有輪廓的橡皮帶、箭頭、線等的調出指示符 將相機取景器的當前內容窗口的更大副本連接到被映射到整體馬賽克預覽圖像內 的對應位置的較小副本。在又一實施方式中,搖攝馬賽克預覽以允許馬賽克預覽的部分"在屏幕外" 同時使當前顯示窗口保持在屏幕上以避免將馬賽克預覽縮小到其中難以査看馬賽 克預覽或當前內容窗口中足夠的細節。注意,以上相關于馬賽克預覽(以及相機取景器的當前內容窗口)的縮放和/ 或搖攝描述的特征通常對集成到數碼相機的顯示屏幕更加重要,因為這種屏幕通常 受限于尺寸和分辨率。然而,相同的特征可用于任何類型或尺寸的屏幕或顯示器。3.4.3相機取景器("當前內容"顯示窗口)如上所述,上述"當前內容"窗口基本上是表示接下來要捕捉的哪些圖像的顯示的整體相機顯示的動態子區域,與常規數碼相機的專用LCD "取景器"顯示 屏幕類似。然而,與常規數碼相機的取景器顯示不同,在它自動映射到整體馬賽克 預覽圖像的匹配位置這一方面,該實況當前內容窗口是動態的。結果,用戶可立即 査看當前圖像安置于現有整體馬賽克的何處。在已測試實施方式中,使用諸如著色矩形的視覺邊框來著重當前內容窗口。 然而,任何色彩、厚度或樣式的線可用于此目的。此外,在相關實施方式中,與使 用線來劃定當前內容窗口不同,該窗口只是簡單地覆蓋在整體馬賽克圖像上其對應 位置,該整體馬賽克圖像自身暗淡或以其它方式弱化以平衡當前內容窗口相對于該 整體馬賽克預覽圖像的可視性。在任一情形中,重點是使用戶立即明白要捕捉的任 何新圖像將安置于現有馬賽克的何處。如上所述,隨著馬賽克預覽圖像增長,相機取景器的當前內容窗口縮小。于 是該取景器窗口被映射到整體馬賽克預覽圖像內的匹配位置。然而,同樣如上所述(參看3.4.2節),包括上述"魚眼"、"覆蓋"和"調出"模式的不同附加實施方式用于避免將相機取景器的當前內容窗口縮小到其中用戶難以參看該窗口內容的尺 寸以下。此外,由于其中相機取景器的當前內容窗口被自動映射到整體馬賽克預覽圖像內的匹配位置所用的方式,當前內容窗口有可能部分在屏幕外(或者在360度馬 賽克的情形中的甚至"斷開")。因此,在一實施方式中,為了確保取景器在顯示整 個馬賽克預覽圖像時總是一片(并且完整),馬賽克預覽圖像被搖攝(在任何必要 方向上)以便使當前內容窗口大致保持在屏幕的中心。然而,為了使當前內容窗口 免于在整體顯示屏幕內移動過多,使用滯后來減小搖攝運動,即允許取景器離開中 心特定量(在經測試的實施方式中為50%);然后,僅當相機取景器的當前內容窗 口要超過該閾值時才對屏幕進行搖攝。注意,該搖攝可與3.4.2節中所述的馬賽克 預覽縮放技術中任一種結合使用。例如,圖8示出馬賽克預覽圖像的增長以及相機取景器的當前內容窗口的對 應收縮和映射。特別地,圖8提供其上實現全景取景器的顯示裝置的四張圖片序列。 如圖8的圖像(A)所示,場景810的第一捕捉圖像被顯示為基本上填滿整個LCD 顯示屏幕800。然而,如圖(B)中所示,第二圖像811—被捕捉,LCD顯示800 的內容就以若干方式變化。首先,相機一為馬賽克捕捉到第二(或后續)圖像8U, 馬賽克預覽圖像820就通過將新圖像拼接到現有(或新的)馬賽克中來生成。注意, 如紅色輪廓線所示,圖像(B)中的當前內容窗口 811中捕捉到的圖像811的尺寸比圖像(A)中的對應窗口 (810)小得多。接著,如圖8的圖像(C)和(D)所示,馬賽克圖像820隨著在對應當前內 容窗口中捕捉附加圖像812和813而繼續增長。此外,顯示為馬賽克預覽的覆蓋的 任選剪切框830也繼續增長。相反,在這些圖像的每個中,當前內容窗口 (812和 813)的尺寸相對于其在整體馬賽克預覽圖像820中的映射位置繼續縮小。此外,隨著馬賽克增長,通常有必要巻曲圖像以將這些圖像拼接到增長的馬 賽克中。該巻曲通常對說明改變用以捕捉不同圖像所使用的相機角度和遠景是有必 要的。因此,如圖8中圖像的進展中所示,當前內容窗口中圖像的巻曲(從810 進行到811、到812、最后到813)通過增大的非矩形當前內容窗口示出。值得注 意的是,在圖8中圖像的進展中,并未以任何特定次序或方向捕捉用于構建馬賽克 預覽820的圖像(810、 811、 812和813)。全景取景器簡單地標識這些圖像的適當 位置、縮放和巻曲并將它們拼接成整體馬賽克,而無需用戶以特定方向、重疊或取 向來捕捉圖像。在圖9中示出了基于圖8的圖像(D)中的剪切框830和馬賽克預覽820而生 成的經剪切的最終馬賽克全景。此外,應該注意,雖然包含圖8的圖像(D)中的 馬賽克預覽的各種拼接圖像顯示不同的亮度水平,但是圖9中所示的最終馬賽克全 景將這些圖像無縫地混合成整體全景的單個一致視圖。圖10A示出了與參照圖8描述的示例類似的馬賽克預覽圖像的增長以及相機 取景器的當前內容窗口的相應縮小和映射的概念示例。然而,與圖8的圖像不同, 在圖10A中提供的12圖像(圖像(A)至圖像(I))序列示出相機取景器的當前 內容窗口是固定的矩形(但不是固定大小)。在本實施方式中,當前內容窗口保持 其矩形同時馬賽克預覽自身繞矩形的當前內容窗口巻曲。如圖8所示,圖10A中所示的圖像序列通常示出馬賽克預覽圖像的創建、增 長和縮放以及當前內容窗口的對應映射和縮放。注意,任選剪切框并未在該圖像序 列中顯示。再次地,如圖8的序列一樣,為圖IOA所示馬賽克預覽的創建所捕捉 的圖像并未以任何特定次序或方向捕捉。全景取景器簡單地標識這些圖像的適當位 置、縮放和巻曲并將它們拼接成整體馬賽克,而無需用戶以特定方向、重疊或取向 來捕捉圖像。3.4.4剪切框如上所述,任選"剪切框"只是在馬賽克預覽中著重的、用于指示馬賽克預覽中將免于對矩形區域的自動剪切的部分的矩形區域。通過分析馬賽克預覽以確定 可從馬賽克預覽提取而沿任一邊緣無任何間隙的最大連續矩形部分,以此確定剪切 框的范圍。此外,在它自動移動、縮放和調節(在X和Y軸上)成有任何新的圖 像拼接到馬賽克預覽中時可從現有馬賽克預覽圖像剪切的最大可能矩形尺寸這一 方面,剪切框是動態的。注意,在一實施方式中,馬賽克內部的間隙是允許的而不影響剪切框的范圍。然而,在一實施方式中(如3.4.5節中進一步詳細描述的),向 用戶自動提示這種間隙。存在許多使用剪切框著重將免于剪切的內容的方法。例如,在一實施方式中, 通過弱化馬賽克預覽中在剪切框內部區域外的部分,使用或不使用視覺線來實現剪 切框。在另一實施方式中,用"行進中的螞蟻(marching ant)"型矩形框來實現剪 切框,其中動畫點線選取框用于指示對馬賽克預覽的一部分的矩形選擇。使用這類 剪切框的一個優點是許多用戶熟悉使用諸如常規行進中的螞蟻型選擇指示符的動 畫點線技術來在圖像中選擇物體。此外,弱化和線(固定或動畫)可結合使用,以 指示剪切框的范圍。例如,如圖10B所示,剪切框的使用可與剪切框邊界外的區域的弱化一起使 用。特別地,圖IOB示出來自圖10a的四張圖像的子集(圖像(G)、 (H)、 (I)和 (J))。然而,雖然在圖10A提供的圖像中關閉了剪切框1020,但是在圖10B中已 打開。此外,圖10B示出馬賽克預覽在剪切框1020之外的區域1010通過減小馬 賽克預覽的這些區域的亮度或輝度來進行弱化。此外,在另一實施方式中,也如圖 IOB所示,如果當前內容窗口的映射位置落在剪切框1020之外,則當前內容窗口 1030中的內容(或內容的部分)也被弱化。在經測試的實施方式中,剪切框之外的區域,即將要丟棄的區域通過降低亮 度和對比度約57%的量級來弱化,即黑色被映射成黑色,而白色被映射成57%的 灰色(在0-255標度中=147)。此外,在相關實施方式中,弱化可由用戶手動關閉, 例如以在明亮的陽光下實現LCD顯示器的更好可視性或者簡單地由于用戶偏好。 在經測試的實施方式中,剪切框自身通過將受影響像素的亮度偏移128來再現,計 算為亮度=(亮度+128) %256。這意味著"螞蟻(ant)"在亮背景上更暗,在黑背 景上更亮,并將輝度陡然變成50%亮度。然而,相機取景器的可讀性(當前內容窗口)尤其重要,因為用戶依賴它來 定位場景元素以及證實這些幀是否被正確拍攝。因此,為了確保可讀性,在一實施 方式中,當前內容窗口從不被弱化,即使部分或全部位于剪切框之外。然而,在相關實施方式中,剪切框的"行進中的螞蟻"視覺符號作為當前內容窗口上的覆蓋而 保持可見,以便保持剪切框的一致性以及向用戶示出新的幀安置于增長馬賽克的何 處。此外,雖然剪切幀從不與馬賽克預覽的邊緣交叉(由于這種交叉將導致結果 全景中的間隙或缺陷),但是它常常在延長線上與該邊緣重合。在這種情況下,僅 再現剪切框的行進中的螞蟻,并且在該位置上不再現繞馬賽克預覽的實線邊框。這 種方法的一個優點是與例如通過將剪切框縮小幾個像素或者通過使剪切框的邊角 圓滑來嘗試分離邊緣和剪切框相比,存在更少的視覺干擾。最終,當剪切框通過增長步驟或通過改變形狀而變化(作為附加圖像的拼接 的結果)時,它即時采用其新的形狀。雖然在一實施方式中已經實現慢入慢出(slow-in slow-out)類動畫的使用,但是已經發現這種動畫明顯減小全景取景器的響應性。在經測試的實施方式中,對剪切框進行實時計算,因為全景取景器下的用戶 界面十分依賴于其快速更新剪切框使得用戶可及時査看所得全景范圍的能力。以下 討論描述了用于提供剪切框的實時計算的技術。具體而言,在一實施方式中,全景取景器的拼接算法將全景作為alpha編織合 成位像。為了調整剪切框的大小對其定位,系統計算只包含所有不透明像素的 最大內部矩形。計算任意形狀多邊形的最大內接矩形的問題在計算幾何學界已有研 究。然而,常規技術需要將幾何圖形描述成多邊形,這并不包括涉及內部透明區域 的情形(諸如馬賽克中需要通過捕捉附加圖像來填充的間隙)。而且,將經圓滑的 全景輪廓(由將輸入圖像巻曲以將它們映射到全景而得到)轉換成多邊形可能在計 算上比較昂貴。因此,在經測試的實施方式中,剪切框的計算在全景的基于像素表 示的基礎上執行。例如,在最高水平上,剪切框的計算通過測試左上角和右下角的所有可能組 合來進行,由此測試可在給定區域中內接的所有可能的矩形。該技術通過用比運動 上邊界低的期望區域來消除盒的左上角以及通過將對右下角的搜索限制在線性數 目的可能候選來獲得實時性能。通過如此操作,確定剪切框的計算復雜度具有適于實時使用的大致0*。的復雜度,其中"是圖片的寬度。該進程的詳細步驟描述如下步驟l一下采樣:為了性能更快,剪切框的計算通過創建下采樣的全景位圖版 本來開始。在經測試的實施方式中,位圖通過因子4來下采樣。然而,取決于可用的計算處理能力,也可以使用其它下采樣因子。然后,在該下采樣的位圖版本上采 取所有進一步計算。步驟2 —預計算跨距長度:當計算矩形表面時,使用關于跨距長度的信息。由 于反復使用同一跨距信息,它按如下高速緩存。首先,創建兩個陣列,出于說明目 的,第一陣列稱為"寬度圖像",而第二圖像稱為"高度圖像"。對于每個像素,寬 度圖像存儲到該像素的右側的水平跨距的長度,高度圖像存儲該下述下方的垂直跨 距的長度。兩個圖像通過從最后一行到達第一行并且在每行中從最后一列到第一列 而遍歷全景來同時創建。由于每個跨距值基于其右鄰居或下鄰居產生,該步驟需要 0(^)操作。步驟3 —計算矩形表面:然后,剪切框的計算通過搜索最大的內部矩形來繼續。 該搜索通過將找到的最大矩形初始化為區域O來開始。然后,從上至下、從左至右 地遍歷該圖像(a) 在每個像素位置,計算其左上角位于該像素位置上的最大可能矩形的尺 寸的上邊。該上邊被計算為水平跨距與垂直跨距的乘積一兩者在寬度圖像和高度圖 像陣列中查找。(b) 如果上邊小于當前的最佳(最大),則該像素不是所尋找的矩形的左上 角,評估下一像素。(C)如果該上邊大于當前最佳,則用該特定左上角計算真實的最大矩形。為 了如此,該計算通過向下遍歷寬度圖像陣列的當前列以查找會導致最大矩形表面的 左下角來進行。在該遍歷中,標識由任何左下角創建的最大矩形。該計算也跟蹤正 在遍歷的列中目前為止最短水平跨距的長度。具有給定左下角的矩形的寬度是從上 可見的最短跨距。對于該列中的每個像素,計算具有相應像素作為右下角的矩形的表面,即該 寬度與其距左上角的距離的乘積。更新最佳(最大)值直到所有像素被遍歷。在最壞的情況下,如上所述,步驟3進行0&"次操作。然而,由于能夠早些 結束,發現實際上它接近Ofn^并且適于實時要求。有意思的是,性能分析表明上 述計算技術在步驟1花費其時間的80%。因此,在一實施方式中,上述剪切框計 算進程通過在向增長全景添加新的輸入圖像時迭代計算寬度圖像和高度圖像來進 一步優化,而非對每個新的圖像重新計算整個陣列。結果,步驟l中用于計算最大 剪切框的計算開銷得到減小。3.4.5提醒用戶馬賽克中的問題如上所述,全景取景器的用戶界面還包括與拼接馬賽克中所標識的特定問題 相關的視覺提示、警告或指令。例如,在為全景拍攝圖像時可能發生若干問題,諸 如拼接算法跟不上相機取景器(因此無法拼接在此時捕捉到的圖像);可檢測到 諸如重影或聚焦問題的缺陷;或者可能檢測到剪切框內部中的間隙或其它不足。將實時的工作中的剪切與耦合到數碼相機的用戶界面組合的主要益處之一是全景取 景器可立即向用戶通知這些問題并可幫助互動地解決它們。例如,當全景取景器標識了馬賽克中的諸如缺失場景區域、重影問題、用于 成功拼接和混合的重疊不足等的缺陷時,一種方法是簡單地將剪切框縮小以避開問 題區域。然而,通常比較可靠的是假設如果用戶在較大區域捕捉圖片則該用戶可能 期望捕捉較大的全景。因此,在一實施方式中,在所標識的缺陷不與剪切框的邊框 交叉的情形中,全景取景器假設用戶寧愿拍攝帶有所標識缺陷的較大馬賽克圖片而 不是一致但相對較小的馬賽克。結果,全景取景器允許剪切框在缺陷上增大。然而,為了使用戶在太遲之前 校正該缺陷,用動畫圖案和/或文字提示來著重該缺陷以將用戶的注意力吸引到該 缺陷。然后,用戶可簡單地將相機取景器搖攝該區域,并按需重新拍攝一張或多張 圖片,由此填充缺失或缺陷材料,并在隨后消除該警告,因為問題己得到校正。注 意,當對標識為有問題的區域重新拍攝圖像或"刷過"該區域時,全景取景器將分 析任何冗余圖像信息并在校正全景中的缺陷期間從冗余信息自動選擇最佳內容。對于重影,如果在拍攝全景時場景元素運動,則物體可在幀上不連續地出現 (即"重影")。全景取景器的拼接算法基于匹配幀的兩個重疊版本之間的差異檢測 重影。如果全景取景器檢測到"重影",則對重影區域作標記或以其它方式著重, 諸如通過用鮮紅色矩形或者其它提示或圖標來覆蓋該區域。然后,當用戶通過在該 區域上再次刷過來修復該重印,則重影警告消失。如上所述,在重建圖像馬賽克期間可能發生的另一可能的問題是對于若干原 因中的任一種,拼接算法有時不知道圖像應該安置于整體馬賽克的何處。因此,向 用戶提供的另一提示是"拼接失敗"或"失去線索"型的提示。特別地,在一實施方式中,當拼接算法失敗,從而無法將幀連接到全景的剩 余部分,則向用戶提示。在實時拼接的情形中,待拼接的幀總是取景器的內容,所 以無法拼接也總是意味著系統也不知道相機透鏡相對于整體馬賽克在査看何處。當 這發生時,全景取景器繼續示出取景器內容,但是它不知道將該圖像安置到馬賽克中的何處。當失去線索時,全景取景器的拼接算法繼續嘗試將通過取景器所參看到 的匹配到馬賽克,但是還提醒用戶該問題,以使用戶可幫助全景取景器的拼接算法 重新獲得線索。例如,如圖12所示,當失去線索時,全景取景器繼續顯示整體馬賽克預覽1210的任選剪切框1220,并且還通過屏幕上的錯誤消息1230向用戶通知拼接斷開問題,諸如文本消息聲明"失去線索。為了重新連接,將相機對準已經捕捉的區域。"同時,取景器框改變成提醒用戶該問題。這種提示的一個示例是增加繞相機取景器的當前內容窗口 1240的輪廓大小并且任選地在非動畫圖標上添加附加的動畫圖標以 指示該問題(例如圖12所示的閃電,或其它圖標或指示符)。此外,由于當前內容 窗口不再映射到馬賽克,所以它移動到盡可能地遠離最后所捕捉(以及成功拼接) 的幀的位置以防止其阻擋最有可能幫助重新連接拼接算法的區域,即最后一幀。此外,在一實施方式中,全景取景器嘗試告訴用戶如何防止相同的錯誤再次 發生。因此,向用戶提供的具體錯誤消息取決于拼接算法的其為何失去線索的假設。 例如,如果第一不匹配幀包含很少的結果(即潔凈的藍天),則拼接算法認為缺乏 紋理而導致了失去線索。由于這意味著它會在該區域反復失去線索,所以顯示問題 的具體建議,有時該建議聲明類似于"區域具有過少的待匹配紋理。嘗試在捕捉附加圖像之前變長焦。"變長焦有可能幫助拼接算法,因為它增加了在移回到低紋 理區域時包括遠距離地標的機會。再次地,應該注意,全景取景器的拼接算法能夠 縮放和巻曲圖像以將它們拼接成全景。因此,變長焦和捕捉圖像在構建馬賽克時不 會造成問題(雖然變長焦區域的分辨率相對于未變焦區域的分辨率略為減小)。 或者,如果幀具有足夠的紋理,則幀之間的過少重疊是失去線索的最可能解釋。在這種情形中,全景取景器將再次提供問題的具體建議,有時建議類似于"再 試一次,但是更慢地移動相機或者提供更大面積的圖像重疊"。注意,當在用戶搖 攝相機自動拍攝圖片時,全景取景器繼續監視用戶的搖攝速度。在相關實施方式中, 當用戶移動過快使得幀之間的重疊降到某個預定閾值之下時,全景取景器將提醒該 用戶搖攝速度超過最大允許搖攝速度。然后,全景取景器警告用戶減小搖攝速度或 者不要操作當前搖攝速度。在另一相關實施方式中,動態"速度測量儀"等用于相 對于最高可能搖攝速度向用戶示出速度(作為當前幀速率下圖像之間的測量重疊的 函數)。結果,用戶立即能夠確定是可加速還是應當減慢搖攝速度。3.5用戶與全景取景器的交互如上所述,全景取景器的優點之一是用戶與全景取景器的交互與數碼相機的 大多數用戶所熟悉的交互類似。例如,常規數碼相機的控件通常包括所示選擇器和 快門按鈕。在最簡單的實施方式中,通過提供自動拍攝模式(在用戶搖攝相機時) 以及通過向全景施加剪切框而不需要用戶標識或劃定剪切框的范圍,本文所述的全 景取景器提供這些相同的基本控件。此外,如上所述,用戶直接控制剪切框,即通過簡單地拍攝更多圖片來擴展 剪切框。然而,在一實施方式中,在用戶已捕捉更多圖像或者旨在更大的全景的事 件中,提供用于減小剪切框尺寸的相機控件。在這樣的情況下,向用戶呈現用于水 平和/或垂直地縮小剪切框以實現對最終全景的所需覆蓋的控件。然而,應該注意, 在一方面,這種控件可被視為冗余,因為用戶總是能夠使用對由全景取景器生成的 任何全景進行事后處理來簡單地將全景圖像剪切成任何所需尺寸。3.7全景取景器的附加實施方式如上所述,全景取景器的不同實施方式包括附加能力,諸如通過自動刪除冗 余圖像內容來減小存儲要求的能力;通過執行最終離線圖像拼接來減小存儲要求的 能力(在捕捉圖像時向用戶提供實時預覽拼接);以及用于在圖像被捕捉時用于觸 發的各種方法。給定這些不同附加實施方式,存在用戶可以完成或啟用以便為附加圖像或更 大的馬賽克提供更多存儲空間的若干操作。例如,以下是用戶如何配置全景取景器 以執行實時和/或事后操作的選擇
1. 實時拼接圖像,當馬賽克完成時將馬賽克自動剪切到剪切框的邊界并丟 棄原始圖像。
2. 實時拼接圖像,并剪切或不剪切,但是還保存原始圖像。
3. 執行初步拼接,存儲圖像的空間關系數據,保留原始圖像并使用所存儲 的空間關系信息來初始化離線拼接以進行事后拼接。3.7.1通過刪除冗余信息來減小存儲/存儲器如上所述,在一實施方式中, 一旦由于拼接和圖像重疊而標識任何冗余信息, 用于存儲附加圖像的可用存儲器就通過實時刪除冗余圖像信息而得到自動增大。在 操作中,本實施方式可由用戶手動啟用或停用,或者根據數碼相機中的剩余存儲空 間來自動啟用。在相關實施方式中,簡單地完全不記錄冗余圖像信息。特別地,如上所述, 在一實施方式中,在用戶對為生成全景而捕捉的場景搖攝相機時自動捕捉圖像。然 而,與以特定幀速率捕捉圖像不同,在相機在場景上移動時,根據所計算的現有和 新的圖像幀之間的重疊來捕捉圖像。此外,在一實施方式中,當在已遍歷區域上"刷 過"時,全景取景器的拼接算法根據不同參數只保持兩遍中較好的一個,這些參數 包括例如每個圖像與現有馬賽克匹配的良好程度、所計算的圖像焦點、以及圖像中每一個是否向馬賽克中引入重影。3.7.2通過使用離線拼接來減小存儲/存儲器如上所述,用于節省儲存空間的另一方法是執行離線拼接,以避免在數碼相 機的潛在有限的存儲器中保存經拼接的全景。在本實施方式中,以一方式來執行初步拼接,該方式足以進行兩個操作1)為相機LCD (或者其它顯示裝置)屏幕上 的顯示生成馬賽克預覽圖像;以及2)確定正在初步拼接的圖像之間的空間關系。一旦確定了圖像的相對位置,則該空間信息可作為數值信息而被簡單地存儲 并用于初始化隨后的離線圖像拼接。此外,與確定圖像之間的空間關系一起,重疊 量也自然作為該工作的一部分來確定。因此,在相關實施方式中,如上所述,刪除 冗余圖像信息,以便為附加圖像釋放更多的相機儲存空間。出于說明和描述目的在以上示出全景取景器的描述。這不旨在排除,或將本 發明限制于所公開的精確形式。根據以上示教,許多更改和變化都有可能。此外, 應該注意,以上替換實施方式的任一個或全部可在形成全景取景器的附加混合實施 方式所需的任何組合中使用。本發明的范圍并非旨在由本詳細描述限制,而是由所 附權利要求書限制。
權利要求
1.一種用于從場景圖像集自動生成馬賽克圖像的相機,包括用于從由所述相機捕捉的圖像執行馬賽克圖像的實時生成的裝置,所述裝置用于執行馬賽克圖像的實時生成而無需所述圖像具有任何預定的空間關系;用于顯示所述馬賽克圖像的顯示屏幕;以及示出可能由所述相機捕捉的下一圖像幀的通過所述相機的透鏡的當前視圖的顯示窗口,所述顯示窗口被實時地自動映射到所述顯示屏幕上所顯示的所述馬賽克圖像上的對應位置。
2. 如權利要求l所述的相機,其特征在于,還包括用于將剪切框映射到所述 馬賽克圖像上的裝置。
3. 如權利要求2所述的相機,其特征在于,所述剪切框表示可從所述馬賽克 提取而沿所述剪切框的任何邊框沒有圖像數據間隙的最大可能的連續全景的范圍。
4. 如權利要求l所述的相機,其特征在于,還包括用于在所述顯示裝置上自 動顯示關于所述馬賽克圖像中缺陷的警告的裝置。
5. 如權利要求l所述的相機,其特征在于,還包括用于根據在用戶將所述相 機在場景上搖攝時所計算的圖像重疊來自動觸發圖像捕捉的裝置。
6. 如權利要求l所述的相機,其特征在于,還包括用于在所述馬賽克圖像的 實時生成過程中向所述馬賽克圖像添加每個圖像時自動標識和刪除冗余圖像信息 的裝置。
7. 如權利要求l所述的相機,其特征在于,還包括用于在向所述馬賽克添加 圖像時實時地自動縮放所述馬賽克圖像以適應所述顯示裝置的范圍的裝置。
8. 如權利要求7所述的相機,其特征在于,還包括用于根據所述馬賽克圖像 的所述縮放來自動縮放被映射到所述馬賽克圖像的所述顯示窗口的裝置。
9. 如權利要求l所述的相機,其特征在于,還包括用于在所述顯示裝置上自 動顯示關于示出通過所述相機透鏡的所述當前視圖的所述顯示窗口與在所述顯示 屏幕上顯示的所述馬賽克圖像之間的線索丟失的提示的裝置,所述提示包括關于如 何重新獲得將所述顯示窗口自動映射到所述馬賽克圖像上的所述對應位置的所述 線索的建議。
10. —種具有用于自動生成實時馬賽克預覽圖像的計算機可執行指令的計算機可讀介質,所述計算機可執行指令包括 從輸入相機接收多個輸入場景圖像;在從所述輸入相機接收每個圖像時從所述輸入圖像實時地構建馬賽克圖像, 并在耦合到所述輸入相機的顯示裝置上顯示所述馬賽克圖像;將所述輸入相機的當前視圖實時地作為所顯示的馬賽克圖像上已映射覆蓋來 顯示;以及顯示作為所述馬賽克圖像上已映射覆蓋的經自動調整尺寸的剪切框,所述剪 切框示出馬賽克圖像上在對所述馬賽克圖像的自動剪切之后將保留的區域。
11. 如權利要求IO所述的計算機可讀介質,其特征在于,還包括自動檢測所 述馬賽克圖像上的缺陷,并且經由所述顯示裝置提供自動提示,所述提示針對所標 識的缺陷的類型。
12. 如權利要求IO所述的計算機可讀介質,其特征在于,所標識的缺陷的所 述類型包括以下的任一個重影相關的缺陷; 圖像間隙相關的缺陷;以及線索丟失缺陷,與將所述輸入相機的所述當前視圖映射到所述馬賽克圖像以 及將所述輸入圖像之一映射到所述馬賽克圖像以用于構建所述馬賽克圖像中的任 一個相關。
13. 如權利要求10所述的計算機可讀介質,其特征在于,所構建的所述馬賽 克圖像是低保真度的預覽圖像,并且關于用于構建所述低保真度預覽圖像的所述輸 入圖像之間的空間關系的初步圖像拼接信息被存儲并用于初始化所述輸入圖像的 事后拼接以構建最終的馬賽克圖像。
14. 如權利要求IO所述的計算機可讀介質,其特征在于,所述馬賽克圖像是 最終馬賽克圖像,并且在向所述最終馬賽克圖像添加每個圖像時,用于構建所述最 終馬賽克圖像的所述輸入圖像被自動丟棄。
15. 如權利要求IO所述的計算機可讀介質,其特征在于,還包括根據在所述 相機搖攝場景時所計算的圖像重疊,從所述輸入相機自動觸發圖像捕捉。
16. —種用于經由迭代取景器顯示來生成馬賽克圖像的系統,包括 在由相機設備捕捉多個輸入圖像時,從所述相機裝置向計算裝置實時地提供所述圖像;在由所述計算裝置從所述相機裝置接收每個圖像時,從所述輸入圖像實時地構建馬賽克圖像;在從所述輸入圖像實時地構建所述馬賽克時,在耦合于所述計算裝置的顯示 裝置上實時地顯示所述馬賽克圖像;顯示示出通過所述相機裝置的相機透鏡的當前視圖的取景器窗口,所述取景 器窗口被實時地自動映射到在所述顯示裝置上顯示的所述馬賽克圖像上的對應位 置;以及顯示作為所述馬賽克圖像上的己映射覆蓋的經自動調整尺寸的剪切框,所述 剪切框示出所述馬賽克圖像上在所述馬賽克圖像的自動剪切之后將保留的區域。
17. 如權利要求16所述的系統,其特征在于,所述計算裝置與所述相機一體化。
18. 如權利要求16所述的系統,其特征在于,還包括在所述馬賽克圖像的實 時構建過程中向所述馬賽克圖像添加每個圖像時,從所述輸入圖像自動標識和刪除 冗余圖像信息。
19. 如權利要求16所述的系統,其特征在于,所述馬賽克圖像是360度馬賽 克圖像。
20. 如權利要求16所述的系統,其特征在于,還包括自動檢測所述馬賽克圖 像中的缺陷,并且經由所述顯示裝置提供自動提示,所述提示針對所標識的缺陷的 類型。
全文摘要
“全景取景器”提供在數碼相機顯示屏幕上操作的直觀交互式取景器顯示。該直觀取景器在捕捉用于構建全景圖像馬賽克時提供實時幫助。全景取景器從以任何次序捕捉的圖像“刷”全景,同時向用于提供視覺反饋用于確保所需場景元素出現在最終全景中。該視覺反饋示出捕捉圖像時全景的實時拼接預覽。在一實施方式中,全景取景器的取景器顯示包括示出所捕捉圖像的拼接馬賽克預覽的“馬賽克預覽”;表示相機取景器的“當前內容”的實況顯示窗口,它被映射到馬賽克預覽中的匹配位置;以及覆蓋馬賽克預覽上的任選全景“剪切框”,它示出馬賽克上將免于馬賽克的矩形剪切的部分。
文檔編號G03B17/18GK101228477SQ200680027234
公開日2008年7月23日 申請日期2006年7月28日 優先權日2005年7月28日
發明者C·保爾, D·斯蒂勒, D·譚, E·魯多夫, M·尤特納達勒, P·巴蒂舒, R·茨勒利姿 申請人:微軟公司