欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

圖像/視頻編碼中變換系數(shù)的熵編碼方法

文檔序號:7885504閱讀:240來源:國知局
專利名稱:圖像/視頻編碼中變換系數(shù)的熵編碼方法
技術(shù)領(lǐng)域
本發(fā)明屬于信號處理中的圖像/視頻編解碼領(lǐng)域,特別涉及圖像/視頻信號編碼中對掃描后的系數(shù)的熵編碼。
背景技術(shù)
現(xiàn)有的圖像/視頻編碼方法中,視頻序列的一幅圖象一般劃分為若干個塊進行編碼,所說的塊為圖象中作為編碼基本單位的象素集合,是象素個數(shù)大于等于1的正方形、長方形或任意形狀邊界的象素集合。編碼的步驟一般又包括預(yù)測、變換、量化、掃描和熵編碼。其中,熵編碼方法通常是將變換系數(shù)按一定規(guī)則掃描成一個系數(shù)串后,再對該系數(shù)串進行變長編碼。
在國際視頻編碼標準MPEG-2中采納的熵編碼方法是先將掃描后的系數(shù)串組合成一個個run和level的二維組合對(run,level),其中run是指一個非零系數(shù)之前的連續(xù)0的個數(shù)(簡稱零的游程),level是指非零系數(shù)的正負及絕對值,再對這些二維組合對進行變長編碼,即將每一個(run,level)二維組合對都根據(jù)標準中預(yù)先設(shè)定的二維碼表映射成為一個由若干個0和若干個1組成的唯一可譯的碼字,并在一個塊的變換系數(shù)結(jié)束時用一個特定的EOB碼字來表明該塊系數(shù)的結(jié)束。MPEG-2中使用的(run,level)二維組合對中的run可以看成是非零系數(shù)的位置信息,而level可以看成是非零系數(shù)的值的信息。這里所說的位置信息是指在掃描后的系數(shù)串中非零系數(shù)所處的位置以及何時系數(shù)串結(jié)束,值的信息是指非零系數(shù)的絕對值和正負號。MPEG-2是將位置信息和值的信息結(jié)合在一起進行編碼的。
在最新國際視頻編碼標準H.264/AVC中的變換系數(shù)的熵編碼方法主要有基于上下文的自適應(yīng)變長編碼(CAVLC)和基于上下文的自適應(yīng)二進制算術(shù)編碼(CABAC)兩種。CAVLC和CABAC相比有較低的復(fù)雜度,因此在H.264/AVC的基本框架(baseline profile)中只采用了CAVLC。CAVLC把掃描后的系數(shù)串中非零系數(shù)的個數(shù)和末尾的連續(xù)幾個1或者-1的個數(shù)結(jié)合成coeff_token進行基于相鄰塊信息的變長編碼,把除末尾的若干個1以外的非零系數(shù)的值以level_prefix和level_suffix表示,并進行變長編碼,把剩下的0以total_zeros和run_before為基本語法元素進行基于上下文的變長編碼。CAVLC比之前的熵編碼方法更好的利用了上下文信息,所以取得了比以往視頻壓縮標準更好的性能。
盡管如此,變換系數(shù)內(nèi)還存在很多統(tǒng)計特性CAVLC沒有充分利用,尤其是各個非零系數(shù)的位置信息內(nèi)的相關(guān)性,還有各個非零系數(shù)的值的信息之間的相關(guān)性。因此,現(xiàn)有的熵編碼方法還不算是盡善盡美。

