●●●●● ●●●● 2.4.2算术编码原理 ●●0 ●●● ●●●● ●计算小区间端点值的步骤 (1)给出信源符号对应的区间; (2)初始时,设S=(④代表空集),low(O)=0,high()=1, range(¢) (3)输入ur,根据公式计算序列Sur的左右端点值,依次下去, 直到全部信源序列对应的区间被确定为止
2.4.2 算术编码原理 ⚫ 计算小区间端点值的步骤 (1)给出信源符号对应的区间; (2)初始时,设S=Ø(Ø代表空集),low(Ø)=0,high(Ø)=1, range(Ø)=1 (3)输入ur,根据公式计算序列Sur的左右端点值,依次下去, 直到全部信源序列对应的区间被确定为止
●●●●● ●●●● 242算术编码原理 ●●0 ●●● ●●●● [例210设信源U「abc 0.50.250.1250.125 求信源序列S=abda对应的小区间 信源符号对应区间端点值信源序列对应区间端点值 符号概率 区间 信源序列ow high a 0.5[0,0.5) a 0.5 02505,075) ab 0.25 0.375 c0.125[075,0.875) abd03593750375 0.125[0.875,1) abda0.3593750.3671875
2.4.2 算术编码原理 ⚫ [例2-10]设信源 求信源序列S=abda对应的小区间 = 0.5 0.25 0.125 0.125 a b c d P U 信源符号对应区间端点值 符号 概率 区间 a 0.5 [0, 0.5) b 0.25 [0.5, 0.75) c 0.125 [0.75, 0.875) d 0.125 [0.875, 1) 信源序列对应区间端点值 信源序列 low high a 0 0.5 ab 0.25 0.375 abd 0.359 375 0.375 abda 0.359 375 0.367 187 5
●●●●● 2.4.2算术编码原理 ●●0 ●●● ●●●● ●信源序列对应区间的划分 b d 0.5 0.750.875 ------= 一ac 0.25 0.375 0.5 aba abb b abd 0.25 --0.3593750375 a b d 0359375S=abda的编码671875 0.375 不同的信源序列分别对应不同的互不重叠的小区间,取小区间内的一个点 作为对应序列的编码。-即时码
2.4.2 算术编码原理 ⚫ 信源序列对应区间的划分 0.75 a b c d 0 0.5 0.875 1 aa ab ac ad 0 0.25 0.375 0.5 aba abb abc abd 0.25 0.359 375 0.375 a b c d 0.359 375 0.367 187 5 0.375 不同的信源序列分别对应不同的互不重叠的小区间,取小区间内的一个点 作为对应序列的编码。--------即时码 S=abda的编码
●●●●● ●●●● 2.4.2算术编码原理 ●●0 ●●● ●●●● ●译码步骤: (1)判断码字落在哪个符号区间,翻译出1个符号; (2)将码字减去刚翻译出的符号的左端点值; (3)用刚翻译出的符合对应的区间的长度去除步骤2的结果, 判断此值落在哪个符号区间,翻译出一个新符号 (4)反复步骤(2)(3)直至全部信源序列被翻译完为止
2.4.2 算术编码原理 ⚫ 译码步骤: (1)判断码字落在哪个符号区间,翻译出1个符号; (2)将码字减去刚翻译出的符号的左端点值; (3)用刚翻译出的符合对应的区间的长度去除步骤2的结果, 判断此值落在哪个符号区间,翻译出一个新符号; (4)反复步骤(2)(3)直至全部信源序列被翻译完为止