掲示板カメラフォーラム | レンズフォーラム | 初心者用フォーラム | 雑談掲示板 | PhotoBBS | 写真撮影技術 | 商品レビュー | 画像処理・編集ソフト掲示板
並び替えツリー | 新着順 | 画像有り | 詳細表示 | 参考になった順 | 返信が多い順 | カメラ別表示 | スレッド一覧 | 新規タイトル
新規投稿 返信数(全 9 件)
DucatiでのRAW連続撮影枚数について (9) Hoso 2008/01/07(Mon) 03:12 No:53153 ID:1c5ca3f0cdf47f0
カメラ:D3
D3のRAW撮影時の連続撮影枚数についてお尋ねします。

RAWでの連続撮影枚数を少しでも多くしたいと思い、SandiskのExtreme Ducati 4GBを使っています。
ロスレス圧縮12bitで1枚あたりおおよそ12MB前後のファイルサイズになりますが、秒9コマ連写をすると、ほぼ必ず20枚で連写テンポが落ち、途切れ途切れになります。

一方、JPEG FINE Lだと1枚あたり5、6MB前後だと思いますが、連写速度はまったく落ちず、一気に130枚撮り切ってしまいます。

RAWとJPEGでファイルサイズの違いは2倍程度なのに、なぜ途切れずに連続撮影可能な枚数はこんなに開きがあるのでしょうか。

また、上の条件でRAWは20枚までは途切れずに連続撮影可能という私のケースは少なくはないのでしょうか?
Ducatiの転送速度を考えると、25枚以上に届いてもいいのではないかと思うのですが。
Re:DucatiでのRAW連続撮影枚数について 南風 2008/01/07(Mon) 09:06 No:53154 ID:4fae36a7cbee536
カメラ:D80  レンズ:AF-S DX VR Zoom Nikkor ED 18-200mm F3.5-5.6G(IF)
色々と計算してみました。撮影している間にカメラの内部バッファが開放されることを考えると、それぐらい出てもおかしくないように思えますね。

D3 のメモリの使い方は、カタログ数値から逆算するとカメラ全体の DRAM 容量は 512MB, そのうちファームウェアの作業領域が25D6MB, 撮影バッファが 256MB のようです。

PC と同じと考えると、カメラにはメイン CPU の他に、DMA (Direct Memory Access) コントローラが搭載されているはずです。撮影中は CPU がカメラのコントロール及び圧縮に使われているはずのですので、メモリ-メモリ間の転送及び撮影バッファからメモリーカードへの転送は DMA コントローラが一手に引き受けているはずです。

CPU がソフトウェアでメモリ-メモリ間の転送をしていたら無駄なので、それ専用のハードウェアが搭載されていることが多いです。それが DMA コントローラです。

私がプログラムを組むとすると、撮影して圧縮等の各種作業が完了したら作業領域にデータを置いたままにして、直ぐに次の撮影の準備に取りかかるようにプログラムを組むと思います。作業領域からバッファ領域への転送やメモリーカードへの転送は DMA コントローラにまかせるでしょう。

たぶん、DMA コントローラの処理速度が間に合っていないのではないかと思うのですが…

私の勝手な予想なので間違っている可能性もありますが、皆さんはどう思われますか??
Re:DucatiでのRAW連続撮影枚数について 南風 2008/01/07(Mon) 09:18 No:53155 ID:4fae36a7cbee536
カメラ:D80  レンズ:AF-S DX VR Zoom Nikkor ED 18-200mm F3.5-5.6G(IF)
書き忘れです。

JPEG だと、メモリ-メモリ間及びメモリ-メモリーカード間の転送量が少ないので、DMA コントローラの処理速度が間に合っているのではないかと思います。
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
間違っていたら随時訂正をしていただけると幸いです。
Re:Re:DucatiでのRAW連続撮影枚数について Hoso 2008/01/07(Mon) 23:29 No:53164 ID:562b36c771abbff
カメラ:D3
南風さん

ただただ勉強になることばかりです…。
ここまで裏づけを伴うレスをいただけるとは思っていませんでした。
ありがとうございます。

ボトルネックは、やはりCFカードにあるのですね。
1200万画素のRAWで秒9コマとなると、現時点では最速のカードでさえまだ不十分なのですね。
あるいはバッファを大幅に増やすか…。
Re:Re:Re:DucatiでのRAW連続撮影枚数について 南風 2008/01/08(Tue) 22:28 No:53180 ID:4fae36a7cbee536
カメラ:D80
>ただただ勉強になることばかりです…。
>ここまで裏づけを伴うレスをいただけるとは思っていませんでした。
>ありがとうございます。

