專利名稱:用于視頻或圖像壓縮的幀內(nèi)預(yù)測模式編解碼的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種電數(shù)字數(shù)據(jù)處理技術(shù),特別地,涉及一種運用于視頻或圖像壓縮的幀內(nèi)預(yù)測模式編解碼的方法和裝置。
背景技術(shù):
傳統(tǒng)的視頻編碼標準如國際電信聯(lián)盟ITU制定的H.261,H.263,H.26L,H.264標準以及國際標準化組織ISO的運動圖像專家組織MPEG制定的MEPG-1,MPEG-2,MPEG-4等都是基于混合編碼Hybrid Coding框架之上的。所謂混合編碼框架是綜合考慮預(yù)測,變換以及熵編碼的方法的編碼框架,有以下主要特點1、利用預(yù)測去除時間域的冗余度;2、利用變換去除空間域的冗余度;3、利用熵編碼去除統(tǒng)計上的冗余度。
上述視頻編碼標準都具有幀內(nèi)編碼幀,即I幀,和幀間編碼幀,即P幀,I幀和P幀采用不同的編碼方法。I幀的編碼過程如下對原始圖像數(shù)據(jù)或幀內(nèi)預(yù)測得到的殘差塊進行二維變換;然后在變換域中對變換系數(shù)進行量化;對量化所得的二維變換系數(shù)塊作掃描,使之成為一維的變換系數(shù)序列;最后進行熵編碼,即Huffman編碼或者算術(shù)編碼等。P幀的編碼過程如下采用運動估計得到運動矢量,然后采用基于運動補償?shù)膸g預(yù)測,接著對幀間預(yù)測得到的殘差塊進行二維變換,再對變換域系數(shù)進行量化,對量化所得的二維殘差塊系數(shù)作掃描,使之成為一維的殘差系數(shù)序列,最后進行熵編碼。
在幀內(nèi)預(yù)測的時候,根據(jù)不同的幀內(nèi)預(yù)測方向會有不同的模式。如在H.264中,幀內(nèi)預(yù)測總共有9種模式。這些模式的信息是需要在碼流里傳輸?shù)?,只有這樣解碼器才能正確解碼。為了提高幀內(nèi)模式編碼的效率,幀內(nèi)預(yù)測模式的編碼需要做預(yù)測。根據(jù)相鄰塊的信息可以得出當前塊最大可能預(yù)測模式(mostporbablymode)。如果當前塊的模式等于這個最大可能預(yù)測模式,那么一個bit的預(yù)測模式標志(pre_mode_flag)等于1。否則,如果不相同,這個預(yù)測模式標志等于0,再傳一個代表幀內(nèi)預(yù)測模式的值。解碼器通過這個預(yù)測模式標志和當預(yù)測模式標志為0時候的幀內(nèi)預(yù)測模式的值,就可以得到當前塊實際的幀內(nèi)預(yù)測模式。
現(xiàn)有的方法中,當一個包括大于等于一個塊的塊的集合里,所有的預(yù)測模式標志都是1的時候,每個集合需要N個bit來表示這個塊組里所有的幀內(nèi)預(yù)測模式都是預(yù)測出來的最大可能預(yù)測模式。這是比較浪費的。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提供一種視頻或圖像壓縮的幀內(nèi)預(yù)測模式編解碼的方法。
該發(fā)明目的是通過以下技術(shù)方案來實現(xiàn)的一種用于視頻或圖像壓縮的幀內(nèi)預(yù)測模式編解碼的方法,該方法中,至少存在一個塊的集合,其包含的塊的個數(shù)大于1,并且其使用一個類型信號指示各個塊的幀內(nèi)預(yù)測模式信息在碼流中的存在方式;如果這個信號指示該塊的集合采用直接幀內(nèi)模式,那么碼流里不再傳輸各個塊的幀內(nèi)預(yù)測模式信息,如果這個信號指示該塊的集合采用非直接幀內(nèi)模式,則碼流里需要傳輸該塊的集合中各個塊的幀內(nèi)預(yù)測模式信息。
進一步地,編碼過程包括1)編碼器根據(jù)優(yōu)化策略決定塊的集合是否采用直接幀內(nèi)模式,并在碼流里用一個類型信號表示。
2)如果這個信號指示該塊的集合采用直接幀內(nèi)模式,那么碼流里不再傳輸各個塊的模式信息。這些塊的模式為編解碼默認的模式。
3)如果這個信號指示該塊的集合采用非直接幀內(nèi)模式,那么在這個類型信號后碼流里還有表示各個塊的幀內(nèi)預(yù)測模式信息的信號。
解碼過程包括1)根據(jù)碼流中的類型信號,判斷塊的集合是否采用直接幀內(nèi)模式。
2)如果采用直接幀內(nèi)模式,該塊的集合中各個塊的幀內(nèi)預(yù)測模式均為編解碼默認的模式。
3)如果采用非直接幀內(nèi)模式,那么該塊的集合中各個塊的幀內(nèi)預(yù)測模式需要從后續(xù)的碼流中解碼得到。
本發(fā)明的目的還在于提供一種用于視頻或圖像壓縮的幀內(nèi)預(yù)測模式編解碼的編碼裝置。
該發(fā)明目的是通過以下技術(shù)方案來實現(xiàn)的,編碼裝置包括一開關(guān)K1。一判斷裝置,根據(jù)一定規(guī)則選擇出使用哪種幀內(nèi)預(yù)測模式,從而控制開關(guān)K1。一第一預(yù)測編碼裝置,采用直接幀內(nèi)預(yù)測模式進行幀內(nèi)預(yù)測模式的編碼。一第二預(yù)測編碼裝置,采用非直接幀內(nèi)預(yù)測模式進行幀內(nèi)預(yù)測模式的編碼。判斷裝置和開關(guān)K1相連。開關(guān)K1和第一預(yù)測編碼裝置、第二預(yù)測編碼裝置相連。
進一步地,所述判斷裝置是先算出用直接幀內(nèi)預(yù)測模式需要的代價和用非直接模式需要的代價,然后判斷直接幀內(nèi)模式需要的代價是不是小于非直接模式需要的代價。如果是則控制開關(guān)K1選擇到第一預(yù)測編碼裝置,如果不是則控制開關(guān)K1選擇到第二預(yù)測編碼裝置。所述第一預(yù)測編碼裝置是直接幀內(nèi)模式的預(yù)測裝置,在編碼端用來在直接幀內(nèi)模式情況下進行預(yù)測。
本發(fā)明的目的還在于提供一種用于視頻或圖像壓縮的幀內(nèi)預(yù)測模式編解碼的解碼裝置。
該發(fā)明目的是通過以下技術(shù)方案來實現(xiàn)的,解碼裝置包括一開關(guān)K2,用于根據(jù)碼流中的類型信號,判斷是否采用第一預(yù)測解碼裝置或采用第二預(yù)測解碼裝置。一第一預(yù)測解碼裝置,采用直接幀內(nèi)預(yù)測模式進行幀內(nèi)預(yù)測模式的解碼。一第二預(yù)測解碼裝置,采用非直接幀內(nèi)預(yù)測模式進行幀內(nèi)預(yù)測模式的解碼。開關(guān)K2和第一預(yù)測解碼裝置、第二預(yù)測解碼裝置相連。
進一步地,所述第一預(yù)測解碼裝置是直接幀內(nèi)模式的預(yù)測裝置,在解碼端用來在直接幀內(nèi)模式情況下進行預(yù)測。
本發(fā)明具有以下技術(shù)效果本發(fā)明能夠極大地提高編解碼的性能,同時又不增加編解碼的復(fù)雜度。
圖1是目前現(xiàn)有方法的編碼裝置框圖;圖2是目前現(xiàn)有方法的解碼裝置框圖;圖3是本發(fā)明實施例1的編碼裝置框圖;圖4是本發(fā)明實施例1的解碼裝置框圖;圖5是本發(fā)明實施例1的編碼流程圖;圖6是本發(fā)明實施例1的解碼流程圖。
具體實施例方式
下面根據(jù)附圖詳細說明本發(fā)明。
附圖1示出了現(xiàn)有的幀內(nèi)預(yù)測的編碼裝置,包括第一預(yù)測裝置。
用預(yù)測裝置1使用普通幀內(nèi)預(yù)測的方法對當前宏塊進行幀內(nèi)預(yù)測。
附圖2示出了現(xiàn)有的幀內(nèi)預(yù)測的解碼裝置,包括第一預(yù)測裝置。
用預(yù)測裝置2使用普通幀內(nèi)預(yù)測的方法對當前宏塊進行幀內(nèi)預(yù)測。
現(xiàn)有方法的不足之處是對于模式預(yù)測較準的塊仍然要傳很多幀內(nèi)模式的信息,開銷比較大。對于平坦的區(qū)域,以及量化比較厲害的情況,編碼效率不高。下面針對現(xiàn)有方法的不足,并參照附圖詳細說明本發(fā)明。
實施例1附圖3示出了一種運用于視頻或圖像壓縮的幀內(nèi)預(yù)測的編碼裝置,包括用于嘗試直接幀內(nèi)預(yù)測模式的第二模式選擇裝置,用于嘗試普通幀內(nèi)預(yù)測模式的第一模式選擇裝置,用于直接幀內(nèi)模式幀內(nèi)預(yù)測的第二預(yù)測裝置、用于普通幀內(nèi)模式幀內(nèi)預(yù)測的第一預(yù)測裝置、根據(jù)控制信號選擇預(yù)測裝置的開關(guān)K1、判斷用那種幀內(nèi)編碼方式的判斷裝置。
先通過第一模式選擇裝置和第二模式選擇裝置,求出這兩種模式下最佳模式的代價。把這兩個代價在判斷裝置里面進行比較,選出一個好的作為使用的模式。根據(jù)這個模式來選擇用第一預(yù)測裝置或者第二預(yù)測裝置來進行幀內(nèi)預(yù)測。
附圖4示出了一種運用于視頻或圖像壓縮的幀內(nèi)預(yù)測的解碼裝置,包括用于直接幀內(nèi)預(yù)測模式的第二預(yù)測裝置、用于普通幀內(nèi)預(yù)測模式的第一預(yù)測裝置,用于選擇預(yù)測方式的開關(guān)K2。
碼流中的類型信息控制開關(guān)K2選擇用哪種預(yù)測方式。如果選擇的是直接幀內(nèi)預(yù)測方式,則用第二預(yù)測裝置來進行幀內(nèi)預(yù)測,如果選擇的是普通幀內(nèi)預(yù)測方式,則選擇用第一預(yù)測裝置來進行幀內(nèi)預(yù)測。
實施例2附圖5示出了一種運用于視頻或圖像壓縮的幀內(nèi)預(yù)測的編碼流程。先計算直接幀內(nèi)模式和普通幀內(nèi)模式的代價,然后判斷哪中模式代價小,如果直接幀內(nèi)模式代價小則用直接幀內(nèi)模式進行編碼,如果普通幀內(nèi)模式代價下則用普通幀內(nèi)模式進行編碼。
附圖6示出了一種運用于視頻或圖像壓縮的幀內(nèi)預(yù)測的解碼流程。先判斷類型信號表示什么模式,如果是直接幀內(nèi)模式則用直接幀內(nèi)模式進行解碼,如果是普通幀內(nèi)模式則用普通幀內(nèi)模式進行解碼。
實施例3
一種運用于視頻或圖像壓縮的幀內(nèi)預(yù)測的編碼裝置,碼流中有l(wèi)bit表示宏塊是否是直接幀內(nèi)模式。當16個4×4塊的預(yù)測模式全部是最大可能預(yù)測模式時,宏塊類型設(shè)為0,即直接幀內(nèi)模式,此時16個4×4塊的預(yù)測模式的信息就不用分別寫入碼流。否則,宏塊類型設(shè)為1,各個塊的模式信息在碼流里傳輸。
一種運用于視頻或圖像壓縮的幀內(nèi)預(yù)測的解碼裝置,如果接收到的幀內(nèi)預(yù)測塊的宏塊類型為0,即直接幀內(nèi)模式,則當前宏塊中所有4×4塊的預(yù)測模式全部是最大可能預(yù)測模式,不需再從碼流中繼續(xù)讀取各個塊的模式信息。否則,繼續(xù)從碼流中讀出各個塊的模式信息。
實施例4一種運用于視頻或圖像壓縮的幀內(nèi)預(yù)測的編碼裝置,碼流中有l(wèi)bit表示宏塊是否是直接幀內(nèi)模式。當16個4×4塊的預(yù)測模式全部是用一樣的預(yù)測模式(如都用dc)時,宏塊類型設(shè)為0,即直接幀內(nèi)模式,此時16個4×4塊的預(yù)測模式的信息就不用分別寫入碼流,只需要把這些塊共用的模式在碼流中傳輸。否則,宏塊類型設(shè)為1,各個塊的模式信息在碼流里傳輸。
一種運用于視頻或圖像壓縮的幀內(nèi)預(yù)測的解碼裝置,如果接收到的幀內(nèi)預(yù)測塊的宏塊類型為0,即直接類型,則當前宏塊中所有4×4塊的預(yù)測模式全部是共用的模式(如都用dc),不需再從碼流中讀取預(yù)測模式的各個塊的模式信息,只需要讀出碼流中傳輸?shù)倪@些塊共用的模式。否則,繼續(xù)從碼流中讀出各個塊的模式信息。
權(quán)利要求
1.一種用于視頻或圖像壓縮的幀內(nèi)預(yù)測模式編解碼的方法,其特征在于,1)至少存在一個塊的集合,其包含的塊的個數(shù)大于1,并且其使用一個類型信號指示各個塊的幀內(nèi)預(yù)測模式信息在碼流中的存在方式。2)如果這個信號指示該塊的集合采用直接幀內(nèi)模式,那么碼流里不再傳輸各個塊的幀內(nèi)預(yù)測模式信息,如果這個信號指示該塊的集合采用非直接幀內(nèi)模式,則碼流里需要傳輸該塊的集合中各個塊的幀內(nèi)預(yù)測模式信息。
2.根據(jù)權(quán)利要求1所述的幀內(nèi)預(yù)測模式編解碼的方法,其特征在于,編碼過程包括1)編碼器根據(jù)優(yōu)化策略決定塊的集合是否采用直接幀內(nèi)模式,并在碼流里用一個類型信號表示。2)如果這個信號指示該塊的集合采用直接幀內(nèi)模式,那么碼流里不再傳輸各個塊的模式信息。這些塊的模式為編解碼默認的模式。3)如果這個信號指示該塊的集合采用非直接幀內(nèi)模式,那么在這個類型信號后碼流里還有表示各個塊的幀內(nèi)預(yù)測模式信息的信號。
3.根據(jù)權(quán)利要求2所述的幀內(nèi)預(yù)測模式編解碼的方法,其特征在于,所述步驟(2)中,編解碼默認的模式是指各個塊都使用其最大可能預(yù)測模式。
4.根據(jù)權(quán)利要求1所述的幀內(nèi)預(yù)測模式編解碼的方法,其特征在于,解碼過程包括1)根據(jù)碼流中的類型信號,判斷塊的集合是否采用直接幀內(nèi)模式。2)如果采用直接幀內(nèi)模式,該塊的集合中各個塊的幀內(nèi)預(yù)測模式均為編解碼默認的模式。3)如果采用非直接幀內(nèi)模式,那么該塊的集合中各個塊的幀內(nèi)預(yù)測模式需要從后續(xù)的碼流中解碼得到。
5.根據(jù)權(quán)利要求4所述的幀內(nèi)預(yù)測模式編解碼的方法,其特征在于,所述步驟(2)中,編解碼默認的模式是指各個塊都使用其最大可能預(yù)測模式。
6.一種應(yīng)用權(quán)利要求1所述的幀內(nèi)預(yù)測模式編解碼的方法的編碼裝置,其特征在于,它包括一開關(guān)K1。一判斷裝置,根據(jù)一定規(guī)則選擇出使用哪種幀內(nèi)預(yù)測模式,從而控制開關(guān)K1。一第一預(yù)測編碼裝置,采用直接幀內(nèi)預(yù)測模式進行幀內(nèi)預(yù)測模式的編碼。一第二預(yù)測編碼裝置,采用非直接幀內(nèi)預(yù)測模式進行幀內(nèi)預(yù)測模式的編碼。判斷裝置和開關(guān)K1相連。開關(guān)K1和第一預(yù)測編碼裝置、第二預(yù)測編碼裝置相連。
7.根據(jù)權(quán)利要求6所述的編碼裝置,其特征在于,所述判斷裝置中,判斷裝置是先算出用直接幀內(nèi)預(yù)測模式需要的代價和用非直接模式需要的代價,然后判斷直接幀內(nèi)模式需要的代價是不是小于非直接模式需要的代價。如果是則控制開關(guān)K1選擇到第一預(yù)測編碼裝置,如果不是則控制開關(guān)K1選擇到第二預(yù)測編碼裝置。
8.根據(jù)權(quán)利要求6所述的編碼裝置,其特征在于,所述第一預(yù)測編碼裝置是直接幀內(nèi)模式的預(yù)測裝置,在編碼端用來在直接幀內(nèi)模式情況下進行預(yù)測。
9.一種應(yīng)用權(quán)利要求1所述的幀內(nèi)預(yù)測模式編解碼的方法的解碼裝置,其特征在于,它包括一開關(guān)K2,用于根據(jù)碼流中的類型信號,判斷是否采用第一預(yù)測解碼裝置或采用第二預(yù)測解碼裝置。一第一預(yù)測解碼裝置,采用直接幀內(nèi)預(yù)測模式進行幀內(nèi)預(yù)測模式的解碼。一第二預(yù)測解碼裝置,采用非直接幀內(nèi)預(yù)測模式進行幀內(nèi)預(yù)測模式的解碼。開關(guān)K2和第一預(yù)測解碼裝置、第二預(yù)測解碼裝置相連。
10.根據(jù)權(quán)利要求9所述的解碼裝置,其特征在于,所述第一預(yù)測解碼裝置是直接幀內(nèi)模式的預(yù)測裝置,在解碼端用來在直接幀內(nèi)模式情況下進行預(yù)測。
全文摘要
本發(fā)明公開了一種用于視頻或圖像壓縮的幀內(nèi)預(yù)測模式編解碼的方法和裝置。本發(fā)明允許用一個類型信號來表示是否逐一傳送塊的集合里各個塊的幀內(nèi)預(yù)測模式。當類型信號指示為直接幀內(nèi)模式時,塊的集合內(nèi)所有塊的預(yù)測模式是編解碼端默認的,無需逐一傳送塊的集合里各個塊的幀內(nèi)預(yù)測模式。這一方法增加了幀內(nèi)預(yù)測的靈活性,并且提高了編碼效率。本發(fā)明并不限于視頻或圖像編解碼領(lǐng)域,還可以推廣至其他信號處理的應(yīng)用中。
文檔編號H04N7/26GK1658674SQ20051004931
公開日2005年8月24日 申請日期2005年3月9日 優(yōu)先權(quán)日2005年3月9日
發(fā)明者虞露, 易峰, 董潔 申請人:浙江大學(xué)