[go: up one dir, main page]

TW202518905A - 用於使用密集運動流轉譯器的生成式臉部視訊壓縮的方法、非暫態性電腦可讀儲存媒體和解碼器 - Google Patents

用於使用密集運動流轉譯器的生成式臉部視訊壓縮的方法、非暫態性電腦可讀儲存媒體和解碼器 Download PDF

Info

Publication number
TW202518905A
TW202518905A TW113133660A TW113133660A TW202518905A TW 202518905 A TW202518905 A TW 202518905A TW 113133660 A TW113133660 A TW 113133660A TW 113133660 A TW113133660 A TW 113133660A TW 202518905 A TW202518905 A TW 202518905A
Authority
TW
Taiwan
Prior art keywords
facial
video
dense motion
types
decoder
Prior art date
Application number
TW113133660A
Other languages
English (en)
Inventor
陳柏林
尹珊至
琰 葉
王詩淇
Original Assignee
大陸商阿里巴巴(中國)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 大陸商阿里巴巴(中國)有限公司 filed Critical 大陸商阿里巴巴(中國)有限公司
Publication of TW202518905A publication Critical patent/TW202518905A/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
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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

Landscapes

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

Abstract

一種對位元流進行解碼以輸出視訊串流的一或多張圖片的方法。所述方法包含接收包含一或多種類型的臉部表徵參數的位元流;以及使用所述位元流的編碼資訊來解碼一或多張圖片。所述解碼包含將所述一或多種類型的臉部表徵參數解碼;將所述一或多種類型的臉部表徵參數轉換成具有共同格式的一或多個密集運動流;以及基於所述一或多個密集運動流以及所述一或多張圖片中的關鍵參考圖片來生成臉部圖片。

Description

用於使用密集運動流轉譯器的生成式臉部視訊壓縮的方法、非暫態性電腦可讀儲存媒體和解碼器
本揭露一般涉及視訊處理,更具體地,涉及用於使用密集運動流轉譯器的生成式臉部視訊壓縮的方法、非暫態性電腦可讀儲存媒體和解碼器。 相關申請案的交叉參照
本揭露請求2023年9月10日提交的美國臨時申請案第63/581, 681號的優先權,所述臨時申請案的全部內容透過參照併入本文。
視訊是一組拍攝視覺資訊的靜態圖片(或「訊框」)。為了減少儲存記憶體和傳輸頻寬,可以在儲存或傳輸之前對視訊進行壓縮,在顯示之前進行解壓縮。壓縮程序通常稱為編碼,而解壓縮程序通常稱為解碼。有使用標準化視訊編碼技術的多種視訊編碼格式,最常見的是基於預測、轉換、量化、熵編碼和環路濾波。標準化組織制定了視訊編碼標準,如高效視訊編碼(HEVC/H.265)標準、通用視訊編碼(VVC/H.266)標準及AVS標準等,說明了具體的視訊編碼格式。隨著視訊標準中採用越來越先進的視訊編碼技術,新的視訊編碼標準的編碼效率也越來越高。
本揭露的實施例提供了一種對位元流進行解碼以輸出視訊串流的一或多張圖片的方法。所述方法包括接收包括一或多種類型的臉部表徵參數的位元流;以及使用所述位元流的編碼資訊來解碼一或多張圖片。所述解碼包括將所述一或多種類型的臉部表徵參數解碼;將所述一或多種類型的臉部表徵參數轉換成具有共同格式的一或多個密集運動流;以及基於所述一或多個密集運動流以及所述一或多張圖片中的關鍵參考圖片來生成臉部圖片。
本揭露的實施例提供了一種儲存包含一或多種類型的臉部表徵參數的位元流的非暫態性電腦可讀儲存媒體。所述一或多種類型的臉部表徵參數係根據包括對所述一或多種臉部表徵參數進行解碼的方法進行處理;將所述一或多種類型的臉部表徵參數轉換成具有共同格式的一或多個密集運動流;以及基於所述一或多個密集運動流以及所述一或多張圖片中的關鍵參考圖片來生成臉部圖片。
本揭露的實施例提供了一種用於對位元流進行解碼以輸出視訊串流的一或多張圖片的解碼器。所述解碼器包括參數解碼器,其配置成將一或多種類型的臉部表徵參數解碼;一或多個密集運動流轉譯器,其配置成將所述一或多種類型的臉部表徵參數轉換成具有共同格式的一或多個密集運動流;以及生成器,其配置成基於所述一或多個密集運動流以及所述一或多張圖片中的關鍵參考圖片來生成臉部圖片。
現在將詳細參考範例性實施例,其範例在附圖中顯示。以下的描述參考附圖,其中不同附圖中的相同數字表示相同或相似的元件,除非另有說明。以下範例性實施例的描述中所闡述的實現方式並不代表符合本發明的所有實現方式。相反,它們僅僅是與所附請求項中所請發明相關的態樣一致的設備和方法的範例。以下更詳細地描述本揭露的具體態樣。如果與透過參照併入的用語和/或定義相衝突,則以本文提供的用語和定義為準。
ITU-T視訊編碼專家小組(ITU-T VCEG)和ISO/IEC運動影像專家小組(ISO/IEC MPEG)的聯合視訊專家小組(JVET)當前正在開發通用視訊編碼(VVC/H.266)標準。VVC標準意於將其前身的高效視訊編碼(HEVC/H.265)標準的壓縮效率提高一倍。換句話說,VVC的目標是使用一半的頻寬來實現與HEVC/H.265相同的主觀品質。
為了使用一半的頻寬來實現與HEVC/H.265相同的主觀品質,JVET一直在使用聯合探索模型(JEM)參考軟體來開發HEVC以外的技術。隨著編碼技術融入JEM中,JEM實現了明顯比HEVC更高的編碼性能。
VVC標準最近開發出來,並繼續包括更多可提供更好壓縮性能的編碼技術。VVC是基於現代視訊壓縮標準(如HEVC、H.264/AVC、MPEG2、H.263等)中使用的相同混合視訊編碼系統。
視訊是一組按時間順序排列以儲存視覺資訊的靜態圖片(或「訊框」)。視訊擷取裝置(例如,相機)可用於按時間順序擷取和儲存這些圖片,而視訊播放裝置(例如,電視、電腦、智慧型手機、平板電腦、視訊播放器或任何具有顯示功能的終端使用者終端)都可以用於按時間順序顯示此類圖片。此外,在某些應用中,視訊拍攝裝置可以將拍攝到的視訊即時傳輸至視訊播放裝置(例如,具有監視器的電腦),如用於監控、會議或直播。
為了減少此類應用所需的儲存空間和傳輸頻寬,可以在儲存和傳輸之前對視訊進行壓縮,並在顯示之前進行解壓縮。壓縮和解壓縮可以透過由處理器(例如,通用電腦的處理器)執行的軟體或專用硬體來實現。用於壓縮的模組通常稱為「編碼器」,而用於解壓縮的模組通常稱為「解碼器」。編碼器和解碼器可以統稱為「編解碼器」。編碼器和解碼器可以實現為各種合適的硬體、軟體或其組合中的任何一種。例如,編碼器和解碼器的硬體實現可以包括電路,如一或多個微處理器、數位訊號處理器(DSP)、特殊應用積體電路(ASIC)、現場可程式化閘陣列(FPGA)、離散邏輯、或其任何組合。編碼器和解碼器的軟體實現可以包括程式碼、電腦可執行指令、韌體、或固定在電腦可讀媒體中的任何合適的電腦實現的演算法或程序。視訊壓縮和解壓縮可以透過各種演算法或標準來實現,如MPEG-1、MPEG-2、MPEG-4、H.26x系列等。在某些應用中,編解碼器可以根據第一編碼標準將視訊解壓縮並使用第二編碼標準將解壓縮的視訊重新壓縮,在這種情況下,編解碼器可以被稱為「轉碼器」。
視訊編碼程序可以識別並保留可用於重建圖片的有用資訊,並忽略對於重建來說不重要的資訊。如果忽略無法完全重建的不重要資訊,則這種編碼程序可以稱為「有損」。否則,它可以被稱為「無損」。大多數編碼程序都是有損的,這是減少所需儲存空間和傳輸頻寬的權衡。
正在編碼的圖片(稱為「當前圖片」)的有用資訊包括相對於參考圖片(例如,先前編碼和重建的圖片)的變更。這種變化可以包括像素的位置變化、亮度變化或顏色變化,其中最受關注的是位置變化。表示物件的一組像素的位置變化可以反映物件在參考圖片和當前圖片之間的運動。
不參考另一張圖片(也就是說,它是其自己的參考圖片)而編碼的圖片被稱為「I圖片」。如果圖片中的一些或所有區塊(例如,一般指視訊圖片的部分的區塊)是使用一張參考圖片(例如,單預測)的訊框內預測或訊框間預測來預測的,則所述圖片稱為「P圖片」。如果一張圖片中的至少一個區塊是用兩張參考圖片(例如,雙預測)來預測的,則所述圖片稱為「B圖片」。
圖1是顯示根據一些揭露的實施例的用於對影像資料進行編碼的系統100的方塊圖。影像資料可以包括影像(也稱為「圖片」或「訊框」)、多個影像或視訊。影像是靜態圖片。多個影像可能是相關的或不相關的,無論是空間上的還是時間上的。視訊是按時間順序排列的一組影像。
如圖1所示,系統100包括來源裝置120,其提供稍後由目的地裝置140解碼的編碼視訊資料。與所揭露的實施例一致,來源裝置120和目的地裝置140中的每一個可以包括多種裝置中的任意裝置,包括桌上型電腦、筆記型電腦(例如,膝上電腦)、伺服器、平板電腦、機上盒、手機、車輛、相機、影像感測器、機器人、電視機、相機、穿戴式裝置(例如,智慧手錶或穿戴式相機)、顯示裝置、數位媒體播放器、電玩控制台、視訊串流裝置等。來源裝置120和目的地裝置140可以配備用於無線或有線通訊。
參考圖1,來源裝置120可以包括影像/視訊預處理器122、影像/視訊編碼器124和輸出介面126。目的地裝置140可以包括輸入介面142、影像/視訊解碼器144和機器視覺應用146。影像/視訊編碼器124對輸入位元流進行編碼並經由輸出介面126輸出經編碼位元流162。經編碼位元流162透過通訊媒體160傳送,並由輸入介面142接收。影像/視訊解碼器144然後對經編碼位元流162進行解碼以生成經解碼資料。
更具體地,來源裝置120還可以包括用於提供要由影像/視訊編碼器124處理的來源影像資料的各種裝置(未顯示)。提供來源影像資料的裝置可以包括影像/視訊擷取裝置,如相機、包含先前擷取的影像/視訊的影像/視訊檔案或儲存裝置、或用於從影像/視訊內容提供者接收影像/視訊的影像/視訊饋送介面。
影像/視訊編碼器124和影像/視訊解碼器144各自可以實現為多種合適的編碼器或解碼器電路中的任一種,如一或多個微處理器、數位訊號處理器(DSP)、特殊應用積體電路(ASIC)、現場可程式化閘陣列(FPGA)、離散邏輯、軟體、硬體、韌體或其任意組合。當編碼或解碼部分地以軟體實現時,影像/視訊編碼器124或影像/視訊解碼器144可以將軟體的指令儲存在適當的非暫態性電腦可讀媒體中,並使用一或多個處理器在硬體中執行指令來執行與本揭露一致的技術。影像/視訊編碼器124或影像/視訊解碼器144中之各者可以被包括在一或多個編碼器或解碼器中,其中任一個可以被整合為對應裝置中的組合編碼器/解碼器(CODEC)的一部分。
影像/視訊編碼器124和影像/視訊解碼器144可以根據任何視訊編碼標準進行操作,如進階視訊編碼(AVC)、高效視訊編碼(HEVC)、通用視訊編碼(VVC)、AOMedia視訊1(AV1)、聯合圖像專家小組(JPEG)、運動影像專家小組(MPEG)等。或者,影像/視訊編碼器124和影像/視訊解碼器144可以是不符合現有標準的客製化裝置。儘管圖1中未顯示,在一些實施例中,影像/視訊編碼器124和影像/視訊解碼器144均可與音訊編碼器和解碼器整合,並且可以包括適當的MUX-DEMUX單元或其它硬體和軟體,以處理通用資料流或單獨資料流中的音訊和視訊編碼。
輸出介面126可以包括能夠將經編碼位元流162從來源裝置120傳送到目的地裝置140的任何類型的媒體或裝置。例如,輸出介面126可以包括被配置成將經編碼位元流162從來源裝置120直接即時傳送到目的地設備140的傳送器或收發器。經編碼位元流162可以根據如無線通訊協定之類的通訊標準進行調變,並且被傳送到目的地裝置140。
通訊媒體160可以包括瞬態媒體,如無線廣播或有線網路傳輸。例如,通訊媒體160可以包括射頻(RF)頻譜或一或多個實體傳輸線(例如,電纜)。通訊媒體160可以形成基於封包的網路的一部分,如區域網路、廣域網路或如網際網路的全球網路。在一些實施例中,通訊媒體160可包括路由器、交換器、基地台或可用於促進從來源裝置120到目的地裝置140的通訊的任何其它設備。例如,網路伺服器(未顯示)可以從來源裝置120接收經編碼位元流162並且例如經由網路傳輸將經編碼位元流162提供給目的地裝置140。
通訊媒體160還可以是儲存媒體(例如,非暫態性儲存媒體)的形式,諸如硬碟、隨身碟、光碟、數位視訊光碟、藍光光碟、揮發性或非揮發性記憶體、或用於儲存經編碼影像資料的任何其它合適的數位儲存媒體。在一些實施例中,如光碟衝壓設施之類的媒體生產設施的計算裝置可以從來源裝置120接收經編碼影像資料並且生成包含經編碼視訊資料的光碟。
輸入介面142可以包括能夠從通訊媒體160接收資訊的任何類型的媒體或裝置。接收到的資訊包括經編碼位元流162。例如,輸入介面142可以包括配置成即時接收經編碼位元流162的接收器或收發器。
系統100可以配置成根據基於區塊的視訊壓縮技術、基於深度學習的視訊壓縮技術、談話臉部視訊壓縮技術等來執行視訊編碼和解碼。
基於區塊的視訊壓縮技術使用基於區塊的混合視訊編碼框架來利用視訊中的空間冗餘、時間冗餘和資訊熵冗餘。此混合視訊編碼框架包括運動補償(例如,訊框內/訊框間預測)、轉換(例如,離散餘弦轉換)、量化和熵編碼。基於區塊的視訊壓縮技術可以符合各種影像/視訊編碼標準,如JPEG、JPEG2000、H.264/MPEG4第10部分、音訊視訊編碼標準(AVS)、H.265/HEVC標準、通用視訊編碼(VVC)標準等。
2是顯示根據本揭露的一些實施例的基於區塊的視訊壓縮框架200的示意圖。基於區塊的視訊壓縮框架200可以包括配置成基於輸入視訊訊框來生成位元流的編碼器和基於位元流來重建視訊訊框的解碼器。為了簡單起見,圖2僅顯示了基於區塊的視訊壓縮框架200的編碼器側。可以設想,基於區塊的視訊壓縮框架200的解碼器側會逆轉編碼器側的操作。
具體來說,如圖2所示,編碼器側的輸入訊框x t被分割成相同尺寸(例如,8×8)的一組區塊,例如方形區域。基於區塊的視訊壓縮框架200包括以下步驟。
基於區塊的視訊壓縮框架200透過使用基於區塊的運動估計模組201來執行運動估計。運動估計模組201可以估計當前訊框 和先前重建訊框 之間的運動。獲得了每個區塊對應的運動向量
基於區塊的視訊壓縮框架200透過使用運動補償模組202來執行運動補償。預測訊框 是根據運動估計模組201確定的運動向量 將先前重建訊框中的對應像素複製到當前訊框而獲得的。接著,獲得原始訊框 和預測訊框 之間的殘差 =
基於區塊的視訊壓縮框架200分別透過使用轉換模組203和Q模組204來執行轉換和量化。透過Q模組204殘差 被量化為 。在轉換模組203量化之前使用線性轉換(例如,DCT)以獲得更好的壓縮性能。
基於區塊的視訊壓縮框架200透過使用逆轉換模組205來執行逆轉換。將量化結果 進行逆轉換以獲得重建殘差
基於區塊的視訊壓縮框架200透過使用熵編碼模組206來執行熵編碼。運動向量 和量化結果 都透過熵編碼方法編碼成一或多個位元流,並發送到解碼器。
基於區塊的視訊壓縮框架200透過使用重建模組207執行訊框重建。重建框架 是由 和和 相加獲得,即 = + 。重建的訊框將被第(t+1)個訊框用於運動估計。
由熵解碼模組206生成的位元流可以在解碼器側(圖2中未顯示)被解碼。可以進行運動補償、逆量化和訊框重建以獲得重建訊框
基於區塊的視訊壓縮框架200的細節將結合圖3、4A、4B、5A和5B進一步描述。具體來說,圖3顯示了根據本揭露的一些實施例的範例視訊序列300的結構。視訊序列300可以是實況視訊或已擷取並存檔的視訊。視訊300可以是現實生活視訊、電腦生成的視訊(例如,電腦遊戲視訊)或其組合(例如,具有擴增實境效果的現實生活視訊)。視訊序列300可以從視訊擷取裝置(例如,相機)、包含先前擷取的視訊的視訊檔案(例如,儲存在儲存裝置中的視訊檔案)、或視訊饋送介面(例如,視訊廣播收發機)被輸入,以從視訊內容提供者接收視訊。
如圖3所示,視訊序列300可以包括沿著時間線在時間上佈置的一系列圖片,包括圖片302、304、306和308。圖片302-306是連續的,圖片306和308之間還有更多的圖片。在圖3中,圖片302是I圖片,其參考圖片是圖片302本身。圖片304是P圖片,其參考圖片是圖片302,如箭頭所示。圖片306是B圖片,其參考圖片為圖片304和308,如箭頭所示。在一些實施例中,圖片(例如,圖片304)的參考圖片可以不緊接在所述圖片之前或之後。例如,圖片304的參考圖片可以是圖片302之前的圖片。需要注意的是,圖片302-306的參考圖片僅為範例,本揭露並不將參考圖片的實施例限制為圖3中所示的範例。
通常,由於此類任務的計算複雜性,視訊編解碼器不會一次對整個圖片進行編碼或解碼。相反,他們可以將圖片分割成基本片段,並逐片段對圖片進行編碼或解碼。這種基本片段在本揭露中稱為基本處理單元(「BPU」)。例如,圖3中的結構310顯示了視訊序列300的圖片(例如,圖片302-308中的任何一個)的範例結構。在結構310中,圖片被分切為4×4個基本處理單元,其邊界如虛線所示。在一些實施例中,基本處理單元在一些視訊編碼標準(例如,MPEG系列、H.261、H.263或H.264/AVC)中可以被稱為「巨集區塊」,或在一些其它視訊編碼標準(例如,H.265/HEVC、H.266/VVC或AVS)中被稱為「編碼樹單元」(「CTU」)。基本處理單元在圖片中可以有可變的尺寸,如128×128、64×64、32×32、16×16、4×8、16×32或任何任意形狀和尺寸的像素。可以基於編碼效率和在基本處理單元中要保持的細節程度的平衡來為圖片選擇基本處理單元的尺寸和形狀。
基本處理單元可以是邏輯單元,其可以包括儲存在電腦記憶體中(例如,在視訊訊框緩衝器中)的一組不同類型的視訊資料。例如,彩色圖片的基本處理單元可以包括表示無色亮度資訊的亮度分量(Y)、表示顏色資訊的一或多個色度分量(例如,Cb和Cr)以及相關的語法元素,其中亮度和色度分量可以具有與基本處理單元相同的大小。在一些視訊編碼標準(例如,H.265/HEVC、H.266/VVC或AVS)中,亮度和色度分量可以被稱為「編碼樹區塊」(「CTB」)。對基本處理單元執行的任何操作都可以對其亮度和色度分量中之各者重複執行。
視訊編碼具有多個操作階段,其範例在圖4A-4B和圖5A-5B中顯示。對於每一階段來說,基本處理單元的尺寸仍然可能太大而無法處理,因此可以進一步分切為在本揭露中被稱為「基本處理子單元」的片段。在一些實施例中,基本處理子單元可以在一些視訊編碼標準(例如,MPEG系列、H.261、H.263、H.264/AVC或AVS)中被稱為「區塊」,或在一些其它視訊編碼標準(例如,H.265/HEVC、H.266/VVC或AVS)中被稱為「編碼單元」(「CU」)。基本處理子單元可以具有與基本處理單元相同或更小的尺寸。與基本處理單元類似,基本處理子單元也是邏輯單元,其可以包括儲存在電腦記憶體(例如,在視訊訊框緩衝區中)中的一組不同類型的視訊資料(例如,Y、Cb、Cr和相關語法元素)。對基本處理子單元執行的任何操作都可以對其亮度和色度分量中之各者重複執行。應注意的是,根據處理需要,可以將這種分切執行到更高的層級。還應該注意的是,不同的階段可以使用不同的方案來分切基本處理單元。
例如,在模式決策階段(其範例如圖4B所示),編碼器可以決定基本處理單元使用什麼預測模式(例如,圖片內預測或圖片間預測),所述基本處理單元可能太大而無法做出這種決策。編碼器可以將基本處理單元分割為多個基本處理子單元(例如,如H.265/HEVC、H.266/VVC或AVS中的CU),並決定每個單獨的基本處理子單元的預測類型。
又例如,在預測階段(圖4A-4B中顯示了其範例),編碼器可以在基本處理子單元(例如,CU)的層級執行預測操作。然而,在某些情況下,基本處理子單元仍然可能太大而無法處理。編碼器可以進一步將基本處理子單元分割成更小的片段(例如,在H.265/HEVC、H.266/VVC或AVS中被稱為「預測區塊」或「PB」),在其層級可以進行預測操作。
又例如,在轉換階段(圖4A-4B中顯示了其範例),編碼器可以對殘差基本處理子單元(例如,CU)執行轉換操作。然而,在某些情況下,基本處理子單元仍然可能太大而無法處理。編碼器可以進一步將基本處理子單元分割成更小的片段(例如,在H.265/HEVC、H.266/VVC或AVS中稱為「轉換區塊」或「TB」),在其層級可以進行轉換操作。需要注意的是,同一基本處理子單元在預測階段和轉換階段的分切方式可以不同。例如,在H.265/HEVC、H.266/VVC或AVS中,同一CU的預測區塊和轉換區塊可以有不同的大小和數目。
在圖3的結構310中,基本處理單元312進一步被分切為3×3個基本處理子單元,其邊界如虛線所示。同一圖片的不同基本處理單元可以分切成不同方案的基本處理子單元。
在一些實現中,為了向視訊編碼和解碼提供平行處理和容錯能力,可以將圖片分切為多個區域來進行處理,使得對於圖片的一個區域,編碼或解碼程序可以不依賴圖片的任何其它區域的資訊。換句話說,圖片的每個區域都可以獨立處理。透過這樣做,編解碼器可以平行處理圖片的不同區域,從而提高編碼效率。此外,當一區域的資料在處理中損壞或在網路傳輸中遺失時,編解碼器可以正確地對同一圖片的其它區域進行編碼或解碼,而不依賴損壞或遺失的資料,從而提供錯誤恢復的能力。在一些視訊編碼標準中,圖片可以被分切為不同類型的區域。例如,H.265/HEVC、H.266/VVC和AVS提供兩種類型的區域:「切片(slice)」和「切塊(tile)」。還應注意,視訊序列300的不同圖片可以具有用於將圖片分切為區域的不同劃分方案。
例如,在圖3中,結構310被分切為三個區域314、316和318,其邊界被顯示為結構310內部的實線。區域314包括四個基本處理單元。區域316和318中之各者包括六個基本處理單元。應注意的是,圖3中的結構310的基本處理單元、基本處理子單元和區域僅為範例,本揭露並不限制其實施例。
圖4A顯示了與本揭露的實施例一致的範例編碼程序400A的示意圖。例如,編碼程序400A可以由編碼器執行。如圖4A所示,編碼器可以根據程序400A將視訊序列402編碼成視訊位元流428。類似於圖3的視訊序列300,視訊序列402可以包括一組按時間順序排列的圖片(稱為「原始圖片」)。類似於圖3的結構310,視訊序列402的每個原始圖片可以被編碼器分切為基本處理單元、基本處理子單元或用於處理的區域。在一些實施例中,編碼器可以針對視訊序列402的每個原始圖片在基本處理單元的層級執行程序400A。例如,編碼器可以用迭代方式執行程序400A,其中編碼器可以在程序400A的一次迭代中對基本處理單元進行編碼。在一些實施例中,編碼器可以針對視訊序列402的每個原始圖片的區域(例如,區域314-318)並行地執行程序400A。
在圖4A中,編碼器可以將視訊序列402的原始圖片的基本處理單元(稱為「原始BPU」)饋送到預測階段404以生成預測資料406和預測BPU 408。編碼器可以從原始BPU中減去預測BPU 408以生成殘差BPU 410。編碼器可以將殘差BPU 410饋送到轉換階段412和量化階段414以生成量化轉換係數416。編碼器可以將預測資料406和量化轉換係數416饋送到二進位編碼階段426以生成視訊位元流428。部件402、404、406、408、410、412、414、416、426和428可以稱為「前向路徑」。在程序400A期間,在量化階段414之後,編碼器可以將量化轉換係數416饋送到逆量化階段418和逆轉換階段420以生成重建殘差BPU 422。編碼器可以將重建殘差BPU 422加入預測BPU 408以生成預測參考424,其在程序400A的下一次迭代的預測階段404中使用。程序400A的部件418、420、422和424可以稱為「重建路徑」。重建路徑可用於確保編碼器和解碼器都使用相同的參考資料進行預測。
編碼器可以迭代地執行程序400A以對(在前向路徑中的)原始圖片的每個原始BPU進行編碼並生成用於對(在重建路徑中的)原始圖片的下一個原始BPU進行編碼的預測參考424。在對原始圖片的所有原始BPU進行編碼之後,編碼器可以繼續對視訊序列402中的下一個圖片進行編碼。
參考程序400A,編碼器可以接收由視訊擷取裝置(例如,相機)生成的視訊序列402。本文所使用的用語「接收」可以指接收、輸入、獲取、檢索、獲得、讀取、存取或以任何方式輸入資料的任何動作。
在預測階段404,在當前迭代,編碼器可以接收原始BPU和預測參考424,並且執行預測操作以生成預測資料406和預測BPU 408。預測參考424可以從程序400A的先前迭代的重建路徑生成。預測階段404的目的是透過從預測資料406和預測參考424提取可用於將原始BPU重建為預測BPU 408的預測資料406來減少資訊冗餘。
理想地,預測BPU 408可以與原始BPU相同。然而,由於非理想的預測和重建操作,預測BPU 408通常與原始BPU略有不同。為了記錄這種差異,在生成預測BPU 408之後,編碼器可以從原始BPU中減去它以生成殘差BPU 410。例如,編碼器可以從原始BPU的對應像素的值中減去預測BPU 408的像素的值(例如,灰階值或RGB值)。殘差BPU 410的每個像素可以具有作為原始BPU和預測BPU 408的對應像素之間的這種相減的結果的殘差值。與原始BPU相比,預測資料406和殘差BPU 410可以具有更少的位元,但是它們可以用來重建原始BPU,而不會顯著降低品質。因此,原始BPU就被壓縮了。
為了進一步壓縮殘差BPU 410,在轉換階段412,編碼器可以透過將殘差BPU 410分解成一組二維「基本圖案」來減少殘差BPU 410的空間冗餘,每個基本圖案與「轉換係數」相關。基本圖案可以具有相同的尺寸(例如,殘差BPU 410的尺寸)。每個基本圖案可以表示殘差BPU 410的變化頻率(例如,亮度變化的頻率)分量。任何基本圖案都不能從任何其他基本圖案的任何組合(例如,線性組合)中再現。換句話說,分解可以將殘差BPU 410的變化分解到頻域中。這種分解類似於函數的離散傅立葉轉換,其中基本圖案類似於離散傅立葉轉換的基本函數(例如,三角函數),並且轉換係數類似於與基本函數相關的係數。
不同的轉換演算法可以使用不同的基本圖案。在轉換階段412處可以使用各種轉換演算法,例如離散餘弦轉換、離散正弦轉換等。轉換階段412處的轉換是可逆的。也就是說,編碼器可以透過轉換的逆操作(稱為「逆轉換」)來恢復殘差BPU 410。例如,為了恢復殘差BPU 410的像素,逆轉換可以是將基本圖案的對應像素的值乘以對應的關聯係數並將乘積相加以生成加權和。對於視訊編碼標準,編碼器和解碼器都可以使用相同的轉換演算法(因此具有相同的基本圖案)。因此,編碼器可以僅記錄轉換係數,解碼器可以根據轉換係數來重建殘差BPU 410,而無需從編碼器接收基本圖案。與殘差BPU 410相比,轉換係數可以具有更少的位元,但是它們可以用於重建殘差BPU 410而沒有顯著的品質劣化。因此,殘差BPU 410被進一步壓縮。
編碼器可以在量化階段414進一步壓縮轉換係數。在轉換程序中,不同的基本圖案可以代表不同的變化頻率(例如,亮度變化頻率)。由於人眼通常更擅長識別低頻變化,因此編碼器可以忽略高頻變化的資訊,而不會致使解碼品質顯著下降。例如,在量化階段414,編碼器可以透過將每個轉換係數除以整數值(稱為「量化比例因子」)並將商捨入到其最接近的整數來生成量化轉換係數416。經過這種操作,高頻基本圖案的一些轉換係數可以轉換為零,而低頻基本圖案的轉換係數可以轉換為更小的整數。編碼器可以忽略零值量化轉換係數416,由此進一步壓縮轉換係數。量化程序也是可逆的,其中量化轉換係數416可以被重建為量化的逆操作(稱為「逆量化」)中的轉換係數。
因為編碼器在捨入操作中忽略這種除法的餘數,所以量化階段414可能是有損的。通常,量化階段414可在程序400A中造成最多的資訊損失。資訊損失越大,量化轉換係數416可能需要的位元越少。為了獲得不同程度的資訊損失,編碼器可以使用量化參數的不同值或量化程序的任何其它參數。
在二進位編碼階段426,編碼器可以使用二進位編碼技術對預測資料406和量化轉換係數416進行編碼,例如熵編碼、可變長度編碼、算術編碼、霍夫曼編碼、上下文自適應二進位算術編碼、或任何其它無損或有損壓縮演算法。在一些實施例中,除了預測資料406和量化轉換係數416之外,編碼器還可以在二進位編碼階段426處對其它資訊進行編碼,例如在預測階段404處使用的預測模式、預測操作的參數、在轉換階段412的轉換類型,量化程序的參數(例如,量化參數)、編碼器控制參數(例如,位元率控制參數)等。編碼器可以使用二進位編碼階段426的輸出資料來生成視訊位元流428。在一些實施例中,視訊位元流428可以被進一步封包以進行網路傳輸。
參考程序400A的重建路徑,在逆量化階段418,編碼器可以對量化轉換係數416執行逆量化以生成重建的轉換係數。在逆轉換階段420,編碼器可以基於重建的轉換係數來生成重建殘差BPU 422。編碼器可以將重建殘差BPU 422加入預測BPU 408以生成要在程序400A的下一個迭代中使用的預測參考424。
應注意,程序400A的其它變體可以用於對視訊序列402進行編碼。在一些實施例中,程序400A的各階段可以由編碼器以不同的順序來執行。在一些實施例中,程序400A的一或多個階段可以組合成單一階段。在一些實施例中,程序400A的單一階段可以分為多個階段。例如,轉換階段412和量化階段414可以組合成單一階段。在一些實施例中,程序400A可以包括額外的階段。在一些實施例中,程序400A可以省略圖4中的一或多個階段。
圖4B顯示了與本揭露的實施例一致的另一範例編碼程序400B的示意圖。程序400B可以從程序400A修改。例如,程序400B可以由符合混合視訊解碼標準(例如,H.26x系列)的編碼器使用。與程序400A相比,程序400B的前向路徑額外地包括模式決策階段430並且將預測階段404分切為空間預測階段4042和時間預測階段4044。程序400B的重建路徑額外地包括環路濾波器階段432和緩衝器434。
一般來說,預測技術可以分為兩類:空間預測和時間預測。空間預測(例如,圖片內預測或「訊框內預測」)可以使用來自同一圖片中的一或多個已編碼的相鄰BPU的像素來預測當前BPU。也就是說,空間預測中的預測參考424可以包含相鄰BPU。空間預測可以減少圖片的固有空間冗餘。時間預測(例如,圖片間預測或「訊框間預測」)可以使用來自一或多個已編碼圖片的區域來預測當前BPU。也就是說,時間預測中的預測參考424可以包括編碼圖片。時間預測可以減少圖片的固有時間冗餘。
參考程序400B,在前向路徑中,編碼器在空間預測階段4042和時間預測階段4044執行預測操作。例如,在空間預測階段4042,編碼器可執行訊框內預測。對於正在編碼的圖片的原始BPU,預測參考424可以包括在同一圖片中(在前向路徑中)已經被編碼和(在重建路徑中)已經被重建的一或多個相鄰BPU。編碼器可以透過外插相鄰BPU來生成預測BPU 408。外插技術可以包括例如線性外插或內插、多項式外插或內插等。在一些實施例中,編碼器可以在像素層級執行外插,如透過外插預測BPU 408的每個像素的對應像素的值。用於外插的相鄰BPU可以從各個方向相對於原始BPU進行定位,如在垂直方向(例如,在原始BPU的頂部)、水平方向(例如,到原始BPU的左側)、對角線方向(例如,到原始BPU的左下、右下、左上或右上),或所使用的視訊編碼標準中定義的任何方向。對於訊框內預測,預測資料406可以包括例如所使用的相鄰BPU的位置(例如,座標)、所使用的相鄰BPU的大小、外插的參數、所使用的相鄰BPU相對於原始BPU的方向等。
又例如,在時間預測階段4044,編碼器可以執行訊框間預測。對於當前圖片的原始BPU,預測參考424可以包括(在前向路徑中)已經被編碼和(在重建路徑中)已經被重建的一或多張圖片(稱為「參考圖片」)。在一些實施例中,參考圖片可以由BPU編碼和重建BPU。例如,編碼器可以將重建殘差BPU 422加入預測BPU 408以生成重建BPU。當同一張圖片的所有重建BPU被生成時,編碼器可以生成重建圖片作為參考圖片。編碼器可以執行「運動估計」的操作以在參考圖片的範圍(稱為「搜尋視窗」)中搜尋匹配區域。搜尋視窗在參考圖片中的位置可以基於原始BPU在當前圖片中的位置來決定。例如,搜尋視窗可以用參考圖片中與當前圖片中的原始BPU具有相同座標的位置為中心,並且可以向外延伸預定距離。當編碼器在搜尋視窗中識別出(例如,透過使用像素遞歸演算法、區塊匹配演算法等)與原始BPU相似的區域時,編碼器可以將這種區域確定為匹配區域。匹配區域可以具有與原始BPU不同的尺寸(例如,小於、等於、大於或具有不同的形狀)。由於參考圖片和當前圖片在時間線上是時間上分開的(例如,如圖3所示),因此可以認為匹配區域隨著時間的推移「移動」到原始BPU的位置。編碼器可以將這種運動的方向和距離記錄為「運動向量」。當使用多個參考圖片(例如,如圖3中的圖片306)時,編碼器可以搜尋匹配區域並針對每個參考圖片確定其相關的運動向量。在一些實施例中,編碼器可以為各個匹配參考圖片的匹配區域的像素值分配權重。
運動估計可用於識別各種類型的運動,例如平移、旋轉、縮放等。對於訊框間預測,預測資料406可以包括例如匹配區域的位置(例如,座標)、與匹配區域相關的運動向量、參考圖片的數目、與參考圖片相關的權重等。
為了生成預測BPU 408,編碼器可以執行「運動補償」的操作。運動補償可以用於基於預測資料406(例如,運動向量)和預測參考424來重建預測BPU 408。例如,編碼器可以根據運動向量來移動參考圖片的匹配區域,其中編碼器可以預測當前圖片的原始BPU。當使用多個參考圖片(例如,如圖3中的圖片306)時,編碼器可以根據匹配區域的對應運動向量和平均像素值來移動參考圖片的匹配區域。在一些實施例中,如果編碼器已經向各個匹配參考圖片的匹配區域的像素值分配了權重,則編碼器可以添加移動的匹配區域的像素值的加權和。
在一些實施例中,訊框間預測可以是單向的或雙向的。單向訊框間預測可以使用相對於當前圖片在相同時間方向上的一或多個參考圖片。例如,圖3中的圖片304是單向訊框間預測圖片,其中參考圖片(例如,圖片302)在圖片304之前。雙向訊框間預測可以使用相對於當前圖片的兩個時間方向上的一或多個參考圖片。例如,圖3中的圖片306是雙向訊框間預測圖片,其中參考圖片(例如,圖片304和308)相對於圖片304處於兩個時間方向。
仍然參考程序400B的前向路徑,在空間預測4042和時間預測階段4044之後,在模式決策階段430處,編碼器可以選擇用於當前迭代的程序400B的預測模式(例如,訊框內預測或訊框間預測之一)。例如,編碼器可以執行率失真(rate-distortion)最佳化技術,其中編碼器可以根據候選預測模式的位元率和重建參考圖片在所述候選預測模式下的失真來選擇預測模式以最小化成本函數的值。根據所選的預測模式,編碼器可以生成對應的預測BPU 408和預測資料406。
在程序400B的重建路徑中,如果在前向路徑中已經選擇了訊框內預測模式,則在生成預測參考424(例如,已經在當前圖片中編碼和重建的當前BPU)之後,編碼器可以直接饋送預測參考424到空間預測階段4042以供稍後使用(例如,用於當前圖片的下一個BPU的外插)。編碼器可以將預測參考424饋送到環路濾波器階段432,在環路濾波器階段432,編碼器可以將環路濾波器應用於預測參考424以減少或消除在預測參考424的編碼期間導致的失真(例如,區塊假影)。編碼器可以在環路濾波器階段432應用各種環路濾波器技術,例如解塊(deblocking)、樣本自適應偏移、自適應環路濾波器等。環路濾波參考圖片可儲存在緩衝器434(或「解碼圖片緩衝器」)中以供稍後使用(例如,用作視訊序列402的未來圖片的訊框間預測參考圖片)。編碼器可以將一或多個參考圖片儲存在緩衝器434中以在時間預測階段4044使用。在一些實施例中,編碼器可以在二進位編碼階段426對環路濾波器的參數(例如,環路濾波器強度)以及量化變換係數416、預測資料406和其他資訊進行編碼。
圖5A顯示了與本揭露的實施例一致的範例解碼程序500A的示意圖。程序500A可以是對應於圖4A中的壓縮程序400A的解壓縮程序。在一些實施例中,程序500A可以類似於程序400A的重建路徑。解碼器可以根據程序500A將視訊位元流428解碼成視訊串流504。視訊串流504可以與視訊序列402非常相似。然而,由於壓縮和解壓縮程序(例如,圖4A-4B中的量化階段414)中資訊的遺失,一般來說,視訊串流504與視訊序列402不同。類似於圖4A-4B中的程序400A和400B,解碼器可以在基本處理單元(BPU)的層級針對在視訊位元流428中編碼的每個圖片執行程序500A。例如,解碼器可以用迭代方式來執行程序500A,其中解碼器可以在程序500A的一次迭代中對基本處理單元進行解碼。在一些實施例中,解碼器可以對視訊位元流428中編碼的每個圖片的區域(例如,區域314-318)並行地執行程序500A。
在圖5A中,解碼器可以將與編碼圖片的基本處理單元(稱為「編碼BPU」)相關的視訊位元流428的一部分饋送到二進位解碼階段502。在二進位解碼階段502,解碼器可以將此部分解碼成預測資料406和量化轉換係數416。解碼器可以將量化轉換係數416饋送到逆量化階段418和逆轉換階段420以生成重建殘差BPU 422。解碼器可以將預測資料406饋送到預測階段404以生成預測BPU 408。解碼器可以將重建殘差BPU 422添加到預測BPU 408以生成預測參考424。在一些實施例中,預測參考424可以儲存在緩衝器中(例如,電腦記憶體中的解碼圖片緩衝器)。解碼器可以將預測參考424饋送到預測階段404以用於在程序500A的下一個迭代中執行預測操作。
解碼器可以迭代地執行程序500A以對編碼圖片的每個編碼BPU進行解碼並且生成用於對編碼圖片的下一個編碼BPU進行編碼的預測參考424。在對編碼圖片的所有編碼BPU進行解碼之後,解碼器可以將圖片輸出到視訊串流504以供顯示,並且繼續對視訊位元串流428中的下一個編碼圖片進行解碼。
在二進位解碼階段502,解碼器可以執行編碼器所使用的二進位編碼技術(例如熵編碼、可變長度編碼、算術編碼、霍夫曼編碼、上下文自適應二進位算術編碼、或任何其它無損壓縮演算法)的逆操作。在一些實施例中,除了預測資料406和量化轉換係數416之外,解碼器還可以在二進位解碼階段502解碼其它資訊,例如預測模式、預測操作的參數、轉換類型、量化程序的參數(例如,量化參數)、編碼器控制參數(例如,位元率控制參數)等。在一些實施例中,如果視訊位元流428透過網路以封包形式傳輸,則解碼器可以在將視訊位元流428饋送到二進位解碼階段502之前對視訊位元流428進行解封包。
圖5B顯示了與本揭露的實施例一致的另一個範例解碼程序500B的示意圖。程序500B可以從程序500A修改。例如,程序500B可以由符合混合視訊編碼標準(例如,H.26x系列)的解碼器使用。與程序500A相比,程序500B額外地將預測階段404分切為空間預測階段4042和時間預測階段4044,並且額外地包括環路濾波器階段432和緩衝器434。
在程序500B中,對於正在被解碼的編碼圖片(稱為「當前圖片」)的編碼基本處理單元(稱為「當前BPU」),透過解碼器從二進位解碼階段502解碼的預測資料406可以包括各種類型的資料,取決於編碼器使用什麼預測模式對當前BPU進行編碼。例如,如果編碼器使用訊框內預測來對當前BPU進行編碼,則預測資料406可以包括指示訊框內預測、訊框內預測操作的參數等的預測模式指示符(例如,旗標值)。訊框內預測操作的參數可以包括例如用作參考的一或多個相鄰BPU的位置(例如,座標)、相鄰BPU的大小、外插參數、相鄰BPU相對於原始BPU的方向等。又例如,如果編碼器使用訊框間預測來對當前BPU進行編碼,則預測資料406可以包括指示訊框間預測、訊框間預測操作的參數等的預測模式指示符(例如,旗標值)。訊框間預測操作的參數可以包括例如與當前BPU相關的參考圖片的數目、分別與參考圖片相關的權重、各個參考圖中的一或多個匹配區域的位置(例如,座標)、分別與匹配區域相關的一或多個運動向量等。
基於預測模式指示符,解碼器可以決定是在空間預測階段4042執行空間預測(例如,訊框內預測)還是在時間預測階段4044執行時間預測(例如,訊框間預測)。執行這種空間預測或時間預測的細節在圖4B中描述,此後不再贅述。在執行這種空間預測或時間預測之後,解碼器可以生成預測BPU 408。解碼器可以將預測BPU 408和重建殘差BPU 422相加以生成預測參考424,如圖5A所描述的。
在程序500B中,解碼器可以將預測參考424饋送到空間預測階段4042或時間預測階段4044,以用於在程序500B的下一次迭代中執行預測操作。例如,如果在空間預測階段4042處使用訊框內預測對當前BPU進行解碼,則在生成預測參考424(例如,解碼當前BPU)之後,解碼器可以將預測參考424直接饋送到空間預測階段4042以供稍後使用(例如,用於當前圖片的下一個BPU的外插)。如果在時間預測階段4044使用訊框間預測對當前BPU進行解碼,則在生成預測參考424(例如,其中所有BPU已被解碼的參考圖片)之後,解碼器可以將預測參考424饋送到環路濾波器階段432以減少或消除失真(例如,區塊假影)。解碼器可以用圖4B所描述的方式將環路濾波器應用於預測參考424。環路濾波參考圖片可以儲存在緩衝器434(例如,電腦記憶體中的解碼圖片緩衝器)中以供稍後使用(例如,用作視訊位元流428的未來編碼圖片的訊框間預測參考圖片)。解碼器可以將一或多幅參考圖片儲存在緩衝器434中以在時間預測階段4044使用。在一些實施例中,預測資料還可以包括環路濾波器的參數(例如,環路濾波器強度)。在一些實施例中,當預測資料406的預測模式指示符指示使用訊框間預測來對當前BPU進行編碼時,預測資料包括環路濾波器的參數。
除了基於區塊的視訊壓縮技術之外,深度學習也可以用於視訊壓縮,以實現與傳統壓縮方案相比具有競爭力的效能。例如,由於端對端訓練和非線性轉換,端對端影像壓縮演算法表現出比JPEG、JPEG2000甚至HEVC更好的率失真(RD)性能。此外,基於深度神經網路(DNN)的視訊壓縮演算法,如深度視訊壓縮模型(DVC),可以實現有前景的RD性能。這些方案可以在不事先了解視訊內容的情況下發揮作用。對於視訊會議/電話的應用,深度生成模型,如一階運動模型(FOMM)和臉部視訊對視訊合成(Face_vid2vid),可以在超低位元率下實現有前景的性能。特別是,這些模型利用了這些視訊的變化通常存在於人體運動資訊中的事實,提供了可用於訊框合成的強大先驗。這些特徵透過人體結構的變化來描述,如地標或關鍵點,並進一步傳達以對參考框架進行動畫處理並生成人體運動視訊。
基於深度學習的演算法可以用來取代或增強基於區塊的視訊編碼工具的一些操作或功能,包括訊框內/訊框間預測、熵編碼、環內濾波等。對於整個影像/視訊壓縮框架的聯合最佳化,而不是設計一個特定的模組,可以使用端對端的影像/視訊壓縮演算法。例如,可以使用聯合最佳化用於視訊壓縮的所有部件的端對端視訊編碼方案DVC方案。此外,為了解決內容自適應和錯誤傳播感知問題,可以使用線上編碼器更新方案來提高視訊壓縮效能。此外,還可以使用透過開發特徵空間中的端對端壓縮框架的所有主要模組的FVC。基於遞迴機率模型和加權遞迴品質增強網路,可以使用視訊壓縮遞迴學習(RLVC)和HLVC以利用視訊訊框之間的時間相關性。學習視訊壓縮(M-LVC)多訊框預測中的四個有效模組可以使用。然而,與傳統的視訊編碼工具一樣,這些基於學習的視訊壓縮方法針對的是普遍的自然方案,而沒有具體考慮人體內容,如臉部、身體或其它部位。
圖6是顯示根據本揭露的一些實施例的基於端對端深度學習的視訊壓縮框架600的範例性架構的示意圖。框架600使用各種深度學習模型來聯合最佳化視訊壓縮的部件,如運動估計、運動壓縮和殘差壓縮。具體地,利用基於學習的光流(也稱為密集運動流)估計來獲取運動資訊並重建當前訊框。接著採用兩個自動編碼器式神經網路來壓縮對應的運動和殘差資訊。框架600中的模組透過單一損失函數共同學習,其中它們透過考慮減少壓縮位元的數目和提高解碼視訊的品質之間的權衡而彼此協作。圖2所示的基於區塊的視訊壓縮框架200與圖6所示的基於端對端深度學習的視訊壓縮框架600之間存在一對一對應關係。將其關係及差異簡單總結如下。基於端對端深度學習的視訊壓縮框架600可以包括配置成基於輸入視訊訊框生成位元流的編碼器、以及配置成基於位元流重建視訊訊框的解碼器。為了簡單起見,圖6僅顯示了基於端對端深度學習的視訊壓縮框架600的編碼器側。
如圖6所示,框架600可以執行運動估計和壓縮。在光流網路模組601中,可以使用CNN(卷積神經網路)模型來估計光流,將其視為運動資訊 。MV編碼器-解碼器網路不是直接對原始光流值進行編碼,而是對光流值進行壓縮和解碼。首先,MV編碼器網路模組602可以用於對運動資訊 進行編碼。運動資訊 的編碼運動表示為 ,其可以被Q模組603進一步量化為 。接著可以使用MV解碼器網路模組604來解碼對應的重建運動資訊
框架600還可以執行運動補償。標記為運動補償網路模組605的運動補償網路被設計為基於所獲得的光流來獲得預測訊框 。接著,原始訊框 和預測訊框 之間的殘差 =
框架600還可以執行轉換、量化和逆轉換。透過使用高度非線性殘差編碼器-解碼器網路(諸如圖6中所示的殘差編碼器網路模組606)來取代線性轉換,並且殘差 被非線性地映射到表示 。接著透過Q模組607將 量化為 。為了建立端對端的訓練方案,使用了量化方法。將量化的表示 饋送到標記為殘差解碼器網路模組608的殘差解碼器網路中以獲得重建殘差
框架600還可以執行熵編碼。在測試階段,量化運動表示 和殘差表示 由位元率估計網路模組609編碼成位元並傳送到解碼器。在訓練階段,為了估計位元的數目成本,CNN用於獲得 中每個符號的機率分佈。
此外,框架600的損失可以根據原始訊框、重建訊框和編碼訊框來確定。這裡確定的損耗還可以用於改進框架600內的網路以實現更好的效能。
框架600還可以用與結合框架200所描述的訊框重建相同的方式執行訊框重建(圖6中未顯示)。
基於端對端深度學習的視訊壓縮框架600可以用於臉部視訊壓縮,例如談話臉部生成視訊編碼。例如,基於端對端深度學習的談話臉部生成視訊編碼可以使用諸如變分(Variational)自動編碼(VAE)和生成對抗性網路(GAN)之類的生成模型。臉部視訊壓縮可以實現有希望的性能改進。例如,X2Face可用於透過影像、音訊和姿勢碼來控制臉部生成。此外,可以透過少量對抗性學習來使用真實的神經臉部特寫模型。對於視訊對視訊的合成任務,可以使用Face-vid2vid。此外,還可以使用利用緊湊的3D關鍵點表示來驅動生成模型來轉列目標訊框的方案。此外,可以使用基於FOMM的行動相容視訊聊天系統。也可以使用利用對抗性學習從地標重建原始訊框的VSBNet。此外,還可以使用基於緊湊特徵學習(CFTE)的端對端臉部特寫視訊壓縮框架,所述框架專為針對超低頻寬方案的高效談話臉部視訊壓縮而設計。CFTE方案利用緊湊的特徵表示來補償時間演化並以端對端的方式重建目標臉部視訊訊框。此外,CFTE方案可以合併到視訊編碼框架中,並監督速率失真目標。雖然這些演算法透過深度生成模型強大的轉列能力實現了少量臉部參數的訊框重建,但與原始運動視訊相比,一些頭部姿勢運動和臉部表情運動仍然無法準確轉列。
7是顯示根據本揭露的一些實施例的範例性基於深度學習的視訊生成壓縮框架700的示意圖。框架700適合於壓縮和生成談話臉部視訊。例如,框架700可以基於一階運動模型(FOMM)。FOMM使參考來源訊框變形以跟隨驅動視訊的運動。雖然此方法適用於各種類型的視訊(例如,電影、卡通),但此方法也可用於臉部動畫應用程式。FOMM遵循具有運動傳輸部件的編碼器-解碼器架構,包括以下步驟。
首先,使用等變損失來學習關鍵點提取器(也稱為運動模組),無需明確的標籤。透過此關鍵點提取器,為來源訊框和驅動訊框來計算兩組(每組十個)學習的關鍵點。學習到的關鍵點是由通道×64×64大小的特徵圖透過高斯圖函數轉換而來,因此每個對應的關鍵點可以代表不同通道的特徵資訊。值得一提的是,每個關鍵點都是(x,y)中能夠代表特徵圖的最重要資訊的點。
其次,密集運動網路使用地標和來源訊框來生成密集運動場和遮蔽圖。
接著,編碼器710透過諸如HEVC/VVC或JPEG/BPG的傳統影像/視訊壓縮方法對來源訊框進行編碼。在此,VVC用於壓縮來源訊框。
在後面的階段,使用密集運動場(使用可微分的網格樣本操作)對生成的特徵圖進行翹曲,接著與遮蔽圖相乘。
最後,解碼器720從翹曲圖生成影像。
圖8是顯示根據本揭露的一些實施例的用於談話臉部視訊的具有1×4×4緊湊特徵尺寸的範例性編碼器-解碼器編碼框架600的示意圖。圖8提供了基於緊湊特徵表示的基於深度的視訊生成壓縮方案的另一個基本框架,即CFTE。它遵循應用基於上下文的編碼方案的編碼器-解碼器架構。
在編碼器810側,壓縮框架包括三個模組:用於壓縮關鍵訊框的編碼器(也稱為VVC編碼模組)、用於提取其它訊框間的緊湊人體特徵的特徵提取器、以及用於壓縮緊湊人體特徵的訊框間預測殘差的特徵編碼模組。首先,用VVC編碼器壓縮代表人體紋理的關鍵訊框。透過緊湊特徵提取器,每個後續訊框間都以大小為1×4×4的緊湊特徵矩陣表示。需要提到的是,緊湊特徵矩陣的大小並不固定,特徵參數的數目也可以根據位元消耗的特定需求而增加或減少。接著,對這些提取的特徵進行訊框間預測和量化,最後將殘差進行熵編碼作為最終的位元流。
在解碼器820側,此壓縮框架還包含三個主要模組,包括用於重建關鍵訊框的解碼、透過熵解碼和補償來重建緊湊特徵、以及利用重建特徵和解碼關鍵訊框來生成最終視訊。更具體地,在生成最終視訊期間,來自VVC位元流的解碼關鍵訊框可以透過緊湊特徵提取進一步以特徵的形式表示。隨後,給定關鍵訊框和訊框間訊框的特徵,計算相關的稀疏運動場,便於生成逐像素密集運動圖(也稱為密集運動流)和遮蔽圖。最後,基於深度生成模型,使用解碼關鍵訊框、逐像素密集運動圖和具有隱式運動場表徵的遮蔽圖來生成具有準確外觀、姿勢和表情的最終視訊。
雖然這些視訊編解碼器已經實現了視訊會議、聊天、直播等應用,但由於缺乏對臉部視覺訊號的統計特性的考慮,無法完全實現高效的視覺臉部通訊。除了這些混合視訊編碼框架之外,基於模型的編碼(MBC)致力於透過強大的臉部先驗來提高臉部視訊壓縮效率。
受深度生成模型尤其是生成對抗性網路(GAN)最新進展的啟發,早期MBC技術的低品質臉部重建可以獲得很好的補救和改進。特別是,基於學習的臉部重演或動畫模型已經實現了生成式臉部視訊壓縮(GFVC)的巨大前景。圖9A是顯示根據本揭露的一些實施例的生成式臉部視訊壓縮(GFVC)系統的一般流程圖的示意圖。如圖9A所示,透過傳統的影像/視訊編解碼器910對關鍵參考訊框901進行編碼和解碼以獲得解碼關鍵參考訊框903。隨後的訊框間訊框902由基於模型的編解碼器920處理。具體地,在編碼器側,子序列訊框間訊框902透過分析模型921以緊湊的傳輸符號為特徵,並透過參數編碼922編碼成編碼位元流。在解碼器側,解碼關鍵參考訊框903和透過參數解碼923解碼的臉部表徵參數被聯合地饋送到合成模型924中以輸出重建訊框間訊框904。
圖9B是顯示根據本揭露的一些實施例的生成式臉部視訊壓縮系統的臉部表徵的示意圖。如圖9B所示,動畫模型能夠經濟地以不同類型的緊湊臉部表徵參數(例如,二維(2D)地標、二維(2D)關鍵點、三維(3D)關鍵點、緊湊特徵、分段圖和臉部語義)來經濟地表徵輸入臉部訊框930,並依靠深度生成模型的強大學習能力來重建這些臉部訊框,這極大地推進了生成式臉部視訊壓縮的進展。透過這種方式,臉部視訊通訊可以朝超低位元率和高品質重建來實現。
儘管生成式臉部視訊壓縮方案可以實現有前景的率失真(RD)性能,但它們仍然面臨一些缺點和挑戰,限制了進一步的性能改進和實際應用。特別是,這些具有不同臉部表徵的這些GFVC方法中的每一種需要一對經過專門訓練的編碼器和解碼器。一旦編碼器和解碼器不匹配,就無法成功實現臉部視訊的重建。這種不相容性降低了這些方法的實用性,因此無法獲得電腦和手機中的常用影像檢視器的支援。因此,設計一個轉譯器來相容於固定解碼器的不同GFVC編碼器的不同臉部表徵非常重要。
本揭露提供了一種使用密集運動流轉譯器來傳輸對應的臉部表徵的方法。圖10顯示了根據本揭露的一些實施例的使用密集運動流轉譯器的生成式臉部視訊壓縮的範例性框架。如圖10所示,所述框架包括兩個子程序方案。第一子程序方案用於由影像/視訊編解碼器1010利用傳統編解碼器(例如,VVC、BPG)對第一訊框(例如,關鍵參考訊框1001)進行編碼和解碼。第二子程序方案用於利用生成式臉部視訊壓縮1020對訊框間訊框進行編碼和解碼。具體地,透過傳統的影像/視訊編解碼器1010,如VVC、BPG等對臉部視訊的第一訊框(即關鍵參考訊框1001)進行編碼和解碼,獲得為後續訊框間訊框重建提供紋理參考的解碼關鍵參考訊框1003。編碼器側的不同分析模型1021將訊框間訊框1002表徵為一或多種不同類型的臉部表徵參數,不同類型的臉部表徵參數包括2D關鍵點、3D關鍵點、緊湊特徵等。這些表徵參數進一步由參數編解碼器(例如參數編碼1022和參數解碼1023)進行編碼和解碼,接著透過密集運動流轉譯器模組1024將一或多個解碼的臉部表徵參數轉換為一或多個密集運動流,並且一或多個密集運動流中之各者具有滿足生成器的通用生成模型需求的通用格式。在一些實施例中,密集運動流轉譯器模組進一步將一或多個解碼臉部表徵參數轉換為一或多個遮蔽圖,所述一或多個遮蔽圖中之各者具有滿足生成器的通用生成模型需求的通用格式。在一些實施例中,密集運動流轉譯器模組1024可以包括一或多個密集運動流轉譯器,並且每種類型的臉部表徵參數與對應的流轉譯器匹配以將臉部表徵參數轉換為對應的密集運動流。最後,轉換後的密集運動流1004和解碼關鍵參考訊框1003是用於透過合成模型1025獲得重建訊框間訊框1005。
圖11顯示了根據本揭露的一些實施例的用於使用密集運動流轉譯器的生成式臉部視訊壓縮的另一個範例性框架。可以理解的是,圖11僅顯示了用於利用生成式臉部視訊壓縮對訊框間訊框進行編碼和解碼的第二子處理方案。如圖11所示,編碼器1110包括配置成表徵輸入視訊1101以獲得不同類型的臉部表徵參數的一或多個分析模型1111a-1111n,以及配置成將不同類型的臉部表徵參數編碼成位元流1102的參數編碼器1112。解碼器1120包括配置成在接收位元流1102之後對編碼臉部表徵參數進行解碼的參數解碼器1121。解碼器1120還包括一或多個密集運動流轉譯器1122和生成器1123。一或多個密集運動流轉譯器1122配置成將解碼後的不同類型的臉部表徵參數轉換為一或多個密集運動流和一或多個遮蔽圖,其中每一個都滿足生成器1123的需求。如圖11所示,在一些實施例中,一或多個密集運動流轉譯器1122包括不同的流轉譯器1122-a到1122-n,流轉譯器1122-a到1122-n中之各者對應於由一或多個分析模型1111a到1111n表徵的一種類型的臉部表徵參數。臉部表徵參數的類型可以包括2D關鍵點、3D關鍵點、緊湊特徵等。流轉譯器1122-a、1122-b、1122-c或1122-n生成的每個密集運動流的格式滿足生成器1123的需求,因此在解碼器處只需要一個生成器,而不是不同的配對生成器。在一些實施例中,由流轉譯器1122-a、1122-b、1122-c或1122-n生成的一或多個遮蔽圖中之各者的格式滿足生成器1123的需求。生成器1123係配置成生成具有密集運動流並且進一步具有遮蔽圖的輸出視訊1103。在一些實施例中,生成器1123是經過訓練的生成器,即生成器1123可以例如透過深度生成模型與鑑別器1124來訓練。圖12是根據本揭露的一些實施例的用於使用密集運動流轉譯器來生成式臉部視訊壓縮的另一範例性方法的流程圖。方法1200可以由解碼器(例如,由圖5A的程序500A或圖5B的程序500B)執行或由裝置的一或多個軟體或硬體部件執行。在一些實施例中,方法1200可以由包含在電腦可讀媒體中的電腦程式產品來實現,所述電腦程式產品包括電腦可執行指令,如由電腦執行的程式碼。參考圖10、圖11和圖12,方法1200可以包括以下的步驟1202至1208。
在步驟1202,對關鍵參考訊框進行解碼。解碼關鍵參考訊框1003透過傳統的影像/視訊編解碼器,如VVC、BPG等進行解碼。
在步驟1204,對一或多種類型的臉部表徵參數進行解碼。例如,參數解碼器1112對臉部特性參數進行解碼以獲得2D關鍵點、3D關鍵點、緊湊特徵等。
在步驟1206中,將一或多種臉部表徵參數轉換為一或多種密集運動流,並且所述一或多種密集運動流的共同格式滿足生成器的需求。在一些實施例中,使用用於各種類型的臉部表徵的一或多個流轉譯器。每種類型的臉部表徵參數都經過對應的流轉譯器轉換,以獲得對應的密集運動流。在一些實施例中,一或多種類型的臉部表徵參數進一步被轉換成一或多種遮蔽圖,並且所述一或多種遮蔽圖的共同格式滿足生成器的需求。具體來說,具有豐富結構資訊和較強的先驗知識的臉部影像可以被緊湊地建模為不同類型的臉部表徵參數,如2D關鍵點、3D關鍵點、緊湊特徵、臉部語義等。例如,2D關鍵點參數由FOMM流轉譯器轉換、緊湊特徵參數由CFTE流轉譯器轉換、3D關鍵點參數由face_vid2vid流轉譯器轉換,其它表示參數由所有GFVC演算法流轉譯器轉換。
在一些實施例中,GFVC系統1020的輸入臉部影像(例如,訊框間訊框1002)被表示為 ,其透過臉部分析模型被編碼為臉部特徵, 其中 分別表示臉部編碼器及其擷取的特徵。 代表各種GFVC方法的不同分析模型和臉部參數表示。
在一些實施例中,為了將這些臉部表徵參數轉換成特定且通用的格式,針對固定生成器提出了密集運動流轉譯器。圖13顯示了根據本揭露的一些實施例的用於將不同的臉部表徵參數轉換為密集運動流和遮蔽圖的範例性密集運動流轉譯器模組1300。如圖13所示,密集運動流轉譯器模組1300包括複數個密集運動流轉譯器1311、1312、1313和1314。不同類型的臉部表徵參數1301,包括2D關鍵點、緊湊特徵、3D關鍵點和其它格式參數,被饋送到對應的流轉譯器(例如,流轉譯器1311、1312、1313或1314)以實現轉換為複數個密集運動流和遮蔽圖1302。每個密集運動流轉譯器(例如,流轉譯器1311、1312、1313或1314)遵循GFVC方法的原始運動估計架構(也就是說, )以分別獲得逐像素密集運動流(即 )和遮蔽圖(即 )。 其中 表示兩個不同的預測輸出。這種操作可以充分利用緊湊的臉部表徵中的隱式運動場表徵,並有利於最終視訊的推論。
返回參考圖12,在步驟1208,基於一或多個密集運動流和關鍵參考圖片生成臉部圖片。例如,解碼關鍵參考訊框1003被饋送到生成器(例如,合成模型1025或生成器1123),解碼器側的生成器重建解碼關鍵參考訊框1003和密集運動流1004以獲得重建的訊框間訊框1005。接著,獲得輸出視訊(包括重建的關鍵參考訊框1003和重建的訊框間訊框1005)。在一些實施例中,基於一或多個密集運動流、關鍵參考圖片以及一或多個遮蔽圖來生成臉部圖片。
在一些實施例中,生成器是經過訓練的生成器。深度神經網路,特別是深度生成網路具有很強的推論能力來重建真實的影像。為了獲得有希望的生成結果,首先使用特徵翹曲策略。關鍵參考訊框K根據密集運動場 進行翹曲。由於關鍵參考訊框K中存在遮擋,與I相比,密集運動場 可能不足以生成真實結果(即 )。因此,來自學習的稀疏特徵差異的遮蔽圖 用於掩蓋應該修復的特徵圖區域。整體程序描述如下, 其中 分別表示反向翹曲操作和哈達瑪(Hadamard)乘積。最後,將轉換後的結果 饋送到生成模組(例如,圖11所示的生成器1123)的後續網路層,以利用圖11所示的鑑別器1124進一步轉列關鍵訊框。
透過上述描述,經過訓練的生成器可以獲得密集的運動流和遮蔽圖作為輸入並重建臉部訊框。
根據本揭露的實施例,解碼器可以固定有單獨的深度生成模型(例如,生成器1123),而不需要一對專門訓練的編碼器和解碼器,在實際應用中表現出極高的可解釋性和高相容性。
在一些實施例中,可以為密集運動流轉譯器設計訓練策略和損失監督。在一些實施例中,為了訓練不同的轉譯器和生成器,可以採用分階段的單一模組訓練。以VoxCeleb資料集為例,圖14顯示了根據本揭露的一些實施例的用於密集運動流轉譯器的範例性訓練程序1400的流程圖。訓練程序1400可以由處理器執行或由設備的一或多個軟體或硬體部件執行。處理器可以是能夠操縱或處理資訊的電子裝置。例如,處理器可以包括任何數目的中央處理單元(或「CPU」)、圖形處理單元(或「GPU」)、光學處理器、可程式化邏輯控制器、微控制器、微處理器、數位訊號處理器、智慧財產(IP)核心、可程式化邏輯陣列(PLA)、可程式化陣列邏輯(PAL)、通用陣列邏輯(GAL)、複雜可程式化邏輯裝置(CPLD)、現場可程式化閘陣列(FPGA)、系統單晶片(SoC)、特殊應用積體電路(ASIC)、神經處理單元(NPU)以及能夠進行資料處理的任何其它類型電路的任何組合。處理器也可以是虛擬處理器,其包括分佈在透過網路耦接的多個機器或裝置上的一或多個處理器。
如圖14所示,訓練程序1400可以包括步驟1402和1404。
在步驟1402,保存端對端GFVC演算法的各階段的輸出,獲得並保存臉部表徵參數、密集運動流、遮蔽圖及最終生成結果。端對端GFVC演算法框架可以參考圖2。
在步驟1404,使用所儲存的資料作為來源資料集來單獨訓練每個運動估計模組(例如,圖2所示的運動估計模組201)以獲得一或多個流轉譯器。具體地,受限的單獨運動估計模組是在所揭露的方案中使用的流轉譯器。對於流轉譯器的損失監督,可以採用L1重建損失(即平均絕對誤差(MAE)損失): , , 其中 代表不同GFVC模型生成的資料集。
在一些實施例中,生成器被密集運動流以及來自FOMM模型的遮蔽圖資料集和原始VoxCeleb資料集重新訓練。可以肯定的是,密集運動流和遮蔽圖資料集也可以從其它GFVC方法獲得。
在一些實施例中,感知損失和對抗性損失可以用來監督生成器訓練程序。
為了重建更真實的影像,可以使用感知損失作為重建損失,並結合預先訓練的VGG-19網路進行轉換結果 和原始框架 可以是VGG-19模型的第i層的特徵圖,感知損失函數由下式給定,
為了進一步提高生成影像的真實感,組成多個鑑別器(即, )的多尺度鑑別器在不同的影像解析度上進行操作。生成器G和鑑別器D的對應損失(即對抗性損失)由下式給定: 其中 表示生成的影像分佈和真實的影像分佈。
綜上所述,如上述實施例所示,本揭露提供了利用用於生成式臉部視訊壓縮的密集運動流轉譯器的方案。所揭露的密集運動流轉譯器可以將不同的解碼臉部表徵轉換為用於支援固定生成器並生成臉部視訊的密集運動流。所揭露的方案可以適應並整合到現有的GFVC方法中,並且可以支援電腦和行動裝置中常用的影像解碼器。
圖15是根據本揭露的一些實施例的用於對影像資料進行編碼的範例性設備1500的方塊圖。設備1500可用於執行上述視訊壓縮方法。如圖15所示,設備1500可以包括處理器1502。當處理器1502執行本文所述的指令時,設備1500可以變成用於視訊編碼或解碼的專用機器。處理器1502可以是能夠操縱或處理資訊的任何類型的電路。例如,處理器1502可以包括任何數目的中央處理單元(或「CPU」)、圖形處理單元(或「GPU」)、神經處理單元(NPU)、微控制器單元(「MCU」)、光學處理器、可程式化邏輯控制器、微控制器、微處理器、數位訊號處理器、智慧財產(IP)核心、可程式化邏輯陣列(PLA)、可程式化陣列邏輯(PAL)、通用陣列邏輯(GAL)、複雜可程式化邏輯裝置(CPLD)、現場可程式化閘陣列(FPGA)、系統單晶片(SoC)、特殊應用積體電路(ASIC)等的任何組合。在一些實施例中,處理器1502也可以是群組為單一邏輯部件的一組處理器。例如,如圖15所示,處理器1502可以包括多個處理器,包括處理器1502a、處理器1502b和處理器1502n。
設備1500還可以包括配置成儲存資料(例如,一組指令、電腦程式碼、中間資料等)的記憶體1504。例如,如圖15所示,所儲存的資料可以包括程式指令(例如,用於實現本揭露中所描述的方法的程式指令。處理器1502可以存取程式指令和資料以進行處理(例如,經由匯流排1510),並且執行程式指令以對資料執行操作或操縱以進行處理。記憶體1504可以包括高速隨機存取儲存裝置或非揮發性儲存裝置。在一些實施例中,記憶體1504可以包括任意數量的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、光碟、磁碟、硬碟、固態磁碟機、隨身碟、安全數位(SD)卡、記憶棒、緊湊型快閃記憶體(CF)卡等的任意組合。記憶體1504也可以是分組為單一邏輯部件的一組記憶體(圖15中未顯示)。
匯流排1510可以是在設備1500內部的部件之間傳輸資料的通訊裝置,如內部匯流排(例如,CPU-記憶體匯流排)、外部匯流排(例如,通用序列匯流排埠、周邊部件互連快速埠)等。
為了便於解釋而不致使歧義,處理器1502和其它資料處理電路在本揭露中統稱為「資料處理電路」。資料處理電路可以完全實現為硬體,或實現為軟體、硬體或韌體的組合。此外,資料處理電路可以是單一獨立模組或可以完全或部分地組合到設備1500的任何其它部件中。
設備1500還可包括網路介面1506以提供與網路(例如,網際網路、內部網路、區域網路、行動通訊網路等)的有線或無線通訊。在一些實施例中,網路介面1506可以包括任意數目的網路介面控制器(NIC)、無線射頻(RF)模組、應答器、收發器、數據機、路由器、閘道器、有線網路適配器、無線網路適配器、藍牙適配器、紅外線適配器、近場通訊(「NFC」)適配器、蜂巢式網路晶片等的任意組合。
在一些實施例中,設備1500還可包括周邊介面1508以提供到一或多個周邊裝置的連接。如圖15所示,周邊裝置可以包括但不限於游標控制裝置(例如,滑鼠、觸控板或觸控螢幕)、鍵盤、顯示器(例如,陰極射線管顯示器、液晶顯示器或發光二極體顯示器)、視訊輸入裝置(例如,相機或耦接到視訊檔案的輸入介面)等。
應注意的是,符合本揭露的視訊編解碼器可以被實現為設備1500中的任何軟體或硬體模組的任意組合。例如,所揭露的方法的一些或所有階段可以實現為設備1500的一或多個軟體模組,如可以載入到記憶體1504中的程式指令。又例如,所揭露的方法的一些或所有階段可以被實現為設備1500的一或多個硬體模組,如專用資料處理電路(例如,FPGA、ASIC、NPU等)。
在一些實施例中,也提供了一種儲存位元流的非暫態性電腦可讀儲存媒體。可以根據上述使用密集運動串流轉譯器的生成式臉部視訊壓縮的方法來對位元流進行編碼和解碼。例如,位元流可以包括編碼參考訊框,以及複數個訊框間訊框的編碼臉部表徵。可以使用對應的流轉譯器將編碼的臉部表徵解碼並轉換為密集運動流,並且可以基於上述方法(例如,方法1200(圖12))獲得輸出視訊。
在一些實施例中,還提供了一種包括指令的非暫態性電腦可讀儲存媒體,並且所述指令可以由裝置(如所揭露的編碼器和解碼器)執行,以執行上述方法。非暫態性媒體的常見形式包括例如軟碟、軟性磁碟、硬碟、固態硬碟、磁帶或任何其它磁性資料儲存媒體、CD-ROM、任何其它光學資料儲存媒體、任何具有孔圖案的實體媒體、RAM、PROM和EPROM、FLASH-EPROM或任何其它快閃記憶體、NVRAM、快取、暫存器、任何其它記憶體晶片或匣以及其網路版本。本裝置可以包括一或多個處理器(CPU)、輸入/輸出介面、網路介面和/或記憶體。
需要注意的是,本揭露中的實施例可以自由組合或單獨使用。
可以使用以下條款進一步描述實施例: 1. 一種對位元流進行解碼以輸出視訊串流的一或多張圖片的方法,所述方法包含: 接收包含一或多種類型的臉部表徵參數的位元流;以及 使用所述位元流的編碼資訊來解碼一或多張圖片, 其中所述解碼包含: 將所述一或多種類型的臉部表徵參數解碼; 將所述一或多種類型的臉部表徵參數轉換成具有共同格式的一或多個密集運動流;以及 基於所述一或多個密集運動流以及所述一或多張圖片中的關鍵參考圖片來生成臉部圖片。 2. 如條款1的方法,其中將所述一或多種類型的臉部表徵參數轉換成具有所述共同格式的一或多個密集運動流還包含: 透過一或多個密集運動流轉譯器將所述一或多種類型的臉部表徵參數轉換為所述一或多種密集運動流,其中一個密集運動流轉譯器對應於所述一或多種類型的臉部表徵參數中的一種類型。 3. 如條款2的方法,其中所述一或多種類型的臉部表徵參數包含:二維(2D)關鍵點、三維(3D)關鍵點、緊湊特徵或臉部語義。 4. 如條款1的方法,其中基於所述一或多個密集運動流生成所述臉部圖片還包含: 透過生成器來生成所述臉部圖片,而所述一或多個密集運動流的所述通用格式滿足所述生成器的需求。 5. 如條款4的方法,其中所述通用格式為第一通用格式,而所述方法還包含: 轉換所述一或多種類型的臉部表徵參數以獲得具有第二通用格式的一或多個遮蔽圖;以及 基於所述一或多個密集運動流、所述關鍵參考圖片以及所述一或多個遮蔽圖來生成所述臉部圖片。 6. 如條款5的方法,其中基於所述一或多個密集運動流、所述關鍵參考圖片以及所述一或多個遮蔽圖來生成所述臉部圖片還包含: 根據所述一或多個密集運動流對所述關鍵參考圖片進行變形;以及 透過使用所述一或多個遮蔽圖來遮蔽特徵圖區域來生成所述臉部圖片。 7. 如條款6的方法,其中所述生成器係用所述關鍵參考圖片進行訓練。 8. 如條款7的方法,其中所述生成器係在使用感知損失和對抗性損失的監督下進行訓練。 9. 如條款2的方法,其中所述一或多個密集運動流轉譯器係使用分階段的單一模組,並在使用L1重建損失的監督下進行訓練。 10. 一種將視訊序列編碼為位元流的方法,所述方法包含: 接收視訊序列; 將所述視訊序列的一或多張圖片進行編碼;以及 生成位元流, 其中所述編碼包含: 生成一或多種類型的臉部表徵參數;以及 將所述一或多種類型的臉部表徵參數編碼到所述位元流中, 其中所述一或多種類型的臉部表徵參數係轉換成具有共同格式的一或多個密集運動流。 11. 如條款10的方法,其中所述一或多種類型的臉部表徵參數包含:二維(2D)關鍵點、三維(3D)關鍵點、緊湊特徵或臉部語義。 12. 一種儲存包含一或多種類型的臉部表徵參數的位元流的非暫態性電腦可讀儲存媒體,其中所述一或多種類型的臉部表徵參數係根據包含以下步驟的方法進行處理: 將所述一或多種類型的臉部表徵參數解碼; 將所述一或多種類型的臉部表徵參數轉換成具有共同格式的一或多個密集運動流;以及 基於所述一或多個密集運動流以及所述一或多張圖片中的關鍵參考圖片來生成臉部圖片。 13. 如條款12的非暫態性電腦可讀儲存媒體,其中所述一或多種類型的臉部表徵參數包含:二維(2D)關鍵點、三維(3D)關鍵點、緊湊特徵或臉部語義。 14. 如條款12的非暫態性電腦可讀儲存媒體,其中所述位元流還包含用於所述關鍵參考圖片的經編碼關鍵參考圖片。 15. 一種用於對位元流進行解碼以輸出視訊串流的一或多張圖片的解碼器,包含: 參數解碼器,其配置成將一或多種類型的臉部表徵參數解碼; 一或多個密集運動流轉譯器,其配置成將所述一或多種類型的臉部表徵參數轉換成具有共同格式的一或多個密集運動流;以及 生成器,其配置成基於所述一或多個密集運動流以及所述一或多張圖片中的關鍵參考圖片來生成臉部圖片。 16. 如條款15的解碼器,還包含通用解碼器,其配置成對所述位元流進行解碼以獲得所述關鍵參考圖片。 17. 如條款15的解碼器,其中一個密集運動流轉譯器對應於所述一或多種類型的臉部表徵參數中的一種類型。 18. 如條款17的解碼器,其中所述一或多個密集運動流的所述通用格式滿足所述生成器的需求。 19. 如根據條款15的解碼器,其中所述通用格式係第一通用格式,而所述一或多個密集運動流轉譯器還配置成轉換所述一或多種類型的臉部表徵參數以獲得具有第二通用格式的一或多個遮蔽圖;以及 所述生成器還配置成基於所述一或多個密集運動流、所述關鍵參考圖片以及所述一或多個遮蔽圖來生成所述臉部圖片。 20. 如條款19的解碼器,其中所述生成器還配置成: 根據所述一或多個密集運動流對所述關鍵參考圖片進行變形;以及 透過使用所述一或多個遮蔽圖來遮蔽特徵圖區域來生成所述臉部圖片。 21. 如條款20的解碼器,其中所述生成器係用所述生成的臉部圖片進行訓練。 22. 如條款21的解碼器,其中所述生成器係在使用感知損失和對抗性損失的監督下進行訓練。 23. 如條款15的解碼器,其中所述一或多個密集運動流轉譯器係使用分階段的單一模組,並在使用L1重建損失的監督下進行訓練。 24. 如條款15的解碼器,其中所述一或多種類型的臉部表徵參數包含:二維(2D)關鍵點、三維(3D)關鍵點、緊湊特徵或臉部語義。
應注意的是,本文中諸如「第一」和「第二」之類的關係用語僅用於區分一個實體或操作與另一個實體或操作,並不需要或暗示這些實體或操作之間的任何實際關係或順序。此外,詞語「包含」、「具有」、「含有」和「包括」以及其它類似形式意於含義相同並且是開放式的,因為這些詞語中的任何一個之後的一或多個項目並非意於詳盡列出此類一或多個項目,或意於僅限於所列出的一或多個項目。
如本文所用,除非另有具體說明,否則用語「或」涵蓋所有可能的組合,除非不可行。例如,如果說明資料庫可以包括A或B,除非另有明確說明或不可行,否則資料庫可以包括A或B、或A和B。作為第二範例,如果說明資料庫可以包括A、B或C,除非另有具體說明或不可行,否則資料庫可以包括A、或B、或C、或A和B、或A和C、或B和C、或A和B和C。
應理解,上述實施例可以透過硬體、或軟體(程式碼)、或硬體和軟體的組合來實現。如果透過軟體實現,則其可以儲存在上述電腦可讀媒體中。當由處理器執行時,軟體可以執行所揭露的方法。本揭露所描述的計算單元及其它功能單元可以用硬體來實現,也可以用軟體來實現,或者硬體和軟體的結合來實現。本領域中的普通技術人員也應理解,上述模組/單元中的複數個可以組合為一個模組/單元,並且上述模組/單元中之各者還可以進一步分切為複數個子模組/子單元。
在前面的說明書中,已經參考許多具體細節描述了實施例,這些細節可以根據實現方式的不同而變化。可以對所描述的實施例進行某些調整和修改。透過考慮本文所揭露技術的說明書和實踐,對於本領域技術人員來說其它實施例是顯而易見的。說明書和範例意於僅被視為範例性的,本發明的真實範圍和精神由所附申請專利範圍指示。其目的還在於圖中所示的步驟順序僅用於說明性目的並且不意於限於任何特定的步驟順序。因此,本領域技術人員可以理解,在實現相同的方法時,可以用不同的順序執行這些步驟。
在附圖和說明書中,已經揭露了範例性實施例。然而,可以對這些實施例進行許多變更和修改。因此,儘管採用了特定用語,但它們僅用於一般和描述性的含義,而不是出於限制的目的。
100:系統 120:來源裝置 122:影像/視訊預處理器 124:影像/視訊編碼器 126:輸出介面 140:目的地裝置 142:輸入介面 144:影像/視訊解碼器 146:機器視覺應用 160:通訊媒體 162:經編碼位元流 200:基於區塊的視訊壓縮框架 201:運動估計模組 202:運動補償模組 203:轉換模組 204:Q模組 205:逆轉換模組 206:熵編碼模組 207:重建模組 300:視訊序列 302:圖片 304:圖片 306:圖片 308:圖片 310:結構 312:基本處理單元 314:區域 316:區域 318:區域 400A:編碼程序 402:視訊序列 404:預測階段 406:預測資料 408:預測BPU 410:殘差BPU 412:轉換階段 414:量化階段 416:量化轉換係數 418:逆量化階段 420:逆轉換階段 422:重建殘差BPU 424:預測參考 426:二進位編碼階段 428:視訊位元流 430:模式決策階段 432:環路濾波器階段 434:緩衝器 4042:空間預測階段 4044:時間預測階段 500A:解碼程序 502:二進位解碼階段 504:視訊串流 500B:解碼程序 600:框架 601:光流網路模組 602:MV編碼器網路模組 603:Q模組 604:MV解碼器網路模組 605:運動補償網路模組 606:殘差編碼器網路模組 607:Q模組 608:殘差解碼器網路模組 609:位元率估計網路模組 700:框架 710:編碼器 720:解碼器 800:框架 810:編碼器 820:解碼器 901:關鍵參考訊框 902:訊框間訊框 903:解碼關鍵參考訊框 904:重建訊框間訊框 910:影像/視訊編解碼器 920:基於模型的編解碼器 921:分析模型 922:參數編碼 923:參數解碼 924:合成模型 930:輸入臉部訊框 1001:關鍵參考訊框 1002:訊框間訊框 1003:解碼關鍵參考訊框 1004:轉換後的密集運動流 1005:重建訊框間訊框 1010:影像/視訊編解碼器 1020:生成式臉部視訊壓縮 1021:分析模型 1022:參數編碼 1023:參數解碼 1024:密集運動流轉譯器模組 1025:合成模型 1101:輸入視訊 1102:位元流 1110:編碼器 1111a:分析模型 1111b:分析模型 1111c:分析模型 1111n:分析模型 1112:參數編碼器 1120:解碼器 1121:參數解碼器 1122:密集運動流轉譯器 1122-a:流轉譯器 1122-b:流轉譯器 1122-c:流轉譯器 1122-n:流轉譯器 1123:生成器 1124:鑑別器 1200:方法 1202:步驟 1204:步驟 1206:步驟 1208:步驟 1300:密集運動流轉譯器模組 1301:臉部表徵參數 1302:遮蔽圖 1311:密集運動流轉譯器 1312:密集運動流轉譯器 1313:密集運動流轉譯器 1314:密集運動流轉譯器 1400:訓練程序 1402:步驟 1404:步驟 1500:設備 1502:處理器 1502a:處理器 1502b:處理器 1502n:處理器 1504:記憶體 1506:網路介面 1508:周邊介面 1510:匯流排
在下面的詳細描述和附圖中顯示了本揭露的實施例和各種態樣。圖中所示的各種特徵並未按比例繪製。
[圖1]是顯示根據本揭露的一些實施例的用於對影像資料進行編碼的範例性系統的示意圖。
[圖2]是顯示根據本揭露的一些實施例的基於區塊的視訊壓縮框架的架構的示意圖。
[圖3]是顯示根據本揭露的一些實施例的範例視訊序列的結構的示意圖。
[圖4A]是顯示根據本揭露的一些實施例的範例性基於區塊的編碼程序的示意圖。
[圖4B]是顯示根據本揭露的一些實施例的另一範例性基於區塊的編碼程序的示意圖。
[圖5A]是顯示根據本揭露的一些實施例的範例性基於區塊的解碼程序的示意圖。
[圖5B]是顯示根據本揭露的一些實施例的另一個範例性基於區塊的解碼程序的示意圖。
[圖6]是顯示根據本揭露的一些實施例的基於端對端深度學習的視訊壓縮框架的範例性架構的示意圖。
[圖7]是顯示根據本揭露的一些實施例的基於深度學習的視訊生成壓縮框架的範例性架構的示意圖。
[圖8]是顯示根據本揭露的一些實施例的針對談話臉部視訊的具有1×4×4緊湊特徵尺寸的範例性編碼器-解碼器編碼框架的示意圖。
[圖9A]是顯示根據本揭露的一些實施例的生成式臉部視訊壓縮(GFVC)系統的一般流程圖的示意圖。
[圖9B]是顯示根據本揭露的一些實施例的生成式臉部視訊壓縮系統的臉部表徵的示意圖。
[圖10]顯示了根據本揭露的一些實施例的使用密集運動流轉譯器的生成式臉部視訊壓縮的範例性框架。
[圖11]顯示了根據本揭露的一些實施例的使用密集運動流轉譯器的生成式臉部視訊壓縮的另一個範例性框架。
[圖12]是根據本揭露的一些實施例的用於使用密集運動流轉譯器的生成式臉部視訊壓縮的另一範例性方法的流程圖。
[圖13]顯示了根據本揭露的一些實施例的用於將不同的臉部表徵參數轉換為密集運動流和遮蔽圖的範例性密集運動流轉譯器模組。
[圖14]顯示了根據本揭露的一些實施例的用於密集運動流轉譯器的範例性訓練程序的流程圖。
[圖15]是根據本揭露的一些實施例的用於對影像資料進行編碼的範例性設備的方塊圖。

Claims (15)

  1. 一種對位元流進行解碼以輸出視訊串流的一或多張圖片的方法,所述方法包含: 接收包含一或多種類型的臉部表徵參數的位元流;以及 使用所述位元流的編碼資訊來解碼一或多張圖片, 其中所述解碼包含: 將所述一或多種類型的臉部表徵參數解碼; 將所述一或多種類型的臉部表徵參數轉換成具有共同格式的一或多個密集運動流;以及 基於所述一或多個密集運動流以及所述一或多張圖片中的關鍵參考圖片來生成臉部圖片。
  2. 如請求項1的方法,其中將所述一或多種類型的臉部表徵參數轉換成具有所述共同格式的一或多個密集運動流還包含: 透過一或多個密集運動流轉譯器將所述一或多種類型的臉部表徵參數轉換為所述一或多種密集運動流,其中一個密集運動流轉譯器對應於所述一或多種類型的臉部表徵參數中的一種類型。
  3. 如請求項2的方法,其中所述一或多種類型的臉部表徵參數包含:二維(2D)關鍵點、三維(3D)關鍵點、緊湊特徵或臉部語義。
  4. 如請求項1的方法,其中基於所述一或多個密集運動流生成所述臉部圖片還包含: 透過生成器來生成所述臉部圖片,而所述一或多個密集運動流的所述通用格式滿足所述生成器的需求。
  5. 如請求項4的方法,其中所述通用格式為第一通用格式,而所述方法還包含: 轉換所述一或多種類型的臉部表徵參數以獲得具有第二通用格式的一或多個遮蔽圖;以及 基於所述一或多個密集運動流、所述關鍵參考圖片以及所述一或多個遮蔽圖來生成所述臉部圖片, 其中基於所述一或多個密集運動流、所述關鍵參考圖片以及所述一或多個遮蔽圖來生成所述臉部圖片還包含: 根據所述一或多個密集運動流對所述關鍵參考圖片進行變形;以及 透過使用所述一或多個遮蔽圖來遮蔽特徵圖區域來生成所述臉部圖片, 其中所述生成器係用所述關鍵參考圖片進行訓練,以及 其中所述生成器係在使用感知損失和對抗性損失的監督下進行訓練。
  6. 如請求項2的方法,其中所述一或多個密集運動流轉譯器係使用分階段的單一模組,並在使用L1重建損失的監督下進行訓練。
  7. 一種儲存包含一或多種類型的臉部表徵參數的位元流的非暫態性電腦可讀儲存媒體,其中所述一或多種類型的臉部表徵參數係根據包含以下步驟的方法進行處理: 將所述一或多種類型的臉部表徵參數解碼; 將所述一或多種類型的臉部表徵參數轉換成具有共同格式的一或多個密集運動流;以及 基於所述一或多個密集運動流以及所述一或多張圖片中的關鍵參考圖片來生成臉部圖片。
  8. 如請求項7的非暫態性電腦可讀儲存媒體,其中所述一或多種類型的臉部表徵參數包含:二維(2D)關鍵點、三維(3D)關鍵點、緊湊特徵或臉部語義。
  9. 如請求項8的非暫態性電腦可讀儲存媒體,其中所述位元流還包含用於所述關鍵參考圖片的經編碼關鍵參考圖片。
  10. 一種用於對位元流進行解碼以輸出視訊串流的一或多張圖片的解碼器,包含: 參數解碼器,其配置成將一或多種類型的臉部表徵參數解碼; 一或多個密集運動流轉譯器,其配置成將所述一或多種類型的臉部表徵參數轉換成具有共同格式的一或多個密集運動流;以及 生成器,其配置成基於所述一或多個密集運動流以及所述一或多張圖片中的關鍵參考圖片來生成臉部圖片。
  11. 如請求項10的解碼器,還包含通用解碼器,其配置成對所述位元流進行解碼以獲得所述關鍵參考圖片。
  12. 如請求項10的解碼器,其中一個密集運動流轉譯器對應於所述一或多種類型的臉部表徵參數中的一種類型。
  13. 如請求項12的解碼器,其中所述一或多個密集運動流的所述通用格式滿足所述生成器的需求。
  14. 如請求項10的解碼器,其中所述通用格式係第一通用格式,而所述一或多個密集運動流轉譯器還配置成轉換所述一或多種類型的臉部表徵參數以獲得具有第二通用格式的一或多個遮蔽圖;以及 所述生成器還配置成基於所述一或多個密集運動流、所述關鍵參考圖片以及所述一或多個遮蔽圖來生成所述臉部圖片。
  15. 如請求項14的解碼器,其中所述生成器還配置成: 根據所述一或多個密集運動流對所述關鍵參考圖片進行變形;以及 透過使用所述一或多個遮蔽圖來遮蔽特徵圖區域來生成所述臉部圖片, 其中所述生成器係用所述生成的臉部圖片進行訓練,以及 其中所述生成器係在使用感知損失和對抗性損失的監督下進行訓練。
TW113133660A 2023-09-10 2024-09-05 用於使用密集運動流轉譯器的生成式臉部視訊壓縮的方法、非暫態性電腦可讀儲存媒體和解碼器 TW202518905A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202363581681P 2023-09-10 2023-09-10
US63/581,681 2023-09-10
US18/800,573 2024-08-12
US18/800,573 US20250088636A1 (en) 2023-09-10 2024-08-12 Method, non-transitory computer readable storage medium and decoder for generative face video compression using dense motion flow translator

Publications (1)

Publication Number Publication Date
TW202518905A true TW202518905A (zh) 2025-05-01

Family

ID=94872174

Family Applications (1)

Application Number Title Priority Date Filing Date
TW113133660A TW202518905A (zh) 2023-09-10 2024-09-05 用於使用密集運動流轉譯器的生成式臉部視訊壓縮的方法、非暫態性電腦可讀儲存媒體和解碼器

Country Status (4)

Country Link
US (1) US20250088636A1 (zh)
CN (1) CN121312132A (zh)
TW (1) TW202518905A (zh)
WO (1) WO2025051017A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20250310574A1 (en) * 2024-04-02 2025-10-02 City University Of Hong Kong Method and system for learning-based bidirectional video compression

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8818131B2 (en) * 2010-08-20 2014-08-26 Adobe Systems Incorporated Methods and apparatus for facial feature replacement
EP3110153A1 (en) * 2015-06-22 2016-12-28 Technische Universität München Keypoint data encoding
CN114363623B (zh) * 2021-08-12 2025-08-05 财付通支付科技有限公司 图像处理方法、装置、介质及电子设备
CN115131849B (zh) * 2022-05-04 2025-09-16 腾讯科技(深圳)有限公司 图像生成方法以及相关设备

Also Published As

Publication number Publication date
US20250088636A1 (en) 2025-03-13
WO2025051017A1 (en) 2025-03-13
CN121312132A (zh) 2026-01-09

Similar Documents

Publication Publication Date Title
WO2024083100A1 (en) Method and apparatus for talking face video compression
CN114424525B (zh) 视频处理中的量化参数标识
CN120455680A (zh) 视频信号的矩阵加权帧内预测
US20240251098A1 (en) Method and apparatus for face video compression
CN119137953A (zh) 色度样本的交叉分量预测
US12439094B2 (en) Pre-analysis based image compression methods
CN115836525A (zh) 用于从多个交叉分量进行预测的方法和系统
TW202518905A (zh) 用於使用密集運動流轉譯器的生成式臉部視訊壓縮的方法、非暫態性電腦可讀儲存媒體和解碼器
US12477120B2 (en) Keypoints based video compression
TW202527544A (zh) 區域照明補償裝置和方法
CN120615301A (zh) 生成式面部视频的sei消息
US20250088675A1 (en) Face feature translator for generative face video compression
US20250317602A1 (en) Scalable generative video coding
US20240223813A1 (en) Method and apparatuses for using face video generative compression sei message
US20250227311A1 (en) Method and compression framework with post-processing for machine vision
US20250008131A1 (en) Lightweight spatial upsampling methods for machine vision
JP2026504934A (ja) 顔映像圧縮のための方法及び装置
TW202524914A (zh) 用於針對機器視覺的自適應空間重新取樣之方法及非暫態電腦可讀取儲存媒體
CN120693876A (zh) 用于视频生成式压缩的方法和非暂时性计算机可读存储介质