JP2015056725A - データ圧縮方法及びその装置並びにそのプログラム - Google Patents
データ圧縮方法及びその装置並びにそのプログラム Download PDFInfo
- Publication number
- JP2015056725A JP2015056725A JP2013188225A JP2013188225A JP2015056725A JP 2015056725 A JP2015056725 A JP 2015056725A JP 2013188225 A JP2013188225 A JP 2013188225A JP 2013188225 A JP2013188225 A JP 2013188225A JP 2015056725 A JP2015056725 A JP 2015056725A
- Authority
- JP
- Japan
- Prior art keywords
- data
- run length
- notation
- bits
- length
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/93—Run-length coding
Abstract
【課題】短い周期で各種階調のデータが出現したり、長い周期で同じ階調のデータが出現したりする処理対象データに対しても高い圧縮率が得られる。【解決手段】コンピュータ1は、画像データを連長圧縮の対象とした場合の連長数に基づいて、連長表記可変ヘッダにおける表記部を構成するビット数を決定する。連長数表記可変ヘッダの表記部を可変としているので、連長数が小さいときは表記部を短縮させ、連長数が大きいときは表記部を拡大させる。そして、連長数表記可変ヘッダによる格納方式に基づいて処理対象データを格納する。連長数の表記部に続くデータの羅列数の長さを抑制できるので、高い圧縮率を得ることができる。また、表記部に記載可能な連長数を大きくでき、ヘッダ数を抑制できるので、高い圧縮率を得ることができる。【選択図】図2
Description
本発明は、画像データなどの処理対象データを圧縮するデータ圧縮方法及びその装置並びにそのプログラムに係り、特に、連続するデータを連長圧縮する技術に関する。
従来、この種の方法として、画像データなどのデータ圧縮のために、同一データの連続性に着目したPack Bits(連長圧縮やランレングス圧縮とも呼ばれる)がある(例えば、特許文献1参照)。このPack Bitsは、同一データの連続/不連続の長さを記録することでデータの可逆圧縮を行う。
しかしながら、このような構成を有する従来例の場合には、次のような問題がある。
すなわち、従来の方法では、データ中における同一階調の連続データ部でしか圧縮ができず、データが写真などの自然画像である場合には圧縮率が上がらないという欠点がある。そこで、本出願人は、従来のPack Bits方式を改良し、同一階調ではないが階調の上位データが一致している連続箇所に対して、半同一データという概念を採用して圧縮を行うデータ圧縮方法を出願している(特願2012−181097号)。しかしながら、このデータ圧縮方法でも、特に階調変化の周期が短く、データの上位及び下位が同一で圧縮可能な同一階調部と、データの上位だけが同じ半同一階調部と、データの上位及び下位が非同一で圧縮ができない非同一階調部とが広く散在するデータである場合には、改良の効果が発揮されにくいという問題がある。
すなわち、従来の方法では、データ中における同一階調の連続データ部でしか圧縮ができず、データが写真などの自然画像である場合には圧縮率が上がらないという欠点がある。そこで、本出願人は、従来のPack Bits方式を改良し、同一階調ではないが階調の上位データが一致している連続箇所に対して、半同一データという概念を採用して圧縮を行うデータ圧縮方法を出願している(特願2012−181097号)。しかしながら、このデータ圧縮方法でも、特に階調変化の周期が短く、データの上位及び下位が同一で圧縮可能な同一階調部と、データの上位だけが同じ半同一階調部と、データの上位及び下位が非同一で圧縮ができない非同一階調部とが広く散在するデータである場合には、改良の効果が発揮されにくいという問題がある。
また、従来のPack Bits方式において、連長圧縮が効果的に行われるように前処理を施すためのフィルタが本出願人により出願されている(特開2010−206599号公報参照)。このフィルタは、比較的短い同一階調部と、半同一階調部と、非同一階調部とに非同一データを変化させるので、ほとんど圧縮がきかなかった部分において圧縮が可能となるものの、同一データなどの属性を表すヘッダ数が著しく増加する。したがって、ヘッダ数の増加に伴い、最大圧縮率が伸び悩むという問題がある。
また、上述したような階調変化が短い周期とは反対に、階調変化が長い周期である場合にも、ヘッダに連長数が収まりきれないので、やはりヘッダ数が増加することに伴い、最大圧縮率が伸び悩むという問題がある。
本発明は、このような事情に鑑みてなされたものであって、短い周期で各種階調のデータが出現したり、長い周期で同じ階調のデータが出現したりする処理対象データに対しても高い圧縮率が得られるデータ圧縮方法及びその装置並びにそのプログラムを提供することを目的とする。
本発明は、このような目的を達成するために、次のような構成をとる。
すなわち、請求項1に記載の発明は、処理対象データを圧縮するデータ圧縮方法において、前記処理対象データを連長圧縮の対象とした場合の連長数を確認する過程と、前記連長数に基づいて、非連長/連長を含む連続性の種別を規定する種別部と、非連長数/連長数を含む連続数を規定する表記部とを含む連長数表記可変ヘッダにおける表記部を構成するビット数を決める過程と、前記連長数表記可変ヘッダによる格納方式に基づいて前記処理対象データを格納する過程と、を有することを特徴とするものである。
すなわち、請求項1に記載の発明は、処理対象データを圧縮するデータ圧縮方法において、前記処理対象データを連長圧縮の対象とした場合の連長数を確認する過程と、前記連長数に基づいて、非連長/連長を含む連続性の種別を規定する種別部と、非連長数/連長数を含む連続数を規定する表記部とを含む連長数表記可変ヘッダにおける表記部を構成するビット数を決める過程と、前記連長数表記可変ヘッダによる格納方式に基づいて前記処理対象データを格納する過程と、を有することを特徴とするものである。
[作用・効果]請求項1に記載の発明によれば、確認した処理対象データの連長数に基づいて、連長数表記可変ヘッダにおける表記部を構成するビット数を決定する。連長数表記可変ヘッダの表記部を可変としているので、連長数が小さいときは表記部を短縮させ、連長数が大きいときは表記部を拡大させる。そして、連長数表記可変ヘッダによる格納方式に基づいて処理対象データを格納する。連長数が小さいときは、標準のPack Bitsで利用されている表記部よりもビット数を少なくするので、連長数の表記部に続くデータの羅列を連長数表記可変ヘッダに前詰めにできる。したがって、短い周期で各種階調のデータが出現する処理対象データであっても、連長数の表記部に続くデータの羅列数の長さを抑制できるので、高い圧縮率を得ることができる。また、連長数が大きいときは、標準のPack Bitsで利用されている表記部よりもビット数を多くするので、表記部に記載可能な連長数を大きくできる。したがって、標準のPack Bitsで利用されている表記部では収まりきれないほど連長数が大きい場合であっても、ヘッダ数を抑制できるので、高い圧縮率を得ることができる。
また、本発明において、前記連長数を確認する過程に先だって、前記処理データに対して、一定の範囲内の値のデータを予め決められた値に変更する前処理を行うことが好ましい(請求項2)。
前処理を行うことにより、通常は連長圧縮されないばらついたデータが予め決められた値に変更されるので、連長圧縮の対象となる。したがって、圧縮率を向上することができるものの、一定の範囲ごとに短い周期の各種階調のデータが散在することがあるが、連長数表記可変ヘッダにより効率的に圧縮ができる。
また、本発明において、前記表記部を構成するビット数を決める過程は、前記表記部を構成するビット数と圧縮率との関係を表す評価関数に基づいて、圧縮率が高くなるビット数を決定することが好ましい(請求項3)。
表記部のビット数と圧縮率との関係を表す評価関数を用いて、圧縮率が高くなるビット数で表記部のビット数を決める。したがって、最適な表記部のビット数を決めることができるので、高い圧縮率を得ることができる。
また、請求項4に記載の発明は、処理対象データを圧縮するデータ圧縮装置において、前記処理対象データを連長圧縮の対象とした場合の連長数を確認する連長数確認手段と、前記連長数確認手段の連長数に基づいて、非連長/連長を含む連続性の種別を規定する種別部と、非連長数/連長数を含む連続数を規定する表記部とを含む連長数表記可変ヘッダにおける表記部を構成するビット数を決めるビット数決定手段と、前記ビット数決定手段で決定された前記連長数表記可変ヘッダによる格納方式に基づいて前記処理対象データを格納する格納手段と、を備えていることを特徴とするものである。
[作用・効果]請求項4に記載の発明によれば、連長数確認手段により確認した処理対象データの連長数に基づいて、ビット数決定手段が連長表記可変ヘッダにおける表記部を構成するビット数を決定する。連長数表記可変ヘッダの表記部を可変としているので、連長数が小さいときは表記部を短縮させ、連長数が大きいときは表記部を拡大させる。そして、格納手段は、連長数表記可変ヘッダによる格納方式に基づいて処理対象データを格納する。連長数が小さいときは、標準のPack Bitsで利用されている表記部よりもビット数を少なくするので、連長数の表記部に続くデータの羅列を連長数表記可変ヘッダに前詰めにできる。したがって、短い周期で各種階調のデータが出現する処理対象データであっても、連長数の表記部に続くデータの羅列数の長さを抑制できるので、高い圧縮率を得ることができる。また、連長数が大きいときは、標準のPack Bitsで利用されている表記部よりもビット数を多くするので、表記部に記載可能な連長数を大きくできる。したがって、標準のPack Bitsで利用されている表記部では収まりきれないほど連長数が大きい場合であっても、ヘッダ数を抑制できるので、高い圧縮率を得ることができる。
本発明に係るデータ圧縮方法によれば、確認した処理対象データの連長数に基づいて、連長数表記可変ヘッダにおける表記部を構成するビット数を決定する。連長数表記可変ヘッダの表記部を可変としているので、連長数が小さいときは表記部を短縮させ、連長数が大きいときは表記部を拡大させる。そして、連長数表記可変ヘッダによる格納方式に基づいて処理対象データを格納する。連長数が小さいときは、標準のPack Bitsで利用されている表記部よりもビット数を少なくするので、連長数の表記部に続くデータの羅列を連長数表記可変ヘッダに前詰めにできる。したがって、短い周期で各種階調のデータが出現する処理対象データであっても、連長数の表記部に続くデータの羅列数の長さを抑制できるので、高い圧縮率を得ることができる。また、連長数が大きいときは、標準のPack Bitsで利用されている表記部よりもビット数を多くするので、表記部に記載可能な連長数を大きくできる。したがって、標準のPack Bitsで利用されている表記部では収まりきれないほど連長数が大きい場合であっても、ヘッダ数を抑制できるので、高い圧縮率を得ることができる。
以下、図面を参照して本発明の一実施例について説明する。
図1は、実施例に係るデータ圧縮装置の概略構成を示すブロック図である。
図1は、実施例に係るデータ圧縮装置の概略構成を示すブロック図である。
実施例に係るデータ圧縮装置は、処理対象データとして画像データを与えられ、この画像データを圧縮画像データとして出力する。データ圧縮装置は、コンピュータ1から構成されている。コンピュータ1は、CPU3やメモリ5などで構成されている。コンピュータ1には、ディスクドライブ7が接続されている。このディスクドライブ7は、記憶メディア9を着脱自在に構成されている。記憶メディア9には、後述するプログラムPが記憶されている。このプログラムPは、記憶メディア9からディスクドライブ7を介してメモリ5にロードされる。コンピュータ1は、メモリ5にロードされたプログラムPをCPU3で実行することによって、後述する処理を行う。
コンピュータ1は、上述したようにCPU3やメモリ5で構成されているが、機能的には、Pack Bits圧縮処理部11と、読み取り部13と、評価部15と、切り換えアドレス記憶部17と、圧縮データメモリ19と、アドレス管理部21と、ヘッダ生成部23と、合成部25とを備えている。なお、Pack Bits圧縮処理部11の前段には、画像データに対して前処理を行う前処理部27を設けてもよい。但し、ここでは前処理部27を設けていない場合について説明する。
Pack Bits圧縮処理部11は、従来からある標準的なPack Bits圧縮を行う。つまり、非連長/連長を含む連続性の種別を示す1ビットからなる種別部と、非連長数/連長数を含む連続数を規定する7ビットからなる表記部とを含むヘッダに続いて、非連長のデータまたは連長のデータを羅列して格納する。読み取り部13は、Pack Bits圧縮処理部11により圧縮された画像データのデータを、所定の長さのデータごと順に読み取ってゆく。所定の長さは、例えば、数バイト単位や、数十バイト単位である。
評価部15は、Pack Bits圧縮された画像データのうちの所定長さのデータのうち、ヘッダだけを受け取って、連長数の評価を行う。具体的には、評価関数を用いて、ヘッダの表記部におけるビット数を圧縮率が高くなるように決める。この評価部15によって評価を行うか否かは、データ圧縮処理を行う際に、オペレータによって選択できるようにするのが好ましい。なお、本発明においては、表記部のビット数を可変とすることから、ヘッダを連長数表記可変ヘッダと称する。ここで、評価関数の具体例について説明するために図2を参照する。図2は、評価関数の説明に供するグラフである。
図2は、連長数と圧縮率との関係を、表記部のビット数をパラメータにして描いたものである。連長数表記部可変ヘッダにおける表記部のビット数は、この例では、4ビット、6ビット、8ビット、10ビット、12ビットの5種類としている。この評価関数のグラフから、連長数が8個までであれば、表記部のビット数を4ビットにすると圧縮率が高くできることがわかる。また、連長数が10個以上になると、表記部のビット数を6ビットとすることで圧縮率を高くでき、連長数が48個以上になると、表記部のビット数を10ビットや12ビットにすることで高圧縮率にできることがわかる。このように、評価部15は、ヘッダの表記部と評価関数とに基づいて、連長数表記可変ヘッダにおける表記部のビット数を決定する。なお、以下の説明においては、表記部のビット数が4ビットで圧縮率が高くなる場合を例にとって説明する。
ここで、図3及び図4を参照する。なお、図3は、非同一データにおける連長数表記可変ヘッダ(表記部短縮)の構造を示す模式図であり、図4は、同一データにおける連長数表記可変ヘッダ(表記部短縮)の構造を示す模式図である。
非同一データの場合における連長数表記可変ヘッダは、図3に示すように、1ビットで構成された種別部が非連長であることを表す「0」とされ、4ビット(半ビット)で構成された表記部が非連長データの個数を格納し、表記部の後に非連長データが羅列されて格納されるデータ部が続く。なお、表記部が4ビットで構成されているので、0〜7までの個数を表現できるが、個数が0であることはあり得ないので、0〜7を1〜8または2〜9に対応させるのが好ましい。これにより、表記部を4ビットとした場合には、非連長数を8または9まで表すことができる。
また、同一データの場合における連長数表記可変ヘッダは、図4に示すように、1ビットで構成された種別が連長であることを表す「1」とされ、4ビット(半ビット)で構成された表記部が連長データの個数を格納し、表記部の後に連長データが羅列されて格納されるデータ部が続く。なお、表記部が4ビットで構成されていることから、0〜7までを1〜8または2〜9に対応させるのが好ましいのは上記と同様である。
上述したように連長数表記可変ヘッダの種別部と表記部を合わせて4ビット(1バイトの半分)で構成することにより、データ処理を容易に行うことができる。
切り換えアドレス記憶部17は、連長数表記可変ヘッダを採用しているので、標準的なPack Bits圧縮のヘッダとは異なる位置に非連長/連長データが位置することになる。そこで、採用した連長数表記可変ヘッダの表記部におけるビット幅に応じて、非連長/連長データが羅列して格納する位置を表すアドレスを記憶し、そのアドレスをアドレス管理部21へ出力する。圧縮データメモリ19は、標準的なPack Bits圧縮のヘッダに続いて羅列されている非連長/連長データだけを読み取り部13から受け取り、アドレス管理部21が切り換えアドレス記憶部17から受け取った、連長数に基づくアドレスに応じて合成部25に対して出力する。ヘッダ生成部23は、評価部15から受け取った表記部のビット幅及びアドレス管理部21を介して受け取ったアドレスに応じてヘッダ及びそれに続くデータを変換して連長数表記可変ヘッダを生成して、合成部25に対して出力する。合成部25は、連長数表記可変ヘッダに、受け取った非連長/連長データを格納するように合成して出力する。これにより、圧縮画像データが生成される。
なお、上述したアドレス管理部21が本発明における「連長数確認手段」及び「ビット数決定手段」に相当し、合成部25が本発明における「格納手段」に相当し、前処理部27が本発明における「前処理手段」に相当する。
次に、図5を参照して、上述したコンピュータ1の動作について説明する。なお、図5は、データ圧縮装置の動作を示すフローチャートである。
ステップS1
Pack Bits圧縮部11は、画像データを受け取って、標準的なPack Bits圧縮処理を行う。
Pack Bits圧縮部11は、画像データを受け取って、標準的なPack Bits圧縮処理を行う。
ステップS2
読み取り部13は、Pack Bits圧縮部11により標準的なPack Bits圧縮された圧縮済の画像データを順次に読み取る。
読み取り部13は、Pack Bits圧縮部11により標準的なPack Bits圧縮された圧縮済の画像データを順次に読み取る。
ステップS3〜S5
ステップS3では、予め指示されている評価実行の指示に基づき処理を分岐する。評価実行が指示されている場合には、ステップS4において評価部15による評価処理を行い、その結果、ヘッダを連長数表記可変ヘッダにする方が圧縮率を高くできると判断されたか否かに応じてステップS5において処理を分岐する。ステップ5において、圧縮効果があると判断された場合には、ステップS6へ分岐し、圧縮効果がないと判断された場合には、ステップS7に分岐する。なお、評価処理の結果、標準のヘッダとは異なるビット数の表記部を採用することになった場合には、そのことを示すヘッダ切り換えコードを配置し、標準のヘッダと同じビット数の表記部を採用することになった場合には、標準のヘッダとは異なるビット数の表記部がここで終了することを示す終了コードを配置するのが好ましい。
ステップS3では、予め指示されている評価実行の指示に基づき処理を分岐する。評価実行が指示されている場合には、ステップS4において評価部15による評価処理を行い、その結果、ヘッダを連長数表記可変ヘッダにする方が圧縮率を高くできると判断されたか否かに応じてステップS5において処理を分岐する。ステップ5において、圧縮効果があると判断された場合には、ステップS6へ分岐し、圧縮効果がないと判断された場合には、ステップS7に分岐する。なお、評価処理の結果、標準のヘッダとは異なるビット数の表記部を採用することになった場合には、そのことを示すヘッダ切り換えコードを配置し、標準のヘッダと同じビット数の表記部を採用することになった場合には、標準のヘッダとは異なるビット数の表記部がここで終了することを示す終了コードを配置するのが好ましい。
また、ここで終了することを示す終了コードを配置する、または標準のヘッドとは異なるビット数の表記部を採用することになった場合には、そのことを示すヘッダ切り換えコードを配置し、続いて標準とは異なるヘッダが続くデータ数を配置し、予め決められたデータ数のヘッダを配置した後に標準のヘッダを続けて配置することが望ましい。例えば、切り換えコードの後を切り換えたコードのビット幅ヘッダが続く数を指定する方式では、8ビットヘッダ、データ、切り換えコード、4ビットのヘッダが続く数、4ビットヘッダ、データ、4ビットヘッダ、データ、4ビットヘッダ、データ、4ビットヘッダ、データ、8ビットヘッダ、データとなる。この例では、4ビットのヘッダが続く数が4となる。
ステップS6
ステップS5において連長数表記可変ヘッダにより圧縮効果があると判断された場合には、ヘッダ生成部23により連長数表記可変ヘッダに変換を行う。
ステップS5において連長数表記可変ヘッダにより圧縮効果があると判断された場合には、ヘッダ生成部23により連長数表記可変ヘッダに変換を行う。
ステップS7
標準ヘッダまたは連長数表記可変ヘッダに非連長/連長データを羅列したデータの出力を行う。
標準ヘッダまたは連長数表記可変ヘッダに非連長/連長データを羅列したデータの出力を行う。
ステップS8
最終データである場合には処理を終了し、最終データでない場合にはステップS2に戻って次の圧縮データを読み取る。
最終データである場合には処理を終了し、最終データでない場合にはステップS2に戻って次の圧縮データを読み取る。
次に、図6〜図8を参照して、具体的な圧縮例について説明する。なお、図6は、画像データの一例を示す模式図であり、図7は、Pack Bits圧縮後の画像データを示す模式図であり、図8は、本実施例による圧縮後の画像データを示す模式図である。
図6に示すように、この例における画像データは、3個の0Aと、2個の1Bと、4個の4Cと、1個の21と、3個の1Cと、2個の22と、1個の25と、1個の29と、2個の34のデータにより構成された19バイトの長さとなる。つまり、連長数は最大で4個となっており、図2に示す評価関数による評価では、4ビットの表記部とすることで圧縮率を高められるものである。なお、図6〜図9では、横に並ぶ2個の数字が8ビットで表現されている。
図7は、図6に示す画像データを標準のPack Bits圧縮を行ったものである。この図において、種別部(1ビット)が「−」で表されているのは同一データによる連長であることを示し、種別部(7ビット)が「+」で表されているのは非同一データで非連長であることを示し、その後に記載されている数字が非連長/連長の連続数を示す表記部である。つまり、3個の連長である同一データ0Aと、2個の連長である同一データ1Bと、4個の連長である同一データ4Cと、1個の非同一データ21と、3個の連長である同一データ1Cと、2個の連長である同一データ22と、2個の非同一データ25,29と、2個の連長である同一データ34とから表現される17バイトのデータに圧縮される。
図8は、本実施例による圧縮を行ったものである。この図でも横に並ぶ2個の数字が8ビットで表されているが、1ビットの種別部と、3ビットの表記部との4ビットで連長数表記可変ヘッダを構成し、それに続く4ビットの部分から、後続の同一または非同一データの上位4ビットが詰めて羅列されている。そのため、1ビットの種別部については、表記部の上部に記載してある。
したがって、ヘッダ−3が4ビットで表現され、それに3個続く同一データ0Aの上位4ビットのデータ0が前詰めされ、「−30」で8ビットのデータとされる。同一データ0Aの下位4ビットのデータAと、これに続くヘッダ−2が4ビットで表現され、「A−2」で8ビットのデータとされる。非同一データ1Bがそのまま「1B」で8ビットのデータとされる。ヘッダ−4が4ビットで表現され、それに続く同一データ4Cの上位4ビットのデータ4が前詰めされ、「−44」で8ビットのデータとされる。同一データ4Cの下位4ビットのデータCと、これに続くヘッダ+1が4ビットで表現され、C+1で8ビットのデータとされる。非同一データ21がそのまま「21」で8ビットのデータとされる。ヘッダ−3が4ビット表現され、それに3個続く同一データ1Cの上位4ビットのデータ1が前詰めされ、「−31」で8ビットのデータとされる。同一データ1Cの下位4ビットのデータCと、これに続くヘッダ−2が4ビットで表現され、「C−2」で8ビットのデータとされる。同一データ22がそのまま「22」で8ビットのデータとされる。ヘッダ+2が4ビットで表現され、これに2個続く非同一データ25の上位4ビットのデータ2が前詰めされ、「+22」で8ビットのデータとされる。非同一データ25の下位4ビットのデータ5と、これに続く非同一データの上位4ビットのデータ2とが「52」で8ビットのデータとされる。非同一データ29の下位4ビットのデータ9と、これに続くヘッダ−2が4ビットで表現され、「9−2」が8ビットのデータとされる。同一データ34がそのまま「34」で8ビットのデータとされる。これにより、本実施例による圧縮後は、13バイトのデータとなり、元の画像データから高い圧縮率で圧縮できる。
なお、上述した例では、連長数表記可変ヘッダの表記部を標準のPack Bits圧縮よりも小さなビット数とした。しかし、図9及び図10の例に示すように、連長数表記可変ヘッダの表記部を標準のPack Bits圧縮よりも大きなビット数としてもよい。この例では、連長数表記可変ヘッダの表記を12ビット幅としている。この場合には、標準のPack Bits圧縮で用いられるヘッダの表記部が7ビットであるので、連長数が7ビットで表される128個よりも多い場合に、ヘッダの個数を抑制でき、高い圧縮率で圧縮できる。なお、表記部を12ビットとすることにより、後続のデータの格納位置がずれていく。そのため、最後の部分があまるが、その部分にはダミーデータを格納すればよい。
上述した実施例によると、画像データの連長数に基づいて、連長表記可変ヘッダにおける表記部を構成するビット数を決定する。連長数表記可変ヘッダの表記部を可変としているので、連長数が小さいときは表記部を短縮させ、連長数が大きいときは表記部を拡大させる。そして、連長数表記可変ヘッダによる格納方式に基づいて処理対象データを格納する。連長数が小さいときは、標準のPack Bitsで利用されている表記部よりもビット数を少なくするので、連長数の表記部に続くデータの羅列を連長数表記可変ヘッダに前詰めにできる。したがって、短い周期で各種階調のデータが出現する処理対象データであっても、連長数の表記部に続くデータの羅列数の長さを抑制できるので、高い圧縮率を得ることができる。また、連長数が大きいときは、標準のPack Bitsで利用されている表記部よりもビット数を多くするので、表記部に記載可能な連長数を大きくできる。したがって、標準のPack Bitsで利用されている表記部では収まりきれないほど連長数が大きい場合であっても、ヘッダ数を抑制できるので、高い圧縮率を得ることができる。
本発明は、上記実施形態に限られることはなく、下記のように変形実施することができる。
(1)上述した実施例では、評価部15にて評価関数による評価を行って連長数表記可変ヘッダの表記部のビット数を決定した。しかしながら、本発明は、評価部15による評価を必須とするものではない。例えば、予め連長数が所定値以下であることがわかっている場合には、標準のPack Bits圧縮のヘッダの表記部よりも小さい、予め決められたビット数とされた表記部の連長数表記可変ヘッダを用いるように構成してもよい。この場合には、アドレス管理部21が読み取り部13からヘッダだけを受け取り、連長数を確認し、連長数表記可変ヘッダの表記部のビット数に応じたアドレス管理を行う。これにより評価部15及び切り換えアドレス記憶部17を省略でき、処理速度を向上できるとともにコストを抑制できる。
(2)上述した実施例では、画像データをPack Bits圧縮処理部11で圧縮しているが、その前に前処理部27により一定の範囲内の値のデータを予め決められた値に変更する前処理を行うようにしてもよい。前処理を行うことにより、通常は連長圧縮されないばらついたデータが予め決められた値に変更されるので、連長圧縮の対象となる。したがって、圧縮率を向上することができるものの、一定の範囲ごとに短い周期の各種階調のデータが散在することがあるが、連長数表記可変ヘッダにより効率的に圧縮ができる。
(3)上述した実施例では、同一/非同一データでのみ連長圧縮しているが、同一階調ではないが階調の上位データが一致している連続箇所に対しても圧縮を行うデータ圧縮方法(特願2012−181097号)を適用し、半同一データをも考慮して処理するようにしてもよい。
1 … コンピュータ
3 … CPU
5 … メモリ
7 … ディスクドライブ
9 … 記憶メディア
P … プログラム
11 … Pack Bits圧縮処理部
13 … 読み取り部
15 … 評価部
17 … 切り換えアドレス記憶部
19 … 圧縮データメモリ
21 … アドレス管理部
23 … ヘッダ生成部
25 … 合成部
27 … 前処理部
3 … CPU
5 … メモリ
7 … ディスクドライブ
9 … 記憶メディア
P … プログラム
11 … Pack Bits圧縮処理部
13 … 読み取り部
15 … 評価部
17 … 切り換えアドレス記憶部
19 … 圧縮データメモリ
21 … アドレス管理部
23 … ヘッダ生成部
25 … 合成部
27 … 前処理部
図2は、連長数と圧縮率との関係を、連長数表記可変ヘッダのビット数をパラメータにして描いたものである。連長数表記可変ヘッダのビット数は、この例では、4ビット、6ビット、8ビット、10ビット、12ビットの5種類としている。この評価関数のグラフから、連長数が8個までであれば、連長数表記可変ヘッダのビット数を4ビットにすると圧縮率が高くできることがわかる。また、連長数が10個以上になると、連長数表記可変ヘッダのビット数を6ビットとすることで圧縮率を高くでき、連長数が48個以上になると、連長数表記可変ヘッダのビット数を10ビットや12ビットにすることで高圧縮率にできることがわかる。このように、評価部15は、ヘッダのビット数と評価関数とに基づいて、連長数表記可変ヘッダのビット数を決定する。なお、以下の説明においては、連長数表記可変ヘッダのビット数が4ビットで圧縮率が高くなる場合を例にとって説明する。
非同一データの場合における連長数表記可変ヘッダは、図3に示すように、1ビットで構成された種別部が非連長であることを表す「0」とされ、3ビットで構成された表記部が非連長データの個数を格納し、表記部の後に非連長データが羅列されて格納されるデータ部が続く。なお、表記部が3ビットで構成されているので、0〜7までの個数を表現できるが、個数が0であることはあり得ないので、0〜7を1〜8または2〜9に対応させるのが好ましい。これにより、表記部を3ビットとした場合には、非連長数を8または9まで表すことができる。
また、同一データの場合における連長数表記可変ヘッダは、図4に示すように、1ビットで構成された種別が連長であることを表す「1」とされ、3ビットで構成された表記部が連長データの個数を格納し、表記部の後に連長データが羅列されて格納されるデータ部が続く。なお、表記部が3ビットで構成されていることから、0〜7までを1〜8または2〜9に対応させるのが好ましいのは上記と同様である。
なお、上述した例では、連長数表記可変ヘッダの表記部を標準のPack Bits圧縮よりも小さなビット数とした。しかし、図9及び図10の例に示すように、連長数表記可変ヘッダの表記部を標準のPack Bits圧縮よりも大きなビット数としてもよい。この例では、連長数表記可変ヘッダの表記部を11ビット幅としている。この場合には、標準のPack Bits圧縮で用いられるヘッダの表記部が7ビットであるので、連長数が7ビットで表される128個よりも多い場合に、ヘッダの個数を抑制でき、高い圧縮率で圧縮できる。なお、表記部を11ビットとすることにより、後続のデータの格納位置がずれていく。そのため、最後の部分があまるが、その部分にはダミーデータを格納すればよい。
Claims (7)
- 処理対象データを圧縮するデータ圧縮方法において、
前記処理対象データを連長圧縮の対象とした場合の連長数を確認する過程と、
前記連長数に基づいて、非連長/連長を含む連続性の種別を規定する種別部と、非連長数/連長数を含む連続数を規定する表記部とを含む連長数表記可変ヘッダにおける表記部を構成するビット数を決める過程と、
前記連長数表記可変ヘッダによる格納方式に基づいて前記処理対象データを格納する過程と、
を有することを特徴とするデータ圧縮方法。 - 請求項1に記載のデータ圧縮方法において、
前記連長数を確認する過程に先だって、前記処理データに対して、一定の範囲内の値のデータを予め決められた値に変更する前処理を行うことを特徴とするデータ圧縮方法。 - 請求項1または2に記載のデータ圧縮方法において、
前記表記部を構成するビット数を決める過程は、前記表記部を構成するビット数と圧縮率との関係を表す評価関数に基づいて、圧縮率が高くなるビット数を決定することを特徴とするデータ圧縮方法。 - 処理対象データを圧縮するデータ圧縮装置において、
前記処理対象データを連長圧縮の対象とした場合の連長数を確認する連長数確認手段と、
前記連長数確認手段の連長数に基づいて、非連長/連長を含む連続性の種別を規定する種別部と、非連長数/連長数を含む連続数を規定する表記部とを含む連長数表記可変ヘッダにおける表記部を構成するビット数を決めるビット数決定手段と、
前記ビット数決定手段で決定された前記連長数表記可変ヘッダによる格納方式に基づいて前記処理対象データを格納する連長圧縮手段と、
を備えていることを特徴とするデータ圧縮装置。 - 請求項4に記載のデータ圧縮装置において、
前記連長数確認手段に与えられる前の処理対象データに対して、一定の範囲内の値のデータを予め決められた値に変更する前処理を行うための前処理手段をさらに備えていることを特徴とするデータ圧縮装置。 - 請求項4または5に記載のデータ圧縮装置において、
前記ビット数決定手段は、前記表記部を構成するビット数を決めるために、前記表記部を構成するビット数と圧縮率との関係を表す評価関数に基づいて、圧縮率が高くなるビット数を決定することを特徴とするデータ圧縮装置。 - 処理対象データをコンピュータによって圧縮するデータ圧縮プログラムであって、
前記コンピュータのCPUがメモリで実行することにより、
前記処理対象データを連長圧縮の対象とした場合の連長数を確認する機能と、
前記連長数に基づいて、非連長/連長を含む連続性の種別を規定する種別部と、非連長数/連長数を含む連続数を規定する表記部とを含む連長数表記可変ヘッダにおける表記部を構成するビット数を決める機能と、
前記連長数表記可変ヘッダによる格納方式に基づいて前記処理対象データを格納する機能と、
を実現させるためのデータ圧縮プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013188225A JP2015056725A (ja) | 2013-09-11 | 2013-09-11 | データ圧縮方法及びその装置並びにそのプログラム |
PCT/JP2014/060125 WO2015037265A1 (ja) | 2013-09-11 | 2014-04-07 | データ圧縮方法及びその装置並びにそのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013188225A JP2015056725A (ja) | 2013-09-11 | 2013-09-11 | データ圧縮方法及びその装置並びにそのプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015056725A true JP2015056725A (ja) | 2015-03-23 |
Family
ID=52665390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013188225A Pending JP2015056725A (ja) | 2013-09-11 | 2013-09-11 | データ圧縮方法及びその装置並びにそのプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2015056725A (ja) |
WO (1) | WO2015037265A1 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09275563A (ja) * | 1996-04-05 | 1997-10-21 | Hitachi Ltd | Osd機能を有する圧縮画像データの復号装置、及びこれに用いるosdデータの圧縮方法 |
JP2001217722A (ja) * | 2000-02-02 | 2001-08-10 | Canon Inc | 情報符号化装置及び情報符号化方法及びコンピュータ読み取り可能な記憶媒体 |
JP2003124817A (ja) * | 2001-10-19 | 2003-04-25 | Canon Inc | データ圧縮方法、伸長方法およびその画像形成装置 |
JP2005277932A (ja) * | 2004-03-25 | 2005-10-06 | Fuji Photo Film Co Ltd | データ圧縮装置およびデータ圧縮プログラム |
JP2008147885A (ja) * | 2006-12-07 | 2008-06-26 | Canon Inc | 画像処理方法および画像処理装置 |
-
2013
- 2013-09-11 JP JP2013188225A patent/JP2015056725A/ja active Pending
-
2014
- 2014-04-07 WO PCT/JP2014/060125 patent/WO2015037265A1/ja active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09275563A (ja) * | 1996-04-05 | 1997-10-21 | Hitachi Ltd | Osd機能を有する圧縮画像データの復号装置、及びこれに用いるosdデータの圧縮方法 |
JP2001217722A (ja) * | 2000-02-02 | 2001-08-10 | Canon Inc | 情報符号化装置及び情報符号化方法及びコンピュータ読み取り可能な記憶媒体 |
JP2003124817A (ja) * | 2001-10-19 | 2003-04-25 | Canon Inc | データ圧縮方法、伸長方法およびその画像形成装置 |
JP2005277932A (ja) * | 2004-03-25 | 2005-10-06 | Fuji Photo Film Co Ltd | データ圧縮装置およびデータ圧縮プログラム |
JP2008147885A (ja) * | 2006-12-07 | 2008-06-26 | Canon Inc | 画像処理方法および画像処理装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2015037265A1 (ja) | 2015-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006197610A (ja) | 内容適応可変長符号化装置及び方法 | |
WO2015037265A1 (ja) | データ圧縮方法及びその装置並びにそのプログラム | |
JP2012033032A (ja) | 情報処理装置および情報処理方法 | |
USRE45300E1 (en) | Context-adaptive variable length coder with simultaneous storage of incoming data and generation of syntax elements | |
JP4907488B2 (ja) | 画像処理装置、画像処理方法及び該方法を実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体 | |
JP4524501B2 (ja) | 符号化システム、符号化方法、符号化プログラム、復号化システム、復号化方法および復号化プログラム | |
JP2010097346A (ja) | 画像処理装置、プログラム及びシステム | |
US20070226724A1 (en) | Method and apparatus for firmware execution and provision | |
JP5653328B2 (ja) | 画像処理装置及び画像処理システム | |
JP5174233B2 (ja) | 電子署名プログラム、電子署名装置、および電子署名方法 | |
US8963747B2 (en) | Decoding apparatus, encoding apparatus, decoding method, and encoding method | |
JP6203823B2 (ja) | データ圧縮方法及びその装置並びにそのプログラム | |
JP2005012495A (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
CN100530240C (zh) | 图像压缩及复原方法 | |
JP5895229B2 (ja) | 配置決定装置、配置決定方法、データ構造、メモリ、アクセス装置及びメモリアクセス方法 | |
JP6280266B2 (ja) | 復号装置、及び復号方法 | |
JP4883455B2 (ja) | 符号化装置、符号化方法および符号化プログラム | |
JP2956636B2 (ja) | 波形処埋装置 | |
CN116962058A (zh) | 应用于实时存储数据的区块链生成方法、系统及存储介质 | |
JP2004104773A5 (ja) | ||
JP2007121782A (ja) | 音声符号化装置、方法並びにプログラム、音声復号装置、方法並びにプログラム、及び音声符号データ | |
JP2007047095A (ja) | データ処理回路、データ処理方法および波形表示装置 | |
TWI559135B (zh) | 用以提供一序列指令之指令提供器及方法、用以提供受測裝置信號之測試處理器及方法、測試系統以及相關電腦程式 | |
KR20160049620A (ko) | 이미지 처리 시스템, 이미지 복원 시스템 및 그 방법 | |
JP5258808B2 (ja) | 画像処理方法及び画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160608 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170627 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20171219 |