專利名稱:視頻編碼方法和視頻編碼器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實施例涉及通信技術(shù),尤其涉及一種視頻編碼方法和視頻編碼器。
背景技術(shù):
目前,視頻業(yè)務(wù)在互聯(lián)網(wǎng)和移動通信領(lǐng)域中的應(yīng)用迅速發(fā)展。視頻業(yè)務(wù)需要先對源視頻文件進(jìn)行編碼,將編碼后的視頻文件通過互聯(lián)網(wǎng)或移動通信網(wǎng)絡(luò)的信道傳輸給用戶終端?,F(xiàn)有的視頻編碼方法采用分辨率固定而量化步長可調(diào)的方式,在編碼過程中,始終采用預(yù)先設(shè)定的分辨率進(jìn)行編碼,可以對量化步長進(jìn)行調(diào)整。這種編碼方法在信道穩(wěn)定、帶寬充足的情況下,可以保證視頻的高質(zhì)量傳輸。但是,由于互聯(lián)網(wǎng)和移動通信網(wǎng)絡(luò)中的信道帶寬較窄,并且信道的穩(wěn)定性差,因此,采用現(xiàn)有的視頻編碼方法會導(dǎo)致視頻出現(xiàn)嚴(yán)重的 塊效應(yīng),視頻編碼的質(zhì)量差。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種視頻編碼方法,用以解決現(xiàn)有技術(shù)中的缺陷,提高視頻編
碼質(zhì)量。本發(fā)明實施例還提供一種視頻編碼器,用以解決現(xiàn)有技術(shù)中的缺陷,提高視頻編
碼質(zhì)量。本發(fā)明實施例提供一種視頻編碼方法,包括判斷當(dāng)前幀是否適應(yīng)當(dāng)前信道帶寬,如果是,判斷當(dāng)前幀不是立即刷新IDR幀,否貝U,判斷當(dāng)前幀是IDR幀;當(dāng)當(dāng)前幀是IDR幀時,從至少一種采樣分辨率和當(dāng)前幀的原始分辨率中選擇具有最佳編碼性能的分辨率作為最優(yōu)分辨率,以所述最優(yōu)分辨率對當(dāng)前幀進(jìn)行編碼;當(dāng)當(dāng)前幀不是IDR幀時,以前一幀的分辨率對當(dāng)前幀進(jìn)行編碼。本發(fā)明實施例還提供一種視頻編碼器,包括判斷單元,用于判斷當(dāng)前幀是否適應(yīng)當(dāng)前信道帶寬,如果是,判斷當(dāng)前幀不是立即刷新IDR幀,否則,判斷當(dāng)前幀是IDR幀;分辨率選擇單元,用于當(dāng)當(dāng)前幀是IDR幀時,從至少一種采樣分辨率和當(dāng)前幀的原始分辨率中選擇具有最佳編碼性能的分辨率作為最優(yōu)分辨率;編碼單元,用于當(dāng)當(dāng)前幀是IDR幀時,以所述最優(yōu)分辨率對當(dāng)前幀進(jìn)行編碼;當(dāng)當(dāng)前幀不是IDR幀時,以前一幀的分辨率對當(dāng)前幀進(jìn)行編碼。由上述技術(shù)方案可知,本發(fā)明實施例通過根據(jù)預(yù)設(shè)的IDR幀判斷條件確定當(dāng)前幀是否為IDR幀,在IDR幀處選擇最優(yōu)分辨率進(jìn)行編碼;在非IDR幀處以前一幀的分辨率進(jìn)行編碼。預(yù)設(shè)的IDR幀判斷條件與受信道帶寬影響的編碼性能有關(guān),通過在編碼過程中的每個IDR幀進(jìn)行分辨率選擇,從而能夠及時根據(jù)當(dāng)前信道狀況選擇最適合的分辨率,避免了采用固定分辨率導(dǎo)致的窄帶情況下的塊效應(yīng),從而提高了視頻編碼的質(zhì)量。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為本發(fā)明實施例一的視頻編碼方法的流程圖;圖2為本發(fā)明實施例二的視頻編碼方法的流程圖;圖3為本發(fā)明實施例三的視頻編碼方法中選擇最優(yōu)分辨率的流程圖;圖4為本發(fā)明實施例四的視頻編碼方法中選擇最優(yōu)分辨率的流程圖; 圖5為本發(fā)明實施例五的視頻編碼器的結(jié)構(gòu)示意圖;圖6為本發(fā)明實施例六的視頻編碼器的結(jié)構(gòu)示意圖;圖7為本發(fā)明實施例七的視頻編碼器的結(jié)構(gòu)示意圖;圖8為本發(fā)明實施例八的視頻編碼器的硬件實現(xiàn)原理圖。
具體實施例方式為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。圖I為本發(fā)明實施例一的視頻編碼方法的流程圖。如圖I所示,該方法包括如下過程。步驟101 :判斷當(dāng)前幀是否適應(yīng)當(dāng)前信道帶寬。如果是,判斷當(dāng)前巾貞不是立即刷新(Instantaneous Decoding Refresh,簡稱IDR)幀,執(zhí)行步驟103。否則,判斷當(dāng)前幀是IDR幀,執(zhí)行步驟102。步驟102 :當(dāng)當(dāng)前幀是IDR幀時,從至少一種采樣分辨率和當(dāng)前幀的原始分辨率中選擇具有最佳編碼性能的分辨率作為最優(yōu)分辨率,以該最優(yōu)分辨率對當(dāng)前幀進(jìn)行編碼。步驟103 :當(dāng)當(dāng)前幀不是IDR幀時,以前一幀的分辨率對當(dāng)前幀進(jìn)行編碼。其中,采樣分辨率為對采用原始分辨率的當(dāng)前幀進(jìn)行采樣后的分辨率,具體的可以采用多種采樣方式。當(dāng)前幀的前一幀的分辨率也是采用本發(fā)明實施例一的方法進(jìn)行選擇得到的,有可能是當(dāng)前幀的前一幀的采樣分辨率,也有可能是當(dāng)前幀的前一幀的原始分辨率,還有可能是當(dāng)前幀前面第二幀的分辨率。在本發(fā)明實施例一中,首先根據(jù)當(dāng)前幀是否適應(yīng)當(dāng)前信道帶寬來判斷當(dāng)前幀是否為IDR幀,如果當(dāng)前幀是IDR幀,則從采樣分辨率和當(dāng)前幀的原始分辨率中選擇最優(yōu)的分辨率進(jìn)行編碼,如果當(dāng)前幀不滿足該條件,則以前一幀的分辨率進(jìn)行編碼。IDR幀判斷條件與當(dāng)前幀是否適應(yīng)當(dāng)前信道帶寬有關(guān),因此,能夠及時地根據(jù)當(dāng)前信道狀況選擇最適合的分辨率,從而避免了采用固定的分辨率導(dǎo)致的塊效應(yīng),提高了視頻編碼的質(zhì)量。圖2為本發(fā)明實施例二的視頻編碼方法的流程圖。如圖2所示,該方法包括如下過程。步驟201 :獲取當(dāng)前幀。在本步驟中,對一個視頻進(jìn)行編碼時,在首次執(zhí)行本步驟時,采用該視頻的第一幀作為當(dāng)前幀;在非首次執(zhí)行本步驟時,采用上一次作為當(dāng)前幀的幀的下一幀,作為此次獲取的當(dāng)前幀。步驟202 :判斷當(dāng)前幀是否適應(yīng)當(dāng)前信道帶寬。 如果是,判斷當(dāng)前幀不是IDR幀,執(zhí)行步驟204。否則,判斷當(dāng)前幀是IDR幀,執(zhí)行步驟203。。在本步驟中,通過判斷當(dāng)前幀是否適應(yīng)當(dāng)前信道帶寬來設(shè)置IDR幀。一種較佳的實施方式是,判斷當(dāng)前幀是否適應(yīng)當(dāng)前信道帶寬的具體判斷條件至少包括以下各項之一條件I :當(dāng)前幀的幀號與上一個IDR幀的幀號超過預(yù)設(shè)的圖像組(Group ofPictures,簡稱GOP)最大間隔。當(dāng)前幀的幀號與上一個IDR幀的幀號超過預(yù)設(shè)的GOP最大間隔,則說明當(dāng)前與上一次分辨率選擇間隔較久。采用條件I可以避免下述情況圖像內(nèi)容緩慢變化,雖然圖像內(nèi)容變化程度沒有構(gòu)成場景切換,但是與上一次分辨率選擇中的圖像內(nèi)容相比,已經(jīng)發(fā)生重大變化。因此,在上述情況下,判定為當(dāng)前幀不適應(yīng)當(dāng)前信道帶寬,從而將當(dāng)前幀判定為IDR幀,需要重新選擇分辨率。并且,采用條件I還可以避免以下情況信道帶寬發(fā)生緩慢變化,雖然信道帶寬的變化情況沒有達(dá)到下述條件3中的閾值,但是與上一次分辨率選擇中的信道帶寬情況相比,已經(jīng)發(fā)生重大變化。因此,在上述情況下,判定為當(dāng)前幀不適應(yīng)當(dāng)前信道帶寬,從而將當(dāng)前幀判定為IDR幀,需要重新選擇分辨率。條件2 :檢測到當(dāng)前幀的圖像相對前一幀的圖像發(fā)生場景切換。當(dāng)檢測到當(dāng)前幀的圖像相對前一幀的圖像發(fā)生場景切換時,圖像內(nèi)容發(fā)生較大變化。由于對不同圖像內(nèi)容編碼時,對帶寬的要求不同,如果圖像內(nèi)容復(fù)雜,則需要更高的碼率,因此需要更寬的帶寬。即使信道條件沒有發(fā)生改變,對于圖像復(fù)雜度較低的圖像,其帶寬足夠,如果場景切換后的圖像復(fù)雜度較高,則有可能同樣的信道條件已經(jīng)無法滿足需要。因此,即使信道條件沒有發(fā)生重大變化,根據(jù)場景切換的情況,也判定為當(dāng)前幀不適應(yīng)當(dāng)前信道帶寬,將當(dāng)前幀判定為IDR幀,需要重新選擇分辨率。條件3 :與前一幀相比,當(dāng)前幀的目標(biāo)碼率的變化超過設(shè)定的目標(biāo)碼率閾值。由于信道帶寬的變化會導(dǎo)致目標(biāo)碼率變化,因此,為使分辨率與信道帶寬相適應(yīng),如果當(dāng)前幀的目標(biāo)碼率的變化超過設(shè)定的目標(biāo)碼率閾值,判定為當(dāng)前幀不適應(yīng)當(dāng)前信道帶寬,將當(dāng)前幀設(shè)為IDR幀,并重新進(jìn)行分辨率選擇。具體地,目標(biāo)碼率閾值可以根據(jù)具體應(yīng)用的網(wǎng)絡(luò)系統(tǒng)在通常情況下的信道帶寬以及希望該視頻編碼方法達(dá)到的對帶寬變化的靈敏度進(jìn)行靈活設(shè)置。其中,條件2中檢測圖像場景切換的過程可以采用多種方法,現(xiàn)有技術(shù)中任何能夠檢測圖像場景切換的方法均可適用。在實際應(yīng)用中,可以采用其中任意一種方法或幾種方法的組合進(jìn)行檢測。以下僅對其中兩種優(yōu)選的檢測方法予以說明。方法一計算上一個IDR幀至當(dāng)前幀的前一幀的編碼后重建幀的平均亮度直方圖;計算當(dāng)前幀的亮度直方圖。對以上兩者進(jìn)行比較并設(shè)定亮度直方圖閾值。當(dāng)當(dāng)前幀的亮度直方圖與上一個IDR幀至當(dāng)前幀的前一幀的編碼后重建幀的平均亮度直方圖的差異超過設(shè)定的亮度直方圖閾值時,判定當(dāng)前幀的圖像發(fā)生場景切換。其中,在計算上述平均亮度直方圖或亮度直方圖及設(shè)定亮度直方圖閾值時,可采用如下所述三種方式之一第一種方式將計算中涉及的所有幀上采樣或下采樣到相同的分辨率后進(jìn)行計算,并且設(shè)置固定的亮度直方圖閾值。第二種方式將計算中涉及的所有幀不進(jìn)行采樣直接計算直方圖,再將計算結(jié)果折算到相同的分辨率,并且設(shè)置固定的亮度直方圖閾值。第三種方式將計算中涉及的所有幀不進(jìn)行采樣直接計算直方圖,采用的亮度直方圖閾值是根據(jù)當(dāng)前圖像大小計算得到的,例如,采用固定的閾值乘以圖像大小作為亮度直方圖閾值。采用上述任意方式的比較直方圖的檢測方法,當(dāng)檢測到場景切換時,說明圖像內(nèi)容發(fā)生了較大變化,則將平均亮度直方圖清零。方法二 采用設(shè)定分辨率對當(dāng)前幀進(jìn)行幀間編碼,當(dāng)幀間編碼過程中出現(xiàn)的幀內(nèi) 編碼的宏塊數(shù)量或比例超過設(shè)定的宏塊閾值時,判定當(dāng)前幀的圖像發(fā)生場景切換。當(dāng)發(fā)生場景切換時,因為圖像內(nèi)容發(fā)生較大變化,所以將會有較多宏塊采用幀內(nèi)預(yù)測編碼模式,因此可以根據(jù)幀內(nèi)編碼的宏塊數(shù)量或比例判斷是否發(fā)生場景切換。步驟203 :從至少一種采樣分辨率和當(dāng)前幀的原始分辨率中選擇具有最佳編碼性能的分辨率作為最優(yōu)分辨率,以該最優(yōu)分辨率對當(dāng)前幀進(jìn)行編碼。在本步驟中,具體的編碼過程中,采用的分辨率為上述最優(yōu)分辨率,編碼過程中的其它具體步驟和方法可以采用現(xiàn)有的任意編碼方法。例如,可以先根據(jù)最優(yōu)分辨率對當(dāng)前幀進(jìn)行采樣,然后再根據(jù)該最優(yōu)分辨率對當(dāng)前幀進(jìn)行編碼。在以該最優(yōu)分辨率對當(dāng)前幀進(jìn)行編碼的過程中,在確定量化參數(shù)時,具體方法是第一步,根據(jù)碼率控制算法計算原始的量化參數(shù)。第二步,對計算獲得的原始的量化參數(shù)增加或減少預(yù)設(shè)的偏置值,獲得修正的量化參數(shù)。該修正的量化參數(shù)即為最終確定的量化參數(shù)。在根據(jù)上述方法確定了量化參數(shù)之后,采用上述修正的量化參數(shù)對當(dāng)前幀進(jìn)行編碼。具體地,在第一步中,根據(jù)碼率控制算法計算原始的量化參數(shù)時,可以根據(jù)現(xiàn)有的任何碼率控制算法計算。具體地,本發(fā)明實施例中可以采用的現(xiàn)有的碼率控制算法包括以下方法,但不限于以下方法通用視聽業(yè)務(wù)的先進(jìn)視頻編碼(Advanced Video Coding for GenericAudiovisual Services,即 H. 264)所采用的聯(lián)合視頻組(Joint Video Team,簡稱 JVT)的提案基于基本單兀層的自適應(yīng)碼率控制(Adaptive Basic Unit Layer Rate Control forJVT,即G012)、運動圖像專家組制定的標(biāo)準(zhǔn)2(Moving Picture Experts Group 2,簡稱MPEG2)所采用校驗?zāi)P?Test Model5,簡稱TM5)、低碼率視頻編碼標(biāo)準(zhǔn)(Video Coding for LowBit Rate Communication,即 H. 263)校驗?zāi)P?Test Model Near-Time 8,簡稱 TMN8)等等。在第二步中,對計算獲得的原始的量化參數(shù)增加或減少預(yù)設(shè)的偏置值,獲得修正的量化參數(shù)時,該預(yù)設(shè)的偏置值可以為一個固定值,該固定值可以根據(jù)圖像內(nèi)容、用戶需求以及當(dāng)前幀與前一幀的分辨率之差等實際情況靈活設(shè)置,一種較佳的實施方式是將該固定值的范圍設(shè)置在4至12之間。步驟204 以前一幀的分辨率對當(dāng)前幀進(jìn)行編碼。在本步驟中,具體的編碼過程中,采用的分辨率為前一幀的分辨率,編碼過程中的其它具體步驟和方法可以采用現(xiàn)有的任意編碼方法。例如,可以先根據(jù)前一幀的分辨率對當(dāng)前幀進(jìn)行采樣,然后再根據(jù)前一幀的分辨率對當(dāng)前幀進(jìn)行編碼。
在以前一幀的分辨率對當(dāng)前幀進(jìn)行編碼的過程中,可以根據(jù)現(xiàn)有的任何碼率控制算法計算量化參數(shù),然后采用上述量化參數(shù)對當(dāng)前幀進(jìn)行編碼。具體地,本發(fā)明實施例中可以采用的現(xiàn)有的碼率控制算法包括以下方法,但不限于以下方法通用視聽業(yè)務(wù)的先進(jìn)視頻編碼(Advanced Video Coding for Generic Audiovisual Services,即 H. 264)所米用的聯(lián)合視頻組(Joint Video Team,簡稱JVT)的提案基于基本單元層的自適應(yīng)碼率控制(Adaptive Basic Unit Layer Rate Control for JVT,即 G012)、運動圖像專家組制定的標(biāo)準(zhǔn) 2(Moving Picture Experts Group 2,簡稱 MPEG 2)所米用校驗?zāi)P?Test Model5,簡稱TM5)、低碼率視頻編碼標(biāo)準(zhǔn)(Video Coding for Low Bit Rate Communication,即 H. 263)校驗?zāi)P?Test Model Near-Time 8,簡稱 TMN8)。步驟205 :輸出當(dāng)前幀編碼后的碼流。步驟206 :判斷視頻是否結(jié)束。
如果是,結(jié)束流程,否則,返回執(zhí)行步驟201。在本發(fā)明實施例二中,立即刷新幀的設(shè)置采用預(yù)設(shè)的IDR幀判斷條件確定,該條件可以包括當(dāng)前幀與上一個IDR幀的間隔、當(dāng)前幀的圖像是否發(fā)生場景切換、當(dāng)前幀與前一幀的目標(biāo)碼率變化等因素。當(dāng)當(dāng)前幀滿足該條件時,從采樣分辨率和前一幀的分辨率中選擇最優(yōu)的分辨率進(jìn)行編碼。通過IDR幀判斷條件確定IDR幀,因為在每個IDR幀處進(jìn)行分辨率選擇,并且IDR幀判斷條件與受信道帶寬影響的編碼性能相關(guān),因此能夠及時地根據(jù)當(dāng)前信道狀況選擇最適合的分辨率,從而避免了采用固定分辨率導(dǎo)致的窄帶情況下的塊效應(yīng),提高了視頻編碼的質(zhì)量。并且,采用本發(fā)明實施例的視頻編碼方法,在IDR幀處進(jìn)行分辨率選擇,可以和現(xiàn)有標(biāo)準(zhǔn)兼容,現(xiàn)有的解碼器可以正確解碼本發(fā)明實施例所產(chǎn)生的碼流。并且,只有在IDR幀才進(jìn)行分辨率選擇,避免了過分頻繁的分辨率切換而導(dǎo)致的時域質(zhì)量的下降。圖3為本發(fā)明實施例三的視頻編碼方法中選擇最優(yōu)分辨率的步驟的流程圖。本發(fā)明實施例三的視頻編碼方法采用上述本發(fā)明實施例一或本發(fā)明實施例二記載的方法。在本發(fā)明實施例一的步驟102中以及本發(fā)明實施例二的步驟203中,均包括從至少一種采樣分辨率和當(dāng)前的原始分辨率中選擇具有最佳編碼性能的分辨率作為最優(yōu)分辨率的步驟。在本發(fā)明實施例三中,通過一種具體的實施方式,對上述從至少一種采樣分辨率和當(dāng)前幀的原始分辨率中選擇具有最佳編碼性能的分辨率作為最優(yōu)分辨率的步驟進(jìn)行詳細(xì)說明,該步驟包括如下過程。第一步,獲取至少一種采樣分辨率對應(yīng)的比較幀,并且,獲取當(dāng)前幀的原始分辨率對應(yīng)的比較幀。在本步驟中,獲取至少一種采樣分辨率對應(yīng)的比較幀與獲取當(dāng)前幀的原始分辨率對應(yīng)的比較幀的順序不做限制,可以同時執(zhí)行,也可以按照任意順序先后執(zhí)行。獲取至少一種采樣分辨率對應(yīng)的比較幀的具體方法為對當(dāng)前幀進(jìn)行至少一種分辨率下采樣,獲得至少一種采樣分辨率。采用每一種采樣分辨率對當(dāng)前幀進(jìn)行編碼并重建。對每一個重建后的幀進(jìn)行該幀對應(yīng)種類的分辨率上采樣,獲得每一種采樣分辨率對應(yīng)的比較幀。其中,至少一種采樣分辨率至少包括以下各項之一 1、水平采樣分辨率;2、垂直采樣分辨率;3、水平及垂直采樣分辨率。獲取當(dāng)前幀的原始分辨率對應(yīng)的比較幀的具體方法為采用當(dāng)前幀的原始分辨率對當(dāng)前幀進(jìn)行編碼并重建,獲得當(dāng)前幀的原始分辨率對應(yīng)的比較幀。第二步,計算當(dāng)前幀的原始分辨率和每一種采樣分辨率對應(yīng)的比較幀的編碼質(zhì)量或失真-代價函數(shù)值,或,獲取當(dāng)前幀的原始分辨率和每一種采樣分辨率對應(yīng)的比較幀的壓縮效率或碼率。第三步,從至少一種采樣分辨率和當(dāng)前幀的原始分辨率中選擇具有最佳編碼性能的分辨率作為最優(yōu)分辨率。在本發(fā)明實施例三中,米用一種優(yōu)選的實施方式。在該方式中,上述至少一種米樣分辨率同時包括上述三種采樣分辨率,即,本發(fā)明實施例三中的采樣分辨率包括水平采樣分辨率、垂直采樣分辨率以及水平及垂直采樣分辨率。如圖3所示,上述從采樣分辨率和當(dāng)前幀的原始分辨率中選擇最優(yōu)分辨率的步驟具體包括如下過程。步驟301 :采用當(dāng)前幀的原始分辨率對當(dāng)前幀進(jìn)行編碼。 步驟302 :對采用當(dāng)前幀的原始分辨率進(jìn)行編碼后的幀進(jìn)行重建,獲得當(dāng)前幀的原始分辨率對應(yīng)的比較幀。步驟303 :計算當(dāng)前幀的原始分辨率對應(yīng)的比較幀的編碼質(zhì)量或失真-代價函數(shù)值,或,獲取當(dāng)前幀的原始分辨率對應(yīng)的比較幀的壓縮效率或碼率。步驟311 :對當(dāng)前幀進(jìn)行水平分辨率下采樣,獲得水平采樣分辨率。步驟312 :采用水平采樣分辨率對當(dāng)前幀進(jìn)行編碼。步驟313 :對采用水平采樣分辨率進(jìn)行編碼后的幀進(jìn)行重建。步驟314 :對重建后的幀進(jìn)行水平分辨率上采樣,獲得水平采樣分辨率對應(yīng)的比較幀。步驟315 :計算水平采樣分辨率對應(yīng)的比較幀的編碼質(zhì)量或失真-代價函數(shù)值,或,獲取水平采樣分辨率對應(yīng)的比較幀的壓縮效率或碼率。步驟321 :對當(dāng)前幀進(jìn)行垂直分辨率下采樣,獲得垂直采樣分辨率。步驟322 :采用垂直采樣分辨率對當(dāng)前幀進(jìn)行編碼。步驟323 :對采用垂直采樣分辨率進(jìn)行編碼后的幀進(jìn)行重建。步驟324 :對重建后的幀進(jìn)行垂直分辨率上采樣,獲得垂直采樣分辨率對應(yīng)的比較幀。步驟325 :計算垂直采樣分辨率對應(yīng)的比較幀的編碼質(zhì)量或失真-代價函數(shù)值,或,獲取垂直采樣分辨率對應(yīng)的比較幀的壓縮效率或碼率。步驟331 :對當(dāng)前幀進(jìn)行水平及垂直分辨率下采樣,獲得水平及垂直采樣分辨率。步驟332 :采用水平及垂直采樣分辨率對當(dāng)前幀進(jìn)行編碼。步驟333 :對采用水平及垂直采樣分辨率進(jìn)行編碼后的幀進(jìn)行重建。步驟334 :對重建后的幀進(jìn)行水平及垂直分辨率上采樣,獲得水平及垂直采樣分辨率對應(yīng)的比較幀。步驟335 :計算水平及垂直采樣分辨率對應(yīng)的比較幀的編碼質(zhì)量或失真-代價函數(shù)值,或,獲取水平及垂直采樣分辨率對應(yīng)的比較幀的壓縮效率或碼率。上述步驟301至步驟303組成第一組步驟,上述步驟311至步驟315組成第二組步驟,上述步驟321至步驟325組成第三組步驟,上述步驟331至步驟335組成第四組步驟。在每一個組內(nèi),各個步驟之間的執(zhí)行順序如上所述。對于各個組之間的執(zhí)行順序不做限制,可以上述四組步驟同時執(zhí)行,也可以按照任意的先后順序執(zhí)行上述四組步驟,還可以在任意組的步驟的執(zhí)行過程中同時開始執(zhí)行其它組的步驟。在步驟303、步驟315、步驟325、步驟335均執(zhí)行完畢之后,執(zhí)行如下步驟341。步驟341 :從水平采樣分辨率、垂直采用分辨率、水平及垂直采樣分辨率和當(dāng)前幀的原始分辨率中,選擇具有最佳編碼性能的分辨率作為最優(yōu)分辨率。在本步驟中,可以采用多種依據(jù)選擇具有最佳編碼性能的分辨率。在本發(fā)明實施例三中,以多種選擇依據(jù)中的一種優(yōu)選的實施方式為例。由于在步驟302、步驟312、步驟322和步驟332中,采用現(xiàn)有的任意編碼方法,在編碼過程中能夠計算得到此次編碼的壓縮效率和碼率等參數(shù),因此,在本發(fā)明實施例三的選擇具有最佳編碼性能的分辨率的實施方式中,選擇依據(jù)可以為如下各項之一 1、選擇編碼質(zhì)量最高的比較幀對應(yīng)的分辨率;2、選 擇壓縮效率最高的比較幀對應(yīng)的分辨率;3、選擇碼率最低的比較幀對應(yīng)的分辨率;4、選擇失真-代價函數(shù)值最小的比較幀對應(yīng)的分辨率。在上述步驟303、步驟315、步驟325和步驟335中,在計算比較幀的編碼質(zhì)量時,可以采用如下方法之一,但不局限于以下方法,包括峰值信噪比(Peak Signal to NoiseRatio,簡稱PSNR)方法、平方差和(Square Sum of Difference,簡稱SSD)方法、結(jié)構(gòu)相似度評價(Sructual Similarity Index Measurement,簡稱SSIM)方法、由圖像質(zhì)量專家組(Video Quality Experts Group,簡稱 VQEG)提出的視頻質(zhì)量度量(Video QualityMetrics,簡稱 VQM)方法。在本實施例三中,在從采樣分辨率和當(dāng)前幀的原始分辨率中選擇最優(yōu)分辨率時,分別采用水平采樣分辨率、垂直采樣分辨率、水平及垂直采樣分辨率、當(dāng)前幀的原始分辨率這四種分辨率,對分別采用上述四種分辨率對當(dāng)前幀進(jìn)行編碼的效果進(jìn)行比較,選出最佳編碼性能的分辨率作為最優(yōu)分辨率。當(dāng)當(dāng)前幀滿足自適應(yīng)分辨率條件時,采用上述選出的最優(yōu)分辨率對當(dāng)前幀進(jìn)行編碼。通過對多種采樣分辨率和當(dāng)前幀的原始分辨率進(jìn)行比較,選擇編碼性能最優(yōu)的分辨率進(jìn)行實際編碼,從而最大限度地降低了塊效應(yīng)產(chǎn)生的可能性,提高了視頻編碼的質(zhì)量。圖4為本發(fā)明實施例四的視頻編碼方法中選擇最優(yōu)分辨率的步驟的流程圖。本發(fā)明實施例四的視頻編碼方法采用上述本發(fā)明實施例一或本發(fā)明實施例二記載的方法。在本發(fā)明實施例一的步驟101中以及本發(fā)明實施例二的步驟203中,均包括從至少一種采樣分辨率和當(dāng)前幀的原始分辨率中選擇具有最佳編碼性能的分辨率作為最優(yōu)分辨率的步驟。在本發(fā)明實施例四中,通過另一種具體的實施方式,對上述從至少一種采樣分辨率和當(dāng)前幀的原始分辨率中選擇具有最佳編碼性能的分辨率作為最優(yōu)分辨率的步驟進(jìn)行詳細(xì)說明,該步驟包括如下過程。第一步,獲取處理幀。在本步驟中,獲取處理幀,在選擇最優(yōu)分辨率的過程中的后續(xù)步驟中,均對此步驟獲取的該處理幀進(jìn)行操作。當(dāng)首次執(zhí)行獲取處理幀的步驟時,采用當(dāng)前幀作為處理幀。在對處理幀進(jìn)行水平分辨率下采樣或垂直分辨率下采樣之后執(zhí)行獲取處理幀的步驟時,以水平分辨率下采樣或垂直分辨率下采樣獲得的幀作為新的處理幀。第二步,獲取至少一種采樣分辨率對應(yīng)的比較幀,并且獲取處理幀的分辨率對應(yīng)的比較幀。
在本步驟中,獲取至少一種采樣分辨率對應(yīng)的比較幀與獲取處理幀的分辨率對應(yīng)的比較幀的順序不做限制,可以同時執(zhí)行,也可以按照任意順序先后執(zhí)行。獲取至少一種采樣分辨率對應(yīng)的比較幀的具體方法為對處理幀進(jìn)行至少一種分辨率下采樣,獲得至少一種采樣分辨率。采用每一種采樣分辨率對處理幀進(jìn)行編碼并重建。對每一個重建后的幀進(jìn)行該幀對應(yīng)種類的分辨率上采樣,獲得每一種采樣分辨率對應(yīng)的比較幀。其中,至少一種采樣分辨率至少包括以下各項之一 1、水平采樣分辨率;2、垂直采樣分辨率。獲取處理幀的分辨率對應(yīng)的比較幀的具體方法為采用處理幀的分辨率對處理幀進(jìn)行編碼并重建,獲得處理幀的分辨率對應(yīng)的比較幀。其中,當(dāng)采用當(dāng)前幀作為處理幀時,處理幀的分辨率為當(dāng)前幀的原始分辨率。第三步,計算處理幀的分辨率和每一種采樣分辨率對應(yīng)的比較幀的編碼質(zhì)量或失真-代價函數(shù)值,或,獲取當(dāng)前幀的原始分辨率和每一種采樣分辨率對應(yīng)的比較幀的壓縮效率或碼率。 第四步,從至少一種采樣分辨率和處理幀的分辨率中選擇具有最佳編碼性能的分辨率。如果具有最佳編碼性能的分辨率是一種采樣分辨率,對處理幀進(jìn)行該采樣分辨率下采樣,然后返回執(zhí)行第一步。如果具有最佳編碼性能的分辨率是處理幀的分辨率,則以該處理幀的分辨率作為最優(yōu)分辨率。在本發(fā)明實施例四中,米用一種優(yōu)選的實施方式。在該方式中,上述至少一種米樣分辨率同時包括上述兩種采樣分辨率,即,本發(fā)明實施例四中的采樣分辨率包括水平采樣分辨率和垂直采樣分辨率。如圖4所示,上述從采樣分辨率和當(dāng)前幀的原始分辨率中選擇最優(yōu)分辨率的步驟具體包括如下過程。步驟400 獲取處理幀。在為一個當(dāng)前幀選擇最優(yōu)分辨率的過程中,首先在步驟400中獲取處理幀,在為該當(dāng)前幀選擇最優(yōu)分辨率的后續(xù)步驟中,均對步驟400獲取的該處理幀進(jìn)行操作。其中,在為一個當(dāng)前幀選擇最優(yōu)分辨率的過程中,在首次執(zhí)行步驟400時,步驟400中采用該當(dāng)前幀作為處理幀。在非首次執(zhí)行步驟400時,在執(zhí)行了上一次循環(huán)處理的步驟442之后,返回執(zhí)行步驟400時,步驟400中以水平分辨率下采樣獲得的幀作為新的處理幀。在執(zhí)行了上一次循環(huán)處理的步驟443之后,返回執(zhí)行步驟400時,步驟400中以垂直分辨率下采樣獲得的幀作為新的處理幀。步驟401 :采用處理幀的分辨率對處理幀進(jìn)行編碼。其中,在為一個當(dāng)前幀選擇最優(yōu)分辨率的過程中,在首次執(zhí)行步驟401時,處理幀為當(dāng)前幀,在此情況下,處理幀的分辨率為當(dāng)前幀的原始分辨率。在首次執(zhí)行時,步驟401具體為采用當(dāng)前幀的原始分辨率對當(dāng)前幀進(jìn)行編碼。在非首次執(zhí)行步驟401時,處理幀為上一次循環(huán)處理中在步驟442中經(jīng)過水平分辨率下采樣獲得的幀或者在步驟443中經(jīng)過垂直分辨率下采樣獲得的幀,相應(yīng)地,此時步驟401中處理幀的分辨率為上一次循環(huán)處理中的水平采樣分辨率或垂直采樣分辨率。步驟402 :對采用處理幀的分辨率進(jìn)行編碼后的幀進(jìn)行重建,獲得處理幀的分辨率對應(yīng)的比較幀。
其中,在首次執(zhí)行步驟402時,對采用當(dāng)前幀的原始分辨率進(jìn)行編碼后的處理幀
進(jìn)行重建。步驟403 :計算處理幀的分辨率對應(yīng)的比較幀的編碼質(zhì)量或失真-代價函數(shù)值,或,獲取處理幀的分辨率和每一種采樣分辨率對應(yīng)的比較幀的壓縮效率或碼率。其中,在首次執(zhí)行步驟403時,計算當(dāng)前幀的原始分辨率對應(yīng)的比較幀的編碼質(zhì)量或失真-代價函數(shù)值。步驟411 :對處理幀進(jìn)行水平分辨率下采樣,獲得水平采樣分辨率。其中,在首次執(zhí)行步驟411時,對當(dāng)前幀進(jìn)行水平分辨率下采樣,獲得水平采樣分辨率。
步驟412 :采用水平采樣分辨率對處理幀進(jìn)行編碼。其中,在首次執(zhí)行步驟412時,采用水平采樣分辨率對當(dāng)前幀進(jìn)行編碼。步驟413 :對采用水平采樣分辨率進(jìn)行編碼后的幀進(jìn)行重建。在本步驟中,對步驟412中編碼后的幀進(jìn)行重建。步驟414:對重建后的幀進(jìn)行水平分辨率上采樣,獲得水平采樣分辨率對應(yīng)的比較幀。在本步驟中,對步驟413中重建后的幀進(jìn)行水平分辨率上采樣。步驟415 :計算水平采樣分辨率對應(yīng)的比較幀的編碼質(zhì)量或失真-代價函數(shù)值,或,獲取水平采樣分辨率對應(yīng)的比較幀的壓縮效率或碼率。步驟421 :對處理幀進(jìn)行垂直分辨率下采樣,獲得垂直采樣分辨率。其中,在首次執(zhí)行步驟421時,對當(dāng)前幀進(jìn)行垂直分辨率下采樣,獲得垂直采樣分辨率。步驟422 :采用垂直采樣分辨率對處理幀進(jìn)行編碼。其中,在首次執(zhí)行步驟422時,采用垂直采樣分辨率對當(dāng)前幀進(jìn)行編碼。步驟423 :對采用垂直采樣分辨率進(jìn)行編碼后的幀進(jìn)行重建。在本步驟中,對步驟422中編碼后的幀進(jìn)行重建。步驟424:對重建后的幀進(jìn)行垂直分辨率上采樣,獲得垂直采樣分辨率對應(yīng)的比較幀。在本步驟中,對步驟423中重建后的幀進(jìn)行垂直分辨率上采樣。步驟425 :計算垂直采樣分辨率對應(yīng)的比較幀的編碼質(zhì)量或失真-代價函數(shù)值,或,獲取垂直采樣分辨率對應(yīng)的比較幀的壓縮效率或碼率。上述步驟401至步驟403組成第一組步驟,上述步驟411至步驟415組成第二組步驟,上述步驟421至步驟425組成第三組步驟。在每一個組內(nèi),各個步驟之間的執(zhí)行順序如上所述。對于各個組之間的執(zhí)行順序不做限制,可以上述三組步驟同時執(zhí)行,也可以按照任意的先后順序執(zhí)行上述三組步驟,還可以在任意組的步驟的執(zhí)行過程中同時開始執(zhí)行其它組的步驟。在步驟403、步驟415、步驟425均執(zhí)行完畢之后,執(zhí)行如下步驟441。步驟441 :從水平采樣分辨率、垂直采樣分辨率和處理幀的分辨率中,選擇具有最佳編碼性能的分辨率。在步驟441中,具有最佳編碼性能的分辨率的選擇依據(jù)與本發(fā)明實施例三的步驟341相同,在此不再贅述。 在首次執(zhí)行步驟441時,處理幀的分辨率為當(dāng)前幀的原始分辨率。如果步驟441選擇為水平采樣分辨率,執(zhí)行步驟442 ;如果步驟441選擇為垂直采樣分辨率,執(zhí)行步驟443 ;如果步驟441選擇為處理幀的分辨率,執(zhí)行步驟444。步驟442 :對處理幀進(jìn)行水平分辨率下采樣。在步驟442之后,返回執(zhí)行步驟400進(jìn)行下一次循環(huán)處理,在下一次循環(huán)處理的步驟400中,以水平分辨率下采樣獲得的幀作為新的處理幀。其中,在首次執(zhí)行步驟442時,對當(dāng)前幀進(jìn)行水平分辨率下采樣,然后返回執(zhí)行步驟400進(jìn)行第二次循環(huán)處理,在第二次循環(huán)處理的步驟400中,以第一次循環(huán)處理中水平分辨率下采樣獲得的幀作為新的處理幀,如果第二次循環(huán)處理的步驟441仍舊選擇為水平采樣分辨率,則繼續(xù)執(zhí)行步驟442后返回執(zhí)行步驟400進(jìn)行第三次循環(huán)處理,在第三次循環(huán)處理的步驟400中,以第二次循環(huán)處理中水平分辨率下采樣獲得的幀作為新的處理幀,以此類推。步驟443 :對處理幀進(jìn)行垂直分辨率下采樣。在步驟443之后,返回執(zhí)行步驟400進(jìn)行下一次循環(huán)處理,在下一次循環(huán)處理的步驟400中,以垂直分辨率下采樣獲得的幀作為新的處理幀。其中,在首次執(zhí)行步驟443時,對當(dāng)前幀進(jìn)行垂直分辨率下采樣,然后返回執(zhí)行步驟400進(jìn)行第二次循環(huán)處理,在第二次循環(huán)處理的步驟400中,以第一次循環(huán)處理中垂直分辨率下采樣獲得的幀作為新的處理幀,如果第二次循環(huán)處理的步驟441仍舊選擇為垂直采樣分辨率,則繼續(xù)執(zhí)行步驟443后返回執(zhí)行步驟400進(jìn)行第三次循環(huán)處理,在第三次循環(huán)處理的步驟400中,以第二次循環(huán)處理中垂直分辨率下采樣獲得的幀作為新的處理幀,以此類推,直到在某一次循環(huán)處理中步驟441選擇為處理幀的分辨率,則進(jìn)入步驟444。步驟444 以該處理幀的分辨率作為最優(yōu)分辨率。其中,如果首次循環(huán)處理中步驟441選擇為處理幀的分辨率,則步驟444以當(dāng)前幀的原始分辨率作為最優(yōu)分辨率。對于非首次循環(huán)處理的情況,步驟444以該次循環(huán)處理的處理幀的分辨率作為最優(yōu)分辨率。在本實施例四中,在從采樣分辨率和當(dāng)前幀的原始分辨率中為當(dāng)前幀選擇最優(yōu)分辨率時,采用循環(huán)比較的方式,在第一次循環(huán)處理中,以當(dāng)前幀作為處理幀,分別采用水平采樣分辨率、垂直采樣分辨率、當(dāng)前幀的原始分辨率這三種分辨率,對分別采用上述三種分辨率對當(dāng)前幀進(jìn)行編碼的效果進(jìn)行比較,選出最佳編碼性能的分辨率。如果最佳編碼性能的分辨率為作為當(dāng)前幀的原始分辨率,則以該分辨率作為最優(yōu)分辨率。如果最佳編碼性能的分辨率為水平采樣分辨率或垂直采樣分辨率,則對當(dāng)前幀進(jìn)行水平或垂直采樣后,以采樣后的幀作為新的處理幀開始第二次循環(huán)處理,分別采用水平采樣分辨率、垂直采樣分辨率、處理幀的分辨率這三種分辨率,對分別采用上述三種分辨率對當(dāng)前幀進(jìn)行編碼的效果進(jìn)行比較,選出最佳編碼性能的分辨率。如果最佳編碼性能的分辨率為處理幀的分辨率,則以該分辨率作為最優(yōu)分辨率。如果最佳編碼性能的分辨率為水平采樣分辨率或垂直采樣分辨率,則對該處理幀進(jìn)行水平或垂直采樣后,以采樣后的幀作為新的處理幀開始第三次循環(huán)處理。如此循環(huán),直到在某一次循環(huán)處理中最佳編碼性能的分辨率為處理幀的分辨率,則選擇該分辨率作為最優(yōu)分辨率。從而通過循環(huán)比較的方式為當(dāng)前幀選擇最優(yōu)分辨率,當(dāng)當(dāng)前幀滿足自適應(yīng)分辨率條件時,采用上述選出的最優(yōu)分辨率對當(dāng)前幀進(jìn)行編碼,從而最大限度地降低了塊效應(yīng)產(chǎn)生的可能性,提高了視頻編碼的質(zhì)量。圖5為本發(fā)明實施例五的視頻編碼器的結(jié)構(gòu)示意圖。如圖5所示,該視頻編碼器至少包括判斷單元51、分辨率選擇單元52和編碼單元53。其中,判斷單元51用于判斷當(dāng)前幀是否適應(yīng)當(dāng)前信道帶寬,如果是,判斷當(dāng)前幀不是立即刷新IDR幀,否則,判斷當(dāng)前幀是IDR幀。分辨率選擇單元52用于當(dāng)當(dāng)前幀是IDR幀時,從至少一種采樣分辨率和當(dāng)前幀的原始分辨率中選擇具有最佳編碼性能的分辨率作為最優(yōu)分辨率。編碼單元53用于當(dāng)當(dāng)前幀是IDR幀時,以最優(yōu)分辨率對當(dāng)前幀進(jìn)行編碼,當(dāng)當(dāng)前幀不是IDR幀時,以前一幀的分辨率對當(dāng)前幀進(jìn)行編碼。上述判斷單元51、分辨率選擇單元52和編碼單元53可以采用電子器件組成電路模塊的硬件方式實現(xiàn),也可以采用算法程序模塊的軟件方式實現(xiàn),或者采用上述硬件方式與軟件方式相結(jié)合來實現(xiàn)。在上述判斷單元51、分辨率選擇單元52和編碼單元53的基礎(chǔ) 上,該視頻編碼器還可以包括與現(xiàn)有的視頻編碼器相同或類似的其它單元,在此不再贅述。在上述技術(shù)方案的基礎(chǔ)上,判斷單元51具體用于至少根據(jù)以下各項之一進(jìn)行判斷如果當(dāng)前幀的幀號與上一個IDR幀的幀號超過預(yù)設(shè)的GOP最大間隔,判斷單元51判斷當(dāng)前幀不適應(yīng)當(dāng)前信道帶寬,否則,判斷當(dāng)前幀適應(yīng)當(dāng)前信道帶寬;如果檢測到當(dāng)前幀的圖像相對前一幀的圖像發(fā)生場景切換,判斷單元51判斷當(dāng)前幀不適應(yīng)當(dāng)前信道帶寬,否則,判斷當(dāng)前幀適應(yīng)當(dāng)前信道帶寬;如果與前一幀相比,當(dāng)前幀的目標(biāo)碼率的變化超過設(shè)定的目標(biāo)碼率閾值,判斷單元51判斷當(dāng)前幀不適應(yīng)當(dāng)前信道帶寬,否則,判斷當(dāng)前幀適應(yīng)當(dāng)前信道帶寬。在上述技術(shù)方案的基礎(chǔ)上,編碼單元53可以采用現(xiàn)有的任意的編碼單元,只要在編碼的分辨率采用最優(yōu)分辨率或前一幀的分辨率中適用的分辨率即可。例如,編碼單元53具體可以先根據(jù)適用的分辨率對當(dāng)前幀進(jìn)行采樣,然后再根據(jù)該適用的分辨率對當(dāng)前幀進(jìn)行編碼。在上述技術(shù)方案的基礎(chǔ)上,編碼單元53具體用于當(dāng)當(dāng)前幀是IDR幀時,根據(jù)碼率控制算法計算原始的量化參數(shù);對原始的量化參數(shù)增加或減少預(yù)設(shè)的偏置值,獲得修正的量化參數(shù);采用修正的量化參數(shù)對當(dāng)前幀進(jìn)行編碼。編碼單元53采用的具體的碼率控制算法可以參見本發(fā)明實施例二中步驟203中記載的多種方法。編碼單元53采用的預(yù)設(shè)的偏置值可以為一個固定值,該固定值可以根據(jù)圖像內(nèi)容、用戶需求以及當(dāng)前幀與前一幀的分辨率之差等實際情況靈活設(shè)置,一種較佳的實施方式是編碼單元53采用的固定值的范圍在4至12之間。編碼單元53還具體用于當(dāng)當(dāng)前幀不是IDR幀時,根據(jù)碼率控制算法計算量化參數(shù),采用量化參數(shù)對當(dāng)前幀進(jìn)行編碼。編碼單元53采用的具體的碼率控制算法可以參見本發(fā)明實施例二中步驟203中記載的多種方法。在本發(fā)明實施例五中,在判斷單元中判斷當(dāng)前幀是否適應(yīng)當(dāng)前信道帶寬,如果當(dāng)前幀不滿足當(dāng)前信道帶寬,則將當(dāng)前幀設(shè)為IDR幀,分辨率選擇單元從采樣分辨率和當(dāng)前幀的原始分辨率中選擇最優(yōu)的分辨率提供給編碼單元進(jìn)行編碼,如果當(dāng)前幀滿足當(dāng)前信道帶寬,則編碼單元以前一幀的分辨率進(jìn)行編碼。判斷單元通過IDR幀判斷條件確定IDR幀,并且IDR幀判斷條件與受信道帶寬影響的編碼性能相關(guān),分辨率選擇單元在每個IDR幀處進(jìn)行分辨率選擇,因此能夠及時根據(jù)當(dāng)前信道狀況選擇最適合的分辨率,從而避免了采用固定分辨率導(dǎo)致的窄帶情況下的塊效應(yīng),從而提高了視頻編碼的質(zhì)量。圖6為本發(fā)明實施例六的視頻編碼器的結(jié)構(gòu)示意圖。該視頻編碼器的組成結(jié)構(gòu)與本發(fā)明實施例五相同,即,該視頻編碼器包括判斷單元51、分辨率選擇單元52和編碼單元53。進(jìn)一步地,在本發(fā)明實施例六中,分辨率選擇單元52具體包括比較幀子單元61、編碼性能子單元62和選擇子單元63。其中,比較幀子單元61用于獲取至少一種采樣分辨率對應(yīng)的比較幀和當(dāng)前幀的原始分辨率對應(yīng)的比較幀。編碼性能子單元62用于計算當(dāng)前幀的原始分辨率和每一種采樣分辨率對應(yīng)的比較幀的編碼質(zhì)量或失真-代價函數(shù)值,或,獲取當(dāng)前幀的原始分辨率和每一種采樣分辨率對應(yīng)的比較幀的壓縮效率或碼率。選擇子單元63用于從至少一種采樣分辨率和當(dāng)前幀的原始分辨率中,選擇編碼質(zhì)量最高的、或壓縮效率最高的、或碼率最低的、或失真-代價函數(shù)值最小的比較幀對應(yīng)的分辨率作為最優(yōu)分辨率。具體地,比較幀子單元61包括采樣模塊611、編碼與重建模塊612和采樣恢復(fù)模 塊613。其中,采樣模塊611用于對當(dāng)前幀進(jìn)行至少一種分辨率下采樣,獲得至少一種采樣分辨率。其中,至少一種采樣分辨率至少包括以下各項之一水平采樣分辨率;垂直采樣分辨率;水平及垂直采樣分辨率。編碼與重建模塊612用于采用每一種采樣分辨率對當(dāng)前幀進(jìn)行編碼并重建,并且,還用于采用當(dāng)前幀的原始分辨率對當(dāng)前幀進(jìn)行編碼并重建,獲得當(dāng)前幀的原始分辨率對應(yīng)的比較幀。采樣恢復(fù)模塊613用于對每一個重建后的幀進(jìn)行該幀對應(yīng)種類的分辨率上采樣,獲得每一種采樣分辨率對應(yīng)的比較幀。具體地,選擇子單元63在從至少一種采樣分辨率和當(dāng)前幀的原始分辨率中選擇具有最佳編碼性能的分辨率時,選擇編碼質(zhì)量最高的分辨率,或者,選擇壓縮效率最高的分辨率,或者,選擇碼率最低的分辨率,或者,選擇失真-代價函數(shù)值最小的分辨率。在本發(fā)明實施例六中,在分辨率選擇單兀從米樣分辨率和當(dāng)前巾貞的原始分辨率中選擇最優(yōu)分辨率時,比較幀子單元分別獲得水平采樣分辨率、垂直采樣分辨率、水平及垂直采樣分辨率、當(dāng)前幀的原始分辨率這四種分辨率的比較幀,編碼性能子單元對分別采用上述四種分辨率對當(dāng)前幀進(jìn)行編碼的效果進(jìn)行計算,選擇子單元選出最佳編碼性能的分辨率作為最優(yōu)分辨率。當(dāng)當(dāng)前幀滿足自適應(yīng)分辨率條件時,采用上述選出的最優(yōu)分辨率對當(dāng)前幀進(jìn)行編碼。通過對多種采樣分辨率和當(dāng)前幀的原始分辨率進(jìn)行比較,選擇編碼性能最優(yōu)的分辨率進(jìn)行實際編碼,從而最大限度地降低了塊效應(yīng)產(chǎn)生的可能性,提高了視頻編碼的質(zhì)量。圖7為本發(fā)明實施例七的視頻編碼器的結(jié)構(gòu)示意圖。該視頻編碼器的組成結(jié)構(gòu)與本發(fā)明實施例五相同,即,該視頻編碼器包括判斷單元51、分辨率選擇單元52和編碼單元53。進(jìn)一步地,在本發(fā)明實施例七中,分辨率選擇單元52包括處理幀子單元70、比較幀子單元71、編碼性能子單元72和選擇子單元73。其中,處理幀子單元70用于獲取處理幀。比較幀子單元71用于獲取至少一種采樣分辨率對應(yīng)的比較幀和處理幀的分辨率對應(yīng)的比較幀。編碼性能子單元72用于計算處理幀的分辨率和每一種采樣分辨率對應(yīng)的比較幀的編碼質(zhì)量或失真-代價函數(shù)值,或,獲取處理幀的分辨率和每一種采樣分辨率對應(yīng)的比較幀的壓縮效率或碼率。選擇子單元73用于從至少一種采樣分辨率和處理幀的分辨率中選擇編碼質(zhì)量最高的、或壓縮效率最高的、或碼率最低的、或失真-代價函數(shù)值最小的比較幀對應(yīng)的分辨率。如果選擇的分辨率是一種采樣分辨率,選擇子單元73對處理幀進(jìn)行該采樣分辨率下采樣后傳送給處理幀子單元70。如果選擇的分辨率是處理幀的分辨率,選擇子單元73以該處理幀的分辨率作為最優(yōu)分辨率。具體地,處理幀子單元70具體用于在首次獲取處理幀時,采用當(dāng)前幀作為處理幀,處理幀子單元70還具體用于在接收來自選擇子單元73的下采樣獲得的幀后,以下采樣獲得的幀作為新的處理幀。具體地,比較幀子單元71包括采樣模塊711、編碼與重建模塊712和采樣恢復(fù)模塊 713。
其中,采樣模塊711用于對處理幀進(jìn)行至少一種分辨率下采樣,獲得至少一種采樣分辨率。其中,至少一種采樣分辨率至少包括以下各項之一水平采樣分辨率;垂直采樣分辨率。編碼與重建模塊712用于采用每一種采樣分辨率對處理幀進(jìn)行編碼并重建,并且,編碼與重建模塊712還用于采用處理幀的分辨率對處理幀進(jìn)行編碼并重建,獲得處理幀的分辨率對應(yīng)的比較幀。采樣恢復(fù)模塊713用于對每一個重建后的幀進(jìn)行該幀對應(yīng)種類的分辨率上采樣,獲得每一種采樣分辨率對應(yīng)的比較幀。具體地,選擇子單元73在從至少一種采樣分辨率和處理幀的分辨率中選擇具有最佳編碼性能的分辨率時,選擇編碼質(zhì)量最高的分辨率,或者,選擇壓縮效率最高的分辨率,或者,選擇碼率最低的分辨率,或者,選擇失真-代價函數(shù)值最小的分辨率。在本發(fā)明實施例七中,在分辨率選擇單兀從米樣分辨率和當(dāng)前巾貞的原始分辨率中為當(dāng)前幀選擇最優(yōu)分辨率時,采用循環(huán)比較的方式,在第一次循環(huán)處理中,處理幀子單元以當(dāng)前幀作為處理幀,比較幀子單元分別獲取水平采樣分辨率、垂直采樣分辨率、當(dāng)前幀的原始分辨率這三種分辨率的比較幀,編碼性能子單元對分別采用上述三種分辨率對當(dāng)前幀進(jìn)行編碼的效果進(jìn)行計算,選擇子單元選出最佳編碼性能的分辨率。如果最佳編碼性能的分辨率為作為當(dāng)前幀的原始分辨率,則選擇子單元以該分辨率作為最優(yōu)分辨率。如果最佳編碼性能的分辨率為水平采樣分辨率或垂直采樣分辨率,則選擇子單元對當(dāng)前幀進(jìn)行水平或垂直采樣后返回處理幀子單元,處理幀子單元以采樣后的幀作為新的處理幀開始第二次循環(huán)處理,比較幀子單元分別采用水平采樣分辨率、垂直采樣分辨率、處理幀的分辨率這三種分辨率獲取處理幀,編碼性能子單元對分別采用上述三種分辨率對當(dāng)前幀進(jìn)行編碼的效果進(jìn)行計算,選擇子單元選出最佳編碼性能的分辨率。如果最佳編碼性能的分辨率為處理幀的分辨率,則選擇子單元以該分辨率作為最優(yōu)分辨率。如果最佳編碼性能的分辨率為水平采樣分辨率或垂直采樣分辨率,則對該處理幀進(jìn)行水平或垂直采樣后,以采樣后的幀作為新的處理幀開始第三次循環(huán)處理。如此循環(huán),直到在某一次循環(huán)處理中最佳編碼性能的分辨率為處理幀的分辨率,則選擇該分辨率作為最優(yōu)分辨率。從而通過循環(huán)比較的方式為當(dāng)前幀選擇最優(yōu)分辨率,當(dāng)當(dāng)前幀滿足自適應(yīng)分辨率條件時,采用上述選出的最優(yōu)分辨率對當(dāng)前幀進(jìn)行編碼,從而最大限度地降低了塊效應(yīng)產(chǎn)生的可能性,提高了視頻編碼的質(zhì)量。上述本發(fā)明實施例一至本發(fā)明實施例四中的視頻編碼方法,以及本發(fā)明實施例五至本發(fā)明實施例七中的視頻編碼器,應(yīng)用于基于包括整數(shù)離散余弦變換(Discrete CosineTransform,簡稱DCT)的分塊離散余弦變換及預(yù)測編碼相結(jié)合的視頻編碼方法,適用于目前常用的視頻編碼標(biāo)準(zhǔn),如運動圖像專家組(Moving Picture Experts Group,簡稱MPEG)制定的版本MPEG1、MPEG2、MPEG4,聯(lián)合視頻組(Joint Video Team,簡稱JVT)提出的數(shù)字視頻編解碼器標(biāo)準(zhǔn)(Advanced Video Coding簡稱H. 26x/AVC),及由我國具備自主知識產(chǎn)權(quán)的數(shù)字音視頻編解碼技術(shù)標(biāo)準(zhǔn)(Advanced Coding of Audio and Video,簡稱AVS)等視頻編碼標(biāo)準(zhǔn)。上述本發(fā)明實施例一 至本發(fā)明實施例四中的視頻編碼方法以及本發(fā)明實施例五至本發(fā)明實施例七中的視頻編碼器中的上采樣方法和下采樣方法可以預(yù)先設(shè)定。例如下采樣方法可采用聯(lián)合視頻組(Joint Video Team,簡稱JVT)標(biāo)準(zhǔn)中推薦的5抽頭濾波器,濾波系數(shù)為-1/8,2/8,6/8,2/8,-1/8 ;上采樣方法采用H. 264標(biāo)準(zhǔn)中1/2像素內(nèi)插方法,SP,采用一個6抽頭濾波器,濾波系數(shù)為1/32,-5/32,20/32,20/32,-5/32,1/32。以上僅為上采樣方法和下采樣方法的一個具體實例,在實際應(yīng)用中還可以采用任何其它的上采樣方法和下采樣方法,不限于上述方法。需要說明的是對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。在上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括隨機存取記憶體(Random Access Memory,簡稱 RAM)、唯讀記憶體(Read Only Memroy,簡稱 ROM)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。參見圖8,為本發(fā)明實施例八視頻編碼硬件實現(xiàn)原理圖,包括處理器(如CPU)、存儲器、接口單元等器件,其中,處理器用于實現(xiàn)上述各實施例中的相關(guān)方法,或者相關(guān)功能單元(如判斷單元、分辨率選擇單元等);存儲器用于存放處理器運行所需的數(shù)據(jù)或其他數(shù)據(jù);接口單元用于在各個硬件之間提供相應(yīng)的接口進(jìn)行連接。最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種視頻編碼方法,其特征在于,包括 判斷當(dāng)前幀是否適應(yīng)當(dāng)前信道帶寬,如果是,判斷當(dāng)前幀不是立即刷新IDR幀,否則,判斷當(dāng)前幀是IDR幀; 當(dāng)當(dāng)前幀是IDR幀時,從至少一種采樣分辨率和當(dāng)前幀的原始分辨率中選擇具有最佳編碼性能的分辨率作為最優(yōu)分辨率,以所述最優(yōu)分辨率對當(dāng)前幀進(jìn)行編碼; 當(dāng)當(dāng)前幀不是IDR幀時,以前一幀的分辨率對當(dāng)前幀進(jìn)行編碼。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述判斷當(dāng)前幀是否適應(yīng)當(dāng)前信道帶寬包括 如果當(dāng)前幀的幀號與上一個IDR幀的幀號超過預(yù)設(shè)的圖像組GOP最大間隔,則判斷當(dāng)前幀不適應(yīng)當(dāng)前信道帶寬,否則,判斷當(dāng)前幀適應(yīng)當(dāng)前信道帶寬; 或者,如果檢測到當(dāng)前幀的圖像相對前一幀的圖像發(fā)生場景切換,則判斷當(dāng)前幀不適應(yīng)當(dāng)前信道帶寬,否則,判斷當(dāng)前幀適應(yīng)當(dāng)前信道帶寬; 或者,如果與前一幀相比,當(dāng)前幀的目標(biāo)碼率的變化超過設(shè)定的目標(biāo)碼率閾值,則判斷當(dāng)前幀不適應(yīng)當(dāng)前信道帶寬,否則,判斷當(dāng)前幀適應(yīng)當(dāng)前信道帶寬。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述從至少一種采樣分辨率和當(dāng)前幀的原始分辨率中選擇具有最佳編碼性能的分辨率作為最優(yōu)分辨率包括 獲取至少一種采樣分辨率對應(yīng)的比較幀; 獲取當(dāng)前幀的原始分辨率對應(yīng)的比較幀; 計算當(dāng)前幀的原始分辨率和每一種采樣分辨率對應(yīng)的比較幀的編碼質(zhì)量或失真-代價函數(shù)值,或,獲取當(dāng)前幀的原始分辨率和每一種采樣分辨率對應(yīng)的比較幀的壓縮效率或碼率; 從所述至少一種采樣分辨率和所述當(dāng)前幀的原始分辨率中,選擇編碼質(zhì)量最高的、或壓縮效率最高的、或碼率最低的、或失真-代價函數(shù)值最小的比較幀對應(yīng)的分辨率作為最優(yōu)分辨率。
4.根據(jù)權(quán)利要求3中任意一項所述的方法,其特征在于, 所述獲取至少一種采樣分辨率對應(yīng)的比較幀包括對當(dāng)前幀進(jìn)行至少一種分辨率下采樣,獲得至少一種采樣分辨率;采用每一種采樣分辨率對當(dāng)前幀進(jìn)行編碼并重建;對每一個重建后的幀進(jìn)行該幀對應(yīng)種類的分辨率上采樣,獲得每一種采樣分辨率對應(yīng)的比較幀;其中,所述至少一種采樣分辨率至少包括以下各項之一水平采樣分辨率;垂直采樣分辨率;水平及垂直采樣分辨率; 所述獲取當(dāng)前幀的原始分辨率對應(yīng)的比較幀包括采用當(dāng)前幀的原始分辨率對當(dāng)前幀進(jìn)行編碼并重建,獲得當(dāng)前幀的原始分辨率對應(yīng)的比較幀。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述從至少一種采樣分辨率和當(dāng)前幀的原始分辨率中選擇具有最佳編碼性能的分辨率作為最優(yōu)分辨率包括 獲取處理幀; 獲取至少一種采樣分辨率對應(yīng)的比較幀; 獲取處理幀的分辨率對應(yīng)的比較幀; 計算處理幀的分辨率和每一種采樣分辨率對應(yīng)的比較幀的編碼質(zhì)量或失真-代價函數(shù)值,或,獲取處理幀的分辨率和每一種采樣分辨率對應(yīng)的比較幀的壓縮效率或碼率;從所述至少一種采樣分辨率和所述處理幀的分辨率中,選擇編碼質(zhì)量最高的、或壓縮效率最高的、或碼率最低的、或失真-代價函數(shù)值最小的比較幀對應(yīng)的分辨率; 如果選擇的分辨率是一種采樣分辨率,對所述處理幀進(jìn)行該采樣分辨率下采樣,返回執(zhí)行所述獲取處理幀的步驟; 如果選擇的分辨率是處理幀的分辨率,以該處理幀的分辨率作為所述最優(yōu)分辨率。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于, 所述獲取處理幀包括當(dāng)首次執(zhí)行獲取處理幀的步驟時,采用當(dāng)前幀作為處理幀;在對所述處理幀進(jìn)行該采樣分辨率下采樣之后執(zhí)行獲取處理幀的步驟時,以所述下采樣獲得的幀作為新的處理幀; 當(dāng)采用當(dāng)前幀作為處理幀時,所述處理幀的分辨率為當(dāng)前幀的原始分辨率。
7.根據(jù)權(quán)利要求5或6所述的方法,其特征在于, 所述獲取至少一種采樣分辨率對應(yīng)的比較幀包括對處理幀進(jìn)行至少一種分辨率下采樣,獲得至少一種采樣分辨率;采用每一種采樣分辨率對處理幀進(jìn)行編碼并重建;對每一個重建后的幀進(jìn)行該幀對應(yīng)種類的分辨率上采樣,獲得每一種采樣分辨率對應(yīng)的比較幀;其中,所述至少一種采樣分辨率至少包括以下各項之一水平采樣分辨率;垂直采樣分辨率; 所述獲取處理幀的分辨率對應(yīng)的比較幀包括采用處理幀的分辨率對處理幀進(jìn)行編碼并重建,獲得處理幀的分辨率對應(yīng)的比較幀。
8.根據(jù)權(quán)利要求I或2所述的方法,其特征在于,所述以所述最優(yōu)分辨率對當(dāng)前幀進(jìn)行編碼包括 根據(jù)碼率控制算法計算原始的量化參數(shù); 對所述原始的量化參數(shù)增加或減少預(yù)設(shè)的偏置值,獲得修正的量化參數(shù); 采用所述修正的量化參數(shù)對當(dāng)前幀進(jìn)行編碼。
9.一種視頻編碼器,其特征在于,包括 判斷單元,用于判斷當(dāng)前幀是否適應(yīng)當(dāng)前信道帶寬,如果是,判斷當(dāng)前幀不是立即刷新IDR幀,否則,判斷當(dāng)前幀是IDR幀; 分辨率選擇單元,用于當(dāng)當(dāng)前幀是IDR幀時,從至少一種采樣分辨率和當(dāng)前幀的原始分辨率中選擇具有最佳編碼性能的分辨率作為最優(yōu)分辨率; 編碼單元,用于當(dāng)當(dāng)前幀是IDR幀時,以所述最優(yōu)分辨率對當(dāng)前幀進(jìn)行編碼;當(dāng)當(dāng)前幀不是IDR幀時,以前一幀的分辨率對當(dāng)前幀進(jìn)行編碼。
10.根據(jù)權(quán)利要求9所述的視頻編碼器,其特征在于, 所述判斷單元具體用于在當(dāng)前幀的幀號與上一個IDR幀的幀號超過預(yù)設(shè)的圖像組GOP最大間隔時,判斷當(dāng)前幀不適應(yīng)當(dāng)前信道帶寬,否則,判斷當(dāng)前幀適應(yīng)當(dāng)前信道帶寬; 或,所述判斷單元具體用于在檢測到當(dāng)前幀的圖像相對前一幀的圖像發(fā)生場景切換時,判斷當(dāng)前幀不適應(yīng)當(dāng)前信道帶寬,否則,判斷當(dāng)前幀適應(yīng)當(dāng)前信道帶寬; 或,所述判斷單元具體用于在與前一幀相比,當(dāng)前幀的目標(biāo)碼率的變化超過設(shè)定的目標(biāo)碼率閾值時,判斷當(dāng)前幀不適應(yīng)當(dāng)前信道帶寬,否則,判斷當(dāng)前幀適應(yīng)當(dāng)前信道帶寬。
11.根據(jù)權(quán)利要求9所述的視頻編碼器,其特征在于,所述分辨率選擇單元包括 比較幀子單元,用于獲取至少一種采樣分辨率對應(yīng)的比較幀和當(dāng)前幀的原始分辨率對應(yīng)的比較幀; 編碼性能子單元,用于計算當(dāng)前幀的原始分辨率和每一種采樣分辨率對應(yīng)的比較幀的編碼質(zhì)量或失真-代價函數(shù)值,或,獲取當(dāng)前幀的原始分辨率和每一種采樣分辨率對應(yīng)的比較幀的壓縮效率或碼率; 選擇子單元,用于從所述至少一種采樣分辨率和所述當(dāng)前幀的原始分辨率中,選擇編碼質(zhì)量最高的、或壓縮效率最高的、或碼率最低的、或失真-代價函數(shù)值最小的比較幀對應(yīng)的分辨率作為最優(yōu)分辨率。
12.根據(jù)權(quán)利要求11所述的視頻編碼器,其特征在于,所述比較幀子單元包括 采樣模塊,用于對當(dāng)前幀進(jìn)行至少一種分辨率下采樣,獲得至少一種采樣分辨率;所述至少一種采樣分辨率至少包括以下各項之一水平采樣分辨率;垂直采樣分辨率;水平及垂直采樣分辨率; 編碼與重建模塊,用于采用每一種采樣分辨率對當(dāng)前幀進(jìn)行編碼并重建;采用當(dāng)前幀的原始分辨率對當(dāng)前幀進(jìn)行編碼并重建,獲得當(dāng)前幀的原始分辨率對應(yīng)的比較幀; 采樣恢復(fù)模塊,用于對每一個重建后的幀進(jìn)行該幀對應(yīng)種類的分辨率上采樣,獲得每一種采樣分辨率對應(yīng)的比較幀。
13.根據(jù)權(quán)利要求9所述的視頻編碼器,其特征在于,所述分辨率選擇單元包括 處理幀子單元,用于獲取處理幀; 比較幀子單元,用于獲取至少一種采樣分辨率對應(yīng)的比較幀和處理幀的分辨率對應(yīng)的比較幀; 編碼性能子單元,用于計算處理幀的分辨率和每一種采樣分辨率對應(yīng)的比較幀的編碼質(zhì)量或失真-代價函數(shù)值,或,獲取處理幀的分辨率和每一種采樣分辨率對應(yīng)的比較幀的壓縮效率或碼率; 選擇子單元,用于從所述至少一種采樣分辨率和所述處理幀的分辨率中,選擇編碼質(zhì)量最高的、或壓縮效率最高的、或碼率最低的、或失真-代價函數(shù)值最小的比較幀對應(yīng)的分辨率;如果選擇的分辨率是一種采樣分辨率,對所述處理幀進(jìn)行該采樣分辨率下采樣后傳送給所述處理幀子單元;如果選擇的分辨率是處理幀的分辨率,以該處理幀的分辨率作為所述最優(yōu)分辨率。
14.根據(jù)權(quán)利要求13所述的視頻編碼器,其特征在于, 所述處理幀子單元具體用于在首次獲取處理幀時,采用當(dāng)前幀作為處理幀;在接收來自所述選擇子單元的下采樣獲得的幀后,以所述下采樣獲得的幀作為新的處理幀。
15.根據(jù)權(quán)利要求13或14所述的視頻編碼器,其特征在于,所述比較幀子單元包括 采樣模塊,用于對處理幀進(jìn)行至少一種分辨率下采樣,獲得至少一種采樣分辨率;所述至少一種采樣分辨率至少包括以下各項之一水平采樣分辨率;垂直采樣分辨率; 編碼與重建模塊,用于采用每一種采樣分辨率對處理幀進(jìn)行編碼并重建;采用處理幀的分辨率對處理幀進(jìn)行編碼并重建,獲得處理幀的分辨率對應(yīng)的比較幀; 采樣恢復(fù)模塊,用于對每一個重建后的幀進(jìn)行該幀對應(yīng)種類的分辨率上采樣,獲得每一種采樣分辨率對應(yīng)的比較幀。
16.根據(jù)權(quán)利要求9或10所述的視頻編碼器,其特征在于,所述編碼單元具體用于當(dāng)當(dāng)前幀是IDR幀時,根據(jù)碼率控制算法計算原始的量化參數(shù);對所述原始的量化參數(shù)增加或減少預(yù)設(shè)的偏置值,獲得修正的量化參數(shù);采用所述修正的量化 參數(shù)對當(dāng)前幀進(jìn)行編碼。
全文摘要
本發(fā)明提供一種視頻編碼方法和視頻編碼器。視頻編碼方法包括判斷當(dāng)前幀是否適應(yīng)當(dāng)前信道帶寬,如果是,判斷當(dāng)前幀不是IDR幀,否則,判斷當(dāng)前幀是IDR幀,當(dāng)當(dāng)前幀是IDR幀時,從采樣分辨率和當(dāng)前幀的原始分辨率中選擇最優(yōu)分辨率,以最優(yōu)分辨率對當(dāng)前幀進(jìn)行編碼;當(dāng)當(dāng)前幀不是IDR幀時,以前一幀的分辨率對當(dāng)前幀進(jìn)行編碼。采用本發(fā)明提供的視頻編碼方法和視頻編碼器,能夠及時根據(jù)當(dāng)前信道狀況選擇最適合的分辨率,避免采用固定分辨率導(dǎo)致的窄帶情況下的塊效應(yīng),提高視頻編碼的質(zhì)量。
文檔編號H04N7/26GK102883157SQ20111019512
公開日2013年1月16日 申請日期2011年7月12日 優(yōu)先權(quán)日2011年7月12日
發(fā)明者唐慧明, 唐一枝, 虞露, 左旭光, 馮蔚騰 申請人:浙江大學(xué), 華為技術(shù)有限公司