專利名稱:視頻編碼方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于通信領(lǐng)域,并且特別地,涉及一種纟見頻編碼方法和 裝置。
背景技術(shù):
目前,在高級(jí)^L頻應(yīng)用系統(tǒng)中,;f見頻編解碼的容^"控制和^"誤 隱蔽是一個(gè)非常重要的方面,視頻碼流對(duì)誤碼和丟包非常敏感,會(huì) 導(dǎo)致視頻碼流的碼字錯(cuò)誤,圖1為原始單幀參考幀模式,如圖1所 示,在幀內(nèi)和幀間預(yù)測(cè)的時(shí),容易造成4晉誤擴(kuò)散,持續(xù)影響4見頻解 碼質(zhì)量。
通常,在視頻編碼器端使用容錯(cuò)控制的方法,目的是預(yù)先提高 視頻碼流對(duì)錯(cuò)誤的魯棒性,常見的方法有分層編碼、多描述編碼、 獨(dú)立分,殳編碼、再同步編碼和冗余編碼等。
其中,I幀刷新或I塊刷新是現(xiàn)有4見頻通信系統(tǒng)中最常用的方 法,可以采用固定間隔刷新、隨才幾刷新或者基于反々貴的刷新,因?yàn)?I幀或幀內(nèi)編碼宏塊不使用參考幀信息,這樣錯(cuò)誤能夠在I幀或I塊 位置立即被阻止,但是,I幀和I塊具有編碼效率低、對(duì)帶寬要求高、 碼率抖動(dòng)大、且錯(cuò)誤擴(kuò)散的范圍受到I幀間隔限制等問題。
此外,參考幀選擇方法具有錯(cuò)誤擴(kuò)散區(qū)域較小的有點(diǎn),在有反 饋信道的時(shí)候,根據(jù)反饋信息使用參考幀,選擇合適的參考幀用于幀間預(yù)測(cè),使得編碼效率相對(duì)較高,但是,使用這種方法需要具有 反饋,然而,在很多應(yīng)用中是沒有反饋信道的,這樣就無法完成交 互。
另外,在使用了多參考幀編碼的系統(tǒng)中, 一般來說由于相鄰兩 幀之間的相關(guān)性最強(qiáng),所以大部分情況下宏塊編碼的參考幀為緊鄰 的上一幀,這樣在通訊過程中,如果其中某一幀的碼流發(fā)生4普誤時(shí), 這種錯(cuò)誤還是會(huì)在后續(xù)幀的解碼過程中被擴(kuò)散,持續(xù)影響視頻質(zhì)量。 然而,目前尚未提出解決上述問題的技術(shù)方案。
發(fā)明內(nèi)容
考慮到現(xiàn)有的容錯(cuò)控制方法中的編碼效率低,需要返回信道等 問題而做出本發(fā)明,為此,本發(fā)明的主要目的在于提供視頻編碼方 法和裝置,以解決相關(guān)才支術(shù)中的上述問題。
才艮據(jù)本發(fā)明的一個(gè)方面,提供了一種4見頻編碼方法,用于在幀 級(jí)非固定參考幀間隔模式下進(jìn)行視頻編碼。
才艮據(jù)本發(fā)明實(shí)施例的^L頻編碼方法包括i殳置最大參考幀間隔 k,其中,k大于O;在序號(hào)為n的當(dāng)前幀之前可用作參考的幀的翁: 量小于或等于最大參考幀間隔k的情況下,將序號(hào)為n的當(dāng)前幀之 前可用作參考的幀中的預(yù)定幀作為參考幀,進(jìn)4亍運(yùn)動(dòng)預(yù)測(cè)和編碼; 其中,n大于或等于1;在序號(hào)為n的當(dāng)前幀之前可用作參考的幀的 數(shù)量大于最大參考幀間隔k的情況下,將序號(hào)在(n-l)至(n-k-l) 之間的幀中的預(yù)定幀作為參考幀,進(jìn)行運(yùn)動(dòng)預(yù)測(cè)和編碼。
其中,上述預(yù)定幀是圖像行為屬性為小運(yùn)動(dòng)圖像的幀,其中, 上述圖像行為屬性包括圖像的運(yùn)動(dòng)幅度和圖像的紋理變化程度。其中,將上述序號(hào)在(n-l)至(n-k-l)之間的幀中的預(yù)定幀 作為參考幀的具體為從序號(hào)為(n-l)的幀開始遍歷序號(hào)在(n-l) 至(n-k-l )之間的k+l個(gè)幀的圖像行為屬性,直到找到圖像行為屬 性為小運(yùn)動(dòng)圖像的幀,并將幀作為預(yù)定幀。
此外,在設(shè)置最大參考幀間隔k之前,進(jìn)一步包4舌選擇《爭(zhēng)編 碼序列的參考幀間隔模式為非固定參考幀間隔模式。
才艮據(jù)本發(fā)明的另一方面,提供了一種視頻編碼方法,用于在幀 級(jí)固定參考幀間隔才莫式下進(jìn)4亍-f見頻編碼。
根據(jù)本發(fā)明實(shí)施例的食品編碼方法包括設(shè)置固定參考幀間隔 s,其中,s大于0;在序號(hào)為n的當(dāng)前幀之前可用作參考的幀的凝: 量小于或等于固定參考幀間隔s的情況下,將序號(hào)為n的當(dāng)前幀之 前可用作參考的幀中的預(yù)定幀作為參考幀,進(jìn)行運(yùn)動(dòng)預(yù)測(cè)和編碼; 其中,n大于等于1;在序號(hào)為n的當(dāng)前幀之前可用作參考的幀的凝: 量大于固定參考幀間隔s的情況下,將序號(hào)為(n-s-l)的幀作為參 考幀,進(jìn)4于運(yùn)動(dòng)預(yù)測(cè)和編碼。
此外,在設(shè)置固定參考幀間隔s之前,進(jìn)一步包括選擇待編 碼序列的參考幀間隔模式為固定參考幀間隔模式。
才艮據(jù)本發(fā)明的再一方面,提供了一種—見頻編碼裝置,用于在幀 級(jí)非固定參考幀間隔模式下進(jìn)行視頻編碼。
根據(jù)本發(fā)明實(shí)施例的視頻編碼裝置包括設(shè)置模塊,用于設(shè)置 最大參考幀間隔k,其中,k大于0;判斷模塊,用于判斷在序號(hào)為 n的當(dāng)前幀之前可用作參考的幀的數(shù)量是否大于最大參考幀間隔k; 第一參考幀設(shè)置模塊,用于在序號(hào)為n的當(dāng)前幀之前可用作參考的 幀的數(shù)量小于或者等于最大參考幀間隔k的情況下,將序號(hào)為n的 當(dāng)前幀之前可用作參考的幀中的預(yù)定幀作為參考幀,進(jìn)4亍運(yùn)動(dòng)預(yù)測(cè)和編碼;其中,n大于等于l;第二參考幀設(shè)置模塊,用于在序號(hào)為 n的當(dāng)前幀之前可用作參考的幀的數(shù)量大于最大參考幀間隔k的情 況下,將序號(hào)為(n-l)至(n-k-l)的幀中的預(yù)定幀作為參考幀,進(jìn) 4亍運(yùn)動(dòng)預(yù)測(cè)和編碼。
此外,上述第二參考幀設(shè)置模塊進(jìn)一步包括圖像行為屬性判 斷模塊,用于判斷幀的圖像行為屬性,其中,圖像行為屬性包括圖 像的運(yùn)動(dòng)幅度和圖像的紋理變化程度。
此外,上述裝置進(jìn)一步包括圖^^于為屬性判斷^f莫塊用于從序 號(hào)為(n-l )的幀開始遍歷序號(hào)在(n-l )至(n-k-l )之間的k+l個(gè) 幀的圖像行為屬性,直到找到圖像行為屬性為小運(yùn)動(dòng)圖像的幀,并 將幀作為預(yù)定幀。
才艮據(jù)本發(fā)明的再一方面,提供了一種^L頻編碼裝置,用于在幀 級(jí)固定參考幀間隔才莫式下進(jìn)^f亍-現(xiàn)頻編碼。
根據(jù)本發(fā)明實(shí)施例的頻編碼裝置包括設(shè)置模塊,用于設(shè)置固 定參考幀間隔s,其中,s大于0;判斷模塊,用于判斷在序號(hào)為n 的當(dāng)前幀之前可用作參考的幀的數(shù)量是否大于所述最大參考幀間隔 s;第一參考幀設(shè)置模塊,用于在序號(hào)為n的當(dāng)前幀之前可用作參考 的幀的數(shù)量小于或者等于固定參考幀間隔s的情況下,將序號(hào)為n 的當(dāng)前幀之前可用作參考的幀中的預(yù)定幀作為參考幀,進(jìn)行運(yùn)動(dòng)預(yù) 測(cè)和編碼;其中,n大于等于l;第二參考幀設(shè)置模塊,用于在序號(hào) 為n的當(dāng)前幀之前可用作參考的幀的凄丈量大于固定參考幀間隔s的 情況下,將序號(hào)為(n-s-l)的幀作為參考幀,進(jìn)行運(yùn)動(dòng)預(yù)測(cè)和編碼。
借助于本發(fā)明的技術(shù)方案,能夠提高容錯(cuò)率,并對(duì)錯(cuò)誤幀進(jìn)行 隱蔽,提供更好的支持,達(dá)到更好的視頻質(zhì)量。本發(fā)明的其它特4正和優(yōu)點(diǎn)將在隨后的i兌明書中闡述,并且,部 分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā) 明的目的和其他優(yōu)點(diǎn)可通過在所寫的說明書、權(quán)利要求書、以及附 圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部 分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中圖l是相關(guān)技術(shù)中單幀參考幀模式的示意圖;圖2是根據(jù)本發(fā)明方法實(shí)施例一的視頻編碼方法的示意圖;圖3是根據(jù)本發(fā)明實(shí)施例的K-1時(shí)不定周期的幀級(jí)參考幀間隔 的實(shí)例1的示意圖;圖4是根據(jù)本發(fā)明實(shí)施例的K-1時(shí)不定周期的幀級(jí)參考幀間隔 的實(shí)例2的示意圖;圖5是才艮據(jù)本發(fā)明實(shí)施例的K-1時(shí)不定周期的幀級(jí)參考幀間隔 的實(shí)例3的示意圖;圖6是根據(jù)本發(fā)明實(shí)施例的K-1時(shí)不定周期的幀級(jí)參考幀間隔 的實(shí)例4的示意圖;圖7是根據(jù)本發(fā)明實(shí)施例的K=2時(shí)不定周期的幀級(jí)參考幀間隔 的示意圖;圖8是根據(jù)本發(fā)明方法實(shí)施例二的視頻編碼方法的流程圖;圖9是^4居本發(fā)明方法實(shí)施例一和方法實(shí)施例二的詳細(xì)處理的 流程圖;圖IO是根據(jù)本發(fā)明實(shí)施例的S=l時(shí)定周期的幀級(jí)參考幀間隔 的示意圖;圖11是根據(jù)本發(fā)明實(shí)施例的S=2時(shí)定周期的幀級(jí)參考幀間隔 的示意圖;圖12是根據(jù)本發(fā)明裝置實(shí)施例一的視頻編碼裝置的框圖; 圖13是根據(jù)本發(fā)明裝置實(shí)施例二的視頻編碼裝置的框圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此 處所描述的優(yōu)選實(shí)施例僅用于說明和解釋本發(fā)明,并不用于限定本 發(fā)明。方法實(shí)施例一在本實(shí)施例中,提供了一種^f見頻編碼方法,用于在幀級(jí)非固定 參考幀間隔模式下進(jìn)行視頻編碼,圖2是根據(jù)本發(fā)明方法實(shí)施例一 的碎見頻編碼方法的示意圖,在進(jìn)4亍圖2所示的處理之前,需要首先 選擇待編碼序列的參考幀間隔模式為非固定參考幀間隔模式。如圖2所示,包4舌以下處理步驟S202, i殳置最大參考幀間隔k,其中,k大于0;步驟S204,在序號(hào)為n的當(dāng)前幀之前可用作參考的幀的數(shù)量小 于或等于最大參考幀間隔k的情況下,將序號(hào)為n的當(dāng)前幀之前可 用作參考的幀中的預(yù)定幀作為參考幀,進(jìn)行運(yùn)動(dòng)預(yù)測(cè)和編碼,其中,n大于或等于1,其中,上述預(yù)定幀是圖像行為屬性為小運(yùn)動(dòng)圖像的 幀,并且,圖像行為屬性包括圖像的運(yùn)動(dòng)幅度和圖像的紋理變化程度;步驟S206,在序號(hào)為n的當(dāng)前幀之前可用作參考的幀的數(shù)量大 于最大參考幀間隔k的情況下,將序號(hào)在(n-l )至(n-k-l )之間的 幀中的予貞定幀作為參考幀,進(jìn)4亍運(yùn)動(dòng)預(yù)測(cè)和編石馬。其中,在步驟S206中將上述序號(hào)在(n-l )至(n-k-l )之間的 幀中的預(yù)定幀作為參考幀的具體處理可以為從序號(hào)為(n-l)的幀 開始遍歷序號(hào)在(n-l)至(n-k-l)之間的k+l個(gè)幀的圖傳^亍為屬 性,直到找到圖像行為屬性為小運(yùn)動(dòng)圖像的幀,并將幀作為預(yù)定幀。利用上述的技術(shù)方案,能夠使得錯(cuò)誤的擴(kuò)散率降低,并對(duì)錯(cuò)誤 幀進(jìn)行隱蔽。下面,對(duì)上述技術(shù)方案進(jìn)行舉例說明,々i設(shè)當(dāng)前待編碼的P幀 在整個(gè)4見頻編碼序列中的編號(hào)為n (n>l)。第 一步,選擇待編碼序列的參考幀間隔模式為幀級(jí)非固定參考 幀間隔(也可以稱為"不定周期的幀級(jí)參考幀間隔,,);第二步,在幀級(jí)為非固定參考幀間隔的情況下,設(shè)置一個(gè)最大 參考幀間隔k(k>0),如果當(dāng)前幀之前可用做參考的幀數(shù)小于等于 k,則執(zhí)行第三步,如果當(dāng)前幀之前可用做參考的幀數(shù)大于k,則執(zhí) -f亍第四步;第三步,使用當(dāng)前幀之前可用做參考的幀中的一個(gè)幀作為參考 幀,進(jìn)行運(yùn)動(dòng)預(yù)測(cè)和編碼,可以選擇離當(dāng)前幀最遠(yuǎn)的一幀作為參考, 也可以運(yùn)用類似下面第四步和第五步中所述的方法處理;第四步,判斷編號(hào)為(n-l)幀的圖像行為屬性,如果(n-l) 幀為小運(yùn)動(dòng)圖像,則選擇(n-l)幀進(jìn)行當(dāng)前幀的運(yùn)動(dòng)預(yù)測(cè)和編碼; 否則執(zhí)行第五步。在這里,圖像行為屬性定義為圖像的運(yùn)動(dòng)幅度和 紋理變化程度。例如,圖3到圖7中,P3是小運(yùn)動(dòng)圖像,則P4直 4妄參考P3,在圖4中,P5是大運(yùn)動(dòng)圖l象,貝'JP6不參考P5,并執(zhí)4亍 第五步的方法;第五步,依次判斷(n-2)幀到(n-k-l)共k個(gè)參考幀的^f亍為 屬性,選擇其中的一幀作為參考幀,進(jìn)行當(dāng)前幀的運(yùn)動(dòng)預(yù)測(cè)和編碼, 其中,選取原則是當(dāng)(n-2)幀的行為屬性為小運(yùn)動(dòng)時(shí),則選擇(n-2) 幀;否則,如果(n-2)幀為較大運(yùn)動(dòng)或場(chǎng)景切換時(shí),則適當(dāng)增加行 為屬性的判斷閾值后,繼續(xù)判斷(n-3)幀的行為屬性,依此類推, 直到(n-k-l)幀為止。例如,圖7中,P6不參考P5,繼續(xù)增加閾 值后判斷P4,發(fā)現(xiàn)P4仍然為大運(yùn)動(dòng)時(shí),選擇P3為P6的參考幀, 進(jìn)4亍運(yùn)動(dòng)予貞測(cè)和編石馬。下面,結(jié)合附圖,對(duì)上述4支術(shù)方案進(jìn)4亍舉例i兌明。圖3是才艮據(jù)本發(fā)明實(shí)施例的K=l時(shí)不定周期的幀級(jí)參考幀間隔 的實(shí)例l的示意圖,如圖3所示,Pl、 P2為大運(yùn)動(dòng)圖像,P3、 P4、 P5為小運(yùn)動(dòng)圖像,P3首先判斷P2, P2為大運(yùn)動(dòng)圖像,則增加適當(dāng) 的閾值后,判斷Pl, Pl相對(duì)與P3為小運(yùn)動(dòng)圖像,因此,選擇P3 為參考幀,以此類推,P2選擇I0為參考幀,P4選擇P3為參考幀, P5選擇P4為參考幀,P6選擇P5為參考幀。這樣既能保證原有的 編碼效率,在發(fā)生錯(cuò)誤以后,比較容易利用前一幀進(jìn)行錯(cuò)誤隱蔽。圖4是根據(jù)本發(fā)明實(shí)施例的K-1時(shí)不定周期的幀級(jí)參考幀間隔 的實(shí)例2的示意圖,如圖4所示,Pl、 P2、 P5為大運(yùn)動(dòng)圖4象,P3、 P4為小運(yùn)動(dòng)圖4象,因?yàn)镻5是大運(yùn)動(dòng)圖4象,所以P6不參考P5,而 是參考P4,這樣P5發(fā)生錯(cuò)誤以后,不會(huì)將錯(cuò)誤擴(kuò)散到P6幀。反過來,正確的P6幀,還可以用來對(duì)P5幀進(jìn)行后向錯(cuò)誤隱蔽;或者跟 P4幀結(jié)合,對(duì)P5幀進(jìn)行雙向錯(cuò)誤隱蔽。圖5是根據(jù)本發(fā)明實(shí)施例的K4時(shí)不定周期的幀級(jí)參考幀間隔 的實(shí)例3的示意圖,如圖5所示,Pl、 P2、 P4為大運(yùn)動(dòng)圖像,P3、 P5為小運(yùn)動(dòng)圖像,因?yàn)镻4是大運(yùn)動(dòng)圖像,所以P5不參考P4,而 是參考P3, P3判斷P2為大運(yùn)動(dòng)圖像時(shí),增加閾值,判斷P1相對(duì) 是小運(yùn)動(dòng)圖像,因此P3將P1作為參考幀。圖6是根據(jù)本發(fā)明實(shí)施例的K-1時(shí)不定周期的幀級(jí)參考幀間隔 的實(shí)例4的示意圖,3o圖6所示,Pl、 P2、 P4、 P5為大運(yùn)動(dòng)圖^f象, P3為小運(yùn)動(dòng)圖像,P6參考P4, P5參考P3,因?yàn)镻3是小運(yùn)動(dòng)圖像, 因此,P4直4妾參考P3,能夠4呆i正原有的編碼效率,P3參考P1, P2 參考10。圖7是4艮據(jù)本發(fā)明實(shí)施例的K=2時(shí)不定周期的幀級(jí)參考幀間隔 的示意圖,如圖7所示,Pl、 P2、 P4、 P5為大運(yùn)動(dòng)圖^f象,P3為小 運(yùn)動(dòng)圖像,因?yàn)镻5是大運(yùn)動(dòng)圖像,所以P6不參考P5,增加閾值后 繼續(xù)判斷P4仍是大運(yùn)動(dòng)圖〗象,則選擇P3作為參考,這樣P4發(fā)生 錯(cuò)誤以后,不會(huì)將錯(cuò)誤擴(kuò)散到P5幀和P6幀;P5發(fā)生錯(cuò)誤以后,不 會(huì)將錯(cuò)誤擴(kuò)散到P6幀。反過來,正確的P5幀,還可以用來對(duì)P4 幀進(jìn)行后向錯(cuò)誤隱蔽;或者跟P3幀結(jié)合,對(duì)P4幀進(jìn)行雙向錯(cuò)誤隱 蔽。方法實(shí)施例二在本實(shí)施例中,提供了一種一見頻編石馬方法,用于在幀級(jí)固定參 考幀間隔才莫式下進(jìn)行^L頻編碼,圖8是4艮據(jù)本發(fā)明方法實(shí)施例二的 -f見頻編碼方法的流程圖,在進(jìn)4亍圖8所示的處理前,需要首先選擇待編碼序列的參考幀間隔模式為固定參考幀間隔模式,如圖8所示, 包4舌以下處J里步驟S802,設(shè)置固定參考幀間隔s,其中,s大于O;步驟S804,在序號(hào)為n的當(dāng)前幀之前可用作參考的幀的數(shù)量小 于或等于固定參考幀間隔s的情況下,將序號(hào)為n的當(dāng)前幀之前可 用作參考的幀中的預(yù)定幀作為參考幀,進(jìn)行運(yùn)動(dòng)預(yù)測(cè)和編碼,其中, n大于等于1;步驟S806,在序號(hào)為n的當(dāng)前幀之前可用作參考的幀的數(shù)量大 于固定參考幀間隔s的情況下,將序號(hào)為(n-s-l )的幀作為參考幀, 進(jìn)行運(yùn)動(dòng)預(yù)測(cè)和編碼。利用上述的技術(shù)方案,能夠使得錯(cuò)誤的擴(kuò)散率降低,并對(duì)錯(cuò)誤 幀進(jìn)4于隱蔽。下面,結(jié)合附圖,對(duì)方法實(shí)施例一和方法實(shí)施例二的4支術(shù)方案 進(jìn)行詳細(xì)說明,并且,假設(shè)當(dāng)前待編碼的P幀在整個(gè)視頻編碼序列 中的編號(hào)為n (n> 1 ),圖9是4艮才居本發(fā)明方法實(shí)施例一和方法實(shí)施 例二的詳細(xì)處理的流程圖,如圖9所示,包括以下步驟第一步,選擇待編碼序列的參考幀間隔模式,如果為幀級(jí)固定 參考幀間隔則執(zhí)行第二步,如果為幀級(jí)非固定參考幀間隔執(zhí)行第五 步;第二步,在幀級(jí)為固定參考幀間隔的情況下,設(shè)置一個(gè)固定參 考幀間隔s (s>0),如果當(dāng)前幀之前可用做參考的幀數(shù)小于等于s, 則執(zhí)行第三步,如果當(dāng)前幀之前可用做參考的幀數(shù)大于s,則執(zhí)行 第四步;第三步,Y吏用當(dāng)前幀之前,并且可用^f坎參考的幀中的一個(gè)作為參考,進(jìn)4于運(yùn)動(dòng)預(yù)測(cè)和編碼;第四步,使用序號(hào)為(n-s-l)的幀作為參考幀,進(jìn)行當(dāng)前幀的 運(yùn)動(dòng)預(yù)測(cè)和編碼;第五步,在幀級(jí)為非固定參考幀間隔的情況下,設(shè)置最大參考 幀間隔k (k>0),如果當(dāng)前幀之前可用做參考的幀數(shù)小于等于k, 則執(zhí)行第六步,如果當(dāng)前幀之前可用做參考的幀數(shù)大于k,則執(zhí)行 第七步;第六步,使用當(dāng)前幀之前可用做參考的幀中的 一個(gè)作為參考幀, 并進(jìn)行運(yùn)動(dòng)預(yù)測(cè)和編碼;第七步,判斷編號(hào)為(n-l)幀的圖像行為屬性,如果(n-l) 幀為小運(yùn)動(dòng)圖像,則選擇(n-l)幀進(jìn)行當(dāng)前幀的運(yùn)動(dòng)預(yù)測(cè)和編碼; 否則,執(zhí)行第八步,在這里,圖像行為屬性定義為圖像的運(yùn)動(dòng)幅度 和紋理變化程度;第八步,依次判斷(n-2)幀到(n-k-l)共k個(gè)參考幀的行為 屬性,選擇其中的一幀作為參考,進(jìn)4亍當(dāng)前幀的運(yùn)動(dòng)預(yù)測(cè)和編碼, 其中,選取原則為當(dāng)(n-2)幀的行為屬性為小運(yùn)動(dòng)時(shí),則選擇(n-2) 幀;否則,如果(n-2)幀為較大運(yùn)動(dòng)或場(chǎng)景切換時(shí),則適當(dāng)增加行 為屬性的判斷閾值后,繼續(xù)判斷(n-3)幀的行為屬性,依此類推, 直到判斷到(n-k-l)幀為止。圖10是^f艮據(jù)本發(fā)明實(shí)施例的S=l時(shí)定周期的幀級(jí)參考幀間隔 的示意圖,如圖IO所示,利用n-s-l的公式,P6參考P4, P5參考 P3, P4參考P2, P3參考P1, P2和P1直接參考I0。圖11是才艮據(jù)本發(fā)明實(shí)施例的S=2時(shí)定周期的幀級(jí)參考幀間隔 的示意圖,如圖11所示,利用n-s-l的公式,P6參考P3, P5參考 P2, P4參考P1, P3、 P2、 Pl參考IO。通過上述實(shí)施例,可以看出本發(fā)明在不改變?cè)?見頻標(biāo)準(zhǔn)解碼 過程的同時(shí),才是高了容4晉率,達(dá)到更好的—見頻質(zhì)量。裝置實(shí)施例一根據(jù)本發(fā)明實(shí)施例,提供了一種視頻編碼裝置,用于在幀級(jí)非 固定參考幀間隔模式下進(jìn)行視頻編碼,圖12是根據(jù)本發(fā)明裝置實(shí)施 例一的—見頻編碼裝置的框圖,如圖12所示,上述裝置包4舌設(shè)置模塊120,用于設(shè)置最大參考幀間隔k,其中,k大于O;判斷^=莫塊122,用于判斷在序號(hào)為n的當(dāng)前幀之前可用作參考 的幀的凄t量是否大于最大參考幀間隔k;第一參考幀設(shè)置模塊124,用于在序號(hào)為n的當(dāng)前幀之前可用 作參考的幀的數(shù)量小于或者等于最大參考幀間隔k的情況下,將序 號(hào)為n的當(dāng)前幀之前可用作參考的幀中的預(yù)定幀作為參考幀,進(jìn)行 運(yùn)動(dòng)預(yù)測(cè)和編碼;其中,n大于等于l;第二參考幀設(shè)置模塊126,用于在序號(hào)為n的當(dāng)前幀之前可用 作參考的幀的數(shù)量大于最大參考幀間隔k的情況下,將序號(hào)為(n-l ) 至(n-k-l)的幀中的預(yù)定幀作為參考幀,進(jìn)4亍運(yùn)動(dòng)預(yù)測(cè)和編碼。此外,上述第二參考幀設(shè)置模塊126進(jìn)一步包括圖像行為屬 性判斷模塊,用于判斷幀的圖像行為屬性,其中,圖像行為屬性包 括圖像的運(yùn)動(dòng)幅度和圖像的紋理變化程度。此外,上述裝置進(jìn)一步包括圖像行為屬性判斷^t塊,用于從序號(hào)為(n-l)的幀開始遍歷序 號(hào)在(n-l)至(n-k-l)之間的k+l個(gè)幀的圖傳3亍為屬性,直到找 到圖像行為屬性為小運(yùn)動(dòng)圖像的幀,并將幀作為預(yù)定幀。例如,如圖7所示,設(shè)置模塊120設(shè)置最大參考幀間隔k-2, 并且,Pl、 P2、 P4、 P5為大運(yùn)動(dòng)圖像,第一參考幀設(shè)置模塊124 將IO設(shè)置為Pl的參考幀,P3為小運(yùn)動(dòng)圖像,因?yàn)镻5是大運(yùn)動(dòng)圖 像,所以P6不參考P5,增加閾值后繼續(xù)判斷P4仍是大運(yùn)動(dòng)圖像, 第二參考幀設(shè)置模塊126則選擇P3作為參考,這樣P4發(fā)生錯(cuò)誤以 后,不會(huì)將錯(cuò)誤擴(kuò)散到P5幀和P6幀;P5發(fā)生錯(cuò)誤以后,不會(huì)將錯(cuò) 誤擴(kuò)散到P6幀。反過來,正確的P5幀,還可以用來對(duì)P4幀進(jìn)行 后向錯(cuò)誤隱蔽;或者跟P3幀結(jié)合,對(duì)P4幀進(jìn)行雙向錯(cuò)誤隱蔽。裝置實(shí)施例二在本實(shí)施例中,提供了一種視頻編碼裝置,用于在幀級(jí)固定參 考幀間隔模式下進(jìn)行視頻編碼,圖13是根據(jù)本發(fā)明裝置實(shí)施例二的 -現(xiàn)頻編碼裝置的框圖,如圖13所示,包括設(shè)置模塊130,用于設(shè)置固定參考幀間隔s,其中,s大于O;判斷模塊132,用于判斷在序號(hào)為n的當(dāng)前幀之前可用作參考 的幀的數(shù)量是否大于所述最大參考幀間隔s;第一參考幀設(shè)置模塊134,用于在序號(hào)為n的當(dāng)前幀之前可用 作參考的幀的數(shù)量小于或者等于固定參考幀間隔s的情況下,將序 號(hào)為n的當(dāng)前幀之前可用作參考的幀中的預(yù)定幀作為參考幀,進(jìn)4亍 運(yùn)動(dòng)預(yù)測(cè)和編石馬;其中,n大于等于l;第二參考幀設(shè)置才莫塊136,用于在序號(hào)為n的當(dāng)前幀之前可用 作參考的幀的數(shù)量大于固定參考幀間隔s的情況下,將序號(hào)為 (n-s-l)的幀作為參考幀,進(jìn)行運(yùn)動(dòng)預(yù)測(cè)和編碼。如圖11所示,i殳置才莫塊130 i殳置固定參考幀間隔s = 2,利用 n-s-l的公式,判斷模塊132在判斷PI之前可做參考幀的數(shù)量少于 2時(shí),第一參考幀設(shè)置模塊134設(shè)置P1直接參考IO,第二參考幀設(shè) 置模塊136設(shè)置P6參考P3, P5參考P2, P4參考,P3、 P2參考10。綜上所述,借助于本發(fā)明的技術(shù)方案,能夠提高容錯(cuò)率,并對(duì) 錯(cuò)誤幀進(jìn)行隱蔽,提供更好的支持,達(dá)到更好的視頻質(zhì)量。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明, 對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等, 均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種視頻編碼方法,用于在幀級(jí)非固定參考幀間隔模式下進(jìn)行視頻編碼,其特征在于,所述方法包括設(shè)置最大參考幀間隔k,其中,k大于0;在序號(hào)為n的當(dāng)前幀之前可用作參考的幀的數(shù)量小于或等于所述最大參考幀間隔k的情況下,將所述序號(hào)為n的當(dāng)前幀之前可用作參考的幀中的預(yù)定幀作為參考幀,進(jìn)行運(yùn)動(dòng)預(yù)測(cè)和編碼,其中,n大于或等于1;在所述序號(hào)為n的當(dāng)前幀之前可用作參考的幀的數(shù)量大于所述最大參考幀間隔k的情況下,將序號(hào)在(n-1)至(n-k-1)之間的幀中的預(yù)定幀作為所述參考幀,進(jìn)行運(yùn)動(dòng)預(yù)測(cè)和編碼。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述預(yù)定幀是圖像 行為屬性為小運(yùn)動(dòng)圖像的幀,其中,所述圖像行為屬性包括圖 像的運(yùn)動(dòng)幅度和所述圖像的紋理變化程度。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,將序號(hào)在(n-l) 至(n-k-l)之間的幀中的預(yù)定幀作為參考幀的具體為從序號(hào)為(n-l)的幀開始遍歷序號(hào)在(n-l)至(n-k-l) 之間的k+l個(gè)幀的圖像行為屬性,直到找到圖像行為屬性為小 運(yùn)動(dòng)圖^f象的幀,并將所述幀作為所述預(yù)定幀。
4. 根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的方法,其特征在于,在設(shè) 置最大參考幀間隔k之前,進(jìn)一步包括選擇待編碼序列的參考幀間隔模式為非固定參考幀間隔 模式。
5. —種^L頻編碼方法,用于在幀級(jí)固定參考幀間隔才莫式下進(jìn)行4見 頻編碼,其特征在于,所述方法包括設(shè)置固定參考幀間隔s,其中,s大于O;在序號(hào)為n的當(dāng)前幀之前可用作參考的幀的數(shù)量小于或 等于所述固定參考幀間隔s的情況下,將所述序號(hào)為n的當(dāng)前 幀之前可用作參考的幀中的預(yù)定幀作為參考幀,進(jìn)行運(yùn)動(dòng)預(yù)測(cè) 和編>5馬,其中,n大于等于l;在所述序號(hào)為n的當(dāng)前幀之前可用作參考的幀的數(shù)量大 于所述固定參考幀間隔s的情況下,將序號(hào)為(n-s-l)的幀作 為所述參考幀,進(jìn)4于運(yùn)動(dòng)預(yù)測(cè)和編石馬。
6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,在設(shè)置所述固定參 考幀間隔s之前,進(jìn)一步包括選擇待編碼序列的參考幀間隔模式為固定參考幀間隔模式。
7. —種視頻編碼裝置,用于在幀級(jí)非固定參考幀間隔才莫式下進(jìn)行 視頻編碼,其特征在于,所述裝置包括設(shè)置模塊,用于設(shè)置最大參考幀間隔k,其中,k大于O;判斷模塊,用于判斷在序號(hào)為n的當(dāng)前幀之前可用作參考 的幀的數(shù)量是否大于所述最大參考幀間隔k;第一參考幀設(shè)置模塊,用于在序號(hào)為n的當(dāng)前幀之前可用 作參考的幀的數(shù)量小于或者等于所述最大參考幀間隔k的情 況下,將所述序號(hào)為n的當(dāng)前幀之前可用作參考的幀中的預(yù)定 幀作為參考幀,進(jìn)^f于運(yùn)動(dòng)預(yù)測(cè)和編碼,其中,n大于等于l;第二參考幀設(shè)置模塊,用于在所述序號(hào)為n的當(dāng)前幀之前 可用作參考的幀的數(shù)量大于所述最大參考幀間隔k的情況下,將序號(hào)為(n-l)至(n-k-l)的幀中的預(yù)定幀作為參考幀,進(jìn) 4亍運(yùn)動(dòng)予貞測(cè)和編;馬。
8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,第二參考幀設(shè)置模 塊進(jìn)一步包括圖像行為屬性判斷模塊,用于判斷幀的圖像行為屬性,其 中,所述圖像行為屬性包括圖像的運(yùn)動(dòng)幅度和所述圖像的紋理 變化程度。
9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述圖像行為屬性判斷模塊用于從序號(hào)為(n-l)的幀開 始遍歷序號(hào)在(n-l )至(n-k-l )之間的k+l個(gè)幀的圖像行為 屬性,直到找到圖像行為屬性為小運(yùn)動(dòng)圖像的幀,并將所述幀 作為所述預(yù)定幀。
10. —種視頻編碼裝置,用于在幀級(jí)固定參考幀間隔模式下進(jìn)行視 頻編碼,其特征在于,所述裝置包括設(shè)置模塊,用于設(shè)置固定參考幀間隔s,其中,s大于0;判斷模塊,用于判斷在序號(hào)為n的當(dāng)前幀之前可用作參考 的幀的lt量是否大于所述最大參考幀間隔s;第一參考幀設(shè)置模塊,用于在序號(hào)為n的當(dāng)前幀之前可用 作參考的幀的數(shù)量小于或者等于所述固定參考幀間隔s的情況 下,將所述序號(hào)為n的當(dāng)前幀之前可用作參考的幀中的預(yù)定幀 作為參考幀,進(jìn)行運(yùn)動(dòng)預(yù)測(cè)和編碼,其中,n大于等于l;第二參考幀設(shè)置模塊,用于在所述序號(hào)為n的當(dāng)前幀之前 可用作參考的幀的數(shù)量大于所述固定參考幀間隔s的情況下, 將序號(hào)為(n-s-l)的幀作為參考幀,進(jìn)行運(yùn)動(dòng)預(yù)測(cè)和編碼。
全文摘要
本發(fā)明公開了視頻編碼方法和裝置,其中,視頻編碼方法包括設(shè)置最大參考幀間隔k,其中,k大于0;在序號(hào)為n的當(dāng)前幀之前可用作參考的幀的數(shù)量小于或等于最大參考幀間隔k的情況下,將序號(hào)為n的當(dāng)前幀之前可用作參考的幀中的預(yù)定幀作為參考幀,進(jìn)行運(yùn)動(dòng)預(yù)測(cè)和編碼;其中,n大于或等于1;在序號(hào)為n的當(dāng)前幀之前可用作參考的幀的數(shù)量大于最大參考幀間隔k的情況下,將序號(hào)在(n-1)至(n-k-1)之間的幀中的預(yù)定幀作為參考幀,進(jìn)行運(yùn)動(dòng)預(yù)測(cè)和編碼。通過上述技術(shù)方案,能夠提高容錯(cuò)率,并對(duì)錯(cuò)誤幀進(jìn)行隱蔽,提供更好的支持,達(dá)到更好的視頻質(zhì)量。
文檔編號(hào)H04N7/68GK101309427SQ200810127700
公開日2008年11月19日 申請(qǐng)日期2008年7月9日 優(yōu)先權(quán)日2008年7月9日
發(fā)明者梁立偉, 寧 王, 睿 陳 申請(qǐng)人:中興通訊股份有限公司