掲示板カメラフォーラム | レンズフォーラム | 初心者用フォーラム | 雑談掲示板 | PhotoBBS | 写真撮影技術 | 商品レビュー | 画像処理・編集ソフト掲示板
並び替えツリー | 新着順 | 画像有り | 詳細表示 | 参考になった順 | 返信が多い順 | カメラ別表示 | スレッド一覧 | 新規タイトル
新規投稿 
Re:DucatiでのRAW連続撮影枚数について 南風 2008/01/07(Mon) 22:47 No:53163 ID:4fae36a7cbee536
カメラ:D80  レンズ:AF-S DX VR Zoom Nikkor ED 18-200mm F3.5-5.6G(IF)
あれから色々と思ったのですが、前回と前々回書いたことはたぶん間違っています。
忘れて下さい。申し訳ありません。

前提条件として、

・D3 に使われているメモリは DDR2 SDRAM 533MHz 512MB だと思われます。
・このメモリの理論最高転送レート 4264MB/s です。
・このメモリは、読み込みと書き込みが同時には出来ません。

・512MB のうち、内蔵ファームウェアのワークエリアが 256MB, 連写バッファが 256MB だと思われます。

・Ducati の公称転送レートは 45MB/s です。

・DMA (Direct Memory Access) コントローラとはメインメモリと Ducati の間のメモリ転送を司るハードウェアです。起動すると CPU は連写バッファに読み書きすることが出来ません。

・内蔵ファームウェアのワークエリアのうち、写真一枚分の領域である約20MB (ロスレス圧縮14bit RAW が 16.3MBより) を A領域, 連写バッファである256MBを B領域, Ducati を C領域とします。

以上で前提条件は終わります。

さて、CPU によりロスレス圧縮処理まで終わった画像データが A に保存されます。
その後、A から B に画像を CPU のブロック転送命令により転送しようとします。ですが、仮にこの時に、DMA コントローラが起動していて C へデータを転送していると画像データを A から B に転送することが出来ません。
しかしながら、カメラの連写は進んでいきます。A には写真1枚分のメモリ空間しか有りません。そして、Ducati は最高でも秒間 3.38枚 (ロスレス12bit RAW の場合) しか書き込むことが出来ません。そのため、D3 の秒間最高9枚には追いつくことが出来ません。

ということで、13.3(MB) * 9(/s) = 119.7 (MB/s) の速度で書き込まれている B に DMA コントローラが割り込む余地はありません。

では JPEG ではどうでしょうか。JEPG はファイルサイズが 5.7MB です。ということは、A には3枚程度は保存することが可能です。
DMA コントローラが B をロックして C に転送中であっても、ロスレス圧縮12bitRAW より3倍程度時間を稼ぐことが可能です。また、B から Cに転送するデータ量が半分になりますので、DMA コントローラが B をロックしている時間も半分になります。
B のロックが解除された直後に、CPU は A から B へデータをブロック転送します。その速度は理論値最高 4264MB/s にも達するので、Ducati と比較にはなりません。一瞬で終了します。
その後、A を空にしてまた連写を開始し、DMA コントローラは B から C へデータを転送します。ですので、JPEG の場合は途切れずに連写が可能なのだと思います。

私はアマチュアで PC を使っている者ですが、幸いにして PC-9801/9821 のハードウェアをアセンブリ言語で叩いたことがあります。(PC-9801/9821 の技術解説資料なら沢山持っています)
そのため、この程度でしたら想像できますが、なにぶんにもアマチュアな者でプロの方には負けます。

どうでしょうか > ALL
間違っていたら随時訂正をしていただけると幸いです。
処理  記事No.   パスワード  
Copyright (C) Nikon Digital.Net. All rights reserved.