TWI826160B - 圖像編解碼方法和裝置 - Google Patents
圖像編解碼方法和裝置 Download PDFInfo
- Publication number
- TWI826160B TWI826160B TW111146343A TW111146343A TWI826160B TW I826160 B TWI826160 B TW I826160B TW 111146343 A TW111146343 A TW 111146343A TW 111146343 A TW111146343 A TW 111146343A TW I826160 B TWI826160 B TW I826160B
- Authority
- TW
- Taiwan
- Prior art keywords
- image feature
- image
- feature
- point
- nonlinear
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 213
- 230000009466 transformation Effects 0.000 claims abstract description 190
- 238000012545 processing Methods 0.000 claims abstract description 178
- 230000008569 process Effects 0.000 claims description 129
- 238000012549 training Methods 0.000 claims description 81
- 238000013507 mapping Methods 0.000 claims description 34
- 238000004590 computer program Methods 0.000 claims description 2
- 238000007906 compression Methods 0.000 abstract description 42
- 230000006835 compression Effects 0.000 abstract description 41
- 238000004422 calculation algorithm Methods 0.000 abstract description 22
- 239000011159 matrix material Substances 0.000 description 67
- 230000006870 function Effects 0.000 description 55
- 238000010586 diagram Methods 0.000 description 46
- 238000013528 artificial neural network Methods 0.000 description 41
- 238000004891 communication Methods 0.000 description 32
- 238000013527 convolutional neural network Methods 0.000 description 23
- 238000012886 linear function Methods 0.000 description 23
- 238000011176 pooling Methods 0.000 description 19
- 230000007246 mechanism Effects 0.000 description 18
- 230000004044 response Effects 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 11
- 238000013135 deep learning Methods 0.000 description 11
- 230000001537 neural effect Effects 0.000 description 10
- 238000002474 experimental method Methods 0.000 description 9
- 239000000463 material Substances 0.000 description 9
- 210000002569 neuron Anatomy 0.000 description 9
- 238000012360 testing method Methods 0.000 description 9
- 239000013598 vector Substances 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 239000000872 buffer Substances 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 230000005055 memory storage Effects 0.000 description 5
- 238000012805 post-processing Methods 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 241000282472 Canis lupus familiaris Species 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 241000282414 Homo sapiens Species 0.000 description 1
- 238000012952 Resampling Methods 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 208000013409 limited attention Diseases 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
Abstract
本申請提供一種圖像編解碼方法和裝置。本申請圖像編碼方法,包括:獲取待處理的第一圖像特徵;對所述第一圖像特徵進行非線性變換處理得到經處理的圖像特徵,所述非線性變換處理依次包括第一非線性運算、卷積處理和逐點相乘運算;根據所述經處理的圖像特徵進行編碼得到碼流。本申請可以避免了對卷積參數的限定,從而實現編/解碼網路中的高效的非線性變換處理,進一步提升圖像/視頻壓縮演算法中的率失真性能。
Description
本申請涉及影像處理技術領域,尤其涉及圖像編解碼方法和裝置。
隨著卷積神經網路(convolution neural network,CNN)在圖像識別、目標檢測等電腦視覺任務中的表現遠超傳統演算法,越來越多的研究者開始探索基於深度學習的圖像/視頻壓縮方法。一些研究者設計出端到端的深度學習圖像/視頻壓縮演算法,例如,將編碼網路、熵估計網路、熵編碼網路、熵解碼網路、解碼網路等模組作為一個整體同時優化,其中,編碼網路和解碼網路也可稱為變換模組和逆變換模組,一般由卷積層和非線性變換單元組成。
非線性變換單元是圖像/視頻壓縮網路的基礎元件之一,其非線性特性的優劣直接影響了壓縮演算法的率失真性能。因此設計更高效的非線性變換單元是進一步提升圖像/視頻壓縮演算法中的率失真性能的關鍵。
本申請實施例提供一種圖像編解碼方法和裝置,可以實現編/解碼網路中的高效的非線性變換處理,進一步提升圖像/視頻壓縮演算法中的率失真性能。
第一方面,本申請實施例提供一種圖像編碼方法,包括:獲取待處理的第一圖像特徵;對所述第一圖像特徵進行非線性變換處理得到經處理的圖像特徵,所述非線性變換處理依次包括第一非線性運算、卷積處理和逐點相乘運算;根據所述經處理的圖像特徵進行編碼得到碼流。
第一圖像特徵是編碼端在獲取到待處理圖像後,對其進行從圖像域到特徵域的轉換後得到的,這裡的轉換可以包括但不限於:1、卷積處理,使用卷積層來進行提取特徵,具有局部感受野,權重共用機制(即每一個濾波器滑動處理輸入特徵)。2、使用MLP或全連接層提取特徵,具有全域感受野特性,權重不共用。3、變換器(Transformer)處理,其中包括矩陣相乘、MLP和歸一化處理,具有全域感受野特性,捕捉長距離依賴能力強。
在一種可能的實現方式中,對第一圖像特徵中的每個特徵值進行非線性運算得到第二圖像特徵;對第二圖像特徵進行卷積處理得到第三圖像特徵,第三圖像特徵中的多個特徵值和第一圖像特徵中的多個特徵值相對應;將第一圖像特徵和第三圖像特徵中相對應的多個特徵值進行逐點相乘運算得到經處理的圖像特徵。
第一非線性運算是針對上述第一圖像特徵中的每個特徵值進行的運算,可以包括取絕對值運算、線性整流函數(Rectified Linear Unit,ReLU)系列、Sigmoid、Tanh、分段線性(piecewise linear,PWL)運算等,其中線性整流函數又稱為修正線性單元。
經過第一非線性運算,第一圖像特徵轉換成第二圖像特徵,第二圖像特徵和第一圖像特徵可以表示成矩陣的形式,由於第一非線性運算是針對第一圖像特徵中的每個特徵值的,因此第一圖像特徵的每個特徵值在第二圖像特徵值中均有一個特徵值與其相對應,因此第二圖像特徵對應的矩陣和第一圖像特徵對應的矩陣的尺寸相同,且相同位置的特徵值(矩陣元素的值)相對應,例如,第一圖像特徵表示成3×3的矩陣,那麼第二圖像特徵也可以表示成3×3的矩陣,但由於第一圖像特徵和第二圖像特徵經過了第一非線性運算,因此第一圖像特徵和第二圖像特徵中的特徵值不完全相同,相應的,二者分別對應的矩陣中的元素值也不完全相同。
對第二圖像特徵進行卷積處理,輸出第三圖像特徵,第三圖像特徵可以認為是第二圖像特徵的局部回應(即校正後的值),即第三圖像特徵是第二圖像特徵經過卷積處理得到的回應信號,由於卷積處理的感受野是有限的,經卷積處理輸出的圖像特徵中的每個位置的回應值只和與該位置相鄰位置的輸入特徵值有關,因此稱為局部回應。
由此可見,經過上述非線性運算、卷積處理和逐點相乘運算實現了局部注意力機制,局部是指非線性運算是逐點進行的,輸入的各個特徵值只需要自身的特性即可得到輸出值,不用考慮周邊特徵值的影響;注意力機制是指,第一圖像特徵中的所有特徵值,有的是重要的,有的是冗餘的,卷積處理的輸出可以是圖像特徵中的各個特徵值的權重,可以對原特徵值進行修正,把重要的特徵值突出,把冗餘的特徵值抑制;逐點相乘運算利用前述局部資訊校正第一圖像特徵上每個特徵值的值,不必要求卷積參數必須是正數,避免了對卷積參數的取值空間的限定,可以在更廣闊的取值空間中得到更優的卷積參數,從而取得對圖像更好的壓縮性能。
在一種可能的實現方式中,非線性變換處理還包括在逐點相乘運算之後的逐點相加運算。
在一種可能的實現方式中,對第一圖像特徵中的每個特徵值進行非線性運算得到第二圖像特徵;對第二圖像特徵進行卷積處理得到第三圖像特徵,第三圖像特徵中的多個特徵值和第一圖像特徵中的多個特徵值相對應;將第一圖像特徵和第三圖像特徵中相對應的多個特徵值進行逐點相乘運算得到第四圖像特徵,第四圖像特徵中的多個特徵值和第一圖像特徵中的多個特徵值相對應;將第一圖像特徵和第四圖像特徵中相對應的多個特徵值進行逐點相加運算得到經處理的圖像特徵。
逐點相加運算是一個首位相加的殘差結構,可以使使用上述處理過程的編解碼網路在訓練時更容易收斂。卷積處理conv1(x)和卷積處理conv2(x)相似,區別在於卷積處理conv2(x)中的卷積的偏置參數β參數多加了1。這樣可以通過對卷積處理中的卷積中的偏置參數β的微調,實現上述兩種實施方式之間的轉換,即如果非線性變換單元中不包含逐點相加運算,則可以採用卷積處理conv1(x);如果非線性變換單元中包含逐點相加運算,則可以採用卷積處理conv2(x)。得到經處理的圖像特徵後,編碼側可以繼續對其進行卷積處理,也可以在卷積處理之後再次對卷積處理輸出的特徵進行非線性變換處理,然後再對前述處理的結果特徵進行編碼以得到碼流。
本申請實施例,通過對編碼網路中的非線性變換處理進行改變,可以使輸入的各個特徵值只需要自身的特性即可得到輸出值,不用考慮周邊特徵值的影響,並對原特徵值進行修正,把重要的特徵值突出,把冗餘的特徵值抑制,此外還可以校正第一圖像特徵上每個特徵值的值,避免了對卷積參數的限定,從而實現編碼網路中的高效的非線性變換處理,進一步提升圖像/視頻壓縮演算法的率失真性能。
非線性運算是針對上述第一圖像特徵中的每個特徵值進行的運算,可以包括採用分段線性映射方法,該方法可以是取絕對值(針對輸入的特徵值取其絕對值),也可以是修正線性單元(ReLU)或者洩漏修正線性單元(LeakyReLU),也可以是分段線性(PWL)運算。其中,ReLU是一種分段線性映射方法,針對輸入的特徵值,小於0的特徵值輸出為0,大於或等於0的特徵值恒等輸出。LeakyReLU是一種分段線性映射方法,其在ReLU的基礎上,將小於0的輸入特徵值用預先設定的權重進行縮放,權重通常為0.01;PWL運算也是一種分段線性映射方法,PWL運算中的分段數可以更多,其具體定義請參照下文實施例部分。除此以外,非線性運算還可以包括其它方法,例如sigmoid,本申請實施例對此不做具體限定。
在一種可能的實現方式中,上述非線性變換處理還包括在上述卷積處理和逐點相乘運算之間的第二非線性運算,第二非線性運算和第一非線性運算相同或不同。例如,第一非線性運算可以是取絕對值運算,第二非線性運算可以仍然是取絕對值運算,第二非線性運算也可以是其他分段線性映射方法或其他非線性運算;或者,第一非線性運算可以是ReLU,第二非線性運算可以仍然是ReLU,第二非線性運算也可以是Sigmoid或其他非線性運算; 或者,第一非線性運算可以是LeakyReLU,第二非線性運算可以仍然是LeakyReLU,第二非線性運算也可以是Tanh或其他非線性運算;或者,第一非線性運算可以是PWL,第二非線性運算可以仍然是PWL或其他非線性運算。當第二非線性運算使用PWL實現時,分段線性映射可以採用不同的分段數量;在各分段上的映射斜率可以通過訓練的方式或者直接指定的方式確定;對輸入特徵圖像的每個通道可以採用不同的分段線性函數,或者對所有通道都是用同一個分段線性函數,或者對若干個通道採用同一個分段線性函數進行處理。在這種實現方式下,模型訓練完畢之後,殘差結構不再與卷積融合,而是可與分段線性函數融合,即在原來的分段線性函數的輸出上+1,組合成一個新的分段線性函數。
在一種可能的實現方式中,還可以構建訓練階段的非線性變換單元,所述訓練階段的非線性變換單元包括非線性運算層、卷積處理層、逐點相乘運算層和逐點相加運算層;
根據預先獲取的訓練資料訓練得到經訓練的非線性變換單元,所述經訓練的非線性變換單元用於實現所述非線性變換處理。
第二方面,本申請實施例提供一種圖像解碼方法,包括:獲取待處理的第一圖像特徵;對所述第一圖像特徵進行非線性變換處理得到經處理的圖像特徵,所述非線性變換處理依次包括第一非線性運算、卷積處理和逐點相乘運算;根據所述經處理的圖像特徵獲取重建圖像。
在一種可能的實現方式中,所述對所述第一圖像特徵進行非線性變換處理得到經處理的圖像特徵,包括:對所述第一圖像特徵中的每個特徵值進行所述非線性運算得到第二圖像特徵;對所述第二圖像特徵進行卷積處理得到第三圖像特徵,所述第三圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第三圖像特徵中相對應的多個特徵值進行所述逐點相乘運算得到所述經處理的圖像特徵。
在一種可能的實現方式中,所述非線性變換處理還包括逐點相加運算。
在一種可能的實現方式中,所述對所述第一圖像特徵進行非線性變換處理得到經處理的圖像特徵,包括:對所述第一圖像特徵中的每個特徵值進行所述非線性運算得到第二圖像特徵;對所述第二圖像特徵進行卷積處理得到第三圖像特徵,所述第三圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第三圖像特徵中相對應的多個特徵值進行所述逐點相乘運算得到第四圖像特徵,所述第四圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第四圖像特徵中相對應的多個特徵值進行所述逐點相加運算得到所述經處理的圖像特徵。
在一種可能的實現方式中,所述第一非線性運算包括分段線性映射在另一種可能的實現方式中,所述第一非線性運算包括連續函數,例如Tanh,Sigmoid等。在另一種可能的實現方式中,所述第一非線性運算包括分段的非線性運算。
在一種可能的實現方式中,所述第二非線性運算包括分段線性映射,例如ReLU,LeakyReLU,PWL,Abs等。在另一種可能的實現方式中,所述第二非線性運算包括連續函數,例如Tanh,Sigmoid等。在另一種可能的實現方式中,所述第二非線性運算包括分段的非線性運算。
上述第二方面及其可能的實現方式中提供的圖像解碼方法的技術效果可以參考上述第一方面及其對應的可能的實現方式中提供的圖像編碼方法的技術效果,此處不再贅述。
協力廠商面,本申請實施例提供一種編碼裝置,包括:獲取模組,用於獲取待處理的第一圖像特徵;變換模組,用於對所述第一圖像特徵進行非線性變換處理得到經處理的圖像特徵,所述非線性變換處理依次包括第一非線性運算、卷積處理和逐點相乘運算;編碼模組,用於根據所述經處理的圖像特徵進行編碼得到碼流。
在一種可能的實現方式中,所述變換模組,具體用於對所述第一圖像特徵中的每個特徵值進行所述第一非線性運算得到第二圖像特徵;對所述第二圖像特徵進行所述卷積處理得到第三圖像特徵,所述第三圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第三圖像特徵中相對應的多個特徵值進行所述逐點相乘運算得到所述經處理的圖像特徵。
在一種可能的實現方式中,所述非線性變換處理還包括在所述逐點相乘運算之後的逐點相加運算。
在一種可能的實現方式中,所述變換模組,具體用於對所述第一圖像特徵中的每個特徵值進行所述第一非線性運算得到第二圖像特徵;對所述第二圖像特徵進行所述卷積處理得到第三圖像特徵,所述第三圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第三圖像特徵中相對應的多個特徵值進行所述逐點相乘運算得到第四圖像特徵,所述第四圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第四圖像特徵中相對應的多個特徵值進行所述逐點相加運算得到所述經處理的圖像特徵。
在一種可能的實現方式中,所述非線性變換處理還包括在所述卷積處理和所述逐點相乘運算之間的第二非線性運算,所述第二非線性運算和所述第一非線性運算相同或不同。例如,第一非線性運算可以是取絕對值運算,第二非線性運算可以仍然是取絕對值運算,第二非線性運算也可以是其他分段線性映射或其他非線性運算。
在一種可能的實現方式中,所述第一非線性運算包括分段線性映射,例如ReLU,LeakyReLU,PWL,Abs等。在另一種可能的實現方式中,所述第一非線性運算包括連續函數,例如Tanh,Sigmoid等。在另一種可能的實現方式中,所述第一非線性運算包括分段的非線性運算。
在一種可能的實現方式中,所述第二非線性運算包括分段線性映射,例如ReLU,LeakyReLU,PWL,Abs等。在另一種可能的實現方式中,所述第二非線性運算包括連續函數,例如Tanh,Sigmoid等。在另一種可能的實現方式中,所述第二非線性運算包括分段的非線性運算。
在一種可能的實現方式中,還包括:訓練模組,用於構建訓練階段的非線性變換單元,所述訓練階段的非線性變換單元包括第一非線性運算層、卷積處理層、逐點相乘運算層和逐點相加運算層;根據預先獲取的訓練資料訓練得到經訓練的非線性變換單元,所述經訓練的非線性變換單元用於實現所述非線性變換處理。
第四方面,本申請實施例提供一種解碼裝置,包括:獲取模組,用於獲取待處理的第一圖像特徵;變換模組,用於對所述第一圖像特徵進行非線性變換處理得到經處理的圖像特徵,所述非線性變換處理包括第一非線性運算、卷積處理和逐點相乘運算;重建模組,用於根據所述經處理的圖像特徵獲取重建圖像。
在一種可能的實現方式中,所述變換模組,具體用於對所述第一圖像特徵中的每個特徵值進行所述第一非線性運算得到第二圖像特徵;對所述第二圖像特徵進行所述卷積處理得到第三圖像特徵,所述第三圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第三圖像特徵中相對應的多個特徵值進行所述逐點相乘運算得到所述經處理的圖像特徵。
在一種可能的實現方式中,所述非線性變換處理還包括在所述逐點相乘運算之後的逐點相加運算。
在一種可能的實現方式中,所述變換模組,具體用於對所述第一圖像特徵中的每個特徵值進行所述第一非線性運算得到第二圖像特徵;對所述第二圖像特徵進行所述卷積處理得到第三圖像特徵,所述第三圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第三圖像特徵中相對應的多個特徵值進行所述逐點相乘運算得到第四圖像特徵,所述第四圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第四圖像特徵中相對應的多個特徵值進行所述逐點相加運算得到所述經處理的圖像特徵。
在一種可能的實現方式中,所述非線性變換處理還包括在所述卷積處理和所述逐點相乘運算之間的第二非線性運算,所述第二非線性運算和所述第一非線性運算相同或不同。
在一種可能的實現方式中,所述第一非線性運算包括Sigmoid、Tanh或者分段線性映射。上述第二非線性運算包括Sigmoid、Tanh或者分段線性映射。
在一種可能的實現方式中,所述第一非線性運算包括分段線性映射,例如ReLU,LeakyReLU,PWL,Abs等。在另一種可能的實現方式中,所述第一非線性運算包括連續函數,例如Tanh,Sigmoid等。在另一種可能的實現方式中,所述第一非線性運算包括分段的非線性運算。
在一種可能的實現方式中,所述第二非線性運算包括分段線性映射,例如ReLU,LeakyReLU,PWL,Abs等。在另一種可能的實現方式中,所述第二非線性運算包括連續函數,例如Tanh,Sigmoid等。在另一種可能的實現方式中,所述第二非線性運算包括分段的非線性運算。
在一種可能的實現方式中,還包括:訓練模組,用於構建訓練階段的非線性變換單元,所述訓練階段的非線性變換單元包括第一非線性運算層、卷積處理層、逐點相乘運算層和逐點相加運算層;根據預先獲取的訓練資料訓練得到經訓練的非線性變換單元,所述經訓練的非線性變換單元用於實現所述非線性變換處理。
第五方面,本申請實施例提供一種編碼器,包括:一個或多個處理器;非暫態電腦可讀取記錄媒體,耦合到所述處理器並儲存由所述處理器執行的程式,其中所述程式在由所述處理器執行時,使得所述解碼器執行上述第一方面中任一項所述的方法。
第六方面,本申請實施例提供一種解碼器,包括:一個或多個處理器;非暫態電腦可讀取記錄媒體,耦合到所述處理器並儲存由所述處理器執行的程式,其中所述程式在由所述處理器執行時,使得所述解碼器執行上述第二方面中任一項所述的方法。
第七方面,本申請實施例提供一種包括程式碼的電腦程式產品,當所述程式碼在電腦或處理器上執行時,用於執行上述第一至二方面中任一項所述的方法。
第八方面,本申請實施例提供一種電腦可讀存儲介質,包括指令,當其在電腦上運行時,使得電腦執行上述第一至二方面中任一項所述的方法。
第九方面,本申請實施例提供一種碼流,該碼流由處理器執行第一方面任一項所述的方法所生成。
第十方面,本申請實施例提供一種儲存碼流的裝置,該裝置包括:接收器和至少一個儲存介質,接收器用於接收碼流;至少一個存儲介質用於儲存碼流;碼流為根據第一方面任一項所述的方法生成的碼流。
第十一方面,本申請實施例提供一種傳輸碼流的裝置,該裝置包括:發送器和至少一個儲存介質,至少一個儲存介質用於儲存碼流,碼流包括處理器根據第一方面的任一項所述的方法生成的碼流;發送器用於將碼流發送給其他電子設備。
第十二方面,本申請實施例提供一種分發碼流的系統,該系統包括:至少一個儲存介質和流媒體設備,至少一個儲存介質用於儲存至少一個碼流,至少一個碼流包括根據第一方面的任意一種實現方式生成的碼流;流媒體設備用於從至少一個儲存介質中獲取目的碼流,並將目的碼流發送給端側設備,其中,流媒體設備包括內容伺服器或內容分佈伺服器。
第十三方面,本申請實施例提供一種分發碼流的系統,該系統包括:通信介面,用於接收使用者獲取目的碼流的請求;處理器,用於回應於用戶請求,確定目的碼流的儲存位置;通信介面還用於將目的碼流的儲存位置發送給使用者,以使得使用者從目的碼流的儲存位置獲取目的碼流,其中,目的碼流由處理器執行第一方面任一項所述的方法所生成。
為使本申請的目的、技術方案和優點更加清楚,下面將結合本申請中的附圖,對本申請中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本申請一部分實施例,而不是全部的實施例。基於本申請中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本申請保護的範圍。
本申請的說明書實施例和申請專利範圍及附圖中的術語「第一」、「第二」等僅用於區分描述的目的,而不能理解為指示或暗示相對重要性,也不能理解為指示或暗示順序。此外,術語「包括」和「具有」以及他們的任何變形,意圖在於覆蓋不排他的包含,例如,包含了一系列步驟或單元。方法、系統、產品或設備不必限於清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對於這些過程、方法、產品或設備固有的其它步驟或單元。
應當理解,在本申請中,「至少一個(項)」是指一個或者多個,「多個」是指兩個或兩個以上。「和/或」,用於描述關聯物件的關聯關係,表示可以存在三種關係,例如,「A和/或B」可以表示:只存在A,只存在B以及同時存在A和B三種情況,其中A,B可以是單數或者複數。字元「/」一般表示前後關聯物件是一種「或」的關係。「以下至少一項(個)」或其類似表達,是指這些項中的任意組合,包括單項(個)或複數項(個)的任意組合。例如,a,b或c中的至少一項(個),可以表示:a,b,c,「a和b」,「a和c」,「b和c」,或「a和b和c」,其中a,b,c可以是單個,也可以是多個。
以下是本申請實施例涉及到的術語說明:
1、碼率:在圖像壓縮中,編碼單位像素所需要的平均編碼長度。
2、率失真性能:用於衡量壓縮演算法性能的指標,綜合考慮了碼率和解碼圖像失真度兩項資料。
3、注意力機制:利用有限的注意力資源從大量資訊中篩選出高價值資訊的手段。可以使神經網路更多關注輸入中的相關部分,更少關注不相關的部分。
4、殘差結構:神經網路中的一種常用連接結構,計算方式可表示為H(x) = x + f(x)。該結構可防止網路深度增加時可能出現的梯度消失和梯度爆炸問題。
5、非線性變換單元:包含非線性運算(例如,ReLU、Sigmoid、Tanh等運算)的網路單元,該單元的整體計算方式不符合線性特性。
由於本申請實施例涉及神經網路的應用,為了便於理解,下面先對本申請實施例所使用到的相關名詞或術語進行解釋說明:
1、神經網路
神經網路(neural network,NN)是機器學習模型,神經網路可以是由神經單元組成的,神經單元可以是指以xs和截距1為輸入的運算單元,該運算單元的輸出可以為:
(1-1)
其中,s=1、2、……n,n為大於1的自然數,Ws為xs的權重,b為神經單元的偏置。f為神經單元的啟動函數(activation functions),用於將非線性特性引入神經網路中,來將神經單元中的輸入信號轉換為輸出信號。該啟動函數的輸出信號可以作為下一層卷積層的輸入。啟動函數可以是ReLU等非線性函數。神經網路是將許多個上述單一的神經單元聯結在一起形成的網路,即一個神經單元的輸出可以是另一個神經單元的輸入。每個神經單元的輸入可以與前一層的局部感受野(local receptive field)相連,來提取局部感受野的特徵,局部感受野可以是由若干個神經單元組成的區域。
2、多層感知器(multi-layer perception,MLP)
MLP是一種簡單的深度神經網路(deep neural network,DNN)(不同層之間是全連接的),也稱多層神經網路,可以理解為具有很多層隱含層的神經網路,這裡的「很多」並沒有特別的度量標準。從DNN按不同層的位置劃分,DNN內部的神經網路可以分為三類:輸入層,隱含層,輸出層。一般來說第一層是輸入層,最後一層是輸出層,中間的層數都是隱含層。層與層之間是全連接的,也就是說,第i層的任意一個神經元一定與第i+1層的任意一個神經元相連。雖然DNN看起來很複雜,但是就每一層的工作來說,其實並不複雜,簡單來說就是如下線性關聯運算式:
,其中,
是輸入向量,
是輸出向量,
是偏移向量,W是權重矩陣(也稱係數),
是啟動函數。每一層僅僅是對輸入向量
經過如此簡單的操作得到輸出向量
。由於DNN層數多,則係數W和偏移向量
的數量也就很多了。這些參數在DNN中的定義如下所述:以係數W為例:假設在一個三層的DNN中,第二層的第4個神經元到第三層的第2個神經元的線性係數定義為
。上標3代表係數W所在的層數,而下標對應的是輸出的第三層索引2和輸入的第二層索引4。總結就是:第L−1層的第k個神經元到第L層的第j個神經元的係數定義為
。需要注意的是,輸入層是沒有W參數的。在深度神經網路中,更多的隱含層讓網路更能夠刻畫現實世界中的複雜情形。理論上而言,參數越多的模型複雜度越高,「容量」也就越大,也就意味著它能完成更複雜的學習任務。訓練深度神經網路的也就是學習權重矩陣的過程,其最終目的是得到訓練好的深度神經網路的所有層的權重矩陣(由很多層的向量W形成的權重矩陣)。
3、卷積神經網路
卷積神經網路(convolutional neuron network,CNN)是一種帶有卷積結構的深度神經網路,是一種深度學習(deep learning)架構,深度學習架構是指通過機器學習的演算法,在不同的抽象層級上進行多個層次的學習。作為一種深度學習架構,CNN是一種前饋(feed-forward)人工神經網路,該前饋人工神經網路中的各個神經元可以對輸入其中的圖像作出回應。卷積神經網路包含了一個由卷積層和池化層構成的特徵抽取器。該特徵抽取器可以看作是濾波器,卷積過程可以看作是使用一個可訓練的濾波器與一個輸入的圖像或者卷積特徵平面(feature map)做卷積。
卷積層是指卷積神經網路中對輸入信號進行卷積處理的神經元層。卷積層可以包括很多個卷積運算元,卷積運算元也稱為核,其在影像處理中的作用相當於一個從輸入圖像矩陣中提取特定資訊的篩檢程式,卷積運算元本質上可以是一個權重矩陣,這個權重矩陣通常被預先定義,在對圖像進行卷積操作的過程中,權重矩陣通常在輸入圖像上沿著水準方向一個像素接著一個像素(或兩個像素接著兩個像素……這取決於步長stride的取值)的進行處理,從而完成從圖像中提取特定特徵的工作。該權重矩陣的大小應該與圖像的大小相關,需要注意的是,權重矩陣的縱深維度(depth dimension)和輸入圖像的縱深維度是相同的,在進行卷積運算的過程中,權重矩陣會延伸到輸入圖像的整個深度。因此,和一個單一的權重矩陣進行卷積會產生一個單一縱深維度的卷積化輸出,但是大多數情況下不使用單一權重矩陣,而是應用多個尺寸(行×列)相同的權重矩陣,即多個同型矩陣。每個權重矩陣的輸出被堆疊起來形成卷積圖像的縱深維度,這裡的維度可以理解為由上面所述的「多個」來決定。不同的權重矩陣可以用來提取圖像中不同的特徵,例如一個權重矩陣用來提取圖像邊緣資訊,另一個權重矩陣用來提取圖像的特定顏色,又一個權重矩陣用來對圖像中不需要的噪點進行模糊化等。該多個權重矩陣尺寸(行×列)相同,經過該多個尺寸相同的權重矩陣提取後的特徵圖的尺寸也相同,再將提取到的多個尺寸相同的特徵圖合併形成卷積運算的輸出。這些權重矩陣中的權重值在實際應用中需要經過大量的訓練得到,通過訓練得到的權重值形成的各個權重矩陣可以用來從輸入圖像中提取資訊,從而使得卷積神經網路進行正確的預測。當卷積神經網路有多個卷積層的時候,初始的卷積層往往提取較多的一般特徵,該一般特徵也可以稱之為低級別的特徵;隨著卷積神經網路深度的加深,越往後的卷積層提取到的特徵越來越複雜,比如高級別的語義之類的特徵,語義越高的特徵越適用於待解決的問題。
由於常常需要減少訓練參數的數量,因此卷積層之後常常需要週期性的引入池化層,可以是一層卷積層後面跟一層池化層,也可以是多層卷積層後面接一層或多層池化層。在影像處理過程中,池化層的唯一目的就是減少圖像的空間大小。池化層可以包括平均池化運算元和/或最大池化運算元,以用於對輸入圖像進行採樣得到較小尺寸的圖像。平均池化運算元可以在特定範圍內對圖像中的像素值進行計算產生平均值作為平均池化的結果。最大池化運算元可以在特定範圍內取該範圍內值最大的像素作為最大池化的結果。另外,就像卷積層中用權重矩陣的大小應該與圖像尺寸相關一樣,池化層中的運算子也應該與圖像的大小相關。通過池化層處理後輸出的圖像尺寸可以小於輸入池化層的圖像的尺寸,池化層輸出的圖像中每個像素點表示輸入池化層的圖像的對應子區域的平均值或最大值。
在經過卷積層/池化層的處理後,卷積神經網路還不足以輸出所需要的輸出資訊。因為如前所述,卷積層/池化層只會提取特徵,並減少輸入圖像帶來的參數。然而為了生成最終的輸出資訊(所需要的類資訊或其他相關資訊),卷積神經網路需要利用神經網路層來生成一個或者一組所需要的類的數量的輸出。因此,在神經網路層中可以包括多層隱含層,該多層隱含層中所包含的參數可以根據具體的任務類型的相關訓練資料進行預先訓練得到,例如該任務類型可以包括圖像識別,圖像分類,圖像超解析度重建等等。
可選的,在神經網路層中的多層隱含層之後,還包括整個卷積神經網路的輸出層,該輸出層具有類似分類交叉熵的損失函數,具體用於計算預測誤差,一旦整個卷積神經網路的前向傳播完成,反向傳播就會開始更新前面提到的各層的權重值以及偏差,以減少卷積神經網路的損失,及卷積神經網路通過輸出層輸出的結果和理想結果之間的誤差。
4、循環神經網路
循環神經網路(recurrent neural networks,RNN)是用來處理序列資料的。在傳統的神經網路模型中,是從輸入層到隱含層再到輸出層,層與層之間是全連接的,而對於每一層層內之間的各個節點是不需連線的。這種普通的神經網路雖然解決了很多難題,但是卻仍然對很多問題卻無能無力。例如,你要預測句子的下一個單詞是什麼,一般需要用到前面的單詞,因為一個句子中前後單詞並不是獨立的。RNN之所以稱為循環神經網路,即一個序列當前的輸出與前面的輸出也有關。具體的表現形式為網路會對前面的資訊進行記憶並應用於當前輸出的計算中,即隱含層本層之間的節點不再無連接而是有連接的,並且隱含層的輸入不僅包括輸入層的輸出還包括上一時刻隱含層的輸出。理論上,RNN能夠對任何長度的序列資料進行處理。對於RNN的訓練和對傳統的CNN或DNN的訓練一樣。同樣使用誤差反向傳播演算法,不過有一點區別:即,如果將RNN進行網路展開,那麼其中的參數,如W,是共用的;而如上舉例上述的傳統神經網路卻不是這樣。並且在使用梯度下降演算法中,每一步的輸出不僅依賴當前步的網路,還依賴前面若干步網路的狀態。該學習演算法稱為基於時間的反向傳播演算法(Back propagation Through Time,BPTT)。
既然已經有了卷積神經網路,為什麼還要循環神經網路?原因很簡單,在卷積神經網路中,有一個前提假設是:元素之間是相互獨立的,輸入與輸出也是獨立的,比如貓和狗。但現實世界中,很多元素都是相互連接的,比如股票隨時間的變化,再比如一個人說了:我喜歡旅遊,其中最喜歡的地方是雲南,以後有機會一定要去。這裡填空,人類應該都知道是填「雲南」。因為人類會根據上下文的內容進行推斷,但如何讓機器做到這一步?RNN就應運而生了。RNN旨在讓機器像人一樣擁有記憶的能力。因此,RNN的輸出就需要依賴當前的輸入資訊和歷史的記憶資訊。
5、損失函數
在訓練深度神經網路的過程中,因為希望深度神經網路的輸出盡可能的接近真正想要預測的值,所以可以通過比較當前網路的預測值和真正想要的目標值,再根據兩者之間的差異情況來更新每一層神經網路的權重向量(當然,在第一次更新之前通常會有初始化的過程,即為深度神經網路中的各層預先配置參數),比如,如果網路的預測值高了,就調整權重向量讓它預測低一些,不斷的調整,直到深度神經網路能夠預測出真正想要的目標值或與真正想要的目標值非常接近的值。因此,就需要預先定義「如何比較預測值和目標值之間的差異」,這便是損失函數(loss function)或目標函數(objective function),它們是用於衡量預測值和目標值的差異的重要方程。其中,以損失函數舉例,損失函數的輸出值(loss)越高表示差異越大,那麼深度神經網路的訓練就變成了盡可能縮小這個loss的過程。
6、反向傳播演算法
卷積神經網路可以採用誤差反向傳播(back propagation,BP)演算法在訓練過程中修正初始的超解析度模型中參數的大小,使得超解析度模型的重建誤差損失越來越小。具體地,前向傳遞輸入信號直至輸出會產生誤差損失,通過反向傳播誤差損失資訊來更新初始的超解析度模型中參數,從而使誤差損失收斂。反向傳播演算法是以誤差損失為主導的反向傳播運動,旨在得到最優的超解析度模型的參數,例如權重矩陣。
7、生成式對抗網路
生成式對抗網路(generative adversarial networks,GAN)是一種深度學習模型。該模型中至少包括兩個模組:一個模組是生成模型(Generative Model),另一個模組是判別模型(Discriminative Model),通過這兩個模組互相博弈學習,從而產生更好的輸出。生成模型和判別模型都可以是神經網路,具體可以是深度神經網路,或者卷積神經網路。GAN的基本原理如下:以生成圖片的GAN為例,假設有兩個網路,G(Generator)和D(Discriminator),其中G是一個生成圖片的網路,它接收一個隨機的雜訊z,通過這個雜訊生成圖片,記做G(z);D是一個判別網路,用於判別一張圖片是不是「真實的」。它的輸入參數是x,x代表一張圖片,輸出D(x)代表x為真實圖片的概率,如果為1,就代表130%是真實的圖片,如果為0,就代表不可能是真實的圖片。在對該生成式對抗網路進行訓練的過程中,生成網路G的目標就是盡可能生成真實的圖片去欺騙判別網路D,而判別網路D的目標就是儘量把G生成的圖片和真實的圖片區分開來。這樣,G和D就構成了一個動態的「博弈」過程,也即「生成式對抗網路」中的「對抗」。最後博弈的結果,在理想的狀態下,G可以生成足以「以假亂真」的圖片G(z),而D難以判定G生成的圖片究竟是不是真實的,即D(G(z))=0.5。這樣就得到了一個優異的生成模型G,它可以用來生成圖片。
隨著卷積神經網路(convolution neural network,CNN)在圖像識別、目標檢測等電腦視覺任務中的表現遠超傳統演算法,越來越多的研究者開始探索基於深度學習的圖像/視頻壓縮方法。一些研究者設計出端到端的深度學習圖像/視頻壓縮演算法,例如,將編碼網路、熵估計網路、熵編碼網路、熵解碼網路、解碼網路等模組作為一個整體同時優化,其中,編碼網路和解碼網路也可稱為變換模組和逆變換模組,一般由卷積層和非線性變換單元組成。
圖1A為示例性解碼系統10的示意性框圖,例如可以利用本申請技術的視頻解碼系統10(或簡稱為解碼系統10)。視頻解碼系統10中的視頻編碼器20(或簡稱為編碼器20)和視頻解碼器30(或簡稱為解碼器30)代表可用於根據本申請中描述的各種示例執行各技術的設備等。
如圖1A所示,解碼系統10包括源設備12,源設備12用於將編碼圖像等編碼圖像資料21提供給用於對編碼圖像資料21進行解碼的目的設備14。
源設備12包括編碼器20,另外即可選地,可包括圖像源16、圖像前置處理器等前置處理器(或預處理單元)18、通信介面(或通信單元)22。
圖像源16可包括或可以為任意類型的用於捕獲現實世界圖像等的圖像擷取裝置,和/或任意類型的圖像生成設備,例如用於生成電腦動畫圖像的電腦圖形處理器或任意類型的用於獲取和/或提供現實世界圖像、電腦生成圖像(例如,螢幕內容、虛擬實境(virtual reality,VR)圖像和/或其任意組合(例如增強現實(augmented reality,AR)圖像)的設備。所述圖像源可以為儲存上述圖像中的任意圖像的任意類型的記憶體或儲存器。
為了區分前置處理器(或預處理單元)18執行的處理,圖像(或圖像資料)17也可稱為原始圖像(或原始圖像資料)17。
前置處理器18用於接收(原始)圖像資料17,並對圖像資料17進行預處理,得到預處理圖像(或預處理圖像資料)19。例如,前置處理器18執行的預處理可包括修剪、顏色格式轉換(例如從RGB轉換為YCbCr)、調色或去噪。可以理解的是,預處理單元18可以為可選組件。
視頻轉碼器(或編碼器)20用於接收預處理圖像資料19並提供編碼圖像資料21(下面將根據圖2等進一步描述)。
源設備12中的通信介面22可用於:接收編碼圖像資料21並通過通信通道13向目的設備14等另一設備或任何其它設備發送編碼圖像資料21(或其它任意處理後的版本),以便儲存或直接重建。
目的設備14包括解碼器30,另外即可選地,可包括通信介面(或通信單元)28、後處理器(或後處理單元)32和顯示裝置34。
目的設備14中的通信介面28用於直接從源設備12或從存放裝置等任意其它源設備接收編碼圖像資料21(或其它任意處理後的版本),例如,存放裝置為編碼圖像資料存放裝置,並將編碼圖像資料21提供給解碼器30。
通信介面22和通信介面28可用於通過源設備12與目的設備14之間的直連通信鏈路,例如直接有線或無線連接等,或者通過任意類型的網路,例如有線網路、無線網路或其任意組合、任意類型的內網和外網或其任意類型的組合,發送或接收編碼圖像資料(或編碼資料)21。
例如,通信介面22可用於將編碼圖像資料21封裝為信文等合適的格式,和/或使用任意類型的傳輸編碼或處理來處理所述編碼後的圖像資料,以便在通信鏈路或通信網路上進行傳輸。
通信介面28與通信介面22對應,例如,可用於接收傳輸資料,並使用任意類型的對應傳輸解碼或處理和/或解封裝對傳輸資料進行處理,得到編碼圖像資料21。
通信介面22和通信介面28均可配置為如圖1A中從源設備12指向目的設備14的對應通信通道13的箭頭所指示的單向通信介面,或雙向通信介面,並且可用於發送和接收消息等,以建立連接,確認並交換與通信鏈路和/或例如編碼後的圖像資料傳輸等資料傳輸相關的任何其它資訊,等等。
視頻解碼器(或解碼器)30用於接收編碼圖像資料21並提供解碼圖像資料(或解碼圖像資料)31(下面將根據圖3等進一步描述)。
後處理器32用於對解碼後的圖像等解碼圖像資料31(也稱為重建後的圖像資料)進行後處理,得到後處理後的圖像等後處理圖像資料33。後處理單元32執行的後處理可以包括例如顏色格式轉換(例如從YCbCr轉換為RGB)、調色、修剪或重採樣,或者用於產生供顯示裝置34等顯示的解碼圖像資料31等任何其它處理。
顯示裝置34用於接收後處理圖像資料33,以向使用者或觀看者等顯示圖像。顯示裝置34可以為或包括任意類型的用於表示重建後圖像的顯示器,例如,集成或外部顯示幕或顯示器。例如,顯示幕可包括液晶顯示器(liquid crystal display,LCD)、有機發光二極體(organic light emitting diode,OLED)顯示器、等離子顯示器、投影儀、微型LED顯示器、矽基液晶顯示器(liquid crystal on silicon,LCoS)、數位光處理器(digital light processor,DLP)或任意類型的其它顯示幕。
解碼系統10還包括訓練引擎25,訓練引擎25用於訓練編碼器20或解碼器30以實現圖像域和特徵域的轉換。
本申請實施例中訓練資料可以存入資料庫(未示意)中,訓練引擎25基於訓練資料訓練得到編/解碼網路。需要說明的是,本申請實施例對於訓練資料的來源不做限定,例如可以是從雲端或其他地方獲取訓練資料進行模型訓練。
儘管圖1A示出了源設備12和目的設備14作為獨立的設備,但設備實施例也可以同時包括源設備12和目的設備14或同時包括源設備12和目的設備14的功能,即同時包括源設備12或對應功能和目的設備14或對應功能。在這些實施例中,源設備12或對應功能和目的設備14或對應功能可以使用相同硬體和/或軟體或通過單獨的硬體和/或軟體或其任意組合來實現。
根據描述,圖1A所示的源設備12和/或目的設備14中的不同單元或功能的存在和(準確)劃分可能根據實際設備和應用而有所不同,這對技術人員來說是顯而易見的。
編碼器20(例如視頻編碼器20)或解碼器30(例如視頻解碼器30)或兩者都可通過如圖1B所示的處理電路實現,例如一個或多個微處理器、數位訊號處理器(digital signal processor,DSP)、特殊應用積體電路(application-specific integrated circuit,ASIC)、現場可程式化邏輯閘陣列(field-programmable gate array,FPGA)、離散邏輯、硬體、視頻編碼專用處理器或其任意組合。編碼器20可以通過處理電路46實現,以包含參照圖2編碼器20論述的各種模組和/或本文描述的任何其它編碼器系統或子系統。解碼器30可以通過處理電路46實現,以包含參照圖3解碼器30論述的各種模組和/或本文描述的任何其它解碼器系統或子系統。所述處理電路46可用於執行下文論述的各種操作。如圖8所示,如果部分技術在軟體中實施,則設備可以將軟體的指令儲存在合適的非暫態性電腦可讀存儲介質中,並且使用一個或多個處理器在硬體中執行指令,從而執行本發明技術。視頻編碼器20和視頻解碼器30中的其中一個可作為組合編碼器(encoder/decoder,CODEC)的一部分集成在單個設備中,如圖1B所示。
源設備12和目的設備14可包括各種設備中的任一種,包括任意類型的手持設備或固定設備,例如,筆記型電腦或膝上型電腦、手機、智慧手機、平板或平板電腦、相機、桌上型電腦、機上盒、電視機、顯示裝置、數位媒體播放機、視頻遊戲控制台、視頻流設備(例如,內容業務伺服器或內容分佈伺服器)、廣播接收設備、廣播發射設備,等等,並可以不使用或使用任意類型的作業系統。在一些情況下,源設備12和目的設備14可配備用於無線通訊的組件。因此,源設備12和目的設備14可以是無線通訊設備。
在一些情況下,圖1A所示的視頻解碼系統10僅僅是示例性的,本申請提供的技術可適用於視頻編碼設置(例如,視頻編碼或視頻解碼),這些設置不一定包括編碼設備與解碼設備之間的任何資料通信。在其它示例中,資料從本機存放區器中檢索,通過網路發送,等等。視頻編碼設備可以對資料進行編碼並將資料儲存到記憶體中,和/或視頻解碼設備可以從記憶體中檢索資料並對資料進行解碼。在一些示例中,編碼和解碼由相互不通信而只是編碼資料到記憶體和/或從記憶體中檢索並解碼資料的設備來執行。
圖1B是視頻解碼系統40的實例的說明圖。視頻解碼系統40可以包含成像設備41、視頻編碼器20、視頻解碼器30(和/或藉由處理電路46實施的視頻編/解碼器)、天線42、一個或多個處理器43、一個或多個記憶體儲存器44和/或顯示裝置45。
如圖1B所示,成像設備41、天線42、處理電路46、視頻編碼器20、視頻解碼器30、處理器43、記憶體儲存器44和/或顯示裝置45能夠互相通信。在不同實例中,視頻解碼系統40可以只包含視頻編碼器20或只包含視頻解碼器30。
在一些實例中,天線42可以用於傳輸或接收視頻資料的經編碼位元流。另外,在一些實例中,顯示裝置45可以用於呈現視頻資料。處理電路46可以包含專用積體電路(application-specific integrated circuit,ASIC)邏輯、圖形處理器、通用處理器等。視頻解碼系統40也可以包含可選的處理器43,該可選處理器43類似地可以包含專用積體電路(application-specific integrated circuit,ASIC)邏輯、圖形處理器、通用處理器等。另外,記憶體儲存器44可以是任何類型的記憶體,例如易失性記憶體(例如,靜態隨機存取記憶體(static random access memory,SRAM)、動態隨機記憶體(dynamic random access memory,DRAM)等)或非易失性記憶體(例如,快閃記憶體等)等。在非限制性實例中,記憶體儲存器44可以由超速緩存記憶體實施。在其它實例中,處理電路46可以包含記憶體(例如,緩存等)用於實施圖像緩衝器等。
在一些實例中,通過邏輯電路實施的視頻編碼器20可以包含(例如,通過處理電路46或記憶體儲存器44實施的)圖像緩衝器和(例如,通過處理電路46實施的)圖形處理單元。圖形處理單元可以通信耦合至圖像緩衝器。圖形處理單元可以包含通過處理電路46實施的視頻編碼器20,以實施參照圖2和/或本文中所描述的任何其它編碼器系統或子系統所論述的各種模組。邏輯電路可以用於執行本文所論述的各種操作。
在一些實例中,視頻解碼器30可以以類似方式通過處理電路46實施,以實施參照圖3的視頻解碼器30和/或本文中所描述的任何其它解碼器系統或子系統所論述的各種模組。在一些實例中,邏輯電路實施的視頻解碼器30可以包含(通過處理電路46或記憶體儲存器44實施的)圖像緩衝器和(例如,通過處理電路46實施的)圖形處理單元。圖形處理單元可以通信耦合至圖像緩衝器。圖形處理單元可以包含通過處理電路46實施的視頻解碼器30,以實施參照圖3和/或本文中所描述的任何其它解碼器系統或子系統所論述的各種模組。
在一些實例中,天線42可以用於接收視頻資料的經編碼位元流。如所論述,經編碼位元流可以包含本文所論述的與編碼視頻幀相關的資料、指示符、索引值、模式選擇資料等,例如與編碼分割相關的資料(例如,變換係數或經量化變換係數,(如所論述的)可選指示符,和/或定義編碼分割的資料)。視頻解碼系統40還可包含耦合至天線42並用於解碼經編碼位元流的視頻解碼器30。顯示裝置45用於呈現視頻幀。
應理解,本申請實施例中對於參考視頻編碼器20所描述的實例,視頻解碼器30可以用於執行相反過程。關於信令語法元素,視頻解碼器30可以用於接收並解析這種語法元素,相應地解碼相關視頻資料。在一些例子中,視頻編碼器20可以將語法元素熵編碼成經編碼視頻位元流。在此類實例中,視頻解碼器30可以解析這種語法元素,並相應地解碼相關視頻資料。
為便於描述,參考通用視頻編碼(Versatile video coding,VVC)參考軟體或由ITU-T視頻編碼專家組(Video Coding Experts Group,VCEG)和ISO/IEC運動圖像專家組(Motion Picture Experts Group,MPEG)的視頻編碼聯合工作組(Joint Collaboration Team on Video Coding,JCT-VC)開發的高性能視頻編碼(High-Efficiency Video Coding,HEVC)描述本發明實施例。本領域普通技術人員理解本發明實施例不限於HEVC或VVC。
圖2為本發明實施例提供的視頻解碼設備400的示意圖。視頻解碼設備400適用於實現本文描述的公開實施例。在一個實施例中,視頻解碼設備400可以是解碼器,例如圖1A中的視頻解碼器30,也可以是編碼器,例如圖1A中的視頻編碼器20。
視頻解碼設備400包括:用於接收資料的入埠410(或輸入埠410)和接收單元(receiver unit,Rx)420;用於處理資料的處理器、邏輯單元或中央處理器(central processing unit,CPU)430;例如,這裡的處理器430可以是神經網路處理器430;用於傳輸資料的發送單元(transmitter unit,Tx)440和出端口450(或輸出端口450);用於儲存資料的記憶體460。視頻解碼設備400還可包括耦合到入埠410、接收單元420、發送單元440和出端口450的光電(optical-to-electrical,OE)組件和電光(electrical-to-optical,EO)元件,用於光信號或電信號的出口或入口。
處理器430通過硬體和軟體實現。處理器430可實現為一個或多個處理器晶片、核(例如,多核處理器)、FPGA、ASIC和DSP。處理器430與入埠410、接收單元420、發送單元440、出埠450和記憶體460通信。處理器430包括解碼模組470(例如,基於神經網路NN的解碼模組470)。解碼模組470實施上文所公開的實施例。例如,解碼模組470執行、處理、準備或提供各種編碼操作。因此,通過解碼模組470為視頻解碼設備400的功能提供了實質性的改進,並且影響了視頻解碼設備400到不同狀態的切換。或者,以儲存在記憶體460中並由處理器430執行的指令來實現解碼模組470。
儲存器460包括一個或多個磁片、磁帶機和固態硬碟,可以用作溢出資料存放裝置,用於在選擇執行程式時儲存此類程式,並且儲存在程式執行過程中讀取的指令和資料。記憶體460可以是易失性和/或非易失性的,可以是唯讀記憶體(read-only memory,ROM)、隨機存取記憶體(random access memory,RAM)、三態內容定址記憶體(ternary content-addressable memory,TCAM)和/或靜態隨機存取記憶體(static random-access memory,SRAM)。
圖3為示例性實施例提供的裝置500的簡化框圖,裝置500可用作圖1A中的源設備12和目的設備14中的任一個或兩個。
裝置500中的處理器502可以是中央處理器。或者,處理器502可以是現有的或今後將研發出的能夠操控或處理資訊的任何其它類型設備或多個設備。雖然可以使用如圖所示的處理器502等單個處理器來實施已公開的實現方式,但使用一個以上的處理器速度更快和效率更高。
在一種實現方式中,裝置500中的儲存器504可以是唯讀記憶體(ROM)設備或隨機存取記憶體(RAM)設備。任何其它合適類型的存放裝置都可以用作儲存器504。儲存器504可以包括處理器502通過匯流排512訪問的代碼和資料506。儲存器504還可包括作業系統508和應用程式510,應用程式510包括允許處理器502執行本文所述方法的至少一個程式。例如,應用程式510可以包括應用1至N,還包括執行本文所述方法的視頻解碼應用。
裝置500還可以包括一個或多個輸出設備,例如顯示器518。在一個示例中,顯示器518可以是將顯示器與可用於感測觸摸輸入的觸敏元件組合的觸敏顯示器。顯示器518可以通過匯流排512耦合到處理器502。
雖然裝置500中的匯流排512在本文中描述為單個匯流排,但是匯流排512可以包括多個匯流排。此外,輔助儲存器可以直接耦合到裝置500的其它元件或通過網路訪問,並且可以包括儲存卡等單個集成單元或多個儲存卡等多個單元。因此,裝置500可以具有各種各樣的配置。
圖4為端到端的深度學習圖像編解碼框架的示例圖,如圖4所示,該圖像編解碼框架包括編碼端:編碼網路(Encoder)、量化模組、熵編碼網路;解碼端:熵解碼網路、解碼網路(Decoder),以及熵估計網路。
在編碼端,原圖經過編碼網路的處理從圖像域變換到特徵域,變換後的圖像特徵經過量化模組和熵編碼網路的處理被編碼成待傳輸或待儲存的碼流。在解碼端,碼流經過熵解碼網路的處理被解碼成圖像特徵,圖像特徵經過解碼網路的處理從特徵域變換到圖像域,從而得到重建圖像。熵估計網路根據圖像特徵估計得到每個特徵元素的估計概率值,以用於熵編碼網路和熵解碼網路的處理。
本實施例中,編碼網路(Encoder)和解碼網路(Decoder)中都具有非線性變換單元。
圖5為端到端的深度學習視頻編解碼框架的示例圖,如圖5所示,該視頻編解碼框架包括預測模組(predict model)和殘差壓縮(residual compress)模組,
預測模組利用前一幀的重建圖像對當前幀進行預測得到預測圖像,殘差壓縮模組一方面對當前幀的原始圖像和預測圖像之間的殘差進行壓縮,另一方面解壓縮得到重建殘差,重建殘差和預測圖像求和得到當前幀的重建圖像。預測模組和殘差壓縮模組中的編碼子網路和解碼子網路中均具有非線性變換單元。
本實施例中,預測模組(predict model)和殘差壓縮(residual compress)模組中都具有非線性變換單元。
圖6為本申請實施例的應用場景的示例圖,如圖6所示,該應用場景可以是終端、雲伺服器、視頻監控中涉及圖像/視頻採集、儲存或傳輸的業務,例如,終端拍照/錄影、相冊、雲相冊、視頻監控等。
編碼端:攝像頭(Camera)採集圖像/視頻。人工智慧(artificial intelligence,AI)圖像/視頻編碼網路對圖像/視頻進行從特徵提取得到冗餘度較低的圖像特徵,進而基於圖像特徵進行壓縮得到碼流/影像檔。
解碼端:當需要輸出圖像/視頻時,AI圖像/視頻解碼網路對碼流/影像檔進行解壓縮得到圖像特徵,再對圖像特徵進行反特徵提取得到重建的圖像/視頻。
儲存/傳輸模組將壓縮得到的碼流/影像檔針對不同業務進行儲存(例如,終端拍照、視頻監控、雲伺服器等)或傳輸(例如,雲服務,直播技術等)。
圖7為本申請實施例的應用場景的示例圖,如圖7所示,該應用場景可以是終端、視頻監控中涉及圖像/視頻採集、儲存或傳輸的業務,例如,終端相冊、視頻監控、直播等。
編碼端:編碼網路將圖像/視頻變換成冗餘度更低的圖像特徵,其通常包含非線性變換單元,具有非線性特性。熵估計網路負責計算圖像特徵中各個資料的編碼概率。熵編碼網路根據各個資料對應的概率,對圖像特徵進行無損編碼得到碼流/影像檔,進一步降低圖像壓縮過程中的資料傳輸量。
解碼端:熵解碼網路根據各個資料對應的概率,對碼流/影像檔進行無損解碼得到重建的圖像特徵。解碼網路對熵解碼輸出的圖像特徵進行反變換,將其解析為圖像/視頻。和編碼網路對應,其通常包含非線性變換單元,具有非線性特性。保存模組將碼流/影像檔保存至終端的對應儲存位置。載入模組從終端的對應儲存位置載入碼流/影像檔,並輸入到熵解碼網路。
圖8為本申請實施例的應用場景的示例圖,如圖8所示,該應用場景可以是雲、視頻監控中涉及圖像/視頻採集、儲存或傳輸的業務,例如,雲相冊、視頻監控、直播等。
編碼端:本地獲取圖像/視頻,對其進行圖像(JPEG)編碼得到壓縮圖像/視頻,之後向雲端發送壓縮圖像/視頻。雲端對壓縮圖像/視頻進行JPEG解碼得到圖像/視頻,之後對圖像/視頻進行壓縮得到碼流/影像檔並儲存。
解碼端:當本地需要從雲端獲取圖像/視頻時,雲端對碼流/影像檔進行解壓縮得到圖像/視頻,之後對圖像/視頻進行JPEG編碼,得到壓縮圖像/視頻,向本地發送壓縮圖像/視頻。本地對壓縮圖像/視頻進行JPEG解碼得到圖像/視頻。雲端的結構以及各個模組的用途可以參考圖7的結構以及各個模組的用途,本申請實施例在此不做贅述。
基於上述編/解碼網路和應用場景,本申請實施例提供了一種圖像編/解碼方法,以實現高效的非線性變換處理,提升圖像/視頻壓縮演算法中的率失真性能。
圖9為本申請實施例的圖像編碼方法的過程900的流程圖。過程900可由上述實施例中的編碼端執行。過程900描述為一系列的步驟或操作,應當理解的是,過程900可以以各種循序執行和/或同時發生,不限於圖9所示的執行順序。過程900包括如下步驟:
步驟901、獲取待處理的第一圖像特徵。
第一圖像特徵是編碼端在獲取到待處理圖像後,對其進行從圖像域到特徵域的轉換後得到的,這裡的轉換可以包括:1、卷積處理,使用卷積層來進行提取特徵,具有局部感受野,權重共用機制(即每一個濾波器滑動處理輸入特徵)。2、使用MLP或全連接層提取特徵,具有全域感受野特性,權重不共用。3、變換器(Transformer)處理,其中包括矩陣相乘、MLP和歸一化處理,具有全域感受野特性,捕捉長距離依賴能力強。
第一圖像特徵可以表示成二維矩陣(L×C,L表示長度,C表示通道(channel))或三維矩陣(C×H×W,C表示通道數,H表示高度,W表示寬度)的形式,具體的形式與前述轉換方式相關聯,例如,採用卷積處理或者MLP提取得到的第一圖像特徵一般對應於三維矩陣,而採用變換器處理得到的第一圖像特徵一般對應於二維矩陣。
例如,第一圖像特徵表示為一個二維矩陣:
該二維矩陣A是3×3的矩陣,包含9個元素,每個元素a(i,j)對應第一圖像特徵的一個特徵值,其中,i表示元素a(i,j)對應的長度,j表示元素a(i,j)所在的通道。
又例如,第一圖像特徵表示為一個三維矩陣:
該三維矩陣B是3×3×2的矩陣,包含18個元素,每個元素a(i,j,l)對應第一圖像特徵的一個特徵值,其中,i表示元素a(i,j,l)所在的行,j表示元素a(i,j,l)所在的列,l表示元素a(i,j,l)所在的通道。
需要說明的是,本申請實施例對第一圖像特徵的獲取方式不做具體限定。
待處理圖像可以是一張圖片,也可以是視頻中的一幀圖像幀,還可以是前述圖片或圖像幀分割得到的圖像塊,對此不做具體限定。
步驟902、對第一圖像特徵進行非線性變換處理得到經處理的圖像特徵。
在一種可能的實現方式中,對第一圖像特徵中的每個特徵值進行第一非線性運算得到第二圖像特徵;對第二圖像特徵進行卷積處理得到第三圖像特徵,第三圖像特徵中的多個特徵值和第一圖像特徵中的多個特徵值相對應;將第一圖像特徵和第三圖像特徵中相對應的多個特徵值進行逐點相乘運算得到經處理的圖像特徵。
圖10a為具備注意力機制的非線性變換單元的結構圖,如圖10a所示,本申請實施例中,非線性變換單元用於實現上述非線性變換處理,其包括第一非線性運算、卷積處理和逐點相乘運算。
第一非線性運算是針對上述第一圖像特徵中的每個特徵值進行的運算,可以包括取絕對值運算、ReLU系列、Sigmoid、Tanh等。其中,
取絕對值是指針對輸入的特徵值取其絕對值。可以用如下公式表示:
分段線性映射包括修正線性單元(ReLU)或者洩漏修正線性單元(LeakyReLU),或者PWL運算。其中,ReLU是一種分段線性映射方法,針對輸入的特徵值,小於0的特徵值輸出為0,大於或等於0的特徵值恒等輸出。可以用如下公式表示:
LeakyReLU是一種分段線性映射方法,其在ReLU的基礎上,將小於0的輸入特徵值用預先設定的權重進行縮放,權重通常為0.01。可以用如下公式表示:
其中,a表示預先設定值,通常設置為0.01。
PWL可以表示為如下運算:
其中,N表示分段數;
表示左邊界;
表示右邊界;
表示N+1個分界點對應的y軸座標值;
表示最左斜率;
表示最右斜率;idx表示x所屬分段的索引號;
和
是該分段的相應左邊界和斜率。 表示分段長度,這些值的計算如下:
需要說明的是,公式(1)可用於不同細微性(按層甚至按通道均可)。按通道應用時,
是逐通道參數。可選的,可以在所有的PWL中使用相同的超參N。
PWL的優點有:作為一個通用逼近器,PWL可以逼近任何連續的有界標量函數;PWL隨參數(超參N除外)連續變化,非常利於基於梯度優化;靈活性集中在有界區域內,因此可以最大限度地利用可學習參數;由於分段均勻,PWL計算效率高,尤其是在推理方面。
圖11為PWL函數示意圖,如圖11所示,分段數N是一個超參,影響PWL函數的擬合能力。分段數越大,自由度越高,模型容量也越大。左右邊界
和
限定了PWL關注的主要有效區域。
被均勻劃分為N個分段,得到N+1個分界點。每個分界點都有對應的y軸座標值
,這些座標就決定了PWL的曲線形狀。
之外的區域,可以用兩個斜率
和
來控制邊界外的區域形狀。
Sigmoid可以表示為如下運算:
Tanh可以表示為如下運算:
需要說明的是,分段線性映射還可以採用ReLU的其它變形方式,也可以採用其它新的第一非線性運算方式,本申請實施例對此均不作具體限定。
經過上述第一非線性運算,第一圖像特徵轉換成第二圖像特徵,第二圖像特徵也可以如第一圖像特徵表示成矩陣的形式,由於第一非線性運算是針對第一圖像特徵中的每個特徵值的,因此第一圖像特徵的每個特徵值在第二圖像特徵值中均有一個特徵值與其相對應,因此第二圖像特徵對應的矩陣和第一圖像特徵對應的矩陣的尺寸相同,且相同位置的特徵值(矩陣元素的值)相對應,例如,第一圖像特徵表示成上述矩陣A那樣的3×3的矩陣,那麼第二圖像特徵也可以表示成3×3的矩陣,但由於第一圖像特徵和第二圖像特徵經過了第一非線性運算,因此第一圖像特徵和第二圖像特徵中的特徵值不完全相同,相應的,二者分別對應的矩陣中的元素值也不完全相同。
對第二圖像特徵進行卷積處理,輸出第三圖像特徵,第三圖像特徵可以認為是第二圖像特徵的局部回應(即校正後的值),即第三圖像特徵是第二圖像特徵經過卷積處理得到的回應信號,由於卷積處理的感受野是有限的,經卷積處理輸出的圖像特徵中的每個位置的回應值只和與該位置相鄰位置的輸入特徵值有關,因此稱為局部回應。卷積處理可以表示為如下公式:
其中,
表示卷積層的權重,
表示卷積層的偏置參數。
經過卷積處理,第三圖像特徵對應的矩陣和第一圖像特徵對應的矩陣的尺寸也相同。圖12為卷積處理的一個示意圖,如圖12所示,輸入一個1*2的矩陣,經過卷積層的處理輸出1*4的矩陣,該卷積層包括兩個濾波器,一個是2*50的矩陣W1,另一個是50*4的矩陣W2。先由矩陣W1對輸入矩陣進行卷積運算,得到1*50的矩陣,然後由矩陣W2對該矩陣進行卷積運算得到1*4的輸出矩陣。
將第一圖像特徵和第三圖像特徵中相對應的多個特徵值進行逐點相乘運算,即為將非線性變換單元的初始輸入和卷積處理的輸出進行逐點相乘,可以表示為如下公式:
其中,(i,j)表示特徵值在其所在圖像特徵中的索引,a(i,j)表示第一圖像特徵的特徵值,b(i,j)表示第二圖像特徵的特徵值,c(i,j)表示經處理的圖像特徵的特徵值。
由此可見,經處理的圖像特徵對應的矩陣和第一圖像特徵對應的矩陣的尺寸也相同。
需要說明的是,本申請實施例中,兩個圖形特徵中的多個特徵值相對應可以是指該兩個圖像特徵分別表示為矩陣後,兩個矩陣中的相同位置上的元素的值具有運算關係,該二者相對應。例如,第一圖像特徵和第三圖像特徵均表示成上述矩陣A的形式,同位於
的位置的元素相對應。
此外,卷積處理也可以得到與第一圖像特尺寸不同的第三圖像特徵,這取決於卷積處理的內部結構,尤其是在進行卷積處理時的濾波器的長、寬以及通道數,如果第三圖像特徵和第一圖像特徵的尺寸不同,相應的第三圖像特徵對應的矩陣中的元素和第一圖像特徵對應的矩陣中的元素也不是一一對應的,此時可以考慮第一圖像特徵對應的矩陣中的多個元素與第三圖像特徵對應的矩陣中的同一個元素相乘。例如,第一圖像特徵對應的矩陣的通道數為3,而第三圖像特徵對應的矩陣的通道數為1,可以將該第三圖像特徵對應的矩陣中的元素與第一圖像特徵對應的矩陣中各個通道中的同一位置的元素分別相乘。本申請實施例對此不做具體限定。
上述第一非線性運算、卷積處理和逐點相乘運算可以表示為如下公式(1):
(1)
其中,x表示輸入的特徵值,y表示輸出的特徵值,
表示第一非線性運算,
表示卷積層的權重,
表示卷積層的偏置參數。
由於上述公式中採用了相乘運算,相較於相關技術(GDN除法歸一化)的卷積處理中,
的除法運算,一方面,不必為了遷就開平方根必須是正數的限定,而要求卷積參數
和
必須是正數,另一方面,不必為了遷就除法要求分母不能為0的限定,也對卷積參數
和
構成了取值上的限定。
經過上述第一非線性運算、卷積處理和逐點相乘運算實現了局部注意力機制,局部是指第一非線性運算是逐點進行的,輸入的各個特徵值只需要自身的特性即可得到輸出值,不用考慮周邊特徵值的影響;注意力機制是指,第一圖像特徵中的所有特徵值,有的是重要的,有的是冗餘的,卷積處理的輸出可以是圖像特徵中的各個特徵值的權重,可以對原特徵值進行修正,把重要的特徵值突出,把冗餘的特徵值抑制;逐點相乘運算利用前述局部資訊校正第一圖像特徵上每個特徵值的值,避免了對卷積參數的限定。
在一種可能的實現方式中,對第一圖像特徵中的每個特徵值進行第一非線性運算得到第二圖像特徵;對第二圖像特徵進行卷積處理得到第三圖像特徵,第三圖像特徵中的多個特徵值和第一圖像特徵中的多個特徵值相對應;將第一圖像特徵和第三圖像特徵中相對應的多個特徵值進行逐點相乘運算得到第四圖像特徵,第四圖像特徵中的多個特徵值和第一圖像特徵中的多個特徵值相對應;將第一圖像特徵和第四圖像特徵中相對應的多個特徵值進行逐點相加運算得到經處理的圖像特徵。
圖10b為具備注意力機制的殘差非線性變換單元的結構圖,如圖10b所示,本申請實施例中,非線性變換單元用於實現上述非線性變換處理,其包括第一非線性運算、卷積處理、逐點相乘運算和逐點相加運算。
本申請實施例中,第一非線性運算、卷積處理和逐點相乘運算均可以參照上一種實施方式中的描述,此處不再贅述。
得到第四圖像特徵後,再將第一圖像特徵和第四圖像特徵中相對應的多個特徵值進行逐點相加運算,即為將非線性變換單元的初始輸入和逐點相乘運算的輸出進行逐點相加,可以表示為如下公式:
其中,(i,j)表示特徵值在其所在圖像特徵中的索引,a(i,j)表示第一圖像特徵的特徵值,c(i,j)表示第四圖像特徵的特徵值,sum(i,j)表示經處理的圖像特徵的特徵值。
逐點相加運算是一個首位相加的殘差結構,可以使使用上述處理過程的編解碼網路在訓練時更容易收斂。
上述第一非線性運算、卷積處理、逐點相乘運算和逐點相加運算可以表示為如下公式(2):
(2)
其中,x表示輸入的特徵值,y表示輸出的特徵值,
表示第一非線性運算,
表示卷積層的權重,
表示卷積層的偏置參數。
上述公式(2)經變形可以得到:
,與公式(1)對比可以得到卷積處理可以表示為如下公式:
由此可見,卷積處理conv1(x)和卷積處理conv2(x)相似,區別在於卷積處理conv2(x)中的卷積參數多加了1。這樣可以通過對卷積處理中的卷積參數β的微調,實現上述兩種實施方式之間的轉換,即如果非線性變換單元中不包含逐點相加運算,則可以採用卷積處理conv1(x);如果非線性變換單元中包含逐點相加運算,則可以採用卷積處理conv2(x)。
在一種可能的實現方式中,在上述第一種實施方式的基礎上,還可以對第三圖像特徵進行第二非線性運算,再對輸出的經處理的第三圖像特徵和第一圖像特徵進行逐點相乘運算,或者,在上述第二種實施方式的基礎上,還可以對第三圖像特徵進行第二非線性運算,再對輸出的經處理的第三圖像特徵和第一圖像特徵進行逐點相乘運算。即在非線性變換處理中增加了第二非線性運算,該第二非線性運算的輸入均是非線性變換處理中的卷積處理的輸出,該第二非線性運算的輸出均是作為逐點相乘運算的一個輸入。
圖10c為具備注意力機制的殘差非線性變換單元的結構圖,如圖10c所示,本申請實施例中,非線性變換單元用於實現上述非線性變換處理,其包括第一非線性運算、卷積處理、第二非線性運算和逐點相乘運算。
其中,第一非線性運算、卷積處理和逐點相乘運算可以參照圖10a所示實施例的描述,此處不再贅述。第二非線性運算可以與第一非線性運算採用相同的運算方法,也可以採用不同的運算方法,其可以包括取絕對值、ReLU、LeakyReLU等,本申請實施例對此不做具體限定。
上述第一非線性運算、卷積處理、第二非線性運算和逐點相乘運算可以表示為如下公式(3):
(3)
其中,x表示輸入的特徵值,y表示輸出的特徵值,
表示第一非線性運算,
表示第二非線性運算,
表示卷積層的權重,
表示卷積層的偏置參數。
圖10d為具備注意力機制的非線性變換單元的結構圖,如圖10d所示,本申請實施例中,非線性變換單元用於實現上述非線性變換處理,其包括第一非線性運算、卷積處理、第二非線性運算、逐點相乘運算和逐點相加運算。
其中,第一非線性運算、卷積處理、逐點相乘運算和逐點相加運算可以參照圖10b所示實施例的描述,此處不再贅述。第二非線性運算可以與第一非線性運算採用相同的運算方法,也可以採用不同的運算方法,其可以包括取絕對值、ReLU、LeakyReLU等,本申請實施例對此不做具體限定。
上述第一非線性運算、卷積處理、第二非線性運算、逐點相乘運算和逐點相加運算可以表示為如下公式(4):
(4)
其中,x表示輸入的特徵值,y表示輸出的特徵值,
表示第一非線性運算,
表示第二非線性運算,
表示卷積層的權重,
表示卷積層的偏置參數。
步驟903、根據經處理的圖像特徵進行編碼得到碼流。
得到經處理的圖像特徵後,編碼側可以繼續對其進行卷積處理,也可以在卷積處理之後再次對卷積處理的輸出進行非線性變換處理,然後再對前述處理的結果進行熵編碼以得到碼流,熵編碼可以採用圖4~圖8所示實施例中的熵編碼網路實現,此處不再贅述。也可以採用其他的編碼方式對前述處理的結果進行編碼以得到碼流,本申請對此不做限定。
圖13為編碼網路的結構圖,如圖13所示,該編碼網路包括4個卷積層(conv)和3個非線性變換單元,卷積層和非線性變換單元交叉排列,即對輸入圖像依次進行卷積處理、非線性變換處理、卷積處理、非線性變換處理、卷積處理、非線性變換處理以及卷積處理得到輸出圖像特徵。非線性變換單元可以採用圖10a或圖10b所示實施例的結構。而後輸出圖像特徵再進行熵編碼,此處不再贅述。
本申請實施例,通過對解碼網路中的非線性變換處理進行改變,可以使輸入的各個特徵值只需要自身的特性即可得到輸出值,不用考慮周邊特徵值的影響,並對原特徵值進行修正,把重要的特徵值突出,把冗餘的特徵值抑制,此外還可以校正第一圖像特徵上每個特徵值的值,避免了對卷積參數的限定,從而實現編碼網路中的高效的非線性變換處理,進一步提升圖像/視頻壓縮演算法中的率失真性能。
圖14為本申請實施例的圖像解碼方法的過程1300的流程圖。過程1300可由上述實施例中的解碼端執行。過程1300描述為一系列的步驟或操作,應當理解的是,過程1300可以以各種循序執行和/或同時發生,不限於圖14所示的執行順序。過程1300包括如下步驟:
步驟1301、獲取待處理的第一圖像特徵。
解碼端與編碼端相對應,第一圖像特徵可以是解碼端對碼流進行熵解碼後,熵解碼可以採用圖4~圖8所示實施例中的熵解碼網路實現,此處不再贅述。之後再經過卷積處理、反卷積處理、轉置卷積處理、插值+卷積處理、Transformer處理等方式得到的。應理解,經過前述處理,輸出的第一圖像特徵的尺寸將復原(和編碼端是鏡像對稱的),也可能使輸入的圖像特徵發生尺寸變化、通道數量改變等,對此不做具體限定。前述處理與圖9所示實施例中的步驟901中的轉換方式相反。
同樣的,第一圖像特徵也可以表示成二維矩陣或三維矩陣的形式,原理參照步驟901的描述,此處不再贅述。
步驟1302、對第一圖像特徵進行非線性變換處理得到經處理的圖像特徵。
在一種可能的實現方式中,對第一圖像特徵中的每個特徵值進行第一非線性運算得到第二圖像特徵;對第二圖像特徵進行卷積處理得到第三圖像特徵,第三圖像特徵中的多個特徵值和第一圖像特徵中的多個特徵值相對應;將第一圖像特徵和第三圖像特徵中相對應的多個特徵值進行逐點相乘運算得到經處理的圖像特徵。
本實施例可以參照圖10a所示實施例,此處不再贅述。
在一種可能的實現方式中,對第一圖像特徵中的每個特徵值進行第一非線性運算得到第二圖像特徵;對第二圖像特徵進行卷積處理得到第三圖像特徵,第三圖像特徵中的多個特徵值和第一圖像特徵中的多個特徵值相對應;將第一圖像特徵和第三圖像特徵中相對應的多個特徵值進行逐點相乘運算得到第四圖像特徵,第四圖像特徵中的多個特徵值和第一圖像特徵中的多個特徵值相對應;將第一圖像特徵和第四圖像特徵中相對應的多個特徵值進行逐點相加運算得到經處理的圖像特徵。
本實施例可以參照圖10b所示實施例,此處不再贅述。
步驟1303、根據經處理的圖像特徵獲取重建圖像。
得到經處理的圖像特徵後,解碼側也可以繼續對其進行卷積處理,也可以在卷積處理之後再次對卷積處理的輸出進行非線性變換處理,從而將其從特徵域轉換到圖像域,得到重建圖像。
圖15為解碼網路的結構圖,如圖15所示,該解碼網路包括4個反卷積層(Deconv)和3個非線性變換單元,反卷積層和非線性變換單元交叉排列,即對輸入圖像依次進行反卷積處理、非線性變換處理、反卷積處理、非線性變換處理、反卷積處理、非線性變換處理以及反卷積處理得到重建圖像。非線性變換單元可以採用圖10a或圖10b所示實施例的結構。而後輸出圖像特徵在進行熵解碼,此處不再贅述。
本申請實施例,通過對解碼網路中的非線性變換處理進行改變,可以使輸入的各個特徵值只需要自身的特性即可得到輸出值,不用考慮周邊特徵值的影響,並對原特徵值進行修正,把重要的特徵值突出,把冗餘的特徵值抑制,此外還可以校正第一圖像特徵上每個特徵值的值,避免了對卷積參數的限定,從而實現編碼網路中的高效的非線性變換處理,進一步提升圖像/視頻壓縮演算法中的率失真性能。
需要說明的是,本申請實施例還提供了一種編/解碼網路的訓練方式,可以包括:首先構建端到端的編/解碼網路,包含編碼器Encoder、解碼器Decoder、熵估計單元。訓練時將編解碼網路當作一個整體,訓練資料(圖像或視頻)輸入到編碼器得到特徵資料;特徵資料一方面經過熵估計單元計算編碼碼率開銷,得到碼率loss;特徵資料另一方面經過解碼端輸出重建資料,重建資料和輸入資料計算失真程度,得到失真loss。反向傳播演算法通過碼率loss和失真loss組成的加權loss去更新模型中的可學習參數。訓練完畢之後,模型中的所有子模組的參數被固定。
此後,編碼器Encoder和熵估計單元被劃分到編碼端,用於將待編碼資料編碼成碼流檔;解碼器和熵估計單元被劃分到解碼端,用於從碼流檔中重建資料。
以下通過幾個具體的實施例對上述圖像編碼方法進行說明,下文中將本申請實施例提供的非線性變換單元稱作ResAU。
實施例一
圖16a為ResAU的一個示例性的結構圖,如圖16a所示,ResAU採用圖10b所示的結構,包括第一非線性運算、卷積處理、逐點相乘運算和逐點相加運算,其中第一非線性運算採用取絕對值(abs)。該ResAU可以應用於圖13所示的編碼網路或者圖15所示的解碼網路。
在公式(2)的基礎上,本實施例的ResAU可以表示為如下公式:
對圖16a所示的ResAU進行壓縮性能測試。
測試集:Kodak測試集,包含24張解析度為768×512或512×768的可擕式網路圖形(portable network graphics,PNG)圖像。
實驗:在混合高斯超先驗熵估計的編/解碼網路結構中使用圖16a所示的ResAU。
實驗對應的性能表現:圖17a為ResAU在Kodak測試集的24張圖像上的整體表現。與當前主流使用的GDN非線性單元相比,在相同的計算複雜度基礎上,使用ResAU的GMM網路RD性能更優。更具體地,在達到相同的解碼重建品質下,在GMM編/解碼網路下使用ResAU可比使用ReLU節省約12%的編碼碼率開銷,可比使用GDN節省約5%的編碼碼率開銷。
性能分析:在本申請實施例提供的ResAU中,通過取絕對值引入非線性特性是一種可行的方案。在基礎的GMM結構上,使用ResAU能比使用GDN取得更好的率失真性能。
實施例二
圖16b為ResAU的一個示例性的結構圖,如圖16b所示,ResAU採用圖10b所示的結構,包括第一非線性運算、卷積處理、逐點相乘運算和逐點相加運算,其中第一非線性運算採用ReLU運算。該ResAU可以應用於圖13所示的編碼網路或者圖15所示的解碼網路。
在公式(2)的基礎上,本實施例的ResAU可以表示為如下公式:
對圖16b所示的ResAU進行壓縮性能測試。
測試集:24張Kodak測試圖像。
實驗:在混合高斯超先驗熵估計的編/解碼網路結構中使用圖16b所示的ResAU。在本次實驗中,ResAU中的非線性運算分別替換成了ReLU、LeakyReLU,對比實驗包括無非線性運算的Identity方案以及實施例一所描述的取絕對值的ResAU方案。
實驗對應的性能表現:圖17b為ResAU在Kodak測試集的24張圖像上的整體表現。從RD曲線可知,相比於不使用非線性運算的Identity方案,使用逐點非線性運算可以較大幅度提升圖像壓縮網路的率失真性能。而ReLU類的非線性運算效果會略優於取絕對值的非線性運算。
實施例三
圖16c為ResAU的一個示例性的結構圖,如圖16c所示,ResAU採用圖10d所示的結構,包括第一非線性運算、卷積處理、第二非線性運算、逐點相乘運算和逐點相加運算,其中第一非線性運算和第二非線性運算均採用PWL。該ResAU可以應用於圖13所示的編碼網路或者圖15所示的解碼網路。
ResAU通過分段線性函數PWL引入非線性特性;通過卷積、分段線性函數PWL和逐點相乘運算來實現局部注意力機制,利用局部資訊校正特徵圖上各個位置各個通道上的回應;逐點相乘操作可以避免GDN中存在的可學習參數取值空間受限的問題;另外,首尾相加的殘差形式的連接可使網路在訓練時更容易收斂。
在公式(4)的基礎上,本實施例的ResAU可以表示為如下公式:
其中,
和
均為PWL函數,
為卷積層的權重,
為卷積層的偏置參數,兩者都是取值範圍不受限制的可學習參數。
該結構包含的各個運算的功能如下:
第一個PWL運算:該函數為分段線性函數,可以為整體變換提供非線性特性。在該運算的作用下,輸入資料的每個值都會依據其所在數值區間採用不用的映射關係計算得到輸出值。對於一個輸入特徵,其種不同通道維度的特徵圖可以採用相同或者不同的分段線性映射函數進行運算。其參數可以為預設值,也可以通過訓練學習得到。
卷積處理:在ResAU中,卷積處理的輸入為非線性運算的輸出。輸入張量通過卷積處理得到尺寸不變的張量,輸出張量可以認為是輸入張量的局部回應。
第二個PWL運算:該函數為分段線性函數,可以對卷積的輸出進行縮放映射,也為整體變換提供非線性特性。在該運算的作用下,輸入資料的每個值都會依據其所在數值區間採用不用的映射關係計算得到輸出值。對於一個輸入特徵,其種不同通道維度的特徵圖可以採用相同或者不同的分段線性映射函數進行運算。其參數可以為預設值,也可以通過訓練學習得到。
逐點相乘運算:在ResAU中,逐點相乘運算的輸入為該單元的原始輸入和卷積處理的輸出。其兩項輸入張量的尺寸相同,執行對應位置資料的相乘運算,輸出張量的尺寸和輸入張量的尺寸也相同。卷積處理和逐點相乘運算結合實現了局部注意力機制,利用輸入特徵的局部資訊校正特徵圖上每個位置的回應。同時,逐點相乘運算避免了當前用於圖像視頻壓縮網路中的主流非線性單元GDN存在的可學習參數取值空間受限的問題。
逐點相加運算:在ResAU中,逐點相加運算的輸入為該單元的原始輸入和逐點相乘運算的輸出。該運算是一個首位相加的殘差結構,可以使使用該非線性單元的編解碼網路在訓練時更容易收斂。
本實施例所描述的使用分段線性函數PWL的殘差注意力非線性單元可用於基於深度神經網路的端到端圖像壓縮網路和視頻壓縮網路之中。更具體地,一般用於端到端圖像壓縮網路中的編碼模組(Encoder)和解碼模組(Decoder)中,用於端到端視頻壓縮網路預測子網路和殘差壓縮子網路的編碼模組和解碼模組中。
在一個常用的基於超先驗結構的端到端編解碼網路上進行了實驗:當本實施例中的第一個PWL運算預設值為Leaky ReLU函數、且第二個PWL運算分段數為6、通道維度分組細微性為1(即所有通道的特徵使用不同的分段線性函數計算輸出值)時,能夠比採用卷積運算之後使用Tanh實現非線性運算的方案提升0.506%的壓縮率失真性能;當本實施例中的第一個PWL運算預設值為Leaky ReLU函數、且第二個PWL運算分段數為6、通道維度分組細微性為8(即以每8個通道為單位對特徵進行分組,同一組內的所有通道使用相同的分段線性函數計算輸出值)時,比採用卷積運算之後使用Tanh實現非線性運算的方案降低0.488%的壓縮率失真性能;當本實施例中的第一個PWL運算預設值為Leaky ReLU函數、且第二個PWL運算分段數為6、通道維度不分組(即所有通道的特徵使用相同的分段線性函數計算輸出值)時,比採用卷積運算之後使用Tanh實現非線性運算的方案降低0.659%的壓縮率失真性能。
可選的,圖16d為ResAU的一個示例性的結構圖,如圖16d所示,ResAU採用圖10d所示的結構,包括第一非線性運算、卷積處理、第二非線性運算、逐點相乘運算和逐點相加運算,其中第一非線性運算採用LeakyReLU,第二非線性運算採用tanh。卷積處理可以是conv1×1,該conv1×1表示卷積核(或卷積運算元)的尺寸為1×1。該ResAU可以應用於圖13所示的編碼網路或者圖15所示的解碼網路。
實施例四
圖16e為ResAU的一個示例性的結構圖,如圖16e所示,ResAU採用圖10c所示的結構,包括第一非線性運算、卷積處理、第二非線性運算和逐點相乘運算,其中第一非線性運算和第二非線性運算均採用PWL。該ResAU可以應用於圖13所示的編碼網路或者圖15所示的解碼網路。
在公式(3)的基礎上,本實施例的ResAU可以表示為如下公式:
其中,
和
均為PWL函數,
為卷積層的權重,
為卷積層的偏置參數,兩者都是取值範圍不受限制的可學習參數。
該結構包含的各個運算的功能如下:
第一個PWL運算:該函數為分段線性函數,可以為整體變換提供非線性特性。在該運算的作用下,輸入資料的每個值都會依據其所在數值區間採用不用的映射關係計算得到輸出值。對於一個輸入特徵,其種不同通道維度的特徵圖可以採用相同或者不同的分段線性映射函數進行運算。其參數可以為預設值,也可以通過訓練學習得到。
卷積處理:在ResAU中,卷積處理的輸入為非線性運算的輸出。輸入張量通過卷積處理得到尺寸不變的張量,輸出張量可以認為是輸入張量的局部回應。
第二個PWL運算:該函數為分段線性函數,可以對卷積的輸出進行縮放映射,也為整體變換提供非線性特性。在該運算的作用下,輸入資料的每個值都會依據其所在數值區間採用不用的映射關係計算得到輸出值。對於一個輸入特徵,其種不同通道維度的特徵圖可以採用相同或者不同的分段線性映射函數進行運算。其參數可以為預設值,也可以通過訓練學習得到。
逐點相乘運算:在ResAU中,逐點相乘運算的輸入為該單元的原始輸入和卷積處理的輸出。其兩項輸入張量的尺寸相同,執行對應位置資料的相乘運算,輸出張量的尺寸和輸入張量的尺寸也相同。卷積處理和逐點相乘運算結合實現了局部注意力機制,利用輸入特徵的局部資訊校正特徵圖上每個位置的回應。同時,逐點相乘運算避免了當前用於圖像視頻壓縮網路中的主流非線性單元GDN存在的可學習參數取值空間受限的問題。
本實施例所描述的使用分段線性函數的無殘差結構的注意力非線性單元可用於基於深度神經網路的端到端圖像壓縮網路和視頻壓縮網路之中。更具體地,一般用於端到端圖像壓縮網路中的編碼模組Encoder和解碼模組Decoder中,用於端到端視頻壓縮網路預測子網路和殘差壓縮子網路的編碼模組和解碼模組中。並且,本實施例所描述的使用分段線性函數的無殘差結構的注意力非線性單元可以通過使用分段線性函數的殘差注意力非線性單元轉換得到。在訓練完成之後,可以將使用分段線性函數的殘差注意力非線性單元中的第二個PWL運算和逐點相加運算合併(即將第二個PWL運算的輸出整體加1,形成新的PWL函數,並去除逐點相加運算),得到一個對應的使用分段線性函數的無殘差結構的注意力非線性單元。
在一個常用的基於超先驗結構的端到端編解碼網路上進行了實驗,通過將實施例四對應的實驗中的殘差注意力非線性單元在訓練完畢後轉換為本實施例所描述的無殘差結構的非線性單元,可以獲得和實施例四對應方案相同的編解碼效果。
當本實施例中的第一個PWL運算預設值為Leaky ReLU函數、且第二個PWL運算分段數為6、通道維度分組細微性為1(即所有通道的特徵使用不同的分段線性函數計算輸出值)時,能夠比採用卷積運算之後使用Tanh實現非線性運算的方案提升0.506%的壓縮率失真性能。並且,本實施例方案能夠節省在逐點相加運算上的計算耗時和功耗。
當本實施例中的第一個PWL運算預設值為Leaky ReLU函數、且第二個PWL運算分段數為6、通道維度分組細微性為8(即以每8個通道為單位對特徵進行分組,同一組內的所有通道使用相同的分段線性函數計算輸出值)時,比採用卷積運算之後使用Tanh實現非線性運算的方案降低0.488%的壓縮率失真性能。並且,本實施例方案能夠節省在逐點相加運算上的計算耗時和功耗。
當本實施例中的第一個PWL運算預設值為Leaky ReLU函數、且第二個PWL運算分段數為6、通道維度不分組(即所有通道的特徵使用相同的分段線性函數計算輸出值)時,比採用卷積運算之後使用Tanh實現非線性運算的方案降低0.659%的壓縮率失真性能。並且,本實施例方案能夠節省在逐點相加運算上的計算耗時和功耗。
圖18為本申請實施例編碼裝置1700的一個示例性的結構示意圖,如圖18所示,本實施例的裝置1700可以應用於編碼端。該裝置1700可以包括:獲取模組1701、變換模組1702、編碼模組1703和訓練模組1704。其中,
獲取模組1701,用於獲取待處理的第一圖像特徵;變換模組1702,用於對所述第一圖像特徵進行非線性變換處理得到經處理的圖像特徵,所述非線性變換處理依次包括第一非線性運算、卷積處理和逐點相乘運算;編碼模組1703,用於根據所述經處理的圖像特徵進行編碼得到碼流。
在一種可能的實現方式中,所述變換模組1702,具體用於對所述第一圖像特徵中的每個特徵值進行所述第一非線性運算得到第二圖像特徵;對所述第二圖像特徵進行所述卷積處理得到第三圖像特徵,所述第三圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第三圖像特徵中相對應的多個特徵值進行所述逐點相乘運算得到所述經處理的圖像特徵。
在一種可能的實現方式中,所述非線性變換處理還包括在所述逐點相乘運算之後的逐點相加運算。
在一種可能的實現方式中,所述變換模組1702,具體用於對所述第一圖像特徵中的每個特徵值進行所述第一非線性運算得到第二圖像特徵;對所述第二圖像特徵進行所述卷積處理得到第三圖像特徵,所述第三圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第三圖像特徵中相對應的多個特徵值進行所述逐點相乘運算得到第四圖像特徵,所述第四圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第四圖像特徵中相對應的多個特徵值進行所述逐點相加運算得到所述經處理的圖像特徵。
在一種可能的實現方式中,所述非線性變換處理還包括在所述卷積處理和所述逐點相乘運算之間的第二非線性運算,所述第二非線性運算和所述第一非線性運算相同或不同。
在一種可能的實現方式中,所述非線性運算包括或者分段線性映射,例如ReLU,LeakyReLU,PWL,Abs等。在另一種可能的實現方式中,所述非線性運算包括連續函數,例如Tanh,Sigmoid等。在另一種可能的實現方式中,所述非線性運算包括分段的非線性運算。
在一種可能的實現方式中,還包括:訓練模組1704,用於構建訓練階段的非線性變換單元,所述訓練階段的非線性變換單元包括第一非線性運算層、卷積處理層、逐點相乘運算層和逐點相加運算層;根據預先獲取的訓練資料訓練得到經訓練的非線性變換單元,所述經訓練的非線性變換單元用於實現所述非線性變換處理。
本實施例的裝置,可以用於執行圖9所示方法實施例的技術方案,其實現原理和技術效果類似,此處不再贅述。
圖19為本申請實施例解碼裝置1800的一個示例性的結構示意圖,如圖19所示,本實施例的裝置1800可以應用於解碼端。該裝置1800可以包括:獲取模組1801、變換模組1802、重建模組1803和訓練模組1804。其中,
獲取模組1801,用於獲取待處理的第一圖像特徵;變換模組1802,用於對所述第一圖像特徵進行非線性變換處理得到經處理的圖像特徵,所述非線性變換處理依次包括第一非線性運算、卷積處理和逐點相乘運算;重建模組1803,用於根據所述經處理的圖像特徵獲取重建圖像。
在一種可能的實現方式中,所述變換模組1802,具體用於對所述第一圖像特徵中的每個特徵值進行所述第一非線性運算得到第二圖像特徵;對所述第二圖像特徵進行卷積處理得到第三圖像特徵,所述第三圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第三圖像特徵中相對應的多個特徵值進行所述逐點相乘運算得到所述經處理的圖像特徵。
在一種可能的實現方式中,所述非線性變換處理還包括在所述逐點相乘運算之後的逐點相加運算。
在一種可能的實現方式中,所述變換模組1802,具體用於對所述第一圖像特徵中的每個特徵值進行所述第一非線性運算得到第二圖像特徵;對所述第二圖像特徵進行卷積處理得到第三圖像特徵,所述第三圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第三圖像特徵中相對應的多個特徵值進行所述逐點相乘運算得到第四圖像特徵,所述第四圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第四圖像特徵中相對應的多個特徵值進行所述逐點相加運算得到所述經處理的圖像特徵。
在一種可能的實現方式中,所述非線性變換處理還包括在所述卷積處理和所述逐點相乘運算之間的第二非線性運算,所述第二非線性運算和所述第一非線性運算相同或不同。
在一種可能的實現方式中,所述第一非線性運算或第二非線性運算包括Sigmoid、Tanh或者分段線性映射,例如ReLU,LeakyReLU,PWL,Abs等。
在一種可能的實現方式中,訓練模組1804,用於構建訓練階段的非線性變換單元,所述訓練階段的非線性變換單元包括第一非線性運算層、卷積處理層、逐點相乘運算層和逐點相加運算層;根據預先獲取的訓練資料訓練得到經訓練的非線性變換單元,所述經訓練的非線性變換單元用於實現所述非線性變換處理。
本實施例的裝置,可以用於執行圖14所示方法實施例的技術方案,其實現原理和技術效果類似,此處不再贅述。
本申請實施例提供一種碼流,該碼流由處理器執行上述實施例中任一種編碼方法所生成。
本申請實施例提供一種儲存碼流的裝置,該裝置包括:接收器和至少一個儲存介質,接收器用於接收碼流;至少一個儲存介質用於儲存碼流;碼流為上述實施例中任一種編碼方法所生成的碼流。
本申請實施例提供一種傳輸碼流的裝置,該裝置包括:發送器和至少一個儲存介質,至少一個儲存介質用於儲存碼流,碼流由處理器執行上述實施例中任一種編碼方法所生成;發送器用於將碼流發送給其他電子設備。可選的,該傳輸碼流的裝置還包括接收器和處理器,接收器用於接收用戶請求,處理器用於回應於使用者請求,以從儲存介質中選擇目的碼流,並指示發送器發送目的碼流。
本申請實施例提供一種分發碼流的系統,該系統包括:至少一個儲存介質和流媒體設備,至少一個儲存介質用於儲存至少一個碼流,至少一個碼流包括根據第一方面的任意一種實現方式生成的碼流;流媒體設備用於從至少一個儲存介質中獲取目的碼流,並將目的碼流發送給端側設備,其中,流媒體設備包括內容伺服器或內容分佈伺服器。
本申請實施例提供一種分發碼流的系統,該系統包括:通信介面,用於接收使用者獲取目的碼流的請求;處理器,用於回應於用戶請求,確定目的碼流的儲存位置;通信介面還用於將目的碼流的儲存位置發送給使用者,以使得使用者從目的碼流的儲存位置獲取目的碼流,其中,目的碼流由處理器執行上述實施例中任一種編碼方法所生成。
在實現過程中,上述方法實施例的各步驟可以通過處理器中的硬體的集成邏輯電路或者軟體形式的指令完成。處理器可以是通用處理器、數位訊號處理器(digital signal processor, DSP)、特定應用積體電路(application-specific integrated circuit,ASIC)、現場可程式化邏輯閘陣列(field programmable gate array, FPGA)或其他可程式設計邏輯器件、分立門或者電晶體邏輯器件、分立硬體元件。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等。本申請實施例公開的方法的步驟可以直接體現為硬體編碼處理器執行完成,或者用編碼處理器中的硬體及軟體模組組合執行完成。軟體模組可以位於隨機記憶體,快閃記憶體、唯讀記憶體,可程式設計唯讀記憶體或者電可讀寫可程式設計記憶體、寄存器等本領域成熟的儲存介質中。該儲存介質位於記憶體,處理器讀取記憶體中的資訊,結合其硬體完成上述方法的步驟。
上述各實施例中提及的記憶體可以是易失性記憶體或非易失性記憶體,或可包括易失性和非易失性記憶體兩者。其中,非易失性記憶體可以是唯讀記憶體(read-only memory,ROM)、可程式設計唯讀記憶體(programmable ROM,PROM)、可擦除可規劃式唯讀記憶體(erasable PROM,EPROM)、電可擦除可程式設計唯讀記憶體(electrically EPROM,EEPROM)或快閃記憶體。易失性記憶體可以是隨機存取記憶體(random access memory,RAM),其用作外部快取記憶體。通過示例性但不是限制性說明,許多形式的RAM可用,例如靜態隨機存取記憶體(static RAM,SRAM)、動態隨機存取記憶體(dynamic RAM,DRAM)、同步動態隨機存取記憶體(synchronous DRAM,SDRAM)、雙倍數據速率同步動態隨機存取記憶體(double data rate SDRAM,DDR SDRAM)、增強型同步動態隨機存取記憶體(enhanced SDRAM,ESDRAM)、同步連接動態隨機存取記憶體(synchlink DRAM,SLDRAM)和直接記憶體匯流排隨機存取記憶體(direct rambus RAM,DR RAM)。應注意,本文描述的系統和方法的記憶體旨在包括但不限於這些和任意其它適合類型的記憶體。
本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及演算法步驟,能夠以電子硬體、或者電腦軟體和電子硬體的結合來實現。這些功能究竟以硬體還是軟體方式來執行,取決於技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本申請實施例的範圍。
所屬領域的技術人員可以清楚地瞭解到,為描述的方便和簡潔,上述描述的系統、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本申請實施例所提供的幾個實施例中,應該理解到,所揭露的系統、裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或元件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些介面,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分佈到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本申請實施例各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
所述功能如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以儲存在一個電腦可讀取存儲介質中。基於這樣的理解,本申請實施例的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的部分可以以軟體產品的形式體現出來,該電腦軟體產品儲存在一個儲存介質中,包括若干指令用以使得一台電腦設備(個人電腦,伺服器,或者網路設備等)執行本申請實施例各個實施例所述方法的全部或部分步驟。或者該電腦軟體產品可以從一個電腦可讀存儲介質向另一個電腦可讀存儲介質傳輸,例如,所述電腦指令可以從一個網站網站、電腦、伺服器或資料中心通過有線(例如同軸電纜、光纖、數位用戶線路(DSL))或無線(例如紅外、無線、微波等)方式向另一個網站網站、電腦、伺服器或資料中心進行傳輸。所述電腦可讀存儲介質可以是電腦能夠存取的任何可用介質或者是包含一個或多個可用介質集成的伺服器、資料中心等資料存放裝置。所述可用介質可以是磁性介質,(例如,軟碟、硬碟、磁帶)、光介質(例如,DVD)、或者半導體介質(例如固態硬碟Solid State Disk (SSD)、唯讀記憶體(read-only memory,ROM)、隨機存取記憶體(random access memory,RAM))等。
以上所述,僅為本申請實施例的具體實施方式,但本申請實施例的保護範圍並不局限於此,任何熟悉本技術領域的技術人員在本申請實施例揭露的技術範圍內,可輕易想到變化或替換,都應涵蓋在本申請實施例的保護範圍之內。因此,本申請實施例的保護範圍應以所述請求項的保護範圍為准。
10:視頻解碼系統、解碼系統
12:源設備
13:通信通道
14:目的設備
16:圖像源
17:圖像數據
18:預處理器
19:預處理圖像數據
20:編碼器、視頻編碼器
21:編碼圖像數據
22、28:通信介面
25:訓練引擎
30:解碼器、視頻解碼器
31:解碼圖像數據
32:後處理器
33:後處理圖像數據
34:顯示設備
40:視頻解碼系統
41:成像設備
42:天線
43:處理器
44:記憶體儲存器
45:顯示裝置
46:處理電路
400:視頻解碼設備
410:入端口、輸入端口
420:接收單元
430:處理器
440:發送單元
450:出端口、輸出端口
460:儲存器
470:譯碼模組
500:裝置
502:處理器
504:儲存器
506:資料
508:作業系統
510:應用
512:匯流排
518:顯示器
901、902、903、1301、1302、1303:步驟
1701:獲取模組
1702:變換模組
1703:編碼模組
1704:訓練模組
1801:獲取模組
1802:變換模組
1803:重建模組
1804:訓練模組
圖1A為示例性解碼系統10的示意性框圖;
圖1B是視頻解碼系統40的實例的說明圖;
圖2為本發明實施例提供的視頻解碼設備400的示意圖;
圖3為示例性實施例提供的裝置500的簡化框圖;
圖4為端到端的深度學習圖像編解碼框架的示例圖;
圖5為端到端的深度學習視頻編解碼框架的示例圖;
圖6為本申請實施例的應用場景的示例圖;
圖7為本申請實施例的應用場景的示例圖;
圖8為本申請實施例的應用場景的示例圖;
圖9為本申請實施例的圖像編碼方法的過程900的流程圖;
圖10a為具備局部注意力機制的非線性變換單元的結構圖;
圖10b為具備局部注意力機制的殘差非線性變換單元的結構圖;
圖10c為具備注意力機制的殘差非線性變換單元的結構圖;
圖10d為具備注意力機制的非線性變換單元的結構圖;
圖11為PWL函數示意圖;
圖12為卷積處理的一個示意圖;
圖13為編碼網路的結構圖;
圖14為本申請實施例的圖像解碼方法的過程1300的流程圖;
圖15為解碼網路的結構圖;
圖16a為ResAU的一個示例性的結構圖;
圖16b為ResAU的一個示例性的結構圖;
圖16c為ResAU的一個示例性的結構圖;
圖16d為ResAU的一個示例性的結構圖;
圖16e為ResAU的一個示例性的結構圖;
圖17a為ResAU在Kodak測試集的24張圖像上的整體表現;
圖17b為ResAU在Kodak測試集的24張圖像上的整體表現;
圖18為本申請實施例編碼裝置1700的一個示例性的結構示意圖;
圖19為本申請實施例解碼裝置1800的一個示例性的結構示意圖。
901、902、903:步驟
Claims (32)
- 一種圖像編碼方法,包括:獲取待處理的第一圖像特徵;對所述第一圖像特徵進行非線性變換處理得到經處理的圖像特徵,所述非線性變換處理依次包括第一非線性運算、卷積處理和逐點相乘運算;根據所述經處理的圖像特徵進行編碼得到碼流。
- 如請求項1所述的方法,其中,所述對所述第一圖像特徵進行非線性變換處理得到經處理的圖像特徵,包括:對所述第一圖像特徵中的每個特徵值進行所述第一非線性運算得到第二圖像特徵;對所述第二圖像特徵進行所述卷積處理得到第三圖像特徵,所述第三圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第三圖像特徵中相對應的多個特徵值進行所述逐點相乘運算得到所述經處理的圖像特徵。
- 如請求項1所述的方法,其中,所述非線性變換處理還包括在所述逐點相乘運算之後的逐點相加運算。
- 如請求項3所述的方法,其中,所述對所述第一圖像特徵進行非線性變換處理得到經處理的圖像特徵,包括:對所述第一圖像特徵中的每個特徵值進行所述第一非線性運算得到第二圖像特徵; 對所述第二圖像特徵進行所述卷積處理得到第三圖像特徵,所述第三圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第三圖像特徵中相對應的多個特徵值進行所述逐點相乘運算得到第四圖像特徵,所述第四圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第四圖像特徵中相對應的多個特徵值進行所述逐點相加運算得到所述經處理的圖像特徵。
- 如請求項1-4中任一項所述的方法,其中,所述非線性變換處理還包括在所述卷積處理和所述逐點相乘運算之間的第二非線性運算,所述第二非線性運算和所述第一非線性運算相同或不同。
- 如請求項1-4中任一項所述的方法,其中,所述第一非線性運算包括Sigmoid、Tanh或者分段線性映射。
- 如請求項1-4中任一項所述的方法,還包括:構建訓練階段的非線性變換單元,所述訓練階段的非線性變換單元包括第一非線性運算層、卷積處理層、逐點相乘運算層和逐點相加運算層;根據預先獲取的訓練資料訓練得到經訓練的非線性變換單元,所述經訓練的非線性變換單元用於實現所述非線性變換處理。
- 一種圖像解碼方法,包括:獲取待處理的第一圖像特徵; 對所述第一圖像特徵進行非線性變換處理得到經處理的圖像特徵,所述非線性變換處理依次包括第一非線性運算、卷積處理和逐點相乘運算;根據所述經處理的圖像特徵獲取重建圖像。
- 如請求項8所述的方法,其中,所述對所述第一圖像特徵進行非線性變換處理得到經處理的圖像特徵,包括:對所述第一圖像特徵中的每個特徵值進行所述第一非線性運算得到第二圖像特徵;對所述第二圖像特徵進行所述卷積處理得到第三圖像特徵,所述第三圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第三圖像特徵中相對應的多個特徵值進行所述逐點相乘運算得到所述經處理的圖像特徵。
- 如請求項8所述的方法,其中,所述非線性變換處理還包括在所述逐點相乘運算之後的逐點相加運算。
- 如請求項10所述的方法,其中,所述對所述第一圖像特徵進行非線性變換處理得到經處理的圖像特徵,包括:對所述第一圖像特徵中的每個特徵值進行所述第一非線性運算得到第二圖像特徵;對所述第二圖像特徵進行所述卷積處理得到第三圖像特徵,所述第三圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應; 將所述第一圖像特徵和所述第三圖像特徵中相對應的多個特徵值進行所述逐點相乘運算得到第四圖像特徵,所述第四圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第四圖像特徵中相對應的多個特徵值進行所述逐點相加運算得到所述經處理的圖像特徵。
- 如請求項8-11中任一項所述的方法,其中,所述非線性變換處理還包括在所述卷積處理和所述逐點相乘運算之間的第二非線性運算,所述第二非線性運算和所述第一非線性運算相同或不同。
- 如請求項8-11中任一項所述的方法,其中,所述第一非線性運算包括Sigmoid、Tanh或者分段線性映射。
- 如請求項8-11中任一項所述的方法,還包括:構建訓練階段的非線性變換單元,所述訓練階段的非線性變換單元包括第一非線性運算層、卷積處理層、逐點相乘運算層和逐點相加運算層;根據預先獲取的訓練資料訓練得到經訓練的非線性變換單元,所述經訓練的非線性變換單元用於實現所述非線性變換處理。
- 一種編碼裝置,包括:獲取模組,用於獲取待處理的第一圖像特徵;變換模組,用於對所述第一圖像特徵進行非線性變換處理得到經處理的圖像特徵,所述非線性變換處理依次包括第一非線性運算、卷積處理和逐點相乘運算;編碼模組,用於根據所述經處理的圖像特徵進行編碼得到碼流。
- 如請求項15所述的裝置,其中,所述變換模組,具體用於對所述第一圖像特徵中的每個特徵值進行所述第一非線性運算得到第二圖像特徵;對所述第二圖像特徵進行所述卷積處理得到第三圖像特徵,所述第三圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第三圖像特徵中相對應的多個特徵值進行所述逐點相乘運算得到所述經處理的圖像特徵。
- 如請求項15所述的裝置,其中,所述非線性變換處理還包括在所述逐點相乘運算之後的逐點相加運算。
- 如請求項17所述的裝置,其中,所述變換模組,具體用於對所述第一圖像特徵中的每個特徵值進行所述第一非線性運算得到第二圖像特徵;對所述第二圖像特徵進行所述卷積處理得到第三圖像特徵,所述第三圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第三圖像特徵中相對應的多個特徵值進行所述逐點相乘運算得到第四圖像特徵,所述第四圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第四圖像特徵中相對應的多個特徵值進行所述逐點相加運算得到所述經處理的圖像特徵。
- 如請求項15-18中任一項所述的裝置,其中,所述非線性變換處理還包括在所述卷積處理和所述逐點相乘運算之間的第二非線性運算,所述第二非線性運算和所述第一非線性運算相同或不同。
- 如請求項15-18中任一項所述的裝置,其中,所述第一非線性運算包括Sigmoid、Tanh或者分段線性映射。
- 如請求項15-18中任一項所述的裝置,還包括:訓練模組,用於構建訓練階段的非線性變換單元,所述訓練階段的非線性變換單元包括第一非線性運算層、卷積處理層、逐點相乘運算層和逐點相加運算層;根據預先獲取的訓練資料訓練得到經訓練的非線性變換單元,所述經訓練的非線性變換單元用於實現所述非線性變換處理。
- 一種解碼裝置,包括:獲取模組,用於獲取待處理的第一圖像特徵;變換模組,用於對所述第一圖像特徵進行非線性變換處理得到經處理的圖像特徵,所述非線性變換處理包括第一非線性運算、卷積處理和逐點相乘運算;重建模組,用於根據所述經處理的圖像特徵獲取重建圖像。
- 如請求項22所述的裝置,其中,所述變換模組,具體用於對所述第一圖像特徵中的每個特徵值進行所述第一非線性運算得到第二圖像特徵;對所述第二圖像特徵進行所述卷積處理得到第三圖像特徵,所述第三圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第三圖像特徵中相對應的多個特徵值進行所述逐點相乘運算得到所述經處理的圖像特徵。
- 如請求項22所述的裝置,其中,所述非線性變換處理還包括在所述逐點相乘運算之後的逐點相加運算。
- 如請求項24所述的裝置,其中,所述變換模組,具體用於對所述第一圖像特徵中的每個特徵值進行所述第一非線性運算得到第二圖像特徵;對所述第二圖像特徵進行所述卷積處理得到第三圖像特徵,所述第三圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第三圖像特徵中相對應的多個特徵值進行所述逐點相乘運算得到第四圖像特徵,所述第四圖像特徵中的多個特徵值和所述第一圖像特徵中的多個特徵值相對應;將所述第一圖像特徵和所述第四圖像特徵中相對應的多個特徵值進行所述逐點相加運算得到所述經處理的圖像特徵。
- 如請求項22-25中任一項所述的裝置,其中,所述非線性變換處理還包括在所述卷積處理和所述逐點相乘運算之間的第二非線性運算,所述第二非線性運算和所述第一非線性運算相同或不同。
- 如請求項22-25中任一項所述的裝置,其中,所述第一非線性運算包括Sigmoid、Tanh或者分段線性映射。
- 如請求項22-25中任一項所述的裝置,還包括:訓練模組,用於構建訓練階段的非線性變換單元,所述訓練階段的非線性變換單元包括第一非線性運算層、卷積處理層、逐點相乘運算層和逐點相加運算層;根據預先獲取的訓練資料訓練得到經訓練的非線性變換單元,所述經訓練的非線性變換單元用於實現所述非線性變換處理。
- 一種編碼器,包括:一個或多個處理器; 非暫態電腦可讀取記錄媒體,耦合到所述處理器並儲存由所述處理器執行的程式,其中所述程式在由所述處理器執行時,使得所述解碼器執行請求項1-7中任一項所述的方法。
- 一種解碼器,包括:一個或多個處理器;非暫態電腦可讀取記錄媒體,耦合到所述處理器並儲存由所述處理器執行的程式,其中所述程式在由所述處理器執行時,使得所述解碼器執行請求項8-14中任一項所述的方法。
- 一種電腦程式產品,包括程式碼,當所述程式碼在電腦或處理器上執行時,用於執行請求項1-14中任一項所述的方法。
- 一種電腦可讀存儲介質,包括指令,當其在電腦上運行時,使得電腦執行如請求項1-14任意一項所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111470979.5 | 2021-12-03 | ||
CN202111470979.5A CN116260983A (zh) | 2021-12-03 | 2021-12-03 | 图像编解码方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202324308A TW202324308A (zh) | 2023-06-16 |
TWI826160B true TWI826160B (zh) | 2023-12-11 |
Family
ID=86611535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111146343A TWI826160B (zh) | 2021-12-03 | 2022-12-02 | 圖像編解碼方法和裝置 |
Country Status (4)
Country | Link |
---|---|
CN (1) | CN116260983A (zh) |
AR (1) | AR127852A1 (zh) |
TW (1) | TWI826160B (zh) |
WO (1) | WO2023098688A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116452696B (zh) * | 2023-06-16 | 2023-08-29 | 山东省计算中心(国家超级计算济南中心) | 一种基于双域特征采样的图像压缩感知重构方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050276475A1 (en) * | 2004-06-14 | 2005-12-15 | Canon Kabushiki Kaisha | Image processing device, image processing method and image processing program |
TW202027033A (zh) * | 2018-12-14 | 2020-07-16 | 大陸商深圳市商湯科技有限公司 | 影像處理方法及裝置、電子設備、電腦可讀取的記錄媒體和電腦程式產品 |
CN111754592A (zh) * | 2020-03-31 | 2020-10-09 | 南京航空航天大学 | 一种基于特征通道信息的端到端多光谱遥感图像压缩方法 |
CN113709455A (zh) * | 2021-09-27 | 2021-11-26 | 北京交通大学 | 一种使用Transformer的多层次图像压缩方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112699265A (zh) * | 2019-10-22 | 2021-04-23 | 商汤国际私人有限公司 | 图像处理方法及装置、处理器、存储介质 |
CN111259904B (zh) * | 2020-01-16 | 2022-12-27 | 西南科技大学 | 一种基于深度学习和聚类的语义图像分割方法及系统 |
-
2021
- 2021-12-03 CN CN202111470979.5A patent/CN116260983A/zh active Pending
-
2022
- 2022-11-30 WO PCT/CN2022/135204 patent/WO2023098688A1/zh unknown
- 2022-12-02 AR ARP220103314A patent/AR127852A1/es unknown
- 2022-12-02 TW TW111146343A patent/TWI826160B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050276475A1 (en) * | 2004-06-14 | 2005-12-15 | Canon Kabushiki Kaisha | Image processing device, image processing method and image processing program |
TW202027033A (zh) * | 2018-12-14 | 2020-07-16 | 大陸商深圳市商湯科技有限公司 | 影像處理方法及裝置、電子設備、電腦可讀取的記錄媒體和電腦程式產品 |
CN111754592A (zh) * | 2020-03-31 | 2020-10-09 | 南京航空航天大学 | 一种基于特征通道信息的端到端多光谱遥感图像压缩方法 |
CN113709455A (zh) * | 2021-09-27 | 2021-11-26 | 北京交通大学 | 一种使用Transformer的多层次图像压缩方法 |
Also Published As
Publication number | Publication date |
---|---|
AR127852A1 (es) | 2024-03-06 |
CN116260983A (zh) | 2023-06-13 |
TW202324308A (zh) | 2023-06-16 |
WO2023098688A1 (zh) | 2023-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11272188B2 (en) | Compression for deep neural network | |
WO2021155832A1 (zh) | 一种图像处理方法以及相关设备 | |
WO2022022288A1 (zh) | 一种图像处理方法以及装置 | |
WO2022021938A1 (zh) | 图像处理方法与装置、神经网络训练的方法与装置 | |
US20230209096A1 (en) | Loop filtering method and apparatus | |
TWI826160B (zh) | 圖像編解碼方法和裝置 | |
US20240037802A1 (en) | Configurable positions for auxiliary information input into a picture data processing neural network | |
WO2023193629A1 (zh) | 区域增强层的编解码方法和装置 | |
CN115604485A (zh) | 视频图像的解码方法及装置 | |
Bing et al. | Collaborative image compression and classification with multi-task learning for visual Internet of Things | |
CN116508320A (zh) | 基于机器学习的图像译码中的色度子采样格式处理方法 | |
TW202337211A (zh) | 條件圖像壓縮 | |
TW202318265A (zh) | 基於注意力的圖像和視訊壓縮上下文建模 | |
WO2022022176A1 (zh) | 一种图像处理方法以及相关设备 | |
CN115409697A (zh) | 一种图像处理方法及相关装置 | |
CN114915783A (zh) | 编码方法和装置 | |
WO2024012227A1 (zh) | 应用于电子设备的图像显示方法、编码方法及相关装置 | |
TWI834087B (zh) | 用於從位元流重建圖像及用於將圖像編碼到位元流中的方法及裝置、電腦程式產品 | |
WO2024007820A1 (zh) | 数据编解码方法及相关设备 | |
WO2023050433A1 (zh) | 视频编解码方法、编码器、解码器及存储介质 | |
WO2022194137A1 (zh) | 视频图像的编解码方法及相关设备 | |
WO2023165487A1 (zh) | 特征域光流确定方法及相关设备 | |
WO2023133888A1 (zh) | 图像处理方法、装置、遥控设备、系统及存储介质 | |
WO2022211658A1 (en) | Independent positioning of auxiliary information in neural network based picture processing | |
You et al. | Efficient and Generic Point Model for Lossless Point Cloud Attribute Compression |