携帯動画変換君のワイド放送アニメ用設定(PSP用)

Title=AVC 480x270+2/29.97fps/384kbps ステレオ/128kbps
Command0=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -title "<%Title%>" -timestamp "<%TimeStamp%>" -bitexact -deinterlace -vcodec h264 -vprofile main -vlevel 21 -coder 1 -bufsize 128 -g 250 -cropleft 8 -cropright 8 -croptop 60 -cropbottom 60 -s 480x270 -padtop 2 -r 29.97 -b 768 -minrate 384 -maxrate 1200 -hq -muxvb 768 -acodec aac -ac 2 -ar 48000 -ab 64 -vol 512 -f psp "<%OutputFile%>.MP4""

地上派でワイド放送されたアニメを720x480で録画していることを前提にしています。

PSPでは先日のファームウェアアップデートで320x240以上のサイズでのH.264動画を再生可能となったため、PSPの液晶サイズ(480x272)いっぱいにワイド放送のアニメを表示させることを目指します。とはいえ、ワイド放送が横縦比16:9であると仮定すると、横480ドットに対し、縦は270ドットとなり、PSPの液晶サイズより2ドット小さいことになります。ここはいろいろ考えましたが、単純に黒を2ドット足しています。

PSXの標準画質(SP)で録画すると、DVDに書き出す場合に備えて、DVDと同じ720x480ドットで記録されます。テレビ放送の画面は横縦比が4:3なので、記録上の1ドットの形は正方形ではなく、やや縦長になっています。さて、PSPの液晶ではピクセルは正方形ですので、素直に表示するためにはドットの形を正方形にしておく必要があります。一般的にDVDの動画を正方形ドットに直してエンコードする場合には、左右を8ドットずつ削って704x480ドットにし、横方向を圧縮して640x480にすると、歪みの無い正しい画像を得られるとされているようです。これに倣って、左右8ドットずつ削った上で、横方向を480ドットに圧縮します。横縦比を保つため、縦方向も圧縮をします。

さて、縦方向をどうするかという問題なのですが、単純に704x480の画像を480x360に圧縮すると、ワイド放送時に上下に入る黒帯までエンコードすることになり、容量的に無駄になります。画面サイズを16:9の比率にしたいので、最終的に必要な縦のドット数が270ドットであることから考えると、不要なドット数は圧縮後で90ドット、圧縮前に換算して120ドットです。つまり、元の720x480の画像を左右8ドット、上下60ドットずつ削って704x360にしたうえで、480x270に変換すれば良い、という結論になります。

じゃぁ、今までの結論を踏まえて480x270の動画を作ればよいかというとそうでもないようで、縦方向が270ドットということは、16の倍数にならないのでPSP的には問題がある(ということがどこかに書いてあった)ようです(未検証)。なんでも、画像サイズは縦横ともに16の倍数ドットでなければいけないとかなんとか。ということで、480x270に変換したあと、縦に2ドット黒を足して、480x272の動画にしています。最初から480x272に変換してもいいのですが、そうすると画面の横縦比が微妙に16:9にならないというところがどうしても気になったので、このようにしました。気にならなければ、設定ファイルの480x270と書いてあるところを480x272にして、-padtop 2 という部分を削除すればOKのはずです(未検証)。

変換した画像はメモリースティックのルートにVIDEOというディレクトリを作成し、放り込めば良いようです。ファイル名もMAQ00001のような名前に変換しなくても良いみたいです。