TWI703857B - 視頻轉碼方法及設備、電腦儲存介質及電子設備 - Google Patents

視頻轉碼方法及設備、電腦儲存介質及電子設備 Download PDF

Info

Publication number
TWI703857B
TWI703857B TW108119926A TW108119926A TWI703857B TW I703857 B TWI703857 B TW I703857B TW 108119926 A TW108119926 A TW 108119926A TW 108119926 A TW108119926 A TW 108119926A TW I703857 B TWI703857 B TW I703857B
Authority
TW
Taiwan
Prior art keywords
frame
video
sequence
ratio
source video
Prior art date
Application number
TW108119926A
Other languages
English (en)
Other versions
TW202015410A (zh
Inventor
張昊
王劍光
馬學睿
汪亮
翟海昌
廖念波
Original Assignee
中南大學
大陸商騰訊科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中南大學, 大陸商騰訊科技(深圳)有限公司 filed Critical 中南大學
Publication of TW202015410A publication Critical patent/TW202015410A/zh
Application granted granted Critical
Publication of TWI703857B publication Critical patent/TWI703857B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本揭示提供一種視頻轉碼方法及設備、電腦儲存介質及電子設備,所述方法包括:獲取源視頻資料中的視頻序列及所述視頻序列中的源視頻幀;獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值,並基於所述第一比值對所述源視頻幀的量化參數進行調整;基於調整後的量化參數對所述源視頻幀進行編碼處理,得到目標視頻幀,採用所述目標視頻幀替換所述源視頻幀,得到替換後的視頻序列;以及將所述替換後的視頻序列添加至目標視頻資料中。

Description

視頻轉碼方法及設備、電腦儲存介質及電子設備
本揭示涉及電腦技術領域,尤其涉及一種視頻轉碼方法及設備、電腦儲存介質及電子設備。
隨著資訊技術的飛躍,多媒體技術在網路中的應用得到了空前發展,作為多媒體技術重要組成部分的視頻通信技術也得到了極大的發展和應用。由於不同的視頻可能採用不同的編碼或者壓縮標準,而且具體應用場景也可能不同, 因此在不同的設備間共用、交換或者播放視頻檔時,通常需要進行視頻轉碼操作。
視頻轉碼是指將已經壓縮編碼的視頻碼流轉換成另一格式的視頻碼流,以適應不同的網路頻寬、不同的終端處理能力和不同的用戶需求。視頻轉碼本質上是一個先解碼、再編碼的過程,在該過程中既可能涉及不同視頻格式之間的轉換,例如從MPEG-2或者MPEG-4轉到H.264;也可能涉及對碼率、 解析度和幀率等轉碼參數的調整,使得執行轉碼操作生成的視頻能夠滿足特定的需求。
現有技術中,為了減少視頻轉碼過程中的品質波動,通常採用四路編碼技術,四路編碼技術是指對與源視頻資料相同的四路視頻資料分別進行編碼並複用為一路的過程,而每路編碼的實現需要依據前一次的編碼資訊實現當前次的編碼過程,即第i+1次編碼採用第i次的編碼資訊,以此方式完成所有編碼塊的編碼過程,編碼的次數越多,參考資訊越多,品質損失越少,但採用相同的方式分別對四路視頻資料進行編碼必然會導致編碼時間的增加。因此,習知技術中在保證了視頻品質的情況下大大增加了編碼時間複雜度。
本揭示實施例提供了一種視頻轉碼方法及設備、電腦儲存介質及電子設備,通過基於視頻序列中首幀的預測殘差絕對值與視頻序列的碼率的第一比值對各視頻序列中的各源視頻幀的量化參數進行調整,並採用調整後的量化參數進行編碼而減少視頻轉碼過程中的品質抖動,不需要進行四路編碼,編碼方式簡單快捷,進而可以減少編碼時間複雜度。
本揭示實施例一方面提供一種視頻轉碼方法,包括:獲取源視頻資料中的視頻序列,獲取所述視頻序列中的源視頻幀,所述源視頻資料包括按照序列排列順序進行排列的多個視頻序列;獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值,並基於所述第一比值對所述源視頻幀的量化參數進行調整;基於調整後的量化參數對所述源視頻幀進行編碼處理,得到目標視頻幀,採用所述目標視頻幀替換所述源視頻幀,得到替換後的視頻序列;以及將所述替換後的視頻序列按照所述序列排列順序添加至目標視頻資料中。
本揭示實施例一方面提供一種視頻轉碼設備,包括:一源視頻幀獲取單元,用於獲取源視頻資料中的視頻序列,獲取所述視頻序列中的源視頻幀,所述源視頻資料包括按照序列排列順序進行排列的多個視頻序列;一參數調整單元,用於獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值,並基於所述第一比值對所述源視頻幀的量化參數進行調整;一視頻幀編碼單元,用於基於調整後的量化參數對所述源視頻幀進行編碼處理,得到目標視頻幀,採用所述目標視頻幀替換所述源視頻幀,得到替換後的視頻序列;以及一序列添加單元,用於將所述替換後的視頻序列按照所述序列排列順序添加至目標視頻資料中。
可選的,所述視頻轉碼設備還包括:一編號設置單元,用於設置源視頻資料中多個視頻序列的序號集合,並設置所述多個視頻序列中各視頻序列的幀號集合,所述序號集合包括首序號以及非首序號,所述幀號集合包括首幀號、首部受影響幀號、中部受影響幀號以及尾部受影響幀號。
可選的,所述視頻轉碼設備還包括:一編號獲取單元,用於獲取所述視頻序列在所述序號集合中的序號以及所述源視頻幀在所述幀號集合中的幀號。
可選的,所述參數調整單元具體用於:獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值;以及當所述序號為首序號且所述幀號為首幀號時,基於所述第一比值對所述源視頻幀的量化參數進行調整。
可選的,所述參數調整單元具體用於:獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值;當所述序號為首序號且所述幀號為首部受影響幀號,或者所述序號為首序號且所述幀號為中部受影響幀號時,獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值;以及基於所述第一比值以及所述第二比值對所述源視頻幀的量化參數進行調整。
可選的,所述參數調整單元具體用於:獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值;當所述序號為首序號且所述幀號為尾部受影響幀號時,獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值以及所述源視頻幀的圖像模糊度與所述源視頻幀的預測殘差絕對值的第三比值;以及基於所述第一比值、所述第二比值以及所述第三比值對所述源視頻幀的量化參數進行調整。
可選的,所述參數調整單元具體用於:獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值;當所述序號為非首序號且所述幀號為首幀號時,獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值以及所述源視頻幀的圖像模糊度與所述源視頻幀的預測殘差絕對值的第三比值;以及
基於所述第一比值、所述第二比值以及所述第三比值對所述源視頻幀的量化參數進行調整。
可選的,所述參數調整單元具體用於:獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值;當所述序號為非首序號且所述幀號為首部受影響幀號,或所述序號為非首序號且所述幀號為中部受影響幀號,或所述序號為非首序號且所述幀號為尾部受影響幀號時,獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值以及所述源視頻幀的圖像模糊度與所述源視頻幀的預測殘差絕對值的第三比值,並獲取所述視頻序列中首幀的圖像模糊度與所述首幀的預測殘差絕對值的第四比值;以及基於所述第一比值、所述第二比值、所述第三比值以及所述第四比值對所述源視頻幀的量化參數進行調整。
本揭示實施例一方面提供一種電腦儲存介質,所述電腦儲存介質儲存有多條指令,所述指令適於由處理器載入並執行上述的方法。
本揭示實施例一方面提供一種電子設備,包括:處理器和記憶體;其中所述記憶體儲存有電腦程式,所述電腦程式適於由所述處理器載入並執行上述的方法。
在本揭示實施例中,通過獲取源視頻資料中按照序列排列順序進行排列的多個視頻序列中的一個視頻序列,並獲取該視頻序列中的源視頻幀,再計算該視頻序列中首幀的預測殘差絕對值與該視頻序列的碼率的第一比值,基於所述第一比值對所述源視頻幀的量化參數進行調整,基於調整後的量化參數對所述源視頻幀進行編碼處理,得到目標視頻幀,採用所述目標視頻幀替換所述源視頻幀,得到替換後的視頻序列,將所述替換後的視頻序列按照所述序列排列順序添加至目標視頻資料中,針對所有的視頻序列均採用相同的方式進行處理,從而實現視頻轉碼過程。通過基於視頻序列中首幀的預測殘差絕對值與視頻序列的碼率的第一比值對各視頻序列中的各源視頻幀的量化參數進行調整,並採用調整後的量化參數進行編碼而減少視頻轉碼過程中的品質抖動,不需要進行四路編碼,編碼方式簡單快捷,進而可以減少編碼時間複雜度。
下面將結合本揭示實施例中的附圖,對本揭示實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本揭示一部分實施例,而不是全部的實施例。基於本揭示中的實施例,本揭示所屬技術領域中具有通常知識者在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本揭示保護的範圍。
請參見第1圖,為本揭示實施例提供的一種視頻轉碼網路架構示意圖。如第1圖所示,所述網路架構可以包括視頻轉碼設備2000,源視頻資料3000,源視頻資料3000對應的多個視頻序列4000a、4000b、…、4000n,每個視頻序列所包含的多個源視頻幀,如視頻序列4000a包含的多個源視頻幀5000a、視頻序列4000b包含的多個源視頻幀5000b、…、視頻序列4000n包含的多個源視頻幀5000n,每個源視頻幀經過視頻轉碼設備2000處理後的目標視頻幀6000a、6000b、…、6000n,採用目標視頻幀替換源視頻幀後得到的替換後的視頻序列7000a、7000b、…、7000n,以及將各替換後的視頻序列進行合成得到的目標視頻資料8000。
所述視頻轉碼設備2000可以為使用者終端,包括平板電腦、個人電腦(Personal Computer,PC)、智慧手機、掌上型電腦以及移動互聯網設備(Mobile Internet Device,MID)等具備視頻轉碼功能的終端設備,還可以為終端應用程式,如小程式或APP等;所述視頻轉碼設備2000還可以為具備視頻轉碼功能的伺服器。
如第1圖所示,所述視頻轉碼設備2000獲取源視頻資料3000,並將所述源視頻資料3000分割為多個視頻序列4000a、4000b、…、4000n,可基於使用者輸入的指令設置所述多個視頻序列4000a、4000b、…、4000n的序號集合,並設置所述多個視頻序列4000a、4000b、…、4000n中各視頻序列(如多個5000a、多個5000b、…、多個5000n)的幀號集合。
所述多個視頻序列4000a、4000b、…、4000n按照序列排列順序進行排列,如序號分別為0、1、2、…、n。進而可以將這多個視頻序列分為序號為0的視頻序列(4000a)以及序號為非0的視頻序列(4000b、…、4000n)。
進一步的,對每個視頻序列(如4000a)中的多個源視頻幀(5000a)進行編號,可分為首幀、首部受影響幀、中部受影響幀、尾部受影響幀。一種可行的編號方式為首幀(第一幀)是編號為1的視頻幀,首部受影響幀編號為2-20的視頻幀,尾部受影響幀為總幀數減20到最後一幀的視頻幀,中部受影響幀是基於首部受影響幀和尾部受影響幀之間的視頻幀。
由於每個視頻序列4000a、4000b、…、4000n均採用相同的方式進行分散式處理。為便於理解,以4000a的處理過程為例進行描述。
在視頻序列4000a中包括多個源視頻幀5000a,依次遍歷每個源視頻幀,並獲取當前遍歷到的源視頻幀5000a。
同時,獲取所述視頻序列4000a中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值seqCpx,並獲取所述視頻序列在所述序號集合中的序號以及所述源視頻幀在所述幀號集合中的幀號。
當所述序號為首序號且所述幀號為首幀號(編號為0的視頻序列的首幀)時,基於所述第一比值seqCpx對所述源視頻幀的量化參數Q進行調整。
當所述序號為首序號且所述幀號為首部受影響幀號,或者所述序號為首序號且所述幀號為中部受影響幀號(編號為0的視頻序列的首部受影響幀號或中部受影響幀)時,獲取所述源視頻幀5000a的預測殘差絕對值與所述視頻序列的碼率的第二比值picRate;基於所述第一比值seqCpx以及所述第二比值picRate對所述源視頻幀的量化參數Q進行調整。
當所述序號為首序號且所述幀號為尾部受影響幀號(編號為0的視頻序列的尾部受影響幀)時,獲取所述源視頻幀5000a的預測殘差絕對值與所述視頻序列的碼率的第二比值picRate以及所述源視頻幀的圖像模糊度與所述源視頻幀的預測殘差絕對值的第三比值blurRate;基於所述第一比值seqCpx、所述第二比值picRate以及所述第三比值blurRate對所述源視頻幀的量化參數Q進行調整。
當所述序號為非首序號且所述幀號為首幀號(編號為非0的視頻序列的首幀)時,獲取所述源視頻幀5000a的預測殘差絕對值與所述視頻序列的碼率的第二比值picRate以及所述源視頻幀的圖像模糊度與所述源視頻幀的預測殘差絕對值的第三比值blurRate;基於所述第一比值seqCpx、所述第二比值picRate以及所述第三比值blurRate對所述源視頻幀的量化參數Q進行調整。
當所述序號為非首序號且所述幀號為首部受影響幀號,或所述序號為非首序號且所述幀號為中部受影響幀號,或所述序號為非首序號且所述幀號為尾部受影響幀號(編號為非0的視頻序列的首部受影響幀或中部受影響幀或尾部受影響幀)時,獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值picRate以及所述源視頻幀的圖像模糊度與所述源視頻幀的預測殘差絕對值的第三比值blurRate,並獲取所述視頻序列中首幀的圖像模糊度與所述首幀的預測殘差絕對值的第四比值i_blurRate;基於所述第一比值seqCpx、所述第二比值picRate、所述第三比值blurRate以及所述第四比值i_blurRate對所述源視頻幀的量化參數Q進行調整。
針對上述幾種情況分別對Q值進行調整後,再基於調整後的量化參數Q對所述源視頻幀5000a進行編碼處理,得到目標視頻幀6000a,採用所述目標視頻幀6000a替換所述源視頻幀5000a,得到替換後的視頻序列7000a;將所述替換後的視頻序列7000a按照所述序列排列順序添加至目標視頻資料8000中。
按照上述方式分別對4000b、…、4000n進行相同的處理,從而可以得到轉碼後的目標視頻8000,以完成視頻轉碼過程。
在本揭示實施例中,通過獲取源視頻資料中按照序列排列順序進行排列的多個視頻序列中的一個視頻序列,並獲取該視頻序列中的源視頻幀,再計算該視頻序列中首幀的預測殘差絕對值與該視頻序列的碼率的第一比值,基於所述第一比值對所述源視頻幀的量化參數進行調整,基於調整後的量化參數對所述源視頻幀進行編碼處理,得到目標視頻幀,採用所述目標視頻幀替換所述源視頻幀,得到替換後的視頻序列,將所述替換後的視頻序列按照所述序列排列順序添加至目標視頻資料中,針對所有的視頻序列均採用相同的方式進行處理,從而實現視頻轉碼過程。通過基於視頻序列中首幀的預測殘差絕對值與視頻序列的碼率的第一比值對各視頻序列中的各源視頻幀的量化參數進行調整,並採用調整後的量化參數進行編碼而減少視頻轉碼過程中的品質抖動,不需要進行四路編碼,編碼方式簡單快捷,進而可以減少編碼時間複雜度。
下面將結合第2圖-第10圖,對本揭示實施例提供的視頻轉碼方法進行詳細介紹。本揭示實施例中的視頻轉碼設備可以是第1圖所示的視頻轉碼設備2000。
請參見第2圖,為本揭示實施例提供了一種視頻轉碼方法的流程示意圖。如第2圖所示,本揭示實施例的所述方法可以包括以下步驟S101-步驟S104。
步驟S101,所述視頻轉碼設備獲取源視頻資料中的視頻序列,獲取所述視頻序列中的源視頻幀,所述源視頻資料包括按照序列排列順序進行排列的多個視頻序列。
可以理解的是,所述視頻資料是指由多幀圖像組成的圖像流,其實質是由一組組連續的圖像構成的,含有豐富的資訊和內容。以視頻的形式來傳遞資訊,能夠直觀、生動、真實、高效地表達資訊,所傳遞的信息量非常豐富。
將視頻資料按照設定幀數的圖像進行分割,可以得到多個視頻序列。每個視頻序列又包括多幀圖像。幀是組成視頻的最小視覺單位,是一幅圖像。
在本揭示實施例中,將所獲取的視頻資料作為源視頻資料,而該源視頻資料由多個視頻序列組成,這多個視頻序列按照序列排列順序進行排列,每個視頻序列又由多個源視頻幀組成,這多個源視頻幀按照幀排列順序排列。
具體的,視頻轉碼設備通過在視頻資料集合中截取待轉碼的源視頻資料,或者接收其他設備(使用者終端)發送的待轉碼的源視頻資料,又或者從網路下載待轉碼的源視頻資料,又或者當前錄製待轉碼的源視頻資料等方式得到源視頻資料,並將源視頻資料採用設定的分割規則分割為多個連續的視頻序列,可採用分散式方式分別遍歷這多個視頻序列,並獲取當前遍歷到的視頻序列中的源視頻幀。其中,所述分割規則可以為按照設定的幀數依次劃分,如每間隔30幀分為一個視頻序列。
步驟S102,所述視頻轉碼設備獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值,並基於所述第一比值對所述源視頻幀的量化參數進行調整。
可以理解的是,在視頻序列中包括有多幀圖像,獲取其中首幀圖像的預測殘差絕對值(Sum of Absolute Transformed Difference,SATD),SATD是一種視頻殘差信號大小的衡量標準。如果這種預測值與當前的實際值很接近,則它們之間的差值(稱為預測殘差)將足夠小,從而使編碼器用很短的碼字對其進行編碼。
視頻序列的碼率是指該視頻序列中所有幀的總碼率的和,即資料傳輸時單位時間傳送的資料位元數,單位是千位元每秒kbps。通俗一點的理解就是取樣率,單位時間內取樣率越大,精度就越高,處理出來的檔就越接近原始檔。
因此,第一比值=首幀圖像的預測殘差絕對值/視頻序列的碼率。
在視頻轉碼過程中多採用圖像失真壓縮編碼,這是因為圖像失真壓縮編碼利用了人類對圖像或聲波中的某些頻率成分不敏感的特性,允許壓縮過程中損失一定的資訊;雖然不能完全恢復原始資料,但是所損失的部分對理解原始圖像的影響縮小,但有較高的壓縮率。而量化是失真壓縮編碼過程中的一個重要步驟,就是把信號的連續取值映射成多個離散的幅值的過程,實現了信號取值多對一的映射。通過量化可以有效減小信號的取值範圍,進而獲得更好的壓縮效果。因而為了減少視頻轉碼過程中的品質波動(資訊損失),可對轉碼中的量化參數進行調整,並可採用調整後的量化參數進行失真壓縮編碼。在本揭示實施例中,可基於第一比值調整編碼過程中的量化參數。
所述視頻轉碼是指將已經壓縮編碼的視頻碼流轉換成另一個視頻碼流,以適應不同的網路頻寬格式(如相容、標清、高清、超清等格式)、不同終端處理能力和不同的使用者需求,視頻轉碼本質上是一個先解碼、再編碼的過程。
所述編碼是資訊從一種形式或格式轉換為另一種形式的過程。用預先規定的方法將文字、數位或其它物件編成數碼,或將資訊、資料轉換成規定的電脈衝信號。解碼是編碼的逆過程。
具體的,由於源視頻資料的多個視頻序列是按照序列排列順序排列,每個視頻序列對應一個序號,構成序號集合。並且,每個視頻序列又包括多幀圖像,每個圖像對應一個幀號,而構成幀號集合。每個所述序號集合包括首序號以及非首序號,所述幀號集合包括首幀號、首部受影響幀號、中部受影響幀號以及尾部受影響幀號。
具體主要分為編號為0和編號為非0的視頻序列兩種情況來進行量化參數調控。
當所述序號為首序號且所述幀號為首幀號時,基於所述第一比值對所述源視頻幀的量化參數進行調整。
當所述序號為首序號且所述幀號為首部受影響幀號,或者所述序號為首序號且所述幀號為中部受影響幀號時,獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值;基於所述第一比值以及所述第二比值對所述源視頻幀的量化參數進行調整。
當所述序號為首序號且所述幀號為尾部受影響幀號時,獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值以及所述源視頻幀的圖像模糊度與所述源視頻幀的預測殘差絕對值的第三比值;基於所述第一比值、所述第二比值以及所述第三比值對所述源視頻幀的量化參數進行調整。
當所述序號為非首序號且所述幀號為首幀號時,獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值以及所述源視頻幀的圖像模糊度與所述源視頻幀的預測殘差絕對值的第三比值;基於所述第一比值、所述第二比值以及所述第三比值對所述源視頻幀的量化參數進行調整。
當所述序號為非首序號且所述幀號為首部受影響幀號,或所述序號為非首序號且所述幀號為中部受影響幀號,或所述序號為非首序號且所述幀號為尾部受影響幀號時,獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值以及所述源視頻幀的圖像模糊度與所述源視頻幀的預測殘差絕對值的第三比值,並獲取所述視頻序列中首幀的圖像模糊度與所述首幀的預測殘差絕對值的第四比值;基於所述第一比值、所述第二比值、所述第三比值以及所述第四比值對所述源視頻幀的量化參數進行調整。
步驟S103,所述視頻轉碼設備基於調整後的量化參數對所述源視頻幀進行編碼處理,得到目標視頻幀,採用所述目標視頻幀替換所述源視頻幀,得到替換後的視頻序列。
可以理解的是,量化是失真壓縮編碼中的關鍵環節,一個好的量化效果,不僅要具有好的位元速率-失真(Rate-Distortion,R-D)性能,還要具有好的重建圖像主觀品質。在本揭示實施例中,通過調整量化參數QP(Q)而實現對量化的優化處理。
所述量化參數Q 是量化步長Qstep的序號。對於亮度(Luma)編碼而言,量化步長Qstep共有52個值,QP取值0~51,對於色度(Chroma)編碼,Q的取值0~39。
具體的,採用調整後得到的量化參數對源視頻幀進行編碼,編碼完成後得到目標視頻幀,直接採用目標視頻幀替換原來的源視頻幀,並採用相同的方式將所述視頻序列中的所有源視頻幀替換掉,從而得到替換後的視頻序列,所述替換後的視頻序列即為編碼後得到的視頻序列。
步驟S104,所述視頻轉碼設備將所述替換後的視頻序列按照所述序列排列順序添加至目標視頻資料中。
將編碼後的各個視頻序列按照所述序列排列順序再重新拼接,從而得到編碼後的目標視頻資料,完成視頻轉碼過程。
在本揭示實施例中,通過獲取源視頻資料中按照序列排列順序進行排列的多個視頻序列中的一個視頻序列,並獲取該視頻序列中的源視頻幀,再計算該視頻序列中首幀的預測殘差絕對值與該視頻序列的碼率的第一比值,基於所述第一比值對所述源視頻幀的量化參數進行調整,基於調整後的量化參數對所述源視頻幀進行編碼處理,得到目標視頻幀,採用所述目標視頻幀替換所述源視頻幀,得到替換後的視頻序列,將所述替換後的視頻序列按照所述序列排列順序添加至目標視頻資料中,針對所有的視頻序列均採用相同的方式進行處理,從而實現視頻轉碼過程。通過基於視頻序列中首幀的預測殘差絕對值與視頻序列的碼率的第一比值對各視頻序列中的各源視頻幀的量化參數進行調整,並採用調整後的量化參數進行編碼而減少視頻轉碼過程中的品質抖動,不需要進行四路編碼,編碼方式簡單快捷,進而可以減少編碼時間複雜度。
請參見第3圖,為本揭示實施例提供了一種視頻轉碼方法的流程示意圖。如第3圖所示,本揭示實施例的所述方法可以包括以下步驟S201-步驟S215。
步驟S201,視頻轉碼設備設置源視頻資料中多個視頻序列的序號集合,並設置所述多個視頻序列中各視頻序列的幀號集合,所述序號集合包括首序號以及非首序號,所述幀號集合包括首幀號、首部受影響幀號、中部受影響幀號以及尾部受影響幀號。
可以理解的是,所述視頻資料是指由多幀圖像組成的圖像流,其實質是由一組組連續的圖像構成的,含有豐富的資訊和內容。以視頻的形式來傳遞資訊,能夠直觀、生動、真實、高效地表達資訊,所傳遞的信息量非常豐富。
將視頻資料按照設定幀數的圖像進行分割,可以得到多個視頻序列。每個視頻序列又包括多幀圖像。幀是組成視頻的最小視覺單位,是一幅圖像。例如,一種可行的分割方式為videoWriter writer('out.avi',cv2.cv.CV_FOURCC('M', 'J','P','G'),fps,size,0/1),第一個參數是寫入的視頻序列名,第二個參數是視頻序列的編碼格式,第三個參數是幀率,第四個參數是視頻序列的大小,最後一個參數是1則為預設保存彩色圖,如不是則隨視頻顏色而定。
在本揭示實施例中,將所獲取的視頻資料作為源視頻資料,而該源視頻資料由多個視頻序列組成,對這多個視頻序列進行編號,一個視頻序列對應一個序號,從而得到源視頻資料對應的序號集合{0、1、2、…、n},進而可以將這多個視頻序列分為序號為0的視頻序列以及序號為非0的視頻序列。
每個視頻序列又由多個源視頻幀組成,對每個視頻序列中的多個源視頻幀進行編號,可分為首幀、首部受影響幀、中部受影響幀,尾部受影響幀。一種可行的編號方式為,首幀(第一幀)是編號為1的視頻幀,首部受影響幀編號為2-20的視頻幀,尾部受影響幀為總幀數減20到最後一幀的視頻幀,中部受影響幀是基於首部受影響幀和尾部受影響幀之間的視頻幀。
例如,如第4圖所示為一個視頻序列的結構示意圖,假設該視頻序列包括50幀,那麼第1幀為首幀,第2-20幀為首部受影響幀,第21-30幀為中部受影響幀,第31-50為尾部受影響幀。
步驟S202,所述視頻轉碼設備獲取源視頻資料中的視頻序列,獲取所述視頻序列中的源視頻幀,所述源視頻資料包括按照序列排列順序進行排列的多個視頻序列。
具體的,視頻轉碼設備依次遍歷各視頻序列,並獲取當前遍歷到的視頻序列,然後遍歷該視頻序列中的各源視頻幀,並獲取當前遍歷到的源視頻幀。
例如,若源視頻資料包括10個視頻序列,當前遍歷到第一個視頻序列(如編號為0的視頻序列),在第一個視頻序列中包括50個源視頻幀,當前遍歷到第一幀(首幀),則讀取該幀的視頻資訊。
步驟S203,所述視頻轉碼設備獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值。
可以理解的是,預測殘差絕對值(SATD)是一種視頻殘差信號大小的衡量標準。如果這種預測值與當前的實際值很接近,則它們之間的差值(稱為預測殘差)將足夠小,從而使編碼器用很短的碼字對其進行編碼。
視頻序列的碼率是指該視頻序列中所有幀的總碼率的和,即資料傳輸時單位時間傳送的資料位元數,單位是千位元每秒kbps。通俗一點的理解就是取樣率,單位時間內取樣率越大,精度就越高,處理出來的檔就越接近原始檔。所述碼流是指該視頻序列中所有源視頻幀的總碼率。
因此,第一比值seqCpx=首幀圖像的SATD/視頻序列的碼率。
在視頻在轉碼過程中多採用圖像失真壓縮編碼,這是因為圖像失真壓縮編碼是利用了人類對圖像或聲波中的某些頻率成分不敏感的特性,允許壓縮過程中損失一定的資訊;雖然不能完全恢復原始資料,但是所損失的部分對理解原始圖像的影響縮小,但有較高的壓縮率。
典型的失真壓縮編碼技術包括:預測編碼,主要是減少資料在空間和時間上的相關性,以達到對資料壓縮的目的,如點線性預測、幀內預測、幀間預測;變換編碼,將圖像時域信號變換到頻域上進行處理,如Karhunen-Loeve(KL)變換、離散傅立葉變換(Discrete Fourier Transform,DFT)、離散餘弦變換(Discrete Cosine Transform,DCT)、離散正弦變換(Discrete Sine Transform,DST)、哈達碼變換(HADAMARD)、小波變換;量化編碼,當對類比信號進行數位化時,需要經歷一個量化的過程,量化器的設計是一個很關鍵的步驟,量化器設計的好壞對於量化誤差的大小有直接的影響,如標量量化、向量量化;子帶編碼,子帶編碼主要有兩種方式。一種是將圖像資料變換到頻域後,按頻域分帶,然後用不同的量化器進行量化,從而達到最優的組合。另外一種是分步漸進編碼,在初始時對某一頻帶的信號進行解碼,然後逐漸擴展到所有頻帶,隨著解碼資料的增加,解碼圖像也逐漸的清晰起來,如子帶編碼、塊切割法;模型編碼,如結構模型、知識基模型。結構模型編碼是指編碼時首先求出圖像中的邊界、輪廓、紋理等結構特徵參數,然後保存這些參數資訊,解碼時根據結構和參數資訊進行組合,從而恢復出原圖像。知識基模型編碼,對於人臉等可用規則描述的圖像,利用人們對其的知識形成一個規則庫,據此將人臉的變化等特徵用一些參數進行描述,從而根據參數和模型就可以實現對人臉的圖像編解碼。混合編碼,即同時使用兩種或兩種以上的編碼方法進行編碼,如JPEG、H.261、MPEG等。
步驟S204,所述視頻轉碼設備獲取所述視頻序列在所述序號集合中的序號以及所述源視頻幀在所述幀號集合中的幀號。
具體的,獲取當前遍歷到的視頻序列的序號以及該視頻序列的當前源視頻幀的幀號,以便於採取與所獲取的序號和幀號對應的品質參數調整方式。
而量化是失真壓縮編碼過程中的一個重要步驟,就是把信號的連續取值映射成多個離散的幅值的過程,實現了信號取值多對一的映射。通過量化可以有效減小信號的取值範圍,進而獲得更好的壓縮效果。因而為了減少視頻轉碼過程中的資訊損失,可對轉碼中的量化參數進行調整。在本揭示實施例中,可基於第一比值調整編碼過程中的量化參數。
所述視頻轉碼是指將已經壓縮編碼的視頻碼流轉換成另一個視頻碼流,以適應不同的網路頻寬格式(如相容、標清、高清、超清等格式)、不同終端處理能力和不同的使用者需求,視頻轉碼本質上是一個先解碼、再編碼的過程。
所述編碼是資訊從一種形式或格式轉換為另一種形式的過程。用預先規定的方法將文字、數位或其它物件編成數碼,或將資訊、資料轉換成規定的電脈衝信號。解碼是編碼的逆過程。
步驟S205,當所述序號為首序號且所述幀號為首幀號時,所述視頻轉碼設備基於所述第一比值對所述源視頻幀的量化參數進行調整。
可以理解的是,當所述序號為首序號且所述幀號為首幀號,表明源視頻幀為編號為0的視頻序列的第一幀,第一比值seqCpx能夠有效標識當前子序列的量化參數的調整趨勢,此時可基於第一比值seqCpx對所述源視頻幀的量化參數進行調整,具體調整過程可參見第5圖。
表1所示為seqCpx的分佈情況。
具體的,對於每個源視頻幀,系統會分配一個初始量化參數QP。當確定當前源視頻幀為0序列的首幀時,基於表1查找seqCpx所屬的範圍,若seqCpx屬於(0.08,0.20]區間,則將量化參數Q調整至Q=Q+qFactor,qFactor=seqCpx*10;否則,若seqCpx屬於(0.20,0.40]區間,則將量化參數Q調整至Q=Q-qFactor;否則,若seqCpx屬於(0.40,1.0 ]區間,則將量化參數Q調整至Q=Q-qFactor。在調整完成後,則進入編碼過程的其他階段以完成視頻轉碼過程。當然,若當前源視頻幀不為0序列的首幀時,則採用非首幀對應的量化參數調整方案進行調整。 [表1]
Figure 108119926-A0304-0001
步驟S206,當所述序號為首序號且所述幀號為首部受影響幀號,或者所述序號為首序號且所述幀號為中部受影響幀號時,所述視頻轉碼設備獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值。
可以理解的是,當所述序號為首序號且所述幀號為首部受影響幀號,或者所述序號為首序號且所述幀號為中部受影響幀號,表明源視頻幀為編號為0的視頻序列的首部受影響幀或中部受影響幀,則計算第二比值picRate=當前源視頻幀圖像的SATD/視頻序列的碼率,並可基於第一比值seqCpx以及所述第二比值picRate對該源視頻幀的視頻參數進行調整。
步驟S207,所述視頻轉碼設備基於所述第一比值以及所述第二比值對所述源視頻幀的量化參數進行調整。
需要說明的是,在本實施例中,針對seqCpx的分佈情況,還可以多個子區間,如(0.07,0.40]、(0.07,0.15]、(0.01,0.06]、(0.20,0.40]等。
具體調整過程如第6圖所示。當確定當前源視頻幀為0序列的首部受影響幀或中部受影響幀時,判斷該源視頻幀是否為場景切換幀,具體可基於編碼器中的場景標誌位元來進行判斷。
若為場景切換幀,則將量化參數Q調整至Q=Q+qFactor,qFactor=seqCpx*10。
若不為場景切換幀,則確定seqCpx所屬的區間,若seqCpx屬於(0.07,0.40]區間,則進一步判斷seqCpx是否屬於(0.07,0.15]區間,如是,且picRate屬於(0.01,0.06]區間,則將量化參數Q調整至Q+=picRate*10+0.05。
若不為場景切換幀,且seqCpx屬於(0.07,0.40]區間,進一步判斷seqCpx是否屬於(0.07,0.15]區間,若不屬於,再判斷seqCpx是否屬於(0.20,0.40]區間,若是,並且picRate屬於(0.01,0.06]區間,則將量化參數Q調整至Q=Q-qFactor。
若不為場景切換幀,且seqCpx屬於(0.07,0.40]區間,進一步判斷seqCpx是否屬於(0.07,0.15]區間,若不屬於,再判斷seqCpx是否屬於(0.20,0.40]區間,若是,並且picRate不屬於(0.01,0.06]區間時,則進入編碼過程的其他階段以完成視頻轉碼過程。
若不為場景切換幀,且seqCpx不屬於(0.07,0.40]區間,則進一步判斷seqCpx是否屬於(0.40,1.0]區間,若是,且該源視頻幀為首部受影響幀時,則將量化參數Q調整至Q=Q-qFactor*1.5。
若不為場景切換幀,且seqCpx不屬於(0.07,0.40]區間,則進一步判斷seqCpx是否seqCpx屬於(0.40,1.0]區間,若是,且該源視頻幀不為首部受影響幀(即為中部受影響幀)時,則將量化參數Q調整至Q=Q-qFactor*2.5+step_up,step_up是一個動態影響因數,隨幀變化,初始值為0.01,上限為4。
當然,若當前幀不為首部受影響幀或中部受影響幀時,則採用其他受影響幀對應的量化參數調整方案進行調整。
步驟S208,當所述序號為首序號且所述幀號為尾部受影響幀號時,所述視頻轉碼設備獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值以及所述源視頻幀的圖像模糊度與所述源視頻幀的預測殘差絕對值的第三比值。
可以理解的是,當所述序號為首序號且所述幀號為尾部受影響幀號,表明源視頻幀為編號為0的視頻序列的尾部受影響幀,則計算第二比值picRate =當前源視頻幀圖像的SATD/視頻序列的碼率以及第三比值blurRate =當前源視頻幀圖像的圖像模糊度/當前源視頻幀圖像的SATD。
由於在視頻轉碼過程中,圖像模糊度會發生變化,進而影響視頻品質,因此,為了減少視頻轉碼過程中的視頻品質波動,在本揭示實施例中對視頻轉碼過程進行優化。
所述圖像模糊度又叫圖像清晰度,圖像清晰度指圖像上各細部影紋及其邊界的清晰程度。衡量畫面模糊的主要方法就是梯度的統計特徵,通常梯度值越高,畫面的邊緣資訊越豐富,圖像越清晰。
而影響視頻的清晰度的因素:一是格式:AVI格式的檔最大,比WMV的大近10倍,比MPWG-1大近15倍,FLV的最小。同樣,AVI的最清晰,MPEG相對較差,FLV的最差。二是視頻的解析度:越大視頻越清晰。三是視頻的比特度,越高越清晰。所以:如果你是AVI格式,轉換成了FLV格式,則清晰度就會下降。如果視頻的位元速率,解析度設的比原來小,也會下降。
步驟S209,所述視頻轉碼設備基於所述第一比值、所述第二比值以及所述第三比值對所述源視頻幀的量化參數進行調整。
具體調整過程可參見第7圖。
需要說明的是,在本實施例中,針對seqCpx的分佈情況,還可以包括多個子區間,如(0.07,0.15]、(0.07,0.4]、(0.4,1.0]等。
當確定當前源視頻幀為0序列的尾部受影響幀時,若seqCpx屬於(0.07,0.40]區間,且當前源視頻幀為尾部受影響幀的前10幀,則將量化參數Q調整至Q=Q-picRate*5+0.1。
當確定當前源視頻幀為0序列的尾部受影響幀時,若seqCpx屬於(0.07,0.40]區間,且當前源視頻幀為尾部受影響幀的最後5幀,則將量化參數Q調整至Q=Q+picRate*10+0.1。
當確定當前源視頻幀為0序列的尾部受影響幀時,若seqCpx屬於(0.07,0.40]區間,且當前源視頻幀既不是尾部受影響幀的前10幀,也不是尾部受影響幀的最後5幀,進一步判斷seqCpx是否屬於(0.07,0.15]區間,若是,且Bs>0.4時,則將量化參數Q調整至Q=Q+4.2。
當確定當前源視頻幀為0序列的尾部受影響幀時,若seqCpx屬於(0.07,0.40]區間,且當前源視頻幀既不是尾部受影響幀的前10幀,也不是尾部受影響幀的最後5幀,進一步判斷seqCpx是否屬於(0.07,0.15]區間,若是,且Bs<=0.4,再判斷picRate是否小於0.05,若picRate>=0.05時,則將量化參數Q調整至Q=Q+picRate*10/1.5,所述Bs為1pass編碼資訊中當前源視頻幀的前一幀的YUV  PSNR值與當前源視頻幀的YUV  PSNR值的差。
當確定當前源視頻幀為0序列的尾部受影響幀時,若seqCpx屬於(0.07,0.40]區間,且當前源視頻幀既不是尾部受影響幀的前10幀,也不是尾部受影響幀的最後5幀,進一步判斷seqCpx是否屬於(0.07,0.15]區間,若是,且Bs<=0.4,再判斷picRate是否小於0.05,若picRate<0.05時,則將量化參數Q調整至Q=Q+picRate*10*2,所述Bs為1pass編碼資訊中當前源視頻幀的前一幀的YUV  PSNR值與當前源視頻幀的YUV  PSNR值的差。
當確定當前源視頻幀為0序列的尾部受影響幀時,若seqCpx屬於(0.07,0.40]區間,且當前源視頻幀既不是尾部受影響幀的前10幀,也不是尾部受影響幀的最後5幀,進一步判斷seqCpx是否屬於(0.07,0.15]區間,若seqCpx不屬於(0.07,0.4]區間,再判斷blurRate是否屬於(0.8,1.0)以及picRate是否屬於(0.07,0.10),若blurRate屬於(0.8,1.0)以及picRate屬於(0.07,0.10),當前源視頻幀為尾部受影響幀的最後一幀,則將量化參數Q調整至Q=Q-qFactor*2,qFactor=seqCpx*10。
當確定當前源視頻幀為0序列的尾部受影響幀時,若seqCpx不屬於(0.07,0.40]區間,而屬於(0.4,1.0]區間,且當前源視頻幀為尾部受影響幀的前10幀,則將量化參數Q調整至Q=Q-diffTemp*4.0,diffTemp表示當前源視頻幀的前一個已編碼幀的YUV PSNR值與當前源視頻幀在1pass編碼中的YUV PSNR值之差的絕對值。
當確定當前源視頻幀為0序列的尾部受影響幀時,若seqCpx不屬於(0.07,0.40]區間,而屬於(0.4,1.0]區間,且當前源視頻幀不為尾部受影響幀的前10幀,則將量化參數Q調整至Q=Q-qFactor*3.5。
在調整完成後,則進入編碼過程的其他階段以完成視頻轉碼過程。當然,若當前幀不為0序列的尾部受影響幀時,則採用其他受影響幀對應的量化參數調整方案進行調整。
步驟S210,當所述序號為非首序號且所述幀號為首幀號時,所述視頻轉碼設備獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值以及所述源視頻幀的圖像模糊度與所述源視頻幀的預測殘差絕對值的第三比值。
獲取第二比值picRate和第三比值blurRate具體可參見步驟S208,此處不再贅述。
步驟S211,所述視頻轉碼設備基於所述第一比值、所述第二比值以及所述第三比值對所述源視頻幀的量化參數進行調整。
具體調整過程可參見第8圖。
需要說明的是,在本實施例中,針對seqCpx的分佈情況,還可以包括多個子區間,如(0.20,0.30]、(0.01,0.20]、(0.01,0.20]等。
當確定當前源視頻幀為非0序列的首幀時,若seqCpx不屬於(0.01,0.20]區間而屬於(0.20,0.30]區間,則將量化參數Q調整至Q=Q+qf,qf=(seqCpx*100)/2.2。
當確定當前源視頻幀為非0序列的首幀時,若seqCpx不屬於(0.01,0.20]區間且不屬於(0.20,0.30]區間,則將量化參數Q調整至Q=Q+qf+1.75。
當確定當前源視頻幀為非0序列的首幀時,若seqCpx屬於(0.01,0.20]區間,再進一步判斷是否滿足i_blurRate>0.55&&seqCpx>0.07,若不滿足,繼續判斷是否滿足i_blurRate>0.3,仍然不滿足時,若seqCpx<0.15,則將量化參數Q調整至Q=Q-t0,t0=qt+pow(avg_psnryuv,1.0/5)+SSID/3,qt=seqCpx*10。
當確定當前源視頻幀為非0序列的首幀時,若seqCpx屬於(0.01,0.20]區間,再進一步判斷是否滿足i_blurRate>0.55&&seqCpx>0.07,若不滿足,繼續判斷是否滿足i_blurRate>0.3,仍然不滿足時,若seqCpx>=0.15,再判斷是否滿足i_blurRate>0.25,若是,則將量化參數Q調整至Q=Q+t1,t1=qt+pow(avg_psnryuv,1.0/5)-1.0,qt=seqCpx*10。
當確定當前源視頻幀為非0序列的首幀時,若seqCpx屬於(0.01,0.20]區間,再進一步判斷是否滿足i_blurRate>0.55&&seqCpx>0.07,若不滿足,繼續判斷是否滿足i_blurRate>0.3,仍然不滿足時,若seqCpx>=0.15,再判斷是否滿足i_blurRate>0.25,若否,則判斷是否滿足i_blurRate>0.15&&i_blurRate<0.25,當滿足i_blurRate>0.15&&i_blurRate<0.25時,將量化參數Q調整至Q=Q+t2,t2=qt+pow(avg_psnryuv,1.0/5)-1.0,qt=seqCpx*10,當不滿足i_blurRate>0.15&&i_blurRate<0.25時,則進入編碼過程的其他編碼階段。
當確定當前源視頻幀為非0序列的首幀時,若seqCpx屬於(0.01,0.20]區間,且滿足i_blurRate>0.55&&seqCpx>0.07,則將量化參數Q調整至Q=Q-tf,tf=(blurRate*10+seqCpx*10)/2。
當確定當前源視頻幀為非0序列的首幀時,若seqCpx屬於(0.01,0.20]區間,且不滿足i_blurRate>0.55&&seqCpx>0.07,但滿足i_blurRate>0.3,則將量化參數Q調整至Q=Q-tf,tf=(blurRate*10+seqCpx*10)/2。
在調整完成後,則進入編碼過程的其他階段以完成視頻轉碼過程。當然,若當前幀不為非0序列的首幀時,則採用其他受影響幀對應的量化參數調整方案進行調整。
步驟S212,當所述序號為非首序號且所述幀號為首部受影響幀號,或所述序號為非首序號且所述幀號為中部受影響幀號,或所述序號為非首序號且所述幀號為尾部受影響幀號時,所述視頻轉碼設備獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值以及所述源視頻幀的圖像模糊度與所述源視頻幀的預測殘差絕對值的第三比值,並獲取所述視頻序列中首幀的圖像模糊度與所述首幀的預測殘差絕對值的第四比值。
當所述序號為非首序號且所述幀號為首部受影響幀號,或所述序號為非首序號且所述幀號為中部受影響幀號,或所述序號為非首序號且所述幀號為尾部受影響幀號時,表明當前的源視頻幀為編號為非0(如1、2、…、n)的視頻序列的首部受影響幀或中部受影響幀或尾部受影響幀,則計算第二比值picRate =當前源視頻幀圖像的SATD/視頻序列的碼率,第三比值blurRate =當前源視頻幀圖像的圖像模糊度/當前源視頻幀圖像的SATD,以及第四比值i_blurRate=首幀的圖像模糊度/首幀的預測殘差絕對值。
步驟S213,所述視頻轉碼設備基於所述第一比值、所述第二比值、所述第三比值以及所述第四比值對所述源視頻幀的量化參數進行調整。
具體調整過程可參見第9圖。
需要說明的是,在本實施例中,針對seqCpx的分佈情況,還可以包括多個子區間,如(0.12,0.20]、(0.12,0.20]、(0,0.07]等。
當確定當前源視頻幀為非0序列的非首幀時,若當前源視頻幀不為尾部受影響幀,當seqCpx不屬於(0.1,0.12]區間而屬於(0.12,0.20]區間時,將量化參數Q調整至Q=Q-blurRate。
當確定當前源視頻幀為非0序列的非首幀時,若當前源視頻幀不為尾部受影響幀,當seqCpx屬於(0.10,0.12]區間且i_blurRate>0.3時,將量化參數Q調整至Q=Q+i_blurRate*10。
當確定當前源視頻幀為非0序列的非首幀時,若當前源視頻幀為尾部受影響幀且不為場景切換幀,進一步判斷seqCpx是否屬於(0,0.07]區間,若不屬於,則繼續判斷是否屬於(0.10,0.12]區間,若屬於,且blurRate>5時,將量化參數Q調整至Q=Q+ blurRate-1。
當確定當前源視頻幀為非0序列的非首幀時,若當前源視頻幀為尾部受影響幀且不為場景切換幀,進一步判斷seqCpx是否屬於(0,0.07]區間,若不屬於,則繼續判斷是否屬於(0.10,0.12]區間,若屬於,且blurRate<=5,再繼續判斷是否滿足picRate屬於(0.07,seqCpx)&&blurRate>0.3),若不滿足picRate屬於(0.07,seqCpx)&&blurRate>0.3時,將量化參數Q調整至Q=Q- qf0,qf0=(picRate*100+blurRate*10)/2.5。
當確定當前源視頻幀為非0序列的非首幀時,若當前源視頻幀為尾部受影響幀且不為場景切換幀,進一步判斷seqCpx是否屬於(0,0.07]區間,若不屬於,則繼續判斷是否屬於(0.10,0.12]區間,若屬於,且blurRate<=5,再繼續判斷是否滿足picRate屬於(0.07,seqCpx)&&blurRate>0.3),若滿足picRate屬於(0.07,seqCpx)&&blurRate>0.3時,將量化參數Q調整至Q=Q- qf1,qf1=(pass1Psnr/10)*3.0,pass1Psnr表示當前源視頻幀在1pass編碼時產生的YUV PSNR值。
當確定當前源視頻幀為非0序列的非首幀時,若當前源視頻幀為尾部受影響幀且不為場景切換幀,進一步判斷seqCpx是否屬於(0,0.07]區間,若不屬於,則繼續判斷是否屬於(0.10,0.12]區間,若不屬於,當seqCpx屬於(0.12,0.20]區間且blurRate<0.5時,將量化參數Q調整至Q=Q+blurRate-1。
當確定當前源視頻幀為非0序列的非首幀時,若當前源視頻幀為尾部受影響幀且不為場景切換幀,進一步判斷seqCpx是否屬於(0,0.07]區間,若不屬於,則繼續判斷是否屬於(0.10,0.12]區間,若不屬於,當seqCpx屬於(0.12,0.20]區間且blurRate>=0.5時,再判斷blurRate是否屬於(0.5,0.95]區間,當seqCpx屬於(0.12,0.20]區間且blurRate屬於(0.5,0.95] 區間時,將量化參數Q調整至Q=Q-i_blurRate。
當確定當前源視頻幀為非0序列的非首幀時,若當前源視頻幀為尾部受影響幀且不為場景切換幀,進一步判斷seqCpx是否屬於(0,0.07]區間,若不屬於,則繼續判斷是否屬於(0.10,0.12]區間,若不屬於,當seqCpx屬於(0.12,0.20]區間且blurRate>=0.5時,再判斷blurRate是否屬於(0.5,0.95]區間,當seqCpx屬於(0.12,0.20]區間且blurRate不屬於(0.5,0.95]區間而屬於(0.95,2.5] 區間時,將量化參數Q調整至Q=Q-1.1。
當確定當前源視頻幀為非0序列的非首幀時,若當前源視頻幀為尾部受影響幀且不為場景切換幀,進一步判斷seqCpx是否屬於(0,0.07]區間,若不屬於,則繼續判斷是否屬於(0.10,0.12]區間,若不屬於,再判斷seqCpx是否屬於(0.12,0.20]區間),當也不屬於(0.12,0.20]區間,但blurRate屬於(0.95,2.5] 區間時,將量化參數Q調整至Q=Q- i_blurRate*10。
當確定當前源視頻幀為非0序列的非首幀時,若當前源視頻幀為尾部受影響幀且不為場景切換幀,進一步判斷seqCpx是否屬於(0,0.07]區間,當seqCpx屬於(0,0.07]區間且blurRate屬於(0,0.05]區間時,將量化參數Q調整至Q=Q- blurRate。
當確定當前源視頻幀為非0序列的非首幀時,若當前源視頻幀為尾部受影響幀且不為場景切換幀,進一步判斷seqCpx是否屬於(0,0.07]區間,當seqCpx屬於(0,0.07]區間且blurRate屬於(0.5,0.8]區間時,將量化參數Q調整至Q=Q+ blurRate。
當確定當前源視頻幀為非0序列的非首幀時,若當前源視頻幀為尾部受影響幀且不為場景切換幀,進一步判斷seqCpx是否屬於(0,0.07]區間,當seqCpx屬於(0,0.07]區間且blurRate屬於(0.8,1.0]區間時,將量化參數Q調整至Q=Q-0.02。
當確定當前源視頻幀為非0序列的非首幀時,若當前源視頻幀為尾部受影響幀且不為場景切換幀,進一步判斷seqCpx是否屬於(0,0.07]區間,當seqCpx屬於(0,0.07]區間且blurRate屬於(1.0,2.5]區間時,將量化參數Q調整至Q=Q-1.1。
當確定當前源視頻幀為非0序列的非首幀時,若當前源視頻幀為尾部受影響幀且為場景切換幀,則將量化參數Q調整至Q=Q+picRate*10。
在調整完成後,則進入編碼過程的其他階段以完成視頻轉碼過程。當然,若當前幀不為非0序列的非首幀時,則採用其他受影響幀對應的量化參數調整方案進行調整。
步驟S214,所述視頻轉碼設備基於調整後的量化參數對所述源視頻幀進行編碼處理,得到目標視頻幀,採用所述目標視頻幀替換所述源視頻幀,得到替換後的視頻序列。
具體的,採樣上述方式得到調整後的量化參數後,採用調整後得到的量化參數對源視頻幀進行編碼,編碼完成後得到目標視頻幀,直接採用目標視頻幀替換原來的源視頻幀,並採用相同的方式將所述視頻序列中的所有源視頻幀替換掉,從而得到替換後的視頻序列,所述替換後的視頻序列即為編碼後得到的視頻序列。
例如,如第4圖所示,若當前編碼到第20幀,則採用調整後的量化參數對第20幀進行編碼,編碼完成後,將所得到的視頻幀替換第20幀中源視頻幀。按照相同的方式將這50幀分別替換,從而得到替換後的視頻序列(即編碼後的視頻序列)。
步驟S215,所述視頻轉碼設備將所述替換後的視頻序列按照所述序列排列順序添加至目標視頻資料中。
具體的,將得到的替換後的視頻序列按照替換前對應的序號替換掉原來的視頻序列,並將所有的視頻序列按照相同的方式進行處理,替換完成後就可得到轉碼後的目標視頻序列。所述源視頻序列與所述目標視頻序列的視頻內容相同,只是編碼格式不同。
在本揭示實施例中,通過對源視頻資料中的視頻序列進行編號,並對各視頻序列中的源視頻幀進行編號,獲取源視頻資料中按照序列排列順序進行排列的多個視頻序列中的一個視頻序列,並獲取該視頻序列中的源視頻幀,基於該視頻序列的序號以及源視頻幀的幀號確定相應的量化參數調整方案,以對所述源視頻幀的量化參數進行調整,基於調整後的量化參數對所述源視頻幀進行編碼處理,得到目標視頻幀,採用所述目標視頻幀替換所述源視頻幀,得到替換後的視頻序列,將所述替換後的視頻序列按照所述序列排列順序添加至目標視頻資料中,針對所有的視頻序列均採用相同的方式進行處理,從而實現視頻轉碼過程。通過基於視頻序列中首幀的預測殘差絕對值與視頻序列的碼率的第一比值和/或源視頻幀的預測殘差絕對值與視頻序列的碼率的第二比值和/或源視頻幀的圖像模糊度與所述源視頻幀的預測殘差絕對值的第三比值和/或視頻序列中首幀的圖像模糊度與所述首幀的預測殘差絕對值的第四比值,對各視頻序列中的各源視頻幀的量化參數進行調整,並採用調整後的量化參數進行編碼而減少視頻轉碼過程中的品質抖動,不需要進行四路編碼,編碼方式簡單快捷,進而可以減少編碼時間複雜度。
下面將結合第10圖-第11圖,對本揭示實施例提供的視頻轉碼設備進行詳細介紹。需要說明的是,第10圖-第11圖所示的視頻轉碼設備用於執行本揭示第2圖-第9圖所示實施例的方法,為了便於說明,僅示出了與本揭示實施例相關的部分,具體技術細節未揭示的,請參照本揭示第2圖-第9圖所示的實施例。
請參見第10圖,為本揭示實施例提供了一種視頻轉碼設備的結構示意圖。如第10圖所示,本揭示實施例的所述視頻轉碼設備1可以包括:源視頻幀獲取單元11、參數調整單元12、視頻幀編碼單元13和序列添加單元14。
源視頻幀獲取單元11用於獲取源視頻資料中的視頻序列,獲取所述視頻序列中的源視頻幀,所述源視頻資料包括按照序列排列順序進行排列的多個視頻序列。
參數調整單元12用於獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值,並基於所述第一比值對所述源視頻幀的量化參數進行調整。
可選的,所述參數調整單元12具體用於:獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值;當所述序號為首序號且所述幀號為首幀號時,基於所述第一比值對所述源視頻幀的量化參數進行調整。
可選的,所述參數調整單元12具體用於:獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值;當所述序號為首序號且所述幀號為首部受影響幀號,或者所述序號為首序號且所述幀號為中部受影響幀號時,獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值;基於所述第一比值以及所述第二比值對所述源視頻幀的量化參數進行調整。
可選的,所述參數調整單元12具體用於:獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值;當所述序號為首序號且所述幀號為尾部受影響幀號時,獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值以及所述源視頻幀的圖像模糊度與所述源視頻幀的預測殘差絕對值的第三比值;基於所述第一比值、所述第二比值以及所述第三比值對所述源視頻幀的量化參數進行調整。
可選的,所述參數調整單元12具體用於:獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值;當所述序號為非首序號且所述幀號為首幀號時,獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值以及所述源視頻幀的圖像模糊度與所述源視頻幀的預測殘差絕對值的第三比值;基於所述第一比值、所述第二比值以及所述第三比值對所述源視頻幀的量化參數進行調整。
可選的,所述參數調整單元12具體用於:獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值;當所述序號為非首序號且所述幀號為首部受影響幀號,或所述序號為非首序號且所述幀號為中部受影響幀號,或所述序號為非首序號且所述幀號為尾部受影響幀號時,獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值以及所述源視頻幀的圖像模糊度與所述源視頻幀的預測殘差絕對值的第三比值,並獲取所述視頻序列中首幀的圖像模糊度與所述首幀的預測殘差絕對值的第四比值;基於所述第一比值、所述第二比值、所述第三比值以及所述第四比值對所述源視頻幀的量化參數進行調整。
視頻幀編碼單元13用於基於調整後的量化參數對所述源視頻幀進行編碼處理,得到目標視頻幀,採用所述目標視頻幀替換所述源視頻幀,得到替換後的視頻序列。
序列添加單元14用於將所述替換後的視頻序列按照所述序列排列順序添加至目標視頻資料中。
可選的,如第11圖所示,視頻轉碼設備還包括:編號設置單元15,用於設置源視頻資料中多個視頻序列的序號集合,並設置所述多個視頻序列中各視頻序列的幀號集合,所述序號集合包括首序號以及非首序號,所述幀號集合包括首幀號、首部受影響幀號、中部受影響幀號以及尾部受影響幀號。
可選的,如第11圖所示,視頻轉碼設備還包括:編號獲取單元16,用於獲取所述視頻序列在所述序號集合中的序號以及所述源視頻幀在所述幀號集合中的幀號。
在本揭示實施例中,通過對源視頻資料中的視頻序列進行編號,並對各視頻序列中的源視頻幀進行編號,獲取源視頻資料中按照序列排列順序進行排列的多個視頻序列中的一個視頻序列,並獲取該視頻序列中的源視頻幀,基於該視頻序列的序號以及源視頻幀的幀號確定相應的量化參數調整方案,以對所述源視頻幀的量化參數進行調整,基於調整後的量化參數對所述源視頻幀進行編碼處理,得到目標視頻幀,採用所述目標視頻幀替換所述源視頻幀,得到替換後的視頻序列,將所述替換後的視頻序列按照所述序列排列順序添加至目標視頻資料中,針對所有的視頻序列均採用相同的方式進行處理,從而實現視頻轉碼過程。通過基於視頻序列中首幀的預測殘差絕對值與視頻序列的碼率的第一比值和/或源視頻幀的預測殘差絕對值與視頻序列的碼率的第二比值和/或源視頻幀的圖像模糊度與所述源視頻幀的預測殘差絕對值的第三比值和/或視頻序列中首幀的圖像模糊度與所述首幀的預測殘差絕對值的第四比值,對各視頻序列中的各源視頻幀的量化參數進行調整,並採用調整後的量化參數進行編碼而減少視頻轉碼過程中的品質抖動,不需要進行四路編碼,編碼方式簡單快捷,進而可以減少編碼時間複雜度。
本揭示實施例還提供了一種電腦儲存介質,所述電腦儲存介質可以儲存有多條指令,所述指令適於由處理器載入並執行如上述第2圖-第9圖所示實施例的方法步驟,具體執行過程可以參見第2圖-第9圖所示實施例的具體說明,在此不進行贅述。
請參見第12圖,為本揭示實施例提供了一種電子設備的結構示意圖。如第12圖所示,所述電子設備1000為第1圖中的視頻轉碼設備2000,可以包括:至少一個處理器1001、至少一個網路介面1004、使用者介面1003、記憶體1005以及至少一個通信匯流排1002。通信匯流排1002用於實現這些元件之間的連接通信。
在第12圖所示的電子設備1000中,使用者介面1003主要用於為使用者提供輸入的介面,獲取使用者輸入的資料;而處理器1001可以用於調用記憶體1005中儲存的視頻轉碼應用程式,並具體執行以下操作:獲取源視頻資料中的視頻序列,獲取所述視頻序列中的源視頻幀,所述源視頻資料包括按照序列排列順序進行排列的多個視頻序列;獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值,並基於所述第一比值對所述源視頻幀的量化參數進行調整;基於調整後的量化參數對所述源視頻幀進行編碼處理,得到目標視頻幀,採用所述目標視頻幀替換所述源視頻幀,得到替換後的視頻序列;將所述替換後的視頻序列按照所述序列排列順序添加至目標視頻資料中。
在一個實施例中,所述處理器1001在執行獲取源視頻資料中的視頻序列,獲取所述視頻序列中的源視頻幀之前,還執行以下操作:設置源視頻資料中多個視頻序列的序號集合,並設置所述多個視頻序列中各視頻序列的幀號集合,所述序號集合包括首序號以及非首序號,所述幀號集合包括首幀號、首部受影響幀號、中部受影響幀號以及尾部受影響幀號。
在一個實施例中,所述處理器1001在執行基於所述第一比值對所述源視頻幀的量化參數進行調整之前,還執行以下操作:獲取所述視頻序列在所述序號集合中的序號以及所述源視頻幀在所述幀號集合中的幀號。
在一個實施例中,所述處理器1001在執行獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值,並基於所述第一比值對所述源視頻幀的量化參數進行調整時,具體執行以下操作:獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值;當所述序號為首序號且所述幀號為首幀號時,基於所述第一比值對所述源視頻幀的量化參數進行調整。
在一個實施例中,所述處理器1001在執行獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值,並基於所述第一比值對所述源視頻幀的量化參數進行調整時,具體執行以下操作:獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值;當所述序號為首序號且所述幀號為首部受影響幀號,或者所述序號為首序號且所述幀號為中部受影響幀號時,獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值;基於所述第一比值以及所述第二比值對所述源視頻幀的量化參數進行調整。
在一個實施例中,所述處理器1001在執行獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值,並基於所述第一比值對所述源視頻幀的量化參數進行調整時,具體執行以下操作:獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值;當所述序號為首序號且所述幀號為尾部受影響幀號時,獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值以及所述源視頻幀的圖像模糊度與所述源視頻幀的預測殘差絕對值的第三比值;基於所述第一比值、所述第二比值以及所述第三比值對所述源視頻幀的量化參數進行調整。
在一個實施例中,所述處理器1001在執行獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值,並基於所述第一比值對所述源視頻幀的量化參數進行調整時,具體執行以下操作:獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值;當所述序號為非首序號且所述幀號為首幀號時,獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值以及所述源視頻幀的圖像模糊度與所述源視頻幀的預測殘差絕對值的第三比值;基於所述第一比值、所述第二比值以及所述第三比值對所述源視頻幀的量化參數進行調整。
在一個實施例中,所述處理器1001在執行獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值,並基於所述第一比值對所述源視頻幀的量化參數進行調整時,具體執行以下操作:獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值;當所述序號為非首序號且所述幀號為首部受影響幀號,或所述序號為非首序號且所述幀號為中部受影響幀號,或所述序號為非首序號且所述幀號為尾部受影響幀號時,獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值以及所述源視頻幀的圖像模糊度與所述源視頻幀的預測殘差絕對值的第三比值,並獲取所述視頻序列中首幀的圖像模糊度與所述首幀的預測殘差絕對值的第四比值;基於所述第一比值、所述第二比值、所述第三比值以及所述第四比值對所述源視頻幀的量化參數進行調整。
在本揭示實施例中,通過對源視頻資料中的視頻序列進行編號,並對各視頻序列中的源視頻幀進行編號,獲取源視頻資料中按照序列排列順序進行排列的多個視頻序列中的一個視頻序列,並獲取該視頻序列中的源視頻幀,基於該視頻序列的序號以及源視頻幀的幀號確定相應的量化參數調整方案,以對所述源視頻幀的量化參數進行調整,基於調整後的量化參數對所述源視頻幀進行編碼處理,得到目標視頻幀,採用所述目標視頻幀替換所述源視頻幀,得到替換後的視頻序列,將所述替換後的視頻序列按照所述序列排列順序添加至目標視頻資料中,針對所有的視頻序列均採用相同的方式進行處理,從而實現視頻轉碼過程。通過基於視頻序列中首幀的預測殘差絕對值與視頻序列的碼率的第一比值和/或源視頻幀的預測殘差絕對值與視頻序列的碼率的第二比值和/或源視頻幀的圖像模糊度與所述源視頻幀的預測殘差絕對值的第三比值和/或視頻序列中首幀的圖像模糊度與所述首幀的預測殘差絕對值的第四比值,對各視頻序列中的各源視頻幀的量化參數進行調整,並採用調整後的量化參數進行編碼而減少視頻轉碼過程中的品質抖動,不需要進行四路編碼,編碼方式簡單快捷,進而可以減少編碼時間複雜度。
本揭示所屬技術領域中具有通常知識者可以理解實現上述實施例方法中的全部或部分流程,是可以通過電腦程式來指令相關的硬體來完成,所述的程式可儲存於一電腦可讀取儲存介質中,該程式在執行時,可包括如上述各方法的實施例的流程。所述儲存介質可為磁碟、光碟、唯讀儲存記憶體(Read-Only Memory,ROM)或隨機儲存記憶體(Random Access Memory,RAM)等。
雖然本揭示已用較佳實施例揭露如上,然其並非用以限定本揭示,本揭示所屬技術領域中具有通常知識者在不脫離本揭示之精神和範圍內,當可作各種之更動與潤飾,因此本揭示之保護範圍當視後附之申請專利範圍所界定者為準。
1:視頻轉碼設備 11:源視頻幀獲取單元 12:參數調整單元 13:視頻幀編碼單元 14:序列添加單元 15:編號設置單元 16:編號獲取單元 1000:電子設備 1001:處理器 1002:通信匯流排 1003:使用者介面 1004:網路介面 1005:記憶體 2000:視頻轉碼設備 3000:源視頻資料 4000a、4000b、4000n:視頻序列 5000a、5000b、5000n:源視頻幀 6000a、6000b、6000n:目標視頻幀 7000a、7000b、7000n:替換後的視頻序列 8000:目標視頻資料 S101-S104、S201-S215、2031、2041:步驟
[第1圖]顯示本揭示實施例提供的一種視頻轉碼網路架構的結構示意圖; [第2圖]顯示本揭示實施例提供的一種視頻轉碼方法的流程示意圖; [第3圖]顯示本揭示實施例提供的一種視頻轉碼方法的流程示意圖; [第4圖]顯示本揭示實施例提供的一種視頻序列的組成結構示意圖; [第5圖]顯示本揭示實施例提供的一種量化參數調節過程示意圖; [第6圖]顯示本揭示實施例提供的一種量化參數調節過程示意圖; [第7圖]顯示本揭示實施例提供的一種量化參數調節過程示意圖; [第8圖]顯示本揭示實施例提供的一種量化參數調節過程示意圖; [第9圖]顯示本揭示實施例提供的一種量化參數調節過程示意圖; [第10圖]顯示本揭示實施例提供的一種視頻轉碼設備的結構示意圖; [第11圖]顯示本揭示實施例提供的一種視頻轉碼設備的結構示意圖; [第12圖]顯示本揭示實施例提供的一種電子設備的結構示意圖。
S101-S104:步驟

