TW202341739A - 圖像解碼方法、圖像編碼方法及相應的裝置 - Google Patents

圖像解碼方法、圖像編碼方法及相應的裝置 Download PDF

Info

Publication number
TW202341739A
TW202341739A TW112102375A TW112102375A TW202341739A TW 202341739 A TW202341739 A TW 202341739A TW 112102375 A TW112102375 A TW 112102375A TW 112102375 A TW112102375 A TW 112102375A TW 202341739 A TW202341739 A TW 202341739A
Authority
TW
Taiwan
Prior art keywords
pixel
value
pixels
predicted
information
Prior art date
Application number
TW112102375A
Other languages
English (en)
Inventor
魏亮
陳方棟
王莉
Original Assignee
大陸商杭州海康威視數字技術股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 大陸商杭州海康威視數字技術股份有限公司 filed Critical 大陸商杭州海康威視數字技術股份有限公司
Publication of TW202341739A publication Critical patent/TW202341739A/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/182Methods 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 a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本發明實施例提供一種圖像解碼方法、圖像編碼方法及相應的裝置,涉及視頻編解碼領域。根據該圖像解碼方法的一個示例,針對當前編碼塊中的任意一個像素點或任意多個並行反量化的像素點,確定該像素點的量化參數(Quantization Parameter,QP)值,當前編碼塊的像素點中至少存在兩個像素點的QP值不同。然後,根據該像素點的QP值,對該像素點進行反量化。由於針對編碼塊確定每個像素點的QP值,從而可以根據每個像素點的QP值對每個像素點進行反量化。

Description

