JP5070086B2 - データ圧縮装置および画像読取装置 - Google Patents

データ圧縮装置および画像読取装置 Download PDF

Info

Publication number
JP5070086B2
JP5070086B2 JP2008049702A JP2008049702A JP5070086B2 JP 5070086 B2 JP5070086 B2 JP 5070086B2 JP 2008049702 A JP2008049702 A JP 2008049702A JP 2008049702 A JP2008049702 A JP 2008049702A JP 5070086 B2 JP5070086 B2 JP 5070086B2
Authority
JP
Japan
Prior art keywords
data
compression
synthesizing
block
compressed
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
JP2008049702A
Other languages
English (en)
Other versions
JP2009207064A (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.)
Canon Electronics Inc
Original Assignee
Canon Electronics Inc
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 Canon Electronics Inc filed Critical Canon Electronics Inc
Priority to JP2008049702A priority Critical patent/JP5070086B2/ja
Publication of JP2009207064A publication Critical patent/JP2009207064A/ja
Application granted granted Critical
Publication of JP5070086B2 publication Critical patent/JP5070086B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

本発明は、データ圧縮装置および画像読取装置に関し、特に、グラデーション系の画像を差分方式を応用して可変長符号化する画像圧縮方法に関する。
従来、通信回線等を介して画像データを高速かつ効率良く伝送するために、画像データに対する様々な圧縮方法が開発されてきた。例えば、ランレングス符号化を用いたランレングス圧縮方式は、同一のデータ要素が連続して出現する場合が多いとき、そのデータ要素と出現回数の組み合わせに注目して符号化する方式である。このランレングス圧縮方式は、文字系の画像を効率良く圧縮することができる。
また、JPEG(Joint Photographic Exeperts Group)方式は、カラー静止画を伝送する際に用いられる方式であり、最終的なエントロピー符号化にはハフマン符号化方式等を用いている。
上記以外のデータ圧縮方法として、例えば、特許文献1に記載された技術が提案されている。特許文献1では、一つの画像を複数のブロックに分割して、各ブロック単位に画像情報の確率分布の集中度を表す統計量等を求め、統計量と設定値との大小比較により可変長符号化のコードブックまたは固定長符号を選択する画像圧縮方式の技術が開示されている。
また、上記特許文献1には、二次差分DPCM(Differential Pulse Code Modulation)または二次差分可変標本密度符号化における二次差分を求めて、この二次差分を確率分布の集中度を表す統計量として用い、この統計量と設定値との大小比較により可変長符号化のコードブックまたは固定長符号を選択する画像圧縮方式の技術が開示されている。
一方、それぞれの原画像データにおける差分値データの出現頻度を解析し、その差分値データに適した可変長符号化テーブルを生成し、それを用いて符号化を行う技術が開示されている(特許文献2参照)。
特開昭63−284974号公報 特開平9−116765号公報
しかしながら、上記ランレングス圧縮方式では、多値の自然画像に対して効果的なエントロピー符号化を行えず、圧縮率が低下している。また、ハフマン符号化を用いた圧縮方式では、符号化テーブルが煩雑であると同時に、符号化する際のパターンマッチングを行うためにバレルシフタが必要になる等、複数の回路を必要とし、メモリやASIC等の増大を招いている。
また、上記特許文献1は、実現するための回路が多大であるために動作速度の低下や消費電流の増加等も問題である。これにより、小規模な回路やシステムにおいては、画像圧縮を導入できずにいる。また、複数の圧縮方式を併用して圧縮を行う際には、圧縮方式の切換え部分で煩雑な切換え処理操作が必要となり回路を複雑にするばかりか、圧縮効率の低下にも繋がる。
上記特許文献2は、可変長符号化を行う際に、ブロック内のデータの出現頻度から作成する可変長符号化テーブルを作成する等の作業が必要になり、これも回路規模を増大と処理の複雑化を引き起こすおそれがある。
本発明は、上記問題に鑑みて成されたものであり、圧縮効率を低下させることなく、データ圧縮に必要な回路を簡略化することができるデータ圧縮装置および画像読取装置を提供することを目的とする。
上記目的を達成するために、請求項1記載のデータ圧縮装置は、データを複数のブロック単位に分割する分割手段と、前記分割手段により分割された1ブロック内の任意の1データを基準データとする基準データ作成手段と、当該ブロック内のデータ間の差分データを算出する差分データ生成手段と、前記差分データから有効桁部分を抽出する有効桁抽出手段と、前記基準データと前記有効桁部分を合成する合成手段とを備え、前記合成手段は、前記基準データと前記有効桁部分とを合成して得られる圧縮後の圧縮データにおいてデータ単位のそれぞれに前記基準データの一部を含ませることを特徴とする。
上記目的を達成するために、請求項10記載の画像読取装置は、請求項乃至8のいずれか1項に記載のデータ圧縮装置を備える画像読取装置であって、一次元ラインセンサを備え、前記データ圧縮装置により画像データの圧縮を行う際の1ブロックのデータ単位は、一次元ラインセンサの同一位置の受光素子から出力された出力信号に対応するデータだけで構成されることを特徴とする。
本発明によれば、大幅に回路や処理ソフトウェアを簡略化できる。また、データ量と画像品質のバランスを取りながらのデータ転送作業を行える。また、特別なコマンドを用いること無く、簡易的にランレングス法を導入でき、データの変化が少ない領域での圧縮率を向上できる。
また、圧縮データの中に制御情報を適時配置することが可能になり、装置の即時性を向上できる。また、データバスに合わせたデータ変換が不要となる。また、ロスレス圧縮が適するか、非可逆圧縮が適するかの判定をメモリ等を必要とせず、簡易な回路や簡易なソフトウェアで適切に行える。また、画像読取装置側の補正回路が簡略化されていても、圧縮率を向上することができる。
以下、本発明の実施の形態を図面を参照して詳細に説明する。
[第1の実施形態]
図1は、本発明の第1の実施形態に係るデータ圧縮装置におけるデータ圧縮方法の概要を示す図である。
本実施形態におけるデータ圧縮装置は、例えば、画像読取装置等の情報処理装置に搭載された、該情報処理装置の制御基板上のハードウェア回路で構成されるが、それに限定するものではない。
図1において、データ長Kの原データをN個に分割した1ブロックを作成し、1ブロック内の任意の1データを基準データとする(基準データ作成手段)。本実施形態では、データブロックを構成するデータ数のNを8個、各データのビットサイズを8ビットとする。
まず、圧縮前データとして、原データを8個まとめて1ブロックのデータブロックA0とする。データブロックA0を構成するデータは、D0(=76h),D1(=7ch),D2(=7eh),D3(=80h),D4(=7fh),D5(=84h),D6(=89h),D7(=90h)とする。そして、本実施形態では、データブロックA0の最初のデータD0を基準データとする。
次に、差分データYnを算出する(差分データ生成手段)。この差分データYnは、データブロックA0を構成するデータD1〜D7のうちの隣接するデータ間の差分であり、Y0=D1−D0、Y1=D2−D1、・・・、Y6=D7−D6となる。差分データを一般的な2値で表すと、図示のように、最上位ビットが符号部分となり、以下のビットが差分の絶対値(差分データの0〜6ビット目)となる。なお、本実施形態では、データとそれに隣接する直前のデータから差分データを求めているが、予め設定されたルールに基づくようにすれば、ブロック内のどのデータとの差分データを用いてもよい。
図示の100は、差分データ部として、差分データY0〜Y6を2値化した部分である。101に示す部分は、2値化された差分データY0〜Y6においてビット値が「0」になる冗長データ部分であり、図示した差分データでは、3ビット目から6ビット目までが冗長データ部となっている。102に示す部分は、2値化された差分データY0〜Y6の有効絶対値部分を示している。103に示す部分は、差分データY0〜Y6の符号部分である。
本実施形態において、差分データY0〜Y6の絶対値は、0〜2ビット目で表されている。これにより、データブロックA0における差分データY0〜Y6の有効絶対値のデータ長は最大3ビットであることが判る。
以上のデータを用いて、第1の生成工程として、圧縮後の第1データを作成する(第一の合成手段)。
まず差分データから有効桁部分が抽出される(有効桁抽出手段)。図示の104に示す部分は、圧縮後のデータのデータ長を指示するブロック長指示部である。このブロック長指示部104には、差分データ部の有効絶対値部分102の桁数が例えば3の場合、圧縮後のデータ長が5バイトとなることを表すデータが図2に示す変換表を用いて配置される。すなわち、N−1個の差分データにおける、符号部を除いて絶対値化した差分データの中の最大データの有効桁部分のビットサイズをLとした場合、例示したデータブロックA0における差分データY0〜Y6の絶対値部分の有効桁部分が3ビットであるからL=3となる。圧縮後データB0のデータ長Mは、M=L+2=3+2=5バイトになる。
図2に示す変換表は、圧縮後データB0の第1データC0の下位ビットから始めて順次ビットデータを確認し、最初の「1」が配置されたビット位置が例えば3であればデータ長が5バイトであることを示している。すなわち、圧縮後のデータのデータ長M=5バイトであれば、図2に示す変換表のデータ長5バイトを示す列データ「d,d,d,d,1,0,0,0」が用いられる。これにより、ブロック長指示部104は、「1000b」となる。
図2の変換表におけるdで示す部分には、基準データD0の対応する上位ビット部のデータが分割配置される。本実施形態では、105に示す基準データの上位ビット部は、4ビットデータ「0111」に相当する。これにより、圧縮後データB0の第1データC0は、ブロック長指示部104と、基準データD0の上位ビット部105により構成され、「01111000b」=78hとなる。
なお、本実施形態では、図2の変換表を用いて、第1データの下位ビットから上位ビットに対して順次ビットデータを確認し、最初の「1」が配置されたビット位置により圧縮後のデータ長を算出する方法を用いている(ブロック長算出)。しかし、これに限定されず、変換表に関して「0」,「1」のデータを入れ替えたり、対応ビットの表を変更してもよい。
次に、第2の生成工程において、圧縮後の第2データを作成する(第二の合成手段)。
圧縮後の第2データC1は、符号部分として、2値化された差分データY0〜Y6の符号部分103と基準データD0の下位ビット部における任意の1ビットのデータ(ここで図示している例では3ビット目のデータ)を合成して作成される。また例えば、第2データC1の0ビット目に基準データD0の3ビット目が配置され、1ビット目には差分データY0の符号データビットが配置され、以降xビット目に差分データYx−1の符号データビットが順次配置される。このようにしてデータを再配置すると、106に示す符号データ部になる。これにより、第2データC1は、「00010000b」=10hとなる。
次に、第2の生成工程として、圧縮後の第3データC2(差分データの2ビット目)及び第3データC2以降の圧縮後の第4データC3(差分データの1ビット目)、第5データC4(差分データの0ビット目))のデータ列を作成する。
107に示す差分データ部には、差分データの絶対値部分の有効桁部分102が再配置される。圧縮後の第3データC2は、2値化された差分データY0〜Y6の絶対値部分の有効桁部分102における任意の1ビットのデータ(図示の例では2ビット目のデータ)と基準データにおける同位置の1ビットのデータ(図示の例では2ビット目のデータ)を合成して作成される。図示の例では、第3データC2の0ビット目に基準データD0の2ビット目が配置され、1ビット目には差分データY0の2ビット目が配置され、以降xビット目には差分データYx−1の2ビット目が順次配置される。これにより、第3データC2は、「11100011b」=e3hとなる。
第3データ以降の第4、第5データは、それぞれ基準データの1ビット目、0ビット目のデータと差分データの1ビット目、0ビット目のデータを用いて合成される(第三の合成手段)。これにより、第4データは「10001111b」=8fhとなり、第5データは「11110000b」=f0hとなる。
図1では、データ配置を判りやすくするために、圧縮後のデータブロックにおける符号データ部106、差分データ部107、基準データの下位ビット部108は、表示文字が転倒表示されている。
以上のように、基準データを分割配置し、ブロック長指示部104、符号データ部106、基準データの下位ビット部108を組合せて圧縮後の合成データを合成する。これにより、差分データ中に含まれる冗長データ部101を容易に除外することができ、8バイトデータを5バイトデータにデータ圧縮することができる(第一の圧縮データ)。
また、ハフマン符号化方式等と異なり、符号化テーブルを参照する必要も無く、簡単なハードウェア回路の構成で効果的なデータ圧縮が実現できることが判る。また、簡単なハードウェア構成で実現可能であることから、データの転送速度と同期することが可能であるような高速の圧縮速度で圧縮が可能になる。
本実施形態では、差分データを作成する際に、データが1→255と変化する場合には、差分値を+254と判断せず、−2とする。この差分処理に関しては、特定データ長における2つのデータ間差分距離を表記する一般的手段である。これにより、8ビットデータ長では、2つのデータ間における差分データは、1ビットの符号と7ビットの差分データで表記することができる。本実施形態では、8ビットデータ長で、図1に示す差分データ部107の有効桁部分の最大サイズは、7ビット分になることが判る。
本実施形態では、シリアル出力されてくる画像データをそのまま圧縮処理している。しかしながら、スキャナ等のラインセンサを用いた画像読取装置では、出力されてきたデータを1ライン分バッファリングする。そして、このバッファリングしたデータと次ラインで出力されてきたデータとの同一画素における差分を取り、この差分データを用いて上述したデータ圧縮を行ってもよい。この差分法による前処理は圧縮前処理として一般的に知られた方法である。
[第2の実施形態]
次に、本発明の第2の実施形態について説明する。
本第2の実施形態では、上記第1の実施形態におけるデータ圧縮方法を実行する際に、同一のデータが連続する場合には、連続するデータを基準データとして、当該基準データとその連続数を表すデータを用いたランレングス的圧縮方式に変更してデータ圧縮を行う。
図3は、本発明の第2の実施形態に係るデータ圧縮装置におけるデータ圧縮方法の概要を示す図である。
図3において、圧縮前データK0は、連続する24個のデータD0,D1,・・・,D23で構成され、いずれの値も同じ76hとする。110は、圧縮前の基準データD0(=76h)を2進数表示したものである。111は、圧縮前の基準データD0の上位データ部であり、112は、圧縮前データD0の最下位ビットデータである。
本実施形態におけるランレングス的圧縮方式では、圧縮後のデータブロックのデータ長が2バイトになるので、データを圧縮する際に、図2に示した変換表を用いて、圧縮後の第1データのブロック長指示部116として、0ビット目に「1」が配置される。そして、113に示す圧縮後データの第1データの1〜7ビット目に、基準データD0の上位ビット部111である1〜7ビット目が配置される。
次に、圧縮後の第2データの0ビット目である115には、基準データD0の最下位ビットデータ112が配置される。続いて、圧縮後の第2データの1〜7ビット目である114には、圧縮前データの連続数を表すデータが配置される(第四の合成手段)。本実施形態では、連続する基準データが24個であることから、「0011000b」とする(第二の圧縮データ)。これにより、特別なコマンドを発行すること無く、上記第1の実施形態における圧縮方法を拡張する形でランレングス的圧縮方式に移行することができる。
第1の実施形態の圧縮方法を実施している途中でランレングス的圧縮方式に変更する判断基準として、データの連続数が1ブロック長以上となったことを用いるのが好適である。例えば、自然画像において、同一データが2〜3個程度連続するときは、画像の濃度がゆっくりと変化するグラデーション状態であり、数個のデータが同一値で連続した位置の前後のデータも大きな差分値を取らない緩慢な変化となる。このように緩慢な変化をするデータに対しては、2〜3個程度の同一データが連続した状態でランレングス的圧縮方式を用いるより、第1の実施形態における圧縮方法でデータを圧縮する方が、圧縮率が向上する。
図4は、第2の実施形態におけるデータ圧縮方法と第1の実施形態におけるデータ圧縮方法とを選択的に実行するための処理の一例を示すフローチャートである。
図4において、まず、上記第1の実施形態における圧縮方法により1ブロック分のデータが圧縮される(ステップS101)。次に、基準データと同一のデータが連続するか否かが判断される(ステップS102)。基準データに続いて同一のデータが連続する場合は、基準データ以降のデータについて、連続した同一データの数が1ブロック長以上かが判断される(ステップS103)。1ブロック長以上の場合には、基準データ以降の同一の連続データに対して、本第2の実施形態における圧縮方法(第2の圧縮方法)によりデータ圧縮が行われる(ステップS104)。
一方、ステップS103において、連続したデータの数が1ブロック長より小さい場合には、上記第1の実施形態における圧縮方法(第1の圧縮方法)によりデータ圧縮が行われる(ステップS105)。このように、特別なコマンドを用いること無く、簡易的にランレングス圧縮方式を利用して、データの変化が少ない領域での圧縮率を向上させることができる。
回路構成が複雑になってもよく、より圧縮率を向上させることを目標とする場合は、次の2つの圧縮を同時に実施する回路とし、両方の圧縮率を比較してより圧縮率の高い圧縮データを選択する構成にしてもよい。すなわち、一例として、2ブロックに渡り、3個以上の同一データが連続しているという条件や、1ブロック長以上のデータが連続しているという条件等で、第1の圧縮方法の圧縮結果と第2の圧縮方法の圧縮結果との比較を行い、そして、その圧縮率が高い方の圧縮結果を出力する回路構成としてもよい。
非自然画等においては同一データが長く連続する場合が多く、128バイトを越えることは多々ある。このような非自然画像を扱う場合には、圧縮前のデータ連続数114の表記において、データの連続数を1ブロック長単位の倍数で扱うようにしてもよい。例えば、図5に示すように、データ連続数が24個で、ブロック長が8である場合は、24/8=3となり、データ連続数を示す117は、3ブロックであることを示す「0000011b」となり、圧縮後の第2データは「00000110b」=06hとなる。この形式を用いると、一般的に同一データが1016個連続する場合でも、圧縮後は2バイトのデータで記述することができ、効率的である。これにより、一般的な圧縮を行う場合において、複数の圧縮手段を切り換える際に必要であった圧縮切り換えのためのオーバーヘッド部分を持つこと無く、圧縮手段を軽快に切り換えることが可能になる。
[第3の実施形態]
次に、本発明の第3の実施形態について説明する。
図6は、本発明の第3の実施形態に係るデータ圧縮装置におけるデータ圧縮方法の圧縮後データの内容を示す図である。
上記第2の実施形態において、圧縮後の第2データの1〜7ビット目には圧縮前データの連続数を表すデータが配置され、連続数≠0であることから、1〜7ビットの値は「0」になることはない。
図6において、121は、圧縮後の第1データのブロック長指示部として、0ビット目に「1」が配置され、ブロックのデータ長が2バイトで構成されることを示す。124は、圧縮後の第2データの1〜7ビット目であり、上記第2の実施形態において存在し得ない「0」が配置されている。第3の実施形態では、122に示す第1データの1〜7ビット目と123に示す第2データの0ビット目の内容を合わせて、制御用コマンドとして利用する。これにより、圧縮データ中に制御用コマンドを適時配置できるので、圧縮後のデータ長を確認せずに、逐次データの送信が可能になる。
従来の圧縮方式では、圧縮後のデータ長が判明しないと、圧縮データブロック部とそれ以降の制御コマンドおよび次の画像との分離ができない。そのため、圧縮後のデータをバッファメモリに蓄え、圧縮後のデータ長が判明した後に、転送するデータ長と、圧縮データを送っている。その結果、多くのバッファメモリが必要になり、回路規模の増加やコストアップの要因になる。そこで、本実施形態では、圧縮データ中に非同期のコマンドを挿入することで装置の即時性を向上させることを可能とした。また、一次元ラインセンサを備える画像読取装置においては、圧縮後のデータに読取りラインの切替えを示す制御コマンドやページの切替えを示すコマンドを配置できるので、よりよい効果が期待できる。
次に、圧縮する前のデータ長Lが圧縮後のデータ長Kに対してL<Kである場合の連続データの処理および制御用コマンドの埋め込みについて説明する。
図7は、第3の実施形態におけるデータ圧縮方法の概要を示す図である。
図7において、圧縮前のデータK0は、連続する24個のデータD0,D1,・・・,D23で構成され、いずれの値も同じ276hとする。そして、圧縮前のデータK0のビットサイズが10ビット、圧縮後のデータC0のビットサイズが8ビットとする。130は、圧縮前データD0(=276h)を2進数表示したものである。131は、圧縮前データD0の上位ビットデータである上位データ部であり、132は、圧縮前データの最下位ビットデータである。
本実施形態における圧縮方式では、ブロックのデータ長が4バイトになるので、データを圧縮する際に、図8に示す変換表を用いて、圧縮後の第1データのブロック長指示部136として、0ビット目に「1」が配置される。そして、133に示す圧縮後の第1データの1〜7ビット目に、131に示す圧縮前の第1データの1〜7ビット目が配置される。これにより、圧縮後の第1データD0は、「10011101b」=9dhとなる。
次に、圧縮後の第2データの0ビット目である135には、132に示す圧縮前の基準データD0の2ビット目が配置される。そして、圧縮後の第2データの1〜7ビット目である134には、圧縮前データの連続数を表すデータが配置される。本実施形態では、連続するデータが24個続くことから、「0,0,1,1,0,0,0」となり、圧縮後の第2データD1は、「00110001b」=31hとなる。
次に、圧縮後の第3データの0ビット目には、132に示す圧縮前の基準データD0の1ビット目が配置され、1〜7ビット目には「0」が配置される。これにより、第3データD2は、「00000001b」=01hとなる。同様に、圧縮後の第4データの0ビット目には、132で示した圧縮前の基準データD0の0ビット目が配置され、1〜7ビット目には0が配置される。これにより、第4データD3は、「00000000b」=00hとなる。
第3及び第4データにおける137の領域は、上記第1の実施形態においては、基準データに対する差分データが記述された領域であるが、本例で示したように「0」がダミーデータとして配置されることで、この圧縮後のデータが同一データであることを明示する。データ領域134は、第1の実施形態においては符号データ部にあたるが、差分が0であることから符号データとしては意味を成さない。これから、134に示す第2データの1〜7ビット目を、基準データの連続数領域として処理する。これにより、特別なコマンドを用いること無く、上記第1の実施形態における圧縮方法を拡張する形でランレングス的圧縮方式を容易に挿入することができる。
また、上記第3の実施形態と同じように、134に示す第2データの1〜7ビットを「0」することで、133に示す第1データの1〜7ビット目と135に示す第2〜4データの0ビット目により、圧縮データ中に非同期のコマンドを挿入する。これにより、装置が画像データと同時にコマンド等を送出でき、即時性を向上することが可能になる。なお、制御用のコマンドではなく、制御に用いるデータを送るようにしてもよい。本実施の形態では、制御用コマンドおよび制御用データの少なくとも一方を制御情報として含む圧縮データが生成されるものとする。
[第4の実施形態]
次に、本発明の第4の実施形態について説明する。
本第4の実施形態では、上述したデータ圧縮方法を、当該方法を実行する処理回路においてデータバス幅の整数倍若しくは整数分の1倍を1ブロックのデータ長(画素数)となるように構成するものである。上記第1の実施形態でも示したように、1ブロックのデータ長をバス幅と同じにすることで、圧縮後のデータ幅がデータバス幅と同じになり、別途データバスに合わせたデータ変換を実施せずにすむ。
また、整数倍、整数分の1倍に1ブロックの画素数を調整することで、データ圧縮を完了して直ぐにデータを上位データと下位データに分割したり、複数のデータをデータ幅に合わせることも容易に行える。一般的なデータ転送は8ビット単位で行われることが多く、1ブロックの画素数は、8画素、16画素にするのが効率的である。
[第5の実施形態]
次に、本発明の第5の実施形態について説明する。
上記第1の実施形態におけるデータ圧縮方法では、ロスレス圧縮が行われている。圧縮前データが大きく変化する状態では圧縮率が低下するだけでなく、圧縮前データに対して圧縮後のデータが大きくなることがある。そうなった場合、圧縮後のデータを外部転送する場合、通信回路部分で必要になる通信用バッファ長の最大値を越えてしまい、トラブルを起こす可能性がある。
図9は、本発明の第5の実施形態に係るデータ圧縮装置におけるデータ圧縮方法の概要を示す図である。
図9において、圧縮前データのデータブロックA0は、8個のデータD0(=76h),D1(=bch),・・・,D7(=7eh)で構成される。データD0が基準データとなり、差分データは、Y0(=46h)〜Y6(=07h)となる。そして、上記第1の実施形態における圧縮方法により圧縮処理を行う際に、差分データ部153の最大データの有効桁部分のビットサイズは7ビットになる。圧縮後の第1データに相当し、圧縮データ長を指示するブロック長指示部155の表示形式は、図12に示す変換表を用いて表すと80hになる。その後、2〜9バイト目の圧縮後データは、符号データ部154、ブロック長指示部155、及び差分データ部157により構成される。このとき、圧縮前のデータが8バイトであるのに対して、圧縮後のデータが9バイトになっているのが判る。このように、圧縮後のデータが圧縮前に比べて大きくなる場合があるので、できるだけデータの劣化を抑えて圧縮後のデータが圧縮前より同じかそれ以下にする方法について説明する。
図10は、圧縮後のデータが圧縮前に比べて大きくなる場合の概要を示す図である。
上記第1の実施形態における圧縮方法では、図1に示すように、ブロック長指示部が「0」になることがない。一方、本実施形態では、図10に示すように、下位ビットの切り捨てがある場合には、161に示す第1データの全ビットを「0」とし、以降のデータにおいてデータの切り捨てがあることを示唆するようにした。第2〜8データには、164に示す基準データの情報と、162に示す符号データと、163に示す差分データの情報が配置される。ここで164の基準データは、7ビット長であり、最下位ビットデータを削除してある。また、163に示す差分データにおいても最下位ビットに対応するデータを削除している。この削除した部分は、図9における圧縮後の第9データに当たるものであり、本第5の実施形態におけるデータ圧縮方法を実施するためには、図9の第9データを削除するまたはしないの判断のみであり、特別な処理を必要とせず、処理途中で簡易に変更処理ができる。
また、差分データの最下位ビットを削除しないようにする判断基準である画像データのやや大きな変動は、自然画像において、まれである。また、一方では、頻繁に大きく画像データが変化するブロックでは、画像情報の最下位ビットデータが損失しても画像情報に大きな影響はなく、画像品位の劣化が少ない。
また、圧縮後のデータが圧縮前のデータを上回る状況が連続して発生しない限り、第5の実施形態におけるデータ圧縮方法を用いる必要は無く、上記第1の実施形態におけるデータ圧縮方法にてデータの削除なしに圧縮を行う。そして、第1データに「10000000b」=80hを記述すればよい。このように、圧縮処理中においても、ロスレス圧縮モードと、圧縮後のデータ長が増加しない非可逆圧縮モードを自由に選択変更することが可能になる。これにより、数ブロック前の圧縮後データ長を元に、前ブロックにて十分にデータが圧縮されていると判断された場合、現在の圧縮対象であるブロックをロスレス圧縮モードで圧縮する。一方、数ブロック前の圧縮後データが十分に圧縮されていないと判断された場合には、現在の圧縮対象であるブロックを非可逆モードで圧縮するように変更すればよい。
上述の流れを図11を参照して説明する。
図11は、可逆非可逆のデータ圧縮方法を選択的に実行するための処理の一例を示すフローチャートである。
図11において、まず、上記第1の実施形態における圧縮方法により1ブロック分のデータが圧縮される(ステップS201)。次に、現在注目しているブロックの圧縮後のデータが圧縮前のデータより大きいか否かが判断される(ステップS202)。圧縮前のデータより圧縮後のデータが大きい場合は、数ブロック前(又は1ブロック前)から現ブロック(注目ブロック)までの圧縮後データの総計が圧縮前のデータの総計より小さいか否かが判断される(ステップS203)。圧縮後のデータの総計が圧縮前データの総計と等しい又は大きい場合には、第1データのブロック長指示部を「80h」→「00h」に変更し、最終データを削除する(ステップS204)。なお、数ブロックとは1ブロックでもよい。
一方、圧縮後のデータが圧縮前データより小さいか等しい場合(ステップS202でNO)または数ブロック前から現ブロックまでの圧縮後データの総計が圧縮前データの総計より小さい場合(ステップS203でYES)、ステップS205へ進む。ステップS205では、第1データのブロック長指示部を「80h」のままとし、上記第1の実施形態における圧縮方法(第1の圧縮方法)により圧縮が行われる。
上記処理により、従来の圧縮で用いられるように、全データを圧縮した後に、ロスレス圧縮と、非可逆圧縮のどちらが適するかを判定するのに必要な一時保存用メモリ等を必要とせず、簡易な回路で適切な圧縮を行える。従来の方式では、ロスレス圧縮を行ったデータを改めて非可逆圧縮するために、元のデータを再度圧縮するか、ロスレス圧縮したデータを伸張した後、再度圧縮する。しかし、本実施形態では、圧縮後データの僅かな変更だけでロスレス圧縮データを非可逆圧縮データに変換することができる。
[第6の実施形態]
次に、本発明の第6の実施形態について説明する。
図13は、ラインセンサにより読み取られたP〜(P−1)ラインの分の画素の一例を示す図である。
本第6の実施形態では、一次元ラインセンサを用いた画像入力部を備える画像読取装置において、1ラインずつ主走査方向のデータを読み取っていき、原稿やラインセンサを移動しながら同様の動作を行って、副走査方向へのデータを読み取って行く。
一般に、一次元ラインセンサにおいてはラインセンサの各受光素子の感度にバラツキが一般に存在しており、同一濃度の画像を読んでも、同じデータを出力しない。これを補正するために、同一濃度の画像を読んだときに、同じ出力データになるようにシェーディング補正等を行っており、一般的にデータを圧縮する前には、このシェーディング補正を行っている。
しかし、シェーディング補正を行うための補正回路等が必要になり、ハード回路の負荷が増加する。第1の実施形態に示した前ラインとの差分を取る方式においても、各画素の黒レベル出力値や感度が各画素で変化するため、すべてのバラツキを補正することはできない。これに対して、本実施形態では、ラインバッファを用いたシェーディング補正を実施せずに、第1の実施形態におけるデータ圧縮方法を用いて画像圧縮する。
本実施形態では、1ブロック長と同じ段数(データ単位)を持つ、副走査方向のラインバッファを用いる。例えば、1ブロック長が8画素の場合には、8ライン分のラインバッファを用いる。ここで、ラインバッファにデータを入力した後、圧縮前の1ブロックデータが、同一位置の受光素子から出力された信号に対応するデータで構成されるように、データを読み出し、第1の実施形態におけるデータ圧縮方法によりデータ圧縮を行う。
本実施形態では、ラインセンサの同一位置の受光素子から出力された出力信号に対応する画像データを用いるため、同一濃度の画像を読んだときのデータは略同一となる。そして、ラインセンサ間の感度のばらつきによる圧縮率の低下を回避することができ、画像読取装置側の補正回路を簡略化した構成にしても、圧縮率を向上することができる。
上記本発明の各実施形態の構成要件を他の実施形態に追加することも可能であり、それらは本発明に含まれる。
なお、本発明の各実施形態では、画像読取装置における画像データの圧縮について説明しているが、音声データ等の簡易的圧縮にも有効である。本発明のデータ圧縮方法は、ハードウェア回路で実現することが好適であるが、その一部またはすべてをソフトウェアで実現してもよい。
また、本発明の目的は、以下の処理を実行することによって達成することもできる。上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う場合である。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現する場合も含まれる。この場合、上記プログラムは、該プログラムを記憶した記憶媒体から直接、またはインターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続された不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。
本発明の第1の実施形態に係るデータ圧縮装置におけるデータ圧縮方法の概要を示す図である。 第1の実施形態におけるブロック長指示部の変換表の一例を示す図である。 本発明の第2の実施形態に係るデータ圧縮装置におけるデータ圧縮方法の概要を示す図である。 第2の実施形態におけるデータ圧縮方法と第1の実施形態におけるデータ圧縮方法とを選択的に実行するための処理の一例を示すフローチャートである。 第2の実施形態におけるデータ圧縮方法の変形例の概要を示す図である。 本発明の第3の実施形態に係るデータ圧縮装置におけるデータ圧縮方法の圧縮後データの内容を示す図である。 第3の実施形態におけるデータ圧縮方法の概要を示す図である。 第3の実施形態におけるブロック長指示部の変換表の一例を示す図である。 本発明の第3の実施形態に係るデータ圧縮装置におけるデータ圧縮方法の概要を示す図である。 圧縮後のデータが圧縮前に比べて大きくなる場合の概要を示す図である。 可逆非可逆のデータ圧縮方法を選択的に実行するための処理の一例を示すフローチャートである。 本発明の第5の実施形態におけるブロック長指示部の変換表の一例を示す図である。 ラインセンサにより読み取られたP〜(P−1)ラインの分の画素の一例を示す図である。
符号の説明
100 差分データ部
101 冗長データ部
102 差分データの絶対値部分の有効桁部分
103 符号部分
104 ブロック長指示部
105 基準データの上位ビット部
106 圧縮後の符号データ部
107 圧縮後の差分データ部
108 基準データの下位ビット部
110 圧縮前の基準データ

