一種帶誤差反饋的三維數(shù)據(jù)編解碼方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于三維數(shù)據(jù)壓縮技術(shù)領(lǐng)域,具體涉及一種帶誤差反饋的三維數(shù)據(jù)編解碼 方法。本發(fā)明由于存儲(chǔ)并利用了初步重建的三維數(shù)據(jù)或?qū)?yīng)相位的誤差信息,使得三維數(shù) 據(jù)的編解碼流程成為一個(gè)閉環(huán)系統(tǒng),能大幅地提高基于二維圖像的三維數(shù)據(jù)壓縮算法的精 度。
【背景技術(shù)】
[0002] 隨著計(jì)算機(jī)與電子技術(shù)的發(fā)展,三維掃描與成像技術(shù)變得相當(dāng)流行與普遍。譬如, 在工業(yè)生產(chǎn)、生物醫(yī)療、科學(xué)研究,以及影音娛樂(lè)等領(lǐng)域,三維成像設(shè)備得到了大量的應(yīng)用。 這些先進(jìn)的儀器與技術(shù)的應(yīng)用,一方面給人們的生活與工作帶來(lái)了極大的便利;另一方面, 也給我們帶來(lái)了新的挑戰(zhàn)與難題,那就是如何去存儲(chǔ)與傳輸這些大量的三維數(shù)據(jù)。
[0003] -般三維成像設(shè)備獲得的是物體表面高度分布的三維點(diǎn)云,對(duì)三維點(diǎn)云進(jìn)行壓縮 的算法主要分為基于空間結(jié)構(gòu)與基于二維圖像的編碼方法?;诳臻g結(jié)構(gòu)的編碼方法一般 需要建立樹叉結(jié)構(gòu),編解碼過(guò)程比較麻煩耗時(shí);基于二維圖像的編碼方法通過(guò)投影變換快 速將三維數(shù)據(jù)轉(zhuǎn)換為二維圖像或圖像序列,而二維圖像壓縮已經(jīng)是個(gè)很成熟的研究領(lǐng)域, 有很多有效的圖像壓縮算法可供使用,因而此類方法是非常有潛力的三維數(shù)據(jù)壓縮方法。 然而,基于二維圖像的壓縮方法屬于有損壓縮,隨著壓縮比的升高,損失的信息可能越多, 導(dǎo)致最終解碼恢復(fù)的三維數(shù)據(jù)精度較低。
【發(fā)明內(nèi)容】
[0004] 為了解決現(xiàn)有的基于二維圖像的壓縮方法精度較低的問(wèn)題,本發(fā)明提供了一種帶 誤差反饋的三維數(shù)據(jù)編解碼方法,能保證在獲得較高壓縮比的同時(shí),得到較高的三維數(shù)據(jù) 恢復(fù)精度。
[0005] 本發(fā)明的帶誤差反饋的三維數(shù)據(jù)編解碼方法,所述的編解碼方法包括如下步驟: (1) 初始編碼過(guò)程中,建立虛擬的三維投影系統(tǒng),實(shí)現(xiàn)原始三維數(shù)據(jù)到二維圖像或圖像 序列的轉(zhuǎn)換,然后通過(guò)量化,進(jìn)一步轉(zhuǎn)換為二值圖像或圖像序列,再按一定方式對(duì)其進(jìn)行壓 縮存儲(chǔ); (2) 解碼過(guò)程中,從壓縮結(jié)果中解壓和逆變換,得到二維圖像或圖像序列,并進(jìn)一步通 過(guò)三維重建,得到初步重建結(jié)果;如果壓縮結(jié)果里面含有誤差信息,對(duì)其進(jìn)行解碼并對(duì)初步 三維數(shù)據(jù)進(jìn)行補(bǔ)償,得到重建三維數(shù)據(jù); (3) 誤差編碼過(guò)程中,計(jì)算重建的三維數(shù)據(jù)或其對(duì)應(yīng)相位信息的誤差,評(píng)估重建精度是 否滿足要求,如果否,則將誤差信息通過(guò)一定方式編碼存儲(chǔ)在壓縮結(jié)果里,并返回步驟(2); 如果是,則編碼階段結(jié)束,得到最終壓縮結(jié)果。
[0006] 優(yōu)選地,所述步驟(1)中,在計(jì)算機(jī)里建立虛擬的雙目或多目投影系統(tǒng)或結(jié)構(gòu)光投 影系統(tǒng),實(shí)現(xiàn)原始三維數(shù)據(jù)到二維圖像或圖像序列的轉(zhuǎn)換;然后,采用半色調(diào)技術(shù)或其改進(jìn) 算法對(duì)二維圖像或圖像序列進(jìn)行量化;量化后得到的二值圖像或圖像序列可以一并存儲(chǔ)在 一幅或多幅灰度或彩色圖像里面;然后,使用圖像壓縮算法(比如PNG,JPEG等)對(duì)所得圖像 實(shí)現(xiàn)進(jìn)一步壓縮。
[0007] 優(yōu)選地,所述步驟(2)進(jìn)一步包括如下步驟:(2-1)從壓縮結(jié)果中解壓,并利用 逆半調(diào)技術(shù)恢復(fù)得到二維圖像或圖像序列,此處所述的逆半調(diào)技術(shù)不包括高斯低通濾波; (2-2)通過(guò)三維重建,從二維圖像或圖像序列中得到初步重建結(jié)果;(2-3)判斷壓縮結(jié)果里 是否含有誤差信息,如果是,則解碼誤差信息并對(duì)初步重建結(jié)果進(jìn)行補(bǔ)償,得到重建三維數(shù) 據(jù);如果否,則將初步重建結(jié)果作為重建三維數(shù)據(jù)。對(duì)最終壓縮結(jié)果進(jìn)行解碼,即可得到最 終重建結(jié)果。
[0008] 優(yōu)選地,所述步驟(3)進(jìn)一步包括如下步驟:(3-1)與原始三維數(shù)據(jù)對(duì)比,計(jì)算得 到重建三維數(shù)據(jù)或其相位信息的誤差;(3-2)判斷重建精度是否滿足要求,如果否,則將誤 差按一定編碼方式存儲(chǔ)在壓縮結(jié)果里,并返回步驟(2);編碼方式(a):將誤差量化為圖像, 此處圖像可以是1-bit的二值圖像,也可以是n-bit (n>l)的數(shù)據(jù),然后一并存儲(chǔ)在壓縮結(jié) 果里;編碼方式(b):將誤差視為三維數(shù)據(jù)或相位信息,通過(guò)投影變換轉(zhuǎn)換為圖像或圖像序 列,然后一并存儲(chǔ)在壓縮結(jié)果里;誤差存儲(chǔ)方式包括上述方式,但不限于此;(3-3)如果步 驟(3-2)中判斷結(jié)果為是,則編碼階段結(jié)束,得到最終壓縮結(jié)果。
[0009] 總體而言,通過(guò)本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,在三維數(shù)據(jù)的解 碼過(guò)程中,通過(guò)引入逆半調(diào)技術(shù)從壓縮數(shù)據(jù)中恢復(fù)二維圖像或圖像序列,并進(jìn)一步重建得 到初步三維數(shù)據(jù),這樣得到的初步三維數(shù)據(jù)精度更高;另外,通過(guò)計(jì)算初步解碼的三維數(shù)據(jù) 或其相位信息的誤差,將其一并編碼存儲(chǔ)在壓縮結(jié)果里面,并在最終解碼階段據(jù)此進(jìn)行補(bǔ) 償,能實(shí)現(xiàn)高精度的三維數(shù)據(jù)恢復(fù)。
[0010] 本發(fā)明的帶誤差反饋的三維數(shù)據(jù)編解碼方法有益效果是:使得基于二維圖像的三 維數(shù)據(jù)編解碼不再是一個(gè)開環(huán)、精度難控的過(guò)程;通過(guò)誤差反饋的引入,降低了對(duì)編解碼各 個(gè)環(huán)節(jié)的精度控制要求,大幅地提高了三維數(shù)據(jù)的恢復(fù)精度。
【附圖說(shuō)明】
[0011] 圖1為本發(fā)明的帶誤差反饋的三維數(shù)據(jù)編解碼方法流程; 圖2為本發(fā)明實(shí)施例的結(jié)構(gòu)光投影系統(tǒng); 圖3為本發(fā)明實(shí)施例的解碼過(guò)程; 圖4為本發(fā)明實(shí)施例的誤差編碼過(guò)程。
【具體實(shí)施方式】
[0012] 為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì) 本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明, 并不用于限定本發(fā)明。
[0013] 實(shí)施例1 由于本發(fā)明的帶誤差反饋的三維數(shù)據(jù)編解碼方法是一個(gè)循環(huán)反饋的閉環(huán)系統(tǒng),先總體 介紹編解碼流程,然后具體介紹每個(gè)階段與過(guò)程。
[0014] 總體編解碼流程如圖1所示。獲取原始三維數(shù)據(jù)(步驟10),經(jīng)過(guò)初始編碼(步驟 11),得到壓縮結(jié)果(步驟12),然后對(duì)壓縮結(jié)果解碼(步驟13),得到重建的三維數(shù)據(jù)(步驟 14),評(píng)估重建結(jié)果的精度,判斷重建精度是否滿足要求(步驟15),如果步驟15的判斷結(jié)果 為否,則計(jì)算重建結(jié)果的誤差并對(duì)誤差進(jìn)行編碼,存儲(chǔ)在壓縮結(jié)果里(步驟16),返回步驟 12 ;如果步驟15的判斷結(jié)果為是,則編碼階段結(jié)束,得到最終壓縮結(jié)果(步驟17)。對(duì)最終 壓縮結(jié)果進(jìn)行解碼(步驟18),即可得到最終重建結(jié)果(步驟19)。
[0015] 具體地,初始編碼過(guò)