【问题标题】:How to compress large data set in raw format for volume rendering?如何以原始格式压缩大数据集以进行体绘制?
【发布时间】:2011-12-18 06:22:45
【问题描述】:

我有一个大型数据集,我想使用 CUDA 进行渲染。数据集的大小约为 5GB。它是 8 位原始格式。有没有办法将数据集压缩到小于 3 GB 的大小?

质量/细节的损失对我来说很好。缩减后的数据集也应该是 8 位原始格式。

【问题讨论】:

  • 在考虑压缩源数据之前:您确定纹理硬件支持您的用例足够大的范围(即最大宽度、高度和深度)吗?
  • 它将被实现为多分辨率图像,即分辨率会随着您的放大而增加,因此范围应该不会造成问题。

标签: compression cuda large-data-volumes


【解决方案1】:

有许多答案可以满足您的需求,尽管这实际上取决于您想对数据集做什么。

1) 你的数据集是 8 位灰度图像吗? 如果不是:如何定义“质量和细节的损失”?

2) 您是否需要访问图像中任何位置的“任意点”?数据集是以“批处理”还是“随机访问”的方式访问?

3) 您是否考虑过使用基本的纹理压缩算法,例如 DXTC(或您的硬件支持的任何其他压缩算法,大概是 NVidia)?

【讨论】:

  • 1) 是的。它是 8 位灰度图像。 2)这将是随机访问模式,因为我计划使用光线投射进行体积渲染。 3) 不,我不知道。我会调查一下。
  • 好的,那么由于“随机访问模式”的要求,硬件压缩似乎是可行的方法。有几种算法可用,但它们都使用大致相同的技术:将图像切成小方块,并在其上应用一个小的微分公式。典型的压缩比在 1/4 到 1/6 之间。
【解决方案2】:

大体积数据集的体绘制有两种实现方式:

(1)使用压缩格式将体数据加载到GPU内存中

(2)使用核外 GPU 体绘制

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-28
    • 1970-01-01
    • 1970-01-01
    • 2013-08-03
    • 1970-01-01
    • 2015-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多