一種適用于多碼流的視頻編碼處理方法和視頻編碼器的制造方法
【專利摘要】本發(fā)明實(shí)施例提供了一種適用于多碼流的視頻編碼處理方法和一種視頻編碼器,其中的方法包括:選取所述多碼流中之一,作為參考碼流;按照所述參考碼流的編碼參數(shù)條件對(duì)源視頻幀序列進(jìn)行視頻編碼處理,得到所述參考碼流;其中,在所述參考碼流的視頻編碼處理過(guò)程中,確定所述源視頻幀序列的幀類型,將其記錄在日志中;按照所述多碼流中除參考碼流之外其它碼流的編碼參數(shù)條件對(duì)所述源視頻幀序列進(jìn)行視頻編碼處理,得到其它碼流;其中,在所述其它碼流的視頻編碼處理過(guò)程中,從所述日志中讀取所述幀類型,并按照所讀取的幀類型進(jìn)行所述其它碼流的視頻編碼。本發(fā)明實(shí)施例能夠避免現(xiàn)有方案中采用固定GOP長(zhǎng)度導(dǎo)致的視頻編碼效率低的問(wèn)題。
【專利說(shuō)明】一種適用于多碼流的視頻編碼處理方法和視頻編碼器
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及視頻編碼【技術(shù)領(lǐng)域】,特別是涉及一種適用于多碼流的視頻編碼處理方 法和一種視頻編碼器。
【背景技術(shù)】
[0002] 隨著網(wǎng)絡(luò)及通信技術(shù)的發(fā)展,網(wǎng)絡(luò)視頻不斷普及,成為人們娛樂(lè)生活的重要組成 部分。然而,各種數(shù)據(jù)服務(wù)提供的帶寬及其穩(wěn)定性不同,為滿足用戶在不同網(wǎng)絡(luò)條件能夠流 暢觀看視頻,網(wǎng)絡(luò)視頻提供商能夠提供多種碼率、分辨率的碼流;這樣,在服務(wù)器帶寬或網(wǎng) 絡(luò)信號(hào)出現(xiàn)波動(dòng)時(shí),可以在不同碼流之間進(jìn)行切換。
[0003] 在實(shí)際中,碼流之間切換只能在I幀(關(guān)鍵幀)位置進(jìn)行切換,以A碼流向B碼流 切割為例,A碼流發(fā)生切換時(shí)關(guān)鍵幀位置為T1,若A、B碼流關(guān)鍵幀未對(duì)齊,則B在T1位置不 是I幀,假設(shè)B碼流中距離T1最近的I幀的位置T2,若T1〈T2,則發(fā)生切換時(shí)會(huì)出現(xiàn)跳播現(xiàn) 象;反之,若T1>T2,則發(fā)生切換時(shí)會(huì)出現(xiàn)重播現(xiàn)象。
[0004]現(xiàn)有的對(duì)于切換跳播或重播的解決方法是對(duì)網(wǎng)絡(luò)視頻以固定GOP(圖像組,Group ofPictures)長(zhǎng)度的方式進(jìn)行編碼。GOP結(jié)構(gòu)將視頻幀分為I幀、P幀和B幀三種,一般來(lái) 說(shuō),G0P長(zhǎng)度表示兩個(gè)I幀之間的幀數(shù)量。
[0005]然而,在實(shí)際應(yīng)用中,當(dāng)場(chǎng)景變化較小時(shí),視頻序列的各個(gè)幀之間的時(shí)域相關(guān)性較 強(qiáng),而由于B幀具有參考前后畫面的特性,因此,可以采用較多的B幀以取得比較好的編碼 效率,這意味著需要采用較長(zhǎng)的G0P結(jié)構(gòu)反之,場(chǎng)景變換較劇烈時(shí),前后場(chǎng)景相關(guān)性較弱, 可采用較少的B幀。綜上,采用固定G0P長(zhǎng)度,會(huì)降低視頻編碼效率。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明實(shí)施例所要解決的技術(shù)問(wèn)題是提供一種適用于多碼流的視頻編碼處理方 法,能夠避免現(xiàn)有方案中采用固定G0P長(zhǎng)度導(dǎo)致的視頻編碼效率低的問(wèn)題。
[0007]相應(yīng)的,本發(fā)明實(shí)施例還提供了一種視頻編碼器,用以保證上述方法的實(shí)現(xiàn)及應(yīng) 用。
[0008] 為了解決上述問(wèn)題,本發(fā)明公開(kāi)了一種適用于多碼流的視頻編碼處理方法,包 括:
[0009] 選取所述多碼流中之一,作為參考碼流;
[0010] 按照所述參考碼流的編碼參數(shù)條件對(duì)源視頻幀序列進(jìn)行視頻編碼處理,得到所述 參考碼流;其中,在所述參考碼流的視頻編碼處理過(guò)程中,確定所述源視頻幀序列的幀類 型,將其記錄在日志中,并依據(jù)所述幀類型進(jìn)行所述參考碼流的視頻編碼處理;
[0011] 按照所述多碼流中除參考碼流之外其它碼流的編碼參數(shù)條件對(duì)所述源視頻幀序 列進(jìn)行視頻編碼處理,得到其它碼流;其中,在所述其它碼流的視頻編碼處理過(guò)程中,從所 述日志中讀取所述幀類型,并按照所讀取的幀類型進(jìn)行所述其它碼流的視頻編碼。
[0012] 優(yōu)選的,所述確定所述源視頻幀序列的幀類型的步驟,包括:
[0013] 依據(jù)所述視頻幀序列各幀之間時(shí)域相關(guān)性,確定所述視頻幀序列對(duì)應(yīng)的圖像組 GOP信息。
[0014] 優(yōu)選的,所述日志中記錄的幀類型信息包括:所述源視頻幀序列中數(shù)據(jù)幀的顯示 序號(hào)及對(duì)應(yīng)的幀類型。
[0015] 優(yōu)選的,所述編碼參數(shù)包括:碼率、分辨率和幀率;其中,所述多碼流中的各碼流 要求的碼率和分辨率不同,要求的幀率相同。
[0016] 另一方面,本發(fā)明還公開(kāi)了一種視頻編碼器,包括:
[0017] 選取單元,用于選取所述多碼流中之一,作為參考碼流;
[0018] 第一編碼單元,用于按照所述參考碼流的編碼參數(shù)條件對(duì)源視頻幀序列進(jìn)行視頻 編碼處理,得到所述參考碼流;及
[0019] 第二編碼單元,用于按照所述多碼流中除參考碼流之外其它碼流的編碼參數(shù)條件 對(duì)所述源視頻幀序列進(jìn)行視頻編碼處理,得到其它碼流;
[0020] 其中,所述第一編碼單元,包括:
[0021] 確定模塊,用于在所述參考碼流的視頻編碼處理過(guò)程中,確定所述源視頻幀序列 的幀類型;
[0022] 記錄模塊,用于將所述幀類型記錄在日志中;及
[0023] 第一編碼模塊,用于依據(jù)所述幀類型進(jìn)行所述參考碼流的視頻編碼處理;
[0024] 所述第二編碼單元,包括:
[0025] 讀取模塊,用于在所述其它碼流的視頻編碼處理過(guò)程中,從所述日志中讀取所述 幀類型;及
[0026] 第二編碼模塊,用于按照所讀取的幀類型進(jìn)行所述其它碼流的視頻編碼。
[0027] 優(yōu)選的,所述確定模塊,具體用于依據(jù)所述視頻幀序列各幀之間時(shí)域相關(guān)性,確定 所述視頻幀序列對(duì)應(yīng)的圖像組GOP信息。
[0028] 優(yōu)選的,所述日志中記錄的幀類型信息包括:所述源視頻幀序列中數(shù)據(jù)幀的顯示 序號(hào)及對(duì)應(yīng)的幀類型。
[0029] 優(yōu)選的,所述編碼參數(shù)包括:碼率、分辨率和幀率;其中,所述多碼流中的各碼流 要求的碼率和分辨率不同,要求的幀率相同。
[0030] 與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例包括以下優(yōu)點(diǎn):
[0031] 本發(fā)明實(shí)施例中,首先對(duì)一參考碼流進(jìn)行視頻編碼處理,并在參考碼流的視頻編 碼處理過(guò)程中將所確定的幀類型記錄在日志中;這樣,隨后的其它碼流的視頻編碼處理過(guò) 程中,無(wú)需進(jìn)行幀類型的確定,復(fù)用日志中記錄的幀類型即可實(shí)現(xiàn)視頻編碼處理;
[0032] 由于其它碼流的視頻編碼處理中復(fù)用了日志中記錄的參考碼流所使用的幀類型, 故能夠保證所有碼流所使用幀類型的一致性,從而可以保證各碼流關(guān)鍵幀是對(duì)齊的,解決 了在各碼流間切換時(shí)出現(xiàn)重播或跳播的問(wèn)題;并且,在確定參考碼流所使用幀類型時(shí)能夠 依據(jù)視頻幀序列各幀之間時(shí)域相關(guān)性獲得最優(yōu)的GOP長(zhǎng)度,這相對(duì)于現(xiàn)有方案所使用的固 定GOP長(zhǎng)度,所述最優(yōu)的GOP長(zhǎng)度更能夠符合視頻畫面的場(chǎng)景相關(guān)性,因此能夠避免現(xiàn)有方 案中采用固定GOP長(zhǎng)度導(dǎo)致的視頻編碼效率低的問(wèn)題。
【專利附圖】
【附圖說(shuō)明】
[0033] 圖1是本發(fā)明的一種適用于多碼流的視頻編碼處理方法實(shí)施例的步驟流程圖;
[0034] 圖2是本發(fā)明實(shí)施例一種進(jìn)行參考碼流A的視頻編碼處理流程圖;
[0035] 圖3是本發(fā)明實(shí)施例一種進(jìn)行其它碼流B的視頻編碼處理流程圖;
[0036] 圖4是本發(fā)明的一種視頻編碼器實(shí)施例的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0037] 為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí) 施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。
[0038] 參照?qǐng)D1,示出了本發(fā)明的一種適用于多碼流的視頻編碼處理方法實(shí)施例的步驟 流程圖,具體可以包括如下步驟:
[0039] 步驟101、選取所述多碼流中之一,作為參考碼流;
[0040] 本發(fā)明實(shí)施例中可以應(yīng)用于優(yōu)酷、樂(lè)視網(wǎng)等網(wǎng)絡(luò)視頻提供商中,也可以應(yīng)用于各 種編碼器,用于將多個(gè)碼流的關(guān)鍵幀對(duì)齊,為多個(gè)碼流的平滑切換提供了前提條件,避免切 換時(shí)重播、跳播,可以提高用戶觀看體驗(yàn);并且,還能夠避免現(xiàn)有方案中采用固定GOP長(zhǎng)度 導(dǎo)致視頻編碼效率低的問(wèn)題。
[0041] 本發(fā)明實(shí)施例中,首先對(duì)一參考碼流進(jìn)行視頻編碼處理,并在參考碼流的視頻編 碼處理過(guò)程中將所確定的幀類型記錄在日志中;這樣,隨后的其它碼流的視頻編碼處理過(guò) 程中,無(wú)需進(jìn)行幀類型的確定,復(fù)用日志中記錄的幀類型即可實(shí)現(xiàn)視頻編碼處理。
[0042] 在實(shí)際應(yīng)用中,可以隨機(jī)選取所述參考碼流,也可以按照碼率或者分辨率選取所 述參考碼流,例如,選取碼率最大、最小或者適中的參考碼流等等,本發(fā)明實(shí)施例對(duì)具體的 參考碼流及其選取方式不加以限制。
[0043] 步驟102、按照所述參考碼流的編碼參數(shù)條件對(duì)源視頻幀序列進(jìn)行視頻編碼處理, 得到所述參考碼流;其中,在所述參考碼流的視頻編碼處理過(guò)程中,確定所述源視頻幀序列 的幀類型,將其記錄在日志中,并依據(jù)所述幀類型進(jìn)行所述參考碼流的視頻編碼處理;
[0044] 在本發(fā)明的一種應(yīng)用示例中,所述編碼參數(shù)具體可以包括:碼率、分辨率和幀率; 其中,所述多碼流中的各碼流要求的碼率和分辨率不同,要求的幀率相同。
[0045] 其中,碼率是指視頻幀傳輸時(shí)單位時(shí)間傳送的數(shù)據(jù)位數(shù),一般用單位kbps即千位 每秒來(lái)表示;碼率與視頻幀圖像的體積和質(zhì)量成正比,通常碼率越大,體積越大,視頻越清 晰;碼率越小,體積越小,視頻越模糊;
[0046] 分辨率是指視頻幀圖像中存儲(chǔ)的信息量,是每英寸圖像內(nèi)有多少個(gè)像素點(diǎn),分辨 率的單位為PPI(像素每英寸,PixelsPerInch);通常分辨率與圖像尺寸大小成正比,分辨 率越高,圖像尺寸越大;分辨率越低,圖像尺寸越小。
[0047] 幀率就是在每秒傳輸?shù)漠嬅娴膸瑪?shù);幀率影響畫面流暢度,與畫面流暢度成正比, 幀率越大,畫面越流暢;幀率越小,畫面越有跳動(dòng)感。
[0048] 在實(shí)際應(yīng)用中,各碼流要求的碼率和分辨率不同,能夠使得編碼得到的各碼流可 以滿足不同網(wǎng)絡(luò)帶寬以及客戶端性能對(duì)視頻質(zhì)量的需求;而相同的幀率可以保證編碼得到 的各碼流的關(guān)鍵幀對(duì)齊,避免在各碼流間切換時(shí)出現(xiàn)重播或跳播的現(xiàn)象。
[0049] 在本發(fā)明的一種優(yōu)選實(shí)施例中,所述確定所述源視頻幀序列的幀類型的步驟,具 體可以包括:依據(jù)所述視頻幀序列各幀之間時(shí)域相關(guān)性,確定所述視頻幀序列對(duì)應(yīng)的圖像 組GOP信息。
[0050] 在本發(fā)明的一種應(yīng)用示例中,所述依據(jù)所述視頻幀序列各幀之間時(shí)域相關(guān)性,確 定所述視頻幀序列對(duì)應(yīng)的圖像組G0P信息的過(guò)程具體可以包括:
[0051] 步驟1、首先對(duì)所述源視頻幀序列進(jìn)行分組,把幾幀圖像分為一組(G0P),為防止 運(yùn)動(dòng)變化,G0P長(zhǎng)度不宜取多,并且,G0P長(zhǎng)度可以依據(jù)所述視頻幀序列各幀之間時(shí)域相關(guān) 性得到;
[0052] 步驟2、定義幀類型;將每個(gè)G0P組內(nèi)各幀圖像定義為三種類型:即I幀、B幀和P 幀,具體可以根據(jù)綜合每個(gè)G0P組的各幀之間時(shí)域相關(guān)性,及I幀、B幀和P幀的特點(diǎn)定義 幀類型;
[0053] 參照表1、表2和表3分別示出了I幀、B幀和P幀的特點(diǎn)。
[0054]表1
[0055]
【權(quán)利要求】
1. 一種適用于多碼流的視頻編碼處理方法,其特征在于,包括: 選取所述多碼流中之一,作為參考碼流; 按照所述參考碼流的編碼參數(shù)條件對(duì)源視頻幀序列進(jìn)行視頻編碼處理,得到所述參考 碼流;其中,在所述參考碼流的視頻編碼處理過(guò)程中,確定所述源視頻幀序列的幀類型,將 其記錄在日志中,并依據(jù)所述幀類型進(jìn)行所述參考碼流的視頻編碼處理; 按照所述多碼流中除參考碼流之外其它碼流的編碼參數(shù)條件對(duì)所述源視頻幀序列進(jìn) 行視頻編碼處理,得到其它碼流;其中,在所述其它碼流的視頻編碼處理過(guò)程中,從所述日 志中讀取所述幀類型,并按照所讀取的幀類型進(jìn)行所述其它碼流的視頻編碼。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定所述源視頻幀序列的幀類型的 步驟,包括: 依據(jù)所述視頻幀序列各幀之間時(shí)域相關(guān)性,確定所述視頻幀序列對(duì)應(yīng)的圖像組GOP信 息。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述日志中記錄的幀類型信息包括:所述 源視頻幀序列中數(shù)據(jù)幀的顯示序號(hào)及對(duì)應(yīng)的幀類型。
4. 如權(quán)利要求1所述的方法,其特征在于,所述編碼參數(shù)包括:碼率、分辨率和幀率;其 中,所述多碼流中的各碼流要求的碼率和分辨率不同,要求的幀率相同。
5. -種視頻編碼器,其特征在于,包括: 選取單元,用于選取所述多碼流中之一,作為參考碼流; 第一編碼單元,用于按照所述參考碼流的編碼參數(shù)條件對(duì)源視頻幀序列進(jìn)行視頻編碼 處理,得到所述參考碼流;及 第二編碼單元,用于按照所述多碼流中除參考碼流之外其它碼流的編碼參數(shù)條件對(duì)所 述源視頻幀序列進(jìn)行視頻編碼處理,得到其它碼流; 其中,所述第一編碼單元,包括: 確定模塊,用于在所述參考碼流的視頻編碼處理過(guò)程中,確定所述源視頻幀序列的幀 類型; 記錄模塊,用于將所述幀類型記錄在日志中;及 第一編碼模塊,用于依據(jù)所述幀類型進(jìn)行所述參考碼流的視頻編碼處理; 所述第二編碼單元,包括: 讀取模塊,用于在所述其它碼流的視頻編碼處理過(guò)程中,從所述日志中讀取所述幀類 型;及 第二編碼模塊,用于按照所讀取的幀類型進(jìn)行所述其它碼流的視頻編碼。
6. 根據(jù)權(quán)利要求5所述的視頻編碼器,其特征在于,所述確定模塊,具體用于依據(jù)所述 視頻幀序列各幀之間時(shí)域相關(guān)性,確定所述視頻幀序列對(duì)應(yīng)的圖像組GOP信息。
7. 根據(jù)權(quán)利要求5所述的視頻編碼器,其特征在于,所述日志中記錄的幀類型信息包 括:所述源視頻幀序列中數(shù)據(jù)幀的顯示序號(hào)及對(duì)應(yīng)的幀類型。
8. 如權(quán)利要求5所述的視頻編碼器,其特征在于,所述編碼參數(shù)包括:碼率、分辨率和 幀率;其中,所述多碼流中的各碼流要求的碼率和分辨率不同,要求的幀率相同。
【文檔編號(hào)】H04N19/177GK104506866SQ201410710956
【公開(kāi)日】2015年4月8日 申請(qǐng)日期:2014年11月28日 優(yōu)先權(quán)日:2014年11月28日
【發(fā)明者】李勇鵬 申請(qǐng)人:北京奇藝世紀(jì)科技有限公司