TW202247650A - 使用機器學習系統進行隱式圖像和視訊壓縮 - Google Patents

使用機器學習系統進行隱式圖像和視訊壓縮 Download PDF

Info

Publication number
TW202247650A
TW202247650A TW111112832A TW111112832A TW202247650A TW 202247650 A TW202247650 A TW 202247650A TW 111112832 A TW111112832 A TW 111112832A TW 111112832 A TW111112832 A TW 111112832A TW 202247650 A TW202247650 A TW 202247650A
Authority
TW
Taiwan
Prior art keywords
model
image
neural network
weight values
weight
Prior art date
Application number
TW111112832A
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 TW202247650A publication Critical patent/TW202247650A/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • 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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • 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/177Methods 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 group of pictures [GOP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本案內容描述了使用機器學習系統對資料進行壓縮和解壓縮的技術。一個示例性過程可以包括:接收複數個圖像以用於經由神經網路壓縮系統進行壓縮。該過程可以包括:基於來自該複數個圖像的第一圖像決定與該神經網路壓縮系統的第一模型相關聯的第一複數個權重值。該過程可以包括:產生包括該第一複數個權重值的經壓縮版本的第一位元串流。該過程可以包括:輸出該第一位元串流以用於向該接收器傳輸。

Description

使用機器學習系統進行隱式圖像和視訊壓縮
大體而言,本案內容係關於資料壓縮。例如,本案內容的態樣包括使用機器學習系統來壓縮圖像及/或視訊內容。
許多設備和系統允許處理和輸出媒體資料(例如,圖像資料、視訊資料、音訊資料等)以供消費。媒體資料包括大量的資料,以滿足對圖像/視訊/音訊品質、效能和特徵不斷增長的需求。例如,視訊資料的消費者通常期望具有高保真度、高解析度、高訊框速率等的高品質視訊。滿足該等需求通常所需要的大量視訊資料給處理和儲存視訊資料的通訊網路和設備帶來了沉重的負擔。視訊譯碼技術可以用於壓縮視訊資料。視訊譯碼的一個示例性目標是將視訊資料壓縮為使用較低位元速率的形式,同時避免視訊品質的下降或使視訊品質的下降最小。隨著不斷發展的視訊服務變得可用以及對大量視訊資料的需求不斷增加,需要具有更好效能和效率的譯碼技術。
在一些實例中,描述了用於使用一或多個機器學習系統來進行資料壓縮及/或解壓縮的系統和技術。在一些實例中,機器學習系統(例如,使用一或多個神經網路系統)被提供用於對媒體資料(例如,視訊資料、圖像資料、音訊資料等)進行壓縮及/或解壓縮。根據至少一個說明性實例,提供了一種處理圖像資料的方法。該方法可以包括以下步驟:接收複數個圖像以用於經由神經網路壓縮系統進行壓縮;基於來自該複數個圖像的第一圖像決定與該神經網路壓縮系統的第一模型相關聯的第一複數個權重值;產生包括該第一複數個權重值的經壓縮版本的第一位元串流;及輸出該第一位元串流以用於向該接收器傳輸。
在另一實例中,提供了一種用於對媒體資料進行處理的裝置,其包括至少一個記憶體以及通訊耦合至該至少一個記憶體的至少一個處理器(例如,在電路系統中配置)。該至少一個處理器可以被配置為:接收複數個圖像以用於經由神經網路壓縮系統進行壓縮;基於來自該複數個圖像的第一圖像決定與該神經網路壓縮系統的第一模型相關聯的第一複數個權重值;產生包括該第一複數個權重值的經壓縮版本的第一位元串流;及輸出該第一位元串流以用於向該接收器傳輸。
在另一實例中,提供了一種非暫時性電腦可讀取媒體,包括儲存在其上的至少一個指令,當由一或多個處理器執行時,該等指令可以使該一或多個處理器:接收複數個圖像以用於經由神經網路壓縮系統進行壓縮;基於來自該複數個圖像的第一圖像決定與該神經網路壓縮系統的第一模型相關聯的第一複數個權重值;產生包括該第一複數個權重值的經壓縮版本的第一位元串流;及輸出該第一位元串流以用於向該接收器傳輸。
在另一實例中,提供了一種用於對圖像資料進行處理的裝置。該裝置可以包括:用於接收輸入資料以用於經由神經網路壓縮系統進行壓縮的構件;用於接收複數個圖像以用於經由神經網路壓縮系統進行壓縮的構件;用於基於來自該複數個圖像的第一圖像決定與該神經網路壓縮系統的第一模型相關聯的第一複數個權重值的構件;用於產生包括該第一複數個權重值的經壓縮版本的第一位元串流的構件;及用於輸出該第一位元串流以用於向該接收器傳輸的構件。
在另一實例中,提供了一種用於對媒體資料進行處理的方法。該方法可以包括以下步驟:接收與來自複數個圖像的第一圖像相關聯的第一複數個神經網路權重值的經壓縮版本;對該第一複數個神經網路權重值進行解壓縮;及使用第一神經網路模型對該第一複數個神經網路權重值進行處理以產生該第一圖像。
在另一實例中,提供了一種用於對圖像資料進行處理的裝置,其包括至少一個記憶體以及通訊耦合至該至少一個記憶體的至少一個處理器(例如,在電路系統中配置)。該至少一個處理器可以被配置為:接收與來自複數個圖像的第一圖像相關聯的第一複數個神經網路權重值的經壓縮版本;對該第一複數個神經網路權重值進行解壓縮;及使用第一神經網路模型對該第一複數個神經網路權重值進行處理以產生該第一圖像。
在另一實例中,提供了一種非暫時性電腦可讀取媒體,包括儲存在其上的至少一個指令,當由一或多個處理器執行時,該等指令可以使該一或多個處理器:接收與來自複數個圖像的第一圖像相關聯的第一複數個神經網路權重值的經壓縮版本;對該第一複數個神經網路權重值進行解壓縮;及使用第一神經網路模型對該第一複數個神經網路權重值進行處理以產生該第一圖像。
在另一實例中,提供了一種用於對圖像資料進行處理的裝置。該裝置可以包括:用於接收與來自複數個圖像的第一圖像相關聯的第一複數個神經網路權重值的經壓縮版本的構件;用於對該第一複數個神經網路權重值進行解壓縮的構件;及用於使用第一神經網路模型對該第一複數個神經網路權重值進行處理以產生該第一圖像的構件。
在一些態樣,裝置可以是下列各項或者可以是下列各項的一部分:相機(例如,IP相機)、行動設備(例如,行動電話或所謂的「智慧型電話」或其他類型的行動設備)、智慧可穿戴設備、擴展現實設備(例如,虛擬實境(VR)設備、增強現實(AR)設備或混合現實(MR)設備)、個人電腦、膝上型電腦、伺服器電腦、3D掃瞄器、多攝像頭系統,或者其他設備的一部分。在一些態樣,該裝置包括用於擷取一或多個圖像的一或多個照相機。在一些態樣,該裝置亦包括用於顯示一或多個圖像、通知及/或其他可顯示資料的顯示器。在一些態樣,上述裝置可以包括一或多個感測器。
本發明內容並不意欲決定主張保護的標的的關鍵或重要特徵,亦不意欲單獨用於決定主張保護的標的的範疇。應當經由參考本專利的整個說明書的適當部分、任何或所有附圖以及每項請求項來理解標的。
經由參考以下說明書、申請專利範圍和附圖,前述以及其他特徵和實施例將變得更加顯而易見。
下文提供了本案內容的一些態樣和實施例。對於熟習此項技術者而言將顯而易見的是,該等態樣和實施例中的一些可以獨立地應用,並且其中的一些亦可以組合地應用。在下文的描述中,出於解釋的目的,闡述了具體細節以便提供對本案的實施例的透徹理解。然而,將顯而易見的是,可以在不使用該等具體細節的情況下來實施各種實施例。附圖和描述不意圖是限制性的。
隨後的描述僅提供示例性實施例,而無意於限制本案內容的範疇、適用性或配置。相反,對示例性實施例的隨後描述將向熟習此項技術者提供能夠實現示例性實施例的描述。應該理解的是,在不脫離所附申請專利範圍所闡述的本案的精神和範疇的前提下,可以對元素的功能和佈置進行各種改變。
如前述,媒體資料(例如,圖像資料、視訊資料及/或音訊資料)可以包括大量資料,特別是隨著對高品質視訊資料的需求持續增長。例如,圖像、音訊和視訊資料的消費者通常希望獲得越來越高的品質水平,例如高保真度、解析度、訊框速率等。然而,滿足此類需求所需的大量資料可能會給通訊網路帶來沉重的負擔(例如高頻寬和網路資源要求)以及對處理和儲存視訊資料的設備帶來沉重的負擔。因此,用於減少儲存及/或傳輸圖像和視訊資料所需的資料量的壓縮演算法(亦被稱為譯碼演算法或工具)是有利的。
各種技術可以用於壓縮媒體資料。圖像資料的壓縮是使用諸如聯合圖像專家組(JPEG)、更好的可攜式圖形(BPG)等演算法完成的。近年來,基於神經網路的壓縮方法在壓縮圖像資料態樣顯示出巨大的前景。可以根據特定的視訊譯碼標準來執行視訊譯碼。示例性視訊譯碼標準包括高效視訊譯碼(HEVC)、基本視訊譯碼(EVC)、高級視訊譯碼(AVC)、運動圖片專家組(MPEG)譯碼和通用視訊譯碼(VVC)。然而,此種習知圖像和視訊譯碼技術會在執行解碼之後在重建圖像中造成偽影。
在一些態樣,本文描述了用於使用一或多個機器學習系統來執行資料(例如,圖像、視訊、音訊等)壓縮和解壓縮(亦被稱為編碼和解碼,統稱為譯碼)的系統、裝置、過程(亦被稱為方法)以及電腦可讀取媒體(在本文中統稱為「系統和技術」)。例如,可以使用隱式神經模型來實現該等系統和技術。隱式神經模型可以基於隱式神經表示(INR)。如本文所述,隱式神經模型可以將座標位置(例如,圖像或視訊訊框內的座標)作為輸入,並且可以輸出圖元值(例如,圖像或視訊訊框的顏色值,例如每個座標位置或圖元的顏色值)。在一些情況下,隱式神經模型亦可以基於IPB訊框方案。在一些實例中,隱式神經模型可以修改輸入資料以對光流程進行建模。
在一些實例中,隱式神經模型可以使用隱式神經表示對光流程進行建模,其中局部平移可以等於逐元素相加。在一些情況下,隱式模型可以經由調整輸入座標位置來產生相應的輸出圖元值,從而對光流程進行建模。例如,輸入的逐元素相加可以導致在輸出端進行局部平移,從而消除圖元移動的需求和相關聯的計算複雜度。
一或多個機器學習系統可以按照本文所述被訓練,並用於執行資料壓縮及/或解壓縮,例如圖像、視訊及/或音訊壓縮和解壓縮。本文中描述的機器學習系統可以被訓練以執行產生高品質的資料輸出的壓縮/解壓縮技術。本文描述的系統和技術可以執行任何類型的資料的壓縮及/或解壓縮。例如,在一些情況下,本文描述的系統和技術可以執行圖像資料的壓縮及/或解壓縮。作為另一實例,在一些情況下,本文描述的系統和技術可以執行視訊資料的壓縮及/或解壓縮。如本文所使用的,術語「圖像」和「訊框」可互換使用,代表獨立的圖像或訊框(例如,照片)或一組或一系列圖像或訊框(例如,組成視訊或其他圖像/訊框序列)。作為另一實例,在一些情況下,本文描述的系統和技術可以執行音訊資料的壓縮及/或解壓縮。為了簡單、說明和解釋的目的,本文描述的系統和技術是參考圖像資料(例如,圖像或訊框、視訊等)的壓縮及/或解壓縮來論述的。然而,如前述,本文中描述的概念亦可以應用於其他模態,例如音訊資料和任何其他類型的資料。
編碼器及/或解碼器使用的壓縮模型可以推廣到不同類型的資料。此外,經由利用具有本文所述的各種特性的隱式神經模型,機器學習系統可以提高特定資料集的壓縮及/或解壓縮效能、位元速率、品質及/或效率。例如,基於隱式神經模型的機器學習系統可以消除在接收器側(在一些情況下在傳輸器側)儲存經預訓練的神經網路的需要。傳輸器側和接收器側的神經網路可以用羽量級框架來實現。此種機器學習系統的另一個優點是實際機器學習系統(例如,神經網路)沒有流程操作,此舉在一些情況下(例如,在硬體中)可能難以實現。此外,解碼功能可以比基於標準機器學習中的譯碼器(轉碼器)更快。在一些情況下,本文描述的基於隱式神經模型的機器學習系統不需要單獨的訓練資料集,因為可以使用待編碼的資料(例如,座標網格以及圖像、視訊訊框、視訊等的當前例子)對其進行隱式訓練。本文中描述的隱式神經模型的配置亦可以迴避潛在的隱私問題。該系統亦對來自不同域的資料表現良好,包括彼等針對其沒有合適的訓練資料可用的資料。
在一些實例中,機器學習系統可以包括一或多個神經網路。機器學習(ML)是人工智慧(AI)的一個子集。機器學習系統包括演算法和統計模型,電腦系統可以經由依賴模式和推測來執行各種任務,而無需使用顯式指令。ML系統的一個實例是神經網路(亦被稱為人工神經網路),該神經網路可以由一組互連的人工神經元(例如神經元模型)組成。神經網路可用於各種應用及/或設備,例如圖像分析及/或電腦視覺應用、網際網路協定(IP)相機、物聯網路(IoT)設備、自動駕駛車輛、服務機器人等。
神經網路中的各個節點可以經由獲取輸入資料並對資料執行簡單操作來模擬生物神經元。對輸入資料執行的簡單操作的結果被選擇性地傳遞給其他神經元。權重值與網路之每一者向量和節點相關聯,該等值限制了輸入資料與輸出資料相關的方式。例如,可以將每個節點的輸入資料乘以相應的權重值,隨後可以將乘積相加。乘積之和可以經由可選的偏差進行調整,並且可以將啟用函數應用於結果,產生節點的輸出信號或「輸出啟用」(有時被稱為啟用圖或特徵圖)。權重值最初可以由經由網路的訓練資料的反覆運算流程來決定(例如,權重值是在網路學習如何經由其典型輸入資料特性辨識特定類的訓練階段期間建立的)。
存在不同類型的神經網路,例如深度產生神經網路模型(例如,產生式對抗網路(GAN))、循環神經網路(RNN)模型、多層感知器(MLP)神經網路模型、迴旋神經網路(CNN)模型、自動編碼器(AE)等。例如,GAN是一種產生式神經網路,其可以學習輸入資料中的模式,以便神經網路模型可以產生新的合成輸出,該等輸出合理地可能來自原始資料集。GAN可以包括一起操作的兩個神經網路。其中一個神經網路(被稱為產生式神經網路或產生器,表示為G(z))產生合成輸出,另一個神經網路(被稱為鑑別式神經網路或鑑別器,表示為D(X))評估輸出的真實性(輸出是來自原始資料集,例如訓練資料集,還是由產生器產生)。訓練輸入和輸出可以包括圖像作為說明性實例。產生器被訓練以試圖欺騙鑑別器,使其決定由產生器產生的合成圖像是資料集中的真實圖像。訓練過程繼續進行,產生器在產生看起來像真實圖像的合成圖像態樣變得更好。鑑別器繼續在合成圖像中發現缺陷,產生器找出鑑別器正在查看的內容以決定圖像中的缺陷。一旦網路經過訓練,產生器就能夠產生鑑別器無法與真實圖像區分開來的逼真圖像。
RNN的工作原理是保存層的輸出並將該輸出回饋給輸入,以幫助預測該層的結果。在MLP神經網路中,資料可以被饋入到輸入層,一或多個隱藏層為資料提供抽象級別。隨後可以基於抽象資料在輸出層上進行預測。MLP可以特別適用於為輸入分配類別或標籤的分類預測問題。迴旋神經網路(CNN)是一種類型的前饋人工神經網路。CNN可以包括人工神經元的集合,每個人工神經元皆具有相應的感受域(例如,輸入空間的空間局部化區域)並且共同平鋪(tile)輸入空間。CNN有許多應用,包括模式辨識和分類。
在分層神經網路架構中(當存在多個隱藏層時被稱為深度神經網路),第一層人工神經元的輸出成為第二層人工神經元的輸入,第二層人工神經元的輸出成為第三層人工神經元的輸入,以此類推。迴旋神經網路可以被訓練以辨識特徵的層次結構。迴旋神經網路架構中的計算可以分佈在一組處理節點上,該等節點可以被配置在一或多個運算鏈中。該等多層架構可以一次訓練一層,並且可以使用反向傳播進行微調。
自動編碼器(AE)可以以無監督的方式學習有效的資料譯碼。在一些實例中,AE可以經由訓練網路忽略信號雜訊來學習一組資料的表示(例如,資料譯碼)。AE可以包括編碼器和解碼器。編碼器可以將輸入資料映射到代碼中,而解碼器可以將代碼映射到輸入資料的重建。在一些實例中,可以訓練速率失真自動編碼器(RD-AE)以使資料點的資料集(例如圖像及/或視訊資料點)上的平均速率失真損失最小化。在一些情況下,RD-AE可以在推測時進行前向傳遞以編碼新的資料點。
在一些實例中,用於資料壓縮及/或解壓縮的機器學習系統可以包括被隱式訓練的神經網路(例如,使用待壓縮的圖像資料)。在一些情況下,可以使用基於迴旋的架構來實現基於隱式神經表示(INR)的資料壓縮及/或解壓縮。在一些態樣,對圖像資料進行編碼可以包括:選擇神經網路架構和在圖像資料上過擬合網路權重。在一些實例中,解碼器可以包括神經網路架構並且從編碼器接收網路權重。在其他實例中,解碼器可以從編碼器接收神經網路架構。
在一些情況下,神經網路權重可能很大,此舉會增加將權重發送到解碼器所需的位元速率及/或計算管理負擔。在一些實例中,可以對權重進行量化以減小整體大小。在一些態樣,可以使用權重先驗(weight prior)來對經量化的權重進行壓縮。權重先驗可以減少發送到解碼器的資料量。在一些情況下,可以設計權重先驗以降低用於傳輸模型權重的成本。例如,權重先驗可用於減少及/或限制權重的位元速率管理負擔。
在一些情況下,可以如本文進一步描述的一般改良權重先驗的設計。在一些說明性實例中,權重先驗設計可以包括獨立的高斯權重先驗。在其他說明性實例中,權重先驗設計可以包括獨立的拉普拉斯權重先驗。在其他說明性實例中,權重先驗設計可以包括獨立的尖峰和平板先驗。在一些說明性實例中,權重先驗可以包括由神經網路學習的複雜依賴關係。
圖1是圖示根據本案內容的一些實例的圖像處理系統100的實例的圖。在一些情況下,圖像處理系統100可以包括中央處理單元(CPU)102或多核CPU,其被配置為執行本文描述的一或多個功能。變數(例如,神經信號和突觸權重)、與計算設備相關聯的系統參數(例如,具有權重的神經網路)、延遲、頻段資訊、任務資訊以及其他資訊,可以儲存在與神經處理單元(NPU)108相關聯的記憶體區塊中、儲存在與CPU 102相關聯的記憶體區塊中、儲存在與圖形處理單元(GPU)104相關聯的記憶體區塊中、儲存在與數位信號處理器(DSP)106相關聯的記憶體區塊中,儲存在記憶體區塊118中,或分佈在多個區塊中。在CPU 102處執行的指令可以從與CPU 102及/或記憶體區塊118相關聯的程式記憶體載入。
圖像處理系統100可以包括為特定功能定製的附加處理區塊,例如GPU 104;DSP 106;連接區塊110,其可以包括第五代(5G)連接、第四代長期進化(4G LTE)連接、Wi-Fi連接、USB連接、藍芽連接等;及/或可以例如偵測和辨識特徵的多媒體處理器112。在一種實現中,NPU 108在CPU 102、DSP 106及/或GPU 104中實施。圖像處理系統100亦可以包括感測器處理器114、一或多個圖像信號處理器(ISP)116及/或儲存120。在一些實例中,圖像處理系統100可以基於ARM指令集。
圖像處理系統100可以是計算設備或多個計算設備的一部分。在一些實例中,圖像處理系統100可以是電子設備(或設備)的一部分,例如相機系統(例如,數位相機、IP相機、視訊攝像機、安全性攝像頭等)、電話系統(例如,智慧手機、蜂巢式電話、會議系統等)、桌面式電腦、XR設備(例如,頭戴式顯示器等)、智慧可穿戴設備(例如,智慧手錶、智慧眼鏡等)、膝上型電腦或筆記型電腦、平板電腦、機上盒、電視機、顯示設備、數位媒體播放機、遊戲控制台、視訊串流設備、無人機、車內電腦、晶片上系統(SOC)、物聯網路(IoT)設備或任何其他合適的電子設備。
儘管圖示圖像處理系統100包括一些元件,但是一般技術者將理解,圖像處理系統100可以包括比圖1所示的元件更多或更少的元件。例如,圖像處理系統100在一些情況下亦可以包括一或多個記憶體設備(例如RAM、ROM、快取記憶體等)、一或多個網路介面(例如,有線及/或無線通訊介面等)、一或多個顯示設備及/或圖1中未圖示的其他硬體或處理設備。下文針對圖16描述可以用圖像處理系統100實現的計算設備和硬體元件的說明性實例。
圖像處理系統100及/或其元件可以被配置為使用本文描述的機器學習系統和技術來執行壓縮及/或解壓縮(亦被稱為編碼及/或解碼,統稱為圖像譯碼)。在一些情況下,圖像處理系統100及/或其元件可以被配置為使用本文描述的技術來執行圖像或視訊壓縮及/或解壓縮。在一些實例中,機器學習系統可以利用深度學習神經網路架構來執行圖像、視訊及/或音訊資料的壓縮及/或解壓縮。經由使用深度學習神經網路架構,機器學習系統可以提高設備上內容壓縮及/或解壓縮的效率和速度。例如,使用所描述的壓縮及/或解壓縮技術的設備可以使用基於機器學習的技術有效地壓縮一或多個圖像,可以將經壓縮的一或多個圖像傳輸到接收設備,並且接收設備可以使用本文描述的基於機器學習的技術更有效地對該一或多個經壓縮的圖像進行解壓縮。本文中使用的圖像可以代表與訊框序列(例如,視訊)相關聯的靜止圖像及/或視訊訊框。
如前述,神經網路是機器學習系統的一個實例。神經網路可以包括輸入層、一或多個隱藏層,以及輸出層。從輸入層的輸入節點提供資料,由一或多個隱藏層的隱藏節點進行處理,並經由輸出層的輸出節點產生輸出。深度學習網路通常包括多個隱藏層。神經網路的每一層皆可以包括特徵圖或啟用圖,該等圖可以包括人工神經元(或節點)。特徵圖可以包括濾波器、核等。節點可以包括一或多個權重,用於指示一或多個層的節點的重要性。在一些情況下,深度學習網路可以具有一系列許多隱藏層,早期層用於決定輸入的簡單和低級別特性,而後面的層則建立更複雜和抽象特性的層次結構。
深度學習架構可以學習特徵的層次結構。例如,若呈現視覺資料,則第一層可以學習辨識輸入串流中相對簡單的特徵,例如邊緣。在另一個實例中,若呈現聽覺資料,則第一層可以學習辨識特定頻率中的頻譜功率。第二層以第一層的輸出作為輸入,可以學習辨識特徵的組合,例如視覺資料的簡單形狀或聽覺資料的聲音組合。例如,更高的層可以學習在視覺資料中表示複雜的形狀或在聽覺資料中表示詞語。更高的層可以學習辨識常見的視覺物件或口語短語。
當應用於具有自然層次結構的問題時,深度學習架構可以表現得特別好。例如,機動車輛的分類可以受益於首先學習辨識車輪、擋風玻璃和其他特徵。該等特徵可以在更高層以不同的方式進行組合,以辨識汽車、卡車和飛機。
神經網路可以被設計成具有多種連接模式。在前饋網路中,資訊從較低層傳遞到較高層,其中給定層之每一者神經元皆與較高層中的神經元進行通訊。如前述,可以在前饋網路的連續層中建立分層表示。神經網路亦可以具有循環或回饋(亦被稱為自上而下)連接。在循環連接中,給定層中的神經元的輸出可以被傳送到同一層中的另一個神經元。循環架構可以有助於辨識跨越按順序被遞送給神經網路的輸入資料區塊中的多於一個輸入資料區塊的模式。從給定層中的神經元到較低層中的神經元的連接被稱為回饋(或自上而下)連接。當對高級別概念的辨識可能有助於區分輸入的特定低級別特徵時,具有許多回饋連接的網路可能會有所幫助。
神經網路各層之間的連接可以是全連接的,亦可以是局部連接的。圖2A圖示全連接的神經網路202的實例。在全連接的神經網路202中,第一層中的神經元可以將其輸出傳送到第二層之每一者神經元,使得第二層之每一者神經元將接收到來自第一層中每個神經元的輸入。圖2B圖示局部連接的神經網路204的實例。在局部連接的神經網路204中,第一層中的神經元可以連接到第二層中有限數量的神經元。更一般地,局部連接神經網路204的局部連接層可以被配置為使得層之每一者神經元將具有相同或相似的連接模式,但連接強度可以具有不同的值(例如,210、212、214和216)。局部連接的連接模式可能會在較高層中產生空間上不同的感受域,因為給定區域中的較高層神經元可以接收經由訓練被調整到網路的總輸入的受限部分的屬性的輸入。
局部連接的神經網路的一個實例是迴旋神經網路。圖2C圖示迴旋神經網路206的實例。迴旋神經網路206可以被配置為使得與第二層之每一者神經元的輸入相關聯的連接強度是共享的(例如,208)。迴旋神經網路可能非常適合輸入的空間位置有意義的問題。根據本案內容的態樣,迴旋神經網路206可用於執行視訊壓縮及/或解壓縮的一或多個態樣。
一種類型的迴旋神經網路是深度迴旋網路(DCN)。圖2D圖示DCN 200的詳細實例,該DCN 200被設計為從圖像擷取設備230(例如車載相機)輸入的圖像226中辨識視覺特徵。當前實例的DCN 200可以被訓練以辨識交通標誌和交通標誌上提供的數值。當然,可以針對其他任務對DCN 200進行訓練,例如辨識車道標記或辨識交通信號燈。
可以經由監督學習對DCN 200進行訓練。在訓練期間,可以向DCN 200呈現圖像,例如限速標誌的圖像226,隨後可以計算前向傳遞以產生輸出222。DCN 200可以包括特徵提取部分和分類部分。在接收到圖像226之後,迴旋層232可以將迴旋核(未圖示)應用於圖像226以產生第一特徵圖集合218。作為實例,迴旋層232的迴旋核可以是產生28x28特徵圖的5x5核。在本實例中,因為在第一特徵圖集合218中產生了四個不同的特徵圖,因此在迴旋層232處將四個不同的迴旋核應用於圖像226。迴旋核亦可以被稱為濾波器或迴旋濾波器。
第一特徵圖集合218可以由最大池化層(未圖示)進行子取樣以產生第二特徵圖集合220。最大池化層減小了第一特徵圖集合218的大小。亦即,第二特徵圖集合220的大小,例如14x14,小於第一特徵圖集合218的大小,例如28x28。減小的大小為後續層提供了類似的資訊,同時減少了記憶體消耗。第二特徵圖集合220可以經由一或多個後續迴旋層(未圖示)被進一步迴旋以產生一或多個後續特徵圖集合(未圖示)。
在圖2D的實例中,對第二特徵圖集合220進行迴旋以產生第一特徵向量224。此外,對第一特徵向量224進行進一步迴旋以產生第二特徵向量228。第二特徵向量228的每個特徵可以包括與圖像226的可能特徵相對應的數值,例如「符號」、「60」和「100」。Softmax函數(未圖示)可以將第二特徵向量228中的數值轉換為概率。如此,DCN 200的輸出222是圖像226包括一或多個特徵的概率。
在本實例中,輸出222中「符號」和「60」的概率高於輸出222中的其他的概率,例如「30」、「40」、「50」、「70」、「80」、「90」和「100」。在訓練之前,由DCN 200產生的輸出222可能是不正確的。因此,可以計算輸出222和目標輸出之間的誤差。目標輸出是圖像226的地面真值(例如,「符號」和「60」)。隨後可以調整DCN 200的權重,使得DCN 200的輸出222更接近於目標輸出。
為了調整權重,學習演算法可以計算權重的梯度向量。梯度可以指示在調整權重時誤差將增加或減少的量。在頂層,梯度可以直接對應於連接倒數第二層中啟用的神經元和輸出層中的神經元的權重值。在較低層中,梯度可以取決於權重的值和較高層的計算誤差梯度。隨後可以調整權重以減少誤差。此種調整權重的方式可以被稱為「反向傳播」,因為其涉及經由神經網路的「反向傳遞」。
在實踐中,可以在少量取樣上計算權重的誤差梯度,使計算出的梯度接近真實的誤差梯度。此種近似方法可以被稱為隨機梯度下降。可以重複隨機梯度下降,直到整個系統的可實現誤差率停止下降或直到誤差率達到目標水平。在學習之後,可以向DCN呈現新圖像,並且經由網路的前向傳遞可以產生可以被認為是DCN的推測或預測的輸出222。
深度信念網路(DBN)是包括多層隱藏節點的概率模型。DBN可用於提取訓練資料集的分層表示。DBN可以經由對受限玻爾茲曼機(RBM)層進行堆疊來獲得。RBM是一種人工神經網路,其可以學習一組輸入的概率分佈。由於RBM可以在沒有關於每個輸入應歸入的類別資訊的情況下學習概率分佈,因此RBM通常用於無監督學習。使用混合的無監督和受監督範式,DBN的底部RBM可以以無監督的方式被訓練,並可以用作特徵提取器,而頂部RBM可以以受監督的方式被訓練(在來自前一層的輸入和目標類的聯合分佈上)並且可以用作分類器。
深度迴旋網路(DCN)是迴旋網路的網路,其配置有額外的池化和正規化層。DCN在許多任務上皆達到了最先進的效能。可以使用監督學習對DCN進行訓練,其中輸入和輸出目標對於許多實例皆是已知的,並用於經由使用梯度下降方法來修改網路的權重。
DCN可以是前饋網路。此外,如前述,從DCN的第一層中的神經元到下一個更高層中的一組神經元的連接在第一層中的神經元之間共享。DCN的前饋和共享連接可用於快速處理。例如,DCN的計算負擔可能比包含循環或回饋連接的類似大小的神經網路的計算負擔小得多。
迴旋網路的每一層的處理可以被認為是空間不變的範本或基礎投影。若輸入首先被分解為多個通道,例如彩色圖像的紅、綠和藍通道,則在該輸入上被訓練的迴旋網路可以被認為是三維的,兩個空間維度沿著圖像的軸,第三維擷取顏色資訊。迴旋連接的輸出可以被認為在後續層中形成特徵圖,特徵圖的每個元素(例如,220)接收來自前一層中的一系列神經元(例如,特徵圖218)以及來自多個通道之每一者通道的輸入。特徵圖中的值可以用非線性進一步處理,例如校正,max(0,x)。來自相鄰神經元的值可以進一步池化,此舉對應於下取樣,並且可以提供額外的局部不變性和維度降低。
圖3是圖示深度迴旋網路350的實例的方塊圖。深度迴旋網路350可以包括基於連接性和權重共享的多個不同類型的層。如圖3所示,深度迴旋網路350包括迴旋區塊354A、354B。每個迴旋區塊354A、354B可以被配置有迴旋層(CONV)356、正規化層(LNorm)358和最大池化層(MAX POOL)360。
迴旋層356可包括一或多個迴旋濾波器,其可以應用於輸入資料352以產生特徵圖。儘管僅圖示兩個迴旋區塊354A、354B,但本案內容不限於此,而是可以根據設計偏好將任意數量的迴旋區塊(例如,區塊354A、354B)包括在深度迴旋網路350中。正規化層358可以對迴旋濾波器的輸出進行正規化。例如,正規化層358可以提供白化或橫向抑制。最大池化層360可以在空間上提供下取樣聚合以用於局部不變性和維度下降。
例如,深度迴旋網路的並行濾波器組可以載入到圖像處理系統100的CPU 102或GPU 104上以實現高效能和低功耗。在替代實施例中,並行濾波器組可以載入在圖像處理系統100的DSP 106或ISP 116上。此外,深度迴旋網路350可以存取可能存在於圖像處理系統100上的其他處理區塊,例如感測器處理器114。
深度迴旋網路350亦可以包括一或多個全連接層,例如層362A(標記為「FC1」)和層362B(標記為「FC2」)。深度迴旋網路350亦可以包括邏輯回歸(LR)層364。在深度迴旋網路350的每一層356、358、360、362、364之間是待更新的權重(未圖示)。每一層(例如,356、358、360、362、364)的輸出可以作為深度迴旋網路350中後續一個層(例如,356、358、360、362、364)的輸入,以從在迴旋區塊354A中的第一個迴旋區塊354A處提供的輸入資料352(例如,圖像、音訊、視訊、感測器資料及/或其他輸入資料)學習分層特徵表示。深度迴旋網路350的輸出是輸入資料352的分類得分366。分類得分366可以是一組概率,其中每個概率是輸入資料包括來自特徵集合的特徵的概率。
圖像、音訊和視訊內容可以被儲存及/或可以在設備之間共享。例如,圖像、音訊和視訊內容可以上傳到媒體託管服務和共享平臺,並可以被傳輸到各種設備。錄製未壓縮的圖像、音訊和視訊內容通常會導致檔案大小隨著圖像音訊和視訊內容的解析度的增加而大大增加。例如,以1080p/24格式錄製的未壓縮的每通道16位元視訊(例如,解析度為1920圖元寬和1080圖元高,每秒擷取24訊框)可以佔用每訊框12.4百萬位元組,或每秒297.6百萬位元組。以每秒24訊框的4K解析度錄製的未壓縮的每通道16位元視訊可能佔用每訊框49.8百萬位元組,或每秒1195.2百萬位元組。
因為未壓縮的圖像、音訊和視訊內容可能會導致大檔案,該等大檔案可能涉及用於實體儲存的相當大的記憶體和用於傳輸的相當大的頻寬,因此可以利用一些技術來對此類視訊內容進行壓縮。例如,為了減小圖像內容的大小,從而減少儲存圖像內容所涉及的儲存量以及遞送視訊內容所涉及的頻寬量,可以將各種壓縮演算法應用於圖像、音訊和視訊內容。
在一些情況下,可以使用先驗定義的壓縮演算法來壓縮圖像內容,例如聯合圖像專家組(JPEG)、更好的可攜式圖形(BPG)等。例如,JPEG是一種基於離散餘弦變換(DCT)的失真壓縮形式。例如,執行圖像JPEG壓縮的設備可以將圖像變換為最優顏色空間(例如,YCbCr顏色空間,包括亮度(Y)、色度-藍色(Cb)、色度-紅色(Cr)),可以經由將圖元群組平均在一起來對色度分量進行下取樣,並且可以將DCT函數應用於圖元區塊以去除冗餘圖像資料,從而壓縮圖像資料。壓縮基於辨識圖像內部的相似區域並將該等區域轉換為相同的顏色代碼(基於DCT函數)。亦可以使用先驗定義的壓縮演算法來對視訊內容進行壓縮,例如電影專家組(MPEG)演算法、H.264或高效視訊譯碼演算法。
該等先驗定義的壓縮演算法可能能夠保留原始圖像和視訊內容中的大部分資訊,並且可以基於信號處理和資訊理論的思想進行先驗定義。然而,儘管該等預定義的壓縮演算法可能普遍適用(例如,適用於任何類型的圖像/視訊內容),但壓縮演算法可能不會考慮內容的相似性、視訊擷取和遞送的新解析度或訊框速率、非自然圖像(例如,雷達圖像或經由各種感測器擷取的其他圖像)等。
先驗定義的壓縮演算法被認為是失真壓縮演算法。在輸入圖像(或視訊訊框)的失真壓縮中,輸入圖像不能使得重建精確的輸入圖像而被譯碼隨後解碼/重建。相反,在失真壓縮中,輸入圖像的近似版本是在壓縮輸入圖像的解碼/重建之後產生的。失真壓縮會導致位元速率降低,但會以失真為代價,從而導致重建圖像中出現偽影。因此,在失真壓縮系統中存在速率失真權衡。對於一些壓縮方法(例如,JPEG、BPG等),基於失真的偽影可以採取區塊狀或其他偽影的形式。在一些情況下,可以使用基於神經網路的壓縮,並且可以對圖像資料和視訊資料進行高品質壓縮。在一些情況下,模糊和顏色偏移是偽影的實例。
每當位元速率低於輸入資料的真實熵時,可能很難或不可能重建準確的輸入資料。然而,從資料的壓縮/解壓縮中實現的失真/損失之事實並不意味著重建的圖像或訊框不一定具有偽影。實際上,可以將壓縮圖像重建為另一個類似但不同的具有高視覺品質的圖像。
在一些情況下,可以使用一或多個機器學習(ML)系統來執行壓縮和解壓縮。在一些實例中,此種基於ML的系統可以提供產生高品質視覺輸出的圖像及/或視訊壓縮。在一些實例中,此類系統可以使用諸如速率失真自動編碼器(RD-AE)的深度神經網路來執行內容(例如,圖像內容、視訊內容、音訊內容等)的壓縮和解壓縮。深度神經網路可以包括將圖像映射到潛在代碼空間(例如,包括代碼集合z)的自動編碼器(AE)。潛在代碼空間可以包括編碼器和解碼器使用的代碼空間,其中內容已經被編碼成代碼z。代碼(例如,代碼z)亦可以被稱為潛在量、潛在變數或潛在表示。深度神經網路可以包括概率模型(亦被稱為先驗模型或代碼模型),該模型可以對來自潛在代碼空間的代碼z進行無失真壓縮。概率模型可以在代碼集z上產生概率分佈,該概率分佈可以表示基於輸入資料的編碼資料。在一些情況下,概率分佈可以表示為(P(z))。
在一些實例中,深度神經網路可以包括算術譯碼器,其基於概率分佈P( z)及/或代碼集 z來產生包括要輸出的壓縮資料的位元串流。包括壓縮資料的位元串流可以被儲存及/或可以被傳輸到接收設備。接收設備可以使用例如算術解碼器、概率(或代碼)模型以及AE的解碼器來執行逆過程以便對位元串流進行解碼或解壓縮。產生包括壓縮資料的位元串流的設備在從儲存中取得壓縮資料時亦可以執行類似的解碼/解壓縮過程。可以執行類似的技術來對經更新的模型參數進行壓縮/編碼和解壓縮/解碼。
在一些實例中,可以訓練和操作RD-AE以執行多速率AE(包括高速率和低速率操作)。例如,由多速率AE的編碼器產生的潛在代碼空間可以被劃分為兩個或更多個區塊(例如,代碼z被劃分為區塊z 1和z 2)。在高速率操作中,多速率AE可以發送基於整個潛在空間(例如代碼z,包括z 1、z 2等)的位元串流,接收設備可以使用該位元串流來對資料進行解壓縮,類似於上文針對RD-AE描述的操作。在低速率操作中,發送到接收設備的位元串流基於潛在空間的子集(例如,區塊z 1而不是z 2)。接收設備可以基於被發送的子集來推測潛在空間的剩餘部分,並且可以使用潛在空間的子集和推測的潛在空間剩餘部分來產生重建資料。
經由使用RD-AE或多速率AE來對內容進行壓縮(和解壓縮),編碼和解碼機制可以適用於各種用例。基於機器學習的壓縮技術可以產生具有高品質及/或降低位元速率的壓縮內容。在一些實例中,可以訓練RD-AE以使資料點的資料集(例如圖像及/或視訊資料點)上的平均速率失真損失最小化。在一些情況下,RD-AE亦可以針對要發送到接收器並由接收器解碼的特定資料點進行微調。在一些實例中,經由在資料點上微調RD-AE,RD-AE可以獲得高壓縮(速率/失真)效能。與RD-AE相關聯的編碼器可以將AE模型或AE模型的一部分發送到接收器(例如,解碼器)以對位元串流進行解碼。
在一些情況下,神經網路壓縮系統可以從(經量化的)潛在表示重建輸入例子(例如,輸入圖像、視訊、音訊等)。神經網路壓縮系統亦可以使用先驗來對潛在表示進行無失真壓縮。在一些情況下,神經網路壓縮系統可以決定測試時資料分佈是已知的且熵相對較低(例如,觀看靜態場景的相機、自動駕駛汽車中的行車記錄儀等),並且可以被微調以適應此種分佈。微調或適應可以造成改良的速率/失真(RD)效能。在一些實例中,神經網路壓縮系統的模型可以適用於待壓縮的單個輸入例子。神經網路壓縮系統可以提供模型更新,在一些實例中,可以使用參數空間先驗以及潛在表示對其進行量化和壓縮。
微調可以考慮模型量化的影響以及發送模型更新所導致的額外成本。在一些實例中,可以使用RD損失以及附加模型速率項 M來對神經網路壓縮系統進行微調,該模型速率項 M量測在模型先驗下發送模型更新所需的位元數,從而導致組合RDM損失。
圖4是圖示根據本案內容的一些實例的、包括傳輸設備410和接收設備420的系統400的圖。傳輸設備410和接收設備420在一些情況下可以分別被稱為RD-AE。傳輸設備410可以壓縮圖像內容,並且可以儲存壓縮圖像內容及/或將壓縮圖像內容傳輸到接收設備420以進行解壓縮。接收設備420可以對壓縮圖像內容進行解壓縮,並且可以在接收設備420上輸出經解壓縮的圖像內容(例如,用於顯示、編輯等)及/或可以將經解壓縮的圖像內容輸出到連接到接收設備420的其他設備(例如,電視、行動設備或其他設備)。在一些情況下,接收設備420可以經由以下操作變成傳輸設備:對圖像內容進行壓縮(使用編碼器422)並將壓縮圖像內容儲存及/或傳輸到另一個設備,例如傳輸設備410(在此種情況下,傳輸設備410將變成接收設備)。儘管在本文中針對圖像壓縮和解壓縮描述了系統400,但熟習此項技術者將理解:系統400可以使用本文描述的技術來對視訊內容進行壓縮和解壓縮。
如圖4所示,傳輸設備410包括圖像壓縮流水線,接收設備420包括圖像位元串流解壓縮流水線。根據本案內容的態樣,傳輸設備410中的圖像壓縮流水線和接收設備420中的位元串流解壓縮流水線通常使用一或多個人工神經網路來壓縮圖像內容及/或將接收的位元串流解壓縮成圖像內容。傳輸設備410中的圖像壓縮流水線包括自動編碼器401、代碼模型404和算術譯碼器406。在一些實現中,算術譯碼器406是可選的並且在一些情況下可以被省略。接收設備420中的圖像解壓縮流水線包括自動編碼器421、代碼模型424和算術解碼器426。在一些實現中,算術解碼器426是可選的並且在一些情況下可以被省略。傳輸設備410的自動編碼器401和代碼模型404在圖4中被示為機器學習系統,該機器學習系統先前已經被訓練並且因此被配置用於在訓練的機器學習系統的推測或操作期間執行操作。自動編碼器421和代碼模型424亦被示為先前已經被訓練的機器學習系統。
自動編碼器401包括編碼器402和解碼器403。編碼器402可以經由將未壓縮圖像內容的一或多個圖像中的圖元映射到潛在代碼空間(包括代碼 z)來對接收到的未壓縮圖像內容執行失真壓縮。通常,編碼器402可以被配置為使得表示經壓縮(或編碼)的圖像的代碼 z是離散的或二進位的。該等代碼可以基於隨機擾動技術、軟向量量化,或者可以產生不同代碼的其他技術來產生。在一些態樣,自動編碼器401可以將未壓縮的圖像映射到具有可壓縮(低熵)分佈的代碼。該等代碼的交叉熵可以接近於預定義或學習的先驗分佈。
在一些實例中,可以使用迴旋架構來實現自動編碼器401。例如,在一些情況下,自動編碼器401可以被配置為二維迴旋神經網路(CNN),以便自動編碼器401學習用於將圖像內容映射到潛在代碼空間的空間濾波器。在系統400用於對視訊資料進行譯碼的實例中,自動編碼器401可以被配置為三維CNN,使得自動編碼器401學習用於將視訊映射到潛在代碼空間的時空濾波器。在此種網路中,自動編碼器401可以根據關鍵訊框(例如,標記訊框序列開始的初始訊框,其中序列中的後續訊框被描述為相對於序列中的初始訊框的差異)、關鍵訊框與視訊中其他訊框之間的翹曲(或差異)以及殘差因數來對視訊進行編碼。在其他態樣,自動編碼器401可以實現為以先前訊框、訊框之間的殘差因數為條件的二維神經網路,並經由堆疊通道或包括循環層來進行調節。
自動編碼器401的編碼器402可以接收第一圖像(在圖4中標示為圖像 x)作為輸入,並且可以將第一圖像 x映射到潛在代碼空間中的代碼 z。如前述,編碼器402可以被實現為二維迴旋網路,使得潛在代碼空間在每個(x,y)位置處具有描述以該位置為中心的圖像區塊 x的向量。x座標可以表示圖像區塊 x中的水平圖元位置,y座標可以表示圖像區塊 x中的垂直圖元位置。當對視訊資料進行譯碼時,潛在代碼空間可以具有t變數或位置,t變數表示視訊資料區塊中的時間戳記(除了空間x和y座標之外)。經由使用水平和垂直圖元位置的兩個維度,向量可以描述圖像
Figure 02_image001
中的圖像補丁。
自動編碼器401的解碼器403的隨後可以對代碼
Figure 02_image003
進行解壓縮以獲得第一圖像
Figure 02_image001
的重建
Figure 02_image005
。通常,重建
Figure 02_image005
可以是未壓縮的第一圖像
Figure 02_image001
的近似值,而不需要是第一圖像
Figure 02_image001
的精確副本。在一些情況下,重建的圖像
Figure 02_image005
可以被輸出為壓縮圖像檔案,以儲存在傳輸設備中。
代碼模型404接收表示編碼圖像或其部分的代碼
Figure 02_image003
,並在可用於表示代碼
Figure 02_image003
的壓縮編碼字元集合上產生概率分佈P( z)。在一些實例中,代碼模型404可以包括概率自回歸產生模型。在一些情況下,可以針對其產生概率分佈的代碼包括基於算術譯碼器406來控制位元分配的學習分佈。例如,使用算術譯碼器406,可以單獨預測第一代碼
Figure 02_image003
的壓縮代碼;可以基於第一代碼
Figure 02_image003
的壓縮代碼來預測第二代碼
Figure 02_image003
的壓縮代碼;可以根據第一代碼
Figure 02_image003
和第二代碼
Figure 02_image003
的壓縮代碼來預測第三代碼
Figure 02_image003
的壓縮代碼,以此類推。壓縮代碼通常表示待壓縮的給定圖像的不同時空區塊。
在一些態樣,
Figure 02_image003
可以表示為三維張量。張量的三個維度可以包括特徵通道維度,以及高度和寬度空間維度(例如,表示為代碼
Figure 02_image007
。每個代碼
Figure 02_image007
(表示由通道和水平以及垂直位置索引的代碼)皆可以基於先前代碼來進行預測,先前代碼可以是固定的和理論上任意的代碼排序。在一些實例中,可以經由從頭到尾對給定圖像檔案進行分析並以光柵掃瞄順序對圖像之每一者區塊分析來產生代碼。
代碼模型404可以使用概率自回歸模型來學習輸入代碼 z的概率分佈。概率分佈可以以其先前的值為條件(如前述)。在一些實例中,概率分佈可以由以下公式表示:
Figure 02_image009
其中 c是所有圖像通道 C(例如R、G和B通道,Y、Cb和Cr通道或其他通道)的通道索引, w是總圖像訊框寬度 W的寬度索引, h是總圖像訊框高度 H的高度索引。
在一些實例中,概率分佈
Figure 02_image011
可以經由因果迴旋的完全迴旋神經網路來預測。在一些態樣,迴旋神經網路的每一層的核可以被遮罩,使得迴旋網路在計算概率分佈時知道先前的值
Figure 02_image013
並且可能不知道其他值。在一些態樣,迴旋網路的最後一層可以包括決定潛在空間中的代碼適用於輸入值的概率的softmax函數(例如,給定代碼可以用於壓縮給定輸入的可能性)。
算術譯碼器406使用由代碼模型404產生的概率分佈
Figure 02_image011
來產生與代碼
Figure 02_image003
的預測相對應的位元串流415(在圖4中示為「0010011……」)。代碼
Figure 02_image003
的預測可以表示為在可能的代碼集合上產生的概率分佈
Figure 02_image011
中具有最高概率得分的代碼。在一些態樣,算術譯碼器406可以基於代碼
Figure 02_image003
的預測的準確性和由自動編碼器401產生的實際代碼
Figure 02_image003
來輸出可變長度的位元串流。例如,若預測準確,則位元串流415可以對應於短編碼字元,而隨著代碼
Figure 02_image003
和代碼
Figure 02_image003
的預測之間的差異幅度增加,位元串流415可以對應於更長的編碼字元。
在一些情況下,位元串流415可以由算術譯碼器406輸出以儲存在壓縮圖像檔案中。亦可以輸出位元串流415以傳輸到請求設備(例如,接收設備420,如圖4所示)。通常,算術譯碼器406輸出的位元串流415可以無損地對 z進行編碼,使得 z可以在對壓縮圖像檔案應用的解壓縮過程期間被準確地恢復。
由算術譯碼器406產生並從傳輸設備410傳輸的位元串流415可以被接收設備420接收。傳輸設備410和接收設備420之間的傳輸可以使用各種合適的有線或無線通訊技術中的任何一種來發生。傳輸設備410和接收設備420之間的通訊可以是直接的或者可以經由一或多個網路基礎設施元件(例如,基地站、中繼站、行動站、網路集線器、路由器及/或其他網路基礎設施元件)來執行。
如圖所示,接收設備420可以包括算術解碼器426、代碼模型424以及自動編碼器421。自動編碼器421包括編碼器422和解碼器423。對於給定的輸入,解碼器423可以產生與解碼器403相同或相似的輸出。儘管自編碼器421被示為包括編碼器422,但在解碼過程期間不需要使用編碼器422來從接收自傳輸設備410的代碼
Figure 02_image003
中獲得
Figure 02_image005
(例如,在傳輸設備410處壓縮的原始圖像
Figure 02_image001
的近似值)。
接收到的位元串流415可以被輸入到算術解碼器426中以從位元串流中獲得一或多個代碼
Figure 02_image003
。算術解碼器426可以基於由代碼模型424在可能代碼的集合上產生的概率分佈
Figure 02_image015
,以及將每個所產生的代碼
Figure 02_image003
與位元串流相關聯的資訊,來提取經解壓縮的代碼
Figure 02_image003
。給定位元串流的接收部分和下一個代碼
Figure 02_image003
的概率預測,算術解碼器426可以產生新的代碼
Figure 02_image003
,因為新的代碼
Figure 02_image003
是由傳輸設備410處的算術譯碼器406編碼的。使用新的代碼
Figure 02_image003
,算術解碼器426可以對連續代碼
Figure 02_image003
進行概率預測,讀取位元串流的附加部分,並對連續代碼
Figure 02_image003
進行解碼直到整個接收到的位元串流被解碼。可以將經解壓縮的代碼
Figure 02_image003
提供給自動編碼器421中的解碼器423。解碼器423對代碼
Figure 02_image003
進行解壓縮並輸出圖像內容
Figure 02_image001
的近似
Figure 02_image005
(其可以被稱為經重建或解碼的圖像)。在一些情況下,可以儲存內容
Figure 02_image001
的近似
Figure 02_image005
以供以後取得。在一些情況下,內容
Figure 02_image001
的近似
Figure 02_image005
可以由接收設備420恢復並顯示在與接收設備420通訊耦合或整合的螢幕上。
如前述,傳輸設備410的自動編碼器401和代碼模型404在圖4中被示為先前已經被訓練的機器學習系統。在一些態樣,可以使用圖像資料一起訓練自動編碼器401和代碼模型404。例如,自動編碼器401的編碼器402可以接收第一訓練圖像
Figure 02_image017
作為輸入,並且可以將第一訓練圖像
Figure 02_image017
映射到潛在代碼空間中的代碼
Figure 02_image003
。代碼模型404可以使用概率自回歸模型(類似於上述技術)來學習代碼
Figure 02_image003
的概率分佈
Figure 02_image011
。算術譯碼器406可以使用由代碼模型404產生的概率分佈
Figure 02_image011
來產生圖像位元串流。使用來自代碼模型404的位元串流和概率分佈
Figure 02_image011
,算術譯碼器406可以產生代碼
Figure 02_image003
,並且可以將代碼
Figure 02_image003
輸出到自動編碼器401的解碼器403。解碼器403隨後可以對代碼
Figure 02_image003
進行解壓縮以獲得第一訓練圖像
Figure 02_image017
的重建
Figure 02_image019
(其中重建
Figure 02_image019
是未壓縮的第一訓練圖像
Figure 02_image017
的近似)。
在一些情況下,在傳輸設備410的訓練期間使用的反向傳播引擎可以執行反向傳播過程以基於一或多個損失函數來調整自動編碼器401的神經網路和代碼模型404的參數(例如,權重、偏差等)。在一些情況下,反向傳播過程可以基於隨機梯度下降技術。反向傳播可以包括前向傳遞、一或多個損失函數、反向傳遞,以及權重(及/或其他參數)更新。針對一次訓練反覆運算可以執行前向傳遞、損失函數、反向傳遞和參數更新。該過程可以針對每個訓練資料集合重複一定次數的反覆運算,直到神經網路的權重及/或其他參數被準確調整。
例如,自動編碼器401可以比較
Figure 02_image017
Figure 02_image019
以決定第一訓練圖像
Figure 02_image017
和重建的第一訓練圖像
Figure 02_image019
之間的損失(例如,由距離向量或其他差值表示)。損失函數可用於分析輸出中的誤差。在一些實例中,損失可以基於最大可能性。在使用未壓縮圖像
Figure 02_image017
作為輸入和重建圖像
Figure 02_image019
作為輸出的一個說明性實例中,損失函數
Figure 02_image021
可用於訓練自動編碼器401和代碼模型404的神經網路系統,其中
Figure 02_image023
是速率,
Figure 02_image025
是失真,*表示乘法函數,
Figure 02_image027
是權衡參數,其被設置為定義位元速率的值。在另一個實例中,損失函數
Figure 02_image029
可用於訓練自動編碼器401和代碼模型404的神經網路系統。在一些情況下,例如在使用其他訓練資料時,可以使用其他損失函數。另一種損失函數的一個實例包括均方誤差(MSE),定義為
Figure 02_image031
。MSE計算二分之一乘以實際答案減去預測(輸出)答案平方的總和。
基於決定的損失(例如,距離向量或其他差值)並使用反向傳播過程,自動編碼器401和代碼模型404的神經網路系統的參數(例如,權重、偏差等)可以被調整(有效地調整接收到的圖像內容和潛在代碼空間之間的映射)以減少輸入的未壓縮圖像和作為自動編碼器401輸出產生的壓縮圖像內容之間的損失。
第一個訓練圖像的損失(或誤差)可能很高,因為實際輸出值(重建圖像)可能與輸入圖像有很大不同。訓練的目標是使預測輸出的損失量最小化。神經網路可以經由決定神經網路的何者節點(具有相應的權重)對神經網路的損失貢獻最大來執行反向傳遞,並且可以調整權重(及/或其他參數)以使損失減少並最終達到最小化。可以計算損失相對於權重的導數(表示為 dL/ dW,,其中 W是特定層的權重),以決定對神經網路損失貢獻最大的權重。例如,可以更新權重,使其在梯度的相反方向上變化。權重更新可以表示為
Figure 02_image033
,其中 w表示權重, w i 表示初始權重,η表示學習率。學習率可以設置為任何合適的值,高學習率包括較大的權重更新,較低的值指示較小的權重更新。
可以繼續以此種方式訓練自動編碼器401和代碼模型404的神經網路系統,直到獲得期望的輸出。例如,自動編碼器401和代碼模型404可以重複反向傳播過程以最小化或以其他方式減少輸入圖像
Figure 02_image017
和由產生的代碼
Figure 02_image003
的解壓縮導致的重建圖像
Figure 02_image019
之間的差。
可以使用與上述用於訓練傳輸設備410的自動編碼器401和代碼模型404的技術類似的技術來訓練自動編碼器421和代碼模型424。在一些情況下,可以使用用於訓練自動編碼器401和傳輸設備410的代碼模型404的相同或不同的訓練資料集來訓練自動編碼器421和代碼模型424。
在圖4所示的實例中,速率失真自動編碼器(傳輸設備410和接收設備420)被訓練並根據位元速率在推測中執行。在一些實現中,可以以多個位元速率來訓練速率失真自動編碼器,以便當在潛在代碼
Figure 02_image035
中提供不同數量的資訊時,允許產生和輸出高品質的重建圖像或視訊訊框(例如,沒有或具有有限的由於相對於輸入圖像的失真而造成的偽影)。
在一些實現中,潛在代碼
Figure 02_image035
可以被劃分為至少兩個區塊z 1和z 2。當以高速率設置使用RD-AE模型時,兩個區塊皆被傳輸到設備以進行解碼。當在低速率設置中使用速率失真自動編碼器模型時,僅傳輸區塊z 1,並且在解碼器側從z 1推測區塊z 2。可以使用各種技術來執行從z 1推測z 2,如下文更詳細描述的。
在一些實現中,可以使用一組連續的潛在(例如,其可以傳達大量資訊)和相應的經量化離散潛在值(例如,其包含較少的資訊)。在訓練完RD-AE模型之後,可以訓練輔助解量化模型。在一些情況下,當使用RD-AE時,僅傳輸離散潛在值,並且在解碼器側使用輔助解量化模型從離散潛在值中推測出連續潛在值。
儘管圖示系統400包括一些元件,但是一般技術者將理解,系統400可以包括比圖4所示的元件更多或更少的元件。例如,系統400的傳輸設備410及/或接收設備420在一些情況下亦可以包括一或多個記憶體設備(例如RAM、ROM、快取記憶體等)、一或多個網路介面(例如,有線及/或無線通訊介面等)、一或多個顯示設備及/或圖4中未圖示的其他硬體或處理設備。圖4所示的元件及/或系統400的其他元件可以使用一或多個計算或處理元件來實現。一或多個計算元件可以包括中央處理單元(CPU)、圖形處理單元(GPU)、數位信號處理器(DSP)及/或圖像信號處理器(ISP)。下文針對圖16描述可以用系統1600實現的計算設備和硬體元件的說明性實例。
系統400可以是單個計算設備或多個計算設備的一部分或由其實現。在一些實例中,傳輸設備410可以是第一設備的一部分並且接收設備420可以是第二計算設備的一部分。在一些實例中,傳輸設備410及/或接收設備420可以作為諸如下列各項的電子設備(或多個設備)的一部分被包括在內:電話系統(例如智慧手機、蜂巢式電話、會議系統等)、桌面式電腦、膝上型電腦或筆記型電腦、平板電腦、機上盒、智慧電視、顯示設備、遊戲控制台、視訊串流設備、SOC、IoT(物聯網路)設備、智慧可穿戴設備(例如,頭戴式顯示器(HMD)、智慧眼鏡等)、相機系統(例如,數位相機、IP相機、視訊攝像機、安全性攝像頭等)或任何其他合適的電子設備。在一些情況下,系統400可以由圖1所示的圖像處理系統100來實現。在其他情況下,系統400可以由一或多個其他系統或設備來實現。
圖5A是圖示示例性神經網路壓縮系統500的圖。在一些實例中,神經網路壓縮系統500可以包括RD-AE系統。在圖5A中,神經網路壓縮系統500包括編碼器502、算術編碼器508、算術解碼器512和解碼器514。在一些情況下,編碼器502及/或解碼器514可以分別與編碼器402及/或解碼器403相同。在其他情況下,編碼器502及/或解碼器514可以分別與編碼器402及/或解碼器403不同。
編碼器502可以接收圖像501(圖像
Figure 02_image037
)作為輸入並且可以將圖像501(圖像
Figure 02_image037
)映射及/或轉換為潛在代碼空間中的潛在代碼504(潛在
Figure 02_image039
)。圖像501可以表示與訊框序列(例如,視訊)相關聯的靜止圖像及/或視訊訊框。在一些情況下,編碼器502可以執行前向傳遞以產生潛在代碼504。在一些實例中,編碼器502可以實現可學習功能。在一些情況下,編碼器502可以實現由
Figure 02_image041
參數化的可學習函數。例如,編碼器502可以實現函數
Figure 02_image043
。在一些實例中,可學習函數不需要與解碼器514共享或由解碼器514知曉。
算術編碼器508可以基於潛在代碼504(潛在
Figure 02_image039
)和潛在先驗506來產生位元串流510。在一些實例中,潛在先驗506可以實現可學習函數。在一些情況下,潛在先驗506可以實現由
Figure 02_image045
參數化的可學習函數。例如,潛在先驗506可以實現函數
Figure 02_image047
。潛在先驗506可用於使用無失真壓縮將潛在代碼504(潛在
Figure 02_image039
)轉換為位元串流510。潛在先驗506可以在發送方(例如,編碼器502及/或算術編碼器508)和接收方(例如,算術解碼器512及/或解碼器514)兩者處被共享及/或可用。
算術解碼器512可以從算術編碼器508接收編碼位元串流510,並且使用潛在先驗506來對編碼位元串流510中的潛在代碼504(潛在
Figure 02_image039
)進行解碼。解碼器514可以將潛在代碼504(潛在
Figure 02_image039
)解碼為近似重建圖像516(重建
Figure 02_image049
)。在一些情況下,解碼器514可以實現由
Figure 02_image051
參數化的可學習函數。例如,解碼器514可以實現函數
Figure 02_image053
。由解碼器514實現的可學習函數可以在發送方(例如,編碼器502及/或算術編碼器508)和接收方(例如,算術解碼器512及/或解碼器514)兩者處被共享及/或可用。
可以訓練神經網路壓縮系統500以使速率失真最小化。在一些實例中,速率反映位元串流510(位元串流b)的長度,而失真反映圖像501(圖像
Figure 02_image037
)和重建圖像516(重建
Figure 02_image049
)之間的失真。參數
Figure 02_image055
可用於針對特定的速率失真比來訓練模型。在一些實例中,參數
Figure 02_image055
可以用於定義及/或實現速率和失真之間的某種權衡。
在一些實例中,損失可以表示如下:
Figure 02_image057
其中函數E是期望值。可以基於例如均方誤差(MSE)的損失函數來決定失真
Figure 02_image059
。在一些實例中,術語
Figure 02_image061
可以指示及/或表示失真
Figure 02_image063
發送潛在值的速率可以表示為
Figure 02_image065
。在一些實例中,術語
Figure 02_image067
可以指示及/或表示速率
Figure 02_image065
。在一些情況下,可以在整個資料集D上使損失最小化,如下所示:
Figure 02_image069
圖5B是圖示用於實現推測過程的示例性神經網路壓縮系統530的圖。如圖所示,編碼器502可以將圖像501轉換為潛在代碼504。在一些實例中,圖像501可以表示與訊框序列(例如,視訊)相關聯的靜止圖像及/或視訊訊框。
在一些實例中,編碼器502可以使用單個前向傳遞
Figure 02_image071
對圖像501進行編碼。算術編碼器508隨後可以在潛在先驗506下執行潛在代碼504(潛在
Figure 02_image039
)的算術譯碼以產生位元串流520(
Figure 02_image073
)。在一些實例中,算術編碼器508可以如下產生位元串流520:
Figure 02_image075
算術解碼器512可以從算術編碼器508接收位元串流520並且在潛在先驗506下執行潛在代碼504(潛在
Figure 02_image039
)的算術解碼。在一些實例中,算術解碼器512可以對來自位元串流520的潛在代碼504進行解碼如下:
Figure 02_image077
。解碼器514可以對潛在代碼504(潛在
Figure 02_image039
)進行解碼並產生重建圖像516(重建
Figure 02_image049
)。在一些實例中,解碼器514可以使用單個前向傳遞來對潛在代碼504(潛在
Figure 02_image039
)解碼如下:
Figure 02_image079
在一些實例中,RD-AE系統可以使用一組訓練資料被訓練,並針對將被傳輸到接收器(例如,解碼器)並由其解碼的資料點(例如,圖像資料、視訊資料、音訊資料)進行進一步微調。例如,在推測時,RD-AE系統可以在被傳輸到接收器的圖像資料上進行微調。由於壓縮模型通常很大,因此將與模型相關聯的參數發送到接收器在網路(例如頻寬等)、儲存和計算資源等資源態樣可能非常昂貴。在一些情況下,RD-AE系統可以在被壓縮的單個資料點上進行微調並被發送到接收器進行解壓縮。此舉可以限制發送到接收器的資訊量(和相關成本),同時保持及/或提高壓縮/解壓縮效率、效能及/或品質。
圖6是圖示由使用模型先驗微調的示例性神經網路壓縮系統600實現的示例性推測過程的圖。在一些實例中,神經網路壓縮系統600可以包括使用RDM-AE模型先驗微調的RD-AE系統。在一些情況下,神經網路壓縮系統600可以包括使用模型先驗微調的AE模型。
在該說明性實例中,神經網路壓縮系統600包括編碼器602、算術編碼器608、算術解碼器612、解碼器614、模型先驗616和潛在先驗606。在一些情況下,編碼器602可以與編碼器402或編碼器502相同或不同,而且解碼器614可以與解碼器403或解碼器514相同或不同。算術編碼器608可以與算術譯碼器406或算術編碼器508相同或不同,而算術解碼器612可以與算術解碼器426或算術解碼器512相同或不同。
神經網路壓縮系統600可以為圖像601產生潛在代碼604(潛在
Figure 02_image039
)。神經網路壓縮系統600可以使用潛在代碼604和潛在先驗606來對圖像601(圖像
Figure 02_image037
)進行編碼,並產生可以被接收器用來產生重建圖像620(重建
Figure 02_image049
)的位元串流610。在一些實例中,圖像601可以表示與訊框序列(例如,視訊)相關聯的靜止圖像及/或視訊訊框。
在一些實例中,可以使用RDM-AE損失對神經網路壓縮系統600進行微調。可以經由使速率-失真-模型速率(RDM)損失最小化來訓練神經網路壓縮系統600。在一些實例中,在編碼器側,AE模型可以使用RDM損失在圖像601(圖像
Figure 02_image037
)上進行微調,如下所示:
Figure 02_image081
經微調的編碼器602可以對圖像601(圖像
Figure 02_image037
)進行編碼以產生潛在代碼604。在一些情況下,經微調的編碼器602可以使用如下的單個前向傳遞
Figure 02_image083
來對圖像601(圖像
Figure 02_image037
)進行編碼。算術編碼器608可以使用潛在先驗606將潛在代碼604轉換為用於算術解碼器612的位元串流610。算術編碼器608可以在模型先驗616下對經微調的解碼器614和經微調的潛在先驗606的參數進行熵譯碼,並且產生包括經微調的解碼器614和經微調的潛在先驗606的壓縮參數的位元串流611。在一些實例中,位元串流611可以包括經微調的解碼器614和經微調的潛在先驗606的經更新的參數。經更新的參數可以包括例如相對於基線解碼器和潛在先驗(例如微調之前的解碼器614和潛在先驗606)的參數更新。
在一些情況下,經微調的潛在先驗606可以在模型先驗616下進行熵譯碼如下
Figure 02_image085
,經微調的解碼器614可以在模型先驗616下進行熵譯碼如下
Figure 02_image087
,並且潛在代碼604(潛在
Figure 02_image039
)可以在經微調的潛在先驗606下進行熵譯碼如下
Figure 02_image089
。在一些情況下,在解碼器側,經微調的潛在先驗606可以在模型先驗616下進行熵譯碼如下
Figure 02_image091
,經微調的解碼器614可以在模型先驗616下進行熵譯碼如下
Figure 02_image093
,並且潛在代碼604(潛在
Figure 02_image039
)可以在經微調的潛在先驗606下進行熵譯碼如下
Figure 02_image095
解碼器614可以將潛在代碼604(潛在
Figure 02_image039
)解碼為近似重建圖像620(重建
Figure 02_image049
)。在一些實例中,解碼器614可以使用如下
Figure 02_image097
經微調的解碼器的單個前向傳遞來對潛在代碼604進行解碼。
如前述,可以經由使RDM損失最小化來訓練神經網路壓縮系統600。在一些情況下,速率可以反映位元串流b(例如,位元串流610及/或611)的長度,失真可以反映輸入圖像601(圖像
Figure 02_image037
)和重建圖像620(重建
Figure 02_image049
)之間的失真,模型-速率可以反映用於將模型更新(例如,經更新的參數)發送到接收器(例如,到解碼器614)及/或該操作所需的位元串流的長度。參數
Figure 02_image055
可用於針對特定的速率失真比來訓練模型。
在一些實例中,可以在推測時使資料點x的損失最小化,如下所示:
Figure 02_image099
。在一些實例中,RDM損失可以表示如下:
Figure 02_image101
。在一些情況下,可以基於例如均方誤差(MSE)的損失函數來決定失真
Figure 02_image063
Figure 02_image061
可以指示及/或表示失真
Figure 02_image063
。項
Figure 02_image103
可以指示及/或表示用於發送潛在
Figure 02_image065
的速率,項
Figure 02_image105
可以指示及/或表示用於發送經微調的模型更新
Figure 02_image107
的速率。
在一些情況下,模型先驗616可以反映用於發送模型更新的位元速率管理負擔的長度。在一些實例中,用於發送模型更新的位元速率可以描述如下:
Figure 02_image109
。在一些情況下,可以選擇模型先驗,以使發送沒有更新的模型很便宜,亦即位元長度(模型-速率-損失)很小:
Figure 02_image111
在一些情況下,使用RDM損失函數,神經網路壓縮系統600可以僅在潛在速率或失真隨著至少同樣多的位元降低時將位元添加到用於模型更新
Figure 02_image113
的位元串流中。此舉可以提高速率-失真(R/D)效能。例如,若神經網路壓縮系統600亦可以用至少相同數量的位元來降低速率或失真,神經網路壓縮系統600可以增加位元串流611中用於發送模型更新的位元的數量。在其他情況下,神經網路壓縮系統600可以將位元添加到用於模型更新
Figure 02_image113
的位元串流中,即使潛在速率或失真沒有隨著至少同樣多的位元而下降。
可以端到端地訓練神經網路壓縮系統600。在一些情況下,可以在端到端推測時使RDM損失最小化。在一些實例中,可以一次性花費一定量的計算(例如,對模型進行微調)並且隨後可以獲得高壓縮比,而無需接收器側的額外成本。例如,內容提供者可能花費大量計算來針對將提供給大量接收器的視訊更廣泛地訓練和微調神經網路壓縮系統600。經高度訓練和微調的神經網路壓縮系統600可以為該視訊提供高壓縮效能。在花費大量計算之後,視訊提供者可以儲存模型先驗的經更新的參數,並高效地提供給壓縮視訊的每個接收器以對視訊進行解壓縮。視訊提供者可以在每次傳輸視訊時在壓縮(以及減少網路和計算資源)態樣獲得巨大收益,此舉大大超過了對模型進行訓練和微調的初始計算成本。
由於視訊和圖像(例如高解析度圖像)中的大量圖元,上述訓練/學習和微調方法對於視訊壓縮及/或高解析度圖像可以非常有利。在一些情況下,複雜度及/或解碼器計算可以用作整體系統設計及/或實現的附加考慮因素。例如,可以對可以快速進行推測的非常小的網路進行微調。作為另一實例,可以為接收器複雜度添加成本項,此舉可以強制及/或導致模型移除一或多個層。在一些實例中,可以使用機器學習來學習更複雜的模型先驗,以獲得更大的增益。
模型先驗設計可以包括各種屬性。在一些實例中,實現的模型先驗可以包括此種模型先驗:其分配高概率
Figure 02_image115
用於發送沒有任何更新的模型,因此位元速率低:
Figure 02_image111
。在一些情況下,模型先驗可以包括此種模型先驗:其為
Figure 02_image117
周圍的值分配非零概率,因此在實踐中可以對經微調的模型的不同例子進行編碼。在一些情況下,模型先驗可以包括可以在推測時被量化並用於進行熵譯碼的模型先驗。
儘管研究進展加快,但基於深度學習的壓縮譯碼器(被稱為「轉碼器」)尚未在商業或消費應用中部署。造成此種情況的一個原因是,神經轉碼器在速率失真態樣還沒有明顯優於傳統轉碼器。此外,現有的基於神經的轉碼器提出了進一步的實現挑戰。例如,基於神經的轉碼器需要在所有接收器上經訓練的神經網路。因此,不同平臺上的所有使用者必須儲存此種神經網路的相同副本以便執行解碼功能。此種神經網路的儲存會消耗大量記憶體,難以維護,並且容易損壞。
如前述,本文描述了包括可以解決上述問題的隱式神經壓縮轉碼器的系統和技術。例如,本案內容的態樣包括基於隱式神經表示(INR)的視訊壓縮轉碼器,其可以被稱為隱式神經模型。如本文所述,隱式神經模型可以將座標位置(例如,圖像或視訊訊框內的座標)作為輸入,並且可以輸出圖元值(例如,圖像或視訊訊框的顏色值,例如每個座標位置或圖元的紅-綠-藍(RGB)值)。在一些情況下,隱式神經模型亦可以基於IPB訊框方案。在一些實例中,隱式神經模型可以修改輸入資料以對光流程進行建模,被稱為隱式神經光流程(INOF)。
例如,隱式神經模型可以使用隱式神經表示對光流程進行建模,其中局部平移可以等於逐元素相加。在一些情況下,光流程可以對應於局部平移(例如,作為位置的函數的圖元移動)。在一些態樣,可以跨視訊訊框對光流程進行建模以提高壓縮效能。在一些情況下,隱式模型可以經由調整輸入座標位置來產生相應的輸出圖元值,從而對光流程進行建模。例如,逐元素相加的輸入可以在輸出端進行局部平移,從而消除圖元移動的需求和相關聯的計算複雜度。在一個說明性實例中,可以由隱式神經模型經由修改輸入(例如,不需要移動圖元的位置),例如經由執行元素減法或加法來對從具有三個圖元(例如,P1|P2|P3)的第一訊框向具有三個圖元(例如,P0|P1|P2)的第二訊框的轉換進行建模。下圖說明了此實例:
1 | 2 | 3 à P1 | P2 | P3
0 | 1 | 2 à P0 | P1 | P2
如前述,隱式神經模型可以將圖像或視訊訊框的座標位置作為輸入,並且可以輸出圖像或視訊訊框的圖元值。在此種情況下,輸入(1|2|3和0|1|2)表示隱式神經模型的輸入,並包括圖像內的座標。輸出(P1|P2|P3)和(P0|P1|P2)表示隱式神經模型的輸出,並且可以包括RGB值。上述兩行中的每一行(1|2|3àP1|P2|P3和0|1|2àP0|P1|P2)對應於相同的模型,其中輸入變化了值「1」,導致輸出中的相應移位。對於傳統的光流程,機器學習模型本身必須將圖元的位置從一訊框移動到下一訊框。由於隱式機器學習模型將座標作為輸入,因此可以對輸入進行預處理(在被轉碼器處理之前)以便將每個輸入值減1,在此種情況下,輸出將發生移位,從而有效地對光流程進行建模。在一些情況下,可以執行按元素相加(例如,當訊框中的物件沿特定方向移動時),其中將向輸入值添加某個值(例如,值1)。
在一些實例中,可以使用隱式神經模型的權重更新跨訊框對殘差進行建模。在一些情況下,本文的技術可用於降低對間預測訊框(例如,單向訊框(P-訊框)及/或雙向訊框(B-訊框))進行壓縮所需的位元速率。在一些實例中,可以使用基於迴旋的架構來處理內訊框(例如,內訊框或I訊框)。基於迴旋的架構可用於解決隱式模型的解碼計算瓶頸,從而產生快速進行編碼和解碼的模型。在一些態樣,將資料轉換成位元串流可以利用用於I訊框的訓練後量化以及用於P訊框和B訊框的量化感知訓練來執行。
在一些情況下,可以對模型進行量化及/或編碼以形成完整的神經壓縮轉碼器。在一些實例中,可以將模型發送到接收器。在一些情況下,模型的微調可以在P訊框和B訊框上執行,並且可以將收斂的更新發送到接收器。在一些態樣,可以利用可以使P訊框和B訊框的位元速率最小化的稀疏性誘導先驗及/或量化感知程序來對模型進行微調。與現有的神經壓縮轉碼器相比,基於隱式神經模型的神經壓縮轉碼器消除了在接收器側(在一些情況下亦在傳輸器側)針對經預訓練的網路的要求。本文的技術的效能在圖像和視訊資料集上均優於傳統和基於神經的轉碼器,與以前基於INR的神經轉碼器相比具有增強的效能。
在一些態樣,隱式神經表示(INR)方法/模型可以用於視訊和圖像壓縮。視訊或圖像可以表示為函數,該函數可以實現為神經網路。在一些實例中,對圖像或視訊進行編碼可以包括:選擇架構,以及在單個圖像或視訊上過擬合網路權重。在一些實例中,解碼可以包括神經網路前向傳遞。用於壓縮的隱式神經模型的一項挑戰是解碼計算效率。大多數現有的隱式神經模型需要對輸入資料之每一者圖元進行一次前向傳遞。在一些態樣,本文的技術包括作為隱式神經表示模型的一般化的迴旋架構,其可以減少與對高解析度視訊或圖像進行解碼相關聯的計算管理負擔,從而減少解碼時間和記憶體要求。
在一些實例中,位元速率可以由儲存的模型權重的大小來決定。在一些情況下,為了提高本文揭示的隱式神經方法的效能,可以減小模型大小以提高位元速率。在一些配置中,可以經由以下操作來執行減小模型大小:對權重進行量化以及對可用於無損地壓縮經量化的網路權重的權重先驗進行擬合。
在一些情況下,本文的技術可以匹配最先進的神經圖像和視訊轉碼器的壓縮效能。本文所揭示的轉碼器的一個示例性優點在於:其可以消除在接收器側儲存神經網路的需要,並且可以用羽量級框架來實現。另一個優點(例如,與類似尺度空間流程(SSF)的神經轉碼器相比)是沒有流程操作,流程在硬體中可能難以實現。此外,解碼功能可以比標準神經轉碼器更快。此外,本文的技術不需要單獨的訓練資料集,因為可以使用待編碼的資料(例如,圖像、視訊訊框、視訊等的當前例子)對其進行隱式訓練。本文描述的隱式神經模型的配置可以幫助避免潛在的隱私問題,並在來自不同域的資料上表現良好,包括彼等沒有合適的訓練資料可用的域。
在與神經壓縮代碼相關的一個實例中,可以使用變分或壓縮自動編碼器的框架來實現神經視訊壓縮。此類模型被配置為對速率失真(RD)損失進行如下最佳化:
Figure 02_image119
(1)
在該實例中,編碼器
Figure 02_image121
將每個例子
Figure 02_image001
映射到潛在
Figure 02_image003
,解碼器
Figure 02_image123
恢復重建。假設經訓練的解碼器在接收器側可用,則所傳輸的位元串流包括經編碼的潛在
Figure 02_image003
。此類配置的實例包括3D迴旋架構和IP訊框流程架構,其基於先前訊框來調整每個P訊框。另一個實例包括例子自我調整微調,其中模型在每個測試例子上進行微調,並且模型與潛在資料一起傳輸。儘管此種方法比以前的工作具有優勢(例如,對域轉移的穩健性和模型大小的減小),但其仍然需要一個經預訓練的全域解碼器以便在接收器大小下使用。
在與神經壓縮轉碼器相關的另一個實例中,模型可用於經由將圖像隱式表示為神經網路權重來壓縮圖像。該配置實現了基於正弦表示網路(SIREN)的模型,具有不同數量的層和通道,並將其量化為16位元精度。所描述的隱式神經轉碼器不同於其他可能使用SIREN模型進行圖像壓縮任務的系統。例如,在一些實例中,本文描述的隱式神經轉碼器可以包括具有位置編碼的迴旋架構,可以實現更高級的壓縮方案,包括量化和熵譯碼,並且可以執行視訊壓縮。
在與隱式神經表示相關的一個實例中,隱式表示已用於學習三維結構和光場。在一些情況下,該等配置可以在單個場景上訓練神經網路,使其由網路權重編碼。隨後可以經由網路的前向傳遞產生場景的新視圖。在一些態樣,該等方法可以比離散對應物更高效,因為當物件資料位於高維座標系中的低維流形上時,離散表示中存在高冗餘,其中一個值與每個座標集合相關聯。在一些實例中,隱式神經表示能夠利用此種冗餘,從而學習更高效的表示。
儘管隱式表示可以應用於具有較低維座標的資料,例如圖像和視訊,但與離散或潛在表示相比的相對效率尚未決定。此外,使用隱式表示的現有配置的效能需要匹配或超過使用離散表示或已建立壓縮轉碼器的配置的效能。
無論輸入資料的維度如何,選擇正確的表示類別皆很重要。在一些實例中,傅立葉域特徵有利於隱式神經模型學習現實場景的結構。例如,已經針對自然語言處理實現了傅立葉域特徵,其中顯示了句子中的詞語的傅立葉位置編碼,以實現具有完全注意力架構的最先進的語言建模。此外,對於視覺任務的隱式神經建模,配置可以在傳入MLP模型之前使用隨機取樣的傅立葉頻率作為編碼器。此外,一些配置包括可以是正弦函數的所有MLP啟用,前提是權重被仔細初始化。其中
Figure 02_image125
是具有
Figure 02_image127
位元的整數張量,
Figure 02_image129
是浮點中的縮放因數(或向量)。
在一些實例中,神經網路量化可用於減小模型大小以促進在資源受限的設備上更高效地執行模型。神經網路量化的實例包括向量量化,可以使用編碼簿來表示經量化的張量;及定點量化,可以表示具有定點數的張量,包括整數張量和縮放因數。在定點中,量化函數可以被定義為:
Figure 02_image131
(2)
其中
Figure 02_image133
是具有
Figure 02_image127
位元的整數張量,
Figure 02_image129
是浮點中的縮放因數(或向量)。在一些態樣,符號
Figure 02_image135
可用於代表所有量化參數的集合。
在一些實例中,神經網路中的權重張量(例如,所有權重張量)的低位元量化可能會導致顯著的量化雜訊。使用量化感知訓練,神經網路可以經由與量化操作進行端到端訓練來適應量化雜訊。由於公式2中的捨入操作是不可微分的,因此通常使用直通式估計器(STE)來近似其梯度。在一些情況下,除了與網路聯合學習縮放因數外,亦可以執行針對每一層學習每個張量的位元寬。在一些態樣,本文的技術可以將量化位元寬制定為速率損失並且可以使RD損失最小化以隱式地學習位元速率和圖元空間中的失真之間的最優權衡。
圖7A是圖示基於隱式神經網路壓縮系統700的示例性轉碼器的圖。在一些態樣,隱式神經壓縮系統700可以包括用於訓練被配置為最佳化失真及/或位元速率的隱式壓縮模型的流水線。在一些實例中,可以經由在失真目標上訓練隱式模型Ψ( w) 704的權重 w706來使失真最小化。在一些態樣,可以經由使用量化函數Q τ( w)來量化權重706並經由在經量化的權重708上擬合權重先驗
Figure 02_image137
712來使該比率最小化。在一些實例中,該等元件可以組合成反映速率失真損失的單個目標,如下所示:
Figure 02_image139
(3)
在一些實例中,對資料點 x(例如,對應於輸入圖像資料702,其可以包括一個圖像或複數個圖像)進行「編碼」的第一步是在公式(3)中為資料點(例如,輸入圖像資料702)找到最小損失。在一些情況下,可以使用搜尋及/或訓練演算法來獲得損失的最小值。例如,如圖7A所示,為了在傳輸器側訓練隱式神經模型704,將座標網格703輸入到隱式模型704。在訓練之前,隱式模型704的權重被初始化為初始值。權重的初始值用於處理座標網格703並針對輸入圖像資料702產生重建的輸出值(例如,每個圖元的RGB值),在公式(3)中表示為
Figure 02_image141
。被壓縮的實際輸入圖像資料702可以用作已知輸出(或標記),表示為公式(3)中的資料點 x。隨後可以在重建的輸出值(
Figure 02_image141
)和已知輸出(資料點 x,其是圖7A中的輸入圖像資料702)之間決定損失(
Figure 02_image143
)。基於損失,可以調整隱式模型704的權重(例如,基於反向傳播訓練技術)。此種過程可以執行一定次數的反覆運算,直到權重被調整從而獲得了一定的損失值(例如,最小化的損失值)。一旦隱式模型704被訓練,來自隱式模型704的權重 w706可以被輸出,如圖7A所示。在接收器側,可以使用解量化之後的經解碼的權重 w(或使用經量化的權重708)調整的隱式模型704來處理座標網格703。在一些情況下,隱式模型704的架構參數(𝛹(𝒘))可以基於架構解碼器726對位元串流720的解碼來決定。
在一些態樣,第一步驟可以包括:經由搜尋網路架構Ψ(•)並經由在沒有量化的情況下使 D損失最小化來訓練每個模型的權重 w706,來決定用於對輸入圖像資料702進行壓縮的最優隱式模型704(在一組可用隱式模型之中)。在一些實例中,該過程可用於選擇隱式模型704。
在一些情況下,可以實現量化器以基於量化器超參數τ實現最優失真 D。在一些態樣,可以基於經量化的權重708對隱式模型Ψ( w) 704進行微調。
在一些實例中,可以在固定量化器參數和隱式模型權重(例如,經量化的權重708或權重706)的同時實現權重先驗712。在一些態樣,權重先驗712可用於決定使速率損失 R最小化的最優設置(包括權重 w706)。
在一些態樣,隱式神經網路壓縮系統700可以用作圖像或視訊轉碼器,其可以被配置為:對位元串流722中的權重先驗參數 w712進行編碼(使用先驗編碼器714),並在位元串流724中的權重先驗
Figure 02_image137
712下使用熵譯碼對經量化的權重
Figure 02_image145
708進行編碼(由算術編碼器(AE)710)。在一些實例中,可以以相反的方式來實現解碼。例如,在接收器/解碼器側,算術解碼器(AD)730可以使用經解碼的權重先驗(由先驗解碼器728解碼)來執行熵解碼以便對位元串流724進行解碼並產生權重(例如,權重706或經量化的權重708)。使用權重和神經網路模型架構(例如,Ψ( w)),隱式模型704可以產生輸出圖像資料732。在一個實例中,一旦Ψ(•)和
Figure 02_image145
被解碼,就可以使用前向傳遞獲得重建
Figure 02_image005
Figure 02_image005
=Ψ( w)。
如前述,隱式模型704可以包括可以經由訓練權重 w706和決定最小失真來選擇的一或多個神經網路架構。在一個實例中,隱式模型704可以包括多層感知器(MLP),其將圖像內的座標作為輸入並返回RGB值(或其他顏色值),如下所示:
Figure 02_image147
Figure 02_image149
(4)
在一些態樣,隱式模型704可以實現SIREN架構,該架構可以使用週期性啟用函數來確保可以準確地表示圖像和視訊中的精細細節。在一些實例中,對圖像進行解碼可以包括:在每個感興趣的圖元位置
Figure 02_image151
評估MLP。在一些情況下,可以在不同的解析度設置或任何類型的圖元網格(例如,不規則網格)上訓練或評估表示,因為表示是連續的。
在一些實例中,隱式模型704可以包括迴旋網路,其可以用於提高代碼的計算效率(例如,特別是在接收器側)。在一些情況下,基於MLP的隱式神經模型可能需要對每個輸入圖元座標進行前向傳遞,此舉可能導致許多(例如,大約200萬次)前向傳遞用於解碼1K解析度視訊的每一訊框。
在一些態樣,基於MLP的隱式神經模型可以被視為具有1x1核的迴旋操作。在一些實例中,本文描述的技術可以將隱式模型推廣到迴旋架構。
與一次處理一個座標的MLP不同,本文的技術可以一次佈置所有座標,座標值位於通道軸上。在一些態樣,本文的技術可以針對轉置迴旋區塊使用3x3核和步幅值2(例如,指示迴旋核或濾波器在每次迴旋操作之後移動兩個位置),此舉可以導致重建圖像所需的前向傳遞次數的2 2L 次減少,其中 L是迴旋層的數量。
在一些實例中,可以以此種方式來推廣隨機傅立葉編碼和SIREN架構。例如,迴旋架構中的第一層可以包括對座標的位置編碼,如下所示:
Figure 02_image153
(5)
其中其中 c, i是沿通道的索引和空間維度,
Figure 02_image155
Figure 02_image157
是來自高斯分佈的頻率取樣。標準差和頻率數量是超參數。在此種位置編碼之後可以交替進行轉置迴旋和ReLU啟用。
在一些態樣,來自本文的技術的迴旋模型可以輕鬆地處理具有任意低數量的前向傳遞的高解析度圖像,從而加快編碼和解碼速度。在高位元速率下,記憶體效率亦更高。在一些實例中,可以使用不同的迴旋核(例如,流水線中的1x1及/或3x3迴旋)來實現以超低位元速率訓練3x3迴旋核。
如前述,神經網路壓縮系統700的輸入可以包括圖像資料702(例如,用於訓練隱式模型),其可以包括視訊資料。在一些實例中,視訊資料可以在後續訊框之間具有強冗餘。在現有的視訊轉碼器中,一組圖片(GoP)通常以此種方式被壓縮:亦即每一訊框皆依賴於前一訊框。具體而言,新訊框預測可以被制定為前一訊框的翹曲與殘差之和。本文的技術可以實現與隱式神經壓縮方案一起使用的類似配置。在一些情況下,隱式模型已被證明可以準確地表示翹曲。在一些態樣,本文的技術可以使用時間冗餘,該時間冗餘可以被隱式地利用來跨訊框共享權重。在一些態樣,完全隱式的方法(如本文所揭示的)可以具有概念簡單和架構自由的優點。
在一些實例中,可以使用圖片群組來實現隱式視訊表示。例如,可以將視訊分成多組 N訊框(或圖片),並且可以使用單獨的網路對每個批次進行壓縮。在一些情況下,此種實現降低了隱式表示所需的表達性。在一些實例中,該實現可以啟用緩衝串流,因為在能夠對接下來的 N訊框進行解碼之前僅需要發送一個小型網路。
在一些態樣,可以使用3D MLP來實現隱式視訊表示。例如,經由添加表示訊框號(或時間分量) t的第三個輸入,可以容易地將MLP表示擴展到視訊資料。在一些實例中,SIREN架構可以與正弦啟用一起使用。
在一些情況下,可以使用3D迴旋網路來實現隱式視訊表示。如前述,3D MLP可以被看作是1x1x1迴旋操作。與二維情況類似,本文的技術可以將3D MLP實現為具有3維核的迴旋操作。為了將參數的數量保持在最少,本文的技術可以使用大小為
Figure 02_image159
的空間核,隨後是形狀為
Figure 02_image161
的逐訊框核。
對於公式5中的傅立葉編碼,可以經由設置
Figure 02_image037
為[ t, x, y]並相應地引入額外頻率來考慮附加座標。由於時間和空間相關尺度可能非常不同,因此本文的技術可以讓時間共軛頻率方差成為單獨的超參數。與ReLU啟用交替的3維轉置迴旋序列可以將位置編碼特徵處理為視訊序列。在一些態樣,可以使用時間調制網路來實現隱式視訊表示,此舉對應於可以使表示作用於資料集合而不是單個例子的隱式表示。在一些實例中,方法可以包括使用超網路以及基於潛在的方法。在一些情況下,本文的技術可以使用時間調制網路將吾人的例子模型推廣到視訊中的訊框(而不是資料點集合)。在一些實例中,本文的技術可以實現合成調制器複合網路架構,因為其概念簡單並且參數共享高效。儘管先前的實現已經發現SIREN MLP無法以高解析度進行高品質重建,因此將圖像分離成重疊的空間瓦片以實現權重共享,但本文的技術實現了可以產生高解析度訊框的迴旋SIREN架構。在一些情況下,本文的技術可以僅保留沿訊框軸的調制。在此種方式中,模型的輸入仍然僅是空間座標( x, y)。但是,該網路的第 k層由以下公式提供:
Figure 02_image163
。(6)
此處σ(•)是啟用函數,
Figure 02_image165
是包括
Figure 02_image167
Figure 02_image169
迴旋的神經網路層,
Figure 02_image171
是用於每一訊框的可學習潛在向量,
Figure 02_image173
表示調制MLP的
Figure 02_image175
層輸出。按元素的乘法互動允許對複雜的時間依賴性進行建模。
在一些實例中,可以使用基於IPB訊框分解及/或IP訊框分解的配置來實現隱式視訊表示。參考圖9,可以經由首先將中間訊框壓縮為I訊框來對一組連續訊框902進行編碼(例如,使用IPB訊框分解)。接下來,從經訓練的I訊框隱式模型開始,本文的技術可以將第一訊框和最後一訊框微調為P訊框。在一些實例中,對第一訊框和最後一訊框的微調可以包括使用稀疏誘導先驗和量化感知微調來使位元速率最小化。在一些態樣,剩餘的訊框可以被編碼為B訊框。在一些實例中,IPB訊框分解可以經由將模型權重初始化為訊框任一側的模型權重的內插來實現。在一些情況下,整體位元串流可以包括使用擬合模型先驗編碼的I訊框模型的經量化的參數以及使用稀疏誘導先驗編碼的P和B訊框的經量化的更新。在一些實例中,可以使用IP訊框分解來實現隱式視訊表示,如圖9中的訊框904所示。
返回到圖7A,神經網路壓縮系統700可以實現可以用於對權重706進行量化以產生經量化的權重708的量化演算法。在一些態樣,網路量化可用於經由使用定點表示對每個權重張量
Figure 02_image177
進行量化來減小模型大小。在一些情況下,可以聯合學習量化參數和位元寬;例如,經由學習縮放
Figure 02_image129
和裁剪閾值
Figure 02_image179
。隨後將位元寬
Figure 02_image127
隱式定義為
Figure 02_image181
,表明此種參數化優於直接學習位元寬,因為其不受無界梯度範數的影響。
在一些實例中,對位元串流進行編碼可以包括:對所有量化參數
Figure 02_image183
和所有整數張量
Figure 02_image185
進行編碼。所有
Figure 02_image187
皆被編碼為32位元浮點變數,位元寬
Figure 02_image189
為INT4,整數張量
Figure 02_image191
各自的位元寬為
Figure 02_image189
在一些態樣,神經網路壓縮系統700可以實現熵譯碼。例如,最後的訓練階段可以包括算術編碼器(AE)710在權重(例如,權重706或經量化的權重708)上擬合先驗以產生位元串流724。如前述,在接收器/解碼器側,算術解碼器(AD)730可以使用經解碼的權重先驗(由先驗解碼器728解碼)來執行熵解碼以便對位元串流724進行解碼並產生權重(例如,權重706或經量化的權重708)。使用權重和神經網路模型架構,隱式模型704可以產生輸出圖像資料732。在一些情況下,對於大多數張量,權重可以近似分佈為以0為中心的高斯分佈。在一些實例中,每個權重的比例可以不同,但由於權重範圍是(傳輸的)量化參數
Figure 02_image193
的一部分,因此可以對權重進行正規化。在一些情況下,網路壓縮系統700隨後可以將高斯擬合到正規化權重並將其用於熵譯碼(例如,產生位元串流724)。
在一些實例中,一些權重(例如,權重706或量化權重708)是稀疏分佈的。對於稀疏分佈的權重,神經網路壓縮系統700可以傳輸二進位遮罩,該遮罩可以用於僅將概率質量重新分配給具有內容的二進位檔案。在一些情況下,可以包括單個信號位元來對是否傳輸遮罩進行編碼。
圖7B是圖示基於隱式神經網路壓縮系統700的示例性轉碼器的圖。在一些態樣,隱式神經壓縮系統700可以包括用於訓練被配置為最佳化失真及/或位元速率的隱式壓縮模型的流水線。如上文針對圖7A所描述的,第一步驟可以包括:經由在網路架構Ψ(•)上搜尋並經由在沒有量化的情況下使失真損失最小化來訓練每個模型的權重 w706,來決定用於對輸入圖像資料702進行壓縮的最優隱式模型704(在一組可用隱式模型之中)。在一些實例中,該過程可用於選擇隱式模型704。在一些實例中,隱式模型704可以與一或多個模型特性相關聯,模型特性可以包括模型寬度、模型深度、解析度、迴旋核的大小、輸入維度及/或任何其他合適的模型參數或特性。
在一些態樣,接收器側(例如,解碼器)不具有用於對輸入圖像資料702進行編碼的網路架構Ψ(•)的先驗知識。在一些情況下,隱式神經網路壓縮系統700可以被配置為:在位元串流720中對模型架構Ψ(•) 718(使用架構編碼器716)進行編碼。
圖8A是圖示使用隱式神經表示的一組圖片的流水線800的實例的圖。在一些態樣,流水線800可以由視訊壓縮轉碼器實現,該視訊壓縮轉碼器可以使用神經網路來處理圖像,神經網路可以將與輸入圖像(例如,I訊框802及/或P1訊框808)相關聯的座標映射到圖元值(例如,RGB值)。在一些實例中,流水線800的輸出可以包括具有標頭(例如,用於辨識網路架構)及/或相應輸入訊框的神經網路權重的壓縮檔案。
在一些實例中,流水線800可以包括基礎模型804(例如,基礎模型
Figure 02_image195
),其可以用於對來自與視訊輸入相關聯的一組訊框中的一或多個圖像訊框進行壓縮。在一些情況下,基礎模型804可以包括使用一組訊框中的第一訊框訓練的I訊框模型。在一些態樣,基礎模型804的訓練可以包括:經由將輸入座標位置映射到圖元值(例如,使用公式(4))來對來自一組訊框(例如,I訊框)的第一訊框進行壓縮。
在一些態樣,可以經由對與基礎模型804相關聯的一或多個權重張量進行量化來減小基礎模型804的大小。在一些實例中,可以使用定點量化函數來對權重張量進行量化,例如來自公式(2)的函數。例如,公式(2)可用於對基礎模型804進行量化以產生經量化的基礎模型806(例如,經量化的基礎模型
Figure 02_image197
)。在一些態樣,經量化的基礎模型806可以被壓縮(例如,使用算術編碼器)並且被發送到接收器。
在一些實例中,流水線800可以包括可用於決定在兩個圖像訊框(例如,I訊框802和P1訊框808)之間的光流程場的流程模型810(例如,流程模型
Figure 02_image199
)。例如,流程模型810可以被配置為:決定來自視訊的連續圖像訊框之間的光流程場或運動向量(例如,位移向量場)。在一些態樣,可以使用來自一組訊框的第二訊框(例如,P1訊框808)來訓練流程模型810。在一些情況下,由流程模型810決定的位移向量場可以應用於前一訊框以對當前訊框進行建模。在一些態樣,來自光流程場的位移可以表示為
Figure 02_image201
。在一些情況下,可以經由根據以下公式將位移向量添加到輸入變數來應用來自光流程場的位移:
Figure 02_image203
(7)
在一些態樣,可以經由對與流程模型810相關聯的一或多個權重張量進行量化來減小流程模型810的大小。在一些實例中,可以使用定點量化函數來對權重張量進行量化,例如來自公式(2)的函數。例如,公式(2)可用於對流程模型810進行量化以產生經量化的流程模型812(例如,經量化的流程模型
Figure 02_image205
)。在一些態樣,經量化的流程模型812可以被壓縮(例如,使用算術編碼器)並且被發送到接收器。
圖8B是圖示使用隱式神經表示的一組圖片的流水線840的實例的圖。在一些態樣,流水線840可以表示可以跟隨流水線800的第二流水線階段。例如,流水線840可用於使用經訓練的基礎模型(例如,基礎模型844)和經訓練的流程模型(例如,流程模型846)來對訊框進行處理和壓縮。
在一些實例中,流水線840可用於經由決定對複合模型的參數的經量化的更新來對來自一組訊框的附加訊框進行編碼。例如,流水線840可用於在後續P訊框(例如,P1訊框842)上進行順序反覆運算以學習相對於前一訊框的基礎模型權重更新
Figure 02_image207
和流程模型權重更新
Figure 02_image209
。在一些情況下,對基礎模型權重θ的更新和對流程模型權重∅的更新可以決定如下:
Figure 02_image211
以及
Figure 02_image213
(8)
在一些態樣,可以將基礎模型844和流程模型846的經更新權重發送到接收器。在一些情況下,權重更新
Figure 02_image207
Figure 02_image209
可以在由以
Figure 02_image215
為中心的
Figure 02_image017
個寬度為
Figure 02_image217
的等大小條柱組成的固定網格上進行量化。在一些實例中,可以在尖峰和平板先驗、窄高斯分佈和寬高斯分佈的混合模型下對權重更新進行熵譯碼,由下式提供:
Figure 02_image219
(9)
在一些態樣,在公式(9)中使用的具有方差
Figure 02_image221
的「平板」分量可以使用於向接收器發送經更新的權重的位元速率最小化。在一些情況下,具有窄標準差
Figure 02_image223
的「尖峰」分量可以使與零更新相關聯的處理成本最小化。在一些實例中,類似的後續訊框可以具有稀疏的並且與相對較低的位元速率成本相關聯的更新
Figure 02_image207
。在一些態樣,量化網格參數
Figure 02_image017
Figure 02_image217
、先驗標準差
Figure 02_image225
Figure 02_image227
以及尖峰-平板比∝對應於超參數。如圖8B所示,接收器輸出重建的P1訊框850(示為訊框
Figure 02_image229
850)和重建的I訊框(示為訊框
Figure 02_image231
848)。
圖8C是圖示用於使用隱式神經表示的一組圖片的流水線860的實例的圖。在一些實例中,流水線860可以包括被配置為對來自一組訊框的各個訊框進行處理的多個階段。例如,流水線860可以包括第一階段866,其可以處理第一訊框(例如,I訊框802)以產生重建的第一訊框
Figure 02_image231
872。
在一些態樣,流水線860可以包括第二階段868,其可以處理第二訊框(例如,P1訊框862)以產生重建的第二訊框
Figure 02_image233
1874。在一些態樣,流水線860可以包括第三階段870,其可以處理第三訊框(例如,P 2訊框864)以產生重建的第三訊框
Figure 02_image233
2876。熟習此項技術者將認識到,根據本文的技術,流水線860可以被配置為具有任意數量的階段。
在一些實例中,流水線860的每個階段可以包括基礎模型(例如,基礎模型804)和流程模型(例如,流程模型810)。在一些態樣,基礎模型的輸入可以是輸入座標與當前流程模型以及流程模型輸出的先前版本的按元素求和。在一些情況下,附加的流程模型可以被實現為可以經由跳過連接添加的附加層。
圖10是圖示用於執行隱式神經壓縮的示例性過程1000的圖。在一態樣,過程1000的每個方塊可以與公式1002相關聯,可以實現公式1002以使神經網路壓縮系統(例如,系統700)中的速率失真最小化。在一些實例中,公式1002可以具有以下形式:
Figure 02_image235
(10)
參考公式1002,
Figure 02_image237
可以對應於失真函數(例如,MSE、MS-SSIM);
Figure 02_image239
可以對應於隱式模型類(例如,網路類型和架構);
Figure 02_image241
可以對應於權重量化器;
Figure 02_image243
可以對應隱式模型權重;
Figure 02_image245
可以對應輸入圖像或視訊;
Figure 02_image055
可以對應於權衡參數;及
Figure 02_image247
可以對應於權重先驗。
轉向過程1000,在方塊1004處,過程包括:找到最優函數類或模型架構。在一些態樣,找到最優隱式模型可以包括:搜尋網路架構並經由使失真損失(例如,不量化權重)最小化來訓練每個模型的權重。在一些實例中,基於使失真損失最小化來選擇最優模型。在一些情況下,搜尋可以包括神經網路搜尋或貝氏最佳化技術。
在方塊1006處,過程1000包括:尋找最優函數參數及/或權重。在一些實例中,找到最優權重可以包括:使用梯度下降或隨機梯度下降來找到最優權重。
在方塊1008處,過程1000包括:尋找最優量化設置。在一些態樣,可以使用可訓練量化器(例如,使用機器學習演算法訓練的)來執行尋找最優量化設置。在一些實例中,可以使用編碼簿量化、學習到的定點量化及/或任何其他合適的量化技術來決定量化設置。
在方塊1010處,過程1000包括:尋找最優權重先驗。在一些情況下,可以經由搜尋不同的分佈類型(例如,高斯、貝塔、拉普拉斯等)來找到最優權重先驗。在一些態樣,找到最優權重先驗可以包括:對權重分佈的參數(例如,均值及/或標準差)進行擬合以使速率損失最小化。在一些實例中,可以包括二進位遮罩以傳輸到解碼器,解碼器可以提供對沒有權重的二進位內容的指示。
在一些實例中,過程1000中的步驟可以按順序執行或在適用的情況下使用並行處理來執行。在一些態樣,一或多個參數可以允許反向傳播,此舉可以促進一或多個步驟的組合(例如,當使用可學習量化器時,可以使用梯度下降來使方塊1006和方塊1008最小化)。
圖11是圖示用於執行隱式神經壓縮的示例性過程1100的圖。在方塊1102處,過程1100可以包括:接收輸入視訊資料以用於經由神經網路壓縮系統進行壓縮。在一些實例中,神經網路壓縮系統可以被配置為:使用基於隱式神經表示的隱式訊框流程(IFF)來執行視訊和圖像壓縮。例如,可以經由使用將座標位置映射到圖元值的神經網路來表示每一訊框來壓縮全解析度視訊序列。在一些態樣,可以使用單獨的隱式網路來調制座標輸入,以實現訊框之間的運動補償(例如,光流程翹曲)。在一些實例中,可以實現IFF,使得接收器不需要存取經預訓練的神經網路。在一些情況下,可以在不需要單獨的訓練資料集的情況下實現IFF(例如,可以使用輸入訊框訓練的網路)。
在方塊1104處,過程1100包括:將輸入視訊劃分成訊框的群組(亦被稱為「圖片群組」或「GoP」)。在一些實例中,一組訊框可以包括5個或更多個訊框。在一些態樣,可以將一組訊框中的第一訊框壓縮為獨立圖像(例如,I訊框),而可以使用來自其他訊框的可用資訊來壓縮該組訊框中的其他訊框。例如,可以將該組訊框中的其他訊框壓縮為依賴於前一訊框的P訊框。在一些態樣,可以將訊框壓縮為依賴於前一訊框和後一訊框的B訊框。
在方塊1106處,過程1100包括在I訊框上訓練基礎模型(例如,基礎模型
Figure 02_image249
)。在一些實例中,在I訊框上訓練基礎模型可以包括使失真最小化。在一些態樣,在I訊框上訓練基礎模型可以基於以下關係:
Figure 02_image251
(11)
在公式(11)中, t可以對應於訊框索引;
Figure 02_image253
可以對應於視訊訊框內的座標;
Figure 02_image255
可以對應於座標
Figure 02_image151
處的真實RGB值;
Figure 02_image257
可以對應於具有在座標
Figure 02_image151
處評估的權重
Figure 02_image259
的隱式神經網路;
Figure 02_image261
可以對應於具有參數
Figure 02_image045
的量化函數;並且
Figure 02_image263
可以對應於用於壓縮經量化權重
Figure 02_image265
的先驗。
在方塊1108處,過程1100包括:對I訊框權重
Figure 02_image267
進行量化和熵譯碼並將其寫入位元串流。在一些態樣,為了減小表示I訊框的隱式模型的模型大小,可以使用定點表示(例如,使用公式(2))對每個權重張量
Figure 02_image269
進行量化。在一些實例中,位元寬可以被隱式地定義為
Figure 02_image271
,其中
Figure 02_image129
可以對應於縮放,並且
Figure 02_image273
可以對應於裁剪波閾值。在一些實例中,可以執行每通道量化以便針對矩陣中的每一行獲得單獨的範圍和位元寬。在一態樣,每通道混合精度量化函數可以根據以下公式來定義:
Figure 02_image275
(12)
在一些態樣,量化參數
Figure 02_image277
和整數張量
Figure 02_image279
可以被編碼到位元串流。例如,
Figure 02_image281
可以被編碼為32位元浮點向量,位元寬
Figure 02_image283
可以被編碼為5位元整數向量,並且整數張量
Figure 02_image285
可以被編碼為其各自的每通道位元寬
Figure 02_image287
在方塊1110處,過程1100包括在P訊框上訓練流程模型(例如,模型
Figure 02_image289
)。在一些態樣,P訊框可以對應於一組訊框中的下一個連續訊框(例如,I訊框之後的第一個P訊框)。如前述,可以經由利用隱式表示之間的連續性來對光流程進行隱式建模。使用IFF,訊框可以被表示為以圖像座標為輸入並返回圖元值的網路,如下所示:
Figure 02_image291
。在一些態樣,可以經由將位移向量添加到輸入變數來應用來自光流程場
Figure 02_image201
的位移(例如,公式(7))。在一些態樣,在P訊框上訓練流程模型可以基於公式(11)中的關係。
在方塊1112處,過程1100包括:對P訊框權重
Figure 02_image293
進行量化和熵譯碼並將其寫入位元串流。在一些態樣,可以使用上文針對I訊框權重
Figure 02_image267
描述的方法來對P訊框權重
Figure 02_image293
進行量化和熵譯碼。例如,可以使用定點表示來量化P訊框權重
Figure 02_image293
。在一些情況下,可以根據公式(12)來執行每通道量化。在一些態樣,量化參數和整數張量可以被寫入或編碼到位元串流並發送到接收器。在一些態樣,可學習的量化參數
Figure 02_image265
亦可以被編碼並寫入位元串流。
在方塊1114處,過程1100包括:載入現有模型參數用於處理當前訊框
Figure 02_image295
。在一些態樣,當前訊框
Figure 02_image295
可以對應於一組訊框中的下一個訊框。例如,當前訊框可以對應於分別用於訓練基礎模型和流程模型的I訊框和P訊框之後的訊框。在一些態樣,現有模型參數可以表示為用於先前訊框的基礎模型權重(例如,
Figure 02_image297
)以及用於先前訊框的流程模型權重(例如,
Figure 02_image299
)。
在方塊1116處,過程1100包括:在當前訊框上訓練基礎模型和流程模型。在一些態樣,在當前訊框上訓練基礎模型和流程模型包括:學習相對於前一訊框的權重更新
Figure 02_image207
Figure 02_image301
,使得:
Figure 02_image211
並且
Figure 02_image213
。      (13)
在一些實例中,對基礎模型的更新可以對應於對殘差建模。在一些情況下,對更新進行建模可以避免重新發送先前計算的流程資訊(例如,連續訊框之間的光流程可能是相似的)。在一些態樣,對P訊框 T的隱式表示可以由以下公式表示:
Figure 02_image303
(14)
Figure 02_image305
(15)
在一些實例中,如公式(15)所示,所有先前流程模型的累積效應皆儲存在單個張量中,該張量是局部位移的總和。在一些情況下,該張量可以由發送方和接收方維護。在一些態樣,使用單個張量可以避免儲存流程網路的先前版本,以便針對每個訊框執行每個網路的前向傳遞。
在一些情況下,用於訊框
Figure 02_image307
的訓練可以根據以下關係表示:
Figure 02_image309
(16)
在公式(16)中,
Figure 02_image311
可以表示相對於訊框
Figure 02_image307
的失真,並且
Figure 02_image313
可以表示經更新的速率成本。
在方塊1118處,過程1100可以包括:將權重更新
Figure 02_image207
Figure 02_image301
量化和熵譯碼到位元串流。在一些實例中,更新
Figure 02_image207
Figure 02_image301
可以在由以
Figure 02_image215
為中心的
Figure 02_image017
個寬度為
Figure 02_image217
的等大小條柱組成的固定網格上進行量化。在一些態樣,經量化的權重更新可以在尖峰和平板先驗下被進行熵譯碼,如針對公式(9)所論述的。如前述,在一些態樣,在公式(9)中使用的具有方差
Figure 02_image221
的「平板」分量可以使用於向接收方發送經更新的權重的位元速率最小化。在一些情況下,具有窄標準差
Figure 02_image223
的「尖峰」分量可以使與零更新相關聯的處理成本最小化。
在方塊1120處,過程1100包括:對用於基礎模型和流程模型的模型參數進行更新。在一些態樣,對模型參數的更新可以表示為
Figure 02_image315
Figure 02_image317
。在一些情況下,可以將對模型參數的更新發送到接收方。
在方塊1122處,過程1100包括:對位移張量進行更新。在一些態樣,對位移張量的更新可以表示為
Figure 02_image319
在方塊1124處,過程1100可以決定訊框群組中是否存在附加訊框(例如,GoP)。若有額外的訊框要處理(例如,額外的P訊框),則過程1100可以重複針對方塊1114到1122論述的操作。若網路壓縮系統已完成對訊框群組的處理,則過程1100可以進行到方塊1126並決定是否有更多訊框群組與視訊輸入相關聯。若有額外的訊框群組要處理,則方法可以返回到方塊1106並使用與下一組訊框相對應的新I訊框開始對基礎模型的訓練。若沒有額外的訊框群組,則過程1100可以返回到方塊1102以接收新的輸入資料進行壓縮。
圖12是圖示用於對媒體資料進行處理的示例性過程1200的流程圖。在方塊1202處,過程1200可以包括:接收複數個圖像以用於經由神經網路壓縮系統進行壓縮。例如,隱式神經網路壓縮系統700可以接收圖像資料702。在一些態樣,可以使用流水線800來實現隱式神經網路壓縮系統700,並且複數個圖像可以包括I訊框802和P1訊框808。
在方塊1204處,過程1200可以包括:基於來自複數個圖像的第一圖像決定與神經網路壓縮系統的第一模型相關聯的第一複數個權重值。例如,基礎模型804可以基於I訊框802決定第一複數個權重值(例如,權重 w706)。在一些態樣,第一模型的至少一層可以包括與第一圖像相關聯的複數個座標的位置編碼。例如,基礎模型804的至少一層可以包括與I訊框802相關聯的座標的位置編碼。
在一些情況下,第一模型可以被配置為:決定與和第一圖像相關聯的複數個座標相對應的一或多個圖元值。例如,基礎模型804可以被配置為:決定與和I訊框802相關聯的複數個座標相對應的一或多個圖元值(例如,RGB值)。
在方塊1206處,過程1200可以包括:產生包括第一複數個權重值的經壓縮版本的第一位元串流。例如,算術編碼器710可以產生位元串流724,該位元串流可以包括複數個權重值(例如,權重 w706)的經壓縮版本。在方塊1208處,過程1200可以包括:輸出第一位元串流以傳輸到接收器。例如,位元串流724可以由算術編碼器710輸出以傳輸到接收器(例如算術解碼器730)。
在一些態樣,過程1200可以包括:在權重先驗下對第一複數個權重值進行量化以產生複數個經量化權重值。在一些情況下,位元串流可以包括複數個經量化權重值的經壓縮版本。例如,可以在權重先驗712下對權重 w706進行量化,以產生經量化權重708。在一些實例中,經量化權重708可以由算術編碼器710編碼到位元串流724中。在一些態樣,過程1200可以包括:使用權重先驗對第一複數個權重值進行熵編碼。例如,算術編碼器710可以在位元串流724中在權重先驗712下使用熵譯碼對經量化權重708進行編碼。
在一些情況下,可以選擇權重先驗以使與將第一位元串流發送到接收器相關聯的速率損失最小化。例如,可以選擇或配置權重先驗712以最小化與向接收器發送位元串流724相關聯的速率損失。在一些實例中,可以使用定點量化來量化第一複數個權重值。在一些態樣,可以使用機器學習演算法來實現定點量化。例如,可以使用定點量化來量化權重 w706,該定點量化可以表示具有包括整數張量和縮放因數的定點數的權重張量。在一些情況下,隱式神經網路壓縮系統700可以使用機器學習演算法來實現權重 w706的定點量化。
在一些態樣,過程1200可以包括:基於來自複數個圖像的第二圖像,決定由與神經網路壓縮系統相關聯的第二模型使用的第二複數個權重值。例如,流水線800可以基於P1訊框808來決定由流程模型810使用的第二權重值集合。在一些情況下,過程1200可以包括:產生包括第二複數個權重值的經壓縮版本的第二位元串流,以及輸出第二位元串流以傳輸到接收器。例如,算術編碼器(例如,算術編碼器710)可以產生位元串流,該位元串流可以包括流程模型810使用的權重張量的經壓縮版本。
在一些實例中,第二模型可以被配置為:決定第一圖像和第二圖像之間的光流程。例如,流程模型810(例如,流程模型
Figure 02_image199
)可用於決定I訊框802和P1訊框808之間的光流程場。在一些態樣下,過程1200可以包括:基於光流程,從第一複數個權重值決定至少一個經更新的權重值。例如,流程模型810可以基於光流程從基礎模型804使用的權重值決定經更新的權重值。
在一些態樣,過程1200可以包括:基於第一圖像選擇與第一模型相對應的模型架構。在一些情況下,選擇模型架構可以包括:基於第一圖像調整與一或多個模型架構相關聯的複數個權重值,其中一或多個模型架構之每一者模型架構與一或多個模型特性相關聯。例如,隱式神經壓縮系統700可以基於圖像資料702為每個模型架構調整權重 w706。在一些實例中,一或多個模型特性可以包括下列各項中的至少一項:寬度、深度、解析度、迴旋核的大小,以及輸入維度。
在一些情況下,過程1200可以包括:決定第一圖像和與一或多個模型架構之每一者模型架構相對應的重建資料輸出之間的至少一個失真。例如,隱式神經壓縮系統700可以調整與每個模型相關聯的權重 w706以便在沒有量化的情況下使失真損失最小化。在一些態樣中,過程1200可以包括:基於至少一個失真從一或多個模型架構中選擇模型架構。例如,隱式神經壓縮系統700可以基於最低失真值來選擇模型架構。
在一些實例中,過程1200可以包括:產生包括模型架構的經壓縮版本的第二位元串流,以及輸出第二位元串流以傳輸到接收器。例如,架構編碼器716可以在位元串流720中對模型架構Ψ(•) 718進行編碼,以及輸出位元串流720以傳輸到接收器(例如,架構解碼器726)。
圖13是圖示用於對媒體資料進行處理的示例性過程1300的流程圖。在方塊1302處,過程1300可以包括:接收與來自複數個圖像的第一圖像相關聯的第一複數個神經網路權重值的經壓縮版本。例如,算術解碼器730可以接收位元串流724,該位元串流724可以包括與圖像資料702相關聯的複數個權重值(例如,權重 w706)。
在方塊1304處,過程1300可以包括:對第一複數個神經網路權重值進行解壓縮。例如,算術解碼器可以從位元串流724中解壓縮權重 w706。在方塊1306處,過程1300可以包括:使用第一神經網路模型對第一複數個神經網路權重值進行處理以產生第一圖像。例如,隱式神經壓縮系統700可以包括具有經量化的基礎模型806的流水線800,其可以用於處理權重張量以產生I訊框802的重建版本。
在在一些態樣,過程1300可以包括:從複數個圖像中接收與第二圖像相關聯的第二複數個神經網路權重值的經壓縮版本。在一些情況下,過程1300可以包括:對第二複數個神經網路權重值進行解壓縮;及使用第二神經網路模型對第二複數個神經網路權重值進行處理以決定第一圖像和第二圖像之間的光流程。例如,隱式神經壓縮系統600可以包括具有經量化的流程模型的流水線800,其可以用於對與流程模型810相關聯的權重張量處理以決定I訊框802和P1訊框808之間的光流程。
在一些情況下,過程1300可以包括:基於光流程,從與第一神經網路模型相關聯的第一複數個神經網路權重值決定至少一個經更新的權重值。例如,流程模型810可以從與流程模型810相關聯的權重決定經更新的權重值。在一些態樣,過程1300可以包括:使用第一神經網路模型對至少一個經更新的權重值進行處理以產生第二圖像的重建版本。例如,經量化的基礎模型806可以使用經更新的權重(例如,基於光流程)來產生P1訊框808的重建版本。
在一些實例中,可以在權重先驗下對第一複數個神經網路權重值進行量化。例如,可以在權重先驗(例如,權重先驗712)下對由經量化的基礎模型806接收的權重進行量化。在一些態樣,在熵編碼位元串流中接收第一複數個網路權重值的經壓縮版本。例如,算術編碼器710可以執行權重(例如,權重 w706)或經量化權重(例如,經量化權重708)和輸出位元串流724的熵編碼。
在一些情況下,過程1300可以包括:接收與第一神經網路模型相對應的神經網路架構的經壓縮版本。例如,架構編碼器716可以在位元串流720中對模型架構Ψ(•) 718進行編碼,並將其發送到架構解碼器726。
圖14是圖示用於基於隱式神經表示來對圖像資料進行壓縮的示例性過程1400的流程圖。在方塊1402處,過程1400可以包括:接收輸入資料以用於經由神經網路壓縮系統進行壓縮。在一些態樣,輸入資料可以對應於媒體資料(例如,視訊資料、圖片資料、音訊資料等)。在一些實例中,輸入資料可以包括與用於訓練神經網路壓縮系統的圖像資料相對應的複數個座標。
在方塊1404處,過程1400可以包括:基於輸入資料,選擇由神經網路壓縮系統用於對輸入資料進行壓縮的模型架構。在一些態樣,選擇模型架構可以包括:基於輸入資料調整與一或多個模型架構相關聯的複數個權重值,其中一或多個模型架構之每一者模型架構與一或多個模型特性相關聯。在一些實例中,選擇模型架構亦可以包括:決定輸入資料和與一或多個模型架構之每一者模型架構相對應的重建資料輸出之間的至少一個失真。在一些情況下,從一或多個模型架構中選擇模型架構可以基於至少一個失真。在一些態樣,一或多個模型特性可以包括下列各項中的至少一項:寬度、深度、解析度、迴旋核的大小,以及輸入維度。
在方塊1406處,過程1400可以包括:使用輸入資料決定與和模型架構相關聯的複數個層相對應的複數個權重值。在方塊1408處,過程1400可以包括:產生包括權重先驗的經壓縮版本的第一位元串流。在一些實例中,產生第一位元串流可以包括:使用開放神經網路交換(ONNX)格式對權重先驗進行編碼。在方塊1410處,過程1400可以包括:產生包括權重先驗下的複數個權重值的經壓縮版本的第二位元串流。在一些態樣,產生第二位元串流可以包括:使用權重先驗對複數個權重值進行熵編碼。在一些實例中,可以選擇權重先驗以使與將第二位元串流發送到接收器相關聯的速率損失最小化。
在方塊1412處,過程1400可以包括:輸出第一位元串流和第二位元串流以傳輸到接收器。在一些實例中,該過程可以包括:產生包括模型架構的經壓縮版本的第三位元串流,以及輸出第三位元串流以傳輸到接收器。在一些態樣,模型架構的至少一層包括與輸入資料相關聯的複數個座標的位置編碼。
在一些實例中,該過程可以包括:對複數個權重值進行量化以產生複數個經量化權重值,其中第二位元串流包括權重先驗下的複數個經量化權重值的經壓縮版本。在一些態樣,可以使用學習到的定點量化來量化複數個權重值。在一些情況下,可以使用機器學習演算法來實現學習到的定點量化。在一些實例中,第二位元串流可以包括用於對複數個權重值進行量化的複數個經編碼的量化參數。
圖15是圖示用於基於隱式神經表示來對圖像資料進行解壓縮的過程1500的實例的流程圖。在方塊1502處,過程1500可以包括:接收權重先驗的經壓縮版本以及權重先驗下的複數個權重值的經壓縮版本。在一些態樣,可以在熵編碼位元串流中接收權重先驗下的複數個權重。在方塊1504處,過程1500可以包括:對權重先驗進行解壓縮,以及在權重先驗下對複數個權重值的經壓縮版本進行解壓縮。
在方塊1506處,過程1500可以包括:基於權重先驗和權重先驗下的複數個權重,決定複數個神經網路權重。在方塊1508處,過程1500可以包括:使用神經網路架構來處理複數個神經網路權重以產生重建的圖像內容。在一些態樣,權重先驗下的複數個權重值可以對應於權重先驗下的複數個量化權重。在一些實例中,該過程可以包括:接收用於在權重先驗之下對複數個量化權重進行量化的複數個經編碼的量化參數。
在一些態樣,該過程可以包括:接收神經網路架構的經壓縮版本;及對神經網路架構的經壓縮版本進行解壓縮。在一些態樣,該過程可以包括:基於二進位遮罩在權重先驗下重新分配複數個權重。
在一些實例中,本文描述的過程(例如,過程1100、過程1200、過程1300、過程1400、過程1500及/或本文描述的任何其他過程)可由計算設備或裝置執行。在一個實例中,過程1100、1200、1300、1400及/或1500可以由根據圖4所示的系統400或圖16所示的計算系統1600的計算設備執行。
計算設備可以包括任何合適的設備,例如行動設備(例如,行動電話)、桌面計算設備、平板計算設備、可穿戴設備(例如,VR耳機、AR耳機)、AR眼鏡、聯網手錶或智慧手錶或其他可穿戴設備)、伺服器電腦、自動駕駛汽車或自動駕駛汽車的計算設備、機器人設備、電視機及/或具有資源能力來執行本文中描述的過程的任何其他計算設備,包括過程1100、過程1200、過程1300、過程1400、過程1500及/或本文中描述的任何其他過程。在一些情況下,計算設備或裝置可以包括各種元件,例如一或多個輸入設備、一或多個輸出設備、一或多個處理器、一或多個微處理器、一或多個微型電腦、一或多個相機、一或多個感測器及/或被配置為執行在本文中描述的過程的步驟的其他元件。在一些實例中,計算設備可以包括顯示器、被配置為傳送及/或接收資料的網路介面、其任意組合,及/或其他元件。網路介面可以被配置為傳送及/或接收基於網際網路協定(IP)的資料或其他類型的資料。
計算設備的元件可以在電路系統中實現。例如,元件可以包括電子電路或其他電子硬體及/或可以使用其來實現,該等電子電路或其他電子硬體可以包括一或多個可程式設計電子電路(例如,微處理器、圖形處理單元(GPU)、數位信號處理器(DSP)、中央處理單元(CPU)及/或其他合適的電子電路),及/或可以包括電腦軟體、韌體或其任何組合及/或使用其來實現,以執行本文所述的各種操作。
過程1100、1200、1300、1400和1500被示為邏輯流程圖,其操作表示可以用硬體、電腦指令或其組合來實現的一系列操作。在電腦指令的上下文中,操作表示儲存在一或多個電腦可讀取儲存媒體上的電腦可執行指令,該等電腦可執行指令在由一或多個處理器執行時執行所闡述的操作。通常,電腦可執行指令包括執行特定功能或實現特定資料類型的常式、程式、物件、元件、資料結構等。對操作進行描述的順序不應當不解釋為限制,並且可以以任何順序及/或並行地對任何數量的所描述的操作進行組合以實現過程。
另外,本文中描述的過程1100、1200、1300、1400和1500及/或任何其他過程可以在配置有可執行指令的一或多個電腦系統的控制下執行,並且可以被實現為經由硬體或其組合在一或多個處理器上共同執行的代碼(例如,可執行指令、一或多個電腦程式或者一或多個應用程式)。如前述,代碼可以例如以包括可由一或多個處理器執行的複數個指令的電腦程式的形式儲存在電腦可讀取或機器可讀取儲存媒體上。電腦可讀取或機器可讀取儲存媒體可以是非暫時性的。
圖16是圖示用於實施本文的技術的一些態樣的系統的實例的圖。具體而言,圖16圖示計算系統1600的實例,其可以是例如構成內部計算系統的任何計算設備、遠端計算系統、相機或其任何元件,在其中系統的元件使用連接1605相互通訊。連接1605可以是使用匯流排的實體連接,或者是到處理器1610的直接連接,例如在晶片組架構中。連接1605亦可以是虛擬連接、網路連接或者邏輯連接。
在一些實施例中,計算系統1600是分散式系統,其中本案內容中描述的功能可以分佈在資料中心、多個資料中心、同級網路等之內。在一些實施例中,所描述的系統元件中的一或多個代表許多此種元件,每個元件執行描述該元件所針對的功能的一些或全部。在一些實施例中,元件可以是實體或虛擬設備。
示例性系統1600包括至少一個處理單元(CPU或處理器)1610以及將包括系統記憶體1615(例如唯讀記憶體(ROM)1620和隨機存取記憶體(RAM)1625)的各種系統元件耦合到處理器1610的連接1605。計算系統1600可以包括與處理器1610直接連接、緊鄰或整合為處理器1610的一部分的高速記憶體的快取記憶體1612。
處理器1610可以包括任何通用處理器和硬體服務或軟體服務,例如儲存在儲存設備1630中的服務1632、1634和1636,其被配置為控制處理器1610以及其中軟體指令被併入實際處理器設計的專用處理器。處理器1610可以本質上是一個完全獨立的計算系統,包含多個核或處理器、匯流排、記憶體控制器、快取記憶體等。多核處理器可以是對稱的或非對稱的。
為了實現使用者互動,與計算系統1600包括輸入設備1645,其可以表示任何數量的輸入機制,例如用於語音的麥克風、用於手勢或圖形輸入的觸敏螢幕、鍵盤、滑鼠、運動輸入、語音,等等。計算系統1600亦可以包括輸出設備1635,其可以是多個輸出機制中的一或多個。在一些情況下,多模式系統可以使使用者能夠提供多種類型的輸入/輸出以與計算系統1600通訊。計算系統1600可以包括通訊介面1640,其通常可以支配和管理使用者輸入和系統輸出。
通訊介面可以使用有線及/或無線收發機來執行或促進接收及/或傳輸有線或無線通訊,包括使用下列各項的收發機:音訊插孔/插頭、麥克風插孔/插頭、通用序列匯流排(USB)埠/插頭、Apple® Lightning®埠/插頭、乙太網路埠/插頭、光纖埠/插頭、專有有線埠/插頭、BLUETOOTH®無線信號傳輸、BLUETOOTH®低功耗(BLE)無線信號傳輸、IBEACON®無線信號傳輸、射頻辨識(RFID)無線信號傳輸、近場通訊(NFC)無線信號傳輸、專用短距離通訊(DSRC)無線信號傳輸、802.11 Wi-Fi無線信號傳輸、無線區域網路(WLAN)信號傳輸、可見光通訊(VLC)、全球互通微波存取性(WiMAX)、紅外(IR)通訊無線信號傳輸、公用交換電話網絡(PSTN)信號傳輸、整合式服務數位網路(ISDN)信號傳輸、3G/4G/5G/LTE蜂巢資料網路無線信號傳輸、ad-hoc網路信號傳輸、無線電波信號傳輸、微波信號傳輸、紅外信號傳輸、可見光信號傳輸、紫外光信號傳輸、沿電磁頻譜的無線信號傳輸,或者其某種組合。
通訊介面1640亦可以包括一或多個全球導航衛星系統(GNSS)接收器或收發機,用於基於從與一或多個GNSS系統相關聯的一或多個衛星接收的一或多個信號來決定計算系統1600的位置。GNSS系統包括但不限於美國的全球定位系統(GPS)、俄羅斯的全球導航衛星系統(GLONASS)、中國的北斗導航衛星系統(BDS)以及歐洲的伽利略(Galileo)GNSS。對在任何特定硬體佈置上的操作沒有限制,因此此處的基本特徵可以很容易地替換為改良的硬體或韌體佈置(當其在開發中)。
儲存設備1630可以是非揮發性及/或非暫時性及/或電腦可讀取記憶體設備,並且可以是硬碟或可以儲存電腦可存取資料的其他類型的電腦可讀取媒體,例如磁帶盒、快閃記憶卡、固態記憶體設備、數位多功能磁碟、盒式磁帶、軟碟、可撓性碟、硬碟、磁帶、磁條/磁條帶、任何其他磁性儲存媒體、快閃記憶體、記憶體儲存、任何其他固態記憶體、壓縮光碟唯讀記憶體(CD-ROM)光碟、可重寫壓縮光碟(CD)光碟、數位視訊磁碟(DVD)光碟、藍光光碟(BDD)光碟、全息光碟、另一種光學媒體、安全數位(SD)卡、微型安全數位(microSD)卡、Memory Stick®卡、智慧卡晶片、EMV晶片、用戶身份模組(SIM)卡、微小/微型/奈米/微微SIM卡、另一種積體電路(IC)晶片/卡、隨機存取記憶體(RAM)、靜態RAM(SRAM)、動態RAM(DRAM)、唯讀記憶體(ROM)、可程式設計唯讀記憶體(PROM)、可抹除可程式設計唯讀記憶體(EPROM)、電子可抹除可程式設計唯讀記憶體(EEPROM)、快閃記憶體EPROM(FLASHEPROM)、快取記憶體(L1/L2/L3/L4/L5/L#)、電阻式隨機存取記憶體(RRAM/ReRAM)、相變記憶體(PCM)、自旋轉移矩RAM(STT-RAM)、其他記憶體晶片或盒式記憶體,及/或其組合。
儲存設備1630可以包括軟體服務、伺服器、服務等,當處理器1610執行定義此種軟體的代碼時,其使系統執行某種功能。在一些實施例中,執行特定功能的硬體服務可以包括儲存在電腦可讀取媒體中的與必要的硬體元件(例如處理器1610、連接1605、輸出設備1635等)連接的軟體元件,以執行該功能。術語「電腦可讀取媒體」包括但不限於可攜式或非可攜式儲存設備、光學儲存設備以及能夠儲存、包含或攜帶指令及/或資料的各種其他媒體。電腦可讀取媒體可以包括其中可以儲存資料的非暫時性媒體,並且不包括無線地或經由有線連接傳播的載波及/或暫時性電子信號。非暫時性媒體的實例可以包括但不限於磁碟或磁帶、諸如壓縮光碟(CD)或數位多功能光碟(DVD)的光學儲存媒體、快閃記憶體、記憶體或記憶體設備。電腦可讀取媒體上可以儲存有代碼及/或機器可執行指令,其可以表示程序、功能、副程式、程式、常式、子常式、模組、套裝軟體、軟體元件,或者指令、資料結構或程式語句的任意組合。程式碼片段可以經由傳遞及/或接收資訊、資料、引數、參數或記憶體內容來連接到另一個程式碼片段或硬體電路。資訊、引數、參數資料等可經由包括記憶體共享、訊息傳遞、符記傳遞、網路傳輸等的任何合適的手段來傳遞、轉發或傳輸。
在一些實施例中,電腦可讀取儲存設備、媒體和記憶體可以包括包含位元串流等的電纜或無線信號。然而,當提及時,非暫時性電腦可讀取儲存媒體明確地排除諸如能量、載波信號、電磁波和信號本身之類的媒體。
在上文的說明中提供了具體細節來提供對本文中提供的實施例和實例的透徹理解。然而,一般技術者將理解的是,可以在不使用該等具體細節的情況下來實施該等實施例。為了解釋清楚起見,在一些情況下,本文的技術可以被呈現為包括單獨的功能方塊,該等功能方塊包括設備、設備元件、以軟體體現的方法中的步驟或常式,或者硬體和軟體的組合。除了圖中所示及/或本文所述的元件外,亦可以使用其他元件。例如,可以將電路、系統、網路、過程和其他元件以方塊圖形式示為元件,以免在不必要的細節上模糊實施例。例如,可以在沒有非必要細節的情況下圖示公知的電路、過程、演算法、結構和技術以避免模糊實施例。
各個實施例可以作為過程或方法來描述,過程或方法被圖示成了流程圖、流程示意圖、資料流程圖、結構圖或方塊圖。儘管流程圖可以將操作描述為順序過程,但操作中的許多操作可以並行或併發地執行。此外,可以對該等操作的順序進行重新佈置。過程在其操作完成後會終止,但是過程可以具有圖中沒包括的其他步驟。過程可以對應於方法、函數、程序、子常式,副程式等。當過程對應於函數時,其終止可以對應於該函數返回到調用函數或主函數。
可以使用儲存在電腦可讀取媒體中或從電腦可讀取媒體中可獲得的電腦可執行指令來實現根據上述實例的過程和方法。例如,此種指令可以包括使通用電腦、專用電腦或處理設備或以其他方式配置通用電腦、專用電腦或處理設備執行某個功能或功能群組的指令和資料。可以經由網路存取所使用的電腦資源的一些部分。電腦可執行指令可以是例如二進位檔案、如組合語言的中間格式指令、韌體、原始程式碼等。可用於儲存指令、所用資訊及/或在根據所述實例的方法期間建立的資訊的電腦可讀取媒體的實例包括磁碟或光碟、快閃記憶體、配備有非揮發性記憶體的USB設備、網路儲存設備等等。
實現根據該等揭示內容的過程和方法的設備可以包括硬體、軟體、韌體、中間軟體、微代碼、硬體描述語言或其任意組合,並且可以採用多種外形尺寸中的任意一種。當以軟體、韌體、中間軟體,或微代碼來實現時,用於執行必要任務的程式碼或程式碼片段(例如,電腦程式產品)可以儲存在電腦可讀取或機器可讀取媒體中。處理器可以執行必要的任務。外形尺寸的典型實例包括膝上型電腦、智慧型電話、行動電話、平板電腦設備或其他外形小巧的個人電腦、個人數位助理、機架安裝設備、獨立設備等等。本文描述的功能亦可以體現在周邊設備或附加卡中。作為進一步的實例,此種功能亦可以在單個設備中執行的不同晶片或不同過程之間的電路板上實現。
指令、用於傳達該等指令的媒體、用於執行該等指令的計算資源以及用於支援此種計算資源的其他結構是用於提供本案內容中描述的功能的示例性構件。
在前文的描述中,參考本案的特定實施例描述了本案的各個態樣,但是熟習此項技術者將認識到,本案不限於此。因此,儘管在本文中已經詳細描述了本案的說明性實施例,但是應當理解,該等發明構思可以用其他方式被不同地體現和採用,並且所附請求項意欲被解釋為包括此種變型,除了現有技術所限制的以外。可以單獨或聯合使用上述申請案的各種特徵和態樣。此外,在不脫離本說明書的更廣泛的精神和範疇的情況下,實施例可以在本文所述之外的任何數量的環境和應用中使用。因此,應該認為本說明和附圖是說明性而非限制性的。為了說明的目的,以特定順序描述了方法。應當認識到的是,在替代實施例中,可以用與所描述的順序不同的順序來執行該等方法。
一般技術者將理解,本文中使用的小於(「<」)和大於(「>」)符號或術語可以在不脫離本說明書的範疇的情況下替換為小於或等於(「≤」)和大於或等於(「≥」)符號。
在將元件描述為「被配置為」執行一些操作的情況下,可以例如經由設計電子電路或其他硬體以執行該操作,經由對可程式設計電子電路(例如微處理器或其他合適的電子電路)進行程式設計以執行該操作或其任意組合來實現此種配置。
短語「耦合到」是指直接或間接實體連接到另一個元件的任何元件,及/或直接或間接與另一個元件進行通訊的任何元件(例如,經由有線或無線連接及/或其他合適的通訊介面連接到另一個元件)。
引用集合中的「至少一個」及/或集合中的「一或多個」的請求項語言或其他語言表示該集合中的一個成員或該集合中的多個成員(以任何組合)滿足請求項。例如,引用「A和B中的至少一個」或「A或B中的至少一個」的聲明語言意指A、B或A和B。在另一個實例中,引用「A、B和C中的至少一個」或「A、B或C中的至少一個」的請求項語言是指A、B、C或A和B,或A和C,或B和C,或A和B和C。語言集合中的「至少一個」及/或集合中的「一或多個」不將集合限制為該集合中列出的專案。例如,引用「A和B中的至少一個」或「A或B中的至少一個」的聲明語言可以意指A、B或A和B,並且可以另外包括未在A和B的集合中列出的專案。
結合本文揭示的實例描述的各個說明性的邏輯方塊、模組、韌體、電路和演算法步驟均可以實現成電子硬體、電腦軟體、韌體或其組合。為了清楚地說明硬體和軟體之間的該可交換性,上文對各個說明性的元件、方塊、模組、電路和步驟均圍繞其功能進行了整體描述。至於此種功能是實現為硬體還是實現為軟體,取決於特定的應用和對整體系統所施加的設計約束。熟習此項技術者可以針對每個特定應用,以變通的方式實現所描述的功能,但是此種實現決策不應解釋為造成對本案的範疇的背離。
本文描述的技術亦可以以電子硬體、電腦軟體、韌體或其任何組合來實現。可以在諸如通用電腦、無線通訊手持設備或具有包括在無線通訊手持設備和其他設備中的應用的多種用途的積體電路設備等各種設備中的任何一種設備中實現此種技術。描述為模組或元件的任何特徵可以一起實現在整合邏輯設備中,或者單獨實現為個別但可交互操作的邏輯設備。若以軟體實現,則可以至少部分經由包括程式碼的電腦可讀取資料儲存媒體來實現該等技術,程式碼包括指令,當被執行時,該等指令執行上述方法、演算法及/或操作中的一項或多項。電腦可讀取資料儲存媒體可以形成電腦程式產品的一部分,電腦程式產品可以包括封裝材料。電腦可讀取媒體可以包括記憶體或資料儲存媒體,例如隨機存取記憶體(RAM)(如同步動態隨機存取記憶體(SDRAM))、唯讀記憶體(ROM)、非揮發性隨機存取記憶體(NVRAM)、電子可抹除可程式設計唯讀記憶體(EEPROM)、FLASH記憶體、磁或光資料儲存媒體等。附加地或替代地,該等技術可以至少部分由電腦可讀取通訊媒體實現,該通訊媒體承載或傳送指令或資料結構形式的程式碼並且可以由電腦存取、讀取及/或執行,例如傳播信號或波形。
程式碼可由處理器執行,處理器可以包括諸如一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、現場可程式設計邏輯陣列(FPGA)或其他等效整合或離散邏輯電路系統的一或多個處理器。此種處理器可以被配置為執行本案內容中描述的任何技術。通用處理器可以是微處理器,或者,處理器可以是任何習知的處理器、控制器、微控制器或者狀態機。處理器亦可以實現為計算設備的組合,例如,DSP和微處理器的組合、複數個微處理器、一或多個微處理器與DSP核的結合,或者任何其他此種配置。因此,本文中所使用的術語「處理器」可以代表任意前述結構,或者前述結構的任意組合,或者適於本文中描述的技術的實現的任何其他結構或裝置。
本案內容的說明性實例包括:
態樣1:一種裝置,其包括:至少一個記憶體;及至少一個處理器,其耦合至該至少一個記憶體並且被配置為:接收複數個圖像以用於經由神經網路壓縮系統進行壓縮;基於來自該複數個圖像的第一圖像決定與該神經網路壓縮系統的第一模型相關聯的第一複數個權重值;產生包括該第一複數個權重值的經壓縮版本的第一位元串流;及輸出該第一位元串流以用於向該接收器傳輸。
態樣2:根據態樣1之裝置,其中該第一模型的至少一層包括與該第一圖像相關聯的複數個座標的位置編碼。
態樣3:根據態樣2之裝置,其中該第一模型被配置為決定與和該第一圖像相關聯的該複數個座標相對應的一或多個圖元值。
態樣4:根據態樣1至3中任意態樣之裝置,其中該至少一個處理器亦被配置為:基於來自該複數個圖像的第二圖像,決定由與該神經網路壓縮系統相關聯的第二模型使用的第二複數個權重值;產生包括該第二複數個權重值的經壓縮版本的第二位元串流;及輸出該第二位元串流以用於向該接收器傳輸。
態樣5:根據態樣4之裝置,其中該第二模型被配置為:決定該第一圖像和該第二圖像之間的光流程。
態樣6:根據態樣5之裝置,其中該至少一個處理器亦被配置為:基於該光流程,從該第一複數個權重值決定至少一個經更新的權重值。
態樣7:根據態樣1至6中任意態樣之裝置,其中該至少一個處理器亦被配置為:在權重先驗下對該第一複數個權重值進行量化以產生複數個經量化權重值,其中該第一位元串流包括該複數個經量化權重值的經壓縮版本。
態樣8:根據態樣7之裝置,其中該權重先驗被選擇以使與將該第一位元串流發送到該接收器相關聯的速率損失最小化。
態樣9:根據態樣7至8中任意態樣之裝置,其中為了產生該第一位元串流,該至少一個處理器亦被配置為:使用該權重先驗對該第一複數個權重值進行熵編碼。
態樣10:根據態樣7至9中任意態樣之裝置,其中其中該第一複數個權重值是使用定點量化來量化的。
態樣11:根據態樣10之裝置,其中該定點量化是使用機器學習演算法來實現的。
態樣12:根據態樣1至11中任意態樣之裝置,其中該至少一個處理器亦被配置為:基於該第一圖像選擇與該第一模型相對應的模型架構。
態樣13:根據態樣12之裝置,其中該至少一個處理器亦被配置為:產生包括該模型架構的經壓縮版本的第二位元串流;及輸出該第二位元串流以用於向該接收器傳輸。
態樣14:根據態樣12至13中任意態樣之裝置,其中為了選擇該模型架構,該至少一個處理器亦被配置為:基於該第一圖像調整與一或多個模型架構相關聯的複數個權重值,其中該一或多個模型架構之每一者模型架構與一或多個模型特性相關聯;決定該第一圖像和與該一或多個模型架構之每一者模型架構相對應的重建資料輸出之間的至少一個失真;及基於該至少一個失真從該一或多個模型架構中選擇該模型架構。
態樣15:根據態樣14之裝置,其中該一或多個模型特性包括下列各項中的至少一項:寬度、深度、解析度、迴旋核的大小,以及輸入維度。
態樣16:一種用於執行根據態樣1至15之任意操作的方法。
態樣17:一種儲存有指令的電腦可讀取儲存媒體,當被執行時,該等指令使一或多個處理器執行根據態樣1至態樣15之任意操作。
態樣18:一種裝置,其包括用於執行態樣1至態樣15中任意一個態樣之操作的構件。
態樣19:一種裝置,其包括:至少一個記憶體;及至少一個處理器,其耦合至該至少一個記憶體並且被配置為:接收與來自複數個圖像的第一圖像相關聯的第一複數個神經網路權重值的經壓縮版本;對該第一複數個神經網路權重值進行解壓縮;及使用第一神經網路模型對該第一複數個神經網路權重值進行處理以產生該第一圖像。
態樣20:根據態樣19之裝置,其中該至少一個處理器亦被配置為:接收與來自該複數個圖像的第二圖像相關聯的第二複數個神經網路權重值的經壓縮版本;對該第二複數個神經網路權重值進行解壓縮;及使用第二神經網路模型對該第二複數個神經網路權重值進行處理以決定該第一圖像和該第二圖像之間的光流程。
態樣21:根據態樣20之裝置,其中該至少一個處理器亦被配置為:基於該光流程,從與該第一神經網路模型相關聯的該第一複數個神經網路權重值決定至少一個經更新的權重值。
態樣22:根據態樣21之裝置,其中該至少一個處理器亦被配置為:使用該第一神經網路模型對該至少一個經更新的權重值進行處理以產生該第二圖像的重建版本。
態樣23:根據態樣19至22中任意態樣之裝置,其中該第一複數個神經網路權重值是在權重先驗下量化的。
態樣24:根據態樣19至23中任意態樣之裝置,其中該第一複數個神經網路權重值的該壓縮版本是在熵編碼位元串流中接收的。
態樣25:根據態樣19至24中任意態樣之裝置,其中該至少一個處理器亦被配置為:接收與該第一神經網路模型相對應的神經網路架構的經壓縮版本。
態樣26:一種用於執行根據態樣19至25之任意操作的方法。
態樣27:一種儲存有指令的電腦可讀取儲存媒體,當被執行時,該等指令使一或多個處理器執行根據態樣19至態樣25之任意操作。
態樣28:一種裝置,其包括用於執行態樣19至態樣25中任意一個態樣之操作的構件。
態樣29:一種裝置,其包括:至少一個記憶體;及至少一個處理器,其耦合至該至少一個記憶體並且被配置為:接收輸入資料以用於經由神經網路壓縮系統進行壓縮;基於該輸入資料,選擇由該神經網路壓縮系統用於對該輸入資料進行壓縮的模型架構;使用該輸入資料決定與和該模型架構相關聯的複數個層相對應的複數個權重值;產生包括權重先驗的經壓縮版本的第一位元串流;在該權重先驗下產生包括該複數個權重值的經壓縮版本的第二位元串流;輸出該第一位元串流和該第二位元串流以傳輸到接收器。
態樣30:根據態樣29之裝置,其中為了選擇由該神經網路壓縮使用的該模型架構,該一或多個處理器亦被配置為:基於該輸入資料調整與一或多個模型架構相關聯的複數個權重值,其中該一或多個模型架構之每一者模型架構與一或多個模型特性相關聯;決定該輸入資料和與該一或多個模型架構之每一者模型架構相對應的重建資料輸出之間的至少一個失真;及基於該至少一個失真從該一或多個模型架構中選擇該模型架構。
態樣31:根據態樣30之裝置,其中該一或多個模型特性包括下列各項中的至少一項:寬度、深度、解析度、迴旋核的大小,以及輸入維度。
態樣32:根據態樣29至31中任意態樣之裝置,其中該一或多個處理器亦被配置為:對該複數個權重值進行量化以產生複數個經量化權重值,其中該第二位元串流包括該權重先驗下的該複數個經量化權重值的經壓縮版本。
態樣33:根據態樣32之裝置,其中該複數個權重值是使用學習到的定點量化來量化的。
態樣34:根據態樣32之裝置,其中該定點量化是使用機器學習演算法來實現的。
態樣35:根據態樣32之裝置,其中該第二位元串流包括用於對該複數個權重值進行量化的複數個編碼量化參數。
態樣36:根據態樣29至35中任意態樣之裝置,其中該至少一個處理器亦被配置為:產生包括該模型架構的經壓縮版本的第三位元串流;及輸出該第三位元串流以用於向該接收器傳輸。
態樣37:根據態樣29至36中任意態樣之裝置,其中該模型架構的至少一層包括與該輸入資料相關聯的複數個座標的位置編碼。
態樣38:根據態樣29至37中任意態樣之裝置,其中為了產生該第一位元串流,該一或多個處理器被配置為:使用該開放神經網路交換格式對該權重先驗進行編碼。
態樣39:根據態樣29至38中任意態樣之裝置,其中為了產生該第二位元串流,該一或多個處理器被配置為:使用該權重先驗對該複數個權重值進行熵編碼。
態樣40:根據態樣29至39中任意態樣之裝置,其中該權重先驗被選擇以使與將該第二位元串流發送到該接收器相關聯的速率損失最小化。
態樣41:根據態樣29至40中任意態樣之裝置,其中該輸入資料包括與用於訓練該神經網路壓縮系統的圖像資料相對應的複數個座標。
態樣42:一種用於執行根據態樣29至41之任意操作的方法。
態樣43:一種儲存有指令的電腦可讀取儲存媒體,當被執行時,該等指令使一或多個處理器執行根據態樣29至態樣41之任意操作。
態樣44:一種裝置,其包括用於執行態樣29至態樣41中任意一個態樣之操作的構件。
態樣45:一種裝置,其包括:至少一個記憶體;及至少一個處理器,其耦合至該至少一個記憶體並且被配置為:接收權重先驗的經壓縮版本以及該權重先驗下的複數個權重值的經壓縮版本;對該權重先驗進行解壓縮,以及在該權重先驗下對該複數個權重值的該壓縮版本進行解壓縮;基於該權重先驗和該權重先驗下的該複數個權重,決定複數個神經網路權重;及使用神經網路架構來處理該複數個神經網路權重以產生重建的圖像內容。
態樣46:根據態樣45之裝置,其中該一或多個處理器亦被配置為:接收該神經網路架構的經壓縮版本;及對該神經網路架構的該壓縮版本進行解壓縮。
態樣47:根據態樣45至46中任意態樣之裝置,其中該權重先驗下的該複數個權重值對應於該權重先驗下的複數個量化權重。
態樣48:根據態樣47之裝置,其中該一或多個處理器亦被配置為:接收用於在該權重先驗下對該複數個量化權重進行量化的複數個經編碼量化參數。
態樣49:根據態樣45至48中任意態樣之裝置,其中該權重先驗下的該複數個權重的該壓縮版本是在熵編碼位元串流中接收的。
態樣50:根據態樣45至49中任意態樣之裝置,其中該一或多個處理器亦被配置為:基於二進位遮罩在該權重先驗下重新分配該複數個權重。
態樣51:一種用於執行根據態樣45至50之任意操作的方法。
態樣52:一種儲存有指令的電腦可讀取儲存媒體,當被執行時,該等指令使一或多個處理器執行根據態樣45至態樣50之任意操作。
態樣53:一種裝置,其包括用於執行態樣45至態樣50中任意一個態樣之操作的構件。
100:圖像處理系統 102:CPU 104:GPU 106:DSP 108:NPU 110:連接區塊 112:多媒體處理器 114:感測器處理器 116:圖像信號處理器(ISP) 118:記憶體區塊 120:儲存 200:DCN 202:全連接的神經網路 204:局部連接的神經網路 206:迴旋神經網路 208:元件符號 210:連接強度 212:連接強度 214:連接強度 216:連接強度 218:第一特徵圖集合 220:第二特徵圖集合 222:輸出 224:第一特徵向量 226:圖像 228:第二特徵向量 230:圖像擷取設備 232:迴旋層 350:深度迴旋網路 352:輸入資料 354A:迴旋區塊 354B:迴旋區塊 356:迴旋層 358:正規化層 360:最大池化層 362A:層 362B:層 364:邏輯回歸(LR)層 366:分類得分 400:系統 401:自動編碼器 402:編碼器 403:解碼器 404:代碼模型 406:算術譯碼器 410:傳輸設備 415:位元串流 420:接收設備 421:自動編碼器 422:編碼器 423:解碼器 424:代碼模型 426:算術解碼器 500:神經網路壓縮系統 501:圖像 502:編碼器 504:潛在代碼 506:潛在先驗 508:算術編碼器 510:位元串流 512:算術解碼器 514:解碼器 516:近似重建圖像 520:位元串流 530:神經網路壓縮系統 600:神經網路壓縮系統 601:圖像 602:編碼器 604:潛在代碼 606:潛在先驗 608:算術編碼器 610:位元串流 611:位元串流 612:算術解碼器 614:解碼器 616:模型先驗 620:重建圖像 700:隱式神經壓縮系統 702:輸入圖像資料 703:座標網格 704:隱式模型 706:權重 708:經量化的權重 710:算術編碼器(AE) 712:權重先驗 714:先驗編碼器 716:架構編碼器 718:模型架構 720:位元串流 722:位元串流 724:位元串流 726:架構解碼器 728:先驗解碼器 730:算術解碼器(AD) 732:輸出圖像資料 800:流水線 802:I訊框 804:基礎模型 806:經量化的基礎模型 808:P1訊框 810:流程模型 812:經量化的流程模型 840:流水線 842:P1訊框 844:基礎模型 846:流程模型 848:重建的I訊框 850:重建的P1訊框 860:流水線 862:P1訊框 864:P 2訊框 866:第一階段 868:第二階段 870:第三階段 872:重建的第一訊框 874:重建的第二訊框 876:重建的第三訊框 902:連續訊框 904:訊框 1000:過程 1002:公式 1004:方塊 1006:方塊 1008:方塊 1010:方塊 1100:過程 1102:方塊 1104:方塊 1106:方塊 1108:方塊 1110:方塊 1112:方塊 1114:方塊 1116:方塊 1118:方塊 1120:方塊 1122:方塊 1124:方塊 1126:方塊 1200:過程 1202:方塊 1204:方塊 1206:方塊 1208:方塊 1300:過程 1302:方塊 1304:方塊 1306:方塊 1400:過程 1402:方塊 1404:方塊 1406:方塊 1408:方塊 1410:方塊 1412:方塊 1500:過程 1502:方塊 1504:方塊 1506:方塊 1508:方塊 1600:計算系統 1605:連接 1610:處理器 1612:快取記憶體 1615:系統記憶體 1620:唯讀記憶體(ROM) 1625:隨機存取記憶體(RAM) 1630:儲存設備 1632:服務 1634:服務 1635:輸出設備 1636:服務 1640:通訊介面 1645:輸入設備 B:雙向訊框 D:失真 I:訊框 P:單向訊框 P(z):概率分佈 R:速率 x:圖像 X i:圖像 z:代碼 Z i:潛在
參考下列附圖在下文中對本案的說明性實施例進行了詳細的描述,其中:
圖1是圖示根據本案內容的一些實例的圖像處理系統的實例的圖;
圖2A是圖示根據本案內容的一些實例的全連接神經網路的實例的圖;
圖2B是圖示根據本案內容的一些實例的局部連接神經網路的實例的圖;
圖2C是圖示根據本案內容的一些實例的迴旋神經網路的實例的圖;
圖2D是圖示根據本案內容的一些實例的、用於從圖像中辨識視覺特徵的深度迴旋網路(DCN)的實例的圖;
圖3是圖示根據本案內容的一些實例的示例性深度迴旋網路(DCN)的方塊圖;
圖4是圖示根據本案內容的一些實例的、包括用於對視訊內容進行壓縮的傳輸設備和用於將接收到的位元串流解壓縮成視訊內容的接收設備的系統的實例的圖;
圖5A和圖5B是圖示根據本案內容的一些實例的、示例性速率失真自動編碼器系統的圖;
圖6是圖示根據本案內容的一些實例的、由使用先驗模型微調的示例性神經網路壓縮系統實現的示例性推測過程的圖;
圖7A是圖示根據本案內容的一些實例的、基於隱式神經表示的示例性圖像壓縮轉碼器的圖;
圖7B是圖示根據本案內容的一些實例的、基於隱式神經表示的另一示例性圖像壓縮轉碼器的圖;
圖8A是圖示根據本案內容的一些實例的、用於使用隱式神經表示的一組圖片的壓縮流水線的實例的圖;
圖8B是圖示根據本案內容的一些實例的、用於使用隱式神經表示的一組圖片的壓縮流水線的另一實例的圖;
圖8C是圖示根據本案內容的一些實例的、用於使用隱式神經表示的一組圖片的壓縮流水線的另一實例的圖;
圖9是圖示根據本案內容的一些實例的視訊訊框編碼順序的圖;
圖10是圖示根據本案內容的一些實例的、用於執行隱式神經壓縮的示例性過程的圖;
圖11是圖示根據本案內容的一些實例的、用於基於隱式神經表示對圖像資料進行壓縮的過程的實例的流程圖;
圖12是圖示根據本案內容的一些實例的、用於基於隱式神經表示對圖像資料進行壓縮的過程的另一實例的流程圖;
圖13是是圖示根據本案內容的一些實例的、用於基於隱式神經表示對圖像資料進行解壓縮的過程的實例的流程圖;
圖14是圖示根據本案內容的一些實例的、用於基於隱式神經表示對圖像資料進行壓縮的過程的實例的流程圖;
圖15是圖示根據本案內容的一些實例的、用於基於隱式神經表示對圖像資料進行解壓縮的過程的實例的流程圖;及
圖16圖示根據本案內容的一些實例的示例性計算系統。
國內寄存資訊(請依寄存機構、日期、號碼順序註記) 無 國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記) 無
700:隱式神經壓縮系統
702:輸入圖像資料
703:座標網格
704:隱式模型
706:權重
708:經量化的權重
710:算術編碼器(AE)
712:權重先驗
714:先驗編碼器
722:位元串流
724:位元串流
728:先驗解碼器
730:算術解碼器(AD)
732:輸出圖像資料

Claims (44)

  1. 一種用於處理媒體資料的方法,包括以下步驟: 接收複數個圖像以用於經由一神經網路壓縮系統進行壓縮; 基於來自該複數個圖像的一第一圖像,決定與該神經網路壓縮系統的一第一模型相關聯的第一複數個權重值; 產生包括該第一複數個權重值的一經壓縮版本的一第一位元串流;及 輸出該第一位元串流以用於向一接收器傳輸。
  2. 根據請求項1之方法,其中該第一模型的至少一層包括與該第一圖像相關聯的複數個座標的一位置編碼。
  3. 根據請求項2之方法,其中該第一模型被配置為決定與和該第一圖像相關聯的該複數個座標相對應的一或多個圖元值。
  4. 根據請求項1之方法,亦包括以下步驟: 基於來自該複數個圖像的一第二圖像,決定用於由與該神經網路壓縮系統相關聯的一第二模型使用的第二複數個權重值; 產生包括該第二複數個權重值的一經壓縮版本的一第二位元串流;及 輸出該第二位元串流以用於向一接收器傳輸。
  5. 根據請求項4之方法,其中該第二模型被配置為:決定在該第一圖像和該第二圖像之間的一光流程。
  6. 根據請求項5之方法,亦包括以下步驟: 基於該光流程,從該第一複數個權重值決定至少一個經更新的權重值。
  7. 根據請求項1之方法,亦包括以下步驟: 在一權重先驗下對該第一複數個權重值進行量化以產生複數個經量化權重值,其中該第一位元串流包括該複數個經量化權重值的一經壓縮版本。
  8. 根據請求項7之方法,其中該權重先驗被選擇以使與將該第一位元串流發送給該接收器相關聯的一速率損失最小化。
  9. 根據請求項7之方法,其中產生該第一位元串流之步驟包括以下步驟: 使用該權重先驗對該第一複數個權重值進行熵編碼。
  10. 根據請求項7之方法,其中該第一複數個權重值是使用定點量化來量化的。
  11. 根據請求項10之方法,其中該定點量化是使用一機器學習演算法來實現的。
  12. 根據請求項1之方法,亦包括以下步驟: 基於該第一圖像選擇與該第一模型相對應的一模型架構。
  13. 根據請求項12之方法,亦包括以下步驟: 產生包括該模型架構的一經壓縮版本的一第二位元串流;及 輸出該第二位元串流以用於向該接收器傳輸。
  14. 根據請求項12之方法,其中選擇該模型架構之步驟包括以下步驟: 基於該第一圖像調整與一或多個模型架構相關聯的複數個權重值,其中該一或多個模型架構之每一者模型架構與一或多個模型特性相關聯; 決定在該第一圖像和與該一或多個模型架構之每一者模型架構相對應的經重建資料輸出之間的至少一個失真;及 基於該至少一個失真從該一或多個模型架構中選擇該模型架構。
  15. 根據請求項14之方法,其中該一或多個模型特性包括下列各項中的至少一項:一寬度、一深度、一解析度、一迴旋核的一大小,以及一輸入維度。
  16. 一種裝置,包括: 至少一個記憶體;及 至少一個處理器,其耦合至該至少一個記憶體並且被配置為: 接收複數個圖像以用於經由一神經網路壓縮系統進行壓縮; 基於來自該複數個圖像的一第一圖像,決定與該神經網路壓縮系統的一第一模型相關聯的第一複數個權重值; 產生包括該第一複數個權重值的一經壓縮版本的一第一位元串流;及 輸出該第一位元串流以用於向一接收器傳輸。
  17. 根據請求項16之裝置,其中該第一模型的至少一層包括與該第一圖像相關聯的複數個座標的一位置編碼。
  18. 根據請求項17之裝置,其中該第一模型被配置為決定與和該第一圖像相關聯的該複數個座標相對應的一或多個圖元值。
  19. 根據請求項16之裝置,其中該至少一個處理器亦被配置為: 基於來自該複數個圖像的一第二圖像,決定用於由與該神經網路壓縮系統相關聯的一第二模型使用的第二複數個權重值; 產生包括該第二複數個權重值的一經壓縮版本的一第二位元串流;及 輸出該第二位元串流以用於向一接收器傳輸。
  20. 根據請求項19之裝置,其中該第二模型被配置為:決定在該第一圖像和該第二圖像之間的一光流程。
  21. 根據請求項20之裝置,其中該至少一個處理器亦被配置為: 基於該光流程,從該第一複數個權重值決定至少一個經更新的權重值。
  22. 根據請求項16之裝置,其中該至少一個處理器亦被配置為: 在一權重先驗下對該第一複數個權重值進行量化以產生複數個經量化權重值,其中該第一位元串流包括該複數個經量化權重值的一經壓縮版本。
  23. 根據請求項22之裝置,其中該權重先驗被選擇以使與將該第一位元串流發送給該接收器相關聯的一速率損失最小化。
  24. 根據請求項22之裝置,其中為了產生該第一位元串流,該至少一個處理器亦被配置為: 使用該權重先驗對該第一複數個權重值進行熵編碼。
  25. 根據請求項22之裝置,其中該第一複數個權重值是使用定點量化來量化的。
  26. 根據請求項25之裝置,其中該定點量化是使用一機器學習演算法來實現的。
  27. 根據請求項16之裝置,其中該至少一個處理器亦被配置為: 基於該第一圖像選擇與該第一模型相對應的一模型架構。
  28. 根據請求項27之裝置,其中該至少一個處理器亦被配置為: 產生包括該模型架構的一經壓縮版本的一第二位元串流;及 輸出該第二位元串流以用於向該接收器傳輸。
  29. 根據請求項27之裝置,其中為了選擇該模型架構,該至少一個處理器亦被配置為: 基於該第一圖像調整與一或多個模型架構相關聯的複數個權重值,其中該一或多個模型架構之每一者模型架構與一或多個模型特性相關聯; 決定在該第一圖像和與該一或多個模型架構之每一者模型架構相對應的經重建資料輸出之間的至少一個失真;及 基於該至少一個失真從該一或多個模型架構中選擇該模型架構。
  30. 根據請求項29之裝置,其中該一或多個模型特性包括下列各項中的至少一項:一寬度、一深度、一解析度、一迴旋核的一大小,以及一輸入維度。
  31. 一種用於處理媒體資料的方法,包括以下步驟: 接收與來自複數個圖像的一第一圖像相關聯的第一複數個神經網路權重值的一經壓縮版本; 對該第一複數個神經網路權重值進行解壓縮;及 使用一第一神經網路模型對該第一複數個神經網路權重值進行處理以產生該第一圖像。
  32. 根據請求項31之方法,亦包括以下步驟: 接收與來自該複數個圖像的一第二圖像相關聯的第二複數個神經網路權重值的一經壓縮版本; 對該第二複數個神經網路權重值進行解壓縮;及 使用一第二神經網路模型對該第二複數個神經網路權重值進行處理以決定在該第一圖像和該第二圖像之間的一光流程。
  33. 根據請求項32之方法,亦包括以下步驟: 基於該光流程,從與該第一神經網路模型相關聯的該第一複數個神經網路權重值決定至少一個經更新的權重值。
  34. 根據請求項33之方法,亦包括以下步驟: 使用該第一神經網路模型對該至少一個經更新的權重值進行處理以產生該第二圖像的一經重建版本。
  35. 根據請求項31之方法,其中該第一複數個神經網路權重值是在一權重先驗下量化的。
  36. 根據請求項31之方法,其中該第一複數個神經網路權重值的該經壓縮版本是在一熵編碼位元串流中接收的。
  37. 根據請求項31之方法,亦包括以下步驟: 接收與該第一神經網路模型相對應的一神經網路架構的一經壓縮版本。
  38. 一種裝置,其包括: 至少一個記憶體;及 至少一個處理器,其耦合至該至少一個記憶體並且被配置為: 接收與來自複數個圖像的一第一圖像相關聯的第一複數個神經網路權重值的一經壓縮版本; 對該第一複數個神經網路權重值進行解壓縮;及 使用一第一神經網路模型對該第一複數個神經網路權重值進行處理以產生該第一圖像。
  39. 根據請求項38之裝置,其中該至少一個處理器亦被配置為: 接收與來自該複數個圖像的一第二圖像相關聯的第二複數個神經網路權重值的一經壓縮版本; 對該第二複數個神經網路權重值進行解壓縮;及 使用一第二神經網路模型對該第二複數個神經網路權重值進行處理以決定在該第一圖像和該第二圖像之間的一光流程。
  40. 根據請求項39之裝置,其中該至少一個處理器亦被配置為: 基於該光流程,從與該第一神經網路模型相關聯的該第一複數個神經網路權重值決定至少一個經更新的權重值。
  41. 根據請求項40之裝置,其中該至少一個處理器亦被配置為: 使用該第一神經網路模型對該至少一個經更新的權重值進行處理以產生該第二圖像的一經重建版本。
  42. 根據請求項38之裝置,其中該第一複數個神經網路權重值是在一權重先驗下量化的。
  43. 根據請求項38之裝置,其中該第一複數個神經網路權重值的該經壓縮版本是在一熵編碼位元串流中接收的。
  44. 根據請求項38之裝置,其中該至少一個處理器亦被配置為: 接收與該第一神經網路模型相對應的一神經網路架構的一經壓縮版本。
TW111112832A 2021-05-21 2022-04-01 使用機器學習系統進行隱式圖像和視訊壓縮 TW202247650A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163191606P 2021-05-21 2021-05-21
US63/191,606 2021-05-21
US17/645,018 2021-12-17
US17/645,018 US20220385907A1 (en) 2021-05-21 2021-12-17 Implicit image and video compression using machine learning systems

Publications (1)

Publication Number Publication Date
TW202247650A true TW202247650A (zh) 2022-12-01

Family

ID=81392695

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111112832A TW202247650A (zh) 2021-05-21 2022-04-01 使用機器學習系統進行隱式圖像和視訊壓縮

Country Status (7)

Country Link
US (1) US20220385907A1 (zh)
EP (1) EP4342178A1 (zh)
JP (1) JP2024519791A (zh)
KR (1) KR20240012374A (zh)
BR (1) BR112023023427A2 (zh)
TW (1) TW202247650A (zh)
WO (1) WO2022245434A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11922314B1 (en) * 2018-11-30 2024-03-05 Ansys, Inc. Systems and methods for building dynamic reduced order physical models
US11810225B2 (en) * 2021-03-30 2023-11-07 Zoox, Inc. Top-down scene generation
US11858514B2 (en) 2021-03-30 2024-01-02 Zoox, Inc. Top-down scene discrimination
US20230013421A1 (en) * 2021-07-14 2023-01-19 Sony Group Corporation Point cloud compression using occupancy networks
US11995548B2 (en) * 2021-10-21 2024-05-28 Visa International Service Association Method, system, and computer program product for embedding compression and regularization
US11743552B1 (en) * 2022-06-03 2023-08-29 International Business Machines Corporation Computer technology for enhancing images with a generative adversarial network
US11689601B1 (en) * 2022-06-17 2023-06-27 International Business Machines Corporation Stream quality enhancement
CN115834890B (zh) * 2023-02-08 2023-04-28 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种图像压缩方法、装置、设备及存储介质
CN116862019B (zh) * 2023-07-06 2024-03-19 清华大学 基于数据并行范式的模型训练方法及装置
CN117541791B (zh) * 2023-11-23 2024-05-28 北京师范大学 基于多域可变形卷积的眼部结构分割方法、系统及设备
CN117495741B (zh) * 2023-12-29 2024-04-12 成都货安计量技术中心有限公司 一种基于大卷积对比学习的畸变还原方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201603144D0 (en) * 2016-02-23 2016-04-06 Magic Pony Technology Ltd Training end-to-end video processes
CA2997193C (en) * 2015-09-03 2021-04-06 Mediatek Inc. Method and apparatus of neural network based processing in video coding
EP3451293A1 (en) * 2017-08-28 2019-03-06 Thomson Licensing Method and apparatus for filtering with multi-branch deep learning
KR20220007853A (ko) * 2019-03-18 2022-01-19 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 신경망의 매개변수를 압축하기 위한 방법 및 장치
EP3792821A1 (en) * 2019-09-11 2021-03-17 Naver Corporation Action recognition using implicit pose representations
US20220261616A1 (en) * 2019-07-02 2022-08-18 Vid Scale, Inc. Clustering-based quantization for neural network compression
WO2021220008A1 (en) * 2020-04-29 2021-11-04 Deep Render Ltd Image compression and decoding, video compression and decoding: methods and systems
CN116134822A (zh) * 2020-07-21 2023-05-16 交互数字Vc控股法国有限公司 用于更新基于深度神经网络的图像或视频解码器的方法和装置
WO2022139618A1 (en) * 2020-12-24 2022-06-30 Huawei Technologies Co., Ltd. Decoding with signaling of segmentation information

Also Published As

Publication number Publication date
KR20240012374A (ko) 2024-01-29
US20220385907A1 (en) 2022-12-01
JP2024519791A (ja) 2024-05-21
EP4342178A1 (en) 2024-03-27
BR112023023427A2 (pt) 2024-01-30
WO2022245434A1 (en) 2022-11-24

Similar Documents

Publication Publication Date Title
US11924445B2 (en) Instance-adaptive image and video compression using machine learning systems
TW202247650A (zh) 使用機器學習系統進行隱式圖像和視訊壓縮
US11991368B2 (en) Video compression using deep generative models
US11729406B2 (en) Video compression using deep generative models
US11405626B2 (en) Video compression using recurrent-based machine learning systems
US20230074979A1 (en) Instance-adaptive image and video compression in a network parameter subspace using machine learning systems
TW202318878A (zh) 用於媒體變換譯碼的基於變換器的架構
TW202318265A (zh) 基於注意力的圖像和視訊壓縮上下文建模
US20240121398A1 (en) Diffusion-based data compression
CN113574882B (zh) 使用深度生成性模型的视频压缩
US12003734B2 (en) Machine learning based flow determination for video coding
CN117716687A (zh) 使用机器学习系统的隐式图像和视频压缩
US20240013441A1 (en) Video coding using camera motion compensation and object motion compensation
US20220272355A1 (en) Machine learning based flow determination for video coding
US20240015318A1 (en) Video coding using optical flow and residual predictors
WO2024005660A1 (en) Method and apparatus for image encoding and decoding
KR20230150274A (ko) 비디오 코딩을 위한 기계 학습 기반 플로우 결정
CN117616753A (zh) 使用光流的视频压缩