JP6227186B2 - データ圧縮装置、データ伸張装置、データ圧縮方法、データ伸張方法及びプログラム - Google Patents
データ圧縮装置、データ伸張装置、データ圧縮方法、データ伸張方法及びプログラム Download PDFInfo
- Publication number
- JP6227186B2 JP6227186B2 JP2017500150A JP2017500150A JP6227186B2 JP 6227186 B2 JP6227186 B2 JP 6227186B2 JP 2017500150 A JP2017500150 A JP 2017500150A JP 2017500150 A JP2017500150 A JP 2017500150A JP 6227186 B2 JP6227186 B2 JP 6227186B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- integers
- data
- integer
- bits
- 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.)
- Active
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/60—General implementation details not specific to a particular type of compression
- H03M7/6017—Methods or arrangements to increase the throughput
-
- 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
-
- 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/4031—Fixed length to variable length coding
- H03M7/4037—Prefix coding
- H03M7/4087—Encoding of a tuple of symbols
-
- 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/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
-
- 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/6064—Selection of Compressor
- H03M7/607—Selection between different types of compressors
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
この方法では、残差を求める段階を挟むことにより、実データ系列と比較して、小さい値すなわち0に近い値から成るデータ系列を得られる。よって、この方法によれば、符号化対象データに対する残差符号化が効きやすくなり、圧縮効果が高まることが多い。
上下ビット分割方式では、上位ビットから成る第1の整数を、ガンマ符号やデルタ符号のような適当な可変長符号により符号化し出力する。そして、下位ビットから成る第2の整数については、符号化せずに、固定長のバイナリデータとして出力する。ゴロム・ライス符号では、第1の整数の符号化方法としてアルファ符号を採用している。
上下ビット分割方式は、圧縮対象となる整数列にノイズが混在するなどして、下位ビットの変動が大きいときに有効な方式である。ノイズが混在した下位ビットは、圧縮が困難であるため、圧縮せずに固定長バイナリデータとして出力し、比較的圧縮が容易な上位ビットのみを圧縮する、というのが上下ビット分割方式の基本的な考え方である。
図8に示すように、整数列を上位ビットと下位ビットとにビット分割した場合、上位ビットは圧縮が容易であり、下位ビットは圧縮が困難となる。
処理単位のビット数である単位ビット数のバイナリデータで表された整数を複数含む符号化データから、nを自然数とし、n個の整数を取得するデータ取得部と、
前記データ取得部により取得された前記n個の整数の各整数を分割する整数分割部であって、前記n個の整数の各整数を、分割ビット数の下位ビットで表される第2の整数と、前記n個の整数の各整数から前記下位ビットを除いた上位ビットにより表される第1の整数とに分割し、n個の第1の整数とn個の第2の整数とを出力する整数分割部と、
前記整数分割部から出力された前記n個の第1の整数を符号化する第1の符号化部であって、前記n個の第1の整数を符号化した結果を前記単位ビット数の自然数倍のビット数のバイナリデータで表される第1符号として出力する第1の符号化部と、
前記整数分割部から出力された前記n個の第2の整数を符号化し、前記n個の第2の整数を符号化した結果を第2符号として出力する第2の符号化部とを備える。
***構成の説明***
図1を用いて、本実施の形態に係るデータ圧縮装置100のブロック構成について説明する。
以下の説明では、処理単位のビット数である単位ビット数をLビットとする。単位ビット数をワードあるいはバイトともいう。単位ビット数は、ワードの長さであるワード単位とも称される。
また、整数を表すバイナリデータのビット長は、単位ビット数と同じく、Lビットとする。Lは、16、32、64等の値であるが、これらの値に限定されるものではない。本実施の形態は、任意のビット長の整数に対して適用することができる。
第1の符号化部104は、符号化調整部103において決定されたn個の第1の整数1021を符号化する。第1の符号化部104は、符号化に際し、Simple9のような、符号結果をワード単位に生成するワード単位処理方式を利用する。第1の符号化部104は、n個の第1の整数1021を符号化した第1符号1041を出力する。ここで、第1の符号化部104により出力される第1符号1041のデータサイズは、第1の符号化部104の性質により、ワード単位であるLビットの倍数となる。第1の符号化部104は、第1の整数符号化部とも称される。
第2符号1061は、分割ビット数bにnを乗じた数のビット数のバイナリデータで表される。すなわち、第2の符号化部106は、n個のbビット整数をn×bビットの固定長バイナリデータに生成する。第2の符号化部106は、第2の整数符号化部とも称される。
符号化調整部103では、一度に符号化する整数の個数nとして、ワード単位Lの倍数(k×L)を選択する。ここで、kは予めデータ圧縮装置100の利用者により決定されるパラメータである。
符号化調整部103が、n=k×Lのようにnを設定することにより、第2の符号化部106で生成される第2符号1061のサイズが(k×L×b)ビット、すなわちワード単位Lビットの倍数となる。したがって、第2の結果出力部107は、余分なビットスペースを消費することなく、ワード単位Lビットの倍数サイズの第2符号1061を出力することができる。
データ伸張装置200は、データ圧縮装置100により符号化された符号化済データ12であって、第1符号1041と第2符号1061とを含む符号化済データ12を伸張する装置である。データ伸張装置200は、符号化済データ12を入力とし、データ圧縮装置100によって圧縮される前の元データ22である符号化データ11を出力する。
終了判定部203は、データ圧縮装置100における符号化調整部103に対応する。終了判定部203は、符号化調整部103により設定された一度に圧縮する整数の個数n分だけ、n個の第1の整数の復号が終了したか否かを判定する。終了判定部203は、n個の第1の整数の復号が終了していない場合は、引き続き、第1の復号処理部2021による第1の整数の復号処理を行う。また、終了判定部203は、n個の第1の整数の復号が終了している場合は、第2の整数の復号処理へ移行する。終了判定部203は、第1の整数復号処理終了判定部とも称される。
出力部206は、整数結合部205で得られた復号結果を元データ22として出力する。元データ22は、符号化される前の符号化データ11である。
データ圧縮装置100、データ伸張装置200は、プロセッサ901、補助記憶装置902、メモリ903、通信装置904、入力インタフェース905、ディスプレイインタフェース906といったハードウェアを備える。
プロセッサ901は、信号線910を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
入力インタフェース905は、入力装置907に接続されている。
ディスプレイインタフェース906は、ディスプレイ908に接続されている。
プロセッサ901は、例えば、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
補助記憶装置902は、例えば、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)である。
メモリ903は、例えば、RAM(Random Access Memory)である。
通信装置904は、データを受信するレシーバー9041及びデータを送信するトランスミッター9042を含む。
通信装置904は、例えば、通信チップ又はNIC(Network Interface Card)である。
入力インタフェース905は、入力装置907のケーブル911が接続されるポートである。
入力インタフェース905は、例えば、USB(Universal Serial Bus)端子である。
ディスプレイインタフェース906は、ディスプレイ908のケーブル912が接続されるポートである。
ディスプレイインタフェース906は、例えば、USB端子又はHDMI(登録商標)(High Definition Multimedia Interface)端子である。
入力装置907は、例えば、マウス、キーボード又はタッチパネルである。
ディスプレイ908は、例えば、LCD(Liquid Crystal Display)である。
また、補助記憶装置902には、コンピュータがデータ伸張装置200の場合、図2に示す符号化済データ取得部201、第1の復号処理部2021、終了判定部203、第2の復号部204、整数結合部205、出力部206の機能を実現するプログラムが記憶されている。以下、符号化済データ取得部201、第1の復号処理部2021、終了判定部203、第2の復号部204、整数結合部205、出力部206をまとめて「データ伸張装置の部」と表記する。「データ圧縮装置の部」と「データ伸張装置の部」とのいずれかあるいは両方を単に「部」と表記する場合もある。
このプログラムは、メモリ903にロードされ、プロセッサ901に読み込まれ、プロセッサ901によって実行される。
更に、補助記憶装置902には、OS(Operating System)も記憶されている。
そして、OSの少なくとも一部がメモリ903にロードされ、プロセッサ901はOSを実行しながら、「部」の機能を実現するプログラムを実行する。
図3では、1つのプロセッサ901が図示されているが、データ圧縮装置100、データ伸張装置200の各々が複数のプロセッサ901を備えていてもよい。
そして、複数のプロセッサ901が「部」の機能を実現するプログラムを連携して実行してもよい。
また、「部」の処理の結果を示す情報やデータや信号値や変数値が、メモリ903、補助記憶装置902、又は、プロセッサ901内のレジスタ又はキャッシュメモリにファイルとして記憶される。
また、「部」を「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。また、「処理」を「回路」又は「工程」又は「手順」又は「部」に読み替えてもよい。
「回路」及び「サーキットリー」は、プロセッサ901だけでなく、ロジックIC又はGA(Gate Array)又はASIC(Application Specific Integrated Circuit)又はFPGA(Field−Programmable Gate Array)といった他の種類の処理回路をも包含する概念である。
図4を用いて、本実施の形態に係るデータ圧縮装置100のデータ圧縮方法、データ圧縮処理S100について説明する。
データ取得部101は、単位ビット数Lのバイナリデータで表された整数を複数含む符号化データ11から、nを自然数とし、n個の整数を取得するデータ取得処理S1001を実行する。データ取得処理S1001はS101の処理とS102の処理とを有する。
S101において、データ取得部101は、符号化データ11に含まれる全整数の符号化処理を完了したかどうかを判定する。
データ取得部101は、符号化データ11に含まれる全整数の符号化処理を完了していると判定した場合は、処理を終了する。データ取得部101は、符号化データ11に含まれる全整数の符号化処理を完了していないと判定した場合は、S102に進む。
整数分割部102は、データ取得処理S1001により取得されたn個の整数の各整数を分割する整数分割処理S1002を実行する。整数分割処理S1002では、整数分割部102は、n個の整数の各整数を、分割ビット数bの下位ビットで表される第2の整数1022と、n個の整数の各整数から下位ビットを除いた上位ビットにより表される第1の整数1021とに分割する。また、整数分割処理S1002では、整数分割部102は、n個の第1の整数1021とn個の第2の整数1022とを出力する。整数分割処理S1002は、S103の処理を有する。
第1の符号化部104は、整数分割処理S1002により出力されたn個の第1の整数1021を符号化する第1の符号化処理S1003を実行する。第1の符号化処理S1003では、第1の符号化部104は、n個の第1の整数1021を符号化した結果を単位ビット数Lの自然数倍のビット数のバイナリデータで表される第1符号1041として出力する。第1の符号化処理S1003は、S104の処理とS105の処理とを有する。
S105において、第1の結果出力部105は、第1の符号化部104により生成された第1符号1041を符号化済データ12に追記する。処理はS106に進む。
第2の符号化部106は、整数分割処理S1002により出力されたn個の第2の整数1022を符号化し、n個の第2の整数1022を符号化した結果を第2符号1061として出力する第2の符号化処理S1004を実行する。第2の符号化処理S1004は、S106の処理とS107の処理とを有する。
S107において、第2の結果出力部107は、第2の符号化部106により生成された第2符号1061を符号化済データ12に追記する。処理はS101に戻る。
このデータ圧縮方法により、符号化データ11に含まれる複数の整数が、n個の第1の整数1021が符号化された第1符号1041と、n個の第2の整数1022が符号化された第2符号1061とが交互に記述された符号化済データ12が出力される。
S201において、符号化済データ取得部201は、符号化済データ12に含まれる全データの復号処理を完了したかどうかを判定する。符号化済データ取得部201は、全データの復号処理を完了していると判定した場合は、処理を終了する。符号化済データ取得部201は、全データの復号処理を完了していないと判定した場合は、S202に進む。
第1の復号部202は、データ圧縮処理S100により符号化された符号化済データ12に含まれる第1符号1041を取得し、第1符号1041をn個の第1の整数1021に復号する第1の復号処理S2002を実行する。
第1の復号部202は、第1符号1041から、単位ビット数Lのバイナリデータである第1単位データ10411を順に取得し、取得した第1単位データ10411を復号し、復号より得られた第1の整数1021の個数をカウントする。第1の復号部202は、カウントした個数がnと等しくなるまで、第1符号1041から第1単位データ10411を取得し、取得した第1単位データ10411を復号する処理を繰り返す。第1の復号処理S2002はS203の処理からS207の処理を有する。
S204において、第1の復号部202の第1の復号処理部2021は、読み込んだ1ワードを、複数の第1の整数1021へ復号する。処理はS205に進む。
S205において、第1の復号部202の終了判定部203は、第1の復号処理部2021でn(=k×L)個の第1の整数が復号されたか否かを判定する。すなわち、終了判定部203は、第1の整数の復号済み個数がn個であるか否かを判定する。n個の第1の整数が復号された場合はS206に進む。n個の第1の整数の復号が未完了の場合は、S207に進む。
S206において、終了判定部203は、次に行う処理を、第2の整数の復号処理に設定する。この設定は、S202における判定で用いられる。また、終了判定部203は、S205の判定で利用する第1の整数の復号済み個数を0個に初期化する。処理はS202に戻る。
S207において、終了判定部203は、次に行う処理を、第1の整数の復号処理に設定する。この設定は、S202における判定で用いられる。処理はS202に戻る。
第2の復号部204は、符号化済データ12から第2符号1061を取得し、取得した第2符号1061をn個の第2の整数1022に復号する第2の復号処理S2003を実行する。
第2の復号部204は、第2符号1061から、単位ビット数Lのバイナリデータである第2単位データ10611を、分割ビット数bとkとの積の数だけ取得する。第2の復号部204は、取得した分割ビット数bとkとの積の数の第2単位データ10611をn個の第2の整数1022に復号する。第2の復号処理S2003はS208の処理からS209の処理を有する。
S209において、第2の復号部204は、読み込んだ(k×b)個のワードを、(k×L)個の第2の整数へ復号する。処理はS210に進む。
以上の第2の復号処理S2003により、n(=k×L)個の第2の整数が生成される。
整数結合部205は、n個の第1の整数1021とn個の第2の整数1022とに基づいて、n個の整数を生成する整数結合処理S2004を実行する。整数結合処理S2004はS210の処理からS212の処理を有する。
S211において、出力部206は、整数結合部205により生成されたn(=k×L)個の整数を元データ22に追記する。処理はS212に進む。
S212において、終了判定部203は、次に行う処理を、第1の整数の復号処理に設定する。この設定は、S202における判定で用いられる。処理はS201に戻る。
以上で、データ伸張装置200のデータ伸張方法、データ伸張処理S200についての説明を終わる。
本実施の形態に係るデータ圧縮装置は、ワード長Lビットの固定長の整数値データから成るデータ系列を可逆圧縮する。符号化調整部は、一度に符号化する整数の個数nとして、ワード長Lの倍数(k×L)を選択する。第1の符号化部は、符号化調整部において決定された(k×L)個の第1の整数の符号化結果を、ワード長Lの倍数となるように生成する。すなわち、第1の符号化部は、ワード単位圧縮を実施する。第2の符号化部は、符号化調整部において決定された個数nの第2の整数を、(k×b)個のワード、すなわち(k×b×L)ビットにパッキングする。
また、本実施の形態に係るデータ圧縮装置は、第1の符号化部で生成された符号化結果をワード長Lの倍数の長さで出力する第1の符号化結果出力部を備える。また、データ圧縮装置は、第2の符号化部で生成された符号化結果を(k×b)個のワード、すなわち(k×b×L)ビットの長さで出力する第2の符号化結果出力部を備える。
整数結合部は、第1の復号部と第2の復号部の出力結果を結合することにより元の(k×L)個の整数値を得る。
本実施の形態では、主に、実施の形態1と異なる点について説明する。
本実施の形態に係るデータ圧縮装置100aを示すブロック構成は、実施の形態1と同様に図1によって表される。また、本実施の形態に係るデータ伸張装置200aを示すブロック構成は、実施の形態1と同様に図2によって表される。実施の形態1で説明した構成と同様の構成については同一の符号を付し、その説明を省略する場合がある。
決定部1031a、すなわち符号化調整部103aは、Kを自然数とし、kの上限値としてKを決定すると共に、cを自然数とし、パラメータcを決定する。符号化調整部103aは、k≦Kの範囲においてn個の第1の整数1021を符号化した際に、符号化に際して冗長となる余剰ビットのビット数がc以下となるkを選択する。
終了判定部203aは、Kを自然数とし、kの上限値としてKを決定すると共に、cを自然数とし、パラメータcを決定する。終了判定部203aは、第1の整数の復号処理が完了したか否かを判定するために、2個のパラメータK、cを用いる。
図6を用いて、本実施の形態に係るデータ圧縮装置100aのデータ圧縮方法、データ圧縮処理S100aについて説明する。
データ圧縮装置100aは、データ圧縮処理S100aの開始時に、パラメータkをk=0と初期化する。
データ取得部101は、符号化データ11に含まれる全整数の符号化処理を完了していると判定した場合は、処理を終了する。データ取得部101は、符号化データ11に含まれる全整数の符号化処理を完了していないと判定した場合は、S302に進む。
S309において、第2の結果出力部107は、パラメータkを0に初期化し、S301に戻る。
以上で、データ圧縮装置100aのデータ圧縮処理S100aについての説明を終わる。
例えば、符号化対象となる整数列が、1(1),5(101),3(11)という3個の整数であるとする。カッコ内は整数を2進数で表したものである。このとき、整数列のうち最大の整数は5であり、5の2進桁数は3である。従って、Simple9を用いると、本来、3桁の2進整数を9個詰めることが可能なデータ符号方法を選択することにより、最も圧縮率が向上する。しかしながら、上記整数列の例では、符号化対象となる整数が3個しか無いため、最大桁数が3であるにも関わらず、実際に選択される符号化方式は、9桁の2進整数を3個詰めるという方式となってしまう。このように、ワード単位処理方式を採用しているために、出力符号をワード単位に生成するという制約があり、本来であれば不要である冗長なビットが付加されることがある。このような冗長なビットを、余剰ビットと呼んでいる。上記整数列の例においては、3桁の数値が3個であるので、本来9ビットで表現できるデータを、実際には、9桁の数値3個として27ビットを使用して表現しているので、余剰ビットは18ビットとなる。
データ伸張装置200aは、データ伸張処理S200aの開始時に、パラメータkをk=0と初期化する。
符号化済データ取得部201は、符号化済データ12に含まれる全整数の復号処理を完了していると判定した場合は、処理を終了する。符号化済データ取得部201は、符号化済データ12に含まれる全整数の復号処理を完了していないと判定した場合は、S402に進む。
第1の復号処理部2021aは、復号が完了した第1の整数の個数がLの倍数となっていない場合、第1の整数の復号がまだ完了していないため、S408に進む。
第1の復号処理部2021aは、復号が完了した第1の整数の個数がLの倍数となっている場合、第1の整数の復号が完了している可能性があるため、次の判定の処理であるS406に進む。
S413において、終了判定部203aは、次に行う処理を、第1の整数の復号処理に設定する。この設定は、S402における判定で用いられる。また、終了判定部203aは、パラメータkを0に初期化する。処理はS401に戻る。
以上で、データ伸張装置200aのデータ伸張方法についての説明を終わる。
以上のように、本実施の形態に係るデータ圧縮装置では、符号化調整部は、一度に符号化する整数の個数の上限として、ワード長Lの倍数(K×L)を選択する。また、符号化調整部は、k<Kの範囲で、(k×L)個の第1の整数を符号化した際に、符号化に際して冗長となる余剰ビットが、cビット以下となるような最小のkを選択する。そして、符号化調整部は、一度に符号化する整数の個数として、ワード長Lの倍数(k×L)を選択する。第1の符号化部は、符号化調整部において決定された(k×L)個の第1の整数の符号化結果を、ワード長Lの倍数となるように生成する。第2の符号化部は、符号化調整部において決定された個数の第2の整数を、(k×b)個のワード(k×b×Lビット)にパッキングする。
なお、上記の実施の形態は、本質的に好ましい例示であって、本発明、その適用物や用途の範囲を制限することを意図するものではなく、必要に応じて種々の変更が可能である。
Claims (11)
- kを自然数とし、処理単位のビット数である単位ビット数のk倍の数をnとして決定する決定部と、
前記単位ビット数のバイナリデータで表された整数を複数含む符号化データから、n個の整数を取得するデータ取得部と、
前記データ取得部により取得された前記n個の整数の各整数を分割する整数分割部であって、前記n個の整数の各整数を、分割ビット数の下位ビットで表される第2の整数と、前記n個の整数の各整数から前記下位ビットを除いた上位ビットにより表される第1の整数とに分割し、n個の第1の整数とn個の第2の整数とを出力する整数分割部と、
前記整数分割部から出力された前記n個の第1の整数を符号化する第1の符号化部であって、前記n個の第1の整数を符号化した結果を前記単位ビット数の自然数倍のビット数のバイナリデータで表される第1符号として出力する第1の符号化部と、
前記整数分割部から出力された前記n個の第2の整数を符号化し、前記n個の第2の整数を符号化した結果を、前記単位ビット数に、前記分割ビット数とkとの積を乗じた数のビット数のバイナリデータで表される第2符号として出力する第2の符号化部と
を備えるデータ圧縮装置。 - 前記データ圧縮装置は、
前記第1の符号化部により出力された前記第1符号を記憶すると共に、前記第1符号の後ろに連続して前記第2の符号化部により出力された前記第2符号を記憶する記憶部を備える請求項1に記載のデータ圧縮装置。 - 前記決定部は、
Kを自然数とし、kの上限値としてKを決定すると共に、cを自然数とし、パラメータcを決定し、k≦Kの範囲においてn個の第1の整数を符号化した際に、符号化に際して冗長となる余剰ビットのビット数がc以下となるkを選択する請求項1または2に記載のデータ圧縮装置。 - 請求項1から3のいずれか1項に記載のデータ圧縮装置により符号化された符号化済データであって、前記第1符号と前記第2符号とを含む符号化済データから前記第1符号を取得し、取得した前記第1符号を前記n個の第1の整数に復号する第1の復号部と、
前記符号化済データから前記第2符号を取得し、取得した前記第2符号を前記n個の第2の整数に復号する第2の復号部と、
前記n個の第1の整数と前記n個の第2の整数とに基づいて、前記n個の整数を生成する整数結合部と
を備えるデータ伸張装置。 - 前記第2の復号部は、
前記第2符号から、前記単位ビット数のバイナリデータである第2単位データを、前記分割ビット数とkとの積の数だけ取得し、取得した前記分割ビット数とkとの積の数の前記第2単位データを前記n個の第2の整数に復号する請求項4に記載のデータ伸張装置。 - 前記第1の復号部は、
前記第1符号から、前記単位ビット数のバイナリデータである第1単位データを順に取得し、取得した前記第1単位データを復号し、復号より得られた第1の整数の個数をカウントし、前記個数がnと等しくなるまで、前記第1符号から前記第1単位データを取得し、取得した前記第1単位データを復号する処理を繰り返す請求項4または5に記載のデータ伸張装置。 - 前記データ伸張装置は、
Kを自然数とし、kの上限値としてKを決定すると共に、cを自然数とし、パラメータcを決定する終了判定部を備え、
前記第1の復号部は、
前記第1符号から、前記単位ビット数のバイナリデータである第1単位データを順に取得し、取得した前記第1単位データを復号し、k<Kの範囲において前記第1単位データを復号した際に、復号に際して冗長となる余剰ビットのビット数がc以下となり、かつ、復号より得られた第1の整数の個数が前記単位ビット数とkとの積と等しくなるk、あるいは、k=Kを選択し、前記個数が前記単位ビット数とkとの積と等しくなるまで、前記第1符号から前記第1単位データを取得し、取得した前記第1単位データを復号する処理を繰り返す請求項4または5に記載のデータ伸張装置。 - 決定部が、kを自然数とし、処理単位のビット数である単位ビット数のk倍の数をnとして決定し、
データ取得部が、前記単位ビット数のバイナリデータで表された整数を複数含む符号化データから、nを自然数とし、n個の整数を取得し、
整数分割部が、前記データ取得部により取得された前記n個の整数の各整数を分割する整数分割部であって、前記n個の整数の各整数を、分割ビット数の下位ビットで表される第2の整数と、前記n個の整数の各整数から前記下位ビットを除いた上位ビットにより表される第1の整数とに分割し、n個の第1の整数とn個の第2の整数とを出力し、
第1の符号化部が、前記整数分割部から出力された前記n個の第1の整数を符号化し、前記n個の第1の整数を符号化した結果を前記単位ビット数の自然数倍のビット数のバイナリデータで表される第1符号として出力し、
第2の符号化部が、前記整数分割部から出力された前記n個の第2の整数を符号化し、前記n個の第2の整数を符号化した結果を、前記単位ビット数に、前記分割ビット数とkとの積を乗じた数のビット数のバイナリデータで表される第2符号として出力するデータ圧縮方法。 - 第1の復号部が、請求項8に記載のデータ圧縮方法により符号化された符号化済データであって、前記第1符号と前記第2符号とを含む符号化済データに含まれる前記第1符号を取得し、取得した前記第1符号を前記n個の第1の整数に復号し、
第2の復号部が、前記符号化済データから前記第2符号を取得し、取得した前記第2符号を前記n個の第2の整数に復号し、
整数結合部が、前記n個の第1の整数と前記n個の第2の整数とに基づいて、前記n個の整数を生成するデータ伸張方法。 - kを自然数とし、処理単位のビット数である単位ビット数のk倍の数をnとして決定する決定処理と、
前記単位ビット数のバイナリデータで表された整数を複数含む符号化データから、nを自然数とし、n個の整数を取得するデータ取得処理と、
前記データ取得処理により取得された前記n個の整数の各整数を分割する整数分割処理であって、前記n個の整数の各整数を、分割ビット数の下位ビットで表される第2の整数と、前記n個の整数の各整数から前記下位ビットを除いた上位ビットにより表される第1の整数とに分割し、n個の第1の整数とn個の第2の整数とを出力する整数分割処理と、
前記整数分割処理により出力された前記n個の第1の整数を符号化する第1の符号化処理であって、前記n個の第1の整数を符号化した結果を前記単位ビット数の自然数倍のビット数のバイナリデータで表される第1符号として出力する第1の符号化処理と、
前記整数分割処理により出力された前記n個の第2の整数を符号化する第2の符号化処理であって、前記n個の第2の整数を符号化した結果を、前記単位ビット数に、前記分割ビット数とkとの積を乗じた数のビット数のバイナリデータで表される第2符号として出力する第2の符号化処理と
をコンピュータに実行させるプログラム。 - 請求項10に記載のプログラムにより符号化された符号化済データであって、前記第1符号と前記第2符号とを含む符号化済データに含まれる前記第1符号を取得し、取得した前記第1符号を前記n個の第1の整数に復号する第1の復号処理と、
前記符号化済データから前記第2符号を取得し、取得した前記第2符号を前記n個の第2の整数に復号する第2の復号処理と、
前記n個の第1の整数と前記n個の第2の整数とに基づいて、前記n個の整数を生成する整数結合処理と
をコンピュータに実行させるプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/054125 WO2016132430A1 (ja) | 2015-02-16 | 2015-02-16 | データ圧縮装置、データ伸張装置、データ圧縮方法、データ伸張方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2016132430A1 JPWO2016132430A1 (ja) | 2017-06-01 |
JP6227186B2 true JP6227186B2 (ja) | 2017-11-08 |
Family
ID=56688808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017500150A Active JP6227186B2 (ja) | 2015-02-16 | 2015-02-16 | データ圧縮装置、データ伸張装置、データ圧縮方法、データ伸張方法及びプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US9979415B2 (ja) |
JP (1) | JP6227186B2 (ja) |
CN (1) | CN107251438B (ja) |
WO (1) | WO2016132430A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11362674B2 (en) | 2016-07-06 | 2022-06-14 | Kinematicsoup Technologies Inc. | Method of compression for fixed-length data |
CN107919943B (zh) | 2016-10-11 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 二进制数据的编码、解码方法和装置 |
CN107682016B (zh) * | 2017-09-26 | 2021-09-17 | 深信服科技股份有限公司 | 一种数据压缩方法、数据解压方法及相关*** |
CN113868206A (zh) * | 2021-10-08 | 2021-12-31 | 八十一赞科技发展(重庆)有限公司 | 一种数据压缩方法、解压缩方法、装置及存储介质 |
CN116861271B (zh) * | 2023-09-05 | 2023-12-08 | 智联信通科技股份有限公司 | 基于大数据的数据分析处理方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3176918D1 (en) * | 1981-08-07 | 1988-12-01 | Ibm | Data recording or transmission system using run length limited coding |
US5179711A (en) * | 1989-12-26 | 1993-01-12 | International Business Machines Corporation | Minimum identical consecutive run length data units compression method by searching consecutive data pair comparison results stored in a string |
JP3273119B2 (ja) * | 1995-09-29 | 2002-04-08 | 京セラ株式会社 | データ圧縮・伸長装置 |
US6570511B1 (en) * | 2001-10-15 | 2003-05-27 | Unisys Corporation | Data compression method and apparatus implemented with limited length character tables and compact string code utilization |
JP2004070120A (ja) | 2002-08-08 | 2004-03-04 | Dainippon Printing Co Ltd | 時系列信号の符号化装置、復号装置および記録媒体 |
JP4357852B2 (ja) | 2003-02-24 | 2009-11-04 | 大日本印刷株式会社 | 時系列信号の圧縮解析装置および変換装置 |
JP2005151327A (ja) | 2003-11-18 | 2005-06-09 | Nec Micro Systems Ltd | Pcmデータ圧縮・伸長方法及び装置 |
US7430328B2 (en) | 2004-12-01 | 2008-09-30 | Honeywell International Inc. | Rice lossless compression module |
US7183950B2 (en) | 2005-02-07 | 2007-02-27 | Fuji Photo Film Co., Ltd. | Data compression apparatus, and data compression program storage medium |
JP4131969B2 (ja) | 2005-02-07 | 2008-08-13 | 富士フイルム株式会社 | データ圧縮装置およびデータ圧縮プログラム |
JP2007088962A (ja) | 2005-09-26 | 2007-04-05 | Nippon Telegr & Teleph Corp <Ntt> | 順序データ圧縮方法、順序データ解凍方法、順序データ処理プログラム、順序データ圧縮装置、順序データ解凍装置、および、順序データ処理システム |
JP4888335B2 (ja) | 2007-10-25 | 2012-02-29 | ソニー株式会社 | 符号化方法及び装置、並びにプログラム |
JP2009260747A (ja) | 2008-04-17 | 2009-11-05 | Canon Inc | 画像符号化装置及びその制御方法 |
JP2011109385A (ja) | 2009-11-17 | 2011-06-02 | Mitsubishi Electric Corp | 画像符号化装置 |
JP2011223244A (ja) | 2010-04-08 | 2011-11-04 | Yokogawa Electric Corp | データ圧縮装置およびデータ復元装置 |
JP5458056B2 (ja) | 2010-05-28 | 2014-04-02 | 株式会社日立製作所 | 時系列データの圧縮方法および圧縮装置 |
JP5570409B2 (ja) | 2010-12-22 | 2014-08-13 | 三菱電機株式会社 | データ圧縮装置及びデータ圧縮方法及びデータ圧縮プログラム |
JP5639011B2 (ja) | 2011-06-28 | 2014-12-10 | 日本電信電話株式会社 | データ蓄積装置、データ蓄積方法、及びプログラム |
US20140112589A1 (en) * | 2012-10-22 | 2014-04-24 | Gurulogic Microsystems Oy | Encoder, decoder and method |
CN103840839B (zh) * | 2014-03-21 | 2017-06-27 | 中国科学院声学研究所 | 一种井下声波成像测井数据的实时压缩方法 |
-
2015
- 2015-02-16 CN CN201580075824.8A patent/CN107251438B/zh active Active
- 2015-02-16 WO PCT/JP2015/054125 patent/WO2016132430A1/ja active Application Filing
- 2015-02-16 US US15/536,030 patent/US9979415B2/en active Active
- 2015-02-16 JP JP2017500150A patent/JP6227186B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
US20170338834A1 (en) | 2017-11-23 |
CN107251438A (zh) | 2017-10-13 |
WO2016132430A1 (ja) | 2016-08-25 |
CN107251438B (zh) | 2020-10-30 |
JPWO2016132430A1 (ja) | 2017-06-01 |
US9979415B2 (en) | 2018-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6227186B2 (ja) | データ圧縮装置、データ伸張装置、データ圧縮方法、データ伸張方法及びプログラム | |
Tian et al. | Cusz: An efficient gpu-based error-bounded lossy compression framework for scientific data | |
KR100894002B1 (ko) | 선택적 압축과 복원 및 압축 데이터에 대한 데이터 포맷을위한 장치 및 방법 | |
JP7031828B2 (ja) | 意味論的値のデータ圧縮及び解凍のための方法、装置、及びシステム | |
US9041567B2 (en) | Using variable encodings to compress an input data stream to a compressed output data stream | |
US8937563B2 (en) | Using variable length encoding to compress an input data stream to a compressed output data stream | |
JP5619326B2 (ja) | 符号化装置、復号装置、符号化方法、符号化プログラム、復号方法および復号プログラム | |
JP4037875B2 (ja) | コンピュータグラフィックスデータ符号化装置、復号化装置、符号化方法、および、復号化方法 | |
KR101842420B1 (ko) | 정보 처리 장치 및 데이터 관리 방법 | |
US11309909B2 (en) | Compression device, decompression device, and method | |
US8638243B2 (en) | Data compression device, data compression method, and medium | |
Selva et al. | SRComp: short read sequence compression using burstsort and Elias omega coding | |
JP2016052046A (ja) | 圧縮装置、伸長装置およびストレージ装置 | |
US10931303B1 (en) | Data processing system | |
US8711013B2 (en) | Coding circuitry for difference-based data transformation | |
Lu et al. | ZFP-X: Efficient Embedded Coding for Accelerating Lossy Floating Point Compression | |
Chen et al. | Lossless Geometry Compression for Steady-State and Time-Varying Irregular Grids. | |
US9558109B2 (en) | Method and apparatus for flash memory arithmetic encoding and decoding | |
JP2023127253A (ja) | 符号表生成装置、メモリシステム、および符号表生成方法 | |
Mukka | Customized Data Compression: Automatically Synthesizing Effective Data Compression and Decompression Algorithms | |
JP2014027573A (ja) | Ykm形式圧縮プログラムを記録した記録媒体 | |
JP2018037891A (ja) | 符号化装置、符号化方法、復号装置および復号方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170224 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170224 |
|
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: 20170912 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171010 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6227186 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |