TW202335498A - 使用量化熵譯碼分佈參數的神經網路媒體壓縮 - Google Patents
使用量化熵譯碼分佈參數的神經網路媒體壓縮 Download PDFInfo
- Publication number
- TW202335498A TW202335498A TW112101937A TW112101937A TW202335498A TW 202335498 A TW202335498 A TW 202335498A TW 112101937 A TW112101937 A TW 112101937A TW 112101937 A TW112101937 A TW 112101937A TW 202335498 A TW202335498 A TW 202335498A
- Authority
- TW
- Taiwan
- Prior art keywords
- data element
- media
- probability distribution
- distribution function
- code vector
- Prior art date
Links
- 230000006835 compression Effects 0.000 title claims abstract description 69
- 238000007906 compression Methods 0.000 title claims abstract description 69
- 238000013528 artificial neural network Methods 0.000 title claims description 84
- 238000009826 distribution Methods 0.000 title claims description 41
- 238000000034 method Methods 0.000 claims abstract description 289
- 239000013598 vector Substances 0.000 claims abstract description 183
- 238000005315 distribution function Methods 0.000 claims abstract description 109
- 230000001537 neural effect Effects 0.000 claims abstract description 78
- 230000008569 process Effects 0.000 claims description 131
- 230000006870 function Effects 0.000 claims description 97
- 238000013139 quantization Methods 0.000 claims description 79
- 230000015654 memory Effects 0.000 claims description 45
- 238000005516 engineering process Methods 0.000 claims description 24
- 238000004422 calculation algorithm Methods 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 21
- 239000000463 material Substances 0.000 claims description 20
- 238000010191 image analysis Methods 0.000 claims description 19
- 230000015572 biosynthetic process Effects 0.000 claims description 15
- 238000003786 synthesis reaction Methods 0.000 claims description 15
- 238000006243 chemical reaction Methods 0.000 description 25
- 238000003860 storage Methods 0.000 description 22
- 238000012549 training Methods 0.000 description 18
- 238000012546 transfer Methods 0.000 description 16
- 230000009466 transformation Effects 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 15
- 238000013461 design Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 238000013500 data storage Methods 0.000 description 6
- 238000007667 floating Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000004913 activation Effects 0.000 description 5
- 238000011002 quantification Methods 0.000 description 5
- 230000015556 catabolic process Effects 0.000 description 4
- 238000006731 degradation reaction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000007429 general method Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 238000009828 non-uniform distribution Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/94—Vector quantisation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本揭示內容描述了用於使用基於神經的技術譯碼的媒體資料的熵譯碼技術。一種媒體譯碼器被配置為:決定用於由基於神經的媒體壓縮技術譯碼的資料串流的資料元素的概率分佈函數參數,其中該概率分佈函數參數為該資料串流的概率分佈函數的標準差的函數;基於該概率分佈函數參數來決定碼向量;及使用該碼向量對該資料元素進行熵譯碼。
Description
本申請案主張於2022年2月11日提出申請的美國臨時申請案第63/267,857號的權益,在此藉由引用方式將上述申請案的完整內容併入本文。
本揭示內容係關於媒體編碼和解碼,包括對圖像和視訊資料的編碼和解碼。
數位媒體功能可以被併入到廣泛範圍的設備,該等設備包括:數位電視、數位直播系統、無線廣播系統、個人數位助理(PDA)、膝上型或桌面型電腦、平板電腦、電子書閱讀器、數位相機、數位記錄設備、數位媒體播放機、視訊遊戲設備、視訊遊戲控制台、蜂巢式或衛星無線電電話、所謂的「智慧手機」、視訊電話會議設備、視訊串流設備,等等。數位視訊設備實施視訊譯碼(coding)技術,諸如在由以下各項定義的標準中描述的彼等技術:MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分、先進視訊譯碼(AVC)、ITU-T H.265/高效視訊譯碼(HEVC)、ITU-T H.266/通用視訊譯碼(VVC)和此類標準的擴展,以及專有視訊轉碼器/格式,諸如由開放媒體聯盟開發的AOMedia Video 1(AV1)。藉由實施此種視訊譯碼技術,視訊設備可以更有效地發送、接收、編碼、解碼及/或儲存數位視訊資訊。
概括地說,本揭示內容描述了用於媒體壓縮的技術,包括用於視訊及/或圖像編碼和解碼的技術。基於神經網路的媒體(例如,圖像及/或視訊)壓縮方法可以與當前標準爭用並提供若干額外的優勢。基於神經的譯碼方法通常使用高精度浮點演算法進行設計和測試。然而,隨著技術走向實際部署,神經網路權重和啟動函數通常被量化並用低精度整數表示,以改進速度和功耗。
本揭示內容解決了在對與熵譯碼相關的神經網路變數進行量化時出現的問題。神經網路變數對於基於神經的視訊/圖像壓縮方案的設計很重要,因為該等變數定義了壓縮效率。此外,用於最佳化神經網路中的量化的通用工具並未考慮熵譯碼變數的非常具體的屬性。測試顯示,最壞的量化效果可能恰好發生在一些最常見的用例上,並且最壞的量化效果造成的損失無法藉由重新訓練神經網路來恢復。
本揭示內容描述了用於最佳化經訓練的熵譯碼變數的定義的技術,以便當用低精度整數表示時,對於有效熵譯碼最重要的資訊得到最好的保留。測試亦顯示了如何使用本文描述的技術來使熵譯碼所需的記憶體的量最小化。本揭示內容描述了用於熵譯碼設計的一般方法,以及針對常用高斯分佈的具體解決方案和實施方式。本揭示內容的技術通常可以應用於任何基於神經的壓縮技術,但下文描述的實例集中於用於圖像和視訊的技術。
在一個實例中,一種方法包括:決定用於由基於神經的媒體壓縮技術譯碼的資料串流的資料元素的概率分佈函數參數,其中該概率分佈函數參數基於針對量化而最佳化的資料串流的分佈;基於該概率分佈函數參數來決定碼向量;及使用該碼向量對該資料元素進行熵譯碼。可以根據經驗(例如,對數)或藉由使用評估譯碼冗餘度或常微分方程的解的演算法來決定該函數。
在另一實例中,一種設備包括:記憶體;及與該記憶體通訊的一或多個處理器,該一或多個處理器被配置為:決定用於由基於神經的媒體壓縮技術譯碼的資料串流的資料元素的概率分佈函數參數,其中該概率分佈函數參數基於針對量化而最佳化的資料串流的分佈;基於該概率分佈函數參數來決定碼向量;及使用該碼向量對該資料元素進行熵譯碼。可以根據經驗(例如,對數)或藉由使用評估譯碼冗餘度或常微分方程的解的演算法來決定該函數。
在另一實例中,一種電腦可讀取儲存媒體被編碼有指令,該等指令在被執行時導致可程式設計處理器用於:決定用於由基於神經的媒體壓縮技術譯碼的資料串流的資料元素的概率分佈函數參數,其中該概率分佈函數參數基於針對量化而最佳化的資料串流的分佈;基於該概率分佈函數參數來決定碼向量;及使用該碼向量對該資料元素進行熵譯碼。可以根據經驗(例如,對數)或藉由使用評估譯碼冗餘度或常微分方程的解的演算法來決定該函數。
在附圖和下文的描述中闡述了一或多個實例的細節。其他特徵、目標和優點從說明書、附圖以及申請專利範圍將是顯而易見的。
本揭示內容描述了用於使用基於神經網路的媒體譯碼技術來對媒體資料(例如,圖像或視訊)進行編碼和解碼的技術。特定而言,本揭示內容描述了使用最佳化的概率分佈函數(PDF)參數化來對媒體資料進行熵譯碼的技術。特定而言,本揭示內容描述了用於使用最佳化的PDF參數化進行量化的基於神經網路的媒體譯碼的技術。本揭示內容的示例技術包括經量化經修改的PDF參數的定義和實施方式,該經量化經修改的PDF參數是用於訓練神經網路的PDF參數(例如,通常是標準差或常用於定義統計分佈的任何參數)的非均勻(例如,對數)函數。藉由使用本揭示內容的PDF參數,使用基於神經的譯碼技術的對媒體資料的熵譯碼可以以更高的效率、使用更少的記憶體來執行,並且當神經網路權重、啟動和輸出由低精度整數表示時,基於神經的譯碼技術的效能下降得更少。
圖1是示出可以執行本揭示內容的技術的示例媒體編碼和解碼系統100的方塊圖。在本揭示內容的上下文中,媒體可以包括要壓縮的任何數位檔案,包括視訊資料及/或圖像。本揭示內容的示例技術通常涉及對視訊資料及/或圖像資料進行譯碼(coding)(編碼及/或解碼)。儘管將參考媒體編碼和解碼來描述圖1的實例,但本申請案的技術同樣適用於使用基於神經的壓縮技術對任何類型的資料檔案進行編碼和解碼。
如圖1所示,在該實例中,系統100包括源設備102,其提供要由目的地設備116解碼和顯示的經編碼的媒體資料。特定而言,源設備102經由電腦可讀取媒體110向目的地設備116提供媒體資料。源設備102和目的地設備116可以包括廣泛範圍的設備中的任何一種,包括桌面式電腦、筆記型電腦(亦即,膝上型電腦)、行動設備、平板電腦、機上盒、電話手持設備(諸如智慧手機)、電視機、相機、顯示設備、數位媒體播放機、視訊遊戲控制台、視訊資料串流設備、廣播接收器設備等等。在一些情況下,源設備102和目的地設備116可以被配備用於無線通訊,並且因此可以被稱為無線通訊設備。
在圖1的實例中,源設備102包括媒體源104、記憶體106、媒體編碼器200和輸出介面108。目的地設備116包括輸入介面122、媒體解碼器300、記憶體120和顯示設備118。根據本揭示內容,源設備102的媒體編碼器200和目的地設備116的媒體解碼器300可以被配置為:應用用於對基於神經的媒體壓縮系統進行熵譯碼的技術。因此,源設備102表示媒體編碼設備的實例,而目的地設備116表示媒體解碼設備的實例。在其他實例中,源設備和目的地設備可以包括其他部件或佈置。例如,源設備102可以從外部媒體源(諸如外部相機)接收媒體資料。同樣,目的地設備116可以與外部顯示設備對接,而不是包括集成顯示設備。
圖1所示的系統100僅是一個實例。通常,任何數位媒體編碼及/或解碼設備皆可以執行用於對基於神經的媒體壓縮系統進行熵譯碼的技術。源設備102和目的地設備116僅僅是此類譯碼設備的實例,其中源設備102產生經譯碼的媒體資料以傳輸到目的地設備116。本揭示內容將「譯碼」設備稱為執行資料的譯碼(編碼及/或解碼)的設備。因此,媒體編碼器200和媒體解碼器300分別表示譯碼設備的實例,特定而言,媒體編碼器和媒體解碼器。在一些實例中,源設備102和目的地設備116可以以基本上對稱的方式操作,從而使得源設備102和目的地設備116中的每一個包括媒體編碼和解碼用部件。因此,系統100可以支援源設備102與目的地設備116之間的單向或雙向媒體傳輸,例如,用於視訊資料串流、視訊重播、視訊廣播或視訊電話。
通常,媒體源104表示媒體資料(亦即,原始、未編碼的媒體資料)的源,並將媒體資料的一系列順序圖片(亦被稱為「訊框」)提供給媒體編碼器200,媒體編碼器200對圖片的資料進行編碼。源設備102的媒體源104可以包括視訊擷取設備(諸如視訊相機,包含先前擷取的原始視訊的視訊檔案及/或視訊饋送介面),以從視訊內容提供者接收視訊。作為另一替代方案,媒體源104可以產生基於電腦圖形的資料作為源媒體,或者即時媒體、歸檔媒體和電腦產生的媒體的組合。在每種情況下,媒體編碼器200對擷取的、預擷取的或電腦產生的媒體資料進行編碼。媒體編碼器200可以將圖像從接收的順序(有時被稱為「顯示順序」)重新排列為用於譯碼的譯碼順序。媒體編碼器200可以產生包括經編碼的媒體資料的位元串流。隨後,源設備102可以經由輸出介面108將經編碼的媒體資料輸出到電腦可讀取媒體110上,以用於藉由例如目的地設備116的輸入介面122進行接收及/或取回。
源設備102的記憶體106和目的地設備116的記憶體120表示通用記憶體。在一些實例中,記憶體106、120可以儲存原始媒體資料,例如,來自媒體源104的原始媒體,以及來自媒體解碼器300的原始、經解碼的媒體資料。附加地或可替代地,記憶體106、120可以儲存分別由例如媒體編碼器200和媒體解碼器300可執行的軟體指令。儘管在該實例中記憶體106和記憶體120與媒體編碼器200和媒體解碼器300分開圖示,但應當理解的是:媒體編碼器200和媒體解碼器300亦可以包括內部記憶體,以實現功能上相似或等效的目的。此外,記憶體106、120可以儲存經編碼的媒體資料,例如從媒體編碼器200輸出並輸入到媒體解碼器300的經編碼的媒體資料。在一些實例中,可以分配記憶體106、120的一些部分作為一或多個緩衝器,例如,以儲存原始、經解碼及/或經編碼的媒體資料。
電腦可讀取媒體110可以表示能夠將經編碼的媒體資料從源設備102傳輸到目的地設備116的任何類型的媒體或設備。在一個實例中,電腦可讀取媒體110表示通訊媒體,用於使源設備102能夠例如經由射頻網路或基於電腦的網路將經編碼的媒體資料直接即時發送到目的地設備116。輸出介面108可以根據通訊標準(諸如無線通訊協定)來調制包括經編碼的媒體資料的傳輸信號,並且輸入介面122可以對接收到的傳輸信號進行解調。通訊媒體可以包括任何無線或有線通訊媒體,諸如射頻(RF)頻譜或一或多條實體傳輸線。通訊媒體可以形成基於封包的網路的一部分,諸如區域網路、廣域網或諸如網際網路的全域網路。通訊媒體可以包括路由器、交換機、基地台或有助於從源設備102到目的地設備116的通訊的任何其他設備。
在一些實例中,源設備102可以將經編碼的資料從輸出介面108輸出到儲存設備112。類似地,目的地設備116可以經由輸入介面122存取來自儲存設備112的經編碼的資料。儲存設備112可以包括各種分散式或本端存取的資料儲存媒體中的任何一種,諸如硬碟驅動器、藍光光碟、DVD、CD-ROM、快閃記憶體、揮發性或非揮發性記憶體或用於儲存經編碼的媒體資料的任何其他合適的數位儲存媒體。
在一些實例中,源設備102可以將經編碼的媒體資料輸出到檔案伺服器114或者可以儲存由源設備102產生的經編碼的媒體資料的另一中間儲存設備。目的地設備116可以經由資料串流或下載來存取來自檔案伺服器114的經儲存的媒體資料。
檔案伺服器114可以是能夠儲存經編碼的媒體資料並將該經編碼的媒體資料發送到目的地設備116的任何類型的伺服器設備。檔案伺服器114可以表示網路伺服器(例如,用於網站)、被配置為提供檔案傳輸協定服務(諸如檔案傳輸協定(FTP)或經由單向傳輸協定的檔案傳輸(FLUTE))的伺服器、內容傳輸網路(CDN)設備、超文字傳輸協定(HTTP)伺服器、多媒體廣播多播服務(MBMS)或增強型MBMS(eMBMS)伺服器及/或網路附加儲存(NAS)設備。檔案伺服器114可以附加地或替代地實施一或多個HTTP資料串流協定,諸如經由HTTP的動態自我調整資料串流(DASH)、HTTP即時資料串流(HLS)、即時資料串流協定(RTSP)、HTTP動態資料串流,等等。
目的地設備116可以經由包括網際網路連接的任何標準資料連接來存取來自檔案伺服器114的經編碼的媒體資料。這可以包括適合存取儲存在檔案伺服器114上的經編碼的媒體資料的無線通道(例如,Wi-Fi連接)、有線連接(例如,數位用戶線路(DSL)、纜線數據機等)或二者的組合。輸入介面122可以被配置為:根據上文論述的用於從檔案伺服器114取回或接收媒體資料的各種協定或者用於取回媒體資料的其他此類協定中的任何一或多個進行操作。
輸出介面108和輸入介面122可以表示無線發射器/接收器、數據機、有線網路部件(例如,乙太網路卡)、根據各種IEEE 802.11標準中的任何一種進行操作的無線通訊部件,或者其他實體部件。在輸出介面108和輸入介面122包括無線部件的實例中,輸出介面108和輸入介面122可以被配置為根據蜂巢通訊標準(諸如,4G、4G-LTE(長期進化)、先進LTE、5G等)來傳輸資料(諸如經編碼的媒體資料)。在輸出介面108包括無線發射器的一些實例中,輸出介面108和輸入介面122可以被配置為根據其他無線標準(例如,IEEE 802.11規範、IEEE 802.15規範(例如,ZigBee™)、Bluetooth™標準等)來傳輸資料(諸如經編碼的媒體資料)。在一些實例中,源設備102及/或目的地設備116可以包括相應的片上系統(SoC)設備。例如,源設備102可以包括SoC設備以執行歸因於媒體編碼器200及/或輸出介面108的功能,並且目的地設備116可以包括SoC設備以執行歸因於媒體解碼器300及/或輸入介面122的功能。
本揭示內容的技術可以應用於支援各種多媒體應用中的任何一種的媒體譯碼,諸如空中電視廣播、有線電視傳輸、衛星電視傳輸、網際網路資料串流媒體傳輸,諸如HTTP上的動態自我調整資料串流(DASH)、編碼到資料儲存媒體上的數位媒體,對儲存在資料儲存媒體上的數位媒體進行解碼,或者其他應用。
目的地設備116的輸入介面122從電腦可讀取媒體110(例如,通訊媒體、儲存設備112、檔案伺服器114等)接收經編碼的媒體位元串流。經編碼的媒體位元串流可以包括由媒體編碼器200定義的訊號傳遞資訊,該訊號傳遞資訊亦由媒體解碼器300使用。顯示設備118向使用者顯示經解碼的媒體資料的經解碼的圖片。顯示設備118可以表示多種顯示設備中的任何一種,諸如液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器或另一種類型的顯示設備。
儘管未在圖1中圖示,但在一些實例中,媒體編碼器200和媒體解碼器300可以分別與音訊編碼器及/或音訊解碼器集成在一起,並且可以包括適當的MUX-DEMUX單元或其他硬體及/或軟體,以用於處理公共資料串流中包括音訊和媒體二者的多工串流。
媒體編碼器200和媒體解碼器300可以各自實施為各種合適的編碼器及/或解碼器電路中的任何一種,諸如一或多個微處理器、數位訊號處理器(DSP)、特殊應用積體電路(ASIC)、現場可程式設計閘陣列(FPGA)、離散邏輯單元、軟體、硬體、韌體或其任何組合。當該等技術部分地以軟體實施時,設備可將用於軟體的指令儲存在合適的非暫時性電腦可讀取媒體中,並使用一或多個處理器以硬體方式執行指令以執行本揭示內容的技術。媒體編碼器200和媒體解碼器300中的每一個可以包括在一或多個編碼器或解碼器中,其中的任意一個可以集成作為相應設備中的組合編碼器/解碼器(CODEC)的一部分。包括媒體編碼器200及/或媒體解碼器300的設備可以包括積體電路、微處理器及/或無線通訊設備,諸如蜂巢式電話。
基於神經網路的圖像和視訊(例如,媒體)壓縮方法可以與當前標準爭用並提供若干額外的優勢。在一些實例中,基於神經的譯碼方法通常使用高精度浮點演算法進行設計和測試。但是,使用高精度浮點演算法可能會因處理時間長和功耗高而影響部署。隨著技術走向實際部署,神經網路權重和啟動函數通常被量化並用低精度整數表示,以改進速度和功耗。
亦即,對於實際部署,可以對神經網路變數(例如,權重和啟動函數)進行量化。然而,神經網路變數的量化可能存在問題。
本揭示內容描述了可以解決在對與熵譯碼相關的神經網路變數進行量化時出現的問題的示例技術。與熵譯碼相關的神經網路變數對於基於神經的視訊/圖像壓縮方案的設計很重要,因為該等變數定義了壓縮效率。此外,熵譯碼變數的非常具體的屬性並未考慮用於最佳化神經網路量化的通用工具。測試顯示,事實上,最壞的量化效果可能恰好發生在一些最常見的用例上,並且最壞的量化效果造成的損失無法藉由重新訓練神經網路來恢復。
本揭示內容描述了以下技術:其進一步最佳化熵譯碼變數的定義,以便最好地保留對於有效熵譯碼最重要的資訊。測試亦顯示了如何使用本文描述的技術來使熵譯碼所需的記憶體的量最小化。本揭示內容描述了用於熵譯碼設計的一般方法,以及針對常用高斯分佈的具體解決方案和實施方式。
如下文將更詳細解釋的,媒體編碼器200和媒體解碼器300可以被配置為:決定用於由基於神經的媒體壓縮技術譯碼的資料串流的資料元素的概率分佈函數參數,其中該概率分佈函數參數基於針對量化而最佳化的資料串流的分佈;基於該概率分佈函數參數來決定碼向量;及使用該碼向量對資料元素進行熵譯碼。可以根據經驗(例如,對數)或藉由使用評估譯碼冗餘度或常微分方程的解的演算法來決定該函數。
熵譯碼是媒體壓縮系統的基本部分。熵譯碼過程負責最佳化媒體資訊和經壓縮資料位元串流之間的轉換,意欲獲得儘可能緊湊的表示。與媒體壓縮的其他元素不同,熵譯碼是一個無損過程,亦即,其完全保留了資訊。
為了在圖像和視訊壓縮標準中實施高效的熵譯碼,開發了若干技術。最近顯示,基於深度學習和神經網路的新壓縮方法正在接近習知方法的效能,同時提供了若干其他實際優勢。
由於習知轉碼器和基於神經的轉碼器使用截然不同的壓縮形式,因此習知轉碼器和基於神經的轉碼器以顯著不同的方式採用熵譯碼。圖2圖示主要差異的總結,從中可以看出,即使這兩種方式使用相同的譯碼方法,如算術譯碼,但是所有其他態樣皆是不同的。這意味著開發新技術來最佳化基於神經的轉碼器的效能是有益的。
如圖2所示,習知的譯碼技術和基於神經的譯碼技術二者的設計階段皆包括資料組織過程201和統計資料建模過程202。對於習知的媒體譯碼技術,諸如H.265,資料組織過程201包括譯碼元素的定義(例如,語法元素和譯碼模式)。對於基於神經的譯碼過程,資料組織過程201包括圖像/視訊(例如,媒體)自動編碼器網路的訓練和開發。對於統計資料建模過程202,習知譯碼技術包括上下文定義的譯碼,例如,用於熵譯碼過程,諸如上下文自我調整二進位算術譯碼。對於基於神經的譯碼過程,統計資料建模過程202包括超先驗神經網路的開發和訓練。
習知的譯碼技術和基於神經的譯碼技術二者皆包括實施階段,該實施階段包括概率決定過程204和資訊到位元轉換過程206。概率決定過程204和資訊到位元轉換過程206二者皆基於待譯碼的資料。對於習知譯碼,概率決定過程204(例如,位元速率指派過程)包括自我調整上下文概率估計。對於基於神經的譯碼,概率決定過程204包括概率分佈參數的決定,這將在下文更詳細地描述。習知的譯碼技術和基於神經的譯碼技術二者皆使用算術及/或熵轉碼器(例如,算術或熵編碼器或解碼器)用於資訊到位元轉換過程206。算術譯碼器可以是霍夫曼、範圍或非對稱數字系統(ANS)譯碼。
資料串流管理階段是經壓縮資料208的管理。在一些示例的習知譯碼系統中,經壓縮資料是單個位元串流的形式。一些示例的基於神經的譯碼系統使用多個串流進行併發譯碼。
源自基本資訊理論原理的主要熵譯碼原理是:被指派用於對資料符號進行譯碼的最佳位元數量
為:
其中
是待編碼的符號的值的估計概率,其中編碼器和解碼器(例如,媒體編碼器200和媒體解碼器300)共享
的知識。該平均位元數量的最佳數量是一個小數,但其實際上可以使用算術譯碼來有效地實現。
取決於媒體內容的特定部分,符號概率可以廣泛且頻繁地變化。因此,在習知的媒體壓縮中,最重要的任務之一是高效地估計彼等資料符號概率,以及在譯碼期間當資料符號概率發生變化時如何準確地更新資料符號概率。由於此種概率估計是按順序進行的,因此很難在習知視訊譯碼方法上並行化熵譯碼。
針對基於神經的轉碼器提出的壓縮方法被設計為在以下假設下工作:假設待壓縮的資料具有某種類型的概率密度函數(PDF),並且只有定義該函數的參數可以變化。例如,可以選擇PDF以使所有變數皆具有獨立的零均值高斯分佈,每個皆具有不同的標準差
σ。這可能不僅僅是一個經驗假設,因為網路「學習」使其成為現實。PDF通常但不總是高斯的,如圖3的實例所示。圖3示出通常用於基於神經的轉碼器、經量化值和相應概率(
)的高斯連續PDF 302的實例。通常使用不需要概率估計的方法對與罕見的欠位和溢位情況相對應的多個值進行次優譯碼。
通常,標準差參數
σ是「範本」分佈的縮放因數。例如,零均值和單位方差的高斯或拉普拉斯是範本,並且有縮放參數來「拉伸」或「收縮」範本。通常使用標準差是因為其方便,但其可以是任何因數。本揭示內容定義了以下技術,其從便於人類使用的參數或比例因數(例如,傳統上由統計學家使用)改變為針對使用低精度參數表示的熵譯碼進行最佳化的參數或比例因數。
在一些實例中,單獨的神經網路(例如,與執行媒體壓縮的神經網路分開)被訓練以決定分佈的參數。將在下文中描述該訓練的細節。在熵譯碼之前,對該等變數用固定的量化方案進行離散化,並且離散值的概率(在圖3的實例中為
)從假設分佈中推導,並且隨後用於根據公式(1)決定符號位元的數量。
與通常需要估計每個資料符號的所有可能值的概率的習知譯碼方法不同,基於神經的方法可以僅依賴於PDF的參數(例如,標準差
σ),該等參數是使用神經網路平行計算的,從而使得並行熵譯碼更容易實施,而沒有壓縮損失。由於熵譯碼是由該等PDF參數的值定義的,因此當PDF參數以低整數精度表示時,壓縮效能可以嚴重下降。本揭示內容描述了用於對彼等壓縮損失進行最小化的新技術。
針對基於神經的圖像和視訊壓縮提出的一類重要方法採用了變分自動編碼器架構,其中使用固定的學習的分佈對潛在變數進行量化和熵譯碼。在一些實例中,此架構已藉由添加被稱為
超先驗的較小神經網路進行了擴展,該較小神經網路使用從自動編碼器產生的變數來定義用於對該等自動編碼器變數進行熵譯碼的概率分佈。該超先驗網路亦使用量化和熵譯碼,但具有預定義的(例如,學習的)PDF參數。圖4是使用變分自動編碼器和超先驗網路進行熵譯碼的神經圖像轉碼器的圖。
圖4所示的過程,其中用於圖像分析和合成的神經網路實施了變分自動編碼器,並且其變數的熵譯碼由超先驗解碼器網路(在發射器和接收器二者處使用)定義。由於
編碼器和
解碼器(例如,媒體編碼器200和媒體解碼器300)已用於表示自動編碼器部分,因此在神經網路文件中,通常將傳統上由該等名稱稱呼的系統分別稱為
發送器和
接收器。
在圖4中,媒體編碼器200可以包括圖像分析神經網路402、超先驗編碼器神經網路404、量化過程406、熵編碼過程408、量化過程416和熵編碼過程418。媒體編碼器200亦可以包括熵解碼過程412、超先驗解碼器神經網路424、熵解碼過程422和圖像合成神經網路426(其可以類似於混合視訊譯碼器中的重構循環)。儘管未圖示,但媒體解碼器300可以包括與熵解碼過程412、超先驗解碼器神經網路424、熵解碼過程422和圖像合成神經網路426類似的結構。
圖像分析神經網路402是被配置為對輸入圖像400進行編碼及/或壓縮的神經網路。由圖像分析神經網路402建立的經壓縮的資料串流隨後由超先驗編碼器神經網路404處理。超先驗編碼器神經網路404的輸出隨後由量化過程406量化並由熵編碼過程408進行熵譯碼以建立位元串流1 410。超先驗編碼器神經網路404是被配置為決定用於由圖像分析神經網路402建立的資料串流的PDF的參數(例如,標準差)的過程的一部分。PDF的參數隨後可用於對來自圖像分析神經網路402的資料串流進行熵編碼。
熵編碼過程408本身使用從待編碼的複數個圖像學習的PDF參數(例如,學習的參數414)。熵解碼過程412使用相同的PDF參數來對位元串流1 410進行熵解碼。該經熵解碼的位元串流隨後由超先驗解碼器神經網路424處理,以便針對被解碼的特定圖像(例如,輸入圖像400)產生PDF參數。
由超先驗解碼器神經網路424產生的PDF參數隨後由熵編碼過程418使用,以在由量化過程416量化之後對由圖像分析神經網路402產生的資料串流進行編碼。熵編碼過程418建立位元串流2 420。位元串流2 420隨後由熵解碼過程422使用來自超先驗解碼器神經網路424的相同PDF參數進行熵解碼。在熵解碼之後,圖像合成神經網路426對解碼資料進行處理以產生輸出圖像428。
圖5提供了由
x表示的單個資料元素的譯碼過程的更詳細的圖。特定而言,圖5示出使用算術譯碼的熵譯碼的實施方式,其中
x是待譯碼的資料,並且發送器和接收器(例如,媒體編碼器200和媒體解碼器3)已知的PDF參數向量
σ包含定義
x的PDF的參數。更具體地說,向量
σ是標準差(例如,正態高斯分佈的),並且更通常,其是由超先驗網路決定的參數,用於決定用於熵譯碼的PDF。
在本揭示內容的上下文中,資料元素(
x)可以包括到神經網路的輸入(例如,到圖4的圖像合成神經網路426的輸入)、神經網路的輸出(例如,圖4的圖像分析神經網路402的輸出)、語法元素,或者經編碼的媒體位元串流的其他經譯碼資料。基於神經的圖像/視訊譯碼中可以被編碼以產生資料元素
x(或者更通常,將使用本揭示內容的技術被熵譯碼的資料元素)的一些示例類型的資料可以包括圖像或視訊訊框中的RGB或YUV圖元值、經運動補償視訊中的圖元值殘差(圖元值減去來自運動的預測)、用於基於區塊的運動補償的運動向量及/或用於基於翹曲的運動補償的密集光流資料。在其他實例中,資料元素
x可以包括表示權重的資料、啟動函數或者由基於神經的媒體壓縮技術使用的其他資料。
在訓練階段期間,不對資料進行編碼,而是位元速率計算過程500使用資料元素
x和PDF參數
σ來估計由算術譯碼過程使用的位元數
N
b 。向量
σ表示定義資料元素
x的PDF的參數,其是發送器和接收器(例如,媒體編碼器200和媒體解碼器300)已知的。PDF參數
σ可由超先驗解碼器網路計算,或者可以從被學習的預定義參數表中讀取。作為一個實例,碼向量計算過程502可以針對特定資料元素
x根據其相對應的PDF參數
σ計算碼向量c(
σ)。
量化過程(
Q
x->q )504對資料元素
x進行量化以建立經量化的資料元素
q。算術編碼器506隨後使用碼向量
對經量化的資料元素
q進行算術譯碼以建立位元串流
B。算術解碼器508藉由使用相同碼向量
執行算術解碼來恢復經量化的資料元素
q。解量化過程(
Q
q-> )510執行對經量化的資料元素
q的解量化以恢復經解碼的資料元素
。隨後可以藉由基於神經的解碼技術對經解碼的資料元素
進行解碼以重構原始媒體(例如,圖片或視訊)。
注意,本揭示內容的技術適用於包含神經網路的所有壓縮方法,並且亦適用於以低精度整數儲存的熵譯碼參數表,該等神經網路產生用於熵譯碼的概率分佈參數。儘管接下來的部分經常使用其中
σ表示高斯PDF的標準差的實例,但是本揭示內容的一般技術適用於其中PDF由參數
σ定義的所有情況。
PDF可以由一個以上的參數定義,但並不是所有的參數皆可以直接用於熵譯碼。例如,PDF可由標準差
σ和均值
μ定義,但只有標準差決定熵譯碼屬性。由於只具有一個參數在實踐中是最常見的,因此其是下一部分中使用的假設,並且下文描述的技術可以很容易地推廣。
如圖5所示,被稱為碼向量計算過程502的區塊定義了如何使用PDF來建立碼向量
,這是算術譯碼過程用來建立位元串流
B的資訊。例如,碼向量可以是如下向量,該向量具有與由量化(在圖3中為
)後的符號定義的
概率品質函數(PMF)相對應的
累積分佈函數(CDF)的向量。在另一實例中,若使用被稱為
二元化的技術,則碼向量
包含對相同資料進行譯碼的二元決策概率。實際上,CDF和概率是按比例縮放的,因此向量c的元素被表示為整數。
圖5中所示的系統表示在使用非常精確的浮點演算法和強大的處理器來首次設計、訓練和測試基於神經的轉碼器時如何使用熵譯碼。然而,在實際實施方式中,神經網路值通常用低精度整數表示,以實現更快的計算和更少的功耗。這在圖6的經修改系統中圖示,其中添加了附加量化區塊以指示參數
σ被轉換為低精度版本
,例如表示為單個8位元整數(位元組)。
圖6示出圖5的系統的實際實施方式,其中PDF參數
σ被量化並用低精度整數
表示,並且算術譯碼所需的向量被預先計算並儲存在具有C個元素的陣列中。與圖5的實例類似,在訓練階段期間不對資料進行編碼,而是位元速率計算過程600使用資料元素
x和PDF參數
σ來估計由算術譯碼過程使用的位元數
N
b 。在圖6的實例中,量化過程(
)602對PDF參數
σ進行量化以建立經量化的PDF參數
。碼陣列過程603隨後從經量化的PDF參數
產生碼向量
。亦即,經量化的PDF參數
用於決定可由碼陣列過程603決定可用的C元素之一(例如,碼向量)。
量化過程(
Q
x->q )604對資料元素
x進行量化以建立經量化的資料元素
q。算術編碼器606隨後使用碼向量
對經量化的資料元素
q進行算術譯碼以建立位元串流
B。算術解碼器608藉由使用相同碼向量
執行算術解碼來恢復經量化的資料元素
q。解量化過程(
Q
q-> )610執行經量化的資料元素
q的解量化以恢復經解碼的資料元素
。隨後可以藉由基於神經的解碼技術對經解碼的資料元素
進行解碼以重構原始媒體(例如,圖片或視訊)。
注意在圖6中,
x的量化不同於PDF參數
σ的量化。浮點參數可以適用於複雜的神經網路,但對於小型設備(例如,行動設備)的廣泛使用不太可行。此類行動設備中的功耗對於實際實施方式來說可能太高。因此,PDF參數
σ被量化為整數,以實現更低的功耗和更實際的應用。在一個實例中,PDF參數
是一個1位元組的整數(例如,256個可能的值)。此種量化造成更高的功率效率。
另一個實際修改的動機在於以下事實:針對每個
x值重新計算碼向量
通常在計算上很昂貴。例如,若
x具有帶標準差
σ的高斯分佈(例如,典型情況),則經量化值的PMF被定義為:
其中
誤差函數(erf)為:
該PMF的
熵(H)(以位元為單位)為:
請注意,除了計算概率外,亦可能執行額外任務來建立具有正確整數累積和或者二進位概率的向量c,從而增加了計算成本。在實際實施方式中,可以藉由針對參數
的不同量化值預計算碼向量
並將該等向量儲存在陣列中(例如,在記憶體中)來避免該等計算。如圖6所示,發送器和接收器(例如,媒體編碼器200和媒體解碼器300)具有相同的碼向量陣列,其是根據參數
選擇的,並用於算術編碼和解碼。
例如,給定以下定義:
其中
(下取整函數)是小於或等於
σ的最大整數,則
x可以利用預先計算的碼向量
進行熵譯碼。
可以使用
碼冗餘度函數來量測由於具有有限數量的碼向量而導致的損失,該函數是使用碼向量
而不是最佳碼向量
對
x進行編碼所需的額外位元的平均數量。
碼冗餘度函數由Kullback–Leibler散度度量定義,如下所示:
熵譯碼通常不是為了使平均冗餘度最小化而設計的,因為媒體轉碼器在寬範圍的位元速率上操作。通常,平均值不是先驗已知的。相反,熵譯碼是藉由限制
相對冗餘度來設計的,如下所示:
設計嚴格限制相對冗餘度的熵譯碼方法可以確保所有平均值亦受到限制。換言之,使用此種方式,平均壓縮損失可能不是最小的,但當相對損失總是很小時,確保平均壓縮損失很小。
圖7圖示使用以下公式來計算碼向量時高斯分佈的彼等冗餘度量測的實例:
圖7圖示與使用經量化的PDF參數和整數數量的碼向量相關的冗餘度的絕對量測(曲線700,右Y軸)和相對量測(曲線702,左Y軸)的實例。該損失是譯碼效率。實質上使用了比必要的更多的位元。對sigma值進行量化會導致浮點sigma的實際值不確定。
可以假設在區間[1,2)、[2,3)和[3,4)中分別使用碼向量c(1.5)、c(2.5)和c(3.5)對具有PDF參數
σ的值進行熵譯碼。可以觀察到當
σ=
r時冗餘度為零,否則冗餘度為正。注意,在圖7的實例中,區間[1,2)中的最大冗餘度大於其他區間中的最大冗餘度。
測試顯示,區間中的最大冗餘度取決於區間的寬度以及區間內的值。這意味著使用碼向量的非均勻指派可以獲得更好的結果。
圖8圖示碼向量c(
σ)的非均勻指派的實例,其被設計為在所有區間中獲得相同的最大相對冗餘度。若在區間[1,1.52)、[1.52,2.41)和[2.41,4)中分別使用碼向量c(1.24)、c(1.93)和c(3.14)對具有PDF參數
σ的值進行熵譯碼,則可以獲得圖8中的相對冗餘度圖。可以觀察到,對於該等值,最大相對冗餘度在三個區間中是相同的。
注意,上文參考圖8描述的技術與碼向量指派有關,而不是與PDF參數
σ的量化有關。例如,若將
σ直接量化為整數值,則不能應用圖8中所示的分數間隔閾值。
給定定義要使用相同碼向量
進行熵譯碼的
σ值的範圍的區間
,若使用以下公式,則媒體譯碼器(例如,媒體編碼器200和媒體解碼器300)可以使該區間內的最大相對冗餘度最小化:
利用上述用於碼向量的設計準則,可以在圖8中觀察到區間
內的冗餘度具有近似拋物線的形狀,當
時具有零值。在該等條件下,並假設
σ在區間內的均勻條件分佈,平均冗餘度可以被很好地近似為:
該平均值在圖8的實例中被示為虛線800。圖8圖示當若干區間根據公式(9)具有相同的最大冗餘度時,該等區間亦具有大致相同的平均冗餘度。
辨識圖6所示的實施方式的問題要考慮的一個事實在於:轉碼器設計者可以選擇一種PDF類型以及用於其定義的參數。然而,正是設計的實際應用定義了參數值的相對頻率,因為該等參數值的相對頻率是由網路訓練定義的。例如,圖9圖示來自基於神經的圖像轉碼器的高斯標準差值的相對頻率的曲線圖900。如圖9所示,對於低位元速率(實踐中最常用的),
σ值在最小允許值處達到峰值,
σ=0.1,並且幾乎全部皆小於
σ=10。另一方面,對於較大的位元速率,較大的
σ值更為常見。本揭示內容假設,為了覆蓋廣泛的再現品質,標準差在範圍[0.1,1,000]之內。
PDF參數
σ定義了轉碼器使用的位元速率,該等位元速率是利用公式(4)中定義的熵函數量測的。圖10圖示曲線圖1000,其示出量化值的熵如何隨著參數
σ在期望被支援的標準差範圍內變化。更具體地,圖10圖示作為標準差
σ的函數的具有高斯分佈的經量化的隨機變數的熵(以位元為單位)。
若媒體譯碼器(例如,媒體編碼器200或媒體解碼器300)被配置為在[0.1,1,000]到256個值(適合單個位元組)的範圍內量化
σ,並使用公式(9)來為由
定義的256個區間中的每一個區間建立一個碼向量,媒體譯碼器將獲得圖11中所示的相對冗餘度的平均值。圖11圖示示出藉由使用高斯標準差
σ的均勻量化和
C=256碼向量引起的平均相對冗餘度(壓縮損失)的曲線圖1100。
對於圖10和圖11可以觀察到以下問題:
1、熵函數在較小的
σ值(最常用的範圍)下具有非常高的導數,使訓練期間的學習收斂複雜化。
2、因為熵在原點附近是高度非線性的,因此很難用經量化的神經網路再現。
3、當
精度較低時,無法分離小
σ值的重要差,從而導致圖11中原點附近顯示的非常高的相對冗餘度。
4、
σ的範圍對應於實踐中需要的值,但如圖9所示,該範圍的大部分通常很少使用。在圖示實例中,
σ值的小值範圍使用最多,亦是量化問題最嚴重的地方。
簡而言之,使用標準差作為定義熵譯碼的值可以很好地處理高精度浮點實施方式,但可能不利於實際實施方式中使用的經量化神經網路。
每當轉碼器設計者選擇某個PDF參數時,其他類型的概率分佈皆會出現類似的問題,因為該PDF參數具有熟悉且直觀的含義。高精度神經網路可以經由大量訓練來「學習」如何最佳地使用該等參數,但經量化網路可能不會。使用非均勻量化(例如,如圖8的實例所示)可能無法直接解決該等問題,因為在實際實施方式中,碼向量的指派是使用經量化參數
進行的。
上文提出的實際問題是由PDF參數
σ如何塑造熵函數以及其轉換為低精度整數表示(在圖6中由具有量化
的區塊指示)引起的。可能很難經由直接分析公式(4)如何定義量化值的熵來辨識該等問題的根源,因為其是項的無限總和,而沒有明確的直觀解釋。藉由考慮更簡單的近似可以獲得更多的洞察。對於高斯分佈和較大的
σ值,熵可以藉由以下公式近似:
而對於值中較小的
σ值,熵可以藉由以下公式近似:
圖12圖示當對數標度用於參數
σ時,圖10的熵圖1200以及上文定義的近似值。在這兩種情況下皆可以觀察到快速漸近收斂,以及在適當的
σ範圍以及在其中兩個近似值幾乎相同的中間範圍內非常好的匹配。
從圖12中,更容易認識到
σ的對數提供了與熵更直接的關係,並且因此可以是用於定義PDF的更好參數。要考慮的一個剩餘態樣是,如圖9所示,小的
σ值預計是最常見的,並且此類小的
σ值對應於非常小的熵。
如圖13所示,對熵和標準差使用對數標度顯示熵函數在低
σ值下的變化方式亦可以有益於考慮。由於媒體編碼器200或媒體解碼器300可能遇到大量具有非常低熵的值,因此即使是非常小的絕對誤差亦可能產生大的相對冗餘度和大的壓縮損失。圖13圖示了示出以對數標度繪製的、熵及其來自公式(11)和(12)的近似值的曲線圖1300。
儘管量化誤差是不可避免的,但考慮到量化誤差如何影響相對冗餘度,本揭示內容的技術基於此種事實,亦即可以藉由替換待量化的變數來減少壓縮損失。
一種示例技術如圖14所示,其中定義了名為
v的新變數用於對PDF進行參數化。通常,可以使用PDF參數
σ的非線性函數(例如,對數函數)來決定PDF參數
v。
σ和
v之間的轉換函數被定義為使得:
圖14圖示圖6的實際轉碼器的修改以實現針對熵譯碼最佳化的新設計變數,以及用於更高效地指派碼向量的表。如圖14所指示,該函數允許轉碼器設計者在訓練中繼續使用PDF參數
σ,並且假設該函數幾乎處處可微,以保持自動梯度反向傳播。
為簡化表述,採用以下約定:
公式(14)指定:σ的範圍從最小值(
)到最大值(
)。新參數
v的範圍從0到1。
v值為0時的轉換函數
等於
。
v值為1時的轉換函數
等於
。新參數
v的量化(例如,
(v))產生從0到N-1的整數。另外,定義:若
,則
。
在圖14中,資料在訓練階段沒有被編碼。因為譯碼階段被配置為使用新的PDF參數v,因此訓練階段包括轉換(
)過程1400用於將PDF參數v轉換回PDF參數
σ(例如,PDF的標準差)。位元速率計算過程1401使用資料元素
x和PDF參數
σ來估計由算術譯碼過程使用的位元數
N
b 。
在圖14的實例中,量化過程(
)1402對PDF參數
v進行量化以建立經量化的PDF參數
n。碼選擇過程1412隨後將經量化的PDF參數
n轉換為碼向量索引
i。碼向量索引
i可以是碼陣列過程1414的輸入。亦即碼向量索引
i可以是碼向量的查閱資料表的索引。碼陣列過程1414隨後根據碼向量索引
i決定碼向量
c(r
* i)
。碼向量
c(r
* i)
用於對資料元素
x進行算術譯碼。
量化過程(
Q
x->q )1404對資料元素
x進行量化以建立經量化的資料元素
q。算術編碼器1406隨後使用碼向量
c(r
* i)
對經量化的資料元素
q進行算術譯碼以建立位元串流
B。算術解碼器1408藉由使用相同碼向量
c(r
* i)
執行算術解碼來恢復經量化的資料元素
q。解量化過程(
Q
q-> )1410執行經量化的資料元素
q的解量化以恢復經解碼的資料元素
。隨後可以藉由基於神經的解碼技術對經解碼的資料元素
進行解碼以重構原始媒體(例如,圖片或視訊)。
通常,在本揭示內容的一個實例中,媒體編碼器200和媒體解碼器300可以被配置為:決定用於由基於神經的媒體壓縮技術編碼的資料串流的資料元素(
x)的概率分佈函數參數(例如,
v)。概率分佈函數參數(
v)可以根據資料串流的概率分佈函數的標準差(
σ)的對數函數(例如,自然對數(ln))來決定。媒體編碼器200和媒體解碼器300亦可以被配置為:基於概率分佈函數參數(v)來決定碼向量(
c(r
* i)
),並且可以使用碼向量(
c(r
* i)
)來對資料元素(
x)進行算術譯碼。
如圖14所示,在一個實例中,媒體編碼器200和媒體解碼器300可以被配置為:在決定碼向量之前對概率分佈函數參數
v進行量化。在一個實例中,為了決定碼向量,媒體編碼器200和媒體解碼器300可以被配置為:基於概率分佈函數參數
v來決定碼向量索引(
i),並基於碼向量索引從碼向量表中決定碼向量。下文將描述關於碼向量表的更多資訊。
從編碼器側,媒體編碼器200可以被配置為:使用基於神經的壓縮技術來產生資料元素
x,並且可以對資料元素進行量化以建立經量化的資料元素。在該實例中,使用碼向量對資料元素進行算術譯碼包括:使用碼向量對經量化的資料元素進行算術編碼。此外,在該實例中,例如,如圖4所示,媒體編碼器200可以被配置為:使用圖像分析神經網路來處理圖像或視訊圖片以產生資料元素。
從解碼器側,媒體解碼器300可以使用碼向量對經編碼的資料元素進行解碼以建立經量化的資料元素。媒體解碼器300亦可以對經量化的資料元素進行解量化以建立重構的資料元素。媒體解碼器300隨後可以使用圖像合成神經網路來處理重構的資料元素以重構圖像或視訊圖片。
下一個要考慮的態樣是:熵譯碼的效能是藉由公式(7)和(10)中定義的相對冗餘度量來量測的。下文介紹了此種方式的實際應用的實例。
對數轉換
最常見的是,基於神經的轉碼器被配置為使用假設
進行操作,亦即待譯碼變數具有零均值高斯(或正態)分佈。儘管一些示例超先驗網路使用一些學習的PDF,但最近的工作顯示,當學習的PDF被替換為高斯PDF和學習的參數時,會有改進。
使用該事實,以及在圖12和圖13中觀察到的標準差的對數提供了PDF的更精確的參數化,變數轉換函數可以使用下列定義:
並且其逆為:
函數ln()是自然對數。當使用
N=256來量化此新參數
v,並且根據公式(9)來最佳化相對應的
C=256碼向量時,獲得圖15所示的平均相對冗餘度。圖15圖示曲線圖1500,該曲線圖示出藉由使用具有
N=256的PDF參數
v的均勻量化以及
C=256個碼向量所造成的平均相對冗餘度(壓縮損失)。圖15圖示PDF參數
v是更適合用來定義高斯PDF的參數,因為相對冗餘度始終低於1%。
上文所示的轉換公式(15)和(16)僅使用指數函數和對數函數,其是連續的並且具有在設計和訓練期間易於計算的導數。
用於選擇碼向量的表
要考慮的一個額外態樣是,由於在熵譯碼期間不斷存取碼向量,為了保持高資料輸送量,最好將碼向量儲存在更昂貴的快速記憶體中。因此,減少碼向量的數量能夠節省記憶體需求和成本。
在PDF參數
v量化之後,使用圖16中所示的碼選擇表1600可以實現節省記憶體需求和成本。該等是具有
N個元素的簡單表,以實現碼向量的非均勻指派,與圖8的實例類似,但不是使用浮點值定義基於PDF參數
σ的轉換,該等表被直接應用於整數值
n,整數值
n是在PDF參數
v量化之後獲得的。
優點在於:該過程是整數到整數的轉換,其可以經由簡單的查表實施方式非常高效地完成。圖16圖示此種表1600的實例,其針對
n的256個可能值中的每一個定義了應當用於熵譯碼的碼向量的數量。在圖16的實例中,總表記憶體為256位元組。媒體編碼器200和媒體解碼器300可以使用圖16中的表1600,該表用於將PDF參數
v(由值
n量化且
N=256)轉換成碼向量索引
i。設計表16是為了更好地保證最大冗餘度小於1%,如圖17所示,從而能夠使碼向量的數量從256個減少到43個。圖17圖示圖1700,圖1700示出根據標準差得到的相對冗餘度。
另一種限制記憶體使用的方法是減少標準差的值的範圍。例如,可以使用以下PDF參數來實施基於神經的方法:
其對應於以下轉換公式:
其中乘以32可以經由移位來實施。
圖18圖示針對上述變換設計的碼向量選擇表1800,將碼向量的數量減少到了25個。
圖14的經修改的熵譯碼方案,以及公式(16)的PDF參數變換有效地減少了由PDF參數的量化引起的降級。事實上,上述技術能夠從圖11中所示的不可接受的冗餘度值移動到圖15中所示的有用的冗餘度值。
然而,亦可以觀察到圖15中的冗餘度值對於較小的
σ值(最常見和最重要的
σ值)而言較大,並且對於不太重要的較大的
σ值未必很小。
若期望使用等於量化區間的數量
N的碼向量的數量
C,則獲得圖19所示的冗餘度曲線1900。圖19圖示由公式(16)定義的PDF參數
v的量化所引起的相對冗餘度,將區間[0,1]劃分為
N個相同大小的區間(均勻量化),並使用
C=
N個碼向量。圖19中的冗餘度曲線1900恰好幾乎平行(下文將更詳細地解釋),這亦意味著較小的
σ值具有最壞情況下的相對冗餘度,並且當
C=
N減小時迅速變高。
上述碼向量選擇方法可以緩解該問題,但可能有以下局限性:
1)因為
σ的較小值的相對冗餘度對應於最壞的情況,因此量化區間的數量
N相對較大。
2)可以藉由使碼向量的數量
C小於
N來實現記憶體減少,這可以使用添加查表階段來解決,如上述。
3)最優表和碼向量取決於
N和
C二者,並且當該等參數改變時可以重新計算。
由公式(16)定義的變數轉換問題是由以下事實造成的:參數的選擇是出於簡單性和便利性的考慮,並提供了簡單性和便利性。本揭示內容顯示,使用上文提出的理論,可以定義提供對相對冗餘度的甚至更好控制的轉換函數。
本揭示內容定義了另一個PDF參數
u來表示定義熵譯碼PDF的新參數。通常,PDF參數
u是已針對量化進行了最佳化的分佈(例如,碼向量的分佈)的參數化。或者更通常,與其他參數相比,參數
u被最佳化以提供較低的相對冗餘度(例如,損失)。為了簡化符號,本揭示內容使用以下兩個函數來定義參數轉換過程:
其中
這類似於上述轉換(15)。
假設公式(19)和(20)滿足以下約定:
公式(21)指定:
σ的範圍從最小值(
)到最大值(
)。新參數
u的範圍從0到1。λ值為0時的轉換函數
等於
。
λ值為1時的轉換函數
等於
。
u值為0時的轉換函數
等於0。
u值為1時的轉換函數
等於1。新參數
u的量化(例如,
)產生範圍從0到N-1的整數。
圖8中的實例顯示,可能設計區間[
]的非均勻劃分,並且利用公式(9)的碼向量最佳化在所有子區間中獲得相同的最大相對冗餘度。如上文,當參數
σ被量化時該方式可能不實用,但本揭示內容的技術利用了當參數
u被量化時可以採用非均勻劃分的事實。
圖20圖示劃分PDF參數區間[
]以在
N個區間中獲得相同的最大相對冗餘度的過程的圖形表示2000。這可以使用以下演算法來完成。
演算法1
1、 給定
N和[
],選擇初始最大冗餘度
ϵ;來初始化
2、對於
:
a.找到
使得
b.找到
使得
3、若
則停止。
4、 若
,則增加
ϵ,否則減少
ϵ,使用一維搜尋方法(如二分法)。
5、去往步驟2。
如圖20的下部中指示,序列
可以為函數提
供
N個值,並且可以經由內插來計算中間值。由於
N個量化區間被選擇為具有相同的最大相對冗餘度,因此媒體編碼器200和媒體解碼器300可以被配置為使用相同數量的碼向量,亦即,
C=
N,從而不需要碼選擇表,並且能夠實現圖21中所示的簡化的轉碼器實施方式。
在圖21中,資料在訓練階段期間沒有被編碼。因為譯碼階段被配置為使用新的PDF參數
u,因此訓練階段包括轉換(
)過程2100以用於將PDF參數
u轉換回PDF參數
σ(例如,PDF的標準差)。位元速率計算過程2101使用資料元素
x和PDF參數
σ來估計由算術譯碼過程使用的位元數
N
b 。
在圖21的實例中,量化過程(
)2102對PDF參數
u進行量化以建立經量化的PDF參數
n。碼陣列過程2112隨後將經量化的PDF參數
n轉換成碼陣列
c(r
* n)
(亦被稱為碼向量
c(r
* n)
)。與圖14的技術不同,圖21的技術不使用查閱資料表來決定碼向量。碼向量
c(r
* n)
用於對資料元素
x進行算術譯碼。
量化過程(
Q
x->q )2104對資料元素
x進行量化以建立經量化的資料元素
q。算術編碼器2106隨後使用碼向量
c(r
* n)
對經量化的資料元素
q進行算術譯碼以建立位元串流
B。算術解碼器2108藉由使用相同碼向量
c(r
* n)
執行算術解碼來恢復經量化的資料元素
q。解量化過程(
Q
q-> )2110執行經量化的資料元素
q的解量化以恢復經解碼的資料元素
。隨後可以藉由基於神經的解碼技術對經解碼的資料元素
進行解碼以重構原始媒體(例如,圖片或視訊)。
通常,在本揭示內容的一個實例中,媒體編碼器200和媒體解碼器300可以被配置為:決定用於由基於神經的媒體壓縮技術譯碼的資料串流的資料元素(
x)的概率分佈函數參數(例如,
u)。概率分佈函數參數(
u)可以基於針對量化最佳化的分佈。分佈函數參數(
u)可以是根據量測譯碼冗餘度的演算法來決定的或者藉由求解常微分方程來定義的。媒體編碼器200和媒體解碼器300亦可以被配置為:基於概率分佈函數參數(
u)來決定碼向量(
c(r
* n)
),並且可以使用碼向量(
c(r
* n)
)來對資料元素(
x)進行算術譯碼。
如圖21所示,在一個實例中,媒體編碼器200和媒體解碼器300可以被配置為:在決定碼向量之前對概率分佈函數參數
u進行量化。在一個實例中,為了決定碼向量,媒體編碼器200和媒體解碼器300可以被配置為:基於經量化的概率分佈函數參數
u(n)來決定碼向量(
c(r
* n)
)。
從編碼器側,媒體編碼器200可以被配置為:使用基於神經的壓縮技術來產生資料元素
x,並且可以對資料元素進行量化以建立經量化的資料元素。在該實例中,使用碼向量對資料元素進行算術譯碼包括:使用碼向量對經量化的資料元素進行算術編碼。此外,在該實例中,例如,如圖4所示,媒體編碼器200可以被配置為:使用圖像分析神經網路來處理圖像或視訊圖片以產生資料元素。
從解碼器側,媒體解碼器300可以使用碼向量對經編碼的資料元素進行解碼以建立經量化的資料元素。媒體解碼器300亦可以對經量化的資料元素進行解量化以建立重構的資料元素。媒體解碼器300隨後可以使用圖像合成神經網路來處理重構的資料元素以重構圖像或視訊圖片。
上述技術的一個可能注意事項在於,轉換函數
理論上取決於量化區間
N的數量,並且顯著的差異意味著需要專門針對該值來訓練超先驗神經網路。
然而,針對不同的
N值計算的函數
產生了相同的圖形2200,如圖22所示。事實上,如圖23所示,與針對極大的
N的函數相比,針對
N的若干值計算的函數
之間的差異非常小。圖22示出產生恆定的最大相對冗餘度的轉換函數
和
。圖23中的圖2300示出圖22中使用上述演算法I以及演算法參數
N的不同值計算的函數
的值的差異。
這意味著單個轉換函數
可以用於
N的所有實際值,這進而意味著在訓練超先驗神經網路時不需要定義
N的值。
可以顯示,考慮以下情況,可以計算針對N→∞的函數
的漸近值:在極限情況下,由參數
u定義的相對冗餘度的曲率應該是一個常數值,亦即:
其中
k是常數。這可以在圖22的下部直觀地看出,其中在極限情況下所有冗餘度曲線意味著具有相同的形狀。
可以顯示,對於由參數
σ定義的任何無限概率序列
,我們有:
例如,在經量化的正態變數的分佈對應於公式(2)的情況下,若我們定義:
可以顯示公式(23)對應於:
並且公式(23)對應於常微分方程(ODE):
或者等效地,
該等微分方程可以用簡單的方法(如Runge-Kutta)求解,產生一組離散點,該組離散點可以與三次樣條等內插方法一起使用,以用於精確計算變換函數
。
來自演算法I和ODE的解陣列表示為使用公式(26)或(27)定義的邊界導數的三次樣條,用於量測當區間[0,1]被均勻分劃分
N=
C個區間時(不同於演算法I中使用的
N的值)的相對冗餘度。結果顯示在圖24的圖2400 中,其中可以觀察到所得平均冗餘度確實實際上是恆定的。圖24示出由於使用PDF參數
u和圖22的轉換函數、將區間[0,1]劃分為
N個相同大小的區間(均勻量化)並使用
C=
N個碼向量而導致的相對冗餘度。
此外,圖24中亦圖示,當區間大小加倍時,平均冗餘度值翻兩番,這是另外的證據,表明在廣泛的尺度範圍內,圖20的冗餘度曲線幾乎是二次的,由公式(25)定義的曲率支配。
作為另一實例,若神經網路和熵譯碼的設計假設如下具有PDF的拉普拉斯分佈(而不是正態分佈(高斯分佈)):
則公式(24可以被替換為如下:
並使用公式(25-27)來設計相對應的最佳轉換函數。
如上述,假設轉碼器設計者希望具有相同的最大相對冗餘度以始終獲得相同的整體平均值。可能概括轉換函數
的計算以建立相對冗餘度的非均勻分佈。
這可以藉由將演算法I中的常數
ϵ替換為定義冗餘度應如何隨PDF參數
σ變化的函數
來完成。類似地,微分方程(26)和(27)中的常數
k可以用函數
來替換。圖25和圖26圖示使用該等修改獲得的結果的實例,其中兩種類型的函數塑造了冗餘度容差。
圖25示出由使用變化的用於冗餘度的容差的PDF參數
u的均勻量化引起的平均相對冗餘度的第一組實例2500。圖26示出由使用變化的用於冗餘度的容差的PDF參數
u的均勻量化引起的平均相對冗餘度的第二組實例2600。
圖21的簡化轉碼器僅需要在神經網路的訓練期間計算參數轉換函數
,此時其計算複雜度可能並不重要。然而,由於梯度通常有利於神經網路最佳化,因此最好使用連續且具有連續一階導數的近似值。
針對函數近似定義了許多數學方法,該等函數近似可用於近似
,例如:
1、多項式
2、有理多項式
3、分段多項式
4、樣條
選擇近似值時要考慮的一個態樣是以下事實:函數
在微分方程定義的極限內,因此應藉由計算近似值的導數與公式(26)或(27)定義的精確值之間的
相對差異來量測近似誤差。
例如,在圖22中,圖示
,其具有導數2
u。然而,所需的
λ的導數如圖27的圖2700所示,並且我們可以看到,對於較小的
u值,相對差異可能會非常大。圖27示出圖22的轉換函數的導數及其倒數。
再舉一例,下文的三次多項式近似:
使導數上的最大相對誤差最小化,其如圖28所示。圖28示出使用3次多項式公式(30)的PDF轉換函數近似的相對誤差的示例圖2800。使用該多項式以進行參數轉換導致了圖29的圖2900中所示的平均冗餘度。圖29示出由PDF參數
u的量化引起的相對冗餘度,將區間[0,1]劃分為N個相同大小的區間(均勻量化),並且使用C=N個碼向量和公式(30)的近似。可以觀察到圖28中的峰之間的對應關係,該等峰映射到圖29中的對應峰。
亦可以觀察到,圖28中相對較大的相對導數誤差會導致圖29中最大冗餘度的類似偏差,但其小於將
N和
C減半所導致的變化,這意味著像公式(30)的多項式一樣簡單的函數實際上可以用於實際應用。
其他近似包括:
本揭示內容的技術可以使用算術譯碼來實施和測試,並且可以集成到在行動設備上運行的基於神經的轉碼器中。在一個實例中,算術譯碼技術可以使用32位元運算來實施,並且概率值可以縮放到16位元。
下文的表1圖示一些用於確認本揭示內容的技術的效能的實驗結果。超先驗資料是使用浮點運算獲得的,因此只有熵譯碼參數的量化會影響結果。
如表1第一行結果所示,當使用經量化的PDF參數
σ對高斯PDF進行參數化時,需要大約0.5 MB的記憶體來儲存256個碼向量,並且獲得的冗餘度是圖11所期望的,接近1000%。更好的結果是可能的,但需要更多的記憶體用於碼向量。
表1中的以下行顯示,當
σ被經量化的PDF參數
v替換時(例如,使用
σ的對數函數獲得的參數,如公式(16)所定義的),可以獲得更好的結果。使用N=C=256實際上消除了冗餘度,但用於碼向量的記憶體的量相對較高。
結果顯示,使用較小的N=C值有助於減少所需的記憶體的量,但相對冗餘度不均勻地增加。另一方面,使用上述表查閱技術,導致C<N=256(例如,少於256個碼向量),以更一致的相對冗餘使用大約記憶體量的一半。
表I的最後3行顯示使用圖22的PDF參數
u和轉換函數亦減少了記憶體需求並提供了最一致的結果,但不需要表查閱。
表1:利用實施本文描述的技術獲得的實驗結果,其應用於壓縮具有24個圖像的柯達資料集所使用的資料。
經量化 PDF 參數 | N | C | 記憶體 (K位元組) | 相對冗餘度(%)@ 位元速率 | ||||
0.25 bpp | 0.5 bpp | 1.0 bpp | 1.5 bpp | 2.5 bpp | ||||
σ | 256 | 256 | 498.6 | 754.7 | 858.7 | 923.7 | 951.6 | 899.6 |
v | 256 | 256 | 108.7 | 0.03 | 0.02 | 0.02 | 0.01 | 0.01 |
v | 43 | 43 | 18.3 | 0.51 | 0.37 | 0.32 | 0.23 | 0.23 |
v | 256 | 43 | 7.7 | 0.31 | 0.30 | 0.30 | 0.29 | 0.29 |
v | 23 | 23 | 9.8 | 1.45 | 1.15 | 0.99 | 0.87 | 0.76 |
v | 256 | 23 | 4.4 | 0.84 | 0.89 | 0.90 | 0.90 | 0.93 |
u | 256 | 256 | 51.6 | 0.00 | 0.00 | 0.00 | 0.00 | 0.01 |
u | 43 | 43 | 8.7 | 0.22 | 0.24 | 0.24 | 0.24 | 0.24 |
u | 23 | 23 | 4.7 | 0.86 | 0.86 | 0.85 | 0.85 | 0.84 |
如上圖所示,對於使用神經網路的圖像和視訊譯碼,選擇對設計者來說最直觀和方便的熵譯碼參數在使用高精度浮點實施方式時可以起作用,但當神經網路的權重和啟動被量化時,可能會導致嚴重的降級。事實上,對常用高斯分佈的分析顯示,壓縮效率的最嚴重降級(最高相對冗餘度)恰好發生在壓縮期間獲得的最常見情況。
本揭示內容所提出的技術藉由重新定義用於熵譯碼的參數來解決該問題,保留具有單一變數變化的訓練過程,但是修改量化以均衡由量化導致的冗餘度增加。此外,其顯示,使用新的參數化,可能使用簡單的表查閱用於碼向量選擇或其他類型的參數轉換函數來減少用於熵譯碼的記憶體的量,而無需使用表查閱。
圖30是示出本揭示內容的示例方法的流程圖。圖30的技術可以由媒體編碼器200及/或媒體解碼器300的一或多個部件執行,包括圖14的實例中所示的部件。在圖30的實例中,媒體編碼器200及/或媒體解碼器300可以被配置為:決定用於由基於神經的媒體壓縮技術譯碼的資料串流的資料元素的概率分佈函數參數,其中該概率分佈函數參數基於針對量化而最佳化的資料串流的分佈(3000);基於該概率分佈函數參數來決定碼向量(3002);及使用該碼向量對資料元素進行熵譯碼(3004)。可以根據經驗(例如,對數)或藉由使用評估譯碼冗餘度或常微分方程的解的演算法來決定該函數。
下文描述了本揭示內容的其他態樣。
態樣1A-一種對媒體資料進行譯碼的方法,該方法包括:
決定用於由基於神經的媒體壓縮技術譯碼的資料串流的資料元素的概率分佈函數參數,其中該概率分佈函數參數為該資料串流的概率分佈函數的標準差的對數函數;基於該概率分佈函數參數來決定碼向量;及使用該碼向量對該資料元素進行熵譯碼。
態樣2A-如態樣1A所述的方法,進一步包括:在決定該碼向量之前對該概率分佈函數參數進行量化。
態樣3A-如態樣1A-態樣2A中任意態樣所述的方法,其中該概率分佈函數參數為
u,該概率分佈函數的標準差為
σ,最小標準差為
,最大標準差為
,並且其中
u與
σ之間的關係被定義為:
,其中
,其中函數
T是根據量測譯碼冗餘度的演算法來定義的或者藉由求解常微分方程來定義的。
態樣4A-如態樣1A-態樣3A中任意態樣所述的方法,進一步包括:使用該基於神經的壓縮技術來產生該資料元素;及對該資料元素進行量化以建立經量化的資料元素,其中使用該碼向量對該資料元素進行熵譯碼包括:使用該碼向量對經量化的資料元素進行熵編碼。
態樣5A-如態樣4A所述的方法,其中使用該基於神經的壓縮技術來產生該資料元素包括:使用圖像分析神經網路來處理圖像或視訊圖片以產生該資料元素。
態樣6A-如態樣1A-態樣3A中任意態樣所述的方法,其中使用該碼向量對該資料元素進行熵譯碼包括:使用該碼向量對經編碼的資料元素進行熵解碼以建立經量化的資料元素,該方法進一步包括:對該經量化的資料元素進行解量化以建立重構的資料元素。
態樣7A-如態樣6A所述的方法,進一步包括:使用圖像合成神經網路來處理重構的資料元素以重構圖像或視訊圖片。
態樣8A-一種被配置為對媒體資料進行譯碼的裝置,該裝置包括:記憶體;及一或多個處理器,其與該記憶體通訊,該一或多個處理器被配置為:決定用於由基於神經的媒體壓縮技術譯碼的資料串流的資料元素的概率分佈函數參數,其中該概率分佈函數參數是該資料串流的概率分佈函數的標準差的對數函數;基於該概率分佈函數參數來決定碼向量;及使用該碼向量對該資料元素進行熵譯碼。
態樣9A-如態樣8A所述的裝置,其中該一或多個處理器進一步被配置為:在決定該碼向量之前對該概率分佈函數參數進行量化。
態樣10A-如態樣8A-態樣9A中任意態樣所述的裝置,其中該概率分佈函數參數為
u,該概率分佈函數的標準差為
σ,最小標準差為
,最大標準差為
,並且其中
u與
σ之間的關係被定義為:
,其中
,其中函數T是根據量測譯碼冗餘度的演算法來定義的或者藉由求解常微分方程來定義的。
態樣11A-如態樣8A-態樣10A中任意態樣所述的裝置,其中該一或多個處理器進一步被配置為:使用該基於神經的壓縮技術來產生該資料元素;及對該資料元素進行量化以建立經量化的資料元素,其中使用該碼向量對該資料元素進行熵譯碼包括:使用該碼向量對經量化的資料元素進行熵編碼。
態樣12A-如態樣11A所述的裝置,其中為了使用該基於神經的壓縮技術來產生該資料元素,該一或多個處理器進一步被配置為:使用圖像分析神經網路來處理圖像或視訊圖片以產生該資料元素。
態樣13A-如態樣12A所述的裝置,進一步包括:被配置為擷取該圖像或視訊圖片的相機。
態樣14A-如態樣8A-態樣10A中任意態樣所述的裝置,其中使用該碼向量對該資料元素進行熵譯碼包括:使用該碼向量對經編碼的資料元素進行熵解碼以建立經量化的資料元素,並且其中該一或多個處理器進一步被配置為:對該經量化的資料元素進行解量化以建立重構的資料元素。
態樣15A-如態樣14A所述的裝置,其中該一或多個處理器進一步被配置為:使用圖像合成神經網路來處理重構的資料元素以重構圖像或視訊圖片。
態樣16A-如態樣15A所述的裝置,進一步包括:被配置為顯示該圖像或視訊圖片的顯示器。
態樣17A-一種儲存指令的非暫時性電腦可讀取儲存媒體,該等指令在被執行時導致一或多個處理器用於:決定用於由基於神經的媒體壓縮技術譯碼的資料串流的資料元素的概率分佈函數參數,其中該概率分佈函數參數為該資料串流的概率分佈函數的標準差的對數函數;基於該概率分佈函數參數來決定碼向量;及使用該碼向量對該資料元素進行熵譯碼。
態樣18A-如請求項17所述的非暫時性電腦可讀取儲存媒體,其中該概率分佈函數參數為
u,該概率分佈函數的標準差為
σ,最小標準差為
,最大標準差為
,並且其中
u與
σ之間的關係被定義為:
,其中
,其中函數
T是根據量測譯碼冗餘度的演算法來定義的或者藉由求解常微分方程來定義的。
態樣1B-一種對媒體資料進行譯碼的方法,該方法包括:決定用於由基於神經的媒體壓縮技術譯碼的資料串流的資料元素的概率分佈函數參數,其中該概率分佈函數參數為針對量化而最佳化的資料串流的分佈的參數;基於該概率分佈函數參數來決定碼向量;及使用該碼向量對該資料元素進行熵譯碼。
態樣2B-如態樣1B所述的方法,進一步包括:在決定該碼向量之前對該概率分佈函數參數進行量化。
態樣3B-如態樣1B所述的方法,其中該概率分佈函數參數為
u,該概率分佈函數的標準差為
σ,最小標準差為
,最大標準差為
,並且其中
u與
σ之間的關係被定義為:
,其中
,其中函數
T是根據量測譯碼冗餘度的演算法來定義的或者藉由求解常微分方程來定義的。
態樣4B-如態樣1B所述的方法,其中該概率分佈函數參數是該資料串流的概率分佈函數的標準差的函數。
態樣5B-如態樣1B所述的方法,進一步包括:使用該基於神經的壓縮技術來產生該資料元素;及
對該資料元素進行量化以建立經量化的資料元素,其中使用該碼向量對該資料元素進行熵譯碼包括:使用該碼向量對經量化的資料元素進行熵編碼。
態樣6B-如態樣5B所述的方法,其中使用該基於神經的壓縮技術來產生該資料元素包括:使用圖像分析神經網路來處理圖像或視訊圖片以產生該資料元素。
態樣7B-如態樣6B所述的方法,進一步包括:使用相機來擷取該圖像或視訊圖片。
態樣8B-如態樣1B所述的方法,其中使用該碼向量對該資料元素進行熵譯碼包括:使用該碼向量對經編碼的資料元素進行熵解碼以建立經量化的資料元素,該方法進一步包括:對該經量化的資料元素進行解量化以建立重構的資料元素。
態樣9B-如態樣8B所述的方法,進一步包括:
使用圖像合成神經網路來處理重構的資料元素以重構圖像或視訊圖片。
態樣10B-如態樣9B所述的方法,進一步包括:顯示該圖像或者該視訊圖片。
態樣11B-一種被配置為對媒體資料進行譯碼的裝置,該裝置包括:記憶體;及與該記憶體通訊的一或多個處理器,該一或多個處理器被配置為:決定用於由基於神經的媒體壓縮技術譯碼的資料串流的資料元素的概率分佈函數參數,其中該概率分佈函數參數為針對量化而最佳化的資料串流的分佈的參數;基於該概率分佈函數參數來決定碼向量;及使用該碼向量對該資料元素進行熵譯碼。
態樣12B-如態樣11B所述的裝置,其中該一或多個處理器進一步被配置為:在決定該碼向量之前對該概率分佈函數參數進行量化。
態樣13B-如態樣11B所述的裝置,其中該概率分佈函數參數為
u,該概率分佈函數的標準差為
σ,最小標準差為
,最大標準差為
,並且其中
u與
σ之間的關係被定義為:
,其中
,其中函數
T是根據量測譯碼冗餘度的演算法來定義的或者藉由求解常微分方程來定義的。
態樣14B-如態樣11B所述的裝置,其中該概率分佈函數參數是該資料串流的概率分佈函數的標準差的函數。
態樣15B-如態樣11B所述的裝置,其中該一或多個處理器進一步被配置為:使用該基於神經的壓縮技術來產生該資料元素;及對該資料元素進行量化以建立經量化的資料元素,其中使用該碼向量對該資料元素進行熵譯碼包括:使用該碼向量對經量化的資料元素進行熵編碼。
態樣16B-如態樣15B所述的裝置,其中為了使用該基於神經的壓縮技術來產生該資料元素,該一或多個處理器進一步被配置為:使用圖像分析神經網路來處理圖像或視訊圖片以產生該資料元素。
態樣17B-如態樣16B所述的裝置,進一步包括:被配置為擷取該圖像或視訊圖片的相機。
態樣18B-如態樣11B所述的裝置,其中使用該碼向量對該資料元素進行熵譯碼包括:使用該碼向量對經編碼的資料元素進行熵解碼以建立經量化的資料元素,並且其中該一或多個處理器進一步被配置為:對該經量化的資料元素進行解量化以建立重構的資料元素。
態樣19B-如態樣18B所述的裝置,其中該一或多個處理器進一步被配置為:使用圖像合成神經網路來處理重構的資料元素以重構圖像或視訊圖片。
態樣20B-如態樣19B所述的裝置,進一步包括:被配置為顯示該圖像或視訊圖片的顯示器。
態樣1C-一種對媒體資料進行譯碼的方法,該方法包括:決定用於由基於神經的媒體壓縮技術譯碼的資料串流的資料元素的概率分佈函數參數,其中該概率分佈函數參數為針對量化而最佳化的資料串流的分佈的參數;基於該概率分佈函數參數來決定碼向量;及使用該碼向量對該資料元素進行熵譯碼。
態樣2C-如態樣1C所述的方法,進一步包括:在決定該碼向量之前對該概率分佈函數參數進行量化。
態樣3C-如態樣1C-態樣2C中任意態樣所述的方法,其中該概率分佈函數參數為
u,該概率分佈函數的標準差為
σ,最小標準差為
,最大標準差為
,並且其中
u與
σ之間的關係被定義為:
,其中
,其中函數
T是根據量測譯碼冗餘度的演算法來定義的或者藉由求解常微分方程來定義的。
態樣4C-如態樣1C-態樣2C中任意態樣所述的方法,其中該概率分佈函數參數是該資料串流的概率分佈函數的標準差的函數。
態樣5C-如態樣1C-態樣4C中任意態樣所述的方法,進一步包括:使用該基於神經的壓縮技術來產生該資料元素;及對該資料元素進行量化以建立經量化的資料元素,其中使用該碼向量對該資料元素進行熵譯碼包括:使用該碼向量對經量化的資料元素進行熵編碼。
態樣6C-如態樣5C所述的方法,其中使用該基於神經的壓縮技術來產生該資料元素包括:使用圖像分析神經網路來處理圖像或視訊圖片以產生該資料元素。
態樣7C-如態樣6C所述的方法,進一步包括:使用相機來擷取該圖像或視訊圖片。
態樣8C-如態樣1C-態樣4C中任意態樣所述的方法,其中使用該碼向量對該資料元素進行熵譯碼包括:使用該碼向量對經編碼的資料元素進行熵解碼以建立經量化的資料元素,該方法進一步包括:對該經量化的資料元素進行解量化以建立重構的資料元素。
態樣9C-如態樣8C所述的方法,進一步包括:
使用圖像合成神經網路來處理重構的資料元素以重構圖像或視訊圖片。
態樣10C-如態樣9C所述的方法,進一步包括:顯示該圖像或者該視訊圖片。
態樣11C-一種被配置為對媒體資料進行譯碼的裝置,該裝置包括:記憶體;及與該記憶體通訊的一或多個處理器,該一或多個處理器被配置為:決定用於由基於神經的媒體壓縮技術譯碼的資料串流的資料元素的概率分佈函數參數,其中該概率分佈函數參數為針對量化而最佳化的資料串流的分佈的參數;基於該概率分佈函數參數來決定碼向量;及使用該碼向量對該資料元素進行熵譯碼。
態樣12C-如態樣11C所述的裝置,其中該一或多個處理器進一步被配置為:在決定該碼向量之前對該概率分佈函數參數進行量化。
態樣13C-如態樣11C-態樣12C中任意態樣所述的裝置,其中該概率分佈函數參數為
u,該概率分佈函數的標準差為
σ,最小標準差為
,最大標準差為
,並且其中
u與
σ之間的關係被定義為:
,其中
,其中函數
T是根據量測譯碼冗餘度的演算法來定義的或者藉由求解常微分方程來定義的。
態樣14C-如態樣11C-態樣12C中任意態樣所述的裝置,其中該概率分佈函數參數是該資料串流的概率分佈函數的標準差的函數。
態樣15C-如態樣11C-態樣14C中任意態樣所述的裝置,其中該一或多個處理器進一步被配置為:使用該基於神經的壓縮技術來產生該資料元素;及對該資料元素進行量化以建立經量化的資料元素,其中使用該碼向量對該資料元素進行熵譯碼包括:使用該碼向量對經量化的資料元素進行熵編碼。
態樣16C-如態樣15C所述的裝置,其中為了使用該基於神經的壓縮技術來產生該資料元素,該一或多個處理器進一步被配置為:使用圖像分析神經網路來處理圖像或視訊圖片以產生該資料元素。
態樣17C-如態樣16C所述的裝置,進一步包括:被配置為擷取該圖像或視訊圖片的相機。
態樣18C-如態樣11C-態樣14C中任意態樣所述的裝置,其中使用該碼向量對該資料元素進行熵譯碼包括:使用該碼向量對經編碼的資料元素進行熵解碼以建立經量化的資料元素,並且其中該一或多個處理器進一步被配置為:對該經量化的資料元素進行解量化以建立重構的資料元素。
態樣19C-如態樣18C所述的裝置,其中該一或多個處理器進一步被配置為:使用圖像合成神經網路來處理重構的資料元素以重構圖像或視訊圖片。
態樣20C-如態樣19C所述的裝置,進一步包括:被配置為顯示該圖像或者視訊圖片的顯示器。
應該認識到的是:取決於實例,本文中描述的技術中的任一種技術的某些動作或事件可以不同的循序執行,可以被添加、合併或一起省略(例如,對於技術的實踐來說,不是所有所描述的動作或事件皆是必要的)。此外,在某些實例中,動作或事件可以併發執行(例如,經由多執行緒處理、中斷處理或多處理器)而不是循序執行。
在一或多個實例中,可以用硬體、軟體、韌體,或其任意組合來實施所描述的功能。若用軟體來實施,則該等功能可以作為一或多數指令或代碼儲存在電腦可讀取媒體上,或者經由電腦可讀取媒體發送、以及由基於硬體的處理單元執行。電腦可讀取媒體可以包括電腦可讀取儲存媒體,其與諸如資料儲存媒體的有形媒體,或通訊媒體(其包括例如,根據通訊協定便於將電腦程式從一個地點轉移到另一個地點的任何媒體)相對應。以此種方式,電腦可讀取媒體通常可以對應於(1)作為非暫時性的有形電腦可讀取儲存媒體或者(2)通訊媒體(諸如信號或載波)。資料儲存媒體可以是可以由一或多個電腦或一或多個處理器存取以便取回用於本揭示內容中描述的技術的實施的指令、代碼及/或資料結構的任何可用媒體。電腦程式產品可以包括電腦可讀取媒體。
藉由舉例而非限制的方式,此種電腦可讀取儲存媒體可以包括RAM、ROM、EEPROM、CD-ROM或其他光碟儲存、磁碟儲存或其他磁儲存設備、快閃記憶體或者可以用於儲存具有指令或資料結構形式的所期望的程式碼並可以由電腦存取的任何其他媒體。此外,任何連接皆可以被適當地稱為電腦可讀取媒體。例如,若使用同軸電纜、光纖線纜、雙絞線、數位用戶線路(DSL),或諸如紅外線、無線電和微波的無線技術,從網站、伺服器,或其他遠端源發送指令,則同軸電纜、光纖線纜、雙絞線、DSL,或諸如紅外線、無線電和微波的無線技術包含在媒體的定義中。然而,應該理解的是:電腦可讀取儲存媒體和資料儲存媒體不包括連接、載波、信號或其他暫時性媒體,而是針對非暫時性、有形的儲存媒體。如本文中所使用的,磁碟(disk)和光碟(disc)包括壓縮光碟(CD)、鐳射光碟、光碟、數位多功能光碟(DVD)、軟碟和藍光光碟,其中磁碟通常磁性地再現資料,而光碟則用鐳射來光學地再現資料。上述各項的組合亦應該包括在電腦可讀取媒體的範圍之內。
指令可由諸如一或多個DSP、通用微處理器、ASIC、FPGA或其他等效集成或離散邏輯電路的一或多個處理器來執行。因此,如本文中所使用的,術語「處理器」和「處理電路」可以代表前述結構或適於本文中所描述的技術的實施的任何其他結構中的任何一個。此外,在一些態樣中,本文中描述的功能可以在被配置用於編碼和解碼的專用硬體和/軟體模組之內提供,或者併入在組合的轉碼器中。此外,該等技術可以在一或多個電路或邏輯元件中完全實施。
本揭示內容的技術可以在多種設備或裝置中實施,該等設備或裝置包括無線手持設備、積體電路(IC)或一組IC(例如,晶片組)。本揭示內容中描述了各種部件、模組或單元以強調被配置為執行所揭示技術的設備的功能態樣,但不一定要求由不同的硬體單元來實現。而是如上述,各個單元可以組合在轉碼器硬體單元中,或者由可互動操作的硬體單元的集合來提供,其包括如上述的一或多個處理器結合合適的軟體及/或韌體。
已經描述了各個實例。該等實例和其他實例在下文請求項的範圍之內。
100:媒體編碼和解碼系統
102:源設備
104:媒體源
106:記憶體
108:輸出介面
110:電腦可讀取媒體
112:儲存設備
114:檔案伺服器
116:目的地設備
118:顯示設備
120:記憶體
122:輸入介面
200:媒體編碼器
201:資料組織過程
202:統計資料建模過程
204:概率決定過程
206:資訊到位元轉換過程
208:經壓縮資料
300:媒體解碼器
302:高斯連續PDF
400:輸入圖像
402:圖像分析神經網路
404:超先驗編碼器神經網路
406:量化過程
408:熵編碼過程
410:位元串流1
412:熵解碼過程
414:學習的參數
416:量化過程
418:熵編碼過程
420:位元串流2
422:熵解碼過程
424:超先驗解碼器神經網路
426:圖像合成神經網路
428:輸出圖像
500:位元速率計算過程
502:碼向量計算過程
504:量化過程
506:算術編碼器
508:算術解碼器
510:解量化過程
600:位元速率計算過程
602:量化過程
603:碼陣列過程
604:量化過程
606:算術編碼器
608:算術解碼器
610:解量化過程
700:曲線
702:曲線
800:虛線
900:曲線圖
1000:曲線圖
1100:曲線圖
1200:熵圖
1300:曲線圖
1400:轉換過程
1401:位元速率計算過程
1402:量化過程
1404:量化過程
1406:算術編碼器
1408:算術解碼器
1410:解量化過程
1412:碼選擇過程
1414:碼陣列過程
1500:曲線圖
1600:碼選擇表
1700:圖
1800:碼向量選擇表
1900:冗餘度曲線
2000:圖形表示
2100:轉換過程
2101:位元速率計算過程
2102:量化過程
2104:量化過程
2106:算術編碼器
2108:算術解碼器
2110:解量化過程
2112:碼陣列過程
2200:圖形
2300:圖
2400:圖
2500:第一組實例
2600:第二組實例
2700:圖
2800:圖
2900:圖
3000:方塊
3002:方塊
3004:方塊
B:位元串流
N
b:位元數
q:資料元素
x:資料元素
σ:標準差
μ:均值
圖1是示出可以執行本揭示內容的技術的示例媒體編碼和解碼系統的方塊圖。
圖2示出習知媒體譯碼和基於神經的媒體譯碼的區別。
圖3示出高斯連續概率分佈函數的實例。
圖4是示出示例基於神經的圖像轉碼器的方塊圖。
圖5示出基於神經的熵譯碼的示例實施方式。
圖6示出具有量化的概率分佈函數參數的基於神經的熵譯碼的示例實施方式。
圖7示出針對不同碼向量的量化的概率分佈函數參數的冗餘度的示例量測。
圖8示出碼向量的非均勻指派的實例。
圖9示出根據位元速率的高斯標準差的分佈的實例。
圖10示出量化的隨機變數的示例熵。
圖11示出來自使用高斯標準差的均勻量化的示例平均相對冗餘度。
圖12示出在對數標度上的量化的隨機變數的示例熵。
圖13示出在對數標度上的量化的隨機變數的另一示例熵。
圖14示出另一示例基於神經的轉碼器的方塊圖。
圖15示出使用概率分佈函數參數的均勻量化的平均相對冗餘度的實例。
圖16示出用於將量化的概率分佈函數參數轉換為碼向量的示例代碼。
圖17示出使用概率分佈函數參數的均勻量化的相對冗餘度的實例。
圖18示出用於將經量化的概率分佈函數參數轉換為碼向量的另一示例代碼。
圖19示出根據本揭示內容的一個實例的示例相對冗餘度。
圖20示出概率分佈函數參數劃分的實例。
圖21示出另一示例基於神經的轉碼器的方塊圖。
圖22示出用於概率分佈函數參數的示例轉換函數。
圖23示出本揭示內容的轉換函數的示例輸出。
圖24示出使用本揭示內容的示例轉換函數的基於不同數量的碼向量的示例相對冗餘度量測。
圖25示出使用本揭示內容的另一示例轉換函數的基於不同數量的碼向量的示例相對冗餘度量測。
圖26示出使用本揭示內容的另一示例轉換函數的基於不同數量的碼向量的示例相對冗餘度量測。
圖27示出本揭示內容的示例轉換函數的導數。
圖28示出本揭示內容的示例轉換函數的相對誤差。
圖29示出使用本揭示內容的另一示例轉換函數的基於不同數量的碼向量的示例相對冗餘度量測。
圖30是示出本揭示內容的示例方法的流程圖。
國內寄存資訊(請依寄存機構、日期、號碼順序註記)
無
國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記)
無
2100:轉換過程
2101:位元速率計算過程
2102:量化過程
2104:量化過程
2106:算術編碼器
2108:算術解碼器
2110:解量化過程
2112:碼陣列過程
B:位元串流
Nb:位元數
q:資料元素
x:資料元素
σ:標準差
μ:均值
Claims (20)
- 一種對媒體資料進行譯碼的方法,該方法包括以下步驟: 決定用於由一基於神經的媒體壓縮技術譯碼的一資料串流的一資料元素的一概率分佈函數參數,其中該概率分佈函數參數基於針對量化而最佳化的該資料串流的一分佈; 基於該概率分佈函數參數來決定一碼向量;及 使用該碼向量對該資料元素進行熵譯碼。
- 如請求項1所述的方法,進一步包括以下步驟: 在決定該碼向量之前對該概率分佈函數參數進行量化。
- 如請求項1所述的方法,其中該概率分佈函數參數為 u,該概率分佈函數的該標準差為 σ,一最小標準差為 ,一最大標準差為 ,並且其中 u與 σ之間的該關係被定義為: ,其中 ,其中函數 T是根據量測譯碼冗餘度的一演算法來定義的或者藉由求解一常微分方程來定義的。
- 如請求項1所述的方法,其中該概率分佈函數參數是該資料串流的一概率分佈函數的一標準差的一函數。
- 如請求項1所述的方法,進一步包括以下步驟: 使用該基於神經的壓縮技術來產生該資料元素;及 對該資料元素進行量化以建立一經量化的資料元素, 其中使用該碼向量對該資料元素進行熵譯碼包括:使用該碼向量對該經量化的資料元素進行熵編碼。
- 如請求項5所述的方法,其中使用該基於神經的壓縮技術來產生該資料元素包括以下步驟: 使用一圖像分析神經網路來處理一圖像或視訊圖片以產生該資料元素。
- 如請求項6所述的方法,進一步包括以下步驟: 使用一相機來擷取該圖像或該視訊圖片。
- 如請求項1所述的方法,其中使用該碼向量對該資料元素進行熵譯碼包括以下步驟:使用該碼向量對一經編碼的資料元素進行熵解碼以建立一經量化的資料元素,該方法進一步包括以下步驟: 對該經量化的資料元素進行解量化以建立一重構的資料元素。
- 如請求項8所述的方法,進一步包括以下步驟: 使用一圖像合成神經網路來處理該重構的資料元素以重構一圖像或視訊圖片。
- 如請求項9所述的方法,進一步包括以下步驟: 顯示該圖像或該視訊圖片。
- 一種被配置為對媒體資料進行譯碼的裝置,該裝置包括: 一記憶體;及 一或多個處理器,其與該記憶體通訊,該一或多個處理器被配置為: 決定用於由一基於神經的媒體壓縮技術譯碼的一資料串流的一資料元素的一概率分佈函數參數,其中該概率分佈函數參數基於針對量化而最佳化的該資料串流的一分佈; 基於該概率分佈函數參數來決定一碼向量;及 使用該碼向量對該資料元素進行熵譯碼。
- 如請求項11所述的裝置,其中該一或多個處理器進一步被配置為: 在決定該碼向量之前對該概率分佈函數參數進行量化。
- 如請求項11所述的裝置,其中該概率分佈函數參數為 u,該概率分佈函數的標準差為 σ,一最小標準差為 ,一最大標準差為 ,並且其中 u與 σ之間的該關係被定義為: ,其中 ,其中函數 T是根據量測譯碼冗餘度的一演算法來定義的或者藉由求解一常微分方程來定義的。
- 如請求項11所述的裝置,其中該概率分佈函數參數是該資料串流的一概率分佈函數的一標準差的一函數。
- 如請求項11所述的裝置,其中該一或多個處理器進一步被配置為: 使用該基於神經的壓縮技術來產生該資料元素;及 對該資料元素進行量化以建立一經量化的資料元素, 其中使用該碼向量對該資料元素進行熵譯碼包括:使用該碼向量對該經量化的資料元素進行熵編碼。
- 如請求項15所述的裝置,其中為了使用該基於神經的壓縮技術來產生該資料元素,該一或多個處理器進一步被配置為: 使用一圖像分析神經網路來處理一圖像或視訊圖片以產生該資料元素。
- 如請求項16所述的裝置,進一步包括: 被配置為擷取該圖像或該視訊圖片的一相機。
- 如請求項11所述的裝置,其中使用該碼向量對該資料元素進行熵譯碼包括:使用該碼向量對一經編碼的資料元素進行熵解碼以建立一經量化的資料元素,並且其中該一或多個處理器進一步被配置為: 對該經量化的資料元素進行解量化以建立一重構的資料元素。
- 如請求項18所述的裝置,其中該一或多個處理器進一步被配置為: 使用一圖像合成神經網路來處理該重構的資料元素以重構一圖像或視訊圖片。
- 如請求項19所述的裝置,進一步包括: 被配置為顯示該圖像或該視訊圖片的一顯示器。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263267857P | 2022-02-11 | 2022-02-11 | |
US63/267,857 | 2022-02-11 | ||
US17/814,426 | 2022-07-22 | ||
US17/814,426 US11876969B2 (en) | 2022-02-11 | 2022-07-22 | Neural-network media compression using quantized entropy coding distribution parameters |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202335498A true TW202335498A (zh) | 2023-09-01 |
Family
ID=85278445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW112101937A TW202335498A (zh) | 2022-02-11 | 2023-01-17 | 使用量化熵譯碼分佈參數的神經網路媒體壓縮 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240121392A1 (zh) |
KR (1) | KR20240149891A (zh) |
TW (1) | TW202335498A (zh) |
WO (1) | WO2023154594A1 (zh) |
-
2023
- 2023-01-12 KR KR1020247026353A patent/KR20240149891A/ko unknown
- 2023-01-12 WO PCT/US2023/060543 patent/WO2023154594A1/en active Application Filing
- 2023-01-17 TW TW112101937A patent/TW202335498A/zh unknown
- 2023-12-08 US US18/534,073 patent/US20240121392A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20240149891A (ko) | 2024-10-15 |
US20240121392A1 (en) | 2024-04-11 |
WO2023154594A1 (en) | 2023-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111183647B (zh) | 用于解码视频数据的方法、装置和计算机可读媒体 | |
JP2013530610A (ja) | ランダムアクセス機能による画像圧縮方法 | |
JP7123910B2 (ja) | インデックスコーディング及びビットスケジューリングを備えた量子化器 | |
CN117480778A (zh) | 残差编码和视频编码方法、装置、设备和系统 | |
US20240242467A1 (en) | Video encoding and decoding method, encoder, decoder and storage medium | |
US20240129473A1 (en) | Probability estimation in multi-symbol entropy coding | |
US11876969B2 (en) | Neural-network media compression using quantized entropy coding distribution parameters | |
CN112715029A (zh) | Ai编码设备及其操作方法和ai解码设备及其操作方法 | |
Kabir et al. | Edge-based transformation and entropy coding for lossless image compression | |
WO2023202158A1 (zh) | 视频编码方法及装置 | |
WO2022258055A1 (zh) | 点云属性信息编码方法、解码方法、装置及相关设备 | |
TW202335498A (zh) | 使用量化熵譯碼分佈參數的神經網路媒體壓縮 | |
CN118633290A (zh) | 使用量化熵编解码分布参数的神经网络媒体压缩 | |
TW202349967A (zh) | 用於基於神經的媒體壓縮的熵譯碼 | |
Tola | Comparative study of compression functions in modern web programming languages | |
CN118872279A (zh) | 用于基于神经的媒体压缩的熵译码 | |
WO2023169303A1 (zh) | 编解码方法、装置、设备、存储介质及计算机程序产品 | |
US11546597B2 (en) | Block-based spatial activity measures for pictures | |
US20230082456A1 (en) | Point cloud attribute prediction method and apparatus, and related device | |
CN112188216B (zh) | 视频数据的编码方法、装置、计算机设备及存储介质 | |
WO2024207244A1 (zh) | 点云的编解码方法、码流、编码器、解码器以及存储介质 | |
CN115460182B (zh) | 编解码方法、装置、设备、存储介质及计算机程序 | |
US20240305785A1 (en) | Efficient warping-based neural video codec | |
WO2022116118A1 (zh) | 预测方法、编码器、解码器以及存储介质 | |
WO2024207247A1 (zh) | 点云的编解码方法、码流、编码器、解码器以及存储介质 |