首页> 中国专利> 基于JPEG2000标准的自适应存储器和存储方法

基于JPEG2000标准的自适应存储器和存储方法

摘要

本发明公开了一种基于JPEG2000标准的自适应存储器,主要解决现有图像压缩系统在数据存储时资源和功耗浪费的问题。本存储器包括内部存储单元,外部存储单元,地址产生单元和复选单元。在低分辨率图像压缩时用内部存储单元存储小波系数、长度斜率信息和码流;在高分辨率图像压缩时,用内部存储单元存储小波系数和长度斜率信息,用外部存储单元存储码流;地址产生单元根据输入图像的分辨率自适应地产生该三种数据的存储地址和读取地址,并指定内部存储单元中可以存储码流的存储区域;复选单元根据输入图像的分辨率自适应地从内部存储单元或外部存储单元中读取数据。本发明具有节省资源和低功耗的优点,可用于分辨率可变的图像压缩系统。

著录项

  • 公开/公告号CN102695060A

    专利类型发明专利

  • 公开/公告日2012-09-26

    原文格式PDF

  • 申请/专利权人 西安电子科技大学;

    申请/专利号CN201210194356.4

  • 申请日2012-06-13

  • 分类号H04N7/26(20060101);

  • 代理机构61205 陕西电子工业专利中心;

  • 代理人王品华;朱红星

  • 地址 710071 陕西省西安市太白南路2号

  • 入库时间 2023-12-18 06:33:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-11-01

    专利权的转移 IPC(主分类):H04N19/423 专利号:ZL2012101943564 登记生效日:20221019 变更事项:专利权人 变更前权利人:西安电子科技大学 变更后权利人:湖南融创微电子有限公司 变更事项:地址 变更前权利人:710071 陕西省西安市太白南路2号 变更后权利人:410205 湖南省长沙市高新区尖山路18号中电软件园A5栋

    专利申请权、专利权的转移

  • 2014-08-06

    授权

    授权

  • 2012-11-21

    实质审查的生效 IPC(主分类):H04N7/26 申请日:20120613

    实质审查的生效

  • 2012-09-26

    公开

    公开

说明书

技术领域

本发明属于图像处理领域,特别涉及针对JPEG2000标准中的自适应存储器,适 用于各种图像处理可编程器件和专用芯片的数据存储。

背景技术

随着信息化时代步伐的加快和网络、多媒体技术的发展,人们对富含信息量的图 像数据的处理要求也越来越高。JPEG2000作为新一代静止图像压缩标准已经广泛地 应用于图像处理领域,其核心算法主要包括离散小波变换、比特平面编码及算术编码、 率失真优化和码流组织,具有支持有损和无损压缩、信噪比SNR和分辨率渐进传输、 感兴趣区ROI编码及码流随机访问等优点。

基于JPEG2000标准的图像压缩所涉及的数据量特别大,因此在整个处理过程中 需要的数据存储空间也就很大。例如对分辨率为1024×1024的图像进行小波变换,变 换后的系数总量仍为1024×1024,假设小波系数的精度为32bit,则所需的小波系数存 储空间为1024×1024×32=32Mbit=4MByte。同样地,在JPEG2000标准中进行率失真 优化时需要按码块存储各个比特平面的斜率和长度信息,所占用的存储器空间也非常 可观。如何降低和高效利用这些存储器空间具有重要的应用价值。近几年来,随着人 们对于图像处理器的要求的增高,发展低存储、低功耗的图像处理器已经成为目前的 新趋势,因此对于图像处理中所涉及的数据存储是亟需解决的问题,也是关系到 JPEG2000标准能否扩大推广走向应用的关键技术。

现有针对JPEG2000标准的专利和文献研究的内容大多集中在算法研究和提高速 率等方面,对于所涉及的诸如小波系数、长度斜率信息和码流等数据的存储都采用单 一存储方式。例如在专利200810223915.3“一种JPEG2000图像压缩处理系统”中,将 缓存的各级小波系数写入外部SRAM,采用两片外部SRAM实现小波变换系数的乒 乓缓存。在专利03129686.6“JPEG2000中小波变换算法的高效VLSI实现结构”中,也 采用SRAM存储小波系数。现有文献很少对不同分辨率图像压缩所涉及小波系数、 长度斜率信息及码流的存储及存储器复用进行研究。因此,在所支持的最大图像分辨 率相同的条件下,按照现有方法处理小分辨率图像时必然造成资源与功耗浪费,存储 器的利用率大大降低。

发明内容

本发明的目的是提供一种基于JPEG2000标准的自适应存储器及存储方法,以克 服现有技术由于对小波系数、长度斜率信息及码流采用单一存储方式而造成的资源和 功耗浪费,提高存储器的利用率,进一步满足高性能图像压缩系统的要求。

为实现上述目的,本发明的自适应存储器,其特征在于包括:

