FourCC

FourCC(フォーシーシー)



FourCCは、データフォーマットや各種の圧縮形式、あるいは色空間などを一意に識別するために用いられる、4バイト長の短いコードです。その名称は「four-character code」(4文字のコード)に由来しています。

この4バイトの識別子は、32ビットの整数値と等しいデータサイズを持ちながら、人間が視覚的に把握しやすいアルファベットや数字といった文字の組み合わせで意味を表すことができます。例えば、動画コーデックであれば、その種類を端的に示す文字コードが使われます。ただし、バイトが複数集まって構成されるため、データを読み書きするシステムのエンディアン(バイト順序)の違いによっては、解釈に注意が必要となる場合があります。

FourCCの概念的な起源は、Apple社のMac OSで使用されていたOSTypeにあります。このアイデアは、1985年エレクトロニック・アーツ社が提唱した汎用的なデータ構造であるInterchange File Format(IFF)に採用され、その仕様書の中でもApple社に由来することが明記されました。IFFは、データを「チャンク」と呼ばれる独立したブロックの集まりとして扱う構造を持ち、各チャンクの先頭には、その内容や種類を示すための4バイトの識別子が必ず付与されていました。

IFFの革新的な設計は広く普及し、Apple社の音声ファイルフォーマットAIFFや、マイクロソフト社が提唱したResource Interchange File Format(RIFF)など、多くの派生フォーマットを生み出しました。特にRIFFは、現在でも標準的に使用されている動画フォーマットAVIや音声フォーマットWAVの基礎となっています。興味深いことに、同じ4バイト識別子に対して、Apple社の開発者はOSTypeと呼称していたのに対し、マイクロソフト社やWindowsプラットフォームの開発者の間ではFourCCという名称が一般的となりました。マイクロソフト社は、DirectXテクノロジー(特にDirectShowDirect3D)においても、データフォーマットやコーデックの識別子としてFourCCを広く採用しました。

FourCCが最もよく知られている応用例の一つは、AVIファイルにおけるビデオコーデックの識別です。たとえば、MPEG-4系の『DIVX』や『XVID』、H.264/AVCの『H264』や『AVC1』、Windows Media Videoの『WMV3』といったコードが、動画データの圧縮方式を示します。しかし、AVIファイルやWAVファイルにおける音声コーデックの識別には、通常FourCCではなく、2バイトの数値識別子が使用されます。これらの識別子は、FourCCのような文字列表現ではなく、16進数で表記されるのが一般的です(例:MP3は`0055`)。一方、Apple社のQuickTimeファイルフォーマットでは、これらの2バイト音声識別子の前に『ms』という文字を付加することで、全体として4バイトのFourCC形式の識別子として扱うユニークな手法が取られています。また、RealNetworks社のRealMediaファイルフォーマットなど、他のマルチメディアフォーマットでもFourCCと同様の4バイト識別子が利用されていますが、その具体的なコード値は他のフォーマットとは異なる場合があります。

マルチメディア分野以外でも、FourCCのような4バイト識別子は様々なファイルフォーマットで見られます。音楽シーケンスデータのMIDIファイル、Webで広く使われる画像フォーマットPNG、3Dグラフィックスデータの3DS、カラーマネジメントシステムで用いられるICCプロファイルフォーマット、さらにはゲームの内部ファイルフォーマットなど、その用途は多岐にわたります。

画像処理の文脈では、Windows BitmapファイルやDirectDraw Surface(DDS)ファイルフォーマットにおいて、RGBだけでなくYUVのような別の色空間の色データを格納している場合に、その色空間の種類を識別するためにFourCCが使われることがあります。

FourCCは、短く覚えやすいコードによって、ファイルやデータストリームに含まれる複雑な情報を効率的に識別・分類するための、コンピュータシステムにおける重要な仕組みの一つと言えます。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。