用于對(duì)幀序列進(jìn)行視頻編碼的方法和編碼器的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及視頻編碼的領(lǐng)域。具體地,其涉及用于對(duì)幀序列進(jìn)行編碼的方法和編 碼器。
【背景技術(shù)】
[0002] 諸如在H. 264或更一般地說Η. 26x標(biāo)準(zhǔn)之下的視頻編碼之類的已知視頻編碼方法 允許在視頻幀的區(qū)域中的局部的壓縮級(jí)別的修改。例如,能夠通過調(diào)整用于表示對(duì)象的感 興趣區(qū)域(R0I)的壓縮級(jí)別來改善圖像品質(zhì)。這也可以應(yīng)用于其中存在移動(dòng)對(duì)象的視頻序 列。
[0003] 這是US8150173B2的主題,其例如教導(dǎo)了,對(duì)于具有移動(dòng)對(duì)象的視頻序列,可以為 每個(gè)幀定義一個(gè)R0I。替換地,可以指定R0I的起始位置和尺寸,并且指定的R0I然后可以 跟蹤在視頻序列中對(duì)象的運(yùn)動(dòng)。
[0004] 為了減少感興趣的對(duì)象上或其周圍的壓縮偽影,R0I通常不僅僅包括感興趣的對(duì) 象,而且也包括背景的一部分。當(dāng)對(duì)象移動(dòng)時(shí),背景的該部分在每個(gè)幀中不同。結(jié)果,當(dāng)在 對(duì)象以橫蕩的方式移動(dòng)的情況下對(duì)象不時(shí)地若干次經(jīng)過時(shí),對(duì)背景的特定部分進(jìn)行編碼所 使用的壓縮級(jí)別發(fā)生變化。這將顯著地增加編碼視頻序列所需要的比特率,這是因?yàn)樾枰?利用不同的壓縮級(jí)別將背景的特定部分重新編碼多次。因此,存在改善的需要。
【發(fā)明內(nèi)容】
[0005] 鑒于以上所述,因而本發(fā)明的目的是克服或至少減輕以上討論的問題。具體地,目 的是提供編碼方法和編碼器,其減少在對(duì)象經(jīng)過時(shí)將背景重新編碼若干次的需要。
[0006] 根據(jù)本發(fā)明的第一方面,通過對(duì)幀序列進(jìn)行視頻編碼的方法來實(shí)現(xiàn)以上目的,該 方法包括:接收描繪移動(dòng)對(duì)象的幀序列,序列包括與第一時(shí)間點(diǎn)相對(duì)應(yīng)的第一幀、與之后的 第二時(shí)間點(diǎn)相對(duì)應(yīng)的第二幀以及與居于第一和第二時(shí)間點(diǎn)之間的一個(gè)或多個(gè)時(shí)間點(diǎn)相對(duì) 應(yīng)的一個(gè)或多個(gè)中間幀;預(yù)測在第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn)之間移動(dòng)對(duì)象在幀序列中的移 動(dòng);基于預(yù)測的移動(dòng)對(duì)象的移動(dòng),定義幀中的感興趣區(qū)域,該感興趣區(qū)域在所預(yù)測的移動(dòng)對(duì) 象在第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn)之間的全部移動(dòng)期間覆蓋移動(dòng)對(duì)象;以及使用用于定義在感 興趣區(qū)域的哪個(gè)部分中使用哪個(gè)編碼質(zhì)量的公共編碼質(zhì)量模式,來對(duì)感興趣區(qū)域中的第一 幀以及感興趣區(qū)域的至少一子集中的一個(gè)或多個(gè)中間幀進(jìn)行編碼,其中對(duì)于特定中間幀, 感興趣區(qū)域的子集在所預(yù)測的對(duì)象在與特定中間圖像幀相對(duì)應(yīng)的時(shí)間點(diǎn)和第二時(shí)間點(diǎn)之 間的全部移動(dòng)期間覆蓋對(duì)象。
[0007] 利用以上方法,對(duì)象的移動(dòng)被預(yù)測,并且用于定義當(dāng)對(duì)第一幀以及一個(gè)或多個(gè)中 間幀中的每一個(gè)進(jìn)行編碼時(shí)所使用的單個(gè)R0I。與現(xiàn)有技術(shù)相反,R0I因此在各幀之間不變 化。
[0008] R0I被定義為在所預(yù)測的移動(dòng)對(duì)象在第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn)之間的全部移動(dòng)期 間覆蓋移動(dòng)對(duì)象。換句話說,預(yù)計(jì)定義的R0I覆蓋第一幀以及一個(gè)或多個(gè)中間幀中的對(duì)象。 因此預(yù)計(jì)在第一幀中以及在一個(gè)或多個(gè)中間幀中在ROI內(nèi)發(fā)現(xiàn)移動(dòng)對(duì)象和在移動(dòng)對(duì)象附 近的背景像素。
[0009] 當(dāng)對(duì)第一幀以及一個(gè)或多個(gè)中間幀進(jìn)行編碼時(shí),相對(duì)于R0I、或至少相對(duì)于其子集 使用公共(即,相同的)編碼質(zhì)量模式。這意味著,對(duì)于落入R0I內(nèi)的背景的特定部分,將一 直使用相同的編碼質(zhì)量,或在對(duì)象經(jīng)過時(shí)最多將其改變一次,由此減少對(duì)重新編碼的需要。
[0010] 例如,如果對(duì)于第一幀以及對(duì)于一個(gè)或多個(gè)中間幀中的每一個(gè)相對(duì)于整體R0I使 用公共編碼質(zhì)量模式,則不需要進(jìn)行R0I的背景部分的重新編碼。根據(jù)其它示例,當(dāng)對(duì)一個(gè) 或多個(gè)中間幀進(jìn)行編碼時(shí),向R0I的子集應(yīng)用公共編碼質(zhì)量模式。對(duì)于特定中間幀,在這樣 的情形中,子集可以在所預(yù)測的對(duì)象在直到第二時(shí)間點(diǎn)的剩余移動(dòng)期間覆蓋對(duì)象,即,預(yù)計(jì) 子集覆蓋直到第二時(shí)間點(diǎn)、在特定中間幀以及每個(gè)隨后中間幀中的對(duì)象。在這種情況下,在 對(duì)象經(jīng)過時(shí),最多需要將背景的特定部分重新編碼一次。
[0011] 如在本文所使用的,幀序列指的是圖像幀的序列。應(yīng)當(dāng)注意,例如,隨著幀序列被 攝像機(jī)捕獲,典型地順序地接收幀序列。
[0012] 如在本文所使用的,移動(dòng)對(duì)象的移動(dòng)的預(yù)測大體上指的是基于迄今為止已經(jīng)接收 到的幀來預(yù)測移動(dòng)。典型地,這包括與在第一時(shí)間點(diǎn)之前的時(shí)間點(diǎn)相對(duì)應(yīng)的幀。其也可以 包括該第一幀。然而,在執(zhí)行預(yù)測時(shí),典型地尚未接收到一個(gè)或多個(gè)中間幀。通過在接收到 一個(gè)或多個(gè)中間幀之前啟動(dòng)移動(dòng)的預(yù)測,可以減少編碼處理中的等待時(shí)間。
[0013] 如在本文所使用的,通過措詞"在第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn)之間"所定義的時(shí)間間 隔包括第一時(shí)間點(diǎn)和與一個(gè)或多個(gè)中間幀相對(duì)應(yīng)的時(shí)間點(diǎn)。然而,其不一定包括第二時(shí)間 點(diǎn)。在該定義的情況下,因而預(yù)計(jì)所定義的在所預(yù)測的移動(dòng)對(duì)象在第一時(shí)間點(diǎn)和第二時(shí)間 點(diǎn)之間的全部移動(dòng)期間覆蓋移動(dòng)對(duì)象的R0I會(huì)覆蓋在第一幀以及一個(gè)或多個(gè)中間幀中的 每一個(gè)中、但是不一定在第二幀中的對(duì)象。
[0014] 類似地,感興趣區(qū)域中的、在所預(yù)測的對(duì)象在與特定中間圖像幀相對(duì)應(yīng)的時(shí)間點(diǎn) 和第二時(shí)間點(diǎn)之間的全部移動(dòng)期間覆蓋對(duì)象的子集是預(yù)計(jì)覆蓋在特定幀和每個(gè)隨后中間 幀中、但是不一定在第二幀中的對(duì)象的子集。
[0015] 感興趣區(qū)域大體上意味著被判斷為特別重要的許多像素(例如,因?yàn)樗鼈儽硎緦?duì) 象)。在編碼應(yīng)用中,可以將幀劃分為例如具有16X16像素的固定尺寸的宏塊。感興趣區(qū) 域可以由被發(fā)現(xiàn)特別重要的這樣的宏塊(例如,因?yàn)樗鼈儽硎緦?duì)象)的集合組成。
[0016] 如在本文所使用的,編碼質(zhì)量模式典型地指的是編碼質(zhì)量的空間模式或功能。具 體是,編碼質(zhì)量模式定義在感興趣區(qū)域的哪個(gè)部分中使用哪個(gè)編碼質(zhì)量。
[0017] 在一些實(shí)施例中,編碼質(zhì)量被設(shè)置為遍及R0I為常量。換句話說,編碼質(zhì)量模式可 以定義將在全部感興趣區(qū)域中使用的單個(gè)編碼質(zhì)量。使編碼質(zhì)量較少變化是有利的,這是 因?yàn)槠涫沟媚軌蚋鶕?jù)其它編碼塊預(yù)測更多編碼塊,由此提高編碼效率。
[0018] 在其它實(shí)施例中,編碼質(zhì)量模式可以定義將在感興趣區(qū)域的不同部分中使用的不 同編碼質(zhì)量。這允許更大的靈活性。例如,可以在與預(yù)計(jì)大體上具有較低的圖像品質(zhì)的幀 的部分(諸如幀的周邊部分)相對(duì)應(yīng)的R0I的一些部分中將編碼質(zhì)量設(shè)置為較低。
[0019] 編碼質(zhì)量可以大體上與壓縮級(jí)別相對(duì)應(yīng)。低級(jí)別的壓縮典型地給出高編碼質(zhì)量并 且反之亦然。在諸如H. 264編解碼器之類的一些編解碼器中,就量化參數(shù)(QP值)而言給 出壓縮級(jí)別。編碼質(zhì)量因而也可以與量化參數(shù)相對(duì)應(yīng)。
[0020] 如將在后面的部分中進(jìn)一步討論的,諸如H-264標(biāo)準(zhǔn)之類的一些視頻壓縮標(biāo)準(zhǔn)規(guī) 定就內(nèi)幀(例如,I-幀)和間幀(例如,P-幀或B-幀)而言實(shí)施的時(shí)間視頻壓縮。內(nèi)幀基 本上是僅僅使用要被編碼的圖像幀中的信息被編碼的圖像幀。另外,根據(jù)對(duì)于要被編碼的 圖像幀所捕獲的所有圖像數(shù)據(jù)來計(jì)算內(nèi)幀。也被稱為預(yù)測幀或差分幀的間幀基于來自先前 編碼的圖像幀的信息以及目前編碼的幀的信息,即,可以將間幀描述成利用先前的圖像幀 中的時(shí)間上冗余的信息。
[0021] 根據(jù)實(shí)施例,可以將第一幀編碼為內(nèi)幀。另外,可以將一個(gè)或多個(gè)中間幀編碼為間 幀。典型地,背景像素在各幀之間不顯著地改變。通過將中間幀編碼為間幀,因此典型地不 需要對(duì)于每個(gè)幀對(duì)背景像素進(jìn)行重新編碼,尤其是在編碼質(zhì)量模式對(duì)于特定背景像素保持 不變的時(shí)長內(nèi),不需要進(jìn)行重新編碼。
[0022] 在一些實(shí)施例中,使用公共編碼質(zhì)量模式在整個(gè)感興趣區(qū)域(并且不僅僅是其子 集)中對(duì)一個(gè)或多個(gè)中間幀中的至少一些進(jìn)行編碼。這包括使用公共編碼質(zhì)量模式在感興 趣區(qū)域中對(duì)一個(gè)或多個(gè)中間幀中的每一個(gè)進(jìn)行編碼的情況。這是有利的,是因?yàn)榭梢酝耆?避免對(duì)落入感興趣區(qū)域內(nèi)的背景的重新編碼。
[0023] 通常,與幀的其余相比,至少與R0I的周圍相比,在R0I內(nèi)利用較高的編碼質(zhì)量對(duì) 幀進(jìn)行編碼。然而,以較高的編碼質(zhì)量進(jìn)行編碼以增加的比特率為代價(jià)。如果R0I是大區(qū) 域,這尤其如此。從這個(gè)角度看,因而較好的是,對(duì)于要被編碼的每個(gè)幀將R0I保持得盡可 能小。然而,從通過在對(duì)象經(jīng)過時(shí)避免對(duì)背景進(jìn)行重新編碼來節(jié)約比特率的觀點(diǎn),較好的 是,具有在對(duì)象的位于第一和第二時(shí)間點(diǎn)之間的全部移動(dòng)期間覆蓋對(duì)象的R0I并且使用公 共編碼質(zhì)量模式在整個(gè)R0I中對(duì)每個(gè)幀進(jìn)行編碼,如以上闡述的。因而存在要考慮的折衷。
[0024] 在一些實(shí)施例中,通過使用公共編碼質(zhì)量模式在R0I的子集(不是整個(gè)R0I)中對(duì) 一個(gè)或多個(gè)中間幀進(jìn)行編碼來考慮該折衷。可以通過對(duì)于要被連續(xù)地編碼的每個(gè)中間幀, 使用公共編碼質(zhì)量模式對(duì)R0I的較小的子集進(jìn)行編碼的收縮過程來實(shí)現(xiàn)這一點(diǎn)。可以通過 移除R0I中的與對(duì)象已經(jīng)經(jīng)過的R0I的那些部分相對(duì)應(yīng)的部分來確定子集。具體地,這可 以根據(jù)對(duì)于每個(gè)中間幀移除當(dāng)對(duì)前一幀進(jìn)行編碼時(shí)所使用的R0I的部分或其子集的迭代 過程來執(zhí)行。被不同地陳述,對(duì)于第一中間幀,可以通過從感興趣區(qū)域中移除一部分來確定 感興趣區(qū)域的子集,并且對(duì)于在第一中間幀之后的每個(gè)中間幀,通過從在對(duì)前一中間幀進(jìn) 行編碼時(shí)所使用的子集中移除一部分來確定感興趣區(qū)域的子集。
[0025] 利用該過程,在連續(xù)的R0I的較小子集中使用公共編碼質(zhì)量模式對(duì)中間幀進(jìn)行編 碼(據(jù)推測這相當(dāng)消耗比特),由此減小消耗的比特率。同時(shí),結(jié)果得到的子集使得它們覆 蓋對(duì)象的剩余的預(yù)測的移動(dòng)。這具有最多需要將R0I中的背景重新編碼一次的結(jié)果。典 型地,當(dāng)對(duì)象已經(jīng)經(jīng)過時(shí),背景的特定部分的重新編碼發(fā)生,并且背景的特定部分形成被從 R0I移除的部分的一部分。
[