JP2023522316A - 高速ロスレス圧縮のための方法及び装置 - Google Patents
高速ロスレス圧縮のための方法及び装置 Download PDFInfo
- Publication number
- JP2023522316A JP2023522316A JP2022562540A JP2022562540A JP2023522316A JP 2023522316 A JP2023522316 A JP 2023522316A JP 2022562540 A JP2022562540 A JP 2022562540A JP 2022562540 A JP2022562540 A JP 2022562540A JP 2023522316 A JP2023522316 A JP 2023522316A
- Authority
- JP
- Japan
- Prior art keywords
- bits
- bit
- sequence
- codeword
- digital data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000007906 compression Methods 0.000 title description 76
- 230000006835 compression Effects 0.000 title description 76
- 238000012856 packing Methods 0.000 claims abstract description 18
- 238000013507 mapping Methods 0.000 claims abstract description 3
- 230000015654 memory Effects 0.000 claims description 11
- 230000000877 morphologic effect Effects 0.000 claims description 8
- 230000001131 transforming effect Effects 0.000 claims description 2
- 230000006837 decompression Effects 0.000 description 10
- 238000012360 testing method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000003491 array Methods 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 4
- 230000003628 erosive effect Effects 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 3
- 230000000875 corresponding effect Effects 0.000 description 2
- 230000010339 dilation Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241001455214 Acinonyx jubatus Species 0.000 description 1
- 241000122205 Chamaeleonidae Species 0.000 description 1
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- 241000282320 Panthera leo Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011514 reflex Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
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/3066—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction by means of a mask or a bit-map
-
- 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/60—General implementation details not specific to a particular type of compression
- H03M7/6011—Encoder aspects
-
- 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/3068—Precoding preceding compression, e.g. Burrows-Wheeler transformation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
Description
v=(0,20,2,1,19023,550,128,127,255,256,60,70,14,102,22,62)
B=(0,5,2,1,15,10,8,7,8,9,6,7,4,7,5,6)
b4=(0,1,0,0,1,1,1,1,1,1,1,1,0,1,1,1)
b6=(0,0,0,0,1,1,1,1,1,1,0,1,0,1,0,0)
b8=(0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0)
x=(0,1,0,0,1,1,0,0,0,1,1,0,0,0,1,1)
y=(0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0)
このビットマスクエンコーディングの出力は以下である。
・vにおける全ての値のビット0-3
・b4i=1である全てのviのビット4-5
・b6i=1である全てのviのビット6-7
・b8i=1である全てのviのビット8-15
このアルゴリズムは、外れ値及びノイズの多いデータに対して堅牢であり、典型的なデータに対して優れた圧縮比及びコアあたり1.8GB/sの速度を達成する。しかし、異なるデータセットでのいくつかのテストの後、圧縮比は常に期待通りではないことが判明した。
図8は、本発明の方法を、既知の圧縮方法と比較した結果を示す。ここで、図1に関連して記載されている方法(以下でfc16として参照される)が、以下の表において、最先端の圧縮プログラムと比較される。
図8において見られるように、fc16は、最も強力な圧縮アルゴリズム(lzma)とほぼ同じくらい良好に圧縮するが、速度は3桁早い。圧縮速度において最も近い対抗製品(vbzenc16)は、圧縮比がはるかに悪く、解凍が著しく遅い。また、データが圧縮するのにそれほど単純でないとき(CHEC及びctamc)、その圧縮速度はfc16の圧縮速度の半分に低下する。解凍速度及び圧縮比において最も近い対抗製品(p4nzenc16及びp4nzenc128v16)は、fc16より圧縮速度が80%遅い。それらは、fc16よりわずかに優れた圧縮比を有するが、ほとんど全ての場合において、解凍するのが遅い。さらにそれらは、アラインされていないデータを扱うことができない。
独立して処理されるブロックは、わずか512バイトのサイズなので、本発明の方法は、非常に簡単に並列処理され得る。そのような小さいブロックサイズはまた、ハードウェアにおける実現を単純化する。
このアルゴリズムは、最初にハフマンツリー又は類似のものを構築しなければならない従来のアルゴリズムよりエネルギー効率がより良い。
このアルゴリズムは、画像圧縮にも適しているので、多くの可能な応用例が存在する。例えば、自走者のテスト走行の間、システムがなぜ、どのように反応したかが後で理解され得るように、全てのセンサーデータ(上のベンチマークでのように、90パーセント以上が12ビットのRGB(赤緑青)の生のストリーム)が記録される。1日1台当たり、50-100テラバイトのデータが、そのようなテスト走行では格納される。全てのデータはロスレスで記録されるので、データ記録が制限する要因となる。このような記録ボックスを自動車メーカーに販売することを専門とする会社が存在する。本発明の方法によって、データ取得速度又はデータ容量は2倍になり得る。
圧縮比は、アルゴリズムをステートフルにすることによって向上され得る。可能な符号化のより大きなセットが定義され得て、そこから、サブセットが、256個の値のブロックの符号化のために選択され得る。それぞれの符号化が使用される頻度に応じて、異なるサブセットがより大きいセットから選択され得る。例えば、もしデータのノイズが非常に多いなら、上のリストの最初の8つの符号化を含める必要はないが、代わりに他の符号化に取り替えられてもよく、それは10ビット範囲又は10-14ビットマスク符号化のようなより大きな数に適している。ヘッダーサイズを4ビットから2ビット又は3ビットに減らし、その種類のデータに役立つ符号化のみを含めることも可能である。
Claims (22)
- デジタルデータを圧縮する方法であって、前記方法は、
デジタルデータ値のシーケンスを取得することと、
前記デジタルデータ値のシーケンスを、符号語のシーケンスにマッピングすることと、
前記符号語のシーケンスを、均一なビット長を有する記憶語のシーケンスにパックすることと、
前記記憶語のシーケンスを出力することと、
を含み、
前記方法は、それぞれの前記符号語の前記ビット長を示す情報を出力することをさらに含むことを特徴とする方法。 - それぞれの符号語の前記ビット長を示す前記情報は、第1ビットマスクである、
請求項1に記載の方法。 - 前記第1ビットマスクは、それぞれの符号語について、前記符号語の前記ビット長を示す1つ以上のビットを備えている、
請求項2に記載の方法。 - 前記デジタルデータ値のシーケンスに基づいて、符号語の1つ以上のビット長を選択することをさらに含み、
前記デジタルデータ値のシーケンスは、符号語のシーケンスにマッピングされ、前記符号語は、それぞれが前記選択されたビット長のうちの1つを有する、
請求項1-3のいずれか1項に記載の方法。 - 前記選択は、異なる符号語のビット長又は符号語のビット長の組み合わせに起因する格納領域の要件を比較することによって行われる、
請求項4に記載の方法。 - 前記選択は、二分探索を使用して行われる、
請求項4又は5に記載の方法。 - 1つ以上のビット長は、0, 1, 2, 3, 4, 2/5, 5, 3/6, 6, 4/8, 8, 6/12, 12, 6/16, 8/16, 16のビット長又はビット長の組み合わせから選択される、
請求項1-6のいずれか1項に記載の方法。 - 前記符号語は、不均一なビット長を有する、
請求項1-7のいずれか1項に記載の方法。 - 前記符号語の前記ビット長は、4、6、8及び16ビットのうちの少なくとも2つである、
請求項1-8のいずれか1項に記載の方法。 - 前記符号語は、2個だけの異なるビット長を有する
請求項8-9のいずれか1項に記載の方法。 - 前記符号語の、前記2個の異なるビット長は、2/5ビット、3/6ビット、4/8ビット、6/12ビット、6/16ビット、又は8/16ビットの組み合わせのうちの1つである、
請求項10に記載の方法。 - 前記符号語のシーケンスをパックすることは、
まず、それぞれの符号語のl1ビットのシーケンスを前記記憶語にパックすることであって、
l1は前記符号語の最小ビット長に対応する、
l1ビットのシーケンスをパックすることと、
次に、l1より大きいビット長を有する前記符号語の残りのビットを、前記残りの記憶語にパックすることと、
を含む
請求項1-11のいずれか1項に記載の方法。 - l1より大きいビット長を有する前記符号語の前記残りのビットをパックすることは、
まず、それぞれの残りの符号語のl2-l1ビットのシーケンスを前記残りの記憶語にパックすることであって、
前記l2は前記符号語の2番目に小さいビット長に対応する、
l2-l1ビットのシーケンスをパックすることと、
次に、l2より大きいビット長を有する前記符号語の前記残りのビットを、前記残りの記憶語にその後パックすることと、
を含む、
請求項12に記載の方法。 - 前記デジタルデータ値の絶対値のみが、符号語にマッピングされる、
請求項1-13のいずれか1項に記載の方法。 - それぞれのデジタルデータ値について、その符号を、好ましくは第2ビットマスクの形式において示す情報を出力することをさらに含む、
請求項14に記載の方法。 - 前記デジタルデータ値を取得することは、
元のデジタルデータのブロックを受け取ることと、
前記デジタルデータ値を取得するために、前記元のデジタルデータのブロックを変換することと、
を含む、
請求項1-15のいずれか1項に記載の方法。 - 前記変換は、前記ブロックにおける前記元のデータ値と近似し、残差値を出力し、
前記残差値は、前記元のデータ値とそれらの近似値との違いを表す、
請求項16に記載の方法。 - 前記元のデジタルデータのブロックは、ウェーブレット変換を使用して変換される、
請求項16又は17に記載の方法。 - 前記ウェーブレット変換は、モルフォロジカルウェーブレット変換である、
請求項18に記載の方法。 - 前記ウェーブレット変換は、反復されるウェーブレット変換である、
請求項18又は19に記載の方法。 - 前記ウェーブレット変換は、4回反復される、
請求項20に記載の方法。 - 前記方法は、AVX2又は類似の専用のプロセッサ命令を使用して実現される、
請求項1-21のいずれか1項に記載の方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2020/060463 WO2021209119A1 (en) | 2020-04-14 | 2020-04-14 | Method and device for fast lossless compression |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023522316A true JP2023522316A (ja) | 2023-05-30 |
Family
ID=70391087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022562540A Pending JP2023522316A (ja) | 2020-04-14 | 2020-04-14 | 高速ロスレス圧縮のための方法及び装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230133208A1 (ja) |
EP (1) | EP4136755A1 (ja) |
JP (1) | JP2023522316A (ja) |
WO (1) | WO2021209119A1 (ja) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8032645B2 (en) * | 2003-11-13 | 2011-10-04 | Panasonic Corporation | Coding method and coding apparatus |
US8204149B2 (en) * | 2003-12-17 | 2012-06-19 | Qualcomm Incorporated | Spatial spreading in a multi-antenna communication system |
CN104011653B (zh) * | 2011-12-29 | 2017-09-15 | 英特尔公司 | 打包数据操作掩码比较处理器、方法、系统 |
US8497788B1 (en) * | 2012-04-25 | 2013-07-30 | Pure Storage Inc. | Efficient techniques for aligned fixed-length compression |
-
2020
- 2020-04-14 JP JP2022562540A patent/JP2023522316A/ja active Pending
- 2020-04-14 US US17/917,938 patent/US20230133208A1/en active Pending
- 2020-04-14 WO PCT/EP2020/060463 patent/WO2021209119A1/en active Search and Examination
- 2020-04-14 EP EP20720762.2A patent/EP4136755A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4136755A1 (en) | 2023-02-22 |
US20230133208A1 (en) | 2023-05-04 |
WO2021209119A1 (en) | 2021-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6879266B1 (en) | Memory module including scalable embedded parallel data compression and decompression engines | |
US10810763B2 (en) | Data compression using entropy encoding | |
Ratanaworabhan et al. | Fast lossless compression of scientific floating-point data | |
US6822589B1 (en) | System and method for performing scalable embedded parallel data decompression | |
US6292114B1 (en) | Efficient memory mapping of a huffman coded list suitable for bit-serial decoding | |
EP1157470B1 (en) | System and method for parallel data compression and decompression | |
US20130262538A1 (en) | Data compression for direct memory access transfers | |
JP3262602B2 (ja) | 辞書ベースのデータ圧縮/圧縮解除システム | |
US7800519B2 (en) | Method and apparatus for compressing and decompressing data | |
US9852522B2 (en) | Image decoder, graphics processing system, image decoding method, and graphics processing method | |
JPH0879092A (ja) | データを圧縮及び圧縮解除するための方法及び装置 | |
KR102589299B1 (ko) | 하드웨어에서 버텍스 속성 압축 및 압축 해제 방법 및 장치 | |
JP2005065168A (ja) | 画像圧縮装置及び画像圧縮方法 | |
US10601442B2 (en) | Memory compression method and apparatus | |
US11569843B2 (en) | Compressing device and method using parameters of quadtree method | |
Moussalli et al. | A high throughput no-stall golomb-rice hardware decoder | |
JP2023522316A (ja) | 高速ロスレス圧縮のための方法及び装置 | |
Tomari et al. | Compressing floating-point number stream for numerical applications | |
Burtscher et al. | pFPC: A parallel compressor for floating-point data | |
US12001237B2 (en) | Pattern-based cache block compression | |
Wu et al. | Accelerating a lossy compression method with fine-grained parallelism on a gpu | |
Wassenberg | Lossless asymmetric single instruction multiple data codec | |
Ufuk et al. | Optimized GPU implementation of JPEG 2000 for satellite image decompression | |
JP5928914B2 (ja) | グラフィックス処理装置およびグラフィックス処理方法 | |
Eirola | Lossless data compression on GPGPU architectures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221214 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230201 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240229 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240305 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240531 |