内部存储单元,用于当输入图像的宽度大于宽临界点时,以码块为单位乒乓存储 小波系数和长度斜率信息;当输入图像的宽度小于等于宽临界点,且存储模式控制参 数为1时,以码块为单位乒乓存储小波系数和长度斜率信息,以帧为单位乒乓存储码 流;当输入图像的宽度小于等于宽临界点,且存储模式控制参数为0时,以码块为单 位乒乓存储小波系数和长度斜率信息;

外部存储单元,用于当输入图像的宽度大于宽临界点时,以帧为单位乒乓存储码 流;当输入图像的宽度小于等于宽临界点,且存储模式控制参数为0时,以帧为单位 乒乓存储码流;当输入图像的宽度小于等于宽临界点,且存储模式控制参数为1时, 不被占用,以节省资源,减少功耗;

地址产生单元,用于对内部存储单元进行存储区逻辑划分,并产生数据在内部存 储单元和外部存储单元的存储地址和读取地址;

复选单元,用于当输入图像的宽度大于宽临界点时,从外部存储单元中读取码流; 当输入图像的宽度小于等于宽临界点,且存储模式控制参数为1时,从内部存储单元 中读取码流;当输入图像的宽度小于等于宽临界点,且存储模式控制参数为0时,从 外部存储单元中读取码流;从内部存储单元中读取小波系数和长度斜率信息。

上述基于JPEG2000标准的自适应存储器,其特征在于,宽临界点是指图像输入 设备输入的最大图像的宽度的一半。

上述基于JPEG2000标准的自适应存储器,其特征在于,内部存储单元由小波系 数存储模块和长度斜率信息存储模块组成,该小波系数存储模块包括2×(3N+1)个内 部单端口的随机存取存储器RAM,其中N为小波变换的级数,3N+1为对应的子带 个数,存储N级小波系数的内部单端口随机存取存储器RAM的存储深度有N种,各 级的存储深度分别为设定的最大分辨率对应的该级子带宽度的最大值与比特平面编 码的码块高度的乘积;该长度斜率信息存储模块包括2个相同存储深度的内部单端口 RAM,其存储深度均为设定的最大分辨率对应的码块数目的最大值与编码通道PASS 数目的最大值的乘积;所述设定的最大分辩率是指图像输入设备输入图像的最大的分 辨率。

上述基于JPEG2000标准的自适应存储器,其特征在于,内部存储单元中的小 波系数存储模块,用于存储小波系数和码流;当输入图像的宽度大于宽临界点时小波 系数存储模块只用于以码块为单位乒乓存储各个子带的小波系数;当输入图像的宽度 小于等于宽临界点,且存储模式控制参数为1时,利用小波系数存储模块的剩余空间 存储码流;当输入图像的宽度小于等于宽临界点,且存储模式控制参数为0时,小波 系数存储模块只用于存储小波系数,剩余的空间空闲。

上述基于JPEG2000标准的自适应存储器,其特征在于,内部存储单元中的长度 斜率信息存储模块,用于存储长度斜率信息和码流;当输入图像的宽度大于宽临界点 时,长度斜率信息存储模块只用于以码块为单位乒乓存储长度斜率信息;当输入图像 的宽度小于等于宽临界点,且存储模式控制参数为1时,利用长度斜率信息存储模块 的剩余空间存储码流;当输入图像的宽度小于等于宽临界点,且存储模式控制参数为 0时,长度斜率信息存储模块只用于存储长度斜率信息,剩余的空间空闲。

上述基于JPEG2000标准的自适应存储器,其特征在于,外部存储单元由两片静 态随机存取存储器SRAM或同步动态随机存取存储器SDRAM组成,第一片SRAM 或SDRAM用于存储奇数帧图像的码流,第二片SRAM或SDRAM用于存储偶数帧 图像的码流。

为实现上述目的,本发明基于JPEG2000标准的自适应存储方法,具体步骤如下:

(1)根据图像输入设备的种类确定出最大输入图像的分辨率Wmax×Hmax

其中,Wmax是最大输入图像的宽度,Hmax是最大输入图像的高度;

(2)从图像输入设备读取图像数据,并根据JPEG2000标准对输入图像进行预处 理和离散小波变换,得到各个子带的小波系数和编码信息;

(3)根据最大输入图像的宽度Wmax,按照JPEG2000标准求出第1级各子带的最 大宽度W1max,第2级各子带的最大宽度W2max,……,第N级各子带的最大宽度WNmax, 其中,N为小波变换的级数;

(4)按照JPEG2000标准和编码信息先进行比特平面编码,再依次进行算术编码、 率失真优化和码流组织,得到长度斜率信息和码流;

(5)根据比特平面编码的码块大小和步骤(1)中确定的最大输入图像的分辨率 Wmax×Hmax,按照JPEG2000标准求出码块数目的最大值Nmc和编码通道PASS数目的 最大值Nmp

