vedio compression
-
在大部分的連續影格中,影格間差異是非常小的
-
一個好的影片壓縮技術,應該利用 temporal correlation(時序上的相關性)來降低影片資料量,去除重複性
-
相鄰之 frame 相差不大,每一個 block 的灰度值相減平方(平均方差),差異通常不大
-
motion estimation(移動的估算) :
-
在範圍內(紅框)暴力式搜尋前一個frame與後一個frame內容最相似的block,在前一個frame的搜尋範圍與後一個frame是相同位置。
-
搜尋是一格一格對映,設置運動向量(u,v),這種搜尋是非常time-consuming(耗時)
-
差異性過大就用傳統編碼,若差異性小就用inte-frame compression
-
-
什麼時候p值可以小一點?
-
例如 :在新聞播報時,背景都不變,搜尋範圍可以小一點
-
但若是播報運動畫面,若球員跑的速度很快,搜尋範圍太小,根本無法在畫面間找到該球員
-
-
inte-frame compression (畫面間的壓縮) :
-
在範圍內(紅框)尋找前一個frame與後一個frame內容最相似的block (inte-frame redundaccy),若前一 frame的(5,7)與後一 frame (3,2) 相近,將前frame的(5,7)作為參考的 block,計算motion vector(移動向量) (5-3,7-2) = (2,5)相位差,(3,2)只要加上相位差就可得知自己的樣子。若是frame間有些微差異(通常是如此),除了motion vector之外還要記錄差異值
-
-
human vision system( HVS ) : low pass filter,人類對低頻資料的感知能力會比高頻高很多,(對高頻insensitive(不敏感的)),例如 : 為什麼影片會有動的效果,是因為照片快速波放下,人類肉眼對高頻感知能力不夠快,產生視覺暫留
-
雙向參考 : 參考前一張frame和後一張frame
-
這裡只介紹了基礎的參考frame的壓縮,還有更多更複雜的參考方式,例如參考前兩張等等
MOTION JPEG
-
motion vectors would be zero for static background(差異性零)
-
block matching
-
matching criteria
-
原則上不能找到完全一樣的區塊,所以尋找close block(接近的區塊)
-
minimu mean square
-
搜尋範圍建議左右兩邊各 60 pixels,上下各30pixels
-
水平搜尋範圍與垂直搜尋範圍不同,在真實畫面中,通常水平的移動會比垂直快速(重力影響)
-
residuals(剩餘值);差異值以及best matching block
MPEG
-
mpeg每個區塊都是16*16,用yuv紀錄,我們會將16*16切成四塊8*8,y完整保留,而uv會以四分之一資料量紀錄(8*8為一塊),稱4 : 1 : 1 ,肉眼看不出來,工業上有一些4:2:2之類的,通常灰階不會降,都是4
-
VHS / VCD Quality : (640*480 , 1.5 Mbps) ,早期
-
DVD : 720p, 4.0~4.5 Mbps
-
MP3 : 稱為MPEG3是錯的
-
三種frame
-
I frame :畫面作完整編碼
-
P frame : 參考前面的I 或 P frame
-
B frame : 雙向編碼,參考前面或後面的I 或 P frame
-
精準度 : I > P > B
-
-
顯示的次序與編碼次序不同,為何?因為編碼次序需要為 I先 >> P中 >> B後 ( 因為P會參考前IP,而B會參考前後IP )
-
GOP(Group of Picture)
MPEG Structure Coded Bit - Stream(編碼時的資料結構)
-
一個影片30000frames,會將幾個frames分隔,例如13個frame一個GOP,一個GOP如上圖,切割每一個畫面由很多slice構成,等等等,最小最小單位是8*8區塊,如圖:
-
有幾種
-
MPEG - 1
-
MPEG - 2
-
MPEG - 4 : 現在最常使用(例 : H264, HEVC = H205)
-
MPEG - 7
-
MPEG - 21
-
會考:
什麼是量化?
CBR
VBR
霍夫曼
等等等...