用于視頻編碼的采樣自適應(yīng)偏移處理的方法
【專利說明】
[0001] 交叉引用
[0002] 本發(fā)明主張?jiān)?013年7月15日提出的申請(qǐng)?zhí)枮?1/846, 130、標(biāo)題為"Method and Apparatus for Image and Video Coding with Modified Sample-Adaptive Offset Processing"的美國臨時(shí)專利申請(qǐng)案的優(yōu)先權(quán)。因此在全文中合并參考該美國臨時(shí)專利申 請(qǐng)案。
技術(shù)領(lǐng)域
[0003] 本發(fā)明是有關(guān)于采樣自適應(yīng)偏移(sample adaptive offset, SA0)處理,特別是有 關(guān)于改善采樣自適應(yīng)偏移處理的性能的改進(jìn)的采樣自適應(yīng)偏移處理。
【背景技術(shù)】
[0004] 運(yùn)動(dòng)估計(jì)是有效的幀間編碼技術(shù),該幀間(inter-frame)編碼技術(shù)利用在視頻序 列中的時(shí)間冗余(redundancy)。運(yùn)動(dòng)補(bǔ)償幀間編碼已廣泛地用于各種國際編碼標(biāo)準(zhǔn)中。在 各種編碼標(biāo)準(zhǔn)中采用的運(yùn)動(dòng)估計(jì)通常為基于塊的技術(shù),其中運(yùn)動(dòng)信息,例如編碼模式和運(yùn) 動(dòng)向量,被確定以用于每一個(gè)宏塊或相似的塊配置。此外,幀內(nèi)編碼(intra-coding)也可 以自適應(yīng)地應(yīng)用,其中,被處理的圖片不需要參考其他任意圖片。幀間預(yù)測(cè)或幀內(nèi)預(yù)測(cè)殘差 (residues)通常由變換、量化,和熵編碼來做進(jìn)一步的處理,以產(chǎn)生已壓縮的視頻比特流。 在編碼過程中,編碼偽影(artifacts)被引入,特別是在量化過程中。為減輕編碼偽影,額 外的(additional)處理已應(yīng)用于已重建的視頻,以提高在新的編碼系統(tǒng)中的圖片品質(zhì)。額 外的處理通常被配置為在環(huán)(in-loop)操作,以使得編碼器和解碼器可得到相同的參考圖 片,以改善系統(tǒng)的性能。高效率視頻編碼(HEVC)為視頻編碼聯(lián)合組(JCT-VC)開發(fā)的新一 代國際視頻編碼標(biāo)準(zhǔn)。
[0005] 圖1描述了基于高效率視頻編碼的利用自適應(yīng)幀間/幀內(nèi)預(yù)測(cè)的視頻編碼器的系 統(tǒng)方框圖。在系統(tǒng)中,圖片被分為多個(gè)非重疊的最大編碼單元,或稱為編碼樹區(qū)塊(CTBs)。 對(duì)于幀間預(yù)測(cè)來說,基于來自其他圖片的視頻數(shù)據(jù),運(yùn)動(dòng)估計(jì)/運(yùn)動(dòng)補(bǔ)償(在圖中表示為 ME/MC) 112提供預(yù)測(cè)數(shù)據(jù)。開關(guān)114自幀內(nèi)預(yù)測(cè)110選擇幀內(nèi)預(yù)測(cè)數(shù)據(jù)或自運(yùn)動(dòng)估計(jì)/運(yùn) 動(dòng)補(bǔ)償112選擇幀間預(yù)測(cè)數(shù)據(jù)。選擇的預(yù)測(cè)數(shù)據(jù)136被提供至加法器116,使得輸入視頻 數(shù)據(jù)減去選擇的預(yù)測(cè)數(shù)據(jù)136,以便形成預(yù)測(cè)誤差(也稱為殘差)。然后,預(yù)測(cè)誤差由變換 (在圖中表示為T) 118和隨后的量化(在圖中表示為Q) 120處理。然后,已變換和已量化的 殘差由熵編碼器122編碼,以形成對(duì)應(yīng)于已壓縮的視頻數(shù)據(jù)的視頻比特流。然后,與變換系 數(shù)相關(guān)的比特流與邊信息(side information)(例如,運(yùn)動(dòng)、模式、以及與圖像區(qū)域相關(guān)的 其他信息)一起包裝。邊信息也可經(jīng)過熵編碼以降低需要的帶寬。相應(yīng)地,如圖1所示,與 邊信息相關(guān)的數(shù)據(jù)被提供至熵編碼器122。當(dāng)幀間預(yù)測(cè)模式被使用時(shí),參考圖片也需要在編 碼器端重建。同時(shí),已變換和已量化的殘差由逆量化(在圖中表示為IQ) 124和逆變換(在 圖中表示為IT) 126來處理,以恢復(fù)殘差。然后,殘差在重建128處與預(yù)測(cè)數(shù)據(jù)136相加以 重建視頻數(shù)據(jù)。重建的視頻數(shù)據(jù)可被存儲(chǔ)于參考圖片緩沖器134中,并用于其他幀的預(yù)測(cè)。
[0006] 如圖1所示,輸入的視頻數(shù)據(jù)經(jīng)過編碼系統(tǒng)中的一系列處理。由于一系列的處理, 自重建128的已重建的視頻數(shù)據(jù)受到各種減損(impairments)。相應(yīng)地,為改善視頻質(zhì)量, 在已重建的視頻數(shù)據(jù)被存儲(chǔ)于參考圖片緩沖器134之前,各種在環(huán)處理被應(yīng)用于已重建的 視頻數(shù)據(jù)。在正開發(fā)的高效率視頻編碼標(biāo)準(zhǔn)中,解區(qū)塊濾波器(Deblocking Filter)(在圖 中表示為DF) 130和采樣自適應(yīng)偏移(在圖中表示為SA0) 131已被開發(fā)來提高圖片質(zhì)量。在 環(huán)濾波器信息可包括于比特流中,以使得解碼器可適當(dāng)?shù)鼗謴?fù)需要的信息。因此,自采樣自 適應(yīng)偏移的在環(huán)濾波器信息被提供于熵編碼器122,以包括于比特流中。
[0007] 當(dāng)前高效率視頻編碼標(biāo)準(zhǔn)可僅支持4:0:0和4:2:0圖片采樣格式,該圖片采樣格 式用于每一個(gè)顏色組分的像素深度等于8比特或10比特。然而,HEVC的擴(kuò)展版本被開發(fā) 以用于高保真度類別(level)(例如超高清電視)的新興視頻編碼應(yīng)用。擴(kuò)展的HEVC標(biāo)準(zhǔn) 能夠進(jìn)一步支持YUV4:2:2, YUV4:4:4和RGB4:4:4圖片格式,以及用于每一個(gè)顏色組分的像 素深度可進(jìn)一步支持12比特和16比特。
[0008] 在HEVC標(biāo)準(zhǔn)中,采樣自適應(yīng)偏移(sample-adaptive offset, SA0)處理用于降低 已重建的圖片的失真。采樣自適應(yīng)偏移處理在解區(qū)塊濾波之后處理,并作為非解區(qū)塊濾波 操作的一部分。圖2描述了基于HEVC的包括解區(qū)塊濾波器和采樣自適應(yīng)偏移的解碼器的 系統(tǒng)方框圖。由于編碼器也可包括本地解碼器以用于重建視頻數(shù)據(jù),一些解碼器組分也被 用于編碼器中。對(duì)于解碼器來說,熵解碼器222用于解析并恢復(fù)與殘差、運(yùn)動(dòng)信息、及其他 控制數(shù)據(jù)相關(guān)的已編碼的語法元素。開關(guān)214選擇幀內(nèi)預(yù)測(cè)或幀間預(yù)測(cè)以及選擇的預(yù)測(cè)數(shù) 據(jù)被提供至重建228,以與已重建的殘差合并。除對(duì)已壓縮的視頻數(shù)據(jù)執(zhí)行熵解碼之外,熵 解碼222也負(fù)責(zé)熵解碼邊信息并提供邊信息至各自的區(qū)塊。舉例來說,幀內(nèi)模式信息被提 供至幀內(nèi)預(yù)測(cè)和重建圖片緩沖器210,幀間模式信息被提供至運(yùn)動(dòng)補(bǔ)償212,采樣自適應(yīng)偏 移信息被提供至采樣自適應(yīng)偏移232,以及殘差被提供至逆量化224。殘差由逆量化224、逆 變換226和隨后的重建228處理過程來處理,以重建視頻數(shù)據(jù)。此外,自重建228的已重建 的數(shù)據(jù)經(jīng)過一系列的處理并受到強(qiáng)度偏移(intensity shift),該處理包括如圖2所示的 逆量化224和逆變換226。已重建的視頻數(shù)據(jù)進(jìn)一步由解區(qū)塊濾波器230和采樣自適應(yīng)偏 移232來處理。
[0009] 采樣自適應(yīng)偏移的概念為根據(jù)已重建像素的相鄰像素值,歸類已重建像素至多個(gè) 分類(category)中。然后每一個(gè)分類被分配比特流中已編碼的偏移值,以及已重建信號(hào)的 失真通過將偏移加至每一個(gè)分類中的已重建像素中來降低。在HEVC標(biāo)準(zhǔn)中,采樣自適應(yīng)偏 移工具支持兩種像素分類方法:帶偏移(band offset, B0)和邊緣偏移(edge offset, E0)。
[0010] 如圖3所示,對(duì)于帶偏移來說,已重建的像素通過量化像素值(magnitude)被歸類 于帶中。然后,偏移值被得到以用于每一個(gè)帶,來降低帶中已重建的像素的失真。通過起始 帶位置識(shí)別的一組偏移被選擇并被編碼于比特流中。對(duì)于每一顏色組分(亮度或色度組 分),采樣自適應(yīng)偏移算法可將一個(gè)圖片分割為非重疊區(qū)域,以及每一個(gè)區(qū)塊可在(具有起 始帶位置的)帶偏移、四個(gè)邊緣偏移類型(類別),以及不處理(關(guān)閉OFF)之間選擇一個(gè)采 樣自適應(yīng)偏移類型。采樣自適應(yīng)偏移分割可與編碼樹區(qū)塊邊界對(duì)齊以促進(jìn)基于編碼樹區(qū)塊 的處理。在一個(gè)圖片中的偏移值的總數(shù)取決于區(qū)域分割的數(shù)目和每一個(gè)區(qū)域選擇的采樣自 適應(yīng)偏移類型。
[0011] 對(duì)于邊緣偏移來說,已重建的像素通過將當(dāng)前像素與其相鄰像素在如圖4所示的 邊緣偏移類型識(shí)別的方向上來歸類于分類中。表1列舉了根據(jù)HEVC的用于邊緣偏移像素 分類的決策,其中"c"表示要被歸類的當(dāng)前像素。根據(jù)現(xiàn)有的HEVC標(biāo)準(zhǔn),用于當(dāng)前像素"c" 的分類索引cat_idx由以下內(nèi)容確定:
[0014] 其中,如圖4所示," Cl "和" c i "為對(duì)應(yīng)于給定邊緣偏移類型的相鄰像素。具有用 于不同方向的相鄰像素的選擇的四種邊緣偏移類型也如圖4所示。偏移值被得到以用于每 一個(gè)類型的所有像素。分別對(duì)應(yīng)于分類索引1~4的4個(gè)偏移值被編碼以用于在HEVC中 的一個(gè)編碼樹區(qū)塊(CTB)。
[0017] 邊緣偏移歸類(classification)的分類(category)具有與三個(gè)連續(xù)采樣相關(guān)的 一些物理意義。如圖5所示,顯示的三個(gè)相鄰像素的場(chǎng)景用于對(duì)應(yīng)的分類。舉例來說,分類 1對(duì)應(yīng)于谷值(valley)以及分類4對(duì)應(yīng)于峰值(peak)。
[0018] 在HEVC中,圖片被分割為多個(gè)非重疊編碼樹單元(CTU),每一個(gè)編碼樹單元由多 個(gè)編碼樹區(qū)塊構(gòu)成,以及每一個(gè)編碼樹區(qū)塊用于一個(gè)顏色組分。每一個(gè)編碼樹區(qū)塊可選擇 不處理(no processing) (SAO-off)或應(yīng)用采樣自適應(yīng)偏移類型或類別(即,具有起始帶位 置索引的帶偏移、〇度邊緣偏移、90度邊緣偏移、135度邊緣偏移、以及45度邊緣偏移)中的 一個(gè)。如圖6所示,為進(jìn)一步降低邊信息,當(dāng)前編碼樹區(qū)塊的采樣自適應(yīng)偏移參數(shù)可通過利 用合并語法(Merge syntax),重使用其上端或左端的編碼樹區(qū)塊。采樣自適應(yīng)偏移語法由 語法 sao_merge_left_flag,語法 sao_merge_up_flag,語法 sao_type_idx_luma,語法 sao_ type_idx_chroma,語法 sao_eo_class_luma,語法 sao_eo_class_chroma,語法 sao_band_ position,語法 sao_offset_abs,和語法 sao_offset_sign 構(gòu)成。語法 sao_merge_left_ flag指示當(dāng)前編碼樹區(qū)塊重使用左側(cè)編碼樹區(qū)塊的參數(shù)。語法sao_merge_up_flag表示 當(dāng)前編碼樹區(qū)塊重使用上端編碼樹區(qū)塊的參數(shù)。語法sao_type_idX表示已選擇的采樣自 適應(yīng)偏移類型(即,分別用于亮度組分和色度組分的語法Sa〇_typ e_