📄 refinement.asv
字号:
function Rn=refinement(N,LSP_Old)
% 函数 REFINEMENT()为精细编码程序,对上一级编码产生的重要系数列表LSP_Old,读取每个
% 表项相应小波系数绝对值的二进制码流,输出其中第N个重要的位,即相应于 2^N 处的码数
% 输入参数:N —— 本级编码阈值的指数
% LSP_Old —— 上一级编码产生的重要系数列表
% 输出参数:Rn —— 精细扫描输出位流
global Mat
% Mat是输入的小波分解系数矩阵,作为全局变量,在编码的相关程序中使用
Rn=[];
% 每级精细扫描开始时,Rn 均为空表
% LSP_Old 非空时才执行精细扫描程序
if ~isempty(LSP_Old)
rlsp=size(LSP_Old,1);
% 获取 LSP_Old 的表项个数,对每个表项进行扫描
for r=1:rlsp
tMat=Mat(LSP_Old(r,1),LSP_Old(r,2));
% 读取该表项对应的小波系数值
[biLSP,Np]=fracnum2bin(abs(tMat),N);
% 函数 FRACNUM2BIN() 根据精细扫描对应的权位 N ,将任意的十进制正数转换为二进制数,
% 输出参数为二进制表示列表 biLSP 和 权位N与最高权位的距离 Np 。
Rn=[Rn,biLSP(Np)];
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -