變換系數(shù)的編碼方法、變換系數(shù)的解碼方法,和裝置制造方法
【專利摘要】本發(fā)明實施例公開了變換系數(shù)的編碼方法、變換系數(shù)的解碼方法,和裝置。以編碼方法為例:依照預(yù)置的掃描順序?qū)ψ儞Q系數(shù)塊的變換系數(shù)進行編碼,且每組編碼設(shè)定個數(shù)的變換系數(shù),直到對所述變換系數(shù)塊的最后一組編碼;存儲得到的非零變換系數(shù)分布、變換系數(shù)的絕對值以及非零變換系數(shù)的正負(fù)號;在所述最后一組編碼時,得到最后一組編碼的非零變換系數(shù)分布后,將存儲的非零變換系數(shù)分布和所述最后一組編碼的非零變換系數(shù)分布編入碼流,得到所述最后一組編碼的變換系數(shù)的絕對值以及非零變換系數(shù)的正負(fù)號后,將存儲的變換系數(shù)的絕對值以及非零變換系數(shù)的正負(fù)號和最后一組編碼的變換系數(shù)的絕對值以及非零變換系數(shù)的正負(fù)號編入碼流??梢蕴岣呔幗獯a效率。
【專利說明】變換系數(shù)的編碼方法、變換系數(shù)的解碼方法,和裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及視頻處理【技術(shù)領(lǐng)域】,特別涉及變換系數(shù)的編碼方法、變換系數(shù)的解碼 方法,和裝置。
【背景技術(shù)】
[0002] 目前視頻編碼技術(shù)中的熵編碼主要采用了游長編碼和算術(shù)編碼,比如在H. 264編 碼標(biāo)準(zhǔn)中采用了基于上下文的變長編碼(Context Adaptive Variable Length Coder, CAVLC)和自適應(yīng)二進制算術(shù)編碼(Context Adaptive Binary Arithmetic Coder,CABAC) 兩種熵編碼,這兩種熵編碼模式充分利用已編碼信息和當(dāng)前要編碼信息的相關(guān)性,具體為: 利用已編碼信息構(gòu)建當(dāng)前要編碼信息的碼表或者概率模型,這就是所謂的基于上下文的熵 編碼。CABAC由于采用了算術(shù)編碼的思想,其編碼性能要好于CAVLC,但是相應(yīng)的也帶來了 復(fù)雜度大幅度的上升的問題。由于采用了上下文信息,當(dāng)前編碼信息的編碼要等到和它 相鄰近的編碼信息編碼完成后才能開始,無法采用并行操作,這就使熵編碼算法成為編解 碼中的瓶頸。為了提高編碼效率,目前正在制定的下一代視頻壓縮標(biāo)準(zhǔn)(High Efficiency Video Coding,HEVC)視頻編碼標(biāo)準(zhǔn)中,算術(shù)編碼的流程如下:
[0003] A :編碼非零變換系數(shù)分布(significance map);本步驟中使用預(yù)置的掃描順序?qū)?需要編碼的整個變換系數(shù)塊進行編碼,也稱為:大掃描方式,例如:大Z形(zig-zag)方式; 上述預(yù)置的掃描順序也可以是大堅直或者大水平方式的掃描順序,對應(yīng)的在后續(xù)以子塊方 式編碼時候使用小堅直或者小水平方式的掃描順序;
[0004] 在執(zhí)行步驟A的過程中,每一個頻點對應(yīng)一個map中的位置,當(dāng)該頻點為0時,map 該位置上的值為〇 ;當(dāng)該頻點為非零時,map該位置上的值為1,同時判斷當(dāng)前頻點是否為最 后一個非零頻點,如果是,那么該位置的值為11 (兩個1,不是十一),如果不是,那么該位置 的值為10(1和〇,不是十)。在對map進行編碼的過程中,若表示map的0、1序列中出現(xiàn) 11,則確定一個變換系數(shù)塊編碼結(jié)束。
[0005] B :以子塊方式編碼變換系數(shù)(coefficients)大于1的分布(map);本步驟采用預(yù) 置的掃描順序?qū)φ麄€變換系數(shù)塊的子塊中大于1的map進行編碼,也稱為:小掃描方式,例 如:小zig-zag方式;
[0006] C :以子塊方式編碼coefficeints大于1的絕對值,采用小zig-zag方式;
[0007] D :以子塊方式編碼非零coefficeints的正負(fù)號,采用小zig-zag方式。上述B? D的步驟循環(huán)執(zhí)行,直到所有的子塊全部編碼完成。
[0008] 上述步驟中,所謂子塊方式以8x8的變換系數(shù)塊為例:先編左上4x4,再編右上 4x4,再編左下4x4,再編右下4x4,上述4x4的變換系數(shù)塊就是8x8的變換系數(shù)塊的子塊,關(guān) 于大/小zig-zag的掃描順序,分別如圖1A和1B所不,每一個小方塊代表一個頻點,方塊 中數(shù)字代表掃描順序。可見大/小zig-zag的掃描順序的掃描規(guī)則是相同的,只是針對的 掃描對象不同致使在整個變換系數(shù)塊來看,步驟A中編碼significance map,與步驟B?D 中編碼變換系數(shù)絕對值(level)、編碼非零變換系數(shù)的正負(fù)號(sign)的過程相比掃描順序 不同。由于上述掃描順序不同,在執(zhí)行步驟A和執(zhí)行B?D的編碼過程中需要分別執(zhí)行一 次讀取數(shù)據(jù),解碼端也需要對應(yīng)這兩種順序固化兩種查表方式,導(dǎo)致編解碼效率開銷大,效 率低。另外,在步驟A中,如果變換系數(shù)塊比較大,通常稱為大變換單元來說,例如32x32的 significance map會比較大,因此在硬件設(shè)計中編碼大significance map的負(fù)擔(dān)較大。
【發(fā)明內(nèi)容】
[0009] 本發(fā)明實施例要解決的技術(shù)問題是提供變換系數(shù)的編碼方法、變換系數(shù)的解碼方 法,和裝置,降低編解碼開銷,提高編解碼效率。
[0010] 一種變換系數(shù)編碼方法,包括:
[0011] 依照預(yù)置的掃描順序?qū)ψ儞Q系數(shù)塊的變換系數(shù)進行編碼,且每組編碼設(shè)定個數(shù)的 變換系數(shù),直到對所述變換系數(shù)塊的最后一組編碼;存儲得到的非零變換系數(shù)分布、變換系 數(shù)的絕對值以及非零變換系數(shù)的正負(fù)號;
[0012] 在所述最后一組編碼時,得到最后一組編碼的非零變換系數(shù)分布后,將存儲的非 零變換系數(shù)分布和所述最后一組編碼的非零變換系數(shù)分布編入碼流,得到所述最后一組編 碼的變換系數(shù)的絕對值以及非零變換系數(shù)的正負(fù)號后,將存儲的變換系數(shù)的絕對值以及非 零變換系數(shù)的正負(fù)號和最后一組編碼的變換系數(shù)的絕對值以及非零變換系數(shù)的正負(fù)號編 入碼流。
[0013] 一種變換系數(shù)解碼方法,包括:
[0014] 依照預(yù)置的掃描順序解析碼流的變換系數(shù),得到非零變換系數(shù)的分布;
[0015] 依照預(yù)置的掃描順序解析所述碼流的變換系數(shù)大于1的分布、變換系數(shù)大于1的 絕對值、非零變換系數(shù)的正負(fù)號,且每次解析所述碼流的所述設(shè)定個數(shù)的變換系數(shù)。
[0016] 一種變換系數(shù)編碼裝置,包括:
[0017] 編碼單元,用于依照預(yù)置的掃描順序?qū)ψ儞Q系數(shù)塊的變換系數(shù)進行編碼,且每組 編碼設(shè)定個數(shù)的變換系數(shù),直到對所述變換系數(shù)塊的最后一組編碼;在所述最后一組編碼 時,得到最后一組編碼的非零變換系數(shù)分布后,將存儲的非零變換系數(shù)分布和所述最后一 組編碼的非零變換系數(shù)分布編入碼流,得到所述最后一組編碼的變換系數(shù)的絕對值以及非 零變換系數(shù)的正負(fù)號后,將存儲的變換系數(shù)的絕對值以及非零變換系數(shù)的正負(fù)號和最后一 組編碼的變換系數(shù)的絕對值以及非零變換系數(shù)的正負(fù)號編入碼流;
[0018] 存儲單元,用于存儲編碼單元得到的非零變換系數(shù)分布、變換系數(shù)的絕對值以及 非零變換系數(shù)的正負(fù)號。
[0019] 一種變換系數(shù)解碼裝置,包括:
[0020] 解碼單元,用于依照預(yù)置的掃描順序解析碼流的變換系數(shù),得到非零變換系數(shù)的 分布;依照預(yù)置的掃描順序解析所述碼流的變換系數(shù)大于1的分布、變換系數(shù)大于1的絕對 值、非零變換系數(shù)的正負(fù)號,且每次解析所述碼流的所述設(shè)定個數(shù)的變換系數(shù)。
[0021] 本發(fā)明實施例提供的技術(shù)方案,編碼significance map的掃描順序,與編碼 level、編碼sign的過程的掃描順序相同,編碼過程只需要讀取一次數(shù)據(jù),解碼端對應(yīng)地也 只需要一種順序的查表方式,另外,將significance map拆分為較小的significance map,因 此能夠降低編解碼開銷,提高編解碼效率。
【專利附圖】
【附圖說明】
[0022] 為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用 的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本 領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他 的附圖。
[0023] 圖1A為大zig-zag掃描順序示意圖;
[0024] 圖1B為小zig-zag掃描順序示意圖;
[0025] 圖2為本發(fā)明實施例方法流程示意圖;
[0026] 圖3為本發(fā)明實施例方法流程示意圖;
[0027] 圖4為本發(fā)明實施例編碼裝置結(jié)構(gòu)示意圖;
[0028] 圖5為本發(fā)明實施例解碼裝置結(jié)構(gòu)示意圖。
【具體實施方式】
[0029] 下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。
[0030] 一種變換系數(shù)編碼方法,如圖2所示,包括:
[0031] 201 :依照預(yù)置的掃描順序?qū)ψ儞Q系數(shù)塊的變換系數(shù)進行編碼,且每組編碼設(shè)定個 數(shù)的變換系數(shù),直到對上述變換系數(shù)塊的最后一組編碼;存儲得到的非零變換系數(shù)分布、變 換系數(shù)的絕對值以及非零變換系數(shù)的正負(fù)號;
[0032] 本發(fā)明實施例中的變換系數(shù)塊可能是8x8的變換系數(shù)塊,也能是32x32的變換系 數(shù)塊,也可能是其他大小的變換系數(shù)塊,變換系數(shù)塊的大小并不影響本發(fā)明實施例的實現(xiàn), 對此本發(fā)明實施例不予限定。
[0033] 更具體地,上述201中對變換系數(shù)塊的變換系數(shù)進行編碼,且每組編碼設(shè)定個數(shù) 的變換系數(shù)包括:編碼設(shè)定個數(shù)的變換系數(shù)的非零變換系數(shù)分布,編碼設(shè)定個數(shù)的變換系 數(shù)的變換系數(shù)大于1的分布,編碼設(shè)定個數(shù)的變換系數(shù)的變換系數(shù)大于1的絕對值,編碼設(shè) 定個數(shù)的變換系數(shù)的非零變換系數(shù)的正負(fù)號。
[0034] 上述存儲的位置可以為緩存。上述設(shè)定個數(shù)的變換系數(shù)可以根據(jù)處理器的性能緩 存的大小等來確定,經(jīng)實驗表明上述設(shè)定個數(shù)為16時可以獲得較好的編碼效率。
[0035] 可選地,上述預(yù)置的掃描順序為大掃描方式的掃描順序或者小掃描方式的掃描順 序。對應(yīng)于這兩種預(yù)置的掃描順序,本發(fā)明實施例在后續(xù)實施例中給出了舉例??梢岳斫?的是,預(yù)置的掃描順序還可以是其他的,只要編碼端與解碼端對應(yīng)起來就可以了,對此本發(fā) 明實施例不予限定。
[0036] 202:在上述最后一組編碼時,得到最后一組編碼的非零變換系數(shù)分布后,將存儲 的非零變換系數(shù)分布和上述最后一組編碼的非零變換系數(shù)分布編入碼流,得到上述最后一 組編碼的變換系數(shù)的絕對值以及非零變換系數(shù)的正負(fù)號后,將存儲的變換系數(shù)的絕對值以 及非零變換系數(shù)的正負(fù)號和最后一組編碼的變換系數(shù)的絕對值以及非零變換系數(shù)的正負(fù) 號編入碼流。
[0037] 本發(fā)明實施例提供的技術(shù)方案,編碼significance map的掃描順序,與編碼 level、編碼sign的過程的掃描順序相同,編碼過程只需要讀取一次數(shù)據(jù),解碼端對應(yīng)地也 只需要一種順序的查表方式,另外,將significance map拆分為較小的significance map,因 此能夠降低編解碼開銷,提高編解碼效率。
[0038] -種變換系數(shù)解碼方法,如圖3所示,包括:
[0039] 301 :依照預(yù)置的掃描順序解析碼流的變換系數(shù),得到非零變換系數(shù)的分布;
[0040] 在301中,預(yù)置的掃描順序與編碼端預(yù)置的掃描順序是相同的。為了保證編解碼 端具有相同的掃描順序可以采用協(xié)議規(guī)定,也可以采用協(xié)商等方式,對此本發(fā)明實施例不 予限定。
[0041] 302 :依照預(yù)置的掃描順序解析上述碼流的變換系數(shù)大于1的分布、變換系數(shù)大于 1的絕對值、非零變換系數(shù)的正負(fù)號,且每次解析上述碼流的上述設(shè)定個數(shù)的變換系數(shù)。
[0042] 上述預(yù)置的掃描順序可以為大掃描方式的掃描順序也可以為小掃描方式的掃描 順序,那么上述依照預(yù)置的掃描順序解析碼流的變換系數(shù),得到非零變換系數(shù)的分布;依照 預(yù)置的掃描順序解析上述碼流的變換系數(shù)大于1的分布、變換系數(shù)大于1的絕對值、非零變 換系數(shù)的正負(fù)號,且每次解析上述碼流的上述設(shè)定個數(shù)的變換系數(shù)包括:
[0043] 以大掃描方式的掃描順序解析上述碼流得到非零變換系數(shù)的分布;以大掃描方式 的掃描順序解析上述碼流的變換系數(shù)大于1的分布、變換系數(shù)大于1的絕對值、非零變換系 數(shù)的正負(fù)號,且每次解析上述碼流的設(shè)定個數(shù)的變換系數(shù);或者,
[0044] 以小掃描方式的掃描順序解析上述碼流得到非零變換系數(shù)的分布,且每次解析上 述碼流的設(shè)定個數(shù)的變換系數(shù);
[0045] 以小掃描方式的掃描順序解析上述碼流的變換系數(shù)大于1的分布、變換系數(shù)大于 1的絕對值、非零變換系數(shù)的正負(fù)號,且每次解析上述碼流的上述設(shè)定個數(shù)的變換系數(shù)。
[0046] 本發(fā)明實施例提供的技術(shù)方案,編碼significance map的掃描順序,與編碼 level、編碼sign的過程的掃描順序相同,編碼過程只需要讀取一次數(shù)據(jù),解碼端對應(yīng)地也 只需要一種順序的查表方式,另外,將significance map拆分為較小的significance map,因 此能夠降低編解碼開銷,提高編解碼效率。
[0047] 以下實施例將以8x8的變換系數(shù)塊,且每次掃描或解析的變換系數(shù)個數(shù)為16個為 例進行說明。
[0048] 示例一、假定預(yù)置的掃描順序為大掃方式,若預(yù)置的掃描順序是大Z形(zig-zag) 方式可以參考圖1A。
[0049] 編碼端依次執(zhí)行:
[0050] (1)以8x8預(yù)置的掃描順序編碼掃描順序中的前16個coefficients的 significance map,然后存入緩存,編碼coefficients大于1的map,然后編碼大于1的絕對 值,然后編碼coeffcients的正負(fù)號,然后將得到的level和sign存入緩存;
[0051] (2)以8x8預(yù)置的掃描順序編碼掃描順序中之后的16個coefficients的 significance map,然后存入緩存,編碼coefficients大于1的map,然后編碼大于1的絕對 值,然后編碼coeffcients的正負(fù)號,然后將得到的level和sign存入緩存;
[0052] (3)以8x8預(yù)置的掃描順序編碼掃描順序中之后的16個coefficients的 significance map,然后存入緩存,編碼coefficients大于1的map,然后編碼大于1的絕對 值,然后編碼coeffcients的正負(fù)號,然后將得到的level和sign存入緩存;
[0053] (4)以8x8預(yù)置的掃描順序編碼掃描順序中的最后16個coefficients的 significance map,將緩存內(nèi)significance map信息以及最后得到的16個coefficients的 significance map信息編入碼流,編碼coefficients大于1的map,然后編碼大于1的絕 對值,然后編碼coeffcients的正負(fù)號,將緩存內(nèi)level、sign信息以及最后得到的16個 coefficients的level、sign編入碼流。編碼結(jié)束后可以將碼流發(fā)送給解碼端??梢岳斫?的是在編碼最后16個significance map時會得到結(jié)束的標(biāo)志信息。
[0054] 解碼端依次執(zhí)行:
[0055] (1)讀取碼流,以預(yù)置的8x8的掃描順序,解析significance map的數(shù)值;這一個 步驟可以直接解析出64個coefficients的significance map的數(shù)值;
[0056] 變換系數(shù)的編碼包括:變換系數(shù)的分布和變換系數(shù)的數(shù)值,其中變換系數(shù)的數(shù)值 包括:變換系數(shù)的絕對值和變換系數(shù)的符號,變換系數(shù)的絕對值包括:數(shù)值大于1的變換系 數(shù)的分布(通過這個實際上知道了哪些非零變換系數(shù)的絕對值為1)和數(shù)值大于1的變換 系數(shù)的絕對值。
[0057] (2)讀取碼流,以預(yù)置的8x8的掃描順序,解析掃描順序中前16個大于1的 coefficients的map,大于1的coefficients的絕對值,各非零coefficients的正負(fù)號;
[0058] (3)讀取碼流,以預(yù)置的8x8的掃描順序,解析掃描順序中后面16個大于1的 coefficients的map,大于1的coefficients的絕對值,各非零coefficients的正負(fù)號;
[0059] (4)讀取碼流,以預(yù)置的8x8的掃描順序,解析掃描順序中后面16個大于1的 coefficients的map,大于1的coefficients的絕對值,各非零coefficients的正負(fù)號;
[0060] (5)讀取碼流,以預(yù)置的8x8的掃描順序,解析掃描順序中最后16個大于1的 coefficients的map,大于1的coefficients的絕對值,各非零coefficients的正負(fù)號。
[0061] 示例二、假定預(yù)置的掃描順序為小掃方式,若預(yù)置的掃描順序是小Z形(Zig-zag) 方式可以參考圖1B。
[0062] 編碼端依次執(zhí)行:
[0063] 1、取頻域位置左上4x4點,以4x4預(yù)置的掃描順序編碼significance map,然 后存入緩存,編碼coefficients大于1的map,然后編碼大于1的絕對值,然后編碼非零 coeffcients的正負(fù)號,然后將得到的level和sign存入緩存;
[0064] 2、取頻域位置右上4x4點,以4x4預(yù)置的掃描順序編碼significance map,然 后存入緩存,編碼coefficients大于1的map,然后編碼大于1的絕對值,然后編碼非零 coeffcients的正負(fù)號,然后將得到的level和sign存入緩存;
[0065] 3、取頻域位置左下4x4點,以4x4預(yù)置的掃描順序編碼significance map,然 后存入緩存,編碼coefficients大于1的map,然后編碼大于1的絕對值,然后編碼非零 coeffcients的正負(fù)號,然后將得到的level和sign存入緩存;
[0066] 4、取頻域位置右下4x4點,以4x4預(yù)置的掃描順序編碼significance map,將緩存 內(nèi)significance map信息以及最后得到的16個coefficients的significance map信息編 入碼流(最后得到的16個coefficients的significance map信息包含map的結(jié)束信息), 編碼coefficients大于1的map,然后編碼大于1的絕對值,然后編碼非零coeffcients的 正負(fù)號,將緩存內(nèi)level、sign信息以及最后得到的16個coefficients的level、sign編入 碼流。
[0067] 解碼端依次執(zhí)行:
[0068] (1)讀取碼流,以4x4預(yù)置的掃描順序解析前16個點的significance map數(shù)值存 入map的左上子塊,以4x4預(yù)置的掃描順序解析后16個點的significance map數(shù)值存入 map的右上子塊,以4x4預(yù)置的掃描順序解析后16個點的significance map數(shù)值存入map 的左下子塊,以4x4預(yù)置的掃描順序解析最后16個點的significance map數(shù)值存入map的 右下子塊;
[0069] (2)讀取碼流,以4x4預(yù)置的掃描順序解析前16個大于1的coefficients的map, 大于1的coefficients的絕對值,各非零coefficients的正負(fù)號,作為左上子塊位置的 coefficients ;
[0070] (3)讀取碼流,以4x4預(yù)置的掃描順序解析后16個大于1的coefficients的map, 大于1的coefficients的絕對值,各非零coefficients的正負(fù)號,作為右上子塊位置的 coefficients ;
[0071] (4)讀取碼流,以4x4預(yù)置的掃描順序解析后16個大于1的coefficients的map, 大于1的coefficients的絕對值,各非零coefficients的正負(fù)號,作為左下子塊位置的 coefficients ;
[0072] (5)讀取碼流,以4x4預(yù)置的掃描順序解析后16個大于1的coefficients的map, 大于1的coefficients的絕對值,各非零coefficients的正負(fù)號,作為右下子塊位置的 coefficients。
[0073] -種變換系數(shù)編碼裝置,如圖4所示,包括:
[0074] 編碼單元401,用于依照預(yù)置的掃描順序?qū)ι鲜鲎儞Q系數(shù)塊的變換系數(shù)進行編碼, 且每組編碼設(shè)定個數(shù)的變換系數(shù),直到對上述變換系數(shù)塊的最后一組編碼;在上述最后一 組編碼時,得到最后一組編碼的非零變換系數(shù)分布后,將存儲的非零變換系數(shù)分布和上述 最后一組編碼的非零變換系數(shù)分布編入碼流,得到上述最后一組編碼的變換系數(shù)的絕對值 以及非零變換系數(shù)的正負(fù)號后,將存儲的變換系數(shù)的絕對值以及非零變換系數(shù)的正負(fù)號和 最后一組編碼的變換系數(shù)的絕對值以及非零變換系數(shù)的正負(fù)號編入碼流;
[0075] 存儲單元402,用于存儲編碼單元得到的非零變換系數(shù)分布、變換系數(shù)的絕對值以 及非零變換系數(shù)的正負(fù)號。
[0076] 可選地,上述編碼單元401,用于依照預(yù)置的掃描順序?qū)ι鲜鲎儞Q系數(shù)塊的變換系 數(shù)進行編碼包括:
[0077] 用于依照大掃描方式的掃描順序?qū)ι鲜鲎儞Q系數(shù)塊的變換系數(shù)進行編碼;或者,
[0078] 用于依照小掃描方式的掃描順序?qū)ι鲜鲎儞Q系數(shù)塊的變換系數(shù)進行編碼。
[0079] 本發(fā)明實施例提供的技術(shù)方案,編碼significance map的掃描順序,與編碼 level、編碼sign的過程的掃描順序相同,編碼過程只需要讀取一次數(shù)據(jù),解碼端對應(yīng)地也 只需要一種順序的查表方式,另外,將significance map拆分為較小的significance map,因 此能夠降低編解碼開銷,提高編解碼效率。
[0080] 一種變換系數(shù)解碼裝置,如圖5所示,包括:
[0081] 解碼單元501,用于依照預(yù)置的掃描順序解析碼流的變換系數(shù),得到非零變換系數(shù) 的分布;依照預(yù)置的掃描順序解析上述碼流的變換系數(shù)大于1的分布、變換系數(shù)大于1的絕 對值、非零變換系數(shù)的正負(fù)號,且每次解析上述碼流的上述設(shè)定個數(shù)的變換系數(shù)。
[0082] 可選地,上述解碼單元501具體用于:以大掃描方式的掃描順序解析上述碼流得 到非零變換系數(shù)的分布;以大掃描方式的掃描順序解析上述碼流的變換系數(shù)大于1的分 布、變換系數(shù)大于1的絕對值、非零變換系數(shù)的正負(fù)號,且每次解析上述碼流的設(shè)定個數(shù)的 變換系數(shù);或者,上述解碼單元501具體用于:
[0083] 以小掃描方式的掃描順序解析上述碼流得到非零變換系數(shù)的分布,且每次解析上 述碼流的設(shè)定個數(shù)的變換系數(shù);
[0084] 以小掃描方式的掃描順序解析上述碼流的變換系數(shù)大于1的分布、變換系數(shù)大于 1的絕對值、非零變換系數(shù)的正負(fù)號,且每次解析上述碼流的上述設(shè)定個數(shù)的變換系數(shù)。
[0085] 本發(fā)明實施例提供的技術(shù)方案,編碼significance map的掃描順序,與編碼 level、編碼sign的過程的掃描順序相同,編碼過程只需要讀取一次數(shù)據(jù),解碼端對應(yīng)地也 只需要一種順序的查表方式,另外,將significance map拆分為較小的significance map,因 此能夠降低編解碼開銷,提高編解碼效率。
[0086] 本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟是可以 通過程序來指令相關(guān)的硬件完成,上述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上 述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0087] 本發(fā)明實施例提供的技術(shù)可以應(yīng)用在數(shù)字信號處理領(lǐng)域中,通過編碼器,解碼器 實現(xiàn)。視頻編碼器,解碼器廣泛應(yīng)用于各種通訊設(shè)備或電子設(shè)備中,例如:數(shù)字電視、機頂 盒、媒體網(wǎng)關(guān),移動電話,無線裝置,個人數(shù)據(jù)助理(PDA),手持式或便攜式計算機,GPS接收 機/導(dǎo)航器,照相機,視頻播放器,攝像機,錄像機,監(jiān)控設(shè)備,視頻會議和可視電話設(shè)備等 等。這類設(shè)備中包括處理器,存儲器,以及傳輸數(shù)據(jù)的接口。視頻編解碼器可以直接由數(shù)字 電路或芯片例如DSP(digital signal processor)實現(xiàn),或者由軟件代碼驅(qū)動一處理器執(zhí) 行軟件代碼中的流程而實現(xiàn)。
[〇〇88] 以上對本發(fā)明實施例所提供的變換系數(shù)的編碼方法、變換系數(shù)的解碼方法,和裝 置進行了詳細介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上 實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技 術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實施方式】及應(yīng)用范圍上均會有改變之處,綜上,本說明 書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
【權(quán)利要求】
1. 一種變換系數(shù)編碼方法,其特征在于,包括: 依照預(yù)置的掃描順序?qū)ψ儞Q系數(shù)塊的變換系數(shù)進行編碼,且每組編碼設(shè)定個數(shù)的變換 系數(shù),直到對所述變換系數(shù)塊的最后一組編碼;存儲得到的非零變換系數(shù)分布、變換系數(shù)的 絕對值以及非零變換系數(shù)的正負(fù)號,所述設(shè)定個數(shù)為4x4 ; 在所述最后一組編碼時,得到最后一組編碼的非零變換系數(shù)分布后,將存儲的非零變 換系數(shù)分布和所述最后一組編碼的非零變換系數(shù)分布編入碼流,得到所述最后一組編碼的 變換系數(shù)的絕對值以及非零變換系數(shù)的正負(fù)號后,將存儲的變換系數(shù)的絕對值以及非零變 換系數(shù)的正負(fù)號和所述最后一組編碼的變換系數(shù)的絕對值以及非零變換系數(shù)的正負(fù)號編 入碼流; 其中,對非零變換系數(shù)分布的預(yù)置掃描順序,與對變換系數(shù)的絕對值、非零變換系數(shù)的 正負(fù)號的預(yù)置掃描順序相同。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述預(yù)置的掃描順序為小掃描方式的掃 描順序。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述小掃描方式的掃描順序包括小Z形、 小堅直或者小水平方式的掃描順序。
4. 根據(jù)權(quán)利要求1-3任一項所述的方法,其特征在于,所述變換系數(shù)塊的大小為 8x8, 16x16 或者 32x32。
5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,當(dāng)所述變換系數(shù)塊的大小為8x8時,所述 的方法包括: 取頻域位置左上4x4的設(shè)定個數(shù),以4x4預(yù)置的掃描順序編碼非零變換系數(shù)分布,得到 掃描后的非零變換系數(shù)分布,以所述4x4預(yù)置的掃描順序編碼變換系數(shù)大于1的分布,編碼 變換系數(shù)大于1的絕對值,編碼非零變換系數(shù)的正負(fù)號,得到掃描后的變換系數(shù)大于1的絕 對值以及非零變換系數(shù)的正負(fù)號; 取頻域位置右上4x4的設(shè)定個數(shù),以4x4預(yù)置的掃描順序編碼非零變換系數(shù)分布,得到 掃描后的非零變換系數(shù)分布,以所述4x4預(yù)置的掃描順序編碼變換系數(shù)大于1的分布,編碼 變換系數(shù)大于1的絕對值,編碼非零變換系數(shù)的正負(fù)號,得到掃描后的變換系數(shù)大于1的絕 對值以及非零變換系數(shù)的正負(fù)號; 取頻域位置左下4x4的設(shè)定個數(shù),以4x4預(yù)置的掃描順序編碼非零變換系數(shù)分布,得 到掃描后的非零變換系數(shù)分布,以所述4x4預(yù)置的掃描順序編碼變換系數(shù)大于1的分布,編 碼變換系數(shù)大于1的絕對值,編碼非零變換系數(shù)的正負(fù)號,得到掃描后的變換系數(shù)大于1的 絕對值以及非零變換系數(shù)的正負(fù)號; 取頻域位置右下4x4的設(shè)定個數(shù),以4x4預(yù)置的掃描順序編碼非零變換系數(shù)分布,得到 掃描后的非零變換系數(shù)分布,以所述4x4預(yù)置的掃描順序編碼變換系數(shù)大于1的分布,編碼 變換系數(shù)大于1的絕對值,編碼非零變換系數(shù)的正負(fù)號,得到掃描后的變換系數(shù)大于1的絕 對值以及非零變換系數(shù)的正負(fù)號; 將之前得到的非零變換系數(shù)分布以及所述最后一組編碼的非零變換系數(shù)分布編入碼 流,將之前得到變換系數(shù)大于1的分布,編碼變換系數(shù)大于1的絕對值,編碼非零變換系數(shù) 的正負(fù)號以及最后一組編碼的變換系數(shù)大于1的分布,編碼變換系數(shù)大于1的絕對值,編碼 非零變換系數(shù)的正負(fù)號編入碼流。
6. -種變換系數(shù)解碼方法,其特征在于,包括: 依照預(yù)置的掃描順序解析碼流的變換系數(shù),得到非零變換系數(shù)的分布,所述變換系數(shù) 每組設(shè)定個數(shù)為4x4 ; 依照預(yù)置的掃描順序解析所述碼流的變換系數(shù)大于1的分布、變換系數(shù)大于1的絕對 值、非零變換系數(shù)的正負(fù)號,且每次解析所述碼流的所述設(shè)定個數(shù)的變換系數(shù); 其中,對非零變換系數(shù)分布的預(yù)置掃描順序,與對變換系數(shù)大于1的分布、變換系數(shù)大 于1的絕對值、非零變換系數(shù)的正負(fù)號的預(yù)置掃描順序相同。
7. 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述預(yù)置的掃描順序為小掃描方式的掃 描順序。
8. 根據(jù)權(quán)利要求7所述的方法,其特征在于,所述小掃描方式的掃描順序包括小Z形、 小堅直或者小水平方式的掃描順序。
9. 根據(jù)權(quán)利要求6-8任一項所述的方法,其特征在于,所述變換系數(shù)所屬的變換系數(shù) 塊的大小為8x8, 16x16或者32x32。
10. 根據(jù)權(quán)利要求9所述的方法,其特征在于,當(dāng)所述變換系數(shù)塊的大小為8x8時,所述 的方法包括: 取頻域位置左上4x4的設(shè)定個數(shù),以4x4預(yù)置的掃描順序解碼非零變換系數(shù)分布,得到 掃描后的非零變換系數(shù)分布,以所述4x4預(yù)置的掃描順序解碼變換系數(shù)大于1的分布,解 碼變換系數(shù)大于1的絕對值,解碼非零變換系數(shù)的正負(fù)號,得到掃描后的變換系數(shù)大于1的 絕對值以及非零變換系數(shù)的正負(fù)號; 取頻域位置右上4x4的設(shè)定個數(shù),以4x4預(yù)置的掃描順序解碼非零變換系數(shù)分布,得到 掃描后的非零變換系數(shù)分布,以所述4x4預(yù)置的掃描順序解碼變換系數(shù)大于1的分布,解碼 變換系數(shù)大于1的絕對值,解碼非零變換系數(shù)的正負(fù)號,得到掃描后的變換系數(shù)大于1的絕 對值以及非零變換系數(shù)的正負(fù)號; 取頻域位置左下4x4的設(shè)定個數(shù),以4x4預(yù)置的掃描順序解碼非零變換系數(shù)分布,得到 掃描后的非零變換系數(shù)分布,以所述4x4預(yù)置的掃描順序解碼變換系數(shù)大于1的分布,解碼 變換系數(shù)大于1的絕對值,解碼非零變換系數(shù)的正負(fù)號,得到掃描后的變換系數(shù)大于1的絕 對值以及非零變換系數(shù)的正負(fù)號; 取頻域位置右下4x4的設(shè)定個數(shù),以4x4預(yù)置的掃描順序解碼非零變換系數(shù)分布,得到 掃描后的非零變換系數(shù)分布,以所述4x4預(yù)置的掃描順序解碼變換系數(shù)大于1的分布,解碼 變換系數(shù)大于1的絕對值,解碼非零變換系數(shù)的正負(fù)號,得到掃描后的變換系數(shù)大于1的絕 對值以及非零變換系數(shù)的正負(fù)號。
11. 一種視頻編碼裝置,包括至少一個處理器,其特征在于,所述至少一個處理器被配 置以執(zhí)行下列步驟: 依照預(yù)置的掃描順序?qū)ψ儞Q系數(shù)塊的變換系數(shù)進行編碼,且每組編碼設(shè)定個數(shù)的變換 系數(shù),直到對所述變換系數(shù)塊的最后一組編碼;存儲得到的非零變換系數(shù)分布、變換系數(shù)的 絕對值以及非零變換系數(shù)的正負(fù)號,所述設(shè)定個數(shù)為4x4 ; 在所述最后一組編碼時,得到最后一組編碼的非零變換系數(shù)分布后,將存儲的非零變 換系數(shù)分布和所述最后一組編碼的非零變換系數(shù)分布編入碼流,得到所述最后一組編碼的 變換系數(shù)的絕對值以及非零變換系數(shù)的正負(fù)號后,將存儲的變換系數(shù)的絕對值以及非零變 換系數(shù)的正負(fù)號和所述最后一組編碼的變換系數(shù)的絕對值以及非零變換系數(shù)的正負(fù)號編 入碼流; 其中,對非零變換系數(shù)分布的預(yù)置掃描順序,與對變換系數(shù)的絕對值、非零變換系數(shù)的 正負(fù)號的預(yù)置掃描順序相同。
12. 根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述預(yù)置的掃描順序為小掃描方式的 掃描順序。
13. 根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述小掃描方式的掃描順序包括小Z 形、小堅直或者小水平方式的掃描順序。
14. 根據(jù)權(quán)利要求11-13任一項所述的裝置,其特征在于,所述變換系數(shù)塊的大小為 8x8, 16x16 或者 32x32。
15. 根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述至少一個處理器被配置以執(zhí)行: 當(dāng)所述變換系數(shù)塊的大小為8x8時, 取頻域位置左上4x4的設(shè)定個數(shù),以4x4預(yù)置的掃描順序編碼非零變換系數(shù)分布,得到 掃描后的非零變換系數(shù)分布,以所述4x4預(yù)置的掃描順序編碼變換系數(shù)大于1的分布,編碼 變換系數(shù)大于1的絕對值,編碼非零變換系數(shù)的正負(fù)號,得到掃描后的變換系數(shù)大于1的絕 對值以及非零變換系數(shù)的正負(fù)號; 取頻域位置右上4x4的設(shè)定個數(shù),以4x4預(yù)置的掃描順序編碼非零變換系數(shù)分布,得到 掃描后的非零變換系數(shù)分布,以所述4x4預(yù)置的掃描順序編碼變換系數(shù)大于1的分布,編碼 變換系數(shù)大于1的絕對值,編碼非零變換系數(shù)的正負(fù)號,得到掃描后的變換系數(shù)大于1的絕 對值以及非零變換系數(shù)的正負(fù)號; 取頻域位置左下4x4的設(shè)定個數(shù),以4x4預(yù)置的掃描順序編碼非零變換系數(shù)分布,得到 掃描后的非零變換系數(shù)分布,以所述4x4預(yù)置的掃描順序編碼變換系數(shù)大于1的分布,編碼 變換系數(shù)大于1的絕對值,編碼非零變換系數(shù)的正負(fù)號,得到掃描后的變換系數(shù)大于1的絕 對值以及非零變換系數(shù)的正負(fù)號; 取頻域位置右下4x4的設(shè)定個數(shù),以4x4預(yù)置的掃描順序編碼非零變換系數(shù)分布,得到 掃描后的非零變換系數(shù)分布,以所述4x4預(yù)置的掃描順序編碼變換系數(shù)大于1的分布,編碼 變換系數(shù)大于1的絕對值,編碼非零變換系數(shù)的正負(fù)號,得到掃描后的變換系數(shù)大于1的絕 對值以及非零變換系數(shù)的正負(fù)號; 將之前得到的非零變換系數(shù)分布以及所述最后一組編碼的非零變換系數(shù)分布編入碼 流,將之前得到變換系數(shù)大于1的分布,編碼變換系數(shù)大于1的絕對值,編碼非零變換系數(shù) 的正負(fù)號以及最后一組編碼的變換系數(shù)大于1的分布,編碼變換系數(shù)大于1的絕對值,編碼 非零變換系數(shù)的正負(fù)號編入碼流。
16. -種視頻解碼裝置,包括至少一個處理器,其特征在于,所述至少一個處理器被配 置以執(zhí)行下列步驟: 依照預(yù)置的掃描順序解析碼流的變換系數(shù),得到非零變換系數(shù)的分布,所述變換系數(shù) 每組設(shè)定個數(shù)為4x4 ; 依照預(yù)置的掃描順序解析所述碼流的變換系數(shù)大于1的分布、變換系數(shù)大于1的絕對 值、非零變換系數(shù)的正負(fù)號,且每次解析所述碼流的所述設(shè)定個數(shù)的變換系數(shù); 其中,對非零變換系數(shù)分布的預(yù)置掃描順序,與對變換系數(shù)大于1的分布、變換系數(shù)大 于1的絕對值、非零變換系數(shù)的正負(fù)號的預(yù)置掃描順序相同。
17. 根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述預(yù)置的掃描順序為小掃描方式的 掃描順序。
18. 根據(jù)權(quán)利要求17所述的裝置,其特征在于,所述小掃描方式的掃描順序包括小Z 形、小堅直或者小水平方式的掃描順序。
19. 根據(jù)權(quán)利要求16-18任一項所述的裝置,其特征在于,所述變換系數(shù)所屬的變換系 數(shù)塊的大小為8x8, 16x16或者32x32。
20. 根據(jù)權(quán)利要求19所述的裝置,其特征在于,所述至少一個處理器被配置以執(zhí)行: 當(dāng)所述變換系數(shù)塊的大小為8x8時, 取頻域位置左上4x4的設(shè)定個數(shù),以4x4預(yù)置的掃描順序解碼非零變換系數(shù)分布,得到 掃描后的非零變換系數(shù)分布,以所述4x4預(yù)置的掃描順序解碼變換系數(shù)大于1的分布,解碼 變換系數(shù)大于1的絕對值,解碼非零變換系數(shù)的正負(fù)號,得到掃描后的變換系數(shù)大于1的絕 對值以及非零變換系數(shù)的正負(fù)號; 取頻域位置右上4x4的設(shè)定個數(shù),以4x4預(yù)置的掃描順序解碼非零變換系數(shù)分布,得到 掃描后的非零變換系數(shù)分布,以所述4x4預(yù)置的掃描順序解碼變換系數(shù)大于1的分布,解碼 變換系數(shù)大于1的絕對值,解碼非零變換系數(shù)的正負(fù)號,得到掃描后的變換系數(shù)大于1的絕 對值以及非零變換系數(shù)的正負(fù)號; 取頻域位置左下4x4的設(shè)定個數(shù),以4x4預(yù)置的掃描順序解碼非零變換系數(shù)分布,得到 掃描后的非零變換系數(shù)分布,以所述4x4預(yù)置的掃描順序解碼變換系數(shù)大于1的分布,解碼 變換系數(shù)大于1的絕對值,解碼非零變換系數(shù)的正負(fù)號,得到掃描后的變換系數(shù)大于1的絕 對值以及非零變換系數(shù)的正負(fù)號; 取頻域位置右下4x4的設(shè)定個數(shù),以4x4預(yù)置的掃描順序解碼非零變換系數(shù)分布,得 到掃描后的非零變換系數(shù)分布,以所述4x4預(yù)置的掃描順序解碼變換系數(shù)大于1的分布,解 碼變換系數(shù)大于1的絕對值,解碼非零變換系數(shù)的正負(fù)號,得到掃描后的變換系數(shù)大于1的 絕對值以及非零變換系數(shù)的正負(fù)號。
【文檔編號】H04N19/13GK104093018SQ201410320705
【公開日】2014年10月8日 申請日期:2011年3月10日 優(yōu)先權(quán)日:2011年3月10日
【發(fā)明者】宋錦, 楊名遠, 王棟 申請人:華為技術(shù)有限公司