[技術]5.1chAACな映像ソースを5.1chWMVにエンコする

「MOONLIGHT MILE」がせっかくのHV+5.1chソースなので、VC-1+5.1chWMAでWMVにエンコードしてみる。1440×1080でキャプったソースをテスト用にAviSynthで24fps化+852×480にリサイズし、WMEで1pass-QB95位でエンコードかけると実時間の二倍ほどでエンコード完了。結構速くて驚く。

心配してた音ズレもないようだが、なんか音の定位が変。一回AACをFAAD2で5.1chWAVEにして、WaveSwapperでCh入れ替えてBeSweetで1ch毎に分離してるのに。改めてCh毎のWAVファイルを聞くとフロント右とセンター、リア右とLFEが入れ替わってる模様。

んで調べてみた。あ、WaveSwapperって5.1chAACのch並びを5.1chAC3の並びに変えてるのね。んでBeSweetを5.1chAC3で無くて6パラアウトWAVEで吐き出す設定にすると、chの並びが5.1chAC3と同じになっちゃうという…。またなんて無意味な。各フォーマットの正しいch並び順は下記サイトが詳しい。

(AviSynth Wiki – GetChannel)

適当なバッチ使ってBeSweetで吐き出した6本のWAVファイルをリネームするか、自分でWMEに食わせる時に意識して並び替えるしかない訳ね。あとで適当なスクリプトでも書いて対処しとこう。表の通りに並べ替えてエンコしなおしたら今度はバッチリである。

ただWMP6.4(いわゆる「Classic」)で再生すると5.1ch→2chのダウンミックスが正常に行われない模様、単にフロントLRの再生しかやってないようで、センターに割り当てられてる音が全然聞こえない、つまり台詞がほぼ全滅。WMP11で再生するとちゃんとダウンミックスするから、これは諦めるしかないのか。

んで現在1440×810サイズでエンコ中なんだが、2pass目の始めとかでWMEがたまに死ぬのはどうにかして欲しい。入力ソースがavsファイルだとスクリプトファイルでバッチエンコードもうまく行かないっぽいし。TMPGencだとその辺りは安定してそうなんだが、WMVで1440×810の出力設定が出来ないんだよなー。確かに810は4ですら割り切れない値だが、そもそもTMPGencのリサイズで1440×810に設定出来るんだからWMVでも設定できるようにしとけばいいのに。それがネックで未だに買えない。

1440×810サイズで2pass VBRなエンコードが無事完了した模様、大体実時間の5~6倍位か。やっぱアニメだと速いなぁ。音声もVBRな5.1chWMAだが音ズレ無し。しかし平均ビットレートを合計8Mbps位にしたのだが、低いところでは3Mbps未満、高いところだと実に30Mbps位までビットレートが上下するのにはちょっとドキドキ。まぁPC、XBOX360両方でちゃんと再生出来たからいいけど。

補足、SDソースな「ロケットガール」、RD-X6から見るとHDMI、D端子問わずD1だとなんかトップフィールドからIP変換してるみたいな妙な絵になるし、D2、D3、D4だと妙なコーミングが出まくりで気になってたのだが、改めてD1で出力してPV3でエンコして、ボトムフィールドから24fps化すると全然コーミングが出ない模様。よってうちの環境では一回エンコードした方が綺麗に見えるという妙な状況に。なんだかなー。

[技術]VC-1コーデックによるWMVエンコードとXBOX360での再生

動画をWMVでエンコードしてXBOX360で見ようというネタ。今の所判ってる事。

– 音声にWMAロスレスを使うと再生出来ない(再生時エラー発生)
– インターレス保持ファイルはまともに再生出来ない(最初のフレームが一瞬表示されるのみ)
– WMA Pro 5.1chはAC-3 5.1chに変換されて光出力から出る

で、WMP11を入れるとコーデックのFourCCが「WVC1」、いわゆるVC-1コーデックになる。詳しくはWikipedia参照。ここにも書いてある通り「FourCC:WMVA」は使わない方が良さげ。

> Wikipedia:Windows Media Video
>

で、WVC1にしても何もしなきゃ今までとエンコード速度は変わらないみたいだが、レジストリに追加設定があって画質を色々細かく弄れるようになってる、この設定を行うGUIフロントエンドも存在する。

> WVC-1 Advanced Settings Editor GUI
>

設定内容の説明は下記サイトが詳しい

> DTVかくし味:WMV9の高度な設定
>