(6)根据Nmc、Nmp和各级子带的最大宽度W1max,W2max……WNmax,设定共享存 储器的存储空间大小Ms为:

Ms=Mw×Hc×(6×Σi=1N-1Wimax+8×WN>max)+2×Nmc×Nmp×Ws,

其中,Hc是比特平面编码的码块高度,Ww是小波系数的数据位宽,Ws是长度斜 率信息的数据位宽;

(7)确定输入图像的宽临界点Wb为步骤(1)中最大输入图像的宽度Wmax的一半,即 Wb=12×Wmax;

(8)设定非共享存储器的存储空间大小Mns

Mns=2×Win×Wmax×Hmax×1Ncm,

其中,Win为输入图像的单像素点数据位宽,Ncm为图像压缩倍数的最小值, Ncm=2;

(9)从离散小波变换部分读取当前输入图像的宽度W和高度H,并设置存储模式 控制参数为0或1;

(10)根据存储模式控制参数、当前输入图像的宽度W和宽临界点Wb选择存储模 式,即当存储模式控制参数为0时,选择非共享模式,当存储模式控制参数为1,且 当前输入图像的宽度W小于等于宽临界点Wb时,选择共享模式,当存储模式控制参 数为1,且当前输入图像的宽度W大于宽临界点Wb时,选择非共享模式;

(11)根据所选的存储模式存取数据,即当存储模式为共享模式时,从共享存储器 中存取小波系数、长度斜率信息和码流;当存储模式为非共享模式时,从共享存储器 中存取小波系数和长度斜率信息,从非共享存储器中存取码流。

上述基于JPEG2000标准的自适应存储方法,其中所述步骤(10)中共享模式,是 指不占用非共享存储器,而仅利用共享存储器存储小波系数、长度斜率信息和码流, 即将共享存储器划分为小波系数存储区、长度斜率信息存储区和码流存储区,假设小 波变换级数为N,则将小波系数存储区划分为2×(3N+1)块子区域,用于以码块为单 位乒乓存储各个子带小波系数,将长度斜率信息存储区分为相等的2组,用于以码块 为单位乒乓存储长度斜率信息,将码流存储区划分为相等的2组,用于以帧为单位乒 乓存储奇、偶帧图像的码流。

上述基于JPEG2000标准的自适应存储方法,其中所述步骤(10)中非共享模式, 是指利用共享存储器存储小波系数和长度斜率信息,而利用非共享存储器存储码流, 即将共享存储器划分为小波系数存储区和长度斜率信息存储区,假设小波变换级数为 N,则将小波系数存储区划分为2×(3N+1)块子区域,用于以码块为单位乒乓存储各 个子带小波系数,将长度斜率信息存储区分为相等的2组,用于以码块为单位乒乓存 储长度斜率信息,将非共享存储器分为相等的2组,用于以帧为单位乒乓存储奇、偶 帧图像的码流。

附图说明

图1为本发明自适应存储器的结构图;

图2为本发明内部存储单元中的长度斜率信息存储模块结构图;

图3为本发明内部存储单元中的小波系数存储模块结构图;

图4为本发明自适应存储方法的工作流程图;

具体实施方式

本发明的实现采用XILINX ISE 10.1集成开发软件和verilog硬件描述语言,在 XILINX公司的Virtex-IV XC4Vfx140-11ff1517可编程逻辑器件上实现。

在本实施例中,图像输入设备输入的最大图像的分辨率为4096×512,比特平面 编码的码块大小为32×32,小波变换的级数为4,小波系数的数据位宽为19bit,长度 斜率信息的数据位宽为20,存储码流时的数据位宽为16,输入图像的单像素点数据 位宽为16,压缩倍数的最小值为2。因此,设定的最大分辨率为4096×512,宽临界 点为图像输入设备输入的最大图像的宽度的一半,即4096÷2=2048,按JPEG2000中 的小波分解方法,总共产生3×4+1=13个子带,即第一级对角线细节子带hh1、第一级 水平细节子带hl1、第一级垂直细节子带lh1、第二级对角线细节子带hh2、第二级水 平细节子带hl2、第二级垂直细节子带lh2、第三级对角线细节子带hh3、第三级水平 细节子带hl3、第三级垂直细节子带lh3、第四级对角线细节子带hh4、第四级水平细 节子带hl4、第四级垂直细节子带lh1、第四级近似值子带ll4。

参照图1,本发明的自适应存储器包括:内部存储单元、外部存储单元、地址产 生单元和复选单元四个部分。其中:

