なにこれ
一般大学生学習の備忘録。大体Wikiからだと思っていただければ。
経緯
大学の授業中に友人が.docxと.pdfって同じじゃないの?というとんでもない発言をした。その時は「は?」という反応をして終わったのだが、よくよく考えると各々の拡張子の違いとか説明できない私が悪かったので今回ちゃんと調べることにした。
pdfとは
では今回の発端となったpdfから。pdfはAdobe Systems Incorporatedによって開発された電子文書のファイルフォーマットである。無償で公開される仕様ではあるが今でもその一部が私有ソフトウェアとして残っている。2008年には国際標準化機構によって国際標準になった。
特徴
- ほぼ環境に左右されずに同じ状態で文書や画像を閲覧、印刷をすることができる。
- 文書のセキュリティ設定ができる。
- ファイルの圧縮が可能。
- 注釈、リンクの挿入のような機能が文書を画面に表示する際に設定できる。
- フォーム機能がある。
- 音声での読み上げに対応
- 動画の埋め込みなどのマルチメディアに対応
短所
- 仕様が複雑なせいで簡略化がされにくくソフトウェア、文書ともにサイズが大きくメモリの使用量も増大になりがち
- pdfのもとになったテキストファイルと文字列の羅列が異なってしまうためにpdfファイルからの抽出が困難
- 研究者からオンライン用の文書ではないといわれるほど計算機上での閲覧には向いていない
技術的な面
- 前身のpostscriptをもとに作られた。postscriptほどのプログラミング言語としての機能は持ち合わせておらずHTMLのようなデータ記述言語となっている。
- 情弱性をつかれたファイルへのウイルスの埋め込みなどがありマルウェア感染の事例がある。
- 前述のとおり文書のセキュリティ設定が可能。
doc,docx
次に友人が勘違いした形式について。pdf同様の記述をしたかったが、その仕様についての全容はいまだ公開されていないようで詳細な情報は載っていなかった。記述すべき点としては
・もともと.docはOfficeの仕様ではなく.txtのように扱われていた形式であったがMicrosoftOfficeの広い普及によって現在はこれを指すものとなった。
・.docと.docxの違いは対応するWordのバージョンの違いと他ソフトへの対応してるかしてないかの違い。.docxはしてる。
・仕様が詳細に後悔されてないのが起因して他のソフトで開こうとした時の再現性が低い。
これを見てるかもしれない友人に伝えたいこととしては.docxはMicrosoftOfficeやほかのソフトで開けるファイル形式ってことだよ。
jpeg,png
本題に入る前にjpegとjpgの違いについてはその時代のPCの要件に拡張子の文字数制限があったせいなだけで中身の違いはないよう。
jpeg
静止画像の圧縮方式の一つ。可逆性圧縮、非可逆性圧縮どちらにも対応はされているが通常は非可逆性の方式が採用されている。これのおかげで元のファイルよりも容量を削った状態で画像の保存が可能となる。正式なフォーマットはないがマジックナンバーで6バイト目からJFIFと記されている形式が一般的。デジタルカメラではこの形式の拡張版の形式が採用されている。
マジックナンバー
フォーマット識別子。
ファイルの特定の位置にあり、その数値によってファイルの形式が特定される。ほとんどの場合ファイルの先頭に数バイト程度で表される。
非可逆圧縮方法
概要のみ
符号化方式という方式を採用している。画像を8*8画素の固定サイズブロックに分割し、各ブロックごとに周波数への変換が行われる。これにより次に行われる量子化ビット数の削減とエントロピー符号化の圧縮率向上を図っている。具体的には周波数への変換によってデータの重要な部分が局所的に集められ、これにより量子化ビット数低減による画像の劣化を防ぐことができるからである。エントロピー符号化についてもこの方が都合がよい。一般的に高周波率を粗く扱う。
それによるノイズ
前述の形式により圧縮率を高くするとブロックの境目にブロックノイズが発生する。また高周波数を粗く扱うためにエッジ周辺ではモスキートノイズが発生する。色差を間引くために特に赤の部分に弱い。
ブロックノイズはモザイクのようなノイズ、モスキートノイズは物の輪郭や色の変化の部分で起こる画像の乱れ。
png
コンピュータでビットマップ画像を扱うファイル形式。圧縮アルゴリズムとしてDeflateを採用しており圧縮による画質の劣化がない可逆性の画像ファイル形式。すでに普及していたGIFに対してネットワークで使われることを想定した多くの機能を有した形式として普及した。また当時のGIFの256色の制限を改善したことでも大きく注目を集めた。
ビットマップ画像
画像情報をピクセルの二次元配列としてとらえてRGBの配列情報として扱う形式。
png,jpegその違い
圧縮率の違い。jpegは前述のとおり非可逆圧縮のために大きなファイルを取り扱い、それを小さくするのに向いている。pngはそれと比べたいてい5~10倍まで膨れ上がる。ただし画像の劣化がないのでテキストが入っていたり色の境目が重要なファイルに関してはpngのほうが好まれる。またjpegは現在の画像を圧縮し保存するため、それを繰り返すごとに劣化していき途中段階での保存には適していない。
おまけ
GIFとpng
- GIFよりも圧縮率が高い
- フルカラー表現が可能
- アニメーションがサポートされていない(複数の画像の挿入が可能なため、それを使ってアニメーションを再現できる)
- 圧縮展開に時間がかかるがファイルサイズはGIFよりも小さい
- 半透明表現が可能
おわりに
ここまでWiki様の力を借りてまとめました。普段意識していない部分まで調べられてよかったです。