圖像解碼方法、圖像編碼方法及相應的裝置
本發明實施例涉及視頻編解碼,尤其涉及圖像解碼方法、圖像編碼方法及相應裝置。
在視頻編解碼領域,採用視頻壓縮(即視頻編解碼)技術可以壓縮視頻的資料量,從而實現視頻的高效傳輸或存儲。
對視頻進行編解碼即對視頻中的每一幀圖像進行編解碼。以一幀圖像為例,在編碼端,圖像編碼器對圖像編碼,得到圖像對應的碼流並傳輸碼流至解碼端;在解碼端,圖像解碼器解析碼流,得到圖像。目前,將圖像劃分為一個或多個編碼單元(Coding Unit,CU),圖像編碼器對每一個CU進行預測、確定對CU的預測值與CU的真實值之間的殘差值、對殘差值依次進行變換、量化、編碼,從而得到碼流。相應的,圖像解碼器對每一個CU進行預測、對CU對應的碼流的解碼結果依次進行反量化、反變換得到該CU對應的殘差值、計算CU的預測值和殘差值之和,從而得到CU的重構值。
在圖像編解碼過程中,量化可以實現信號取值多對一的映射,從而有效減少信號取值空間,獲得更好的壓縮效果。可以理解的,編碼端和解碼端根據量化參數(Quantization Parameter,QP)執行量化和反量化過程。目前,為一個CU設置一個QP,編碼端獲取每個CU的QP,並依據該QP對CU的殘差值或者變換係數進行量化;相應的,解碼端獲取CU的QP,並根據該QP對從碼流中解析得到的量化後的係數進行反量化 (Dequantization)。然而,對一個CU中的所有像素點採用相同的QP進行量化,即對該CU中的所有像素點進行相同程度的量化,會導致圖像編解碼過程的量化失真(因量化而造成的圖像失真)較大。
本發明實施例提供一種圖像解碼方法、編碼方法及裝置,能夠可以在保證一定壓縮率的情況下,降低圖像幀的解碼失真,能夠提高圖像解碼的真實性和準確性。為達到上述目的,本發明實施例採用如下技術方案。
第一方面,本發明實施例提供一種圖像解碼方法,該方法由解碼端執行,該方法包括:針對當前編碼塊中的任意一個像素點或任意多個並行反量化的像素點,確定所述像素點的量化參數QP值;其中,當前編碼塊的像素點中至少存在兩個像素點的QP值不同;並且根據所述像素點的QP值,對所述像素點進行反量化。
通過本發明實施例中提供的解碼方法,視頻解碼器可以為編碼塊確定每個像素點的QP值,從而可以根據每個像素點的QP值對每個像素點進行反量化,即逐像素點進行反量化。如此,可以在保證一定壓縮率的情況下,降低圖像幀的解碼失真,能夠提高圖像解碼的真實性和準確性。
一種可能的實現方式中,本發明實施例提供的圖像解碼方法還包括:獲取所述當前編碼塊的QP值;並且確定所述像素點的預測QP值為所述當前編碼塊的QP值。
一種可能的實現方式中,所述確定所述像素點的QP值,包括:所述像素點為所述當前編碼塊中的任意一個目標像素點或任意多個並行反量化的目標像素點時,調整所述像素點的預測QP值,將調整後的預測QP值作為所述像素點的QP值;所述像素點為所述當前編碼塊中除所述目標像素點之外的像素點時,將所述像素點的預測QP值確定為所述像素點的QP值。
一種可能的實現方式中,所述調整所述像素點的預測QP值,包括:獲取所述像素點周圍的已重建像素點的資訊;並且根據所述像素點周 圍的已重建像素點的資訊,調整所述像素點的預測QP值。
一種可能的實現方式中,所述調整所述像素點的預測QP值,包括:若所述像素點滿足第一預設條件,則將預設QP值作為所述像素點的QP值;否則,將所述像素點的預測QP值作為所述像素點的QP值。
其中,所述第一預設條件包括下述條件中至少一種:所述像素點為亮度像素點;所述像素點為色度像素點;所述像素點的比特深度小於或等於比特深度閾值;所述像素點的預測QP值小於或等於可調整的QP最大值,所述可調整的QP最大值小於或等於QP最大值;所述像素點周圍的已重建像素點的資訊小於或等於第一預設閾值。
一種可能的實現方式中,所述根據所述像素點的QP值,對所述像素點進行反量化,包括:根據所述調整後的預測QP值,對所述像素點進行反量化。
一種可能的實現方式中,所述目標像素點為所述當前編碼塊中的任意一個或多個像素點。
一種可能的實現方式中,所述當前編碼塊至少包括第一部分像素點和/或第二部分像素點,所述目標像素點為所述第二部分像素點中的任意一個或多個像素點。
一種可能的實現方式中,所述目標像素點為所述第二部分像素點中的第一位置像素點中的任意一個或多個像素點。
一種可能的實現方式中,所述目標像素點為所述第二部分像素點中的第二位置像素點中的任意一個或多個像素點。
一種可能的實現方式中,所述當前編碼塊的預測模式為逐點預測模式,所述當前編碼塊至少包括第一部分像素點和/或第二部分像素點,所述第二部分像素點包括第一位置像素點和/或第二位置像素點,所述第一位置像素點、所述第二位置像素點是根據所述當前編碼塊的逐點預測模式確定的。
一種可能的實現方式中,所述根據所述像素點周圍的已重建像素點的資訊,調整所述像素點的預測QP值,包括:若所述像素點滿足第 二預設條件和第三預設條件,則根據第一QP偏移量和失真參考QP值,所述失真參考QP值表示人眼恰可察覺失真對應的QP值,調整所述像素點的預測QP值;其中,所述第二預設條件為所述像素點的預測QP值大於失真參考QP值,且所述像素點的預測QP值小於或等於可調整的QP最大值,所述第三預設條件為所述像素點周圍的已重建像素點的資訊小於或等於第一閾值;若所述像素點滿足所述第二預設條件和第四預設條件,則根據第二QP偏移量和QP最大值,調整所述像素點的預測QP值;其中,所述第四預設條件為所述像素點周圍的已重建像素點的資訊大於第二閾值,所述第一閾值小於或等於所述第二閾值;否則,將所述像素點的預測QP值作為所述像素點的QP值。
一種可能的實現方式中,在所述像素點滿足第二預設條件和第三預設條件的情況下,所述調整後的預測QP值滿足:finalQP=max(initQP-offset1,jndQP),其中,finalQP表示所述調整後的預測QP值,initQP表示所述像素點的預測QP值,offset1表示所述第一QP偏移量,jndQP表示所述失真參考QP值,max表示取最大值。
一種可能的實現方式中,在所述像素點滿足所述第二預設條件和第四預設條件的情況下,所述調整後的預測QP值滿足:finalQP=min(initQP+offset2,maxQP),其中,finalQP表示所述調整後的預測QP值,initQP表示所述像素點的預測QP值,offset2表示所述第二QP偏移量,maxQP表示所述QP最大值,min表示取最小值。
一種可能的實現方式中,所述像素點周圍的已重建像素點包括滿足下述條件的像素點:以所述像素點為中心,邊長為第一預設值的正方形區域中的像素點;或者,以所述像素點為中心,對角線長度為第二預設值的菱形區域中的像素點。
一種可能的實現方式中,所述已重建像素點的資訊包括下述至少一種資訊:所述已重建像素點的像素值、重建殘差值、梯度值、平坦度資訊或紋理度資訊或複雜度資訊、背景亮度、對比度或運動程度。其中,重建殘差值包括反量化後的殘差值,或者重建值與預測值之差。梯度值包括水 平梯度、垂直梯度、或者平均梯度。
一種可能的實現方式中,所述已重建像素點的資訊的值包括下述至少一個種:原始值、絕對值、均值或差值。
一種可能的實現方式中,所述獲取所述像素點周圍的已重建像素點的資訊,包括:獲取所述像素點的預測像素點的資訊;若所述預測像素點為所述當前編碼塊中的已重建像素點,則將所述預測像素點的資訊作為所述像素點周圍的已重建像素點的資訊;否則,將所述預測像素點的資訊與所述預測像素點周圍的已重建像素點的資訊的差值或差值的絕對值作為所述像素點周圍的已重建像素點的資訊。
一種可能的實現方式中,所述當前編碼塊的預測模式為塊預測模式,本發明實施例提供的圖像解碼方法還包括:獲取所述當前編碼塊的區域劃分資訊,所述區域劃分資訊包括區域數量N以及區域分界線的位置資訊,N為大於或等於2的整數;並且根據所述區域劃分資訊,將所述當前編碼塊劃分為N個區域。
一種可能的實現方式中,所述N個區域中的至少一個區域的像素點的QP值依據至少一個其他區域的已重建像素點的資訊進行確定,所述其他區域為所述N個區域中除所述至少一個區域之外的區域,或者為所述當前編碼塊之外的區域。
一種可能的實現方式中,所述區域數量N為2,所述當前編碼塊包括第一區域和第二區域,所述第一區域中的像素點包括下述至少之一:所述當前編碼塊的任意位置的水平條帶中的像素點、任意位置的分隔號帶中的像素點或任意位置的斜向條帶中的像素點,其中,條帶的寬度不超過2,並且在條帶位於所述當前編碼塊的邊界的情況下,條帶的寬度等於1,所述第二區域中的像素點為所述當前編碼塊中除所述第一區域之外的像素點。
如此,所述確定所述像素點的QP值,包括:所述像素點為所述第一區域中的任意一個像素點時,調整所述像素點的預測QP值,將調整後的預測QP值作為所述像素點的QP值;所述像素點為所述第二區域中 的任意一個像素點時,將所述像素點的預測QP值作為所述像素點的QP值。
上述情況下的一種可能的實現方式中,所述調整所述像素點的預測QP值,包括:獲取所述像素點周圍的已重建像素點的資訊;並且根據所述像素點周圍的已重建像素點的資訊,調整所述像素點的預測QP值。
一種可能的實現方式中,所述獲取所述當前編碼塊的區域劃分資訊,包括:獲取預定義的所述當前編碼塊的區域劃分資訊;或者,解析碼流,獲取所述當前編碼塊的區域劃分資訊。
一種可能的實現方式中,對所述當前編碼塊做變換的情況下,所述獲取所述當前編碼塊的區域劃分資訊,包括:根據所述當前編碼塊的上側相鄰行的像素點和/或左側相鄰列像素點確定所述當前編碼塊的區域劃分資訊;所述當前編碼塊的區域劃分方式包括下述至少一種:水平劃分、垂直劃分或斜向劃分。
如此,一種可能的實現方式中,針對所述N個區域中的任意一個區域中的任意一個像素點或任意多個並行反量化像素點,確定所述像素點的QP值,包括:獲取所述像素點的QP偏移量;並且根據所述QP偏移量調整所述像素點的預測QP值,將調整後的預測QP值作為所述像素點的QP值。
一種可能的實現方式中,所述獲取所述像素點的QP偏移量,包括:解析碼流,以獲取所述像素點的偏移量;或者,根據推導資訊,確定所述像素點的QP偏移量,所述推導資訊包括所述像素點所在區域的索引資訊和/或所述像素點到所述像素點所在區域的區域分界線的距離,所述距離包括水平距離、垂直距離或歐式距離中任一種。
一種可能的實現方式中,所述像素點的QP偏移量為下述任一種:所述第三QP偏移量、所述第四QP偏移量、所述第三QP偏移量與所述第四QP偏移量之和;所述第三QP偏移量根據所述像素點所在區域的索引資訊推導獲得,同一個區域內的像素點的第三QP偏移量相同,不同區域內的像素點的第三QP偏移量不同;所述第四QP偏移量根據所述像素點到所述像素點所在區域的區域分界線的距離推導獲得。
一種可能的實現方式中,所述根據所述像素點的QP值,對所述像素點進行反量化,包括:根據所述像素點的QP值,確定所述像素點的量化步長Qstep;針對所選擇的量化器組合,採用所述像素點的量化步長Qstep對所述像素點的水平值進行反量化;所述量化器組合包括一個或多個量化器,所述量化器為均勻量化器或非均勻量化器,所述像素點的水平值通過解析碼流獲得。
第二方面,本發明實施例提供一種圖像編碼方法,所述方法由編碼端執行,所述方法包括:針對任意當前編碼塊中的任意一個像素點或任意多個並行量化的像素點,確定所述像素點的量化參數QP值;其中,所述當前編碼塊的像素點中至少存在兩個像素點的QP值不同;並且根據所述像素點的QP值,對所述像素點進行量化。
通過本發明實施例中提供的編碼方法,視頻編碼器可以為編碼塊確定每個像素點的QP值,從而可以根據每個像素點的QP值對每個像素點進行量化,即逐像素點進行量化。如此,可以在保證一定壓縮率的情況下,降低圖像幀的解碼失真,能夠提高圖像解碼的真實性和準確性。
可以理解的,圖像編碼方法中的各種可能的實現方式可以參考圖像解碼方法中各種可能的實現方式的描述。
第三方面,本發明實施例提供一種圖像解碼裝置,該解碼裝置應用於解碼端中,該解碼裝置包括用於實現第一方面及其可能的實現方式中之一所述的方法的各個模組,例如量化參數QP確定單元和反量化單元。
第三方面的技術方案以及有益效果可以參見第一方面及其可能的實現方式中任意之一的描述,此處不再贅述。所述解碼裝置具有實現上述第一方面及其可能的實現方式中任意之一的方法實例中行為的功能。所述功能可以通過硬體實現,也可以通過硬體執行相應的軟體實現。所述硬體或軟體包括一個或多個與上述功能相對應的模組。
第四方面,本發明實施例提供一種圖像編碼裝置,該編碼裝置應用於編碼端中,該編碼裝置包括用於實現第二方面及其可能的實現方 式中之一所述的方法的各個模組,例如量化參數QP確定單元和量化單元。
第四方面的技術方案以及有益效果可以參見第二方面及其可能的實現方式中任意之一的描述,此處不再贅述。所述編碼裝置具有實現上述第二方面及其可能的實現方式中任意之一的方法實例中行為的功能。所述功能可以通過硬體實現,也可以通過硬體執行相應的軟體實現。所述硬體或軟體包括一個或多個與上述功能相對應的模組。
第五方面,本發明實施例提供一種電子設備,包括處理器和記憶體,所述記憶體用於存儲電腦指令,所述處理器用於從記憶體中調用並運行所述電腦指令,以實現第一方面至第二方面及其可能的實現方式中任意之一所述的方法。例如,該電子設備可以是指視頻編碼器,或包括視頻編碼器的編碼端。又如,該電子設備可以是指視頻解碼器,或包括視頻解碼器的解碼端。
第六方面,本發明實施例提供一種電腦可讀存儲介質,存儲介質中存儲有電腦程式或指令,當電腦程式或指令被計算設備或計算設備所在的存儲系統執行時,以實現第一方面至第二方面及其可能的實現方式中任意之一所述的方法。
第七方面,本發明實施例提供一種電腦程式產品,該計算程式產品包括指令,當電腦程式產品在計算設備或處理器上運行時,使得計算設備或處理器執行該指令,以實現第一方面至第二方面及其可能的實現方式中任意之一所述的方法。
第八方面,本發明實施例提供一種晶片,包括記憶體和處理器,記憶體用於存儲電腦指令,處理器用於從記憶體中調用並運行該電腦指令,以實現第一方面至第二方面及其可能的實現方式中任意之一所述的方法。
第九方面,本發明實施例提供一種視頻譯碼系統,該視頻譯碼系統包括編碼端和解碼端,解碼端用於實現第一方面及其可能的實現方式中任意之一所述的方法,編碼端用於實現第二方面及其可能的實現方式中任意之一所述的方法。
本發明實施例在上述各方面提供的實現方式的基礎上,還可以進行進一步組合以提供更多實現方式。
Figure 112102375-A0202-12-0053-56
,
Figure 112102375-A0202-12-0053-59
,
Figure 112102375-A0202-12-0053-60
,
Figure 112102375-A0202-12-0053-61
,
Figure 112102375-A0202-12-0053-62
:過程
1:視頻譯碼系統/並行編碼單元/步驟
10:編碼端
100:視頻編碼器
101:變換器
102:量化器
103:熵編碼器
104,204:反量化器
105,205:反變換器
106,206:濾波器單元
107,207:經解碼圖像緩衝器(DPB)
108,208:預測處理單元
109,209:幀內預測器
110,210:幀間預測器
111,112,211:求和器
120:視頻源
140:輸出介面
1900:解碼裝置
1901,2001:QP確定單元
1902:反量化單元
2:並行編碼單元/步驟
20:解碼端
200:視頻解碼器
2000:編碼裝置
2002:量化單元
203:熵解碼器
2100:電子設備
2101:處理器
2102:通信介面
2103:記憶體
2104:匯流排
220:顯示裝置
240:輸入介面
30:鏈路
40:存儲裝置
41:後處理實體
42:網路實體
A1,A2,A3,B1,B2,B3,C1,C2,C3,C4,C5,C6,D1,D2,D3,D4,D5,D6:點
N:區域數量
Qstep:量化步長
S1,S2,S3,S10,S20,S30:過程
S1601,S1602,S501,S5011,S5012,S5013,S5014,S5015,S5016,S502,S503,S504,S505,S506,S601,S602,S6021,S6022,S6023,S603:步驟
圖1為本發明實施例提供的一種視頻譯碼系統的示例性框圖;
圖2為本發明實施例提供的一種視頻編碼器的示例性框圖;
圖3為本發明實施例提供的一種視頻解碼器的示例性框圖;
圖4為本發明實施例提供的一種視頻編/解碼的流程示意圖;
圖5為本發明實施例提供的一種圖像解碼方法的流程示意圖;
圖6為本發明實施例提供的一種圖像解碼方法的流程示意圖;
圖7為本發明實施例提供的一種圖像解碼方法的流程示意圖;
圖8A和圖8B為本發明實施例提供的一種像素點的分佈示意圖;
圖9A至圖9D為本發明實施例提供的一種逐點預測模式下像素點的劃分示意圖;
圖10A和圖10B為本發明實施例提供的一種逐點預測模式下像素點的劃分示意圖;
圖11A和圖11B為本發明實施例提供的一種逐點預測模式下像素點的劃分示意圖;
圖12為本發明實施例提供的一種圖像解碼方法的流程示意圖;
圖13A至圖13D為本發明實施例提供的一種編碼塊的區域劃分示意圖;
圖14A至圖14C為本發明實施例提供的一種編碼塊的區域劃分示意圖;
圖15A至圖15E為本發明實施例提供的一種編碼塊的區域劃分示意圖;
圖16為本發明實施例提供的一種圖像編碼方法的流程示意圖;
圖17為本發明實施例提供的一種殘差組的劃分示意圖;
圖18為本發明實施例提供的一種變換塊(Transform Block,TB)/預測塊(Prediction Block,PB)的劃分示意圖;
圖19為本發明提供的一種解碼裝置的結構示意圖;
圖20為本發明提供的一種編碼裝置的結構示意圖;
圖21為本發明提供的一種電子設備的結構示意圖。
本文中術語“和/或”,僅僅是一種描述關聯物件的關聯關係,表示可以存在三種關係,例如,A和/或B,可以表示:單獨存在A,同時存在A和B,單獨存在B這三種情況。
本發明實施例的說明書和申請專利範圍中的術語“第一”和“第二”等是用於區別不同的物件,而不是用於描述物件的特定順序。例如,第一預設值和第二預設值等是用於區別不同的預設值,而不是用於描述預設值的特定順序。
在本發明實施例中,“示例性的”或者“例如”等詞用於表示作例子、例證或說明。本發明實施例中被描述為“示例性的”或者“例如”的任何實施例或設計方案不應被解釋為比其它實施例或設計方案更優選或更具優勢。確切而言,使用“示例性的”或者“例如”等詞旨在以具體方式呈現相關概念。
在本發明實施例的描述中,除非另有說明,“多個”是指兩個或兩個以上。例如,多個處理單元是指兩個或兩個以上的處理單元;多個系統是指兩個或兩個以上的系統。
本發明實施例提供的圖像解碼方法、編碼方法也可以用於視頻解碼、視頻編碼,應理解,視頻包括一系列圖像(picture),對視頻進行解碼、編碼實質也是對視頻所包括的所有圖像進行解碼、編碼。
可以理解的,圖像編碼過程中所涉及的量化是指將信號的連續取值(或大量的離散取值)映射為有限多個離散取值,量化可以實現信號取值的多對一的映射。在視頻編碼中,殘差信號經過變換後,變換係數往往具有較大的動態範圍,因此對變換係數進行量化可以有效減少信號取值空間,獲得更好的壓縮效果。但是,由於多對一的映射機制,量化過程不可避免的會引入失真,這是視頻編碼中產生失真的根本原因。
反量化是量化的反過程,反量化指的是將量化後的係數映射為輸入信號空間中的重建信號,重建信號是輸入信號的一個近似。
量化包括標量量化(Scalar Quantization,SQ)和向量量化。其中,標量量化是最基本的量化方法,標量量化的輸入是一維的標量信號。標量量化過程包括:先將輸入信號空間劃分為一系列互不相交的區間,並且每個區間選取一個代表信號;然後對於每個輸入信號,將該輸入信號標量量化為該輸入信號所在區間的代表信號。其中,區間長度稱為量化步長(Quantization Step,記為Qstep),區間索引為水平值(Level),即量化後的值,表徵量化步長的參數是量化參數(Quantization Parameter,QP)。
最簡單的標量量化方法是均勻標量量化,均勻標量量化是將輸入信號空間劃分為等距的區間,每個區間的代表信號是區間中點。
最優標量量化器是Lloyd-Max量化器,Lloyd-Max量化器考慮了輸入信號的分佈情況,區間劃分是非均勻的,每個區間的代表信號是該區間的概率質心,相鄰兩個區間的邊界點是這兩個區間代表信號的中點。
下面描述本發明實施例所應用的系統架構,圖1為本發明提供的一種視頻譯碼系統的示例性框圖。如本文所使用,術語“視頻譯碼器”一般是指視頻編碼器和視頻解碼器兩者。在本發明中,術語“視頻譯碼”或“譯碼”可一般地指代視頻編碼或視頻解碼。視頻譯碼系統1中的視頻編碼器100和視頻解碼器200用於根據本發明提出的多種新的幀間預測模式中的任一種所描述的各種方法實例來預測當前經譯碼圖像塊或其子塊的運動資訊,例如運動向量,使得預測出的運動向量最大程度上接近使用運動估算方法得到的運動向量,從而編碼時無需傳送運動向量差值,並進一步的改善編解碼性能。
如圖1中所示,視頻譯碼系統1包含編碼端10和解碼端20。編碼端10產生經編碼視頻資料。因此,編碼端10可被稱為視頻編碼裝置。解碼端20可對由編碼端10所產生的經編碼的視頻資料進行解碼。因此,解碼端20可被稱為視頻解碼裝置。編碼端10、解碼端20或兩個的各種實施方案可包含一或多個處理器以及耦合到所述一或多個處理器的記憶體。 所述記憶體可包含但不限於隨機存取記憶體(Random Access Memory,RAM)、唯讀記憶體(Read Only Memory,ROM)、電子可抹除可程式唯讀記憶體(Electrically Erasable Programmable Read-Only Memory,EEPROM)、快閃記憶體或可用於以可由電腦存取的指令或資料結構的形式存儲所要的程式碼的任何其它媒體,如本文所描述。
編碼端10和解碼端20可為各種裝置,包含桌上型電腦、移動計算裝置、筆記型(例如,膝上型)電腦、平板電腦、機上盒、例如所謂的“智慧”電話等電話手持機、電視機、相機、顯示裝置、數位媒體播放機、視頻遊戲控制台、車載電腦或其類似者。
解碼端20可經由鏈路30從編碼端10接收經編碼視頻資料。鏈路30可包括能夠將經編碼視頻資料從編碼端10移動到解碼端20的一或多個媒體或裝置。在一個實例中,鏈路30可包括使得編碼端10能夠即時將經編碼視頻資料直接發射到解碼端20的一或多個通信媒體。在此實例中,編碼端10可根據通信標準(例如無線通訊協定)來調製經編碼視頻資料,且可將經調製的視頻資料發射到解碼端20。所述一或多個通信媒體可包含無線和/或有線通信媒體,例如射頻(Radio Frequency,RF)頻譜或一或多個物理傳輸線。所述一或多個通信媒體可形成基於分組的網路的一部分,基於分組的網路例如為局域網、廣域網路或全球網路(例如,網際網路)。所述一或多個通信媒體可包含路由器、交換器、基地台或促進從編碼端10到解碼端20的通信的其它設備。
在另一實例中,可將經編碼資料從輸出介面140輸出到存儲裝置40。類似地,可通過輸入介面240從存儲裝置40存取經編碼資料。存儲裝置40可為分散式或本地存取的資料存儲媒體,例如硬碟驅動器、藍光光碟、數位影音光碟(Digital Video Disc,DVD)、光碟唯讀記憶體(Compact Disc Read-Only Memory,CD-ROM)、快閃記憶體、易失性或非易失性記憶體,或用於存儲經編碼視頻資料的任何其它合適的數位存儲媒體。
在另一實例中,存儲裝置40可對應於檔案伺服器或可保持由編碼端10產生的經編碼視頻的另一中間存儲裝置。解碼端20可經由資料 流或下載從存儲裝置40存取所存儲的視頻資料。檔案伺服器可為任何類型的能夠存儲經編碼的視頻資料並且將經編碼的視頻資料發射到解碼端20的伺服器。實例檔案伺服器包含網路服務器(例如,用於網站)、檔案傳輸協定(File Transfer Protocol,FTP)伺服器、網路連結儲存(Network Attached Storage,NAS)裝置或本地磁碟機。解碼端20可通過任何標準資料連接(包含網際網路連接)來存取經編碼視頻資料。這可包含無線通道(例如,無線保真度(Wireless-Fidelity,Wi-Fi)連接)、有線連接(例如,數位用戶線路(Digital Subscriber Line,DSL)、纜線數據機等),或適合於存取存儲在檔案伺服器上的經編碼視頻資料的兩者的組合。經編碼視頻資料從存儲裝置40的傳輸可為資料流、下載傳輸或兩者的組合。
本發明提供的圖像解碼方法可應用於視頻編解碼以支援多種多媒體應用,例如空中電視廣播、有線電視發射、衛星電視發射、串流視頻發射(例如,經由網際網路)、用於存儲於資料存儲媒體上的視頻資料的編碼、存儲在資料存儲媒體上的視頻資料的解碼,或其它應用。在一些實例中,視頻譯碼系統1可用於支援單向或雙向視頻傳輸以支援例如視頻資料流、視頻重播、視頻廣播和/或視頻電話等應用。
圖1中所說明的視頻譯碼系統1僅為實例,並且本發明的技術可適用於未必包含編碼裝置與解碼裝置之間的任何資料通信的視頻譯碼設置(例如,視頻編碼或視頻解碼)。在其它實例中,資料從本機存放區器檢索、在網路上資料流等等。視頻編碼裝置可對資料進行編碼並且將資料存儲到記憶體,和/或視頻解碼裝置可從記憶體檢索資料並且對資料進行解碼。在許多實例中,由並不彼此通信而是僅編碼資料到記憶體和/或從記憶體檢索資料且解碼資料的裝置執行編碼和解碼。
在圖1的實例中,編碼端10包含視頻源120、視頻編碼器100和輸出介面140。在一些實例中,輸出介面140可包含調節器/解調器(數據機)和/或發射器。視頻源120可包括視頻捕獲裝置(例如,攝像機)、含有先前捕獲的視頻資料的視頻存檔、用以從視頻內容提供者接收視頻資料的視頻饋入介面,和/或用於產生視頻資料的電腦圖形系統,或視頻資料 的此些來源的組合。
視頻編碼器100可對來自視頻源120的視頻資料進行編碼。在一些實例中,編碼端10經由輸出介面140將經編碼視頻資料直接發射到解碼端20。在其它實例中,經編碼視頻資料還可存儲到存儲裝置40上,供解碼端20以後存取來用於解碼和/或播放。
在圖1的實例中,解碼端20包含輸入介面240、視頻解碼器200和顯示裝置220。在一些實例中,輸入介面240包含接收器和/或數據機。輸入介面240可經由鏈路30和/或從存儲裝置40接收經編碼視頻資料。顯示裝置220可與解碼端20集成或可在解碼端20外部。一般來說,顯示裝置220顯示經解碼視頻資料。顯示裝置220可包括多種顯示裝置,例如,液晶顯示器(Liquid Crystal Display,LCD)、等離子顯示器、有機發光二極體(Organic Light-Emitting Diode,OLED)顯示器或其它類型的顯示裝置。
儘管圖1中未圖示,但在一些方面,視頻編碼器100和視頻解碼器200可各自與音訊編碼器和解碼器集成,且可包含適當的多工器-多路分用器單元或其它硬體和軟體,以處置共同資料流程或單獨資料流程中的音訊和視頻兩者的編碼。在一些實例中,如果適用的話,那麼解複用器(MUX-DEMUX)單元可符合ITU H.223多工器協議,或例如用戶資料包協定(User Datagram Protocol,UDP)等其它協議。
視頻編碼器100和視頻解碼器200各自可實施為例如以下多種電路中的任一:一或多個微處理器、數位信號處理器(Digital Signal Processor,DSP)、特殊應用積體電路(Application-Specific Integrated Circuit,ASIC)、現場可程式邏輯閘陣列(Field Programmable Gate Array,FPGA)、離散邏輯、硬體或其任何組合。如果部分地以軟體來實施本發明,那麼裝置可將用於軟體的指令存儲在合適的非易失性電腦可讀存儲媒體中,且可使用一或多個處理器在硬體中執行所述指令從而實施本發明技術。前述內容(包含硬體、軟體、硬體與軟體的組合等)中的任一可被視為一或多個處理器。視頻編碼器100和視頻解碼器200均可包含在一或多個編碼器或解碼器中,所述編碼器或解碼器中的任一者可集成為相應裝置中的組合編碼器/ 解碼器(編碼解碼器)的一部分。
本發明可大體上將視頻編碼器100稱為將某些資訊“發信號通知”或“發射”到例如視頻解碼器200的另一裝置。術語“發信號通知”或“發射”可大體上指代用以對經壓縮視頻資料進行解碼的語法元素和/或其它資料的傳送。此傳送可即時或幾乎即時地發生。替代地,此通信可經過一段時間後發生,例如可在編碼時在經編碼碼流中將語法元素存儲到電腦可讀存儲媒體時發生,解碼裝置接著可在所述語法元素存儲到此媒體之後的任何時間檢索所述語法元素。
JCT-VC開發了H.265(HEVC)標準。HEVC標準化基於稱作HEVC測試模型(HEVC model,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也被稱為編碼樹單元(Coding Tree Unit,CTU)。樹塊具有與H.264標準的巨集塊類似的目的。條帶包含按解碼次序的數個連續樹塊。可將視頻幀或圖像分割成一個或多個條帶。可根據四叉樹將每一樹塊分裂成編碼單元(Coding Unit,CU)。例如,可將作為四叉樹的根節點的樹塊分裂成四個子節點,且每一子節點可又為母節點且被分裂成另外四個子節 點。作為四叉樹的葉節點的最終不可分裂的子節點包括解碼節點,例如,經解碼視頻塊。與經解碼碼流相關聯的語法資料可定義樹塊可分裂的最大次數,且也可定義解碼節點的最小大小。
CU的大小對應於解碼節點的大小且形狀必須為正方形。CU的大小的範圍可為8×8像素直到最大64×64像素或更大的樹塊的大小。
視頻序列通常包含一系列視頻幀或圖像。圖像群組(Group Of Picture,GOP)示例性地包括一系列、一個或多個視頻圖像。可在GOP的頭資訊中、一個或多個圖像的頭資訊中或在別處包含語法資料,語法資料描述包含於GOP中的圖像的數目。圖像的每一條帶可包含描述相應圖像的編碼模式的條帶語法資料。視頻編碼器100通常對個別視頻條帶內的視頻塊進行操作以便編碼視頻資料。視頻塊可對應於CU內的解碼節點。視頻塊可具有固定或變化的大小,且可根據指定解碼標準而在大小上不同。
在本發明中,“N×N”與“N乘N”可互換使用以指依照垂直維度及水平維度的視頻塊的像素尺寸,例如16×16像素或16乘16像素。一般來說,16×16塊將在垂直方向上具有16個像素(y=16),且在水平方向上具有16個像素點(x=16)。同樣地,N×N塊一般在垂直方向上具有N個像素點,且在水平方向上具有N個像素點,其中N表示非負整數值。可將塊中的像素排列成行及列。此外,塊未必需要在水平方向上與在垂直方向上具有相同數目個像素點。例如,塊可包括N×M個像素點,其中M未必等於N。
在使用CU的幀內/幀間預測性解碼之後,視頻編碼器100可計算CU的殘餘資料。CU可包括空間域(也稱作像素域)中的像素資料,還可包括在將變換(例如,離散餘弦變換(Discrete Cosine Transform,DCT)、整數變換、離散小波變換或概念上類似的變換)應用於殘餘視頻資料之後變換域中的係數。殘餘資料可對應於未經編碼圖像的像素與對應於CU的預測值之間的像素差。視頻編碼器100可形成包含殘餘資料的CU,且產生CU的變換係數。
在任何變換以產生變換係數之後,視頻編碼器100可執行變 換係數的量化,以盡可能減少用以表示係數的資料的量從而提供進一步壓縮。量化可減少與係數中的一些或全部相關聯的位深度。例如,可在量化期間將n位值降值舍位到m位值,其中n大於m。
在一些可行的實施方式中,視頻編碼器100可利用預定義掃描次序來掃描經量化變換係數以產生可經熵編碼的序列化向量。在其它可行的實施方式中,視頻編碼器100可執行自我調整性掃描。在掃描經量化變換係數以形成一維向量之後,視頻編碼器100可根據適應性變動長度編碼法(Context-Based Adaptive Variable-Length Code,CAVLC)、前文參考之可適性算術編碼(Context-Based Adaptive Binary Arithmetic Coding,CABAC)、基於語法的上下文自我調整性二進位算術解碼(Syntax-Based Adaptive Binary Arithmetic Coding,SBAC)、概率區間分割熵(Probability Interval Partitioning Entropy,PIPE)解碼或其他熵解碼方法,來熵解碼一維向量。視頻編碼器100也可熵編碼與經編碼視頻資料相關聯的語法元素,以供視頻解碼器200用於解碼視頻資料。
為了執行CABAC,視頻編碼器100可將上下文模型內的上下文指派給待傳輸的符號。上下文可與符號的相鄰值是否為非零有關。為了執行CAVLC,視頻編碼器100可選擇待傳輸的符號的可變長度碼。可變長度編碼(Variable-Length Code,VLC)中的碼字可被構建為使得相對較短碼對應於可能性較大的符號,而較長碼對應於可能性較小的符號。相對於針對待傳輸的每一符號使用相等長度碼字,VLC的使用可達成節省碼率的目的。基於指派給符號的上下文可以確定CABAC中的概率。
在本發明實施例中,視頻編碼器可執行幀間預測以減少圖像之間的時間冗餘。本發明可將視頻解碼器當前在解碼的CU稱作當前CU。本發明可將視頻解碼器當前在解碼的圖像稱作當前圖像。
圖2為本發明提供的一種視頻編碼器的示例性框圖。視頻編碼器100用於將視頻輸出到後處理實體41。後處理實體41表示可處理來自視頻編碼器100的經編碼視頻資料的視頻實體的實例,例如媒體感知網路元件(Media Aware Network Element,MANE)或拼接/編輯裝置。在一些情 況下,後處理實體41可為網路實體的實例。在一些視頻編碼系統中,後處理實體41和視頻編碼器100可為單獨裝置的若干部分,而在其它情況下,相對於後處理實體41所描述的功能性可由包括視頻編碼器100的相同裝置執行。在某一實例中,後處理實體41是圖1的存儲裝置40的實例。
在圖2的實例中,視頻編碼器100包括預測處理單元108、濾波器單元106、經解碼圖像緩衝器(Decoded Picture Buffer,DPB)107、求和器112、變換器101、量化器102和熵編碼器103。預測處理單元108包括幀間預測器110和幀內預測器109。為了圖像塊重構,視頻編碼器100還包含反量化器104、反變換器105和求和器111。濾波器單元106既定表示一或多個環路濾波器,例如去塊濾波器、適應性迴圈濾波器(Adaptive Loop Filter,ALF)和取樣自適應偏移(Sample Adaptive Offset,SAO)濾波器。儘管在圖2中將濾波器單元106示出為環路內濾波器,但在其它實現方式下,可將濾波器單元106實施為環路後濾波器。在一種示例下,視頻編碼器100還可以包括視頻資料記憶體、分割單元(圖中未示意)。
視頻資料記憶體可存儲待由視頻編碼器100的組件編碼的視頻資料。可從視頻源120獲得視頻資料並存儲在視頻資料記憶體中。DPB 107可為參考圖像記憶體,其存儲用於由視頻編碼器100在幀內、幀間譯碼模式中對視頻資料進行編碼的參考視頻資料。視頻資料記憶體和DPB 107可由多種記憶體裝置中的任一形成,例如包含同步動態隨機存取記憶體(Synchronous Dynamic Random Access Memory,SDRAM)的動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)、磁阻式RAM(Magnetic Random Access Memory,MRAM)、電阻式RAM(Resistive Random Access Memory,RRAM),或其它類型的記憶體裝置。視頻資料記憶體和DPB 107可由同一記憶體裝置或單獨記憶體裝置提供。在各種實例中,視頻資料記憶體可與視頻編碼器100的其它組件一起在晶片上,或相對於那些組件在晶片外。
如圖2所示,視頻編碼器100接收視頻資料,並將所述視頻資料存儲在視頻資料記憶體中。分割單元將所述視頻資料分割成若干圖像 塊,而且這些圖像塊可以被進一步分割為更小的塊,例如基於四叉樹結構或者二叉樹結構的圖像塊分割。此分割還可包含分割成條帶(slice)、片(tile)或其它較大單元。視頻編碼器100通常表示用於編碼待編碼的視頻條帶內的圖像塊的組件。所述條帶可分成多個圖像塊(並且可能分成被稱作片的圖像塊集合)。預測處理單元108可選擇用於當前圖像塊的多個可能的譯碼模式之一,例如多個幀內譯碼模式之一或多個幀間譯碼模式之一。預測處理單元108可將所得經幀內、幀間譯碼的塊提供給求和器112以產生殘差塊,且提供給求和器111以重構用作參考圖像的經編碼塊。
預測處理單元108內的幀內預測器109可相對於與待編碼當前塊在相同幀或條帶中的一或多個相鄰塊執行當前圖像塊的幀內預測性編碼,以去除空間冗餘。預測處理單元108內的幀間預測器110可相對於一或多個參考圖像中的一或多個預測塊執行當前圖像塊的幀間預測性編碼以去除時間冗餘。
具體的,幀間預測器110可用於確定用於編碼當前圖像塊的幀間預測模式。舉例來說,幀間預測器110可使用碼率-失真分析來計算候選幀間預測模式集合中的各種幀間預測模式的碼率-失真值,並從中選擇具有最佳碼率-失真特性的幀間預測模式。碼率失真分析通常確定經編碼塊與經編碼以產生所述經編碼塊的原始的未經編碼塊之間的失真(或誤差)的量,以及用於產生經編碼塊的位碼率(也就是說,位數目)。例如,幀間預測器110可確定候選幀間預測模式集合中編碼所述當前圖像塊的碼率失真代價最小的幀間預測模式為用於對當前圖像塊進行幀間預測的幀間預測模式。
幀間預測器110用於基於確定的幀間預測模式,預測當前圖像塊中一個或多個子塊的運動資訊(例如運動向量),並利用當前圖像塊中一個或多個子塊的運動資訊(例如運動向量)獲取或產生當前圖像塊的預測塊。幀間預測器110可在參考圖像清單中定位所述運動向量指向的預測塊。幀間預測器110還可產生與圖像塊和視頻條帶相關聯的語法元素以供視頻解碼器200在對視頻條帶的圖像塊解碼時使用。又或者,一種示例下,幀間預測器110利用每個子塊的運動資訊執行運動補償過程,以生成每個子塊 的預測塊,從而得到當前圖像塊的預測塊。應當理解的是,這裡的幀間預測器110執行運動估計和運動補償過程。
具體的,在為當前圖像塊選擇幀間預測模式之後,幀間預測器110可將指示當前圖像塊的所選幀間預測模式的資訊提供到熵編碼器103,以便於熵編碼器103編碼指示所選幀間預測模式的資訊。
幀內預測器109可對當前圖像塊執行幀內預測。明確地說,幀內預測器109可確定用來編碼當前塊的幀內預測模式。舉例來說,幀內預測器109可使用碼率-失真分析來計算各種待測試的幀內預測模式的碼率-失真值,並從待測試模式當中選擇具有最佳碼率-失真特性的幀內預測模式。在任何情況下,在為圖像塊選擇幀內預測模式之後,幀內預測器109可將指示當前圖像塊的所選幀內預測模式的資訊提供到熵編碼器103,以便熵編碼器103編碼指示所選幀內預測模式的資訊。
在預測處理單元108經由幀間預測、幀內預測產生當前圖像塊的預測塊之後,視頻編碼器100通過從待編碼的當前圖像塊減去所述預測塊來形成殘差圖像塊。求和器112表示執行此減法運算的一或多個組件。所述殘差塊中的殘差視頻資料可包含在一或多個變換單元(Transform Unit,TU)中,並應用於變換器101。變換器101使用例如離散餘弦變換(Discrete Cosine Transform,DCT)或概念上類似的變換等將殘差視頻資料變換成殘差變換係數。變換器101可將殘差視頻資料從像素值域轉換到變換域,例如頻域。
變換器101可將所得變換係數發送到量化器102。量化器102量化所述變換係數以進一步減小位碼率。在一些實例中,量化器102可接著執行對包含經量化的變換係數的矩陣的掃描。或者,熵編碼器103可執行掃描。
在量化之後,熵編碼器103對經量化變換係數進行熵編碼。舉例來說,熵編碼器103可執行適應性變動長度編碼法(CAVLC)、前文參考之可適性算術編碼(CABAC)、基於語法的上下文自我調整二進位算術編碼(SBAC)、概率區間分割熵(PIPE)編碼或另一熵編碼方法或技術。 在由熵編碼器103熵編碼之後,可將經編碼的碼流發射到視頻解碼器200,或經存檔以供稍後發射或由視頻解碼器200檢索。熵編碼器103還可對待編碼的當前圖像塊的語法元素進行熵編碼。
反量化器104和反變換器105分別應用逆量化和逆變換以在像素域中重構所述殘差塊,例如以供稍後用作參考圖像的參考塊。求和器111將經重構的殘差塊添加到由幀間預測器110或幀內預測器109產生的預測塊,以產生經重構圖像塊。濾波器單元106可以適用於經重構圖像塊以減小失真,諸如方塊效應(Block Artifacts)。然後,該經重構圖像塊作為參考塊存儲在經解碼圖像緩衝器107中,可由幀間預測器110用作參考塊以對後續視頻幀或圖像中的塊進行幀間預測。
應當理解的是,視頻編碼器100的其它結構變化也可用於編碼視頻流。例如,對於某些圖像塊或者圖像幀,視頻編碼器100可以直接地量化殘差信號而不需要經變換器101處理,相應地也不需要經反變換器105處理;或者,對於某些圖像塊或者圖像幀,視頻編碼器100沒有產生殘差數據,相應地不需要經變換器101、量化器102、反量化器104和反變換器105處理;或者,視頻編碼器100可以將經重構圖像塊作為參考塊直接地進行存儲而不需要經濾波器單元106處理;或者,視頻編碼器100中量化器102和反量化器104可以合併在一起。
圖3為本發明提供的一種視頻解碼器200的示例性框圖。在圖3的實例中,視頻解碼器200包括熵解碼器203、預測處理單元208、反量化器204、反變換器205、求和器211、濾波器單元206以及DPB 207。預測處理單元208可以包括幀間預測器210和幀內預測器209。在一些實例中,視頻解碼器200可執行大體上與相對於來自圖2的視頻編碼器100描述的編碼過程互逆的解碼過程。
在解碼過程中,視頻解碼器200從視頻編碼器100接收表示經編碼視頻條帶的圖像塊和相關聯的語法元素的經編碼視頻碼流。視頻解碼器200可從網路實體42接收視頻資料,可選的,還可以將所述視頻資料存儲在視頻資料記憶體(圖中未示意)中。視頻資料記憶體可存儲待由視頻 解碼器200的組件解碼的視頻資料,例如經編碼視頻碼流。存儲在視頻資料記憶體中的視頻資料,例如可從存儲裝置40、從相機等本地視頻源、經由視頻資料的有線或無線網路通信或者通過存取物理資料存儲媒體而獲得。視頻資料記憶體可作為用於存儲來自經編碼視頻碼流的經編碼視頻資料的經編碼圖像緩衝器(Coded Picture Buffer,CPB)。因此,儘管在圖3中沒有示意出視頻資料記憶體,但視頻資料記憶體和DPB 207可以是同一個的記憶體,也可以是單獨設置的記憶體。視頻資料記憶體和DPB 207可由多種記憶體裝置中的任一形成,例如:包含同步DRAM(SDRAM)的動態隨機存取記憶體(DRAM)、磁阻式RAM(MRAM)、電阻式RAM(RRAM),或其它類型的記憶體裝置。在各種實例中,視頻資料記憶體可與視頻解碼器200的其它組件一起集成在晶片上,或相對於那些組件設置在晶片外。
網路實體42可為伺服器、MANE、視頻編輯器/剪接器,或用於實施上文所描述的技術中的一或多者的其它裝置。網路實體42可包括或可不包括視頻編碼器,例如視頻編碼器100。在網路實體42將經編碼視頻碼流發送到視頻解碼器200之前,網路實體42可實施本發明中描述的技術中的部分。在一些視頻解碼系統中,網路實體42和視頻解碼器200可為單獨裝置的部分,而在其它情況下,相對於網路實體42描述的功能性可由包括視頻解碼器200的相同裝置執行。在一些情況下,網路實體42可為圖1的存儲裝置40的實例。
視頻解碼器200的熵解碼器203對碼流進行熵解碼以產生經量化的係數和一些語法元素。熵解碼器203將語法元素轉發到預測處理單元208。視頻解碼器200可接收在視頻條帶層級和/或圖像塊層級處的語法元素。
當視頻條帶被解碼為經幀內解碼(I)條帶時,預測處理單元208的幀內預測器209可基於發信號通知的幀內預測模式和來自當前幀或圖像的先前經解碼塊的資料而產生當前視頻條帶的圖像塊的預測塊。當視頻條帶被解碼為經幀間解碼(即,B或P)條帶時,預測處理單元208的幀間預測器210可基於從熵解碼器203接收到的語法元素,確定用於對當前 視頻條帶的當前圖像塊進行解碼的幀間預測模式,基於確定的幀間預測模式,對所述當前圖像塊進行解碼(例如執行幀間預測)。具體的,幀間預測器210可確定是否對當前視頻條帶的當前圖像塊採用新的幀間預測模式進行預測,如果語法元素指示採用新的幀間預測模式來對當前圖像塊進行預測,基於新的幀間預測模式(例如通過語法元素指定的一種新的幀間預測模式或預設的一種新的幀間預測模式)預測當前視頻條帶的當前圖像塊或當前圖像塊的子塊的運動資訊,從而通過運動補償過程使用預測出的當前圖像塊或當前圖像塊的子塊的運動資訊來獲取或生成當前圖像塊或當前圖像塊的子塊的預測塊。這裡的運動資訊可以包括參考圖像資訊和運動向量,其中參考圖像資訊可以包括但不限於單向/雙向預測資訊,參考圖像清單號和參考圖像清單對應的參考圖像索引。對於幀間預測,可從參考圖像清單內的參考圖像之一產生預測塊。視頻解碼器200可基於存儲在DPB 207中的參考圖像來建構參考圖像清單,即清單0和列表1。當前圖像的參考幀索引可包含於參考幀列表0和/或列表1中。在一些實例中,可以是視頻編碼器100發信號通知指示是否採用新的幀間預測模式來解碼特定塊的特定語法元素,或者,也可以是發信號通知指示是否採用新的幀間預測模式,以及指示具體採用哪一種新的幀間預測模式來解碼特定塊的特定語法元素。應當理解的是,這裡的幀間預測器210執行運動補償過程。
反量化器204將對在碼流中提供且由熵解碼器203解碼的經量化變換係數進行逆量化,即去量化。逆量化可包括:使用由視頻編碼器100針對視頻條帶中的每個圖像塊計算的量化參數,來確定應施加的量化程度以及同樣地確定應施加的逆量化程度。反變換器205將逆變換應用於變換係數,例如逆DCT、逆整數變換或概念上類似的逆變換過程,以便產生像素域中的殘差塊。
在幀間預測器210產生用於當前圖像塊或當前圖像塊的子塊的預測塊之後,視頻解碼器200通過將來自反變換器205的殘差塊與由幀間預測器210產生的對應預測塊求和以得到重建的塊,即經解碼圖像塊。求和器211表示執行此求和操作的組件。在需要時,還可使用環路濾波器 (在解碼環路中或在解碼環路之後)來使像素轉變平滑或者以其它方式改進視頻品質。濾波器單元206可以表示一或多個環路濾波器,例如去塊濾波器、適應性迴圈濾波器(ALF)以及取樣自適應偏移(SAO)濾波器。儘管在圖3中將濾波器單元206示出為環路內濾波器,但在其它實現方式中,可將濾波器單元206實施為環路後濾波器。在一種示例下,濾波器單元206適用於重建塊以減小塊失真,並且該結果作為經解碼視頻流輸出。並且,還可以將給定幀或圖像中的經解碼圖像塊存儲在DPB 207中,DPB 207存儲用於後續運動補償的參考圖像。DPB 207可為記憶體的一部分,其還可以存儲經解碼視頻,以供稍後在顯示裝置(例如圖1的顯示裝置220)上呈現,或可與此類記憶體分開。
應當理解的是,視頻解碼器200的其它結構變化可用於解碼經編碼視頻碼流。例如,視頻解碼器200可以不經濾波器單元206處理而生成輸出視頻流;或者,對於某些圖像塊或者圖像幀,視頻解碼器200的熵解碼器203沒有解碼出經量化的係數,相應地不需要經反量化器204和反變換器205處理。
本發明的技術可通過本發明中所描述的視頻編碼器或視頻解碼器中的任一進行,如關於圖1到圖3所展示及描述的視頻編碼器100及視頻解碼器200。即,在一種可行的實施方式中,關於圖2所描述的視頻編碼器100可在視頻資料的塊的編碼期間在執行幀間預測時執行下文中所描述的特定技術。在另一可行的實施方式中,關於圖3所描述的視頻解碼器200可在視頻資料的塊的解碼期間在執行幀間預測時執行下文中所描述的特定技術。因此,對一般性“視頻編碼器”或“視頻解碼器”的引用可包含視頻編碼器100、視頻解碼器200或另一視頻編碼或解碼單元。
圖1~圖3僅為本發明實施例提供的示例,在一些示例中,視頻編碼器100、視頻解碼器200以及視頻譯碼系統可以包括更多或更少的部件或單元,本發明對此不予限定。
下面在圖1~圖3所示出的視頻譯碼系統的基礎上,本發明實施例提供一種可能的視頻編/解碼實現方式。如圖4所示,圖4為本發明提 供的一種視頻編/解碼過程的流程示意圖,該視頻編/解碼實現方式包括過程
Figure 112102375-A0202-12-0025-27
至過程
Figure 112102375-A0202-12-0025-28
,過程
Figure 112102375-A0202-12-0025-29
至過程
Figure 112102375-A0202-12-0025-31
可以由上述的編碼端10、視頻編碼器100、解碼端20或視頻解碼器200中的任意一個或多個執行。
過程
Figure 112102375-A0202-12-0025-32
:將一幀圖像分成一個或多個互相不重疊的並行編碼單元。該一個或多個並行編碼單元間無依賴關係,可完全並行/獨立編碼和解碼,如圖4所示出的並行編碼單元1和並行編碼單元2。
過程
Figure 112102375-A0202-12-0025-33
:對於每個並行編碼單元,可再將其分成一個或多個互相不重疊的獨立編碼單元,各個獨立編碼單元間可相互不依賴,但可以共用一些並行編碼單元頭資訊。
例如,獨立編碼單元的寬為w_lcu,高為h_lcu。若並行編碼單元劃分成一個獨立編碼單元,則獨立編碼單元的尺寸與並行編碼單元完全相同;否則,獨立編碼單元的寬應大於高(除非是邊緣區域)。
通常的,獨立編碼單元可為固定的w_lcu×h_lcu,w_lcu和h_lcu均為2的N次方(N
Figure 112102375-A0202-12-0025-36
0)。如獨立編碼單元的尺寸可為:128×4,64×4,32×4,16×4,8×4,32×2,16×2或8×2等。
作為一種可能的示例,獨立編碼單元可為固定的128×4。若並行編碼單元的尺寸為256×8,則可將並行編碼單元等分為4個獨立編碼單元;若並行編碼單元的尺寸為288×10,則並行編碼單元可劃分為:第一/二行為2個128×4+1個32×4的獨立編碼單元;第三行為2個128×2+1個32×2的獨立編碼單元。
值得注意的是,獨立編碼單元既可以是包括亮度Y、色度Cb、色度Cr三個分量,或紅(red,R)、綠(green,G)、藍(blue,B)三個分量,也可以僅包含其中的某一個分量。若獨立編碼單元包含三個分量,則這三個分量的尺寸可以完全一樣,也可以不一樣,具體與圖像的輸入格式相關。
過程
Figure 112102375-A0202-12-0025-37
:對於每個獨立編碼單元,可再將其分成一個或多個互相不重疊的編碼單元,獨立編碼單元內的各個編碼單元可相互依賴,如多個編碼單元可進行相互參考預編解碼。
若編碼單元與獨立編碼單元尺寸相同(即獨立編碼單元僅分成一個編碼單元),則其尺寸可為過程
Figure 112102375-A0202-12-0026-38
所述的所有尺寸。
若獨立編碼單元分成多個互相不重疊的編碼單元,則其可行的劃分例子有:水平等分(編碼單元的高與獨立編碼單元相同,但寬不同,可為其1/2、1/4、1/8、1/16等),垂直等分(編碼單元的寬與獨立編碼單元相同,高不同,可為其1/2、1/4、1/8、1/16等),水平和垂直等分(四叉樹劃分)等,優選為水平等分。
編碼單元的寬為w_cu,高為h_cu,則其寬應大於高(除非是邊緣區域)。通常的,編碼單元可為固定的w_cu x h_cu,w_cu和h_cu均為2個N次方(N大於等於0),如16x4、8x4、16x2、8x2、8x1、4x1等。
作為一種可能的示例,編碼單元可為固定的16x4。若獨立編碼單元的尺寸為64x4,則可將獨立編碼單元等分為4個編碼單元;若獨立編碼單元的尺寸為72x4,則編碼單元劃分為:4個16x4+1個8x4。
值得注意的是,編碼單元既可以是包括亮度Y、色度Cb、色度Cr三個分量(或紅R、綠G、藍B三分量),也可以僅包含其中的某一個分量。若包含三個分量,幾個分量的尺寸可以完全一樣,也可以不一樣,具體與圖像輸入格式相關。
值得注意的是,過程
Figure 112102375-A0202-12-0026-40
是視頻編解碼方法中一個可選的步驟,視頻編/解碼器可以對過程
Figure 112102375-A0202-12-0026-41
獲得的獨立編碼單元進行殘差係數(或殘差值)進行編/解碼。
過程
Figure 112102375-A0202-12-0026-43
:對於編碼單元,可再將其分成一個或多個互相不重疊的預測組(Prediction Group,PG),PG也可簡稱為Group,各個PG按照選定預測模式進行編解碼得到各PG的預測值,各PG的預測值組成整個編碼單元的預測值,基於編碼單元的預測值和編碼單元的原始值,可獲得編碼單元的殘差值。
過程
Figure 112102375-A0202-12-0026-44
:基於編碼單元的殘差值對編碼單元進行分組,獲得一個或多個相不重疊的殘差小塊(Residual Block,RB),各個RB的殘差係數按照選定模式進行編解碼形成殘差係數流。具體的,可分為對殘差係數 進行變換和不進行變換兩類。
過程
Figure 112102375-A0202-12-0027-45
中殘差係數編解碼方法的選定模式,可以包括但不限於下述任一種:半定長編碼方式、指數哥倫布(Golomb)編碼方法、Golomb-Rice編碼方法、截斷一元碼編碼方法、游程編碼方法、直接編碼原始殘差值等。
例如,視頻編碼器可直接對RB內的係數進行編碼。
又如,視頻編碼器也可對殘差塊進行變換,如DCT、DST、Hadamard變換等,再對變換後的係數進行編碼。
作為一種可能的示例,當RB較小時,視頻編碼器可直接對RB內的各個係數進行統一量化,再進行二值化編碼。若RB較大,可進一步劃分為多個係數組(Coefficient Group,CG),對各個CG進行統一量化後,再進行二值化編碼。在本發明的一些實施例中,CG和量化組(Quantization Group)可以相同。
下面以半定長編碼方式對殘差係數編碼的部分進行示例性說明。首先,將一個RB塊內殘差絕對值的最大值定義為修整最大值(modified maximum)。其次,確定該RB塊內殘差係數的編碼比特數,同一個RB塊內殘差係數的編碼比特數一致。例如,若當前RB塊的關鍵限值(critical limit,CL)為2,當前殘差係數為1,則編碼殘差係數1需要2個比特,表示為01。若當前RB塊的CL為7,則表示編碼8-bit的殘差係數和1-bit的符號位。CL的確定是去找滿足當前子塊所有殘差都在[-2^(M-1),2^(M-1)]範圍之內的最小M值。若同時存在-2^(M-1)和2^(M-1)兩個邊界值,則M應增加1,即需要M+1個比特來編碼當前RB塊的所有殘差;若僅存在-2^(M-1)和2^(M-1)兩個邊界值中的一個,則需要編碼一個Trailing位來確定該邊界值是-2^(M-1)還是2^(M-1);若-2^(M-1)和2^(M-1)中的任何一個均不存在,則無需編碼該Trailing位。
對於某些特殊的情況,視頻編碼器也可以直接編碼圖像的原始值,而不是殘差值。
本發明實施例中的編碼塊(Coding Block)對應圖像中的一個 圖像塊,編碼塊可以是經上述過程
Figure 112102375-A0202-12-0028-47
劃分得到的編碼單元,也可以是編碼單元再經過劃分後的預測組。
結合上述圖1所示的視頻譯碼系統、圖2所示的視頻編碼器以及圖3所示的視頻解碼器的框架示意圖,下面對本發明實施例涉及的圖像解碼方法、編碼方法進行詳細描述。
圖5為本發明提供的一種圖像解碼方法的流程示意圖,該圖像解碼方法可應用於圖1所示出的視頻譯碼系統,該圖像解碼方法可以由解碼端20執行。具體的,該解碼方法可以由解碼端20包括的視頻解碼器200執行。如圖5所示,本發明實施例提供的圖像解碼方法包括以下步驟。
步驟S501、針對當前編碼塊中的任意一個像素點或任意多個並行反量化的像素點,確定該像素點的QP值。
其中,當前編碼塊的像素點中至少存在兩個像素點的QP值不同。並行反量化的像素點指的是對於一些像素點,可以並行地對這些像素點進行反量化。
當前編碼塊中的任意一個像素點或任意多個並行反量化的像素點是視頻解碼器當前所處理的像素點,為了便於描述,在以下實施例中,也可以稱為當前像素點。
對待解碼的視頻流進行解碼可以獲得該視頻流所包含的一個或多個圖像幀。一個圖像幀包括一個或多個圖像塊。本發明實施例中,當前編碼塊對應待處理圖像(為所述視頻流中的任意一個圖像幀)的一個圖像塊,編碼塊可以為編碼單元。
現有技術中,對一個編碼塊(例如上述的當前編碼塊)中的所有像素點都採用相同的QP值。即在對當前編碼塊進行反量化的過程中,QP值是編碼塊細微性的QP值,如此會導致的圖像失真較大。而本發明實施例中,對一個編碼塊(例如上述的當前編碼塊),視頻解碼器為該編碼塊的當前像素點確定QP值,且為編碼塊的像素點中的至少兩個像素點分配不同的QP值。即在對當前編碼塊進行反量化的過程中,QP值是像素細微性的QP值,充分考慮了同一編碼塊中不同像素點之間的差異。通過為每個像 素點分配合適的QP值,從而降低圖像幀的解碼失真,可以提升當前編碼塊的反量化效果(反量化效果可以通過解碼得到的圖像的品質來衡量)。
步驟S502、根據當前像素點的QP值,對該當前像素點進行反量化。
對當前像素點進行反量化具體是對該當前像素點的水平值進行反量化,該當前像素點的水平值是視頻解碼器通過解析碼流獲得。
在編碼過程中,視頻編碼器對當前編碼塊進行預測,從而得到該當前編碼塊的殘差值。該殘差值為當前編碼塊的真實值與當前編碼塊的預測值之差,可以稱為當前編碼塊的殘差係數。然後對當前編碼塊的殘差係數進行變換後再量化,得到當前編碼塊的量化係數。或者,視頻編碼器對當前編碼塊的殘差係數不進行變換,而是對該殘差係數直接進行量化,得到當前編碼塊的量化係數。這種情況下,該量化係數可以稱為水平值或者經量化殘差係數。本發明實施例中,為了便於描述,將量化後的值統稱為水平值。
本發明實施例中,根據當前像素點的QP值,對當前像素點水平值進行反量化,可包括:根據該當前像素點的QP值,確定該當前像素點的量化步長Qstep;然後,針對所選擇的量化器組合,採用該當前像素點的量化步長Qstep對該當前像素點的水平值進行反量化。
可選地,量化器為均勻量化器或非均勻量化器,量化器組合是通過碼流攜帶的標記資訊確定的。
視頻解碼器根據QP值,可通過公式推導或查表中的至少一種方式確定量化步長Qstep,下面提供了三種可能的實現方法。
方法一:Qstep=a×QP+b
其中,a和b是預設的參數,例如a取值為2,b取值為1。
方法二:Qstep=2T
其中,T為與QP相關的整數,例如T=(QP-6)/4。
方法三: Qstep=2(QP+offset)/octave
其中,octave為QP的位階,也即QP的值每增加octave,Qstep的值增加一倍,通常選取octave為6或8,offset為一個整數偏移值。
可選地,可以採用下述的H.265中的傳統標量量化方法實現量化和反量化。
量化:
Figure 112102375-A0202-12-0030-1
反量化:
c'=l * Qstep
其中,l是量化後得到的水平值,c是待量化的殘差係數(該殘差係數可以是變換域的殘差係數,即經變換的殘差係數;或者該殘差係數可以是像素域的殘差係數,即殘差值),Qstep是量化步長,f是控制舍入的參數,f
Figure 112102375-A0202-12-0030-48
0,1),sign表示符號函數,floor表示向下取整函數;c'是反量化後的值。
可以理解的是,QP值越大,Qstep值越大,則量化越粗糙,量化帶來的圖像失真越大,係數編碼的碼率越小。
[0,1-f)表示量化死區,參數f與量化死區的長度有關,f越小,量化死區越長,量化後的水平值越靠近零點。當f=0.5時,上述量化和反量化公式相當於四捨五入,量化失真最小。當f<0.5時,f越小,量化失真越大,係數編碼的碼率越小。H.265中,對於I幀,選取f=1/3,對於B/P幀,選取f=1/6。
示例性的,均勻量化器其量化或反量化公式可以參考上述量化和反量化公式,參數f有以下取法。
取法一:f取為0.5或其他固定值。
取法二:f可根據QP值、預測模式以及是否做變換來自我調整確定。
綜上,通過本發明實施例中提供的解碼方法,視頻解碼器可以為編碼塊確定每個像素點的QP值,從而根據每個像素點的QP值對每個像素點進行反量化,即逐像素點進行反量化。如此,可以在保證一定壓縮率 的情況下,降低圖像幀的解碼失真,能夠提高圖像解碼的真實性和準確性。
可選地,結合圖5,如圖6所示,在確定當前像素點的QP值之前,本發明實施例提供的解碼方法還包括步驟S503-步驟S504。
步驟S503、獲取當前編碼塊的QP值。
在一種實現方式中,可以從碼流中解析得到當前編碼塊的QP值。在近無失真壓縮技術中,小QP出現的概率高於大QP,因此,視頻編碼器可以採用截斷一元碼、截斷萊斯碼或者指數哥倫布碼直接編碼一個編碼塊的QP值,從而視頻解碼器解析碼流可以獲得編碼塊的QP值。
在另一種實現方式中,可以通過當前編碼塊的預測QP值與QP偏移量獲取當前編碼塊的QP值。示例性的,可以通過下述方式一或方式二獲取當前編碼塊的QP值。
其中,前一種實現方式的過程包括S1-S3。
過程S1、獲取當前編碼塊的預測QP值。
可選地,可以根據當前編碼塊的周圍塊的QP值計算當前編碼塊的預測QP值。
示例性的,可以根據當前編碼塊左側的已重建塊的QP值和上側的已重建塊的QP值確定當前編碼塊的預測QP值,如:
predQP=(QP A +QP B +1)≫1,
其中,predQP表示當前編碼塊的預測QP值,QPA表示當前編碼左側的已重建塊,QPB表示當前編碼塊上側的已重建塊,>>1表示右移一位,即除2運算。
過程S2、解析碼流以獲得當前編碼塊的QP偏移量。
在視頻編碼過程中,視頻編碼器確定出該當前編碼塊的預測QP值,在確定當前編碼塊的真實QP值與該預測QP值的差值,得到當前編碼塊的QP偏移量(可以記為deltaQP),然後採用變長碼編碼QP偏移量,並通過碼流傳輸QP偏移量至視頻解碼器。從而視頻解碼器獲取到碼流之後,可以解析碼流獲得當前編碼塊的QP偏移量。
過程S3、將當前編碼塊的預測QP值與QP偏移量之和作為 當前編碼塊的QP值。即
QP=predQP+deltaQP,
其中,QP表示當前編碼的QP值,predQP表示當前編碼塊的預測QP值,deltaQP表示當前編碼塊的QP偏移量。
後一種實現方式的過程包括過程S10-過程S30。
過程S10、獲取當前編碼塊的預測QP值。
對於過程S10的描述可以參考過程S1的相關描述,此處不再贅述。
過程S20、根據當前編碼塊的推導資訊,確定當前編碼塊的QP偏移值。
其中,推導資訊包括下述資訊中的至少一種:當前編碼塊的平坦度資訊、碼流緩衝區的剩餘空間或失真約束資訊。
在視頻編碼過程中,視頻編碼器採用碼控演算法,根據當前編碼塊的推導資訊推導得到當前編碼塊的QP偏移量,但視頻編碼器並不在碼流中傳輸該QP偏移量。如此,在視頻解碼過程中,視頻解碼器採用與視頻編碼器相同的方法推導當前編碼塊的QP偏移量。上述過程S20可採用本領域技術人員熟知的任一推導QP偏移量的方式,在此不再詳述。
過程S30、將當前編碼塊的預測QP值與QP偏移量之和作為當前編碼塊的QP值。
本發明實施例中,也可以根據其他更更多的資訊對到當前編碼塊的預測QP值,例如根據當前編碼塊的前一個已編碼塊的QP、前一個已編碼塊的編碼比特數(prevBlockRate)、目的碼率(targetRate)、當前編碼塊的平坦度資訊以及當前碼流緩衝區的充盈程度(rcFullness)推導得到當前編碼塊的QP偏移量。
步驟S504、確定當前像素點的預測QP值為當前編碼塊的QP值。
將獲取的當前編碼塊的QP值作為當前編碼塊的每一個像素點的初始QP值(即預測QP值),並通過對該預測QP值進行調整或者不 調整,得到每一個像素點的QP值。
基於上述步驟S503-步驟S504,如圖7所示,上述確定當前像素點的QP值(即步驟S501)具體包括步驟S5011-步驟S5012。
步驟S5011、當前像素點為當前編碼塊中的目標像素點時,調整當前像素點的預測QP值,將調整後的預測QP值作為當前像素點的QP值。
本發明實施例中,目標像素點是當前編碼塊中的一個或多個指定的像素點,這些指定的像素點可以理解為QP值待調整的像素點或者候選像素點。針對候選像素點,執行QP調整策略。關於目標像素點,將在下文詳細描述。
步驟S5012、當前像素點為當前編碼塊中除上述目標像素點之外的像素點時,將當前像素點的預測QP值確定為當前像素點的QP值。
本發明實施例中,當前編碼塊中除目標像素點之外的像素點均不做調整,無需執行QP調整策略,對於這些像素點,其QP值即為當前編碼塊的QP值。
如圖7所示,作為一種實現方式,上述實施例中的步驟S5011可通過步驟S601-步驟S602實現。
步驟S601、獲取當前像素點周圍的已重建像素點的資訊。
當前像素點周圍的已重建像素點可以理解為與該當前像素點的相鄰的已重建像素點,包括滿足下述條件的像素點:以當前像素點為中心,邊長為第一預設值的正方形區域中的像素點;或者,以當前像素點為中心,對角線長度為第二預設值的菱形區域中的像素點。
第一預設值和第二預設值可以根據實際需求進行設置,並且第一預設值和第二預設值可以相等也可以不等,例如第一預設值和第二預設值可以為3或5。
示例性的,圖8A示出了一種以當前像素點為中心的正方形區域劃分為例的示意,給出了2種可能的情形:情形1,已重建像素點是指以當前像素點為中心,邊長為3的正方形區域中的像素點,如圖8A中所示 出的周圍像素點1;情形2,已重建像素點是指以當前像素點為中心,邊長為5的正方形區域中的像素點,如圖8A所示出的周圍像素點2。
圖8B示出了一種以當前像素點為中心的菱形區域劃分為例的示意,給出了2種可能的情形:情形1,已重建像素點是指以當前像素點為中心,對角線長度為3的菱形區域中的像素點,如圖8B中所示出的周圍像素點1;情形2,已重建像素點是指以當前像素點為中心,對角線長度為5的菱形區域中的像素點,如圖8B中所示出的周圍像素點2。
圖8A和圖8B僅為本發明實施例為說明在當前像素點周圍的已重建像素點的示例,不應理解為對本發明的限定。在另一些可能的示例中,當前像素點周圍的已重建像素點還可以是指與該當前像素點上下相鄰、或左右相鄰的一個或兩個像素點。
當前像素點周圍的已重建像素點的資訊可包括該已重建像素點的下述至少一種資訊:像素值、重建殘差值、梯度值、平坦度資訊或紋理度資訊或複雜度資訊、背景亮度、對比度或運動程度。其中,重建殘差值包括反量化後的殘差值,或者重建值與預測值之差。梯度值包括水平梯度、垂直梯度、或者平均梯度。運動程度可以通過運動向量表示。
進一步,上述已重建像素點的資訊的值可包括下述至少一個種:原始值、絕對值、均值或差值。
在一種實現方式中,上述獲取像當前素點周圍的已重建像素點的資訊的方法可以包括步驟1-步驟2:
步驟1、獲取當前像素點的預測像素點的資訊。
當前像素點的預測像素點為已重建像素點。可選地,該已重建像素點可以是當前編碼塊中的已重建像素點,也可以是當前編碼塊之外的已重建像素點。例如,預測模式為幀內預測模式時,已重建像素點是當前圖像幀內該編碼塊周圍的像素點;預測模式為幀間預測模式時,已重建像素點可以是當前圖像幀的參考幀上的重建塊。
步驟2、若預測像素點為當前編碼塊中的已重建像素點,則將該預測像素點的資訊作為像素點周圍的已重建像素點的資訊;否則,將該 預測像素點的資訊與該預測像素點周圍的已重建像素點的資訊的差值或差值的絕對值作為當前像素點周圍的已重建像素點的資訊。
步驟S602、根據當前像素點周圍的已重建像素點的資訊,調整當前像素點的預測QP值。
調整後的預測QP值為像素點最終的QP值。
本發明實施例中,可以為當前編碼塊的當前像素點設置QP值調整參數表,示例性的,下述表1示出了調整QP值所需的一些參數。
Figure 112102375-A0202-12-0035-2
具體的,步驟S602包括下述步驟S6021-步驟S6023。
步驟S6021、若當前像素點滿足第二預設條件和第三預設條件,則根據第一QP偏移量和失真參考QP值,調整當前像素點的預測QP值。
其中,第二預設條件為當前像素點的預測QP值大於失真參考QP值,且當前像素點的預測QP值小於或等於可調整的QP最大值(即表1中的maxAdjustQP),可調整的QP最大值小於或等於QP最大值。第三預設條件為當前像素點周圍的已重建像素點的資訊小於或等於第一閾值(即表1中的thres1)。
可選地,參考表1,在當前像素點滿足第二預設條件和第三預設條件的情況下,當前像素點調整後的預測QP值滿足:
finalQP=max(initQP-offset1,jndQP)
其中,finalQP表示調整後的預測QP值,initQP表示當前像素點的預測QP值,offset1表示第一QP偏移量,jndQP表示失真參考QP值,max表示取最大值。
一種情況下,失真參考QP值是從碼流中解析得到,如該碼流中攜帶有失真參考QP值,如20。
又一種情況下,失真參考QP值是根據周圍的已重建編碼塊的平坦度資訊或紋理度資訊、背景亮度、對比度資訊推導得到。
另一種情況下,失真參考QP值還可以是視頻編碼器或視頻解碼器設置的預設值,如15。
也就是說,失真參考QP值不僅可以攜帶在碼流中,也可以是視頻編碼器或視頻解碼器在視頻編解碼過程中推導得到,還可以是預設值。本發明實施例將失真參考QP值引入至像素點的QP值的確定過程,使得每個像素點滿足人眼恰可察覺失真相應的判斷資訊,可以降低圖像失真,從而提高圖像的主觀品質。
步驟S6022、若當前像素點滿足第二預設條件和第四預設條件,則根據第二QP偏移量和QP最大值,調整當前像素點的預測QP值。
其中,第四預設條件為當前像素點周圍的已重建像素點的資訊大於第二閾值(即表1中的thres2),第一閾值小於或等於第二閾值。
可見,上述步驟S6021和步驟S6022中需要對當前像素點的預測QP值進行調整。
步驟S6023、除上述步驟S6021和步驟S6022之外的情況下,將當前像素點的預測QP值作為當前像素點的QP值。即不需要對當前像素點的預測QP值進行調整。
可以理解的是,上述步驟S6023包括的情形有:
情形一、當前像素點的預測QP值小於或等於失真參考QP值。
情形二、當前像素點滿足第二預設條件(即當前像素點的預測QP值大於失真參考QP值,且當前像素點的預測QP值小於或等於可調整的QP最大值),且當前像素點周圍的已重建像素點的資訊大於第一閾值且小於或等於第二閾值。
情形三、當前像素點的預測QP值大於可調整的QP最大值。
如圖7所示,作為另一種實現方式,上述實施例中的步驟S5011可通過步驟S603實現。
步驟S603、若當前像素點滿足第一預設條件,則將預設QP值作為該當前像素點的QP值;否則,將當前像素點的預測QP值作為該當前像素點的QP值。
該第一預設條件包括下述至少之一:當前像素點為亮度像素點;當前像素點為色度像素點;當前像素點的比特深度小於或等於比特深度閾值(表1中的bdThres);當前像素點的預測QP值小於或等於可調整的QP最大值(表1中的maxAdjustQP);當前像素點周圍的已重建像素點的資訊小於或等於第一預設閾值(即表1中的thres1)。
示例性的,第一預設條件可以為當前像素點為亮度像素點,且該當前像素點的比特深度小於或等於比特深度閾值;或者,第一預設條件可以為當前像素點為色度像素點,且該當前像素點的預測QP值小於或等於可調整的QP最大值。具體的,可以根據實際需求選擇上述條件中的一種或多種條件進行組合作為第一預設條件。
一種可能的實現方式中,上述的目標像素點為當前編碼塊中的任意一個或多個像素點,即當前編碼塊中的每一個像素點的QP值均需待調整,對於每一個像素點,可以採用上述步驟S601-步驟S602或步驟S603 確定其QP值。
又一種可能的實現方式中,上述目標像素點為當前編碼塊的第二部分像素點中的任意一個或多個像素點。本發明實施例中,當前編碼塊至少包括第一部分像素點和/或第二部分像素點:第一部分像素點被設置為QP值無需調整的像素點,即第一部分像素點中每一個像素點的QP值為其預測QP值;第二部分像素點被設置為QP值待調整的像素點,即採用上述步驟S601-步驟S602或步驟S603確定第二部分像素點中每一個像素點的QP值。
另一種可能的實現方式中,當前編碼塊至少包括第一部分像素點和/或第二部分像素點:第一部分像素點被設置為QP值無需調整的像素點,第二部分像素點被設置為QP值待調整的像素點。
一種可能的情形中,當前編碼塊的預測模式為逐點預測模式時,第二部分像素點可以包括第一位置像素點和/或第二位置像素點。第一位置像素點、第二位置像素點是根據當前編碼塊的逐點預測模式確定的。通常,第二位置像素點可以包括水平方向逐點預測的起點所對應的像素點。
上述目標像素點為第一位置像素點中的任意一個或多個像素點,若當前像素點是第一位置像素點中的一個或多個像素點,可以採用上述步驟S601步驟-S602確定該當前像素點的QP值;若當前像素點是第二位置像素點中的一個或多個像素點時,可以採用上述步驟S603確定該當前像素點的QP值。
本發明實施例中,當前編碼塊的第二部分像素點中,哪些像素點被設置為第一位置像素點,哪些像素點被設置為第二位置像素點,是與當前編碼塊的逐點預測模式有關的。
作為一種示例,參考圖9A至圖9D,以當前編碼塊為16×2(寬度w為16,高度h為2)的編碼塊為例,該編碼塊的預測模式為逐點預測模式,該編碼塊的逐點預測模式包括4種模式,分別為逐點預測模式1、逐點預測模式2、逐點預測模式3以及逐點預測模式4。其中,
≡表示當前像素點的預測值為該像素點的左右兩側像素點的重建值的 平均值;
Figure 112102375-A0202-12-0039-63
表示當前像素點的預測值為該像素點的上下兩側像素點的重建值的平均值;
>表示當前像素點的預測值為該像素點的左側像素點的重建值;
∨表示當前像素點的預測值為該像素點的上側像素點的重建值。
本發明實施例中,為了便於描述,將依據其左右兩側像素點進行預測的像素點稱為第一類像素點,將依據其上下兩側像素點進行預測的像素點稱為第二類像素點,將依據其左側像素點進行預測的像素點稱為第三類像素點,將依據其上側像素點進行預測的像素點稱為第四類像素點,
如圖9A所示,當前編碼塊的預測模式為逐點預測模式1,可見,當前編碼塊包括第一部分像素點和第二部分像素點,第二部分像素點全部被定義為第一位置像素點,即第二部分像素點中不包含第二位置像素點。其中,第一位置像素點包括第一類像素點和第四類像素點。
如圖9B所示,當前編碼塊的預測模式為逐點預測模式2,可見,當前編碼塊第一部分像素點和第二部分像素點,第二部分像素點中的部分像素點被定義為第一位置像素點,另一部分被定義為第二位置像素點,其中,第一位置像素點包括第二類像素點和第三類像素點;第二位置像素點包括第三類像素點和第四類像素點。
如圖9C所示,當前編碼塊的預測模式為逐點預測模式3,可見,當前編碼塊的像素點全部為第二部分像素點,該第二部分像素點的部分像素點被定義為第一位置像素點,另一部分被定義為第二位置像素點,其中,第一位置像素點包括第三類像素點;第二位置像素點包括第三類像素點和第四類像素點。
如圖9D所示,當前編碼塊的預測模式為逐點預測模式4,可見,當前編碼塊包括第一部分像素點和第二部分像素點,第二部分像素點全部被定義為第一位置像素點,即第二部分像素點中不包含第二位置像素點。其中,第一位置像素點包括第四類像素點。
作為一種示例,參考圖10A和圖10B,以當前編碼塊為8×2 (寬度w為8,高度h為2)的編碼塊為例,該編碼塊的預測模式為逐點預測模式,該編碼塊的逐點預測模式也包括2種模式,分別為逐點預測模式1和逐點預測模式2。
如圖10A所示,當前編碼塊的預測模式為逐點預測模式1,可見,當前編碼塊包括第一部分像素點和第二部分像素點,第二部分像素點全部被定義為第一位置像素點,即第二部分像素點中不包含第二位置像素點。其中,第一位置像素點包括第四類像素點。
如圖10B所示,當前編碼塊的預測模式為逐點預測模式2,可見,當前編碼塊的像素點全部為第二部分像素點,該第二部分像素點的部分像素點被定義為第一位置像素點,另一部分被定義為第二位置像素點,其中,第一位置像素點包括第三類像素點;第二位置像素點包括第三類像素點和第四類像素點。
作為一種示例,參考圖11A和圖11B,以當前編碼塊為8×1(寬度w為8,高度h為1)的編碼塊為例,該編碼塊的預測模式為逐點預測模式,該編碼塊的逐點預測模式也包括2種模式,分別為逐點預測模式1和逐點預測模式2。
如圖11A所示,當前編碼塊的預測模式為逐點預測模式1,可見,當前編碼塊的全部像素點為第一部分像素點,第一部像素點均為第四類像素點。
如圖11B所示,當前編碼塊的預測模式為逐點預測模式2,可見,當前編碼塊的像素點全部為第二部分像素點,第二部分像素點中的部分像素點被定義為第一位置像素點,另一部分被定義為第二位置像素點,其中,第一位置像素點包括第三類像素點;第二位置像素點包括第三類像素點和第四類像素點。
結合圖5,如圖12所示,在一種可能的情形中,當前編碼塊的預測模式為塊預測模式時,在確定當前像素點的QP值之前,本發明實施例提供的解碼方法還可包括步驟S505-步驟S506。
步驟S505、獲取當前編碼塊的區域劃分資訊,該區域劃分資 訊包括區域數量N以及區域分界線的位置資訊,N為大於或等於2的整數。
區域劃分資訊也可以稱為劃分範本。
可選地,獲取當前編碼塊的區域劃分資訊的方法包括:獲取預定義的當前編碼塊的區域劃分資訊;或者,解析碼流,獲取當前編碼塊的區域劃分資訊;或者是視頻解碼器推導得到的。
步驟S506、根據區域劃分資訊,將當前編碼塊劃分為N個區域。
可選地,塊預測模式可以包括基於塊的幀間預測模式、基於塊的幀內預測模式或幀內塊複製(Intra Block Copy,IBC)預測模式。
根據塊預測模式預測得到當前編碼塊的預測塊,進而得到其殘差塊。可選地,從對該殘差塊是否做變換的角度來看,塊預測模式可以包括不做變換的塊預測模式和做變換的塊預測模式。不做變換的塊預測模式指的是對根據該塊預測模式確定的殘差塊不做變換,做變換的塊預測模式指的是對根據該塊預測模式確定的殘差塊需要做變換。
對於不做變換的塊預測模式,當前編碼塊內的像素點可以“逐點”或者“逐區域”依次進行重建,並且可以利用前面已重建像素點的資訊來調整後面重建的像素點QP值。
對當前編碼塊內的像素點逐點進行重建與上述逐點預測模式類似,因此“逐點”重建情形下當前編碼塊的像素點的QP值的確定方法,與上述逐點預測模式下QP值的確定方法類似,即可以採用上述步驟S601-步驟S602或步驟S603確定當前編碼塊的像素點的QP值。
對當前編碼塊內的像素點“逐區域”進行重建是允許並行地對同一個區域的像素進行重建,思路是將當前編碼塊劃分為N個區域(N
Figure 112102375-A0202-12-0041-49
2),然後逐區域依次進行重建。
具體的,對於不做變換的塊預測模式下的“逐區域”進行重建方式,可根據區域劃分資訊中的區域數量N以及區域分界線的位置資訊,將該當前編碼塊劃分為N個區域。應注意,該N個區域中的至少一個區域的像素點的QP值依據至少一個其他區域的已重建像素點的資訊進行確定。 其中,其他區域為N個區域中除至少一個區域之外的區域,或者為所述當前編碼塊之外的區域。也就是說,N個區域是具有先後重建順序的,即該N個區域中的部分區域之間的重建過程具有依賴關係,例如需先重建一個區域(對應的其他區域為所述當前編碼塊之外的區域),然後根據該區域的重建結果再重建另一個區域(即該區域相對於另一個區域而言為其他區域)。
可選地,區域數量N以及區域分界線的位置資訊可以根據當前編碼塊的資訊或者當前編碼塊的參考像素的資訊進行推導。
作為一種示例,假設N=2(即將當前編碼塊劃分為2個區域),當前編碼塊包括第一區域和第二區域,第一區域中的像素點包括下述至少之一:當前編碼塊的任意位置的水平條帶中的像素點、任意位置的分隔號帶中的像素點或任意位置的斜向條帶中的像素點。其中,條帶的寬度不超過2,並且在條帶位於當前編碼塊的邊界的情況下,條帶的寬度等於1。第二區域中的像素點為當前編碼塊中除第一區域之外的像素點。第一區域和第二區域的重建順序是先重建第二區域,再重建第一區域。
示例性的,對於當前編碼塊,可以理解的,上邊界的像素點即為上側的條帶的像素點,下邊界的像素點即為下側的條帶的像素點,左邊界像素點即為左側的條帶的像素點,右邊像素點即為右側的條帶的像素點。
圖13A至圖13D為當前編碼塊的幾種示例性的劃分結果示意圖,在圖13A左邊界像素點以及右邊界像素點,在圖13B中,第一區域中的像素點包括當前編碼塊的下邊界像素點和右邊界像素點,在圖13C中,第一區域中的像素點包括當前編碼塊的右邊界像素點,在圖13D,第一區域中的像素點包括當前編碼塊的下邊界像素點。
對於做變換的塊預測模式,當前編碼塊內的所有像素點需要並行地進行重建,因此可將當前編碼塊塊劃分為N個區域(N
Figure 112102375-A0202-12-0042-52
2),進而並行地對同一個區域的像素進行重建。
具體的,對於做變換的塊預測模式,可以根據區域劃分資訊中的區域數量N以及區域分界線的位置資訊,將該當前編碼塊劃分為N個區域。
區域數量N以及區域分界線的位置資訊可根據當前編碼塊的資訊或者當前編碼塊的參考像素的資訊進行推導。可根據當前編碼塊的上側相鄰行的像素點和/或左側相鄰列像素點(即當前編碼塊的參考像素點)確定當前編碼塊的區域劃分資訊。具體的,根據當前編碼塊的上側相鄰行的像素點和/或左側相鄰列像素點預測當前編碼塊內部的物體邊緣,然後基於物體邊緣將當前編碼塊劃分為若干個區域。例如,根據當前編碼塊的上側相鄰行的像素點和/或左側相鄰列像素點,採用梯度演算法預測出當前編碼塊的行和/或列的像素值發生突變的像素點,從而將該突變的像素點作為區域分界線的位置,並且依此可以確定出區域數量N。
上述方法確定的當前編碼塊的區域劃分資訊可以使得當前編碼塊的區域劃分方式包括下述至少一種:水平劃分、垂直劃分或斜向劃分。例如,當前編碼塊的行像素值存在一個或多個發生突變的像素點,列像素值不存在突變的像素點時,當前編碼塊的區域劃分方式為垂直劃分;當前編碼塊的列像素值存在一個或多個發生突變的像素點,行像素值不存在突變的像素點時,當前編碼塊的區域劃分方式為水平劃分;當前編碼塊的行像素值存在一個或多個發生突變的像素點,列像素值也存在一個或多個突變的像素點時,當前編碼塊的區域劃分方式為斜向劃分。
參考圖14A至圖14C,一種劃分方式是將當前編碼塊劃分為兩個區域,圖14A示意的是垂直二分為兩個區域,點A1是行的突變像素點;圖14B示意的是水平二分為兩個區域,點B1是列的突變像素點;圖14C示意的是斜向二分為兩個區域,點C1是行的突變像素點,點D1是列的突變像素點。
參考圖15A至圖15E,一種劃分方式是將當前編碼塊劃分為三個區域,圖15A示意的是垂直三分為三個區域,點A2和點A3是行的突變像素點;圖15B示意的是水平三分為三個區域,點B2和點B3是列的突變像素點;圖15C至圖15E示意的是斜向三分為三個區域,其中,圖15C中,點C2和點C3是行的突變像素點,點D2和點D3是列的突變像素點;圖15D中,點C4和點C5是行的突變像素點,點D4是列的突變像素點; 圖15E中,點C6是行的突變像素點,點D5和點D6是列的突變像素點。
圖14A至圖14C和圖15A至圖15E僅為當前編碼塊的一些劃分結果的示例,不應成為對本發明實施例的限定,當前編碼塊的劃分方式也可以是多種劃分方式的組合。
基於上述步驟S505-步驟S506,一種實現方式中,針對上述不做變換的塊預測模式,以當前編碼塊被劃分為2(即N=2)個區域為例,即當前編碼塊包括第一區域和第二區域(參考圖10A和圖10B),如圖12所示,上述確定當前像素點的QP值(即步驟S501)具體包括步驟S5013-步驟S5014。
步驟S5013、當前像素點為第一區域中的任意一個像素點時,調整當前像素點的預測QP值,將調整後的預測QP值作為當前像素點的QP值。
具體的,獲取當前像素點周圍的已重建像素點的資訊,然後根據該當前像素點周圍的已重建像素點的資訊,調整像素點的預測QP值。具體過程可以參考上述實施例中的步驟S601-步驟S602(其中,步驟S602包括步驟S6021-步驟S6023)的相關描述,此處不再贅述。
步驟S5014、當前像素點為第二區域中的任意一個像素點時,將當前像素點的預測QP值作為當前像素點的QP值。由於需要先重建第二區域的像素點,此時其周圍可能沒有已重建像素點,因此不對第二區域的像素點的預測QP值進行調整,即將第二區域中的像素點的預測QP值作為像素點的QP值。
另一種實現方式中,對於上述做變換的塊預測模式,針對N個區域中的任意一個區域中的當前像素點,如圖12所示,上述確定當前像素點的QP值(即步驟S501)具體包括步驟S5015-步驟S5016。
步驟S5015、獲取當前像素點的QP偏移量。
可選地,解析碼流,以獲取當前像素點的偏移量。可以理解的,視頻編碼器對圖像進行編碼的過程中,視頻編碼器預測出每個像素點的QP偏移量之後,可以將每個像素點的QP偏移量編入碼流,傳遞至視頻解 碼器。
或者,可選地,根據推導資訊,確定當前像素點的QP偏移量。該推導資訊包括當前像素點所在區域的索引資訊和/或當前像素點到當前像素點所在區域的區域分界線的距離。其中,距離包括下述任一種:水平距離、垂直距離或歐式距離。
因此,推導得到的當前像素點的QP偏移量為下述任一種:第三QP偏移量、第四QP偏移量、第三QP偏移量與第四QP偏移量之和。
其中,第三QP偏移量根據當前像素點所在區域的索引資訊推導獲得,第三QP偏移量可以看作區域級的QP偏移量。應理解,同一個區域內的像素點的第三QP偏移量相同,不同區域內的像素點的第三QP偏移量不同。
第四QP偏移量根據當前像素點到該當前像素點所在區域的區域分界線的距離推導獲得。第四QP偏移量可以看作像素級的QP偏移量,像素點對應的距離不同,則當前像素點的QP偏移量可以不同。
可以根據視頻編碼器側的配置選擇第三QP偏移量、第四QP偏移量、第三QP偏移量與第四QP偏移量之和這三者之一作為該像素點的QP偏移量。
步驟S5016、根據當前像素點的QP偏移量調整當前像素點的預測QP值,將調整後的預測QP值作為當前像素點的QP值。
綜上,視頻解碼器可以為編碼塊中的像素點確定像素點細微性的QP值,從而根據每個像素點的QP值逐點對每個像素點進行反量化。如此,可以在保證一定壓縮率的情況下,降低圖像幀的解碼失真,能夠提高圖像解碼的真實性和準確性。
相應的,在圖像編碼方法中,視頻編碼器首先獲取像素點的QP、量化步長Qstep和殘差係數;自我調整選擇量化器,對殘差係數進行量化;最後調整量化係數,得到最終的水平值,從而實現圖像幀的編碼。
在圖2示出的視頻編碼器100的基礎上,本發明還提供一種圖像編碼方法。如圖16所示,圖16為本發明提供的一種圖像編碼方法的 流程示意圖。該圖像編碼方法可以由視頻編碼器100執行,也可以由支援視頻編碼器100的功能的編碼端(如圖1所示出的編碼端10)執行。這裡以視頻編碼器100實現編碼方法為例進行說明,該圖像編碼方法包括以下步驟。
步驟S1601、針對任意當前編碼塊中的任意一個像素點或任意多個並行量化的像素點,確定該像素點的QP值。
其中,當前編碼塊的像素點中至少存在兩個像素點的QP值不同。
步驟S1602、根據像素點的QP值,對像素點進行量化。
量化是反量化的反過程,關於編碼方法中QP值的量化,可以參考上述圖5~圖15A至圖15E中解碼方法中的相應過程,此處不予贅述。
綜上,通過本發明實施例中提供的編碼方法,視頻編碼器可以為編碼塊確定每個像素點的QP值,從而根據每個像素點的QP值對每個像素點進行量化,即逐像素點進行量化。如此,可以在保證一定壓縮率的情況下,降低圖像幀的解碼失真,能夠提高圖像解碼的真實性和準確性。
可以理解的,對於塊預測模式,按照實施例中描述的方法將當前編碼塊劃分為N(N
Figure 112102375-A0202-12-0046-53
2)個區域,對於每一個區域中的像素點進行逐像素點量化或者多個像素點並行量化,得到水平值(即經量化殘差係數或量化後的參數係數)之後,對參數係數進行編碼。
針對編碼塊劃分為N個區域的情況,由於不同區域的QP值的調整方式可以不同,因此,量化後的殘差係數的分佈也不同,故可以設計基於區域的殘差分組編碼方法。
具體的,可以把每個區域的殘差係數劃分為若干個殘差組,應注意,每個殘差組不能跨區域;然後,編碼該殘差組的碼長參數,編碼方法可以為定長碼或變長碼;再採用定長碼編碼該殘差組裡的每個殘差係數,定長碼的碼長由該殘差組的碼長參數確定,並且不同殘差組的碼長參數可以不同。
示例性的,參考圖17,假設當前編碼塊為16×2的編碼塊,當前編碼塊被劃分為兩個區域,分別為區域1和區域2,可將區域1對應的殘差係數劃分為n(n
Figure 112102375-A0202-12-0047-54
1)個殘差組,將區域2對應的殘差係數可以劃分為m(m
Figure 112102375-A0202-12-0047-55
1)個殘差組,且每個殘差組都不跨區域。應理解,參數係數與像素點一一對應,對區域對應的參數係數進行分組即對區域包括的像素點進行分組。如圖17所示,區域1包括15個像素點,示例性的,可將該區域1劃分成1個殘差組,即將該15個像素點劃分至一個殘差組;也可以將該區域1劃分成來2個殘差組,例如將區域1的前8個像素點劃分至一個殘差組1,將區域1的後7個像素點劃分至另一個殘差組2;還可以將區域1劃分成3個殘差組,例如將每5個相鄰的像素點劃分至一個殘差組,從而得到3個殘差組,如殘差組1、殘差組2以及殘差組3。
可選地,視頻編碼器對當前編碼塊進行預測的預測模式可以包括逐點預測模式、塊預測模式。其中,塊預測模式可以分塊的幀間預測模式、塊的幀內預測模式或幀內塊複製(Intra Block Copy,IBC)預測模式。下面簡單介紹一種IBC預測模式。
IBC技術是在當前幀的已重建區域中搜索當前編碼塊的匹配塊,目的是去除空間的非局部冗餘。IBC預測模式下的預測過程可以分為運動估計和運動補償兩個過程。運動估計是編碼端搜索當前編碼塊的匹配塊,估計出當前編碼塊與其匹配塊之間的相對位移,即當前編碼塊對應的塊向量(Block Vector,BV)或者塊向量差(Block Vector Difference,BVD),並在碼流中傳輸BV或BVD。運動補償是根據匹配塊生成預測塊,例如包括對匹配塊加權和預測濾波等操作。
可選地,視頻編碼器獲取當前編碼塊的預測塊的方法可以包括:
方法一:若預測塊中的像素點不可得,允許用上側或左側的像素點進行填充(padding),或者填充為預設值。
方法二:基於BV或BVD獲得的匹配塊,再對匹配塊進行一些處理(例如預測濾波、光照補償等操作),生成最終的預測塊。
可選地,IBC預測模式下,視頻編碼器將當前編碼塊劃分為若干個變換塊(Transform Block,TB)和若干個預測塊(Prediction Block,PB),其中,一個TB可以包括一個或多個PB。示例性的,參考圖18,以當前編碼塊為16×2的編碼塊為例,將當前編碼塊劃分為2個TB,分別為TB1和TB2,TB1和TB2的尺寸均為8×2,每一個TB包括4個PB,每一個PB的尺寸為2×2;再依次重建每個TB。一種像素重建方法是:從當前編碼塊的第二個TB開始,對每個TB中的PB進行運動補償時可以參考當前TB左側的已重建TB中的重建像素值。
可選地,視頻編碼器對BV或者BVD的編碼方式為下述方法一和/或方法二。
方法一:對於僅進行水平方向的運動搜索,碼流中只傳輸水平方向的BV或BVD,無需傳輸垂直方向的BV或BVD。
方法二:BV或BVD的編碼方式可以是定長碼或變長碼。
並且定長碼的碼長或變長碼的二值化方式可以基於以下資訊的一個或多個得到:當前編碼塊的位置資訊、尺寸資訊(包括寬度或高度或面積)、劃分模式資訊或TB/PB的劃分方式;當前TB的位置資訊或尺寸資訊(包括寬度或高度或面積);當前PB的位置資訊或尺寸資訊(包括寬度或高度或面積)。
可選地,當前編碼塊的獲取步驟可以是:先獲取預測BV(Block Vector Prediction,BVP),再獲取BVD,則BV=BVP+BVD。
其中,可以基於以下資訊的一種或多種獲取BVP:已編碼塊的BV或BVD、位置資訊、尺寸資訊(包括寬度或高度或面積)、劃分模式資訊或TB/PB的劃分方式;周圍預測塊的BV或BVD、位置資訊或尺寸資訊(包括寬度或高度或面積)。
可以理解的是,為了實現上述實施例中功能,視頻編碼器/視頻解碼器包括了執行各個功能相應的硬體結構和/或軟體模組。本領域技術人員應該很容易意識到,結合本發明中所公開的實施例描述的各示例的單元及方法步驟,本發明能夠以硬體或硬體和電腦軟體相結合的形式來實現。 某個功能究竟以硬體還是電腦軟體驅動硬體的方式來執行,取決於技術方案的特定應用場景和設計約束條件。
圖19為本發明實施例提供的一種解碼裝置的結構示意圖,該解碼裝置1900包括QP確定單元1901和反量化單元1902。解碼裝置1900可以用於實現上述解碼方法實施例中視頻解碼器或解碼端的功能,因此也能實現上述解碼方法實施例所具備的有益效果。在本發明實施例中,該解碼裝置1900可以是如圖1所示的解碼端20或視頻解碼器200,也可以是如圖3所示的視頻解碼器200,還可以是應用於解碼端20或視頻解碼器200的模組(如晶片)。
QP確定單元1901和反量化單元1902,用於實現圖5~圖15A至圖15E中任一實施例提供的解碼方法。有關上述QP確定單元1901和反量化單元1902詳細的描述可以直接參考圖5~圖15A至圖15E所示的方法實施例中相關描述直接得到,這裡不加贅述。
圖20為本發明提供的一種編碼裝置的結構示意圖,該編碼裝置2000包括:QP確定單元2001和量化單元2002。編碼裝置2000可以用於實現上述編碼方法實施例中視頻編碼器或編碼端的功能,因此也能實現上述編碼方法實施例所具備的有益效果。在本發明實施例中,該編碼裝置2000可以是如圖1所示的編碼端10或視頻編碼器100,也可以是如圖2所示的視頻編碼器100,還可以是應用於編碼端10或視頻編碼器100的模組(如晶片)。
QP確定單元2001和量化單元2002,用於實現圖16~圖18所提供的編碼方法。有關上述QP確定單元2001和量化單元2002更詳細的描述可以直接參考圖4~圖18所示的方法實施例中相關描述直接得到,這裡不加贅述。
本發明還提供一種電子設備,如圖21所示,本發明提供的一種電子設備的結構示意圖,電子設備2100包括處理器2101和通信介面2102。處理器2101和通信介面2102之間相互耦合。可以理解的是,通信介面2101可以為收發器或輸入輸出介面。可選的,電子設備2100還可以包括記憶體 2103,用於存儲處理器2101執行的指令或存儲處理器2101運行指令所需要的輸入資料,或存儲處理器2101運行指令後產生的資料。
當電子設備2100用於實現圖5~圖15A至圖15E所示的方法時,處理器2101和通信介面2102用於執行上述QP確定單元1901和反量化單元1902的功能。
當電子設備2100用於實現圖16~圖18所示的方法時,處理器2101和通信介面2102用於執行上述QP確定單元2001和量化單元2002的功能。
本發明實施例中不限定上述通信介面2102、處理器2101及記憶體2103之間的具體連接介質。本發明實施例在圖21中以通信介面2102、處理器2101以及記憶體2103之間通過匯流排2104連接,匯流排在圖21中以粗線表示,其它部件之間的連接方式,僅是進行示意性說明,並不引以為限。所述匯流排可以分為位址匯流排、資料匯流排、控制匯流排等。為便於表示,圖21中僅用一條粗線表示,但並不表示僅有一根匯流排或一種類型的匯流排。
記憶體2103可用於存儲軟體程式及模組,如本發明實施例所提供的解碼方法或編碼方法對應的程式指令/模組,處理器2101通過執行存儲在記憶體2103內的軟體程式及模組,從而執行各種功能應用以及資料處理。該通信介面2102可用於與其他設備進行信令或資料的通信。在本發明中該電子設備2100可以具有多個通信介面2102。
可以理解的是,本發明的實施例中的處理器可以是中央處理器(Central Processing Unit,CPU)、神經處理器(Neural Processing Unit,NPU)或圖形處理器(Graphic Processing Unit,GPU),還可以是其它通用處理器、數位信號處理器(Digital Signal Processor,DSP)、特殊應用積體電路(Application Specific Integrated Circuit,ASIC)、現場可程式邏輯閘陣列(Field Programmable Gate Array,FPGA)或者其它可程式邏輯器件、電晶體邏輯器件,硬體部件或者其任意組合。通用處理器可以是微處理器,也可以是任何常規的處理器。
本發明的實施例中的方法步驟可以通過硬體的方式來實現,也可以由處理器執行軟體指令的方式來實現。軟體指令可以由相應的軟體模組組成,軟體模組可以被存放於隨機存取記憶體(Random Access Memory,RAM)、快閃記憶體、唯讀記憶體(Read-Only Memory,ROM)、可程式唯讀記憶體(Programmable ROM,PROM)、可抹除可程式唯讀記憶體(Erasable PROM,EPROM)、電子可抹除可程式唯讀記憶體(Electrically EPROM,EEPROM)、寄存器、硬碟、移動硬碟、CD-ROM或者本領域熟知的任何其它形式的存儲介質中。一種示例性的存儲介質耦合至處理器,從而使處理器能夠從該存儲介質讀取資訊,且可向該存儲介質寫入資訊。當然,存儲介質也可以是處理器的組成部分。處理器和存儲介質可以位於ASIC中。另外,該ASIC可以位於網路設備或終端設備中。當然,處理器和存儲介質也可以作為分立組件存在於網路設備或終端設備中。
在上述實施例中,可以全部或部分地通過軟體、硬體、韌體或者其任意組合來實現。當使用軟體程式實現時,可以全部或部分地以電腦程式產品的形式實現。該電腦程式產品包括一個或多個電腦指令。在電腦上載入和執行該電腦指令時,全部或部分地產生按照本發明實施例中的流程或功能。該電腦可以是通用電腦、專用電腦、電腦網路或者其他可程式設計裝置。該電腦指令可以存儲在電腦可讀存儲介質中,或者從一個電腦可讀存儲介質向另一個電腦可讀存儲介質傳輸,例如,該電腦指令可以從一個網站、電腦、伺服器或資料中心通過有線(例如同軸電纜、光纖、數位用戶線路(Digital Subscriber Line,DSL))方式或無線(例如紅外、無線、微波等)方式向另一個網站、電腦、伺服器或資料中心傳輸。該電腦可讀存儲介質可以是電腦能夠存取的任何可用介質或者是包括一個或多個可用介質集成的伺服器、資料中心等資料存放裝置。該可用介質可以是磁性介質(例如,軟碟、磁片、磁帶)、光介質(例如,數位影音光碟(Digital Video Disc,DVD))、或者半導體介質(例如固態硬碟(Solid State Drives,SSD))等。
通過以上的實施方式的描述,所屬領域的技術人員可以清楚地瞭解到,為描述的方便和簡潔,僅以上述各功能模組的劃分進行舉例說明, 實際應用中,可以根據需要而將上述功能分配由不同的功能模組完成,即將裝置的內部結構劃分成不同的功能模組,以完成以上描述的全部或者部分功能。上述描述的系統,裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本發明所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模組或單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些介面,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者不是物理單元,即可以位於一個地方,也可以分佈到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用軟體功能單元的形式實現。
所述集成的單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以存儲在一個電腦可讀取存儲介質中。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟體產品的形式體現出來,該電腦軟體產品存儲在一個存儲介質中,包括若干指令用以使得一台電腦設備(可以是個人電腦,伺服器,或者網路設備等)或處理器執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:快閃記憶體、移動硬碟、唯讀記憶體、隨機存取記憶體、磁碟或者光碟等各種可以存儲程式碼的介質。
以上所述,僅為本發明的具體實施方式,但本發明的保護範 圍並不局限於此,任何在本發明揭露的技術範圍內的變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應以所述請求項的保護範圍為準。
200:視頻解碼器
S501,S502:步驟