Claims (15)

  1. 一種視頻轉碼方法,包括: 獲取源視頻資料中的視頻序列,獲取所述視頻序列中的源視頻幀,所述源視頻資料包括按照序列排列順序進行排列的多個視頻序列; 獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值,並基於所述第一比值對所述源視頻幀的量化參數進行調整; 基於調整後的量化參數對所述源視頻幀進行編碼處理,得到目標視頻幀,採用所述目標視頻幀替換所述源視頻幀,得到替換後的視頻序列;以及 將所述替換後的視頻序列按照所述序列排列順序添加至目標視頻資料中。
  2. 如請求項1之方法,所述獲取源視頻資料中的視頻序列,獲取所述視頻序列中的源視頻幀之前,所述方法還包括: 設置源視頻資料中多個視頻序列的序號集合,並設置所述多個視頻序列中各視頻序列的幀號集合,所述序號集合包括首序號以及非首序號,所述幀號集合包括首幀號、首部受影響幀號、中部受影響幀號以及尾部受影響幀號。
  3. 如請求項2之方法,所述基於所述第一比值對所述源視頻幀的量化參數進行調整之前,所述方法還包括: 獲取所述視頻序列在所述序號集合中的序號以及所述源視頻幀在所述幀號集合中的幀號。
  4. 如請求項3之方法,所述獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值,並基於所述第一比值對所述源視頻幀的量化參數進行調整包括: 獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值;以及 當所述序號為首序號且所述幀號為首幀號時,基於所述第一比值對所述源視頻幀的量化參數進行調整。
  5. 如請求項3之方法,所述獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值,並基於所述第一比值對所述源視頻幀的量化參數進行調整包括: 獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值; 當所述序號為首序號且所述幀號為首部受影響幀號,或者所述序號為首序號且所述幀號為中部受影響幀號時,獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值;以及 基於所述第一比值以及所述第二比值對所述源視頻幀的量化參數進行調整。
  6. 如請求項3之方法,所述獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值,並基於所述第一比值對所述源視頻幀的量化參數進行調整包括: 獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值; 當所述序號為首序號且所述幀號為尾部受影響幀號時,獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值以及所述源視頻幀的圖像模糊度與所述源視頻幀的預測殘差絕對值的第三比值;以及 基於所述第一比值、所述第二比值以及所述第三比值對所述源視頻幀的量化參數進行調整。
  7. 如請求項3之方法,所述獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值,並基於所述第一比值對所述源視頻幀的量化參數進行調整包括: 獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值; 當所述序號為非首序號且所述幀號為首幀號時,獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值以及所述源視頻幀的圖像模糊度與所述源視頻幀的預測殘差絕對值的第三比值;以及 基於所述第一比值、所述第二比值以及所述第三比值對所述源視頻幀的量化參數進行調整。
  8. 如請求項3之方法,所述獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值,並基於所述第一比值對所述源視頻幀的量化參數進行調整包括: 獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值; 當所述序號為非首序號且所述幀號為首部受影響幀號,或所述序號為非首序號且所述幀號為中部受影響幀號,或所述序號為非首序號且所述幀號為尾部受影響幀號時,獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值以及所述源視頻幀的圖像模糊度與所述源視頻幀的預測殘差絕對值的第三比值,並獲取所述視頻序列中首幀的圖像模糊度與所述首幀的預測殘差絕對值的第四比值;以及 基於所述第一比值、所述第二比值、所述第三比值以及所述第四比值對所述源視頻幀的量化參數進行調整。
  9. 一種視頻轉碼設備,包括: 一源視頻幀獲取單元,用於獲取源視頻資料中的視頻序列,獲取所述視頻序列中的源視頻幀,所述源視頻資料包括按照序列排列順序進行排列的多個視頻序列; 一參數調整單元,用於獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值,並基於所述第一比值對所述源視頻幀的量化參數進行調整; 一視頻幀編碼單元,用於基於調整後的量化參數對所述源視頻幀進行編碼處理,得到目標視頻幀,採用所述目標視頻幀替換所述源視頻幀,得到替換後的視頻序列;以及 一序列添加單元,用於將所述替換後的視頻序列按照所述序列排列順序添加至目標視頻資料中。
  10. 如請求項9之設備,還包括: 一編號設置單元,用於設置源視頻資料中多個視頻序列的序號集合,並設置所述多個視頻序列中各視頻序列的幀號集合,所述序號集合包括首序號以及非首序號,所述幀號集合包括首幀號、首部受影響幀號、中部受影響幀號以及尾部受影響幀號。
  11. 如請求項10之設備,還包括: 一編號獲取單元,用於獲取所述視頻序列在所述序號集合中的序號以及所述源視頻幀在所述幀號集合中的幀號。
  12. 如請求項11之設備,其中所述參數調整單元具體用於: 獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值;以及 當所述序號為首序號且所述幀號為首幀號時,基於所述第一比值對所述源視頻幀的量化參數進行調整。
  13. 如請求項11之設備,其中所述參數調整單元具體用於: 獲取所述視頻序列中首幀的預測殘差絕對值與所述視頻序列的碼率的第一比值; 當所述序號為首序號且所述幀號為首部受影響幀號,或者所述序號為首序號且所述幀號為中部受影響幀號時,獲取所述源視頻幀的預測殘差絕對值與所述視頻序列的碼率的第二比值;以及 基於所述第一比值以及所述第二比值對所述源視頻幀的量化參數進行調整。
  14. 一種電腦儲存介質,儲存有多條指令,所述多條指令由一處理器載入並執行如請求項1至8中任一項之方法。
  15. 一種電子設備,包括: 處理器和記憶體; 其中所述記憶體儲存有電腦程式,所述電腦程式由所述處理器載入並執行如請求項1至8中任一項之方法。
