イメージファイルとオーディオCD(3)
2020/02/09
シングルセッションの話から
  • 前々回のレポートで説明したように、多くのオーディオCD(*1)と市販CD/DVDはシングルセッション(Single Session)です。データ領域がリードインとリードアウトに挟まれたセッションを1つ持っています。


  • Figure 1 : シングルセッションのデータ構造

  • そしてオーディオCDはマルチトラック(Multi Track)。データCD/DVDはシングルトラック(Single Track)です。

  • Figure 2 : シングルトラックとマルチトラック

  • ですがオーディオCDのマルチトラックは、データが構造的に分割されているわけではありません。Figure 3で示すように、TOCに記された各曲の開始位置や無音区間(ギャップ)という情報があるだけの連続したPCMデータです。よってシングルトラックと実はあまり変わりません。


  • Figure 3 : オーディオCDは連続したPCMデータを持つと見なせる

  • 話は少し脱線しますが、オーディオCDのデータを曲単位でリッピングする場合曲間の無音部(ギャップ)は前トラックの末尾に付けて分割されます(*2)。これなら連続再生時のギャップ有り/無しがきちんと再現されます。


  • Figure 4 : 曲単位リッピング時の無音部(gap)処理

マルチセッションは追記のために
  • ここまで話をしてきたのは、すでにデータセットができあがっている市販のオーディオCDやデータCD/DVDです。そこに何かを追記する必要性は全く出ません&できません。
    ※一度の書き込みでディスクの内容を確定させるのでディスクアットワンス(Disc At Once)と呼ばれます。

  • しかし、CD-R や DVD-R といった(*3)ユーザ側でライトできるメディアでは追記を行いたいという要望がありました(*4)。それを実現するのがマルチセッション(Multi Session)です。

  • このマルチセッションを構成する方法には以下の2種類があります。
    • トラックアットワンス(Track At Once)
      • パケットライト(Packet Write)もデータ単位の違いだけでトラックアットワンスと同様
    • セッションアットワンス(Session At Once)

トラックアットワンス
  • トラックアットワンスは文字通りトラック...データ単位でディスク書き込みを行う仕組みです。


  • Figure 5 : トラックアットワンス(First Session)

  • ドライブのレーザーをON/OFFするための領域としてlinkブロックを付加した状態でデータが書き込まれます。ただし、セッション全体のデータは確定していないので、TOCは領域だけ確保され内容は書き込まれていません。

  • そしてセッションクローズ(Session Close)...セッションが閉じられる前は、データの境界情報を持っているのは書き込みを行っているアプリだけなので、他のPCに持っていってもデータを読むことはできません。セッションクローズによってTOCの内容を含めたセッションデータを完成させ、ようやく汎用で使えるディスク(*5)となります。

  • そして新たなセッションの追加ですが、ファイルシステムに認識させる論理フォーマットでは、前セッションのデータ参照を入れることができます。これによってセッション間のデータを連携することができます(*6)


  • Figure 6 : トラックアットワンス(Second Session)

マルチセッションのTOC読み込みはアプリ毎に異なる
  • セッションアットワンスの話をする前に、トラックアットワンスやセッションアットワンスで作成されたマルチセッションディスクの読み込みについて説明します

  • マルチセッションのディスクを読む場合ですが、これはアプリケーション毎に異なりファイラアプリは最後のTOCだけを参照」してデータの構成を行います。Figure 7 の例では data 1/2/3全てが読み出されます。(その際、linkブロックは適宜無視されます。)


  • Figure 7 : ファイラアプリは最後のTOCを参照

  • 一方「音楽再生アプリ/CDプレイヤーは最初のTOCだけを参照」します。着目するTOCがファイラアプリと異なるのです。Figure 8 の例では track 1/2だけが読み出されます。


  • Figure 8 : 音楽再生アプリ/CDプレイヤーは最初のTOCを参照

  • 上図でお気付きの方もいると思いますが、オーディオCDとしてデータを読んだ場合linkブロックが残ります(PCMから見て区別が無い)。想定外の無音区間(運が悪いとノイズ)になるので、そもそもオーディオCDをトラックアットワンスで作成するのはNGです(*7)

セッションアットワンスとCD-EXTRA
  • 最後にセッションアットワンスですが、これはデータ書き込み毎にセッションクローズする方法です。他PCでの読み込みトラブルは起きにくくなりますが、リードイン/リードアウトのデータも小さくないので、こまめな書き込みには向いていません。

  • ですが先ほど説明した「マルチセッションではアプリ毎に扱うTOCが異なる」ことと、セッションアットワンスを組み合わせることで少し面白い機能が実現できます。それが CD-EXTRA です。


  • Figure 9 : セションアットワンスとCD-EXTRA

  • 音楽再生アプリ/CDプレイヤーは最初のTOCを読みます。セッション単位で書き込んでいるのでlinkブロックも無く、セッションとしては完全なマルチトラックのオーディオCDです。

  • そして次のセッションにはシングルトラックのデータが書き込まれます。最初のセッションとデータの関連性は全くありません。ファイラアプリは最後のTOCを読むので、2番目のセッション内データがファイラから認識されます

  • よって、2番目のセッションに置くデータとして。おまけの動画ファイルや画像を入れればCD-EXTRAになります。
    • 音楽再生アプリ/CDプレイヤー : 最初のセッションオーディオCDとして扱う
    • ファイラアプリ : 最後のセッションデータCDとして扱う

最後に
  • 今回で「イメージファイルとオーディオCD」シリーズは終了になります。最後はイメージファイルの話がないのでタイトル詐欺っぽくなっていますが「イメージファイル化したい対象メディアの話をしている」とご理解ください。

  • そしてコンテンツ作りで現実逃避していたので、CDデータ取り込みが進んでいないことを思い出し、ちょっとブルー...
Notes
  • 「全て」ではありません。
  • EAC等細かく設定できるアプリもありますが、これがデフォルトです。
  • CD-Rとか、DVD-R, +R .... メディアの種類はすごく多いので、このあたりは適当です。
  • バックアップメディアに光磁気系ディスクを使う...そんな時代もあったなぁ。だから過去形。
  • セッションクローズがリードアウトの追記だけで、TOCの確定をファイナライズと呼んで別扱いにしているソフトもあったためトラブルの温床でした。
  • CD-ROM用初期のドライブは、そもそもマルチセッションに対応していないため、先のセッションクローズと重なってトラブル多発でした。
  • ですが、もうオムニバス的にオーディオCDを作る人は「ほとんどいない」と思います。
Copyright(C) 2020 Altmo
本HPについて