TW202327356A - 圖像解碼方法及裝置、圖像編碼方法及裝置 - Google Patents

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

Info

Publication number
TW202327356A
TW202327356A TW111143285A TW111143285A TW202327356A TW 202327356 A TW202327356 A TW 202327356A TW 111143285 A TW111143285 A TW 111143285A TW 111143285 A TW111143285 A TW 111143285A TW 202327356 A TW202327356 A TW 202327356A
Authority
TW
Taiwan
Prior art keywords
prediction
unit
group
coding unit
residual block
Prior art date
Application number
TW111143285A
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 TW202327356A publication Critical patent/TW202327356A/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/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/103Selection of coding mode or of prediction mode
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/134Methods 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

本發明公開了圖像解碼方法及裝置、圖像編碼方法及裝置,涉及視頻編解碼技術領域,解決了圖像編解碼(或視頻編解碼)過程中預測效率低的問題。圖像解碼方法包括:解析碼流,以得到語法元素,其中,該語法元素用於獲得待解碼單元的殘差塊,該待解碼單元包括至少一個預測組;確定該至少一個預測組中的任意一個預測組的預測模式;基於該預測模式對該任意一個預測組進行預測,得到該任意一個預測組的預測值;基於該待解碼單元的殘差塊和該至少一個預測組的預測值,解碼該待解碼單元。

Description

