BDMV形式のファイル構成とファイル形式について

BDMV形式のファイル構成とファイル形式について

BDAVに関しては結構情報が出揃っているのですが、BDMVのファイル構成がまとめられているサイトが少ないので自分なりにまとめてみました。
市販BDの中身(AACSの適用されていない範囲内)とWikipedia、TAW6の出力ファイルから読んでいきます。

基本的なファイル構成

Root
└AACS
└CERTIFICATE
└BDMV
 └AUXDATA
 └BACKUP
 └BDJO
 └CLIPINF
 └JAR
 └META
 └PLAYLIST
 └STREAM
 └info.bdav
 └MovieObject.bdmv

AACSとCERTIFICATEの役目

BDAVとも共通になるのですが、こちらはAACS暗号化のためのファイルとなります。
TAW6等のオーサリングソフトでオーサリングを行うと空っぽまたはフォルダ自体が生成されないことになります。
特にPCソフトを利用する人はAACSのバージョンを意識しないと再生できない(ソフトのアップデートが必要)事態に陥ります。

BDMVフォルダの中身

ここからは、BDMVの核となるBDMVフォルダの中身を見ていきます。
BDはただの動画ファイルではなく、いくつかのメタデータの整合性が合わないと再生できません。
ここからはフォルダ名順に中身を見ていきます。

BD-J用の倉庫AUXDATA

こちらはBD-J用のデータを格納します。
一般的なBD-Videoでは空っぽになっていることが多いです。
BD-J対応ディスクではプログラムの中で利用するsound.bdmv(サウンドファイル)や、フォントのデータを入れてあるようです。

BACKUPの持つバックアップデータ

BACKUPフォルダにはバックアップデータが格納されています。
もしもディスクのエラーなどでメタ情報がうまく読み出せない場合はこちらから読み出します。
一般的なディスクでは、「BDJO」「CLIPINF」「JAR」「PLAYLIST」と.bdmvの拡張子データを入れてあります。
BACKUPの名前の通り、元データと同じものをコピーして入れておく必要があります。

BD-JのトリガーBDJOファイル

BDJOフォルダも一般的なBD-Videoでは空っぽです。
こちらは、バイナリファイルになっており拡張子は「bdjo」のファイルが格納されます。
呼び出すjarファイルや起動するクラスの名前などが格納されています。

クリップの情報を格納するCLIPINF

ようやく一般的なBD-Videoで使われるフォルダになりました。
CLIPINFは、BDの形式(BDMVかAVCHDか)、M2TSのストリーム情報などを含んでいます。
M2TSひとつに対してひとつのCLIPINFが作られファイル名はM2TSと共通になっています。
ストリーム情報に含まれる情報は、「ストリームのPID」「ストリームの種類(映像、音声、字幕)」「ストリームの形式(AVC、LPCM等)」「ストリームの言語」です。
映像ストリームには「解像度」「プログレッシブかインタレースか」「フレームレート」「アスペクト比」情報が追加で含まれます。
音声ストリームには、「サンプリング周波数」「チャンネル数(ステレオ、5.1chサラウンド等)」が追加で含まれています。
SnapCrab_CLIPINF Editor v005b_2017-9-24_22-12-1_No-00

BD-Jの核JARフォルダ

Javaのプログラム本体であるjarファイルが保存されています。
こちらも一般的なBD-Videoでは空です。

ディスクに名前をつけるMETAフォルダ

ディスクのメタ情報を収納しているフォルダです。
BD-Videoのタイトルなどをこちらから読み出します。
タイトルとは、ボリュームラベル(マイコンピュータから見れるディスクの名前)とは異なります。
BDレコーダーのUI上やPS4のホーム画面に表示されるタイトルはこのメタデータからとったものです。
XMLファイルで収録されており、すぐに参照できます。
METAフォルダ内にはサムネイルが保存されている場合もあり、こちらもレコーダー等で利用されます。
SnapCrab_CtempBDBDMVMETADLbdmt_jpnxml - Internet Explorer
amarec(20170924-223026)
PS4では、この部分に表示されるタイトル名を記録している。

