TWI622021B - 具接合功能的全景影像產生方法及裝置 - Google Patents
具接合功能的全景影像產生方法及裝置 Download PDFInfo
- Publication number
- TWI622021B TWI622021B TW106125030A TW106125030A TWI622021B TW I622021 B TWI622021 B TW I622021B TW 106125030 A TW106125030 A TW 106125030A TW 106125030 A TW106125030 A TW 106125030A TW I622021 B TWI622021 B TW I622021B
- Authority
- TW
- Taiwan
- Prior art keywords
- vertex
- image
- torsion
- coefficient
- texture
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 58
- 238000012545 processing Methods 0.000 claims abstract description 123
- 238000013507 mapping Methods 0.000 claims abstract description 59
- 238000012937 correction Methods 0.000 claims abstract description 22
- 238000002156 mixing Methods 0.000 claims description 77
- 239000013598 vector Substances 0.000 claims description 37
- 238000005457 optimization Methods 0.000 claims description 25
- 238000005070 sampling Methods 0.000 claims description 16
- 238000005259 measurement Methods 0.000 claims description 14
- 230000000694 effects Effects 0.000 claims description 8
- 238000012360 testing method Methods 0.000 claims description 7
- 238000003672 processing method Methods 0.000 claims description 6
- 238000010397 one-hybrid screening Methods 0.000 claims 1
- 238000003384 imaging method Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 12
- 230000007547 defect Effects 0.000 description 6
- 239000000203 mixture Substances 0.000 description 5
- 238000011161 development Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000003708 edge detection Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 101100129500 Caenorhabditis elegans max-2 gene Proteins 0.000 description 1
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 230000001595 contractor effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/18—Image warping, e.g. rearranging pixels individually
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/698—Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/32—Indexing scheme for image data processing or generation, in general involving image mosaicing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Studio Devices (AREA)
Abstract
本發明揭露一種頂點處理裝置,適用於一影像處理系統,該影像處理系統包含一影像擷取裝置且該影像擷取裝置產生多個相機影像,該裝置包含一係數內插單元及一座標修正單元。該係數內插單元,對於一頂點列表的各頂點,根據n個扭轉係數以及各頂點於各相機影像的原始紋理座標,產生各相機影像的內插扭轉係數。該座標修正單元根據各頂點於各相機影像的原始紋理座標及該內插扭轉係數,計算各頂點於各相機影像的修正紋理座標。該頂點列表包含多個具有資料結構的頂點,且該些資料結構定義一全景影像及該些相機影像之間的頂點映射。該n個扭轉係數對應至該全景影像中n個重疊區域。
Description
本發明係有關於全景影像成像(panoramic imaging),特別地,尤有關於一種具接合功能的全景影像產生方法及裝置。
360度全景影像,又稱為360全景影像、全(full)環景影像、球面(spherical)影像,是真實世界全景的視訊記錄,同時記錄了每一個方向的視野,且利用一全方向(omnidirectional)相機或一組相機(camera)來拍攝。一個360度全景影像涵蓋360度的水平視域(field of view,FOV)及180度的垂直視域。
等距長方視訊(equirectangular video)是一種使用於360度視訊的常見投影方式。等距長方投影的常見例子是一張標準的世界地圖,係將世界的球體表面映射到正交的坐標,亦即,等距長方投影將一個球面的地球的緯度及經度座標直接映射到網格(grid)的水平及垂直座標。在赤道上的影像扭曲(distortion)程度最小,而在南北極處的影像扭曲程度則無限大。二極點(即天頂(Zenith)、天底(Nadir))分別位在
頂部及底部邊緣,而且被延伸為等距長方影像的全部寬度。
第1圖根據台灣專利申請號106113372(上述專利的內容在此被整體引用作為本說明書內容的一部份)的內容,顯示一習知全景影像處理系統之示意圖。請參考第1圖,習知全景影像處理系統10包含一影像擷取模組11、一影像處理裝置13、一影像編碼模組12以及一對應性產生器(correspondence generator)15。該影像擷取模組11包含多台相機,可捕捉到一個視野,具有360度的水平FOV及180度的垂直FOV,以產生複數個相機影像。影像處理裝置13從該影像擷取模組11接收到該些相機影像之後,根據一原始頂點列表(vertex list),進行柵格化(rasterization)操作、紋理映射(texture mapping)操作以及混合(blending)操作,以產生一全景影像。最後,該影像編碼模組12將該全景影像編碼,並傳送該編碼視訊資料。
該些相機被妥善設置,故可涵蓋系統360度的水平視域及180度的垂直視域。例如,如第2A圖所示,該影像擷取模組11包含六台相機(圖未示),係分別架設在一立方體架構21的六個表面上,以同時捕捉到一個具有360度水平FOV及180度垂直FOV的真實世界視野,以產生六個相機影像。為方便儲存及顯示於電腦螢幕上,一球面投影被映射到一等距長方全景影像,而該等距長方全景影像的外觀比(aspect ratio)是2:1、該等距長方全景影像的水平座標代表一
方位角(azimuth angle)θ0°~360°以及該等距長方全景影像的垂直座標代表一仰角(elevation angle)φ-90°~90°。第2B圖顯示一等距長方全景影像,係來自於第2A圖中該影像擷取模組11的六台相機所輸出的六個相機影像的等距長方投影。參考第2B圖,區域26內的像素是由三個相機影像重疊而成、區域24~25內的像素分別是由個二相機影像重疊而成,至於區域23內的像素則來自於單一相機影像。該影像處理裝置13需對該些重疊區域進行混合操作,以接合(stitch)該六個相機影像。
在一理想狀況下,該六台相機(包含相機#1及#2)係同時設置在一立方體架構21的中心32,因此一遠物35的單一理想成像位置(imaging point)33係位在半徑2公尺(r=2)的成像平面(image plane)22上,如第3A圖的左側所示。據此,請參考第3A圖的右側,因為相機影像#1(來自相機#1)的理想成像位置33及相機影像#2(來自相機#2)的理想成像位置33相符,在影像處理裝置13完成影像接合/混合操作後,該等距長方全景影像就會呈現出完美的接合/混合結果。然而,在實際狀況下,相機#1及#2的實際焦點(focal point)36及37係和該最佳焦點32分開,故一遠物35的二個實際成像位置38在成像平面22上是分離的,如第3B圖的左側所示。結果,請參考第3B圖的右側,在該影像處理裝置13完成影像接合/混合操作後,該等距長方全景影像就會清楚呈現出影像不匹配的
缺陷。
本發明提出一種補償方法/裝置,適用於一360度的相機系統中,可減少因該影像擷取模組11的相機中心偏移而引起的影像不匹配的缺陷,並提供全景影像的最佳影像品質。
有鑒於上述問題,本發明的目的之一是提供一種影像處理系統,可減少因該影像擷取模組的相機中心偏移而引起的影像不匹配缺陷,並提供全景影像的最佳影像品質。
根據本發明之一實施例,係提供一種頂點處理裝置,適用於一影像處理系統,該影像處理系統包含一影像擷取模組且該影像擷取模組產生多個相機影像,該頂點處理裝置包含一係數內插單元以及一座標修正單元。該係數內插單元,係對於一頂點列表的各頂點,根據n個扭轉係數以及各頂點於各相機影像的原始紋理座標,產生各相機影像的內插扭轉係數。該座標修正單元,耦接該係數內插單元,根據各頂點於各相機影像的原始紋理座標及該內插扭轉係數,計算各頂點於各相機影像的修正紋理座標。其中,該頂點列表包含多個具有資料結構的頂點,且該些資料結構定義一全景影像及該些相機影像之間的頂點映射;以及,其中,該n個扭轉係數分別表示該全景影像中n個重疊區域的扭轉程度,
以及n>=1。
本發明之另一實施例,係提供一種影像處理系統,接收來自一校正裝置的一第一頂點列表及產生一全景影像,該系統包含一影像擷取模組、一頂點處理裝置、一影像處理裝置、以及一最佳化單元。該影像擷取模組,產生多個相機影像。該頂點處理裝置,根據n個扭轉係數,修正該第一頂點列表中各頂點的紋理座標,以產生一第二頂點列表。該影像處理裝置,根據該些相機影像以及該第二頂點列表,選擇性地形成該全景影像,以及量測該全景影像中n個重疊區域的n個區域誤差量。該最佳化單元,根據該n個區域誤差量,產生該n個扭轉係數。其中,該頂點處理裝置包含一係數內插單元以及一座標修正單元。該係數內插單元,係對於該第一頂點列表的各頂點,根據n個扭轉係數以及各頂點於各相機影像的原始紋理座標,產生各相機影像的內插扭轉係數。該座標修正單元,耦接該係數內插單元,根據各頂點於各相機影像的原始紋理座標及該內插扭轉係數,計算各頂點於各相機影像的修正紋理座標。其中,該第一頂點列表及該第二頂點列表二者皆包含多個具有資料結構的頂點,且該些資料結構定義該全景影像及該些相機影像之間的頂點映射;以及,其中,該n個扭轉係數分別表示該全景影像中n個重疊區域的扭轉程度,以及n>=1。
本發明之另一實施例,係提供一種頂點處理方
法,適用於一影像處理系統,該影像處理系統包含一影像擷取模組且該影像擷取模組產生多個相機影像,該方法包含:對於一頂點列表的各頂點,根據n個扭轉係數以及各頂點於各相機影像的原始紋理座標,得到各相機影像的內插扭轉係數;以及,根據各頂點於各相機影像的原始紋理座標及該內插扭轉係數,計算各頂點於各相機影像的修正紋理座標。其中,該頂點列表包含多個具有資料結構的頂點,且該些資料結構定義一全景影像及該些相機影像之間的頂點映射;以及,其中,該n個扭轉係數分別表示該全景影像中n個重疊區域的扭轉程度,以及n>=1。
本發明之另一實施例,係提供一種影像處理方法,適用於一影像處理裝置,該方法包含:一種影像處理方法,接收來自一校正裝置的一第一頂點列表及產生一全景影像,該方法包含:根據n個扭轉係數,修正該第一頂點列表的所有頂點的紋理座標,以產生一第二頂點列表;根據來自一影像擷取模組的多個相機影像以及該第二頂點列表,選擇性地形成該全景影像;量測該全景影像中n個重疊區域的n個區域誤差量;以及,根據該n個區域誤差量,得到該n個扭轉係數。其中,該修正步驟包含:對於該第一頂點列表的各頂點,根據該n個扭轉係數以及各頂點於各相機影像的原始紋理座標,得到各相機影像的內插扭轉係數;以及,根據各頂點於各相機影像的原始紋理座標及該內插扭轉係數,計算各
頂點於各相機影像的修正紋理座標。其中,該第一頂點列表及該第二頂點列表二者皆包含多個具有資料結構的頂點,且該些資料結構定義該全景影像及該些相機影像之間的頂點映射;以及,其中,該n個扭轉係數分別表示該全景影像中該n個重疊區域的扭轉程度,以及n>=1。
茲配合下列圖示、實施例之詳細說明及申請專利範圍,將上述及本發明之其他目的與優點詳述於後。
10、400‧‧‧全景影像處理系統
11‧‧‧影像擷取模組
12‧‧‧影像編碼模組
13、430、430A、430B‧‧‧影像處理裝置
15‧‧‧對應性產生器
21‧‧‧立方體架構
22‧‧‧球體
21~26‧‧‧重疊區域
23‧‧‧非重疊區域
31‧‧‧物體
32‧‧‧最佳焦點
33‧‧‧理想成像位置
34‧‧‧影像中心
35‧‧‧遠物
36、37‧‧‧實際焦點
38‧‧‧實際成像位置
39‧‧‧近物
40‧‧‧補償裝置
410‧‧‧頂點處理裝置
411‧‧‧係數內插單元
412‧‧‧座標修正單元
420‧‧‧原始組合單元
450‧‧‧最佳化單元
81a、81b‧‧‧柵格化引擎
82b、821~82N‧‧‧紋理映射引擎
83a、83b‧‧‧混合單元
84‧‧‧目的緩衝器
85a、85b‧‧‧量測單元
第1圖顯示一習知全景影像處理系統之示意圖。
第2A圖顯示一立方體架構與一球體之間的關係。
第2B圖顯示一等距長方全景影像,係源自於六個工作面之相機影像(頂面、底面、左面、右面、正面、背面)的等距長方投影。
第3A圖及第3B圖顯示未偏移/被偏移的相機中心而導致的不同接合結果。
第4A圖顯示本發明習知全景影像處理系統之示意圖。
第4B圖係根據本發明一實施例,顯示該頂點處理裝置的示意圖。
第5A圖顯示一個三角形網格,係用以模型化一球體表面。
第5B圖顯示一個多邊形網格,係用以組成/模型化該等
距長方全景影像。
第6A圖顯示一個具有十二個重疊區域的等距長方全景影像之一示例。
第6B圖顯示於一正面相機影像中之目標頂點P1及中心61的關係之一示例。
第6C~6D圖顯示本發明如何改善一遠物例子及一近物例子之影像不匹配的缺陷。
第6E圖顯示一近物例子如何產生一膨脹效果以及一遠物例子如何產生一收縮效果之一示例。
第6F圖顯示一物體31剛好位在該球體/成像平面22上之一示例。
第7A-7C圖顯示該原始組合單元420係根據該調整頂點列表而運作的流程圖。
第7D圖係根據台灣專利申請號106122399的內容,顯示應用於該調整頂點列表的二種三角形網格。
第8A圖係根據本發明一實施例,顯示該影像處理裝置的示意圖。
第8B圖係根據本發明另一實施例,顯示該影像處理裝置的示意圖。
第9A圖顯示重疊區域R(3)被分割為二個分區的一示例。
第9B圖顯示在重疊區域R(3)中的點,以G(=2)的比例被降低取樣頻率的一示例。
第10A圖係根據本發明一實施例,顯示該最佳化單元利用爬山搜索技術之運作方法流程圖。
第10B圖係根據本發明一實施例,顯示該補償裝置在一混合模式中之運作方法之流程圖。
第10C圖係根據本發明一實施例,顯示該補償裝置在一測試模式中之運作方法之流程圖。
在通篇說明書及後續的請求項當中所提及的「一」及「該」等單數形式的用語,都同時包含單數及複數的涵義,除非本說明書中另有特別指明。在通篇說明書中,具相同功能的電路元件使用相同的參考符號。
本發明的特色之一是減少因該影像擷取模組11的相機中心偏移而引起的影像不匹配之缺陷,並提供全景影像的最佳影像品質。
第4A圖顯示本發明全景影像處理系統的示意圖。參考第4A圖,本發明全景影像處理系統400包含一影像擷取模組11、一補償裝置40、一影像編碼模組12、以及一對應性產生器15。該補償裝置40包含一頂點處理裝置410、一最佳化單元450、一原始組合單元420、以及一影像處理裝置430。
該影像擷取模組11可捕捉到一個視野,具有360度的水平FOV及180度的垂直FOV,以產生複數個相機影
像。該影像處理裝置430從該影像擷取模組11接收到該些相機影像之後,根據一組合頂點列表(將於稍後說明),進行柵格化操作、紋理映射操作以及混合操作,以產生一全景影像;此外,該影像處理裝置430亦產生多個區域誤差量。之後,該影像編碼模組12將該全景影像編碼,並傳送該編碼視訊資料。
第5A圖顯示一個三角形網格(mesh),係用以模型化一球體22的表面。第5B圖顯示一個多邊形網格,係用以組成/模型化該等距長方全景影像。透過對第5A圖的三角形網格進行一等距長方投影而產生第5B圖的多邊形網格,而第5B圖的多邊形網格是多個四邊形與多個三角形的集合。請注意,因為對第5A圖的多個極點三角形進行投影而得第5B圖的多邊形網格的最上面一列及最下面一列,故只有第5B圖的多邊形網格的最上面一列及最下面一列是由多個四邊形所形成。在本說明書中,「極點三角形(pole triangle)」一詞指的是:在一個三角形網格中,一個三角形具有一個頂點,係為一極點(天底或天頂,或稱北極點或南極點),而該三角形網格用以模型化第5A圖的球體22表面。
該影像擷取模組11包含複數台相機。該些相機被妥善設置,故可涵蓋系統360度的水平視域及180度的垂直視域。例如,如第2A圖所示,該影像擷取模組11包含六台相機(圖未示),係分別架設在一立方體架構21的六個表面上,
以同時捕捉到一個具有360度水平FOV及180度垂直FOV的真實世界視野,以產生六個相機影像。另一實施例中,該影像擷取模組11包含二個魚眼透鏡(fish-eye lens)(圖未示)。架設該影像擷取模組11的一個必要條件是任二台鄰近相機或透鏡的視野之間應有足夠的重疊,有助於影像拼接(image mosaicking)。請注意,只要能捕捉到一個具有水平360度及垂直180度的FOV,本發明不限制該影像擷取模組11所包含的相機或透鏡的數量。該全景影像的例子包含,但不限於,一個360度全景影像以及一等距長方全景影像。
為清楚及方便描述,以下的例子及實施例皆以該等距長方全景影像做說明,並假設該影像擷取模組11包含六台相機,分別架設在第2A圖的立方體架構21的六個表面上,並產生六個相機影像(頂面、底面、左面、右面、正面、背面)。
第4A圖也顯示本發明全景影像處理系統400的處理管線(pipeline)。該處理管線分為離線階段(offline phase)和連線階段。於離線階段,分別校正該六台相機,該對應性產生器15採用適合的影像對準(registration)技術來產生一原始頂點列表,並且該原始頂點列表中的各頂點(具有自己的資料結構)提供該等距長方全景影像及該些相機影像之間(或該等距長方座標及該些紋理座標之間)的映射關係。例如,半徑2公尺(r=2)的球體22表面上被劃出許多圓圈,當作經度
及緯度,其多個交叉點被視為多個校正點。該六台相機捕捉該些校正點,且該些校正點於該些相機影像上的位置為已知。然後,因為該些校正點和該些相機座標的視角(view angle)被連結,故可建立該等距長方全景影像及該些相機影像之間的映射關係。在本說明書中,具上述映射關係的校正點被定義為一個”頂點”。於離線階段,該對應性產生器15已完成所有必要計算。
根據該等距長方全景影像及該些相機影像的幾何形狀,該對應性產生器15對該多邊形網格(如第5B圖)的各頂點,計算該等距長方座標及該紋理座標,並決定該頂點是否是一極點(天底或天頂,或稱北極點或南極點),以產生一原始頂點列表。最後,該對應性產生器15將該原始頂點列表傳送給該頂點處理裝置410。如台灣專利申請號106113372的內容所載,該原始頂點列表是多個頂點的列表,該些頂點形成該多邊形網格(如第5B圖)的多個四邊形,且各頂點由一相對應資料結構所定義,而該資料結構定義了一目的空間及一紋理空間之間(或該等距長方座標及該紋理座標之間)的頂點映射關係。一實施例中,該原始頂點列表中的各資料結構包含,但不受限於,等距長方座標、一極點旗標、涵蓋/重疊的相機影像數目、在各相機影像中的紋理座標、各相機影像的ID、以及各相機影像的混合權值。
表一顯示該頂點列表中各頂點之資料結構的一
個例子。
於連線階段(online phase),係進行最少的運作來建立該等距長方全景影像。該頂點處理裝置410接收該原始頂點列表及該等距長方全景影像中各重疊區域R(1)~R(n)的扭轉(warping)係數C(1)~C(n)、修正各頂點的所有紋理座標、以及產生一調整頂點列表;其中,n表示該等距長方全景影像中該些重疊區域的數目且n>=1。該原始組合單元420接收該調整頂點列表及產生一組合頂點列表。根據該組合頂點列表,該影像處理裝置430將從該影像擷取模組11後續輸出的相機影像視為紋理、將該些相機影像映射至該多邊形網格、並將其接合以即時(real time)形成該等距長方全景影
像。另外,該影像處理裝置430量測該等距長方全景影像中各重疊區域R(1)~R(n)的區域誤差量E(1)~E(n),並輸出該些區域誤差量E(1)~E(n)。接著,該最佳化單元450接收該些區域誤差量E(1)~E(n),並產生對應的扭轉係數C(1)~C(n)。
一實施例中,根據該些扭轉係數C(1)~C(n),該頂點處理裝置410,以逐頂點(vertex by vertex)的方式,修正該原始頂點列表中各頂點的所有紋理座標以產生一調整頂點列表。例如,若一目標頂點P的資料結構指出N(即涵蓋/重疊的相機影像數目)等於3,該頂點處理裝置410便根據該些扭轉係數C(1)~C(n),分別修正和該目標頂點P有關的三個工作面(face)相機影像的三對紋理座標。其中,該些扭轉係數C(1)~C(n)分別表示該些重疊區域R(1)~R(n)的不同扭轉程度,換言之,重疊區域R(1)具有一扭轉程度/係數C(1)、重疊區域R(2)具有一扭轉程度/係數C(2)等等,依此類推。
第6A圖顯示具有12個重疊區域(n=12)的等距長方全景影像的一示例。請注意,上述具有12個重疊區域(n=12)的等距長方全景影像僅是本發明的一個示例,而非本發明之限制。為清楚及方便描述,以下的例子及實施例皆以一等距長方全景影像具有12個重疊區域R(1)~R(12)為例做說明,即n=12。
第4B圖係根據本發明一實施例,顯示該頂點處理裝置的示意圖。參考第4B圖,頂點處理裝置410包含一係
數內插單元411以及一座標修正單元412。在第6A圖的例子中,該等距長方全景影像具有12個重疊區域R(1)~R(12),故該些重疊區域R(1)~R(12)分別具有扭轉係數C(1)~C(12)。首先,該係數內插單元411接收來自該原始頂點列表的目標頂點P1(及其資料結構),以及來自該最佳化單元450的扭轉係數C(1)~C(12);接著,根據該目標頂點P1的原始紋理座標,該係數內插單元411依序對該些扭轉係數C(1)~C(12)進行內插操作,以產生和該目標頂點P1有關的各相機影像的內插扭轉係數C’。以正面相機影像為例,假設該目標頂點P1在正面相機影像中具有原始紋理座標(u1,v1)。第6B圖顯示於一正面相機影像中之目標頂點P1及中心61的關係之一示例,其中在該正面相機影像的重疊區域R(3)、R(6)、R(7)、R(11)分別具有扭轉程度/係數C(3)、C(6)、C(7)、C(11)。一實施例中,根據二個角度θ1及θ2,該係數內插單元411對該目標頂點P1(在該正面相機影像中具有原始紋理座標(u1,v1))最鄰近的重疊區域R(3)、R(7)的扭轉係數C(3)、C(7),進行內插操作,以產生該目標頂點P1在該正面相機影像的內插扭轉係數C’。在本實施例中,該目標頂點P1在該正面相機影像的內插扭轉係數C’定義如下:C’=C(3)*θ1/(θ1+θ2)+C(7)*θ2/(θ1+θ2)。其中,該角度θ1形成於一第二向量V2(以影像中心61(具紋理座標(ucenter,vcenter))為起點,以該目標頂點P1為終點)及一第一向量V1(以影像中心61)為起點,以重疊區域R(7)的位置63為終點)之
間,以及該角度θ2形成於該第二向量V2及一第三向量V3(以影像中心61為起點,以重疊區域R(3)的位置62為終點)之間。
另一實施例中,根據二個角度θ3及θ4,該係數內插單元411對該目標頂點P1(在該正面相機影像中具有原始紋理座標(u1,v1))鄰近的重疊區域R(6)、R(11)的扭轉係數C(6)、C(11),進行內插操作,以產生該目標頂點P1在該正面相機影像的內插扭轉係數C’。在本實施例中,該目標頂點P1在該正面相機影像的內插扭轉係數C’定義如下:C’=C(6)*θ3/(θ3+θ4)+C(11)*θ4/(θ3+θ4)。其中,該角度θ3形成於該第二向量V2(以影像中心61為起點,以該目標頂點P1為終點)及一第五向量V5(以影像中心61為起點,以重疊區域R(11)的位置65為終點)之間,以及該角度θ4形成於該第二向量V2及一第四向量V4(以影像中心61為起點,以重疊區域R(6)的位置64為終點)之間。
另一實施例中,根據二個角度θ1及θ4,該係數內插單元411對該目標頂點P1(在該正面相機影像中具有原始紋理座標(u1,v1))鄰近的重疊區域R(6)、R(7)的扭轉係數C(6)、C(7),進行內插操作,以產生該目標頂點P1在該正面相機影像的內插扭轉係數C’。在本實施例中,該目標頂點P1在該正面相機影像的內插扭轉係數C’定義如下:C’=C(6)*θ1/(θ1+θ4)+C(7)*θ4/(θ1+θ4)。其中,一重疊區域(例如:R(3)、或R(6)、或R(7)、或R(11))的位置(如62或63或64或65)
包含,但不限於,該重疊區域的重心(gravity center)、該重疊區域的區域中心、及該重疊區域的中間點(median point)。
請注意,上述相對於該目標頂點P1的鄰近重疊區域的扭轉係數數目等於2僅是本發明的一個示例,而非本發明之限制。實際實施時,透過任何目前已知內插演算法,例如多項式(polynomial)內插演算法,可使用(超過二個鄰近重疊區域的)超過二個扭轉係數,以得到該內插扭轉係數C’。另一實施例中,根據複數個角度,該係數內插單元411對該目標頂點P1(在該正面相機影像中具有原始紋理座標(u1,v1))之超過二個鄰近重疊區域的超過二個扭轉係數,進行內插操作,以產生該目標頂點P1在該正面相機影像的該內插扭轉係數C’。舉例而言,根據該多項式內插演算法,該係數內插單元411藉由下列方程式,利用四個扭轉係數C(3)、C(6)、C(7)、C(11)及四個角度(θ1、θ2、θ3、θ4),計算該目標頂點P1在正面相機影像中的內插扭轉係數C’:
於接收該內插扭轉係數C’後,該座標修正單元412根據下列方程式,計算該目標頂點P1在正面相機影像中的修正紋理座標(u1’,v1’):u1’=(u1-ucenter)* C’+ucenter;v1’=(v1-vcenter)*C’+vcenter
依此方式,該目標頂點P1在正面相機影像中的原始紋理座標(u1,v1)就被改變成為修正紋理座標(u1’,v1’)。
同樣地,對於一頂點的原始紋理座標係位在該背面相機影像時,可使用重疊區域R(1)、R(5)、R(8)、R(9)的扭轉係數C(1)、C(5)、C(8)、C(9)來計算出該頂點的修正紋理座標;對於一頂點的原始紋理座標係位在該頂面相機影像時,可使用重疊區域R(1)、R(2)、R(3)、R(4)的扭轉係數C(1)、C(2)、C(3)、C(4)來計算出該頂點的修正紋理座標;對於一頂點的原始紋理座標係位在該底面相機影像時,可使用重疊區域R(9)、R(10)、R(11)、R(12)的扭轉係數C(9)、C(10)、C(11)、C(12)來計算出該頂點的修正紋理座標等等,依此類推。依此方式,根據該些扭轉係數C(1)~C(12),該頂點處理裝置410依序修正來自該原始頂點列表之各頂點之所有工作面相機影像的所有紋理座標,以產生該調整頂點列表。
在該頂點處理裝置410根據該些扭轉係數C(1)~C(12)修正完來自該原始頂點列表之所有頂點之所有紋理座標之後,將大幅改善上述影像不匹配的缺陷,如第6C~6D圖所示。第6C~6D圖顯示本發明如何改善拍攝一遠物及一近物時的影像不匹配的缺陷。在本說明書中,「遠物(far object)」一詞指的是:位在該球體22(例如具半徑2公尺,r=2)
之外的物體35,如第6C圖所示;「近物(far object)」一詞指的是:位在該球體22之內的物體39,如第6D圖所示。因為相機#1及#2的實際焦點36及37係和最佳焦點32分離,故二個實際成像位置38也分別和理想成像位置33分離,如第6C~6D圖所示。在該遠物例子中,其實際成像位置38係相對地接近影像中心34,故該頂點處理裝置410需將該些實際成像位置38”推開遠離”該些影像中心34,如第6C圖所示,在該頂點處理裝置410根據該些扭轉係數C(1)~C(12)修正完相機#1及#2的所有紋理座標(從位置38改變至位置33)之後,上述影像不匹配的缺陷將大幅改善。相反地,在該近物例子中,其實際成像位置38係相對地遠離影像中心34,故該頂點處理裝置410需將該些實際成像位置38”拉得更接近”該些影像中心34,如第6D圖所示,在該頂點處理裝置410根據該些扭轉係數C(1)~C(12)修正完相機#1及#2的所有紋理座標(從位置38改變至位置33)之後,上述影像不匹配的缺陷將大幅改善。
本發明將該些扭轉係數C(1)~C(n)視為在紋理(或相機影像)邊界的物體深度。以下,再次以正面相機影像為例做說明,並假設二個頂點P1及P2分別具有原始紋理座標(u1,v1)及(u2,v2)、頂點P1屬於該近物例子,而頂點P2屬於該遠物例子,如第6E圖所示。如上所述,對於頂點P1的近物例子而言,因為其實際成像位置(u1,v1)係相對地遠離影像中心61,故該頂點處理裝置410需將該些實際成像位置(u1,v1)”
拉得更接近”該影像中心61;對於頂點P2的遠物例子而言,因為其實際成像位置(u2,v2)係相對地接近影像中心61,故該頂點處理裝置410需將該些實際成像位置(u2,v2)”推開遠離”該影像中心61。另假設扭轉係數C(3)=1、C(6)=0.8、C(7)=1.2及C(11)=1,該頂點處理裝置410根據C(6),將頂點P1的原始紋理座標(u1,v1)修正至(u1’,v1’),以及根據C(7),將頂點P2的原始紋理座標(u2,v2)修正至(u2’,v2’),如第6E圖的下半部所示。由於頂點P1的等距長方座標(X1,Y1)未改變,在該影像處理裝置430將該正面相機影映射至該等距長方全景影像後,會產生一拉開(pull-away)或膨脹(expansion)的影像效果;由於頂點P2的等距長方座標(X2,Y2)未改變,在該影像處理裝置430將該正面相機影映射至該等距長方全景影像後,會產生一收縮(shrink)的影像效果。
一個特殊例子是一物體31剛好位在該球體/成像平面22上,因為相機影像#1的實際成像位置38與相機影像#2的實際成像位置38相符,在該影像處理裝置430完成影像接合/混合操作後,該等距長方全景影像會呈現出完美的接合/混合效果,如第6F圖所示。因此,在此特殊例子中,無需修正相機影像#1及#2的任何實際成像位置及紋理座標,此外,在相機影像#1及#2之間的重疊區域具有一扭轉係數/程度係等於1。
第7A-7C圖係根據該調整頂點列表,顯示該原始
組合單元420運作的流程圖。第7D圖係根據台灣專利申請號106122399(上述專利的內容在此被整體引用作為本說明書內容的一部份)的內容,顯示應用於該調整頂點列表的二種三角形網格。參考第7D圖,應用於該調整頂點列表的三角形網格有二種:扇形及長條形。例如:扇形三角形網格適用於第5B圖的多邊形網格的最上面一列及最下面一列,而長條形三角形網格則適用於第5B圖的多邊形網格的其他列。請注意,雖然第7D圖的扇形三角形網格及長條形三角形網格內的頂點數目(Nv)分別是5及6,實際實施時,可根據不同需求而任意定義不同的頂點數目。該調整頂點列表包含多個網格封包(packet),且各網格封包包含一標頭(header)及一承載資料部(payload)。該標頭包含一型式旗標(指出是扇形或長條形)及一數目Nv。該數目Nv指出有Nv個頂點(即Nv個資料結構)包含在該承載資料部或該三角形網格內。以下,請參考第4A、5A-5B及7A-7D圖,說明該原始組合單元420的運作。假設該該頂點處理裝置410已事先將該調整頂點列表傳送給該原始組合單元420。
步驟S702:判斷是否已處理完來自該調整頂點列表的所有網格封包。若是,本流程結束,否則,跳到步驟S704。
步驟S704:接收一型式旗標及一數目Nv。亦即:接收一網格封包的一標頭。
步驟S706:判斷該型式旗標為何。若是扇形,跳到步驟S708;若是長條形,跳到步驟S732。
步驟S708:接收一第一頂點如V1及一第二頂點如V2,並將一參數cnt的值設為2。
步驟S710:接收下一個頂點如V3,並將參數cnt的值加1。
步驟S712:根據該頂點V1的資料結構中的極點旗標,判斷該頂點V1是否為一極點。若是,跳到步驟S714;否則,跳到步驟S720。
步驟S714:利用頂點V1、V1’、V2、V3組成一個四邊形,並輸出四個原始頂點V1、V1’、V2、V3及其資料結構當作該組合頂點列表的一部分。如上所述,該扇形三角形網格適用於多邊形網格的最上面一列及最下面一列,由於頂點V1被視為一極點,故頂點V1’相當於頂點V1。
步驟S716:複製頂點V3至頂點V2。亦即:以頂點V3替代頂點V2。
步驟S718:判斷該參數cnt的值是否大於或等於Nv。若是,跳到步驟S702;否則,跳到步驟S710。
步驟S720:利用頂點V1、V2、V3組成一個三角形,並輸出三個原始頂點V1、V2、V3及其資料結構當作一組合頂點列表的一部分。
步驟S732:接收一第一頂點如V1及一第二頂點
如V2,並將一參數cnt設為2。
步驟S734:接收後續二個頂點如V3、V4,並將參數cnt的值加2。本例中,四邊形V1-V4被分割為二個三角形V1、V3、V4及V1、V2、V4。
步驟S736:利用頂點V1、V3、V4組成一個三角形,並輸出三個原始頂點V1、V3、V4及其資料結構當作該組合頂點列表的一部分。
步驟S738:利用頂點V1、V2、V4組成一個三角形,並輸出三個原始頂點V1、V2、V4及其資料結構當作該組合頂點列表的一部分。
步驟S740:複製頂點V3至頂點V1、複製頂點V4至頂點V2。亦即:以頂點V3替代頂點V1、以頂點V4替代頂點V2。
步驟S742:判斷該參數cnt的值是否大於或等於Nv。若是,跳到步驟S702;否則,跳到步驟S734。
簡言之,若一網格封包沒有包含任何極點,該原始組合單元420輸出一個包含三個原始頂點的群組,若有包含一極點,該原始組合單元420輸出一個包含四個原始頂點的群組。
本發明補償裝置40係運作於一顯像(rendering)模式、一測試模式以及一混合模式之其一(請參考第10B-10C圖)。在該混合模式中,在接收該組合頂點列表及該六個工
作面相機影像之後,該影像處理裝置430除了產生一等距長方全景影像之外,更產生該等距長方全景影像之重疊區域R(1)~R(12)的區域誤差量E(1)~E(12)。有關該影像處理裝置430A/B產生該等距長方全景影像的詳細運作方式,請參考台灣專利申請號106113372的揭露內容。
第8A圖係根據本發明一實施例,顯示該影像處理裝置的示意圖。請參考第8A圖,該影像處理裝置430A包含一柵格化引擎(rasterization engine)81a、一紋理映射電路82、一混合單元83a、一目的緩衝器84以及一量測單元85a。該紋理映射電路82包含N個紋理映射引擎821~82N。
在該混合模式下,首先,該柵格化引擎81a接收該組合頂點列表,並每次從該組合頂點列表擷取出一個包含複數個頂點的群組,該些頂點形成一多邊形。接著,該柵格化引擎81a從形成該多邊形的各頂點的資料結構中,判斷該涵蓋/重疊的相機影像數目N的大小。若N=1,該柵格化引擎81a將一控制訊號CS1設為無效(de-assert)以禁能(disable)該量測單元85a;否則,該柵格化引擎81a將該控制訊號CS1設為有效(assert)以致能該量測單元85a。若N=2,該柵格化引擎81a對第5B圖多邊形網格之一多邊形的一點Q(具等距長方座標(x,y))進行多邊形柵格化操作,以產生二個相機影像的二對紋理座標及二個工作面混合權值。若N>2,該柵格化引擎81a從N個涵蓋/重疊的相機影像中任意選擇其中二個相機
影像,並對第5B圖多邊形網格之一多邊形的一點Q(具等距長方座標(x,y))進行多邊形柵格化操作,以產生該二個相機影像的二對紋理座標及二個工作面混合權值。
該些相機影像包含,但不限於,YUV彩色影像、RGB彩色影像、亮度(luminance)影像、邊緣(edge)影像、及移動向量(motion vectot)影像。如業界所熟知的,藉由施加一邊緣偵測運算子(operator)(如一坎尼(Canny)邊緣檢測運算子或一索貝(Sobel)運算子)至一普通彩色影像,可得一邊緣影像;利用已知演算法(如區塊匹配演算法、像素遞迴(recursive)演算法、或光流(optical flow)),對二張連續相機影像(如二張頂面相機影像(t0)及(t1))進行移動偵測,可得一移動向量影像。
當N>=2時,根據該二對紋理座標,該紋理映射電路82的二個紋理映射引擎(如第8A圖中821~822)利用任何合適的方法(例如最近相鄰內插法(nearest-neighbor interpolation)、雙線性(bilinear)內插法、或三線性(trilinear)內插法),紋理映射上述二個相機影像的紋理資料,以平行地產生二個取樣值(s1、s2)。其中,各取樣值(s1、s2)可以是一亮度(luma)值、一色度(chroma)值、一邊緣值、一像素彩色值(RGB)、,或一移動向量。根據該二個工作面混合權值,該混合單元83a將該二個取樣值(s1、s2)混合在一起,以產生該點Q的混合值Vb,然後將該點Q的混合值Vb儲存於該目的緩衝器
84。依此方式,該混合單元83a依序儲存該些混合值Vb至該目的緩衝器84,直到該多邊形內的所有點都處理完為止。一旦處理完所有四邊形,便建立了一個等距長方全景影像。另一方面,在建立該等距長方全景影像的過程中,量測單元85a同時根據該點Q的等距長方座標(x,y)及二個取樣值(s1、s2),量測/估計該等距長方全景影像之重疊區域R(1)~R(12)的區域誤差量E(1)~E(12)。
一實施例中,在該混合模式中的影像處理裝置430A的運作方式說明如下,並假設該柵格化引擎81a為第5B圖多邊形網格的中間列(不是最上面一列及最下面一列),每次從該組合頂點列表擷取出三個頂點(可形成一三角形),且該多邊形網格之一三角形的各頂點(A、B、C)被二個工作面相機影像所重疊(例如:正面及頂面;N=2)。該三個頂點(A、B、C)分別具有以下資料結構,被包含於該組合頂點列表中:頂點A:{(xA,yA),0,2,IDFront,(u1A,v1A),w1A,IDTop,(u2A,v2A),w2A};頂點B:{(xB,yB),0,2,IDFront,(u1B,v1B),w1B,IDTop,(u2B,v2B),w2B};頂點C:{(xC,yC),0,2,IDFront,(u1C,v1C),w1C,IDTop,(u2C,v2C),w2C}。其中,各頂點A、B、C都不是一極點。
因為N>1,該柵格化引擎81a將該控制訊號CS1設為有效以致能該量測單元85a,並對該三角形ABC內的各點進行三角形柵格化操作。具體而言,該柵格化引擎81a將一個點Q的等距長方座標(x,y)傳送給該量測單元85a,並利
用以下步驟,計算該點Q(具有等距長方座標(x,y)且位在該多邊形網格的該三角形ABC內)於各相機影像的紋理座標及工作面混合權值:1.利用一重心加權(barycentric weighting)方法,根據等距長方座標(xA,yA,xB,yB,xC,yC,x,y),計算三個空間權值(a,b,c);2.計算一正面相機影像中一取樣點QF(對應該點Q)之工作面混合權值:fw1=a*w1A+b*w1B+c*w1C;計算一頂面相機影像中一取樣點QT(對應該點Q)之工作面混合權值:fw2=a*w2A+b*w2B+c*w2C;3.計算該正面相機影像中該取樣點QF(對應該點Q)之紋理座標:(u1,v1)=(a*u1A+b*u1B+c*u1C,a*v1A+b*v1B+c*v1C);計算該頂面相機影像中該取樣點QT(對應該點Q)之紋理座標:(u2,v2)=(a*u2A+b*u2B+c*u2C,a*v2A+b*v2B+c*v2C)。最後,該柵格化引擎81a將該二對紋理座標(u1,v1)、(u2,v2)平行地傳送給該紋理映射電路82。其中,a+b+c=1且fw1+fw2=1。根據該二對紋理座標(u1,v1)、(u2,v2),該二個紋理映射引擎(例如第8A圖的821~822)利用任何合適的方法(例如最近相鄰內插法、雙線性內插法、或三線性內插法),紋理映射上述二個相機影像的紋理資料,以產生二個取樣值s1、s2,然後將該二個取樣值s1、s2傳送給該混合單元83a。該混合單元83a接收從該柵格化引擎81a輸出的該二個工作面混合權值(fw1,fw2)之後,利用以下方程式:Vb=fw1*s1+fw2*s2,將該二個取樣值s1、s2混合在一起,以產生該點Q的混合值Vb。最後,該混合單元83a將該點Q的混合值Vb儲存至該目的緩衝器84。
從資料結構可看出,各頂點(A、B、C)均被該正面相機影像及該頂面相機影像所重疊。根據該點Q的該等距長方座標(x,y),量測單元85a判斷該點Q是否落入第6A圖的12個重疊區域之一,例如R(3),若判斷該點Q有落入區域R(3),即開始估計/量測區域R(3)的區域誤差量。
該量測單元85a可利用任何已知的演算法,例如絕對差值和(sum of absolute differences)、平方差值和(sum of squared differences)、中位數絕對誤差(median absolute deviation)等等,估計/量測多個重疊區域的區域誤差量。舉例而言,該量測單元85a累積該正面相機影像中重疊區域R(3)的各點與該頂面相機影像中重疊區域R(3)的對應點之間的取樣值差異的絕對值,透過下列方程式:E=|s1-s2|;E(3)+=E,以得到一SAD值當作該區域R(3)的區域誤差量E(3)。依此方式,該量測單元85a量測12個重疊區域R(1)~R(12)的區域誤差量E(1)~E(12)。
在該顯像模式中,該柵格化引擎81a將該控制訊號CS1設為無效以禁能該量測單元85a,並對第5B圖多邊形網格之一多邊形的一點Q(具等距長方座標(x,y))進行多邊形柵格化操作,以產生N個相機影像的N對紋理座標及N個工作面混合權值。此外,該N個紋理映射引擎821~82N被啟動,並利用任何合適的內插方法,紋理映射上述N個相機影像的紋理資料,以平行地產生N個取樣值(s1、…、sN)。該混合單元
83a根據N個工作面混合權值(fw1,...,fwN),將該N個取樣值(s1、…、sN)混合在一起,以產生該點Q的混合值Vb,再將該點Q的混合值Vb儲存至該目的緩衝器84。依此方式,該混合單元83a依序儲存該些混合值Vb至該目的緩衝器84直到該多邊形內的所有點都處理完成為止。一旦處理完所有多邊形,便建立了一個等距長方全景影像。
第8B圖係根據本發明另一實施例,顯示該影像處理裝置的示意圖。請參考第8B圖,該影像處理裝置430B包含一柵格化引擎81b、一紋理映射引擎82b、一混合單元83b、一目的緩衝器84以及一量測單元85b。如第8B圖清楚所示,本實施例中,僅包含一個紋理映射引擎82b。為方便解釋,以下利用上述相同的例子(具等距長方座標(x,y)的點Q係位在該多邊形網格的該三角形ABC內)來說明該影像處理裝置430B的運作方式。
在該混合模式下,該柵格化引擎81b的大部分運作都相同於該柵格化引擎81a,除了當N>1時,該柵格化引擎81b係依序傳送二對紋理座標(u1,v1)及(u2,v2)至該紋理映射引擎82b及傳送二個工作面混合權值至該混合單元83b。換言之,若N=2,該柵格化引擎81b於計算出二個相機影像的二對紋理座標(u1,v1)及(u2,v2)及二個工作面混合權值(fw1,fw2)之後,每次傳送一對紋理座標及一個工作面混合權值(總共傳送二次)。若N>2,該柵格化引擎81b從該N個涵蓋/重疊的相
機影像中任意選出其中二個相機影像,並於計算出該二個相機影像的二對紋理座標(u1,v1)及(u2,v2)及二個工作面混合權值(fw1,fw2)之後,每次傳送一個紋理座標及一個工作面混合權值(總共傳送二次)。然後,該紋理映射引擎82b需執行二次以下的操作,亦即,接收紋理座標、紋理映射一相機影像的紋理資料以產生一取樣值以及將該取樣值傳送至該混合單元83b。接著,該混合單元83b根據該二個取樣值(s1,s2)及該二個工作面混合權值(fw1,fw2),也進行二次/回合儲存操作。具體而言,在第一次/回合時,該混合單元83b接收該取樣值s1、並將該取樣值s1儲存於該目的暫存器84;在第二次/回合時,該混合單元83b從該目的暫存器84取出該暫時值s1、接收該取樣值s2及工作面混合權值fw2、根據方程式Vb=fw1*s1+fw2*s2計算該混合值Vb、再將該混合值Vb儲存於該目的暫存器84。其中,fw1+fw2=1。請注意,該暫時值s1也被傳送至該量測單元85b。依此方式,該混合單元83b依序儲存各點/像素的混合值Vb至該目的緩衝器84直到該三角形ABC內的所有點都處理完成為止。一旦處理完所有四邊形/三角形,便建立了一個等距長方全景影像。
根據該點Q的該等距長方座標(x,y),量測單元85b判斷該點Q是否落入上述12個重疊區域之一,例如R(3),若判斷該點Q有落入區域R(3),即開始估計/量測區域R(3)的區域誤差量。舉例而言,該量測單元85b累積該正面相機影
像中重疊區域R(3)的各點與該頂面相機影像中重疊區域R(3)的對應點之間的取樣值差異的絕對值,透過下列方程式:E=|s1-s2|;E(3)+=E,以得到一SAD值當作該區域R(3)的區域誤差量E(3)。依此方式,該量測單元85b量測12個重疊區域R(1)~R(12)的12個區域誤差量E(1)~E(12)。
在該顯像模式中,該柵格化引擎81b將該控制訊號CS1設為無效以禁能該量測單元85b,並對第5B圖多邊形網格之一多邊形的一點Q(具等距長方座標(x,y))進行多邊形柵格化操作、依序傳送N個相機影像的N對紋理座標至該紋理映射引擎82b及傳送N個工作面混合權值至該混合單元83b。然後,該紋理映射引擎82b需執行N次以下的操作,亦即,接收紋理座標、紋理映射一相機影像的紋理資料以產生一取樣值以及將該取樣值傳送至該混合單元83b。接著,該混合單元83b根據N個取樣值(s1,..,sN)及N個工作面混合權值(fw1,...fwN),也進行N次/回合儲存操作,並根據方程式Vb=fw1*s1+...+fwN*sN,得到該混合值Vb。最後,該混合單元83b將該些混合值Vb儲存於該目的暫存器84。其中,fw1+...+fwN=1。依此方式,該混合單元83b依序儲存各點/像素的混合值Vb至該目的緩衝器84直到該多邊形的所有點都處理完成為止。一旦處理完所有多邊形,便建立了一個等距長方全景影像。
一實施例中,在該混合模式中的影像處理裝置430A的運作方式說明如下,並假設該柵格化引擎81a為了第
5B圖多邊形網格的最上面一列及最下面一列,每次從該組合頂點列表擷取出四個頂點(可形成一四邊形),該多邊形網格之一四邊形的各頂點(A、B、C’、D)被二個工作面相機影像(例如:正面及頂面;N=2)所重疊。該四個頂點(A、B、C’、D)分別具有以下資料結構,被包含於該組合頂點列表中:頂點A:{(xA,yA),0,2,IDFront,(u1A,v1A),w1A,IDTop,(u2A,v2A),w2A};頂點B:{(xB,yB),0,2,IDFront,(u1B,v1B),w1B,IDTop,(u2B,v2B),w2B};頂點C’:{(xC,yC),1,2,IDFront,(u1C,v1C),w1C,IDTop,(u2C,v2C),w2C};頂點D:{(xD,yD),1,2,IDFront,(u1D,v1D),w1D,IDTop,(u2D,v2D),w2D}。其中,二頂點C’、D皆源自於一極點。
該柵格化引擎81a對該四邊形ABC’D內的各點進行四邊形柵格化操作。具體而言,該柵格化引擎81a將一點Q的等距長方座標(x,y)傳送給該量測單元85a,並利用以下步驟,計算該點Q(具有等距長方座標(x,y)且位在該多邊形網格的該四邊形ABC’D內)於各相機影像的紋理座標及工作面混合權值:1.利用一雙線性內插方法,根據等距長方座標(xA,yA,xB,yB,xC,yC,xD,yD,x,y),計算四個空間權值(a,b,c,d);2.計算一正面相機影像中一取樣點QF(對應該點Q)之工作面混合權值:fw1=a*w1A+b*w1B+c*w1C+d*w1D;計算一頂面相機影像中一取樣點QT(對應該點Q)之工作面混合權值:fw2=a*w2A+b*w2B+c*w2C+d*w2D;3.計算該正面相機影像中該取樣點QF(對應該點Q)之紋理座標:(u1,v1)=(a*u1A+b*u1B+c*u1C+d*u1D,
a*v1A+b*v1B+c*v1C+d*v1D);計算該頂面相機影像中該取樣點QT(對應該點Q)之紋理座標:(u2,v2)=(a*u2A+b*u2B+c*u2C+d*u2D,a*v2A+b*v2B+c*v2C+d*v2D)。最後,該柵格化引擎81a將該二對紋理座標(u1,v1)、(u2,v2)平行地傳送給二個紋理映射引擎(如821~822)。其中,a+b+c+d=1且fw1+fw2=1。無論該柵格化引擎81a每次從該組合頂點列表接收多少個頂點,該些紋理映射引擎(如821~822)、該混合單元83a以及該量測單元85a都進行相同操作。
在另一實施例中,該原始頂點列表分為六個原始工作面(face)頂點列表,該六個原始工作面頂點列表分別對應至該六個相機影像;該調整頂點列表分為六個調整工作面頂點列表,該六個調整工作面頂點列表分別對應至該六個相機影像;該組合頂點列表分為六個組合工作面頂點列表,該六個組合工作面頂點列表分別對應至該六個相機影像。各原始/調整/組合工作面頂點列表是多個頂點的列表,該些頂點被一對應相機影像所涵蓋,且各頂點由一相對應資料結構所定義。該資料結構定義了一目的空間及一紋理空間之間(或該等距長方座標及該紋理座標之間)的頂點映射關係。一實施例中,該資料結構包含,但不受限於,等距長方座標、一極點旗標、在一對應相機影像中的紋理座標、該對應相機影像的ID、以及該對應相機影像的預設混合權值。表二顯示各原始/調整/組合工作面頂點列表中各頂點之資料結構的一
個例子。
在本實施例中,該對應性產生器15產生該六個原始工作面頂點列表,並依序傳送給該頂點處理裝置410。請注意,該六個組合工作面頂點列表僅應用於該處理裝置430B,而不能應用於該處理裝置430A。由於有六個原始/調整/組合工作面頂點列表,故該頂點處理裝置410、最佳化單元450、一原始組合單元420、以及一影像處理裝置430B分別對該六個相機影像進行六次/回合相對應的操作。
為方便解釋,以下利用上述相同的例子(具等距長方座標(x,y)的點Q係位在該多邊形網格的該三角形ABC內;各頂點(A、B、C)被正面相機影像及頂面相機影像所重疊)來說明該影像處理裝置430B在該混合模式中接收該六個組合工作面頂點列表的運作方式。在第一次/回合時,在接收一正面組合頂點列表後,該柵格化引擎81b根據該正面組合頂點列表的多個頂點,計算所有點(包含該點Q)的所有紋
理座標(包含(u1,v1)),依序傳送該些紋理座標給該紋理映射引擎82b。根據該些紋理座標,該紋理映射引擎82b利用任何合適的方法(例如最近相鄰內插法、雙線性內插法、或三線性內插法),紋理映射該正面相機影像的紋理資料,以產生多個取樣值(包含s1)。然後,該混合單元83b直接將與該正面相機影像有關的該些取樣值(包含s1)儲存至該目的緩衝器84。在第二次/回合時,在接收一頂面組合頂點列表後,該柵格化引擎81b根據該頂面組合頂點列表的多個頂點,計算所有點(包含該點Q)的所有紋理座標(包含(u2,v2))及所有工作面混合權值(包含fw2),依序傳送該些工作面混合權值給該混合單元83b、並傳送該些紋理座標及該些等距長方座標(包含點Q的等距長方座標(x,y))給該紋理映射引擎82b。根據該些紋理座標,例如點Q的紋理座標(u2,v2),該紋理映射引擎82b利用任何合適的方法,紋理映射該頂面相機影像的紋理資料,以產生一取樣值s2。同時,該紋理映射引擎82b傳送該取樣值s2給該混合單元83b及量測單元85b,及傳送該等距長方座標,例如點Q的等距長方座標(x,y),至該目的緩衝器84。回應該等距長方座標(x,y),該目的緩衝器84擷取出對應該點Q的取樣值s1,並輸出當作該暫時值。在接收該取樣值s2及該工作面混合權值fw2後,該混合單元83b根據方程式Vb=(1-fw2)*s1+fw2*s2,計算該混合值Vb、再將該混合值Vb儲存於該目的暫存器84。依此方式,該混合單元83b依序儲存各點/
像素的混合值Vb至該目的緩衝器64直到該三角形ABC內的所有點都處理完成為止。另一方面,從該目的緩衝器84擷取出的暫時值s1,亦傳送給該量測單元85b,之後,該量測單元85b透過計算下列方程式:E=|s1-s2|,以得到該點Q的取樣值差異的絕對值。依此方式,該量測單元85b累積該頂面相機影像中重疊區域R(3)的各點與該正面相機影像中重疊區域R(3)的對應點之間的取樣值差異的絕對值,利用下列方程式:E=|s1-s2|;E(3)+=E,以得到一SAD值當作該區域R(3)的區域誤差量E(3)。
另一實施例中,為達到更好的接合品質,該影像處理裝置430可將該些12個重疊區域R(1)~R(12)之至少其一分割為至少二個分區(subregion)。第9A圖顯示重疊區域R(3)被分割為二個分區的一示例。在第9A圖的例子中,該量測單元85a/b需量測13個重疊區域R(1)~R(2)、R(3)-1、R(3)-2及R(4)~R(12)的區域誤差量E(1)~E(2)、E(3)-1、E(3)-2及E(4)~E(12)。據此,該最佳化單元450根據該13個區域誤差量E(1)~E(2)、E(3)-1、E(3)-2及E(4)~E(12),需產生13個扭轉係數C(1)~C(2)、C(3)-1、C(3)-2及C(4)~C(12)。另一實施例中,為減少處理時間或計算量(computation load),該量測單元85a/b藉由控制來自該柵格化引擎81a/b的等距長方座標(每次隔G個點),以累積一第一相機影像中一特定重疊區域的每隔G個點與一第二相機影像中該特定區域的對應點之間的取
樣值差異的絕對值,以得到其區域誤差量。第9B圖顯示在重疊區域R(3)中的點,以G(=2)的比例被降低取樣頻率(downsampled)的一示例。參考第9B圖,該量測單元85a/b累積該頂面相機影像中重疊區域R(3)的每隔2個點與該正面相機影像中該重疊區域R(3)的對應點之間的取樣值差異的絕對值,以得到其SAD值當作其區域誤差量。在第9B圖的例子中,計算區域誤差量的處理時間或計算量可減少一半。
請參考第4A圖,在系統開機時,該最佳化單元450會傳送預設的扭轉係數C(1)~C(12)(皆等於1)至該頂點處理裝置410。接著,於接收來自該影像處理裝置430A/B的該些區域誤差量E(1)~E(12)之後,該最佳化單元450利用一最佳化演算法來修正上次的扭轉係數Cp(1)~Cp(12),以最小化該些區域誤差量,最後將目前的扭轉係數C(1)~C(12)傳送給該頂點處理裝置410。該最佳化演算法包含,但不限於,爬山搜索(Hill-climbing search)技術。
第10A圖係根據本發明一實施例,顯示該最佳化單元利用該爬山搜索技術之運作方法流程圖。以下,請參考第4A及10A圖,說明本發明最佳化單元之運作方法。
步驟S102:於系統開機時,將R1次迴圈、目前的扭轉係數C(1)~C(n)及步驟T(1)~T(n)分別設為預設值。一實施例中,將R1設為0、將目前的扭轉係數C(n)設為1、及將所有步驟T(n)設為0.05,其中,n=1,2,...,12。
步驟S104:在該頂點處理裝置410、該原始組合單元420、以及該影像處理裝置430A/B根據步驟S102中該些目前的扭轉係數C(1)~C(12)完成各自操作之後,該影像處理裝置430A/B量測/得到該等距長方全景影像中各重疊區域R(1)~R(n)的區域誤差量E(1)~E(n)。為方便說明,利用E(n)=func(C(n))來代表本步驟S104,其中,n=1,2,...,12,以及func( )代表該頂點處理裝置410、該原始組合單元420、以及該影像處理裝置430A/B的聯合運作。
步驟S106:根據目前區域誤差量E(n),更新先前扭轉係數Cp(n)、先前區域誤差量Ep(n)、目前扭轉係數C(n)以及步驟T(n)。其中,n=1,2,...,12。一實施例中,Cp(n)=C(n)、Ep(n)=E(n)、C(n)+=T(n)、以及T(n)*=Std,n=1,2,...,12。其中,參數Std表示一步驟遞減量,等於0.95。
步驟S108:在該頂點處理裝置410、該原始組合單元420、以及該影像處理裝置430A/B根據步驟S106中該些目前的扭轉係數C(n)完成各自操作之後,該影像處理裝置430A/B量測/得到該等距長方全景影像(如第6A圖)中各重疊區域R(n)的區域誤差量E(n)。換言之,E(n)=func(C(n)),其中,n=1,2,...,12。
步驟S110:判斷該些目前的區域誤差量E(n)是否小於該些先前區域誤差量Ep(n),其中,n=1,2,...,12。若是,跳到步驟S112,否則,跳到步驟S114。
步驟S112:更新先前扭轉係數Cp(n)、先前區域誤差量Ep(n)、目前扭轉係數C(n)以及步驟T(n);其中,n=1,2,...,12。具體而言,設定Cp(n)=C(n)、Ep(n)=E(n)、C(n)+=T(n)、以及T(n)*=Std,n=1,2,...,12。相較於前一個步驟(如步驟S106),由於目前的區域誤差量E(n)在減少中,表示更新目前扭轉係數C(n)的方向是正確的,故C(n)應持續增加。
步驟S114:根據目前的區域誤差量E(n),更新先前扭轉係數Cp(n)、先前區域誤差量Ep(n)、目前扭轉係數C(n)以及步驟T(n);其中,n=1,2,...,12。具體而言,設定Cp(n)=C(n)、Ep(n)=E(n)、C(n)-=T(n)、以及T(n)*=Std,n=1,2,...,12。其中,參數Std表示一個步驟遞減量,等於0.5。相較於前一個步驟(如步驟S106),由於目前的區域誤差量E(n)在增加中,表示更新目前扭轉係數C(n)的方向是錯誤的,故更新C(n)應改為減少。
步驟S116:在該頂點處理裝置410、該原始組合單元420、以及該影像處理裝置430A/B根據步驟S112/114中該些目前的扭轉係數C(n)完成各自操作之後,該影像處理裝置430A/B量測/得到該等距長方全景影像(如第6A圖)中各重疊區域R(n)的區域誤差量E(n)。換言之,E(n)=func(C(n)),其中,n=1,2,...,12。其中,R1值被遞增1。
步驟S118:判斷R1是否已遞增到等於一極限值
Max1。若是,結束本流程,否則,跳到步驟S110。
第10B圖係根據本發明一實施例,顯示該補償裝置40在一混合模式中之運作方法之流程圖。以下,請參考第4A及10B圖,說明本發明補償裝置40在一混合模式中之運作方法。
步驟S130:起始一視框。表示該影像擷取模組11一次擷取到六個相機影像,並輸出該些相機影像。
步驟S132:進行柵格化操作。一實施例中,若N>=2,由該柵格化引擎82a/b對第5B圖多邊形網格之一多邊形的該點Q(具等距長方座標(x,y))進行多邊形柵格化操作,以產生該六個相機影像之其二相機影像的二對紋理座標及及二個工作面混合權值。
步驟S134:進行紋理映射操作。一實施例中,由該紋理映射電路82/紋理映射引擎82b根據二對紋理座標,利用任何合適的方法以紋理映射上述二個相機影像的紋理資料,以產生二個取樣值。
步驟S136:進行混合操作或/及量測/得到該等距長方全景影像中各重疊區域R(1)~R(n)的區域誤差量E(1)~E(n)。一實施例中,由該混合單元83a/b根據該二個工作面混合權值,混合該二個取樣值以產生該點Q的混合值Vb,然後,將該混合值Vb儲存於該目的緩衝器84。一實施例中,在該頂點處理裝置410、該原始組合單元420、以及該
影像處理裝置430A/B根據源自前一個視框的該些目前扭轉係數C(1)~C(n)完成各自操作之後,若該點Q屬於該些重覆區域R(1)~R(n)之其一,由該量測單元85a/b量測/得到該等距長方全景影像中各重疊區域R(1)~R(n)的區域誤差量E(1)~E(n)。換言之,E(n)=func(C(n)),其中,n=1,2,...,12。
步驟S140:判斷所有多邊形的所有點是否都處理完畢。若是,跳到步驟S142,否則,跳到步驟S132以處理下一個點。
步驟S142:根據該些區域誤差量E(1)~E(n),更新多個相關係數。一實施例中,由該最佳化單元450根據該些區域誤差量E(1)~E(n),更新多個相關係數。該些相關係數包含,但不限於,先前扭轉係數Cp(1)~Cp(n)、先前區域誤差量Ep(1)~Ep(n)、目前扭轉係數C(1)~C(n)以及步驟T(1)~T(n);其中,n=1,2,...,12。並請參考步驟S112、S114。
步驟S150:結束一視框。表示已處理完步驟S130的該六個相機影像,並從該目的緩衝器84輸出相對應的該等距長方全景影像,且輸出該些相關係數。
第10C圖係根據本發明一實施例,顯示該補償裝置40在一測試模式中之運作方法之流程圖。以下,請參考第4A及10C圖,說明本發明補償裝置40在一測試模式中之運作方法。
步驟S160:起始一視框。表示該影像擷取模組
11一次擷取到六個相機影像,並輸出該些相機影像。
步驟S162:於系統開機時,由該最佳化單元450分別將R2次迴圈、目前的扭轉係數C(1)~C(12)及步驟T(1)~T(n)設為預設值。一實施例中,於系統開機時,將R2設為0、目前的扭轉係數C(n)設為1、及所有步驟T(n)設為0.05,其中,n=1,2,...,12。
步驟S164:由該最佳化單元450判斷R2是否已遞增到等於一極限值Max2。若是,結束本流程,否則,跳到步驟S166。
步驟S166:進行柵格化操作。一實施例中,若N>=2,由該柵格化引擎81a/b對第5B圖多邊形網格之一多邊形的該點Q(具等距長方座標(x,y))進行多邊形柵格化操作,以產生六個相機影像之其二相機影像的二對紋理座標及及二個工作面混合權值。
步驟S168:進行紋理映射操作。一實施例中,由該紋理映射電路82/紋理映射引擎82b根據二對紋理座標,利用任何合適的方法以紋理映射上述二個相機影像的紋理資料,以產生二個取樣值。
步驟S170:量測/得到該等距長方全景影像中各重疊區域R(1)~R(n)的區域誤差量E(1)~E(n)。一實施例中,在該頂點處理裝置410、該原始組合單元420、以及該影像處理裝置430A/B根據源自前一個視框的該些目前扭轉係數
C(1)~C(n)完成各自操作之後,由該量測單元85a/b,量測/得到該等距長方全景影像中各重疊區域R(1)~R(n)的區域誤差量E(1)~E(n)。換言之,E(n)=func(C(n)),其中,n=1,2,...,12。
步驟S172:根據該些區域誤差量E(1)~E(n),更新多個相關係數。一實施例中,由該最佳化單元450根據該些區域誤差量E(1)~E(n),更新多個相關係數。該些相關係數包含,但不限於,先前扭轉係數Cp(1)~Cp(n)、先前區域誤差量Ep(1)~Ep(n)、目前扭轉係數C(1)~C(n)以及步驟T(1)~T(n);其中,n=1,2,...,12。並請參考步驟S112、S114。
步驟S174:由該最佳化單元450將R2值遞增1。
步驟S180:結束一視框。表示已處理完步驟S160中該六個相機影像,並最佳化該些相關係數。請注意,在該測試模式下,因為沒有進行混合操作,故不會輸出任何全景影像。相較而言,在該顯像模式下,該量測單元85a/b被禁能,故不會輸出任何區域誤差量E(n)、也不會更新任何相關係數;該頂點處理裝置410、該原始組合單元420、以及該影像處理裝置430A/B係根據相同的該些目前扭轉係數C(1)~C(n)來運作,並且依序輸出該些等距長方全景影像。有一特殊例子是在第6A圖中所有重覆區域R(1)~R(12)被視為單一重覆區域、或二個魚眼影像只有一個重覆區域,該量測單元85a/b可利用任何已知的演算法,例如SAD、SSD、MAD等,僅需量測該重覆區域的一區域誤差量,例如E(1)。舉例而
言,該量測單元85a/b累積一第一相機影像中該重疊區域的各點與該第二相機影像中該重疊區域的對應點之間的取樣值差異的絕對值,利用下列方程式:E=|s1-s2|;E(1)+=E,以得到一SAD值當作該重疊區域的區域誤差量E(1)。然後,該最佳化單元450根據該區域誤差量E(1),產生一對應扭轉係數C(1)。在該特殊例子下,無論一目標頂點P1的原始紋理座標(u1,v1)為何,該係數內插單元411永遠會產生一個等於C(1)的內插扭轉係數C’,而該座標修正單元412仍根據下列方程式,計算該目標頂點P1在一特定相機影像中的修正紋理座標(u1’,v1’):u1’=(u1-ucenter)* C’+ucenter;v1’=(v1-vcenter)*C’+vcenter
本發明補償裝置40可以軟體、硬體、或軟體(或韌體)及硬體的組合來實施,一單純解決方案的例子是現場可程式閘陣列(field programmable gate array)或一特殊應用積體電路(application specific integrated circuit)。一較佳實施例中,該頂點處理裝置410、該原始組合單元420、以及該影像處理裝置430A/B係利用一圖形處理單元(Graphics Processing Unit)以及一第一程式記憶體來實施;該最佳化單元450利用一個一般用途(general-purpose)處理器以及一第二程式記憶體來實施。該第一程式記憶體儲存一第一處理器可執行程式,而第二程式記憶體儲存一第二處理器可執行程
式。當該圖形處理單元執行該第一處理器可執行程式時,該圖形處理單元被組態(configured)以運作有如:該頂點處理裝置410、該原始組合單元420、以及該影像處理裝置430A/B。當該一般用途處理器執行該第二處理器可執行程式時,該一般用途處理器被組態以運作有如:該最佳化單元450。
另一實施例中,該補償裝置40利用一個一般用途處理器以及一第三程式記憶體來實施。該第三程式記憶體儲存一第三處理器可執行程式。當該一般用途處理器執行該第三處理器可執行程式時,該一般用途處理器被組態以運作有如:該頂點處理裝置410、該原始組合單元420、該最佳化單元450、以及該影像處理裝置430A/B。
上述僅為本發明之較佳實施例而已,而並非用以限定本發明的申請專利範圍;凡其他未脫離本發明所揭示之精神下所完成的等效改變或修飾,均應包含在下述申請專利範圍內。
Claims (38)
- 一種頂點處理裝置,適用於一影像處理系統,該影像處理系統包含一影像擷取模組且該影像擷取模組產生多個相機影像,該頂點處理裝置包含:一係數內插單元,對於一頂點列表的各頂點,根據n個扭轉係數以及各頂點於各相機影像的原始紋理座標,產生各相機影像的內插扭轉係數;以及一座標修正單元,耦接該係數內插單元,根據各頂點於各相機影像的原始紋理座標及該內插扭轉係數,計算各頂點於各相機影像的修正紋理座標;其中,該頂點列表包含多個具有資料結構的頂點,且該些資料結構定義一全景影像及該些相機影像之間的頂點映射;以及其中,該n個扭轉係數分別表示該全景影像中n個重疊區域的扭轉程度,以及n>=1。
- 如申請專利範圍第1項所記載之裝置,其中當n=1時,該內插扭轉係數等於該單一扭轉係數。
- 如申請專利範圍第1項所記載之裝置,其中當n>=2時,該係數內插單元對一目標頂點於各相機影像的原始紋理座標之多個鄰近重疊區域的扭轉係數,進行內插操作,以產生和該目標頂點有關之各相機影像的內插扭轉係數。
- 如申請專利範圍第3項所記載之裝置,其中當該些鄰近重 疊區域的數目等於2時,該係數內插單元利用下列方程式,計算一特定相機影像的內插扭轉係數:C’=C2*θ1/(θ1+θ2)+C1*θ2/(θ1+θ2);其中,C’表示該內插扭轉係數、C1表示該二個鄰近重疊區域之一第一重疊區域的一第一扭轉係數、C2表示該二個鄰近重疊區域之一第二重疊區域的一第二扭轉係數;其中,θ1表示形成於一第一向量以及一第二向量之間的一第一角度,該第一向量係以該特定相機影像中心為起點且以該第一重疊區域的位置為終點,而該第二向量係以該特定相機影像中心為起點且以該目標頂點為終點;以及其中,θ2表示形成於該第二向量以及一第三向量之間的一第二角度,該第三向量係以該特定相機影像中心為起點且以該第二重疊區域的位置為終點。
- 如申請專利範圍第1項所記載之裝置,其中該座標修正單元,利用下列方程式,計算一特定相機影像的一目標頂點的修正紋理座標:u1’=(u1-ucenter)* C’+ucenter;v1’=(v1-vcenter)* C’+vcenter;其中,(u1’,v1’)表示該目標頂點的修正紋理座標、(u1,v1)表示該目標頂點的原始紋理座標、C’表示該內插扭轉係數、(ucenter,vcenter)表示該特定相機影像中心的紋理座標。
- 如申請專利範圍第5項所記載之裝置,其中在該特定相機 影像被映射至該全景影像後,若C’<1,會產生膨脹的影像效果,若C’>1,則產生收縮的影像效果。
- 如申請專利範圍第1項所記載之裝置,其中該頂點列表為來自一校正裝置的一原始頂點列表及一原始工作面頂點列表之其一,以及其中該原始頂點列表被分割為多個原始工作面頂點列表。
- 一種影像處理系統,接收來自一校正裝置的一第一頂點列表及產生一全景影像,該系統包含:一影像擷取模組,產生多個相機影像;一頂點處理裝置,根據n個扭轉係數,修正該第一頂點列表中各頂點的紋理座標,以產生一第二頂點列表;一影像處理裝置,根據該些相機影像以及該第二頂點列表,選擇性地形成該全景影像,以及量測該全景影像中n個重疊區域的n個區域誤差量;以及一最佳化單元,根據該n個區域誤差量,產生該n個扭轉係數;其中,該頂點處理裝置包含:一係數內插單元,對於該第一頂點列表的各頂點,根據該n個扭轉係數以及各頂點於各相機影像的原始紋理座標,產生各相機影像的內插扭轉係數;以及一座標修正單元,耦接該係數內插單元,根據各頂點於各相機影像的原始紋理座標以及該內插扭轉係數,計 算各頂點於各相機影像的修正紋理座標;其中,該第一頂點列表及該第二頂點列表二者皆包含多個具有資料結構的頂點,且該些資料結構定義該全景影像及該些相機影像之間的頂點映射;以及其中,該n個扭轉係數分別表示該全景影像中該n個重疊區域的扭轉程度,以及n>=1。
- 如申請專利範圍第8項所記載之系統,其中當n=1時,該內插扭轉係數等於該單一扭轉係數。
- 如申請專利範圍第8項所記載之系統,其中當n>=2時,該係數內插單元對一目標頂點於各相機影像的原始紋理座標之多個鄰近重疊區域的扭轉係數,進行內插操作,以產生和該目標頂點有關之各相機影像的內插扭轉係數。
- 如申請專利範圍第10項所記載之系統,其中當該些鄰近重疊區域的數目等於2時,該係數內插單元利用下列方程式,計算一特定相機影像的內插扭轉係數:C’=C2*θ1/(θ1+θ2)+C1*θ2/(θ1+θ2);其中,C’表示該內插扭轉係數、C1表示該二個鄰近重疊區域之一第一重疊區域的一第一扭轉係數、C2表示該二個鄰近重疊區域之一第二重疊區域的一第二扭轉係數;其中,θ1表示形成於一第一向量以及一第二向量之間的一第一角度,該第一向量係以該特定相機影像中心為起 點且以該第一重疊區域的位置為終點,而該第二向量係以該特定相機影像中心為起點且以該目標頂點為終點;以及其中,θ2表示形成於該第二向量以及一第三向量之間的一第二角度,該第三向量係以該特定相機影像中心為起點且以該第二重疊區域的位置為終點。
- 如申請專利範圍第8項所記載之系統,其中該座標修正單元,利用下列方程式,計算一特定相機影像之一目標頂點的修正紋理座標:u1’=(u1-ucenter)* C’+ucenter;v1’=(v1-vcenter)* C’+vcenter;其中,(u1’,v1’)表示目標頂點的修正紋理座標、(u1,v1)表示該目標頂點的原始紋理座標、C’表示該內插扭轉係數、(ucenter,vcenter)表示該特定相機影像中心的紋理座標。
- 如申請專利範圍第8項所記載之系統,其中該最佳化單元更利用一最佳化演算法修正該n個扭轉係數,以極小化該n個區域誤差量。
- 如申請專利範圍第8項所記載之系統,其中該影像處理裝置至少運作於一混合模式並且包含:一柵格化引擎,接收來自該第二頂點列表且形成一多邊形的一組頂點、對位在該多邊形內的一目標點進行柵格化操作以產生至多二個相機影像的至多二對紋理座標以及至多二個工作面混合權值、以及若N>1,傳送該目標 點的目的座標;一紋理映射電路,根據該至多二對紋理座標,紋理映射該至多二個相機影像的紋理資料,以產生該目標點的至多二個取樣值;一混合單元,耦接該紋理映射電路,根據該至多二個工作面混合權值,混合該至多二個取樣值以產生一混合值;一目的緩衝器,耦接該混合單元,係儲存該混合值當作該全景影像的一部分;以及一量測單元,耦接在該柵格化引擎及該紋理映射電路之間,係接收該目標點的目的座標以決定該目標點屬於哪一個重疊區域,以及若該目標點屬於一特定重疊區域,累積該特定重疊區域中該二個取樣值的差異當作該特定重疊區域的區域誤差量;其中,N表示包含在該組頂點的資料結構中的重疊的相機影像數目。
- 如申請專利範圍第14項所記載之系統,其中該紋理映射電路包含:一第一紋理映射引擎,具有一第一輸出端承載該二個取樣值之一,以及耦接至該量測單元及該混合單元的第一輸入端;一第二紋理映射引擎,具有一第二輸出端承載該二個 取樣值之另一,以及耦接至該量測單元及該混合單元的第二輸入端。
- 如申請專利範圍第14項所記載之系統,其中該紋理映射電路包含一單一紋理映射引擎,具有一輸出端承載該二個取樣值之一,並耦接至該量測單元及該混合單元的第一輸入端,以及該目的緩衝器具有一輸出端耦接至該量測單元及該混合單元的第二輸入端,以及其中該量測單元累積來自該第一輸入端及第二輸入端之間的該二個取樣值的差異當作該特定重疊區域的區域誤差量。
- 如申請專利範圍第16項所記載之系統,其中該第一頂點列表及該第二頂點列表之任一皆是一工作面頂點列表,其中,該目的緩衝器回應來自該單一紋理映射引擎的該目標點的目的座標,輸出該二個取樣值之一。
- 如申請專利範圍第8項所記載之系統,其中該影像處理裝置至少運作於一測試模式並且包含:一柵格化引擎,接收來自該第二頂點列表且形成一多邊形的一組頂點、對位在該多邊形內的一目標點進行柵格化操作以產生至多二個相機影像的至多二對紋理座標以及至多二個工作面混合權值、以及若N>1,傳送該目標點的目的座標;一紋理映射電路,根據該至多二對紋理座標,紋理映射該至多二個相機影像的紋理資料,以產生該目標點的 至多二個取樣值;以及一量測單元,耦接在該柵格化引擎及該紋理映射電路之間,係接收該目標點的目的座標以決定該目標點屬於哪一個重疊區域,以及若該目標點屬於一特定重疊區域,累積該特定重疊區域中該二個取樣值的差異當作該特定重疊區域的區域誤差量;其中,N表示包含在該組頂點的資料結構中的重疊的相機影像數目。
- 一種頂點處理方法,適用於一影像處理系統,該影像處理系統包含一影像擷取模組且該影像擷取模組產生多個相機影像,該方法包含:對於一頂點列表的各頂點,根據n個扭轉係數以及各頂點於各相機影像的原始紋理座標,得到各相機影像的內插扭轉係數;以及根據各頂點於各相機影像的原始紋理座標及該內插扭轉係數,計算各頂點於各相機影像的修正紋理座標;其中,該頂點列表包含多個具有資料結構的頂點,且該些資料結構定義一全景影像及該些相機影像之間的頂點映射;以及其中,該n個扭轉係數分別表示該全景影像中n個重疊區域的扭轉程度,以及n>=1。
- 如申請專利範圍第19項所記載之方法,其中當n=1時, 該內插扭轉係數等於該單一扭轉係數。
- 如申請專利範圍第19項所記載之方法,其中該得到步驟更包含:當n>=2時,對一目標頂點於各相機影像的原始紋理座標之多個鄰近重疊區域的扭轉係數,進行內插操作,以計算和該目標頂點有關之各相機影像的內插扭轉係數。
- 如申請專利範圍第21項所記載之方法,其中該得到步驟更包含:當該些鄰近重疊區域的數目等於2時,利用下列方程式,計算一特定相機影像的內插扭轉係數:C’=C2*θ1/(θ1+θ2)+C1*θ2/(θ1+θ2);其中,C’表示該內插扭轉係數、C1表示該二個鄰近重疊區域之一第一重疊區域的一第一扭轉係數、C2表示該二個鄰近重疊區域之一第二重疊區域的一第二扭轉係數;其中,θ1表示形成於一第一向量以及一第二向量之間的一第一角度,該第一向量係以該特定相機影像中心為起點且以該第一重疊區域的位置為終點,而該第二向量係以該特定相機影像中心為起點且以該目標頂點為終點;以及其中,θ2表示形成於該第二向量以及一第三向量之間的一第二角度,該第三向量係以該特定相機影像中心為起點且以該第二重疊區域的位置為終點。
- 如申請專利範圍第19項所記載之方法,其中該計算該修正紋理座標步驟更包含:利用下列方程式,計算一特定相機影像中一目標頂點的修正紋理座標:u1’=(u1-ucenter)* C’+ucenter;v1’=(v1-vcenter)* C’+vcenter;其中,(u1’,v1’)表示目標頂點的修正紋理座標、(u1,v1)表示該目標頂點的原始紋理座標、C’表示該內插扭轉係數、(ucenter,vcenter)表示該特定相機影像中心的紋理座標。
- 如申請專利範圍第23項所記載之方法,其中在該特定相機影像被映射至該全景影像後,若C’<1,會產生膨脹的影像效果,若C’>1,則產生收縮的影像效果。
- 如申請專利範圍第19項所記載之方法,其中該頂點列表為來自一校正裝置的一原始頂點列表及一原始工作面頂點列表之其一,以及其中該原始頂點列表被分割為多個原始工作面頂點列表。
- 一種影像處理方法,接收來自一校正裝置的一第一頂點列表及產生一全景影像,該方法包含:根據n個扭轉係數,修正該第一頂點列表的頂點的紋理座標,以產生一第二頂點列表;根據來自一影像擷取模組的多個相機影像以及該第二頂點列表,選擇性地形成該全景影像;量測該全景影像中n個重疊區域的n個區域誤差量;以 及根據該n個區域誤差量,得到該n個扭轉係數;其中,該修正步驟包含:對於該第一頂點列表的各頂點,根據該n個扭轉係數以及各頂點於各相機影像的原始紋理座標,得到各相機影像的內插扭轉係數;以及根據各頂點於各相機影像的原始紋理座標及該內插扭轉係數,計算各頂點於各相機影像的修正紋理座標;其中,該第一頂點列表及該第二頂點列表二者皆包含多個具有資料結構的頂點,且該些資料結構定義該全景影像及該些相機影像之間的頂點映射;以及其中,該n個扭轉係數分別表示該全景影像中該n個重疊區域的扭轉程度,以及n>=1。
- 如申請專利範圍第26項所記載之方法,其中該得到該n個扭轉係數步驟更包含:利用一最佳化演算法修正該n個扭轉係數,以極小化該n個區域誤差量。
- 如申請專利範圍第26項所記載之方法,其中當該影像處理方法至少運作於一混合模式時,該選擇性地形成該全景影像步驟包含:接收來自該第二頂點列表且形成一多邊形的一組頂點; 對位在該多邊形內的一目標點進行柵格化操作以產生至多二個相機影像的至多二對紋理座標以及至多二個工作面混合權值;若N>1,傳送該目標點的目的座標;根據該至多二對紋理座標,紋理映射該至多二個相機影像的紋理資料,以得到該目標點的至多二個取樣值;根據該至多二個工作面混合權值,混合該至多二個取樣值以產生該目標點的一混合值;以及由一目的緩衝器儲存該混合值當作該全景影像的一部分;其中,N表示包含在該組頂點的資料結構中的重疊的相機影像數目。
- 如申請專利範圍第28項所記載之方法,其中該量測該n個區域誤差量步驟包含:接收該目標點的目的座標以決定該目標點屬於哪一個重疊區域;以及當該目標點屬於一特定重疊區域時,累積該二個取樣值的差異當作該特定重疊區域的區域誤差量。
- 如申請專利範圍第28項所記載之方法,其中該混合步驟更包含:當只接收到該目標點的該二個取樣值的第一取樣值時,直接將該第一取樣值儲存於該目的緩衝器; 當接收到該目標點的該二個取樣值的第二取樣值時,從該目的緩衝器取出該第一取樣值;以及根據該二個工作面混合權值,混合該二個取樣值以得到該混合值。
- 如申請專利範圍第30項所記載之方法,其中該第一頂點列表及該第二頂點列表之任一皆是一工作面頂點列表,其中該取出步驟更包含:回應該目標點的目的座標,從該目的緩衝器取出該第一取樣值。
- 如申請專利範圍第26項所記載之方法,其中當該影像處理方法至少運作於一測試模式時,該選擇性地形成該全景影像步驟包含:接收來自該第二頂點列表且形成一多邊形的一組頂點;對位在該多邊形內的一目標點進行柵格化操作以產生至多二個相機影像的至多二對紋理座標以及至多二個工作面混合權值;若N>1,傳送該目標點的目的座標;以及根據該至多二對紋理座標,紋理映射該至多二個相機影像的紋理資料,以得到該目標點的至多二個取樣值;其中,N表示包含在該組頂點的資料結構中的重疊的相機影像數目。
- 如申請專利範圍第32項所記載之方法,其中該量測該n個重疊區域的該n個區域誤差量步驟包含:接收該目標點的目的座標以決定該目標點屬於哪一個重疊區域;以及當該目標點屬於一特定重疊區域時,累積該特定重疊區域中該二個取樣值的差當作該區域誤差量。
- 如申請專利範圍第26項所記載之方法,其中當n=1時,該內插扭轉係數等於該單一扭轉係數。
- 如申請專利範圍第26項所記載之方法,其中該取得步驟更包含:當n>=2時,對一目標頂點於各相機影像的原始紋理座標之多個鄰近重疊區域的扭轉係數,進行內插操作,以計算和該目標頂點有關之各相機影像的內插扭轉係數。
- 如申請專利範圍第35項所記載之方法,其中該取得步驟更包含:當該些鄰近重疊區域的數目等於2時,利用下列方程式,計算一特定相機影像的內插扭轉係數:C’=C2*θ1/(θ1+θ2)+C1*θ2/(θ1+θ2);其中,C’表示該內插扭轉係數、C1表示該二個鄰近重疊區域之一第一重疊區域的一第一扭轉係數、C2表示該二個鄰近重疊區域之一第二重疊區域的一第二扭轉係數;其中,θ1表示形成於一第一向量以及一第二向量之間的 一第一角度,該第一向量係以該特定相機影像中心為起點且以該第一重疊區域的位置為終點,而該第二向量係以該特定相機影像中心為起點且以該目標頂點為終點;以及其中,θ2表示形成於該第二向量以及一第三向量之間的一第二角度,該第三向量係以該特定相機影像中心為起點且以該第二重疊區域的位置為終點。
- 如申請專利範圍第26項所記載之方法,其中該計算步驟更包含:利用下列方程式,計算一特定相機影像中一目標頂點的修正紋理座標:u1’=(u1-ucenter)* C’+ucenter;v1’=(v1-vcenter)* C’+vcenter;其中,(u1’,v1’)表示目標頂點的修正紋理座標、(u1,v1)表示該目標頂點的原始紋理座標、C’表示該內插扭轉係數、(ucenter,vcenter)表示該特定相機影像中心的紋理座標。
- 如申請專利範圍第26項所記載之方法,其中該頂點列表為一原始頂點列表及一原始工作面頂點列表之其一,以及其中該原始頂點列表被分割為多個原始工作面頂點列表。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/427,504 US10104288B2 (en) | 2017-02-08 | 2017-02-08 | Method and apparatus for generating panoramic image with stitching process |
US15/427,504 | 2017-02-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI622021B true TWI622021B (zh) | 2018-04-21 |
TW201830333A TW201830333A (zh) | 2018-08-16 |
Family
ID=62640116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106125030A TWI622021B (zh) | 2017-02-08 | 2017-07-26 | 具接合功能的全景影像產生方法及裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10104288B2 (zh) |
TW (1) | TWI622021B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI675350B (zh) * | 2018-05-03 | 2019-10-21 | 群光電子股份有限公司 | 影像處理裝置與方法 |
TWI681366B (zh) * | 2018-05-31 | 2020-01-01 | 廣達電腦股份有限公司 | 非線性延展裁切影像之方法及系統 |
TWI728512B (zh) * | 2019-01-04 | 2021-05-21 | 信驊科技股份有限公司 | 連結球面座標至紋理座標之球面座標校正方法 |
TWI728620B (zh) * | 2019-03-05 | 2021-05-21 | 信驊科技股份有限公司 | 基於全景影像內控制區的紋理座標調整方法 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10999602B2 (en) | 2016-12-23 | 2021-05-04 | Apple Inc. | Sphere projected motion estimation/compensation and mode decision |
US11259046B2 (en) | 2017-02-15 | 2022-02-22 | Apple Inc. | Processing of equirectangular object data to compensate for distortion by spherical projections |
US10924747B2 (en) | 2017-02-27 | 2021-02-16 | Apple Inc. | Video coding techniques for multi-view video |
US11093752B2 (en) | 2017-06-02 | 2021-08-17 | Apple Inc. | Object tracking in multi-view video |
US10621767B2 (en) * | 2017-06-12 | 2020-04-14 | Qualcomm Incorporated | Fisheye image stitching for movable cameras |
US20190005709A1 (en) * | 2017-06-30 | 2019-01-03 | Apple Inc. | Techniques for Correction of Visual Artifacts in Multi-View Images |
US10754242B2 (en) | 2017-06-30 | 2020-08-25 | Apple Inc. | Adaptive resolution and projection format in multi-direction video |
JP6869841B2 (ja) * | 2017-07-20 | 2021-05-12 | キヤノン株式会社 | 画像処理装置、画像処理装置の制御方法、およびプログラム |
CN109819178B (zh) * | 2017-11-21 | 2022-07-08 | 虹软科技股份有限公司 | 一种用于帧处理的方法和装置 |
KR102582407B1 (ko) * | 2019-07-28 | 2023-09-26 | 구글 엘엘씨 | 포비에이티드 메시들로 몰입형 비디오 콘텐츠를 렌더링하기 위한 방법들, 시스템들, 및 매체들 |
CN111415385B (zh) * | 2020-03-02 | 2022-03-11 | 武汉大学 | 激光雷达和多线阵相机组合***的相对位姿参数优化方法 |
CN111968213B (zh) * | 2020-10-23 | 2021-03-23 | 成都完美时空网络技术有限公司 | 扭曲效果生成方法、装置、设备和存储介质 |
CN112927300A (zh) * | 2021-01-07 | 2021-06-08 | 深圳市天双科技有限公司 | 一种全景摄像头标定方法 |
CN113066189B (zh) * | 2021-04-06 | 2022-06-14 | 海信视像科技股份有限公司 | 一种增强现实设备及虚实物体遮挡显示方法 |
US11875473B2 (en) * | 2021-06-15 | 2024-01-16 | Aspeed Technology Inc. | Method for generating projection image with scaling adjustment and seam cut stitching |
US11743600B2 (en) * | 2021-08-12 | 2023-08-29 | Aspeed Technology Inc. | Multiple-processor system for multiple-lens camera and method thereof |
TWI837563B (zh) * | 2021-12-29 | 2024-04-01 | 信驊科技股份有限公司 | 以多鏡頭相機產生投影影像之影像處理系統及其方法 |
TWI829475B (zh) * | 2022-12-15 | 2024-01-11 | 信驊科技股份有限公司 | 產生包括多個影像的佈局的影像處理裝置和影像處理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101951487A (zh) * | 2010-08-19 | 2011-01-19 | 深圳大学 | 一种全景图像融合方法、***及图像处理设备 |
TW201416792A (zh) * | 2012-10-22 | 2014-05-01 | Nat Univ Chung Cheng | 低複雜度之全景影像暨影片接合的方法 |
US20150364157A1 (en) * | 2013-01-16 | 2015-12-17 | Mitsuo Hayashi | Video generation device, video generation program, and video generation method |
TW201632982A (zh) * | 2015-03-12 | 2016-09-16 | Chang Bing Show Chwan Memorial Hospital | 三維全景影像之產生方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9875575B2 (en) * | 2015-10-07 | 2018-01-23 | Google Llc | Smoothing 3D models of objects to mitigate artifacts |
-
2017
- 2017-02-08 US US15/427,504 patent/US10104288B2/en active Active
- 2017-07-26 TW TW106125030A patent/TWI622021B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101951487A (zh) * | 2010-08-19 | 2011-01-19 | 深圳大学 | 一种全景图像融合方法、***及图像处理设备 |
TW201416792A (zh) * | 2012-10-22 | 2014-05-01 | Nat Univ Chung Cheng | 低複雜度之全景影像暨影片接合的方法 |
US20150364157A1 (en) * | 2013-01-16 | 2015-12-17 | Mitsuo Hayashi | Video generation device, video generation program, and video generation method |
TW201632982A (zh) * | 2015-03-12 | 2016-09-16 | Chang Bing Show Chwan Memorial Hospital | 三維全景影像之產生方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI675350B (zh) * | 2018-05-03 | 2019-10-21 | 群光電子股份有限公司 | 影像處理裝置與方法 |
TWI681366B (zh) * | 2018-05-31 | 2020-01-01 | 廣達電腦股份有限公司 | 非線性延展裁切影像之方法及系統 |
TWI728512B (zh) * | 2019-01-04 | 2021-05-21 | 信驊科技股份有限公司 | 連結球面座標至紋理座標之球面座標校正方法 |
TWI728620B (zh) * | 2019-03-05 | 2021-05-21 | 信驊科技股份有限公司 | 基於全景影像內控制區的紋理座標調整方法 |
Also Published As
Publication number | Publication date |
---|---|
US20180227484A1 (en) | 2018-08-09 |
TW201830333A (zh) | 2018-08-16 |
US10104288B2 (en) | 2018-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI622021B (zh) | 具接合功能的全景影像產生方法及裝置 | |
TWI728620B (zh) | 基於全景影像內控制區的紋理座標調整方法 | |
TWI615810B (zh) | 具紋理映射功能的全景影像產生方法及裝置 | |
CN108600576B (zh) | 图像处理装置、方法和***以及计算机可读记录介质 | |
US7899270B2 (en) | Method and apparatus for providing panoramic view with geometric correction | |
JP6299124B2 (ja) | 投影システム、画像処理装置、投影方法およびプログラム | |
US7583858B2 (en) | Image processing based on direction of gravity | |
CN102438153B (zh) | 多摄像机图像校正方法和设备 | |
JP5666069B1 (ja) | 座標算出装置及び方法、並びに画像処理装置及び方法 | |
US20060078215A1 (en) | Image processing based on direction of gravity | |
TWI783423B (zh) | 全景影像中鄰近鏡頭影像間顏色差的補償方法 | |
CN108269234B (zh) | 一种全景相机镜头姿态估计方法及全景相机 | |
WO2019214594A1 (zh) | 图像处理方法、相关设备及计算机存储介质 | |
CN109785225B (zh) | 一种用于图像矫正的方法和装置 | |
KR20060056050A (ko) | 자동화된 360°파노라마 이미지 생성 방법 | |
US20210407037A1 (en) | Disparity estimation from a wide angle image | |
TWI762353B (zh) | 以縮放調整及接縫拼接來產生投影影像的方法 | |
US11595574B1 (en) | Image processing system and method thereof for generating projection images based on inward or outward multiple-lens camera | |
US11743600B2 (en) | Multiple-processor system for multiple-lens camera and method thereof | |
De Villiers | Real-time photogrammetric stitching of high resolution video on COTS hardware | |
CN115484442A (zh) | 以缩放调整及接缝拼接来产生投影影像的方法 | |
TWI837563B (zh) | 以多鏡頭相機產生投影影像之影像處理系統及其方法 | |
CN117422650B (zh) | 全景影像畸变校正方法、装置、电子设备及介质 | |
TW202209250A (zh) | 用以產生旋轉後全景影像的轉換方法 | |
CN114820289A (zh) | 一种基于径向对称投影模型的鱼眼图像矫正方法 |