レオン ≡ほのぼのブログ≡ -4ページ目

レオン ≡ほのぼのブログ≡

毎日のささいな出来事を書いていきたいと思います★
良かったら見てください♪♪♪



HMで動きベクトルや参照ピクチャが正しく検出できたところで,それらを用いて画像上に動きベクトルなどを描画してみた






まず,HMの設定はRANDOM_ACCESSとする.
フレームの符号化順は
0, 8, 4, 2, 1, 3, 6, 5, 7, 16, 12, …
のように,階層型Bフレームを考慮した符号化順となっている.




以下に示す色についての説明を記す.
①実験図はPU(Prediction Unit)ごとに白色で分けられている.
②各PUについて,双方向予測の場合は赤色単方向予測の場合は青色に塗る.双方向・単方向のInter予測でない場合は黒色に塗る.
単方向予測ならば,青色で動きベクトルの矢印を記す.
④双方向予測ならば,赤色でL0(参照ピクチャリストL0)の動きベクトル青色でL1(参照ピクチャリストL1)の動きベクトルの矢印を記す.


今回は,BQTerrace(1920x1080画素, 60fps)を用いる.
画像の特徴としては,背景が右上から左下へ動いている.


んで,その結果画像
まずは,8フレーム目
参照ピクチャはL0: 0フレーム, L1: 0フレーム


$レオン ≡ほのぼのブログ≡-PuMvRefBQTerrace_1920x1080_60_08



画像サイズが大きいからか,動きベクトルの値も大きくなっている
BQSquareと異なり,ほとんどがInter符号化で双方向予測である



次は、4フレーム目
参照ピクチャはL0: 0フレームと8フレーム, L1: 8フレームと0フレーム


$レオン ≡ほのぼのブログ≡-PuMvRefBQTerrace_1920x1080_60_04



特にいうことないかな



最後に2フレーム目
参照ピクチャはL0: 0フレームと4フレーム, L1: 4フレームと8フレーム


$レオン ≡ほのぼのブログ≡-PuMvRefBQTerrace_1920x1080_60_02



特にいうことないかな
(ヾノ・∀・`)ナイナイ









HMで動きベクトルや参照ピクチャが正しく検出できたところで,それらを用いて画像上に動きベクトルなどを描画してみた






まず,HMの設定はRANDOM_ACCESSとする.
フレームの符号化順は
0, 8, 4, 2, 1, 3, 6, 5, 7, 16, 12, …
のように,階層型Bフレームを考慮した符号化順となっている.




以下に示す色についての説明を記す.
①実験図はPU(Prediction Unit)ごとに白色で分けられている.
②各PUについて,双方向予測の場合は赤色単方向予測の場合は青色に塗る.双方向・単方向のInter予測でない場合は黒色に塗る.
単方向予測ならば,青色で動きベクトルの矢印を記す.
④双方向予測ならば,赤色でL0(参照ピクチャリストL0)の動きベクトル青色でL1(参照ピクチャリストL1)の動きベクトルの矢印を記す.


今回は,BQMall(832x480画素, 60fps)を用いる.
画像の特徴としては,背景は動かず,手前の男性と女性が右へ動いている.


んで,その結果画像
まずは,8フレーム目
参照ピクチャはL0: 0フレーム, L1: 0フレーム


$レオン ≡ほのぼのブログ≡-PuMvRefBQMall_832x480_60_08



フレームが離れているので,Inter予測を使わずに,Intraになっているところも多い
ほとんどが過去の左を指している



次は、4フレーム目
参照ピクチャはL0: 0フレームと8フレーム, L1: 8フレームと0フレーム


$レオン ≡ほのぼのブログ≡-PuMvRefBQMall_832x480_60_04



物体の境界部分が細かいPUとなっている.
赤色のベクトルと青色のベクトルはそれぞれL0とL1のピクチャをあらわすので未来と過去のフレームを使っているので,動きベクトルの矢印は逆方向になっていることが分かる.



最後に2フレーム目
参照ピクチャはL0: 0フレームと4フレーム, L1: 4フレームと8フレーム


$レオン ≡ほのぼのブログ≡-PuMvRefBQMall_832x480_60_02



動きベクトルの値が4フレーム目より小さい




今後,ほかの解像度の結果も載せる







HMで動きベクトルや参照ピクチャが正しく検出できたところで,それらを用いて画像上に動きベクトルなどを描画してみた






まず,HMの設定はRANDOM_ACCESSとする.
フレームの符号化順は
0, 8, 4, 2, 1, 3, 6, 5, 7, 16, 12, …
のように,階層型Bフレームを考慮した符号化順となっている.




以下に示す色についての説明を記す.
①実験図はPU(Prediction Unit)ごとに白色で分けられている.
②各PUについて,双方向予測の場合は赤色単方向予測の場合は青色に塗る.双方向・単方向のInter予測でない場合は黒色に塗る.
単方向予測ならば,青色で動きベクトルの矢印を記す.
④双方向予測ならば,赤色でL0(参照ピクチャリストL0)の動きベクトル青色でL1(参照ピクチャリストL1)の動きベクトルの矢印を記す.


今回は,BQSquare(416x240画素, 60fps)を用いる.


んで,その結果画像
まずは,8フレーム目
参照ピクチャはL0: 0フレーム, L1: 0フレーム


$レオン ≡ほのぼのブログ≡-PuMvRefBQSquare_416x240_60_08



双方向予測と単方向予測の比率は半々くらいだろうか
動きベクトルは割とばらばらだが,隣接ブロックは似通ったベクトルとなっていることが分かる.
同じ参照リストなのに動きベクトルの値が異なるのが面白い
RDコストが最小になるようにすれば,正解ベクトルじゃなくてもいいということか



次は、4フレーム目
参照ピクチャはL0: 0フレームと8フレーム, L1: 8フレームと0フレーム


$レオン ≡ほのぼのブログ≡-PuMvRefBQSquare_416x240_60_04



ほとんどが双方向予測となった.
動きベクトルに関しては,ゼロベクトルが多く,変化のある人部分だけに動きベクトルの値が存在する.
赤色のベクトルと青色のベクトルはそれぞれL0とL1のピクチャをあらわすので未来と過去のフレームを使っているので,動きベクトルの矢印は逆方向になっていることが分かる.



最後に2フレーム目
参照ピクチャはL0: 0フレームと4フレーム, L1: 4フレームと8フレーム


$レオン ≡ほのぼのブログ≡-PuMvRefBQSquare_416x240_60_02



さらに動きベクトルの値が減ったと思いきや,動きのあまりないところに動きベクトルが発生している.
たまたま?これでRDコストが減らせる?




今後,ほかの解像度の結果も載せる