Claims (34)

  1. 一種圖像解碼方法,由解碼端執行,其特徵在於,所述方法包括:
    針對當前編碼塊中的任意一個像素點或任意多個並行反量化的像素點,確定所述像素點的量化參數QP值,其中,所述當前編碼塊的像素點中至少存在兩個像素點的QP值不同;
    根據所述像素點的QP值,對所述像素點進行反量化。
  2. 如請求項1所述的方法,其中,所述方法還包括:
    獲取所述當前編碼塊的QP值;
    確定所述像素點的預測QP值為所述當前編碼塊的QP值。
  3. 如請求項2所述的方法,其中,所述確定所述像素點的QP值,包括:
    所述像素點為所述當前編碼塊中的任意一個目標像素點或任意多個並行反量化的目標像素點時,調整所述像素點的預測QP值,將調整後的預測QP值作為所述像素點的QP值。
  4. 如請求項3所述的方法,其中,所述調整所述像素點的預測QP值,包括:
    獲取所述像素點周圍的已重建像素點的資訊;
    根據所述像素點周圍的已重建像素點的資訊,調整所述像素點的預測QP值。
  5. 如請求項3所述的方法,其中,所述調整所述像素點的預測QP值,包括:
    若所述像素點滿足第一預設條件,則將預設QP值作為所述像素點的QP值;
    否則,將所述像素點的預測QP值作為所述像素點的QP值;
    其中,所述第一預設條件包括下述條件中至少一種:
    所述像素點為亮度像素點;
    所述像素點為色度像素點;
    所述像素點的比特深度小於或等於比特深度閾值;
    所述像素點的預測QP值小於或等於可調整的QP最大值,所述可調整的QP最大值小於或等於QP最大值;
    所述像素點周圍的已重建像素點的資訊小於或等於第一預設閾值。
  6. 如請求項4或5所述的方法,其中,所述根據所述像素點的QP值,對所述像素點進行反量化,包括:
    根據所述調整後的預測QP值,對所述像素點進行反量化。
  7. 如請求項4或5所述的方法,其中,
    所述目標像素點為所述當前編碼塊中的任意一個或多個像素點。
  8. 如請求項4或5所述的方法,其中,
    所述當前編碼塊至少包括第一部分像素點和/或第二部分像素點,
    所述目標像素點為所述第二部分像素點中的任意一個或多個像素點。
  9. 如請求項8所述的方法,其中,
    所述目標像素點為所述第二部分像素點中的第一位置像素點中的任意一個或多個像素點。
  10. 如請求項8所述的方法,其中,
    所述目標像素點為所述第二部分像素點中的第二位置像素點中的任意一個或多個像素點。
  11. 如請求項4或5所述的方法,其中,
    所述當前編碼塊的預測模式為逐點預測模式,
    所述當前編碼塊至少包括第一部分像素點和/或第二部分像素點,
    所述第二部分像素點包括第一位置像素點和/或第二位置像素點,
    所述第一位置像素點、所述第二位置像素點是根據所述當前編碼塊的逐點預測模式確定的。
  12. 如請求項3所述的方法,其中,所述根據所述像素點周圍的已重建像素點的資訊,調整所述像素點的預測QP值,包括:
    若所述像素點滿足第二預設條件和第三預設條件,則根據第一QP 偏移量和失真參考QP值,所述失真參考QP值表示人眼恰可察覺失真對應的QP值,調整所述像素點的預測QP值,其中,
    所述第二預設條件為所述像素點的預測QP值大於所述失真參考QP值,且所述像素點的預測QP值小於或等於可調整的QP最大值,
    所述第三預設條件為所述像素點周圍的已重建像素點的資訊小於或等於第一閾值;
    若所述像素點滿足所述第二預設條件和第四預設條件,則根據第二QP偏移量和QP最大值,調整所述像素點的預測QP值,其中,
    所述第四預設條件為所述像素點周圍的已重建像素點的資訊大於第二閾值,所述第一閾值小於或等於所述第二閾值;
    否則,將所述像素點的預測QP值作為所述像素點的QP值。
  13. 如請求項12所述的方法,其中,在所述像素點滿足第二預設條件和第三預設條件的情況下,所述調整後的預測QP值滿足:
    finalQP=max(initQP-offset1,jndQP),
    其中,finalQP表示所述調整後的預測QP值,
    initQP表示所述像素點的預測QP值,
    offset1表示所述第一QP偏移量,
    jndQP表示所述失真參考QP值,max表示取最大值。
  14. 如請求項12所述的方法,其中,在所述像素點滿足所述第二預設條件和第四預設條件的情況下,所述調整後的預測QP值滿足:
    finalQP=min(initQP+offset2,maxQP),
    其中,finalQP表示所述調整後的預測QP值,
    initQP表示所述像素點的預測QP值,
    offset2表示所述第二QP偏移量,
    maxQP表示所述QP最大值,
    min表示取最小值。
  15. 如請求項4或5所述的方法,其中,所述像素點周圍 的已重建像素點包括滿足下述條件的像素點:
    以所述像素點為中心,邊長為第一預設值的正方形區域中的像素點;或者,
    以所述像素點為中心,對角線長度為第二預設值的菱形區域中的像素點。
  16. 如請求項4或5所述的方法,其中,所述已重建像素點的資訊包括所述已重建像素點的下述至少一種資訊:像素值、重建殘差值、梯度值、平坦度資訊或紋理度資訊或複雜度資訊、背景亮度、對比度或運動程度。
  17. 如請求項16所述的方法,其中,所述已重建像素點的資訊的值包括下述至少一個種:原始值、絕對值、均值或差值。
  18. 如請求項4或5所述的方法,其中,所述獲取所述像素點周圍的已重建像素點的資訊,包括:
    獲取所述像素點的預測像素點的資訊;
    若所述預測像素點為所述當前編碼塊中的已重建像素點,則將所述預測像素點的資訊作為所述像素點周圍的已重建像素點的資訊;
    否則,將所述預測像素點的資訊與所述預測像素點周圍的已重建像素點的資訊的差值或差值的絕對值,作為所述像素點周圍的已重建像素點的資訊。
  19. 如請求項2所述的方法,其中,所述當前編碼塊的預測模式為塊預測模式,所述方法還包括:
    獲取所述當前編碼塊的區域劃分資訊,所述區域劃分資訊包括區域數量N以及區域分界線的位置資訊,N為大於或等於2的整數;
    根據所述區域劃分資訊,將所述當前編碼塊劃分為N個區域。
  20. 如請求項19所述的方法,其中,
    所述N個區域中的至少一個區域的像素點的QP值依據至少一個其他區域的已重建像素點的資訊進行確定,
    所述其他區域為所述N個區域中除所述至少一個區域之外的區域, 或者為所述當前編碼塊之外的區域。
  21. 如請求項20所述的方法,其中,
    所述區域數量N為2,所述當前編碼塊包括第一區域和第二區域,
    所述第一區域中的像素點包括下述至少之一:
    所述當前編碼塊的任意位置的水平條帶中的像素點、
    任意位置的分隔號帶中的像素點、或
    任意位置的斜向條帶中的像素點,
    所述條帶的寬度不超過2,並且在所述條帶位於所述當前編碼塊的邊界的情況下,所述條帶的寬度等於1,
    所述第二區域中的像素點為所述當前編碼塊中除所述第一區域之外的像素點;
    所述確定所述像素點的QP值,包括:
    所述像素點為所述第一區域中的任意一個像素點時,調整所述像素點的預測QP值,將調整後的預測QP值作為所述像素點的QP值;
    所述像素點為所述第二區域中的任意一個像素點時,將所述像素點的預測QP值作為所述像素點的QP值。
  22. 如請求項21所述的方法,其中,所述調整所述像素點的預測QP值,包括:
    獲取所述像素點周圍的已重建像素點的資訊;
    根據所述像素點周圍的已重建像素點的資訊,調整所述像素點的預測QP值。
  23. 如請求項19所述的方法,其中,所述獲取所述當前編碼塊的區域劃分資訊,包括:
    獲取預定義的所述當前編碼塊的區域劃分資訊;或者,
    解析碼流,獲取所述當前編碼塊的區域劃分資訊。
  24. 如請求項19所述的方法,其中,對所述當前編碼塊做變換的情況下,所述獲取所述當前編碼塊的區域劃分資訊,包括:
    根據所述當前編碼塊的上側相鄰行的像素點和/或左側相鄰列像素 點確定所述當前編碼塊的區域劃分資訊;所述當前編碼塊的區域劃分方式包括下述至少一種:水平劃分、垂直劃分或斜向劃分。
  25. 如請求項24所述的方法,其中,針對所述N個區域中的任意一個區域中的任意一個像素點或任意多個並行反量化像素點,確定所述像素點的QP值,包括:
    獲取所述像素點的QP偏移量;
    根據所述QP偏移量調整所述像素點的預測QP值,將調整後的預測QP值作為所述像素點的QP值。
  26. 如請求項25所述的方法,其中,所述獲取所述像素點的QP偏移量,包括:
    解析碼流,以獲取所述像素點的偏移量;或者,
    根據推導資訊,確定所述像素點的QP偏移量,所述推導資訊包括所述像素點所在區域的索引資訊和/或所述像素點到所述像素點所在區域的區域分界線的距離,所述距離包括下述任一種:水平距離、垂直距離或歐式距離。
  27. 如請求項26所述的方法,其中,所述像素點的QP偏移量為下述任一種:
    第三QP偏移量,所述第三QP偏移量根據所述像素點所在區域的索引資訊推導獲得,同一個區域內的像素點的第三QP偏移量相同,不同區域內的像素點的第三QP偏移量不同;
    第四QP偏移量,所述第四QP偏移量根據所述像素點到所述像素點所在區域的區域分界線的距離推導獲得;
    所述第三QP偏移量與所述第四QP偏移量之和。
  28. 如請求項1所述的方法,其中,所述根據所述像素點的QP值,對所述像素點進行反量化,包括:
    根據所述像素點的QP值,確定所述像素點的量化步長;
    針對所選擇的量化器組合,採用所述像素點的量化步長對所述像素點的水平值進行反量化,其中,所述量化器組合包括一個或多個量化器, 所述量化器為均勻量化器或非均勻量化器,所述像素點的水平值通過解析碼流獲得。
  29. 一種圖像編碼方法,由編碼端執行,其特徵在於,所述方法包括:
    針對任意當前編碼塊中的任意一個像素點或任意多個並行量化的像素點,確定所述像素點的量化參數QP值,其中,所述當前編碼塊的像素點中至少存在兩個像素點的QP值不同;
    根據所述像素點的QP值,對所述像素點進行量化。
  30. 一種圖像解碼裝置,其特徵在於,所述解碼裝置包括量化參數QP確定單元和反量化單元,用於實現請求項1至28中任一項所述的方法。
  31. 一種圖像編碼裝置,其特徵在於,所述編碼裝置包括量化參數QP確定單元和量化單元,用於實現請求項29所述的方法。
  32. 一種視頻譯碼系統,其特徵在於,包括編碼端和解碼端,所述編碼端與所述解碼端通信連接,所述解碼端用於實現請求項1至28中任一項所述的方法,所述編碼端用於實現請求項29所述的方法。
  33. 一種電子設備,其特徵在於,包括處理器和記憶體,所述記憶體用於存儲電腦指令,所述處理器用於從記憶體中調用並運行所述電腦指令,實現請求項1至29中任一項所述的方法。
  34. 一種電腦可讀存儲介質,其特徵在於,所述存儲介質中存儲有電腦程式或指令,當所述電腦程式或指令被電子設備執行時,實現請求項1至29中任一項所述的方法。