TW108119926A 2018-10-12 2019-06-10 視頻轉碼方法及設備、電腦儲存介質及電子設備 TWI703857B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811191653.7A CN109168030B (zh) 2018-10-12 2018-10-12 一种视频转码方法、设备及其存储介质
CN201811191653.7 2018-10-12

Publications (2)

Publication Number Publication Date
TW202015410A TW202015410A (zh) 2020-04-16
TWI703857B true TWI703857B (zh) 2020-09-01

Family

ID=64878140

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108119926A TWI703857B (zh) 2018-10-12 2019-06-10 視頻轉碼方法及設備、電腦儲存介質及電子設備

Country Status (5)

Country Link
US (1) US11343501B2 (zh)
EP (1) EP3767960A4 (zh)
CN (1) CN109168030B (zh)
TW (1) TWI703857B (zh)
WO (1) WO2020073671A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109168030B (zh) 2018-10-12 2021-03-26 中南大学 一种视频转码方法、设备及其存储介质
CN111866504B (zh) * 2020-07-17 2022-06-21 Oppo广东移动通信有限公司 一种编码方法、编码器及计算机可读存储介质
CN112492305B (zh) * 2020-11-18 2022-02-11 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105376568A (zh) * 2015-12-22 2016-03-02 广州通达汽车电气股份有限公司 一种abr视频编码码率控制的优化方法
CN107078852A (zh) * 2017-01-18 2017-08-18 深圳市大疆创新科技有限公司 传输编码数据的方法、装置、计算机系统和移动设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7330509B2 (en) * 2003-09-12 2008-02-12 International Business Machines Corporation Method for video transcoding with adaptive frame rate control
US7263126B2 (en) * 2003-09-15 2007-08-28 Sharp Laboratories Of America, Inc. System and method for transcoding with adaptive bit rate control
US8588296B2 (en) * 2009-07-02 2013-11-19 Dialogic Corporation Bitrate control algorithm for video transcoding systems
US8804820B2 (en) * 2011-04-21 2014-08-12 Dialogic Corporation Rate control with look-ahead for video transcoding
US9538190B2 (en) * 2013-04-08 2017-01-03 Qualcomm Incorporated Intra rate control for video encoding based on sum of absolute transformed difference
US9565440B2 (en) * 2013-06-25 2017-02-07 Vixs Systems Inc. Quantization parameter adjustment based on sum of variance and estimated picture encoding cost
US9807410B2 (en) * 2014-07-02 2017-10-31 Apple Inc. Late-stage mode conversions in pipelined video encoders
WO2017214510A1 (en) * 2016-06-10 2017-12-14 Affirmed Networks, Inc. Transcoding using time stamps
CN106937112B (zh) * 2017-03-31 2019-09-24 西安电子科技大学 基于h.264视频压缩标准的码率控制方法
CN107404648B (zh) * 2017-08-24 2019-12-03 中南大学 一种基于hevc的视频多路转码方法
CN109168030B (zh) * 2018-10-12 2021-03-26 中南大学 一种视频转码方法、设备及其存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105376568A (zh) * 2015-12-22 2016-03-02 广州通达汽车电气股份有限公司 一种abr视频编码码率控制的优化方法
CN107078852A (zh) * 2017-01-18 2017-08-18 深圳市大疆创新科技有限公司 传输编码数据的方法、装置、计算机系统和移动设备

