JP6681313B2 - データを符号化するための方法、コンピュータ・プログラムおよびシステム - Google Patents
データを符号化するための方法、コンピュータ・プログラムおよびシステム Download PDFInfo
- Publication number
- JP6681313B2 JP6681313B2 JP2016211783A JP2016211783A JP6681313B2 JP 6681313 B2 JP6681313 B2 JP 6681313B2 JP 2016211783 A JP2016211783 A JP 2016211783A JP 2016211783 A JP2016211783 A JP 2016211783A JP 6681313 B2 JP6681313 B2 JP 6681313B2
- Authority
- JP
- Japan
- Prior art keywords
- input data
- dynamic huffman
- dynamic
- symbols
- counts
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 57
- 238000004590 computer program Methods 0.000 title claims description 10
- 238000009826 distribution Methods 0.000 claims description 36
- 230000003068 static effect Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims 2
- 238000007906 compression Methods 0.000 description 29
- 230000006835 compression Effects 0.000 description 29
- 238000003860 storage Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
- H03M7/42—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
710 コンピュータ・システム
720 プロセッサ・デバイス
725 ネットワーク・インタフェース
730 メモリ
735 媒体インタフェース
740 ディスプレイ
750 取外し可能媒体
Claims (16)
- データを符号化する方法であって、
サンプル・データ・セットから事前計算された複数のハフマン木形状を表す動的ハフマン・テーブルをハードウェア中で実装するステップであって、前記ハフマン木形状が前記動的ハフマン・テーブル中で符号長値によって表される、前記実装するステップと、
入力データの受け取りに応じて、前記入力データからのシンボルおよびそれらのカウントを前記動的ハフマン・テーブルに書き込むステップと、
前記入力データからの前記シンボルおよびカウントを用いて前記動的ハフマン・テーブルのそれぞれについてのスコアを算出するステップであって、前記スコアが、前記事前計算されたハフマン木形状の前記符号長値と前記入力データからの前記カウントとに基づく、前記算出するステップと、
前記動的ハフマン・テーブルのうちで最も低いスコアを有する所与の1つを、前記入力データの符号化のために選択するステップと
を含む方法。 - 前記動的ハフマン・テーブルがスタティック・ランダム・アクセス・メモリ(SRAM)モジュール中で実装される、請求項1に記載の方法。
- 前記動的ハフマン・テーブルをハードウェア中で実装する前記ステップが、
前記SRAMモジュールのそれぞれを、前記動的ハフマン・テーブルのうちの1つについての前記符号長値のソート済みリストで初期化するステップを含む、請求項2に記載の方法。 - 前記入力データからの前記シンボルおよびそれらのカウントを前記動的ハフマン・テーブルに書き込む前記ステップが、
前記入力データからの前記シンボルおよびそれらのカウントを前記SRAMモジュールのそれぞれに書き込むステップを含む、請求項2または3に記載の方法。 - 前記動的ハフマン・テーブルのそれぞれについての前記スコアを算出する前記ステップが、
前記動的ハフマン・テーブルのそれぞれの中のエントリごとの、事前計算された符号長値と前記入力データからのカウントとの積の、合計を決定するステップを含む、請求項1ないし4のいずれかに記載の方法。 - 前記動的ハフマン・テーブルをハードウェア中で実装する前記ステップがさらに、
前記サンプル・データ・セットについてのシンボル分布のセットを識別するステップを含む、請求項1ないし5のいずれかに記載の方法。 - 前記動的ハフマン・テーブルをハードウェア中で実装する前記ステップがさらに、
可変符号長値だけが残るように前記動的ハフマン・テーブルからシンボルを除去するステップを含む、請求項1ないし6のいずれかに記載の方法。 - 前記動的ハフマン・テーブルをハードウェア中で実装する前記ステップがさらに、
前記動的ハフマン・テーブル中の前記符号長値を最短から最長へとソートするステップを含む、請求項1ないし7のいずれかに記載の方法。 - 入力データの受け取りに応じて、前記動的ハフマン・テーブル中のシンボルフィールドをNULLに初期化し、前記動的ハフマン・テーブル中のカウント・フィールドを0に初期化するステップをさらに含む、請求項1ないし8のいずれかに記載の方法。
- 前記入力データ中の前記シンボルをカウントするステップをさらに含む、請求項1ないし9のいずれかに記載の方法。
- 前記入力データ中の前記シンボルを、それらのカウントによって、最も頻繁なカウントから最も頻繁でないカウントへの順でソートするステップをさらに含む、請求項1ないし10のいずれかに記載の方法。
- データを符号化する方法であって、
サンプル・データ・セットから事前計算された複数のハフマン木形状を表す動的ハフマン・テーブルをハードウェア中で実装するステップであって、前記ハフマン木形状が前記動的ハフマン・テーブル中で符号長値によって表され、前記ハードウェアがSRAMモジュールを含み、前記動的ハフマン・テーブルが、前記動的ハフマン・テーブルのうちの1つについての前記符号長値のソート済みリストで前記SRAMモジュールのそれぞれを初期化することによって前記ハードウェア中で実装される、前記実装するステップと、
入力データの受取り時に、前記入力データからのシンボルおよびそれらのカウントを前記SRAMモジュールのそれぞれの中の前記動的ハフマン・テーブルに書き込むステップと、
前記入力データからの前記シンボルおよびカウントを用いて、前記動的ハフマン・テーブルのそれぞれについてのスコアを算出するステップであって、前記スコアが、前記事前計算されたハフマン木形状の前記符号長値と前記入力データからの前記カウントとに基づく、前記算出するステップと、
前記動的ハフマン・テーブルのうちで最も低いスコアを有する所与の1つを、前記入力データの符号化のために選択するステップと
を含む方法。 - データを符号化するためのコンピュータ・プログラムであって、
サンプル・データ・セットから事前計算された複数のハフマン木形状を表す動的ハフマン・テーブルをハードウェア中で実装することであって、前記ハフマン木形状が前記動的ハフマン・テーブル中で符号長値によって表される、前記実装することと、
入力データの受取り時に、前記入力データからのシンボルおよびそれらのカウントを前記動的ハフマン・テーブルに書き込むことと、
前記入力データからの前記シンボルおよびカウントを用いて前記動的ハフマン・テーブルのそれぞれについてのスコアを算出することであって、前記スコアが、前記事前計算されたハフマン木形状の前記符号長値と前記入力データからの前記カウントとに基づく、前記算出することと、
前記動的ハフマン・テーブルのうちで最も低いスコアを有する所与の1つを、前記入力データの符号化のために選択することと
をコンピュータに実行させる、コンピュータ・プログラム。 - 請求項1ないし12のいずれかに記載の方法の各ステップをコンピュータに実行させる、コンピュータ・プログラム。
- 請求項1ないし12のいずれかに記載の方法の各ステップを実行するための手段を備える、システム。
- プロセッサと前記プロセッサに接続可能な第二のメモリであり、前記動的ハフマン・テーブルが実装されない前記第二のメモリを備えるシステムであって、
前記第二のメモリがコンピュータ・プログラムを含み、前記プロセッサが前記第二のメモリから前記コンピュータ・プログラムを読み出して、請求項1ないし12のいずれかに記載の方法の各ステップを実行する、
システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/943,590 US9584156B1 (en) | 2015-11-17 | 2015-11-17 | Creating a dynamic Huffman table |
US14/943590 | 2015-11-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017098946A JP2017098946A (ja) | 2017-06-01 |
JP6681313B2 true JP6681313B2 (ja) | 2020-04-15 |
Family
ID=57139845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016211783A Expired - Fee Related JP6681313B2 (ja) | 2015-11-17 | 2016-10-28 | データを符号化するための方法、コンピュータ・プログラムおよびシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US9584156B1 (ja) |
JP (1) | JP6681313B2 (ja) |
DE (1) | DE102016220801B4 (ja) |
GB (1) | GB2544587B (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10693493B1 (en) * | 2019-02-14 | 2020-06-23 | International Business Machines Corporation | Reducing latch count to save hardware area for dynamic Huffman table generation |
US10651871B1 (en) * | 2019-07-10 | 2020-05-12 | Citrix Systems, Inc. | Real-time history-based byte stream compression |
US11663119B2 (en) | 2020-05-29 | 2023-05-30 | International Business Machines Corporation | Select decompression headers and symbol start indicators used in writing decompressed data |
CN112437060B (zh) * | 2020-11-11 | 2022-11-18 | 平安普惠企业管理有限公司 | 一种数据传输方法、装置、计算机设备及存储介质 |
CN113676187A (zh) * | 2021-08-11 | 2021-11-19 | 山东云海国创云计算装备产业创新中心有限公司 | 一种哈夫曼修正编码方法、系统及相关组件 |
CN113708772A (zh) * | 2021-08-11 | 2021-11-26 | 山东云海国创云计算装备产业创新中心有限公司 | 一种哈夫曼编码方法、系统、装置及可读存储介质 |
CN113965207B (zh) * | 2021-12-17 | 2022-03-15 | 苏州浪潮智能科技有限公司 | 一种基于deflate霍夫曼编码的动态码表生成装置和方法 |
US20240022260A1 (en) * | 2022-07-12 | 2024-01-18 | Samsung Display Co., Ltd. | Low complexity optimal parallel huffman encoder and decoder |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5848195A (en) * | 1995-12-06 | 1998-12-08 | Intel Corporation | Selection of huffman tables for signal encoding |
JP3824343B2 (ja) | 1996-03-29 | 2006-09-20 | 富士通株式会社 | 半導体装置 |
US5953503A (en) | 1997-10-29 | 1999-09-14 | Digital Equipment Corporation | Compression protocol with multiple preset dictionaries |
US6839005B1 (en) * | 2003-11-07 | 2005-01-04 | Broadcom Corporation | Low memory and MIPS efficient technique for decoding Huffman codes using multi-stage, multi-bits lookup at different levels |
US7737870B1 (en) * | 2007-09-04 | 2010-06-15 | Nortel Networks Limited | Bit-stream huffman coding for data compression |
US7834781B2 (en) | 2009-04-06 | 2010-11-16 | International Business Machines Corporation | Method of constructing an approximated dynamic Huffman table for use in data compression |
TWI343192B (en) * | 2009-06-12 | 2011-06-01 | Ind Tech Res Inst | Decoding method |
JP5087166B2 (ja) * | 2011-11-02 | 2012-11-28 | 日本電信電話株式会社 | 符号表選択方法、符号化装置、及びプログラム |
US8610606B2 (en) | 2011-11-24 | 2013-12-17 | International Business Machines Corporation | Compression algorithm incorporating dynamic selection of a predefined huffman dictionary |
-
2015
- 2015-11-17 US US14/943,590 patent/US9584156B1/en not_active Expired - Fee Related
-
2016
- 2016-09-05 GB GB1615020.3A patent/GB2544587B/en active Active
- 2016-10-24 DE DE102016220801.2A patent/DE102016220801B4/de active Active
- 2016-10-28 JP JP2016211783A patent/JP6681313B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2017098946A (ja) | 2017-06-01 |
US9584156B1 (en) | 2017-02-28 |
DE102016220801A1 (de) | 2017-05-18 |
GB2544587B (en) | 2018-02-07 |
DE102016220801B4 (de) | 2019-05-09 |
GB2544587A (en) | 2017-05-24 |
GB201615020D0 (en) | 2016-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6681313B2 (ja) | データを符号化するための方法、コンピュータ・プログラムおよびシステム | |
US9390098B2 (en) | Fast approximation to optimal compression of digital data | |
US10547324B2 (en) | Data compression coding method, apparatus therefor, and program therefor | |
US20130307709A1 (en) | Efficient techniques for aligned fixed-length compression | |
US5585793A (en) | Order preserving data translation | |
US20200034389A1 (en) | Directed graph compression | |
EP4082119A1 (en) | Systems and methods of data compression | |
Al-Okaily et al. | Toward a better compression for DNA sequences using Huffman encoding | |
GB2539966A (en) | Data processing method and apparatus | |
JP5656593B2 (ja) | 符号化データを復号する装置及び方法 | |
TWI643061B (zh) | 用於熵編碼之系統層級測試之電腦實施方法、系統及電腦程式產品 | |
JP4758494B2 (ja) | ビット長を符号に変換する回路及び方法 | |
JP2011145883A (ja) | 圧縮装置、方法及びプログラム、並びに展開装置、方法及びプログラム | |
CN104682966B (zh) | 列表数据的无损压缩方法 | |
JP6645013B2 (ja) | 符号化プログラム、符号化方法、符号化装置および伸長方法 | |
Hameed et al. | A new lossless method of Huffman coding for text data compression and decompression process with FPGA implementation | |
JP6512294B2 (ja) | 圧縮プログラム、圧縮方法および圧縮装置 | |
Prezza | Can Lempel-Ziv and Burrows-Wheeler compression be asymptotically compared | |
US7791509B2 (en) | Preprocessing variable-length code (VLC) bitstream information | |
EP3422582B1 (en) | System and method for real-time compression of data frames | |
Pannirselvam et al. | A Comparative Analysis on Different Techniques in Text Compression | |
Alzahir | A fast lossless compression algorithm for Arabic textual images | |
WO2017056327A1 (ja) | 符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置 | |
Saini et al. | Optimizing Parameters For Generalized Huffman Based Text Compression | |
Rachid | Research Article Two Efficient Techniques to Find Approximate Overlaps between Sequences |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190326 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200225 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200306 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200317 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200323 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6681313 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |