G-FAQ – Why is Bit Depth Important?
直接抄:
https://apollomapping.com/2012/August/article15.html
For this month’s Geospatial Frequently Asked Question (G-FAQ), I pivot to a topic that deserves more attention than it gets, and that is bit depth. Some of you may have heard this term when ordering imagery from Apollo Mapping or perhaps when downloading free Landsat data without understanding its implications. As such, let’s delve into this topic, addressing the following set of questions:
What exactly is bit depth and why is it important when ordering satellite imagery? Is 16-bit imagery harder to work with? When should I order 16-bit imagery versus 8-bit depth?
To start of this discussion, it is important to understand the difference between base-10 and binary number systems. In a base-10 system, each digit place in a number represents 10 possible values from 0 to 9 and then each successive digit place increases by ten-fold in its value. Let’s look at this mathematically:
Base-10 Number = 123
This can be written mathematically as: (1 x 10^2) + (2 x 10^1) + (3 x 10^0)
Which can be simplified to: (1 x 100) + (2 x 10) + (3 x 1)
And final to: 100 + 20 + 3 = 123
Given our familiarity with math since the early days of school, creating base-10 numbers is something we do seamlessly as opposed to writing out a mathematical formula as most beginners working with binary number systems do. In a binary system, each digit place only has two possible values, 0 or 1. This mimics a computer chip which can either be off (0) or on (1) – and this is the reason that computers are based around binary numbers at the system code level. So then, let’s see how a binary number is created mathematically:
Binary Number* = 111 1011
This can be written mathematically using base-10 numbers as: (1 x 2^6) + (1 x 2^5) + (1 x 2^4) + (1 x 2^3) + (0 x 2^2) + (1 x 2^1) + (1 x 2^0)
Which can be simplified to: (1 x 64) + (1 x 32) + (1 x 16) + (1 x 8) + (0 x 4) + (1 x 2) + (1 x 1)
And final to: 64 + 32 + 16 + 8 + 0 + 2 + 1 = 123
* In binary numbers, you add a space every fourth digit to the left of the decimal place.
By following steps similar to what I present above, you can convert any binary number to base-10 – though going from base-10 to binary involves more effort, check this website out for more details on those steps.
Now that we have explored binary number systems, we can pivot our attention back to bit depth. Satellites are based on binary numbers and as such bit depth is measured accordingly. The bit depth of a satellite tells you the maximum number of values it can measure per spectral band. The higher the bit depth, the more information it can measure and thus the more sensitive the sensor is to different illumination values (typically called digital numbers) of the surface of the planet.
As we explained in more detail last month, a passive optical satellite measures the intensity of photons that are reflected from the surface of our planet. Take for example two hypothetical satellites, one with 8-bit depth and the other with 9-bit depth. The 8-bit depth satellite can measure up to 2^8 digital number values (or 256 values) for the intensity of photon reflection; while a 9-bit depth satellite can measure up to 2^9 values (or 512).
To look at that same hypothetical situation another way, for each value an 8-bit depth satellite can measure, the 9-bit depth satellite can measure two values. That means the 9-bit satellite is twice as sensitive in each of its spectral bands as is the 8-bit satellite. Now remember that most satellites offer at least 4 multispectral bands. As such, a 9-bit depth satellite can produce 16 times the number of RGB + NIR values for each pixel in 4 band multispectral imagery than can an 8-bit depth satellite – this has important implications I will discuss later in this G-FAQ series.

It is important to note that rarely, if ever, will satellite imagery utilize the entire range of pixel values possible with its bit depth. Imaging companies such as DigitalGlobe make the conscience decision to ‘dampen’ satellite systems, assuring that digital numbers close to the maximum possible (i.e. 2047 for 11-bit and 4095 for 12-bit depth) for each pixel are rarely reached. When the maximum value is reached and/or exceeded, flares can occur which destroy the spectral information in this pixel and surrounding ones.
Now that I have explained the basics, let’s take a look at the bit-depth ordering options for satellite imagery. If you have ever placed an order with Apollo Mapping for imagery products, you may have noticed that the two options for bit depth are 8 and 16, not 11 or 12 as in the table above. The reason for defining bit depth in increments of 8 ties back to computer technology. A single bit of information – either a 0 or 1 – is memory’s building block. Since the 1960s, it has been common practice for 8 bits to make up a single byte; so that 2 bytes is comprised of 16 bits of information.
As such, the binary digital numbers that are embedded in satellite imagery files (a TIFF usually) will either be 8-bits or 16-bits in length. In order to make 11 or 12-bit depth imagery 16 digits (or bits) long, 0’s are added to the front of the binary number so that the value itself remains unchanged. When 11 or 12-bit depth data is delivered as 8-bit depth imagery, the values are scaled so that each 8-bit depth pixel value represents multiple 11/12-bit depth values. Accordingly, 8-bit depth imagery will show less spectral variability. This 11/12-bit to 8-bit depth scaling process can also introduce additional signal noise. One term you might hear associated with 8-bit Red, Green, Blue (or Natural Color) imagery is 24-bits. They use this term as it is 3 spectral bands with 8-bit depth each, or 3 x 8 = 24-bit imagery.
In next month’s edition of G-FAQ, I will continue this discussion on bit depth by looking at the advantages and disadvantages of 8 and 11/12-bit depth imagery as well as provide recommendations on when to order each.
Until our next edition of G-FAQ, happy GIS-ing!
Do you have an idea for a future G-FAQ? If so, let me know by email at brock@apollomapping.com.
Find Out More About This Topic Here:
- Indiana University - Knowledge Base
- Penn State University - Chapter 8: Remotely Sensed Image Data
- Regional and Mesoscale Meteorology Branch - Effect of Bit Depth on GOES Images
Brock Adam McCarty
Map Wizard
(720) 470-7988
brock@apollomapping.com
G-FAQ – Why is Bit Depth Important?的更多相关文章
- comp.lang.javascript FAQ [zz]
comp.lang.javascript FAQ Version 32.2, Updated 2010-10-08, by Garrett Smith FAQ Notes 1 Meta-FAQ met ...
- [笔记]The Linux command line
Notes on The Linux Command Line (by W. E. Shotts Jr.) edited by Gopher 感觉博客园是不是搞了什么CSS在里头--在博客园显示效果挺 ...
- OpenSSL Command-Line HOWTO
OpenSSL Command-Line HOWTO The openssl application that ships with the OpenSSL libraries can perform ...
- ArcGIS中的坐标系定义与转换 (转载)
原文:ArcGIS中的坐标系定义与转换 (转载) 1.基准面概念: GIS中的坐标系定义由基准面和地图投影两组参数确定,而基准面的定义则由特定椭球体及其对应的转换参数确定,因此欲正确定义GIS系统坐 ...
- ArcGIS 坐标系统文件
坐标是GIS数据的骨骼框架,能够将我们的数据定位到相应的位置,为地图中的每一点提供准确的坐标. ArcGIS自带了多种坐标系统,在${ArcGISHome}Coordinate Systems目录下可 ...
- [XAF] How to improve the application's performance
[自己的解决方案]数据量大时,可显著提升用户使用体验! 1.Root ListView 参考官方的E1554 点击导航菜单后首先跳出查询条件设置窗体进行设置 可设置查询方案或查询方案的查询条件,排序字 ...
- POJ 1330 Nearest Common Ancestors (最近公共祖先LCA + 详解博客)
LCA问题的tarjan解法模板 LCA问题 详细 1.二叉搜索树上找两个节点LCA public int query(Node t, Node u, Node v) { int left = u.v ...
- Storage Systems topics and related papers
In this post, I will distill my own ideas and my own views into a structure for a storage system cou ...
- HD1281棋盘游戏(匹配+好题)
棋盘游戏 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
随机推荐
- ActiveMQ 5 入门
apache-activemq-5.13.2 ActiveMQ使用JAAS授权的配置方式 <plugins> <!– 使用login.config配置授权用户 --> < ...
- Swift实现封装PopMenu菜单,可在屏幕任意位置弹出
效果图: 说明: 代码现已支持 Swift3 语法 使用介绍: 1.初始化位置 //frame 为整个popview相对整个屏幕的位置 箭头距离右边位置,默认15 //popMenu = SwiftP ...
- 【读书笔记《Bootstrap 实战》】2.作品展示站点
假设我们已经想好了要给自己的作品弄一个在线站点.一如既往,时间紧迫.我们需要快一点,但作品展示效果又必须专业.当然,站点还得是响应式的,能够在各种设备上正常浏览,因为这是我们向目标客户推销时的卖点.这 ...
- UVALive 4670 Dominating Patterns --AC自动机第一题
题意:多个模板串,一个文本串,求出那些模板串在文本串中出现次数最多. 解法:AC自动机入门模板题. 代码: #include <iostream> #include <cstdio& ...
- 转: 在 Vim 中优雅地查找和替换 (写的很好,排版也是相当的赞)
http://harttle.com/2016/08/08/vim-search-in-file.html
- Smokeping -- 监控网络质量
1.下载fping.echoping.smokeping 链接:http://pan.baidu.com/s/1pL4HLYb 密码:fxe2 2.安装依赖包 yum install -y perl ...
- Objective C中的ARC的修饰符的使用---- 学习笔记九
#import <Foundation/Foundation.h> @interface Test : NSObject /** * 默认的就是__strong,这里只是做示范,实际使用时 ...
- BZOJ 1857 传送带 (三分套三分)
在一个2维平面上有两条传送带,每一条传送带可以看成是一条线段.两条传送带分别为线段AB和线段CD.lxhgww在AB上的移动速度为P,在CD上的移动速度为Q,在平面上的移动速度R.现在lxhgww想从 ...
- HTML页面和JSP页面禁止缓存
一.JSP页面禁止缓存: 防止浏览器缓存当前访问的JSP动态页面,可以采用如下的方式进行设置,此效果如下的“HTML禁止缓存”: % 将过期日期设置为一个过去时间response.setHeader( ...
- js(jQuery)获取时间的方法及常用时间类
获取JavaScript 的时间使用内置的Date函数完成 var mydate = new Date();mydate.getYear(); //获取当前年份(2位)mydate.getFullYe ...