線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3424
推到 Plurk!
推到 Facebook!

run length encoding

尚未結案
nibabakaho
一般會員


發表:13
回覆:6
積分:13
註冊:2006-08-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-05-16 21:12:29 IP:220.138.xxx.xxx 訂閱
我是用RLE來編.raw檔的影像
假設我讀進來的影像像素{100,100,120,120,120,150,150,150}
我就編成2 100 3 120 3 150
不過用這個方式卻是讓檔案變大Orz
我想是因為連續的像素實在太少所造成


後來我想到把每個像素用8bits表示
然後對他編碼 這樣的話就會出來許多0跟1
這樣就能用上面方式編碼
然後我就想我只要記錄1位置 其他都填0就好
不過有些值卻出現超過3個以上的1
所以此方法又宣告失敗
我在網路上看到8bits的bmp編碼方式
類似我第一種作法 所以我怎麼想都覺得應該也不適用
請問一下有做過的大大
run length encoding 你們都是用什麼方式去做??
編輯記錄
nibabakaho 重新編輯於 2007-05-16 21:12:53, 註解 無‧
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-05-17 08:21:52 IP:61.219.xxx.xxx 訂閱
沒有任何狀況下都合適的編碼啦
一種做法是提供幾個參數讓使用者自己選擇壓縮的方式
一種是根據像素多少去選擇不同編碼方式
一種是用不同編碼去壓縮, 然後哪的編法的檔案最小, 就用哪個 (這樣最耗時間)
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
johnpage
初階會員


發表:0
回覆:79
積分:40
註冊:2004-08-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-05-17 09:53:52 IP:220.137.xxx.xxx 訂閱
壓縮針對檔案類型不同 有不同的方式
請注意看最前面的簡介
nibabakaho
一般會員


發表:13
回覆:6
積分:13
註冊:2006-08-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-05-18 00:48:55 IP:220.138.xxx.xxx 訂閱
該看的都看了才來這邊問的阿    =   =
看來也找不到什麼答案 >"<
johnpage
初階會員


發表:0
回覆:79
積分:40
註冊:2004-08-07

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-05-18 07:42:51 IP:218.175.xxx.xxx 訂閱
影像採用的是失真壓縮
而非不失真壓縮
你用的是不失真壓縮
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-05-18 10:02:50 IP:61.64.xxx.xxx 訂閱
可見,你都看了不該看的?
試過霍夫曼嗎?
為何一定要用 run lenght ?
為何一定要用無失真方法?
為何不能混用?

動一下大腦吧!玩一下腦經急轉彎,相信就會有適合的方式「跑」出來


===================引 用 nibabakaho 文 章===================
該看的都看了才來這邊問的阿 = =
看來也找不到什麼答案 >"<
nibabakaho
一般會員


發表:13
回覆:6
積分:13
註冊:2006-08-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-05-18 20:25:16 IP:220.138.xxx.xxx 訂閱
我只想針對 RLE去研究   =   =
如果真的要求壓縮率
當然有其他種方法
我也可以用JPEG去做阿
或者是先對IMG作量化
在用RLE去做
不過我都沒有這樣做 因為我只想做一個用RLE去做無損壓縮
其他的對我來說都是離題 >"<
我是有看到先把IMAGE分成幾個BITPLANE
再分別去壓縮 不過我還沒有試 我也不知道可不可以
arisaka_matsuri
高階會員


發表:25
回覆:205
積分:231
註冊:2003-10-19

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-05-19 14:14:27 IP:218.166.xxx.xxx 訂閱
如果該看的都看了
那應該瞭解 RLE 壓縮法本身的限制
就像你開板時的例子,某些情況下RLE會越壓越大
即使是拆成bitplane來壓縮
我想總效果應該不會有什麼改變
因為bit 0, bit 1和bit 2 這三個 bitplane的 0 與 1 排列較沒規則性(類似雜訊)
用RLE壓縮會非常痛苦

不知道你真正要的是什麼
是壓縮率,還是想用RLE做無損壓縮?
如是前者,抱歉,RLE不符合你的需求(還有可能越壓越大)
如果是後者,又是要適用在8bit的影像
那可以好好的慢慢研究
不是要潑你冷水,只是這麼做很不值得
甚至會沒有結果(非常有可能越壓越大)

你現在得到一個答案了
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-05-19 14:49:36 IP:61.64.xxx.xxx 訂閱
呵呵,看來有人在鑽牛角尖

RLE 明明限制就是那樣,你卻硬要說變大就是失敗,好像變大是一種錯誤,但明明該法有時就是會變大

那不是錯誤,是一種結果,不管你接不接受,永遠都是那樣

同時就算 RLE 的變體很多,該研究過的都研究過了,有那麼難讓你接受嗎?

今天就算讓你找到一種 RLE 方法,可以讓該檔案壓縮到 1: 10
那又如何?
用在別的檔案時,有可能又會變大了,這樣也要宣稱之為失敗嗎?

請用適合 RLE 的圖形,不要把 MP3 拿來壓 word 檔,然後說,恩,壓縮率很糟,大失敗

天下沒有萬用壓縮方法

凡事視情況而定使用適合的演算法則,就是最好的

如果你要用 RLE ,請用個適合在 RLE 下使用的檔案,再來說研究如何如何

請不要拿潛水艇,來研究在天空時的飛行時的狀況,然後說「失敗了」這樣只會讓大家 XXXX

系統時間:2024-04-28 5:45:15
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!