2021/2/8更新
 点群PNG(Point Cloud PNG)とは,画像フォーマットPNG形式を利用してポイントデータのリストを扱うためのフォーマットです.
 ここで扱うポイントデータは,2次元または3次元の位置座標を持つもので,それらに関連付けられる付加情報を含みます.

ファイルフォーマット

 ファイルフォーマットはPNG(Portable Network Graphics, ISO/IEC 15948:2004)を使用し,PNGのカラータイプはカラーが利用できる以下のいずれかを使用します.

データ型

 点群PNGではデータを1つまたは複数のピクセルに変換して保持します.仕様上定義されるデータ型には以下の4種類があるほか,ユーザー定義属性では任意のデータ型を使用できます.  RGBは,ピクセルをそのまま色として取得します
 24ビット符号無し整数では,1ピクセルのRGB値(r,g,b)から以下の式で値(v)を取得します.
v=216r+ 28g+b
 48ビット符号無し整数では,2つのピクセルのRGB値,第1ピクセル(r1,g1,b1)及び第2ピクセル(r2,g2,b2)から以下の式で値(v)を取得します.
v= 240r1+ 232g1+ 224b1+ 216r2+ 28g2+ b2
 24ビット符号付き整数では,1ピクセルのRGB値(r,g,b)から以下の式で値(v)を取得します.
r'= { r, (r<27) r-28, (r27)
v=216r'+ 28g+b
 不透明度を使用する場合は255(最大)を指定することを推奨します.不透明度に0が指定された場合,そのピクセルを含むデータは無効値として扱います.

配置及びレコード長

 データは画像内にラスタースキャン順で配置します.すなわち,画像の左上端からまず右方向へ配置し,右端に達したら1行下の左端に移動してまた右方向へ配置します.これを配置するデータが無くなるまで繰り返します.
 配置するデータは,先頭の部のヘッダーと,それに続く0個以上のポイント情報からなります.ヘッダーのピクセル数は可変です.各ポイント情報のピクセル数はファイル内で同一で,それをレコード長と呼びます.
 画像サイズの幅は,レコード長の整数倍でなければなりません.

ヘッダー

 タイプ,ヘッダー長,レコード長,レコード数の大きさを示します.
第1ピクセル第2ピクセル第3ピクセル 第4ピクセル第5ピクセル第6ピクセル
typeheaderLengthrecordLength recordCount ...
 それぞれの属性の名称,データ型,内容は以下の通りです.
属性名データ型内容
type24ビット符号無し整数データのタイプ.2D点群/3D点群を識別するために使用します.
1: 2D点群
2: 3D点群
headerLength 24ビット符号無し整数ヘッダー長(ピクセル数)
recordLength24ビット符号無し整数レコード長(ピクセル数)
recordCount 48ビット符号無し整数レコード数
 第6ピクセル以降はユーザー定義属性で,使用方法は自由です.

ポイント情報

 各ポイントの位置や色,ID,スタイルなどの情報を表現します.
第1ピクセル第2ピクセル第3ピクセル第4ピクセル 第5ピクセル第6ピクセル第7ピクセル
xyzcoloridclass ...
 タイプが2D点群(type=1)の場合は第3ピクセル(z)は省略されます.第4~第6ピクセルはそれぞれ省略可です.それらが省略された場合は残りのピクセルを左に詰めます.第7ピクセル以降はユーザー定義属性で,使用法は自由です.
 それぞれの属性の名称,データ型,内容は以下の通りです.
属性名データ型内容
x24ビット符号付き整数X座標値
y24ビット符号付き整数Y座標値
z24ビット符号付き整数Z座標値
colorRGB表示する色
id24ビット符号無し整数ポイントを識別するID
class24ビット符号無し整数表示スタイルを指定するクラス

データ範囲外

 画像の末端部の配置するポイント情報が存在しないピクセルの色は規定しません.