專利名稱:用于解碼復(fù)雜度限制下的視頻編碼方法
技術(shù)領(lǐng)域:
本發(fā)明屬于多媒體通信技術(shù)領(lǐng)域,特別涉及用于解碼復(fù)雜度限制下的實(shí)時(shí)視頻編碼方法。
背景技術(shù):
隨著移動(dòng)多媒體時(shí)代的到來,越來越多的人利用手機(jī)、個(gè)人數(shù)字助理(PDA)和筆記 本電腦等終端設(shè)備接入移動(dòng)通信網(wǎng)絡(luò),并借助終端移動(dòng)性和網(wǎng)絡(luò)覆蓋性,享受無處不在的 視聽娛樂。與固定網(wǎng)絡(luò)業(yè)務(wù)相比,無線業(yè)務(wù)不受地點(diǎn)和行為的限制,只要用戶愿意,就可 以在任何場所、任何時(shí)間接入到無線內(nèi)容提供商,獲取資訊、視頻、音頻等服務(wù)。這種集 網(wǎng)絡(luò)技術(shù)、終端技術(shù)和視頻處理技術(shù)于一體的技術(shù)形式必將主導(dǎo)未來的信息業(yè)務(wù),包括手 機(jī)電視、在線點(diǎn)播、手機(jī)視頻電話、交通監(jiān)控、智能家電以及汽車電子等領(lǐng)域。當(dāng)前各國公司都對(duì)這一前沿領(lǐng)域進(jìn)行了實(shí)用化、產(chǎn)品化的探索。但是,這些方案都只 是針對(duì)視頻業(yè)務(wù)的數(shù)據(jù)量大、無線帶寬低、無線信道具有時(shí)變、易錯(cuò)等特點(diǎn),采用一些諸 如視頻壓縮標(biāo)準(zhǔn)11.264和實(shí)時(shí)傳輸協(xié)議(RTP)、用戶數(shù)據(jù)包協(xié)攻'(UDP)及英特網(wǎng)互聯(lián)協(xié) 議(IP)捆綁的措施來保障視頻通信的進(jìn)行。該方法默認(rèn)移動(dòng)終端在任何時(shí)候都有充足的 能力來處理視頻流。這顯然不夠合理。眾所周知,移動(dòng)終端一般要求體積小、待機(jī)時(shí)間長, 通常都面臨著各種各樣嚴(yán)格的資源限制,如中央處理器(CPU)能力、緩存和電池能量等 等,而且某些限制還會(huì)隨著時(shí)間動(dòng)態(tài)地改變或者依賴于當(dāng)時(shí)終端的狀況。這與多媒體處理 這類耗費(fèi)大量計(jì)算資源的應(yīng)用是相抵觸的。此外,基于移動(dòng)互聯(lián)網(wǎng)絡(luò)的多媒體系統(tǒng)存在異 構(gòu)性因素,即節(jié)目源在壓縮方式、時(shí)間和空間分辨率以及信息速率方面都存在不同,不同 終端之間的處理能力也存在明顯差異。所以,將視頻編解碼和網(wǎng)絡(luò)協(xié)議簡單組合的方法是 很難對(duì)各種終端奏效的,尤其是在解碼端可用資源的限制將對(duì)視頻服務(wù)的質(zhì)量造成重大影 口向的情況下。對(duì)于一個(gè)基于變換的運(yùn)動(dòng)補(bǔ)償視頻編碼方法,如H.264、 MPEG-4等,解碼復(fù)雜度主要 由碼率、零系數(shù)比例、宏塊的預(yù)測模式以及幀率等因素決定;具體包括(a) 碼流解析和熵解碼的計(jì)算復(fù)雜度(由耗費(fèi)的時(shí)間度量)會(huì)隨接收碼率的增大而增 加,其中碼率通常由量化參數(shù)(QP)和宏塊跳過率(MSR)所決定;(b) 殘差系數(shù)中零系數(shù)比例(由量化參數(shù)所決定)越低,解碼器中的反量化和反離散 余弦變換模塊所需的計(jì)算復(fù)雜度越大;(c) 視頻編碼中的宏塊跳過(SKIP)模式不同于其它宏塊模^ (16x16, 16x8, 8x16, 8x8, 8x4, 4x8, 4x4),其處理方式是從參考幀中拷貝相同位置的宏塊或者預(yù)測運(yùn)動(dòng)向量所指向 的宏塊到當(dāng)前幀,不需要其它任何操作。這樣就省去了其它模式中運(yùn)動(dòng)補(bǔ)償、反量化、反離散余弦變換等計(jì)算復(fù)雜度較大的操作,大大減小了解碼端的計(jì)算負(fù)荷,同時(shí)使重構(gòu)視頻 質(zhì)量的下降也處于可接受的范圍內(nèi);(d)幀率也是一個(gè)很重要的因素,它直接決定了解碼端在1秒鐘內(nèi)需要完成解碼的幀 數(shù)。幀率越大,對(duì)解碼端的性能要求也越高。目前可以査到的與本發(fā)明比較相關(guān)的專利有3個(gè),其公開了與計(jì)算復(fù)雜度控制和調(diào)整 相關(guān)的視頻編碼方法和裝置,申請(qǐng)?zhí)柗謩e為200480033477.4、 200580010306.4和 200610155131.2。但是這些方法均是針對(duì)視頻編碼器計(jì)算復(fù)雜度控制而言,而非對(duì)解碼器 ^計(jì)算能力的自適應(yīng)。發(fā)明內(nèi)容本發(fā)明的目的是為克服已有技術(shù)的不足之處,提出一個(gè)解碼復(fù)雜度限制下的視頻編碼 方法,其通過調(diào)整QP、 MSR和編碼幀率等參數(shù),使生成的碼流所需的解碼復(fù)雜度在解碼 端的解碼能力范圍內(nèi),同時(shí)最大化視頻的重構(gòu)質(zhì)量。該方法主要用于帶反饋信道的實(shí)時(shí)編 碼場景。本發(fā)明提出了一種用于解碼復(fù)雜度限制下的視頻編碼方法,需要編碼端和解碼端進(jìn)行 交互,包括以下步驟-1)解碼端和編碼端建立雙向通信孝接,解碼端請(qǐng)求視頻數(shù)據(jù),編碼端發(fā)送壓縮的視頻碼流;'2)解碼端解碼接收到的視頻流,并估計(jì)自身的解碼復(fù)雜度模型C(《,"中的模型參數(shù) 集S,并反饋給編碼端。C(《,"(表征編碼端在參數(shù)^,^設(shè)置下編碼輸出的碼流被解碼 所需的計(jì)算復(fù)雜度)中變量《為量化參數(shù)QP,變量r為宏塊跳過率MSR (MSR為被編碼 為SKIP模式的宏塊在一幀中所占的比例);3) 解碼端檢測所能提供的最大解碼能力C^,并反饋給編碼端;4) 編碼端接收解碼端反饋的解碼復(fù)雜度模型參數(shù)集S和最大解碼能力C^,并最優(yōu)化 解碼復(fù)雜度目標(biāo)函數(shù),再根據(jù)該目標(biāo)函數(shù)的解來實(shí)時(shí)調(diào)整編碼器的QP、 MSR和編碼幀率 各參數(shù)設(shè)置,并進(jìn)行編碼及發(fā)送視頻流;5) 每隔一定周期(1~30秒),重復(fù)步驟3)、步驟4)。上述步驟2)中解碼端估計(jì)解碼復(fù)雜度模型C&,/0中的模型參數(shù)集S,包括以下步驟,設(shè)要估計(jì)的解碼復(fù)雜度模型為<:^,0 = (/ .6—1.^ + 6。,該模型的模型參數(shù)集 5 = {",/ ,",6}中的各參數(shù)為常量加權(quán)系數(shù),其中^[l,51]門Z+, Z+表示正整數(shù)集合, ,e
, 值域的組合構(gòu)成可行域;21) 記錄解碼過程中每個(gè)視頻幀的編碼參數(shù)設(shè)置{&,/;}和解碼耗費(fèi)的計(jì)算復(fù)雜度(: ; 其中,字母下標(biāo)"eZ+表示解碼幀號(hào);22) 用解碼復(fù)雜度模型C(^"對(duì)記錄的樣點(diǎn)值^n,^Cj,"sZ+進(jìn)行最小均方誤差擬 合,獲得模型參數(shù)集S并反饋給編碼端;上述步驟4)中在編碼端最優(yōu)化解碼復(fù)雜度目標(biāo)函數(shù),并根據(jù)該目標(biāo)函數(shù)的解來實(shí)時(shí) 調(diào)整編碼器的QP、 MSR和編碼幀率各參數(shù)設(shè)置,包括以下步驟41) 最小化解碼復(fù)雜度目標(biāo)函數(shù)AC并使其滿足約束AOO。遍歷QP和MSR組成的可行域&,d,從中找到最優(yōu)參數(shù)對(duì) 使其滿足(《Vl-argmin(C鵬-(^e,)如+ 6/^,即使碼流所需的解碼復(fù)雜 度C(《V"與C鵬的差值最小,并且C隨-C(《V*)20;42) 根據(jù)41)目標(biāo)函數(shù)的解,實(shí)時(shí)調(diào)整編碼器的QP、 MSR和編碼幀率各參數(shù)設(shè)置421) 如果步驟41)中的目標(biāo)函數(shù)存在可行解^*,"},則編碼端按以下步驟依次調(diào)整 QP和MSR這兩個(gè)參數(shù)(a) 以最優(yōu)參數(shù)《*為(^編碼當(dāng)前幀;(b) 將當(dāng)前幀編碼后的M個(gè)宏塊的編碼失真(由均方誤差度量)從小到大排序;(c) 將前L"'M」個(gè)編碼失真最小的宏塊強(qiáng)制編碼為跳過(SKIP)模式,其余的保持 原宏塊模式;其中,符號(hào)[J表示下取整運(yùn)算;422) 如果步驟41)中的目標(biāo)函數(shù)不存在可行解,編碼端則降低編碼幀率,其降低幅 度范圍為1~5幀/秒。本發(fā)明的特點(diǎn)是(a) 本發(fā)明設(shè)計(jì)的解碼復(fù)雜度模型是通用的,對(duì)于不同的解碼器僅僅需要重新估計(jì)解 碼復(fù)雜度模型參數(shù);(b) 本發(fā)明的方法沒有對(duì)視頻碼流的表征語法進(jìn)行修改,其輸出的碼流一定能夠兼容 原來使用的視頻編碼標(biāo)準(zhǔn),解碼器無需改動(dòng);(c) 本發(fā)明簡單實(shí)用性,編碼端僅通過調(diào)整3個(gè)編碼參數(shù)的設(shè)置,就能提供對(duì)解碼能 力各異的移動(dòng)終端的適應(yīng)性。''本發(fā)明的有益效果主要包括兩個(gè)方面(a) 對(duì)于不同解碼能力終端的自適應(yīng)性來說,可以通過選取最優(yōu)的QP、 MSR以及編 碼幀率參數(shù),使編碼輸出碼流的復(fù)雜度具有可控性,能夠滿足解碼端解碼能力的限制;(b) 對(duì)于原本不具備解碼播放視頻能力的低端手機(jī)(處理器主頻為100 200MHz)來 說,可以通過以犧牲少量的視頻質(zhì)量為代價(jià)獲得流暢的視頻播放效果。
圖1為本發(fā)明用于解碼復(fù)雜度限制下視頻編碼的總體流程圖。 圖2為本發(fā)明的解碼端實(shí)施例的流程圖。 圖3為本實(shí)施例解碼復(fù)雜度模型測試。圖4為編碼端工作的流程圖。1=1, L - 、 - 、.L、 - 'v兵評(píng)頭她萬瓦本發(fā)明提出了一種解碼復(fù)雜度限制下的視頻編碼方法。現(xiàn)以國際視頻編碼標(biāo)準(zhǔn)H.264 為例,并結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)的描述。 本實(shí)施例的條件如下移動(dòng)終端采用大顯CU928型號(hào)的PDA,解碼器運(yùn)的硬件環(huán)境為主頻400MHz的英特 爾Xscale PXA 263處理器和64MB容量的隨機(jī)存取存儲(chǔ)器(RAM),軟件環(huán)境為針對(duì)手 持電話設(shè)備的微軟移動(dòng)視窗操作系統(tǒng)的2003版本。其中,測試序列采用1/4標(biāo)準(zhǔn)化圖像 格式(QCIF, 176x144)的Foreman序列;解碼器采用H.264標(biāo)準(zhǔn)的參考軟件JM;編碼 器圖像組(GOP)的結(jié)構(gòu)為IPPP...IPPP.., I幀間隔為30,參考幀數(shù)為1,運(yùn)動(dòng)搜索范圍 是16,熵編碼方式是基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC)。 ' 本實(shí)施例的總體流程如圖1所示,它是建立在編碼端和解碼端周期性地進(jìn)行交互的 基礎(chǔ)之上的,包括以下步驟1)解碼端和編碼端建立雙向通信連接,解碼端請(qǐng)求視頻數(shù)據(jù),編碼端發(fā)送壓縮的視 頻碼流;2 )解碼端解碼接收到的視頻流,并估計(jì)自身的解碼復(fù)雜度模C(^) = (,e—""和+ 6r)中的模型參數(shù)集S—a,/ ,",W(模型參數(shù)對(duì)于同一個(gè)硬件和li 碼器實(shí)現(xiàn)來說是固定的,所以該步驟只在通信初期進(jìn)行一次),并反饋給編碼端;3) 解碼端檢測所能提供的最大解碼能力C^,并反饋給編碼端;4) 編碼端接收解碼端反饋的解碼復(fù)雜度模型參數(shù)集S和最大解碼能力C,^,并最優(yōu) 化解碼復(fù)雜度目標(biāo)函數(shù),再根據(jù)該目標(biāo)函數(shù)的解來調(diào)整編碼器的QP、 MSR和幀率各參 ,設(shè)置,并進(jìn)行編碼及發(fā)送視頻流。其中,參數(shù)QP值域?yàn)?2~30, MSR值域?yàn)?.19-0.58, 編碼幀率為1~10幀;5) 每隔5秒的周期,重復(fù)步驟3)、步驟4)。圖2為圖1中解碼端的步驟2)、步驟3)和步驟5)的工作流程的進(jìn)一步詳細(xì)說明。 在視頻通信初期,解碼端解碼接收到的視頻流,并同時(shí)估計(jì)自身的解碼復(fù)雜度模型參數(shù) 集S,具體包括以下步驟(21) 解碼器記錄解碼過程中每個(gè)視頻幀的編碼參數(shù)和解碼耗費(fèi)的計(jì)算復(fù)雜 度C",其中,字母下標(biāo)"eZ+表示解碼幀號(hào)。圖3顯示了這些記錄結(jié)果,圖中包括在量 化參數(shù)QP分別等于22、 24、 26、 28、 30的條件下的五組值。其中,平面的橫縱坐標(biāo)分 別為量化參數(shù)^和宏塊跳過率r",其對(duì)應(yīng)的樣點(diǎn)值C"由實(shí)心圓點(diǎn)表示??梢姡谕涣?化參數(shù)下,解碼復(fù)雜度為MSR的近似線性函數(shù);在同一宏塊跳過率條件下,解碼復(fù)雜度 .,函數(shù)為QP的近似指數(shù)函數(shù)。(22) 用解碼復(fù)雜度模型C(^)-(^e-叫)如+ ^)對(duì)圖3中記錄的樣點(diǎn)值k人,Cj進(jìn)行最小均方誤差擬合,獲得模型參數(shù)集5 = {",/ ,",6}并反饋給編碼端。(23) 解碼端檢測移動(dòng)終端的最大解碼能力Cm雙并將其反饋回編碼端;(24) 解碼端每隔5秒的周期,重復(fù)(23)。圖4為圖1中編碼端的步驟4)和步驟5)的實(shí)施例工作流程的進(jìn)一步詳細(xì)說明,即 編碼端最優(yōu)化解碼復(fù)雜度目標(biāo)函數(shù),并根據(jù)該目標(biāo)函數(shù)的解來實(shí)時(shí)調(diào)整編碼器的QP、 MSR和編碼幀率各參數(shù)設(shè)置,具體包括以下步驟(41) 編碼端接收來自解碼端的解碼復(fù)雜度模型參數(shù)集5 = {",々,",6};(42) 編碼端獲取周期性更新的解碼端所能提供的最大解碼能力C^ ;(43) 最小化解碼復(fù)雜度目標(biāo)函數(shù)$g AC = Cmax—(/ .e—"".(" + &)并使其滿足約束AOO。遍歷QP(22~30)和MSR(0.19~0.58)組成的可行域{《,,從中找到最優(yōu)參數(shù)對(duì)&*,r , 使其滿足{《*,"} = argmin{Cmax,即使碼流所需的解碼復(fù)雜度C(^,") 與解碼端最大解碼能力Cmax的差值最小,但卻不超過C^ ;(44) 如果步驟(43)中的目標(biāo)函數(shù)存在可行解^*,"},編碼端則按以下歩驟依次 調(diào)整QP和MSR這兩個(gè)參數(shù)(a) 以最優(yōu)參數(shù)9*為量化參數(shù)編碼當(dāng)前幀;(b) 將當(dāng)前幀編碼后的99個(gè)宏塊(QCIF圖像)的編碼失真(由均方誤差度量) 從小到大排序;(c) 將前|_99"」個(gè)編碼失真最小的宏塊強(qiáng)制編碼為跳過(SKIP)模式,其余的保持原宏塊模式;其中,符號(hào)^」表示下取整運(yùn)算;(45) 如果步驟(43)中的目標(biāo)函數(shù)沒有可行解,編碼端則降低編碼幀率。設(shè)=10 是上一周期的幀率,義是當(dāng)前周期的幀率,么/ = 3是編碼幀率的減少幅度,那么當(dāng)前周期 的編碼幀率為《=10-3 = 7幀/秒。(46) 編碼端每隔5秒的周期,重復(fù)步驟(42)。 盡管本發(fā)明已參照具體實(shí)施方式
進(jìn)行描述和舉例說明,但是并不意味著本發(fā)明限于這些描述的實(shí)施方式。本發(fā)明以國際視頻編碼標(biāo)準(zhǔn)H.264為例進(jìn)行說明,但是并不局限于此, 只要定義了 SKIP宏塊模式的標(biāo)準(zhǔn),如MPEG-4,均可按照本思想進(jìn)行改動(dòng)。本領(lǐng)域技術(shù) 人員可在本發(fā)明思想下對(duì)本發(fā)明進(jìn)行多種不同的修改,但凡依本發(fā)明權(quán)利要求書范圍所做 的同等的變化及修飾,均屬于專利保護(hù)范疇。
權(quán)利要求
1. 一種用于解碼復(fù)雜度限制下的視頻編碼方法,其特征在于,編碼端和解碼端進(jìn)行交互,包括以下步驟1)解碼端和編碼端建立雙向通信連接,解碼端請(qǐng)求視頻數(shù)據(jù),編碼端發(fā)送壓縮的視頻碼流;2)解碼端解碼接收到的視頻流,并估計(jì)自身的解碼復(fù)雜度模型C(q,r)中的模型參數(shù)集S,并反饋給編碼端;C(q,r)中變量q為量化參數(shù)QP,變量r為宏塊跳過率MSR;3)解碼端檢測所能提供的最大解碼能力Cmax,并反饋給編碼端;4)編碼端接收解碼端反饋的解碼復(fù)雜度模型參數(shù)集S和最大解碼能力Cmax,并最優(yōu)化解碼復(fù)雜度目標(biāo)函數(shù),再根據(jù)該目標(biāo)函數(shù)的解來實(shí)時(shí)調(diào)整編碼器的QP、MSR和幀率各參數(shù)設(shè)置,并進(jìn)行編碼及發(fā)送視頻流;5)每隔一定周期,重復(fù)步驟3)、步驟4)。
2. 如權(quán)利要求l所述方法,其特征在于,所述步驟2)中解碼端估計(jì)解碼復(fù)雜度模型 C(g,r)中的模型參數(shù)集S,包括以下步驟設(shè)要估計(jì)的解碼復(fù)雜度模型為C^," = (,e—叫).^ + 6",該模型的模型參數(shù)集 5 = {",/ ,",6}中的各參數(shù)為常量加權(quán)系數(shù);其中,^[1,51]門Z+, Z+表示正整數(shù)集合, re
, b,^值域的組合構(gòu)成可行域;21) 記錄解碼過程中每個(gè)視頻幀的編碼參數(shù)設(shè)置^。,/^和解碼耗費(fèi)的計(jì)算復(fù)雜度C。; -, 其中,字母下標(biāo)"eZ+表示解碼幀號(hào);22) 用解碼復(fù)雜度模型C^,0對(duì)記錄的樣點(diǎn)值(^,/;,Cj,neZ+進(jìn)行最小均方誤差擬 合,獲得模型參數(shù)集S并反饋給編碼端。
3. 如權(quán)利要求l所述方法,其特征在于,所述步驟4)中最優(yōu)化解碼復(fù)雜度目標(biāo)函數(shù), 實(shí)時(shí)調(diào)整編碼器的QP、 MSR和編碼幀率各參數(shù)設(shè)置,包括以下步驟41) 最小化解碼復(fù)雜度目標(biāo)函數(shù)并使其滿足約束AO0;遍歷QP和MSR組成的可行域^,4 ,從中找到最優(yōu)參數(shù)對(duì) ,使其滿足(^,")-argmin(C隨-(;5.e,).(a + 6^ ,即使碼流所需的解碼復(fù)雜 度C (9*, r *)與C鵬的差值最小,并且C, - C(f,") 2 0;42) 根據(jù)41)目標(biāo)函數(shù)的解,實(shí)時(shí)調(diào)整編碼器的QP、 MSR和編碼幀率各參數(shù)設(shè)置421) 如果步驟41)中的目標(biāo)函數(shù)存在可行解{《*,"},編碼端則按以下步驟依次調(diào)整 Qi>和MSR這兩個(gè)參數(shù)(a) 以最優(yōu)參數(shù)^為QP編碼當(dāng)前幀;(b) 將當(dāng)前幀編碼后的M個(gè)宏塊的編碼失真從小到大排序;(c) 將前I/、M」個(gè)編碼失真最小的宏塊強(qiáng)制編碼為跳過(SKIP)模式,其余的保持 原宏塊模式;其中,符號(hào)IJ表示下取整運(yùn)算-,422) 如果步驟41)中的目標(biāo)函數(shù)不存在可行解,編碼端則降低編碼幀率,其降低幅 度范圍為1~5幀/秒。
全文摘要
本發(fā)明涉及用于解碼復(fù)雜度限制下的視頻編碼方法,屬于多媒體通信技術(shù)領(lǐng)域;本方法包括解碼端和編碼端建立雙向通信連接;解碼端解碼接收到的視頻流,并估計(jì)自身的解碼復(fù)雜度模型C(q,r)中的模型參數(shù)集S和檢測所能提供的最大解碼能力C<sub>max</sub>,并反饋給編碼端;編碼端接收解碼端反饋的解碼復(fù)雜度模型參數(shù)集S和最大解碼能力C<sub>max</sub>,并最優(yōu)化解碼復(fù)雜度目標(biāo)函數(shù),再根據(jù)該目標(biāo)函數(shù)的解來實(shí)時(shí)調(diào)整編碼器的QP、MSR和幀率各參數(shù)設(shè)置,并進(jìn)行編碼及發(fā)送視頻流;本發(fā)明兼容原有的視頻編碼標(biāo)準(zhǔn),編碼輸出的碼流解碼復(fù)雜度可控,能夠自適應(yīng)于解碼能力各異的移動(dòng)終端。
文檔編號(hào)H04N7/50GK101277448SQ200810104940
公開日2008年10月1日 申請(qǐng)日期2008年4月25日 優(yōu)先權(quán)日2008年4月25日
發(fā)明者戴瓊海, 肖紅江, 魏宇平 申請(qǐng)人:清華大學(xué)