專利名稱:一種視頻編碼、解碼方法及編碼、解碼裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻通信技術(shù)領(lǐng)域,尤其涉及一種視頻編碼、解碼方法及編碼、解碼裝置。
背景技術(shù):
在視頻編解碼系統(tǒng)中,可以將圖像劃分成若干圖像塊或者宏塊,并以塊或宏塊為 單位進(jìn)行運(yùn)動(dòng)估計(jì),將運(yùn)動(dòng)估計(jì)后的殘差進(jìn)行變換、量化,最后對量化系數(shù)進(jìn)行熵編碼,將 熵編碼后得到的信息寫入碼流中。在碼流中包含了連續(xù)圖像編碼信息,并可稱其為視頻流。為將所述視頻流發(fā)送給 解碼端,則在編碼端還需要對所得到的視頻流經(jīng)過數(shù)據(jù)分組、歸類等打包處理將其分成若 干含有編碼數(shù)據(jù)的數(shù)據(jù)包,以便通過數(shù)據(jù)包經(jīng)特定網(wǎng)絡(luò)將相應(yīng)的視頻流傳輸至解碼端。其 中,打包處理的目的在于將視頻流進(jìn)行分割以便其可以適合在相應(yīng)網(wǎng)絡(luò)中傳輸。在視頻編解碼系統(tǒng)中,解碼端在接收到編碼端發(fā)來的視頻流對應(yīng)的數(shù)據(jù)包之后會(huì) 以一定規(guī)則將數(shù)據(jù)包中的內(nèi)容以一定方式組合起來,并經(jīng)反量化、反變換、運(yùn)動(dòng)補(bǔ)償處理后 得到重建圖像。在視頻編碼過程中,在將圖像分割成宏塊后還可以將宏塊以一定組織方式組合在 一起稱之為slice (條帶),且相應(yīng)的條帶可以組合為相應(yīng)的條帶集。此時(shí),若可以針對相應(yīng) 的條帶或條帶集采用合理的打包處理方式,則將有效處理網(wǎng)絡(luò)丟包及誤差擴(kuò)散的現(xiàn)象。目前,在H. 264標(biāo)準(zhǔn),針對條帶及條帶集采用的打包方式包括將編碼條帶數(shù)據(jù)得 到的碼流將被封裝在一個(gè)NAL(網(wǎng)絡(luò)提取層)單元中,并將單個(gè)NAL單元打成一個(gè)數(shù)據(jù)包。 在AVS標(biāo)準(zhǔn)中,采用的打包方式包括首先將碼流中每兩個(gè)相鄰的起始碼前綴(0x000001) 之間的數(shù)據(jù)轉(zhuǎn)換為一個(gè)NAL單元,然后,再將單個(gè)NAL單元打成一個(gè)數(shù)據(jù)包。在實(shí)現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題在上述針對視頻流的打包方式中,未考慮條帶的劃分方式及圖像中條帶的組合關(guān) 系等因素,使得相應(yīng)的打包方式處理網(wǎng)絡(luò)丟包及抗誤差的能力大大降低,進(jìn)而導(dǎo)致視頻傳 輸性能下降。
發(fā)明內(nèi)容
本發(fā)明的實(shí)施例提供了一種視頻流傳輸?shù)姆椒把b置,以有效提高抗網(wǎng)絡(luò)丟包及 抗誤差的能力,及解碼性能,改善視頻傳輸效果。本發(fā)明實(shí)施例提供了一種視頻數(shù)據(jù)的打包方法,包括獲取待發(fā)送的條帶集,所述的條帶集包括一個(gè)或多個(gè)條帶;根據(jù)條帶集中的各條帶之間的編碼方式對條帶集中包含的一個(gè)或多個(gè)條帶進(jìn)行 打包操作。本發(fā)明實(shí)施例提供了一種視頻數(shù)據(jù)的打包裝置,包括條帶集獲取單元,用于獲取待發(fā)送的條帶集,所述的條帶集包括一個(gè)或多個(gè)條帶;打包操作單元,用于根據(jù)所述條帶集獲取單元獲取的條帶集中的各條帶之間的編 碼方式對條帶集中包含的一個(gè)或多個(gè)條帶進(jìn)行打包操作。一種視頻編碼的方法,包括在編碼條帶過程中,獲取編碼條帶過程中條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目,并將所述 條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目寫入碼流中;或者,在編碼條帶過程中,獲取編碼條帶包含的宏塊數(shù)目,并將所述宏塊數(shù)目寫入碼流 中。一種視頻編碼裝置,包括條帶編碼單元,用于對當(dāng)前條帶進(jìn)行編碼操作;結(jié)束參數(shù)寫入單元,用于在所述條帶編碼單元進(jìn)行編碼條帶過程中,在編碼碼流 中寫入條帶的結(jié)束參數(shù)信息,所述結(jié)束參數(shù)信息包括條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目,或者, 條帶包含的宏塊數(shù)目。一種視頻解碼的方法,包括在解碼條帶過程中,解析獲得碼流中的條帶的結(jié)束參數(shù)信息,所述的結(jié)束參數(shù)信 息包括條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目,或者,條帶包含的宏塊數(shù)目;根據(jù)所述結(jié)束參數(shù)信息確定條帶的解碼是否完成。一種視頻解碼裝置,包括結(jié)束參數(shù)獲取單元,用于在解碼條帶過程中,解析獲得編碼碼流中的條帶的結(jié)束 參數(shù)信息,所述的結(jié)束參數(shù)信息包括條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目;或者,條帶包含的宏塊 數(shù)目;條帶解碼單元,用于根據(jù)所述結(jié)束參數(shù)獲取單元獲取的結(jié)束參數(shù)信息確定針對當(dāng) 前條帶的解碼是否完成,以實(shí)現(xiàn)針對條帶的解碼操作。由上述本發(fā)明的實(shí)施例提供的技術(shù)方案可以看出,本發(fā)明實(shí)施例由于采用了根據(jù) 條帶之間的編碼方式對視頻流進(jìn)行打包處理的實(shí)現(xiàn)方案,從而可以保證在通過對打包后的 數(shù)據(jù)包進(jìn)行視頻流傳輸?shù)倪^程中,可以有效處理網(wǎng)絡(luò)丟包及誤差擴(kuò)散的現(xiàn)象,提高視頻編 解碼系統(tǒng)的性能。本發(fā)明實(shí)施例中,由于在編碼條帶過程中,向碼流中寫入了相應(yīng)的結(jié)束參 數(shù)信息,從而使得在解碼端可以快速、準(zhǔn)確識別出條帶結(jié)束點(diǎn),從而提高解碼的準(zhǔn)確性,進(jìn) 一步提高了視頻編解碼系統(tǒng)的性能。
圖1為本發(fā)明實(shí)施例中的條帶集劃分示意圖;圖2為本發(fā)明實(shí)施例提供的裝置的結(jié)構(gòu)示意圖;圖3為本發(fā)明實(shí)施例提供的編碼裝置的結(jié)構(gòu)示意圖;圖4為本發(fā)明實(shí)施例提供的解碼裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式本發(fā)明實(shí)施例中,在獲取待發(fā)送的包含一個(gè)或多個(gè)條帶的條帶集后,可以根據(jù)條帶集中的各條帶之間的編碼方式對條帶集中包含的一個(gè)或多個(gè)條帶進(jìn)行打包操作。其中, 所述的編碼方式可以但不限于包括獨(dú)立編碼方式或非獨(dú)立編號方式等。本發(fā)明實(shí)施例中,具體可以根據(jù)條帶集參數(shù)的設(shè)置情況以及網(wǎng)絡(luò)傳輸條件等,以 條帶集或者條帶集中的若干條帶為單位進(jìn)行打包,所述的條帶集中包含一個(gè)或多個(gè)條帶, 所述的條帶可以包括按照掃描順序連續(xù)的宏塊,例如,按照光柵掃描順序連續(xù)的宏塊。其 中,相應(yīng)的條帶集參數(shù)可以包括但不僅限于用于標(biāo)識當(dāng)前條帶是否屬于當(dāng)前條帶集的參 數(shù),或者,用于標(biāo)識當(dāng)前條帶集中條帶是否具有編解碼獨(dú)立性的參數(shù)(即對條帶編碼過程 中是否采用了獨(dú)立編碼方式進(jìn)行編碼的參數(shù)),以及其它與當(dāng)前條帶集打包相關(guān)的參數(shù),等寸。本發(fā)明實(shí)施例中,根據(jù)條帶集參數(shù)對條帶集進(jìn)行打包操作的過程具體可以包括 若條帶集中均為采用獨(dú)立編碼方式編碼的條帶,則將條帶集中的各條帶分別各自獨(dú)立封裝 于一個(gè)數(shù)據(jù)包中;若條帶集中包含至少一個(gè)采用非獨(dú)立編碼方式編碼的條帶,即條帶集中 包含未采用獨(dú)立編碼方式編碼的條帶,則將條帶集中的各條帶組合封裝于一個(gè)數(shù)據(jù)包中。在上述打包處理過程中,當(dāng)需要在一個(gè)數(shù)據(jù)包中封裝一個(gè)條帶集中的多個(gè)條帶 時(shí),則還可以根據(jù)當(dāng)前網(wǎng)絡(luò)帶寬情況進(jìn)行打包處理,具體可以為首先,可以根據(jù)當(dāng)前網(wǎng)絡(luò) 帶寬確定一個(gè)數(shù)據(jù)包中可以封裝的條帶數(shù)目,之后,根據(jù)所述可以封裝的條帶數(shù)目,將條帶 集中的條帶封裝于一個(gè)或多個(gè)符合當(dāng)前網(wǎng)絡(luò)帶寬傳輸要求的數(shù)據(jù)包中。進(jìn)一步地,本發(fā)明實(shí)施例中,可以采用的打包方式包括當(dāng)網(wǎng)絡(luò)帶寬可保證將條帶集中所有條帶一起打包傳輸時(shí),則根據(jù)當(dāng)前條帶集參數(shù) 的設(shè)置,可以將條帶集中的所有條帶作為一個(gè)整體進(jìn)行打包。當(dāng)網(wǎng)絡(luò)帶寬不能保證將條帶 集中所有條帶一起打包時(shí),或者,根據(jù)當(dāng)前條帶集參數(shù)確定不適合將整個(gè)條帶集一起打包 時(shí),則可以根據(jù)網(wǎng)絡(luò)帶寬的情況對條帶集進(jìn)行適當(dāng)分組,將條帶集中的若干條帶分開進(jìn)行 打包,即以條帶集中的若干個(gè)條帶為單位進(jìn)行打包。其中,在當(dāng)網(wǎng)絡(luò)帶寬可保證條帶集中所有條帶一起打包的情況下,若當(dāng)前條帶集 中的至少一個(gè)條帶與其他條帶之間不具有編解碼獨(dú)立性(即未采用獨(dú)立編碼方式進(jìn)行編 碼,而是采用條帶之間依賴其他條帶的數(shù)據(jù)的編碼方式進(jìn)行編碼),則可以將當(dāng)前條帶集中 的所有條帶作為一個(gè)整體進(jìn)行打包。否則,即當(dāng)前條帶集中所有條帶之間具有編碼獨(dú)立性, 可以將條帶集中的各個(gè)條帶單獨(dú)進(jìn)行打包,即在丟掉單個(gè)包時(shí)也不影響針對條帶集中其它 數(shù)據(jù)包的解碼,以保證相應(yīng)的抗誤碼性能。本發(fā)明實(shí)施例中,若需要對條帶集中多于一個(gè)數(shù)目的條帶一起打包,則相對于現(xiàn) 有技術(shù)中采用的打包處理方式,需要在原有基于單個(gè)條帶打包模式的基礎(chǔ)上進(jìn)行相應(yīng)的操 作,以適應(yīng)新的打包形式的需求;例如,對于基于起始碼前綴的碼流(如AVS視頻流等),可 以不再將條帶之間的起始碼分割去掉,只去掉第一個(gè)條帶前的起始碼,對于需要封裝于同 一數(shù)據(jù)包中的該條帶集中的其他條帶,則保留相應(yīng)的條帶起始碼,之后,將多個(gè)條帶映射成 一個(gè)NAL單元;或者,對于基于NAL單元的碼流,不再將單個(gè)條帶映射成一個(gè)NAL單元,而是 將需要的多個(gè)條帶一起組合成一個(gè)NAL單元。需要說明的是,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部 分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取 存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括本發(fā)明實(shí)施例中描述的全部或部分處理步驟,其中,所述的存儲(chǔ)介質(zhì)可以但不限于為R0M/RAM、磁碟或光盤等。為便于對本發(fā)明實(shí)施例的理解,下在將結(jié)合附圖對本發(fā)明實(shí)施例的具體實(shí)施方式
進(jìn)行詳細(xì)說明。假設(shè),采用以下兩個(gè)相關(guān)參數(shù)標(biāo)識條帶集(Dslicejetjndex參數(shù)即條帶集序號,用于標(biāo)識圖像內(nèi)的不同條帶集,具有 相同slice_set_index值的條帶屬于同一條帶集;(2)slice_independency參數(shù)即條帶獨(dú)立性標(biāo)志,用于標(biāo)識當(dāng)前條帶集內(nèi)各條 帶是否具有編解碼獨(dú)立性,例如,可以采用slicejnd印endency值為1時(shí)表示當(dāng)前條帶內(nèi) 宏塊編解碼時(shí)只能使用本條帶內(nèi)的數(shù)據(jù),slicejncbpendency值為0時(shí)表示當(dāng)前條帶內(nèi)宏 塊編解碼時(shí)可以使用本幅圖像內(nèi)具有相同slice_set_index的條帶數(shù)據(jù),即同一條帶集中 的其他條帶對應(yīng)的數(shù)據(jù)。相應(yīng)的條帶集劃分的方式可以參照圖1所示,其中,Α,Β0,C,Bi,D,B2,E為各個(gè)條 帶;Row 0 Row 7為圖像中的8個(gè)宏塊行,0 7為宏塊行在圖像中的垂直位置;Col 0 Clo 7為圖像中8個(gè)宏塊列,O 7為宏塊列在圖像中的水平位置。假設(shè)A,C,D同屬一個(gè)條帶集,BO, Bi, B2屬于另一個(gè)條帶集,條帶E屬于第三個(gè)條 帶集;則可以令 A,C,D 三個(gè)條帶 slice_set_index 為 0,B0,B1,B2 三條帶 slice_set_index 為 1 ;E 的 slice_set_index 為 2 ;各條帶對應(yīng)的slice_ind印endency值可以設(shè)置為A,C,D三個(gè)條帶的slice_ independency值分別設(shè)置為1,1,1, BO, Bi, B2三個(gè)條帶的slice_ind印endency值分別設(shè) 置為0,0,0 ;條帶E獨(dú)自屬于一個(gè)條帶集,故其slicejnd印endency值可以設(shè)置為1。根據(jù)上述slicejnd印endency值的設(shè)置可知A,C,D三個(gè)條帶中任一條帶內(nèi)宏塊 的解碼處理不能使用其他兩個(gè)條帶的數(shù)據(jù);B0,Bi,B2三個(gè)條帶中任一條帶內(nèi)宏塊的解碼 處理可以使用其他兩個(gè)條帶的數(shù)據(jù);E條帶內(nèi)宏塊的解碼處理不能使用其它條帶的數(shù)據(jù)。針對圖1所示的圖像,當(dāng)網(wǎng)絡(luò)帶寬可保證條帶集中所有條帶一起打包時(shí),具體可 以采用以下打包處理方式對各條帶進(jìn)行打包(1)針對條帶A,C,D的打包方式由于條帶集1中的三個(gè)條帶A,C,D編解碼具有獨(dú)立性,因此可以將A,C,D三個(gè) 條帶任意組合進(jìn)行打包;若為了保證一定的抗誤碼性能,則可以將A,C,D分開進(jìn)行打包,這 樣,若其中任意一個(gè)包丟失將不會(huì)影響針對其它包的解碼操作;(2)針對條帶B0,Bi, B2的打包方式由于條帶集2中的三個(gè)條帶B0,Bi, B2編解碼不具有獨(dú)立性,因此可以將B0,Bi, B2三個(gè)條帶整體進(jìn)行打包;例如,對于AVS的碼流,只需將BO條帶碼流前的起始碼前綴去 掉,到B2條帶的數(shù)據(jù)結(jié)束為止,映射成一個(gè)NAL單元;對于以NAL為單元的H. 264標(biāo)準(zhǔn)中, 則可以將條帶B0,Bi,B2的數(shù)據(jù)組合成一個(gè)NAL單元;(3)針對條帶E的打包方式由于條帶E獨(dú)自成為一個(gè)條帶集,且其編碼具有獨(dú)立性,故可以對其單獨(dú)進(jìn)行打 包。本發(fā)明實(shí)施例還提供了一種視頻數(shù)據(jù)的打包裝置,其具體實(shí)現(xiàn)結(jié)構(gòu)如圖2所示, 可以包括以下處理單元
(1)條帶集獲取單元,用于獲取待發(fā)送的條帶集,所述的條帶集包括一個(gè)或多個(gè) 條帶,其中,所述的條帶可以為按照掃描順序連續(xù)的宏塊,如按照光柵掃描順序連續(xù)的宏塊 等;(2)打包操作單元,用于根據(jù)所述條帶集獲取單元獲取的條帶集中的各條帶之間 的編碼方式對條帶集中包含的一個(gè)或多個(gè)條帶進(jìn)行打包操作;該打包操作單元具體可以包括以下至少一個(gè)單元第一打包處理單元,用于在條帶集中均為采用獨(dú)立編碼方式編碼的條帶時(shí),將條 帶集中的各條帶分別各自獨(dú)立封裝于一個(gè)數(shù)據(jù)包中;第二打包處理單元,用于在條帶集中包含至少一個(gè)采用非獨(dú)立編碼方式編碼的條 帶(即條帶集中包含未采用獨(dú)立編碼方式編碼的條帶)時(shí),將條帶集中的各條帶組合封裝 于一個(gè)數(shù)據(jù)包中??蛇x地,為靈活適應(yīng)網(wǎng)絡(luò)帶寬對數(shù)據(jù)傳輸?shù)囊螅鄳?yīng)的第二打包處理單元具體 可以包括以下單元條帶數(shù)目確定單元,用于根據(jù)當(dāng)前網(wǎng)絡(luò)帶寬確定一個(gè)數(shù)據(jù)包中可以封裝的條帶數(shù) 目,以便于根據(jù)該條帶數(shù)目確定數(shù)據(jù)包的大??;打包執(zhí)行單元,用于根據(jù)所述條帶數(shù)據(jù)確定單元確定的數(shù)據(jù)包中可以封裝的條帶 數(shù)目,將條帶集中的條帶封裝于一個(gè)或多個(gè)數(shù)據(jù)包中,即以所述條帶數(shù)目個(gè)條帶為單位進(jìn) 行數(shù)據(jù)包的封裝操作??蛇x地,針對不同的碼流,該第二打包處理單元可以包括基于起始碼前綴的碼流打包單元,用于將多個(gè)條帶中的第一個(gè)條帶的起始碼前綴 去掉,其他條帶的起始碼前綴保留,再將多個(gè)條帶映射稱為一個(gè)NAL單元;或者,基于NAL單元的碼流打包單元,用于將需要組合打包的若干個(gè)條帶數(shù)據(jù)組合成一 個(gè)NAL單元。
另外,在一些視頻編解碼技術(shù)中,在編碼過程中,寫入碼流中的條帶數(shù)據(jù)的比特長 度具有不可預(yù)測的特性,從而使得解碼端無法準(zhǔn)確獲知碼流中條帶數(shù)據(jù)的長度,使得解碼 過程無法可靠地進(jìn)行解碼操作為使得在視頻數(shù)據(jù)處理過程中,可以依據(jù)所處理數(shù)據(jù)的結(jié)束判斷條件對相應(yīng)的數(shù) 據(jù)進(jìn)行打包或解包處理。本發(fā)明實(shí)施例還提供了相應(yīng)的條帶集及獨(dú)立條帶對應(yīng)的編解碼結(jié) 束的判斷條件及對應(yīng)的數(shù)據(jù)處理過程,其中,在編碼過程中產(chǎn)生的獨(dú)立條帶即為傳統(tǒng)意義 的條帶,其不含有條帶集參數(shù),在編碼過程中產(chǎn)生的每個(gè)條帶集中的條帶則擁有共同的條 帶集參數(shù)。相應(yīng)的在編碼端,可以在編碼條帶過程中,向編碼碼流中寫入條帶的結(jié)束參數(shù)信 息,以便于解碼端可以根據(jù)該結(jié)束參數(shù)信息判斷針對當(dāng)前條帶的解碼是否結(jié)束。其中,根據(jù)不同的結(jié)束參數(shù)信息,相應(yīng)的寫入條帶的結(jié)束參數(shù)信息的過程具體可 以為以下任一過程(1)獲取編碼條帶過程中條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目(即條帶結(jié)束時(shí),寫入碼流 的比特?cái)?shù)目),并將所述條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目寫入碼流中作為所述結(jié)束參數(shù)信息;可選地,將條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目寫入碼流中的過程具體可以包括在碼流中的條帶數(shù)據(jù)對應(yīng)的比特碼流后寫入特殊標(biāo)識符(如000000000000000000000011或 000000000000000000000000等),該特殊標(biāo)識符用于指示碼流中包含條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目的參數(shù);之后,再在特殊標(biāo)識符后將條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目的參數(shù)寫入碼流中, 且該條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目可以但不限于采用變長碼方式寫入碼流中。(2)獲取編碼條帶包含的宏塊數(shù)目,并將所述宏塊數(shù)目寫入碼流中作為所述結(jié)束 參數(shù)信息;對于條帶編碼過程,編碼端可以在條帶頭寫入當(dāng)前條帶包含的宏塊數(shù)目;對應(yīng)的, 在解碼端,便可以根據(jù)條帶頭中當(dāng)前條帶包含的宏塊數(shù)目判斷針對當(dāng)前條帶的解碼過程是 否結(jié)束,即若解碼宏塊數(shù)目等于當(dāng)前條帶包含的宏塊數(shù)目則解碼過程結(jié)束,否則繼續(xù)針對 當(dāng)前條帶的宏塊的解碼操作。本發(fā)明實(shí)施例中,對于條帶集,編碼端在條帶集編碼結(jié)束后,可以在碼流中寫入條 帶集的結(jié)束標(biāo)識符,用于指示當(dāng)前條帶集編碼結(jié)束,例如,在比特流中寫入一比特信息作為 條帶集的結(jié)束標(biāo)識符等;對應(yīng)的,在解碼端,便可根據(jù)該結(jié)束符判斷當(dāng)前條帶集是否已經(jīng)解 碼結(jié)束,以實(shí)現(xiàn)準(zhǔn)確解碼。本發(fā)明實(shí)施例中,相應(yīng)的條帶集中包含的條帶存在共同的條帶集參數(shù);相應(yīng)的條 帶則不含有條帶集參數(shù),相應(yīng)的條帶可以為條帶集中的條帶,也可以為獨(dú)立條帶。本發(fā)明實(shí)施例還提供了相應(yīng)的視頻解碼的實(shí)現(xiàn)方案,其在解碼條帶過程中,解析 獲得編碼碼流中的條帶的結(jié)束參數(shù)信息;并根據(jù)結(jié)束參數(shù)信息確定針對當(dāng)前條帶的解碼是 否完成,以實(shí)現(xiàn)針對條帶的解碼操作。與編碼端對應(yīng),相應(yīng)的結(jié)束參數(shù)信息可以包括條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目;或 者,條帶包含的宏塊數(shù)目。進(jìn)一步地,若結(jié)束參數(shù)信息為條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目,則解析獲得編碼碼流 中的條帶的結(jié)束參數(shù)信息的過程中,首先解碼獲得碼流中的條帶數(shù)據(jù)對應(yīng)的比特碼流后的 特殊標(biāo)識符,該特殊標(biāo)識符用于指示碼流中包含條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目的參數(shù);在特 殊標(biāo)識符后,可解析獲得條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目。在解碼端,若結(jié)束參數(shù)信息為條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目,則根據(jù)結(jié)束參數(shù)信息 確定針對當(dāng)前條帶的解碼是否完成的過程可以包括(1)在一宏塊或一宏塊行數(shù)據(jù)解碼結(jié)束后,將當(dāng)前比特流指針前移,前移位數(shù)為相 應(yīng)的解碼獲得的條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目;(2)判斷比特流當(dāng)前位置是否為字節(jié)對齊位置,若不是,則判斷當(dāng)前位置的下一個(gè) 字節(jié)開始的位置是否為特殊標(biāo)識符;否則,判斷當(dāng)前位置之后是否為特殊標(biāo)識符;(3)若在上述過程O)中,判斷確定相應(yīng)位置為特殊標(biāo)識符,則條帶解碼結(jié)束,否 則,在比特流指針后移相應(yīng)的條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目后,繼續(xù)解碼下一宏塊或宏塊行 數(shù)據(jù),直至當(dāng)前條帶解碼結(jié)束。在解碼端,若結(jié)束參數(shù)信息為條帶包含的宏塊數(shù)目,則根據(jù)結(jié)束參數(shù)信息確定針 對當(dāng)前條帶的解碼是否完成的過程可以包括解析獲碼流的條帶包含的宏塊數(shù)目,在解碼 條帶過程中,若解碼宏塊數(shù)目等于相應(yīng)的條帶包含的宏塊數(shù)目,則條帶解碼結(jié)束,否則,繼 續(xù)解碼下一宏塊或宏塊行數(shù)據(jù),直至當(dāng)前條帶解碼結(jié)束。下面將結(jié)合條帶集及獨(dú)立條帶的編解碼結(jié)束條件,以基于上下文的自適應(yīng)二元算術(shù)編碼(Context-based Adaptive Binary Arithmatic Coding, CABAC)Μ,)(^115 端針對視頻數(shù)據(jù)的打包處理過程及解碼端針對視頻數(shù)據(jù)的解包處理過程進(jìn)行說明。在CABAC技術(shù)中,比特?cái)?shù)據(jù)的讀寫具有不可預(yù)測性,通常編碼一個(gè)語法元素所需 寫入的比特?cái)?shù)目需要取決于上下文的語法元素,使得解碼端無法獲知從比特流中讀取多少 比特的數(shù)據(jù)作為一個(gè)條帶的數(shù)據(jù),從而給條帶結(jié)束的判斷帶來了困難。也就是說,若假設(shè) CABAC 編碼操作過程為 terminate_slice (),CABAC 解碼操作過程為 decode_terminate (), 則由于CABAC的編碼特性terminatejliceO在編碼端所寫如的比特?cái)?shù)不可事先獲知,因 而使得解碼端亦無法提前獲知條帶解碼結(jié)束decodejerminateO過程所需讀取的比特 數(shù)?;谙鄳?yīng)的CABAC技術(shù)的上述特征,本發(fā)明實(shí)施例中,可以在編碼端和解碼端分 別采用以下處理方式,以解決相應(yīng)的問題。(一 )編碼端在編碼端,記錄terminatejliceO過程所條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目,并可以 但不限于采用變長碼方式將該參數(shù)(即條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目)寫入碼流中。進(jìn)一步地,為使解碼端能夠快速定位獲得該參數(shù),可以在碼流中首先寫入一特殊 標(biāo)識符,該特殊標(biāo)識符當(dāng)前僅當(dāng)寫入terminatejliceO過程所產(chǎn)生比特?cái)?shù)時(shí)存在,即通 過該特殊標(biāo)識符指示碼流中包含條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目的參數(shù),例如,該特殊標(biāo)識符 可以但不限于為000000000000000000000011,即22個(gè)’ 0’再加,11’。相應(yīng)的將該參數(shù) (即條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目)寫入碼流中的過程可以包括當(dāng)條帶數(shù)據(jù)編碼完成后,先 寫入一填充比特’ 1’,之后再寫入填充比特’ 0’直至字節(jié)對齊;字節(jié)對齊后,再向碼流中寫入 該特殊標(biāo)識符,并寫入terminatejliceO過程所條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目;最后再寫 入一填充比特’ 1’,并依次再寫入填充比特’ 0’直至字節(jié)對齊。( 二)解碼端在解碼端,解析該條帶數(shù)據(jù)前,首先在條帶數(shù)據(jù)中找到預(yù)設(shè)好的所述特殊標(biāo)識符, 在該實(shí)施例中假設(shè)該特殊標(biāo)識符為000000000000000000000011,即22個(gè)’ 0’再加,11’ ; 找到所述特殊標(biāo)識符后,則在該標(biāo)識符后以變長碼方式讀取解碼端decodeJerminateO 過程所需讀取的比特?cái)?shù)目,即編碼端terminatejliceO過程所條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù) 目;獲得相應(yīng)的條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目的參數(shù)后,將碼流指針重定位至條帶數(shù)據(jù)開始 處,并解碼條帶數(shù)據(jù)。在解碼條帶數(shù)據(jù)過程中,當(dāng)解碼完畢一宏塊或一宏塊行或若干指定數(shù)目的宏塊數(shù) 據(jù)后,將碼流指針前移,前移的比特位數(shù)為所述decodejerminateO過程所需讀取的比特 數(shù)目(即解碼獲得的條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目);之后,相應(yīng)的處理過程包括以下兩種情 況(1)若比特流當(dāng)前位置(即碼流指針?biāo)赶虻奈恢?不是字節(jié)對齊的位置,則 判斷比特流當(dāng)前位置的下一個(gè)字節(jié)(即字節(jié)對齊位置)開始的M個(gè)比特是否為所述 的特殊標(biāo)識符(在該實(shí)施例中假設(shè)該特殊標(biāo)識符為000000000000000000000011,即22 個(gè)’ 0’再加’ 11’),若是,則解碼過程結(jié)束,還將比特流指針移至碼流中表示所述dec0de_ terminate ()過程所需讀取的比特?cái)?shù)目的參數(shù)之后,若不是,則將比特流指針后移所述 decode_terminate ()過程所需讀取的比特?cái)?shù)目,并繼續(xù)解碼下一宏塊數(shù)據(jù),直至條帶解碼結(jié)束;(2)若比特流當(dāng)前位置(即碼流指針?biāo)赶虻奈恢?為字節(jié)對齊的位置,則判斷當(dāng) 前指針?biāo)赶虻奈恢瞄_始或當(dāng)前指針?biāo)赶虻奈恢玫脑傧乱蛔止?jié)對齊處的M個(gè)比特是否 為所述的特殊標(biāo)識符(在該實(shí)施例中假設(shè)該特殊標(biāo)識符為000000000000000000000011, 即22個(gè)’ 0’再加’ 11’),若是,則條帶解碼結(jié)束,還將比特流指針移至碼流中表示所述 decode_terminate ()過程所需讀取的比特?cái)?shù)目的參數(shù)之后,若不是,則將比特流指針后移 所述decodeterminate ()過程所需讀取的比特?cái)?shù)目,并繼續(xù)解碼下一宏塊數(shù)據(jù),直至條帶解碼結(jié)束。下面再以一個(gè)具體的例子,對上述過程進(jìn)行說明假設(shè),在編碼端,當(dāng)前條帶編碼 結(jié)束后執(zhí)行terminatejliceO過程寫入碼流中的比特?cái)?shù)目(編碼條帶的比特?cái)?shù)目,即 所述條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目)為5,則具體的寫入碼流的方式可以為在terminate sliceO后字節(jié)對齊處寫入22個(gè)0加'11',再以一節(jié)哥倫布碼方式寫入00110 (即表示 條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目為幻。對應(yīng)的,在解碼端,首先在兩條帶起始碼間獲得22個(gè)0 加'11'的位置,然后在其后讀取條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目5,假設(shè)當(dāng)前宏塊解碼結(jié)束 比特流指針指向19的位置,則將比特流指針向前移5個(gè)比特至M的位置,再從該比特流 指針為M的位置繼續(xù)尋找字節(jié)對齊的位置,并從該字節(jié)對齊的位置開始判斷是否為所述 特殊標(biāo)識符,若是,則條帶解碼結(jié)束,否則繼續(xù)解碼下一個(gè)宏塊,周而復(fù)始,直到條帶解碼結(jié) 束ο本發(fā)明實(shí)施例還提供了一種視頻編碼裝置,其具體實(shí)現(xiàn)結(jié)構(gòu)如圖3所示,可以包 括條帶編碼單元301,用于對當(dāng)前條帶進(jìn)行編碼操作;結(jié)束參數(shù)寫入單元302,用于在條帶編碼單元301進(jìn)行編碼條帶過程中,在編碼碼 流中寫入條帶的結(jié)束參數(shù)信息;該結(jié)束參數(shù)信息可以包括條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目; 或者,條帶包含的宏塊數(shù)目。在該裝置中,若相應(yīng)結(jié)束參數(shù)信息為寫入碼流的比特?cái)?shù)據(jù),則結(jié)束參數(shù)寫入單元 302具體可以包括特殊標(biāo)識符寫入單元3021,用于在條帶編碼單元301獲得的碼流中的條帶數(shù)據(jù)對 應(yīng)的比特碼流后寫入特殊標(biāo)識符,該特殊標(biāo)識符用于指示碼流中包含所述條帶結(jié)束時(shí)產(chǎn)生 的比特?cái)?shù)目的參數(shù);比特?cái)?shù)目寫入單元3022,用于在特殊標(biāo)識符寫入單元3021寫入的特殊標(biāo)識符后 將所述條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目的參數(shù)寫入碼流中。上述視頻編碼裝置具體采用的編碼過程在前面方法實(shí)施例中已經(jīng)描述,故在此不再一一詳述。本發(fā)明實(shí)施例還提供了一種視頻解碼裝置,其具體實(shí)現(xiàn)結(jié)構(gòu)如圖4所示,可以包 括結(jié)束參數(shù)獲取單元401,用于在解碼條帶過程中,解析獲得編碼碼流中的條帶的 結(jié)束參數(shù)信息;同樣,該結(jié)束參數(shù)信息可以但不限于包括條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目;或 者,條帶包含的宏塊數(shù)目。
條帶解碼單元402,用于根據(jù)結(jié)束參數(shù)獲取單元401獲取的結(jié)束參數(shù)信息確定針 對當(dāng)前條帶的解碼是否完成,以實(shí)現(xiàn)針對條帶的解碼操作。在該裝置中,若結(jié)束參數(shù)信息為條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目,則上述結(jié)束參數(shù)獲 取單元401具體可以包括特殊標(biāo)識符獲取單元4011,用于解碼獲得碼流中的條帶數(shù)據(jù)對應(yīng)的比特碼流后的 特殊標(biāo)識符,該特殊標(biāo)識符用于指示碼流中包含所述條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目的參數(shù);比特?cái)?shù)目獲取單元4012,用于在特殊標(biāo)識符獲取單元4011獲取的特殊標(biāo)識符后, 解析獲得所述條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目。在該裝置中,若結(jié)束參數(shù)信息為條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目,則上述條帶解碼單 元402具體可以包括指針移位處理單元4021,用于在一宏塊或一宏塊行數(shù)據(jù)解碼結(jié)束后,將當(dāng)前比特 流指針前移,前移位數(shù)為所述條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目;第一判斷單元4022,用于判斷比特流當(dāng)前位置是否為字節(jié)對齊位置;第二判斷單元4023,用于在相應(yīng)的第一判斷單元4022確定當(dāng)前位置不是字節(jié)對 齊位置時(shí),則判斷當(dāng)前位置的下一個(gè)字節(jié)開始的位置是否為所述特殊標(biāo)識符;若確定當(dāng)前 位置為字節(jié)對齊位置,則判斷當(dāng)前位置之后是否為所述特殊標(biāo)識符;判斷結(jié)果處理單元40M,用于在第二判斷單元4023確定相應(yīng)位置為所述特殊標(biāo) 識符,則判定條帶解碼結(jié)束,否則,在比特流指針后移條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目后,繼續(xù) 解碼下一宏塊或宏塊行數(shù)據(jù),直至當(dāng)前條帶解碼結(jié)束。上述視頻解碼裝置具體采用的解碼過程在前面方法實(shí)施例中已經(jīng)描述,故在此不再一一詳述。本發(fā)明實(shí)施例還提供了編解碼系統(tǒng),由上述各實(shí)施例提供的視頻編碼裝置及相應(yīng) 的視頻解碼裝置組成。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可 以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ) 介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì) 可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(Random AccessMemory, RAM)等。綜上所述,由于采用了根據(jù)條帶集參數(shù)(即條帶集編碼方式)對包含一個(gè)或多個(gè) 條帶的條帶集進(jìn)行打包處理,從而可以提高抗網(wǎng)絡(luò)丟包及抗誤差的能力,改善視頻傳輸效 果;例如,當(dāng)條帶集中的各個(gè)條帶之間采用獨(dú)立編碼方式進(jìn)行編碼時(shí),則可以將條帶集中的 各條帶分別打包到不同的數(shù)據(jù)包中,從而可以提高視頻傳輸過程中的抗丟包的能力。進(jìn)一 步地,在將多個(gè)條帶打包到一個(gè)數(shù)據(jù)包的過程中還可以根據(jù)網(wǎng)絡(luò)帶寬進(jìn)行打包,從而使得 打包后的數(shù)據(jù)包可以很好地適應(yīng)網(wǎng)絡(luò)傳輸環(huán)境。以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此, 任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換, 都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍 為準(zhǔn)。
權(quán)利要求
1.一種視頻編碼的方法,其特征在于,包括在編碼條帶過程中,獲取編碼條帶過程中條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目,并將所述條帶 結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目寫入碼流中;或者,在編碼條帶過程中,獲取編碼條帶包含的宏塊數(shù)目,并將所述宏塊數(shù)目寫入碼流中。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,將所述條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目寫入 碼流中的過程包括在碼流中的條帶數(shù)據(jù)對應(yīng)的比特碼流后寫入特殊標(biāo)識符,該特殊標(biāo)識符用于指示碼流 中包含所述條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目的參數(shù);在所述特殊標(biāo)識符后將所述條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目的參數(shù)寫入碼流中。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述的特殊標(biāo)識符包括 000000000000000000000011 或 000000000000000000000000。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目采用變 長碼方式寫入碼流中。
5.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的方法,其特征在于,在針對條帶集的編碼過程中, 該方法還包括在碼流中寫入條帶集的結(jié)束標(biāo)識符,用于指示當(dāng)前條帶集編碼結(jié)束,所述的條帶集包 括一個(gè)或多個(gè)條帶。
6.一種視頻編碼裝置,其特征在于,包括條帶編碼單元,用于對當(dāng)前條帶進(jìn)行編碼操作;結(jié)束參數(shù)寫入單元,用于在所述條帶編碼單元進(jìn)行編碼條帶過程中,在編碼碼流中寫 入條帶的結(jié)束參數(shù)信息,所述結(jié)束參數(shù)信息包括條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目或者條帶包 含的宏塊數(shù)目。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,當(dāng)所述結(jié)束參數(shù)信息為寫入碼流的比特 數(shù)據(jù)時(shí),所述結(jié)束參數(shù)寫入單元包括特殊標(biāo)識符寫入單元,用于在所述條帶編碼單元獲得的碼流中的條帶數(shù)據(jù)對應(yīng)的比特 碼流后寫入特殊標(biāo)識符,該特殊標(biāo)識符用于指示碼流中包含所述條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù) 目的參數(shù);比特?cái)?shù)目寫入單元,用于在所述特殊標(biāo)識符寫入單元寫入的特殊標(biāo)識符后將所述條帶 結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目的參數(shù)寫入碼流中。
8.一種視頻解碼的方法,其特征在于,包括在解碼條帶過程中,解析獲得碼流中的條帶的結(jié)束參數(shù)信息,所述的結(jié)束參數(shù)信息包 括條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目,或者,條帶包含的宏塊數(shù)目;根據(jù)所述結(jié)束參數(shù)信息確定條帶的解碼是否完成。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述解析獲得編碼碼流中的條帶的結(jié)束 參數(shù)信息的過程包括解碼獲得碼流中的條帶數(shù)據(jù)對應(yīng)的比特碼流后的特殊標(biāo)識符,該特殊標(biāo)識符用于指示 碼流中包含所述條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目的參數(shù)的位置;在所述特殊標(biāo)識符后,解析獲得所述條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述的特殊標(biāo)識符包括 000000000000000000000011 或 000000000000000000000000。
11.根據(jù)權(quán)利要求8、9或10所述的方法,其特征在于,所述根據(jù)所述結(jié)束參數(shù)信息確定 針對當(dāng)前條帶的解碼是否完成的過程包括在一宏塊或一宏塊行數(shù)據(jù)解碼結(jié)束后,將當(dāng)前比特流指針前移,前移位數(shù)為所述條帶 結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目;判斷比特流當(dāng)前位置是否為字節(jié)對齊位置,若不是,則判斷比特流指針指向比特流位 置的下一個(gè)字節(jié)開始處是否為所述特殊標(biāo)識符;否則,判斷比特流指針指向比特流位置之 后是否為所述特殊標(biāo)識符,或者判斷比特流指針指向比特流位置之后的下一字節(jié)是否為所 述特殊標(biāo)識符。若判斷確定為所述特殊標(biāo)識符,則條帶解碼結(jié)束,比特流指針移至所述讀取碼流的比 特?cái)?shù)目的參數(shù)之后;否則,在比特流指針后移所述讀取碼流的比特?cái)?shù)目后,繼續(xù)解碼下一宏 塊或宏塊行數(shù)據(jù)。
12.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述根據(jù)所述結(jié)束參數(shù)信息確定針對當(dāng) 前條帶的解碼是否完成的過程包括獲得碼流的條帶包含的宏塊數(shù)目,若解碼宏塊數(shù)目等于所述條帶包含的宏塊數(shù)目,則 條帶解碼結(jié)束。
13.—種視頻解碼裝置,其特征在于,包括結(jié)束參數(shù)獲取單元,用于在解碼條帶過程中,解析獲得編碼碼流中的條帶的結(jié)束參數(shù)信息,所述的結(jié)束參數(shù)信息包括條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目,或者,條帶包含的宏塊數(shù) 目;條帶解碼單元,用于根據(jù)所述結(jié)束參數(shù)獲取單元獲取的結(jié)束參數(shù)信息確定針對當(dāng)前條 帶的解碼是否完成,以實(shí)現(xiàn)針對條帶的解碼操作。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,若所述結(jié)束參數(shù)信息為條帶結(jié)束時(shí)產(chǎn) 生的比特?cái)?shù)目,則所述結(jié)束參數(shù)獲取單元包括特殊標(biāo)識符獲取單元,用于解碼獲得碼流中的條帶數(shù)據(jù)對應(yīng)的比特碼流后的特殊標(biāo)識 符,該特殊標(biāo)識符用于指示碼流中包含所述條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目的參數(shù);比特?cái)?shù)目獲取單元,用于在所述特殊標(biāo)識符獲取單元獲取的特殊標(biāo)識符后,解析獲得 所述條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目。
15.根據(jù)權(quán)利要求13或14所述的裝置,其特征在于,所述條帶解碼單元包括指針移位處理單元,用于在一宏塊或一宏塊行數(shù)據(jù)解碼結(jié)束后,將當(dāng)前比特流指針前 移,前移位數(shù)為所述條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目;第一判斷單元,用于判斷比特流當(dāng)前位置是否為字節(jié)對齊位置;第二判斷單元,用于在所述第一判斷單元確定當(dāng)前位置不是字節(jié)對齊位置,則判斷當(dāng) 前位置的下一個(gè)字節(jié)開始的位置是否為所述特殊標(biāo)識符;若確定當(dāng)前位置為字節(jié)對齊位 置,則判斷當(dāng)前位置之后是否為所述特殊標(biāo)識符;判斷結(jié)果處理單元,用于在所述第二判斷單元確定相應(yīng)位置為所述特殊標(biāo)識符,則判 定條帶解碼結(jié)束,否則,在比特流指針后移所述條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目后,繼續(xù)解碼下 一宏塊或宏塊行數(shù)據(jù)。
全文摘要
一種視頻編碼、解碼方法及編碼、解碼裝置,其中,所述視頻編碼方法包括在解碼條帶過程中,解析獲得碼流中的條帶的結(jié)束參數(shù)信息,所述的結(jié)束參數(shù)信息包括條帶結(jié)束時(shí)產(chǎn)生的比特?cái)?shù)目,或者,條帶包含的宏塊數(shù)目;根據(jù)所述結(jié)束參數(shù)信息確定條帶的解碼是否完成。通過本發(fā)明實(shí)施例,可以依據(jù)所處理數(shù)據(jù)的結(jié)束判斷條件對相應(yīng)的數(shù)據(jù)進(jìn)行打包或解包處理。
文檔編號H04N7/24GK102055963SQ201010135799
公開日2011年5月11日 申請日期2008年6月13日 優(yōu)先權(quán)日2008年6月13日
發(fā)明者何蕓, 毛振, 鄭建鏵, 鄭蕭楨 申請人:華為技術(shù)有限公司, 清華大學(xué)