Claims (12)

  1. データを複数のブロック単位に分割する分割手段と、前記分割手段により分割された1ブロック内の任意の1データを基準データとする基準データ作成手段と、当該ブロック内のデータ間の差分データを算出する差分データ生成手段と、前記差分データから有効桁部分を抽出する有効桁抽出手段と、前記基準データと前記有効桁部分を合成する合成手段とを備え、前記合成手段は、前記基準データと前記有効桁部分とを合成して得られる圧縮後の圧縮データにおいてデータ単位のそれぞれに前記基準データの一部を含ませることを特徴とするデータ圧縮装置。
  2. 前記差分データ生成手段が生成する差分データは、符号部分と絶対値部分とを有することを特徴とする請求項1記載のデータ圧縮装置。
  3. 前記有効桁抽出手段によって抽出された有効桁部分の桁数から、圧縮後のデータ長を算出するブロック長算出手段を有することを特徴とする請求項2記載のデータ圧縮装置。
  4. 前記合成手段は、前記圧縮後のデータ長を表すデータと前記基準データの上位ビット部を合成する第一の合成手段と、前記差分データの符号部分のデータ列と前記基準データの下位ビット部における任意の1ビットのデータを合成する第二の合成手段と、前記有効桁部分における任意のビット位置のデータと前記基準データの下位ビット部における対応するビットのデータを合成する第三の合成手段とを備え、前記第一、前記第二、及び前記第三の合成手段によって合成された合成データの組合せを第一の圧縮データとすることを特徴とする請求項3記載のデータ圧縮装置。
  5. データを複数のブロック単位に分割する分割手段と、前記分割手段により分割された1ブロック内の任意の1データを基準データとする基準データ作成手段と、当該ブロック内のデータ間の差分データを算出する差分データ生成手段と、前記差分データから有効桁部分を抽出する有効桁抽出手段と、前記基準データと前記有効桁部分を合成する合成手段とを備え、
    前記差分データ生成手段が生成する差分データは、符号部分と絶対値部分とを有し、
    さらに、前記有効桁抽出手段によって抽出された有効桁部分の桁数から、圧縮後のデータ長を算出するブロック長算出手段を有し、
    前記合成手段は、前記圧縮後のデータ長を表すデータと前記基準データの上位ビット部を合成する第一の合成手段と、前記差分データの符号部分のデータ列と前記基準データの下位ビット部における任意の1ビットのデータを合成する第二の合成手段と、前記有効桁部分における任意のビット位置のデータと前記基準データの下位ビット部における対応するビットのデータを合成する第三の合成手段とを備え、前記第一、前記第二、及び前記第三の合成手段によって合成された合成データの組合せを第一の圧縮データとすることを特徴とするデータ圧縮装置。
  6. 前記基準データと同一のデータが連続する場合に、該同一データが連続する連続数を表すデータと、前記基準データの下位ビット部のデータを合成する第四の合成手段を備え、前記第一及び前記第四の合成手段により合成された合成データの組合せを第二の圧縮データとすることを特徴とする請求項4又は5記載のデータ圧縮装置。
  7. 前記第四の合成手段により合成されたデータを配置する位置に特定のデータが配置されているとき、前記第一の合成手段で合成されたデータを配置する位置に配置されたデータを制御情報とすることを特徴とする請求項6記載のデータ圧縮装置。
  8. 前記第一の圧縮データのデータ長が圧縮前のデータ長より大きくなる場合は、前記第一の圧縮データの中のデータ長を表すデータを変更し、かつ前記第一の圧縮データから前記第三の合成手段により合成された合成データのうち前記有効桁部分の最下位ビットに対応するデータを削除することを特徴とする請求項5記載のデータ圧縮装置。
  9. 注目ブロックにおいて前記第一の圧縮データのデータ長が圧縮前のデータ長より大きくなる場合は、数ブロック前または1ブロック前から注目ブロックまでの前記第一の圧縮データの総計が圧縮前のデータの総計より同じ又は大きいときは、前記第一の圧縮データの中のデータ長を表すデータを変更し、かつ前記第一の圧縮データから前記第三の合成手段により合成された合成データのうち前記有効桁部分の最下位ビットに対応するデータを削除することを特徴とする請求項5記載のデータ圧縮装置。
  10. 請求項5乃至8のいずれか1項に記載のデータ圧縮装置を備える画像読取装置であって、一次元ラインセンサを備え、
    前記データ圧縮装置により画像データの圧縮を行う際の1ブロックのデータ単位は、一次元ラインセンサの同一位置の受光素子から出力された出力信号に対応するデータだけで構成されることを特徴とする画像読取装置。
  11. データを複数のブロック単位に分割する分割手段と、前記分割手段により分割された1ブロック内の任意の1データを基準データとする基準データ作成手段と、当該ブロック内のデータ間の差分データを算出する差分データ生成手段と、前記差分データから有効桁部分を抽出する有効桁抽出手段と、前記基準データと前記有効桁部分を合成する合成手段とを備えることを特徴とするデータ圧縮装置を備える画像読取装置であって、
    一次元ラインセンサを備え、
    前記データ圧縮装置により画像データの圧縮を行う際の1ブロックのデータ単位は、一次元ラインセンサの同一位置の受光素子から出力された出力信号に対応するデータだけで構成されることを特徴とする画像読取装置。
  12. 請求項1乃至4のいずれか1項に記載のデータ圧縮装置を備える画像読取装置であって、
    一次元ラインセンサを備え、
    前記データ圧縮装置により画像データの圧縮を行う際の1ブロックのデータ単位は、一次元ラインセンサの同一位置の受光素子から出力された出力信号に対応するデータだけで構成されることを特徴とする画像読取装置。