所述的内部存储单元,包括小波系数存储模块和长度斜率信息存储模块,该小波 系数存储模块包括2×(3N+1)个内部单端口的随机存取存储器RAM,其中N为小波 变换的级数,3N+1为对应的子带个数,存储N级小波系数的内部单端口RAM的存 储深度有N种,各级的存储深度分别为设定的最大分辨率4096×512对应的该级子带 宽度的最大值与比特平面编码的码块高度的乘积;该长度斜率信息存储模块包括2个 相同存储深度的内部单端口RAM,其存储深度均为设定的最大分辨率4096×512对应 的码块数目的最大值与编码通道PASS数目的最大值的乘积。

为使本发明自适应存储器能支持分辨率在4096×512以内的图像压缩,必须假设 输入图像分辨率为4096×512来设置内部存储单元的存储空间大小,即设置小波系数 存储模块的存储空间大小和长度斜率信息存储模块的存储空间大小。

为确定小波系数存储模块的存储空间大小,假设输入图像分辨率为4096×512, 按JPEG2000中的小波分解方法,第一级各子带的宽度均为4096÷2=2048,第二级各 子带的宽度均为2048÷2=1024,第三级各子带的宽度均为1024÷2=512,第四级各子 带的宽度均为512÷2=256,因此存储第一级小波系数的内部单端口RAM的存储深度 为2048×32=65536,存储第二级小波系数的内部单端口RAM的存储深度为 1024×32=32768,存储第三级小波系数的内部单端口RAM的存储深度为 512×32=16384,存储第四级小波系数的内部单端口RAM的存储深度为 256×32=8192,小波系数存储模块中每个内部单端口RAM的数据位宽与小波系数的 数据位宽相等,即均为19bit。因此小波系数存储模块的存储空间大小为:

19×2×3×(65536+32768+16384)+19×2×4×8192=14319616bit。

为确定长度斜率信息存储模块的存储空间大小,假设输入图像分辨率为 4096×51,比特平面编码的码块数目最大为JPEG2000标 准中比特平面编码包括三个编码通道,即“重要性传播”、“幅值细化”和“清理更新”, 小波系数位宽为19bit,包含1bit符号位和18bit幅值位,其中符号位不进行比特平面 编码,幅值的最高位只进行“清理更新”,即编码通道数为1,其余17bit数据的编码均 包含上述三个编码通道,因此编码通道PASS数目最大为1+(19-2)×3=52,所以长度 斜率信息存储模块的深度为2×2048×52=212992,长度斜率信息存储模块中每个内部 单端口RAM的数据位宽与长度斜率信息的数据位宽相等,即均为20bit。因此长度斜 率信息存储模块的存储空间大小为:212992×20=4259840bit。

在实施例中,为了方便地复用存储器,小波系数存储模块和长度斜率信息存储模 块中的每个内部单端口RAM均由两个更小的内部单端口RAM组成。其中:

长度斜率信息存储模块的结构如图2所示,它由4个大小为53248×20bit的内部 单端口RAM组成,其名称分别为lns_00,lns_01,lns_10,lns_11。

小波系数存储模块的结构如图3所示,它由52个内部单端口RAM组成四级不 同的13个子带的内部单端口RAM,其中:

4个大小为32768×19bit的内部单端口RAM组成第一级对角线细节子带hh1的 内部单端口RAM,其名称分别为hh1_00、hh1_01、hh1_10和hh1_11;

4个大小为32768×19bit的内部单端口RAM组成第一级水平细节子带hl1的内部 单端口RAM,其名称分别为hl1_00、hl1_01、hl1_10和hl1_11;

4个大小为32768×19bit的内部单端口RAM组成第一级垂直细节子带lh1的内部 单端口RAM,其名称分别为lh1_00、lh1_01、lh1_10和lh1_11;

4个大小为16384×19bit的内部单端口RAM组成第二级对角线细节子带hh2的内 部单端口RAM,其名称分别为hh2_00、hh2_01、hh2_10和hh2_11;

4个大小为16384×19bit的内部单端口RAM组成第二级水平细节子带hl2的内部 单端口RAM,其名称分别为hl2_00、hl2_01、hl2_10和hl2_11;

4个大小为16384×19bit的内部单端口RAM组成第二级垂直细节子带lh2的内部 单端口RAM,其名称分别为lh2_00、lh2_01、lh2_10和lh2_11;

4个大小为8192×19bit的内部单端口RAM组成第三级对角线细节子带hh3的内 部单端口RAM,其名称分别为hh3_00、hh3_01、hh3_10和hh3_11;

4个大小为8192×19bit的内部单端口RAM组成第三级水平细节子带hl3的内部 单端口RAM,其名称分别为hl3_00、hl3_01、hl3_10和hl3_11;

4个大小为8192×19bit的内部单端口RAM组成第三级垂直细节子带lh3的内部 单端口RAM,其名称分别为lh3_00、lh3_01、lh3_10和lh3_11;

