本專利申請是下列發(fā)明專利申請的分案申請:
申請?zhí)枺?01180068084.7
申請日:2011年12月21日
發(fā)明名稱:幀內(nèi)預(yù)測模式編碼/解碼方法和用于其的設(shè)備
本發(fā)明涉及圖像處理,并更具體地,涉及用于編碼/解碼幀內(nèi)預(yù)測模式的方法和設(shè)備。
背景技術(shù):
最近,隨著具有高清晰度(hd)分辨率的廣播服務(wù)在全國和全世界的擴(kuò)展,許多用戶已習(xí)慣于高分辨率和高清晰度圖像,使得許多組織已進(jìn)行開發(fā)下一代圖像裝置的許多嘗試。另外,對于hdtv和具有比hdtv高四倍的分辨率的超高清晰度(uhd)的興趣已增長,并由此已需要對于更高分辨率和更高清晰度圖像的壓縮技術(shù)。
關(guān)于圖像壓縮,可使用根據(jù)當(dāng)前畫面之前和/或之后的畫面來預(yù)測當(dāng)前畫面中包括的像素值的幀間預(yù)測技術(shù)、使用當(dāng)前畫面中的像素信息來預(yù)測當(dāng)前畫面中包括的像素值的幀內(nèi)預(yù)測技術(shù)、向具有高出現(xiàn)頻率的碼元分配短代碼并向具有低出現(xiàn)頻率的碼元分配長代碼的熵編碼技術(shù)等。
技術(shù)實(shí)現(xiàn)要素:
【技術(shù)問題】
本發(fā)明提供了能夠改進(jìn)圖像編碼/解碼效率的圖像編碼方法和設(shè)備。
本發(fā)明還提供了能夠改進(jìn)圖像編碼/解碼效率的圖像解碼方法和設(shè)備。
本發(fā)明還提供了能夠改進(jìn)圖像編碼/解碼效率的幀內(nèi)預(yù)測方法和設(shè)備。。
本發(fā)明還提供了能夠改進(jìn)圖像編碼/解碼效率的用于編碼幀內(nèi)預(yù)測模式的方法和設(shè)備。
本發(fā)明還提供了能夠改進(jìn)圖像編碼/解碼效率的用于解碼幀內(nèi)預(yù)測模式的方法和設(shè)備。
【技術(shù)方案】
在一方面中,提供了一種幀內(nèi)預(yù)測方法,包括:從左相鄰預(yù)測模式和上相鄰預(yù)測模式導(dǎo)出相鄰預(yù)測模式信息;通過使用導(dǎo)出的相鄰預(yù)測模式信息來導(dǎo)出用于解碼目標(biāo)單元的幀內(nèi)預(yù)測模式;和基于導(dǎo)出的幀內(nèi)預(yù)測模式對該解碼目標(biāo)單元執(zhí)行幀內(nèi)預(yù)測,其中該左相鄰預(yù)測模式是與該解碼目標(biāo)單元的左邊相鄰的左相鄰單元的幀內(nèi)預(yù)測模式,而該上相鄰預(yù)測模式是與該解碼目標(biāo)單元的上邊相鄰的上相鄰單元的幀內(nèi)預(yù)測模式,以及該相鄰預(yù)測模式信息包括角度差信息和模式編號信息中的至少一個(gè),該角度差信息包括該左相鄰預(yù)測模式的角度和該上相鄰預(yù)測模式的角度之間的角度差值,而該模式編號信息包括該左相鄰預(yù)測模式的模式編號和該上相鄰預(yù)測模式的模式編號。
所述幀內(nèi)預(yù)測模式的導(dǎo)出步驟可進(jìn)一步包括:接收并解碼用于該解碼目標(biāo)單元的mpm索引;通過使用該相鄰預(yù)測模式信息來確定用于該解碼目標(biāo)單元的最可能模式(mpm)候選;通過使用確定的mpm候選來生成mpm列表;和通過使用解碼的mpm索引和生成的mpm列表,來導(dǎo)出該解碼目標(biāo)單元的幀內(nèi)預(yù)測模式,其中該mpm索引是指示該mpm列表中包括的mpm候選之中的、與該解碼目標(biāo)單元的幀內(nèi)預(yù)測模式相同的候選的索引。
所述mpm候選的確定步驟可進(jìn)一步包括:將該左相鄰預(yù)測模式和該上相鄰預(yù)測模式確定為所述mpm候選,其中該mpm列表中包括的mpm候選的數(shù)目是預(yù)定固定數(shù)目。
所述mpm候選的確定步驟可進(jìn)一步包括當(dāng)該左相鄰預(yù)測模式和該上相鄰預(yù)測模式相同時(shí),將該預(yù)定幀內(nèi)預(yù)測模式確定為附加mpm候選。
該預(yù)定幀內(nèi)預(yù)測模式可以是平面模式。
當(dāng)該左相鄰預(yù)測模式和該上相鄰預(yù)測模式是平面模式時(shí),該預(yù)定幀內(nèi)預(yù)測模式可以是dc模式。
所述mpm候選的確定步驟進(jìn)一步包括當(dāng)該左相鄰單元或該上相鄰單元不可用時(shí),將該預(yù)定幀內(nèi)預(yù)測模式確定為附加mpm候選。
該預(yù)定幀內(nèi)預(yù)測模式可以是平面模式。
該幀內(nèi)預(yù)測模式的導(dǎo)出步驟可包括:通過使用該相鄰預(yù)測模式信息來選擇所述多個(gè)上下文模型之中的、用于該解碼目標(biāo)單元的上下文模型;和通過使用所選擇的上下文模型來對于該解碼目標(biāo)單元的幀內(nèi)預(yù)測模式信息執(zhí)行熵解碼,其中該幀內(nèi)預(yù)測模式信息包括mpm標(biāo)記、mpm索引和剩余模式中的至少一個(gè)。
所述上下文模型的選擇步驟可將與該角度差信息對應(yīng)的上下文模型選擇為用于該解碼目標(biāo)單元的上下文模型。
所述上下文模型的選擇步驟可將與該模式編號信息對應(yīng)的上下文模型選擇為用于該解碼目標(biāo)單元的上下文模型。
所述上下文模型的選擇步驟可將與該角度差信息和該模式編號信息對應(yīng)的上下文模型選擇為用于該解碼目標(biāo)單元的上下文模型。
所述幀內(nèi)預(yù)測模式的導(dǎo)出步驟可進(jìn)一步包括:通過使用相鄰預(yù)測模式信息來選擇多個(gè)可用長度編碼(vlc)表格之中的用于該解碼目標(biāo)單元的vlc表格;和通過使用選擇的vlc表格對于該解碼目標(biāo)單元的幀內(nèi)預(yù)測模式信息執(zhí)行熵解碼,其中該幀內(nèi)預(yù)測模式包括mpm標(biāo)記、mpm索引、和剩余模式中的至少一個(gè)。
所述vlc表格的選擇步驟可將與該角度差信息對應(yīng)的vlc表格選擇為用于該解碼目標(biāo)單元的vlc表格。
所述vlc表格的選擇步驟可將與該模式編號信息對應(yīng)的vlc表格選擇為用于該解碼目標(biāo)單元的vlc表格。
所述vlc表格的選擇步驟可將與該角度差信息和該模式編號信息對應(yīng)的vlc表格選擇為用于該解碼目標(biāo)單元的vlc表格。
在另一方面中,提供了一種用于解碼幀內(nèi)預(yù)測模式的方法,包括:從左相鄰預(yù)測模式和上相鄰預(yù)測模式導(dǎo)出相鄰預(yù)測模式信息;和通過使用導(dǎo)出的相鄰模式信息來導(dǎo)出用于解碼目標(biāo)單元的幀內(nèi)預(yù)測模式,其中該左相鄰預(yù)測模式是與該解碼目標(biāo)單元的左邊相鄰的左相鄰單元的幀內(nèi)預(yù)測模式,而該上相鄰預(yù)測模式是與該解碼目標(biāo)單元的上邊相鄰的上相鄰單元的幀內(nèi)預(yù)測模式,以及該相鄰預(yù)測模式信息包括角度差信息和模式編號信息中的至少一個(gè),該角度差信息包括該左相鄰預(yù)測模式的角度和該上相鄰預(yù)測模式的角度之間的角度差值,而該模式編號信息包括該左相鄰預(yù)測模式的模式編號和該上相鄰預(yù)測模式的模式編號。
所述幀內(nèi)預(yù)測模式的導(dǎo)出步驟可進(jìn)一步包括:接收并解碼用于該解碼目標(biāo)單元的mpm索引;通過使用該相鄰預(yù)測模式信息來確定用于該解碼目標(biāo)單元的最可能模式(mpm)候選;通過使用確定的mpm候選來生成mpm列表;和通過使用解碼的mpm索引和生成的mpm列表,來導(dǎo)出該解碼目標(biāo)單元的幀內(nèi)預(yù)測模式,其中該mpm索引是指示該mpm列表中包括的mpm候選之中的、與該解碼目標(biāo)單元的幀內(nèi)預(yù)測模式相同的候選的索引。
該幀內(nèi)預(yù)測模式的導(dǎo)出步驟可包括:通過使用該相鄰預(yù)測模式信息來選擇所述多個(gè)上下文模型之中的用于該解碼目標(biāo)單元的上下文模型;和通過使用所選擇的上下文模型來對于該解碼目標(biāo)單元的幀內(nèi)預(yù)測模式信息執(zhí)行熵解碼,其中該幀內(nèi)預(yù)測模式信息包括mpm標(biāo)記、mpm索引和剩余模式中的至少一個(gè)。
該幀內(nèi)預(yù)測模式的導(dǎo)出步驟可進(jìn)一步包括:通過使用相鄰預(yù)測模式信息來選擇多個(gè)可用長度編碼(vlc)表格之中的、用于該解碼目標(biāo)單元的vlc表格;和通過使用選擇的vlc表格對于該解碼目標(biāo)單元的幀內(nèi)預(yù)測模式信息執(zhí)行熵解碼,其中該幀內(nèi)預(yù)測模式信息包括mpm標(biāo)記、mpm索引、和剩余模式中的至少一個(gè)。
本發(fā)明的另一方面提供了一種視頻解碼設(shè)備,包括:熵解碼模塊,用于對輸入比特流執(zhí)行熵解碼,以導(dǎo)出與目標(biāo)解碼單元相關(guān)的量化后變換系數(shù);反量化模塊,用于對量化后變換系數(shù)執(zhí)行反量化,以導(dǎo)出變換系數(shù);逆變換模塊,用于對所述變換系數(shù)執(zhí)行逆變換,以生成殘差塊;預(yù)測模塊,用于從左相鄰預(yù)測模式和上相鄰預(yù)測模式導(dǎo)出相鄰預(yù)測模式信息,通過使用導(dǎo)出的相鄰預(yù)測模式信息來導(dǎo)出用于目標(biāo)解碼單元的幀內(nèi)預(yù)測模式,和基于導(dǎo)出的幀內(nèi)預(yù)測模式對該目標(biāo)解碼單元執(zhí)行幀內(nèi)預(yù)測;加法器,用于將所述殘差塊與通過幀內(nèi)預(yù)測生成的預(yù)測塊相加,以生成重構(gòu)塊;和濾波模塊,用于對重構(gòu)塊執(zhí)行濾波,其中該左相鄰預(yù)測模式是與該目標(biāo)解碼單元的左邊相鄰的左相鄰單元的幀內(nèi)預(yù)測模式,而該上相鄰預(yù)測模式是與該目標(biāo)解碼單元的上邊相鄰的上相鄰單元的幀內(nèi)預(yù)測模式,以及該相鄰預(yù)測模式信息包括該左相鄰預(yù)測模式的模式編號和該上相鄰預(yù)測模式的模式編號,其中所述預(yù)測模塊接收并解碼用于該目標(biāo)解碼單元的最可能模式(mpm)標(biāo)記和mpm索引,通過使用該相鄰預(yù)測模式信息來確定用于該目標(biāo)解碼單元的mpm候選,通過使用確定的mpm候選來生成mpm列表,和通過使用解碼的mpm索引和生成的mpm列表來導(dǎo)出該目標(biāo)解碼單元的幀內(nèi)預(yù)測模式,并且該mpm索引是指示該mpm列表中包括的mpm候選之中的、與該目標(biāo)解碼單元的幀內(nèi)預(yù)測模式相同的候選的索引,其中該預(yù)測模塊將該左相鄰預(yù)測模式和該上相鄰預(yù)測模式確定為所述mpm候選,和其中當(dāng)該左相鄰預(yù)測模式和該上相鄰預(yù)測模式相同時(shí),該預(yù)測模塊將預(yù)定幀內(nèi)預(yù)測模式確定為附加mpm候選。
【有利效果】
根據(jù)本發(fā)明示范實(shí)施例的圖像編碼方法能改進(jìn)圖像編碼/解碼效率。
此外,根據(jù)本發(fā)明示范實(shí)施例的圖像解碼方法能改進(jìn)圖像編碼/解碼效率。
根據(jù)本發(fā)明示范實(shí)施例的幀內(nèi)預(yù)測方法能改進(jìn)圖像編碼/解碼效率。
根據(jù)本發(fā)明示范實(shí)施例的用于編碼幀內(nèi)預(yù)測模式的方法能改進(jìn)圖像編碼/解碼效率。
根據(jù)本發(fā)明示范實(shí)施例的用于解碼幀內(nèi)預(yù)測模式的方法能改進(jìn)圖像編碼/解碼效率。
附圖說明
圖1是示出了根據(jù)本發(fā)明示范實(shí)施例的圖像編碼設(shè)備的配置的框圖。
圖2是示出了根據(jù)本發(fā)明示范實(shí)施例的圖像解碼設(shè)備的配置的框圖。
圖3是示意性示出了用于編碼/解碼目標(biāo)單元的重構(gòu)相鄰單元的示范實(shí)施例的構(gòu)思圖。
圖4是示意性示出了根據(jù)本發(fā)明示范實(shí)施例的用于編碼幀內(nèi)預(yù)測模式的方法的流程圖。
圖5是示出了用于使用相鄰預(yù)測模式信息來執(zhí)行熵編碼的方法的示范實(shí)施例的流程圖。
圖6是示出了用于根據(jù)角度差信息來選擇上下文模型的方法的示范實(shí)施例的表格。
圖7是示出了用于根據(jù)角度差信息來選擇vlc表格的方法的示范實(shí)施例的表格。
圖8是示出了向多個(gè)vlc表格中的每一個(gè)分配的碼字的示例的表格。
圖9是示出了用于根據(jù)相鄰預(yù)測模式的模式編號來選擇上下文模型的方法的示范實(shí)施例的表格。
圖10是示出了用于根據(jù)相鄰預(yù)測模式的模式編號來選擇vlc表格的方法的示范實(shí)施例的表格。
圖11是示出了用于通過使用相鄰預(yù)測模式之間的角度差信息和關(guān)于相鄰預(yù)測模式的模式編號信息來選擇上下文模型的方法的示范實(shí)施例的表格。
圖12是示出了用于通過使用相鄰預(yù)測模式之間的角度差信息和關(guān)于相鄰預(yù)測模式的模式編號信息來選擇vlc表格的方法的示范實(shí)施例的表格。
圖13是示意性示出了根據(jù)本發(fā)明示范實(shí)施例的用于解碼幀內(nèi)預(yù)測模式的方法的流程圖。
圖14是示出了用于使用相鄰預(yù)測模式信息來執(zhí)行熵解碼的方法的示范實(shí)施例的流程圖。
具體實(shí)施方式
其后,將參考附圖來詳細(xì)描述本發(fā)明的示范實(shí)施例。在描述本發(fā)明的示范實(shí)施例時(shí),將不詳細(xì)描述公知功能或構(gòu)造,因?yàn)樗鼈儗⒉槐匾厥沟帽景l(fā)明的理解模糊。
將理解的是,當(dāng)在本說明書中將元件簡稱為“連接到”或“耦接到”另一元件而沒有“直接連接到”或“直接耦接到”另一元件時(shí),該元件可“直接連接到”或“直接耦接到”另一元件、或者在其間插入有其他元件的情況下連接到或耦接到另一元件。此外,在本發(fā)明中,“包括”特定配置將被理解為也可在本發(fā)明的實(shí)施例或技術(shù)思想的范圍內(nèi)包括附加配置。
該說明書中使用的術(shù)語“第一”、“第二”等可用來描述各種組件,但是這些組件不應(yīng)被解釋為限于這些術(shù)語。這些術(shù)語僅用來區(qū)分一個(gè)組件與其他個(gè)組件。例如,“第一”組件可被稱作“第二”組件,而不脫離本發(fā)明的范圍,并且“第二”組件也可被類似地稱作“第一”組件。
此外,本發(fā)明的實(shí)施例中示出的構(gòu)成部分被獨(dú)立示出,以便表示彼此不同的特性功能。由此,這不意味著在單獨(dú)硬件或軟件的構(gòu)成單元中構(gòu)成每一構(gòu)成部分。換言之,為了方便,每一構(gòu)成部分包括枚舉的構(gòu)成部分中的每一個(gè)。由此,可組合每一構(gòu)成部分的至少兩個(gè)構(gòu)成部分以形成一個(gè)構(gòu)成部分,或者一個(gè)構(gòu)成部分可被劃分為多個(gè)構(gòu)成部分以執(zhí)行每一功能。其中組合每一構(gòu)成部分的實(shí)施例和其中劃分一個(gè)構(gòu)成部分的實(shí)施例也被包括在本發(fā)明的范圍內(nèi),否則就脫離本發(fā)明的本質(zhì)。
另外,一些構(gòu)成部件可以不是執(zhí)行本發(fā)明的必要功能的必要構(gòu)成部件,而僅是改進(jìn)其性能的選擇性構(gòu)成部件??赏ㄟ^僅包括除了在改進(jìn)性能時(shí)使用的構(gòu)成部件之外的、用于實(shí)現(xiàn)本發(fā)明的本質(zhì)的必要構(gòu)成部分,來實(shí)現(xiàn)本發(fā)明。僅包括除了在僅改進(jìn)性能時(shí)使用的選擇性構(gòu)成部件之外的必要構(gòu)成部件的結(jié)構(gòu)也被包括在本發(fā)明的范圍內(nèi)。
圖1是示出了根據(jù)本發(fā)明示范實(shí)施例的圖像編碼設(shè)備的配置的框圖。
參考圖1,圖像編碼設(shè)備100包括運(yùn)動(dòng)估計(jì)器111、運(yùn)動(dòng)補(bǔ)償器112、幀內(nèi)預(yù)測器120、開關(guān)115、減法器125、變換器130、量化器140、熵編碼器150、反量化器160、逆變換器170、加法器175、濾波器單元180、和參考畫面緩沖器190。
圖像編碼設(shè)備100可利用幀內(nèi)模式或幀間模式對輸入圖像執(zhí)行編碼以輸出比特流。幀內(nèi)預(yù)測意味著畫面內(nèi)預(yù)測,而幀間預(yù)測意味著畫面間預(yù)測。在幀內(nèi)模式的情況下,開關(guān)115可切換到幀內(nèi),而在幀間模式的情況下,開關(guān)115可切換到幀間。圖像編碼設(shè)備100可生成用于輸入圖像的輸入塊的預(yù)測塊,并然后對輸入塊和預(yù)測塊之間的殘差進(jìn)行編碼。
在幀內(nèi)模式的情況下,幀內(nèi)預(yù)測器120可使用當(dāng)前塊周圍的先前編碼塊的像素值來執(zhí)行空間預(yù)測,以生成預(yù)測塊。
在幀間模式的情況下,運(yùn)動(dòng)估計(jì)器111可通過在運(yùn)動(dòng)預(yù)測處理期間在參考畫面緩沖器190中存儲的參考畫面中搜索與輸入塊最佳匹配的區(qū)域,來獲得運(yùn)動(dòng)向量。運(yùn)動(dòng)補(bǔ)償器112可通過使用該運(yùn)動(dòng)向量來執(zhí)行運(yùn)動(dòng)補(bǔ)償,以生成預(yù)測塊。
減法器125可生成由于輸入塊和生成的預(yù)測塊的殘差而引起的殘差塊。變換器130可通過對殘差塊執(zhí)行變換而輸出變換系數(shù)。此外,量化器140可根據(jù)量化參數(shù)來量化輸入變換系數(shù),以輸出量化的系數(shù)。
熵編碼器150可基于在量化器140中計(jì)算的值或在編碼處理期間計(jì)算的編碼參數(shù)值等,根據(jù)概率分布,來對碼元執(zhí)行熵編碼,以輸出比特流。該熵編碼方法是在去除統(tǒng)計(jì)冗余度的同時(shí)、接收具有各種值的碼元并通過可解碼bin(二進(jìn)碼)序列/串來表示輸入碼元的方法。
在該情況下,碼元意味著編碼/解碼目標(biāo)語法元素、編碼參數(shù)、殘差信號的值等。作為用于編碼和解碼所必需的參數(shù)的編碼參數(shù)可包括諸如語法元素的在編碼器中編碼并被傳遞到解碼器的信息、以及可在編碼或解碼處理期間導(dǎo)出并意味著編碼和解碼圖像時(shí)的必要信息的信息。編碼參數(shù)可包括例如值或統(tǒng)計(jì)值,諸如幀內(nèi)/幀間預(yù)測模式、移動(dòng)/運(yùn)動(dòng)向量、參考畫面索引、編碼塊圖案、殘差信號的存在和缺失、量化參數(shù)、單位尺寸、單位分區(qū)信息等。
當(dāng)應(yīng)用熵編碼時(shí),熵編碼可通過向具有高出現(xiàn)概率的碼元分配少量比特并向具有低出現(xiàn)概率的碼元分配大量比特來表示碼元,以降低用于所述編碼目標(biāo)碼元的比特流的尺寸。所以,可通過熵編碼增加圖像編碼的壓縮性能。
關(guān)于熵編碼,可使用諸如指數(shù)哥倫布、上下文自適應(yīng)可變長度編碼(cavlc)、上下文自適應(yīng)二進(jìn)制算術(shù)編碼(cabac)等。例如,熵編碼器150可存儲有諸如可變長度編碼/代碼(vlc)表格的用于執(zhí)行熵編碼的表格,并且熵編碼器150可使用存儲的可變長度編碼/代碼(vlc)表格來執(zhí)行熵編碼。另外,熵編碼器150還可通過導(dǎo)出目標(biāo)碼元的二值化方法和目標(biāo)碼元/bin概率模型、并然后使用導(dǎo)出的二值化方法或概率模型,來執(zhí)行熵編碼。
在該情況下,二值化意味著通過bin序列/串來表示碼元的值。在該情況下,當(dāng)通過二值化用bin序列/串來表示碼元時(shí),bin意味著每一bin值(0或1)。概率模型意味著可通過上下文模型導(dǎo)出的編碼/解碼目標(biāo)碼元/bin的預(yù)測概率。上下文模型是用于一個(gè)或多個(gè)二值化碼元的bin的概率模式,并可通過最近編碼的數(shù)據(jù)碼元的統(tǒng)計(jì)值來選擇。
更詳細(xì)地,cabac熵編碼方法對沒有二值化的碼元進(jìn)行二值化,并將二值化后的碼元變換為bin,通過使用關(guān)于相鄰和編碼目標(biāo)塊的編碼信息或關(guān)于在先前步驟中編碼的碼元/bin的信息來確定上下文模型,并通過根據(jù)所確定的上下文模型預(yù)測bin的出現(xiàn)概率而執(zhí)行bin的算術(shù)編碼、來生成比特流。在該情況下,cabac熵編碼方法可確定上下文模型,并然后通過使用關(guān)于針對碼元/bin的上下文模型編碼的碼元/bin的信息,來更新上下文模型。
根據(jù)圖1的示范實(shí)施例的圖像編碼設(shè)備執(zhí)行幀間預(yù)測編碼(即,畫面間預(yù)測編碼)并由此,當(dāng)前編碼的圖像需要被解碼并存儲以便用作參考畫面。所以,量化后的系數(shù)可在反量化器160中反量化并在逆變換器180中逆變換。反量化并逆變換后的系數(shù)通過加法器175被添加到預(yù)測塊,并生成重構(gòu)塊。
重構(gòu)塊通過濾波器單元180,并且濾波器單元180可對于重構(gòu)塊或重構(gòu)畫面應(yīng)用解塊濾波器、樣本自適應(yīng)偏移(sao)、和自適應(yīng)環(huán)形濾波器(alf)中的至少一個(gè)。通過濾波器單元180的重構(gòu)塊可被存儲在參考畫面緩沖器190中。
圖2是示出了根據(jù)本發(fā)明示范實(shí)施例的圖像解碼設(shè)備的配置的框圖。
參考圖2,圖像解碼設(shè)備200包括熵解碼器210、反量化器220、逆變換器230、幀內(nèi)預(yù)測器240、運(yùn)動(dòng)補(bǔ)償器250、加法器255、濾波器單元260、和參考畫面緩沖器270。
圖像解碼設(shè)備200可接收從編碼器輸出的比特流以利用幀內(nèi)模式或幀間模式執(zhí)行解碼,并輸出重構(gòu)的圖像(即,重構(gòu)圖像)。在幀內(nèi)模式的情況下,開關(guān)可切換到幀內(nèi),而在幀間模式的情況下,開關(guān)可切換到幀間模式。圖像解碼設(shè)備200從接收的比特流獲得殘差塊,并生成預(yù)測塊,并然后將殘差塊和預(yù)測塊相加,由此生成重構(gòu)的塊(即,重構(gòu)塊)。
熵解碼器210可根據(jù)概率分布對輸入比特流執(zhí)行熵編碼,以生成具有具有量化系數(shù)類型碼元的碼元。熵編碼方法是接收bin序列/串并生成每一碼元的方法。熵解碼方法與上述熵編碼方法類似。
更詳細(xì)地,cabac熵解碼方法可接收比特流中與每一語法元素對應(yīng)的bin,使用解碼目標(biāo)語法元素信息以及關(guān)于相鄰和解碼目標(biāo)塊的解碼信息、或關(guān)于在先前步驟解碼的碼元/bin的信息,以確定上下文模型,并根據(jù)確定的上下文模型來預(yù)測bin的出現(xiàn)概率,并執(zhí)行bin的算術(shù)解碼,以生成與每一語法元素的值對應(yīng)的碼元。在該情況下,cabac熵解碼方法可確定上下文模型,并然后通過使用關(guān)于對于碼元/bin的上下文模型而解碼的碼元/bin的信息,來更新上下文模型。
當(dāng)應(yīng)用熵解碼方法時(shí),熵解碼方法通過向具有高出現(xiàn)概率的碼元分配少量比特并向具有低出現(xiàn)概率的碼元分配大量比特來表示碼元,由此降低用于每一碼元的比特流的尺寸。所以,可通過該熵解碼方法增加圖像解碼的壓縮性能。
量化的系數(shù)在反量化器220中被反量化,并在逆變換器230中被逆變換。量化的系數(shù)可被反量化/逆變換以生成殘差塊。
在幀內(nèi)模式的情況下,幀內(nèi)預(yù)測器240可使用當(dāng)前塊周圍的先前編碼塊的像素值來執(zhí)行空間預(yù)測,以生成預(yù)測塊。在幀間模式的情況下,運(yùn)動(dòng)補(bǔ)償器250通過使用運(yùn)動(dòng)向量和在參考畫面緩沖器270中存儲的參考畫面,來執(zhí)行運(yùn)動(dòng)補(bǔ)償,由此生成預(yù)測塊。
殘差塊和預(yù)測塊通過加法器255相加,并且相加的塊通過濾波器單元260。濾波器單元260可向重構(gòu)塊或重構(gòu)畫面應(yīng)用解塊濾波器、sao、和alf中的至少一個(gè)。濾波器單元260輸出重構(gòu)的圖像(即,重構(gòu)圖像)。重構(gòu)圖像可被存儲在參考畫面緩沖器270中以便用于幀間預(yù)測。
其后,單元意味著圖像編碼和解碼的單位。在圖像編碼和解碼時(shí),編碼或解碼單元意味著當(dāng)通過劃分圖像來執(zhí)行編碼和解碼時(shí)所劃分的單元,其可被稱為塊、編碼單元(cu)、編碼塊、預(yù)測單元(pu)、預(yù)測塊、變換單元(tu)、變換塊等。單一單元可被細(xì)分為具有較小尺寸的較小單元。
這里,預(yù)測單元意味著作為執(zhí)行預(yù)測和/或運(yùn)動(dòng)補(bǔ)償?shù)膯卧幕締卧nA(yù)測單元可被劃分為多個(gè)分區(qū),并且每一分區(qū)可被稱為預(yù)測單元分區(qū)。當(dāng)將預(yù)測單元?jiǎng)澐譃槎鄠€(gè)分區(qū)時(shí),所述多個(gè)分區(qū)中的每一個(gè)可以是作為執(zhí)行預(yù)測和/或運(yùn)動(dòng)補(bǔ)償?shù)膯卧幕締卧?。其后,在本發(fā)明的示范實(shí)施例中,其中劃分預(yù)測單元的每一分區(qū)也可被稱為預(yù)測單元。
其間,可根據(jù)編碼/解碼目標(biāo)單元的幀內(nèi)預(yù)測模式來執(zhí)行幀內(nèi)預(yù)測。在該情況下,幀內(nèi)預(yù)測模式中的每一個(gè)可具有與其對應(yīng)的預(yù)測方向,并且每一預(yù)測方向可具有預(yù)定角度值。所以,編碼/解碼目標(biāo)單元的幀內(nèi)預(yù)測模式還可表示關(guān)于編碼/解碼目標(biāo)單元的預(yù)測方向信息。
編碼器可對幀內(nèi)預(yù)測模式進(jìn)行編碼,并將編碼后的幀內(nèi)預(yù)測模式傳送到解碼器。當(dāng)編碼器編碼并傳送用于編碼目標(biāo)單元的幀內(nèi)預(yù)測模式時(shí),為了降低傳送的比特?cái)?shù)量并增加編碼效率,可使用用于預(yù)測幀內(nèi)預(yù)測模式的方法。
編碼目標(biāo)單元的預(yù)測模式具有和重構(gòu)相鄰單元的預(yù)測模式相等的高概率,并所以,可通過使用與編碼目標(biāo)單元相鄰的重構(gòu)相鄰單元的預(yù)測模式,來編碼該編碼目標(biāo)單元的預(yù)測模式。其后,將用作編碼目標(biāo)單元的幀內(nèi)預(yù)測模式的預(yù)測值的預(yù)測模式稱為最可能模式(mpm)。在該情況下,作為預(yù)先編碼或解碼并重構(gòu)的單元的重構(gòu)相鄰單元可包括與該編碼/解碼目標(biāo)單元相鄰的單元、安排在該編碼/解碼目標(biāo)單元的右上角的單元、安排在該編碼/解碼目標(biāo)單元的左上角的單元、和/或安排在該編碼/解碼目標(biāo)單元的左下角的單元。
圖3是示意性示出了用于編碼/解碼目標(biāo)單元的重構(gòu)相鄰單元的示范實(shí)施例的構(gòu)思圖。
參考圖3,作為用于編碼/解碼目標(biāo)單元e的重構(gòu)相鄰單元,可存在與e單元的左邊相鄰的左相鄰單元a、與e單元的上邊相鄰的上相鄰單元b、在e單元的右上角安排的右上角單元c、和在e單元的左上角安排的左上角單元d等。
其后,在稍后要描述的本發(fā)明的示范實(shí)施例中,將左相鄰單元稱為單元a,將上相鄰單元稱為單元b,將右上角單元稱作單元c,并將左上角單元稱作單元d。另外,編碼/解碼目標(biāo)單元被稱作單元e。
圖4是示意性示出了根據(jù)本發(fā)明示范實(shí)施例的用于編碼幀內(nèi)預(yù)測模式的方法的流程圖。
參考圖4,編碼器可確定編碼目標(biāo)單元的幀內(nèi)預(yù)測模式(s410)。
另外,編碼器可導(dǎo)出關(guān)于相鄰預(yù)測模式的信息(s420)。這里,相鄰預(yù)測模式可意味著重構(gòu)相鄰單元的幀內(nèi)預(yù)測模式。其后,關(guān)于相鄰預(yù)測模式的信息被稱作相鄰預(yù)測模式信息。
所述重構(gòu)相鄰單元中的每一個(gè)可具有幀內(nèi)預(yù)測模式。在該情況下,編碼器可導(dǎo)出關(guān)于重構(gòu)相鄰單元之中具有幀內(nèi)預(yù)測模式的單元的相鄰預(yù)測模式信息。相鄰預(yù)測模式之間的角度差和/或相鄰預(yù)測模式的模式編號等可在該相鄰預(yù)測模式信息中。
如上所述,所述幀內(nèi)預(yù)測模式中的每一個(gè)可具有與其對應(yīng)的預(yù)測方向,并且每一預(yù)測方向可具有預(yù)定角度值。所以,每一相鄰預(yù)測模式可具有預(yù)定角度值,并且編碼器可導(dǎo)出相鄰預(yù)測模式之間的角度差。其后,關(guān)于相鄰預(yù)測模式之間的角度差的信息是角度差信息。
另外,所述幀內(nèi)預(yù)測模式中的每一個(gè)可具有與其對應(yīng)的模式編號,并且編碼器可導(dǎo)出和/或區(qū)分相鄰預(yù)測模式的模式編號??筛鶕?jù)幀內(nèi)預(yù)測模式的出現(xiàn)概率來確定向幀內(nèi)預(yù)測模式分配的模式編號。例如,可向具有高出現(xiàn)概率的預(yù)測模式分配低模式編號。所以,編碼器所導(dǎo)出的相鄰預(yù)測模式的模式編號還可以表示相鄰預(yù)測模式的模式順序。其后,關(guān)于相鄰預(yù)測模式的模式編號的信息被稱作模式編號信息。
再次參考圖4,編碼器可使用導(dǎo)出的相鄰預(yù)測模式信息,來編碼用于該編碼目標(biāo)單元的幀內(nèi)預(yù)測模式(s430)。
編碼器可導(dǎo)出用于該編碼目標(biāo)單元的mpm候選,以便編碼用于該編碼目標(biāo)單元的幀內(nèi)預(yù)測模式??墒褂弥貥?gòu)相鄰單元的幀內(nèi)預(yù)測模式,來導(dǎo)出mpm候選。在該情況下,編碼器可使用單元a、b、c和d的預(yù)測模式中的至少一個(gè)。
當(dāng)在重構(gòu)相鄰單元中存在不可用單元時(shí),編碼器可以不使用用于導(dǎo)出mpm候選的不可用單元。另外,在重構(gòu)相鄰單元之中,通過脈沖代碼調(diào)制(pcm)方案的編碼/解碼單元和/或通過幀內(nèi)預(yù)測的編碼/解碼單元可以不包括與幀內(nèi)預(yù)測模式相關(guān)的信息。所以,可以不使用通過pcm方案和/或幀內(nèi)預(yù)測的編碼/解碼單元來導(dǎo)出mpm候選。另外,在重構(gòu)相鄰單元之中,可以通過約束幀內(nèi)預(yù)測(cip)方案來呈現(xiàn)編碼/解碼單元,當(dāng)重構(gòu)相鄰單元是cip并且其幀內(nèi)預(yù)測模式是dc模式時(shí),編碼器可以不使用那個(gè)相鄰單元作為mpm候選。根據(jù)用于導(dǎo)出mpm候選的方法的示范實(shí)施例,編碼器可以選擇左相鄰單元a的預(yù)測模式和上相鄰單元b的預(yù)測模式之中的、被分配了最小表格索引的預(yù)測模式(例如,min(a,b)),作為mpm列表中包括的mpm候選。在該情況下,當(dāng)角度差信息指示單元a的預(yù)測模式角度與單元b的預(yù)測模式角度相同時(shí),即當(dāng)單元a的模式編號與單元b的模式編號相同時(shí),編碼器可與表格索引無關(guān)地選擇預(yù)測模式。
可基于預(yù)測模式的出現(xiàn)頻率和統(tǒng)計(jì)值,來向預(yù)測模式分配表格索引。例如,可向具有最高出現(xiàn)頻率的預(yù)測模式分配最小表格索引值,并可向具有最低出現(xiàn)頻率的預(yù)測模式分配最高表格索引值。
可以不分配表格索引以便滿足預(yù)測模式的出現(xiàn)頻率。即,可以不根據(jù)出現(xiàn)頻率來對準(zhǔn)表格索引。在該情況下,編碼器可以與表格索引值無關(guān)地選擇單元a的預(yù)測模式和單元b的預(yù)測模式之中的、具有較高出現(xiàn)頻率的預(yù)測模式,作為mpm列表中包括的mpm候選。
編碼器還可以使用預(yù)定固定數(shù)目(n)的mpm候選以便編碼該幀內(nèi)預(yù)測模式。這里,n可以是正整數(shù)。
作為示范實(shí)施例,mpm列表中包括的mpm候選的數(shù)目可以是2。例如,編碼器可以選擇左相鄰單元a的預(yù)測模式和上相鄰單元b的預(yù)測模式作為mpm候選。
在該情況下,從單元a和單元b導(dǎo)出的mpm候選的數(shù)目可以小于2。例如,當(dāng)角度差信息指示單元a的預(yù)測模式角度和單元b的預(yù)測模式角度相同時(shí),即,當(dāng)單元a的模式編號和單元b的模式編號相同時(shí),從編碼器導(dǎo)出的mpm候選的數(shù)目可以是1。在該情況下,除了從單元a和單元b導(dǎo)出的mpm候選之外的剩余mpm候選可被設(shè)置和/或?qū)С鰹轭A(yù)定模式。即,編碼器可選擇預(yù)定模式作為附加mpm候選。例如,預(yù)定模式可固定為dc。另外,當(dāng)單元a和單元b的預(yù)測模式不是平面模式時(shí),該預(yù)定模式可以是平面模式,而當(dāng)單元a和單元b的預(yù)測模式是平面模式時(shí),該預(yù)定模式可以是dc模式。
另外,當(dāng)在重構(gòu)相鄰單元之中存在不可用單元時(shí),從編碼器導(dǎo)出的mpm候選的數(shù)目可以是1。在該情況下,除了從單元a和單元b導(dǎo)出的mpm候選之外的剩余mpm候選可被設(shè)置和/或?qū)С鰹轭A(yù)定模式。即,編碼器可選擇預(yù)定模式作為附加mpm候選。這里,預(yù)定模式可以是例如dc模式或平面模式。
作為本發(fā)明的另一示范實(shí)施例,mpm列表中包括的mpm候選的數(shù)目可以是3。例如,編碼器可選擇左相鄰單元a的預(yù)測模式、上相鄰單元b的預(yù)測模式、和先前編碼單元的預(yù)測模式之中的具有最高出現(xiàn)頻率的預(yù)測模式作為mpm候選。
在該情況下,從單元a和單元b導(dǎo)出的mpm候選的數(shù)目可以小于2。例如,當(dāng)角度差信息指示單元a的預(yù)測模式角度和單元b的預(yù)測模式角度相同時(shí),即,當(dāng)單元a的模式編號和單元b的模式編號相同時(shí),從編碼器導(dǎo)出的mpm候選的數(shù)目可以是1。另外,可存在重構(gòu)相鄰單元之中的不可用單元。當(dāng)從單元a和單元b導(dǎo)出的mpm候選的數(shù)目小于2時(shí),編碼器還可以在先前編碼的單元的預(yù)測模式之中按照出現(xiàn)頻率的順序選擇多個(gè)預(yù)測模式作為mpm候選。
具有高出現(xiàn)頻率的預(yù)測模式選擇單元(即,預(yù)測模式選擇單元)可以是包括編碼目標(biāo)單元的編碼目標(biāo)畫面、編碼目標(biāo)片段、最大編碼單元(lcu)、編碼單元(cu)、和/或預(yù)測單元(pu)。編碼器還可以使用計(jì)數(shù)器以便計(jì)算預(yù)測模式的出現(xiàn)頻率。當(dāng)使用計(jì)數(shù)器時(shí),編碼器可以對預(yù)測模式選擇單元執(zhí)行編碼,并然后初始化計(jì)數(shù)器。即,計(jì)數(shù)器可被初始化為預(yù)測模式選擇單元。
當(dāng)通過上述方法導(dǎo)出mpm候選時(shí),編碼器可通過使用導(dǎo)出的mpm候選來生成mpm列表。編碼器可確定在mpm列表內(nèi)是否可存在與編碼目標(biāo)單元的預(yù)測模式相同的mpm候選。在該情況下,編碼器可向解碼器傳送指示在mpm列表內(nèi)是否可存在與編碼目標(biāo)單元的預(yù)測模式相同的mpm候選的標(biāo)記。其后,該標(biāo)記被稱作mpm標(biāo)記。
根據(jù)本發(fā)明的示范實(shí)施例,向解碼器傳送的mpm標(biāo)記可由prev_intra_luma_pred_flag表示。例如,當(dāng)在mpm列表內(nèi)存在與編碼目標(biāo)單元的預(yù)測模式相同的mpm候選時(shí),mpm標(biāo)記可被分配1,或者相反被分配0。
當(dāng)在mpm列表內(nèi)存在與編碼目標(biāo)單元的預(yù)測模式相同的mpm候選時(shí),編碼器可向解碼器傳送指示編碼目標(biāo)單元的預(yù)測模式是否與mpm列表中的任一mpm候選相同的索引。其后,該索引被稱作mpm索引。在該情況下,編碼器和解碼器可使用指示該mpm索引的mpm候選作為編碼目標(biāo)單元的幀內(nèi)預(yù)測模式。
當(dāng)mpm列表中包括的mpm候選的數(shù)目是1時(shí),編碼器可以不編碼該mpm索引。另外,即使當(dāng)解碼器能知道與解碼目標(biāo)單元的預(yù)測模式相同的mpm候選時(shí),編碼器也可以不編碼該mpm索引。在該情況下,編碼器可以僅編碼mpm標(biāo)記,并且向解碼器傳送編碼后的mpm標(biāo)記。
當(dāng)在mpm列表內(nèi)不存在與編碼目標(biāo)單元的預(yù)測模式相同的mpm候選時(shí),編碼器可通過使用當(dāng)前編碼目標(biāo)單元的預(yù)測模式和mpm列表來導(dǎo)出剩余模式。這里,可使用除了mpm候選之外的幀內(nèi)預(yù)測模式,來導(dǎo)出該剩余模式。編碼器可對生成的剩余模式進(jìn)行編碼并將編碼后的剩余模式傳送到解碼器。根據(jù)本發(fā)明的示范實(shí)施例,剩余模式可由rem_intra_luma_pred_mode表示。
當(dāng)對編碼目標(biāo)單元的幀內(nèi)預(yù)測模式進(jìn)行編碼時(shí),編碼器可以不使用重構(gòu)相鄰單元和/或mpm候選。在該情況下,編碼器可以對編碼目標(biāo)單元的幀內(nèi)預(yù)測模式執(zhí)行熵編碼,并可將編碼后的幀內(nèi)預(yù)測模式傳送到解碼器。
其間,編碼器可對上述mpm標(biāo)記、mpm索引、剩余模式、和/或幀內(nèi)預(yù)測模式執(zhí)行熵編碼,并將它們傳送到解碼器。在該情況下,當(dāng)對每一語法元素執(zhí)行熵編碼時(shí),編碼器可通過僅使用上下文模式來執(zhí)行算術(shù)編碼,并還可使用固定比特編碼。然而,在該情況下,不使用關(guān)于重構(gòu)相鄰單元的幀內(nèi)預(yù)測模式信息,并所以編碼效率可以低。所以,可提供用于通過使用關(guān)于重構(gòu)相鄰單元的幀內(nèi)預(yù)測模式的信息(即,相鄰預(yù)測模式信息)來執(zhí)行熵編碼的方法。如上所述,相鄰預(yù)測模式之間的角度差和/或相鄰預(yù)測模式的模式編號等可以在該相鄰預(yù)測模式信息中。其后,將描述用于通過使用該相鄰預(yù)測模式信息來對該編碼目標(biāo)單元執(zhí)行熵編碼的方法的示范實(shí)施例。
圖5是示出了用于使用相鄰預(yù)測模式信息來執(zhí)行熵編碼的方法的示范實(shí)施例的流程圖。
參考圖5,編碼器可通過使用相鄰模式信息來選擇用于編碼目標(biāo)單元的上下文模型和/或vlc表格(s510)。這里,可變長度編碼(vlc)表格可以和可變長度編碼表格具有相同含義。
當(dāng)執(zhí)行熵編碼時(shí),編碼器可選擇和使用多個(gè)上下文模型之一。在該情況下,編碼器可通過使用相鄰預(yù)測模式之間的角度差信息來選擇上下文模型,并可通過使用相鄰預(yù)測模式的模式編號和/或模式順序來選擇上下文模型。另外,編碼器還可以通過使用角度差信息和模式編號信息來選擇上下文模型。
另外,編碼器可在執(zhí)行熵編碼時(shí)選擇和使用多個(gè)vlc表格之一。在該情況下,編碼器可通過使用相鄰預(yù)測模式之間的角度差信息來選擇vlc表格,并可通過使用相鄰預(yù)測模式的模式編號和/或模式順序來選擇上下文模型。另外,編碼器還可以通過使用角度差信息和模式編號信息來選擇上下文模型。
編碼器可通過使用選擇的上下文模型和/或vlc表格來對該編碼目標(biāo)單元的幀內(nèi)預(yù)測模式執(zhí)行熵編碼(s520)。在該情況下,如上所述,執(zhí)行熵編碼的語法元素可包括如上所述mpm標(biāo)記、mpm索引、剩余模式、和/或幀內(nèi)模式等。
圖6是示出了用于根據(jù)角度差信息來選擇上下文模型的方法的示范實(shí)施例的表格。
圖6的附圖標(biāo)記610是指示相鄰預(yù)測模式之間的角度差信息的示例的表格。圖6的附圖標(biāo)記610,ver可表示垂直方向預(yù)測,hor可表示水平方向預(yù)測,而dc可表示dc預(yù)測。
如上所述,幀內(nèi)預(yù)測模式中的每一個(gè)可具有與其對于的預(yù)測方向,并且每一預(yù)測方向可具有預(yù)定角度值。所以,相鄰預(yù)測模式之間的預(yù)測方向差可通過相鄰預(yù)測模式之間的角度差來定義。編碼器和解碼器可同樣存儲包括角度差信息的表格,并且編碼器和解碼器可通過使用存儲的表格來導(dǎo)出相鄰預(yù)測模式之間的角度差。
圖6的附圖標(biāo)記620是指示相鄰預(yù)測模式之間的角度差的上下文類別的示例的表格。在圖6的附圖標(biāo)記620處,d表示角度差值,ctxn(n是1、2、3或4)可表示向編碼目標(biāo)單元的語法元素應(yīng)用的上下文模型。另外,th1(閾值1)、th2(閾值2)、th3(閾值3)、th4(閾值4)中的每一個(gè)可表示角度差的閾值。
參考圖6的附圖標(biāo)記620,編碼器可通過使用角度差信息來選擇四個(gè)不同上下文模型之一。例如,當(dāng)相鄰預(yù)測模式之間的角度差大于th1并小于th2時(shí),編碼器可選擇ctx2作為該編碼目標(biāo)單元的上下文模型。
圖6的附圖標(biāo)記630是指示根據(jù)相鄰預(yù)測模式之間的角度差的上下文類別的另一示例的表格。參考圖6的附圖標(biāo)記630,編碼器可通過使用角度差信息來選擇四個(gè)不同上下文模型之一。
例如,假設(shè)左相鄰單元a的幀內(nèi)預(yù)測模式是1(hor)而上相鄰單元b的幀內(nèi)預(yù)測模式是33(hor+7)。這里,1(hor)可表示其模式編號為1的預(yù)測模式,而33(hor+7)可表示其模式編號為33的預(yù)測模式。在該情況下,參考圖6的附圖標(biāo)記610,相鄰預(yù)測模式之間的角度差可以是35。所以,編碼器可選擇ctx1作為編碼目標(biāo)單元的上下文模型。
盡管上述示范實(shí)施例描述其中通過使用左相鄰單元a和上相鄰單元b來導(dǎo)出角度差信息的情況,但是用于導(dǎo)出角度差信息的方法不限于該示范實(shí)施例。相鄰預(yù)測模式之間的角度差信息可以使用重構(gòu)相鄰單元之中的可用單元通過各種方法來導(dǎo)出。
另外,在上述示范實(shí)施例中,每一上下文模型ctx1到ctx4可具有不同的初始值。在該情況下,最可能狀態(tài)(mps)和最可能狀態(tài)(mps)的概率值可通過使用每一上下文模型中的不同初始值來確定,并且可使用量化參數(shù)的編碼參數(shù)等用于確定所述mps和mps概率值。
圖7是示出了用于根據(jù)角度差信息來選擇vlc表格的方法的示范實(shí)施例的表格。
圖7的附圖標(biāo)記710是指示角度差信息的示例的表格。如上所述,幀內(nèi)預(yù)測模式中的每一個(gè)可具有與其對應(yīng)的預(yù)測方向,并且每一預(yù)測方向可具有預(yù)定角度值。所以,相鄰預(yù)測模式之間的預(yù)測方向差可通過相鄰預(yù)測模式之間的角度差來定義。編碼器和解碼器可存儲包括該角度差信息的表格,并且編碼器和解碼器可通過使用存儲的表格來導(dǎo)出相鄰預(yù)測模式之間的角度差。
圖7的附圖標(biāo)記720是指示根據(jù)相鄰預(yù)測模式之間的角度差的vlc表格類別的示例的表格。在圖7的附圖標(biāo)記720處,d表示角度差值,vlcn(n是1、2、3或4)可表示向編碼目標(biāo)單元的語法元素應(yīng)用的vlc表格。另外,th1(閾值1)、th2(閾值2)、th3(閾值3)、th4(閾值4)中的每一個(gè)可表示角度差的閾值。
參考圖7的附圖標(biāo)記720,編碼器可通過角度差信息來選擇四個(gè)不同vlc表格之一。例如,當(dāng)相鄰預(yù)測模式之間的角度差大于th1并小于th2時(shí),編碼器可選擇vlc2作為編碼目標(biāo)單元的vlc表格。
圖7的附圖標(biāo)記730是指示根據(jù)相鄰預(yù)測模式之間的角度差的vlc表格類別的另一示例的表格。參考圖7的附圖標(biāo)記730,編碼器可通過使用角度差信息來選擇四個(gè)不同vlc表格之一。在圖7的附圖標(biāo)記730中,當(dāng)角度差值是45或更小時(shí),可選擇vlc1作為用于編碼目標(biāo)單元的vlc表格,當(dāng)角度差值大于45并小于90時(shí),可選擇vlc2作為用于編碼目標(biāo)單元的vlc表格,當(dāng)角度差值大于90并小于135時(shí),可選擇vlc3作為用于編碼目標(biāo)單元的vlc表格,而當(dāng)角度差值大于135時(shí),可選擇vlc4作為用于編碼目標(biāo)單元的vlc表格。
例如,假設(shè)左相鄰單元a的幀內(nèi)預(yù)測模式是1(hor)而上相鄰單元b的幀內(nèi)預(yù)測模式是33(hor+7)。這里,1(hor)可表示其模式編號為1的預(yù)測模式,而33(hor+7)可表示其模式編號為33的預(yù)測模式。在該情況下,參考圖7的附圖標(biāo)記710,相鄰預(yù)測模式之間的角度差可以是35。所以,編碼器可選擇vlc1作為編碼目標(biāo)單元的vlc表格。
圖7的附圖標(biāo)記740是指示根據(jù)相鄰預(yù)測模式之間的角度差的vlc表格類別的另一示例的表格。參考圖7的附圖標(biāo)記740,編碼器可通過使用角度差信息來選擇兩個(gè)不同vlc表格之一。在圖7的附圖標(biāo)記740處,當(dāng)角度差值是0時(shí),即當(dāng)相鄰預(yù)測模式相同時(shí)(d=0),可選擇vlc1作為用于編碼目標(biāo)單元的vlc表格。另外,當(dāng)角度差值不是0時(shí),即當(dāng)相鄰預(yù)測模式不相同時(shí)(d!=0),可選擇vlc2作為用于編碼目標(biāo)單元的vlc。
例如,假設(shè)左相鄰單元a的幀內(nèi)預(yù)測模式是1(hor)而上相鄰單元b的幀內(nèi)預(yù)測模式是1(hor)。這里,1(hor)可表示其模式編號為1的預(yù)測模式。在該情況下,左相鄰單元a的幀內(nèi)預(yù)測模式和上相鄰單元b的幀內(nèi)預(yù)測模式相同,并所以,相鄰預(yù)測模式之間的角度差可以是0。所以,編碼器可選擇vlc1作為編碼目標(biāo)單元的vlc表格。
作為另一示例,假設(shè)左相鄰單元a的幀內(nèi)預(yù)測模式是1(hor)而上相鄰單元b的幀內(nèi)預(yù)測模式是33(hor+7)。這里,1(hor)可表示其模式編號為1的預(yù)測模式,而33(hor+7)可表示其模式編號為33的預(yù)測模式。在該情況下,左相鄰單元a的幀內(nèi)預(yù)測模式和上相鄰單元b的幀內(nèi)預(yù)測模式不相同,并所以,相鄰預(yù)測模式之間的角度差可以不是0。所以,編碼器可選擇vlc2作為編碼目標(biāo)單元的vlc表格。
盡管上述示范實(shí)施例描述了其中通過使用左相鄰單元a和上相鄰單元b導(dǎo)出角度差信息的情況,但是用于導(dǎo)出角度差信息的方法不限于該示范實(shí)施例。相鄰預(yù)測模式之間的角度差信息可以使用重構(gòu)相鄰單元之中的可用單元通過各種方法來導(dǎo)出。
圖8是示出了向多個(gè)vlc表格中的每一個(gè)分配的碼字的示范實(shí)施例的表格。
參考圖8,在每一vlc表格中,分配的碼字可以根據(jù)每一vlc表格中的每一碼元值和/或每一語法元素而不同。在該情況下,編碼器可通過向具有高出現(xiàn)概率的碼元分配具有短長度的碼字,而改進(jìn)編碼效率。
編碼器可在編碼處理期間更新每一vlc表格。例如,圖8的vlc1,當(dāng)碼元值2的出現(xiàn)頻率比碼元值1的出現(xiàn)頻率高時(shí),編碼器可改變向碼元值1分配的碼字“01”和向碼元值2分配的碼字“001”。在執(zhí)行更新之后,編碼器可通過使用更新的vlc表格來執(zhí)行熵編碼。
圖9是示出了用于根據(jù)相鄰預(yù)測模式的模式編號來選擇上下文模型的方法的示范實(shí)施例的表格。
圖9的附圖標(biāo)記910是表示向相鄰預(yù)測模式分配的模式編號的示例的表格。圖9的附圖標(biāo)記910示出了其中重構(gòu)相鄰單元中包括的幀內(nèi)預(yù)測模式的數(shù)目是34的情況的實(shí)施例。
如上所述,向幀內(nèi)預(yù)測模式分配的模式編號可根據(jù)幀內(nèi)預(yù)測模式的出現(xiàn)概率來確定。在該情況下,可向具有高出現(xiàn)概率的預(yù)測模式分配低模式編號。例如,在圖9的附圖標(biāo)記910的表格中,ver預(yù)測模式的出現(xiàn)概率可以最高。所以,相鄰預(yù)測模式的模式編號還可以表示相鄰預(yù)測模式的模式順序。
圖9的附圖標(biāo)記920示出了指示根據(jù)相鄰預(yù)測模式的模式編號的上下文類別的示例的表格。在圖9的附圖標(biāo)記920處,ctxn(n是1、2、3或4)可表示向編碼目標(biāo)單元的語法元素應(yīng)用的上下文模型。參考圖9的附圖標(biāo)記920,編碼器可通過使用相鄰預(yù)測模式的模式編號,來選擇四個(gè)不同上下文模型之一。
例如,假設(shè)左相鄰單元a的幀內(nèi)預(yù)測模式是0(ver)而上相鄰單元b的幀內(nèi)預(yù)測模式是6(ver+6)。這里,0(ver)可表示其模式編號為0的預(yù)測模式,而6(ver+6)可表示其模式編號為6的預(yù)測模式。在該情況下,參考圖9的附圖標(biāo)記920,單元a的模式編號和單元b的模式編號可被包括在相同上下文類別中。因?yàn)榕c上下文類別對應(yīng)的上下文模型是ctx1,所以可選擇ctx1作為用于該編碼目標(biāo)單元的上下文模型。
作為另一示例,假設(shè)左相鄰單元a的幀內(nèi)預(yù)測模式是8(hor+4)而上相鄰單元b的幀內(nèi)預(yù)測模式是21(ver-1)。這里,8(hor+4)可表示其模式編號為8的預(yù)測模式,而21(ver-1)可表示其模式編號為21的預(yù)測模式。參考圖9的920,單元a的模式編號和單元b的模式編號可被包括在不同上下文類別中。在該情況下,編碼器可選擇與較小模式編號(例如,模式編號8)對應(yīng)的上下文模型。因?yàn)榕c模式編號8對應(yīng)的上下文模型是ctx2,所以可選擇ctx2作為該編碼目標(biāo)單元的上下文模型。
盡管上述示范實(shí)施例描述了其中通過使用左相鄰單元a和上相鄰單元b來選擇上下文模型的情況,但是用于選擇上下文模型的方法不限于該示范實(shí)施例。用來選擇上下文模式的模式編號信息可以使用重構(gòu)相鄰單元之中的可用單元通過各種方法來導(dǎo)出。
圖10是示出了用于根據(jù)相鄰預(yù)測模式的模式編號來選擇vlc表格的方法的示范實(shí)施例的表格。
圖10的附圖標(biāo)記1010是表示向相鄰預(yù)測模式分配的模式編號的示例的表格。圖10的附圖標(biāo)記1010示出了其中重構(gòu)相鄰單元中包括的幀內(nèi)預(yù)測模式的數(shù)目是34的情況的實(shí)施例。
如上所述,向幀內(nèi)預(yù)測模式分配的模式編號可根據(jù)幀內(nèi)預(yù)測模式的出現(xiàn)概率來確定。在該情況下,可向具有高出現(xiàn)概率的預(yù)測模式分配低模式編號。例如,在圖10的附圖標(biāo)記1010的表格中,ver預(yù)測模式的出現(xiàn)概率可以最高。所以,相鄰預(yù)測模式的模式編號還可以表示相鄰預(yù)測模式的模式順序。
圖10的附圖標(biāo)記1020示出了指示根據(jù)相鄰預(yù)測模式的模式編號的vlc表格類別的示例的表格。在圖10的附圖標(biāo)記1020處,vlcn(n是1、2、3或4)可表示向編碼目標(biāo)單元的語法元素應(yīng)用的vlc表格。參考圖10的附圖標(biāo)記1020,編碼器可通過使用相鄰預(yù)測模式的模式編號,來選擇四個(gè)不同vlc表格之一。
例如,假設(shè)左相鄰單元a的幀內(nèi)預(yù)測模式是0(ver)而上相鄰單元b的幀內(nèi)預(yù)測模式是6(ver+6)。這里,0(ver)可表示其模式編號為0的預(yù)測模式,而6(ver+6)可表示其模式編號為6的預(yù)測模式。在該情況下,參考圖10的附圖標(biāo)記1020,單元a的模式編號和單元b的模式編號可被包括在相同上下文類別中。與該類別對應(yīng)的vlc表格是vlc1,并所以編碼器可選擇vlc1作為該編碼目標(biāo)單元的vlc表格。
作為另一示例,假設(shè)左相鄰單元a的幀內(nèi)預(yù)測模式是8(hor+4)而上相鄰單元b的幀內(nèi)預(yù)測模式是21(ver-1)。這里,8(hor+4)可表示其模式編號為8的預(yù)測模式,而21(ver-1)可表示其模式編號為21的預(yù)測模式。參考圖10的1020,單元a的模式編號和單元b的模式編號可被包括在不同上下文類別中。在該情況下,編碼器可選擇與較小模式編號(例如,模式編號8)對應(yīng)的vlc表格。與模式編號8對應(yīng)的vlc表格是vlc2,并所以,編碼器可選擇vlc2作為用于該編碼目標(biāo)單元的vlc表格。
盡管上述示范實(shí)施例描述了其中通過使用左相鄰單元a和上相鄰單元b來選擇上下文模型的情況,但是用于選擇上下文模型的方法不限于該示范實(shí)施例。用來選擇上下文模式的模式編號信息可以使用重構(gòu)相鄰單元之中的可用單元通過各種方法來導(dǎo)出。
圖11是示出了用于通過使用相鄰預(yù)測模式之間的角度差信息和關(guān)于相鄰預(yù)測模式的模式編號信息來選擇上下文模型的方法的示范實(shí)施例的表格。
在圖11中,ctxn(n是1、2、3或4)可表示向編碼目標(biāo)單元的語法元素應(yīng)用的上下文模型。參考圖11,編碼器可通過使用相鄰預(yù)測模式之間的角度差和相鄰預(yù)測模式的模式編號,來選擇四個(gè)不同上下文模型之一。
例如,假設(shè)左相鄰單元a的幀內(nèi)預(yù)測模式是1(hor)而上相鄰單元b的幀內(nèi)預(yù)測模式是33(hor+7)。這里,1(hor)可表示其模式編號為1的預(yù)測模式,而33(hor+7)可表示其模式編號為33的預(yù)測模式。在該情況下,相鄰預(yù)測模式之間的角度差可以是35。另外,由于單元a的模式編號和單元b的模式編號被包括在不同類別中,所以編碼器可選擇與較小模式編號(例如,模式編號1)對應(yīng)的上下文模型。所以,編碼器可選擇ctx1作為用于該編碼目標(biāo)單元的上下文模型。
圖12是示出了用于通過使用相鄰預(yù)測模式之間的角度差信息和關(guān)于相鄰預(yù)測模式的模式編號信息來選擇vlc表格的方法的示范實(shí)施例的表格。
在圖12中,vlcn(n是1、2、3或4)可表示向編碼目標(biāo)單元的語法元素應(yīng)用的vlc表格。參考圖12,編碼器可通過使用相鄰預(yù)測模式之間的角度差和相鄰預(yù)測模式的模式編號,來選擇四個(gè)不同vlc表格之一。
例如,假設(shè)左相鄰單元a的幀內(nèi)預(yù)測模式是0(ver)而上相鄰單元b的幀內(nèi)預(yù)測模式是0(ver+6)。這里,0(ver)可表示其模式編號為0的預(yù)測模式。在該情況下,相鄰預(yù)測模式之間的角度差可以是0。另外,由于單元a的模式編號和單元b的模式編號被包括在相同類別中,所以編碼器可選擇與該相同類別對應(yīng)的vlc表格。所以,編碼器可選擇vlc1作為用于該編碼目標(biāo)單元的vlc表格。
作為另一示例,假設(shè)左相鄰單元a的幀內(nèi)預(yù)測模式是1(hor)而上相鄰單元b的幀內(nèi)預(yù)測模式是33(hor+7)。這里,1(hor)可表示其模式編號為1的預(yù)測模式,而33(hor+7)可表示其模式編號為33的預(yù)測模式。在該情況下,相鄰預(yù)測模式之間的角度差可以是35而不是0。另外,由于單元a的模式編號和單元b的模式編號被包括在不同類別中,所以編碼器可選擇與較小模式編號(例如,模式編號1)對應(yīng)的vlc表格。所以,編碼器可選擇vlc2作為用于該編碼目標(biāo)單元的vlc表格。
其間,如上所述,編碼器可通過使用重構(gòu)相鄰單元來導(dǎo)出關(guān)于編碼目標(biāo)單元的相鄰預(yù)測模式信息。這里,相鄰預(yù)測模式之間的角度差和/或相鄰預(yù)測模式的模式編號等可以在相鄰預(yù)測模式信息中。
重構(gòu)相鄰單元的數(shù)目可以是2或更多。在該情況下,編碼器選擇重構(gòu)相鄰單元之中的、和編碼目標(biāo)預(yù)測單元的編碼參數(shù)具有最相似的編碼參數(shù)的兩個(gè)單元,其可用來導(dǎo)出相鄰預(yù)測模式信息。
另外,解碼目標(biāo)單元中包括的幀內(nèi)預(yù)測模式的數(shù)目和重構(gòu)相鄰單元中包括的幀內(nèi)預(yù)測模式的數(shù)目可彼此不同。在該情況下,當(dāng)導(dǎo)出相鄰預(yù)測模式信息時(shí),編碼器還可僅使用編碼目標(biāo)單元和重構(gòu)相鄰單元中共同包括的幀內(nèi)預(yù)測模式。
另外,與幀內(nèi)預(yù)測模式相關(guān)的第一語法元素和與該第一語法元素不同的預(yù)定第二語法元素可表示在用于熵編碼的vlc表格中。在該情況下,vlc表格可被稱作集成(integrated)vlc表格。在該情況下,編碼器可通過使用該集成vlc表格來編碼該第一語法元素和該第二語法元素。
根據(jù)用于編碼上述幀內(nèi)預(yù)測模式的方法,編碼器通過使用關(guān)于相鄰預(yù)測模式的信息來有效編碼該幀內(nèi)預(yù)測模式。所以,可根據(jù)周圍條件的改變來有效執(zhí)行編碼,并且可改進(jìn)編碼效率。
圖13是示意性示出了根據(jù)本發(fā)明示范實(shí)施例的用于解碼幀內(nèi)預(yù)測模式的方法的流程圖。
參考圖13,解碼器可導(dǎo)出關(guān)于相鄰預(yù)測模式的信息(s1310)。這里,相鄰預(yù)測模式之間的角度差和/或相鄰預(yù)測模式的模式編號等可以在相鄰預(yù)測模式信息中。解碼器可通過使用和編碼器相同的方法來導(dǎo)出該相鄰預(yù)測模式信息。
當(dāng)導(dǎo)出該相鄰預(yù)測模式信息時(shí),解碼器可通過使用導(dǎo)出的相鄰預(yù)測模式信息,來解碼用于該解碼目標(biāo)單元的幀內(nèi)預(yù)測模式(s1320)。
解碼器可導(dǎo)出該解碼目標(biāo)單元的mpm候選,以便解碼用于該解碼目標(biāo)單元的幀內(nèi)預(yù)測模式。可使用重構(gòu)相鄰單元的幀內(nèi)預(yù)測模式,來導(dǎo)出mpm候選。當(dāng)導(dǎo)出mpm候選時(shí),解碼器還可以使用相鄰預(yù)測模式信息(例如,相鄰預(yù)測模式之間的角度差和/或相鄰預(yù)測模式的模式編號)。用于導(dǎo)出mpm候選的方法和用于在編碼器中導(dǎo)出mpm候選的方法相同,并所以將省略其描述。當(dāng)導(dǎo)出mpm候選時(shí),解碼器可通過使用導(dǎo)出的mpm候選來生成mpm列表。
如上所述,編碼器可編碼mpm標(biāo)記并將編碼后的mpm標(biāo)記傳送到解碼器。這里,mpm標(biāo)記是指示在mpm列表中是否存在與編碼目標(biāo)單元的預(yù)測模式相同的mpm候選的標(biāo)記。在該情況下,解碼器可接收和解碼mpm標(biāo)記。解碼器可通過使用解碼的mpm標(biāo)記來確定在mpm列表中是否存在與解碼目標(biāo)單元的預(yù)測模式相同的mpm候選。
當(dāng)在mpm列表中存在與編碼目標(biāo)單元的預(yù)測模式相同的mpm候選時(shí),編碼器可編碼mpm索引并將編碼后的mpm索引傳送到解碼器。這里,mpm索引是指示編碼目標(biāo)單元的預(yù)測模式是否與mpm列表中的任一mpm候選相同的索引。在該情況下,解碼器可接收和解碼mpm索引。解碼器可使用mpm列表中的mpm候選之中的、由解碼的mpm索引指示的mpm候選,作為該解碼目標(biāo)單元的幀內(nèi)預(yù)測模式。
當(dāng)mpm列表中包括的mpm候選的數(shù)目是1時(shí),編碼器可以不編碼mpm索引。另外,即使當(dāng)解碼器能知道與解碼目標(biāo)單元的預(yù)測模式相同的mpm候選時(shí),編碼器也可以不編碼mpm索引。在該情況下,解碼器能省略接收和解碼mpm索引的處理。
當(dāng)在mpm列表中存在與編碼目標(biāo)單元的預(yù)測模式相同的mpm候選時(shí),編碼器可編碼剩余模式,并將編碼后的剩余模式傳送到解碼器。在該情況下,解碼器能接收并解碼剩余模式。
當(dāng)編碼該編碼目標(biāo)單元的幀內(nèi)預(yù)測模式時(shí),編碼器可以不使用重構(gòu)相鄰單元和/或mpm候選。在該情況下,編碼器可對該編碼目標(biāo)單元的幀內(nèi)預(yù)測模式執(zhí)行熵編碼,并可將編碼后的幀內(nèi)預(yù)測模式傳送到解碼器。在該情況下,解碼器可接收編碼后的幀內(nèi)預(yù)測模式并對其執(zhí)行熵解碼。
其間,解碼器可對上述mpm標(biāo)記、mpm索引、剩余模式、和/或幀內(nèi)預(yù)測模式執(zhí)行熵解碼。在該情況下,當(dāng)對每一語法元素執(zhí)行熵解碼時(shí),解碼器可通過僅使用一個(gè)上下文模型來執(zhí)行算術(shù)編碼,并且還可以使用固定比特解碼。然而,在該情況下,不使用重構(gòu)相鄰單元的幀內(nèi)預(yù)測模式信息,并所以解碼效率可以是低的。所以,可提供用于通過使用關(guān)于重構(gòu)相鄰單元的幀內(nèi)預(yù)測模式的信息(相鄰預(yù)測模式信息)來執(zhí)行熵解碼的方法。
圖14是示出了用于使用相鄰預(yù)測模式信息來執(zhí)行熵解碼的方法的示范實(shí)施例的流程圖。
參考圖14,解碼器可通過使用相鄰模式信息來選擇用于該解碼目標(biāo)單元的上下文模型和/或vlc表格(s1410)。
在執(zhí)行熵解碼時(shí),解碼器可選擇和使用所述多個(gè)上下文模型之一。在該情況下,解碼器可通過使用相鄰預(yù)測模式之間的角度差信息來選擇上下文模型,并可通過使用相鄰預(yù)測模式的模式編號和/或模式順序來選擇上下文模型。另外,解碼器還可以通過使用角度差信息和模式編號信息來選擇上下文模型。
另外,在執(zhí)行熵解碼時(shí),解碼器可選擇和使用所述多個(gè)vlc表格之一。在該情況下,解碼器可通過使用相鄰預(yù)測模式之間的角度差信息來選擇vlc表格,并可通過使用相鄰預(yù)測模式的模式編號和/或模式順序來選擇上下文模型。另外,解碼器還可以通過使用角度差信息和模式編號信息來選擇上下文模型。
解碼器可通過與編碼器相同的方法來來選擇用于該解碼目標(biāo)單元的上下文模型和/或vlc表格。上面描述了用于選擇上下文模型和vlc表格的方法的詳細(xì)示范實(shí)施例,并所以將省略其詳細(xì)描述。
解碼器可通過使用選擇的上下文模型和/或vlc表格來對該解碼目標(biāo)單元的幀內(nèi)預(yù)測模式執(zhí)行熵解碼(s1420)。在該情況下,如上所述,執(zhí)行熵解碼的語法元素可包括mpm標(biāo)記、mpm索引、剩余模式、和/或幀內(nèi)模式等。
根據(jù)用于解碼上述幀內(nèi)預(yù)測模式的方法,解碼器可通過使用關(guān)于相鄰預(yù)測模式的信息來有效解碼該幀內(nèi)預(yù)測模式。所以,可根據(jù)周圍條件的改變來有效執(zhí)行解碼,并且可改進(jìn)解碼效率。
在上述示范系統(tǒng)中,盡管已基于流程圖將這些方法描述為一連串步驟或塊,但是本發(fā)明不限于步驟順序,并且可按照與上述其他步驟不同的順序或同時(shí)生成任何步驟。此外,本領(lǐng)域技術(shù)人員可理解的是,流程圖中示出的步驟是非排他的,并所以包括其他步驟,或者刪除流程圖中的一個(gè)或多個(gè)步驟,而對本發(fā)明的范圍不具有影響。
上述實(shí)施例包括各個(gè)方面的示例。盡管沒有描述示出各個(gè)方面的所有可能組合,但是本領(lǐng)域技術(shù)人員可理解的是,可進(jìn)行其他組合。所以,本發(fā)明應(yīng)被解釋為包括屬于以下權(quán)利要求的所有其他替換、修改和變型。