一番のネタが「Compression Optimization Type」、こいつを有効にするとソースにもよるが画質がかなり向上する。自分はライブのエンコードをすることが多いのだが、ライブって大抵バックにスモーク炊いてライトを当てる。こういう部分はブロックノイズが非常に発生しやすいのだが(XviDとか顕著)、こいつを有効にしたWMV9だと綺麗なまんまで暗部の潰れもかなり軽減される。

ただしエンコード速度は無茶苦茶遅くなる。場合によるけど一番軽い設定の4倍以上かかる事も。事前に数十秒のファイルで確認しておいた方が良さげ。

しかしこの設定でエンコードした奴だと、XBOX360でたまに音が止まらずに絵が数秒止まる事がある事が判明。ソースはBS-hiで録画した奴で、「観客席(数百人映ってる)が照明でハイライト飛び状態→照明が弱くなって観客の顔まではっきりと判る」というシーンでかなり再現性高し、そんなシーンは滅多にないんだけどね。

色々調べたら「Compression Optimization Type」で設定される項目のうち、次のどちらかが有効になってると確実にダメな事を確認した、あとキーフレームがTMPGencだとデフォでキーフレームがWMEの3secに比べて8secと長めになってるけど、8secだと一瞬止まるパターンがあった。他にも色々ありそうだなぁ。

– Number of B-Frames
– Force Loop Filter

ただし「Compression Optimization Type」はこれらを含む幾つかのオプションを固定値に設定するだけなので、上の値以外を手動で設定してやればOK。流石にフル設定にはちょっと落ちるっぽいが、設定しないよりは十分綺麗、これでエンコーダの「パフォーマンス」設定を最大限高性能側に振ると速度も我慢できる範囲にはなる。

ちなみに例の「パフォーマンス」設定(コマンドラインだと-v_performance)は「高性能」側に目一杯振っても処理時間の割に画質は落ちないので色々試した方が良い。何もレジストリを設定しない場合は60%位、「Compression Optimization Type」的な設定の場合は20~40%が画質と処理時間のバランスが取れてると思う。

あとTMPGEncにある「画質・動き重視」のパラメータ(コマンドラインでは-v_quality)はWMEにないけど、デフォで75の様子(WMcmd.vbsを見た限りではそう読める)

ただしこの「パフォーマンス」設定と「画質・動き重視」設定も組み合わせによってはやっぱり絵が止まる場合があるのが困りモノ。どちらかを最低設定にすると止まりやすくなる。今回私用したソースでは「画質・動き重視」が75の状態で、「パフォーマンス」が「25%」以下だと止まる。また微妙な。

ここまでしてXBOX360で見る必要があるのか疑問になってきた…。PS3はPS3でH.264ネイティブ対応してて便利そうなのだが、現在の所「インターレス保持ファイル再生不可」「4GB以上のファイルを認識しない」「一旦内蔵HDDに保存する必要あり(XBOX360みたいにPCからストリーミング再生不可)」「マルチチャンネルの音声ソースは2chに強制ダウンミックス」という仕様っぽい。また微妙な。BD-Rにオーサリングして焼けばOKなのかな、それはそれで一枚辺りに大量に詰め込めばコストも安くなっていいかと思うけど。

にしても頻繁にHDサイズのエンコードをやる訳でもないけど、やっぱもうちょい速くなって欲しい。映画とか満足行く画質設定だと丸一日かかるし。

[技術]IE6,7エンジンでWikipediaがやたら重い件の対策

なんか知らんが、ちょっと前からOS起動後にSleipnirからWikipediaを見に行くと、最初の一回だけやたら時間がかかって謎。一回アクセスすれば後はサクサクなんだけど。

調べたらIE6,7エンジンで共通の現象らしい。とりあえずサイトのセキュリティレベルを「中」または「高」に上げれば良いらしい。SleipnirだとURIアクションを有効にしてサイト名を「*wikipedia*」、セキュリティを「中」または「高」にしとけばOK。

最近当てたMSのパッチがなんかあるのか、wikipediaで何やってるかまでは謎。こういうのが一番困るなぁ。

2007/02/14追記:IE6,7のKeepAliveが問題、Wikipedia側のサーバで既に対応済みっぽい。

> 最速インターフェース研究会 :: 最近IE6でWikipedia日本語版の表示が異常に遅いのはKeepAliveのせい
>

PDFを表示させようとすると一時的にブラウザが反応返さなくなるのもコレか。どうにかして欲しいもんだが。

[技術]WMP11とXBOX360とWMV

とりあえずAviSynthの勉強とかやってみる、スクリプトをプレイヤーに投げると実行されるという感覚は斬新だなー。ただWMEがAVSをそのままで喰ってくれないので参照AVI作るしかなかったり。

