作者:禅与计算机程序设计艺术
1. 引言
数据驱动型计算(Data-driven computing)的快速发展已经彻底改变了现代IT行业的工作方式。从最初的批量处理到基于云服务的分布式计算,数据驱动型计算越来越受到广泛关注。随之而来的就是流式计算(Streaming Computing)。由于实时性要求高、处理数据量巨大、数据传输速率不确定等特点,使得流式计算对性能要求非常苛刻。但同时,数据量以及数据的复杂度也在飞速增加。因此,对于流式计算来说,如何有效地进行数据压缩和优化是十分重要的。本文将介绍流式计算中数据压缩和优化的方法及其原理。
2.基本概念术语说明
2.1 数据压缩
数据压缩是指通过某种手段使原始数据大小变小,达到节省存储空间和网络资源的目的。目前常用的数据压缩方法主要包括:
- 无损压缩:即原始数据大小相同的情况下,可以降低比率。例如:jpg格式图片,png格式图片。
- 有损压缩:原始数据大小不同,在不影响图像质量的情况下降低原始数据的比率。如zip格式压缩文件。
2.2 二值化与八度分隔符
在图像二值化过程中,像素值的范围通常被限制在01或者0255之间,这样就可以把图像的灰度级别划分为2个等级,即黑色和白色。这种二值化的方式称为“全值化”,缺点是较浅的灰度区域无法区分,可能会造成信息丢失。八度分隔符则是一种改进的二值化方法。它是将图像的灰度值分成8个等级,0-22.5°,22.5-45°,45-67.5°,6