使用多邊形的3d網(wǎng)格和對應(yīng)紋理對圖像進行編碼的制作方法
【技術(shù)領(lǐng)域】
[0001 ] 一般來說,本發(fā)明涉及編碼。更具體來說,本發(fā)明涉及編碼深度信息。
【背景技術(shù)】
[0002]在圖像捕獲期間,存在用來捕獲與圖像紋理信息關(guān)聯(lián)的深度信息的各種技術(shù)。深度信息通常用來產(chǎn)生具有三維(3D)多邊形網(wǎng)格(其定義圖像中的3D對象的形狀)的點云或深度圖。
[0003]原始或者未壓縮深度信息可由照相裝置來捕獲,并且然后發(fā)送給處理單元供進一步處理。深度信息可按照多種格式的任一種發(fā)送給處理單元。深度信息也可使用立體對或者多視圖立體重構(gòu)方法從2D圖像來得出。此外,深度信息可從大量直接深度感測方法(包括結(jié)構(gòu)光、飛行時間傳感器和許多其它技術(shù))來得出。
[0004]在處理之后,深度信息可按照若干格式來表示,包括但不限于3D空間中的X、Y和Z點云、2D深度圖圖像或者三角形或四邊形的3D表面網(wǎng)格。用于表示深度信息的其它格式包括XML編碼格式、文本格式或者圖形格式(例如OpenGL)。
【附圖說明】
[0005]圖1是可按照實施例使用的計算裝置的框圖;
圖2A是按照實施例的多邊形網(wǎng)格;
圖2B是按照實施例的施加紋理的多邊形網(wǎng)格;
圖3是示出按照實施例、用于再現(xiàn)3D圖像的方法的過程流程圖;
圖4是按照實施例、M幀、T幀和C幀中存儲的數(shù)據(jù)的簡圖;
圖5是按照實施例的幀序列;
圖6是示出按照實施例、用于使用網(wǎng)格和紋理對圖像進行編碼的方法的過程流程圖;圖7是示出按照實施例、存儲用于使用網(wǎng)格和對應(yīng)紋理對圖像進行編碼的代碼的有形非暫時計算機可讀介質(zhì)的框圖;
圖8是按照實施例、用于使用多邊形的3D網(wǎng)格和對應(yīng)紋理對圖像進行編碼的示范系統(tǒng)的框圖;
圖9是按照實施例、可實施圖8的系統(tǒng)的小形狀因數(shù)裝置900的示意圖;以及圖10是示出按照實施例、用于在打印裝置中打印使用多邊形的3D網(wǎng)格和對應(yīng)紋理所編碼的圖像的方法的過程流程圖。
[0006]相同標(biāo)號在本公開和附圖中通篇用來表不相似組件和特征。100系列中的標(biāo)號表示最初見于圖1的特征;200系列中的標(biāo)號表示最初見于圖2的特征;依此類推。
【具體實施方式】
[0007]如上所述,深度信息可連同關(guān)聯(lián)圖像紋理信息一起發(fā)送給處理單元供進一步處理。在實施例中,可使用提取深度信息的任何技術(shù)。深度信息可按照多種格式的任一種發(fā)送給處理單元。例如,結(jié)構(gòu)光圖案可廣播到畫面中,以及深度信息可通過檢測圖案的大小來重構(gòu),因為結(jié)構(gòu)光圖案隨距離而變化。在其它示例中,飛行時間(TOF)傳感器可用來通過測量紅外光從傳感器到對象并且返回的往返飛行時間來采集信息。
[0008]如上所述,深度信息也可使用立體對或者多視圖立體重構(gòu)方法從2D圖像來得出,或者深度信息可從大量直接深度感測方法(包括結(jié)構(gòu)光、飛行時間傳感器和許多其它方法)來得出。但是,當(dāng)前2D圖像捕獲系統(tǒng)不產(chǎn)生深度圖。此外,深度信息沒有經(jīng)過標(biāo)準(zhǔn)化。缺乏發(fā)送深度信息和關(guān)聯(lián)圖像紋理信息的標(biāo)準(zhǔn)化方法會防止深度信息在多種應(yīng)用中使用。相應(yīng)地,本文所述的實施例涉及對深度信息和關(guān)聯(lián)圖像紋理信息進行編碼。編碼信息可與任何媒體CODEC格式配合使用。通過組合標(biāo)準(zhǔn)媒體CODEC格式對信息進行編碼,實現(xiàn)真實視頻圖像與合成3D圖形的融合。
[0009]在以下描述和權(quán)利要求書中,可使用術(shù)語“耦合”和“連接”及其派生。應(yīng)當(dāng)理解,這些術(shù)語并不是要作為彼此的同義詞。相反,在具體實施例中,“連接”可用來表示兩個或更多元件相互直接物理或電氣接觸?!榜詈稀笨杀硎緝蓚€或更多元件直接物理或電接觸。但是,“耦合”也可表示兩個或更多元件不是相互直接接觸,但是仍然相互配合或交互。
[0010]一些實施例可通過硬件、固件和軟件其中之一或者它們的組合來實現(xiàn)。一些實施例還可作為機器可讀介質(zhì)上存儲的指令來實現(xiàn),所述指令可由計算平臺讀取和運行以執(zhí)行本文所述的操作。機器可讀介質(zhì)可包括用于存儲或傳送機器、例如計算機可讀形式的信息的任何機制。例如,機器可讀介質(zhì)可包括:只讀存儲器(ROM);隨機存取存儲器(RAM);磁盤存儲介質(zhì);光存儲介質(zhì);閃速存儲器裝置;或者電、光、聲或其它形式的傳播信號(例如載波、紅外信號、數(shù)字信號或者傳送和/或接收信號的接口 )等。
[0011]一實施例是實現(xiàn)或示例。本說明書中提到“一實施例”、“一個實施例”、“一些實施例”、“各個實施例”或“其它實施例”表示組合這些實施例所述的特定特征、結(jié)構(gòu)或特性包含在本發(fā)明的至少部分實施例但不一定是全部實施例中。出現(xiàn)“一實施例”、“一個實施例”或“一些實施例”的各種情況不一定都表不相同實施例。來自一實施例的兀件或方面能夠與另一個實施例的元件或方面相組合。
[0012]并非本文所述和所示的所有組件、特征、結(jié)構(gòu)、特性等都需要包含在具體實施例中。例如,如果本說明書陳述組件、特征、結(jié)構(gòu)或特性“可”、“可能”或者“能夠”被包含,則不要求包含那個特定組件、特征、結(jié)構(gòu)或特性。如果本說明書或權(quán)利要求書提到“一”或“一個”元件,則并不表示只有一個這種元件。如果本說明書或權(quán)利要求書提到“一個附加”元件,則不排除存在一個以上這種附加元件的情況。
[0013]要注意,雖然一些實施例參照具體實現(xiàn)來描述,但是按照一些實施例,其它實現(xiàn)是可能的。另外,附圖所示和/或本文所述的電路元件或其它特征的布置和/或順序無需按照所示和所述的特定方式來設(shè)置。按照一些實施例,許多其它布置是可能的。
[0014]在附圖所示的各系統(tǒng)中,一些情況下的元件各可具有相同的參考標(biāo)號或者不同的參考標(biāo)號,以暗示所表示的元件可能是不同的和/或相似的。但是,元件可以足夠靈活,以便具有不同實現(xiàn),并且與本文所示或所述的系統(tǒng)的部分或全部配合工作。附圖所示的各種元件可以是相同或不同的。哪一個稱作第一元件和哪一個稱作第二元件是任意的。
[0015]圖1是可按照實施例使用的計算裝置100的框圖。計算裝置100可以是例如膝上型計算機、臺式計算機、平板計算機、移動裝置或服務(wù)器等等。計算裝置100可包括中央處理單元(CPU) 102 (其配置成運行所存儲指令)以及存儲器裝置104 (其存儲由CPU 102可執(zhí)行的指令)。CPU可經(jīng)過總線106耦合到存儲器裝置104。另外,CPU 102能夠是單核處理器、多核處理器、計算集群或者任何數(shù)量的其它配置。此外,計算裝置100可包括一個以上CPU 102。由CPU 102運行的指令可用來使用多邊形的3D網(wǎng)格和對應(yīng)紋理對圖像進行編碼。
[0016]計算裝置100還可包括圖形處理單元(GPU) 108。如所示,CPU 102可經(jīng)過總線106耦合到GPU 108。GPU 108可配置成執(zhí)行計算裝置100中的任何數(shù)量的圖形操作。例如,GPU 108可配置成再現(xiàn)或操縱圖形圖像、圖形幀、視頻等,以便向計算裝置100的用戶顯示。在一些實施例中,GPU 108包括多個圖形引擎(未示出),其中各圖形引擎配置成執(zhí)行特定圖形任務(wù)或者運行特定類型的工作負荷。
[0017]存儲器裝置104能夠包括隨機存取存儲器(RAM)、只讀存儲器(ROM)、閃速存儲器或者任何其它適當(dāng)存儲器系統(tǒng)。例如,存儲器裝置104可包括動態(tài)隨機存取存儲器(DRAM)。存儲器裝置104可包括裝置驅(qū)動器110,其配置成運行用于對深度信息進行編碼的指令。裝置驅(qū)動器110可以是軟件、應(yīng)用程序、應(yīng)用代碼等。
[0018]計算裝置100包括圖像捕獲機構(gòu)112。在實施例中,圖像捕獲機構(gòu)112是照相裝置、立體照相裝置、紅外傳感器等。圖像捕獲機構(gòu)112用來捕獲深度信息和圖像紋理信息。相應(yīng)地,計算裝置100還包括一個或多個傳感器114。在示例中,傳感器114可以是深度傳感器,其用來捕獲與圖像紋理信息關(guān)聯(lián)的深度信息。傳感器114也可以是用來捕獲圖像紋理信息的圖像傳感器。此外,圖像傳感器可以是電荷耦合器件(CCD)圖像傳感器、互補金屬氧化物半導(dǎo)體(CMOS)圖像傳感器、芯片上系統(tǒng)(SOC)圖像傳感器、具有光敏薄膜晶體管的圖像傳感器或者它們的任何組合。裝置驅(qū)動器110可按照當(dāng)前存在或者將來開發(fā)的任何標(biāo)準(zhǔn)化媒體CODEC、使用3D網(wǎng)格以及來自圖像紋理信息的對應(yīng)紋理對深度信息進行編碼。
[0019]CPU 102可經(jīng)過總線106連接到輸入/輸出(I/O)裝置接口 116,其配置成將計算裝置100連接到一個或多個I/O裝置118。I/O裝置118可包括例如鍵盤和指針裝置,其中指針裝置可包括觸摸板或觸摸屏等等。I/O裝置118可以是計算裝置100的內(nèi)置組件,或者可以是外部連接到計算裝置100的裝置。
[0020]CPU 102也可經(jīng)過總線106鏈接到顯示器接口 120,其配置成將計算裝置100連接到顯示裝置122。顯示裝置122可包括顯示屏幕,其是計算裝置100的內(nèi)置組件。顯示裝置122還可包括計算機監(jiān)視器、電視機或投影儀等等,其外部連接到計算裝置100。
[0021]計算裝置還包括存儲裝置124。存儲裝置124是物理存儲器,例如硬盤驅(qū)動器、光驅(qū)動器、拇指盤驅(qū)動器、驅(qū)動器陣列或者它們的任何組合。存儲裝置124還可包括遠程存儲驅(qū)動器。存儲裝置124包括任何數(shù)量的應(yīng)用126,其配置成運行于計算裝置100。應(yīng)用126可用來組合媒體和圖形,包括用于立體顯示器的3D立體照相裝置圖像和3D圖形。
[0022]在示例中,應(yīng)用126可用來對深度信息和圖像紋理信息進行編碼。此外,在示例中,應(yīng)用126可將真實視頻圖像與合成3D計算機生成圖像相組合。可通過對媒體流或文件進行編碼,然后對媒體流或文件進行解碼供再現(xiàn),來處理組合的媒體流或文件。此外,應(yīng)用126可用來使用頂點和紋理單元在標(biāo)準(zhǔn)圖形流水線中對媒體進行解碼。此外,應(yīng)用126可用來在運行時將“化身”引入真實視頻畫面中。如本文所使用的“化身”可以是合成人類圖像。在實施例中,其它3D對象可代入3D視頻中。在實施例中,光源可實時地添加到媒體流中??筛淖児庠吹母鱾€方面,包括但不限于照明的位置、顏色和距離。相應(yīng)地,編碼網(wǎng)格和對應(yīng)紋理可采用合成圖像的添加、照明、遮蔽、對象置換、化身引入或者它們的任何組合中的至少一個來改變。
[0023]計算裝置100還可包括網(wǎng)絡(luò)接口控制器(NIC) 128,其可配置成經(jīng)過總線106將計算裝置100連接到網(wǎng)絡(luò)130。網(wǎng)絡(luò)130可以是廣域網(wǎng)(WAN)、局域網(wǎng)(LAN)或因特網(wǎng)等等