亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

視頻多幀預(yù)測(cè)編解碼方法和裝置的制作方法

文檔序號(hào):7575820閱讀:164來(lái)源:國(guó)知局
專利名稱:視頻多幀預(yù)測(cè)編解碼方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及視頻編解碼,尤其涉及一種視頻多幀預(yù)測(cè)編解碼方法和裝置。
背景技術(shù)
云計(jì)算是一種計(jì)算資源使用方式的新趨勢(shì)。視頻云計(jì)算(VCC,Video Cloud Computing)是多種云計(jì)算實(shí)現(xiàn)方法之一。一套視頻云計(jì)算系統(tǒng)(VCCS,Video Cloud Computing System)框架的簡(jiǎn)略示意圖如圖1所示,其中,VEE(Video Encoding End)與 VDE(Video Decoding End)配套,實(shí)現(xiàn)對(duì)前端主機(jī)顯示畫面的編碼、解碼。目前VEE與VDE 中所用算法一般為國(guó)際上通用的視頻編解碼算法。但國(guó)際上通用的視頻編解碼算法一般是 針對(duì)真實(shí)場(chǎng)景中的視頻畫面進(jìn)行編碼的,而云計(jì)算中的編碼畫面為前端主機(jī)顯示畫面,其 中包括真實(shí)場(chǎng)景中的視頻畫面,也包括游戲畫面、計(jì)算機(jī)普通操作畫面等等類型,這與純粹 的真實(shí)場(chǎng)景中的視頻畫面有相當(dāng)不同。因此通用的視頻編解碼算法用在這種場(chǎng)合,壓縮效 率不是最高的。根據(jù)相關(guān)視頻編解碼國(guó)際標(biāo)準(zhǔn),如MPEG4、H. 264等,視頻編解碼算法大致分為幀 間編碼、幀內(nèi)編碼、量化編碼、變換編碼、熵編碼等若干重要部分。其中幀間編碼是提高壓縮 率的關(guān)鍵,其主要思想是利用相鄰幀之間的冗余,用前面的幀預(yù)測(cè)后面的幀,然后對(duì)運(yùn)動(dòng)矢 量及殘差進(jìn)行其它后續(xù)編碼。具體預(yù)測(cè)的方法是一個(gè)搜索匹配的過程使用當(dāng)前幀中的每 一宏塊MBc去與前幀畫面進(jìn)行搜索匹配,找到殘差最小的塊MBm,即為最佳匹配塊,然后用 最佳匹配塊MBm預(yù)測(cè)MBc,所得殘差最小,后續(xù)壓縮率就最高。發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中發(fā)現(xiàn),幀間編碼采用當(dāng)前幀的前一幀畫面預(yù)測(cè)當(dāng)前 幀畫面的方式,沒有充分利用之前若干畫面的冗余,更沒有利用到計(jì)算機(jī)使用過程中重復(fù) 出現(xiàn)畫面(下文簡(jiǎn)稱復(fù)現(xiàn)幀)的冗余性,因此壓縮效率較低。幀間編碼采用當(dāng)前幀前面相 連若干幀的畫面預(yù)測(cè)當(dāng)前幀畫面的方式,計(jì)算增加量與壓縮率提高量之比太大,并且也沒 有充分利用到計(jì)算機(jī)使用過程中復(fù)現(xiàn)幀的冗余性,因此不夠?qū)嵱谩?br>
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種視頻多幀預(yù)測(cè)編解碼方法和裝置,以便在運(yùn)算增加量較少 的條件下,提高視頻幀間編碼的壓縮效率。一方面,本發(fā)明實(shí)施例提供一種視頻多幀預(yù)測(cè)編碼方法,所述方法包括編碼初始 化完成后構(gòu)建可能復(fù)現(xiàn)幀列表和參考幀列表,所述可能復(fù)現(xiàn)幀列表用于存放待編碼視頻畫 面的縮略圖數(shù)據(jù)及其編碼后的完整重構(gòu)幀數(shù)據(jù),所述參考幀列表包含所述可能復(fù)現(xiàn)幀列表 和前幀重構(gòu)畫面數(shù)據(jù);將采集到的每一個(gè)畫面組GOP之內(nèi)的待編碼的第一幀視頻畫面編為 I幀,得到所述I幀的完整重構(gòu)幀數(shù)據(jù);對(duì)于采集到的所述GOP之內(nèi)除所述待編碼的第一幀 視頻畫面以外的其他待編碼視頻畫面,如果編為P幀,則執(zhí)行以下步驟從所述參考幀列表 中選擇最佳參考幀,利用所述最佳參考幀將所述其他待編碼視頻畫面編為P幀,將所述最 佳參考幀的編號(hào)放入所述P幀的編碼碼流中,得到所述P幀的完整重構(gòu)幀數(shù)據(jù);確定所述P幀是否為可能復(fù)現(xiàn)幀,如果是,則為所述P幀的原始畫面創(chuàng)建縮略圖,得到所述P幀的縮略 圖數(shù)據(jù);將所述P幀的縮略圖數(shù)據(jù)和所述P幀的完整重構(gòu)幀數(shù)據(jù)加入所述可能復(fù)現(xiàn)幀列表; 編碼結(jié)束后執(zhí)行結(jié)束化程序,并釋放所述可能復(fù)現(xiàn)幀列表。另一方面,本發(fā)明實(shí)施例還提供一種視頻多幀預(yù)測(cè)解碼方法,所述方法包括解碼 初始化完成后構(gòu)建可能復(fù)現(xiàn)幀列表和參考幀列表,所述可能復(fù)現(xiàn)幀列表用于存放待解碼視 頻畫面的壓縮碼流解碼后的全幀數(shù)據(jù),所述參考幀列表包含所述可能復(fù)現(xiàn)幀列表和前幀重 構(gòu)畫面數(shù)據(jù);對(duì)獲取到的每一個(gè)GOP之內(nèi)的I幀進(jìn)行解碼;解析獲取到的所述GOP之內(nèi)的P 幀,獲得最佳參考幀編號(hào);根據(jù)所述最佳參考幀編號(hào)從所述參考幀列表中找到對(duì)應(yīng)的最佳 參考幀對(duì)所述P幀進(jìn)行解碼。一方面,本發(fā)明實(shí)施例提供一種編碼器,所述編碼器包括采集單元,所述編碼器還 包括構(gòu)建單元,用于在編碼初始化后構(gòu)建可能復(fù)現(xiàn)幀列表和參考幀列表,所述可能復(fù)現(xiàn)幀 列表用于存放待解碼視頻畫面的壓縮碼流解碼后的全幀數(shù)據(jù),所述參考幀列表包含所述可 能復(fù)現(xiàn)幀列表和前幀重構(gòu)畫面數(shù)據(jù);第一編碼單元,用于將所述采集單元采集到的每一個(gè) GOP之內(nèi)的待編碼的第一幀視頻畫面編為I幀,獲得所述I幀的完整重構(gòu)幀數(shù)據(jù);第二編碼 單元,用于對(duì)所述采集單元采集到的所述GOP之內(nèi)除所述待編碼的第一幀視頻畫面以外的 其他待編碼視頻畫面,如果編為P幀,則從所述參考幀列表中選擇最佳參考幀,利用所述最 佳參考幀將所述其他待編碼視頻畫面編為P幀,將所述最佳參考幀的編號(hào)放入所述P幀的 編碼碼流中,獲得所述P幀的完整重構(gòu)幀數(shù)據(jù);第一處理單元,用于在所述P幀為可能復(fù)現(xiàn) 幀時(shí),為所述P幀的原始畫面創(chuàng)建縮略圖,獲得所述P幀的縮略圖數(shù)據(jù),并將所述P幀的縮 略圖數(shù)據(jù)和所述P幀的完整重構(gòu)幀數(shù)據(jù)加入所述可能復(fù)現(xiàn)幀列表;第二處理單元,用于在 解碼結(jié)束后執(zhí)行結(jié)束化程序,并釋放所述可能復(fù)現(xiàn)幀列表。另一方面,本發(fā)明實(shí)施例還提供一種解碼器,所述解碼器包括獲取單元,所述解碼 器還包括構(gòu)建單元,用于在解碼初始化后構(gòu)建可能復(fù)現(xiàn)幀列表和參考幀列表,所述可能復(fù) 現(xiàn)幀列表用于存放待解碼視頻畫面的壓縮碼流解碼后的全幀數(shù)據(jù),所述參考幀列表包含所 述可能復(fù)現(xiàn)幀列表和前幀重構(gòu)畫面數(shù)據(jù);第一解碼單元,用于對(duì)所述獲取單元獲取到的每 一個(gè)GOP之內(nèi)的I幀進(jìn)行解碼;第一解析單元,用于解析所述獲取單元獲取到的所述GOP之 內(nèi)的P幀,獲得最佳參考幀編號(hào);第二解碼單元,用于根據(jù)所述最佳參考幀編號(hào)從所述參考 幀列表中找到對(duì)應(yīng)的最佳參考幀對(duì)所述P幀進(jìn)行解碼。通過本發(fā)明實(shí)施例提供的方法和裝置,可以在運(yùn)算增加量較少的條件下,提高視 頻幀間編碼的壓縮效率。


