瀏覽單個文章
Adsmt
Golden Member
 
Adsmt的大頭照
 

加入日期: Feb 2004
您的住址: 從來處來
文章: 2,765
引用:
作者EIGHTS
其實我個人是覺得
原始的影片檔紀錄了每一個像素的完整資料
再經過各種壓縮法壓縮成某種格式的影片檔
最後紀錄的還是像素的資料

這部份根本不能算是浮點運算
因為輸入是 Byte 值,輸出還是 Byte 值
影像轉檔不就是從這個格式轉成那個格式
轉來轉去,還是一樣 Byte 值轉 Byte 值

而影像轉檔為加速過程
使用 SSE 這類平行計算的指令
這樣完全不能叫浮點運算

以上是我的看法,有錯請指教

雖然進去是整數資料,最後儲存結果也是整數資料,但運算過程卻是浮點運算。

理由很簡單,因為色彩轉換和值域轉換函數本身就是必須使用浮點運算。例如 DCT, 需要算 consine 值,怎麼可能用整數去算,那不是算出一堆誤差?

至於利用整數去模擬小數做 DCT 運算完全沒必要,因為會更慢。

簡言之,對影像壓縮的 DCT 而言,是經過整數(原始資料) -> 浮點數(運算過程) -> 整數(結果資料)的轉換,你說對了結果,但過程卻錯了。

看一下 DCT 的公式,你就知道為什麼必須使用浮點數運算了。
http://en.wikipedia.org/wiki/Discrete_cosine_transform
舊 2009-02-08, 01:58 AM #37
回應時引用此文章
Adsmt離線中