で、WMP9で出来たのにWMP10を入れると何故か出来なくなってた「2パスVBRでインターレス保持したままエンコード」がちゃんと出来る様になっておりました。てか色々設定増えてるなー。

せっかくなのでフルHDなソースを作ってみてWMEでインターレス保持WVC1エンコード。うぉ死ぬほど再生が重い、映像が全然音に追いつかない(汗) そりゃフルHDで60フィールドソースを30フレームのIP変換やってたら重いだろうが、HD DVDやBDだとこれがちゃんと再生しないとならんのだよなー。DVD出た頃よりハードルが高い気すら。

WMP11ではWindows Media Connect(WMC)が統合されてるのだが、コレのせいでXBOX360からWMP11が見えなくて泣きそうに。結局「WMP11だと共有名称がデフォルトで以前のWMCで作った名前と違うのが出来るので一回XBOX360側で接続設定をやり直さないと繋がらない」というオチ。要するにPC接続に失敗したら「他のPCを探す」を選べば新しい共有名称が出てくるのでそれを選べばOK。単純な話だけど判るまでスゲーかかって泣きそうに。しかしWMCが既にダウンロード停止してるのは心象良くない。

で、XBOX360から無事PCのコンテンツを再生出来るようになったのだが、WVC1でもやっぱインターレス保持なファイルの再生は無理でした。つーかまずサムネイルが表示されない。再生させると最初のフレームだけ表示されて、あとは収録時間経ったら戻るっぽい。むーやっぱインターレス解除しないとダメかー。動画エンコードの世界ではインターレス保持がデフォになりつつあるのだが、対応してくれないかなぁ。

あとはFourCC:WVC1を吐いてくれるWMP11VCMなんてモノが出てきたら非常に楽なんだが、こっちは出そうもない予感。

[技術]音声5.1chなWMVファイルをXBOX360で再生する

遅まきながら、ようやくサーバ側PCに「Windows Media Connect」+XBOX360用パッチをインストール。これを使うのがサーバ側PCのOSをXP対応にした理由(Win2kだとインストール不可)なのだね。これを使うとPC側にあるXBOX360で再生可能なファイルがLAN経由でXBOX360上で再生可能になるソフトである、ちなみに初代XBOXの時も似たような奴があったのだが、この時もサーバ側ソフトがXP専用で使えなかったんだよな…。

開けるポート番号の一覧とかもMSのサイトで調べれば判るから、FWの設定もどうにかなるだろー。と思っていたら何もしなくてもあっさりと繋がって拍子抜け。FWはVB2007の奴使ってるんだが…。なんつうかここまで楽だと「逆に穴があるんじゃないか?」という気分にすらなってくる。

おかげでPC側で共有にしたフォルダ内にあるファイルがLAN経由でXBOX360上でサクサクと再生可能に、対応ファイルの種類が少ないのがちょっとナニではあるが。4GB超えのファイルなんかもあっさりと再生出来るので楽。ちなみにPS3ではまだ光学メディアからのファイル再生は対応して無いっぽいので(USBメモリとかはOK)、LAN内にFTPサーバを立てて内蔵ブラウザからローカルHDDにコピーしてるらしい。早いところ光学メディア対応すればいいのにねー、BD-REメディアからmp4動画ファイル再生可能とかになったら相当面白そうだけど。

これで「エンコードした各種ファイルがXBOX360上で再生出来るか」という検証がかなり楽になった。まずは気になってた「WMA Pro 5.1chを再生するとどうなるか」から検証。しかしこのWMA Pro5.1chなファイルを作るのが面倒くさい。今回取った方法は

– PV3で音声ファイルがAAC-5.1chなソースをキャプチャする
– AviUtlでキャプチャしたファイルからWAVを無圧縮で出力する
– ext_bsで出力したWAVをAAC5.1chストリーム形式に変更
– FAAD 2 for Win32でAAC5.1chストリームを5.1ch形式WAVE形式に変換
– FAAD→BeSweet(AC3) WAVコンバータで上のファイルを自動修正
– BeSweet+BeSweetGUIで5.1ch形式WAVEをCh毎に6本のWAVEファイルに分離
– WMEncoderで上の6本のWAVEファイルを食わせてWMA Pro5.1chファイルをエンコード

あー面倒臭い。上記のやり方はツールによっては省略できる過程があります。未確認だけど。

で、WMA Pro5.1chなファイルは5.1ch未サポートな環境で再生するとちゃんとデコード時に2chダウンミックスするらしい、ちょっと安心。

