JP5619326B2 - 符号化装置、復号装置、符号化方法、符号化プログラム、復号方法および復号プログラム - Google Patents

符号化装置、復号装置、符号化方法、符号化プログラム、復号方法および復号プログラム Download PDF

Info

Publication number
JP5619326B2
JP5619326B2 JP2014521176A JP2014521176A JP5619326B2 JP 5619326 B2 JP5619326 B2 JP 5619326B2 JP 2014521176 A JP2014521176 A JP 2014521176A JP 2014521176 A JP2014521176 A JP 2014521176A JP 5619326 B2 JP5619326 B2 JP 5619326B2
Authority
JP
Japan
Prior art keywords
value
data
mantissa
exponent
digits
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
Application number
JP2014521176A
Other languages
English (en)
Other versions
JPWO2013190690A1 (ja
Inventor
秀哉 柴田
秀哉 柴田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP5619326B2 publication Critical patent/JP5619326B2/ja
Publication of JPWO2013190690A1 publication Critical patent/JPWO2013190690A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/14Conversion to or from non-weighted codes
    • H03M7/24Conversion to or from floating-point codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3068Precoding preceding compression, e.g. Burrows-Wheeler transformation
    • H03M7/3071Prediction
    • H03M7/3073Time

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、例えば、データを符号化(圧縮)または復号するための符号化装置、復号装置、符号化方法、符号化プログラム、復号方法および復号プログラムに関するものである。
データ系列を可逆圧縮する際の符号化方法として、以下のような方法が用いられている。
まず、符号化対象データに対する予測値を求める(予測値生成)。次に、予測値と符号化対象データとの残差を求める(残差生成)。そして、残差から成るデータ系列を適当な方式で符号化して符号化データを得る(残差符号化)。
残差符号化においてガンマ符号化のような可変長符号を用いる場合には、残差を求める段階を挟むことで符号化対象データと比べて小さな値(0に近い値)から成る符号化データを得られ、可変長符号化によって圧縮効果が高まることが多い。
しかしながら、浮動小数点数のデータ(符号化対象データ)に対して単純な浮動小数演算によって残差を求めると、情報落ちによる誤差が発生するため、可逆圧縮できない。
情報落ちを避けるために浮動小数点数データを整数データと見做して単純な整数演算によって残差を求めることもできるが、この方法は浮動小数点数のデータ構造を無視しているため、適切な残差が得られない可能性がある。
このような課題を解決するため、特許文献1は、浮動小数点数のデータ(符号部、指数部、仮数部)を指数部から成る第1部分と、符号部と仮数部とから成る第2部分との2つの部分に分離し、それぞれの部分を整数データと見做して残差を求める方法を開示している。
このように、符号部、指数部、仮数部を個別の整数データと見做して残差を求める方法は、他の文献(例えば、特許文献2)でも見受けることができ、広く利用されていると言える。
しかしながら、符号化対象データの指数部の値と予測値の指数部の値とが異なる場合、符号化対象データの仮数部が表す値と予測値の仮数部が表す値とでは桁の大きさが異なる。このため、特許文献1などが開示している方法で仮数部の残差を求めても、仮数部の残差として意味のある値は得られない。このことは、圧縮率を低下させる要因となり得る。
例えば、符号化対象データが「1.23×10^4」(仮数部「1.23」、指数部「4」)であり、予測値が「9.98×10^3」(仮数部「9.98」、指数部「3」)であるものとする。
この場合、符号化対象データの仮数部「1.23」の一の位の値「1」は10進数で万の位の値「10000」を意味する。一方、予測値の仮数部「9.98」の一の位の値「9」は10進数で千の位の値「9000」を意味する。
つまり、符号化対象データの仮数部「1.23」と予測値の仮数部「9.98」とでは桁の大きさが異なるため、これら仮数部の比較は浮動小数点数としての意味を持たず、これら仮数部の比較によって仮数部の残差として意味のある値は得られない。
特開2011−175542号公報 特開2011−238236号公報 特開2005−018606号公報
本発明は、例えば、浮動小数点数のデータ値(可逆圧縮する目的のデータ値)の指数値と符号化に用いる予測値の指数値とが異なる場合であっても、圧縮率を低下させずにデータ値を可逆圧縮(符号化)できるようにすることを目的とする。
本発明の符号化装置は、
指数値と仮数値とを用いて表される浮動小数点数の値であって符号化する目的の値であるデータ値を記憶するデータ値記憶部と、
前記データ値記憶部に記憶される前記データ値を符号化するために用いる浮動小数点数の値であるデータ関連値を記憶するデータ関連値記憶部と、
前記データ関連値記憶部に記憶された前記データ関連値の指数値と前記データ値記憶部に記憶された前記データ値の指数値との差に基づいて前記データ関連値の仮数値を調整して調整仮数値を生成する調整仮数値生成部と、
前記データ値記憶部に記憶された前記データ値の前記指数値に基づいて特定の指数値を生成し、前記データ値の仮数値と前記調整仮数値生成部によって生成された前記調整仮数値とに基づいて特定の仮数値を生成し、前記特定の指数値と前記特定の仮数値とに基づいて浮動小数点数の値であって符号化する値である符号化対象値を生成する符号化対象値生成部と、
前記符号化対象値生成部によって生成された前記符号化対象値を符号化してデータ符号化値を生成するデータ符号化値生成部とを備える。
本発明によれば、例えば、浮動小数点数のデータ値の指数値と符号化に用いる予測値(データ関連値)の指数値とが異なる場合であっても、圧縮率を低下させずにデータ値を可逆圧縮(符号化)することができる。
実施の形態1におけるデータ圧縮装置100の機能構成図。 実施の形態1における元データ101のデータ構造の一例を示す図。 実施の形態1におけるデータ符号化部200の機能構成を示す図。 実施の形態1におけるデータ符号化部200のデータ符号化処理を示すフローチャート。 実施の形態1におけるデータ予測値整形処理(S120)を示すフローチャート。 実施の形態1における第一の残差生成処理(S130)を示すフローチャート。 実施の形態1における符号値・仮数値設定処理(S132)の一例を示すフローチャート。 実施の形態1におけるデータ復号部300の機能構成を示す図。 実施の形態1におけるデータ復号部300のデータ復号処理を示すフローチャート。 実施の形態1における整形後元データ復号処理(S270)の一例を示す図。 実施の形態1におけるデータ圧縮装置100のハードウェア資源の一例を示す図。
実施の形態1.
浮動小数点数のデータ値を圧縮(符号化)および復号するデータ圧縮装置の形態について説明する。
図1は、実施の形態1におけるデータ圧縮装置100の機能構成図である。
実施の形態1におけるデータ圧縮装置100の機能構成について、図1に基づいて説明する。
データ圧縮装置100(符号化装置、復号装置の一例)は、データ符号化部200、データ復号部300およびデータ記憶部190を備える。
データ符号化部200は、符号化する目的のデータ(データ値の一例)(以下、「元データ101」という)を入力する。
データ符号化部200は、符号化した元データ101を表すデータ(データ符号化値の一例)(以下、「符号化データ102」という)を生成する。
データ符号化部200は、生成した符号化データ102を出力する。
データ符号化部200の詳細については後述する。
データ復号部300は、符号化データ102を入力し、入力した符号化データ102を用いて元データ101を復号し、元データ101を出力する。
データ復号部300の詳細については後述する。
データ記憶部190(データ値記憶部、データ関連値記憶部、中間関連値記憶部、過去中間値記憶部、過去データ値記憶部、データ符号化値記憶部の一例)は、データ圧縮装置100で使用するデータを記憶する。
例えば、データ記憶部190は、元データ101、符号化データ102、元データ履歴ファイル191および第一の残差履歴ファイル192を記憶する。
元データ履歴ファイル191は、過去に符号化された1つ以上の元データ101(元データ101の履歴)(過去データ値の一例)を含むファイルである。但し、ファイル形式ではなく、元データ101の数個の履歴をメモリに記憶しても構わない。
第一の残差履歴ファイル192は、過去に生成された第一の残差(第一の残差の履歴)(過去中間値の一例)を含むファイルである。但し、ファイル形式ではなく、第一の残差の数個の履歴をメモリに記憶しても構わない。第一の残差については後述する。
図2は、実施の形態1における元データ101のデータ構造の一例を示す図である。
実施の形態1における元データ101のデータ構造について、図2に基づいて説明する。
元データ101は、符号部と指数部と仮数部とを用いて表される浮動小数点数の値である。また、元データ101を圧縮(符号化)または復号するために用いる各種のデータ値も浮動小数点数の値である。
実施の形態1において、元データ101および各種のデータ値は、図2に示すようなIEEE 754形式(浮動小数点数の形式の一例)またはこれに準ずる形式で表される単精度浮動小数点数の値であるものとする。但し、元データ101および各種のデータ値は、他の形式で表される浮動小数点数の値であっても構わない。
IEEE 754形式で表される単精度浮動小数点数の値は、1ビットの符号部と、8ビットの指数部と、23ビットの仮数部との計32ビットで表される。
以下、符号部の値(プラスまたはマイナス)を「符号値」と呼び、指数部の値を「指数値」と呼び、仮数部の値を「仮数値」と呼ぶ。
例えば、10進数形式のデータ値「−1.23×10^4(=−12300)」の場合、符号値は「−」であり、指数値は「4」であり、仮数値は「1.23」である。
図3は、実施の形態1におけるデータ符号化部200の機能構成を示す図である。
実施の形態1におけるデータ符号化部200の機能構成について、図3に基づいて説明する。
データ符号化部200は、データ予測値生成部210と、残差生成部220と、残差符号化部230とを備える。
データ予測値生成部210(データ関連値生成部の一例)は、データ記憶部190に予め記憶される元データ履歴ファイル191(図示省略)に基づいてデータ予測値を生成する。データ予測値(データ関連値の一例)は元データ101を予測(復号)するための値である。
データ予測値生成部210の詳細については後述する。
残差生成部220(符号化対象値生成部の一例)は、元データ101とデータ予測値生成部210によって生成されたデータ予測値とに基づいて第二の残差(符号化対象値の一例)を生成する。
残差生成部220は、データ予測値整形部221、第一の残差生成部222、第一の残差予測値生成部223および第二の残差生成部224を備える。
データ予測値整形部221(調整仮数値生成部の一例)は、元データ101の指数値とデータ予測値の指数値との差に基づいてデータ予測値を整形する。
第一の残差生成部222は、元データ101と整形後のデータ予測値との残差(以下、「第一の残差」という)を生成する。
第一の残差予測値生成部223(中間関連値生成部の一例)は、データ記憶部190に予め記憶される第一の残差履歴ファイル192(図示省略)に基づいて第一の残差予測値を生成する。第一の残差予測値(中間関連値の一例)は第一の残差(中間値の一例)を予測(復号)するための値である。
第二の残差生成部224は、第一残差と第一の残差予測値との残差(以下、「第二の残差」という)を生成する。
残差生成部220の各機能構成の詳細については後述する。
残差符号化部230(データ符号化値生成部の一例)は、残差生成部220の第二の残差生成部224によって生成される第二の残差を符号化する。これにより、符号化した元データ101を表す符号化データ102が生成される。
残差符号化部230の詳細については後述する。
図4は、実施の形態1におけるデータ符号化部200のデータ符号化処理を示すフローチャートである。
実施の形態1におけるデータ符号化部200のデータ符号化処理(符号化方法の一例)について、図4に基づいて説明する。
S110において、データ予測値生成部210は、元データ履歴ファイル191に基づいてデータ予測値を生成する。データ予測値は、元データ101と同じデータ構造を有する浮動小数点数の値である。
以下、i番目(iは1以上の整数)の元データ101をd[i]と記し、元データd[i]のデータ予測値をp[i]と記す。
例えば、データ予測値生成部210は、前回符号化した元データd[i−1]を元データ履歴ファイル191から取得し、取得した元データd[i−1]をデータ予測値p[i]の変数に設定する。つまり、p[i]=d[i−1]である。但し、d[0]は所定の定数とする。
但し、データ予測値生成部210は、元データd[i−1]以外の値によってデータ予測値p[i]を生成しても構わない。例えば、データ予測値生成部210は、前々回の元データd[i−2]をデータ予測値p[i]として用いても構わない。また、データ予測値生成部210は、元データ履歴ファイル191に含まれる各元データを用いて元データの線形予測を行い、線形予測値(重み付けした各元データの合計値)をデータ予測値p[i]として用いても構わない。さらに、データ予測値生成部210は、過去の元データ101を用いないでデータ予測値p[i]を生成しても構わない。例えば、所定のデータ予測値p[i]をデータ記憶部190に予め記憶しておいても構わない。
S110の後、S120に進む。
S120において、データ予測値整形部221は、元データd[i]とデータ予測値p[i]とを入力し、入力した元データd[i]とデータ予測値p[i]とを整形する。
入力とは、データ記憶部190やデータ圧縮装置100の入力装置からのデータの取得を意味する。
図5は、実施の形態1におけるデータ予測値整形処理(S120)を示すフローチャートである。
実施の形態1におけるデータ予測値整形処理(S120)について、図5に基づいて説明する。
S121において、データ予測値整形部221は、元データd[i]とデータ予測値p[i]とのそれぞれの仮数部の上位に(N+2)ビットのビット列“00…001”(ビット値0が(N+1)個連続した後にビット値1が一つ)を追加する。パラメータNは所定の整数である。
例えば、元データd[i]の仮数部が“100…00”である場合、ビット列“00…001”を追加後の元データd[i]の仮数部は“00…001100…00”である。
追加するビット列の最後のビット“1”は、IEEE 754形式の浮動小数点数における仮数部の隠れビットに相当する。つまり、隠れビット“1”を持たない浮動小数点数の形式を用いる場合、データ予測値整形部221は(N+1)個のビット値“0”が並んだビット列“00…00”を仮数部の上位に追加すればよい。
以降の処理において、データ予測値整形部221はビット列を追加後の元データd[i]およびデータ予測値p[i]を用いる。
S121の後、S122に進む。
S122において、データ予測値整形部221は、元データd[i]の指数値がデータ予測値p[i]の指数値以上の値であるか否かを判定する。
元データd[i]の指数値がデータ予測値p[i]の指数値以上の値である場合(YES)、S123に進む。
元データd[i]の指数値がデータ予測値p[i]の指数値未満の値である場合(NO)、S124に進む。
S123において、データ予測値整形部221は、データ予測値p[i]の指数値を元データd[i]の指数値と同じ値に変更する。データ予測値p[i]の指数値と元データd[i]の指数値とが同じ値である場合、予測値データp[i]の指数値は変わらない。
さらに、データ予測値整形部221は、元データd[i]の指数値とデータ予測値p[i]の指数値との差(以下、「指数値差」という)と同じ数のビット数(指数値差に相当する桁数)だけ、データ予測値p[i]の仮数値を仮数部内で右にシフトする(仮数部からはみ出る下位ビットは切り捨てる)。
つまり、データ予測値整形部221は、データ予測値p[i]の仮数値を指数値差に相当する桁数だけ小さな値に変更する。また、指数値差がゼロである場合、データ予測値p[i]の仮数値は変わらない。
仮数部からはみ出る下位ビットは無視して構わない。つまり、はみ出る下位ビットの情報が無くなっても構わない。データ予測値p[i]の情報落ちは元データd[i]の圧縮の可逆性に影響を与えないからである。
例えば、元データd[i]が10進数形式で「1.23×10^4」であり、データ予測値p[i]が10進数形式で「9.98×10^3」である場合、データ予測値整形部221は、データ予測値p[i]を「0.99×10^4」に変更する。
S123により、データ予測値整形処理(S120)は終了する。
S124において、データ予測値整形部221は、データ予測値p[i]と元データd[i]との指数値差がパラメータN以下の値であるか否かを判定する。
指数値差がパラメータN以下の値である場合(YES)、S125に進む。
指数値差がパラメータNより大きい値である場合(NO)、S126に進む。
S125において、データ予測値整形部221は、データ予測値p[i]の指数値を元データd[i]の指数値と同じ値に変更する。
さらに、データ予測値整形部221は、元データd[i]とデータ予測値p[i]との指数値差と同じ数のビット数(指数値差に相当する桁数)だけ、データ予測値p[i]の仮数値を仮数部内で左にシフトする(仮数部からはみ出る上位ビットは切り捨てる)。
つまり、データ予測値整形部221は、データ予測値p[i]の仮数値を指数値差に相当する桁数だけ大きな値に変更する。
仮数部からはみ出る上位ビットは、S121で追加したビット列“00…00”のビットであるため無視して構わない。つまり、データ予測値p[i]の仮数部の上位ビットが切り捨てられても、データ予測値p[i]の仮数値の情報は失われない。
例えば、元データd[i]が10進数形式で「9.98×10^3」であり、データ予測値p[i]が10進数形式で「1.23×10^4」である場合、データ予測値整形部221は、データ予測値p[i]を「12.30×10^3」に変更する。
S125により、データ予測値整形処理(S120)は終了する。
S126において、データ予測値整形部221は、データ予測値p[i]の指数値を元データd[i]の指数値と同じ値に変更する。
さらに、データ予測値整形部221は、データ予測値p[i]の仮数部に所定のダミー値を設定する。
つまり、データ予測値整形部221は、データ予測値p[i]の仮数値を所定のダミー値と同じ値に変更する。
但し、ダミー値のビット数は、S121でビット列を追加後のデータ予測値p[i]の仮数部のビット数以下である。
データ予測値p[i]の仮数値をS125と同様に左にシフトした場合、データ予測値p[i]の仮数値の上位ビットが切り捨てられてしまうため、元データd[i]の仮数値とデータ予測値p[i]の仮数値との間に関係が無くなる可能性がある。
そこで、データ予測値整形部221は、データ予測値p[i]の利用を諦めてデータ予測値p[i]の仮数部にダミー値を設定する。
ダミー値は任意の値で構わない。例えば、ダミー値はゼロ(全てのビットのビット値が0)でもよい。
また、ダミー値は、(S121でビット列を追加後の)元データd[i]の仮数値が取り得る値の中央値でもよい。この中央値はビット列“00…0110…00”で表すことができる。中央値のダミー値をデータ予測値p[i]の仮数値として用いた場合、元データd[i]とデータ予測値p[i]との仮数値の差が縮小化され、圧縮率の低下を抑える効果が期待できる。データと予測値との差を縮小化する方法については、特許文献3においても開示されている。
S126により、データ予測値整形処理(S120)は終了する。
データ予測値整形処理(S120)において、データ予測値整形部221は、データ予測値p[i]の指数値を元データd[i]の指数値に揃えるように、データ予測値p[i]を整形する。
この際、データ予測値整形部221は、元データd[i]の情報落ちを発生させず、且つ、データ整形に伴うビット数の増加量が予め定められた一定値(N)を超えないようにする。
これにより、整形後のデータ予測値p[i]と整形後の元データd[i]とのそれぞれの仮数値を用いて、意味ある比較および演算が可能となる。
また、元データd[i]の指数値に基づいてデータ予測値p[i]が整形されるため、整形後のデータ予測値p[i]を用いて生成される符号化データ102から元データd[i]を復号することができる。元データd[i]の復号処理については後述する。
図4に戻り、データ符号化処理の説明を続ける。
以下、整形後の元データd[i]を元データd’[i]と記し、整形後のデータ予測値p[i]をデータ予測値p’[i]と記す。
S120の後、S130に進む。
S130において、第一の残差生成部222は、元データd’[i]とデータ予測値p’[i]との残差を生成する。残差とは、複数の値を比較した比較結果に基づいて生成される値のことである。
但し、第一の残差生成部222は、元データd’[i]とデータ予測値p’[i]とのそれぞれの符号値および仮数値について残差を算出し、指数値については残差を算出せずに元データd’[i]の指数値を用いる。
以下、元データd’[i]とデータ予測値p’[i]との残差を第一の残差r1[i]と記す。第一の残差r1[i]は、元データd’[i]およびデータ予測値p’[i]と同じデータ構造を有する浮動小数点数の値である。
図6は、実施の形態1における第一の残差生成処理(S130)を示すフローチャートである。
実施の形態1における第一の残差生成処理(S130)について、図6に基づいて説明する。
S131において、第一の残差生成部222は、第一の残差r1[i]の指数部に元データd’[i]の指数値を設定する。
但し、第一の残差生成部222は、元データd’[i]の指数値に基づくその他の値を第一の残差r1[i]の指数部に設定しても構わない。例えば、第一の残差生成部222は、元データd’[i]の指数値から所定値を引いた値(または足した値)を第一の残差r1[i]の指数部に設定してもよい。
元データd’[i]の指数値に基づいて第一の残差r1[i]の指数値を生成することにより、第一の残差r1[i]を用いて生成される符号化データ102から元データd[i]を復号することができる。元データd[i]の復号処理については後述する。
S131の後、S132に進む。
S132において、第一の残差生成部222は、元データd’[i]とデータ予測値p’[i]とのそれぞれの符号値および仮数値に基づいて、第一の残差r1[i]の符号値および仮数値を設定する。
符号値・仮数値設定処理(S132)の一例について以下に説明する。
S132により、第一の残差生成処理(S130)は終了する。
図7は、実施の形態1における符号値・仮数値設定処理(S132)の一例を示すフローチャートである。
実施の形態1における符号値・仮数値設定処理(S132)の一例について、図7に基づいて説明する。
S132−1において、第一の残差生成部222は、元データd’[i]の符号値とデータ予測値p’[i]の符号値とが同じ値であるか否かを判定する。
元データd’[i]の符号値とデータ予測値p’[i]の符号値とが同じ値である場合(YES)、S132−4に進む。
元データd’[i]の符号値とデータ予測値p’[i]の符号値とが異なる値である場合(NO)、S132−2に進む。
S132−2において、第一の残差生成部222は、第一の残差r1[i]の符号部に元データd’[i]の符号値を設定する。
S132−2の後、S132−3に進む。
S132−3において、第一の残差生成部222は、第一の残差r1[i]の仮数部に元データd’[i]の仮数値とデータ予測値p’[i]の仮数値との合計値を設定する。
S132−3により、符号値・仮数値設定処理(S132)は終了する。
S132−4において、第一の残差生成部222は、元データd’[i]の仮数値がデータ予測値p’[i]の仮数値以上の値であるか否かを判定する。
元データd’[i]の仮数値がデータ予測値p’[i]の仮数値以上の値である場合(YES)、S132−5に進む。
元データd’[i]の仮数値がデータ予測値p’[i]の仮数値未満の値である場合(NO)、S132−7に進む。
S132−5において、第一の残差生成部222は、第一の残差r1[i]の符号部に元データd’[i]の符号値を設定する。
S132−5の後、S132−6に進む。
S132−6において、第一の残差生成部222は、第一の残差r1[i]の仮数部に元データd’[i]の仮数値からデータ予測値p’[i]の仮数値を差し引いた値(=d’[i]の仮数値−p’[i]の仮数値)を設定する。
S132−6により、符号値・仮数値設定処理(S132)は終了する。
S132−7において、第一の残差生成部222は、第一の残差r1[i]の符号部にデータ予測値p’[i]の符号値を設定する。
S132−7の後、S132−8に進む。
S132−8において、第一の残差生成部222は、第一の残差r1[i]の仮数部にデータ予測値p’[i]の仮数値から元データd’[i]の仮数値を差し引いた値(=p’[i]の仮数値−d’[i]の仮数値)を設定する。
S132−8により、符号値・仮数値設定処理(S132)は終了する。
図7の符号値・仮数値設定処理(S132)は第一の残差r1[i]の符号値および仮数値を設定するための処理の一例であり、第一の残差生成部222はその他の処理によって第一の残差r1[i]の符号値および仮数値を設定しても構わない。
さらに、第一の残差生成部222は、元データd’[i]とデータ予測値p’[i]とのいずれかに基づいて第一の残差r1[i]の符号値および仮数値を設定しても構わない。
例えば、第一の残差生成部222は、元データd’[i]の符号値を第一の残差r1[i]の符号部に設定し、元データd’[i]の仮数値から所定値を引いた値(または足した値)を第一の残差r1[i]の仮数部に設定しても構わない。
図4に戻り、データ符号化処理の説明を続ける。
S130の後、S140に進む。
S140において、第一の残差予測値生成部223は、第一の残差履歴ファイル192に基づいて第一の残差r1[i]の予測値を生成する。第一の残差r1[i]の予測値は、第一の残差r1[i]と同じデータ構造を有する浮動小数点数の値である。
以下、第一の残差r1[i]の予測値を第一の残差予測値をp_r1[i]と記す。
例えば、第一の残差予測値生成部223は、前回生成された第一の残差r1[i−1]を第一の残差予測値生成部223から取得し、取得した第一の残差r1[i−1]を第一の残差予測値p_r1[i]の変数に設定する。つまり、p_r1[i]=r1[i−1]である。
但し、第一の残差予測値生成部223は、第一の残差r1[i−1]以外の値を第一の残差予測値p_r1[i]として用いても構わない(S110と同様)。
S140の後、S150に進む。
S150において、第二の残差生成部224は、第一の残差r1[i]と第一の残差予測値p_r1[i]との残差を生成する。
この処理は、第一の残差r1[i]を生成する際(S130)に算出されなかった指数値の残差を求めることを主な目的とする処理である。
以下、第一の残差r1[i]と第一の残差予測値p_r1[i]との残差を第二の残差r2[i]と記す。第二の残差r2[i]は、第一の残差r1[i]および第一の残差予測値p_r1[i]と同じデータ構造を有する浮動小数点数の値である。
例えば、第二の残差生成部224は、第一の残差r1[i]の符号値を第二の残差r2[i]の符号部に設定し、第一の残差r1[i]の仮数値を第二の残差r2[i]の仮数部に設定し、第一の残差r1[i]の指数値から第一の残差予測値p_r1[i]の指数値を減じた値を第二の残差r2[i]の指数部に設定する。
但し、第二の残差生成部224は、上記以外の値を第二の残差r2[i]の符号部、指数部および仮数部に設定してもよい。
例えば、第二の残差生成部224は、図6および図7で説明した第一の残差生成処理(S130)と同様に第二の残差r2[i]の符号部および仮数部を生成し、第一の残差r1[i]の指数値から第一の残差予測値p_r1[i]の指数値を減じた値を第二の残差r2[i]の指数部に設定してもよい。この場合、第二の残差生成部224は、図6および図7において、第一の残差r1[i]を第二の残差r2[i]に置き換え、元データd’[i]を第一の残差r1[i]に置き換え、データ予測値p’[i]を第一の残差予測値p_r1[i]に置き換えて処理を実行すればよい。
これにより、符号値および仮数値については2段階(S130、S150)で残差を算出することができる。
さらに、第二の残差生成部224は、第一の残差r1[i]と第一の残差予測値p_r1[i]とのいずれかに基づいて第二の残差r2[i]を生成してもよい。
例えば、第二の残差生成部224は、第一の残差予測値p_r1[i]の符号値(または逆の符号値)を第二の残差r2[i]の符号部に設定し、第一の残差予測値p_r1[i]の指数値(または所定値を加算・減算した値)を第二の残差r2[i]の指数部に設定し、第一の残差予測値p_r1[i]の仮数値(または所定値を加算・減算した値)を第二の残差r2[i]の仮数部に設定してもよい。
S150の後、S160に進む。
S160において、残差符号化部230は、第二の残差r2[i]を所定の符号化処理によって符号化して符号化データ102を生成し、生成した符号化データ102を出力する。
例えば、残差符号化部230は、ガンマ符号化、デルタ符号化、ゴロム・ライス符号化またはその他の可変長符号化方式によって第二の残差r2[i]を符号化する。また、残差符号化部230は、第二の残差r2[i]の符号部、指数部、仮数部またはこれらの組み合わせを特許文献1や特許文献2と同様に個別の整数値として扱って、第二の残差r2[i]を符号化しても構わない。
出力とは、データ記憶部190への記憶やデータ圧縮装置100の出力装置への出力を意味する。
S160により、データ符号化処理は終了する。
以上のように、データ符号化部200は、元データd[i]の情報落ちを発生させることなく、元データd[i]とデータ予測値p[i]とのそれぞれの指数値の違いによる仮数値の桁のずれを解消することができる(S120参照)。
また、データ符号化部200は、浮動小数点数のデータ構造を反映した第一の残差r1[i]および第二の残差r2[i]を生成することができる(S130、S150参照)。
そして、データ符号化部200は、このような第二の残差r2[i]を符号化して符号化データ102を生成することができる(S160参照)。このとき、S120におけるデータ予測値p[i]の整形方法を特定するための付加情報は不要である。つまり、データ符号化部200は、付加情報が不要な分、符号化による圧縮効果を高めることができる。
図8は、実施の形態1におけるデータ復号部300の機能構成を示す図である。
実施の形態1におけるデータ復号部300の機能構成について、図8に基づいて説明する。
データ復号部300は、第二の残差復号部310、第一の残差復号部320、予測値整形方法特定部330、元データ復号部340、データ予測値生成部301および第一の残差予測値生成部302を備える。
第二の残差復号部310(符号化対象値復号部の一例)は、符号化データ102から第二の残差r2[i]を復号する。
第二の残差復号部310の詳細については後述する。
第一の残差復号部320(中間値復号部の一例)は、第二の残差r2[i]と第一の残差予測値p_r1[i]とに基づいて第一の残差r1[i]を生成する。
第一の残差復号部320の詳細については後述する。
予測値整形方法特定部330(データ指数値復号部の一例)は、第一の残差r1[i]の指数値に基づいて元データd[i]の指数値を生成する。
予測値整形方法特定部330(調整仮数値復号部の一例)は、元データd[i]の指数値とデータ予測値p[i]とに基づいて整形後のデータ予測値p’[i]を生成する。
予測値整形方法特定部330の詳細については後述する。
元データ復号部340(データ仮数値復号部の一例)は、整形後のデータ予測値p’[i]と第一の残差r1[i]とに基づいて元データd[i](元データ101)を生成する。
元データ復号部340の詳細については後述する。
データ予測値生成部301(調整仮数値生成部の一例)は、データ符号化部200のデータ予測値生成部210(図3参照)と同じ機能構成である。
第一の残差予測値生成部302(中間関連値生成部の一例)は、データ符号化部200の第一の残差予測値生成部223(図3参照)と同じ機能構成である。
図9は、実施の形態1におけるデータ復号部300のデータ復号処理を示すフローチャートである。
実施の形態1におけるデータ復号部300のデータ復号処理(復号方法の一例)について、図9に基づいて説明する。
S210において、データ予測値生成部301は、元データ履歴ファイル191に基づいてデータ予測値p[i]を生成する。
データ予測値p[i]の生成方法は、データ符号化処理(図4参照)のS110における生成方法と同じである。
S210の後、S220に進む。
S220において、第一の残差予測値生成部302は、第一の残差履歴ファイル192に基づいて第一の残差予測値p_r1[i]を生成する。
第一の残差予測値p_r1[i]の生成方法は、データ符号化処理(図4参照)のS140における生成方法と同じである。
S220の後、S230に進む。
S230において、第二の残差復号部310は、第二の残差r2[i]を符号化した符号化データ102を入力し、入力した符号化データ102に対して所定の復号処理を実行して第二の残差r2[i]を復号する。
但し、第二の残差復号部310が実行する復号処理は、データ符号化処理(図4参照)のS160で実行される符号化処理に対応する処理である。
S230の後、S240に進む。
S240において、第一の残差復号部320は、第二の残差r2[i]と第一の残差予測値p_r1[i]とに基づいて第一の残差r1[i]を生成する。
この第一の残差復号処理(S240)は、データ符号化処理(図4参照)の第二の残差生成処理(S150)に対応する処理(逆算する処理)である。
例えば、第二の残差生成部処理(S150)が以下のような処理であるものとする。
(1)第一の残差r1[i]の符号値を第二の残差r2[i]の符号部に設定する。
(2)第一の残差r1[i]の仮数値を第二の残差r2[i]の仮数部に設定する。
(3)第一の残差r1[i]の指数値から第一の残差予測値p_r1[i]の指数値を減じた値を第二の残差r2[i]の指数部に設定する。
この場合、第一の残差復号部320は、以下のような処理で第一の残差r1[i]を生成する。
(1)第二の残差r2[i]の符号値を第一の残差r1[i]の符号部に設定する。
(2)第二の残差r2[i]の仮数値を第一の残差r1[i]の仮数部に設定する。
(3)第二の残差r2[i]の指数値に第一の残差予測値p_r1[i]の指数値を加えた値を第一の残差r1[i]の指数部に設定する。
S240の後、S250に進む。
S250において、予測値整形方法特定部330は、第一の残差r1[i]の指数値に基づいて元データd[i]の指数値を生成する。
この元データ指数値復号処理(S250)は、第一の残差生成処理(図6参照)のS131に対応する処理(逆算する処理)である。
第一の残差生成処理(図6参照)のS131において元データd[i]の指数値に基づいて第一の残差r1[i]の指数値が生成されているため、逆算する処理によって第一の残差r1[i]の指数値に基づいて元データd[i]の指数値を生成することができる。
例えば、第一の残差生成処理(図6参照)のS131が第一の残差r[i]の指数部に元データd’[i]の指数値(=元データd[i]の指数値)を設定する処理である場合、第一の残差r1[i]の指数値と同じ値が元データd[i]の指数値である。
S250の後、S260に進む。
S260において、予測値整形方法特定部330は、元データd[i]の指数値とデータ予測値p[i]とに基づいて整形後のデータ予測値p’[i]を生成する。
整形後のデータ予測値p’[i]の生成方法は、データ予測値整形処理(図5参照)のS122からS126と同じである。
データ予測値整形処理(図5参照)のS122からS126において元データd[i]の指数値とデータ予測値p[i]とに基づいて整形後のデータ予測値p’[i]が生成されているため、元データd[i]の符号値および仮数値が得られていなくても整形後のデータ予測値p’[i]を生成することができる。
S260の後、S270に進む。
S270において、元データ復号部340は、整形後のデータ予測値p’[i]と第一の残差r1[i]とに基づいて整形後の元データd’[i]を生成する。
この整形後元データ復号処理(S270)は、第一の残差生成処理(図6参照)のS132に対応する処理(逆算する処理)である。
図10は、実施の形態1における整形後元データ復号処理(S270)の一例を示す図である。
第一の残差生成処理(図6参照)のS132が図7に示した処理である場合、元データ復号部340は図10に示す処理を実行して整形後の元データd’[i]を生成する。
S271において、元データ復号部340は、第一の差分r1[i]の符号値とデータ予測値p’[i]の符号値とが同じ値であるか否かを判定する。
第一の差分r1[i]の符号値とデータ予測値p’[i]の符号値とが同じ値である場合(YES)、S272に進む。
第一の差分r1[i]の符号値とデータ予測値p’[i]の符号値とが異なる値である場合(NO)、S274に進む。
S272において、元データ復号部340は、整形後の元データd’[i]の符号部に第一の残差r1[i]の符号値を設定する。
S272の後、S273に進む。
S273において、元データ復号部340は、整形後の元データd’[i]の仮数部に第一の残差r1[i]の仮数値とデータ予測値p’[i]の仮数値との合計値を設定する。
S273により、整形後元データ復号処理(S270)は終了する。
S274において、元データ復号部340は、第一の残差r1[i]の仮数値がデータ予測値p’[i]の仮数値以上の値であるか否かを判定する。
第一の残差r1[i]の仮数値がデータ予測値p’[i]の仮数値以上の値である場合(YES)、S277に進む。
第一の残差r1[i]の仮数値がデータ予測値p’[i]の仮数値未満の値である場合(NO)、S275に進む。
S275において、元データ復号部340は、整形後の元データd’[i]の符号部に第一の残差r1[i]の符号値を設定する。
S275の後、S276に進む。
S276において、元データ復号部340は、整形後の元データd’[i]の仮数部に第一の残差r1[i]の仮数値からデータ予測値p’[i]の仮数値を差し引いた値を設定する。
S276により、整形後元データ復号処理(S270)は終了する。
S277において、元データ復号部340は、整形後の元データd’[i]の符号部にデータ予測値p’[i]の符号値を設定する。
S277の後、S278に進む。
S278において、元データ復号部340は、整形後の元データd’[i]の仮数部にデータ予測値p’[i]の仮数値から第一の残差r1[i]の仮数値を差し引いた値を設定する。
S278により、整形後元データ復号処理(S270)は終了する。
図9に戻り、データ復号処理の説明を続ける。
S270の後、S280に進む。
S280において、元データ復号部340は、整形後の元データd’[i]に基づいて元データd[i]を生成する。
元データd[i]の生成方法は、データ予測値整形処理(図5参照)のS121に対応する処理(逆算する処理)である。
例えば、データ予測値整形処理(図5参照)のS121が元データd[i]の仮数部の上位に(N+2)ビットのビット列を追加する処理である場合、元データ復号部340は、整形後の元データd’[i]の仮数部から上位の(N+2)ビットを削除する。この場合、整形後の元データd’[i]の仮数部から上位の(N+2)ビットを削除したものが元データd[i]である。
S280により、データ復号処理は終了する。
データ復号処理により、データ復号部300は、符号化データ102から元データ101を正しく復号させることができる。
以上で説明したデータ圧縮装置100は、データ予測値整形部221、第一の残差生成部222および第二の残差生成部224を用いて符号化データ102を生成することにより、元データ101(浮動小数点数)のデータ構造の反映と可逆圧縮の両立とを実現している。
また、データ圧縮装置100は、データ予測値p’[i]の整形方法に関する付加情報を不要にしたことにより、符号化による高圧縮性を実現している。
データ符号化処理の手順や規則(データ予測値p[i]の整形方法(図5参照)を含む)は予め決められてデータ符号化部200に記憶されているものとする。
また、データ符号化処理に対応するデータ復号処理の手順や規則は予め決められてデータ復号部300に記憶されているものとする。
データ符号化部200とデータ復号部300とはそれぞれに別の装置に備えても構わない。つまり、データ圧縮装置100の代わりに、データ符号化部200を備えるデータ符号装置と、データ復号部300を備えるデータ復号装置とを設けても構わない。
この場合、データ符号化部200とデータ復号部300との両方に必要な情報(例えば、元データ履歴ファイル191、第一の残差履歴ファイル192)はそれぞれの装置に記憶しておく。
図11は、実施の形態1におけるデータ圧縮装置100のハードウェア資源の一例を示す図である。
図11において、データ圧縮装置100(コンピュータの一例)は、CPU901(Central Processing Unit)を備えている。CPU901は、バス902を介してROM903、RAM904、通信ボード905(通信装置)、ディスプレイ911(表示装置)、キーボード912、マウス913、ドライブ914、磁気ディスク装置920などのハードウェアデバイスと接続され、これらのハードウェアデバイスを制御する。ドライブ914は、FD(Flexible Disk)、CD(Compact Disc)、DVD(Digital Versatile Disc)などの記憶媒体を読み書きする装置である。
ROM903、RAM904、磁気ディスク装置920およびドライブ914は記憶装置の一例である。キーボード912、マウス913および通信ボード905は入力装置の一例である。ディスプレイ911および通信ボード905は出力装置の一例である。
通信ボード905は、有線または無線で、LAN(Local Area Network)、インターネット、電話回線などの通信網に接続している。
磁気ディスク装置920には、OS921(オペレーティングシステム)、プログラム群922、ファイル群923が記憶されている。
プログラム群922には、実施の形態において「〜部」として説明する機能を実行するプログラムが含まれる。プログラム(例えば、符号化プログラム、復号プログラム)は、CPU901により読み出され実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順や方法をコンピュータに実行させるものである。
ファイル群923には、実施の形態において説明する「〜部」で使用される各種データ(入力、出力、判定結果、計算結果、処理結果など)が含まれる。
実施の形態において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。
フローチャートなどに基づいて説明する実施の形態の処理はCPU901、記憶装置、入力装置、出力装置などのハードウェアを用いて実行される。
実施の形態において「〜部」として説明するものは「〜回路」、「〜装置」、「〜機器」であってもよく、また「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。
実施の形態1において、例えば、以下のような符号化装置(データ圧縮装置100のデータ符号化部200)について説明した。括弧内に実施の形態1で用いた名称を記す。
符号化装置は、データ値記憶部と、データ関連値記憶部と、調整仮数値生成部と、符号化対象値生成部と、符号化値生成部とを備える。
データ値記憶部(データ記憶部190)は、指数値と仮数値とを用いて表される浮動小数点数の値であって符号化する目的の値であるデータ値(元データ101)を記憶する記憶部である。
データ関連値記憶部(データ記憶部190)は、前記データ値記憶部に記憶される前記データ値を符号化するために用いる浮動小数点数の値であるデータ関連値(データ予測値p[i])を記憶する記憶部である。
調整仮数値生成部(データ予測値整形部221)は、前記データ関連値記憶部に記憶された前記データ関連値の指数値と前記データ値記憶部に記憶された前記データ値の指数値との差に基づいて前記データ関連値の仮数値を調整して調整仮数値(データ予測値p’[i]の仮数値)を生成する。
符号化対象値生成部(残差生成部220)は、前記データ値記憶部に記憶された前記データ値の前記指数値に基づいて特定の指数値を生成する。符号化対象値生成部は、前記データ値の仮数値と前記調整仮数値生成部によって生成された前記調整仮数値とに基づいて特定の仮数値を生成する。符号化対象値生成部は、前記特定の指数値と前記特定の仮数値とに基づいて浮動小数点数の値であって符号化する値である符号化対象値(第二の残差r2[i])を生成する。
データ符号化値生成部(残差符号化部230)は、前記符号化対象値生成部によって生成された前記符号化対象値を符号化してデータ符号化値(符号化データ102)を生成する。
前記調整仮数値生成部は、前記データ関連値の指数値を前記データ値の指数値と同じ値に変更する場合であって前記データ関連値の指数値の変更によって前記データ関連値の桁数が変わらないように前記データ関連値の前記仮数値を変更する場合の前記データ関連値の変更後の仮数値を前記調整仮数値として算出する(図5のS123、S125参照)。
前記調整仮数値生成部は、前記データ関連値の前記仮数値を1つ以上の桁で表す仮数部に所定の追加桁数(パラメータN)の桁を上位側の桁として追加する(図5のS121参照)。
前記データ関連値の前記指数値が前記データ値の前記指数値以下である場合、前記調整仮数値生成部は、前記データ関連値の前記指数値と前記データ値の前記指数値との指数値差に相当する桁数だけ前記データ関連値の前記仮数値を下位側にシフトする(図5のS123参照)。
前記データ関連値の前記指数値が前記データ値の前記指数値より大きい場合であって前記指数値差が前記追加桁数以下である場合、前記調整仮数値生成部は、前記データ関連値の前記仮数値を前記指数値差に相当する桁数だけ上位側にシフトする(図5のS125参照)。
前記データ関連値の前記指数値が前記データ値の前記指数値より大きい場合であって前記指数値差が前記追加桁数より大きい場合、前記調整仮数値生成部は、前記データ関連値の前記仮数部に所定のダミー値を設定する(図5のS126参照)。
前記符号化対象値生成部は、前記データ値の前記指数値と同じ指数値を前記特定の指数値にする(図6のS131参照)。
前記符号化対象値生成部は、前記データ値の前記仮数値と前記調整仮数値との合計の値と、前記データ値の前記仮数値と前記調整仮数値との差の値とのいずれかの値を前記特定の仮数値にする(図7のS132−3、S132−6、S132−8参照)。
前記符号化装置は、浮動小数点数の特定の値である中間関連値(第一の差分予測値p_r1[i])を記憶する中間関連値記憶部(データ記憶部190)を備える。
前記符号化対象値生成部は、前記特定の指数値と前記特定の仮数値とを用いて浮動小数点数の値である中間値(第一の差分r1[i])を生成し、前記中間値と前記中間関連値記憶部に記憶された前記中間関連値とに基づいて前記符号化対象値(第二の差分r2[i])を生成する。
前記符号化対象値生成部は、前記中間値の指数値と前記中間関連値の指数値との差の値を前記符号化対象値の指数値として用いると共に、前記中間値の仮数値と同じ仮数値を前記符号化対象値の仮数値として用いて前記符号化対象値を生成する(図4のS150参照)。
前記符号化装置は、さらに、過去中間値記憶部と、中間関連値生成部とを備える。
過去中間値記憶部(データ記憶部190の第一の残差履歴ファイル192)は、過去に生成された1つ以上の中間値それぞれを過去中間値として記憶する記憶部である。
中間関連値生成部(第一の残差予測値生成部223)は、前記過去中間値記憶部に記憶された少なくともいずれかの過去中間値に基づいて前記中間関連値(第一の残差予測値p_r1[i])を生成する。
前記符号化装置は、さらに、過去データ値記憶部と、データ関連値生成部とを備える。
過去データ値記憶部(データ記憶部190の元データ履歴ファイル191)は、過去に符号化された1つ以上のデータ値それぞれを過去データ値として記憶する記憶部である。
データ関連値生成部(データ予測値生成部210)は、前記過去データ値記憶部に記憶された少なくともいずれかの過去データ値に基づいて前記データ関連値(データ予測値p[i])を生成する。
実施の形態1において、例えば、以下のような復号装置(データ圧縮装置100)について説明した。括弧内に実施の形態1で用いた名称を記す。
復号装置は、データ符号化値記憶部と、データ関連値記憶部と、符号化対象値復号部と、データ指数値復号部と、調整仮数値復号部と、データ仮数値復号部とを備える。
データ符号化値記憶部(データ記憶部190)は、指数値と仮数値とを用いて表される浮動小数点数の値であって符号化された値であるデータ符号化値(符号化データ102)を記憶する記憶部である。
データ関連値記憶部(データ記憶部190)は、復号する目的のデータ値(元データ101)を得るために用いる浮動小数点数の値であるデータ関連値(データ予測値p[i])を記憶する記憶部である。
符号化対象値復号部(第二の残差復号部310)は、前記データ符号化値記憶部に記憶された前記データ符号化値を復号して浮動小数点数の値である符号化対象値(第二の残差r2[i])を生成する。
データ指数値復号部(予測値整形方法特定部330)は、前記符号化対象値復号部によって生成された前記符号化対象値の指数値に基づいて前記データ値の指数値を生成する。
調整仮数値復号部(予測値整形方法特定部330)は、前記データ指数値復号部によって生成された前記データ値の前記指数値と前記データ関連値記憶部に記憶された前記データ関連値の指数値との差に基づいて前記データ関連値の仮数値を調整して調整仮数値(データ予測値p[i]の仮数値)を生成する。
データ仮数値復号部(元データ復号部340)は、前記調整仮数値復号部によって生成された前記調整仮数部と前記符号化対象値復号部によって生成された前記符号化対象値の仮数値とに基づいて前記データ値の仮数値を生成する。
100 データ圧縮装置、101 元データ、102 符号化データ、190 データ記憶部、191 元データ履歴ファイル、192 第一の残差履歴ファイル、200 データ符号化部、210 データ予測値生成部、220 残差生成部、221 データ予測値整形部、222 第一の残差生成部、223 第一の残差予測値生成部、224 第二の残差生成部、230 残差符号化部、300 データ復号部、301 データ予測値生成部、302 第一の残差予測値生成部、310 第二の残差復号部、320 第一の残差復号部、330 予測値整形方法特定部、340 元データ復号部、901 CPU、902 バス、903 ROM、904 RAM、905 通信ボード、911 ディスプレイ、912 キーボード、913 マウス、914 ドライブ、920 磁気ディスク装置、921 OS、922 プログラム群、923 ファイル群。

Claims (13)

  1. 指数値と仮数値とを用いて表される浮動小数点数の値であって符号化する目的の値であるデータ値を記憶するデータ値記憶部と、
    前記データ値記憶部に記憶される前記データ値を符号化するために用いる浮動小数点数の値であるデータ関連値を記憶するデータ関連値記憶部と、
    前記データ関連値記憶部に記憶された前記データ関連値の指数値と前記データ値記憶部に記憶された前記データ値の指数値との差に基づいて前記データ関連値の仮数値を調整して調整仮数値を生成する調整仮数値生成部と、
    前記データ値記憶部に記憶された前記データ値の前記指数値に基づいて特定の指数値を生成し、前記データ値の仮数値と前記調整仮数値生成部によって生成された前記調整仮数値とに基づいて特定の仮数値を生成し、前記特定の指数値と前記特定の仮数値とに基づいて浮動小数点数の値であって符号化する値である符号化対象値を生成する符号化対象値生成部と、
    前記符号化対象値生成部によって生成された前記符号化対象値を符号化してデータ符号化値を生成するデータ符号化値生成部とを備え、
    前記調整仮数値生成部は、
    前記データ関連値の前記仮数値を1つ以上の桁で表す仮数部に追加桁数の桁を上位側の桁として追加し、
    前記データ関連値の前記指数値が前記データ値の前記指数値以下である場合、前記データ関連値の前記指数値と前記データ値の前記指数値との指数値差に相当する桁数だけ前記データ関連値の前記仮数値を下位側にシフトし、
    前記データ関連値の前記指数値が前記データ値の前記指数値より大きい場合であって前記指数値差が前記追加桁数以下である場合、前記データ関連値の前記仮数値を前記指数値差に相当する桁数だけ上位側にシフトし、
    前記データ関連値の前記指数値が前記データ値の前記指数値より大きい場合であって前記指数値差が前記追加桁数より大きい場合、前記データ関連値の前記仮数部にダミー値を設定する
    ことを特徴とする符号化装置。
  2. 前記調整仮数値生成部は、前記データ関連値の指数値を前記データ値の指数値と同じ値に変更する場合であって前記データ関連値の指数値の変更によって前記データ関連値の桁数が変わらないように前記データ関連値の前記仮数値を変更する場合の前記データ関連値の変更後の仮数値を前記調整仮数値として算出する
    ことを特徴とする請求項1記載の符号化装置。
  3. 前記符号化対象値生成部は、前記データ値の前記指数値と同じ指数値を前記特定の指数値にする
    ことを特徴とする請求項1または請求項2に記載の符号化装置。
  4. 前記符号化対象値生成部は、前記データ値の前記仮数値と前記調整仮数値との合計の値と、前記データ値の前記仮数値と前記調整仮数値との差の値とのいずれかの値を前記特定の仮数値にする
    ことを特徴とする請求項1から請求項いずれかに記載の符号化装置。
  5. 前記符号化装置は、さらに、
    浮動小数点数の特定の値である中間関連値を記憶する中間関連値記憶部を備え、
    前記符号化対象値生成部は、
    前記特定の指数値と前記特定の仮数値とを用いて浮動小数点数の値である中間値を生成し、前記中間値と前記中間関連値記憶部に記憶された前記中間関連値とに基づいて前記符号化対象値を生成する
    ことを特徴とする請求項1から請求項いずれかに記載の符号化装置。
  6. 前記符号化対象値生成部は、前記中間値の指数値と前記中間関連値の指数値との差の値を前記符号化対象値の指数値として用いると共に、前記中間値の仮数値と同じ仮数値を前記符号化対象値の仮数値として用いて前記符号化対象値を生成する
    ことを特徴とする請求項記載の符号化装置。
  7. 前記符号化装置は、さらに、
    過去に生成された1つ以上の中間値それぞれを過去中間値として記憶する過去中間値記憶部と、
    前記過去中間値記憶部に記憶された少なくともいずれかの過去中間値に基づいて前記中間関連値を生成する中間関連値生成部とを備える
    ことを特徴とする請求項5または請求項6に記載の符号化装置。
  8. 前記符号化装置は、さらに、
    過去に符号化された1つ以上のデータ値それぞれを過去データ値として記憶する過去データ値記憶部と、
    前記過去データ値記憶部に記憶された少なくともいずれかの過去データ値に基づいて前記データ関連値を生成するデータ関連値生成部とを備える
    ことを特徴とする請求項1から請求項いずれかに記載の符号化装置。
  9. 指数値と仮数値とを用いて表される浮動小数点数の値であって符号化された値であるデータ符号化値を記憶するデータ符号化値記憶部と、
    復号する目的のデータ値を得るために用いる浮動小数点数の値であるデータ関連値を記憶するデータ関連値記憶部と、
    前記データ符号化値記憶部に記憶された前記データ符号化値を復号して浮動小数点数の値である符号化対象値を生成する符号化対象値復号部と、
    前記符号化対象値復号部によって生成された前記符号化対象値の指数値に基づいて前記データ値の指数値を生成するデータ指数値復号部と、
    前記データ指数値復号部によって生成された前記データ値の前記指数値と前記データ関連値記憶部に記憶された前記データ関連値の指数値との差に基づいて前記データ関連値の仮数値を調整して調整仮数値を生成する調整仮数値復号部と、
    前記調整仮数値復号部によって生成された前記調整仮数と前記符号化対象値復号部によって生成された前記符号化対象値の仮数値とに基づいて前記データ値の仮数値を生成するデータ仮数値復号部とを備え、
    前記調整仮数値復号部は、
    前記データ関連値の前記指数値が前記データ値の前記指数値以下である場合、前記データ関連値の前記指数値と前記データ値の前記指数値との指数値差に相当する桁数だけ前記データ関連値の前記仮数値を下位側にシフトし、
    前記データ関連値の前記指数値が前記データ値の前記指数値より大きい場合であって、前記指数値差が前記データ関連値の前記仮数値を1つ以上の桁で表す仮数部に上位側の桁として追加された桁の追加桁数以下である場合、前記データ関連値の前記仮数値を前記指数値差に相当する桁数だけ上位側にシフトし、
    前記データ関連値の前記指数値が前記データ値の前記指数値より大きい場合であって、前記指数値差が前記追加桁数より大きい場合、前記データ関連値の前記仮数部にダミー値を設定する
    ことを特徴とする復号装置。
  10. データ値記憶部と、データ関連値記憶部と、調整仮数値生成部と、符号化対象値生成部と、データ符号化値生成部とを備える符号化装置を用いる符号化方法であって、
    前記データ値記憶部は、指数値と仮数値とを用いて表される浮動小数点数の値であって符号化する目的の値であるデータ値を記憶する記憶部であり、
    前記データ関連値記憶部は、前記データ値記憶部に記憶される前記データ値を符号化するために用いる浮動小数点数の値であるデータ関連値を記憶する記憶部であり、
    前記調整仮数値生成部が、前記データ関連値記憶部に記憶された前記データ関連値の指数値と前記データ値記憶部に記憶された前記データ値の指数値との差に基づいて前記データ関連値の仮数値を調整して調整仮数値を生成し、
    前記符号化対象値生成部が、前記データ値記憶部に記憶された前記データ値の前記指数値に基づいて特定の指数値を生成し、前記データ値の仮数値と前記調整仮数値生成部によって生成された前記調整仮数値とに基づいて特定の仮数値を生成し、前記特定の指数値と前記特定の仮数値とに基づいて浮動小数点数の値であって符号化する値である符号化対象値を生成し、
    前記データ符号化値生成部が、前記符号化対象値生成部によって生成された前記符号化対象値を符号化してデータ符号化値を生成し、
    前記調整仮数値生成部は、前記調整仮数値を生成するために、
    前記データ関連値の前記仮数値を1つ以上の桁で表す仮数部に追加桁数の桁を上位側の桁として追加し、
    前記データ関連値の前記指数値が前記データ値の前記指数値以下である場合、前記データ関連値の前記指数値と前記データ値の前記指数値との指数値差に相当する桁数だけ前記データ関連値の前記仮数値を下位側にシフトし、
    前記データ関連値の前記指数値が前記データ値の前記指数値より大きい場合であって前記指数値差が前記追加桁数以下である場合、前記データ関連値の前記仮数値を前記指数値差に相当する桁数だけ上位側にシフトし、
    前記データ関連値の前記指数値が前記データ値の前記指数値より大きい場合であって前記指数値差が前記追加桁数より大きい場合、前記データ関連値の前記仮数部にダミー値を設定する
    ことを特徴とする符号化方法。
  11. データ値とデータ関連値とを用いる符号化プログラムであって、
    前記データ値は、指数値と仮数値とを用いて表される浮動小数点数の値であって符号化する目的の値であり、
    前記データ関連値は、前記データ値を符号化するために用いる浮動小数点数の値であり、
    前記データ関連値の指数値と前記データ値の指数値との差に基づいて前記データ関連値の仮数値を調整して調整仮数値を生成する調整仮数値生成処理と、
    前記データ値の前記指数値に基づいて特定の指数値を生成し、前記データ値の仮数値と前記調整仮数値とに基づいて特定の仮数値を生成し、前記特定の指数値と前記特定の仮数値とに基づいて浮動小数点数の値であって符号化する値である符号化対象値を生成する符号化対象値生成処理と、
    前記符号化対象値を符号化してデータ符号化値を生成するデータ符号化値生成処理とをコンピュータに実行させ、
    前記調整仮数値生成処理は、前記調整仮数値を生成するために、
    前記データ関連値の前記仮数値を1つ以上の桁で表す仮数部に追加桁数の桁を上位側の桁として追加し、
    前記データ関連値の前記指数値が前記データ値の前記指数値以下である場合、前記データ関連値の前記指数値と前記データ値の前記指数値との指数値差に相当する桁数だけ前記データ関連値の前記仮数値を下位側にシフトし、
    前記データ関連値の前記指数値が前記データ値の前記指数値より大きい場合であって前記指数値差が前記追加桁数以下である場合、前記データ関連値の前記仮数値を前記指数値差に相当する桁数だけ上位側にシフトし、
    前記データ関連値の前記指数値が前記データ値の前記指数値より大きい場合であって前記指数値差が前記追加桁数より大きい場合、前記データ関連値の前記仮数部にダミー値を設定する処理である
    ことを特徴とする符号化プログラム。
  12. データ符号化値記憶部と、データ関連値記憶部と、符号化対象値復号部と、前記データ値の指数値を生成するデータ指数値復号部と、調整仮数値復号部と、データ仮数値復号部とを備える復号装置を用いる復号方法であって、
    前記データ符号化値記憶部は、指数値と仮数値とを用いて表される浮動小数点数の値であって符号化された値であるデータ符号化値を記憶する記憶部であり、
    前記データ関連値記憶部は、復号する目的のデータ値を得るために用いる浮動小数点数の値であるデータ関連値を記憶する記憶部であり、
    前記符号化対象値復号部が、前記データ符号化値記憶部に記憶された前記データ符号化値を復号して浮動小数点数の値である符号化対象値を生成し、
    前記データ指数値復号部が、前記符号化対象値復号部によって生成された前記符号化対象値の指数値に基づいて前記データ値の指数値を生成し、
    前記調整仮数値復号部が、前記データ指数値復号部によって生成された前記データ値の前記指数値と前記データ関連値記憶部に記憶された前記データ関連値の指数値との差に基づいて前記データ関連値の仮数値を調整して調整仮数値を生成し、
    前記データ仮数値復号部が、前記調整仮数値復号部によって生成された前記調整仮数と前記符号化対象値復号部によって生成された前記符号化対象値の仮数値とに基づいて前記データ値の仮数値を生成し、
    前記調整仮数値復号部は、前記調整仮数値を生成するために、
    前記データ関連値の前記指数値が前記データ値の前記指数値以下である場合、前記データ関連値の前記指数値と前記データ値の前記指数値との指数値差に相当する桁数だけ前記データ関連値の前記仮数値を下位側にシフトし、
    前記データ関連値の前記指数値が前記データ値の前記指数値より大きい場合であって、前記指数値差が前記データ関連値の前記仮数値を1つ以上の桁で表す仮数部に上位側の桁として追加された桁の追加桁数以下である場合、前記データ関連値の前記仮数値を前記指数値差に相当する桁数だけ上位側にシフトし、
    前記データ関連値の前記指数値が前記データ値の前記指数値より大きい場合であって、前記指数値差が前記追加桁数より大きい場合、前記データ関連値の前記仮数部にダミー値を設定する
    ことを特徴とする復号方法。
  13. データ符号化値とデータ関連値とを用いる復号プログラムであって、
    前記データ符号化値は、指数値と仮数値とを用いて表される浮動小数点数の値であって符号化された値であり、
    前記データ関連値は、復号する目的のデータ値を得るために用いる浮動小数点数の値であり、
    前記データ符号化値記憶部に記憶された前記データ符号化値を復号して浮動小数点数の値である符号化対象値を生成する符号化対象値復号処理と、
    前記符号化対象値の指数値に基づいて前記データ値の指数値を生成するデータ指数値復号処理と、
    前記データ値の前記指数値と前記データ関連値の指数値との差に基づいて前記データ関連値の仮数値を調整して調整仮数値を生成する調整仮数値復号処理と、
    前記調整仮数値と前記符号化対象値の仮数値とに基づいて前記データ値の仮数値を生成するデータ仮数値復号処理とをコンピュータに実行させ、
    前記調整仮数値復号処理は、前記調整仮数値を生成するために、
    前記データ関連値の前記指数値が前記データ値の前記指数値以下である場合、前記データ関連値の前記指数値と前記データ値の前記指数値との指数値差に相当する桁数だけ前記データ関連値の前記仮数値を下位側にシフトし、
    前記データ関連値の前記指数値が前記データ値の前記指数値より大きい場合であって、前記指数値差が前記データ関連値の前記仮数値を1つ以上の桁で表す仮数部に上位側の桁として追加された桁の追加桁数以下である場合、前記データ関連値の前記仮数値を前記指数値差に相当する桁数だけ上位側にシフトし、
    前記データ関連値の前記指数値が前記データ値の前記指数値より大きい場合であって、前記指数値差が前記追加桁数より大きい場合、前記データ関連値の前記仮数部にダミー値を設定する処理である
    ことを特徴とする復号プログラム。
JP2014521176A 2012-06-21 2012-06-21 符号化装置、復号装置、符号化方法、符号化プログラム、復号方法および復号プログラム Active JP5619326B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/065918 WO2013190690A1 (ja) 2012-06-21 2012-06-21 符号化装置、復号装置、符号化方法、符号化プログラム、復号方法および復号プログラム

Publications (2)

Publication Number Publication Date
JP5619326B2 true JP5619326B2 (ja) 2014-11-05
JPWO2013190690A1 JPWO2013190690A1 (ja) 2016-02-08

Family

ID=49768319

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014521176A Active JP5619326B2 (ja) 2012-06-21 2012-06-21 符号化装置、復号装置、符号化方法、符号化プログラム、復号方法および復号プログラム

Country Status (4)

Country Link
US (1) US8947274B2 (ja)
JP (1) JP5619326B2 (ja)
CN (1) CN104412512B (ja)
WO (1) WO2013190690A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024106556A1 (ko) * 2022-11-14 2024-05-23 주식회사 사피온코리아 부동 소수점 데이터 압축을 위한 방법 및 장치

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9832487B2 (en) * 2013-03-15 2017-11-28 Leica Geosystems, Ag Model-based scan line encoder
US9501717B1 (en) * 2015-08-10 2016-11-22 Mitsubishi Electric Research Laboratories, Inc. Method and system for coding signals using distributed coding and non-monotonic quantization
US10455250B2 (en) * 2017-05-30 2019-10-22 Mitsubishi Electric Research Laboratories, Inc. Method and system for distributed coding of images
US10756756B2 (en) * 2018-09-14 2020-08-25 Hewlett Packard Enterprise Development Lp Floating point data set compression

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62295136A (ja) * 1986-06-13 1987-12-22 Fujitsu Ltd 浮動小数点数演算回路
JP2005018606A (ja) * 2003-06-27 2005-01-20 Nippon Telegr & Teleph Corp <Ntt> 浮動小数点形式信号系列の線形予測分析方法、その装置、プログラムおよびその記録媒体
WO2007096982A1 (ja) * 2006-02-24 2007-08-30 Fujitsu Limited 演算処理装置および演算処理方法
JP2011175542A (ja) * 2010-02-25 2011-09-08 Fujitsu Ltd 画像データ処理装置
JP2012113657A (ja) * 2010-11-26 2012-06-14 Mitsubishi Electric Corp データ圧縮装置及びデータ復元装置及びデータ処理システム及びコンピュータプログラム及びデータ圧縮方法及びデータ復元方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04195421A (ja) 1990-11-28 1992-07-15 Hitachi Ltd 浮動小数点データの圧縮方法
JPH0969782A (ja) 1995-08-31 1997-03-11 Nippon Steel Corp オーディオデータ符号化装置
US6298367B1 (en) * 1998-04-06 2001-10-02 Advanced Micro Devices, Inc. Floating point addition pipeline including extreme value, comparison and accumulate functions
US6131104A (en) * 1998-03-27 2000-10-10 Advanced Micro Devices, Inc. Floating point addition pipeline configured to perform floating point-to-integer and integer-to-floating point conversion operations
KR100335609B1 (ko) * 1997-11-20 2002-10-04 삼성전자 주식회사 비트율조절이가능한오디오부호화/복호화방법및장치
US6629231B1 (en) * 2000-01-04 2003-09-30 National Semiconductor Corporation System and method for efficient register file conversion of denormal numbers between scalar and SIMD formats
JP3881943B2 (ja) * 2002-09-06 2007-02-14 松下電器産業株式会社 音響符号化装置及び音響符号化方法
EP1662667B1 (en) * 2003-09-02 2015-11-11 Nippon Telegraph And Telephone Corporation Floating point signal reversible encoding method, decoding method, device thereof, program, and recording medium thereof
DE102004009955B3 (de) * 2004-03-01 2005-08-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Ermitteln einer Quantisierer-Schrittweite
US7161507B2 (en) * 2004-08-20 2007-01-09 1St Works Corporation Fast, practically optimal entropy coding
JP4771674B2 (ja) * 2004-09-02 2011-09-14 パナソニック株式会社 音声符号化装置、音声復号化装置及びこれらの方法
WO2006062142A1 (ja) * 2004-12-07 2006-06-15 Nippon Telegraph And Telephone Corporation 情報圧縮符号化装置、その復号化装置、これらの方法、およびこれらのプログラムとその記録媒体
EP1901432B1 (en) * 2005-07-07 2011-11-09 Nippon Telegraph And Telephone Corporation Signal encoder, signal decoder, signal encoding method, signal decoding method, program, recording medium and signal codec method
US8331664B2 (en) 2008-01-21 2012-12-11 Telefonaktiebolaget Lm Ericsson (Publ) Prediction-based image processing
JP5302336B2 (ja) 2008-01-21 2013-10-02 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 画素のブロックを圧縮する方法及びシステム
EP2235953B1 (en) 2008-01-21 2011-09-14 Telefonaktiebolaget L M Ericsson (publ) Prediction-based image processing
EP2309648A1 (en) * 2009-09-14 2011-04-13 Thomson Licensing Method for encoding floating-point data, method for decoding floating-point data, and corresponding encoder and decoder
EP2387004B1 (en) 2010-05-11 2016-12-14 Dassault Systèmes Lossless compression of a structured set of floating point numbers, particularly for CAD systems
CN102055974B (zh) * 2010-10-14 2013-04-17 华为技术有限公司 数据压缩、解压缩方法、装置及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62295136A (ja) * 1986-06-13 1987-12-22 Fujitsu Ltd 浮動小数点数演算回路
JP2005018606A (ja) * 2003-06-27 2005-01-20 Nippon Telegr & Teleph Corp <Ntt> 浮動小数点形式信号系列の線形予測分析方法、その装置、プログラムおよびその記録媒体
WO2007096982A1 (ja) * 2006-02-24 2007-08-30 Fujitsu Limited 演算処理装置および演算処理方法
JP2011175542A (ja) * 2010-02-25 2011-09-08 Fujitsu Ltd 画像データ処理装置
JP2012113657A (ja) * 2010-11-26 2012-06-14 Mitsubishi Electric Corp データ圧縮装置及びデータ復元装置及びデータ処理システム及びコンピュータプログラム及びデータ圧縮方法及びデータ復元方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6014034400; Xing Xie, Qianqing Qin: 'Fast Lossless Compression of Seismic Floating-Point Data' Information Technology and Applications,2009.IFITA '09.International Forum on Vol.1, 20090517, pp.235-238 *
JPN6014034402; Kentaro Sano, Kazuya Katahira, Satoru Yamamoto: 'Segmant-Parallel Predictor for FPGA-based Hardware Compressor and Decompressor of Floating-Point Dat' Data Compression Conference(DCC),2010 , 20100326, pp.416-425 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024106556A1 (ko) * 2022-11-14 2024-05-23 주식회사 사피온코리아 부동 소수점 데이터 압축을 위한 방법 및 장치

Also Published As

Publication number Publication date
CN104412512B (zh) 2017-05-24
WO2013190690A1 (ja) 2013-12-27
US8947274B2 (en) 2015-02-03
US20140313064A1 (en) 2014-10-23
JPWO2013190690A1 (ja) 2016-02-08
CN104412512A (zh) 2015-03-11

Similar Documents

Publication Publication Date Title
Lindstrom et al. Fast and efficient compression of floating-point data
JP5619326B2 (ja) 符号化装置、復号装置、符号化方法、符号化プログラム、復号方法および復号プログラム
JP6227186B2 (ja) データ圧縮装置、データ伸張装置、データ圧縮方法、データ伸張方法及びプログラム
JP2006129467A (ja) 整数データの無損失適応符号化・復号化
JP5570409B2 (ja) データ圧縮装置及びデータ圧縮方法及びデータ圧縮プログラム
CN112262578B (zh) 点云属性编码方法和装置以及点云属性解码方法和装置
CN106537914B (zh) 通过限制的进位运算来执行算术编译的方法和设备
JP4037875B2 (ja) コンピュータグラフィックスデータ符号化装置、復号化装置、符号化方法、および、復号化方法
KR101318574B1 (ko) 데이터 압축 장치 및 데이터 압축 방법 및 컴퓨터 판독 가능한 기록 매체
JP2010500819A (ja) 複数の量子化パターンの効率的な知覚的関連検索による音声及びオーディオを量子化するための方法
CN112449191B (zh) 压缩多个图像的方法、解压缩图像的方法和装置
JP2003188736A (ja) 符号化装置及び復号装置及び符号化・復号装置及び符号化方法及び復号方法及び符号化・復号方法及びプログラム
JP4524501B2 (ja) 符号化システム、符号化方法、符号化プログラム、復号化システム、復号化方法および復号化プログラム
CN110175185B (zh) 一种基于时序数据分布特征的自适应无损压缩方法
CN118244993B (zh) 数据存储方法、数据处理方法及装置、电子设备、介质
US12081241B2 (en) Code table generation device, memory system, and code table generation method
JP4497029B2 (ja) データ符号化装置,およびデータ符号化方法
WO2019198383A1 (ja) 符号化装置、復号装置、符号化方法、復号方法、プログラム、および記録媒体
JPWO2017109865A1 (ja) データ圧縮装置、データ伸長装置、データ圧縮プログラム、データ伸長プログラム、データ圧縮方法及びデータ伸長方法
JP2022127884A (ja) 演算装置、圧縮方法
US9558109B2 (en) Method and apparatus for flash memory arithmetic encoding and decoding
KR20150066197A (ko) 연속 데이터 압축 방법
JP2018037891A (ja) 符号化装置、符号化方法、復号装置および復号方法

Legal Events

Date Code Title Description
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: 20140819

R150 Certificate of patent or registration of utility model

Ref document number: 5619326

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

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