High-speed software implementation of Huffman coding

Mikio Kawahara, Yi-jen Chiu, T. Berger
{"title":"High-speed software implementation of Huffman coding","authors":"Mikio Kawahara, Yi-jen Chiu, T. Berger","doi":"10.1109/DCC.1998.672291","DOIUrl":null,"url":null,"abstract":"Summary form only given. Huffman coding has been applied in many disciplines including text compression, still image compression, and video compression. In the case of video, several software-only codecs have been developed aiming at real-time performance. However, they fall well short of achieving full screen, high-quality, and full-motion. A key bottleneck in such software implementations occurs during writing and reading of the Huffman-coded bit stream. The reason is that the minimum unit for software operations is a byte rather than a bit. Therefore, the need to read/write data in bits necessitates devising means to bridge the bits-to-bytes and and bytes-to-bits gaps efficiently. We introduce new tables for software-only Huffman coding that enable us to write/read data in M-bit units, thereby virtually eliminating the need for inefficient software simulation of bit-based operations. We present an offset-based Huffman encoding table containing information for each number of bits by which the length of a Huffman word is offset from an integral number of bytes. The number of rows in the offset-based Huffman encoding table is M times that of the general Huffman table. The offset-based Huffman encoding table eliminates most of the bit operations, but it still requires some bit-based operations to update the offset and the condition of the current unit. In order to avoid bit operations entirely, we extend the offset-based table into a byte-based table by associating a unique subtable with each offset and unit condition. A byte-based Huffman decoding table has also been studied.","PeriodicalId":191890,"journal":{"name":"Proceedings DCC '98 Data Compression Conference (Cat. No.98TB100225)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1998-03-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"14","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings DCC '98 Data Compression Conference (Cat. No.98TB100225)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/DCC.1998.672291","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 14

Abstract

Summary form only given. Huffman coding has been applied in many disciplines including text compression, still image compression, and video compression. In the case of video, several software-only codecs have been developed aiming at real-time performance. However, they fall well short of achieving full screen, high-quality, and full-motion. A key bottleneck in such software implementations occurs during writing and reading of the Huffman-coded bit stream. The reason is that the minimum unit for software operations is a byte rather than a bit. Therefore, the need to read/write data in bits necessitates devising means to bridge the bits-to-bytes and and bytes-to-bits gaps efficiently. We introduce new tables for software-only Huffman coding that enable us to write/read data in M-bit units, thereby virtually eliminating the need for inefficient software simulation of bit-based operations. We present an offset-based Huffman encoding table containing information for each number of bits by which the length of a Huffman word is offset from an integral number of bytes. The number of rows in the offset-based Huffman encoding table is M times that of the general Huffman table. The offset-based Huffman encoding table eliminates most of the bit operations, but it still requires some bit-based operations to update the offset and the condition of the current unit. In order to avoid bit operations entirely, we extend the offset-based table into a byte-based table by associating a unique subtable with each offset and unit condition. A byte-based Huffman decoding table has also been studied.
高速软件实现霍夫曼编码
只提供摘要形式。霍夫曼编码已经应用于许多领域,包括文本压缩、静态图像压缩和视频压缩。在视频方面,已经开发了几种针对实时性能的纯软件编解码器。然而,它们远远不能实现全屏、高质量和全动态。这种软件实现的一个关键瓶颈发生在写入和读取霍夫曼编码的位流期间。原因是软件操作的最小单位是字节而不是位。因此,需要以位为单位读/写数据,就需要设计一种方法来有效地弥合位到字节和字节到比特的差距。我们为仅软件的霍夫曼编码引入了新的表,使我们能够以m位单位写入/读取数据,从而实际上消除了对基于位的操作的低效软件模拟的需要。我们提出了一个基于偏移量的霍夫曼编码表,其中包含每个比特数的信息,通过这些比特数,霍夫曼字的长度从整数字节偏移。基于偏移量的霍夫曼编码表的行数是一般霍夫曼表的M倍。基于偏移量的霍夫曼编码表消除了大多数位操作,但它仍然需要一些基于位的操作来更新偏移量和当前单元的条件。为了完全避免位操作,我们通过将一个唯一的子表与每个偏移量和单位条件关联起来,将基于偏移量的表扩展为基于字节的表。本文还研究了基于字节的霍夫曼解码表。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信