これをXBOX360上で再生する。お、なんかAVアンプがAC-3として認識してる。試しに拡張ツール入りPV3アプリを立ち上げて光出力を食わせると、ちゃんと「AC-3 5.1ch」と出る。つまりは「XBOX360上でWMA Pro5.1chはAC-3 5.1chにリアルタイム再エンコードして出力される」のか?、オラちょっとwktkしてきたぞ。

で、映像をとりあえずAviUtl+WAV出力プラグインでエンコード。なんか「音声なし」にすると何故か再生出来ないWMVファイルが出力されてしまうので、「WMV Cutter」で完全に映像と音声を分離する。お、今度はちゃんと再生出来るようになった。当然音声無し。

ここで先ほど作った「WMA Pro5.1chな音声ファイル」と「音声なし映像ファイル」を「WMV Creater」で結合する。とりあえずPC上で再生してみる、お、ちゃんと再生出来てますねー。

そして「Windows Media Connect」経由でXBOX360で再生、あ、ちゃんと再生出来た。しかもちゃんと音声がAC-3 5.1chで出力されてるっぽいぞー。AVアンプ側とPV3アプリ上で確認。ちょっと感動。

今回作ったのは5分程度のファイルなんで。音ズレの問題が無いのかとかはまだ未検証。そのうち作ってみますのでお待ちを(WMVエンコードって時間かかるんだよ)、しかしこれで映画とかがきちんと再生出来るようであればスゲェ使えそうな予感。

[技術]Windows Vista Platinum RC1 64bit Edition

HDDを買って容量が余ったので、こないだ落としたWindows Vista RC1を入れてみる。32/64Bit版両方落としたけど、せっかくだから64Bit版を入れるぜ!。

なんかISOイメージの扱いが判らん人が多いらしいが、普通にDeamonToolsでISOイメージを仮想ドライブにマウントして適当なライティングソフトから仮想ドライブをコピー元にするか(オフザフライで十分だと思う)、フリーの「DeepBurner」ってライティングソフトで焼けばOK。後者はフリーの割にはかなり使えるし、相性問題も出にくいのでかなりオススメ。

一時間半ほどでインストール完了。ドライバもUSBのちょっと特殊な奴(指紋認証デバイス、Felicaリーダ、USBドングル)以外はちゃんと純正ドライブが読み込まれて動いた、E-MUのAUDIO I/Fもちゃんと動いたのには感心。

あのクソ重たいβ2に比べたら起動もかなり速くなったし、実際の操作も十分使い物になるレベルでそれなりに好印象。使ってると「PCに詳しくない人にも使えるようにする」「システムに関する箇所を弄る場合は常に確認を求めて安全性を高める」というコンセプトっぽい。XPでもその傾向があるけど、それがさらに進歩した感じ。

新しいGUIシステム「Aero」は流石にちょっと重いが格好はいい。ただAeroネイティブで動かないアプリがあると、フル機能が解除されてウィンドウの半透明機能がキャンセルされるのはなんとも…、たとえばSunのjavaアプレット環境はインストールできるけど、javaアプレットが動いた瞬間にAeroのフル機能が解除されたり。

スタートメニューの「Extrasとアップグレード」から「Windowsマーケットプレイス(英語版)」に行ける。全然存在を知らなかったのだが、多数のWindowsアプリケーションがダウンロード出来る。「Call of Duty2」みたいなメジャータイトルもダウンロード購入出来たり、多数の体験版を落としたり、過去の名作(初代Age of EmpireとかGTAとか)が多数Freeで落とせる辺りちょっと凄い。本数が凄すぎて全部見れないけど、なんか著作権的にかなりグレーっぽいモノがあったりするけど(汗)

WindowsマーケットプレイスはWinXPでも下リンクから行ける。日本語版稼動するんかねコレ? したらかなり凄い事になりそうな予感。

[技術]オリンパス、木材の三次元圧縮成形加工技術を開発

(オリンパス)

コレ面白いなぁ。仕上げ加工って表面塗装あるんだろうか。無かったら凄いかも。

ただコレを使った製品は凄い値段になりそうな…。あと正直いい利用方法が思いつかんというのも。

ちなみにクルマの内装なんかに使うウッドパネルなんかはウォールナットなんかを極薄くスライスしてフィルム状にして、パネルに貼り付けて上からウレタン樹脂とかで塗装した代物なので今回の技術とは根本的に異なる。だから同じクルマで革張り内装と木目内装だったら「貼るモノ」が違うだけだし、「本木目」と「木目調」も貼るフィルムが本物の木から作ったか、木によく似せた印刷物かだけの違いだけ。