TW112102375A 2022-01-19 2023-01-18 圖像解碼方法、圖像編碼方法及相應的裝置 TW202341739A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210062756.3A CN116074530A (zh) 2022-01-19 2022-01-19 一种图像解码方法、编码方法及装置
CN202210062756.3 2022-01-19

Publications (1)

Publication Number Publication Date
TW202341739A true TW202341739A (zh) 2023-10-16

Family

ID=86173707

Family Applications (1)

Application Number Title Priority Date Filing Date
TW112102375A TW202341739A (zh) 2022-01-19 2023-01-18 圖像解碼方法、圖像編碼方法及相應的裝置

Country Status (3)

Country Link
CN (3) CN116074530A (zh)
TW (1) TW202341739A (zh)
WO (1) WO2023138562A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6149707B2 (ja) * 2013-11-25 2017-06-21 富士通株式会社 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、及び動画像撮影装置
WO2018058454A1 (zh) * 2016-09-29 2018-04-05 深圳市大疆创新科技有限公司 图像处理方法、设备、系统和存储介质
CN112235568B (zh) * 2019-07-15 2024-03-26 华为技术有限公司 图像编码方法、解码方法、装置和存储介质
CN113497937B (zh) * 2020-03-20 2023-09-05 Oppo广东移动通信有限公司 图像编码方法、图像解码方法及相关装置

