TWI789581B - 用於視頻編碼器的強化學習方法 - Google Patents
用於視頻編碼器的強化學習方法 Download PDFInfo
- Publication number
- TWI789581B TWI789581B TW109113327A TW109113327A TWI789581B TW I789581 B TWI789581 B TW I789581B TW 109113327 A TW109113327 A TW 109113327A TW 109113327 A TW109113327 A TW 109113327A TW I789581 B TWI789581 B TW I789581B
- Authority
- TW
- Taiwan
- Prior art keywords
- frame
- reinforcement learning
- gop
- learning method
- features
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/778—Active pattern-learning, e.g. online learning of image or video features
- G06V10/7784—Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- 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/103—Selection of coding mode or of prediction mode
- H04N19/114—Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
-
- 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/115—Selection of the code volume for a coding unit prior to 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
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/177—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- General Engineering & Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Transmission And Conversion Of Sensor Element Output (AREA)
- Analogue/Digital Conversion (AREA)
- Spinning Or Twisting Of Yarns (AREA)
Abstract
本發明揭露一種用於視頻編碼器的強化學習方法,包括下列步驟:(a) 於一測試時間,根據複數個特徵計算一狀態;(b) 根據一策略決定一行動;(c) 根據該行動、一圖像群組級位元預算及該狀態決定分配至一圖像群組中之一第i幀的一位元數,其中i為正整數; (d) 根據分配至該圖像群組中之該第i幀的該位元數編碼該第i幀 ;以及(e)重複上述步驟(a)至(d)直至該圖像群組之最後一幀。
Description
本發明係與視頻編碼器(Video encoder)有關,尤其是關於一種用於視頻編碼器的強化學習(Reinforcement learning,RL)方法。
對於視頻編碼器而言,如何最佳地將位元分配給受速率限制的圖像組(Group of pictures,GOP)中之每一視頻幀(Video frame),算是控制其視頻位元率的關鍵步驟之一。其主要目的是為了能夠最有效地利用位元預算,藉以達到最大程度地減少累積失真的效果。由於視頻幀之間的相互依賴性,通常會導致最佳位元分配變得困難。此為視頻編碼器控制的典型問題,目前已有兩種典型的解決方法被提出,根據它們的參考依賴性將權重的層次分配給視頻幀。
一般而言,視頻幀在層次結構中較高,並且當它們作為將來更多幀的參考時,其權重通常會更高。透過這些預設權重依比例平衡地分配位元以完成位元分配。
上述方法雖然簡單,但並非最佳,因為權重通常需要根據經驗才能得出。受到強化學習的巨大成功所啟發,強化學習被導入至位元分配的應用中。強化學習有助於決策問題,尤其是那些涉及以長期利益(Long-term benefit)為指導的依賴決策(Dependent decisions)的問題。到目前為止,已有少數的嘗試將強化學習應用於視頻編碼器控制,例如提供訓練強化學習的代理者(Agent)以執行編碼單元劃分決策及幀內速率(Intraframe rate)控制,以及將強化學習用於複雜度感知模式決策(Complexity aware mode decision)等現有技術。
有鑑於此,本發明提出一種用於視頻編碼器的強化學習方法,以有效解決先前技術所遭遇到之上述問題。
依據本發明之一具體實施例為一種用於視頻編碼器的強化學習方法。於此實施例中,強化學習方法包括下列步驟:(a)於測試時間,根據複數個特徵計算狀態;(b)根據策略決定行動;(c)根據行動、圖像群組級位元預算及狀態決定分配至圖像群組中之第i幀的位元數,其中i為正整數;(d)根據分配至圖像群組中之第i幀的位元數編碼第i幀;以及(e)重複上述步驟(a)至(d)直至圖像群組之最後一幀。
於一實施例中,強化學習方法係用於幀級位元分配(Frame-level bit allocation)或幀內位元分配(Intra-frame bit allocation),強化學習方法係應用於強化學習系統,強化學習系統包括代理者(Agent)與環境(Environment)以分配適當的位元至圖像群組中之每一幀,致使圖像群組級失真(GOP-level distortion)受到圖像群組級位元預算之約束而最小化。
於一實施例中,於一時步(time step),代理者係用以從環境觀察狀態並根據策略採取行動。
於一實施例中,策略描述代理者之行為(Behavior)且策略被視為從狀態至行動之隨機映射(Stochastic mapping),以定義以狀態為條件的行動上之分配(Distribution)。
於一實施例中,在採取行動後,代理者從環境接收即時回報(Immediate reward)及新狀態,並且環境之動態(Dynamics)係由過渡分佈(Transition distribution)所定義。
於一實施例中,代理者為幀自適應位元分配演算法(Frame-adaptive bit allocation algorithm)且環境為編碼器,用以編碼第i幀以匹配(Match)分配至圖像群組中之第i幀的位元數。
於一實施例中,行動為介於0與1之間的實數,用以指定分配至圖像群組中之第i幀的位元數與圖像群組級位元預算之比率。
於一實施例中,當第i幀已編碼後,由於壓縮,即時回報被計算為第i幀之負方均根(Negative mean squared error)。
於一實施例中,該複數個特徵包括幀內特徵(Intra-frame feature)為像素值的均值與方差(Mean and variance of pixel values)、幀間特徵(Inter-frame feature)為殘差的均值與方差(Mean and variance of residuals)、剩餘幀的平均幀內特徵(Average of intra-frame features over remaining frames)、剩餘幀的平均幀間特徵(Average of inter-frame features over the remaining frames)、剩餘位元的百分比、目前幀的時間識別(Temporal identification of a current frame)及該圖像群組中剩餘的幀數與每個像素的位元數(亦即位元率/幀率)。
於一實施例中,代理者與環境之間的互動(Interaction)係結束於終端狀態(Terminal state)。
於一實施例中,終端狀態對應於圖像群組級位元預算的下溢(Underflow),其係指當圖像群組中之所有幀均已被編碼時,仍有未用完的剩餘位元。
於一實施例中,對圖像群組中之該些幀的即時回報會受到與剩餘位元所佔百分比成正比之數值的懲罰。
於一實施例中,終端狀態對應於圖像群組級位元預算的上溢(Overflow),其係指當所有位元均已用完時,圖像群組中仍有剩餘的幀未被編碼。
於一實施例中,對圖像群組中之最後一個被編碼的幀的即時回報會受到與剩餘的幀成正比之負數值的懲罰。
於一實施例中,圖像群組中之每一幀均具有幀內特徵及幀間特徵;在對每一幀進行編碼之前,先計算其幀內特徵及幀間特徵。
於一實施例中,幀內特徵係根據該幀的像素值的均值與方差總結出該幀之紋理複雜度(Texture complexity),而幀間特徵係從該幀的複數個預測殘差(Prediction residuals)的均值與方差收集該幀之紋理複雜度。
於一實施例中,該幀的該些預測殘差係透過根據複數個參考幀所形成該幀之零運動預測(Zero-motion prediction)來近似而得。
於一實施例中,零運動預測為單預測(Uni-prediction)或雙預測(Bi-prediction)。
於一實施例中,當在連續行動空間(Continuous action space)中使用深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)演算法訓練代理者時,代理者包括行動者(Actor)及評價者(Critic),係由兩個專用的神經網絡(dedicated neural networks)所實現;行動者係用以決定行動且評價者係用以評估行動者於狀態下所採取的行動之價值。
於一實施例中,於訓練時間(Training time),評價者係透過將預測的即時回報與實際的即時回報之間的損失(Loss)最小化而被學習,而行動者係透過使用策略梯度(Policy gradient)最大化評價者所評估的價值而被更新;於測試時間,行動者扮演代理者的角色。
關於本發明之優點與精神可以藉由以下的發明詳述及所附圖式得到進一步的瞭解。
現在將詳細參考本發明的示範性實施例,並在附圖中說明所述示範性實施例的實例。在圖式及實施方式中所使用相同或類似標號的元件/構件是用來代表相同或類似部分。
本發明之一較佳具體實施例為一種用於視頻編碼器的強化學習方法。於此實施例中,強化學習方法可幫助視頻編碼器採用幀級位元分配(Frame-level bit allocation)或幀內位元分配(Intra-frame bit allocation)來將位元分配給受速率限制的圖像組(Group of pictures,GOP)中之每一視頻幀(Video frame),但不以此為限。
需說明的是,於本發明中,位元分配問題(例如幀級位元分配問題或幀內位元分配問題)係被表述為強化學習問題。基於觀察幀內與幀間的紋理複雜度及位元預算,訓練神經網絡來確定圖像群組(GOP)中之每一幀的目標位元數。隨著編碼的進行,兩個狀態信號都在動態更新。根據實驗結果可知:與HM-16.15中的速率控制方案相比,本發明提出的模型能夠更穩定地控制圖像群組級的位元率,同時亦提供更理想的峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)。
關於本發明之說明書的其餘部分簡述如下:[第一部分]敘述本發明的強化學習的基礎。[第二部分]敘述本發明將位元分配問題表述為強化學習問題。[第三部分]詳細描述本發明的網路設計及訓練過程。[第四部分]敘述本發明的實驗結果。[第五部分]提出本發明的總結。
[第一部分]
[第一部分]回顧了強化學習的基礎知識,以幫助理解本發明所提出的用於視頻編碼器的強化學習方法。請參照圖1。圖1繪示包括代理者(Agent)10與環境(Environment)12之標準的強化學習系統之示意圖。其中,代理者10於分離的時步與環境12互動。
在每個時步t,代理者10會從環境12觀察狀態(State)st
並根據描述代理者10之行為的策略(Policy)π(at
|st
)採取行動(Action)at
。通常策略被視為從狀態至行動之隨機映射(Stochastic mapping),以定義以狀態st
為條件的行動at
上之分配(Distribution)。這種一般性解釋包括作為特例的確定性策略。
在採取行動時,代理者10從環境12接收立即獎勵rt
+1及新狀態st
+1,並且環境12的動態可由過渡分佈(Transition distribution)p(rt+1
, st+1
|st
, at
)所定義。換句話說,rt+1
, st+1
~ p(rt+1
, st+1
|st
, at
)。應當注意的是,代理者10與環境12之間的互動會於連續任務中無限期地持續,或於情節任務中以終端狀態結束。
其中,γ∈[0,1]係用以確保總和在連續任務中收斂的折扣因子。 直觀而言,最佳策略π(at
|st
)是給序列s0
,a0
,r1
,s1
,a1
,r2
,s2
,…分配較高的概率,而累積獎勵更大。可以看出,任何這樣序列的聯合概率都嚴格取決於π(at
|st
),如公式(2)所示:
其中,環境12的初始狀態分佈p(s0
)和環境12的動態p(rt+1
, st+1
|st
, at
)不受代理者10的控制。
[第二部分]
[第二部分]係將位元分配問題表述為強化學習問題。
其中,bi
代表分配給圖像群組中之第i幀Fi
的位元數,Di
代表編碼第i幀Fi
以匹配位元數bi
所造成的失真(均方誤差),Ri
代表編碼器產生的實際位元數,RGOP代表圖像群組級位元預算。在理想情況下,Ri
(bi
)應與位元數bi
相同;但實際上,編碼器可能無法精確地匹配位元數bi
。利用公式(3),對GOP決定變成強化學習的問題,並對圖像群組中之每一幀進行編碼。
請參考圖2。圖2繪示位元分配問題被制定為強化學習問題之實施例。
於此實施例中,代理者10可以是幀自適應位元分配演算法(Frame-adaptive bit allocation algorithm)。代理者10輸出的行動ai
∈[0,1]是介於0和1之間的實數,用以指定分配給圖像群組中之第i幀Fi
的位元數bi
與圖像群組級位元預算RGOP的比率,亦即分配給圖像群組中之第i幀Fi
的位元數bi
會等於行動ai
乘以圖像群組級位元預算RGOP。環境12可以是用以對圖像群組中之第i幀Fi
進行編碼以匹配位元數bi
的編碼器。
當第i幀Fi
編碼之後的立即回報ri
被計算為(-1)*Di
(bi
),也就是第i幀Fi
由於壓縮而產生的負均方差。失真Di
(bi
)乘以-1代表本發明希望透過最大化回報的方式來實現失真的最小化。行動ai
所基於的狀態si
包括表I所列出的手工功能。
表I: 狀態定義 | |
元件(Components) | |
1 | 幀內特徵(Intra-frame feature):像素值的均值與方差(mean and variance of pixel values) |
2 | 幀間特徵(Inter-frame feature):殘差的均值與方差(mean and variance of residuals) |
3 | 剩餘幀的平均幀內特徵(An average of intra-frame features over remaining frames) |
4 | 剩餘幀的平均幀間特徵(An average of inter-frame features over the remaining frames) |
5 | 剩餘位元的百分比 |
6 | 目前幀的時間識別(A temporal identification of a current frame) |
7 | 圖像群組中剩餘的幀數 |
8 | 每個像素的位元數(例如位元率/幀率) |
在測試時間內,本實施例的強化學習方法包括下列步驟:
(1)根據表I所列特徵計算狀態si
;
(2)透過狀態為si
的代理者10確定行動ai
,然後將行動ai
乘以圖像群組級位元預算RGOP,以得到分配給圖像群組GOP中之第i幀Fi
的位元數bi
作為輸入;
(3)根據位元數bi
對第i幀Fi
進行編碼;以及
(4)重複上述步驟(1)至(3),直到圖像群組GOP的最後一幀結束。
需注意的是,在情節任務中,代理者10與環境12之間的互動可以終端狀態結束。請參照圖3A和圖3B。如圖3A所示,終端狀態是圖像群組GOP中之所有幀F1
~FN
已成功被編碼。如圖3B所示,終端狀態是所有位元b1
~bT
都用完,但仍剩餘一些幀FT+1
~FN
未被編碼。
然後,將討論狀態si
的定義。由上述可知:狀態si
係作為代理者10計算行動ai
的唯一基礎。為了產生對第i幀Fi
的目標位元數的合理估計,其必須有足夠的訊息。
為此,圖像群組GOP中之每一幀均應具有兩種類型的特徵:幀內特徵(Intra-frame feature)與幀間特徵(Inter-frame feature)。前者根據該幀的像素值的均值與方差總結該幀的紋理複雜度,而後者則從該幀的預測殘差中收集相同的統計信息。
為簡單起見,本發明透過從參考幀形成該幀的零運動預測來近似殘差信號。實際上,可對所有可能的預測類型均進行近似,包括從列表L0
及L1
中的每一參考幀進行單預測,以及從每一列表中之一參考幀進行各種組合的雙預測。
請參照圖4。圖4繪示根據目前幀與參考列表L0
~L1
得到單預測特徵及雙預測特徵的實施例。透過如此作法,可假設圖像群組GOP的預測結構為已知且固定的,亦即幀間相關性是預先知道的。因此,可以在對圖像群組GOP幀中之每一幀進行編碼之前,先計算出該幀的幀內特徵及幀間特徵。因此,當需將參考幀用於特徵提取時,很可能尚未對參考幀進行編碼。在此情況下,我們轉向其原始幀。如圖5及圖6所示,單預測特徵是單預測殘差的均值及方差。
當目前幀(例如第i幀Fi
)的幀間特徵及幀內特徵已收集完成,可以相同方式繼續收集圖像群組GOP中之其餘幀的幀間特徵及幀內特徵,並可透過採用逐元素平均的方式將它們的特徵拉在一起,所得到的特徵向量可成為狀態si
的一部分,用以指示其餘幀的平均複雜度。
其目標為代理者10可學習將位元預算的適當部分分配給目前幀Fi
,取決於目前幀Fi
的複雜度、圖像群組GOP中之其餘幀的平均複雜度及其他因素(例如目前幀Fi
的時間識別及剩餘位數)。這些條件變量(統稱為狀態si
)在對每個幀進行編碼後進行更新。
需注意的是,當參考幀在過程中變為可用時,用於特徵間計算的殘差信號將進行更新。它們在最初可能已基於原始幀進行計算。
然後,接下來將討論極端情況下的回報信號。在訓練時,可能會出現兩種極端情況,分別對應於圖像群組級位元預算的上溢(Overflow)及下溢(Underflow)。
請參照圖7,圖像群組級位元預算的上溢(Overflow)係指在編碼圖像群組中之某一幀FT
後的累積編碼位元已超過圖像群組級位元預算,故已達終端狀態而提前終止。為了避免在測試時達到終端狀態,在提前終止情況下之最後一個編碼幀FT
的即時回報rT
會受到較大的負值的懲罰Pover
,該負值的懲罰Pover
與圖像群組GOP中之剩餘未編碼的幀FT+1
~FN
的數量成正比,其中T>N。
例如,假設圖像群組GOP總共包括第一幀F1
至第十六幀F16
,若編碼完第四幀F4
之後已超過圖像群組級位元預算而達到終端狀態,則負值的懲罰Pover
為(-100)*(16-4)。也就是說,若圖像群組級位元預算愈早被超過,即時回報就會愈小。
請參照圖8,圖像群組級位元預算的下溢(Underflow)係指當圖像群組GOP的所有幀F1
~ FN
均已完成編碼之後仍剩餘一些位元bN+1
~bT
,因此代理者10也將受到懲罰。具體而言,懲罰Punder
通過將其失真乘以剩餘的位元bN+1
~bT
所佔的百分比而在圖像群組GOP中之所有幀F1
~FN
之間分配,其中T>N。
換句話說,當剩餘的位元bN+1
~bT
愈多時,圖像群組GOP中之每一幀的即時回報rT
愈小;因此可訓練代理者10不要發生這種情況。
[第三部分]
在[第三部分]中,本發明透過深度確定性策略梯度(DDPG)演算法來訓練代理者10,該演算法是用於連續行動空間的強化學習演算法。 回想一下,由於代理者10的輸出是介於0與1之間的實數,故其具有連續的行動空間。
如圖9所示,DDPG算法中的主體包括行動者(Actor)90和評價者(Critic)92。行動者90係用以決定行動at =
μ(st
|θ),而評價者92係用以評估行動者90在狀態st
下所採取的行動at
的價值Q(st
, at
|w)。需注意的是,行動者90與評價者92可由兩個專用神經網路所實現,如圖10所示。
於訓練時間中,評價者92係透過將預測的即時回報與實際的即時回報之間的損失(Loss)最小化的方式被學習,而行動者90則透過使用策略梯度(Policy gradient)最大化評價者92所評估的價值Q(st
, at
|w)的方式被更新;於測試時間中,行動者90扮演代理者10的角色。於此實施例中,以深度確定性策略梯度(DDPG)演算法訓練代理者10的詳細過程,如下列演算法1所述:
演算法1:以深度確定性策略梯度(DDPG)演算法訓練代理者 |
出於複雜度之考量,行動者90與評價者92均可由僅具有三個完全連接層之網路所實現。在HEVC/H.265的常規測試條件與隨機存取(RA)的配置下,可按照四個序列(亦即BasketballDrill、PartyScene(C類)、BQSquare及BlowingBubbles(D類))對它們進行訓練(請參照圖5及圖6)。具體而言,假設圖像群組GOP包括十六幀,則其可包括一個I幀與十五個B幀,但不以此為限。另外,目標位元是透過以固定的QP 22、27、32及37對訓練序列進行編碼而設置的。
為了進行實驗,該方法係於HM-16.15上實現,並將其性能與內置的位元分配演算法(以下稱為基準)進行比較。該測試是在隨機存取配置下進行的,在每個包括十六幀的圖像群組GOP中均編碼一個幀內幀(亦即I幀)。
此外,本發明還測試了通過固定QP編碼確定的用於訓練的四個目標位元率。這些序列級別的位元率作為目標圖像群組級的位元率被延續到每個GOP。目的是具有恆定的圖像群組位元率。
表II:位元率(Bit rate)之誤差與變化
表II測量了最高及最低測試位元率的位元率誤差與變化。 前者的計算方式為(|Rt
-Ra
|/Ra
)*100%,其中Rt
與Ra
分別為序列級目標(Sequence level target)及實際位元率。後者則測量圖像群組級的平均位元率誤差;也就是說,Rg
(i)表示第i個圖像群組的實際位元率。
根據表II,該實施例的模型非常接近地匹配目標位元率,並且圖像群組級位元率的波動遠不如基線明顯,尤其是在低位元率時。圖11A至圖11D將圖像群組級位元率可視化為圖像群組級指數的函數亦證實了這一點。
基線模型難以維持恆定的圖像群組級位元率的原因是,它為幀內幀(I幀)實現了序列級位元分配。具體而言,分配給每個I幀的位元數是序列中每幀剩餘位元的函數,並且不受圖像群組級位元預算的約束,這僅會影響B幀的位元分配。
導致波動的另一因素是,為了最大程度地降低序列級的位元率誤差,基線採用了一種窗口化機制:當目前圖像群組的實際位元率高於目標位元率時,圖像群組將透過降低其目標位元率來補償差異。反之,當目前圖像群組的實際位元率低於目標位元率時,圖像群組將透過增加其目標位元率來補償差異。相較之下,本發明的設計始終將其位元分配置於圖像群組級的速率約束下。
請參考圖12A至圖12H。圖12A至圖12H分別繪示比較提出的模型的位元分配與以最低和最高位元率編碼的兩個序列的基線的實驗結果,提供了每種情況下的實際編碼位元數。根據圖12A至圖12H可以發現:本發明提出的模型為具有較低時間識別(Tid)的I幀及B幀分配更多的位元,這與人造基線的模型產生的結果一致。
然而,這兩種模型在不同的位元率下會表現出不同的行為。 在低位元率下,本發明提出的模型在I幀上的權重較小,而基線的模型為其增加更多權重。在高位元率下,本發明提出的模型開始將位元分配給不同時間識別的B幀,而基線的模型幾乎總是偏向時間識別最低的B幀。
需注意的另一重點是,對於本發明提出的模型,B幀的目標位元數與實際位元數之間可能會有偏差,尤其是在低位元率下。這歸因於HM-16.15在目標位元數與相對應的幀級初始QP之間採用時變映射(Time-varying mapping)的事實。在理想情況下,映射應隨著時間更新,以使實際位元數與目標位元數能夠緊密匹配。
為了固定的環境動力學,本發明提出的模型可用以在訓練時間與測試時間固定此種映射。固定映射意味著目標位元率與實際位元率之間的近似固定,但可能會有偏差的關係。儘管存在潛在的偏差,但在強化學習的框架下,可允許代理者了解偏差,使其知道如何設置目標位元率,以獲得所需的實際位元率。藉此,實際位元率會更準確地反映代理者所完成的位元分配。
表III:相對於基線的峰值訊雜比(BD-PSNR)
表III顯示本發明提出的模型在基線上的峰值訊雜比(Bjøntegaard Delta Peak Signal-to-Noise Ratio,BD-PSNR)。正值表示較高的峰值訊雜比。從左到右,按照常規方法計算逐分量的峰值訊雜比,而最右邊的列(YUV)表示專門的計算,其中在轉換為峰值訊雜比之前,先針對所有三個分量及視頻幀計算均方差(MSE)。
具體地,這樣的均方差被計算為(4×MSEY+MSEU+MSEV)/ 6,其中MSEY、MSEU及MSEV分別是Y、U及V分量的均方差。此一峰值訊雜比計算方法較佳地反映了本發明的強化學習的效益,亦即能夠最大程度地降低圖像群組級的均方差。
從表III中可以發現,使用YUV方法的平均峰值訊雜比增益為0.306 dB,這證實了強化學習的代理者確實優化了回報。然而,亦可發現到:基於常規的峰值訊雜比度量,U與V分量存在著損耗。
接著,請參照圖13。圖13繪示本發明之一較佳具體實施例中之用於視頻編碼器的強化學習方法的流程圖。
如圖13所示,此實施例中之強化學習方法包括下列步驟:
步驟S10:於測試時間,根據複數個特徵(Features)計算狀態(State);
步驟S12:根據策略(Policy)決定行動(Action);
步驟S14:根據行動、圖像群組級位元預算(GOP-level bit budget)及狀態決定分配至圖像群組(GOP)中之第i幀(i-th frame)的位元數,其中i為正整數;
步驟S16:根據分配至圖像群組中之第i幀的位元數編碼(Encode)第i幀; 以及
步驟S18:重複上述步驟S10至S16,直至圖像群組中之最後一幀。
需要說明的是,上述步驟S10至S18僅是本發明的一個實施例,本發明的範圍不限於此實施例。
[第四部分]
綜合上述可知:本發明提出一種用於視頻編碼器的強化學習方法,藉以對代理者進行訓練,以確定受速率約束的圖像群組中之每個視頻幀的目標位元數。並且,相較於先前技術,本發明提出的強化學習方法對於圖像群組級位元率之控制更佳且可有效降低均方差。因此,本發明提出的強化學習方法可預期能夠在未來的視頻編碼器控制中具有巨大的發展潛力。
10:代理者
12:環境
at
:行動
rt
、rt+1
:立即回報
st
、st+1
:狀態
GOP:圖像群組
F1
~FN
:幀
b1
~bN
:位元
S3
:狀態
-D3
(b3
):失真
Tid0~Tid4:時間識別
0~16:幀
90:行動者
92:評價者
Q(st
,at
|w):價值
S10~S18:步驟
本發明所附圖式說明如下:
圖1繪示標準的強化學習設定,其中代理者10於分離的時步與環境12互動之示意圖。
圖2繪示位元分配問題被制定為強化學習問題之實施例。
圖3A繪示終端狀態為圖像群組中之所有幀F1
~FN
均成功被編碼之實施例。
圖3B繪示終端狀態為所有位元b1
~bT
均用盡,但仍有剩餘的幀FT+1
~FN
未被編碼之實施例。
圖4繪示根據目前幀與參考清單L0
~L1
所得到的單預測特徵與雙預測特徵之實施例。
圖5及圖6繪示單預測特徵為單預測殘差的均值與方差之實施例。
圖7及圖8分別繪示在訓練時間發生的圖像群組級位元預算(GOP-level bit budget)的上溢(Overflow)及下溢(Underflow)之實施例。
圖9繪示以深度確定性策略梯度(DDPG)演算法訓練代理者之實施例。
圖10繪示行動者90及評價者92係由兩個專用的神經網絡(dedicated neural networks)所實現之實施例。
圖11A至圖11D分別繪示圖像群組的位元率作為圖像群組指數之函數的實驗結果。
圖12A至圖12H分別繪示比較提出的模型的位元分配與以最低和最高位元率編碼的兩個序列的基線的實驗結果。
圖13繪示本發明之一實施例中之用於視頻編碼器的強化學習方法的流程圖。
S10~S18:步驟
Claims (17)
- 一種用於視頻編碼器(Video encoder)的強化學習(Reinforcement learning,RL)方法,用於幀級位元分配(Frame-level bit allocation)或編碼樹單元級位元分配(Coding Tree Unit(CTU)-level bit allocation),其中該編碼樹單元級位元分配(CTU-level bit allocation)係為幀內位元分配(Intra-frame bit allocation),當該強化學習方法用於該幀級位元分配時,該強化學習方法包括下列步驟:(1a)於一測試時間,根據複數個特徵(Features)計算一狀態(State);(1b)根據一策略(Policy)決定一行動(Action);(1c)根據該行動、一圖像群組級位元預算(GOP-level bit budget)及該狀態決定分配至一圖像群組(Group of pictures,GOP)中之一第i幀(i-th frame)的一位元數,其中i為正整數;(1d)根據分配至該圖像群組中之該第i幀的該位元數編碼(Encode)該第i幀;以及(1e)重複上述步驟(1a)至(1d)直至該圖像群組之最後一幀;其中,該代理者與該環境之間的互動(Interaction)結束於一終端狀態(Terminal state),當該終端狀態對應於該圖像群組級位元預算的下溢(Underflow)時,對該圖像群組中之該些幀的一即時回報會受到一數值的懲罰且該數值係與當該圖像群組中之所有幀均已被編碼時仍未用完的剩餘位元所佔百分比成正比。
- 如申請專利範圍第1項所述的強化學習方法,其中該強化 學習方法係應用於一強化學習系統,該強化學習系統包括一代理者(Agent)與一環境(Environment)以分配適當的位元至該圖像群組中之每一幀,致使一圖像群組級失真(GOP-level distortion)受到該圖像群組級位元預算之約束而最小化。
- 如申請專利範圍第2項所述的強化學習方法,其中於一時步(time step),該代理者係用以從該環境觀察該狀態並根據該策略採取該行動。
- 如申請專利範圍第2項所述的強化學習方法,其中該策略描述該代理者之一行為(Behavior)且該策略被視為從該狀態至該行動之一隨機映射(Stochastic mapping),以定義以該狀態為條件的該行動上之一分配(Distribution)。
- 如申請專利範圍第3項所述的強化學習方法,其中在採取該行動後,該代理者從該環境接收一即時回報(Immediate reward)及一新狀態,並且該環境之動態(Dynamics)係由一過渡分佈(Transition distribution)所定義。
- 如申請專利範圍第1項所述的強化學習方法,其中該代理者為一幀自適應位元分配演算法(Frame-adaptive bit allocation algorithm)且該環境為一編碼器,用以編碼該第i幀以匹配(Match)分配至該圖像群組中之該第i幀的該位元數。
- 如申請專利範圍第2項所述的強化學習方法,其中該行動 為介於0與1之間的實數,用以指定分配至該圖像群組中之該第i幀的該位元數與該圖像群組級位元預算之一比率。
- 如申請專利範圍第5項所述之強化學習方法,其中當該第i幀已編碼後,由於壓縮,該即時回報被計算為該第i幀之一負方均根(Negative mean squared error)。
- 如申請專利範圍第1項所述之強化學習方法,其中該複數個特徵包括幀內特徵(Intra-frame feature)為像素值的均值與方差(mean and variance of pixel values)、幀間特徵(Inter-frame feature)為殘差的均值與方差(mean and variance of residuals)、剩餘幀的平均幀內特徵(An average of intra-frame features over remaining frames)、剩餘幀的平均幀間特徵(An average of inter-frame features over the remaining frames)、剩餘位元的百分比、目前幀的時間識別(A temporal identification of a current frame)、該圖像群組中剩餘的幀數與每個像素的位元數(亦即位元率/幀率)。
- 如申請專利範圍第1項所述之強化學習方法,其中當該終端狀態對應於該圖像群組級位元預算的上溢(Overflow)時,其係指當所有位元均已用完時,該圖像群組中仍有剩餘的幀未被編碼。
- 如申請專利範圍第10項所述之強化學習方法,其中對該圖像群組中之最後一個被編碼的幀的一即時回報會受到與剩餘的幀成正比之一負數值的懲罰。
- 如申請專利範圍第1項所述之強化學習方法,其中該圖 像群組中之每一幀均具有幀內特徵及幀間特徵;在對每一幀進行編碼之前,先計算其幀內特徵及幀間特徵。
- 如申請專利範圍第12項所述之強化學習方法,其中該幀內特徵係根據該幀的像素值的均值與方差總結出該幀之一紋理複雜度(texture complexity),而該幀間特徵係從該幀的複數個預測殘差(Prediction residuals)的均值與方差收集該幀之該紋理複雜度。
- 如申請專利範圍第13項所述之強化學習方法,其中該幀的該些預測殘差係透過根據複數個參考幀所形成該幀之一零運動預測(Zero-motion prediction)來近似而得。
- 如申請專利範圍第14項所述之強化學習方法,其中該零運動預測為單預測(Uni-prediction)或雙預測(Bi-prediction)。
- 如申請專利範圍第1項所述之強化學習方法,其中當在一連續行動空間(Continuous action space)中使用深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)演算法訓練該代理者時,該代理者包括一行動者(Actor)及一評價者(Critic),係由兩個專用的神經網絡(dedicated neural networks)所實現;該行動者係用以決定該行動且該評價者係用以評估該行動者於該狀態下所採取的該行動之一價值。
- 如申請專利範圍第16項所述之強化學習方法,其中於一訓練時間(Training time),該評價者係透過將一預測的即時回報與一實際的即時回報之間的損失(Loss)最小化而被學習,而該行動者係透過使用一策 略梯度(Policy gradient)最大化該評價者所評估的該價值而被更新;於該測試時間,該行動者扮演一代理者的角色。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962837423P | 2019-04-23 | 2019-04-23 | |
US62/837,423 | 2019-04-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202106011A TW202106011A (zh) | 2021-02-01 |
TWI789581B true TWI789581B (zh) | 2023-01-11 |
Family
ID=72917476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109113327A TWI789581B (zh) | 2019-04-23 | 2020-04-21 | 用於視頻編碼器的強化學習方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11166017B2 (zh) |
TW (1) | TWI789581B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112468808B (zh) * | 2020-11-26 | 2022-08-12 | 深圳大学 | 一种基于强化学习的i帧目标带宽分配方法及装置 |
EP4289138A1 (en) | 2021-05-28 | 2023-12-13 | DeepMind Technologies Limited | Training rate control neural networks through reinforcement learning |
US20230048189A1 (en) * | 2021-08-16 | 2023-02-16 | Nvidia Corporation | Machine learning of encoding parameters for a network using a video encoder |
-
2020
- 2020-04-21 TW TW109113327A patent/TWI789581B/zh active
- 2020-04-22 US US16/855,190 patent/US11166017B2/en active Active
Non-Patent Citations (1)
Title |
---|
網路文獻 L.-C. Chen, J.-H. Hu and W.-H. Peng, "Reinforcement learning for HEVC/H.265 frame-level bit allocation", Proc. IEEE 23rd Int. Conf. Digit. Signal Process. (DSP), Nov. 2018。 |
Also Published As
Publication number | Publication date |
---|---|
US11166017B2 (en) | 2021-11-02 |
US20200344472A1 (en) | 2020-10-29 |
TW202106011A (zh) | 2021-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI789581B (zh) | 用於視頻編碼器的強化學習方法 | |
CN1910934B (zh) | 自适应速率控制编码器 | |
KR100484148B1 (ko) | 개선된 비트율 제어 방법과 그 장치 | |
US8559501B2 (en) | Method and apparatus for adaptively determining a bit budget for encoding video pictures | |
US8594190B2 (en) | Encoding with visual masking | |
US8238444B2 (en) | Perceptual-based video coding method | |
CN101069432B (zh) | 用于视频编码器速率控制的量化参数的确定方法和设备 | |
CN113766226A (zh) | 图像编码方法、装置、设备及存储介质 | |
JP5117915B2 (ja) | イントラピクチャーのみを利用した動画シーケンスの符号化時のビット率制御方法及び装置 | |
CN112399176B (zh) | 一种视频编码方法、装置、计算机设备及存储介质 | |
US20200068200A1 (en) | Methods and apparatuses for encoding and decoding video based on perceptual metric classification | |
KR20050018047A (ko) | 실시간 가변 비트율 제어로 화질을 개선시키는 비디오인코더의 인코딩율 제어기, 이를 구비한 비디오 데이터전송 시스템 및 그 방법 | |
JP2020518174A (ja) | ビデオフレーム符号化方法、端末、および記憶媒体 | |
TWI394462B (zh) | 基於視覺感知的位元-失真最佳化位元分配的位元率控制方法 | |
CN108012149B (zh) | 一种视频编码中码率控制的方法 | |
CN111294595A (zh) | 一种基于深度强化学习的视频编码帧内码率控制方法 | |
Chen et al. | Reinforcement learning for HEVC/H. 265 frame-level bit allocation | |
CN108040256A (zh) | 一种基于h.265的码率控制方法、系统及装置 | |
US10110893B2 (en) | Method and device for calculating distortion of a video being affected by compression artifacts and channel artifacts | |
CN117956160A (zh) | 码率控制方法、码率控制装置以及计算机存储介质 | |
CN112243129B (zh) | 视频数据处理方法、装置、计算机设备及存储介质 | |
JP4364350B2 (ja) | 可変レート動画像符号化装置 | |
CN116320529A (zh) | 视频码率控制方法及装置、计算机可读存储介质 | |
CN112218088A (zh) | 一种图像与视频压缩方法 | |
CN114422783B (zh) | 视频编码方法、电子设备及存储介质 |