專利名稱:用于基于幀的程序映像的兩級編解碼器的制作方法
技術領域:
這里的實施例大體上涉及計算機性能、處理系統以及存儲環境。此
(program image)。
背景技術:
現代計算機系統使用存儲系統和設備來保持數據和/或指令。例如, 在基于微處理器的實時產品中,存儲系統的常見例子例如包括磁介質 (例如磁盤)、隨機存取存儲器(RAM)以及只讀存儲器(ROM)。 一般來說,無論存儲空間相對于中央處理器(CPU)或者執行所存儲指 令或以其他方式作用于已存儲數據的其他處理單元位于何處,它都是非 常重要和昂貴的物品。通常,ROM存儲空間往往在物理布局和產品成 本方面均遠高于RAM或》茲盤空間。因而,在滿足實時系統的代碼大小 和其他性能限制的同時,現代計算機系統通常會設法減少所需的ROM 空間量。
一種用于減小存儲器中的文件或程序大小的方法是使用編解碼器 (壓縮/解壓縮算法)。現代編解碼器的一個例子是Limpel-Ziv-Welsh (LZW)算法。通常,編解碼器提供了一種標準化方法來對用于存儲或 傳輸的數據/指令進行編碼,以及對用于操作的數據/指令進行解碼。特 別地,存儲編解碼器通常被設計成減小目標文件的磁盤大小(或者通常 是存儲大小)。
但是,可執行文件有時是作為程序映像中的 一 系列指令而被加載到 存儲器中的。典型的編解碼器應用了繁重開銷,并且所述開銷將會降低 用于這樣的程序映像的編解碼器的效率。例如,低效編解碼器有可能導 致程序大小增加,執行速度減慢,并且在某些情況下還有可能導致存儲 空間增加。
由此,所需要的是提供了改進的壓縮/解壓縮性能以克服先前系統和 /或方法中的至少 一些限制的系統、設備和/或方法。實施例所特有的某些創新特征 而被提供的,并且該概述并不是全面描述。對這些實施例的不同方面的 全面理解可以通過將整個說明書、權利要求書、附圖以及摘要作為整體 來獲得。由此,本發明的一個方面是提供一種改進的壓縮/解壓縮方案。 本發明的另 一個方面是提供一種改進的處理系統。本發明的再 一 個方面是提供 一種改進的基于幀的程序映像處理系統。現在,上述方面以及其他目標和優點能夠如這里所描述的那樣實現。 一種用于壓縮基于幀的程序映像(FBPI)的方法包括識別FBPI 中的公共包封(envel叩e )數據。從FBPI中除去所識別的公共包封數據。 識別FBPI的相同重復幀的至少 一 個實例(instance )。以指向所識別的 相同重復幀的第二實例的指針(pointer)來替換所識別的相同重復幀的 第一實例。一種用于對經壓縮的FBPI進行解壓縮的方法包括識別經壓縮的 FBPI中的至少一個指針,其中所述至少一個指針包括對FBPI的相同重 復幀的引用。以所述至少一個指針所引用的相同重復幀來替換所識別的 至少一個指針,以產生半解壓縮的FBPI。將包封數據插入半解壓縮的 FBPI以產生完全解壓縮的FBPI。此外,還提供了用于對FBPI進行壓縮 /解壓縮的計算機程序產品和系統。在可替換的實施例中, 一種用于壓縮基于幀的程序映像(FBPI)的 系統包括被配置成從主存儲器獲取(retrieve)未壓縮的FBPI的處理 器。壓縮器被耦合到處理器,并且被配置成識別FBPI中的公共包封 數據;從FBPI中除去所識別的公共包封數據以產生半壓縮的FBPI;識 別半壓縮的FBPI的相同重復幀的至少一個實例;以及以指向所識別的 相同重復幀的第二實例的指針來替換所識別的相同重復幀的第 一 實例, 以產生完全壓縮的FBPI。所述處理器還^L配置成向目標設備傳送完全壓 縮的FBPI。一種用于對經壓縮的基于幀的程序映像(FBPI)進行解壓縮的系統 包括被配置成接收完全壓縮的FBPI的處理器。解壓縮器被耦合到處 理器,并且^L配置成識別完全壓縮的FBPI中的至少一個指針,其中所述至少一個指針包括對基于完全壓縮的FBPI的解壓縮的FBPI的相同 重復幀的引用;以所述至少一個指針所引用的相同重復幀來替換所識別 的至少一個指針,以產生半壓縮的FBPI;以及將包封數據插入半壓縮的 FBPI以產生解壓縮的FBPI。處理器還^L配置成將解壓縮的FBPI加載到 本地存儲器中以供執行。附圖筒述在附圖中,同樣的附圖標記在單獨視圖中始終指代相同或功能相似 的元素,這些附圖將被并入并構成說明書的一部分,此外這些附示 了這些實施例,并且連同詳細描述一起用于解釋在此公開的實施例。
圖1圖示出其中能夠實施本發明優選實施例的計算機系統的圖形表示;圖2圖示出圖l所示的計算機系統的處理單元的典型硬件環境的框圖;圖3圖示出典型系統的框圖,其圖示出在圖l所示的計算機系統的存儲器內存儲的軟件的優選實施例;圖4圖示出用于描繪根據本發明優選實施例的基于幀的程序映像 (FBPI)的典型變換的框圖;圖5圖示出用于描繪可以根據本發明優選實施例實施的邏輯操作步 驟的高級流程圖。詳細描述在這些非限制性例子中所論述的特定值和配置是可以改變的,并且 對其進行的引用僅僅是為了說明本發明的至少一個實施例,并非意在限 制本發明的范圍。現在參考附圖,并且特別參考圖1,其描繪出能夠被用于實施優選 實施例的計算機系統的實施例。數據處理系統110包括處理單元112、 -魄頻顯示終端114、鍵盤116、指示設備118、打印機120以及揚聲器 126。處理單元112接收來自諸如鍵盤116、指示設備118和局域網接口 (未圖示)之類的輸入設備的輸入數據,并且經由視頻顯示終端114、 指示器(pointer) 120和揚聲器126將輸出數據呈現給用戶。鍵盤116是數據處理系統110的一部分,該部分與打字機鍵盤類似,并且使用戶能夠控制計算機的特定方面。由于信息是在從鍵盤116到處 理單元112的單個方向上流動的,所以鍵盤116充當的是純輸入設備。 在功能上,鍵盤116代表的是完整輸入/輸出設備的一半,而輸出那一半 則是視頻顯示終端114。鍵盤116包括以大多數打字機通常具有的"QWERTY (標準鍵盤)"圖案呈現的可打印字符的標準集合。本領域 技術人員可以理解,在可替換的實施例中,鍵盤116能夠以Dvorak圖 案布局來配置。此外,鍵盤116包括處于一側且與計算器類似的數字小 鍵盤。這些鍵中的一些(例如"control (控制)"、"alt (換檔)"和"shift (上檔)"鍵)能夠被用于改變其他鍵的含義。其他特殊鍵和鍵 組合能夠被用于控制程序操作,或是在視頻顯示終端114的顯示屏上移 動文本或光標。視頻顯示終端114是數據處理系統110的視覺輸出。如這里所示, 視頻顯示終端114可以是計算機硬件領域公知的基于陰極射線管(CRT ) 的視頻顯示器。但對便攜式或基于筆記本的計算機來說,視頻顯示終端 114能夠用基于液晶顯示(LCD)或是基于氣體、等離子的平板顯示器 來替換。優選地,指示設備118與圖形用戶界面(GUI)結合使用,其中硬 件組件和軟件對象是通過選擇和操縱在視頻顯示終端114內顯示的相關 聯圖形對象來控制的。雖然數據處理系統110被描述成具有用于指示設 備118的鼠標,但是也可以使用其他圖形指示設備,例如圖形板、搖桿、 跟蹤球、觸摸板或跟蹤板。指示設備118特征在于具有平底且能夠被人 手握住的外殼。指示設備118能夠包括處于頂部的按鈕,諸如底部球體 之類的多方向檢測設備,以及將指示設備118與處理單元112相連的電 纜129。為了支持數據存儲和檢索,處理單元112還包括與處理單元112的 其他組件互連的磁碟(diskette)驅動器122、硬盤驅動器123以及 CD-ROM驅動器124,以下會在關于圖2的描述中對此進行進一步描述。 數據處理系統110能夠通過使用任何適當的計算機來實施。但是,無論 計算機系統是復雜的多用戶計算設備、單用戶工作站,還是自身不具有 非易失性存儲器的網絡設備,本發明的優選實施例均能夠應用于允許窗 口顯示的4壬何硬連線配置。參考圖2,其描繪出處理單元112的主要組件的框圖。CPU 226經由系統總線234連接到RAM (隨機存取存儲器)258、磁碟驅動器122、 硬盤驅動器123、 CD-ROM驅動器124、鍵盤/指示設備控制器284、并 行端口適配器276、網絡適配器285、顯示適配器270以及調制解調器 287。雖然圖2的不同組件被繪制成單獨實體,但是每個組件都可以包 括多個實體,并且可以存在于多個等級。處理單元112包括執行指令的中央處理器(CPU) 226。 CPU 226 包括數據處理系統110中對整個計算機系統的操作進行控制的部分,其 中所述操作包括執行特定計算機程序中所包含的算術和邏輯功能。雖然 在圖2中沒有繪出,但是CPU226通常包括用于在計算機存儲器中組織 數據和程序存儲并且在計算機系統的不同部分之間轉移數據和其他信息的控制單元。通常,CPU226包括算術單元,所述算術單元執行算術 和邏輯運算,例如加法、比較和乘法。CPU226對來自易失性RAM258 的數據和指令進行訪問,并且將數據存入易失性RAM 258。例如,CPU226能夠作為多個處理器芯片中的任何一個來實施,也 可以作為能夠從多個廠家獲得的任何其他類型的處理器來實施。雖然數 據處理系統110被顯示成只包含單個CPU和單個系統總線,但是本發 明同樣適用于具有多個CPU的計算機系統,并且適用于具有多個總線 并且每個總線均以不同方式執行不同功能的計算機系統。RAM 258包括多個單獨的、易失性存儲器模塊,在向數據處理系統 110供電時,這些存儲器模塊存儲操作系統和應用軟件的分段 (segment)。這些軟件分段被分成一個或多個虛擬存儲器頁面,其中每 個頁面都包括相同數量的虛擬存儲器地址。當執行軟件所需要的虛擬存 儲器頁面多于能夠凈皮存儲在RAM 258內的頁面時,當前不需要的頁面 將會與存儲在非易失性存儲設備122或123內的所需的頁面交換。RAM 258是如此設計的存儲器類型以使得其內存儲的數據的位置獨立于內 容。而且,RAM258中的任何位置都能夠被直接存取,而不需要從開端 開始。硬盤驅動器123和磁碟驅動器122是對磁盤進行讀寫的機電設備。 磁盤驅動器的主要組件是其上安裝有磁盤的軸(spindle),在驅動器工 作時旋轉磁盤的驅動馬達, 一個或多個執行實際讀寫的讀/寫頭,將讀/ 寫頭定位在磁盤上方的第二馬達,以及對讀/寫活動進行同步并且傳送往 來于數據處理系統110的信息的控制器電路。磁盤本身通常是圓形的柔性塑料的扁平片(例如軟盤),或是涂有
磁性材料的堅硬(inflexible)金屬(例如硬盤),其能夠以電學方式來 影響以便保持以數字形式記錄的信息。在大多數計算機中,磁盤是用于 永久性或半永久性存儲數據的主要方法。由于磁盤的磁性涂層必須避免 損壞和污染,所以軟盤(例如5.25英寸)或微軟盤(例如3.5英寸)將 被裝入保護性的塑料封套中。然而,任何大小的磁盤都可以被使用。對 精密加工的硬盤來說,它通常被裝入到剛性外殼中,并且只能在無塵環 境中暴露。
鍵盤/指示設備控制器284將處理單元112與鍵盤116以及圖形指示 設備118對接。在可替換的實施例中,鍵盤116和圖形指示設備118具 有獨立的控制器。顯示適配器270能夠將圖形數據從CPU 226轉換成用 于驅動顯示設備114的視頻信號。
最后,處理單元112包括網絡適配器285、調制解調器287以及并 行端口適配器276,這些設備有助于數據處理系統110與外圍設備或其 他計算機系統之間的通信。并行端口適配器276通過并行端口將打印機 控制信號傳送到打印機120。網絡適配器285將數據處理系統110連接 到未圖示出的局域網(LAN) 。 LAN為數據處理系統110的用戶提供一 種以電子學方式與遠程計算機或網絡邏輯存儲設備傳送包括軟件在內 的信息的手段。此外,LAN還支持分布式處理,這使數據處理系統110 能夠與鏈接到LAN的其他計算機系統共享任務,并且還能夠在無線局 域網(WLAN)的環境中實施。
調制解調器287支持數據處理系統110與其他計算機系統之間通過 標準電話線進行的通信。此外,通過調制解調器287,數據處理系統110 能夠訪問其他資源,例如服務器、電子公告板以及因特網或公知的萬維 網。
圖1中所示的配置只是圖2所示組件的一種可能實施方式。其他的 可能配置有便攜式計算機、膝上型計算機以及網絡計算機或因特網設 備。對特定應用來說,圖2所示硬件是可以改變的。例如,除了已描述 的硬件之外或者作為替換,還可以使用計算機硬件領域中公知的其他外 圍設備,例如光盤介質、音頻適配器,或是芯片編程設備,例如PAL 或EPROM編程設備。
正如下文中詳細描述的那樣,優選實施例的某些方面涉及能夠在計算機系統上實施的特定方法步驟。在可替換的實施例中,本發明可以作 為與計算機系統結合使用的計算機程序產品來實施。用于定義優選實施
例的功能的程序能夠經由各種信號承載介質被遞送到計算機,其包括但
不局限于(a)永久存儲在不可寫存儲介質(例如,計算機內的只讀存 儲器設備,例如能被CD-ROM驅動器124讀取的CD-ROM磁盤)上的 信息;(b)存儲在可寫入存儲介質(例如硬盤驅動器123或磁碟驅動 器122內的軟盤)上的可改變信息;或(c)由通信介質傳遞給計算機 的信息,例如通過計算機或電話網絡,包括無線通信。在傳送引導本發 明的一個或多個實施例的功能的計算機可讀指令時,這樣的信號承載介 質代表了本發明的可替換實施例。
現在參考圖3,其圖示出采用本發明優選實施例的系統的高級框圖 表示。如上所述,數據處理系統IIO所執行的軟件能夠被存儲在下列各 項中的一個或多個內RAM258、磁碟驅動器122所提供的非易失性存 儲器、硬盤驅動器123、 CD-ROM驅動器124、或是能夠經由調制解調 器287或網絡適配器285訪問的遠程服務器。在所圖示的實施例中,由 數據處理系統110所執行的軟件的各種特征被顯示成與執行這些特征的 特定設備相關聯。
通常,附圖標記300指的是簡化的壓縮/解壓縮系統——為了便于說 明,已經省略了各種聯網、執行和其他組件。系統300包括CPU310和 目標設備320。 CPU 310被耦合到主存儲器312和壓縮器314。目標設 備320被耦合到解壓縮器322和本地存儲器324。在所圖示的實施例中, 目標設備320通過鏈路330與CPU 310耦合,其中該鏈路被描述成是將 壓縮器314耦合到解壓縮器322。在可替換的實施例中,壓縮器314是 CPU310的子組件,解壓縮器322是目標設備320的子組件,并且CPU 310耦合到目標設備320。本領域技術人員將會理解,其他適當的配置 也能夠纟皮采用。
通常,如下文中更詳細描述的那樣,系統300是如下工作的。CPU 310從主存儲器312獲取基于幀的程序映像(FBPI),以供在目標設備 320上執行。壓縮器314以如下所述的方式壓縮FBPI,并且經壓縮的FBPI 經由鏈路330被發送到目標設備320的解壓縮器322。在可替換的實施 例中,經壓縮的FBPH皮直接發送到目標設備320,所述目標設備以如下 所述的方式對經壓縮的FBPI進行解壓縮。解壓縮的FBPH皮存儲在本地存儲器324中,以供目標設備320來執行。在可替換的實施例中,經壓 縮的FBPI被存儲在本地存儲器324中,并且此后由解壓縮器322進行 解壓縮,以供目標設備320來執行。
相應地,在一個實施例中,主存儲器312是硬盤,例如圖l的硬盤 驅動器123。同樣,本地存儲器324可以是CD-ROM驅動器(例如圖1 的CD-ROM驅動器124 )或RAM (例如圖2的RAM 258 )。本領域技 術人員將會理解,其他配置也能夠被采用。
由壓縮器314和解壓縮器322執行的功能合起來形成了用于基于幀 的程序映像的兩級壓縮/解壓縮算法(編解碼器)。該編解碼器在圖4 的一個實施例中以可^L方式示出。
圖4圖示出描繪了兩級壓縮/解壓縮算法對示例性的基于幀的程序 映像的操作的高級框圖,其中該框圖由附圖標記400來概括性指示。為 了便于說明,已經省略了涉及編譯、鏈接、綁定和/或其他編程或可執行 性特征的各種細節。
附圖標記410指代未壓縮或解壓縮的基于幀的程序映像(FBPI)。 如所示,FBPI410包括多個幀412a 412g。為了^f更于說明,將FBPI410 顯示成具有有限數量的幀。本領域技術人員將會了解,典型的FBPI包 括更大數量的幀。
在所圖示的實施例中,每個幀412都包括幀起始(SOF)數據420 和幀結束(EOF )數據422。通常,SOF數據420和EOF數據422包括 起始和結束多個幀412中每一個的公共數據。SOF數據420和EOF數據 422合起來單獨包裝(envelop)或括住多個幀核430a 430g。由此舉例 來說,每個幀412都包括SOF數據420、幀核430以及EOF數據422。
此外,FBPI 410被顯示成具有多個復制幀(duplicated frame ),這 些幀的相同之處在于它們包含了完全相同的數據。例如,幀核430a "A" 與幀核430b "A"相同。類似地,幀核430d "C"、幀核430e "C"以 及幀核430f "C"彼此也是相同的。本領域技術人員將會了解,雖然所 圖示的實施例被顯示成具有有限數量的重復幀,但是典型的FBPI 410 能夠包含更大數量的復制幀。
在用箭頭"X"概括性指示的壓縮操作中,壓縮的第一級除去為所 有幀412所共有的SOF/EOF數據。在所圖示的實施例中,SOF數據420 和EOF數據422祐7人每個幀412中除去以產生半壓縮的FBPI 440。在可替換的實施例中,SOF數據420和EOF數據422能夠#:保留在一個幀(例 如第一幀412a)或多個幀中,并且從剩余幀中除去。如所示,半壓縮(半 解壓縮)的FBPI 440包括在除去包封數據(SOF數據420和EOF數據 422 )之后連接的幀核430a 430g。
在壓縮的第二級,以引用主幀核的指針來替換復制幀核。例如,在 半壓縮的FBPI 440中,以指針452來替換幀核"A"的第二實例(幀核 430b),以產生完全壓縮的FBPI 450。類似地,在完全壓縮的FBPI 450 中,以指針454來替換幀核"C"的第二和第三實例(幀核430e和幀核 430f)。通常,指針452和454是引用它們在完全壓縮的FBPI中替換的 相同幀核的主拷貝的指針。
在所圖示的實施例中,復制幀核的第一實例用作后續(在FBPI序 列中)幀核指針所引用的主拷貝。在可替換的實施例中,復制幀核的最 后實例用作較早的(在FBPI序列中)幀核指針所引用的主拷貝。本領 域技術人員將會理解,其他配置也能夠被采用,包括選擇多個復制幀核 中的特定實例作為主拷貝。
在用箭頭"Y"概括性指示的解壓縮操作中,第一級解壓縮識別經 壓縮的FBPI中的指針,并且以這些指針所引用的主拷貝來替換所述指 針,以產生半解壓縮的FBPI。例如,以幀核"A"來替換經壓縮的FBPI 450中的指針452,以產生半解壓縮的FBPI 440。類似地,以幀核"C" 來替換指針454。由此,半解壓縮的FBPI 440包含了用于完全解壓縮的 (也就是原始的)FBPI 410的程序序列中的所有復制幀核的全部拷貝。
在第二級解壓縮中,向半解壓縮的FBPI 440的每個幀核添加公共包 封數據(例如SOF數據和EOF數據),以產生完全解壓縮的FBPI 410。 由此舉例來說,SOF數據420^皮追加于幀核430a "A"、幀核430b "A" 等等的開端。類似地,EOF數據422被追加于幀核430a "A"、幀核430b "B"等等的末端。這樣,公共包封數據被追加于每個幀核。在所圖示 的實施例中,雖然公共包封數據包含SOF數據420和EOF數據422,但 是本領域技術人員將會理解,其他公共包封數據也能夠被采用。
圖5圖示出描繪了可以根據本發明優選實施例實施的邏輯操作步驟 的高級流程圖500。如塊505所指示的,該過程開始,其中從主存儲器 獲取FBPI。舉例來說,該操作能夠由CPU 310通過從圖3的主存儲器 312獲取FBPI來執行。如接下來在塊510所指示的那樣,公共SOF/EOF或包封數據被驗證。舉例來說,該操作能夠由圖3的壓縮器314來執行。 如此后在塊515所描述的那樣,經驗證的公共包封數據被從FBPI 的每個幀中除去,從而產生半壓縮FBPI。舉例來說,該操作能夠由圖3 的壓縮器314來執行。接下來,如塊520所指示的,相同的幀(或幀核) 被識別。舉例來說,該操作能夠由圖3的壓縮器314來執行。接下來, 如塊525所指示的,以指針來替換復制幀(或幀核),由此產生完全壓 縮的FBPI。舉例來說,該操作能夠由圖3的壓縮器314來執行。
如此后在塊530所描述的那樣,其他壓縮算法也能夠被用于完全壓 縮的FBPI。接下來,如塊535所指示的,經壓縮的FBPI被傳送到目標 設備,以供解壓縮和執行。舉例來說,該操作能夠由圖3的CPU310來 執行。接下來,如塊540所指示的,經壓縮的FBPI被目標設備接收到, 并且加載和解壓縮開始。舉例來說,該操作能夠由圖3的目標設備320 來執行。
接下來,如塊545所指示的,如果在塊530使用了其他壓縮算法, 則會出現一般的解壓縮。接下來,如塊550所指示的,指向復制幀(或 幀核)的主拷貝的指針被識別。舉例來說,該操作能夠由圖3的解壓縮 器322來執行。此后,如在塊555所描述的,復制幀被拷貝到其相關聯 的指針,由此用指針所指向的幀(或幀核)來替換指針,以產生半解壓 縮的FBPI。舉例來說,該操作能夠由圖3的解壓縮器322來執行。
此后,如塊560所描述的,公共包封數據被追加于每個幀核,以產 生完全解壓縮的FBPI。舉例來說,該操作能夠由圖3的解壓縮器322來 執行。如上所述,該操作能夠包括在壓縮操作過程中從保留了 SOF/EOF 數據的指定幀拷貝包封數據。接下來,如塊565所描述的,解壓縮的FBPI 被加載到本地存儲器中以供執行。舉例來說,該操作能夠由圖3的目標 設備320和本地存儲器324來執行。
因而,這些實施例提供了用于基于幀的程序映像中的改進的壓縮/ 解壓縮的系統、設備和方法。特別地,公共包封數據的除去以及相同的 復制幀的替換提供了更為靈活的編解碼器,同時與先前的系統和方法相 比,其并不復雜。此外,所描述的兩級編解碼器侵入性最小,并且利用 了基于幀的程序映像中的固定大小的幀,以實現30% 50%的FBPI壓縮, 從而顯著減小了存儲需求。此外,所公開的編解碼器提供了所公開的全 部優點,而沒有其他壓縮算法所需要的繁重開銷。應該理解的是,以上公開以及其他的特征和功能的變體或是其替換 方案可以被理想地合并到眾多其他不同的系統或應用中。而且,本領域 技術人員在以后可以進行各種當前不可預見或是不曾預料到的替換、修 改、改變或改進,這些同樣包含在所附的權利要求中。
權利要求
1. 一種用于壓縮基于幀的程序映像(FBPI)的方法,包括識別FBPI中的公共包封數據;從FBPI中除去所識別的公共包封數據;識別FBPI的相同重復幀的至少一個實例;以及以指向所識別的相同重復幀的第二實例的指針來替換所識別的相同重復幀的第一實例。
2. 如權利要求1所述的方法,其中所述包封數據包括幀起始(SOF) 數據和幀結束(EOF)數據。
3. 如權利要求l所述的方法,其中在FBPI幀的執行序列中,所識 別的重復幀的第 一實例在所識別的重復幀的第二實例之后出現。
4. 如權利要求l所述的方法,其中在FBPI幀的執行序列中,所識 別的重復幀的第一實例在所識別的重復幀的第二實例之前出現。
5. —種用于對經壓縮的基于幀的程序映像(FBPI)進行解壓縮的 方法,包4舌識別經壓縮的FBPI中的至少一個指針,其中所述至少一個指針包 括對FBPI的相同重復幀的引用;以至少 一 個指針所引用的相同重復幀來替換所識別的至少 一 個指 針,以產生半解壓縮的FBPI;以及將包封數據插入半解壓縮的FBPI以產生完全解壓縮的FBPI。
6. 如權利要求5所述的方法,其中所述包封數據包括幀起始(SOF) 數據和幀結束(EOF)數據。
7. 如權利要求5所述的方法,其中經壓縮的FBPI包括幀的序列次 序,并且所述至少一個指針在所述至少一個指針所引用的相同重復幀之 后出現。
8. —種用于處理基于幀的程序映像(FBPI)的計算機程序產品,所述計算機程序產品具有計算機可讀介質,所述計算機可讀介質其上包 含有計算機程序,所述計算機程序包括用于識別FBPI中的公共包封數據的計算機代碼; 用于從FBPI中除去所識別的公共包封數據的計算機代碼; 用于識別FBPI的相同重復幀的至少一個實例的計算枳]戈碼;以及 用于以指向所識別的相同重復幀的第二實例的指針來替換所識另'j的相同重復幀的笫 一 實例的計算機代碼。
9. 如權利要求8所述的計算機程序產品,其中所述包封數據包括 幀起始(SOF)數據和幀結束(EOF)數據。
10. 如權利要求8所述的計算才幾程序產品,其中所述計算機程序還 包括用于識別經壓縮的FBPI中的至少一個指針的計算機代碼,其中所 述至少一個指針包括對FBPI的相同重復幀的引用;用于以所述至少一個指針所引用的相同重復幀來替換所識別的至 少一個指針以產生半解壓縮的FBPI的計算機代碼;以及用于將包封數據插入半解壓縮的FBPI以產生完全解壓縮的FBPI的 計算機代碼。
全文摘要
一種用于壓縮基于幀的程序映像(FBPI)的方法包括識別FBPI中的公共包封數據。從FBPI中除去所識別的公共包封數據。識別FBPI的相同重復幀的至少一個實例。以指向所識別的相同重復幀的第二實例的指針來替換所識別的相同重復幀的第一實例。一種用于對經壓縮的FBPI進行解壓縮的方法包括識別經壓縮的FBPI中的至少一個指針,其中所述至少一個指針包括對FBPI的相同重復幀的引用。以所述至少一個指針所引用的相同重復幀來替換所識別的至少一個指針,以產生半解壓縮的FBPI。將包封數據插入半解壓縮的FBPI以產生完全解壓縮的FBPI。此外,還提供了用于對FBPI進行壓縮/解壓縮的計算機程序產品和系統。
文檔編號H04N7/50GK101507283SQ200780031058
公開日2009年8月12日 申請日期2007年6月20日 優先權日2006年6月21日
發明者C·L·馬丁, W·R·沃爾斯 申請人:霍尼韋爾國際公司