變換系數(shù)的處理方法和裝置制造方法
【專利摘要】本發(fā)明實施例公開了一種基于圖像塊的變換系數(shù)的處理方法和裝置,包括:獲得經(jīng)過變換、量化后的當(dāng)前變換塊的變換系數(shù);確定所述當(dāng)前變換塊的變換系數(shù)中需要置0的變換系數(shù);按照預(yù)設(shè)掃描順序依次對確定需要置0的變換系數(shù)進行置0以得到處理后的當(dāng)前變換塊;對所述處理后的當(dāng)前變換塊進行熵編碼。本發(fā)明實施例的方案有利于抑制一些非正常的噪聲干擾,從而提高主觀體驗。
【專利說明】變換系數(shù)的處理方法和裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及圖像處理【技術(shù)領(lǐng)域】,具體涉及視頻編解碼中變換系數(shù)的處理方法和裝 置。
【背景技術(shù)】
[0002] 隨著光電采集技術(shù)的發(fā)展及對高清和超高清的視頻圖像需求的不斷增長,導(dǎo)致視 頻數(shù)據(jù)量越來越大;而有限異構(gòu)的傳輸帶寬的限制、多樣化的視頻應(yīng)用的出現(xiàn)不斷地對視 頻編碼效率提出了更高的挑戰(zhàn),高性能視頻編碼(HEVC,High Efficient Video Coding)標 準的制定正是基于對上述需求的考慮。
[0003] 視頻編碼壓縮的基本原理是利用空域、時域和碼字之間的相關(guān)性,盡可能去除冗 余。采用基于塊的混合視頻編碼框架,編碼端將原始圖像通過預(yù)測(包括幀內(nèi)預(yù)測和幀間 預(yù)測)、變換、量化、熵編碼等步驟實現(xiàn)視頻編碼壓縮,相應(yīng)的,解碼端通過熵解碼,反量化、 反變換,預(yù)測(包括幀內(nèi)預(yù)測和幀間預(yù)測)來恢復(fù)原始圖像。
[0004] HEVC相較于早前的H. 264/AVC(Advanced Video Coding)的編碼框架,提出更先進 的改進技術(shù),包括擴展的編碼單元尺寸、基于塊的更靈活的幀間/幀內(nèi)預(yù)測方式、大尺寸變 換塊、新的熵編碼方法、更加復(fù)雜的內(nèi)插濾波器等,上述改進有效地提高了 HEVC的壓縮效 率和性能。
[0005] 在HEVC中,由于更大尺寸變換塊的引入,使得變換、量化失真后的數(shù)據(jù),經(jīng)過反變 換、反量化以后,會導(dǎo)致這些失真被放大得更加明顯,在有些場景,例如特別是噪聲相對較 多的場景,經(jīng)過變換量化后的少量孤立的高頻系數(shù),經(jīng)過反量化、反變換后,會產(chǎn)生非正 常的原始圖像內(nèi)容,如非正常的橫/豎條紋/網(wǎng)狀塊等,這些效應(yīng)會通過參考幀傳遞累積 給后續(xù)其他幀,對主觀體驗的影響較大,特別是在中/低視頻碼率的時候,影響更加明顯。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明實施例提供一種一種基于圖像塊的變換系數(shù)的處理方法,以期消除編碼過 程中產(chǎn)生的非正常的圖像高頻分量(例如,噪聲),需要說明是,本發(fā)明各個實施例中的具 體特征還還可能帶來其他技術(shù)效果上的有益性,在此處不做贅述。
[0007] 本發(fā)明實施例第一方面提供一種基于圖像塊的變換系數(shù)的處理方法,其特征在 于,包括:獲得經(jīng)過變換、量化后的當(dāng)前變換塊的變換系數(shù);確定所述當(dāng)前變換塊的變換系 數(shù)中需要置0的變換系數(shù);按照預(yù)設(shè)掃描順序依次對確定需要置0的變換系數(shù)進行置〇以 得到處理后的當(dāng)前變換塊;對所述處理后的當(dāng)前變換塊進行熵編碼。
[0008] 結(jié)合第一方面,在第一方面的第一種可能的實施方式中,所述確定所述當(dāng)前變換 塊的變換系數(shù)中需要置〇的變換系數(shù),包括:確定所述當(dāng)前變換塊的各個變換系數(shù)的絕對 值是否小于或等于一預(yù)設(shè)閾值,當(dāng)某個變換系數(shù)的絕對值小于或等于所述預(yù)設(shè)閾值時,確 定所述某個變換系數(shù)需要置0。
[0009] 結(jié)合第一方面,在第一方面的第二種可能的實施方式中,所述確定所述當(dāng)前變換 塊的變換系數(shù)中需要置0的變換系數(shù),包括:確定所述當(dāng)前變換塊的各個變換系數(shù)中不需 要置〇的變換系數(shù)的位置,根據(jù)所述不需要置0的變換系數(shù)的位置確定所述當(dāng)前變換塊的 變換系數(shù)中需要置0的變換系數(shù)。
[0010]結(jié)合第一方面,在第一方面的第三種可能的實施方式中,所述確定所述當(dāng)前變換 塊的變換系數(shù)中需要置〇的變換系數(shù),包括:確定所述當(dāng)前變換塊的變換系數(shù)中需要置〇的 變換系數(shù)的個數(shù)是否達到預(yù)設(shè)個數(shù),若所述當(dāng)前變換塊的變換系數(shù)中需要置〇的變換系數(shù) 的個數(shù)小于或等于所述預(yù)設(shè)個數(shù)時,繼續(xù)確定所述當(dāng)前變換塊的變換系數(shù)中需要置〇的變 換系數(shù)。
[0011]結(jié)合第一方面,在第一方面的第四種可能的實施方式中,所述當(dāng)前變換塊的尺寸 大小為16X16或者32X32像素。。
[0012]結(jié)合第一方面,在第一方面的第五種可能的實施方式中,所述方法還包括,在所述 得到處理后的當(dāng)前變換塊之后,按照所述預(yù)設(shè)掃描順序依次掃描所述處理后的當(dāng)前變換塊 以得到掃描后的一維序列,所述掃描后的一維序列用于熵編碼的步驟。
[0013]結(jié)合第一方面,在第一方面的第六種可能的實施方式中,所述變換系數(shù)的處理方 法被有條件地執(zhí)行,所述條件包括:確定所述當(dāng)前變換塊的任意兩個在所述預(yù)設(shè)掃描順序 上相鄰非零變換系數(shù)之間的變換系數(shù)中連續(xù)是〇的個數(shù);當(dāng)所述任意兩個在所述預(yù)設(shè)掃描 順序上相鄰非零變換系數(shù)之間的變換系數(shù)中連續(xù)是〇的個數(shù)大于或等于預(yù)設(shè)閾值時,則執(zhí) 行所述確定所述當(dāng)前變換塊的變換系數(shù)中需要置〇的變換系數(shù)以及所述按照預(yù)設(shè)掃描順 序依次對確定需要置0的變換系數(shù)進行置〇以得到處理后的當(dāng)前變換塊的步驟;當(dāng)所述任 意兩個在所述預(yù)設(shè)掃描順序上相鄰非零變換系數(shù)之間的變換系數(shù)中連續(xù)是〇的個數(shù)小于 預(yù)設(shè)閾值時,則不執(zhí)行所述確定所述當(dāng)前變換塊的變換系數(shù)中需要置〇的變換系數(shù)以及所 述按照預(yù)設(shè)掃描順序依次對確定需要置〇的變換系數(shù)進行置〇以得到處理后的當(dāng)前變換塊 的步驟。
[0014]結(jié)合第一方面,在第一方面的第七種可能的實施方式中,所述任意兩個在所述預(yù) 設(shè)掃描順序上相鄰非零變換系數(shù)之間的變換系數(shù)中連續(xù)是〇的個數(shù),包括:最后兩個在所 述預(yù)設(shè)掃描順序上相鄰非零變換系數(shù)之間的變換系數(shù)中連續(xù)是〇的個數(shù)。
[0015]需要說明的是,第一方面的各種可能的實施方式之間也是能夠相互結(jié)合的。
[0016] 本發(fā)明實施例第二方面提供一種圖像編碼裝置,包括:變換系數(shù)獲取單元,用于獲 得經(jīng)過變換、量化后的當(dāng)前變換塊的變換系數(shù);確定單元,用于確定所述當(dāng)前變換塊的變換 系數(shù)中需要置0的變換系數(shù);設(shè)置單元,用于按照預(yù)設(shè)掃描順序依次對確定需要置0的變換 系數(shù)進行置0以得到處理后的當(dāng)前變換塊;熵編碼單元,用于對所述處理后的當(dāng)前變換塊 進行熵編碼。
[0017] 結(jié)合第二方面,在第二方面的第一種可能的實施方式中,所述確定單元包括第一 子確定單兀,所述第一子確定單元用于確定所述當(dāng)前變換塊的各個變換系數(shù)的絕對值是否 小于或等于一預(yù)設(shè)閾值,當(dāng)某個變換系數(shù)的絕對值小于或等于所述預(yù)設(shè)閾值時,確定所述 某個變換系數(shù)需要置0。
[0018]結(jié)合第二方面,在第二方面的第二種可能的實施方式中,所述確定單元包括第三 子確定單元,所述第三子確定單元用于確定所述當(dāng)前變換塊的各個變換系數(shù)中不需要置0 的變換系數(shù)的位置,根據(jù)所述不需要置0的變換系數(shù)的位置確定所述當(dāng)前變換塊的變換系 數(shù)中需要置0的變換系數(shù)。
[0019] 結(jié)合第二方面,在第二方面的第三種可能的實施方式中,所述確定單元包括第二 子確定單兀'所述弟一子確定單兀用于確定所述當(dāng)目U變換塊的變換系數(shù)中需要置〇的變換 系數(shù)的個數(shù)是否達到預(yù)設(shè)個數(shù),若所述當(dāng)前變換塊的變換系數(shù)中需要置0的變換系數(shù)的個 數(shù)小于或等于所述預(yù)設(shè)個數(shù)時,繼續(xù)確定所述當(dāng)前變換塊的變換系數(shù)中需要置〇的變換系 數(shù)。 '、
[0020] 結(jié)合第二方面,在第二方面的第四種可能的實施方式中,所述當(dāng)前變換塊的尺寸 大小為16X16或者32X32像素。
[0021] 結(jié)合第二方面,在第二方面的第五種可能的實施方式中,所述裝置還包括,掃描單 兀,用于在所述得到處理后的當(dāng)前變換塊之后,按照所述預(yù)設(shè)掃描順序依次掃描所述處理 后的當(dāng)ΗΙΙ變換塊以得到掃描后的一維序列,所述掃描后的一維序列輸出到熵編碼單元用于 熵編碼。
[0022]結(jié)合第二方面,在第二方面的第六種可能的實施方式中,所述裝置還包括條件單 元,所述條件單元,用于確定所述當(dāng)前變換塊的任意兩個在所述預(yù)設(shè)掃描順序上相鄰非零 變換系數(shù)之間的變換系數(shù)中連續(xù)是0的個數(shù);當(dāng)所述條件單元確定所述任意兩個在所述預(yù) 設(shè)掃描順序上相鄰非零變換系數(shù)之間的變換系數(shù)中連續(xù)是〇的個數(shù)大于或等于預(yù)設(shè)閾值 時,則執(zhí)行所述確定所述當(dāng)前變換塊的變換系數(shù)中需要置0的變換系數(shù)以及所述按照預(yù)設(shè) 掃描順序依次對確定需要置0的變換系數(shù)進行置0以得到處理后的當(dāng)前變換塊的步驟;當(dāng) 所述條件單元確定所述任意兩個在所述預(yù)設(shè)掃描順序上相鄰非零變換系數(shù)之間的變換系 數(shù)中連續(xù)是0的個數(shù)小于預(yù)設(shè)閾值時,則不執(zhí)行所述確定所述當(dāng)前變換塊的變換系數(shù)中需 要置〇的變換系數(shù)以及所述按照預(yù)設(shè)掃描順序依次對確定需要置〇的變換系數(shù)進行置0以 得到處理后的當(dāng)前變換塊的步驟。
[0023]結(jié)合第二方面,在第二方面的第七種可能的實施方式中,所述任意兩個在所述預(yù) 設(shè)掃描順序上相鄰非零變換系數(shù)之間的變換系數(shù)中連續(xù)是〇的個數(shù),包括:最后兩個在所 述預(yù)設(shè)掃描順序上相鄰非零變換系數(shù)之間的變換系數(shù)中連續(xù)是〇的個數(shù)。
[0024]本發(fā)明實施例各方案針對變換/量化后的變換系數(shù),通過獲得經(jīng)過變換、量化后 的當(dāng)前變換塊的變換系數(shù);確定所述當(dāng)前變換塊的變換系數(shù)中需要置〇的變換系數(shù);按照 預(yù)設(shè)掃描順序依次對確定需要置0的變換系數(shù)進行置〇以得到處理后的當(dāng)前變換塊;對所 述處理后的當(dāng)前變換塊進行熵編碼;從而選擇性的略過一些的高頻系數(shù),但中低頻系數(shù)仍 然保留,通過本發(fā)明是實施例中各方法,能夠抑制一些非正常的噪聲干擾,從而提高主觀 體驗。經(jīng)過代碼仿真和驗證平臺實測,中低視頻碼率下的主觀體驗明顯改善。
【專利附圖】
【附圖說明】
[0025]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。
[0026]圖1是本發(fā)明實施例提供的一種視頻編碼中的編碼單元劃分方式確定方法的示 意圖;
[0027] 圖2a是本發(fā)明實施例提供的一種對角線掃描順序示意圖;
[0028] 圖2b是本發(fā)明實施例提供的一種Z形掃描順序示意圖;
[0029] 圖2c是本發(fā)明實施例提供的一種水平掃描順序示意圖;
[0030] 圖2d是本發(fā)明實施例提供的一種視頻編碼中的垂直掃描順序示意圖;
[0031] 圖3是本發(fā)明實施例提供的一種視頻源裝置和目標裝置系統(tǒng)框架圖。
[0032] 圖4是本發(fā)明實施例提供的一種視頻編碼方法的架構(gòu)示意圖;
[0033] 圖5是本發(fā)明實施例提供的一種視頻編碼器示意圖;
[0034] 圖6是本發(fā)明實施例提供的另一種視頻編碼器示意圖。
【具體實施方式】
[0035] 本發(fā)明各個實施例采用下面的縮寫和翻譯,這些縮寫和翻譯對本領(lǐng)域所屬技術(shù)人 員來說是清楚的,需要說明的是,還可以采用其他的縮寫和翻譯來表達同樣的意思。
[0036] HEVC High Efficiency Video Coding 高效視頻編碼
[0037] CU Coding Unit 編碼單元
[0038] PU Prediction Unit 預(yù)測單元
[0039] IXU Largest Coding Unit 最大編碼單元
[0040] SQJ Smallest Coding Unit 最小編碼單元
[0041] TU Transform Unit 變換單元
[0042] Intra 幀內(nèi)預(yù)測
[0043] Inter 巾貞間預(yù)測
[0044] 為了使本【技術(shù)領(lǐng)域】的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的 附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是 本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù) 人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本發(fā)明保護的范 圍。
[0045] 以下分別進行詳細說明。
[0046] 本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語"第一"、"第二"、"第三""第 四"等(如果存在)是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該 理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實施例例如能夠以 除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語"包括"和"具有"以及他們的任 何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、 產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ?這些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
[0047]圖像的變換、量化失真后的數(shù)據(jù),經(jīng)過反變換、反量化以后,會導(dǎo)致這些失真被放 大,尤其是在HEVC中,由于更大尺寸16x16, 32x32變換塊的引入,使得在有些場景,例如特 別是噪聲相對較多的場景,經(jīng)過變換量化后的少量孤立的高頻系數(shù),經(jīng)過反量化、反變換 后,會產(chǎn)生非正常的原始圖像內(nèi)容,如非正常的橫/豎條紋/網(wǎng)狀塊等,這些效應(yīng)會通過 參考幀傳遞累積給后續(xù)其他幀,對主觀體驗的影響較大,特別是在中/低碼率的時候,影 響更加明顯。
[0048]本發(fā)明實施例提供一種基于圖像塊的變換系數(shù)的處理方法和裝置,以期消除非正 常的原始圖像內(nèi)容以提高主觀體驗。
[0049]通過獲得經(jīng)過變換、量化后的當(dāng)前變換塊的變換系數(shù);確定所述當(dāng)前變換塊的變 換系數(shù)中需要置〇的^換系數(shù);按照預(yù)設(shè)掃描順序依次對確定需要置〇的變換系數(shù)進行置 0以得到t理后的當(dāng)前變換塊;對所述處理后的當(dāng)前變換塊進行熵編碼;從而選擇性的略 過一些的高頻系數(shù),但中低頻系數(shù)仍然保留,通過本發(fā)明是實施例中各方法,能夠抑制一 些非正常的噪聲千擾,從而提高主觀體驗。經(jīng)過代碼仿真和驗證平臺實測,中低碼率下的主 觀體驗明顯改善。
[0050]作為本發(fā)明的一個實施例,一種圖像編碼裝置被配置以執(zhí)行以下步驟。
[0051] 101 :獲得經(jīng)過變換、量化后的當(dāng)前變換塊的變換系數(shù)。
[0052] 通常,視頻序列(sequence)包括一系列圖像(picture),圖像被進一步劃分為切 片(slice)或者被稱為條帶,切片再被劃分為編碼單元(⑶),編碼單元通常具有一個亮度 塊(表示為Y)及兩個色度塊(表示為U及V)。取決于視頻取樣格式,就樣本數(shù)目而言,U 及V塊的大小可以與Y分量的大小相同或不同,塊還可被進一步劃分。比如⑶可以按照四 叉樹進行劃分為更小的⑶,而更小的⑶還可以繼續(xù)劃分,從而形成一種四叉樹結(jié)構(gòu)。本發(fā) 明實施例的編碼單元可由最大尺寸和深度來表示特性。深度表示從最大編碼單元空間劃分 編碼單元的次數(shù),并且隨著深度加深,可從最大編碼單元到最小編碼單元劃分根據(jù)深度的 更深的編碼單元。最大編碼單元的深度是最高的深度,最小編碼單元的深度是最低的深度。 因為與每個深度相應(yīng)的編碼單元的尺寸隨著最大編碼單元的深度加深而減小,所以與較高 的深度相應(yīng)的編碼單元可包括與較低的深度對應(yīng)的多個編碼單元。對于PU和TU也有類似 的樹結(jié)構(gòu)。但無 論⑶,PU還是TU,本質(zhì)上都屬于塊(block)的概念,⑶類似于宏塊MB或編 碼塊,是對編碼圖像進行劃分和編碼的基本單元;PU可對應(yīng)預(yù)測塊,是預(yù)測編碼的基本單 元。變換單元(TU)也稱為變換系數(shù)塊,是執(zhí)行變換的基本單元,變換的步驟被應(yīng)用于殘差 數(shù)據(jù)塊以產(chǎn)生變換系數(shù)塊。需要特別說明的是,所謂的當(dāng)前圖像或者當(dāng)前幀,是指當(dāng)前正在 處理(或著編碼)的圖像;所謂的當(dāng)前變換塊,是指當(dāng)前正在進行變換處理的圖像塊。所謂 當(dāng)前編碼單元,當(dāng)前預(yù)測單元亦是同理。在本文中,所謂的圖像塊或者塊,可以是編碼塊,預(yù) 測塊,殘差塊或者變換塊等等中的至少一者。在本文中,所謂的圖像像素或者像素,也被稱 為像素樣本或者樣本。在本文中,所謂的殘差數(shù)據(jù),也被稱為殘差塊或者殘差矩陣;所謂的 預(yù)測數(shù)據(jù),也被稱為預(yù)測塊,所謂的變換塊,也被稱為變換系數(shù)塊。 _
[0053] 對當(dāng)前圖像的劃分通常按照下列步驟進行。如果當(dāng)前圖像大于最大編碼單元,則 當(dāng)前圖像可被劃分為至少一個最大編碼單元。根據(jù)本發(fā)明實施例的最大編碼單元可以是具 有32x32、64x64、128xl28、256x256等尺寸的數(shù)據(jù)單元,其中,數(shù)據(jù)單元的形狀是具有寬度 和長度為2的若干次方的正方形。 _
[0054] 當(dāng)前圖像根據(jù)編碼單元的最大尺寸被劃分為多個最大編碼單元,并且每個最大編 碼單元可包括根據(jù)深度劃分的更深的編碼單元。編碼單元的最大深度和最大尺寸可以被預(yù) 先確定,所述最大深度和最大尺寸限制最大編碼單元的高度和寬度被分層劃分的總次數(shù)。 隨著根據(jù)深度對編碼單元進行分層劃分且隨著編碼單元的數(shù)量的增加,最大編碼單元的尺 寸被劃分。另外,即使在一個最大編碼單元中多個編碼單元對應(yīng)于相同深度,也通過單獨測 量每個編碼單元的圖像數(shù)據(jù)的編碼誤差來確定是否將與相同深度對應(yīng)的每個編碼單元劃 分至更低的深度。
[0055] 圖1示出了一種樹結(jié)構(gòu)的⑶的劃分示意圖,當(dāng)前最大編碼單元LCU的尺寸為 64x64,最小編碼單元的尺寸SCU為8x8, CU被劃分成4個級別:CU64x64 ;深度1 :CU32x32 ; 深度 2 :CU16xl6、深度 3 :CU8x8。1 個 CU64x64 可以劃分成 4 個 CU32x32, 1 個 CU32x32 可以 劃分成4個⑶16x16, 1個⑶16x16還可以劃分成4個CU8x8。預(yù)測階段⑶又可以劃分成 PU,幀內(nèi)預(yù)測的PU劃分可以為2Nx2N、NxN等對稱的PU,幀間預(yù)測的PU可以為2Nx2N、2NxN、 Nx2N、NxN及非對稱的PU。其中,上述N為正整數(shù),例如N可等于2的X次冪,X為自然數(shù)。 變換及量化步驟的階段⑶可以劃分成TU,根據(jù)TU的深度信息,大的TU又可以劃分成小的 TU。深度信息可以標識的方式在碼流中被傳送。
[0056] 為了對當(dāng)前圖像塊(例如,視頻數(shù)據(jù)的預(yù)測單元)進行編碼,首先推導(dǎo)用于當(dāng)前圖 像塊的預(yù)測塊。所述預(yù)測塊可以通過幀內(nèi)(I)預(yù)測(即,空間預(yù)測)或幀間(P或B)預(yù)測 (即,時間預(yù)測)來推導(dǎo)。因此,可以使用相對于相同圖像幀(或切片)中的相鄰參考塊中 的參考樣本的空間預(yù)測對一些預(yù)測單元進行幀內(nèi)編碼(I),所述相鄰參考塊可以包括左下 相鄰塊、左相鄰塊、左上相鄰塊、上相鄰塊和右上相鄰塊中任意之一,并且可以相對于其它 先前經(jīng)編碼幀(或切片)中的參考樣本塊對其它預(yù)測單元進行單向幀間編碼(P)或雙向幀 間編碼(B)。在一些情況下,參考樣本均可用于形成用于待編碼塊的預(yù)測塊;在另一些情況 下,參考樣本不可用于形成用于待編碼塊的預(yù)測塊,這些不可用的情況包括以下任一情形 之一,相鄰塊位于當(dāng)前圖像的邊界以外,或者相鄰塊位于其他切片,或者相鄰塊位于其他區(qū) 塊(tile)。
[0057]預(yù)測時需要遍歷每種 PU (Intra2Nx2N、IntraNxN、Inter2Nx2N、Inter2NxN、 InterNx2N、InterNxN),然后對預(yù)測的殘差數(shù)據(jù)進行RDO計算(即變換、量化、反量化、反變 換等)以確定該⑶下的PU類型及其對應(yīng)的預(yù)測模式信息,如幀內(nèi)預(yù)測模式,運動矢量,是 否使用Merge/skip、預(yù)測塊尺寸、TU尺寸等。該預(yù)測模式信息可為上述當(dāng)前塊在當(dāng)前劃分 深度下的所有可選預(yù)測模式中率失真代價最小的預(yù)測模式,即確定上述當(dāng)前塊在當(dāng)前劃分 深度下的最佳預(yù)測模式,具體可計算出上述當(dāng)前塊在當(dāng)前劃分深度下的所有可選預(yù)測模式 對應(yīng)的率失真代價,將率失真代價最小的預(yù)測模式作為當(dāng)前塊在當(dāng)前劃分深度下的最佳預(yù) 測模式。如前所述,在進行RD0時,需要經(jīng)過預(yù)測得到的殘差數(shù)據(jù)進行變換、量化、反量化、 反變換,并對反變換以后的殘差數(shù)據(jù)與預(yù)測數(shù)據(jù)一起得到重建圖像。
[0058]在識別出預(yù)測塊后,即刻確定原始圖像塊與其預(yù)測塊之間的各個像素之差的矩 陣。這個差矩陣可被稱為預(yù)測殘差數(shù)據(jù),以指示所述原始圖像塊中的像素值與被選擇為表 示經(jīng)編碼塊的預(yù)測塊中的經(jīng)編碼像素值之間的像素差。設(shè) Yi j為當(dāng)前預(yù)測塊的殘差矩陣, 此矩陣為當(dāng)前預(yù)測塊與所述預(yù)測塊對應(yīng)的原始圖像塊的殘差數(shù)據(jù):
[0059] Yi;J = X1;J-predXi;J,0 ^ i<H, 0 ^ j'<W
[0060]其中,為殘差矩陣第i行,第j列元素,Xi j是原始圖像塊,predXy是PU的預(yù) 測塊,H、W分別為PU的高、寬。當(dāng)H、W數(shù)值相等時,所述塊為方塊。當(dāng)H、W數(shù)值不相等時, 所述塊為非方塊。
[0061]上述得到的殘差數(shù)據(jù)實際上是一個當(dāng)前圖像塊的殘差矩陣。變換將殘差數(shù)據(jù)轉(zhuǎn)換 成變換域(例如頻域)中的變換系數(shù)的二維陣列。變換包括大小為4x4的變換塊,8x8的 變換塊,16x16的變換塊和32x32的變換塊等。與H. 264相比,HEVC增加了 16x16和32x32 的變換,能夠使平坦區(qū)域的能量更加集中,從而增加壓縮率。殘差矩陣經(jīng)過變換后的矩陣 為:
[0062] C = ΤΧΥΧΤτ,其中Y為所述殘差矩陣,T為所述變換矩陣,Ττ為所述變換矩陣的 轉(zhuǎn)置矩陣。
[0063]為了實現(xiàn)更好的壓縮,可以例如使用離散余弦變換(DCT)、整數(shù)變換、卡忽南-拉 維(K-L)變換或其他變換對殘差數(shù)據(jù)進行變換。
[0064] 作為示例性的,如下所示為HEVC的1ΘΧ16 -種變換矩陣,該矩陣共用16行16列, 記為T??梢岳斫獾?,16X16的變換矩陣中各元素還可以取其他的值,本發(fā)明對此并不限定。
[0065]
【權(quán)利要求】
1. 一種基于圖像塊的變換系數(shù)的處理方法,其特征在于,包括: 獲得經(jīng)過變換、量化后的當(dāng)前變換塊的變換系數(shù); 確定所述當(dāng)前變換塊的變換系數(shù)中需要置0的變換系數(shù); 按照預(yù)設(shè)掃描順序依次對確定需要置0的變換系數(shù)進行置0以得到處理后的當(dāng)前變換 塊; 對所述處理后的當(dāng)前變換塊進行熵編碼。
2. 根據(jù)權(quán)1所述的方法,其特征在于,所述確定所述當(dāng)前變換塊的變換系數(shù)中需要置0 的變換系數(shù),包括: 確定所述當(dāng)前變換塊的各個變換系數(shù)的絕對值是否小于或等于一預(yù)設(shè)閾值,當(dāng)某個變 換系數(shù)的絕對值小于或等于所述預(yù)設(shè)閾值時,確定所述某個變換系數(shù)需要置0。
3. 根據(jù)權(quán)1所述的方法,其特征在于,所述確定所述當(dāng)前變換塊的變換系數(shù)中需要置0 的變換系數(shù),包括: 確定所述當(dāng)前變換塊的各個變換系數(shù)中不需要置〇的變換系數(shù)的位置,根據(jù)所述不需 要置0的變換系數(shù)的位置確定所述當(dāng)前變換塊的變換系數(shù)中需要置0的變換系數(shù)。
4. 根據(jù)權(quán)1-3任一項所述的方法,其特征在于,所述確定所述當(dāng)前變換塊的變換系數(shù) 中需要置0的變換系數(shù),包括: 確定所述當(dāng)前變換塊的變換系數(shù)中需要置〇的變換系數(shù)的個數(shù)是否達到預(yù)設(shè)個數(shù),若 所述當(dāng)前變換塊的變換系數(shù)中需要置〇的變換系數(shù)的個數(shù)小于或等于所述預(yù)設(shè)個數(shù)時,繼 續(xù)確定所述當(dāng)前變換塊的變換系數(shù)中需要置〇的變換系數(shù)。
5. 根據(jù)權(quán)利要求1-4任一項所述的方法,其特征在于,所述當(dāng)前變換塊的尺寸大小為 16X16或者32X32像素。
6. 根據(jù)權(quán)利要求1-5任一項所述的方法,其特征在于,對所述處理后的當(dāng)前變換塊進 行熵編碼前還包括, 按照所述預(yù)設(shè)掃描順序依次掃描所述處理后的當(dāng)前變換塊以得到掃描后的一維序列, 所述掃描后的一維序列用于所述熵編碼的步驟。
7. 根據(jù)權(quán)利要求1-6任一項所述的方法,其特征在于,所述確定所述當(dāng)前變換塊的變 換系數(shù)中需要置〇的變換系數(shù)以及所述按照預(yù)設(shè)掃描順序依次對確定需要置〇的變換系數(shù) 進行置〇以得到處理后的當(dāng)前變換塊的步驟被有條件地執(zhí)行,所述條件包括:確定所述當(dāng) 前變換塊的任意兩個在所述預(yù)設(shè)掃描順序上相鄰非零變換系數(shù)之間的變換系數(shù)中連續(xù)是〇 的個數(shù); 當(dāng)所述任意兩個在所述預(yù)設(shè)掃描順序上相鄰非零變換系數(shù)之間的變換系數(shù)中連續(xù)是〇 的個數(shù)大于或等于預(yù)設(shè)閾值時,則執(zhí)行所述確定所述當(dāng)前變換塊的變換系數(shù)中需要置〇的 變換系數(shù)以及所述按照預(yù)設(shè)掃描順序依次對確定需要置〇的變換系數(shù)進行置〇以得到處理 后的當(dāng)前變換塊的步驟; 當(dāng)所述任意兩個在所述預(yù)設(shè)掃描順序上相鄰非零變換系數(shù)之間的變換系數(shù)中連續(xù)是0 的個數(shù)小于預(yù)設(shè)閾值時,則不執(zhí)行所述確定所述當(dāng)前變換塊的變換系數(shù)中需要置0的變換 系數(shù)以及所述按照預(yù)設(shè)掃描順序依次對確定需要置0的變換系數(shù)進行置0以得到處理后的 當(dāng)前變換塊的步驟。
8. 根據(jù)權(quán)利要求7所述的方法,其特征在于,所述任意兩個在所述預(yù)設(shè)掃描順序上相 鄰非零變換系數(shù)之間的變換系數(shù)中連續(xù)是0的個數(shù),包括: 最后兩個在所述預(yù)設(shè)掃描順序上相鄰非零變換系數(shù)之間的變換系數(shù)中連續(xù)是0的個 數(shù)。
9. 一種圖像編碼裝置,其特征在于,包括: 變換系數(shù)獲取單元,用于獲得經(jīng)過變換、量化后的當(dāng)前變換塊的變換系數(shù); 確定單元,用于確定所述當(dāng)前變換塊的變換系數(shù)中需要置〇的變換系數(shù); 設(shè)置單元,用于按照預(yù)設(shè)掃描順序依次對確定需要置〇的變換系數(shù)進行置〇以得到處 理后的當(dāng)前變換塊; 熵編碼單元,用于對所述處理后的當(dāng)前變換塊進行熵編碼。
10. 根據(jù)權(quán)利要求9所述的裝置,其特征在于, 所述確定單元包括第一子確定單元,所述第一子確定單元用于確定所述當(dāng)前變換塊的 各個變換系數(shù)的絕對值是否小于或等于一預(yù)設(shè)閾值,當(dāng)某個變換系數(shù)的絕對值小于或等于 所述預(yù)設(shè)閾值時,確定所述某個變換系數(shù)需要置0。
11. 根據(jù)權(quán)利要求9所述的裝置,其特征在于, 所述確定單元包括第三子確定單元,所述第三子確定單元用于確定所述當(dāng)前變換塊的 各個變換系數(shù)中不需要置〇的變換系數(shù)的位置,根據(jù)所述不需要置〇的變換系數(shù)的位置確 定所述當(dāng)前變換塊的變換系數(shù)中需要置〇的變換系數(shù)。
12. 根據(jù)權(quán)利要求9-11任一項所述的裝置,其特征在于, 所述確定單元包括第二子確定單元,所述第二子確定單元用于確定所述當(dāng)前變換塊的 變換系數(shù)中需要置〇的變換系數(shù)的個數(shù)是否達到預(yù)設(shè)個數(shù),若所述當(dāng)前變換塊的變換系數(shù) 中需要置0的變換系數(shù)的個數(shù)小于或等于所述預(yù)設(shè)個數(shù)時,繼續(xù)確定所述當(dāng)前變換塊的變 換系數(shù)中需要置〇的變換系數(shù)。
13. 根據(jù)權(quán)利要求9-12任一項所述的裝置,其特征在于, 所述當(dāng)前變換塊的尺寸大小為16X16或者32X32像素。
14. 根據(jù)權(quán)利要求9-13任一項所述的裝置,其特征在于,所述裝置還包括, 掃描單元,用于在所述得到處理后的當(dāng)前變換塊之后,按照所述預(yù)設(shè)掃描順序依次掃 描所述處理后的當(dāng)前變換塊以得到掃描后的一維序列,所述掃描后的一維序列輸出到熵編 碼單元用于熵編碼。
15. 根據(jù)權(quán)利要求9-14任一項所述的裝置,其特征在于,還包括條件單元, 所述條件單元,用于確定所述當(dāng)前變換塊的任意兩個在所述預(yù)設(shè)掃描順序上相鄰非零 變換系數(shù)之間的變換系數(shù)中連續(xù)是0的個數(shù); 當(dāng)所述條件單元確定所述任意兩個在所述預(yù)設(shè)掃描順序上相鄰非零變換系數(shù)之間的 變換系數(shù)中連續(xù)是〇的個數(shù)大于或等于預(yù)設(shè)閾值時,則執(zhí)行所述確定所述當(dāng)前變換塊的變 換系數(shù)中需要置〇的變換系數(shù)以及所述按照預(yù)設(shè)掃描順序依次對確定需要置〇的變換系數(shù) 進行置〇以得到處理后的當(dāng)前變換塊的步驟; 當(dāng)所述條件單元確定所述任意兩個在所述預(yù)設(shè)掃描順序上相鄰非零變換系數(shù)之間的 變換系數(shù)中連續(xù)是〇的個數(shù)小于預(yù)設(shè)閾值時,則不執(zhí)行所述確定所述當(dāng)前變換塊的變換系 數(shù)中需要置0的變換系數(shù)以及所述按照預(yù)設(shè)掃描順序依次對確定需要置0的變換系數(shù)進行 置0以得到處理后的當(dāng)前變換塊的步驟。
16.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述任意兩個在所述預(yù)設(shè)掃描順序上 相鄰非零變換系數(shù)之間的變換系數(shù)中連續(xù)是〇的個數(shù),包括: 最后兩個在所述預(yù)設(shè)掃描順序上相鄰非零變換系數(shù)之間的變換系數(shù)中連續(xù)是0的個 數(shù)。
【文檔編號】H04N19/91GK104270641SQ201410521215
【公開日】2015年1月7日 申請日期:2014年9月30日 優(yōu)先權(quán)日:2014年9月30日
【發(fā)明者】賴昌材 申請人:杭州華為數(shù)字技術(shù)有限公司