4个大小为4096×19bit的内部单端口RAM组成第四级对角线细节子带hh4的内 部单端口RAM,其名称分别为hh4_00、hh4_01、hh4_10和hh4_11;

4个大小为4096×19bit的内部单端口RAM组成第四级水平细节子带hl4的内部 单端口RAM,其名称分别为hl4_00、hl4_01、hl4_10和hl4_11;

4个大小为4096×19bit的内部单端口RAM组成第四级垂直细节子带lh4的内部 单端口RAM,其名称分别为lh4_00、lh4_01、lh4_10和lh4_11;

4个大小为4096×19bit的内部单端口RAM组成第四级近似值子带ll4的内部单 端口RAM,其名称分别为ll4_00、ll4_01、ll4_10和ll4_11。

内部存储单元的工作情况有三种,其中:

第一种,当输入图像的宽度大于宽临界点时,在小波系数存储模块中,将名称含 有“00”和“01”的内部单端口RAM作为一组,用于存储各内部单端口RAM所属子带 奇数码块的小波系数,将名称含有“10”和“11”的内部单端口RAM作为另一组,用于 存储各内部单端口RAM所属子带偶数码块的小波系数;在长度斜率信息存储模块中, 用名称为lns_00和lns_01的内部单端口RAM存储奇数码块的长度斜率信息,用名称 为lns_10和lns_11的内部单端口RAM存储偶数码块的长度斜率信息。

第二种,当输入图像的宽度小于等于宽临界点,且存储模式控制参数为0时,存 储器利用情况与第一种情况相同,即在小波系数存储模块中,将名称含有“00”和“01” 的内部单端口RAM作为一组,用于存储各内部单端口RAM所属子带奇数码块的小 波系数,将名称含有“10”和“11”的内部单端口RAM作为另一组,用于存储各内部单 端口RAM所属子带偶数码块的小波系数;在长度斜率信息存储模块中,用名称为 lns_00和lns_01的内部单端口RAM存储奇数码块的长度斜率信息,用名称为lns_10 和lns_11的内部单端口RAM存储偶数码块的长度斜率信息。

第三种,当输入图像的宽度小于等于宽临界点,且存储模式控制参数为1时,在 小波系数存储模块中,用名称含有“00”的内部单端口RAM分别存储其所属子带奇数 码块的小波系数,用名称含有“01”的内部单端口RAM分别存储其所属子带偶数码块 的小波系数;在长度斜率信息存储模块中,用名称为lns_00的内部单端口RAM存储 奇数码块的长度斜率信息,用名称为lns_01的内部单端口RAM存储偶数码块的长度 斜率信息;用内部存储单元中所有名称含有“10”的内部单端口RAM存储奇数帧图像 的码流;用内部存储单元中所有名称含有“11”的内部单端口RAM存储偶数帧图像的 码流。

所述的外部存储单元,由两片静态随机存取存储器SRAM或同步动态随机存取 存储器SDRAM组成,外部存储单元的大小根据设定的最大分辩率、输入图像的单像 素点数据位宽、压缩倍数的最小值来计算。本实施例中的外部存储单元由两片SRAM 组成,每片SRAM的大小为:

4096×512×16÷2=16×1024×1024=1M×16bit

当输入图像的宽度大于宽临界点时,用第一片SRAM存储奇数帧图像的码流, 用第二片SRAM存储偶数帧图像的码流;当输入图像的宽度小于等于宽临界点,且 存储模式控制参数为0时,用第一片SRAM存储奇数帧图像的码流,用第二片SRAM 存储偶数帧图像的码流;当输入图像的宽度小于等于宽临界点,且存储模式控制参数 为1时,外部存储单元空闲,以节省资源,减少功耗。

所述的地址产生单元,采用verilog硬件描述语言实现,用于对内部存储单元进 行存储区逻辑划分,并产生内部存储单元和外部存储单元的数据存储地址和数据读取 地址。其中,存储区逻辑划分,是将内部存储单元中的各个内部单端口RAM划分为 只用于存储小波系数或长度斜率信息的子存储区域和可用于存储码流的子存储区域。 产生数据存储地址和数据读取地址,是根据输入图像的分辨率、宽临界点、存储模式 控制参数和JPEG2000编码器提供的编码信息产生小波系数的存储地址、小波系数的 读取地址、长度斜率信息的存储地址、长度斜率信息的读取地址、码流的存储地址和 码流的读取地址,以确保能够对数据正常存储和读取。

所述的复选单元,采用verilog硬件描述语言实现,其功能有以下三个:

一是用于根据输入图像的分辨率、宽临界点、存储模式控制参数和地址产生单元 产生的数据读取地址从内部存储单元或外部存储单元中读取码流。当输入图像的宽度 大于宽临界点时,按地址产生单元产生的码流的读取地址,从外部存储单元中读取码 流;当输入图像的宽度小于等于宽临界点,且存储模式控制参数为0时,按地址产生 单元产生的码流的读取地址,从外部存储单元中读取码流;当输入图像的宽度小于等 于宽临界点,且存储模式控制参数为1时,按地址产生单元产生的码流的读取地址, 从内部存储单元中读取码流。