Also Published As

Publication number Publication date
US20210051327A1 (en) 2021-02-18
EP3767960A4 (en) 2021-03-31
TW202015410A (zh) 2020-04-16
WO2020073671A1 (zh) 2020-04-16
EP3767960A1 (en) 2021-01-20
CN109168030A (zh) 2019-01-08
US11343501B2 (en) 2022-05-24
CN109168030B (zh) 2021-03-26

Similar Documents

Publication Publication Date Title
US10645449B2 (en) Method and apparatus of content-based self-adaptive video transcoding
KR101643790B1 (ko) 적응적 비디오 스트리밍용의 가변 비트 레이트 및 동적 해상도를 이용한 다중 비트 레이트 비디오 인코딩
TWI687091B (zh) 視訊解碼方法
JP5318561B2 (ja) マルチメディア処理のためのコンテンツ分類
US11343501B2 (en) Video transcoding method and device, and storage medium
CN108924553B (zh) 视频编码、解码方法、装置、计算机设备和存储介质
JP2002135783A (ja) ストリーミングサービスのための可変ビット率処理方法
JP2022500901A (ja) 符号化の対象となるデータ処理方法、装置、及びコンピュータプログラム
CN113170161A (zh) 图像编码方法、图像解码方法、装置和存储介质
CN111147858B (zh) 视频解码方法、装置、设备及存储介质
CN112004084B (zh) 一种利用量化参数排序的码率控制优化方法及系统
JP2006060836A (ja) 画像符号のトランスコーダ及び画像符号のトランスコーディング方法
CN115552901A (zh) 用于频率相关的联合分量二次变换的方法和装置
WO2021056575A1 (zh) 一种低延迟信源信道联合编码方法及相关设备
KR20040104831A (ko) 영상데이터의 압축 장치 및 방법
CN100477791C (zh) 在移动通信终端中发送动态图像的方法
CN112004082B (zh) 一种双帧作为控制单元的码率控制的优化方法
TWI829424B (zh) 解碼方法、編碼方法及裝置
CN116527903B (zh) 图像浅压缩方法及解码方法
KR100932727B1 (ko) 비디오 스트림 전환 장치 및 방법
KR100620606B1 (ko) 알앤디 최적화를 이용한 제이팩 영상의 양자화 테이블설계방법
CN112449184B (zh) 变换系数优化方法、编解码方法、装置、介质及电子设备
US20230074661A1 (en) Methods for efficent application of lgt
WO2024104503A1 (zh) 图像编解码
KR102538197B1 (ko) Hdr 코딩/디코딩을 위한 컬러 성분 샘플의 코-로케이팅된 루미넌스 샘플의 결정