hiroaki
2004-06-15 12:27:40 ( ID:twvtlqwytz6 )
[ 削除 / 引用して返信 ]
DVDソースを元に、RGB(0〜255)(PCスケール)(8bitフルスケール)へYC伸長した MPEG2動画を作りたいのですが、かなり、こんがらがってきています。きっと、ものすごい勘違いをしていると思いますが、どうか、聞いてやってください。
・第一の疑問
TMPGEnc は、たしか、MPEG2 を作るさいにYC圧縮をかけるように記憶しています。(色調補正をいっさいしない場合)
(以前は、ストレート変換の設定もあったように思いますが、これは、なくなっています。)
これは、3.0 XPress でも同様でしょうか?
もし、そうだとすれば、MPEG2 ソースを読み込み、MPEG2 保存した場合、もともと、ぼやけた動画が、さらにぼやけることになりそうです。
ところが、試してみると、そういう風でもありません。
MPEG2 を読み込む段階で、YC伸長しているようでもありません。
これは、読み込むソースが MPEG2 の場合は、YC圧縮しないということなのでしょうか?(元ソースが AVI や、AviUtilプロジェクトだったら、PCスケールの動画が作れない?)
・第二の疑問
単純に使い方の質問です。
TMPGEnc 3.0 XPressには、ITU-R BT.601伸長の設定がありますが、これの使い方は、上 2つのスクロールバーを右へ振り切らせれば、RGB(0〜255) へ伸長されると考えていいのでしょうか?
逆に、左へ振り切らせれば、PCスケール->TVスケールされるでいいのでしょうか?
・第三の疑問
上記、YC伸長後、MPEG2 へ保存した場合、また、圧縮されてしまうのでしょうか?
もし、そうなら、まったく意味がないわけですが、試してみると、伸長された、くっきりした動画ができあがっています。
(ソースが MPEG2 だから、圧縮されなかった?)
(気のせいか、黄色っぽいような気もしますが、自信がない)
目的は、達せられているのでしょうか?色落ちや勘違いなどしていないのでしょうか?
・第四の疑問
MPEG2 保存ではなくて、WMV 保存した場合、この場合は、圧縮されないのでしょうか?
・恐れていること
一番怖い変換パターンは、YC伸長->YC伸長->YC圧縮だと思います。
(たとえば、読込のさいにYC伸長して、保存のさい圧縮してしまう
ような仕様だと、こうなりそうです)
これだと、最初の伸長で、1〜15に伸長された色が、次の伸長で、0(全部黒)になってしまい、最後の圧縮では、やっぱり黒になってしまう。
TMPGEnc は、こういうことにはなってないと思うのですが...
・試したこと
MPEG2 動画を、MPEG-2 VIDEO VFAPI Plug-In 経由で、AviUtil に読込、プロジェクト保存。
そのプロジェクトを、TMPGEnc 3.0 XPress で読込、MPEG2 出力。
このとき、Plug-In の設定で、8bitフルスケールに伸長する設定にしておきました。
ところが、できあがったファイルは、妙に暗い。
伸長されていないのか?それとも、どこかで圧縮されたか?
それとも、これでも、伸長されているのか?
・教えてください
TMPGEnc3.0XPress が、MPEG2 保存時にYC圧縮するというのが、私の勘違いであれば、疑問は、「第二の疑問(使い方)」だけです。
見識者の方、どうか、私の疑問を晴らしてください。
よろしく、お願いします。
ちょうき
2004-06-15 23:37:03 ( ID:6rsdc3tzpv2 )
[ 削除 / 引用して返信 ]
XPRESSでは0〜255状態のMPEGファイルを作る事はできません。
これはXPRESSが圧縮時にRGB0〜255状態の物は16〜235に圧縮しYUV化するためです。
PlusにあったBasicYCbCrで出力のオプションは無くなりました。
XPRESSではユーザーが意図的にRGBコンプレスレンジ(16〜235)で入力しない限り正しくエンコードされます。(除くCanopusDVコーデック)
まずCanopusDVコーデックでの話。
基本的にあれはCanopusのDVコーデックがRGBで出力する際にRGBコンプレスレンジ(0〜16実データ235〜255)で
出してしまうために救済措置として有った(当時に付けて貰った)オプションですね。
しかし、XPRESSではYUV読み込みが出来ますので16〜235で取得し、そのまま16〜235のMPEGに圧縮されます。
ただし、この際、途中にRGB変換の入った処理が行われるとRGBモードで動くために自動で16〜235が
MPEG圧縮時にさらに圧縮され32〜229かな?にされてしまいますね。
これは進めていると聞いているXPRESSの全フィルタYUV化が完了すれば問題なくなりますね。
それまではRGBモードで処理しなければならない時はCCIRで伸張をかけた方がいいでしょうね。
一般的なMPEGやAVI(YUVでデータを取得できるもの。(無圧縮AVIはRGB出しか取れない))
YUVで取得できる物は先ほどと同じ用にYUVで処理されますので16〜235で取得され16〜235で
出力されます。
途中にRGB処理が挟まればRGBモードになり、16〜235のデータはRGBフルレンジ(0〜255)
で扱われ、エンコード時に16〜235に圧縮されます。
第一の疑問への解答
XPRESSではYUVで処理されるために16〜235のまま取得されそのまま16〜235でエンコードされます。
RGB処理の必要なフィルタを使った場合0〜255に伸張され取得し、エンコード時に16〜235で圧縮されます。
AVIUTLのプロジェクト、DVD2AVIのプロジェクト、DirectShow読み込みなどはVFAPIなので
RGBモードで処理されます。ですので取得時にすでに0〜255のデータとして扱われますので
エンコード時に圧縮され16〜235になります。
ちょうき
2004-06-15 23:37:12 ( ID:6rsdc3tzpv2 )
[ 削除 / 引用して返信 ]
第2の疑問への解答
CCIR601フィルタは入って来たデータに対し、右全開にすると16〜235が0〜255になる計算で色補正します。
左に振れば0〜255が16〜235になる計算で色補正されます。
0〜255のデータを右全開にすれば-16〜271?になりますがXPRESSでは0未満256以上はエンコード時に切り捨てられるようです。
第3の質問への解答
YUVで取得している状態ではデータが16〜235です。
途中にRGB処理を挟んでいる場合はCanopusDVのような特殊なAVIを除き自動で0〜255になっているので
自分で伸張する必要は無いはずです。
このYUVで取得しているデータをそのまま手動で伸張し0〜255にすると0〜255のMPEGができます。と思います(^^;
ただ、これは一般的なデコーダーではデコード時に0〜255にさらに伸張しますので再生時に
0〜15、236〜255に有ったデータが消し飛びます。
DVD化しTVでみてもかなりの白飛び黒潰れになるんじゃないでしょうか。
第4の質問への解答
WMVでもRGB0〜255は16〜235に圧縮されます。これはMSのWMVのコーデックの中でですね。
YUVの場合はそのまま保存されると思いますがYUVで0〜255にしているデータがそのままになるのかどうかは実験不足で私には不明です。
>MPEG2 動画を、MPEG-2 VIDEO VFAPI Plug-In 経由で、AviUtil に読込、プロジェクト保存。
>そのプロジェクトを、TMPGEnc 3.0 XPress で読込、MPEG2 出力。
これはMPEGプラグインで16〜235のデータを0〜255にしてVFAPI経由で読みこみますので
データはRGB0〜255になって居ます。
ですのでエンコード時には16〜235に圧縮され一般的なMPEGデータになります。
MPEG-2プラグインでストレート変換に設定している場合は16〜235のRGBとして入力されますので
手動で0〜255に伸張(CCIR601で右へ)した後MPEG圧縮します。これで16〜235のMPEGになります。
ちょうき
2004-06-15 23:48:19 ( ID:6rsdc3tzpv2 )
[ 削除 / 引用して返信 ]
ここまで書きましたが
1個ややこしい点があります。
それはAVIやMPEGデータが規格ではYUV16〜235のはずが、5〜250くらいでキャプチャされたり
0〜255でエンコードされていた場合にRGBモードで処理せねばならない場合です。
実はCanopusDVがRGBをコンプレスレンジで出力するのもこの辺が理由だと思われるのですが
YUVでキャプチャした際に0〜255もデータが有った場合、RGBのフィルタ処理が入ると0〜15、
236〜255が消え去ります。
これがMPEGデータであった場合はDVD2AVIやMPEG-2プラグインでTVスケール、ストレート変換などで
0〜255のRGBに変換した後に入力するしか有りません。
AVIだとお手上げですね。
これらはXPRESSの全フィルタがYUVで動作するようになればYUVはYUVのまま処理されますので
解決されると思われます。
この辺は待ちモードですねぇ。
hiroaki
2004-06-16 00:55:09 ( ID:3uzhk.abofl )
[ 削除 / 引用して返信 ]
ちょうき さん
詳しい説明ありがとうございます。
何をしようとしているかというと、PC でのみ鑑賞するための動画を作ろうとしていまして、0〜255状態のMPEG2が、軽くて、編集用のソフトもそろってていいかなと考えたわけです。ですので、DVD作成や、TVでの鑑賞は考えていません。
何とか、理解しようとしています。
で、少し質問です。(さらに勘違いしてそうです)
>XPRESSでは0〜255状態のMPEGファイルを作る事はできません。
と、あります。
しかし、
>このYUVで取得しているデータをそのまま手動で伸張し0〜255にすると0〜255のMPEGができます。と思います(^^;
とも、あります。ここで、頭をひねってます。
自動で、0〜255 の MPEG は作れないけれども、手動で伸張した場合は、0〜255のMPEGが作れると解釈していいでしょうか?(ちゃんと、0〜15も保存されている?)
次の質問
>RGB処理の必要なフィルタを使った場合
とありますが、これは、どのようなものでしょう?
もし、CCIR601フィルタで、伸張したあとに、そのようなフィルタの処理が入ると、「恐れていたこと」がおこるわけですね?
あれ?ひょっとして、拡張色補正は、最後に入ると決まってるのでしょうか。
>これはMPEGプラグインで16〜235のデータを0〜255にしてVFAPI経由で読みこみますので
>データはRGB0〜255になって居ます。
>ですのでエンコード時には16〜235に圧縮され一般的なMPEGデータになります。
>MPEG-2プラグインでストレート変換に設定している場合は16〜235のRGBとして入力され>ますので
>手動で0〜255に伸張(CCIR601で右へ)した後MPEG圧縮します。これで16〜235のMPEGに>なります。
この前者と、後者で、同じ結果になるはずと考えていいのでしょうか。
どうも、やってみると、後者のほうが明るいような気がします。(なにせ、自信がありませんが)
実は、プラグインでストレートにして、AviUtil で、TV->PC スケールにした場合も、プラグインで変換した場合に比べると、ずいぶん明るいように思います。
これは、このプラグインが、AviUtil や、TMPGEnc と違った動きをしているということなのでしょうか。
ちょうき
2004-06-16 22:33:12 ( ID:6rsdc3tzpv2 )
[ 削除 / 引用して返信 ]
すみません。
豪快に間違いを書いてしまいました。
中の人とfayさんからの突っ込みを頂きまして
CanopusDVはコンプレスレンジで来てしまうのでRGBモード時には
一般人が違和感無く使うために、YUVで取得後にXPRESSでRGB0〜255に変換しているらしいです。
ですので
>この際、途中にRGB変換の入った処理が行われるとRGBモードで動くために自動で16〜235が
>MPEG圧縮時にさらに圧縮され32〜229かな?にされてしまいますね。
これは大間違いでした。
あと。
>>XPRESSでは0〜255状態のMPEGファイルを作る事はできません
>>このYUVで取得しているデータをそのまま手動で伸張し0〜255にすると0〜255のMPEGができ
>>ます。と思います(^^;
>とも、あります。ここで、頭をひねってます。
これですが、これも言葉足らずでした。
RGB0〜255をそのままYUV0〜255のMPEGにする事はできないって話です。
YUVでデータを扱っている場合は0〜255なら0〜255のMPEGになります。
>>RGB処理の必要なフィルタを使った場合
>とありますが、これは、どのようなものでしょう?
フィルタはフィルタのリストの上から順番にかかっているようです。
また、RGBモードになった場合、コーデックからのデータ取得からRGBになりますので
全部RGB処理になります。
ですので現在RGBで処理されているノイズ除去なんかをつかうとフルでRGBで動いていますね。
まぁYUV化されるのも時間の問題だと思いますが。
>どうも、やってみると、後者のほうが明るいような気がします。(なにせ、自信がありませんが)
Aviutl経由だそうですがAviutlでm2v.vfpをm2v.auiに改名して使っている場合はAviutlがYUV読み込みするので
MPEG-2プラグインの変換は働かずAviutlに読み込まれ、コンプレスレンジのままRGBでXPRESSに転送されます。
ですので色の差が出ているんじゃないですか?
hiroaki
2004-06-17 16:29:44 ( ID:twvtlqwytz6 )
[ 削除 / 引用して返信 ]
ちょうき さん
毎度ありがとうございます。
どうも、私は、RGBモードと YUVモードの区別がついていないような気がします。
(ここで、大きな勘違いがありそうです)
>CanopusDVはコンプレスレンジで来てしまうのでRGBモード時には
>一般人が違和感無く使うために、YUVで取得後にXPRESSでRGB0〜255に変換しているらし>いです
これは、つまり、CanopusDV の場合、
読み込んで保存する分には、何も考えなくても、DVD用のMPEGが作れるということですね?
TMPGEnc3.0XPress は、CanopusDV かどうかを自動判別しているのですか?
>RGB0〜255をそのままYUV0〜255のMPEGにする事はできないって話です。
>YUVでデータを扱っている場合は0〜255なら0〜255のMPEGになります。
言葉を変えて(MPEG作成だと話がややこしいので)、確認させていただきたいのですが、
あくまでパソコンで見るための AVIファイル(DivX でもなんでも) を作るとします。
元ソースは、DVD です。
色調補正は、CCIR601フィルタ(YUV)の2つのスクロールバーを右に振るだけで、あとは、AVIで保存すれば、Windows Media Player で見るのに適した動画となる、ということですね。
この場合、すべてYUVで処理されると考えて、
DVD(YUV16〜235)->CCIR601伸長(YUV0〜255)->保存(YUV0〜255)
ということでいいわけですよね。
ノイズ除去のような操作をした場合でも、
DVD(YUV16〜235)->ノイズ除去(RGB0〜255)->CCIR601伸長(YUV0〜255)->保存(YUV0〜255)
であって、とくに問題はない。
もし、ノイズ除去があとなら(実際は先にノイズ除去ですけど)、
DVD(YUV16〜235)->CCIR601伸長(YUV0〜255)->ノイズ除去(RGB0〜255)->保存(YUV0〜255)
これも、問題ないのでしょうか?
ちょうき
2004-06-17 21:44:35 ( ID:6rsdc3tzpv2 )
[ 削除 / 引用して返信 ]
RGBモードはRGB処理の必要なフィルタが適用された場合。
VFAPI経由の場合
無圧縮AVIなどRGBでしかデータが取れない物
等の場合に発動するモードです。
これが発動すると全処理がRGBになり、最期の最期でYUV化されMPEGやWMV、ないしはDivxになります。
>これは、つまり、CanopusDV の場合、
>読み込んで保存する分には、何も考えなくても、DVD用のMPEGが作れるということですね?
CanopusDVでなくてもMPEGやAVIなら何もフィルタ処理しなければ考え無しで普通にDVDにできます。
XPRESSは素人さんが何もしなければしないほど普通に出来るようになっているようです。
>TMPGEnc3.0XPress は、CanopusDV かどうかを自動判別しているのですか?
環境設定を見れば出ていますがAVIはコーデックで見極められて居ます。
>色調補正は、CCIR601フィルタ(YUV)の2つのスクロールバーを右に振るだけで、あとは、
元ソースがDVDで追加ウィザードのDVD読み込みを使っているなら何もしなくていいです。
なぜなら再生時に伸張される事を考えに入れなければならないからです。
YUVの0〜255にするとおそらく再生時に色がすっ飛びます。
さらにビデオカードによってはもういっちょカードで伸張がかかってえらいことになる事も有ります。
>DVD(YUV16〜235)->CCIR601伸長(YUV0〜255)->保存(YUV0〜255)
この処理は恐らく不要です。
>ノイズ除去のような操作をした場合でも、
>DVD(YUV16〜235)->ノイズ除去(RGB0〜255)->CCIR601伸長(YUV0〜255)->保存(YUV0〜255)
ノイズ除去を入れると全部RGBで取得に行くので順番に関係なく
DVD(RGB0〜255 XPRESSで伸張)->ノイズ除去(RGB0〜255)->保存(YUV16〜235)です。
RGB0〜255をYUV0〜255で保存できません。これが一番上のレスで書いた事のです。
hiroaki
2004-06-17 23:32:45 ( ID:3uzhk.abofl )
[ 削除 / 引用して返信 ]
ちょうきさん
おおぼけにつきあっていただき、本当にありがとうございます。
しつこい奴ですが、あと、ほんの少しだけ、おつきあいください。
>これが発動すると全処理がRGBになり、最期の最期でYUV化されMPEGやWMV、ないしはDivxになります。
了解です。
>元ソースがDVDで追加ウィザードのDVD読み込みを使っているなら何もしなくていいです。
ここです。まさに、このとおりやっているわけですが、
ウィザードでDVD読み込みをすると、設定によって、ハードディスクに拡張子MPGのファイルを作りにいきます。これを、たとえば、直接、Windows Media Player で再生すると、くすんだ動画に見えます。しかし、WinDVD で再生すると、くっきりした動画(おそらく、これが正しい色)になります。
上記から推測するに、TMPGEnc3.0XPress は、DVD読み込みのさいに作るMPGファイルでは、DVDオリジナルそのままの色調で、Windows Media Player は再生時に、CCIR601伸長せず、WinDVD は、伸長しているということのように思います。
で、ためしに、ウィザードでDVD読み込みしたと、手動で、CCIR601伸長して、AVIファイルを作ってみると、今度は、Windows Media Player で見た色が、オリジナルを、WinDVDで見た色と同じになります。
ということは、目的の Windows Media Player での再生であれば、CCIR601伸長したほうがよいということではないでしょうか?
DVD読み込み後、ヒストグラムを表示すると、白表示のさい、三色ぴったりと右端へそろっています。
あるホームページで、色調補正は、ヒストグラムで上記のようにあわせると書いてあったので、これが正解だと思いましたが、いかがなものでしょうか?
これが、不正解だと、どうやって色調補正(白補正)したものか... ますますわからなくなりそうです。
ちなみに、Media Player Classic では、Mpeg デコーダの設定に、Y: 16-235->0-255 の設定があります。これを設定すると、WinDVD と同じ見栄えになります。デフォルトは、伸張されません。
これは、Mpeg にのみ、有効なようですから、AVI だと伸張する方法がなさそうです。
ためしに、WinDVD で、伸張ずみの動画を見てみましたら、やはり、伸張されてませんでした。
つまり、再生時に伸張されるのは、Mpeg のみなのではないでしょうか?
もし、そうだとすれば、AVI を作るのであれば、自力で伸張してやる必要があるのではないでしょうか?
おおぼけの可能性大です。どうか、笑って教えてやってください。
hiroaki
2004-06-17 23:36:11 ( ID:3uzhk.abofl )
[ 削除 / 引用して返信 ]
すみません、下訂正です。
>DVD読み込み後、ヒストグラムを表示すると、白表示のさい、三色ぴったりと右端へそろっています。
CCIR601伸長したあと、右端へそろっていると書きたかったです。
失礼しました。
ちょうき
2004-06-22 22:44:35 ( ID:6rsdc3tzpv2 )
[ 削除 / 引用して返信 ]
基本的に見る人の環境に依存ですので、軽くエンコードしてみて、
自分の環境で綺麗に見えるように保存するのがいいんじゃないかなと思います。
VGAカードを買い換えるだけで一変しますから(^^;
ギリギリいっぱいまで攻めていると環境が変わると飛んじゃったりするかもしれないので
すこし押さえ目がいいんじゃないかなとは思います。
hiroaki
2004-06-23 08:24:43 ( ID:twvtlqwytz6 )
[ 削除 / 引用して返信 ]
ちょうきさん
了解です。納得いたしました。
結局のところ、王道や定説がないみたいで、自分(他人も?)の目で見て判断するしかなさそうですね。(一番苦手なところです(笑))
つきあっていただいてありがとうございました。
匿名希望さん
2004-06-29 06:29:30 ( ID:9l9saaze/vc )
[ 削除 / 引用して返信 ]
いろいろ参考になりました。
環境によって色が変わるのは仕方ないし、妥協も必要ですけど、カラーマッチング(キャリブレーション)はやらないと駄目だと思いますよ。
編集するPC(モニタ)と再生する環境が違う場合、せっかく行った作業が無駄になってしまいますから・・・。
環境を変更する予定がある場合は必須だと思います。
実際、自分自身は明るめ(コントラスト高め)が好みなので、そのあたりを脳内補正して映像を見ないといけないって事があります。
|