実験1 書き込み・再読み出しでデータは変化するか?


使用データ

この調査では、次の4つのデータを使いました

  1. 720x480 白一色の BMP ファイル
  2. 720x480 黒一色の BMP ファイル
  3. 48000 Hz, 16 bit, Stereo, 無音, 100 sec の WAV ファイル
  4. 48000 Hz, 16 bit, Stereo, -20 db, 1 kHz, 100 sec の WAV ファイル

まず、2つの BMP ファイルは OS 標準の「ペイント」で作成しました。これを、岩本 一樹 氏 の VideoMaid を利用して、2997 フレーム(100 秒間)コピーし、DV Codec で圧縮します。

無音の WAV ファイルは YAMAHA の TWE (フリーの波形編集ソフト)で作成しました。FILE メニューの NEW から、FILL ZERO をチェックして LENGTH に 1:40 を指定すれば作成できます。

-20 db の 1 kHz データは efu 氏の Weve Generater で作成しました。こちらは作成方法は簡単なので省略します。

白一色の BMP から作成した DV Codec の AVI ファイルは無音の WAV ファイルと、黒一色の BMP から作成した AVI ファイルは 1 kHz の WAV ファイルと結合させます。

これで次の二つの AVI ファイルが完成しました。

  1. 白一色で無音の AVI ファイル
  2. 黒一色で -20 db, 1 kHz の AVI ファイル

どちらも、長さは 00:01:40:00(100 秒間)です。

書き込み・再読み出し

これを、DVWorks を利用して、「白」・「黒」・「白」の順に DV に書き出します。

終了したら、書き出したデータを DVWorks を利用して PC に読み出してみます。DVWorks での DV キャプチャで音が短くなるとしたら、-20 db, 1 kHz の音声部分は 100 秒間、4800000 サンプルから短くなっているはずですし、DVWorks 以外に原因があるなら、1 kHz の音声データは 100 秒間のまま、短くならないはずです。

結果はやはり短くなっていました。下の図のようになってしまいます。

-オリジナルキャプチャ後



そこで、AUDIO データがどのように変化してしまったのか調べるために、PCM 比較ソフトを作成し、それを利用して調査を継続することにします。音が短くなるということは、おそらく何処かでサンプルを落としてしまっているということですから、それをメインで調べられるソフトウェアが必要です。(efu 氏の WaveCompare は、一致しているか否かを比較するのがメインのプログラムなので、今回は使用することができませんでした)

作成したソフトは次のようなものです



  1. 二つの PCM WAV ファイルを指定し、その内容を比較する
  2. 相違を発見した場合は再一致パターンを検索して、ドロップ数を表示する
DL pcm_cmp.lzh (5/22 Ver. 0.3.0)

このソフトでオリジナルとキャプチャ後の WAV ファイルを比較してみるとこのような 結果 を得ることができます。この結果を整理すると、次の表のようになります。

ドロップ個所ドロップ数前回のドロップとの差
39943701-
4018417124047
4042416123999
4066463124047
4090462123999
4114509124047
4138508123999
4162555124047
4186554123999
4210601124047
4234600123999
以下省略

この結果から、DVWorks を使用して Panasonic NV-DM1 から DV 書き出し・再読み出しを行った場合に音声の長さが変化する件について、次の法則が発見できます。

  1. 取りこみ開始後、しばらくの間はドロップサンプルは現れない
  2. ドロップサンプルは、24047/23999 サンプルにつき1つと、大変規則正しく発生する
  3. 24047/23999 は交互に現れる

考察

取りこみ開始後、しばらくの間はドロップサンプルが無いことなど、幾つか不信な点はありますが、おそらくこの不具合は DVWorks が、NV-DM1 から受け取ったデータをファイルに書き出す際に、最後の1サンプルを出力するのを忘れているのが原因では無いかと推測します。

あるいは、DVWorks の問題では無く、Panasonic NV-DM1 の問題で、IEEE1394 へのデータ出力の際にサンプルを落として出力しているという事も推測できます。

どちらが真実かは現時点では判断できません。

後日談

……という内容の事を IO-DATA のユーザサポートに対して相談してみると次のような内容の回答が得られました。

何故インタリーブ間隔が関連するのか謎(インタリーブ間隔が広い場合 HDD のヘッド移動に時間がかかり、転送レートに間に合わずバッファアンダーランを起こす可能性はある。しかし、一応 DV への書き出しはエラーが出ずに終了して、再生できるのだから問題は無いだろうと考えていた)だったのですが、こう回答が来た以上はインタリーブ間隔を変更して実験してみる必要があります。

次のテーマは「サンプル落ちとインタリーブの関係」に決定です。


[戻る|]
最終更新 2000, 5/21