TW201919398A - 視頻數據解碼方法及裝置 - Google Patents
視頻數據解碼方法及裝置 Download PDFInfo
- Publication number
- TW201919398A TW201919398A TW107139328A TW107139328A TW201919398A TW 201919398 A TW201919398 A TW 201919398A TW 107139328 A TW107139328 A TW 107139328A TW 107139328 A TW107139328 A TW 107139328A TW 201919398 A TW201919398 A TW 201919398A
- Authority
- TW
- Taiwan
- Prior art keywords
- quantization
- adjustment factor
- image block
- decoded image
- quantization adjustment
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/48—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申請公開了視頻數據解碼方法及裝置,使用當前圖像塊的空間鄰域像素信息模擬當前圖像塊對應的原始像素信息,以估計當前圖像塊所處背景區域的特徵。綜合考慮所述空間鄰域像素信息以及從碼流中解碼出的量化調節因子調節參數,自適應地推導用於當前圖像塊的第二量化調節因子,幷基于自適應推導的第二量化調節因子來調節當前圖像塊對應的第一變換係數集的反量化過程,實現了在視頻解碼過程中,在穩定條帶碼率的同時靈活地調節反量化處理,使得量化失真強度更符合人眼視覺感知,從而提高了編解碼性能。
Description
本申請涉及視頻編解碼技術領域,尤其涉及視頻數據解碼方法以及相應的視頻解碼器。
當前視頻編碼技術包括多種,例如H.264/AVC、H.265/HEVC、音視頻編碼標準(Audio Video coding Standard,AVS)等視頻編碼標準,上述視頻編碼標準通常都採用混合編碼框架,該混合編碼框架可包括預測(prediction)、變換(transform)、量化(quantization)、熵編碼(entropy coding)等環節。預測環節利用已編碼區域的重建像素(reconstructed pixel)産生當前編碼圖像塊(coding block)對應的原始像素(original pixel)的預測像素(predicted pixel)。原始像素和預測像素之間的像素值差異稱爲殘差(residual)。爲了提高殘差的編碼效率,通常先對殘差進行變換,將其轉化爲變換係數(transform coefficient),再對變換係數作量化處理。然後,將量化後的變換係數以及語法元素(例如編碼圖像塊大小、預測模式、運動矢量等指示信息)通過熵編碼處理轉換成碼流。
視頻解碼是將碼流轉換爲視頻圖像的過程,可包括熵解碼(entropy decoding)、預測、反量化(dequantization)、反變換(inverse transform)等環節。首先,將碼流通過熵解碼處理解析出語法元素和經量化的變換係數。然後,一方面基于語法元素和在先已解碼的重建像素得到預測像素;另一方面將經量化的變換係數通過反量化處理得到反量化後的變換係數,幷對反量化後的變換係數進行反變換,以得到重建的殘差。以及,累加重建的殘差和預測像素,以得到重建像素,從而恢復出視頻圖像。
對于有損編碼,重建像素與原始像素可能是不同的,兩者之間的數值差異稱爲失真(distortion)。由于多種視覺掩蔽效應的存在,例如亮度掩蔽效應和對比度掩蔽效應,人眼觀察到失真的強度與失真所在背景的特性有密切的聯繫。也就是說,人眼的失真敏感度與失真所在位置的背景亮度和背景對比度有關,通常來說失真敏感度和背景亮度呈現U形曲綫關係,而與背景的對比度呈單調遞減關係。在視頻編碼或解碼中,結合上述視覺特性,對視覺上失真敏感度較小的區域增大量化步長,對失真敏感度較大的區域減小量化步長,相較于使用統一的量化步長,可以使編碼失真分配更符合人眼視覺感知。
通常來說,反量化過程與量化步長直接相關,而量化步長則受到量化參數QP、縮放因子、電平尺度表的影響。現有技術中,調整量化步長的方法爲:
由編碼端分析視頻序列後,將各個編碼圖像塊的變換係數對應的量化參數(QP)以及該量化參數的偏移量(delta QP)編入碼流;解碼端對各解碼圖像塊根據解析到的量化參數以及偏移量進行相應的量化步長調節。然而,塊級的量化參數以及塊級的偏移量對應的邊信息(side information)較大地增加了比特開銷,一定程度上降低了編解碼性能。
本申請實施例提供一種視頻數據解碼方法及相應的視頻解碼器,一定程度上提高編解碼性能。
本申請實施例還提供另一種視頻數據解碼方法及相應的視頻解碼器,一定程度上提高編解碼性能。
第一方面,本申請實施例提供一種視頻解碼器,包括:
熵解碼模塊,用於從碼流中獲取量化調節因子調節參數(例如條帶層級或條帶段層級的量化調節因子調節參數)和獲取第一變換係數集(例如圖像塊層級的變換係數集),所述第一變換係數集對應于當前解碼圖像塊的殘差;
反量化模塊,用於根據當前解碼圖像塊的空間鄰域像素信息,(例如通過計算或查表的方式)確定用於當前解碼圖像塊的第一量化調節因子;基于所述量化調節因子調節參數與所述第一量化調節因子,得到用於當前解碼圖像塊的第二量化調節因子;基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集;其中,在不同示例下,反量化模塊用於基于所述量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子;或者,反量化模塊用於基于所述量化調節因子調節參數與所述第一量化調節因子的和,得到用於當前解碼圖像塊的第二量化調節因子;
反變換模塊,用於對所述第二變換係數集進行反變換,以得到當前解碼圖像塊的殘差;
預測模塊,用於生成當前解碼圖像塊的預測塊;
重建模塊,用於基于當前解碼圖像塊的殘差和所述當前解碼圖像塊的預測塊對當前解碼圖像塊進行重建。
可見,本申請實施例提供的視頻編碼器使用當前解碼圖像塊(即變換塊)的空間鄰域像素信息模擬當前解碼圖像塊對應的原始像素信息,以估計當前解碼圖像塊所處背景區域的特徵。綜合考慮前述空間鄰域像素信息以及從碼流中解碼出的條帶級或條帶段級的量化調節因子調節參數,自適應地推導用於當前圖像塊(即變換塊)的第二量化調節因子,幷基于自適應推導的第二量化調節因子來調節當前圖像塊對應的第一變換係數集的反量化過程,實現了在視頻解碼過程中,在穩定條帶碼率的同時靈活地調節反量化處理,使得量化失真強度更符合人眼視覺感知,從而提高了編解碼性能。
結合第一方面,在第一方面的某些實現方式中,所述熵解碼模塊具體用於從碼流中獲取用於指示量化調節因子調節參數的索引信息,所述索引信息指向所述量化調節因子調節參數。
可見,通過在碼流中傳輸條帶層級或條帶段層級的量化調節因子調節參數的索引的方案,一定程度上減少了比特開銷,進而提高了編解碼性能。
結合第一方面,在第一方面的某些實現方式中,所述反量化模塊包括:
獲取單元,用於獲取當前解碼圖像塊的空間鄰域像素信息;
計算單元,用於根據像素均值的第一分段函數計算所述第一量化調節因子或根據像素均值查表得到與像素均值對應的第一量化調節因子,所述像素均值是所述空間鄰域像素信息所對應的多個像素的亮度分量求平均得到的均值;基于所述量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子;或者,基于所述量化調節因子調節參數與所述第一量化調節因子的和,得到用於當前解碼圖像塊的第二量化調節因子;
反量化單元,用於基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集。
可見,通過在解碼端利用已重建的空間鄰域像素的像素均值來模擬當前解碼圖像塊對應的原始像素特徵,自適應導出第一量化調節因子,進而基于自適應導出的第一量化調節因子與該量化調節因子調節參數的乘積/和來調節當前解碼圖像塊的殘差變換係數的反量化過程,使得條帶碼率的下降幅度變小,達到穩定條帶碼率的效果,也提高了編解碼性能。
結合第一方面,在第一方面的某些實現方式中,所述反量化模塊包括:
獲取單元,用於獲取當前解碼圖像塊的空間鄰域像素信息;
計算單元,用於根據像素差值的第二分段函數計算所述第一量化調節因子或根據像素差值查表得到與像素差值對應的第一量化調節因子;其中,所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與像素均值的平均絕對誤差和,所述像素均值是所述空間鄰域像素信息所對應的多個像素的亮度分量求平均得到的均值;基于所述量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子;或者基于所述量化調節因子調節參數與所述第一量化調節因子的和,得到用於當前解碼圖像塊的第二量化調節因子;
反量化單元,用於基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集。
可見,通過在解碼端利用已重建的空間鄰域像素的像素差值來模擬當前解碼圖像塊對應的原始像素特徵,自適應導出第一量化調節因子,進而基于自適應導出的第一量化調節因子與該量化調節因子調節參數的乘積/和來調節當前解碼圖像塊的殘差變換係數的反量化過程,在條帶碼率的下降幅度變小,達到穩定條帶碼率的同時,也提高了編解碼性能。
結合第一方面,在第一方面的某些實現方式中,所述反量化模塊包括:
獲取單元,用於獲取當前解碼圖像塊的空間鄰域像素信息;
計算單元,用於根據像素差值和像素均值的第三函數計算所述第一量化調節因子;其中,所述像素均值是所述空間鄰域像素信息對應的多個像素的亮度分量求平均得到的均值;所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與所述像素均值的平均絕對誤差和;基于所述量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子;或者基于所述量化調節因子調節參數與所述第一量化調節因子的和,得到用於當前解碼圖像塊的第二量化調節因子;
反量化單元,用於基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集。
可見,通過在解碼端利用已重建的空間鄰域像素的像素差值和像素均值的組合情況來模擬當前解碼圖像塊對應的原始像素特徵,自適應導出第一量化調節因子,進而基于自適應導出的第一量化調節因子與該量化調節因子調節參數的乘積/和來調節當前解碼圖像塊的殘差變換係數的反量化過程,在條帶碼率的下降幅度變小,達到穩定條帶碼率的同時,也提高了編解碼性能。
結合第一方面,在第一方面的某些實現方式中,所述反量化單元具體用於:
根據預設的第一對應關係確定所述第二量化調節因子對應的目標電平尺度表;其中,所述第一對應關係包括多個量化調節因子與多個電平尺度表的對應關係;
根據所述目標電平尺度表反量化所述第一變換係數集,以得到所述第二變換係數集。
可見,通過在解碼端基于自適應導出的第一量化調節因子與該量化調節因子調節參數的乘積,從多個電平尺度表中確定目標電平尺度表,從而間接地調節當前解碼圖像塊的殘差變換係數的量化步長,在條帶碼率的下降幅度變小,達到穩定條帶碼率的同時,也提高了編解碼性能。
結合第一方面,在第一方面的某些實現方式中,所述反量化單元具體用於:
根據預設的第二對應關係確定所述第二量化調節因子對應的目標量化矩陣;其中,所述第二對應關係包括多個量化調節因子與多個量化矩陣的對應關係;
根據所述目標量化矩陣反量化所述第一變換係數集,以得到所述第二變換係數集。
可見,通過在解碼端基于自適應導出的第一量化調節因子與該量化調節因子調節參數的乘積,從多個量化矩陣中確定目標量化矩陣,從而間接地調節當前解碼圖像塊的殘差變換係數的量化步長,在條帶碼率的下降幅度變小,達到穩定條帶碼率的同時,也提高了編解碼性能。
結合第一方面,在第一方面的某些實現方式中,所述反量化單元具體用於:
從碼流中獲取所述第一變換係數集對應的第一量化步長;
利用所述第二量化調節因子對所述第一量化步長進行縮放,以得到第二量化步長;利用所述第二量化步長反量化所述第一變換係數集,以得到所述第二變換係數集。
可見,通過在解碼端基于自適應導出的第一量化調節因子與該量化調節因子調節參數的乘積,直接地調節當前解碼圖像塊的殘差變換係數的量化步長,在條帶碼率的下降幅度變小,達到穩定條帶碼率的同時,也提高了編解碼性能。
結合第一方面,在第一方面的某些實現方式中,所述反量化單元具體用於:
從碼流中獲取所述第一變換係數集對應的第一量化步長;
利用所述第一量化步長對所述第一變換係數集中的變換係數進行反量化,以得到第三變換係數集中的變換係數;
利用所述第二量化調節因子對所述第三變換係數集中的變換係數進行縮放,以得到所述第二變換係數集。
可見,通過在解碼端基于自適應導出的第一量化調節因子與該量化調節因子調節參數的乘積,對利用基礎量化步長反量化得到的第三變換係數集的變換係數進行縮放,實現了靈活調節當前解碼圖像塊的殘差變換係數的反量化過程的目的,在條帶碼率的下降幅度變小,達到穩定條帶碼率的同時,也提高了編解碼性能。
本申請的第二方面提供了另一種視頻解碼器,該裝置包括:
熵解碼模塊,用於判斷當前解碼圖像塊是否使用自適應反量化過程;
所述熵解碼模塊還用於從碼流中獲取量化調節因子調節參數和獲取第一變換係數集,所述第一變換係數集對應于當前解碼圖像塊的殘差;
反量化模塊,用於在所述熵解碼模塊確定當前解碼圖像塊需使用自適應反量化過程的情況下,根據當前解碼圖像塊的空間鄰域像素信息,(例如通過計算或查表的方式)確定用於當前解碼圖像塊的第一量化調節因子;基于所述量化調節因子調節參數與所述第一量化調節因子,得到用於當前解碼圖像塊的第二量化調節因子;基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集;其中,所述反量化模塊具體用於基于所述量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子;或者,基于所述量化調節因子調節參數與所述第一量化調節因子的和,得到用於當前解碼圖像塊的第二量化調節因子;
反變換模塊,用於對所述第二變換係數集進行反變換,以得到當前解碼圖像塊的殘差;
預測模塊,用於生成當前解碼圖像塊的預測塊;
重建模塊,用於基于當前解碼圖像塊的殘差和所述當前解碼圖像塊的預測塊對當前解碼圖像塊進行重建。
可見,一方面,解碼端通過選擇性地對圖像塊使用自適應反量化過程,一定程度上避免錯誤調節反量化過程;另一方面,針對需要使用自適應反量化過程的圖像塊,在解碼端利用當前圖像塊的空間鄰域像素信息,估計當前圖像塊所處背景區域的特徵。綜合考慮前述空間鄰域像素信息以及從碼流中解碼出的條帶級或條帶段級的量化調節因子調節參數,自適應地推導用於當前圖像塊的第二量化調節因子,幷基于自適應推導的第二量化調節因子來調節當前圖像塊對應的第一變換係數集的反量化過程,實現了在視頻解碼過程中,在穩定條帶碼率的同時靈活地調節反量化處理,使得量化失真強度更符合人眼視覺感知,從而提高了編解碼性能。
結合第二方面,在第二方面的某些實現方式中,所述熵解碼模塊具體用於根據明文地或隱含地包含於碼流中的自適應反量化開關標志判斷當前解碼圖像塊是否使用自適應反量化過程,所述自適應反量化開關標志用於指示當前解碼圖像塊的反量化過程中使用的第二量化調節因子是否爲默認值。
可見,解碼端通過碼流中明文地或隱含地包含於碼流中的自適應反量化開關標志判斷哪些圖像塊需要使用自適應反量化過程,而哪些圖像塊不需要使用自適應反量化過程,從而避免錯誤調節反量化過程。
結合第二方面,在第二方面的某些實現方式中,所述熵解碼模塊具體用於從碼流中解碼出用於指示量化調節因子調節參數的索引信息,所述索引信息指向所述量化調節因子調節參數。
結合第二方面,在第二方面的某些實現方式中,所述反量化模塊包括:
獲取單元,用於獲取當前解碼圖像塊的空間鄰域像素信息;
計算單元,用於根據像素均值的第一分段函數計算所述第一量化調節因子或者根據像素均值查表得到與像素均值對應的第一量化調節因子,所述像素均值是所述空間鄰域像素信息所對應的多個像素的亮度分量求平均得到的均值;基于所述量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子;或者,基于所述量化調節因子調節參數與所述第一量化調節因子的和,得到用於當前解碼圖像塊的第二量化調節因子;
反量化單元,用於基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集。
結合第二方面,在第二方面的某些實現方式中,所述反量化模塊包括:
獲取單元,用於獲取當前解碼圖像塊的空間鄰域像素信息;
計算單元,用於根據像素差值的第二分段函數計算所述第一量化調節因子或者根據像素差值查表得到與像素差值對應的第一量化調節因子;其中,所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與像素均值的平均絕對誤差,所述像素均值是所述空間鄰域像素信息對應的多個像素的亮度分量求平均得到的均值;基于所述量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子;或者,基于所述量化調節因子調節參數與所述第一量化調節因子的和,得到用於當前解碼圖像塊的第二量化調節因子;
反量化單元,用於基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集。
結合第二方面,在第二方面的某些實現方式中,所述反量化模塊包括:
獲取單元,用於獲取當前解碼圖像塊的空間鄰域像素信息;
計算單元,用於根據像素差值和像素均值的第三函數計算所述第一量化調節因子;其中,所述像素均值是所述空間鄰域像素信息對應的多個像素的亮度分量求平均得到的均值,所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與所述像素均值的平均絕對誤差和;基于所述量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子;或者,基于所述量化調節因子調節參數與所述第一量化調節因子的和,得到用於當前解碼圖像塊的第二量化調節因子;
反量化單元,用於基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集。
結合第二方面,在第二方面的某些實現方式中,所述反量化單元具體用於:
根據預設的第一對應關係確定所述第二量化調節因子對應的目標電平尺度表;其中,所述第一對應關係包括多個量化調節因子與多個電平尺度表的對應關係;
根據所述目標電平尺度表反量化所述第一變換係數集,以得到所述第二變換係數集。
結合第二方面,在第二方面的某些實現方式中,所述反量化單元具體用於:
根據預設的第二對應關係確定所述第二量化調節因子對應的目標量化矩陣;其中,所述第二對應關係包括多個量化調節因子與多個量化矩陣的對應關係;
根據所述目標量化矩陣反量化所述第一變換係數集,以得到所述第二變換係數集。
結合第二方面,在第二方面的某些實現方式中,所述反量化單元具體用於:
從碼流中獲取所述第一變換係數集對應的第一量化步長;
利用所述第二量化調節因子對所述第一量化步長進行縮放,以得到第二量化步長;利用所述第二量化步長反量化所述第一變換係數集,以得到所述第二變換係數集。
結合第二方面,在第二方面的某些實現方式中,所述反量化單元具體用於:
從碼流中獲取所述第一變換係數集對應的第一量化步長;
利用所述第一量化步長對所述第一變換係數集中的變換係數進行反量化,以得到第三變換係數集中的變換係數;
利用所述第二量化調節因子對所述第三變換係數集中的變換係數進行縮放,以得到所述第二變換係數集。
本申請的第三方面提供了一種視頻數據解碼方法,該方法包括:
從碼流中獲取量化調節因子調節參數和獲取第一變換係數集,所述第一變換係數集對應于當前解碼圖像塊的殘差;
根據當前解碼圖像塊的空間鄰域像素信息,(例如通過計算或查表的方式)確定用於當前解碼圖像塊的第一量化調節因子;
基于所述量化調節因子調節參數與所述第一量化調節因子,得到用於當前解碼圖像塊的第二量化調節因子;其中,例如,基于所述量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子;或者,基于所述量化調節因子調節參數與所述第一量化調節因子的和,得到用於當前解碼圖像塊的第二量化調節因子;
基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集;
對所述第二變換係數集進行反變換,以得到當前解碼圖像塊的殘差;
基于當前解碼圖像塊的殘差和所述當前解碼圖像塊的預測塊對當前解碼圖像塊進行重建。
結合第三方面,在第三方面的某些實現方式中,所述從碼流中獲取量化調節因子調節參數,包括:
從碼流中獲取用於指示量化調節因子調節參數的索引信息,所述索引信息指向所述量化調節因子調節參數。
結合第三方面,在第三方面的某些實現方式中,所述根據當前解碼圖像塊的空間鄰域像素信息,確定用於當前解碼圖像塊的第一量化調節因子,包括:
獲取當前解碼圖像塊的空間鄰域像素信息;
根據像素均值的第一分段函數計算所述第一量化調節因子或根據像素均值查表得到與像素均值對應的第一量化調節因子,所述像素均值是所述空間鄰域像素信息所對應的多個像素的亮度分量求平均得到的均值。
結合第三方面,在第三方面的某些實現方式中,所述根據當前解碼圖像塊的空間鄰域像素信息,確定用於當前解碼圖像塊的第一量化調節因子,包括:
獲取當前解碼圖像塊的空間鄰域像素信息;
根據像素差值的第二分段函數計算所述第一量化調節因子或根據像素差值查表得到與像素差值對應的第一量化調節因子;其中,所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與像素均值的平均絕對誤差和,所述像素均值是所述空間鄰域像素信息所對應的多個像素的亮度分量求平均得到的均值。
結合第三方面,在第三方面的某些實現方式中,所述根據當前解碼圖像塊的空間鄰域像素信息,確定用於當前解碼圖像塊的第一量化調節因子,包括:
獲取當前解碼圖像塊的空間鄰域像素信息;
根據像素差值和像素均值的第三函數計算所述第一量化調節因子;其中,所述像素均值是所述空間鄰域像素信息對應的多個像素的亮度分量求平均得到的均值;所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與所述像素均值的平均絕對誤差和。
結合第三方面,在第三方面的某些實現方式中,所述基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集,包括:
根據預設的第一對應關係確定所述第二量化調節因子對應的目標電平尺度表;其中,所述第一對應關係包括多個量化調節因子與多個電平尺度表的對應關係;
根據所述目標電平尺度表反量化所述第一變換係數集,以得到所述第二變換係數集。
結合第三方面,在第三方面的某些實現方式中,所述基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集,包括:
根據預設的第二對應關係確定所述第二量化調節因子對應的目標量化矩陣;其中,所述第二對應關係包括多個量化調節因子與多個量化矩陣的對應關係;
根據所述目標量化矩陣反量化所述第一變換係數集,以得到所述第二變換係數集。
結合第三方面,在第三方面的某些實現方式中,所述基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集,包括:
從所述碼流中獲取所述第一變換係數集對應的第一量化步長;
利用所述第二量化調節因子對所述第一量化步長進行縮放,以得到第二量化步長;利用所述第二量化步長反量化所述第一變換係數集,以得到所述第二變換係數集。
結合第三方面,在第三方面的某些實現方式中,所述基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集,包括:
從所述碼流中獲取所述第一變換係數集對應的第一量化步長;
利用所述第一量化步長對所述第一變換係數集中的變換係數進行反量化,以得到第三變換係數集中的變換係數;
利用所述第二量化調節因子對所述第三變換係數集中的變換係數進行縮放,以得到所述第二變換係數集。
本申請的第四方面提供了一種視頻數據解碼方法,該方法包括:
判斷當前解碼圖像塊是否使用自適應反量化過程;
在當前解碼圖像塊需使用自適應反量化過程的情況下,根據當前解碼圖像塊的空間鄰域像素信息,(例如以計算或查表的方式)確定用於當前解碼圖像塊的第一量化調節因子;
基于從碼流中獲取的量化調節因子調節參數與所述第一量化調節因子,得到用於當前解碼圖像塊的第二量化調節因子;其中,例如,基于從碼流中獲取的量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子;或者,基于從碼流中獲取的量化調節因子調節參數與所述第一量化調節因子的和,得到用於當前解碼圖像塊的第二量化調節因子;
基于所述第二量化調節因子對從所述碼流中獲取的第一變換係數集進行反量化,以得到第二變換係數集,所述第一變換係數集對應于當前解碼圖像塊的殘差;
對所述第二變換係數集進行反變換,以得到當前解碼圖像塊的殘差;
基于當前解碼圖像塊的殘差和所述當前解碼圖像塊的預測塊對當前解碼圖像塊進行重建。
結合第四方面,在第四方面的某些實現方式中,所述判斷當前解碼圖像塊是否使用自適應反量化過程,包括:
根據明文地或隱含地包含於碼流中的自適應反量化開關標志判斷當前解碼圖像塊是否使用自適應反量化過程,所述自適應反量化開關標志用於指示當前解碼圖像塊的反量化過程中使用的第二量化調節因子是否爲默認值。
結合第四方面,在第四方面的某些實現方式中,所述根據當前解碼圖像塊的空間鄰域像素信息,確定用於當前解碼圖像塊的第一量化調節因子,包括:
獲取當前解碼圖像塊的空間鄰域像素信息;
根據像素差值的第二分段函數計算所述第一量化調節因子或根據像素差值查表得到與像素差值對應的第一量化調節因子;其中,所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與像素均值的平均絕對誤差和,所述像素均值是所述空間鄰域像素信息所對應的多個像素的亮度分量求平均得到的均值。
結合第四方面,在第四方面的某些實現方式中,所述根據當前解碼圖像塊的空間鄰域像素信息,確定用於當前解碼圖像塊的第一量化調節因子,包括:
獲取當前解碼圖像塊的空間鄰域像素信息;
根據像素差值和像素均值的第三函數計算所述第一量化調節因子;其中,所述像素均值是所述空間鄰域像素信息所對應的多個像素的亮度分量求平均得到的均值,所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與所述像素均值的平均絕對誤差和。
本申請的第五方面提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質中存儲有指令,當其在計算機上運行時,使得計算機執行上述第三方面或第四方面所述的方法。
本申請的第六方面提供了一種包含指令的計算機程序産品,當其在計算機上運行時,使得計算機執行上述第三方面或第四方面所述的方法。
本申請的第七方面提供了一種電子設備,包括上述第一方面所述的視頻解碼器,或上述第二方面所述的視頻解碼器。
應理解,本申請的第二至七方面及對應的實現方式所取得的有益效果參見本申請的第一方面及對應的實現方式所取得的有益效果,不再贅述。
下面對本申請實施例涉及的幾個術語解釋如下:
量化調節因子:用於調節圖像塊級的變換係數的量化過程,或者用於調節圖像塊級的經量化的變換係數的反量化過程,在本申請實施例的下文中,量化調節因子的實例包括第一量化調節因子、第二量化調節因子、第三量化調節因子和第四量化調節因子。應當理解的是,第一量化調節因子和第二量化調節因子是用於視頻解碼過程中調節圖像塊級的經量化的變換係數的反量化過程,其中第一量化調節因子是自適應計算出的初始量化調節因子,第二量化調節因子是相對于第一量化調節因子經過量化調節因子調節參數調整過的。類推地,第三量化調節因子和第四量化調節因子是用於視頻編碼過程中調節圖像塊級的變換係數的量化過程,其中第三量化調節因子是自適應計算出的初始量化調節因子,第四量化調節因子是相對于第三量化調節因子經過量化調節因子調節參數調整過的。作爲一種示例,第二量化調節因子用於調節第一變換係數集中的變換係數的反量化過程,具體的,第二量化調節因子用於直接地或間接地調節第一變換係數集中的變換係數對應的基礎量化步長的。對于間接的手段,所述量化調節因子可以用於調節決定量化步長的多個因素中的任一個或組合,從而達到調節量化步長的目的。通常來說,反量化與量化步長直接相關,而量化步長則受到QP、縮放因子、電平尺度表的影響。例如,可以調節縮放因子來改變量化步長,可以選擇多個縮放因子矩陣(亦稱爲量化矩陣)中的一個來確定縮放因子。
量化調節因子調節參數:用於調節多個圖像塊(例如編碼圖像塊,或解碼圖像塊,亦可稱爲變換塊)的量化調節因子的調節參數,尤其是用於調節多個自適應計算出的圖像塊級的初始量化調節因子的調節參數。
量化參數QP:用於指示量化步長的索引,其中量化參數與量化步長對應。每個級別的量化參數對應一個量化步長,H.264/AVC和H.265/HEVC規定了52個級別的量化參數。爲了區分“量化參數QP指示的量化步長”與“經過本發明方案調整過的量化步長”,本文中將“量化參數QP指示的量化步長”稱爲基礎量化步長(亦稱爲原有量化步長)。
變換係數集:包括N個變換係數,所述變換係數爲所述當前編碼圖像塊(coding block)或當前解碼圖像塊(decoding block)中任一色彩空間分量(例如亮度分量)的變換係數,N爲正整數;在本申請實施例的下文中,變換係數集的實例包括第一變換係數集、第二變換係數集、第三變換係數集、第四變換係數集和第五變換係數集。應當理解的是,第一變換係數集是視頻解碼過程中被反量化的對象,表示經量化過的一個或多個變換係數,且對應于當前解碼圖像塊的殘差第二變換係數集是視頻解碼過程中被反變換的對象,即第二變換係數集表示對第一變換係數集進行反量化得到的一個或多個變換係數。類推地,第四變換係數集是視頻編碼過程中待量化的對象,表示待量化的一個或多個變換係數,具體地,對當前編碼圖像塊的原始塊和至少一個預測塊之間的殘差進行變換得到的第四變換係數集。所述第五變換係數集表示對第四變換係數集進行量化而得到的一個或多個變換係數。
下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述。
第1圖爲本申請實施例中視頻編碼及解碼系統10的一種示意性框圖。如第1圖所示,系統10包含源裝置12,源裝置12産生將在稍後時間由目的地裝置14解碼的經編碼視頻數據。源裝置12及目的地裝置14可包括廣泛範圍的裝置中的任一者,包含桌上型計算機、筆記型計算機、平板計算機、機頂盒、例如所謂的“智能”電話的電話手機、所謂的“智能”觸控板、電視、攝影機、顯示裝置、數字媒體播放器、視頻游戲控制台、視頻流式傳輸裝置或類似者。
目的地裝置14可經由鏈路16接收待解碼的經編碼視頻數據。鏈路16可包括能夠將經編碼視頻數據從源裝置12移動到目的地裝置14的任何類型的媒體或裝置。在一個可行的實施方式中,鏈路16可包括使源裝置12能夠實時將經編碼視頻數據直接傳輸到目的地裝置14的通信媒體。可根據通信標準(例如,無線通信協議)調製經編碼視頻數據且將其傳輸到目的地裝置14。通信媒體可包括任何無線或有綫通信媒體,例如射頻頻譜或一個或多個物理傳輸綫。通信媒體可形成基于包的網絡(例如,局域網、廣域網或因特網的全球網絡)的部分。通信媒體可包含路由器、交換器、基站或可有用於促進從源裝置12到目的地裝置14的通信的任何其它裝備。
替代地,可將經編碼數據從輸出接口22輸出到存儲裝置24。類似地,可由輸入接口從存儲裝置24存取經編碼數據。存儲裝置24可包含多種分散式或本地存取的數據存儲媒體中的任一者,例如,硬盤驅動器、藍光光盤、DVD、CD-ROM、快閃存儲器、易失性或非易失性存儲器或用於存儲經編碼視頻數據的任何其它合適的數字存儲媒體。在另一可行的實施方式中,存儲裝置24可對應于文件服務器或可保持由源裝置12産生的經編碼視頻的另一中間存儲裝置。目的地裝置14可經由流式傳輸或下載從存儲裝置24存取所存儲視頻數據。文件服務器可爲能夠存儲經編碼視頻數據且將此經編碼視頻數據傳輸到目的地裝置14的任何類型的服務器。可行的實施方式文件服務器包含網站服務器、文件傳送協議服務器、網絡附接存儲裝置或本地磁盤機。目的地裝置14可經由包含因特網連接的任何標準數據連接存取經編碼視頻數據。此數據連接可包含適合于存取存儲于文件服務器上的經編碼視頻數據的無線信道(例如,Wi-Fi連接)、有綫連接(例如,纜綫調制解調器等)或兩者的組合。經編碼視頻數據從存儲裝置24的傳輸可爲流式傳輸、下載傳輸或兩者的組合。
本申請的技術不必限于無線應用或設定。技術可應用於視頻解碼以支持多種多媒體應用中的任一者,例如,空中電視廣播、有綫電視傳輸、衛星電視傳輸、流式傳輸視頻傳輸(例如,經由因特網)、編碼數字視頻以用於存儲于數據存儲媒體上、解碼存儲于數據存儲媒體上的數字視頻或其它應用。在一些可行的實施方式中,系統10可經配置以支持單向或雙向視頻傳輸以支持例如視頻流式傳輸、視頻播放、視頻廣播和/或視頻電話的應用。
在第1圖的可行的實施方式中,源裝置12包括視頻源18、視頻編碼器20及輸出接口22。在一些應用中,輸出接口22可包括調製器/解調制器(調制解調器)和/或傳輸器。在源裝置12中,視頻源18可包括例如以下各者的源:視頻捕獲裝置(例如,攝像機)、含有先前捕獲的視頻的視頻存檔、用以從視頻內容提供者接收視頻的視頻饋入接口,和/或用於産生計算機圖形數據作爲源視頻的計算機圖形系統,或這些源的組合。作爲一種可行的實施方式,如果視頻源18爲攝像機,那麽源裝置12及目的裝置14可形成所謂的攝影機電話或視頻電話。本申請中所描述的技術可示例性地適用於視頻解碼,且可適用於無線和/或有綫應用。
可由視頻編碼器20來編碼所捕獲、預捕獲或計算機産生的視頻。經編碼視頻數據可經由源裝置12的輸出接口22直接傳輸到目的地裝置14。經編碼視頻數據也可(或替代地)存儲到存儲裝置24上以供稍後由目的地裝置14或其它裝置存取以用於解碼和/或播放。
目的地裝置14包含輸入接口28、視頻解碼器30及顯示裝置32。在一些應用中,輸入接口28可包含接收器和/或調制解調器。目的地裝置14的輸入接口28經由鏈路16接收經編碼視頻數據。經由鏈路16傳達或提供于存儲裝置24上的經編碼視頻數據可包含由視頻編碼器20産生以供視頻解碼器30的視頻解碼器使用以解碼視頻數據的多種語法元素。這些語法元素可與在通信媒體上傳輸、存儲于存儲媒體上或存儲于文件服務器上的經編碼視頻數據包含在一起。
顯示裝置32可與目的地裝置14集成或在目的地裝置14外部。在一些可行的實施方式中,目的地裝置14可包含集成顯示裝置且也經配置以與外部顯示裝置接口連接。在其它可行的實施方式中,目的地裝置14可爲顯示裝置。一般來說,顯示裝置32向用戶顯示經解碼視頻數據,且可包括多種顯示裝置中的任一者,例如液晶顯示器、等離子顯示器、有機發光二極管顯示器或另一類型的顯示裝置。
視頻編碼器20及視頻解碼器30可根據例如目前在開發中的下一代視頻編解碼壓縮標準(H.266)操作且可遵照H.266測試模型(JEM)。替代地,視頻編碼器20及視頻解碼器30可根據例如ITU-TH.265標準,也稱爲高效率視頻解碼標準,或者,ITU-TH.264標準的其它專屬或工業標準或這些標準的擴展而操作,ITU-TH.264標準替代地被稱爲MPEG-4第10部分,也稱高級視頻編碼(advanced video coding,AVC)。然而,本申請的技術不限于任何特定解碼標準。視頻壓縮標準的其它可行的實施方式包含MPEG-2和ITU-TH.263。
儘管未在第1圖中展示,但在一些方面中,視頻編碼器20及視頻解碼器30可各自與音頻編碼器及解碼器集成,且可包含適當多路複用器-多路分用器(MUX-DEMUX)單元或其它硬件及軟件以處置共同數據流或單獨數據流中的音頻及視頻兩者的編碼。如果適用,那麽在一些可行的實施方式中,MUX-DEMUX單元可遵照ITUH.223多路複用器協議或例如用戶數據報協議(UDP)的其它協議。
視頻編碼器20及視頻解碼器30各自可實施爲多種合適編碼器電路中的任一者,例如,一個或多個微處理器、數字信號處理器(DSP)、專用集成電路(ASIC)、現場可編程門陣列(FPGA)、離散邏輯、軟件、硬件、固件或其任何組合。在技術部分地以軟件實施時,裝置可將軟件的指令存儲于合適的非暫時性計算機可讀媒體中且使用一個或多個處理器以硬件執行指令,以執行本申請的技術。視頻編碼器20及視頻解碼器30中的每一者可包含於一個或多個編碼器或解碼器中,其中的任一者可在相應裝置中集成爲組合式編碼器/解碼器(CODEC)的部分。
本申請示例性地可涉及視頻編碼器20將特定信息“用信號發送”到例如視頻解碼器30的另一裝置。然而,應理解,視頻編碼器20可通過將特定語法元素與視頻數據的各種經編碼部分相關聯來用信號發送信息。即,視頻編碼器20可通過將特定語法元素存儲到視頻數據的各種經編碼部分的頭信息來“用信號發送”數據。在一些應用中,這些語法元素可在通過視頻解碼器30接收及解碼之前經編碼及存儲(例如,存儲到存儲系統34或文件服務器36)。因此,術語“用信號發送”示例性地可指語法或用於解碼經壓縮視頻數據的其它數據的傳達,而不管此傳達是實時或近實時地發生或在時間跨度內發生,例如可在編碼時將語法元素存儲到媒體時發生,語法元素接著可在存儲到此媒體之後的任何時間通過解碼裝置檢索。
JCT-VC開發了H.265(HEVC)標準。HEVC標準化基于稱作HEVC測試模型 (HM) 的視頻解碼裝置的演進模型。H.265的最新標準文檔可從http://www.itu.int/rec/T-REC-H.265獲得,最新版本的標準文檔爲H.265 (12/16) ,該標準文檔以全文引用的方式幷入本文中。HM假設視頻解碼裝置相對于ITU-TH.264/AVC的現有算法具有若干額外能力。例如,H.264提供9種幀內預測編碼模式,而HM可提供多達35種幀內預測編碼模式。
JVET致力于開發H.266標準。H.266標準化的過程基于稱作H.266測試模型的視頻解碼裝置的演進模型。H.266的算法描述可從http://phenix.int-evry.fr/jvet獲得,其中最新的算法描述包含於JVET-F1001-v2中,該算法描述文檔以全文引用的方式幷入本文中。同時,可從https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/獲得JEM測試模型的參考軟件,同樣以全文引用的方式幷入本文中。
一般來說,HM的工作模型描述可將視頻幀或圖像劃分成包含亮度及色度樣本兩者的樹塊或最大編碼單元(largest coding unit,LCU)的序列,LCU也被稱爲CTU。樹塊具有與H.264標準的宏塊類似的目的。條帶包含按解碼次序的數個連續樹塊。可將視頻幀或圖像分割成一個或多個條帶。可根據四叉樹將每一樹塊分裂成編碼單元。例如,可將作爲四叉樹的根節點的樹塊分裂成四個子節點,且每一子節點可又爲母節點且被分裂成另外四個子節點。作爲四叉樹的葉節點的最終不可分裂的子節點包括解碼節點,例如,經解碼圖像塊。與經解碼碼流相關聯的語法數據可定義樹塊可分裂的最大次數,且也可定義解碼節點的最小大小。
編碼單元包含解碼節點及預測單元(prediction unit,PU)以及與解碼節點相關聯的變換單元(transform unit,TU)。CU的大小對應于解碼節點的大小且形狀必須爲正方形。CU的大小的範圍可爲8×8像素直到最大64×64像素或更大的樹塊的大小。每一CU可含有一個或多個PU及一個或多個TU。例如,與CU相關聯的語法數據可描述將CU分割成一個或多個PU的情形。分割模式在CU是被跳過或經直接模式編碼、幀內預測模式編碼或幀間預測模式編碼的情形之間可爲不同的。PU可經分割成形狀爲非正方形。例如,與CU相關聯的語法數據也可描述根據四叉樹將CU分割成一個或多個TU的情形。TU的形狀可爲正方形或非正方形。
HEVC標準允許根據TU進行變換,TU對于不同CU來說可爲不同的。TU通常基于針對經分割LCU定義的給定CU內的PU的大小而設定大小,但情況可能幷非總是如此。TU的大小通常與PU相同或小于PU。在一些可行的實施方式中,可使用稱作“殘差四叉樹”(residual qualtree,RQT)的四叉樹結構將對應于CU的殘差樣本再分成較小單元。RQT的葉節點可被稱作TU。可變換與TU相關聯的像素差值以産生變換係數,變換係數可被量化。
一般來說,TU使用變換及量化過程。具有一個或多個PU的給定CU也可包含一個或多個TU。在預測之後,視頻編碼器20可計算對應于PU的殘差值。殘差值包括像素差值,像素差值可變換成變換係數、經量化且使用TU掃描以産生串行化變換係數以用於熵解碼。本申請通常使用術語“圖像塊”來指CU的解碼節點。在一些特定應用中,本申請也可使用術語“圖像塊”來指包含解碼節點以及PU及TU的樹塊,例如,LCU或CU。本申請實施例的下文將詳細介紹視頻編碼或解碼中自適應反量化方法所描述的各種方法實例來執行當前圖像塊(即當前變換塊)對應的變換係數的反量化過程,以改善編解碼性能。
視頻序列通常包含一系列視頻幀或圖像。圖像群組(group of picture, GOP)示例性地包括一系列、一個或多個視頻圖像。GOP可在GOP的頭信息中、圖像中的一者或多者的頭信息中或在別處包含語法數據,語法數據描述包含於GOP中的圖像的數目。圖像的每一條帶可包含描述相應圖像的編碼模式的條帶語法數據。視頻編碼器20通常對個別視頻條帶內的圖像塊進行操作以便編碼視頻數據。圖像塊可對應于CU內的解碼節點。圖像塊可具有固定或變化的大小,且可根據指定解碼標準而在大小上不同。
作爲一種可行的實施方式,HM支持各種PU大小的預測。假定特定CU的大小爲2N×2N,HM支持2N×2N或N×N的PU大小的幀內預測,及2N×2N、2N×N、N×2N或N×N的對稱PU大小的幀間預測。HM也支持2N×nU、2N×nD、nL×2N及nR×2N的PU大小的幀間預測的不對稱分割。在不對稱分割中,CU的一方向未分割,而另一方向分割成25%及75%。對應于25%區段的CU的部分由“n”後跟著“上(Up)”、“下(Down)”、“左(Left)”或“右(Right)”的指示來指示。因此,例如,“2N×nU”指水平分割的2N×2NCU,其中2N×0.5NPU在上部且2N×1.5NPU在底部。
在本申請中,“N×M”與“N乘M”可互換使用以指依照水平維度及竪直維度的圖像塊的像素尺寸,例如,16×8像素或16乘8像素。一般來說,16×8塊將在水平方向上具有16個像素,即圖像塊的寬爲16像素,且在竪直方向上具有8個像素,即圖像塊的高爲8像素。
在使用CU的PU的幀內預測性或幀間預測性解碼之後,視頻編碼器20可計算CU的TU的殘差數據。PU可包括空間域(也稱作像素域)中的像素數據,且TU可包括在將變換(例如,離散余弦變換(discrete cosine transform,DCT)、整數變換、小波變換或概念上類似的變換)應用於殘差視頻數據之後變換域中的係數。殘差數據可對應于未經編碼圖像的像素與對應于PU的預測值之間的像素差。視頻編碼器20可形成包含CU的殘差數據的TU,且接著變換TU以産生CU的變換係數。
在任何變換以産生變換係數之後,視頻編碼器20可執行變換係數的量化。量化示例性地指對係數進行量化以可能減少用以表示係數的數據的量從而提供進一步壓縮的過程。量化過程可減少與係數中的一些或全部相關聯的位深度。例如,可在量化期間將n位值降值舍位到m位值,其中n大于m。本申請實施例的下文將詳細介紹視頻編碼或解碼中自適應反量化方法所描述的各種方法實例來執行當前圖像塊(即當前變換塊)對應的變換係數的反量化過程,以改善編解碼性能。
JEM模型對視頻圖像的編碼結構進行了進一步的改進,具體的,被稱爲“四叉樹結合二叉樹”(QTBT)的塊編碼結構被引入進來。QTBT結構摒棄了HEVC中的CU,PU,TU等概念,支持更靈活的CU劃分形狀,一個CU可以正方形,也可以是長方形。一個CTU首先進行四叉樹劃分,該四叉樹的葉節點進一步進行二叉樹劃分。同時,在二叉樹劃分中存在兩種劃分模式,對稱水平分割和對稱竪直分割。二叉樹的葉節點被稱爲CU,JEM的CU在預測和變換的過程中都不可以被進一步劃分,也就是說JEM的CU,PU,TU具有相同的塊大小。在現階段的JEM中,CTU的最大尺寸爲256×256亮度像素。
在一些可行的實施方式中,視頻編碼器20可利用預定義掃描次序來掃描經量化變換係數以産生可經熵編碼的串行化向量。在其它可行的實施方式中,視頻編碼器20可執行自適應性掃描。在掃描經量化變換係數以形成一維向量之後,視頻編碼器20可根據上下文自適應性可變長度解碼(CAVLC)、上下文自適應性二進制算術解碼(CABAC)、基于語法的上下文自適應性二進制算術解碼(SBAC)、概率區間分割熵(PIPE)解碼或其他熵解碼方法來熵解碼一維向量。視頻編碼器20也可熵編碼與經編碼視頻數據相關聯的語法元素以供視頻解碼器30用於解碼視頻數據。
爲了執行CABAC,視頻編碼器20可將上下文模型內的上下文指派給待傳輸的符號。上下文可與符號的相鄰值是否爲非零有關。爲了執行CAVLC,視頻編碼器20可選擇待傳輸的符號的可變長度碼。可變長度解碼(VLC)中的碼字可經構建以使得相對較短碼對應于可能性較大的符號,而較長碼對應于可能性較小的符號。以這個方式,VLC的使用可相對于針對待傳輸的每一符號使用相等長度碼字達成節省碼率的目的。基于指派給符號的上下文可以確定CABAC中的概率。
在本申請實施例中,視頻編碼器20可執行變換係數的自適應量化過程,可選的,視頻編碼器20還可執行經量化的變換係數的反量化過程。以及,視頻解碼器30可執行經量化的變換係數的反量化過程。
一幷參閱第3A圖,視頻編碼器20用於將經量化的殘差變換係數(亦稱爲第五變換係數集)以及與當前待編碼的視頻數據相關的語法元素編碼入數字視頻輸出位流(簡稱爲位流或碼流),其中與量化或反量化相關的語法元素可以包括:用於指示量化調節因子調節參數sn的信息,比如,條帶slice級或條帶段級的量化調節因子調節參數。在一種示例下,例如視頻編碼器20在對條帶頭位置的圖像塊(比如變換塊)進行量化時,就獲知了應用於整個條帶中的多個圖像或圖像塊的量化調節因子調節參數。可選的,所述與量化或反量化相關的語法元素還可以包括自適應反量化開關標志,比如,序列級的自適應反量化開關標志,其中三種序列級的自適應反量化開關標志的設置方式可以包括當前視頻序列包括的所有圖像塊都不使用自適應反量化過程,當前視頻序列包括的所有圖像塊都使用自適應反量化過程,或者當前視頻序列包括的圖像塊選擇性的使用自適應反量化過程。
一幷參閱第3B圖和3C,視頻編碼器20還用於計算量化調節因子調節參數,和/或確定是否啓用自適應反量化開關標志,和/或確定自適應反量化開關標志的賦值,比如,條帶slice級或條帶段級的量化調節因子調節參數,和/或序列級的自適應量化開關標志。
在另一實例中,一幷參閱第4圖,視頻解碼器30用於從碼流中解碼出與待解碼視頻數據相關的語法元素,其中,從碼流中解碼出的與待解碼視頻數據相關的語法元素包括與量化或反量化相關的語法元素,其中與量化或反量化相關的語法元可以包括用於指示量化調節因子調節參數的信息或量化調節因子調節參數,例如條帶層級或條帶段層級的量化調節因子調節參數;可選的,所述與量化或反量化相關的語法元素還可以包括自適應反量化開關標志,例如序列級的自適應量化開關標志,或者序列級的自適應量化開關標志和塊級的自適應量化開關標志的組合。
一幷參閱第4圖,視頻解碼器30 還用於從碼流中解碼出與當前解碼圖像塊(即當前變換塊)相關的經量化的變換係數(亦稱爲第一變換係數集)(S401),根據當前解碼圖像塊的空間鄰域像素信息確定用於當前解碼圖像塊的第一量化調節因子(S403);基于量化調節因子調節參數和第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子(S405);基于第二量化調節因子對第一變換係數集進行反量化,以得到第二變換係數集(S407);對第二變換係數集進行反變換,以得到當前解碼圖像塊的殘差(S409);基于當前解碼圖像塊的殘差以及當前解碼圖像塊的預測塊對當前解碼圖像塊進行重建(S411)。
應當理解的是,依據本原理在視頻編碼器20上和視頻解碼器30上可以使用同樣或類似的方法推導得出圖像塊級的量化調節因子(例如第二量化調節因子和第四量化調節因子)。
由上可見,本申請實施例的視頻編碼及解碼系統中,使用當前圖像塊(即變換塊)的空間鄰域像素信息模擬當前圖像塊對應的原始像素信息,以估計當前圖像塊所處背景區域的特徵(例如背景亮度和背景對比度)。綜合考慮前述空間鄰域像素信息以及從碼流中解碼出的條帶級或條帶段級的量化調節因子調節參數,自適應地推導用於當前圖像塊(即變換塊)的量化調節因子,幷基于自適應推導的量化調節因子來調節當前圖像塊對應的第一變換係數集的反量化過程,實現了在視頻編碼或解碼過程中,在穩定條帶碼率的同時靈活地調節反量化處理,使得量化失真強度更符合人眼視覺感知,從而提高了編解碼性能。具體地,本申請實施例引入量化調節因子調節參數,基于自適應確定的第一量化調節因子與該量化調節因子調節參數的乘積來直接地或間接地調節當前圖像塊的量化步長,可以使得條帶碼率的下降幅度變小,達到穩定條帶碼率的效果。
進一步的,相比于在碼流中傳輸塊級的量化調節信息的現有方案,本發明實施例在碼流中傳輸條帶級或條帶段級的量化調節因子調節參數的方案減少了比特開銷,因此進一步提高了編解碼性能。
進一步的,本申請實施例的視頻譯碼系統支持通過碼流中的自適應反量化開關標志得知哪些圖像塊的反量化過程中使用自適應計算的第二量化調節因子,而哪些圖像塊的反量化過程中使用默認值的第二量化調節因子,從而進一步提高了編解碼性能。
第2A圖爲本申請實施例中視頻編碼器20的一種示意性框圖。一幷參閱第3A圖,視頻編碼器20可執行自適應的量化過程以及自適應的反量化過程,尤其是視頻編碼器20中的量化模塊54可執行自適應量化過程,和/或反量化模塊58可執行自適應反量化過程。
如第2A圖所示,視頻編碼器20可以包括:預測模塊41、求和器50、變換模塊52、量化模塊54和熵編碼模塊56。在一種示例下,預測模塊41可以包括運動估計單元42、運動補償單元44和幀內預測單元46,本申請實施例對預測模塊41的內部結構不作限定。可選的,對于混合架構的視頻編碼器,視頻編碼器20也可以包括反量化模塊58、反變換模塊60和求和器62。
在第2A圖的一種可行的實施方式下,視頻編碼器20還可以包括分割單元(未示意)和參考圖像存儲器64,應當理解的是,分割單元和參考圖像存儲器64也可以設置在視頻編碼器20之外;
在另一種可行的實施方式下,視頻編碼器20還可以包括濾波器(未示意)以對塊邊界進行濾波從而從經重構建視頻中去除塊效應僞影。在需要時,濾波器將通常對求和器62的輸出進行濾波。
如第2A圖所示,視頻編碼器20接收視頻數據,且分割單元將數據分割成圖像塊。此分割也可包含分割成條帶、圖像塊或其它較大單元,例如根據LCU及CU的四叉樹結構進行圖像塊分割。一般來說,條帶可劃分成多個圖像塊。
預測模塊41用於生成當前編碼圖像塊的預測塊。預測模塊41可基于編碼質量與代價計算結果(例如,碼率-失真代價,RDcost)選擇當前圖像塊的多個可能解碼模式中的一者,例如多個幀內解碼模式中的一者或多個幀間解碼模式中的一者。預測模塊41可將所得經幀內解碼或經幀間解碼塊提供到求和器50以産生殘差塊數據且將所得經幀內譯碼或經幀間譯碼塊提供到求和器62以重構建經編碼塊從而用作參考圖像。
預測模塊41內的運動估計單元42及運動補償單元44執行相對于一個或多個參考圖像中的一個或多個預測塊的當前圖像塊的幀間預測性解碼以提供時間壓縮。運動估計單元42用於根據視頻序列的預定模式確定視頻條帶的幀間預測模式。預定模式可將序列中的視頻條帶指定爲P條帶、B條帶或GPB條帶。運動估計單元42及運動補償單元44可高度集成,但爲概念目的而分別說明。通過運動估計單元42所執行的運動估計爲産生估計圖像塊的運動矢量的過程。例如,運動矢量可指示當前視頻幀或圖像內的圖像塊的PU相對于參考圖像內的預測塊的位移。
預測塊爲依據像素差而被發現爲緊密匹配待解碼的圖像塊的PU的塊,像素差可通過絕對差和(SAD)、平方差和(SSD)或其它差度量確定。在一些可行的實施方式中,視頻編碼器20可計算存儲于參考圖像存儲器64中的參考圖像的子整數(sub-integer)像素位置的值。
運動估計單元42通過比較PU的位置與參考圖像的預測塊的位置而計算經幀間解碼條帶中的圖像塊的PU的運動矢量。可從第一參考圖像列表(列表0)或第二參考圖像列表(列表1)選擇參考圖像,列表中的每一者識別存儲于參考圖像存儲器64中的一個或多個參考圖像。運動估計單元42將經計算運動矢量發送到熵編碼模塊56及運動補償單元44。
由運動補償單元44執行的運動補償可涉及基于由運動估計所確定的運動矢量提取或産生預測塊,可能執行到子像素精確度的內插。在接收當前圖像塊的PU的運動矢量後,運動補償單元44即可在參考圖像列表中的一者中定位運動矢量所指向的預測塊。視頻編碼器20通過從正經解碼的當前圖像塊的像素值減去預測塊的像素值來形成殘差圖像塊,從而形成像素差值。像素差值形成塊的殘差數據,且可包含亮度及色度差分量兩者。求和器50表示執行此減法運算的一個或多個組件。運動補償單元44也可産生與圖像塊及視頻條帶相關聯的語法元素以供視頻解碼器30用於解碼視頻條帶的圖像塊。
預測模塊41內的幀內預測單元46可執行相對于在與待解碼的當前塊相同的圖像或條帶中的一個或多個相鄰塊的當前圖像塊的幀內預測性解碼以提供空間壓縮。因此,作爲通過運動估計單元42及運動補償單元44執行的幀間預測(如前文所描述)的替代,幀內預測單元46可幀內預測當前塊。明確地說,幀內預測單元46可確定用以編碼當前塊的幀內預測模式。在一些可行的實施方式中,幀內預測單元46可(例如)在單獨編碼遍歷期間使用各種幀內預測模式來編碼當前塊,且幀內預測單元46(或在一些可行的實施方式中,模式選擇單元40)可從經測試模式選擇使用的適當幀內預測模式。
在預測模塊41經由幀間預測或幀內預測産生當前圖像塊的預測塊之後,視頻編碼器20通過從當前圖像塊減去預測塊而形成殘差圖像塊。殘差塊中的殘差視頻數據可包含於一個或多個TU中且應用於變換模塊52。變換模塊52用於對當前編碼圖像塊的原始塊和當前圖像塊的預測塊之間的殘差進行變換,以得到第四變換係數集(S301)。變換模塊52使用例如離散余弦變換(DCT)或概念上類似的變換(例如,離散正弦變換DST)將殘差數據變換成殘差變換係數(下文稱爲第四變換係數集)。變換模塊52可將殘差視頻數據從像素域轉換到變換域(例如,頻域)。
變換模塊52可將所得變換係數(亦稱爲第四變換係數集)發送到量化模塊54。量化模塊54對變換係數進行量化以進一步減小碼率。下文將結合第3A圖對本申請實施例的自適應量化過程進行詳細的介紹,這裏不再贅述。在一些可行的實施方式中,量化模塊54可接著執行包含經量化變換係數的矩陣的掃描。替代地,熵編碼模塊56可執行掃描。
在量化之後,熵編碼模塊56可熵編碼經量化變換係數。例如,熵編碼模塊56可執行上下文自適應性可變長度解碼(CAVLC)、上下文自適應性二進制算術解碼(CABAC)、基于語法的上下文自適應性二進制算術解碼(SBAC)、概率區間分割熵(PIPE)解碼或另一熵編碼方法或技術。熵編碼模塊56也可熵編碼正經編碼的當前視頻條帶的運動矢量及其它語法元素。在通過熵編碼模塊56進行熵編碼之後,可將經編碼碼流傳輸到視頻解碼器30或存檔以供稍後傳輸或由視頻解碼器30檢索。
反量化模塊58及反變換模塊60分別應用反量化及反變換,以在像素域中重構建殘差塊以供稍後用作參考圖像的參考塊。編碼端的自適應反量化過程可以參見第4圖所示的解碼端的自適應反量化過程,這裏不再贅述。求和器62將經重構建殘差塊與通過預測模塊41所産生的預測塊相加以産生重建塊,幷作爲參考塊以供存儲于參考圖像存儲器64中。這些參考塊可由運動估計單元42及運動補償單元44用作參考塊以幀間預測後續視頻幀或圖像中的塊。
應當理解的是,視頻編碼器20的其它的結構變化可用於編碼視頻流。例如,視頻編碼器20中量化模塊54和反量化模塊58可以合幷在一起;或者,視頻編碼器20中變換模塊52和反變換模塊60可以合幷在一起;或者,求和器50和求和器62可以合幷在一起。
第2B圖爲本申請實施例中視頻解碼器30的一種示意性框圖。一幷參閱第4圖或第5圖,視頻解碼器30可執行自適應的反量化過程,尤其是視頻解碼器30中的反量化模塊86可執行自適應反量化過程。
如第2B圖所示,視頻解碼器30可以包括熵解碼模塊80、預測模塊81、反量化模塊86、反變換模塊88和重建模塊90。在一種示例下,預測模塊81可以包括運動補償單元82和幀內預測單元84,本申請實施例對此不作限定。
在一種可行的實施方式中,視頻解碼器30還可以包括參考圖像存儲器92。應當理解的是,參考圖像存儲器92也可以設置在視頻解碼器30之外。在一些可行的實施方式中,視頻解碼器30可執行與關于來自第3A圖的視頻編碼器20描述的編碼流程的示例性地互逆的解碼流程。
在解碼過程期間,視頻解碼器30從視頻編碼器20接收表示經編碼視頻條帶的圖像塊及相關聯的語法元素的經編碼視頻碼流。視頻解碼器30可在視頻條帶層級和/或圖像塊層級處接收語法元素。視頻解碼器30的熵解碼模塊80用於熵解碼碼流以得到語法元素。所述語法元素承載有與反量化相關的信息,其中所述與反量化相關信息可包括經量化的變換係數(圖像塊級的變換係數,亦稱爲第一變換係數集)和量化參數(Quantization Parameter, QP),這裏的量化參數QP是用於指示基礎量化步長的索引。在本申請實施例中,所述與反量化相關信息還可包括條帶級或條帶段級的量化調節因子調節參數。可選的,所述與反量化相關信息還可包括序列級的自適應調節開關標志,或序列級和圖像塊級組合形式的自適應調節開關標志。熵編碼單元80還可將所述語法元素承載的預測模式、運動矢量等信息傳遞到預測模塊81。熵編碼單元80將量化參數QP、量化調節因子調節參數、經量化的變換係數(亦稱爲第一變換係數集)傳遞到反量化模塊86。在另一種實現方式下,熵編碼單元80將量化參數QP、量化調節因子調節參數、自適應調節開關標志、經量化的變換係數(亦稱爲第一變換係數集)傳遞到反量化模塊86。應當理解的是,這裏的傳遞,例如可以是按照熵解碼碼流的順序進行傳遞。
本實施例中,熵解碼模塊80用於從碼流中獲取量化調節因子調節參數和獲取經量化的變換係數(亦稱爲第一變換係數集),所述第一變換係數集對應于當前解碼圖像塊的殘差(S401);在一種示例下,量化調節因子調節參數是視頻條帶層級的,經量化的變換係數(亦稱爲第一變換係數集)是圖像塊層級的。可選地,熵解碼模塊80還用於判斷當前解碼圖像塊是否使用自適應反量化過程(S503)。在一種實現方式下,所述熵解碼模塊80具體用於根據明文地或隱含地包含於碼流中的自適應反量化開關標志判斷當前解碼圖像塊是否使用自適應反量化過程,所述自適應反量化開關標志用於指示當前解碼圖像塊的反量化過程中使用的第二量化調節因子是否爲默認值。
本實施例中,預測模塊81用於生成當前解碼圖像塊的預測塊;具體的,在視頻條帶經解碼爲經幀內解碼(I)條帶時,預測模塊81的幀內預測單元84可基于用信號發送的幀內預測模式及來自當前幀或圖像的先前經解碼圖像塊的數據而産生當前視頻條帶的圖像塊的預測塊。在視頻圖像經解碼爲經幀間解碼(例如,B、P或GPB) 條帶時,預測模塊81的運動補償單元82基于從熵編碼單元80所接收的運動矢量及其它語法元素而産生當前視頻圖像的圖像塊的預測塊。
本實施例中,反量化模塊86用於對碼流中所提供且通過熵編碼單元80所解碼的經量化變換係數(即第一變換係數集)進行反量化。反量化過程可包括使用通過針對視頻條帶中的每一圖像塊所計算的第二量化調節因子來自適應調節所述第一變換係數集的反量化過程。其中,反量化模塊86用於根據當前解碼圖像塊的空間鄰域像素信息,確定用於當前解碼圖像塊的第一量化調節因子(S403,S505);基于所述量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子(S405,S507);基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集(S407,S509A)。
本實施例中,反變換模塊88用於對所述第二變換係數集進行反變換,以得到當前解碼圖像塊的殘差(亦稱爲重構的殘差塊)(S409,S511)。即,反變換模塊88將反變換(例如,反DCT、反整數變換或概念上類似的反變換過程)應用於變換係數以便在像素域中産生殘差塊。
本實施例中,重建模塊90用於基于當前解碼圖像塊的殘差和所述當前解碼圖像塊的預測性圖像塊(簡稱預測塊或預測像素)對當前解碼圖像塊進行重建(S411,S513)。在一種實現方式下,在運動補償單元82基于運動矢量及其它語法元素産生當前圖像塊的預測塊之後,視頻解碼器30通過將來自反變換模塊88的殘差塊與通過運動補償單元82産生的對應預測塊求和來形成經解碼圖像塊。求和器表示執行此求和運算的一個或多個組件。可選的,在需要時,也可應用解塊濾波器來對經解碼塊進行濾波以便去除塊效應僞影。其它環路濾波器(在解碼環路中或在解碼環路之後) 也可用於使像素轉變平滑,或以其它方式改進視頻質量。給定幀或圖像中的經解碼圖像塊接著存儲于參考圖像存儲器92中,參考圖像存儲器92存儲供後續運動補償所使用的參考圖像。參考圖像存儲器92也存儲供稍後呈現于例如第1圖的顯示裝置32的顯示裝置上的經解碼視頻。
應當理解的是,視頻解碼器30的其它結構變化可用於解碼經編碼視頻碼流。例如,視頻解碼器30中反量化模塊86和反變換模塊88可以合幷在一起。
第3A圖是示出根據本申請實施例的一種視頻編碼方法的流程圖。該方法可由視頻編碼器20執行。視頻編碼方法描述爲一系列的步驟或操作,應當理解的是,該方法可以以各種順序執行和/或同時發生,不限于第3A圖所示的執行順序。假設具有多個視頻幀的視頻數據流正在使用視頻編碼器,執行包括如下步驟來編碼當前視頻幀的當前圖像塊;
步驟301,對當前編碼圖像塊的原始塊和至少一個預測塊之間的殘差進行變換,以得到第四變換係數集;第四變換係數集對應于當前編碼圖像塊的殘差;
步驟303,根據當前編碼圖像塊的空間鄰域像素信息,確定用於當前編碼圖像塊的第三量化調節因子;
在本發明實施例中,當前編碼圖像塊的空間鄰域像素信息可以包括:圖像塊X(亦稱爲圖像區域X)的空間鄰域Y中至少一個像素的重建值,具體地,空間鄰域像素信息可以包括M個像素,M爲正整數,其中空間鄰域Y的幾種可選示例包括:
如第6圖(a)~6(d)所示,圖像塊X(由實綫指示)對應于一個w×h編碼單元(即編碼單元的寬爲w個像素,高爲h個像素),空間鄰域Y(由虛綫指示)的構成方式例如以下4種之一:
1) 方式一:X上方的w×n個像素、X左方的m×h個像素、X左上方的m×n個像素,如第6圖 (a) 所示,此時M=w×n + m×h + m×n。
2) 方式二:X上方的w×n個像素、X左方的m×h個像素,如第6圖 (b)所示。
3) 方式三:X上方的w×n個像素、X左方的m×h個像素、X右方的m×h個像素,如第6圖(c) 所示。
4) 方式四:X上方的w×n個像素、X下方的w×n個像素、X左方的m×h個像素、X右方的m×h個像素,如第6圖 (d)所示。
如第6圖(e)~6(f)所示,圖像塊X對應于一個wc×hc編碼單元C(由點綫指示)中的一個w×h區域,空間鄰域Y的構成方式例如以下2種之一:
1) 方式一:X所屬編碼單元C上方的wc×n個像素、C左方的m×hc個像素,如第6圖 (e) 所示。
2) 方式二:X所屬編碼單元C上方的wc×n個像素、C左方的m×hc個像素、C右方的m×hc個像素,如第6圖 (f) 所示。
其中,m和n爲預設常數,例如m=n=1,或m=n=2,或m=2、n=1,或m=1,n=2。m和n還可以與圖像塊X的大小有關,例如當圖像塊X的寬小于或等于第一閾值(例如8)時,n=2;當圖像塊X的寬大于第一閾值(例如8)時,n=1。
在本實施例中,在一種示例下,步驟303可以包括:
步驟303-1:獲取第四變換係數集對應的圖像塊X的空間鄰域像素信息;
具體地,檢查空間鄰域中像素是否已經重建,幷獲取空間鄰域中已重建像素的亮度值。例如,對于第6圖(c)所示的空間鄰域構成方式,分別檢查圖像區域X的左側、上側、右側的像素是否已經重建,以獲取這些區域中已經重建的像素的亮度值。又例如,對于第6圖(c)所示的空間鄰域構成方式,分別檢查圖像區域X的左側、上側、右側的像素是否已經重建,如果左側和右側的像素均已重建,但上側的像素沒有重建,則獲取左右兩側的像素的亮度值;如果三側像素均已重建,則獲取左側和上側的像素的亮度值;如果左側和上側的像素均已重建,但右側的像素沒有重建,則獲取左側和上側的像素的亮度值。
步驟303-2:根據空間鄰域像素信息的統計特性,確定用於圖像塊X的第三量化調節因子;
在本發明實施例中,爲了實現自適應量化的效果,利用當前圖像塊(即變換塊)的空間鄰域像素信息來模擬當前圖像塊對應的原始像素信息。空間鄰域像素信息的統計特性是指對空間鄰域像素信息中多個像素的像素值經過統計分析得到的數值結果,空間鄰域像素信息的統計特性至少可以包括像素均值和/或像素差值。空間鄰域像素信息的統計特性一定程度上反映了當前圖像塊所處背景區域的特徵(例如背景亮度和背景對比度)。
其中,(1)空間鄰域像素信息中K1個像素的亮度值(即亮度分量)的均值,簡稱像素均值,即:
其中P(k)爲空間鄰域中一個像素的亮度值(即亮度分量),其中K1均爲小于或等于M的正整數,例如K1=M/2或M,其中空間鄰域像素信息包括M個像素。
2)空間鄰域像素信息中K2個像素的亮度值與像素均值的平均絕對誤差和(Mean Absolute Difference, MAD),簡稱像素差值,即;
其中K1,K2均爲小于等于M的正整數,K1可與K2相等,也可以K1>K2,例如K1=M/2或M,K2=M/4或M。
其中,基于空間鄰域像素信息的統計特性(例如像素均值、像素差值)確定第三量化調節因子的方法可以採用以下方式中的任意一種:
方法一:根據像素均值的第一分段函數計算所述第三量化調節因子;其中,所述像素均值是所述空間鄰域像素信息所對應的多個像素的亮度分量求平均得到的均值。
在一種具體實例中,第三量化調節因子QC由關于所述像素均值的第一分段函數決定,即,其中,例如=1或0.5。爲關于的U形函數,滿足當小于閾值T1時的一階導數小于0,當大于閾值T2時的一階導數大于0,在閾值T1和T2之間時等于常數C0;其中,T1≥0,T2≥0,T2≥T1,T1例如爲0、60、64或128,T2例如爲0、80、128或170;C0爲正實數例如爲0.5、0.75、1、1.5、8、16、256或1024。更具體的,函數例如
其中爲正實數,例如=150或200.8;爲正實數,例如=425或485.5。函數又例如
其中爲正實數,例如=425或256或135.1。
爲減少計算複雜度,上述函數計算也可以使用查表法來代替。
方法二:根據像素差值的第二分段函數計算所述第三量化調節因子;其中,所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與像素均值的平均絕對誤差和,所述像素均值是所述空間鄰域像素信息所對應的多個像素的亮度分量求平均得到的均值。
在一種具體實例中,第三量化調節因子QC由關于所述像素差值的第二分段函數決定,即,其中,例如=1或者0.8。爲關于的單調函數,滿足當小于閾值T3時,爲常數C3,當大于等于閾值T3時,的一階導數大于0。其中,T3≥0,T3例如爲0、3、5或10;>0,例如=1/2或1;C3爲正實數,例如0.5、0.8、1、16、32或256。更具體的,函數例如
其中爲正實數,例如=10、20、35.5、80或100。
爲減少計算複雜度,上述函數計算也可以使用查表法來代替。
方法三:根據像素差值和像素均值的第三函數計算所述第三量化調節因子;其中,所述像素均值是所述空間鄰域像素信息對應的多個像素的亮度分量求平均得到的均值;所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與所述像素均值的平均絕對誤差和。
在一種具體實例中,第三量化調節因子QC由關于所述像素均值的第一分段函數和關于所述像素差值的第二分段函數聯合決定,換言之,第一量化調節因子QC由所述像素均值和所述像素差值的聯合函數決定,例如,其中,例如=1,,或者=0.5,.5,或者=2,;或者,例如,其中和爲正實數,例如==0.5,或者=0.25,=0.75,或者=0.2,=0.7。
需要說明的是,上述參數T1、T2、T3、C0、C3、C4、、、、可以爲預先設定的常數,也可以根據視頻圖像的統計特性自適應計算得到,也可以從視頻碼流中提取得到。
步驟305,基于量化調節因子調節參數與所述第三量化調節因子的乘積,得到用於當前編碼圖像塊的第四量化調節因子,所述量化調節因子調節參數可以是基于當前條帶或者當前編碼圖像中的多個圖像塊的量化調節因子的幾何平均值而確定的;
簡言之,即利用量化調節因子調節參數sn對第三量化調節因子進行調整,以得到第四量化調節因子QC2。
在一種具體實現方式下,步驟305可以包括:將量化調節因子調節參數sn與第三量化調節因子相乘得到第四量化調節因子QC2,例如使用以下算式計算:
其中,x爲與sn的位寬相關的預設常數;例如採用上述解析sn方式一時,x可設置爲N-1,其中N表示多比特定長碼方式的比特數;又例如採用上述解析sn方式二時,x可設置爲256。
較優地,步驟305中,基于所述量化調節因子調節參數的取整值與第三量化調節因子的取整值的乘積,得到第四量化調節因子的整數值。
在一種具體實現方式下,當採用整數加法和移位實現時,可採用以下算式計算得到第四量化調節因子QC2的整數化結果:
QC2’ = (QC’×sn + so) >> x;
其中so爲舍入偏置,其值例如1<<(x-1);爲的整數化結果,爲的整數化結果。
應當理解的是,將一個數整數化是常用方法,例如可以將QC2與2的整數次冪相乘取整得到;又例如,根據像素均值、像素差值查表得到QC的整數化結果,再將通過公式QC2’ = (QC’×sn + so) >> x得到。
較優地,在步驟305得到第四量化調節因子QC2之後,還可以選擇進一步地對所述第四量化調節因子QC2進行數值限制處理,將QC2對應到一預設的數值範圍之內。例如:
將QC2鉗制在一預設的數值範圍之內,即
其中和是正實數,例如,,或者,;
又例如,將QC2通過映射函數映射到某一數值範圍之內,所述映射函數例如
其中、、、爲實數,例如,,,;或者,,,。
其中,上述參數T1、T2、T3、C0、C3、C4、、、、、、、、、、可以爲預先設定的常數,也可以根據視頻圖像的統計特性自適應計算得到,也可以從視頻碼流中提取得到。
需要說明的是,本實施例中也可以對第三量化因子QC和第四量化因子QC2進行數值限制處理,以將QC和QC2分別對應到一預設的數值範圍之內。
需要說明的是,一種變型下,步驟305可以是基于量化調節因子調節參數與所述第三量化調節因子的和,得到用於當前編碼圖像塊的第四量化調節因子。
步驟307,根據第四量化調節因子對所述第四變換係數集進行量化,以得到第五變換係數集,所述第五變換係數集對應于當前編碼圖像塊的殘差。
其中,根據第四量化調節因子QC2,量化第四變換係數集中變換係數,以得到第五變換係數集中的變換係數,其中,N爲正整數。亦可理解爲,根據第四量化調節因子QC2,調節第四變換係數集中變換係數的量化過程,以得到第五變換係數集中的變換係數。
在一種示例下,變換係數的量化過程可以採用標量量化方式。記當前編碼塊殘差(亦稱爲殘差塊)的N個變換係數中第個變換係數爲(1≤≤N,N與變換塊的大小有關,通常爲16、64、1024等),則量化後的變換係數爲,
其中表示取的符號,即有;爲取整(rounding)操作,通常可以是向下取整、四捨五入取整、向上取整中的一種;表示取的絕對值或幅度;表示變換係數對應的量化步長(quantization step);爲舍入偏置(rounding offset)。
本發明實施例中,可以通過多種方式實現步驟307的量化處理(即調節量化過程),以下提供幾種實現方法:
方法一:獲取第四變換係數集對應的基礎量化步長,即由第四變換係數集對應的量化參數指示的量化步長(亦稱爲第一量化步長);利用第四量化調節因子對第一量化步長進行縮放,以得到第二量化步長;利用第二量化步長量化所述第四變換係數集,以得到第五變換係數集。具體實現可以是:
對于第四變換係數集中的變換係數,根據第四量化調節因子QC2將基礎量化步長(即對應的第一量化步長)進行縮放,以得到第二量化步長;基于第二量化步長量化第四變換係數集中的變換係數,以得到第五變換係數集中的一個變換係數,例如,使用以下公式量化第四變化係數集中的變換係數得到第五變換係數集中的變換係數,即:其中爲舍入偏置,例如=0.5。
方法二:根據預設的第三對應關係確定所述第四量化調節因子QC2對應的目標電平尺度表;其中,所述第三對應關係包括多個量化調節因子與多個電平尺度表的對應關係;根據所述目標電平尺度表量化所述第四變換係數集,以得到所述第五變換係數集。
在本發明實施例中,視頻編碼端可以預先設置多個量化調節因子與多個電平尺度表的第三對應關係。
更具體的,預先將QC2的取值範圍劃分爲H1(H1爲大于1的正整數,例如H1=3、5或6)段區間,每一段區間對應于一個預設的電平尺度表;檢索計算出的第四量化調節因子QC2屬的取值區間,選取第四量化調節因子QC2屬的取值區間所對應的電平尺度表作爲量化第四變換係數集的目標電平尺度表。例如: QC2與電平尺度表的映射關係表(表1)中給出對于包含5個元素的電平尺度表,根據QC2選擇一個電平尺度表的示例。
表1
根據表1所給出的實例,當QC2爲0.9時,確定QC2屬的取值區間爲0.8≤QC2≤1.2,選取取值區間0.8≤QC2≤1.2所對應的電平尺度表{40,45,51,57,64,72}作爲量化第四變換係數集的電平尺度表。
方法三:根據預設的第四對應關係確定所述第四量化調節因子QC2對應的目標量化矩陣;其中,所述第四對應關係爲多個量化調節因子與多個量化矩陣的對應關係;根據所述目標量化矩陣量化所述第四變換係數集,以得到所述第五變換係數集。
其中,預先將QC2的取值範圍劃分爲H2(H2爲大于1的正整數,例如H2=3、5或6)段區間,每一段區間對應于一個預設的量化矩陣;檢索QC2屬的取值區間,選取對應的量化矩陣作爲量化第四變換係數集的量化矩陣。例如:表2中給出對于變換塊
表2
根據表2給出的實例,如果計算出的QC2值爲18,從表2所給出的參數可以確定QC2屬的取值區間爲16≤QC2≤64,則對應的量化所述第四變換係數集的量化矩陣量化矩陣爲表2第三列所示的量化矩陣。
方法四:獲取所述第一變換係數集對應的基礎量化步長(亦稱爲第一量化步長);利用所述第一量化步長對所述第四變換係數集中的變換係數進行量化,以得到第六變換係數集中的變換係數;利用所述計算得到的第四量化調節因子對所述第六變換係數集中的變換係數進行縮放,以得到第五變換係數集。
一種具體的實現方式下,先用第一量化步長對第四變換係數集中的變換係數進行量化得到第六變換係數集中的變換係數,即,再利用第四量化調節因子對進行縮放幷取整得到第五變換係數中的變換係數,即,其中和爲舍入偏置。
步驟309,將所述第四變換係數集編入碼流,如果當前編碼圖像塊是當前條帶的首個編碼圖像塊,則還可以將量化調節因子調節參數,比如條帶層級的量化調節因子調節參數編入碼流;可選的,視頻編碼器20還可以將自適應反量化開關標志編入碼流。
其中,將量化調節因子調節參數sn的值或其近似值編碼寫入到碼流中,可採用以下方式之一:
方式一:將sn的值編碼爲定長碼,寫入碼流的條帶頭中,或者寫入碼流中的條帶片段(slice segment)的條帶片段頭(slice segment header)中。
方式二:將sn的值映射到一組預設常數中與其值最爲接近的常數,幷把該映射得到的常數在這組預設常數中的索引編碼爲定長碼或指數哥倫布碼,寫入碼流中的條帶頭中。例如預設常數放置在一維數組T3中,T3=[469, 430, 394, 362, 331, 304, 279, 256, 234, 215, 197, 181, 165, 152, 139],預設常數的索引即爲數組元素的下標。更具體的,如果sn爲231,預設常數中234與其最爲接近,將234作爲映射值,其下標爲8。
由上可見,本發明實施例所提供的方案,在編碼端利用當前圖像塊(即變換塊)的空間鄰域像素信息來模擬當前解碼圖像塊對應的原始像素信息。綜合考慮前述空間鄰域像素信息以及編碼端確定的條帶級或條帶段級的量化調節因子調節參數,自適應地推導用於當前編碼圖像塊(即變換塊)的第四量化調節因子,幷基于自適應推導的第四量化調節因子來調節當前圖像塊對應的第四變換係數集的量化過程,實現了在視頻編碼過程中,在穩定條帶碼率的同時靈活地調節量化處理,使得量化失真強度更符合人眼視覺感知,從而提高了編碼性能。具體地,本申請實施例引入量化調節因子調節參數,基于自適應計算的第三量化調節因子與該量化調節因子調節參數的乘積來直接地或間接地調節當前編碼圖像塊的量化步長,可以使得條帶碼率的下降幅度變小,達到穩定條帶碼率的效果。
進一步的,相比于在碼流中傳輸圖像塊級的量化調節信息的現有方案,本發明實施例在碼流中傳輸條帶級或條帶段級的量化調節因子調節參數的方案減少了比特開銷,因此進一步提高了編碼性能。
如第3B圖所示,本發明實施例還提供一種計算量化調節因子調節參數的方法,該方法可由視頻編碼器(例如視頻編碼器20)執行,該方法可以包括:
步驟331,針對當前條帶中多個原始圖像塊中的每個原始圖像塊,根據該原始圖像塊像素計算量化調節因子;
在一個條帶或者一個條帶片段(slice segment)的圖像中獲取G個原始圖像塊Bg (g=1, 2, …, G) ,對每個原始圖像塊,根據原始圖像塊像素的亮度值計算量化調節因子QCg。
其中,原始圖像塊的大小例如可以是8×8或者16×16。量化調節因子QCg由關于原始圖像塊像素的亮度值的均值的第一分段函數和關于原始圖像塊像素的亮度值的差值的第二分段函數聯合決定,例如
其中,參數設置爲C0=1, T1=60, T2=170,=150,=425, C3=1/2, T3=5,。在這組參數設定下,QCg爲大于1/2的數。開方計算可以用查表法來簡化。
步驟333,計算各原始圖像塊的量化調節因子QCg的倒數的幾何平均值QCa,例如採用如下公式:
步驟335,基于幾何平均值計算量化調節因子調節參數;
具體地,根據QCa計算量化調節因子調節參數sn =× QCa × k1 + A×k2,其中,x爲常數,例如x=4或5或8,A爲常數,例如A=或;k1和k2爲權重值且k1+k2=1,例如k1=k2=1/2,或者k1=1, k2=0,或者當條帶爲I類型條帶(I slice,即只能使用幀內預測方式的條帶)時,k1=5/8, k2= 3/8;當條帶爲非I類型條帶時,k1=3/8, k2 =5/8。
應當理解的是,本申請實施例不僅限于這一種方法來計算量化調節因子調節參數。
由上可見,本發明實施例所提供的方案,在編碼端計算的量化因子調節參數可以穩定條帶的碼率。例如,當條帶圖像中大部分圖像區域的第三量化調節因子(或第一量化調節因子)較大時,如果直接使用第三量化調節因子(或第一量化調節因子)調節這些圖像塊的量化步長,則編碼處理中這些圖像塊將使用比這些圖像塊的原始量化步長更大的量化步長進行量化處理,從而使得整個條帶中量化步長變大的圖像塊較多而量化步長變小的圖像塊較少;相應的,整個條帶中多數圖像塊的碼率下降而少數圖像塊的碼率上升,導致條帶碼率出現明顯的下降。此時,本申請實施例使用條帶中多個原始圖像塊的量化調節因子來估算條帶中一個或多個圖像塊的第三量化調節因子(或第一量化調節因子)的分布,得到的量化調節因子調節參數較小,該量化調節因子調節參數與各塊的第三量化調節因子(或第一量化調節因子)相乘得到的第四量化調節因子(或第二量化調節因子)相比于第三量化調節因子(或第一量化調節因子)更小,因此使用第四量化調節因子(或第二量化調節因子)調節這些圖像塊的量化步長可以使得條帶碼率的下降幅度變小,達到穩定條帶碼率的效果。
如第3C圖所示,本發明實施例還提供一種設置圖像塊層級的自適應反量化開關標志的方法,該方法可由視頻編碼器20執行,該方法可以包括:
步驟351,根據當前編碼圖像塊(即第四變換係數集對應的圖像塊)的空間鄰域像素信息,計算第三量化調節因子QC;具體實施方式參見其它實施例,這裏不再贅述。
步驟353,根據第四變換係數集對應的圖像塊的原始像素信息,計算第五量化調節因子QCo;
在一種實現方式下,步驟353中,獲取第四變換係數集對應的圖像區域X的未經壓縮的原始像素信息,得到原始像素信息的統計特性;根據原始像素信息的統計特性,計算第五量化調節因子QCo。具體實施方式參見其它實施例,差別在于將空間鄰域像素信息替換爲原始像素信息,計算原始像素信息的像素均值和像素差值,幷根據原始像素信息的像素均值和/或像素差值計算第五量化調節因子QCo。
步驟355,如果第三量化調節因子QC和第五量化調節因子QCo的差值小于閾值Th,則將第四變換係數集對應的圖像塊的自適應反量化開關標志設置爲真ture(例如1),否則設置爲假false(例如0)。Th爲預設常數,例如Th=1/8或1/4或32。
應當理解的是,本申請實施例不僅限于這一種方法來設置圖像塊層級的自適應反量化開關標志。
由上可見,當圖像塊的空間鄰域像素信息與圖像塊自身的像素信息存在較大差別時,利用空間鄰域像素信息計算出的量化調節因子幷不適合用於調節圖像塊的量化步長,使用這種量化步長將引起編碼性能下降。針對這種情況,本發明實施例中,還可以根據圖像塊的第三量化調節因子和第五量化調節因子的比較結果設置圖像塊的自適應反量化開關標志,幷包含圖像塊的自適應反量化開關標志于碼流中傳輸,使得解碼端可以通過碼流中的自適應反量化開關標志信息判斷哪些圖像塊應使用自適應計算的第二量化調節因子,哪些圖像塊使用默認的量化調節因子,從而提高編碼性能。
第4圖是示出根據本申請實施例的一種視頻解碼方法的流程圖。該方法可由視頻解碼器(例如視頻解碼器30)執行。視頻解碼方法描述爲一系列的步驟或操作,應當理解的是,該方法可以以各種順序執行和/或同時發生,不限于第4圖所示的執行順序。假設具有多個視頻幀的視頻數據流正在使用視頻解碼器,執行包括如下步驟來解碼當前視頻幀的當前圖像塊;
步驟401,從碼流中獲取量化調節因子調節參數和獲取第一變換係數集,所述第一變換係數集對應于當前解碼圖像塊的殘差;
應當理解的是,在步驟401中,從碼流中獲取量化調節因子調節參數,與,從碼流中獲取第一變換係數集,可以是先後發生的,其中,量化調節因子調節參數是條帶層級的,變換係數集是圖像塊層級的。
在步驟401中,視頻解碼器可以從碼流中解析明文傳輸的量化調節因子調節參數sn或隱性地傳輸的量化調節因子調節參數sn,比如,從碼流中獲取用於指示量化調節因子調節參數的索引信息,所述索引信息指向所述量化調節因子調節參數。在多種可行的實現方式下,量化調節因子調節參數sn可以包含在當前圖像塊所屬的條帶(slice)的條帶頭(slice header)中,或者當前圖像塊所屬的條帶片段(slice segment)的條帶片段頭(slice segment header)中。如果條帶頭包含有量化調節因子調節參數sn,則說明該量化調節因子調節參數sn可以應用於屬該條帶的所有圖像塊上;同理,如果條帶片段頭包含有量化調節因子調節參數sn,則說明該量化調節因子調節參數sn可以應用於屬該條帶片段的所有圖像塊上;本申請包括但不限于這裏描述的實現方式。
具體地,量化調節因子調節參數sn的解析方式例如使用以下方式之一:
方式一:用N比特定長碼方式解析出量化調節因子調節參數sn,N=4或5或6或7;
方式二:用有符號指數哥倫布碼方式解析出一個索引SI,幷由索引SI得到量化調節因子調節參數sn。
例如,當索引SI爲0時,量化調節因子調節參數sn等于256;當索引SI大于0時,量化調節因子調節參數sn = T1[SI-1];當SI小于0時,sn=T2[-SI-1],其中T1=[234, 215, 197, 181, 165, 152, 139],T2=[279, 304, 331, 362, 394, 430, 469];
又例如,sn=T3[SI+7],T3=[469, 430, 394, 362, 331, 304, 279, 256, 234, 215, 197, 181, 165, 152, 139],
又例如sn=T4[SI+15],T4=[489, 468, 449, 431, 412, 395, 379, 362, 347, 333, 318, 305, 291, 279, 267, 256, 245, 235, 225, 215, 206, 197, 189, 181, 173, 166, 159, 152, 146, 140, 134],
又例如sn=T5[SI+15], T5=[134, 140, 146, 152, 159, 166, 173, 181, 189, 197, 206, 215, 225, 235, 245, 256, 267, 279, 291, 305, 318, 333, 347, 362, 379, 395, 412, 431, 449, 468, 489]。
方式三:用6位定長碼方式解析出一個索引SI,幷由索引SI得到量化調節因子調節參數sn,例如,sn= T5[SI]。
以及,在步驟401中,第一變換係數集包括N個變換係數,所述變換係數爲所述當前解碼圖像塊中任一色彩空間分量(例如亮度分量)的變換係數,N爲正整數;具體地,所述第一變換係數集表示經量化過的一個或多個變換係數,且對應于當前解碼圖像塊的殘差。
在本發明實施例中,第一變換係數集可以包括N個變換係數,N爲正整數,例如N=1、2、4、16、32、50、64、81、128、256、512或1024;變換係數爲所述當前解碼圖像塊中任一色彩空間分量的變換係數,例如亮度分量的變換係數、色度分量的變換係數、RGB任一分量(如R分量)的變換係數。
第一變換係數集對應的圖像塊爲第一變換係數集在當前解碼圖像中對應的圖像塊,例如對于H.264/AVC、H.265/HEVC標準對應的混合編碼框架下,第一變換係數集對應的圖像塊爲第一變換係數集對應的變換塊(transform block)或者變換單元(transform unit),或者爲第一變換係數集對應的變換子塊(即變換塊或變換單元的一部分或一個區域)。在本發明實施例中,第一變換係數集可以包含一個變換塊的全部變換係數;也可以包含一個變換塊的一部分變換係數,例如一個變換塊中的直流係數,或者一組低頻係數,或者一組高頻係數,或者直流係數和一組高頻係數,或者按照某一係數掃描順序下的前幾個係數等。變換塊可以對應于一個編碼單元,也可以對應于編碼單元中的一個區域。以下實施例中,以變換係數爲視頻信號中亮度分量的變換係數進行下文介紹。尤其是,第一變換係數集包括一個亮度變換塊的所有非零變換係數。
步驟403,根據當前解碼圖像塊的空間鄰域像素信息,確定用於當前解碼圖像塊的第一量化調節因子;
當前解碼圖像塊的空間鄰域像素信息是指與當前解碼圖像塊在同一幀解碼圖像上的像素的信息,相鄰像素的位置以及範圍會根據解碼條件的不同進行適應性的調整。
在本發明實施例中,當前解碼圖像塊的空間鄰域像素信息可以包括:圖像塊X(亦稱爲圖像區域X)的空間鄰域Y中至少一個像素的重建值,具體地,空間鄰域像素信息可以包括M個像素,M爲正整數,其中空間鄰域Y的幾種可選示例包括:
如第6圖(a)~6(d)所示,圖像塊X(由實綫指示)對應于一個w×h編碼單元(即編碼單元的寬爲w個像素,高爲h個像素),空間鄰域Y(由虛綫指示)的構成方式例如以下4種之一:
1) 方式一:X上方的w×n個像素、X左方的m×h個像素、X左上方的m×n個像素,如第6圖 (a) 所示,此時M=w×n + m×h + m×n。
2) 方式二:X上方的w×n個像素、X左方的m×h個像素,如第6圖 (b) 所示。
3) 方式三:X上方的w×n個像素、X左方的m×h個像素、X右方的m×h個像素,如第6圖(c) 所示。
4) 方式四:X上方的w×n個像素、X下方的w×n個像素、X左方的m×h個像素、X右方的m×h個像素,如第6圖 (d) 所示。
如第6圖(e)~6(f)所示,圖像塊X對應于一個wc×hc編碼單元C(由點綫指示)中的一個w×h區域,空間鄰域Y的構成方式例如以下2種之一:
1) 方式一:X所屬編碼單元C上方的wc×n個像素、C左方的m×hc個像素,如第6圖 (e) 所示。
2) 方式二:X所屬編碼單元C上方的wc×n個像素、C左方的m×hc個像素、C右方的m×hc個像素,如第6圖 (f) 所示。
其中,m和n爲預設常數,例如m=n=1,或m=n=2,或m=2、n=1,或m=1,n=2。m和n還可以與圖像塊X的大小有關,例如當圖像塊X的寬小于或等于第一閾值(例如8)時,n=2;當圖像塊X的寬大于第一閾值(例如8)時,n=1。
在本實施例中,在一種示例下,步驟403可以包括:
步驟403-1:獲取第一變換係數集對應的圖像塊X的空間鄰域像素信息;
具體地,檢查空間鄰域中像素是否已經重建,幷獲取空間鄰域中已重建像素的亮度值。例如,對于第6圖(c)所示的空間鄰域構成方式,分別檢查圖像區域X的左側、上側、右側的像素是否已經重建,以獲取這些區域中已經重建的像素的亮度值。又例如,對于第6圖(c)所示的空間鄰域構成方式,分別檢查圖像區域X的左側、上側、右側的像素是否已經重建,如果左側和右側的像素均已重建,但上側的像素沒有重建,則獲取左右兩側的像素的亮度值;如果三側像素均已重建,則獲取左側和上側的像素的亮度值;如果左側和上側的像素均已重建,但右側的像素沒有重建,則獲取左側和上側的像素的亮度值。
步驟403-2:根據空間鄰域像素信息的統計特性,確定用於圖像塊X的第一量化調節因子;
在本發明實施例中,爲了實現自適應反量化的效果,利用當前圖像塊(即變換塊)的空間鄰域像素信息來估計當前圖像塊所處背景區域的特徵(例如背景亮度和背景對比度)。空間鄰域像素信息的統計特性是指對空間鄰域像素信息中多個像素的像素值經過統計分析得到的數值結果,空間鄰域像素信息的統計特性至少可以包括像素均值和/或像素差值。空間鄰域像素信息的統計特性一定程度上反映了當前圖像塊所處背景區域的特徵。
其中,(1)空間鄰域像素信息中K1個像素的亮度值(即亮度分量)的均值,簡稱像素均值,即:
其中P(k)爲空間鄰域中一個像素的亮度值(即亮度分量),其中K1均爲小于或等于M的正整數,例如K1=M/2或M,其中空間鄰域像素信息包括M個像素。
2)空間鄰域像素信息中K2個像素的亮度值與像素均值的平均絕對誤差和(Mean Absolute Difference, MAD),簡稱像素差值,即;
其中K1,K2均爲小于等于M的正整數,K1可與K2相等,也可以K1>K2,例如K1=M/2或M,K2=M/4或M。
其中,基于空間鄰域像素信息的統計特性(例如像素均值 、像素差值)計算第一量化調節因子的方法可以採用以下方式中的任意一種:
方法一:根據像素均值的第一分段函數計算所述第一量化調節因子;其中,所述像素均值是所述空間鄰域像素信息所對應的多個像素的亮度分量求平均得到的均值。
在一種具體實例中,第一量化調節因子QC由關于所述像素均值的第一分段函數決定,即,其中,例如=1或0.5。爲關于的分段函數,滿足當小于閾值T1時的一階導數小于0,當大于閾值T2時的一階導數大于0,在閾值T1和T2之間時等于常數C0;其中,T1≥0,T2≥0,T2≥T1,T1例如爲0、60、64或128,T2例如爲0、80、128或170;C0爲正實數例如爲0.5、0.75、1、1.5、8、16、256或1024。更具體的,函數例如
其中爲正實數,例如=150或200.8;爲正實數,例如=425或485.5。函數又例如
其中爲正實數,例如=425或256或135.1。
爲減少計算複雜度,上述函數計算也可以使用查表法來代替。
方法二:根據像素差值的第二分段函數計算所述第一量化調節因子;其中,所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與像素均值的平均絕對誤差和,所述像素均值是所述空間鄰域像素信息所對應的多個像素的亮度分量求平均得到的均值。
在一種具體實例中,第一量化調節因子QC由關于所述像素差值的第二分段函數決定,即,其中,例如=1或者0.8。爲關于的單調函數,滿足當小于閾值T3時,爲常數C3,當大于等于閾值T3時,的一階導數大于0。其中,T3≥0,T3例如爲0、3、5或10;>0,例如=1/2或1;C3爲正實數,例如0.5、0.8、1、16、32或256。更具體的,函數例如
其中爲正實數,例如=10、20、35.5、80或100。
爲減少計算複雜度,上述函數計算也可以使用查表法來代替。
方法三:根據像素差值和像素均值的第三函數計算所述第一量化調節因子;其中,所述像素均值是所述空間鄰域像素信息對應的多個像素的亮度分量求平均得到的均值;所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與所述像素均值的平均絕對誤差和。
在一種具體實例中,第一量化調節因子QC由關于所述像素均值的第一分段函數和關于所述像素差值的第二分段函數聯合決定,換言之,第一量化調節因子QC由所述像素均值和所述像素差值的聯合函數決定,例如,其中,例如=1,,或者=0.5,=1.5,或者=2,;或者,例如,其中和爲正實數,例如==0.5,或者=0.25,=0.75,或者=0.20,=0.70。
在一種具體實例中,可由查表法根據和分別得到的數值和的數值,將的數值和的數值相乘後右移N位,得到第一量化調節因子QC,如以下算式所示:
其中N爲常數,例如N=8或9或6或7。需要說明的是,上述參數T1、T2、T3、C0、C3、C4、、、、、可以爲預先設定的常數,也可以根據視頻圖像的統計特性自適應計算得到,也可以從視頻碼流中提取得到。
步驟405,基于量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子;簡言之,即利用量化調節因子調節參數sn對第一量化調節因子進行調整,以得到第二量化調節因子QC2。
在一種具體實現方式下,步驟405可以包括:將量化調節因子調節參數sn與第一量化調節因子相乘得到第二量化調節因子QC2,例如使用以下算式計算:
其中,x爲與sn的位寬相關的預設常數;例如採用上述解析sn方式一時,x可設置爲N-1,其中N表示多比特定長碼方式的比特數;又例如採用上述解析sn方式二時,x可設置爲256。
較優地,步驟405中,基于所述量化調節因子調節參數的取整值與第一量化調節因子的取整值的乘積,得到第二量化調節因子的整數值。
在一種具體實現方式下,當採用整數加法和移位實現時,可採用以下算式計算得到第二量化調節因子QC2的整數化結果: QC2’ = (QC’×sn + so) >> x;
其中so爲舍入偏置,其值例如1<<(x-1);爲的整數化結果,爲的整數化結果。
應當理解的是,將一個數整數化是常用方法,例如可以將QC2與2的整數次冪相乘取整得到;又例如,根據像素均值、像素差值查表得到QC的整數化結果,再將通過公式QC2’ = (QC’×sn + so) >> x得到。換言之,即根據預設的對應關係確定與當前圖像塊的空間鄰域像素信息的統計特性(例如像素均值或像素差值等)對應的第一量化調節因子;其中,所述對應關係包括多個量化調節因子與多組空間鄰域像素信息的統計特性的對應關係;在不同示例下,所述對應關係爲多個量化調節因子與多個像素均值的對應關係,或者,所述對應關係爲多個量化調節因子與多個像素差值的對應關係,其中多個量化調節因子均是取整值。
作爲一種替代方法,也可以基于量化調節因子調節參數與所述第一量化調節因子的和,得到用於當前解碼圖像塊的第二量化調節因子。在一種具體實現方式下,步驟405可以包括:將量化調節因子調節參數sn與第一量化調節因子相加得到第二量化調節因子QC2,例如使用以下算式計算:
或者,也可以使用以下算式計算:
其中,K爲預設常數,例如K=256或128。
較優地,在步驟405得到第二量化調節因子QC2之後,還可以選擇進一步地對所述第二量化調節因子QC2進行數值限制處理,將QC2對應到一預設的數值範圍之內。例如:
將QC2鉗制在一預設的數值範圍之內,即
其中和是正實數,例如,,或者,;
又例如,將QC2通過映射函數映射到某一數值範圍之內,所述映射函數例如
其中、、、爲實數,例如,,,;或者,,,。
其中,上述參數T1、T2、T3、C0、C3、C4、、、、、、、、、、可以爲預先設定的常數,也可以根據視頻圖像的統計特性自適應計算得到,也可以從視頻碼流中提取得到。
需要說明的是,本實施例中也可以對第一量化因子QC和第二量化因子QC2進行數值限制處理,將QC和QC2分別對應到一預設的數值範圍之內。
步驟407,根據第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集。
具體的,可以是根據第二量化調節因子QC2,反量化第一變換係數集中變換係數,以得到第二變換係數集中的變換係數,其中,N爲正整數。亦可理解爲,根據第二量化調節因子QC2,調節第一變換係數集中變換係數的反量化過程,以得到第二變換係數集中的變換係數。
在一種示例下,對量化後的變換係數進行反量化,以得到重建的變換係數,可以描述爲:
(1)
其中量化步長可以爲浮點數,爲舍入偏置。在一些可行的實施方式下,爲了避免使用浮點數運算,採用整數加法和移位的方式來近似替代浮點數乘法,例如H.265/HEVC將(1)式表述的反量化過程近似爲:
(2)
其中,爲移位參數,爲整數,近似于(1)式中的量化步長,此時=0.5,取整方式爲向下取整。
在一種示例下,由電平尺度(levelScale)和縮放因子(scaling factor)共同決定,
(3)
而爲量化參數(Quantization Parameter, QP)的函數,即有
(4)
其中,電平尺度表, k=0,1,...,5;表示對除6取整,爲取餘操作。
特別的,當一個變換塊(transform block)的長和寬的乘積等于2的奇數次冪時,(2)式還寫爲以下形式:
(2)
其中,和爲預設常數,且,例如=181,=8。
本發明實施例中,可以通過多種方式實現步驟407的反量化處理,以下提供幾種可實現方法:
方法一:從碼流中獲取第一變換係數集對應的第一量化步長;利用第二量化調節因子對第一量化步長進行縮放,以得到第二量化步長,利用第二量化步長反量化所述第一變換係數集,以得到第二變換係數集。具體實現可以是:
對于熵解碼得到的第一變換係數集中的變換係數,根據第二量化調節因子QC2將的基礎量化步長(即對應的第一量化步長)進行縮放,以得到第二量化步長;基于第二量化步長反量化第一變換係數集中的變換係數,以得到第二變換係數集中的一個變換係數。其中,一種示例下,對應的第一量化步長可以是包含於碼流的量化參數QP指示的基礎量化步長;應當理解的是,從碼流中解碼出第一變化係數集所在變換塊的缺省量化參數,例如幀級量化參數QP,其中量化參數QP爲基礎量化步長的索引,量化參數與基礎量化步長對應。
在一種可能實現方式下,使用以下公式反量化第一變化係數集中的變換係數得到第二變換係數集中的變換係數,即:
其中爲舍入常數,例如=0.5。
在另一種可能實現方式下,當反量化採用整數加法和移位實現時,可以採用:
其中爲第一量化步長的整數化結果,爲移位位數;爲額外需要的移位位數;爲的整數化結果,例如可以將QC2與2的整數次冪相乘取整得到,或者對QC2直接取整得到,或者根據像素均值、像素方差以查表法得到QC2的整數化結果。
在再一種可能實現方式下,基于第二量化調節因子的整數化結果,對對應的第一量化步長的整數化結果進行縮放處理,以得到第二量化步長的整數化結果,例如由和相乘得到第二量化步長,再根據第二量化步長的整數化結果對所述第一變換係數集中的變換係數進行反量化,以得到第二變換係數集中的變換係數,例如,採用以下公式反量化得到第二變換係數集中的一個變換係數,即
其中,y爲預設常數,通常與位寬相關,例如y=8或7或3。
方法二:根據預設的第一對應關係確定所述第二量化調節因子QC2對應的目標電平尺度表;其中,所述第一對應關係包括多個量化調節因子與多個電平尺度表的對應關係;根據所述目標電平尺度表反量化所述第一變換係數集,以得到所述第二變換係數集。
在本發明實施例中可以預先設置多個量化調節因子與多個電平尺度表的第一對應關係。
更具體的,預先將QC2的取值範圍劃分爲H1(H1爲大于1的正整數,例如H1=3、5或6)段區間,每一段區間對應于一個預設的電平尺度表;檢索計算出的量化調節因子QC2屬的取值區間,選取量化調節因子QC2屬的取值區間所對應的電平尺度表作爲反量化第一變換係數集的目標電平尺度表。例如: QC2與電平尺度表的映射關係表(表1)中給出對于包含5個元素的電平尺度表,根據QC2選擇一個電平尺度表的示例。
表1
根據表1所給出的實例,當QC2爲0.9時,確定QC2屬的取值區間爲0.8≤QC2≤1.2,選取取值區間0.8≤QC2≤1.2所對應的電平尺度表{40,45,51,57,64,72}作爲反量化第一變換係數集的電平尺度表。
方法三:根據預設的第二對應關係確定所述第二量化調節因子QC2對應的目標量化矩陣;其中,所述第二對應關係爲多個量化調節因子與多個量化矩陣的對應關係;根據所述目標量化矩陣反量化所述第一變換係數集,以得到所述第二變換係數集。
其中,預先將QC2的取值範圍劃分爲H2(H2爲大于1的正整數,例如H2=3、5或6)段區間,每一段區間對應于一個預設的量化矩陣;檢索QC2屬的取值區間,選取對應的量化矩陣作爲反量化第一變換係數集的量化矩陣。例如:表2中給出對于變換塊
表2
根據表2給出的實例,如果計算出的QC2值爲18,從表2所給出的參數可以確定QC2屬的取值區間爲16≤QC2≤64,則對應的反量化所述第一變換係數集的量化矩陣量化矩陣爲表2第三列所示的量化矩陣。
方法四:從碼流中獲取所述第一變換係數集對應的第一量化步長;利用所述第一量化步長對所述第一變換係數集中的變換係數進行反量化,以得到第三變換係數集中的變換係數;利用所述計算得到的第二量化調節因子對所述第三變換係數集中的變換係數進行縮放,以得到第二變換係數集。
一種具體的實現方式下,先用第一量化步長對第一變換係數集中的變換係數進行反量化得到第三變換係數集中的變換係數,即,再利用第二量化調節因子對進行縮放幷取整得到第二變換係數中的變換係數,即,其中和爲舍入偏置。
步驟409,對所述第二變換係數集進行反變換,以得到當前解碼圖像塊的殘差;
步驟411,基于當前解碼圖像塊的殘差和所述當前解碼圖像塊的預測塊對當前解碼圖像塊進行重建。
由上可見,本發明實施例所提供的方案,在解碼端利用當前解碼圖像塊(即變換塊)的空間鄰域像素信息模擬當前解碼圖像塊對應的原始像素信息。綜合考慮前述空間鄰域像素信息以及從碼流中解碼出的條帶級或條帶段級的量化調節因子調節參數,自適應地推導用於當前圖像塊(即變換塊)的第二量化調節因子,幷基于自適應推導的第二量化調節因子來調節當前圖像塊對應的第一變換係數集的反量化過程,實現了在視頻編碼或解碼過程中,在穩定條帶碼率的同時靈活地調節反量化處理,使得量化失真強度更符合人眼視覺感知,從而提高了編解碼性能。具體地,本申請實施例引入量化調節因子調節參數,基于自適應確定的第一量化調節因子與該量化調節因子調節參數的乘積來直接地或間接地調節當前圖像塊的量化步長,可以使得條帶碼率的下降幅度變小,達到穩定條帶碼率的效果。
進一步的,相比于在碼流中傳輸塊級的量化調節信息的現有方案,本發明實施例在碼流中傳輸條帶級或條帶段級的量化調節因子調節參數的方案減少了比特開銷,因此進一步提高了編解碼性能。
第5圖是示出根據本申請實施例的另一種視頻解碼方法的流程圖。該方法可由視頻解碼器(例如視頻解碼器30)執行。視頻解碼方法描述爲一系列的步驟或操作,應當理解的是,該方法可以以各種順序執行和/或同時發生,不限于第4圖所示的執行順序。假設具有多個視頻幀的視頻數據流正在使用視頻解碼器,執行包括如下步驟來解碼當前視頻幀的當前圖像塊;
步驟501,開始;
步驟503,判斷當前解碼圖像塊是否使用自適應反量化過程,如果判斷出當前解碼圖像塊需要使用自適應反量化過程,跳轉執行步驟505;反之,跳轉執行步驟509B;
在步驟503中,根據明文地或隱含地包含於碼流中的自適應反量化開關標志判斷第一變換係數集對應的當前解碼圖像塊是否使用自適應反量化過程(或者,判斷是否應用自適應反量化于第一變換係數集),所述自適應反量化開關標志用於指示當前解碼圖像塊的反量化過程中使用的第二量化調節因子是否爲默認值,換言之,所述自適應反量化開關標志用於指示當前解碼圖像塊的反量化過程中是否需要使用自適應的第二量化調節因子。
例如,如果自適應反量化開關標志爲0(即意味著不需要使用自適應反量化過程),則跳轉執行步驟509B,其中所採用的第二量化調節因子爲設置的默認值;如果自適應反量化開關標志非0(即意味著需要使用自適應反量化過程),則跳轉執行步驟505。
在一種實現方式下,如果序列參數集(sequence parameter set, SPS)中第一語法元素爲第一值(例如0),則第一變換係數集的自適應反量化開關標志默認爲0。如果第一語法元素爲第二值(例如1),則第一變換係數集的自適應反量化開關標志默認爲1。如果第一語法元素爲第三值(例如2),則從碼流中解析第一變換係數集的自適應反量化開關標志。自適應反量化開關標志可通過解析一個標志位(例如enable_flag)得到。
在另一種實現方式下,如果序列參數集(sequence parameter set, SPS)中第一語法元素爲第一值(例如0),則第一變換係數集的自適應反量化開關標志默認爲0。如果序列參數集(sequence parameter set, SPS)中第一語法元素爲第二值(例如1)且序列參數集SPS中第二語法元素爲第一值(例如0),則第一變換係數集的自適應反量化開關標志默認爲1。如果第一語法元素爲第二值且SPS中第二語法元素爲第二值(例如1),針對第一變換係數集對應的圖像塊使用幀間預測模式的情況,進一步從碼流中解析第一變換係數集對應的自適應反量化開關標志;針對第一變換係數集對應的圖像塊使用幀內預測模式的情況,第一變換係數集對應的自適應反量化開關標志設置爲默認值1。
步驟505,根據當前解碼圖像塊的空間鄰域像素信息,確定用於當前解碼圖像塊的第一量化調節因子;
在本發明實施例中,當前解碼圖像塊的空間鄰域像素信息可以包括:圖像塊X(亦稱爲圖像區域X)的空間鄰域Y中至少一個像素的重建值,具體地,空間鄰域像素信息可以包括M個像素,M爲正整數,其中空間鄰域Y的幾種可選示例如第6圖(a)~6(f)所示,詳細說明參見第4圖所示實施例的介紹,這裏不再贅述。
在本實施例中,在一種示例下,步驟505可以包括:
步驟505-1:獲取第一變換係數集對應的當前解碼圖像塊X的空間鄰域像素信息;
具體地,檢查空間鄰域中像素是否已經重建,幷獲取空間鄰域中已重建像素的亮度值。例如,對于第6圖(c)所示的空間鄰域構成方式,分別檢查當前解碼圖像塊X(亦稱爲圖像區域X)的左側、上側、右側的像素是否已經重建,以獲取這些區域中已經重建的像素的亮度值。又例如,對于第6圖(c)所示的空間鄰域構成方式,分別檢查圖像區域X的左側、上側、右側的像素是否已經重建,如果左側和右側的像素均已重建,但上側的像素沒有重建,則獲取左右兩側的像素的亮度值;如果三側像素均已重建,則獲取左側和上側的像素的亮度值;如果左側和上側的像素均已重建,但右側的像素沒有重建,則獲取左側和上側的像素的亮度值。
步驟505-2:根據空間鄰域像素信息的統計特性,確定用於當前解碼圖像塊X的第一量化調節因子;
在本發明實施例中,爲了實現自適應反量化的效果,使用當前圖像塊(即變換塊)的空間鄰域像素信息模擬當前解碼圖像塊對應的原始像素信息,以估計當前解碼圖像塊所處背景區域的特徵(例如背景亮度和背景對比度)。空間鄰域像素信息的統計特性是指對空間鄰域像素信息中多個像素的像素值經過統計分析得到的數值結果,空間鄰域像素信息的統計特性至少可以包括像素均值和/或像素差值。空間鄰域像素信息的統計特性一定程度上反映了當前圖像塊所處背景區域的特徵。
其中,(1)空間鄰域像素信息中K1個像素的亮度值(即亮度分量)的均值,簡稱像素均值,即:
其中P(k)爲空間鄰域中一個像素的亮度值(即亮度分量),其中K1均爲小于或等于M的正整數,例如K1=M/2或M,其中空間鄰域像素信息包括M個像素。
2)空間鄰域像素信息中K2個像素的亮度值與像素均值的平均絕對誤差和(Mean Absolute Difference, MAD),簡稱像素差值,即;
其中K1,K2均爲小于等于M的正整數,K1可與K2相等,也可以K1>K2,例如K1=M/2或M,K2=M/4或M。
其中,基于空間鄰域像素信息的統計特性(例如像素均值和/或像素差值)計算第一量化調節因子的方法可以採用以下方式中的任意一種:
方法一:根據像素均值的第一分段函數計算所述第一量化調節因子;其中,所述像素均值是所述空間鄰域像素信息所對應的多個像素的亮度分量求平均得到的均值。
在一種具體實例中,第一量化調節因子QC由關于所述像素均值的第一分段函數決定,即,其中,例如=1或0.5。爲關于的U形函數,滿足當小于閾值T1時的一階導數小于0,當大于閾值T2時的一階導數大于0,在閾值T1和T2之間時等于常數C0;其中,T1≥0,T2≥0,T2≥T1,T1例如爲0、60、64或128,T2例如爲0、80、128或170;C0爲正實數例如爲0.5、0.75、1、1.5、8、16、256或1024。更具體的,函數例如
其中爲正實數,例如=150或200.8;爲正實數,例如=425或485.5。函數又例如
其中爲正實數,例如=256或135.1。
爲減少計算複雜度,上述函數計算也可以使用查表法來代替。
方法二:根據像素差值的第二分段函數計算所述第一量化調節因子;其中,所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與像素均值的平均絕對誤差和,所述像素均值是所述空間鄰域像素信息所對應的多個像素的亮度分量求平均得到的均值。
在一種具體實例中,第一量化調節因子QC由關于所述像素差值的第二分段函數決定,即,其中,例如=1或者0.8。爲關于的單調函數,滿足當小于閾值T3時,爲常數C3,當大于等于閾值T3時,的一階導數大于0。其中,T3≥0,T3例如爲0、3、5或10;>0,例如=1/2或1;C3爲正實數,例如0.5、0.8、1、16、32或256。更具體的,函數例如
其中爲正實數,例如=10、20、35.5、80或100。
爲減少計算複雜度,上述函數計算也可以使用查表法來代替。
方法三:根據像素差值和像素均值的第三函數計算所述第一量化調節因子;其中,所述像素均值是所述空間鄰域像素信息對應的多個像素的亮度分量求平均得到的均值;所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與所述像素均值的平均絕對誤差和。
在一種具體實例中,第一量化調節因子QC由關于所述像素均值的第一分段函數和關于所述像素差值的第二分段函數聯合決定,換言之,第一量化調節因子QC由所述像素均值和所述像素差值的聯合函數決定,例如,其中,例如=1,,或者=0.5,.5,或者=2,;或者,例如。
需要說明的是,上述參數T1、T2、T3、C0、C3、C4、、、、、可以爲預先設定的常數,也可以根據視頻圖像的統計特性自適應計算得到,也可以從視頻碼流中提取得到。
步驟507,基于從碼流中獲取的量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子;
在步驟507中,視頻解碼器可以從碼流中解析明文傳輸的量化調節因子調節參數sn或隱性地傳輸的量化調節因子調節參數sn,比如,從碼流中獲取用於指示量化調節因子調節參數的索引信息,所述索引信息指向所述量化調節因子調節參數。在多種可行的實現方式下,量化調節因子調節參數sn可以包含在當前圖像塊所屬的條帶(slice)的條帶頭(slice header)中,或者當前圖像塊所屬的條帶片段(slice segment)的條帶片段頭(slice segment header)中。如果條帶頭包含有量化調節因子調節參數sn,則說明該量化調節因子調節參數sn可以應用於屬該條帶的所有圖像塊上;同理,如果條帶片段頭包含有量化調節因子調節參數sn,則說明該量化調節因子調節參數sn可以應用於屬該條帶片段的所有圖像塊上;本申請包括但不限于這裏描述的實現方式。
其中,量化調節因子調節參數sn的解析方式例如使用以下方式之一:
方式一:用N比特定長碼方式解析出量化調節因子調節參數sn,N=4或5或6或7;
方式二:用有符號指數哥倫布碼方式解析出一個索引SI,幷由索引SI得到量化調節因子調節參數sn。
例如,當索引SI爲0時,量化調節因子調節參數sn等于256;當索引SI大于0時,量化調節因子調節參數sn = T1[SI-1];當SI小于0時,sn=T2[-SI-1],其中T1=[234, 215, 197, 181, 165, 152, 139],T2=[279, 304, 331, 362, 394, 430, 469];
又例如,sn=T3[SI+7],T3=[469, 430, 394, 362, 331, 304, 279, 256, 234, 215, 197, 181, 165, 152, 139],
又例如sn=T4[SI+15],T4=[489, 468, 449, 431, 412, 395, 379, 362, 347, 333, 318, 305, 291, 279, 267, 256, 245, 235, 225, 215, 206, 197, 189, 181, 173, 166, 159, 152, 146, 140, 134],
又例如sn=T5[SI+15], T5=[134, 140, 146, 152, 159, 166, 173, 181, 189, 197, 206, 215, 225, 235, 245, 256, 267, 279, 291, 305, 318, 333, 347, 362, 379, 395, 412, 431, 449, 468, 489]。
方式三:用6位定長碼方式解析出一個索引SI,幷由索引SI得到量化調節因子調節參數sn,例如,sn= T5[SI]。
在一種具體實現方式下,步驟507可以包括:將量化調節因子調節參數sn與第一量化調節因子相乘得到第二量化調節因子QC2,例如使用以下算式計算:
其中,x爲與sn的位寬相關的預設常數;例如採用上述解析sn方式一時,x可設置爲N-1,其中N表示多比特定長碼方式的比特數;又例如採用上述解析sn方式二時,x可設置爲256。
較優地,步驟507中,基于所述量化調節因子調節參數的取整值與第一量化調節因子的取整值的乘積,得到第二量化調節因子的整數值。
在一種具體實現方式下,當採用整數加法和移位實現時,可採用以下算式計算得到第二量化調節因子QC2的整數化結果:
QC2’ = (QC’×sn + so) >> x;
其中so爲舍入偏置,其值例如1<<(x-1);爲的整數化結果,爲的整數化結果。
應當理解的是,將一個數整數化是常用方法,例如可以將QC2與2的整數次冪相乘取整得到;又例如,根據像素均值、像素差值查表得到QC的整數化結果,再將通過公式QC2’ = (QC’×sn + so) >> x得到,換言之,即根據預設的對應關係確定與當前圖像塊的空間鄰域像素信息的統計特性對應的第一量化調節因子;其中,所述對應關係包括多個量化調節因子與多組空間鄰域像素信息的統計特性的對應關係;在不同示例下,所述對應關係爲多個量化調節因子與多個像素均值的對應關係,或者,所述對應關係爲多個量化調節因子與多個像素差值的對應關係,其中多個量化調節因子均爲取整值。
較優地,在步驟507得到第二量化調節因子QC2之後,還可以選擇進一步地對所述第二量化調節因子QC2進行數值限制處理,將QC2對應到一預設的數值範圍之內。例如:
將QC2鉗制在一預設的數值範圍之內,即
其中和是正實數,例如,,或者,;
又例如,將QC2通過映射函數映射到某一數值範圍之內,所述映射函數例如
其中、、、爲實數,例如,,,;或者,,,。
其中,上述參數T1、T2、T3、C0、C3、C4、、、、、、、、、、、、、可以爲預先設定的常數,也可以根據視頻圖像的統計特性自適應計算得到,也可以從視頻碼流中提取得到。
需要說明的是,本實施例中也可以對第一量化因子QC和第二量化因子QC2進行數值限制處理,將QC和QC2分別對應到一預設的數值範圍之內。
需要說明的是,一種變型下,步驟507可以是基于量化調節因子調節參數與所述第一量化調節因子的和,得到用於當前解碼圖像塊的第二量化調節因子。
步驟509A,根據第二量化調節因子對從碼流中解碼出的第一變換係數集進行反量化,以得到第二變換係數集。
其中,第一變換係數集包括N個變換係數,所述變換係數爲所述當前解碼圖像塊中任一色彩空間分量(例如亮度分量)的變換係數,N爲正整數;具體地,所述第一變換係數集表示經量化過的一個或多個變換係數,且對應于當前解碼圖像塊的殘差。
在本發明實施例中,第一變換係數集可以包括N個變換係數,N爲正整數,例如N=1、2、4、16、32、50、64、81、128、256、512或1024;變換係數爲所述當前解碼圖像塊中任一色彩空間分量的變換係數,例如亮度分量的變換係數、色度分量的變換係數、RGB任一分量(如R分量)的變換係數。
第一變換係數集對應的圖像塊爲第一變換係數集在當前解碼圖像中對應的圖像塊,例如對于H.264/AVC、H.265/HEVC標準對應的混合編碼框架下,第一變換係數集對應的圖像塊爲第一變換係數集對應的變換塊(transform block)或者變換單元(transform unit),或者爲第一變換係數集對應的變換子塊(即變換塊或變換單元的一部分或一個區域)。在本發明實施例中,第一變換係數集可以包含一個變換塊的全部變換係數;也可以包含一個變換塊的一部分變換係數,例如一個變換塊中的直流係數,或者一組低頻係數,或者一組高頻係數,或者直流係數和一組高頻係數,或者按照某一係數掃描順序下的前幾個係數等。變換塊可以對應于一個編碼單元,也可以對應于編碼單元中的一個區域。以下實施例中,以變換係數爲視頻信號中亮度分量的變換係數進行下文介紹。尤其是,第一變換係數集包括一個亮度變換塊的所有非零變換係數。
在步驟509A中,可以是根據第二量化調節因子QC2,反量化第一變換係數集中變換係數,以得到第二變換係數集中的變換係數,其中,N爲正整數。亦可理解爲,根據第二量化調節因子QC2,調節第一變換係數集中變換係數的反量化過程,以得到第二變換係數集中的變換係數。
在一種示例下,對量化後的變換係數進行反量化,以得到重建的變換係數,可以描述爲:
(1)
其中量化步長可以爲浮點數,爲舍入偏置。在一些可行的實施方式下,爲了避免使用浮點數運算,採用整數加法和移位的方式來近似替代浮點數乘法,例如H.265/HEVC將(1)式表述的反量化過程近似爲:
(2)
其中,爲移位參數,爲整數,近似于(1)式中的量化步長,此時=0.5,取整方式爲向下取整。
在一種示例下,由電平尺度(levelScale)和縮放因子(scaling factor)共同決定,
(3)
而爲量化參數(Quantization Parameter, QP)的函數,即有
(4)
其中,電平尺度表, k=0,1,...,5;表示對除6取整,爲取餘操作。
特別的,當一個變換塊(transform block)的長和寬的乘積等于2的奇數次冪時,(2)式還可寫爲以下形式:
(2)
其中,和爲預設常數,且,例如=181,=8。
本發明實施例中,可以通過多種方式實現步驟509A的反量化處理,以下提供幾種可實現方法:
方法一:從碼流中獲取第一變換係數集對應的第一量化步長;利用第二量化調節因子對第一量化步長進行縮放,以得到第二量化步長,利用第二量化步長反量化所述第一變換係數集,以得到第二變換係數集。具體實現可以是:
對于熵解碼得到的第一變換係數集中的變換係數,根據第二量化調節因子QC2將的基礎量化步長(即對應的第一量化步長)進行縮放,以得到第二量化步長;基于第二量化步長反量化第一變換係數集中的變換係數,以得到第二變換係數集中的一個變換係數。其中,一種示例下,對應的第一量化步長可以是包含於碼流的量化參數QP指示的基礎量化步長;應當理解的是,從碼流中解碼出第一變化係數集所在變換塊的缺省量化參數,例如幀級量化參數QP,其中量化參數QP爲基礎量化步長的索引,量化參數與基礎量化步長對應。
在一種可能實現方式下,使用以下公式反量化第一變化係數集中的變換係數得到第二變換係數集中的變換係數,即:
其中爲舍入常數,例如=0.5。
在另一種可能實現方式下,當反量化採用整數加法和移位實現時,可以採用:
其中爲第一量化步長的整數化結果,爲移位位數;爲額外需要的移位位數;爲的整數化結果,例如可以將QC2與2的整數次冪相乘取整得到,或者對QC2直接取整得到,或者根據像素均值、像素方差以查表法得到QC2的整數化結果。
在再一種可能實現方式下,基于第二量化調節因子的整數化結果,對對應的第一量化步長的整數化結果進行縮放處理,以得到第二量化步長的整數化結果,例如由和相乘得到第二量化步長,再根據第二量化步長的整數化結果對所述第一變換係數集中的變換係數進行反量化,以得到第二變換係數集中的變換係數,例如,採用以下公式反量化得到第二變換係數集中的一個變換係數,即
其中,y爲預設常數,通常與位寬相關,例如y=8或7或3。
方法二:根據預設的第一對應關係確定所述第二量化調節因子QC2對應的目標電平尺度表;其中,所述第一對應關係包括多個量化調節因子與多個電平尺度表的對應關係;根據所述目標電平尺度表反量化所述第一變換係數集,以得到所述第二變換係數集。
在本發明實施例中可以預先設置多個量化調節因子與多個電平尺度表的第一對應關係。
更具體的,預先將QC2的取值範圍劃分爲H1(H1爲大于1的正整數,例如H1=3、5或6)段區間,每一段區間對應于一個預設的電平尺度表;檢索計算出的量化調節因子QC2屬的取值區間,選取量化調節因子QC2屬的取值區間所對應的電平尺度表作爲反量化第一變換係數集的目標電平尺度表。例如: QC2與電平尺度表的映射關係表(表1)中給出對于包含5個元素的電平尺度表,根據QC2選擇一個電平尺度表的示例。
表1
根據表1所給出的實例,當QC2爲0.9時,確定QC2屬的取值區間爲0.8≤QC2≤1.2,選取取值區間0.8≤QC2≤1.2所對應的電平尺度表{40,45,51,57,64,72}作爲反量化第一變換係數集的電平尺度表。
方法三:根據預設的第二對應關係確定所述第二量化調節因子QC2對應的目標量化矩陣;其中,所述第二對應關係爲多個量化調節因子與多個量化矩陣的對應關係;根據所述目標量化矩陣反量化所述第一變換係數集,以得到所述第二變換係數集。
其中,預先將QC2的取值範圍劃分爲H2(H2爲大于1的正整數,例如H2=3、5或6)段區間,每一段區間對應于一個預設的量化矩陣;檢索QC2屬的取值區間,選取對應的量化矩陣作爲反量化第一變換係數集的量化矩陣。例如:表2中給出對于變換塊
表2
根據表2給出的實例,如果計算出的QC2值爲18,從表2所給出的參數可以確定QC2屬的取值區間爲16≤QC2≤64,則對應的反量化所述第一變換係數集的量化矩陣量化矩陣爲表2第三列所示的量化矩陣。
方法四:從碼流中獲取所述第一變換係數集對應的第一量化步長;利用所述第一量化步長對所述第一變換係數集中的變換係數進行反量化,以得到第三變換係數集中的變換係數;利用所述計算得到的第二量化調節因子對所述第三變換係數集中的變換係數進行縮放,以得到第二變換係數集。
一種具體的實現方式下,先用第一量化步長對第一變換係數集中的變換係數進行反量化得到第三變換係數集中的變換係數,即,再利用第二量化調節因子對進行縮放幷取整得到第二變換係數中的變換係數,即,其中和爲舍入偏置。
步驟509B,基于默認值的第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集;
步驟511,對所述第二變換係數集進行反變換,以得到當前解碼圖像塊的殘差;
步驟513,基于當前解碼圖像塊的殘差和所述當前解碼圖像塊的預測塊對當前解碼圖像塊進行重建。
步驟515,結束。
由上可見,本發明實施例所提供的方案,一方面,解碼端通過碼流中明文地或隱含地包含於碼流中的自適應反量化開關標志判斷哪些圖像塊需要使用自適應反量化過程,而哪些圖像塊不需要使用自適應反量化過程,從而避免錯誤調節反量化過程,尤其是避免錯誤調節量化步長;另一方面,針對需要使用自適應反量化過程的圖像塊,在解碼端利用當前解碼圖像塊(即變換塊)的空間鄰域像素信息來模擬當前解碼圖像塊對應的原始像素信息。綜合考慮前述空間鄰域像素信息以及從碼流中解碼出的條帶級或條帶段級的量化調節因子調節參數,自適應地推導用於當前圖像塊(即變換塊)的量化調節因子,幷基于自適應推導的量化調節因子來調節當前圖像塊對應的第一變換係數集的反量化過程,實現了在視頻編碼或解碼過程中,在穩定條帶碼率的同時靈活地調節反量化處理,使得量化失真強度更符合人眼視覺感知,從而提高了編解碼性能。具體地,本申請實施例引入量化調節因子調節參數,基于自適應確定的第一量化調節因子與該量化調節因子調節參數的乘積來直接地或間接地調節當前圖像塊的量化步長,可以使得條帶碼率的下降幅度變小,達到穩定條帶碼率的效果。
進一步的,相比于在碼流中傳輸塊級的量化調節信息的現有方案,本發明實施例在碼流中傳輸條帶級或條帶段級的量化調節因子調節參數的方案減少了比特開銷,因此進一步提高了編解碼性能。
第7圖爲本申請實施例的視頻編碼器20中的量化模塊54的一種示意性框圖。該量化模塊54可以包括:
獲取單元541,用於獲取第四變換係數集對應的當前編碼圖像塊的空間鄰域像素信息;其中,一幷參閱第6圖,所述空間鄰域像素信息包括當前圖像塊X(亦稱爲圖像區域X)的空間鄰域Y中的至少一個像素的重建值。其中,第四變換係數集是視頻編碼器20對當前編碼圖像塊的原始塊和至少一個預測塊之間的殘差進行變換得到的;
計算單元543,用於根據當前編碼圖像塊的空間鄰域像素信息,(例如通過計算或查表的方式)確定用於當前編碼圖像塊的第三量化調節因子;幷基于量化調節因子調節參數與所述第三量化調節因子,得到用於當前編碼圖像塊的第四量化調節因子,所述量化調節因子調節參數是基于當前條帶或當前編碼圖像中的多個圖像塊的量化調節因子的幾何平均值而確定的;在不同示例下,計算單元543具體用於基于量化調節因子調節參數與所述第三量化調節因子的乘積,得到用於當前編碼圖像塊的第四量化調節因子;或者,計算單元543具體用於基于量化調節因子調節參數與所述第三量化調節因子的和,得到用於當前編碼圖像塊的第四量化調節因子;
量化單元545,用於基于所述第四量化調節因子對第四變換係數集進行量化,以得到第五變換係數集,所述第五變換係數集對應于當前編碼圖像塊的殘差。
在本發明實施例中,在一種實現方式下,計算單元543具體用於根據像素均值的第一分段函數計算所述第三量化調節因子或根據像素均值查表得到與像素均值對應的第三量化調節因子,所述像素均值是所述空間鄰域像素信息所對應的多個像素的亮度分量求平均得到的均值;基于所述量化調節因子調節參數與所述第三量化調節因子的乘積,得到用於當前編碼圖像塊的第四量化調節因子;或者,基于所述量化調節因子調節參數與所述第三量化調節因子的和,得到用於當前編碼圖像塊的第四量化調節因子。
在另一種實現方式下,計算單元543具體用於根據像素差值的第二分段函數計算所述第三量化調節因子或根據像素差值查表得到與像素差值對應的第三量化調節因子;其中,所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與像素均值的平均絕對誤差和,所述像素均值是所述空間鄰域像素信息所對應的多個像素的亮度分量求平均得到的均值;基于所述量化調節因子調節參數與所述第三量化調節因子的乘積,得到用於當前編碼圖像塊的第四量化調節因子;或者,基于所述量化調節因子調節參數與所述第三量化調節因子的和,得到用於當前編碼圖像塊的第四量化調節因子。
在再一種實現方式下,計算單元543具體用於根據像素差值和像素均值的第三函數計算所述第三量化調節因子;其中,所述像素均值是所述空間鄰域像素信息對應的多個像素的亮度分量求平均得到的均值;所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與所述像素均值的平均絕對誤差和;基于所述量化調節因子調節參數與所述第三量化調節因子的乘積,得到用於當前編碼圖像塊的第四量化調節因子;或者,基于所述量化調節因子調節參數與所述第三量化調節因子的和,得到用於當前編碼圖像塊的第四量化調節因子。
爲減少計算複雜度,上述函數計算也可以使用查表法來代替。即,在又一種實現方式下,計算單元543具體用於根據預設對應關係,確定與當前圖像塊的空間鄰域像素信息的統計特性(例如當前編碼圖像塊的像素均值和/或像素差值)對應的第三量化調節因子;幷基于所述量化調節因子調節參數與所述第三量化調節因子的乘積,得到用於當前編碼圖像塊的第四量化調節因子;或者,基于所述量化調節因子調節參數與所述第三量化調節因子的和,得到用於當前編碼圖像塊的第四量化調節因子;其中,所述對應關係包括多個量化調節因子與多組空間鄰域像素信息的統計特性的對應關係;在不同示例下,所述對應關係包括多個量化調節因子(例如多個的數值)與多個像素均值(例如多個的數值)的對應關係,或者所述對應關係包括多個量化調節因子(例如多個的數值)與多個像素差值(例如多個的數值)的對應關係。
應當理解的是,量化過程與量化步長直接相關,而量化步長則受到量化參數QP、縮放因子、電平尺度表的影響。視頻編碼器可以通過直接或間接地調節量化步長來實現第四變換係數集的自適應量化過程。
在本發明實施例中,在一種實現方式下,量化單元545具體用於根據預設的第三對應關係確定所述第四量化調節因子對應的目標電平尺度表;其中,所述第三對應關係包括多個量化調節因子與多個電平尺度表的對應關係;根據所述目標電平尺度表量化所述第四變換係數集,以得到所述第五變換係數集。
在另一種實現方式下,量化單元545具體用於根據預設的第四對應關係確定所述第四量化調節因子對應的目標量化矩陣;其中,所述第四對應關係包括多個量化調節因子與多個量化矩陣(亦稱爲縮放因子矩陣)的對應關係;根據所述目標量化矩陣量化所述第四變換係數集,以得到所述第五變換係數集。
在再一種實現方式下,量化單元545具體用於獲取所述第四變換係數集對應的原始量化步長(亦稱爲第三量化步長);利用所述第四量化調節因子對所述原始量化步長進行縮放,以得到第四量化步長,利用所述第四量化步長量化所述第四變換係數集,以得到所述第五變換係數集。
在又一種實現方式下,量化單元545具體用於獲取所述第四變換係數集對應的原始量化步長(亦稱爲第三量化步長);利用所述第三量化步長對所述第四變換係數集中的變換係數進行量化,以得到第七變換係數集中的變換係數;利用所述第四量化調節因子對所述第七變換係數集中的變換係數進行縮放,以得到所述第五變換係數集。
詳細細節請參見本文中對視頻數據編碼方法的介紹,爲簡潔起見,這裏不再贅述。
第8圖爲本申請實施例的視頻解碼器30中的反量化模塊86的一種示意性框圖。該反量化模塊86可以包括:
獲取單元861,用於獲取第一變換係數集對應的當前解碼圖像塊的空間鄰域像素信息;其中,一幷參閱第6圖,所述空間鄰域像素信息包括圖像塊X(亦稱爲圖像區域X)的空間鄰域Y中的至少一個像素的重建值。
計算單元863,用於根據當前解碼圖像塊的空間鄰域像素信息,(例如通過計算或查表的方式)確定用於當前解碼圖像塊的第一量化調節因子;幷基于量化調節因子調節參數與所述一量化調節因子,得到用於當前解碼圖像塊的第二量化調節因子;在不同示例下,計算單元863具體用於基于量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子;或者,計算單元863具體用於基于量化調節因子調節參數與所述第一量化調節因子的和,得到用於當前解碼圖像塊的第二量化調節因子;
反量化單元865,用於基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集。
在本發明實施例中,在一種實現方式下,計算單元863具體用於根據像素均值的第一分段函數計算所述第一量化調節因子或根據像素均值查表得到與像素均值對應的第一量化調節因子,所述像素均值是所述空間鄰域像素信息所對應的多個像素的亮度分量求平均得到的均值;基于所述量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子;或者,基于所述量化調節因子調節參數與所述第一量化調節因子的和,得到用於當前解碼圖像塊的第二量化調節因子。
在另一種實現方式下,計算單元863具體用於根據像素差值的第二分段函數計算所述第一量化調節因子或根據像素差值查表得到與像素差值對應的第一量化調節因子;其中,所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與像素均值的平均絕對誤差和,所述像素均值是所述空間鄰域像素信息所對應的多個像素的亮度分量求平均得到的均值;基于所述量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子;或者,基于所述量化調節因子調節參數與所述第一量化調節因子的和,得到用於當前解碼圖像塊的第二量化調節因子。
在再一種實現方式下,計算單元863具體用於根據像素差值和像素均值的第三函數計算所述第一量化調節因子;其中,所述像素均值是所述空間鄰域像素信息對應的多個像素的亮度分量求平均得到的均值;所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與所述像素均值的平均絕對誤差和;基于所述量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子;或者,基于所述量化調節因子調節參數與所述第一量化調節因子的和,得到用於當前解碼圖像塊的第二量化調節因子。
爲減少計算複雜度,上述函數計算也可以使用查表法來代替。相應地,在又一種實現方式下,計算單元863具體用於根據預設對應關係,確定與當前圖像塊的空間鄰域像素信息的統計特性(例如當前解碼圖像塊的像素均值和/或像素差值)對應的第一量化調節因子;幷基于所述量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子;或者基于所述量化調節因子調節參數與所述第一量化調節因子的和,得到用於當前解碼圖像塊的第二量化調節因子;其中,所述對應關係包括多個量化調節因子與多組空間鄰域像素信息的統計特性的對應關係;在不同示例下,所述對應關係包括多個量化調節因子與多個像素均值的對應關係,或者所述對應關係包括多個量化調節因子與多個像素差值的對應關係。
應當理解的是,反量化過程與量化步長直接相關,而量化步長則受到量化參數QP、縮放因子、電平尺度表的影響。視頻解碼器可以通過直接或間接地調節量化步長來實現第一變換係數集的自適應量化過程。
在本發明實施例中,在一種實現方式下,反量化單元865具體用於根據預設的第一對應關係確定所述第二量化調節因子對應的目標電平尺度表;其中,所述第一對應關係包括多個量化調節因子與多個電平尺度表的一一對應關係;根據所述目標電平尺度表反量化所述第一變換係數集,以得到所述第二變換係數集。
在另一種實現方式下,反量化單元865具體用於根據預設的第二對應關係確定所述第二量化調節因子對應的目標量化矩陣;其中,所述第二對應關係包括多個量化調節因子與多個量化矩陣的對應關係;根據所述目標量化矩陣反量化所述第一變換係數集,以得到所述第二變換係數集。
在再一種實現方式下,反量化單元865具體用於從碼流中獲取所述第一變換係數集對應的基礎量化步長(亦稱爲第一量化步長);利用所述第二量化調節因子對所述第一量化步長進行縮放,以得到第二量化步長,利用所述第二量化步長反量化所述第一變換係數集,以得到所述第二變換係數集。
在又一種實現方式下,反量化單元865具體用於從碼流中獲取所述第一變換係數集對應的基礎量化步長(亦稱爲第一量化步長);利用所述第一量化步長對所述第一變換係數集中的變換係數進行反量化,以得到第三變換係數集中的變換係數;利用所述第二量化調節因子對所述第三變換係數集中的變換係數進行縮放,以得到所述第二變換係數集。
詳細細節請參見本文中對視頻數據解碼方法的介紹,爲簡潔起見,這裏不再贅述。
第9圖爲本申請實施例的編碼設備或解碼設備(簡稱爲譯碼設備900)的一種實現方式的示意性框圖。在本申請中,術語“視頻譯碼”或“譯碼”可一般地指代視頻編碼或視頻解碼。其中,譯碼設備900可以包括處理器910、存儲器930和總綫系統950。其中,處理器和存儲器通過總綫系統相連,該存儲器用於存儲指令,該處理器用於執行該存儲器存儲的指令。編碼設備的存儲器存儲程序代碼,且處理器可以調用存儲器中存儲的程序代碼執行本申請描述的各種視頻編碼或解碼方法,尤其是用於視頻編碼或解碼中自適應反量化方法。爲避免重複,這裏不再詳細描述。
在本申請實施例中,該處理器910可以是中央處理單元(Central Processing Unit,簡稱爲“CPU”),該處理器910還可以是其他通用處理器、數字信號處理器(DSP)、專用集成電路(ASIC)、現成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等。
該存儲器930可以包括只讀存儲器(ROM)設備或者隨機存取存儲器(RAM)設備。任何其他適宜類型的存儲設備也可以用作存儲器930。存儲器930可以包括由處理器910使用總綫950訪問的代碼和數據931。存儲器930可以進一步包括操作系統933和應用程序935,該應用程序935包括允許處理器910執行本申請描述的視頻編碼或解碼方法(尤其是本申請前述各實施例描述的用於視頻編碼或解碼中自適應反量化方法)的至少一個程序。例如,應用程序935可以包括應用1至N,其進一步包括執行在本申請前述各實施例描述的視頻編碼或解碼方法的視頻編碼或解碼應用(簡稱視頻譯碼應用)。
該總綫系統950除包括數據總綫之外,還可以包括電源總綫、控制總綫和狀態信號總綫等。但是爲了清楚說明起見,在圖中將各種總綫都標爲總綫系統950。
可選的,譯碼設備900還可以包括一個或多個輸出設備,諸如顯示器970。在一個示例中,顯示器970可以是觸感顯示器,其將顯示器與可操作地感測觸摸輸入的觸感單元合幷。顯示器970可以經由總綫950連接到處理器 910。
本領域技術人員能夠領會,結合本文公開描述的各種說明性邏輯框、模塊和算法步驟所描述的功能可以硬件、軟件、固件或其任何組合來實施。如果以軟件來實施,那麽各種說明性邏輯框、模塊、和步驟描述的功能可作爲一或多個指令或代碼在計算機可讀媒體上存儲或傳輸,且由基于硬件的處理單元執行。計算機可讀媒體可包含計算機可讀存儲媒體,其對應于有形媒體,例如數據存儲媒體,或包括任何促進將計算機程序從一處傳送到另一處的媒體(例如,根據通信協議)的通信媒體。以此方式,計算機可讀媒體大體上可對應于(1)非暫時性的有形計算機可讀存儲媒體,或(2)通信媒體,例如信號或載波。數據存儲媒體可爲可由一或多個計算機或一或多個處理器存取以檢索用於實施本申請中描述的技術的指令、代碼和/或數據結構的任何可用媒體。計算機程序産品可包含計算機可讀媒體。
作爲實例而非限制,此類計算機可讀存儲媒體可包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲裝置、磁盤存儲裝置或其它磁性存儲裝置、快閃存儲器或可用來存儲指令或數據結構的形式的所要程序代碼幷且可由計算機存取的任何其它媒體。幷且,任何連接被恰當地稱作計算機可讀媒體。舉例來說,如果使用同軸纜綫、光纖纜綫、雙絞綫、數字訂戶綫(DSL)或例如紅外綫、無線電和微波等無線技術從網站、服務器或其它遠程源傳輸指令,那麽同軸纜綫、光纖纜綫、雙絞綫、DSL或例如紅外綫、無線電和微波等無線技術包含在媒體的定義中。但是,應理解,所述計算機可讀存儲媒體和數據存儲媒體幷不包括連接、載波、信號或其它暫時媒體,而是實際上針對于非暫時性有形存儲媒體。如本文中所使用,磁盤和光盤包含壓縮光盤(CD)、激光光盤、光學光盤、數字多功能光盤(DVD)和藍光光盤,其中磁盤通常以磁性方式再現數據,而光盤利用激光以光學方式再現數據。以上各項的組合也應包含在計算機可讀媒體的範圍內。
可通過例如一或多個數字信號處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現場可編程邏輯陣列(FPGA)或其它等效集成或離散邏輯電路等一或多個處理器來執行指令。因此,如本文中所使用的術語“處理器”可指前述結構或適合于實施本文中所描述的技術的任一其它結構中的任一者。另外,在一些方面中,本文中所描述的各種說明性邏輯框、模塊、和步驟所描述的功能可以提供于經配置以用於編碼和解碼的專用硬件和/或軟件模塊內,或者幷入在組合編解碼器中。而且,所述技術可完全實施于一或多個電路或邏輯元件中。
本申請的技術可在各種各樣的裝置或設備中實施,包含無線手持機、集成電路(IC)或一組IC(例如,芯片組)。本申請中描述各種組件、模塊或單元是爲了強調用於執行所揭示的技術的裝置的功能方面,但未必需要由不同硬件單元實現。實際上,如上文所描述,各種單元可結合合適的軟件和/或固件組合在編碼解碼器硬件單元中,或者通過互操作硬件單元(包含如上文所描述的一或多個處理器)來提供。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
12‧‧‧源裝置
14‧‧‧目的地裝置
16‧‧‧鏈路
18‧‧‧視頻源
20‧‧‧視頻編碼器
22‧‧‧輸出接口
28‧‧‧輸入接口
30‧‧‧視頻解碼器
32‧‧‧顯示裝置
41‧‧‧預測模塊
42‧‧‧運動估計單元
44‧‧‧運動補償單元
46‧‧‧幀內預測單元
50‧‧‧求和器
52‧‧‧變換模塊
54‧‧‧量化模塊
56‧‧‧熵編碼模塊
58‧‧‧反量化模塊
60‧‧‧反變換模塊
62‧‧‧求和器
64‧‧‧參考圖像存儲器
80‧‧‧熵解碼模塊
81‧‧‧預測模塊
82‧‧‧運動補償單元
84‧‧‧幀內預測單元
86‧‧‧反量化模塊
88‧‧‧反變換模塊
90‧‧‧重建模塊
92‧‧‧參考圖像存儲器
301~309、331~335、351~355、401~411、501~515‧‧‧步驟
541‧‧‧獲取單元
543‧‧‧計算單元
545‧‧‧量化單元
861‧‧‧獲取單元
863‧‧‧計算單元
865‧‧‧反量化單元
910‧‧‧處理器
930‧‧‧存儲器
950‧‧‧總綫系統
970‧‧‧顯示器
931‧‧‧數據
933‧‧‧操作系統
935‧‧‧應用程序
第1圖爲本申請實施例中一種視頻編碼及解碼系統的示意性框圖; 第2A圖爲本申請實施例中一種視頻編碼器20的示意性框圖; 第2B圖爲本申請實施例中一種視頻解碼器30的示意性框圖; 第3A圖爲本申請實施例中一種視頻數據編碼方法的流程示意圖; 第3B圖爲本申請實施例中一種確定量化調節因子調節參數方法的流程示意圖; 第3C圖爲本申請實施例中一種設置自適應反量化開關標志的流程示意圖; 第4圖爲本申請實施例中一種用於視頻數據解碼方法的流程示意圖; 第5圖爲本申請實施例中另一種用於視頻數據解碼方法的流程示意圖; 第6圖爲本申請實施例中圖像塊的空間鄰域像素的示意圖; 第7圖爲本申請實施例中一種用於視頻編碼器中的量化模塊54的示意性框圖; 第8圖爲本申請實施例中另一種用於視頻解碼器中的反量化模塊86的示意性框圖; 第9圖爲本申請實施例中一種編碼設備或解碼設備的示意性框圖。
Claims (32)
- 一種視頻解碼器,其特徵在于,包括: 熵解碼模塊,用於從碼流中獲取量化調節因子調節參數和獲取第一變換係數集,所述第一變換係數集對應于當前解碼圖像塊的殘差; 反量化模塊,用於根據當前解碼圖像塊的空間鄰域像素信息,確定用於當前解碼圖像塊的第一量化調節因子;基于所述量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子;基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集; 反變換模塊,用於對所述第二變換係數集進行反變換,以得到當前解碼圖像塊的殘差; 預測模塊,用於生成當前解碼圖像塊的預測塊; 重建模塊,用於基于當前解碼圖像塊的殘差和所述當前解碼圖像塊的預測塊對當前解碼圖像塊進行重建。
- 如請求項1所述的裝置,其特徵在于,所述熵解碼模塊具體用於從碼流中獲取用於指示量化調節因子調節參數的索引信息,所述索引信息指向所述量化調節因子調節參數。
- 如請求項1或2所述的裝置,其特徵在于,所述反量化模塊包括: 獲取單元,用於獲取當前解碼圖像塊的空間鄰域像素信息; 計算單元,用於根據像素均值的第一分段函數計算所述第一量化調節因子,所述像素均值是所述空間鄰域像素信息所對應的多個像素的亮度分量求平均得到的均值;基于所述量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子; 反量化單元,用於基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集。
- 如請求項1或2所述的裝置,其特徵在于,所述反量化模塊包括: 獲取單元,用於獲取當前解碼圖像塊的空間鄰域像素信息; 計算單元,用於根據像素差值的第二分段函數計算所述第一量化調節因子;其中,所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與像素均值的平均絕對誤差和,所述像素均值是所述空間鄰域像素信息所對應的多個像素的亮度分量求平均得到的均值;基于所述量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子; 反量化單元,用於基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集。
- 如請求項1或2所述的裝置,其特徵在于,所述反量化模塊包括: 獲取單元,用於獲取當前解碼圖像塊的空間鄰域像素信息; 計算單元,用於根據像素差值和像素均值的第三函數計算所述第一量化調節因子;其中,所述像素均值是所述空間鄰域像素信息對應的多個像素的亮度分量求平均得到的均值;所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與所述像素均值的平均絕對誤差和;基于所述量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子; 反量化單元,用於基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集。
- 如請求項3至5任一項所述的裝置,其特徵在于,所述反量化單元具體用於: 根據預設的第一對應關係確定所述第二量化調節因子對應的目標電平尺度表;其中,所述第一對應關係包括多個量化調節因子與多個電平尺度表的對應關係; 根據所述目標電平尺度表反量化所述第一變換係數集,以得到所述第二變換係數集。
- 如請求項3至5任一項所述的裝置,其特徵在于,所述反量化單元具體用於: 根據預設的第二對應關係確定所述第二量化調節因子對應的目標量化矩陣;其中,所述第二對應關係包括多個量化調節因子與多個量化矩陣的對應關係; 根據所述目標量化矩陣反量化所述第一變換係數集,以得到所述第二變換係數集。
- 如請求項3至5任一項所述的裝置,其特徵在于,所述反量化單元具體用於: 從碼流中獲取所述第一變換係數集對應的第一量化步長; 利用所述第二量化調節因子對所述第一量化步長進行縮放,以得到第二量化步長; 利用所述第二量化步長反量化所述第一變換係數集,以得到所述第二變換係數集。
- 如請求項3至5任一所述的裝置,其特徵在于,所述反量化單元具體用於: 從碼流中獲取所述第一變換係數集對應的第一量化步長; 利用所述第一量化步長對所述第一變換係數集中的變換係數進行反量化,以得到第三變換係數集中的變換係數; 利用所述第二量化調節因子對所述第三變換係數集中的變換係數進行縮放,以得到所述第二變換係數集。
- 一種視頻解碼器,其特徵在于,該裝置包括: 熵解碼模塊,用於判斷當前解碼圖像塊是否使用自適應反量化過程; 所述熵解碼模塊還用於從碼流中獲取量化調節因子調節參數和獲取第一變換係數集,所述第一變換係數集對應于當前解碼圖像塊的殘差; 反量化模塊,用於在所述熵解碼模塊確定當前解碼圖像塊使用自適應反量化過程的情況下,根據當前解碼圖像塊的空間鄰域像素信息,確定用於當前解碼圖像塊的第一量化調節因子;基于所述量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子;基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集; 反變換模塊,用於對所述第二變換係數集進行反變換,以得到當前解碼圖像塊的殘差; 預測模塊,用於生成當前解碼圖像塊的預測塊; 重建模塊,用於基于當前解碼圖像塊的殘差和所述當前解碼圖像塊的預測塊,對當前解碼圖像塊進行重建。
- 如請求項10所述的裝置,其特徵在于,所述熵解碼模塊具體用於根據明文地或隱含地包含於碼流中的自適應反量化開關標志判斷當前解碼圖像塊是否使用自適應反量化過程,所述自適應反量化開關標志用於指示當前解碼圖像塊的反量化過程中使用的第二量化調節因子是否爲默認值。
- 如請求項10或11所述的裝置,其特徵在于,所述反量化模塊包括: 獲取單元,用於獲取當前解碼圖像塊的空間鄰域像素信息; 計算單元,用於根據像素均值的第一分段函數計算所述第一量化調節因子,所述像素均值是所述空間鄰域像素信息所對應的多個像素的亮度分量求平均得到的均值;基于所述量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子; 反量化單元,用於基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集。
- 如請求項10或11所述的裝置,其特徵在于,所述反量化模塊包括: 獲取單元,用於獲取當前解碼圖像塊的空間鄰域像素信息; 計算單元,用於根據像素差值的第二分段函數計算所述第一量化調節因子;其中,所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與像素均值的平均絕對誤差,所述像素均值是所述空間鄰域像素信息對應的多個像素的亮度分量求平均得到的均值;基于所述量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子; 反量化單元,用於基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集。
- 如請求項10或11所述的裝置,其特徵在于,所述反量化模塊包括: 獲取單元,用於獲取當前解碼圖像塊的空間鄰域像素信息; 計算單元,用於根據像素差值和像素均值的第三函數計算所述第一量化調節因子;其中,所述像素均值是所述空間鄰域像素信息對應的多個像素的亮度分量求平均得到的均值,所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與所述像素均值的平均絕對誤差和;基于所述量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子; 反量化單元,用於基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集。
- 如請求項12至14任一項所述的裝置,其特徵在于,所述反量化單元具體用於: 根據預設的第一對應關係確定所述第二量化調節因子對應的目標電平尺度表;其中,所述第一對應關係包括多個量化調節因子與多個電平尺度表的對應關係; 根據所述目標電平尺度表反量化所述第一變換係數集,以得到所述第二變換係數集。
- 如請求項12至14任一項所述的裝置,其特徵在于,所述反量化單元具體用於: 根據預設的第二對應關係確定所述第二量化調節因子對應的目標量化矩陣;其中,所述第二對應關係包括多個量化調節因子與多個量化矩陣的對應關係; 根據所述目標量化矩陣反量化所述第一變換係數集,以得到所述第二變換係數集。
- 如請求項12至14任一項所述的裝置,其特徵在于,所述反量化單元具體用於: 從所述碼流中獲取所述第一變換係數集對應的第一量化步長; 利用所述第二量化調節因子對所述第一量化步長進行縮放,以得到第二量化步長; 利用所述第二量化步長反量化所述第一變換係數集,以得到所述第二變換係數集。
- 如請求項12至14任一項所述的裝置,其特徵在于,所述反量化單元具體用於: 從所述碼流中獲取所述第一變換係數集對應的第一量化步長; 利用所述第一量化步長對所述第一變換係數集中的變換係數進行反量化,以得到第三變換係數集中的變換係數; 利用所述第二量化調節因子對所述第三變換係數集中的變換係數進行縮放,以得到所述第二變換係數集。
- 一種視頻數據解碼方法,其特徵在于,該方法包括: 從碼流中獲取量化調節因子調節參數和獲取第一變換係數集,所述第一變換係數集對應于當前解碼圖像塊的殘差; 根據當前解碼圖像塊的空間鄰域像素信息,確定用於當前解碼圖像塊的第一量化調節因子; 基于所述量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子; 基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集; 對所述第二變換係數集進行反變換,以得到當前解碼圖像塊的殘差; 基于當前解碼圖像塊的殘差和所述當前解碼圖像塊的預測塊,對當前解碼圖像塊進行重建。
- 如請求項19所述的方法,其特徵在于,所述從碼流中獲取量化調節因子調節參數,包括: 從碼流中獲取用於指示量化調節因子調節參數的索引信息,所述索引信息指向所述量化調節因子調節參數。
- 如請求項19或20所述的方法,其特徵在于,所述根據當前解碼圖像塊的空間鄰域像素信息,確定用於當前解碼圖像塊的第一量化調節因子,包括: 獲取當前解碼圖像塊的空間鄰域像素信息; 根據像素均值的第一分段函數計算所述第一量化調節因子,所述像素均值是所述空間鄰域像素信息所對應的多個像素的亮度分量求平均得到的均值。
- 如請求項19或20所述的方法,其特徵在于,所述根據當前解碼圖像塊的空間鄰域像素信息,確定用於當前解碼圖像塊的第一量化調節因子,包括: 獲取當前解碼圖像塊的空間鄰域像素信息; 根據像素差值的第二分段函數計算所述第一量化調節因子;其中,所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與像素均值的平均絕對誤差和,所述像素均值是所述空間鄰域像素信息所對應的多個像素的亮度分量求平均得到的均值。
- 如請求項19或20所述的方法,其特徵在于,所述根據當前解碼圖像塊的空間鄰域像素信息,確定用於當前解碼圖像塊的第一量化調節因子,包括: 獲取當前解碼圖像塊的空間鄰域像素信息; 根據像素差值和像素均值的第三函數計算所述第一量化調節因子;其中,所述像素均值是所述空間鄰域像素信息對應的多個像素的亮度分量求平均得到的均值;所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與所述像素均值的平均絕對誤差和。
- 如請求項19至23任一項所述的方法,其特徵在于,所述基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集,包括: 根據預設的第一對應關係確定所述第二量化調節因子對應的目標電平尺度表;其中,所述第一對應關係包括多個量化調節因子與多個電平尺度表的對應關係; 根據所述目標電平尺度表反量化所述第一變換係數集,以得到所述第二變換係數集。
- 如請求項19至23任一項所述的方法,其特徵在于,所述基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集,包括: 根據預設的第二對應關係確定所述第二量化調節因子對應的目標量化矩陣;其中,所述第二對應關係包括多個量化調節因子與多個量化矩陣的對應關係; 根據所述目標量化矩陣反量化所述第一變換係數集,以得到所述第二變換係數集。
- 如請求項19至23任一項所述的方法,其特徵在于,所述基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集,包括: 從碼流中獲取所述第一變換係數集對應的第一量化步長; 利用所述第二量化調節因子對所述第一量化步長進行縮放,以得到第二量化步長; 利用所述第二量化步長反量化所述第一變換係數集,以得到所述第二變換係數集。
- 如請求項19至23任一所述的方法,其特徵在于,所述基于所述第二量化調節因子對所述第一變換係數集進行反量化,以得到第二變換係數集,包括: 從碼流中獲取所述第一變換係數集對應的第一量化步長; 利用所述第一量化步長對所述第一變換係數集中的變換係數進行反量化,以得到第三變換係數集中的變換係數; 利用所述第二量化調節因子對所述第三變換係數集中的變換係數進行縮放,以得到所述第二變換係數集。
- 一種視頻數據解碼方法,其特徵在于,該方法包括: 判斷當前解碼圖像塊是否使用自適應反量化過程; 在確定當前解碼圖像塊使用自適應反量化過程的情況下,根據當前解碼圖像塊的空間鄰域像素信息,確定用於當前解碼圖像塊的第一量化調節因子; 基于從碼流中獲取的量化調節因子調節參數與所述第一量化調節因子的乘積,得到用於當前解碼圖像塊的第二量化調節因子; 基于所述第二量化調節因子對第一變換係數集進行反量化,以得到第二變換係數集,所述第一變換係數集對應于當前解碼圖像塊的殘差; 對所述第二變換係數集進行反變換,以得到當前解碼圖像塊的殘差; 基于當前解碼圖像塊的殘差和所述當前解碼圖像塊的預測塊,對當前解碼圖像塊進行重建。
- 如請求項28所述的方法,其特徵在于,所述判斷當前解碼圖像塊是否使用自適應反量化過程,包括: 根據明文地或隱含地包含於碼流中的自適應反量化開關標志判斷當前解碼圖像塊是否使用自適應反量化過程,所述自適應反量化開關標志用於指示當前解碼圖像塊的反量化過程中使用的第二量化調節因子是否爲默認值。
- 如請求項28或29所述的方法,其特徵在于,所述根據當前解碼圖像塊的空間鄰域像素信息,確定用於當前解碼圖像塊的第一量化調節因子,包括: 獲取當前解碼圖像塊的空間鄰域像素信息; 根據像素差值的第二分段函數計算所述第一量化調節因子;其中,所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與像素均值的平均絕對誤差和,所述像素均值是所述空間鄰域像素信息所對應的多個像素的亮度分量求平均得到的均值。
- 如請求項28或29所述的方法,其特徵在于,所述根據當前解碼圖像塊的空間鄰域像素信息,確定用於當前解碼圖像塊的第一量化調節因子,包括: 獲取當前解碼圖像塊的空間鄰域像素信息; 根據像素差值和像素均值的第三函數計算所述第一量化調節因子;其中,所述像素均值是所述空間鄰域像素信息所對應的多個像素的亮度分量求平均得到的均值,所述像素差值爲所述空間鄰域像素信息對應的多個像素的亮度分量與所述像素均值的平均絕對誤差和。
- 一種電子設備,包括如請求項1至18任一項所述的視頻解碼器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
??201711080706.3 | 2017-11-06 | ||
CN201711080706.3A CN109756733B (zh) | 2017-11-06 | 2017-11-06 | 视频数据解码方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201919398A true TW201919398A (zh) | 2019-05-16 |
Family
ID=66332859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107139328A TW201919398A (zh) | 2017-11-06 | 2018-11-06 | 視頻數據解碼方法及裝置 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN109756733B (zh) |
TW (1) | TW201919398A (zh) |
WO (1) | WO2019086033A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110263650B (zh) * | 2019-05-22 | 2022-02-22 | 北京奇艺世纪科技有限公司 | 行为类别检测方法、装置、电子设备和计算机可读介质 |
CN112738518B (zh) * | 2019-10-28 | 2022-08-19 | 北京博雅慧视智能技术研究院有限公司 | 一种基于感知的ctu级视频编码的码率控制方法 |
CN113766227B (zh) * | 2020-06-06 | 2023-07-11 | 华为技术有限公司 | 用于图像编码和解码的量化和反量化方法及装置 |
CN114727108A (zh) * | 2021-01-04 | 2022-07-08 | 北京金山云网络技术有限公司 | 量化因子调整方法、装置、电子设备及存储介质 |
CN115474062B (zh) * | 2022-11-10 | 2023-04-28 | 苏州浪潮智能科技有限公司 | 一种提高jpeg压缩质量的方法、系统、芯片以及电子设备 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8005139B2 (en) * | 2004-06-27 | 2011-08-23 | Apple Inc. | Encoding with visual masking |
KR100997298B1 (ko) * | 2004-06-27 | 2010-11-29 | 애플 인크. | 멀티-패스 비디오 인코딩 방법 |
US8503536B2 (en) * | 2006-04-07 | 2013-08-06 | Microsoft Corporation | Quantization adjustments for DC shift artifacts |
CN100464585C (zh) * | 2006-05-16 | 2009-02-25 | 华为技术有限公司 | 一种视频压缩方法 |
JP5363302B2 (ja) * | 2009-12-24 | 2013-12-11 | 株式会社メガチップス | 画像符号化装置及び画像変換装置 |
JP2013150215A (ja) * | 2012-01-20 | 2013-08-01 | Fujitsu Ltd | 動画像復号装置、動画像符号化装置、動画像復号方法、動画像符号化方法、動画像復号プログラム及び動画像符号化プログラム |
CN102685491B (zh) * | 2012-03-02 | 2015-01-28 | 中兴通讯股份有限公司 | 一种实现视频编码的方法和系统 |
US20140269901A1 (en) * | 2013-03-13 | 2014-09-18 | Magnum Semiconductor, Inc. | Method and apparatus for perceptual macroblock quantization parameter decision to improve subjective visual quality of a video signal |
CN105338352B (zh) * | 2014-07-24 | 2019-04-19 | 华为技术有限公司 | 一种视频编码中自适应反量化方法及装置 |
US10284849B2 (en) * | 2015-04-13 | 2019-05-07 | Qualcomm Incorporated | Quantization parameter (QP) calculation for display stream compression (DSC) based on complexity measure |
CN104994382B (zh) * | 2015-04-30 | 2017-12-19 | 西安电子科技大学 | 一种感知率失真的优化方法 |
KR102139159B1 (ko) * | 2015-11-06 | 2020-07-29 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 변환 계수의 역양자화 방법 및 장치, 그리고 디코딩 기기 |
-
2017
- 2017-11-06 CN CN201711080706.3A patent/CN109756733B/zh active Active
-
2018
- 2018-11-05 WO PCT/CN2018/113986 patent/WO2019086033A1/zh active Application Filing
- 2018-11-06 TW TW107139328A patent/TW201919398A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2019086033A1 (zh) | 2019-05-09 |
CN109756733A (zh) | 2019-05-14 |
CN109756733B (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102315238B1 (ko) | 비디오 코딩 프로세스에서 계수 레벨 코딩을 위한 라이스 파라미터 초기화 | |
US20200099934A1 (en) | Using a most probable scanning order to efficiently code scanning order information for a video block in video coding | |
JP5587508B2 (ja) | ビデオコード化のためのイントラ平滑化フィルタ | |
US9172963B2 (en) | Joint coding of syntax elements for video coding | |
US9930366B2 (en) | Pixel level adaptive intra-smoothing | |
JP7389898B2 (ja) | 残差及び係数のコーディングの方法及び装置 | |
US11202100B2 (en) | Coefficient coding for transform skip mode | |
WO2019086033A1 (zh) | 视频数据解码方法及装置 | |
JP2017513326A (ja) | ピクセル距離を使用したデブロックフィルタ処理 | |
US20120163448A1 (en) | Coding the position of a last significant coefficient of a video block in video coding | |
JP2015508251A (ja) | ビデオコーディングにおけるデブロッキングフィルタパラメータのシグナリング | |
JP5755808B2 (ja) | ルーマおよびクロマブロックのためのvlc係数コーディング | |
JP2017507571A (ja) | 低複雑度サンプル適応オフセット符号化 | |
EA035121B1 (ru) | Декодирование видеоданных для пикселей вне палитры в блоках, кодируемых в режиме на основе палитры | |
JP7566014B2 (ja) | ビデオコーディングのためのクロスコンポーネント適応ループフィルタリングのためのビットシフティング | |
JP2016518770A (ja) | ビット深度に基づいたサンプル適応オフセットスケーリング | |
WO2019223480A1 (zh) | 视频数据解码方法及装置 | |
JP2017512025A (ja) | ビデオコーディングにおけるフリッカー検出および軽減 | |
JP6316842B2 (ja) | 縮小されたラインバッファを有するデブロッキングフィルタ | |
JP2023164981A (ja) | パレットモードを使用するビデオコーディングの方法及び装置 | |
CN116684621A (zh) | 一种图像解码方法、编码方法及装置 | |
CN116668705B (zh) | 一种图像解码方法、编码方法及装置 | |
CN116074530B (zh) | 一种图像解码方法、编码方法及装置 | |
KR102585317B1 (ko) | 비디오 코딩을 위한 인-루프 필터 | |
TW202032993A (zh) | 用於係數位準之逃逸寫碼 |