專利名稱:圖象的合成的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖象的合成,包括依據(jù)幾何變換將一組圖象樣本值從出發(fā)空間(departure space)映射到到達(dá)空間(arrival space)的步驟。本發(fā)明用在例如用于從作為用在MPEG4領(lǐng)域中的可視化對象的定義和作為用在3D圖形領(lǐng)域中的可視化對象的定義中合成圖象的系統(tǒng)中。(3D代表三維;MPEG是動畫專家組的縮寫。)發(fā)明背景有可能通過逐樣本地掃描圖象來合成圖象。對于每個樣本,通過逆幾何變換選擇一個或者一些圖象樣本值。從這些被選擇的值中建立樣本。例如,樣本是被選擇的值的加權(quán)組合。
發(fā)明目的及概述本發(fā)明的一個目的是提供相對低的成本的實現(xiàn)。
依據(jù)本發(fā)明,在下列方式中合成圖象。合成包括依據(jù)幾何變換將一組圖象樣本值從出發(fā)空間映射到到達(dá)空間的步驟。通過將逆幾何變換應(yīng)用到在覆蓋一組圖象樣本的到達(dá)空間中的區(qū)域來計算在出發(fā)空間中的區(qū)域。為在出發(fā)空間中的區(qū)域建立一組圖象值。這組輸入值包括布爾值。布爾輸入值具有在出發(fā)空間中確定的位置,并且如果位置在這組圖象樣本值之外,則將具有相同位置的其他輸入值指定為無效的。從一組輸入值中合成一組圖象樣本。布爾值防止指定為無效的輸入值提供給圖象樣本。
本發(fā)明考慮下列方面。有可能通過在到達(dá)空間中的區(qū)域的逆幾何變換而獲得的在出發(fā)空間中的區(qū)域不完全在一組圖象樣本值的范圍內(nèi)。在這樣的情況中,在出發(fā)空間中的區(qū)域包括沒有樣本圖象值的一個或者幾個位置。原則上,有可能計算用于來自包括在區(qū)域中的圖象樣本值中的每個這些位置的填充值。因此有可能在出發(fā)空間中的區(qū)域建立一組輸入值,其全部輸入值完全發(fā)自一組圖象樣本值。然而,在一組輸入值的建立期間一個或者幾個填充值的計算要求相對大量的操作。在實時完成中,這些操作必須在相對短的時間中實現(xiàn),這要求相對快的電路。通常,電路越快,它越貴。
依據(jù)本發(fā)明,一組輸入值包括布爾值。布爾輸入值具有在出發(fā)空間中的確定位置,并且如果位置在一組圖象樣本值以外,則將具有相同位置的其他輸入值指定為無效。在圖象樣本組的合成期間,布爾值防止將被指定為無效的輸入值提供給圖象樣本。因此,在一組輸入值的建立期間沒必要計算一個或者幾個填充值。這樣的計算可以發(fā)生在例如在圖象樣本組的建立期間,通常它要求比在一組輸入值的建立期間的計算更少的操作。因此,本發(fā)明允許用不那么快的電路來實現(xiàn)以便于本發(fā)明允許以相對低的成本來實現(xiàn)。
參考在下文中描述的實施例,通過非限制性實例,本發(fā)明的這些和其他方面變得更清楚并且將被說明。
圖1和2是圖解說明在上文中描述的基本特征的理論上的圖;圖3是圖解說明用于合成圖象的設(shè)備的方框圖;圖4是圖解說明圖象的合成的理論上的圖;圖5是圖解說明貼磚(tile)和與其相關(guān)聯(lián)的逆貼磚(inverse tile)的理論上的圖;圖6是圖解說明貼磚的產(chǎn)生的理論上的圖;圖7a、7b和7c是圖解說明布爾輸入值的產(chǎn)生的理論上的圖;圖8a、8b和8c是圖解說明布爾輸入值的產(chǎn)生的理論上的圖;圖9是圖解說明貢獻(xiàn)值的建立的理論上的圖;圖10是圖解說明形成如圖3中圖解說明的用于合成圖象的設(shè)備的一部分的處理器的方框圖;圖11是圖解說明形成如圖10中圖解說明的處理器的一部分的內(nèi)部控制電路的操作的理論上的圖;圖12是圖解說明3D圖形元素的表面的理論上的圖;圖13是圖解說明形成如圖10中圖解說明的處理器的一部分的形狀樣板的一些詳細(xì)資料的方框圖;圖14a、14b、14c和14d是圖解說明形狀樣板的操作的理論上的圖;圖15是圖解說明在其中二進(jìn)制輸入值起到一定作用的格式的轉(zhuǎn)換的理論上的圖;圖16是圖解說明如圖10中圖解說明的處理器的操作的表。
最佳實施例描述下面的說明涉及參考符號。在全部圖中通過用參考相同字母的方法來定義相似的實體。幾個相似的實體可以出現(xiàn)在單個圖中。在這樣的情況中,給字母參考增加數(shù)字或者下標(biāo)以便于區(qū)分相似的實體。為了方便可以省略數(shù)字或者下標(biāo)。這將應(yīng)用到描述和權(quán)利要求中。
圖1和2圖解說明在上文中描述的基本特征。圖1圖解說明圖象[IM]的合成。實際上,依據(jù)幾何變換[T]將一組圖象樣本值[SV]從出發(fā)空間[DEP]映射[MAP]到到達(dá)空間[ARR]。
圖2圖解說明三個步驟。在準(zhǔn)備步驟[PREP]中,通過將逆幾何變換[T-1]應(yīng)用到覆蓋一組圖象樣本的在到達(dá)空間[TL]中的區(qū)域上來計算在出發(fā)空間[ITL]中的區(qū)域。在初始化步驟[INIT]中,為在出發(fā)空間[ITL]中的區(qū)域建立一組輸入值[IV]。這組輸入值[IV]包括布爾值[BV]。布爾輸入值具有在出發(fā)空間中的確定位置(xd,yd),并且如果位置在一組圖象樣本值[SV]以外,則將具有相同位置的其他輸入值指定為無效。在合成步驟[COMP]中,從一組輸入值[IV]中合成一組圖象樣本[TL]。布爾值[BV]防止將被指定為無效的輸入值提供給圖象樣本。
如圖1和2中圖解說明的特征可以應(yīng)用在例如用于從作為用在MPEG4領(lǐng)域中的可視化對象的定義和作為用在3D圖形領(lǐng)域中的可視化對象的定義中合成圖象的系統(tǒng)中。已經(jīng)提到了在3D圖形領(lǐng)域中通過以三角形的形式的一組圖形元素通常表示可視化對象。一組參數(shù)定義圖形元素的不同特征,尤其是,它的幾何特征和它的結(jié)構(gòu)。
在MPEG4領(lǐng)域中,可視化對象的定義通常是一組圖象樣本值的形式。有不同類型的圖象樣本值亮度值(Y),色度值(U,V),不透明值(A)和布爾值(S)。A值(不透明)用于將有關(guān)的可視化對象疊加到另一個可視化對象或者背景上。S值(布爾)實際上構(gòu)成有關(guān)的可視化對象的形狀的定義,而其他值構(gòu)成結(jié)構(gòu)的定義。來自一組圖象樣本值的值將在下文中被稱為原始值。
圖3圖解說明用于合成圖象的設(shè)備。設(shè)備包括存儲器[MEM],處理器[PRC]和控制器[CNTRL]。存儲器[MEM]包括輸入部分[INP]和輸出部分[OUT]。輸入部分[INP]用于存儲一個或者幾個可視化對象的定義。例如,輸入部分[INP]可以包括從依據(jù)MPEG4標(biāo)準(zhǔn)的解碼操作中產(chǎn)生的數(shù)據(jù)和3D圖形數(shù)據(jù)。因此輸入部分[INP]通常包括一組或者幾組圖象樣本值。輸出部分[OUT]用于臨時存儲合成的圖象。這個圖象可以例如通過用于在屏幕上顯示的顯示設(shè)備來讀出。
圖4以概念的方式圖解說明如圖3中所示的設(shè)備如何從三組圖象樣本值[SV1,SV2,SV3]中合成圖象[IM]。
三組圖象樣本值[SV]實際上存在于在下文中被稱為出發(fā)空間[DEP]的2D空間中。每個原始值在出發(fā)空間[DEP]中具有確定的位置。通過坐標(biāo)(xd,yd)在水平和垂直維度中定義位置。這些坐標(biāo)(xd,yd)將在下文中被稱為偏轉(zhuǎn)坐標(biāo)。如圖3中圖解說明的處理器[PRC]聯(lián)合偏轉(zhuǎn)坐標(biāo)(xd,yd)和用于存儲原始值的存儲器地址。因此處理器[PRC]還從偏轉(zhuǎn)坐標(biāo)( xd,yd)中建立存儲原始值的地址。
合成的圖象[IM]實際上存在于將在下文中被稱為到達(dá)空間[ARR]的2D空間中。每個圖象樣本在到達(dá)空間[ARR]中具有確定的位置。通過坐標(biāo)(xa,ya)在水平和垂直維度中定義位置。這些坐標(biāo)(xa,ya)將在下文中被稱為到達(dá)坐標(biāo)。如圖3中圖解說明的控制器[CNTRL]聯(lián)合到達(dá)坐標(biāo)(xa,ya)和用于存儲圖象樣本的存儲器地址。因此控制器[CNTRL]還從到達(dá)坐標(biāo)(xa,ya)建立必須存儲圖象樣本的地址。
處理器[PRC]將有關(guān)的每組圖象樣本值[SV]從出發(fā)空間[DEP]映射[MAP]到到達(dá)空間[ARR]。圖4中圖解說明的映射[MAP]包括幾何變換[T]。而且,處理器[PRC]在背景[BG]上疊加或者混合[BLND]一組映射的圖象樣本值。這意味著幾組圖象樣本值可以提供給圖象樣本。
在圖4中,用矩形表示一組圖象樣本值[SV]。這樣充分地表征了它們的典型結(jié)構(gòu)。然而,處理器[PRC]實際上修整矩形以便于獲得將從出發(fā)空間映射到到達(dá)空間的另一個形狀。例如,處理器[PRC]可以在與3D可視化對象的定義相關(guān)聯(lián)的幾何參數(shù)的基礎(chǔ)上修整矩形。在這樣的情況中,結(jié)果將是處理器[PRC]將從出發(fā)空間映射到到達(dá)空間的三角形。無論如何,修整矩形符合在一組圖象樣本值中定義子集。
如圖3中圖解說明的設(shè)備包括通過圖象樣本塊的連續(xù)產(chǎn)生來合成圖象。圖象樣本塊將在下文中被稱為“貼磚”。貼磚可以包括例如16×16的圖象樣本。處理器[PRC]在控制器[CNTRL]的控制下產(chǎn)生貼磚。控制器[CNTRL]在處理器[PRC]開始產(chǎn)生貼磚之前為每個貼磚建立控制參數(shù)。這樣構(gòu)成了準(zhǔn)備階段。一旦已經(jīng)建立了控制參數(shù),則控制器[CNTRL]連續(xù)地將控制參數(shù)應(yīng)用到處理器[PRC]以便于這個處理器連續(xù)地產(chǎn)生貼磚。這樣構(gòu)成執(zhí)行階段。
尤其是,在準(zhǔn)備階段,控制器[CNTRL]首先建立構(gòu)成合成圖象的貼磚目錄。對于每個貼磚,控制器[CNTRL]建立提供給貼磚的一組圖象樣本值的目錄。對于這些每個組,控制器[CNTRL]計算逆貼磚。通過貼磚的逆幾何變換來獲得逆貼磚。逆幾何變換是依據(jù)映射有關(guān)的一組圖象樣本值的幾何變換的逆,如圖4中圖解說明的。
圖5圖解說明貼磚[TL]和與其相關(guān)聯(lián)的逆貼磚[ITL]。貼磚[TL]存在于到達(dá)空間[ARR]中而逆貼磚存在于出發(fā)空間[DEP]中。圖5圖解說明在出發(fā)空間[DEP]中的一組圖象樣本值[SV]和在到達(dá)空間[ARR]中的該組[SV]的映射。這個映射包括幾何變換[T]。通過將逆幾何變換[T-1]應(yīng)用到貼磚[TL]來獲得逆貼磚[ITL]。如圖5中圖解說明的逆貼磚[ITL]在它覆蓋一組圖象樣本值的邊界的意義上是特殊的。
控制器[CNTRL]建立構(gòu)成逆貼磚[ITL]的在出發(fā)空間中的矩形框。用虛線在圖5中圖解說明這個框。在有用的時候,控制器[CNTRL]將矩形框的定義以控制參數(shù)的形式傳送到處理器[PRC]。如果可能,這些控制參數(shù)還包括在邊界上存在的信息。在這方面,應(yīng)該注意到有幾種類型的邊界。邊界可以是例如圖5中圖解說明的一組圖象樣本值的邊界。邊界也可以是從3D圖形元素的定義中獲得的三角形的邊界。
圖6圖解說明如圖3中所示的處理器[PRC]如何產(chǎn)生貼磚[TL]。從列舉為第一到第三值[SV1,SV2,SV3]的三組圖象樣本值[SV]中產(chǎn)生貼磚[TL]。三組圖象樣本值[SV]存在于如圖3中所示的存儲器[MEM]中。
處理器[PRC]為提供給貼磚的每組圖象樣本值[SV]執(zhí)行初始化步驟[INIT]。初始化步驟[INIT]導(dǎo)致塊輸入值[IV]。在第一個初始化步驟[INIT1]中,處理器[PRC]由此從第一組圖象樣本值[SV1]中產(chǎn)生第一塊輸入值[IV1]。在第二個初始化步驟[INIT2]中,處理器[PRC]由此從第二組圖象樣本值[SV2]中產(chǎn)生第二塊輸入值[IV2]。在第三個初始化步驟[INIT3]中,處理器[PRC]由此從第三組圖象樣本值[SV3]中產(chǎn)生第三塊輸入值[IV3]。塊輸入值[IV]表示產(chǎn)生貼磚[TL]所必需的有關(guān)的一組圖象樣本值[SV]的一部分。初始化步驟[INIT]將在下文中更詳細(xì)的描述。
塊輸入值[IV]存在于如圖4和5中圖解說明的出發(fā)空間[DEP]中。每個輸入值具有在出發(fā)空間中定義它的位置的偏轉(zhuǎn)坐標(biāo)(xd,yd)。有不同類型的輸入值亮度輸入值(Y),色度輸入值(U,V),不透明輸入值(A)和布爾輸入值(S)。塊輸入值[IV]的格式是4∶4∶4。這意味著對于在出發(fā)空間中具有確定位置(xd,yd)的每個Y輸入值,有具有相同位置(xd,yd)的U輸入值和V輸入值。還有具有這個位置(xd,yd)的A輸入值(不透明)和布爾輸入值。布爾輸入值指示是否必須在初始化步驟[INIT]之后的合成步驟[COMP]中考慮有關(guān)的Y、U、V和A輸入值。這意味著布爾輸入值指示有關(guān)的Y、U、V和A輸入值是有效或者無效。
處理器[PRC]為每塊輸入值[IV]執(zhí)行合成步驟[COMP]。在每個合成步驟[COMP]中,處理器[PRC]實際上將有關(guān)的塊輸入值[IV]的一部分從出發(fā)空間[DEP]映射到到達(dá)空間[ARR]。這個映射包括如圖4中圖解說明的有關(guān)的幾何變換[T]。在第一個合成步驟[COMP1]中,處理器[PRC]實際上映射第一塊輸入值[IV1]的一部分并且將這個映射的結(jié)果疊加到背景貼磚[BGTL]上。第一個合成步驟[COMP1]由此導(dǎo)致第一個中間貼磚[PTL1]。在第二個合成步驟[COMP2]中,處理器[PRC]實際上映射第二塊輸入值[IV2]的一部分并且將這樣映射的結(jié)果疊加到第一個中間貼磚[PTL1]上。第二合成步驟由此導(dǎo)致第二個中間貼磚[PTL2]。在第三個合成步驟[COMP3]中,處理器[PRC]實際上映射第三塊輸入值[IV3]的一部分并且將映射的結(jié)果疊加到第二個中間貼磚[PTL2]上。第三個合成步驟[COMP3]由此導(dǎo)致貼磚[TL]。合成步驟[COMP]將在下文中更詳細(xì)的描述。
現(xiàn)在將詳細(xì)描述處理器[PRC]如何在初始化步驟[INIT]中產(chǎn)生塊輸入值[IV]。處理器[PRC]執(zhí)行在存儲器[MEM]中的讀取操作。這個讀取操作只涉及構(gòu)成逆貼磚[ITL]的在出發(fā)空間中的矩形區(qū)域。這個矩形區(qū)域?qū)⒃谙挛闹斜环Q為讀取區(qū)域。用虛線在圖6中圖解說明。
假設(shè)有關(guān)的一組圖象樣本值[IVS]的格式是444。還假設(shè)讀取區(qū)域充分小以便于處理器[PRC]能夠臨時存儲存在于讀取區(qū)域中的全部原始值。在這樣的情況中,Y、U、V和A輸入值分別是在讀取區(qū)域中的原始Y、U、V和A值的復(fù)制。實際上,處理器[PRC]復(fù)制在內(nèi)部存儲器中的讀取區(qū)域直到涉及原始Y、U、V和A值。
如果有關(guān)的一組圖象樣本值[IVS]的格式不同于444,則處理器[PRC]變換格式。例如,假定一組圖象樣本值[IVS]的格式是422。在這樣的情況中,處理器[PRC]實際上在兩個臨近的原始U值之間產(chǎn)生補充U值。還在兩個臨近的原始V值之間產(chǎn)生補充V值。格式422到444的轉(zhuǎn)換由此包括在兩個臨近的原始U值之間的內(nèi)插和在兩個臨近的原始V值之間的內(nèi)插。如果一組圖象樣本值[IVS]的格式是420,處理器[PRC]執(zhí)行在四個臨近的原始U值之間的內(nèi)插和在四個臨近的原始V值之間的內(nèi)插。
處理器[PRC]包括用于臨時存儲塊輸入值[IV]的內(nèi)部存儲器。這個內(nèi)部存儲器相對較小。如圖6中所示的讀取區(qū)域可以很大以至于內(nèi)部存儲器不能存儲存在于讀取區(qū)域中的全部原始值。在這樣的情況中,處理器[PRC]實際上壓縮值。處理器[PRC]計算N個連續(xù)的原始Y值的平均值以便于獲得Y輸入值,N是表示壓縮因子的整數(shù)。如果必要,處理器壓縮類似于原始U、V和A值的值。
處理器[PRC]可以必須變換格式并且同時壓縮值。在這樣的情況中,處理器[PRC]將前面描述的內(nèi)插改作壓縮因子(N)的函數(shù)。例如,假設(shè)壓縮因子(N)是2并且在存儲器[MEM]中的存儲格式是422。在這樣的情況中,處理器[PRC]不執(zhí)行在兩個原始值之間的內(nèi)插。在一組圖象樣本值[IVS]中的原始U和V值的分辨率滿足它等于通過原始Y值的壓縮而獲得的分辨率。
如果可能,處理器[PRC]從一個或者幾個邊界的定義中產(chǎn)生布爾輸入值。如果有關(guān)的一組圖象樣本值包括原始S值,則處理器[PRC]還考慮在讀取區(qū)域中的原始S值。
圖7a、7b和7c以概念的方式圖解說明布爾輸入值的產(chǎn)生。每個解說明符合已經(jīng)如圖5中所示的那些的逆貼磚[ITL]。逆貼磚[ITL]覆蓋有關(guān)的一組圖象樣本值的邊界[EDGE]。矩形構(gòu)成逆貼磚[ITL]。為了簡化圖,假定矩形框在出發(fā)空間中包括8×6的位置。
圖7a圖解說明從相關(guān)組圖象樣本值中建立的布爾值。一組圖象樣本值包括用于在邊界[EDGE]上的位置的原始S值。調(diào)用原始S值構(gòu)成可視化對象的形狀的定義。圖7a用虛線圖解說明可視化對象的一部分輪廓。一組圖象樣本值不包括用于在邊界[EDGE]以下的位置的原始S值。因此,在邊界[EDGE]以下的布爾值具有不重要的值[x]。
圖7b圖解說明從一組圖象樣本值的邊界[EDGE]中建立的布爾值。在邊界[EDGE]以上的布爾值等于1(1)。它們指示有用于這些位置的原始值。相反,在邊界[EDGE]以下的布爾值等于0(0)。它們指示沒有用于這些位置的原始值。
圖7c圖解說明依據(jù)邏輯AND功能通過聯(lián)合圖7a和7b所獲得的布爾值。這意味著如圖7c中圖解說明的布爾值是在圖7a和圖7b中具有相同位置的布爾值的AND組合的結(jié)果。如圖7c中圖解說明的布爾值表示布爾輸入值。
圖8a、8b和8c圖解說明布爾輸入值的另一個產(chǎn)生。這些圖不顯示逆貼磚因為,原則上,這些不起作用。假定矩形框不包括相關(guān)組的圖象樣本值的邊界。換句話說,矩形框完全存在于相關(guān)組的圖象樣本值中。
圖8a圖解說明從相關(guān)組的圖象樣本值中建立的布爾值。一組圖象樣本值包括用于在矩形框中的全部位置的原始S值。再次調(diào)用這些原始S值構(gòu)成可視化對象的形狀的定義。圖8a用虛線圖解說明可視化對象的一部分輪廓。
圖8b圖解說明從一些邊界定義中建立的布爾值。這些邊界定義是根據(jù)3D圖形元素的幾何參數(shù)。有第一邊界[EDGE1]、第二邊界[EDGE2]和第三邊界[EDGE3]。這些邊界[EDGE]定義三角形[TRNGL]。在三角形[TRNGL]中的每個布爾值等于1(1)。在三角形[TRNGL]以外的每個布爾值等于0(0)。
圖8c圖解說明依據(jù)邏輯AND功能通過組合圖8a和8b而獲得的布爾值。這意味著如圖8c中圖解說明的布爾值是在圖8a和圖8b中具有相同位置的布爾值的AND組合的結(jié)果。如圖8c中圖解說明的布爾值表示布爾輸入值。在這個實例中,通過與3D圖形元素相關(guān)聯(lián)的一些邊界定義來修整用原始S值定義其形狀的可視化對象。
現(xiàn)在將詳細(xì)描述在合成步驟[COMP]中由處理器[PRC]執(zhí)行的操作。在每個合成步驟[COMP]中,處理器[PRC]實際上掃描如圖5中圖解說明的在到達(dá)空間[ARR]中占據(jù)貼磚[TL]的區(qū)域。這個區(qū)域包括由整數(shù)的到達(dá)坐標(biāo)(xa,ya)表征的幾個位置。貼磚[TL]包括用于每個位置(xa,ya)的Y圖象樣本、U圖象樣本和V圖象樣本。對于每個位置(xa,ya),處理器[PRC]建立Y貢獻(xiàn)值、U貢獻(xiàn)值、V貢獻(xiàn)值、A貢獻(xiàn)值和S貢獻(xiàn)值。處理器[PRC]從相關(guān)塊輸入值[IV]中建立這些貢獻(xiàn)值。
圖9圖解說明處理器[PRC]如何在到達(dá)空間[ARR]中建立用于位置(xa,ya)的Y貢獻(xiàn)值。處理器[PRC]從有關(guān)位置的到達(dá)坐標(biāo)(xa,ya)中計算偏轉(zhuǎn)坐標(biāo)(xd,yd)。通過將有關(guān)的逆幾何變換[T-1]應(yīng)用到到達(dá)坐標(biāo)(xa,ya)上來獲得偏轉(zhuǎn)坐標(biāo)(xd,yd)。到達(dá)坐標(biāo)(xa,ya)是整數(shù)而偏轉(zhuǎn)坐標(biāo)(xd,yd)可以是有理數(shù)。這意味著偏轉(zhuǎn)坐標(biāo)(xd,yd)可以分解成整數(shù)部分(xd‘,yd‘)和分?jǐn)?shù)部分(Δxd,Δyd)。下列關(guān)系適用(xd,yd)=(xd‘,yd‘)+(Δxd,Δyd),xd‘和yd‘是整數(shù),Δxd和Δyd是0和1之間的有理數(shù)。
圖9圖解說明偏轉(zhuǎn)坐標(biāo)(xd,yd)構(gòu)成濾波器核心[KRNL]的中心。如圖9中圖解說明的濾波器核心[KRNL]的尺寸是4×4的位置。濾波器核心[KRNL]存在于相關(guān)的塊輸入值[IV]中。這意味著濾波器核心[KRNL]通常包括16Y輸入值。應(yīng)該注意到一個或者多個Y輸入值可以是無效的。調(diào)用布爾輸入值指示哪些輸入值是有效的,哪些是無效的。
處理器[PRC]在濾波器核心[KRNL]中建立有效Y輸入值的加權(quán)組合。加權(quán)因子依靠偏轉(zhuǎn)坐標(biāo)(xd,yd)的分?jǐn)?shù)部分(Δxd,Δyd)。加權(quán)組合構(gòu)成Y貢獻(xiàn)值[CV/Y]。處理器[PRC]依據(jù)相同的方法建立U、V和A貢獻(xiàn)值。布爾貢獻(xiàn)值通常是最接近濾波器核心[KRNL]中心的布爾輸入值。布爾貢獻(xiàn)值指示是否必須隨后考慮U、V和A貢獻(xiàn)值。
在如圖6中圖解說明的第一個合成步驟[COMP1]中,處理器[PRC]掃描如上文中所述的在到達(dá)空間中占據(jù)貼磚[TL]的區(qū)域。對于每個位置(xa,ya),處理器[PRC]如參考圖9所述的從第一塊輸入值中建立Y、U、V和A貢獻(xiàn)值和布爾貢獻(xiàn)值。
如果布爾貢獻(xiàn)值指示Y、U、V和A貢獻(xiàn)值是有效的,則處理器[PRC]分別建立Y、U和V貢獻(xiàn)值和源于具有相同位置(xa,ya)的背景貼磚[BGTL]的Y、U和V背景樣本的加權(quán)組合。這些加權(quán)組合的結(jié)果構(gòu)成第一Y、U和V中間樣本。A貢獻(xiàn)值確定加權(quán)因子。如果布爾貢獻(xiàn)值指示Y、U、V和A貢獻(xiàn)值是無效的,則源于背景貼磚[BGTL]的Y、U和V背景樣本構(gòu)成第一Y、U和V中間樣本。由此處理器[PRC]為每個位置(xa,ya)建立第一Y、U和V中間樣本。在掃描操作的結(jié)尾處,一組第一Y、U和V中間樣本構(gòu)成如圖6中圖解說明的第一中間貼磚[PTL1]。
在如圖6中圖解說明的第二個合成步驟[COMP2]和第三個合成步驟[COMP3]中,處理器[PRC]基本上執(zhí)行與如在上文所述的第一個合成步驟[COMP1]中相同的操作。在第二個合成步驟[COMP2]中,第二塊輸入值[IV2]取代第一塊輸入值[IV1]。第一中間貼磚[PTL1]取代背景貼磚[BGTL]并且由此第一中間樣本取代背景樣本。處理器[PRC]為每個位置(xa,ya)建立第二Y、U和V中間樣本。在掃描操作的結(jié)尾處,第二Y、U、V中間樣本構(gòu)成如圖6中圖解說明的第二中間貼磚[PTL2]。
在第三個合成步驟[COMP3]中,第三塊輸入值[IV3]取代用在第一個合成步驟[COMP1]中的第一塊輸入值[IV1]。第二中間貼磚[PTL2]取代背景貼磚[BGTL]并且由此第二中間樣本取代背景樣本。處理器[PRC]為每個位置(xa,ya)建立Y、U和V圖象樣本。在掃描操作的結(jié)尾處,Y、U和V圖象樣本構(gòu)成如圖6中圖解說明的貼磚[TL]。
圖10圖解說明處理器[PRC]。處理器[PRC]包括隨機存取存儲器[DMA],初始化電路[CINIT],兩個對象存儲器[OM]和合成電路[CCOMP]。更詳細(xì)的,初始化電路[CINIT]包括形狀樣板[SF],形狀存儲器[SM],對象樣板[OF]和內(nèi)部控制電路[IML]。合成電路[CCOMP]包括幾何變換電路[GT],濾波器形狀樣板[FIF],系數(shù)存儲器[COM],內(nèi)插電路[IP]和混合電路[BL]和兩個混和存儲器[BLM]??拷鼉?nèi)部存儲器[SM,OM1,OM2]的沒有參考符號的方框表示存儲器控制電路。
初始化電路[CINIT]執(zhí)行如圖6中圖解說明的初始化步驟[NIT]。兩個對象存儲器[OM]用于臨時存儲如圖6中所示的塊輸入值[IV]。處理器[PRC]在一個和另一個對象存儲器[OM]中的地址和如圖4中圖解說明的在出發(fā)空間[DEP]中的位置(xd,yd)之間進(jìn)行關(guān)聯(lián)。合成電路[CCOMP]執(zhí)行如圖6中所示的合成步驟[COMP]。兩個混和存儲器[BLM]用于臨時存儲背景貼磚[BFTL]、第一中間貼磚[PTL1]、第二中間貼磚[PTL2]和貼磚[TL]。處理器[PRC]在一個和另一個混和存儲器[BLM]中的地址和如圖4中圖解說明的在到達(dá)空間[ARR]中的位置(xa,ya)之間進(jìn)行關(guān)聯(lián)。
圖11圖解說明如圖10中所示的內(nèi)部控制電路[IML]的操作。內(nèi)部控制電路[IML]從如圖3中圖解說明的控制器[CNTRL]中接收控制參數(shù),控制參數(shù)定義矩形框[BBOX]。這個矩形框[BBOX]構(gòu)成如參考圖5所說明的有關(guān)的逆框[ITL]。
內(nèi)部控制電路[IML]建立來自矩形框[BBOX]中的延伸的矩形框[EBBOX]和通過內(nèi)插電路[IP]應(yīng)用的濾波器核心[KRNL]。術(shù)語濾波器核心[KRNL]已經(jīng)參考圖9解釋了。延伸的矩形框[EBBOX]包括通過在矩形框[BBOX]中移動置換濾波器核心[KRNL]的中心在核心中可以包括的全部值。
內(nèi)部控制電路[IML]擴展到延伸的矩形框[EBBOX]以便于獲得具有標(biāo)準(zhǔn)尺寸的對準(zhǔn)的矩形框[MABOX]。對準(zhǔn)的矩形框[MABOX]在出發(fā)空間中指定確定的區(qū)域。在水平和垂直維數(shù)中在這個區(qū)域中的位置數(shù)等于P和Q×在水平和垂直維度中塊輸入值的位置數(shù),其中P和Q是整數(shù)。例如,假設(shè)輸入塊包括32×32位置。在這樣的情況中,對準(zhǔn)的矩形框[MABOX]可以在出發(fā)空間中指定包括例如32×32位置、32×64位置、64×32位置或者64×32位置的區(qū)域。因此朝著對準(zhǔn)的矩形框[MABOX]的延伸的矩形框[EBBOX]的擴展利于如圖10中所示的對象存儲器[OM]的填充。
圖12圖解說明包括3D圖形元素的表面的對準(zhǔn)的矩形框[MABOX]。幾何參數(shù)定義三角形表面。幾何參數(shù)可以是例如三角形表面的角[V]的頂點的坐標(biāo)。幾何參數(shù)還定義三個邊線第一邊線[EL1]、第二邊線[EL2]和第三邊線[EL3]。邊線[EL]將對準(zhǔn)的矩形框[MABOX]分割成兩部分不包括表面的一部分和包括表面的另一部分。
用縱坐標(biāo)(xd)表征在出發(fā)空間中的線[LN]。在每條線上,有三個邊線點第一邊線點[P1]、第二邊線點[P2]和第三邊線點[P3]。第一邊線點[P1]是通過線[LN]的縱坐標(biāo)(xd)給定的第一邊界線[EL1]的橫坐標(biāo)(xd)。第二邊線點[P2]和第三邊線點[P3]分別是通過線[LN]的垂直坐標(biāo)(yd)給定的第二邊界線[EL2]的橫坐標(biāo)(xd)和第三邊界線[EL3]的橫坐標(biāo)(xd)。
形狀樣板[SF]實際上逐行掃描對準(zhǔn)的矩形框[MABOX]。更詳細(xì)的,形狀樣板[SF]逐片掃描線。片[SLC]是在水平維數(shù)中的一串M個連續(xù)位置。對于每片[SLC],形狀樣板[SF]產(chǎn)生布爾輸入值。形狀樣板[SM]用于臨時存儲布爾輸入值。已經(jīng)以概念的方式參考圖7a到8c描述了布爾輸入值的產(chǎn)生。已下將更加詳細(xì)地加以描述。
對于每個不同片[SLC],形狀樣板[SF]建立三串布爾值。形狀樣板[SF]建立來自第一邊界線[EL1]的第一串布爾值(SER1)、來自第二邊界線[EL2]的第二串布爾值(SER2)和來自第三邊界線[EL3]的第三串布爾值(SER3)。串(SER)包括用于包括在片[SLC]中的每個位置的布爾值。已經(jīng)說明了邊界線[EL]將對準(zhǔn)的矩形框[MABOX]分割成兩部分。布爾值指示有關(guān)的位置是否在對準(zhǔn)的矩形框[MABOX]的一個或者另一個部分中。
形狀樣板[SF]如下建立一串布爾值。形狀樣板[SF]計算在片[SLC]的左末端和有關(guān)的邊界線點[P]之間的距離。這個距離在下文中將被稱為左距離(Dist_L)。形狀樣板[SF]還計算在片[SLC]的右末端和有關(guān)的邊界線點[P]之間的距離。這個距離在下文中將被稱為右距離(Dist_R)。布爾值串(SER)是左距離和右距離的函數(shù)(F)SER=F(Dist_L,Dist_R)。
如果左距離(Dist_L)和右距離(Dist_R)具有相同符號,則將通過相同的布爾值構(gòu)成串(SER)。這意味著,隨著符號的改變,將通過等于0(0)的布爾值或者等于1(1)的布爾值專門構(gòu)成串(SER)。如果左距離(Dist_L)和右距離(Dist_R)具有相反的符號,則邊界線點[P]實際上存在于有關(guān)的片[SLC]中。在這樣的情況中,將通過等于0(0)的布爾值構(gòu)成串(SER)的第一部分并且通過等于1(1)的布爾值構(gòu)成第二部分,或者相反。一部分和另一部分的大小是左距離和右距離(Dist_L,Dist_R)的函數(shù)(F)。
函數(shù)(F)可以例如通過邏輯電路和包括表的存儲器來實現(xiàn)。在這樣的情況中,表包括不同串的可能的布爾值。地址選擇電路選擇包含所期望的布爾值串的表的單元作為左和右距離的函數(shù)。
下列方法允許左和右距離的簡單計算。形狀樣板[SF]計算用于對準(zhǔn)的矩形框[MABOX]的第一條線的三個邊界線點[P1,P2,P3]。在這條線上的第一片的左末端位于橫向參考坐標(biāo)xd=0上。因此,用于第一串布爾值的左距離等于第一邊界線點(Dist_L/SER1=P1)。用于第二串布爾值和第三串布爾值的左距離分別等于第二邊界線點和第三邊界線點(Dist_L/SER2=P2;Dist_L/SER3=P3)。對于線的其他片,用于一串的左距離(Dist_L)等于與前面片有關(guān)的用于相同串的右距離(Dist_R)。用于一串布爾值的右距離還等于用于相同串的左距離減去M(DistR=Dist_L-M),其中M是在片[SLC]中的位置數(shù)。
形狀樣板[SF]如下計算在第二條線上的一串布爾值的左距離(Dist_L)和右距離(Dist_R)和在其他線上的左距離和右距離。形狀樣板[SF]計算每個邊界線[EL]的斜率的倒數(shù)。對于在線上的每串布爾值,形狀樣板[SF]選取在具有相同水平位置的前面的線上的一串布爾值的左距離(Dist_L)。隨后,形狀樣板[SF]將斜率的倒數(shù)增加到這個左距離(Dist_L)上。這樣計算的結(jié)果是在當(dāng)前線上的一串布爾值的左距離(Dist_L)。用于一串布爾值的右距離總是等于用于相同串的左距離減去M(Dist_R=Dist_L-M)。
圖13圖解說明形狀樣板[SF]的一些詳細(xì)資料。形狀樣板[SF]包括列舉為第一到第三發(fā)生器[GEN1,GEN2,GEN3]的三個布爾值串發(fā)生器[GEN],列舉為第一到第四寄存器[REGI1,REGI2,REGI3,REGI4]的四個輸入寄存器[REGI],邏輯AND電路[AND]和輸出寄存器[REGO]和壓縮或者收縮電路[SHRNK]。
第一布爾值串發(fā)生器[GEN1]產(chǎn)生用于來自第一邊界線[EL1]的相關(guān)片[SLC]的第一串布爾值(SER1)。第二布爾值串發(fā)生器[GEN2]和第三布爾值串發(fā)生器[GEN3]分別產(chǎn)生用于來自第二邊界線[EL2]和第三邊界線[GEN3]的相關(guān)片[SLC]的第二串布爾值(SER2)和第三串布爾值(SER3)。調(diào)用3D圖形元素的幾何參數(shù)定義邊界線[EL]。依據(jù)在上文中描述的方法執(zhí)行串布爾值(SER)的產(chǎn)生。第一串布爾值(SER1)第二串布爾值(SER2)和第三串布爾值(SER3)分別放置在第一輸入寄存器[REGI1]、第二輸入寄存器[REGI2]和第三輸入寄存器[REGI3]中。
第四輸入寄存器[REGI4]用于存儲源于相關(guān)組圖象樣本值的原始S值。每片[SLC]在如圖12中所示的對準(zhǔn)的矩形框[MABOX]中指定一串M位置。一串圖象樣本值可以包括用于每個位置的原始S值。在這樣的情況中,形狀樣板[SF]將有關(guān)的M個原始S值寫入第四輸入寄存器[REGI4]。相反,在片[SLC]中可能有一個或者幾個位置,其一組圖象樣本值不包括原始S值。至少片[SLC]的一部分實際上在這組圖象樣本值以外。在這樣的情況中,形狀樣板[SF]將用于在這組輸入樣本值以外的每個位置的等于0(0)的布爾值寫入第四輸入寄存器[REGI4]。
如果該組不包括原始S值,則形狀樣板[SF]將用于在該組以內(nèi)的每個位置的等于1(1)的布爾值和用于在該組以外的每個位置的等于0(0)的布爾值寫入第四輸入寄存器[REGI4]。形狀樣板[SF]以下列方式分辨位置在一組以內(nèi)或者以外。在如圖11中圖解說明的對準(zhǔn)的矩形框[MABOX]中的每個位置與存儲器地址相關(guān)聯(lián)。形狀樣板[SF]可以使用指示用于每組圖象樣本值的該組樣本值所在存儲器區(qū)域的表。形狀樣板[SF]由此檢測與確定位置相關(guān)聯(lián)的地址是在存儲有關(guān)組的存儲器的區(qū)域以內(nèi),或者是在這個區(qū)域以外。如果地址在區(qū)域以外,意味著位置在該組以外,則形狀樣板[SF]將等于0(0)的布爾值寫入第四輸入寄存器[REGI4]。
如圖13中圖解說明的邏輯AND電路[AND]依據(jù)邏輯AND功能組合輸入寄存器[REGI]的各項內(nèi)容。實際上,對于在輸出寄存器[REGO]中的每個位置,邏輯AND電路[AND]在每個輸入寄存器[REGI]中取出具有相同位置的布爾值并且將邏輯AND功能應(yīng)用到這些布爾值上。輸出寄存器[REGO]的內(nèi)容構(gòu)成一串總布爾輸入值。
收縮電路[SHRNK]用來自在輸出寄存器[REGO]中的總布爾輸入值提供用于存儲在形狀存儲器[SM]中的布爾輸入值。已經(jīng)說明了如圖3中圖解說明的控制器[CNTRL]可以定義壓縮因子(N)。在這樣的情況中,收縮電路[SHRNK]實際上將輸出寄存器[REGO]分成N個連續(xù)的總布爾輸入值的組。收縮電路[SHRNK]將AND功能應(yīng)用到每組以便于獲得布爾輸入值。
例如,假設(shè)輸出寄存器[REGO]在位置1、2、3和4處包括分別等于1、1、1和0的總布爾輸入值。還假設(shè)壓縮因子是2。在這樣的情況中,收縮電路[SHRNK]將AND功能應(yīng)用到在位置1和2處的總布爾輸入值,導(dǎo)致等于1的布爾輸入值。收縮電路[SHRNK]將AND功能應(yīng)用到在位置3和4處的總布爾輸入值,導(dǎo)致等于0的布爾輸入值。如果沒有壓縮因子,收縮電路[SHRNK]例如在形狀存儲器[SM]中存儲一串總布爾輸入值。
圖14a、14b、14c和14d圖解說明形狀樣板[SF]的操作。每個圖表示相當(dāng)于對準(zhǔn)的矩形框[MABOX]的空間。為了簡化這些圖,假定對準(zhǔn)的矩形框[MABOX]包括8×8個位置。在圖14a、14b和14c中分別復(fù)制已經(jīng)如圖12中圖解說明的第一邊界線[EL1]、第二邊界線[EL2]和第三邊界線[EL3]。這些邊界線定義已經(jīng)如圖12中圖解說明的表面。在圖14d中復(fù)制這個表面。
圖14a、14b和14c分別圖解說明相對于對準(zhǔn)的矩形框[MABOX]而產(chǎn)生的一組第一串布爾值、一組第二串布爾值和一組第三串布爾值。圖14d圖解說明通過將邏輯AND功能應(yīng)用到如圖14a、14b和14c中圖解說明的組上而獲得的結(jié)果。這個結(jié)果構(gòu)成從其中通過執(zhí)行壓縮來建立輸入值的總布爾輸入值,如果必要的話。
將在下文中詳細(xì)地描述如圖10中圖解說明的對象樣板[OF]的操作。通過隨機存取存儲器[DMA],對象樣板[OF]在如圖3中圖解說明的存儲器[MEM]中執(zhí)行讀取操作。這樣的讀取操作涉及存在于通過如圖11中圖解說明的對準(zhǔn)的矩形框[MABOX]指定的出發(fā)空間的區(qū)域中的原始Y、U、V和A值。對象樣板[OF]還在形狀樣板[SM]中執(zhí)行讀取操作。因此對象樣板[OF]接收形狀樣板[SF]相對于如上文中所述的對準(zhǔn)的矩形框[MABOX]已經(jīng)產(chǎn)生的布爾輸入值。
對象樣板[OF]執(zhí)行幾個操作。首先,如果一組圖象樣本值的格式不是依據(jù)格式444,則對象樣板[OF]實現(xiàn)格式的轉(zhuǎn)換。第二,如果控制器[CNTRL]定義壓縮因子(N),則對象樣板[OF]實現(xiàn)壓縮。在這樣的情況中,對象樣板[OF]取N個臨近原始值的平均值以便于獲得輸入值。第三,對象樣板[OF]組合每個布爾輸入值和具有相同位置的A輸入值(不透明)。對象樣板[OF]由此生成存儲在相關(guān)對象存儲器[OM]中的組合輸入值。因此聯(lián)合的輸入值包括表示布爾輸入值的位。其他位表示A輸入值(不透明)。
圖15圖解說明在其中布爾輸入值起到一定作用的格式的變換。圖15圖解說明對象樣板[OF]接收的一些布爾輸入值[BIV(i,j)…BIV(i+6,j)]和一些原始U值[UV(i,j),UV(i+2,j),UV(i+4,j),UV(i+6,j)]。圖15還圖解說明對象樣板[OF]寫入相關(guān)的對象存儲器[OM]的一些U輸入值[UIV(i,j)…UIV(i+5,j)]。在括號之間的符號以偏轉(zhuǎn)坐標(biāo)(xd,yd)的形式表示有關(guān)值的位置。如果布爾輸入值[BIV]等于1(1),它指示具有相同位置的U輸入值[UIV]是有效的。相反,如果布爾輸入值[BV]等于0(0),它指示具有相同位置的U輸入值[UIV]是無效的。
圖15圖解說明對于確定的U輸入值[UIV(i,j),UIV(i+2,j),UIV(i+4,j)],存在具有對應(yīng)位置的原始U值[UV(i,j),UV(i,j+2),UV(i,j+4)]。這些U輸入值的每一個[UIV(i,j),UIV(i+2,j),UIV(i+4,j)]是具有相同位置的原始U值[UV(i,j),UV(i,j+2),UV(i,j+4)]的字面的復(fù)制。
圖15還圖解說明確定的U輸入值[UIV(i+1,j),UIV(i+3,j),UIV(i+5,j)]實際上填充在原始U值[UV(i,j),UV(i,j+2),UV(i,j+4)]之間的孔。孔可以存在于有效的原始U值[UV(i,j),UV(i+2,j)]之間。在這樣的情況中,通過在有關(guān)的兩個原始U值[UV(i,j),UV(i+2,j)]之間的內(nèi)插來獲得實際上填充這個孔的U輸入值[UIV(i+1,j)]。相反,孔可以存在于有效的原始U值[UV(i+4,j)]和無效的原始U值[UV(i+6,j)]之間。在這樣的情況中,實際上填充這個孔的U輸入值[UIV(i+5,j)]是有效的原始U值[UV(i+4,J)]的字面的復(fù)制。這樣做以便于U輸入值[UIV(i+5,j)]不依賴于無效的原始U值[UV(i+6,j)]。
現(xiàn)在將更詳細(xì)地描述如圖10中所示的合成電路[CCOMP]地操作。幾何變換電路[GT]掃描在到達(dá)空間中占有相關(guān)貼磚的區(qū)域。參考如圖6中圖解說明的合成步驟[COMP]在上文中已經(jīng)描述了這個掃描。對于每個位置(xa,ya),幾何變換電路[GT]確定如參考圖9在上文中說明的濾波器核心[KRNL]的位置。幾何變換電路[GL]使得濾波器樣板[FIF]在對象存儲器中搜索在存在于濾波器核心[KRNL]中的M個輸入值。幾何變換電路[GT]還使得內(nèi)插電路[IP]讀取系數(shù)存儲器[COM]中適當(dāng)?shù)臑V波器系數(shù)。濾波器系數(shù)依賴于定義濾波器核心的中心的偏轉(zhuǎn)坐標(biāo)(xd,yd)的分?jǐn)?shù)部分(Δxd,Δyd)。這樣已經(jīng)參考圖9在上文中進(jìn)行了說明。
如圖10圖解說明的濾波器樣板[FIF]重新排列輸入值以便于它們的位置符合濾波器系數(shù)。濾波器樣板[FIF]還用根據(jù)有效的輸入值的值取代全部無效的輸入值。濾波器樣板[FIF]由此防止無效的輸入值提供給貼磚,否則將導(dǎo)致失真。調(diào)用包括在合成的輸入值中的布爾輸入值指示哪些輸入值是有效和哪些無效。例如,濾波器樣板[FIF]可以在濾波器核心中建立所有有效Y輸入值的中值。隨后,濾波器樣板[FIF]用有效Y輸入值的中值代替無效Y輸入值。濾波器樣板[FIF]執(zhí)行用于U、V和A輸入值的類似的操作。
如圖10所示的內(nèi)插電路[IP]包括兩個多相濾波器用于Y、U和V輸入值的第一多相濾波器和用于每一個包括A輸入值和布爾輸入值的合成的輸入值的第二多相濾波器。每個濾波器包括4×4個抽頭。每個抽頭與濾波器系數(shù)和輸入值相關(guān)聯(lián)。第一多相濾波器建立通過濾波器樣板[FIF]提供的輸入值的加權(quán)組合。這個濾波器由此建立Y、U和V貢獻(xiàn)值。第二多相濾波器在濾波器的核心中從合成的輸入值中得到A貢獻(xiàn)值和布爾貢獻(xiàn)值。
混合電路[BL]選擇用于合成貼磚的兩個混和存儲器[BLM1,BLM2]中的一個。因此在被選擇的混和存儲器[BLM1,BLM2]中臨時存儲如圖6中所示的背景貼磚[BGTL]、中間貼磚[PTL]和貼磚[TL]。另一個混和存儲器[BLM2,BLM1]將被選擇用于合成下一個貼磚等?;旌痛鎯ζ鱗BLM1,BLM2]是兩個端口的存儲器。因此混合電路[BL]能夠讀出混和存儲器的數(shù)據(jù)并且同時將數(shù)據(jù)寫入相同的混和存儲器中。
混合電路[BL]接收來自內(nèi)插電路[P]的Y、U、V和A貢獻(xiàn)值和用于合成的貼磚的每個位置(xa,ya)的布爾貢獻(xiàn)值?;旌想娐穂BL]將在被選擇的混和存儲器[BLM1,BLM2]中搜索具有相同位置(xa,ya)的Y、U和V樣本。
混合電路[BL]通過布爾貢獻(xiàn)值來檢驗Y、U、V和A貢獻(xiàn)值是有效或者無效。如果Y、U、V和A貢獻(xiàn)值有效,則混合電路[BL]分別建立源于被選擇的混和存儲器[BLM1,BLM2]的具有Y、U和V樣本的Y、U和V貢獻(xiàn)值的加權(quán)組合。A貢獻(xiàn)值確定加權(quán)因子。這些加權(quán)組合的結(jié)果構(gòu)成新的Y、U和V樣本?;旌想娐穂BL]將這些新的樣本寫入被選擇的混合存儲器[BLM1,BLM2]。如果Y、U、V和A貢獻(xiàn)值是無效的,則混合電路[BL]在此前讀取樣本的被選擇的混和存儲器[BLM2,BLM1]中重寫Y,U和V樣本。在這樣的情況中,新的Y、U和V樣本分別等于老的Y、U和V樣本。
圖16以表格的方式圖解說明如圖10中所示的處理器[PRC]的操作。表格的行表示列舉為Pth到p+5th的大旋回[MC(p)-MC(p+5)]。大旋回是包括確定的時鐘循環(huán)數(shù)的時間間隔。表格的列表示用于產(chǎn)生貼磚的不同步驟。已經(jīng)參考圖6描述了初始化步驟[INIT]和合成步驟[COMP]。圖16還圖解說明加速步驟[EXP]。
圖16圖解說明兩個貼磚的產(chǎn)生一個qth貼磚[TL(q)]和一個q+1th貼磚[TL(q+1)]。處理器[PRC]產(chǎn)生來自第一組圖象樣本值[SV1]和第二組圖象樣本值[SV2]中這些貼磚的每一個。
在pth大旋回[MC(p)]中,初始化電路[CINIT]產(chǎn)生用于來自第一組圖象樣本值[SV1]的qth貼磚[IV1(q)]的第一塊輸入值。在第一對象存儲器[OM1]中存儲這個塊[IV1(q)]。同時,合成電路[CCOMP]在第一混和存儲器[BLM1]中放置用于qth貼磚[BGTL(q)]的背景樣本。
在p+1th大旋回[MC(p+1)]中,初始化電路[CINIT]產(chǎn)生用于來自第二組圖象樣本值[SV2]的qth貼磚[IV2(q)]的第二塊輸入值。在第二對象存儲器[OM2]中存儲這個塊[IV2(q)]。同時,合成電路[CCOMP]讀取用于第一對象存儲器[OM1]的qth貼磚[IV1(q)]的第一塊輸入值并且從這個塊中產(chǎn)生貢獻(xiàn)值。合成電路[CCOMP]結(jié)合貢獻(xiàn)值和用于qth貼磚[BGTL(q)]的背景樣本用來形成用于qth貼磚[PTL(q)]的中間圖象樣本值。在第一混和存儲器[BLM1]中存儲這些中間圖象樣本值[PTL(q)]。
在p+2th大旋回[MC(p+2)]中,初始化電路[CINIT]生成用于來自第一組圖象樣本值[SV1]的q+1th貼磚[IV1(q+1)]的第一塊輸入值。在第一對象存儲器[OM1]中存儲這個塊[IV1(q+1)]。同時,合成電路[CCOMP]讀取用于第二對象存儲器[OM2]的qth貼磚[IV2(q)]的第二塊輸入值并且從這個塊中產(chǎn)生貢獻(xiàn)值。合成電路[CCOMP]組合貢獻(xiàn)值和存儲在第一混和存儲器[BLM1]中的用于qth貼磚[PTL(q)]的中間樣本。合成電路[CCOMP]由此產(chǎn)生用于qth貼磚[TL(q)]的圖象樣本。它在第一混和存儲器[BLM1]中存儲圖象樣本。第一混和存儲器[BLM1]由此包括在p+2th大旋回[MC(p+2)]結(jié)尾處的qth貼磚[TL(q)]。最后,合成電路[CCOMP]在第二混和存儲器[BLM2]中放置用于q+1th貼磚[BGTL(q+1)]的背景樣本。
在p+3th大旋回[MC(p+3)]中,初始化電路[CINT]生成用于來自第二組圖象樣本值[SV2]的q+1th貼磚[IV2(q+1)]的第二塊輸入值。在第二對象存儲器[OM2]中存儲這個塊[IV2(q+1)]。同時,合成電路[CCOMP]讀取用于第一對象存儲器[OM21的q+1th貼磚[IV1(q+1)]的第一塊輸入值并且從這個塊中產(chǎn)生貢獻(xiàn)值。合成電路[CCOMP]組合貢獻(xiàn)值和用于q+1th貼磚[BGTL(q+1)]的背景樣本用來形成用于q+1th貼磚[PTL(q+1)]的中間樣本。在第二混和存儲器[BLM2]中存儲這些中間圖象樣本。處理器[PRC]將第一混和存儲器[BLM1]的qth貼磚[TL(q)]傳送到如圖3中所示的存儲器[MEM]。
在p+4th大旋回[MC(p+4)]中,初始化電路[CINIT]讀取用于第二對象存儲器[OM2]的q+1th貼磚[IV2(q+1)]的第二塊輸入值并且從這個塊中產(chǎn)生貢獻(xiàn)值。合成電路[CCOMP]組合貢獻(xiàn)值和存儲在第二混和存儲器[BLM2]中的用于q+1th貼磚[PTL(q+1)]的中間樣本。合成電路[CCOMP]由此產(chǎn)生用于q+1th貼磚[TL(q+1)]的圖象樣本。它在第二混和存儲器[BLM2]中存儲圖象樣本。第二混和存儲器[BLM2]由此包括在p+4th大旋回[MC(p+4)]結(jié)尾處的q+1th貼磚[TL(q+1)]。在p+5th大旋回[MC(p+5)]中,處理器[PRC]將第二混和存儲器[BLM2]的q+1th貼磚[TL(q+!)]傳送到如圖3中所示的存儲器[MEM]。
在單個大旋回中,處理器[PRC]由此能夠執(zhí)行三個不同步驟初始化步驟[INIT],合成[COMP]和加速[EXP]。第一個對象存儲器[OM1]和第二個對象存儲器[OM2]以觸發(fā)模式在大旋回[MC]的節(jié)奏中進(jìn)行操作。在確定的大旋回中,兩個存儲器中的一個是數(shù)據(jù)的接收器,而另一個是數(shù)據(jù)的發(fā)送器。原則上,在每個大旋回中任務(wù)是相反的。第一混和存儲器[BLM1]和第二混和存儲器[BLM2]也以觸發(fā)模式但是在貼磚[TL]的節(jié)奏中進(jìn)行操作。處理器[PRC]使用兩個存儲器中的一個用來合成確定的貼磚并且使用另一個用來合成隨后的貼磚。
在上文中參考圖3到16所述的圖像合成設(shè)備是實現(xiàn)如圖1和2中所示的特征的實例。特別是圖7a、7b和7c圖解說明布爾輸入值的產(chǎn)生,如果位置在一組圖象樣本值以外,則布爾輸入值具有在出發(fā)空間中的確定的位置并且將具有相同位置的其他值指定為無效。
上面參考不同的圖的描述是圖解說明而不是限制本發(fā)明。很明顯有許多在附加的權(quán)利要求書的范圍中的備選方案。在這方面,將在最后進(jìn)行一些說明。
依據(jù)本發(fā)明有許多合成圖象的方法。如圖3中所示的設(shè)備通過連續(xù)地產(chǎn)生貼磚來合成圖象。原則上,也有可能例如在一個操作中合成圖象。如果如圖10中所示的處理器的內(nèi)部存儲器[SM,OM,BLM]足夠大,則這是可能的。
依靠硬件或者軟件或者兩者的組合的項目,有許多實現(xiàn)功能的方法。在這方面,圖是非常概略的并且每個圖只表示一個實施例。盡管圖以分塊的形式顯示不同的功能,但它根本不排除單項硬件或者軟件執(zhí)行一些功能的事實。這樣也不排除能夠通過一組硬件或者軟件執(zhí)行功能的事實。
如圖10所示的處理器包括,例如,相互結(jié)合產(chǎn)生貼磚的不同塊。原則上,有可能通過適當(dāng)?shù)目沙淌交挠嬎銠C電路來實現(xiàn)這些塊。包含在編程存儲器中的一組指令可以使計算機電路執(zhí)行在上文中參考圖3到16所描述的不同操作??梢酝ㄟ^讀取像磁盤這樣的包括一組指令的數(shù)據(jù)載體來將這組指令加載到編程存儲器中??梢酝ㄟ^像因特網(wǎng)這樣的通信網(wǎng)絡(luò)來執(zhí)行讀取操作。在這樣的情況中,功能提供設(shè)置感興趣的那些處理的一組指令。
將以非限制的方式解釋在權(quán)利要求中括號之間的非參考符號。動詞“comprise”的使用和它的共軛性不排除在權(quán)利要求中聲明的那些以外的元素和步驟的存在。在元素或者步驟冠詞前面的“a”或者“an”的使用不排除多個這些元素和步驟的存在。
權(quán)利要求
1.合成圖象[IM]的方法,方法包括依據(jù)幾何變換[T]將一組圖象樣本值[SV]從出發(fā)空間[DEP]映射[MAP]到到達(dá)空間[ARR]的步驟,方法包括步驟通過將逆幾何變換[T-1]應(yīng)用到覆蓋一組圖象樣本的在到達(dá)空間[TL]中的區(qū)域上來計算在出發(fā)空間[ITL]中的區(qū)域;建立用在出發(fā)空間[ITL]中的區(qū)域的一組輸入值[IV],一組輸入值[IV]包括布爾輸入值[BV],如果位置在一組圖象樣本值以外,則布爾輸入值具有在出發(fā)空間中的確定的位置(xd,yd)并且將具有相同位置的其他值指定為無效;從一組輸入值[IV]合成一組圖象樣本[TL],布爾值[BV]防止被指定為無效的輸入值提供給圖象樣本。
2.用于合成圖象[IM]的設(shè)備,合成包括依據(jù)幾何變換[T]將一組圖象樣本值[SV]從出發(fā)空間[DEP]映射[MAP]到到達(dá)空間[ARR]的步驟,設(shè)備被安排執(zhí)行步驟通過將逆幾何變換[T-1]應(yīng)用到覆蓋一組圖象樣本的在到達(dá)空間[TL]中的區(qū)域上來計算在出發(fā)空間[ITL]中的區(qū)域;建立用在出發(fā)空間[ITL]中的區(qū)域的一組輸入值[IV],一組輸入值[IV]包括布爾輸入值[BV],如果位置在一組圖象樣本值以外,則布爾輸入值具有在出發(fā)空間中的確定的位置(xd,yd)并且將具有相同位置的其他值指定為無效;從一組輸入值[IV]合成一組圖象樣本[ITL],布爾值[BV]防止被指定為無效的輸入值提供給圖象樣本。
3.用于圖象合成設(shè)備的計算機程序產(chǎn)品,計算機程序產(chǎn)品包括一組指令,當(dāng)被加載到圖象合成設(shè)備的時候,它通過執(zhí)行下列步驟使得設(shè)備依據(jù)幾何變換[T]將一組圖象樣本值[SV]從出發(fā)空間[DEP]映射[MAP]到到達(dá)空間[ARR]通過將逆幾何變換[T-1]應(yīng)用到覆蓋一組圖象樣本的在到達(dá)空間[TL]中的區(qū)域上來計算在出發(fā)空間[ITL]中的區(qū)域;建立用于在出發(fā)空間[ITL]中的區(qū)域的一組輸入值[IV],一組輸入值[IV]包括布爾輸入值[BV],如果位置在一組圖象樣本值以外,則布爾輸入值具有在出發(fā)空間中的確定的位置(xd,yd)并且將具有相同位置的其他值指定為無效;從一組輸入值[IV]合成一組圖象樣本[TL],布爾值[BV]防止被指定為無效的輸入值提供給圖象樣本。
全文摘要
圖象[IM]的合成包括依據(jù)幾何變換[T]將一組圖象樣本值[SV]從出發(fā)空間[DEP]映射[MAP]到到達(dá)空間[ARR]的步驟。通過將逆幾何變換[T
文檔編號G06T15/00GK1362695SQ0114567
公開日2002年8月7日 申請日期2001年12月24日 優(yōu)先權(quán)日2000年12月28日
發(fā)明者A·拉法格, L·恩古蕓-??? J·塔拉伊薩特, J·戈伯特 申請人:皇家菲利浦電子有限公司