多级树集合分裂(SPIHT)算法的过程详解与Matlab实现(7)解码过程——扫描解码
发布时间
阅读量:
阅读量
任何排序算法的执行流程均依赖于分支点比较结果的判定。若编码器与解码器采用相同的排序机制,则编码器输入系数的比较结果,解码器通过执行相同的路径即可获取排序信息。
因此,只需将编码器数学表达式中的“输出”替换为“输入”,解码器便可还原数据的排序特征;在还原数据排序特征的同时,解码器还需承担图像重构的任务。对于确认重要的系数,通过排序扫描与精细扫描两个阶段来调整系数的量化值,从而逐步提升逼近精度和重构图像的质量。
global rMat cMat
% rMat、cMat分别表示Mat矩阵的行数和列数,作为全局变量,在编码与解码的相关程序中被调用
% 读取当前LIS表的长度
rlis=size(LIS,1);
% ls是当前指向LIS表项位置的指针,初始位置为1
ls=1;
while ls<=rlis
% 读取当前LIS表项类型
switch LisFlag(ls)
% ‘D’类表项包含孩子节点及非直系子孙节点
case 'D'
% 读取该表项对应的坐标值
rP=LIS(ls,1);
cP=LIS(ls,2);
% 根据Sn判断该‘D’型子孙树是否具有重要性
if Sn(1)==1
% 每次判断时读取Sn的第一个数值,并在判断后立即删除该数值
Sn(1)=[];
% 生成该表项的孩子树结构
chO=coef_D
全部评论 (0)
还没有任何评论哟~
