« テクスチャマッピングの高速化 その3 | メイン | VRAM 容量を考える »

2008年02月26日

吉里吉里 ムービー拡張日誌2:: アルファムービーをやや強引に入れるアイデア

    

Motion JPEG フォーマットにして、アルファ付きムービーを実現する方法を考えていたけど、Motion JPEG だと圧縮率が低いのが難点。
そこで他の動画フォーマットにアルファ情報を加える方法を考えていた。
ただ、動画のデコードはそこそこ重いので、別ストリームにして2つ同時再生は少し辛いのではないかと思う。
だから、アルファのストリームは簡易的な圧縮方法で格納しないと難しいだろうということで、Theora の圧縮方法を見ながら、そこからいくつか機能を削って軽くする方向で考えていて気付いた。

YUV 4:2:2 にして、その中にアルファ入れてしまえばいいんじゃないか?と。
MPEG I は YUV 4:2:0 のみだけど、Theora は YUV 4:2:2 も選択できる。

YUV 4:2:0 とは、輝度に対して、色差の Cr, Cb をそれぞれ 1/4 のサイズで格納する方式。
YUV 4:2:2 は、輝度に対して、色差の Cr, Cb をそれぞれ 1/2 のサイズで格納する方式。
図にすると以下のようなイメージ。

20080226_yuv_alpha_movie.png

図を見てもらえばすぐに気付くと思うが、YUV 4:2:2 で圧縮するけど、実データは YUV 4:2:0 と同じようにCr, Cb をそれぞれ 1/4 にすれば、輝度の 1/2 サイズの領域が残る。
ここにアルファ情報を入れればいいのではないかと思った。
こうすると アルファチャンネルの解像度が横 1/2 になってしまうけど、それぐらいなら大丈夫なんじゃないかなぁと考えている。

今度実験してみよう。



投稿者 Takenori : 2008年02月26日 16:15




comments powered by Disqus
Total : Today : Yesterday : なかのひと