二是用于根据地址产生单元产生的小波系数的读取地址,从小波系数存储模块读 取小波系数;

三是根据地址产生单元产生的长度斜率信息的读取地址,从长度斜率信息存储模 块中读取长度斜率信息。

参照图4,本发明的自适应存储方法,包括如下步骤:

步骤1,根据图像输入设备的种类确定出最大输入图像的分辨率Wmax×Hmax

其中,Wmax是最大输入图像的宽度,Hmax是最大输入图像的高度;

本实施例中的图像输入设备输入的最大图像的分辨率为4096×51,即 Wmax=4096,Hmax=512。

步骤2,从图像输入设备读取图像数据,并根据JPEG2000标准对输入图像进行 预处理和离散小波变换,得到各个子带的小波系数和编码信息。

在本实施例中,读取一帧图像数据,图像分辨率为1024×512,按照JPEG2000标 准对输入图像进行4级小波变换,得到各个子带的小波系数和编码信息。其中,4级 小波变换对应13个子带,该13个子带分别是第一级对角线细节子带hh1、第一级水 平细节子带hl1、第一级垂直细节子带lh1、第二级对角线细节子带hh2、第二级水平 细节子带hl2、第二级垂直细节子带lh2、第三级对角线细节子带hh3、第三级水平细 节子带hl3、第三级垂直细节子带lh3、第四级对角线细节子带hh4、第四级水平细节 子带hl4、第四级垂直细节子带lh1和第四级近似值子带ll4,各个子带小波系数的数 据位宽均为19bit;编码信息是每个小波系数在其所属子带中的位置信息和有效比特 平面的最高位等信息。

步骤3,根据最大输入图像的宽度Wmax,按照JPEG2000标准求出第1级各子带 的最大宽度W1max,第2级各子带的最大宽度W2max,……第N级各子带的最大宽度 WNmax,其中,N为小波变换的级数。

假设输入图像的宽度为Wmax,按照JPEG2000中的小波分解方法,第一级对角线 细节子带hh1的宽度为4096÷2=2048,第一级水平细节子带hl1的宽度为 4096÷2=2048,第一级垂直细节子带的宽度为4096÷2=2048,所以,

W1max=max{2048,2048,2048}=2048;

同理,可以求出W2max=1024,W3max=512,W4max=256。

步骤4,按照JPEG2000标准和编码信息先进行比特平面编码,再依次进行算术 编码、率失真优化和码流组织,得到长度斜率信息和码流。

本实施例中比特平面编码的码块大小为32×32,比特平面编码包括三个步骤,即 “重要性传播”、“幅值细化”和“清理更新”,三个步骤即是三个编码通道。算术编码、 率失真优化和码流组织按JPEG2000标准中的具体方法进行。长度斜率信息的数据位 宽为20bit,存储码流时的数据位宽为16bit。

步骤5,根据比特平面编码的码块大小和步骤(1)中确定的最大输入图像的分辨率 Wmax×Hmax,按照JPEG2000标准求出码块数目的最大值Nmc和编码通道PASS数目的 最大值Nmp

本实施例中,码块数目最大值求Nmp时,由于小 波系数位宽为19bit,包含1bit符号位和18bit幅值位,其中符号位不进行比特平面编 码,幅值的最高位只进行“清理更新”,即编码通道数为1,其余17bit数据的编码均包 含“重要性传播”、“幅值细化”和“清理更新”编码通道,因此Nmp=1+(19-2)×3=52。

步骤6,根据Nmc、Nmp和各级子带的最大宽度W1max,W2max……WNmax,设定共享 存储器的存储空间大小Ms为:

Ms=Ww×Hc×(6×Σi=1N-1Wi>max+8×WN>max)+2×Nmc×Nmp×Ws,

其中,Hc是比特平面编码的码块高度,Ww是小波系数的数据位宽,Ws是长度斜 率信息的数据位宽;

在本实施例中,Hc=32,Ww=19,Ws=20,所以,

Ms=19×32×(6×(2048+1024+512)+8×256)+2×2048×52×20,

即Ms=18579456bit;

根据该数值设定共享存储器,该共享存储器的总大小为18579456bit,本实施例中 的设定方法是,按照长度斜率信息的数据量和4级小波变换对应的13个子带的实际 大小,为共享存储器分配56个内部单端口RAM。其具体分配情况如下:

为第一级对角线细节子带hh1分配4个内部单端口RAM,其名称分别为hh1_00、 hh1_01、hh1_10和hh1_11,每个内部单端口RAM的大小均为32768×19bit;

