[掲示板へもどる]
一括表示

タイトルDucatiでのRAW連続撮影枚数について
記事No: 53153 [関連記事]
投稿日:  2008/01/07(Mon) 03:12
投稿者Hoso

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連続撮影枚数について
記事No: 53154 [関連記事]
投稿日:  2008/01/07(Mon) 09:06
投稿者南風

色々と計算してみました。撮影している間にカメラの内部バッファが開放されることを考えると、それぐらい出てもおかしくないように思えますね。
D3 のメモリの使い方は、カタログ数値から逆算するとカメラ全体の DRAM 容量は 512MB, そのうちファームウェアの作業領域が25D6MB, 撮影バッファが 256MB のようです。
PC と同じと考えると、カメラにはメイン CPU の他に、DMA (Direct Memory Access) コントローラが搭載されているはずです。撮影中は CPU がカメラのコントロール及び圧縮に使われているはずのですので、メモリ-メモリ間の転送及び撮影バッファからメモリーカードへの転送は DMA コントローラが一手に引き受けているはずです。
CPU がソフトウェアでメモリ-メモリ間の転送をしていたら無駄なので、それ専用のハードウェアが搭載されていることが多いです。それが DMA コントローラです。
私がプログラムを組むとすると、撮影して圧縮等の各種作業が完了したら作業領域にデータを置いたままにして、直ぐに次の撮影の準備に取りかかるようにプログラムを組むと思います。作業領域からバッファ領域への転送やメモリーカードへの転送は DMA コントローラにまかせるでしょう。
たぶん、DMA コントローラの処理速度が間に合っていないのではないかと思うのですが…
私の勝手な予想なので間違っている可能性もありますが、皆さんはどう思われますか??


タイトルRe:DucatiでのRAW連続撮影枚数について
記事No: 53155 [関連記事]
投稿日:  2008/01/07(Mon) 09:18
投稿者南風

書き忘れです。
JPEG だと、メモリ-メモリ間及びメモリ-メモリーカード間の転送量が少ないので、DMA コントローラの処理速度が間に合っているのではないかと思います。


タイトルRe:DucatiでのRAW連続撮影枚数について
記事No: 53163 [関連記事]
投稿日:  2008/01/07(Mon) 22:47
投稿者南風

あれから色々と思ったのですが、前回と前々回書いたことはたぶん間違っています。
忘れて下さい。申し訳ありません。
前提条件として、
・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連続撮影枚数について
記事No: 53164 [関連記事]
投稿日:  2008/01/07(Mon) 23:29
投稿者Hoso

南風さん
ただただ勉強になることばかりです…。
ここまで裏づけを伴うレスをいただけるとは思っていませんでした。
ありがとうございます。
ボトルネックは、やはりCFカードにあるのですね。
1200万画素のRAWで秒9コマとなると、現時点では最速のカードでさえまだ不十分なのですね。
あるいはバッファを大幅に増やすか…。


タイトルRe:Re:Re:DucatiでのRAW連続撮影枚数について
記事No: 53180 [関連記事]
投稿日:  2008/01/08(Tue) 22:28
投稿者南風

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

数字については、有る程度根拠のあるものですが、ファームウェアの挙動については全くの推測です。ファームウェアのフローチャート (流れ図) やハードウェアのブロックダイアグラム (簡略化した模式図) も見たことがありません…
私がプログラムを組むならこのような構造にするというだけです。(^^;;
連写バッファが 256MB というのも、ロスレス圧縮 RAW 14bit のファイルサイズに連続撮影可能コマ数を乗じた数字
16.3(MB) * 16 = 260.8(MB)
が、256MB に近いので、そう判断しただけです。
趣味で PC をやっている人間が、PC の知識をベースにして考えたことです。
間違っていましたらご容赦下さい。
>ボトルネックは、やはりCFカードにあるのですね。
>1200万画素のRAWで秒9コマとなると、現時点では最速のカードでさえまだ不十分なのですね。
>あるいはバッファを大幅に増やすか…。

どちらかになるでしょうね… バッファを大幅に増やすのが一番の近道かも知れませんね。


タイトルRe:DucatiでのRAW連続撮影枚数について
記事No: 53168 [関連記事]
投稿日:  2008/01/08(Tue) 00:59
投稿者D1xから

>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連続撮影枚数について
記事No: 53169 [関連記事]
投稿日:  2008/01/08(Tue) 01:01
投稿者D1xから

>Hosoさん

誤字訂正:
sonoさん→ Hosoさん
でした。
訂正してお詫びさせて頂きます。


タイトルRe:Re:DucatiでのRAW連続撮影枚数について
記事No: 53170 [関連記事]
投稿日:  2008/01/08(Tue) 01:15
投稿者Hoso

D1xからさん、参考になるご意見ありがとうございます。
試写はやはり私と同じような結果になりましたね。
D2Hを使っていた時は連続撮影枚数なんて気にしたことはなかったのですが、D3になってDucatiでも不十分と感じるとは、欲求は飽くなきものです…。


タイトルRe:Re:Re:DucatiでのRAW連続撮影枚数について
記事No: 53177 [関連記事]
投稿日:  2008/01/08(Tue) 21:32
投稿者D1xから

>試写はやはり私と同じような結果になりましたね。

Ducatiは
>ロスレス圧縮12bit 秒9コマ連写をすると、ほぼ必ず20枚
なんですよね?
自分の場合は同条件だと18枚なので、やはりDucatiが現時点では最速と言う事になりそうですね。
この差は
ロスレス12bitだと20枚以上行けそうな気がしますが?
いかがなのでしょうか?
>D2Hを使っていた時は連続撮影枚数なんて気にしたことはなかったのですが、D3になってDucatiでも不十分と感じるとは、欲求は飽くなきものです…。

この先、数年以内に133MB/sec辺りまで高速化されそうですね。
http://www.cameratown.com/news/news.cfm/hurl/id" target="_blank">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追従と共に、覚醒してほしいと思っています。