ビデオの細かい動きをコントロールするPLAYLIST

一般的なプレイリストとしての役割以外に様々な情報(フラグ)を記録しています。
複数のファイルをまとめて1ファイルとする場合もあり、ファイルごとに番号をふるのが主となります。
どのファイルのどこからどこまでが何番のチャプターかの「チャプター情報」が目に見える情報では大きいです。
また、メニューなども動画ファイルとして管理されている関係もありメニューボタンを押したときにどのファイルを読み込むか、ファーストプレイ(ディスク挿入時の著作権表示などに使われる)として使うかどうかが記録されています。
ほかにも再生後の動作はどうするか(停止、メニュー読み込み、次のタイトルへ)、ポップアップメニューを使用するか、PinPを使用するか、リモコンのキーを使用禁止にするかなどなどたくさんのフラグが保管されています。

ビデオファイルの本体STREAMフォルダ

このフォルダに入っているのが、ビデオファイルの本体です。
とは言え、CLIPINFやPLAYLISTと整合性がとれない(ハッシュ値が異なる)と応答なしになるなど不具合が起きます。
中身はM2TSファイルでMPEG2-トランスポートストリーム形式となっています。
基本的な部分では地デジ・BSデジのTSと同じでエラーが起こる(読み込み不良・受信不良)ことを前提にある程度のエラー補正ができるように記録されています。

BDMVで使用できるコーデック等

映像フォーマット

  • MPEG2
  • H.264
  • VC-1

一般的には、圧縮率の高く汎用性のあるH.264が用いられる事が多いです。
x264でもオプション設定をしっかりすると、BD規格向けのH.264ファイルを生成することができます。

使用できる解像度

以下の解像度、フレームレートが使用できます。
1440×1080は16:9のアスペクト比にコンバートされます。
SD画質の720×480、720×576はメタデータで4:3か16:9かを指定します

  • 1920×1080 59.94i(30000/1001、NTSC)50i(PAL)
  • 1920×1080 24p、23.976p(24000/1001)
  • 1440×1080 59.94i(30000/1001、NTSC)50i(PAL)
  • 1440×1080 24p、23.976p(24000/1001)
  • 1280×720 59.94p(60000/1001、NTSC)50p(PAL)
  • 1280×720 24p、23.976p(24000/1001)
  • 720×480 59.94i(NTSC)
  • 720×576 50i(PAL)

音声フォーマット

  • LPCM(無圧縮)
  • ドルビーデジタル(AC-3)
  • DTS
  • ドルビーデジタルプラス
  • ドルビ
    ーTrueHD
  • DTS-HD マスターオーディオ

ただし、ドルビーデジタルプラス、ドルビーTrueHD、DTS-HDについてはBDプレーヤーによって対応していない場合があり、再生できないこともあります。
このうち、ドルビーTrueHD、DTS-HDは可逆圧縮(ロスレス)でLPCMと同等の音質となります。
ドルビーデジタル系には音声にメタデータを含むことができ、音量の正規化やダイナミックレンジの圧縮などをメタデータで行えます。
一般的なフリーソフトでエンコードできるのは、LPCMまたはAC-3で個人作成のBDはどちらかしか選べないことがほとんどです。
BDAVで利用できるAAC形式の音声は認められておらず、ストリームに使用することはできません。

字幕ストリーム

字幕ストリームは、PGSという規格を使います。
PC上で利用するASSやSRTと異なり、中身は透過情報ありの画像ファイルで文字データとしての記録は一切されていません。
記録される情報は「開始時間」「終了時間」「表示位置」「強制表示かどうか」などです。
強制表示フラグをつけると、字幕の設定のオンオフにかかわらず表示します。
画像ファイルとして保管されるので、フォントの指定や機種依存文字の使用、透過の制御など字幕制作の際の自由度が上がります。