QTheora (0.9.0) | 2009-09-09 12:00 |
この段階で、ビットストリームのデコードは完了し、フレームの再構築が行われる。
Block の画素値の予測方法については、以下の通り。
INTRA モードのデコードに使用される。全ての画素値を 128 で予測する。
動き補償のモードで使用される。Motion Vector が全画素精度のときに使用する。
参照フレームの画素値を、そのまま予測値として使用する。参照フレーム外の参照も 許される。参照フレーム外の画素は、フレーム内の最近傍画素を参照する。
動き補償のモードで使用される。Motion Vector が半画素精度のときに使用する。
全画素精度の Motion Vector を2つ生成し、それぞれの画素値の平均値を予測値 として使用する。
量子化された DCT 係数を逆量子化する。量子化マトリクスと DCT 係数マトリクスの 乗算を行う。
逆 DCT によって、Block の画素誤差値を計算する。
逆 DCT の計算アルゴリズムは、厳密に指定され、整数演算によって演算誤差はコントロール されている。
最終的に予測値と誤差値を加算して、フレームのデコード結果を得る。
どの符号化モードでも、NOTCODED となった Block については、参照フレームの該当ブロック をコピーする。
Block 境界の不連続性を緩和するため、Block 境界の画素について Loop Filter の 適用を行う。
それぞれの Block について、水平、垂直方向の境界2画素について、近傍4画素を使用 した線形フィルターを適用する。NOTCODED となった Block については、適用を行わない。
Loop Filtering の効果は、エンコードパラメータによっては、効果なしとなる場合がある。
[PageInfo]
LastUpdate: 2009-05-18 15:45:09, ModifiedBy: noumiakira
[License]
Creative Commons 2.1 Attribution-ShareAlike
[Permissions]
view:all, edit:members, delete/config:members