CN1531781A - 一种产生霍夫曼代码长度信息的方法 - Google Patents
一种产生霍夫曼代码长度信息的方法 Download PDFInfo
- Publication number
- CN1531781A CN1531781A CNA018182151A CN01818215A CN1531781A CN 1531781 A CN1531781 A CN 1531781A CN A018182151 A CNA018182151 A CN A018182151A CN 01818215 A CN01818215 A CN 01818215A CN 1531781 A CN1531781 A CN 1531781A
- Authority
- CN
- China
- Prior art keywords
- symbol
- data structure
- frequency
- information
- code length
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
Abstract
本发明公开了用于产生霍夫曼代码长度信息的方法的实施例。在一个这样的实施例中,使用了一种数据结构,但是,当然,本发明并不限于所公开的具体实施例的范围。
Description
相关申请
本专利申请涉及由Acharya等人同时提出的,转让给本发明的受让人的美国专利申请系列号09/704,380的申请,题为“一种用于执行霍夫曼解码的方法”(代理人记录号042390.P9820),通过引用包含于此。
发明领域
本公开内容涉及霍夫曼编码技术。
背景技术
众所周知,一组符号的霍夫曼代码是至少部分基于源符号的出现概率产生的。二叉树,通常被称为“霍夫曼树”,被产生以提取二进制代码和代码长度。参见,例如,D.A.Huffman,“一种用于构造最小冗余度代码的方法”,Proceedings of the IRE,Volume 40 No.9,1098-1101页,1952。D.A.Huffman在上述文章中这样描述该处理:
·列表出所有可能的符号以及它们的概率;
·找出具有最小概率的两个符号;
·用包括两个符号的、概率是个体概率总和的单独一个集合替代它们;
·重复直到列表只包括一个成员。
该过程产生了递推地构造的一组集合,其中的每一个包括恰好两个成员。因此,它可以用一个以符号为“叶”的二叉树(“霍夫曼树”)来表示。然后为了形成任何特定符号的代码(“霍夫曼代码”):从根部到该符号遍历二叉树,对于左分支记录“0”,对于右分支记录“1”。但是,该过程的一个问题是所得到的霍夫曼树不是唯一的。这种代码的一个应用例子是文本压缩,如GZIP。GZIP是一种文本压缩工具,开发于GNU(Gnu’s Not Unix)项目之下,其目的是开发一种“免费”或可免费得到的类似UNIX的操作系统的GZIP用于替代UNIX操作系统上的“压缩”文本压缩工具。参见,例如,在网站http://www.gzip.orh/上作为gzip-1.2.4.tar可获得的Gailly,J.L.和Adler,M.的GZIP文档和原始资料。在GZIP中,霍夫曼树信息以一组编码长度的形式和被压缩文本一起从编码器被传送到解码器。因此,编码器和解码器基于该代码长度信息都产生一个唯一的霍夫曼代码。但是,通过构造对应的霍夫曼树产生霍夫曼代码的长度信息是效率差的。具体地说,从霍夫曼树得到的霍夫曼代码一般被丢弃,因为编码器和解码器将从代码长度信息产生相同的霍夫曼代码。因此,希望有另一种用来产生代码长度信息的途径。
附图说明
在说明书的总结部分具体指出并明确声明了被视为是本发明的主题。但是本发明,关于操作的方法和组织,及其目标、特征和优点,当参考附图阅读时通过参照以下详细的描述可以最好地被理解,该附图中:
图1是图示了根据本发明的一个实施例可以应用于其上的一组符号以及它们对应的频率的表格;
图2是图示了在图1所示数据初始化之后根据本发明的一个实施例的第一部分的表格;
图3是图示了在图2所示数据初始化之后根据本发明的一个实施例的第二部分的表格;
图4是在实施了第一次合并操作之后的图2的表格;
图5是在实施了第一次合并操作之后的图3的表格;
图6是完成合并操作之后的图5的表格;和
图7是完成合并操作之后的图4的表格。
具体实施方式
在以下详细描述中,为了全面地了解本发明,陈述了大量具体细节。但是,本领域的技术人员应该知道本发明可以在不具有这些具体细节的条件下实施。在其它情况下,众所周知的方法、过程、组件和电路没有被详细描述,免得使本发明不清晰。
如前所述,一组符号的霍夫曼代码是至少部分基于源符号的出现概率产生的。相应地,二叉树,通常称为霍夫曼树,被产生以抽取二进制代码和代码长度。尽管当然本发明在范围上不限于特定应用,例如,在一个文本压缩标准的应用中,例如GZIP,霍夫曼树信息以一组代码长度的形式与被压缩的文本数据一起从编码器被传送到解码器。编码器和解码器都基于代码的长度信息产生唯一的霍夫曼代码。但是,通过构造对应的霍夫曼树产生霍夫曼代码的长度信息效率差并且经常是冗余的。从霍夫曼树产生霍夫曼代码之后,由于编码器和解码器会基于长度信息产生霍夫曼代码,所以这些编码被丢弃。因此,希望可以不产生霍夫曼树而确定长度信息。
根据用于利用数据结构为将被编码的代码产生代码长度的方法的本发明,提供了一个实施例。在这个特定实施例中,数据结构被排序,数据结构中的符号被结合,并且符号长度至少部分基于被编码的符号的频率被更新。在这个特定实施例中,不产生已知其中符号出现概率的霍夫曼树,数据结构帮助从一组符号中抽取霍夫曼代码的长度。尽管本发明在范围上不限于该特定实施例,实验结果显示了在计算和存储器使用两方面的适合软件和硬件实现的效率。
图1是图示了一组符号及它们对应的频率的表格,但是,当然,这只是作为一个可替代性示例被提出的。根据本发明产生代码长度的方法的一个实施例可以被应用于该组符号。图1图示了一组18个符号,尽管当然本发明在这方面没有范围限制。尽管本发明在这方面没有范围限制,在这个特定示例中,对频率信息的观察显示,两个符号,即图1中阴影区的索引第7和13,在这个符号组中没有出现。所以,这些符号在霍夫曼编码中不必被考虑。在这个特定实施例中,具有零频率的符号被忽略,尽管本发明在这方面没有范围限制。
尽管本发明在这方面没有范围限制,在这个特定实施例中,要被使用的数据结构至少具有两个部分。前面已经指出,本发明不限于这个特定数据结构的范围内。显然,对这个特定数据结构可以作很多的修改,并且保持在所描述的精神和范围之内。但是对于这个实施例,图2图示了一部分。数据结构的这部分跟踪或存储每一个非零频率符号的索引和长度信息。如图2所示,这部分按照频率和符号索引的降序被初始化为零。当然,其它实施例也是可应用的,例如采用升序。图2图示了应用于图1符号的一个实施例的该第一部分。
如所示,图2包括16个项目,0到15,对应于16个非零频率符号。尽管本发明在这方面不受限制,在这个特定数据结构中,第一区或栏示出了前面所述排序(sort)操作之后相联系的符号索引。图2所示符号频率信息不是数据结构的部分,而仅是为了说明的目的在这里提供的。在这个例子中,它图示了符号根据频率按降序排列。尽管本发明不限于这方面的范围中或这个特定的实施例,数据结构的第二区或栏包括每一个符号的长度信息并被初始化为零。
采用图2中的数据或符号初始化之后,这个特定实施例的数据结构的第二部分在图3中示出。在这个特定实施例中,数据结构的这部分的第一区,即图3中所示部分,包括这组的频率。这个特定实施例的第二区包括位标志。位标志对应于或指示属于这组的符号的项目号。例如,如图3中所示,阴影区域包括项目号3的符号。对于这个特定符号,这组频率是3,并且位标志被设置为
位号:(15----------------3210)
位值: 0000 0000 0000 1000
即,在这个例子中位号3被设置为“1”而其它的位被设置为“0”。
如前面所述,最初,将被编码的符号被分配一个对于每一个符号都不同的位标志。此外,尽管本发明在这方面不受限制,在这个特定实施例中,每一个符号的代码长度最初包括零。在下文中将更加详细地描述,在这个特定实施例中,随着数据结构被初始化,从最小频率符号开始结合符号标志。符号然后被再排序(resort),并且频率信息被更新以反映该结合。这些结合信号标志并且再排序的操作接着被重复,直至不再剩余有符号要被结合。
如前面所述,进程开始于初始化数据结构,例如前面所述的实施例,和将一个这里指定为“no_of_group”的“计数器”设置为非零频率符号的数目,这里为16。接着,当这个“计数器”,即no_of_group,大于1时,执行以下操作。开始
1:如上所述初始化数据结构(部分I和II),并且将no_of_group
设置为非零频率符号的数目。
2:当(no_of_group>1){
2.1:将部分II的数据结构中的最后两组合并,并且将它
插回列表中。
/*组频率的合并操作是简单地将它们加在一起,对
第二区的合并操作是简单地按位“或”运算。依照
软件和硬件两者都非常容易实现。图5示出了这个
步骤的一个例子。我们可以看到,最后两组被合并
并且插回到列表(阴影区域所示)。由于我们总是
将两组合并为一组,所以存储器能被重复利用,而
且初始化之后我们不需要动态地分配任何新的存储
器。*/
2.2:更新部分I的数据结构中的长度信息。
/*该步骤通过扫描合并的位标志(部分II的数据结
构中的第二区)中的“1”,并且在数据结构中的
对应项目令长度信息增加1来完成的。图4示出了
图5所示的合并步骤之后的更新。*/
2.3:令no_of_group减1。
}/*当循环的结束*/结束
如图5所示,例如,数据结构的第二部分中的最后两“组”或“行”被结合或合并,并且如图5所示,在这个特定实施例中,数据结构的这个部分被再排序,即被结合的符号被合适地基于组频率在数据结构中排序。
同样我们注意到,尽管本发明在这方面不受限制,组频率的合并或结合操作在这个特定实施例中可以通过简单地将频率加在一起来实现,并且这个特定实施例的数据结构第二区的合并/结合操作可以以按位逻辑或运算来实现。这在软件和/或硬件实现上提供了优势。在例如求和与逻辑或运算的实现操作的简单易行以外,这个特定实施例的另一个优点是有效利用存储器。
如前面所述,结合或合并操作使两“组”或“行”被结合为一。所以,被分配的存储器可被重复使用,并且初始化之后的新存储器的动态分配被减少了或者避免了。
接着,这个特定实施例的数据结构第一部分中的长度信息被更新以反映前面的合并或结合操作。例如对于本特定实施例,这在图4中示出了。尽管本发明在这方面不受限制,实现该操作的一种方法是通过扫描被合并的位标志的“1”位。也就是,在本特定实施例中,数据结构第二部分中的第二区被扫描,并且在数据结构的第一部分中的对应项目中,长度信息被增加1。
然后,“计数器”,即这里的no_of_group,被减少1。在本特定实施例中,前面的操作被重复直至计数器到达值1。
应该注意到的是对于本特定实施例,一旦“计数器”到达1,如图6所示,在数据结构的第二部分中应该存在具有与总的组频率相等的一个组频率的一组或行,并且位标志中的所有位都被设置为1。但是,同样的,图7示出了在此出现时代码长度信息的最终结果。所以,如图7所示,需要的代码长度信息得到了。
如前面所述,对于产生代码长度信息的方法的本特定实施例,存在若干优点。如前面讨论的,例如与产生霍夫曼树相比较,存储器使用减少,并且存储器的动态分配可被避免或者要被动态分配的存储器的量减少了。同样,计算的复杂度减小。
同样地,如前面所述,被采用来实现前面描述的实施例的操作在硬件或软件中相对比较容易实现,尽管本发明在这些特定操作中不限于那些实施例的范围中。这样,霍夫曼代码长度信息可以不通过产生霍夫曼树而被提取或产生。
在根据本发明的另一个实施例中,一种编码符号的方法可以包括利用代码长度信息编码符号,和不利用霍夫曼树而产生代码长度信息,例如,利用前面所述实施例来产生代码长度信息,尽管当然本发明在范围上不限于前面实施例。在这上下文中当然应该理解,长度信息被用来编码符号,其中长度信息是从霍夫曼代码中产生的。同样,在根据本发明的另一个实施例中,一种解码符号的方法可以包括对符号进行解码,其中该符号已经被利用代码长度信息进行编码,并且代码长度信息是不通过利用霍夫曼树而产生的。此外在这上下文中应该理解,被用来对符号进行编码的长度信息是从霍夫曼代码产生的。此外,产生代码长度信息的一种途径包括前面所述实施例。
当然应该理解的是,尽管只描述了特定实施例,本发明在范围上不限于特定实施例或实现。例如,一个实施例可以是硬件中的,而另一个实施例可以是软件中的。同样,实施例可以是固件中的,或例如硬件、软件或固件的任意组合。同样,尽管本发明在这方面不受限制,一个实施例可包括一个物件,例如存储介质。这样的存储介质,例如,CD-ROM,或碟盘,可以在其上存储指令,这些指令当被系统执行时,例如计算机系统或平台,或成像系统,可以产生合乎本发明的执行中的方法的实施例,例如如前面所述的产生霍夫曼代码长度信息的方法。同样,根据本发明的初始化数据结构、对符号编码、和/或对符号解码的方法的实施例可被执行。
虽然本发明的某些特征在这里已经被图示和描述了,本领域的技术人员现在可以想到很多修改、替代、改变和等同物。所以要理解,所附权利要求目是的要覆盖所有落入本发明的真正精神之内的所有这样的修改和改变。
Claims (29)
1.一种利用数据结构为要被编码的符号产生代码长度的方法,所述方法包括:
将所述数据结构排序,结合所述数据结构中的符号,并且至少部分基于被编码符号的频率更新符号长度。
2.如权利要求1所述的方法,其中最初每一个要被编码的符号被分配一个不同的位标志和相同长度。
3.如权利要求2所述的方法,其中所述相同长度最初包括零。
4.如权利要求2所述的方法,其中所述数据结构包括至少两个部分,第一部分包括符号索引和相联系的符号长度信息,第二部分包括组频率和分配的位标志信息。
5.如权利要求4所述的方法,其中所述符号基于频率按照降序在数据结构中被排序。
6.如权利要求5所述的方法,其中从最小频率符号开始所述符号在数据结构中被结合。
7.如权利要求6所述的方法,其中在所述符号长度信息被更新以反映数据结构中所结合的符号之后,所述符号基于频率按照降序被重新排序。
8.如权利要求4所述的方法,其中所述符号基于频率按照升序在数据结构中被排序。
9.如权利要求8所述的方法,其中从最小频率符号开始所述符号在数据结构中被结合。
10.如权利要求9所述的方法,其中在所述符号长度信息被更新以反映数据结构中所结合的符号之后,所述符号基于频率按照升序被重新排序。
11.如权利要求1所述的方法,其中具有零频率的符号被忽略。
12.一种不产生霍夫曼树而为要被根据霍夫曼代码而编码的一组符号产生代码长度的方法,包括:
(a)依照频率对符号排序,并给每一个符号分配一个不同的标志和
相同的初始长度;
(b)从最小频率符号开始结合符号标志;
(c)对符号重新排序,并且更新长度信息以反映该结合;并且
重复(b)和(c)直至不再剩余要被结合的符号。
13.如权利要求12所述的方法,其中依照频率对符号排序包括忽略具有零频率的符号。
14.如权利要求12所述的方法,其中相同初始长度包括零。
15.一种数据结构,包括:
至少两个部分;
第一部分包括符号索引和最初分配的长度,其中所述符号索引依照频率被排序;和
第二部分包括组频率信息和对应于每一个分别的符号被分配的位标志。
16.如权利要求15所述的数据结构,其中该符号在数据结构中依频率按照降序被排序。
17.如权利要求15所述的数据结构,其中该符号在数据结构中依频率按照升序被排序。
18.一个物件,包括:存储介质,所述存储介质具有存储于其上的指令,所述指令当被执行时,使得利用数据结构为要被编码的符号产生编码长度的以下方法被执行:
对所述数据结构排序,结合所述数据结构中的符号,并且至少部分基于要被编码的符号的频率更新符号长度。
19.如权利要求18所述的物件,其中所述指令,当被执行时,使得最初每一个要被编码的符号被分配一个不同的位标志和相同长度。
20.如权利要求19所述的物件,其中所述指令,当被执行时,使得所述数据结构包括至少两个部分;第一部分包括符号索引和相联系的符号长度信息,第二部分包括组频率和被分配的位标志信息。
21.一个物件,包括:存储介质,所述存储介质具有存储于其上的指令,所述指令当被执行时,使得为要被编码的符号产生编码长度而初始化数据结构的以下方法被执行:
依照频率对符号排序,并给每一个符号分配一个不同的标志和相同的初始长度。
22.如权利要求21所述的物件,其中所述指令,当被执行时,还使得每一个符号被分配一个零初始长度。
23.如权利要求21所述的物件,其中所述指令,当被执行时,还使得数据结构包括每一个符号的组频率信息。
24.一种编码符号的方法,包括:
利用代码长度信息编码符号;
不利用霍夫曼树而产生代码长度信息。
25.如权利要求24所述的方法,其中不利用霍夫曼树而产生代码长度信息包括使用数据结构。
26.如权利要求25所述的方法,其中所述数据结构包括符号索引、每一个符号的组频率信息、和最初分配的位标志和代码长度。
27.一种解码符号的方法,包括:
解码符号,其中该符号已经被利用代码长度信息编码,并且所述代码长度信息是不利用霍夫曼树而产生的。
28.如权利要求27所述的方法,其中所述代码长度信息是利用数据结构产生的。
29.如权利要求27所述的方法,其中所述数据结构包括符号索引、每一个符号的组频率信息、和最初分配的位标志和代码长度。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/704,392 US6636167B1 (en) | 2000-10-31 | 2000-10-31 | Method of generating Huffman code length information |
US09/704,392 | 2000-10-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1531781A true CN1531781A (zh) | 2004-09-22 |
Family
ID=24829276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA018182151A Pending CN1531781A (zh) | 2000-10-31 | 2001-10-09 | 一种产生霍夫曼代码长度信息的方法 |
Country Status (9)
Country | Link |
---|---|
US (3) | US6636167B1 (zh) |
JP (1) | JP4012065B2 (zh) |
KR (2) | KR100667293B1 (zh) |
CN (1) | CN1531781A (zh) |
AU (1) | AU2002215320A1 (zh) |
DE (1) | DE10196847B4 (zh) |
GB (1) | GB2385758B (zh) |
TW (1) | TW538601B (zh) |
WO (1) | WO2002037690A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104579356A (zh) * | 2013-10-21 | 2015-04-29 | 国际商业机器公司 | 在存在重现的霍夫曼树的情况下加速解压缩的方法和系统 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6636167B1 (en) * | 2000-10-31 | 2003-10-21 | Intel Corporation | Method of generating Huffman code length information |
US6563439B1 (en) * | 2000-10-31 | 2003-05-13 | Intel Corporation | Method of performing Huffman decoding |
US7274671B2 (en) * | 2001-02-09 | 2007-09-25 | Boly Media Communications, Inc. | Bitwise adaptive encoding using prefix prediction |
US20030115292A1 (en) * | 2001-10-24 | 2003-06-19 | Griffin Philip B. | System and method for delegated administration |
KR100484137B1 (ko) * | 2002-02-28 | 2005-04-18 | 삼성전자주식회사 | 개선된 허프만 디코딩 방법 및 장치 |
KR20050053996A (ko) | 2003-12-03 | 2005-06-10 | 삼성전자주식회사 | 허프만 코드를 효율적으로 복호화하는 방법 및 장치 |
US20050228816A1 (en) * | 2004-04-13 | 2005-10-13 | Bea Systems, Inc. | System and method for content type versions |
TWI324736B (en) * | 2006-11-01 | 2010-05-11 | Sunplus Technology Co Ltd | Searial transmission controller, searial transmission decoder and searial transmission method thereof |
TWI330473B (en) * | 2006-11-24 | 2010-09-11 | Primax Electronics Ltd | Huffman decoding method |
US8321326B2 (en) * | 2009-09-15 | 2012-11-27 | Auerbach Group Llc | Method and system for enhancing the efficiency of a digitally communicated data exchange |
KR101725223B1 (ko) * | 2011-03-25 | 2017-04-11 | 삼성전자 주식회사 | 저장 장치에서의 데이터 압축 방법 |
US9766888B2 (en) | 2014-03-28 | 2017-09-19 | Intel Corporation | Processor instruction to store indexes of source data elements in positions representing a sorted order of the source data elements |
US10027346B2 (en) * | 2015-05-11 | 2018-07-17 | Via Alliance Semiconductor Co., Ltd. | Hardware data compressor that maintains sorted symbol list concurrently with input block scanning |
US10693495B2 (en) | 2017-10-10 | 2020-06-23 | The Boeing Company | Data collection device with efficient data compression |
KR102488129B1 (ko) | 2018-02-05 | 2023-01-12 | 에스케이하이닉스 주식회사 | 고속으로 데이터를 인코딩하는 장치 |
CN112332854A (zh) * | 2020-11-27 | 2021-02-05 | 平安普惠企业管理有限公司 | 霍夫曼编码的硬件实现方法、装置及存储介质 |
CN112737596A (zh) * | 2021-01-07 | 2021-04-30 | 苏州浪潮智能科技有限公司 | 一种基于排序网络的动态霍夫曼编码方法、装置及设备 |
Family Cites Families (115)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4899149A (en) * | 1986-02-28 | 1990-02-06 | Gary Kahan | Method of and apparatus for decoding Huffman or variable-length coees |
US4813056A (en) | 1987-12-08 | 1989-03-14 | General Electric Company | Modified statistical coding of digital signals |
EP0593046B1 (en) | 1992-10-13 | 2000-07-26 | Nec Corporation | Huffman code decoding circuit |
US5778371A (en) * | 1994-09-13 | 1998-07-07 | Kabushiki Kaisha Toshiba | Code string processing system and method using intervals |
KR0139162B1 (ko) * | 1994-11-30 | 1998-05-15 | 김광호 | 부호어재배정을 이용한 가변장부호화장치 및 복호화장치 |
US5875122A (en) | 1996-12-17 | 1999-02-23 | Intel Corporation | Integrated systolic architecture for decomposition and reconstruction of signals using wavelet transforms |
JP3346204B2 (ja) * | 1996-12-26 | 2002-11-18 | 富士ゼロックス株式会社 | 可変長符号復号装置 |
GB2367223B (en) * | 1997-01-21 | 2002-05-15 | Fujitsu Ltd | Data encoding method and apparatus and data decoding method and apparatus |
US6009201A (en) | 1997-06-30 | 1999-12-28 | Intel Corporation | Efficient table-lookup based visually-lossless image compression scheme |
US6694061B1 (en) * | 1997-06-30 | 2004-02-17 | Intel Corporation | Memory based VLSI architecture for image compression |
US5973627A (en) * | 1997-08-28 | 1999-10-26 | Philips Electronics North America Corporation | Variable length decoder with adaptive acceleration optimized by sub-grouping and cross-grouping the symbols having the highest probability of occurrence |
US6009206A (en) | 1997-09-30 | 1999-12-28 | Intel Corporation | Companding algorithm to transform an image to a lower bit resolution |
US6160918A (en) | 1997-10-02 | 2000-12-12 | At&T Corp. | Method and apparatus for fast image compression |
US6151069A (en) * | 1997-11-03 | 2000-11-21 | Intel Corporation | Dual mode digital camera for video and still operation |
US6285796B1 (en) | 1997-11-03 | 2001-09-04 | Intel Corporation | Pseudo-fixed length image compression scheme |
US6130960A (en) | 1997-11-03 | 2000-10-10 | Intel Corporation | Block-matching algorithm for color interpolation |
US6091851A (en) | 1997-11-03 | 2000-07-18 | Intel Corporation | Efficient algorithm for color recovery from 8-bit to 24-bit color pixels |
US6351555B1 (en) | 1997-11-26 | 2002-02-26 | Intel Corporation | Efficient companding algorithm suitable for color imaging |
US6094508A (en) | 1997-12-08 | 2000-07-25 | Intel Corporation | Perceptual thresholding for gradient-based local edge detection |
US6229578B1 (en) | 1997-12-08 | 2001-05-08 | Intel Corporation | Edge-detection based noise removal algorithm |
US6348929B1 (en) | 1998-01-16 | 2002-02-19 | Intel Corporation | Scaling algorithm and architecture for integer scaling in video |
US6215916B1 (en) | 1998-02-04 | 2001-04-10 | Intel Corporation | Efficient algorithm and architecture for image scaling using discrete wavelet transforms |
US6075470A (en) | 1998-02-26 | 2000-06-13 | Research In Motion Limited | Block-wise adaptive statistical data compressor |
US6392699B1 (en) | 1998-03-04 | 2002-05-21 | Intel Corporation | Integrated color interpolation and color space conversion algorithm from 8-bit bayer pattern RGB color space to 12-bit YCrCb color space |
US6211521B1 (en) | 1998-03-13 | 2001-04-03 | Intel Corporation | Infrared pixel sensor and infrared signal correction |
US6356276B1 (en) | 1998-03-18 | 2002-03-12 | Intel Corporation | Median computation-based integrated color interpolation and color space conversion methodology from 8-bit bayer pattern RGB color space to 12-bit YCrCb color space |
US6366694B1 (en) | 1998-03-26 | 2002-04-02 | Intel Corporation | Integrated color interpolation and color space conversion algorithm from 8-bit Bayer pattern RGB color space to 24-bit CIE XYZ color space |
US6366692B1 (en) | 1998-03-30 | 2002-04-02 | Intel Corporation | Median computation-based integrated color interpolation and color space conversion methodology from 8-bit bayer pattern RGB color space to 24-bit CIE XYZ color space |
US6154493A (en) | 1998-05-21 | 2000-11-28 | Intel Corporation | Compression of color images based on a 2-dimensional discrete wavelet transform yielding a perceptually lossless image |
US6040790A (en) * | 1998-05-29 | 2000-03-21 | Xerox Corporation | Method of building an adaptive huffman codeword tree |
US6124811A (en) | 1998-07-02 | 2000-09-26 | Intel Corporation | Real time algorithms and architectures for coding images compressed by DWT-based techniques |
US6233358B1 (en) | 1998-07-13 | 2001-05-15 | Intel Corporation | Image compression using directional predictive coding of the wavelet coefficients |
US6236765B1 (en) | 1998-08-05 | 2001-05-22 | Intel Corporation | DWT-based up-sampling algorithm suitable for image display in an LCD panel |
US6047303A (en) | 1998-08-06 | 2000-04-04 | Intel Corporation | Systolic architecture for computing an inverse discrete wavelet transforms |
US6178269B1 (en) | 1998-08-06 | 2001-01-23 | Intel Corporation | Architecture for computing a two-dimensional discrete wavelet transform |
US5995210A (en) | 1998-08-06 | 1999-11-30 | Intel Corporation | Integrated architecture for computing a forward and inverse discrete wavelet transforms |
US6166664A (en) | 1998-08-26 | 2000-12-26 | Intel Corporation | Efficient data structure for entropy encoding used in a DWT-based high performance image compression |
US6301392B1 (en) | 1998-09-03 | 2001-10-09 | Intel Corporation | Efficient methodology to select the quantization threshold parameters in a DWT-based image compression scheme in order to score a predefined minimum number of images into a fixed size secondary storage |
US6731807B1 (en) * | 1998-09-11 | 2004-05-04 | Intel Corporation | Method of compressing and/or decompressing a data set using significance mapping |
US6195026B1 (en) | 1998-09-14 | 2001-02-27 | Intel Corporation | MMX optimized data packing methodology for zero run length and variable length entropy encoding |
US6108453A (en) | 1998-09-16 | 2000-08-22 | Intel Corporation | General image enhancement framework |
US6236433B1 (en) | 1998-09-29 | 2001-05-22 | Intel Corporation | Scaling algorithm for efficient color representation/recovery in video |
US6625318B1 (en) * | 1998-11-13 | 2003-09-23 | Yap-Peng Tan | Robust sequential approach in detecting defective pixels within an image sensor |
US6759646B1 (en) * | 1998-11-24 | 2004-07-06 | Intel Corporation | Color interpolation for a four color mosaic pattern |
US6535648B1 (en) * | 1998-12-08 | 2003-03-18 | Intel Corporation | Mathematical model for gray scale and contrast enhancement of a digital image |
US6151415A (en) | 1998-12-14 | 2000-11-21 | Intel Corporation | Auto-focusing algorithm using discrete wavelet transform |
US6215908B1 (en) | 1999-02-24 | 2001-04-10 | Intel Corporation | Symmetric filtering based VLSI architecture for image compression |
US6381357B1 (en) | 1999-02-26 | 2002-04-30 | Intel Corporation | Hi-speed deterministic approach in detecting defective pixels within an image sensor |
US6275206B1 (en) | 1999-03-17 | 2001-08-14 | Intel Corporation | Block mapping based up-sampling method and apparatus for converting color images |
US6574374B1 (en) * | 1999-04-14 | 2003-06-03 | Intel Corporation | Enhancing image compression performance by morphological processing |
US6377280B1 (en) | 1999-04-14 | 2002-04-23 | Intel Corporation | Edge enhanced image up-sampling algorithm using discrete wavelet transform |
US6563948B2 (en) * | 1999-04-29 | 2003-05-13 | Intel Corporation | Using an electronic camera to build a file containing text |
US6640017B1 (en) | 1999-05-26 | 2003-10-28 | Intel Corporation | Method and apparatus for adaptively sharpening an image |
US6697534B1 (en) * | 1999-06-09 | 2004-02-24 | Intel Corporation | Method and apparatus for adaptively sharpening local image content of an image |
US6292114B1 (en) * | 1999-06-10 | 2001-09-18 | Intel Corporation | Efficient memory mapping of a huffman coded list suitable for bit-serial decoding |
US6628716B1 (en) * | 1999-06-29 | 2003-09-30 | Intel Corporation | Hardware efficient wavelet-based video compression scheme |
US6600833B1 (en) * | 1999-07-23 | 2003-07-29 | Intel Corporation | Methodology for color correction with noise regulation |
US6373481B1 (en) | 1999-08-25 | 2002-04-16 | Intel Corporation | Method and apparatus for automatic focusing in an image capture system using symmetric FIR filters |
US7065253B2 (en) * | 1999-09-03 | 2006-06-20 | Intel Corporation | Wavelet zerotree coding of ordered bits |
US6625308B1 (en) * | 1999-09-10 | 2003-09-23 | Intel Corporation | Fuzzy distinction based thresholding technique for image segmentation |
US6658399B1 (en) | 1999-09-10 | 2003-12-02 | Intel Corporation | Fuzzy based thresholding technique for image segmentation |
US6633610B2 (en) * | 1999-09-27 | 2003-10-14 | Intel Corporation | Video motion estimation |
US6956903B2 (en) | 2001-05-29 | 2005-10-18 | Intel Corporation | Method and apparatus for three-dimensional wavelet transform |
US7106910B2 (en) * | 1999-10-01 | 2006-09-12 | Intel Corporation | Color video coding scheme |
US6798901B1 (en) * | 1999-10-01 | 2004-09-28 | Intel Corporation | Method of compressing a color image |
US6834123B2 (en) | 2001-05-29 | 2004-12-21 | Intel Corporation | Method and apparatus for coding of wavelet transformed coefficients |
US6292144B1 (en) * | 1999-10-15 | 2001-09-18 | Northwestern University | Elongate radiator conformal antenna for portable communication devices |
US6731706B1 (en) * | 1999-10-29 | 2004-05-04 | Intel Corporation | Square root raised cosine symmetric filter for mobile telecommunications |
US6813384B1 (en) | 1999-11-10 | 2004-11-02 | Intel Corporation | Indexing wavelet compressed video for efficient data handling |
US6628827B1 (en) * | 1999-12-14 | 2003-09-30 | Intel Corporation | Method of upscaling a color image |
US6650688B1 (en) | 1999-12-20 | 2003-11-18 | Intel Corporation | Chip rate selectable square root raised cosine filter for mobile telecommunications |
US6757430B2 (en) * | 1999-12-28 | 2004-06-29 | Intel Corporation | Image processing architecture |
US6748118B1 (en) * | 2000-02-18 | 2004-06-08 | Intel Corporation | Method of quantizing signal samples of an image during same |
US6654501B1 (en) | 2000-03-06 | 2003-11-25 | Intel Corporation | Method of integrating a watermark into an image |
US6449380B1 (en) * | 2000-03-06 | 2002-09-10 | Intel Corporation | Method of integrating a watermark into a compressed image |
US6738520B1 (en) * | 2000-06-19 | 2004-05-18 | Intel Corporation | Method of compressing an image |
US6775413B1 (en) * | 2000-09-18 | 2004-08-10 | Intel Corporation | Techniques to implement one-dimensional compression |
WO2002032016A1 (en) * | 2000-10-09 | 2002-04-18 | Samsung Electronics Co., Ltd. | Apparatus and method for coding/decoding tfci bits in an asynchronous cdma communicaiton system |
US6636167B1 (en) | 2000-10-31 | 2003-10-21 | Intel Corporation | Method of generating Huffman code length information |
US6563439B1 (en) * | 2000-10-31 | 2003-05-13 | Intel Corporation | Method of performing Huffman decoding |
US6690306B1 (en) * | 2000-11-03 | 2004-02-10 | Intel Corporation | Method of generating a length-constrained huffman code |
US6678708B1 (en) * | 2000-11-15 | 2004-01-13 | Intel Corporation | Method and apparatus for two-dimensional separable symmetric filtering |
US6751640B1 (en) * | 2000-11-20 | 2004-06-15 | Intel Corporation | Method and apparatus for multiply-accumulate two-dimensional separable symmetric filtering |
US6842181B2 (en) * | 2000-11-27 | 2005-01-11 | Intel Corporation | Euler vector for color images |
US6707928B2 (en) * | 2000-11-29 | 2004-03-16 | Intel Corporation | Method for block-based digital image watermarking |
US20020063899A1 (en) * | 2000-11-29 | 2002-05-30 | Tinku Acharya | Imaging device connected to processor-based system using high-bandwidth bus |
US6917381B2 (en) * | 2000-11-30 | 2005-07-12 | Intel Corporation | Color filter array and color interpolation algorithm |
US20020122482A1 (en) * | 2001-01-03 | 2002-09-05 | Kim Hyun Mun | Method of performing video encoding rate control using bit budget |
US6662200B2 (en) | 2001-01-03 | 2003-12-09 | Intel Corporation | Multiplierless pyramid filter |
US20020118746A1 (en) * | 2001-01-03 | 2002-08-29 | Kim Hyun Mun | Method of performing video encoding rate control using motion estimation |
US6681060B2 (en) * | 2001-03-23 | 2004-01-20 | Intel Corporation | Image retrieval using distance measure |
US20020174154A1 (en) | 2001-03-26 | 2002-11-21 | Tinku Acharya | Two-dimensional pyramid filter architecture |
US6766286B2 (en) * | 2001-03-28 | 2004-07-20 | Intel Corporation | Pyramid filter |
US6889237B2 (en) * | 2001-03-30 | 2005-05-03 | Intel Corporation | Two-dimensional pyramid filter architecture |
US6725247B2 (en) * | 2001-04-30 | 2004-04-20 | Intel Corporation | Two-dimensional pyramid filter architecture |
KR20030008455A (ko) * | 2001-07-18 | 2003-01-29 | 학교법인 포항공과대학교 | 질량분석기를 위한 시료 전처리 장치 |
US20030021486A1 (en) * | 2001-07-27 | 2003-01-30 | Tinku Acharya | Method and apparatus for image scaling |
GB2378361B (en) * | 2001-08-01 | 2004-10-13 | Roke Manor Research | Method for compression of data |
US6653953B2 (en) | 2001-08-22 | 2003-11-25 | Intel Corporation | Variable length coding packing architecture |
US6891889B2 (en) * | 2001-09-05 | 2005-05-10 | Intel Corporation | Signal to noise ratio optimization for video compression bit-rate control |
US6996180B2 (en) * | 2001-09-05 | 2006-02-07 | Intel Corporation | Fast half-pixel motion estimation using steepest descent |
US20030063782A1 (en) * | 2001-09-13 | 2003-04-03 | Tinku Acharya | Method and apparatus to reduce false minutiae in a binary fingerprint image |
US7136515B2 (en) * | 2001-09-13 | 2006-11-14 | Intel Corporation | Method and apparatus for providing a binary fingerprint image |
US6795592B2 (en) * | 2001-09-13 | 2004-09-21 | Intel Corporation | Architecture for processing fingerprint images |
US6944640B2 (en) * | 2001-12-28 | 2005-09-13 | Intel Corporation | Progressive two-dimensional (2D) pyramid filter |
US20030123539A1 (en) * | 2001-12-28 | 2003-07-03 | Hyung-Suk Kim | Method and apparatus for video bit-rate control |
US20030194008A1 (en) * | 2002-04-11 | 2003-10-16 | Tinku Acharya | Computationally fast and efficient DV to DVD transcoding |
US7133555B2 (en) * | 2002-08-02 | 2006-11-07 | Intel Corporation | Image color matching scheme |
US20040042551A1 (en) * | 2002-09-04 | 2004-03-04 | Tinku Acharya | Motion estimation |
US7266151B2 (en) * | 2002-09-04 | 2007-09-04 | Intel Corporation | Method and system for performing motion estimation using logarithmic search |
US7075987B2 (en) * | 2002-09-23 | 2006-07-11 | Intel Corporation | Adaptive video bit-rate control |
US20040057626A1 (en) * | 2002-09-23 | 2004-03-25 | Tinku Acharya | Motion estimation using a context adaptive search |
US20040169748A1 (en) * | 2003-02-28 | 2004-09-02 | Tinku Acharya | Sub-sampled infrared sensor for use in a digital image capture device |
US20040174446A1 (en) * | 2003-02-28 | 2004-09-09 | Tinku Acharya | Four-color mosaic pattern for depth and image capture |
US7274393B2 (en) * | 2003-02-28 | 2007-09-25 | Intel Corporation | Four-color mosaic pattern for depth and image capture |
-
2000
- 2000-10-31 US US09/704,392 patent/US6636167B1/en not_active Expired - Lifetime
-
2001
- 2001-10-09 KR KR1020037006043A patent/KR100667293B1/ko not_active IP Right Cessation
- 2001-10-09 CN CNA018182151A patent/CN1531781A/zh active Pending
- 2001-10-09 AU AU2002215320A patent/AU2002215320A1/en not_active Abandoned
- 2001-10-09 JP JP2002540320A patent/JP4012065B2/ja not_active Expired - Fee Related
- 2001-10-09 KR KR1020067010255A patent/KR100708370B1/ko not_active IP Right Cessation
- 2001-10-09 DE DE10196847T patent/DE10196847B4/de not_active Expired - Fee Related
- 2001-10-09 WO PCT/US2001/031440 patent/WO2002037690A2/en not_active Application Discontinuation
- 2001-10-09 GB GB0311325A patent/GB2385758B/en not_active Expired - Fee Related
- 2001-10-29 TW TW090126740A patent/TW538601B/zh not_active IP Right Cessation
-
2003
- 2003-06-03 US US10/454,553 patent/US6987469B2/en not_active Expired - Fee Related
-
2005
- 2005-12-06 US US11/296,016 patent/US7190287B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104579356A (zh) * | 2013-10-21 | 2015-04-29 | 国际商业机器公司 | 在存在重现的霍夫曼树的情况下加速解压缩的方法和系统 |
CN104579356B (zh) * | 2013-10-21 | 2017-09-15 | 国际商业机器公司 | 在存在重现的霍夫曼树的情况下加速解压缩的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
GB2385758A (en) | 2003-08-27 |
TW538601B (en) | 2003-06-21 |
DE10196847T1 (de) | 2003-12-04 |
US20060087460A1 (en) | 2006-04-27 |
US6636167B1 (en) | 2003-10-21 |
WO2002037690A2 (en) | 2002-05-10 |
WO2002037690A3 (en) | 2002-08-22 |
US6987469B2 (en) | 2006-01-17 |
GB2385758B (en) | 2004-06-23 |
US7190287B2 (en) | 2007-03-13 |
DE10196847B4 (de) | 2009-10-01 |
JP4012065B2 (ja) | 2007-11-21 |
KR20060064032A (ko) | 2006-06-12 |
KR100708370B1 (ko) | 2007-04-18 |
JP2004525537A (ja) | 2004-08-19 |
GB0311325D0 (en) | 2003-06-25 |
AU2002215320A1 (en) | 2002-05-15 |
KR100667293B1 (ko) | 2007-01-10 |
US20030210164A1 (en) | 2003-11-13 |
KR20030044066A (ko) | 2003-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1531781A (zh) | 一种产生霍夫曼代码长度信息的方法 | |
CN1547805A (zh) | 执行霍夫曼解码的方法 | |
CN1575549A (zh) | 通过组合陪集和强编码陪集标识符实现正交幅度调制的系统和方法 | |
CN1193428A (zh) | 电子节目指导信息的压缩 | |
CN1155221C (zh) | 编码方法及系统以及译码方法及系统 | |
CN103067022A (zh) | 一种整型数据无损压缩方法、解压缩方法及装置 | |
Saravanan et al. | Enhancing efficiency of huffman coding using Lempel Ziv coding for image compression | |
CN1758756A (zh) | 一种用于将待编码数据进行二进制化编码的方法和装置 | |
CN1126270C (zh) | 使用可变长度编码器的传输系统 | |
Turpin et al. | Housekeeping for prefix coding | |
CN1495617A (zh) | 将象形文字字符的象形文字字形数据解压缩的装置和方法 | |
CN1108014C (zh) | 具有字节校准单元的可变长度码编码及分段装置 | |
CN1296010C (zh) | 针对原始ct图像数据的压缩及解压缩方法 | |
CN1337785A (zh) | 可变长度解码系统和方法 | |
CN1107381C (zh) | 扫描图像实时压缩/解压缩方法 | |
Zhou et al. | Distributed arithmetic coding with interval swapping | |
CN1236623C (zh) | 信息熵保持解码方法与装置 | |
CN1222170C (zh) | 用于提高码率的块编码/解码方法和设备 | |
Baruah et al. | Enhancing dictionary based preprocessing for better text compression | |
Christiansen et al. | Streaming Thin Client Compression | |
CN1236622C (zh) | 信息熵保持编码方法与装置 | |
JP2014078994A (ja) | 数値データ列の符号化/復号化の方法および装置 | |
JPH0723238A (ja) | 画像データ圧縮及び復元装置 | |
JPH08149016A (ja) | 文字列の符号化方法 | |
Ponomarenko et al. | Fast recursive coding based on grouping of Symbols |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |