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 ...
随机推荐
- 关于PB调用Microsoft Web Browser控件的一些问题
Microsoft Web Browser控件是WINDOWS系统自带的控件,一般不需要单独安装,由于工作的需要,把使用中遇到的问题记录一下,以便查阅. 插入控件: 环境为PB12.0,insert- ...
- Ubuntu 部署Postgresql
安装组件 客户端安装 sudo apt-get install postgresql-client 服务器安装 sudo apt-get install postgresql postgresql-c ...
- Android Studio failed to open by giving error “Files Locked” 解决方案
windows 7 下的解决方案 导航至 android-studio 安装目录. (默认为C:\Program Files (x86)\Android\android-studio). 往上一层文件 ...
- 【Windows编程】系列第四篇:使用Unicode编程
上一篇我们学习了Windows编程的文本及字体输出,在以上几篇的实例中也出现了一些带有“TEXT”的Windows宏定义,有朋友留言想了解一些ANSI和Unicode编程方面的内容,本章就来了解和学习 ...
- 报表软件JS开发引用HTML DOM的windows对象
HTML DOM是W3C标准(是HTML文档对象模型的英文缩写,Document Object Model for HTML). HTML DOM定义了用于HTML的一些列标准的对象,以及访问和处理H ...
- Java Generics and Collections-8.1
8.1 Take Care when Calling Legacy Code 通常,泛型都是在编译时检查的,而不是运行时.便意识检查可以提早通知错误,而不至于到运行时才出问题. 但有时后编译时检查不一 ...
- python爬虫学习(4) —— 手刃「URP教务系统」
0. 本爬虫目标 模拟登陆URP教务系统 查询 本学期/历年 成绩 计算历年成绩的绩点 下面是一点废「私」话「货」: 一般情况,查询成绩大家会通过如下方式: 登陆信息门户 -> 转到教学空间 - ...
- hdu-5977 Garden of Eden(树分治)
题目链接: Garden of Eden Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/ ...
- 转: Protobuf 的 proto3 与 proto2 的区别
Protobuf 的 proto3 与 proto2 的区别 On 2015-07-17 19:16:00 By Soli Protobuf 的 proto3 与 proto2 的区别 这是一 ...
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 基于数据库资源的多语言实现
以前的开发平台里,是用xml语言包实现了多语言功能,现在新的平台里进行了调整,把多语言包资源放在数据库表里实现了. 我们系统预留了多语言的配置全局变量.可以通过配置这个参数达到切换多语言的目的 我们在 ...