JM trace文件一段碼流分析

@292   Luma # c & tr.1s(1,1) vlc=3 #c=3 #t1=1                   001001 (  3)
@298   Luma trailing ones sign (1,1)                                 1 (  1)
@299   Luma lev (1,1) k=1 vlc=0 lev=  2                              1 (  1)
@300   Luma lev (1,1) k=0 vlc=1 lev=  7                       00000010 (  7)
@308   Luma totalrun (1,1) vlc=2 totzeros=  3                      101 (  3)
@311   Luma run (1,1) k=2 vlc=2 run= 0                              11 (  0)
@313   Luma run (1,1) k=1 vlc=2 run= 3                              00 (  3)
@315   Luma # c & tr.1s(2,0) vlc=3 #c=12 #t1=3                  101111 ( 12)


vlc=3 就是用的 8 <= nC 這一列


lev 後面括號裏的兩個數是:4*4 塊橫座標 , 4*4 塊縱座標
k  :第幾個非零係數
vlc:就是標準(200503版)/第 9 章提到的 suffixLength,也就是 JM86 中的變量 vlcnum
lev:非零係數值
後面括號外面的是當前非零係數編碼後的值的二進制表示,括號內的我記得是編碼後的值的十進制表示

以上對應 JM86 代碼中如下代碼:
snprintf(currSE->tracestring, TRACESTRING_SIZE, "%s lev (%d,%d) k=%d vlc=%d lev=%3d", type, subblock_x, subblock_y, k, vlcnum, level);


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章