数字については、有る程度根拠のあるものですが、ファームウェアの挙動については全くの推測です。ファームウェアのフローチャート (流れ図) やハードウェアのブロックダイアグラム (簡略化した模式図) も見たことがありません…
私がプログラムを組むならこのような構造にするというだけです。(^^;;

連写バッファが 256MB というのも、ロスレス圧縮 RAW 14bit のファイルサイズに連続撮影可能コマ数を乗じた数字

16.3(MB) * 16 = 260.8(MB)

が、256MB に近いので、そう判断しただけです。

趣味で PC をやっている人間が、PC の知識をベースにして考えたことです。
間違っていましたらご容赦下さい。

>ボトルネックは、やはりCFカードにあるのですね。
>1200万画素のRAWで秒9コマとなると、現時点では最速のカードでさえまだ不十分なのですね。
>あるいはバッファを大幅に増やすか…。

どちらかになるでしょうね… バッファを大幅に増やすのが一番の近道かも知れませんね。
Re:DucatiでのRAW連続撮影枚数について D1xから 2008/01/08(Tue) 00:59 No:53168 ID:3e8bf0c8a8e700c
>D3のRAW撮影時の連続撮影枚数についてお尋ねします。
>
>RAWでの連続撮影枚数を少しでも多くしたいと思い、SandiskのExtreme Ducati 4GBを使っています。
>ロスレス圧縮12bitで1枚あたりおおよそ12MB前後のファイルサイズになりますが、秒9コマ連写をすると、ほぼ必ず20枚で連写テンポが落ち、途切れ途切れになります。
>
>一方、JPEG FINE Lだと1枚あたり5、6MB前後だと思いますが、連写速度はまったく落ちず、一気に130枚撮り切ってしまいます。
>
>RAWとJPEGでファイルサイズの違いは2倍程度なのに、なぜ途切れずに連続撮影可能な枚数はこんなに開きがあるのでしょうか。
>
>また、上の条件でRAWは20枚までは途切れずに連続撮影可能という私のケースは少なくはないのでしょうか?
>Ducatiの転送速度を考えると、25枚以上に届いてもいいのではないかと思うのですが。

自分も、少し試して見ました。
あいにく、Ducati4Gは持っていないのですが(><)
Silicon power 8G X300にての結果だと以下の様になりました。
連射速度は9fpsにて実施しました。

Raw:14bit ロス有り圧縮
レリーズ前の書き込み可能枚数表示:17枚
連射後の書き込み枚数(実連射可能枚数):18枚

Raw:14bit ロスレス圧縮
レリーズ前の書き込み可能枚数表示:16枚
連射後の書き込み枚数(実連射可能枚数):17枚

Raw:12bit ロス有り圧縮
レリーズ前の書き込み可能枚数表示:18枚
連射後の書き込み枚数(実連射可能枚数):20枚

Raw:12bit ロスレス圧縮
レリーズ前の書き込み可能枚数表示:17枚
連射後の書き込み枚数(実連射可能枚数):18枚

jpg L FINE
レリーズ前の書き込み可能枚数表示:25枚
連射後の書き込み枚数(実連射可能枚数):80枚以上(80カット時に撮影可能枚数が17コマから10カット/コマ程度の減少の為、130コマは行きそうと判断して辞めちゃいました。)

やってみて思ったのですが、最初の1コマ目をCFに書き込むまでに1秒少し掛かるのでは?無いのかな?と思いました。
自分のSilicon PowerのCFの特性なのかも知れませんけれど、
jpgの場合でも、レリーズ開始と同時に、レリーズ前の書き込み可能枚数25コマが18〜19辺りまで一気に減少して、その後、撮影可能枚数の減少が極端に遅くなり、無限連射可能な勢いでしたから・・・
最初の1枚目はCFへの書き込みだけではなくて、CFから何らかの情報を読み出しているとすればなんとなく理解できます。
CFへの書き込みスピードのみが注目されがちですが、CFからの読み出しスピードも最初の1枚を書き込む前にやっているのかもしれませんね。
この辺がCF内のコントローラーで差が有るのかも?
なんて勘ぐったりしています。

それにしても、Ducati 4Gは早いですね。
Re:Re:DucatiでのRAW連続撮影枚数について D1xから 2008/01/08(Tue) 01:01 No:53169 ID:3e8bf0c8a8e700c
>Hosoさん

誤字訂正:
sonoさん→ Hosoさん
でした。
訂正してお詫びさせて頂きます。
Re:Re:DucatiでのRAW連続撮影枚数について Hoso 2008/01/08(Tue) 01:15 No:53170 ID:562b36c771abbff
カメラ:D3
D1xからさん、参考になるご意見ありがとうございます。
試写はやはり私と同じような結果になりましたね。

D2Hを使っていた時は連続撮影枚数なんて気にしたことはなかったのですが、D3になってDucatiでも不十分と感じるとは、欲求は飽くなきものです…。
Re:Re:Re:DucatiでのRAW連続撮影枚数について D1xから 2008/01/08(Tue) 21:32 No:53177 ID:3e8bf0c8a8e700c
>試写はやはり私と同じような結果になりましたね。

Ducatiは
>ロスレス圧縮12bit 秒9コマ連写をすると、ほぼ必ず20枚
なんですよね?
自分の場合は同条件だと18枚なので、やはりDucatiが現時点では最速と言う事になりそうですね。
この差は
ロスレス12bitだと20枚以上行けそうな気がしますが?
いかがなのでしょうか?

>D2Hを使っていた時は連続撮影枚数なんて気にしたことはなかったのですが、D3になってDucatiでも不十分と感じるとは、欲求は飽くなきものです…。

この先、数年以内に133MB/sec辺りまで高速化されそうですね。
http://www.cameratown.com/news/news.cfm/hurl/id|4821

D3はUDMA Mode:5(100MB/sec)まで対応していると何処かのサイトで見たような気がしますので、将来、CFの高速に伴ってDucatiの2倍以上の潜在能力を有していると思っています。

ただ、D3のカタログ(pdf版)では35MB/secとなっていますね。
D3は長く使えるカメラと思っていますので、この辺はファームアップで、11コマ/秒のAF追従と共に、覚醒してほしいと思っています。
処理  記事No.   パスワード  
Copyright (C) Nikon Digital.Net. All rights reserved.