トップページ

ファイルの種類

はじめに

よく使用するファイルの種類・ファイルフォーマットおよびそれらのファイルを扱うアプリケーションについて説明します。

ファイルにはテキストファイルバイナリファイルがあります。テキストファイルはテキストエディタで自由に読み書きできます。バイナリファイルは直接読み書きすることができず、特定のアプリケーションでしか扱えません。以下で紹介しているアーカイブファイル・イメージファイル・オーディオファイル・ビデオファイルはすべてバイナリファイルです。

実行ファイルの種類

テキストファイルの種類

テキストファイルの文字コードは国や地域によってばらばらだったのですが、今はUnicodeで統一されています。Unicodeはエンコード方式(UTF-8/UTF-16LE/UTF-16BE/UTF-32LE/UTF-32BE)とBOM(Byte Order Mark)の有無によって分類されます。エンコード方式は1文字を何ビットで表現するかを意味し、UTF-8は8ビット(1バイト)、UTF-16は16ビット(2バイト)、UTF-32は32ビット(4バイト)でそれぞれ表現します。BOMはバイト列の並び順(BE: Big Endian, LE: Little Endian)を意味します。BOMなしのUTF-8が世界標準になっています。UTF-8は1バイトなのでBOMに意味はないのですが、Windows環境ではBOMによって文字コードの誤判定を回避できることがあります。1

アーカイブファイルのフォーマット

WindowsではZIPおよび7zというアーカイブフォーマットがよく使用されています。

イメージファイルのフォーマット

イメージファイルにはベクタイメージ(ベクトルイメージ)とラスタイメージ(ビットマップイメージ)があります。ラスタイメージは無圧縮・可逆圧縮・非可逆圧縮の3つのフォーマットに分類できます。

ベクタイメージのフォーマット

ベクタイメージには画像を拡大・縮小しても劣化しないという特長があります。

無圧縮のイメージフォーマット

無圧縮のイメージファイルは他と比べてもっとも大きなファイルサイズになりますが元の画質は劣化しません。

可逆圧縮のイメージフォーマット

可逆圧縮されたイメージファイルのファイルサイズは、無圧縮のイメージファイルより小さくなり非可逆圧縮のイメージファイルより大きくなります。元の画質は劣化しません。以下のPNG/GIFは透過色を扱うことができます。

非可逆圧縮のイメージフォーマット

非可逆圧縮されたイメージファイルのファイルサイズは他と比べてもっとも小さくなりますが元の画質は劣化します。

オーディオファイルのフォーマット

オーディオファイルは無圧縮・可逆圧縮・非可逆圧縮の3つのフォーマットに分類できます。

無圧縮のオーディオフォーマット

無圧縮のオーディオファイルは他と比べてもっとも大きなファイルサイズになりますが元の音質は劣化しません。

可逆圧縮のオーディオフォーマット

可逆圧縮されたオーディオファイルのファイルサイズは、無圧縮のオーディオファイルより小さくなり非可逆圧縮のオーディオファイルより大きくなります。元の音質は劣化しません。フォーマットはいくつかありますがどれを選択しても大きな違いはありません。圧縮率・エンコード速度・再生負荷などが選択の基準になるでしょう。

非可逆圧縮のオーディオフォーマット

非可逆圧縮されたオーディオファイルのファイルサイズは他と比べてもっとも小さくなりますが元の音質は劣化します。非可逆圧縮を繰り返すと音質は劣化し続けます。音質と圧縮率はトレードオフの関係にあり、それらはビットレートの大きさによって決まります。ビットレートが大きいほどファイルサイズは大きくなりますが音質は良くなります。ビットレートが小さいほどファイルサイズは小さくなりますが音質は悪くなります。

クオリティレベル -2 -1 0 1 2 3 4 5 6 7 8 9 10
ビットレート[kbps] 32 45 64 80 96 112 128 160 192 224 256 320 500

同一ビットレートで比較した場合、AAC/Vorbis/WMAはMP3よりもが圧縮率が高く音質もいいとされています。ビットレートの設定については悩ましい問題ですが、MP3なら160kbps以上、他のフォーマットなら128kbps以上で原音との区別が難しくなるようです。

