壓縮解壓算法LZ77算法有許多派生算法(這里面包括 LZSS算法)。它們的算法原理上基本都相同,無論是哪種派生算法,LZ77算法總會包含一個動態窗口(Sliding Window)和一個預讀緩沖器(Read Ahead Buffer)。動態窗口是個歷史緩沖器,它被用來存放輸入流的前n個字節的有關信息。一個動態窗口的數據范圍可以從 0K 到 64K,而LZSS算法使用了一個4K的動態窗口。預讀緩沖器是與動態窗口相對應的,它被用來存放輸入流的前n個字節,預讀緩沖器的大小通常在0 – 258 之間。這個算法就是基于這些建立的。用下n個字節填充預讀緩存器(這里的n是預讀緩存器的大小)。在動態窗口中尋找與預讀緩沖器中的最匹配的數據,如果匹配的數據長度大于最小匹配長度 (通常取決于編碼器,以及動態窗口的大小,比如一個4K的動態窗口,它的最小匹配長度就是2),那么就輸出一對〈長度(length),距離(distance)〉數組。長度(length)是匹配的數據長度,而距離(distance)說明了在輸入流中向后多少字節這個匹配數據可以被找到。
標簽:
算法
LZSS
LZ
77
上傳時間:
2014-01-22
上傳用戶:tzl1975