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
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) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12418309B2 (en) | 2022-12-14 | 2025-09-16 | Kioxia Corporation | Code table generation device, memory system, and code table generation method |
Families Citing this family (9)
| 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 | 平安普惠企业管理有限公司 | 一种数据传输方法、装置、计算机设备及存储介质 |
| CN113676187B (zh) * | 2021-08-11 | 2024-07-05 | 山东云海国创云计算装备产业创新中心有限公司 | 一种哈夫曼修正编码方法、系统及相关组件 |
| CN113708772B (zh) * | 2021-08-11 | 2024-07-26 | 山东云海国创云计算装备产业创新中心有限公司 | 一种哈夫曼编码方法、系统、装置及可读存储介质 |
| CN113852379B (zh) * | 2021-09-03 | 2025-11-18 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据编码方法、系统、设备及计算机可读存储介质 |
| CN113965207B (zh) * | 2021-12-17 | 2022-03-15 | 苏州浪潮智能科技有限公司 | 一种基于deflate霍夫曼编码的动态码表生成装置和方法 |
| US12113554B2 (en) * | 2022-07-12 | 2024-10-08 | 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 not_active Expired - Fee Related
- 2016-10-28 JP JP2016211783A patent/JP6681313B2/ja not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12418309B2 (en) | 2022-12-14 | 2025-09-16 | Kioxia Corporation | Code table generation device, memory system, and code table generation method |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2017098946A (ja) | 2017-06-01 |
| GB201615020D0 (en) | 2016-10-19 |
| US9584156B1 (en) | 2017-02-28 |
| GB2544587A (en) | 2017-05-24 |
| DE102016220801B4 (de) | 2019-05-09 |
| DE102016220801A1 (de) | 2017-05-18 |
| GB2544587B (en) | 2018-02-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6681313B2 (ja) | データを符号化するための方法、コンピュータ・プログラムおよびシステム | |
| US9390098B2 (en) | Fast approximation to optimal compression of digital data | |
| US11106735B2 (en) | Directed graph compression | |
| CN106560010B (zh) | Vlsi高效霍夫曼编码设备和方法 | |
| US10547324B2 (en) | Data compression coding method, apparatus therefor, and program therefor | |
| CN106202172B (zh) | 文本压缩方法及装置 | |
| US5585793A (en) | Order preserving data translation | |
| IL294187B1 (en) | Methods and systems for data compression | |
| JP2012124679A (ja) | 符号化データを復号する装置及び方法 | |
| CN109690957B (zh) | 熵编码的系统级测试 | |
| US9529835B2 (en) | Online compression for limited sequence length radix tree | |
| WO2007108395A1 (ja) | 可変長符号の復号装置および復号方法 | |
| JP4758494B2 (ja) | ビット長を符号に変換する回路及び方法 | |
| JP2011145883A (ja) | 圧縮装置、方法及びプログラム、並びに展開装置、方法及びプログラム | |
| CN120729323A (zh) | 数据压缩方法、数据解压方法、计算设备、存储介质及程序产品 | |
| JP6512294B2 (ja) | 圧縮プログラム、圧縮方法および圧縮装置 | |
| US8786471B1 (en) | Lossless data compression with variable width codes | |
| Hameed et al. | A new lossless method of Huffman coding for text data compression and decompression process with FPGA implementation | |
| EP3422582B1 (en) | System and method for real-time compression of data frames | |
| CN111224674B (zh) | 多进制ldpc码的解码方法、装置及解码器 | |
| Pannirselvam et al. | A Comparative Analysis on Different Techniques in Text Compression | |
| Rezaei | An examination of the sub-optimality of the state-sorting algorithm in tabled asymmetric numeral systems | |
| US20100013681A1 (en) | Preprocessing Variable-Length Code (VLC) Bitstream Information | |
| Alzahir | A fast lossless compression algorithm for Arabic textual images | |
| WO2017056327A1 (ja) | 符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置 |
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 |