視頻編碼方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻編碼技術(shù)領(lǐng)域,尤其涉及一種視頻編碼方法及裝置。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)的發(fā)展,對(duì)多媒體服務(wù)尤其是視頻服務(wù)的需求出現(xiàn)加速增長的趨勢。視頻編解碼技術(shù)作為多媒體應(yīng)用的核心技術(shù),在遠(yuǎn)程監(jiān)控、遠(yuǎn)程教學(xué)、遠(yuǎn)程醫(yī)療診斷、遠(yuǎn)程購物、遠(yuǎn)程探視、視頻會(huì)議及可視電話等應(yīng)用中發(fā)揮著巨大的作用。隨著對(duì)高畫質(zhì)視頻壓縮傳輸?shù)刃枨蟮娜找嬖鲩L,高性能編解碼等相關(guān)技術(shù)已成為研究熱點(diǎn)。隨著主流視頻壓縮標(biāo)準(zhǔn)的發(fā)展,其越來越高的計(jì)算復(fù)雜度與目前DSP (Digital Signal Processor,數(shù)字信號(hào)處理器)的單核計(jì)算能力限制的矛盾相當(dāng)突出。隨著網(wǎng)絡(luò)多媒體服務(wù)對(duì)超高分辨率支持和高清畫質(zhì)流媒體的廣泛應(yīng)用,其對(duì)高性能并行計(jì)算需求也不斷增大,現(xiàn)有的單核DSP結(jié)構(gòu)很難滿足計(jì)算性能的需求,也難以滿足實(shí)時(shí)編解碼的要求。而類似視頻會(huì)議等高清實(shí)時(shí)圖像應(yīng)用則需要實(shí)現(xiàn)多核結(jié)構(gòu)上的高速編碼,以便實(shí)現(xiàn)更大規(guī)模的并行數(shù)據(jù)計(jì)算。
[0003]為實(shí)現(xiàn)在多核DSP上實(shí)時(shí)編碼,通常將原始視頻數(shù)據(jù)分發(fā)給處理器多個(gè)核同時(shí)并行編碼,編碼完成后再對(duì)編碼數(shù)據(jù)進(jìn)行收集封裝。因視頻場景中水平運(yùn)動(dòng)更為常見,所以現(xiàn)有技術(shù)當(dāng)中通常對(duì)視頻幀進(jìn)行統(tǒng)一水平固定分割成多個(gè)部分,然后分別由多個(gè)核進(jìn)行編碼。但是這樣會(huì)帶來一個(gè)問題,以雙核編碼為例,如果將一幀圖像被分割成上下半幀,然后分別進(jìn)行編碼,那么在上下半幀分界處兩側(cè)編碼參數(shù)會(huì)有差別,合并圖像后在視頻播放中會(huì)產(chǎn)生視覺上的中間分隔線差異效果。由于現(xiàn)有技術(shù)中對(duì)視頻幀進(jìn)行多核編碼中的靜態(tài)分割方式較為固定,導(dǎo)致視頻中產(chǎn)生的中間分割線差異效果會(huì)不斷累加,進(jìn)而影響視頻編碼的質(zhì)量。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問題是,提供一種視頻編碼方法及裝置,避免現(xiàn)有技術(shù)中由于靜態(tài)中間分割線導(dǎo)致的差異效果不斷累加而影響視頻編碼質(zhì)量。
[0005]本發(fā)明采用的技術(shù)方案是,所述,包括:
[0006]第一方面,本發(fā)明提供了一種視頻編碼方法,應(yīng)用于多核視頻編碼環(huán)境中,包括:
[0007]在當(dāng)前幀圖像不是視頻中第一幀圖像的情況下,檢測所述視頻中上一幀圖像的第一劃分方式;
[0008]對(duì)所述當(dāng)前幀圖像采用第二劃分方式進(jìn)行劃分,所述第二劃分方式不同于所述第一劃分方式;
[0009]對(duì)從所述當(dāng)前幀圖像中劃分后的圖像進(jìn)行編碼。
[0010]進(jìn)一步的,所述第二劃分方式不同于所述第一劃分方式,包括:針對(duì)視頻中的圖像幀劃分時(shí)的劃分位置不同。
[0011]進(jìn)一步的,所述第二劃分方式不同于所述第一劃分方式,還包括:劃分出的子圖像的個(gè)數(shù)不同。
[0012]進(jìn)一步的,所述第一劃分方式和第二劃分方式均包括:將視頻中的圖像幀劃分為至少兩個(gè)子圖像。
[0013]進(jìn)一步的,所述將視頻中的圖像幀劃分為至少兩個(gè)子圖像,包括:
[0014]將所述視頻中的圖像幀水平劃分為至少兩個(gè)子圖像;
[0015]或者,將所述視頻中的圖像幀垂直劃分為至少兩個(gè)子圖像。
[0016]進(jìn)一步的,劃分得到的各子圖像大小相同。
[0017]第二方面,本發(fā)明還提供一種一種視頻編碼裝置,包括:
[0018]檢測模塊,用于在當(dāng)前幀圖像不是視頻中第一幀圖像的情況下,檢測所述視頻中上一巾貞圖像的第一劃分方式;
[0019]劃分模塊,用于對(duì)所述當(dāng)前幀圖像采用第二劃分方式進(jìn)行劃分,所述第二劃分方式不同于所述第一劃分方式;
[0020]編碼模塊,用于對(duì)從所述當(dāng)前幀圖像中劃分后的圖像進(jìn)行編碼。
[0021]進(jìn)一步的,所述第二劃分方式不同于所述第一劃分方式,包括:針對(duì)視頻中的圖像幀劃分時(shí)的劃分位置不同。
[0022]進(jìn)一步的,所述第一劃分方式和第二劃分方式均包括:將視頻中的圖像幀劃分為至少兩個(gè)子圖像。
[0023]第三方面,本發(fā)明還提供了一種視頻編碼終端,包括:
[0024]處理器,用于在當(dāng)前幀圖像不是視頻中第一幀圖像的情況下,檢測所述視頻中上一幀圖像的第一劃分方式;對(duì)所述當(dāng)前幀圖像采用第二劃分方式進(jìn)行劃分,所述第二劃分方式不同于所述第一劃分方式;對(duì)從所述當(dāng)前幀圖像中劃分后的圖像進(jìn)行編碼。
[0025]采用上述技術(shù)方案,本發(fā)明至少具有下列優(yōu)點(diǎn):
[0026]本發(fā)明所述視頻編碼方法及裝置,在視頻多核編碼過程中對(duì)視頻中的每一幀圖像采用動(dòng)態(tài)的分割方式,進(jìn)而避免了現(xiàn)有技術(shù)中由于靜態(tài)中間分割線的差異效果不斷累加而影響視頻編碼質(zhì)量的問題。
【附圖說明】
[0027]圖1是本發(fā)明第一實(shí)施例的視頻編碼方法方法流程圖;
[0028]圖2是本發(fā)明第一實(shí)施例中幀圖像劃分的示意圖;
[0029]圖3為本發(fā)明第一實(shí)施例中幀圖像水平劃分的示意圖;
[0030]圖4為本發(fā)明第一實(shí)施例中幀圖像垂直劃分的示意圖;
[0031]圖5為本發(fā)明第二實(shí)施例中視頻編碼裝置示意圖;
[0032]圖6為本發(fā)明第三實(shí)施例中視頻編碼終端示意圖。
【具體實(shí)施方式】
[0033]為更進(jìn)一步闡述本發(fā)明為達(dá)成預(yù)定目的所采取的技術(shù)手段及功效,以下結(jié)合附圖及較佳實(shí)施例,對(duì)本發(fā)明進(jìn)行詳細(xì)說明如后。
[0034]本發(fā)明第一實(shí)施例,一種視頻編碼方法,應(yīng)用于多核視頻編碼環(huán)境中,如圖1所示,包括以下具體步驟:
[0035]步驟S101,在當(dāng)前幀圖像不是視頻中第一幀圖像的情況下,檢測視頻中上一幀圖像的第一劃分方式。
[0036]具體的,首先判斷視頻中當(dāng)前需要進(jìn)行編碼的幀圖像是不是為IDR(Instantaneous Decoding Refresh,解碼立即刷新)巾貞,由于視屏當(dāng)中IDR巾貞為視頻中的第一幀圖像,那么如果檢測到當(dāng)前幀圖像為IDR幀,那么也就是視頻中的第一幀圖像。如果檢測到當(dāng)前幀圖像不是IDR幀,那么檢測上一幀圖像編碼中的圖像劃分方式,即第一劃分方式。
[0037]步驟S102,對(duì)當(dāng)前幀圖像采用第二劃分方式進(jìn)行劃分,第二劃分方式不同于所述第一劃分方式。
[0038]具體的,當(dāng)檢測到視頻中當(dāng)前幀圖像的上一幀圖像劃分方式后,對(duì)視頻中當(dāng)前幀圖像進(jìn)行劃分,即第二劃分方式。其中,第二劃分方式要與第一劃分方式不同,使得視頻中相鄰的幀圖像劃分方式不同,這樣通過動(dòng)態(tài)的調(diào)整視頻中幀圖像每幀中間分割線的位置,使后一幀圖像的中間分割線不與前一幀圖像的中間分割線重合,避免了對(duì)視頻中每一幀圖像都采用相同的劃分方式而出現(xiàn)的中間分割線疊加的現(xiàn)象,保證了視頻的質(zhì)量。
[0039]在當(dāng)前幀圖像不是IDR幀的情況下,若定義IDR幀為第O巾貞,那么還可以檢測當(dāng)前需要編碼的幀圖像與IDR幀的幀距,如果幀距為偶數(shù),那么當(dāng)前需要編碼的幀圖像可以采用與IDR幀相同的劃分方式。如果當(dāng)前需要編碼的幀圖像與IDR幀的幀距為奇數(shù),可以采用與IDR幀圖像不同的劃分方式,這樣即使當(dāng)前幀圖像與IDR幀圖像相鄰,也不會(huì)使得當(dāng)前幀圖像與IDR幀圖像的劃分方式相同。采用當(dāng)前需要編碼的幀圖像與IDR幀的幀距奇偶方式,即使只采用兩種幀圖像的劃分方式,也能避免視頻中相鄰兩幀圖像劃分方式相同的情況,當(dāng)然,幀圖像的劃分方式越多,越能避免對(duì)視頻中每一幀圖像都采用相同的劃分方式而出現(xiàn)的中間分割線疊加的現(xiàn)象。另外,本發(fā)明還可以根據(jù)視頻中幀圖像編碼時(shí)分配的幀編號(hào)frame_num來選擇各巾貞圖像所需采用的劃分方式。其中,IDR巾貞的frame_num值為O,后續(xù)的幀圖像的frame_num值為與IDR的幀距,這樣可以有目的的對(duì)視頻中需要編碼的幀圖像進(jìn)行選擇幀圖像劃分方式。
[0040]進(jìn)一步的,對(duì)視頻中幀圖像的劃分方式中,可以采用多種方式對(duì)編碼的幀圖像進(jìn)行劃分,如:水平劃分方式和垂直劃分方式。
[0041]圖2給出了本發(fā)明第一實(shí)施例中幀圖像劃分的示意圖。
[0042]如圖2所示,將視頻中的幀圖像劃分為4個(gè)部分,得到4個(gè)子圖像:片O、片1、片2和片3。分別將片O、片1、片2和片3交給DSP1、DSP2、DSP3和DSP4進(jìn)行同時(shí)并行編碼處理。
[0043]圖3為本發(fā)明第一實(shí)施例中幀圖像水平劃分的示意圖。
[0044]如圖3所示,圖3中給出了連續(xù)的三個(gè)幀圖像,如圖把中間的2j幀圖像看做當(dāng)前幀圖像,那么首先檢查視頻中上一幀圖像的劃分方式,即檢測圖3中的2j_l幀圖像的劃分方式。由于當(dāng)前幀圖像和上一幀圖像都采用了水平劃分的方式對(duì)幀圖像進(jìn)行劃分,因此,可以通過調(diào)整當(dāng)前幀圖像的劃分子圖像的個(gè)數(shù)或大小的不同,避免使當(dāng)前幀圖像的具體劃分方式與上一幀圖像的具體劃分方式相同,這樣也就能避免了使當(dāng)前幀圖像產(chǎn)生與上一幀圖像劃分時(shí)的中間分割線位置相同的問題。同理,對(duì)下一幀圖像進(jìn)行具體的劃分時(shí)要避免與當(dāng)前幀圖像相同的具體劃分方式。
[0045]從圖3中可以看出,視頻圖像中相鄰的幀圖像劃分方式不同,其目的就是使相鄰的幀圖像產(chǎn)生的中間分割線的位置不同。如圖3中第2j-l幀圖像中產(chǎn)生的中間分割線為L1、L2…Ln-1的位置與第2j幀圖像中產(chǎn)生的中間分割線L1、L2…Ln-1的位置不同。同理,圖4為本發(fā)明第一實(shí)施例中圖像垂直劃分的方法,使得圖4中相鄰的幀圖像產(chǎn)生的中間分割線位置不同,如圖4中第2j-l幀圖像中產(chǎn)生的中間分割線為L1、L2…Ln-1的位置與第2j幀圖像中產(chǎn)生的中間分割線L1、L2…Ln-1的位置不同。
[0046]另外,需要說明的是,本發(fā)明實(shí)施例中對(duì)視頻幀圖像編碼的劃分方式不限于水平劃分和垂直劃分,在其它實(shí)施例中還可以采用其他的劃分方式。