Also Published As

Publication number Publication date
CN116684621A (zh) 2023-09-01
CN116668705A (zh) 2023-08-29
WO2023138562A1 (zh) 2023-07-27
CN116074530A (zh) 2023-05-05

Similar Documents

Publication Publication Date Title
TWI826519B (zh) 用於係數寫碼之規則寫碼位元子之減少
TWI761332B (zh) 從用於視訊寫碼之固定濾波器預測濾波器係數
JP6518701B2 (ja) ディスプレイストリーム圧縮(dsc)のためのエントロピーコーディング技法
TWI682661B (zh) 在計算設備中實現的方法
JP6710755B2 (ja) 非4:4:4クロマサブサンプリングのディスプレイストリーム圧縮(dsc)のためのエントロピーコーディング技法
WO2020220884A1 (zh) 视频序列的帧内预测方法及装置
TWI827662B (zh) 用於係數寫碼之規則寫碼位元子之減少
JP2018531556A6 (ja) 非4:4:4クロマサブサンプリングのディスプレイストリーム圧縮(dsc)のためのエントロピーコーディング技法
WO2023040600A1 (zh) 图像编码方法、图像解码方法、装置、电子设备及介质
WO2021185257A1 (zh) 图像编码方法、图像解码方法及相关装置
TW202029774A (zh) 藉由轉換域濾波之量化假影抑制及信號恢復
TW202032993A (zh) 用於係數位準之逃逸寫碼
WO2018203202A1 (en) Quantization partitioning for enhanced image compression
WO2024022367A1 (zh) 图像解码方法、编码方法及装置
WO2024022039A1 (zh) 一种视频图像解码方法、编码方法、装置及存储介质
WO2024022359A1 (zh) 一种图像编解码方法及装置
WO2023138562A1 (zh) 图像解码方法、图像编码方法及相应的装置
TWI829424B (zh) 解碼方法、編碼方法及裝置
CN115550666A (zh) 用于视频数据的编码方法、解码方法、计算设备和介质
TW202141979A (zh) 用於針對具有基於聯合圖元/變換的量化的視訊解碼的量化參數控制的方法
TWI821013B (zh) 視頻編解碼方法及裝置
WO2022257142A1 (zh) 一种视频解码、编码方法及设备、存储介质
WO2022037478A1 (zh) 视频解码方法、视频编码方法、装置、介质及电子设备
TW202333496A (zh) 用於視訊譯碼的上下文自我調整二進位算術譯碼(cabac)概率估計
CN117397237A (zh) 变换系数符号预测和编解码的系统和方法