多层次树集合分裂(SPIHT)算法的编码过程——排序扫描
发布时间
阅读量:
阅读量
本文实现了SPIHT编码的排序扫描算法代码,并将其划分为LIP队列扫描和LIS队列扫描两个主要步骤进行处理。其中,在具体实现时发现LIS队列扫描相对而言更为复杂,在编程过程中可能出现错误情况,请务必予以重视。
2、LIP队列扫描程序
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 —— 经本级LIP扫描处理后更新的不重要系数列表
Mat是一个全局变量,并表示输入的小波分解系数矩阵,在编码过程中的相关程序中被使用。
获取当前列表LIP的长度rlip。
初始化指针r的位置为1。
因为列表LIP的长度会变化,在使用for循环时不够高效。
因此采用while循环结构进行处理。
在循环过程中:
读取当前表项的坐标位置。
调用函数SnOUT来判断该表项的重要程度。
如果该表
全部评论 (0)
还没有任何评论哟~
