圖像塊邊界位置確定方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種圖像塊邊界位置確定方法和裝置,它根據(jù)參數(shù)信息確定參考圖像塊的邊界位置,包括將目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置偏移目標圖像塊的視差矢量和第一預(yù)定偏移矢量后得到第一位置以及將參考圖像塊邊界像素點的位置設(shè)置為所述的第一位置,其中,參數(shù)信息包括目標圖像塊的視差矢量和/或目標圖像塊的邊界位置和/或參考視點的深度信息。本發(fā)明解決了現(xiàn)有技術(shù)中在生成預(yù)測圖像的過程中參考圖像塊位置估計初始化過程中估計準確度不高的問題以及估計過程中深度圖像訪問范圍過大的問題,達到了減少對數(shù)據(jù)的訪問量和提高編解碼效率的技術(shù)效果。
【專利說明】圖像塊邊界位置確定方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,具體而言,涉及一種圖像塊邊界位置確定方法和裝置。
【背景技術(shù)】
[0002]視點合成預(yù)測圖像常應(yīng)用在三維視頻編解碼過程中,用于圖像的預(yù)測編碼。
[0003]目前,生成視點合成預(yù)測圖像時常用的方式為前向投影,即指利用參考視點中的每個像素點或者每個圖像塊(每個圖像塊都是由多個像素組成的)的深度信息,將參考視點的圖像投影至目標視點得到目標視點的圖像。目前,常用的基于塊的前向投影一般都是按照以下方式實現(xiàn)的:
[0004]為了在目標視點中生成一個目標圖像塊Bt,需要在參考視點中確定一個參考圖像塊Br用于將Br從參考視點前向投影至目標視點生成目標圖像塊Bt,而Br的邊界位置是由Bt的邊界位置以及參考視點的深度信息決定的,參考圖像塊與目標圖像塊的關(guān)系如圖1所
/Jn ο
[0005]在不借助參考視點的深度信息的情況下,參考圖像塊Br的邊界位置由Bt的邊界位置以及最大視差值Dmax與最小視差值Dmin (參考視點與目標視點之間的視差)決定,即將Bt的左邊界偏移Dmax后的邊界作為Br的左邊界,將Bt的右邊界偏移Dmin后的邊界作為Br的右邊界,而Br的上下邊界與Bt的上下邊界保持一致。
[0006]但是通過這種方法確定的參考圖像塊的尺寸較大,包含的像素點較多,需要投影至目標視點的像素點較多。
[0007]為了在上述參考圖像塊的基礎(chǔ)上去除一部分參考圖像塊中不會投影至目標圖像塊的像素點,從而減少被投影的像素數(shù)量,可以通過對目標圖像塊內(nèi)左邊界與右邊界上像素點在參考視點中的對應(yīng)點(即參考圖像塊中投影位置為目標圖像塊邊界像素點所在位置或靠近目標圖像塊邊界像素點坐在位置的像素點)進行估計,從估計得到邊界像素點的對應(yīng)點中選擇一個,并將該對應(yīng)點所在的邊界作為目標圖像塊的邊界。
[0008]通過上述方法,可以在減小參考圖像塊的寬度、降低投影的總體復(fù)雜度的同時,保證視點合成圖像的質(zhì)量,保證圖像預(yù)測的效率。
[0009]現(xiàn)有方法的【具體實施方式】例如下列步驟所示:
[0010]步驟1:將目標圖像塊的邊界像素點坐標減去一個默認視差矢量后的坐標作為參考圖像塊邊界像素點的第一坐標;
[0011]步驟2:根據(jù)參考視點中的(未限定范圍內(nèi)的)深度信息對參考圖像塊邊界像素點的第一坐標進行更新得到參考圖像塊邊界像素點的第二坐標;
[0012]步驟3:將第二坐標作為參考圖像塊邊界像素點的坐標。
[0013]其中步驟2有可詳細描述為下列步驟
[0014]步驟2-1:將第二坐標賦值為上述的第一坐標;
[0015]步驟2-2:將臨時坐標賦值為目標圖像塊的邊界像素點坐標偏移一個默認視差矢量后的坐標;
[0016]步驟2-3:根據(jù)臨時坐標在參考視點中所對應(yīng)的像素點的深度信息確定臨時坐標所對應(yīng)的像素點在目標視點中的臨時投影坐標;
[0017]步驟2-4:當(dāng)臨時投影坐標位于目標圖像塊的外側(cè)或位于目標圖像塊的邊界上,且臨時坐標的水平分量大于當(dāng)前第二坐標的水平分量時,更新第二坐標為臨時坐標,或,
[0018]當(dāng)所述臨時投影坐標位于所述目標圖像塊的外側(cè)或位于所述目標圖像塊的邊界上,且臨時坐標的水平分量小于當(dāng)前第二坐標的水平分量時,更新所述第二坐標為所述臨時坐標。
[0019]但是已有的參考圖像塊邊界像素點坐標估計方法也存在一些問題:
[0020]1.在進行坐標的估計過程中,由于目標圖像塊對應(yīng)的深度區(qū)域較不平坦,需要訪問的深度像素點的位置可能分布在較大的范圍內(nèi),而現(xiàn)有方法并未對估計過程中可以訪問的深度圖像范圍進行限制,在硬件設(shè)計過程中可能帶來額外的運算開銷,耗費的硬件資源(內(nèi)存存取量等)可能也更多;
[0021]2.在估計坐標的過程中,現(xiàn)有方法首先假設(shè)目標圖像塊中的邊界像素點的深度值為一固定深度值(因該像素點對應(yīng)的深度信息在對其進行對應(yīng)點估計的時刻是不可得的),即估計過程中的初始化過程為利用該固定深度值對應(yīng)的視差值在參考視點中為邊界像素點找到第一個對應(yīng)點,之后再對第一個對應(yīng)點進行更新,嘗試找到更加準確的對應(yīng)點。這一初始化過程中用到的固定深度值不會隨著不同區(qū)域的圖像塊自適應(yīng)變化,這樣可能導(dǎo)致假設(shè)的所述邊界點的深度值與該像素點的實際深度值相差較大,會增加深度圖像上需要訪問的深度像素點的范圍。
[0022]由上述描述可知,現(xiàn)有技術(shù)中在進行基于塊的前向投影時,為了降低投影過程復(fù)雜度,需要對目標圖像塊的邊界像素在參考視點中的對應(yīng)點進行估計,但是估計過程中存在估計起始點不準確、深度圖像訪問范圍偏大的問題。
[0023]針對上述的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0024]為解決現(xiàn)有技術(shù)上述問題,本發(fā)明第一目的在于提出一種圖像塊邊界位置確定方法,所述圖像塊的邊界上的至少一個像素點的位置由以下方法得到:
[0025]根據(jù)參數(shù)信息確定參考圖像塊邊界像素點的位置,其中,所述參數(shù)信息包括目標圖像塊的視差矢量;
[0026]所述的根據(jù)參數(shù)信息確定參考圖像塊邊界像素點的位置為:
[0027]設(shè)定第一預(yù)定偏移矢量;
[0028]將目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置偏移目標圖像塊的視差矢量和第一預(yù)定偏移矢量后得到第一位置;
[0029]將參考圖像塊邊界像素點的位置設(shè)置為所述的第一位置。
[0030]進一步的,所述目標圖像塊的視差矢量以以下方式之一獲得:
[0031]從目標圖像塊的相鄰圖像塊對應(yīng)的視差矢量中選擇一個作為目標圖像塊的視差矢量;
[0032]將目標圖像塊對應(yīng)的深度圖像轉(zhuǎn)化為視差矢量作為目標圖像塊的視差矢量。
[0033]進一步的,在將參考圖像塊邊界像素點的位置設(shè)置為所述的第一位置之前,先對第一位置進行更新,然后將參考圖像塊邊界像素點的位置設(shè)置為所述的第一位置,所述的對第一位置更新包括如下步驟:
[0034]將最外邊界位置設(shè)置為第一位置;
[0035]將目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置偏移目標圖像塊的視差矢量后的位置作為臨時位置,若臨時位置位于限定范圍之外,則令臨時位置等于所述限定范圍內(nèi)距離當(dāng)前臨時位置最近的像素點的位置;
[0036]若所述臨時位置對應(yīng)的像素點在目標視點的中的投影位置不位于目標圖像塊的內(nèi)部,則將所述的第一位置更新為臨時位置。
[0037]進一步的,還包括:將目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置偏移臨時位置對應(yīng)的像素點的深度信息所對應(yīng)的視差矢量后的位置作為臨時參考位置;
[0038]若臨時參考位置位于所述限定范圍之外,則將臨時位置更新為所述限定范圍邊界內(nèi)距離臨時參考位置最近的像素點的位置,否則,將臨時位置更新為臨時參考位置;
[0039]若所述臨時位置對應(yīng)的像素點在目標視點的中的投影位置不位于目標圖像塊的內(nèi)部,且所述臨時位置距離最外邊界位置相比第一位置更遠,則將第一位置更新為臨時位置。
[0040]所述的限定范圍由以下方法確定:將所述目標圖像塊邊界偏移所述目標圖像塊的視差矢量并向外擴展若干像素后所覆蓋的范圍作為所述的限定范圍。
[0041]本發(fā)明的第二目的在于提出一種圖像塊邊界位置確定裝置,其包括:
[0042]第一位置確定單元,用于將目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置偏移目標圖像塊的視差矢量和第一預(yù)定偏移矢量后得到第一位置;
[0043]邊界像素點位置設(shè)置單元,用于將參考圖像塊邊界像素點的位置設(shè)置為所述的第一位置。
[0044]進一步的,所述圖像塊邊界位置確定裝置還包括:
[0045]視差矢量設(shè)置單元,用于從目標圖像塊的相鄰圖像塊對應(yīng)的視差矢量中選擇一個作為目標圖像塊的視差矢量,或,將目標圖像塊對應(yīng)的深度圖像轉(zhuǎn)化為視差矢量作為目標圖像塊的視差矢量。
[0046]進一步的,還包括第一位置第一更新單元,用于按照以下方式更新第一位置:
[0047]將目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置偏移目標圖像塊的視差矢量后的位置作為臨時位置;
[0048]若臨時位置位于限定范圍之外,則令臨時位置等于所述限定范圍內(nèi)距離當(dāng)前臨時位置最近的像素點的位置;
[0049]若所述臨時位置對應(yīng)的像素點在目標視點的中的投影位置不位于目標圖像塊的內(nèi)部,則將所述的第一位置更新為臨時位置。
[0050]進一步的,還包括:
[0051]第一位置第二更新單元,用于按以下方式更新第一位置:
[0052]將目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置偏移臨時位置對應(yīng)的像素點的深度信息所對應(yīng)的視差矢量后的位置作為臨時參考位置;
[0053]若臨時參考位置位于所述限定范圍之外,則將臨時位置更新為所述限定范圍邊界內(nèi)距離臨時參考位置最近的像素點的位置,否則,將臨時位置更新為臨時參考位置;
[0054]若所述臨時位置對應(yīng)的像素點在目標視點的中的投影位置不位于目標圖像塊的內(nèi)部,且所述臨時位置距離最外邊界位置相比第一位置更遠,則將第一位置更新為臨時位置。
[0055]進一步的,還包括限定范圍設(shè)置單元,用于將所述目標圖像塊邊界偏移所述目標圖像塊的視差矢量并向外擴展若干像素后所覆蓋的范圍作為所述的限定范圍。
[0056]采用本發(fā)明技術(shù)方案,可解決現(xiàn)有技術(shù)中在生成預(yù)測圖像的過程中參考圖像塊位置估計初始化過程中估計準確度不高的問題以及估計過程中深度圖像訪問范圍過大的問題,達到減少對數(shù)據(jù)的訪問量和提高編解碼效率的技術(shù)效果。
【專利附圖】
【附圖說明】
[0057]此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0058]圖1是參考圖像塊與目標圖像塊之間關(guān)系的一種示意圖;
[0059]圖2是根據(jù)本發(fā)明實施例的圖像塊邊界位置確定裝置的一種流程圖;
[0060]圖3是根據(jù)本發(fā)明實施例的圖像塊邊界位置確定裝置的又一種流程圖;
[0061]圖4是根據(jù)本發(fā)明實施例的圖像塊邊界位置確定裝置的另一種流程圖;
[0062]圖5是根據(jù)本發(fā)明實施例的圖像塊邊界位置確定裝置的另一種流程圖;
[0063]圖6是本發(fā)明實施例基于塊的圖像塊邊界位置確定裝置的一種示意圖;
[0064]圖7是本發(fā)明實施例基于塊的圖像塊邊界位置確定裝置的一種示意圖;
[0065]圖8是本發(fā)明實施例基于塊的圖像塊邊界位置確定裝置中的Bound計算模塊的一種不意圖;
[0066]圖9是本發(fā)明實施例基于塊的圖像塊邊界位置確定裝置的一種示意圖。
【具體實施方式】
[0067]下文中將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
[0068]本發(fā)明實施例提供了一種圖像塊邊界位置確定方法,即根據(jù)參數(shù)信息確定參考圖像塊邊界像素點的位置,其中,參數(shù)信息至少包括目標圖像塊的視差矢量,也可包括目標圖像塊的邊界位置和/或深度信息,其中深度信息至少包括以下之一:
[0069]參考圖像塊所在視點的深度圖像、參考圖像塊所在視點的攝像機參數(shù)信息、目標圖像塊所在視點的攝像機參數(shù)信息。
[0070]此處,記參考圖像塊所在視點為參考視點,目標圖像塊所在視點為目標視點。
[0071]在上述實施方式中,提出了一種新的圖像塊邊界位置確定方法,其中圖像塊邊界位置是指由圖像塊的邊界上各個像素點的位置所組合而成的邊界位置信息。在確定參考圖像塊的邊界像素點的位置時,需要使用目標圖像塊的視差矢量和目標圖像塊的邊界位置和/或參考視點的深度圖像和/或目標視點的攝像機參數(shù)和/或目標視點的攝像機參數(shù)等信肩、O
[0072]一.目標圖像塊的視差矢量的應(yīng)用
[0073]其中目標圖像塊的視差矢量可以通過多種方式獲得,例如:
[0074]目標圖像塊的周圍有多個相鄰的圖像塊,每個相鄰圖像塊均包含一個對應(yīng)的視差矢量,可從這些相鄰塊對應(yīng)的視差矢量中選擇一個作為目標圖像塊的視差矢量,或者將多個相鄰圖像塊的視差矢量求平均視差矢量或者取每個視差矢量的水平/豎直分量求中值得到的視差矢量作為目標圖像塊的視差矢量;
[0075]根據(jù)目標視點深度圖像中,由目標圖像塊的邊界位置限定的范圍的深度像素點計算得到,計算方法例如將上述范圍內(nèi)的深度像素點的像素值求平均值并轉(zhuǎn)化為視差矢量作為目標圖像塊的視差矢量,或者選取上述范圍內(nèi)的至少一個像素點,并將選取的像素點的像素值求平均并轉(zhuǎn)化為視差矢量作為目標圖像塊的視差矢量等。
[0076]本發(fā)明中所述的目標圖像塊的視差矢量的獲得方式并不僅限于上述方法,上述描述不對所述的目標圖像塊的獲得方式構(gòu)成不當(dāng)限定。
[0077]根據(jù)自然物體的運動規(guī)律以及三維視頻圖像的分布規(guī)律,一個物體內(nèi)的不同區(qū)域在不同視角分布的位置具有較高的一致性,因此一個圖像塊對應(yīng)的真實視差矢量與它相鄰的圖像塊的視差矢量具有較高的相似度;另一方面,當(dāng)一個圖像塊具有其對應(yīng)的深度圖像塊時,直接利用該深度圖像塊轉(zhuǎn)化得到該圖像塊的視差矢量則理論上具有更高的準確度。
[0078]相對于現(xiàn)有技術(shù),提出的方法利用目標圖像塊的視差矢量為估計參考圖像塊邊界像素點的位置提供了更加準確的估計起始點,理論上參考圖像塊的邊界像素點的真實視差矢量與目標圖像塊的視差矢量是比較接近的。
[0079]二.參考視點深度圖像中的限定范圍
[0080]現(xiàn)有方法在進行參考圖像塊邊界像素點的位置的估計過程中,并未對參考視點深度圖像的深度像素點訪問范圍進行限制。通常情況下,當(dāng)目標圖像塊對應(yīng)的深度值分布較平坦時,它在參考視點中對應(yīng)的參考圖像塊覆蓋的范圍大小與目標圖像塊覆蓋的范圍大小相近;但是當(dāng)目標圖像塊對應(yīng)的深度值分布不均勻,或者存在遮擋關(guān)系或者去遮擋關(guān)系時,它在參考視點中對應(yīng)的參考圖像塊所覆蓋的范圍大小則與目標圖像塊覆蓋的范圍大小會存在一定差距,前者可能大于后者,也可能后者大于前者。
[0081]因此,為了對估計過程中對參考視點的深度圖像范圍進行限制,節(jié)省硬件資源開銷,同時為了保證參考圖像塊邊界像素點位置的估計準確度,我們對參考視點中允許訪問的深度圖像的范圍進行了適當(dāng)?shù)南拗疲丛谀繕藞D像塊覆蓋的范圍基礎(chǔ)上進行適當(dāng)?shù)臄U大,即保證了有限的深度圖像訪問范圍,也盡量確保能夠找到正確的參考圖像塊邊界像素點位置。
[0082]限定范圍可以采用如下方法計算得到:
[0083]將目標圖像塊邊界偏移目標圖像塊的視差矢量,并向左側(cè)擴展M個像素的寬度、向右擴展N個像素的寬度,并偏移一個預(yù)定的限定范圍偏移矢量后所覆蓋的范圍作為所述的限定范圍。
[0084]為了更詳細地說明限定范圍的計算方法,以矩形圖像塊為例進行如下說明:
[0085]對于一個矩形圖像塊來說,它的左邊界位置的水平坐標為XL,右邊界位置的水平坐標為XR,上邊界的豎直坐標為YT,下邊界的豎直坐標為YB,目標圖像塊的視差矢量DV為(DV.X,DV.y);
[0086]令限定范圍的左邊界位置的水平坐標XL2=XL - DV.x - Μ,限定范圍的右邊界位置的水平坐標XR2=XL - DV.x+N,限定范圍的上邊界位置的豎直坐標YT2=YT - DV.y,限定范圍的下邊界位置的豎直坐標YB2=YB - DV.y。
[0087]限定范圍的計算方法對各實施例均通用,在本說明書中其他部分不再贅述。
[0088]實施例1
[0089]該實施例對應(yīng)一種不需要依賴參考視點深度圖像的參考圖像塊邊界像素點位置確定方法。
[0090]在本實施例中提供了一種簡單的確定參考圖像塊邊界位置的方法,其中參考圖像塊的邊界上的至少一個像素點的位置使用以下方法計算得到:
[0091]在該方法中僅需要依據(jù)特定的偏移值和目標圖像塊的邊界位置即可確定出一個參考圖像塊邊界像素點的位置。在一個實施方式中,根據(jù)目標圖像塊的視差矢量確定參考圖像塊邊界像素點的位置包括以下步驟:
[0092]步驟S102:將目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置偏移目標圖像塊的視差矢量和第一預(yù)定偏移矢量后得到第一位置;
[0093]步驟S104:將參考圖像塊邊界像素點的位置設(shè)置為所述的第一位置。
[0094]其中,所述的第一預(yù)定偏移矢量是預(yù)先設(shè)定的一個矢量,例如矢量的值可以取(100,0), (150.5,-5),(-100,0.5),(-200,300)等等。
[0095]即,僅按照目標圖像塊的邊界位置與目標圖像塊的視差矢量確定參考圖像塊的邊界像素點的位置即可,實現(xiàn)起來較為簡單。
[0096]實施例2
[0097]該實施例對應(yīng)一種需要依賴參考視點深度圖像的參考圖像塊邊界像素點坐標估計方法。
[0098]為了使得參考圖像邊界像素點位置的確定過程更加精確,本發(fā)明實施例還提供了另一種確定參考圖像塊邊界位置的方法,相比上述的實施例1中不需要依賴參考視點深度圖像的參考圖像塊邊界像素點坐標確定方法,在該方法中還需要用到參考視點的深度圖像等信息,具體的實現(xiàn)方法包括:
[0099]步驟S202:將目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置偏移目標圖像塊的視差矢量和第一預(yù)定偏移矢量后得到第一位置;
[0100]步驟S204:將目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置減去目標圖像塊的視差矢量后的位置作為臨時位置;若臨時位置位于限定范圍之外,則令臨時位置等于所述限定范圍內(nèi)距離當(dāng)前臨時位置最近的像素點的位置;例如限定范圍為一矩形范圍,其左邊界的位置的水平分量為xL,而此時臨時位置的水平分量為xT,且xT小于xL,則令xT=xL ;
[0101]步驟S206:若所述臨時位置對應(yīng)的像素點在目標視點中的投影位置不位于目標圖像塊的內(nèi)部,則將所述的第一位置更新為臨時位置;所述的投影位置不位于目標圖像塊的內(nèi)部指例如投影位置落于目標圖像塊所覆蓋的范圍之外,或投影位置落于目標圖像塊的邊界像素點所在的位置;
[0102]即應(yīng)當(dāng)盡量確保最終更新得到參考圖像塊的邊界像素點在目標視點中的投影位置應(yīng)當(dāng)不位于目標圖像塊的內(nèi)側(cè),以保證參考圖像塊不至于尺寸減小太多,將一些原本可以投影至目標圖像塊內(nèi)的像素點去除掉。
[0103]步驟S208:將參考圖像塊邊界像素點的位置設(shè)置為所述的第一位置。
[0104]即,通過參考視點的深度信息來對第一位置進行更新。
[0105]在一個實施方式中,根據(jù)確定的一個或多個參考圖像邊界像素點的坐標確定得到參考圖像塊的邊界位置,以如每個邊界像素點的坐標均通過如實施例1或?qū)嵤├?所述的方法估計得到,從這一個或多個參考圖像邊界像素點中選擇一個,將它的水平坐標作為參考圖像塊的一個豎直邊界的位置。
[0106]實施例3
[0107]本發(fā)明實施例還給出了如何根據(jù)參考視點中的限定范圍內(nèi)的深度信息對第一位置進行進一步更新最終得到參考圖像塊邊界像素點的位置的方法,包括:
[0108]步驟S302:將目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置偏移目標圖像塊的視差矢量和第一預(yù)定偏移矢量后得到第一位置;
[0109]步驟S304:將目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置減去目標圖像塊的視差矢量后的位置作為臨時位置;若臨時位置位于限定范圍之外,則令臨時位置等于所述限定范圍內(nèi)距離當(dāng)前臨時位置最近的像素點的位置;
[0110]步驟S306:若所述臨時位置對應(yīng)的像素點在目標視點的中的投影位置不位于目標圖像塊的內(nèi)部,則將所述的第一位置更新為臨時位置;所述的投影位置不位于目標圖像塊的內(nèi)部指例如投影位置落于目標圖像塊所覆蓋的范圍之外;
[0111]步驟S308:將所述臨時參考位置設(shè)定為目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置偏移臨時位置對應(yīng)的像素點的深度信息所對應(yīng)的視差矢量后的位置;
[0112]步驟S310:若臨時參考位置位于所述限定范圍之外,則將臨時位置更新為所述限定范圍邊界內(nèi)距離臨時參考位置最近的像素點的位置,否則,將臨時位置更新為臨時參考位置;
[0113]步驟S312:若所述臨時位置對應(yīng)的像素點在目標視點的中的投影位置不位于目標圖像塊的內(nèi)部,且所述臨時位置距離最外邊界位置相比第一位置更遠,則將第一位置更新為臨時位置;例如臨時位置、最外邊界位置、第一位置的豎直分量值相同,臨時位置的水平分量值為xT,最外邊界位置的水平分量值為χΜ,第一位置的水平分量值為xF,則當(dāng)xT-xM的絕對值大于xT-xF的絕對值時,將第一位置更新為臨時位置;
[0114]此處所述的最外邊界位置的含義為參考圖像的邊界最大的擴大范圍,任何臨時位置都應(yīng)當(dāng)小于最外邊界位置所對應(yīng)的范圍;
[0115]而此處所述的〃所述臨時位置距離最外邊界位置相比第一位置更遠”的判斷條件的作用在于:在眾多可能推導(dǎo)得到滿足其對應(yīng)的像素點在目標視點中的投影位置不位于目標圖像塊內(nèi)部這一條件的臨時位置中,選擇一個可以使得參考圖像塊尺寸最小的臨時位置,即相對最外邊界位置令參考圖像塊尺寸減小最多的臨時位置。
[0116]步驟S314:將參考圖像塊邊界像素點的位置設(shè)置為所述的第一位置。
[0117]上述步驟S308至S312可以重復(fù)執(zhí)行,即可以重復(fù)執(zhí)行預(yù)定次數(shù)遍對上述第一位置進行更新的步驟從而使得對參考圖像塊邊界像素點的位置的估計更為精準。
[0118]如果需要同時對多個參考圖像塊邊界上的像素點的位置進行估計,既可以采用串行的方式也可以采用并行的方式,相應(yīng)的采用串行的方式僅需要劃分一個處理模塊即可,如果采用并行的方式相應(yīng)的就需要在系統(tǒng)中同時存在多個用于估計坐標的模塊,便可以同時對多個邊界像素點進行處理。
[0119]上述各個實施方式中所涉及的參考圖像塊邊界像素點位置的估計方法可以應(yīng)用于3D圖像編解碼技術(shù)中。
[0120]實施例5
[0121]在本實施例中還提供了一種圖像塊邊界位置確定裝置,如圖2所示,該裝置用于實現(xiàn)上述實施例及實施方式,已經(jīng)進行過說明的不再贅述。如以下所使用的,術(shù)語“單元”或者“模塊”可以實現(xiàn)預(yù)定功能的軟件和/或硬件的組合。盡管以下實施例所描述的裝置較佳地以軟件來實現(xiàn),但是硬件,或者軟件和硬件的組合的實現(xiàn)也是可能并被構(gòu)想的。
[0122]該裝置包括:
[0123]第一位置確定單元,用于將目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置偏移目標圖像塊的視差矢量和第一預(yù)定偏移矢量后得到第一位置;
[0124]邊界像素點位置設(shè)置單元,用于將參考圖像塊邊界像素點的位置設(shè)置為所述的第一位置。
[0125]實施例6
[0126]本實施例提供了一種圖像塊邊界位置確定裝置,如圖3所示,其中圖像塊邊界上的至少一個像素點的位置由以下模塊計算得到:
[0127]第一位置確定單元,用于將目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置偏移目標圖像塊的視差矢量和第一預(yù)定偏移矢量后得到第一位置;
[0128]視差矢量設(shè)置單元,用于從目標圖像塊的相鄰圖像塊對應(yīng)的視差矢量中選擇一個作為目標圖像塊的視差矢量,或,將目標圖像塊對應(yīng)的深度圖像轉(zhuǎn)化為視差矢量作為目標圖像塊的視差矢量,即從目標圖像塊對應(yīng)的深度圖像中選擇一個或多個深度像素點的深度值,將它們的平均值(或中值,或最大值,或最小值等)轉(zhuǎn)化為視差矢量作為目標塊的視差矢量;
[0129]邊界像素點位置設(shè)置單元,用于將參考圖像塊邊界像素點的位置設(shè)置為所述的第一位置。
[0130]實施例7
[0131]本實施例提供了一種圖像塊邊界位置確定裝置,如圖4所示,其中圖像塊邊界上的至少一個像素點的位置由以下模塊計算得到:
[0132]第一位置確定單元,用于將目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置偏移目標圖像塊的視差矢量和第一預(yù)定偏移矢量后得到第一位置;
[0133]視差矢量設(shè)置單元,用于從目標圖像塊的相鄰圖像塊對應(yīng)的視差矢量中選擇一個作為目標圖像塊的視差矢量,或,將目標圖像塊對應(yīng)的深度圖像轉(zhuǎn)化為視差矢量作為目標圖像塊的視差矢量;
[0134]第一位置第一更新單元,用于將目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置偏移目標圖像塊的視差矢量后的位置作為臨時位置;若臨時位置位于限定范圍之外,則令臨時位置等于所述限定范圍內(nèi)距離當(dāng)前臨時位置最近的像素點的位置;若所述臨時位置對應(yīng)的像素點在目標視點的中的投影位置不位于目標圖像塊的內(nèi)部(即投影位置位于目標圖像塊的外側(cè)或位于目標圖像塊的邊界上),則將所述的第一位置更新為臨時位置;
[0135]邊界像素點位置設(shè)置單元,用于將參考圖像塊邊界像素點的位置設(shè)置為所述的第一位置。
[0136]實施例8
[0137]本實施例提供了一種圖像塊邊界位置確定裝置,如圖5所示,其中圖像塊邊界上的至少一個像素點的位置由以下模塊計算得到:
[0138]第一位置確定單元,用于將目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置偏移目標圖像塊的視差矢量和第一預(yù)定偏移矢量后得到第一位置;
[0139]視差矢量設(shè)置單元,用于從目標圖像塊的相鄰圖像塊對應(yīng)的視差矢量中選擇一個作為目標圖像塊的視差矢量,或,將目標圖像塊對應(yīng)的深度圖像轉(zhuǎn)化為視差矢量作為目標圖像塊的視差矢量;
[0140]限定范圍設(shè)置單元,用于將所述目標圖像塊邊界偏移所述目標圖像塊的視差矢量并向外擴展若干像素后所覆蓋的范圍作為所述的限定范圍,擴展的方法例如向左側(cè)擴展M個像素的寬度并向右側(cè)擴展N個像素的寬度;
[0141]第一位置第一更新單元,用于按以下方式更新第一位置:
[0142]將最外邊界位置設(shè)置為第一位置,將目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置偏移目標圖像塊的視差矢量后的位置作為臨時位置;
[0143]若臨時位置位于限定范圍之外,則令臨時位置等于所述限定范圍內(nèi)距離當(dāng)前臨時位置最近的像素點的位置;
[0144]若所述臨時位置對應(yīng)的像素點在目標視點的中的投影位置不位于目標圖像塊的內(nèi)部,則將所述的第一位置更新為臨時位置;
[0145]第一位置第二更新單元,,用于按以下方式更新第一位置:
[0146]將所述臨時參考位置設(shè)定為目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置偏移臨時位置對應(yīng)的像素點的深度信息所對應(yīng)的視差矢量后的位置;
[0147]若臨時參考位置位于所述限定范圍之外,則將臨時位置更新為所述限定范圍邊界內(nèi)距離臨時參考位置最近的像素點的位置,否則,將臨時位置更新為臨時參考位置;
[0148]若所述臨時位置對應(yīng)的像素點在目標視點的中的投影位置不位于目標圖像塊的內(nèi)部,且所述臨時位置距離最外邊界位置相比第一位置更遠,則將第一位置更新為臨時位置;
[0149]邊界像素點位置設(shè)置單元,用于將參考圖像塊邊界像素點的位置設(shè)置為所述的第一位置。
[0150]為了使得本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合幾個具體的實施例對本發(fā)明進行進一步的詳細描述,然而值得注意的是這些實施例僅是為了更好地說明本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。
[0151]首先,對下述實施例可能用到的幾個名詞進行說明。
[0152]一個視差矢量由其水平分量與豎直分量組成,記一個視差矢量為DV,則它的水平分量記為DV.X,它的豎直分量記為DV.y。
[0153]一個矩形圖像塊的位置可以由該圖像塊上下左右四個側(cè)面的邊界所在的位置所決定。圖像塊的上邊界值為該塊中最上側(cè)的像素點的豎直方向坐標值,圖像塊的下邊界值為該塊中最下側(cè)的像素點的豎直方向坐標值,圖像塊的左邊界值為該塊中最左側(cè)的像素點的水平方向坐標值,圖像塊的右邊界值為該塊中最右側(cè)的像素點的水平方向坐標值。
[0154]下面結(jié)合幾個具體的實施例進行描述:
[0155]實施例9
[0156]本實施例提供了一種基于塊的圖像塊邊界位置確定方法,由目標視點中目標圖像塊Bt的視差矢量DV、目標圖像塊Bt的位置以及參考視點中的深度信息,在參考視點中確定參考圖像塊Br的邊界位置。
[0157]Br的左邊界值BrLeft賦值為Bt的左邊界值BtLeft偏移視差矢量DV的水平分量 DV.X 與 ShiftValueLeft 后的值,即 BrLeft=BtLeft-DV.X-ShiftValueLeft ;Br 的右邊界BrRight值賦值為Bt的右邊界值BtRight偏移視差矢量DV的水平分量DV.x與ShiftValueRight 后的位置,即 BrRight=BtRight-DV.χ-ShiftValueRight ;Br 的上邊界值賦值為Bt的上邊界值,Br的下邊界值賦值為Bt的下邊界值。
[0158]上述的變量ShiftValueLeft 可以取 100,200,150.5,-100,-200 等值;上述的變量 ShiftValueRight 也可以取 100,200,150.5,-100,-200 等值。
[0159]實施例10
[0160]本實施例提供了一種基于塊的圖像塊邊界位置確定方法,由目標視點中目標圖像塊Bt的視差矢量DV、目標圖像塊Bt的位置以及參考視點中的深度信息,在參考視點中確定參考圖像塊Br的邊界位置。
[0161]Br的左邊界值BrLeft賦值為Bt的左邊界值BtLeft偏移視差矢量DV的水平分量 DV.X 與 ShiftValueLeft 后的值,即 BrLeft=BtLeft-DV.X-ShiftValueLeft ;Br 的右邊界值BrRight賦值為Bt的右邊界值BtRight偏移視差矢量DV的水平分量DV.x與ShiftValueRight 后的位置,即 BrRight=BtRight-DV.χ-ShiftValueRight ;Br 的上邊界值BrTop賦值為Bt的上邊界值,Br的下邊界值BrBottom賦值為Bt的下邊界值。
[0162]根據(jù)目標視點中目標圖像塊Bt的視差矢量DV、目標圖像塊Bt的位置以及參考視點中的深度信息(參考視點深度圖像中由Br的左邊界值BrLeft、右邊界值BrRight、上邊界值BrTop、下邊界值BrBottom限定的范圍內(nèi)的(即由上述四個邊界值劃定的圖像塊內(nèi)的)像素點)在參考視點中確定參考圖像塊Br的過程中,對目標圖像塊Bt左右邊界上的像素點中的至少一個像素點PBt進行以下操作:
[0163]I)初始化:若PBt位于Bt的左邊界上,DirSign賦值為一負數(shù),如DirSign=-1,Bound賦值為參考圖像塊Br的左邊界值BrLeft,即Bound=BrLeft ;否則,DirSign賦值為一正數(shù),如 DirSign=I, Bound 賦值為 Br 的右邊界值 BrRight,即 Bound=BrRight。
[0164]2)①初始化Cr:坐標Cr等于PBt的坐標在水平方向偏移視差矢量DV的水平分量DV.X后的坐標,記PBt的坐標值為(XPBt,YPBt),Cr的坐標值為(XCr,YCr),則XCr=XPBt - DV.x,YCr=YPBt,若 XCr 小于 BrLeft,則令 XCr=BrLeft,若 XCr 大于 BrRight,則令 XCr=BrRight0
[0165]②更新Bound:將位于Cr的像素點PCr結(jié)合PCr對應(yīng)的深度信息根據(jù)投影關(guān)系計算PCr在目標視點中的投影坐標Ct,即Ct的坐標值為(XCt,YCt),若Ct與PBt的水平坐標差值與DirSign的乘積(XCt-XPBt) *DirSign彡0,則將Bound更新為Cr的水平坐標值,即Bound=XCr ;3)重復(fù)非負整數(shù)遍以下步驟,即可以不執(zhí)行也可以重復(fù)執(zhí)行預(yù)定次數(shù)以下步驟:
[0166]I)更新Cr:將Cr更新為PBt的坐標在水平方向偏移Cr在參考視點中所對應(yīng)的像素點的深度信息所對應(yīng)的視差值DispCr后的坐標,即(XCr, YCr) = (XCr - DispCr, YCr),其中,若更新后的XCr小于BrLeft,則令XCr=BrLeft,若更新后的XCr大于BrRight,則令XCr=BrRight ;
[0167]2)更新Bound:將位于Cr的像素點PCr結(jié)合PCr對應(yīng)的深度信息根據(jù)投影關(guān)系計算PCr在目標視點中的投影坐標Ct,即Ct的坐標值為(XCt,YCt),若Ct與PBt的水平坐標差值與DirSign的乘積(XCt-XPBt)*DirSign彡O,則將Bound更新為Cr的水平坐標值,即Bound=XCr ;更新Br邊界:當(dāng)判斷Bt左邊界有像素點執(zhí)行了上述操作之后,則從所有執(zhí)行了上述操作的像素點對應(yīng)的Bound值中選擇一個用于更新BrLeft ;可以記N個由Bt左邊界上的像素點計算得到的 Bound 值為 Bound ⑴,i=l, 2,..., N,則 BrLeft=Maximum(Bound (I), Bound (2),...,Bound(N)),或者 BrLeft=Minimum(Bound(I),Bound(2),…,Bound(N)),或者BrLeft=Median(Bound(I), Bound(2),…,Bound (N));
[0168]若有Bt右邊界上的像素點執(zhí)行了上述操作,則從所有執(zhí)行了上述操作的像素點對應(yīng)的Bound值中選擇一個用于更新BrRight ;記M個由Bt右邊界上的像素點計算得到的 Bound 值為 Bound (j),i=l, 2,...,Μ,則 BrRight=Maximum (Bound (I), Bound (2),…,Bound (M)),或者 BrRight=Minimum(Bound(I),Bound(2),…,Bound (M)),或者BrRight=Median(Bound(I), Bound(2),…,Bound (M));
[0169]其中,函數(shù)Maximum (xl, x2,…,xK)返回值是xl至xK這些數(shù)中的最大值,Minimum(XI, x2,...,xK)返回值是 xl 至 xK 這些數(shù)中的最小值,Median (xl, x2,...,xK)返回值是xl至xK這些數(shù)的處于最中間的數(shù)值。其中,BrLeft與BrRight分別為參考圖像塊Br的左邊界值和右邊界值。
[0170]在確定Br的邊界范圍以后,就可以利用參考視點的深度信息將參考視點中的Br向目標視點進行前向投影,從投影得到的投影圖像塊Bs中獲取預(yù)測圖像,預(yù)測圖像小于等于Bs,當(dāng)預(yù)測圖像小于Bs時,根據(jù)預(yù)測圖像所在位置,從Bs中截取相應(yīng)位置的像素點形成預(yù)測圖像。
[0171]實施例11
[0172]本實施例提供了一種基于塊的圖像塊邊界位置確定裝置,如圖6所示,包含四個子模塊,分別為:左邊界值確定模塊、右邊界值確定模塊、上邊界值確定模塊、下邊界值確定模塊。下面對這幾個模塊進行具體描述。
[0173]左邊界值確定模塊,輸入為Bt的視差矢量DV的水平分量DV.X、Bt左邊界值BtLeft。將Br的左邊界值BrLeft賦值為BtLeft偏移DV.x與預(yù)定偏移值ShiftValueLeft后的值,即 BrLeft=BtLeft-DV.x-ShiftValueLeft,輸出 BrLeft。
[0174]右邊界值確定模塊,輸入為Bt的視差矢量DV的水平分量DV.X、Bt右邊界值BtRight。將Br的右邊界值BrRight賦值為BtRight偏移DV.x與預(yù)定偏移值ShiftValueRight 后的值,即 BrRight=BtRight-DV.x-ShiftValueRight,輸出 BrRight。
[0175]上邊界值確定模塊,輸入為Bt上邊界值BtTop。將Br的上邊界值BrTop賦值為BtTop,輸出 BrTop。
[0176]下邊界值確定模塊,輸入為Bt下邊界值BtBottom。將Br的下邊界值BrBottom賦值為 BtBottom,輸出 BrBottom。
[0177]上述的預(yù)定偏移值ShiftValueLeft 可以取 100,200,150.5,-100,-200 等值;上述的預(yù)定偏移值ShiftValueRight也可以取100,200,150.5,-100,-200等值。
[0178]實施例12
[0179]本實施例提供了一種基于塊的圖像塊邊界位置確定裝置,如圖7所示,包含Br初始化模塊、初始化模塊、Cr初始化模塊、Bound更新模塊、Cr更新模塊、Br邊界更新模塊、投影模塊、預(yù)測圖像獲取模塊:
[0180]Br初始化模塊,輸入為目標視點中目標圖像塊Bt的視差矢量DV的水平分量DV.X、目標圖像塊Bt的位置、參考視點中的深度信息,用于在參考視點中確定參考圖像塊Br,Br的左邊界值BrLeft賦值為Bt的左邊界值BtLeft偏移視差矢量DV的水平分量DV.x與預(yù)定偏移值 ShiftValueLeft 后的值,即 BrLeft=BtLeft-DV.x-ShiftValueLeft ;Br 的右邊界值BrRight值賦值為Bt的右邊界值BtRight偏移視差矢量DV的水平分量DV.x與預(yù)定偏移值 ShiftValueRight 后的位置,即 BrRight=BtRight-DV.χ-ShiftValueRight ;Br 的上邊界值BrTop賦值為Bt的上邊界值,Br的下邊界值BrBottom賦值為Bt的下邊界值,輸出Br的位置至初始化模塊、Br邊界更新模塊,輸出Br的上邊界值BrTop、Br的下邊界值BrBottom0
[0181]初始化模塊,輸入為像素點PBt,來自Br初始化模塊的參考圖像塊Br的位置。若PBt位于Bt的左邊界上,DirSign賦值為一負數(shù),如DirSign=-1, BoundO賦值為參考圖像塊Br的左邊界值BrLeft,即BoundO=BrLeft,否則DirSign賦值為一正數(shù),如DirSign=I,BoundO 賦值為 Br 的右邊界值 BrRight,即 BoundO=BrRight,輸出 BoundCKDirSign 至 Bound更新1?塊。
[0182]Cr初始化模塊,輸入為像素點PBt、目標圖像塊Bt的視差矢量DV的水平分量DV.X,坐標CrO等于PBt的坐標在水平方向偏移視差矢量DV的水平分量DV.x后的坐標,記 PBt 的坐標值為(XPBt, YPBt),CrO 的坐標值為(XCrO, YCrO),則 XCrO=XPBt - DV.x,YCrO=YPBt,輸出CrO至Bound更新模塊。
[0183]Bound更新模塊,輸入為參考視點中的深度信息、像素點PBt、標志位Init、來自Cr初始化模塊的坐標CrO、來自初始化模塊的DirSign、BoundO、來自Bound更新模塊的Boundl、來自Cr更新模塊的坐標Crl ;Cr的坐標值為(XCr, YCr),Crl的坐標值為(XCrI, YCrl),當(dāng) Init 等于 O 時,將 Bound 賦值為 BoundO, Cr 賦值為 CrO,即 Bound=BoundO,XCr=XCrO, YCr=YCrO,否則將 Bound 賦值為 Boundl, Cr 賦值為 Crl,即 Bound=Boundl,XCr=XCrl,YCr=YCrl。其中,Init表示本模塊是否已經(jīng)接收過來自初始化模塊與Cr初始化模塊的數(shù)據(jù),未接收時Init等于O,否則Init等于I ;將位于Cr的像素點PCr結(jié)合PCr對應(yīng)的深度信息根據(jù)投影關(guān)系計算PCr在目標視點中的投影坐標Ct,Ct的坐標值為(XCt,YCt),若Ct與PBt的水平坐標差值與DirSign的乘積(XCt-XPBt) *DirSign彡O,且當(dāng)Init等于I時,還滿足Cr的水平坐標值與Bound的差值與DirSign的乘積(XCr-Bound) *DirSign〈0,則將Bound更新為Cr的水平坐標值,即Bound=XCr ;將Boundl賦值為Bound (即Boundl=Bound)并輸出至Bound更新模塊、Br邊界更新模塊,將Cr2賦值為Cr (Cr2的坐標值為(XCr2,YCr2) = (XCr, YCr))并輸出至Cr更新模塊。
[0184]Cr更新模塊,輸入為像素點PBt、來自Bound更新模塊的坐標Cr2,將Crl更新為PBt的水平坐標偏移Cr2在參考視點中所對應(yīng)的像素點的深度信息所對應(yīng)的視差值DispCr2 后的坐標,即(XCrI, YCrl) = (XPBt - DispCr2, YCr2),若 XCrl 小于 BrLeft,則令XCrl=BrLeft,若 XCrl 大于 BrRight,則令 XCrl=BrRight,輸出 Crl 至 Bound 更新模塊。
[0185]Br邊界更新模塊,輸入為來自Bound更新模塊的Boundl、來自Br初始化模塊的參考圖像塊Br的位置,當(dāng)本模塊接收到了 N個由Bt左邊界上的像素點計算得到的Boundl值 Boundl (I),Boundl (2),…,Boundl (N),則 BrLeft=Maximum (Boundl (I), Boundl (2),...,Boundl(N)),或者 BrLeft=Minimum (Boundl (I), Boundl (2),..., Boundl (N)),或者 BrLeft=Median(Boundl(I),Boundl(2),…,Boundl(N));當(dāng)本模塊接收到了 M個由Bt右邊界上的像素點計算得到的Bound值Boundl⑴,Boundl⑵,…,Boundl (M) , BrRight=Maximum(Boundl(I),Boundl(2),…,Boundl (M)),或者 BrRight=Minimum (Bound I (I),Bound I (2),…,Bound I (M)),或者BrRight=Median (Boundl (I), Boundl (2),..., Boundl (M));其中函數(shù) Maximum (xl, x2,...,xK)返回值為從xl至xK這些數(shù)中的最大值,Minimum(xl, x2,…,xK)返回值為從xl至xK這些數(shù)中的最小值,Median (xl,χ2,…,xK)返回值為從xl至xK這些數(shù)的中值;輸出Br的左邊界值BrLeft、Br的右邊界值BrRight。
[0186]實施例13
[0187]本實施例提供了一種基于塊的圖像塊邊界位置確定裝置,通過該裝置可以并行生成多個像素點對應(yīng)的Bound,如圖9所示,包含Br初始化模塊、Bound計算模塊、Br邊界更新模塊、投影模塊、預(yù)測圖像獲取模塊。其中,Bound更新模塊(如圖8所示)包含初始化模塊、Cr初始化模塊、Bound更新模塊、Cr更新模塊等子模塊。
[0188]Bound更新模塊,輸入為目標圖像塊Bt的視差矢量DV的水平分量DV.X、像素點PBt、來自Br初始化模塊的參考圖像塊Br的位置,輸出Boundl至Br邊界更新模塊。
[0189]初始化模塊,輸入為像素點PBt,參考圖像塊Br的位置,若PBt位于Bt的左邊界上,DirSign賦值為一負數(shù),如DirSign=-1, BoundO賦值為參考圖像塊Br的左邊界值BrLeft,即 BoundO=BrLeft,否則 DirSign 賦值為一正數(shù),如 DirSign=I,BoundO 賦值為 Br 的右邊界值 BrRight,即 BoundO=BrRight,輸出 BoundO、DirSign 至 Bound 更新模塊。
[0190]Cr初始化模塊,輸入為像素點PBt、目標圖像塊Bt的視差矢量DV的水平分量DV.X,坐標CrO等于PBt的坐標在水平方向偏移DV.x后的坐標,記PBt的坐標值為(XPBt, YPBt),CrO 的坐標值為(XCrO, YCrO),則 XCrO=XPBt - DV.x,YCrO=YPBt。輸出 CrO 至Bound更新模塊。
[0191]Bound更新模塊,輸入為參考視點中的深度信息、像素點PBt、標志位Init、來自Cr初始化模塊的坐標CrO、來自初始化模塊的DirSign、BoundO、來自Bound更新模塊的Boundl、來自Cr更新模塊的坐標Crl ;Cr的坐標值為(XCr, YCr),Crl的坐標值為(XCrI, YCrl),當(dāng) Init 等于 O 時,將 Bound 賦值為 BoundO, Cr 賦值為 CrO,即 Bound=BoundO,XCr=XCrO, YCr=YCrO,否則將 Bound 賦值為 Boundl, Cr 賦值為 Crl,即 Bound=Boundl,XCr=XCrl,YCr=YCrl。其中,Init表示本模塊是否已經(jīng)接收過來自初始化模塊與Cr初始化模塊的數(shù)據(jù),未接收時Init等于O,否則Init等于I ;將位于Cr的像素點PCr結(jié)合PCr對應(yīng)的深度信息根據(jù)投影關(guān)系計算PCr在目標視點中的投影坐標Ct,Ct的坐標值為(XCt,YCt),若Ct與PBt的水平坐標差值與DirSign的乘積(XCt-XPBt) *DirSign彡O,且當(dāng)Init等于I時,還滿足Cr的水平坐標值與Bound的差值與DirSign的乘積(XCr-Bound) *DirSign〈0,則將Bound更新為Cr的水平坐標值,即Bound=XCr ;將Boundl賦值為Bound (即Boundl=Bound)并輸出至Bound更新模塊、Br邊界更新模塊,將Cr2賦值為Cr (Cr2的坐標值為(XCr2,YCr2) = (XCr, YCr))并輸出至Cr更新模塊。
[0192]Cr更新模塊,輸入為像素點PBt、來自Bound更新模塊的坐標Cr2,將Crl更新為PBt的水平坐標偏移Cr2在參考視點中所對應(yīng)的像素點的深度信息所對應(yīng)的視差值DispCr2 后的坐標,即(XCrI, YCrl) = (XPBt - DispCr2, YCr2),若 XCrl 小于 BrLeft,則令XCrl=BrLeft,若 XCrl 大于 BrRight,則令 XCrl=BrRight。輸出 Crl 至 Bound 更新模塊。
[0193]Br初始化模塊,輸入為目標視點中目標圖像塊Bt的視差矢量DV的水平分量DV.X、目標圖像塊Bt的位置、參考視點中的深度信息,在參考視點中確定參考圖像塊Br,Br的左邊界值BrLeft賦值為Bt的左邊界值BtLeft偏移視差矢量DV的水平分量DV.x與預(yù)定偏移值 ShiftValueLeft 后的值,即 BrLeft=BtLeft-DV.x-ShiftValueLeft ;Br 的右邊界值BrRight賦值為Bt的右邊界值BtRight偏移視差矢量DV的水平分量DV.x與預(yù)定偏移值 ShiftValueRight 后的位置,即 BrRight=BtRight-DV.χ-ShiftValueRight ;Br 的上邊界值BrTop賦值為Bt的上邊界值,Br的下邊界值BrBottom賦值為Bt的下邊界值,輸出Br的位置至Bound計算模塊、Br邊界更新模塊,輸出Br的上邊界值BrTop、Br的下邊界值BrBottom0
[0194]Br邊界更新模塊,輸入為來自Bound更新模塊的Bound(I)至Bound(L)、來自Br初始化模塊的參考圖像塊Br的位置,當(dāng)本模塊接收到了 N個由Bt左邊界上的像素點計算得到的Boundl值Bound(I),Bound (2) , ".,Bound(N),貝 ljBrLeft=Maximum(Bound(l),Bound(2),...,Bound(N)),或者 BrLeft=Minimum (Bound (I),Bound (2),…,Bound (N)),或者 BrLeft=Median (Bound(I),Bound(2),…,Bound (N));當(dāng)本模塊接收到了 M個由Bt右邊界上的像素點計算得到的Bound值Bound(I),Bound (2), …,Bound (M) , BrRight = Maximum(Bound (I), Bound (2),…,Bound (M)),或者 BrRight=Minimum(Bound(I),Bound(2),…,Bound (M)),或者 BrRight=Median (Bound (I),Bound (2),…,Bound (M));其中 N+M=L ;其中函數(shù)Maximum(xI, x2,…,xK)返回值為從xl至xK這些數(shù)中的最大值,Minimum(xl, x2,…,xK)返回值為從xl至xK這些數(shù)中的最小值,Median (xl, x2,…,xK)返回值為從xl至xK這些數(shù)的中值;輸出Br的左邊界值BrLeft、Br的右邊界值BrRight。
[0195]實施例14
[0196]本實施例提供了一種媒體內(nèi)容,其中,該媒體內(nèi)容生成圖像的過程中可以通過實施例I至3中的任意一種基于塊的圖像塊邊界位置確定方法實現(xiàn)。
[0197]在上述各個實施例中,預(yù)測圖像還可以經(jīng)過下采樣、亞像素插值等處理方法生成新的預(yù)測圖像。
[0198]在另外一個實施例中,還提供了一種軟件,該軟件用于執(zhí)行上述實施例及優(yōu)選實施方式中描述的技術(shù)方案。
[0199]在另外一個實施例中,還提供了一種存儲介質(zhì),該存儲介質(zhì)中存儲有上述軟件,該存儲介質(zhì)包括但不限于:光盤、軟盤、硬盤、可擦寫存儲器等。
[0200]從以上的描述中,可以看出,本發(fā)明實現(xiàn)了如下技術(shù)效果:提出了一種新的預(yù)測圖像的生成方法,在生成參考圖像塊時,僅需要采用目標圖像塊的邊界位置和/或參考視點的深度信息和/或目標視點的攝像機參數(shù)等信息,而并不需要通過目標視點的深度圖像確定參考圖像塊,在進行前向投影時同樣通過參考視點的深度信息進行確定,在整個過程中都不需要知道目標視點的深度圖像。通過上述方式解決了現(xiàn)有技術(shù)中在生成預(yù)測圖像的過程中需要同時用到目標視點的深度圖像和參考視點的深度圖像而造成的對數(shù)據(jù)的依賴性較大的技術(shù)問題,達到了減少對數(shù)據(jù)的依賴和提高編解碼效率的技術(shù)效果。
[0201]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0202]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種圖像塊邊界位置確定方法,其特征在于,所述圖像塊的邊界上的至少一個像素點的位置由以下方法得到: 根據(jù)參數(shù)信息確定參考圖像塊邊界像素點的位置,其中,所述參數(shù)信息包括目標圖像塊的視差矢量; 所述的根據(jù)參數(shù)信息確定參考圖像塊邊界像素點的位置為: 設(shè)定第一預(yù)定偏移矢量; 將目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置偏移目標圖像塊的視差矢量和第一預(yù)定偏移矢量后得到第一位置; 將參考圖像塊邊界像素點的位置設(shè)置為所述的第一位置。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述目標圖像塊的視差矢量以以下方式之一獲得: (1)從目標圖像塊的相鄰圖像塊對應(yīng)的視差矢量中選擇一個作為目標圖像塊的視差矢量; (2)將目標圖像塊對應(yīng)的深度圖像轉(zhuǎn)化為視差矢量作為目標圖像塊的視差矢量。
3.根據(jù)權(quán)利要求1所述的方法,其特征還在于還包括,在將參考圖像塊邊界像素點的位置設(shè)置為所述的第一位置之前,先對第一位置進行更新,然后將參考圖像塊邊界像素點的位置設(shè)置為所述的第一位置,所述的對第一位置更新包括如下步驟: 將最外邊界位置設(shè)置為第一位置; 將目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置偏移目標圖像塊的視差矢量后的位置作為臨時位置,若臨時位置位于限定范圍之外,則令臨時位置等于所述限定范圍內(nèi)距離當(dāng)前臨時位置最近的像素點的位置; 若所述臨時位置對應(yīng)的像素點在目標視點的中的投影位置不位于目標圖像塊的內(nèi)部,則將所述的第一位置更新為臨時位置。
4.根據(jù)權(quán)利要求3所述的方法,其特征還在于,包括: 將目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置偏移臨時位置對應(yīng)的像素點的深度信息所對應(yīng)的視差矢量后的位置作為臨時參考位置; 若臨時參考位置位于所述限定范圍之外,則將臨時位置更新為所述限定范圍邊界內(nèi)距離臨時參考位置最近的像素點的位置,否則,將臨時位置更新為臨時參考位置; 若所述臨時位置對應(yīng)的像素點在目標視點的中的投影位置不位于目標圖像塊的內(nèi)部,且所述臨時位置距離最外邊界位置相比第一位置更遠,則將第一位置更新為臨時位置。
5.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,所述的限定范圍由以下方法確定: 將所述目標圖像塊邊界偏移所述目標圖像塊的視差矢量并向外擴展若干像素后所覆蓋的范圍作為所述的限定范圍。
6.一種圖像塊邊界位置確定裝置,其特征在于,包括: 第一位置確定單元,用于將目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置偏移目標圖像塊的視差矢量和第一預(yù)定偏移矢量后得到第一位置; 邊界像素點位置設(shè)置單元,用于將參考圖像塊邊界像素點的位置設(shè)置為所述的第一位置。
7.如權(quán)利要求6所述的裝置,其特征還在于,包括: 視差矢量設(shè)置單元,用于從目標圖像塊的相鄰圖像塊對應(yīng)的視差矢量中選擇一個作為目標圖像塊的視差矢量,或,將目標圖像塊對應(yīng)的深度圖像轉(zhuǎn)化為視差矢量作為目標圖像塊的視差矢量。
8.如權(quán)利要求6所述的裝置,其特征還在于,包括: 第一位置第一更新單元,用于按照以下方式更新第一位置: 將目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置偏移目標圖像塊的視差矢量后的位置作為臨時位置; 若臨時位置位于限定范圍之外,則令臨時位置等于所述限定范圍內(nèi)距離當(dāng)前臨時位置最近的像素點的位置; 若所述臨時位置對應(yīng)的像素點在目標視點的中的投影位置不位于目標圖像塊的內(nèi)部,則將所述的第一位置更新為臨時位置。
9.如權(quán)利要求8所述的裝置,其特征在于,還包括: 第一位置第二更新單元,用于按以下方式更新第一位置: 將目標圖像塊的邊界像素點在參考視點中的對應(yīng)位置偏移臨時位置對應(yīng)的像素點的深度信息所對應(yīng)的視差矢量后的位置作為臨時參考位置; 若臨時參考位置位于所述限定范圍之外,則將臨時位置更新為所述限定范圍邊界內(nèi)距離臨時參考位置最近的像素點的位置,否則,將臨時位置更新為臨時參考位置; 若所述臨時位置對應(yīng)的像素點在目標視點的中的投影位置不位于目標圖像塊的內(nèi)部,且所述臨時位置距離最外邊界位置相比第一位置更遠,則將第一位置更新為臨時位置。
10.如權(quán)利要求8或9所述的裝置,其特征還在于,包括: 限定范圍設(shè)置單元,用于將所述目標圖像塊邊界偏移所述目標圖像塊的視差矢量并向外擴展若干像素后所覆蓋的范圍作為所述的限定范圍。
【文檔編號】H04N13/00GK104301700SQ201310310200
【公開日】2015年1月21日 申請日期:2013年7月20日 優(yōu)先權(quán)日:2013年7月20日
【發(fā)明者】虞露, 張熠辰 申請人:浙江大學(xué)