当前位置: 首页 > 专利查询>英特尔公司专利>正文

自动生成压缩码表制造技术

技术编号:3420149 阅读:190 留言:0更新日期:2012-04-11 18:40
一种装置包括压缩表生成器模块和存储介质。压缩表生成器生成一张压缩码表,该压缩码表有多个码字组分布于一层或多层上。这些码字组中的每一个码字组都包括与一张变长码表中的一个或多个码字对应的组掩码。存储介质存储关于这些码字组的信息,例如,每个码字组的组掩码和变长码表中的每个码字的码索引。

【技术实现步骤摘要】

技术介绍
电子数据(包括文本、图形、语音、多媒体和其它符号串)可以用压縮了这 對言息的二进制5 ^示。这种压縮 >了 存储和/或传输所需的比特数。不 同长度(即,变长)的二进制码可用来表示 比特流中的不同符号。根据一些 二进制码压縮技术,在比特流中,出现频報高的符号用较短的代码来表示,出现频^^低的符号用较长的代码^^。这样的方案被称为变长编码(VLC)。有一类VLC技术涉及哈夫曼编码。例如,哈夫曼编码可用于柳频编码标准的 数字视频压縮和信息检索,例如,Microsoft Windows Media、MPEG-2、MPEG"4、 H.263、 H.264和其它使用VLC技术的标准。哈夫曼编码i顿变长码字。因此,在一些哈夫曼解码实现方案中,按照"半字 节接半字节(nibble-by-nibble)"的方法,将所输入比特流的比特流片段与查询表 (LUT)的内容it《亍匹配。例如,解码器可观察第一个固定大小的半字节,并试图 将它与哈夫曼解码表中的第一表项进行匹配。如果没找到匹配,那么,解码器观 察第二个固定大小的半字节,并试图与第二賴项进行匹配,依次类推。这种方 法叫做f^函数。但是,对于较长的哈夫曼码字(例如,23比特的醉)来说,这样的特节 方》孺要6个步骤和/或时钟才能与最长的哈夫曼码字匹配。在这样的特节方法 中,较长的码转限制解码吞吐量。为了 >这种吞吐量限制,可将哈夫曼码字表重新鹏鹏縮表。通^t测 特定^a制值(例如,0或1)的游程,这种压縮表可实5嬲码。游程检测比半字 节接半字节的方法执行要快。这种检测可M专用硬件逻辑、软件(例如,前置 零检测器(LZD))赫软硬件结合的方微实现。财卜,細专用硬件逻辑或软 件检测器(例如,前置零检测器(LZD))或者软硬件结合的方式,较长游程的二 进制值易于实现鹏检测。压縮表可以手工M。然而,这种技术慰艮费力的,并且,容易产生^tii。附图说明图1举例示出了可用来生^! 表的^5的一个 例;图2举例示出了一4^件的一个实施例; 图3举例示出了一,辑图的一个实施例;图4A和4B ^i列示出了多鹏辑图的实施例;图5是一张鄉脱明性的压縮表排歹啲示意图6A—6C举例示出了多种实施例;图7是一个举例说明性的逻辑流程的实施例;图8是一个系统实施例的示意图。具体实施例方式概撤也说,有多个实施例涉及码的生成和4柳。例如,在一个实施例中,一 种装置包括压縮表生成器模块和存储介质。压縮表生成器生成一张压縮码表,该 压縮码表有多个码字组分布于一层或多层上。这些码字组中的每一个码字组都包 括与一张变长码表中的一个或多个码字对应的组掩码。存储介质存储关于这些码 字组的信息,例如,旨码字组的组掩码和变长码表中的每个码字的码索引。压 縮码表的这种M^]存储可自动执行。这样,就可以实现决速高效的解码。此外,还可以实现码表的更高效存储。 可以描述其它 例,并就其主张权利。多个实施例可以包括一个或多铺件。 一个部件可包括能执愤寺定操作的任意结构。根据给定的一组设计参数或性能约束剝牛,^hM牛可用硬件、软件或者软硬件结合的方式来实现。尽管在特定的电路拓扑结构中,出于举例说明的目 的,可能会用有p艮数量的部件来描述一个实施例,但在其它电路拓扑结构中,针 对给定的实现方案,该实施例包括的部件可以增加或减少。值得注意的是,倒可州l^^"一个实施例"或'一种实施例"都意赠,围绕该鄉例描述的特定特征、 结构或属性包括,少一个实施例中。说明书各处出现的用语"在一个实施例中"都不一定是针对相同的实施例。图1是體100的框图,體100可用于根据哈夫曼表4^iBi表。如图1 所示,驢100可包括很多部件。例如,體100可包括臓表^^i块102 和存储介质亂这些部件可用硬件、软件或软硬件结合的方式来实现。錢100可将哈夫曼码t个接一个Jiia行鹏,从而,使得*哈夫曼码表在一*分支中的许多变化的1和0平滑成全0或全1 。这种平滑处理能实现决速解码,例如,3M 游禾辦码器硬件。如图1所示,压縮表生皿模决102接收哈夫曼码表120,并生淑目应的压 縮表122,压縮表122可发]^^合存储介质104。 M表122可用于各种操作,例如, 对信息序列进满码和解码。参照接下来的附图和相应的实例,可进一步描述多个实施例的操作。有些附 图包 Sf辑流程。尽管本申请给出的这些附图包括具体的逻辑流程,但可以明白, 逻辑流程只是举例说柳哬实现本文描述的一般功能。此外,给定的逻辑流程不 是必须按照所呈现的 娇来执行,除非另有特别指明。另外,给定的逻辑流程可 通过硬件部件、由处理器执4亍的软件部4牛或者软硬^牛结合的方式来实现。这些实 施例不限于这种情况。图2是实施例(例如,體100)根据变长码表顿压縮表的逻辑流程200 的示意图。如图2戶标,模±央202接收变长码表,例如哈夫曼表。根据收至啲这张码表, 模块204生成一个或多个码字组。这些组都分布在一层或多层中。例如,层级可 安排成树形结构,包括一个顶级组和一个或多行组。在这种布局中,顶级组和 子组者阿以有一个或多W组。在M^H马组时,模块204可进一步,目应的信息。例如,模块204可 为^^码字组顿组掩码。乡Jjf码可用于判断是否需要^^它码字子组。除了用于^JM^t外,ISJt码还可用于解码操作。模±央206存储码字组的相刘言息。该信息可包JS^h组的组掩码,以及,与 ^纟1^应的码索引。但是,这些鄉例不限于这种情况。图3是码^^娥102的一个辦做明性的实现方案300的框图。如图3 戶标,实现方案300可包括各种部件。例如,图3显示,实现方案300可包括存 储介质302、顶级组确定模块304、组分析模块306和表写入模块308。这些部件可用硬件、软件、固件或者其任意组合来实现。存储介质302存储各种用于^JBfl表的信息。例如,存储介质302可存储 一贼多张哈夫曼码表320。另外,存储介质302还可存t臓多张相应的臓 表330。存储介质302也可存储JBi表,期间的各种信息。例如,图3显示的存 储介^^储了組^t码322、命中掩码列表324、索引列表326和子会M接328。顶级组确定模块304确定哈夫曼码字表320中的初始顶级码字组。组分析模±央306分析一个或多个码字组。该分析可确定与特定组相应的其它子组。另外,该分析可涉及信息的生成。该信息可包括掩码、命中掩码列表和/或 索引列表。根据组分析模块执行的处理,压縮表写入模i央308将众多表项格式化和输出。图4A是实施例(例如,部件100和/或实现方案300)根据变长码表生成压缩标的逻辑流程的示意图。如图4A所示,模块402接收哈夫曼码表,哈夫曼码表包括多个厂度不等的 码字。模块403对哈夫曼码表中的码字进行排序。因为这些码字是变长的,所以 可用一种权重方法来执行该排序。 一种举例说明性的权重方法是为空格分配最 小权重,为比特值“1”分配中间权重,为比特值"O"分配最大权重。下面的表l一l 和l一2举例说明这种排序。具体而言,表1-1显示的是没有经过排序的哈夫曼 码字,表1—2显示的是这些码字经过了排序。<table>table see original document page 8</colum本文档来自技高网...

【技术保护点】
一种装置,包括:    压缩表生成器模块,用于生成一张压缩码表,所述压缩码表包括分布在一层或多层上的多个码字组,每个码字组都具有与一张变长码表中的一个或多个码字对应的组掩码;    存储介质,用于存储关于所述多个码字组的信息,所述信息包括每个码字组的组掩码和所述变长码表中的每个码字的码索引。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:MA哈克M贾汉吉尔
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1