「Ppm(ピーピーエム)」の意味や使い方 わかりやすく解説 Weblio辞書 (original) (raw)
Portable pixmap
拡張子 | .ppm, .pgm, .pbm, .pnm |
---|---|
MIMEタイプ | image/x-portable-pixmap, -graymap, -bitmap, -anymap |
マジック ナンバー | P1 - P6 |
開発者 | Jef Poskanzer |
種別 | 画像ファイルフォーマット |
PNM (Portable Any Map 形式[1][2]、Netpbm形式) は簡素な2次元ラスター画像形式のひとつである。PNMは特定の1種類の画像フォーマットではなく、異なるカラーモードをサポートするための3種類の画像形式をまとめて呼ぶときに使われる総称である[3]。これらの形式は、それぞれ portable pixmap format (PPM 形式)、portable graymap format (PGM 形式)、portable bitmap format (PBM 形式) と呼ばれ、いずれも異なるプラットフォーム間でも高い互換性を保てる画像形式として開発されたものである。
開発の経緯
PBM形式はプレーンテキストとして電子メールで受送信でき、ASCII コードが廃れた後でも使える画像フォーマットを開発する目的で、1980年代にJef Poskanzerが考案した白黒二値のビットマップ画像のデータ形式である。
PBM形式の画像を扱うツールを開発するために、Pbmplusというライブラリが開発された。これはPBM提案者のJef Poskanzerによるもので、1988年にリリースされた。続いて彼はPGM形式およびPPM形式を提唱し、それを扱うために拡張したPbmplusをリリースした。Pbmplusは1991年12月10日までリリースが続いた。
1993年に、そのときにはすでに開発が止まっていたPbmplusの代替となるライブラリとしてNetpbmが開発された。これはPbmplusに世界各地から寄せられた修正案を適用し、まとめ直したものであった。現在、PBM、PGM、PPM形式画像を扱うライブラリとして最も多く利用されているのはNetpbmであろうと考えられている[4]。
データ形式
各形式は、色をどう表現するかという点で異なっている。
どの形式でも最初の2バイト (テキスト形式) がマジックナンバーとなっており、ファイル形式 (PBM、PGM、PPMのどれか) と、データがテキストかバイナリかを表している。その2バイトの最初は大文字の P で、その後に続く1つの数字が種類を表す。
File Descriptor | Type | Encoding |
---|---|---|
P1 | Portable bitmap | ASCII |
P2 | Portable graymap | ASCII |
P3 | Portable pixmap | ASCII |
P4 | Portable bitmap | Binary |
P5 | Portable graymap | Binary |
P6 | Portable pixmap | Binary |
テキスト形式のデータは、テキストエディタなどで見るのも、他の形式に変換するのも容易である (そういう作業を行うプラットフォームで ASCII コードが正しく扱えるのであれば)。バイナリ形式ではファイルサイズが節約でき、ファイル中に空白文字がないため簡便な方法でファイルを解析できる。また、どちらの形式でも圧縮は行なわない。
バイナリ形式のとき、1ピクセルはPBM形式では1ビットで、PGM形式では8ビット (明度最大値が256未満の場合) または16ビットで、PPM形式では8ビット×3 (明度最大値が256未満の場合) または16ビット×3で表される。PPM形式では、赤(R)、緑(G)、青(B)のそれぞれが8ビットまたは16ビットで表される。不透明度 (アルファチャンネル) やクロマキーはサポートされない。ラスター行に関して、PBMは8ビット (1バイト) 境界を持ち、幅が8の倍数でない場合、最後の8ビットにはパディングのための不要なビットが含まれる。PGMおよびPPMは8ビット境界を持ち、他の多くの画像形式で必要とされる32ビット (4バイト) 境界のパディングは必要ない。
PBM の例
以下にPBM形式の簡単な例を示す。
P1
This is an example bitmap of the letter "J"
6 10 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
最初の "P1" という文字列で、これがPBM形式であることが示されている。番号記号 (シャープ記号) は、その行がコメント行であることを示す。その下の2つの数値はそれぞれ画像の横幅と高さを示す。その後にピクセルの値 (PBMは白黒画像なので、0 か 1 のどちらかだけ) が続く。各ピクセルデータを表す数字 (0/1) の間には、空白があってもなくてもかまわない。通例1は黒を、0は白を表す。
以下に、このデータが表す画像を示す。
以下に、この画像を20倍に拡大したものを示す。
PGM の例
PGMとPPMの各形式では、テキスト形式でもバイナリ形式でも、画像中に現れるピクセルの明度の最大値(ホワイトポイント)を、画像のサイズの後に示す必要がある。
P2
Shows the word "FEEP" (example from Netpbm man page on PGM)
24 7 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 15 15 15 0 0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 15 0 0 3 3 3 0 0 0 7 7 7 0 0 0 11 11 11 0 0 0 15 15 15 15 0 0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 0 0 0 3 0 0 0 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
このデータが示す画像 (を25倍に拡大したもの) は以下のようになる:
PPM の例
P3
The P3 means colors are in ASCII, then 3 columns and 2 rows, then 255 for max color, then RGB triplets
3 2 255 255 0 0 0 255 0 0 0 255 255 255 0 255 255 255 0 0 0
上のデータが示す画像 (を64倍に拡大したもの):
P6 (バイナリ形式) では、各ピクセルのR、G、Bの各成分が、この順番でそれぞれ1バイトで表される (したがって各ピクセルが3バイトで表される)。ファイルサイズはテキスト形式の1/2~1/4程度に小さくなるが、データを直接見ても分かりにくい。
PBM/PGM/PPM形式はデータの圧縮を行なわないため、圧縮を行なう形式の画像と比べるとファイルサイズが大きくなる。たとえば上のPNG画像はサイズが192x128で166バイトだが、これを同じサイズのPPM画像に変換すると約72Kバイトになる。PPM形式は適当なライブラリの支援を受けずに画像の操作を行なうときや、圧縮伸張のコストを掛けずに画像の操作を行ないたいときに使い、最終的にはPNGなどの可逆圧縮をサポートする、より効率のよい形式にするのがいいだろう[5]。
16ビット拡張
PGM形式とPPM形式の元々のバイナリ形式 (P5およびP6) では、ビット深度は8ビットまでしかサポートしていなかった。テキスト形式でこれを拡張するのは容易だが、それにより画像の操作に時間がかかるようになり、またファイルサイズも大きくなる。そこで、多くの拡張法が試みられた。しかしビット深度を8ビットよりも大きくすると、エンディアンの問題が生じ、様々な実装でバイトオーダーが一致しないという事態が生じた[6]。なお、実装のデファクトスタンダードであるNetpbmではビッグエンディアンである。
脚注
- ^ The PNM Format
- ^ 略語PNMにおけるNは、anyの文字nではなく、発音から取られている。XMLにおけるXと同様である。
- ^ PBM, PGM, PNM, and PPM: Summary
- ^ Netpbm history
- ^ JPEGは不可逆圧縮を伴うため、画質の劣化の問題が発生する。GIFは256色までをサポートし、フルカラーをサポートしない。
- ^ “Pnmtotiff User Manual”. SourceForge の解説ページ (27 March 2005). 2009年8月4日閲覧。
関連項目
PPMは、以下のいずれかを指す。
経済学
- プロジェクト・ポートフォリオ・マネジメント(英語: Project Portfolio Management)
- プロダクト・ポートフォリオ・マネジメント(英: Product Portfolio Management)
組織
政党
- 人民君主党 (ポルトガル)(英語版)(ポルトガル語: Partido Popular Monárquico) - かつて存在したポルトガルの政党。
- 人民進歩運動 (ケイマン諸島)(英語版)(英: People's Progressive Movement) - ケイマン諸島の政党。
- モーリタニア人民党(英語版)(フランス語: Parti du peuple mauritanien) - かつて存在したモーリタニアの政党。
- モルディブ進歩党(英: Progressive Party of Maldives) - モルディブの政党。
政党以外
- Parry People Movers(英語版) - かつて存在したイギリスの鉄道車両メーカー。
- ピボット・プラス・ミュージック(英: Pivot Plus Music) - 株式会社スポットの関連会社・株式会社ピボットサウンド所属の音楽グループ。
- マレーシアスカウト協会(英語版)(マレー語: Persekutuan Pengakap Malaysia) - マレーシアの青少年教育団体。
科学
工学
- Prediction by Partial Matching - データ圧縮アルゴリズムの1つ。
- パルス位置変調(英語版)(英: pulse-position modulation)
- ピーク・プログラム・メーター(英語版)(英: Peak programme meter) - ピーク時の音量を表すコンソール。
コンピュータ
- pages per minute(英語版) - プリンターなどにおける、1分あたりの印刷可能枚数の単位。
- Perl package manager(英語版) - ActivePerlに付属するPerlパッケージマネージャの略称(ppmコマンド)。
- portable pixmap format(PPM形式) - コンピュータの画像ファイルフォーマットのひとつ。PNM (画像フォーマット) を参照。
- ニンテンドーDSiウェアの『うごくメモ帳』で作成されたメモのファイル形式。
その他の科学
- parts per million - 百万分率のこと。100万分の1を基準とする割合の単位で、主に濃度を表すのに使われる。
- 瞳孔膜遺残(英語版)(英: Persistent pupillary membrane) - 虹彩に水晶体血管膜が残ってしまう先天的な異常。
- プロトン磁力計(英: proton precession magnetometer) - 磁場の大きさを計測できる計測機器。
その他
- PPM (雑誌) - 日本工業新聞社が1970年9月に創刊した月刊の専門雑誌。主に環境問題について技術面・経済面から取り上げた。1997年に『月刊地球環境』に改名し、2010年『Business i. ENECO』に合併される形で終刊。
- Public Personal Mobility - ヤマハ発動機株式会社で開発された、低速自動運転車両および自動運転車両管理システム。
- 私募目論見書(英: Private Placement Memorandum)
- ピーター・ポール&マリー(英: Peter, Paul and Mary) - アメリカ合衆国のフォークソングユニット。
- フィリップ王配信仰(英: Prince Philip Movement) - バヌアツ・タンナ島のヤオーナネン(英語版)村に存在する信仰。
- ポータブル・ピープル・メーター(英語版)(英: Portable People Meter) - ラジオ局やテレビ局の視聴者数を測定するためのシステム。
![]() |
この項目では、100万分の1を基準とする割合の数値について説明しています。その他の用法については「PPM」をご覧ください。 |
---|
主要な無次元量単位
1単位 | 量 | 指数 |
---|---|---|
1 % | 0.01 | 10−2 |
1 ‰ | 0.001 | 10−3 |
1 ‱ | 0.0001 | 10−4 |
1 ppm | 0.000001 | 10−6 |
1 ppb | 0.000000001 | 10−9 |
1 ppt | 0.000000000001 | 10−12 |
1 ppq | 0.000000000000001 | 10−15 |
ppm(パーツ・パー・ミリオン)や百万分率(ひゃくまんぶんりつ)は、100万分のいくらであるかという割合を示すparts-per表記による単位。「parts per million」の頭文字をとったもので、100万分の1の意。1ppm = 0.0001% であり 10,000ppm = 1% である。
用途
主に濃度を表すために用いられるが、不良品発生率などの確率を表すこともある。
二酸化窒素などの大気汚染物質をはじめとする公害分野や、食品添加物や農薬などの濃度、岩石中の微量元素の組成、半導体中の不純物量を示す目的などでよく用いられる。
気体中の気体については体積比を用い、液体・固体中の液体・固体では重量比を用いるのが一般的である。なお、水溶液中の濃度については、「1 kg = 1 L」と近似して「mg/L = ppm」とし、不純物等の濃度の単位として用いられる。ちなみに、日本国内では一般的な水道水の遊離残留塩素濃度は約0.4ppm、浄水器を使った場合は約0.1ppmである。
長さを表す例として、線膨張係数の表記にも使用される。(例)線膨張係数が8.8 ppm/℃と表記されている場合、これは、8.8µm/℃/m(メートル)のことである。
また、原子(分子)の数量の比率か重量の比率かを区別するためにppma (parts per million atomic) もしくはppmw (parts per million weight)の 表記が用いられることもある。そのほかに二酸化炭素の濃度を区別するためppmvも用いられる[1]。
他の割合を示す単位
同様の単位に、ppc(パーセント、parts per cent、100分の1、百分率)、ppb(パーツ・パー・ビリオン、parts per billion、10億分の1、十億分率)、ppt(パーツ・パー・トリリオン、parts per trillion、1兆分の1、一兆分率)などがある。ただし稀にpptが千分率(パーツ・パー・サウザンド、parts per thousand)を意味することもあるので注意が必要。
- 1ppm = 0.0001ppc = 0.0001%
- 1ppm = 1,000ppb
- 1ppm = 1,000,000ppt
正確には「何割」や「何%」といった「比率」を表す数値である。
符号位置
記号 | Unicode | JIS X 0213 | 文字参照 | 名称 |
---|---|---|---|---|
㏙ | U+33D9 | - | ㏙㏙ | ppm |
Unicodeには、ppmを表す上記の文字が収録されている。これはCJK互換用文字であり、既存の文字コードに対する後方互換性のために収録されているものであるので、使用は推奨されない[2][3]。
出典
- ^ シリコン原料の精製に関する論文の例 (NREL/SR-520-30716) (PDF)
- ^ “CJK Compatibility” (2015年). 2016年2月21日閲覧。
- ^ “The Unicode Standard, Version 8.0.0”. Mountain View, CA: The Unicode Consortium (2015年). 2016年2月21日閲覧。