RDシリーズのVRフォーマット解析資料

RDシリーズVRフォーマットしたDVDについて調べてたら、詳しいサイトを見つけたのでメモ。特に「DVD-RAMのIFOファイル」の項は凄く役に立つ。

メモwiki (主にコンピュータ関連) - RD-X4 HDD解析
http://www28.atwiki.jp/jennychan/pages/12.html

VR_MANGR.IFOに含まれるRDシリーズ独自の番組情報について調べてみた。2chや前述のサイトによるとタイトル情報が含まれているブロックは00000130から4バイトで格納先が示されている。数値データは全てビッグエンディアンなので、00 00 3D F6と続く場合は00003DF6を示すことになる。
タイトル情報のブロックはまず2バイトでタイトル数が、さらに2バイトでクリップ数が、そしてタイトル数の数だけ142バイトずつのタイトル情報が続く。クリップってのはいわば未編集部分の単位。CMカットしたりタイトル結合をするとクリップ数は増える。
142バイトのタイトル情報は最初の4バイトがタイトル内に含まれるクリップ数、続く64バイトが記録日時やビットレートなどの情報。これらはメーカーによって異なる模様。続く64バイトがタイトル名。文字コードシフトJIS。続く4バイトがタイトルサムネイルのフレームが含まれるクリップ番号、最後の6バイトはタイトルサムネイルのフレームのタイムスタンプ(日時ではなく、フレーム番号などだと思われる)。
記録日時やビットレートなどの情報の部分(64バイト)は基本的に文字として認識できる20以上のコードばかりで、RDシリーズの場合の内訳は以下のようになっていることが判った。かなりやっつけだけど、とりあえずメモ。

  • ヘッダ(10バイト):「#Toshiba#1」固定。
  • 更新日付(6バイト):YYMMDDの数値文字列で示す。071112→2007年11月12日
  • 更新時刻(6バイト):HHMMSSの数値文字列で示す。150903→15時9分3秒
  • 放送種別(4バイト):0000→地上アナログ、0002→BSアナログ、0003→BSデジタル、0004→地上デジタル、0005→110度CSデジタル、0300→ライン入力3
  • チャンネル下位2桁(4バイト):チャンネル番号の下位2桁を16進数にした文字列。ライン入力もしくはチャンネル不明の場合は0000。1〜9ch、301〜309ch等→0001〜0009、10ch〜15ch→000a〜000f
  • 録画日付(6バイト):YYMMDDの数値文字列で示す。071112→2007年11月12日
  • 録画曜日(4バイト):0001→月、0002→火、0004→水、0008→木、0010→金、0020→土、0040→日
  • 録画開始時刻(4バイト):HHMMの数値文字列で示す。0003→00:03
  • 録画終了時刻(4バイト):HHMMの数値文字列で示す。0003→00:03
  • 記録モード(1バイト):0→SP、1→LP、2→ジャスト、3→MN、4→--
  • ビットレート(2バイト):10→1.0、22→2.2、46→4.6、92→92、-1→--
  • 音声モード(1バイト):0→M1、1→M2、2→L-PCM、3→--
  • ジャンル(4バイト):3000→ジャンルなし、3064→映画全般、3044→音楽全般、3034→ドラマ全般、3074→アニメ/特撮全般
  • コピーフラグ補助?(1バイト):0→コピー可、4→コピー不可
  • 高レート節約(1バイト):00→切、01→入
  • コピーフラグ(1バイト):上位ビットから5ビット目が1ならコピー不可の模様。0、4、5、6→コピー可、>→コピー不可
  • DVD-R互換モード(1バイト):1→切、4→入(主音声)、5→入(副音声)
  • チャンネル上位1桁(3バイト):「 0 」→0xx、「 1 」→1xx、「 3 」→3xx

過去にRD-XS53RD-X6でHDDからDVD-RAMへコピーフリーな番組を高速ダビングした際に、何故かコピー不可になってしまう現象に何度か出会ったことがある。内容そのものにコピーワンスの暗号化がかかっているのでなければ、コピーフラグの上位ビットから5ビット目を0にすればコピー可になる模様。(例えば「>」(3E)なら「6」(36)に書き換える)それでもダメなら、コピーフラグ補助?も書き換えるのが吉かも知れない。ただ、こちらはどういった構造になっているのかまだよく判っていない。