編解碼方法和編解碼器的制造方法
【技術領域】
[0001]本發(fā)明實施例涉及視頻圖像編解碼領域,并且更具體地,涉及一種編解碼方法和編解碼器。
【背景技術】
[0002]在視頻編碼和解碼框架中,混合編碼結構通常用于視頻序列的編碼和解碼?;旌暇幋a結構的編碼端通常包括:預測模塊、變換模塊、量化模塊和熵編碼模塊;混合編碼結構的解碼端通常包括:熵解碼模塊、反量化模塊、反變換模塊和預測補償模塊。這些編碼和解碼模塊的組合可以有效去除視頻序列的冗余信息,并能保證在解碼端得到視頻序列的編碼圖像。
[0003]在視頻編碼和解碼框架中,視頻序列的圖像通常劃分成圖像塊進行編碼。一幅圖像被劃分成若干圖像塊,這些圖像塊使用上述模塊進行編碼和解碼。
[0004]在上述模塊中,預測模塊用于編碼端獲得視頻序列編碼圖像的圖像塊的預測塊信息,進而得到圖像塊的殘差,預測補償模塊用于解碼端獲得當前解碼圖像塊的預測塊信息,再根據(jù)解碼得到的圖像塊殘差獲得當前解碼圖像塊。預測模塊通常包含幀內預測和幀間預測兩種技術。其中,幀內預測技術利用當前圖像塊的空間像素信息去除當前圖像塊的冗余信息以獲得殘差;幀間預測技術利用當前圖像鄰近的已編碼或已解碼圖像像素信息去除當前圖像塊的冗余信息以獲得殘差。在幀間預測技術里,用于幀間預測的當前圖像鄰近的圖像被稱為參考圖像。
[0005]上述巾貞內預測或巾貞間預測技術均涉及塊劃分(block partit1ning)技術,即將一個圖像塊劃分成多于一個的區(qū)域(partit1n),然后再以所述區(qū)域為單位進行幀內預測或幀間預測。常用的塊劃分方法包括:將一個方形圖像塊沿水平或垂直方向劃分成兩個矩形區(qū)域(rectangular partit1n),如圖1中的A和B所示,圖中方形圖像塊分別沿水平與垂直方向劃分成兩個矩形區(qū)域。除此以外,一個方形圖像塊還可以將一個圖像塊劃分成兩個非矩形區(qū)域(non-rectangular partit1n),如圖 2 所不。
[0006]三維視頻編解碼技術也可使用上述的塊劃分技術。在三維視頻的紋理圖編解碼技術中,基于深度的塊分割是一種常用的方法。其原理在于利用亮度編碼塊中各采樣點對應的深度值信息生成二值化劃分模板,利用二值化劃分模板對亮度編碼塊進行劃分。這種方法也被稱為基于深度的塊分割模式(DBBP, depth-based block partit1ning)。
[0007]現(xiàn)有技術中,要利用當前亮度編碼塊中各采樣點對應的深度值信息實現(xiàn)當前亮度編碼塊的劃分,首先要確定當前亮度編碼塊中各采樣點對應的深度值信息。但是,由于當前視點的深度編碼還未開始,因此無法直接從當前視點的紋理圖對應的深度圖中得到當前亮度編碼塊中各采樣點對應的深度值信息,因此,需要利用視差矢量(DV,disparity vector)從已編碼的參考視點對應的深度圖中獲取當前亮度編碼塊中各采樣點對應的深度值信息(如圖3所示),由于視點之間的視差,從參考視點對應的深度圖中尋找當前視點的亮度編碼塊中各采樣點的深度值信息的過程需要大量的Clip和移位等操作,降低了編碼的效率。
【發(fā)明內容】
[0008]本發(fā)明實施例提供一種編解碼方法和編解碼器,以提高編碼的效率。
[0009]第一方面,提供一種編碼方法,包括:從紋理圖中確定當前的亮度編碼塊;確定所述亮度編碼塊的左上亮度采樣點的坐標,所述坐標用于指示所述亮度編碼塊的左上亮度采樣點相對于所述紋理圖的左上亮度采樣點的位置,所述坐標包括X坐標和Y坐標;獲取所述紋理圖對應的當前視點與參考視點之間的視差矢量;根據(jù)所述亮度編碼塊的左上亮度采樣點的X坐標和所述視差矢量,確定所述參考視點對應的深度圖中的目標采樣點的X坐標,其中所述目標采樣點為所述深度圖中的與所述亮度編碼塊的左上亮度采樣點對應的采樣點;將所述亮度編碼塊的左上亮度采樣點的Y坐標確定為所述深度圖的目標采樣點的Y坐標;根據(jù)所述深度圖中的目標采樣點的X坐標和Y坐標,以及所述亮度編碼塊的大小,確定所述亮度編碼塊中各采樣點所對應的深度值信息;根據(jù)所述深度值信息,得到所述亮度編碼塊的塊劃分方式,并對所述亮度編碼塊進行劃分;對劃分后的所述亮度編碼塊進行編碼。
[0010]結合第一方面,在第一方面的一種實現(xiàn)方式中,所述根據(jù)所述亮度編碼塊的左上亮度采樣點的X坐標和所述視差矢量,確定所述參考視點對應的深度圖中的目標采樣點的X坐標,包括:根據(jù)所述視差矢量,確定所述亮度編碼塊的左上亮度采樣點的X坐標與所述深度圖中的目標采樣點的X坐標之間的偏移量;根據(jù)所述亮度編碼塊的左上亮度采樣點的X坐標和所述偏移量,確定所述深度圖中的目標采樣點的X坐標。
[0011]結合第一方面或其上述實現(xiàn)方式的任一種,在第一方面的另一種實現(xiàn)方式中,所述根據(jù)所述視差矢量,確定所述亮度編碼塊的左上亮度采樣點的X坐標與所述深度圖中的目標采樣點的X坐標之間的偏移量,包括:將所述視差矢量的水平分量加2后除以4的結果向下取整,得到所述偏移量。
[0012]結合第一方面或其上述實現(xiàn)方式的任一種,在第一方面的另一種實現(xiàn)方式中,所述獲取所述紋理圖對應的當前視點與參考視點之間的視差矢量,包括:根據(jù)深度精細化標識位,確定所述視差矢量。
[0013]結合第一方面或其上述實現(xiàn)方式的任一種,在第一方面的另一種實現(xiàn)方式中,所述根據(jù)深度精細化標識位,確定所述視差矢量,包括:當所述深度精細化標識位為O時,將相鄰塊視差矢量NBDV確定為所述視差矢量;當所述深度精細化標識位為I時,將基于深度的鄰塊視差矢量DoNBDV確定為所述視差矢量。
[0014]第二方面,提供一種解碼方法,包括:從紋理圖中確定當前的亮度解碼塊;確定所述亮度解碼塊的左上亮度采樣點的坐標,所述坐標用于指示所述亮度解碼塊的左上亮度采樣點相對于所述紋理圖的左上亮度采樣點的位置,所述坐標包括X坐標和Y坐標;獲取所述紋理圖對應的當前視點與參考視點之間的視差矢量;根據(jù)所述亮度解碼塊的左上亮度采樣點的X坐標和所述視差矢量,確定所述參考視點對應的深度圖中的目標采樣點的X坐標,其中所述目標采樣點為所述深度圖中的與所述亮度解碼塊的左上亮度采樣點對應的采樣點;將所述亮度解碼塊的左上亮度采樣點的Y坐標確定為所述深度圖的目標采樣點的Y坐標;根據(jù)所述深度圖中的目標采樣點的X坐標和Y坐標,以及所述亮度解碼塊的大小,確定所述亮度解碼塊中各采樣點所對應的深度值信息;根據(jù)所述深度值信息,得到所述亮度解碼塊的塊劃分方式,并對所述亮度解碼塊進行劃分;對劃分后的所述亮度解碼塊進行解碼。
[0015]結合第二方面,在第二方面的一種實現(xiàn)方式中,所述根據(jù)所述亮度解碼塊的左上亮度采樣點的X坐標和所述視差矢量,確定所述參考視點對應的深度圖中的目標采樣點的X坐標,包括:根據(jù)所述視差矢量,確定所述亮度解碼塊的左上亮度采樣點的X坐標與所述深度圖中的目標采樣點的X坐標之間的偏移量;根據(jù)所述亮度解碼塊的左上亮度采樣點的X坐標和所述偏移量,確定所述深度圖中的目標采樣點的X坐標。
[0016]結合第二方面或其上述實現(xiàn)方式的任一種,在第二方面的另一種實現(xiàn)方式中,所述根據(jù)所述視差矢量,確定所述亮度解碼塊的左上亮度采樣點的X坐標與所述深度圖中的目標采樣點的X坐標之間的偏移量,包括:將所述視差矢量的水平分量加2后除以4的結果向下取整,得到所述偏移量。
[0017]結合第二方面或其上述實現(xiàn)方式的任一種,在第二方面的另一種實現(xiàn)方式中,所述獲取所述紋理圖對應的當前視點與參考視點之間的視差矢量,包括:根據(jù)深度精細化標識位,確定所述視差矢量。
[0018]結合第二方面或其上述實現(xiàn)方式的任一種,在第二方面的另一種實現(xiàn)方式中,所述根據(jù)深度精細化標識位,確定所述視差矢量,包括:當所述深度精細化標識位為O時,將相鄰塊視差矢量NBDV確定為所述視差矢量;當所述深度精細化標識位為I時,將基于深度的鄰塊視差矢量DoNBDV確定為所述視差矢量。
[0019]第三方面,提供一種編碼器,包括:第一確定單元,用于從紋理圖中確定當前的亮度編碼塊;第二確定單元,用于確定所述亮度編碼塊的左上亮度采樣點的坐標,所述坐標用于指示所述亮度編碼塊的左上亮度采樣點相對于所述紋理圖的左上亮度采樣點的位置,所述坐標包括X坐標和Y坐標;獲取單元,用于獲取所述紋理圖對應的當前視點與參考視點之間的視差矢量;第三確定單元,用于根據(jù)所述亮度編碼塊的左上亮度采樣點的X坐標和所述視差矢量,確定所述參考視點對應的深度圖中的目標采樣點的X坐標,其中所述目標采樣點為所述深度圖中的與所述亮度編碼塊的左上亮度采樣點對應的采樣點;第四確定單元,用于將所述亮度編碼塊的左上亮度采樣點的Y坐標確定為所述深度圖的目標采樣點的Y坐標;第五確定單元,用于根據(jù)所述深度圖中的目標采樣點的X坐標和Y坐標,以及所述亮度編碼塊的大小,確定所述亮度編碼塊中各采樣點所對應的深度值信息;塊劃分單元,用于根據(jù)所述深度值信息,得到所述亮度編碼塊的塊劃分方式,并對所述亮度編碼塊進行劃分;編碼單元,用于對劃分后的所述亮度編碼塊進行編碼。
[0020]結合第三方面,在第三方面的一種實現(xiàn)方式中,所述第三確定單元具體用于根據(jù)所述視差矢量,確定所述亮度編碼塊的左上亮度采樣點的X坐標與所述深度圖中的目標采樣點的X坐標之間的偏移量;根據(jù)所述亮度編碼塊的左上亮度采樣點的X坐標和所述偏移量,確定所述深度圖中的目標采樣點的X坐標。
[0021]結合第三方面或其上述實現(xiàn)方式的任一種,在第三方面的另一種實現(xiàn)方式中,所述第三確定單元具體用于將所述視差矢量的水平分量加2后除以4的結果向下取整,得到所述偏移量。
[0022]結合第三方面或其上述實現(xiàn)方式的任一種,在第三方面的另一種實現(xiàn)方式中,所述獲取單元具體用于根據(jù)深度精細化標識位,確定所述視差矢量。
[0023]結合第三方面或其上述實現(xiàn)方式的任一種,在第三方面的另一種實現(xiàn)方式中,所述獲取單元具體用于當所述深度精細化標識位為O時,將相鄰塊視差矢量NBDV確定為所述視差矢量;當所述深度精細化標識位為I時,將基于深度的鄰塊視差矢量DoNBDV確定為所述視差矢量。
[0024]第四方面,提供一種解碼器,包括:第一確定單元,用于從紋理圖中確定當前的亮度解碼塊;第二確定單元,用于確定所述亮度解碼塊的左