为第一级水平细节子带hl1分配4个内部单端口RAM,其名称分别为hl1_00、 hl1_01、hl1_10和hl1_11,每个内部单端口RAM的大小均为32768×19bit;

为第一级垂直细节子带lh1分配4个内部单端口RAM,其名称分别为lh1_00、 lh1_01、lh1_10和lh1_11,每个内部单端口RAM的大小均为32768×19bit;

为第二级对角线细节子带hh2分配4个内部单端口RAM,其名称分别为hh2_00、 hh2_01、hh2_10和hh2_11,每个内部单端口RAM的大小均为16384×19bit;

为第二级水平细节子带hl2分配4个内部单端口RAM,其名称分别为hl2_00、 hl2_01、hl2_10和hl2_11,每个内部单端口RAM的大小均为16384×19bit;

为第二级垂直细节子带lh2分配4个内部单端口RAM,其名称分别为lh2_00、 lh2_01、lh2_10和lh2_11,每个内部单端口RAM的大小均为16384×19bit;

为第三级对角线细节子带hh3分配4个内部单端口RAM,其名称分别为hh3_00、 hh3_01、hh3_10和hh3_11,每个内部单端口RAM的大小均为8192×19bit;

为第三级水平细节子带hl3分配4个内部单端口RAM,其名称分别为hl3_00、 hl3_01、hl3_10和hl3_11,每个内部单端口RAM的大小均为8192×19bit;

为第三级垂直细节子带lh3分配4个内部单端口RAM,其名称分别为lh3_00、 lh3_01、lh3_10和lh3_11,每个内部单端口RAM的大小均为8192×19bit;

为第四级对角线细节子带hh4分配4个内部单端口RAM,其名称分别为hh4_00、 hh4_01、hh4_10和hh4_11,每个内部单端口RAM的大小均为4096×19bit;

为第四级水平细节子带hl4分配4个内部单端口RAM,其名称分别为hl4_00、 hl4_01、hl4_10和hl4_11,每个内部单端口RAM的大小均为4096×19bit;

为第四级垂直细节子带lh4分配4个内部单端口RAM,其名称分别为lh4_00、 lh4_01、lh4_10和lh4_11,每个内部单端口RAM的大小均为4096×19bit;

为第四级近似值子带ll4分配4个内部单端口RAM,其名称分别为ll4_00、ll4_01、 ll4_10和ll4_11,每个内部单端口RAM的大小均为4096×19bit;

为存储长度斜率信息的区域分配4个内部单端口RAM,其名称分别为lns_00、 lns_01、lns_10和lns_11,每个内部单端口RAM的大小均为53248×20bit。

步骤7,确定输入图像的宽临界点Wb为步骤(1)中最大输入图像的宽度Wmax的一 半,即Wb=12×Wmax.

在本实施例中,Wmax=4096,所以,Wb=12×4096=2048.

步骤8,设定非共享存储器的存储空间大小Mns

Mns=2×Win×Wmax×Hmax×1Ncm,

其中,Win为输入图像的单像素点数据位宽,Ncm为图像压缩倍数的最小值, Ncm=2。

在本实施例中,Win=16,Ncm=2,所以,

Mns=2×16×4096×512×12=32Mbit,

根据该数值设定非共享存储器,本实施例中的非共享存储器由2片1M×16bit的 SRAM组成,总大小为32Mbit。

步骤9,从离散小波变换部分读取当前输入图像的宽度W和高度H,并设置存储 模式控制参数为0或1。

本实施例中,当前输入图像W=1024,H=512,设置存储模式控制参数为1。

步骤10,根据存储模式控制参数、当前输入图像的宽度W和宽临界点Wb选择存 储模式,即当存储模式控制参数为0时,选择非共享模式,当存储模式控制参数为1, 且当前输入图像的宽度W小于等于宽临界点Wb时,选择共享模式,当存储模式控制 参数为1,且当前输入图像的宽度W大于宽临界点Wb时,选择非共享模式。本实施 例中,W=1024,Wb=2048,存储模式控制参数为1,因此选择共享模式。

所述的共享模式,是指不占用非共享存储器,而仅利用共享存储器存储小波系数、 长度斜率信息和码流,即将共享存储器划分为小波系数存储区、长度斜率信息存储区 和码流存储区,假设小波变换级数为N,则将小波系数存储区划分为2×(3N+1)块子区 域,用于以码块为单位乒乓存储各个子带小波系数,将长度斜率信息存储区分为相等 的2组,用于以码块为单位乒乓存储长度斜率信息,将码流存储区划分为相等的2组, 用于以帧为单位乒乓存储奇、偶帧图像的码流。