圖像解碼方法及裝置、圖像編碼方法及裝置
本發明涉及視頻編解碼技術領域,尤其涉及圖像解碼方法及裝置、圖像編碼方法及裝置、圖像解碼系統、電子設備及電腦可讀存儲介質。
視頻中完整的圖像通常被稱為“幀”,由許多幀按照時間順序組成的視頻被稱為視頻序列(video sequence)。視頻序列存在空間冗餘、時間冗餘、視覺冗餘、資訊熵冗餘、結構冗餘、知識冗餘、重要性冗餘等一系列的冗餘資訊。為了盡可能的去除視頻序列中的冗餘資訊,減少表徵視頻的資料量,提出了視頻編碼(video coding)技術,以達到減小存儲空間和節省傳輸頻寬的效果。視頻編碼技術也稱為視頻壓縮技術。
隨著技術的不斷發展,採集視頻資料越來越便捷,所採集的視頻資料的規模也越來越大,因此,如何有效地對視頻資料進行編解碼,成為迫切需要解決的問題。
本發明提供一種圖像解碼方法及裝置、圖像編碼方法及裝置、圖像解碼系統、電子設備及電腦可讀存儲介質,解決了圖像編解碼(或視頻編解碼)過程中預測效率低的問題。
第一方面,本發明提供一種圖像解碼方法,包括:解析碼流,以得到語法元素,其中,語法元素用於獲得待解碼單元的殘差塊,待解碼單元包括至少一個預測組;確定該至少一個預測組中的任意一個預測組的 預測模式;基於預測模式對該任意一個預測組進行預測,得到該任意一個預測組的預測值;基於待解碼單元的殘差塊和該至少一個預測組的預測值,解碼待解碼單元。
這樣,相比直接針對編碼單元本身執行預測的技術方案,有助於實現針對編碼單元的靈活預測,例如,通過合理設置劃分模式,有助於實現針對多個預測組並存執行預測,以及為不同的預測組設置不同的預測模式等,從而提高預測效率,進而提高編碼效率。
在一種可能的實現方式中,該任意一個預測組包括:待解碼單元中的一行像素;或者,待解碼單元中的一列像素,或連續多列像素,或連續多個奇數列像素,或連續多個偶數列像素。
在一種可能的實現方式中,該至少一個預測組包括:按照垂直等分方式將待解碼單元劃分成的多個預測組;或者,按照水平等分方式將待解碼單元劃分成的多個預測組;或者,按照預設比例沿垂直方向將待解碼單元劃分成的多個預測組;或者,按照預設比例沿水平方向將待解碼單元劃分成的多個預測組。
在一種可能的實現方式中,該至少一個預測組包括多個預測組;該多個預測組中的至少兩個預測組的預測模式不同。
在一種可能的實現方式中,該任意一個預測組的預測模式包括水平預測、垂直預測、水平均值預測和垂直均值預測中的至少一種。或者,該任意一個預測組的預測模式包括採用與待解碼單元的相鄰解碼單元,或與待解碼單元所在的獨立解碼單元相鄰的獨立解碼單元的像素值進行參考預測。
在一種可能的實現方式中,該任意一個預測組為色度預測組或亮度預測組。
在一種可能的實現方式中,語法元素還包括待解碼單元的劃分模式的標識資訊,劃分模式是待解碼單元被劃分為該至少一個預測組時所使用的劃分方式。
在一種可能的實現方式中,語法元素還包括該任意一個預測組的預測模式。
在一種可能的實現方式中,語法元素具體用於獲得殘差塊所劃分的至少一個殘差小塊,以獲得殘差塊。
在一種可能的實現方式中,語法元素還包括殘差塊的分組方式的索引資訊,不同的索引資訊用於指示不同的分組方式。
在一種可能的實現方式中,語法元素還包括第一指標,第一指標用於指示對殘差塊進行分組或不進行分組。
在一種可能的實現方式中,殘差塊包括亮度殘差塊或色度殘差塊。
在一種可能的實現方式中,語法元素具體包括殘差塊經變換、量化和係數編碼後得到的第一資訊;該方法還包括:對第一資訊進行係數解碼、反量化、反變換後,得到殘差塊。
在一種可能的實現方式中,語法元素具體包括殘差塊的任意一個殘差小塊經變換、量化和係數編碼後得到的第二資訊;該方法還包括:對第二資訊進行係數解碼、反量化、反變換後,得到該任意一個殘差小塊。
在一種可能的實現方式中,殘差塊是待解碼單元細微性的殘差塊,或者是預測塊細微性的殘差塊。
在一種可能的實現方式中,待解碼單元的寬的尺寸大於高的尺寸,且高的尺寸小於等於預設閾值。
第二方面,本發明提供一種圖像編碼方法,該方法包括:將編碼單元劃分為至少一個預測組;對於該至少一個預測組中的任意一個預測組,按照所對應的預測模式,對該任意一個預測組進行預測,得到該任意一個預測組的預測值;基於該至少一個預測組的預測值,得到編碼單元的殘差塊;對編碼單元的殘差塊進行編碼。
這樣,相比直接針對待解碼單元本身執行預測的技術方案,有助於實現針對待解碼單元的靈活預測,例如,通過合理設置劃分模式,有助於實現針對多個預測組並存執行預測,以及為不同的預測組設置不同的預測模式等,從而提高預測效率,進而提高解碼效率。
第三方面,本發明提供一種圖像解碼裝置,該解碼裝置可以是視頻解碼器或包含視頻解碼器的設備。該解碼裝置包括用於實現第一方 面中任一種可能實現方式中方法的各個模組。如熵解碼單元、預測處理單元和解碼單元。
有益效果可以參見第一方面中任一方面的描述,此處不再贅述。所述解碼裝置具有實現上述第一方面的方法實例中行為的功能。所述功能可以通過硬體實現,也可以通過硬體執行相應的軟體實現。所述硬體或軟體包括一個或多個與上述功能相對應的模組。
第四方面,本發明提供一種圖像編碼裝置,該編碼裝置可以是視頻編碼器或包含視頻編碼器的設備。該編碼裝置包括用於實現第二方面中任一種可能實現方式中的方法的各個模組。如所述編碼裝置包括:劃分單元、預測處理單元、殘差計算單元和編碼單元。
有益效果可以參見第二方面中任一種的描述,此處不再贅述。所述編碼裝置具有實現上述第二方面中任一種的方法實例中行為的功能。所述功能可以通過硬體實現,也可以通過硬體執行相應的軟體實現。所述硬體或軟體包括一個或多個與上述功能相對應的模組。
第五方面,本發明提供一種電子設備,包括處理器和記憶體,所述記憶體用於存儲電腦指令,所述處理器用於從記憶體中調用並運行所述電腦指令,以實現第一方面至第二方面中任一種實現方式的方法。
例如,該電子設備可以是指視頻編碼器,或包括視頻編碼器的設備。
又如,該電子設備可以是指視頻解碼器,或包括視頻解碼器的設備。
第六方面,本發明提供一種電腦可讀存儲介質,存儲介質中存儲有電腦程式或指令,當電腦程式或指令被計算設備或計算設備所在的存儲系統執行時,以實現第一方面至第二方面中任一種實現方式的方法。
第七方面,本發明提供一種電腦程式產品,該計算程式產品包括指令,當電腦程式產品在計算設備或處理器上運行時,使得計算設備或處理器執行該指令,以實現第一方面至第二方面中任一種實現方式的方法。
第八方面,本發明提供一種圖像解碼系統,該圖像解碼系統 包括編碼端和解碼端,解碼端用於實現第一方面中任一種實現方式的方法,編碼端用於實現第二方面中任一種實現方式的方法。
本發明在上述各方面提供的實現方式的基礎上,還可以進行進一步組合以提供更多實現方式。
10:編解碼系統
11:源設備
111:圖像前置處理器
112,20:編碼器
113,121,3220:通信介面
12:目的設備
122,30:解碼器
123:圖像後處理器
201,304,3002,3102:預測處理單元
202,3103:殘差計算單元
203:變換處理單元
204:量化單元
205:熵編碼單元
206,302:反量化單元
207,303:反變換處理單元
208,305:重構單元
209,306:濾波器單元
300:解碼裝置
3003:解碼單元
301,3001:熵解碼單元
3100:編碼裝置
3101:劃分單元
3104:編碼單元
3200:電子設備
3210:處理器
3230:記憶體
3240:匯流排
5,S101,S102,S103,S104,S201,S202,S203,S204:步驟
A,A’,B,B’,C,C’,D,D’,E,F,G,H:劃分模式
Cb,Cr:色度
Group0,Group1,Group2,Group3,Group4:預測組
Y:亮度
圖1為本發明實施例所應用的編解碼系統的架構示意圖;
圖2為用於實現本發明實施例的編碼器的實例的示意性框圖;
圖3為用於實現本發明實施例的解碼器的實例的示意性框圖;
圖4為本發明實施例提供的多種預測方式的示意圖;
圖5為本發明實施例提供的一種圖像編碼方法的流程示意圖;
圖6為本發明實施例提供的一種圖像、並行編碼單元、獨立編碼單元、編碼單元、預測組(PredictionGroup,PG)和殘差小塊(Residual Block,RB)之間的對應關係的示意圖;
圖7為本發明實施例提供的一種圖像解碼方法的流程示意圖;
圖8-圖15為本發明實施例提供的16*4的編碼單元的劃分模式及預測模式的示意圖;
圖16-圖19為本發明實施例提供的8*2的編碼單元的劃分模式及預測模式的示意圖;
圖20-圖23為本發明實施例提供的16*2的編碼單元的劃分模式及預測模式的示意圖;
圖24-圖25為本發明實施例提供的8*1的編碼單元的劃分模式及預測模式的示意圖;
圖26-圖28為本發明實施例提供的另外幾種劃分模式的示意圖;
圖29-圖31為本發明實施例提供的預測組的多種殘差塊分組的示意圖;
圖32為本發明實施例提供的一種殘差塊與殘差子塊之間的對應關係的示意圖;
圖33為本發明實施例提供的一種解碼裝置的結構示意圖;
圖34為本發明實施例提供的一種編碼裝置的結構示意圖;
圖35為本發明實施例提供的一種電子設備的結構示意圖。
本發明實施例中的術語“至少一個(種)”包括一個(種)或多個(種)。“多個(種)”是指兩個(種)或兩個(種)以上。例如,A、B和C中的至少一種,包括:單獨存在A、單獨存在B、同時存在A和B、同時存在A和C、同時存在B和C,以及同時存在A、B和C。在本發明的描述中,除非另有說明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”僅僅是一種描述關聯物件的關聯關係,表示可以存在三種關係,例如,A和/或B,可以表示:單獨存在A,同時存在A和B,單獨存在B這三種情況。“多個”是指兩個或多於兩個。另外,為了便於清楚描述本發明實施例的技術方案,在本發明的實施例中,採用了“第一”、“第二”等字樣對功能和作用基本相同的相同項或相似項進行區分。本領域技術人員可以理解“第一”、“第二”等字樣並不對數量和執行次序進行限定,並且“第一”、“第二”等字樣也並不限定一定不同。
下面描述本發明實施例所應用的系統架構。
參見圖1,給出了本發明實施例所應用的編解碼系統10的架構示意圖。如圖1所示,編解碼系統10可以包括源設備11和目的設備12,源設備11用於對圖像進行編碼,因此,源設備11可被稱為圖像編碼裝置或視頻編碼裝置。目的設備12用於對由源設備11所產生的經編碼的圖像資料進行解碼,因此,目的設備12可被稱為圖像解碼裝置或視頻解碼裝置。
源設備11和目的設備12可以包括各種裝置,包含桌上型電腦、移動計算裝置、筆記型(例如,膝上型)電腦、平板電腦、機上盒、例如所謂的“智慧”電話等電話手持機、電視機、相機、顯示裝置、數位媒體播放機、視頻遊戲控制台、車載電腦或其類似者。
可選地,圖1中的源設備11和目的設備12可以是兩個單獨的設備,或者,源設備11和目的設備12為同一設備,即源設備11或對應的功能以及目的設備12或對應的功能可以集成在同一個設備上。
源設備11和目的設備12之間可以進行通信,例如,目的設備12可從源設備11接收經編碼圖像資料。在一個實例中,源設備11和目 的設備12之間可以包括一個或多個通信媒體,通過一個或多個通信媒體傳輸經編碼圖像資料,該一個或多個通信媒體可包含路由器、交換器、基地台或促進從源設備11到目的設備12的通信的其它設備。
如圖1所示,源設備11包括編碼器112,可選地,源設備11還可以包括圖像前置處理器111以及通信介面113。其中,圖像前置處理器111,用於對接收到的待編碼圖像執行預處理,例如,圖像前置處理器111執行的預處理可以包括整修、色彩格式轉換(例如,從RGB格式轉換為YUV格式)、調色或去噪等。編碼器112,用於接收經預處理的圖像,採用相關預測模式(如本文各個實施例中的預測模式)對經預處理的圖像進行處理,從而提供經編碼圖像資料。在一些實施例中,編碼器112可以用於執行下文中所描述的各個實施例中的編碼過程。通信介面113,可用於將經編碼圖像資料傳輸至目的設備12或任何其它設備(如記憶體),以用於存儲或直接重構,其它設備可為任何用於解碼或存儲的設備。通信介面113也可以將經編碼圖像資料封裝成合適的格式之後再傳輸。
可選地,上述圖像前置處理器111、編碼器112以及通信介面113可能是源設備11中的硬體部件,也可能是源設備11中的軟體程式,本發明實施例不做限定。
繼續如圖1所示,目的設備12包括解碼器122,可選地,目的設備12還可以包括通信介面121、圖像後處理器123。其中,通信介面121可用於從源設備11或任何其它源設備接收經編碼圖像資料,該任何其它源設備例如為存放裝置。通信介面121還可以解封裝通信介面113所傳輸的資料以獲取經編碼圖像資料。解碼器122,用於接收經編碼圖像資料並輸出經解碼圖像資料(也稱為經重構圖像資料或已重構圖像資料)。在一些實施例中,解碼器122可以用於執行下文中所描述的各個實施例所述的解碼過程。
圖像後處理器123,用於對經解碼圖像資料執行後處理,以獲得經後處理像資料。圖像後處理器123執行的後處理可以包括:色彩格式轉換(例如,從YUV格式轉換為RGB格式)、調色、整修或重採樣,或任何其它處理,還可用於將經後處理圖像資料傳輸至顯示裝置進行顯示。
同理,可選地,上述通信介面121、解碼器122以及圖像後處理器123可能是目的設備12中的硬體部件,也可能是目的設備12中的軟體程式,本發明實施例不做限定。
下面對圖1中的編碼器和解碼器的結構進行簡單介紹。
參見圖2,圖2示出用於實現本發明實施例的編碼器20的實例的示意性框圖。在圖2中,編碼器包括預測處理單元201、殘差計算單元202、變換處理單元203、量化單元204、熵編碼單元205、反量化單元(也可以稱為逆量化單元)206、反變換處理單元(也可以稱為逆變換處理單元207)、重構單元(或者稱為重建單元)208以及濾波器單元209。可選地,編碼器20還可以包括緩衝器、經解碼圖像緩衝器,其中,緩衝器用於緩存重構單元208輸出的重構圖像塊,經解碼圖像緩衝器用於緩存濾波器單元209輸出的濾波後的圖像塊。
編碼器20的輸入為圖像(可以稱為待編碼圖像)的圖像塊,圖像塊也可以稱為當前圖像塊或待編碼圖像塊,在本發明的一個實施例中,待編碼圖像塊可以是編碼單元。編碼器20中還可以包括分割單元(圖2中未示出),該分割單元用於將待編碼圖像分割成多個圖像塊。編碼器20用於逐塊編碼從而完成對待編碼圖像的編碼,例如,對每個圖像塊執行編碼過程。
預測處理單元201,用於接收或獲取圖像塊(當前待編碼圖像的當前待編碼圖像塊,也可以稱為當前圖像塊,該圖像塊可以理解為圖像塊的真實值)和已重構圖像資料,基於已重構圖像資料中的相關資料對當前圖像塊進行預測,得到當前圖像塊的預測塊。可選地,預測處理單元201可以包含幀間預測單元、幀內預測單元和模式選擇單元,模式選擇單元用於選擇幀內預測模式或者幀間預測模式,若選擇幀內預測模式,則由幀內預測單元執行預測過程,若選擇幀間預測模式,則由幀間預測單元執行預測過程。
殘差計算單元202用於計算圖像塊的真實值和該圖像塊的預測塊之間的殘差值,得到殘差塊,例如,通過逐像素將圖像塊的像素值減去預測塊的像素值。
變換處理單元203用於對殘差塊進行例如離散餘弦變換(Discrete Cosine Transform,DCT)或離散正弦變換(Discrete Sine Transform,DST)的變換,以在變換域中獲取變換係數,變換係數也可以稱為變換殘差係數,該變換殘差係數可以在變換域中表示殘差塊。
量化單元204用於通過應用標量量化或向量量化來量化變換係數,以獲取經量化變換係數,經量化變換係數也可以稱為經量化殘差係數。量化過程可以減少與部分或全部變換係數有關的位元深度。例如,可在量化期間將n位變換係數向下舍入到m位變換係數,其中n大於m。可通過調整量化參數(Quantization Parameter,QP)修改量化程度。例如,對於標量量化,可以應用不同的標度來實現較細或較粗的量化。較小量化步長對應較細量化,而較大量化步長對應較粗量化。可以通過量化參數(QP)指示合適的量化步長。
熵編碼單元205用於對上述經量化殘差係數進行熵編碼,以經編碼位元流的形式輸出的經編碼圖像資料(即當前待編碼圖像塊的編碼結果),然後可以將經編碼位元流傳輸到解碼器,或將其存儲起來,後續傳輸至解碼器或用於檢索。熵編碼單元205還可用於對當前圖像塊的其它語法元素進行熵編碼,例如將預測模式熵編碼至碼流等。熵編碼演算法包括但不限於可變長度編碼(Variable Length Coding,VLC)演算法、適應性VLC(Context Adaptive VLC,CAVLC)演算法、算術編碼演算法、前文參考之可適性算術編碼(Context Adaptive Binary Arithmetic Coding,CABAC)演算法、基於語法的上下文自我調整二進位算術編碼(Syntax-Based Context-Adaptive Binary Arithmetic Coding,SBAC)演算法、概率區間分割熵(Probability Interval Partitioning Entropy,PIPE)演算法。
反量化單元206用於對上述經量化係數進行反量化,以獲取經反量化係數,該反量化是上述量化單元204的反向應用,例如,基於或使用與量化單元204相同的量化步長,應用量化單元204應用的量化方案的逆量化方案。經反量化係數也可以稱為經反量化殘差係數。
反變換處理單元207用於對上述反量化係數進行反變換,應理解,該反變換是上述變換處理單元203的反向應用,例如,反變換可以 包括逆離散餘弦變換(DCT)或逆離散正弦變換(DST),以在像素域(或者稱為樣本域)中獲取逆變換塊。逆變換塊也可以稱為逆變換經反量化塊或逆變換殘差塊。
重構單元208用於將逆變換塊(即逆變換殘差塊)添加至預測塊,以在樣本域中獲取經重構塊,重構單元208可以為求和器,例如,將殘差塊的樣本值(即像素值)與預測塊的樣本值相加。該重構單元208輸出的重構塊可以後續用於預測其他圖像塊,例如,在幀內預測模式下使用。
濾波器單元209(或簡稱“濾波器”)用於對經重構塊進行濾波以獲取經濾波塊,從而順利進行像素轉變或提高圖像品質。濾波器單元可以為環路濾波器單元,旨在表示一個或多個環路濾波器,例如去塊濾波器、樣本自我調整偏移(Sample-Adaptive Offset,SAO)濾波器或其它濾波器,例如雙邊濾波器、自我調整環路濾波器(Adaptive Loop Filter,ALF),或銳化或平滑濾波器,或協同濾波器。可選地,該濾波器單元209輸出的經濾波塊可以後續用於預測其他圖像塊,例如,在幀間預測模式下使用。
具體的,在本發明實施例中,編碼器20用於實現後文實施例中描述的編碼方法。
參見圖3,圖3示出用於實現本發明實施例的解碼器30的實例的示意性框圖。解碼器30用於接收例如由編碼器20編碼的經編碼圖像資料(即經編碼位元流,例如,包括圖像塊的經編碼位元流及相關聯的語法元素),以獲取經解碼圖像。解碼器30包括熵解碼單元301、反量化單元302、反變換處理單元303、預測處理單元304、重構單元305、濾波器單元306。在一些實例中,解碼器30可執行大體上與圖2的編碼器20描述的編碼遍次互逆的解碼遍次。可選地,解碼器30還可以包括緩衝器、經解碼圖像緩衝器,其中,緩衝器用於緩存重構單元305輸出的重構圖像塊,經解碼圖像緩衝器用於緩存濾波器單元306輸出的濾波後的圖像塊。
熵解碼單元301用於對經編碼圖像資料執行熵解碼,以獲取經量化係數和/或經解碼的編碼參數(例如,解碼參數可以包括幀間預測參數、幀內預測參數、濾波器參數和/或其它語法元素中的任意一個或全部)。 熵解碼單元301還用於將上述經解碼的編碼參數轉發至預測處理單元304,以供預測處理單元根據編碼參數執行預測過程。
反量化單元302的功能可與編碼器20的反量化單元206的功能相同,用於反量化(即,逆量化)在由熵解碼單元301解碼的經量化係數。
反變換處理單元303的功能可與編碼器20的反變換處理單元207的功能相同,重構單元305(例如求和器)的功能可與編碼器20的重構單元208的功能相同,用於對上述經量化係數進行逆變換(例如,逆DCT、逆整數變換或概念上類似的逆變換過程),得到逆變換塊(也可以稱為逆變換殘差塊),該逆變換塊即為當前圖像塊在像素域中的殘差塊。
預測處理單元304,用於接收或獲取經編碼圖像資料(例如當前圖像塊的經編碼位元流)和已重構圖像資料,預測處理單元304還可以從例如熵解碼單元301接收或獲取預測相關參數和/或關於所選擇的預測模式的資訊(即經解碼的編碼參數),並且基於已重構圖像資料中的相關資料和經解碼的編碼參數對當前圖像塊進行預測,得到當前圖像塊的預測塊。可選地,預測處理單元304可以包含幀間預測單元、幀內預測單元和模式選擇單元,模式選擇單元用於選擇幀內預測模式或者幀間預測模式,若選擇幀內預測模式,則由幀內預測單元執行預測過程,若選擇幀間預測模式,則由幀間預測單元執行預測過程。
重構單元305用於將逆變換塊(即逆變換殘差塊)添加到預測塊,以在樣本域中獲取經重構塊,例如將逆變換殘差塊的樣本值與預測塊的樣本值相加。
濾波器單元306用於對經重構塊進行濾波以獲取經濾波塊,該經濾波塊即為經解碼圖像塊。
具體的,在本發明實施例中,解碼器30用於實現後文實施例中描述的解碼方法。
應當理解的是,在本發明實施例的編碼器20和解碼器30中,針對某個環節的處理結果也可以經過進一步處理後,輸出到下一個環節,例如,在插值濾波、運動向量推導或濾波等環節之後,對相應環節的處理 結果進一步進行Clip或移位shift等操作。
下面,對本發明實施例涉及的技術術語進行介紹。
劃分模式:在本發明實施例中,劃分模式是將當前圖像塊(如待編碼單元/待解碼單元)劃分為預測組(即預測塊)時所採用的劃分方式。
預測模式:預測當前圖像塊(如待編碼單元/待解碼單元)所採用的預測方式的組合稱為預測模式。其中,預測當前圖像塊中的不同像素可以採用不同的預測方式,也可以採用相同的預測方式,預測當前圖像塊中的所有像素所採用的預測方式可以共同稱為該當前圖像塊的(或對應的)預測模式。
示例性的,預測模式包括幀內預測模式和幀間預測模式。幀內預測模式包括垂直預測、水平預測、垂直均值預測和水平均值預測等預測方式中的一種或多種的組合。幀間預測模式包括運動估計等。
示例的,垂直預測為用當前像素上側(即可以是相鄰的上側,也可以是非相鄰但距離較近的上側)像素值來獲得當前像素值的預測值。一種示例為:將上側相鄰的重建像素值作為當前像素的預測值。
示例的,水平預測為用當前像素左側(即可以是相鄰的左側,也可以是非相鄰但距離較近的左側)像素值來獲得當前像素值的預測值。一種示例為:將左側相鄰的重建像素值作為當前像素的預測值。
示例的,垂直均值預測為用當前像素上下方的像素值來獲得當前像素值的預測值。一種示例為:當前像素值的預測值為垂直上方的相鄰像素值和垂直下方的相鄰像素值的均值。
示例的,水平均值預測為用當前像素左右兩側的像素值來獲得當前像素值的預測值。一種示例為:當前像素值的預測值為水平左側的相鄰像素值和水平右側的相鄰像素值的均值。
如圖4所示,為本發明實施例提供的多種預測方式的示意圖。圖4中的一個小方格表示一個像素。包含不同標記的像素用於表示不同的預測方式,具體示意出了垂直預測、水平預測、垂直均值預測和水平均值預測。圖4所示的各種預測方式的示意圖可用於解釋本發明所涉及的任意一個相關圖式,例如圖8等。
以下,結合圖式,對本發明實施例提供的視頻編解碼方法進行說明。
如圖5所示,為本發明實施例提供的一種圖像編碼方法的流程示意圖。該方法可以由編碼端執行。示例的,該編碼端可以是圖1或圖2中的編碼器,也可以是圖1中的源設備。圖5所示的方法包括如下步驟S101至S104。
步驟S101:將編碼單元劃分為至少一個預測組(PredictionGroup,也可簡稱為Group或PG),一個預測組包括至少一個像素。
在一個示例中,編碼單元的寬的尺寸大於高的尺寸,且高的尺寸小於等於預設閾值。
在一個示例中,預設閾值為4或8等。
在步驟S101中,編碼單元可被劃分為一個預測組或多個互不重疊的預測組。其中,編碼單元被劃分為一個預測組,即將編碼單元作為預測組,可以理解為,不對該編碼單元進行劃分,也可以理解為,一種特殊的劃分方式。如果將編碼單元劃分為一個預測組,則在一個示例中,編碼端可以不執行步驟S101。
在一種實現方式中,至少一個預測組中的一個預測組包括:編碼單元中的一行像素;或者,編碼單元中的一列像素,或連續多列像素,或連續多個奇數列像素,或連續多個偶數列像素。具體示例可以參考圖8-圖15或圖20-圖23。
在另一種實現方式中,至少一個預測組包括:按照垂直等分方式將編碼單元劃分成的多個預測組;或者,按照水平等分方式將編碼單元劃分成的多個預測組;或者,按照預設比例沿垂直方向將編碼單元劃分成的多個預測組;或者,按照預設比例沿水平方向將編碼單元劃分成的多個預測組。具體示例可以參考圖26-圖28。
可以理解的是,編碼單元劃分為至少一個預測組時可以採用多種劃分模式,具體採用哪一種劃分模式,可以是編碼端基於預定義規則(如依據標準預定義的規則)確定的,或者是結合編碼單元的內容(如紋 理等資訊)確定的,或者是基於率失真代價等方式確定的,本發明實施例對此不進行限定。對於解碼端來說,可以基於相同的方法確定出編碼端實際採用哪一種劃分模式。當然,如果編碼端採用上述後兩種方式(當然還可以除預定義之外的其他方式)確定具體採用哪一種劃分模式,則編碼端也可以將編碼單元的劃分模式(即實際採用的劃分模式)的標識資訊作為語法元素的一部分,發送給解碼端,可以通過解碼得到的語法元素中的劃分模式的標識確定編碼單元對應的待解碼單元的劃分模式。
步驟S102:對於該至少一個預測組中的任意一個預測組來說,按照所對應的預測模式,對該預測組(即預測組的像素值的原始值)進行預測,得到每個預測組的預測值(即預測組的像素值的預測值)。
一個預測組對應一個預測模式。如果使用某種預測模式對某個預測組的像素值的原始值進行預測,則該預測模式與該預測組之間具有對應關係。
在一個示例中,一個預測組對應的預測模式可以包含垂直預測、水平預測、垂直均值預測和水平均值預測等中的一種或多種的結合。
在一個示例中,一個預測組對應的預測模式還可以包括採用與該編碼單元相鄰的編碼單元的像素值進行參考預測,或者,採用與該編碼單元所在的獨立編碼單元相鄰的獨立編碼單元的像素值進行參考預測。
在一個示例中,該至少一個預測組包括多個預測組。該多個預測組中的至少兩個預測組的預測模式不同。例如,一個預測組的預測模式為垂直預測模式,另一個預測組的預測模式為水平均值預測模式。
在一個示例中,劃分模式與預測模式之間具有關聯關係。換句話說,一個編碼單元的劃分模式,與該編碼單元所劃分成的各預測組的預測模式相關。具體的,一個編碼單元的劃分模式確定之後,該編碼單元所劃分成的每個預測組的預測模式可以基於該關聯關係被確定。
其中,一種劃分模式與一種或多種預測模式之間具有對應關係。
當一種劃分模式對應一種預測模式時,對於編碼端來說,當確定編碼單元採用該劃分模式時,可以不在碼流中攜帶該劃分模式下劃分 得到的預測組當前(即執行S102的步驟時)採用的預測模式的標識。
例如,預定義預測模式1對應劃分模式1,其中,劃分模式1為將編碼單元劃分為預測組1-4,且定義了每個預測塊在該編碼單元中的位置。預測模式1具體為:預測組1-4的預測方式依次為垂直預測、水平預測、水平預測和水平預測。該情況下,編碼端/解碼端一旦確定編碼單元/待解碼單元的劃分模式為劃分模式1,即可確定按照劃分模式1劃分得到的預測組1-4的預測方式依次為垂直預測、水平預測、水平預測和水平預測,因此,對於編碼端來說,可以不在碼流中攜帶該劃分模式下的預測組當前採用的預測模式的標識。
當一種劃分模式對應多種預測模式時,編碼端可以採用率失真代價等方式確定當前採用哪種預測模式。在一種實現方式中,對於解碼端來說,可以基於同樣的方法確定當前採用的是哪種預測模式。在另一種實現方式中,編碼端可以在碼流中攜帶該劃分模式下的預測組當前採用的預測模式的標識,解碼端可以通過解碼該碼流,獲得當前採用的是哪種預測模式。
在一個示例中,預測組與預測模式之間具有關聯關係。換句話說,一個預測組與該預測組的預測模式之間具有對應關係。具體的,一個預測組確定之後,該預測組對應的預測模式可以被直接確定。
其中,一個預測組與一種或多種預測模式之間具有對應關係。
當一個預測組對應一種預測模式時,對於編碼端來說,可以不在碼流中攜帶該預測組當前採用的預測模式的標識。
當一個預測組對應多種候選預測模式時,編碼端可以採用率失真代價等方式確定當前採用哪種預測模式。在一種實現方式中,對於解碼端來說,可以基於同樣的方法確定該預測組當前採用的是哪種預測模式。在另一種實現方式中,編碼端可以在碼流中攜帶該預測組當前採用的預測模式的標識。
步驟S103:基於編碼單元的預測值和該編碼單元本身(即該編碼單元的像素值的原始值),得到該編碼單元的殘差塊。
其中,一個編碼單元的預測值由該編碼單元所劃分成的各預測組的預測值得到。對於該至少一個預測組中的任意一個預測組來說,基於該預測組的預測值和該預測組本身(即該預測組的像素值的原始值),得到該預測組的殘差塊。
步驟S104:對編碼單元的殘差塊進行編碼。
具體的,對編碼單元的殘差塊進行變換、量化和係數編碼等操作。
在一個示例中,將該編碼單元的殘差塊劃分為至少一個殘差小塊(Residual Block,RB),即分別對每個殘差小塊進行變換、量化和係數編碼等操作。其中,該至少一個殘差小塊包括一個殘差小塊或多個互不重疊的殘差小塊。
在一些實現方式中,該殘差塊是編碼單元細微性的的殘差塊。也就是說,在執行步驟S104時,將編碼單元整體的殘差塊(即與編碼單元尺寸相等的殘差塊)分為至少一個殘差小塊。其中,該編碼單元的殘差塊的尺寸與該編碼單元的尺寸相同。
在另一些實現方式中,該殘差塊是預測組細微性的殘差塊。也就是說,在執行步驟S104時,將編碼單元所劃分成的任意一個或多個(如每個)預測組分別劃分為至少一個殘差小塊。其中,一個預測塊的殘差塊的尺寸與該預測塊的尺寸相同。
在一個示例中,編碼端將第一指標攜帶在語法元素中。其中,該第一指標用於指示對殘差塊進行分組或不對殘差塊進行分組。對於解碼端來說,基於該第一指標可以獲知是否需要進行殘差塊分組(或殘差塊劃分)。
具體的:編碼器對該至少一個殘差小塊(即RB)中的各個RB的殘差係數按照選定模式進行編碼,得到殘差係數流。具體的,可分為對殘差係數進行變換和不進行變換兩類。
關於RB變換,RB劃分,殘差係數編碼方法等的相關說明可以參下文。
本發明實施例提供的圖像編碼方法,通過將編碼單元劃分為 至少一個預測組,並針對預測組所對應的預測模式對預測組進行預測。這樣,相比直接針對編碼單元本身執行預測的技術方案,有助於實現針對編碼單元的靈活預測,例如,通過合理設置劃分模式,有助於實現針對多個預測組並存執行預測,以及為不同的預測組設置不同的預測模式等,從而提高預測效率,進而提高編碼效率。
以下,通過一個具體示例說明本發明實施例提供的編碼方法。
步驟1:將一幀圖像分成一個或多個互相不重疊的並行編碼單元,各個並行編碼單元間無依賴關係,可並行/獨立編解碼。
步驟2:對於每個並行編碼單元,編碼端可將其分成一個或多個互相不重疊的獨立編碼單元,各個獨立編碼單元間可相互不依賴,但可以共用該並行編碼單元的一些頭資訊。
若並行編碼單元被劃分成一個獨立編碼單元,則獨立編碼單元的尺寸與並行編碼單元相同;否則,則一般地獨立編碼單元的寬的尺寸大於高的尺寸。需要說明的是,如果一個獨立編碼單元位於並行編碼單元的邊緣區域,則可能存在該獨立編碼單元的寬的尺寸小於等於高的尺寸的情況。
將獨立編碼單元的寬標記為w_lcu,高標記為h_lcu。w_lcu和h_lcu均為2N,N是大於等於0的整數。通常的,獨立編碼單元的尺寸為固定的w_lcu x h_lcu,例如,獨立編碼單元的尺寸可以為128x4,64x4,32x4,16x4,8x4,32x2,16x2或8x2等。
作為一個示例,獨立編碼單元的尺寸可以為128x4。若並行編碼單元的尺寸為256x8,則可將並行編碼單元等分為4個獨立編碼單元。若並行編碼單元的尺寸為288x10,則可將並行編碼單元劃分為:第一/二行為2個128x4的獨立編碼單元和1個32x4的獨立編碼單元;第三行為2個128x2的編碼單元和1個32x2的編碼單元。
獨立編碼單元可以包含亮度Y、色度Cb、色度Cr三個分量(或紅R、綠G、藍B三分量),也可以僅包含其中的某一個分量。若包含三個分量,這幾個分量的尺寸可以相同,也可以不相同,具體與圖像輸 入格式相關。
步驟3:對於每個獨立編碼單元,編碼端可再將其分成一個或多個互相不重疊的編碼單元。其中,獨立編碼單元內的各個編碼單元可相互依賴,即在執行預測步驟的過程中可以相互參考。
若將獨立編碼單元劃分為一個編碼單元,則編碼單元的尺寸與獨立編碼單元尺寸相同。
若將獨立編碼單元劃分成多個互相不重疊的編碼單元,則一般地編碼單元的寬的尺寸大於高的尺寸,需要說明的是,如果一個編碼單元位於獨立編碼單元的邊緣區域,則可能存在該編碼單元的寬的尺寸小於等於高的尺寸的情況。
其中,若將獨立編碼單元劃分成多個互相不重疊的編碼單元,則劃分方式可以為水平等分法、垂直等分法或水平垂直等分法。當然具體實現時不現於此。
水平等分法,即編碼單元的高的尺寸與獨立編碼單元的高的尺寸相同,但二者的寬的尺寸不同。如編碼單元的寬的尺寸可以為獨立編碼單元的寬的尺寸的1/2、1/4、1/8或1/16等。
垂直等分法,即編碼單元的寬的尺寸與獨立編碼單元的寬的尺寸相同,但二者的高的尺寸不同。如編碼單元的高的尺寸可以為獨立編碼單元的高的尺寸的1/2、1/4、1/8或1/16等)。
水平垂直等分法,即四叉樹劃分。
優選地,編碼端按照水平等分方式將獨立編碼單元劃分為多個互相不重疊的編碼單元。
將編碼單元的寬標記為w_cu,高標記為h_cu。w_cu和h_cu均為2N,N是大於等於0的整數。通常的,編碼單元的尺寸為固定的w_cu x h_cu,例如,編碼單元的尺寸可以為16x4,8x4,16x2,8x2,8x1,4x1等。
編碼單元可以包括亮度Y、色度Cb、色度Cr三個分量(或紅R、綠G、藍B三分量),也可以僅包含其中的某一個分量。若包含三個分量,則幾個分量的尺寸可以完全一樣,也可以不一樣,具體與圖像輸 入格式相關。當編碼單元包括亮度時,上述至少一個預測組具體可以是至少一個亮度預測組。當編碼單元包括色度時,上述至少一個預測組具體可以是至少一個色度預測組。
如圖6所示,為一種圖像、並行編碼單元、獨立編碼單元、編碼單元、預測組(PG)和殘差小塊(RB)之間的對應關係的示意圖。其中,圖6中是以按照3:1將一個圖像劃分為並行編碼單元1和並行編碼單元2,以及一個獨立編碼單元包含4個編碼單元為例進行說明的。
需要說明的是,並行編碼單元,獨立編碼單元和編碼單元可以替換為其他名稱,本發明實施例對此不進行限定。
需要說明的是,在一些可選實施例中,可以直接將並行編碼單元分成一個或多個編碼單元。
步驟4:對於編碼單元,可以將其可再將其分成一個或多個互相不重疊的預測組,各個PG按照選定預測模式進行編解碼,得到PG的預測值,組成整個編碼單元的預測值,基於預測值和編碼單元的原始值,獲得編碼單元的殘差值。
預測組的劃分模式和預測模式的相關說明可以參考本文其他處的描述,此處不再贅述。
步驟5:基於編碼單元的殘差值,對編碼單元進行分組,獲得一個或多個相不重疊的殘差小塊(RB),各個RB的殘差係數按照選定模式進行編解碼,形成殘差係數流。具體的,可分為對殘差係數進行變換和不進行變換兩類。
RB變換:可直接對RB內的係數進行編碼,也可對殘差塊進行變換,如離散餘弦變換(Discrete Cosine Transform,DCT)、離散正弦變換(Discrete Sine Transform,DST)、Hadamard變換等,再對變換後的係數進行編碼。
RB劃分:當RB較小時,可直接對RB內的各個係數進行統一量化,再進行二值化編碼;若RB較大,可進一步劃分為多個係數分組(Coefficient Group,CG),再對各個CG進行統一量化,再進行二值化編碼。
對於殘差係數編碼的部分,一種可行方法為:半定長編碼方式。首先將一個RB塊內殘差絕對值的最大值定義為modified maximum(mm)。確定該RB塊內殘差係數的編碼比特數(同一個RB塊內殘差係數的編碼比特數一致)。例如,若當前RB塊的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位元。
當然,也可以採用其他殘差係數編碼方法,如指數Golomb編碼方法,Golomb-Rice編碼方法,截斷一元碼編碼方法,游程編碼方法,直接編碼原始殘差值等。
另外,對於某些特殊的情況,也可以直接編碼原始值,而不是殘差值。
如圖7所示,為本發明實施例提供的一種圖像解碼方法的流程示意圖。該方法可以由解碼端執行。示例的,該解碼端可以是圖1或圖3中的解碼器,也可以是圖1中的目的設備。圖7所示的方法包括如下步驟:
步驟S201:解析碼流,以得到語法元素。其中,該語法元素用於獲得待解碼單元的殘差塊。其中,該待解碼單元包括至少一個預測組。
本實施例中的待解碼單元可以是圖5所示的編碼單元進行編碼後得到的。關於待解碼單元的尺寸的相關說明,可以參考上文中對待編碼單元的尺寸的相關說明,此處不再贅述。
在一個示例中,待解碼單元的寬的尺寸大於高的尺寸,且高的尺寸小於等於預設閾值。
語法元素包含用於獲得待解碼單元的殘差塊的資訊,本發明對語法元素中所包含的具體資訊不進行限定。例如,語法元素包含的是該 殘差塊經變換、量化和係數編碼後得到的第一資訊。
對於編碼端來說,獲得語法元素後,可以對該語法元素進行編碼,得到碼流。對於解碼端來說,對所接收到的碼流進行熵解碼,得到語法元素。後續,可以對語法元素中攜帶的第一資訊進行係數解碼、反變換和反量化,從而得到待解碼單元的殘差塊。
在一個示例中,語法元素具體用於獲得待解碼單元的殘差塊所劃分的至少一個殘差小塊,以獲得該殘差塊。該情況下,語法元素具體可以包括:該殘差塊的任意一個殘差小塊經變換、量化和係數編碼後得到的第二資訊。
對於編碼端來說,獲得語法元素後,可以對該語法元素進行編碼,得到碼流。對於解碼端來說,對所接收到的碼流進行熵解碼,得到語法元素。後續,可以對語法元素中攜帶的第二資訊進行係數解碼、反變換和反量化,從而得到該任意一個殘差小塊。
在一個示例中,語法元素還包括:待解碼單元的殘差塊的分組方式的索引資訊,不同的索引資訊用於指示不同的分組方式。
在一個示例中,語法元素還包括第一指標,第一指標用於指示對待解碼單元的殘差塊進行分組或不進行分組。
在一個示例中,殘差塊包括亮度殘差塊或色度殘差塊。
在一種實現方式中,編碼單元劃分成預測組所採用的劃分模式,是編碼端和解碼端預先定義的,例如基於協議預先定義的。
在另一種實現方式中,編碼單元劃分成預測組所採用的劃分模式,是編碼端指示給解碼端的,例如,編碼端將第一資訊攜帶在碼流中發送的解碼端,其中,第一資訊用於表徵該編碼單元的劃分模式。本發明實施例對第一資訊的具體內容不進行限定。
需要說明的是,下文中還描述了劃分模式所對應的預測模式(即劃分模式與預測模式關聯),以及編碼單元中的每個預測組對應的預測模式(即編碼單元、劃分模式與預測模式關聯)。
步驟S202:對於該至少一個預測組中的任意一個預測組,確定該預測組的預測模式。
在一種實現方式中,劃分模式所對應的預測模式(即以劃分模式為細微性確定預測模式),或編碼單元中的每個預測組對應的預測模式(即以編碼單元中的預測組為細微性確定預測模式),是編碼端和解碼端預先定義的,例如基於協議預先定義的。
在另一種實現方式中,劃分模式所對應的預測模式,或編碼單元中的每個預測組對應的預測模式,是編碼端指示給解碼端的,例如,編碼端將第二資訊攜帶在碼流中發送的解碼端,其中,第二資訊用於表徵該編碼單元中的每個預測組對應的預測模式,本發明實施例對第二資訊的具體內容不進行限定。
在一個示例中,預測組的劃分模式和預測組的預測模式,均可以參考本文中關於編碼端的實施例中的相關描述,此處不再贅述。
步驟S203:基於該預測模式對該任意一個預測組進行預測,得到該任意一個預測組的預測值。
例如,對於每個預測組,基於該預測組的殘差值和該預測組的預測值,得到該預測組的原始值,即解碼端得到的該預測組的原始值。可以理解的是,編碼端和解碼端所獲得的預測組的原始值可能存在差異。
步驟S204:基於待解碼單元的殘差塊和該至少一個預測組的預測值,解碼待解碼單元。
例如,基於待解碼單元的殘差塊和該任意一個預測組的預測值,進行重構。後續還可以包括對重構得到的重構塊進行濾波等操作,以得到經解碼的圖像塊。
本發明實施例提供的圖像解碼方法,通過將待解碼單元劃分為至少一個預測組,並針對預測組所對應的預測模式對預測組進行預測。這樣,相比直接針對待解碼單元本身執行預測的技術方案,有助於實現針對待解碼單元的靈活預測,例如,通過合理設置劃分模式,有助於實現針對多個預測組並存執行預測,以及為不同的預測組設置不同的預測模式等,從而提高預測效率,進而提高解碼效率。
以下,對本發明實施例提供的劃分模式進行說明。
可以理解的是,由於上文中的待解碼單元是編碼單元經編碼 後得到的,因此,編碼單元與預測組之間的對應關係,與待解碼單元與預測組之間的對應關係相同。為了描述上的簡潔,下文中僅描述了編碼單元與預測組之間的對應關係,即站在編碼單元或編碼端的角度上,對劃分模式進行了描述。待解碼單元與預測組之間的對應關係,可以基於下文中所描述的內容推理得到,本發明對此不再贅述。
第一類劃分方式
第一部分,針對獨立編碼單元中的第一個編碼單元,本發明提供了如下劃分模式。
需要說明的是,如果一個獨立編碼單元劃分為一個編碼單元,則獨立編碼單元中的第一個編碼單元是該獨立編碼單元本身。如果一個獨立編碼單元劃分為多個互不重疊的編碼單元,則獨立編碼單元中的包含“該獨立編碼單元中第一行第一列的像素”的編碼單元。
可以理解的是,預測第一部分所針對的編碼單元中的第一個像素(即第一行第一列的像素)的像素值時,通常不能參考其他像素。在一個示例中,第一個像素的像素值編碼原始值或者第一像素的像素值也可以編碼成其他值(如原始值與一個預設值之差等),本發明實施例對此不進行限定。除一個第一像素之外的其餘像素的預測值可以按照本發明實施例提供的方式進行預測。因此,第一部分的劃分模式均不將該像素劃分為任何一個預測組。
劃分模式A:編碼單元包括第一預測組、第二預測組和第三預測組。
其中,第一預測組包括編碼單元的第一行中的非第一個像素之外的其他像素。第二預測組包括編碼單元的非第一行像素中的連續多個奇數列像素。第三預測組包括編碼單元的非第一行像素中的連續多個偶數列像素。
在一個示例中,一個第二預測組所包含的像素個數小於等於某一閾值,或一個第二預測組所包含的像素列數小於等於某一閾值。在一個示例中,一個第三預測組所包含的像素個數小於等於某一閾值,或一個第三預測組所包含的像素列數小於等於某一閾值。
在一個示例中,編碼單元包括第一預測組、至少一個第二預測組和至少一個第三預測組。
本發明實施例中對每個預測組對應的預測模式不進行限定。例如,第一預測組對應的預測模式包括水平預測。例如,第二預測組對應的預測模式包括垂直預測。例如,第三預測組中的非最後一列像素對應的預測模式包括水平均值預測,第三預測組中的最後一列像素對應的預測模式包括水平預測。
在一個示例中,對於第三預測組中的最後一列像素來說,由於在執行預測操作時,還未獲得該列像素右側的像素的像素值,而水平均值預測需要參考該列像素左右兩側的像素的像素值,因此,該最後一列像素對應的預測模式通常不採用水平均值預測,在一個示例中,可以採用水平預測。
劃分模式B:編碼單元包括第一預測組、第二預測組和第三預測組。
其中,第一預測組包括編碼單元的第一列中的非第一個像素之外的其他像素。第二預測組包括編碼單元的非第一列像素中的奇數行元素。第三預測組包括編碼單元的非第一列像素中的偶數行元素。
一個第二預測組包括編碼單元的非第一列像素中的一個奇數行元素,或連續多個奇數行元素。一個第三預測組包括編碼單元的非第一列像素中的一個偶數行元素,或連續多個偶數行元素。
編碼單元可以包括一個第一預測組,至少一個第二預測組和至少一個第三預測組。
本發明實施例對每個預測組對應的預測模式不進行限定。例如,第一預測組對應的預測模式包括垂直預測。例如,第二預測組對應的預測模式包括水平預測。例如,如果第三預測組中的最後一個偶數行元素對應的預測模式包括垂直均值預測;第三預測組中的非最後一個偶數行元素對應的預測模式包括垂直預測。
劃分模式C:編碼單元包括第一預測組和第二預測組。其中,第一預測組包括編碼單元的第一列的非第一個像素之外的其他像素。第二 預測組為編碼單元的非第一列像素中的一行像素。
在一個示例中,編碼單元包括第一預測組和至少一個第二預測組。
本發明實施例中對每個預測組對應的預測模式不進行限定。在一個示例中,第一預測組對應的預測模式包括垂直預測。在一個示例中,第二預測組對應的預測模式包括水平預測。
劃分模式D:編碼單元包括第一預測組和第二預測組。
其中,第一預測組包括編碼單元的第一行的非第一個像素之外的其他像素。第二預測組為編碼單元的非第一行像素中的連續多列像素。
在一個示例中,一個第二預測組所包含的像素個數小於等於某一閾值,或一個第二預測組所包含的像素列數小於等於某一閾值。
在一個示例中,編碼單元包括第一預測組和至少一個第二預測組。
本發明實施例中對每個預測組對應的預測模式不進行限定。在一個示例中,第一預測組對應的預測模式包括水平預測。在一個示例中,第二預測組對應的預測模式包括垂直預測。
第二部分:針對獨立編碼單元中的非第一個編碼單元,在進行預測時,編碼單元的第一個像素可以參考該獨立編碼單元中的其他編碼單元中的像素。基於此,在一個示例中,本發明提供的劃分模式與上述第一部分中所描述的劃分模式的區別在於,上述劃分模式A-D中的第一預測組還包含編碼單元中的第一個像素。
在一種實現方式中,第二部分的任意一種劃分模式所對應的預測模式可以參考上述第一部分的相應劃分模式。
例如,上述劃分模式A對應於第二部分的劃分模式A’可以為:編碼單元包括第一預測組、第二預測組和第三預測組。其中,第一預測組包括編碼單元的第一行像素。第二預測組包括編碼單元的非第一行像素中的連續多個奇數列像素。第三預測組包括編碼單元的非第一行像素中的連續多個偶數列像素。
本發明實施例中對每個預測組對應的預測模式不進行限定。例如,第一預測組對應的預測模式包括水平預測。例如,第二預測組對應的預測模式包括垂直預測。例如,第三預測組中的非最後一列像素對應的預測模式包括水平均值預測,第三預測組中的最後一列像素對應的預測模式包括水平預測。
又如,上述劃分模式D對應於第二部分的劃分模式D’可以為:編碼單元包括第一預測組和第二預測組。其中,第一預測組包括編碼單元的第一行像素。第二預測組為編碼單元的非第一行像素中的連續多列像素。
本發明實施例中對每個預測組對應的預測模式不進行限定。在一個示例中,第一預測組對應的預測模式包括水平預測。在一個示例中,第二預測組對應的預測模式包括垂直預測。
關於劃分模式A’中相關內容的解釋可以參考上述劃分模式A中的相關描述。關於劃分模式D’中相關內容的解釋可以參考上述劃分模式D中的相關描述。
在另一種實現方式中,第二部分中的任意一種劃分模式所對應的預測模式看可以對應其他的劃分模式。
例如,上述劃分模式B對應於第二部分的劃分模式B’可以為:編碼單元包括第一預測組、第二預測組和第三預測組。其中,第一預測組包括編碼單元的第一列像素。第二預測組包括編碼單元的非第一列像素中的奇數行元素。第三預測組包括編碼單元的非第一列像素中的偶數行元素。
本發明實施例對每個預測組對應的預測模式不進行限定。例如,第一預測組對應的預測模式包括水平預測。例如,第二預測組對應的預測模式包括水平預測。例如,第三預測組中的最後一個偶數行元素對應的預測模式包括垂直均值預測;第三預測組中的非最後一個偶數行元素對應的預測模式包括垂直預測。
又如,上述劃分模式C對應於第二部分的劃分模式C’可以為:編碼單元包括第一預測組和第二預測組。其中,第一預測組包括編碼單元 的第一列像素。第二預測組為編碼單元的非第一列像素中的一行像素。
本發明實施例中對每個預測組對應的預測模式不進行限定。在一個示例中,第一預測組對應的預測模式包括水平預測。在一個示例中,第二預測組對應的預測模式包括水平預測。
在一個示例中,上述第一類劃分方式可以適用於16*4的編碼單元、16*2的編碼單元以及8*2的編碼單元任一種。當然還可以適用於其他尺寸的編碼單元。
第二類劃分方式
將編碼單元劃分為一個預測組。或者說,不對該編碼單元進行劃分。在一個示例中,編碼單元所包含的像素個數小於等於預設閾值。例如,編碼單元的尺寸為8*2。
第一部分,針對獨立編碼單元中的第一個編碼單元
在一種實現方式中,編碼單元的第一行中除第一個像素之外的其他像素對應的預測模式包括水平預測,非第一行像素對應的預測模式包括垂直預測。
在另一種實現方式中,編碼單元的第一列中除第一個像素之外的其他像素對應的預測模式包括垂直預測,非第一列像素對應的預測模式包括水平預測。
第二部分,針對獨立編碼單元中的非第一個編碼單元
在一種實現方式中,編碼單元的第一行像素對應的預測模式包括水平預測,非第一行像素對應的預測模式包括垂直預測。
在另一種實現方式中,編碼單元的所有像素對應的預測模式包括水平預測。
第三類劃分方式
劃分模式1:編碼單元包括第一預測組和第二預測組。其中,第一預測組包括奇數列像素。第二預測組包括偶數列像素。
本發明實施例對每個預測組對應的預測模式不進行限定。例如,第一預測組對應的預測模式包括垂直預測。第二預測組中的非最後一列像素對應的預測模式包括水平均值預測,最後一列像素對應的預測模式 包括水平預測模式。
劃分模式2:編碼單元包括第一預測組和第二預測組。其中,第一預測組包括偶數行像素。第二預測組包括奇數行像素。
本發明實施例對每個預測組對應的預測模式不進行限定。例如,第一預測組對應的預測模式包括水平預測。第二預測組應的預測模式包括垂直均值預測。
劃分模式3:編碼單元包括多個預測組,每個預測組包括編碼單元中的一行像素。本發明實施例對每個預測組對應的預測模式不進行限定。例如,任意一個或多個預測組(如每個預測組)對應的預測模式包括水平預測。
劃分模式4:編碼單元包括多個預測組,每個預測組包括連續多列像素。在一個示例中,不同的預測組包含的像素列數相同。本發明實施例對每個預測組對應的預測模式不進行限定。例如,任意一個或多個預測組對應的預測模式包括垂直預測。
在一個示例中,上述第一類劃分方式可以適用於16*4的編碼單元、16*2的編碼單元以及8*2的編碼單元任一種。當然還可以適用於其他尺寸的編碼單元。
在一個示例中,對於並行編碼單元的第一行(包括每個並行編碼單元的第一個編碼單元),可以採用上述劃分模式3,或者只允許採用上述劃分模式3。對於第一列,可以採用上述劃分模式1或劃分模式4。其中,這裡的第一行是並行編碼單元的第一行編碼單元,第一列是並行編碼單元的第一列編碼單元。
在一個示例中,編碼單元可以參考該編碼單元左側的1列像素和上側的1行像素。
第四類劃分方式
將編碼單元劃分為一個預測組。或者說,不對該編碼單元進行劃分。在一個示例中,編碼單元所包含的像素個數小於等於預設閾值。例如,編碼單元的尺寸為8*1。
以下提供幾種在其中一種示例中預測模式:預測模式1,編碼 單元的像素對應的預測模式包括垂直預測。如編碼單元中的所有像素均採用垂直預測。
預測模式2:編碼單元的像素對應的預測模式包括水平預測。如編碼單元中的所有像素均採用水平預測。
在一個示例中,對於並行編碼單元的第一行(包括每個並行編碼單元的第一個編碼單元),可以採用上述預測模式2,或者只允許採用上述預測模式2。對於第一列,可以採用上述預測模式1,或者只允許使用上述預測模式1。其中,這裡的第一行是並行編碼單元的第一行編碼單元,第一列是並行編碼單元的第一列編碼單元。
在一個示例中,對於並行編碼單元的任意一個編碼單元(如每個編碼單元)可以參考該編碼單元的左側一列像素和上側1行像素。
第五類劃分方式
劃分模式E:按照垂直等分方式將編碼單元劃分成的多個預測組。例如,編碼單元的一行被劃分為一個預測組。例如,垂直等分為2或4個預測組。
在一個示例中,如果編碼單元是獨立編碼單元中的第一個編碼單元,則該編碼單元中的第一個像素可以不被劃分為任意一個預測組,也就是說,其中一個預測組包含編碼單元的第一行中的除第一個元素之外的其他像素。
劃分模式F:按照水平等分方式將編碼單元劃分成的多個預測組。例如,編碼單元的連續多列被劃分為一個預測組。例如,水平等分為2、4或8個預測組。
在一個示例中,如果編碼單元是獨立編碼單元中的第一個編碼單元,則該編碼單元中的第一個像素可以不被劃分為任意一個預測組,也就是說,其中一個預測組包含編碼單元的第一列中的除第一個元素之外的其他像素,以及從第一列開始的一列像素或連續多列像素。
劃分模式G:按照預設比例沿垂直方向將編碼單元劃分成的多個預測組。
本發明實施例對預設比例的具體取值不進行限定。在一個示例中,按照1:2:1或2:1:1或1:1:2的方式被劃分為3個預測組。
在一個示例中,如果編碼單元是獨立編碼單元中的第一個編碼單元,則該編碼單元中的第一個像素可以不被劃分為任意一個預測組,也就是說,其中一個預測組包含編碼單元的第一行中的除第一個元素之外的其他像素,或者,包含編碼單元的第一行中的除第一個元素之外的其他像素以及從第一行開始的一行像素或連續多行像素。
劃分模式H:按照預設比例沿水平方向將編碼單元劃分成的多個預測組。
本發明實施例對預設比例的具體取值不進行限定。在一個示例中,按照1:2:1或2:1:1或1:1:2的方式被劃分為3個預測組。
在一個示例中,如果編碼單元是獨立編碼單元中的第一個編碼單元,則該編碼單元中的第一個像素可以不被劃分為任意一個預測組,也就是說,其中一個預測組包含編碼單元的第一列中的除第一個元素之外的其他像素,或者,包含編碼單元的第一列中的除第一個元素之外的其他像素以及從第一列開始的一列像素或連續多列像素。
本發明實施例對上述劃分模式E-H中的任意一種劃分模式所對應的預測模式不進行限定。
在一個示例中,上述第一類劃分方式可以適用於16*4的編碼單元、16*2的編碼單元以及8*2的編碼單元任一種。當然還可以適用於其他尺寸的編碼單元。
以下通過具體示例對上文提供的劃分模式進行示例性說明。在部分實施例中,還示意出了劃分模式所對應的預測模式。
實施例1:針對16*4的編碼單元
1.1 針對獨立編碼單元僅有1個16*4的編碼單元的情況
示例1:如圖8所示,編碼單元包括Group0-4共5個預測組。
Group0由第1行第2-16列的像素組成,且採用水平預測。
Group1由第2、3、4行第1、3、5、7列像素組成,且採用垂直預測。
Group2由第2、3、4行第9、11、13、15列像素組成,且採用垂直預測。
Group3由第2、3、4行第2、4、6、8列像素組成,且採用水平預測。
Group4由第2、3、4行第10、12、14、16列像素組成,且第10、12、14像素採用水平均值預測,第16列像素採用水平預測。
示例2:如圖9所示,編碼單元包括Group0-4共5個預測組。
Group0由第1列中的除第1個像素之外的像素組成,且採用垂直預測。
Group1由第1行第2-16列的像素組成,且採用水平預測。
Group3由第3行第2-16列的像素組成,且採用水平預測。
Group2由第2行第2-16列的像素組成,且採用垂直均值預測。
Group4由第4行第2-16列的像素組成,且採用垂直預測。
示例3:如圖10所示,編碼單元包括Group0-4共5個預測組。
Group0由第2-4行第1列的像素組成,且採用垂直預測。
Group1由第1行第2-16列的像素組成,且採用水平預測。
Group2由第2行第2-16列的像素組成,且採用水平預測。
Group3由第3行第2-16列的像素組成,且採用水平預測。
Group4由第4行第2-16列的像素組成,且採用水平預測。
示例4:如圖11所示,編碼單元包括Group0-4共5個預測組。
Group0由第1行第2-16列的像素組成,且採用水平預測。
Group1由第2、3、4行第1-4列的像素組成,且採用垂直預測。
Group2由第2、3、4行第5-8列的像素組成,且採用垂直預測。
Group3由第2、3、4行第9-12列的像素組成,且採用垂直預測。
Group4由第2、3、4行第13-16列的像素組成,且採用垂直預測。
上述以尺寸為16*4的編碼單元為例進行說明,其他尺寸的編 碼單元也可以按照相同原則進行劃分。如針對尺寸為16*2的編碼單元,上述示例1中的Group1-4為4個像素,上述示例2中沒有group2和3(即僅有group0、1、4共3個group),上述示例3沒有group2和3,上述示例4的Group1-4為4個像素。
1.2、針對獨立編碼單元有多個16*4的編碼單元的情況
對於獨立編碼單元含有多個16*4的編碼單元的情況,其第一個16*4的編碼單元的劃分模式如上述1.1所示;其後續16*4的編碼單元的劃分模式如圖12-圖15所示。
示例的,後續16*4的編碼單元與第一個16*4的編碼單元的劃分模式的區別在於對第一個像素的處理上,預測模式的區別在於第一列像素的處理上,其它像素的預測值與第一個16x4塊的處理可以一致。具體的:針對劃分模式A或D:後續16*4的編碼單元的第一列的第一個像素對應的預測模式包括水平預測,第一列的其他像素對應的預測模式包括垂直預測。
針對劃分模式B或C:後續16*4的編碼單元的第一列的4個像素對應的預測模式包括水平預測。
在一個示例中,實施例1中的16*4的編碼單元可以是16*4的亮度塊,也可以是16*4的色度塊。
在一個示例中,實施例1也可以適用於其他尺寸的編碼單元。
實施例2:針對8*2的編碼單元
2.1 針對獨立編碼單元僅有1個8*2的編碼單元的情況
如圖16所示,第1行的除第一個像素外的剩餘7個像素進行水平預測,第2行的8個像素進行垂直預測。
如圖17所示,第1行的除第一個像素外的剩餘7個像素進行水平預測,第2行的第一個像素進行垂直預測,第2行的剩餘7個像素進行水平預測。
2.2 針對獨立編碼單元有多個8*2的編碼單元的情況
對於獨立編碼單元(如N*2的獨立編碼單元,N大於等於16)中的第一個8*2的編碼單元來說,其預測過程與2.1所述的預測過程可以一致。
對於獨立編碼單元(如N*2的獨立編碼單元,N大於等於16)中的其他8*2的編碼單元來說,除第一列外,剩餘像素的預測與第一個8*2的編碼單元的預測過程可以一致。
如圖18所示,第一列的第一個像素採用水平預測,第1列的剩餘1個像素採用垂直預測。
如圖19所示,第1行的2個像素採用水平預測。
在一個示例中,實施例2中的8*2的編碼單元可以是8*2的亮度塊,也可以是8*2的色度塊。
在一個示例中,實施例2也可以適用於其他尺寸的編碼單元。
實施例3:針對16*2的編碼單元
在一個示例中,對於並行編碼單元的第一行編碼單元(包括每個並行編碼單元的第一個16*2的編碼單元),只允許採用下述示例3進行劃分和預測。對於第一列編碼單元,只允許採用下述示例1或示例4進行劃分和預測。
在一個示例中,每個16*2的編碼單元可以參考左側1列像素(2個像素)和上側1行像素(16個像素)的像素值。
示例1:如圖20所示,編碼單元包括Group1-2。
Group1由第1、3、5、7、9、11、13、15列像素組成,且採用垂直預測。在一個示例中,Group1的像素可參考該編碼單元的上側且與該編碼單元相鄰的最後一行像素。
Group2由第2、4、6、8、10、10、14、16列像素組成,且除第16列像素之外的其他像素採用水平均值預測,第16列元素採用水平預測。
示例2:如圖21所示,編碼單元包括Group1-2。
Group1由第2行像素組成,且採用水平預測。
Group2由第1行像素組成,且採用垂直均值預測。在一個示例中,Group2的像素可參考該編碼單元的上側且與該編碼單元相鄰的最後一行像素。
示例3:如圖22所示,編碼單元包括Group1-2。
Group1由第1行像素組成,且採用水平預測。
Group2由第2行像素組成,且採用水平預測。
示例4:如圖23所示,編碼單元包括Group1-2。
Group1由第1-8列像素組成,且採用垂直預測。
Group2由第9-16列像素組成,且採用垂直預測。
在一個示例中,Group1和Group2的像素可參考該編碼單元的上側且與該編碼單元相鄰的16*2的編碼單元的最後一行像素。
在一個示例中,實施例3中的8*2的編碼單元可以是8*2的亮度塊,也可以是8*2的色度塊。
在一個示例中,實施例3也可以適用於其他尺寸的編碼單元,如16*4或8*2的編碼單元。
實施例4:針對8*1的編碼單元
在一個示例中,每個並行編碼單元的第一行編碼單元(包括每個並行編碼單元的第一個8*1的編碼單元),只允許採用下述示例2進行預測,第一列編碼單元,只允許通過下述示例1進行預測。
在一個示例中,每個8*1的編碼單元可以參考左側1列像素(1個像素)和上側1行像素(8個像素)值。
8*1的編碼單元僅包含一個Group。
示例1:如圖24所示,編碼單元中的每個像素進行垂直預測。
示例2:如圖25所示,編碼單元中的每個像素進行水平預測。
實施例5
圖26提供了幾種16*4的編碼單元的劃分模式。其中,(a)示意出了將編碼單元垂直等分為4個Group。(b)示意出了按照1:2:1將編碼單元垂直劃分為3個Group。(c)示意出了將編碼單元水平等分為4個Group。(d)示意出了按照1:2:1將編碼單元水平劃分為3個Group。圖26中還示意出了每個Group的尺寸。
圖27提供了幾種16*2的編碼單元的劃分模式。其中,(a)示意出了將編碼單元垂直等分為2個Group。(b)示意出了將編碼單元水平等分為4個Group。(c)示意出了按照1:2:1將編碼單元水平劃分為3 個Group。圖27中還示意出了每個Group的尺寸。
圖28提供了幾種8*2的編碼單元的劃分模式。其中,(a)示意出了將編碼單元垂直等分為2個Group。(b)示意出了將編碼單元水平等分為4個Group。(c)示意出了按照1:2:1將編碼單元水平劃分為3個Group。圖28中還示意出了每個Group的尺寸。
需要說明的是:
一方面,對於一個像素來說,距離該像素最近的像素與該像素的相關性最高,使用這些像素預測該像素時,預測結果的準確度更高。距離該像素最近的像素可以包含該像素的上下左右方位上與該像素相鄰的4個像素,當然具體實現時不限於此,為了覆蓋其中的一種或多種情況,可以使用不同的預測模式(如水平預測、垂直預測、水平均值預測、垂直均值預測等)對一個編碼單元中的不同像素進行預測。
另一方面,考慮到硬體實現上的並行性,不同的劃分組之間可以並存執行預測,從而提高編碼效率或解碼效率。例如,參見圖8,圖8中針對Group0執行預測之後,Group1-2可以並存執行預測,Group3-4可以並存執行預測。其他示例不再一一列舉。
基於上述兩方面(即預測結果的準確性和預測過程的並行性),本發明實施例提供了以上所述的編碼單元被劃分為預測組的劃分模式和相應的預測模式,這樣有助於提高編碼效率和解碼效率。當然,預測模式與劃分模式可以不相關。上述劃分模式和預測模式尤其適用於寬的尺寸大於高的尺寸的編碼圖像的場景,在一個示例中,高的尺寸小於等於某一閾值。
以下,說明本發明實施例提供的殘差塊分組方案。
在一個示例中,如果一個預測組中所包含的像素個數(或者一個預測組的殘差塊所包含的像素個數)大於等於預設閾值,則對該預測組的殘差塊進行分組。
在一個示例中,如果一個預測組中所包含的像素個數(或者一個預測組的殘差塊所包含的像素個數)小於預設閾值,則不對該預測組的殘差塊進行分組。
示例的,該預設閾值可以是3或4,當然還可以是其他值。
第一種方案:針對第一目標預測組的殘差塊進行分組。其中,第一目標預測組是編碼單元中包含一行像素或除第一個像素之外的一行像素的預測組。示例的,第一目標預測組可以是圖8中的Group0,圖9、圖10、圖13、圖14中的Group1-4任一種,圖11、圖12、圖15中的Group0,圖21、圖22中的Group1-2任一種等。
在一種實現方式中,第一目標預測組的殘差塊被劃分為一個殘差小塊。其等價於不對該殘差塊進行分組。
在另一種實現方式中,第一目標預測組的殘差塊被劃分為多個殘差小塊。
劃分模式1:多個殘差小塊包括第一殘差小塊和第二殘差小塊。第一殘差小塊和第二殘差小塊均包含連續多個像素,且第一殘差小塊和第二殘差小塊包含的像素個數之差最小。
在一個示例中,第一目標預測組的殘差塊均分或儘量均分成2個殘差小塊。
劃分模式2:多個殘差小塊包括第一殘差小塊、第二殘差小塊和第三殘差小塊。第一殘差小塊、第二殘差小塊和第三殘差小塊均包含連續多個像素,第一殘差小塊包含的像素個數與第一個數之差最小,第一個數是第二殘差小塊與第三殘差小塊包含的像素個數之和,第二殘差小塊與第三殘差小塊包含的像素個數相等。
在一個示例中,將第一目標預測組的殘差塊均分或儘量均分成兩部分,並將其中的一部分作為一個殘差小塊,另一部分再均分為2個殘差小塊。
劃分模式3:多個殘差小塊包括第一殘差小塊、第二殘差小塊和第三殘差小塊。其中,第一殘差小塊、第二殘差小塊和第三殘差小塊均包含連續多個像素,第三殘差小塊所包含的像素個數與第二個數之差最小,第二個數是第一殘差小塊與第二殘差小塊所包含的像素個數之和,第一殘差小塊與第二殘差小塊包含的像素個數之差最小。
在一個示例中,將第一目標預測組的殘差塊均分或儘量均分成兩部分,並將其中的一部分作為一個殘差小塊,另一部分再儘量均分為2 個殘差小塊。
劃分模式4:多個殘差小塊包括第一殘差小塊、第二殘差小塊、第三殘差小塊和第四殘差小塊;其中,第一殘差小塊、第二殘差小塊、第三殘差小塊和第四殘差小塊均包含連續多個像素,且第一殘差小塊、第二殘差小塊、第三殘差小塊和第四殘差小塊包含的像素個數之差最小。
在一個示例中,將目標預測組的殘差塊均分或儘量均分成四部分。
第二種方案:針對第二目標預測組的殘差塊進行分組。其中,第二目標預測組是編碼單元中包含多列像素的預測組。示例的,第二目標預測組可以是圖8、圖11、圖12、圖15中的Group1-4任一種,圖20、圖23中的Group1-2任一種等。
在一種實現方式中,第二目標預測組的殘差塊被劃分為一個殘差小塊。其等價於不對該殘差塊進行分組。
在另一種實現方式中,第二目標預測組的殘差塊被劃分為多個殘差小塊。
劃分模式1:多個殘差小塊包括至少兩個殘差小塊。其中,每個殘差小塊包含一列像素或連續多列像素,且不同的殘差小塊包含的像素列數相等。
劃分模式2:多個殘差小塊包括第一殘差小塊、第二殘差小塊和第三殘差小塊。其中,每個殘差小塊包含一列或連續多列像素,且第一殘差小塊包含的像素列數等於第二殘差小塊和第三殘差小塊包含的像素列數之和;
劃分模式3:多個殘差小塊包括至少四個殘差小塊。其中,每個殘差小塊包含一列像素或連續多列像素,且不同的殘差小塊包含的像素列數相等。
第三種方案:針對第三目標預測組的殘差塊進行分組。其中,第三目標預測組是編碼單元中包含多行像素的預測組。示例的,第三目標預測組可以是圖16-圖19中的任意一個圖式所示的預測組。
在一種實現方式中,第三目標預測組的殘差塊被劃分為一個 殘差小塊。其等價於不對該殘差塊進行分組。
在另一種實現方式中,第三目標預測組的殘差塊被劃分為多個殘差小塊。
劃分模式1:多個殘差小塊中的每個殘差小塊包括一行像素或除第一個像素之外的一行像素。
在一個示例中,按行將第三目標預測組的殘差塊劃分成多個殘差小塊。
劃分模式2:多個殘差小塊包括第一殘差小塊、第二殘差小塊和第三殘差小塊。第一殘差小塊包括一行像素或除第一個像素之外的一行像素的預測組,第二殘差小塊和第三殘差小塊分別為同一行中連續多個像素,且第二殘差小塊與第三殘差小塊的像素個數差最小。
在一個示例中,先按行將第三目標預測組的殘差塊劃分成多個部分,然後將其中的一個或多個部分分別作為殘差小塊;並對其中的另一個部分或多個部分進行均分或儘量均分,得到殘差小塊。
劃分模式3:多個殘差小塊包括第一殘差小塊、第二殘差小塊、第三殘差小塊和第四殘差小塊。第一殘差小塊、第二殘差小塊、第三殘差小塊和第四殘差小塊均包含連續多個像素,且第一殘差小塊、第二殘差小塊、第三殘差小塊和第四殘差小塊包含的像素個數之差最小。
在一個示例中,將第三目標預測組的殘差塊儘量均分成多個殘差小塊。例如,均分為4個殘差小塊。
以下通過具體示例對上文提供的殘差塊劃分模式進行示例性說明。
示例1:如圖29所示,為本發明實施例提供的預測組的多種殘差塊分組的示意圖。其中,圖29是以編碼單元的尺寸是16*4,且預測組是該編碼單元的第一行中除第一個元素之外的其他元素為例進行說明的。例如,該預測組可以是圖8或圖11中的Group0,圖9或圖10中的Group1-4任一種。
圖29的(a)-(e)中每個圖表示一種殘差塊劃分模式。每個圖中的每個小方格表示一個像素,同一種小方格表示同一個殘差小塊中的 像素。例如,(b)表示殘差塊被劃分成了2個殘差小塊,其中一個殘差小塊包含左斜線陰影標記的前7個像素,另一個殘差小塊包含空白標記的後8個像素。
示例2:如圖30所示,為本發明實施例提供的預測組的多種殘差塊分組的示意圖。其中,圖29是以編碼單元的尺寸是16*4,且預測組是該編碼單元的4列元素例進行說明的。例如,該預測組可以是圖8或圖11中的Group1-4任一種。
圖30的(a)-(e)中每個圖表示一種殘差塊劃分模式。每個圖中的每個小方格表示一個像素,同一種小方格表示同一個殘差小塊中的像素。
在一個示例中,同一個殘差小塊中的像素的係數編碼方式相同,或者,同一個殘差小塊中的像素的編碼長度(Coding Length,CL),即殘差係數編碼後所占的比特數,相同。
在一個示例中,上述圖29和圖30均示意出了殘差塊的5種劃分模式。在一個示例中,可以使用1個bit或3個bit表示劃分模式GPM(如表1所示)。其中的GP0-GP4可以分別對應圖29中的(a)-(e),或對應於圖30中的(a)-(e)
Figure 111143285-A0202-12-0039-1
需要說明的是,表1所示的殘差塊劃分模式的索引編碼方法也可以適用於其他實施例。例如,應用於其他尺寸的預測組的殘差塊的劃分模式,以及上述預測組的其他劃分模式。
示例3:如圖31所示,為本發明實施例提供的預測組的多種殘差塊分組的示意圖。其中,圖31是以編碼單元的尺寸是8*2,且該編碼單元被劃分為一個預測組為例進行說明的。圖31中的(a)-(e)中的每個圖中的第一個像素不是預測組的殘差塊中的像素,也就是說,其不參與殘差塊的分組。圖31中涉及的預測組可以是圖16或圖17中的預測組。(a)-(e)中的任意一個圖中,同一種陰影標記的像素表示同一個殘差小塊中的 像素。
對於圖31來說,編碼單元僅被劃分為一個預測組,該預測組的殘差塊共用5種劃分模式(即GPM)。對於這5種GPM需要1bit或3bit來進行表示其劃分方式(也如表1所示)。
同一個預測組中殘差小塊(即RB)的編碼順序為從上到下,從左到右。以圖31中的(e)為例,各RB的編碼順序依次為RB0-RB3,如圖32所示。需要說明的是,其他實施例中的殘差小塊的編碼順序,與圖32類似,可以基於圖32所示的圖式推理得到,此處不再贅述。
需要說明的是,一個殘差塊所劃分成的殘差子塊個數較多時,需要編碼的劃分模式資訊較多;一個殘差塊所劃分成的殘差子塊個數較少時,則把不同特性的殘差分在一組,殘差係數的編碼效率不高。至少兼顧這兩方面考慮,本發明實施例提供了上述殘差塊劃分方法。
以下,對視頻圖像編解碼過程中所涉及的其他步驟進行示例性說明:第一,關於高層語法實施例
高層語法為所覆蓋區域提供了統一的資訊。在所覆蓋區域的所有像素的編解碼過程中,所需的統一的資訊可通過高層語法獲得。這樣,一方面這些資訊在某個區域內只編碼一次,可有效節省碼率;另一方面,由於這些資訊相對重要,將其集中在某個特定集合中傳輸,可進行與其他普通資料的區別化保護。示例的,下面這些語法的區域可為:上述的並行編碼單元、獨立編碼單元、編碼單元、PG、RB,或圖像、圖像序列等。
這些高層語法可採用定長編碼方法或截斷一元碼方法進行編解碼。
1)最大誤差
在某個區域頭增加max_distance語法,表徵某個區域內的塊的最大誤差為max_distance,表示當前片的任何一個像素的重建像素值與原始像素值之差小於或等於max_distance;或者表示當前片的任何一個像素的重建像素值與原始像素值之差的平方小於或等於max_distance。
2)量化參數
在某個區域頭增加quantization_parameter語法,表徵某個區域內的塊 使用的量化步長,量化步長用於將殘差係數,或殘差變換後的係數進行量化,以減少碼率開銷。
在編碼quantization_parameter語法時,quantization_parameter為0,即不進行量化的概率較高,應分配較短的碼字。即通過較短的碼字表示quantization_parameter為0。一個例子為:二進位0表示quantization_parameter為0,二進位1***表示quantization_parameter大於0的情況(*表示0或1)。
3)比特深度
在某個區域頭(優選圖像頭或圖像序列頭)增加bit_depth語法,表徵某個區域內的塊的比特深度。比特深度表示每個像素的像素值採用幾個比特進行編碼,N比特的比特深度,則表示像素值的範圍是[0,2^N-1],如8比特的比特深度,則表示像素值的範圍是[0,255]。
4)是否編碼原始值標誌
在某個區域頭增加org_flag語法(二值,即僅有0,1兩種值),表徵某個區域內的塊是否直接編碼原始像素值。若org_flag為1,則某個區域內的塊直接編碼原始值,即每個像素採用bit_depth位元直接編碼,而不需要再傳遞預測資訊、預測值、殘差資訊等其他資訊。該方法是為了避免上述預測方法無用時(如雜訊比較大部分圖像塊),帶來資料過膨脹(即壓縮後的資料反而明顯大於原始資料)。
5)圖像基本資訊
在某個區域頭(優選圖像頭或圖像序列頭)增加圖像的基本資訊語法,表徵圖像的基本資訊,如解析度(即圖像的寬和高),圖像亮色度格式(YUV 444,YUV 420,YUV 422,RGB 444等)等。
6)各分量重要性
若圖像由多個分量,則在某個區域頭(優選圖像頭或圖像序列頭)增加各分量重要性的相關語法。如增加luma_weight語法,表示圖像中YUV三個分量的重要性比例是luma_weight:1:1。
7)並行編碼單元語法和限制
在圖像頭或圖像序列頭,傳遞並行獨立編碼單元尺寸相關資訊。
方案1:傳遞並行獨立編碼單元的寬para_unit_width和高para_unit_height。則將圖像分成多個尺寸相等(除了每一行末尾和每一列末尾的並行獨立編碼單元)的並行獨立編碼單元。
方案1:傳遞並行獨立編碼單元含有的編碼單元(或獨立編碼單元)個數N_CU。則將圖像分成多個含有相同編碼單元數目(除了每一行末尾和每一列末尾的並行獨立編碼單元)的並行獨立編碼單元。
不同的並行編碼單元內的塊不可進行相互參考,以保證並行編解碼。
8)Length map輸出
在圖像頭或圖像序列頭,傳遞length map資訊,用於存儲每個獨立編碼單元起始碼流與當前圖像起始碼流的偏移資訊。該偏移需進行K(K優選為8或16)位元組對齊。length map資訊用於當前圖像每個獨立編碼單元的隨機索引,即想獲得圖像中任何一個獨立編碼單元的資訊時,不需要將其前面所有的獨立編碼單元碼流進行解碼。
第二,特殊情況處理
1)行末補齊
設基本處理單元的尺寸為寬w_unit和高h_unit。
若圖像寬不為w_unit的整數倍或高不為h_unit的整數倍時,則通過最近鄰方法進行填充使其滿足寬為w_unit的整數倍或高為h_unit的整數倍(圖像右側邊界通過複製左側最近鄰可用像素進行填充,圖像下側邊界通過複製上側最近鄰可用像素進行填充),然後再按照常規的方法進行編碼。
2)行末或圖像末尾碼流補齊
在某行(或圖像)的最後一個塊的結尾,若當前塊之前累積碼流總數不是8bit的倍數,則通過補0或補1的方式進行補齊,使得累積碼流總數位元組對齊。
3)殘差資訊寫入
殘差寫入時考慮硬體需求,以FxF(F優選為4或2)為基本單元寫入,而不是按照從上到下,從左到右的光柵掃描順序。
需要說明的是,上述各個實施例中的部分特徵或者全部特徵,在不衝突的情況下,可以任意合適的方式進行組合得到新的實施例。
可以理解的是,為了實現上述實施例中功能,視頻編碼器/視頻解碼器包括了執行各個功能相應的硬體結構和/或軟體模組。本領域技術人員應該很容易意識到,結合本發明中所公開的實施例描述的各示例的單元及方法步驟,本發明能夠以硬體或硬體和電腦軟體相結合的形式來實現。某個功能究竟以硬體還是電腦軟體驅動硬體的方式來執行,取決於技術方案的特定應用場景和設計約束條件。
圖33為本發明提供的一種解碼裝置300的結構示意圖,上述任一種解碼方法實施例都可以用該解碼裝置執行。該解碼裝置300包括熵解碼單元3001、預測處理單元3002和解碼單元3003。在一個示例中,該解碼裝置可以是圖1中的目的設備12。在另一個示例中,該解碼裝置可以是圖1中的解碼器122,或圖3中的解碼器30。
在一個示例中,熵解碼單元3001可以通過圖3中的熵解碼單元301實現。預測處理單元3002可以通過圖3中的預測處理單元304實現。解碼單元3003可以通過圖3中的重構單元305實現,在一個示例中,解碼單元3003還可以通過圖3中的重構單元305和濾波器單元306實現。圖3中的當前圖像塊可以是本實施例中的待解碼單元。
熵解碼單元3001,用於解析碼流,以得到語法元素,其中,所述語法元素用於獲得待解碼單元的殘差塊,所述待解碼單元包括至少一個預測組。例如,熵解碼單元3001可以用於執行圖7中的步驟S201。
預測處理單元3002,用於確定所述至少一個預測組中的任意一個預測組的預測模式;以及,基於所述預測模式對所述任意一個預測組進行預測,得到所述任意一個預測組的預測值。例如,預測處理單元3002可以用於執行圖7中的步驟S202-S203。
解碼單元3003,用於基於所述待解碼單元的殘差塊和所述任意一個預測組的預測值,解碼所述待解碼單元。例如,解碼單元3003可以用於執行圖7中的步驟S204。
有關上述熵解碼單元3001、預測處理單元3002和解碼單元 3003更詳細的描述及其有益效果的描述可以直接參考圖7所示的方法實施例中相關描述直接得到,這裡不加贅述。
圖34為本發明提供的一種編碼裝置3100的結構示意圖,該編碼裝置3100包括:劃分單元3101、預測處理單元3102、殘差計算單元3103和編碼單元3104。在一個示例中,該編碼裝置可以是圖1中的源設備11。在另一個示例中,該編碼裝置可以是圖1中的編碼器112,或圖2中的編碼器20。
在一個示例中,預測處理單元3102、殘差計算單元3103和編碼單元3104可以分別通過圖2中的預測處理單元201、殘差計算單元202和熵編碼單元205實現。需要說明的是,劃分單元3101可以是用於獲得圖2中當前圖像塊的單元。圖2中的當前圖像塊可以是本實施例中的編碼單元。
有關上述劃分單元3101、預測處理單元3102、殘差計算單元3103和編碼單元3104更詳細的描述及其有益效果的描述可以直接參考圖5所示的方法實施例中相關描述直接得到,這裡不加贅述。
本發明還提供一種電子設備,用於執行上述任意解碼方法實施例。如圖35所示,圖35為本發明提供的一種電子設備的結構示意圖,該電子設備3200包括處理器3210和通信介面3220。處理器3210和通信介面3220之間相互耦合。可以理解的是,通信介面3220可以為收發器或輸入輸出介面。在一個示例中,電子設備3200還可以包括記憶體3230,用於存儲處理器3210執行的指令或存儲處理器3210運行指令所需要的輸入資料,或存儲處理器3210運行指令後產生的資料。
當電子設備3200用於實現圖7所示的方法時,處理器3210和通信介面3220用於執行上述熵解碼單元3001、預測處理單元3002和解碼單元3003的功能。
當電子設備3200用於實現圖5所示的方法時,處理器3210和通信介面3220用於執行上述劃分單元3101、預測處理單元3102、殘差計算單元3103和編碼單元3104的功能。
本發明實施例中不限定上述通信介面3220、處理器3210以及 記憶體3230之間的具體連接介質。本發明實施例在圖35中以通信介面3220、處理器3210以及記憶體3230之間通過匯流排3240連接,匯流排在圖35中以粗線表示,其它部件之間的連接方式,僅是進行示意性說明,並不引以為限。所述匯流排可以分為位址匯流排、資料匯流排、控制匯流排等。為便於表示,圖35中僅用一條粗線表示,但並不表示僅有一根匯流排或一種類型的匯流排。
記憶體3230可用於存儲軟體程式及模組,如本發明實施例所提供的解碼方法或編碼方法對應的程式指令/模組,處理器3210通過執行存儲在記憶體3230內的軟體程式及模組,從而執行各種功能應用以及資料處理。該通信介面3220可用於與其他設備進行信令或資料的通信。在本發明中該電子設備3200可以具有多個通信介面3220。
可以理解的是,本發明的實施例中的處理器可以是中央處理器(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 Read-Only Memory,PROM)、可擦除可程式唯讀記憶體(Erasable Programmable Read-Only Memory,EPROM)、電可擦除可程式唯讀記憶體(Electrically Erasable Programmable Read-Only Memory,EEPROM)、寄存器、硬碟、移動硬碟、光碟唯讀記憶體(Compact Disc Read-Only Memory,CD-ROM)或者本領域熟知的任何其它形式的存儲介質中。一種示例性的存儲介質耦合至處理器,從而使處理器能夠從該存 儲介質讀取資訊,且可向該存儲介質寫入資訊。當然,存儲介質也可以是處理器的組成部分。處理器和存儲介質可以位於ASIC中。另外,該ASIC可以位於網路設備或終端設備中。當然,處理器和存儲介質也可以作為分立元件存在於網路設備或終端設備中。
在上述實施例中,可以全部或部分地通過軟體、硬體、韌體或者其任意組合來實現。當使用軟體實現時,可以全部或部分地以電腦程式產品的形式實現。所述電腦程式產品包括一個或多個電腦程式或指令。在電腦上載入和執行所述電腦程式或指令時,全部或部分地執行本發明實施例所述的流程或功能。所述電腦可以是通用電腦、專用電腦、電腦網路、網路設備、使用者設備或者其它可程式設計裝置。所述電腦程式或指令可以存儲在電腦可讀存儲介質中,或者從一個電腦可讀存儲介質向另一個電腦可讀存儲介質傳輸,例如,所述電腦程式或指令可以從一個網站網站、電腦、伺服器或資料中心通過有線或無線方式向另一個網站網站、電腦、伺服器或資料中心進行傳輸。所述電腦可讀存儲介質可以是電腦能夠存取的任何可用介質或者是集成一個或多個可用介質的伺服器、資料中心等資料存放裝置。所述可用介質可以是磁性介質,例如,磁片、硬碟、磁帶;也可以是光介質,例如,數位影音光碟(Digital Video Disc,DVD);還可以是半導體介質,例如,固態硬碟(Solid State Drive,SSD)。
在本發明的各個實施例中,如果沒有特殊說明以及邏輯衝突,不同的實施例之間的術語和/或描述具有一致性、且可以相互引用,不同的實施例中的技術特徵根據其內在的邏輯關係可以組合形成新的實施例。本發明中,“至少一個”是指一個或者多個,“多個”是指兩個或兩個以上。“和/或”,描述關聯物件的關聯關係,表示可以存在三種關係,例如,A和/或B,可以表示:單獨存在A,同時存在A和B,單獨存在B的情況,其中,A,B可以是單數或者複數。在本發明的文字描述中,字元“/”,一般表示前後關聯物件是一種“或”的關係;在本發明的公式中,字元“/”,表示前後關聯物件是一種“相除”的關係。
可以理解的是,在本發明的實施例中涉及的各種數字編號僅為描述方便進行的區分,並不用來限制本發明的實施例的範圍。上述各過 程的序號的大小並不意味著執行順序的先後,各過程的執行順序應以其功能和內在邏輯確定。
S201,S202,S203,S204:步驟

