專利名稱:在圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖象編碼技術(shù)領(lǐng)域,尤其涉及一種圖象編碼中的自適應(yīng)掃描技術(shù)。
背景技術(shù):
圖象編碼包括針對(duì)靜止圖象和活動(dòng)圖象的編碼過(guò)程,其中所述的活動(dòng)圖象的編碼即視頻編碼。以現(xiàn)有的視頻編碼技術(shù)為例,在該技術(shù)中,視頻序列的一幅圖象通常被劃分為若干個(gè)塊進(jìn)行編碼,所說(shuō)的塊為圖象中作為編碼基本單位的象素集合,具體為象素個(gè)數(shù)大于等于1的正方形、長(zhǎng)方形或任意形狀邊界的象素集合。
所說(shuō)的一幅圖象,可以是一幅幀圖象,也可以是一幅場(chǎng)圖象,或者是一幅其它結(jié)構(gòu)象素排列組成的一幅圖象。
在編碼過(guò)程中,通常包括預(yù)測(cè)、變換、量化、掃描和熵編碼等處理。其中,一個(gè)性能優(yōu)越的掃描方式可以在統(tǒng)計(jì)上使得需要編碼的系數(shù)更為集中,并且按照絕對(duì)值從大到小排列,這樣可以更有利于熵編碼,尤其是基于上下文的熵編碼,從而使得壓縮編碼性能進(jìn)一步提高。
在目前已有的國(guó)際視頻編解碼標(biāo)準(zhǔn)中,采用的掃描方式有幀模式和場(chǎng)模式兩種,例如在MPEG2(活動(dòng)圖象專家組,一種視頻圖象壓縮比率較大的編碼標(biāo)準(zhǔn))中,掃描表分為兩種,如表1和表2所示表1為幀模式下的掃描表{0,0},{1,0},{0,1},{0,2},{1,1},{2,0},{3,0},{2,1},{1,2},{0,3},{0,4},{1,3},{2,2},{3,1},{4,0},{5,0},
{4,1},{3,2},{2,3},{1,4},{0,5},{0,6},{1,5},{2,4},{3,3},{4,2},{5,1},{6,0},{7,0},{6,1},{5,2},{4,3},{3,4},{2,5},{1,6},{0,7},{1,7},{2,6},{3,5},{4,4},{5,3},{6,2},{7,1},{7,2},{6,3},{5,4},{4,5},{3,6},{2,7},{3,7},{4,6},{5,5},{6,4},{7,3},{7,4},{6,5},{5,6},{4,7},{5,7},{6,6},{7,5},{7,6},{6,7},{7,7}表2為場(chǎng)模式下的掃描表{0,0},{0,1},{0,2},{1,0},{0,3},{0,4},{1,1},{1,2},{0,5},{0,6},{1,3},{2,0},{2,1},{0,7},{1,4},{2,2},{3,0},{1,5},{1,6},{2,3},{3,1},{3,2},{4,0},{1,7},{2,4},{4,1},{2,5},{3,3},{4,2},{2,6},{3,4},{4,3},{5,0},{5,1},{2,7},{3,5},{4,4},{5,2},{6,0},{5,3},{3,6},{4,5},{6,1},{6,2},{5,4},{3,7},{4,6},{6,3},{5,5},{4,7},{6,4},{5,6},{6,5},{5,7},{6,6},{7,0},{6,7},{7,1},{7,2},{7,3},{7,4},{7,5},{7,6},{7,7}在表1和表2中的阿拉伯?dāng)?shù)字表示塊中象素的掃描順序,分別用于幀模式和場(chǎng)模式。之所以這樣使用兩種掃描表是因?yàn)閷?duì)視頻序列進(jìn)行按幀模式進(jìn)行編碼和按場(chǎng)模式進(jìn)行編碼所產(chǎn)生的系數(shù)的統(tǒng)計(jì)分布有一定的差別,采用不同的掃描方式更有利于編碼性能的提高。
然而,對(duì)于已有的國(guó)際視頻編解碼標(biāo)準(zhǔn),無(wú)論是經(jīng)典的MPEG2還是目前最新的H.264/AVC,其中的掃描在除了幀模式和場(chǎng)模式自適應(yīng)之外,并沒(méi)有再利用其他特性來(lái)自適應(yīng)的選擇掃描方式,因此,大大限制了圖象編碼壓縮性能的進(jìn)一步提高。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種圖象編碼中實(shí)現(xiàn)自適應(yīng)掃描的方法,通過(guò)該方法可以利用編碼的更多特性進(jìn)行自適應(yīng)選擇相應(yīng)的掃描方式,從而可以有效提高編碼壓縮性能,進(jìn)而提高編碼性能。
本發(fā)明的目的是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的本發(fā)明提供了一種在圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,包括A、在編、解碼端,設(shè)置圖象的各統(tǒng)計(jì)特性對(duì)應(yīng)的一張或多張掃描表;B、根據(jù)對(duì)應(yīng)的圖象的統(tǒng)計(jì)特性為待編碼圖象塊從所述的一張或多張掃描表中選擇確定一個(gè)掃描表,并利用該掃描表對(duì)待編碼圖象塊進(jìn)行掃描;C、在解碼端,根據(jù)接收到的圖象編碼信息確定圖象的統(tǒng)計(jì)特性,并根據(jù)該統(tǒng)計(jì)特性為接收到的編碼信息從所述的一張或多張掃描表中選擇確定一個(gè)掃描表,并利用該掃描表對(duì)所述編碼信息進(jìn)行解碼掃描。
所述的方法還包括D、在圖象序列的開(kāi)始或者是序列中的任意位置確定一幅或多幅圖象,并基于一幅或多幅圖象的統(tǒng)計(jì)特性生成一張或多張對(duì)應(yīng)不同統(tǒng)計(jì)特性的掃描表,并執(zhí)行步驟A,在圖象序列中的其他圖象位置處,不再執(zhí)行步驟A。
所述的方法還包括當(dāng)需要對(duì)編碼過(guò)程中應(yīng)用的掃描表進(jìn)行更新時(shí),則執(zhí)行步驟D。
所述的步驟D還包括將生成的一張或多張掃描表的信息寫(xiě)入碼流中,送至解碼端,用于在解碼端進(jìn)行解碼時(shí),根據(jù)所述的掃描表信息進(jìn)行解碼操作。
所述的掃描表中承載的信息包括各個(gè)掃描表中針對(duì)的編碼塊中系數(shù)的掃描順序。
所述的圖象的統(tǒng)計(jì)特性與掃描表的關(guān)系包括不同統(tǒng)計(jì)特性的圖象對(duì)應(yīng)不同的掃描表,一種類型的統(tǒng)計(jì)特性的圖象對(duì)應(yīng)一張掃描表。
所述的圖象的統(tǒng)計(jì)特性包括圖象的前向預(yù)測(cè)特性、雙向預(yù)測(cè)特性和通過(guò)初始化掃描表對(duì)圖象進(jìn)行分類后獲得的統(tǒng)計(jì)特性信息。
在所述的步驟A中,所述的一幅或多幅圖象包括當(dāng)前待編碼圖象,或者,當(dāng)前待編碼圖象和已經(jīng)編碼的圖象。
所述的步驟B包括B1、根據(jù)待編碼圖象及已經(jīng)編碼的圖象的統(tǒng)計(jì)特性為待編碼圖象從生成的一張或多張掃描表中選擇確定一張掃描表;B2、利用確定的一張掃描表對(duì)待編碼圖象進(jìn)行掃描。
所述的步驟B1還包括B11、在編碼端,根據(jù)圖象本身的特性和已經(jīng)編碼圖象的編碼信息,以及當(dāng)前編碼塊的編碼信息和已經(jīng)編碼的編碼塊的編碼信息確定待編碼圖象及已經(jīng)編碼的圖象的統(tǒng)計(jì)特性。
所述的步驟B11中包括還根據(jù)編碼塊和已經(jīng)編碼的編碼塊的旁信息確定待編碼圖象及已經(jīng)編碼的圖象的統(tǒng)計(jì)特性。
所述的步驟B中,為待編碼圖象選擇掃描表的方式包括通過(guò)圖象的統(tǒng)計(jì)特性首先選擇待編碼的圖象需要使用的掃描表組,之后,再進(jìn)一步使用圖象的統(tǒng)計(jì)特性從所述的掃描表組中選擇一張掃描表。
所述的步驟B還包括在編碼后的碼流中設(shè)置標(biāo)識(shí)信息,該標(biāo)識(shí)用于表明該碼流是執(zhí)行所述步驟B后獲得的碼流信息。
所述的步驟C中,選擇掃描表的過(guò)程包括首先,根據(jù)圖象的統(tǒng)計(jì)特性選用不同的掃描表組,之后,根據(jù)已解碼的編碼塊的統(tǒng)計(jì)特性得到當(dāng)前塊的統(tǒng)計(jì)特性信息,根據(jù)該統(tǒng)計(jì)特性信息從所述掃描表組中選擇一張掃描表。
本發(fā)明還提供了一種圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,包括E、確定一組固定的初始掃描表組;F、根據(jù)當(dāng)前待編碼的圖象的編碼信息確定其統(tǒng)計(jì)特性,根據(jù)所述統(tǒng)計(jì)特性,從初始掃描表組中為每一類選擇一張用于對(duì)該類圖象進(jìn)行掃描的掃描表,并對(duì)各類的編碼塊的編碼信息進(jìn)行統(tǒng)計(jì)更新各自對(duì)應(yīng)的掃描表,將更新后的掃描表加入碼流,發(fā)送給解碼端;
G、在解碼端,利用當(dāng)前的掃描表組對(duì)接收到的碼流進(jìn)行解碼,并利用更新后的掃描表更新本地保存的掃描表組信息。
所述的步驟F中包括分類圖象編碼塊的處理,該處理包括利用編碼塊的相鄰編碼塊的分類確定當(dāng)前編碼塊的分類;或者,利用掃描表組中包含的各掃描表分別對(duì)編碼塊進(jìn)行編碼,并根據(jù)編碼結(jié)果選擇編碼比特?cái)?shù)最少的掃描表對(duì)應(yīng)的分類作為當(dāng)前編碼塊的分類。
所述的分類圖象編碼塊的處理包括根據(jù)預(yù)測(cè)指針的指向確定相應(yīng)的相鄰編碼塊,將相鄰編碼塊的分類作為當(dāng)前編碼塊的分類。
所述的方法還包括對(duì)預(yù)測(cè)指針的指向的更新處理,具體為分別利用當(dāng)前編碼塊的相鄰編碼塊的分類結(jié)果對(duì)當(dāng)前編碼塊進(jìn)行編碼,并根據(jù)編碼結(jié)果選擇編碼比特?cái)?shù)最少的相鄰編碼塊作為當(dāng)前的預(yù)測(cè)指針的指向。
在所述的步驟F中,對(duì)各類的編碼塊的編碼信息進(jìn)行統(tǒng)計(jì)更新各自對(duì)應(yīng)的掃描表的處理具體包括將整個(gè)幀的同一分類中的所有編碼塊中的同一位置的參數(shù)的絕對(duì)值疊加,并將疊加結(jié)果排序,得到更新后的掃描表。
所述的方法應(yīng)用場(chǎng)景中的編碼模式包括幀模式、場(chǎng)模式、幀場(chǎng)自適應(yīng)模式和基于宏塊的幀場(chǎng)自適應(yīng)模式。
所述的步驟F中還包括在更新各自對(duì)應(yīng)的掃描表之前,判斷當(dāng)前的更新次數(shù)是否超過(guò)預(yù)定的更新次數(shù),如果超過(guò),則不再更新各自對(duì)應(yīng)的掃描表,否則,繼續(xù)更新各自對(duì)應(yīng)的掃描表。
所述的步驟F還包括在編碼后的碼流中設(shè)置標(biāo)識(shí)信息,該標(biāo)識(shí)用于表明該碼流是執(zhí)行所述步驟F后獲得的碼流信息。
本發(fā)明還提供了一種編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,包括H、在編碼端,根據(jù)不同的編碼塊的統(tǒng)計(jì)特性生成一張或多張對(duì)應(yīng)不同統(tǒng)計(jì)特性的掃描表;K、根據(jù)對(duì)應(yīng)的編碼塊的統(tǒng)計(jì)特性為待編碼的編碼塊從先前生成的一張或多張掃描表中選擇確定一個(gè)掃描表,并利用該掃描表對(duì)待編碼的編碼塊進(jìn)行掃描;L、在解碼端,根據(jù)接收到的編碼信息確定編碼塊的統(tǒng)計(jì)特性,并根據(jù)該統(tǒng)計(jì)特性為接收到的編碼信息選擇確定一個(gè)掃描表,并利用該掃描表對(duì)所述編碼信息進(jìn)行解碼掃描。
所述的方法還包括將生成的一張或多張掃描表的信息寫(xiě)入碼流中,送至解碼端;在解碼端進(jìn)行解碼時(shí),根據(jù)所述的掃描表信息進(jìn)行解碼操作。
所述的方法中包括不同統(tǒng)計(jì)特性的編碼塊對(duì)應(yīng)不同的掃描表,一種類型的統(tǒng)計(jì)特性的編碼塊對(duì)應(yīng)一張掃描表。
所述的統(tǒng)計(jì)特性包括通過(guò)初始化掃描表對(duì)編碼塊進(jìn)行分類后獲得的統(tǒng)計(jì)特性信息。
在所述的步驟H中,根據(jù)當(dāng)前待編碼的編碼塊,或者,根據(jù)當(dāng)前待編碼的編碼塊和已經(jīng)編碼的編碼塊生成一張或多張掃描表。
本發(fā)明提供了一種在圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,包括M、在編碼端,基于一幅或多幅圖象的統(tǒng)計(jì)特性生成一張或多張對(duì)應(yīng)不同統(tǒng)計(jì)特性的掃描表;N、根據(jù)對(duì)應(yīng)的圖象的統(tǒng)計(jì)特性為待編碼圖象塊從之前生成的一張或多張掃描表中選擇確定一個(gè)掃描表,并利用該掃描表對(duì)待編碼圖象塊進(jìn)行掃描;
P、在碼流中傳送掃描表的選擇信息;Q、在解碼端,根據(jù)接收到的圖象編碼信息中的掃描表的選擇信息選擇確定一個(gè)掃描表,并利用該掃描表對(duì)所述編碼信息進(jìn)行解碼掃描。
所述的掃描表的選擇信息包括選擇的掃描表的標(biāo)識(shí)信息、選擇的掃描表對(duì)應(yīng)的編碼信息或者選擇的掃描表對(duì)應(yīng)的函數(shù)信息。
所述的步驟N還包括在編碼后的碼流中設(shè)置標(biāo)識(shí)信息,該標(biāo)識(shí)用于表明該碼流是執(zhí)行所述步驟N后獲得的碼流信息。
由上述本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明利用更為精細(xì)的特性在編碼過(guò)程中實(shí)現(xiàn)了更為靈活精確的自適應(yīng)掃描方法,本發(fā)明提供的技術(shù)方案與現(xiàn)有國(guó)際視頻編解碼標(biāo)準(zhǔn)中的掃描技術(shù)實(shí)現(xiàn)方案相比更為靈活和精確,從而有效提高了視頻壓縮的性能。
圖1為本發(fā)明在幀模式下的具體實(shí)現(xiàn)過(guò)程示意圖;圖2為基于利用周圍編碼塊信息的編碼塊分類劃分過(guò)程示意圖;圖3為利用周圍編碼塊信息的編碼塊分類示意圖;圖4為本發(fā)明在場(chǎng)模式下的具體實(shí)現(xiàn)過(guò)程示意圖;圖5為本發(fā)明在幀場(chǎng)自適應(yīng)模式下的具體實(shí)現(xiàn)過(guò)程示意圖;圖6為本發(fā)明在基于宏塊的幀場(chǎng)自適應(yīng)模式下的具體實(shí)現(xiàn)過(guò)程示意圖;圖7為利用編碼塊的位置對(duì)編碼塊進(jìn)行分類示意圖。
具體實(shí)施例方式
本發(fā)明中,所述的圖象包括靜止圖象和視頻圖象,所述的編碼塊包括靜止圖象中的象素子集構(gòu)成的圖象塊,也包括視頻圖象由不同圖象(幀圖象或者場(chǎng)圖象)之間的運(yùn)算(比如但不限于差運(yùn)算,加權(quán)運(yùn)算等)得到的圖象。
本發(fā)明所述的前向預(yù)測(cè)指的是用顯示順序上過(guò)去的參考圖象對(duì)當(dāng)前圖象進(jìn)行預(yù)測(cè),雙向預(yù)測(cè)指的是用顯示順序上過(guò)去和將來(lái)的參考圖象對(duì)當(dāng)前圖象進(jìn)行預(yù)測(cè)。本發(fā)明所說(shuō)的前向預(yù)測(cè)幀或場(chǎng)以及雙向預(yù)測(cè)幀或場(chǎng),指的是運(yùn)用相應(yīng)的預(yù)測(cè)方法的幀或場(chǎng)。
本發(fā)明所述的幀模式,是指將圖象序列中的一整幅圖象作為整體進(jìn)行前向預(yù)測(cè)或雙向預(yù)測(cè)。本發(fā)明所說(shuō)的場(chǎng)模式,是指將圖象序列中的一整幅圖象拆成交錯(cuò)的頂場(chǎng)和底場(chǎng),兩場(chǎng)分別作為整體進(jìn)行前向預(yù)測(cè)或雙向預(yù)測(cè)。
本發(fā)明所說(shuō)的幀場(chǎng)自適應(yīng)模式,指的是將圖象序列中的一整幅圖象分別使用場(chǎng)模式和幀模式編碼,通過(guò)比較最終的編碼效果選擇相應(yīng)的幀或場(chǎng)模式。本發(fā)明所說(shuō)的基于編碼塊的幀場(chǎng)自適應(yīng)模式,指的是圖象序列中的一整幅圖象的每一個(gè)編碼塊都可以選擇幀場(chǎng)模式。
同時(shí),需要的說(shuō)明的是,不論上述何種模式,第一幀(或場(chǎng))采用前向預(yù)測(cè)的幀(或場(chǎng))在序列中出現(xiàn)的位置一定在第一幀(或場(chǎng))采用雙向預(yù)測(cè)的幀(或場(chǎng))的位置之前。
本發(fā)明在具體實(shí)現(xiàn)過(guò)程中主要包括以下處理過(guò)程首先,在圖象序列的恰當(dāng)位置,根據(jù)一幅或幾幅圖象的特性以及初始化掃描表的信息,生成一張或幾張掃描表,即根據(jù)一幅或幾幅圖象的特性,統(tǒng)計(jì)得到幾組掃描表組,并將掃描表的信息寫(xiě)入碼流,傳到解碼端用于解碼,以便于解碼端獲得所述的掃描表信息;其中,所述的恰當(dāng)?shù)奈恢每梢詾樾蛄械拈_(kāi)始位置或者是序列中的某個(gè)位置等,即可以為任意位置,所述的圖象的特征包括幀預(yù)測(cè)的方式及通過(guò)初始化掃描表對(duì)圖象進(jìn)行分類后獲得的統(tǒng)計(jì)特征等,所述的初始化掃描表為任意設(shè)置的掃描表,或者,為之前已經(jīng)獲得的掃描表;同時(shí),編碼端對(duì)圖象本身的特性和已編碼圖象的編碼信息,以及當(dāng)前編碼塊的信息和已編碼塊的編碼信息分析,即在編碼端對(duì)圖象包含的各個(gè)編碼塊根據(jù)特性進(jìn)行分類,對(duì)于不同分析結(jié)果的編碼塊,即不同類的編碼塊分別從所述的一張或幾張掃描表中為其確定相應(yīng)的掃描表;其中,所述的分析處理過(guò)程中用到的信息可以是已編碼塊的編碼信息,也可以是當(dāng)前編碼塊和已編碼塊的已有的旁信息,但不需要另外增加旁信息,即可以是通過(guò)已編碼塊的編碼信息,也可以是通過(guò)當(dāng)前編碼塊的已有的旁信息運(yùn)算得到分析結(jié)果。其中,所述的編碼信息和旁信息均為現(xiàn)有技術(shù)中已經(jīng)定義的信息,故本發(fā)明中不再對(duì)其進(jìn)行詳細(xì)說(shuō)明,例如,有關(guān)編碼塊所有的信息等為編碼信息,mv的值以及塊的尺寸等信息為旁信息。
其次,在解碼端,解碼器首先根據(jù)圖象的特性從編碼端通過(guò)碼流傳來(lái)的一張或幾張掃描表中選擇相應(yīng)的掃描表,進(jìn)而根據(jù)在編碼端針對(duì)圖象中編碼塊的分析結(jié)果,利用已選定掃描表組中與該編碼塊分類對(duì)應(yīng)的掃描表進(jìn)行掃描,從而實(shí)現(xiàn)正確的解碼操作。
本發(fā)明在具體應(yīng)用過(guò)程中還可以采用以下方案實(shí)現(xiàn)在該方案中與上述方案的區(qū)別在于當(dāng)為待編碼圖象塊從之前生成的一張或多張掃描表中選擇確定一個(gè)掃描表,并利用該掃描表對(duì)待編碼圖象塊進(jìn)行掃描之后,將會(huì)在在碼流中傳送掃描表的選擇信息,所述的掃描表的選擇信息包括選擇的掃描表的標(biāo)識(shí)信息、選擇的掃描表對(duì)應(yīng)的編碼信息或者選擇的掃描表對(duì)應(yīng)的函數(shù)信息;這樣,在解碼端,根據(jù)接收到的圖象編碼信息中的掃描表的選擇信息便可以選擇確定一個(gè)與編碼端采用的掃描表一致的掃描表,利用該掃描表便可以對(duì)所述編碼信息進(jìn)行解碼掃描處理。
為便于與現(xiàn)有技術(shù)兼容,本發(fā)明在具體實(shí)現(xiàn)過(guò)程中還可以在編碼后的碼流中設(shè)置標(biāo)識(shí)信息,該標(biāo)識(shí)用于表明該碼流是執(zhí)行本發(fā)明提供的編碼方案后獲得的碼流信息,以便于接收端可以正確地進(jìn)行解碼。
本發(fā)明提供的上述編解碼處理過(guò)程的實(shí)現(xiàn),可以有效提高現(xiàn)有視頻編碼的壓縮性能。
在此需要說(shuō)明的是,本發(fā)明除了可以應(yīng)用于針對(duì)圖象的編碼處理外,還可以用于針對(duì)其他數(shù)據(jù)信息的編碼,即對(duì)其他待編碼的編碼塊進(jìn)行編碼處理。當(dāng)利用本發(fā)明實(shí)現(xiàn)除圖象編碼外的其他編碼處理方式中,相應(yīng)的自適應(yīng)掃描的方法與針對(duì)圖象的自適應(yīng)掃描處理方法類似,區(qū)別僅在于生成一張或多張掃描表時(shí)依據(jù)的統(tǒng)計(jì)特性有所不同,針對(duì)除圖象外的其他待編碼的編碼塊的統(tǒng)計(jì)特性信息可以包括比如當(dāng)進(jìn)行網(wǎng)絡(luò)規(guī)劃時(shí),可以將線路的使用頻率、改變信息的流通途徑作為相應(yīng)的統(tǒng)計(jì)特性信息。
針對(duì)當(dāng)前不同的幀場(chǎng)模式,本發(fā)明在具體實(shí)現(xiàn)過(guò)程中采用的處理略有差別。以下將分別針對(duì)當(dāng)前應(yīng)用最多的四種幀場(chǎng)模式,說(shuō)明其利用本發(fā)明時(shí)相應(yīng)的具體實(shí)現(xiàn)方式。
(一)幀模式在幀模式下,實(shí)現(xiàn)相應(yīng)的自適應(yīng)掃描的處理過(guò)程包括1、進(jìn)行掃描表組的初始化處理;(1)編碼端在圖象序列的任意位置針對(duì)前向預(yù)測(cè)幀和雙向預(yù)測(cè)幀統(tǒng)計(jì)得到兩組掃描表,并將掃描表信息寫(xiě)入碼流,傳送給解碼端;(2)解碼端根據(jù)碼流中的信息得到前向預(yù)測(cè)幀和雙向預(yù)測(cè)幀的掃描表組。
2、對(duì)圖象進(jìn)行分類掃描處理;(1)在編碼端,首先,根據(jù)預(yù)測(cè)的方式選擇對(duì)應(yīng)的掃描表組,之后,再根據(jù)編碼塊的類型從確定的掃描表組中選定相應(yīng)的一張掃描表,用于對(duì)該編碼塊進(jìn)行掃描;即編碼端在對(duì)前向預(yù)測(cè)幀或雙向預(yù)測(cè)幀進(jìn)行編碼時(shí),根據(jù)相應(yīng)的掃描表組和編碼塊信息對(duì)圖象中的編碼塊進(jìn)行分類,分類過(guò)程中所需信息只涉及到已編碼的塊,利用每種分類對(duì)應(yīng)該掃描表組中的一張掃描表進(jìn)行掃描;(2)解碼端在已有的通過(guò)碼流傳送來(lái)的掃描表組的基礎(chǔ)上,根據(jù)該圖象是前向預(yù)測(cè)幀還是雙向預(yù)測(cè)幀,選擇相應(yīng)的掃描表組,進(jìn)而重復(fù)編碼端相應(yīng)的分類過(guò)程,同樣,該分類所需信息只涉及到已解碼的塊,確定當(dāng)前編碼塊對(duì)應(yīng)的掃描表在掃描表組中的索引,從而確定相應(yīng)的掃描表,以進(jìn)行解碼。
為對(duì)本發(fā)明有進(jìn)一步的理解,下面將結(jié)合附圖對(duì)本發(fā)明在編解碼過(guò)程中具體的自適應(yīng)掃描實(shí)現(xiàn)方法進(jìn)行說(shuō)明。
本發(fā)明所述的具體實(shí)現(xiàn)方法如圖1所示,包括初始化確定相應(yīng)的前向預(yù)測(cè)幀對(duì)應(yīng)的掃描表組和雙向預(yù)測(cè)幀對(duì)應(yīng)的掃描表組的處理,以及利用掃描表組進(jìn)行相應(yīng)的編碼操作,下面將結(jié)合圖1分別對(duì)幀模式下確定相應(yīng)掃描表組的具體實(shí)現(xiàn)方式進(jìn)行描述。
首先,描述初始化確定前向預(yù)測(cè)幀對(duì)應(yīng)的掃描表組,以及利用掃描表組進(jìn)行幀編碼的處理過(guò)程;對(duì)于第一幀前向預(yù)測(cè)幀的編碼處理包括步驟11編碼端對(duì)于第一幀前向預(yù)測(cè)幀采用固定的掃描表組;所述的固定的掃描表組為解碼端已經(jīng)獲知的掃描表組,因此,保證第一幀前向預(yù)測(cè)幀被編碼并發(fā)送給對(duì)端后,對(duì)端能夠正確解碼;所述的掃描表組至少包含一張掃描表,例如,可以包括4張掃描表,當(dāng)然也可以包括多一些或少一些數(shù)量的掃描表;以采用包括4張掃描表的掃描組為例,具體包括的各掃描表分別如下第一掃描表(表1){0,0},{1,0},{0,1},{0,2},{1,1},{2,0},{3,0},{2,1},{1,2},{0,3},{0,4},{1,3},{2,2},{3,1},{4,0},{5,0},{4,1},{3,2},{2,3},{1,4},{0,5},{0,6},{1,5},{2,4},{3,3},{4,2},{5,1},{6,0},{7,0},{6,1},{5,2},{4,3},{3,4},{2,5},{1,6},{0,7},{1,7},{2,6},{3,5},{4,4},{5,3},{6,2},{7,1},{7,2},{6,3},{5,4},{4,5},{3,6},{2,7},{3,7},{4,6},{5,5},{6,4},{7,3},{7,4},{6,5},{5,6},{4,7},{5,7},{6,6},{7,5},{7,6},{6,7},{7,7}第二掃描表(表2){0,0},{0,1},{1,0},{2,0},{3,0},{1,1},{0,2},{0,3},{0,4},{1,2},{2,1},{4,0},{5,0},{3,1},{1,3},{0,5},
{1,4},{2,2},{4,1},{6,0},{5,1},{3,2},{2,3},{1,5},{0,6},{0,7},{2,4},{3,3},{4,2},{7,0},{6,1},{5,2},{4,3},{3,4},{2,5},{1,6},{1,7},{2,6},{3,5},{4,4},{5,3},{6,2},{7,1},{7,2},{6,3},{5,4},{4,5},{3,6},{2,7},{3,7},{4,6},{5,5},{6,4},{7,3},{7,4},{6,5},{5,6},{4,7},{5,7},{6,6},{7,5},{7,6},{6,7},{7,7}第三掃描表(表3){0,0},{0,1},{0,2},{1,0},{0,3},{0,4},{1,1},{1,2},{0,5},{0,6},{1,3},{2,0},{2,1},{0,7},{1,4},{2,2},{3,0},{1,5},{1,6},{2,3},{3,1},{3,2},{4,0},{1,7},{2,4},{4,1},{2,5},{3,3},{4,2},{2,6},{3,4},{4,3},{5,0},{5,1},{2,7},{3,5},{4,4},{5,2},{6,0},{5,3},{3,6},{4,5},{6,1},{6,2},{5,4},{3,7},{4,6},{6,3},{5,5},{4,7},{6,4},{5,6},{6,5},{5,7},{6,6},{7,0},{6,7},{7,1},{7,2},{7,3},{7,4},{7,5},{7,6},{7,7}第四掃描表(表4){0,0},{1,0},{2,0},{0,1},{3,0},{4,0},{1,1},{2,1},{5,0},{6,0},{3,1},{0,2},{1,2},{7,0},{4,1},{2,2},{0,3},{5,1},{6,1},{3,2},{1,3},{2,3},{0,4},{7,1},{4,2},{1,4},{5,2},{3,3},{2,4},{6,2},{4,3},{3,4},{0,5},{1,5},{7,2},{5,3},{4,4},{2,5},{0,6},{3,5},{6,3},{5,4},{1,6},{2,6},{4,5},{7,3},{6,4},{3,6},{5,5},{7,4},{4,6},{6,5},{5,6},{7,5},{6,6},{0,7},{7,6},{1,7},{2,7},{3,7},{4,7},{5,7},{6,7},{7,7}在上述各個(gè)掃描表中,相應(yīng)的阿拉伯?dāng)?shù)字表示該像素的x和y的坐標(biāo)對(duì),存貯排列的順序即代表掃描編碼塊的順序,也就是說(shuō),所述的各掃描表分別對(duì)應(yīng)不同的掃描順序。
步驟12對(duì)于第一幀前向預(yù)測(cè)幀,根據(jù)上面所述的四張固定掃描表,即表1至表4,根據(jù)圖象的統(tǒng)計(jì)特性對(duì)圖象做分類操作,將編碼塊分成四種類別,每一種類別對(duì)應(yīng)四張掃描表中的一張,進(jìn)而對(duì)每一種類別所有的編碼塊的信息統(tǒng)計(jì),得到新的掃描表,并用此掃描表更新此種類別相應(yīng)的掃描表,作為當(dāng)前對(duì)應(yīng)前向預(yù)測(cè)模式的掃描表組;在該步驟12中,所述的對(duì)當(dāng)前幀的編碼塊進(jìn)行分類的具體實(shí)現(xiàn)可以如圖2所示,即通過(guò)以下處理步驟進(jìn)行所述的分類操作(1)預(yù)測(cè)編碼過(guò)程步驟21通過(guò)周圍編碼塊的信息,得到當(dāng)前編碼塊的預(yù)測(cè)分類結(jié)果;假設(shè)當(dāng)前編碼塊的左邊,上邊以及左上和右上均有編碼塊存在,如圖3所示,同時(shí)假設(shè)當(dāng)前的預(yù)測(cè)指針指向左上,則當(dāng)前編碼塊的預(yù)測(cè)分類結(jié)果與左上的編碼塊相同;如果預(yù)測(cè)指針指向的編碼塊不存在(超出圖象的范圍),則按照優(yōu)先級(jí)選擇其他存在的相鄰編碼塊,根據(jù)預(yù)測(cè)指針的指向,優(yōu)先級(jí)可以不同,比如,如果指向?yàn)樽笊?,則優(yōu)先級(jí)為(左,上,右上)等。如果周圍的編碼塊均不存在(如圖象左上角的編碼塊),則默認(rèn)預(yù)測(cè)分類結(jié)果為0。
步驟22根據(jù)所述的預(yù)測(cè)分類結(jié)果選擇采用相應(yīng)的掃描表對(duì)編碼塊進(jìn)行掃描、編碼、寫(xiě)入碼流,并記錄此編碼塊產(chǎn)生的比特?cái)?shù)。
(2)更新信息過(guò)程當(dāng)預(yù)測(cè)編碼結(jié)束后,在進(jìn)行下一個(gè)編碼塊編碼之前,需要對(duì)此編碼塊更新兩個(gè)信息,分別為(21)首先對(duì)分類結(jié)果進(jìn)行更新步驟23采用確定的掃描表組中的其他掃描表編碼該編碼塊,比較編碼后獲得的比特?cái)?shù),與步驟22中記錄的比特?cái)?shù)一起比較選出最小的一個(gè),將其索引號(hào)作為分類結(jié)果廢編碼塊附加信息;即為了修正預(yù)測(cè)得到的分類結(jié)果所帶來(lái)的誤差,除上面預(yù)測(cè)編碼過(guò)程中已使用的掃描表外,使用其他三張掃描表進(jìn)行掃描編碼(編碼結(jié)果不寫(xiě)入碼流),同時(shí)記錄產(chǎn)生的比特?cái)?shù),與之前預(yù)測(cè)編碼過(guò)程中的比特?cái)?shù)比較,得出比特?cái)?shù)最少的一個(gè),并將相應(yīng)的索引號(hào)作為此編碼塊分類的最終結(jié)果記錄到編碼塊的附加信息中(不用寫(xiě)入碼流),用于以后編碼塊的預(yù)測(cè);(22)其次,對(duì)預(yù)測(cè)指針的指向進(jìn)行更新步驟24比較周圍編碼塊的分類結(jié)果,得到一個(gè)與當(dāng)前塊最匹配的一個(gè)編碼塊,用該編碼塊與當(dāng)前編碼塊的相對(duì)位置更新預(yù)測(cè)指針的指向;即利用編碼的結(jié)果計(jì)算出分別使用周圍編碼塊(左,上,左上,右上)的分類結(jié)果對(duì)應(yīng)的掃描表所需的比特?cái)?shù),選出最少的一個(gè)(比如說(shuō)左),則將預(yù)測(cè)指針指向該編碼塊(左),更新后的所述的預(yù)測(cè)指針的指向?qū)⒂糜谙乱粋€(gè)編碼塊的預(yù)測(cè)編碼過(guò)程;如果在比較周圍編碼塊的分類結(jié)果和當(dāng)前塊的匹配的過(guò)程中出現(xiàn)了等匹配的情況(比如說(shuō)左編碼塊和上編碼塊分類相同,并且此分類最適合當(dāng)前編碼塊),同樣是根據(jù)預(yù)測(cè)指針定出優(yōu)先級(jí),從而進(jìn)行選擇。
在步驟12中,所述的統(tǒng)計(jì)得到掃描表的方法可以有多種,這里用到的是將整個(gè)幀的同一分類中的所有編碼塊中的同一位置上的參數(shù)的絕對(duì)值疊加,并將疊加的結(jié)果排序,得到掃描表,并將得到的掃描表寫(xiě)入碼流。例如,如果編碼塊是8×8的塊,在對(duì)一幅圖象編碼之初,設(shè)置一個(gè)8×8=64個(gè)的變量y,每一個(gè)變量對(duì)應(yīng)8×8塊的一個(gè)點(diǎn)(比如y11對(duì)應(yīng)橫縱坐標(biāo)為(1,1)的點(diǎn)),并將此64個(gè)變量初始為0;進(jìn)而,對(duì)于一個(gè)8×8編碼塊,將每一個(gè)點(diǎn)上的值的絕對(duì)值疊加到它對(duì)應(yīng)的變量上(比如,如果橫縱坐標(biāo)為(1,1)的點(diǎn)上的值是5,則y11=y(tǒng)11+|5|),當(dāng)整個(gè)圖象編碼完畢后,對(duì)此64個(gè)變量y從大到小進(jìn)行排序,并將變量對(duì)應(yīng)的位置賦予掃描的順序,比如如果坐標(biāo)為(1,1)對(duì)應(yīng)的變量y11在64個(gè)變量中最大,則(1,1)在掃描表中第一個(gè)被掃描,依次類推。
其次,再描述對(duì)于第二幀前向預(yù)測(cè)幀的編碼步驟13編碼端對(duì)于第二幀前向預(yù)測(cè)幀采用第一幀前向預(yù)測(cè)幀編碼時(shí)統(tǒng)計(jì)得到的掃描表組,即利用步驟12得到的掃描表組,進(jìn)行編碼處理;具體與所述的步驟12相同,區(qū)別只是用到的掃描表組不同,該步驟應(yīng)用的步驟13得到的,同樣會(huì)統(tǒng)計(jì)得到掃描表組,將掃描表組的信息寫(xiě)入碼流,作為當(dāng)前對(duì)應(yīng)前向預(yù)測(cè)模式的掃描表組,并將此掃描表組作為經(jīng)過(guò)初始化處理后的掃描表,用于以后前向預(yù)測(cè)幀的編解碼;步驟14對(duì)初始化以后的前向預(yù)測(cè)幀的編碼利用步驟13得到的掃描表組進(jìn)行編碼,具體為對(duì)待編碼的所述幀進(jìn)行分類,確定對(duì)應(yīng)的掃描表,并利用確定的掃描表對(duì)待編碼的所述幀進(jìn)行編碼處理;其中,所述的以后的前向預(yù)測(cè)幀指的是第二幀前向預(yù)測(cè)幀之后的前向預(yù)測(cè)幀。
其次,描述初始化確定雙向預(yù)測(cè)幀對(duì)應(yīng)的掃描表組,以及利用掃描表組進(jìn)行幀編碼的處理過(guò)程;對(duì)于第一幀雙向預(yù)測(cè)幀的編碼的處理包括步驟15對(duì)第一幀雙向預(yù)測(cè)圖象進(jìn)行分類掃描、編碼、統(tǒng)計(jì),得到各個(gè)分類對(duì)應(yīng)的掃描表,更新雙向預(yù)測(cè)模式對(duì)應(yīng)的掃描表組;具體可以為利用所述的表1至表4給出的一組(四張)掃描表對(duì)第一幀雙向預(yù)測(cè)幀進(jìn)行分類、掃描、編碼、統(tǒng)計(jì)處理,得到新的掃描表組,并作為當(dāng)前對(duì)應(yīng)雙向預(yù)測(cè)模式的掃描表組;在該步驟中,具體的處理方式與步驟12所述的處理方式相同,故,此處不再詳述。
對(duì)于第二幀雙向預(yù)測(cè)幀的編碼步驟16采用當(dāng)前對(duì)應(yīng)雙向預(yù)測(cè)的掃描表組對(duì)第二幀雙向預(yù)測(cè)幀進(jìn)行分類掃描、編碼、統(tǒng)計(jì),得到保個(gè)分類對(duì)應(yīng)的掃描表,更新步驟15得到的雙向預(yù)測(cè)模式對(duì)應(yīng)的掃描表組;具體為使用步驟15中得到的雙向預(yù)測(cè)模式對(duì)應(yīng)的掃描表組實(shí)現(xiàn)該步驟,在該步驟中,其他操作與步驟13中的描述相同,得到的掃描表作為當(dāng)前對(duì)應(yīng)雙向預(yù)測(cè)模式對(duì)應(yīng)的掃描表組,并作為進(jìn)行初始化處理后的掃描表,用于以后雙向預(yù)測(cè)幀的掃描。
步驟17利用步驟16得到的雙向預(yù)測(cè)幀模式對(duì)應(yīng)的掃描表組對(duì)初始化以后的雙向預(yù)測(cè)幀編碼,即對(duì)第二幀雙向預(yù)測(cè)幀之后的雙向預(yù)測(cè)幀編碼。
在執(zhí)行步驟14和步驟17之后,在解碼端便需要根據(jù)其獲得的最新的前向預(yù)測(cè)幀模式或雙向預(yù)測(cè)幀模式對(duì)應(yīng)的掃描表組進(jìn)行相應(yīng)預(yù)測(cè)模式下的解碼操作;具體為首先,在第一幀前向預(yù)測(cè)幀和雙向預(yù)測(cè)幀解碼之前,開(kāi)辟空間記錄掃描表組信息,并將此信息初始化為固定的四張掃描表(表1至表4);之后,不論前向預(yù)測(cè)幀還是雙向預(yù)測(cè)幀解碼,均使用當(dāng)前前向預(yù)測(cè)幀或雙向預(yù)測(cè)幀對(duì)應(yīng)的掃描表組,即在解碼過(guò)程中確定每一個(gè)編碼塊對(duì)應(yīng)的掃描表在該掃描表組中的索引號(hào),并利用索引號(hào)對(duì)應(yīng)的掃描表對(duì)收到的編碼塊進(jìn)行掃描并解碼。同時(shí),在前向預(yù)測(cè)幀或雙向預(yù)測(cè)幀解碼結(jié)束后,如果碼流中有更新掃描表的信息,則根據(jù)該幀為前向預(yù)測(cè)幀或是雙向預(yù)測(cè)幀更新相應(yīng)的掃描表。
(二)場(chǎng)模式在場(chǎng)模式下,實(shí)現(xiàn)相應(yīng)的自適應(yīng)掃描處理過(guò)程包括1、掃描表組初始化(1)編碼端在圖象序列某一位置針對(duì)前向預(yù)測(cè)場(chǎng)和雙向預(yù)測(cè)場(chǎng)統(tǒng)計(jì)得到兩組掃描表,并將掃描表信息寫(xiě)入碼流;(2)解碼端根據(jù)碼流中的信息得到出前向預(yù)測(cè)場(chǎng)和雙向預(yù)測(cè)場(chǎng)的掃描表。
2、對(duì)圖象進(jìn)行分類掃描(1)編碼端在對(duì)前向預(yù)測(cè)場(chǎng)或雙向預(yù)測(cè)場(chǎng)進(jìn)行編碼時(shí),首先,根據(jù)相應(yīng)的掃描表組和編碼塊信息對(duì)圖象中的編碼塊進(jìn)行分類,所述分類所需信息只涉及到已編碼的塊,每種分類對(duì)應(yīng)該掃描表組中的一張掃描表,之后,利用該分類對(duì)應(yīng)的掃描表對(duì)相應(yīng)的編碼塊進(jìn)行掃描;(2)解碼端在已有的掃描表組的基礎(chǔ)上,根據(jù)該圖象是前向預(yù)測(cè)場(chǎng)還是雙向預(yù)測(cè)場(chǎng),選擇相應(yīng)的掃描表組,進(jìn)而重復(fù)編碼端相應(yīng)的分類過(guò)程,同樣,所述的分類所需信息只涉及到已解碼的塊,確定當(dāng)前塊的掃描表在掃描表組中的索引,從而確定相應(yīng)的用于進(jìn)行解碼的掃描表,以便于進(jìn)行解碼操作。
為對(duì)本發(fā)明有進(jìn)一步的理解,下面將結(jié)合附圖對(duì)本發(fā)明在編解碼過(guò)程中具體的自適應(yīng)掃描實(shí)現(xiàn)方法進(jìn)行說(shuō)明。
本發(fā)明所述的具體實(shí)現(xiàn)方法如圖4所示,包括進(jìn)行場(chǎng)模式下的前向預(yù)測(cè)幀的掃描表的初始化及編碼處理和雙向預(yù)測(cè)幀的掃描表的初始化及編碼處理,下面將分別對(duì)兩種處理進(jìn)行描述。
首先,描述初始化確定前向預(yù)測(cè)幀對(duì)應(yīng)的掃描表組,以及利用掃描表組進(jìn)行幀編碼的處理過(guò)程;對(duì)于第一場(chǎng)前向預(yù)測(cè)場(chǎng)的編碼,由于第一場(chǎng)前向預(yù)測(cè)場(chǎng)一定是底場(chǎng),因此,首先,需要對(duì)第一場(chǎng)前向預(yù)測(cè)場(chǎng)底場(chǎng)進(jìn)行編碼;步驟41編碼端對(duì)于第一場(chǎng)前向預(yù)測(cè)場(chǎng)采用固定的掃描表組;所述的掃描表組至少包含一張掃描表,例如,可以包括4張掃描表,當(dāng)然也可以包括多一些或少一些數(shù)量的掃描表;具體可以采用的四張表見(jiàn)幀模式中的表1至表4所示。
步驟42對(duì)于第一場(chǎng)前向預(yù)測(cè)場(chǎng)的處理為根據(jù)上面所述的四張固定掃描表(表1至表4),對(duì)圖象做分類操作,將編碼塊分成四種類別,每一種類別對(duì)應(yīng)四張掃描表中的一張,進(jìn)而對(duì)每一種類別所有的編碼塊的信息統(tǒng)計(jì),得到新的掃描表,并用此掃描表更新此種類別相應(yīng)的掃描表,作為當(dāng)前對(duì)應(yīng)前向預(yù)測(cè)模式的掃描表組;其中,相應(yīng)的分類和統(tǒng)計(jì)的具體操作見(jiàn)與幀模式中相應(yīng)的處理相同,故此處不再詳述。
步驟43對(duì)第一場(chǎng)采用前向預(yù)測(cè)的頂場(chǎng)采用當(dāng)前對(duì)就前向預(yù)測(cè)的掃描表進(jìn)行分類掃描、編碼;編碼端對(duì)于第一場(chǎng)采用前向預(yù)測(cè)的頂場(chǎng)采用第一場(chǎng)前向預(yù)測(cè)場(chǎng)(底場(chǎng))編碼時(shí)統(tǒng)計(jì)得到的掃描表組;但需要說(shuō)明的是,在該步驟中無(wú)需進(jìn)行統(tǒng)計(jì)操作,也不需要更新掃描表組;步驟44采用當(dāng)前對(duì)應(yīng)前身預(yù)測(cè)的掃描表組對(duì)對(duì)第二場(chǎng)采用前向預(yù)測(cè)的底場(chǎng)進(jìn)行分類掃描、編碼、統(tǒng)計(jì),得到各個(gè)分類對(duì)應(yīng)的掃描表,更新前身預(yù)測(cè)模式對(duì)應(yīng)的掃描表組;編碼端對(duì)于第一場(chǎng)采用前向預(yù)測(cè)的頂場(chǎng)采用第一場(chǎng)前向預(yù)測(cè)場(chǎng)(底場(chǎng))編碼時(shí)統(tǒng)計(jì)得到的掃描表組;并進(jìn)行相應(yīng)的統(tǒng)計(jì)得到掃描表組,將掃描表組的信息寫(xiě)入碼流,作為當(dāng)前對(duì)應(yīng)前向預(yù)測(cè)模式的掃描表組,并將此掃描表組作為經(jīng)過(guò)初始化處理后掃描表,用于以后前向預(yù)測(cè)場(chǎng)(頂場(chǎng)或底場(chǎng))的編碼;步驟45對(duì)初始化以后的前向預(yù)測(cè)場(chǎng),即第二場(chǎng)采用前向預(yù)測(cè)的底場(chǎng)之后的前向預(yù)測(cè)場(chǎng)進(jìn)行編碼處理;具體為采用當(dāng)前對(duì)應(yīng)的前向預(yù)測(cè)的掃描表組對(duì)以后的前向預(yù)測(cè)場(chǎng)進(jìn)行分類掃描、編碼,便不再進(jìn)行統(tǒng)計(jì)操作,也不再更新掃描表組。
下面再對(duì)第一場(chǎng)采用雙向預(yù)測(cè)的頂場(chǎng)的編碼進(jìn)行說(shuō)明。
步驟46采用第一場(chǎng)前向預(yù)測(cè)場(chǎng)編碼產(chǎn)生的掃描表組初始化雙向預(yù)測(cè)對(duì)應(yīng)的掃描表組;即對(duì)于第一場(chǎng)采用雙向預(yù)測(cè)的頂聲采用當(dāng)前對(duì)應(yīng)前向預(yù)測(cè)的掃描表組進(jìn)行分類掃描、編碼處理,便不進(jìn)行統(tǒng)計(jì)操作,也不更新掃描表組;在該步驟中默認(rèn)第一場(chǎng)采用前向預(yù)測(cè)的場(chǎng)在序列中出現(xiàn)的位置一定在第一場(chǎng)采用雙向預(yù)測(cè)的場(chǎng)的位置之前。
步驟47對(duì)第一場(chǎng)采用雙向預(yù)測(cè)的底場(chǎng)進(jìn)行分類掃描、編碼、統(tǒng)計(jì),得到各個(gè)分類對(duì)應(yīng)的掃描表,即計(jì)算出相應(yīng)的掃描表組,并將其信息寫(xiě)入碼流,同時(shí)將該掃描表組作為當(dāng)前的用于雙向預(yù)測(cè)場(chǎng)的掃描表組,從而實(shí)現(xiàn)雙向預(yù)測(cè)模式對(duì)應(yīng)的掃描表組的更新操作;步驟48對(duì)第二場(chǎng)采用雙向預(yù)測(cè)的頂場(chǎng)采用當(dāng)前對(duì)應(yīng)雙向預(yù)測(cè)的掃描表組進(jìn)行分類掃描、編碼,便不做統(tǒng)計(jì),也不更新掃描表;即編碼端對(duì)第二場(chǎng)采用雙向預(yù)測(cè)的頂場(chǎng)采用第一場(chǎng)采用雙向預(yù)測(cè)場(chǎng)的底場(chǎng)編碼時(shí)統(tǒng)計(jì)得到的掃描表組進(jìn)行掃描編碼處理;步驟49采用當(dāng)前對(duì)應(yīng)雙向預(yù)測(cè)的掃描表組對(duì)第二場(chǎng)采用雙向預(yù)測(cè)的底場(chǎng)進(jìn)行分類掃描、編碼、統(tǒng)計(jì),得到各個(gè)分類對(duì)應(yīng)的掃描表,更新雙向預(yù)測(cè)模式對(duì)應(yīng)的掃描表組;
具體為將統(tǒng)計(jì)得到掃描表組信息寫(xiě)入碼流,作為當(dāng)前對(duì)應(yīng)雙向預(yù)測(cè)模式的掃描表組,并將此掃描表組作為經(jīng)過(guò)初始化處理后的掃描表,用于以后雙向預(yù)測(cè)場(chǎng)(頂場(chǎng)或底場(chǎng))的編碼;步驟410對(duì)初始化以后的雙向預(yù)測(cè)場(chǎng),即對(duì)第二場(chǎng)采用雙向預(yù)測(cè)的底場(chǎng)之后的編碼具體為采用的當(dāng)前對(duì)應(yīng)雙向預(yù)測(cè)的掃描表組對(duì)以后的雙向預(yù)測(cè)場(chǎng)進(jìn)行分類掃描、編碼,便不需要再更新雙向預(yù)測(cè)模式對(duì)應(yīng)的掃描表組;步驟411對(duì)前向預(yù)測(cè)場(chǎng)或雙向預(yù)測(cè)場(chǎng)進(jìn)行解碼處理;首先,在第一幀前向預(yù)測(cè)場(chǎng)和雙向預(yù)測(cè)場(chǎng)解碼之前,開(kāi)辟空間記錄掃描表組信息,并將此信息初始化為固定的四張掃描表(即表1至表4);之后,不論前向預(yù)測(cè)場(chǎng)還是雙向預(yù)測(cè)場(chǎng)解碼,均使用當(dāng)前前向預(yù)測(cè)場(chǎng)或雙向預(yù)測(cè)場(chǎng)對(duì)應(yīng)的掃描表組,同時(shí)按照幀模式中描述的方法,確定每一個(gè)編碼塊對(duì)應(yīng)的掃描表在該掃描表組中的索引號(hào),對(duì)其進(jìn)行掃描并解碼;在前向預(yù)測(cè)場(chǎng)或雙向預(yù)測(cè)場(chǎng)解碼結(jié)束后,如果碼流中有更新掃描表的信息,則根據(jù)該幀為前向預(yù)測(cè)場(chǎng)或是雙向預(yù)測(cè)場(chǎng)更新相應(yīng)的掃描表。
(三)幀場(chǎng)自適應(yīng)對(duì)該模式下的圖象編碼,前向預(yù)測(cè)的幀和場(chǎng)對(duì)應(yīng)一組掃描表,雙向預(yù)測(cè)的幀或場(chǎng)對(duì)應(yīng)另一組掃描表,設(shè)置四個(gè)變量分別記錄單向或雙向預(yù)測(cè)的幀或場(chǎng)編碼后更新掃描表的次數(shù)。如果當(dāng)前圖象編碼時(shí)選擇了幀模式,并且對(duì)應(yīng)于當(dāng)前圖象的預(yù)測(cè)模式的更新次數(shù)的變量小于2,更新該類預(yù)測(cè)模式的幀和場(chǎng)對(duì)應(yīng)的掃描表組,則將更新的掃描表組的信息寫(xiě)入碼流,作為當(dāng)前對(duì)應(yīng)該預(yù)測(cè)模式的掃描表組,如果大于等于2,不更新該類預(yù)測(cè)的幀和場(chǎng)對(duì)應(yīng)的掃描表組,也不將掃描表組寫(xiě)入碼流;同理,如果當(dāng)前圖象編碼時(shí)選擇了場(chǎng)模式,則參考相應(yīng)的記錄此種更新的次數(shù)的變量,操作同上。
在解碼端,同樣開(kāi)辟空間儲(chǔ)存兩種預(yù)測(cè)模式對(duì)應(yīng)的掃描表組,不論是場(chǎng)或幀模式,均使用當(dāng)前的掃描表組對(duì)碼流進(jìn)行反掃描和解碼,并使用碼流中更新掃描表的信息即時(shí)的更新掃描表組。
本發(fā)明在所述的幀場(chǎng)自適應(yīng)模式下的具體實(shí)現(xiàn)過(guò)程如圖5所示,包括步驟51采用固定四張掃描表(即所述的表1至表4)初始化掃描表組;步驟52利用所述四張掃描表對(duì)第一幀前向預(yù)測(cè)圖象進(jìn)行分類掃描、編碼、統(tǒng)計(jì),得到各分類對(duì)應(yīng)的掃描表,更新前向預(yù)測(cè)模式對(duì)應(yīng)的掃描表組;步驟53采用當(dāng)前對(duì)應(yīng)的前向預(yù)測(cè)的掃描表組對(duì)當(dāng)前的前向預(yù)測(cè)圖象分別在幀場(chǎng)模式下進(jìn)行分類掃描、編碼、統(tǒng)計(jì),得到各分類對(duì)應(yīng)的掃描表,更新前向預(yù)測(cè)模式對(duì)應(yīng)掃描表組;步驟54確定瘦削圖象的幀場(chǎng)模式后,檢測(cè)選定上對(duì)應(yīng)的更新次數(shù)變量;步驟55判斷所述的次數(shù)變量是否大于或等于2,如果是,則執(zhí)行步驟56,否則,執(zhí)行步驟57;步驟56采用第二幀前向預(yù)測(cè)圖象編碼中得到的掃描表組對(duì)以后的前向預(yù)測(cè)圖象進(jìn)行分類掃描、編碼,但不再更新前向預(yù)測(cè)模式對(duì)應(yīng)的掃描表組,并執(zhí)行步驟515;步驟57采用相應(yīng)幀場(chǎng)模式對(duì)應(yīng)的統(tǒng)計(jì)結(jié)果更新前向預(yù)測(cè)模式對(duì)應(yīng)的掃描表,并執(zhí)行步驟53;接著步驟52,還執(zhí)行步驟58,即采用第一幀前向預(yù)測(cè)圖象編碼產(chǎn)生的掃描表組初始化雙向預(yù)測(cè)對(duì)應(yīng)的掃描表組;步驟59利用前面所述的步驟52得到的掃描表對(duì)第一幀雙向預(yù)測(cè)圖象進(jìn)行分類掃描、編碼、統(tǒng)計(jì),得到各個(gè)分類對(duì)應(yīng)的掃描表,更新雙向預(yù)測(cè)模式對(duì)應(yīng)的掃描表組;步驟510采用當(dāng)前對(duì)應(yīng)雙向預(yù)測(cè)模式掃描表組對(duì)雙向預(yù)測(cè)圖象分別在幀場(chǎng)模式下進(jìn)行分類掃描、編碼、統(tǒng)計(jì),得到各個(gè)分類對(duì)應(yīng)的掃描表,更新雙向預(yù)測(cè)模式對(duì)應(yīng)的掃描表組;步驟513采用第二幀雙向預(yù)測(cè)圖象編碼中得到的掃描表組對(duì)以后的雙向預(yù)測(cè)圖象進(jìn)行分類掃描、編碼,但不再更新雙向預(yù)測(cè)模式對(duì)應(yīng)的掃描表組,并執(zhí)行步驟515;步驟514采用相應(yīng)幀場(chǎng)模式對(duì)應(yīng)的統(tǒng)計(jì)結(jié)果更新雙向預(yù)測(cè)模式對(duì)應(yīng)的掃描表,并執(zhí)行步驟510;步驟515在解碼端,開(kāi)辟空間記錄兩種預(yù)測(cè)模式的掃描表組信息,并根據(jù)碼流中的信息即時(shí)更新掃描表組,在對(duì)圖象進(jìn)行解碼時(shí),根據(jù)預(yù)測(cè)模式和圖象分類結(jié)果選用相應(yīng)的掃描表組進(jìn)行掃描。
(四)基于宏塊的幀場(chǎng)自適應(yīng)在基于宏塊的幀場(chǎng)自適應(yīng)模式下,實(shí)現(xiàn)相應(yīng)的自適應(yīng)掃描處理過(guò)程包括1、掃描表組初始化處理;(1)編碼端在圖象序列的任一位置針對(duì)分別前向預(yù)測(cè)幀中的編碼塊幀場(chǎng)兩種模式和雙向預(yù)測(cè)幀中的編碼塊幀場(chǎng)兩種模式統(tǒng)計(jì)共得到四組掃描表,并將掃描表信息寫(xiě)入碼流;(2)解碼端根據(jù)碼流中的信息得到出分別對(duì)應(yīng)前向預(yù)測(cè)幀中的編碼塊幀場(chǎng)兩種模式和雙向預(yù)測(cè)幀中的編碼塊幀場(chǎng)兩種模式的掃描表組。
2、對(duì)圖象進(jìn)行分類掃描處理;(1)編碼端在對(duì)前向預(yù)測(cè)幀或雙向預(yù)測(cè)幀進(jìn)行編碼時(shí),根據(jù)相應(yīng)的掃描表組和編碼塊信息對(duì)圖象中的編碼塊進(jìn)行分類,所述分類操作所需信息只涉及到已編碼的塊和當(dāng)前編碼塊的信息,每種分類對(duì)應(yīng)該掃描表組中的一張掃描表進(jìn)行掃描,利用相應(yīng)的掃描表便可以對(duì)相應(yīng)分類的編碼塊進(jìn)行掃描處理;(2)解碼端在已有的掃描表組的基礎(chǔ)上,根據(jù)該圖象是前向預(yù)測(cè)幀還是雙向預(yù)測(cè)幀,以及當(dāng)前編碼塊是幀模式或是場(chǎng)模式,選擇相應(yīng)的掃描表組,進(jìn)而重復(fù)編碼端相應(yīng)的分類過(guò)程,確定當(dāng)前塊的掃描表在掃描表組中的索引,從而利用確定的掃描表進(jìn)行解碼處理。
為對(duì)本發(fā)明有進(jìn)一步的理解,下面將結(jié)合附圖對(duì)本發(fā)明在編解碼過(guò)程中具體的自適應(yīng)掃描實(shí)現(xiàn)方法進(jìn)行說(shuō)明。
在基于宏塊的幀場(chǎng)自適應(yīng)模式下,本發(fā)明所述的具體實(shí)現(xiàn)方法如圖6所示,具體包括以下步驟步驟61對(duì)于第一幀前向預(yù)測(cè)幀的編碼,編碼端對(duì)于第一幀前向預(yù)測(cè)幀采用原有的掃描技術(shù)進(jìn)行編碼;對(duì)于第一幀前向預(yù)測(cè)幀根據(jù)當(dāng)前編碼塊的位置以及幀場(chǎng)模式,對(duì)圖象做分類操作(即采用基于區(qū)域劃分的分類方式),將編碼塊分成兩組(每組四類),共八種類別,進(jìn)而對(duì)每一種類別所有的編碼塊的信息統(tǒng)計(jì),得到新的掃描表,并用此掃描表更新此種類別相應(yīng)的掃描表,作為當(dāng)前分別對(duì)應(yīng)前向預(yù)測(cè)幀中編碼塊幀場(chǎng)兩種模式的掃描表組。
具體為,首先對(duì)當(dāng)前幀的編碼塊進(jìn)行分類,例如相應(yīng)的分類過(guò)程如下根據(jù)編碼塊在當(dāng)前幀的橫縱座標(biāo),將當(dāng)前幀分為四個(gè)區(qū)域,如圖7所示,對(duì)于當(dāng)前編碼塊的幀場(chǎng)模式,首先決定此編碼塊屬于幀模式組或是場(chǎng)模式組,進(jìn)而根據(jù)當(dāng)前編碼塊的橫縱座標(biāo),根據(jù)其所在的不同區(qū)域(即上述四個(gè)區(qū)域的某一個(gè)),將其分成不同的類別(四個(gè)區(qū)域?qū)?yīng)四種類別);這樣幀模式和場(chǎng)模式組分別對(duì)應(yīng)四種類別,共八個(gè)類別。
對(duì)每一種類別所有的編碼塊的信息統(tǒng)計(jì)的操作與前面描述的幀模式中的操作相同;因此,幀模式和場(chǎng)模式組分別對(duì)應(yīng)四張掃描表,構(gòu)成了當(dāng)前對(duì)應(yīng)單向預(yù)測(cè)幀中的編碼塊幀場(chǎng)兩種模式的掃描表組。
步驟62對(duì)第二幀前向預(yù)測(cè)幀的編碼處理;編碼端對(duì)于第二幀前向預(yù)測(cè)幀采用當(dāng)前對(duì)應(yīng)單向預(yù)測(cè)幀中的編碼塊幀場(chǎng)兩種模式的掃描表組,即第一幀前向預(yù)測(cè)幀編碼時(shí)統(tǒng)計(jì)得到的掃描表組;在該步驟中,需要說(shuō)明的有兩方面(1)對(duì)于基于宏塊的幀場(chǎng)自適應(yīng)編碼,編碼塊可能是幀或場(chǎng)模式,故每幀圖象只對(duì)應(yīng)兩組掃描表,分別對(duì)應(yīng)幀模式塊和場(chǎng)模式塊,因此,首先需要根據(jù)當(dāng)前編碼塊的幀場(chǎng)模式,選擇相應(yīng)的掃描表組;(2)當(dāng)通過(guò)分類操作,具體決定當(dāng)前編碼塊在相應(yīng)的掃描表組選用的掃描表時(shí),由于編碼塊可能是幀或場(chǎng)模式,如果當(dāng)前編碼塊與其附近的編碼塊(左,上,左上,右上)的幀場(chǎng)模式不同,則將此位置標(biāo)記為不存在。
采用當(dāng)前分別對(duì)應(yīng)前向預(yù)測(cè)的幀場(chǎng)兩種模式的掃描表組對(duì)第二幀前向預(yù)測(cè)圖象幀場(chǎng)兩種編碼塊分別進(jìn)行分類掃描、編碼、統(tǒng)計(jì),得到分別對(duì)應(yīng)編碼塊幀場(chǎng)兩種模式的掃描表組,并將其作為當(dāng)前對(duì)應(yīng)前向預(yù)測(cè)幀中的編碼塊幀場(chǎng)兩種模式的掃描表組。
步驟63對(duì)于初始化以后的前向預(yù)測(cè)幀,即第二幀前向預(yù)測(cè)幀之后的前向預(yù)測(cè)幀進(jìn)行編碼;即采用當(dāng)前分別對(duì)應(yīng)的前向預(yù)測(cè)幀中的編碼塊幀場(chǎng)兩種模式的掃描表組對(duì)以后的前向預(yù)測(cè)圖象幀場(chǎng)兩種編碼塊分別進(jìn)行分類掃描、編碼,但不再需要更新前向預(yù)測(cè)上的兩種幀場(chǎng)模式分別對(duì)應(yīng)的掃描表組;接著步驟61,還執(zhí)行步驟64,即對(duì)第一幀雙向預(yù)測(cè)幀進(jìn)行編碼操作;具體為采用當(dāng)前對(duì)應(yīng)前向預(yù)測(cè)幀中的編碼塊幀場(chǎng)兩種模式的掃描表組對(duì)雙向預(yù)測(cè)模式下的兩種幀聲模式分別對(duì)應(yīng)的掃描表組進(jìn)行初始化處理;步驟65經(jīng)過(guò)處理后得到分別對(duì)應(yīng)編碼塊幀場(chǎng)兩種模式的掃描表組,并將其作為當(dāng)前對(duì)應(yīng)雙向預(yù)測(cè)幀中的編碼塊幀場(chǎng)兩種模式的掃描表組。
步驟66對(duì)第二幀雙向預(yù)測(cè)幀進(jìn)行編碼處理;即采用當(dāng)前對(duì)應(yīng)雙向預(yù)測(cè)幀中的編碼塊幀場(chǎng)兩種模式的掃描表組,對(duì)第二幀雙向預(yù)測(cè)圖象幀場(chǎng)兩種編碼塊分別進(jìn)行分類掃描、編碼、統(tǒng)計(jì),得到分別對(duì)應(yīng)編碼塊幀場(chǎng)兩種模式的掃描表組,并將其作為當(dāng)前對(duì)應(yīng)雙向預(yù)測(cè)幀中的編碼塊幀場(chǎng)兩種模式的掃描表組,更新雙向預(yù)測(cè)模式下兩種幀場(chǎng)模式分別對(duì)應(yīng)的掃描表組;
步驟67對(duì)初始化以后的雙向預(yù)測(cè)幀,即第二幀雙向預(yù)測(cè)幀之后的雙向預(yù)測(cè)幀進(jìn)行編碼;即采用當(dāng)前分別對(duì)應(yīng)雙向預(yù)測(cè)的幀場(chǎng)兩種模式的掃描表組對(duì)以后的雙向預(yù)測(cè)圖象幀場(chǎng)兩種編碼塊分別進(jìn)行分類掃描、編碼、統(tǒng)計(jì),但不再進(jìn)行統(tǒng)計(jì)得到掃描表組,也不再更新掃描表組;接著步驟63及步驟67,還需要執(zhí)行步驟68,即對(duì)前向預(yù)測(cè)幀或雙向預(yù)測(cè)幀進(jìn)行解碼操作;首先在第一幀前向預(yù)測(cè)幀解碼時(shí),使用原有的逆掃描方法;從碼流中讀取分別對(duì)應(yīng)前向預(yù)測(cè)幀中編碼塊幀場(chǎng)兩種模式的掃描表組的信息后,將分別對(duì)應(yīng)前向預(yù)測(cè)幀和雙向預(yù)測(cè)幀中編碼塊幀場(chǎng)兩種模式的掃描表組初始化為讀到的掃描表組;之后,不論前向預(yù)測(cè)幀還是雙向預(yù)測(cè)幀解碼,均使用當(dāng)前前向預(yù)測(cè)幀或雙向預(yù)測(cè)幀對(duì)應(yīng)的掃描表組,同時(shí)確定每一個(gè)編碼塊對(duì)應(yīng)的掃描表在相應(yīng)的掃描表組中的索引號(hào),對(duì)其進(jìn)行掃描并解碼;在前向預(yù)測(cè)幀或雙向預(yù)測(cè)幀解碼結(jié)束后,如果碼流中有更新掃描表的信息,則根據(jù)該幀為前向預(yù)測(cè)幀或是雙向預(yù)測(cè)幀更新相應(yīng)幀場(chǎng)模式的掃描表組。
需要說(shuō)明的是,在上述針對(duì)本發(fā)明提供的方法的各種實(shí)施例的描述中,僅以更新兩次掃描表為例進(jìn)行描述,但本發(fā)明在實(shí)現(xiàn)過(guò)程中還可以更新一次或二次以下,具體的更新過(guò)程類似。
以上所述,僅為本發(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.一種在圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,包括A、在編、解碼端,設(shè)置圖象的統(tǒng)計(jì)特性對(duì)應(yīng)的一張或多張掃描表;B、根據(jù)對(duì)應(yīng)的圖象的統(tǒng)計(jì)特性為待編碼圖象塊從所述的一張或多張掃描表中選擇確定一個(gè)掃描表,并利用該掃描表對(duì)待編碼圖象塊進(jìn)行掃描;C、在解碼端,根據(jù)接收到的圖象編碼信息確定圖象的統(tǒng)計(jì)特性,并根據(jù)該統(tǒng)計(jì)特性為接收到的編碼信息從所述的一張或多張掃描表中選擇確定一個(gè)掃描表,并利用該掃描表對(duì)所述編碼信息進(jìn)行解碼掃描。
2.根據(jù)權(quán)利要求1所述的圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,所述的方法還包括D、在圖象序列的開(kāi)始或者是序列中的任意位置確定一幅或多幅圖象,并基于一幅或多幅圖象的統(tǒng)計(jì)特性生成一張或多張對(duì)應(yīng)不同統(tǒng)計(jì)特性的掃描表,并執(zhí)行步驟A,在圖象序列中的其他圖象位置處,不再執(zhí)行步驟A。
3.根據(jù)權(quán)利要求2所述的圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,所述的方法還包括當(dāng)需要對(duì)編碼過(guò)程中應(yīng)用的掃描表進(jìn)行更新時(shí),則執(zhí)行步驟D。
4.根據(jù)權(quán)利要求2所述的圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,所述的步驟D還包括將生成的一張或多張掃描表的信息寫(xiě)入碼流中,送至解碼端,用于在解碼端進(jìn)行解碼時(shí),根據(jù)所述的掃描表信息進(jìn)行解碼操作。
5.根據(jù)權(quán)利要求1、2、3或4所述的圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,所述的掃描表中承載的信息包括各個(gè)掃描表中針對(duì)的編碼塊中系數(shù)的掃描順序。
6.根據(jù)權(quán)利要求1、2、3或4所述的圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,所述的圖象的統(tǒng)計(jì)特性與掃描表的關(guān)系包括不同統(tǒng)計(jì)特性的圖象對(duì)應(yīng)不同的掃描表,一種類型的統(tǒng)計(jì)特性的圖象對(duì)應(yīng)一張掃描表。
7.根據(jù)權(quán)利要求1、2、3或4所述的圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,所述的圖象的統(tǒng)計(jì)特性包括圖象的前向預(yù)測(cè)特性、雙向預(yù)測(cè)特性和通過(guò)初始化掃描表對(duì)圖象進(jìn)行分類后獲得的統(tǒng)計(jì)特性信息。
8.根據(jù)權(quán)利要求1、2、3或4所述的圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,在所述的步驟A中,所述的一幅或多幅圖象包括當(dāng)前待編碼圖象,或者,當(dāng)前待編碼圖象和已經(jīng)編碼的圖象。
9.根據(jù)權(quán)利要求1、2、3或4所述的圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,所述的步驟B包括B1、根據(jù)待編碼圖象及已經(jīng)編碼的圖象的統(tǒng)計(jì)特性為待編碼圖象從生成的一張或多張掃描表中選擇確定一張掃描表;B2、利用確定的一張掃描表對(duì)待編碼圖象進(jìn)行掃描。
10.根據(jù)權(quán)利要求9所述的圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,所述的步驟B1還包括B11、在編碼端,根據(jù)圖象本身的特性和已經(jīng)編碼圖象的編碼信息,以及當(dāng)前編碼塊的編碼信息和已經(jīng)編碼的編碼塊的編碼信息確定待編碼圖象及已經(jīng)編碼的圖象的統(tǒng)計(jì)特性。
11.根據(jù)權(quán)利要求10所述的圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,所述的步驟B11中包括還根據(jù)編碼塊和已經(jīng)編碼的編碼塊的旁信息確定待編碼圖象及已經(jīng)編碼的圖象的統(tǒng)計(jì)特性。
12.根據(jù)權(quán)利要求1、2、3或4所述的圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,所述的步驟B中,為待編碼圖象選擇掃描表的方式包括通過(guò)圖象的統(tǒng)計(jì)特性首先選擇待編碼的圖象需要使用的掃描表組,之后,再進(jìn)一步使用圖象的統(tǒng)計(jì)特性從所述的掃描表組中選擇一張掃描表。
13.根據(jù)權(quán)利要求1、2、3或4所述的圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,所述的步驟B還包括在編碼后的碼流中設(shè)置標(biāo)識(shí)信息,該標(biāo)識(shí)用于表明該碼流是執(zhí)行所述步驟B后獲得的碼流信息。
14.根據(jù)權(quán)利要求1、2、3或4所述的圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,所述的步驟C中,選擇掃描表的過(guò)程包括首先,根據(jù)圖象的統(tǒng)計(jì)特性選用不同的掃描表組,之后,根據(jù)已解碼的編碼塊的統(tǒng)計(jì)特性得到當(dāng)前塊的統(tǒng)計(jì)特性信息,根據(jù)該統(tǒng)計(jì)特性信息從所述掃描表組中選擇一張掃描表。
15.一種圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,包括E、確定一組固定的初始掃描表組;F、根據(jù)當(dāng)前待編碼的圖象的編碼信息確定其統(tǒng)計(jì)特性,根據(jù)所述統(tǒng)計(jì)特性,從初始掃描表組中為每一類選擇一張用于對(duì)該類圖象進(jìn)行掃描的掃描表,并對(duì)各類的編碼塊的編碼信息進(jìn)行統(tǒng)計(jì)更新各自對(duì)應(yīng)的掃描表,將更新后的掃描表加入碼流,發(fā)送給解碼端;G、在解碼端,利用當(dāng)前的掃描表組對(duì)接收到的碼流進(jìn)行解碼,并利用更新后的掃描表更新本地保存的掃描表組信息。
16.根據(jù)權(quán)利要求15所述的圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,所述的步驟F中包括分類圖象編碼塊的處理,該處理包括利用編碼塊的相鄰編碼塊的分類確定當(dāng)前編碼塊的分類;或者,利用掃描表組中包含的各掃描表分別對(duì)編碼塊進(jìn)行編碼,并根據(jù)編碼結(jié)果選擇編碼比特?cái)?shù)最少的掃描表對(duì)應(yīng)的分類作為當(dāng)前編碼塊的分類。
17.根據(jù)權(quán)利要16所述的圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,所述的分類圖象編碼塊的處理包括根據(jù)預(yù)測(cè)指針的指向確定相應(yīng)的相鄰編碼塊,將相鄰編碼塊的分類作為當(dāng)前編碼塊的分類。
18.根據(jù)權(quán)利要求17所述的圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,所述的方法還包括對(duì)預(yù)測(cè)指針的指向的更新處理,具體為分別利用當(dāng)前編碼塊的相鄰編碼塊的分類結(jié)果對(duì)當(dāng)前編碼塊進(jìn)行編碼,并根據(jù)編碼結(jié)果選擇編碼比特?cái)?shù)最少的相鄰編碼塊作為當(dāng)前的預(yù)測(cè)指針的指向。
19.根據(jù)權(quán)利要求15所述的圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,所述的步驟F中,對(duì)各類的編碼塊的編碼信息進(jìn)行統(tǒng)計(jì)更新各自對(duì)應(yīng)的掃描表的處理具體包括將整個(gè)幀的同一分類中的所有編碼塊中的同一位置的參數(shù)的絕對(duì)值疊加,并將疊加結(jié)果排序,得到更新后的掃描表。
20.根據(jù)權(quán)利要求15至19中任一項(xiàng)所述的圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,所述的方法應(yīng)用場(chǎng)景中的編碼模式包括幀模式、場(chǎng)模式、幀場(chǎng)自適應(yīng)模式和基于宏塊的幀場(chǎng)自適應(yīng)模式。
21.根據(jù)權(quán)利要求15至19中任一項(xiàng)所述的圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,所述的步驟F中還包括在更新各自對(duì)應(yīng)的掃描表之前,判斷當(dāng)前的更新次數(shù)是否超過(guò)預(yù)定的更新次數(shù),如果超過(guò),則不再更新各自對(duì)應(yīng)的掃描表,否則,繼續(xù)更新各自對(duì)應(yīng)的掃描表。
22.根據(jù)權(quán)利要求15至19中任一項(xiàng)所述的圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,所述的步驟F還包括在編碼后的碼流中設(shè)置標(biāo)識(shí)信息,該標(biāo)識(shí)用于表明該碼流是執(zhí)行所述步驟F后獲得的碼流信息。
23.一種編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,包括H、在編碼端,根據(jù)不同的編碼塊的統(tǒng)計(jì)特性生成一張或多張對(duì)應(yīng)不同統(tǒng)計(jì)特性的掃描表;K、根據(jù)對(duì)應(yīng)的編碼塊的統(tǒng)計(jì)特性為待編碼的編碼塊從先前生成的一張或多張掃描表中選擇確定一個(gè)掃描表,并利用該掃描表對(duì)待編碼的編碼塊進(jìn)行掃描;L、在解碼端,根據(jù)接收到的編碼信息確定編碼塊的統(tǒng)計(jì)特性,并根據(jù)該統(tǒng)計(jì)特性為接收到的編碼信息選擇確定一個(gè)掃描表,并利用該掃描表對(duì)所述編碼信息進(jìn)行解碼掃描。
24.根據(jù)權(quán)利要求23所述的編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,所述的方法還包括將生成的一張或多張掃描表的信息寫(xiě)入碼流中,送至解碼端;在解碼端進(jìn)行解碼時(shí),根據(jù)所述的掃描表信息進(jìn)行解碼操作。
25.根據(jù)權(quán)利要求23所述的編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,所述的方法中包括不同統(tǒng)計(jì)特性的編碼塊對(duì)應(yīng)不同的掃描表,一種類型的統(tǒng)計(jì)特性的編碼塊對(duì)應(yīng)一張掃描表。
26.根據(jù)權(quán)利要求23、24或25所述的圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,所述的統(tǒng)計(jì)特性包括通過(guò)初始化掃描表對(duì)編碼塊進(jìn)行分類后獲得的統(tǒng)計(jì)特性信息。
27.根據(jù)權(quán)利要求23、24或25所述的圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,在所述的步驟H中,根據(jù)當(dāng)前待編碼的編碼塊,或者,根據(jù)當(dāng)前待編碼的編碼塊和已經(jīng)編碼的編碼塊生成一張或多張掃描表。
28.一種在圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,其特征在于,包括M、在編碼端,基于一幅或多幅圖象的統(tǒng)計(jì)特性生成一張或多張對(duì)應(yīng)不同統(tǒng)計(jì)特性的掃描表;N、根據(jù)對(duì)應(yīng)的圖象的統(tǒng)計(jì)特性為待編碼圖象塊從之前生成的一張或多張掃描表中選擇確定一個(gè)掃描表,并利用該掃描表對(duì)待編碼圖象塊進(jìn)行掃描;P、在碼流中傳送掃描表的選擇信息;Q、在解碼端,根據(jù)接收到的圖象編碼信息中的掃描表的選擇信息選擇確定一個(gè)掃描表,并利用該掃描表對(duì)所述編碼信息進(jìn)行解碼掃描。
29.根據(jù)權(quán)利要求28所述的方法,其特征在于,所述的掃描表的選擇信息包括選擇的掃描表的標(biāo)識(shí)信息、選擇的掃描表對(duì)應(yīng)的編碼信息或者選擇的掃描表對(duì)應(yīng)的函數(shù)信息。
30.根據(jù)權(quán)利要求28或29所述的方法,其特征在于,所述的步驟N還包括在編碼后的碼流中設(shè)置標(biāo)識(shí)信息,該標(biāo)識(shí)用于表明該碼流是執(zhí)行所述步驟N后獲得的碼流信息。
全文摘要
本發(fā)明涉及一種在圖象編碼過(guò)程中實(shí)現(xiàn)自適應(yīng)掃描的方法,所述的圖象編碼包括針對(duì)靜止圖象和視頻圖象的編碼。本發(fā)明主要包括在編碼端進(jìn)行編碼時(shí),在一段圖象序列的適當(dāng)位置(可以是序列的開(kāi)始,也可以是序列中的某個(gè)位置等),根據(jù)初始前若干幀圖象數(shù)據(jù)的統(tǒng)計(jì)得到一張或多張掃描表,在碼流中送至解碼端。同時(shí)在圖象編碼過(guò)程中,根據(jù)圖象中的信息和編碼信息選擇這些掃描表。解碼時(shí)首先根據(jù)碼流中信息選擇掃描表。本方法的特點(diǎn)為對(duì)序列中的圖象塊可以選擇多個(gè)掃描表之一,并不需對(duì)每一圖象塊傳送關(guān)于掃描表的旁信息。本發(fā)明提供的方法可以使得編碼效率大大增加。
文檔編號(hào)H04N7/50GK101039435SQ20061006485
公開(kāi)日2007年9月19日 申請(qǐng)日期2006年3月16日 優(yōu)先權(quán)日2006年3月16日
發(fā)明者孟新建, 鄭建鏵, 何蕓, 毛振, 孟進(jìn) 申請(qǐng)人:清華大學(xué), 華為技術(shù)有限公司