HCEncを使ってPAL DVDをNTSCに変換

(6/22 2007 更新 tetsuro)

 必要なツール (すべてフリーソフトです)

 インストールについて

 PALからNTSCへの変換手順(本編のみ)

変換元のPAL DVDは解像度720x576、フレームレート25fps、プログレッシブであることを前提にしています。インタレースである場合は途中でインタレースを解除する必要があります。

  1. PAL DVDをハードディスク上にリッピング(DVDFab HD Decrypter)

  2. 本編ファイルをDGIndexで開く

    通常、本編ファイルは複数あるので、すべての本編ファイルを追加して読込む。

  3. .d2vプロジェクトファイルと音声を保存


  4. AVSスクリプトを作成

    AVSスクリプトは適当なテキストエディタ(メモ帳でOK)で作成します。
    スクリプトの内容はリサイズするだけの簡単なものです。
    LoadPlugin("DGDecode.dll")
    DGDecode_MPEG2Source("[DRIVE]:\[PATH]\[FILENAME].d2v")
    LanczosResize(720,480)
    

  5. HCguiでAVSスクリプトを読込む

    AVSスクリプトを読込むと、下図のように警告が出ます。これは、解像度が720x480なのにフレームレート25fpsでエンコードしようとしているからで、PALにもNTSCにも合わないからです。それは元々承知のことで、この警告は無視して次に設定を行います。


  6. HCguiの設定


    まず「主要」タブで、
    • 「ビットレート」、「プロフィール」は好みに応じて設定します。
    • 「アスペクト比」は元のPAL DVDに合わせて4:3か16:9を選択します。
    • 「雑多」の中で「閉GOP」のみにチェックを入れます。

    次に「設定 1」タブで、
    • 「スキャン方法」を「ジグザグ」に設定します。
    • 「GOP長」は 12 に設定します。(後でDGPulldownを適用するため、12に設定するのが安全でしょう。一応計算上は15でも良いですが...)


    次に「設定 2」タブで、
    • 「VBV 確認」にチェックを入れておきます。
    • 「シーケンスエンドコードを書く」にもチェックを入れておきます。
  7. HCencでエンコード

    上記設定が終わったら、HCguiの「エンコード」ボタンを押して、HCencでのエンコードを始めます。

  8. DGPulldownで25fpsを29.97fpsに変換(プルダウン)

    DGPulldownを使う利点は音声ずれが起きない点にあります。
    したがって、音声のフレームレートを変換する必要がありません。

  9. Muxmanでオーサリング

    DGPulldownで作成した.m2vとDGIndexで分離した音声とをMuxmanで多重化します。

    : DGPulldownで作成した.m2vをCuttermaran1.68aでカット編集するとおかしくなります。Cuttermaranでカット編集する場合はDGPulldownで変換する前の25pの時点で行ってください。

 チャプターポイントを入れる方法

  1. 変換手順 1 でリッピングしたPAL DVDビデオの本編からPgcDemuxによりチャプターポイント(CellTimes.txt)を抽出する

  2. テキストエディタ(メモ帳でOK)でCellTimes.txtを開いて、下記計算式により全てのチャプターポイントのフレーム数を書き換える

    計算式: フレーム数 × 1200 ÷ 1001 (小数点以下は切り捨てる)

  3. 変換手順 9 でMuxmanでオーサリングする際にCellTimes.txtを読込み、チャプターポイントを設定する

 字幕のPAL→NTSC変換方法

  1. 変換手順 1 でリッピングしたPAL DVDビデオの本編からVobSubのVobSub Configureで.idx+.sub形式で字幕ファイルを保存

  2. VobSubのSubResyncで.sst+.bmp形式に変換

  3. IrfanView32で.bmpのサイズを720x574→720x478にリサイズして一括変換(.sstは変換したフォルダにコピーしておく)



  4. .sstファイルをメモ帳で開いて、TV_Type, Pixel_Area, Display_Area をNTSCに合わせて変更する

    例:
    TV_Type PAL → NTSC
    Pixel_Area (2 573) → (2 477)
    Display_Area (0 2 719 573) → (0 2 719 477)
    
    注:
    Pixel_Area (Py0 Py1) と Display_Area (Dx0 Dy0 Dx1 Dy1) は以下の条件を満足しなければならない。
    0 ≦ Py0 < Py1 < BMPの高さ
    0 ≦ Dx0 < Dx1 < 720
    2 ≦ Dy0 < Dy1 < 480(NTSC) | 575(PAL)
    (Py1 - Py0) == (Dy1 - Dy0)

  5. 変換手順 9 でMuxmanでオーサリングする際に.sstファイルを読込み、字幕を設定する