📄 lip_scan.asv
字号:
function [Sn,LSP,LIP]=lip_scan(Sn,N,LSP,LIP)
% 函数 LIP_SCAN() 检查LIP表的小波系数,更新列表LIP、LSP和排序位流 Sn
% 输入参数:Sn —— 本级编码排序位流,为空表
% N —— 本级编码阈值的指数
% LSP —— 上一级编码生成的重要系数列表
% LIP —— 上一级编码生成的不重要系数列表
% 输出参数:Sn —— 对上一级编码生成的LIP列表扫描后产生的排序位流
% LSP —— 对上一级编码生成的LIP列表扫描后生成的重要系数列表
% LIP —— 上一级编码生成的不重要系数列表
global Mat
% Mat是输入的小波分解系数矩阵,作为全局变量,在编码的相关程序中使用
rlip=size(LIP,1);
r=1;
% 由于循环过程中列表 LIP 的表长会变化,不适合用 for 循环,故采用 while 循环
% r 是指向 LIP 当前读入表项位置的指针
while r<=rlip
% 读入当前表项的坐标值
rN=LIP(r,1);
cN=LIP(r,2);
% 判断该表项是否重要
if SnOut(LIP(r,:),N)
% 若重要,
Sn=[Sn,1];
if Mat(rN,cN)>=0
Sn=[Sn,1];
else
Sn=[Sn,0];
end
LSP=[LSP;LIP(r,:)];
LIP(r,:)=[];
else
Sn=[Sn,0];
r=r+1;
end
rlip=size(LIP,1);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -