亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

字典壓縮方法、字典解壓縮方法與字典建構方法

文檔序號:9379722閱讀:1296來源:國知局
字典壓縮方法、字典解壓縮方法與字典建構方法
【技術領域】
[0001] 本發(fā)明關于壓縮與解壓縮方法,尤其關于字典壓縮方法、字典解壓縮方法與字典 建構方法。
【背景技術】
[0002] 數(shù)位資料壓縮演算法有許多種,有些會導致資料部分失真,有些不會,Lempel-Ziv 即是一種常見的無失真壓縮演算法,它有許多變形,主要特征在于利用字典及字典索引來 代替原資料,舉例來說,所述演算法可掃描原資料,將資料中的獨特且重復的內容(例如單 一符號或復數(shù)符號的組合)儲存于一字典中,并用較精簡的碼字來代替所述獨特內容,藉 此達成無失真的資料壓縮。然而,多數(shù)字典壓縮演算法(Dictionary-Based Compression Algorithm)僅涉及單一層級的字典,亦即均按同樣的單位范圍來進行字典壓縮,鮮有復數(shù) 層級的字典壓縮演算法,更未見三個層級或更多層級的字典壓縮演算法。
[0003] 另外,為節(jié)省微控制單元(Micro Control Unit, MCU)(亦稱為微控制器)的指令 集的儲存空間以節(jié)省成本及/或加快指令集的傳輸效率,指令集的壓縮已是常見的技術, 有些指令集壓縮技術是將指令集壓縮并存放于一非高速緩存(例如閃存或主要動態(tài)隨機 存取存儲器等),而在將指令集載入一高速緩存時再對壓縮后的指令集進行解壓縮,然而, 目前的指令集壓縮技術(例如采用赫夫曼編碼(Huffman Encoding)的壓縮技術)多半具 有下列問題的至少其中之一:解壓縮所需的時間不固定,或說無法事先預估,因此不易評估 運作效率;以及需從壓縮后的指令集的起點或某個編碼區(qū)塊的起點開始解壓縮,不能從任 意編碼單元開始解壓縮,因而降低解壓縮效率。此外,目前的指令集壓縮技術鮮少利用前 述的字典壓縮演算法來對指令集進行壓縮,此部分仍有待研究探討。
[0004] 更多關于字典壓縮演算法以及指令集壓縮技術的內容可由下列文獻得知: Charles Lefurgyj Peter Bird,I-Cheng Chen, Trevor Mudgej "Improving Code Density Using Compression Techniques",Proceedings of Micro-30, Decemberl-3,1997 ; Yoshihisa Mano,Yutaka Sato, "A Data Compression Scheme which Achieves Good Compression for Practical Use",IEEE, 1991〇

【發(fā)明內容】

[0005] 本發(fā)明的一目的在于提出字典壓縮方法、字典解壓縮方法與字典建構方法,以解 決先前技術問題。
[0006] 本發(fā)明提出一種字典壓縮方法,其一實施例包含下列步驟:接收數(shù)位資料,所述數(shù) 位資料包含復數(shù)個資料區(qū)塊,每所述資料區(qū)塊包含復數(shù)個資料單元,每所述資料單元由復 數(shù)個位元組成;以及依據(jù)一多層級字典壓縮演算法壓縮所述數(shù)位資料,其中所述多層級字 典壓縮演算法包含第一、第二與第三字典壓縮規(guī)則,所述第一字典壓縮規(guī)則以N個所述資 料區(qū)塊為單位范圍對所述數(shù)位資料中的第一內容進行壓縮處理,所述第二字典壓縮規(guī)則以 M個所述資料區(qū)塊為單位范圍對所述數(shù)位資料中的第二內容進行壓縮處理,第三字典壓縮 規(guī)則以L個所述資料區(qū)塊為單位范圍對所述數(shù)位資料中的第三內容進行壓縮處理,所述第 一、第二與第三內容不同,所述N、M、L為正整數(shù)且不大于所述復數(shù)個資料區(qū)塊的總數(shù),且所 述N大于所述M,所述M大于所述L。
[0007] 本發(fā)明另提出一種字典壓縮方法,用來壓縮一微控制單元的指令集。所述方法的 一實施例包含:接收所述指令集,所述指令集包含復數(shù)個指令區(qū)塊,每所述指令區(qū)塊包含復 數(shù)個資料單元,每所述資料單元由復數(shù)個位元組成;以及依據(jù)復數(shù)個字典壓縮規(guī)則壓縮所 述指令集,其中所述復數(shù)個字典壓縮規(guī)則包含第一與第二字典壓縮規(guī)則,所述第一字典壓 縮規(guī)則以N個指令區(qū)塊為單位范圍對所述指令集中的第一內容進行壓縮處理,所述第二字 典壓縮規(guī)則以M個指令區(qū)塊為單位范圍對所述指令集中的第二內容進行壓縮處理,所述 第一與第二內容不同,所述N、M為正整數(shù)且不大于所述復數(shù)個指令區(qū)塊的總數(shù),且所述N大 于所述M。
[0008] 本發(fā)明進一步提出一種字典解壓縮方法,用來通過解壓縮產生一數(shù)位資料。所述 方法的一實施例包含:接收一第一偏移量;依據(jù)所述第一偏移量找到一第一編碼單兀,其 中所述第一編碼單元屬于復數(shù)個編碼單元,且所述些編碼單元對應至少三個字典壓縮規(guī) 貝IJ ;依據(jù)所述第一編碼單元決定一字典起始位址;依據(jù)復數(shù)個參數(shù)決定一字典內容位址, 其中所述復數(shù)個參數(shù)包含所述第一編碼單元與所述字典起始位址;以及依據(jù)所述字典內容 位址存取一存儲器以得到所述第一編碼單元所對應的一或復數(shù)個第一資料單元,其中所述 一或復數(shù)個第一資料單元屬于數(shù)位資料。
[0009] 本發(fā)明進一步提出一種字典解壓縮方法,用來通過解壓縮產生一微控制單元的指 令集。所述方法的一實施例包含:接收一第一程序計數(shù)值;依據(jù)所述第一程序計數(shù)值找到 一第一編碼單元,其中所述第一編碼單元屬于復數(shù)個編碼單元,且這些編碼單元對應復數(shù) 個字典壓縮規(guī)則;依據(jù)復數(shù)個參數(shù)決定一字典內容位址,其中所述復數(shù)個參數(shù)包含所述第 一編碼單元與所述字典起始位址;以及依據(jù)所述字典內容位址存取一存儲器以得到所述第 一編碼單元所對應的一或復數(shù)個第一資料單元,其中所述一或復數(shù)個第一資料單元屬于一 微控制單元的指令集。
[0010] 本發(fā)明進一步提出一種字典建構方法,用于數(shù)位資料的壓縮或解壓縮。所述方法 的一實施例包含:依據(jù)復數(shù)個字典壓縮規(guī)則分析所述數(shù)位資料的資料組成及/或壓縮率, 藉此得到一分析結果,其中所述數(shù)位資料包含復數(shù)個資料區(qū)塊,每所述資料區(qū)塊包含復數(shù) 個資料單元,每所述資料單元由復數(shù)個位元組成;以及依據(jù)所述分析結果以及所述數(shù)位資 料建立至少三個字典,所述至少三個字典包含第一、第二與第三字典,分別對應第一、第二 與第三字典壓縮規(guī)則,所述第一字典壓縮規(guī)則用來以N個所述資料區(qū)塊為單位范圍對所述 數(shù)位資料中的第一內容進行壓縮處理,所述第二字典壓縮規(guī)則用來以M個所述資料區(qū)塊為 單位范圍對所述數(shù)位資料中的第二內容進行壓縮處理,第三字典壓縮規(guī)則用來以L個所述 資料區(qū)塊為單位范圍對所述數(shù)位資料中的第三內容進行壓縮處理,所述第一、第二與第三 內容不同,所述N、M、L為正整數(shù)且不大于所述復數(shù)個資料區(qū)塊的總數(shù),且所述N大于所述 M,所述M大于所述L。
[0011] 本發(fā)明進一步提出一種字典建構方法,用于一微控制單元的指令集的壓縮或解壓 縮。所述方法的一實施例包含:依據(jù)復數(shù)個字典壓縮規(guī)則分析一指令集的資料組成及/或 壓縮率,藉此得到一分析結果,其中所述指令集包含復數(shù)個指令區(qū)塊,每所述指令區(qū)塊包含 復數(shù)個資料單元,每所述資料單元由復數(shù)個位元組成;以及依據(jù)所述分析結果以及所述指 令集建立復數(shù)個字典,所述復數(shù)個字典包含第一與第二字典,分別對應第一與第二字典壓 縮規(guī)則,所述第一字典壓縮規(guī)則用來以N個指令區(qū)塊為單位范圍對所述指令集中的第一內 容進行壓縮處理,所述第二字典壓縮規(guī)則用來以M個指令區(qū)塊為單位范圍對所述指令集中 的第二內容進行壓縮處理,所述第一與第二內容不同,所述N、M為正整數(shù)且不大于所述復 數(shù)個指令區(qū)塊的總數(shù),且所述N大于所述M。
[0012] 有關本發(fā)明的特征、實作與功效,茲配合附圖作優(yōu)選實施例,詳細說明如下。
【附圖說明】
[0013] 圖1是微控制單元的一架構的示意圖;
[0014] 圖2是微控制單元的另一架構的示意圖;
[0015] 圖3是本發(fā)明的字典壓縮方法的一實施例的流程圖;
[0016] 圖4是儲存本發(fā)明的壓縮結果的記憶電路的一實施例的示意圖;
[0017] 圖5a是采用全范圍字典壓縮的結果示意圖;
[0018] 圖5b是采用局部范圍字典壓縮的結果示意圖;
[0019] 圖5c是采用全范圍與局部范圍字典壓縮的結果示意圖;
[0020] 圖5d是采用多層級字典壓縮的結果示意圖;
[0021] 圖6是本發(fā)明的字典壓縮方法用于指令集壓縮的一實施例的流程圖;
[0022] 圖7是本發(fā)明的字典解壓縮方法的一實施例的流程圖;
[0023] 圖8是本發(fā)明的字典解壓縮方法用于指令集解壓縮的一實施例的流程圖;
[0024] 圖9是本發(fā)明的字典建構方法的一實施例的流程圖;以及
[0025] 圖10是本發(fā)明的字典建構方法用于指令集的一實施例的流程圖。
【具體實施方式】
[0026] 以下說明內容的技術用語是參照本技術領域的習慣用語,如本說明書對部分用語 加以說明或定義,所述部分用語的解釋應以本說明書的說明或定義為準。
[0027] 本發(fā)明包含字典壓縮方法、字典解壓縮方法與字典建構方法,這些方法可無失真 地壓縮與解壓縮數(shù)位資料(例如微控制單元(Micro Control Unit)的指令集),除能減少 資料儲存所需的存儲器以降低成本,并能從壓縮資料的任意單元開始進行解壓縮,故能讓 實施者正確地估計解壓縮所需的時間。本發(fā)明可應用于一儲存電路(例如圖4的記憶電路 400)或一終端產品(例如包含所述儲存電路的電子產品),且在實施為可能的前提下,本技 術領域具有通常知識者能夠依本說明書的公開選擇等效元件來實現(xiàn)本發(fā)明。本發(fā)明的方法 可以是軟件及/或固件形式,并可藉由通常的微控制單元架構(例如圖1與圖2的微控制 單元架構100、200,包含:存儲器及其控制器110、210 ;系統(tǒng)匯流排120、220 ;指令儲存高速 緩存130、230 ;資料儲存高速緩存140、240 ;與微控制單元150、250)或其等效架構來執(zhí)行, 換言之,本發(fā)明在不更動微控制單元或其等效單元的架構下即可實現(xiàn)。在實施為可能的前 提下,本技術領域人士可依本發(fā)明的公開內容及自身
當前第1頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1