TWI834547B - 一種解碼、編碼方法、裝置及其設備 - Google Patents

一種解碼、編碼方法、裝置及其設備 Download PDF

Info

Publication number
TWI834547B
TWI834547B TW112115704A TW112115704A TWI834547B TW I834547 B TWI834547 B TW I834547B TW 112115704 A TW112115704 A TW 112115704A TW 112115704 A TW112115704 A TW 112115704A TW I834547 B TWI834547 B TW I834547B
Authority
TW
Taiwan
Prior art keywords
current image
image area
pixel
adjustment
value
Prior art date
Application number
TW112115704A
Other languages
English (en)
Other versions
TW202344046A (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
Priority claimed from CN202210458047.7A external-priority patent/CN116095307B/zh
Application filed by 大陸商杭州海康威視數字技術股份有限公司 filed Critical 大陸商杭州海康威視數字技術股份有限公司
Publication of TW202344046A publication Critical patent/TW202344046A/zh
Application granted granted Critical
Publication of TWI834547B publication Critical patent/TWI834547B/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/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/136Incoming video signal characteristics or properties
    • 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
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本申請提供一種解碼、編碼方法、裝置及其設備,該解碼方法包括:基於當前圖像區域對應的特徵資訊確定是否需要對當前圖像區域進行重建值調整;若確定需要對所述當前圖像區域進行重建值調整,則從所述當前圖像區域對應的碼流中獲取所述當前圖像區域對應的調整參數;基於所述調整參數對所述當前圖像區域的重建值進行調整。通過本申請能夠提高編碼性能和解碼性能。

Description

一種解碼、編碼方法、裝置及其設備
本申請涉及編解碼技術領域,尤其是涉及一種解碼、編碼方法、裝置及其設備。
為了達到節約空間的目的,視頻圖像都是經過編碼後才傳輸的,完整的視頻編碼可以包括預測、變換、量化、熵編碼、濾波等過程。預測過程可以包括幀內預測和幀間預測,幀間預測是指利用視頻時間域的相關性,使用鄰近已編碼圖像的像素預測當前像素,以達到有效減少視頻時域冗餘的目的。幀內預測是指利用視頻空間域的相關性,使用當前幀圖像的已編碼塊的像素預測當前像素,以達到減少視頻空域冗餘的目的。
淺編碼是一種圖像編碼方法,其特點為簡單預測。淺編碼適用於即時性要求高、緩存小、並行性要求高的場景。但是,在採用淺編碼的編碼過程中,對於較大的量化步長,往往造成較大的量化誤差,特別是在平坦區域,整體的偏差會導致出現色塊,從而導致主觀有損。
有鑑於此,本申請提供了一種解碼、編碼方法、裝置及其設備,提高了編碼性能。
本申請提供一種解碼方法,應用於解碼端,所述方法包括:基於當前圖像區域對應的特徵資訊確定是否需要對所述當前圖像區域進行重建值調整;若確定需要對所述當前圖像區域進行所述重建值調整,則從所述當前圖像區域對應的碼流中獲取所述當前圖像區域對應的調整參數;基於所述調整參數對所述當前圖像區域的重建值進行調整。
本申請提供一種編碼方法,應用於編碼端,所述方法包括:基於當前圖像區域對應的特徵資訊確定是否需要對所述當前圖像區域進行重建值調整;若確定需要對所述當前圖像區域進行所述重建值調整,則獲取所述當前圖像區域對應的調整參數,所述調整參數用於對所述當前圖像區域的重建值進行調整;在所述當前圖像區域對應的碼流中編碼所述當前圖像區域對應的所述調整參數。
本申請提供一種解碼裝置,所述解碼裝置包括:記憶體,其經配置以儲存視頻資料;解碼器,其經配置以實現:基於當前圖像區域對應的特徵資訊確定是否需要對所述當前圖像區域進行重建值調整;若確定需要對所述當前圖像區域進行所述重建值調整,則從所述當前圖像區域對應的碼流中獲取所述當前圖像區域對應的調整參數;基於所述調整參數對所述當前圖像區域的重建值進行調整。
本申請提供一種編碼裝置,所述編碼裝置包括:記憶體,其經配置以儲存視頻資料;編碼器,其經配置以實現:基於當前圖像區域對應的特徵資訊確定是否需要對所述當前圖像區域進行重建值調整;若確定需要對所述當前圖像區域進行所述重建值調整,則獲取所述當前圖像區域對應的調整參數,所述調整參數用於對所述當前圖像區域的重建值進行調整;在所述當前圖像區域對應的碼流中編碼所述當前圖像區域對應的所述調整參數。
本申請提供一種解碼端設備,包括:處理器和機器可讀存儲介質,所述機器可讀存儲介質儲存有能夠被所述處理器執行的機器可執行指令;所述處理器用於執行所述機器可執行指令,以實現上述的解碼方法。
本申請提供一種編碼端設備,包括:處理器和機器可讀存儲介質,所述機器可讀存儲介質儲存有能夠被所述處理器執行的機器可執行指令;所述處理器用於執行所述機器可執行指令,以實現上述的編碼方法。
本申請提供一種機器可讀存儲介質,其上儲存有電腦指令,所述電腦指令被至少一個處理器執行時,實現上述的解碼方法或編碼方法。
由以上技術方案可見,本申請實施例中,提出一種淺編碼方法,可以適用於即時性要求高、緩存小、並行性要求高的場景,在得到當前圖像區域的重建值之後,還可以對當前圖像區域的重建值進行調整,從而能夠使重建像素更接近原始像素,帶來編碼性能和解碼性能的提高。對於較大的量化步長,減少量化誤差,特別在平坦區域,減少整體偏差導致的色塊問題,能夠減輕主觀有損,即淺編碼方法能夠實現主觀無損、硬體實現簡單。
在本申請實施例使用的術語僅僅是出於描述特定實施例的目的,而非用於限制本申請。本申請實施例和請求項書中所使用的單數形式的「一種」、「所述」和「該」也旨在包括多數形式,除非上下文清楚地表示其它含義。還應當理解,本文中使用的術語「和/或」是指包含一個或多個相關聯的列出專案的任何或所有可能的組合。應當理解,儘管在本申請實施例可能採用術語第一、第二、第三等來描述各種資訊,但是,這些資訊不應限於這些術語。這些術語僅用來將同一類型的資訊彼此區分開。例如,在不脫離本申請實施例範圍的情況下,第一資訊也可以被稱為第二資訊,類似地,第二資訊也可以被稱為第一資訊,取決於語境。此外,所使用的詞語「如果」可以被解釋成為「在……時」,或「當……時」,或「響應於確定」。
本申請實施例中提出一種解碼、編碼方法、裝置及其設備,可以涉及如下概念:
幀內預測(intra prediction)、幀間預測(inter prediction)與IBC(Intra Block Copy,幀內塊拷貝)預測:
幀內預測是指,基於視頻空間域的相關性,使用當前圖像的已編碼塊的像素預測當前塊的像素,以達到減少視頻空域冗餘(spatial redundancy)的目的。幀內預測規定了多種預測模式,每種預測模式對應一種紋理方向(DC(Direct Current,直流)模式除外),例如,若圖像紋理呈現水平狀排列,則水平預測模式可以更好的預測圖像資訊。
幀間預測是指,基於視頻時間域的相關性,由於視頻序列包含較強的時域相關性,使用鄰近已編碼圖像的像素預測當前圖像的像素,可以達到有效減少視頻時域冗餘(temporal redundancy)的目的。視頻編碼標準幀間預測部分都採用了基於塊的運動補償技術,主要原理是為當前圖像的每一個區塊在之前已編碼圖像中尋找一個最佳匹配塊,該過程稱為運動估計(Motion Estimation,ME)。
幀內塊拷貝是指,允許同幀參考,當前塊的參考資料來自同一幀。幀內塊拷貝技術中,可以使用當前塊的塊向量獲取當前塊的預測值,示例性的,基於螢幕內容中同一幀記憶體在大量重複出現的紋理這一特性,在採用塊向量獲取當前塊的預測值時,能夠提升螢幕內容序列的壓縮效率。
預測像素(Prediction Pixel)是指從已編解碼的像素中匯出的像素值,通過原始像素與預測像素之差獲得殘差,進而進行殘差變換量化以及係數編碼。幀間預測像素指的是當前塊從參考幀匯出的像素值,由於像素位置離散,需要通過插值運算來獲取最終的預測像素。預測像素與原始像素越接近,兩者相減得到的殘差能量越小,編碼壓縮性能越高。
幀內預測模式:在幀內編碼中,使用幀內預測模式進行運動補償,即採用幀內預測模式獲取當前塊的預測值,幀內預測模式是使用到當前幀的重建值和預測值等進行預測的模式。例如,幀內預測模式可以包括但不限於DC模式、bilinear模式、角度預測模式(如水平角度預測模式、垂直角度預測模式等,對此角度預測模式不做限制,可以是任意角度,如33種角度模式或者65種角度模式等)、IBC模式、ISC(Intra String Copy,幀內串複製)模式、Planar模式、逐點預測模式等。
DC模式和角度預測模式可以參見圖1A所示,DC模式適用於大面積平坦區域,將當前塊的周圍像素的平均值作為當前塊的預測值,角度預測模式是將某角度指向的當前塊的周圍像素的值作為當前塊的預測值。在圖1A中,a)是DC模式的示意圖,將「D」上側的16個參考像素的均值作為「D」的預測值。b)是角度預測模式1的示意圖,表示將該角度指向的參考像素的值作為當前塊的預測值。c)是角度預測模式2的示意圖,d)是角度預測模式3的示意圖,e)是角度預測模式4的示意圖,f)是角度預測模式5的示意圖,g)是角度預測模式6的示意圖。
bilinear模式即雙線性插值模式,參見圖1B所示,bilinear模式的預測過程如下:首先產生右下角C位置的預測值(右上角參考像素A和左下角參考像素B的加權平均),然後產生右邊界AC位置的預測值(右上角參考像素A和右下角C位置預測值的加權平均),然後產生下邊界BC位置的預測值(左下角參考像素B和右下角C位置預測值的加權平均),剩餘其它內部像素點的預測值(例如X位置的預測值)通過水平線性預測產生的預測值和垂直線性預測產生的預測值的加權平均產生。水平線性預測產生的預測值為左邊對應位置參考像素L和右邊界AC位置的預測值的加權平均;垂直線性預測產生的預測值為上邊對應位置參考像素T和下邊界BC位置的預測值的加權平均。
Planar模式(或Plane模式)適用於像素值緩慢變化的區域,使用水平方向和垂直方向的兩個線性濾波器,將兩個方向上像素的平均值作為當前塊像素的預測值。Planar模式是漸變模式,Planar模式是一種利用了不同位置的參考像素以及不同的權重參數得到預測值的幀內預測模式。
ISC模式,是將當前塊內像素以一定的掃描順序(一般為水平光柵掃描順序或垂直光柵掃描順序)排列成若干一維像素組,每個像素組進行類似運動估計的方式得到像素組的預測值。
逐點預測模式,參見圖1C所示,為16*2的區塊的4種逐點預測模式的示意圖。示例性的,16*2的區塊的逐點預測模式可以包括4種,每種逐點預測模式都是以16*2整塊作為基本單元進行預測。在圖1C中,≡用於表示採用左右兩側像素的重建值求平均得到當前像素的預測值;|||用於表示採用上下兩側像素的重建值求平均得到當前像素的預測值;>用於表示直接採用左側像素的重建值作為當前像素的預測值;∨用於表示直接採用上側像素的重建值作為當前像素的預測值。從圖1C可以看出,對於逐點預測模式1,Group2的預測需要依賴於Group1的重建;對於逐點預測模式2,Group1的預測需要依賴於Group2的重建。
率失真優化(Rate-Distortion Optimization,RDO)原則:評價編碼效率的有兩大指標:碼率和PSNR(Peak Signal to Noise Ratio,峰值信噪比),比特流越小,則壓縮率越大,PSNR越大,則重建圖像品質越好,在模式選擇時,判別公式實質上也就是對二者的綜合評價。例如,模式對應的代價:J(mode)=D+λ*R,其中,D表示Distortion(失真),通常可以使用SSE(Sum of the Squared Errors,誤差平方和)指標來進行衡量,SSE是指重建圖像塊與源圖像的差值的均方和,為了實現代價考慮,也可以使用SAD指標,SAD是指重建圖像塊與源圖像的差值絕對值之和;λ是拉格朗日乘子,R就是該模式下圖像塊編碼所需的實際比特數,包括編碼模式資訊、運動資訊、殘差等所需的比特總和。在模式選擇時,若使用率失真原則去對編碼模式做比較決策,通常可以保證編碼性能最佳。
碼控:控制碼率平穩性,一般是通過對量化步長的調整來達到碼率平穩的目的。
淺編碼:淺編碼是一種圖像編碼方法,其特點為簡單預測,淺編碼適用於即時性要求高、緩存小、並行性要求高的應用場景。淺編碼的壓縮效率較低,可以採用幀內預測,且壓縮倍率較低(例如,一般是10倍以下)。在淺編碼的實現過程中,一般要求主觀無損,硬體實現簡單。
淺編碼的視頻編碼框架:參見圖2A所示,為編碼端的視頻編碼框架的示意圖,可以使用該視頻編碼框架實現本申請實施例的編碼端處理流程,即實現淺編碼。解碼端的視頻解碼框架的示意圖與圖2A類似,在此不再重複贅述,可以使用視頻解碼框架實現本申請實施例的解碼端處理流程。
示例性的,參見圖2A所示,視頻編碼框架可以包括塊劃分、預測、變換、量化、碼控、熵編碼器、反量化、反變換、重建等模組。在編碼端,通過這些模組之間的配合,可以實現編碼端處理流程。此外,視頻解碼框架可以包括塊劃分、預測、變換、量化、碼控、熵解碼器、反量化、反變換、重建等模組,在該情況下,屬於編碼端的碼控模組也可以作用於解碼端,用以節省量化參數的編碼代價以及控制預測模式等;或者,視頻解碼框架可以包括塊劃分、預測、變換、量化、熵解碼器、反量化、反變換、重建等模組,在該情況下,不存在碼控模組。在解碼端,通過這些模組之間的配合,可以實現解碼端處理流程。
示例性的,在淺壓縮場景下,碼控技術應用於一個碼控單元,碼控單元就是碼控的作用範圍,表示對碼控單元對應的範圍進行碼控操作。例如,碼控單元可以是若干個圖像塊,或碼控單元可以是若干個像素行,或碼控單元可以是整個Slice,或碼控單元可以是Slice內部的若干區塊,或碼控單元可以是Slice內部的若干像素行等。當然,上述只是碼控單元的幾個示例,對此碼控單元不做限制。在此基礎上,可以對每個碼控單元內的區塊進行預測、變換、量化等操作,預測部分的模式選擇由碼控參與,區塊完成重建後,可以進行重建值調整操作。
下面對編碼端和解碼端的結構進行簡單介紹。參見圖2B所示,示出用於實現本申請實施例的編碼端的示意性框圖。在圖2B中,編碼端可包括預測處理單元、殘差計算單元、變換處理單元、量化單元、編碼處理單元、反量化單元(也可以稱為逆量化單元)、反變換處理單元(也可以稱為逆變換處理單元)、重構單元(或者稱為重建單元)以及濾波器單元。在一個例子中,編碼端還可以包括緩衝器、經解碼圖像緩衝器,其中,緩衝器用於緩存重構單元輸出的重構圖像塊,經解碼圖像緩衝器用於緩存濾波器單元輸出的濾波後的圖像塊。
編碼端(也稱為編碼器)的輸入可以為圖像(可以稱為待編碼圖像)的圖像塊,圖像塊也可以稱為當前塊或待編碼塊,編碼端中還可以包括分割單元(圖中未示出),該分割單元用於將待編碼圖像分割成多個圖像塊。編碼端可以對該多個圖像塊逐塊編碼從而完成對待編碼圖像的編碼,例如,對每個圖像塊執行編碼過程。預測處理單元用於接收或獲取圖像塊(當前待編碼圖像的當前待編碼圖像塊,也可以稱為當前塊,該圖像塊可以理解為圖像塊的真實值)和已重構圖像資料,基於已重構圖像資料中的相關資料對當前塊進行預測,得到當前塊的預測塊。在一個例子中,預測處理單元可以包含幀間預測單元、幀內預測單元和模式選擇單元,模式選擇單元用於選擇幀內預測模式或者幀間預測模式,若選擇幀內預測模式,則由幀內預測單元執行預測過程,若選擇幀間預測模式,則可以由幀間預測單元執行預測過程。
殘差計算單元用於計算圖像塊的真實值和該圖像塊的預測塊之間的殘差,得到殘差塊,例如,殘差計算單元可以通過逐像素將圖像塊的像素值減去預測塊的像素值。
變換處理單元用於對殘差塊進行例如離散餘弦變換(discrete cosine transform,DCT)或離散正弦變換(discrete sine transform,DST)的變換,以在變換域中獲取變換係數,變換係數也可以稱為變換殘差係數,該變換殘差係數可以在變換域中表示殘差塊。
量化單元用於通過應用標量量化或向量量化來量化變換係數,以獲取經量化變換係數,經量化變換係數也可以稱為經量化殘差係數。量化過程可以減少與部分或全部變換係數有關的位深度。例如,可在量化期間將n位變換係數向下捨入到m位變換係數,其中n大於m。可通過調整量化參數(quantization parameter,QP)修改量化程度。例如,對於標量量化,可以應用不同的標度來實現較細或較粗的量化。較小量化步長對應較細量化,而較大量化步長對應較粗量化。可以通過量化參數指示合適的量化步長。
編碼處理單元用於對上述經量化殘差係數和一部分編碼參數進行編碼,以經編碼比特流的形式輸出經編碼圖像資料(即當前待編碼圖像塊的編碼結果)和經編碼的編碼參數,然後將經編碼比特流傳輸到解碼器,或將其儲存起來,後續傳輸至解碼器或用於檢索。編碼處理單元還可用於對當前圖像塊的其它語法元素進行編碼,例如將預測模式編碼至碼流等。編碼演算法包括但不限於可變長度編碼(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)演算法。
反量化單元用於對上述經量化殘差係數進行反量化,以獲取經反量化係數,該反量化是上述量化單元的反向應用,例如,基於或使用與量化單元相同的量化步長,應用量化單元應用的量化方案對應的逆量化方案。經反量化係數也可以稱為經反量化殘差係數。
反變換處理單元用於對上述經反量化係數進行反變換,應該理解,該反變換是上述變換處理單元的反向應用。例如,反變換可以包括逆離散餘弦變換(inverse discrete cosine transform,IDCT)或逆離散正弦變換(inverse discrete sine transform,IDST),以在像素域(或者稱為樣本域)中獲取逆變換塊。逆變換塊也可以稱為逆變換經反量化塊或逆變換殘差塊。
重構單元用於將逆變換塊(即逆變換殘差塊)添加至預測塊,以在樣本域中獲取經重構塊,重構單元可以為求和器,例如,將殘差塊的樣本值(即像素值)與預測塊的樣本值相加。該重構單元輸出的重構塊可以後續用於預測其他圖像塊,例如,在幀內預測模式下使用。
濾波器單元(或簡稱「濾波器」)用於對經重構塊進行濾波以獲取經濾波塊,從而順利進行像素轉變或提高圖像品質。濾波器單元可以為環路濾波器單元,旨在表示一個或多個環路濾波器,例如,濾波器單元可以為去塊濾波器、樣本自我調整偏移(sample-adaptive offset,SAO)濾波器或其它濾波器,例如雙邊濾波器、自我調整環路濾波器(adaptive loop filter,ALF),或銳化或平滑濾波器,或協同濾波器。在一個例子中,該濾波單元輸出的經濾波塊可以後續用於預測其他圖像塊,例如,在幀間預測模式下使用,對此不做限制。
參見圖2C所示,示出用於實現本申請實施例的解碼端(也可以稱為解碼器)的示意性框圖。解碼器用於接收例如由編碼器編碼的經編碼圖像資料(即經編碼比特流,例如,包括圖像塊的經編碼比特流及相關聯的語法元素),以獲取經解碼圖像。解碼器包括解碼單元、反量化單元、反變換處理單元、預測處理單元、重構單元、濾波器單元。在一些實施例中,解碼器可執行大體上與圖2B的編碼器描述的編碼過程互逆的解碼過程。在一個例子中,解碼器還可以包括緩衝器、經解碼圖像緩衝器,其中,緩衝器用於緩存重構單元輸出的重構圖像塊,經解碼圖像緩衝器用於緩存濾波器單元輸出的濾波後的圖像塊。
解碼單元用於對經編碼圖像資料執行解碼,以獲取經量化變換係數和/或經解碼的編碼參數(例如,編碼參數可以包括幀間預測參數、幀內預測參數、濾波器參數和/或其它語法元素中的任意一個或多個)。解碼單元還用於將上述經解碼的編碼參數轉發至預測處理單元,以供預測處理單元根據編碼參數執行預測過程。反量化單元的功能可與編碼器的反量化單元的功能相同,用於反量化(即,逆量化)由解碼單元解碼的經量化變換係數。
反變換處理單元的功能與編碼器的反變換處理單元的功能可以相同,用於對上述經量化變換係數進行逆變換(例如,逆DCT、逆整數變換或概念上類似的逆變換過程),從而得到逆變換塊(也可以稱為逆變換殘差塊),該逆變換塊即為當前圖像塊在像素域中的殘差塊。
預測處理單元,用於接收或獲取經編碼圖像資料(例如當前圖像塊的經編碼比特流)和已重構圖像資料,預測處理單元還可以從例如解碼單元接收或獲取預測相關參數和/或關於所選擇的預測模式的資訊(即經解碼的編碼參數),並且基於已重構圖像資料中的相關資料和經解碼的編碼參數對當前圖像塊進行預測,得到當前圖像塊的預測塊。
在一個例子中,預測處理單元可以包含幀間預測單元、幀內預測單元和模式選擇單元,模式選擇單元用於選擇幀內預測模式或者幀間預測模式,若選擇幀內預測模式,則由幀內預測單元執行預測過程,若選擇幀間預測模式,則由幀間預測單元執行預測過程。
重構單元(例如求和器)的功能與編碼器的重構單元的功能可以相同,重構單元用於將逆變換塊(即逆變換殘差塊)添加到預測塊,以在樣本域中獲取經重構塊,例如將逆變換殘差塊的樣本值與預測塊的樣本值相加。
濾波器單元用於對經重構塊進行濾波以獲取經濾波塊,該經濾波塊即為經解碼圖像塊。
應當理解的是,在本申請實施例的編碼器和解碼器中,針對某個環節的處理結果也可以經過進一步處理後,輸出到下一個環節,例如,在插值濾波、運動向量推導或濾波等環節之後,對相應環節的處理結果進一步進行Clip或移位shift等操作。
在編碼器以及解碼器的基礎上,本申請實施例提供一種可能的編/解碼實現方式,如圖2D所示,圖2D為本申請實施例提供的一種編碼和/或解碼的流程示意圖,該編碼和解碼實現方式包括過程①至過程⑤,過程①至過程⑤可以由上述的解碼器和/或編碼器執行。過程①:將一幀圖像分成一個或多個互相不重疊的並行編碼單元。該一個或多個並行編碼單元之間無依賴關係,可以完全並行地獨立編碼和解碼,如圖2D所示出的並行編碼單元1和並行編碼單元2。
過程②:對於每個並行編碼單元,可再將其分成一個或多個互相不重疊的獨立編碼單元,各個獨立編碼單元間可相互不依賴,但可以共用一些並行編碼單元頭資訊。例如,獨立編碼單元的寬為w_lcu,高為h_lcu。若並行編碼單元劃分成一個獨立編碼單元,則獨立編碼單元的尺寸與並行編碼單元完全相同;否則,則獨立編碼單元的寬應大於高(除非是邊緣區域)。
通常的,獨立編碼單元可為固定的w_lcu×h_lcu,w_lcu和h_lcu均為2的N次方(N≥0),如獨立編碼單元的尺寸為:128×4,64×4,32×4,16×4,8×4,32×2,16×2或8×2等。
作為一種可能的示例,獨立編碼單元可以為固定的128×4。若並行編碼單元的尺寸為256×8,則可以將並行編碼單元等分為4個獨立編碼單元;若並行編碼單元的尺寸為288×10,則並行編碼單元可以劃分為:第一、二行為2個128×4+1個32×4的獨立編碼單元;第三行為2個128×2+1個32×2的獨立編碼單元。值得注意的是,獨立編碼單元既可以包括亮度Y、色度Cb、色度Cr三個分量,或紅(red,R)、綠(green,G)、藍(blue,B)三個分量,或亮度Y、色度Co、色度Cg三個分量也可以僅包含其中的某一個分量。若獨立編碼單元包含三個分量,則這三個分量的尺寸可以完全一樣,也可不一樣,具體與圖像的輸入格式相關。
過程③:對於每個獨立編碼單元,可再將其分成一個或多個互相不重疊的編碼單元,獨立編碼單元內的各個編碼單元可相互依賴,如多個編碼單元可以進行相互參考預編/解碼。
若編碼單元與獨立編碼單元尺寸相同(即獨立編碼單元僅分成一個編碼單元),則其尺寸可為過程②所述的所有尺寸。若獨立編碼單元分成多個互相不重疊的編碼單元,則其可行劃分例子包括:水平等分(編碼單元的高與獨立編碼單元相同,但寬不同,可為其1/2,1/4,1/8,1/16等),垂直等分(編碼單元的寬與獨立編碼單元相同,但高不同,可為其1/2,1/4,1/8,1/16等),水平和垂直等分(四叉樹劃分)等,優選為水平等分。
編碼單元的寬為w_cu,高為h_cu,其寬應大於高(除非是邊緣區域)。通常的,編碼單元可為固定的w_cu × h_cu,w_cu和h_cu均為2個N次方(N大於等於0),如16×4,8×4,16×2,8×2,8×1,4×1等。作為一種可能的示例,編碼單元可為固定的16×4。若獨立編碼單元的尺寸為64×4,則可將獨立編碼單元等分為4個編碼單元;若獨立編碼單元的尺寸為72×4,則編碼單元劃分為:4個16×4+1個8×4。值得注意的是,編碼單元既可以包括亮度Y、色度Cb、色度Cr三個分量(或紅R、綠G、藍B三分量,或,亮度Y、色度Co、色度Cg),也可以僅包含其中的某一個分量。若包含三個分量,幾個分量的尺寸可以完全一樣,也可以不一樣,具體與圖像輸入格式相關。
值得注意的是,過程③可以是編解碼方法中一個可選的步驟,編/解碼器可以對過程②獲得的獨立編碼單元的殘差係數(或殘差值)進行編/解碼。
過程④:對於編碼單元,可以將其再將其分成一個或多個互相不重疊的預測組(Prediction Group,PG),PG也簡稱為Group,各PG按照選定預測模式進行編解碼,得到PG的預測值,組成整個編碼單元的預測值,可以基於編碼單元的預測值和原始值,獲得編碼單元的殘差值。
過程⑤:基於編碼單元的殘差值,對編碼單元進行分組,獲得一個或多個互相不重疊的殘差小塊(residual block,RB),各個RB的殘差係數按照選定模式進行編解碼,形成殘差係數流。具體的,可分為對殘差係數進行變換和不進行變換兩類。
其中,過程⑤中殘差係數編解碼方法的選定模式可以包括但不限於下述任一種:半定長編碼方式、指數哥倫布(Golomb)編碼方法、Golomb-Rice編碼方法、截斷一元碼編碼方法、游程編碼方法、直接編碼原始殘差值等。例如,編碼器可直接對RB內的係數進行編碼。又例如,編碼器也可以對殘差塊進行變換,如DCT、DST、Hadamard變換等,再對變換後的係數進行編碼。作為一種可能的示例,當RB較小時,編碼器可以直接對RB內的各個係數進行統一量化,再進行二值化編碼。若RB較大,可以進一步劃分為多個係數組(coefficient group,CG),再對各個CG進行統一量化,再進行二值化編碼。在本申請的一些實施例中,係數組(CG)和量化組(QG)可以相同,當然,係數組和量化組也可以不同。
下面以半定長編碼方式對殘差係數編碼的部分進行示例性說明。首先,將一個RB塊內殘差絕對值的最大值定義為修整最大值(modified maximum,mm)。其次,確定該RB塊內殘差係數的編碼比特數(同一RB塊內殘差係數的編碼比特數一致)。例如,若當前RB塊的關鍵限值(critical limit,CL)為2,當前殘差係數為1,則編碼殘差係數1需要2個比特,表示為01。若當前RB塊的CL為7,則表示編碼8-bit的殘差係數和1-bit的符號位。CL的確定是去找滿足當前子塊所有殘差都在[-2^(T-1),2^(T-1)]範圍之內的最小T值。若同時存在-2^(T-1)和2^(T-1)兩個邊界值,則T增加1,即需要T+1個比特編碼當前RB塊的所有殘差;若僅存在-2^(T-1)和2^(T-1)兩個邊界值中的一個,則編碼一個Trailing位來確定該邊界值是-2^(T-1)還是2^(T-1);若所有殘差均不存在-2^(T-1)和2^(T-1)中的任何一個,則無需編碼該Trailing位。對於某些特殊的情況,編碼器可以直接編碼圖像的原始值,而不是殘差值。
示例性的,淺編碼是一種圖像編碼方法,其特點為簡單預測,淺編碼適用於即時性要求高、緩存小、並行性要求高的場景。但是,淺編碼的編碼過程中,對於較大的量化步長,往往造成較大的量化誤差,特別在平坦區域,整體的偏差會導致出現色塊,從而導致主觀有損。
本申請中的主觀有損是指人眼能察覺到重建圖像和源圖像的不同,可以是在合適的觀測距離下以特定的頻率(例如,8Hz)交替播放重建圖像和源圖像,以進行確定。
針對上述問題,本申請實施例中提出一種淺編碼的濾波方法,可以適用於即時性要求高、緩存小、並行性要求高的場景,在得到當前圖像區域的重建值之後,可以對當前圖像區域的重建值進行調整,從而能夠使重建像素更接近原始像素,帶來編碼性能和解碼性能的提高。對於較大的量化步長,減少量化誤差,特別在平坦區域,減少整體偏差導致的色塊問題,能夠減輕主觀有損,提高主觀性能,淺編碼的編碼過程中,能夠實現主觀無損、硬體實現簡單。
以下結合幾個具體實施例,對本申請實施例中的解碼方法和編碼方法進行詳細說明。
實施例1:本申請實施例中提出一種編碼方法,參見圖3所示,為該編碼方法的流程示意圖,該方法可以應用於編碼端(也可以稱為視訊轉碼器),該方法可以包括:
步驟301、基於當前圖像區域對應的特徵資訊確定是否需要對當前圖像區域進行重建值調整。
在一種可能的實施方式中,可以採用顯式方法確定是否需要對當前圖像區域進行重建值調整,為了區分方便,將顯式方法涉及的特徵資訊稱為第一類特徵資訊。
例如,可以獲取當前圖像區域對應的第一類特徵資訊,若當前圖像區域對應的第一類特徵資訊滿足特定條件(如第一特定條件),則確定是否需要對當前圖像區域進行重建值調整,並基於確定結果在當前圖像區域對應的碼流中編碼調整控制開關對應的標記位,該標記位用於指示是否需要對當前圖像區域進行重建值調整。若當前圖像區域對應的第一類特徵資訊不滿足特定條件,則確定不需要對當前圖像區域進行重建值調整,也不在當前圖像區域對應的碼流中編碼調整控制開關對應的標記位。
其中,在第一類特徵資訊滿足特定條件時,若確定需要對當前圖像區域進行重建值調整,則在當前圖像區域對應的碼流中編碼調整控制開關對應的標記位,且該標記位為第一取值,通過第一取值表示需要對當前圖像區域進行重建值調整。若確定不需要對當前圖像區域進行重建值調整,則在當前圖像區域對應的碼流中編碼調整控制開關對應的標記位,且該標記位為第二取值,通過第二取值表示不需要對當前圖像區域進行重建值調整。其中,第一取值和第二取值可以根據經驗配置,對此不做限制,比如說,第一取值為1,第二取值為0。
針對「確定是否需要對當前圖像區域進行重建值調整」的過程,若啟動當前圖像區域的重建值調整的代價值,小於關閉當前圖像區域的重建值調整的代價值,則確定需要對當前圖像區域進行重建值調整;否則,確定不需要對當前圖像區域進行重建值調整。
示例性的,當前圖像區域可以包括一個圖像塊,或者,當前圖像區域可以包括連續的多個圖像塊。當前圖像區域對應的碼流是指:與當前圖像區域有關的碼流,即該碼流中存在用於對當前圖像區域進行處理的資訊,對此當前圖像區域對應的碼流不做限制。
示例性的,當前圖像區域對應的第一類特徵資訊可以包括但不限於以下至少一種:預測模式;碼流緩衝區內的數據量;量化步長。基於此,若第一類特徵資訊包括預測模式,則在當前圖像區域對應的預測模式是指定預測模式時,確定該預測模式滿足特定條件;否則,確定該預測模式不滿足特定條件。若第一類特徵資訊包括碼流緩衝區內的資料量,則在碼流緩衝區內的資料量位於預設資料量區間時,確定碼流緩衝區內的資料量滿足特定條件;否則,確定碼流緩衝區內的資料量不滿足特定條件。若第一類特徵資訊包括量化步長,則在當前圖像區域對應的量化步長位於預設步長區間時,確定該量化步長滿足特定條件;否則,確定該量化步長不滿足特定條件。
若第一類特徵資訊包括預測模式和碼流緩衝區內的資料量,那麼,在預測模式滿足特定條件,且碼流緩衝區內的資料量也滿足特定條件時,才確定當前圖像區域對應的第一類特徵資訊滿足特定條件,否則,確定當前圖像區域對應的第一類特徵資訊不滿足特定條件。或者,若第一類特徵資訊包括量化步長和碼流緩衝區內的資料量,那麼,在量化步長滿足特定條件,且碼流緩衝區內的資料量也滿足特定條件時,才確定當前圖像區域對應的第一類特徵資訊滿足特定條件,否則,確定當前圖像區域對應的第一類特徵資訊不滿足特定條件。或者,若第一類特徵資訊包括預測模式和量化步長,那麼,在預測模式滿足特定條件,且量化步長也滿足特定條件時,才確定當前圖像區域對應的第一類特徵資訊滿足特定條件,否則,確定當前圖像區域對應的第一類特徵資訊不滿足特定條件。或者,若第一類特徵資訊包括預測模式、碼流緩衝區內的資料量和量化步長,那麼,在預測模式滿足特定條件,碼流緩衝區內的資料量滿足特定條件,且量化步長也滿足特定條件時,才確定當前圖像區域對應的第一類特徵資訊滿足特定條件,否則,確定當前圖像區域對應的第一類特徵資訊不滿足特定條件。
當然,上述只是第一類特徵資訊的幾個示例,本實施例中對此第一類特徵資訊不做限制。
在上述實施例中,指定預測模式可以是普通幀內預測模式中的一種或多種。其中:普通幀內預測模式包括DC模式;或者,普通幀內預測模式包括DC模式、水平預測模式和垂直預測模式;或者,普通幀內預測模式包括DC模式和角度預測模式;或者,普通幀內預測模式包括DC模式、角度預測模式和Planar模式;或者,普通幀內預測模式包括DC模式、角度預測模式和bilinear模式;或者,普通幀內預測模式包括DC模式、角度預測模式、Planar模式和bilinear模式。
在另一種可能的實施方式中,可以採用隱式方法確定是否需要對當前圖像區域進行重建值調整,為了區分方便,將隱式方法涉及的特徵資訊稱為第二類特徵資訊。
例如,獲取當前圖像區域對應的第二類特徵資訊,若當前圖像區域對應的第二類特徵資訊滿足特定條件(如第二特定條件),則確定需要對當前圖像區域進行重建值調整,若當前圖像區域對應的第二類特徵資訊不滿足特定條件,則確定不需要對當前圖像區域進行重建值調整。
關於隱式方法的具體實現方式,可以參見後續實施例,在此不再贅述。
步驟302、若確定需要對當前圖像區域進行重建值調整,則獲取當前圖像區域對應的調整參數,其中,該調整參數用於對當前圖像區域的重建值進行調整。
步驟303、在當前圖像區域對應的碼流中編碼當前圖像區域對應的調整參數。
示例性的,若當前圖像區域對應的調整參數包括多個調整值,則可以在當前圖像區域對應的碼流中編碼全部調整值或者部分調整值(即多個調整值中的部分調整值)。
其中,在當前圖像區域對應的碼流中編碼全部調整值或者部分調整值可以包括但不限於:按照多個調整值的編碼順序對多個調整值進行排序,並基於排序結果依次遍歷多個調整值;針對當前遍歷的調整值,若在當前圖像區域對應的碼流中編碼該調整值之後,當前碼率小於預設碼率值,則在當前圖像區域對應的碼流中編碼該調整值,且繼續遍歷該調整值的下一個調整值,也即,將下一個調整值作為當前遍歷的調整值;否則,禁止在當前圖像區域對應的碼流中編碼該調整值,且停止遍歷該調整值的下一個調整值。
示例性的,當前圖像區域可以對應多個像素組,當前圖像區域對應的調整參數可以包括多個調整值。且多個調整值可以包括K個像素組對應的調整值,K個像素組可以是多個像素組(即當前圖像區域的所有像素組)中的全部像素組或部分像素組。
在此基礎上,可以在當前圖像區域對應的碼流中編碼K個像素組對應的M個調整值,M可以為正整數,M可以小於或者等於K,且M個調整值可以是基於K個像素組對應的調整值確定的。以及,還可以在當前圖像區域對應的碼流中編碼調整值分組指示資訊,該調整值分組指示資訊用於指示M個調整值與K個像素組之間的匹配關係。
比如說,若K個像素組對應同一個調整值,則調整值分組指示資訊可以為第四取值,通過第四取值表示K個像素組對應同一個調整值;若K個像素組對應K個調整值,則調整值分組指示資訊可以為第五取值,通過第五取值可以表示K個像素組對應K個調整值。
示例性的,若K個像素組是多個像素組中的部分像素組,則編碼端還可以在當前圖像區域對應的碼流中編碼K個像素組對應的像素組指示資訊,表示當前圖像區域對應的碼流中攜帶的是該像素組指示資訊對應的像素組的調整值。若K個像素組是多個像素組中的全部像素組,則編碼端可以不在當前圖像區域對應的碼流中編碼像素組對應的像素組指示資訊,表示當前圖像區域對應的碼流中攜帶的是所有像素組的調整值,此時,不需要在碼流中編碼像素組對應的像素組指示資訊。其中,若K個像素組是多個像素組中的部分像素組,則該像素組指示資訊用於區分所有類別的像素組中的目標類別的像素組,也就是說,從所有像素組中區分出K個像素組。
示例性的,在當前圖像區域對應多個通道時,針對每個像素組來說,該像素組對應的調整值可以包括該像素組對應的多個通道或單個通道的調整值,多個通道或單個通道可以包括如下通道中的至少一種:Y通道、U通道、V通道、Co通道、Cg通道、R通道、G通道、B通道、alpha通道、IR通道、D通道、W通道。比如說,多個通道包括Y通道、U通道、V通道,或者,多個通道包括R通道、G通道、B通道,或者,多個通道包括、R通道、G通道、B通道、alpha通道,或者,多個通道可以包括R通道、G通道、B通道、IR通道,或者,多個通道包括R通道、G通道、B通道、W通道,或者,多個通道包括R通道、G通道、B通道、IR通道、W通道,或者,多個通道包括R通道、G通道、B通道、D通道,或者,多個通道可以包括R通道、G通道、B通道、D通道、W通道。其中,除了RGB彩色感光通道,也可能有IR通道(紅外或近紅外感光通道),D通道(暗光通道,主要通過紅外光或近紅外光),W通道(全色感光通道),針對不同的感測器有不同的通道,比如說,感測器類型可以是RGB感測器,RGBIR感測器,RGBW感測器,RGBIRW感測器,RGBD感測器,RGBDW感測器等。
示例性的,當前圖像區域對應多個像素組,可以包括但不限於如下方式:按照各像素點的調整前重建值確定當前圖像區域對應的多個像素組;或者,基於像素點的周圍像素點的調整前重建值確定該像素點的分類值,按照各像素點的分類值確定當前圖像區域對應的多個像素組;或者,按照各像素點的像素位置確定當前圖像區域對應的多個像素組;或者,根據當前圖像區域的預測模式確定當前圖像區域對應的多個像素組;或者,根據當前圖像區域的掃描順序確定當前圖像區域對應的多個像素組。當然,上述方式只是示例,對此不做限制。
其中,在根據當前圖像區域的預測模式確定當前圖像區域對應的多個像素組時,可以根據當前圖像區域的預測模式確定像素組的劃分數量、濾波區域和劃分方式;基於該劃分數量、該濾波區域和該劃分方式確定當前圖像區域對應的多個像素組。
示例性的,若當前圖像區域的預測模式是水平預測模式,則確定像素組的劃分數量是第一劃分數量,確定像素組的濾波區域是第一濾波區域,確定劃分方式是第一尺寸規格;若當前圖像區域的預測模式不是水平預測模式,則確定像素組的劃分數量是第二劃分數量,確定像素組的濾波區域是第二濾波區域,確定劃分方式是第二尺寸規格。
比如說,若當前圖像區域是16*2的圖像塊(即一個圖像塊),在根據預測模式劃分多個像素組時,若當前圖像區域的預測模式是水平預測模式,則將當前圖像區域的所有像素點劃分至4個像素組,每個像素組的尺寸是8*1;或者,將當前圖像區域的所有像素點劃分至2個像素組,每個像素組的尺寸是16*1。若當前圖像區域的預測模式不是水平預測模式,則將當前圖像區域的所有像素點劃分至4個像素組,每個像素組的尺寸是4*2。
示例性的,若當前圖像區域是16*2的圖像塊,那麼,也可以直接將當前圖像區域的所有像素點劃分至4個像素組,每個像素組的尺寸是4*2,而不考慮當前圖像區域的預測模式。
在上述實施例中,調整值的取值範圍可以基於量化步長確定。
示例性的,上述執行順序只是為了方便描述給出的示例,在實際應用中,還可以改變步驟之間的執行順序,對此執行順序不做限制。而且,在其它實施例中,並不一定按照本說明書示出和描述的順序來執行相應方法的步驟,其方法所包括的步驟可以比本說明書所描述的更多或更少。此外,本說明書中所描述的單個步驟,在其它實施例中可能被分解為多個步驟進行描述;本說明書中所描述的多個步驟,在其它實施例也可能被合併為單個步驟進行描述。
由以上技術方案可見,本申請實施例中,提出一種淺編碼方法,可以適用於即時性要求高、緩存小、並行性要求高的場景,在得到當前圖像區域的重建值之後,還可以對當前圖像區域的重建值進行調整,從而能夠使重建像素更接近原始像素,帶來編碼性能和解碼性能的提高。對於較大的量化步長,減少量化誤差,特別在平坦區域,減少整體偏差導致的色塊問題,能夠減輕主觀有損,即淺編碼方法能夠實現主觀無損、硬體實現簡單。
實施例2:本申請實施例中提出一種解碼方法,參見圖4所示,為該解碼方法的流程示意圖,該方法可以應用於解碼端(也可以稱為視頻解碼器),該方法可以包括:
步驟401、基於當前圖像區域對應的特徵資訊確定是否需要對當前圖像區域進行重建值調整。
在一種可能的實施方式中,可以採用顯式方法確定是否需要對當前圖像區域進行重建值調整,為了區分方便,將顯式方法涉及的特徵資訊稱為第一類特徵資訊。
例如,可以獲取當前圖像區域對應的第一類特徵資訊,若當前圖像區域對應的第一類特徵資訊滿足特定條件(如第一特定條件),則可以從當前圖像區域對應的碼流中獲取調整控制開關對應的標記位,並基於該標記位確定是否需要對當前圖像區域進行重建值調整。其中,若該標記位為第一取值,則可以確定需要對當前圖像區域進行重建值調整;若該標記位為第二取值,則可以確定不需要對當前圖像區域進行重建值調整。或者,若當前圖像區域對應的第一類特徵資訊不滿足特定條件,則可以直接確定不需要對當前圖像區域進行重建值調整,也不需要從當前圖像區域對應的碼流中獲取調整控制開關對應的標記位。
示例性的,當前圖像區域可以包括一個圖像塊,或者,當前圖像區域可以包括連續的多個圖像塊。當前圖像區域對應的碼流是指:與當前圖像區域有關的碼流,即該碼流中存在用於對當前圖像區域進行處理的資訊,對此當前圖像區域對應的碼流不做限制。
示例性的,當前圖像區域對應的第一類特徵資訊可以包括但不限於以下至少一種:預測模式;碼流緩衝區內的數據量;量化步長。基於此,若第一類特徵資訊包括預測模式,則在當前圖像區域對應的預測模式是指定預測模式時,確定該預測模式滿足特定條件;否則,確定該預測模式不滿足特定條件。若第一類特徵資訊包括碼流緩衝區內的資料量,則在碼流緩衝區內的資料量位於預設資料量區間時,確定碼流緩衝區內的資料量滿足特定條件;否則,確定碼流緩衝區內的資料量不滿足特定條件。若第一類特徵資訊包括量化步長,則在當前圖像區域對應的量化步長位於預設步長區間時,確定該量化步長滿足特定條件;否則,確定該量化步長不滿足特定條件。
在上述實施例中,指定預測模式可以是普通幀內預測模式中的一種或多種;其中:普通幀內預測模式包括DC模式;或者,普通幀內預測模式包括DC模式、水平預測模式和垂直預測模式;或者,普通幀內預測模式包括DC模式和角度預測模式;或者,普通幀內預測模式包括DC模式、角度預測模式和Planar模式;或者,普通幀內預測模式包括DC模式、角度預測模式和bilinear模式;或者,普通幀內預測模式包括DC模式、角度預測模式、Planar模式和bilinear模式。
在另一種可能的實施方式中,可以採用隱式方法確定是否需要對當前圖像區域進行重建值調整,為了區分方便,將隱式方法涉及的特徵資訊稱為第二類特徵資訊。
例如,獲取當前圖像區域對應的第二類特徵資訊,若當前圖像區域對應的第二類特徵資訊滿足特定條件(如第二特定條件),則確定需要對當前圖像區域進行重建值調整,若當前圖像區域對應的第二類特徵資訊不滿足特定條件,則確定不需要對當前圖像區域進行重建值調整。
關於隱式方法的具體實現方式,可以參見後續實施例,在此不再贅述。
步驟402、若確定需要對當前圖像區域進行重建值調整,則從當前圖像區域對應的碼流中獲取當前圖像區域對應的調整參數,該調整參數用於對重建值進行調整。
步驟403、基於該調整參數對當前圖像區域的重建值進行調整。
在一種可能的實施方式中,當前圖像區域對應的調整參數可以包括多個調整值,當前圖像區域可以對應多個像素組,多個調整值可以包括K個像素組對應的調整值,K個像素組可以是多個像素組中的全部像素組或部分像素組。在此基礎上,基於該調整參數對當前圖像區域的重建值進行調整,可以包括但不限於:基於多個調整值對K個像素組內的像素點的重建值進行調整,示例性的,K可以為大於或等於1的正整數。其中,基於多個調整值對K個像素組內的像素點的重建值進行調整,可以包括但不限於如下方式:針對K個像素組中的每個像素組,若多個調整值包括該像素組對應的調整值,則基於該像素組對應的調整值對該像素組內每個像素點的重建值進行調整,得到該像素組內每個像素點的調整後的重建值。
示例性的,若K個像素組是多個像素組中的部分像素組,則解碼端還可以從當前圖像區域對應的碼流中獲取K個像素組對應的像素組指示資訊;基於該像素組指示資訊從所有像素組中選取K個像素組,並將多個調整值與K個像素組進行關聯,這樣,就可以基於多個調整值對K個像素組內的像素點的重建值進行調整,即只對K個像素組內的像素點的重建值進行調整。
其中,若K個像素組是多個像素組中的部分像素組,則該像素組指示資訊用於區分所有類別的像素組中的目標類別的像素組,也就是說,從所有像素組中區分出K個像素組。
其中,針對每個像素組,該像素組對應的調整值可以包括該像素組對應的多個通道的調整值,多個通道可以包括如下通道中的至少一種:Y通道、U通道、V通道、R通道、G通道、B通道、alpha通道、IR通道、D通道、W通道。比如說,多個通道包括Y通道、U通道、V通道,或者,多個通道包括R通道、G通道、B通道,或者,多個通道包括、R通道、G通道、B通道、alpha通道,或者,多個通道可以包括R通道、G通道、B通道、IR通道,或者,多個通道可以包括R通道、G通道、B通道、W通道,或者,多個通道可以包括R通道、G通道、B通道、IR通道、W通道,或者,多個通道可以包括R通道、G通道、B通道、D通道,或者,多個通道可以包括R通道、G通道、B通道、D通道、W通道。
示例性的,還可以從當前圖像區域對應的碼流中獲取調整值分組指示資訊,該調整值分組指示資訊用於指示調整值與K個像素組之間的映射關係;基於調整值分組指示資訊從當前圖像區域對應的碼流中解析M個調整值,M為正整數,且M小於或者等於K;可以基於M個調整值確定K個像素組對應的調整值。比如說,若調整值分組指示資訊為第四取值,則M為1,在該情況下,解碼端可以確定K個像素組與一個調整值對應;若調整值分組指示資訊為第五取值,則M為K,在該情況下,解碼端可以確定K個像素組與K個調整值對應。
示例性的,在當前圖像區域對應多個通道時,從當前圖像區域對應的碼流中解析M個調整值可以包括:針對每個通道,從當前圖像區域對應的碼流中解析該通道對應的一個或多個調整值。
示例性的,當前圖像區域對應多個像素組,可以包括但不限於:按照各像素點的調整前重建值確定當前圖像區域對應的多個像素組;或者,基於像素點的周圍像素點的調整前重建值確定該像素點的分類值,按照各像素點的分類值確定當前圖像區域對應的多個像素組;或者,按照各像素點的像素位置確定當前圖像區域對應的多個像素組;或者,根據當前圖像區域的預測模式確定當前圖像區域對應的多個像素組;或者,根據當前圖像區域的掃描順序確定當前圖像區域對應的多個像素組。當然,上述方式只是示例,對此不做限制。
其中,在根據當前圖像區域的預測模式確定當前圖像區域對應的多個像素組時,可以根據當前圖像區域的預測模式確定像素組的劃分數量、濾波區域和劃分方式;然後,基於該劃分數量、該濾波區域和該劃分方式確定當前圖像區域對應的多個像素組。
示例性的,根據當前圖像區域的預測模式確定像素組的劃分數量、濾波區域和劃分方式可以包括:若當前圖像區域的預測模式是水平預測模式,則確定像素組的劃分數量是第一劃分數量,確定像素組的濾波區域是第一濾波區域,確定劃分方式是第一尺寸規格;若當前圖像區域的預測模式不是水平預測模式,則確定像素組的劃分數量是第二劃分數量,確定像素組的濾波區域是第二濾波區域,確定劃分方式是第二尺寸規格。
比如說,若當前圖像區域是16*2的圖像塊(即一個圖像塊),在根據預測模式劃分多個像素組時,若當前圖像區域的預測模式是水平預測模式,則將當前圖像區域的所有像素點劃分至4個像素組,每個像素組的尺寸是8*1;或者,將當前圖像區域的所有像素點劃分至2個像素組,每個像素組的尺寸是16*1。若當前圖像區域的預測模式不是水平預測模式,則將當前圖像區域的所有像素點劃分至4個像素組,每個像素組的尺寸是4*2。
示例性的,若當前圖像區域是16*2的圖像塊,那麼,也可以直接將當前圖像區域的所有像素點劃分至4個像素組,每個像素組的尺寸是4*2,而不考慮當前圖像區域的預測模式。
在上述實施例中,調整值的取值範圍可以基於量化步長確定。
由以上技術方案可見,本申請實施例中,提出一種淺編碼方法,可以適用於即時性要求高、緩存小、並行性要求高的場景,在得到當前圖像區域的重建值之後,還可以對當前圖像區域的重建值進行調整,從而能夠使重建像素更接近原始像素,帶來編碼性能和解碼性能的提高。對於較大的量化步長,減少量化誤差,特別在平坦區域,減少整體偏差導致的色塊問題,能夠減輕主觀有損,即淺編碼方法能夠實現主觀無損、硬體實現簡單。
實施例3:針對實施例1和實施例2,可以確定是否需要對當前圖像區域進行重建值調整。比如說,針對編碼端來說,編碼端在編碼N個編碼塊(N≥1)的碼流後,可以將其中的P個編碼塊(P≤N)記為當前圖像區域,可以確定是否需要對當前圖像區域進行重建值調整。針對解碼端來說,解碼端在解析N個解碼塊(N≥1)的碼流後,可以將其中的P個解碼塊(與編碼端的P個編碼塊對應)記為當前圖像區域,可以確定是否需要對當前圖像區域進行重建值調整。
示例性的,還可以確定是否需要對當前圖像區域進行預測值調整,也就是說,可以基於當前圖像區域對應的調整參數對當前圖像區域的預測值進行調整,預測值調整過程與重建值調整過程類似,本實施例中不再贅述。示例性的,還可以確定是否需要對當前圖像區域進行殘差值調整,也就是說,可以基於當前圖像區域對應的調整參數對當前圖像區域的殘差值進行調整,殘差值調整過程與重建值調整過程類似,本實施例中不再贅述。
示例性的,為了確定是否需要對當前圖像區域進行重建值調整,可以採用如下方式:
顯式語法方式:編碼端在碼流中編碼調整控制開關對應的標記位,解碼端從碼流中解析調整控制開關對應的標記位,基於該標記位確定是否需要對當前圖像區域進行重建值調整。
以下結合具體應用場景,對顯式語法方式的實現過程進行說明,該過程可以包括:
步驟S11、編碼端確定當前圖像區域對應的第一類特徵資訊是否滿足第一特定條件。
如果否,則可以執行步驟S12,如果是,則可以執行步驟S13。
示例性的,當前圖像區域對應的第一類特徵資訊可以包括但不限於以下至少一種:預測模式;碼流緩衝區內的數據量;量化步長。當然,上述只是第一類特徵資訊的幾個示例,對此不做限制,後續以預測模式、碼流緩衝區內的資料量、量化步長為例進行說明。
情況1:第一類特徵資訊可包括預測模式。在當前圖像區域對應的預測模式是指定預測模式時,可以確定第一類特徵資訊滿足第一特定條件;否則,在當前圖像區域對應的預測模式不是指定預測模式時,可以確定第一類特徵資訊不滿足第一特定條件。
情況2:第一類特徵資訊可包括碼流緩衝區內的資料量。在碼流緩衝區內的資料量位於預設資料量區間時,可以確定第一類特徵資訊滿足第一特定條件;否則,在碼流緩衝區內的資料量不位於預設資料量區間時,可以確定第一類特徵資訊不滿足第一特定條件。
示例性的,可以預先配置預設資料量區間[a1,a2],a1用於表示資料量最小值,a2用於表示資料量最大值,a1和a2均可以根據經驗配置,對此不做限制。
若碼流緩衝區內的資料量大於或者等於a1,且碼流緩衝區內的資料量小於或者等於a2,則碼流緩衝區內的資料量位於預設資料量區間。若碼流緩衝區內的資料量小於a1,或者,若碼流緩衝區內的資料量大於a2,則碼流緩衝區內的資料量不位於預設資料量區間。
示例性的,若碼流緩衝區內的資料量位於預設資料量區間,即碼流緩衝區內的資料量小於或者等於a2,那麼,在對當前圖像區域進行濾波處理(圖1所示的編碼過程就是濾波過程)時,在加入濾波參數後不會觸發上溢,即不會導致碼流緩衝區超出buffer限制。
情況3:第一類特徵資訊可包括量化步長。在當前圖像區域對應的量化步長位於預設步長區間時,可以確定第一類特徵資訊滿足第一特定條件;否則,在當前圖像區域對應的量化步長不位於預設步長區間時,可以確定第一類特徵資訊不滿足第一特定條件。
示例性的,可以預先配置預設步長區間[b1,b2],b1用於表示步長最小值,b2用於表示步長最大值,b1和b2均可以根據經驗配置,對此不做限制。若當前圖像區域對應的量化步長大於或者等於b1,且當前圖像區域對應的量化步長小於或者等於b2,則當前圖像區域對應的量化步長位於預設步長區間。若當前圖像區域對應的量化步長小於b1,或者,若當前圖像區域對應的量化步長大於b2,則當前圖像區域對應的量化步長不位於預設步長區間。
示例性的,對於情況3,在量化步長滿足一定條件(即位於預設步長區間)時,才確定第一類特徵資訊滿足第一特定條件,而預設步長區間能夠使得對於不影響主觀的量化步長不進行調整。
示例性的,在配置b1的取值時,b1可以根據經驗配置,對此不做限制。例如,b1可以根據當前圖像區域的輸入位寬確定,當前圖像區域的輸入位寬越大,b1的取值越大。例如,在當前圖像區域的輸入位寬是8bit時,b1的取值可以是16,在當前圖像區域的輸入位寬是10bit時,b1的取值可以是24,在當前圖像區域的輸入位寬是12bit時,b1的取值可以是32。當然,上述只是輸入位寬與步長最小值b1之間關係的示例,對此步長最小值b1不做限制。
綜上所述,針對不同的當前圖像區域的輸入位寬,在量化參數(QP)滿足如下關係時,量化步長大於或者等於b1,即滿足預設步長區間的最小值要求:針對8bit,QP≥16;針對10bit,QP≥24;針對12bit,QP≥32。
示例性的,在配置b2的取值時,b2可以根據經驗配置,對此不做限制。例如,b2可以是無窮大的取值;b2也可以是某個固定值,例如48、60、76等。
情況4:第一類特徵資訊可包括預測模式和碼流緩衝區內的資料量。在當前圖像區域對應的預測模式是指定預測模式,且碼流緩衝區內的資料量位於預設資料量區間時,可以確定第一類特徵資訊滿足第一特定條件;否則,在當前圖像區域對應的預測模式不是指定預測模式,和/或,碼流緩衝區內的資料量不位於預設資料量區間時,確定第一類特徵資訊不滿足第一特定條件。
情況5:第一類特徵資訊可包括預測模式和量化步長。在當前圖像區域對應的預測模式是指定預測模式,且當前圖像區域對應的量化步長位於預設步長區間時,可以確定第一類特徵資訊滿足第一特定條件;否則,在當前圖像區域對應的預測模式不是指定預測模式,和/或,當前圖像區域對應的量化步長不位於預設步長區間時,確定第一類特徵資訊不滿足第一特定條件。
情況6:第一類特徵資訊可包括量化步長和碼流緩衝區內的資料量。在當前圖像區域對應的量化步長位於預設步長區間,且碼流緩衝區內的資料量位於預設資料量區間時,確定第一類特徵資訊滿足第一特定條件;否則,在當前圖像區域對應的量化步長不位於預設步長區間,和/或,碼流緩衝區內的資料量不位於預設資料量區間時,確定第一類特徵資訊不滿足第一特定條件。
情況7:第一類特徵資訊可包括預測模式、碼流緩衝區內的資料量和量化步長。在當前圖像區域對應的預測模式是指定預測模式,且碼流緩衝區內的資料量位於預設資料量區間,且當前圖像區域對應的量化步長位於預設步長區間時,確定第一類特徵資訊滿足第一特定條件;否則,在當前圖像區域對應的預測模式不是指定預測模式,和/或,碼流緩衝區內的資料量不位於預設資料量區間,和/或,當前圖像區域對應的量化步長不位於預設步長區間時,則確定第一類特徵資訊不滿足第一特定條件,即只要有一個不滿足,就確定第一類特徵資訊不滿足第一特定條件。
當然,上述幾種情況只是「確定當前圖像區域對應的第一類特徵資訊是否滿足第一特定條件」的幾個示例,本實施例中對此「第一類特徵資訊是否滿足第一特定條件」的確定過程不做限制。
針對上述情況1、情況4、情況5和情況7,在一種可能的實施方式中,指定預測模式可以是普通幀內預測模式中的一種或多種。在另一種可能的實施方式中,指定預測模式還可以是逐點預測模式。當然,普通幀內預測模式和逐點預測模式只是示例,對此不做限制。
針對情況5和情況7,對於預設步長區間,還可以基於指定預測模式來設置預設步長區間,如基於指定預測模式來設置預設步長區間的最小值。比如說,普通幀內預測模式可以對應預設步長區間的第一最小值,即b1的取值可以是第一最小值;逐點預測模式可以對應預設步長區間的第二最小值,即b1的取值可以是第二最小值。其中,第一最小值可以大於第二最小值,第一最小值也可以小於第二最小值,對此不做限制,預設步長區間的最小值與指定預測模式有關即可。
普通幀內預測模式可以包括DC模式。或者,普通幀內預測模式可以包括DC模式、水平預測模式和垂直預測模式。或者,普通幀內預測模式可以包括DC模式和角度預測模式(如水平預測模式、垂直預測模式和其它角度預測模式)。或者,普通幀內預測模式可以包括DC模式、角度預測模式和Planar模式。或者,普通幀內預測模式可以包括DC模式、角度預測模式和bilinear模式。或者,普通幀內預測模式可以包括DC模式、角度預測模式、Planar模式和bilinear模式。當然,上述只是普通幀內預測模式的示例,對此不做限制。在上述每種普通幀內預測模式的基礎上,還可以將其它類型的幀內預測模式作為普通幀內預測模式。
步驟S12、若第一類特徵資訊不滿足第一特定條件,則編碼端確定不需要對當前圖像區域進行重建值調整,也不在當前圖像區域對應的碼流中編碼調整控制開關對應的標記位。
步驟S13、若第一類特徵資訊滿足第一特定條件,則編碼端確定是否需要對當前圖像區域進行重建值調整,並在當前圖像區域對應的碼流中編碼調整控制開關對應的標記位。
示例性的,若第一類特徵資訊滿足第一特定條件,則編碼端可以確定是否需要對當前圖像區域進行重建值調整,對此確定方式不做限制。比如說,編碼端計算啟動當前圖像區域的重建值調整的代價值,記為第一代價值,並計算關閉當前圖像區域的重建值調整的代價值,記為第二代價值。在此基礎上,若第一代價值小於第二代價值,則編碼端確定需要對當前圖像區域進行重建值調整;否則,編碼端確定不需要對當前圖像區域進行重建值調整。
示例性的,編碼端在確定是否需要對當前圖像區域進行重建值調整之後,可以在當前圖像區域對應的碼流中編碼調整控制開關對應的標記位。比如說,若確定需要對當前圖像區域進行重建值調整,則該標記位可以為第一取值,通過第一取值表示需要對當前圖像區域進行重建值調整。若確定不需要對當前圖像區域進行重建值調整,則該標記位可以為第二取值,通過第二取值表示不需要對當前圖像區域進行重建值調整。第一取值和第二取值均可以根據經驗配置,如第一取值為0,第二取值為1,或者,第一取值為1,第二取值為0。
步驟S14、解碼端確定當前圖像區域對應的第一類特徵資訊是否滿足第一特定條件。
如果否,則可以執行步驟S15,如果是,則可以執行步驟S16。
示例性的,步驟S14的實現過程與步驟S11類似,在此不再重複贅述。
步驟S15、若第一類特徵資訊不滿足第一特定條件,則解碼端確定不需要對當前圖像區域進行重建值調整,也不需要從當前圖像區域對應的碼流中解碼調整控制開關對應的標記位。
步驟S16、若第一類特徵資訊滿足第一特定條件,則解碼端從當前圖像區域對應的碼流中獲取調整控制開關對應的標記位,並基於該標記位確定是否需要對當前圖像區域進行重建值調整。其中,若該標記位為第一取值,則解碼端可以確定需要對當前圖像區域進行重建值調整;若該標記位為第二取值,則解碼端可以確定不需要對當前圖像區域進行重建值調整。
綜上所述,編碼端和解碼端均可以確定是否需要對當前圖像區域進行重建值調整,且這個重建值調整的結論可以應用到當前圖像區域。若需要對當前圖像區域進行重建值調整,對於編碼端,需要對N個編碼塊的重建值進行調整,對於解碼端,需要對N個解碼塊的重建值進行調整。若不需要對當前圖像區域進行重建值調整,對於編碼端,不需要對N個編碼塊的重建值進行調整,對於解碼端,不需要對N個解碼塊的重建值進行調整。
實施例4:針對實施例1和實施例2,可以確定是否需要對當前圖像區域進行重建值調整。比如說,針對編碼端來說,編碼端在編碼N個編碼塊(N≥1)的碼流後,可以將N個編碼塊記為當前圖像區域,可以確定是否需要對當前圖像區域進行重建值調整。針對解碼端來說,解碼端在解析N個解碼塊(N≥1)的碼流後,可以將N個解碼塊(與編碼端的N個編碼塊對應)記為當前圖像區域,可以確定是否需要對當前圖像區域進行重建值調整。
示例性的,為了確定是否需要對當前圖像區域進行重建值調整,可以採用如下方式:
隱式匯出方式:編碼端可以根據當前圖像區域對應的第二類特徵資訊隱式匯出是否需要對當前圖像區域進行重建值調整,解碼端也可以根據當前圖像區域對應的第二類特徵資訊隱式匯出是否需要對當前圖像區域進行重建值調整。
以下結合具體應用場景,對隱式匯出方式的實現過程進行說明,該過程可以包括:
步驟S21、編碼端確定當前圖像區域對應的第二類特徵資訊是否滿足第二特定條件。
如果否,則可以執行步驟S22,如果是,則可以執行步驟S23。
示例性的,當前圖像區域對應的第二類特徵資訊可以包括但不限於碼控的上下溢指示資訊、量化參數、已重建像素特徵、塊位置中的至少一種,碼控的上下溢指示資訊可以包括但不限於當前碼率,量化參數可以包括但不限於量化步長。其中,當前碼率用於表示當前圖像區域所在碼控單元之前的所有碼控單元的平均碼率;塊位置是當前圖像區域內的圖像塊的塊位置,如當前圖像區域內的任一圖像塊的塊位置,塊位置用於表示該圖像塊在當前幀中的位置。當然,當前碼率、量化參數、已重建像素特徵和塊位置只是第二類特徵資訊的幾個示例,對此第二類特徵資訊不做限制,第二類特徵資訊是否滿足第二特定條件可以包括但不限於:
情況I、當前圖像區域對應的第二類特徵資訊可包括當前圖像區域對應的當前碼率,當前碼率也就是碼控資訊,即碼控的上下溢指示資訊,若當前碼率小於第一碼率值,則確定該第二類特徵資訊滿足第二特定條件,否則,確定該第二類特徵資訊不滿足第二特定條件。
示例性的,第一碼率值可以是根據經驗配置的碼率值,對此第一碼率值不做限制,在當前碼率小於第一碼率值時,可以表示碼控資訊指示資源池(例如,用來存放比特流的碼流緩衝區)充足。
在一種可能的實施方式中,可以預先配置一個目標上限碼率,在當前碼率接近於目標上限碼率時,表示碼控資訊指示資源池正常,在當前碼率大於目標上限碼率與預設閾值之和時,表示碼控資訊指示資源池不足,在當前碼率小於目標上限碼率與預設閾值之差時,表示碼控資訊指示資源池充足,在此基礎上,可以將目標上限碼率與預設閾值之差作為第一碼率值。
情況II、當前圖像區域對應的第二類特徵資訊可包括當前圖像區域對應的塊位置,若當前圖像區域對應的該塊位置位於指定位置,則確定該第二類特徵資訊滿足第二特定條件,否則,若當前圖像區域對應的該塊位置不位於指定位置,確定該第二類特徵資訊不滿足第二特定條件。
比如說,指定位置可以是當前碼控單元(即當前圖像區域所在的碼控單元)的最後L個圖像塊(L可以為大於或等於1的正整數),或者指定位置可以是當前碼控單元的最下一行圖像塊等。在此基礎上,若該塊位置屬於當前碼控單元的最後L個圖像塊或最下一行圖像塊,則確定該塊位置位於指定位置,否則,確定該塊位置不位於指定位置。
又例如,指定位置可以是當前幀內部Slice邊界位置,若該塊位置屬於當前幀內部Slice邊界位置,則確定該塊位置位於指定位置,否則,確定該塊位置不位於指定位置。
又例如,指定位置可以是當前碼控單元的最後L個圖像塊和當前幀內部Slice邊界位置,若該塊位置屬於當前碼控單元的最後L個圖像塊,或,該塊位置屬於當前幀內部Slice邊界位置,則確定該塊位置位於指定位置。若該塊位置不屬於當前碼控單元的最後L個圖像塊,且該塊位置不屬於當前幀內部Slice邊界位置,則確定該塊位置不位於指定位置。
當然,上述只是指定位置的幾個示例,本實施例中對此指定位置不做限制。
情況III、當前圖像區域對應的第二類特徵資訊可包括當前圖像區域對應的量化步長,若該量化步長大於步長閾值,則確定該第二類特徵資訊滿足第二特定條件,否則,若該量化步長不大於步長閾值,確定該第二類特徵資訊不滿足第二特定條件。
情況IV、當前圖像區域對應的第二類特徵資訊可包括當前圖像區域對應的當前碼率和當前圖像區域對應的塊位置,在此基礎上,若當前碼率小於第一碼率值、且該塊位置位於指定位置,則確定該第二類特徵資訊滿足第二特定條件,否則,確定該第二類特徵資訊不滿足第二特定條件。
情況V、當前圖像區域對應的第二類特徵資訊可包括當前圖像區域對應的當前碼率和當前圖像區域對應的塊位置,若當前碼率小於第一碼率值,或者,該塊位置位於指定位置,則確定該第二類特徵資訊滿足第二特定條件,否則,確定該第二類特徵資訊不滿足第二特定條件。
情況VI、當前圖像區域對應的第二類特徵資訊可包括當前圖像區域對應的當前碼率和當前圖像區域對應的量化步長,若當前碼率小於第一碼率值、且該量化步長大於步長閾值,則確定該第二類特徵資訊滿足第二特定條件,否則,確定該第二類特徵資訊不滿足第二特定條件。
情況VII、當前圖像區域對應的第二類特徵資訊可包括當前圖像區域對應的當前碼率和當前圖像區域對應的量化步長,若當前碼率小於第一碼率值,或者,該量化步長大於步長閾值,則確定該第二類特徵資訊滿足第二特定條件,否則,確定該第二類特徵資訊不滿足第二特定條件。
情況VIII、當前圖像區域對應的第二類特徵資訊可包括當前圖像區域對應的塊位置和當前圖像區域對應的量化步長,在此基礎上,若該塊位置位於指定位置、且該量化步長大於步長閾值,則確定該第二類特徵資訊滿足第二特定條件,否則,確定該第二類特徵資訊不滿足第二特定條件。
情況IX、當前圖像區域對應的第二類特徵資訊可包括當前圖像區域對應的塊位置和當前圖像區域對應的量化步長,若該塊位置位於指定位置,或者,該量化步長大於步長閾值,則確定該第二類特徵資訊滿足第二特定條件,否則,確定該第二類特徵資訊不滿足第二特定條件。
情況X、當前圖像區域對應的第二類特徵資訊可包括當前圖像區域對應的當前碼率、當前圖像區域對應的塊位置和當前圖像區域對應的量化步長,在此基礎上,若該當前碼率小於第一碼率值、且該塊位置位於指定位置、且該量化步長大於步長閾值,則可以確定該第二類特徵資訊滿足第二特定條件,否則,可以確定該第二類特徵資訊不滿足第二特定條件。
情況XI、當前圖像區域對應的第二類特徵資訊可包括當前圖像區域對應的當前碼率、當前圖像區域對應的塊位置和當前圖像區域對應的量化步長,在此基礎上,若該當前碼率小於第一碼率值,或者,該塊位置位於指定位置,或者,該量化步長大於步長閾值,則可以確定該第二類特徵資訊滿足第二特定條件,否則,可以確定該第二類特徵資訊不滿足第二特定條件。
情況XII、當前圖像區域對應的第二類特徵資訊可包括當前圖像區域對應的已重建像素特徵,在此基礎上,若該已重建像素特徵表示當前圖像區域的複雜程度為簡單,則可以確定該第二類特徵資訊滿足第二特定條件,否則,可以確定該第二類特徵資訊不滿足第二特定條件。
示例性的,已重建像素特徵可以是,從重建像素中計算得到的當前圖像區域的複雜程度(例如梯度),如可以採用索貝爾(Sobel)運算元對當前像素區域的複雜度進行評估,得到當前圖像區域的複雜程度;也可以對當前圖像區域的重建像素值進行變換,根據變換域,如頻域,的特徵得到當前圖像區域的複雜程度;還可以計算當前圖像區域的水平垂直梯度,基於水平垂直梯度得到當前圖像區域的複雜程度。當然,上述只是幾個示例,只要能夠得到已重建像素特徵即可,且已重建像素特徵可以表示當前圖像區域的複雜程度。
已重建像素特徵的原理和塊位置的原理類似,對於複雜區域往往能承受更多的損失而不被察覺,但對於簡單區域,比如平坦區域,此時很小的損失就會被人眼察覺到。
基於上述原理,在已重建像素特徵表示當前圖像區域的複雜程度為簡單時,則表示可以對當前圖像區域的重建值進行調整,以減少圖像損失,因此,可以確定第二類特徵資訊滿足第二特定條件。示例性的,已重建像素特徵可以是複雜程度值,當該複雜程度值大於預設閾值時,則已重建像素特徵可表示當前圖像區域的複雜程度為複雜,否則,當前圖像區域的複雜程度為簡單。本申請實施例中對表示當前圖像區域的複雜程度不進行限制,例如,還可以是當該複雜程度值小於預設閾值時,則已重建像素特徵可表示當前圖像區域的複雜程度為簡單,否則,當前圖像區域的複雜程度為複雜。
情況XIII、當前圖像區域對應的第二類特徵資訊可包括當前圖像區域對應的已重建像素特徵,在此基礎上,當前圖像區域對應的第二類特徵資訊還包括當前碼率、塊位置和量化步長中的至少一個,為了方便描述,以同時包括當前碼率、塊位置和量化步長為例,其它情況下的實現方式類似,基於此,若該當前碼率小於第一碼率值,且該塊位置位於指定位置,且該量化步長大於步長閾值,且該已重建像素特徵表示當前圖像區域的複雜程度為簡單,則可以確定該第二類特徵資訊滿足第二特定條件,否則,可以確定該第二類特徵資訊不滿足第二特定條件。
情況XIV、當前圖像區域對應的第二類特徵資訊包括當前圖像區域對應的已重建像素特徵,在此基礎上,當前圖像區域對應的第二類特徵資訊還包括當前碼率、塊位置和量化步長中的至少一個,為了方便描述,以同時包括當前碼率、塊位置和量化步長為例,其它情況下的實現方式類似,基於此,若該當前碼率小於第一碼率值,或,該塊位置位於指定位置,或,該量化步長大於步長閾值,或,該已重建像素特徵表示當前圖像區域的複雜程度為簡單,則可以確定該第二類特徵資訊滿足第二特定條件,否則,可以確定該第二類特徵資訊不滿足第二特定條件。
當然,上述幾種情況只是「確定當前圖像區域對應的第二類特徵資訊是否滿足第二特定條件」的幾個示例,本實施例中對此「第二類特徵資訊是否滿足第二特定條件」的確定過程不做限制。
步驟S22、編碼端確定不需要對當前圖像區域進行重建值調整。
步驟S23、編碼端確定需要對當前圖像區域進行重建值調整。
步驟S24、解碼端確定當前圖像區域對應的第二類特徵資訊是否滿足第二特定條件。
如果否,則可以執行步驟S25,如果是,則可以執行步驟S26。
示例性的,步驟S24的實現過程與步驟S21類似,在此不再重複贅述。
步驟S25、解碼端確定不需要對當前圖像區域進行重建值調整。
步驟S26、解碼端確定需要對當前圖像區域進行重建值調整。
實施例5:針對實施例1和實施例2,可以確定是否需要對當前圖像區域進行重建值調整。比如說,針對編碼端來說,編碼端在編碼N個編碼塊(N≥1)的碼流後,可以將N個編碼塊記為當前圖像區域,可以確定是否需要對當前圖像區域進行重建值調整。針對解碼端來說,解碼端在解析N個解碼塊(N≥1)的碼流後,可以將N個解碼塊(與編碼端的N個編碼塊對應)記為當前圖像區域,可以確定是否需要對當前圖像區域進行重建值調整。
示例性的,為了確定是否需要對當前圖像區域進行重建值調整,可以採用如下方式:
組合實現方式,即顯式語法+隱式匯出的實現方式。例如,編碼端在獲取到當前圖像區域對應的調整控制開關的標記位(參見實施例3)之後,若該調整控制開關的標記位與靶心圖表像區域(如當前圖像區域的前一個圖像區域,或指定的某個圖像區域,或預設的圖像區域等)對應的調整控制開關的標記位相同,則編碼端可不在當前圖像區域對應的碼流中編碼調整控制開關的標記位。解碼端獲知當前圖像區域對應的碼流中未攜帶調整控制開關的標記位時,就可以將靶心圖表像區域對應的調整控制開關的標記位作為當前圖像區域對應的調整控制開關的標記位,繼而確定是否對當前圖像區域進行重建值調整。或者,編碼端在獲取到當前圖像區域對應的調整控制開關的標記位之後,若該調整控制開關的標記位與靶心圖表像區域對應的調整控制開關的標記位不同,則編碼端可以在當前圖像區域對應的碼流中編碼調整控制開關的標記位。解碼端可以從碼流中解析當前圖像區域對應的調整控制開關的標記位,並基於該標記位確定是否對當前圖像區域進行重建值調整。
實施例6:針對實施例1-實施例5,在確定是否對當前圖像區域進行重建值調整之後,若確定對當前圖像區域進行重建值調整,則可以獲取當前圖像區域對應的調整參數。該調整參數可用於對當前圖像區域的重建值進行調整,即用於調整當前圖像區域內的N個圖像塊的重建值(或預測值,或殘差值等)。比如說,針對編碼端來說,當前圖像區域可以包括N個編碼塊,該調整參數可用於對N個編碼塊的重建值進行調整,針對解碼端來說,當前圖像區域可以包括N個解碼塊,該調整參數可用於對N個解碼塊的重建值進行調整。
針對編碼端來說,可以基於當前圖像區域的原始值和當前圖像區域的重建值確定當前圖像區域對應的調整參數。該調整參數用於對當前圖像區域的重建值進行調整,以使調整後的重建值接近當前圖像區域的原始值,本實施例對此調整參數的獲取過程不做限制。
示例性的,當前圖像區域對應的調整參數可以包括多個調整值,當前圖像區域可以對應多個像素組,即當前圖像區域的所有像素點可以被劃分至多個像素組,在此基礎上,多個調整值可以包括K個像素組對應的調整值,K個像素組可以是多個像素組中的全部像素組或者部分像素組。比如說,可以將當前圖像區域的所有像素點劃分至32個像素組,可以從32個像素組中選取K個像素組,如4個像素組、8個像素組、16個像素組、32個像素組等,對K的取值不做限制。基於此,編碼端獲取這K個像素組對應的調整參數,即調整參數可以包括K個像素組對應的調整值,每個像素組對應的調整值用於對該像素組內每個像素點的重建值進行調整。比如說,假設K個像素組為像素組1和像素組2,則編碼端可以獲取像素組1對應的調整值和像素組2對應的調整值,像素組1對應的調整值用於對像素組1內每個像素點的重建值進行調整,像素組2對應的調整值用於對像素組2內每個像素點的重建值進行調整。
針對每個像素組來說,該像素組對應的調整值可以包括該像素組對應的多個通道或單個通道的調整值。比如說,多個通道可以包括Y通道、U通道、V通道,或者,多個通道可以包括R通道、G通道、B通道,或者,多個通道可以包括、R通道、G通道、B通道、alpha通道,或者,多個通道可以包括R通道、G通道、B通道、IR通道,或者,多個通道可以包括R通道、G通道、B通道、W通道,或者,多個通道可以包括R通道、G通道、B通道、IR通道、W通道,或者,多個通道可以包括R通道、G通道、B通道、D通道,或者,多個通道可以包括R通道、G通道、B通道、D通道、W通道。單個通道可以是上述通道中的任一。當然,上述只是幾個示例。
在實際應用中,上述通道中的兩個或兩個以上還可以使用同一個調整值,比如說,U通道和V通道可以使用同一個調整值,或者,R通道和G通道可以使用同一個調整值,對此不做限制。
比如說,像素組1對應的調整值包括Y通道調整值1、U通道調整值1和V通道調整值1,Y通道調整值1用於對像素組1內每個像素點的Y通道重建值進行調整、U通道調整值1用於對像素組1內每個像素點的U通道重建值進行調整、V通道調整值1用於對像素組1內每個像素點的V通道重建值進行調整。像素組2對應的調整值包括Y通道調整值2、U通道調整值2和V通道調整值2,Y通道調整值2用於對像素組2內每個像素點的Y通道重建值進行調整、U通道調整值2用於對像素組2內每個像素點的U通道重建值進行調整、V通道調整值2用於對像素組2內每個像素點的V通道重建值進行調整。在一個像素組對應多個通道的情況下,該像素組對應的各通道的調整值可以均不同,也可以均相同,還可以部分相同部分不同。
示例性的,編碼端在得到當前圖像區域對應的調整參數之後,還可以在當前圖像區域對應的碼流中編碼當前圖像區域對應的調整參數。比如說,該調整參數可以包括K個像素組對應的調整值,因此,可以在當前圖像區域對應的碼流中編碼K個像素組對應的調整值。
針對解碼端來說,可以從當前圖像區域對應的碼流中獲取當前圖像區域對應的調整參數,該調整參數用於對當前圖像區域的重建值進行調整,以使調整後的重建值接近當前圖像區域的原始值。在得到調整參數之後,就可以基於該調整參數對當前圖像區域的重建值進行調整。
示例性的,當前圖像區域對應的調整參數可以包括多個調整值,可以將當前圖像區域的所有像素點劃分至多個像素組,在此基礎上,多個調整值可以包括K個像素組對應的調整值,K個像素組可以是多個像素組中的全部像素組或者部分像素組。解碼端可以從碼流中獲取K個像素組對應的調整參數,即調整參數可以包括K個像素組對應的調整值。解碼端可以基於像素組對應的調整值,對該像素組內每個像素點的重建值進行調整。比如說,假設K個像素組為像素組1和像素組2,則解碼端可以獲取像素組1對應的調整值和像素組2對應的調整值,解碼端基於像素組1對應的調整值對像素組1內每個像素點的重建值進行調整,以及,解碼端基於像素組2對應的調整值對像素組2內每個像素點的重建值進行調整。
針對每個像素組來說,該像素組對應的調整值可以包括該像素組對應的多個通道或單個通道的調整值,比如說,多個通道可以包括Y通道、U通道、V通道,或者,多個通道可以包括R通道、G通道、B通道,或者,多個通道可以包括、R通道、G通道、B通道、alpha通道,或者,多個通道可以包括R通道、G通道、B通道、IR通道,或者,多個通道可以包括R通道、G通道、B通道、W通道,或者,多個通道可以包括R通道、G通道、B通道、IR通道、W通道,或者,多個通道可以包括R通道、G通道、B通道、D通道,或者,多個通道可以包括R通道、G通道、B通道、D通道、W通道。單個通道可以是上述通道中的任一。當然,上述只是幾個示例,對此不做限制。
示例性的,以像素組對應的調整值包括該像素組對應的多個通道的調整值為例,針對K個像素組中的每個像素組,若從碼流中獲取的多個調整值包括該像素組對應的調整值,則解碼端基於該像素組對應的調整值對該像素組內每個像素點的重建值進行調整,得到該像素組內每個像素點的調整後的重建值。比如說,若從碼流中獲取的多個調整值包括像素組1對應的Y通道調整值1、U通道調整值1和V通道調整值1,則可以基於Y通道調整值1對像素組1內每個像素點的Y通道重建值進行調整,基於U通道調整值1對像素組1內每個像素點的U通道重建值進行調整,基於V通道調整值1對像素組1內每個像素點的V通道重建值進行調整。又例如,若從碼流中獲取的多個調整值只包括像素組1對應的Y通道調整值1,而未包括像素組1對應的U通道調整值1和V通道調整值1,則解碼端可以基於Y通道調整值1對像素組1內每個像素點的Y通道重建值進行調整。
在一種可能的實施方式中,若K個像素組是多個像素組(如32個像素組)中的全部像素組,則編碼端可以不在當前圖像區域對應的碼流中編碼K個像素組對應的像素組指示資訊,解碼端也不需要從當前圖像區域對應的碼流中解析K個像素組對應的像素組指示資訊,在此基礎上,解碼端可以獲知碼流中攜帶的調整參數是所有像素組(如32個像素組)的調整值。
若K個像素組是所有像素組中的部分像素組,則編碼端可以在當前圖像區域對應的碼流中編碼K個像素組對應的像素組指示資訊,表示碼流中攜帶的是該像素組指示資訊對應的K個像素組的調整值。解碼端可以從當前圖像區域對應的碼流中解析K個像素組對應的像素組指示資訊,獲知碼流中攜帶的調整參數是該像素組指示資訊對應的K個像素組的調整值。
比如說,該像素組指示資訊包括K個像素組的索引值,該索引值表示像素組是所有像素組中的第幾個像素組,以K個像素組包括像素組1、像素組2、像素組3和像素組4為例,則像素組指示資訊可以包括像素組1的索引值(該索引值用於表示像素組1是所有像素組中的第幾個像素組)、像素組2的索引值、像素組3的索引值和像素組4的索引值。顯然,若K個像素組是多個像素組中的部分像素組,則該像素組指示資訊用於區分所有類別的像素組中的目標類別的像素組,即從所有像素組中區分出K個像素組,像素組指示資訊能夠實現分類功能。
又例如,假設K個像素組是連續像素組,該像素組指示資訊可以包括K個像素組中部分像素組的索引值,剩餘像素組的索引值可以隱式推導出。以K個像素組包括像素組1、像素組2、像素組3和像素組4為例,則像素組指示資訊可以只包括像素組1的索引值,由於K個像素組是連續像素組,因此,可以隱式推導出像素組2的索引值、像素組3的索引值和像素組4的索引值。
綜上所述,可以採用顯示方式指示K個像素組的索引值,或者,也可以採用顯示方式指示K個像素組中部分像素組的索引值,並通過隱式方式推導出剩餘像素組的索引值,本實施例中對此不做限制,只要解碼端能夠獲知K個像素組的索引值即可。
示例性的,若K個像素組是所有像素組中的部分像素組,且K個像素組是處於預設位置的K個像素組,如K個像素組固定為前面4個像素組,或K個像素組固定為第1、3、5、7個像素組,或K個像素組固定為後面4個像素組,那麼,編碼端可以不在當前圖像區域對應的碼流中編碼K個像素組對應的像素組指示資訊,解碼端也不需要從當前圖像區域對應的碼流中解析K個像素組對應的像素組指示資訊,在此基礎上,解碼端獲知碼流中攜帶的調整參數是預設位置的K個像素組的調整值,例如,調整參數是前面4個像素組的調整值,或調整參數是第1、3、5、7個像素組的調整值,或調整參數是後面4個像素組的調整值。
實施例7:針對編碼端來說,當前圖像區域對應的調整參數包括K個像素組對應的調整值。調整參數可以包括多個調整值,在當前圖像區域對應的碼流中編碼K個像素組對應的調整值時,可以在當前圖像區域對應的碼流中編碼全部調整值或者部分調整值。比如說,以像素組對應的調整值包括該像素組對應的單個通道的調整值為例,假設K個像素組是12個像素組,其中,4個像素組的調整值為Y通道調整值、4個像素組的調整值為U通道調整值、4個像素組的調整值為V通道調整值,則當前圖像區域對應的調整參數可以包括12個調整值。可以在當前圖像區域對應的碼流中編碼12個調整值,也可以在當前圖像區域對應的碼流中編碼12個調整值中的部分調整值。
針對解碼端來說,在從當前圖像區域對應的碼流中獲取調整參數時,若編碼端編碼了K個像素組對應的全部調整值,則解碼端可以從當前圖像區域對應的碼流中獲取K個像素組對應的全部調整值。若編碼端編碼了K個像素組對應的部分調整值,則解碼端可以從當前圖像區域對應的碼流中獲取K個像素組對應的部分調整值。比如說,若解碼端得到Y通道調整值,但是未得到U通道調整值和V通道調整值,則解碼端只基於該Y通道調整值對對應的像素組內每個像素點的Y通道重建值進行調整,而不對該像素組內每個像素點的U通道重建值和V通道重建值進行調整。此外,若解碼端未得到K個像素組中的某個像素組的調整值,則解碼端不再對該像素組內每個像素點的重建值進行調整。
在一種可能的實施方式中,基於K個像素組對應的多個調整值,編碼端在當前圖像區域對應的碼流中編碼全部調整值或者部分調整值,可以包括但不限於如下步驟:
步驟S31、按照多個調整值的編碼順序對多個調整值進行排序。
以12個像素組(如像素組1至像素組12),其中,4個像素組的調整值為Y通道調整值、4個像素組的調整值為U通道調整值、4個像素組的調整值為V通道調整值為例,則當前圖像區域對應12個調整值,可以確定12個調整值的編碼順序。
首先,可以確定各像素組的編碼順序,例如,在按照各像素點的重建值劃分多個像素組時,可以按照各像素組的值域確定各像素組的編碼順序,如按照值域從小到大的順序排序,或按照值域從大到小的順序排序。以按照值域從小到大的順序排序為例,假設像素組1對應的值域最小,像素組2對應的值域第二小,以此類推,像素組11對應的值域第二大,像素組12對應的值域最大,也即像素組1至像素組12的值域依次增大,那麼,各像素組的編碼順序可以是從像素組1至像素組12依次編碼。
又例如,在按照各像素點的梯度值劃分多個像素組時,可以按照各像素組的梯度值值域(即各像素組對應的梯度值結果,如上述絕對值在10以下等值域)確定各像素組的編碼順序。如按照梯度值值域從小到大的順序排序,或按照梯度值值域從大到小的順序排序。以按照梯度值值域從小到大的順序排序為例,假設像素組1對應的梯度值值域最小,像素組2對應的梯度值值域第二小,以此類推,像素組11對應的梯度值值域第二大,像素組12對應的梯度值值域最大,也即像素組1至像素組12的對應的梯度值依次增大,那麼,各像素組的編碼順序可以是從像素組1至像素組12依次編碼。
又例如,在按照各像素點的像素位置劃分多個像素組時,可以按照各像素組對應的塊順序確定各像素組的編碼順序。以按照塊順序從前到後的順序排序為例,假設像素組1對應的子區域是當前圖像區域的第一個塊,像素組2對應的子區域是當前圖像區域的第二個塊,以此類推,像素組11對應的子區域是當前圖像區域的第十一個塊,像素組12對應的子區域是當前圖像區域的第12個塊,那麼,各像素組的編碼順序是從像素組1至像素組12依次編碼。
當然,上述方式只是確定各像素組的編碼順序的幾個示例,對此不做限制。
還可以確定各通道的編碼順序,如確定Y通道、U通道和V通道之間的編碼順序,如編碼順序依次是:Y通道、U通道、V通道;或者,Y通道、V通道、U通道;或者,U通道、Y通道、V通道;或者,U通道、V通道、Y通道。當然,上述方式只是確定各通道的編碼順序的幾個示例,對此不做限制,可以任意規劃各通道的編碼順序。
在像素組對應的調整值包括該像素組對應的多個通道的調整值的情況下,可以基於各像素組的編碼順序和各通道的編碼順序,確定多個調整值的編碼順序。比如說,可以以像素組的編碼順序為主,以各通道的編碼順序為輔,確定多個調整值的編碼順序,以K個像素組是4個像素組,其中每個像素組對應3個通道的調整值,各像素組的編碼順序是像素組1、像素組2、像素組3和像素組4,各通道的編碼順序是Y通道、U通道、V通道為例,則12個調整值的編碼順序可以是:像素組1的Y通道調整值、U通道調整值和V通道調整值,像素組2的Y通道調整值、U通道調整值和V通道調整值,像素組3的Y通道調整值、U通道調整值和V通道調整值,像素組4的Y通道調整值、U通道調整值和V通道調整值。又例如,可以以各通道的編碼順序為主,以像素組的編碼順序為輔,確定多個調整值的編碼順序,則上述12個調整值的編碼順序可以是:像素組1的Y通道調整值、像素組2的Y通道調整值、像素組3的Y通道調整值、像素組4的Y通道調整值、像素組1的U通道調整值、像素組2的U通道調整值、像素組3的U通道調整值、像素組4的U通道調整值、像素組1的V通道調整值、像素組2的V通道調整值、像素組3的V通道調整值、像素組4的V通道調整值。當然,上述只是多個調整值的編碼順序的兩個示例,本實施例對此多個調整值的編碼順序不做限制,可以任意配置多個調整值的編碼順序。
步驟S32、基於排序結果依次遍歷多個調整值。
比如說,以K個像素組是4個像素組為例,針對像素組對應單通道的調整值,第一次遍歷時,遍歷像素組1的調整值,第二次遍歷時遍歷像素組2的調整值,第三次遍歷時遍歷像素組3的調整值,第四次遍歷時遍歷像素組4的調整值;針對像素組對應多個通道的調整值,第一次遍歷時,遍歷像素組1的Y通道調整值,第二次遍歷時,遍歷像素組1的U通道調整值,第三次遍歷時,遍歷像素組1的V通道調整值,第四次遍歷時,遍歷像素組2的Y通道調整值,第五次遍歷時,遍歷像素組2的U通道調整值,以此類推。上述針對像素組對應單通道的調整值時,還可以按照各通道的排序進行遍歷,以各通道的排序為Y通道、U通道、V通道為例,第一次遍歷時遍歷Y通道的調整值,第二次遍歷時遍歷U通道的調整值,第三次遍歷時遍歷V通道的調整值。各像素組和各像素通道還可以具有其他排序,以上只是對遍歷順序的示例,本申請對此不做限制。
步驟S33、針對當前遍歷的調整值,若在當前圖像區域對應的碼流中編碼該調整值之後,當前碼率小於第二碼率值,則在當前圖像區域對應的碼流中編碼該調整值,且繼續遍歷該調整值的下一個調整值,將下一個調整值作為當前遍歷的調整值。
示例性的,第二碼率值可以是根據經驗配置的,對此不做限制,在當前碼率小於第二碼率值時,表示碼控資訊指示資源池充足。在一種可能的實施方式中,可以預先配置一個目標上限碼率,在當前碼率接近於目標上限碼率時,表示碼控資訊指示資源池正常;在當前碼率大於目標上限碼率與預設閾值之和時,表示碼控資訊指示資源池不足;在當前碼率小於目標上限碼率與預設閾值之差時,表示碼控資訊指示資源池充足。在此基礎上,可以將目標上限碼率與預設閾值之差作為第二碼率值。第二碼率值與上述第一碼率值可以相同,也可以不同。
步驟S34、針對當前遍歷的調整值,若在當前圖像區域對應的碼流中編碼該調整值之後,當前碼率不小於第二碼率值,則可以禁止在當前圖像區域對應的碼流中編碼該調整值,且停止遍歷該調整值的下一個調整值,即結束多個調整值的遍歷過程。
綜上所述,本實施例中,編碼端在當前圖像區域對應的碼流中編碼K個像素組對應的多個調整值時,可以依次遍歷多個調整值。針對當前遍歷的調整值,若在碼流中編碼該調整值之後,當前碼率小於第二碼率值,則在碼流中編碼該調整值,且繼續遍歷該調整值的下一個調整值;若當前碼率不小於第二碼率值,則不在碼流中編碼該調整值,且停止遍歷該調整值的下一個調整值。以此類推,一直到已遍歷K個像素組對應的全部調整值,或者當前碼率不小於第二碼率值時,停止遍歷調整值。至此,可以在當前圖像區域對應的碼流中編碼K個像素組對應的全部調整值或者部分調整值,對此過程不做贅述。
實施例8:在傳遞調整參數的過程中,碼控的狀態也會同步更新,在編碼調整參數過後,若碼控仍然為下溢狀態(小於0,如當前碼率小於第二碼率值時,表示碼控仍然為下溢狀態),則繼續編碼調整參數。情況一,以通道形式逐步傳遞調整參數,如Y通道,U通道,V通道,R通道,G通道,B通道,alpha通道(也可以部分通道共用,例如UV通道共用)等,若碼控狀態為下溢,則按照順序編碼(解碼端為解析)調整參數,傳遞過後若碼控仍然下溢,則繼續編碼(解碼端為解析)下一個調整參數。以此類推,直至碼控不下溢或者調整參數全部被傳遞。情況二,以像素組(至少一個像素)的形式逐步傳遞調整參數,即按照一定的掃描順序與分組,逐個傳遞調整參數,例如,按照先Y通道再U通道再V通道,每個通道進行垂直方向的四分組(如4個像素組),然後逐個組傳遞調整參數,逐步更新碼控狀態。示例性的,調整參數表達了,對N個編碼塊(即當前圖像區域)中的某一類或多類重建值進行調整,某一類或多類重建值可以通過語法傳遞,也可通過匯出的方式確定,例如:編解碼端統一約定;根據已編碼資訊匯出(如模式資訊,重建值資訊等)。
實施例9:針對實施例1至實施例8,對於編碼端和解碼端來說,當前圖像區域可以對應多個像素組,如將當前圖像區域的所有像素點劃分至多個像素組,即對所有像素點進行分類。本實施例中,可以採用如下方式將當前圖像區域的所有像素點劃分至多個像素組:
方式1:按照各像素點的調整前重建值將當前圖像區域的所有像素點劃分至多個像素組,即可以根據各像素點的調整前重建值(後續用於分組的重建值,均是指調整前重建值)進行分類,得到多個像素組。比如說,可以將重建值的值域平均分為A個像素組,根據重建值所在範圍確定像素組,如將位寬為8bit的重建值(值域0至255)分為16個像素組,16個像素組的範圍分別為0至15,16至31,32至47,48至63,…,240至255。若像素點的重建值處於範圍0至15,則將該像素點劃分至第1個像素組,若像素點的重建值處於範圍16至31,則將該像素點劃分至第2個像素組,若像素點的重建值處於範圍32至47,則將該像素點劃分至第3個像素組,若像素點的重建值處於範圍48至63,則將該像素點劃分至第4個像素組,以此類推,若像素點的重建值處於範圍240至255,則將該像素點劃分至第16個像素組。
示例性的,在按照各像素點的重建值將當前圖像區域的所有像素點劃分至多個像素組時,還可以逐通道進行劃分。比如說,以Y通道、U通道、V通道為例,若像素點的Y通道重建值處於範圍0至15,則將該像素點的Y通道重建值劃分至第1個像素組,基於此,可以基於第1個像素組對應的Y通道調整值對該像素點的Y通道重建值進行調整。若像素點的U通道重建值處於範圍16至31,則將該像素點的U通道重建值劃分至第2個像素組,基於此,可以基於第2個像素組對應的U通道調整值對該像素點的U通道重建值進行調整。若像素點的V通道重建值處於範圍16至31,則將該像素點的V通道重建值劃分至第2個像素組,基於此,可以基於第2個像素組對應的V通道調整值對該像素點的V通道重建值進行調整。
方式2:基於像素點的周圍像素點的調整前重建值(後續用於分組的重建值,均是指調整前重建值)確定該像素點的分類值,按照各像素點的分類值將當前圖像區域的所有像素點劃分至多個像素組,如可以根據各像素點的梯度值進行分類,得到多個像素組。
比如說,可以根據像素點的周圍像素點的重建值對該像素點進行分類,如利用梯度資訊,可以將像素點的上側相鄰像素點的重建值與像素點的左側相鄰像素點的重建值相減,得到該像素點的梯度值。可以將梯度值結果的絕對值位於某一範圍的像素點定義為同一類,如絕對值在10以下的為第一類,絕對值在10至30的為第二類,絕對值大於30的為第三類。在此基礎上,針對某個像素點來說,若該像素點的梯度值的絕對值處於10以下,則將該像素點劃分至第1個像素組,若像素點的梯度值的絕對值處於10至30,則將該像素點劃分至第2個像素組,若像素點的梯度值的絕對值處於30以上,則將該像素點劃分至第3個像素組。
方式3:按照各像素點的像素位置將當前圖像區域的所有像素點劃分至多個像素組,即可以根據各像素點的像素位置進行分類,得到多個像素組。比如說,可以根據像素位置進行分類,如將16*2的當前圖像區域等分為四個4*2的子區域,每個4*2的子區域劃分為一類。在此基礎上,針對某個像素點來說,若該像素點處於第一個4*2的子區域,則可以將該像素點劃分至第1個像素組,若該像素點處於第二個4*2的子區域,則可以將該像素點劃分至第2個像素組,若該像素點處於第三個4*2的子區域,則可以將該像素點劃分至第3個像素組,若該像素點處於第四個4*2的子區域,則可以將該像素點劃分至第4個像素組。
方式4:可以將每個像素點劃分成一個像素組,即每個像素點就是一個像素組,不同像素點對應不同像素組,可以理解為,像素組就包括一個像素點。
當然,上述方式只是劃分方式的幾個示例,對此劃分方式不做限制。
實施例10:針對實施例1至實施例8,對於編碼端和解碼端來說,當前圖像區域可以對應多個像素組,例如,將當前圖像區域的所有像素點劃分至多個像素組,即對所有像素點進行分類。本實施例中,可以採用如下方式確定當前圖像區域對應的多個像素組:根據當前圖像區域的預測模式確定當前圖像區域對應的多個像素組,也就是說,像素組的劃分可以與當前圖像區域的預測模式有關。比如說,可以根據當前圖像區域的預測模式確定像素組的劃分屬性,並基於該劃分屬性確定當前圖像區域對應的多個像素組。
示例性的,該劃分屬性可以包括劃分數量、濾波區域和劃分方式中的至少一種。若該劃分屬性包括劃分數量、濾波區域和劃分方式,則根據當前圖像區域的預測模式確定像素組的劃分數量、濾波區域和劃分方式,並基於劃分數量、濾波區域和劃分方式確定當前圖像區域對應的多個像素組。若該劃分屬性包括劃分數量和劃分方式,則根據當前圖像區域的預測模式確定像素組的劃分數量和劃分方式,並基於劃分數量和劃分方式確定當前圖像區域對應的多個像素組。關於其它劃分屬性的組合,其實現方式類似,本實施例中不再贅述。
其中,劃分數量用於表示將當前圖像區域劃分為多少個像素組,濾波區域用於表示將當前圖像區域的哪部分區域劃分為多個像素組,劃分方式用於表示每個像素組的尺寸規格。
其中,若劃分屬性包括濾波區域,則濾波區域可以表示將當前圖像區域的全部區域劃分為多個像素組,也可以表示將當前圖像區域的部分區域劃分為多個像素組。若劃分屬性不包括濾波區域,則表示將當前圖像區域的全部區域劃分為多個像素組。
示例性的,可以將當前圖像區域的預測模式區分為水平預測模式和非水平預測模式,若當前圖像區域的預測模式是水平預測模式,則可以確定像素組的劃分數量是第一劃分數量,確定像素組的濾波區域是第一濾波區域,確定劃分方式是第一尺寸規格;若當前圖像區域的預測模式不是水平預測模式,則可以確定像素組的劃分數量是第二劃分數量,確定像素組的濾波區域是第二濾波區域,確定劃分方式是第二尺寸規格。或者,若當前圖像區域的預測模式是水平預測模式,則可以確定像素組的劃分數量是第一劃分數量,確定劃分方式是第一尺寸規格;若當前圖像區域的預測模式不是水平預測模式,則可以確定像素組的劃分數量是第二劃分數量,確定劃分方式是第二尺寸規格。又例如,可以將當前圖像區域的預測模式區分為垂直預測模式和非垂直預測模式,若當前圖像區域的預測模式是垂直預測模式,則可以確定像素組的劃分數量是第三劃分數量,確定像素組的濾波區域是第三濾波區域,確定劃分方式是第三尺寸規格;若當前圖像區域的預測模式不是垂直預測模式,則可以確定像素組的劃分數量是第四劃分數量,確定像素組的濾波區域是第四濾波區域,確定劃分方式是第四尺寸規格。或者,若當前圖像區域的預測模式是垂直預測模式,則可以確定像素組的劃分數量是第三劃分數量,確定劃分方式是第三尺寸規格;若當前圖像區域的預測模式不是垂直預測模式,則可以確定像素組的劃分數量是第四劃分數量,確定劃分方式是第四尺寸規格。當然,水平預測模式和非水平預測模式的區分方式,以及,垂直預測模式和非垂直預測模式的區分方式,只是兩個示例,對此不做限制。
比如說,可以將當前圖像區域的預測模式區分為第一預測模式和非第一預測模式,第一預測模式對應第一種劃分屬性(劃分數量、濾波區域和劃分方式),非第一預測模式對應第二種劃分屬性(劃分數量、濾波區域和劃分方式)。又例如,可以將當前圖像區域的預測模式區分為第一預測模式、第二預測模式、非第一非第二預測模式,第一預測模式對應第一種劃分屬性(劃分數量、濾波區域和劃分方式),第二預測模式對應第二種劃分屬性(劃分數量、濾波區域和劃分方式),非第一非第二預測模式對應第三種劃分屬性(劃分數量、濾波區域和劃分方式)。又例如,可以將當前圖像區域的預測模式區分為第一預測模式和第二預測模式,第一預測模式對應第一種劃分屬性(劃分數量、濾波區域和劃分方式),第二預測模式對應第二種劃分屬性(劃分數量、濾波區域和劃分方式),以此類推。
當然,在實際應用中,也可以劃分為更多的預測模式,對此不做限制。
為了方便描述,本實施例中,以將當前圖像區域的預測模式區分為水平預測模式和非水平預測模式為例。若當前圖像區域的預測模式是水平預測模式,則確定像素組的劃分數量是第一劃分數量,確定像素組的濾波區域是第一濾波區域,確定劃分方式是第一尺寸規格;若當前圖像區域的預測模式不是水平預測模式,則確定像素組的劃分數量是第二劃分數量,確定像素組的濾波區域是第二濾波區域,確定劃分方式是第二尺寸規格。
其中,關於第一劃分數量,可以根據經驗配置,如可以是2個、4個、6個、8個、16個等,對此不做限制。關於第一濾波區域,可以是當前圖像區域的全部區域,也可以是當前圖像區域的部分區域,對此不做限制。關於第一尺寸規格,可以根據經驗配置,第一尺寸規格可以包括寬度和高度,寬度可以是2、4、6、8、12、16等,對此不做限制,高度可以是1、2、4、6、8、12、16等,對此不做限制。此外,關於第二劃分數量,可以根據經驗配置,如可以是2個、4個、6個、8個、16個等,對此不做限制。關於第二濾波區域,可以是當前圖像區域的全部區域,也可以是當前圖像區域的部分區域,對此不做限制。關於第二尺寸規格,可以根據經驗配置,第二尺寸規格可以包括寬度和高度,寬度可以是2、4、6、8、12、16等,對此不做限制,高度可以是1、2、4、6、8、12、16等,對此不做限制。
比如說,若當前圖像區域是16*2的圖像塊,則在當前圖像區域的預測模式是水平預測模式時,可以將當前圖像區域的所有像素點劃分至4個像素組,每個像素組的尺寸是8*1;在該情況下,第一劃分數量是4,第一濾波區域是當前圖像區域的全部區域,第一尺寸規格是8*1,參見圖5A所示,是將16*2的圖像塊劃分為4個8*1的像素組。
或者,可以將當前圖像區域的所有像素點劃分至2個像素組,每個像素組的尺寸是16*1;在該情況下,第一劃分數量是2,第一濾波區域是當前圖像區域的全部區域,第一尺寸規格是16*1,參見圖5B所示,是將16*2的圖像塊劃分為2個16*1的像素組。
或者,可以將當前圖像區域的所有像素點劃分至4個像素組,每個像素組的尺寸是4*2;在該情況下,第一劃分數量是4,第一濾波區域是當前圖像區域的全部區域,第一尺寸規格是4*2,參見圖5C所示,是將16*2的圖像塊劃分為4個4*2的像素組。
或者,可以將當前圖像區域的所有像素點劃分至8個像素組,每個像素組的尺寸是2*2;在該情況下,第一劃分數量是8,第一濾波區域是當前圖像區域的全部區域,第一尺寸規格是2*2,參見圖5D所示,是將16*2的圖像塊劃分為8個2*2的像素組。
當然,上述只是水平預測模式下劃分的幾個示例,對此不做限制。
此外,若當前圖像區域是16*2的圖像塊,在當前圖像區域的預測模式不是水平預測模式時,可以將當前圖像區域的所有像素點劃分至4個像素組,每個像素組的尺寸是4*2。在該情況下,第二劃分數量是4,第二濾波區域是當前圖像區域的全部區域,第二尺寸規格是4*2,參見圖5C所示,是將16*2的圖像塊劃分為4個4*2的像素組。
或者,可以將當前圖像區域的所有像素點劃分至4個像素組,每個像素組的尺寸是8*1;在該情況下,第二劃分數量是4,第二濾波區域是當前圖像區域的全部區域,第二尺寸規格是8*1,參見圖5A所示,是將16*2的圖像塊劃分為4個8*1的像素組。
或者,可以將當前圖像區域的所有像素點劃分至2個像素組,每個像素組的尺寸是16*1;在該情況下,第二劃分數量是2,第二濾波區域是當前圖像區域的全部區域,第二尺寸規格是16*1,參見圖5B所示,是將16*2的圖像塊劃分為2個16*1的像素組。
或者,可以將當前圖像區域的所有像素點劃分至8個像素組,每個像素組的尺寸是2*2;在該情況下,第二劃分數量是8,第二濾波區域是當前圖像區域的全部區域,第二尺寸規格是2*2,參見圖5D所示,是將16*2的圖像塊劃分為8個2*2的像素組。
當然,上述只是非水平預測模式下劃分的幾個示例,對此不做限制。
又例如,若當前圖像區域是8*2的圖像塊,則在當前圖像區域的預測模式是水平預測模式時,可以將當前圖像區域的所有像素點劃分至2個像素組,每個像素組的尺寸是4*2;在該情況下,第一劃分數量是2,第一濾波區域是當前圖像區域的全部區域,第一尺寸規格是4*2。或者,可以將當前圖像區域的所有像素點劃分至2個像素組,每個像素組的尺寸是8*1;在該情況下,第一劃分數量是2,第一濾波區域是當前圖像區域的全部區域,第一尺寸規格是8*1。或者,可以將當前圖像區域的所有像素點劃分至1個像素組,每個像素組的尺寸是8*2;在該情況下,第一劃分數量是1,第一濾波區域是當前圖像區域的全部區域,第一尺寸規格是8*2。或者,可以將當前圖像區域的所有像素點劃分至4個像素組,每個像素組的尺寸是2*2;在該情況下,第一劃分數量是4,第一濾波區域是當前圖像區域的全部區域,第一尺寸規格是2*2。當然,上述只是水平預測模式下劃分的幾個示例,對此不做限制。
此外,若當前圖像區域是8*2的圖像塊,則在當前圖像區域的預測模式不是水平預測模式時,可以將當前圖像區域的所有像素點劃分至2個像素組,每個像素組的尺寸是4*2;在該情況下,第二劃分數量是2,第二濾波區域是當前圖像區域的全部區域,第二尺寸規格是4*2。或者,可以將當前圖像區域的所有像素點劃分至2個像素組,每個像素組的尺寸是8*1;在該情況下,第二劃分數量是2,第二濾波區域是當前圖像區域的全部區域,第二尺寸規格是8*1。或者,可以將當前圖像區域的所有像素點劃分至1個像素組,每個像素組的尺寸是8*2;在該情況下,第二劃分數量是1,第二濾波區域是當前圖像區域的全部區域,第二尺寸規格是8*2。或者,可以將當前圖像區域的所有像素點劃分至4個像素組,每個像素組的尺寸是2*2;在該情況下,第二劃分數量是4,第二濾波區域是當前圖像區域的全部區域,第二尺寸規格是2*2。當然,上述只是非水平預測模式下劃分的幾個示例,對此不做限制。
又例如,若當前圖像區域是16*1的圖像塊,則在當前圖像區域的預測模式是水平預測模式時,可以將當前圖像區域的所有像素點劃分至2個像素組,每個像素組的尺寸是8*1;在該情況下,第一劃分數量是2,第一濾波區域是當前圖像區域的全部區域,第一尺寸規格是8*1。或者,可以將當前圖像區域的所有像素點劃分至4個像素組,每個像素組的尺寸是4*1;在該情況下,第一劃分數量是4,第一濾波區域是當前圖像區域的全部區域,第一尺寸規格是4*1。或者,可以將當前圖像區域的所有像素點劃分至1個像素組,每個像素組的尺寸是16*1;在該情況下,第一劃分數量是1,第一濾波區域是當前圖像區域的全部區域,第一尺寸規格是16*1。或者,可以將當前圖像區域的所有像素點劃分至8個像素組,每個像素組的尺寸是2*1;在該情況下,第一劃分數量是8,第一濾波區域是當前圖像區域的全部區域,第一尺寸規格是2*1。當然,上述只是水平預測模式下劃分的幾個示例,對此不做限制。
此外,若當前圖像區域是16*1的圖像塊,則在當前圖像區域的預測模式不是水平預測模式時,可以將當前圖像區域的所有像素點劃分至2個像素組,每個像素組的尺寸是8*1;在該情況下,第二劃分數量是2,第二濾波區域是當前圖像區域的全部區域,第二尺寸規格是8*1。或者,可以將當前圖像區域的所有像素點劃分至4個像素組,每個像素組的尺寸是4*1;在該情況下,第二劃分數量是4,第二濾波區域是當前圖像區域的全部區域,第二尺寸規格是4*1。或者,可以將當前圖像區域的所有像素點劃分至1個像素組,每個像素組的尺寸是16*1;在該情況下,第二劃分數量是1,第二濾波區域是當前圖像區域的全部區域,第二尺寸規格是16*1。或者,可以將當前圖像區域的所有像素點劃分至8個像素組,每個像素組的尺寸是2*1;在該情況下,第二劃分數量是8,第二濾波區域是當前圖像區域的全部區域,第二尺寸規格是2*1。當然,上述只是非水平預測模式下劃分的幾個示例,對此不做限制。
又例如,若當前圖像區域是8*1的圖像塊,則在當前圖像區域的預測模式是水平預測模式時,可以將當前圖像區域的所有像素點劃分至2個像素組,每個像素組的尺寸是4*1;在該情況下,第一劃分數量是2,第一濾波區域是當前圖像區域的全部區域,第一尺寸規格是4*1。或者,可以將當前圖像區域的所有像素點劃分至4個像素組,每個像素組的尺寸是2*1;在該情況下,第一劃分數量是4,第一濾波區域是當前圖像區域的全部區域,第一尺寸規格是2*1。或者,可以將當前圖像區域的所有像素點劃分至1個像素組,每個像素組的尺寸是8*1;在該情況下,第一劃分數量是1,第一濾波區域是當前圖像區域的全部區域,第一尺寸規格是8*1。當然,上述只是水平預測模式下劃分的幾個示例,對此不做限制。
此外,若當前圖像區域是8*1的圖像塊,則在當前圖像區域的預測模式不是水平預測模式時,可以將當前圖像區域的所有像素點劃分至2個像素組,每個像素組的尺寸是4*1;在該情況下,第二劃分數量是2,第二濾波區域是當前圖像區域的全部區域,第二尺寸規格是4*1。或者,可以將當前圖像區域的所有像素點劃分至4個像素組,每個像素組的尺寸是2*1;在該情況下,第二劃分數量是4,第二濾波區域是當前圖像區域的全部區域,第二尺寸規格是2*1。或者,可以將當前圖像區域的所有像素點劃分至1個像素組,每個像素組的尺寸是8*1;在該情況下,第二劃分數量是1,第二濾波區域是當前圖像區域的全部區域,第二尺寸規格是8*1。當然,上述只是非水平預測模式下劃分的幾個示例,對此不做限制。
在實際應用中,在當前圖像區的尺寸是其它尺寸時,如16*4的圖像塊、8*4的圖像塊、16*8的圖像塊等,其劃分方式與上述方式類似,本實施例中不再重複贅述。
實施例11:針對實施例1至實施例8,對於編碼端和解碼端來說,當前圖像區域可以對應多個像素組,例如,將當前圖像區域的所有像素點劃分至多個像素組,即對所有像素點進行分類。本實施例中,可以採用如下方式確定當前圖像區域對應的多個像素組:採用預設策略確定當前圖像區域對應的多個像素組。比如說,可以採用預設策略確定像素組的劃分屬性,並基於該劃分屬性確定當前圖像區域對應的多個像素組。示例性的,該劃分屬性可以包括劃分數量、濾波區域和劃分方式中的至少一種,若該劃分屬性包括劃分數量、濾波區域和劃分方式,則確定像素組的劃分數量、濾波區域和劃分方式,並基於劃分數量、濾波區域和劃分方式確定當前圖像區域對應的多個像素組。若該劃分屬性包括劃分數量和劃分方式,則確定像素組的劃分數量和劃分方式,並基於劃分數量和劃分方式確定當前圖像區域對應的多個像素組。其中,劃分數量用於表示將當前圖像區域劃分為多少個像素組,濾波區域用於表示將當前圖像區域的哪部分區域劃分為多個像素組,劃分方式用於表示每個像素組的尺寸規格。
在上述方式中,劃分數量、濾波區域和劃分方式均可以基於預設策略指定,如指定劃分數量是第一劃分數量,濾波區域是第一濾波區域,劃分方式是第一尺寸規格,又例如,指定劃分數量是第二劃分數量,濾波區域是第二濾波區域,劃分方式是第二尺寸規格。
其中,劃分數量可以根據經驗配置,如可以是2個、4個、6個、8個、16個等,對此不做限制。濾波區域可以是當前圖像區域的全部區域,也可以是當前圖像區域的部分區域,對此不做限制。劃分方式對應的尺寸規格可以根據經驗配置,尺寸規格可以包括寬度和高度,寬度可以是2、4、6、8、12、16等,對此不做限制,高度可以是1、2、4、6、8、12、16等,對此不做限制。
比如說,若當前圖像區域是16*2的圖像塊,則可以將當前圖像區域的所有像素點劃分至4個像素組,每個像素組的尺寸是8*1。或者,可以將當前圖像區域的所有像素點劃分至2個像素組,每個像素組的尺寸是16*1。或者,可以將當前圖像區域的所有像素點劃分至4個像素組,每個像素組的尺寸是4*2。或者,可以將當前圖像區域的所有像素點劃分至8個像素組,每個像素組的尺寸是2*2。當然,上述只是幾個示例,對此不做限制。
又例如,若當前圖像區域是8*2的圖像塊,則可以將當前圖像區域的所有像素點劃分至2個像素組,每個像素組的尺寸是4*2。或者,可以將當前圖像區域的所有像素點劃分至2個像素組,每個像素組的尺寸是8*1。或者,可以將當前圖像區域的所有像素點劃分至1個像素組,每個像素組的尺寸是8*2。或者,可以將當前圖像區域的所有像素點劃分至4個像素組,每個像素組的尺寸是2*2。當然,上述只是幾個示例,對此不做限制。
又例如,若當前圖像區域是16*1的圖像塊,則可以將當前圖像區域的所有像素點劃分至2個像素組,每個像素組的尺寸是8*1。或者,可以將當前圖像區域的所有像素點劃分至4個像素組,每個像素組的尺寸是4*1。或者,可以將當前圖像區域的所有像素點劃分至1個像素組,每個像素組的尺寸是16*1。或者,可以將當前圖像區域的所有像素點劃分至8個像素組,每個像素組的尺寸是2*1。當然,上述只是幾個示例,對此不做限制。
又例如,若當前圖像區域是8*1的圖像塊,則可以將當前圖像區域的所有像素點劃分至2個像素組,每個像素組的尺寸是4*1。或者,可以將當前圖像區域的所有像素點劃分至4個像素組,每個像素組的尺寸是2*1。或者,可以將當前圖像區域的所有像素點劃分至1個像素組,每個像素組的尺寸是8*1。當然,上述只是幾個示例,對此不做限制。
在實際應用中,在當前圖像區的尺寸是其它尺寸時,如16*4的圖像塊、8*4的圖像塊、16*8的圖像塊等,其劃分方式與上述方式類似,本實施例中不再重複贅述。
實施例12:針對實施例1至實施例8,對於編碼端和解碼端來說,當前圖像區域可以對應多個像素組,例如,將當前圖像區域的所有像素點劃分至多個像素組,即對所有像素點進行分類。本實施例中,可以採用如下方式確定當前圖像區域對應的多個像素組:根據當前圖像區域的掃描順序確定當前圖像區域對應的多個像素組,也就是說,像素組的劃分可以與當前圖像區域的掃描順序有關。該方式可以理解為:利用當前圖像區域的掃描順序,將當前圖像區域的所有像素點重新排列成一維,然後再將當前圖像區域切分成像素組。
其中,針對當前圖像區域的掃描順序,在編碼端,可以理解成殘差係數編入碼流的順序。因此,在根據當前圖像區域的掃描順序確定當前圖像區域對應的多個像素組時,多個像素組的順序就與殘差係數編入碼流的順序一致,在對像素組內每個像素點的重建值進行調整時,就可以減少等待時間,從而能夠提高編碼端的硬體處理性能。在解碼端,可以理解成從碼流中解析殘差係數的順序,因此,在根據當前圖像區域的掃描順序確定當前圖像區域對應的多個像素組時,多個像素組的順序就與殘差係數的解析順序一致,在對像素組內每個像素點的重建值進行調整時,就可以減少等待時間,從而能夠提高解碼端的硬體處理性能。
示例性的,當前圖像區域的掃描順序可以是光柵掃描順序,如針對當前圖像區域的子塊的光柵掃描順序和針對當前圖像區域的光柵掃描順序。以當前圖像區域是16*2的圖像塊為例,參見圖6A所示,是針對當前圖像區域的子塊的光柵掃描順序,在實際應用中,可以將16*2的圖像塊劃分為4個4*2的子塊,當然,也可以將16*2的圖像塊劃分為2個8*2的子塊,也可以劃分為其它尺寸的子塊,對此不做限制。針對4個4*2的子塊,參照圖6A所示的光柵掃描順序,可以將當前圖像區域劃分為4個4*2的像素組。顯然,光柵掃描順序是先掃描第1個子塊的各像素點,然後掃描第2個子塊的各像素點,然後掃描第3個子塊的各像素點,然後掃描第4個子塊的各像素點。因此,參見圖6B所示,可以將第1個子塊的各像素點劃分到第1個像素組,將第2個子塊的各像素點劃分到第2個像素組,將第3個子塊的各像素點劃分到第3個像素組,將第4個子塊的各像素點劃分到第4個像素組。同理,參見圖6D所示,針對圖6C所示的光柵掃描順序,可以將當前圖像區域劃分為2個8*2的像素組。
參見圖6E所示,是針對當前圖像區域(即當前圖像區域的整體)的光柵掃描順序,可以將當前圖像區域劃分為4個8*1的像素組,參見圖6F所示;也可以將當前圖像區域劃分為2個16*1的像素組,參見圖6G所示。圖6E中的光柵掃描順序是先掃描第一行的16個像素點,然後掃描第2行的16個像素點,因此,可以採用圖6F或者圖6G的劃分方式。
示例性的,當前圖像區域的掃描順序可以是隔行掃描方式,以當前圖像區域是16*2的圖像塊為例,參見圖6H所示,是針對當前圖像區域的掃描順序,即先掃描第1行的第1個像素點,然後掃描第2行的第1個像素點,然後掃描第1行的第3個像素點,以此類推。針對圖6H所示的掃描順序,可以將當前圖像區域劃分為4個4*2的像素組,參見圖6I所示,或者,將當前圖像區域劃分為2個8*2的像素組,參見圖6J所示。
參見圖6I所示,可以將第1、3、5、7列的像素點組成一個像素組,將2、4、6、8列的像素點組成一個像素組,將第9、11、13、15列的像素點組成一個像素組,將10、12、14、16列的像素點組成一個像素組。參見圖6H所示,可以將第1、3、5、7、9、11、13、15列的像素點組成一個像素組,將2、4、6、8、10、12、14、16列的像素點組成一個像素組。
實施例13:針對實施例1至實施例12,對於編碼端和解碼端來說,可以基於調整值對像素點的重建值進行調整。關於調整值的取值範圍,可以是[-7,7],當然,[-7,7]的取值範圍只是示例,對此不做限制,如調整值的取值範圍可以是[-4,4]、[-5,5]、[-6,6]、[-8,8],調整值的取值範圍還可以是[-4,6]、[-6,5]、[-6,8]、[-8,4],顯然,調整值的取值範圍可以任意設置。
在一種可能的實施方式中,關於[-7,7]的取值範圍的二值化取值,可以參見表1所示。 表1
調整值 碼字 碼長
-7 11000001 8
-6 11000011 8
-5 1100111 7
-4 110001 6
-3 11010 5
-2 000 3
-1 01 2
0 111 3
1 10 2
2 001 3
3 11011 5
4 110010 6
5 1100110 7
6 11000010 8
7 11000000 8
在一種可能的實施方式中,調整值的取值範圍還可以基於量化步長確定,也就是說,調整值的取值範圍可以與量化步長有關。比如說,在量化步長為8時,最大的量化誤差為4,那麼,調整值的取值範圍可以是[-4,4],在該情況下,小於-4或者大於4的調整值是不會出現的。顯然,如表2所示,可以對表1所示的二值化進行調整。當然,在實際應用中,針對不同的量化步長,可以配置不同的調整值的取值範圍,對此取值範圍不做限制。又例如,在量化步長為10時,調整值的取值範圍可以是[-5,5]等,以此類推。 表2
調整值 碼字 碼長
-4 11000 5
-3 11010 5
-2 000 3
-1 01 2
0 111 3
1 10 2
2 001 3
3 11011 5
4 11001 5
在另一種可能的實施方式中,不同量化步長可以對應不同的調整值的取值範圍,且調整值的取值範圍內的數值數量相同,只是相鄰兩個數值之間可以間隔數值。比如說,量化步長A對應的取值範圍是[-3,3],一共存在7個數值,如-3、-2、-1、0、1、2、3,而量化步長B(量化步長B可以大於量化步長A)對應的取值範圍是[-6,6],但是只存在7個數值,如-6、-4、-2、0、2、4、6,量化步長C(量化步長C可以大於量化步長B)對應的取值範圍是[-9,9],但是只存在7個數值,如-9、-6、-3、0、3、6、9,以此類推。
實施例14:出於硬體限制的考慮,在一種可能的實施方式中,當前圖像區域的濾波後的重建值,不能用於同行的其它圖像塊的參考,只能用於下一行的其它圖像塊的參考。對於當前圖像區域同行的其它圖像塊,僅能參考當前圖像區域的濾波前的重建值。
實施例15:針對實施例1至實施例13,編碼端向解碼端發送的碼流中需要攜帶以下內容:
1、調整參數。該調整參數可以包括多個調整值,比如說,針對每個通道,該調整參數可以包括該通道的一個調整值,也可以包括該通道的至少兩個調整值,為了方便描述,以一個通道為例。示例性的,當前圖像區域可以對應多個像素組,當前圖像區域對應的碼流中只包括K個像素組對應的調整值,且K個像素組是多個像素組中的部分像素組或者全部像素組。
其中,假設當前圖像區域對應的碼流中包括K個像素組對應的M個調整值,則M可以為正整數,M可以小於或者等於K,也就是說,M大於等於1,且小於等於K。
比如說,若K個像素組對應同一個調整值,如調整值A,則當前圖像區域對應的碼流中可以只包括1個調整值,即調整值A,因此,M個調整值就是1個調整值。
若K個像素組對應兩個調整值,如像素組1和像素組2對應調整值A,像素組3和像素組4對應調整值B,則當前圖像區域對應的碼流中可以包括2個調整值,即調整值A和調整值B,因此,M個調整值就是2個調整值。或者,當前圖像區域對應的碼流中可以包括4個調整值,即像素組1對應的調整值A、像素組2對應的調整值A、像素組3對應的調整值B和像素組4對應的調整值B,因此,M個調整值就是4個調整值。
若K個像素組對應K個調整值,如像素組1對應調整值A,像素組2對應調整值B,像素組3對應調整值C,像素組4對應調整值D,則當前圖像區域對應的碼流中可以包括4個調整值,即調整值A、調整值B、調整值C和調整值D,因此,M個調整值就是4個調整值。
2、像素組指示資訊。在當前圖像區域對應多個像素組(如32個像素組)時,像素組指示資訊可用於指示全部像素組中的K個像素組,表示碼流中攜帶的是這K個像素組對應的調整值。顯然,若K個像素組就是全部像素組,那麼,碼流中就不需要攜帶像素組指示資訊,解碼端可以獲知K個像素組就是全部像素組(如32個像素組)。若K個像素組是全部像素組中的部分像素組,則解碼端需要獲知K個像素組是哪些像素組,此時,可以採用如下方式:
顯示方式:編碼端向解碼端發送當前圖像區域對應的碼流時,當前圖像區域對應的碼流中攜帶像素組指示資訊,表示碼流中攜帶的是該像素組指示資訊對應的像素組的調整值。解碼端可以從當前圖像區域對應的碼流中解析K個像素組對應的像素組指示資訊,獲知碼流中攜帶的調整參數是該像素組指示資訊對應的K個像素組的調整值。
比如說,像素組指示資訊包括K個像素組的索引值,這些索引值表示像素組是所有像素組中的第幾個像素組,以K個像素組包括像素組1、像素組2、像素組3和像素組4為例,則像素組指示資訊可以包括像素組1的索引值、像素組2的索引值、像素組3的索引值和像素組4的索引值。
又例如,假設K個像素組是連續像素組,該像素組指示資訊可以包括K個像素組中部分像素組的索引值,剩餘像素組的索引值可以隱式推導出。以K個像素組包括像素組1、像素組2、像素組3和像素組4為例,則像素組指示資訊可以只包括像素組1的索引值,由於K個像素組是連續像素組,因此,可以隱式推導出像素組2的索引值、像素組3的索引值和像素組4的索引值。
隱式方式:若K個像素組是所有像素組中的部分像素組,且K個像素組是處於預設位置的K個像素組,如K個像素組固定為前面4個像素組,或K個像素組固定為第1、3、5、7個像素組,或K個像素組固定為後面4個像素組,那麼,編碼端可以不在當前圖像區域對應的碼流中編碼K個像素組對應的像素組指示資訊,解碼端也不需要從當前圖像區域對應的碼流中解析K個像素組對應的像素組指示資訊。在此基礎上,解碼端可以獲知碼流中攜帶的調整參數是預設位置的K個像素組的調整值,例如,調整參數是前面4個像素組的調整值,或調整參數是第1、3、5、7個像素組的調整值,或調整參數是後面4個像素組的調整值。
3、調整值分組指示資訊。在當前圖像區域對應的碼流中攜帶K個像素組對應的M個調整值時,調整值分組指示資訊用於指示M個調整值與K個像素組之間的匹配關係。
在一種可能的實施方式中,若M個調整值只是1個調整值或者K個調整值,則調整值分組指示資訊可以是一種標記位,即調整值分組指示資訊只有第四取值和第五取值。在該情況下,若K個像素組對應同一個調整值,如K個像素組均對應調整值A,那麼,調整值分組指示資訊可以是第四取值,通過第四取值表示K個像素組對應同一個調整值。解碼端從碼流中解析出調整值分組指示資訊之後,若獲知調整值分組指示資訊為第四取值,就可以只從碼流中解析出一個調整值(如調整值A),並將這個調整值作為K個像素組對應的調整值。
若K個像素組對應K個調整值,如K個像素組依次對應調整值A、調整值B、調整值C和調整值D(或者依次對應調整值A、調整值A、調整值B和調整值B),那麼,調整值分組指示資訊可以是第五取值,通過第五取值表示K個像素組對應K個調整值。解碼端從碼流中解析出調整值分組指示資訊之後,若獲知調整值分組指示資訊為第五取值,就需要從碼流中解析出K個調整值,如依次解析出調整值A、調整值B、調整值C和調整值D(或者依次解析出調整值A、調整值A、調整值B和調整值B)。此時,第一個解析出的調整值A與第一個像素組(例如像素組1)對應,第二個解析出的調整值B與第二個像素組(例如像素組2)對應,第三個解析出的調整值C與第三個像素組(例如像素組3)對應,第四個解析出的調整值D與第四個像素組(例如像素組4)對應。
示例性的,可以通過表3所示的語法表,表示上述實現過程。 表3
濾波補償定義 描述符
filter_flag u(1)
if (FilterFlag) {
same_offset_flag u(1)
       if (SameOffsetFlag) {
filter_offset u(v)
    } else {
        for (index=0;index<4;index++) {
filter_offset [index] u(v)
        }
    }
}
在上述語法表中,same_offset_flag表示調整值分組指示資訊,若same_offset_flag的取值是第四取值(如1),則解碼端需要從碼流中解析出一個調整值,若same_offset_flag的取值是第五取值(如0),則解碼端需要依次從碼流中解析出K個調整值。
針對表3所示的語法表,same_offset_flag是一個決策是否是統一補償值的標記位,若same_offset_flag為第四取值,則表示統一補償值,即判定K個像素組對應同一個調整值(本文的調整值也可以稱為補償值),此時,只需要解析一個調整值,若same_offset_flag為第五取值,則表示非統一補償值,即判定K個像素組對應K個調整值,此時,需要解析K個調整值。
在另一種可能的實施方式中,若M個調整值可能是1個調整值、2個調整值、…、K個調整值,則調整值分組指示資訊可以是多種取值。
在該情況下,若K個像素組對應同一個調整值,那麼,調整值分組指示資訊可以是第四取值,通過第四取值表示K個像素組對應同一個調整值。在此基礎上,解碼端獲知調整值分組指示資訊是第四取值後,可以獲知K個像素組對應同一個調整值。
若K個像素組對應兩個調整值,如第一個像素組和第二個像素組對應一個調整值,第三個像素組和第四個像素組對應另一個調整值。那麼,調整值分組指示資訊可以是第五取值,通過第五取值表示第一個像素組和第二個像素組對應一個調整值,第三個像素組和第四個像素組對應另一個調整值。在此基礎上,解碼端獲知調整值分組指示資訊是第五取值後,確定第一個像素組和第二個像素組對應一個調整值,第三個像素組和第四個像素組對應另一個調整值。
若K個像素組對應兩個調整值,如第一個像素組和第四個像素組對應一個調整值,第二個像素組和第三個像素組對應另一個調整值,那麼,調整值分組指示資訊可以是第三取值。在此基礎上,解碼端獲知調整值分組指示資訊是第三取值後,確定第一個像素組和第四個像素組對應一個調整值,第二個像素組和第三個像素組對應另一個調整值。
以此類推,調整值分組指示資訊的每種取值,就對應一種映射關係,該映射關係可以表示M個調整值與K個像素組之間的匹配關係,關於調整值分組指示資訊的取值和映射關係之間的對應關係,可以在編碼端和解碼端約定,對此不做限制。
綜上所述,調整值分組指示資訊用於指示M個調整值與K個像素組之間的匹配關係。並且,解碼端從碼流中解析出調整值分組指示資訊之後,就可以基於調整值分組指示資訊從當前圖像區域對應的碼流中解析M個調整值,並基於M個調整值確定K個像素組對應的調整值,即基於M個調整值與K個像素組之間的匹配關係,確定K個像素組對應的調整值。
示例性的,上述各實施例可以單獨實現,也可以組合實現,比如說,實施例1至實施例15中的每個實施例,可以單獨實現,實施例1至實施例15中的至少兩個實施例,可以組合實現。
示例性的,上述各實施例中,編碼端的內容也可以應用到解碼端,即解碼端可以採用相同方式處理,解碼端的內容也可以應用到編碼端,即編碼端可以採用相同方式處理。
實施例16:基於與上述方法同樣的申請構思,本申請實施例中還提出一種解碼裝置,所述解碼裝置應用於解碼端,所述解碼裝置包括:記憶體,其經配置以儲存視頻資料;解碼器,其經配置以實現上述實施例1至實施例15中的解碼方法,即解碼端的處理流程。
比如說,在一種可能的實施方式中,解碼器,其經配置以實現:
基於當前圖像區域對應的特徵資訊確定是否需要對當前圖像區域進行重建值調整;
若確定需要對所述當前圖像區域進行重建值調整,則從所述當前圖像區域對應的碼流中獲取所述當前圖像區域對應的調整參數;
基於所述調整參數對所述當前圖像區域的重建值進行調整。
基於與上述方法同樣的申請構思,本申請實施例中還提出一種編碼裝置,所述編碼裝置應用於編碼端,所述編碼裝置包括:記憶體,其經配置以儲存視頻資料;編碼器,其經配置以實現上述實施例1至實施例15中的編碼方法,即編碼端的處理流程。
比如說,在一種可能的實施方式中,編碼器,其經配置以實現:
基於當前圖像區域對應的特徵資訊確定是否需要對當前圖像區域進行重建值調整;
若確定需要對所述當前圖像區域進行重建值調整,則獲取所述當前圖像區域對應的調整參數,所述調整參數用於對所述當前圖像區域的重建值進行調整;
在所述當前圖像區域對應的碼流中編碼所述當前圖像區域對應的調整參數。
基於與上述方法同樣的申請構思,本申請實施例提供的解碼端設備(也可以稱為視頻解碼器),從硬體層面而言,其硬體架構示意圖具體可以參見圖7A所示。包括:處理器711和機器可讀存儲介質712,機器可讀存儲介質712儲存有能夠被處理器711執行的機器可執行指令;處理器711用於執行機器可執行指令,以實現本申請上述實施例1至15的解碼方法。
基於與上述方法同樣的申請構思,本申請實施例提供的編碼端設備(也可以稱為視訊轉碼器),從硬體層面而言,其硬體架構示意圖具體可以參見圖7B所示。包括:處理器721和機器可讀存儲介質722,機器可讀存儲介質722儲存有能夠被處理器721執行的機器可執行指令;處理器721用於執行機器可執行指令,以實現本申請上述實施例1至15的編碼方法。
基於與上述方法同樣的申請構思,本申請實施例還提供一種機器可讀存儲介質,所述機器可讀存儲介質上儲存有若干電腦指令,所述電腦指令被處理器執行時,能夠實現本申請上述示例公開的方法,如上述各實施例中的解碼方法或者編碼方法。
基於與上述方法同樣的申請構思,本申請實施例還提供一種電腦應用程式,所述電腦應用程式令被處理器執行時,能夠實現本申請上述示例公開的解碼方法或者編碼方法。
基於與上述方法同樣的申請構思,本申請實施例中還提出一種解碼裝置,所述解碼裝置應用於解碼端,所述解碼裝置包括:確定模組,用於基於當前圖像區域對應的特徵資訊確定是否需要對當前圖像區域進行重建值調整;獲取模組,用於若確定需要對所述當前圖像區域進行重建值調整,則從所述當前圖像區域對應的碼流中獲取所述當前圖像區域對應的調整參數;調整模組,用於基於所述調整參數對所述當前圖像區域的重建值進行調整。
示例性的,所述特徵資訊包括第一類特徵資訊,所述確定模組基於當前圖像區域對應的特徵資訊確定是否需要對當前圖像區域進行重建值調整時具體用於:若所述當前圖像區域對應的第一類特徵資訊滿足第一特定條件,則從所述當前圖像區域對應的碼流中獲取調整控制開關對應的標記位,基於所述標記位確定是否需要對所述當前圖像區域進行重建值調整;其中,若所述標記位為第一取值,確定需要對所述當前圖像區域進行重建值調整;若所述標記位為第二取值,確定不需要對所述當前圖像區域進行重建值調整。
示例性的,所述確定模組基於當前圖像區域對應的特徵資訊確定是否需要對當前圖像區域進行重建值調整時具體用於:若所述當前圖像區域對應的第一類特徵資訊不滿足第一特定條件,則確定不需要對所述當前圖像區域進行重建值調整。
示例性的,所述特徵資訊包括第二類特徵資訊,所述確定模組基於當前圖像區域對應的特徵資訊確定是否需要對當前圖像區域進行重建值調整時具體用於:若所述當前圖像區域對應的第二類特徵資訊滿足第二特定條件,則確定需要對所述當前圖像區域進行重建值調整;若所述當前圖像區域對應的第二類特徵資訊不滿足第二特定條件,則確定不需要對所述當前圖像區域進行重建值調整。
示例性的,所述當前圖像區域對應的調整參數包括多個調整值,所述當前圖像區域對應多個像素組,所述多個調整值包括K個像素組對應的調整值,K個像素組是所述多個像素組中的全部像素組或部分像素組;所述調整模組基於所述調整參數對所述當前圖像區域的重建值進行調整時具體用於:針對K個像素組中的每個像素組,若所述多個調整值包括該像素組對應的調整值,則基於該像素組對應的調整值對該像素組內的像素點的重建值進行調整。
示例性的,所述獲取模組,還用於從所述當前圖像區域對應的碼流中獲取調整值分組指示資訊;所述調整值分組指示資訊用於指示調整值與所述K個像素組之間的映射關係;基於所述調整值分組指示資訊從所述當前圖像區域對應的碼流中解析M個調整值,所述M為正整數,且所述M小於或者等於K;基於所述M個調整值確定所述K個像素組對應的調整值。
示例性的,所述確定模組,還用於採用確定方式確定當前圖像區域對應多個像素組:按照各像素點的調整前重建值確定所述當前圖像區域對應的多個像素組;或者,基於像素點的周圍像素點的調整前重建值確定該像素點的分類值,按照各像素點的分類值確定所述當前圖像區域對應的多個像素組;或者,按照各像素點的像素位置確定所述當前圖像區域對應的多個像素組;或者,根據當前圖像區域的預測模式確定所述當前圖像區域對應的多個像素組;或者,根據當前圖像區域的掃描順序確定所述當前圖像區域對應的多個像素組。
示例性的,所述確定模組根據當前圖像區域的預測模式確定所述當前圖像區域對應的多個像素組時具體用於:根據所述當前圖像區域的預測模式確定像素組的劃分數量、濾波區域和劃分方式;基於所述劃分數量、所述濾波區域和所述劃分方式確定所述當前圖像區域對應的多個像素組。所述確定模組根據所述當前圖像區域的預測模式確定像素組的劃分數量、濾波區域和劃分方式時具體用於:若所述當前圖像區域的預測模式是水平預測模式,則確定像素組的劃分數量是第一劃分數量,確定像素組的濾波區域是第一濾波區域,確定劃分方式是第一尺寸規格;若所述當前圖像區域的預測模式不是水平預測模式,則確定像素組的劃分數量是第二劃分數量,確定像素組的濾波區域是第二濾波區域,確定劃分方式是第二尺寸規格。
基於與上述方法同樣的申請構思,本申請實施例中還提出一種編碼裝置,所述編碼裝置應用於編碼端,所述編碼裝置包括:確定模組,用於基於當前圖像區域對應的特徵資訊確定是否需要對當前圖像區域進行重建值調整;獲取模組,用於若確定需要對所述當前圖像區域進行重建值調整,則獲取所述當前圖像區域對應的調整參數,所述調整參數用於對所述當前圖像區域的重建值進行調整;編碼模組,用於在所述當前圖像區域對應的碼流中編碼所述當前圖像區域對應的調整參數。
示例性的,所述特徵資訊包括第一類特徵資訊,所述確定模組基於當前圖像區域對應的特徵資訊確定是否需要對當前圖像區域進行重建值調整時具體用於:若當前圖像區域對應的第一類特徵資訊滿足第一特定條件,則確定是否需要對所述當前圖像區域進行重建值調整,並在所述當前圖像區域對應的碼流中編碼調整控制開關對應的標記位;其中,所述標記位用於指示是否需要對所述當前圖像區域進行重建值調整;若當前圖像區域對應的第一類特徵資訊不滿足第一特定條件,則確定不需要對所述當前圖像區域進行重建值調整。
示例性的,所述當前圖像區域對應多個像素組,所述當前圖像區域對應的調整參數包括多個調整值,所述多個調整值包括K個像素組對應的調整值,所述K個像素組是所述多個像素組中的全部像素組或部分像素組;所述編碼模組在所述當前圖像區域對應的碼流中編碼所述當前圖像區域對應的調整參數時具體用於:在所述當前圖像區域對應的碼流中編碼所述K個像素組對應的M個調整值,M為正整數,且M小於或等於K;其中,所述M個調整值是基於所述K個像素組對應的調整值確定;所述編碼模組,還用於在所述當前圖像區域對應的碼流中編碼調整值分組指示資訊,所述調整值分組指示資訊用於指示所述M個調整值與所述K個像素組之間的匹配關係。
示例性的,所述確定模組,還用於採用如下方式確定所述當前圖像區域對應多個像素組:按照各像素點的調整前重建值確定所述當前圖像區域對應的多個像素組;或者,基於像素點的周圍像素點的調整前重建值確定該像素點的分類值,按照各像素點的分類值確定所述當前圖像區域對應的多個像素組;或者,按照各像素點的像素位置確定所述當前圖像區域對應的多個像素組;或者,根據當前圖像區域的預測模式確定所述當前圖像區域對應的多個像素組;或者,根據當前圖像區域的掃描順序確定所述當前圖像區域對應的多個像素組。
示例性的,所述確定模組根據當前圖像區域的預測模式確定所述當前圖像區域對應的多個像素組時具體用於:根據所述當前圖像區域的預測模式確定像素組的劃分數量、濾波區域和劃分方式;基於所述劃分數量、所述濾波區域和所述劃分方式確定所述當前圖像區域對應的多個像素組。所述確定模組根據所述當前圖像區域的預測模式確定像素組的劃分數量、濾波區域和劃分方式時具體用於:若所述當前圖像區域的預測模式是水平預測模式,則確定像素組的劃分數量是第一劃分數量,確定像素組的濾波區域是第一濾波區域,確定劃分方式是第一尺寸規格;若所述當前圖像區域的預測模式不是水平預測模式,則確定像素組的劃分數量是第二劃分數量,確定像素組的濾波區域是第二濾波區域,確定劃分方式是第二尺寸規格。
本領域內的技術人員應明白,本申請實施例可提供為方法、系統、或電腦程式產品。本申請可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。本申請實施例可採用在一個或多個其中包含有電腦可用程式碼的電腦可用存儲介質(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
以上所述僅為本申請的實施例而已,並不用於限制本申請。對於本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本申請的請求項範圍之內。
①、②、③、④、⑤:過程 301、302、303、401、402、403:步驟 711、721:處理器 712、722:機器可讀存儲介質
圖1A至圖1C是幀內預測模式的工作原理示意圖; 圖2A至圖2D是淺編碼的視頻編碼框架的示意圖; 圖3是本申請一種實施方式中的編碼方法的流程圖; 圖4是本申請一種實施方式中的解碼方法的流程圖; 圖5A至圖5D是本申請一種實施方式中的圖像塊的劃分示意圖; 圖6A至圖6J是本申請一種實施方式中的圖像塊的劃分示意圖; 圖7A是本申請一種實施方式中的解碼端設備的硬體結構圖; 圖7B是本申請一種實施方式中的編碼端設備的硬體結構圖。
401、402、403:步驟

Claims (23)

  1. 一種解碼方法,應用於解碼端,所述方法包括:基於當前圖像區域對應的特徵資訊確定是否需要對所述當前圖像區域進行重建值調整;若確定需要對所述當前圖像區域進行所述重建值調整,則從所述當前圖像區域對應的碼流中獲取所述當前圖像區域對應的調整參數;基於所述調整參數對所述當前圖像區域的重建值進行調整;其中所述當前圖像區域對應的調整參數包括多個調整值,所述當前圖像區域對應多個像素組,所述多個調整值包括K個像素組對應的調整值,所述K個像素組是所述多個像素組中的全部像素組或部分像素組。
  2. 如請求項1所述的方法,其中所述特徵資訊包括第一類特徵資訊,所述基於當前圖像區域對應的特徵資訊確定是否需要對所述當前圖像區域進行所述重建值調整,包括:若所述當前圖像區域對應的所述第一類特徵資訊滿足第一特定條件,則從所述當前圖像區域對應的碼流中獲取調整控制開關對應的標記位,基於所述標記位確定是否需要對所述當前圖像區域進行重建值調整;其中,若所述標記位為第一取值,確定需要對所述當前圖像區域進行所述重建值調整;若所述標記位為第二取值,確定不需要對所述當前圖像區域進行所述重建值調整。
  3. 如請求項2所述的方法,其中所述基於當前圖像區域對應的特徵資訊確定是否需要對所述當前圖像區域進行所述重建值調整,包括: 若所述當前圖像區域對應的所述第一類特徵資訊不滿足所述第一特定條件,則確定不需要對所述當前圖像區域進行所述重建值調整。
  4. 如請求項2或3所述的方法,其中所述第一類特徵資訊包括以下至少一種:預測模式,碼流緩衝區內的資料量,量化步長;其中,若所述第一類特徵資訊包括所述預測模式,在所述預測模式是指定預測模式時,確定所述預測模式滿足所述第一特定條件,否則,確定所述預測模式不滿足所述第一特定條件。
  5. 如請求項4所述的方法,其中所述指定預測模式是普通幀內預測模式。
  6. 如請求項1所述的方法,所述基於所述調整參數對所述當前圖像區域的重建值進行調整,包括:針對所述K個像素組中的每個像素組,若所述多個調整值包括該像素組對應的調整值,則基於該像素組對應的調整值對該像素組內的像素點的所述重建值進行調整,其中,K為大於或等於1的整數。
  7. 如請求項6所述的方法,其中若所述K個像素組是所述多個像素組中的部分像素組,所述方法還包括:從所述當前圖像區域對應的所述碼流中獲取所述K個像素組對應的像素組指示資訊;基於所述像素組指示資訊從所有像素組中選取所述K個像素組; 其中,所述像素組指示資訊用於區分所有類別的像素組中的目標類別的像素組。
  8. 如請求項6所述的方法,其中所述當前圖像區域對應多個像素組包括:按照所述當前圖像區域的各所述像素點的像素位置確定所述當前圖像區域對應的所述多個像素組;或者,根據所述當前圖像區域的預測模式確定所述當前圖像區域對應的所述多個像素組。
  9. 如請求項8所述的方法,其中所述根據所述當前圖像區域的預測模式確定所述當前圖像區域對應的所述多個像素組,包括:根據所述當前圖像區域的所述預測模式確定像素組的劃分數量、濾波區域和劃分方式;基於所述劃分數量、所述濾波區域和所述劃分方式確定所述當前圖像區域對應的所述多個像素組。
  10. 如請求項9所述的方法,其中所述根據所述當前圖像區域的所述預測模式確定像素組的劃分數量、濾波區域和劃分方式,包括:若所述當前圖像區域的所述預測模式是水平預測模式,則確定所述像素組的所述劃分數量是第一劃分數量,確定所述像素組的所述濾波區域是第一濾波區域,確定所述劃分方式是第一尺寸規格;若所述當前圖像區域的所述預測模式不是所述水平預測模式,則確定所述像素組的所述劃分數量是第二劃分數量,確定所述 像素組的所述濾波區域是第二濾波區域,確定所述劃分方式是第二尺寸規格。
  11. 如請求項8或9所述的方法,其中若所述當前圖像區域是16*2的圖像塊,所述根據所述當前圖像區域的預測模式確定所述當前圖像區域對應的所述多個像素組,包括:若所述當前圖像區域的所述預測模式是水平預測模式,則將所述當前圖像區域的所有所述像素點劃分至4個像素組,每個所述像素組的尺寸是8*1;若所述當前圖像區域的所述預測模式不是所述水平預測模式,則將所述當前圖像區域的所有所述像素點劃分至4個像素組,每個所述像素組的尺寸是4*2。
  12. 一種編碼方法,應用於編碼端,所述方法包括:基於當前圖像區域對應的特徵資訊確定是否需要對所述當前圖像區域進行重建值調整;若確定需要對所述當前圖像區域進行所述重建值調整,則獲取所述當前圖像區域對應的調整參數,所述調整參數用於對所述當前圖像區域的重建值進行調整;在所述當前圖像區域對應的碼流中編碼所述當前圖像區域對應的所述調整參數;其中所述當前圖像區域對應多個像素組,所述當前圖像區域對應的所述調整參數包括多個調整值,所述多個調整值包括K個像素組對應的調整值,所述K個像素組是所述多個像素組中的全部像素組或部分像素組。
  13. 如請求項12所述的方法,其中所述特徵資訊包括第一類特徵資訊,所述基於當前圖像區域對應的特徵資訊確定是否需要對所述當前圖像區域進行所述重建值調整,包括:若所述當前圖像區域對應的所述第一類特徵資訊滿足第一特定條件,則確定是否需要對所述當前圖像區域進行所述重建值調整,並在所述當前圖像區域對應的所述碼流中編碼調整控制開關對應的標記位,其中,所述標記位用於指示是否需要對所述當前圖像區域進行所述重建值調整;若所述當前圖像區域對應的所述第一類特徵資訊不滿足所述第一特定條件,則確定不需要對所述當前圖像區域進行所述重建值調整。
  14. 如請求項13所述的方法,其中所述第一類特徵資訊包括以下至少一種:預測模式,碼流緩衝區內的資料量,量化步長;其中,若所述第一類特徵資訊包括所述預測模式,在所述預測模式是指定預測模式時,確定所述預測模式滿足所述第一特定條件,否則,確定所述預測模式不滿足所述第一特定條件。
  15. 如請求項12所述的方法,其中所述當前圖像區域對應多個像素組包括:按照所述當前圖像區域的各所述像素點的像素位置確定所述當前圖像區域對應的所述多個像素組;或者,根據所述當前圖像區域的預測模式確定所述當前圖像區域對應的所述多個像素組。
  16. 如請求項15所述的方法,其中所述根據所述當前圖像區域的預測模式確定所述當前圖像區域對應的所述多個像素組,包括:根據所述當前圖像區域的所述預測模式確定像素組的劃分數量、濾波區域和劃分方式;基於所述劃分數量、所述濾波區域和所述劃分方式確定所述當前圖像區域對應的所述多個像素組。
  17. 如請求項16所述的方法,其中所述根據所述當前圖像區域的所述預測模式確定像素組的劃分數量、濾波區域和劃分方式,包括:若所述當前圖像區域的所述預測模式是水平預測模式,則確定所述像素組的所述劃分數量是第一劃分數量,確定所述像素組的所述濾波區域是第一濾波區域,確定所述劃分方式是第一尺寸規格;若所述當前圖像區域的所述預測模式不是所述水平預測模式,則確定所述像素組的所述劃分數量是第二劃分數量,確定所述像素組的所述濾波區域是第二濾波區域,確定所述劃分方式是第二尺寸規格。
  18. 一種解碼裝置,其中所述解碼裝置包括:記憶體,其經配置以儲存視頻資料;解碼器,其經配置以實現:基於當前圖像區域對應的特徵資訊確定是否需要對所述當前圖像區域進行重建值調整; 若確定需要對所述當前圖像區域進行所述重建值調整,則從所述當前圖像區域對應的碼流中獲取所述當前圖像區域對應的調整參數;基於所述調整參數對所述當前圖像區域的重建值進行調整;其中所述當前圖像區域對應的調整參數包括多個調整值,所述當前圖像區域對應多個像素組,所述多個調整值包括K個像素組對應的調整值,所述K個像素組是所述多個像素組中的全部像素組或部分像素組。
  19. 一種編碼裝置,其中所述編碼裝置包括:記憶體,其經配置以儲存視頻資料;編碼器,其經配置以實現:基於當前圖像區域對應的特徵資訊確定是否需要對所述當前圖像區域進行重建值調整;若確定需要對所述當前圖像區域進行所述重建值調整,則獲取所述當前圖像區域對應的調整參數,所述調整參數用於對所述當前圖像區域的重建值進行調整;在所述當前圖像區域對應的碼流中編碼所述當前圖像區域對應的所述調整參數;其中所述當前圖像區域對應多個像素組,所述當前圖像區域對應的所述調整參數包括多個調整值,所述多個調整值包括K個像素組對應的調整值,所述K個像素組是所述多個像素組中的全部像素組或部分像素組。
  20. 一種解碼端設備,包括:處理器和機器可讀存儲介質,所述機器可讀存儲介質儲存有能夠被所述處理器執行的機器可執行指令;所述處理器用於執行所述機器可執行指令,以實現請求項1至11任一項所述的方法。
  21. 一種編碼端設備,包括:處理器和機器可讀存儲介質,所述機器可讀存儲介質儲存有能夠被所述處理器執行的機器可執行指令;所述處理器用於執行所述機器可執行指令,以實現請求項12至17任一項所述的方法。
  22. 一種機器可讀存儲介質,其中所述機器可讀存儲介質上儲存有電腦指令,所述電腦指令被至少一個處理器執行時,實現請求項1至11任一項所述的方法。
  23. 一種機器可讀存儲介質,其中所述機器可讀存儲介質上儲存有電腦指令,所述電腦指令被至少一個處理器執行時,實現請求項12至17任一項所述的方法。
TW112115704A 2022-04-27 2023-04-27 一種解碼、編碼方法、裝置及其設備 TWI834547B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2022104580477 2022-04-27
CN202210458047.7A CN116095307B (zh) 2022-04-27 一种解码、编码方法、装置及其设备

Publications (2)

Publication Number Publication Date
TW202344046A TW202344046A (zh) 2023-11-01
TWI834547B true TWI834547B (zh) 2024-03-01

Family

ID=86208885

Family Applications (1)

Application Number Title Priority Date Filing Date
TW112115704A TWI834547B (zh) 2022-04-27 2023-04-27 一種解碼、編碼方法、裝置及其設備

Country Status (3)

Country Link
CN (1) CN116506619A (zh)
TW (1) TWI834547B (zh)
WO (1) WO2023208069A1 (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200314445A1 (en) * 2019-03-22 2020-10-01 Lg Electronics Inc. Dmvr and bdof based inter prediction method and apparatus thereof
US20200336749A1 (en) * 2019-04-19 2020-10-22 Tencent America LLC Method and apparatus for video coding

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8446949B2 (en) * 2008-06-23 2013-05-21 Sungkyunkwan University Foundation For Corporate Collaboration Distributed coded video decoding apparatus and method capable of successively improving side information on the basis of reliability of reconstructed data
CN102215389B (zh) * 2010-04-09 2013-04-17 华为技术有限公司 一种局部亮度补偿的视频编解码方法及装置
BR112014015171B1 (pt) * 2011-12-22 2020-10-06 Samsung Electronics Co., Ltd Aparelho de decodificação de vídeo
US10645393B2 (en) * 2015-05-12 2020-05-05 Samsung Electronics Co., Ltd. Image encoding method and device for sample value compensation and image decoding method and device for sample value compensation
KR20190115426A (ko) * 2018-04-02 2019-10-11 세종대학교산학협력단 영상 부호화/복호화 방법 및 장치
KR102675806B1 (ko) * 2019-05-03 2024-06-18 삼성전자주식회사 영상 처리 장치 및 그 영상 처리 방법
CN112449181B (zh) * 2019-09-05 2022-04-26 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
CN114079791A (zh) * 2020-08-21 2022-02-22 Oppo广东移动通信有限公司 编码方法、解码方法及相关装置
CN116527918A (zh) * 2022-01-19 2023-08-01 杭州海康威视数字技术股份有限公司 一种解码、编码方法、装置及其设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200314445A1 (en) * 2019-03-22 2020-10-01 Lg Electronics Inc. Dmvr and bdof based inter prediction method and apparatus thereof
US20200336749A1 (en) * 2019-04-19 2020-10-22 Tencent America LLC Method and apparatus for video coding
US20210281863A1 (en) * 2019-04-19 2021-09-09 Tencent America LLC Method and apparatus for video coding

Also Published As

Publication number Publication date
CN116095307A (zh) 2023-05-09
TW202344046A (zh) 2023-11-01
CN116506619A (zh) 2023-07-28
WO2023208069A1 (zh) 2023-11-02

Similar Documents

Publication Publication Date Title
KR20130058524A (ko) 색차 인트라 예측 블록 생성 방법
JP7124222B2 (ja) Vvcにおける色変換のための方法及び機器
TW201904300A (zh) 在計算設備中實現的方法
CN101984665A (zh) 一种视频传输质量评测的方法与系统
WO2019086033A1 (zh) 视频数据解码方法及装置
KR20210099148A (ko) 위치 의존적 예측 조합을 위한 모드 및 크기 의존적 블록 레벨 제한 방법 및 장치
KR20230062630A (ko) 비디오 코딩을 위한 잔차 및 계수 코딩
AU2022216205A1 (en) Residual and coefficients coding for video coding
AU2022204998B2 (en) Residual and coefficients coding for video coding
WO2022117036A1 (zh) 量化参数的解码方法和装置
WO2022166462A1 (zh) 编码、解码方法和相关设备
KR20230174267A (ko) 비디오 코딩을 위한 잔차 및 계수 코딩
WO2023272533A1 (zh) 编解码方法、编码器、解码器以及存储介质
WO2021164014A1 (zh) 视频编码方法及装置
WO2023138562A1 (zh) 图像解码方法、图像编码方法及相应的装置
TWI834547B (zh) 一種解碼、編碼方法、裝置及其設備
CN116527918A (zh) 一种解码、编码方法、装置及其设备
CN116647673A (zh) 一种视频编解码方法及装置
CN116095307B (zh) 一种解码、编码方法、装置及其设备
CN116095309B (zh) 一种解码、编码方法、装置及其设备
CN113766227B (zh) 用于图像编码和解码的量化和反量化方法及装置
TWI829424B (zh) 解碼方法、編碼方法及裝置
WO2024093994A1 (zh) 编解码方法和装置
WO2024188102A1 (zh) 编解码方法和装置
WO2020259330A1 (zh) 非可分离变换方法以及设备