此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,并不 構(gòu)成對(duì)本發(fā)明的限定。在附圖中圖1為視頻云計(jì)算系統(tǒng)架構(gòu)示意圖;圖2為本發(fā)明實(shí)施例的視頻多幀預(yù)測(cè)編碼方法的流程圖;圖3A和圖IBB為本發(fā)明實(shí)施例中從參考幀列表中選擇最佳參考幀的方法流程圖;圖4為本發(fā)明實(shí)施例的視頻多幀預(yù)測(cè)解碼方法的流程圖;圖5為本發(fā)明實(shí)施例的編碼器的組成框圖6為本發(fā)明實(shí)施例的解碼器的組成框圖。
具體實(shí)施例方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合實(shí)施例和附 圖,對(duì)本發(fā)明實(shí)施例做進(jìn)一步詳細(xì)說(shuō)明。在此,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本 發(fā)明,但并不作為對(duì)本發(fā)明的限定。圖2為本發(fā)明實(shí)施例提供的一種視頻多幀預(yù)測(cè)編碼方法的流程圖,請(qǐng)參照?qǐng)D2,該 方法包括步驟201 編碼初始化完成后構(gòu)建可能復(fù)現(xiàn)幀列表和參考幀列表,所述可能復(fù)現(xiàn) 幀列表用于存放待編碼視頻畫面的縮略圖數(shù)據(jù)及其編碼后的完整重構(gòu)幀數(shù)據(jù),所述參考幀 列表包含所述可能復(fù)現(xiàn)幀列表和前幀重構(gòu)畫面數(shù)據(jù);其中,前幀重構(gòu)畫面數(shù)據(jù)是指當(dāng)前待編碼視頻畫面的前一幀視頻畫面編碼后的完 整重構(gòu)幀數(shù)據(jù)。步驟202 將采集到的每一個(gè)GOP (Group Of Picture,畫面組)之內(nèi)的待編碼的第 一幀視頻畫面編為I幀,得到所述I幀的完整重構(gòu)幀數(shù)據(jù);對(duì)于采集到的所述GOP之內(nèi)除所述待編碼的第一幀視頻畫面以外的其他待編碼 視頻畫面,可以編為B幀,也可以編為P幀。如果要編為B幀,則可以按照現(xiàn)有技術(shù)的手段 實(shí)現(xiàn),在此不再贅述;如果要編為P幀,則可以執(zhí)行以下步驟步驟203 從所述參考幀列表中選擇最佳參考幀,利用所述最佳參考幀將所述其 他待編碼視頻畫面編為P幀,將所述最佳參考幀的編號(hào)放入所述P幀的編碼碼流中,得到所 述P幀的完整重構(gòu)幀數(shù)據(jù);步驟204 確定所述P幀是否為可能復(fù)現(xiàn)幀,如果是,則為所述P幀的原始畫面創(chuàng) 建縮略圖,得到所述P幀的縮略圖數(shù)據(jù);步驟205 將所述P幀的縮略圖數(shù)據(jù)和所述P幀的完整重構(gòu)幀數(shù)據(jù)加入所述可能 復(fù)現(xiàn)幀列表;步驟206 編碼結(jié)束后執(zhí)行普通結(jié)束化程序,并釋放所述可能復(fù)現(xiàn)幀列表。在本實(shí)施例的步驟203,從所述參考幀列表中選擇最佳參考幀,可以通過圖3A或 圖3B所示實(shí)施例的方法實(shí)現(xiàn),請(qǐng)參照?qǐng)D3A和圖3B,該方法包括步驟301 確定待編碼視頻畫面的前一幀視頻畫面是否在所述可能復(fù)現(xiàn)幀列表 中,如果待編碼視頻畫面的前一幀視頻畫面在所述可能復(fù)現(xiàn)幀列表中,則執(zhí)行步驟302,否 則執(zhí)行步驟303-307(圖3A)或者步驟303,-307,(圖;其中,可以通過該前一幀視頻畫面的編號(hào)確定該前一幀視頻畫面是否在可能復(fù)現(xiàn) 幀列表中。步驟302 確定所述前一幀視頻畫面對(duì)應(yīng)的完整重構(gòu)幀為最佳參考幀;步驟303 計(jì)算所述可能復(fù)現(xiàn)幀列表中每一幅縮略圖的每一個(gè)像素值與待編碼視 頻畫面的縮略圖的相應(yīng)行列的像素值的差的絕對(duì)值;步驟304 統(tǒng)計(jì)對(duì)應(yīng)每一幅縮略圖的所述絕對(duì)值中零的個(gè)數(shù);步驟305 確定對(duì)應(yīng)所有縮略圖的所述絕對(duì)值中零的個(gè)數(shù)與所述縮略圖的總象素 數(shù)的商中的最大值是否大于第一閾值,如果是,則執(zhí)行步驟306,否則執(zhí)行步驟307 ;
其中,該第一閾值可以通過來(lái)表示,例如70%或以上。步驟306 確定相應(yīng)的縮略圖對(duì)應(yīng)的完整重構(gòu)幀為最佳參考幀;步驟307 確定所述參考幀列表中的當(dāng)前待編碼視頻畫面的前一幀畫面對(duì)應(yīng)的完 整重構(gòu)幀為最佳參考幀。步驟303’ 計(jì)算所述可能復(fù)現(xiàn)幀列表中每一幅縮略圖的每一個(gè)像素值與待編碼視 頻畫面的縮略圖的相應(yīng)行列的像素值的差的絕對(duì)值的和;步驟304’ 計(jì)算所述可能復(fù)現(xiàn)幀列表中每一幅縮略圖的每一個(gè)像素值與待編碼視 頻畫面的縮略圖的相應(yīng)行列的像素值的和;步驟305’ 確定對(duì)應(yīng)所有縮略圖的所述前者之和與所述后者之和的比值中的最小 值是否小于第二閾值,如果是,則執(zhí)行步驟306,,否則執(zhí)行步驟307’ ;其中,第二閾值可以通過來(lái)表示,例如10%或以下。步驟306’ 確定相應(yīng)的縮略圖對(duì)應(yīng)的完整重構(gòu)幀為最佳參考幀;步驟307’ 確定所述參考幀列表中的當(dāng)前待編碼視頻畫面的前一幀畫面對(duì)應(yīng)的完 整重構(gòu)幀為最佳參考幀。在本實(shí)施例中,所有縮略圖的寬高相同,也即,為所述P幀的原始畫面創(chuàng)建的縮略 圖的寬高,與所述待編碼視頻畫面的縮略圖的寬高都相同。在本實(shí)施例的步驟205,確定P幀是否為可能復(fù)現(xiàn)幀,可以通過P幀中的P塊所占 的百分比來(lái)確定,如果P幀中P塊所占百分比大于等于第三閾值,則確定該P(yáng)幀為一般參考 幀;如果P幀中P塊所占百分比小于第三閾值,則確定該P(yáng)幀為可能復(fù)現(xiàn)幀。其中,第三閾 值可以通過來(lái)標(biāo)識(shí),例如30%或以下。其中,確定了 P幀是否為可能復(fù)現(xiàn)幀,就將該P(yáng)幀是一般參考幀還是可能復(fù)現(xiàn)幀的 標(biāo)志信息放入該P(yáng)幀的編碼碼流中。在本實(shí)施例中,例如可以通過一個(gè)字節(jié)來(lái)標(biāo)識(shí),例如可 以通過“0”表示一般參考幀,“ 1,,表示可能復(fù)現(xiàn)幀。以上只是舉例說(shuō)明,本實(shí)施例并不以此 作為限制。在本實(shí)施例中,可能復(fù)現(xiàn)幀列表可以具有預(yù)設(shè)長(zhǎng)度,例如為M,加入該可能復(fù)現(xiàn)幀 列表中的縮略圖數(shù)據(jù)及其完整重構(gòu)幀數(shù)據(jù)可以從預(yù)設(shè)值值開始編號(hào),例如從m開始編號(hào),m 可以未0或1,如果加入所述可能復(fù)現(xiàn)幀列表的縮略圖數(shù)據(jù)及其完整重構(gòu)幀數(shù)據(jù)的數(shù)量大 于該可能復(fù)現(xiàn)幀列表的預(yù)設(shè)長(zhǎng)度,例如大于m+M-1,則去掉編號(hào)最小的縮略圖數(shù)據(jù)及其完整 重構(gòu)幀數(shù)據(jù),并根據(jù)以上策略對(duì)所述可能復(fù)現(xiàn)幀列表中的縮略圖數(shù)據(jù)及其完整重構(gòu)幀數(shù)據(jù) 進(jìn)行重新編號(hào)。為了使圖2所示實(shí)施例的方法更加清楚易懂,以下結(jié)合具體實(shí)施方式
對(duì)本實(shí)施例 的方法進(jìn)行詳細(xì)說(shuō)明。在本實(shí)施方式中,假設(shè)原始畫面的寬高分別為W和H,則根據(jù)本實(shí)施 例的方法進(jìn)行的編碼流程包括Sl 按普通視頻編碼方法,執(zhí)行相關(guān)初始化程序。其中,普通視頻編碼方法可以是目前常用的編碼方法,例如H. 264, MPEG4等,本實(shí) 施例并不以此作為限制。其中,可以構(gòu)建一個(gè)空的可能復(fù)現(xiàn)幀列表,該可能復(fù)現(xiàn)幀列表用于存放待編碼視 頻畫面的原始縮略圖數(shù)據(jù)和該待編碼視頻畫面編碼后的完整重構(gòu)幀數(shù)據(jù),以作為最佳參考 幀的選擇參考。在本實(shí)施例中,假設(shè)此列表的最大長(zhǎng)度為M。
其中,還可以構(gòu)建一個(gè)參考幀列表,該參考幀列表包含前述可能復(fù)現(xiàn)幀列表,還包 含前幀重構(gòu)畫面數(shù)據(jù),也即,該參考幀列表還用于存放當(dāng)前待編碼視頻畫面的前一幀視頻 畫面編碼后的完整重構(gòu)幀數(shù)據(jù)。S2 采集一個(gè)GOP之內(nèi)的第一幀待編碼的視頻畫面,在本實(shí)施例中稱為第一幀視 頻畫面,按普通視頻編碼方法將該第一幀視頻畫面編為I幀。其中,將該第一幀視頻畫面編為I幀后,獲得該I幀的完整重構(gòu)幀數(shù)據(jù)。S3 采集該GOP之內(nèi)的下一幀視頻畫面,在本實(shí)施例中,以將該下一幀視頻畫面編 為P幀為例,從所述參考幀列表中選擇最佳參考幀,利用選擇出的最佳參考幀將該下一幀 視頻畫面編為P幀,并將此最佳參考幀的編號(hào)放入編碼碼流,以便解碼時(shí)使用。其中,該參考幀列表中還包括當(dāng)前待編碼視頻畫面的前一幀視頻畫面編碼后的完 整重構(gòu)幀數(shù)據(jù),例如,當(dāng)當(dāng)前待編碼視頻畫面為采集到的第二幀視頻畫面時(shí),則該參考幀列 表中包含第一幀視頻畫面編碼后的完整重構(gòu)幀數(shù)據(jù),也即包括所述I幀的完整重構(gòu)幀數(shù) 據(jù)。其中,從參考幀列表中選擇最佳參考幀可以通過多種方式實(shí)現(xiàn),具體將在以下的 實(shí)施例中加以說(shuō)明。其中,為了獲得更好的參考效果,還要確定該P(yáng)幀是否為可能復(fù)現(xiàn)幀,如果是,則 為該P(yáng)幀的原始畫面創(chuàng)建一個(gè)只要灰度值不要色度值的縮略圖,為了描述方便,將該縮略 圖的寬高記為W、h,由于將該下一幅視頻畫面編為P幀后得到了該P(yáng)幀的完整重構(gòu)幀數(shù)據(jù), 這里將該P(yáng)幀的縮略圖數(shù)據(jù)與該P(yáng)幀的完整重構(gòu)幀數(shù)據(jù)一起放入可能復(fù)現(xiàn)幀列表。其中,確定該P(yáng)幀是否為可能復(fù)現(xiàn)幀可以根據(jù)該P(yáng)幀中的宏塊中P塊所占的百分 比來(lái)確定,例如,如果該P(yáng)幀中的宏塊中,P塊所占百分比大于等于r%,則記錄該P(yáng)幀為一 般參考幀;如果該P(yáng)幀中的宏塊中P塊所占百分比小于r%,也即超過(100-r) %的宏塊都 是I塊,則記錄該P(yáng)幀為可能復(fù)現(xiàn)幀。其中,還可以在該P(yáng)幀的編碼碼流中放入該P(yáng)幀是一 般參考幀還是可能復(fù)現(xiàn)幀的標(biāo)志信息,可以通過一個(gè)字節(jié)的標(biāo)識(shí)來(lái)實(shí)現(xiàn),前述已經(jīng)說(shuō)明,在 此不再贅述。其中,加入可能復(fù)現(xiàn)幀列表的縮略圖及其完整重構(gòu)幀數(shù)據(jù)可以從m開始編號(hào),以 后遞增,直至該可能復(fù)現(xiàn)幀列表的最大值,也即m+M-1,如果可能復(fù)現(xiàn)幀列表已滿,則去掉編 號(hào)最小的記錄,該可能復(fù)現(xiàn)幀列表中的所有記錄從m開始重新編排。S4 對(duì)于采集到的該GOP之內(nèi)除第一幀視頻畫面以外的其他視頻畫面,如果要編 為P幀都利用步驟S3的方法進(jìn)行編碼和處理,如果要編為B幀,則可以通過現(xiàn)有技術(shù)的手 段實(shí)現(xiàn),在此不再贅述。在本實(shí)施例中,對(duì)于采集到每一個(gè)GOP之內(nèi)的視頻畫面,都按照步驟S2-S4進(jìn)行處理。其中,在編碼過程中,如果編到IDR(instantaneous decoding refresh,立即解碼 刷新)幀,則清空參考幀列表,也即后續(xù)編碼不再利用此次GOP之內(nèi)編碼過程中構(gòu)建的參考 幀列表中的幀。如果沒有編到IDR幀,也即仍在此GOP之內(nèi),則利用不斷更新的可能復(fù)現(xiàn)幀 列表中的幀進(jìn)行后續(xù)編碼。其中,如果編碼過程結(jié)束,則退出編碼流程。S5 按照普通視頻編碼方法執(zhí)行相關(guān)普通結(jié)束化程序,并釋放可能復(fù)現(xiàn)幀列表。
在本實(shí)施方式的步驟S3中,從參考幀列表中選擇最佳參考幀,可以通過如下方法 實(shí)現(xiàn)S31 如果待編碼視頻畫面的前一幀視頻畫面在可能復(fù)現(xiàn)幀列表中,則確定該待編 碼視頻畫面的前一幀視頻畫面即為最佳參考幀,選擇結(jié)束;否則,執(zhí)行如下步驟。其中,可以根據(jù)該前一幀視頻畫面的編號(hào)確定其是否在可能復(fù)現(xiàn)幀列表中,由于 在每一幅視頻畫面編碼時(shí),都有相應(yīng)的編號(hào),編碼后的I幀或P幀也都有相應(yīng)的編號(hào),因此, 根據(jù)該編號(hào),可以確定其是否在可能復(fù)現(xiàn)幀列表中。S32 為了描述方便,假設(shè)可能復(fù)現(xiàn)幀列表中的縮略圖的編號(hào)為艮至艮+㈣。記視頻 畫面R第i行第j列像素值為1^_,i取值范圍為0至h-1,j取值范圍為0至w-1。為待編 碼的視頻畫面進(jìn)行下采樣,創(chuàng)建一個(gè)縮略圖C,寬、高為w、h。記畫面C第i行第j列像素值 為Cu,i取值范圍為0至h-1,j取值范圍為0至w-1。S33:針對(duì)i取值從0至h-1,j取值從0至w-1,分別計(jì)算對(duì)應(yīng)每一幅縮略圖的 I Cij-Rij I,并統(tǒng)計(jì)其中零的個(gè)數(shù),計(jì)為Zc0S34 記Zc/ (w*h)為L(zhǎng),則比較每一幅縮略圖Rm... Rm^1對(duì)應(yīng)的Lm- Lm^1中的最大 值,設(shè)該最大值為L(zhǎng)k,m < k < m+M-1,如果Lk大于,則確定Lk對(duì)應(yīng)的&對(duì)應(yīng)的完整重 構(gòu)幀為最佳參考幀;如果Lk不大于q%,則仍以參考幀列表中的前一幀視頻畫面對(duì)應(yīng)的完 整重構(gòu)幀為最佳參考幀。其中,步驟S33和步驟S34可以分別通過步驟S33’和步驟S34’來(lái)實(shí)現(xiàn),如下S33,對(duì) I Cij-Rij | 求和,記為 D ;對(duì) CyRij 求和,記為 A,記 D/A 為 J,Rm- Rm^1 分別 對(duì)應(yīng) Jm... Jm+M-1 οSIM’ 比較JfJlrtw,得其最小值,設(shè)結(jié)果為Jk,m彡k彡m+M-1,如果Jk小于t%, 則確定&為最佳參考幀;如果Jk不小于t%,則仍以參考幀列表中的前一幀視頻畫面對(duì)應(yīng) 的完整重構(gòu)幀為最佳參考幀。以上從參考幀列表中選擇最佳參考幀的方式只是舉例說(shuō)明,本實(shí)施例并不以此作 為限制。通過本發(fā)明實(shí)施例的方法,在可接受的運(yùn)算提高量之內(nèi),增加了視頻編碼的壓縮 比,降低了帶寬消耗,最終降低了 VCCS(Video Cloud Computing System,視頻云計(jì)算系統(tǒng)) 的總體成本。與圖2所示實(shí)施例的視頻多幀預(yù)測(cè)編碼方法對(duì)應(yīng),本發(fā)明實(shí)施例還提供一種視頻 多幀預(yù)測(cè)解碼方法。圖4為本發(fā)明實(shí)施例提供的一種視頻多幀預(yù)測(cè)解碼方法的流程圖,請(qǐng)參照?qǐng)D4,該 方法包括步驟401 解碼初始化完成后構(gòu)建可能復(fù)現(xiàn)幀列表和參考幀列表,所述可能復(fù)現(xiàn) 幀列表用于存放待解碼視頻畫面的壓縮碼流解碼后的全幀數(shù)據(jù),所述參考幀列表包含所述 可能復(fù)現(xiàn)幀列表和前幀重構(gòu)畫面數(shù)據(jù);其中,前幀重構(gòu)畫面數(shù)據(jù)是指當(dāng)前待解碼視頻畫面的壓縮碼流的前一幀視頻畫面 的壓縮碼流解碼后的全幀數(shù)據(jù)。 步驟402 對(duì)獲取到的每一個(gè)GOP之內(nèi)的I幀進(jìn)行解碼; 對(duì)于獲取到的該GOP之內(nèi)的每一個(gè)P幀,按照以下方式進(jìn)行解碼和處理。
步驟403 解析獲取到的所述GOP之內(nèi)的P幀,獲得最佳參考幀編號(hào);步驟404 根據(jù)所述最佳參考幀編號(hào)從所述參考幀列表中找到對(duì)應(yīng)的最佳參考幀 對(duì)所述P幀進(jìn)行解碼。在本實(shí)施例中,對(duì)于獲取到的該GOP之內(nèi)的每一個(gè)P幀,還可以執(zhí)行以下步驟步驟405 解析所述P幀,獲得標(biāo)志信息;步驟406 根據(jù)所述標(biāo)志信息確定所述P幀是否為可能復(fù)現(xiàn)幀,如果所述P幀為可 能復(fù)現(xiàn)幀,則將所述P幀解碼后的全幀數(shù)據(jù)加入所述可能復(fù)現(xiàn)幀列表;步驟407 解碼結(jié)束后執(zhí)行普通結(jié)束化程序,釋放所述可能復(fù)現(xiàn)幀列表。其中,本實(shí)施例并不限制步驟405和步驟406與步驟403和步驟404的先后順序, 例如也可以在執(zhí)行步驟403的同時(shí)執(zhí)行步驟405,在執(zhí)行步驟404的同時(shí)執(zhí)行步驟406 ;或 者在執(zhí)行步驟403和步驟404之后再執(zhí)行步驟405和步驟406 ;或者,在執(zhí)行步驟405和步 驟406之后再執(zhí)行步驟403和步驟404。以上只是舉例說(shuō)明,本實(shí)施例并不以此作為限制。在本實(shí)施例中,與圖2所示實(shí)施例的方法相似,該可能復(fù)現(xiàn)幀列表也具有預(yù)設(shè)長(zhǎng) 度,例如為M,加入所述可能復(fù)現(xiàn)幀列表中的可能復(fù)現(xiàn)幀解碼后的全幀數(shù)據(jù)從預(yù)設(shè)值開始編 號(hào),例如從m開始編號(hào),如果加入所述可能復(fù)現(xiàn)幀列表的可能復(fù)現(xiàn)幀解碼后的全幀數(shù)據(jù)的 數(shù)量大于最大值,例如大于m+M-1,則去掉編號(hào)最小的可能復(fù)現(xiàn)幀解碼后的全幀數(shù)據(jù),并根 據(jù)以上策略對(duì)所述可能復(fù)現(xiàn)幀列表中的可能復(fù)現(xiàn)幀解碼后的全幀數(shù)據(jù)進(jìn)行重新編號(hào)。為了使圖4所示實(shí)施例的方法更加清楚易懂,以下結(jié)合具體實(shí)施方式
對(duì)本實(shí)施例 的方法進(jìn)行詳細(xì)說(shuō)明。在本實(shí)施方式中,假設(shè)原始畫面的寬高分別為W和H,則根據(jù)本實(shí)施 例的方法進(jìn)行的編碼流程包括Sl 按普通視頻解碼方法,執(zhí)行相關(guān)初始化程序。其中,普通視頻解碼方法與圖2所示實(shí)施例的普通的視頻編碼方法對(duì)應(yīng),在此不 再贅述。其中,可以構(gòu)建一個(gè)空的可能復(fù)現(xiàn)幀列表,該可能復(fù)現(xiàn)幀列表用于存放一幅畫面 解碼后的全幀數(shù)據(jù),以作為最佳參考幀的選擇參考。在本實(shí)施例中,假設(shè)此列表的最大長(zhǎng)度 為M。其中,還可以構(gòu)建一個(gè)參考幀列表,該參考幀列表包含前述可能復(fù)現(xiàn)幀列表,還包 含前幀重構(gòu)畫面數(shù)據(jù),也即,該參考幀列表還用于存放當(dāng)前待解碼視頻畫面的前一幀視頻 畫面的壓縮碼流解碼后的全幀數(shù)據(jù)。S2 獲取一個(gè)GOP之內(nèi)的待解碼的第一幀視頻畫面壓縮碼流,也即前述的I幀,按 普通視頻解碼方法解碼該I幀。S3 獲取該GOP之內(nèi)的待解碼的下一幀視頻畫面壓縮碼流,如果該下一幀視頻畫 面被編為了 P幀,則可以解析該P(yáng)幀得到最佳參考幀編號(hào),利用該最佳參考幀編號(hào)從所述參 考幀列表中找出最佳參考幀,利用找出的最佳參考幀對(duì)該P(yáng)幀進(jìn)行解碼。還可以解析該P(yáng) 幀中的幀類型標(biāo)志信息,如果根據(jù)該幀類型標(biāo)志信息確定此P幀為可能復(fù)現(xiàn)幀,則將此P幀 解碼后的全幀數(shù)據(jù)加入可能復(fù)現(xiàn)幀列表。其中,加入可能復(fù)現(xiàn)幀列表的數(shù)據(jù)的編號(hào)也可以從預(yù)設(shè)值m開始,以后遞增,至該 可能復(fù)現(xiàn)幀列表的最大值m+M-1。如果可能復(fù)現(xiàn)幀列表已滿,則去掉編號(hào)最小的記錄,該可 能復(fù)現(xiàn)幀列表中的所有記錄重新從固定值m開始編號(hào)。
S4 對(duì)于獲取到的該GOP之內(nèi)除所述I幀之外的其他待解碼視頻畫面壓縮碼流,如 果該其他待解碼視頻畫面被編為了 B幀,則可以按照現(xiàn)有技術(shù)的手段對(duì)該視頻畫面的壓縮 碼流進(jìn)行解碼,如果該其他待解碼視頻畫面被編為了 P幀,則都利用步驟S3的方法進(jìn)行相 應(yīng)解碼和處理。在本實(shí)施例中,對(duì)獲取到的每一個(gè)GOP內(nèi)的數(shù)據(jù),都可以按照上述步驟S2-S4的方 式進(jìn)行解碼和處理。其中,在解碼過程中,如果接收到IDR幀,也即一個(gè)GOP結(jié)束,則清空參考幀列表。 如果IDR幀沒有出現(xiàn),則可能復(fù)現(xiàn)幀列表一直存在,內(nèi)部數(shù)據(jù)不斷更新。其中,如果解碼過程結(jié)束,則退出解碼流程。S5 按普通視頻解碼方法執(zhí)行相關(guān)普通結(jié)束化程序,并釋放可能復(fù)現(xiàn)幀列表。以上只是舉例說(shuō)明,本實(shí)施例并不以此作為限制。通過本發(fā)明實(shí)施例的方法,在可接受的運(yùn)算提高量之內(nèi),增加了視頻編碼的壓縮 比,降低了帶寬消耗,最終降低了 VCCS的總體成本。圖5為本發(fā)明實(shí)施例提供的一種編碼器的組成框圖,請(qǐng)參照?qǐng)D5,該編碼器除了包 括采集單元51以外,還包括構(gòu)建單元52,用于在編碼初始化后構(gòu)建可能復(fù)現(xiàn)幀列表和參考幀列表,所述可能 復(fù)現(xiàn)幀列表用于存放待解碼視頻畫面的壓縮碼流解碼后的全幀數(shù)據(jù),所述參考幀列表包含 所述可能復(fù)現(xiàn)幀列表和前幀重構(gòu)畫面數(shù)據(jù);第一編碼單元53,用于將采集單元51采集到的每一個(gè)GOP之內(nèi)的待編碼的第一幀 視頻畫面編為I幀,獲得所述I幀的完整重構(gòu)幀數(shù)據(jù);第二編碼單元M,用于對(duì)采集單元51采集到的所述GOP之內(nèi)除所述待編碼的第一 幀視頻畫面以外的其他待編碼視頻畫面,如果編為P幀,則從所述參考幀列表中選擇最佳 參考幀,利用所述最佳參考幀將所述其他待編碼視頻畫面編為P幀,將所述最佳參考幀的 編號(hào)放入所述P幀的編碼碼流中,獲得所述P幀的完整重構(gòu)幀數(shù)據(jù);第一處理單元55,用于在所述P幀為可能復(fù)現(xiàn)幀時(shí),為所述P幀的原始畫面創(chuàng)建縮 略圖,獲得所述P幀的縮略圖數(shù)據(jù),并將所述P幀的縮略圖數(shù)據(jù)和所述P幀的完整重構(gòu)幀數(shù) 據(jù)加入所述可能復(fù)現(xiàn)幀列表;第二處理單元56,用于在編碼結(jié)束后執(zhí)行普通結(jié)束化程序,并釋放所述可能復(fù)現(xiàn) 幀列表。在一個(gè)實(shí)施例中,第二編碼單元M可以包括判斷模塊M1,用于判斷待編碼視頻畫面的前一幀視頻畫面是否在所述可能復(fù)現(xiàn) 幀列表中;確定模塊M2,用于在判斷模塊Ml的判斷結(jié)果為待編碼視頻畫面的前一幀視頻 畫面在所述可能復(fù)現(xiàn)幀列表中時(shí),確定所述前一幀視頻畫面對(duì)應(yīng)的完整重構(gòu)幀為最佳參考 幀;所述確定模塊542還用于在判斷模塊541的判斷結(jié)果為待編碼視頻畫面的前一幀 視頻畫面不在所述可能復(fù)現(xiàn)幀列表中時(shí),計(jì)算所述可能復(fù)現(xiàn)幀列表中每一幅縮略圖的每一 個(gè)像素值與待編碼視頻畫面的縮略圖的相應(yīng)行列的像素值的差的絕對(duì)值,統(tǒng)計(jì)對(duì)應(yīng)每一幅 縮略圖的所述絕對(duì)值中零的個(gè)數(shù),如果對(duì)應(yīng)所有縮略圖的所述絕對(duì)值中零的個(gè)數(shù)與所述縮略圖的總象素?cái)?shù)的商中的最大值大于q%,則確定相應(yīng)的縮略圖對(duì)應(yīng)的完整重構(gòu)幀為最佳 參考幀;如果對(duì)應(yīng)所有縮略圖的所述絕對(duì)值中零的個(gè)數(shù)與所述縮略圖的總象素?cái)?shù)的商中的 最大值不大于q%,則確定所述參考幀列表中的當(dāng)前待編碼視頻畫面的前一幀視頻畫面對(duì) 應(yīng)的完整重構(gòu)幀為最佳參考幀;或者所述確定模塊542還用于在判斷模塊541的判斷結(jié)果為待編碼視頻畫面的前一幀 視頻畫面不在所述可能復(fù)現(xiàn)幀列表中時(shí),計(jì)算所述可能復(fù)現(xiàn)幀列表中每一幅縮略圖的每一 個(gè)像素值與待編碼視頻畫面的縮略圖的相應(yīng)行列的像素值的差的絕對(duì)值的和,以及計(jì)算所 述可能復(fù)現(xiàn)幀列表中每一幅縮略圖的每一個(gè)像素值與待編碼視頻畫面的縮略圖的相應(yīng)行 列的像素值的和,如果對(duì)應(yīng)所有縮略圖的前者之和與后者之和的比值中的最小值小于t%, 則確定相應(yīng)的縮略圖對(duì)應(yīng)的完整重構(gòu)幀為最佳參考幀;如果對(duì)應(yīng)所有縮略圖的前者之和與 后者之和的比值中的最小值不小于t%,則確定所述參考幀列表中的當(dāng)前待編碼視頻畫面 的前一幀視頻畫面對(duì)應(yīng)的完整重構(gòu)幀為最佳參考幀。在本實(shí)施例中,第一處理單元55為所述P幀的原始畫面創(chuàng)建的縮略圖的寬高,與 所述待編碼視頻畫面的縮略圖的寬高相同。在一個(gè)實(shí)施例中,第一處理單元55具體用于在所述P幀中P塊所占百分比大于等 于時(shí),確定所述P幀為一般參考幀;在所述P幀中P塊所占百分比小于時(shí),確定所述 P幀為可能復(fù)現(xiàn)幀。該第一處理單元55還用于將所述P幀是一般參考幀或者可能復(fù)現(xiàn)幀的 標(biāo)志信息放入所述P幀的編碼碼流中。本實(shí)施例的編碼器的各組成部分分別用于實(shí)現(xiàn)圖2所示實(shí)施例的方法的各步驟, 由于在圖2所示實(shí)施例中,已經(jīng)對(duì)各步驟進(jìn)行了詳細(xì)說(shuō)明,在此不再贅述。通過本發(fā)明實(shí)施例的編碼器,在可接受的運(yùn)算提高量之內(nèi),增加了視頻編碼的壓 縮比,降低了帶寬消耗,最終降低了 VCCS的總體成本。圖6為本發(fā)明實(shí)施例提供的一種解碼器的組成框圖,請(qǐng)參照?qǐng)D6,該解碼器除了包 括獲取單元61以外,還包括構(gòu)建單元62,用于在解碼初始化后構(gòu)建可能復(fù)現(xiàn)幀列表和參考幀列表,所述可能 復(fù)現(xiàn)幀列表用于存放待解碼視頻畫面的壓縮碼流解碼后的全幀數(shù)據(jù),所述參考幀列表包含 所述可能復(fù)現(xiàn)幀列表和前幀重構(gòu)畫面數(shù)據(jù);第一解碼單元63,用于對(duì)獲取單元61獲取到的每一個(gè)GOP之內(nèi)的I幀進(jìn)行解碼;第一解析單元64,用于解析獲取單元61獲取到的所述GOP之內(nèi)的P幀,獲得最佳 參考幀編號(hào);第二解碼單元65,用于根據(jù)所述最佳參考幀編號(hào)從所述參考幀列表中找到對(duì)應(yīng)的 最佳參考幀對(duì)所述P幀進(jìn)行解碼。在一個(gè)實(shí)施例中,該解碼器還包括第二解析單元66,用于解析所述P幀,獲得標(biāo)志信息;判斷單元67,用于根據(jù)所述標(biāo)志信息確定所述P幀是否為可能復(fù)現(xiàn)幀;第一處理單元68,用于在所述P幀為可能復(fù)現(xiàn)幀時(shí),將所述P幀解碼后的全幀數(shù)據(jù) 加入所述可能復(fù)現(xiàn)幀列表;第二處理單元69,用于在解碼結(jié)束化執(zhí)行普通結(jié)束化程序,釋放所述可能復(fù)現(xiàn)幀 列表。
本實(shí)施例的解碼器的各組成部分分別用于實(shí)現(xiàn)圖4所示實(shí)施例的方法的各步驟, 由于在圖4所示實(shí)施例中,已經(jīng)對(duì)各步驟進(jìn)行了詳細(xì)說(shuō)明,在此不再贅述。通過本發(fā)明實(shí)施例的解碼器,在可接受的運(yùn)算提高量之內(nèi),增加了視頻編碼的壓 縮比,降低了帶寬消耗,最終降低了 VCCS的總體成本。結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí) 行的軟件模塊,或者二者的結(jié)合來(lái)實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存 儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM、或技術(shù) 領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳 細(xì)說(shuō)明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限定本發(fā)明的保 護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本 發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種視頻多幀預(yù)測(cè)編碼方法,其特征在于,所述方法包括編碼初始化完成后構(gòu)建可能復(fù)現(xiàn)幀列表和參考幀列表,所述可能復(fù)現(xiàn)幀列表用于存放 待編碼視頻畫面的縮略圖數(shù)據(jù)及其編碼后的完整重構(gòu)幀數(shù)據(jù),所述參考幀列表包含所述可 能復(fù)現(xiàn)幀列表和前幀重構(gòu)畫面數(shù)據(jù);將采集到的每一個(gè)畫面組GOP之內(nèi)的待編碼的第一幀視頻畫面編為I幀,得到所述I 幀的完整重構(gòu)幀數(shù)據(jù);對(duì)于采集到的所述GOP之內(nèi)除所述待編碼的第一幀視頻畫面以外的其他待編碼視頻 畫面,如果編為P幀,則執(zhí)行以下步驟從所述參考幀列表中選擇最佳參考幀,利用所述最佳參考幀將所述其他待編碼視頻畫 面編為P幀,將所述最佳參考幀的編號(hào)放入所述P幀的編碼碼流中,得到所述P幀的完整重 構(gòu)幀數(shù)據(jù);確定所述P幀是否為可能復(fù)現(xiàn)幀,如果是,則為所述P幀的原始畫面創(chuàng)建縮略圖,得到 所述P幀的縮略圖數(shù)據(jù);將所述P幀的縮略圖數(shù)據(jù)和所述P幀的完整重構(gòu)幀數(shù)據(jù)加入所述可能復(fù)現(xiàn)幀列表; 編碼結(jié)束后執(zhí)行結(jié)束化程序,釋放所述可能復(fù)現(xiàn)幀列表。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,從所述參考幀列表中選擇最佳參考幀,包括確定待編碼視頻畫面的前一幀視頻畫面是否在所述可能復(fù)現(xiàn)幀列表中; 如果待編碼視頻畫面的前一幀視頻畫面在所述可能復(fù)現(xiàn)幀列表中,則確定所述前一幀 視頻畫面對(duì)應(yīng)的完整重構(gòu)幀為最佳參考幀;如果待編碼視頻畫面的前一幀視頻畫面不在所述可能復(fù)現(xiàn)幀列表中,則計(jì)算所述可能 復(fù)現(xiàn)幀列表中每一幅縮略圖的每一個(gè)像素值與待編碼視頻畫面的縮略圖的相應(yīng)行列的像 素值的差的絕對(duì)值,統(tǒng)計(jì)對(duì)應(yīng)每一幅縮略圖的所述絕對(duì)值中零的個(gè)數(shù),如果對(duì)應(yīng)所有縮略 圖的所述絕對(duì)值中零的個(gè)數(shù)與所述縮略圖的總象素?cái)?shù)的商中的最大值大于第一閾值,則確 定相應(yīng)的縮略圖對(duì)應(yīng)的完整重構(gòu)幀為最佳參考幀;如果對(duì)應(yīng)所有縮略圖的所述絕對(duì)值中零 的個(gè)數(shù)與所述縮略圖的總象素?cái)?shù)的商中的最大值不大于所述第一閾值,則確定所述參考幀 列表中的當(dāng)前待編碼視頻畫面的前一幀視頻畫面對(duì)應(yīng)的完整重構(gòu)幀為最佳參考幀;或者如果待編碼視頻畫面的前一幀視頻畫面不在所述可能復(fù)現(xiàn)幀列表中,則計(jì)算所述可能 復(fù)現(xiàn)幀列表中每一幅縮略圖的每一個(gè)像素值與待編碼視頻畫面的縮略圖的相應(yīng)行列的像 素值的差的絕對(duì)值的和,以及計(jì)算所述可能復(fù)現(xiàn)幀列表中每一幅縮略圖的每一個(gè)像素值與 待編碼視頻畫面的縮略圖的相應(yīng)行列的像素值的和,如果對(duì)應(yīng)所有縮略圖的前者之和與后 者之和的比值中的最小值小于第二閾值,則確定相應(yīng)的縮略圖對(duì)應(yīng)的完整重構(gòu)幀為最佳參 考幀;如果對(duì)應(yīng)所有縮略圖的前者之和與后者之和的比值中的最小值不小于所述第二閾 值,則確定所述參考幀列表中的當(dāng)前待編碼視頻畫面的前一幀視頻畫面對(duì)應(yīng)的完整重構(gòu)幀 為最佳參考幀。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,為所述P幀的原始畫面創(chuàng)建的縮略圖的長(zhǎng) 寬,與所述待編碼視頻畫面的縮略圖的長(zhǎng)寬相同。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,確定所述P幀是否為可能復(fù)現(xiàn)幀,具體包括如果所述P幀中P塊所占百分比大于等于第三閾值,則確定所述P幀為一般參考幀;如果所述P幀中P塊所占百分比小于所述第三閾值,則確定所述P幀為可能復(fù)現(xiàn)幀。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,確定所述P幀是否為可能復(fù)現(xiàn)幀之后,所 述方法還包括將所述P幀是一般參考幀或者可能復(fù)現(xiàn)幀的標(biāo)志信息放入所述P幀的編碼碼流中。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述可能復(fù)現(xiàn)幀列表具有預(yù)設(shè)長(zhǎng)度,加入 所述可能復(fù)現(xiàn)幀列表中的縮略圖數(shù)據(jù)及其完整重構(gòu)幀數(shù)據(jù)從預(yù)設(shè)值開始編號(hào),如果加入所 述可能復(fù)現(xiàn)幀列表的縮略圖數(shù)據(jù)及其完整重構(gòu)幀數(shù)據(jù)的數(shù)量大于所述可能復(fù)現(xiàn)幀列表的 預(yù)設(shè)長(zhǎng)度,則去掉所述可能復(fù)現(xiàn)幀列表中編號(hào)最小的縮略圖數(shù)據(jù)及其完整重構(gòu)幀數(shù)據(jù),并 根據(jù)以上策略對(duì)所述可能復(fù)現(xiàn)幀列表中的縮略圖數(shù)據(jù)及其完整重構(gòu)幀數(shù)據(jù)進(jìn)行重新編號(hào)。
7.一種視頻多幀預(yù)測(cè)解碼方法,其特征在于,所述方法包括解碼初始化完成后構(gòu)建可能復(fù)現(xiàn)幀列表和參考幀列表,所述可能復(fù)現(xiàn)幀列表用于存放 待解碼視頻畫面的壓縮碼流解碼后的全幀數(shù)據(jù),所述參考幀列表包含所述可能復(fù)現(xiàn)幀列表 和前幀重構(gòu)畫面數(shù)據(jù);對(duì)獲取到的每一個(gè)GOP之內(nèi)的I幀進(jìn)行解碼;解析獲取到的所述GOP之內(nèi)的P幀,獲得最佳參考幀編號(hào);根據(jù)所述最佳參考幀編號(hào)從所述參考幀列表中找到對(duì)應(yīng)的最佳參考幀對(duì)所述P幀進(jìn) 行解碼。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,解析獲取到的所述GOP之內(nèi)的P幀,獲得 最佳參考幀編號(hào)之后,所述方法還包括解析所述P幀,獲得標(biāo)志信息;根據(jù)所述標(biāo)志信息確定所述P幀是否為可能復(fù)現(xiàn)幀;如果所述P幀為可能復(fù)現(xiàn)幀,則將所述P幀解碼后的全幀數(shù)據(jù)加入所述可能復(fù)現(xiàn)幀列表;解碼結(jié)束后執(zhí)行結(jié)束化程序,釋放所述可能復(fù)現(xiàn)幀列表。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述可能復(fù)現(xiàn)幀列表具有預(yù)設(shè)長(zhǎng)度,加入 所述可能復(fù)現(xiàn)幀列表中的可能復(fù)現(xiàn)幀解碼后的全幀數(shù)據(jù)從預(yù)設(shè)值開始編號(hào),如果加入所述 可能復(fù)現(xiàn)幀列表的可能復(fù)現(xiàn)幀解碼后的全幀數(shù)據(jù)的數(shù)量大于所述可能復(fù)現(xiàn)幀列表的預(yù)設(shè) 長(zhǎng)度的最大值,則去掉所述可能復(fù)現(xiàn)幀列表中編號(hào)最小的可能復(fù)現(xiàn)幀解碼后的全幀數(shù)據(jù), 并根據(jù)以上策略對(duì)所述可能復(fù)現(xiàn)幀列表中的可能復(fù)現(xiàn)幀解碼后的全幀數(shù)據(jù)進(jìn)行重新編號(hào)。
10.一種編碼器,所述編碼器包括采集單元,其特征在于,所述編碼器還包括構(gòu)建單元,用于在編碼初始化后構(gòu)建可能復(fù)現(xiàn)幀列表和參考幀列表,所述可能復(fù)現(xiàn)幀 列表用于存放待編碼視頻畫面的縮略圖數(shù)據(jù)及其編碼后的完整重構(gòu)幀數(shù)據(jù),所述參考幀列 表包含所述可能復(fù)現(xiàn)幀列表和前幀重構(gòu)畫面數(shù)據(jù);第一編碼單元,用于將所述采集單元采集到的每一個(gè)GOP之內(nèi)的待編碼的第一幀視頻 畫面編為I幀,獲得所述I幀的完整重構(gòu)幀數(shù)據(jù);第二編碼單元,用于對(duì)所述采集單元采集到的所述GOP之內(nèi)除所述待編碼的第一幀視 頻畫面以外的其他待編碼視頻畫面,如果編為P幀,則從所述參考幀列表中選擇最佳參考 幀,利用所述最佳參考幀將所述其他待編碼視頻畫面編為P幀,將所述最佳參考幀的編號(hào)放入所述P幀的編碼碼流中,獲得所述P幀的完整重構(gòu)幀數(shù)據(jù);第一處理單元,用于在所述P幀為可能復(fù)現(xiàn)幀時(shí),為所述P幀的原始畫面創(chuàng)建縮略圖, 獲得所述P幀的縮略圖數(shù)據(jù),并將所述P幀的縮略圖數(shù)據(jù)和所述P幀的完整重構(gòu)幀數(shù)據(jù)加 入所述可能復(fù)現(xiàn)幀列表;第二處理單元,用于在編碼結(jié)束后執(zhí)行結(jié)束化程序,釋放所述可能復(fù)現(xiàn)幀列表。
11.根據(jù)權(quán)利要求10所述的編碼器,其特征在于,所述第二編碼單元包括判斷模塊,用于判斷待編碼視頻畫面的前一幀視頻畫面是否在所述可能復(fù)現(xiàn)幀列表中;確定模塊,用于當(dāng)所述判斷模塊的判斷結(jié)果為待編碼視頻畫面的前一幀視頻畫面在所 述可能復(fù)現(xiàn)幀列表中時(shí),確定所述前一幀視頻畫面對(duì)應(yīng)的完整重構(gòu)幀為最佳參考幀;其中,所述確定模塊還用于當(dāng)所述判斷模塊的判斷結(jié)果為待編碼視頻畫面的前一幀視 頻畫面不在所述可能復(fù)現(xiàn)幀列表中時(shí),計(jì)算所述參考幀列表中每一幅縮略圖的每一個(gè)像素 值與待編碼視頻畫面的縮略圖的相應(yīng)行列的像素值的差的絕對(duì)值,統(tǒng)計(jì)對(duì)應(yīng)每一幅縮略圖 的所述絕對(duì)值中零的個(gè)數(shù),如果對(duì)應(yīng)所有縮略圖的所述絕對(duì)值中零的個(gè)數(shù)與所述縮略圖的 總象素?cái)?shù)的商中的最大值大于第一閾值,則確定相應(yīng)的縮略圖對(duì)應(yīng)的完整重構(gòu)幀為最佳參 考幀;如果對(duì)應(yīng)所有縮略圖的所述絕對(duì)值中零的個(gè)數(shù)與所述縮略圖的總象素?cái)?shù)的商中的最 大值不大于所述第一閾值,則確定所述參考幀列表中當(dāng)前待編碼視頻畫面的前一幀視頻畫 面對(duì)應(yīng)的完整重構(gòu)幀為最佳參考幀;或者,所述確定模塊還用于當(dāng)所述判斷模塊的判斷結(jié)果為待編碼視頻畫面的前一幀視 頻畫面不在所述可能復(fù)現(xiàn)幀列表中時(shí),計(jì)算所述可能復(fù)現(xiàn)幀列表中每一幅縮略圖的每一個(gè) 像素值與待編碼視頻畫面的縮略圖的相應(yīng)行列的像素值的差的絕對(duì)值的和,以及計(jì)算所述 可能復(fù)現(xiàn)幀列表中每一幅縮略圖的每一個(gè)像素值與待編碼視頻畫面的縮略圖的相應(yīng)行列 的像素值的和,如果對(duì)應(yīng)所有縮略圖的前者之和與后者之和的比值中的最小值小于第二閾 值,則確定相應(yīng)的縮略圖對(duì)應(yīng)的完整重構(gòu)幀為最佳參考幀;如果對(duì)應(yīng)所有縮略圖的前者之 和與后者之和的比值中的最小值不小于所述第二閾值,則確定所述參考幀列表中當(dāng)前待編 碼視頻畫面的前一幀視頻畫面對(duì)應(yīng)的完整重構(gòu)幀為最佳參考幀。
12.根據(jù)權(quán)利要求11所述的編碼器,其特征在于,所述第一處理單元為所述P幀的原始 畫面創(chuàng)建的縮略圖的長(zhǎng)寬,與所述待編碼視頻畫面的縮略圖的長(zhǎng)寬相同。
13.根據(jù)權(quán)利要求10所述的編碼器,其特征在于,所述第一處理單元具體用于在所述P 幀中P塊所占百分比大于等于第三閾值時(shí),確定所述P幀為一般參考幀;在所述P幀中P塊 所占百分比小于所述第三閾值時(shí),確定所述P幀為可能復(fù)現(xiàn)幀。
14.根據(jù)權(quán)利要求13所述的編碼器,其特征在于,所述第一處理單元還用于將所述P幀 是一般參考幀或者可能復(fù)現(xiàn)幀的標(biāo)志信息放入所述P幀的編碼碼流中。
15.一種解碼器,所述解碼器包括獲取單元,其特征在于,所述解碼器還包括構(gòu)建單元,用于在解碼初始化后構(gòu)建可能復(fù)現(xiàn)幀列表和參考幀列表,所述可能復(fù)現(xiàn)幀 列表用于存放待解碼視頻畫面的壓縮碼流解碼后的全幀數(shù)據(jù),所述參考幀列表包含所述可 能復(fù)現(xiàn)幀列表和前幀重構(gòu)畫面數(shù)據(jù);第一解碼單元,用于對(duì)所述獲取單元獲取到的每一個(gè)GOP之內(nèi)的I幀進(jìn)行解碼;第一解析單元,用于解析所述獲取單元獲取到的所述GOP之內(nèi)的P幀,獲得最佳參考幀編號(hào);第二解碼單元,用于根據(jù)所述最佳參考幀編號(hào)從所述參考幀列表中找到對(duì)應(yīng)的最佳參 考幀對(duì)所述P幀進(jìn)行解碼。
16.根據(jù)權(quán)利要求15所述的解碼器,其特征在于,所述解碼器還包括 第二解析單元,用于解析所述P幀,獲得標(biāo)志信息; 判斷單元,用于根據(jù)所述標(biāo)志信息確定所述P幀是否為可能復(fù)現(xiàn)幀; 第一處理單元,用于在所述P幀為可能復(fù)現(xiàn)幀時(shí),將所述P幀解碼后的全幀數(shù)據(jù)加入所 述可能復(fù)現(xiàn)幀列表;第二處理單元,用于在解碼結(jié)束后執(zhí)行結(jié)束化程序,釋放所述可能復(fù)現(xiàn)幀列表。
全文摘要
一種視頻多幀預(yù)測(cè)編解碼方法和裝置,該編碼方法包括編碼初始化后構(gòu)建可能復(fù)現(xiàn)幀列表和參考幀列表;將采集到的每一個(gè)GOP之內(nèi)的待編碼的第一幀視頻畫面編為I幀,得到該I幀的完整重構(gòu)幀數(shù)據(jù);對(duì)于采集到的所述GOP之內(nèi)的其他待編碼視頻畫面,若編為P幀,則執(zhí)行以下步驟從所述參考幀列表中選擇最佳參考幀,利用最佳參考幀將其他待編碼視頻畫面編為P幀,將最佳參考幀的編號(hào)放入該P(yáng)幀的編碼碼流中,得到該P(yáng)幀的完整重構(gòu)幀數(shù)據(jù);確定該P(yáng)幀是否為可能復(fù)現(xiàn)幀,若是,為該P(yáng)幀的原始畫面創(chuàng)建縮略圖,得到該P(yáng)幀的縮略圖數(shù)據(jù);將該P(yáng)幀的縮略圖數(shù)據(jù)和該P(yáng)幀的完整重構(gòu)幀數(shù)據(jù)加入所述可能復(fù)現(xiàn)幀列表;執(zhí)行編碼結(jié)束化程序釋放可能復(fù)現(xiàn)幀列表。
文檔編號(hào)H04N7/32GK102075756SQ20111003029
公開日2011年5月25日 申請(qǐng)日期2011年1月27日 優(yōu)先權(quán)日2011年1月27日
發(fā)明者李闖, 牛長(zhǎng)鋒 申請(qǐng)人:北京視博云科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1