動き推定2

動き推定の続き。
前回書き忘れていたが、H.264で動き推定が4分の1画素単位なのは動画圧縮においては、それ以上の精度は動きベクトルを保持することにより生じるビット量と動きベクトルを用いることにより減らせるビット量が変わらなくなってくるから。さらに6タップのFIRだったり平均化で画素を補間しているのは、ここで処理量を増やすわけにはいかないから。
画素の補間は通常は3次スプラインだとかlanczosだとかバイキューブリックだとかを用いる。サンプリング理論的にはsinc関数を補間に用いるのが正しい。ただしsinc関数はコンパクトサポートでない。つまり有限の区間で0にならない。よって多くの場合はsinc関数に近似しながらコンパクトサポートな関数(バイキューブリックやlanczos)を用いて補間を行う。ただし有限長で計算を打ち切っている都合上、リンギング等のノイズが発生することがあるので注意。
あと、OpenCVを用いた、動き推定というかオプティカルフローのサンプルがあったので紹介しておく。
opencv.jp - OpenCV: オプティカルフロー(Optical flow)サンプルコード -