Claims (20)

  1. 一種圖像解碼方法,其特徵在於,包括:
    解析碼流,以得到語法元素,其中,所述語法元素用於獲得待解碼單元的殘差塊,所述待解碼單元包括至少一個預測組;
    確定所述至少一個預測組中的任意一個預測組的預測模式;
    基於所述預測模式對所述任意一個預測組進行預測,得到所述任意一個預測組的預測值;
    基於所述待解碼單元的殘差塊和所述至少一個預測組的預測值,解碼所述待解碼單元。
  2. 如請求項1所述的方法,其中,所述任意一個預測組包括:
    所述待解碼單元中的一行像素;或者,
    所述待解碼單元中的一列像素,或連續多列像素,或連續多個奇數列像素,或連續多個偶數列像素。
  3. 如請求項1所述的方法,其中,所述至少一個預測組包括:
    按照垂直等分方式將所述待解碼單元劃分成的多個預測組;或者,
    按照水平等分方式將所述待解碼單元劃分成的多個預測組;或者,
    按照預設比例沿垂直方向將所述待解碼單元劃分成的多個預測組;或者,
    按照預設比例沿水平方向將所述待解碼單元劃分成的多個預測組。
  4. 如請求項1所述的方法,其中,所述至少一個預測組包括多個預測組;所述多個預測組中的至少兩個預測組的預測模式不同。
  5. 如請求項1所述的方法,其中,
    所述任意一個預測組的預測模式包括水平預測、垂直預測、水平均值預測和垂直均值預測中的至少一種;或者,
    所述任意一個預測組的預測模式包括採用與所述待解碼單元的相鄰解 碼單元,或與所述待解碼單元所在的獨立解碼單元相鄰的獨立解碼單元的像素值進行參考預測。
  6. 如請求項1所述的方法,其中,所述任意一個預測組為色度預測組或亮度預測組。
  7. 如請求項1所述的方法,其中,
    所述語法元素還包括所述待解碼單元的劃分模式的標識資訊,所述劃分模式是所述待解碼單元被劃分為所述至少一個預測組時所使用的劃分方式;和/或,
    所述語法元素還包括所述任意一個預測組的預測模式。
  8. 如請求項1所述的方法,其中,所述語法元素具體用於獲得所述殘差塊所劃分的至少一個殘差小塊,以獲得所述殘差塊。
  9. 如請求項8所述的方法,其中,所述語法元素還包括所述殘差塊的分組方式的索引資訊,不同的索引資訊用於指示不同的分組方式。
  10. 如請求項1所述的方法,其中,所述語法元素還包括第一指標,所述第一指標用於指示對所述殘差塊進行分組或不進行分組。
  11. 如請求項8至10中任一項所述的方法,其特徵在於,所述殘差塊包括亮度殘差塊或色度殘差塊。
  12. 如請求項1所述的方法,其中,
    所述語法元素具體包括所述殘差塊經變換、量化和係數編碼後得到的第一資訊;所述方法還包括:
    對所述第一資訊進行係數解碼、反量化、反變換後,得到所述殘差塊;或者,
    所述語法元素具體包括所述殘差塊的任意一個殘差小塊經變換、量化和係數編碼後得到的第二資訊;所述方法還包括:
    對所述第二資訊進行係數解碼、反量化、反變換後,得到所述任意一個殘差小塊。
  13. 如請求項1所述的方法,其中,所述殘差塊是所述待解 碼單元細微性的殘差塊,或者是所述預測塊細微性的殘差塊。
  14. 如請求項1至10、12、13中任一項所述的方法,其特徵在於,所述待解碼單元的寬的尺寸大於高的尺寸,且所述高的尺寸小於等於預設閾值。
  15. 一種圖像編碼方法,其特徵在於,包括:
    將編碼單元劃分為至少一個預測組;
    對於所述至少一個預測組中的任意一個預測組,按照所對應的預測模式,對所述任意一個預測組進行預測,得到所述任意一個預測組的預測值;
    基於所述至少一個預測組的預測值,得到所述編碼單元的殘差塊;
    對所述編碼單元的殘差塊進行編碼。
  16. 一種圖像解碼裝置,其特徵在於,包括:
    熵解碼單元,用於解析碼流,以得到語法元素,其中,所述語法元素用於獲得待解碼單元的殘差塊,所述待解碼單元包括至少一個預測組;
    預測處理單元,用於確定所述至少一個預測組中的任意一個預測組的預測模式;以及,基於所述預測模式對所述任意一個預測組進行預測,得到所述任意一個預測組的預測值;
    解碼單元,用於基於所述待解碼單元的殘差塊和所述至少一個預測組的預測值,解碼所述待解碼單元。
  17. 一種圖像編碼裝置,其特徵在於,包括:
    劃分單元,用於將編碼單元劃分為至少一個預測組;
    預測處理單元,用於對於所述至少一個預測組中的任意一個預測組,按照所對應的預測模式,對所述任意一個預測組進行預測,得到所述任意一個預測組的預測值;
    殘差計算單元,用於基於所述任意一個預測組的預測值,得到所述編碼單元的殘差塊;
    編碼單元,用於對所述編碼單元的殘差塊進行編碼。
  18. 一種圖像解碼系統,其特徵在於,包括編碼端和解碼端,所述編碼端與所述解碼端通信連接,所述解碼端用於實現請求項1至14中 任一項所述的方法,所述編碼端用於實現請求項15所述的方法。
  19. 一種電子設備,其特徵在於,包括處理器和記憶體,所述記憶體用於存儲電腦指令,所述處理器用於從記憶體中調用並運行所述電腦指令,實現請求項1至15中任一項所述的方法。
  20. 一種電腦可讀存儲介質,其特徵在於,所述存儲介質中存儲有電腦程式或指令,當所述電腦程式或指令被電子設備執行時,實現請求項1至15中任一項所述的方法。
