專利名稱:控制視頻信號編碼比特流的量化程度的方法與相關裝置的制作方法
技術領域:
本發(fā)明涉及一種控制一影像信號的量化位階(Quantization Scale)的方法與相關裝置,特別涉及一種用于一視頻信號編碼裝置中控制一影像信號的量化位階的方法與相關裝置。
背景技術:
在運動圖形編碼專家組2(Moving Picture Coding Experts Group 2,以下簡稱MPEG 2規(guī)格)中,利用色彩取樣、離散余弦變換(Discrete CosineTransform,DCT)及量化(Quantization)等方式,去除視頻信號畫面空間上的冗余(Spatial Redundancies)信息,并藉由位移補償(MotionCompensation,MC)的方式,消除因畫面與畫面間的相似性所造成的時間上的冗余(Temporal Redundancies)信息,以達到壓縮視頻信號的效果。
一般而言,在同一張視頻信號畫面上會有一些共通特性,也許是色彩上的,也許是幾何上的,或是其它特征值得到的。去除這些空間上的冗余信息的方式,就是要識別出畫面中重要的元素,并移除重復且較無影響的元素。根據(jù)實驗,人眼對于亮度變化較敏感而對于色度的變化相對的較不易查覺。因此,MPEG 2規(guī)格采用亮度與色度的色彩表示格式,以Y表示亮度值(Luminance,或稱為Luma),以Cr及Cb表示色度值(Chrominance,或稱為Chroma),并以降低色度取樣的方式來減少信號量。MPEG 2規(guī)格中定義了4:2:0、4:2:2及4:4:4三種取樣模式,分別表示三種不同的色度取樣頻率。例如,4:2:0取樣模式是在一大小為16×16像素的宏區(qū)塊(Macro Block)中,取樣4個Y區(qū)塊(每一區(qū)塊大小為8×8像素)、1個Cr區(qū)塊(大小為8×8像素)與1個Cb區(qū)塊(大小為8×8像素)。藉由減少色度取樣的頻率,可以在影響視覺較小的情況下達到較佳的數(shù)據(jù)縮減效果。
另外,一般所播放的視頻信號,其實只是一連串連續(xù)的圖像序列,然而因為人類視覺上存在一種視覺暫留的現(xiàn)像,所以會產(chǎn)生連貫影像的錯覺。而此種視頻信號中,由于畫面間的時間間隔甚小,所以相臨的畫面間幾無差異,大多只是圖像內(nèi)容的位置變化。因此,在運動圖形編碼專家組2(MPEG 2)中,藉由位移補償(Motion Compensation,MC)的方式,消除時間軸上畫面與畫面間的相似性所造成的冗余信息,來達成壓縮視頻信號的目的。
上述視頻信號壓縮編碼的方法乃已知技術所熟知,以下僅簡單描述其運作方式。
圖1所示為一已知視頻信號編碼器10(Video Encoder)的示意圖。視頻信號編碼器10包含有一離散余弦變換(Discrete Cosine Transform,DCT)裝置12、一動態(tài)估計及補償器(Motion Estimator and Compensator)14、一量化器(Quantizer)16、一可變長度編碼器(Variable Length Encoder,VLE)18、以及一位率控制器(Rate Controller)20。視頻信號編碼器10是利用離散余弦變換裝置12與量化器16消除視頻信號畫面空間上的冗余信息,而以動態(tài)估計及補償器14消除時間上的冗余信息,以壓縮視頻信號數(shù)據(jù)的大小。最后,數(shù)據(jù)經(jīng)過可變長度編碼器18編碼后送至一系統(tǒng)多路復用器(未顯示),以MPEG 2規(guī)格所定義的傳輸數(shù)據(jù)流(Transport Stream)或程序數(shù)據(jù)流(Program Stream)將數(shù)據(jù)送出。
離散余弦變換(DCT)裝置12是對于一宏區(qū)塊經(jīng)過亮度和色度取樣后的每一區(qū)塊(大小為8×8像素),分別進行離散余弦變換,以將視頻信號數(shù)據(jù)從空間域(Spatial Domain)變換至頻率域(Frequency Domain)。離散余弦變換(DCT)是一種完全可逆的數(shù)學計算。區(qū)塊的色彩值經(jīng)離散余弦變換后所得到的離散余弦變換系數(shù)(DCT Coefficient),依然是一個8×8的二維矩陣。一般而言,一個畫面中的色彩通常不會有很密集且大的波動,因此,矩陣中代表較高空間頻率的離散余弦變換系數(shù)的值通常很小,甚至為零?;旧?,離散余弦變換并不能減少數(shù)據(jù)量,但是卻可以將數(shù)據(jù)轉(zhuǎn)成較易找尋冗余的表達型式。
接著,量化器16會對離散余弦變換系數(shù)進行量化,以進一步壓縮視頻信號數(shù)據(jù)的大小。簡單地講,量化(Quantization)就是減少描述各系數(shù)的位數(shù)的過程,亦即將各系數(shù)以較粗糙的度量單位描述之。量化的動作主要有兩個功能一是讓原已很接近零的值盡量變成零,另外則是使得原來非零的系數(shù)的分布范圍變小,以有助于壓縮處理。量化是一種破壞性壓縮技巧,量化后的數(shù)據(jù)再還原時與原來的數(shù)據(jù)不會完全相同。因此,視頻信號壓縮后失真的程度,主要是取決于量化位階(Quantization Scale)的選取。
視頻信號編碼器10的位率控制器20的功能,即是依據(jù)視頻信號編碼器10設計時所預設的輸出位率范圍,調(diào)整量化器16進行量化處理時的量化位階。位率控制器20在調(diào)整量化位階時,是以宏區(qū)塊為單位。意即,一宏區(qū)塊經(jīng)過亮度與色度取樣后的每一區(qū)塊,均具有相同的一量化位階。
當量化器16完成一區(qū)塊的量化處理后,視頻信號編碼器10會利用特定的算法,將一量化后二維矩陣中的離散余弦變換系數(shù)串接成一維的數(shù)列,而使得該一維數(shù)列中連續(xù)零值的長度為最大,以提高壓縮效率。接著,可變長度編碼器18會壓縮該一維的數(shù)列數(shù)據(jù),以輸出一壓縮后的數(shù)據(jù)流(BitStream),稱為編碼比特流。
量化器16所使用的量化位階越小,則視頻信號壓縮比越小、視頻信號品質(zhì)越高,但可變長度編碼器18輸出的編碼比特流的位率也會越高。反之,量化位階越大,則視頻信號壓縮比越大、視頻信號品質(zhì)越低,但可變長度編碼器18輸出的編碼比特流的位率也會越低。在該編碼比特流當中,有部分位(約7-8個位)是用來表達編碼過程當中該區(qū)塊的量化位階,以供該編碼比特流譯碼還原時之用。
依上述對于已知視頻信號編碼器10的運作說明中可知,當視頻信號編碼器10的輸出位率需維持在一預設的范圍內(nèi)時,若位率控制器20改變量化位階的頻率過于頻繁,則在視頻信號編碼器10編碼后輸出的編碼比特流中,用來紀錄量化位階的位數(shù)將會很可觀。例如,以NTSC規(guī)格而言,每秒要播放30個幀(Frame),每一幀具有1350個宏區(qū)塊。在此情況下,若視頻信號編碼器10的輸出位率為2Mbps,則平均每一宏區(qū)塊經(jīng)過壓縮后約僅能使用49.3個位。若位率控制器20改變每一宏區(qū)塊的量化位階,則輸出位率中約有14%(7/49.3=0.14)會是消耗在紀錄這些量化位階上。
由此可知,在已知視頻信號編碼器10中,若位率控制器20改變量化位階的頻率越高,則最后輸出的編碼比特流中會有越多的位空間被用來紀錄這些量化位階,使得真正能用來記錄視頻信號數(shù)據(jù)的部分受到限制,進而降低視頻信號編碼的品質(zhì)。
發(fā)明內(nèi)容
因此本發(fā)明的主要目的在于提供一種控制視頻信號編碼比特流的量化程度的方法與相關裝置,藉由限制量化位階的變化頻率以解決上述問題。
本發(fā)明提供一種使用于一視頻信號編碼裝置中控制一影像信號的量化位階(Quantization Scale)的方法,該方法包含有(a)使用該視頻信號編碼裝置計算編碼過程中的量化位階變化頻率;(b)使用該視頻信號編碼裝置產(chǎn)生一新的量化位階;以及(c)比較該變化頻率與一默認值,以決定是否以該新的量化位階取代一原先的量化位階。其中當該變化頻率超過該默認值時,則不以該新的量化位階取代該原先的量化位階,以使編碼過程中的量化位階變化頻率維持在該默認值內(nèi)。
本發(fā)明的優(yōu)點,在于可限制編碼過程當中的量化位階的變化頻率,使得編碼比特流當中有更多位可供視頻信號數(shù)據(jù)使用,進而提升視頻信號編碼的品質(zhì)。
附圖簡述圖1為已知的視頻信號編碼器的示意圖。
圖2為本發(fā)明的視頻信號編碼器的示意圖。
圖3為本發(fā)明控制一影像信號的量化位階的方法的流程圖。
附圖符號說明10、100 視頻信號編碼器12 離散余弦變換裝置14 動態(tài)估計及補償器16 量化器18 可變長度編碼器20、120 位率控制器實施方式請參考圖2。圖2為本發(fā)明可控制量化位階變化頻率的視頻信號編碼器100。視頻信號編碼器100與視頻信號編碼器10很類似,因此兩視頻信號編碼器中相同的組件是以相同的號碼進行編號。視頻信號編碼器100同樣利用離散余弦變換裝置12與量化器16消除視頻信號畫面空間上的冗余(SpatialRedundancies)信息,而以動態(tài)估計及補償器14消除時間上的冗余(TemporalRedundancies)信息,以壓縮視頻信號數(shù)據(jù)的大小。最后,數(shù)據(jù)經(jīng)過可變長度編碼器18編碼后輸出成為一編碼比特流。
如前所述,量化器16是根據(jù)位率控制器120所決定的一量化位階以對一區(qū)塊進行量化。然而,于本發(fā)明中,位率控制器120可依據(jù)編碼歷程中的量化位階的變化頻率,而決定是否要以一新的量化位階取代一原先的量化位階。接下來以流程圖說明本發(fā)明的位率控制器120的詳細運作情形。
請參考圖3。圖3為本發(fā)明的視頻信號編碼器100控制一影像信號的量化位階的流程圖200,其包含有以下步驟步驟202開始。
步驟204設定位率控制器120運作時所需的參數(shù),例如,計算量化位階變化頻率的時間單位P、量化位階的變化頻率Freq_Q的初始值、量化位階變化頻率的上限值TH、以及量化位階變化幅度的臨界值QTH等等。
步驟206位率控制器120產(chǎn)生一相對應于下一宏區(qū)塊的新的量化位階Qnew。
步驟208位率控制器120比較該新的量化位階Qnew是否等于一原先的量化位階Qold,若是,則進行步驟216;若否,則進行步驟210。
步驟210比較該新的量化位階Qnew與該原先的量化位階Qold之間的變化幅度,并檢查該變化幅度是否等于或超過該臨界值QTH,若是,則進行步驟214;若否,則進行步驟212。
步驟212比較量化位階的變化頻率Freq_Q是否等于或超過該上限值TH,若是,則進行步驟216;若否,則進行步驟214。
步驟214位率控制器120將該新的量化位階Qnew傳送至量化器16,以取代該原先的量化位階Qold,作為量化器16接下來進行量化的依據(jù)。
步驟216位率控制器120不會以該新的量化位階Qnew取代量化器16中該原先的量化位階Qold,故接下來量化器16繼續(xù)以該原先的量化位階Qold作為量化的依據(jù)。
步驟218位率控制器120更新量化位階變化頻率Freq_Q的值。
步驟220判斷是否還有需要處理的宏區(qū)塊,若是,則進行步驟206;若否,則進行步驟222。
步驟222結(jié)束。
以下說明流程圖200的運作方式時,是假設量化器16目前正對一宏區(qū)塊L進行量化處理,而量化該宏區(qū)塊L時所依據(jù)的量化位階為Qold。
在本發(fā)明的一較佳實施例中,視頻信號編碼器100會于步驟204設定位率控制器120運作時所需的參數(shù)。例如,將計算量化位階變化頻率的時間基礎P設定為20個宏區(qū)塊,表示以量化器16完成量化20個宏區(qū)塊的時間為單位,計算這段期間內(nèi)量化位階的改變次數(shù);將量化位階變化頻率的上限值TH設定為10,表示量化器16完成量化20個宏區(qū)塊的時間之內(nèi),量化位階的改變次數(shù)上限為10次;將量化位階的變化頻率Freq_Q的初始值設定為0,表示位率控制器120從0開始計算量化位階的改變次數(shù);將量化位階變化幅度的臨界值設定為QTH。
在步驟206中,對于緊接于宏區(qū)塊L之后,即將由量化器16進行量化處理的下一宏區(qū)塊M而言,位率控制器120會產(chǎn)生相對應的一新的量化位階Qnew。
接著,位率控制器120會在步驟208中,檢查該新的量化位階Qnew與該原先的量化位階Qold是否相同,若兩者的值相同,則進行步驟216,位率控制器120會告知量化器16維持該原先的量化位階Qold,而不會傳送與該原先的量化位階Qold相同的該新的量化位階Qnew至量化器16。因此,量化器16會依據(jù)該原先的量化位階Qold對該宏區(qū)塊M進行量化。反之,若該新的量化位階Qnew與該原先的量化位階Qold并不相等,則進行步驟210,進一步檢查該新的量化位階Qnew與該原先的量化位階Qold之間的變化幅度。
在本發(fā)明的一較佳實施例中,位率控制器120會在步驟210中檢查該新的量化位階Qnew與該原先的量化位階Qold的變化幅度,是否超過該預設范圍QTH,亦即檢查|Qnew-Qold|≥QTH是否成立。若|Qnew-Qold|≥QTH成立,則表示對于該前后兩宏區(qū)塊L與M而言,其相對應的量化位階Qnew與Qold間的變化幅度大于該預設范圍。由于位率控制器120所計算出來的量化位階大小,就某種程度而言是表示該宏區(qū)塊的復雜程度。因此,當該前后兩宏區(qū)塊L與M的量化位階變化程度很大時,卻使用同一量化位階(亦即Qold)對該宏區(qū)塊M進行量化,可能會大幅提高該相對復雜的宏區(qū)塊M在量化后的失真程度、或是可能會消耗過多位在相對單純的該宏區(qū)塊M。故,在本發(fā)明的一較佳實施例中,當該前后兩宏區(qū)塊L與M的量化位階Qold與Qnew的變化程度超過該預設范圍QTH時,位率控制器120會傳送該新的量化位階Qnew至量化器16,以作為量化器16接下來量化該宏區(qū)塊M的依據(jù),而不受此時量化位階的變化頻率Freq_Q的值所限制。相對地,在步驟210中,若該前后兩宏區(qū)塊L與M的量化位階變化程度未達臨界值,亦即|Qnew-Qold|<QTH時,則位率控制器120會進行步驟212,以決定是否以該新的量化位階Qnew取代該原先的量化位階Qold。
在步驟212中,位率控制器120會檢查此時量化位階的變化頻率Freq_Q的值是否等于或大于該默認值10。若此時量化位階的變化頻率Freq_Q的值為10或10以上,則位率控制器120會進行步驟216,告知量化器16維持該原先的量化位階Qold,而不會將該新的量化位階Qnew傳送至量化器16。因此,量化器16接下來仍會依據(jù)該原先的量化位階Qold量化該宏區(qū)塊M。最后,經(jīng)可變長度編碼器18編碼后輸出的編碼比特流中,僅紀錄著量化器16量化該宏區(qū)塊M時沒有改變量化位階,代表沿用上一宏區(qū)塊的量化位階。而不用占用7-8個位重復紀錄該量化位階Qold。
反之,若此時量化位階的變化頻率Freq_Q的值小于10,則位率控制器120會進行步驟214。在步驟214中,位率控制器120會將該新的量化位階Qnew傳送至量化器16,使得量化器16接下來依據(jù)該新的量化位階Qnew量化該宏區(qū)塊M。最后,經(jīng)可變長度編碼器18編碼后輸出的編碼比特流中,會使用7-8個位紀錄量化器16量化該宏區(qū)塊M時所使用的該新的量化位階Qnew。
在步驟218中,不論位率控制器120是否以該新的量化位階Qnew取代該原先的量化位階Qold,位率控制器120均會更新量化位階變化頻率Freq_Q的值。請注意,由于在步驟204中所設定的計算量化位階變化頻率的時間基礎P為20個宏區(qū)塊,因此,位率控制器120更新Freq_Q的值時,會剔除掉該宏區(qū)塊M前面的第20個宏區(qū)塊(也就是與目前處理中的宏區(qū)塊M在編碼程序中距離最遠、最舊的先前宏區(qū)塊),并將該宏區(qū)塊M加入計算范圍內(nèi),統(tǒng)計該宏區(qū)塊M與其前19個宏區(qū)塊(共20個宏區(qū)塊)的量化過程中,量化位階的變化次數(shù),以作為更新后的Freq_Q的值。
步驟220的目的是判斷在該宏區(qū)塊M之后,是否還有其它宏區(qū)塊需要進行量化。若該宏區(qū)塊M是最后一宏區(qū)塊,則結(jié)束本發(fā)明的流程;若該宏區(qū)塊M之后還有其它的宏區(qū)塊需要量化,則位率控制器120會進行步驟206,產(chǎn)生一相對應于該宏區(qū)塊M的下一宏區(qū)塊N的量化位階,然后重復進行上述步驟。
由上述流程圖200的說明中可發(fā)現(xiàn),步驟204與步驟206的順序是可以顛倒的,而不會對本發(fā)明的實施造成不良影響。另外,在上述步驟204的說明中是假設計算量化位階變化頻率的時間基礎P為20個宏區(qū)塊、量化位階變化頻率的上限值TH為10、量化位階的變化頻率Freq_Q的初始值為0、將量化位階變化幅度的臨界值為QTH。然則,上述參數(shù)值,僅是為了方便說明的舉例,并非限定本發(fā)明所使用的參數(shù)值需如前所述。是故,步驟204中所設定的各參數(shù)值可依需要而調(diào)整。例如,計算量化位階變化頻率的時間基礎P亦可設定為一特定長度的時間,或其它時間計算基準。而量化位階變化頻率的上限TH可設定為大于0的任何數(shù)目(整數(shù)或非整數(shù)皆可)。量化位階的變化頻率Freq_Q的初始值可設定為0,亦可設定為任何非0的數(shù)目。至于量化位階變化幅度的臨界值可設定為一特定數(shù)值或一特定百分比等等。
甚至,步驟204亦可進一步省略,只要預先寫入所需要的這些參數(shù)值于控制位率控制器120運作的固件中亦可達成本發(fā)明的功效。
在本發(fā)明的一較佳實施例中,若該新的量化位階Qnew與該原先的量化位階Qold不相等時,則需要視該新的量化位階Qnew與該原先的量化位階Qold之間的變化幅度,以及比較此時量化位階變化頻率Freq_Q的值與該默認值TH,以決定是否以該新的量化位階Qnew取代該原先的量化位階Qold。而于本發(fā)明的另一實施例中,流程圖200中的步驟210可以被省略。亦即,若該新的量化位階Qnew與該原先的量化位階Qold不相等時,僅比較此時量化位階變化頻率Freq_Q的值與該默認值TH,即可決定是否以該新的量化位階Qnew取代該原先的量化位階Qold。
相較于已知技術,本發(fā)明的位率控制器120的一項重要技術特征在于,可限制編碼過程當中的量化位階的變化頻率,以降低最后輸出的編碼比特流中用來紀錄量化位階的位量,而空出更多位供視頻信號數(shù)據(jù)使用,進而提升視頻信號編碼的品質(zhì)。
以上是以一視頻信號編碼器100為例說明本發(fā)明的一較佳實施例,實際上,視頻信號編碼器100亦可為一計算機系統(tǒng),而圖2中的離散余弦變換裝置12、動態(tài)估計及補償器14、量化器16、可變長度編碼器18、以及位率控制器120等方塊,均可分別為對應的程序或整合為一視頻信號編碼程序。此時,圖2的流程圖200便相當于該視頻信號編碼程序的算法,其詳細程序代碼可以任何程序語言編寫,在不影響本發(fā)明的技術揭露的情況下,在此不再贅述。
以上所述僅為本發(fā)明的較佳實施例,凡依本發(fā)明申請專利范圍所做的均等變化與修飾,皆應屬本發(fā)明專利的涵蓋范圍。
權利要求
1.一種在一視頻信號編碼裝置中用以控制一影像信號的量化位階(Quantization Scale)的方法,該方法包含有(a)計算編碼過程中的量化位階變化頻率;(b)產(chǎn)生一新的量化位階;以及(c)比較該變化頻率與一默認值,以決定是否以該新的量化位階取代一原先的量化位階;其中,當該變化頻率超過該默認值時,則不以該新的量化位階取代該原先的量化位階,以使編碼過程中的量化位階變化頻率維持在該默認值內(nèi),而且以上步驟(a)與步驟(b)的次序可以互換。
2.如權利要求1所述的方法,其中,該默認值可為一預設時間內(nèi)的量化位階變化次數(shù)。
3.如權利要求1所述的方法,其中,該默認值可為在進行該影像信號內(nèi)一預設數(shù)量的宏區(qū)塊的量化動作過程中量化位階的變化次數(shù)。
4.如權利要求1所述的方法,其中,該視頻信號編碼裝置是使用一位率控制器以執(zhí)行步驟(a)與步驟(b)。
5.如權利要求1所述的方法,其中,該視頻信號編碼裝置是一計算機系統(tǒng),藉由執(zhí)行一視頻信號編碼程序以進行步驟(a)與步驟(b)。
6.如權利要求1所述的方法,其中,該方法另包含有比較該新的量化位階與該原先的量化位階,若該新的量化位階與該原先的量化位階的差距超過一預設范圍時,不論該變化頻率是否超過該默認值,均以該新的量化位階取代該原先的量化位階。
7.如權利要求1所述的方法,其中,該方法另包含有比較該新的量化位階與該原先的量化位階,若該新的量化位階與該原先的量化位階的差距不超過一預設范圍時,比較該變化頻率與該默認值,以決定是否以該新的量化位階取代該原先的量化位階。
8.一種視頻信號量化裝置,用來對一影像信號進行量化,以產(chǎn)生一量化后的矩陣,該視頻信號量化裝置包含有一量化器,用以依據(jù)一量化位階對一影像信號進行量化;以及一位率控制器,電連于該量化器,用以提供該量化位階;其中,該位率控制器會計算編碼過程中量化位階的變化頻率,并與一默認值相比較,當該位率控制器產(chǎn)生一新的量化位階時,若該變化頻率超過該默認值,則該位率控制器不會以該新的量化位階取代該量化器使用中的一原先的量化位階,以使該量化位階的變化頻率維持在該默認值的范圍內(nèi)。
9.如權利要求8所述的量化裝置,其中,該默認值可為一預設時間內(nèi)的量化位階變化次數(shù)。
10.如權利要求8所述的量化裝置,其中,該默認值可為在進行該影像信號內(nèi)一預設數(shù)量的宏區(qū)塊的量化動作過程中量化位階的變化次數(shù)。
11.如權利要求8所述的量化裝置,其中,該位率控制器會比較該新的量化位階與該原先的量化位階的差距,當差距超過一預設范圍時,不論該變化頻率是否超過該默認值,該位率控制器均會將該新的量化位階傳送至該量化器,以取代該原先的量化位階。
12.如權利要求8所述的量化裝置,其中,該位率控制器會比較該新的量化位階與該原先的量化位階的差距,當差距不超過一預設范圍時,該位率控制器會比較該變化頻率與該默認值,以決定是否以該新的量化位階取代該原先的量化位階。
全文摘要
一種在一視頻信號編碼裝置中用以控制一影像信號的量化位階(Quantization Scale)的方法,該方法包含有使用該視頻信號編碼裝置計算編碼過程中的量化位階變化頻率;使用該視頻信號編碼裝置產(chǎn)生一新的量化位階;以及比較該變化頻率與一默認值,以決定是否以該新的量化位階取代一原先的量化位階。其中當該變化頻率超過該默認值時,則不以該新的量化位階取代該原先的量化位階,以使編碼過程中的量化位階變化頻率維持在該默認值內(nèi)。
文檔編號H04N5/926GK1622611SQ20031011885
公開日2005年6月1日 申請日期2003年11月28日 優(yōu)先權日2003年11月28日
發(fā)明者郭志輝 申請人:聯(lián)發(fā)科技股份有限公司