視頻解碼裝置制造方法
【專利摘要】一種視頻解碼裝置,包括:預(yù)測塊產(chǎn)生單元,通過對當(dāng)前塊執(zhí)行幀間預(yù)測,來產(chǎn)生預(yù)測塊,其中,所述預(yù)測塊產(chǎn)生單元基于所述當(dāng)前塊的參考畫面、以及用于所述當(dāng)前塊的幀間預(yù)測的參考塊的參考畫面的畫面次序計數(shù)(POC)值,來確定是否對所述參考塊的運動向量執(zhí)行縮放,并且當(dāng)確定執(zhí)行對所述參考塊的運動向量的縮放時,基于畫面之間的POC差來計算第一值和第二值,通過對所述第一值的絕對值執(zhí)行1個二進制數(shù)位的算術(shù)右移來計算偏移值、并使用所述偏移值來計算所述第一值的反比例值,并基于所述第一值的反比例值和所述第二值、來計算縮放因子,由此對所述參考塊的運動向量進行縮放。
【專利說明】視頻解碼裝置
[0001 ]本專利申請是下列發(fā)明專利申請的分案申請:
[0002]申請?zhí)?201380009877.0
[0003]申請日:2013年I月18日
[0004]發(fā)明名稱:對圖像進行編碼和解碼的方法及設(shè)備
【技術(shù)領(lǐng)域】
[0005]本發(fā)明涉及對圖像進行編碼和解碼的方法及設(shè)備,并更具體地,涉及減少了計算復(fù)雜度的幀內(nèi)預(yù)測和幀間預(yù)測方法。
【背景技術(shù)】
[0006]最近HD(高清)廣播服務(wù)在全國和全世界的蔓延使得更多的用戶熟悉高分辨率、高質(zhì)量圖像,并且很多組織將更多的精力投入到下一代成像設(shè)備的研發(fā)中。另外,更多的興趣指向分辨率是HDTV的4倍或者更多的UHD (超高清)以及HDTV,從而要求針對更高分辨率、更高質(zhì)量圖像的圖像壓縮技術(shù)。
[0007]為了進行圖像壓縮,可以使用用于根據(jù)在時間上先前和/或隨后的畫面來預(yù)測當(dāng)前畫面中包括的像素值的幀間預(yù)測、用于通過使用當(dāng)前畫面中的像素信息來預(yù)測當(dāng)前畫面中包括的像素值的幀內(nèi)預(yù)測、以及用于對較頻繁的碼元分配較短的碼而對不太頻繁的碼元分配較長的碼的熵編碼。
【發(fā)明內(nèi)容】
[0008]技術(shù)問題
[0009]本發(fā)明的目的在于提供一種可通過減少計算復(fù)雜度來增強圖像編碼/解碼效率的圖像編碼方法及裝置。
[0010]本發(fā)明的另一個目的在于提供一種通過減少計算復(fù)雜度來增強圖像編碼/解碼效率的圖像解碼方法及裝置。
[0011]本發(fā)明的又一個目的在于提供一種通過減少計算復(fù)雜度來增強圖像編碼/解碼效率的預(yù)測塊產(chǎn)生方法及裝置。
[0012]本發(fā)明的又一個目的在于提供一種通過減少計算復(fù)雜度來增強圖像編碼/解碼效率的幀內(nèi)預(yù)測方法及裝置。
[0013]本發(fā)明的又一個目的在于提供一種通過減少計算復(fù)雜度來增強圖像編碼/解碼效率的幀間預(yù)測方法及裝置。
[0014]技術(shù)方案
[0015]根據(jù)本發(fā)明的一個方面,提供了一種視頻解碼裝置,包括:殘差塊重構(gòu)單元,通過對經(jīng)熵解碼的殘差塊信息進行逆量化和逆變換,來重構(gòu)殘差塊;預(yù)測塊產(chǎn)生單元,通過對當(dāng)前塊執(zhí)行幀內(nèi)預(yù)測,來產(chǎn)生預(yù)測塊;以及畫面重構(gòu)單元,通過將所重構(gòu)的殘差塊添加到所述預(yù)測塊,來重構(gòu)畫面,其中,所述預(yù)測塊產(chǎn)生單元基于包括在所述當(dāng)前塊中的預(yù)測目標(biāo)像素的第一預(yù)測值、以及通過對所述預(yù)測目標(biāo)像素的初始校正值執(zhí)行I個二進制數(shù)位的算術(shù)右移而計算出的最終校正值,來產(chǎn)生所述預(yù)測目標(biāo)像素的最終預(yù)測值。
[0016]所述預(yù)測塊產(chǎn)生單元取決于關(guān)于所述當(dāng)前塊的編碼信息、以及所述當(dāng)前塊中的所述預(yù)測目標(biāo)像素的位置來確定是否校正幀內(nèi)預(yù)測值,并且基于所述確定的結(jié)果來產(chǎn)生所述預(yù)測目標(biāo)像素的最終預(yù)測值。
[0017]所述編碼信息包括所述當(dāng)前塊的幀內(nèi)預(yù)測模式、亮度信號信息、色度信號信息以及塊大小之中的至少一項。
[0018]當(dāng)所述當(dāng)前塊的幀內(nèi)預(yù)測模式是垂直預(yù)測模式時,所述預(yù)測塊產(chǎn)生單元校正所述當(dāng)前塊的左邊界上的像素。
[0019]當(dāng)所述當(dāng)前塊的幀內(nèi)預(yù)測模式是水平預(yù)測模式時,所述預(yù)測塊產(chǎn)生單元校正所述當(dāng)前塊的上邊界上的像素。
[0020]所述預(yù)測塊產(chǎn)生單元不針對所述當(dāng)前塊的色度信號來校正所述幀內(nèi)預(yù)測值。
[0021]當(dāng)所述當(dāng)前塊具有小于32X32的大小時,所述預(yù)測塊產(chǎn)生單元校正所述幀內(nèi)預(yù)測值。
[0022]當(dāng)幀內(nèi)預(yù)測模式是垂直預(yù)測模式并且確定要執(zhí)行對所述幀內(nèi)預(yù)測值的校正時,所述預(yù)測塊產(chǎn)生單元校正所述當(dāng)前塊的左邊界上的像素,其中,所述預(yù)測塊產(chǎn)生單元使用鄰近所述當(dāng)前塊的上參考像素的值來產(chǎn)生所述第一預(yù)測值,使用與該塊中的預(yù)測目標(biāo)像素的垂直位置相對應(yīng)的左參考像素的值、與所述當(dāng)前塊的左上像素的值之間的差,來確定初始校正值,通過對所述初始校正值的二互補整數(shù)表示執(zhí)行I個二進制數(shù)位的算術(shù)右移來得到最終校正值,并且基于所述第一預(yù)測值和所述最終校正值來得到所述最終預(yù)測值。
[0023]當(dāng)幀內(nèi)預(yù)測模式是水平預(yù)測模式、并且確定要執(zhí)行對所述幀內(nèi)預(yù)測值的校正時,所述預(yù)測塊產(chǎn)生單元校正所述當(dāng)前塊的上邊界上的像素,其中,所述預(yù)測塊產(chǎn)生單元使用鄰近所述當(dāng)前塊的左參考像素的值來產(chǎn)生所述第一預(yù)測值,使用與該塊中的預(yù)測目標(biāo)像素的水平位置相對應(yīng)的上參考像素的值、與所述當(dāng)前塊的左上像素的值之間的差,來確定初始校正值,通過對所述初始校正值的二互補整數(shù)表示執(zhí)行I個二進制數(shù)位的算術(shù)右移來得到最終校正值,并且基于所述第一預(yù)測值和所述最終校正值來得到所述最終預(yù)測值。
[0024]當(dāng)確定不對所述幀內(nèi)預(yù)測值執(zhí)行校正時,所述預(yù)測塊產(chǎn)生單元在垂直預(yù)測模式下基于鄰近所述當(dāng)前塊的上參考像素的值,來產(chǎn)生所述預(yù)測目標(biāo)像素的最終預(yù)測值,并且在水平預(yù)測模式下基于鄰近所述當(dāng)前塊的左參考像素的值,來產(chǎn)生所述預(yù)測目標(biāo)像素的最終預(yù)測值。
[0025]所述預(yù)測塊產(chǎn)生單元使用鄰近所述當(dāng)前塊的像素中的、已經(jīng)重構(gòu)的像素,來確定參考像素,并且對所述參考像素的像素值執(zhí)行平滑濾波。
[0026]根據(jù)本發(fā)明的一個方面,提供了一種視頻解碼方法,包括:通過對經(jīng)熵解碼的殘差塊信息進行逆量化和逆變換,來重構(gòu)殘差塊;通過對當(dāng)前塊執(zhí)行幀內(nèi)預(yù)測,來產(chǎn)生預(yù)測塊;以及通過將所重構(gòu)的殘差塊添加到所述預(yù)測塊,來重構(gòu)畫面,其中,所述產(chǎn)生預(yù)測塊的步驟包括:基于包括在所述當(dāng)前塊中的預(yù)測目標(biāo)像素的第一預(yù)測值、以及通過對所述預(yù)測目標(biāo)像素的初始校正值執(zhí)行I個二進制數(shù)位的算術(shù)右移而計算出的最終校正值,來產(chǎn)生所述預(yù)測目標(biāo)像素的最終預(yù)測值。
[0027]所述產(chǎn)生預(yù)測塊的步驟包括:取決于關(guān)于所述當(dāng)前塊的編碼信息、以及所述當(dāng)前塊中的所述預(yù)測目標(biāo)的位置,來確定是否校正幀內(nèi)預(yù)測值;以及基于所述確定的結(jié)果,來產(chǎn)生所述預(yù)測目標(biāo)像素的最終預(yù)測值。
[0028]所述編碼信息包括所述當(dāng)前塊的幀內(nèi)預(yù)測模式、亮度信號信息、色度信號信息以及塊大小之中的至少一項。
[0029]所述確定是否校正的步驟包括:當(dāng)所述當(dāng)前塊的幀內(nèi)預(yù)測模式是垂直預(yù)測模式時,確定校正所述當(dāng)前塊的左邊界上的像素。
[0030]所述確定是否校正的步驟包括:當(dāng)所述當(dāng)前塊的幀內(nèi)預(yù)測模式是水平預(yù)測模式時,確定校正所述當(dāng)前塊的上邊界上的像素。
[0031]所述確定是否校正的步驟包括:確定不針對所述當(dāng)前塊的色度信號來校正所述幀內(nèi)預(yù)測值。
[0032]所述確定是否校正的步驟包括:當(dāng)所述當(dāng)前塊具有小于32X32的大小時,確定校正所述幀內(nèi)預(yù)測值。
[0033]當(dāng)幀內(nèi)預(yù)測模式是垂直預(yù)測模式、并且確定要執(zhí)行對所述幀內(nèi)預(yù)測值的校正時,所述產(chǎn)生最終預(yù)測值的步驟校正所述當(dāng)前塊的左邊界上的像素,并且包括:使用鄰近所述當(dāng)前塊的上參考像素的值來產(chǎn)生所述第一預(yù)測值;使用與該塊中的預(yù)測目標(biāo)像素的垂直位置相對應(yīng)的左參考像素的值、與所述當(dāng)前塊的左上像素的值之間的差,來確定初始校正值;通過對所述初始值的二互補整數(shù)表示執(zhí)行I個二進制數(shù)位的算術(shù)右移,來得到最終校正值;以及,基于所述第一預(yù)測值和所述最終校正值,來得到所述最終預(yù)測值。
[0034]當(dāng)幀內(nèi)預(yù)測模式是水平預(yù)測模式、并且確定要執(zhí)行對所述幀內(nèi)預(yù)測值的校正時,所述產(chǎn)生最終預(yù)測值的步驟校正所述當(dāng)前塊的上邊界上的像素,并且包括:使用鄰近所述當(dāng)前塊的左參考像素的值來產(chǎn)生所述第一預(yù)測值;使用與該塊中的預(yù)測目標(biāo)像素的水平位置相對應(yīng)的上參考像素的值、與所述當(dāng)前塊的左上像素的值之間的差,來確定初始校正值;通過對所述初始校正值的二互補整數(shù)表示執(zhí)行I個二進制數(shù)位的算術(shù)右移,來得到最終校正值;以及,基于所述第一預(yù)測值和所述最終校正值,來得到所述最終預(yù)測值。
[0035]當(dāng)確定不對所述幀內(nèi)預(yù)測值執(zhí)行校正時,所述產(chǎn)生最終預(yù)測值的步驟包括:在垂直預(yù)測模式下基于鄰近所述當(dāng)前塊的上參考像素的值,來產(chǎn)生所述預(yù)測目標(biāo)像素的最終預(yù)測值;以及,在水平預(yù)測模式下基于鄰近所述當(dāng)前塊的左參考像素的值,來產(chǎn)生所述預(yù)測目標(biāo)像素的最終預(yù)測值。
[0036]該視頻解碼方法還包括確定用于所述預(yù)測目標(biāo)像素的幀內(nèi)預(yù)測的參考像素,其中,所述確定參考像素的步驟包括:使用鄰近所述當(dāng)前塊的像素中的、已經(jīng)重構(gòu)的像素,來確定參考像素;以及,對所述參考像素的像素值執(zhí)行平滑濾波。
[0037]根據(jù)本發(fā)明的一個方面,提供了一種視頻編碼裝置,包括:預(yù)測塊產(chǎn)生單元,通過對當(dāng)前塊執(zhí)行幀內(nèi)預(yù)測,來產(chǎn)生預(yù)測塊;以及熵解碼單元,對作為原始畫面與所述預(yù)測塊之間的差的、殘差塊進行編碼,其中,所述預(yù)測塊產(chǎn)生單元基于包括在所述當(dāng)前塊中的預(yù)測目標(biāo)像素的第一預(yù)測值、以及通過對所述預(yù)測目標(biāo)像素的初始校正值執(zhí)行I個二進制數(shù)位的算術(shù)右移而計算出的最終校正值,來產(chǎn)生所述預(yù)測目標(biāo)像素的最終預(yù)測值。
[0038]所述預(yù)測塊產(chǎn)生單元取決于關(guān)于所述當(dāng)前塊的編碼信息、以及所述當(dāng)前塊中的所述預(yù)測目標(biāo)像素的位置,來確定是否校正幀內(nèi)預(yù)測值,并且基于所述確定的結(jié)果來產(chǎn)生所述預(yù)測目標(biāo)像素的最終預(yù)測值。
[0039]所述編碼信息包括所述當(dāng)前塊的幀內(nèi)預(yù)測模式、亮度信號信息、色度信號信息以及塊大小之中的至少一項。
[0040]當(dāng)所述當(dāng)前塊的幀內(nèi)預(yù)測模式是垂直預(yù)測模式時,所述預(yù)測塊產(chǎn)生單元校正所述當(dāng)前塊的左邊界上的像素。
[0041]當(dāng)所述當(dāng)前塊的幀內(nèi)預(yù)測模式是水平預(yù)測模式時,所述預(yù)測塊產(chǎn)生單元校正所述當(dāng)前塊的上邊界上的像素。
[0042]所述預(yù)測塊產(chǎn)生單元不針對所述當(dāng)前塊的色度信號來校正所述幀內(nèi)預(yù)測值。
[0043]當(dāng)所述當(dāng)前塊具有小于32X32的大小時,所述預(yù)測塊產(chǎn)生單元校正所述幀內(nèi)預(yù)測值。
[0044]當(dāng)幀內(nèi)預(yù)測模式是垂直預(yù)測模式、并且確定要執(zhí)行對所述幀內(nèi)預(yù)測值的校正時,所述預(yù)測塊產(chǎn)生單元校正所述當(dāng)前塊的左邊界上的像素,其中,所述預(yù)測塊產(chǎn)生單元使用鄰近所述當(dāng)前塊的上參考像素的值,來產(chǎn)生所述第一預(yù)測值,使用與該塊中的預(yù)測目標(biāo)像素的垂直位置相對應(yīng)的左參考像素的值、與所述當(dāng)前塊的左上像素的值之間的差,來確定初始校正值,通過對所述初始校正值的二互補整數(shù)表示執(zhí)行I個二進制數(shù)位的算術(shù)右移,來得到最終校正值,并且基于所述第一預(yù)測值和所述最終校正值,來得到所述最終預(yù)測值。
[0045]當(dāng)幀內(nèi)預(yù)測模式是水平預(yù)測模式、并且確定要執(zhí)行對所述幀內(nèi)預(yù)測值的校正時,所述預(yù)測塊產(chǎn)生單元校正所述當(dāng)前塊的上邊界上的像素,其中,所述預(yù)測塊產(chǎn)生單元使用鄰近所述當(dāng)前塊的左參考像素的值,來產(chǎn)生所述第一預(yù)測值,使用與該塊中的預(yù)測目標(biāo)像素的水平位置相對應(yīng)的上參考像素的值、與所述當(dāng)前塊的左上像素的值之間的差,來確定初始校正值,通過對所述初始校正值的二互補整數(shù)表示執(zhí)行I個二進制數(shù)位的算術(shù)右移,來得到最終校正值,并且基于所述第一預(yù)測值和所述最終校正值,來得到所述最終預(yù)測值。
[0046]當(dāng)確定不對所述幀內(nèi)預(yù)測值執(zhí)行校正時,所述預(yù)測塊產(chǎn)生單元在垂直預(yù)測模式下基于鄰近所述當(dāng)前塊的上參考像素的值,來產(chǎn)生所述預(yù)測目標(biāo)像素的最終預(yù)測值,并且在水平預(yù)測模式下基于鄰近所述當(dāng)前塊的左參考像素的值,來產(chǎn)生所述預(yù)測目標(biāo)像素的最終預(yù)測值。
[0047]所述預(yù)測塊產(chǎn)生單元使用鄰近所述當(dāng)前塊的像素中的、已經(jīng)重構(gòu)的像素,來確定參考像素,并且對所述參考像素的像素值執(zhí)行平滑濾波。
[0048]根據(jù)本發(fā)明的一個方面,提供了一種視頻編碼方法,包括:通過對當(dāng)前塊執(zhí)行幀內(nèi)預(yù)測,來產(chǎn)生預(yù)測塊;以及對作為原始畫面與所述預(yù)測塊之間的差的、殘差塊進行編碼,其中,所述產(chǎn)生預(yù)測塊的步驟包括:基于包括在所述當(dāng)前塊中的預(yù)測目標(biāo)像素的第一預(yù)測值、以及通過對所述預(yù)測目標(biāo)像素的初始校正值執(zhí)行I個二進制數(shù)位的算術(shù)右移而計算出的最終校正值,來產(chǎn)生所述預(yù)測目標(biāo)像素的最終預(yù)測值。
[0049]所述產(chǎn)生預(yù)測塊的步驟包括:取決于關(guān)于所述當(dāng)前塊的編碼信息、以及所述當(dāng)前塊中的所述預(yù)測目標(biāo)的位置,來確定是否校正幀內(nèi)預(yù)測值;以及基于所述確定的結(jié)果,來產(chǎn)生關(guān)于所述預(yù)測目標(biāo)像素的最終預(yù)測值。
[0050]所述編碼信息包括所述當(dāng)前塊的幀內(nèi)預(yù)測模式、亮度信號信息、色度信號信息以及塊大小之中的至少一項。
[0051]所述確定是否校正的步驟包括:當(dāng)所述當(dāng)前塊的幀內(nèi)預(yù)測模式是垂直預(yù)測模式時,確定校正所述當(dāng)前塊的左邊界上的像素。
[0052]所述確定是否校正的步驟包括:當(dāng)所述當(dāng)前塊的幀內(nèi)預(yù)測模式是水平預(yù)測模式時,確定校正所述當(dāng)前塊的上邊界上的像素。
[0053]所述確定是否校正的步驟包括:確定不針對所述當(dāng)前塊的亮度信號來校正所述幀內(nèi)預(yù)測值。
[0054]所述確定是否校正的步驟包括:當(dāng)所述當(dāng)前塊具有小于32X32的大小時,確定校正所述幀內(nèi)預(yù)測值。
[0055]當(dāng)幀內(nèi)預(yù)測模式是垂直預(yù)測模式、并且確定要執(zhí)行對所述幀內(nèi)預(yù)測值的校正時,所述產(chǎn)生最終預(yù)測值的步驟校正所述當(dāng)前塊的左邊界上的像素,并且包括:使用鄰近所述當(dāng)前塊的上參考像素的值,來產(chǎn)生所述第一預(yù)測值;使用與該塊中的預(yù)測目標(biāo)像素的垂直位置相對應(yīng)的左參考像素的值、與所述當(dāng)前塊的左上像素的值之間的差,來確定初始校正值;通過對所述初始值的二互補整數(shù)表示執(zhí)行I個二進制數(shù)位的算術(shù)右移,來得到最終校正值;以及,基于所述第一預(yù)測值和所述最終校正值,來得到所述最終預(yù)測值。
[0056]當(dāng)幀內(nèi)預(yù)測模式是水平預(yù)測模式、并且確定要執(zhí)行對所述幀內(nèi)預(yù)測值的校正時,所述產(chǎn)生最終預(yù)測值的步驟校正所述當(dāng)前塊的上邊界上的像素,并且包括:使用鄰近所述當(dāng)前塊的左參考像素的值,來產(chǎn)生所述第一預(yù)測值;使用與該塊中的預(yù)測目標(biāo)像素的水平位置相對應(yīng)的上參考像素的值、與所述當(dāng)前塊的左上像素的值之間的差,來確定初始校正值;通過對所述初始校正值的二互補整數(shù)表示執(zhí)行I個二進制數(shù)位的算術(shù)右移,來得到最終校正值;以及,基于所述第一預(yù)測值和所述最終校正值,來得到所述最終預(yù)測值。
[0057]當(dāng)確定不對所述幀內(nèi)預(yù)測值執(zhí)行校正時,所述產(chǎn)生最終預(yù)測值的步驟包括:在垂直預(yù)測模式下基于鄰近所述當(dāng)前塊的上參考像素的值,來產(chǎn)生所述預(yù)測目標(biāo)像素的最終預(yù)測值;以及,在水平預(yù)測模式下基于鄰近所述當(dāng)前塊的左參考像素的值,來產(chǎn)生所述預(yù)測目標(biāo)像素的最終預(yù)測值。
[0058]該視頻編碼方法還包括確定用于所述預(yù)測目標(biāo)像素的幀內(nèi)預(yù)測的參考像素,其中,所述確定參考像素的步驟包括:使用鄰近所述當(dāng)前塊的像素中的、已經(jīng)重構(gòu)的像素,來確定參考像素;以及,對所述參考像素的像素值執(zhí)行平滑濾波。
[0059]根據(jù)本發(fā)明的一個方面,提供了一種視頻解碼裝置,包括:預(yù)測塊產(chǎn)生單元,通過對當(dāng)前塊執(zhí)行幀間預(yù)測,來產(chǎn)生預(yù)測塊,其中,所述預(yù)測塊產(chǎn)生單元基于所述當(dāng)前塊的參考畫面、以及用于所述當(dāng)前塊的幀間預(yù)測的參考塊的參考畫面的畫面次序計數(shù)(POC)值,來確定是否對所述參考塊的運動向量執(zhí)行縮放,并且當(dāng)確定執(zhí)行對所述參考塊的運動向量的縮放時,基于畫面之間的POC差來計算第一值和第二值,通過對所述第一值的絕對值執(zhí)行I個二進制數(shù)位的算術(shù)右移來計算偏移值、并使用所述偏移值來計算所述第一值的反比例值,并基于所述第一值的反比例值和所述第二值、來計算縮放因子,由此對所述參考塊的運動向量進行縮放,其中,所述第一值是包括所述參考塊的畫面、與所述參考塊所參考的參考畫面之間的POC差,所述第二值是當(dāng)前畫面、與所述當(dāng)前塊所參考的參考畫面之間的POC差。
[0060]在推導(dǎo)空間運動向量時,所述預(yù)測塊產(chǎn)生單元僅在所述當(dāng)前塊的參考畫面與用于所述當(dāng)前塊的幀間預(yù)測的參考塊的參考畫面不相同的情況下,才確定對所述參考塊的運動向量進行縮放。
[0061]在推導(dǎo)時間運動向量時,所述預(yù)測塊產(chǎn)生單元僅在所述當(dāng)前畫面與所述當(dāng)塊的參考畫面之間的POC差不同于包括所述參考塊的畫面與所述參考塊的參考畫面之間的POC差的情況下,才確定對所述參考塊的運動向量進行縮放。
[0062]在推導(dǎo)空間或時間運動向量時使用的參考塊、或者時間合并候選,在推導(dǎo)所述空間運動向量時,包括鄰近所述當(dāng)前塊的左側(cè)的最下邊的塊、鄰近左邊最下邊的塊的下側(cè)的塊、所述當(dāng)前塊的左上角的塊、所述當(dāng)前塊的右上角的塊、以及鄰近所述當(dāng)前塊的上邊最右邊的塊之中的至少一個,并且在推導(dǎo)所述時間運動向量以及推導(dǎo)時間合并候選時,包括位于在所述當(dāng)前畫面的并置畫面中、與所述當(dāng)前塊在空間上相對應(yīng)的并置塊之內(nèi)以及之外的塊之中的至少一個。
[0063]在推導(dǎo)空間運動向量時,所述第一值是所述當(dāng)前畫面與所述參考塊所參考的參考畫面之間的POC差,所述第二值是所述當(dāng)前畫面與所述當(dāng)前塊所參考的參考畫面之間的POC差,并且在推導(dǎo)時間運動向量時以及在推導(dǎo)時間合并候選時,所述第一值是并置畫面、與在所述并置畫面中并置塊和所述當(dāng)前塊參考的參考畫面之間的POC差,所述第二值是當(dāng)前塊畫面、與所述當(dāng)前塊所參考的參考畫面之間的POC差。
[0064]所述預(yù)測塊產(chǎn)生單元通過基于所述第一值的反比例值與所述第二值的乘法、執(zhí)行加法運算和算術(shù)右移運算、來得到縮放因子,并且將所述縮放因子調(diào)整成被包括在特定范圍內(nèi)。
[0065]根據(jù)本發(fā)明的一個方面,提供了一種視頻解碼方法,包括:通過對經(jīng)熵解碼的殘差塊信息進行逆量化和逆變換,來重構(gòu)殘差塊;通過對當(dāng)前塊執(zhí)行幀間預(yù)測,來產(chǎn)生預(yù)測塊;以及通過將所重構(gòu)的殘差塊添加到所述預(yù)測塊,來重構(gòu)畫面,其中,所述產(chǎn)生預(yù)測塊的步驟包括:基于所述當(dāng)前塊的參考畫面、以及用于所述當(dāng)前塊的幀間預(yù)測的參考塊的參考畫面的畫面次序計數(shù)(POC)值,來確定是否執(zhí)行縮放;以及,當(dāng)確定執(zhí)行對所述參考塊的運動向量的縮放時,縮放并使用所述參考塊的運動向量,用于當(dāng)前塊的預(yù)測,并且所述縮放步驟包括:基于畫面之間的POC差來計算第一值和第二值;通過對所述第一值的絕對值執(zhí)行I個二進制數(shù)位的算術(shù)右移來計算偏移值,并且使用所述偏移值來計算所述第一值的反比例值;以及,基于所述第一值的反比例值和所述第二值來計算縮放因子,其中,所述第一值是包括所述參考塊的畫面、與所述參考塊所參考的參考畫面之間的POC差,所述第二值是當(dāng)前畫面與所述當(dāng)前塊所參考的參考畫面之間的POC差。
[0066]在推導(dǎo)空間運動向量時,所述確定是否執(zhí)行縮放的步驟僅在所述當(dāng)前塊的參考畫面與用于所述當(dāng)前塊的幀間預(yù)測的所述參考塊的參考畫面不相同的情況下,才確定對所述參考塊的運動向量進行縮放。
[0067]在推導(dǎo)時間運動向量時,所述確定是否執(zhí)行縮放的步驟僅在所述當(dāng)前畫面與所述當(dāng)前塊的參考畫面之間的POC差不同于包括所述參考塊的畫面與所述參考塊的參考畫面之間的POC差的情況下,才確定對所述參考塊的運動向量進行縮放。
[0068]在推導(dǎo)空間或時間運動向量時使用的參考塊或者時間合并候選,在推導(dǎo)所述空間運動向量時,包括鄰近所述當(dāng)前塊的左側(cè)的最下邊的塊、鄰近左邊最下邊的塊的下側(cè)的塊、所述當(dāng)前塊的左上角的塊、所述當(dāng)前塊的右上角的塊、以及鄰近所述當(dāng)前塊的上邊最右邊的塊之中的至少一個,在推導(dǎo)所述時間運動向量時以及在推導(dǎo)所述時間合并候選時,包括位于在所述當(dāng)前畫面的并置畫面中、與所述當(dāng)前塊在空間上相對應(yīng)的并置塊之內(nèi)和之外的塊之中的至少一個。
[0069]在推導(dǎo)空間運動向量時,所述第一值是所述當(dāng)前畫面與所述參考塊所參考的參考畫面之間的POC差,所述第二值是所述當(dāng)前畫面與所述當(dāng)前塊所參考的參考畫面之間的POC差,并且在推導(dǎo)時間運動向量時以及在推導(dǎo)時間合并候選時,所述第一值是并置畫面、與在所述并置畫面中并置塊和所述當(dāng)前塊所參考的參考畫面之間的POC差,而所述第二值是當(dāng)前塊畫面與所述當(dāng)前塊所參考的參考畫面之間的POC差。
[0070]所述計算縮放因子的步驟包括:通過基于所述第一值的反比例值與所述第二值的乘法、執(zhí)行加法運算和算術(shù)右移運算、來得到所述縮放因子;以及,將所述縮放因子調(diào)整成被包括在特定范圍內(nèi)。
[0071]根據(jù)本發(fā)明的一個方面,提供了一種視頻編碼裝置,包括:預(yù)測塊產(chǎn)生單元,通過對當(dāng)前塊執(zhí)行幀間預(yù)測,來產(chǎn)生預(yù)測塊,其中,所述預(yù)測塊產(chǎn)生單元基于所述當(dāng)前塊的參考畫面、以及用于所述當(dāng)前塊的幀間預(yù)測的參考塊的參考畫面的畫面次序計數(shù)(POC)值,來確定是否對所述參考塊的運動向量進行縮放,并且當(dāng)確定執(zhí)行對所述參考塊的運動向量的縮放時,基于畫面之間的POC差來計算第一值和第二值,通過對所述第一值的絕對值執(zhí)行I個二進制數(shù)位的算術(shù)右移來計算偏移值、并使用所述偏移值來計算所述第一值的反比例值,基于所述第一值的反比例值和所述第二值來計算縮放因子,由此對所述參考塊的運動向量進行縮放,其中,所述第一值是包括所述參考塊的畫面、與所述參考塊所參考的參考畫面之間的POC差,所述第二值是當(dāng)前畫面、與所述當(dāng)前塊所參考的參考畫面之間的POC差。
[0072]在推導(dǎo)空間運動向量時,所述預(yù)測塊產(chǎn)生單元僅在所述當(dāng)前塊的參考畫面與用于所述當(dāng)前塊的幀間預(yù)測的參考塊的參考畫面不相同的情況下,才確定對所述參考塊的運動向量進行縮放。
[0073]在推導(dǎo)時間運動向量時,所述預(yù)測塊產(chǎn)生單元僅在所述當(dāng)前畫面與所述當(dāng)塊的參考畫面之間的POC差不同于包括所述參考塊的畫面與所述參考塊的參考畫面之間的POC差的情況下,才確定對所述參考塊的運動向量進行縮放。
[0074]在推導(dǎo)空間或時間運動向量時使用的參考塊或者時間合并候選,在推導(dǎo)所述空間運動向量時,包括鄰近所述當(dāng)前塊的左側(cè)的最下邊的塊、鄰近左邊最下邊的塊的下側(cè)的塊、所述當(dāng)前塊的左上角的塊、所述當(dāng)前塊的右上角的塊、以及鄰近所述當(dāng)前塊的上邊最右邊的塊之中的至少一個,并且在推導(dǎo)所述時間運動向量以及推導(dǎo)時間合并候選時,包括位于在所述當(dāng)前畫面的并置畫面中、與所述當(dāng)前塊在空間上相對應(yīng)的并置塊之內(nèi)以及之外的塊之中的至少一個。
[0075]在推導(dǎo)空間運動向量時,所述第一值是所述當(dāng)前畫面與所述參考塊所參考的參考畫面之間的POC差,而所述第二值是所述當(dāng)前畫面與所述當(dāng)前塊所參考的參考畫面之間的POC差,在推導(dǎo)時間運動向量時以及在推導(dǎo)時間合并候選時,所述第一值是并置畫面、與在所述并置畫面中并置塊和所述當(dāng)前塊所參考的參考畫面之間的POC差,而所述第二值是當(dāng)前塊畫面、與所述當(dāng)前塊所參考的參考畫面之間的POC差。
[0076]所述預(yù)測塊產(chǎn)生單元通過基于所述第一值的反比例值與所述第二值的乘法、執(zhí)行加法運算和算術(shù)右移運算、來得到所述縮放因子,并且將所述縮放因子調(diào)整成被包括在特定范圍內(nèi)。
[0077]根據(jù)本發(fā)明的一個方面,提供了一種視頻編碼方法,包括:通過對當(dāng)前塊執(zhí)行幀間預(yù)測,來產(chǎn)生預(yù)測塊;以及對作為原始畫面與所述預(yù)測塊之間的差的、殘差塊進行編碼,其中,所述產(chǎn)生預(yù)測塊的步驟包括:基于所述當(dāng)前塊的參考畫面、以及用于所述當(dāng)前塊的幀間預(yù)測的參考塊的參考畫面的畫面次序計數(shù)(POC)值,來確定是否執(zhí)行縮放;以及,當(dāng)確定執(zhí)行對所述參考塊的運動向量的縮放時,縮放并使用所述參考塊的運動向量,用于當(dāng)前塊的預(yù)測,并且所述縮放步驟包括:基于畫面之間的POC差來計算第一值和第二值;通過對所述第一值的絕對值執(zhí)行I個二進制數(shù)位的算術(shù)右移來計算偏移值,并且使用所述偏移值來計算所述第一值的反比例值;以及,基于所述第一值的反比例值和所述第二值來計算縮放因子,其中,所述第一值是包括所述參考塊的畫面、與所述參考塊參考的參考畫面之間的POC差,而所述第二值是當(dāng)前畫面、與所述當(dāng)前塊參考的參考畫面之間的POC差。
[0078]在推導(dǎo)空間運動向量時,所述確定是否執(zhí)行縮放的步驟僅在所述當(dāng)前塊的參考畫面與用于所述當(dāng)前塊的幀間預(yù)測的所述參考塊的參考畫面不相同的情況下,才確定對所述參考塊的運動向量進行縮放。
[0079]在推導(dǎo)時間運動向量時,所述確定是否執(zhí)行縮放的步驟僅在所述當(dāng)前畫面與所述當(dāng)前塊的參考畫面之間的POC差不同于包括所述參考塊的畫面與所述參考塊的參考畫面之間的POC差的情況下,才確定對所述參考塊的運動向量進行縮放。
[0080]在推導(dǎo)空間或時間運動向量時使用的參考塊、或者時間合并候選,在推導(dǎo)所述空間運動向量時,包括鄰近所述當(dāng)前塊的左側(cè)的最下邊的塊、鄰近左邊最下邊的塊的下側(cè)的塊、所述當(dāng)前塊的左上角的塊、所述當(dāng)前塊的右上角的塊、以及鄰近所述當(dāng)前塊的上邊最右邊的塊之中的至少一個,在推導(dǎo)所述時間運動向量時以及在推導(dǎo)所述時間合并候選時,包括位于所述當(dāng)前畫面的并置畫面中、與所述當(dāng)前塊在空間上相對應(yīng)的并置塊之內(nèi)和之外的塊之中的至少一個。
[0081]在推導(dǎo)空間運動向量時,所述第一值是所述當(dāng)前畫面與所述參考塊所參考的參考畫面之間的POC差,而所述第二值是所述當(dāng)前畫面與所述當(dāng)前塊所參考的參考畫面之間的POC差,并且在推導(dǎo)時間運動向量時以及在推導(dǎo)時間合并候選時,所述第一值是并置畫面、與在所述并置畫面中并置塊和所述當(dāng)前塊所參考的參考畫面之間的POC差,而所述第二值是當(dāng)前塊畫面與所述當(dāng)前塊所參考的參考畫面之間的POC差。
[0082]所述計算縮放因子的步驟包括:通過基于所述第一值的反比例值與所述第二值的乘法、執(zhí)行加法運算和算術(shù)右移運算、來得到所述縮放因子;以及,將所述縮放因子調(diào)整成被包括在特定范圍內(nèi)。
[0083]有益效果
[0084]根據(jù)本發(fā)明的圖像編碼方法可以減少計算復(fù)雜度并提高圖像編碼/解碼效率。
[0085]根據(jù)本發(fā)明的圖像解碼方法可以減少計算復(fù)雜度并提高圖像編碼/解碼效率
[0086]根據(jù)本發(fā)明的預(yù)測塊產(chǎn)生方法可以減少計算復(fù)雜度并提高圖像編碼/解碼效率。
[0087]根據(jù)本發(fā)明的幀內(nèi)預(yù)測方法可以減少計算復(fù)雜度并提高圖像編碼/解碼效率。
[0088]根據(jù)本發(fā)明的幀間預(yù)測方法可以減少計算復(fù)雜度并提高圖像編碼/解碼效率。
【專利附圖】
【附圖說明】
[0089]圖1是例示根據(jù)本發(fā)明的實施例的圖像編碼裝置的配置的框圖。
[0090]圖2是例示根據(jù)本發(fā)明的實施例的圖像解碼裝置的配置的框圖。
[0091]圖3是例示根據(jù)本發(fā)明的實施例的圖像編碼/解碼方法中的產(chǎn)生當(dāng)前塊的最終預(yù)測值的過程的流程圖。
[0092]圖4是示意性地例示根據(jù)本發(fā)明的實施例生成用于幀內(nèi)預(yù)測的參考像素的過程的流程圖。
[0093]圖5是示意性地例示根據(jù)本發(fā)明的實施例的生成用于幀內(nèi)預(yù)測的參考畫面的過程中的、不可用像素的替換的視圖。
[0094]圖6是示意性地例示取決于預(yù)測目標(biāo)像素的位置以及當(dāng)前塊的編碼信息、來確定是否校正幀內(nèi)預(yù)測值的過程的流程圖。
[0095]圖7a是示意性地例示在垂直預(yù)測模式下將當(dāng)前塊中的像素的第一預(yù)測值用作最終預(yù)測值的實施例的視圖。
[0096]圖7b是示意性地例示在水平預(yù)測模式下將當(dāng)前塊中的像素的第一預(yù)測值用作最終預(yù)測值的實施例的視圖。
[0097]圖8是示意性地例示對當(dāng)前塊中的像素的第一預(yù)測值執(zhí)行校正、以生成最終預(yù)測值的實施例的流程圖。
[0098]圖9a是示意性地例示在使用垂直模式時通過對第一預(yù)測值執(zhí)行校正、來生成最終預(yù)測值的實施例的視圖。
[0099]圖9b是示意性地例示在使用水平模式時通過對第一預(yù)測值執(zhí)行校正、來生成最終預(yù)測值的實施例的視圖。
[0100]圖10是示意性地例示根據(jù)本發(fā)明的另一個實施例的圖像編碼/解碼方法中的執(zhí)行縮放的過程的流程圖。
[0101]圖1la是例示當(dāng)前畫面與空間參考塊的當(dāng)前畫面之間的POC差、以及當(dāng)前畫面與當(dāng)前塊的參考畫面之間的POC差的視圖。
[0102]圖1lb是例示并置塊的參考畫面與并置畫面之間的POC差、以及當(dāng)前畫面與當(dāng)前塊的參考畫面之間的POC差的視圖。
[0103]圖12是示意性地例示基于畫面之間的POC差、來計算運動向量的縮放因子的過程的流程圖。
[0104]圖13是示意性地例示基于tb以及td的反比例值、來計算最終縮放因子的配置的框圖。
【具體實施方式】
[0105]下面將參考附圖詳細地描述本發(fā)明的實施例。在說明實施例的過程中,當(dāng)確定使得本發(fā)明的要點不清楚時,將省略關(guān)于眾所周知的配置或功能的詳細說明。
[0106]當(dāng)組件被“連接到”或“耦合到”另一組件時,該組件可以直接地連接或耦合到素數(shù)另一組件組件,或者其他組件也可以介于其間。另外,當(dāng)“包括”特定組件時,并不排除其他組件,而是可以包括其他組件,并且這種配置也包括在本發(fā)明的范圍內(nèi)。
[0107]術(shù)語“第一”和“第二”可以用于描述各個組件,但是組件并不受其限制。這些術(shù)語僅用于將一個組件與另一個區(qū)分開。例如,也可以將第一組件稱為第二組件,同樣地,可以將第二組件稱為第一組件。
[0108]獨立示出實施例中的構(gòu)成部分以表示不同的特征,但是這并不意味每個構(gòu)成部分均由單獨的硬件單元或一個軟件構(gòu)成單元形成。即,為了便于說明,將每個構(gòu)成部分與其他部分分開??梢詫⒅辽賰蓚€構(gòu)成部分結(jié)合成單一的構(gòu)成部分,或者可以將一個構(gòu)成部分劃分成可以分別執(zhí)行功能的多個構(gòu)成部分。覆蓋構(gòu)成部分的結(jié)合或者其分開的實施例可以包括在本發(fā)明的范圍內(nèi),而不脫離本發(fā)明的要點。
[0109]某些構(gòu)成部分不是用于執(zhí)行本發(fā)明的必需功能的基本部分,而是用于提高性能的可選的構(gòu)成部分。可以僅通過對于實現(xiàn)本發(fā)明的要點所必需的構(gòu)成部分來實現(xiàn)本發(fā)明,或者僅包括基本的構(gòu)成部分并排除用于提高性能的可選的構(gòu)成部分的這種配置也可以包括在本發(fā)明的范圍內(nèi)。
[0110]圖1是例示根據(jù)本發(fā)明的實施例的圖像編碼裝置的配置的框圖。
[0111]參考圖1,多視圖視頻圖像解碼裝置100包括運動預(yù)測單元111、運動補償單元112、幀內(nèi)預(yù)測單元120、開關(guān)115、減法器125、變換單元130、量化單元140、熵編碼單元150、逆量化單元160、逆變換單元170、加法器175、濾波器單元180以及參考圖像緩沖器190。此處,可以使用術(shù)語“圖像”以與下述的術(shù)語“畫面”具有相同的含義。
[0112]圖像編碼裝置100可以在幀內(nèi)模式或幀間模式下對輸入圖像執(zhí)行編碼,并且可以輸出比特流。巾貞內(nèi)預(yù)測是指屏內(nèi)預(yù)測(intra-screen predict1n),巾貞間預(yù)測是指屏間預(yù)測(inter-screen predict1n)。在巾貞內(nèi)模式下,開關(guān)115可以換至巾貞內(nèi),在巾貞間模式下,開關(guān)115可以換至幀間。圖像編碼裝置100可以對輸入圖像的輸入塊產(chǎn)生預(yù)測塊,并然后可以對輸入塊與預(yù)測塊之間的差值進行編碼。
[0113]在幀內(nèi)模式下,幀內(nèi)預(yù)測單元120可以通過使用鄰近當(dāng)前塊的已經(jīng)編碼的塊的像素值執(zhí)行空間預(yù)測,來產(chǎn)生預(yù)測塊。
[0114]在幀間模式下,運動預(yù)測單元111可以通過計算出與在運動預(yù)測期間存儲在參考圖像緩沖器190中的參考圖像的輸入塊最匹配的區(qū)域,來獲得運動向量。運動補償單元112可以通過使用運動向量執(zhí)行運動補償,來產(chǎn)生預(yù)測塊。此處,運動向量是用于幀間預(yù)測的2D (二維)向量,并且可以表示當(dāng)前編碼/解碼目標(biāo)圖像與參考圖像之間的偏移。
[0115]減法器125可以基于輸入塊與產(chǎn)生的預(yù)測塊之間的差值,來產(chǎn)生殘差塊。變換單元130可以對殘差塊執(zhí)行變換,以輸出變換系數(shù)。量化單元140可以基于量化參數(shù)對輸入的變換系數(shù)執(zhí)行量化,以輸出量化后的系數(shù)。
[0116]熵編碼單元150可以基于在編碼過程期間生成的編碼參數(shù)值或由量化單元140生成的值,來執(zhí)行熵編碼,從而輸出比特流。
[0117]在應(yīng)用熵編碼時,對具有較高出現(xiàn)概率的碼元分配較少數(shù)量的比特,而對具有較低出現(xiàn)概率的碼元分配較多數(shù)量的比特,使得可以減少編碼目標(biāo)碼元的比特流的大小。相應(yīng)地,可以通過熵編碼來提高圖像編碼的壓縮性能。熵編碼單元150可以采用諸如指數(shù)哥倫布(exponential golomb)、CAVLC (上下文自適應(yīng)可變長度編碼)、CABAC (上下文自適應(yīng)二進制算術(shù)編碼)這樣的編碼方案,用于熵編碼的目的。
[0118]因為在圖1中示出的圖像編碼裝置進行幀間預(yù)測編碼,即,幀間預(yù)測編碼(inter-frame predict1n encoding),所以需要對當(dāng)前編碼的圖像進行解碼,并然后存儲以用作參考圖像。相應(yīng)地,量化后的系數(shù)在逆量化單元160中進行逆量化并在逆變換單元170中進行逆變換。通過加法器175將經(jīng)逆量化、逆變換的系數(shù)添加到預(yù)測塊,由此生成重構(gòu)塊。
[0119]重構(gòu)塊經(jīng)過濾波器單元180,該濾波器單元180可以對重構(gòu)塊或重構(gòu)畫面應(yīng)用解塊濾波器、SAO(采樣自適應(yīng)偏移)以及ALF(自適應(yīng)環(huán)路濾波器)之中的至少一個或多個。也可以將濾波器單元180稱為自適應(yīng)環(huán)內(nèi)濾波器(adaptive in-loop filter)。解塊濾波器可以去除出現(xiàn)在塊之間的邊界處的失真。SAO可以將適當(dāng)?shù)钠浦堤砑拥较袼刂?,以便對編碼錯誤進行補償。ALF可以基于通過將重構(gòu)圖像與原始圖像進行比較而獲得的值,來執(zhí)行濾波??梢詫⒔?jīng)過濾波器單元180的重構(gòu)塊存儲在參考圖像緩沖器190中。
[0120]圖2是例示根據(jù)本發(fā)明的實施例的圖像解碼裝置的配置的框圖。
[0121]參考圖2,圖像解碼裝置200包括熵解碼單元210、逆量化單元220、逆變換單元230、幀內(nèi)預(yù)測單元240、運動補償單元250、加法器255、濾波器單元260以及參考畫面緩沖器 270。
[0122]圖像解碼裝置200可以接收從編碼器輸出的比特流,在幀內(nèi)模式下或幀間模式下執(zhí)行解碼,并且輸出重構(gòu)的圖像(即重構(gòu)圖像)。在幀內(nèi)模式下,開關(guān)可以換至幀內(nèi),而在幀間模式下,開關(guān)可以換至幀間。圖像解碼裝置200可以從接收到的比特流中獲得重構(gòu)的殘差塊,產(chǎn)生預(yù)測塊,并且將重構(gòu)的殘差塊添加到預(yù)測塊,由此產(chǎn)生重構(gòu)的塊(即重構(gòu)塊)。
[0123]熵解碼單元210可以根據(jù)概率分布對輸入比特流進行熵解碼,由此產(chǎn)生包括量化后的系數(shù)類型的碼元在內(nèi)的碼元。熵解碼方案類似于上述的熵編碼方案。
[0124]當(dāng)應(yīng)用熵解碼方案時,對具有較高出現(xiàn)概率的碼元分配較少數(shù)量的比特,而對具有較低出現(xiàn)概率的碼元分配較多數(shù)量的比特,使得可以減少每個碼元的比特流的大小。相應(yīng)地,可以通過熵解碼方案來提高圖像解碼的壓縮性能。
[0125]量化后的系數(shù)可以在逆量化單元220中進行逆量化并且在逆變換單元230中進行逆變換。作為量化后的系數(shù)的逆量化/逆變換的結(jié)果,可以產(chǎn)生重構(gòu)的殘差塊。
[0126]在幀內(nèi)模式下,幀內(nèi)預(yù)測單元240可以通過使用鄰近當(dāng)前塊的已經(jīng)編碼/解碼的塊的像素值執(zhí)行空間預(yù)測,來產(chǎn)生預(yù)測塊。在幀間模式下,運動補償單元250可以通過使用存儲在參考畫面緩沖器270中的參考圖像和運動向量執(zhí)行運動補償,來產(chǎn)生預(yù)測塊。
[0127]通過加法器255將重構(gòu)的殘差塊和預(yù)測塊彼此相加,并且結(jié)果塊可以經(jīng)過濾波器單元260。濾波器單元260可以對重構(gòu)塊或重構(gòu)畫面應(yīng)用解塊濾波器、SAO以及ALF之中的至少一個或多個。濾波器單元260可以輸出重構(gòu)的圖像(即,重構(gòu)圖像)。重構(gòu)圖像可以存儲在參考畫面緩沖器270中,并且可以用于幀間預(yù)測。
[0128]此后,“單位”表示進行圖像編碼和解碼的基礎(chǔ)。在圖像編碼和解碼時,用于編碼或解碼的單位是為了編碼或解碼的目的而從圖像中分割出的單位,因此,也可以將單位稱為塊、編碼單位(CU)、預(yù)測單位(TO)、變換單位(TU)等。另外,還可以將單位標(biāo)注為在下面說明的某些實施例中的塊??梢詫⒁粋€單位進一步地分割成具有更小的大小的子單位。另夕卜,在本文中使用的“當(dāng)前塊”可以是指作為幀內(nèi)預(yù)測或運動補償?shù)哪繕?biāo)的塊。在執(zhí)行幀內(nèi)預(yù)測的情況下,當(dāng)前塊可以是指預(yù)測單位、預(yù)測塊、變換單位、和變換塊之中的任何一種,而在執(zhí)行運動補償?shù)那闆r下,當(dāng)前塊可以是指預(yù)測單位和預(yù)測塊之一。
[0129]圖3是例示根據(jù)本發(fā)明的實施例的圖像編碼/解碼方法中的生成當(dāng)前塊的最終預(yù)測值的過程的流程圖。
[0130]參考圖3,根據(jù)本發(fā)明的實施例的圖像編碼/解碼裝置基于參考像素生成最終預(yù)測值,以產(chǎn)生關(guān)于當(dāng)前塊的預(yù)測塊。為此目的,圖像編碼/解碼裝置獲得要用于幀內(nèi)預(yù)測的參考像素的像素值(S310)。可以將鄰近當(dāng)前塊的像素中的已重構(gòu)的像素用為參考像素。如果鄰近像素是不可用的,則可以將不可用的像素的像素值替換為對應(yīng)的參考像素的值。在獲得參考像素之后,獲得當(dāng)前塊的編碼信息以及預(yù)測目標(biāo)像素的塊內(nèi)(in-block)位置信息(S320)。然后,基于編碼信息和預(yù)測目標(biāo)像素的塊內(nèi)位置信息,來確定是否需要通過參考像素值校正第一預(yù)測值(S330)。此時,可以基于幀內(nèi)(幀內(nèi))預(yù)測模式信息、輝度信號信息、色差信號信息以及塊大小之中的至少一項,來改變該確定。
[0131]在確定不需要校正的情況下,圖像編碼/解碼裝置可以直接利用第一預(yù)測值作為當(dāng)前塊的最終預(yù)測值(S340)。相反,如果確定需要校正,則圖像編碼/解碼裝置可以首先獲得第一預(yù)測值和校正值,并且可以將第一預(yù)測值添加到校正值,從而生成最終預(yù)測值(S350)。此時,與校正值的計算相關(guān)聯(lián)的計算的復(fù)雜度一般非常高,因此為了降低這種復(fù)雜度,可以考慮進行算術(shù)右移運算。算術(shù)右移運算(“>>”)的特征在于,作為運算目標(biāo)的值的符號不變,并且對比于給出四舍五入后接近于O的結(jié)果的普通整數(shù)除法運算(“/”),算術(shù)右移運算留下四舍五入后達到負(fù)無窮大的結(jié)果。
[0132]圖4是示意性地例示根據(jù)本發(fā)明的實施例的生成要用于幀內(nèi)預(yù)測的參考像素的過程的流程圖。
[0133]參考圖4,編碼/解碼裝置基于當(dāng)前塊的鄰近塊的像素信息,來確定是否可以使用鄰近塊的像素值(S410)。此時,鄰近塊的像素值不可以使用的情況可能是以下情況之一:i)當(dāng)鄰近塊的像素在畫面邊界之外時;ii)當(dāng)鄰近塊的像素在片段(slice)/拼接塊(tile)邊界之外時;以及iii)當(dāng)CIP(約束_巾貞內(nèi)_預(yù)測_標(biāo)記(constrained_intra_pred_flag))為I時,即,在當(dāng)前塊是應(yīng)用CIP的塊、并且鄰近塊是通過幀間預(yù)測進行編碼的塊時。如此,在不可以將鄰近塊的像素值用作參考像素值的情況下,可以將對應(yīng)的參考像素值替換為另一鄰近塊的可用像素值或特定默認(rèn)值(S420)。
[0134]圖5是示意性地例示根據(jù)本發(fā)明的實施例在生成要用于幀內(nèi)預(yù)測的參考畫面的過程中、替換不可用的像素的視圖。
[0135]參考圖5,可以使用當(dāng)前塊500的鄰近塊來獲得參考像素值。此時,作為要用于獲得參考像素值的鄰近塊,可能存在鄰近當(dāng)前塊500的鄰近塊、在當(dāng)前塊500的高度上鄰近左邊且最下邊的鄰近塊的下側(cè)的鄰近塊、以及在當(dāng)前塊500的寬度上鄰近上邊且最右邊的鄰近塊的右側(cè)的鄰近塊。此時,在鄰近塊的像素中,可僅使用位于鄰近當(dāng)前塊500的像素作為參考像素。
[0136]此時,在鄰近塊不能用于獲得參考像素值的情況下,可以將其替換為另一鄰近塊的可用像素值。在圖5中,在當(dāng)前塊500的鄰近塊中,帶陰影的是可用塊,而其他是不可用的塊。
[0137]根據(jù)本發(fā)明的實施例,圖像編碼/解碼裝置可以確定定位在鄰近當(dāng)前塊500的像素是否可用,并且可以存儲確定的結(jié)果。例如,在圖5中,裝置可以確定帶陰影的塊中的像素是可用像素,而不帶陰影的塊中的像素是不可用的,并且可以存儲結(jié)果。此時,在存在一個或多個不可用像素的情況下,可以將不可用像素值替換為可用像素值。
[0138]從作為開始點的位置A處的像素520移位至在位置B處的像素522,可以將不可用的像素替換為恰好在該不可用的像素之前出現(xiàn)的可用的像素。此時,在開始點處的像素520不可用的情況下,在從位置A移位至位置B時首先出現(xiàn)的可用像素512的像素值可被替換為開始點的像素520值。在鄰近塊510、530和532中,鄰近塊510是可用的,鄰近塊530和532是不可用的。相應(yīng)地,在開始點處的像素520是不可用的像素。在開始點處的像素520可以被替換為在從位置A去往位置B時最先出現(xiàn)的可用像素512的像素值,鄰近塊530的像素可以被替換為像素512的像素值,并且鄰近塊532的像素可以被替換為作為恰好在其之前出現(xiàn)的可用像素的像素514的像素值。這樣,可以將不可用的像素替換為可用的像素,直至到達位置B為止。
[0139]回到圖4,在確定鄰近塊像素是否可用的結(jié)果示出鄰近塊的像素值可用的情況下,可以按照原樣將鄰近塊的像素值用作參考像素值(S422)。
[0140]圖像編碼/解碼裝置可以對獲得的參考像素值執(zhí)行平滑濾波(S430)。此時,可以根據(jù)目標(biāo)塊的大小和/或幀內(nèi)預(yù)測模式,以不同的方式來進行平滑濾波。
[0141]圖6是示意性地例示取決于預(yù)測目標(biāo)像素的位置以及當(dāng)前塊的編碼信息、來確定是否校正幀內(nèi)預(yù)測值的過程的流程圖。
[0142]參考圖6,圖像編碼/解碼裝置可以基于預(yù)測目標(biāo)像素的塊內(nèi)位置和當(dāng)前塊編碼信息,來確定是否執(zhí)行校正。如上所述,用于確定是否執(zhí)行校正的編碼信息可以包括幀內(nèi)預(yù)測模式信息、輝度信號信息、色差信號信息以及塊大小之中的任何一項。
[0143]為了確定是否執(zhí)行校正,圖像編碼/解碼裝置首先確定當(dāng)前塊的幀內(nèi)預(yù)測模式是否為垂直預(yù)測模式(S610)。在垂直預(yù)測模式下,確定預(yù)測目標(biāo)像素是否是位于當(dāng)前塊的左邊界處的像素(S612)。如果確定為位于左邊界處的像素,則確定執(zhí)行校正(S632)。在幀內(nèi)預(yù)測模式是垂直預(yù)測模式但像素不位于左邊界的情況下,可以不執(zhí)行校正(S630)??梢詤⒖紝⒃谙旅嬲f明的內(nèi)容,來進行關(guān)于垂直預(yù)測模式和水平預(yù)測模式的確定。在確定水平預(yù)測模式時,可以嚴(yán)格地確定預(yù)測方向就是水平方向,但是可以應(yīng)用更寬松的條件,來確定預(yù)測方向是否接近于水平方向。作為使用緩和的條件的水平預(yù)測模式確定的例子,如果在水平預(yù)測模式確定時、目標(biāo)預(yù)測模式的預(yù)測方向是在水平方向的30度以內(nèi),則可以將其確定為水平預(yù)測模式。此時,作為確定的參考的度數(shù)不必限制于30度,可以使用其他角度作為參考。而且,在確定垂直預(yù)測模式時,如同在確定水平預(yù)測模式中一樣,也可以使用更平滑的條件來確定預(yù)測方向是否接近于垂直方向。盡管在隨后的實施例中嚴(yán)格地確定預(yù)測方向是否是水平和垂直方向,但是本發(fā)明并不限于此,并且上述基于緩和的條件進行關(guān)于水平和/或垂直方向的確定的示例也屬于本發(fā)明的范圍。
[0144]然后,確定是否為水平預(yù)測模式(S620)?;旧?,確定垂直預(yù)測模式和水平預(yù)測模式的步驟(S610和S620)不必彼此相關(guān)聯(lián),并且可以改變執(zhí)行步驟S610和S620的次序。在水平預(yù)測模式的情況下,確定預(yù)測目標(biāo)像素是否為位于當(dāng)前塊的上邊界處的像素(S622)。如果確定預(yù)測目標(biāo)像素是位于上邊界的像素,則確定執(zhí)行校正(S632)。在幀內(nèi)預(yù)測模式是水平預(yù)測模式、但像素未位于上邊界的情況下,可以不執(zhí)行校正(S630)。在幀內(nèi)預(yù)測模式不是垂直或水平預(yù)測模式的情況下,可以不進行關(guān)于當(dāng)前塊的預(yù)測值的校正(S630)。
[0145]根據(jù)本發(fā)明的實施例,可以考慮如上所述的幀內(nèi)預(yù)測模式和塊大小之中的至少一項,并僅針對輝度(亮度)信號而不針對色差(色度)信號,來對當(dāng)前塊的預(yù)測值進行校正。
[0146]根據(jù)本發(fā)明的另一個實施例,可以對大小為32X32或以下的塊進行預(yù)測值校正。換言之,可以對大小為4X4、8X8以及16X16的塊執(zhí)行預(yù)測值校正。
[0147]根據(jù)本發(fā)明的又一個實施例,在幀間預(yù)測模式是DC模式的情況下,可以對位于當(dāng)前塊的左上邊界處的像素進行校正。
[0148]圖7a是示意性地例示在垂直預(yù)測模式下將當(dāng)前塊中的像素的第一預(yù)測值用作最終預(yù)測值的實施例的圖,而圖7b是示意性地例示在水平預(yù)測模式下將當(dāng)前塊中的像素的第一預(yù)測值用作最終預(yù)測值的實施例的圖。
[0149]參考圖7a和7b,圖像編碼/解碼裝置獲得第一預(yù)測值,然后當(dāng)在步驟S330中取決于幀預(yù)測模式、輝度信號、色差信號信息和塊大小之中的至少一項確定出不對預(yù)測值執(zhí)行校正時,確定第一預(yù)測值作為當(dāng)前塊710的最終預(yù)測值,而不進行校正。
[0150]此時,可以基于參考像素值獲得第一預(yù)測值(predl[x,y])。將在下面說明的
p[x, y]表示在位置[X,y]處的參考像素值。此后,在實施例中,X = -1、......、BlockWidth-l,
y = -1、......、BlockHeight-1。此處,BlockWidth 是指當(dāng)前塊的寬度,而 BlockHeight 是指當(dāng)前塊的高度。在結(jié)合圖7a和7b說明的實施例中,將4X4塊描述為示例,并且在這種情況下,參考像素的范圍可以是X =-1、……、3并且y = -l、……、3,當(dāng)前塊的像素的范圍可以是x = 0、......、3并且y = 0、......、3。
[0151]參考圖7a,在垂直方向預(yù)測的情況下,可以將第一預(yù)測值(predl[x,y])確定為鄰近當(dāng)前塊的上參考像素的值(722,724,726,728)。
[0152][等式I]
[0153]predl [x, y] = p [x, -1] (x = 0、......、BlockWidth_l ;y = 0、......、BlockHeight_l)
[0154]假設(shè)當(dāng)前塊的左上側(cè)定位在[0,O],則使用相對于在當(dāng)前塊710的左邊界的像素而定位在[0,-1]處的像素722的像素值、相對于在從左側(cè)開始的第二列的像素而定位在[-1,-1]處的像素724的像素值、相對于在從左側(cè)開始的第三列的像素而定位在[2,-1]處的像素726的像素值、以及相對于在右邊界的像素而定位在[3,-1]處的像素728的像素值,來確定第一預(yù)測值(predl [X,y])。
[0155]圖像編碼/解碼裝置可以使用第一預(yù)測值(predl[X,y])作為最終預(yù)測值(predS[x, y])。
[0156][等式2]
[0157]predS [x, y] = pred[x, y] (x = 0、......> Blockffidth-1 ;y = 0、......、
BlockHeight-1)
[0158]此處,predS[x, y]是指最終預(yù)測值。
[0159]參考圖7b,在水平方向預(yù)測的情況下,可以將第一預(yù)測值(predl [X,y])確定為鄰近當(dāng)前塊的左參考像素(732,734,736,738)的值。
[0160][等式3]
[0161]predl [x, y] = p [-1, y] (x = 0、......、BlockWidth_l ;y = 0、......、BlockHeight_l)
[0162]使用相對于在上邊界的像素而定位在[_1,0]處的像素732的像素值、相對于在從上側(cè)開始的第二行的像素而定位在[-1,I]處的像素734的像素值、相對于在從上側(cè)開始的第三行的像素而定位在[-1,2]處的像素736的像素值、以及相對于下邊界而定位在[-1,3]處的像素738的像素值,來確定第一預(yù)測值(predl [X,y])。正如在垂直方向預(yù)測中,甚至在水平方向預(yù)測中,可以將第一預(yù)測值(predl[x,y])用作最終預(yù)測值(predS[x,y])。
[0163]圖8是示意性地例示其中對當(dāng)前塊中的像素的第一預(yù)測值執(zhí)行校正以生成最終預(yù)測值的實施例的流程圖。
[0164]參考圖8,圖像編碼/解碼裝置通過如下方案獲得第一預(yù)測值(predl [x,y])(S810):如果在步驟330中根據(jù)幀內(nèi)預(yù)測模式、輝度信息、色差信號信息以及塊大小之中的至少一項確定出要對預(yù)測值執(zhí)行校正,則利用上述參考像素值(參考圖7a和7b)。
[0165]然后,裝置確定預(yù)測目標(biāo)像素的第一預(yù)測值(predl[X,y])的初始校正值(d[x, y]) (S820)??梢匀Q于塊中的預(yù)測目標(biāo)像素的水平或垂直位置,來確定初始校正值(d [X,y])。換言之,在垂直方向預(yù)測的情況下,可以根據(jù)塊中的預(yù)測目標(biāo)像素的垂直方向的位置,來確定初始校正值(d[x,y]),而在水平方向預(yù)測的情況下,可以根據(jù)塊中的預(yù)測目標(biāo)像素的水平方向的位置來確定初始校正值(d[x,y])。
[0166][等式4]
[0167]d[x,y] = d[y] = p[_1,y]_p[_1,_1](在垂直方向預(yù)測模式的情況下)
[0168]d[x,y] = d[x] = p[x,-1]_p[_1,-1](在水平方向預(yù)測模式的情況下)
[0169]在等式4中,可以關(guān)于方向改變差值,如等式4’。
[0170][等式4’]
[0171]d[x,y] = d[y] = p[_l,-l]-p[_l, y](在垂直方向預(yù)測模式的情況下)
[0172]d[x,y] = d[x] = p[_1,-1]_p[x,-1](在水平方向預(yù)測模式的情況下)
[0173]接下來,基于初始校正值(d[x, y])生成最終校正值(delta[x, y]) (S830)。此時,通過示出相對較低的計算復(fù)雜度的算術(shù)右移,而不執(zhí)行具有較高的計算復(fù)雜度的除法或乘法,來生成最終校正值(delta[x,y]),由此可以提高計算效率。換言之,通過對初始校正值(d[x,y])的二互補整數(shù)表示進行M個二進制數(shù)位的算術(shù)右移,來獲得最終校正值(delta[X,y])。此時,經(jīng)算術(shù)右移的最終校正值(delta[x,y])的MSB (最高有效位)與初始校正值(d[x,y])的MSB相同,并且最終校正值(delta[x,y])的特征在于在接近負(fù)無窮大的方向上被舍入。
[0174][等式5]
[0175]delta[x, y] = d[x, y]>>M
[0176]此時,優(yōu)選地,二進制數(shù)位M為I或2。
[0177]最后,將第一預(yù)測值(predl[x,y])添加到最終校正值(delta[x, y]),由此生成最終預(yù)測值(predS [X,y])。
[0178][等式6]
[0179]predS[x, y] = CliplY(predl [x, y]+delta[x, y])
X ; Z <x
[0180]此處,CliplY(x)= Clip3(0, (l<<BitDepthY)-1, x), C/ip3(x,y,z)= y ; z > r ?
[z ;否則并且BitD印thY表示輝度信號的比特深度。
[0181]根據(jù)本發(fā)明的另一個實施例,可以使用多種方案來產(chǎn)生初始校正值(d[x,y]),并且使用該初始值(d[x,y])生成最終校正值(delta[x,y])。首先,根據(jù)第一實施例,可以在對初始校正值執(zhí)行條件分析之后,通過算法右移運算來生成最終校正值(delta[x,y])。根據(jù)第一實施例,可以使用下面的等式來計算校正值,使得校正值被舍入成接近于O。
[0182][等式7]
[0183]delta[x, y] = (d[x, y] + (d[x, y]<0 ? 2X:0)) >> (x+1)(在垂直方向預(yù)測模式的情況下)
[0184]delta[x, y] = (d[x, y] + (d[x, y]<0 ? 2y:0)) >> (y+1)(在水平方向預(yù)測模式的情況下)
[0185]另外,根據(jù)第二實施例,可以使用下面的等式來計算校正值,使得校正值被舍入成遠離O的整數(shù)。
[0186][等式8]
[0187]delta[x, y] = (d[x, y] + (d[x, y]<0 ? 1+2X:1)) >> (x+1)(在垂直方向預(yù)測模式的情況下)
[0188]delta[x, y] = (d[x, y] + (d[x, y]<0 ? l+2y:1)) >> (y+1)(在水平方向預(yù)測模式的情況下)
[0189]另外,根據(jù)第三實施例,可以使用下面的等式來計算校正值,使得校正值被舍入成接近于負(fù)無窮大的整數(shù)。此時,可以僅對使用垂直方向預(yù)測模式的當(dāng)前塊的左邊界、以及僅對使用水平方向預(yù)測模式的當(dāng)前塊的上邊界應(yīng)用等式9,并且在這種情況下,等式9與M為I時的等式5相同。
[0190][等式9]
[0191]delta[x,y] = d[x, y] >> (x+1)(在垂直方向預(yù)測模式的情況下)
[0192]delta[x,y] = d[x, y] >> (y+1)(在水平方向預(yù)測模式的情況下)
[0193]根據(jù)本發(fā)明的第四實施例,可以產(chǎn)生初始校正值(d [X,y]),然后,基于初始校正值(d[x, y]),可以使用Sign運算和Abs運算來計算最終校正值(delta[x, y])。在這種情況下,可以通過將針對初始校正值執(zhí)行Sign運算而獲得的值、乘以針對初始校正值的絕對值執(zhí)行算術(shù)右移而獲得的值,來獲得最終校正值(delta[x,y])。此時,可以計算出最終校正值,使得獲得的最終預(yù)測值被舍入成接近于O的整數(shù)。
[0194][等式10]
[0195]delta [X,y] = Sign(d[x, y]) * ((Abs (d[x, y])+2X) >> (x+1))(在垂直方向預(yù)測模式的情況下)
[0196]delta [X,y] = Sign(d[x, y]) * ((Abs (d[x, y])+2y) ? (y+1))(在水平方向預(yù)測模式的情況下)
[0197]另外,可以通過將針對初始校正值執(zhí)行Sign運算而獲得的值、乘以針對初始校正值的絕對值執(zhí)行加法運算然后針對該加法的結(jié)果值執(zhí)行算術(shù)右移而獲得的值,來獲得基于Sign運算和Abs算法的根據(jù)第五實施例的最終校正值。此時,可以計算出最終校正值,使得計算出的最終預(yù)測值被舍入成遠離O的整數(shù)。
[0198][等式11]
[0199]delta [X,y] = Sign(d[x, y]) * ((Abs (d[x, y])+2X) >> (x+1))(在垂直方向預(yù)測模式的情況下)
[0200]delta[x, y] = Sign (d[x, y]) * ((Abs (d[x, y]) +2y) ? (y+1))(在水平方向預(yù)測模式的情況下)
[0201]然后,基于在第一至第五實施例中獲得的最終校正值,可以將第一預(yù)測值(predl [x, y])添加到最終校正值(delta[x, y]),由此生成最終預(yù)測值(predS[x, y])。
[0202]圖9a是示意性地例示在使用垂直模式時通過對第一預(yù)測值執(zhí)行校正來生成最終預(yù)測值的實施例的圖。
[0203]參考圖9a,在通過垂直方向預(yù)測模式執(zhí)行幀內(nèi)預(yù)測時,圖像編碼/解碼裝置將當(dāng)前塊910的上參考像素的像素值確定為第一預(yù)測值(predl[x,y] =p[x,-l])。
[0204]然后,該裝置以定位在當(dāng)前塊910的左邊界的像素920作為目標(biāo)執(zhí)行校正。為了對第一預(yù)測值執(zhí)行校正,首先確定初始校正值。此時,取決于預(yù)測目標(biāo)像素的垂直位置來確定初始校正值。即,對應(yīng)于預(yù)測目標(biāo)像素的左參考像素940的值與左上角像素930的值之間的差可以成為初始校正值(d[x, y] = d[y] = p[_1,y]_p[_1,_1])。如上所述,在左邊界的情況下,僅當(dāng)x = 0時才存在初始校正值,否則,初始校正值可以是O。
[0205]接下來,通過對初始校正值的二互補整數(shù)表示進行I個二進制數(shù)位的算術(shù)右移,來計算最終校正值(delta[x, y] = d[x, y]?l = (p[-1,y]_p[_1,-1]) >>1)。
[0206]最后,將第一像素值添加到最終校正值,由此生成最終預(yù)測值(predS[X,y]=CliplY(predl[x, y]+delta[x,y])。
[0207]圖9b是示意性地例示在使用水平模式時、通過對第一預(yù)測值執(zhí)行校正、來生成最終預(yù)測值的實施例的視圖。
[0208]參考圖%,圖像編碼/解碼裝置在通過水平方向預(yù)測模式執(zhí)行幀內(nèi)預(yù)測的情況下,將當(dāng)前塊910的左參考像素的像素值確定為第一預(yù)測值(predl [x,y] =p[-l,y])。
[0209]然后,該裝置針對定位在當(dāng)前塊910的上邊界的像素950執(zhí)行校正。根據(jù)預(yù)測目標(biāo)像素的水平位置來確定初始校正值,以便對第一預(yù)測值執(zhí)行校正。即,對應(yīng)于預(yù)測目標(biāo)像素的上參考像素960的值與左上角像素930的值之間的差可以成為初始校正值(d[x,y]=d[x] = p[x,-l]-p[_l,-1])。如上所述,在上邊界的情況下,僅當(dāng)y = 0時才存在初始校正值,否則,初始校正值可以是O。
[0210]接下來,可以通過對初始校正值的二互補整數(shù)表示進行I個二進制數(shù)位的算術(shù)右移,來計算最終校正值(delta[x, y] = d[x, y]?l = (p [x,-1] _p [_1,-1]) >>1),并且將第一預(yù)測值添加到最終校正值,由此生成最終預(yù)測值(predS[x,y]=CliplY(predl[x, y]+delta[x,y])。
[0211]圖10是示意性地例示在根據(jù)本發(fā)明的另一實施例的圖像編碼/解碼方法中執(zhí)行縮放的過程的流程圖。
[0212]參考圖10,根據(jù)本明的另一實施例的圖像編碼/解碼裝置可以在對當(dāng)前塊執(zhí)行幀間預(yù)測或運動補償時,執(zhí)行縮放以生成預(yù)測塊的運動向量。為此目的,圖像編碼/解碼裝置確定當(dāng)前塊的參考畫面是否與參考塊的參考畫面相同(SlOlO)。此時,圖像編碼/解碼裝置可以確定指示參考畫面列表中的參考畫面的參考畫面索引是否相同,而不是僅確定參考畫面的相同度。然后,取決于確定的結(jié)果,圖像編碼/解碼裝置確定是否對參考塊的運動向量執(zhí)行縮放(S1020)。在參考畫面相同的情況下,可以不對參考塊的運動向量進行縮放,但是在其他方面,需要對參考塊的運動向量進行縮放。將縮放后的參考塊的運動向量用作當(dāng)前塊的運動向量的基礎(chǔ),并且可以用于當(dāng)前塊的幀間預(yù)測。
[0213]同時,作為適用于通過縮放進行幀間預(yù)測的幀間預(yù)測方案,可以存在AMVP(高級運動向量預(yù)測)或合并模式。具體地,在合并模式中,該方案可以適用于在合并模式下的時間合并候選推導(dǎo)過程,并且在AMVP下適用于時間運動向量推導(dǎo)過程和空間運動向量推導(dǎo)過程。
[0214]圖1la是例示當(dāng)前畫面與空間參考塊的當(dāng)前畫面之間的POC差、以及當(dāng)前畫面與當(dāng)前塊的參考畫面之間的POC差的圖。
[0215]參考圖11a,當(dāng)前塊1100的鄰近塊中的用于推導(dǎo)空間運動向量候選的參考塊1110可以是鄰近當(dāng)前塊1100的左側(cè)的最下邊的塊、鄰近左邊最下邊的塊的下側(cè)的塊、當(dāng)前塊的左上角的塊、當(dāng)前塊的右上角的塊、以及鄰近當(dāng)前塊的上邊最右邊的塊之中的至少一個。此時,對于能夠被用于當(dāng)前塊1100的預(yù)測而不執(zhí)行縮放的參考塊1110的運動向量,參考塊1110的參考畫面1140需要與當(dāng)前塊1100的參考畫面1130相同,并且參考塊1110的運動向量可以按照別的方式經(jīng)受縮放,然后可用于當(dāng)前塊1100的預(yù)測。即,可以確定指示當(dāng)前塊的參考畫面1130與當(dāng)面面1120的P0C(畫面次序計數(shù))之間的差的tb是否和指示當(dāng)前畫面1120與參考塊1110的參考畫面1140之間的POC差的td相同,如果兩者相同,則不執(zhí)行縮放,如果兩者不同,則可以進行縮放處理。
[0216]圖1lb是例示并置塊的參考畫面和并置畫面之間的POC差、以及當(dāng)前畫面與當(dāng)前畫面的參考畫面之間的POC差的圖。
[0217]參考圖11b,圖像編碼/解碼裝置可以基于與在已經(jīng)重構(gòu)的并置畫面1160中對應(yīng)于當(dāng)前塊1100的位置處的并置塊1150相關(guān)聯(lián)的參考塊的運動向量,來執(zhí)行當(dāng)前塊1100的預(yù)測。即,作為用于推導(dǎo)時間運動向量或時間合并候選的參考塊,是定位在并置塊之內(nèi)或之外的塊??梢愿鶕?jù)并置塊的右下角的塊、或四個方塊中的右下邊的塊相對于并置塊的中心的相對位置,來確定參考塊。
[0218]此時,在使用時間參考塊的運動向量時,確定指示并置塊1150所參考的參考畫面1170與并置畫面1160之間的POC差的td是否和指示當(dāng)前塊1100所參考的參考畫面1130與當(dāng)前畫面1120之間的POC差的tb相同??梢宰龀鋈缦麓_定:如果兩個值相同,則不執(zhí)行縮放;并且如果兩個值不同,則執(zhí)行縮放處理。
[0219]圖12是示意性地例示基于畫面之間的POC差來計算運動向量的縮放因子的過程的實施例的流程圖。
[0220]如圖12所不,圖像編碼/解碼裝置獲得指不畫面之間的POC差的td和tb,以便計算縮放因子(S1210)。此處,第一值可以表示td,第二值可以表示tb。如上所述,i)在推導(dǎo)空間運動向量的過程中(參考圖lla),td表示當(dāng)前畫面的POC與空間鄰近的參考塊所參考的參考畫面的POC之間的差,而tb表示當(dāng)前畫面的POC與當(dāng)前塊所參考的參考畫面的POC之間的差。此時,當(dāng)前塊的參考畫面和參考塊的參考畫面可以具有不同的預(yù)測方向,并且在這種情況下,可以為td和tb分配不同的符號。在某些情況下,可以將td或tb調(diào)整成包括在從-128到127的范圍內(nèi)。此時,如果td或tb小于-128,則可以將td或tb調(diào)整成-128,如果td或tb大于127,則可以將td或tb調(diào)整成127。如果td或tb被包括在-128與127之間的范圍內(nèi),則不對td或tb進行調(diào)整。
[0221][等式12]
[0222]td = Clip3(-128, 127, PicOrderCnt(currPic)-RefPicOrder(currPic, refIdxZ,ListZ))
[0223]tb = Clip3(-128, 127, PicOrderCnt(currPic)-RefPicOrder(currPic, refIdxLX,LX))
[0224]此處,currPic可以表示當(dāng)前畫面。另外X可以具有O或I的值。例如,如果X =0,則ref IdxLX和LX可以分別是ref IdxLO和L0,其表示與LO時間運動信息相關(guān)聯(lián)的變量。另外,refldxLX可以表示指示在其中分配了參考畫面的LX參考畫面列表中的參考畫面的LX參考畫面索引。在refldxLX為O的情況下,refIdxLX可以表示LX參考畫面列表中的第一參考畫面,并且在refldxLX為-1的情況下,refIdxLX可以表示不指示在參考畫面列表中的參考畫面。另外,Z可以表示鄰近左側(cè)(即,用于推導(dǎo)空間運動向量的參考塊的位置)的最下邊的塊、鄰近左邊最下邊的塊的下側(cè)的塊、當(dāng)前塊的左上角的塊、當(dāng)前塊的右上角的塊、以及鄰近當(dāng)前塊的上邊最右邊的塊之中的至少一個。
[0225]ii)在推導(dǎo)時間運動向量的過程中以及iii)在推導(dǎo)時間合并候選的過程中(參考圖lib),td可以表示并置畫面的POC與并置塊所參考的參考畫面的POC之間的差,而tb可以表示當(dāng)前畫面的POC和當(dāng)前塊所參考的參考畫面的POC之間的差。在這種情況下,也可以將td或tb調(diào)整成被包括在-128與127之間的范圍內(nèi)。
[0226][等式13]
[0227]td = Clip3(-128, 127, PicOrderCnt(colPic)-RefPicOrder(currPic, refIdxCol,ListCol))
[0228]tb = Clip3(-128, 127, PicOrderCnt(currPic)-RefPicOrder(currPic, refldxLX,LX))
[0229]此處,colPic可以表示并置塊。另外,refldxCol和ListCol可以表示并置塊的參考畫面索引和參考畫面列表。
[0230]一旦獲得td和tb,圖像解碼裝置就可以通過對td的絕對值的二互補整數(shù)表示進行I個二進制數(shù)位的算術(shù)右移來生成偏移值(S1220)。即,偏移值可以使用與td的絕對值成比例的值,并且可以通過執(zhí)行具有相對低的復(fù)雜度的算術(shù)右移、而不執(zhí)行高復(fù)雜度的運算、來計算偏移值。
[0231][等式14]
[0232]offset = Abs (td) >>1
[0233]此時,Abs O表示絕對值函數(shù),并且從對應(yīng)的函數(shù)輸出的值是輸入值的絕對值。
[0234]在執(zhí)行算術(shù)右移之后,圖像編碼/解碼裝置基于偏移值計算td的反比例值(S1230)。
[0235][等式15]
[0236]tx = (16384+offset)/td
[0237]在計算出td的反比例值(tx)之后,基于tb和td的反比例值(tx)計算縮放因子(S1240)。
[0238]圖13是示意性地例示基于tb和td的反比例值來計算最終縮放因子的配置的框圖。如圖13所示,用于計算最終縮放因子(ScaleFactor)的配置1300可以包括乘法器1310、加法運算單元1320、算術(shù)移位單元1330以及因子調(diào)整單元1340。
[0239]參考圖13,第一和第二值獲得單元1302通過在步驟S1210中說明的方法來獲得td和tb。然后,偏移值計算單元1306基于td通過在步驟S1220中說明的方法來計算偏移值,而反比例值計算單元1308基于偏移值通過在步驟S1230中說明的方法來計算td的反比例值(tx)。
[0240]乘法器1310接收tb和在反比例值計算單元1308中計算出的td的反比例值(tx)作為輸入,并執(zhí)行乘法。加法運算單元1320可以基于tb和td的反比例值(tx)的乘法,來執(zhí)行加法運算。此時,可以執(zhí)行添加32的運算。然后,算術(shù)移位單元1330對加法運算的結(jié)果值的二互補整數(shù)表示執(zhí)行6個二進制數(shù)位的算術(shù)右移??梢詫?zhí)行到這里的運算表示如下:
[0241][等式I6]
[0242]ScaleFactor = (tb*tx+32)>>6
[0243]然后,因子調(diào)整單元1340將縮放因子(ScaleFactor)調(diào)整成被包括在-4096與4095之間的范圍內(nèi)。此處,將縮放因子調(diào)整成被包括在特定范圍內(nèi)(例如,在A和B之間)是指:如果縮放因子小于A則將因子截短至A,如果縮放因子大于B則將因子截短至B。
[0244]在計算縮放因子之后,圖像編碼/解碼裝置可以計算縮放后的運動向量(scaledMV)。將縮放因子(ScaleFactor)乘以對應(yīng)的運動向量(其可以表示與空間運動向量推導(dǎo)、時間運動向量推導(dǎo)以及時間合并之中的至少一項相關(guān)聯(lián)的運動向量),對乘法的結(jié)果值執(zhí)行Sign運算,對乘法的結(jié)果值的絕對值執(zhí)行加法運算和算術(shù)移位運算,并且將Sign值乘以加法和算術(shù)移位運算的結(jié)果值,由此可以計算出縮放后的運動向量(scaledMV)。
[0245][等式17]
[0246]scaledMV = Sign (ScaleFactor^mv) * ((Abs(ScaleFactor^mv)+127)>>8)
[0247]此處,Sign O輸出關(guān)于指定值的符號的信息(例如,Sign (-1)輸入并且mv表示縮放前的運動向量。此時,可以對運動向量的X分量和I分量中的每一個執(zhí)行縮放。
[0248]圖像編碼/解碼裝置可以使用上述縮放的運動向量,來產(chǎn)生當(dāng)前塊的預(yù)測塊。
[0249]根據(jù)本發(fā)明的另一個實施例,上述的縮放因子計算方案還可以用于計算隱式加權(quán)預(yù)測中的(in-1mplicit-weighted-predict1n)縮放因子的過程中。圖像編碼/解碼裝置獲得表示畫面之間的POC差的td和tb,以便在執(zhí)行隱式加權(quán)預(yù)測時計算縮放因子。
[0250]td可以表示參考畫面列表I中的參考畫面中的當(dāng)前畫面所參考的參考畫面的P0C、以及參考畫面列表O中的參考畫面中的當(dāng)前畫面所參考的參考畫面的P0C,而tb可以表示當(dāng)前畫面的POC與參考畫面列表O中的參考畫面中的當(dāng)前畫面所參考的參考畫面的POC之間的差。此時,可以將td或tb調(diào)整成被包括在-128與127之間的范圍內(nèi)。此時,如果td或tb小于-128,則可以將td或tb調(diào)整成-128,如果td或tb大于127,則可以將td或tb調(diào)整成127。如果td或tb被包括在-128與127之間的范圍內(nèi),則不對td或tb進行調(diào)整。
[0251][等式18]
[0252]td = Clip3(-128, 127, PicOrderCnt(currPic, refIdxLl, LI)-RefPicOrder (currPic,refIdxLO, LO))
[0253]tb = Clip3 (-128, 127, PicOrderCnt (currPic)-RefPicOrder(currPic, refIdxLO,LO))
[0254]然后,圖像解碼裝置可以通過對td的絕對值的二互補整數(shù)表示執(zhí)行I個二進制數(shù)位的算術(shù)右移,來計算偏移值。
[0255]在執(zhí)行算術(shù)右移之后,圖像編碼/解碼裝置基于偏移值計算td的反比例值(tx =(16384+offset)/td),計算td的反比例值(tx),并且基于tb和td的反比例值(tx)來計算縮放因子(ScaleFactor = (tb*tx+32) >>6)。
[0256]具體地,在計算隱式加權(quán)預(yù)測中的縮放因子時,可以將縮放因子(ScaleFactor)調(diào)整成被包括在-1024和1023之間的范圍內(nèi)。此時,在圖像之間的距離增加的情況下,使用圖像之間的距離針對加權(quán)因子執(zhí)行的縮放可能不會被正確地進行,因此執(zhí)行了錯誤的隱式加權(quán)預(yù)測,從而導(dǎo)致編碼效率的惡化。相應(yīng)地,可以將縮放因子調(diào)整成被包括在-4096與4065之間的范圍內(nèi),而不是被包括在-1024與1023之間的范圍內(nèi)。
[0257]此時,使用加權(quán)因子,可以將參考畫面列表O中的參考畫面的加權(quán)值確定為64-(SCaleFaCt0r>>2),并且可以將參考畫面列表I中的參考畫面的加權(quán)值確定為ScaleFactor>>2。
[0258]盡管在實施例中基于具有一系列的步驟或框的流程圖說明了方法,但是本發(fā)明并不限于該次序,某些步驟可以與其他步驟同時執(zhí)行或者在不同于其他步驟的序列中執(zhí)行。另外,本領(lǐng)域的技術(shù)人員可以理解的是,可以將其他步驟非排他性地包括在流程圖的步驟中,或者可以從流程圖中去除一個或多個步驟,而不影響本發(fā)明的范圍。
[0259]上述實施例包括示例的各個方面。盡管在本文中可能未說明示例的各個方面的所有可能的組合,但是本領(lǐng)域的技術(shù)人員將理解這些組合是可能的。相應(yīng)地,本發(fā)明包括對所附的權(quán)利要求做出的所有其他修改、變型、或變化。
【權(quán)利要求】
1.一種視頻解碼裝置,包括: 預(yù)測塊產(chǎn)生單元,通過對當(dāng)前塊執(zhí)行幀間預(yù)測,來產(chǎn)生預(yù)測塊, 其中,所述預(yù)測塊產(chǎn)生單元基于所述當(dāng)前塊的參考畫面、以及用于所述當(dāng)前塊的幀間預(yù)測的參考塊的參考畫面的畫面次序計數(shù)(POC)值,來確定是否對所述參考塊的運動向量執(zhí)行縮放,并且當(dāng)確定執(zhí)行對所述參考塊的運動向量的縮放時,基于畫面之間的POC差來計算第一值和第二值,通過對所述第一值的絕對值執(zhí)行I個二進制數(shù)位的算術(shù)右移來計算偏移值、并使用所述偏移值來計算所述第一值的反比例值,并基于所述第一值的反比例值和所述第二值、來計算縮放因子,由此對所述參考塊的運動向量進行縮放,其中,所述第一值是包括所述參考塊的畫面、與所述參考塊所參考的參考畫面之間的POC差,所述第二值是當(dāng)前畫面、與所述當(dāng)前塊所參考的參考畫面之間的POC差。
2.如權(quán)利要求1所述的視頻解碼裝置,其中,在推導(dǎo)空間運動向量時,所述預(yù)測塊產(chǎn)生單元僅在所述當(dāng)前塊的參考畫面與用于所述當(dāng)前塊的幀間預(yù)測的參考塊的參考畫面不相同的情況下,才確定對所述參考塊的運動向量進行縮放。
3.如權(quán)利要求1所述的視頻解碼裝置,其中,在推導(dǎo)時間運動向量時,所述預(yù)測塊產(chǎn)生單元僅在所述當(dāng)前畫面與所述當(dāng)前塊的參考畫面之間的POC差不同于包括所述參考塊的畫面與所述參考塊的參考畫面之間的POC差的情況下,才確定對所述參考塊的運動向量進行縮放。
4.如權(quán)利要求1所述的視頻解碼裝置,其中,在推導(dǎo)空間或時間運動向量時使用的參考塊、或者時間合并候選,在推導(dǎo)所述空間運動向量時包括鄰近所述當(dāng)前塊的左側(cè)的最下邊的塊、鄰近左邊最下邊的塊的下側(cè)的塊、所述當(dāng)前塊的左上角的塊、所述當(dāng)前塊的右上角的塊、以及鄰近所述當(dāng)前塊的上邊最右邊的塊之中的至少一個,并且在推導(dǎo)所述時間運動向量以及推導(dǎo)所述時間合并候選時,包括位于在所述當(dāng)前畫面的并置畫面中、與所述當(dāng)前塊在空間上相對應(yīng)的并置塊之內(nèi)以及之外的塊之中的至少一個。
5.如權(quán)利要求1所述的視頻解碼裝置,其中,在推導(dǎo)空間運動向量時,所述第一值是所述當(dāng)前畫面與所述參考塊所參考的參考畫面之間的POC差,所述第二值是所述當(dāng)前畫面與所述當(dāng)前塊所參考的參考畫面之間的POC差,并且在推導(dǎo)時間運動向量時以及在推導(dǎo)時間合并候選時,所述第一值是并置畫面、與在所述并置畫面中并置塊和所述當(dāng)前塊參考的參考畫面之間的POC差,所述第二值是當(dāng)前塊畫面、與所述當(dāng)前塊所參考的參考畫面之間的POC 差。
6.如權(quán)利要求1所述的視頻解碼裝置,其中,所述預(yù)測塊產(chǎn)生單元通過基于所述第一值的反比例值與所述第二值的乘法、執(zhí)行加法運算和算術(shù)右移運算、來得到縮放因子,并且將所述縮放因子調(diào)整成被包括在特定范圍內(nèi)。
【文檔編號】H04N19/593GK104202608SQ201410471753
【公開日】2014年12月10日 申請日期:2013年1月18日 優(yōu)先權(quán)日:2012年1月18日
【發(fā)明者】金暉容, 李鎮(zhèn)浩, 林成昶, 崔振秀, 金鎮(zhèn)雄 申請人:韓國電子通信研究院