ビデオファイルのフォーマット

ビデオファイルは無圧縮・可逆圧縮・非可逆圧縮の3つのフォーマットに分類できます。無圧縮のビデオファイルは巨大なファイルサイズになるので取り扱うことはありません。

可逆圧縮のビデオフォーマット

可逆圧縮されたビデオファイルのファイルサイズは、無圧縮のビデオファイルより小さくなり非可逆圧縮のビデオファイルより大きくなります。元の画質は劣化しません。フォーマットはいくつかありますがどれを選択しても大きな違いはありません。圧縮率・エンコード速度・再生負荷などが選択の基準になるでしょう。

非可逆圧縮のビデオフォーマット

非可逆圧縮されたビデオファイルのファイルサイズは他と比べてもっとも小さくなりますが元の画質は劣化します。非可逆圧縮を繰り返すと画質は劣化し続けます。画質と圧縮率はトレードオフの関係にあり、それらはビットレートの大きさによって決まります。ビットレートが大きいほどファイルサイズは大きくなりますが画質は良くなります。ビットレートが小さいほどファイルサイズは小さくなりますが画質は悪くなります。

H.264ではビットレートではなく品質(0~51)を指定するのが一般的であり、この値が小さいほど高画質ですがその分ファイルサイズは大きくなります。既定値は23であり18から28の間が推奨されています。画質にこだわるのであれば20くらいが適当です。

コンテナファイルのフォーマット

画像・音声・動画はコンテナファイルに格納されます。イメージファイルの画像およびオーディオファイルの音声は専用のコンテナファイルに格納されます。たとえばMP3のコンテナファイルにはMP3の音声しか格納することができません。ビデオファイルでは動画と音声が多重化されて動画用のコンテナファイルに格納されます。4格納できる動画のビデオフォーマットおよび音声のオーディオフォーマットはコンテナフォーマット毎に決められています。上記のビデオフォーマット(圧縮方法)と下記のコンテナフォーマット(動画形式)を混同しないように注意してください。

テキストファイルを扱うアプリケーション

テキストファイルはテキストエディタで表示・作成・編集できます。

アーカイブファイルを扱うアプリケーション

アーカイブファイルはアーカイバで作成・展開・プレビューできます。

イメージファイルを扱うアプリケーション

イメージファイルはイメージビューアで画像を表示したり他のフォーマットに変換したりできます。イメージファイルの画像を作成・編集するにはイメージエディタを使用します。PDFファイルはPDFビューアで閲覧できます。

オーディオファイルを扱うアプリケーション

オーディオファイルはオーディオプレーヤで再生できます。foobar2000を使用すればタグ(オーディオファイルに埋め込む曲情報)を編集したり他のフォーマットに変換したりできます。オーディオファイルの音声を編集するにはオーディオエディタを使用します。

ビデオファイルを扱うアプリケーション

ビデオファイルはビデオプレーヤで再生できます。ビデオファイルの再生には、ビデオファイルのビデオフォーマット(およびオーディオフォーマット)に対応するコーデックが必要です。コーデックは動画と音声を圧縮・復元するプログラムです。コーデックを内蔵しているビデオプレーヤもあります。ビデオファイルのエンコード・デコードのイメージは下のような感じです。

ビデオファイルの動画を編集したり他のフォーマットに変換したりするにはビデオエディタを使用します。


  1. テキストファイルの文字コードを確実に判定する方法はありません。いくつかの方法によって推測されています。 ↩︎

  2. 元画像より高い品質を指定すると元のファイルサイズより大きくなってしまうことがあるので、元画像がJPEGであれば品質の値は80くらいが適当です。 ↩︎

  3. Hydrogenaudioで行われたリスニングテストでは128kbpsに相当するクオリティレベルとして4.25という値が使用されました。エンコーダの実装上の問題を考慮して名目値よりも若干高めに設定されたようです。 ↩︎

  4. 動画のみであれば無音の動画が再生されます。音声のみであればオーディオファイルとして扱われます。 ↩︎

  5. かつてはFlash Playerでウェブの動画を再生していましたが現在はFlashからHTML5に移行しています。したがって今後FLVが使用されることはありません。 ↩︎