|
Windowsでの2GBの壁 |
2000.01.20改訂 |
WINの場合いろいろ入り組んでいるようで,基本的にMacユーザのわたしには調べきれません。これについては,多分間違いも多いと思うのです。ぜひ,間違いをご指摘ください。
なお,わたし,本業で社内ネットワーク管理もしております。NT,Netware,UNIX,VAX/VMS(をまだ使っている(笑)),AppleShare Serverなどのお守りをしています(100名規模の組織。実験データ取り込み・解析・管理システム)。まあ,まったくのしろうと,というわけでもありませんが,でも,WINにやたら詳しいわけでもありません。
■ ファイルシステムの制限
WIN95の初版は,VFAT(FAT16ともいう)を使用していましたので,2GBの壁が存在します。VFATとは,基本的にMS-DOSと同じもので,LongFileName(8文字以上のファイル名)に見かけ上対応しただけです。
WIN95のOSR2以降は,FAT32を搭載していますので,2GBの壁は解消しました。これは,MacOSでいうと,HFSがHFS
plusに変わったのと同じ様な意味あいです(時期もほぼ一緒)。
OSR2
OEM Service Releaseの略(かな??)。Windows95は、各社のパソコンにプレインストールされている場合(OEM版)と、単体販売の2種類があります。WIN95のOSR2は、ある時期以降に発売されたパソコンにプレインストールされ始めたもので、単体発売はありませんでした。この措置は、ある意味で既存ユーザにはむごいといえます(一方で、OSR2発売以前のパソコン・ハードウェアにまで対応させることもMicrosoftとしても困難でしょうし、サポートも大変すぎるという事情も判ります)。
その反省もあってか、今年のWin98 SE(Second Edition)では、単体発売もされています。
WIN NTのファイルシステムは,NTFSですが,ファイルシステム上は2GBの壁はありません。
ということで,WIN98にしてもWIN NTにしても,ファイルシステムレベルでは,2GBの壁は取り払われています。
でも,MacOS同様,その他の仕様により,現実には2GBの壁(なり、4GBの壁)が存在しています。
Video for WIN
QuickTimeに相当するこのシステム機能,いつのころからかシステムに組み込まれ名称もころころ変わり,いまは、Direct
Xと呼ばれる機能になっています。この機能で作成される動画・音声データ(やその他のマルチメディアデータを含む)ファイルをAVIファイルといいます(QuickTimeでいうムービーファイルに相当)
AVIファイルは,いくつかの仕様に縛られています。
MCIに由来する制限
32bit MCIの場合,2GBまで,の制限があります。そして,これが,現状における2GBの壁そのものです。
16bit MCIのころは,1GBまでという制限があったので,ファイル自体は2GBまで作れても1GB目で例えば音声再生が途切れるといった症状が出ていたようですが,こちらは32bit
MCIで解消しています。
RIFF(Resource Interchange File Format)に由来する制限
現行4byte単位なので,4GBが上限のはずです。
例)カノープス社のDV Raptureの場合,自社で開発した参照AVI形式が売り物のひとつです。この参照AVI形式で連続取り込みを行うと,ChainCaptureにより(壁がくると次のファイルに連続書き込みする)実質長時間の取り込みが出来ます。
長時間取り込みを行うと、始めに2GBのファイルがひとつ,あとは必要個分だけの4GBのファイルが作成されます。
これについては,最初の2GB上限のファイルは、AVIファイルです(ファイル名は、sample.aviとしましょう)。
このAVIファイルには,動画の参照データ(置場所データ。映像の生データ自体はこの中にはない)+音声の生データを格納されています。では、映像の生データはどこかというと、続いて作成されるし4GB上限のファイルに収納されるのです。長時間に応じて、sample.001、sample.002・・・とナンバリングされてゆきます。
この例をみると、まず、sample.aviの上限はAVIに由来する2GBの壁で決まり、sample.0nnファイルの上限は、RIFFファイルの4GBの壁に由来していることが判りますね。なお,DVの場合,音声は,3Mbps(=約400kB/s)なので,約90分で,2GBの上限に達してしまうと思われます(未確認。おおざっぱな計算値)
なお、この機能は、カノープス社独自開発技術のたまものであって、(カノープス社配布中のドライバをインストールしない限り)これらsample.aviを例えばVAIOで利用することは出来ません。この辺は、QuickTimeというOS機能で提供される参照ムービー機能に比べると使い勝手が劣る点といえそうです。
QTの場合は,2GBのムービー(ビデオ・サウンドその他諸々の生データ)が順番にできてきます。
なお,これを解消するために,拡張AVIとASFという手段が採られているようです。
ASFについては,QT4.0発表のちょい前くらいに新仕様が発表されていたような気がします。もともとストリーミング用のフォーマットみたいですが,これにテコ入れしたみたいですね。
なお,聞くところによると,いずれも従来のAVIファイルとは互換性がないようです。
ActiveMovie→DirectShow→DirectXによって,MCI由来の制限は外れたはずです。
(アプリ側の対応は必要なはず)
拡張AVI
OpenDML(Open Digital Media)コンソーシアムのOpen DML AVI File Format Extention
http://www.matrox.com/videoweb/omlff2.htm
ASF Advanced Streaming Format
NetShow Active Streaming Format
RIFF 4Byte→8Byteに拡張してある
オーディオ
WAVを内蔵しているが,コマ数をカウントしながら再生している