專利名稱:用于衰落補(bǔ)償?shù)男盘?hào)指示的制作方法
(1)技術(shù)領(lǐng)域本申請(qǐng)要求美國臨時(shí)專利申請(qǐng)序列號(hào)60/377,628所述權(quán)利。該臨時(shí)專利申請(qǐng)于2002年5月3日提出,將在此被引用。本申請(qǐng)涉及與此同時(shí)提交的美國專利申請(qǐng)序列號(hào)aa/bbb,ccc,其標(biāo)題為“漸變補(bǔ)償?shù)膮?shù)化”,以及與此同時(shí)提交的美國專利申請(qǐng)序列號(hào)aa/bbb,ccc,標(biāo)題為“漸變估計(jì)/補(bǔ)償”,這兩個(gè)專利申請(qǐng)公開的內(nèi)容將在此被引用。
在視頻處理應(yīng)用中使用信號(hào)指示漸變補(bǔ)償?shù)募夹g(shù)和工具。例如,視頻編碼器對(duì)一幅參照?qǐng)D像進(jìn)行漸變補(bǔ)償,用信號(hào)指示使用了漸變補(bǔ)償,并且用信號(hào)指示漸變補(bǔ)償?shù)臐u變參數(shù)。
(2)背景技術(shù)數(shù)字視頻使用大量的存儲(chǔ)和傳輸容量。典型的原始數(shù)字視頻序列每秒包含15或30幀。每幀可能包含數(shù)萬或數(shù)十萬的象素(也稱為pels)。每象素表示圖片中一個(gè)很小的元素。在原始形式下,計(jì)算機(jī)通常使用24比特來表示一個(gè)象素。因此,一個(gè)原始數(shù)字視頻序列每秒鐘的比特?cái)?shù),或比特率可能是5百萬比特/秒或者更多。
多數(shù)的計(jì)算機(jī)和計(jì)算機(jī)網(wǎng)絡(luò)缺乏處理原始數(shù)字視頻的資源。由于這個(gè)原因,工程師使用壓縮(也稱為編碼)來降低數(shù)字視頻的比特率。壓縮可能是無損失的,這樣不會(huì)影響視頻的質(zhì)量并但是比特率的降低程度受到視頻復(fù)雜度的限制。或者,壓縮可能是有損失的,這樣會(huì)影響視頻的質(zhì)量但是能大幅降低比特率。解壓縮與壓縮相反。
總的來說,視頻壓縮技術(shù)包括幀內(nèi)壓縮和幀際壓縮。幀內(nèi)壓縮技術(shù)壓縮單個(gè)的幀,通常稱為I幀或關(guān)鍵幀。幀際壓縮技術(shù)壓縮幀的時(shí)候參照前面的和/或者后面的幀,通常稱為預(yù)測(cè)幀、P幀或B幀。
微軟公司的Windows媒體視頻,版本8[“WMV8”]包括一個(gè)視頻編碼器和一個(gè)視頻解碼器。WMV8編碼器使用幀內(nèi)和幀際壓縮,WMV8解碼器使用幀內(nèi)和幀際解壓縮。
A.WMV8幀內(nèi)壓縮圖1是WMV8編碼器對(duì)一個(gè)關(guān)鍵幀里的一塊象素(105)進(jìn)行基于塊的幀內(nèi)壓縮(100)的例子。例如,WMV8編碼器把一個(gè)視頻關(guān)鍵幀分解為8×8的象素塊并對(duì)單個(gè)象素塊做8×8的離散余弦變換[“DCT”](110),將8×8的象素塊(105)變換為8×8的DCT系數(shù)塊(115)。編碼器量化(120)DCT系數(shù),得到一個(gè)8×8的量子化的DCT系數(shù)塊(125),編碼器準(zhǔn)備用它來進(jìn)行熵編碼。
編碼器將DC系數(shù)(126)作為與當(dāng)前正在編碼的塊的已編碼的前一鄰居塊(如鄰居塊(135))的DC系數(shù)(136)的差分進(jìn)行編碼。編碼器對(duì)差分(140)做熵編碼。圖1展示經(jīng)編碼作為與鄰居(左邊的)塊(135)的左邊一欄(137)的差分(147)的AC系數(shù)左邊一欄(127)。余下的AC系數(shù)從塊(125)的量子化的DCT系數(shù)得到。
編碼器掃描(150)8×8的預(yù)測(cè)的、量子化的ACDCT系數(shù)塊(145)得到一維數(shù)組(155)然后用運(yùn)行長度編碼(160)的一種變體對(duì)掃描過的AC系數(shù)進(jìn)行熵編碼。編碼器從一個(gè)或多個(gè)運(yùn)行/級(jí)別/最后表(165)里選擇一個(gè)熵碼,然后輸出這個(gè)熵碼(170)。
B.WMV8幀際壓縮WMV8編碼器的幀際壓縮使用基于塊的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)編碼,接著使用殘差轉(zhuǎn)換編碼。圖2和圖3展示W(wǎng)MV8編碼器對(duì)一個(gè)預(yù)測(cè)幀使用基于塊的幀際壓縮。特別地,圖2展示預(yù)測(cè)幀(210)的運(yùn)動(dòng)估計(jì),圖3展示預(yù)測(cè)幀的運(yùn)動(dòng)預(yù)測(cè)塊的預(yù)測(cè)殘差的壓縮。
例如,WMV8編碼器把一個(gè)預(yù)測(cè)幀分解為8×8的象素塊。四個(gè)8×8的象素塊構(gòu)成大塊。對(duì)每個(gè)大塊進(jìn)行運(yùn)動(dòng)預(yù)測(cè)。運(yùn)動(dòng)預(yù)測(cè)估計(jì)大塊的象素對(duì)一個(gè)參照幀的相對(duì)運(yùn)動(dòng),例如,參照幀可以是在前面已經(jīng)編碼的一幀。在圖2中,WMV8編碼器對(duì)預(yù)測(cè)幀(210)中的大塊(215)計(jì)算出一個(gè)運(yùn)動(dòng)向量。為了計(jì)算出這個(gè)運(yùn)動(dòng)向量,編碼器搜索參照幀(230)的一個(gè)搜索區(qū)域(235)。在搜索區(qū)域(235)中,編碼器用預(yù)測(cè)幀(210)里的大塊(215)和不同的候選大塊進(jìn)行比較來找到一個(gè)較好匹配的候選大塊。在編碼器找到一個(gè)較好匹配的大塊之后,編碼器輸出詳細(xì)說明匹配大塊的運(yùn)動(dòng)向量(熵編碼的)的信息,從而解碼器能夠在解碼的時(shí)候找到匹配的大塊。當(dāng)使用運(yùn)動(dòng)補(bǔ)償對(duì)預(yù)測(cè)幀(210)解碼時(shí),解碼器使用運(yùn)動(dòng)向量來通過參照幀(230)的信息計(jì)算大塊(215)的預(yù)測(cè)大塊。對(duì)大塊(215)的預(yù)測(cè)很少是理想的,因此,編碼器通常對(duì)預(yù)測(cè)大塊和大塊(215)自身之間8×8的象素塊的差異(也稱為誤差或殘差塊)進(jìn)行編碼。
圖3展示了WMV8編碼器計(jì)算和編碼一個(gè)誤差塊(335)的例子。誤差塊(335)是預(yù)測(cè)塊(315)和原來的當(dāng)前塊(325)之間的差異。編碼器對(duì)誤差塊(335)做DCT(340)變換,生成一個(gè)8×8的系數(shù)塊(345)。然后編碼器量子化(350)這些DCT系數(shù),生成一個(gè)8×8的量子化的DCT系數(shù)塊(355)。量子化過程的步長是可以調(diào)整的。量子化導(dǎo)致精確度的損失,但并不是系數(shù)信息的完全損失。
然后編碼器準(zhǔn)備對(duì)8×8的量子化的DCT系數(shù)塊(355)做熵編碼。編碼器掃描(360)8×8的塊(355)得到一個(gè)包含64個(gè)元素的一維數(shù)組(365),使得系數(shù)通常從最低頻率向最高頻率排序,這樣通常產(chǎn)生0值的結(jié)果。
編碼器用運(yùn)行長度編碼(370)的一個(gè)變體對(duì)掃描過的系數(shù)進(jìn)行熵編碼。編碼器從一個(gè)或多個(gè)運(yùn)行/級(jí)別/最后表(375)里選擇一個(gè)熵碼,然后輸出這個(gè)熵碼。
圖4展示了一個(gè)對(duì)幀際編碼的塊進(jìn)行對(duì)應(yīng)的解碼過程(400)的例子。由于對(duì)DCT系數(shù)的量子化,重建的塊(475)和對(duì)應(yīng)的初始?jí)K并不完全一樣。這樣的壓縮是有損失的。
概括圖4,解碼器對(duì)表示使用可變長度解碼(410)和一個(gè)或多個(gè)運(yùn)行/級(jí)別/最后表(415)和運(yùn)行長度編碼(420)的預(yù)測(cè)殘差熵編碼的信息進(jìn)行解碼(410,420)。解碼器反向掃描(430)存儲(chǔ)熵編碼的信息的一維數(shù)組(425)得到一個(gè)兩維的塊(435)。解碼器反向量子化并反向離散余弦變換(一起,440)這些數(shù)據(jù),得到一個(gè)重建的誤差塊(445)。在一條單獨(dú)的運(yùn)動(dòng)補(bǔ)償路徑中,解碼器使用運(yùn)動(dòng)向量信息(455)計(jì)算出一個(gè)預(yù)測(cè)塊(465)來得到相對(duì)參照幀的位移。解碼器組合(470)預(yù)測(cè)塊(465)和重建的誤差塊(445)來生成重建塊(475)。
初始幀和重建幀之間的變化量被稱為畸變,需要用來對(duì)幀編碼的比特?cái)?shù)被成為幀比率?;兊牧亢蛶嚷蚀笾鲁煞幢?。換句話來說,用更少的比特來對(duì)幀進(jìn)行編碼(更高的壓縮)將得到更大的畸變,反之亦然。
C.已有的基于運(yùn)動(dòng)的視頻壓縮的局限性帶有特殊效果如漸變、變形和顏色混合的視頻序列需要相對(duì)而言更多的比特?cái)?shù)來編碼,因?yàn)橐延械幕谶\(yùn)動(dòng)的視頻壓縮方法總的來說對(duì)這樣的幀不是很有效。例如,考慮一個(gè)視頻序列,在其中幀里的一個(gè)物體從一幀到下一幀在一個(gè)方向上運(yùn)動(dòng)一點(diǎn)點(diǎn)。用典型的塊匹配運(yùn)動(dòng)估計(jì)技術(shù),在沒有漸變的視頻序列中找到當(dāng)前幀中的一個(gè)塊在前一幀中較好的匹配塊,并且對(duì)得到的運(yùn)動(dòng)向量編碼是一件容易的事情。然而,如果,例如,一個(gè)“漸變到全黑“效果發(fā)生在視頻序列里的時(shí)候,當(dāng)前幀里的每個(gè)亮度值相對(duì)于前一幀可能都有了變化,這樣阻礙了視頻編碼器為一個(gè)塊找到比較好的匹配。漸變還可能發(fā)生在自然照度變化的一個(gè)序列里。作為其它轉(zhuǎn)換效果的顏色混合以及變形,也可能降低直接做運(yùn)動(dòng)估計(jì)/補(bǔ)償?shù)挠行浴?br>
D.視頻壓縮和解壓縮的標(biāo)準(zhǔn)除了WMV8以外,還有一些國際標(biāo)準(zhǔn)涉及視頻壓縮和解壓縮。這些標(biāo)準(zhǔn)包括運(yùn)動(dòng)圖片專家組[“MPEG]1,2和4的標(biāo)準(zhǔn)以及國際電信同盟[“ITU”]的標(biāo)準(zhǔn)H.261,H.262和H.263。象WMV8一樣,這些標(biāo)準(zhǔn)使用幀內(nèi)壓縮和幀際壓縮的組合,雖然這些標(biāo)準(zhǔn)在壓縮技術(shù)的細(xì)節(jié)上和WMV8有所不同。例如,H.263標(biāo)準(zhǔn)中的附件P描述了參照?qǐng)D片再取樣模式,該模式可以用來預(yù)測(cè)從而在編碼時(shí)自適應(yīng)地更改圖片的分辨率。
既然對(duì)數(shù)碼視頻來說視頻壓縮和解壓縮是至關(guān)重要的,在視頻壓縮和解壓縮領(lǐng)域有充足的發(fā)展也就不奇怪了。無論已有的視頻壓縮和解壓縮接收有什么樣的益處,然而,它們并沒有下述技術(shù)和工具的優(yōu)越性。
(3)發(fā)明內(nèi)容視頻壓縮的一個(gè)目標(biāo)是提高幀比率-畸變的性能,換句話說,用更少的比特達(dá)到同樣的質(zhì)量,或用同樣數(shù)量的比特但達(dá)到更高的質(zhì)量。實(shí)現(xiàn)這個(gè)目標(biāo)的一種方法是找出視頻序列中需要相對(duì)大量比特來編碼的部分,然后找到方法來更好地壓縮這些部分。帶有特殊效果如漸變、變形和顏色混合的視頻序列的部分是不多的,但需要相對(duì)大量的比特來編碼,這樣的情況確實(shí)出現(xiàn)因?yàn)橐延械幕谶\(yùn)動(dòng)的視頻壓縮方法一般對(duì)這樣的部分不是很有效。
因此,概括地來講,詳細(xì)說明集中于各種用來提高視頻序列中幀比率-畸變的性能技術(shù)和方法,這些方法包括淡入、淡出、交叉漸變、或其他漸變,顏色混合,或變形效果。例如,視頻編碼器通過調(diào)整參照幀對(duì)當(dāng)前幀進(jìn)行漸變補(bǔ)償。這樣使得用參照幀的運(yùn)動(dòng)補(bǔ)償更加有效。然后視頻編碼器用信號(hào)指示對(duì)應(yīng)的視頻解碼器如何進(jìn)行漸變補(bǔ)償。視頻解碼器收到用信號(hào)指示的信息并通過調(diào)整參照幀來進(jìn)行漸變補(bǔ)償。特別地,詳細(xì)說明集中于說明有效的方法來用信號(hào)指示漸變補(bǔ)償信息,這樣為典型的視頻序列減少了和漸變補(bǔ)償信息相關(guān)的比特率。
在第一組技術(shù)和工具中,視頻編碼器或解碼器對(duì)一個(gè)視頻圖像(如當(dāng)前的視頻幀)使用一個(gè)漸變補(bǔ)償開/關(guān)信號(hào)來處理。例如,視頻編碼器通過視頻圖像是否使用了漸變補(bǔ)償來確定開/關(guān)信號(hào)的值。然后視頻編碼器傳輸這個(gè)開/關(guān)信號(hào)(和漸變參數(shù)一起,如果使用了漸變補(bǔ)償?shù)脑?。對(duì)應(yīng)的視頻解碼器接收這個(gè)這個(gè)開/關(guān)信號(hào)(和任何漸變參數(shù)一起),然后根據(jù)開/關(guān)信號(hào)的值來確定漸變補(bǔ)償對(duì)視頻圖像是開還是關(guān)。
在第二組技術(shù)和工具中,漸變補(bǔ)償開/關(guān)信號(hào)和其他圖像級(jí)的信息(如運(yùn)動(dòng)模式信息)熵編碼在一起,這樣來減少典型的視頻序列中和開/關(guān)信號(hào)相關(guān)的比特率。例如,一個(gè)或更多的熵碼一起表示一個(gè)視頻圖像的開/關(guān)信號(hào)和這個(gè)圖像的圖像級(jí)信息。
在第三組技術(shù)和工具中,視頻編碼器或解碼器在視頻序列中對(duì)漸變補(bǔ)償能力信號(hào)進(jìn)行處理。如果啟用漸變補(bǔ)償,視頻編碼器或解碼器對(duì)視頻序列中的視頻圖像用一個(gè)或多個(gè)開/關(guān)信號(hào)來處理。例如,能力信號(hào)在序列級(jí),開/關(guān)信號(hào)都在圖像級(jí)。
各種技術(shù)和工具可以組合或單獨(dú)使用。不同的實(shí)例使用一種或多種這里描述的技術(shù)和工具。
另外的特性和優(yōu)點(diǎn)將在明顯地體現(xiàn)在下面不同實(shí)例的詳細(xì)描述中,這些實(shí)例引用附圖來說明。
(4)
圖1展示現(xiàn)有技術(shù)所述基于塊的幀內(nèi)壓縮。
圖2展示現(xiàn)有技術(shù)所述視頻編碼器中的運(yùn)動(dòng)估計(jì)。
圖3展示現(xiàn)有技術(shù)所述基于塊的幀際壓縮。
圖4展示現(xiàn)有技術(shù)所述基于塊的幀際解壓縮。
圖5為方框圖,展示一個(gè)適合的計(jì)算環(huán)境,下述幾個(gè)實(shí)例將在其中實(shí)現(xiàn)。
圖6為方框圖,展示下述幾個(gè)實(shí)例中使用的一個(gè)一般化的視頻編碼系統(tǒng)。
圖7為方框圖,展示下述幾個(gè)實(shí)例中使用的一個(gè)一般化的視頻解碼系統(tǒng)。
圖8為流程圖,展示使用漸變估計(jì)和補(bǔ)償?shù)囊环N視頻編碼技術(shù)。
圖9為流程圖,展示使用漸變補(bǔ)償?shù)囊环N視頻解碼技術(shù)。
圖10為方框圖,展示一個(gè)能進(jìn)行漸變估計(jì)和補(bǔ)償?shù)囊曨l編碼系統(tǒng)。
圖11為方框圖,展示一個(gè)能進(jìn)行漸變補(bǔ)償?shù)囊曨l解碼系統(tǒng)。
圖12為流程圖,展示一種漸變探測(cè)和參數(shù)提取的技術(shù)。
圖13為一張表,展示一種指示是否對(duì)一個(gè)幀使用漸變補(bǔ)償?shù)男盘?hào)表示方案。
(5)具體實(shí)施方式
下述實(shí)例涉及漸變估計(jì)和/或補(bǔ)償?shù)募夹g(shù)和工具。沒有漸變補(bǔ)償/估計(jì),帶有特殊效果如漸變、變形和顏色混合的視頻序列需要相對(duì)而言更多的比特?cái)?shù)來編碼,因?yàn)橐延械幕谶\(yùn)動(dòng)的視頻壓縮方法總的來說對(duì)這樣的幀不是很有效。下述實(shí)例通過對(duì)這樣的序列進(jìn)行漸變估計(jì)/補(bǔ)償來提高幀比率-畸變的性能。不同的實(shí)例涉及用來估計(jì)、應(yīng)用、編碼和/或解碼全局亮度改變參數(shù)的技術(shù)和工具。
部分實(shí)例中的漸變補(bǔ)償包括對(duì)一個(gè)或多個(gè)參照幀進(jìn)行全局亮度改變來對(duì)漸變進(jìn)行補(bǔ)償。全局亮度改變是在一個(gè)定義的區(qū)域中亮度的改變,這個(gè)區(qū)域可以是一個(gè)幀,幀的一部分(如,一個(gè)幀里單獨(dú)的塊或大塊,或一個(gè)幀里的一組大塊),也可以是被編碼或解碼的圖像的其他特定部分。然后通過調(diào)整一個(gè)或多個(gè)參照幀用運(yùn)動(dòng)估計(jì)/補(bǔ)償來預(yù)測(cè)當(dāng)前幀。作為其他選擇,漸變補(bǔ)償包括對(duì)參照幀全局的改變來對(duì)顏色混合或變形這樣的效果進(jìn)行補(bǔ)償??偟膩碚f,漸變補(bǔ)償包括任何對(duì)漸變(即漸變到全黑或從全黑漸變)、顏色混合、變形,或其他影響象素值強(qiáng)度的自然或合成光照效果的補(bǔ)償。然而為了不失一般性,術(shù)語全局亮度改變和漸變將在這里可以互相替代,除非在語境中有明確的描述。
作為對(duì)幀進(jìn)行漸變補(bǔ)償?shù)钠渌x擇,一些實(shí)例對(duì)域、對(duì)象層或其圖像進(jìn)行漸變補(bǔ)償。
在一些實(shí)例中,通過在YUV顏色空間中調(diào)整參照幀的亮度和色度通道的象素值來進(jìn)行漸變補(bǔ)償。這些調(diào)整包括縮放和替換亮度象素值,縮放和替換色度象素值。作為其他選擇,顏色空間是不同的(例如YIQ或RGB)并且/或者補(bǔ)償使用其他調(diào)整技術(shù)。
一個(gè)編碼器/解碼器進(jìn)行漸變估計(jì)/補(bǔ)償是基于一幀一幀的。作為其他選擇,一個(gè)編碼器/解碼器進(jìn)行漸變估計(jì)/補(bǔ)償可以有其他的基礎(chǔ)或基于一幀的一部分如一個(gè)或多個(gè)塊或大塊。
不同的技術(shù)和工具可以組合使用或單獨(dú)使用。不同的實(shí)例實(shí)現(xiàn)一種或多種所述的技術(shù)和工具。雖然這些技術(shù)的操作通為了方便說明常以一種特地的、連續(xù)的順序來描述,應(yīng)理解這樣的描述方式包括操作順序上小的改動(dòng),除非一種特定的順序是必須的。例如,連續(xù)描述的操作可能在一些場合下重新安排或同時(shí)執(zhí)行。再者,為簡單起見,流程圖通常不展示特定的技術(shù)和其他技術(shù)聯(lián)合使用的各種方法。
在一些實(shí)例中,視頻編碼器和解碼器在比特流中使用不同的標(biāo)志和信號(hào)。雖然描述的是特定的標(biāo)志和信號(hào),應(yīng)理解這樣的描述方式包括標(biāo)志和信號(hào)的不同慣例(例如,用0而不用1)。
I.計(jì)算環(huán)境圖5展示了適合的計(jì)算環(huán)境(500)的一個(gè)一般化的例子,下述幾個(gè)實(shí)例將在其中實(shí)現(xiàn)。計(jì)算環(huán)境(500)并不意味著對(duì)使用或功能的范圍加以任何限制,因?yàn)檫@些技術(shù)和工具可以在不同的通用或?qū)S糜?jì)算環(huán)境中實(shí)現(xiàn)。
參照?qǐng)D5,計(jì)算環(huán)境(500)包括至少一個(gè)處理單元(510)和存儲(chǔ)器(520)。在圖5中,這個(gè)最基本的配置(530)包含在一個(gè)虛線框里。處理單元(510)執(zhí)行計(jì)算機(jī)可執(zhí)行的指令并且可以是一個(gè)真實(shí)或虛擬的處理器。在多處理器系統(tǒng)中,多個(gè)處理單元執(zhí)行計(jì)算機(jī)可執(zhí)行的指令來提高處理能力。存儲(chǔ)器(520)可以是易變失儲(chǔ)器(如寄存器、緩存、RAM),非易失存儲(chǔ)器(如ROM、EEPROM、閃存等等),或兩者的組合。存儲(chǔ)器(520)存儲(chǔ)實(shí)現(xiàn)編碼器或解碼器的軟件(580),如視頻編碼器或解碼器。
計(jì)算環(huán)境可能有附加的屬性。例如,計(jì)算環(huán)境(500)包含存儲(chǔ)(540),一個(gè)或多個(gè)輸入設(shè)備(550),一個(gè)或多個(gè)輸出設(shè)備(560),和一個(gè)或多個(gè)通訊連接(570)。一個(gè)互聯(lián)機(jī)制(未標(biāo)出)如總線、控制器、或網(wǎng)絡(luò)連接了計(jì)算環(huán)境(550)中的組件。典型地,操作系統(tǒng)軟件(未標(biāo)出)為其他在計(jì)算環(huán)境(500)中執(zhí)行的軟件提供一個(gè)操作環(huán)境,并且協(xié)調(diào)計(jì)算環(huán)境(500)中組件的活動(dòng)。
存儲(chǔ)(540)可以是可運(yùn)動(dòng)的或不可運(yùn)動(dòng)的,并且包括磁盤,磁帶或盒式磁帶,CD-ROM,DVD,或其他可以用來存儲(chǔ)信息并且在計(jì)算環(huán)境(500)中訪問到的媒體。存儲(chǔ)(540)保存軟件(580)實(shí)現(xiàn)編碼器或解碼器的指令。
輸入設(shè)備(550)可以是一個(gè)觸摸輸入設(shè)備,如鍵盤,鼠標(biāo),筆,或軌跡球,語音輸入設(shè)備,掃描儀,或其他為計(jì)算環(huán)境(500)提供輸入的設(shè)備。為音頻或視頻編碼,輸入設(shè)備(550)可以是聲卡、視頻卡、電視卡,或類似的可以接受模擬或數(shù)字格式的音頻或視頻輸入的設(shè)備,或可以將音頻或視頻樣本讀入計(jì)算環(huán)境(500)的CD-ROM或CD-RW。輸出設(shè)備(560)可以是顯示器、打印機(jī)、音箱、CD刻錄機(jī),或其他可以為計(jì)算環(huán)境(500)提供輸出的設(shè)備。
通訊連接(570)啟用通訊媒體與其他的計(jì)算實(shí)體通訊。通訊媒體傳送信息如計(jì)算機(jī)可執(zhí)行的指令、音頻或視頻輸入或輸出,或其他以調(diào)制過的數(shù)據(jù)信號(hào)表達(dá)的數(shù)據(jù)。調(diào)制過的數(shù)據(jù)信號(hào)是一種信號(hào),它的一個(gè)或多個(gè)特性被設(shè)置或改變用以在信號(hào)中對(duì)信息進(jìn)行編碼。作為例子,而非限制,通訊媒體包括以電、光、RF、紅外線、聲音或其他載體實(shí)現(xiàn)的有線或無線的技術(shù)。
這些技術(shù)和工具可以在一般性的計(jì)算機(jī)可讀媒體的語境中描述。計(jì)算機(jī)可讀媒體是任何可以在計(jì)算環(huán)境中訪問到的媒體。作為例子,而非限制,在計(jì)算環(huán)境(500)中,計(jì)算機(jī)可讀媒體包括存儲(chǔ)器(520)、存儲(chǔ)(540)、通訊媒體,和上述媒體的組合。
這些技術(shù)和工具可以在一般性的計(jì)算機(jī)可執(zhí)行指令的語境中描述,如那些包含在程序模塊中,由真實(shí)的或虛擬的目標(biāo)處理器在計(jì)算環(huán)境中執(zhí)行的指令??偟膩碚f,程序模塊包括子程序、程序、庫、對(duì)象、類、組件、數(shù)據(jù)結(jié)構(gòu)等等,它們執(zhí)行特殊的任務(wù)或?qū)崿F(xiàn)特殊的抽象數(shù)據(jù)類型。在不同的實(shí)例中,程序模塊的功能可以按需要組合或分解在模塊之間。程序模塊的計(jì)算機(jī)可執(zhí)行指令可以在本地或分布式的計(jì)算環(huán)境中執(zhí)行。
為方便說明,詳細(xì)說明中使用“估計(jì)”、“信號(hào)”,“編碼”和“解碼”這樣的術(shù)語來描述計(jì)算環(huán)境中的計(jì)算機(jī)操作。這些術(shù)語是計(jì)算機(jī)操作的高層抽象,不應(yīng)和人做出的動(dòng)作混淆。與這些術(shù)語相對(duì)應(yīng)的實(shí)際的計(jì)算機(jī)操作取決于不同的實(shí)現(xiàn)。
II.一般化的視頻編碼器和解碼器圖6是方框圖,展示一般化的視頻編碼器(600),圖7是方框圖,展示一般化的視頻解碼器(700)。
編碼器和解碼器中模塊之間的關(guān)系表示編碼器和解碼器中的主要信息流;為簡單起見其他關(guān)系并沒有展示。特別地,圖6和7一般沒有展示附加信息如對(duì)視頻序列,幀,大塊,塊等等的編碼器設(shè)置、模式、表等等。這些附加信息在輸出流中被發(fā)送,通常再對(duì)這些附加信息進(jìn)行熵編碼之后。輸出流的格式可以是Windows媒體視頻格式或其他格式。
編碼器(600)和解碼器(700)是基于塊的,并且使用每個(gè)大塊包含4個(gè)8×8的亮度塊(有時(shí)當(dāng)作一個(gè)16×16的大塊)和2個(gè)8×8的色度塊的4∶2∶0大塊格式。作為其他選擇,編碼器(600)和解碼器(700)是基于對(duì)象的,使用不同的大塊或塊格式,或?qū)Σ煌笮』蚺渲玫南笏丶隙?×8的塊或16×16的大塊進(jìn)行操作。
取決于實(shí)現(xiàn)和需要的壓縮類型,編碼器或解碼器的模塊可以增加,忽略,分成多個(gè)模塊,和其他模塊組合,以及/或被類似的模塊替代。在作為其他選擇的實(shí)例中,有著不同的模塊及/或其他模塊的配置編碼器或解碼器使用一種或多種所述技術(shù)。
A.視頻編碼器圖6是方框圖,展示一個(gè)一般化的視頻編碼系統(tǒng)(600)。編碼系統(tǒng)(600)接收到包含當(dāng)前幀(605)的一系列視頻幀,并產(chǎn)生壓縮的視頻信息(695)作為輸出。特殊的視頻編碼器實(shí)例通常使用一般化的視頻編碼系統(tǒng)(600)的一個(gè)變體或補(bǔ)充版本。
編碼系統(tǒng)(600)壓縮預(yù)測(cè)幀和關(guān)鍵幀。為了方便說明,圖6展示了關(guān)鍵幀通過編碼系統(tǒng)(600)的一條路徑以及向前預(yù)測(cè)幀的一條路徑。編碼系統(tǒng)(600)的很多組件被用來壓縮關(guān)鍵幀和預(yù)測(cè)幀。這些組件具體的操作取決于被壓縮的信息類型。
預(yù)測(cè)幀[也稱為p-幀、b-幀(雙向預(yù)測(cè)),或交互編碼幀]用一個(gè)或多個(gè)其他幀的預(yù)測(cè)(或差別)來表示。預(yù)測(cè)殘差是初始幀和預(yù)測(cè)結(jié)果之間的差別。相反,關(guān)鍵幀[也稱為I-幀,內(nèi)編碼幀]壓縮的時(shí)候不引用其他幀。
如果當(dāng)前幀(605)是一個(gè)向前預(yù)測(cè)幀,運(yùn)動(dòng)估計(jì)器(610)根據(jù)參照幀估計(jì)當(dāng)前幀(605)里的大塊或其他象素集的運(yùn)動(dòng),參照幀是重建的前一幀(625),它緩沖在幀存儲(chǔ)(620)里。在作為其他選擇的實(shí)例中,參照幀是后一幀或當(dāng)前幀是雙向預(yù)測(cè)的。運(yùn)動(dòng)估計(jì)器(610)將運(yùn)動(dòng)信息(615)如運(yùn)動(dòng)向量作為附加信息輸出。運(yùn)動(dòng)補(bǔ)償器(630)對(duì)重建的前一幀應(yīng)用運(yùn)動(dòng)信息(615)來生成一個(gè)運(yùn)動(dòng)補(bǔ)償?shù)漠?dāng)前幀(635)。然而預(yù)測(cè)很少非常理想,運(yùn)動(dòng)補(bǔ)償?shù)漠?dāng)前幀(635)和初始當(dāng)前幀(605)之間的差別是預(yù)測(cè)殘差(645)。作為其他選擇,運(yùn)動(dòng)估計(jì)器和運(yùn)動(dòng)補(bǔ)償器應(yīng)用其他類型的運(yùn)動(dòng)估計(jì)/補(bǔ)償。
頻率變換器(660)轉(zhuǎn)換空間域的視頻信息為頻率域(即頻譜)數(shù)據(jù)。對(duì)基于塊的視頻幀,頻率變換器(660)對(duì)運(yùn)動(dòng)預(yù)測(cè)殘差數(shù)據(jù)塊應(yīng)用離散余弦變換[“DCT”]或DCT的變體生成DCT系數(shù)塊。作為其他選擇,頻率變換器(660)應(yīng)用其他常規(guī)的頻率變換如傅立葉變換或使用小波分析或次能帶分析。在一些實(shí)例中,頻率變換器(660)對(duì)關(guān)鍵幀的空間預(yù)測(cè)殘差塊應(yīng)用頻率變換。頻率變換器(660)可以應(yīng)用8×8、8×4、4×8或其他大小的頻率變換。
然后量化器(670)對(duì)頻譜數(shù)據(jù)系數(shù)塊進(jìn)行量子化。量化器使用基于幀到幀或其他基礎(chǔ)的步長對(duì)頻譜數(shù)據(jù)應(yīng)用均勻、標(biāo)量量子化。作為其他選擇,量化器對(duì)頻譜數(shù)據(jù)系數(shù)應(yīng)用其他類型的量子化,例如,非均勻、向量,或非自適應(yīng)量子化,或在不使用頻率變換的編碼系統(tǒng)中直接量子化空間域數(shù)據(jù)。除自適應(yīng)量子化以外,編碼器(600)可能使用幀丟棄,自適應(yīng)過濾,或其他技術(shù)來進(jìn)行速率控制。
當(dāng)重建的當(dāng)前幀需要用在接下來的運(yùn)動(dòng)估計(jì)/補(bǔ)償中時(shí),逆量子化變換器(676)對(duì)量子化的頻譜數(shù)據(jù)系數(shù)進(jìn)行逆量子化。然后逆頻率變換器(660)執(zhí)行頻率變換器(660)的逆操作,生成重建的預(yù)測(cè)殘差(對(duì)預(yù)測(cè)幀)或重建的關(guān)鍵幀。如果當(dāng)前幀(605)是一個(gè)關(guān)鍵幀,將重建的關(guān)鍵幀作為重建的當(dāng)前幀(未標(biāo)出)。如果當(dāng)前幀(605)是一個(gè)預(yù)測(cè)幀,重建的預(yù)測(cè)殘差加到運(yùn)動(dòng)補(bǔ)償?shù)漠?dāng)前幀(635)中生成重建的當(dāng)前幀。幀存儲(chǔ)(620)緩沖重建的當(dāng)前幀用來預(yù)測(cè)下一幀。在一些實(shí)例中,編碼器對(duì)重建的幀應(yīng)用去塊過濾器來自適應(yīng)地平滑幀里塊之間的不連續(xù)。
熵編碼器(680)壓縮量化器(670)的輸出和一些附加信息(如運(yùn)動(dòng)信息(615),量子化步長)。通常熵編碼技術(shù)包括算術(shù)編碼、微分編碼、霍夫曼編碼、運(yùn)行長度編碼、LZ編碼、字典編碼和上述技術(shù)的組合。熵編碼器(680)通常對(duì)不同類型的信息(如DC系數(shù)、AC系數(shù)、不同類型的附加信息)使用不同的編碼技術(shù),而且可以對(duì)一種特別的編碼技術(shù)選擇使用不同的編碼表。
熵編碼器(680)將壓縮的視頻信息(695)放到緩沖(690)中。緩沖級(jí)別指標(biāo)將反饋回比特率自適應(yīng)模塊。壓縮的視頻信息(695)以一個(gè)恒定的或相對(duì)恒定的比特率從緩沖(690)中減少,并以同樣的比特率存儲(chǔ)接下來的流。作為其他選擇,編碼系統(tǒng)(600)在壓縮后馬上將壓縮的視頻信息作為流輸出。
在緩沖(690)之前或之后,壓縮的視頻信息(695)可能為在網(wǎng)絡(luò)上傳輸被通道編碼。通道編碼可以對(duì)壓縮的視頻信息施加檢錯(cuò)和糾正數(shù)據(jù)(695)。
B.視頻解碼器圖7是方框圖,展示一般化的視頻解碼系統(tǒng)(700)。解碼系統(tǒng)(700)收到壓縮的視頻幀系列信息(795)然后產(chǎn)生包括重建幀(705)的輸出。特殊的視頻解碼器實(shí)例通常使用一般化的解碼器(700)的一個(gè)變體或補(bǔ)充版本。
解碼系統(tǒng)(700)對(duì)預(yù)測(cè)幀和關(guān)鍵幀解壓縮。為了方便說明,圖7展示了關(guān)鍵幀通過解碼系統(tǒng)(700)的一條路徑以及向前預(yù)測(cè)幀的一條路徑。解碼系統(tǒng)(700)的很多組件被用來解壓縮關(guān)鍵幀和預(yù)測(cè)幀。這些組件具體的操作取決于被解壓縮的信息類型。
緩沖(790)收到壓縮的視頻系列信息(795)并使可用的這些收到信息送到熵解碼器(780)。緩沖(790)通常以一個(gè)長時(shí)間內(nèi)比較恒定的速率來接收信息,并包括一個(gè)抖動(dòng)緩沖用來平滑短時(shí)間內(nèi)帶寬或傳輸?shù)淖兓?。緩沖(790)可以包含一個(gè)回放緩沖及其他緩沖。作為其他選擇,緩沖(790)以變化的速率接收信息。在緩沖(790)之前或之后,可以對(duì)壓縮的視頻信息進(jìn)行通道編碼和檢錯(cuò)和糾正處理。
熵解碼器(780)對(duì)熵編碼的量子化數(shù)據(jù)以及熵編碼的附加信息(如運(yùn)動(dòng)信息(715)、量子化步長)進(jìn)行熵解碼,通常應(yīng)用編碼器里使用的熵編碼的逆過程。熵解碼技術(shù)包括算術(shù)解碼、微分解碼、霍夫曼解碼、運(yùn)行長度解碼、LZ解碼、字典解碼,和上述技術(shù)的組合。熵解碼器(780)經(jīng)常對(duì)不同類型的信息(如DC系數(shù)、AC系數(shù)、不同類型的附加信息)使用不同的解碼技術(shù),并且可以對(duì)一種特殊的解碼技術(shù)選擇不同的編碼表。
如果將被重建的幀(705)是一個(gè)向前預(yù)測(cè)幀,運(yùn)動(dòng)補(bǔ)償器(730)對(duì)參照幀(724)應(yīng)用運(yùn)動(dòng)信息(715)來生成重建幀(705)的預(yù)測(cè)(735)。例如,運(yùn)動(dòng)補(bǔ)償器(730)使用大塊運(yùn)動(dòng)向量在參照幀(725)中尋找一個(gè)大塊。幀緩沖(720)存儲(chǔ)前面的重建幀來作為參照幀使用。作為其他選擇,運(yùn)動(dòng)補(bǔ)償器應(yīng)用其他類型的運(yùn)動(dòng)補(bǔ)償。運(yùn)動(dòng)補(bǔ)償器的預(yù)測(cè)很少非常理想,因此解碼器(700)也重建預(yù)測(cè)殘差。
當(dāng)解碼器需要一個(gè)重建幀來進(jìn)行接下來的運(yùn)動(dòng)補(bǔ)償時(shí),幀存儲(chǔ)(720)緩沖這個(gè)重建幀用來預(yù)測(cè)下一幀。在一些實(shí)例中,解碼器對(duì)重建的幀應(yīng)用去塊過濾器來自適應(yīng)地平滑幀里塊之間的不連續(xù)。
逆量子化變換器(770)對(duì)熵解碼的數(shù)據(jù)進(jìn)行逆量子化。總的來說,逆量子化變換器使用基于幀到幀或其他基礎(chǔ)的步長對(duì)熵解碼的信息應(yīng)用均勻的、標(biāo)量逆量子化變換。作為其他選擇,逆量子變換器對(duì)數(shù)據(jù)應(yīng)用其他類型的逆量子變換,例如非均勻的、向量、或非自適應(yīng)的逆量子變換,或直接逆量子化不使用逆頻率變換的解碼系統(tǒng)中的空間域數(shù)據(jù)。
逆頻率變換器(760)轉(zhuǎn)換量子化的頻率域數(shù)據(jù)到空間域的視頻信息。對(duì)基于塊的視頻幀,逆頻率變換器(760)對(duì)DCT系數(shù)塊應(yīng)用逆DCT[“IDCT”]或IDCT的變體,生成運(yùn)動(dòng)預(yù)測(cè)殘差數(shù)據(jù)。作為其他選擇,逆頻率變換器(760)應(yīng)用其他常規(guī)的逆頻率變換如傅立葉變換或使用小波分析或次能帶分析。在一些實(shí)例中,逆頻率變換器(760)對(duì)關(guān)鍵幀的空間預(yù)測(cè)殘差塊應(yīng)用逆頻率變換。逆頻率變換器(760)可以應(yīng)用8×8、8×4、4×8或其他大小的逆頻率變換。
III.全局亮度改變估計(jì)/補(bǔ)償一些下述實(shí)例包括用來估計(jì)、應(yīng)用、編碼和/或解碼以幾個(gè)參數(shù)描述的全局亮度改變的技術(shù)和工具。這些技術(shù)和工具使得同樣的重建視頻的主觀或者客觀質(zhì)量能在更低的比特率上達(dá)到。每個(gè)單獨(dú)的工具或技術(shù)都實(shí)現(xiàn)一種或多種1)全局亮度改變補(bǔ)償方案;2)全局亮度參數(shù)的參數(shù)化;3)計(jì)算上有效的全局亮度參數(shù)估計(jì)/提??;4)全局亮度改變的幀的低成本的信號(hào)表示;5)全局亮度參數(shù)的低成本信號(hào)表示。亮度改變可能對(duì)一幀,一個(gè)域,幀或域的一部分如單個(gè)塊、單個(gè)大塊、或大塊組,或圖片的其他特定部分是全局的。雖然對(duì)大部分下面針對(duì)整幀的亮度改變的參數(shù)化和補(bǔ)償?shù)恼f明,但同樣的亮度改變補(bǔ)償框架可以用來(a)判斷圖像的一部分(如單獨(dú)的塊或大塊)是否有漸變,(b)計(jì)算這個(gè)部分的漸變參數(shù),及(c)參數(shù)化和傳輸這些圖像特定部分的漸變參數(shù)。這些技術(shù)可以對(duì)圖像的多個(gè)部分重復(fù)使用。
全局亮度改變(也稱為“漸變”)可能是場景的亮度和/或?qū)Ρ榷鹊淖兓?。通常,這樣的變化是線性的,但漸變也可以定義為包括在同一框架下任何的平滑、非線性映射。漸變、變形和顏色混合廣泛應(yīng)用在視頻內(nèi)容的創(chuàng)作中以平滑場景變換時(shí)視頻幀的演化和提供特殊的效果。更進(jìn)一步,一些序列漸變得很自然是因?yàn)榱炼鹊母淖?。帶有特殊效果如漸變、變形和顏色混合的視頻幀需要相對(duì)而言更多的比特?cái)?shù)來編碼,因?yàn)橐延械幕谶\(yùn)動(dòng)的視頻壓縮方法總的來說對(duì)這樣的幀不是很有效。
A.全局亮度改變補(bǔ)償方案圖8展示一種使用全局亮度改變補(bǔ)償?shù)囊曨l編碼技術(shù)(800)。一個(gè)編碼器,如圖6展示的編碼器(600)可能使用技術(shù)(800)。
首先,編碼器在要編碼的幀中檢測(cè)是否有漸變(810),如一個(gè)視頻序列中當(dāng)前正在編碼的幀。如果編碼器在幀中檢測(cè)到漸變(810),那么編碼器取得漸變參數(shù)(820)。例如,編碼器檢測(cè)到漸變并且取得漸變參數(shù)在C一節(jié)中有描述。作為其他選擇,編碼器使用不同的技術(shù)來檢測(cè)漸變和/或取得參數(shù)。編碼器用信號(hào)表示漸變補(bǔ)償是開還是關(guān),并且,如果是開,那么也用信號(hào)表示漸變參數(shù)。
如果這一幀的漸變被檢測(cè)到,編碼器就對(duì)一個(gè)或多個(gè)這一幀的參照幀進(jìn)行漸變補(bǔ)償(830),例如象B一節(jié)中描述的那樣。當(dāng)編碼器對(duì)多個(gè)參照幀進(jìn)行漸變補(bǔ)償,多個(gè)參照幀可以在正在編碼的幀之前或之后(按回放的順序)。編碼器根據(jù)多個(gè)參照幀用信號(hào)表示正在編碼的幀的哪些部分是補(bǔ)償過的。對(duì)這樣的信號(hào)表示,編碼器可能使用已在這樣的系統(tǒng)中進(jìn)行參照幀選擇的信號(hào)表示。在一些實(shí)例中,編碼器可能同時(shí)使用初始參照幀和重映射的參照幀對(duì)正在編碼的幀進(jìn)行運(yùn)動(dòng)估計(jì)/補(bǔ)償。編碼器可能這樣做,例如,編碼一個(gè)既有漸變內(nèi)容又有非漸變內(nèi)容覆蓋的當(dāng)前幀。
在漸變補(bǔ)償后,編碼器根據(jù)調(diào)整的參照幀使用運(yùn)動(dòng)估計(jì)/補(bǔ)償對(duì)這一幀進(jìn)行編碼(840)。如果編碼器未檢測(cè)到漸變,編碼器對(duì)這一幀的編碼不需要取得漸變參數(shù)或進(jìn)行漸變補(bǔ)償。當(dāng)編碼完成后(850),處理結(jié)束。
圖9展示使用漸變補(bǔ)償來對(duì)已編碼的視頻進(jìn)行解碼的技術(shù)(900)。象圖7中所示的解碼器(700)可能使用技術(shù)(900)。
首先,解碼器檢測(cè)(910)對(duì)要解碼的幀漸變是開還是關(guān)。一種進(jìn)行這種檢測(cè)的方法是檢測(cè)編碼器發(fā)送的信號(hào)表示的信息。如果解碼器測(cè)出對(duì)這一幀漸變是開(910),那么解碼器進(jìn)行漸變補(bǔ)償(920)。例如,解碼器得到編碼器發(fā)送的漸變參數(shù)并對(duì)一個(gè)或多個(gè)要被解碼的幀的參照幀進(jìn)行漸變補(bǔ)償(象編碼器進(jìn)行的那樣)。
然后解碼器解碼這一幀(930),例如,根據(jù)調(diào)整過的參照幀使用運(yùn)動(dòng)補(bǔ)償。如果漸變是關(guān),那么解碼器對(duì)這一幀進(jìn)行解碼(930)而不進(jìn)行漸變補(bǔ)償。當(dāng)解碼完成(940),過程結(jié)束。
圖10展示一個(gè)進(jìn)行全局亮度改變補(bǔ)償?shù)臉颖揪幋a器框架(1000)。在這個(gè)框架(1000)里,編碼器有條件地使用漸變估計(jì)得到的參數(shù)來重映射一個(gè)參照幀。當(dāng)編碼器在探測(cè)到一定程度比較確定的,在整個(gè)幀里都出現(xiàn)的漸變,那么編碼器進(jìn)行重映射,或漸變補(bǔ)償。否則,漸變補(bǔ)償是一個(gè)恒定運(yùn)算(即輸出=輸入)。
根據(jù)圖10,編碼器使用漸變檢測(cè)模塊(1030)比較當(dāng)前幀(1010)和參照幀(1020)來確定是否有漸變發(fā)生。在一些實(shí)例中,參照幀是視頻序列中當(dāng)前幀的前一幀。作為其他選擇,參照幀可以是前一幀前面的幀或在當(dāng)前幀之后。當(dāng)使用了多個(gè)參照幀時(shí),編碼器可能對(duì)每個(gè)參照幀進(jìn)行漸變檢測(cè)。編碼器根據(jù)漸變檢測(cè)的結(jié)果生成一個(gè)“漸變開”或“漸變關(guān)”的信號(hào)(1040)。
如果漸變?yōu)殚_,漸變估計(jì)模塊(1050)根據(jù)對(duì)當(dāng)前幀(1010)和參照幀(1020)的計(jì)算估計(jì)漸變參數(shù)(1060)。(一些實(shí)例中的漸變參數(shù)估計(jì)的細(xì)節(jié)在下面C一節(jié)討論到)。
漸變補(bǔ)償模塊(1070)使用漸變參數(shù)(1060)來重映射當(dāng)前幀(1020)(作為其他選擇,多個(gè)參照幀)。編碼器可以使用其他的編碼模塊(1080)(如運(yùn)動(dòng)估計(jì)和補(bǔ)償、頻率變換,和量子化模塊)來壓縮這一幀。編碼器輸出運(yùn)動(dòng)向量、殘差和其他說明已被編碼的當(dāng)前幀(1010)的信息(1090)。除了用直線運(yùn)動(dòng)向量的運(yùn)動(dòng)估計(jì)/補(bǔ)償,全局亮度改變補(bǔ)償?shù)目蚣苓m用于各種基于運(yùn)動(dòng)補(bǔ)償?shù)囊曨l編碼解碼器。
圖11展示一個(gè)進(jìn)行全局亮度改變補(bǔ)償?shù)臉颖窘獯a器框架(1100)。解碼器生成一個(gè)解碼后的當(dāng)前幀(1110)。為了解碼一個(gè)使用漸變補(bǔ)償?shù)囊丫幋a的幀,解碼器使用漸變補(bǔ)償模塊(1130)對(duì)一個(gè)已解碼的參照幀(1120)(作為其他選擇,對(duì)多個(gè)參照幀)進(jìn)行漸變補(bǔ)償。
如果漸變開/關(guān)信號(hào)(1140)表明對(duì)已編碼的當(dāng)前幀(1110)漸變?yōu)殚_,那么解碼器對(duì)參照幀(1120)進(jìn)行漸變補(bǔ)償。解碼器使用在漸變估計(jì)中取得的漸變參數(shù)(1150)進(jìn)行漸變補(bǔ)償(象在編碼器中那樣)。否則(如果對(duì)當(dāng)前幀漸變?yōu)殛P(guān)),漸變補(bǔ)償為一個(gè)恒等運(yùn)算(即輸出=輸入)。
然后解碼器可以使用其他的解碼模塊(1160)(如運(yùn)動(dòng)補(bǔ)償、逆頻率變換,和逆量子化模塊)對(duì)使用運(yùn)動(dòng)向量、殘差和編碼器提供的其他信息(1170)的已編碼的幀進(jìn)行解壓縮。
B.參數(shù)化和補(bǔ)償在視頻編輯中,合成漸變有時(shí)通過應(yīng)用一種簡單的、以象素為單位的線性變換于亮度和色度通道來實(shí)現(xiàn)。類似的,交叉漸變有時(shí)通過兩個(gè)視頻序列的線性累加來實(shí)現(xiàn),這個(gè)過程中合成隨時(shí)間推移而改變。相應(yīng)地,在一些實(shí)例中,如圖10里的框架(1000)所示的編碼器把漸變(無論是自然的還是合成的)參數(shù)化為一個(gè)以象素為單位的線性變換,把交叉漸變參數(shù)化為一個(gè)線性累加,而如圖11里的框架(1100)所示的解碼器進(jìn)行對(duì)應(yīng)的變換。
讓I(n)代表幀n里的一個(gè)圖像而I(n-1)為前一幀里的一個(gè)圖像。當(dāng)運(yùn)動(dòng)很小的時(shí)候,簡單的漸變用等式1中的一階關(guān)系來建模。(由于視頻序列中可能的運(yùn)動(dòng),等式1中的關(guān)系是近似的)。
I(n)≈CI(n-1)+B (1),這里漸變參數(shù)B和C各自對(duì)應(yīng)亮度和對(duì)比度。當(dāng)非線性漸變發(fā)生的時(shí)候,一階分量通常反映了大部分的改變。
從一個(gè)圖像序列U(n)到一個(gè)圖像序列V(n)的交叉漸變可以用等式2的關(guān)系建模。由于視頻序列中可能的運(yùn)動(dòng),等式2的關(guān)系是近似的。I(n)≈αnV+(1-αn)U]]>≈I(n-1)+α(V-U)........(2),]]> n≈0表示交叉漸變的開始,而n≈1/α表示交叉漸變的結(jié)束。對(duì)跨越幾個(gè)幀的交叉漸變,α是很小的。在交叉漸變的開始,第n幀接近于第n-1幀的減弱(對(duì)比度<1)版本。接近結(jié)束時(shí),第n幀為第n-1幀的增強(qiáng)(對(duì)比度>1)版本。換句話來說,在交叉漸變的開始,第n幀可以建模為第n-1幀縮放對(duì)比度值1-α,而在交叉漸變結(jié)束時(shí),第n幀可以建模為第n-1幀縮放對(duì)比度值1+α。公式2展示在交叉漸變開始和結(jié)束時(shí),編碼器可以通過重映射一個(gè)參照幀(如第n-1幀)使用一個(gè)線性規(guī)則(如下面公式3和4所示)得到第n幀。
編碼器通過重映射一個(gè)參照幀來進(jìn)行全局亮度改變補(bǔ)償。編碼器基于象素或其他的基礎(chǔ)來重映射參照幀。初始的、未重映射的參照幀完全被丟棄(雖然在多個(gè)參照幀的情況下,未重映射的參照幀也可能被用到)。
下面的線性規(guī)則基于公式1,通過兩個(gè)參數(shù)B和C(對(duì)應(yīng)于場景的亮度和對(duì)比度)重映射參照幀R的亮度值到重映射參照幀 R∩≈CR+B.......(3)]]>參照幀的亮度值被通過對(duì)比度值縮放(或“加權(quán)”)以及通過亮度值移位(即加一個(gè)偏移量)。對(duì)色度,重映射遵循下面的規(guī)則R∩≈C(R-μ)+μ........(4)]]>這里μ是色度值的均值。在一個(gè)實(shí)例中,128被假設(shè)認(rèn)為是色度值無符號(hào)8比特表示的均值。色度重映射的這一規(guī)則沒有用到亮度分量。
在一些實(shí)例中,公式3和4中用到的兩個(gè)參數(shù)的線性重映射被擴(kuò)展為高階的項(xiàng)。例如,公式5是一個(gè)重映射R的亮度值到 的二階公式R∩≈C1R2+C2R+B......(5)]]>其他實(shí)例使用其他的重映射規(guī)則。在這樣的重映射規(guī)則的一個(gè)類別中,對(duì)非線性漸變,線性映射被非線性映射所替代。
C.估計(jì)漸變參數(shù)漸變估計(jì)是在編碼過程中計(jì)算漸變參數(shù)的過程。象圖10中里的框架(1000)所示的編碼器可能在編碼的過程中計(jì)算亮度(B)和對(duì)比度(C)參數(shù)。
在一些實(shí)例中,為了快速準(zhǔn)確地估計(jì)參數(shù),編碼器使用圖12所示的技術(shù)(1200)。在所示技術(shù)中,只分析了亮度通道。作為其他選擇,當(dāng)有更多計(jì)算資源可用時(shí),編碼器可以在分析中包含色度。例如,編碼器算出公式3和4(不僅僅是公式3)中的C,來使得C更穩(wěn)固。
在圖12所示的實(shí)例里,在漸變估計(jì)的過程中場景中的運(yùn)動(dòng)被忽略了。這基于下面的觀察(a)漸變和交叉漸變通常發(fā)生在靜止或運(yùn)動(dòng)很少的場景中,及(b)全局亮度改變補(bǔ)償在運(yùn)動(dòng)很多的場景中的效用是很低的。作為其他選擇,編碼器同時(shí)計(jì)算出漸變參數(shù)和運(yùn)動(dòng)信息。然后運(yùn)動(dòng)信息在該技術(shù)(1200)后面的階段中或其他時(shí)候被用來改進(jìn)漸變參數(shù)的準(zhǔn)確度。一種使用運(yùn)動(dòng)信息的方法是在漸變估計(jì)中忽略那些檢測(cè)到有運(yùn)動(dòng)的參照幀。
在技術(shù)(1200)的不同部分中,絕對(duì)誤差和∑abs(I(n)-R)或Σabs(I(n)-R∩)]]>用來作為決定漸變存在和參數(shù)的度量。作為其他選擇,編碼器對(duì)同一誤差項(xiàng)使用其他或附加的度量如誤差平方和[“SSE”]或誤差平方均值[“MSE”],或者編碼器使用不同的誤差項(xiàng)。
在技術(shù)(1200)的不同階段,編碼器可能在滿足退出條件時(shí)終止技術(shù)(1200)。圖12展示了幾種退出條件。對(duì)另一個(gè)退出條件(未在圖12中標(biāo)出),編碼器檢測(cè)對(duì)比度參數(shù)是否在技術(shù)(1200)的開始或一個(gè)中間階段接近1.0(在一種實(shí)現(xiàn)中,.99<C<1.02),如果是這樣,終止技術(shù)(1200)。
編碼器通過對(duì)當(dāng)前幀和參照幀減少抽樣(1210)來開始處理(1200)。在一種實(shí)現(xiàn)中,編碼器在水平和垂直的方向上進(jìn)行抽樣減少到1/4。作為其他選擇,編碼器可減少到其他因子來抽樣,或全然不減小。
然后編碼器計(jì)算低分辨率版本的當(dāng)前幀和參照幀(以下標(biāo)d表示)的絕對(duì)誤差和∑abs(Id(n)-Rd)(1220)。絕對(duì)誤差和度量減少抽樣得到的當(dāng)前幀和減少抽樣得到的參照幀之間的象素值差異。如果絕對(duì)誤差和小于一個(gè)特定的閾值(1230)(如預(yù)先確定的減少抽樣得到的當(dāng)前幀和減少抽樣得到的參照幀之間的象素亮度值差異度量),編碼器認(rèn)為沒有漸變發(fā)生,從而不進(jìn)行漸變補(bǔ)償(1235)。
否則,編碼器估計(jì)亮度(B)和對(duì)比度(C)參數(shù)(1240)。B和C的粗略估計(jì)根據(jù)Rd用Ld(n)建模得到。在一個(gè)實(shí)例中,亮度和對(duì)比度參數(shù)通過對(duì)整個(gè)減少抽樣得到的幀做線性回歸得到。在其他的實(shí)例中,編碼器使用其他形式的統(tǒng)計(jì)分析如最小平方和、最小平方中位數(shù)等等,用來做更健壯的分析。例如,編碼器根據(jù)誤差項(xiàng)Id(n)-Rd最小化MSE或SSE。在一些情況下,MSE和SSE并不健壯。因此編碼器也對(duì)誤差項(xiàng)檢驗(yàn)絕對(duì)誤差和。編碼器對(duì)特別的點(diǎn)丟棄高的誤差值(可能由運(yùn)動(dòng)而非漸變?cè)斐?。
然后編碼器通過量子化和去量子化B和C計(jì)算Bf和Cf(1250)。粗略估計(jì)的參數(shù)被量子化和去量子化,得到Bf和Cf,來確保它們?cè)谠试S的范圍之內(nèi)并檢驗(yàn)一致性。在一些實(shí)例中,對(duì)典型的8比特深的圖像,B和C被量子化為每個(gè)6比特。B取-32到31的整數(shù)值,由帶符號(hào)的5比特整數(shù)代表。C量子化的值,用Cq來表示,取值以均勻的步長0.015625(1/64)從0.515625到1.484375,對(duì)應(yīng)量子化的值1到63。量子化通過對(duì)B和C四舍五入到最近的有效的去量子化值并取合適的二進(jìn)制指數(shù)來進(jìn)行。
然后編碼器計(jì)算初始定界的絕對(duì)誤差和(SOrgBnd)和重映射的定界絕對(duì)誤差和(SRmpBnd)(1270)。在一些實(shí)例中,編碼器計(jì)算這些和使用吻合度分析。對(duì)初始分辨率下隨機(jī)或偽隨機(jī)的一組象素,編碼器計(jì)算重映射的定界的絕對(duì)誤差和∑babs(I(n)-CfR-Bf),這里對(duì)特定的邊界M,babs(x)=min(abs(x),M)。在一個(gè)實(shí)例中,M是被編碼的幀的量子化參數(shù)的倍數(shù)。邊界M在量子化參數(shù)比較粗略的時(shí)候會(huì)高一些,在量子化參數(shù)比較精確的時(shí)候會(huì)低一些。編碼器還累積初始的定界的絕對(duì)誤差和∑babs(I(n)-R)。如果計(jì)算資源允許,編碼器可能對(duì)整個(gè)的幀計(jì)算定界的誤差和。
然后,基于初始的及重映射的定界的絕對(duì)誤差和的相對(duì)值,編碼器確定是否使用漸變補(bǔ)償(1280)。例如,在一些實(shí)例中,編碼器不使用漸變補(bǔ)償除非重映射的定界的絕對(duì)誤差和小于或等于特定的閾值相對(duì)于初始定界的絕對(duì)誤差和的百分比σ。在一種實(shí)現(xiàn)中,σ=.95。如果編碼器進(jìn)行漸變補(bǔ)償,編碼器重新計(jì)算編碼參數(shù),這次計(jì)算基于I(n)和R之間的線性回歸,但在完全的分辨率下(1290)。為節(jié)省計(jì)算時(shí)間,編碼器可以對(duì)隨機(jī)或偽隨機(jī)抽樣得到的幀來進(jìn)行重復(fù)的線性回歸。此外,編碼器可以作為其他選擇使用其他形式的統(tǒng)計(jì)分析(如最小平方和、最小平方中位數(shù)等等)來做更健壯的分析。當(dāng)編碼結(jié)束(1295),過程亦結(jié)束。
在一個(gè)實(shí)例中,編碼器允許一種特殊的情況,即公式3和4里的C=-1。這種特殊情況通過比特流里的Cq=0用信號(hào)表示。在這個(gè)“反轉(zhuǎn)”模式里,參照幀在通過B移位之前先反轉(zhuǎn),B的范圍以2為步長從193到319。
D.信號(hào)表示如圖10里框架(1000)所示的編碼器發(fā)送漸變開/關(guān)信號(hào)表示的信息及漸變參數(shù)。如圖11里框架(1100)所示的解碼器接收用信號(hào)表示的信息和漸變參數(shù)。
在一些實(shí)例中,在序列級(jí)別,編碼器發(fā)送一比特來標(biāo)志序列是否啟用全局亮度改變補(bǔ)償。編碼器還在幀級(jí)別用信號(hào)表示全局亮度改變和/或用信號(hào)表示幀的部分的全局亮度改變,如幀內(nèi)部單獨(dú)的塊或大塊。
在典型的視頻序列的幀之間,全局亮度改變或漸變的發(fā)生是少見的。通過加一個(gè)比特來用信號(hào)表示漸變(或者,等價(jià)地,沒有漸變)是可能的。例如,編碼器可以在幀級(jí)別使用一個(gè)比特信號(hào)表示漸變(或者,等價(jià)地,沒有漸變)。然而,把漸變(或者,等價(jià)地,沒有漸變)和其他信息一起用信號(hào)表示并不會(huì)更經(jīng)濟(jì)。例如,編碼器在一個(gè)運(yùn)動(dòng)模式(即,運(yùn)動(dòng)向量的數(shù)量和配置,子象素插值方案)的可變長代碼(VLC)表中使用一個(gè)轉(zhuǎn)義序列進(jìn)行幀級(jí)別的信號(hào)表示。在這樣的實(shí)例中,編碼器一起用信號(hào)表示最不頻繁運(yùn)動(dòng)模式和漸變補(bǔ)償?shù)募せ睢?br>
讓事件F表示漸變的存在,G表示這一幀最不頻繁運(yùn)動(dòng)模式的選擇。讓VLC<MVMODE>表示當(dāng)G為假的時(shí)候的一個(gè)運(yùn)動(dòng)模式。這張VLC表的設(shè)計(jì)使用轉(zhuǎn)義符號(hào)<ESC>來用信號(hào)表示什么時(shí)候F和/或F為真。表1展示了F和運(yùn)動(dòng)模式的聯(lián)合編碼,當(dāng)激活了漸變補(bǔ)償?shù)臅r(shí)候漸變參數(shù)B和C放在后面。
表1最不頻繁運(yùn)動(dòng)模式和漸變信號(hào)的聯(lián)合編碼如果全局亮度改變對(duì)某一幀是激活的,另外一個(gè)VLC(或<MVMODE>或<ESC>)放在后面來表示運(yùn)動(dòng)模式。然后,用各自表示B和C的兩個(gè)6位的定長編碼字作為信號(hào)表示參數(shù)。作為其他選擇,參數(shù)可以用VLC來表示。當(dāng)漸變應(yīng)用于幀的一個(gè)單獨(dú)部分,編碼器可獨(dú)立地用這部分來信號(hào)表示漸變參數(shù)。例如,如果漸變僅用于視頻幀的大塊,則漸變信息可以通過聯(lián)合熵編碼和大塊級(jí)的信息如編碼的塊模式或變換類型來用信號(hào)表示。
圖13是樹圖,展示當(dāng)編碼器對(duì)最不頻繁運(yùn)動(dòng)模式和漸變的存在聯(lián)合編碼時(shí)的編碼排列(對(duì)應(yīng)于表1,作為一種實(shí)現(xiàn))。(漸變參數(shù)編碼的細(xì)節(jié)在此忽略)。編碼器使用VLC來表示每一種其他的運(yùn)動(dòng)模式(如,代碼“0”,“10”和“110”相應(yīng)地表示運(yùn)動(dòng)模式0,1,2)。當(dāng)漸變沒有激活的時(shí)候,編碼器使用轉(zhuǎn)義碼(如“111”)跟著一個(gè)“0”來表示最不頻繁運(yùn)動(dòng)模式。編碼器使用轉(zhuǎn)義碼跟著一個(gè)“1”來標(biāo)志漸變是激活的。
應(yīng)當(dāng)理解這里描述的程序,過程或方法并不關(guān)系到或限制于任何特定類型的計(jì)算環(huán)境,除非明確指出。不同類型的通用或?qū)S糜?jì)算環(huán)境可以與這里描述的說明符合的方式來使用或執(zhí)行操作。以軟件展示的實(shí)例的元素可以通過硬件實(shí)現(xiàn),反之亦然。
考慮到我們的發(fā)明的原則可以用在很多可能的實(shí)例當(dāng)中,我們要求所有這樣的實(shí)例,在下述權(quán)利要求所述或與之等同的范圍和精神之內(nèi),都視為我們的發(fā)明。
權(quán)利要求
1.一種在計(jì)算機(jī)系統(tǒng)中由計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,所述方法包括對(duì)多個(gè)視頻幀中的每個(gè)視頻幀,處理這一視頻幀全局亮度改變補(bǔ)償開/關(guān)信號(hào)。所述指示這一視頻幀全局亮度改變補(bǔ)償開/關(guān)的信號(hào)和這一視頻幀其他的幀級(jí)別信息熵編碼在一起。
2.按照權(quán)利要求1的所述方法,其特征在于,所述其他的幀級(jí)別信息是這一視頻幀的運(yùn)動(dòng)模式信息。
3.按照權(quán)利要求2的所述方法,其特征在于,用一個(gè)轉(zhuǎn)義碼之后的一個(gè)比特來區(qū)別全局亮度改變開信號(hào)和最不頻繁運(yùn)動(dòng)模式。
4.按照權(quán)利要求1的所述方法,其特征在于,進(jìn)一步包括對(duì)包括多個(gè)視頻幀的序列,處理其全局亮度改變補(bǔ)償能力開/關(guān)信號(hào)。
5.按照權(quán)利要求1的所述方法,其特征在于,進(jìn)一步包括在編碼的過程中,根據(jù)對(duì)這一視頻幀是否使用了全局亮度改變補(bǔ)償來確定全局亮度改變補(bǔ)償開/關(guān)信號(hào)的值;及傳輸全局亮度改變補(bǔ)償開/關(guān)信號(hào)和其他的幀級(jí)別信息。
6.按照權(quán)利要求5的所述方法,其特征在于,進(jìn)一步包括在確定這個(gè)值之前,對(duì)多個(gè)視頻中的至少一個(gè)視頻幀檢測(cè)其中是否有漸變;及對(duì)這一視頻幀估計(jì)全局亮度改變參數(shù),所述全局亮度改變參數(shù)在其他幀級(jí)別信息之后傳輸。
7.一種計(jì)算機(jī)可讀媒體,其特征在于,存儲(chǔ)使計(jì)算機(jī)系統(tǒng)在視頻編碼的過程中執(zhí)行權(quán)利要求1的所述方法的計(jì)算機(jī)可執(zhí)行指令。
8.按照權(quán)利要求1的所述方法,其特征在于,進(jìn)一步包括在編碼的過程中,在處理之前對(duì)多個(gè)視頻幀里的每一個(gè)視頻幀接收這一視頻幀全局亮度改變補(bǔ)償開/關(guān)信號(hào),所述處理包括根據(jù)對(duì)這一視頻幀全局亮度改變補(bǔ)償開關(guān)信號(hào)來確定對(duì)這一視頻幀全局亮度改變補(bǔ)償是開或是關(guān)。
9.一種計(jì)算機(jī)可讀媒體,其特征在于,存儲(chǔ)使計(jì)算機(jī)系統(tǒng)在視頻編碼的過程中執(zhí)行權(quán)利要求1的所述方法的計(jì)算機(jī)可執(zhí)行指令。
10.一種在計(jì)算機(jī)系統(tǒng)中由計(jì)算機(jī)實(shí)現(xiàn)的處理一個(gè)或多個(gè)視頻圖像的方法,其特征在于,所述方法包括在視頻圖像序列級(jí),處理一個(gè)視頻圖像序列的漸變補(bǔ)償能力信號(hào);及如果啟用了漸變補(bǔ)償,在視頻圖像序列級(jí),處理一個(gè)或多個(gè)視頻圖像序列中的視頻圖像漸變補(bǔ)償開/關(guān)信號(hào)。
11.按照權(quán)利要求10的所述方法,其特征在于,所述圖像級(jí)的信號(hào)包括每個(gè)視頻圖像使用一比特來表示漸變補(bǔ)償是否沒有出現(xiàn)在每個(gè)視頻圖像中。
12.按照權(quán)利要求10的所述方法,其特征在于,所述圖像級(jí)的信號(hào)包括一個(gè)或多個(gè)熵編碼共同表示漸變補(bǔ)償是否出現(xiàn)在一個(gè)視頻圖像中以及其他圖像級(jí)信息。
13.按照權(quán)利要求12的所述方法,其特征在于,漸變參數(shù)在一個(gè)或多個(gè)熵編碼后面。
14.一種計(jì)算機(jī)可讀媒體,其特征在于,存儲(chǔ)使計(jì)算機(jī)系統(tǒng)在視頻編碼的過程中執(zhí)行權(quán)利要求10的所述方法的計(jì)算機(jī)可執(zhí)行指令。
15.一種計(jì)算機(jī)可讀媒體,其特征在于,存儲(chǔ)使計(jì)算機(jī)系統(tǒng)在視頻編碼的過程中執(zhí)行權(quán)利要求10的所述方法的計(jì)算機(jī)可執(zhí)行指令。
16.一種計(jì)算機(jī)可讀媒體,存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令,這些指令使計(jì)算機(jī)系統(tǒng)被編程從而能夠執(zhí)行計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,所述方法包括在視頻序列的第一層語法級(jí)別處理一個(gè)漸變補(bǔ)償標(biāo)志;及當(dāng)在第一層語法級(jí)別的漸變補(bǔ)償標(biāo)志表明視頻序列中的當(dāng)前視頻圖像的漸變補(bǔ)償是激活的,在視頻序列中比第一層語法級(jí)別低的第二層語法級(jí)別上處理一個(gè)或多個(gè)漸變參數(shù),所述一個(gè)或多個(gè)漸變參數(shù)至少用于當(dāng)前視頻圖像的一個(gè)部分的漸變補(bǔ)償,所述漸變補(bǔ)償包括基于一個(gè)或多個(gè)漸變參數(shù)中的部分參數(shù)調(diào)整一個(gè)參照視頻圖像中的多個(gè)象素值。
17.按照權(quán)利要求16的所述計(jì)算機(jī)可讀媒體,其特征在于,所述參照視頻圖像中的多個(gè)象素值包括亮度值和/或色度值。
18.按照權(quán)利要求16的所述計(jì)算機(jī)可讀媒體,其特征在于,所述當(dāng)前視頻圖像和參照視頻圖像都是視頻幀。
19.按照權(quán)利要求16的所述計(jì)算機(jī)可讀媒體,其特征在于,所述多個(gè)象素值包括參照視頻圖像中所有的象素值。
20.按照權(quán)利要求16的所述計(jì)算機(jī)可讀媒體,其特征在于,所述第一層語法級(jí)別是序列級(jí),所述第二層語法級(jí)別是圖像級(jí)。
21.按照權(quán)利要求16的所述計(jì)算機(jī)可讀媒體,其特征在于,所述第一層語法級(jí)別是序列級(jí),所述第二層語法級(jí)別是大塊級(jí)。
22.按照權(quán)利要求16的所述計(jì)算機(jī)可讀媒體,其特征在于,所述處理標(biāo)志和處理漸變參數(shù)在解碼的時(shí)候發(fā)生。
23.按照權(quán)利要求16的所述計(jì)算機(jī)可讀媒體,其特征在于,所述處理標(biāo)志和處理漸變參數(shù)在編碼的時(shí)候發(fā)生。
24.一種計(jì)算機(jī)可讀媒體,存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令,這些指令使計(jì)算機(jī)系統(tǒng)被編程從而能夠執(zhí)行計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,所述方法包括對(duì)視頻序列中多個(gè)視頻圖像中的每一個(gè)視頻圖像,在視頻序列的比特流中在圖像語法級(jí)處理漸變補(bǔ)償開/關(guān)信號(hào),其中如果漸變補(bǔ)償是激活的,多個(gè)漸變參數(shù)在比特流中跟在漸變補(bǔ)償開/關(guān)信號(hào)之后,所述多個(gè)漸變參數(shù)針對(duì)視頻圖像的至少一部分的漸變補(bǔ)償,所述漸變補(bǔ)償包括基于多個(gè)漸變參數(shù)的至少一部分調(diào)整在一個(gè)參照視頻圖像中的多個(gè)象素值。
25.按照權(quán)利要求24的所述計(jì)算機(jī)可讀媒體,其特征在于,對(duì)所述視頻序列中多個(gè)視頻圖像中的每一個(gè)視頻圖像,用一個(gè)或多個(gè)熵編碼來共同表示視頻圖像的漸變補(bǔ)償開/關(guān)信號(hào)以及視頻圖像的其他圖像語法級(jí)信息。
26.按照權(quán)利要求24的所述計(jì)算機(jī)可讀媒體,其特征在于,對(duì)所述視頻序列中多個(gè)視頻圖像中的每一個(gè)視頻圖像,用一個(gè)或多個(gè)熵編碼來共同表示視頻圖像的漸變補(bǔ)償開/關(guān)信號(hào)以及視頻圖像的運(yùn)動(dòng)模式信息。
27.按照權(quán)利要求26的所述計(jì)算機(jī)可讀媒體,其特征在于,對(duì)所述多個(gè)視頻圖像中的至少一個(gè)視頻圖像,用第一個(gè)熵編碼后面的一個(gè)比特來區(qū)別漸變補(bǔ)償開信號(hào)和最不頻繁運(yùn)動(dòng)模式信號(hào),所述第一個(gè)熵編碼是一個(gè)轉(zhuǎn)義碼。
28.按照權(quán)利要求27的所述計(jì)算機(jī)可讀媒體,其特征在于,當(dāng)漸變補(bǔ)償為開的時(shí)候,用那一個(gè)比特后面的第二個(gè)熵編碼表示視頻圖像的運(yùn)動(dòng)模式信號(hào)。
29.按照權(quán)利要求24的所述計(jì)算機(jī)可讀媒體,其特征在于,所述視頻圖像是一個(gè)視頻幀、視頻區(qū)域、視頻對(duì)象平面或大塊。
30.按照權(quán)利要求24的所述計(jì)算機(jī)可讀媒體,其特征在于,所述處理在解碼的時(shí)候發(fā)生。
31.按照權(quán)利要求24的所述計(jì)算機(jī)可讀媒體,其特征在于,所述處理在編碼的時(shí)候發(fā)生。
32.按照權(quán)利要求24的所述計(jì)算機(jī)可讀媒體,其特征在于,所述方法進(jìn)一步包括對(duì)多個(gè)視頻圖像中的至少一個(gè)視頻圖像,處理多個(gè)漸變參數(shù),所述漸變參數(shù)是定長編碼的。
33.按照權(quán)利要求24的所述計(jì)算機(jī)可讀媒體,其特征在于,所述方法進(jìn)一步包括對(duì)多個(gè)視頻圖像中的至少一個(gè)視頻圖像,處理多個(gè)漸變參數(shù),所述多個(gè)漸變參數(shù)是變長編碼的。
34.一種計(jì)算機(jī)可讀媒體,存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令,這些指令使計(jì)算機(jī)系統(tǒng)被編程從而能夠執(zhí)行計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,所述方法包括對(duì)視頻序列中的至少一個(gè)視頻圖像的至少一部分,在比特流中圖像級(jí)的下面一個(gè)語法級(jí)別處理漸變補(bǔ)償開/關(guān)信號(hào),如果所述漸變補(bǔ)償是激活的,在比特流中多個(gè)漸變參數(shù)跟在漸變補(bǔ)償開/關(guān)信號(hào)之后,所述漸變補(bǔ)償包括基于多個(gè)漸變參數(shù)的至少一部分調(diào)整在一個(gè)參照視頻圖像中的多個(gè)象素值。
35.按照權(quán)利要求34的所述計(jì)算機(jī)可讀媒體,其特征在于,所述圖像級(jí)的下面一個(gè)語法級(jí)別是大塊級(jí)別,同時(shí)用一個(gè)或多個(gè)熵編碼來共同表示漸變補(bǔ)償開/關(guān)信號(hào)以及至少一個(gè)視頻圖像的至少一部分的其他信息。
36.按照權(quán)利要求35的所述計(jì)算機(jī)可讀媒體,其特征在于,所述其他信息是編碼塊模式信息或變換類型信息。
37.按照權(quán)利要求34的所述計(jì)算機(jī)可讀媒體,其特征在于,所述處理在解碼的時(shí)候發(fā)生。
38.按照權(quán)利要求34的所述計(jì)算機(jī)可讀媒體,其特征在于,所述處理在編碼的時(shí)候發(fā)生。
39.按照權(quán)利要求34的所述計(jì)算機(jī)可讀媒體,其特征在于,所述方法進(jìn)一步包括對(duì)至少一個(gè)視頻圖像的至少一部分處理多個(gè)漸變參數(shù)。
全文摘要
在視頻處理應(yīng)用中使用信號(hào)指示漸變補(bǔ)償?shù)募夹g(shù)和工具。例如,視頻編碼器對(duì)一幅參照?qǐng)D像進(jìn)行漸變補(bǔ)償,用信號(hào)指示使用了漸變補(bǔ)償,并且用信號(hào)指示漸變補(bǔ)償?shù)臐u變參數(shù)。視頻解碼器收到用信號(hào)指示的信息并使用漸變參數(shù)對(duì)參照?qǐng)D像進(jìn)行漸變補(bǔ)償。
文檔編號(hào)H04N7/32GK1460925SQ03124169
公開日2003年12月10日 申請(qǐng)日期2003年4月29日 優(yōu)先權(quán)日2002年5月3日
發(fā)明者S·斯里尼瓦桑, S·雷格納坦 申請(qǐng)人:微軟公司