所述的非共享模式,是指利用共享存储器存储小波系数和长度斜率信息,而利用 非共享存储器存储码流,即将共享存储器划分为小波系数存储区和长度斜率信息存储 区,假设小波变换级数为N,则将小波系数存储区划分为2×(3N+1)块子区域,用于以 码块为单位乒乓存储各个子带小波系数,将长度斜率信息存储区分为相等的2组,用 于以码块为单位乒乓存储长度斜率信息,将非共享存储器分为相等的2组,用于以帧 为单位乒乓存储奇、偶帧图像的码流。

步骤11,根据所选的存储模式存取数据,即当存储模式为共享模式时,从共享存 储器中存取小波系数、长度斜率信息和码流;当存储模式为非共享模式时,从共享存 储器中存取小波系数和长度斜率信息,从非共享存储器中存取码流。

在本实施例中,为了方便地实现数据存取,小波系数存储区中的每个子区域和长 度斜率信息存储区中的每个组均由两个内部单端口RAM组成。在本自适应存储方法 中,非共享模式和共享模式中所涉及的存储区分配有所不同,其中:

选择非共享模式时,在共享存储器中,4个内部单端口RAM lns_00、lns_01、lns_10 和lns_11组成长度斜率信息存储区,用名称为lns_00和lns_01的内部单端口RAM存 储奇数码块的长度斜率信息,用名称为lns_10和lns_11的内部单端口RAM存储偶数 码块的长度斜率信息;共享存储器内其余的52个内部单端口RAM组成小波系数存 储区,在小波系数存储区中,将名称含有“00”和“01”的内部单端口RAM作为一组, 用于存储各内部单端口RAM所属子带奇数码块的小波系数,将小波系数存储区中名 称含有“10”和“11”的内部单端口RAM作为另一组,用于存储各内部单端口RAM所 属子带偶数码块的小波系数。非共享存储器用于以帧为单位乒乓存储码流,用非共享 存储器中的第一片SRAM存储奇数帧图像的码流,用非共享存储器中的第二片SRAM 存储偶数帧图像的码流。

选择共享模式时,在共享存储器中,2个内部单端口RAM lns_00和lns_01组成 长度斜率信息存储区,在长度斜率信息存储区中,用名称为lns_00的内部单端口RAM 存储奇数码块的长度斜率信息,用名称为lns_01的内部单端口RAM存储偶数码块的 长度斜率信息;共享存储器中其余的26个名称含有“00”或“01”的内部单端口RAM组 成小波系数存储区,在小波系数存储区中,用名称含有“00”的内部单端口RAM分别 存储其所属子带奇数码块的小波系数,用名称含有“01”的内部单端口RAM分别存储 其所属子带偶数码块的小波系数;在共享存储器中,剩余的28个内部单端口RAM组 成码流存储区,在码流存储区中,用名称含有“10”的内部单端口RAM存储奇数帧图 像的码流,用名称含有“11”的内部单端口RAM存储偶数帧图像的码流。在非共享存 储器中,两片SRAM空闲,以节省资源,降低功耗。

本实施例中,选择共享模式,用名称为hh1_00、hl1_00、lh1_00、hh2_00、hl2_00、 lh2_00、hh3_00、hl3_00、lh3_00、hh4_00、hl4_00、lh4_00和ll4_00的内部单端口 RAM分别存储各子带奇数码块的小波系数;用名称为lns_00的内部单端口RAM存 储奇数码块的长度斜率信息;用名称为hh1_01、hl1_01、lh1_01、hh2_01、hl2_01、 lh2_01、hh3_01、hl3_01、lh3_01、hh4_01、hl4_01、lh4_01和ll4_01的内部单端口 RAM分别存储各子带偶数码块的小波系数;用名称为lns_01的内部单端口RAM存 储偶数码块的长度斜率信息;用名称为hh1_10、hl1_10、lh1_10、hh2_10、hl2_10、 lh2_10、hh3_10、hl3_10、lh3_10、hh4_10、hl4_10、lh4_10、ll4_10和lns_10的内部 单端口RAM一起存储图像的码流。读取码流时,按照存储顺序依次从名称为hh1_10、 hl1_10、lh1_10、hh2_10、hl2_10、lh2_10、hh3_10、hl3_10、lh3_10、hh4_10、hl4_10、 lh4_10、ll4_10和lns_10的内部单端口RAM中读取。

以上仅是本发明的一个具体事例,并不构成对本发明的任何限制,显然,对于本 专业领域内的人员来说,在了解了本发明存储器和存储方法后,都可能在不背离本发 明结构、方法的情况下,进行形式和细节上的各种修正和改变,可以做出不局限于宽 临界点为2048、最大输入图像的宽度为4096、小波变换级数为4的高效存储结构。 比如可以实现3级小波变换、宽临界点为1024、最大输入图像的宽度为2048;4级 小波变换、宽临界点为1024、最大输入图像的宽度为2048等各种图像压缩系统的高 效存储器,实现存储器灵活复用,提高存储器利用率,但这些均在本发明的保护之列。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号