本發(fā)明涉及光場(chǎng)圖像壓縮技術(shù)領(lǐng)域,尤其涉及一種基于混合掃描順序的光場(chǎng)圖像壓縮方法。
背景技術(shù):
光場(chǎng)相機(jī)可以記錄下空間場(chǎng)景中的光線強(qiáng)度和方向信息(即光場(chǎng)信息)。在光場(chǎng)相機(jī)內(nèi)部,一個(gè)微透鏡陣列被放置在CCD傳感器前方,并位于主透鏡的焦距附近。每個(gè)微透鏡對(duì)應(yīng)于一個(gè)像素塊(即宏像素),光場(chǎng)圖像由N*M個(gè)宏像素組成,其中N和M分別為微透鏡陣列的高和寬。若將每個(gè)微透鏡視為小孔,則主透鏡背面在每個(gè)宏像素上成倒立的像——即每個(gè)宏像素可視為對(duì)主透鏡在特定方向上的一個(gè)采樣。
相同空間分辨率下,數(shù)據(jù)量要數(shù)百倍于傳統(tǒng)2D圖像(二代光場(chǎng)相機(jī)拍攝單幅YUV圖像大小50M左右),這是制約光場(chǎng)技術(shù)應(yīng)用的一個(gè)重要因素。因此一套光場(chǎng)圖像的高效壓縮方案對(duì)于圖像的存儲(chǔ)傳輸是必須的。
一個(gè)直接的壓縮方案是將宏像素陣列視為2D圖像,使用傳統(tǒng)的JPEG標(biāo)準(zhǔn)壓縮。很顯然這種方法無(wú)法充分利用光場(chǎng)本身的結(jié)構(gòu)特征。實(shí)際操作中亦不能取得很好的壓縮效果。
基于量化和小波變換的技術(shù),將圖像做DCT或小波變換后對(duì)系數(shù)進(jìn)行量化編碼,去除視差冗余。該方法往往在接收端需要將光場(chǎng)圖像全部或大部分重建,因此接收端渲染時(shí)間長(zhǎng)、無(wú)法實(shí)時(shí)支持一些光場(chǎng)特有操作(如,切換任意視角)。
Multiview-coding(MVC)技術(shù)亦被使用在光場(chǎng)編碼中,但現(xiàn)有方案僅考慮計(jì)算生成光場(chǎng)圖像。計(jì)算生成與自然拍攝的光場(chǎng)圖像相比視角少(前者通常僅包含10個(gè)視角以內(nèi),后者多達(dá)上百)。因此MVC編碼技術(shù)在自然拍攝光場(chǎng)圖像上直接應(yīng)用,存在運(yùn)算復(fù)雜度過(guò)高的問(wèn)題,且因產(chǎn)生大量頭信息導(dǎo)致編碼效率低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種基于混合掃描順序的光場(chǎng)圖像壓縮方法,顯著提升了壓縮效果。
本發(fā)明的目的是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的:
一種基于混合掃描順序的光場(chǎng)圖像壓縮方法,包括:
將光場(chǎng)圖像分解為二維的視角圖陣列;
對(duì)于二維的視角圖陣列中不規(guī)則區(qū)域使用橫向zigzag掃描方式,在規(guī)則區(qū)域使用U形掃描方式,從而將二維的視角圖陣列合成為偽視頻序列;
再利用標(biāo)準(zhǔn)視頻編碼器采用視頻幀間編碼和/或幀內(nèi)編碼方式對(duì)偽視頻序列進(jìn)行壓縮編碼。
所述將光場(chǎng)圖像分解為二維的視角圖陣列包括:
將光場(chǎng)圖像去馬賽克后,進(jìn)行旋轉(zhuǎn)拉伸,使得光場(chǎng)圖像中的宏像素長(zhǎng)寬像素個(gè)數(shù)相同;
在不同宏像素中的相同位置提取像素,從而構(gòu)成二維的視角圖陣列。
由上述本發(fā)明提供的技術(shù)方案可以看出,將光場(chǎng)圖像分解為視頻,能夠通過(guò)視頻幀間編碼和幀內(nèi)編碼,充分發(fā)掘利用視角圖之間的信息冗余,對(duì)光場(chǎng)圖像進(jìn)行高效壓縮編碼;依據(jù)實(shí)際拍攝得到的視角圖排列方式,設(shè)計(jì)特定的混合掃描方式,使得偽視頻序列中相鄰幀之間的相似性更高,進(jìn)一步提高了編碼效果。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他附圖。
圖1為本發(fā)明實(shí)施例提供的基于混合掃描順序的光場(chǎng)圖像壓縮方法的流程圖;
圖2為本發(fā)明實(shí)施例提供的提取不同宏像素中的相同位置像素來(lái)構(gòu)成二維的視角圖陣列的示意圖;
圖3為本發(fā)明實(shí)施例提供的混合掃描方式的示意圖。
具體實(shí)施方式
下面結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明的保護(hù)范圍。
圖1為本發(fā)明實(shí)施例提供的基于混合掃描順序的光場(chǎng)圖像壓縮方法的流程圖,如圖1所示,其主要包括如下步驟:
步驟11、將光場(chǎng)圖像分解為二維的視角圖陣列。
一副光場(chǎng)圖像由宏像素組成,每個(gè)宏像素可以視為對(duì)主透鏡的采樣,因此每個(gè)宏像素中相同位置的像素可以視為對(duì)主透鏡相同位置的不同方向光線的采樣。將不同宏像素塊相同位置的像素點(diǎn)取出組成二維圖像,構(gòu)成從特定主透鏡區(qū)域?qū)?chǎng)景觀察結(jié)果,即視角圖。
本步驟的具體處理過(guò)程如下:
1)將光場(chǎng)圖像去馬賽克后,進(jìn)行旋轉(zhuǎn)拉伸,使得光場(chǎng)圖像中的宏像素長(zhǎng)寬像素個(gè)數(shù)相同。
2)如圖2所示,在不同宏像素中的相同位置提取像素,從而構(gòu)成二維的視角圖陣列。
步驟12、對(duì)于二維的視角圖陣列中不規(guī)則區(qū)域使用橫向zigzag掃描方式,在規(guī)則區(qū)域使用U形掃描方式,從而將二維的視角圖陣列合成為偽視頻序列。
將二維的視角圖陣列合成偽視頻序列,須要注意到原本的視角圖實(shí)際排列為二維陣列,相鄰的視角圖之間的信息冗余更高,為了使得偽視頻序列中的前后幀在實(shí)際的視角圖陣列中位置更為接近本發(fā)明實(shí)施例提出了混合掃描方式,即不規(guī)則區(qū)域使用橫向zigzag掃描方式,在規(guī)則區(qū)域使用U形掃描方式。
如圖3所示為混合掃描方式的示意圖,從黑點(diǎn)出發(fā),按照箭頭線逐個(gè)掃描遍歷所有圖像。由于實(shí)際拍攝得到的光場(chǎng)圖像宏像素可能存在黑邊(即圖3左上、右上、左下、右下所示的沒有包含任何有效信息的像素點(diǎn)),因此分解圖像會(huì)得到一些黑色的視角圖。在混合掃描過(guò)程中我們會(huì)跳過(guò)這些無(wú)效圖像。
步驟13、再利用標(biāo)準(zhǔn)視頻編碼器采用視頻幀間編碼和/或幀內(nèi)編碼方式對(duì)偽視頻序列進(jìn)行壓縮編碼。
本領(lǐng)域技術(shù)人員可以理解,標(biāo)準(zhǔn)視頻編碼器為常規(guī)視頻編碼器,例如,HEVC或JEM。
壓縮編碼后獲得的碼流文件,可以根據(jù)實(shí)際需求存儲(chǔ)或者傳輸。
如果進(jìn)行傳輸,則在接收端使用相應(yīng)的解碼器進(jìn)行解碼時(shí),按照照混合掃描方式的對(duì)應(yīng)關(guān)系,從視頻序列中恢復(fù)出視角圖陣列,進(jìn)而得到原始光場(chǎng)圖像。
本發(fā)明實(shí)施例的上述方案,主要具有如下優(yōu)點(diǎn):
1)將光場(chǎng)圖像分解為視頻,能夠通過(guò)視頻幀間編碼和幀內(nèi)編碼,充分發(fā)掘利用視角圖之間的信息冗余,對(duì)光場(chǎng)圖像進(jìn)行高效壓縮編碼;依據(jù)實(shí)際拍攝得到的視角圖排列方式,設(shè)計(jì)特定的混合掃描方式,使得偽視頻序列中相鄰幀之間的相似性更高,進(jìn)一步提高了編碼效果。
2)相對(duì)于傳統(tǒng)的JPEG標(biāo)準(zhǔn)壓縮,本發(fā)明實(shí)施例上述方案的壓縮效果顯著提升,且在低碼率時(shí)可以提供更好的視覺體驗(yàn)和主觀感受。
3)與已有的基于DCT或小波變換的壓縮方案對(duì)比,本發(fā)明實(shí)施例上述方案無(wú)需在壓縮性能和光場(chǎng)視角隨機(jī)訪問(wèn)之間做權(quán)衡,且與光場(chǎng)圖像拍攝參數(shù)無(wú)關(guān)。最后一點(diǎn)尤其重要,因?yàn)楦黝愋拖鄼C(jī)的參數(shù)相差極大,如Lytro和相機(jī)陣列的構(gòu)造完全不同;即使是Lytro同代產(chǎn)品的不同相機(jī)個(gè)體,其相機(jī)微透鏡陣列的參數(shù)也因?yàn)槟壳暗墓に囁蕉嬖诓町悺?/p>
4)相對(duì)于MVC編碼方案,本發(fā)明實(shí)施例上述方案的復(fù)雜度與視角個(gè)數(shù)是線性關(guān)系,計(jì)算資源的需求也大為降低;未來(lái)的光場(chǎng)圖像角度分辨率(即視角個(gè)數(shù))會(huì)繼續(xù)增長(zhǎng)以滿足場(chǎng)景重建需求,因此本發(fā)明方法具有良好的可擴(kuò)展性。
另一方面,為了說(shuō)明上述方案的效果還進(jìn)行了驗(yàn)證實(shí)驗(yàn)。
本實(shí)驗(yàn)中使用公開光場(chǎng)數(shù)據(jù)集EPFL中的12幅光場(chǎng)圖像進(jìn)行分解和壓縮,這些光場(chǎng)圖像均由Lytro二代相機(jī)拍攝得到。
采用本發(fā)明上述實(shí)施例的方式對(duì)這些光場(chǎng)圖像進(jìn)行壓縮編碼,編碼器設(shè)置幀結(jié)構(gòu)為“IPPP……”(I代表幀內(nèi)編碼幀,P代表前向預(yù)測(cè)編碼幀,IPPP….表示低時(shí)延編碼結(jié)構(gòu),即在編碼時(shí)只有第一幀采用幀內(nèi)預(yù)測(cè),剩余幀都采用前向預(yù)測(cè)),GOP(即圖像組,在對(duì)視頻進(jìn)行壓縮時(shí),要先將視頻序列分割為若干的組圖像,分別對(duì)各組圖像進(jìn)行壓縮)大小設(shè)置為10。此外,還使用傳統(tǒng)的JPEG標(biāo)準(zhǔn)壓縮方式對(duì)光場(chǎng)圖像直接進(jìn)行壓縮,壓縮率取10,20,40和100,同時(shí)調(diào)整QP(量化參數(shù))使碼率對(duì)齊。BD-PSNR(表示碼率和失真之間的關(guān)系,其中失真用PSNR(峰值信噪比)來(lái)衡量)結(jié)果如下表1所示:
表1本發(fā)明方案的壓縮效率與傳統(tǒng)的JPEG標(biāo)準(zhǔn)壓縮方式對(duì)比
此外,將QP固定為50時(shí)本發(fā)明提供平均壓縮率為7107,平均PSNR為27.79dB。而傳統(tǒng)的JPEG標(biāo)準(zhǔn)壓縮方式在壓縮率為100時(shí)平均PSNR為25.51dB。更重要的是,本發(fā)明方案可以在低碼率是提供更好的主觀視覺效果。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例可以通過(guò)軟件實(shí)現(xiàn),也可以借助軟件加必要的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)。基于這樣的理解,上述實(shí)施例的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該軟件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(可以是CD-ROM,U盤,移動(dòng)硬盤等)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明披露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求書的保護(hù)范圍為準(zhǔn)。