TW111143285A 2021-11-11 2022-11-11 圖像解碼方法及裝置、圖像編碼方法及裝置 TW202327356A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111335613.7 2021-11-11
CN202111335613.7A CN116074500A (zh) 2021-11-11 2021-11-11 图像解码方法、编码方法及装置

Publications (1)

Publication Number Publication Date
TW202327356A true TW202327356A (zh) 2023-07-01

Family

ID=86172128

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111143285A TW202327356A (zh) 2021-11-11 2022-11-11 圖像解碼方法及裝置、圖像編碼方法及裝置

Country Status (4)

Country Link
KR (1) KR20240108463A (zh)
CN (2) CN116074500A (zh)
TW (1) TW202327356A (zh)
WO (1) WO2023083239A1 (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101394565B (zh) * 2008-10-20 2011-08-17 成都九洲电子信息系统有限责任公司 一种帧内预测方法
WO2018068259A1 (zh) * 2016-10-13 2018-04-19 富士通株式会社 图像编码/解码方法、装置以及图像处理设备
EP3890321A4 (en) * 2018-12-15 2022-05-11 Huawei Technologies Co., Ltd. IMAGE RECONSTRUCTION METHOD AND APPARATUS
US11825120B2 (en) * 2019-02-28 2023-11-21 Qualcomm Incorporated Subblock coding by generalized intra prediction in video coding
CN110234008B (zh) * 2019-03-11 2020-06-16 杭州海康威视数字技术股份有限公司 编码方法、解码方法及装置
CN113038125B (zh) * 2021-05-28 2021-10-22 杭州博雅鸿图视频技术有限公司 帧内预测模式选择方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN116074500A (zh) 2023-05-05
WO2023083239A1 (zh) 2023-05-19
CN116546193A (zh) 2023-08-04
KR20240108463A (ko) 2024-07-09

Similar Documents

Publication Publication Date Title
TWI812694B (zh) 以角度模式延伸之位置相關框內預測組合
WO2020253828A1 (zh) 一种编解码方法、装置及存储介质
TW201841501A (zh) 用於視訊寫碼之多種類型樹架構
WO2020125595A1 (zh) 视频译码器及相应方法
TW202112135A (zh) 用於視訊寫碼之色度內預測單元
CN110868604A (zh) 与扩展四叉树相关的分割的二值化
TW202127884A (zh) 用於用於視訊譯碼的跨分量適應性環路濾波的位元位移
WO2023236936A1 (zh) 一种图像编解码方法及装置
WO2024022359A1 (zh) 一种图像编解码方法及装置
WO2023272533A1 (zh) 编解码方法、编码器、解码器以及存储介质
WO2022217442A1 (zh) 系数编解码方法、编码器、解码器以及计算机存储介质
WO2023083239A1 (zh) 图像解码方法及装置、图像编码方法及装置
CN116156168A (zh) 一种图像编解码方法及装置
TWI832661B (zh) 圖像編解碼的方法、裝置及存儲介質
TWI853514B (zh) 圖像編解碼方法、裝置、電子設備及儲存媒體
TWI829424B (zh) 解碼方法、編碼方法及裝置
WO2023185806A1 (zh) 一种图像编解码方法、装置、电子设备及存储介质
TWI855720B (zh) 圖像編解碼方法及裝置
TWI821013B (zh) 視頻編解碼方法及裝置
WO2024152352A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
WO2022217417A1 (zh) 编解码方法、编码器、解码器以及存储介质
WO2024022039A1 (zh) 一种视频图像解码方法、编码方法、装置及存储介质
WO2024022367A1 (zh) 图像解码方法、编码方法及装置
WO2022193389A1 (zh) 视频编解码方法与系统、及视频编解码器
EP3518542A1 (en) Methods and devices for picture encoding and decoding using multiple transforms