發(fā)明內(nèi)容
本發(fā)明的目的是為了提高現(xiàn)有圖像/視頻壓縮編碼的性能,提出了一種新的針對變換系數(shù)的熵編碼方法,它對掃描后的系數(shù)串中的非零系數(shù)的位置信息和值的信息分別進行變長編碼,并且更加深入的利用了位置信息和非零系數(shù)的值的信息內(nèi)的統(tǒng)計特性,如連續(xù)零的個數(shù)和連續(xù)非零系數(shù)的個數(shù)的組合特性,以及系數(shù)絕對值是否為全1的統(tǒng)計特性,等等,從而取得了比已有熵編碼方法更為優(yōu)越的壓縮性能。
本發(fā)明提出的技術(shù)方案實現(xiàn)方法之一為將變換系數(shù)按一定規(guī)則掃描成一個系數(shù)串后,對該系數(shù)串進行變長編碼,其特征在于從該系數(shù)串中提取非零系數(shù)的位置信息和非零系數(shù)的值的信息,再對該兩種信息分別進行變長編碼,在對該非零系數(shù)的位置信息進行編碼時,將連續(xù)的零和連續(xù)的非零系數(shù)組合成零的游程和非零系數(shù)的游程的二維組合對,對所述的二維組合對進行變長編碼。
本發(fā)明提出的技術(shù)方案實現(xiàn)方法之二為將變換系數(shù)按一定規(guī)則掃描成一個系數(shù)串后,對該系數(shù)串進行變長編碼,其特征在于從該系數(shù)串中提取非零系數(shù)的位置信息和非零系數(shù)的值的信息,再對該兩種信息分別進行變長編碼,在對該非零系數(shù)的值的信息進行編碼時,將連續(xù)的1或-1和緊隨其后的絕對值大于1的系數(shù)的值或絕對值組合成±1的游程和絕對值大于1的系數(shù)的值或絕對值的二維組合對,對所述的二維組合對進行變長編碼。
本發(fā)明提出的技術(shù)方案實現(xiàn)方法之三為將變換系數(shù)按一定規(guī)則掃描成一個系數(shù)串后,對該系數(shù)串進行變長編碼,其特征在于從該系數(shù)串中提取非零系數(shù)的位置信息和非零系數(shù)的值的信息,再對該兩種信息分別進行變長編碼,在對該非零系數(shù)的值的信息進行編碼時,用1個比特標明該串非零系數(shù)的絕對值是否全是1。
對上述各技術(shù)方案的二維組合對進行變長編碼時,可根據(jù)已經(jīng)編碼過的信息自適應(yīng)的選擇相應(yīng)的碼表進行變長編碼。
本發(fā)明的特點及良好效果本發(fā)明提出的圖像/視頻壓縮編碼中的熵編碼方法,它把掃描后的系數(shù)串中的非零系數(shù)的位置信息和非零系數(shù)的值的信息分別進行編碼,把各種游程信息和各種值的信息進行了更好的優(yōu)化組合,更有利于變長編碼和提高壓縮性能。
本發(fā)明比已有圖象/視頻壓縮編碼方法中的熵編碼更為深入的利用了位置信息和非零系數(shù)的值的信息內(nèi)的統(tǒng)計特性,更為有效的編碼了±1,從而取得了比已有熵編碼方法更為優(yōu)越的壓縮性能。
具體實施例方式
本發(fā)明的圖像/視頻編碼中變換系數(shù)的熵編碼方法實施例詳細說明如下實施例一設(shè)視頻編碼中某個塊的變換量化掃描之后的系數(shù)串為-1-1-3 3-110-40002-100-20001-210000011001從該系數(shù)串中分別提取非零系數(shù)的位置信息和非零系數(shù)的值的信息,再對該兩種信息分別進行變長編碼
1)位置信息將其分割為若干個零的游程(連續(xù)的零的個數(shù))和非零系數(shù)的游程(連續(xù)的非零系數(shù)的個數(shù))的組合對,并從該系數(shù)串的最后往前按逆序排列如下(2,1)(5,2)(3,3)(2,1)(3,2)(1,1)(0,6)其中,每個括號表示一個組合對,括號中的第一個數(shù)字表示零的游程,第二個數(shù)字表示零后面的非零系數(shù)的游程。例如,系數(shù)串的最后是001,它只有一個連續(xù)的非零系數(shù),其之前有兩個連續(xù)的0,因此第一個組合對為(2,1);再往前數(shù),系數(shù)串是0000011,共5個連續(xù)的0和2個連續(xù)的非零系數(shù),因此組合對為(5,2)。以此類推,直到系數(shù)串的最前面-1-1-33-11,共0個零,6個連續(xù)的非零系數(shù),因此最后一個組合對是(0,6)。
獲得了零的游程和非零系數(shù)的游程的組合對之后,還需確定該串系數(shù)的位置信息何時結(jié)束。在變長編碼中,通常有兩種指示編碼結(jié)束的方法一種是預(yù)先編碼零的游程和非零系數(shù)的游程的二維組合對的個數(shù),另一種是在所有零的游程和非零系數(shù)的游程的二維組合對編碼完畢之后,往碼流中寫入一個唯一可譯的結(jié)束碼字,來標識位置信息的編碼結(jié)束。除這兩種方法之外還可以有其他方法。在本實施例中,采用第一種方法,即通過編碼傳輸零的游程和非零系數(shù)的游程的二維組合對的數(shù)目來指示何時組合對編碼完畢。本實施例中組合對的數(shù)目是7。這樣,先對組合對的個數(shù)7進行變長編碼,例如在本實施例中7編碼為010。
之后依次對上述各個組合對進行變長編碼。在視頻壓縮標準中預(yù)先設(shè)立一張或多張碼表,編碼組合對時可以根據(jù)已經(jīng)編碼過的信息來自適應(yīng)的選擇相應(yīng)的碼表并編碼成為相應(yīng)的唯一可譯的碼字。這里所說的已經(jīng)編碼過的信息可以是已經(jīng)編碼過的組合對中的非零系數(shù)的游程,或者是已經(jīng)編碼過的所有組合對中的零的游程和非零系數(shù)的游程之和,還可以是其它可以從已經(jīng)編碼過的內(nèi)容中獲得的信息。
在本實施例中,視頻壓縮標準中預(yù)先設(shè)有四張供位置信息編碼的碼表,并在標準中規(guī)定第一個組合對采用第一張碼表,之后若剛剛編碼的組合對中零的游程小于等于6,則使用第二張碼表,否則使用第三張碼表;最后一個組合對使用第四張碼表。這樣,第一個組合對(2,1)使用第一張碼表編碼為110,之后因為剛編碼的組合對中零的游程小于6,所以(5,2)自適應(yīng)的使用第二張碼表編碼為001010;以此類推,(3,3)也使用第二張碼表編碼為00001,(2,1)也使用第二張碼表編碼為01,(3,2)也使用第二張碼表編碼為00010,(1,1)也使用第二張碼表編碼為10,最后一個組合對(0,6)使用第四張碼表編碼為000111。
這樣,整個系數(shù)串的非零系數(shù)的位置信息便編碼成為010 110 001010 00001 0100010 10 0001112)值的信息將原系數(shù)串-1-1-33-110-40002-100-20001-210000011001中的非零系數(shù)單獨提取出來組成一列,即-1-1-33-11-42-1-21-21111將該非零系數(shù)串中最末尾的連續(xù)的±1都除去,并且其劃分為±1的游程(連續(xù)的1或者-1的個數(shù))和緊隨其后的絕對值大于1的系數(shù)的絕對值的組合對,即按照如下所述的組合(-1-1-3)(3)(-11-4)(2)(-1-2)(1-2)將上述組合從后向前的排列成一個個±1的游程和絕對值大于1的系數(shù)的絕對值的組合對,如下(1,2)(1,2)(0,2)(2,4)(0,3)(2,3)這里,每個括號表示一個組合對,括號中的第一個數(shù)字表示±1的游程,第二個數(shù)字表示緊隨其后的絕對值大于1的系數(shù)的絕對值。例如在提取出的非零系數(shù)串中,最后一個絕對值大于1的非零系數(shù)是-2,其前面只有1個連續(xù)的±1,所以第一個組合對是(1,2)。依此往前類推,直到該非零系數(shù)串的最前面-1-1-3,即兩個連續(xù)的±1,其后的-3絕對值是3,因此組合對是(2,3)。
依次對這些組合對進行變長編碼。在視頻壓縮標準中預(yù)先設(shè)立一張或多張碼表,編碼這些值的信息的組合對時可以根據(jù)已經(jīng)編碼過的信息來自適應(yīng)的選擇相應(yīng)的碼表并編碼成為相應(yīng)的唯一可譯的碼字。這里所說的已經(jīng)編碼過的信息可以是已經(jīng)編碼過的組合對中的絕對值大于1的系數(shù)的值的信息,也可以是已經(jīng)編碼過的組合對中±1的游程之和,還可以是其它可以從已經(jīng)編碼過的內(nèi)容中獲得的信息。另外在最后加入一個唯一可譯的結(jié)束碼字來表明何時組合對編碼結(jié)束。
在本實施例中,視頻壓縮標準中預(yù)先設(shè)有三張供上述值的信息編碼的碼表,并在標準中規(guī)定第一個組合對采用第一張碼表,之后若剛剛編碼的組合對中絕對值大于1的系數(shù)的絕對值大于6,則使用第二張碼表,否則使用第三張碼表。這樣,第一個組合對(1,2)使用第一張碼表編碼為010,由于剛剛編碼過的組合對中絕對值大于1的系數(shù)的絕對值小于6,因此(1,2)采用第三張碼表編碼為010,以次類推,(0,2)采用第三張碼表編碼為10,(2,4)采用第三張碼表編碼為00101,(0,3)采用第三張碼表編碼為011,(2,3)也采用第三張碼表編碼為00010。最后添加一個結(jié)束碼字11,以表示組合對編碼結(jié)束。
另外該系數(shù)串中非零系數(shù)的正負號編碼為1110101011010000(1代表負,0代表正)。
這樣,整個系數(shù)串的非零系數(shù)的值的信息便編碼成為010 010 10 00101 01100010 11 1110101011010000將非零系數(shù)的位置信息編碼出的比特和值的信息編碼出的比特連接在一起,從而得到整個系數(shù)串的編碼結(jié)果就是010 110 001010 00001 01 00010 10 000111 010010 10 00101 011 00010 11 1110101011010000解碼方法是上述編碼方法的逆過程。解碼時,此比特串依次可以唯一解碼出位置信息組合對的個數(shù)7,以及7個位置信息的二維組合對(2,1)(5,2)(3,3)(2,1)(3,2)(1,1)(0,6),然后是值的信息的二維組合對(1,2)(1,2)(0,2)(2,4)(0,3)(2,3)以及各個非零系數(shù)的正負號---+-+-+--+-++++。根據(jù)本實施例中的熵編碼方法,便可以將這些信息恢復(fù)出與編碼前一致的原始系數(shù)串-1-1-33-110-40002-100-20001-210000011001。
實施例二設(shè)圖像編碼中某個塊的變換量化掃描之后的系數(shù)串為0-1100000010000010000000000-1從該系數(shù)串中分別提取非零系數(shù)的位置信息和非零系數(shù)的值的信息,再對該兩種信息分別進行變長編碼1)位置信息。
實施例二中的非零系數(shù)的位置信息的編碼方法和實施例一中的位置信息的編碼方法完全相同。(本實施例也可以采用不同與實施例一中的其他已有方法來編碼位置信息。)具體來說先將其分割為若干個零的游程和非零系數(shù)的游程的組合對,并從系數(shù)串的最后往前按逆序排列如下(10,1)(5,1)(6,1)(1,2)其中,每個括號表示一個組合對,括號中的第一個數(shù)字表示零的游程,第二個數(shù)字表示零后面的非零系數(shù)的游程。例如,系數(shù)串的最后是連續(xù)的10個0和1個非零的系數(shù)-1,因此第一個組合對為(10,1);再往前數(shù),系數(shù)串是連續(xù)的5個0和1個非零的系數(shù)1,因此組合對為(5,1)。以此類推,直到系數(shù)串的最前面0-11,共1個0,2個連續(xù)的非零系數(shù),因此最后一個組合對是(1,2)。
為了確定該串系數(shù)的位置信息何時結(jié)束,可以數(shù)出共有多少個零的游程和非零系數(shù)的游程的二維組合對,在本實施例中共有4個組合對。
這樣,先對組合對的個數(shù)4進行變長編碼,例如本實施例編碼為011,然后依次變長編碼各個組合對,即將每一個組合對根據(jù)圖像壓縮標準中設(shè)立的相應(yīng)的碼表編碼成一個唯一可譯的碼字,在編碼后面的組合對時可以根據(jù)已經(jīng)編碼過的組合對的信息,來按照標準中規(guī)定的法則選擇相應(yīng)的碼表。
例如本實施例中在壓縮標準中設(shè)有兩個編碼位置信息的碼表,剛開始采用第一個碼表,當上一個編碼的零的游程小于5時,或者已經(jīng)編碼的所有的零的游程和非零系數(shù)的游程之和大于20時,采用第二個碼表,否則仍舊采用第一個碼表。這樣,(10,1)采用第一個碼表編碼為00000110,(5,1)依然采用第一個碼表編碼為001010,(6,1)也采用第一個碼表編碼為00011,此時已經(jīng)編碼的所有的零的游程和非零系數(shù)的游程之和為10+1+5+1+6+1=24,大于20,從而(1,2)采用第二個碼表編碼為01。
這樣,整個系數(shù)串的非零系數(shù)的位置信息便編碼成為011 00000110 00101000011 012)值的信息。
本實施例中,值的信息采用和實施例一中不同的編碼方法。即先采用一個比特來編碼表示非零系數(shù)是否全是±1。若該比特為1,則表示非零系數(shù)全是±1.若該比特為0,則表示存在絕對值大于1的非零系數(shù),之后仍采用實施例一的值的信息編碼方法或者其他方法對值的信息進行編碼。
在本實施例中,非零系數(shù)全是±1,用一個比特“1”來表示。
之后編碼各個±1的符號,用1表示負,用0表示正,即10001這樣,整個系數(shù)串的非零系數(shù)的值的信息便編碼成為110001將非零系數(shù)的位置信息編碼出的比特和值的信息編碼出的比特連接在一起,從而得到整個系數(shù)串的編碼結(jié)果就是011 00000110 001010 00011 01 1 10001在本實施例中,編碼值的信息也可以采用與實施例一相同的方法,或者在標準中規(guī)定在某條件下采用實施例一中的方法,而在其他條件下采用本實施例中的方法。這里所述的判定條件可以是所有非零系數(shù)的個數(shù),或者是已經(jīng)編碼的零的游程和非零系數(shù)的游程的組合對的個數(shù),或者是相鄰塊中±1的個數(shù),或者其他法則。但無論使用何種判定條件,都要預(yù)先具體規(guī)定。例如預(yù)先規(guī)定當所有非零系數(shù)的個數(shù)小于等于6時,采用1個比特表示這些非零系數(shù)的絕對值是否全是1,若全是1,則用1表示,否則用0表示;當所有非零系數(shù)的個數(shù)大于6時,采用實施例一中的值的信息的編碼方法。這樣,本實施例中,從位置信息的各個二維組合對中的非零系數(shù)的游程可以求和得到整個系數(shù)串中的非零系數(shù)的個數(shù)是1+1+1+2=5,小于6,且非零系數(shù)的絕對值全是1,因此還是采用一個比特“1”來編碼表示非零系數(shù)全是±1。
解碼方法是編碼方法的逆過程。在解碼時,本實施例中編碼出的比特串依次可以唯一解碼出位置信息組合對的個數(shù)4,以及4個位置信息的二維組合對(10,1)(5,1)(6,1)(1,2),然后解碼出一個比特“1”,得知所有非零系數(shù)的絕對值全是1。之后,再解碼出各個±1的符號-+++-。根據(jù)本實施例中的熵編碼方法,便可以將這些信息恢復(fù)出與編碼前一致的原始系數(shù)串0-1100000010000010000000000-1。
本發(fā)明的上述實施例只用于說明本發(fā)明的內(nèi)容,但不限制權(quán)利要求所保護的內(nèi)容。本發(fā)明所應(yīng)用的領(lǐng)域并不限于圖像或視頻編解碼領(lǐng)域,還可以推廣至其他壓縮編碼或信號處理的應(yīng)用中。
權(quán)利要求
1.一種圖像/視頻壓縮編碼中的熵編碼方法,將變換系數(shù)按一定規(guī)則掃描成一個系數(shù)串后,對該系數(shù)串進行變長編碼,其特征在于從該系數(shù)串中提取非零系數(shù)的位置信息和非零系數(shù)的值的信息,再對該兩種信息分別進行變長編碼,在對該非零系數(shù)的位置信息進行編碼時,將連續(xù)的零和連續(xù)的非零系數(shù)組合成零的游程和非零系數(shù)的游程的二維組合對,對所述的二維組合對進行變長編碼。
2.如權(quán)利要求1所述的一種圖像/視頻壓縮編碼中的熵編碼方法,其特征在于對所述的二維組合對進行變長編碼時,根據(jù)已經(jīng)編碼過的信息自適應(yīng)的選擇相應(yīng)的碼表進行變長編碼。
3.一種圖像/視頻壓縮編碼中的熵編碼方法,將變換系數(shù)按一定規(guī)則掃描成一個系數(shù)串后,對該系數(shù)串進行變長編碼,其特征在于從該系數(shù)串中提取非零系數(shù)的位置信息和非零系數(shù)的值的信息,再對該兩種信息分別進行變長編碼,在對該非零系數(shù)的值的信息進行編碼時,將連續(xù)的1或-1和緊隨其后的絕對值大于1的系數(shù)的值或絕對值組合成±1的游程和絕對值大于1的系數(shù)的值或絕對值的二維組合對,對所述的二維組合對進行變長編碼。
4.如權(quán)利要求3所述的一種圖像/視頻壓縮編碼中的熵編碼方法,其特征在于在對所述的二維組合對進行變長編碼時,根據(jù)已經(jīng)編碼過的信息自適應(yīng)的選擇相應(yīng)的碼表進行變長編碼。
5.一種圖像/視頻壓縮編碼中的熵編碼方法,將變換系數(shù)按一定規(guī)則掃描成一個系數(shù)串后,對該系數(shù)串進行變長編碼,其特征在于從該系數(shù)串中提取非零系數(shù)的位置信息和非零系數(shù)的值的信息,再對該兩種信息分別進行變長編碼,在對該非零系數(shù)的值的信息進行編碼時,用1個比特標明該串非零系數(shù)的絕對值是否全是1。
全文摘要
本發(fā)明屬于信號處理中的圖像/視頻編解碼領(lǐng)域,涉及圖像/視頻編碼中變換系數(shù)的熵編碼方法。本發(fā)明對掃描后的一串系數(shù)分別提取非零系數(shù)的位置信息和非零系數(shù)的值的信息進行變長編碼,在對位置信息編碼時,將連續(xù)的零和連續(xù)的非零系數(shù)組合成零的游程和非零系數(shù)的游程的二維組合對,并對其進行變長編碼。在對值的信息編碼時,將連續(xù)的±1和其后的絕對值大于1的系數(shù)的值或絕對值組合成±1的游程和絕對值大于1的系數(shù)的值或絕對值的二維組合對,并對其進行變長編碼,或者用1個比特來標明該串非零系數(shù)的絕對值是否全是1。本發(fā)明更深入的利用了位置信息和非零系數(shù)的值的信息內(nèi)的統(tǒng)計特性,從而取得了比已有熵編碼方法更為優(yōu)越的壓縮性能。
文檔編號H04N7/26GK1665303SQ200510055289
公開日2005年9月7日 申請日期2005年3月18日 優(yōu)先權(quán)日2005年3月18日
發(fā)明者何蕓, 陳衢清 申請人:清華大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
崇左市| 肃宁县| 瑞安市| 勐海县| 洪江市| 鄱阳县| 延长县| 东乡| 漯河市| 彭水| 新郑市| 纳雍县| 威远县| 泽普县| 咸阳市| 叙永县| 广元市| 增城市| 嘉祥县| 武川县| 白水县| 都昌县| 永昌县| 洪江市| 荥经县| 浮山县| 登封市| 绍兴县| 绥宁县| 黎平县| 金秀| 惠东县| 南阳市| 搜索| 左贡县| 孝感市| 泸定县| 察雅县| 巫溪县| 青海省| 青州市|