JP4635956B2 - データ圧縮装置及びプログラム - Google Patents
データ圧縮装置及びプログラム Download PDFInfo
- Publication number
- JP4635956B2 JP4635956B2 JP2006132939A JP2006132939A JP4635956B2 JP 4635956 B2 JP4635956 B2 JP 4635956B2 JP 2006132939 A JP2006132939 A JP 2006132939A JP 2006132939 A JP2006132939 A JP 2006132939A JP 4635956 B2 JP4635956 B2 JP 4635956B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel data
- run length
- data group
- value
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
まず、本発明の第1実施形態を説明する。同実施形態では、図1に示すように、画素データ群g1〜g8をパッキングしたままランレングス圧縮を施して圧縮データLを得る。これにより、従来から必要とされていたバッファやアンパッキング回路を不要とするとともに、全体としてランレングス圧縮に要する時間を短縮することができる。
図2は、第1実施形態に係るデータ圧縮装置1の構成を示している。2値化処理部Tによって2値化された画素データが、パッキング回路Pによって4bitずつにパッキングされ、複数の画素データ群としてメモリMに格納されている。データ圧縮装置1は、このメモリMから読み出された画素データに対してランレングス圧縮を施す。図2に示すように、このデータ圧縮装置1は、メモリMから読み出されてデータ圧縮装置1に入力される複数の画素データ群から“0”又は“1”の連続する画素データを連続画素データとして抽出し、これら画素データ群に含まれる画素データをランレングス(連続画素数)に変換するデータ変換部10と、各々の画素データ群の最後にデータ圧縮装置1に入力された画素データの値を記憶するデータ隣接値記憶部20と、データ変換部10から供給されるランレングスを記憶するランレングス記憶部30と、データ変換部10から供給されるランレングスとランレングス記憶部30から供給されるランレングスとを加算する加算部40と、データ変換部10又は加算部40から供給されるランレングスを出力する出力部50とを備えている。特にデータ変換部10は、このデータ圧縮装置1において全体を制御するとともに、後述する所要な処理を司る制御手段として機能する。なお、これらの各部に格納されているデータの初期値は“0”である。
メモリMには、4bitずつパッキングされた画素データ群g1,g2,g3,g4,g5,g6,g7,g8・・・が記憶されている。図3は画素データ群g1〜g4に対するランレングス圧縮処理の過程を示し、図4は画素データ群g4に引き続いて入力される画素データ群g5〜g8に対するランレングス圧縮処理の過程を示している。なお、これら画素データ群のうち、画素データ群g1の画素値を“0000”とし、画素データ群g2の画素値を“0111”とし、画素データ群g3の画素値を“0001”とし、画素データ群g4の画素値を“1111”とし、画素データ群g5の画素値を“1111”とし、画素データ群g6の画素値を“0001”とし、画素データ群g7の画素値を“1100”とし、画素データ群g8の画素値を“0000”とする。これらの画素データ群は、画素データ群g1,g2,g3,・・・,g8という順序でメモリMから読み出されてデータ変換部10に入力される。図3及び図4において、出力部50の“N”はランレングスを出力しないことを表しており、矩形で囲まれた数値は出力部50から出力されるランレングスを意味している。なお、以下の説明においては、例えば画素データ群の画素値が“0000”である場合、画素データ群“0000”と表現する(画素値が異なっても同様の表現とする)。
さらに、画素データ群g4から抽出された連続画素データの中には、その画素データ群g4において最後に読み出された画素データが含まれているので、さらにランレングスが連続する可能性がある。よって、データ変換部10は、このランレングスの加算結果を加算部40に記憶させたままにする。そして、データ変換部10は、画素データ群g4において最後に入力された画素データの値“1”を、データ隣接値記憶部20に供給して記憶させる(矢印d5)。以上の処理に引き続いて、図4に示すような処理が行われる。なお、この図4に示したランレングス圧縮は図3に示したものと同様であるので、説明を省略する。また、例えば画素データ群に含まれる画素データが“0110”というようなケースにおいては、データ“1”のランレングスが「2」となるが、このように画素データ群において先頭及び最後に読み出された画素データが含まれていないランレングスである場合には、データ変換部10は、算出したランレングスを出力部50へ供給してそのまま出力させればよい。
以上説明した第1実施形態によれば、従来は必要であったバッファやアンパッキングするための回路を必要としないため、回路構成を複雑化することなくランレングス圧縮の処理の高速化を実現することが可能となる。
次に、本発明の第2実施形態について説明する。
第1実施形態では、4bit毎にパッキングされた画素データ群に対してランレングス圧縮を施していたが、以下に説明する第2実施形態では、図5に示すように、8bit毎にパッキングされた画素データ群g1〜g4を、4bitの画素データ群g1’〜g4’に変換してからランレングス圧縮を施して圧縮データLを得る。つまり、画素データ群を構成する画素データを、少ない数の画素データに変換してからランレングス圧縮を施すので、データ量を減少させることができ、全体としてランレングス圧縮の処理に要する時間をさらに短縮させることが可能となる。
この第2実施形態によれば、できるだけ画素データの損失を小さくして、8bitから4bitのように、bit数を減少するように変換してからランレングス圧縮を施しているため、画素データのデータ量が減少されて、ランレングス圧縮を施す処理の高速化が可能となる。
次に、本発明の第3実施形態について説明する。
この第3実施形態では、第1実施形態や第2実施形態で説明した方法によって算出されたランレングスを、データ圧縮装置から別の装置やコンピュータプログラムに出力する際に、正確な順序で且つスムーズに出力されるような制御を行う。
このようにして、パタン信号に基づいて読み出されたランレングスは、それらを連ねた圧縮データとして出力される。
つだけ読み出させて、次にランレングスL2からランレングスを1つだけ読み出させることが決定される。選択部53はパタン制御部54によって決定されたように、記憶領域51aに記憶されたランレングスL1を選択すると、ランレングスL1のうちの最も先に記憶領域51aに記憶されたランレングス“3”を読み出す。さらに、選択部53は、記憶領域51bに記憶されたランレングスL2を選択すると、ランレングスL2のうちの最も先に記憶領域51bに記憶されたランレングス“3”を読み出す。
第2実施形態では、8bit毎にパッキングされた画素データ群を4bitに変換してからランレングス圧縮を施していたが、これとは異なるbit数毎にパッキングされた画素データ群に対しても同様の変換処理を施してもよい。例えば、図14は、16bit毎にパッキングされた画素データ群をそれぞれ4bitに変換した場合のビット数変換部における処理の過程を示している。図14において、画素データ群gは、画素データp1,p2,p3,・・・,p16によって構成され、これらはp1,p2,p3,・・・,p16という順序でメモリから読み出されて入力される。また、画素データ群gの前に入力された画素データ群のうちの最後(16番目)に入力された画素データが、ビット数変換部60に備えられたデータ隣接値記憶部20aに記憶されており、そこから画素データb16に供給される。よって、ビット数変換部60は、画素データ群gが入力されると、画素データb16を読み出した後に、画素データp16をデータ隣接値記憶部20aに供給して記憶させる。
このようにすれば、第2実施形態よりも主走査ラインを再現させた際の誤差が大きくなるが、データ量がさらに小さくなるため、ランレングス圧縮に要する時間もそれに伴い短縮される。
Claims (4)
- 2値で表された所定数の画素データを含む画素データ群を記憶手段から各々のデータ群単位で順番に読み出し、これら画素データ群に含まれる画素データを圧縮するデータ圧縮装置であって、
各々の前記画素データ群において連続する同値の画素データを連続画素データとして抽出し、その連続数をランレングスとして算出するランレングス抽出手段と、
前記ランレングス抽出手段によって算出されたランレングスを記憶するランレングス記憶手段と、
各々の前記画素データ群において最後に読み出された画素データの値を記憶する隣接画素値記憶手段と、
前記画素データ群から前記ランレングス抽出手段によって抽出された連続画素データの中に、当該画素データ群において最後に読み出された画素データが含まれているか否かを各々の画素データ群について判断する判断手段と、
第1の画素データ群についての前記判断手段による判断結果が否定的な場合には、当該第1の画素データ群について前記ランレングス抽出手段により算出されて前記ランレングス記憶手段によって記憶されているランレングスを出力する一方、前記第1の画素データ群についての前記判断手段による判断結果が肯定的な場合には、前記ランレングス抽出手段によって算出されて前記ランレングス記憶手段によって記憶されているランレングスを出力せずに記憶させたままにしておく第1の制御手段と、
前記第1の画素データ群の次に読み出された第2の画素データ群において最初に読み出された画素データの値が、前記隣接画素値記憶手段によって記憶されている値と一致する場合であって、当該第2の画素データ群についての前記判断手段による判断結果が否定的な場合には、前記ランレングス記憶手段によって記憶された前記第1の画素データ群におけるランレングスと、前記第2の画素データ群について前記ランレングス抽出手段により算出されたランレングスとを加算して出力し、前記第2の画素データ群において最初に読み出された画素データの値が、前記隣接画素値記憶手段によって記憶されている値と一致する場合であって、当該第2の画素データ群についての前記判断手段による判断結果が肯定的な場合には、前記ランレングス記憶手段によって記憶された前記第1の画素データ群におけるランレングスと、前記第2の画素データ群について前記ランレングス抽出手段により算出されたランレングスとの加算結果を前記ランレングス記憶手段に記憶させる第2の制御手段と、
前記第2の画素データ群において最初に読み出された画素データの値が前記隣接画素値記憶手段によって記憶されている値と一致しない場合には、前記ランレングス記憶手段によって記憶された前記第1の画素データ群におけるランレングスを出力する第3の制御手段と
を備えることを特徴とするデータ圧縮装置。 - 前記記憶手段から読み出された各画素データ群に含まれる画素データのうち、読み出された順序が連続する複数の画素データを、それよりも少ない数の画素データに変換する変換手段を備え、
前記ランレングス抽出手段、前記ランレングス記憶手段、前記隣接画素値記憶手段、前記第1の制御手段、前記第2の制御手段及び前記第3の制御手段は、前記変換手段による画素データが変換された画素データ群に対して処理を行うことを特徴とする請求項1記載のデータ圧縮装置。 - 前記第1の制御手段、前記第2の制御手段及び前記第3の制御手段によって出力された複数のランレングスをそれぞれ異なる記憶領域に記憶するデータ記憶手段と、
前記データ記憶手段によって記憶されているランレングスを読み出させる順番を表す制御信号を生成する生成手段と、
前記生成手段によって生成された制御信号が表す順番で前記データ記憶手段に記憶されているランレングスを読み出して出力する出力制御手段と
を備えることを特徴とする請求項1記載のデータ圧縮装置。 - 2値で表された所定数の画素データを含む画素データ群を記憶手段から各々のデータ群単位で順番に読み出し、これら画素データ群に含まれる画素データを圧縮するデータ圧縮装置に、
各々の前記画素データ群において連続する同値の画素データを連続画素データとして抽出し、その連続数をランレングスとして算出する機能と、
算出されたランレングスをランレングス記憶手段に記憶させる機能と、
各々の前記画素データ群において最後に読み出された画素データの値を隣接画素値記憶手段に記憶させる機能と、
前記画素データ群から抽出された連続画素データの中に、当該画素データ群において最後に読み出された画素データが含まれているか否かを各々の画素データ群について判断する機能と、
第1の画素データ群についての判断結果が否定的な場合には、当該第1の画素データ群について算出されて前記ランレングス記憶手段によって記憶されているランレングスを出力する一方、前記第1の画素データ群についての判断結果が肯定的な場合には、算出されて前記ランレングス記憶手段によって記憶されているランレングスを出力せずに記憶させたままにしておく機能と、
前記第1の画素データ群の次に読み出された第2の画素データ群において最初に読み出された画素データの値が、前記隣接画素値記憶手段によって記憶されている値と一致する場合であって、当該第2の画素データ群についての判断結果が否定的な場合には、前記ランレングス記憶手段によって記憶された前記第1の画素データ群におけるランレングスと、前記第2の画素データ群について算出されたランレングスとを加算して出力し、前記第2の画素データ群において最初に読み出された画素データの値が、前記隣接画素値記憶手段によって記憶されている値と一致する場合であって、当該第2の画素データ群についての判断結果が肯定的な場合には、前記ランレングス記憶手段によって記憶された前記第1の画素データ群におけるランレングスと、前記第2の画素データ群について算出されたランレングスとの加算結果を前記ランレングス記憶手段に記憶させる機能と、
前記第2の画素データ群において最初に読み出された画素データの値が前記隣接画素値記憶手段によって記憶されている値と一致しない場合には、前記ランレングス記憶手段によって記憶された前記第1の画素データ群におけるランレングスを出力する機能と
を実現させるためのプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006132939A JP4635956B2 (ja) | 2006-05-11 | 2006-05-11 | データ圧縮装置及びプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006132939A JP4635956B2 (ja) | 2006-05-11 | 2006-05-11 | データ圧縮装置及びプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2007306333A JP2007306333A (ja) | 2007-11-22 |
| JP4635956B2 true JP4635956B2 (ja) | 2011-02-23 |
Family
ID=38839891
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006132939A Expired - Fee Related JP4635956B2 (ja) | 2006-05-11 | 2006-05-11 | データ圧縮装置及びプログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4635956B2 (ja) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3459704B2 (ja) * | 1995-07-14 | 2003-10-27 | キヤノン株式会社 | 画像処理装置及び方法 |
| JP2004048414A (ja) * | 2002-07-12 | 2004-02-12 | Canon Inc | 画像領域分離方法および印刷装置 |
-
2006
- 2006-05-11 JP JP2006132939A patent/JP4635956B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2007306333A (ja) | 2007-11-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6864813B2 (en) | Arithmetic decoding method and an arithmetic decoding apparatus | |
| EP0564227B1 (en) | Image encoding apparatus and method | |
| US6614939B1 (en) | Image compression apparatus and decoding apparatus suited to lossless image compression | |
| JPH08162970A (ja) | 復号装置およびその方法 | |
| JP4442891B2 (ja) | 可変長符号化装置及び可変長符号化方法 | |
| JP4635956B2 (ja) | データ圧縮装置及びプログラム | |
| JP2003526986A (ja) | 算術的に符号化された情報信号の算術復号化 | |
| JP3144824B2 (ja) | 画像再生装置 | |
| JP5070086B2 (ja) | データ圧縮装置および画像読取装置 | |
| JP3787389B2 (ja) | 画像処理装置、及び方法、及びその方法を記憶した記憶媒体 | |
| JP2004517527A (ja) | グラフィック画像符号化 | |
| JP2000217003A (ja) | 符号化装置および復号化装置 | |
| JPH10150575A (ja) | 画像処理システム及び画像処理方法 | |
| US7903741B2 (en) | Context-adaptive variable length coder with simultaneous storage of incoming data and generation of syntax elements | |
| JP4502383B2 (ja) | 復号化装置およびその方法 | |
| JPH0786956A (ja) | マーカ識別用付加ビット処理装置 | |
| JPS6118387B2 (ja) | ||
| JP2012244235A (ja) | データ圧縮方法、装置及びプログラム | |
| JPH06121174A (ja) | 符号化復号化装置 | |
| JP2001169118A (ja) | 画像処理装置及びその方法、コンピュータ可読メモリ | |
| JP2684887B2 (ja) | 符号化復号化装置 | |
| JPH06245200A (ja) | 2次元データのエネルギー分布による走査方法及びその装置 | |
| JP4219079B2 (ja) | 画像処理装置 | |
| JP2003152549A (ja) | 復号方法、復号装置、コンピュータプログラム及び記録媒体 | |
| JPH07147638A (ja) | 画像処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090210 |
|
| 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: 20101026 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101108 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131203 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |