引用:
Originally posted by lwb
>這個功能是以 field 為單位作壓縮,在遇到交錯畫面時,因為畫面交錯,以 frame 壓縮會造成畫面複雜度增加,不利壓縮,如果拆成兩張獨立的 field 壓縮,各個 field 都是無交錯的畫面,壓縮起來的效果較好。
據我所知(從XviD討論區)不是這樣(那是Mpeg2的作法)
MPEG4的Interlace支援是以Macroblock為單位,Encoder若發現某一Macroblock可能有Interlace就可以標注此Macroblock為Interlaced Macroblock,並且用Interlaced DCT轉換此Macroblock到Frequency Domain再進行Quantize與壓縮
(當然,兩種DCT轉換各試一次看哪種效果較好也可以啦,只是比較慢)
|
呃,可能我那樣解簡略的說法會引起誤會 ^^;
「概念上」是拆成兩個獨立的 field 壓縮,「實際上」所有判斷處理的工作都是 macroblock basis,根據畫面是 progressive 或是 interlaced 來決定要使用 "frame-based DCT",還是 "field-based DCT"(這兩個是正名)。這個作法 MPEG-2、MPEG-4 都是一樣的。所不同的只是 MPEG-2 比 MPEG-4 在 MC 的部分,還多了 Adaptive frame/field prediction(field 使用 16x8 的 MC 而不是 16x16)。但是不知道為什麼,XviD 好像也可以用 frame/field prediction 的 MC(因為 XviD 可以選用 MPEG 的 Quantization Type 的關係嗎?關於這點我不是很清楚,請前輩們再幫忙補充),不過 XviD 的開發團隊目前還是沒有把 field prediction MC 給實作出來。
如果 RMP4 有作出 field prediction MC,那麼 RMP4 的 interlacing mode 應該會比 XviD 好。至少有一點可以確定的是 RMP4 作出了在 XviD 上沒有的 vertical scan(取代原本的 zig-zag scan)的功能,這對 interlacing mode 的品質大有幫助,所以小弟大膽的推測,RMP4 的 interlacing mode 會優於 XviD。
小弟之前的說法不夠精確,可能會造成誤解,在此向大家致歉。
也許直接用英文 "frame-based"、"field-based" 來解說會比較好一點? ^^;
不過事實是 RMP4 多作出了一些功能,尤其是 b-frame ...
(我上面那句,好像已經認定 RMP4 是偷 XviD 來的了...

)