TWI832661B - 圖像編解碼的方法、裝置及存儲介質 - Google Patents

圖像編解碼的方法、裝置及存儲介質 Download PDF

Info

Publication number
TWI832661B
TWI832661B TW112100625A TW112100625A TWI832661B TW I832661 B TWI832661 B TW I832661B TW 112100625 A TW112100625 A TW 112100625A TW 112100625 A TW112100625 A TW 112100625A TW I832661 B TWI832661 B TW I832661B
Authority
TW
Taiwan
Prior art keywords
prediction
block
mode
unit
pixel
Prior art date
Application number
TW112100625A
Other languages
English (en)
Other versions
TW202345595A (zh
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 TW202345595A publication Critical patent/TW202345595A/zh
Application granted granted Critical
Publication of TWI832661B publication Critical patent/TWI832661B/zh

Links

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/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/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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

Abstract

本發明公開了圖像編解碼方法、裝置及存儲介質,涉及圖像編解碼技術領域,有助於提高編解碼效率。一種圖像解碼方法包括:解析碼流,以得到第一語法元素,第一語法元素包括待解碼單元的目標預測模式的索引;基於目標預測模式的索引,從索引表中確定目標預測模式;其中,該索引表包含多種預測模式的索引與多種預測模式之間的對應關係;至少基於目標預測模式,對待解碼單元進行重建,得到重建塊。

Description

圖像編解碼的方法、裝置及存儲介質
本發明涉及圖像編解碼技術領域,尤其涉及圖像編解碼的方法、裝置及存儲介質。
視頻中完整的圖像通常被稱為“幀”,由多個幀按照時間順序組成的視頻被稱為視頻序列(Video Sequence)。視頻序列存在空間冗餘、時間冗餘、視覺冗餘、資訊熵冗餘、結構冗餘、知識冗餘、重要性冗餘等一系列的冗餘資訊。為了盡可能的去除視頻序列中的冗餘資訊,減少表徵視頻的資料量,提出了視頻編碼(Video Coding)技術,以達到減小存儲空間和節省傳輸頻寬的效果。視頻編碼技術也可稱為視訊壓縮技術。
隨著技術的不斷發展,採集視頻資料越來越便捷,所採集的視頻資料的規模也越來越大。因此,如何有效地對視頻資料進行編解碼,成為迫切需要解決的問題。
本發明提供圖像編解碼的方法、裝置及存儲介質,用於對視頻資料進行有效編解碼,從而提高編解碼效率。為了達到上述目的,本發明採用如下技術方案。
第一方面,提供一種圖像解碼方法,包括:解析碼流,以得到第一語法元素,第一語法元素包括待解碼單元的目標預測模式的索引;基於目標預測模式的索引,從索引表中確定目標預測模式, 該索引表包含多種預測模式的索引與多種預測模式之間的對應關係;至少基於目標預測模式,對待解碼單元進行重建,得到重建塊。該技術方案可以直接基於目標預測模式的索引,從索引表中確定目標預測模式,而不需要解析標記位元org_flag,因此降低了解碼端的解碼複雜度,從而提高解碼效率。
在一種可能的實現方式中,多種預測模式的索引按照截斷一元碼方式生成。這有助於進一步降低碼流傳輸開銷。
在一種可能的實現方式中,多種預測模式的索引按照二叉樹方式生成。
在一種可能的實現方式中,多種預測模式包括原始值模式和其他預測模式,原始值模式的索引的碼字長度大於或等於其他預測模式中的一種或多種預測模式的索引的碼字長度。由於一些其他預測模式的使用頻率較原始值模式的使用頻率高,將其索引的碼字長度設置的較短,有助於進一步降低碼流傳輸開銷。
在一種可能的實現方式中,其他預測模式包括以下至少一種:點預測模式、幀內預測模式或塊複製模式。
在一種可能的實現方式中,解析該碼流還可以得到第二語法元素,第二語法元素包括待解碼單元的殘差編碼模式的索引。相應地,至少基於目標預測模式,對待解碼單元進行重建,得到重建塊,包括:如果殘差編碼模式的索引用於指示跳過殘差編碼模式,則對待解碼單元進行預測,得到預測塊,並將待解碼單元的預測塊確定為待解碼單元的重建塊;如果殘差編碼模式的索引用於指示正常殘差編碼模式,則解析待解碼單元的殘差量化相關值,得到殘差塊,並基於目標預測模式和待解碼單元的殘差塊,對待解碼單元進行重建,得到重建塊。
在一種可能的實現方式中,其他預測模式包括以下至少一種:基於正常殘差編碼的逐點預測模式、幀內預測模式、塊複製 模式,基於跳過殘差編碼的逐點預測模式、幀內預測模式或塊複製模式。
在一種可能的實現方式中,至少基於目標預測模式,對待解碼單元進行重建,得到重建塊,包括:如果目標預測模式是基於跳過殘差編碼的逐點預測模式、幀內預測模式或塊複製模式,則將待解碼單元的預測塊確定為待解碼單元的重建塊;如果目標預測模式是基於正常殘差編碼的逐點預測模式、幀內預測模式或塊複製模式,則解析待解碼單元的殘差量化相關值,得到待解碼單元的殘差塊,並基於目標預測模式和待解碼單元的殘差塊對待解碼單元進行重建,得到待解碼單元的重建塊。
在一種可能的實現方式中,待解碼單元包括至少一個預測組;該至少一個預測組中的任意一個預測組包括處於同一行/列的連續多個像素;任意一個預測組中包括第一指定像素區域和第二指定像素區域,第二指定像素區域包括多個像素組,多個像素組根據第一指定像素區域劃分得到,第一指定像素區域與第二指定像素區域的預測方式不同,多個像素組能並行預測,像素組包括一個或連續多個像素。
在一種可能的實現方式中,如果任意一個預測組包括處於同一行的連續多個元素,則:第一指定像素區域採用垂直預測,第二指定像素區域採用水平預測或垂直均值預測。
在一種可能的實現方式中,如果任意一個預測組包括處於同一列的連續多個元素,則:第一指定像素區域採用水平預測,第二指定像素區域採用垂直預測或水平均值預測。
在一種可能的實現方式中,不同像素組所包含的像素數量之差相等或小於閾值。
在一種可能的實現方式中,如果待解碼單元不存在參考塊,則待解碼單元的第一個像素的重建值為待解碼單元的比特位元 寬左移1位後得到的值。
在一種可能的實現方式中,待解碼單元包括至少一個預測組;該至少一個預測組中的任意一個預測組包含連續多個像素;至少基於目標預測模式,對待解碼單元進行重建,得到重建塊,包括:當目標預測模式滿足預設條件時,基於連續多個像素中的首個像素的參考值,以及首個像素與目標像素之間每相鄰兩個像素的殘差值,確定目標像素的重建值,目標像素是連續多個像素中的任意一個非首個像素,待解碼單元的重建塊包含目標像素的重建值。
在一種可能的實現方式中,首個像素採用第一預測方式,非首個像素採用第二預測方式;目標預測模式包括第一預測方式和第二預測方式,目標預測模式滿足預設條件包括:第一預測方式和第二預測方式均為水平預測;或者,第一預測方式和第二預測方式均為垂直預測;或者,第一預測方式和第二預測方式的其中一種是水平預測,另一種是垂直預測;或者,第一預測方式是採用與待解碼單元的相鄰解碼單元,或與待解碼單元所在的獨立解碼單元相鄰的獨立解碼單元的像素值進行參考預測的方式,第二預測方式是水平預測或垂直預測。
第二方面,提供一種圖像編碼方法,包括:確定待編碼單元的目標預測模式;基於目標預測模式,從索引表中確定目標預測模式的索引,索引表包含多種預測模式的索引與多種預測模式之間的對應關係;將目標預測模式的索引編入碼流。該技術方案直接基於目標預測模式從索引表中確定目標預測模式的索引,而無需在碼流中編入目標預測模式是否為原始值模式的索引(如標記位元org_flag)。由於大多數情況下不採用原始值模式,例如,通常採用的是逐點預測模式或幀內預測模式,因此,無需編碼代表是否使用原始值模式的標記位元(org_flag)有助於節省碼流傳輸開銷,從而提高編碼效率。
在一種可能的實現方式中,多種預測模式的索引按照 截斷一元碼方式生成。
在一種可能的實現方式中,多種預測模式的索引按照二叉樹方式生成。
在一種可能的實現方式中,多種預測模式包括原始值模式和其他預測模式,原始值模式的索引的碼字長度大於或等於其他預測模式中的一種或多種預測模式的索引的碼字長度。
在一種可能的實現方式中,其他預測模式包括以下至少一種:點預測模式、幀內預測模式或塊複製模式。
在一種可能的實現方式中,其他預測模式包括以下至少一種:基於正常殘差編碼的逐點預測模式、幀內預測模式、塊複製模式,基於跳過殘差編碼的逐點預測模式、幀內預測模式或塊複製模式。
第三方面,提供一種圖像重建方法,可以應用於圖像編碼方法,也可以應用於圖像解碼方法。該圖像重建方法包括:確定當前圖像塊的殘差編碼模式;如果殘差編碼模式為跳過殘差編碼模式,則對當前圖像塊進行預測,得到預測塊,並將預測塊確定為當前圖像塊的重建塊;如果殘差編碼模式為正常殘差編碼模式,則獲取當前圖像塊的殘差量化相關值,得到殘差塊,並基於殘差塊,對當前圖像塊進行重建,得到當前圖像塊的重建塊。
本技術方案中,先確定殘差編碼模式,再在殘差編碼模式為正常殘差編碼模式才獲取當前圖像塊的殘差量化相關值,在殘差編碼模式為跳過殘差編碼模式時,不需要獲取當前圖像塊的殘差量化相關值。這樣,在殘差編碼模式為正常殘差編碼模式的情況下,編碼端不需要將當前圖像塊的殘差量化相關值編入碼流,解碼端不需要解析當前圖像塊的殘差量化相關值,因此有助於節省碼流傳輸開銷,從而提高編碼效率;且有助於降低解碼複雜度,從而提高解碼效率。
第四方面,提供一種圖像重建方法,可以應用於圖像 編碼方法,也可以應用於圖像解碼方法。該圖像重建方法包括:確定當前圖像塊的目標預測模式;如果目標預測模式為基於跳過殘差編碼的預測模式,則對前圖像塊進行預測,得到預測塊,並將預測塊確定為重建塊;如果目標預測模式為基於正常殘差編碼的預測模式,則獲取前圖像塊的殘差量化相關值,得到前圖像塊的殘差塊,並基於目標預測模式和殘差塊對前圖像塊進行重建,得到重建塊。
該技術方案中,通過將傳統的殘差編碼模式與預測模式結合作為本發明實施例提供的新的預測模式,不需要對殘差編碼模式和預測模式分別進行編碼(解碼),僅需要統一對該新的預測模式進行編碼(解碼)即可,實現邏輯簡單,且有助於節省碼流傳輸開銷。並且,對於編碼端(或解碼端)而言,可以先編碼(或解碼)殘差編碼模式資訊(如殘差編碼模式的索引,如res_skip_flag),再基於殘差編碼模式確實是否編碼(或解碼)殘差量化相關值(如near值,或QP值),這使得,在殘差編碼模式是跳過殘差編碼模式時,不需要編碼(或解碼)殘差量化相關值,有助於節省碼流傳輸開銷。
在一種可能的實現方式中,基於跳過殘差編碼的預測模式,包括:基於跳過殘差編碼的逐點預測模式、幀內預測模式或塊複製模式。
在一種可能的實現方式中,基於正常殘差編碼的預測模式,包括:基於正常殘差編碼的逐點預測模式、幀內預測模式或塊複製模式。
第五方面,提供一種圖像重建方法,可以應用於圖像編碼方法,也可以應用於圖像解碼方法。該圖像重建方法包括:確定當前圖像塊所劃分的至少一個預測組的預測模式;其中,至少一個預測組中的任意一個預測組包括處於同一行/列的連續多個像素;任意一個預測組中包括第一指定像素區域和第二指定像素區域,第二指定像素區域包括多個像素組,多個像素組根據第一指定像素區域劃分得 到,第一指定像素區域與第二指定像素區域的預測方式不同,多個像素組之間能並行預測,像素組包括一個或連續多個像素;基於至少一個預測組的預測模式,對當前圖像塊進行重建,得到重建塊。該技術方案中,一個預測組中的多個像素組之間能並行預測,因此有助於縮短該預測組的預測耗時。
在一種可能的實現方式中,如果任意一個預測組包括處於同一行的連續多個元素,則:第一指定像素區域採用垂直預測,第二指定像素區域採用水平預測或垂直均值預測。
在一種可能的實現方式中,如果任意一個預測組包括處於同一列的連續多個元素,則:第一指定像素區域採用水平預測,第二指定像素區域採用垂直預測或水平均值預測。
在一種可能的實現方式中,不同像素組所包含的像素數量之差相等或小於閾值。
在一種可能的實現方式中,如果當前圖像塊不存在參考塊,則當前圖像塊的第一個像素的重建值為當前圖像塊的比特位元寬左移1位後得到的值。
第六方面,提供可以應用於圖像編碼方法,也可以應用於圖像解碼方法。該圖像重建方法包括:確定當前圖像塊的目標預測模式;其中,當前圖像塊包括至少一個預測組;至少一個預測組中的任意一個預測組包含連續多個像素;當目標預測模式滿足預設條件時,基於連續多個像素中的首個像素的參考值,以及首個像素與目標像素之間每相鄰兩個像素的殘差值,確定目標像素的重建值;其中,目標像素是連續多個像素中的任意一個非首個像素,當前圖像塊的重建塊包括包含目標像素的重建值。
該技術方案,編碼端/解碼端在執行重建時,可以直接基於其在前的像素與其相鄰的像素的殘差值,即可獲得當前像素的重建值,而不需要等待獲得其在前的像素的重建值,該方案也可以大大 提高重建過程的並行度,從而提高解碼並行度和吞吐率。
在一種可能的實現方式中,首個像素採用第一預測方式,非首個像素採用第二預測方式;目標預測模式包括第一預測方式和第二預測方式,目標預測模式滿足預設條件包括:第一預測方式和第二預測方式均為水平預測;或者,第一預測方式和第二預測方式均為垂直預測;或者,第一預測方式和第二預測方式的其中一種是水平預測,另一種是垂直預測;或者,第一預測方式是採用與當前圖像塊的相鄰解碼單元,或與當前圖像塊所在的獨立解碼單元相鄰的獨立解碼單元的像素值進行參考預測的方式,第二預測方式是水平預測或垂直預測。
第七方面,提供一種圖像解碼裝置,該解碼裝置可以是視頻解碼器或包含視頻解碼器的設備。該解碼裝置包括用於實現第一方面、第三方面、第四方面或第五方面中任一種可能實現方式中方法的各個模組。所述解碼裝置具有實現上述相關方法實例中行為的功能。所述功能可以通過硬體實現,也可以通過硬體執行相應的軟體實現。所述硬體或軟體包括一個或多個與上述功能對應的模組。其有益效果可以參見相應方法中的描述,此處不再贅述。
第八方面,提供一種圖像編碼裝置,該編碼裝置可以是視訊編碼器或包含視訊編碼器的設備。該編碼裝置包括用於實現第二方面、第三方面、第四方面或第五方面中任一種可能實現方式中方法的各個模組。所述編碼裝置具有實現上述相關方法實例中行為的功能。所述功能可以通過硬體實現,也可以通過硬體執行相應的軟體實現。所述硬體或軟體包括一個或多個與上述功能對應的模組。其有益效果可以參見相應方法中的描述,此處不再贅述。
第九方面,本發明提供一種電子設備,包括處理器和記憶體,所述記憶體用於存儲電腦指令,所述處理器用於從記憶體中調用並運行所述電腦指令,以實現第一方面至第六方面中任一種實現 方式的方法。例如,該電子設備可以是指視訊編碼器,或包括視訊編碼器的設備。又如,該電子設備可以是指視頻解碼器,或包括視頻解碼器的設備。
第十方面,本發明提供一種電腦可讀存儲介質,存儲介質中存儲有電腦程式或指令,當電腦程式或指令被計算設備或計算設備所在的存儲系統執行時,以實現第一方面至第六方面中任一種實現方式的方法。
第十一方面,本發明提供一種電腦程式產品,該計算程式產品包括指令,當電腦程式產品在計算設備或處理器上運行時,使得計算設備或處理器執行該指令,以實現第一方面至第六方面中任一種實現方式的方法。
第十二方面,本發明提供一種晶片,包括記憶體和處理器,記憶體用於存儲電腦指令,處理器用於從記憶體中調用並運行該電腦指令,以實現第一方面至第六方面中任一種實現方式的方法。
第十三方面,本發明提供一種圖像解碼系統,該圖像解碼系統包括編碼端和解碼端,解碼端用於實現第一至第六方面提供的相應的解碼方法,編碼端用於實現與此對應的編碼方法。
本發明在上述各方面提供的實現方式的基礎上,還可以進行進一步組合以提供更多實現方式。或者說,上述任意一個方面的任意一種可能的實現方式,在不衝突的情況下,均可以應用於其他方面,從而得到新的實施例。例如,上述第三至第五方面提供的任意一種圖像重建方法,可以應用於第一方面或第二方面提供的任意一種編碼方法或解碼方法中。又如,上述第三至第五方面提供的任意兩種重建方法在不衝突的情況下,可以合併,從而得到新的重建方法。
1,2:並行編碼單元
10:編解碼系統
11:源設備
111:圖像前置處理器
112,20:編碼器
113,121:通信介面
12:目的設備
122,30:解碼器
123:圖像後處理器
201,304:預測處理單元
202:殘差計算單元
203:殘差編碼單元
204:量化單元
205:係數編碼單元
206,302:反量化單元
207,303:殘差解碼單元
208,305:重構單元
209,306:濾波器單元
3000:解碼裝置
3002,3201,3301,3401,3501:確定單元
3003,3203,3303,3402,3502:重建單元
301,3001:碼流解析單元
3100:編碼裝置
3101,3202,3302:預測單元
3102:編碼單元
3200,3300,3400,3500:編碼裝置/解碼裝置
3304:獲取單元
3600:電子設備
3610:處理器
3620:介面電路
3640:匯流排
S101,S102,S103,S201,S202,S203,S301,S302,S303,S304,S305,S401,S402,S403,S501,S502,S503,S504,S601,S602,S603,S701,S702,S801,S802,S901,S901Y,S902,S902Y,S903,S904,S905,S906,S907,S908,S909:步驟
圖1為本發明實施例提供的多種預測方式的示意圖; 圖2為本發明實施例所應用的編解碼系統的架構示意圖;圖3為用於實現本發明實施例的編碼器的實例的示意性框圖;圖4為本發明實施例提供的一種圖像、並行編碼單元、獨立編碼單元和編碼單元之間的對應關係的示意圖;圖5為本發明實施例提供的一種編碼過程的示意圖;圖6為用於實現本發明實施例的解碼器的實例的示意性框圖;圖7A為本發明實施例提供的一種圖像編碼方法的流程示意圖一;圖7B為本發明實施例提供的一種與圖7A對應的圖像解碼方法的流程示意圖;圖8A為本發明實施例提供的一種圖像編碼方法的流程示意圖二;圖8B為本發明實施例提供的一種與圖8A對應的圖像解碼方法的流程示意圖;圖9A為本發明實施例提供的一種圖像編碼方法的流程示意圖三;圖9B為本發明實施例提供的一種與圖9A對應的圖像解碼方法的流程示意圖;圖10為本發明實施例提供的一種圖像重建方法的流程示意圖一;圖11為本發明實施例提供的一種並行像素組的劃分方式示意圖;圖12為16x2的當前圖像塊的預測劃分模式的示意圖一;圖13A-圖13B為本發明實施例提供的與圖12對應的16x2的當前圖像塊的預測劃分模式的示意圖;圖14為16x2的當前圖像塊的預測劃分模式的示意圖二;圖15A-圖15D為本發明實施例提供的與圖14對應的16x2的當前圖像塊的預測劃分模式的示意圖;圖16A和圖16B為8x2的當前圖像塊的預測劃分模式的示意圖;圖17為本發明實施例提供的與圖16A和圖16B對應的8x2的當前圖像塊的預測劃分模式的示意圖;圖18A和圖18B為8x1的當前圖像塊的預測劃分模式的示意圖; 圖19為本發明實施例提供的與圖18A和圖18B對應的8x1的當前圖像塊的預測劃分模式的示意圖;圖20為本發明實施例提供的8x1的當前圖像塊的殘差塊分組示意圖;圖21為本發明實施例提供的圖像重建方法的示意圖二;圖22為本發明實施例提供的用於說明圖21的8x1的圖像塊的預測模式的示意圖;圖23-圖28為本發明實施例提供的編碼裝置或解碼裝置的結構示意圖;圖29為本發明實施例提供的電子設備的結構示意圖。
首先,對本發明實施例涉及的技術術語進行介紹。
1)、預測模式
預測當前圖像塊(如待編碼單元/待解碼單元)所採用的預測方式的組合稱為預測模式。其中,預測當前圖像塊中的不同像素可以採用不同的預測方式,也可以採用相同的預測方式,預測當前圖像塊中的所有像素所採用的預測方式可以共同稱為該當前圖像塊的(或對應的)預測模式。
預測模式可包括逐點預測模式,幀內預測模式,塊複製模式和原始值模式(即直接解碼固定位元寬的重建值模式)等。
示例的,逐點預測模式是基於周圍相鄰點的像素重建值確定預測值。逐點預測模式包括垂直預測、水平預測、垂直均值預測和水平均值預測等預測方式中的一種或多種的組合。垂直預測為用當前像素上側(既可以是相鄰的上側,也可以是非相鄰但距離較近的上側)像素值來獲得當前像素的預測值。一種示例為:將當前像素上側相鄰的像素的重建值作為當前像素的預測值。水平預測為用當前像素左側(既可以是相鄰的左側,也可以是非相鄰但距離較近的左側)像素值來獲得當前像素的預測值。一種示例為:將當前像素左側相鄰 像素的重建值作為當前像素的預測值。垂直均值預測為用當前像素上下方的像素值來獲得當前像素的預測值。一種示例為:當前像素的預測值為垂直上方的相鄰像素的重建值和垂直下方的相鄰像素的重建值的均值。水平均值預測為用當前像素左右兩側的像素值來獲得當前像素的預測值。一種示例為:當前像素的預測值為水平左側的相鄰像素的重建值和水平右側的相鄰像素的重建值的均值。
示例的,幀內預測模式是基於周圍相鄰塊的像素重建值確定預測值。
示例的,塊複製預測模式是基於周圍已編碼(解碼)塊(不一定相鄰)的像素重建值確定預測值。
示例的,原始值模式是直接解碼固定位元寬的重建值模式,即無參考預測模式。
如圖1所示,為本發明實施例提供的多種預測方式的示意圖。圖1中的一個小方格表示一個像素。包含不同標記的像素用於表示不同的預測方式,具體示意出了垂直預測、水平預測、垂直均值預測和水平均值預測。圖1所示的各種預測方式的示意圖可用於解釋本發明所涉及的任意一個相關圖式,例如圖12等。
2)、殘差編碼模式
對當前圖像塊(如待編碼單元/待解碼單元)的殘差(即殘差塊,由當前圖像塊中的每個像素的殘差值構成)進行編碼的方式,被稱為殘差編碼模式。殘差編碼模式可以包括跳過殘差編碼模式和正常殘差編碼模式。
在跳過殘差編碼模式下,無需編碼(解碼)殘差係數,此時當前圖像塊中的像素的殘差值為全0,每個像素的重建值等於該像素的預測值。
在正常殘差編碼模式下,需要編碼(解碼)殘差係數,此時前圖像塊中的像素的殘差值不全為0,每個像素的重建值可以基 於該像素的預測值和殘差值得到。
在一個示例中,像素的殘差值等價於該像素的殘差係數;在另一個示例中,像素的殘差係數可以是該像素的殘差值經一定處理得到的。
3)、其他術語
本發明實施例中的術語“至少一個(種)”包括一個(種)或多個(種)。“多個(種)”是指兩個(種)或兩個(種)以上。例如,A、B和C中的至少一種,包括:單獨存在A、單獨存在B、單獨存在C、同時存在A和B、同時存在A和C、同時存在B和C,以及同時存在A、B和C。在本發明的描述中,除非另有說明,“/”表示或的意思,例如,A/B可以表示A或B。本文中的“和/或”僅僅是一種描述關聯物件的關聯關係,表示可以存在三種關係,例如,A和/或B,可以表示:單獨存在A,同時存在A和B,單獨存在B這三種情況。“多個”是指兩個或多於兩個。另外,為了便於清楚描述本發明實施例的技術方案,在本發明的實施例中,採用了“第一”、“第二”等字樣對功能和作用基本相同的相同項或相似項進行區分。本領域技術人員可以理解“第一”、“第二”等字樣並不對數量和執行次序進行限定,並且“第一”、“第二”等字樣也並不限定一定不同。
下面描述本發明實施例所應用的系統架構。
參見圖2,給出了本發明實施例所應用的編解碼系統10的架構示意圖。如圖2所示,編解碼系統10可以包括源設備11和目的設備12。源設備11用於對圖像進行編碼,因此,源設備11可被稱為圖像編碼裝置或視頻編碼裝置。目的設備12用於對由源設備11所產生的經編碼的圖像資料進行解碼,因此,目的設備12可被稱為圖像解碼裝置或視頻解碼裝置。
源設備11和目的設備12可以包括各種裝置,包含桌上型電腦、移動計算裝置、筆記型(例如,膝上型)電腦、平板電腦、 機上盒、例如所謂的“智慧”電話等電話手持機、電視機、相機、顯示裝置、數位媒體播放機、視頻遊戲控制台、車載電腦或其類似者。可選地,圖2中的源設備11和目的設備12可以是兩個單獨的設備,或者,源設備11和目的設備12為同一設備,即源設備11或對應的功能以及目的設備12或對應的功能可以集成在同一個設備上。源設備11和目的設備12之間可以進行通信,例如,目的設備12可從源設備11接收經編碼圖像資料。在一個實例中,源設備11和目的設備12之間可以包括一個或多個通信媒體,通過一個或多個通信媒體傳輸經編碼圖像資料,該一個或多個通信媒體可包含路由器、交換器、基站或促進從源設備11到目的設備12的通信的其它設備。
如圖2所示,源設備11包括編碼器112。可選地,源設備11還可以包括圖像前置處理器111以及通信介面113。其中,圖像前置處理器111用於對接收到的待編碼圖像執行預處理,例如,圖像前置處理器111執行的預處理可以包括整修、色彩格式轉換(例如,從RGB格式轉換為YUV格式)、調色或去噪等。編碼器112用於接收經預處理的圖像,採用相關預測模式對經預處理的圖像進行處理,從而提供經編碼圖像資料。在一些實施例中,編碼器112可以用於執行下文中所描述的各個實施例中的編碼過程。通信介面113可用於將經編碼圖像資料傳輸至目的設備12或用於解碼或存儲的任何其它設備(如記憶體),以用於存儲或直接重構。通信介面113也可以將經編碼圖像資料封裝成合適的格式之後再傳輸。
可選地,上述圖像前置處理器111、編碼器112以及通信介面113可能是源設備11中的硬體部件,也可能是源設備11中的軟體程式,本發明實施例不做限定。
繼續如圖2所示,目的設備12包括解碼器122。可選地,目的設備12還可以包括通信介面121、圖像後處理器123。其中,通信介面121可用於從源設備11或任何其它源設備接收經編碼圖像 資料,該任何其它源設備例如為存放裝置。通信介面121還可以解封裝通信介面113所傳輸的資料以獲取經編碼圖像資料。解碼器122用於接收經編碼圖像資料並輸出經解碼圖像資料(也可稱為經重構圖像資料或已重構圖像資料)。在一些實施例中,解碼器122可以用於執行下文中所描述的各個實施例所述的解碼過程。
圖像後處理器123用於對經解碼圖像資料執行後處理,以獲得經後處理像資料。圖像後處理器123執行的後處理可以包括色彩格式轉換(例如,從YUV格式轉換為RGB格式)、調色、整修或重採樣,或任何其它處理,還可用於將將經後處理圖像資料傳輸至顯示裝置進行顯示。
同理,可選地,上述通信介面121、解碼器122以及圖像後處理器123可能是目的設備12中的硬體部件,也可能是目的設備12中的軟體程式,本發明實施例不做限定。
下面對圖2中的編碼器和解碼器的結構進行簡單介紹。
參見圖3,圖3示出用於實現本發明實施例的編碼器20的實例的示意性框圖。在圖3中,編碼器20包括預測處理單元201、殘差計算單元202、殘差編碼單元203、量化單元204、係數編碼單元205、反量化單元(也可以稱為逆量化單元)206、殘差解碼單元207、重構單元(或者稱為重建單元)208以及濾波器單元209。可選地,編碼器20還可以包括緩衝器、經解碼圖像緩衝器。其中,緩衝器用於緩存重構單元208輸出的重構圖像塊,經解碼圖像緩衝器用於緩存濾波器單元209輸出的濾波後的圖像塊。
在一示例中,編碼器20的輸入為待編碼圖像的圖像塊(即當前圖像塊、待編碼圖像塊)或編碼單元。在另一示例中,編碼器20的輸入為待編碼圖像,編碼器20中可包括分割單元(圖3中未示出),該分割單元用於將待編碼圖像分割成多個圖像塊。編碼器20用於逐塊編碼從而完成對待編碼圖像的編碼,例如對每個圖像塊執行 編碼過程。
在一個示例中,一種將待編碼圖像劃分成多個圖像塊的方法可以包括:
步驟1:將一幀圖像分成一個或多個互相不重疊的並行編碼單元,各個並行編碼單元間無依賴關係,可並行/獨立編解碼。
步驟2:對於每個並行編碼單元,編碼端可將其分成一個或多個互相不重疊的獨立編碼單元,各個獨立編碼單元間可相互不依賴,但可以共用該並行編碼單元的一些頭資訊。
步驟3:對於每個獨立編碼單元,編碼端可再將其分成一個或多個互相不重疊的編碼單元。其中,若將獨立編碼單元劃分成多個互相不重疊的編碼單元,則劃分方式可以為水平等分法、垂直等分法或水平垂直等分法。當然具體實現時不限於此。獨立編碼單元內的各個編碼單元可相互依賴,即在執行預測步驟的過程中可以相互參考。
編碼單元的寬為w_cu,高為h_cu,可選的,其寬大於高(除非是邊緣區域)。通常的,編碼單元可為固定的w_cu x h_cu,w_cu和h_cu均為2個N次方(N大於等於0),如16x4,8x4,16x2,8x2,4x2,8x1,4x1等。
編碼單元即可以是包括亮度Y、色度Cb、色度Cr三個分量(或紅R、綠G、藍B三分量),也可以僅包含其中的某一個分量。若包含三個分量,幾個分量的尺寸可以完全一樣,也可以不一樣,具體與圖像輸入格式相關。
如圖4所示,為一種圖像、並行編碼單元、獨立編碼單元和編碼單元之間的對應關係的示意圖。其中,圖4中是以按照3:1將一個圖像劃分為並行編碼單元1和並行編碼單元2,以及一個獨立編碼單元包含4個編碼單元為例進行說明的。
預測處理單元201,用於接收或獲取圖像塊的真實值和已重構圖像資料,基於已重構圖像資料中的相關資料對當前圖像塊 進行預測,得到當前圖像塊的預測塊。
殘差計算單元202用於計算圖像塊的真實值和該圖像塊的預測塊之間的殘差值,得到殘差塊,例如,通過逐像素將圖像塊的像素值減去預測塊的像素值。
在一個示例中,殘差編碼單元203用於基於殘差塊確定當前圖像塊的殘差係數。可選的,該過程可以包括:對殘差塊進行例如離散餘弦變換(Discrete Cosine Transform,DCT)或離散正弦變換(Discrete Sine Transform,DST)的變換,以在變換域中獲取變換係數,變換係數也可以稱為變換殘差係數,該變換殘差係數可以在變換域中表示殘差塊。當然,也可以不包含變換的步驟。
量化單元204用於通過應用標量量化或向量量化來量化變換係數,以獲取經量化變換係數,經量化變換係數也可以稱為經量化殘差係數。量化過程可以減少與部分或全部變換係數有關的位元深度。例如,可在量化期間將n位變換係數向下舍入到m位變換係數,其中n大於m。可通過調整量化參數(Quantization Parameter,QP)修改量化程度。例如,對於標量量化,可以應用不同的標度來實現較細或較粗的量化。較小量化步長對應較細量化,而較大量化步長對應較粗量化。可以通過QP指示合適的量化步長。
係數編碼單元205用於對上述經量化殘差係數進行編碼,以經編碼比特流的形式輸出的經編碼圖像資料(即當前待編碼圖像塊的編碼結果)。然後可以將經編碼比特流傳輸到解碼器,或將其存儲起來以備後續傳輸至解碼器或用於檢索。係數編碼單元205還可用於對當前圖像塊的其它語法元素進行編碼,例如將預測模式的索引編碼至碼流等。
在一個示例中,係數編碼單元205對殘差係數編碼,一種可行方法為半定長編碼方式。首先將一個殘差小塊(residual block,RB)內殘差絕對值的最大值定義為modified maximum(mm)。確定 該RB內殘差係數的編碼比特數(同一個RB內殘差係數的編碼比特數一致)。例如,若當前RB的編碼長度(Coding Length,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編碼方法,截斷一元碼編碼方法,游程編碼方法,直接編碼原始殘差值等。
另外,對於某些特殊的情況,也可以直接編碼原始值,而不是殘差值。
反量化單元206用於對上述經量化係數進行反量化,以獲取經反量化係數,該反量化是上述量化單元204的反向應用。例如,反量化單元206可基於或使用與量化單元204相同的量化步長,應用量化單元204應用的量化方案的逆量化方案。經反量化係數也可以稱為經反量化殘差係數。
殘差解碼單元207用於將上述反量化殘差係數解碼為殘差塊,可以包括:對上述反量化係數進行反變換,例如,反變換可以包括逆離散餘弦變換(Discrete Cosine Transform,DCT)或逆離散正弦變換(Discrete Sine Transform,DST),以在像素域(或者稱為樣本域)中獲取逆變換塊。逆變換塊也可以稱為逆變換經反量化塊或逆變換殘差塊。當然,也可以不包含反變換的步驟。
重構單元208用於將逆變換塊(即逆變換殘差塊)添 加至預測塊,以在樣本域中獲取經重構塊,重構單元208可以為求和器,例如,將殘差塊的樣本值(即像素值)與預測塊的樣本值相加。該重構單元208輸出的重構塊可以後續用於預測其他圖像塊。
濾波器單元209(或簡稱“濾波器”)用於對經重構塊進行濾波以獲取經濾波塊,從而順利進行像素轉變或提高圖像品質。
在一個示例中,一種編碼過程如圖5所示。具體的,編碼器判斷是否採用逐點預測模式(S901),若步驟S901的判斷結果為是,則基於逐點預測模式進行預測,並執行反量化和重建步驟(S901Y),從而實現編碼過程;若步驟S901的判斷結果為否,則判斷是否採用原始值模式(S902)。若步驟S902的判斷結果為是,則採用原始值模式編碼(S902Y);若步驟S902的判斷結果為否,則確定採用其他預測模式如幀內預測或塊複製模式進行預測(S903)。後續,在步驟S904確定執行殘差跳過時,直接執行重建步驟(S905);在步驟S904確定不執行殘差跳過時,先執行反量化步驟(S906),並判斷是否採用塊複製預測模式(S907)。若確定採用塊複製預測模式,則一種情況下,在步驟S908確定執行變換跳過時,直接執行重建步驟(S905),在另一種情況下,在步驟S908確定不執行變換跳過時,通過執行反變換(S909)和重建步驟(S905),實現編碼過程。若在步驟S907確定不採用塊複製模式(該情況下,所採用的一種預測模式為幀內預測模式)時,執行反變換步驟(S909)和重建步驟(S905),從而實現編碼過程。
具體的,在本發明實施例中,編碼器20用於實現後文實施例中描述的編碼方法。
參見圖6,圖6示出用於實現本發明實施例的解碼器30的實例的示意性框圖。解碼器30用於接收例如由編碼器20編碼的經編碼圖像資料(即經編碼比特流,例如,包括圖像塊的經編碼比特流及相關聯的語法元素),以獲取經解碼圖像。解碼器30包括碼 流解析單元301、反量化單元302、殘差解碼單元303、預測處理單元304、重構單元305、濾波器單元306。在一些實例中,解碼器30可執行大體上與圖2的編碼器20描述的編碼遍次互逆的解碼遍次。可選地,解碼器30還可以包括緩衝器、經解碼圖像緩衝器。其中,緩衝器用於緩存重構單元305輸出的重構圖像塊,經解碼圖像緩衝器用於緩存濾波器單元306輸出的濾波後的圖像塊。
碼流解析單元301用於對經編碼圖像資料執行解碼,以獲取經量化係數和/或經解碼的編碼參數(例如,編碼參數可以包括幀間預測參數、幀內預測參數、濾波器參數和/或其它語法元素中的任意一個或全部)。碼流解析單元301還用於將上述經解碼的編碼參數轉發至預測處理單元304,以供預測處理單元304根據編碼參數執行預測過程。
反量化單元302的功能可與編碼器20的反量化單元206的功能相同,用於反量化(即,逆量化)由碼流解析單元301解碼的經量化係數。
殘差解碼單元303的功能可與編碼器20的殘差解碼單元207的功能相同,重構單元305(例如求和器)的功能可與編碼器20的重構單元208的功能相同,用於對上述經量化係數進行逆變換(例如,逆DCT、逆整數變換或概念上類似的逆變換過程),得到逆變換塊(也可以稱為逆變換殘差塊),該逆變換塊即為當前圖像塊在像素域中的殘差塊。
預測處理單元304,用於接收或獲取經編碼圖像資料(例如當前圖像塊的經編碼比特流)和已重構圖像資料,預測處理單元304還可以從例如碼流解析單元301接收或獲取預測相關參數和/或關於所選擇的預測模式的資訊(即經解碼的編碼參數),並且基於已重構圖像資料中的相關資料和經解碼的編碼參數對當前圖像塊進行預測,得到當前圖像塊的預測塊。
重構單元305用於將逆變換塊(即逆變換殘差塊)添加到預測塊,以在樣本域中獲取經重構塊,例如將逆變換殘差塊的樣本值與預測塊的樣本值相加。
濾波器單元306用於對經重構塊進行濾波以獲取經濾波塊,該經濾波塊即為經解碼圖像塊。
具體的,在本發明實施例中,解碼器30用於實現後文實施例中描述的解碼方法。
應當理解的是,在本發明實施例的編碼器20和解碼器30中,某個環節的處理結果也可以經過進一步處理後輸出到下一個環節。例如,在插值濾波、運動向量推導或濾波等環節之後,對相應環節的處理結果進一步進行Clip或移位shift等操作。
在一個示例中,一種解碼過程可以包括以下步驟:步驟1:碼流解析單元301解析預測模式和殘差編碼模式;步驟2:碼流解析單元301基於預測模式和殘差編碼模式解析量化相關值(如near值,或QP值等);步驟3:反量化單元302基於預測模式和量化相關值解析殘差係數;步驟4:預測處理單元304基於預測模式,獲得當前圖像塊各個像素的預測值;步驟5:殘差解碼單元303基於殘差係數解碼獲得當前圖像塊各個像素的殘差值;步驟6:重構單元305基於當前編碼單元各個像素的預測值和殘差值,獲得其重建值。
以下,結合圖式,本發明實施例提供了如下圖像編解碼方法進行說明。
本發明任一實施例中的編碼端可以是上述圖2或圖3中的編碼器,也可以是上述圖2中的源設備;任一實施例中的解碼端 可以上述圖2或圖6中的解碼器,也可以是上述圖2中的目的設備。
實施例一
如圖7A所示,為本發明實施例提供的一種圖像編碼方法的流程示意圖。圖7A所示的方法包括如下步驟:
步驟S101:編碼端確定待編碼單元的目標預測模式。
待編碼單元可以是待編碼圖像中的任意一個待編碼圖像塊(即編碼單元)。
目標預測模式可以是預定義的多種預測模式中的其中一種,具體可以是原始值模式,也可以是除原始值模式之外的其他預測模式。在一個示例中,該其他預測模式包括:至少一種逐點預測模式、至少一種幀內預測模式,以及至少一種塊複製模式中的任意一種或多種的組合。例如,該其他預測模式包括逐點預測模式、幀內預測模式和塊複製模式共3種預測模式。又如,該其他預測模式包括逐點預測模式0、逐點預測模式1、幀內預測模0、塊複製模式0和塊複製模式1共5種預測模式。在另一個示例中,該其他預測模式包括:基於正常殘差編碼的至少一種逐點預測模式、至少一種幀內預測模式、至少一種塊複製模式,基於跳過殘差編碼的至少一種逐點預測模式、至少一種幀內預測模式,以及至少一種塊複製模式中的任意一種或多種的組合。該示例可認為是將傳統技術中的預測模式與殘差編碼模式進行結合,從而得到本發明實施例中定義的新的預測模式。
當預測模式是基於正常殘差編碼的逐點預測模式時,編碼端採用正常殘差編碼模式進行殘差係數編碼,採用逐點預測模式對待編碼單元的像素值進行預測。當預測模式是其餘幾種模式時,與此類似,不再一一贅述。
步驟S102:編碼端基於目標預測模式,從索引表中確定目標預測模式的索引。其中,索引表包含多種預測模式的索引與該多種預測模式之間的對應關係。
可選地,多種預測模式與各自的索引之間的對應關係可以通過索引表存儲,當然也可以通過其他方式存儲,本發明實施例對此不進行限定。
可選地,編碼端對該多種預測模式的索引進行聯合編碼。例如,按照截斷一元碼方式對該多種預測模式的索引進行編碼,也就是說該多種預測模式的索引按照截斷一元碼方式生成,如可以參考下述示例1和示例2。又如,按照二叉樹方式對該多種預測模式的索引進行編碼,如可以參考下述示例3。
可選地,原始值模式的索引的碼字長度(即二進位字元的個數,也可以被稱為碼長)大於或等於其他預測模式的索引的碼字長度。可選地,預測模式的索引的碼字長度與該預測模式的使用頻率相關。其中,這裡的使用頻率可以是基於大資料統計得來的,本發明實施例對其統計方法不進行限定。例如,使用頻率越高的預測模式,其索引的碼字越短。當然,對於該多種預測模式來說,可能存在其中的部分預測模式的索引滿足該可選地實現方式所示的規律。進一步可選地,可能存在多個預測模式的索引的碼字長度相同。
步驟S103:編碼端將目標預測模式的索引編入碼流。
如圖7B所示,為本發明實施例提供的一種圖像解碼方法。該圖像解碼方法與如圖7A所示的圖像編碼方法對應。圖7B所示的方法包括:
步驟S201:解碼端解析碼流,以得到語法元素,該語法元素包括待解碼單元的目標預測模式的索引。
待解碼單元可以由對圖7A所示的方法中的待編碼單元進行編碼後得到。
可選地,編碼端對該多種預測模式的索引進行聯合編碼,例如,按照截斷一元碼方式對該多種預測模式的索引進行編碼,也就是說該多種預測模式的索引按照截斷一元碼方式生成。
可選地,原始值模式的索引的碼字長度大於或等於其他預測模式的索引的碼字長度。
可選地,預測模式的索引的碼字長度與該預測模式的使用頻率相關。例如,使用頻率越高的預測模式,其索引的碼字越短。
步驟S202:解碼端基於目標預測模式的索引,從索引表中確定目標預測模式。其中,索引表包含多種預測模式的索引和該多種預測模式之間的對應關係。
步驟S203:解碼端至少基於目標預測模式,對待解碼單元進行重建,得到待解碼單元的重建塊。
在一個示例中,解碼端基於目標預測模式,對待解碼單元的像素值進行預測,得到預測塊。接著,解碼端解析碼流,以得到待解碼單元的殘差塊相關的資訊,並基於該資訊得到待編碼單元的殘差塊。然後,基於該預測塊與殘差塊,解碼端對待解碼單元進行重建,得到重建塊。
解碼端至少基於目標預測模式,對待解碼單元進行重建的過程,不限於此。在另一個示例中,解碼端可以基於以下圖21中的方法對待解碼單元進行重建。
在編碼端,通常採用額外一個比特表示當前圖像塊(即待編碼單元)的預測模式是否為原始值模式。例如,該比特位可記為org_flag,若org_flag是“1”表示當前塊的預測模式是原始值模式,若org_flag是“0”表示當前塊的預測模式不是原始值模式。若當前塊的預測模式不是原始值模式,則再在碼流中編入其他預測模式的索引。但是,由於採用原始值模式的概率非常低,因此多數圖像塊均需要在碼流中編入1個org_flag“0”,這會造成傳輸資源的浪費(即增加了碼流傳輸開銷)。並且無論預測模式是否為原始值預測模式,解碼端需要先解碼這個標記位元org_flag,增加了解碼端的解碼複雜度。
而本發明實施例提供的圖7A所示的圖像編碼方法中, 直接基於目標預測模式從索引表中確定目標預測模式的索引,而可以不在碼流中編入目標預測模式是否為原始值模式的標記(如標記位元org_flag)。由於大多數情況下,目標預測模式不採用原始值模式,例如,通常採用的是逐點預測模式或幀內預測模式,因此,無需編碼傳統方案中代表是否使用原始值模式的標記位元(org_flag),這有助於節省碼流傳輸開銷。
相應的,在本發明實施例圖7B提供的圖像解碼方法中,可以直接基於目標預測模式的索引,從索引表中確定目標預測模式,而不需要解析標記位元org_flag,因此降低了解碼端的解碼複雜度。
圖7B所示的圖像解碼方法與圖7A所示的圖像編碼方法對應,因此,該圖像解碼方法有助於節省碼流傳輸開銷。
示例1:假設上述多種預測模式包括原始值模式、點預測模式、幀內預測模式和塊複製模式,那麼一種可行的方法為,採用截斷一元碼的方式編碼這幾種預測模式的索引,且原始值模式的索引採用較長的碼字,其他預測模式的索引採用較短的碼字。例如:逐點預測模式的索引的碼字為0,幀內預測模式碼字為10,塊複製模式碼字為111,原始值模式的索引的碼字為110。基於這種方案,由於多數情況下採用的是逐點預測模式或幀內預測模式,因此無需編碼代表是否使用原始值模式的那個標記位元(org_flag)。
基於該示例,索引表可以如表1所示:
Figure 112100625-A0305-02-0028-1
示例2:假設上述多種預測模式包括原始值模式,基於正常殘差編碼的逐點預測模式、幀內預測模式、塊複製模式,基於跳過殘差編碼的逐點預測模式、幀內預測模式、塊複製模式;並且,將基於正常殘差編碼模式的逐點預測模式、幀內預測模式、塊複製模式,依次記為:普通逐點預測模式(模式1)、普通幀內預測模式(模式2)、普通塊複製模式(模式3);將基於跳過殘差編碼模式的逐點預測模式、幀內預測模式、塊複製模式,依次記為:特殊逐點預測模式(模式4)、特殊幀內預測模式(模式5)、特殊塊複製模式(模式6)。加上原始值模式(模式7)共7種預測模式。那麼,一種可行的方法為,採用截斷一元碼的方式編碼這幾種預測模式的索引,模式1-7的碼字分別為:0,10,110,1110,11110,111110,111111。
基於該示例,索引表可以如表2所示:
Figure 112100625-A0305-02-0029-2
示例3:按照二叉樹方式對多種預測模式的索引進行編碼。如表3所示為一種編碼方式。
Figure 112100625-A0305-02-0029-3
Figure 112100625-A0305-02-0030-55
Figure 112100625-A0305-02-0031-5
表3中是以多種預測模式包括如上15種預測模式為例進行說明的。實際實現時,表3所示的索引表可以只包含預測模式和預測模式的索引這兩列,或者包含預測模式的編號、預測模式和預測模式的索引這3列。
表3中的多種預測模式的索引是按照如下規則生成的:首先,將“0”和“1”分別作為“點預測模式、幀內塊複製模式”和“幀內預測模式、原始值模式”的索引的最高位元標記。
其次,對於“點預測模式、幀內塊複製模式”來說,將“0”和“1”分別作為“點預測模式”和“幀內塊複製模式”的索引的次高位標記。
接著,對於點預測模式而言,將“1”和“0”分別作為“點預測模式0-1”和“點預測模式2-3”的索引的第三個標記位元。
最後,對於“點預測模式0-1”而言,將“0”和“1”分別作為“點預測模式0”和“點預測模式1”的索引的第四個標記位元。
由此可以得到點預測模式0和點預測模式1的索引分別為“0010”和“0011”。其他預測模式的索引的生成方式與此類似,此處不再贅述。
對於幀預測模式0-6而言,使用“1”和“0”分別作為“幀預測模式0”和“幀預測模式1-6”的索引的次高位。其他幀預測模式的索引不再一一說明。對於幀內塊複製模式的索引生成方式與此類似。
可選地,一個預測模式的索引的碼長與該預測模式的使用頻率相關。在一個示例中,參見表3,考慮到點預測模式0-3的使用頻率大致相同,因此將其索引的碼長設置為相同;考慮到幀內預測模式0的使用頻率高於幀內預測模式1-6的使用頻率,因此其索引的碼長小於幀內預測模式1-6的索引的碼長。其他示例不再一一列舉。
可選地,一種預測模式的索引不作為其他預測模式的 索引的首碼。例如,針對預測模式0的索引是“11”,其他14種預測模式的索引的首碼均不為“11”。這是在考慮到“如果某一種或多種預測模式的索引的首碼是“11”,則解碼端識別到“11”時,不能確定該預測模式是預測模式0還是該一種或多種預測模式”而提出的技術方案,這有助於解碼端快速解碼。
基於二叉樹的方式生成多種預測模式的索引的具體實現方式不限於表3。
例如,在表3中,點預測模式0-3的索引的碼長相等,具體實現時,任意兩個點預測模式的索引的碼長也可以不相等,如可參考幀預測模式0-6的索引的生成方式。
例如,幀內預測模式0-6的索引的碼長也可以相等,如參考點預測模式0-3的索引的生成方式。
例如,表3是將“0”和“1”分別作為“點預測模式、幀內塊複製模式”和“幀內預測模式、原始值模式”的索引的最高位元標記;具體實現時,還可以將“1”和“0”分別作為“點預測模式、幀內塊複製模式”和“幀內預測模式、原始值模式”的索引的最高位元標記。
其他示例不再一一列舉。
實施例二
如圖8A所示,為本發明實施例提供的一種圖像編碼方法的示意圖。圖8A所示的方法包括以下步驟:
步驟S301:編碼端確定待編碼單元的殘差編碼模式。其中,殘差編碼模式可以包括跳過殘差編碼模式或正常殘差編碼模式。
關於待編碼單元、跳過殘差編碼模式和正常殘差編碼模式的相關解釋可以參考上文,此處不再贅述。
步驟S302:如果該殘差編碼模式為跳過殘差編碼模式,則編碼端將該殘差編碼模式的索引編入碼流。該情況下,無需將待編碼單元的殘差量化相關值(如near值或QP值等)編入碼流。
步驟S303:如果該殘差編碼模式為正常殘差編碼模式,則編碼端將該殘差編碼模式的索引和待編碼單元的殘差量化相關值(如near值或QP值等)編入碼流。在一個示例中,編碼端先編碼該殘差編碼模式的索引,再編碼待編碼單元的殘差量化相關值。
步驟S304:如果該殘差編碼模式為跳過殘差編碼模式,則編碼端對待編碼單元進行預測,得到預測塊,並將該預測塊確定為待編碼單元的重建塊。該情況下,不需要獲取待編碼單元的殘差量化相關值。
步驟S305:如果該殘差編碼模式為正常殘差編碼模式,則編碼端獲取待編碼單元的殘差量化相關值,得到殘差塊;並基於該殘差塊,對待編碼單元進行重建,得到待編碼單元的重建塊。
其中,S304-S305可以認為是編碼端執行的重建過程。
如圖8B所示,為本發明實施例提供的一種圖像解碼方法的示意圖。該圖像解碼方法與如圖8A所示的圖像編碼方法對應。圖8B所示的方法包括以下步驟:
步驟S401:解碼端解析碼流,以得到語法元素。該語法元素包括待解碼單元的殘差編碼模式的索引。該待解碼單元可以是按照圖8A所示的方法對待編碼單元進行編碼後得到的圖像塊。
步驟S402:如果殘差編碼模式的索引用於指示跳過殘差編碼模式,則解碼端對待解碼單元進行預測,得到預測塊,並將該預測塊確定為待解碼單元的重建塊。由於殘差編碼模式是跳過殘差編碼模式,即待解碼單元的殘差值均為0,因此,可以將該預測塊直接作為重建塊。
步驟S403:如果殘差編碼模式的索引用於指示正常殘差編碼模式,則解碼端解析待解碼單元的殘差量化相關值,得到殘差塊;至少基於該殘差塊,對待解碼單元進行重建,得到重建塊。
在一個示例中,上述語法元素還可以包括待解碼單元 的預測模式,解碼端基於該預測模式對待解碼單元進行預測,得到預測塊,並基於該殘差塊和該預測塊,對待解碼單元進行重建,得到重建塊。至少基於殘差塊對待解碼單元進行重建的過程,不限於此。在另一個示例中,基於圖21所示的方法進行重建,得到重建塊。
通常通過1個標記位元(記為res_skip_flag)表示當前塊是否採用跳過殘差編碼模式,且殘差量化相關值的編碼(解碼)在res_skip_flag前,因此即使res_skip_flag為1,也需要編碼(解碼)殘差量化相關值。而此時的殘差量化相關值是冗餘的,因此該技術方案不僅增加了編碼端與解碼端之間的碼流傳輸開銷,而且增加了解碼端的解碼複雜度。
而本發明實施例圖8A提供的圖像編碼方法中,考慮到“若為跳過殘差編碼模式(如res_skip_flag為1),則無需編碼或解碼殘差係數,因此殘差量化相關值(如near值,或QP值等)也無需編碼(解碼)”,因此,提出在編碼端先編碼殘差編碼模式資訊(如殘差編碼模式的索引,如res_skip_flag),再基於殘差編碼模式確實是否編碼殘差量化相關值(如near值,或QP值)。這樣,在殘差編碼模式是跳過殘差編碼模式時,不需要編碼殘差量化相關值,有助於節省碼流傳輸開銷。
相應的,在本發明實施例圖8B提供的圖像解碼方法中,可以先解析殘差編碼模式資訊(如殘差編碼模式的索引,如res_skip_flag),再基於殘差編碼模式確實是否解析殘差量化相關值(如near值,或QP值),降低了解碼端的解碼複雜度。
實施例三
如圖9A所示,為本發明實施例提供的一種圖像編碼方法的示意圖。圖9A所示的方法包括以下步驟:
步驟S501:編碼端確定待編碼單元的目標預測模式。其中,目標預測模式包括基於跳過殘差編碼的預測模式或基於正常殘差編碼的 預測模式。
基於跳過殘差編碼的預測模式和基於正常殘差編碼的預測模式,可以認為是將預測模式與殘差編碼模式進行結合,從而得到本發明實施例中定義的新的預測模式。
在一個示例中,基於跳過殘差編碼的預測模式,包括:基於跳過殘差編碼的逐點預測模式、幀內預測模式或塊複製模式。
在一個示例中,基於正常殘差編碼的預測模式,包括:基於正常殘差編碼的逐點預測模式、幀內預測模式或塊複製模式。
步驟S502:編碼端將目標預測模式的索引編入碼流。
在一個示例中,目標預測模式的索引的生成方式可以參考圖7A所示的實施例中的相關示例,如對該多種預測模式的索引進行聯合編碼,例如,按照截斷一元碼方式對該多種預測模式的索引進行編碼。當然具體實現時不限於此。在另一個示例中,可以按照傳統方式如先編碼標記位元org_flag的方式,再將目標預測模式的索引編入碼流。
步驟S503:如果目標預測模式為基於跳過殘差編碼的預測模式,則編碼端對待編碼單元進行預測,得到預測塊,並將該預測塊確定為待編碼單元的重建塊。
步驟S504:如果目標預測模式為基於正常殘差編碼的預測模式,則編碼端獲取待編碼單元的殘差量化相關值,得到待編碼單元的殘差塊,並基於目標預測模式和殘差塊對待編碼單元進行重建,得到重建塊。
其中,步驟S503-S504可以認為是編碼端執行的重建過程。
在一個示例中,基於目標預測模式和殘差塊對待編碼單元進行重建,可以包括:基於目標預測模式,對待編碼單元進行預測,得到預測塊,基於該預測塊和該殘差塊對待編碼單元進行重建。 當然不限於此,在另一個示例中,基於圖21所示的方法進行重建,得到重建塊。
如圖9B所示,為本發明實施例提供的一種圖像解碼方法的示意圖。該圖像解碼方法與如圖9A所示的圖像編碼方法對應。圖9B所示的方法包括以下步驟:
步驟S601:解碼端解析碼流,以得到語法元素;該語法元素包括待解碼單元的目標預測模式的索引。其中,目標預測模式包括基於跳過殘差編碼的預測模式的索引或基於正常殘差編碼的預測模式的索引。
步驟S602:如果目標預測模式為基於跳過殘差編碼的預測模式,則解碼端對待解碼單元進行預測,得到預測塊,並將預測塊確定為重建塊。
步驟S603:如果目標預測模式為基於正常殘差編碼的預測模式,則解碼端解析待解碼單元的殘差量化相關值,得到待解碼單元的殘差塊,並基於目標預測模式和殘差塊對待解碼單元進行重建,得到重建塊。
在一個示例中,基於目標預測模式和殘差塊對待解碼單元進行重建,可以包括:基於目標預測模式,對待解碼單元進行預測,得到預測塊,基於該預測塊和該殘差塊對待解碼單元進行重建。當然不限於此,在另一個示例中,基於圖21所示的方法進行重建,得到重建塊。
圖9A和圖9B所示的圖像編解碼方法,至少具有如下有益效果:通過將傳統的殘差編碼模式與預測模式結合作為本發明實施例提供的新的預測模式,不需要對殘差編碼模式和預測模式分別進行編碼(解碼),僅需要統一對該新的預測模式進行編碼(解碼)即可,實現邏輯簡單,且有助於節省碼流傳輸開銷。或者說,編碼端可以將殘差跳過模式也作為一種預測模式進行編碼。編碼端(解碼端) 先編碼(解碼)預測模式,再基於預測模式確定是否需要解析殘差量化相關值(如near值,或QP值),以節省碼率。並且,先編碼(或解碼)殘差編碼模式資訊(如殘差編碼模式的索引,如res_skip_flag),再基於殘差編碼模式確實是否編碼(或解碼)殘差量化相關值(如near值,或QP值),這使得,在殘差編碼模式是跳過殘差編碼模式時,不需要編碼(或解碼)殘差量化相關值,有助於節省碼流傳輸開銷。
例如,基於上述示例2所示的編碼方法,在解碼端基於預測模式,便可以知道待解碼單元對應的待編碼單元是否需要編碼殘差。對無需編碼殘差的模式(如上述模式4、5、6、7),則無需編碼(解碼)殘差量化相關值(如near值,或QP值)。
實施例四
如圖10所示,為本發明實施例提供的一種圖像重建方法,其可以應用於圖像編碼方法,也可以應用於圖像解碼方法中。圖10所示的方法可以包括以下步驟:
步驟S701:確定當前圖像塊所劃分的至少一個預測組的預測模式。其中,該至少一個預測組中的任意一個預測組包括處於同一行的連續多個像素;該任意一個預測組中包括第一指定像素區域和第二指定像素區域,第二指定像素區域包括多個像素組,該多個像素組根據第一指定像素區域劃分得到,第一指定像素區域與第二指定像素區域的預測方式不同。該多個像素組之間能並行預測,一個像素組包括一個或連續多個像素。
當本實施例應用於圖像編碼方法中時,本實施例的執行主體可以是編碼端,當前圖像塊具體是待編碼圖像塊或待編碼單元。
當本實施例應用於圖像解碼方法中時,本實施例的執行主體可以是解碼端,當前圖像塊具體可以待解碼圖像塊或待解碼單元。S701可以包括:解析碼流,得到當前圖像塊所劃分的至少一個預測組中的任意一個或多個預測組的預測模式的索引。
本發明實施例對當前圖像塊的尺寸不進行限定,例如,當前圖像塊的寬大於高。例如,當前圖像塊的尺寸為16*2、8*2或8*1等。
在一個示例中,當前圖像塊可以被劃分成一個預測組,其等價於,不對當前圖像塊進行預測組的劃分。該情況下,當前圖像塊中的所有像素作為一個預測組。
在另一個示例中,當前圖像塊可以被劃分成多個預測組。
本發明實施例對當前圖像塊的預測組的劃分方式,以及每個預測組的預測模式均不進行限定。下文中將劃分模式和基於該劃分模式下的預測模式共同稱為“劃分預測模式”。
在一個示例中,一個預測組可由當前圖像塊的一行/多行中的所有/部分像素構成,當然也可用其他實現方式。原則上滿足一個預測組包括處於同一行的連續多個像素即可。
在一個示例中,一個預測組所包括的該連續多個像素的像素個數大於等於預設閾值。這是在考慮到當一個預測組中連續的多個像素的個數較多時,如果該預測組內的像素採用串列預測,則可能導致對該預測組的預測耗時較長。該情況下,如果採用本方案,則一個預測組中的多個像素組之間能並行預測,這有助於縮短該預測組的預測耗時。
如果兩個像素組中的像素之間在預測過程中沒有依賴關係,則這兩個像素組之間可以並行預測。不同像素組所包含的像素個數可以相等,也可以不相等。
本發明實施例對第一指定像素區域和第二指定像素區域具體包括哪些像素,以及這些像素的預測方式均不進行限定。原則上,在滿足“多個像素組之間能並行預測,像素組包括一個或連續多個像素”的基礎之上的任意一種“第一指定像素區域和第二指定像素 區域,及預測方式”均可。
如圖11所示,為本發明實施例提供的一種並行像素組的劃分方式。圖11中,一個預測組中處於同一行的連續多個像素為像素1-12,第一指定像素區域包括的像素是像素3、7、11,第二指定像素區域包括的像素是像素1-2、4-6、8-10、12。多個像素組是像素組1-4,其中,像素組1-3均包含多個像素,像素組4包含1個像素。像素組2與像素組3所包含的像素個數相等,與其他像素組所包含的像素個數不相等。
在一個示例中,第一指定像素區域採用垂直預測,第二指定像素區域採用水平預測。這樣,能夠實現多個像素組之間並行預測。
在另一個示例中,第一指定像素區域採用垂直預測,第二指定像素區域採用垂直均值預測。這樣,能夠實現多個像素組之間並行預測。
可選地,不同像素組所包含的像素數量之差相等或小於閾值。這樣,有助於實現多個像素組所包含的像素數量相等或儘量相等,從而使得並行預測的不同像素組的預測時長相同或大致相同,從而縮短一個預測組的總預測時長。
步驟S702:基於該至少一個預測組的預測模式,對當前圖像塊進行重建,得到重建塊。
例如,對於該至少一個預測組中的任意一個預測組而言,基於該預測組的預測模式對該預測組進行預測,得到該預測組的預測塊;並獲取該預測組的殘差塊;然後,基於該預測塊和該殘差塊,獲得該預測組的重建塊。當然還可以有其他實現方式,例如,當殘差塊中的值全為0時,直接將該預測塊作為該重建塊。又如,基於圖21所示的方法進行重建,得到重建塊。
圖11所示的圖像重建方法,在執行預測時,一個預測 組中的多個像素組之間可以並行預測,這有助於縮短該預測組的總預測時長。圖11所示的圖像解碼方法可以認為是本發明實施例提供的一種新的逐點預測模式。
可擴展地,圖11所示的圖像重建方法中的“行”可以替換為“列”,從而構成新的實施例,以解決高大於寬(例如,當前圖像塊的尺寸為2*16、2*8或1*8等)的當前圖像塊中,因預測過程中不能並存執行而導致的預測過程耗時較長的問題。該情況下,在一個示例中,該第一指定像素區域採用水平預測,第二指定像素區域採用垂直預測。在另一個示例中,該第一指定像素區域採用水平預測,第二指定像素區域採用水平均值預測。其他相關實施例可以基於本發明對圖11的相關描述推理得到,此處不再贅述。
以下,通過具體示例對圖11所示的圖像重建方法進行說明:針對16x2的當前圖像塊,具體可以是16x2的亮度塊,也可以是16x2的色度塊。
1)、一種16x2的當前圖像塊的預測劃分模式如圖12所示,其中,當前圖像塊包括Group1-2。具體的:Group1由第2行像素組成,且採用水平預測;Group2由第1行像素組成,且採用垂直均值預測。其中,Group2的像素可參考上側相鄰16x2的圖像塊的最後一行像素。
如圖12所示,Group2內的第2個像素的編碼依賴於第1個像素的重建值,因此無法並行進行第1個像素和第2個像素的編碼,解碼也是類似。此外,Group1內的第一個像素的編碼依賴於Group2的第1個像素的重建值,因此也無法同時進行編碼或解碼。可見,這種預測劃分模式存在並行度低的問題,不利於硬體實現。
為了提升預測過程中的並行度,應用於本發明實施例圖11所示的實施例中,16x2的當前圖像塊的預測劃分模式可以如圖 13A或圖13B所示。其中,圖13A和圖13B所示的當前圖像塊的預測組劃分模式與圖12相同,但預測模式不同。具體的,任意一個16x2的當前圖像塊可以參考其左側1列(2個像素)和上側1行(16個像素)值。16x2的當前圖像塊最左側像素,稱為第1個像素。則:
方案1、如圖13A所示,預測模式包括:
a)Group1和Group2的第kN+1(N優選為4,k=1,2或3)個像素,採用其上側像素的重建值作為當前像素的預測值。
b)Group2的像素中,除第kN+1(N優選為4,k=1,2或3)個像素外,其他像素採用其左側像素的重建值作為當前像素的預測值。
c)可選地,Group1中的像素,除第kN+1(N優選為4,k=1,2或3)個像素外,其他像素的預測值為預設值(即預設值)。可選的,該其他像素採用其上側像素的重建值(上側相鄰其他塊的重建值,記為P0)和其下側像素的重建值(group2的重建值記為P1)的均值(如:(P0+P1+1)>>1)作為當前像素的預測值。其中,“>>”表示整數右移。“a>>N”表示a右移N位,類似於a除以2的N次方,所以“>>1”等同於整除2。
方案2、如圖13B所示,預測模式包括:
d)Group1和Group2的第kN+2(N優選為5,k=1,2)個像素,採用其上側像素的重建值作為當前像素的預測值。
e)Group2的像素中,除第kN+2(N優選為5,k=1,2)個像素外,其他像素採用其左側像素的重建值作為當前像素的預測值。
f)可選地,Group1中的像素,除第kN+2(N優選為5,k=1,2)個像素外,其他像素採用其上側像素的重建值(上側相鄰其他塊的重建值,記為P0)和其下側像素的重建值(group2的重建值記為P1)的均值(如:(P0+P1+1)>>1,右移一位,即除以2)作為 當前像素的預測值。
2)、一種16x2的當前圖像塊的預測劃分模式如圖14所示,其中,當前圖像塊包括Group1-2。具體的:Group1由第1行像素組成,且採用水平預測;Group2由第2行像素組成,且採用水平預測。
為了提升預測過程中的並行度,應用於本發明實施例圖11所示的實施例中,一種16x2的當前圖像塊的預測劃分模式如圖15A-圖15D所示。其中,圖15A-圖15D所示的當前圖像塊的預測組劃分模式與圖14相同,但預測模式不同。具體的:
方案1、如圖15A所示,預測模式包括:
a)Group1和Group2的第kN+1(N優選為4,k=1,2,3)個像素,採用其上側像素的重建值作為當前像素的預測值。
b)Group1和Group2的其他像素,採用其左側像素的重建值作為當前像素的預測值。
方案2、如圖15B所示,預測模式包括:Group1和Group2的第kN+1(N優選為4,k=2,3)個像素,採用其上側像素的重建值作為當前像素的預測值。其他像素採用左側像素的重建值作為當前像素的預測值。
方案3、如圖15C所示,預測模式包括:Group1和Group2的第kN+2(N優選為5,k=1,2)個像素,採用其上側像素的重建值作為當前像素的預測值。其他像素採用左側像素的重建值作為當前像素的預測值。
方案4、如圖15D所示,預測模式包括:Group1和Group2的第kN+1(N優選為8,k=1)個像素,採用其上側像素的重建值作為當前像素的預測值。其他像素採用左側像素的重建值作為當前像素的預測值。
上述實施例1-2中,N和k均可以取其他值。並且, 預測組中連續多個像素的個數不同時,N和k的取值也可以相應不同。
圖13A-圖13B、圖15A-圖15D中黑色陰影標記的像素的當前圖像塊周圍的當前圖像塊的重建值,若不可得,則可設為預設值。
針對8x2的當前圖像塊,具體可以是8x2的亮度塊,也可以是8x2的色度塊。
一種針對8x2的當前圖像塊的分組預測模式如圖16A和圖16B所示。其中,任意一個8x2的當前圖像塊可以參考左側1列(2個像素)和上側1行(8個像素)的像素的重建值。則:如圖16A所示,在預測劃分模式A中,所有像素採用上側像素的重建值作為當前像素的預測值。
如圖16B所示,預測劃分模式B中,所有像素採用其左側像素的重建值作為當前像素的預測值。
為了提升預測過程中的並行度,應用於本發明實施例圖11所示的實施例中,一種8x2的當前圖像塊的預測劃分模式如圖17所示。
在圖17中,Group1和Group2的第kN+1(N優選為4,k=1)個像素,採用其上側像素的重建值作為當前像素的預測值。其他像素採用左側像素的重建值作為當前像素的預測值。
針對8x1的當前圖像塊,具體可以是8x1的亮度塊,也可以是8x1的色度塊.
一種針對8x1的當前圖像塊的分組預測模式如圖18A和圖18B所示。其中,任意一個8x1的當前圖像塊可以參考左側1列(1個像素)和上側1行(8個像素)的像素的重建值。則:如圖18A所示,在預測劃分模式A中,所有像素採用上側像素的重建值作為當前像素的預測值;如圖18B所示,在預測劃分模式B中,所有像素 採用左側像素的重建值作為當前像素的預測值。
在圖18A和圖18B中,將8x1的當前圖像塊劃分為了一個預測組。
為了提升預測過程中的並行度,應用於本發明實施例圖11所示的實施例中,一種8x2的當前圖像塊的預測劃分模式如圖19所示。
在圖19中,8x1的當前圖像塊的第kN+1(N優選為4,k=1)個像素,採用其上側像素的重建值作為當前像素的預測值。其他像素採用左側像素的重建值作為當前像素的預測值。
在一個示例中,在上述任意一個方案中,若當前圖像塊塊位於一幀圖像或獨立編碼(解碼)單元的第一列,則當前圖像塊左側不存在像素,此時可以採用預設值替代其重建值。例如,該預設值可以是1<<(bit_depth-1)。
類似的,對於上述任意一個方案,若當前圖像塊位於圖像或獨立編碼(解碼)單元的第一行,則當前圖像塊上側不存在像素,此時可以採用預設值替代其重建值。例如,該預設值可以是1<<(bit_depth-1)。其中,bit_depth表示當前圖像塊的比特位元寬,例如,可以是8,9,10,12或16。1<<(bit_depth-1)表示bit_depth-1左移一位。
本發明中的像素的重建值,均可以認為是像素在某個分量的像素值。示例的,這裡的分量可以是RGB格式中的紅色R分量、綠色G分量或藍色B分量;或者,可以是YCbCr格式中的亮度Y分量,色度藍色Cb分量或色度紅Cr分量。每個分量的尺寸可以等於圖像的尺寸相同,也可以小於圖像尺寸。如YUV420格式,Y的尺寸等於圖像尺寸,U或V的寬和高只有Y的一半,即尺寸只有圖像的1/4。基於此,這裡的bit_depth可以表示當前圖像塊在某個分量的比特位元寬。
在上述任意一個方案中,對於每個Group,除了採用上述的水平或垂直預測模式,也可採用其他預測模式。一種可行的預測模式為:採用相鄰圖像塊,或相鄰獨立圖像塊的像素值進行參考預測。
實施例五
在本發明的一些實施例中,編碼端可以對編碼單元的殘差塊進行分組。具體的,編碼單元的每一行像素作為一個預測組,該預測組的殘差塊被劃分為至少一個殘差小塊。
劃分模式1:一個預測組的殘差塊被劃分為一個殘差小塊。其等價於不對該殘差塊進行分組,如圖20中的a圖所示。
劃分模式2:一個預測組的殘差塊被劃分為多個殘差小塊。具體的,按照預設比例將一個預測組的殘差塊劃分為多個殘差小塊。本發明對該預測比例不進行限定。該多個殘差小塊的大小可以相等,或者部分殘差小塊的大小可以相等。
例如,按照1:1的比例,將一個預測組的殘差塊劃分為2個殘差小塊,如圖20中的b圖所示。
例如,按照2:1:1的比例,將一個預測組的殘差塊劃分為3個殘差小塊,如圖20中的c圖所示。
例如,按照1:1:2的比例,將一個預測組的殘差塊劃分為3個殘差小塊,如圖20中的d圖所示。
例如,按照1:1:1:1的比例,將一個預測組的殘差塊劃分為4個殘差小塊,如圖20中的e圖所示。
其中,圖20中的a圖-e圖均是以編碼單元是16x2,且每一行作為一個預測組為例進行說明的。該16x2的編碼單元可以是亮度塊,也可以是色度塊。每個圖中的每個小方格表示一個像素,同一種小方格(如均為白色小方格,或者均為同一種陰影標記的小方格)表示同一個殘差小塊中的像素。
另外,對於8x1的預測組,可以將該預測組的殘差塊劃分為一個殘差小塊或者均分為2個殘差小塊。當然具體實現時不限於此。
在一個示例中,同一個殘差小塊中的像素的係數編碼方式相同,或者,同一個殘差小塊中的像素的編碼長度,即殘差係數編碼後所占的比特數,相同。
在一個示例中,上述圖20示意出了殘差塊的5種劃分模式。
在一個示例中,可以使用1個bit或3個bit表示劃分模式GPM(如表4所示)。其中的GP0-GP4可以分別對應圖20中的a圖-e圖。
Figure 112100625-A0305-02-0046-6
表4所示的殘差塊劃分模式的索引編碼方法也可以適用於其他尺寸的預測組的殘差塊的劃分模式,以及上述預測組的其他劃分模式。
一個殘差塊所劃分成的殘差子塊個數較多時,需要編碼的劃分模式資訊較多;一個殘差塊所劃分成的殘差子塊個數較少時,則把不同特性的殘差分在一組,殘差係數的編碼效率不高。至少兼顧這兩方面考慮,本發明實施例提供了上述殘差塊劃分方法。
實施例六
如圖21所示,為本發明實施例提供的一種圖像重建方法的示意圖,其可以應用於圖像編碼方法,也可以應用於圖像解碼方法中。圖21所示的方法可以包括以下步驟:
步驟S801:確定當前圖像塊的目標預測模式;其中,當前圖像塊包括至少一個預測組;該至少一個預測組中的任意一個預測組包含連 續多個像素。其中,該連續多個像素可以是一行中的連續多個像素,也可以是一列中的連續多個像素。
當本實施例應用於圖像編碼方法中時,本實施例的執行主體可以是編碼端,當前圖像塊具體是待編碼圖像塊或待編碼單元。
當本實施例應用於圖像解碼方法中時,本實施例的執行主體可以是解碼端,當前圖像塊具體可以待解碼圖像塊或待解碼單元。S801可以包括:解析碼流,得到當前圖像塊的目標預測模式的索引。
步驟S802:當目標預測模式滿足預設條件時,基於該連續多個像素中的首個像素的參考值,以及該首個像素與目標像素之間每相鄰兩個像素的殘差值,確定目標像素的重建值。其中,目標像素是該連續多個像素中的任意一個非首個像素,當前圖像塊的重建塊包括包含目標像素的重建值。
在一個示例中,該連續多個像素中的首個像素採用第一預測方式,非首個像素採用第二預測方式。目標預測模式包括第一預測方式和第二預測方式。該情況下,目標預測模式滿足預設條件包括以下任一條件:
條件1:第一預測方式和第二預測方式均為水平預測;
條件2:第一預測方式和第二預測方式均為垂直預測;
條件3:第一預測方式和第二預測方式的其中一種是水平預測,另一種是垂直預測。例如,第一預測方式是水平預測,第二預測方式是垂直預測。又如,第一預測方式是垂直預測,第二預測方式是水平預測。
條件4:第一預測方式是採用與當前圖像塊的相鄰圖像塊,或與當前圖像塊所在的獨立編碼(解碼)單元相鄰的獨立編碼(解碼)單元的像素值進行參考預測的方式。第二預測模式是水平預測或垂直預測。
本實施例提供的圖像重建方法,編碼端/解碼端在執行重建時,可以直接基於其在前的像素與其相鄰的像素的殘差值,即可獲得當前像素的重建值,而不需要等待獲得其在前的像素的重建值,該方案也可以大大提高重建過程的並行度,從而提高解碼並行度和吞吐率。
為簡單起見,下面以如圖22所示的8x1的圖像塊的預測模式為例進行說明。其他圖像塊或者其他預測模式可以簡單類推,不再贅述。
記當前8x1圖像塊的重建值為R(i),殘差值為Res(i),預測值為Pred(i),i=0,1,...7。當前8x1塊上側8x1塊的重建值為RA(i)i=0,1,...7,左側像素的重建值為RLi,i=0,1,如圖22所示。其中圖22是在圖19的基礎上進行繪製的。
基於傳統方法,8x1的圖像塊的預測值為:若i=0,則Pred(i)=RL0;若i=1,2或3,則Pred(i)=R(i-1);若i=4,則Pred(i)=RA(4);若i=5,6或7,則Pred(i)=R(i-1)。
綜上,傳統方法中,8x1的圖像塊的重建值為:R(i)=Pred(i)+Res(i)==R(i-1)/RA(4)+Res(i),i=0,1,...7。
基於圖21所示的方法:對於i=0;R(0)=Pred(0)+Res(0)=RL0+Res(0);對於i=1,R(1)=Pred(1)+Res(1),而由於Pred(1)=R(0),因此R(1)=R(0)+Res(1)=RL0+Res(0)+Res(1)。[01]同理,對於i=2或3,R(2)=RL0+Res(0)+Res(1)+Res(2),R(3)=RL0+Res(0)+Res(1)+Res(2)+Res(3)。
綜上,對於i=0~3中的任一值,
Figure 112100625-A0305-02-0049-8
基於該方法,i=1、2或3的像素的重建值無需等待其左側的像素的重建值生成,只需要獲得當前圖像塊左側的像素值RL0和當前像素和其左側像素的殘差值,便可以直接獲得當前像素的重建值。該方案也可以大大提高解碼並行度和吞吐率。
依次類推,i=4~7,
Figure 112100625-A0305-02-0049-9
i=5~7的像素的重建值也無需等待其左側的像素的重建值便可獲得。
上文提供的任意多個實施例中的部分或全部技術特徵,在不衝突的情況下,均可進行組合,從而構成新的實施例。另外,上文中任意一個實施例提供的技術方案均可適用於16x2,8x2,8x1的圖像塊,當然也可以應用於其他MxN的圖像塊,如4x2,16x4等。
為了實現上述實施例中功能,編碼器/解碼器包括了執行各個功能相應的硬體結構和/或軟體模組。本領域技術人員應該很容易意識到,結合本發明中所公開的實施例描述的各示例的單元及方法步驟,本發明能夠以硬體或硬體和電腦軟體相結合的形式來實現。某個功能究竟以硬體還是電腦軟體驅動硬體的方式來執行,取決於技術方案的特定應用場景和設計約束條件。
以下,說明本發明實施例提供的解碼裝置和編碼單元。在一個示例中,以下提供的任一種解碼裝置均可以是圖2中的目的設備12或解碼器122,或者可以是圖6中的解碼器30。在另一個示例中,以下提供的任一種編碼裝置均可以是圖2中的源設備11或編碼器112,或者可以是圖3中的編碼器20。此處統一說明,下文不再贅述。
圖23為本發明提供的一種解碼裝置3000的結構示意圖,上述任一種解碼方法實施例都可以用該解碼裝置執行。該解碼裝 置3000包括碼流解析單元3001、確定單元3002和重建單元3003。碼流解析單元3001用於解析碼流,以得到第一語法元素,第一語法元素包括待解碼單元的目標預測模式的索引。確定單元3002用於基於目標預測模式的索引,從索引表中確定目標預測模式。其中,索引表包含多種預測模式的索引與多種預測模式之間的對應關係。重建單元3003用於至少基於目標預測模式,對待解碼單元進行重建,得到重建塊。
在一個示例中,碼流解析單元3001可以通過圖6中的碼流解析單元301實現。確定單元3002可以通過圖6中的預測處理單元304實現。重建單元3003可以通過圖6中的預測處理單元304結合重構單元305共同實現。圖6中的當前圖像塊可以是本實施例中的待解碼單元。有關上述碼流解析單元3001、確定單元3002和重建單元3003更詳細的描述、以及其中各技術特徵更詳細的描述,以及有益效果的描述等,均可以參考上述相應的方法實施例部分,此處不再贅述。
圖24為本發明提供的一種編碼裝置3100的結構示意圖,該編碼裝置3100包括預測單元3101和編碼單元3102。預測單元3101用於確定待編碼單元的目標預測模式,以及基於目標預測模式,從索引表中確定目標預測模式的索引。其中,索引表包含多種預測模式的索引與多種預測模式之間的對應關係。編碼單元3102用於將目標預測模式的索引編入碼流。
在一個示例中,預測單元3101可以通過圖3中的預測處理單元201實現,編碼單元3102可以通過圖3中的係數編碼單元205實現。圖3中的當前圖像塊可以是本實施例的編碼單元。有關上述預測單元3101和編碼單元3102更詳細的描述、以及其中各技術特徵更詳細的描述,以及有益效果的描述等,均可以參考上述相應的方法實施例部分,此處不再贅述。
圖25為本發明提供的一種編碼裝置/解碼裝置3200的結構示意圖,該編碼裝置/解碼裝置3200包括確定單元3201、預測單元3202和重建單元3203。確定單元3201用於確定當前圖像塊的殘差編碼模式。如果殘差編碼模式為跳過殘差編碼模式,則預測單元3202用於對當前圖像塊進行預測,得到預測塊;重建單元3203用於將預測塊確定為當前圖像塊的重建塊。如果殘差編碼模式為正常殘差編碼模式,則確定單元3201還用於獲取當前圖像塊的殘差量化相關值,得到殘差塊;重建單元3203用於基於殘差塊,對當前圖像塊進行重建,得到當前圖像塊的重建塊。
在一個示例中,確定單元3201可以通過圖6中的碼流解析單元301實現,預測單元3202可以通過圖6中預測處理單元304實現,重建單元3203可以通過圖6中的重構單元305實現。在另一個示例中,確定單元3201可以通過圖3中的殘差編碼單元203實現,預測單元3202可以通過圖3中的預測處理單元201實現,重建單元3203可以通過圖3中的重構單元208實現。有關上述確定單元3201,預測單元3202和重建單元3203更詳細的描述、以及其中各技術特徵更詳細的描述,以及有益效果的描述等,均可以參考上述相應的方法實施例部分,此處不再贅述。
圖26為本發明提供的一種編碼裝置/解碼裝置3300的結構示意圖,該編碼裝置/解碼裝置3300包括確定單元3301、預測單元3302、重建單元3303和獲取單元3304。確定單元3301用於確定當前圖像塊的目標預測模式。如果目標預測模式為基於跳過殘差編碼的預測模式,則預測單元3302用於對前圖像塊進行預測,得到預測塊;重建單元3303用於將預測塊確定為重建塊。如果目標預測模式為基於正常殘差編碼的預測模式,則獲取單元3304用於獲取前圖像塊的殘差量化相關值,得到前圖像塊的殘差塊;重建單元3303用於基於目標預測模式和殘差塊對前圖像塊進行重建,得到重建塊。
在一個示例中,確定單元3301可以通過圖6中的碼流解析單元301實現,預測單元3302可以通過圖6中預測處理單元304實現,重建單元3303可以通過圖6中的重構單元305實現,獲取單元3304可以通過圖6中的碼流解析單元301和殘差解碼單元303實現。在另一個示例中,確定單元3301和預測單元3302可以通過圖3中的預測處理單元201實現,重建單元3303可以通過圖3中的重構單元208實現,獲取單元3304可以通過圖3中的殘差解碼單元303實現。有關上述確定單元3301、預測單元3302、重建單元3303和獲取單元3304更詳細的描述、以及其中各技術特徵更詳細的描述,以及有益效果的描述等,均可以參考上述相應的方法實施例部分,此處不再贅述。
圖27為本發明提供的一種編碼裝置/解碼裝置3400的結構示意圖,該編碼裝置/解碼裝置3400包括確定單元3401和重建單元3402。確定單元3401用於確定當前圖像塊所劃分的至少一個預測組的預測模式。其中,至少一個預測組中的任意一個預測組包括處於同一行/列的連續多個像素;任意一個預測組中包括第一指定像素區域和第二指定像素區域,第二指定像素區域包括多個像素組,多個像素組根據第一指定像素區域劃分得到,第一指定像素區域與第二指定像素區域的預測方式不同,多個像素組之間能並行預測,像素組包括一個或連續多個像素。重建單元3402用於基於至少一個預測組的預測模式,對當前圖像塊進行重建,得到重建塊。
在一個示例中,確定單元3401可以通過圖6中的碼流解析單元301實現,重建單元3402可以通過圖6中預測處理單元304和重構單元305共同實現。在另一個示例中,確定單元3401可以通過圖3中的預測處理單元201實現,重建單元3402可以通過圖3中的重構單元208共同實現。有關上述確定單元3401和重建單元3402更詳細的描述、以及其中各技術特徵更詳細的描述,以及有益效 果的描述等,均可以參考上述相應的方法實施例部分,此處不再贅述。
圖28為本發明提供的一種編碼裝置/解碼裝置3500的結構示意圖,該編碼裝置/解碼裝置3500包括確定單元3501和重建單元3502。確定單元3501用於確定當前圖像塊的目標預測模式。其中,所述當前圖像塊包括至少一個預測組;所述至少一個預測組中的任意一個預測組包含連續多個像素。重建單元3502用於當所述目標預測模式滿足預設條件時,基於所述連續多個像素中的首個像素的參考值,以及所述首個像素與目標像素之間每相鄰兩個像素的殘差值,確定所述目標像素的重建值。其中,所述目標像素是所述連續多個像素中的任意一個非首個像素,所述當前圖像塊的重建塊包括包含所述目標像素的重建值。
在一個示例中,確定單元3501可以通過圖6中的碼流解析單元301實現,重建單元3502可以通過圖6中預測處理單元304和重構單元305共同實現。在另一個示例中,確定單元3501可以通過圖3中的預測處理單元201實現,重建單元3502可以通過圖3中的重構單元208共同實現。有關上述確定單元3501和重建單元3502更詳細的描述、以及其中各技術特徵更詳細的描述,以及有益效果的描述等,均可以參考上述相應的方法實施例部分,此處不再贅述。
本發明還提供一種電子設備,用於執行上述任意解碼方法實施例。如圖29所示,圖29為本發明提供的一種電子設備的結構示意圖,電子設備3600包括處理器3610和介面電路3620。處理器3610和介面電路3620之間相互耦合。介面電路3620可以為收發器或輸入輸出介面。在一個示例中,電子設備3600還可以包括記憶體3630,用於存儲處理器3610執行的指令或存儲處理器3610運行指令所需要的輸入資料或存儲處理器3610運行指令後產生的資料。
該電子設備3600包括處理器3610和通信介面3620。處理器3610和通信介面3620之間相互耦合。通信介面3620可以為 收發器或輸入輸出介面。在一個示例中,電子設備3600還可以包括記憶體3630,用於存儲處理器3610執行的指令或存儲處理器3610運行指令所需要的輸入資料,或存儲處理器3610運行指令後產生的資料。
本發明實施例中不限定上述通信介面3620、處理器3610以及記憶體3630之間的具體連接介質。本發明實施例在圖29中以通信介面3620、處理器3610以及記憶體3630之間通過匯流排3640連接,匯流排在圖29中以粗線表示,其它部件之間的連接方式,僅是進行示意性說明,並不引以為限。所述匯流排可以分為位址匯流排、資料匯流排、控制匯流排等。為便於表示,圖29中僅用一條粗線表示,但並不表示僅有一根匯流排或一種類型的匯流排。
記憶體3630可用於存儲軟體程式及模組,如本發明實施例所提供的解碼方法或編碼方法對應的程式指令/模組,處理器3610通過執行存儲在記憶體3630內的軟體程式及模組,從而執行各種功能應用以及資料處理,以實現上文提供的任一種解碼方法或編碼方法。該通信介面3620可用於與其他設備進行信令或資料的通信。在本發明中該電子設備3600可以具有多個通信介面3620。
本發明的實施例中的處理器可以是中央處理器(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)、寄存器、硬碟、移動硬碟、光碟唯讀記憶體(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:步驟

Claims (34)

  1. 一種圖像解碼方法,其特徵在於,包括:解析碼流,以得到第一語法元素,所述第一語法元素包括待解碼單元的目標預測模式的索引;基於所述目標預測模式的索引,從索引表中確定所述目標預測模式;其中,所述索引表包含多種預測模式的索引與所述多種預測模式之間的對應關係;至少基於所述目標預測模式,對所述待解碼單元進行重建,得到重建塊;其中,所述待解碼單元包括至少一個預測組,所述至少一個預測組中的任意一個預測組包括處於同一行/列的連續多個像素,所述任意一個預測組中包括第一指定像素區域和第二指定像素區域,所述第一指定像素區域與所述第二指定像素區域的預測方式不同。
  2. 如請求項1所述的方法,其中,所述多種預測模式的索引按照截斷一元碼方式生成,或者按照二叉樹方式生成。
  3. 如請求項1所述的方法,其中,所述多種預測模式包括原始值模式和其他預測模式,所述原始值模式的索引的碼字長度大於或等於所述其他預測模式中的一種或多種預測模式的索引的碼字長度。
  4. 如請求項1所述的方法,其中,所述多種預測模式包括原始值模式和其他預測模式,所述其他預測模式包括以下至少一種:點預測模式、幀內預測模式或塊複製模式。
  5. 如請求項1所述的方法,其中,解析所述碼流還得到第二語法元素,所述第二語法元素包括所述待解碼單元的殘差編碼模式的索引;所述至少基於所述目標預測模式,對所述待解碼單元進行重建,得到重建塊,包括: 如果所述殘差編碼模式的索引用於指示跳過殘差編碼模式,則對所述待解碼單元進行預測,得到預測塊,並將所述預測塊確定為所述重建塊;如果所述殘差編碼模式的索引用於指示正常殘差編碼模式,則解析所述待解碼單元的殘差量化相關值,得到殘差塊;基於所述目標預測模式和所述殘差塊,對所述待解碼單元進行重建,得到所述重建塊。
  6. 如請求項1所述的方法,其中,所述多種預測模式包括原始值模式和其他預測模式,所述其他預測模式包括以下至少一種:基於正常殘差編碼的逐點預測模式、幀內預測模式、塊複製模式,基於跳過殘差編碼的逐點預測模式、幀內預測模式或塊複製模式。
  7. 如請求項6所述的方法,其中,所述至少基於所述目標預測模式,對所述待解碼單元進行重建,得到重建塊,包括:如果所述目標預測模式是基於跳過殘差編碼的逐點預測模式、幀內預測模式或塊複製模式,則將所述預測塊確定為所述重建塊;如果所述目標預測模式是基於正常殘差編碼的逐點預測模式、幀內預測模式或塊複製模式,則解析所述待解碼單元的殘差量化相關值,得到所述待解碼單元的殘差塊,並基於所述目標預測模式和所述殘差塊對所述待解碼單元進行重建,得到所述重建塊。
  8. 如請求項1所述的方法,其中,所述第二指定像素區域包括多個像素組,所述多個像素組根據所述第一指定像素區域劃分得到,所述多個像素組能並行預測,所述像素組包括一個或連續多個像素。
  9. 如請求項8所述的方法,其中,如果所述任意一個預測組包括處於同一行的連續多個元素,則:所述第一指定像素區域採用垂直預測,所述第二指定像素區域採用水平預測或者垂直均值預測;和/或,如果所述任意一個預測組包括處於同一列的連續多個元 素,則:所述第一指定像素區域採用水平預測,所述第二指定像素區域採用垂直預測或者水平均值預測。
  10. 如請求項8或9所述的方法,其中,不同像素組所包含的像素數量之差相等或小於閾值。
  11. 如請求項8或9所述的方法,其中,如果所述待解碼單元不存在參考塊,則所述待解碼單元的第一個像素的重建值為所述待解碼單元的比特位元寬左移1位後得到的值。
  12. 如請求項1至9任一項所述的方法,其中,所述待解碼單元包括至少一個預測組;所述至少一個預測組中的任意一個預測組包含連續多個像素;至少基於所述目標預測模式,對所述待解碼單元進行重建,得到重建塊,包括:當所述目標預測模式滿足預設條件時,基於所述連續多個像素中的首個像素的參考值,以及所述首個像素與目標像素之間每相鄰兩個像素的殘差值,確定所述目標像素的重建值;其中,所述目標像素是所述連續多個像素中的任意一個非首個像素,所述重建塊包含所述目標像素的重建值。
  13. 如請求項12所述的方法,其中,所述首個像素採用第一預測方式,所述非首個像素採用第二預測方式;所述目標預測模式包括所述第一預測方式和所述第二預測方式,所述目標預測模式滿足預設條件包括:所述第一預測方式和所述第二預測方式均為水平預測;或者,所述第一預測方式和所述第二預測方式均為垂直預測;或者,所述第一預測方式和所述第二預測方式的其中一種是水平預測,另一種是垂直預測;或者,所述第一預測方式是採用與所述待解碼單元的相鄰解碼單元,或與所述待解碼單元所在的獨立解碼單元相鄰的獨立解碼單元的像素值進行參考預測的方式,所述第二預測方式是水平預測或垂直預 測。
  14. 一種圖像編碼方法,其特徵在於,包括:確定待編碼單元的目標預測模式;基於所述目標預測模式,從索引表中確定所述目標預測模式的索引;其中,所述索引表包含多種預測模式的索引與所述多種預測模式之間的對應關係;將所述目標預測模式的索引編入碼流;其中,所述待解碼單元包括至少一個預測組,所述至少一個預測組中的任意一個預測組包括處於同一行/列的連續多個像素,所述任意一個預測組中包括第一指定像素區域和第二指定像素區域,所述第一指定像素區域與所述第二指定像素區域的預測方式不同。
  15. 如請求項14所述的方法,其中,所述多種預測模式的索引按照截斷一元碼方式生成,或者按照二叉樹方式生成。
  16. 如請求項14或15所述的方法,其中,所述多種預測模式包括原始值模式和其他預測模式,所述原始值模式的索引的碼字長度大於或等於所述其他預測模式中的一種或多種預測模式的索引的碼字長度。
  17. 如請求項14或15所述的方法,其中,所述多種預測模式包括原始值模式和其他預測模式;所述其他預測模式包括以下至少一種:點預測模式、幀內預測模式或塊複製模式;或者,所述其他預測模式包括以下至少一種:基於正常殘差編碼的逐點預測模式、幀內預測模式、塊複製模式,基於跳過殘差編碼的逐點預測模式、幀內預測模式或塊複製模式。
  18. 一種圖像編解碼方法,其特徵在於,所述方法包括:確定當前圖像塊的殘差編碼模式;如果所述殘差編碼模式為跳過殘差編碼模式,則對所述當前圖像 塊進行預測,得到預測塊,並將所述預測塊確定為所述當前圖像塊的重建塊;如果所述殘差編碼模式為正常殘差編碼模式,則獲取所述當前圖像塊的殘差量化相關值,得到殘差塊;並基於所述殘差塊,對所述當前圖像塊進行重建,得到所述當前圖像塊的重建塊。
  19. 一種圖像編解碼方法,其特徵在於,所述方法包括:確定當前圖像塊的目標預測模式;如果所述目標預測模式為基於跳過殘差編碼的預測模式,則對所述當前圖像塊進行預測,得到預測塊,並將所述預測塊確定為所述當前圖像塊的重建塊;如果所述目標預測模式為基於正常殘差編碼的預測模式,則獲取所述當前圖像塊的殘差量化相關值,得到所述當前圖像塊的殘差塊,並基於所述目標預測模式和所述殘差塊對所述當前圖像塊進行重建,得到所述重建塊。
  20. 如請求項19所述的方法,其中,所述基於跳過殘差編碼的預測模式,包括:基於跳過殘差編碼的逐點預測模式、幀內預測模式或塊複製模式;和/或,所述基於正常殘差編碼的預測模式,包括:基於正常殘差編碼的逐點預測模式、幀內預測模式或塊複製模式。
  21. 一種圖像編解碼方法,其特徵在於,所述方法包括:確定當前圖像塊所劃分的至少一個預測組的預測模式;其中,所述至少一個預測組中的任意一個預測組包括處於同一行/列的連續多個像素;所述任意一個預測組中包括第一指定像素區域和第二指定像素區域,所述第二指定像素區域包括多個像素組,所述多個像素組根據所述第一指定像素區域劃分得到,所述第一指定像素區域與所述第二指定像素區域的預測方式不同,所述多個像素組之間能並行預測,所述像素組包括一個或連續多個像素; 基於所述至少一個預測組的預測模式,對所述當前圖像塊進行重建,得到重建塊。
  22. 如請求項21所述的方法,其中,如果所述任意一個預測組包括處於同一行的連續多個元素,則:所述第一指定像素區域採用垂直預測,所述第二指定像素區域採用水平預測或者垂直均值預測;和/或,如果所述任意一個預測組包括處於同一列的連續多個元素,則:所述第一指定像素區域採用水平預測,所述第二指定像素區域採用垂直預測或者水平均值預測。
  23. 如請求項21或22所述的方法,其中,不同像素組所包含的像素數量之差相等或小於閾值。
  24. 如請求項21或22所述的方法,其中,如果所述當前圖像塊不存在參考塊,則所述當前圖像塊的第一個像素的重建值為所述當前圖像塊的比特位元寬左移1位後得到的值。
  25. 一種圖像編解碼方法,其特徵在於,包括:確定當前圖像塊的目標預測模式;其中,所述當前圖像塊包括至少一個預測組;所述至少一個預測組中的任意一個預測組包含連續多個像素;當所述目標預測模式滿足預設條件時,基於所述連續多個像素中的首個像素的參考值,以及所述首個像素與目標像素之間每相鄰兩個像素的殘差值,確定所述目標像素的重建值;其中,所述目標像素是所述連續多個像素中的任意一個非首個像素,所述當前圖像塊的重建塊包括包含所述目標像素的重建值。
  26. 如請求項25所述的方法,其中,所述首個像素採用第一預測方式,所述非首個像素採用第二預測方式;所述目標預測模式包括所述第一預測方式和所述第二預測方式,所述目標預測模式滿足預設條件包括: 所述第一預測方式和所述第二預測方式均為水平預測;或者,所述第一預測方式和所述第二預測方式均為垂直預測;或者,所述第一預測方式和所述第二預測方式的其中一種是水平預測,另一種是垂直預測;或者,所述第一預測方式是採用與所述當前圖像塊的相鄰解碼單元,或與所述當前圖像塊所在的獨立解碼單元相鄰的獨立解碼單元的像素值進行參考預測的方式,所述第二預測方式是水平預測或垂直預測。
  27. 一種圖像解碼裝置,其特徵在於,包括:碼流解析單元,用於解析碼流,以得到第一語法元素,所述第一語法元素包括待解碼單元的目標預測模式的索引;確定單元,用於基於所述目標預測模式的索引,從索引表中確定所述目標預測模式;其中,所述索引表包含多種預測模式的索引與所述多種預測模式之間的對應關係;重建單元,用於至少基於所述目標預測模式,對所述待解碼單元進行重建,得到重建塊;其中,所述待解碼單元包括至少一個預測組,所述至少一個預測組中的任意一個預測組包括處於同一行/列的連續多個像素,所述任意一個預測組中包括第一指定像素區域和第二指定像素區域,所述第一指定像素區域與所述第二指定像素區域的預測方式不同。
  28. 一種圖像編碼裝置,其特徵在於,包括:預測單元,用於確定待編碼單元的目標預測模式,以及基於所述目標預測模式,從索引表中確定所述目標預測模式的索引;其中,所述索引表包含多種預測模式的索引與所述多種預測模式之間的對應關係;編碼單元,用於將所述目標預測模式的索引編入碼流;其中,所述待解碼單元包括至少一個預測組,所述至少一個預測 組中的任意一個預測組包括處於同一行/列的連續多個像素,所述任意一個預測組中包括第一指定像素區域和第二指定像素區域,所述第一指定像素區域與所述第二指定像素區域的預測方式不同。
  29. 一種圖像編碼/解碼裝置,其特徵在於,包括確定單元、預測單元和重建單元;所述確定單元,用於確定當前圖像塊的殘差編碼模式;如果所述殘差編碼模式為跳過殘差編碼模式,則所述預測單元用於對所述當前圖像塊進行預測,得到預測塊,所述重建單元用於將所述預測塊確定為所述當前圖像塊的重建塊;如果所述殘差編碼模式為正常殘差編碼模式,則所述確定單元還用於獲取所述當前圖像塊的殘差量化相關值,得到殘差塊,所述重建單元用於基於所述殘差塊,對所述當前圖像塊進行重建,得到所述當前圖像塊的重建塊。
  30. 一種圖像編碼/解碼裝置,其特徵在於,包括確定單元、預測單元、重建單元和獲取單元;所述確定單元用於確定當前圖像塊的目標預測模式;如果所述目標預測模式為基於跳過殘差編碼的預測模式,則所述預測單元用於對所述當前圖像塊進行預測,得到預測塊,所述重建單元用於將所述預測塊確定為所述當前圖像塊的重建塊;如果所述目標預測模式為基於正常殘差編碼的預測模式,則所述獲取單元用於獲取所述當前圖像塊的殘差量化相關值,得到所述當前圖像塊的殘差塊,所述重建單元用於基於所述目標預測模式和所述殘差塊對所述當前圖像塊進行重建,得到所述當前圖像塊的重建塊。
  31. 一種圖像編碼/解碼裝置,其特徵在於,包括:確定單元,用於確定當前圖像塊所劃分的至少一個預測組的預測模式;其中,所述至少一個預測組中的任意一個預測組包括處於同一行/列的連續多個像素;所述任意一個預測組中包括第一指定像素區 域和第二指定像素區域,所述第二指定像素區域包括多個像素組,所述多個像素組根據所述第一指定像素區域劃分得到,所述第一指定像素區域與所述第二指定像素區域的預測方式不同,所述多個像素組之間能並行預測,所述像素組包括一個或連續多個像素;重建單元,用於基於所述至少一個預測組的預測模式,對所述當前圖像塊進行重建,得到重建塊。
  32. 一種圖像編碼/解碼裝置,其特徵在於,包括:確定單元,用於確定當前圖像塊的目標預測模式;其中,所述當前圖像塊包括至少一個預測組;所述至少一個預測組中的任意一個預測組包含連續多個像素;重建單元,用於當所述目標預測模式滿足預設條件時,基於所述連續多個像素中的首個像素的參考值,以及所述首個像素與目標像素之間每相鄰兩個像素的殘差值,確定所述目標像素的重建值;其中,所述目標像素是所述連續多個像素中的任意一個非首個像素,所述當前圖像塊的重建塊包括包含所述目標像素的重建值。
  33. 一種電子設備,其特徵在於,包括處理器和記憶體,所述記憶體用於存儲電腦指令,所述處理器用於從記憶體中調用並運行所述電腦指令,實現請求項1至26中任一項所述的方法。
  34. 一種電腦可讀存儲介質,其特徵在於,所述存儲介質中存儲有電腦程式或指令,當所述電腦程式或指令被電子設備執行時,實現請求項1至26中任一項所述的方法。
TW112100625A 2022-01-07 2023-01-06 圖像編解碼的方法、裝置及存儲介質 TWI832661B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210016199.1A CN116074529A (zh) 2022-01-07 2022-01-07 图像编解码方法、装置及存储介质
CN202210016199.1 2022-01-07

Publications (2)

Publication Number Publication Date
TW202345595A TW202345595A (zh) 2023-11-16
TWI832661B true TWI832661B (zh) 2024-02-11

Family

ID=86182563

Family Applications (1)

Application Number Title Priority Date Filing Date
TW112100625A TWI832661B (zh) 2022-01-07 2023-01-06 圖像編解碼的方法、裝置及存儲介質

Country Status (3)

Country Link
CN (2) CN116800956A (zh)
TW (1) TWI832661B (zh)
WO (1) WO2023131221A2 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107040785A (zh) * 2016-02-04 2017-08-11 联发科技股份有限公司 图像解码和图像编码的方法和装置
TW201740728A (zh) * 2016-05-13 2017-11-16 高通公司 幀內預測模式之基於鄰近的發信號
CN111698504A (zh) * 2019-03-11 2020-09-22 杭州海康威视数字技术股份有限公司 编码方法、解码方法及装置
US20210160508A1 (en) * 2011-11-09 2021-05-27 Sk Telecom Co., Ltd. Method and apparatus for encoding and decoding video using skip mode
CN113475068A (zh) * 2019-02-28 2021-10-01 高通股份有限公司 视频编译码中通过广义帧内预测对子块进行编译码
US20220007018A1 (en) * 2019-01-04 2022-01-06 Interdigital Vc Holdings, Inc. Inverse mapping simplification

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100452883C (zh) * 2001-12-17 2009-01-14 微软公司 处理视频图像的方法
WO2017065532A1 (ko) * 2015-10-13 2017-04-20 엘지전자(주) 비디오 신호의 인코딩, 디코딩 방법 및 장치
CN110662033B (zh) * 2018-06-28 2021-11-23 杭州海康威视数字技术股份有限公司 一种解码、编码方法及其设备
US11190758B2 (en) * 2019-04-25 2021-11-30 Qualcomm Incorporated Block-based quantized residual domain pulse code modulation assignment for intra prediction mode derivation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210160508A1 (en) * 2011-11-09 2021-05-27 Sk Telecom Co., Ltd. Method and apparatus for encoding and decoding video using skip mode
CN107040785A (zh) * 2016-02-04 2017-08-11 联发科技股份有限公司 图像解码和图像编码的方法和装置
TW201740728A (zh) * 2016-05-13 2017-11-16 高通公司 幀內預測模式之基於鄰近的發信號
US20220007018A1 (en) * 2019-01-04 2022-01-06 Interdigital Vc Holdings, Inc. Inverse mapping simplification
CN113475068A (zh) * 2019-02-28 2021-10-01 高通股份有限公司 视频编译码中通过广义帧内预测对子块进行编译码
CN111698504A (zh) * 2019-03-11 2020-09-22 杭州海康威视数字技术股份有限公司 编码方法、解码方法及装置

Also Published As

Publication number Publication date
WO2023131221A3 (zh) 2023-08-31
CN116800956A (zh) 2023-09-22
TW202345595A (zh) 2023-11-16
CN116074529A (zh) 2023-05-05
WO2023131221A2 (zh) 2023-07-13

Similar Documents

Publication Publication Date Title
WO2020253828A1 (zh) 一种编解码方法、装置及存储介质
JP6324481B2 (ja) 再構成された画像のサンプルのセットのための補償オフセットを符号化するための方法および装置
TW201725905A (zh) 用於非4:4:4色度子採樣之顯示串流壓縮(dsc)之熵寫碼技術
WO2023236936A1 (zh) 一种图像编解码方法及装置
WO2023039859A1 (zh) 视频编解码方法、设备、系统、及存储介质
WO2024022359A1 (zh) 一种图像编解码方法及装置
TW202406351A (zh) 圖像解碼方法、編碼方法及裝置
TWI832661B (zh) 圖像編解碼的方法、裝置及存儲介質
WO2023185806A1 (zh) 一种图像编解码方法、装置、电子设备及存储介质
WO2023083239A1 (zh) 图像解码方法及装置、图像编码方法及装置
TWI829424B (zh) 解碼方法、編碼方法及裝置
WO2023272533A1 (zh) 编解码方法、编码器、解码器以及存储介质
WO2022217417A1 (zh) 编解码方法、编码器、解码器以及存储介质
US11706410B2 (en) Methods and systems for combined lossless and lossy coding
WO2023138391A1 (zh) 系数解码方法、装置、图像解码器及电子设备
WO2022217442A1 (zh) 系数编解码方法、编码器、解码器以及计算机存储介质
WO2022217447A1 (zh) 视频编解码方法与系统、及视频编解码器
WO2022193389A1 (zh) 视频编解码方法与系统、及视频编解码器
WO2023272517A1 (zh) 编解码方法、码流、编码器、解码器及计算机存储介质