專利名稱::用于改進的編碼模式選擇的方法和裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及多媒體壓縮系統(tǒng)領(lǐng)域。具體地,本發(fā)明公開了用于改進編碼模式選擇的方法和系統(tǒng)。
背景技術(shù):
:基于數(shù)字的電子介質(zhì)格式正在最終大規(guī)模地代替模擬電子介質(zhì)格式。數(shù)字光盤(CD)很久以前就取代了模擬聚乙烯唱片。模擬磁帶變得日益稀少。第二和第三代數(shù)字音頻系統(tǒng),諸如小型磁盤和MP3(MPEG音頻第3層)正從第一代數(shù)字音頻光盤格式奪取市場份額。然而,視頻介質(zhì)向數(shù)字存儲和傳輸格式發(fā)展的速度要比音頻的發(fā)展速度慢。這主要是由于以數(shù)字格式精確表示視頻需要大量的數(shù)字信息。精確表示視頻所需的大量數(shù)字信息需要非常髙容量的數(shù)字存儲系統(tǒng)和髙帶寬的傳輸系統(tǒng)。但是,視頻正快速地向數(shù)字存儲和傳輸格式發(fā)展。更快的計算機處理器、高密度的存儲系統(tǒng)、以及新的高效壓縮編碼算法最終使得數(shù)字視頻實踐在消費價格方面變得實用。在幾年間,DVD(數(shù)字多功能光盤)、數(shù)字視頻系統(tǒng)已經(jīng)成為銷售最快的消費電子產(chǎn)品之一。由于其視頻質(zhì)量髙、音頻質(zhì)量高、便利以及其它特點,DVD已經(jīng)迅速代替了錄像機(VCR),成為選擇的預先錄制的視頻重放系統(tǒng)。廢棄的模擬NTSC(國家電視標準委員會)視頻傳輸標準最終由數(shù)字化的ATSC(先進電視標準委員會)視頻傳輸系統(tǒng)所代替。多年來,計算機系統(tǒng)已經(jīng)使用各種不同的數(shù)字視頻編碼格式。由計算機系統(tǒng)使用的最好的數(shù)字化視頻壓縮和編碼系統(tǒng)是由公知的其縮寫為MPEG的運動圖像專家組支持的數(shù)字化視頻系統(tǒng)。MPEG的三種最公知并且使用率非常高的數(shù)字視頻格式是MPEG-1、MPEG-2和MPEG-4。視頻CD以及用戶級數(shù)字視頻編輯系統(tǒng)使用早期的MPEG-1格式。數(shù)字多功能光盤(DVD)以及碟形網(wǎng)絡(luò)品牌(brand)直播衛(wèi)星(DBS)電視廣播系統(tǒng)使用MPEG-2數(shù)字視頻壓縮和編碼系統(tǒng)。基于數(shù)字視頻編碼器的最新計算機和相關(guān)的數(shù)字視頻播放器正迅速地采用MPEG-4編碼系統(tǒng)。
發(fā)明內(nèi)容本發(fā)明公開了用于改進編碼模式選擇的方法和系統(tǒng)。在本公開中,公開了一種新穎的方法,用于H.264(MPEG-4/部分10)的框架中B-圖像中直接模式的增強以及P-圖像中跳過模式的增強。直接模式和跳過模式增強是通過對現(xiàn)有的壓縮系統(tǒng)做多個改變來獲得的。具體地,本發(fā)明的系統(tǒng)引入了移除失真值中非正常值的步驟、在對編碼模式選擇的速率失真優(yōu)化中指定拉格朗日乘數(shù)的較小值的步驟、以及在編碼模式選擇之前群集(clustering)拉格朗日值的步驟。在一個實施方式中,為了移除非正常值,利用Huber成本函數(shù)計算不同編碼模式的失真。在本發(fā)明的一個實施方式中,系統(tǒng)改變拉格朗日乘數(shù)以作為量化器值Q的函數(shù),比基準H,264(MPEG4/部分10)的實現(xiàn)變化得更慢。利用拉格朗日群集來支持比特率減少的模式O的編碼模式。利用髙質(zhì)量的視頻序列的實驗結(jié)果表明,以峰值信噪比(PSNR)的微小損失為代價,利用本發(fā)明的方法獲得比特率的減少。通過執(zhí)行兩個不同的實驗,驗證了盡管峰值信噪比發(fā)生了改變,但沒有主觀的視覺損失。與當前用在(非標準)MPEG-4/部分10編碼器中的現(xiàn)有的比率失真優(yōu)化方法相比,本發(fā)明的方法提供了一種簡單而有用的附加項(add-on)。更重要的是,當由于不被接受的偽像引入到解碼的圖像中使得其它的方法,諸如進一步增加量化參數(shù)的值不可用時,本發(fā)明的方法不將可見失真引入解碼序列中就可獲得比特率的減少。通過附圖以及下列的詳細描述,本發(fā)明的其它目的、特點以及優(yōu)點將會顯而易見。通過下面的詳細描述,本發(fā)明的目的、特點以及優(yōu)點對本領(lǐng)域的技術(shù)人員來講將會是顯而易見的,其中圖1圖解地示出了變量r的Huber成本函數(shù)。圖2A示出了原始和修改的拉格朗曰乘數(shù)4。d。在所關(guān)心的范圍內(nèi)作為量化參數(shù)(Q)值的函數(shù)的變化。圖2B示出了原始和修改的B—幀拉格朗日乘數(shù)、^在所關(guān)心的范圍內(nèi)作為量化參數(shù)(Q)值的函數(shù)的變化。圖2C示出了原始和修改的拉格朗日乘數(shù)義,,,。,,。,,在所關(guān)心的范圍內(nèi)作為量化參數(shù)(Q)值的函數(shù)的變化。圖3示出了說明如何選擇編碼模式的流程圖。具體實施例方式本發(fā)明公開了用于改進編碼模式選擇的方法和系統(tǒng)。在下列的描述中,為了便于解釋,提出具體的術(shù)語來提供對本發(fā)明的完整的理解。然而,對本領(lǐng)域技術(shù)人員來講顯而易見的是為了實施本發(fā)明并不需要這些具體的細節(jié)。出現(xiàn)的H.264視頻編碼標準,也稱作MPEG4/部分10、聯(lián)合視頻隊(JVT)、先進視頻編碼(AVC)以及H.26L,其已經(jīng)由運動圖像專家組(MPEG)以及國際電信同盟(ITU)共同開發(fā),以提供比藝術(shù)級的視頻編碼系統(tǒng)更高的運動圖像的壓縮,其中所述的藝術(shù)級的視頻編碼系統(tǒng)與現(xiàn)有的MPEG標準相適應(yīng)。其有望成為2003年的國際標準的H.264的目標應(yīng)用包括(但不限于)視頻會議、數(shù)字存儲介質(zhì)、電視廣播、因特網(wǎng)流和通信。.與其它的視頻編碼標準(在它們的主體或附件中)相似,H.264標準使用速率失真(RD)確定框架。具體地,H.264標準使用對編碼模式選擇的速率失真優(yōu)化和運動評估。在公開中,主要焦點是在H.264標準的框架內(nèi)的編碼模式選擇。在大多數(shù)視頻編碼系統(tǒng)中,將視頻序列的每個視頻幀分成像素子集,其中像素子集被稱作像素模塊。在H.264標準中,像素模塊具有不同的尺寸(具有16X16像素大小的像素模塊通常被稱作宏塊)。編碼模式選擇問題可以非正式地定義為"選擇所有可能的編碼方法(或編碼模式)中最好的以對視頻幀中的每個像素模塊"進行編碼??梢砸远喾N不同的方式由視頻編碼器來解決編碼模式選擇問題。解決編碼模式選擇問題的一個可能的方法就是利用速率失真優(yōu)化。存在多種不同的編碼模式,其可以被選擇用來編碼H.264視頻編碼標準的框架內(nèi)的每個像素模塊。模式0稱作B幀中的"直接模式"以及P幀中的"跳過模式"。其它的編碼模式利用B幀或P幀中大小等于16X16、16X8以及8X16像素、8X8、8X4、4X8、4X4像素的像素模塊。在直接模式中(B圖像的模式0),沒有運動信息傳輸?shù)浇獯a器。而是使用預測系統(tǒng)生成運動信息。因此,直接模式可以對序列提供重要的比特率的節(jié)約,其中該序列利用鄰近的空間或時間信息允許良好的運動向量預測。然而,實驗性的估計表明H.264中的直接模式選擇并不生成與對一些視頻序列所期望的一樣多的被選擇的像素模塊。本公開推薦了一種方法,用于增強H.264標準的框架內(nèi)的雙向預測圖像(稱作B圖像或B幀)中的直接模式(模式0)選擇。當應(yīng)用到P幀時,本發(fā)明的編碼方法獲得跳過模式(也是模式O)選擇的增強。直接模式和跳過模式的增強通過群集拉格朗日值、移除非正常值并且在對編碼模式選擇的速率失真優(yōu)化中指定拉格朗日乘數(shù)的較小值來獲得。利用高質(zhì)量采樣的視頻序列的實驗結(jié)果表示,與利用H.264編解碼獲得的壓縮的比特流相比,本發(fā)明的壓縮的比特流的比特率減少了。比特率的減少與比特流的峰值信噪比(PSNR)的輕微損失有關(guān)。然而兩個測試的實驗證明沒有主觀的視覺損失與峰值信噪比的變化有關(guān)。更重要的是,當由于不可接受的偽像被引入到解碼的圖像中,使得諸如進一步增加量化參數(shù)的值的其它可能的方案不適用時,本發(fā)明的方法不在解碼的視頻序列中引入可視的失真的情況下,就顯著地進一步^得比特率減少。而且,不管本發(fā)明使用H.264框架的事實,本發(fā)明的編碼方法可適用于任何使用比特失真優(yōu)化的視頻編碼系統(tǒng)。本文檔的剩余部分組織如下。視頻壓縮綜述部分首先描述了與H.264標準內(nèi)的比特失真的優(yōu)化框架有關(guān)的基本概念。本發(fā)明提出的編碼方法在提出的直接模式增強方法部分進行了詳細描述。最后,在實驗結(jié)果部分和結(jié)論部分分別提供了一組實驗結(jié)果和結(jié)論。視頻壓縮綜述如本文檔之前所述,每個視頻幀被分成H.264標準的像素模塊組??梢岳眠\動補償預測編碼對這些像素模塊進行編碼。預測的像素模塊可以是在其編碼中不使用之前圖像信息的內(nèi)部(I)的像素模塊(I像素模塊)、使用前一個圖像信息的單向預測(P)的像素模塊(P像素模塊)或者使用前一個圖像信息和后一個圖像信息的雙向預測(B)的像素模塊(B像素模塊)。對于每一個P圖像中的P像素模塊,計算一個運動向量。(注意在每一個視頻圖像內(nèi),可以以多種方式編碼像素模塊)。例如,可以將像素模塊分成更小的子模塊,對每個子模塊計算和傳輸運動向量。子模塊的形狀可以改變并且可以不是正方形的)。利用計算機運動向量,通過上述之前圖像中的像素轉(zhuǎn)換,可以形成預測像素模塊。視頻圖像中實際的像素模塊和預測的像素模塊之間的差異然后被編碼用于傳輸。(該差異用于糾正預測的像素模塊和實際的像素模塊之間的較小的差異)。也可以通過預測的編碼傳輸每個運動向量。也就是,利用附近的已經(jīng)被傳輸?shù)倪\動向量來形成對運動向量的預測,并且然后實際的運動向量和預測的運動向量之間的差異被隨后編碼用于傳輸。對于每個B像素模塊,典型地計算兩個運動向量,一個是上述的前一個圖像的運動向量,一個是后一個圖像的運動向量。(注意在P圖像或B圖像內(nèi),可以不用運動補償而對一些像素模塊更好地編碼。這樣的像素可以被編碼為內(nèi)部像素模塊。在B圖像內(nèi),利用向前或向后單向運動補償可以對一些像素模塊更好地編碼。這樣的像素可以被編碼為向前預測或向后預測,這取決于是否在預測中使用了前一個圖像或后一個圖像。)兩個預測像素模塊從兩個B像素模塊運動向量計算。然后將兩個預測像素模塊結(jié)合在一起,以形成最終的預測像素模塊。如上所述,視頻圖像中實際的像素模塊和預測模塊之間的差異然后被編碼用于傳輸。如P像素模塊,B像素模塊的每個運動向量可以通過預測編碼傳輸。也就是,利用附近的已經(jīng)被傳輸?shù)倪\動向量來形成預測運動向量。然后實際的運動向量和預測的運動向量之間的差異被隨后編碼用于傳輸。然而,對于B像素模塊,也存在內(nèi)插運動向量的機會,運動向量來自于配置或鄰近的存儲的圖像像素模塊中的運動向量。(當利用當前像素模塊的配置的模塊的運動向量構(gòu)建運動向量預測時,直接模式類型稱作時間直接模式。當利用當前像素模塊的空間相鄰的來構(gòu)建運動向量預測時,直接模式類型已知為空間直接模式。)內(nèi)插值然后可用作預測運動向量,實際的運動向量和預測運動向量之間的差異然后被編碼用于傳輸。這樣的內(nèi)插在編碼器和解碼器中都執(zhí)行。(注意編碼器總是具有解碼器,所以該編碼器將準確地知道重建的視頻圖像將如何出現(xiàn))。在一些情況下,內(nèi)插的運動向量足夠良好來進行使用,不需要做任何差異校正,在這種情況下根本不需要傳輸運動向量數(shù)據(jù)。這稱為H.264(以及H.263)標準中的直接模式。當記錄攝影機緩慢地搖攝(pan)靜態(tài)的背景時,直接模式選擇就特別有效。實際上,這樣的運動向量內(nèi)插足夠良好可以按照現(xiàn)狀使用,這意味著對這些B像素模塊運云力向量來講不需要傳輸差別信息。在跳過模式(P圖像中的模式0)中:與在16X16直接模式中相同的方式構(gòu)建運動向量預測,使得沒有運動向量比特的傳輸被執(zhí)行。在傳輸之前,典型地將像素模塊或子模塊的預測誤差(差異)進行轉(zhuǎn)換、量化和熵編碼,以減小比特的數(shù)量。計算為原始的期望像素模塊和在利用直接模式編碼后被解碼的預測像素模塊之間的均方誤差的預測誤差以直接模式被編碼。然而在跳過模式中預測誤差沒有被編碼并傳輸。用于轉(zhuǎn)換的子模塊的尺寸和形狀可以與用于運動補償?shù)淖幽K尺寸和形狀不同。例如,8X8像素或4X4像素通常用于轉(zhuǎn)換,而16X16像素、16X8像素、8X16像素或更小的尺寸通常用于運動補償。運動補償以及轉(zhuǎn)換子模塊尺寸和形狀在像素模塊像素模塊之間可以不同。編碼每個像素模塊的最好的編碼模式的選擇是在H.264標準中的決定之一,該標準對被壓縮的比特流的比特率R以及被解碼的視頻序列中的失真D具有非常直接的影響。編碼模式選擇的目的是選擇編碼模式M*,其將受W(7)",的比特率限制的失真Z^)最小化,其中7是可調(diào)整的編碼參數(shù)的向量,《^是最大的可允許的比特率。受約束的最優(yōu)化問題可以轉(zhuǎn)換為利用拉格朗日等式j(luò)(^,a)的無約束優(yōu)化問題,由下式給出j(;,a)=d(7)+a^)(i)其中義是拉格朗日乘數(shù),其控制失真率的折中。編碼模式確定問題就變成了j(7,;i)的最小化。這可以以下列的方程表達mi』如(;)+;U(^))(2)可以通過對每個可容許的編碼模式執(zhí)行下列步驟來評估前述的拉格朗日方程(a)在利用特定的編碼模式編碼和解碼之后,計算失真D作為原始的像素模塊和重建的像素模塊之間的誤差的標準^;(b)計算比特率R作為編碼運動向量和轉(zhuǎn)換系數(shù)所必需的比特的總數(shù);(C)利用方程(1)計算拉格朗日值J;最后,在對所有的編碼模式計算拉格朗日值J之后,獲得的最小的拉te朗日值J表示解決了由方程(2)表達的最小化的編碼模式M氣'注意,在H.264視頻壓縮標準中,在確定較大的像素模塊的編碼模式之前,利用8X8以及更小的像素模塊來執(zhí)行編碼模式的確定。而且,注意在減小最優(yōu)化進程的復雜性的工作中,利用固定的量化器值Q來執(zhí)行最小化確定,并且經(jīng)常選擇拉格朗曰乘數(shù)等于(例如)0.85XQ/2或者0.85X2^,其中Q是量化參數(shù)。對于多個B圖像,經(jīng)常選擇更大的值。當然,該復雜性的降低也限制了對失真率平面中拉格朗日J的最小值的搜索。推薦的直接模式增強方法本發(fā)明的系統(tǒng)推薦了一種方法,用于增強B幀中的直接模式選擇18和增強P幀中跳過模式選擇。本發(fā)明的系統(tǒng)利用群集成本值、非正常值減小以及拉格朗日乘數(shù)的說明。在一個實施方式中,本系統(tǒng)利用四個步驟執(zhí)行該方法。參照附圖3,下列的正文提供了對這些方法步驟的詳細描述。首先,對每個可能的編碼模式M的當前像素模塊進行編碼和解碼,并且如步驟310和320所述對失真DM進行計算。在一個實施方式中,將失真DM計算成原始的像素模塊中的像素和解碼的像素模塊中的像素之間誤差的Huber函數(shù)值之和。Huber函數(shù),如如圖1中所述,由下列等式給出,1其中義是像素模塊的一個像素的誤差,/是參數(shù)。無疑,對于小于-的誤差值,Huber函數(shù)的值等于由平方誤差給定的值。對于大于"的誤差值,Huber函數(shù)的值小于相同誤差值的平方誤差的值。第二,如步驟330所述,計算每個編碼模式的比特率R。在一個實施方式中,系統(tǒng)計算比特率R作為編碼運動向量和轉(zhuǎn)換像素模塊系數(shù)所必需的比特的總數(shù)。第三,如步驟340所述,本發(fā)明的系統(tǒng)利用等式(1)計算編碼模式的格朗日算符。在一個實施方式中,該系統(tǒng)選擇拉格朗日乘數(shù)義的值,該拉格朗日乘數(shù)A的值作為量化參數(shù)的函數(shù),其比H.264標準4.1版本的非標準化部分建議的原始的拉格朗日算子A變化得更慢。作為量化器Q的函數(shù)的拉格朗日算子;i的建議的變化在附圖2A、2B和2C中進行了描述。通過使得拉格朗日乘數(shù)拉姆達變化得比基準實現(xiàn)中的拉姆達更慢,本發(fā)明的系統(tǒng)較少強調(diào)拉格朗日等式(1)的比特率成分R,并且因而較多強調(diào)失真成分D。作為對拉格朗日乘數(shù)拉姆達改變的結(jié)果,比特率R微小的增加將對輸出的拉格朗日值J具有較小的影響。(這也將減小比特率R對如下段落中所述的拉格朗日群集的影響)。第四,使得J^成為所有JM的最小值(利用等式(l)),M是其中的一個可能的編碼模式。系統(tǒng)不選擇生成J^的編碼模式(M*),而是如下來群集計算的拉格朗日值Jm。使得S設(shè)為編碼模式K的集合,其中計算的拉格朗日值滿足條件:<formula>formulaseeoriginaldocumentpage20</formula>其中厄普西隆("s")是選定的誤差值,y'是所有模式的最小的J。如果編碼模式0是集合S的元素,則系統(tǒng)選擇編碼模式0作為將被用來編碼像素模塊的編碼模式,否則系統(tǒng)選擇與J^對應(yīng)的編碼模式M*(生成最小的J值的編碼模式M*)。上述的步驟利用了與基準(非標準化的)H.264編碼器相比新穎的組件。特別地,本發(fā)明使用Huber成本函數(shù)計算失真、修改的拉格朗曰乘數(shù)以及拉格朗日值的群集。Huber成本函數(shù)屬于魯棒M估計器類別。這些函數(shù)的重要特性是它們減小非正常值影響的能力。更具體的是,如果任何非正常值存在于像素模塊內(nèi),則Huber成本函數(shù)對它們的加權(quán)(線性地)要比均方誤差函數(shù)的(二次方地)要低,依次使得對像素模塊所選定的編碼模式可能與相鄰的宏塊的編碼模式相同。修改的拉格朗日乘數(shù)A作為量化參數(shù)Q的函數(shù)變化得較慢,因而對拉格朗日值J的失真成分注重的程度比對比特率成分R注重的程度要高。(在該文檔中,"拉姆達"或"A"表示用在編碼模式確定進程中的拉格朗日乘數(shù)。用在運動向量選擇進程中的乘數(shù)是不同的)。最后,以前描述的拉格朗日值的群集支持編碼模式O。因此,本發(fā)明的系統(tǒng)允許分別利用用于B像素模塊和P像素模塊的直接模式或跳過模式來編碼更多的像素模塊。'實驗結(jié)果用在實驗中的視頻測試集由來自于電影片段"探訪埃及(DiscoveringEgypt)"、"飄"以及"英國病人"的9種彩色視頻剪輯構(gòu)成。這些視頻序列的特定特性如表1所述。表1:測試序列.(略寫ch和Og分別代表章節(jié)和反向閃爍(glance))20<table>tableseeoriginaldocumentpage21</column></row><table>視頻幀以YUV格式表示,對于所有的視頻序列視頻幀速率等于每秒23.976幀(fps)。利用壓縮的視頻序列的比特率R以及解碼的視頻序列的可視化質(zhì)量來對本發(fā)明推薦的方法的效果進行評估。通過視頻序列的可視檢査以及峰值信噪比(PSNR)值對后者進行評估。在推薦的直接模式增強方法部分描述的本發(fā)明的編碼方法中的新穎的組件根據(jù)它們對速率和失真的影響而相互補充。本發(fā)明的方法使得總體的比特率減少以及輕微的峰值信噪比的減少。利用在下列文本部分描述的兩個實驗對本發(fā)明的系統(tǒng)進行了評估。所有序列的固定量化參數(shù)對所有的視頻序列來講,第一個實驗所選擇的量化參數(shù)是相同的,并且對于I幀、P幀和B幀分別等于Q、Q+l、Q+3。如表2中所述,當利用本發(fā)明的編碼方法時,比特率的減少可以為9%,其中峰值信噪比(PSNR)的損失大約0.12dB。與利用基準的方法編碼的相比,利用本發(fā)明的編碼方法編碼的視頻序列中沒有可見的失真。表2:對所有的序列利用相同的量化參數(shù)Q使用基準方法和推薦的方法的視頻序列的比特率(BR)[k比特/秒]以及峰值信噪比(PSNR)網(wǎng)<table>tableseeoriginaldocumentpage22</column></row><table>每個序列的最高的量化參數(shù)為了進一步評估本發(fā)明的編碼方法的有效性,設(shè)計并進行了第二個實驗。當比特率R和峰值信噪比值都降低時,一般的論點是多種方法諸如預過濾視頻序列、增加量化器Q的值等可以生成相同的結(jié)果。該實驗的目的是表明當在沒有不可接受地削弱視頻的質(zhì)量的情況下這些方法不能進一步應(yīng)用時,本發(fā)明的方法可以進一步降低比特率。首先,對每個測試的視頻序列,當失真變得可見時,通過增加量化參數(shù)的值利用基準方法盡可能降低比特率,直到Q皿+1。接下來,系統(tǒng)利用Qmax(失真還不可見的最大值)和基準方法編碼并解碼視頻序列,生成包括在表3中的比特率和峰值信噪比(PSNR)值。對于每個序列,Qn^值是不同的,對于I幀、P幀和B幀,其分別也是不同的。假定最大的可得到的比特減少沒有視覺損失,然后用本發(fā)明的編碼方法編碼在相同Qm^值的序列。<table>tableseeoriginaldocumentpage23</column></row><table>方法對于任何視頻編碼系統(tǒng)中的比特率減少特別有用,該視頻編碼系統(tǒng)利用對編碼模式確定的失真率最優(yōu)化框架。以上己描述了執(zhí)行數(shù)字圖像增強的方法和裝置。在不背離本發(fā)明的范圍的情況下,本領(lǐng)域的普通技術(shù)人員可以對本發(fā)明的部件的材料和安排做出改變和修改。權(quán)利要求1、一種在視頻壓縮和編碼系統(tǒng)中執(zhí)行模式選擇的方法,所述方法包括用每個可能的編碼模式來編碼和解碼;計算每個編碼模式的失真值,其中所述失真值減小了非正常值的影響;計算每個編碼模式的比特率值;使用所述失真值、所述比特率值以及拉格朗日乘數(shù)計算每個編碼模式的拉格朗日值;以及使用所述拉格朗日值選擇編碼模式。2、根據(jù)權(quán)利要求1所述的方法,其中計算所述失真值包括使用Huber函數(shù)。3、根據(jù)權(quán)利要求1所述的方法,其中計算所述比特率值包括計算編碼一組運動向量和一組轉(zhuǎn)換系數(shù)所必需的比特總數(shù)。4、根據(jù)權(quán)利要求l所述的方法,其中所述拉格朗日乘數(shù)包括緩慢改變的拉格朗日乘數(shù),其作為量化值的函數(shù)。5、一種在視頻壓縮和編碼系統(tǒng)中執(zhí)行模式選擇的方法,所述方法包括.-用每個可能的編碼模式來編碼和解碼;計算每個編碼模式的失真值;計算每個編碼模式的比特率值;使用所述失真值、所述比特率值以及拉格朗日乘數(shù)計算每個編碼模式的拉格朗日值,其中所述拉格朗日乘數(shù)包括作為量化值的函數(shù)的緩慢變化的拉格朗日乘數(shù);以及利用所述拉格朗日值選擇編碼模式。6、根據(jù)權(quán)利要求5所述的方法,其中所述失真值減小非正常值的影響。7、根據(jù)權(quán)利要求5所述的方法,其中計算所述失真值包括使用Huber函數(shù)。8、根據(jù)權(quán)利要求5所述的方法,其中計算所述比特率值包括計算編碼一組運動向量和一組轉(zhuǎn)換系數(shù)所必需的比特總數(shù)。9、一種用于從多個編碼模式中選擇編碼模式的方法,所述方法包括針對來自所述多個編碼模式的每個編碼模式,通過使用減小非正常值對失真值的影響的函數(shù),計算編碼模式的失真值;以及基于編碼模式的失真值和比特率值,計算拉格朗日值;從所述多個編碼模式中選擇具有最小拉格朗日值的編碼模式;以及使用所選的編碼模式來編碼多個視頻圖像。10、根據(jù)權(quán)利要求9所述的方法,其中非正常值是視頻圖像的原始像素值組和視頻圖像的解碼像素值組之間的誤差值,所述誤差值大于閾值誤差值。11、根據(jù)權(quán)利要求9所述的方法,其中所述失真值是基于視頻圖像的原始像素值組和視頻圖像的解碼像素值組之間的誤差值。12、根據(jù)權(quán)利要求9所述的方法,其中當所述誤差值大于閾值誤差值時,所述失真值等于所述誤差值x所述閾值誤差值一(所述閾值誤差值力2。13、根據(jù)權(quán)利要求9所述的方法,其中當所述誤差值等于或小于閾值誤差值時,所述失真值等于(所述誤差值)2/2。14、根據(jù)權(quán)利要求9所述的方法,其中使用減小非正常值對失真值的影響的函數(shù)是為了支持對模式O編碼的選擇。15、根據(jù)權(quán)利要求14所述的方法,其中所述模式0編碼是直接模式編碼。16、根據(jù)權(quán)利要求14所述的方法,其中所述模式0編碼是跳過模式編碼。17、根據(jù)權(quán)利要求14所述的方法,其中所述模式0編碼是不傳輸運動向量信息的編碼模式。18、根據(jù)權(quán)利要求9所述的方法,其中計算拉格朗日值包括基于所述失真值、所述比特率值和拉格朗日乘數(shù),計算拉格朗曰值。19、一種用于從多個編碼模式中選擇編碼模式的設(shè)備,所述設(shè)備包括用于通過使用減小非正常值對失真值的影響的函數(shù)來計算來自所述多個編碼模式的每一個編碼模式的失真值的裝置;用于基于來自所述多個編碼模式的每一個編碼模式的失真值和比特率值來計算拉格朗日值的裝置;用于從所述多個編碼模式中選擇具有最小拉格朗日值的編碼模式的裝置;以及用于使用所選的編碼模式來編碼多個視頻圖像的裝置。20、根據(jù)權(quán)利要求19所述的設(shè)備,其中非正常值是視頻圖像的原始像素值組和視頻圖像的解碼像素值組之間的誤差值,所述誤差值大于閾值誤差值。21、根據(jù)權(quán)利要求19所述的設(shè)備,其中失真值是基于視頻圖像的原始像素值組和視頻圖像的解碼像素值組之間的誤差值。22、根據(jù)權(quán)利要求19所述的設(shè)備,其中當所述誤差值大于閾值誤差值時,所述失真值等于所述誤差值x所述閾值誤差值一(所述閥值誤差值)2/2。23、根據(jù)權(quán)利要求19所述的設(shè)備,其中當所述誤差值等于或小于閾值誤差值時,所述失真值等于(所述誤差值)2/2。24、根據(jù)權(quán)利要求19所述的設(shè)備,其中使用減小非正常值對失真值的影響的函數(shù)是為了支持對模式0編碼的選擇。25、根據(jù)權(quán)利要求24所述的設(shè)備,其中所述模式0編碼是直接模式編碼。26、根據(jù)權(quán)利要求24所述的設(shè)備,其中所述模式0編碼是跳過模式編碼。27、根據(jù)權(quán)利要求24所述的設(shè)備,其中所述模式0編碼是不傳輸運動向量信息的編碼模式。28、根據(jù)權(quán)利要求19所述的設(shè)備,其中用于計算拉格朗日值的裝置包括用于基于所述失真值、所述比特率值和拉格朗日乘數(shù)來計算拉格朗日值的裝置。29、—種用于從多個編碼模式中選擇編碼模式的方法,所述方法包括針對來自所述多個編碼模式的每一個編碼模式,基于編碼模式的失真值和比特率值,計算拉格朗日值,其中所述拉格朗日值是基于改變的拉格朗日乘數(shù),所述拉格朗日乘數(shù)以比改變的參考拉格朗日乘數(shù)低的速率作為量化參數(shù)的函數(shù)而改變;從所述多個編碼模式中選擇具有最小拉格朗日值的編碼模式;以及使用所選的編碼模式來編碼多個視頻圖像。30、根據(jù)權(quán)利要求29所述的方法,其中使用改變的拉格朗曰乘數(shù)是為了強調(diào)失真值。31、根據(jù)權(quán)利要求29所述的方法,其中計算拉格朗日值包括基于所述失真值、所述比特率值和所述改變的拉格朗日乘數(shù),計算拉格朗日值。32、根據(jù)權(quán)利要求29所述的方法,其中所述改變的參考拉格朗日乘數(shù)是在H.264標準中規(guī)定的。33、—種用于從多個編碼模式中選擇編碼模式的設(shè)備,所述設(shè)備包括用于基于來自所述多個編碼模式的每一個編碼模式的失真值和比特率值來計算所述編碼模式的拉格朗日值的裝置,其中所述拉格朗日值是基于改變的拉格朗日乘數(shù),所述拉格朗日乘數(shù)以比改變的參考拉格朗日乘數(shù)低的速率作為量化參數(shù)的函數(shù)而改變;用于從所述多個編碼模式中選擇具有最小拉格朗日值的編碼模式的裝置;以及用于使用所選的編碼模式來編碼多個視頻圖像的裝置。34、根據(jù)權(quán)利要求33所述的設(shè)備,其中使用改變的拉格朗曰乘數(shù)是為了強調(diào)失真值。35、根據(jù)權(quán)利要求33所述的設(shè)備,其中用于計算拉格朗日值的裝置包括-用于基于所述失真值、所述比特率值和所述改變的拉格朗日乘數(shù)來計算拉格朗日值的裝置。36、根據(jù)權(quán)利要求33所述的設(shè)備,其中所述改變的參考拉格朗日乘數(shù)是在H.264標準中規(guī)定的。37、—種用于從多個編碼模式中選擇編碼模式的方法,所述多個編碼模式包括模式O編碼和非模式O編碼,所述方法包括針對來自所述多個編碼模式的每一個編碼模式,基于編碼模式的失真值和比特率值,計算拉格朗曰值;基于在最小拉格朗日值的閾值之內(nèi)的一組拉格朗日值來識別來自所述多個編碼模式的編碼模式子組;以及當所述編碼模式子組包括模式0編碼時從所述編碼模式子組中選擇模式O編碼。38、根據(jù)權(quán)利要求37所述的方法,其中當所述編碼模式子組包括模式0編碼時選擇模式0編碼包括即使與所述模式0編碼相關(guān)的拉格朗日值不是最小拉格朗曰值,也選擇模式o編碼。39、根據(jù)權(quán)利要求37所述的方法,其中所述模式0編碼是直接模式編碼。40、根據(jù)權(quán)利要求37所述的方法,其中所述模式0編碼是跳過模式編碼。41、根據(jù)權(quán)利要求37所述的方法,其中所述模式0編碼是不傳輸運動向量信息的編碼模式。42、根據(jù)權(quán)利要求37所述的方法,其中基于一組拉格朗日值來識別編碼模式子組是為了支持對模式0編碼的選擇。43、根據(jù)權(quán)利要求37所述的方法,還包括當所述模式O編碼不在所述編碼模式子組中時,從所述編碼模式子組中選擇與最小拉格朗日值相關(guān)的編碼模式。44、根據(jù)權(quán)利要求37所述的方法,其中計算拉格朗日值包括基于所述失真值、所述比特率值和拉格朗日乘數(shù)來計算拉格朗曰值。45、—種用于從多個編碼模式中選擇編碼模式的設(shè)備,所述多個編碼模式包括模式O編碼和非模式O編碼,所述設(shè)備包括-用于基于來自所述多個編碼模式的每一個編碼模式的失真值和比特率值,計算編碼模式的拉格朗日值的裝置;用于基于在最小拉格朗日值的閾值之內(nèi)的一組拉格朗日值來識別來自所述多個編碼模式的編碼模式子組的裝置;以及用于當所述編碼模式子組包括模式0編碼時從所述編碼模式子組中選擇模式o編碼的裝置。46、根據(jù)權(quán)利要求45所述的設(shè)備,其中當所述編碼模式子組包括模式0編碼時選擇模式0編碼的裝置包括用于即使與所述模式0編碼相關(guān)的拉格朗日值不是最小拉格朗曰值也選擇模式O編碼的裝置。47、根據(jù)權(quán)利要求45所述的設(shè)備,其中所述模式0編碼是直接模式編碼。48、根據(jù)權(quán)利要求45所述的設(shè)備,其中所述模式0編碼是跳過模式編碼。49、根據(jù)權(quán)利要求45所述的設(shè)備,其中所述模式0編碼是不傳輸運動向量信息的編碼模式。50、根據(jù)權(quán)利要求45所述的設(shè)備,其中基于一組拉格朗日值來識別編碼模式子組是為了支持對模式0編碼的選擇。51、根據(jù)權(quán)利要求45所述的設(shè)備,還包括用于當所述模式O編碼不在所述編碼模式子組中時,從所述編碼模式子組中選擇與最小拉格朗日值相關(guān)的編碼模式的裝置。52、根據(jù)權(quán)利要求45所述的設(shè)備,其中用于計算拉格朗日值的裝置包括用于基于所述失真值、所述比特率值和拉格朗日乘數(shù)來計算拉格朗日值的裝置。53、一種在視頻壓縮和編碼系統(tǒng)中執(zhí)行模式選擇的設(shè)備,所述設(shè)備包括用于用每個可能的編碼模式來編碼和解碼的裝置;用于計算每個編碼模式的失真值的裝置,其中所述失真值減小了非正常值的影響;用于計算每個編碼模式的比特率值的裝置;用于使用所述失真值、所述比特率值以及拉格朗日乘數(shù)計算每個編碼模式的拉格朗日值的裝置;以及用于使用所述拉格朗日值選擇編碼模式的裝置。54、根據(jù)權(quán)利要求53所述的設(shè)備,其中用于計算所述失真值的裝置包括用于使用Huber函數(shù)的裝置。55、根據(jù)權(quán)利要求53所述的設(shè)備,其中用于計算所述比特率值的裝置包括用于計算編碼一組運動向量和一組轉(zhuǎn)換系數(shù)所必需的比特總數(shù)的裝置。56、根據(jù)權(quán)利要求53所述的設(shè)備,其中所述拉格朗日乘數(shù)包括緩慢改變的拉格朗日乘數(shù),其作為量化值的函數(shù)。57、一種在視頻壓縮和編碼系統(tǒng)中執(zhí)行模式選擇的設(shè)備,所述設(shè)備包括用于用每個可能的編碼模式來編碼和解碼的裝置;用于計算每個編碼模式的失真值的裝置;用于計算每個編碼模式的比特率值的裝置;用于使用所述失真值、所述比特率值以及拉格朗日乘數(shù)計算每個編碼模式的拉格朗日值的裝置,其中所述拉格朗日乘數(shù)包括作為量化值的函數(shù)的緩慢變化的拉格朗日乘數(shù);以及用于利用所述拉格朗日值選擇編碼模式的裝置。58、根據(jù)權(quán)利要求57所述的設(shè)備,其中所述失真值減小非正常值的影響。59、根據(jù)權(quán)利要求57所述的設(shè)備,其中用于計算所述失真值的裝置包括用于使用Huber函數(shù)的裝置。60、根據(jù)權(quán)利要求57所述的設(shè)備,其中用于計算所述比特率值的裝置包括用于計算編碼一組運動向量和一組轉(zhuǎn)換系數(shù)所必需的比特總數(shù)的裝置。全文摘要本發(fā)明涉及一種用于改進的編碼模式選擇的方法和裝置。該方法用來自一組編碼模式的多個編碼模式來編碼。對于來自多個編碼模式的每個編碼模式,該方法計算比特率值和失真值。該方法使用失真值、比特率值以及拉格朗日乘數(shù)計算來自多個編碼模式的每個編碼模式的拉格朗日值。該方法使用拉格朗日值選擇編碼模式。在某些實施例中,拉格朗日乘數(shù)以比參考編碼模式的拉格朗日乘數(shù)低的速率變化。在某些實施例中,計算失真值包括使用減小了非正常值的影響的函數(shù)。與現(xiàn)有的比率失真最優(yōu)化方法相比,本發(fā)明的方法提供了一種簡單而有用的附加項,其得到比特率減少而不用在解碼的序列中引入可見的失真。文檔編號H04N7/26GK101651831SQ200910152180公開日2010年2月17日申請日期2004年1月7日優(yōu)先權(quán)日2003年1月8日發(fā)明者A·普里,A·杜米特拉斯,B·G·哈斯克爾申請人:蘋果公司