專利名稱:用于率失真優(yōu)化的圖像編碼/解碼方法和用于執(zhí)行該方法的裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像的編碼和解碼,并且更具體地,涉及用于率失真優(yōu)化的圖像編碼/解碼方法和用于執(zhí)行該方法的裝置。
背景技術(shù):
在一般圖像壓縮方法中,通過將一個(gè)圖片分成每個(gè)均具有預(yù)定大小的多個(gè)塊來執(zhí)行編碼。此外,為了增加壓縮效率,使用幀間預(yù)測(cè)和幀內(nèi)預(yù)測(cè)技術(shù)來消除圖片之間的冗余?;趲g預(yù)測(cè)的圖像編碼方法通過去除圖片之間的空間冗余來壓縮圖像,并且其典型示例是運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)編碼方法。運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)編碼搜索與在當(dāng)前編碼的圖片之前和/或之后的至少一個(gè)參考圖片中的當(dāng)前編碼的塊相似的區(qū)域,以產(chǎn)生運(yùn)動(dòng)向量,并且使用產(chǎn)生的運(yùn)動(dòng)向量執(zhí)行運(yùn)動(dòng)補(bǔ)償,從而獲得預(yù)測(cè)塊。然后,預(yù)測(cè)塊和當(dāng)前塊的殘差經(jīng)過DCT (離散余弦變換)、量化和熵編碼,然后被發(fā)送。通常,將諸如16X 16、8X 16和8X8像素的各種大小的宏塊用于運(yùn)動(dòng)補(bǔ)償預(yù)測(cè),并且將大小為8X8或4X4像素的塊用于變換和量化。
幀內(nèi)預(yù)測(cè)是通過使用一個(gè)圖片中的塊之間的像素相關(guān)性去除空間冗余的壓縮圖像的方法,并且該方法根據(jù)將被編碼的當(dāng)前塊和與該當(dāng)前塊相鄰的編碼像素產(chǎn)生該當(dāng)前塊的預(yù)測(cè)值,然后壓縮當(dāng)前塊的像素的殘差和產(chǎn)生的預(yù)測(cè)值。在a 264/AVC中,幀內(nèi)預(yù)測(cè)使用的塊的大小是4X4、8X8或16X16,具有4X4或8X8像素大小的塊中的每一個(gè)經(jīng)受使用9個(gè)幀內(nèi)預(yù)定模式的幀內(nèi)預(yù)測(cè),具有16X 16像素大小的塊經(jīng)受使用4個(gè)幀內(nèi)預(yù)定模式的幀內(nèi)預(yù)測(cè)。如上所述,幀內(nèi)預(yù)測(cè)產(chǎn)生的殘差經(jīng)過變換和量化。然而,傳統(tǒng)的變換方法不考慮每個(gè)塊的特性,并且在率失真方面不能最大化變換性能。
發(fā)明內(nèi)容
技術(shù)問題本發(fā)明的目的在于提供一種可以最大化變換性能的用于率失真優(yōu)化的圖像編碼和解碼方法。本發(fā)明的另一目的是提供一種執(zhí)行上述變換方法的圖像編碼裝置和圖像解碼裝置。技術(shù)方案為了實(shí)現(xiàn)本發(fā)明的目的,根據(jù)本發(fā)明的一方面,一種圖像編碼方法包括步驟:接收將被編碼的編碼單元;對(duì)該編碼單元執(zhí)行幀間預(yù)測(cè)和幀內(nèi)預(yù)測(cè)中的一個(gè)以產(chǎn)生預(yù)測(cè)塊;基于產(chǎn)生的預(yù)測(cè)塊和該編碼單元產(chǎn)生殘差預(yù)測(cè)塊;以及將在多個(gè)預(yù)定變換矩陣中具有最高編碼效率的變換矩陣應(yīng)用到產(chǎn)生的殘差預(yù)測(cè)塊以對(duì)該殘差預(yù)測(cè)塊進(jìn)行變換。為了實(shí)現(xiàn)本發(fā)明的目的,根據(jù)本發(fā)明的一方面,一種通過將在多個(gè)預(yù)定變換矩陣中具有最高編碼效率的變換矩陣應(yīng)用到殘差預(yù)測(cè)塊對(duì)編碼的比特流進(jìn)行解碼的圖像解碼方法包括步驟:對(duì)比特流進(jìn)行熵解碼,以提取運(yùn)動(dòng)向量信息、量化的殘差預(yù)測(cè)塊信息、運(yùn)動(dòng)向量信息、幀內(nèi)預(yù)測(cè)模式信息和變換矩陣信息中的至少一個(gè);對(duì)量化的殘差預(yù)測(cè)塊進(jìn)行逆量化;通過應(yīng)用變換矩陣對(duì)逆量化的殘差預(yù)測(cè)塊進(jìn)行逆變換以重建該殘差預(yù)測(cè)塊;執(zhí)行運(yùn)動(dòng)補(bǔ)償和幀內(nèi)預(yù)測(cè)中的一個(gè)以產(chǎn)生預(yù)測(cè)塊;以及將重建的殘差預(yù)測(cè)塊與產(chǎn)生的預(yù)測(cè)塊相加以重建原始編碼單元。有益效果根據(jù)上述用于率失真優(yōu)化的圖像編碼/解碼方法和執(zhí)行該方法的裝置,對(duì)應(yīng)于將被變換的塊的大小,多個(gè)預(yù)定變換矩陣都應(yīng)用到通過幀內(nèi)預(yù)測(cè)或幀間預(yù)測(cè)產(chǎn)生的殘差預(yù)測(cè)塊,從而執(zhí)行變換,并且然后通過應(yīng)用具有最高編碼效率的變換矩陣變換殘差預(yù)測(cè)塊,因此優(yōu)化了率失真并增加了圖像質(zhì)量。
圖1是示出根據(jù)本發(fā)明的實(shí)施例的使用加權(quán)預(yù)測(cè)的圖像編碼裝置的配置的框圖。圖2是示出根據(jù)本發(fā)明的實(shí)施例的使用加權(quán)預(yù)測(cè)的圖像編碼方法的流程圖。圖3是示出根據(jù)本發(fā)明的實(shí)施例的使用加權(quán)預(yù)測(cè)的圖像解碼裝置的配置的框圖。圖4是示出根據(jù)本發(fā)明的實(shí)施例的使用加權(quán)預(yù)測(cè)的圖像解碼方法的流程圖。
具體實(shí)施例方式
可以對(duì)本發(fā)明作 出各種修改和變型。以下,將參照附圖詳細(xì)描述一些特定實(shí)施例。然而,應(yīng)該理解,本發(fā)明不限于這些實(shí)施例,并且本發(fā)明的所有變型或替換或其等同物包括在本發(fā)明的技術(shù)精神和范圍內(nèi)。將理解,盡管在此可以使用術(shù)語(yǔ)第一、第二、第三等描述各個(gè)元件、組件、區(qū)域、層和/或部分,但是這些元件、組件、區(qū)域、層和/或部分不受這些術(shù)語(yǔ)的限制。這些術(shù)語(yǔ)僅用于將一個(gè)元件、組件、區(qū)域、層或部分與另一個(gè)元件、組件、區(qū)域、層或部分相區(qū)分。因此,在不脫離本發(fā)明的教導(dǎo)的情況下,下面討論的第一元件、組件、區(qū)域、層或部分可以被稱為第二元件、組件、區(qū)域、層或部分。將理解,當(dāng)提到元件或?qū)釉诹硪辉驅(qū)由?、連接到另一元件或?qū)踊蛘叻Q合到另一元件或?qū)訒r(shí),該元件或?qū)涌梢灾苯釉谠摿硪辉驅(qū)由稀⑦B接到該另一元件或?qū)踊蛘呗视砗系皆摿硪辉驅(qū)?,或者可以存在中間元件或?qū)印O喾?,?dāng)提到元件直接在另一元件或?qū)由?、直接連接到另一元件或?qū)踊蛘咧苯玉詈系搅硪辉驅(qū)訒r(shí),沒有中間元件或?qū)?。在整個(gè)附圖中,相同的附圖標(biāo)記涉及相同的元件。如在此使用,術(shù)語(yǔ)“和/或”包括相關(guān)的列出的項(xiàng)目中的一個(gè)或多個(gè)的任何和全部組合。在此使用的技術(shù)術(shù)語(yǔ)僅是為了描述特定示例性實(shí)施例,而不是意在成為本發(fā)明的限制。如在此使用的,單數(shù)形式“一個(gè)”、“該”和“所述”意在也包括復(fù)數(shù)形式,除非上下文另有明確指示。還可以理解,術(shù)語(yǔ)“包括”和/或“包含”當(dāng)在該說明書中使用時(shí),指示存在陳述的特征、整體、步驟、操作、元件和/或組件,但是不排除存在或添加一個(gè)或多個(gè)其他特征、整體、步驟、操作、元件和/或組件。除非另有限定,在此使用的所有術(shù)語(yǔ)(包括技術(shù)和科學(xué)術(shù)語(yǔ))具有與本發(fā)明所屬的領(lǐng)域的普通技術(shù)人員通常理解的含義相同的含義。還可以理解,諸如在通常使用的字典中定義的術(shù)語(yǔ)的術(shù)語(yǔ)應(yīng)該被解釋為具有與相關(guān)領(lǐng)域的語(yǔ)境中的含義一致的含義,并且將不被解釋為理想化或過于正式的意義,除非在此明確限定。以下,將參照附圖詳細(xì)描述本發(fā)明的實(shí)施例,其中,在整個(gè)說明書和附圖中,相同的附圖標(biāo)記用于表示相同或基本相同的元件,并且將不重復(fù)關(guān)于相同元件的描述。通過幀內(nèi)預(yù)測(cè)產(chǎn)生的殘差經(jīng)過變換和量化,并且在變換過程中,通過對(duì)所有塊同樣應(yīng)用一個(gè)變換矩陣或者通過應(yīng)用與選擇的幀內(nèi)預(yù)測(cè)模式對(duì)應(yīng)的預(yù)定變換矩陣來執(zhí)行變換。例如,為了減少通過幀內(nèi)預(yù)測(cè)產(chǎn)生的殘差,在MDDT (模式依賴的方向變換)的情況下,關(guān)于執(zhí)行幀內(nèi)預(yù)測(cè)之后產(chǎn)生的殘差(即,預(yù)測(cè)誤差塊),根據(jù)幀內(nèi)預(yù)測(cè)方法的方向性通過使用基于KLT (Karhunen-Loeve變換)設(shè)計(jì)的基本向量,在頻域壓縮預(yù)測(cè)誤差塊的能量。由于MDDT技術(shù)根據(jù)幀內(nèi)預(yù)測(cè)模式應(yīng)用變換編碼,因此量化之后產(chǎn)生的量化變換系數(shù)的特性也取決于方向性而具有不同形式,并且使用自適應(yīng)掃描以對(duì)系數(shù)有效地編碼。以下,在本發(fā)明的實(shí)施例中,擴(kuò)展宏塊是指具有32 X 32像素或64 X 64像素或更大的大小的塊。圖1是示出根據(jù)本發(fā)明的實(shí)施例的圖像編碼裝置的配置的框圖。
·
參照?qǐng)D1,根據(jù)本發(fā)明的實(shí)施例的編碼裝置100包括編碼控制單元101、運(yùn)動(dòng)預(yù)測(cè)單元103、運(yùn)動(dòng)補(bǔ)償單元105、幀內(nèi)預(yù)測(cè)單元107、第一加法器109、變換單元111、量化單元113、逆量化單元115、逆變換單元117、第二加法器119、緩沖器121和熵編碼單元125。編碼控制單元101將輸入編碼單元的編碼模式確定為幀間預(yù)測(cè)模式和幀內(nèi)預(yù)測(cè)模式中的一個(gè),并且基于確定的編碼模式將運(yùn)動(dòng)補(bǔ)償單元105和幀內(nèi)預(yù)測(cè)單元107中的一個(gè)連接到第一加法器109和第二加法器119。此外,編碼控制單元101向熵編碼單元125提供包括用于變換的變換矩陣的、與編碼相關(guān)的開銷信息(overhead information),并且控制編碼裝置中包括的組件。在此,輸入編碼單元可以具有正方形,并且每個(gè)編碼單元可以具有可變大小,諸如2NX2N (單位:像素)??梢曰诿總€(gè)編碼單元執(zhí)行幀間預(yù)測(cè)、幀內(nèi)預(yù)測(cè)、變換、量化和熵編碼。編碼單元可以包括最大編碼單元(IXU)和最小編碼單元(S⑶),最大編碼單元(IXU)和最小編碼單元(SCU)可以具有被表示為2的冪的大小,該2的冪可以為8或者更大。例如,輸入編碼單元可以是擴(kuò)展宏塊,其具有16 X 16像素或更小或32 X 32像素或64 X 64像素或更大的大小。擴(kuò)展宏塊可以具有32 X 32像素或更大,即,64X 64像素、128 X 128像素或更大的大小,從而適合于具有超HD (高清晰度)或更高分辨率的高分辨率圖像。在具有超HD(高清晰度)或更高分辨率的高分辨率圖像的情況下,考慮到編碼器和解碼器的復(fù)雜度,擴(kuò)展宏塊可以被限制為具有最大64X64像素或更小的大小。編碼單元可以具有遞歸樹結(jié)構(gòu)??梢酝ㄟ^一系列標(biāo)記表示遞歸結(jié)構(gòu)。例如,在分層等級(jí)或分層深度為k的編碼單元CUk具有標(biāo)記值0的情況下,在當(dāng)前分層等級(jí)或分層深度執(zhí)行對(duì)編碼單元的CUk的編碼,在標(biāo)記值為I的情況下,其當(dāng)前分層等級(jí)或分層深度為k的編碼單元CUk被分割為四個(gè)獨(dú)立的編碼單元CUk+1,分割的編碼單元CUk+1的分層等級(jí)或分層深度變?yōu)閗+1,并且其大小變?yōu)镹k+lXNk+1。在此情況下,編碼單元⑶k+1可以被表示為編碼單元CUk的子編碼單元。編碼單元CUk+1可以被遞歸處理,直到編碼單元CUk+1的分層等級(jí)或分層深度達(dá)到最大可允許分層等級(jí)或分層深度。在編碼單元CUk+1的分層等級(jí)或分層深度與最大可允許分層等級(jí)或分層深度相同的情況下,不再允許分割。最大編碼單元(LCU)的大小和最小編碼單元(SCU)的大小可以包括在序列參數(shù)集(SPS)中。序列參數(shù)集(SPS)可以包括最大編碼單元(IXU)的最大可允許分層等級(jí)或分層深度。例如,最大可允許分層等級(jí)或分層深度是5,并且在最大編碼單元(LCU)側(cè)的大小是128 (單位:像素)的情況下,五種類型的編碼單元大小可用,諸如128X128(IXU)、64X64、32X 32、16X 16和8X8 (SOT)。也就是說,如果給出最大編碼單元(IXU)的大小和最大可允許分層等級(jí)或分層深度,則可以確定編碼單元的可允許大小。在具有超HD (高清晰度)或更高分辨率的高分辨率圖像的情況下,考慮到編碼器和解碼器的復(fù)雜度,可以將編碼單元的大小限制到最大64X64像素或更小。使用根據(jù)本發(fā)明的實(shí)施例的上述遞歸編碼單元結(jié)構(gòu)提供了下列優(yōu)點(diǎn)。第一,可以支持比現(xiàn)有16X16宏塊的大小更大的大小。如果感興趣的圖像區(qū)域是同質(zhì)的,則與使用多個(gè)較小塊時(shí)相比,最大編碼單元(LCU)可以使用更少數(shù)量的符號(hào)顯示感興趣的圖像區(qū)域。第二,與使用固定大小宏塊時(shí)相比,可以支持具有各種大小的最大編碼單元(LCU),從而可以很容易地對(duì)于各種內(nèi)容、應(yīng)用和設(shè)備優(yōu)化編解碼器。也就是說,可以適當(dāng)?shù)剡x擇最大編碼單元(LCU)的大小和最大分層等級(jí)或最大分層深度,從而可以對(duì)于目標(biāo)應(yīng)用進(jìn)一步優(yōu)化分層塊結(jié)構(gòu)。第三,在不識(shí)別宏塊、子宏塊和擴(kuò)展宏塊的情況下,使用一個(gè)單一的單元形式的編碼單元LCT以能夠通過使用最大編碼單元(LCU)大小、最大分層等級(jí)(或最大分層深度)和一系列標(biāo)記非常簡(jiǎn)單 地表示多級(jí)分層結(jié)構(gòu)。當(dāng)一起使用大小獨(dú)立的語(yǔ)法表示時(shí),對(duì)于剩余編碼工具,足以指定具有一般大小的語(yǔ)法項(xiàng),并且這種一致性幫助簡(jiǎn)化實(shí)際解析過程。分層等級(jí)的最大值(或最大分層深度)可以是任意值,并且與現(xiàn)有H.264/AVC編碼方案允許的值相比,分層等級(jí)的最大值(或最大分層深度)可以更大。通過使用大小獨(dú)立的語(yǔ)法表示,通過與編碼單元CU的大小獨(dú)立的一致性方法指定所有語(yǔ)法元素??梢赃f歸地指定對(duì)編碼單元CU的分割過程,并且葉編碼單元上的其他語(yǔ)法元素——分層等級(jí)的最后編碼單元——可以被定義為具有相同的大小,而不考慮編碼單元大小。上述方法在減小解析復(fù)雜度方面非常有效,并且當(dāng)分層等級(jí)或分層深度大時(shí)可以增加表示的清晰度。如果上述分層分割過程完成,在沒有進(jìn)一步分割的情況下,可以對(duì)編碼單元分層樹中的葉節(jié)點(diǎn)執(zhí)行幀間或幀內(nèi)預(yù)測(cè),并且將此葉編碼單元用作預(yù)測(cè)單元(PU),其為用于幀間或幀內(nèi)預(yù)測(cè)的基本單元。對(duì)葉編碼單元執(zhí)行分區(qū),從而進(jìn)行幀間或幀內(nèi)預(yù)測(cè)。對(duì)預(yù)測(cè)單元(PU)進(jìn)行分區(qū)。在此,預(yù)測(cè)單元(PU)意思是用于幀間或幀內(nèi)預(yù)測(cè)的基本單元,可以使用現(xiàn)有宏塊單元或子宏塊單元,或者具有32X32像素或更大的大小的編碼單元基礎(chǔ)或擴(kuò)展宏塊單元作為預(yù)測(cè)單元(PU)。用于幀間預(yù)測(cè)或幀內(nèi)預(yù)測(cè)的分區(qū)可以是不對(duì)稱分區(qū)或者具有除了正方形之外的任何形狀的幾何分區(qū),或者沿邊緣方向的分區(qū)。
再參照?qǐng)D1,運(yùn)動(dòng)預(yù)測(cè)單元103基于已經(jīng)被重建且存儲(chǔ)在緩沖器121中的多個(gè)參考圖片和輸入編碼單元執(zhí)行幀間預(yù)測(cè),從而產(chǎn)生運(yùn)動(dòng)向量。在此,將產(chǎn)生的運(yùn)動(dòng)向量提供給運(yùn)動(dòng)補(bǔ)償單元105和熵編碼單元125。運(yùn)動(dòng)補(bǔ)償單元105將由運(yùn)動(dòng)預(yù)測(cè)單元103提供的運(yùn)動(dòng)向量應(yīng)用于在緩沖器121中存儲(chǔ)的相應(yīng)參考圖片的參考?jí)K,從而產(chǎn)生運(yùn)動(dòng)補(bǔ)償?shù)念A(yù)測(cè)塊。幀內(nèi)預(yù)測(cè)單元107根據(jù)與輸入編碼單元相鄰的編碼像素產(chǎn)生當(dāng)前塊的預(yù)測(cè)值。在此,幀內(nèi)預(yù)測(cè)單元107可以將輸入編碼單元分成具有4X4、8X8或16X 16像素大小的塊,根據(jù)與每個(gè)分開的塊相鄰的像素產(chǎn)生預(yù)測(cè)塊,對(duì)具有4X4像素或8X8像素大小的塊執(zhí)行幀內(nèi)預(yù)測(cè)時(shí),通過應(yīng)用在a 264//AVC中定義的九個(gè)幀間預(yù)測(cè)模式中的一個(gè)執(zhí)行幀間預(yù)測(cè),并且通過應(yīng)用四個(gè)幀內(nèi)預(yù)測(cè)模式中的一個(gè)對(duì)具有16X16像素大小的塊執(zhí)行幀內(nèi)預(yù)測(cè)。在根據(jù)本發(fā)明的實(shí)施例的解碼裝置100中,對(duì)于通過運(yùn)動(dòng)預(yù)測(cè)單元103和運(yùn)動(dòng)補(bǔ)償單元105的幀間預(yù)測(cè)以及通過幀內(nèi)預(yù)測(cè)單元107的幀內(nèi)預(yù)測(cè),可以根據(jù)編碼控制單元101的控制僅執(zhí)行任意一種預(yù)測(cè)模式,在選擇幀間預(yù)測(cè)和幀內(nèi)預(yù)測(cè)中的一個(gè)的情況下,編碼控制單元101切換連接路徑,從而在運(yùn)動(dòng)補(bǔ)償單元105的輸出和幀內(nèi)預(yù)測(cè)單元107的輸出之間,可以將與選擇的預(yù)測(cè)模式相應(yīng)的一個(gè)提供給第一加法器109和第二加法器119。當(dāng)執(zhí)行幀間預(yù)測(cè)編碼時(shí),第一加法器109對(duì)輸入編碼單元和從運(yùn)動(dòng)補(bǔ)償單元105提供的預(yù)測(cè)塊進(jìn)行運(yùn)算,以產(chǎn)生殘差(殘差預(yù)測(cè)塊),并且當(dāng)執(zhí)行幀內(nèi)預(yù)測(cè)編碼時(shí),對(duì)輸入編碼單元和從幀內(nèi)預(yù)測(cè)單元107提供的預(yù)測(cè)塊進(jìn)行運(yùn)算,以產(chǎn)生殘差。
對(duì)于從第一加法器109提供的殘差預(yù)測(cè)塊(即,殘差),變換單元111考慮編碼效率以及經(jīng)過變換的每個(gè)殘差預(yù)測(cè)塊的大小,通過使用多個(gè)預(yù)定變換矩陣中的一個(gè)來執(zhí)行變換。具體地,在執(zhí)行幀內(nèi)預(yù)測(cè)編碼且將被變換的塊的大小為4X4像素或8X8像素的情況下,將預(yù)定數(shù)量(例如,9)的變換矩陣應(yīng)用到每個(gè)變換塊,然后通過應(yīng)用具有最高編碼效率的變換矩陣來執(zhí)行編碼,并且在執(zhí)行幀內(nèi)預(yù)測(cè)編碼且將被變換的塊的大小為16X16像素的情況下,將預(yù)定數(shù)量(例如,4)的變換矩陣應(yīng)用到每個(gè)變換塊,然后通過應(yīng)用具有最高編碼效率的變換矩陣來執(zhí)行編碼。在此,可以使用在MDDT (模式依賴的方向變換)中定義的變換矩陣作為該預(yù)定數(shù)量的變化矩陣。MDDT應(yīng)用沿幀內(nèi)編碼特定方向——例如,用于編碼的幀內(nèi)模式(或幀內(nèi)編碼)方向的變換。例如,在通過九個(gè)幀內(nèi)模式中的水平方向模式對(duì)4X4塊進(jìn)行幀內(nèi)編碼的情況下,可以沿水平方向執(zhí)行變換。變換的塊的大小可以是4X 4塊、8 X 8塊、16 X 16塊或32 X 32塊??梢詫⒂糜谧儞Q的塊實(shí)現(xiàn)為變換單元(TU),并且變換單元可以具有遞歸樹結(jié)構(gòu)。例如,變換單元可以具有2級(jí)樹結(jié)構(gòu)。例如,在分層等級(jí)或分層深度為k的變換單元具有標(biāo)記值0的情況下,對(duì)于當(dāng)前分層等級(jí)或分層深度對(duì)變換單元執(zhí)行變換,在標(biāo)記值為I的情況下,將其分割為四個(gè)獨(dú)立的編碼單元CUk+1,并且分割的編碼單元CUk+1具有分層等級(jí)或分層深度k+1,并且大小可以是Nk+1 X Nk+1。或者,即使在執(zhí)行幀間預(yù)測(cè)編碼且將被變換的塊的大小為32X32像素或更大的情況下,變換單元111應(yīng)用與幀間預(yù)測(cè)編碼相應(yīng)的全部預(yù)定數(shù)量的編碼矩陣,然后通過應(yīng)用具有最高編碼效率的變換矩陣來執(zhí)行編碼。
如上所述,在多個(gè)變換矩陣之中,關(guān)于用于變換的變換矩陣的信息被提供給熵編碼單元125,并且經(jīng)過熵編碼,并且然后提供給解碼裝置用于解碼。量化單元113對(duì)從變換單元111提供的變換數(shù)據(jù)進(jìn)行量化,并且然后將量化的數(shù)據(jù)提供給逆量化單元115和熵編碼單元125。逆量化單元115對(duì)從量化單元113提供的量化數(shù)據(jù)進(jìn)行逆量化,并且然后將結(jié)果提供給逆變換單元117,并且逆變換單元117通過使用由變換單元111使用的變換矩陣信息對(duì)逆量化數(shù)據(jù)進(jìn)行逆變換,從而重建殘差預(yù)測(cè)塊,然后將重建的殘差預(yù)測(cè)塊提供給第二加法器119。第二加法器119將從運(yùn)動(dòng)補(bǔ)償單元105或幀內(nèi)預(yù)測(cè)單元107提供的預(yù)測(cè)塊與逆變換單元117提供的預(yù)測(cè)塊相加,從而重建編碼單元,并且然后將其存儲(chǔ)在緩沖器121中。緩沖器121可以存儲(chǔ)圖片,該圖片為一組重建的編碼單元,并且使用存儲(chǔ)在緩沖器121中多個(gè)圖片作為用于運(yùn)動(dòng)補(bǔ)償和預(yù)測(cè)的參考圖片。熵編碼單元125對(duì)量化的殘差預(yù)測(cè)塊、用于幀間預(yù)測(cè)的運(yùn)動(dòng)向量信息、用于幀內(nèi)預(yù)測(cè)的預(yù)測(cè)模式信息和用于變換的變換矩陣信息進(jìn)行熵編碼,從而產(chǎn)生比特流。圖2是示出根據(jù)本發(fā)明的實(shí)施例的使用塊合并的圖像編碼方法的流程圖。參照?qǐng)D2,如果將編碼單元輸入到編碼裝置(步驟201),則編碼裝置在幀間預(yù)測(cè)和幀內(nèi)預(yù)測(cè)之間選擇預(yù)測(cè)編碼模式(步驟203)。輸入編碼單元具有16X16像素或更小的大小,或者輸入編碼單元可以是具有32 X 32像素或64 X 64像素或更大的大小的擴(kuò)展宏塊。輸入編碼單元可以具有上述遞歸編碼單元結(jié)構(gòu)。當(dāng)執(zhí)行幀間預(yù)測(cè)時(shí),基于已經(jīng)重建且存儲(chǔ)在緩沖器中的多個(gè)參考圖片和輸入編碼單元執(zhí)行運(yùn)動(dòng)預(yù)測(cè),從而產(chǎn)生運(yùn)動(dòng)向量(步驟205),并且使用產(chǎn)生的運(yùn)動(dòng)向量來執(zhí)行運(yùn)動(dòng)補(bǔ)償,從而產(chǎn)生與當(dāng)前塊相應(yīng)的預(yù)測(cè)塊(步驟207)?;蛘?,當(dāng)執(zhí)行幀內(nèi)預(yù)測(cè)時(shí),根據(jù)與輸入編碼單元相鄰的編碼像素產(chǎn)生當(dāng)前塊的預(yù)測(cè)值(步驟209)。在此,幀內(nèi)預(yù)測(cè)可以將輸入編碼單元分成具有4X4、8X8或16X16像素的大小的塊,并且將幀內(nèi)預(yù)測(cè)模式應(yīng)用于與分開的塊中的每一個(gè)相鄰的像素,從而產(chǎn)生預(yù)測(cè)塊。在對(duì)具有4X4像素或8X8像素的大小的塊執(zhí)行幀內(nèi)預(yù)測(cè)的情況下,通過應(yīng)用在
H.264//AVC中定義的九個(gè)幀內(nèi)預(yù)測(cè)模式中的一個(gè)執(zhí)行幀內(nèi)預(yù)測(cè),對(duì)具有16X16像素的大小的塊,可以應(yīng)用四個(gè)幀內(nèi)預(yù)測(cè)模式中的一個(gè)以執(zhí)行幀內(nèi)預(yù)測(cè)。其后,編碼裝置對(duì)幀內(nèi)預(yù)測(cè)或幀間預(yù)測(cè)產(chǎn)生的預(yù)測(cè)塊和輸入編碼單元進(jìn)行運(yùn)算,以由此產(chǎn)生殘差預(yù)測(cè)塊(步驟211)。然后,對(duì)于產(chǎn)生的殘差預(yù)測(cè)塊,編碼裝置考慮編碼效率以及殘差預(yù)測(cè)塊的大小,通過使用多個(gè)預(yù)定變換矩陣中的一個(gè)來執(zhí)行變換(步驟213)。也就是說,在執(zhí)行幀內(nèi)預(yù)測(cè)編碼且將被變換的塊的大小為4X4像素或8X8像素的情況下,將全部預(yù)定數(shù)量(例如,9)的變換矩陣應(yīng)用到每個(gè)變換塊,并且然后通過應(yīng)用具有最高編碼效率的變換矩陣來執(zhí)行編碼,并且在執(zhí)行幀內(nèi)預(yù)測(cè)編碼且將被變換的塊的大小為16X16像素的情況下,將全部預(yù)定數(shù)量(例如,4)的變換矩陣應(yīng)用到每個(gè)變換塊,并且通過應(yīng)用具有最高編碼效率的變換矩陣來執(zhí)行編碼。在此,對(duì)于預(yù)定數(shù)量的變化矩陣,可以使用MDDT中定義的變換矩陣。
或者,在執(zhí)行幀間預(yù)測(cè)編碼且將被變換的塊的大小為32X32像素的情況下,編碼裝置可以應(yīng)用與幀間預(yù)測(cè)編碼相應(yīng)的預(yù)定數(shù)量的編碼矩陣的全部,然后通過應(yīng)用具有最高編碼效率的變換矩陣來執(zhí)行編碼。其后,編碼裝置對(duì)變換的數(shù)據(jù)進(jìn)行量化(步驟215),并且對(duì)量化的數(shù)據(jù)進(jìn)行熵編碼,從而產(chǎn)生比特流(步驟217)。在此,熵編碼的信息可以包括量化的殘差預(yù)測(cè)塊、用于幀間預(yù)測(cè)的運(yùn)動(dòng)向量信息、用于幀內(nèi)預(yù)測(cè)的預(yù)測(cè)模式信息和用于變換的變換矩陣信息。在如圖1和圖2所示的根據(jù)本發(fā)明的實(shí)施例的編碼方法中,通過將與變換的塊的大小相應(yīng)的多個(gè)變換矩陣的全部應(yīng)用于通過幀間預(yù)測(cè)或幀內(nèi)預(yù)測(cè)產(chǎn)生的殘差預(yù)測(cè)塊來執(zhí)行變換,并且通過應(yīng)用具有最高編碼效率的變換矩陣對(duì)殘差預(yù)測(cè)塊執(zhí)行變換,從而增加編碼效率。圖3是示出根據(jù)本發(fā)明的實(shí)施例的解碼裝置的配置的框圖。圖3是示出對(duì)由圖1所示的編碼裝置編碼的圖像進(jìn)行解碼的解碼裝置的配置。參照?qǐng)D3,根據(jù)本發(fā)明的實(shí)施例的解碼裝置300包括熵解碼單元301、逆量化單元303、逆變換單元305、運(yùn)動(dòng)補(bǔ)償單元307、幀內(nèi)預(yù)測(cè)單元309、緩沖器311和第三加法器313。熵解碼單元301對(duì)從解碼裝置提供的比特流進(jìn)行熵解碼,并且提取量化的殘差預(yù)測(cè)塊、用于幀間預(yù)測(cè)的運(yùn)動(dòng)向量、用于幀內(nèi)預(yù)測(cè)的預(yù)測(cè)模式信息和用于變換的變換矩陣。逆量化單元303對(duì)從熵解碼單元301提供的量化的殘差預(yù)測(cè)塊進(jìn)行逆量化,并且逆變換單元305對(duì)從逆量化單元303提供的數(shù)據(jù)進(jìn)行逆變換。在此,逆變換單元305基于從熵解碼單元301提供的變換矩陣信息執(zhí)行逆變換,從而重建殘差預(yù)測(cè)塊。運(yùn)動(dòng)補(bǔ)償單元307將從熵解碼單元301提供的運(yùn)動(dòng)向量應(yīng)用于緩沖器311中存儲(chǔ)的參考圖片的參考?jí)K,從而產(chǎn)生預(yù)測(cè)塊。
幀內(nèi)預(yù)測(cè)單元309基于從熵解碼單元301提供的幀內(nèi)預(yù)測(cè)模式,根據(jù)與當(dāng)前要解碼的塊相鄰的像素產(chǎn)生當(dāng)前塊的預(yù)測(cè)值。在此,幀內(nèi)預(yù)測(cè)單元309將當(dāng)前要解碼的塊劃分為具有4X4、8X8或16X16像素大小的塊,并且使用幀內(nèi)預(yù)測(cè)模式信息,以能夠根據(jù)與每個(gè)劃分的塊相鄰的像素產(chǎn)生預(yù)測(cè)塊在根據(jù)本發(fā)明的實(shí)施例的解碼裝置300中,基于從熵解碼單元301提取的選擇信息僅可以產(chǎn)生通過運(yùn)動(dòng)補(bǔ)償單元307和幀內(nèi)預(yù)測(cè)單元309產(chǎn)生的預(yù)測(cè)塊中的一個(gè),并且僅運(yùn)動(dòng)補(bǔ)償單元307和幀內(nèi)預(yù)測(cè)單元309中的一個(gè)可以通過路徑切換連接到第三加法器313。也就是說,在解碼裝置300中,對(duì)應(yīng)于在編碼裝置中執(zhí)行的編碼模式,可以僅執(zhí)行幀間預(yù)測(cè)和幀內(nèi)預(yù)測(cè)中的一個(gè)。重建的圖像被存儲(chǔ)在緩沖器311中并且被用作參考圖片。第三加法器313將從運(yùn)動(dòng)補(bǔ)償單元307或幀內(nèi)預(yù)測(cè)單元309提供的預(yù)測(cè)塊與從逆變換單元305提供的殘差預(yù)測(cè)塊相加,從而重建原始?jí)K。圖4是示出根據(jù)本發(fā)明的實(shí)施例的圖像解碼方法的流程圖。參照?qǐng)D4,如果從編碼裝置輸入編碼的比特流(步驟401),則解碼裝置對(duì)該比特流進(jìn)行熵量化,從而提取量化的殘差預(yù)測(cè)塊信息、運(yùn)動(dòng)向量信息、變換矩陣信息和幀內(nèi)預(yù)測(cè)模式信息(步驟403)。在此,當(dāng)編碼裝置已經(jīng)執(zhí)行幀內(nèi)預(yù)測(cè)時(shí),可以僅提取幀內(nèi)預(yù)測(cè)模式,并且熵解碼的數(shù)據(jù)可以包括解碼模式信息(幀間預(yù)測(cè)或幀內(nèi)預(yù)測(cè))。其后,解碼裝置對(duì)熵解碼的殘差進(jìn)行逆量化(步驟405),并且使用提取的變換矩陣信息,以對(duì)逆量化的數(shù)據(jù)進(jìn)行逆變換,從而重建殘差預(yù)測(cè)塊(步驟407)。此外,解碼裝置基于在熵解碼信息中包括的編碼模式確定解碼模式(步驟409),并且當(dāng)解碼模式被確定為運(yùn)動(dòng)補(bǔ)償時(shí),通過使用運(yùn)動(dòng)向量執(zhí)行運(yùn)動(dòng)補(bǔ)償,從而產(chǎn)生預(yù)測(cè)塊(步驟 411)?;蛘?,當(dāng)解碼模式被確定為幀內(nèi)預(yù)測(cè)時(shí),解碼裝置將提取的幀內(nèi)預(yù)測(cè)模式應(yīng)用于與要被解碼的當(dāng)前塊相鄰的像素,從而產(chǎn)生預(yù)測(cè)塊(步驟413)。其后,解碼裝置將重建的殘差預(yù)測(cè)塊與在步驟411或413中產(chǎn)生的預(yù)測(cè)塊相加,從而重建原始?jí)K,即,編碼單元(步驟415)。盡 管已經(jīng)描述了本發(fā)明的實(shí)施例,但是本領(lǐng)域的普通技術(shù)人員將理解,在不脫離在權(quán)利要求中要求保護(hù)的本發(fā)明的精神和范圍的情況下,可以對(duì)實(shí)施例進(jìn)行各種變型和修改。
權(quán)利要求
1.一種圖像編碼方法,包括步驟: 接收將被編碼的編碼單元; 對(duì)所述編碼單元執(zhí)行幀間預(yù)測(cè)和幀內(nèi)預(yù)測(cè)中的一個(gè)以產(chǎn)生預(yù)測(cè)塊; 基于產(chǎn)生的預(yù)測(cè)塊和所述編碼單元產(chǎn)生殘差預(yù)測(cè)塊;以及 將在多個(gè)預(yù)定變換矩陣中具有最高編碼效率的變換矩陣應(yīng)用到產(chǎn)生的殘差預(yù)測(cè)塊以對(duì)所述殘差預(yù)測(cè)塊進(jìn)行變換。
2.根據(jù)權(quán)利要求1所述的圖像編碼方法,其中,將在多個(gè)預(yù)定變換矩陣中具有最高編碼效率的變換矩陣應(yīng)用到產(chǎn)生的殘差預(yù)測(cè)塊以對(duì)所述殘差預(yù)測(cè)塊進(jìn)行變換的步驟包括:在執(zhí)行幀內(nèi)預(yù)測(cè)且變換的殘差預(yù)測(cè)塊具有4X4或8X8像素的大小的情況下,對(duì)每個(gè)殘差預(yù)測(cè)塊應(yīng)用全部9個(gè)變換矩陣,然后通過應(yīng)用具有最高編碼效率的變換矩陣對(duì)所述殘差預(yù)測(cè)塊進(jìn)行變換。
3.根據(jù)權(quán)利要求1所述的圖像編碼方法,其中,將在多個(gè)預(yù)定變換矩陣中具有最高編碼效率的變換矩陣應(yīng)用到產(chǎn)生的殘差預(yù)測(cè)塊以對(duì)所述殘差預(yù)測(cè)塊進(jìn)行變換的步驟包括:在執(zhí)行幀內(nèi)預(yù)測(cè)且變換的殘差預(yù)測(cè)塊具有16X16像素的大小的情況下,對(duì)每個(gè)殘差預(yù)測(cè)塊應(yīng)用全部4個(gè)變換矩陣,然后通過應(yīng)用具有最高編碼效率的變換矩陣對(duì)所述殘差預(yù)測(cè)塊進(jìn)行變換。
4.根據(jù)權(quán)利要求1所述的圖像編碼,其中,所述多個(gè)預(yù)定變換矩陣使用在MDDT(模式依賴的方向變換)中定義的變換矩陣。
5.根據(jù)權(quán)利要求1所述的圖像編碼,其中,將在多個(gè)預(yù)定變換矩陣中具有最高編碼效率的變換矩陣應(yīng)用到產(chǎn)生的殘差預(yù)測(cè)塊以對(duì)所述殘差預(yù)測(cè)塊進(jìn)行變換的步驟包括通過使用沿幀內(nèi)預(yù)測(cè)的特定方向的所述多個(gè)預(yù)定變換矩陣執(zhí)行變換。
6.根據(jù)權(quán)利要求1所述的圖像編碼方法,其中,將在多個(gè)預(yù)定變換矩陣中具有最高編碼效率的變換矩陣應(yīng)用到產(chǎn)生的殘差預(yù)測(cè)塊以對(duì)所述殘差預(yù)測(cè)塊進(jìn)行變換的步驟包括:在所述殘差預(yù)測(cè)塊具有4X4像素的大小且在9個(gè)幀內(nèi)預(yù)測(cè)模式中,在水平方向模式中執(zhí)行幀內(nèi)預(yù)測(cè)情況下,通過使用沿水平方向的所述多個(gè)預(yù)定變換矩陣執(zhí)行變換。
7.根據(jù)權(quán)利要求1所述的圖像編碼方法,其中,用于變換的所述殘差預(yù)測(cè)塊被實(shí)現(xiàn)為變換單元(TU),并且所述變換單元具有遞歸樹結(jié)構(gòu)。
8.根據(jù)權(quán)利要求1所述的圖像編碼方法,其中,所述預(yù)測(cè)單元是具有32X32像素或更大的大小的擴(kuò)展宏塊。
9.一種通過將在多個(gè)預(yù)定變換矩陣中具有最高編碼效率的變換矩陣應(yīng)用到殘差預(yù)測(cè)塊來對(duì)編碼的比特流進(jìn)行解碼的圖像解碼方法,所述圖像解碼方法包括步驟: 對(duì)所述比特流進(jìn)行熵解碼,以提取運(yùn)動(dòng)向量信息、量化的殘差預(yù)測(cè)塊信息、運(yùn)動(dòng)向量信息、幀內(nèi)預(yù)測(cè)模式信息和變換矩陣信息中的至少一個(gè); 對(duì)量化的殘差預(yù)測(cè)塊進(jìn)行逆量化; 通過應(yīng)用所述變換矩陣對(duì)逆量化的殘差預(yù)測(cè)塊進(jìn)行逆變換以重建所述殘差預(yù)測(cè)塊; 執(zhí)行運(yùn)動(dòng)補(bǔ)償和幀內(nèi)預(yù)測(cè)中的一個(gè)以產(chǎn)生預(yù)測(cè)塊;以及 將重建的殘差預(yù)測(cè)塊與產(chǎn)生的預(yù)測(cè)塊相加以重建原始編碼單元。
10.根據(jù)權(quán)利要求9所述的圖像解碼方法,其中,在執(zhí)行幀內(nèi)預(yù)測(cè)且變換的殘差預(yù)測(cè)塊大小為4X 4或8 X 8像素的情況下,對(duì)每個(gè)殘差預(yù)測(cè)塊應(yīng)用全部9個(gè)變換矩陣,然后使用具有最高編碼效率的變換矩陣。
11.根據(jù)權(quán)利要求9所述的圖像解碼方法,其中,在執(zhí)行幀內(nèi)預(yù)測(cè)且變換的殘差預(yù)測(cè)塊大小為16X 16像素的情況下,對(duì)每個(gè)殘差預(yù)測(cè)塊應(yīng)用全部4個(gè)變換矩陣,然后使用具有最高編碼效率的變換矩陣。
12.根據(jù)權(quán)利要求9所述的圖像解碼方法,其中,所述變換矩陣使用在MDDT(模式依賴的方向變換)中定義的變換矩陣。
13.根據(jù)權(quán)利要求9所述的圖像解碼方法,其中,通過應(yīng)用所述變換矩陣對(duì)逆量化的殘差預(yù)測(cè)塊進(jìn)行逆變換以重建所述殘差預(yù)測(cè)塊的步驟包括基于幀內(nèi)預(yù)測(cè)模式通過使用所述變換矩陣來執(zhí)行逆變換。
14.根據(jù)權(quán)利要求9所述的圖像解碼方法,其中,通過應(yīng)用所述變換矩陣對(duì)逆量化的殘差預(yù)測(cè)塊進(jìn)行逆變換以重建所述殘差預(yù)測(cè)塊的步驟包括:在殘差預(yù)測(cè)塊具有4X4像素的大小且在9個(gè)幀內(nèi)預(yù)測(cè)模式中,使用水平方向模式來執(zhí)行幀內(nèi)預(yù)測(cè)情況下,通過使用沿水平方向的所述變換矩陣執(zhí)行逆變換。
15.根據(jù)權(quán)利要求9所述的圖像解碼方法,其中,用于變換的所述殘差預(yù)測(cè)塊被實(shí)現(xiàn)為變換單元(TU),并且所述變換單元具有遞歸樹結(jié)構(gòu)。
16.根據(jù)權(quán)利要求9所述的圖像解碼方法,其中,所述編碼單元是具有32X 32像素或更大的大小的 擴(kuò)展宏塊。
全文摘要
公開了一種用于率失真優(yōu)化的圖像編碼/解碼方法和執(zhí)行該方法的裝置。提供將被編碼的宏塊,執(zhí)行幀間預(yù)測(cè)和幀內(nèi)預(yù)測(cè)中的任意一個(gè)以產(chǎn)生預(yù)測(cè)宏塊,基于產(chǎn)生的預(yù)測(cè)宏塊和提供的宏塊產(chǎn)生殘差預(yù)測(cè)塊,然后通過將多個(gè)預(yù)定變換矩陣中具有最高編碼效率的變換矩陣應(yīng)用到產(chǎn)生的殘差預(yù)測(cè)塊對(duì)產(chǎn)生的殘差預(yù)測(cè)塊進(jìn)行變換。因此,可以優(yōu)化率失真且因此提高圖像的質(zhì)量。
文檔編號(hào)H04N7/26GK103250412SQ201180011743
公開日2013年8月14日 申請(qǐng)日期2011年1月25日 優(yōu)先權(quán)日2010年2月2日
發(fā)明者李忠九, 樸浚盛, 李乙浩 申請(qǐng)人:數(shù)碼士有限公司