JP2008049702A 2008-02-29 2008-02-29 データ圧縮装置および画像読取装置 Active JP5070086B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008049702A JP5070086B2 (ja) 2008-02-29 2008-02-29 データ圧縮装置および画像読取装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008049702A JP5070086B2 (ja) 2008-02-29 2008-02-29 データ圧縮装置および画像読取装置

Publications (2)

Publication Number Publication Date
JP2009207064A JP2009207064A (ja) 2009-09-10
JP5070086B2 true JP5070086B2 (ja) 2012-11-07

Family

ID=41148854

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008049702A Active JP5070086B2 (ja) 2008-02-29 2008-02-29 データ圧縮装置および画像読取装置

Country Status (1)

Country Link
JP (1) JP5070086B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5460292B2 (ja) * 2009-12-17 2014-04-02 キヤノン株式会社 画像処理装置、その制御方法、及びプログラム
CN111294056B (zh) * 2018-12-07 2022-03-29 上海寒武纪信息科技有限公司 数据解压方法和编码电路
CN110320394B (zh) * 2019-08-30 2019-11-26 深圳市鼎阳科技有限公司 波形数据的解码处理方法及解码处理装置、数字示波器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05316352A (ja) * 1992-04-03 1993-11-26 Sony Corp データ圧縮方法
JPH1132328A (ja) * 1997-07-10 1999-02-02 Pfu Ltd 多値画像データにおけるデータ圧縮方法、データ圧縮装置および記録媒体
US8300956B2 (en) * 2004-07-29 2012-10-30 Oce-Technologies B.V. Lossless compression of color image data using entropy encoding

