CN101507283A - 用于基于帧的程序映像的两级编解码器 - Google Patents
用于基于帧的程序映像的两级编解码器 Download PDFInfo
- Publication number
- CN101507283A CN101507283A CNA2007800310580A CN200780031058A CN101507283A CN 101507283 A CN101507283 A CN 101507283A CN A2007800310580 A CNA2007800310580 A CN A2007800310580A CN 200780031058 A CN200780031058 A CN 200780031058A CN 101507283 A CN101507283 A CN 101507283A
- Authority
- CN
- China
- Prior art keywords
- fbpi
- frame
- data
- pointer
- discerned
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种用于压缩基于帧的程序映像(FBPI)的方法包括:识别FBPI中的公共包封数据。从FBPI中除去所识别的公共包封数据。识别FBPI的相同重复帧的至少一个实例。以指向所识别的相同重复帧的第二实例的指针来替换所识别的相同重复帧的第一实例。一种用于对经压缩的FBPI进行解压缩的方法包括:识别经压缩的FBPI中的至少一个指针,其中所述至少一个指针包括对FBPI的相同重复帧的引用。以所述至少一个指针所引用的相同重复帧来替换所识别的至少一个指针,以产生半解压缩的FBPI。将包封数据插入半解压缩的FBPI以产生完全解压缩的FBPI。此外,还提供了用于对FBPI进行压缩/解压缩的计算机程序产品和系统。
Description
技术领域
这里的实施例大体上涉及计算机性能、处理系统以及存储环境。此外,这里的实施例还涉及将两级编解码器应用于基于帧的程序映像(program image)。
发明背景
现代计算机系统使用存储系统和设备来保持数据和/或指令。例如,在基于微处理器的实时产品中,存储系统的常见例子例如包括磁介质(例如磁盘)、随机存取存储器(RAM)以及只读存储器(ROM)。一般来说,无论存储空间相对于中央处理器(CPU)或者执行所存储指令或以其他方式作用于已存储数据的其他处理单元位于何处,它都是非常重要和昂贵的物品。通常,ROM存储空间往往在物理布局和产品成本方面均远高于RAM或磁盘空间。因而,在满足实时系统的代码大小和其他性能限制的同时,现代计算机系统通常会设法减少所需的ROM空间量。
一种用于减小存储器中的文件或程序大小的方法是使用编解码器(压缩/解压缩算法)。现代编解码器的一个例子是Limpel-Ziv-Welsh(LZW)算法。通常,编解码器提供了一种标准化方法来对用于存储或传输的数据/指令进行编码,以及对用于操作的数据/指令进行解码。特别地,存储编解码器通常被设计成减小目标文件的磁盘大小(或者通常是存储大小)。
但是,可执行文件有时是作为程序映像中的一系列指令而被加载到存储器中的。典型的编解码器应用了繁重开销,并且所述开销将会降低用于这样的程序映像的编解码器的效率。例如,低效编解码器有可能导致程序大小增加,执行速度减慢,并且在某些情况下还有可能导致存储空间增加。
由此,所需要的是提供了改进的压缩/解压缩性能以克服先前系统和/或方法中的至少一些限制的系统、设备和/或方法。
简要概述
以下概述是为了帮助理解所公开的实施例所特有的某些创新特征而被提供的,并且该概述并不是全面描述。对这些实施例的不同方面的全面理解可以通过将整个说明书、权利要求书、附图以及摘要作为整体来获得。
由此,本发明的一个方面是提供一种改进的压缩/解压缩方案。
本发明的另一个方面是提供一种改进的处理系统。
本发明的再一个方面是提供一种改进的基于帧的程序映像处理系统。
现在,上述方面以及其他目标和优点能够如这里所描述的那样实现。一种用于压缩基于帧的程序映像(FBPI)的方法包括:识别FBPI中的公共包封(envelope)数据。从FBPI中除去所识别的公共包封数据。识别FBPI的相同重复帧的至少一个实例(instance)。以指向所识别的相同重复帧的第二实例的指针(pointer)来替换所识别的相同重复帧的第一实例。
一种用于对经压缩的FBPI进行解压缩的方法包括:识别经压缩的FBPI中的至少一个指针,其中所述至少一个指针包括对FBPI的相同重复帧的引用。以所述至少一个指针所引用的相同重复帧来替换所识别的至少一个指针,以产生半解压缩的FBPI。将包封数据插入半解压缩的FBPI以产生完全解压缩的FBPI。此外,还提供了用于对FBPI进行压缩/解压缩的计算机程序产品和系统。
在可替换的实施例中,一种用于压缩基于帧的程序映像(FBPI)的系统包括:被配置成从主存储器获取(retrieve)未压缩的FBPI的处理器。压缩器被耦合到处理器,并且被配置成:识别FBPI中的公共包封数据;从FBPI中除去所识别的公共包封数据以产生半压缩的FBPI;识别半压缩的FBPI的相同重复帧的至少一个实例;以及以指向所识别的相同重复帧的第二实例的指针来替换所识别的相同重复帧的第一实例,以产生完全压缩的FBPI。所述处理器还被配置成向目标设备传送完全压缩的FBPI。
一种用于对经压缩的基于帧的程序映像(FBPI)进行解压缩的系统包括:被配置成接收完全压缩的FBPI的处理器。解压缩器被耦合到处理器,并且被配置成:识别完全压缩的FBPI中的至少一个指针,其中所述至少一个指针包括对基于完全压缩的FBPI的解压缩的FBPI的相同重复帧的引用;以所述至少一个指针所引用的相同重复帧来替换所识别的至少一个指针,以产生半压缩的FBPI;以及将包封数据插入半压缩的FBPI以产生解压缩的FBPI。处理器还被配置成将解压缩的FBPI加载到本地存储器中以供执行。
附图简述
在附图中,同样的附图标记在单独视图中始终指代相同或功能相似的元素,这些附图将被并入并构成说明书的一部分,此外这些附图图示了这些实施例,并且连同详细描述一起用于解释在此公开的实施例。
图1图示出其中能够实施本发明优选实施例的计算机系统的图形表示;
图2图示出图1所示的计算机系统的处理单元的典型硬件环境的框图;
图3图示出典型系统的框图,其图示出在图1所示的计算机系统的存储器内存储的软件的优选实施例;
图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能够通过使用任何适当的计算机来实施。但是,无论计算机系统是复杂的多用户计算设备、单用户工作站,还是自身不具有非易失性存储器的网络设备,本发明的优选实施例均能够应用于允许窗口显示的任何硬连线配置。
参考图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中没有绘出,但是CPU 226通常包括用于在计算机存储器中组织数据和程序存储并且在计算机系统的不同部分之间转移数据和其他信息的控制单元。通常,CPU 226包括算术单元,所述算术单元执行算术和逻辑运算,例如加法、比较和乘法。CPU 226对来自易失性RAM 258的数据和指令进行访问,并且将数据存入易失性RAM 258。
例如,CPU 226能够作为多个处理器芯片中的任何一个来实施,也可以作为能够从多个厂家获得的任何其他类型的处理器来实施。虽然数据处理系统110被显示成只包含单个CPU和单个系统总线,但是本发明同样适用于具有多个CPU的计算机系统,并且适用于具有多个总线并且每个总线均以不同方式执行不同功能的计算机系统。
RAM 258包括多个单独的、易失性存储器模块,在向数据处理系统110供电时,这些存储器模块存储操作系统和应用软件的分段(segment)。这些软件分段被分成一个或多个虚拟存储器页面,其中每个页面都包括相同数量的虚拟存储器地址。当执行软件所需要的虚拟存储器页面多于能够被存储在RAM 258内的页面时,当前不需要的页面将会与存储在非易失性存储设备122或123内的所需的页面交换。RAM258是如此设计的存储器类型以使得其内存储的数据的位置独立于内容。而且,RAM 258中的任何位置都能够被直接存取,而不需要从开端开始。
硬盘驱动器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,其图示出采用本发明优选实施例的系统的高级框图表示。如上所述,数据处理系统110所执行的软件能够被存储在下列各项中的一个或多个内:RAM 258、磁碟驱动器122所提供的非易失性存储器、硬盘驱动器123、CD-ROM驱动器124、或是能够经由调制解调器287或网络适配器285访问的远程服务器。在所图示的实施例中,由数据处理系统110所执行的软件的各种特征被显示成与执行这些特征的特定设备相关联。
通常,附图标记300指的是简化的压缩/解压缩系统——为了便于说明,已经省略了各种联网、执行和其他组件。系统300包括CPU 310和目标设备320。CPU 310被耦合到主存储器312和压缩器314。目标设备320被耦合到解压缩器322和本地存储器324。在所图示的实施例中,目标设备320通过链路330与CPU 310耦合,其中该链路被描述成是将压缩器314耦合到解压缩器322。在可替换的实施例中,压缩器314是CPU 310的子组件,解压缩器322是目标设备320的子组件,并且CPU310耦合到目标设备320。本领域技术人员将会理解,其他适当的配置也能够被采用。
通常,如下文中更详细描述的那样,系统300是如下工作的。CPU310从主存储器312获取基于帧的程序映像(FBPI),以供在目标设备320上执行。压缩器314以如下所述的方式压缩FBPI,并且经压缩的FBPI经由链路330被发送到目标设备320的解压缩器322。在可替换的实施例中,经压缩的FBPI被直接发送到目标设备320,所述目标设备以如下所述的方式对经压缩的FBPI进行解压缩。解压缩的FBPI被存储在本地存储器324中,以供目标设备320来执行。在可替换的实施例中,经压缩的FBPI被存储在本地存储器324中,并且此后由解压缩器322进行解压缩,以供目标设备320来执行。
相应地,在一个实施例中,主存储器312是硬盘,例如图1的硬盘驱动器123。同样,本地存储器324可以是CD-ROM驱动器(例如图1的CD-ROM驱动器124)或RAM(例如图2的RAM 258)。本领域技术人员将会理解,其他配置也能够被采用。
由压缩器314和解压缩器322执行的功能合起来形成了用于基于帧的程序映像的两级压缩/解压缩算法(编解码器)。该编解码器在图4的一个实施例中以可视方式示出。
图4图示出描绘了两级压缩/解压缩算法对示例性的基于帧的程序映像的操作的高级框图,其中该框图由附图标记400来概括性指示。为了便于说明,已经省略了涉及编译、链接、绑定和/或其他编程或可执行性特征的各种细节。
附图标记410指代未压缩或解压缩的基于帧的程序映像(FBPI)。如所示,FBPI 410包括多个帧412a~412g。为了便于说明,将FBPI 410显示成具有有限数量的帧。本领域技术人员将会了解,典型的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被从每个帧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”来替换经压缩的FBPI450中的指针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的CPU 310来执行。接下来,如块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压缩,从而显著减小了存储需求。此外,所公开的编解码器提供了所公开的全部优点,而没有其他压缩算法所需要的繁重开销。
应该理解的是,以上公开以及其他的特征和功能的变体或是其替换方案可以被理想地合并到众多其他不同的系统或应用中。而且,本领域技术人员在以后可以进行各种当前不可预见或是不曾预料到的替换、修改、改变或改进,这些同样包含在所附的权利要求中。
Claims (10)
1.一种用于压缩基于帧的程序映像(FBPI)的方法,包括:
识别FBPI中的公共包封数据;
从FBPI中除去所识别的公共包封数据;
识别FBPI的相同重复帧的至少一个实例;以及
以指向所识别的相同重复帧的第二实例的指针来替换所识别的相同重复帧的第一实例。
2.如权利要求1所述的方法,其中所述包封数据包括帧起始(SOF)数据和帧结束(EOF)数据。
3.如权利要求1所述的方法,其中在FBPI帧的执行序列中,所识别的重复帧的第一实例在所识别的重复帧的第二实例之后出现。
4.如权利要求1所述的方法,其中在FBPI帧的执行序列中,所识别的重复帧的第一实例在所识别的重复帧的第二实例之前出现。
5.一种用于对经压缩的基于帧的程序映像(FBPI)进行解压缩的方法,包括:
识别经压缩的FBPI中的至少一个指针,其中所述至少一个指针包括对FBPI的相同重复帧的引用;
以至少一个指针所引用的相同重复帧来替换所识别的至少一个指针,以产生半解压缩的FBPI;以及
将包封数据插入半解压缩的FBPI以产生完全解压缩的FBPI。
6.如权利要求5所述的方法,其中所述包封数据包括帧起始(SOF)数据和帧结束(EOF)数据。
7.如权利要求5所述的方法,其中经压缩的FBPI包括帧的序列次序,并且所述至少一个指针在所述至少一个指针所引用的相同重复帧之后出现。
8.一种用于处理基于帧的程序映像(FBPI)的计算机程序产品,所述计算机程序产品具有计算机可读介质,所述计算机可读介质其上包含有计算机程序,所述计算机程序包括:
用于识别FBPI中的公共包封数据的计算机代码;
用于从FBPI中除去所识别的公共包封数据的计算机代码;
用于识别FBPI的相同重复帧的至少一个实例的计算机代码;以及
用于以指向所识别的相同重复帧的第二实例的指针来替换所识别的相同重复帧的第一实例的计算机代码。
9.如权利要求8所述的计算机程序产品,其中所述包封数据包括帧起始(SOF)数据和帧结束(EOF)数据。
10.如权利要求8所述的计算机程序产品,其中所述计算机程序还包括:
用于识别经压缩的FBPI中的至少一个指针的计算机代码,其中所述至少一个指针包括对FBPI的相同重复帧的引用;
用于以所述至少一个指针所引用的相同重复帧来替换所识别的至少一个指针以产生半解压缩的FBPI的计算机代码;以及
用于将包封数据插入半解压缩的FBPI以产生完全解压缩的FBPI的计算机代码。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/472,157 US7289045B1 (en) | 2006-06-21 | 2006-06-21 | Two-stage codec for frame-based program images |
US11/472,157 | 2006-06-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101507283A true CN101507283A (zh) | 2009-08-12 |
Family
ID=38623341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007800310580A Pending CN101507283A (zh) | 2006-06-21 | 2007-06-20 | 用于基于帧的程序映像的两级编解码器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7289045B1 (zh) |
EP (1) | EP2033448A2 (zh) |
CN (1) | CN101507283A (zh) |
WO (1) | WO2007149895A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105493472A (zh) * | 2013-09-03 | 2016-04-13 | 高通股份有限公司 | 格式化数据分组以用于压缩 |
CN109120929A (zh) * | 2018-10-18 | 2019-01-01 | 北京达佳互联信息技术有限公司 | 一种视频编码、解码方法、装置、电子设备及系统 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8090265B2 (en) * | 2004-03-05 | 2012-01-03 | Finisar Corporation | Byte-configurable memory in an optical transceiver |
KR101156619B1 (ko) * | 2008-12-22 | 2012-06-14 | 한국전자통신연구원 | 프레임 축소 방법 및 장치 |
KR102261961B1 (ko) | 2015-05-19 | 2021-06-07 | 삼성전자주식회사 | 디스플레이 구동 회로 및 이를 포함하는 디스플레이 장치 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5502439A (en) * | 1994-05-16 | 1996-03-26 | The United States Of America As Represented By The United States Department Of Energy | Method for compression of binary data |
US6006232A (en) * | 1997-10-21 | 1999-12-21 | At&T Corp. | System and method for multirecord compression in a relational database |
US6188333B1 (en) | 1999-08-12 | 2001-02-13 | Unisys Corporation | LZW data compression apparatus and method using look-ahead mathematical run processing |
US6624762B1 (en) | 2002-04-11 | 2003-09-23 | Unisys Corporation | Hardware-based, LZW data compression co-processor |
US20050198062A1 (en) * | 2004-03-05 | 2005-09-08 | Shapiro Richard B. | Method and apparatus for accelerating data access operations in a database system |
-
2006
- 2006-06-21 US US11/472,157 patent/US7289045B1/en not_active Expired - Fee Related
-
2007
- 2007-06-20 CN CNA2007800310580A patent/CN101507283A/zh active Pending
- 2007-06-20 EP EP07798797A patent/EP2033448A2/en not_active Withdrawn
- 2007-06-20 WO PCT/US2007/071618 patent/WO2007149895A2/en active Application Filing
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105493472A (zh) * | 2013-09-03 | 2016-04-13 | 高通股份有限公司 | 格式化数据分组以用于压缩 |
CN105493472B (zh) * | 2013-09-03 | 2017-10-27 | 高通股份有限公司 | 格式化数据分组以用于压缩的方法、装置和设备 |
CN109120929A (zh) * | 2018-10-18 | 2019-01-01 | 北京达佳互联信息技术有限公司 | 一种视频编码、解码方法、装置、电子设备及系统 |
CN109120929B (zh) * | 2018-10-18 | 2021-04-30 | 北京达佳互联信息技术有限公司 | 一种视频编码、解码方法、装置、电子设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
US7289045B1 (en) | 2007-10-30 |
EP2033448A2 (en) | 2009-03-11 |
WO2007149895A2 (en) | 2007-12-27 |
WO2007149895A3 (en) | 2008-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7389477B2 (en) | Legibility of selected content | |
US6683600B1 (en) | Adaptive input pen mode selection | |
US7493570B2 (en) | User interface options of a data lineage tool | |
CN100478846C (zh) | 提供手势的动态反馈的方法及装置 | |
US5638505A (en) | Apparatus and methods for moving/copying objects using destination and/or source bins | |
CN100447739C (zh) | 一种实时获取多媒体图像的方法以及设备 | |
EP1278144A2 (en) | Method and apparatus for entry and editing of spreadsheet formulas | |
US7412661B2 (en) | Method and system for changing visual states of a toolbar | |
JPS62502638A (ja) | コンピユ−タベ−ス図面管理システム | |
CN101432711A (zh) | 用于选择性显示部分显示屏的用户界面系统和方法 | |
CN101507283A (zh) | 用于基于帧的程序映像的两级编解码器 | |
US6118939A (en) | Method and system for a replaceable application interface at the user task level | |
US20130298064A1 (en) | Virtual keyboard for inputting supplementary character and supplementary character inputting apparatus and method using the virtual keyboard | |
CN102375686A (zh) | 信息处理装置、信息处理方法和程序 | |
EP1679614A2 (en) | Method and apparatus for providing foreign language text display when encoding is not available | |
CN101326513B (zh) | 使用辅助工具图形管道的方法 | |
CN103941957A (zh) | 用户设备内容删除方法、装置以及用户设备 | |
US7616342B2 (en) | Mechanism for allowing content-independent imaging date stream object usage | |
CN105378645A (zh) | 用于多监视器环境的虚拟化应用 | |
CN100580673C (zh) | 已知格式字库的对比系统 | |
JPS603790A (ja) | 電子フアイリングシステム | |
JPH06274279A (ja) | ミラードディスクおよびその制御方式 | |
EP0841637A2 (en) | System and method for adaptive animation compression | |
CN101320326A (zh) | 使用单一操作员应用程序驱动多显示器界面 | |
JPH02230375A (ja) | 電子ファイルシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |