BSR块压缩存储是CSR行压缩存储的升级变形;可以降低图数据存储空间。

有以下图的矩阵表示:

一、CSR表示

rowIndex = [0  3   7   9   11   14  14]
columns  = [0 2 3 | 0 1 2 3 | 2 3 | 2 3 | 2 3 4 5]
values  =  [1 6 7 | 2 1 8 2 | 1 4 | 5 1 | 4 3 7 2]

|rowIndex|+|columns|+|values|= 7 + 20 + 20 = 37

二、BSR 表示

假设:块(Block)的大小=2;

rowIndex = [0   2   3   5]
columns  = [0 1 | 1 | 1 2]
values  =  [1 0 2 1 | 6 7 8 2 | 1 4 5 1 | 4 3 0 0 | 7 2 0 0]

BSR:****|rowIndex|+|columns|+|values|= 7 + 20 + 20 = 29

以块为单位:

rowIndex[i]: 记录每个块行i的偏移量,i ∈ [0, blockrows]。

rowIndex[i+1] - rowIndex[i] 表示:第i块行中非零块数;
例如rowIndex[1] - rowIndex[0] = 2 - 0 =2;表示第0行有2个块;

rowIndex[blockrows] 表示: 非零块的总个数。
例如rowIndex[3]=5;表示总共有5个块;

columns[i] 表示第i个非零块的列坐标;columns的大小(长度) 与非零块的总个数相同;
columns[2]=1表示第3个块在第1列(以块为单位);

values 按行存储非零块的值。

三、空间节省:

CSR:****|rowIndex|+|columns|+|values|= 7 + 20 + 20 = 37
BSR:****|rowIndex|+|columns|+|values|= 7 + 20 + 20 = 29
r =(37-29)/ 37 = 21.6%

BSR:Block compressed Sparse Row matrix format相关推荐

  1. block compressed sparse row (BSR) matrix format

    assume the size of block is 2 values = [1 0 2 1 6 7 8 2 1 4 5 1 4 3 0 0 7 2 0 0] columns = [0 1 1 1 ...

  2. Block Sparse Row matrix(BSR)

    Block Sparse Row matrix(BSR) Block Sparse Row matrix(BSR), 块稀疏行矩阵是Scipy科学计算库中的一类稀疏矩阵 官方文档对BSR格式的总结 T ...

  3. 矩阵宏观调度:Zigzag扫描打印矩阵matrix,图像工程的一种编码

    矩阵宏观调度:Zigzag扫描打印矩阵matrix,图像工程的一种编码 提示:极其重要的矩阵处理技巧,矩阵下标的宏观调度 文章目录 矩阵宏观调度:Zigzag扫描打印矩阵matrix,图像工程的一种编 ...

  4. HTML CSS里display:block的原理和用法

    display:block:比较常用于这两个标签,因为这两个标签非块元素.如果不用display:block定义,那么定义width.height等和长宽相关的css属性时不会生效. </htm ...

  5. quartz 报错:Failure obtaining db row lock: Table ‘test.QRTZ_LOCKS‘ doesn‘t exist

    问题: spring-boot 整合quartz的时候,连接windows的mysql的时候好好的,然而用linux上的mysql的时候,启动就报了这个错: Failure obtaining db ...

  6. 微信小程序:block制作动态商品列表

    微信小程序:block制作动态商品列表 在制作微信小程序时,我们往往会碰到需要动态生成列表的情况,本文便是以常见的商品列表为例来学习如何利用block制作动态商品列表. 运行截图 实现代码 js: P ...

  7. 又见block(一):block是什么?

    block的原理是一道分水岭,区分中高级程序的试金石,一般的大公司,他可能不会问你内存管理,甚至多线程编程问题也简单的一笔带过,但是block一定会仔细问.可惜的是平时只知使用,对其原理与实质没有深究 ...

  8. 导出IOS工程出错:DXT1 compressed textures are not supported when publishing to iPhone

    前几天安卓工程做好后,svn同步IOS工程build后居然失败了: DXT1 compressed textures are not supported when publishing to iPho ...

  9. css变成块级元素_设置标签的css样式代码为“display:block”,标签将变为块级元素。( )...

    设置标签的css样式代码为"display:block",标签将变为块级元素.( ) 答:对 青藏高原常见垫状植物有( ? ? ). 答:垫状点地梅 甘肃蚤缀.垫状棘豆 垫状驼绒藜 ...

最新文章

  1. c语言大顶堆数组维护,图解大顶堆的构建、排序过程
  2. 埃拉托色尼素数筛法(转)
  3. swoole client php,Swoole Client
  4. 当初互联网大佬给的几块钱“羊毛”,现在又要我们加倍还回去!
  5. 枚举项的数量限制在64个以内
  6. java工作流引擎Jflow流程事件和流程节点事件设置
  7. java 中的事物怎么配置_java – 在hibernate中如何以编程方式设置事务的隔离级别,或者如何创建具有不同隔离级别的两个事务...
  8. C#.NET里面的多线程处理
  9. ssh:could not resolve hostname XXX:Temporary failure in name resolution
  10. java web背景颜色表,更改表行背景颜色
  11. 计算机文本有哪些类型,文本类型有哪些
  12. 通道抠图蒙版置入背景(抠图换背景)
  13. 手机指纹识别测试软件,指纹测算-指纹照相机 扫描识别指纹评分
  14. Push rejected: Push to origin/master was rejected--git推送项目到远程服务器
  15. 22、T5L 迪文屏 C51开发之Hello World例程
  16. MaxEnt生态位模型课程大纲
  17. 2022 高教社杯全国大学生数学建模竞赛获奖名单(初稿)
  18. 18118 勇者斗恶龙
  19. 图卷积神经网络GCN中的关键公式推导---干货
  20. html button 点击无效,HTML button点击不了

热门文章

  1. onsubmit 事件
  2. 3D和texture素材国外常用网站
  3. Qt开发总结(20)——Data Visualization
  4. #单目视觉振动位移测量方法
  5. 5 款 顶级 Docker GUI 工具,经典好用
  6. 费控智能电表抄表原理
  7. lnmp 一键安装包 安装php扩展
  8. 阶跃函数、斜坡函数、抛物线函数、脉冲函数
  9. 【复变函数—留数:有理函数的部分分式展开MATLAB实现】
  10. 学习《C++ Primer Plus》06 -2