Also Published As

Publication number Publication date
JP2009207064A (ja) 2009-09-10

Similar Documents

Publication Publication Date Title
EP1832000B1 (en) Device and data method for selective compression and decompression and data format for compressed data
CN101095284B (zh) 用于有选择地压缩和解压缩数据的设备与方法
EP1285399B1 (en) Enhanced compression of gray-level images
CN101039374B (zh) 一种图像无损压缩方法
CN105451026A (zh) 数据压缩
JP5251799B2 (ja) データ処理装置およびデータ処理方法
JP3364074B2 (ja) ビットプレーン符号化装置
JP2008017115A (ja) データ圧縮装置およびデータ圧縮プログラム
JP5070086B2 (ja) データ圧縮装置および画像読取装置
CN110971904B (zh) 一种图像压缩的控制方法
JPH09139955A (ja) データ符号化装置およびその方法ならびにデータ復号化装置およびその方法
JP3676078B2 (ja) ランレングス符号化方法及び圧縮装置
JP2001044850A (ja) データ圧縮方法、データ復元方法及び情報処理装置
JP2010273264A (ja) 画像処理装置及び画像処理方法
US10002586B1 (en) Compression of display data stored locally on a GPU
JPS5817763A (ja) 画像情報蓄積方式
JP4748805B2 (ja) 画像符号化装置及びその制御方法
JP3781012B2 (ja) 画像データ圧縮方法、画像データ伸長方法、および画像データ伸長回路
JP4034385B2 (ja) マルチカラー画像の符号化装置およびその方法ならびにマルチカラー画像の復号化装置およびその方法
JP2005252531A (ja) データ圧縮装置およびデータ圧縮プログラム
JP4635956B2 (ja) データ圧縮装置及びプログラム
JP2006060490A (ja) 画像圧縮装置および画像圧縮プログラム
JPH0856164A (ja) データ符号化復号化装置及び方法
JP2002084425A (ja) 多値画像データ圧縮装置
JP4067778B2 (ja) 符号化装置および復号化装置および符号化/復号化装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120312

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120703

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120713

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: 20120731

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: 20120820

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150824

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5070086

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250