本革シートなんかも大抵は皮本体のキズが目立たなくなるようにシボをプレスで付けて、上からウレタン樹脂塗装をして閉じ込めてるだけだから皮本体なんて表面の裏側しか触れない。市販の「皮シート保護クリーム」ってのは一体何で出来てるんだろう、ウレタン樹脂塗装を透過するような特殊なクリームなのか?w (厳密には縫い目の所から皮本体に染み込む事はある)

あとシートサイドとか裏側とかは高級車なんかで無い限りほぼ合成皮、内装が本当に総本革なクルマなんてフェラーリやロールス位のレベルまで行かないと無い。ついでに言うとセンチュリーみたいに「運転手に運転させる車」は一番いい皮が助手席の裏側、つまりオーナーの目の前に回されてたりする…。

[技術]バブルボブルのカスタムMCU解析

日記ネタは一旦テキストに起こしてからMTのエントリ投稿画面にコピペしてるんだが、コピペし忘れてたネタ。

(MAME E2J : August 6, 2006)

すげぇ…、要するにコピー対策のためのカスタムMCUに対して

> チップのパッケージを溶かし、顕微鏡で写真を撮って、ROMの内容を手作業で1bitずつ解読する作業を行いました

という作業を行ったとの事。中国でマンパワー総導入で実際にやったってな話は聞いたことあるけどそれにしても…。

これでバブルボブルに関しては完璧なエミュレーションが可能になったそうで、多分本家タイトーにもカスタムMCUの資料はないだろうから凄い快挙だ、SEGA AGESでもカルテットのプロテクトハッキングが資料も無くて一番大変だったてな話がありましたな。

こういった方々の努力にはつくづく頭が下がる思いだ。この勢いでGaelcoのワールドラリー(日本ではSIGMAが代理販売)も動くようにならんかな…(他人本位な時点で既にダメぽ

[技術]YouOS

(CNET Japan)

要するにブラウザの中で動く仮想OSシステム、ちょっと凄い。

メアドだけでアカウント取れるから、捨てアドでもいいんで一回体験すべきかも。まだちょっと不安定だったり遅い部分があるけど、安定したらリモート環境としては最強ではなかろうか。IRCクライアントで鯖が指定出来ないっぽいのがちょっと残念。

内蔵ブラウザがバカ速いんだがどうも単なるポップアップを利用したシステムっぽいなコレ、つまりIEから立ち上げるとIEエンジンを使ったブラウザがそのまま立ち上がると。そのためポップアップ抑制しているタブブラウザとかだと内蔵ブラウザが動かない(URL入力しても何も出てこない)ので注意。

[技術]古川 享 ブログ: 放送・通信の在り方に関する、私見その9


> 今となっては、720pや1080pのプログレッシブ方式はプラズマや液晶テレビとの親和性、映画やCGなどの映像制作に有利なバリアブル・ピッチによる撮影、パソコンによる編集や再生環境においてその優位性を疑う人は居ないと思うのですが…1998年からこの1999年5月24日までの間、この720pを日本の放送業界から抹殺しようとする「ありとあらゆる活動を展開した集団」がおり、その軋轢の中で多くの人が傷付き市場から去ることになったのでした。

今のHV放送を語る上で「なんでほぼI-P変換が必須な1080i放送が業界標準なんだ」という疑問がずっと前からあった訳だが、ちゃんと良識を持った方々は居たのね。現状には納得し難いけど、こういった事実があると知る事が出来ただけでちょっと嬉しい。ところで1080iを本当にインターレスでフル走査線表示出来る表示機器って売ってたんだろうか、ブラウン管でもプログレッシブ対応の奴は強制I-P変換されてたし。

> さらに、映像圧縮に採用されたMPEG2方式においては、1080iは22Mbpsでは最高品質の映像を表示するも、その転送レートを15Mbps以下まで落としてくると映像が破綻するという現象も既知のことでした。720pはMPEG2による映像圧縮でも15Mbpsでほぼ最高品質を達成し,12Mbpsでもほぼ実用の域を保ち、さらにMPEG2以外の圧縮方式MPEG4、H.264、WMV(現在のVC1)などを使えば8Mbpsから12MbpsでHD放送を伝送できるというのが、私たちの主張でした。

この辺も「現状の地デジの画像が想像以上に酷い」事を考えると深いね。地デジは1440x720pにしときゃ良かったんじゃないかなぁ本当に。

ところでXBOX360のファームアップデートでDVDのVGA出力が720pアップスキャンになったそうで、VGAケーブル持ってるけど使ってない現状としては微妙な所だ。そのうち暇があったら確認しておきたい所ではある。ところでPS3はHDMI出力でDVDの1080pアップスキャンをやるんだよな当然?