TW202228439A - 基於機器學習的圖像編解碼中的色度子採樣格式處理方法 - Google Patents

基於機器學習的圖像編解碼中的色度子採樣格式處理方法 Download PDF

Info

Publication number
TW202228439A
TW202228439A TW110142948A TW110142948A TW202228439A TW 202228439 A TW202228439 A TW 202228439A TW 110142948 A TW110142948 A TW 110142948A TW 110142948 A TW110142948 A TW 110142948A TW 202228439 A TW202228439 A TW 202228439A
Authority
TW
Taiwan
Prior art keywords
component
chroma
image
luma
resolution
Prior art date
Application number
TW110142948A
Other languages
English (en)
Other versions
TWI807491B (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 TW202228439A publication Critical patent/TW202228439A/zh
Application granted granted Critical
Publication of TWI807491B publication Critical patent/TWI807491B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/186Methods 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 colour or a chrominance component

Landscapes

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

Abstract

本發明涉及圖像或視訊編碼和解碼。圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度。為了獲得所述亮度分量和所述色度分量的匹配解析度,在所述亮度分量的下採樣處理與所述色度分量的上採樣處理之間執行選擇;接著,將所選處理應用於所述圖像部分;然後,根據所選處理生成碼流,其中,所述生成包括對所述經處理的圖像部分進行編碼。在色度上採樣與亮度下採樣之間進行選擇能夠針對所需應用調整輸入圖像部分。例如,一些應用的目的可能是降低複雜度或碼率,在這種情況下,亮度下採樣可能更有利,而其它應用的目的可能是獲得高品質,在這種情況下,色度上採樣可能更有利。

Description

基於機器學習的圖像編解碼中的色度子採樣格式處理方法
本發明實施例大體上涉及圖像或視訊編碼和解碼領域,尤其涉及根據經訓練的網路在視訊編解碼中對具有子採樣色度的顏色格式進行處理。
視訊編解碼(視訊編碼和解碼)廣泛用於數位視訊應用,例如廣播數位電視、基於互聯網和移動網路的視訊傳輸、視訊聊天和視訊會議等即時會話應用、DVD和藍光光碟、視訊內容採集和編輯系統以及安全應用的可攜式攝像機。
即使視訊相對較短,也需要大量的視訊資料來描述,當資料要在頻寬容量有限的通信網路中資料流或以其它方式傳輸時,這樣可能會造成困難。因此,視訊資料通常要先壓縮,然後通過現代電信網路進行傳輸。由於記憶體資源可能有限,當在存放裝置上存儲視訊時,該視訊的大小也可能是一個問題。視訊壓縮設備通常在信源側使用軟體和/或硬體對視訊資料進行編碼,然後傳輸或存儲視訊資料,從而減少表示數位視訊圖像所需的資料量。然後,對視訊資料進行解碼的視訊解壓縮設備在目的地側接收壓縮資料。在網路資源有限以及對更高視訊品質的需求不斷增長的情況下,需要改進壓縮和解壓縮技術,這些改進的技術在幾乎不影響圖像品質的情況下能夠提高壓縮比。
最近,人們已經將機器學習(machine learning,ML)應用於圖像和視訊編碼。通常,機器學習可以通過各種不同的方式應用於圖像和視訊編碼。例如,人們已經討論了一些端到端優化的圖像或視訊編碼方案。更廣泛地說,機器學習是人工智慧的一個子集,在機器學習中,模型(通常是網路模型)是基於樣本資料(通常稱為訓練資料)構建的。在經過訓練之後,這類基於ML的方法會根據可能尚未用作訓練資料的輸入資料做出預測或決策。這表示在經過訓練之後,ML網路被訓練,稱為經訓練的網路。
存在大量基於ML方法的網路模型,包括支援向量機(support vector machine,SVM)、神經網路(neural network,NN)、人工神經網路(artificial neural network,ANN)、全連接神經網路(full connected neural network,FCN)、卷積神經網路(convolutional neural network,CNN)等,這裡只給出一些示例。這類網路通常有共同之處,即它們的網路結構需要多層(即至少一層)網路節點。因此,一層中的一些節點或所有節點可以連接到在這一層之前或之後的一層或多層中的一些節點或所有節點。 希望進一步提高基於經訓練的網路的這種圖像編碼(視訊編碼或靜止圖像編碼)的效率。
本發明的一些實施例提供了對包括作為輸入的亮度分量和子採樣色度分量的圖像部分進行編碼和解碼的方法和裝置。亮度分量可以通過下採樣來處理,使得編碼和解碼處理可以更快地以低碼率執行,產生低解析度。色度分量可以通過色度上採樣來處理,得到高解析度結果。亮度與色度之間的空間相關性也可以通過這種方式保留。在任何一種情況下,調整大小後的亮度和色度分量具有匹配的解析度,然後經訓練的網路對這些匹配分量進行編碼。編碼器可以在亮度下採樣與色度上採樣之間進行適應性選擇,而解碼器執行亮度上採樣和色度下採樣的相反圖像處理。因此,編碼和解碼處理可以根據所選圖像處理提供低解析度或高解析度圖像(picture/image)。
上述和其它目的通過獨立權利要求請求保護的主題來實現。其它實現方式在從屬權利要求、說明書和附圖中顯而易見。
根據本發明的一方面,提供了一種用於對圖像部分進行編碼的方法。所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度,所述方法包括:選擇以下之一作為所述圖像部分的圖像處理:對所述亮度分量進行下採樣,以獲得解析度與所述色度分量的解析度匹配的下採樣亮度分量;對所述色度分量進行上採樣,以獲得解析度與所述亮度分量的解析度匹配的上採樣色度分量;根據所選處理對所述圖像部分進行處理;根據所選處理生成碼流,其中,所述生成包括對所述經處理的圖像部分進行編碼。
無論是對亮度分量進行下採樣還是對色度分量進行上採樣,都提供了大小相等的亮度和色度輸出作為輸出。因此,所述輸出然後可以由具有類似結構(特別是相同輸入解析度)的經訓練的網路(例如在機器學習框架內)進行處理。如果所有顏色分量的解析度都相同,則機器學習框架能夠在所有樣本位置上以相同的方式利用顏色互相關。在其中一個圖像處理中,亮度通道可以保持不受影響,在這種情況下,不存在品質損失。
下採樣亮度有利於實現低解析度以降低碼率,而上採樣色度有利於實現高解析度以保留亮度資訊。因此,適應性切換能夠根據對碼率或圖像品質的要求和/或限制選擇採樣模式。由於在為圖像部分選擇的圖像處理的任何一種情況下,經處理的亮度和色度分量具有匹配的解析度,因此輸出可以在VAE框架或支援高效編碼的其它框架內處理。
在一些示例性實現方式中,所述選擇包括對速率和失真的成本函數進行估算。因此,採樣模式(即亮度下採樣和色度上採樣)是基於成本選擇的。
根據所述方法的一種示例性實現方式,所述選擇包括:對所述亮度分量進行下採樣,以獲得中間下採樣亮度分量;對所述色度分量進行上採樣,以獲得中間上採樣色度分量。選擇採樣模式(包括亮度下採樣和色度上採樣)在任何一種情況下都提供中間亮度分量和中間色度分量,每個分量都具有匹配的解析度(即大小)。然後,大小相等的亮度和色度分量可以由VAE等進一步處理。
在所述方法的另一個實現示例中,所述選擇包括:根據所述成本函數,分別確定所述中間下採樣亮度分量和所述色度分量的成本以及所述亮度分量和所述中間上採樣色度分量的成本,其中,在所述選擇中,所述確定成本較低的圖像部分的圖像處理被選擇。因此,亮度分量和子採樣色度分量的整體編碼是通過使用成本最低的採樣模式(即亮度下採樣或色度上採樣)高效執行的。
根據所述方法的一個實現示例,所述確定包括:將所述中間下採樣亮度分量和所述色度分量編碼到第一碼流中;將所述亮度分量和所述中間上採樣色度分量編碼到第二碼流中;根據所述成本函數,確定所述第一碼流和所述第二碼流的成本。因此,實際成本可以準確地確定,因為它是基於實際經編碼的第一和第二碼流。
在所述方法的一個示例中,所述生成碼流包括將表示所選圖像處理的選擇指示符編碼到所述碼流中。這降低了指示已經對碼流執行的圖像處理的複雜度。
在另一個示例中,所述生成碼流包括所述將亮度分量的寬度W和/或高度H的指示編碼到所述碼流中。因此,原始圖像部分的寬度和高度可以指示給編碼器。
根據所述方法的一種示例性實現方式,所述上採樣和/或下採樣由經訓練的網路執行。基於經訓練的網路的編解碼可以提高性能,這要歸功於可以使用所需資料訓練這種網路。
根據一個示例,所述對所述經處理的圖像部分進行編碼由變分自動編碼器(variational autoencoder,VAE)執行。VAE可以有利於高效執行與圖像(image/picture)編碼和/或解碼相關的任務,同時在所需碼率與重建圖像的品質之間實現良好的平衡。
根據本發明的一方面,提供了一種用於從碼流中重建圖像部分的方法。所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度,所述方法包括:從所述碼流中解碼具有相同解析度的亮度分量和色度分量;根據所述碼流確定以下之一作為圖像處理:對所述經解碼的亮度分量進行上採樣,並獲取包括所述經解碼的色度分量和所述上採樣亮度分量的重建圖像部分;對所述經解碼的色度分量進行下採樣,並獲取包括所述經解碼的亮度分量和所述下採樣色度分量的重建圖像部分;根據所述確定的圖像處理,獲取所述圖像部分。
因此,確定圖像處理為亮度上採樣和色度下採樣之一在任何一種情況下都提供了調整大小後的亮度或色度分量,使得它們具有對應於已經輸入用於編碼的分量(原始圖像分量)的不同大小。因此,圖像部分被重建為其原始顏色格式,其中,色度的解析度小於亮度的解析度。由此,無論確定哪一種圖像處理,經編碼的大小相等的亮度和色度通道可以在通用VAE框架內處理。通常,通過相應編碼方法的對應其它特徵,解碼端提供的優點可以類似於編碼端提供的優點。
根據所述方法的一種實現示例,所述確定還包括:從所述碼流解碼表示圖像處理的選擇指示符;將通過所述選擇指示符表示的所述處理確定為所述圖像處理。這樣可以高效指示圖像處理。相應地,解碼端可以根據碼流中包括的簡單指示符快速確定編碼端已經使用的圖像處理(即亮度下採樣或色度上採樣)。
根據另一種示例性實現方式,所述確定還包括從所述碼流中解碼所述圖像部分中的所述亮度分量的寬度W和/或高度H。這樣可以根據圖像部分中的亮度通道的寬度和高度確定圖像處理。換句話說,攜帶圖像部分的重要資訊的通道被用作所述確定的參考。
在一個示例中,所述確定還包括:確定所述寬度W和所述高度H是否與所述經解碼的亮度分量的相應寬度
Figure 02_image001
和高度
Figure 02_image003
相同;如果確定W和H與
Figure 02_image001
Figure 02_image003
相同,則對所述經解碼的色度分量進行下採樣;如果確定W和H中的任一個與
Figure 02_image001
和/或
Figure 02_image003
不相同,則對所述經解碼的亮度分量進行上採樣。通過根據寬度和高度推導待應用的處理,可以通過排除顯式選擇指示符來降低速率。此外,通過將亮度的W和H與經解碼亮度的相應寬度
Figure 02_image001
和高度
Figure 02_image003
進行簡單比較,圖像處理可以很容易在編碼端確定。可以不使用關於(經解碼)色度的資訊,因此減少了確定圖像處理時的開銷。
根據另一個實現示例,所述確定包括:確定所述碼流的大小S;從所述碼流中解碼所述圖像部分的潛在表示
Figure 02_image005
,其中,所述潛在表示具有寬度
Figure 02_image007
和/或高度
Figure 02_image009
;通過將所述碼流的大小和所述寬度
Figure 02_image007
和/高度
Figure 02_image009
的函數與預定義閾值T進行比較,確定所述圖像處理。這樣可以根據潛在表示
Figure 02_image005
確定圖像處理。潛在表示可以基於特徵圖。因此,圖像處理的確定更準確,因為利用了潛在表示和特徵圖。
在一種示例性實現方式中,所述確定包括:確定所述大小S與
Figure 02_image011
的比率是否等於或大於所述預定義閾值;如果確定所述比率等於或大於所述預定義閾值,則對所述經解碼的色度分量進行下採樣;如果確定所述比率小於所述預定義閾值,則對所述經解碼的亮度分量進行上採樣。相應地,解碼器待執行的圖像處理可以簡單地使用碼流的大小S與潛在空間的大小
Figure 02_image011
的比率來確定。此外,通過簡單地對碼流的大小與潛在空間的大小
Figure 02_image011
的比率設定閾值,有助於快速確定圖像處理。這使圖像處理的確定更高效,因為只使用了碼流和潛在空間。這樣進一步降低了確定圖像處理時的開銷。
根據另一個實現示例,所述確定包括:從所述碼流中解碼潛在表示
Figure 02_image005
;將所述圖像處理確定為以所述經解碼的潛在表示作為輸入的分類神經網路的輸出,其中,所述輸出是第一類別和第二類別中的一種,第一類別表示所述經解碼的亮度分量的上採樣,第二類別表示所述經解碼的色度分量的下採樣。這樣可以利用神經網路來確定圖像處理。這使圖像處理的確定更加靈活。此外,可以與特徵分類相結合用於所述確定,因為潛在空間可以基於特徵圖。相應地,圖像處理的確定可以更準確。此外,上採樣或下採樣方法可以在不從碼流中解析任何邊資訊的情況下在解碼端執行,這降低了碼率成本。
根據一種示例性實現方式,所述上採樣和/或所述下採樣由經訓練的網路執行。通過提供基於下採樣亮度或上採樣色度的碼流,解碼端可以高品質和/或低速率重建圖像(靜止圖像或視訊)。經訓練的網路可以提供適應性和高效的編解碼,從而在相同速率下提高品質或在相同品質下降低速率。
例如,所述對所述經處理的圖像部分進行解碼由變分自動編碼器(variational auto encoder,VAE)執行。因此,解碼可以高效執行,同時在所需碼率和/或重建圖像的品質之間實現良好的平衡。
根據本發明的一方面,提供了一種存儲在非暫態性介質中的電腦程式。所述電腦程式包括代碼,當所述代碼在一個或多個處理器上執行時,執行任一上述方法的步驟。
根據本發明的一方面,提供了一種用於對圖像部分進行編碼的編碼器。所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度,所述編碼器包括:一個或多個處理器;非暫態性電腦可讀存儲介質,與所述一個或多個處理器耦合並存儲由所述一個或多個處理器執行的程式,其中,當所述一個或多個處理器執行所述程式時,所述編碼器用於執行上述編碼方法。
根據本發明的一方面,提供了一種用於從碼流中重建圖像部分的解碼器。所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度,所述解碼器包括:一個或多個處理器;非暫態性電腦可讀存儲介質,與所述一個或多個處理器耦合並存儲由所述一個或多個處理器執行的程式,其中,當所述一個或多個處理器執行所述程式時,所述解碼器執行上述解碼方法。
根據本發明的一方面,提供了一種用於對圖像部分進行編碼的編碼器。所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度,所述編碼器包括處理電路,所述處理電路用於執行上述編碼方法的步驟。
根據本發明的一方面,提供了一種用於從碼流中重建圖像部分的解碼器。所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度,所述解碼器包括處理電路,所述處理電路用於執行上述解碼方法。
根據本發明的一方面,提供了一種用於對圖像部分進行編碼的編碼器。所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度,所述編碼器包括:選擇模組,用於選擇以下之一作為所述圖像部分的圖像處理:對所述亮度分量進行下採樣,以獲得解析度與所述色度分量的解析度匹配的下採樣亮度分量;對所述色度分量進行上採樣,以獲得解析度與所述亮度分量的解析度匹配的上採樣色度分量;處理模組,用於根據所選圖像處理對所述圖像部分進行處理;生成模組,用於根據所選圖像處理生成碼流,其中,所述生成包括對所述經處理的圖像部分進行編碼。
根據本發明的一方面,提供了一種用於從碼流中重建圖像部分的解碼器。所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度,所述解碼器包括:解碼模組,用於從所述碼流中解碼具有相同解析度的亮度分量和色度分量;確定模組,用於根據所述碼流確定以下之一作為圖像處理:對所述經解碼的亮度分量進行上採樣,並獲取包括所述經解碼的色度分量和所述上採樣亮度分量的重建圖像部分;對所述經解碼的色度分量進行下採樣,並獲取包括所述經解碼的亮度分量和所述下採樣色度分量的重建圖像部分;獲取模組,用於根據所述確定的圖像處理,獲取所述圖像部分。
這些實施例能夠根據所需應用在輸入圖像部分的色度上採樣與亮度下採樣之間進行適應性切換。例如,一些應用的目的可能是降低複雜度或碼率,在這種情況下,亮度下採樣可能更有利,而其它應用的目的可能是獲得高品質,在這種情況下,色度上採樣可能更有利。相應地,包括亮度分量和子採樣色度分量的圖像部分可以在圖像處理的任何採樣模式(包括亮度下採樣和色度上採樣)中高效編碼和/或解碼。
需要說明的是,本發明並不限於特定框架。此外,本發明並不限於圖像或視訊壓縮,還可以應用於物件檢測、圖像生成和識別系統。
本發明可以在硬體和/或軟體中實現。
為了清楚起見,任一上述實施例可以與上述其它任何一個或多個實施例組合以創建在本發明範圍內的新實施例。
以下附圖和說明書詳細闡述了一個或多個實施例。其它特徵、目的和優點在說明書、附圖和權利要求中是顯而易見的。
以下描述中,參考形成本發明一部分並以說明的方式示出本發明實施例的具體方面或可以使用本發明實施例的具體方面的附圖。應當理解,本發明實施例可以在其它方面中使用,並且可以包括附圖中未描述的結構變化或邏輯變化。因此,以下詳細描述不應以限制性的意義來理解,且本發明的範圍由所附權利要求書界定。
例如,應當理解,與描述方法有關的公開內容可以對用於執行所述方法的對應設備或系統也同樣適用,反之亦然。例如,如果描述一個或多個具體方法步驟,則對應的設備可以包括一個或多個單元(例如,功能單元)來執行所描述的一個或多個方法步驟(例如,一個單元執行一個或多個步驟,或多個單元各自執行多個步驟中的一個或多個步驟),即使附圖中未明確描述或示出這種一個或多個單元。另一方面,例如,如果根據一個或多個單元(例如,功能單元)來描述具體裝置,則對應的方法可以包括一個步驟來執行一個或多個單元的功能(例如,一個步驟執行一個或多個單元的功能,或多個步驟各自執行多個單元中的一個或多個單元的功能),即使附圖中未明確描述或示出這種一個或多個單元。此外,應當理解,除非另外明確說明,否則本文中所描述的各個示例性實施例和/或方面的特徵可以相互組合。
下面簡要概述了在整個本發明中使用的一些技術術語。
視訊序列的顏色格式:顏色格式描述視訊序列中顏色的具體組織結構。通常,顏色格式表示為描述顏色表示方式的數學模型,例如,表示為數字元組。例如,RGB格式描述幀(圖像(picture/image))與紅色(R)、綠色(G)和藍色(B)顏色分量組合,而YUV格式描述幀與一個亮度分量(Y)和兩個色度分量(U和V)組合。由此,亮度是指樣本、圖元或一組樣本/圖元(例如圖像或圖像部分)中的亮度分量。通常,顏色格式可以包括一個或多個顏色分量。
RGB:RGB顏色格式是加色模型,包括紅色(R)、綠色(G)和藍色(B)分量。RGB顏色空間中的圖像通常包括在相應寬度和高度方面具有相同大小的分量,例如,幀的寬度和高度對應於樣本或圖元的數量,因此對應於解析度。這些RGB分量可以通過各種方式添加進去,以表示大量顏色。
YUV:YUV顏色格式包括三個分量,其中,亮度分量Y是指亮度資訊(即亮度),色度分量U(藍色投影)和V(紅色投影)是指色度或顏色資訊。在顏色資訊的數位編碼中,YUV可以通過線性矩陣直接從RGB轉換而來,如下例示。
Figure 02_image013
換句話說,每個YUV分量都可以通過RGB分量的線性組合寫入。因此,在這種轉換之後,YUV中的三個分量也具有相同大小(寬度和高度)。
色度子採樣(chroma subsampling):色度子採樣是通過實現色度資訊(U和V)的解析度小於亮度資訊(Y)的解析度對圖像進行編碼的實踐。對色度分量進行子採樣是因為人類視覺系統對顏色差異的敏銳度低於對亮度的敏銳度。因此,就亮度視覺系統而言,當使用YUV(或YCbCr)格式時,亮度分量可以視為最重要的通道。
色度子採樣可以顯著減少色度分量信號。常用的色度子採樣格式簡要介紹如下:
YUV 4:4:4(或簡稱為YUV444)是指不進行色度子採樣,即Y、U和V分量具有相同大小(寬度和高度),如圖1(a)所示。
YUV 4:2:2(或簡稱為YUV422)是指在水準方向以因數2對色度分量(U和V)進行子採樣,如圖1(b)所示。例如,當亮度分量的大小為w×h時,其中,w表示亮度分量的寬度,h表示亮度分量的高度,YUV 4:2:2中的色度分量U和V的大小都為w/2×h(在樣本或圖元的數量等方面,色度分量的寬度變為亮度分量的一半,即w/2,色度分量的高度h與亮度分量的高度相同)。在這種情況下,每個色度分量都為矩形。
YUV 4:2:0(或簡稱為YUV420)是指在水準和垂直方向都以因數2對色度分量(U和V)進行子採樣,如圖1(c)所示。例如,當亮度分量的大小為w×h時,其中,w表示亮度分量的寬度,h表示亮度分量的高度,YUV 4:2:0中的色度分量的大小都為w/2×h/2(在樣本或圖元的數量等方面,色度分量的寬度變為亮度分量的一半,即w/2,色度分量的高度變為亮度分量的一半,即h/2)。在這種情況下,每個色度分量都為正方形。
需要說明的是,YUV 4:2:0色度子採樣是視訊編解碼中最常用的色度子採樣方法。通常,子採樣可能是構造捕獲圖像的圖像感測器導致的。例如,一些感測器提供更多的圖元來捕獲某些顏色分量。但是,子採樣也可以是進一步處理捕獲圖像導致的。
上述YUV格式在本發明中用作亮度和色度分量(通道)的示例,其中,相應的色度具有與亮度通道不同的解析度(即不同的大小)。需要說明的是,通常只對兩個色度分量中的一個進行子採樣,而另一個則保持其大小。此外,一個或多個色度分量可以在垂直方向進行子採樣,而不是如圖1(b)所示只在水準方向對色度分量進行子採樣。
人工神經網路
人工神經網路(artificial neural network,ANN)或連接主義系統是模糊地受構成動物大腦的生物神經網路的啟發而建立的計算系統。這些系統通過舉例“學習”執行任務,通常不使用任務特定規則進行程式設計。例如,在圖像識別中,這些系統可能會學習識別包括貓的圖像,即通過分析手動標記為“貓”或“沒有貓”的示例性圖像並使用結果識別其它圖像中的貓。這些系統這樣做之前並不知道貓有毛皮、尾巴、鬍鬚和貓臉等信息。相反,這些系統會從處理的示例中自動生成識別特徵。
ANN是稱為人工神經元(artificial neuron)的連接單元或節點的集合,這些單元或節點以鬆散方式建模生物大腦中的神經元。每個連接如同生物大腦中的突觸(synapse)一樣,可以向其它神經元發送信號。然後,接收信號的人工神經元處理這個信號,並可以向連接到該人工神經元的神經元發出信號。
在ANN實現方式中,連接處的“信號”是實數,每個神經元的輸出都是通過對其輸入求和,再進行非線性函數計算而得到的。這些連接稱為邊(edge)。神經元和邊通常具有隨著學習的進行而調整的權重。權重增強或減弱連接處信號的強度。神經元可以設置閾值,僅當聚合信號超過該閾值時才發送該信號。通常,神經元聚集成層。不同的層可以對其輸入執行不同的變換。信號可能在多次遍歷各層之後,從第一層(輸入層)傳播到最後一層(輸出層)。
ANN方法的最初目標是以與人類大腦相同的方式解決問題。隨著時間的推移,注意力轉移到執行特定任務,導致偏離生物學。ANN已用於各種任務,包括電腦視覺、語音辨識、機器翻譯、社交網路過濾、棋盤和視訊遊戲、醫學診斷,甚至在傳統上被認為是為人類保留的活動,例如繪畫。
卷積神經網路
“卷積神經網路(convolutional neural network,CNN)”這一名稱表示網路採用一種稱為卷積的數學運算。卷積是一種專門的線性運算。卷積網路是簡單的神經網路,在其至少一個層中使用卷積代替一般矩陣乘法。
圖2A為由CNN等神經網路進行的處理的通用概念的示意圖。卷積神經網路包括輸入層、輸出層以及多個隱藏層。輸入層是將輸入(例如圖2A所示的圖像的一部分)提供到其中進行處理的層。CNN中的隱藏層通常包括一系列卷積層,這些卷積層通過乘法或其它點積進行卷積。層的結果是一個或多個特徵圖(圖2A中的f.map),有時也稱為通道(channel)。部分或所有層中可能會涉及子採樣(subsampling)。因此,特徵圖可能會變小,如圖2A所示。CNN中的啟動函數通常是修正線性單元(Rectified Linear Unit,ReLU)層,後面是其它卷積層,例如池化層、全連接層和歸一化層,它們稱為隱藏層,因為它們的輸入和輸出被啟動函數和最終卷積所掩蓋。雖然這些層通俗地稱為卷積,但這只是依照慣例。從數學上講,卷積在技術上是滑動點積(sliding dot product)或互相關(cross-correlation)。這對矩陣中的索引具有重要意義,因為影響到在特定索引點確定權重的方式。
當對CNN進行程式設計以處理圖像時,如圖2A所示,輸入是具有形狀(圖像數量)×(圖像寬度)×(圖像高度)×(圖像深度)的張量。然後,在經過卷積層之後,圖像被抽象為特徵圖,具有形狀(圖像數量)×(特徵圖寬度)×(特徵圖高度)×(特徵圖通道)。神經網路內的卷積層可以具有以下屬性:由寬度和高度定義的卷積核(超參數);輸入通道和輸出通道的數量(超參數);卷積濾波器(輸入通道)的深度可以等於輸入特徵圖的數量通道(深度)。
在過去,傳統的多層感知機(multilayer perceptron,MLP)模型已經用於圖像識別。MLP還稱為全連接神經網路(fully connected neural network,FCN)。但是,由於節點之間的全連接,這些模型受到了高維度的影響,並且在高解析度圖像中無法充分擴展。具有RGB顏色通道的1000×1000圖元圖像具有3百萬個權重,權重太高,無法在全連接的情況下切實高效地進行大規模處理。因此,MLP/FCN往往容易對資料進行過擬合(overfitting)。由於層的每個節點(感知機)將相鄰層的所有節點的輸出作為輸入,因此FCN的網路架構不考慮資料的空間結構(例如,跨越層的節點),從而相距遠的圖元與相距近的圖元以相同的方式處理。這在計算上和語義上都忽略了圖像資料中的參考局部性。因此,神經元的全連接對於由空間局部輸入模式占主導的圖像識別等目的是浪費的。
卷積神經網路是多層感知機的生物學啟發變體,專門設計用於類比視覺皮層的行為。這些模型通過利用自然圖像中存在的強空間局部相關性,減輕了MLP架構帶來的挑戰。卷積層是CNN中的核心構建塊。該層的參數包括一組可學習的濾波器(上述內核),這些濾波器具有一個小的感受野(receptive filed),但延伸到輸入體積(input volume)的整個深度。在前向傳播(forward pass)期間,每個濾波器跨輸入體積的寬度和高度進行卷積,從而計算濾波器的係數(entry)與輸入之間的點積,並生成該濾波器的二維啟動圖(activation map)。因此,當網路在輸入中的某個空間位置上檢測到某種特定類型的特徵時,網路學習濾波器啟動它們。
沿深度維度堆疊所有濾波器的啟動圖形成卷積層的完整輸出體積。因此,輸出體積中的每個係數還可以被解釋為神經元的輸出,該神經元觀察輸入中的一個小區域,並與同一啟動圖中的神經元共用參數。特徵圖或啟動圖是給定濾波器的輸出啟動。特徵圖和啟動具有相同的含義。在一些論文中,稱為啟動圖,是因為它是一種與圖像中不同部分的啟動對應的映射關係,也稱為特徵圖,是因為它也是一種在圖像中找到某種特徵所在的映射關係。高啟動表示找到了某個特徵。
CNN的另一個重要概念是池化(pooling),它是非線性下採樣的一種形式。有幾個非線性函數可以實現池化,其中,最常見的是最大池化(max pooling),它將輸入圖像分割成一組不重疊的矩形,並輸出每個子區域的最大值。
直觀地,特徵的確切位置沒有該特徵相對於其它特徵的粗略位置重要。這就是在卷積神經網路中使用池化背後的原因。池化層用於逐步減小表示的空間大小,減少網路中的參數數量、記憶體佔用和計算量,從而也控制過擬合。在CNN架構中的連續卷積層之間定期插入池化層是很常見的。池化操作提供了另一種形式的平移不變性。
池化層在輸入的每個深度切片(slice)上獨立運行,並在空間上調整每個深度切換的大小。最常見的形式是池化層具有大小為2×2的濾波器,這些濾波器在輸入中的每個深度切片上應用步幅為2的下採樣,沿寬度和高度均縮小二分之一,從而丟棄75%的啟動。在這種情況下,每個最大運算都超過4個係數。深度維度保持不變。
除最大池化之外,池化單元還可以使用其它功能,例如平均池化或ℓ2-范數池化。過去經常使用的是平均池化,但與實踐中表現更好的最大池化相比,平均池化最近已經不受歡迎。由於表示的大小大幅減少,最近的趨勢是使用較小的濾波器或完全丟棄池化層。“感興趣區域(Region of Interest)”池化(還稱為ROI池化)是最大池化的變體,其中的輸出大小是固定的,輸入矩形是參數。池化是卷積神經網路中基於快速R-CNN架構進行物件檢測的重要組成部分。
上述ReLU是修正線性單元的縮寫,使用非飽和啟動函數(non-saturating activation function)。ReLU通過將負值設置為0,有效地從啟動圖中刪除這些負值;增加了決策函數和整體網路的非線性,但不影響卷積層的感受野。其它函數也用於增加非線性,例如飽和雙曲正切(saturating hyperbolic tangent)和S形函數(sigmoid function)。ReLU通常比其它函數更受歡迎,因為它訓練神經網路的速度快幾倍,但不會對泛化精度造成重大影響。
在經過幾個卷積層和最大池化層之後,神經網路中的高階推理通過全連接層完成。全連接層中的神經元與前一層中的所有啟動都有連接,如常規(非卷積)人工神經網路中所示。因此,神經元的啟動可以計算為仿射變換,矩陣乘法之後是偏差偏移(bias offset)(學習到或固定的偏差項的向量加法)。
“損失層(loss layer)”指定訓練如何影響預測(輸出)標籤與真實標籤之間的偏差(deviation),並且通常是神經網路的最後一層。可以使用適合不同任務的各種損失函數。softmax損失用於預測K個互斥類(mutually exclusive class)的單類。S形交叉熵損失(sigmoid cross-entropy loss)用於預測[0, 1]中的K個獨立概率值。歐幾裡得損失(Euclidean loss)用於回歸到實值標籤。
自動編碼器和無監督學習
自動編碼器是一種人工神經網路,用於以無監督的方式學習高效資料編碼。圖2B為自動編碼器的示意圖。自動編碼器的目的是通過訓練網路忽略信號“雜訊”來學習一組資料的表示(編碼),通常用於降維(dimensionality reduction)。除了簡化側,還學習了重建側,其中,自動編碼器試圖從簡化的編碼中生成盡可能接近其原始輸入的表示,因此得名。在最簡單的情況下,給定一個隱藏層,自動編碼器的編碼器級獲取輸入
Figure 02_image015
並將輸入映射到
Figure 02_image017
Figure 02_image019
圖像
Figure 02_image017
通常稱為代碼、潛在變數(latent variable)或潛在表示。這裡,
Figure 02_image021
是以元素為單位的啟動函數,例如S形函數或修正線性單位。
Figure 02_image023
是權重矩陣,
Figure 02_image025
是偏置向量。權重和偏差通常是隨機初始化的,然後在訓練期間通過反向傳播反覆運算更新。之後,自動編碼器的解碼器級將h映射到形狀與
Figure 02_image015
相同的重建
Figure 02_image027
Figure 02_image029
其中,解碼器的
Figure 02_image031
Figure 02_image033
Figure 02_image035
可以與編碼器的對應
Figure 02_image021
Figure 02_image023
Figure 02_image025
無關。
變分自動編碼器模型對潛在變數的分佈做出了強假設。這些模型使用變分方法進行潛在表示學習,產生了額外的損失分量,和訓練演算法的特定估計器,稱為隨機梯度變分貝葉斯(Stochastic Gradient Variational Bayes,SGVB)估計器。該估計器假設資料是由有向圖模型(directed graphical model)
Figure 02_image037
生成的,並且假設編碼器正在學習後驗分佈
Figure 02_image039
的近似值
Figure 02_image041
,其中,
Figure 02_image043
Figure 02_image045
分別表示編碼器(識別模型)和解碼器(生成模型)的參數。VAE的潛在向量的概率分佈通常比標準自動編碼器更接近訓練資料的概率分佈。VAE的目標具有以下形式:
Figure 02_image047
這裡,
Figure 02_image049
表示KL散度(Kullback-Leibler divergence)。潛在變數的先驗通常被設置為中心各向同性多變數高斯(centered isotropic multivariate Gaussian)
Figure 02_image051
。通常情況下,選擇變分分佈和似然分佈的形狀,使得它們是分解高斯(factorized Gaussian):
Figure 02_image053
Figure 02_image055
其中,
Figure 02_image057
是編碼器輸出,而
Figure 02_image059
Figure 02_image061
是解碼器輸出。
人工神經網路領域(特別是卷積神經網路)的最新進展使得研究人員有興趣將基於神經網路的技術應用於圖像和視訊壓縮任務。例如,人們已經提出了端到端優化的圖像壓縮,這種技術使用基於變分自動編碼器的網路。因此,資料壓縮被認為是工程中一個基本且經過深入研究的問題,通常是為了給某個具有最小熵的離散資料集合(ensemble)設計代碼。該技術方案在很大程度上依賴於對資料概率結構的瞭解,因此該問題與概率源建模密切相關。但是,由於所有實用代碼都必須具有有限熵,因此連續值資料(例如圖像圖元強度的向量)必須量化為離散值的有限集,這會引入誤差。在這種情況下,稱為失真壓縮問題,必須權衡兩個相互矛盾的成本:離散化表示的熵(速率)和量化引起的誤差(失真)。不同的壓縮應用,例如資料存儲或有限容量通道上的傳輸,需要不同地平衡速率和失真。速率和失真的聯合優化比較困難。如果沒有進一步的限制條件,高維空間中的最佳量化的一般問題就難以解決。出於這個原因,大多數現有的圖像壓縮方法通過如下方式來操作:將資料向量線性地變換為合適的連續值表示,獨立地量化其元素,然後使用無損熵編碼對所得到的離散表示進行編碼。由於變換起核心作用,所以該方案稱為變換編碼(transform coding)。例如,JPEG對區塊使用離散余弦變換,而JPEG 2000使用多尺度正交小波分解(multi-scale orthogonal wavelet decomposition)。通常,變換編碼方法的三個組成部分是變換、量化器和熵編碼,它們單獨進行優化(通常通過手動參數調整)。HEVC、VVC和EVC等現代視訊壓縮標準也使用變換後的表示對預測之後的殘差信號進行編解碼。下面幾種變換用於此目的,例如離散余弦變換(discrete cosine transform,DCT)和離散正弦變換(discrete sine transform,DST),以及手動優化的低頻不可分離變換(low frequency non-separable transform,LFNST)。
在上述類型的網路中,已經證明CNN有利於視訊/圖像編(解)碼,並在變分自動編碼器(variational autoencoder,VAE)中實現,如J. Balle在“Variational image compression with a scale hyperprior(利用尺度超先驗的變分圖像壓縮)”(arXiv preprint arXiv:1802.01436 (2018))中所述。在下文中,參考“J. Balle”的這一文獻。
VAE結構是為基於深度學習的圖像壓縮而設計的,構成了一個相當高效的結構。由於輸入到VAE的圖像的顏色格式通常是RGB,沒有進行子採樣,所以三個分量/通道具有相同大小(寬度和高度)。因此,提供為VAE結構的輸入的RGB顏色格式圖像可以直接處理和重建。
在J. Balle中,描述了一種基於變分自動編碼器(variational autoencoder,VAE)的端到端可訓練圖像壓縮模型。該模型包含了超先驗,以有效地捕獲潛在表示中的空間依賴關係。這種超先驗涉及也發送到解碼端的邊資訊,這是一個對幾乎所有現代圖像編解碼器都通用的概念,但在使用ANN的圖像壓縮中基本上沒有經過探索。與現有的自動編碼器壓縮方法不同,這種模型與底層自動編碼器聯合訓練複雜的先驗。
VAE框架可以認為是一個非線性變換編碼模型。變換過程主要可以被分成四個部分。這在示出VAE框架的圖2C中進行了例示。
圖2C示出了包括超先驗模型的網路架構。左側(ga、gs)示出了圖像自動編碼器架構(VAE),右側(ha、hs)對應於實現超先驗的自動編碼器。分解先驗模型使用相同的架構進行分析和合成變換ga和gs。Q表示量化,AE、AD分別表示算術編碼器和算術解碼器。
編碼器將輸入圖像x輸入到ga,產生具有空間變化標準差的回應y(潛在表示)。編碼ga包括具有子採樣的多個卷積層和作為啟動函數的廣義除法歸一化(generalized divisive normalization,GDN)。具體地,編碼器ga(1)通過函數y=f(x)將圖像x映射到潛在表示y。量化器Q(2)將潛在表示變換為離散值,
Figure 02_image063
=Q(y)。
將回應輸入到ha中,將標準差分佈匯總到z中,然後將z作為邊信息量化、壓縮和發送。熵模型或超編碼器/解碼器ha(也稱為超先驗)(3)估計
Figure 02_image063
的分佈,以獲得無損熵源編碼可實現的最小速率。超先驗的另一個邊資訊定義為z=ha(y),其量化為
Figure 02_image065
=Q(z)。然後,編碼器使用量化向量
Figure 02_image065
來估計標準差的空間分佈
Figure 02_image067
,空間分佈用於獲取算術編碼(arithmetic coding,AE)的概率值(或頻率值),並使用量化向量來壓縮和發送量化圖像表示
Figure 02_image063
(或潛在表示)。使用算術編碼(arithmetic coding,AE)將
Figure 02_image063
和超先驗的邊資訊
Figure 02_image065
包括在碼流中。
在VAE結構的解碼端,即圖2C所示的gs和hs,解碼器首先通過算術解碼器從碼流中解析
Figure 02_image065
來從壓縮信號中恢復
Figure 02_image065
。然後,用於算術解碼器(arithmetic decoder,AD)作為VAE中的參數的
Figure 02_image067
重建為
Figure 02_image067
=hs(
Figure 02_image065
)。類似地,算術解碼器使用
Figure 02_image067
作為算術解碼器參數從碼流中解析
Figure 02_image063
,以便為其提供正確的概率估計,從而確保成功恢復
Figure 02_image063
。最後,重建圖像
Figure 02_image069
通過
Figure 02_image069
=gs(
Figure 02_image063
)生成。
大多數基於深度學習的圖像/視訊壓縮系統在將信號轉換為二進位數字字(比特)之前會降低信號的維度。例如,在VAE框架中,進行非線性變換的編碼器將輸入圖像x映射到y,其中,y的寬度和高度小於x的寬度和高度。由於y的寬度和高度較小,所以大小較小,從而減小了信號的維度。因此,更容易壓縮信號y。壓縮的一般原理在圖2C中進行了例示。潛在空間
Figure 02_image063
是編碼器ga的輸出和解碼器gs的輸入,表示壓縮資料。需要說明的是,潛在空間的大小通常遠小於輸入信號的大小。
輸入信號大小的減小在圖2C中例示,圖2C表示基於深度學習的編碼器和解碼器。如上所述,輸入圖像x對應於輸入資料,輸入資料是圖2C所示編碼器的輸入。變換後的信號y對應於潛在空間
Figure 02_image063
,潛在空間的大小小於輸入信號的大小。每列圓圈表示編碼器或解碼器處理鏈中的一層。每層中的圓圈數表示該層信號的大小或維度。
從圖2C可以明顯看出,編碼操作對應於輸入信號大小的減小,而解碼操作對應於圖像原始大小的重建。
在VAE結構的輸入處,使用一個卷積網路層(conv N×5×5/2↓)。需要說明的是,“N×5×5/2↓”是一個符號,表示CNN的一層。在本示例中,定義了具有5×5卷積層的CNN,具有N個通道作為輸出。輸出在兩個維度上都按因數2進行下採樣,如向下箭頭所示。由於這個卷積層,輸入圖像的所有三個分量的大小相同(例444)。否則,本示例中的卷積網路層不會將具有不同大小的圖像(或圖像部分)作為輸入,例如,YUV422或YUV420格式通常如此。
類似地,如圖2C所示,由於VAE結構末尾存在最後一個反卷積網路層(conv 3×5×5/2↑),所以輸出圖像(重建圖像)的三個分量的大小相同。
因此,當使用現有的VAE結構來壓縮視訊序列中的幀時會存在問題。例如,VAE結構可能不會直接處理色度子採樣的顏色格式視訊幀(例如,YUV422、YUV420),因為三個分量的大小不相同。如上所述,在一些情況下,輸入圖像不能由輸入卷積網路層處理,導致輸出圖像的大小可能與輸入圖像的大小不同。
MPEG提案(Ankitesh K. Singh等人“M55267: [DNNVC] A study of handling YUV420 input format for DNN-based video coding(M55267: [DNNVC]處理基於DNN的視訊編解碼的YUV420輸入格式的研究)”)討論了針對視訊序列的YUV420顏色格式幀的特定情況部分解決上述問題的方法。
圖3示出了MPEG提案的一種方法。在編碼端,卷積網路層conv N×5×5/2↓(即卷積核為5×5,輸出通道為N個,輸出在兩個維度上都按2進行下採樣)在水準和垂直方向都按因數2對亮度分量進行下採樣;卷積網路層conv N×5×5/1↓處理色度分量,而不進行下採樣(就CNN標記法而言,這由“/1”表示,即除以1)。因此,輸出Y、U和V具有相同大小,並可以通過VAE結構處理。在解碼端,conv 1×5×5/2↑在水準和垂直方向都按因數2對亮度輸出Y分量進行上採樣;然後,conv 2×5×5/1↑處理色度分量,而不進行上採樣。因此,最終重建圖像的大小與原始輸入YUV420圖像的大小相同。
從上述處理可以明顯看出,圖3的方法通過對亮度分量進行下採樣,提供了大小相同的亮度和色度分量。換句話說,處理了對人類視覺系統最重要並攜帶視訊幀的最詳細資訊的分量。這會導致重要的亮度資訊被丟棄,從而可能導致品質損失。
但是,一旦幀中的分量和/或通道具有不同的解析度(即大小),VAE結構就不能再壓縮視訊序列中的這一幀。具體地,VAE結構不能直接處理色度子採樣的顏色格式視訊幀(例如,YUV422、YUV420),因為三個分量的大小不相同。如上所述,輸入圖像(包括其圖像部分)不能由輸入卷積網路層處理,導致輸出圖像的大小與輸入圖像的大小不同。
第一實施例
本發明的一些實施例可以提供解決上述處理子採樣色度分量的問題的技術方案,這一方案適用于現有的ANN或VAE框架結構。
根據本發明的一個實施例,提供了一種用於對圖像部分進行編碼的方法。所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度。
所述圖像部分是指圖像(picture/image)中的一定數量樣本,所述數量(量)小於所述圖像中的樣本總數。需要說明的是,本文中的術語“圖像(picture/image)”具有相同的含義。所述圖像部分可以包括所述圖像的部分(一個或多個)或所有樣本。本文中的術語“樣本”和“圖元”具有相同的含義。所述圖像可以是靜止圖像或視訊圖像,例如對應於視訊序列中的幀(運動圖像)。
所述圖像部分可以包括一個或多個顏色分量,例如亮度分量和一個或多個色度分量。例如,亮度和色度格式YUV420中的圖像部分包括兩個色度分量U和V(還稱為色度通道),如上所述。相對於整個圖像,所述圖像部分的色度解析度可以小於亮度通道的解析度。或者,相對於所述圖像的一部分,色度解析度可以小於亮度通道的解析度。換句話說,表示在圖像中捕獲的一部分場景的亮度樣本可以比(相同色度的)色度樣本多。解析度可以通過二維(two-dimension,2D)亮度的大小(尺寸)或2D色度通道的大小給出。這通常通過2D圖像內亮度或色度樣本沿x和y方向的樣本數或通過樣本總數給出。相對解析度可以指定為亮度樣本的數量與色度樣本的數量之間的比率,如上所述,例如4:2:0或4:2:2等。需要說明的是,雖然本文中描述了用於亮度通道和一個或多個色度通道的一些示例性實施例,但是本發明並不限於此。通常,除了或代替一個或多個顏色分量,可以如本發明中所論述處理深度等其它通道。
所述方法在圖13中示出,並包括步驟1310:對所述色度分量進行上採樣,以獲得解析度與所述亮度分量的解析度匹配的上採樣色度分量。所述上採樣色度分量還稱為中間色度分量。解析度匹配可以對應於所述亮度分量的大小匹配。所述方法還包括步驟1320:將所述亮度分量和所述上採樣色度分量編碼到碼流中。
所述亮度分量的解析度是在所述上採樣之前獲得的。所述亮度分量的解析度可以通過從記憶體或輸入圖像的碼流等中讀取解析度來確定。所述色度分量的解析度可以通過類似的方式獲得。包括亮度和色度通道的相應圖像部分的解析度可以與記憶體中或一般意義上的任何類型的存儲介質中的相應通道一起指示。相應通道的解析度可以根據樣本數來提供。可選地或另外,通道解析度可以根據相對於圖像大小(可以在碼流中指示或以另一種方式獲得)(即所述圖像中的所有樣本)的比率提供。
上述編碼可以由變分自動編碼器(variational autoencoder,VAE)執行。本領域已知VAE可以高效執行與圖像編碼和解碼相關的任務,而且在所需碼率與重建圖像的品質之間實現良好的平衡。通過對子採樣色度分量(即解析度小於亮度通道的解析度的色度)進行上採樣,使得調整大小後的色度與亮度具有相同的解析度,原始子採樣的YUV顏色格式可以由VAE進行編碼。圖2C所示的VAE的編碼器部分則可以通過上文參考圖2C所述的方式處理相應的大小相等的三通道輸入。在該過程中,亮度通道保持不受影響,因此亮度提供的可能重要的圖像資訊得以保留。
但是,需要說明的是,VAE進行的編碼只是可能的有利實現方式之一。這並不是為了限制本發明,本發明也可以與其它類型的自動編碼器一起高效工作,例如具有圖2B所示結構的自動編碼器。此外,本發明並不限於自動編碼器,可以應用於任何基於ANN的網路,或通常應用於任何經訓練的網路。原則上,本發明可應用於任何類型的編碼器或解碼器。
在所述方法的一種示例性實現方式中,所述對所述色度分量進行上採樣基於所述亮度分量的樣本。這表示所述上採樣基於亮度樣本的值,因此是內容適應性的。亮度樣本可以指一個或多個亮度樣本。這包括使用所有亮度樣本進行上採樣。
色度上採樣還可以包括通過經訓練的網路處理色度分量。大小均衡可以包括將亮度分量和色度分量輸入到經訓練的網路,並從經訓練的網路輸出上採樣色度分量。使用亮度分量作為經訓練的網路的輸入可以保留亮度和色度通道之間的跨分量資訊。
編碼端的經訓練的網路可以是任何類型的適合進行上採樣的網路。例如,這包括人工神經網路(artificial neural network,ANN),例如全連接或稀疏神經網路、卷積神經網路(convolutional neural network,CNN)等。具體地,CNN已成功應用於圖像編碼和解碼的圖像(image/picture)處理任務。用於色度上採樣的經訓練的網路還可以稱為大小均衡網路,因為它提供調整大小後解析度與亮度通道的解析度匹配的色度分量(即中間色度分量)作為輸出。換句話說,在大小均衡網路進行處理之後,所有輸出的亮度和色度通道具有相同的解析度(即大小)。但是,本發明並不限於這種上採樣。如稍後所示,上採樣有幾種可能的有利實現方式。術語“經訓練的網路”是指通過機器學習預先訓練的一類網路。這種網路還可以是具有機器學習(有監督或無監督)輸入的可訓練網路。但是,經訓練的網路可以通過配置權重但不對同一網路執行訓練來提供,例如通過從存儲介質中獲得權重來提供。權重可以通過訓練類似的網路預先獲得,並存儲。或者,權重(還稱為係數)可以通過使用數學濾波器(例如文納濾波器(Wiener filter)或卡爾曼濾波器(Kalman filter)等)來推導。另一種選擇是使用離散余弦變換(discrete cosine transform,DCT)或離散正弦變換(discrete sine transform,DST)等變換層推導權重。雖然變換層可以包括在經訓練的網路中,但相應的權重可以是固定係數,並可以視為參數。需要說明的是,DCT和DST僅僅是示例,通常可以使用正交酉變換等任何合適的已知變換,例如阿達馬變換(Hadamard transformation)、快速傅裡葉變換(fast Fourier transformation,FFT)、離散傅裡葉變換(discrete Fourier transformation,DFT),或修改上述變換以符合一些實現約束條件(例如數字表示和位元深度)而獲得的變換,或K-L變換(Karhunen-Loève transformation)等。
如下文進一步論述,可以在經訓練的網路中的第一層(或其它地方)中進行的上採樣可以使用雙線性濾波器或另一種線性或非線性插值濾波器,而不是基於最鄰近的濾波方法。最鄰近濾波可以視為插值濾波器的簡化版本。另外或可選地,可以使用其它超解析度方法。
例如,在編碼端,大小均衡網路層將子採樣顏色格式視訊幀(例如YUV420、YUV422等)中的色度分量均衡為亮度分量的大小。
在一種示例性實現方式中,經訓練的網路包括至少兩個處理層。在兩個處理層中,第一層用於根據輸入色度分量執行上採樣,第二層用於對所述第一層的輸出和亮度分量執行處理。這裡的術語“第一”和“第二”僅僅是標記,不一定對應於網路的一系列層中的第一層和第二層。在所述第一和第二層之間可以存在一些其它的一個或多個層。
在一個實現示例中,對第一層的輸出和亮度分量進行處理包括對亮度分量和上採樣色度分量逐元素相加。因此,使用亮度作為邊資訊可以高效執行色度上採樣,因為“加法操作”的複雜度低。亮度和色度分量的基於“連接(joined)”的處理可以不限於加法操作。在本示例中,跨分量資訊得以保留。在這裡,術語“保留”表示在色度上採樣操作中使用亮度資訊,該亮度資訊包括關於高頻資訊和銳邊的細節。與現有技術相比,色度分量以這種方式得到大大增強。
或者,色度可以與亮度級聯。這通常會產生級聯的亮度和色度複合物,其大小大於亮度分量和色度分量各自的大小。其它類型的“連接(join)”操作也可以使用,和/或與加法或級聯組合,通過這類操作,大小均衡網路使用亮度的資訊對子採樣色度進行上採樣和/或處理。
上述處理可以由圖4至圖8例示,圖4至圖8示出了本發明的一些實施例,涵蓋編碼端和編碼端。
在圖4頂部所示的編碼端,輸入包括亮度分量Y和色度分量U和V。具體地,將色度分量U和V輸入到大小均衡網路層410,小均衡網路層將(相比於亮度分量Y,經過子採樣的)一個或多個色度分量上轉換到亮度分量的大小。術語“上轉換”還可以稱為上採樣。如上所述,所述上轉換或上採樣也可以使用亮度分量作為大小均衡網路的輸入資訊(即邊資訊)來執行,輸入資訊在圖4中通過NN大小均衡模組410的第三輸入來表示。NN大小均衡模組410的輸出是尺寸與亮度分量Y的尺寸匹配的中間色度分量U和V。亮度分量和中間色度分量都輸入到VAE編碼器420中。VAE編碼器可以是圖2B或圖2C等所示的編碼器。VAE編碼器420輸出碼流,碼流中包括(例如壓縮)有中間色度分量U和V和亮度分量Y。
相應地,圖4的底部示出了示例性解碼端。具體地,將經編碼碼流(例如由VAE 420編碼的碼流)輸入到VAE解碼器470。VAE解碼器470可以是圖2B或圖2C等所示的解碼器。VAE解碼器470輸出亮度分量Y和中間色度分量U和V。這些經解碼的亮度分量Y和中間色度分量U和V不一定與編碼端的亮度和中間色度分量相同。這是因為在一些實施例中,VAE編碼器420可能以有損方式壓縮輸入。然後,將解析度匹配的經解碼的分量Y、U和V輸入到下採樣網路480,下採樣網路480將NN大小轉換回輸入大小(解析度)。將中間色度分量U和V下採樣到色度分量的尺寸。在下採樣過程中,可以使用亮度分量Y。
圖5示出了編碼端的大小均衡網路410的本發明實現示例。在本示例中,各層屬於卷積神經網路(convolutional neural network,CNN)。參考圖5,卷積網路層定義如下:
Conv. N×K×K:表示卷積網路層,卷積核為K×K,K為正整數。K通常為數字3或5。但是,K並不限於這些數字,而是可以取任何其它正整數。具體地,K的值可能更大。N是正整數,表示卷積神經網路的輸出通道的數量。N通常為數字128或192。但是,根據輸出的需要,可以使用任何其它數位。具體地,N可以為1或2,即與具有一個或兩個輸出通道的CNN層對應的Conv. 1×K×K或Conv. 2×K×K。
Act.:是指啟動層,它可以是非線性啟動函數,例如上述修正線性單元(rectified linear unit,ReLU)或GDN。所述函數用於啟動卷積層。在沒有啟動的情況下,卷積層可能只是一個線性組合,與沒有卷積運算的情況相同。
Conv.N×K×K/2↑:表示與Conv. N×K×K相同,但進一步在水準和垂直方向都按因數2對輸出進行上採樣(上轉換)(在本示例中)。這由“2”和向上箭頭表示。
Conv.N×K×K, Act.:表示卷積層加啟動層。
圖5示出了顏色格式為YUV420時的編碼端的示例。這表示涉及三個通道Y、U和V,因此N=3。
例如,當亮度大小為w×h,色度大小為w/2×h/2,顏色格式為YUV420時,大小均衡網路層在水準和垂直方向都按因數2對色度分量U和V進行上採樣。這裡,w表示亮度分量的寬度,h表示亮度分量的高度,例如,以(整數)樣本計算。Conv. N×K×K/2↑層在水準和垂直方向都按因數2對U和V分量進行上採樣。這一層的輸出有N個通道。
從圖5可以明顯看出,Conv. N×K×K層處理Y分量,沒有進行上採樣,因此Y分量保留了亮度分量的解析度(尺寸)。與大小均衡層Conv. N×K×K/2↑相同,這一層的輸出也有N個通道。層Conv. N×K×K/2↑和Conv. N×K×K的輸出信號都由輸出特徵圖的相應啟動層(即非線性啟動函數,例如ReLU或GDN)處理,然後相加(求和)。在本示例中,使用了簡單的信號之和。這表示相應的輸出是逐元素相加的(對特徵圖的元素求和)。可以如此做的原因是卷積(conv/convolutional)層的輸出的大小(尺寸)在寬度和高度方面是相同的。
其它類型的操作也可以用於色度與亮度的合併操作(組合)。例如,可以進行亮度和色度輸出的級聯。加法可能是最簡單的方案之一,在所得幀中只有N個通道。這表示求和操作保留了一定數量的通道。相比之下,級聯引入了具有2N個通道的潛在表示。因此,求和操作降低了利用亮度對色度進行上採樣處理的複雜度,無需增加通道。
然後,組合信號由一個或多個卷積層和啟動層處理,提供兩個色度通道(對應於上採樣色度分量的調整大小後的U和V)作為輸出。原始Y信號也提供給下一步驟,即編碼420到碼流中。上採樣色度還稱為中間色度分量/通道。然後,將這些大小相等的輸出(信號)用作VAE結構的輸入。
在圖5的示例中,Y和上採樣色度U和V的加法操作放置在第一層之後。但是,所述操作(以及就此而言,用於級聯和/或合併信號的任何其它合適操作)也可以放置在任何其它層之後。這種設計的好處是,Y特徵主要由安排在加法操作之後的卷積層提取。
在另一個示例中,當亮度大小為w×h,色度大小為w/2×h,顏色格式為YUV422時,大小均衡網路層在水準方向按因數2對色度分量U和V進行上採樣。在這種情況下,上採樣色度分量為矩形。在任何一種情況下,大小均衡網路層輸出的上採樣色度分量U和V的大小與原始分量Y的大小相同。因此,所述大小均衡網路層的輸出可以用作VAE結構的輸入。
在一種示例性實現方式中,上採樣包括在色度分量的每n排樣本之後插入另一排樣本。在這裡,排是指行和/或列,n是等於或大於1的整數。這表示每個奇數行是添加行,等等。另外或可選地,例如,所得上採樣分量中的每個奇數列是添加列。除了奇數行和/或列,還可以添加每個偶數行和/或列。這些示例針對的是n=1,即在每一行之後(或之前),插入另一行。這種上採樣是按2的上採樣。但是,本發明並不限於這一特定示例。相反,n可以更大,表示在整數行之後,插入另一行樣本。類似的方法也適用於列。行和列的n可能不同。此外,這支持通過在特定行和/或列插入一排樣本來進一步調整色度上採樣。
此外,上採樣可以通過在色度分量的每n排樣本之後插入一排值為0的樣本來執行。這可以稱為零填充。這是一種簡單的上採樣方式,只需將相應的一排樣本設置為0。因此,不需要更多的指示或處理開銷。這種方法在圖9中例示,圖9示出了上採樣色度的4×4樣本。實心圓形符號是指原始色度的樣本。空心圓圈是指具有0值的樣本。在本示例中,各排0值樣本是在色度分量的每行和每列之後插入的。此外,在本示例中,大小均衡網路簡化為單層網路(M=1),在圖5的“加法”操作之後沒有其它層。在圖9(編碼端)中,U和V的上採樣簡化為在顏色格式為YUV420的情況下在每行和每列中填充0。在YUV422格式的情況下,0的填充是針對每列的。在這種情況下,網路不是卷積神經網路,但是可以理解為全連接神經網路(fully-connected neural network,FCNN)中的一層。因此,這一網路本身不一定是可訓練的,但是可以與VAE結構聯合訓練,以獲得更好的編解碼性能。因此,相應的FCNN也可以指經訓練的網路。
在另一種實現方式中,色度上採樣可以通過在色度分量的每n排樣本之後插入值等於色度分量中相應的最鄰近樣本的一排樣本來執行。例如,可以通過將色度值複製到相應的相鄰樣本中來插入值。與上述零填充的情況一樣,這可以通過在特定行和/或列插入一排樣本來進一步調整色度上採樣。此外,使用參考色度的最鄰近樣本插入的一排樣本的值,色度上採樣的精度更高,因為使用了參考原始色度的相鄰資訊(由相鄰色度樣本值表示)。
這在圖11中例示,圖11示出了上採樣色度的4×4樣本。同樣,實心圓形符號是指原始色度的樣本。空心圓圈是指值與相應的色度相鄰樣本一致的樣本。在圖11中,將色度值插入到相應的相鄰樣本中由箭頭表示。在本示例中,樣本值是在色度分量的每行和列之後插入的。此外,在本示例中,大小均衡網路簡化為單層網路(M=1),在圖5的“加法”操作之後沒有其它層,其中,從亮度到色度的跨分量資訊通過“加法”操作得以保留。例如,如果亮度包括更多資訊(因為它具有更高的原始解析度),則當亮度和色度具有相同尺寸時,將附加資訊添加到正確位置上的色度樣本中。在圖11(編碼端)中,U和V的上採樣簡化為每行和每列中的最鄰近樣本上採樣,如圖11中的YUV420格式所示。在YUV422格式的情況下,最鄰近樣本上採樣是針對每列的。在上述色度上採樣示例中,網路不是卷積神經網路,但是可以理解為全連接網路中的一層。因此,這一網路本身不是可訓練的,但是可以與VAE結構聯合訓練,以獲得更好的編解碼性能。因此,相應的FCNN也可以指經訓練的網路。這裡的最鄰近上採樣表示將最近樣本的值(在預定義的方向上)複製到新添加的樣本中。在圖11中,取左側和上方的最鄰近樣本。這是不限制本發明的慣例。最鄰近樣本可以從右側和下方複製而來。可能涉及插值(例如,相鄰樣本值的平均值)或其它類型的上採樣。
上述上採樣網路僅僅是具有一層的用於大小均衡的經訓練的網路的示例。本領域技術人員很清楚,大小均衡層可以具有多層,如圖5和圖7所示。在這種情況下,可以訓練大小均衡網路執行色度上採樣。
在上文論述中,亮度分量用作邊資訊並輸入到大小均衡層,以便對子採樣色度通道執行上採樣。在圖7所示的大小均衡網路的另一個實現示例中,可以在不進一步使用亮度的情況下執行上採樣。換句話說,亮度通道不輸入到編碼端的大小均衡網路。否則,編碼器對子採樣色度的處理與已經論述的亮度用作邊資訊進行色度上採樣的情況相同。這可以簡化大小均衡網路的設計,因為只將(一個或多個)色度分量作為輸入。
根據本發明的一個實施例,提供了一種用於從碼流中解碼圖像部分的方法。所述圖像部分包括亮度分量和色度分量,所述色度分量解析度小於所述亮度分量的解析度。所述圖像部分是指圖像(image/picture)中的一定數量樣本,所述數量小於所述圖像中的樣本總數。所述圖像部分還可以包括所述圖像中的所有樣本。術語“樣本”還可以指圖元。所述圖像可以是靜止圖像或視訊圖像。所述圖像部分可以包括一個或多個色度分量。例如,亮度和色度格式YUV420中的圖像部分包括兩個色度分量U和V(還稱為色度通道)。相對於整個圖像,所述圖像部分的色度解析度可以小於亮度通道的解析度。或者,相對於所述圖像的一部分,色度解析度可以小於亮度通道的解析度。在這種“部分”亮度解析度情況下,亮度通道和一個或多個色度通道與所述圖像的同一部分相關。所述圖像的同一部分還可以稱為所述圖像的區域。
所述方法在圖14中示出,並包括步驟1410:從所述碼流中解碼所述亮度分量和解析度與所述色度分量的解析度匹配的中間色度分量。所述中間色度分量還稱為上採樣色度分量,表示所述中間分量已經通過對所述色度分量進行上採樣生成/獲得。解析度是根據二維(two-dimension,2D)亮度或色度通道的大小(即尺寸)給出的。這通常通過2D亮度或色度樣本沿x和y方向的樣本數或通過樣本總數給出。所述方法還包括步驟1420:對所述中間色度分量進行下採樣,以獲得所述圖像部分中的所述色度分量。上述解碼可以由變分自動編碼器(variational autoencoder,VAE)執行。本領域已知VAE可以高效執行與圖像編碼/解碼相關的任務,而且在所需碼率與重建圖像的品質之間實現良好的平衡。圖2C所示的VAE的編碼器部分則可以通過上文參考圖2C所述的方式處理相應的大小相等的通道輸入,包括亮度和中間色度。在該過程中,亮度通道保持不受影響,因此,當從碼流中解碼亮度分量時,亮度提供的最重要的圖像資訊得以保留。
通過對中間色度分量(即解析度與亮度通道的解析度相同的色度)進行下採樣,可以重建原始色度分量(即子採樣色度)。具體地,具有原始亮度和色度格式的圖像部分可以高品質重建。因此,解碼器能夠提供色度格式的圖像部分作為輸出,色度的解析度(即大小)小於亮度的解析度。
在所述方法的一種示例性實現方式中,所述下採樣還包括通過經訓練的網路對所述中間色度分量進行處理。這一網路可以稱為大小轉換網路,表示其目的是為了將輸入中間色度(大小與亮度的大小相同)轉換到解析度比亮度的解析度更小(即大小更小)的原始色度的大小。
解碼端的經訓練的網路可以是任何類型的適合進行下採樣的網路。例如,這包括人工神經網路(artificial neural network,ANN),例如神經網路、卷積神經網路(convolutional neural network,CNN)等。具體地,CNN已成功應用於圖像編碼和解碼的圖像(image/picture)處理任務。用於色度下採樣的經訓練的網路還可以稱為大小轉換網路,因為它提供調整大小後解析度小於亮度通道的解析度的色度分量(即原始子採樣色度分量)作為輸出。換句話說,在大小轉換網路進行處理之後,所有輸出的亮度和色度通道具有不同的解析度(即大小)。
在所述方法的第一種示例性實現方式中,經訓練的網路進行的處理包括向經訓練的網路輸入中間色度分量,並從經訓練的網路輸出色度分量。這表示經訓練的網路僅使用中間色度作為輸入以對中間色度執行下採樣。因此,在本示例中,大小轉換網路層不使用關於亮度的邊資訊。因此,經訓練的網路的設計不複雜,而且由於沒有亮度用作邊資訊,處理開銷較低。
這在圖8中例示,圖8示出了亮度分量可以不用作解碼器側的大小轉換網路的輸入。在本示例中,兩個色度分量U和V表示顏色格式YUV444,其中,U和V的大小與亮度Y的大小相同。否則,解碼器對中間色度的處理與已經參考圖4論述的相同。在經訓練的網路的一種示例性實現方式中,經訓練的網路包括至少兩個處理層。在這至少兩個層中,第一層對輸入中間色度分量執行處理;至少兩個處理層中的第二層對所述第一層的輸出執行下採樣。
在圖8的示例中,解碼端的大小轉換網路由多個卷積層和啟動層Conv. N×K×K, Act.構建。左側的第一個Conv. N×K×K, Act.將中間色度分量U和V作為輸入。網路中的最後一層(Conv. 2×K×K/2↓)在水準和垂直方向都按因數2對信號進行下採樣,並輸出兩個通道。這兩個通道用作YUV420格式中的重建U和V信號。當所有中間Conv. N×K×K, Act.層都移除時,最後一個Conv. 2×K×K/2↓表示第二層。
在本示例中,與J. Balle的方法相比,沒有對Y資訊進行下採樣。因此,Y的亮度資訊和空間資訊大部分得以保留。如上所述,可以在不使用亮度資訊作為邊資訊的情況下執行色度下採樣。
在另一種示例性實現方式中,對中間色度分量進行下採樣基於亮度分量的樣本。這表示所述下採樣不是基於大小,而是基於亮度通道的內容,即亮度樣本的相應值。亮度樣本可以指一個或多個亮度樣本。這包括使用所有亮度樣本進行上採樣。
當色度由經訓練的網路處理時,經訓練的網路進行的處理包括向經訓練的網路輸入亮度分量。在一種示例性實現方式中,經訓練的網路中的第一層對中間色度分量和亮度分量執行處理。換句話說,亮度用作邊資訊以進行色度下採樣處理。這會保留亮度和色度通道之間的跨分量資訊。具體地,亮度分量可以包括比子採樣(原始)色度分量更多的詳細資訊。使用亮度作為邊資訊,可以根據亮度分量恢復色度的一些細節。上採樣網路可以專門訓練用於這種上採樣。
需要說明的是,對於解碼端,大小轉換網路中的第一處理層與編碼端相比可以不需要執行“加法操作”,其中,這類操作可以如圖5所示執行(至少某種顯式組合操作可以用於編碼器側的大小均衡網路)。這是因為解碼器的大小轉換網路中的第一層的輸入(包括亮度Y和中間色度U和V)已經具有相同大小,如圖6所示。相反,三個大小相等的通道可以直接輸入到所述第一CNN層,而不需要單獨的加法操作。對於圖5所示的編碼器的大小均衡網路中的第一層的輸入,情況並非如此。在這種情況下,首先對色度進行上採樣,接著加上上採樣色度和亮度,然後輸入到CNN層中。
圖6示出了VAE結構的解碼端的實現示例,將VAE結構的上述編碼端的輸出作為其輸入。如上所述,大小轉換網路的相應輸入有3個大小相同的分量(即YUV444)。第一通道直接用作重建亮度分量,具有與YUV420格式中的原始亮度分量相同的大小。Conv. 2×K×K/2↓表示與Conv. N×K×K相同,但進一步在水準和垂直方向都按因數2對輸出進行下採樣(下轉換)。這由“2”和向下箭頭表示。如上所述,這種設置可以有利於保留跨分量資訊,例如,使用來自亮度的更多細節增強色度,亮度最初的解析度(尺寸)大於色度的解析度。
通常,在VAE結構的解碼端使用亮度的經訓練的網路可以通過與不使用亮度相同的方式構建,不同之處在於將其它亮度作為輸入。這在圖6中例示,其中,大小轉換網路也設計有多個卷積層和啟動層Conv. N×K×K, Act. 。同樣,網路中的最後一層(Conv. 2×K×K/2↓)在水準和垂直方向都按因數2對信號進行下採樣,並輸出兩個通道。這兩個通道用作YUV420格式中的重建U和V信號。
例如,當顏色格式為YUV420時,大小轉換網路層在水準和垂直方向都按因數2對中間色度分量U和V進行下採樣。在另一個示例中,當顏色格式為YUV422時,大小轉換網路層在水準方向按因數2對中間色度分量U和V進行下採樣。在任何一種情況下,最終輸出具有與顏色格式為YUV420或YUV422的輸入幀的原始分量相同的大小。
在所述方法的一種示例性實現方式中,下採樣包括在中間色度分量的每n排樣本之後移除一排樣本。在這裡,排是行和/或列,n是等於或大於1的整數。例如,這表示在每一(n=1)或兩(n=2)行和/或列之後,可以移除或刪除所述一排樣本。因此,可以通過簡單地移除相應的一排樣本來快速執行中間色度的下採樣。或者,下採樣可以通過對最鄰近色度樣本的樣本值進行平均(可能進行加權)等方式來執行。
圖10和圖12示出了移除一排樣本的示例。需要說明的是,圖10和圖12的樣本配置分別對應於圖9和圖11的樣本配置,從而在編碼端對色度分量進行上採樣處理。
具體地,圖10和圖12示出了中間色度的4×4樣本。實心圓形符號是指原始色度的樣本。帶叉空心圓圈是指可以為非0值的樣本,是編碼端的大小均衡網路進行色度上採樣處理(使用和不使用亮度作為邊資訊)和/或解碼端的大小轉換網路中的一個或多個第一層進行色度處理的結果。
在圖10和圖12所示的示例中,大小轉換網路簡化為單層網路(M=1)。在圖10和圖12(解碼端)中,簡化了U和V的下採樣,以便在顏色格式為YUV420的情況下丟棄奇數行和奇數列樣本。對於YUV422,移除奇數列樣本。在圖10和圖12所示的這些情況中的任何一種情況下,相應網路不是卷積神經網路,但是可以理解為全連接神經網路(fully-connected neural network,FCNN)中的一層。因此,這一網路本身不是可訓練的,但是可以與VAE結構聯合訓練,以獲得更好的編解碼性能。因此,相應的FCNN也可以指經訓練的網路。
但是,這僅僅是用於大小轉換的具有一層的經訓練的網路的示例。本領域技術人員很清楚,大小轉換層可以具有多層,如圖6和圖8所示。在這種情況下,可以訓練大小轉換網路執行色度上採樣。
需要說明的是,圖5所示的編碼端的大小均衡網路和圖6所示的解碼端的大小轉換網路可以與VAE結構聯合訓練。這可以進一步改善子採樣色度分量的編碼和解碼處理,特別是在VAE框架內。例如,這包括編碼和解碼性能和/或重建圖像(picture/image)的品質。
或者,這些網路可以單獨訓練並用作經預訓練的VAE網路。在任何一種情況下,相應的網路都是指經訓練的網路。需要說明的是,按因數2(採樣因數)進行上採樣/下採樣是一個非限制性示例,但是為常用值之一。通常,採樣因數可以是等於或大於1的任何整數。或者,採樣因數可以是分數採樣因數,例如兩個正整數p和q的比率p/q等。
總結本實施例的這一部分,大小均衡網路(用於上採樣)和大小轉換網路(用於下採樣)用於調整子採樣色度通道的大小,使得YUV420中的三個分量大小相同。然後,這些分量可以由現有的VAE結構處理。
此外,如上所述,本發明還提供了用於執行上述方法的步驟的設備。
圖15示出了用於對圖像部分進行編碼的編碼器1500。所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度。所述編碼器包括:上採樣模組1510,用於對所述色度分量進行上採樣,以獲得解析度與所述亮度分量的解析度匹配的上採樣色度分量;編碼模組1520,用於將所述亮度分量和所述上採樣色度分量編碼到碼流中。
在一個實現示例中,所述編碼器可以包括:一個或多個處理器;非暫態性電腦可讀存儲介質,與所述一個或多個處理器耦合並存儲由所述一個或多個處理器執行的程式,其中,當所述一個或多個處理器執行所述程式時,所述編碼器用於執行上述方法。
圖16示出了用於從碼流中解碼圖像部分的解碼器1600。所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度。所述解碼器包括:解碼模組1610,用於從所述碼流中解碼所述亮度分量和解析度與所述色度分量的解析度匹配的中間色度分量;下採樣模組1620,用於對所述中間色度分量進行下採樣,以獲得所述圖像部分中的所述色度分量。
具體地,所述解碼器可以包括:一個或多個處理器;非暫態性電腦可讀存儲介質,與所述一個或多個處理器耦合並存儲由所述一個或多個處理器執行的程式,其中,當所述一個或多個處理器執行所述程式時,所述解碼器用於執行上述方法。
根據本發明的一個實施例,提供了一種存儲在非暫態性介質中的電腦程式。所述電腦程式包括代碼,當所述代碼在一個或多個處理器上執行時,執行任一上述方法的步驟。
本發明的一些實施例可以提供以下優點,總結如下: 亮度的樣本資訊得以完全保留。 亮度的空間資訊得以完全保留。 用於大小均衡和大小轉換的網路(即經訓練的網路)(兩種經訓練的網路都可以是CNN)可以與VAE網路結構聯合訓練。這可以具有進一步改善結果的優點。 VAE網路結構可以靈活處理各種其它色度子採樣格式,例如YUV422。 跨分量資訊得以保留。
第二實施例
第二實施例可以與第一實施例的任一上述示例性實現方式組合。如上所述,第一實施例涉及對參照亮度分量進行子採樣的色度分量的處理。色度分量的上採樣使這種調整大小後的色度分量以及亮度分量適合在基於可訓練網路的框架(例如ANN或VAE)中進一步處理。因此,亮度分量可以保持大部分不受影響,所以亮度的樣本資訊和空間資訊得以保留。需要高品質重建圖像(或其部分)的許多應用都需要實現這一點。這表示需要保持高解析度,因此編碼和解碼處理不可以篡改亮度。
但是,在其它應用中,高解析度不一定是最重要的目標,而是更快地執行編碼和解碼過程。此外,期望目標可能是低碼率,導致解析度較低,例如亮度下採樣導致的低解析度。因此,可能需要在提供低解析度或高解析度圖像的編碼和解碼處理之間進行選擇。
這個問題可以通過第二實施例來解決,第二實施例涉及在調整兩個或兩個以上輸入通道的解析度以匹配時,在亮度的下採樣與色度的上採樣之間進行適應性切換。亮度下採樣和色度上採樣還可以稱為採樣模式。兩種採樣模式中的哪一種可以執行是根據亮度和色度通道在編碼端確定的,並向解碼端指示和/或由解碼端確定。
具體地,如下參考本發明的各種示例性實現方式和方面進一步所述,與色度的大小(解析度)匹配的亮度下採樣和與亮度的大小(解析度)匹配的色度上採樣由編碼器適應性地選擇。編碼器選擇哪一種採樣模式可以通過各種方式指示,如下進一步詳述,並且可以包括通過接收到的碼流指示和/或從接收到的碼流中確定。根據指示其中一種採樣模式(即亮度下採樣或色度上採樣)的方式,解碼端執行亮度上採樣或色度下採樣,以產生與輸入到編碼器的圖像部分具有相同解析度的重建圖像部分(即與輸入幀相同的子採樣格式)。
根據本發明的一個實施例,提供了一種用於對圖像部分進行編碼的方法。所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度。所述圖像部分是指圖像(image/picture)中的一定數量樣本,所述數量小於所述圖像中的樣本總數。所述圖像部分還可以包括所述圖像中的所有樣本。術語“樣本”還可以指圖元。所述圖像部分可以是靜止圖像或視訊圖像。術語“圖像”和“圖像部分”可以作為同義詞使用。所述圖像部分可以包括一個或多個色度分量。例如,亮度和色度格式YUV420中的圖像部分包括兩個色度分量U和V(還稱為色度通道)。相對於整個圖像,所述圖像部分的色度解析度可以小於亮度通道的解析度。或者,相對於所述圖像的一部分,色度解析度可以小於亮度通道的解析度。在這種“部分”亮度解析度的情況下,亮度通道和一個或多個色度通道與所述圖像的同一部分有關。所述圖像的這一部分還可以稱為所述圖像的區域。
下採樣亮度有利於實現低解析度以降低碼率,而上採樣色度有利於實現高解析度以保留亮度資訊。因此,適應性切換能夠根據對碼率或圖像品質的要求和/或限制選擇採樣模式。由於在為圖像部分選擇的圖像處理的任何一種情況下,經處理的亮度和色度分量具有匹配的解析度,因此輸出可以在VAE框架或支援高效編碼的另一框架內處理。
所述方法在圖31中示出,並包括步驟3110:選擇以下之一作為所述圖像部分的圖像處理: 對所述亮度分量進行下採樣,以獲得解析度與所述色度分量的解析度匹配的下採樣亮度分量; 對所述色度分量進行上採樣,以獲得解析度與亮度分量的解析度匹配的上採樣色度分量。
解析度是根據二維(two-dimension,2D)亮度通道的大小(即尺寸)給出的。但是,需要說明的是,解析度還可以通過不同於亮度的通道的尺寸給出,該通道可以是色度通道或其它類型的通道,例如深度通道等。解析度通常通過2D亮度和/或色度通道沿x和y方向的樣本數給出或通過在一個時刻的通道中的樣本總數(圖像中的樣本總數)給出。
在亮度下採樣和/或色度上採樣之前,亮度分量和/或色度分量的解析度可以從記憶體(memory/storage)等中獲得,在記憶體中,該解析度可以與待編碼的圖像部分一起存儲。圖像部分可以是圖像的一部分,也可以是整個圖像。因此,圖像部分可以包括一個或多個亮度樣本和一個或多個色度樣本。在一些實施例中,圖像部分可以是構成圖像的多個圖像部分中的一個。這些圖像部分可以通過將圖像細分成圖像部分來獲得。通常,圖像部分的大小(尺寸)可以相同,也可以不同。
圖像可以是視訊(運動圖像)的一部分。相應通道的解析度可以根據樣本數來提供。或者,通道解析度可以根據與圖像大小(即所述圖像中的所有樣本)有關的比率來提供。
圖31的所述方法還包括步驟3120:根據所選圖像處理對所述圖像部分進行處理。換句話說,所選圖像處理可以是下採樣亮度或上採樣色度中的一種。此外,所述方法包括步驟3130:根據所選圖像處理生成碼流,其中,所述生成包括對所述經處理的圖像部分進行編碼。圖像部分的編碼可以由自動編碼器執行,例如由變分自動編碼器(variational autoencoder,VAE)或另一種自動編碼器執行。本領域已知VAE可以高效執行與圖像編碼和解碼相關的任務,而且在所需碼率與重建圖像的品質之間實現良好的平衡。
在亮度下採樣和色度上採樣之間選擇的圖像處理在任何一種情況下都提供調整大小後具有相同解析度(例如相同尺寸)的亮度分量和色度分量。因此,無論選擇哪種圖像處理,大小相等的亮度和色度通道都可以在通用框架(例如ANN框架,例如VAE)內處理。
這具體包括子採樣色度格式,例如YUV422、YUV420。顏色格式還可以包括任何其它亮度和色度格式,其中任何通道可以具有不同的大小。圖2C所示的VAE的編碼器部分則可以通過上文參考圖2C所述的方式處理相應的大小相等的三通道輸入。此外,圖像處理的選擇可以在亮度下採樣和色度上採樣之間進行適應性切換。因此,可以選擇低解析度或高解析度圖像處理。
圖17通過YUV420顏色格式的示例來說明編碼端,在這種情況下,色度輸入U和V的解析度小於亮度分量Y的解析度。如圖15所示,在編碼端,YUV輸入經過大小均衡處理。一方面,這包括對亮度分量進行下採樣1710,如圖17的上分支所示。本示例中的輸出是大小相同的三個YUV分量。這裡,大小相同是指色度分量U和V的大小(尺寸)。另一方面,通過在圖17的下分支中執行的大小均衡處理對色度分量進行上採樣1720。同樣,輸出是大小相同的三個YUV分量。這裡,大小相同是指亮度分量。在VAE等對上分支和下分支的大小均衡YUV進行編碼之後,根據成本函數確定成本。例如,成本確定可以基於率失真優化(rate-distortion-optimization,RDO)1730。最終要使用哪種採樣模式(即色度上採樣或亮度下採樣)取決於上分支還是下分支的處理提供較低成本。在圖17的示例中,最低成本採樣模式通過標誌(指示符)指示,編碼到碼流中或單獨向解碼器指示。下文詳細論述如何根據成本選擇採樣模式的各種方法。
在RDO中,優化了速率和失真的加權和。但是,本發明並不限於基於速率和失真的成本最小化。例如,除了或代替速率和/或失真,可以在成本函數中考慮複雜度。可以添加或使用其它成本參數來代替上述參數。
在所述方法的一種實現方式中,所述上採樣和/或下採樣由經訓練的網路執行。
如第一實施例所述,編碼端的經訓練的網路可以是適合下採樣或上採樣的任何類型的網路。例如,這包括人工神經網路(artificial neural network,ANN),例如神經網路、卷積神經網路(convolutional neural network,CNN)等。用於亮度下採樣和/或色度上採樣的經訓練的網路還可以稱為大小均衡網路,因為這兩種網路都提供調整大小後解析度與色度通道的解析度匹配(即亮度下採樣1710)或與亮度通道的解析度匹配(即色度上採樣1720)的顏色(亮度、色度)分量作為輸出。換句話說,在大小均衡網路進行處理之後,輸出的Y、U和V通道具有相同的解析度(即大小)。
圖19和圖20示出了在顏色格式為YUV420的情況下,編碼端的大小均衡網路的實現示例。圖19示出了執行亮度下採樣(上分支)的大小均衡網路,圖20示出了對兩個色度U和V執行上採樣的大小均衡網路。在本示例中,各層屬於卷積神經網路(convolutional neural network,CNN)。
圖19和圖20所示的卷積網路層以與第一實施例(例如圖5至圖8)類似的方式定義。概括如下。
Conv. N×K×K:表示卷積網路層,卷積核為K×K,K為正整數。K通常為數字3或5。但是,K並不限於這些數位,而是可以設置為其它正整數。具體地,K的值可以為2或更大。N是正整數,表示卷積神經網路的輸出通道的數量。
Act.:表示啟動層,可以是非線性啟動函數,例如上述ReLU或GDN。
Conv.N×K×K/2↑:表示與Conv. N×K×K相同,但該層進一步在水準和垂直方向都按因數2對輸出進行上採樣(上轉換)。這由“2”和向上箭頭表示。
Conv.2×K×K/2↓:表示與Conv. N×K×K相同,但進一步在水準和垂直方向都按因數2對輸出進行下採樣(下轉換)。這由“2”和向下箭頭表示。
Conv.N×K×K, Act.:表示卷積層加啟動層。
如圖19和圖20所述,待編碼的圖像部分的顏色格式為YUV420。這表示亮度大小為w×h,色度大小為w/2×h/2。但是,本領域技術人員瞭解到,可以採用其它格式(各種色度子採樣),例如YUV422等。
亮度處理:圖19中用於亮度處理的大小均衡網路包括第一層Conv. N×K×K/2↓,具有K×K核和作為輸出的N個通道。這一層在水準和垂直方向都按因數2對亮度分量進行下採樣。這一層之後是一系列啟動層Act.和卷積層加啟動層Conv. N×K×K, Act. 。大小均衡網路由最後一層(即卷積層Conv. 1×K×K)終止,因此具有一個通道作為輸出,即下採樣亮度分量Y。亮度分量的大小(解析度)現在調整為與色度分量U和V的大小相同。這種處理在圖17的上分支(1710)中執行。
色度處理:圖20中用於色度分量處理的大小均衡網路包括第一層Conv. N×K×K/2↑,具有K×K核和作為輸出的N個通道。這一層在水準和垂直方向都按因數2對兩個色度分量U和V進行上採樣。這一層之後是一系列啟動層Act.和卷積層加啟動層Conv. N×K×K, Act. 。大小均衡網路由最後一層(即卷積層Conv. 2×K×K)終止,因此具有兩個通道作為輸出,即上採樣色度分量U和V。色度分量U和V的大小(解析度)現在調整為與亮度分量Y的大小相同。這種處理在圖17的下分支(1720)中執行。需要說明的是,在這種情況下,亮度分量得以保留,具有第一實施例中論述的所有優點。
從圖19和圖20可以明顯看出,在任何一種情況下,相應卷積層Conv. N×K×K/2↓和Conv. N×K×K/2↑的輸出為N個通道,並進一步通過啟動層(即非線性啟動函數,例如ReLU或GDN)處理。調整大小後的亮度和一個或多個色度還可以分別稱為中間亮度和一個或多個中間色度。然後,相應的大小相等的輸出亮度和一個或多個輸出色度用作它們在上分支和下分支的相應VAE的輸入。上分支和下分支的VAE將經編解碼碼流作為結果傳送,這時可以重建經編解碼碼流以獲得品質(損失)。然後,可以在RDO 1730中使用品質(與失真成反比)和速率(例如,通過碼流中的比特量測量)來選擇可以執行RDO之後的VAE的適當處理。
上述大小均衡處理不限於YUV420顏色格式,而是可以應用於其它子採樣色度格式,例如YUV422等。
在第一實施例中,描述了編碼端的色度上採樣可以使用亮度分量作為邊資訊。這可以與上述第二實施例的一個或多個色度分量的處理組合。此外,同樣的流程也可以應用於編碼端對亮度的下採樣,因為色度用作邊資訊。
圖23針對編碼端進一步說明了這一點,示出了與圖17中類似的編碼器結構以及圖像部分的圖像處理的選擇可以通過編碼到經編碼碼流中的標誌(指示符)指示的示例性情況。如圖23所示,與圖17的示意圖的不同之處在於亮度下採樣(上分支)使用關於色度分量U和V的資訊。類似地,色度上採樣(下分支)使用關於亮度Y的資訊。否則,亮度和一個或多個色度的相應採樣處理以與上文參考圖17論述的相同方式執行。
因此,無論是否執行亮度下採樣和/或色度上採樣,在任何一種情況下,跨分量資訊都用於相應的採樣。這表示亮度與一個或多個色度之間的相關性得以保留。
圖25和圖26分別示出了編碼端的用於亮度下採樣和色度上採樣的大小均衡網路的示例性實現方式。如圖25和圖26所示,相應的大小均衡網路在它們的卷積層和啟動層的排列順序方面的設計與圖19和圖20所示的設計相同。不同之處在於,添加了附加層,以便將圖25中的一個或多個色度或圖26中的亮度提供給相應的大小均衡網路。在圖25的情況下,所述添加層是用於色度分量的卷積層Conv. N×K×K/1↑,具有K×K核和作為輸出的N個通道,這一輸出被輸入到啟動層Act. 。在圖26的情況下,所述添加層是用於亮度的卷積層Conv. N×K×K/1↓,具有K×K核和作為輸出的N個通道,這一輸出被輸入到啟動層Act. 。在圖25和圖26所示的示例中,將相應的輸出信號與大小均衡網路中的第一卷積層Conv. N×K×K/2↓和Conv. N×K×K/2↑之後的啟動層Act.的輸出相加。
例如,相應的加法可以是將一個或多個色度分量與下採樣亮度分量逐元素相加以及將亮度分量與一個或多個上採樣色度分量逐元素相加。因此,可以高效地執行使用亮度作為邊資訊的色度上採樣以及使用色度作為邊資訊的亮度下採樣。另外,原始解析度較高的亮度中可能存在的細節可以在原始子採樣色度中恢復。類似地,原始解析度較低的色度中可能存在的細節可以在原始亮度中恢復。
亮度和色度分量的聯合(組合)處理(在亮度下採樣和/或色度上採樣處理中)可以不限於加法操作。或者,色度和亮度可以級聯。這通常會產生級聯的亮度和色度複合物,其大小大於亮度分量和色度分量各自的大小。其它類型的組合操作也可以使用,和/或與加法或級聯組合。因此,相應的大小均衡網路使用亮度和色度的資訊進行色度上採樣和/或亮度下採樣。
如上所述,哪一種圖像處理在編碼端執行可以通過各種方式確定。下文對此進行討論。
在所述方法的一種示例性實現方式中,所述選擇包括對速率和失真的成本函數進行估算。根據所述(編碼)方法的一種實現方式,所述選擇還包括根據所述成本函數,分別確定所述中間下採樣亮度分量和所述色度分量的成本以及所述亮度分量和所述中間上採樣色度分量的成本。此外,在所述選擇中,所述確的成本較低的圖像部分的圖像處理被選擇。因此,亮度分量和子採樣色度分量的整體編碼是通過使用成本最低的採樣模式(即亮度下採樣或色度上採樣)高效執行的。
例如,成本可以是根據重建圖像部分和原始圖像部分與碼率之間的失真指定的損失。在這種情況下,損失可以表示為:
Figure 02_image071
或者
Figure 02_image073
在這裡,
Figure 02_image075
表示拉格朗日(Lagrange)乘數,這是一個可以預定義的數字。該數位可以基於所需應用和/或結果憑經驗確定。如上所述,可以使用成本函數的其它參數。此外,需要說明的是,本發明不一定包括RDO。例如,選擇可以由預先為這種選擇訓練的經訓練的網路(例如ANN)執行。也可能有各種其它方法。
所述選擇還可以包括對所述亮度分量進行下採樣,以獲得中間下採樣亮度分量;對所述色度分量進行上採樣,以獲得中間上採樣色度分量。在圖17中,在RDO 1730之後,VAE應用於亮度下採樣或色度上採樣之後大小匹配的顏色分量。但是,事實並非如此。相反,可以使用由所選上分支(1710)或下分支(1720)的VAE生成的碼流,而不是再次使用VAE。換句話說,經編解碼部分可以重複使用,從而降低一定複雜度。
圖17示出了三個VAE。使用三次VAE可能會比較複雜且耗時。因此,為了降低複雜度,在一些示例性實現方式中,上分支和下分支中的VAE並不是完整的網路。相反,它們可以由模型替代,這些模型並不真正生成碼流,而是估計速率和失真。在估計/選擇更好的分支之後,在RDO 1730之後使用真實VAE來生成要發送(傳送)給解碼器的碼流。如果分支中模型VAE對速率和失真的估計比RDO之後的VAE更快,這可能是有利的。在編碼端,這兩種情況都可能存在(兩個VAE相對三個VAE)。
在其中一種示例性實現方式中,所述確定成本包括將所述中間下採樣亮度分量和所述色度分量編碼到第一碼流中;將所述亮度分量和所述中間上採樣色度分量編碼到第二碼流中。在此之後,根據所述成本函數確定所述第一碼流和所述第二碼流的成本。因此,實際成本可以準確地確定,因為它是基於經編碼的第一碼流和第二碼流。但是,如上所述,本發明並不限於這種方法。相反,可以通過估計函數估計成本,而不是編碼到碼流中。此外,為了獲得速率而進行的編碼並不需要通過實際生成碼流來執行。例如,成本可以根據量化資料的數量和/或量化資料的分佈,或通過使用為這種估計而訓練的經訓練的網路,或通過任何可考慮的方式來估計。
根據一個實現示例,生成用於攜帶經編碼圖像或視訊資料的碼流包括將指示所選圖像處理的選擇指示符編碼到碼流中。這降低了指示已經對碼流執行的圖像處理的複雜度。例如,選擇指示符可以具有一個比特的長度,並且能夠在兩個值之間區分,一個值表示亮度下採樣,另一個值表示色度上採樣。
這在圖17中示出。如上所述,對於具有亮度分量和子採樣色度分量的圖像部分,執行亮度下採樣(上分支)和色度上採樣(下分支)的採樣處理。在任何一種情況下,都提供大小相等的亮度和色度分量,分別輸入到上分支和下分支的VAE。兩個VAE都計算其相應的亮度和色度輸入的成本,該成本可以基於碼率和失真(RDO)。根據哪種成本較低,選擇相應的圖像處理。根據所選圖像處理,生成碼流,但不將指示符編碼到碼流中。所述圖像處理(即編碼端的亮度下採樣或色度上採樣)的選擇可以通過選擇指示符指示。例如,所述指示符可以是標誌。通過將標誌插入(可以包括編碼)到碼流中,編碼端已經執行的所選圖像處理可以在碼流中向解碼器指示。然後,解碼器從碼流解析指示符,並根據指示符確定要執行的圖像處理。具體地,這種選擇指示符可以取第一值和第二值。這種選擇指示符的第一值可以表示亮度已經在編碼器側進行下採樣(1710),因此要在解碼器側進行上採樣。這種選擇指示符的第二值可以表示色度已經在編碼器側進行上採樣(1720),因此要在解碼器側進行下採樣。在圖17中,功能塊“上採樣或下採樣”1740表示將選擇指示符插入到碼流中。
或者,所選圖像處理可以在沒有編碼到碼流中的顯式指示符(例如,1比特標誌)的情況下進行指示。
根據另一個實現示例,所述生成碼流包括將所述亮度分量的寬度W和/或高度H的指示編碼到所述碼流中。因此,原始圖像部分的寬度和高度可以指示給編碼器。這種指示可以指定亮度分量的解析度。如果亮度分量和色度分量的解析度之間的比率是已知的,則可以根據指示的W和H相應地確定色度解析度。這種指示可以是圖像或視訊編解碼的一部分。通常,經編碼圖像或視訊的碼流包括圖像或視訊尺寸的指示。
圖29示出了一種示例性實現方式。類似於圖17所示的示例,對於具有亮度分量和解析度小於亮度分量的解析度的色度分量(因此相對於亮度分量進行“子採樣”)的圖像部分,執行亮度下採樣(上分支)2910和色度上採樣(下分支)2920的採樣處理。上分支和下分支的大小相等的亮度和色度分量分別輸入到VAE。兩個VAE計算其相應的亮度和色度輸入的成本,該成本可以基於碼率和失真(RDO)2930。根據哪種成本較低,選擇相應的圖像處理。根據所選圖像處理生成碼流。在本示例性實現方式中,與圖17的不同之處在於將選擇指示符(例如標誌)編碼到碼流中。然後,解碼器可以根據碼流,例如根據編碼到碼流中的亮度的寬度和高度,確定要執行的圖像處理。或者或另外,在碼流中指示的其它參數,例如用於編解碼目的的參數,可以用於在解碼器側推導待應用的處理(亮度上採樣或色度下採樣)。這些參數可以在編碼器和解碼器側預定義和已知,以便編碼器和解碼器一致地使用這些參數來選擇處理。
根據本發明的一個實施例,提供了一種用於從碼流中重建圖像部分的方法。這種方法可以應用於解碼端。如上文參考第一實施例所述,所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度。所述圖像部分是指圖像(image/picture)中的一定數量樣本,所述數量小於所述圖像中的樣本總數。所述圖像部分還可以包括所述圖像中的所有樣本。所述圖像可以靜止圖像或視訊(圖像序列)。所述圖像部分可以包括一個或多個色度分量。例如,亮度和色度格式YUV420中的圖像部分包括兩個色度分量U和V(還稱為色度通道)。色度解析度可能小於亮度通道的解析度(在圖像部分或整個圖像中)。圖像部分中的亮度和色度分量通常是空間相關的,因為它們參考同一圖像區域。
所述方法在圖32中示出,並包括步驟S3210:從所述碼流中解碼解析度相同的亮度分量和色度分量。如上所述,解析度可以通過二維(two-dimension,2D)亮度通道的大小(即尺寸)給出。所述從碼流中解碼所述經處理的圖像部分可以由變分自動編碼器(variational autoencoder,VAE)等自動編碼器執行。本領域已知VAE可以高效執行與圖像編碼和解碼相關的任務,而且在所需碼率與重建圖像的品質之間實現良好的平衡。但是,本發明並不限於使用自動編碼器。通常,可以應用任何編碼器,包括例如,僅對一些解碼器操作或功能使用經訓練的網路(例如,ANN或任何基於ML/DL的網路)的編碼器。
所述方法還包括步驟S3220:根據所述碼流確定以下之一作為圖像處理: 對所述經解碼的亮度分量進行上採樣,並獲取包括所述經解碼的色度分量和所述上採樣亮度分量的重建圖像部分; 對所述經解碼的色度分量進行下採樣,並獲取包括所述經解碼的亮度分量和所述下採樣色度分量的重建圖像部分。
可以通過從碼流中解析用於指示待應用的處理的選擇指示符來進行確定。但是,如上所述,在一些實施例中,不一定要顯式指示選擇指示。相反,可以從碼流中與經編碼圖像或視訊資料相關的其它參數中推導出。
此外,所述方法包括步驟S3230:根據所述確定的圖像處理獲取所述圖像部分。因此,編碼到碼流中的圖像部分可以由相同類型的經訓練的網路的解碼器部分處理,例如圖2所示的VAE,因為經編碼的亮度分量和色度分量具有相同大小。此外,確定圖像處理為亮度上採樣和色度下採樣之一在任何一種情況下都提供調整大小後的亮度分量或色度分量,使得它們具有對應於輸入用於編碼的分量(原始圖像分量)的不同大小。這表示圖像部分被重建為其原始顏色格式,其中,色度的解析度小於色度。因此,無論確定哪一種圖像處理,經編碼的大小相等的亮度和色度通道都可以在通用VAE框架內處理。此外,圖像處理的確定可以在亮度上採樣和色度下採樣之間進行適應性切換。這確保可以在任何一種情況下都重建具有原始顏色格式的圖像部分。因此,適應性切換可以根據一些優化標準(例如RDO等)選擇低解析度或高解析度圖像處理。
圖18示出了解碼端及其操作。參考圖17的示例,其中,採樣模式通過編碼到碼流中的標誌(指示符)指示,該標誌是解碼端從碼流中解析出來的。根據功能塊1840中的標誌的值(即是否表示編碼段的下轉換(亮度)或上轉換(色度)),在相應的上分支和下分支中,亮度被上轉換1810或色度被下轉換1820。這表示,根據標誌的指示,輸入碼流中的亮度和色度分量具有原始經編解碼圖像中的一個或多個色度的大小或亮度的大小。在這兩種情況下,相應的上採樣和/或下採樣處理可以通過大小轉換處理執行,並提供原始格式中的重建幀作為輸出。但是,如圖18所示,上分支1810執行亮度上採樣,下分支1820執行色度分量(U和/或V)下採樣。相應的大小轉換可以由相應的大小轉換網路執行。與圖17的情況一樣,通過經編碼標誌指示採樣模式是支援解碼器確定執行哪一種採用模式來重建原始圖像部分的示例。如何在解碼端確定要執行的採樣模式的各種方法可以通過以下論述的其它方式執行。此外,需要說明的是,在這些示例中,調整大小後的顏色分量(通道)與原始經編解碼圖像的大小匹配。但是,這並不限制本發明。對於一些應用,提供尺寸與原始經編解碼圖像的尺寸不同的顏色分量可能是有益的。
在一個實現示例中,上採樣和/或下採樣由經訓練的網路執行。編碼端的經訓練的網路可以是任何類型的適合進行下採樣或上採樣的網路。例如,這包括人工神經網路(artificial neural network,ANN),例如神經網路、卷積神經網路(convolutional neural network,CNN)等。解碼器處的經訓練的網路可以是根據期望解析度調整輸入到該網路的通道的大小的任何大小調整網路。結果是尺寸(大小)互不相同的通道,例如,尺寸與原始經編碼圖像的尺寸或其它期望尺寸不同的通道。
圖21和圖22示出了在顏色格式為YUV444情況下,解碼端的大小轉換網路的實現示例。亮度分量和色度分量U和V具有不同大小。圖21示出了執行亮度上採樣的大小轉換網路(對應於1810的上分支)。圖22(對應於1820)示出了對兩個色度U和V執行下採樣的大小轉換網路。在本示例中,相應的層可以視為卷積神經網路中的層。
參考圖5,圖21和圖22所示的卷積網路層以類似的方式定義。因此,相同的術語和/或標記法在此也適用。如圖21和圖22所述,待從碼流中解碼的圖像部分的輸入顏色格式為YUV444。這表示從碼流中解碼的亮度和色度分量具有相同大小(即解析度)。
亮度處理(圖18中的上分支1810和圖21):用於亮度處理的大小轉換網路包括一系列卷積層加上啟動層對Conv. N×K×K, Act. 。大小轉換網路由最後一層終止(即卷積層Conv. 1×K×K/2↑),這一層在水準和垂直方向都按因數2對亮度分量進行上採樣。輸出是一個通道,即大小與原始亮度相同的重建亮度分量。
色度處理(圖18中的下分支1820和圖22):用於色度處理的大小轉換網路類似地包括一系列卷積層加上啟動層Conv. N×K×K. Act. 。大小轉換網路由最後一層終止(即卷積層Conv. 2×K×K/2↓),這一層在水準和垂直方向都按因數2對兩個色度分量進行下採樣。輸出是兩個通道,即大小與其原始色度分量相同的兩個重建色度分量。需要說明的是,在這種情況下,亮度分量得以保留,具有第一實施例中論述的所有優點。
由於解碼端的大小轉換網路的輸入亮度和色度分量具有相同的解析度(即大小),因此這些分量可以在現有的相同框架(例如具有相同輸入大小的ANN架構)內高效處理。因此,可以使用與應用於亮度相同的網路架構重建具有一個或多個子採樣色度的任何顏色格式的圖像部分。因此,還能夠在處理不同分量(通道)時保留跨分量相關性資訊。
在第一實施例中,描述了解碼端的色度下採樣可以使用亮度分量作為邊資訊。這可以與上述第二實施例的一個或多個色度分量的處理組合。此外,同樣的流程也可以應用於解碼端對亮度的上採樣,因為色度用作邊資訊。
圖24針對解碼端進一步說明了這一點,示出了與圖18中類似的解碼器結構以及圖像部分的圖像處理的選擇可以通過編碼到經編碼碼流中的標誌(指示符)指示的示例性情況。如圖24所示,與圖18的示意圖的不同之處在於亮度上採樣(上分支)使用關於色度分量U和V的資訊。類似地,色度下採樣(下分支)使用關於亮度Y的資訊。否則,亮度和一個或多個色度的相應採樣處理以與上文參考圖18論述的相同方式執行。
因此,無論是否執行亮度上採樣和/或色度下採樣,在任何一種情況下,跨分量資訊都用於相應的採樣。這表示亮度與一個或多個色度之間的相關性可以用於重建通道。同樣的方法可以應用於其它顏色空間中的通道,或者通常應用於不限於顏色通道的任何通道,例如深度或運動或與圖像相關的其它附加資訊。
圖27和圖28分別示出了解碼端的亮度上採樣和色度下採樣的大小轉換網路的示例性實現方式。如圖27和圖28所示,大小轉換網路在它們的卷積層和啟動層的排列順序方面的設計與圖21和圖22所示的設計相同。對於圖27的情況,不同之處在於色度分量U和V與下採樣亮度一起直接輸入到第一卷積層Conv. N×K×K, Act. 。類似地,對於圖28的情況,亮度與上採樣色度分量U和V一起直接輸入到第一卷積層Conv. N×K×K, Act. 。
這表示,對於解碼端,大小轉換網路中的第一處理層與編碼端相反可能不需要執行加法操作,其中,這種操作可以如圖25和圖26所示執行。編碼器側的大小均衡網路中的組合(連接或聯合處理)是為了使用跨分量相關性。在解碼端不需要這種處理的相反處理,因為解碼器的大小轉換網路中的第一層的輸入(包括亮度分量和色度分量)已經具有如圖24所示在編碼器側獲得的相同大小。
如上所述,在解碼端執行哪一種圖像處理可以通過各種方式確定。下文對此進行討論。
在一種示例性實現方式中,確定待應用的處理還包括:從所述碼流中解碼指示圖像處理的選擇指示符;將通過所述選擇指示符指示的處理確定為所述圖像處理。這樣可以高效指示圖像處理。相應地,解碼端可以根據碼流中包括的簡單指示符快速確定編碼端已經使用的圖像處理(即亮度下採樣或色度上採樣)。上文參考編碼端描述了選擇指示符。如上所述,選擇指示符可以是至少可以取第一值和第二值的指示符,其中,第一值表示亮度的上採樣(在解碼端,這對應於編碼端的亮度的下採樣),第二值表示一個或多個色度的下採樣(在解碼端,對應於編碼端的一個或多個色度的上採樣)。需要說明的是,選擇指示符通常可以取兩個以上值中的一個。例如,選擇指示符可以取第三值和/或第四值,其中,第三值表示不執行大小調整,第四值表示要調整多個分量的大小或者甚至進一步指定調整大小的方式(按何種比例或調整到哪種期望解析度)。這適用於編碼端和解碼端,因為編碼器和解碼器對選擇指示符具有相同的理解(解釋或語義)。另一方面,提供只能取兩個值(第一值和第二值)中的一個值的1比特標誌(指示符)可能是高效的,因為它不會引入額外的高指示開銷。
解碼端操作如圖18所示。如上所述,解碼器接收具有相同大小的亮度和色度分量的碼流。該碼流由編碼端的圖像處理產生。在選擇指示符(標誌,例如RDO)編碼到碼流中的情況下,解碼器解析碼流並根據選擇指示符確定要執行哪種圖像處理。然後,如果標誌表示亮度在編碼端已經經過下採樣,則解碼器對亮度分量執行上採樣。相反,如果標誌表示色度分量在編碼端已經經過上採樣,則解碼器對色度分量執行下採樣。在任何一種情況下,都會重建其原始大小的圖像部分。
在一些實施例中,(除了或代替其它示例性實現方式)確定可以包括從碼流中解碼圖像部分中的亮度分量的寬度W和/或高度H。這樣可以根據圖像部分中的亮度通道的寬度和高度確定圖像處理。換句話說,攜帶圖像部分的重要資訊的通道被用作所述確定的參考。
此外,根據一種示例性實現方式,所述確定還可以包括確定所述寬度
Figure 02_image001
和高度
Figure 02_image003
是否與所述經解碼的亮度分量的相應寬度
Figure 02_image001
和高度
Figure 02_image003
相同。如果確定W和H與
Figure 02_image001
Figure 02_image003
相同,則對所述經解碼的色度分量進行下採樣。在這裡,“相同”表示W和H以及相應的
Figure 02_image001
Figure 02_image003
具有相同的尺寸,例如在寬度方向(即沿水準x方向)和高度方向(即沿垂直y方向)上的樣本數相同。換句話說,W和H都與相應的寬度
Figure 02_image001
和高度
Figure 02_image003
匹配。在這種示例性情況下,色度在編碼端已經進行了上採樣(高解析度結果)。但是,如上所述,匹配也可以通過在編碼器側對亮度進行下採樣來實現。然後,解碼器執行相反操作,例如,對亮度進行上採樣或對色度進行下採樣,以獲得圖像在編碼前的原始解析度。通過根據寬度和高度推導待應用的處理,可以通過排除顯式選擇指示符來降低速率。圖像或圖像部分的寬度和高度通常已經在用於配置圖像或圖像部分的編碼/解碼的參數集內指示。
需要說明的是,編碼端和解碼端對圖像部分的這種圖像處理,即色度上採樣(編碼器)和色度下採樣(解碼器)就採樣處理(上採樣/下採樣)而言對應於第一實施例的處理。
在上述示例中,如果原始圖像的W和H分別與從碼流中解碼的圖像的
Figure 02_image001
Figure 02_image003
不匹配,則對色度進行下採樣,因為假設編碼器對色度進行了上採樣。這可能是默認功能。
但是,本發明並不限於此。默認功能可以包括在解碼端對亮度進行上採樣,假設編碼器對亮度進行了下採樣。
因此,如果確定W和H中的任一個與
Figure 02_image001
和/或
Figure 02_image003
不相同,則對所述經解碼的亮度分量進行上採樣。在這裡,“不相同”表示W和/或H以及相應的
Figure 02_image001
和/或
Figure 02_image003
在寬度方向(即沿水準x方向)和/或高度方向(即沿垂直y方向)上具有不同的樣本數。換句話說,W和H中的任一個與相應的寬度
Figure 02_image001
和/或高度
Figure 02_image003
不對應。在這種情況下,亮度在編碼端已經進行了下採樣(低解析度結果)。
因此,通過將亮度的W和H與經解碼亮度的相應寬度
Figure 02_image001
和高度
Figure 02_image003
進行簡單比較,可以很容易地在編碼端確定圖像處理。關於(經解碼)色度的資訊可以不使用。這減少了在確定圖像處理時的開銷。
需要說明的是,上述色度下採樣或亮度上採樣都可以適用於解碼器。例如,解碼器和編碼器可以具有規則,根據該規則決定使用兩種處理類型中的哪一種。該規則可以是基於一些條件的決策,這些條件取決於一些語法元素(編碼參數),例如寬度和高度和/或品質參數或其它參數。
在另一種示例性實現方式中,確定待應用的處理包括確定所述碼流的大小S。大小S可以使用任何單位,例如比特、位元組、字等。確定還包括從碼流中解碼圖像部分的潛在表示
Figure 02_image005
,其中,潛在表示具有寬度
Figure 02_image007
和/或高度
Figure 02_image009
。此外,通過將碼流的大小以及寬度
Figure 02_image007
和高度
Figure 02_image009
的函數與預定義的閾值T進行比較來確定圖像處理。這樣可以根據潛在表示
Figure 02_image005
來確定圖像處理。潛在表示可以基於特徵圖。因此,圖像處理確定更準確,因為利用了潛在表示和特徵圖。根據一個實現示例,所述確定包括確定大小S與
Figure 02_image011
的比率是否等於或大於所述預定義閾值(這裡的“*”是指乘法)。如果確定所述比率等於或大於所述預定義閾值,則對所述經解碼的色度分量進行下採樣。在這種情況下,色度在編碼端已經進行了上採樣(高解析度結果)。需要說明的是,編碼端和解碼端對圖像部分的這種圖像處理,即色度上採樣(編碼器)和色度下採樣(解碼器)就採樣處理(上採樣/下採樣)而言可以對應於第一實施例的處理。
如果待應用的處理的確定結果是比率小於預定義閾值,則在一種示例性實現方式中,對所述經解碼的亮度分量進行上採樣。在這種情況下,亮度在編碼端已經進行了下採樣(低解析度結果)。
因此,通過簡單地對碼流的大小與潛在空間的大小
Figure 02_image011
的比率設定閾值,可以很容易在編碼端確定圖像處理。這使圖像處理更高效和快速地確定,因為只使用碼流和潛在空間。這樣進一步降低了確定圖像處理時的開銷。
這在圖30中示出。在這種情況下,解碼器根據碼流確定待執行的圖像處理。例如,所述確定可以由分析碼流的決策模組執行。例如,當圖像部分中的亮度分量的寬度W和高度H被編碼到碼流中時,解碼器從碼流中解析W和H。此外,亮度分量和色度分量從碼流中解碼。因此,經解碼的亮度分量的寬度
Figure 02_image001
和高度
Figure 02_image003
是已知的,或者可以在解碼端確定。例如,這也可以由決策模組執行。然後,所述模組將W和H與經解碼的亮度分量的相應寬度
Figure 02_image001
Figure 02_image003
高度進行比較(例如,逐樣本)。如果W=
Figure 02_image001
且H=
Figure 02_image003
,則對經解碼的色度分量進行下採樣。否則,如果這些等式中的任何一個都不成立,則對經解碼的亮度分量進行上採樣。
可選地或另外,確定模組可以根據碼流的大小S和潛在空間表示
Figure 02_image005
確定圖像處理。然後,決策模組可以使用比較函數和預定義閾值將大小S與寬度
Figure 02_image007
和/高度
Figure 02_image009
進行比較。例如,比較函數可以包括取比率R=S/
Figure 02_image011
,並確定R是否等於或大於預定義閾值。
如果是,即R≥T,則對經解碼的色度分量進行下採樣。在這種情況下,色度在編碼端已經進行了上採樣(高解析度結果)。如果否(即R>T),則對經解碼的亮度分量進行上採樣。在這種情況下,亮度在編碼端已經進行了下採樣(低解析度結果)。根據一個實現示例,確定包括從碼流中解碼潛在表示
Figure 02_image005
。此外,將圖像處理被確定以經解碼的潛在表示作為輸入的分類神經網路的輸出。輸出是第一類別和第二類別中的一種,第一類別表示經解碼的亮度分量的上採樣,第二類別表示經解碼的色度分量的下採樣。這樣可以通過神經網路使用分類靈活地執行圖像處理確定。此外,可以與特徵分類相結合用於所述確定,因此可以更準確地確定圖像處理。此外,解碼端的上採樣或下採樣可以在不從碼流中解析任何邊資訊的情況下執行,這降低了碼率成本。
這種基於神經網路的確定也可以由決策模組執行,在這種情況下,所述模組根據分類結果確定圖像處理。例如,分類可以通過殘差神經網路(residual neural network,ResNet)使用重建潛在空間
Figure 02_image005
作為輸入來執行。採樣處理,即編碼端的色度上採樣和解碼端的色度下採樣,可以提供與第一實施例中已經論述的類似方式執行。為了完整性重複此操作。
例如,色度上採樣(編碼端)可以包括在色度分量的每n排樣本之後插入一排樣本。在這裡,排是指行和/或列,n是等於或大於1的整數。例如,這表示在每一(n=1)或兩(n=2)行和/或列之後,可以插入所述一排樣本。這樣可以通過在特定行和/或列插入已排樣本來進一步調整色度上採樣。類似的處理可以應用於解碼端的亮度。
或者,色度上採樣(編碼端)可以包括在色度分量的每n排樣本之後插入一排值為0的樣本。這可以稱為零填充。這是一種簡單的上採樣方式,只需將相應的一排樣本設置為0。因此,不需要更多的指示和/或處理開銷。類似的處理可以應用於解碼端的亮度。
這在圖9中例示,圖9示出了上採樣色度的4×4樣本。實心圓形符號是指原始色度的樣本。空心圓圈是指具有0值的樣本。在本示例中,0值樣本是在色度分量的第一行和第一列之後插入的。此外,在本示例中,大小均衡網路簡化為單層網路(M=1),在圖5的“加法”操作之後沒有其它層。在圖9(編碼端)中,U和V的上採樣簡化為在顏色格式為YUV420的情況下在每行和每列中填充0。在YUV422格式的情況下,0的填充是針對每列的。在這種情況下,網路不是卷積神經網路,但是可以理解為全連接神經網路(fully-connected neural network,FCNN)中的一層。因此,這一網路本身不是可訓練的,但是可以與VAE結構聯合訓練,以獲得更好的編解碼性能。因此,相應的FCNN也可以指經訓練的網路。
在另一種實現方式中,色度上採樣可以通過在色度分量的每n排樣本之後插入值等於色度分量中相應的最鄰近樣本的一排樣本來執行。例如,可以通過將色度值複製到相應的相鄰樣本中來插入值。與上述零填充的情況一樣,這可以通過在特定行和/或列插入一排樣本來進一步調整色度上採樣。此外,使用參考色度的最鄰近樣本插入的一排樣本的值,色度上採樣的精度更高,因為使用了參考原始色度的相鄰資訊(由相鄰色度樣本值表示)。
這在圖11中例示,圖11示出了上採樣色度的4×4樣本。同樣,實心圓形符號是指原始色度的樣本。空心圓圈是指值與相應的色度相鄰樣本一致的樣本。在圖11中,將色度值插入到相應的相鄰樣本中由箭頭表示。在本示例中,樣本值是在色度分量的第一行和第一列之後插入的。此外,在本示例中,大小均衡網路簡化為單層網路(M=1),在圖5的“加法”操作之後沒有其它層。在圖11(編碼端)中,U和V的上採樣簡化為每行和每列中的最鄰近樣本上採樣,如圖11中的YUV420格式所示。在YUV422格式的情況下,最鄰近樣本上採樣是針對每列的。在上述色度上採樣示例中,網路不是卷積神經網路,但是可以理解為全連接網路中的一層。因此,這一網路本身不是可訓練的,但是可以與VAE結構聯合訓練,以獲得更好的編解碼性能。因此,相應的FCNN也可以指經訓練的網路。
但是,這僅僅是具有一層的用於大小均衡的經訓練的網路的示例。本領域技術人員很清楚,大小均衡層可以具有多層,如圖5和圖7所示。在這種情況下,可以訓練大小均衡網路執行色度上採樣。
同樣,可以執行解碼端對亮度進行上採樣的圖像處理,至少通過每n排填充一些附加樣本。但是,通過使用插值濾波器執行亮度上採樣可以是有利的,即將添加的亮度樣本的值確定為相鄰樣本的函數,例如確定為平均值或加權平均值等。通過經訓練的(經預訓練的)網路(例如基於ML/CL的網路等)執行亮度上採樣可以是有利的。
例如,色度下採樣(解碼端)可以通過在中間色度分量的每n排樣本之後移除一排樣本來執行。在這裡,排是行和/或列,n是等於或大於1的整數。例如,這表示在每一(n=1)或兩(n=2)行和/或列之後,可以移除(刪除)所述一排(行和/或列)。因此,可以通過簡單地移除相應的一排樣本來快速執行中間色度的下採樣。
圖10和圖12示出了移除一排樣本的示例。需要說明的是,圖10和圖12的樣本配置分別對應於圖9和圖11的樣本配置,從而在編碼端對色度分量進行上採樣處理。具體地,圖10和圖12示出了中間色度的4×4樣本。實心圓形符號是指原始色度的樣本。交叉空心圓圈是指可以為非0值的樣本,是編碼端的大小均衡網路進行色度上採樣處理(使用和不使用亮度作為邊資訊)和/或解碼端的大小轉換網路的一個或多個第一層進行色度處理。
在圖10和圖12所示的示例中,大小轉換網路簡化為單層網路(M=1)。在圖10和圖12(解碼端)中,簡化了U和V的下採樣,以便在顏色格式為YUV420的情況下丟棄奇數行和奇數列樣本。對於YUV422,移除奇數列樣本。在圖10和圖12所示的這些情況中的任何一種情況下,相應網路不是卷積神經網路,但是可以理解為全連接神經網路(fully-connected neural network,FCNN)中的一層。因此,在該示例中,這一網路本身是不可訓練的,但是可以與VAE結構聯合訓練,以獲得更好的編解碼性能。因此,相應的FCNN也可以指經訓練的網路。
但是,這僅僅是用於大小轉換的具有一層的經訓練的網路的示例。本領域技術人員很清楚,大小轉換層可以具有多層,如圖6和圖8所示。在這種情況下,可以訓練大小轉換網路執行色度上採樣。
需要說明的是,圖5所示的編碼端的大小均衡網路和圖6所示的解碼端的大小轉換網路可以與VAE結構聯合訓練。這可以進一步改善子採樣色度分量的編碼和解碼處理,特別是在VAE框架內。例如,這包括編碼和解碼性能和/或重建圖像(picture/image)的品質。
或者,這些網路可以單獨訓練並用作經預訓練的VAE網路。在任何一種情況下,相應的網路都是指經訓練的網路或經預訓練的網路。同樣,可以執行編碼端對亮度進行下採樣的圖像處理。通常,訓練可以事先執行,即在網路在推理階段用於編碼、上採樣、解碼等之前執行。
此外,如上所述,本發明還提供了用於執行上述方法的步驟的設備。
圖33示出了用於對圖像部分進行編碼的編碼器3300。所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度。所述編碼器包括:選擇模組3310,用於選擇以下之一作為所述圖像部分的圖像處理:對所述亮度分量進行下採樣,以獲得解析度與所述色度分量的解析度匹配的下採樣亮度分量;對所述色度分量進行上採樣,以獲得解析度與所述亮度分量的解析度匹配的上採樣色度分量。此外,所述編碼器包括處理模組3320,用於根據所選圖像處理對所述圖像部分進行處理。所述編碼器還包括生成模組3330,用於根據所選圖像處理生成碼流,其中,所述生成包括對所述經處理的圖像部分進行編碼。
在一個實現示例中,所述編碼器可以包括:一個或多個處理器;非暫態性電腦可讀存儲介質,與所述一個或多個處理器耦合並存儲由所述一個或多個處理器執行的程式,其中,當所述一個或多個處理器執行所述程式時,所述編碼器用於執行上述方法。
圖34示出了用於從碼流中重建圖像部分的解碼器3400。所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度。所述解碼器包括解碼模組3410,用於從所述碼流中解碼解析度相同的亮度分量和色度分量。此外,所述解碼器包括確定模組3420,用於根據所述碼流確定以下之一作為圖像處理:對所述經解碼的亮度分量進行上採樣,並獲取包括所述經解碼的色度分量和所述上採樣亮度分量的重建圖像部分;對所述經解碼的色度分量進行下採樣,並獲取包括所述經解碼的亮度分量和所述下採樣色度分量的重建圖像部分。所述解碼器還包括獲取模組3430,用於根據所述確定的圖像處理獲取所述圖像部分。
在一個實現示例中,所述解碼器可以包括:一個或多個處理器;非暫態性電腦可讀存儲介質,與所述一個或多個處理器耦合並存儲由所述一個或多個處理器執行的程式,其中,當所述一個或多個處理器執行所述程式時,所述解碼器用於執行上述方法。
根據本發明的一個實施例,提供了一種存儲在非暫態性介質中的電腦程式。所述電腦程式包括代碼,當所述代碼在一個或多個處理器上執行時,執行任一上述方法的步驟。
本發明的一些實施例可以提供優點,這些優點可以總結如下: 亮度樣本資訊得以完全保留。 亮度空間資訊得以完全保留。 大小均衡CNN和大小轉換CNN可以與VAE網路結構聯合訓練。聯合訓練可以進一步改善結果。或者,大小均衡CNN和大小轉換CNN也可以與VAE分開訓練。 其它類型的色度子採樣格式(例如YUV422)可以由VAE網路結構處理。 跨分量亮度和色度資訊得以保留。 在實現低解析度以降低碼率的亮度下採樣和實現高解析度以保留亮度資訊的色度上採樣之間進行適應性切換。
硬體和軟體中的一些示例性實現方式
圖35示出了可以部署上述編碼器和解碼器處理鏈的對應系統。圖35為示例性編解碼系統的示意框圖,該示例性編解碼系統可以是利用本申請中技術的視訊、圖像、音訊和/或其它編解碼系統(或簡稱為編解碼系統)等。視訊編解碼系統10中的視訊編碼器20(或簡稱為編碼器20)和視訊解碼器30(或簡稱為解碼器30)表示兩個示例,即可以用於根據本申請中描述的各種示例執行各技術的設備。例如,視訊編碼和解碼可以使用神經網路,例如圖2A至圖2C所示的神經網路,該神經網路可以是分散式的並且可以包括上述在色度上採樣之前(第一實施例)或評估是對色度上採樣還是對亮度下採樣之前編碼的碼流(第二實施例)。
如圖35所示,編解碼系統10包括源設備12,源設備12用於將經編碼圖像資料21提供給目的地設備14等,以對經編碼圖像資料21進行解碼。
源設備12包括編碼器20,並且可以另外(即可選地)包括圖像源16、前置處理器(或預處理單元)18(例如圖像前置處理器18)和通信介面或通信單元22。
需要說明的是,本發明的第一和第二實施例和以及上述與編碼有關的示例性實現方式可以作為編碼器20的一部分執行。但是,還可以考慮這些實施例是由前置處理器18執行的。類似地,在解碼端,本發明的第一和第二實施例以及上述與解碼有關的示例性實現方式可以作為解碼器30的一部分執行。但是,還可以考慮執行這些實施例是由後處理器32執行的。
圖像源16可以包括或者可以是任何類型的用於捕獲真實世界圖像等的圖像擷取裝置;和/或任何類型的圖像生成設備(例如用於生成電腦動畫圖像的電腦圖形處理器);或者任何類型的用於獲取和/或提供真實世界圖像、電腦動畫圖像(例如螢幕內容、虛擬實境(virtual reality,VR)圖像)和/或其任何組合(例如,增強現實(augmented reality,AR)圖像)的設備。圖像源可以為任何類型的存儲任一上述圖像的記憶體(memory/storage)。
為了區分前置處理器18和預處理單元18執行的處理,圖像或圖像資料17還可以稱為原始圖像或原始圖像資料17。
前置處理器18用於接收(原始)圖像資料17並對圖像資料17執行預處理,得到預處理圖像19或預處理圖像資料19。前置處理器18執行的預處理可以包括修剪(trimming)、顏色格式轉換(例如從RGB轉換為YCbCr)、調色或去噪等。可以理解的是,預處理單元18可以為可選元件。需要說明的是,預處理還可以使用神經網路(例如在圖1至圖7中的任一個中)。如上所述,預處理可以包括神經網路(經訓練的網路)對色度上採樣(第一實施例和/或第二實施例)或對亮度下採樣(第二實施例)的處理。
視訊編解碼器20用於接收預處理圖像資料19並提供經編碼圖像資料21。
源設備12中的通信介面22可以用於接收經編碼圖像資料21,並通過通信通道13將經編碼圖像資料21(或對經編碼圖像資料21進一步處理後得到的資料)發送給另一設備(例如目的地設備14)或任何其它設備,以便進行存儲或直接重建。
目的地設備14包括解碼器30(例如視訊解碼器30),並且可以另外(即可選地)包括通信介面或通信單元28、後處理器32(或後處理單元32)和顯示裝置34。
目的地設備14中的通信介面28用於(例如)直接從源設備12或從存放裝置(例如經編碼圖像資料存放裝置)等任何其它源,接收經編碼圖像資料21(或對經編碼圖像資料21進一步處理後得到的資料),並將經編碼圖像資料21提供給解碼器30。
通信介面22和通信介面28可以用於經由源設備12與目的地設備14之間的直接通信鏈路(例如直接有線或無線連接)或者經由任何類型的網路(例如有線網路、無線網路或其任何組合,或者任何類型的私網和公網或其任何類型的組合)發送或接收經編碼圖像資料21或經編碼資料21。
例如,通信介面22可以用於將經編碼圖像資料21封裝成合適的格式(例如資料包),和/或通過任何類型的傳輸編碼或處理方式來處理經編碼圖像資料,以便通過通信鏈路或通信網路進行傳輸。
例如,與通信介面22對應的通信介面28可以用於接收傳輸資料,並通過任何類型的對應傳輸解碼或處理和/或解封裝方式對傳輸資料進行處理,得到經編碼圖像資料21。
通信介面22和通信介面28都可以配置為圖35中從源設備12指向目的地設備14的通信通道13的箭頭所表示的單向通信介面,或者配置為雙向通信介面,並且可以用於發送和接收消息等,以建立連接、確認並交換與通信鏈路和/或資料傳輸(例如經編碼圖像資料傳輸)相關的任何其它資訊,等等。解碼器30用於接收經編碼圖像資料21並提供經解碼圖像資料31或經解碼圖像31(例如,使用基於圖1至圖7中的一個或多個的神經網路)。
目的地設備14中的後處理器32用於對經解碼圖像資料31(也稱為重建圖像資料)(例如經解碼圖像31)進行後處理,得到後處理圖像資料33(例如後處理圖像33)。後處理單元32執行的後處理可以包括,例如顏色格式轉換(例如從YCbCr轉換為RGB)、調色、修剪(trimming)或重採樣,或者任何其它處理,以便提供經解碼圖像資料31由顯示裝置34等顯示,等等。
目的地設備14中的顯示裝置34用於接收後處理圖像資料33,以便向使用者或觀看者等顯示圖像。顯示裝置34可以為或者可以包括任何類型的用於表示重建圖像的顯示器,例如集成或外部顯示器或顯示幕。例如,顯示器可以包括液晶顯示器(liquid crystal display,LCD)、有機發光二極體(organic light emitting diode,OLED)顯示器、等離子顯示器、投影儀、微型LED顯示器、矽基液晶(liquid crystal on silicon,LCoS)顯示器、數位光處理器(digital light processor,DLP)或任何類型的其它顯示器。
雖然圖35示出了源設備12和目的地設備14作為單獨的設備,但是設備的實施例還可以同時包括兩種設備或兩種功能、源設備12或對應功能以及目的地設備14或對應功能。在這些實施例中,源設備12或對應功能以及目的地設備14或對應功能可以使用相同的硬體和/或軟體或通過單獨的硬體和/或軟體或其任何組合來實現。
根據描述,圖35所示的源設備12和/或目的地設備14中的不同單元或功能的存在和(精確)劃分可以根據實際設備和應用而有所不同,這對技術人員來說是顯而易見的。
編碼器20(例如視訊編碼器20)或解碼器30(例如視訊解碼器30)或者或編碼器20和解碼器30兩者可以通過處理電路來實現,例如一個或多個微處理器、一個或多個數位訊號處理器(digital signal processor,DSP)、一個或多個專用積體電路(application-specific integrated circuit,ASIC)、一個或多個現場可程式設計閘陣列(field-programmable gate array,FPGA)、一個或多個離散邏輯、一個或多個硬體、一個或多個視訊編解碼專用處理器或其任意組合。編碼器20可以通過處理電路46實現,以體現包括神經網路的各種模組,例如圖2A至圖2C中任一個所示的神經網路或其部分。解碼器30可以由處理電路46實現,以體現結合圖2A至圖2C論述的各種模組和/或本文描述的任何其它解碼器系統或子系統。處理電路可以用於執行下文描述的各種操作。如果上述技術部分在軟體中實現,則一種設備可以將該軟體的指令存儲在合適的非暫態性電腦可讀存儲介質中,並且可以使用一個或多個處理器在硬體中執行這些指令,以執行本發明中的技術。視訊編碼器20或視訊解碼器30可以作為組合編碼器/解碼器(編解碼器)的一部分集成在單個設備中,如圖36所示。
源設備12和目的地設備14可以包括多種設備中的任一種,包括任何類型的手持或固定設備,例如,筆記型電腦或膝上型電腦、手機、智慧手機、平板或平板電腦、攝像機、臺式電腦、機上盒、電視、顯示裝置、數位媒體播放機、視訊遊戲機、視訊流設備(例如內容服務伺服器或內容分佈伺服器)、廣播接收器設備、廣播發射器設備等,並且可以不使用或使用任何類型的作業系統。在一些情況下,源設備12和目的地設備14可以用於無線通訊。因此,源設備12和目的地設備14可以是無線通訊設備。
在一些情況下,圖35所示的視訊編解碼系統10僅僅是示例性的,本申請中的技術可以適用於不一定包括編碼設備與解碼設備之間的任何資料通信的視訊編解碼設置(例如視訊編碼或視訊解碼)。在其它示例中,資料從本機存放區器中檢索,通過網路傳輸,等等。視訊編碼設備可以對資料進行編碼並將資料存儲到記憶體中,和/或視訊解碼設備可以從記憶體檢索資料並對資料進行解碼。在一些示例中,編碼和解碼由相互不通信而只是將資料編碼到記憶體和/或從記憶體檢索資料並對資料進行解碼的設備來執行。
圖37為本發明一個實施例提供的視訊編解碼設備1000的示意圖。視訊編解碼設備1000適用于實現本文描述的公開實施例。在一個實施例中,編解碼設備1000可以是解碼器(例如圖35中的視訊解碼器30)或編碼器(例如圖35中的視訊編碼器20)。
視訊編解碼設備1000包括:用於接收資料的入埠1010(或輸入埠1010)和接收單元(Rx)1020;用於處理資料的處理器、邏輯單元或中央處理單元(central processing unit,CPU)1030;用於發送資料的發送單元(Tx)1040和出埠1050(或輸出埠1050);用於存儲資料的記憶體1060。視訊編解碼設備1000還可以包括與入埠1010、接收單元1020、發送單元1040和出埠1050耦合的光電(optical-to-electrical,OE)組件和電光(electrical-to-optical,EO)元件,用於光信號或電信號的出入。
處理器1030通過硬體和軟體實現。處理器1030可以實現為一個或多個CPU晶片、一個或多個核(例如多核處理器)、一個或多個FPGA、一個或多個ASIC和一個或多個DSP。處理器1030與入埠1010、接收單元1020、發送單元1040、出埠1050和記憶體1060通信。處理器1030包括編解碼模組1070。編解碼模組1070實現上文描述的公開實施例。例如,編解碼模組1070執行、處理、準備或提供各種編解碼操作。因此,將編解碼模組1070包含在內為視訊編解碼設備1000的功能得到了實質性的改進,並且影響了視訊編解碼設備1000到不同狀態的轉換。或者,以存儲在記憶體1060中並由處理器1030執行的指令來實現編解碼模組1070。
記憶體1060可以包括一個或多個磁片、一個或多個磁帶機或一個或多個固態硬碟,並且可以用作溢出資料存放裝置,以在選擇程式來執行時存儲這些程式以及存儲在執行程式過程中讀取的指令和資料。例如,記憶體1060可以是易失性的和/或非易失性的,可以是唯讀記憶體(read-only memory,ROM)、隨機存取記憶體(random-access memory,RAM)、三態內容定址記憶體(ternary content-addressable memory,TCAM)和/或靜態隨機存取記憶體(static random-access memory,SRAM)。
圖38為一個示例性實施例提供的裝置1100的簡化框圖。裝置1100可以用作圖35的源設備12和目的地設備14中的任一個或兩個。
裝置1100中的處理器1102可以是中央處理單元。或者,處理器1102可以是現有的或今後將開發出的能夠操控或處理資訊的任何其它類型的設備或多個設備。雖然可以使用如圖所示的處理器1102等單個處理器來實施所公開的實現方式,但使用多個處理器可以提高速度和效率。
在一種實現方式中,裝置1100中的記憶體1104可以是唯讀記憶體(read only memory,ROM)設備或隨機存取記憶體(random access memory,RAM)設備。任何其它合適類型的存放裝置都可以用作記憶體1104。記憶體1104可以包括處理器1102通過匯流排1112訪問的代碼和資料1106。記憶體1104還可包括作業系統1108和應用程式1110,應用程式1110包括至少一個程式,這個程式使得處理器1102執行本文所述方法。例如,應用程式1110可以包括應用1至N,還可以包括執行本文所述方法的視訊編解碼應用。
裝置1100還可以包括一個或多個輸出設備,例如顯示器1118。在一個示例中,顯示器1118可以是將顯示器與觸敏元件組合的觸敏顯示器,該觸敏元件能夠用於感測觸摸輸入。顯示器1118可以通過匯流排1112與處理器1102耦合。
雖然裝置1100的匯流排1112在本文中描述為單個匯流排,但是可以包括多個匯流排。此外,次要存放裝置可以直接與裝置1100中的其它元件耦合或可以通過網路訪問,並且可以包括單個集成單元(例如一個存儲卡)或多個單元(例如多個存儲卡)。因此,裝置1100可以通過多種配置實現。
一些示例性實施例的概述
本發明的一些實施例提供了對包括亮度分量和下採樣色度分量作為輸入的圖像部分進行編碼和解碼的方法和裝置。因此,對色度分量進行上採樣以匹配亮度分量,然後經訓練的網路對具有匹配大小的分量進行編碼。這可以使編碼和解碼更高效,因為可以使用具有類似設計(輸入尺寸、解析度)的經訓練的網路。亮度與色度之間的空間相關性也可以通過這種方式保留。
根據本發明的一個方面,提供了一種用於對圖像部分進行編碼的方法。所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度,所述方法包括:對所述色度分量進行上採樣,以獲得解析度與所述亮度分量的所述解析度匹配的上採樣色度分量;將所述亮度分量和所述上採樣色度分量編碼到碼流中。
這提供了大小相等的亮度和色度輸出作為輸出。因此,所述輸出則可以由具有類似結構(特別是相同輸入解析度)的經訓練的網路(例如在機器學習框架內)進行處理。如果所有顏色分量的解析度都相同,則機器學習框架能夠在所有樣本位置上以相同的方式利用顏色互相關。在該過程中,亮度通道可以保持不受影響,在這種情況下,不存在品質損失。
在一些示例性實現方式中,所述對色度分量進行上採樣基於所述亮度分量的樣本。這楊可以根據亮度分量的內容進行上採樣。
根據所述方法的一種示例性實現方式,所述上採樣還包括通過經訓練的網路對所述色度分量進行處理。基於經訓練的網路的編解碼可以提高性能,這要歸功於可以使用所需資料訓練這種網路。
在一種實現方式示例中,通過經訓練的網路進行處理包括向經訓練的網路輸入亮度分量和色度分量,並從經訓練的網路輸出上採樣色度分量。使用亮度分量作為經訓練的網路的輸入可以保留亮度和色度通道之間的跨分量資訊。
根據一個示例,經訓練的網路包括至少兩個處理層,至少兩個處理層中的第一層根據輸入色度分量執行上採樣,至少兩個處理層中的第二層對所述第一層的輸出和亮度分量執行處理。組合處理可以改善亮度與色度之間的相關性的使用,並可以對多個分量使用通用網路設計。
在所述方法的一種實現方式示例中,對第一層的輸出和亮度分量進行處理包括將亮度分量和上採樣色度分量逐元素相加。因此,可以高效地執行使用亮度作為邊資訊的色度上採樣,因為亮度包含更多的資訊,例如關於物件形狀的資訊。另外,原始解析度較高的亮度中可能存在的細節可以在原始子採樣色度中恢復。
在一個示例中,上採樣包括在色度分量的每n排樣本之後插入一排樣本,其中,排為行和/或列,n為等於或大於1的整數。該示例性實現方式可以通過在每兩行或每兩列中插入某個預定義值實現簡單有效的上採樣。
根據一個示例,上採樣包括在色度分量的每n排樣本之後插入一排值為0的樣本,其中,排為行和/或列,n為等於或大於1的整數。這是一種簡單的上採樣方式,只需將相應的一排樣本設置為0。
根據所述方法的另一個實現方式示例,上採樣包括在色度分量的每n排樣本之後插入值等於色度分量中相應的最鄰近樣本的一排樣本,其中,排為行和/或列,n為等於或大於1的整數。這樣可以通過考慮特定行和/或列中的相鄰樣本的內容來進一步調整色度上採樣。此外,使用參考色度的最鄰近樣本插入的一排樣本的值可以提高色度上採樣的精度,因為使用了參考原始色度的相鄰資訊(由相鄰色度樣本值表示)。
根據一個示例,編碼由變分自動編碼器(variational autoencoder,VAE)執行。VAE可以有利於高效執行與圖像編碼和解碼相關的任務,而且在所需碼率與重建圖像的品質之間實現良好的平衡。
根據本發明的一個方面,提供了一種用於從碼流中解碼圖像部分的方法。所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度,所述方法包括:從碼流中解碼亮度分量和解析度與所述色度分量的解析度匹配的中間色度分量;對所述中間色度分量進行下採樣,以獲得所述圖像部分中的所述色度分量。因此,可以根據中間色度分量重建原始色度分量(即子採樣色度)。具體地,具有原始亮度和色度格式的圖像部分可以高品質重建。因此,解碼器能夠提供色度格式中的重建圖像部分作為輸出,色度的解析度(即大小)小於亮度的解析度。此外,由於亮度沒有被下採樣,因此Y的亮度資訊和空間資訊大部分得以保留。通常,通過相應編碼方法的對應其它特徵,解碼端提供的優點可以類似於編碼端提供的優點。
根據一種示例性實現方式,下採樣還包括通過經訓練的網路對中間色度分量進行處理。通過提供基於上採樣色度的碼流,解碼側可以高品質和/或低速率重建圖像(靜止或視訊圖像)。經訓練的網路可以提供適應性和高效的編解碼,從而在相同速率下提高品質或在相同品質下降低速率。
例如,通過經訓練的網路進行處理包括向經訓練的網路輸入中間色度分量,並從經訓練的網路輸出色度分量。因此,經訓練的網路可以在亮度和色度的輸入處設計有相似的解析度,從而降低複雜度,並可以降低處理開銷。例如,在一些實施例中,可能沒有必要使用亮度作為邊資訊以恢復色度。
根據所述方法的一個實現方式示例,經訓練的網路包括至少兩個處理層,其中,至少兩個處理層中的第一層對輸入中間色度分量執行處理;至少兩個處理層中的第二層對第一層的輸出執行下採樣。該示例性網路架構可以根據使用上採樣色度生成的碼流獲得原始解析度。
在另一個示例中,對中間色度分量進行下採樣基於亮度分量的樣本。因此,對色度通道進行下採樣可以考慮亮度通道的內容。
根據所述方法的一個實現方式示例,通過經訓練的網路進行處理包括向經訓練的網路輸入亮度分量。
例如,第一層對中間色度分量和亮度分量執行處理。因此,一個或多個亮度通道與色度通道之間的跨分量資訊得以保留。
在所述方法的另一個示例中,下採樣包括在中間色度分量的每n排樣本之後移除一排樣本,其中,排為行和/或列,n為等於或大於1的整數。因此,可以通過簡單地移除相應的一排樣本來快速執行中間色度的下採樣。
例如,解碼由變分自動編碼器(variational autoencoder,VAE)執行。因此,可以進行高效解碼,而且在所需碼率和/或重建圖像的品質之間實現良好的平衡。
根據本發明的一方面,提供了一種用於對圖像部分進行編碼的編碼器。所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度,所述編碼器包括處理電路,所述處理電路用於執行上述編碼方法的步驟。
根據本發明的一方面,提供了一種用於從碼流中重建圖像部分的解碼器。所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度,所述解碼器包括處理電路,所述處理電路用於執行上述解碼方法的步驟。
根據本發明的一方面,提供了一種存儲在非暫態性介質中的電腦程式。所述電腦程式包括代碼,當所述代碼在一個或多個處理器上執行時,執行任一上述方法的步驟。
根據本發明的一方面,提供了一種用於對圖像部分進行編碼的編碼器。所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度,所述編碼器包括:一個或多個處理器;非暫態性電腦可讀存儲介質,與所述一個或多個處理器耦合並存儲由所述一個或多個處理器執行的程式,其中,所述一個或多個處理器執行所述程式時,所述編碼器用於執行上述編碼方法。
根據本發明的一方面,提供了一種用於從碼流中解碼圖像部分的解碼器。所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度,所述解碼器包括:一個或多個處理器;非暫態性電腦可讀存儲介質,與所述一個或多個處理器耦合並存儲由所述一個或多個處理器執行的程式,其中,當所述一個或多個處理器執行所述程式時,所述解碼器執行上述解碼方法。
根據本發明的一個方面,提供了一種用於對圖像部分進行編碼的編碼器。所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度,所述編碼器包括:上採樣模組,用於對所述色度分量進行上採樣,以獲得解析度與所述亮度分量的解析度匹配的上採樣色度分量;編碼模組,將所述亮度分量和所述上採樣色度分量編碼到碼流中。
根據本發明的一個方面,提供了一種用於從碼流中解碼圖像部分的解碼器。所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度,所述解碼器包括:解碼模組,用於從所述碼流中解碼所述亮度分量和解析度與所述色度分量的解析度匹配的中間色度分量;下採樣模組,用於對所述中間色度分量進行下採樣,以獲得所述圖像部分中的所述色度分量。
這些實施例可以對具有亮度分量和上採樣色度分量的圖像部分進行高效編碼和/或解碼。換句話說,待編碼和/或解碼的圖像部分可以具有不同的亮度和色度格式,即亮度通道和色度通道的大小不同。
需要說明的是,本發明並不限於特定框架。此外,本發明並不限於圖像或視訊壓縮,還可以應用於物件檢測、圖像生成和識別系統。
本發明可以在硬體和/或軟體中實現。
為了清楚起見,任一上述實施例可以與上述其它任何一個或多個實施例組合以創建在本發明範圍內的新實施例。
總而言之,本發明涉及視訊編碼和解碼,具體涉及在基於深度學習的視訊(解碼)編碼中對色度子採樣格式進行處理。對應的裝置和方法能夠對包括亮度分量和解析度小於所述亮度分量的解析度的色度分量的相應圖像部分進行編碼和解碼處理。為了處理這些不同大小的亮度和色度通道,對色度分量進行上採樣,使得獲得的上採樣色度分量具有與其中一個亮度分量的解析度匹配的解析度。然後,亮度分量和上採樣色度分量被編碼到碼流中。為了重建所述圖像部分,從碼流中解碼亮度分量和解析度與亮度分量的解析度匹配的中間色度分量,然後對中間色度分量進行下採樣。因此,子採樣色度格式可以由自動編碼器/自動解碼器框架處理,同時保留亮度通道。
此外,本發明涉及圖像或視訊編碼和解碼。圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度。為了獲得所述亮度分量和所述色度分量的匹配解析度,在所述亮度分量的下採樣處理與所述色度分量的上採樣處理之間執行選擇。接著,將所選處理應用於所述圖像部分。然後,根據所選處理生成碼流,包括對所述經處理的圖像部分進行編碼。在色度上採樣與亮度下採樣之間進行選擇能夠針對所需應用調整輸入圖像部分。例如,一些應用的目的可能是降低複雜度或碼率,在這種情況下,亮度下採樣可能更有利,而其它應用的目的可能是獲得高品質,在這種情況下,色度上採樣可能更有利。
S1310、S1320、S1410、S1420、S3110、S3120、S3130、S3210、S3220、S3230:步驟 1500:編碼器 1510:上採樣模組 1520:編碼模組 1600:解碼器 1610:解碼模組 1620:下採樣模組 1710:NN大小均衡 1720:NN大小均衡 1730:RDO 1740:上採樣或下採樣 3310:選擇模組 3314、3424:上採樣器 3312、3422:下採樣器 3320:處理模組 3330:生成模組 3332:編碼模組 3400:解碼器 3410:解碼模組 3420:確定模組 3430:獲取模組 10:解碼系統 12:源設備 13:通信通道 14:目的地設備 16:圖像源 17:圖像資料 18:預處理器 19:預處理圖像資料 20:編碼器、視訊編碼器 22:通信介面 21:經編碼圖像資料 28:通信介面 30:解碼器、視頻解碼器 31:經解碼圖像資料 32:後處理器 33:後處理圖像資料 34:顯示設備 40:視訊解碼系統 41:一個或多個成像設備 42:天線 43:一個或多個處理器 44:一個或多個記憶體 45:顯示設備 46:處理電路 1000:視頻解碼設備 1010:入埠、輸入埠 1030:處理器 1020、1040 :Tx/ Rx 1050:出埠、輸出埠 1060:記憶體 1100:裝置 1102:處理器 1104:記憶體 1106:資料 1108:作業系統 1110:應用程式 1112:匯流排 1118:顯示器
下面結合附圖對本發明實施例進行詳細描述。 圖1(a)、圖1(b)和圖1(c)示出了亮度和色度YUV格式的示例,包括YUV444、YUV422和YUV420。 圖2A為人工神經網路中的層處理的輸入和輸出的示意圖。 圖2B為示例性自動編碼器的各部分的框圖。 圖2C為包括超先驗模型的變分自動編碼器架構的示意圖。 圖3為包括超先驗模型的VAE結構的示意圖,亮度分量的下採樣是在VAE結構中執行的。 圖4為本發明的基於VAE的編碼器和解碼器架構的示意圖,使用亮度分量作為邊資訊執行色度通道的上採樣和下採樣。 圖5為使用亮度分量作為邊資訊,在VAE架構的編碼端進行色度上採樣的大小均衡網路的示意圖。 圖6為使用亮度分量作為邊資訊,在VAE架構的解碼端進行(中間)色度下採樣的大小轉換網路的示意圖。 圖7為不使用亮度分量作為邊資訊,在VAE架構的編碼端進行色度上採樣的大小均衡網路的示意圖。 圖8為不使用亮度分量作為邊資訊,在VAE架構的解碼端進行(中間)色度下採樣的大小轉換網路的示意圖。 圖9示出了通過在奇數行和奇數列中插入0進行色度上採樣的一個示例。 圖10示出了通過從奇數行和奇數列中移除0進行色度下採樣的一個示例。 圖11示出了通過在值等於色度分量中相應的最鄰近樣本的奇數行和奇數列中插入0進行色度上採樣的另一個示例。 圖12示出了通過從對應於色度分量中最鄰近樣本的奇數行和奇數列中移除樣本值進行色度下採樣的另一個示例。 圖13為編碼方法的流程圖,包括將子採樣色度上採樣到大小與亮度相同的中間色度。 圖14為解碼方法的流程圖,包括從碼流中解碼中間色度以及將中間色度下採樣到大小與亮度不同的子採樣色度。 圖15為編碼器的框圖,包括上採樣模組和編碼模組。 圖16為解碼器的框圖,包括解碼模組和下採樣模組。 圖17為編碼器不使用一個或多個色度分量執行亮度下採樣(上分支)以及不使用亮度分量執行色度上採樣(下分支)以根據率失真優化(rate distortion optimization,RDO)及其在碼流中的指示(signaling)確定成本的示意圖。 圖18為解碼器根據從經編碼碼流中解析的指示符,不使用色度分量執行亮度上採樣(上分支)或者不使用亮度分量執行色度下採樣(下分支)的示意圖。 圖19為不使用一個或多個色度分量作為邊資訊,在VAE架構的編碼端進行亮度下採樣的大小均衡網路的示意圖。 圖20為不使用亮度分量作為邊資訊,在VAE架構的編碼端進行色度上採樣的大小均衡網路的示意圖。 圖21為不使用一個或多個色度分量作為邊資訊,在VAE架構的解碼端進行(中間)亮度上採樣的大小轉換網路的示意圖。 圖22為不使用亮度分量作為邊資訊,在VAE架構的解碼端進行(中間)色度下採樣的大小轉換網路的示意圖。 圖23為編碼器使用一個或多個色度分量執行亮度下採樣(上分支)以及使用亮度分量執行色度上採樣(下分支)以根據率失真優化(rate distortion optimization,RDO)及其在碼流中的指示(signaling)確定成本的示意圖。 圖24為解碼器根據從經編碼碼流中解析的指示符,使用一個或多個色度分量執行亮度上採樣(上分支)或者使用亮度分量執行色度下採樣(下分支)的示意圖。 圖25為使用一個或多個色度分量作為邊資訊,在VAE架構的編碼端進行亮度下採樣的大小均衡網路的示意圖。 圖26為使用亮度分量作為邊資訊,在VAE架構的編碼端進行色度上採樣的大小均衡網路的示意圖。 圖27為使用一個或多個色度分量作為輸入到網路的邊資訊,在VAE架構的解碼端進行(中間)亮度上採樣的大小轉換網路的示意圖。 圖28為使用亮度分量作為輸入到網路的邊資訊,在VAE架構的解碼端進行(中間)色度下採樣的大小轉換網路的示意圖。 圖29為不在碼流中指示(signal)指示符,編碼器不使用一個或多個色度分量執行亮度下採樣(上分支)以及不使用亮度分量執行色度上採樣(下分支)以根據率失真優化(rate distortion optimization,RDO)確定成本的示意圖。 圖30為解碼器根據決策模組對採樣模式的決策結果,不使用一個或多個色度分量執行亮度上採樣(上分支)或者不使用亮度分量執行色度下採樣(下分支)的示意圖。 圖31為編碼方法的流程圖,包括根據最低成本選擇一種圖像處理(亮度下採樣或色度上採樣)以及從經處理的圖像部分中生成碼流。 圖32示出了解碼方法的流程圖,包括從碼流中解碼亮度和色度以及確定一種圖像處理(亮度上採樣或色度下採樣)以從經處理的圖像部分中重建原始圖像部分。 圖33示出了編碼器的框圖,包括選擇模組、處理模組和生成模組,選擇模組還可以包括下採樣器(亮度)和上採樣器(色度)。 圖34示出了解碼器的框圖,包括解碼模組、確定模組和獲取模組,確定模組還可以包括下採樣器(色度)和上採樣器(亮度)。 圖35為用於實現本發明實施例的視訊編解碼系統的一個示例的框圖。 圖36為用於實現本發明實施例的視訊編解碼系統的另一個示例的框圖。 圖37為編碼裝置或解碼裝置的一個示例的框圖。 圖38為編碼裝置或解碼裝置的另一個示例的框圖。
1710:NN大小均衡
1720:NN大小均衡
1730:RDO
1740:上採樣或下採樣

Claims (23)

  1. 一種用於對圖像部分進行編碼的方法,其中,所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度,所述方法包括: 選擇以下之一作為所述圖像部分的圖像處理: 對所述亮度分量進行下採樣,以獲得解析度與所述色度分量的解析度匹配的下採樣亮度分量; 對所述色度分量進行上採樣,以獲得解析度與所述亮度分量的解析度匹配的上採樣色度分量; 根據所選圖像處理對所述圖像部分進行處理; 根據所選圖像處理生成碼流,其中,所述生成包括對所述經處理的圖像部分進行編碼。
  2. 如請求項1所述的方法,其中,所述選擇包括對速率和失真的成本函數進行估算。
  3. 如請求項2所述的方法,其中,所述選擇包括: 對所述亮度分量進行下採樣,以獲得中間下採樣亮度分量; 對所述色度分量進行上採樣,以獲得中間上採樣色度分量。
  4. 如請求項3所述的方法,其中,所述選擇包括: 根據所述成本函數,分別確定所述中間下採樣亮度分量和所述色度分量的成本以及所述亮度分量和所述中間上採樣色度分量的成本,其中, 在所述選擇中,所述確定成本較低的圖像部分的圖像處理被選擇。
  5. 如請求項4所述的方法,其中,所述確定包括: 將所述中間下採樣亮度分量和所述色度分量編碼到第一碼流中; 將所述亮度分量和所述中間上採樣色度分量編碼到第二碼流中; 根據所述成本函數,確定所述第一碼流和所述第二碼流的成本。
  6. 如請求項1至5任一項所述的方法,其中,所述生成碼流包括將表示所選圖像處理的選擇指示符編碼到所述碼流中。
  7. 如請求項1至5任一項所述的方法,其中,所述生成碼流包括將所述亮度分量的寬度W和/或高度H的指示編碼到所述碼流中。
  8. 如請求項1至7中任一項所述的方法,其中,所述上採樣和/或所述下採樣由經訓練的網路執行。
  9. 如請求項1至8中任一項所述的方法,其中,所述對所述經處理的圖像部分進行編碼由變分自動編碼器(variational autoencoder,VAE)執行。
  10. 一種用於從碼流中重建圖像部分的方法,其中,所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度,所述方法包括: 從所述碼流中解碼具有相同解析度的亮度分量和色度分量; 根據所述碼流確定以下之一作為圖像處理: 對所述經解碼的亮度分量進行上採樣,並獲取包括所述經解碼的色度分量和所述上採樣亮度分量的重建圖像部分; 對所述經解碼的色度分量進行下採樣,並獲取包括所述經解碼的亮度分量和所述下採樣色度分量的重建圖像部分; 根據所述確定的圖像處理,獲取所述圖像部分。
  11. 如請求項10所述的方法,其中,所述確定還包括: 從所述碼流中解碼表示圖像處理的選擇指示符; 將通過所述選擇指示符表示的所述處理確定為所述圖像處理。
  12. 如請求項10或11所述的方法,其中,所述確定還包括從所述碼流中解碼所述圖像部分中的所述亮度分量的寬度W和/或高度H。
  13. 如請求項12所述的方法,其中,所述確定還包括: 確定所述寬度W和所述高度H是否與所述經解碼的亮度分量的對應寬度
    Figure 03_image001
    和高度
    Figure 03_image003
    相同; 如果確定W和H與
    Figure 03_image001
    Figure 03_image003
    相同,則對所述經解碼的色度分量進行下採樣; 如果確定W和H中的任一個與
    Figure 03_image001
    和/或
    Figure 03_image003
    不相同,則對所述經解碼的亮度分量進行上採樣。
  14. 如請求項10所述的方法,其中,所述確定包括: 確定所述碼流的大小S; 從所述碼流中解碼所述圖像部分的潛在表示
    Figure 03_image005
    ,其中,所述潛在表示具有寬度
    Figure 03_image007
    和/或高度
    Figure 03_image009
    ; 通過將所述碼流的大小和所述寬度
    Figure 03_image007
    和/高度
    Figure 03_image009
    的函數與預定義閾值T進行比較,確定所述圖像處理。
  15. 如請求項14所述的方法,其中,所述確定包括: 確定所述大小S與
    Figure 03_image011
    的比率是否等於或大於所述預定義閾值; 如果確定所述比率等於或大於所述預定義閾值,則對所述經解碼的色度分量進行下採樣; 如果確定所述比率小於所述預定義閾值,則對所述經解碼的亮度分量進行上採樣。
  16. 如請求項10所述的方法,其中,所述確定包括: 從所述碼流中解碼潛在表示
    Figure 03_image005
    ; 將所述圖像處理確定為以所述經解碼的潛在表示作為輸入的分類神經網路的輸出,其中,所述輸出是第一類別和第二類別中的一種,所述第一類別表示所述經解碼的亮度分量的上採樣,所述第二類別表示所述經解碼的色度分量的下採樣。
  17. 如請求項10至16中任一項所述的方法,其中,所述上採樣和/或所述下採樣由經訓練的網路執行。
  18. 如請求項10至17中任一項所述的方法,其中,所述對所述經處理的圖像部分進行解碼由變分自動編碼器(variational autoencoder,VAE)執行。
  19. 一種存儲在非暫態性介質中的電腦程式,其中,所述電腦程式包括代碼,當所述代碼在一個或多個處理器上執行時,執行根據方法1至18中任一項所述的步驟。
  20. 一種用於對圖像部分進行編碼的編碼器,其中,所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度,所述編碼器包括: 一個或多個處理器; 非暫態性電腦可讀存儲介質,與所述一個或多個處理器耦合並儲存由所述一個或多個處理器執行的程式,其中,當所述一個或多個處理器執行所述程式時,所述編碼器用於執行如請求項1至9中任一項所述的方法。
  21. 一種用於從碼流中重建圖像部分的解碼器,其中,所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度,所述解碼器包括: 一個或多個處理器; 非暫態性電腦可讀存儲介質,與所述一個或多個處理器耦合並儲存由所述一個或多個處理器執行的程式,其中,當所述一個或多個處理器執行所述程式時,所述解碼器用於執行如請求項10至18中任一項所述的方法。
  22. 一種用於對圖像部分進行編碼的編碼器,其中,所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度,所述編碼器包括處理電路,所述處理電路用於執行如請求項1至9中任一項所述的方法的步驟。
  23. 一種從碼流中重建圖像部分的解碼器,其中,所述圖像部分包括亮度分量和色度分量,所述色度分量的解析度小於所述亮度分量的解析度,所述解碼器包括處理電路,所述處理電路用於執行如請求項10至18中任一項所述的方法的步驟。
TW110142948A 2020-11-19 2021-11-18 基於機器學習的圖像編解碼中的色度子採樣格式處理方法 TWI807491B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/EP2020/082769 WO2022106014A1 (en) 2020-11-19 2020-11-19 Method for chroma subsampled formats handling in machine-learning-based picture coding
WOPCT/EP2020/082769 2020-11-19

Publications (2)

Publication Number Publication Date
TW202228439A true TW202228439A (zh) 2022-07-16
TWI807491B TWI807491B (zh) 2023-07-01

Family

ID=73598828

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110142948A TWI807491B (zh) 2020-11-19 2021-11-18 基於機器學習的圖像編解碼中的色度子採樣格式處理方法

Country Status (5)

Country Link
US (1) US20230336736A1 (zh)
EP (1) EP4193595A1 (zh)
CN (1) CN116508320A (zh)
TW (1) TWI807491B (zh)
WO (1) WO2022106014A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB202115399D0 (en) * 2021-10-26 2021-12-08 Deep Render Ltd DR big book 6
US20230186435A1 (en) * 2021-12-14 2023-06-15 Netflix, Inc. Techniques for component-based image preprocessing

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3685577A4 (en) * 2017-10-12 2021-07-28 MediaTek Inc. METHOD AND DEVICE OF A NEURAL NETWORK FOR VIDEO ENCODING

Also Published As

Publication number Publication date
EP4193595A1 (en) 2023-06-14
US20230336736A1 (en) 2023-10-19
CN116508320A (zh) 2023-07-28
TWI807491B (zh) 2023-07-01
WO2022106014A1 (en) 2022-05-27

Similar Documents

Publication Publication Date Title
TWI805085B (zh) 基於機器學習的圖像解碼中色度子採樣格式的處理方法
TWI834087B (zh) 用於從位元流重建圖像及用於將圖像編碼到位元流中的方法及裝置、電腦程式產品
TWI830107B (zh) 通過指示特徵圖資料進行編碼
TWI806199B (zh) 特徵圖資訊的指示方法,設備以及電腦程式
TWI807491B (zh) 基於機器學習的圖像編解碼中的色度子採樣格式處理方法
US20230353766A1 (en) Method and apparatus for encoding a picture and decoding a bitstream using a neural network
US20240078414A1 (en) Parallelized context modelling using information shared between patches
EP4211899A1 (en) Decoding with signaling of feature map data
WO2022211657A9 (en) Configurable positions for auxiliary information input into a picture data processing neural network
TW202318265A (zh) 基於注意力的圖像和視訊壓縮上下文建模
WO2023160835A1 (en) Spatial frequency transform based image modification using inter-channel correlation information
WO2023172153A1 (en) Method of video coding by multi-modal processing
EP4272437A1 (en) Independent positioning of auxiliary information in neural network based picture processing
US20240015314A1 (en) Method and apparatus for encoding or decoding a picture using a neural network
US20240013446A1 (en) Method and apparatus for encoding or decoding a picture using a neural network comprising sub-networks
TW202416712A (zh) 使用神經網路進行圖像區域的並行處理-解碼、後濾波和rdoq
TW202326594A (zh) 使用可變輔助輸入的基於變換器的神經網路
TW202420815A (zh) 使用神經網路進行圖像區域的並行處理-解碼、後濾波和rdoq