JPH07336696A - 2次元画像データの圧縮方式および伸長方式 - Google Patents
2次元画像データの圧縮方式および伸長方式Info
- Publication number
- JPH07336696A JPH07336696A JP15162494A JP15162494A JPH07336696A JP H07336696 A JPH07336696 A JP H07336696A JP 15162494 A JP15162494 A JP 15162494A JP 15162494 A JP15162494 A JP 15162494A JP H07336696 A JPH07336696 A JP H07336696A
- Authority
- JP
- Japan
- Prior art keywords
- data
- line
- partial
- string
- 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
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
Abstract
(57)【要約】
【目的】 本発明は、画像データのデータ圧縮率を高め
情報量を低減し且つ高速に圧縮、伸長するデータ圧縮方
式、伸長方式を提供することを目的とする。 【構成】 本発明のデータ圧縮方式を実現するデータ圧
縮装置は、順次入力される2次元画像データに対して1
ライン前のデータを保持する辞書バッファ6と、入力さ
れた現ラインの信号から、連続する複数のデータ列を抽
出し圧縮対象部分データ列として記憶するバッファ16
と、辞書バッファ6に記憶されたデータに圧縮対象部分
データ列と同じデータ列が存在するか否かを検出する走
査比較手段7、15と、走査比較手段によって同じデー
タ列の存在が検出された場合に、辞書バッファ6に記憶
された1ライン前のデータ上での部分データ列の位置と
長さのデータを現ラインのその部分データ列のデータと
して出力する符号生成器8を備える。
情報量を低減し且つ高速に圧縮、伸長するデータ圧縮方
式、伸長方式を提供することを目的とする。 【構成】 本発明のデータ圧縮方式を実現するデータ圧
縮装置は、順次入力される2次元画像データに対して1
ライン前のデータを保持する辞書バッファ6と、入力さ
れた現ラインの信号から、連続する複数のデータ列を抽
出し圧縮対象部分データ列として記憶するバッファ16
と、辞書バッファ6に記憶されたデータに圧縮対象部分
データ列と同じデータ列が存在するか否かを検出する走
査比較手段7、15と、走査比較手段によって同じデー
タ列の存在が検出された場合に、辞書バッファ6に記憶
された1ライン前のデータ上での部分データ列の位置と
長さのデータを現ラインのその部分データ列のデータと
して出力する符号生成器8を備える。
Description
【0001】
【産業上の利用分野】本発明は、2次元画像データにお
けるデータ圧縮方式及び伸長方式に関するものである。
けるデータ圧縮方式及び伸長方式に関するものである。
【0002】
【従来の技術】従来の画像圧縮方式としては、非可逆性
のデータ圧縮方式と可逆性のデータ圧縮方式がある。前
者の例として挙げることのできる離散コサイン変換(DC
T )を用いたJPEGやMPEGなどの非可逆性のデータ圧縮方
式では、カラーコード(カラーパレットの呼び出し符
号)を使用した画像データを圧縮する場合に情報落ちが
生じるため使用することができない。後者の可逆性のデ
ータ圧縮方式の代表的な方式が、情報のランレングス
(run length)を用いてデータ圧縮を行う方式(ランレ
ングス圧縮)、頻繁に現れる情報を辞書に登録しデータ
圧縮を行う方式(辞書圧縮)である。後者の方式は、IE
EE Transactions on Information Theory IT-24 、pp.5
30〜536 に掲載されたZiv 及びLempelによる論文"Compr
ession of Individual Sequenes via Variable Rate Co
ding" に開示されている。
のデータ圧縮方式と可逆性のデータ圧縮方式がある。前
者の例として挙げることのできる離散コサイン変換(DC
T )を用いたJPEGやMPEGなどの非可逆性のデータ圧縮方
式では、カラーコード(カラーパレットの呼び出し符
号)を使用した画像データを圧縮する場合に情報落ちが
生じるため使用することができない。後者の可逆性のデ
ータ圧縮方式の代表的な方式が、情報のランレングス
(run length)を用いてデータ圧縮を行う方式(ランレ
ングス圧縮)、頻繁に現れる情報を辞書に登録しデータ
圧縮を行う方式(辞書圧縮)である。後者の方式は、IE
EE Transactions on Information Theory IT-24 、pp.5
30〜536 に掲載されたZiv 及びLempelによる論文"Compr
ession of Individual Sequenes via Variable Rate Co
ding" に開示されている。
【0003】
【発明が解決しようとする課題】上記圧縮方式には、そ
れぞれ下記のような問題点がある。ランレングス圧縮
は、連続した同じ情報が多く含まれる画像データには効
果を発揮するが、そうでない画像データに対しては効果
が無く、圧縮の効果が全く現れない場合もある。
れぞれ下記のような問題点がある。ランレングス圧縮
は、連続した同じ情報が多く含まれる画像データには効
果を発揮するが、そうでない画像データに対しては効果
が無く、圧縮の効果が全く現れない場合もある。
【0004】辞書圧縮は、辞書に対するヒット率が高い
画像データには効果を発揮するが、そうでない画像デー
タに対しては効果が無い。また、ヒット率は辞書を記憶
するための記憶容量に依存するため、高いヒット率を得
たいならば容量の大きな格納場所が必要となる。更に、
容量の大きな辞書を持つことで辞書参照回数が増大し、
圧縮速度が低下する。そこで、本発明は、上記圧縮方式
の問題点を補い、画像データのデータ圧縮率を高め情報
量を低減し且つ高速に圧縮することができるデータ圧縮
方式及びその圧縮されたデータを高速に伸長することが
できる伸長方式を提供することを目的とする。
画像データには効果を発揮するが、そうでない画像デー
タに対しては効果が無い。また、ヒット率は辞書を記憶
するための記憶容量に依存するため、高いヒット率を得
たいならば容量の大きな格納場所が必要となる。更に、
容量の大きな辞書を持つことで辞書参照回数が増大し、
圧縮速度が低下する。そこで、本発明は、上記圧縮方式
の問題点を補い、画像データのデータ圧縮率を高め情報
量を低減し且つ高速に圧縮することができるデータ圧縮
方式及びその圧縮されたデータを高速に伸長することが
できる伸長方式を提供することを目的とする。
【0005】
【課題を解決するための手段】上記目的を達成するため
に本発明のデータ圧縮方式では、順次スキャンされる2
次元画像データに対して直前ラインのデータを参照しな
がら直前のラインと少なくとも1画素分以上同じ部分デ
ータ列が存在する場合に、直前ライン上での部分データ
列の位置と長さのデータをその部分データ列のデータと
して出力する。
に本発明のデータ圧縮方式では、順次スキャンされる2
次元画像データに対して直前ラインのデータを参照しな
がら直前のラインと少なくとも1画素分以上同じ部分デ
ータ列が存在する場合に、直前ライン上での部分データ
列の位置と長さのデータをその部分データ列のデータと
して出力する。
【0006】また本発明のデータ伸長方式では、直前の
ラインと少なくとも1画素分以上同じ部分データ列が存
在する場合に重複する部分のデータとして直前ライン上
での部分データ列の位置と長さの情報が順次入力される
2次元画像圧縮データの伸長方式において、少なくとも
直前ラインのデータを保持し、入力された圧縮データか
ら部分データ列の位置と長さに関する情報を抽出し、こ
の情報に基づいて、入力された現ラインのデータに対し
て、保持された直前ラインのデータの前記部分データ列
の位置から前記部分データ列の長さ分のデータを抽出
し、伸長データとして出力する。
ラインと少なくとも1画素分以上同じ部分データ列が存
在する場合に重複する部分のデータとして直前ライン上
での部分データ列の位置と長さの情報が順次入力される
2次元画像圧縮データの伸長方式において、少なくとも
直前ラインのデータを保持し、入力された圧縮データか
ら部分データ列の位置と長さに関する情報を抽出し、こ
の情報に基づいて、入力された現ラインのデータに対し
て、保持された直前ラインのデータの前記部分データ列
の位置から前記部分データ列の長さ分のデータを抽出
し、伸長データとして出力する。
【0007】また、上記データ圧縮方式を実現するデー
タ圧縮装置は、順次入力される2次元画像データに対し
て1ライン前のデータを保持する参照メモリ手段と、入
力された現ラインの信号から、連続する複数のデータ列
を抽出し圧縮対象部分データ列として記憶するバッファ
手段と、参照メモリ手段に記憶されたデータに圧縮対象
部分データ列と同じデータ列が存在するか否かを検出す
る走査比較手段と、走査比較手段によって同じデータ列
の存在が検出された場合に、参照メモリ手段に記憶され
た1ライン前のデータ上での部分データ列の位置と長さ
のデータを現ラインのその部分データ列のデータとして
出力する符号生成手段を備える。
タ圧縮装置は、順次入力される2次元画像データに対し
て1ライン前のデータを保持する参照メモリ手段と、入
力された現ラインの信号から、連続する複数のデータ列
を抽出し圧縮対象部分データ列として記憶するバッファ
手段と、参照メモリ手段に記憶されたデータに圧縮対象
部分データ列と同じデータ列が存在するか否かを検出す
る走査比較手段と、走査比較手段によって同じデータ列
の存在が検出された場合に、参照メモリ手段に記憶され
た1ライン前のデータ上での部分データ列の位置と長さ
のデータを現ラインのその部分データ列のデータとして
出力する符号生成手段を備える。
【0008】更に、上記データ伸長方式を実現するデー
タ伸長装置は、順次入力される2次元画像データに対し
て1ライン前のデータを保持するバッファメモリ手段
と、入力された圧縮データから部分データ列の位置と長
さに関する情報を抽出する抽出手段と、この情報に基づ
いて、入力された現ラインのデータに対して、バッファ
メモリに保持された直前ラインのデータの部分データ列
の位置から部分データ列の長さ分のデータを抽出し、伸
長データとして出力する復号手段を備える。
タ伸長装置は、順次入力される2次元画像データに対し
て1ライン前のデータを保持するバッファメモリ手段
と、入力された圧縮データから部分データ列の位置と長
さに関する情報を抽出する抽出手段と、この情報に基づ
いて、入力された現ラインのデータに対して、バッファ
メモリに保持された直前ラインのデータの部分データ列
の位置から部分データ列の長さ分のデータを抽出し、伸
長データとして出力する復号手段を備える。
【0009】
【作用】本発明の理解を容易にするため、本発明の原理
を図面を用いて説明する。本発明では画像データのある
画素は近傍の画素群に類似するという性質を利用し、順
次スキャンされる2次元画像データ(図1に示す)にお
いて、直前ラインのデータを参照データ(これを記憶す
るバッファを「辞書」1と言う事にする。)として保持
し、圧縮対象とするラインデータの部分列2で直前ライ
ンの辞書1を参照し、その参照において部分列ができる
だけ長く且つ直前ラインの辞書1の部分列と一致した
時、その辞書1上の部分列3の位置4と部分列の長さを
符号化することによりデータ圧縮を行う。この時、辞書
1上の部分列3の位置4を圧縮対象部分列2からの2次
元空間上の相対位置として表し、この相対位置と部分列
3の長さを符号化する。また、辞書1に対する参照範囲
を、圧縮対象部分列2と辞書1上の部分列との類似度が
高い範囲内に限定する。更に、圧縮対象部分列2が辞書
1上の部分列と一致しない場合は、圧縮対象部分列2に
ランレングス圧縮などを適用する。上記符号は、固定長
符号とはせず生起確立の高いデータに短い符号を割当て
圧縮率を上げるために可変長符号とする事が望ましい。
を図面を用いて説明する。本発明では画像データのある
画素は近傍の画素群に類似するという性質を利用し、順
次スキャンされる2次元画像データ(図1に示す)にお
いて、直前ラインのデータを参照データ(これを記憶す
るバッファを「辞書」1と言う事にする。)として保持
し、圧縮対象とするラインデータの部分列2で直前ライ
ンの辞書1を参照し、その参照において部分列ができる
だけ長く且つ直前ラインの辞書1の部分列と一致した
時、その辞書1上の部分列3の位置4と部分列の長さを
符号化することによりデータ圧縮を行う。この時、辞書
1上の部分列3の位置4を圧縮対象部分列2からの2次
元空間上の相対位置として表し、この相対位置と部分列
3の長さを符号化する。また、辞書1に対する参照範囲
を、圧縮対象部分列2と辞書1上の部分列との類似度が
高い範囲内に限定する。更に、圧縮対象部分列2が辞書
1上の部分列と一致しない場合は、圧縮対象部分列2に
ランレングス圧縮などを適用する。上記符号は、固定長
符号とはせず生起確立の高いデータに短い符号を割当て
圧縮率を上げるために可変長符号とする事が望ましい。
【0010】本発明は、上記のように、辞書の容量は直
前ラインのみを格納すれば良いので非常に小さく、類似
度の高い範囲内で辞書を参照し、できるだけ長い部分列
を参照するので、圧縮率が高く且つ圧縮及び伸長を高速
に処理することが可能である。画像データの1ライン目
や辞書参照が不可能な部分列にランレングス圧縮などを
適用することで、更に、高い圧縮率が得られる。
前ラインのみを格納すれば良いので非常に小さく、類似
度の高い範囲内で辞書を参照し、できるだけ長い部分列
を参照するので、圧縮率が高く且つ圧縮及び伸長を高速
に処理することが可能である。画像データの1ライン目
や辞書参照が不可能な部分列にランレングス圧縮などを
適用することで、更に、高い圧縮率が得られる。
【0011】
【実施例】以下に、本発明の実施例を図2乃至図6にし
たがって詳述する。図2は本発明のデータ圧縮回路の構
成例である。図3は本発明のデータ圧縮アルゴリズムの
フローチャートである。図2において、5はラインバッ
ファ、6は1ライン前のデータを保持する辞書バッフ
ァ、7は比較器、8は符号生成器、9は加算器、10は
ポインタ、11は相対位置カウンタ、12はポインタバ
ッファ、13は長さカウンタ、14は相対位置・長さバ
ッファ、15はセレクタ、16は部分列バッファを示
す。また、17はラインバッファへの入力信号線、18
は辞書バッファへの入力信号線、19は符号出力線を示
す。
たがって詳述する。図2は本発明のデータ圧縮回路の構
成例である。図3は本発明のデータ圧縮アルゴリズムの
フローチャートである。図2において、5はラインバッ
ファ、6は1ライン前のデータを保持する辞書バッフ
ァ、7は比較器、8は符号生成器、9は加算器、10は
ポインタ、11は相対位置カウンタ、12はポインタバ
ッファ、13は長さカウンタ、14は相対位置・長さバ
ッファ、15はセレクタ、16は部分列バッファを示
す。また、17はラインバッファへの入力信号線、18
は辞書バッファへの入力信号線、19は符号出力線を示
す。
【0012】次に、上記のように構成されたデータ圧縮
回路の動作の概要を示す。先ず、処理20でポインタ1
0等を初期化し、順次入力される画像データをラインバ
ッファ入力信号線17を通してラインバッファ5へ格納
する。この際、辞書バッファ入力信号線18を通してラ
インバッファ5から押し出されるデータを辞書バッファ
6に格納する。次に、処理21でラインバッファ5に入
力されたラインデータが1ライン目のデータであるなら
ば、処理25に遷移し、ポインタ10の指すラインバッ
ファ5のデータを部分列バッファ16に格納し、ポイン
タ10を1つ進め、ラインバッファ5のデータをセレク
タ15を通して、比較器7に入力し、部分列バッファ1
6のデータと比較する。比較の結果一致するならば、長
さカウンタ13をインクリメントし、次のポインタの指
すデータをセレクタ15を通して比較器7に入力し部分
列バッファ16のデータと比較し、一致しなくなるまで
ポインタを1つずつ進め部分列バッファ16のデータと
の比較を繰り返す。一致しなくなったところで、処理2
6で長さカウンタ13のデータと部分列バッファ16の
データを符号生成器8に入力し、符号出力線19を通し
て、符号を出力する。このようにして1ライン目の全て
のデータを処理する。
回路の動作の概要を示す。先ず、処理20でポインタ1
0等を初期化し、順次入力される画像データをラインバ
ッファ入力信号線17を通してラインバッファ5へ格納
する。この際、辞書バッファ入力信号線18を通してラ
インバッファ5から押し出されるデータを辞書バッファ
6に格納する。次に、処理21でラインバッファ5に入
力されたラインデータが1ライン目のデータであるなら
ば、処理25に遷移し、ポインタ10の指すラインバッ
ファ5のデータを部分列バッファ16に格納し、ポイン
タ10を1つ進め、ラインバッファ5のデータをセレク
タ15を通して、比較器7に入力し、部分列バッファ1
6のデータと比較する。比較の結果一致するならば、長
さカウンタ13をインクリメントし、次のポインタの指
すデータをセレクタ15を通して比較器7に入力し部分
列バッファ16のデータと比較し、一致しなくなるまで
ポインタを1つずつ進め部分列バッファ16のデータと
の比較を繰り返す。一致しなくなったところで、処理2
6で長さカウンタ13のデータと部分列バッファ16の
データを符号生成器8に入力し、符号出力線19を通し
て、符号を出力する。このようにして1ライン目の全て
のデータを処理する。
【0013】処理21でラインバッファ5に入力された
ラインデータが2ライン目以降のデータならば、処理2
2に遷移し、最長部分列の検索を行う。この最長部分列
の検索は図3には処理22として1つのフローで示して
有るが、以下の手順で行われる。最長部分列の検索の概
念を8×8の画像データを示す図4を例として説明す
る。本実施例では、検索対象部分列(現ラインのデータ
から選択された連続する画素のデータをこう定義する)
に対して1ライン前のラインにその検索対象部分列と同
じ部分列が存在するか否かを、検索対象部分列の先頭画
素位置から−1戻った位置(相対位置−1と定義する)
から+1進んだ位置(相対位置+1と定義する)に検索
対象部分列の先頭画素と同じ画素が存在するか否かを検
索する事によって判定している。即ち、1ライン前に左
右1画素分ずれた範囲内に同じ画素列が存在する場合に
処理22の圧縮を行う事になる。
ラインデータが2ライン目以降のデータならば、処理2
2に遷移し、最長部分列の検索を行う。この最長部分列
の検索は図3には処理22として1つのフローで示して
有るが、以下の手順で行われる。最長部分列の検索の概
念を8×8の画像データを示す図4を例として説明す
る。本実施例では、検索対象部分列(現ラインのデータ
から選択された連続する画素のデータをこう定義する)
に対して1ライン前のラインにその検索対象部分列と同
じ部分列が存在するか否かを、検索対象部分列の先頭画
素位置から−1戻った位置(相対位置−1と定義する)
から+1進んだ位置(相対位置+1と定義する)に検索
対象部分列の先頭画素と同じ画素が存在するか否かを検
索する事によって判定している。即ち、1ライン前に左
右1画素分ずれた範囲内に同じ画素列が存在する場合に
処理22の圧縮を行う事になる。
【0014】図4(a)で言えば、(1)相対位置−1
の例としては、3行1列目の「5」に続く部分列「55
4」がある。この部分列「554」は2行の1列目の
「5」に続く部分列「554」と同じデータ列であるの
で左に1画素ずれた位置に同一部分列が存在すると判定
される。(2)相対位置0の例としては、1行4列目の
「3」に続く部分列「34」がある。この部分列「3
4」は0行の4列目の「3」に続く部分列「34」と同
じデータ列であるので0画素ずれた位置に同一部分列が
存在すると判定される。(3)相対位置+1の例として
は、2行0列目の「5」に続く部分列「55434」が
ある。この部分列「55434」は1行1列目の「5」
に続く部分列「55434」と同じデータ列であるので
右に1画素ずれた位置に同一部分列が存在すると判定さ
れる。
の例としては、3行1列目の「5」に続く部分列「55
4」がある。この部分列「554」は2行の1列目の
「5」に続く部分列「554」と同じデータ列であるの
で左に1画素ずれた位置に同一部分列が存在すると判定
される。(2)相対位置0の例としては、1行4列目の
「3」に続く部分列「34」がある。この部分列「3
4」は0行の4列目の「3」に続く部分列「34」と同
じデータ列であるので0画素ずれた位置に同一部分列が
存在すると判定される。(3)相対位置+1の例として
は、2行0列目の「5」に続く部分列「55434」が
ある。この部分列「55434」は1行1列目の「5」
に続く部分列「55434」と同じデータ列であるので
右に1画素ずれた位置に同一部分列が存在すると判定さ
れる。
【0015】処理22では先ず、ポインタ10のデータ
をポインタバッファ12に格納し、相対位置カウンタ1
1を初期化する。次に、ポインタ10の指すラインバッ
ファ5から1画素分のデータが部分列バッファ16に取
り込まれる。ラインバッファ5から部分列バッファ16
に取り込まれた現ラインの1画素のデータについて辞書
バッファに記憶された1ライン前の相対位置−1の画
素、相対位置0の画素、相対位置+1の画素について一
致する画素が有るか無いかを検索し、無い場合は、相対
位置・長さバッファ14にそれぞれの相対位置毎に長さ
「0」を書き込んで処理23に進む。図4(a)では1
行3列の「4」は、0行2列、0行3列は「2」であ
り、0行4列は「3」であるので、相対位置・長さバッ
ファ14にポイント(1、3)の長さデータとして相対
位置−1、0、+1ともに「0」が書き込まれる。一致
する画素が存在する場合は、ポインタ10と長さカウン
タ15をインクリメントし、隣の画素のデータを部分列
バッファ16に取り込む。このときポインタバッファ1
2には今回の検索で検索中の検索対象部分列の先頭番地
が残されている。
をポインタバッファ12に格納し、相対位置カウンタ1
1を初期化する。次に、ポインタ10の指すラインバッ
ファ5から1画素分のデータが部分列バッファ16に取
り込まれる。ラインバッファ5から部分列バッファ16
に取り込まれた現ラインの1画素のデータについて辞書
バッファに記憶された1ライン前の相対位置−1の画
素、相対位置0の画素、相対位置+1の画素について一
致する画素が有るか無いかを検索し、無い場合は、相対
位置・長さバッファ14にそれぞれの相対位置毎に長さ
「0」を書き込んで処理23に進む。図4(a)では1
行3列の「4」は、0行2列、0行3列は「2」であ
り、0行4列は「3」であるので、相対位置・長さバッ
ファ14にポイント(1、3)の長さデータとして相対
位置−1、0、+1ともに「0」が書き込まれる。一致
する画素が存在する場合は、ポインタ10と長さカウン
タ15をインクリメントし、隣の画素のデータを部分列
バッファ16に取り込む。このときポインタバッファ1
2には今回の検索で検索中の検索対象部分列の先頭番地
が残されている。
【0016】検索対象部分列の先頭画素が相対位置−1
に一致を発見した場合は、隣の画素については1ライン
前のデータの相対位置−1の画素のデータと部分列バッ
ファ16に取り込まれた画素との比較が行われ、相対位
置0に一致を発見した場合は、隣の画素については1ラ
イン前のデータの相対位置0の画素のデータと部分列バ
ッファ16に取り込まれた画素との比較が行われ、相対
位置+1に一致を発見した場合は、隣の画素については
1ライン前のデータの相対位置+1の画素のデータと部
分列バッファ16に取り込まれた画素との比較が行われ
る。上記それぞれの比較結果が一致を示す場合には、更
に隣の画素ポインタ10をインクリメントし、隣の画素
のデータを部分列バッファ16に取り込み、長さカウン
タ15をインクリメントし一致しなくなるまで繰り返
す。これにより一致しなくなった時点で長さカウンタ1
5に計数されている値が1ライン前のデータに同じデー
タ列を持つ部分データ列の長さLとして計測される。こ
の長さ情報は相対位置−1、相対位置0、相対位置+1
のそれぞれについて計数される。即ち、相対位置−1に
ついて上記のようにして長さLを計数した後その長さL
を相対位置−1についての長さ情報として相対位置・長
さバッファの相対位置−1の欄に記憶し、続いて相対位
置0についての検索を行う為、ポインタバッファ12に
一時保存しておいた検索対象部分列の先頭番地を画素ポ
インタ10に戻し、相対位置カウンタ11をインクリメ
ントし、検索対象部分列の先頭番地の右隣のデータにつ
いて同様に相対位置0のデータが一致しなくなるまで画
素ポインタ10をインクリメントしながら比較を行い、
長さ情報Lを求める。続いて相対位置+1について同様
の検索を行う。
に一致を発見した場合は、隣の画素については1ライン
前のデータの相対位置−1の画素のデータと部分列バッ
ファ16に取り込まれた画素との比較が行われ、相対位
置0に一致を発見した場合は、隣の画素については1ラ
イン前のデータの相対位置0の画素のデータと部分列バ
ッファ16に取り込まれた画素との比較が行われ、相対
位置+1に一致を発見した場合は、隣の画素については
1ライン前のデータの相対位置+1の画素のデータと部
分列バッファ16に取り込まれた画素との比較が行われ
る。上記それぞれの比較結果が一致を示す場合には、更
に隣の画素ポインタ10をインクリメントし、隣の画素
のデータを部分列バッファ16に取り込み、長さカウン
タ15をインクリメントし一致しなくなるまで繰り返
す。これにより一致しなくなった時点で長さカウンタ1
5に計数されている値が1ライン前のデータに同じデー
タ列を持つ部分データ列の長さLとして計測される。こ
の長さ情報は相対位置−1、相対位置0、相対位置+1
のそれぞれについて計数される。即ち、相対位置−1に
ついて上記のようにして長さLを計数した後その長さL
を相対位置−1についての長さ情報として相対位置・長
さバッファの相対位置−1の欄に記憶し、続いて相対位
置0についての検索を行う為、ポインタバッファ12に
一時保存しておいた検索対象部分列の先頭番地を画素ポ
インタ10に戻し、相対位置カウンタ11をインクリメ
ントし、検索対象部分列の先頭番地の右隣のデータにつ
いて同様に相対位置0のデータが一致しなくなるまで画
素ポインタ10をインクリメントしながら比較を行い、
長さ情報Lを求める。続いて相対位置+1について同様
の検索を行う。
【0017】図4(a)の2行0列の「5」を先頭画素
とする部分列を考えると、この画素はライン先頭なので
前のラインの相対位置−1にデータが存在しないので長
さLは0となる。相対位置0については1行0列に
「5」が存在するので、長さカウンタ13をインクリメ
ントして2行0列の「5」の隣接する2行1列のデータ
「5」が部分列バッファ16に取り込まれ1行1列の
「5」と比較される。これも一致するので、長さカウン
タ13をインクリメントするとともに2行1列の「5」
の隣接する2行2列のデータ「4」が部分列バッファ1
6に取り込まれ1行2列の「5」と比較される。これは
異なるのでこのときまでに一致したデータの数「2」が
2行0列の「5」を先頭画素とする部分列の相対位置0
についての長さL=2となる。
とする部分列を考えると、この画素はライン先頭なので
前のラインの相対位置−1にデータが存在しないので長
さLは0となる。相対位置0については1行0列に
「5」が存在するので、長さカウンタ13をインクリメ
ントして2行0列の「5」の隣接する2行1列のデータ
「5」が部分列バッファ16に取り込まれ1行1列の
「5」と比較される。これも一致するので、長さカウン
タ13をインクリメントするとともに2行1列の「5」
の隣接する2行2列のデータ「4」が部分列バッファ1
6に取り込まれ1行2列の「5」と比較される。これは
異なるのでこのときまでに一致したデータの数「2」が
2行0列の「5」を先頭画素とする部分列の相対位置0
についての長さL=2となる。
【0018】2行0列の「5」を先頭画素とする部分列
については、1行1列に「5」が存在し先頭画素と一致
するので相対位置+1についても隣接画素の比較を行
う。2行0列の「5」の隣接する2行1列のデータ
「5」が部分列バッファ16に取り込まれ、相対位置+
1の1行2列の「5」と比較される。一致するので順次
右側の画素を取り込み比較を続けると、2行5列の
「3」と1行6列の「1」の比較を行った時に不一致に
なる。従って、このときの長さカウンタ13の値「5」
が2行0列の「5」を先頭画素とする部分列の相対位置
0についての長さL=5となる。
については、1行1列に「5」が存在し先頭画素と一致
するので相対位置+1についても隣接画素の比較を行
う。2行0列の「5」の隣接する2行1列のデータ
「5」が部分列バッファ16に取り込まれ、相対位置+
1の1行2列の「5」と比較される。一致するので順次
右側の画素を取り込み比較を続けると、2行5列の
「3」と1行6列の「1」の比較を行った時に不一致に
なる。従って、このときの長さカウンタ13の値「5」
が2行0列の「5」を先頭画素とする部分列の相対位置
0についての長さL=5となる。
【0019】以上により、2行0列の「5」を先頭画素
とする部分列の長さLとしては、L(相対位置−1)=
0,L(相対位置0)=2,L(相対位置+1)=5の
3つが相対位置・長さバッファに記憶されることにな
る。この中で最長の5を長さLとする部分列を選択す
る。図4(a)の場合、同図(b)に示すように部分列
a(55)は相対位置0の同一部分列を示し、部分列b
(55434)は相対位置+1の同一部分列を示す。部
分列aは長さ2、部分列bは長さ5であるので圧縮効率
の高い部分列bを選択する。
とする部分列の長さLとしては、L(相対位置−1)=
0,L(相対位置0)=2,L(相対位置+1)=5の
3つが相対位置・長さバッファに記憶されることにな
る。この中で最長の5を長さLとする部分列を選択す
る。図4(a)の場合、同図(b)に示すように部分列
a(55)は相対位置0の同一部分列を示し、部分列b
(55434)は相対位置+1の同一部分列を示す。部
分列aは長さ2、部分列bは長さ5であるので圧縮効率
の高い部分列bを選択する。
【0020】すなわち、処理24に遷移し、相対位置・
長さバッファ14の中に格納されているデータの中で最
長のデータとそれに対する相対位置を符号生成器8に入
力し、符号出力線19を通して、符号を出力する。ま
た、処理23で、相対位置・長さバッファ14に格納さ
れている長さが全て0なら、つまり辞書の中に一致する
部分列が見つからなかったら、処理25に遷移し、ラン
レングス圧縮を行う。尚、ランレングス圧縮については
従来のランレングス圧縮方式と異ならないのでその詳細
な説明は省略する。上記操作を画像データの最終ライン
まで繰り返し、データ圧縮を行い符号化する。
長さバッファ14の中に格納されているデータの中で最
長のデータとそれに対する相対位置を符号生成器8に入
力し、符号出力線19を通して、符号を出力する。ま
た、処理23で、相対位置・長さバッファ14に格納さ
れている長さが全て0なら、つまり辞書の中に一致する
部分列が見つからなかったら、処理25に遷移し、ラン
レングス圧縮を行う。尚、ランレングス圧縮については
従来のランレングス圧縮方式と異ならないのでその詳細
な説明は省略する。上記操作を画像データの最終ライン
まで繰り返し、データ圧縮を行い符号化する。
【0021】次に、図4に示す8×8の画像データのデ
ータ圧縮過程を説明する。各データは4ビットで表現さ
れるものとする。以下では、便宜的に、画像データの座
標を(列,行)、符号化されたコードを、{相対位置,
長さ}あるいは[データの種類,長さ]で表すことにす
る。即ち、中括弧{ }で囲まれている部分は本発明に
よる圧縮がおこなわれている部分であり、鍵括弧[ ]
で囲まれている部分はランレングスによる圧縮が行われ
ている部分を示すことになる。
ータ圧縮過程を説明する。各データは4ビットで表現さ
れるものとする。以下では、便宜的に、画像データの座
標を(列,行)、符号化されたコードを、{相対位置,
長さ}あるいは[データの種類,長さ]で表すことにす
る。即ち、中括弧{ }で囲まれている部分は本発明に
よる圧縮がおこなわれている部分であり、鍵括弧[ ]
で囲まれている部分はランレングスによる圧縮が行われ
ている部分を示すことになる。
【0022】例えば、相対位置が1、長さが3の符号コ
ードは[1,3]、データの種類が5、長さが2の符号
コードは[5,2]となる。また、注目データの座標を
(x,y)とすると、辞書参照範囲を相対位置で(x-1, y-
1)、(x, y-1)、(x+1, y-1)とする。先ず、1ライン目は
参照する辞書が存在しないのでランレングス圧縮を行
う。画像データ(0,0)から(3,0)のデータは2
で同じなので、符号は[2,4]となる。(4,0)の
3は1つだけなので符号は[3,1]となる。(5,
0)から(7,0)のデータは4で同じなので符号は
[4,3]となり、1ライン目の符号は、図5の1ライ
ン目のように、[2,4][3,1][4,3]とな
る。
ードは[1,3]、データの種類が5、長さが2の符号
コードは[5,2]となる。また、注目データの座標を
(x,y)とすると、辞書参照範囲を相対位置で(x-1, y-
1)、(x, y-1)、(x+1, y-1)とする。先ず、1ライン目は
参照する辞書が存在しないのでランレングス圧縮を行
う。画像データ(0,0)から(3,0)のデータは2
で同じなので、符号は[2,4]となる。(4,0)の
3は1つだけなので符号は[3,1]となる。(5,
0)から(7,0)のデータは4で同じなので符号は
[4,3]となり、1ライン目の符号は、図5の1ライ
ン目のように、[2,4][3,1][4,3]とな
る。
【0023】2ライン目の処理は、1ライン目を辞書と
して扱う。(0,1)と(0,0)を比較し一致しない
ので、次に(0,1)と(1,0)と比較し、これも一
致しないので、辞書には一致する部分列がないと判断
し、ランレングス圧縮を適用し、(0,1)から(2,
1) が5であるので符号は[5,3]となる。(3,
1)の4は(2,0)、(3,0)、(4,0)と一致
しないので、ランレングス圧縮を適用し、符号は[4,
1]となる。(4,1)の3は(3,0)、(4,
0)、(5,0)の中の(4,0)と一致し、(4,
1)から(5,1)と辞書の(4,0)から(5,0)
が一致するので、符号は{0,2}となる。(6,1)
と(7,1)はそれぞれ辞書のデータと一致しないので
符号は、それぞれ[1,1]、[3,1]となり、2ラ
イン目の符号は、図5の2ライン目のように、[5,
3][4,1]{0,2}[1,1][3,1]とな
る。
して扱う。(0,1)と(0,0)を比較し一致しない
ので、次に(0,1)と(1,0)と比較し、これも一
致しないので、辞書には一致する部分列がないと判断
し、ランレングス圧縮を適用し、(0,1)から(2,
1) が5であるので符号は[5,3]となる。(3,
1)の4は(2,0)、(3,0)、(4,0)と一致
しないので、ランレングス圧縮を適用し、符号は[4,
1]となる。(4,1)の3は(3,0)、(4,
0)、(5,0)の中の(4,0)と一致し、(4,
1)から(5,1)と辞書の(4,0)から(5,0)
が一致するので、符号は{0,2}となる。(6,1)
と(7,1)はそれぞれ辞書のデータと一致しないので
符号は、それぞれ[1,1]、[3,1]となり、2ラ
イン目の符号は、図5の2ライン目のように、[5,
3][4,1]{0,2}[1,1][3,1]とな
る。
【0024】3ライン目の処理は2ライン目を辞書とし
て扱う。(0,2)は相対位置0の辞書(0,1)と相
対位置1の辞書(1,1)と一致するが、相対位置0の
場合は一致する辞書の部分列の長さが(0,1)から
(1,1)と2であるが、相対位置1の場合は一致する
辞書の部分列の長さが(1,1)から(5,1)と5で
あり、相対位置1の辞書の部分列の方が長いので、符号
は{1,5}となり、上記の処理を最終ラインまで繰り
返すと図4の画像データに対して図5の符号列が得られ
る。次に、図5の符号列を図6の符号を用いて実際のコ
ードに割り当ててみる。ランレングス圧縮の場合の符号
は、図6の61のように識別子+データの種類+長さか
ら構成され、例えば、[2,4]は2進数の000101110
となる。辞書圧縮の場合の符号は、図6の62のように
識別子+相対位置+長さから構成され、例えば、{−
1,3}は2進数の11110 となる。但し、1ライン目は
ランレングス圧縮のみなので符号の識別子は取り除く。
図5の符号列を実際の符号に変換した結果が図7にな
り、図4の画像データの容量が256ビットであるのに
対し、図7のデータ容量は、171ビットであり、本発
明のアルゴリズムを用いてもとの画像データの約67%
に圧縮できたことになる。
て扱う。(0,2)は相対位置0の辞書(0,1)と相
対位置1の辞書(1,1)と一致するが、相対位置0の
場合は一致する辞書の部分列の長さが(0,1)から
(1,1)と2であるが、相対位置1の場合は一致する
辞書の部分列の長さが(1,1)から(5,1)と5で
あり、相対位置1の辞書の部分列の方が長いので、符号
は{1,5}となり、上記の処理を最終ラインまで繰り
返すと図4の画像データに対して図5の符号列が得られ
る。次に、図5の符号列を図6の符号を用いて実際のコ
ードに割り当ててみる。ランレングス圧縮の場合の符号
は、図6の61のように識別子+データの種類+長さか
ら構成され、例えば、[2,4]は2進数の000101110
となる。辞書圧縮の場合の符号は、図6の62のように
識別子+相対位置+長さから構成され、例えば、{−
1,3}は2進数の11110 となる。但し、1ライン目は
ランレングス圧縮のみなので符号の識別子は取り除く。
図5の符号列を実際の符号に変換した結果が図7にな
り、図4の画像データの容量が256ビットであるのに
対し、図7のデータ容量は、171ビットであり、本発
明のアルゴリズムを用いてもとの画像データの約67%
に圧縮できたことになる。
【0025】図8乃至図9を用いて上記の手法で圧縮し
た符号を伸長する手順を示す。図8は伸長回路の構成例
である。図9はデータ伸長アルゴリズムのフローチャー
トである。図8において、29は入力バッファ、30は
識別子バッファ、31はランレングスデコーダ、32は
辞書デコーダ、33と34はセレクタ、35は長さバッ
ファ、36は比較器、37は長さカウンタ、38は加算
器、39は伸長バッファ、40はポインタ、41は辞書
ポインタ、42は辞書バッファ、43は入力信号線、4
4は出力信号線である。
た符号を伸長する手順を示す。図8は伸長回路の構成例
である。図9はデータ伸長アルゴリズムのフローチャー
トである。図8において、29は入力バッファ、30は
識別子バッファ、31はランレングスデコーダ、32は
辞書デコーダ、33と34はセレクタ、35は長さバッ
ファ、36は比較器、37は長さカウンタ、38は加算
器、39は伸長バッファ、40はポインタ、41は辞書
ポインタ、42は辞書バッファ、43は入力信号線、4
4は出力信号線である。
【0026】先ず、入力信号線43を通して入力バッフ
ァ29に圧縮されたデータを取り込み、初めの1ビット
を識別子バッファに格納し、処理45でポインタ40及
び長さカウンタ37を0に初期化する。処理46に遷移
し、識別子バッファの内容が1であるなら、後に続くデ
ータは辞書圧縮されたデータなので、辞書デコーダ32
を通し、デコードされた長さの情報を長さバッファに格
納し(処理47)、デコードされた相対位置の情報とポ
インタの内容を加算器38に入力し結果を辞書ポインタ
に格納する(処理48)。処理49に遷移し、辞書ポイ
ンタ41の指す辞書バッファ42のデータをポインタ4
0の指す伸長バッファ39に格納する。辞書ポインタ及
びポインタを1つ進め(処理50、53)、長さカウン
タ37をインクリメントし、長さバッファ35の内容と
比較器36を通して比較する(処理54)。長さバッフ
ァの内容と長さカウンタの内容が一致しないなら(処理
55)、処理56で処理49に遷移し、一致するまで処
理49、50、53、54を順に繰り返し処理する。も
し一致するなら処理45に遷移し、新しい符号を伸長す
る。
ァ29に圧縮されたデータを取り込み、初めの1ビット
を識別子バッファに格納し、処理45でポインタ40及
び長さカウンタ37を0に初期化する。処理46に遷移
し、識別子バッファの内容が1であるなら、後に続くデ
ータは辞書圧縮されたデータなので、辞書デコーダ32
を通し、デコードされた長さの情報を長さバッファに格
納し(処理47)、デコードされた相対位置の情報とポ
インタの内容を加算器38に入力し結果を辞書ポインタ
に格納する(処理48)。処理49に遷移し、辞書ポイ
ンタ41の指す辞書バッファ42のデータをポインタ4
0の指す伸長バッファ39に格納する。辞書ポインタ及
びポインタを1つ進め(処理50、53)、長さカウン
タ37をインクリメントし、長さバッファ35の内容と
比較器36を通して比較する(処理54)。長さバッフ
ァの内容と長さカウンタの内容が一致しないなら(処理
55)、処理56で処理49に遷移し、一致するまで処
理49、50、53、54を順に繰り返し処理する。も
し一致するなら処理45に遷移し、新しい符号を伸長す
る。
【0027】処理46で識別子が0の場合は、処理51
に遷移し、長さバッファ35にデコードされた長さを格
納する。次にデータの種類をポインタ40の指す伸長バ
ッファ39に格納する(処理52)。ポインタを1つ進
め(処理53)、長さカウンタ37をインクリメント
し、長さバッファ35の内容と比較器36を通して比較
する(処理54)。長さバッファの内容と長さカウンタ
の内容が一致しないなら(処理55)、処理56で処理
52に遷移し、一致するまで処理52、53、54を順
に繰り返し処理する。上記の処理を最後の符号まで繰り
返す。また、伸長バッファ39に格納したデータが画像
データ1ライン分に達したら、辞書バッファ42に伸長
バッファ39の内容をすべて複写し、辞書バッファの内
容、つまり復元されたデータを出力信号線44を通して
出力する。
に遷移し、長さバッファ35にデコードされた長さを格
納する。次にデータの種類をポインタ40の指す伸長バ
ッファ39に格納する(処理52)。ポインタを1つ進
め(処理53)、長さカウンタ37をインクリメント
し、長さバッファ35の内容と比較器36を通して比較
する(処理54)。長さバッファの内容と長さカウンタ
の内容が一致しないなら(処理55)、処理56で処理
52に遷移し、一致するまで処理52、53、54を順
に繰り返し処理する。上記の処理を最後の符号まで繰り
返す。また、伸長バッファ39に格納したデータが画像
データ1ライン分に達したら、辞書バッファ42に伸長
バッファ39の内容をすべて複写し、辞書バッファの内
容、つまり復元されたデータを出力信号線44を通して
出力する。
【0028】上記圧縮の実施例では、辞書上に存在する
最長部分列を辞書参照範囲内から検索し、符号化してい
るが、その他にも、最長部分列を複数の部分列に分割し
他の部分列と合成して圧縮する場合や、最長ではない部
分列を組み合わせて圧縮する場合などが考えられる。
最長部分列を辞書参照範囲内から検索し、符号化してい
るが、その他にも、最長部分列を複数の部分列に分割し
他の部分列と合成して圧縮する場合や、最長ではない部
分列を組み合わせて圧縮する場合などが考えられる。
【0029】前者の場合、例えば、図4(b)の部分列
bを図4(c)の2つの部分列c「5543」と部分列
d「4」に分割し、部分列d「4」と2行5列の「3」
を合成し部分列e「43」とする。部分列cの符号は
{1,4}、部分列e「43」は1ライン前の1行4列
に続く「43」と一致しているので、符号は{−1,
2}となる。従って、2行目の符号は{1,4}{−
1,2}[5,1][4,1](この符号を符号aとす
る)となる。後者の場合は、例えば、2行0列では相対
位置0の部分列「55」を選択し、2行2列では相対位
置+1の部分列「434」を選択する。これにより、2
行目の符号は、{0,2}{1,3}{−1,1}
[5,1][4,1](この符号を符号bとする)とな
る。
bを図4(c)の2つの部分列c「5543」と部分列
d「4」に分割し、部分列d「4」と2行5列の「3」
を合成し部分列e「43」とする。部分列cの符号は
{1,4}、部分列e「43」は1ライン前の1行4列
に続く「43」と一致しているので、符号は{−1,
2}となる。従って、2行目の符号は{1,4}{−
1,2}[5,1][4,1](この符号を符号aとす
る)となる。後者の場合は、例えば、2行0列では相対
位置0の部分列「55」を選択し、2行2列では相対位
置+1の部分列「434」を選択する。これにより、2
行目の符号は、{0,2}{1,3}{−1,1}
[5,1][4,1](この符号を符号bとする)とな
る。
【0030】ここで、上記圧縮の実施例で示した図4
(a)の2行目に対する符号が実施例を含め3パターン
できたことになる。図5の2行目の符号を符号cとす
る。これらの符号a、b、cを図6に示した実際の符号
に割り当ててみると、符号a、cが24ビット、符号b
が26ビットとなり、符号a、cの効率が良い。しか
し、図6に示した以外の符号を符号a、b、cに割り当
てた場合は、また違った結果になり、符号bが最短の符
号になる場合も考えられる。従って、辞書上の最長部分
列を検索して符号化することが必ずしも最良ではなく、
実際の符号を割り当てた時に最短になる、辞書上の部分
列の組み合わせを選択したほうが好ましい。
(a)の2行目に対する符号が実施例を含め3パターン
できたことになる。図5の2行目の符号を符号cとす
る。これらの符号a、b、cを図6に示した実際の符号
に割り当ててみると、符号a、cが24ビット、符号b
が26ビットとなり、符号a、cの効率が良い。しか
し、図6に示した以外の符号を符号a、b、cに割り当
てた場合は、また違った結果になり、符号bが最短の符
号になる場合も考えられる。従って、辞書上の最長部分
列を検索して符号化することが必ずしも最良ではなく、
実際の符号を割り当てた時に最短になる、辞書上の部分
列の組み合わせを選択したほうが好ましい。
【0031】上記のように符号が最短になるように辞書
上の部分列の組み合わせ方を変更しても、符号化のルー
ル(前ラインでの同一部分列の先頭位置と長さを用い
る)が変わらないのであれば、データ伸長方式に影響を
及ぼすことはない。
上の部分列の組み合わせ方を変更しても、符号化のルー
ル(前ラインでの同一部分列の先頭位置と長さを用い
る)が変わらないのであれば、データ伸長方式に影響を
及ぼすことはない。
【0032】
【発明の効果】以上詳細に説明したように、本発明によ
れば、辞書の容量は直前ラインのみを格納すれば良いの
で非常に小さく、類似度の高い範囲内で辞書を参照し、
できるだけ長い部分列を参照するので、圧縮率が高く且
つ圧縮及び伸長を高速に処理することが可能である。画
像データの1ライン目や辞書参照が不可能な部分列にラ
ンレングス圧縮などを適用することで、更に、高い圧縮
率が得られる。
れば、辞書の容量は直前ラインのみを格納すれば良いの
で非常に小さく、類似度の高い範囲内で辞書を参照し、
できるだけ長い部分列を参照するので、圧縮率が高く且
つ圧縮及び伸長を高速に処理することが可能である。画
像データの1ライン目や辞書参照が不可能な部分列にラ
ンレングス圧縮などを適用することで、更に、高い圧縮
率が得られる。
【図1】2次元画像データ示す説明図である。
【図2】データ圧縮回路の構成例を示す図である。
【図3】データ圧縮の動作を示す流れ図である。
【図4】圧縮前の画像データを示す説明図である。
【図5】圧縮後の画像データを示す説明図である。
【図6】実際の符号を表した図である。
【図7】実際の符号を割り当てた圧縮後の画像データ示
す説明図である。
す説明図である。
【図8】データ伸長回路の構成例を示す図である。
【図9】データ伸長の動作を示す流れ図である。
1 辞書 2 圧縮対象部分列 3 辞書上の部分列 4 相対位置 17 ラインバッファ入力信号線 18 辞書バッファ入力信号線 19 符号出力信号線 43 入力信号線 44 出力信号線
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H04N 1/41 B 1/417
Claims (9)
- 【請求項1】 順次スキャンされる2次元画像データに
対して直前ラインのデータを参照しながら直前のライン
と少なくとも1画素分以上同じ部分データ列が存在する
場合に、直前ライン上での部分データ列の位置と長さの
データをその部分データ列のデータとして出力すること
を特徴とするデータ圧縮方式。 - 【請求項2】 直前のラインと少なくとも1画素分以上
同じ部分データ列が存在する場合に重複する部分のデー
タとして直前ライン上での部分データ列の位置と長さの
情報が順次入力される2次元画像圧縮データの伸長方式
であって、 少なくとも直前ラインのデータを保持し、 入力された圧縮データから前記部分データ列の位置と長
さに関する情報を抽出し、 この情報に基づいて、入力された現ラインのデータに対
して、保持された直前ラインのデータの前記部分データ
列の位置から前記部分データ列の長さ分のデータを抽出
し、伸長データとして出力することを特徴とするデータ
伸長方式。 - 【請求項3】 送信側において、順次スキャンされる2
次元画像データに対して直前ラインのデータを参照しな
がら直前のラインと少なくとも1画素分以上同じ部分デ
ータ列が存在する場合に、直前ライン上での部分データ
列の位置と長さに関する情報をその部分データ列のデー
タとして出力し、 受信側において、少なくとも直前ラインのデータを保持
し、入力された圧縮データから前記部分データ列の位置
と長さに関する情報を抽出し、この情報に基づいて、入
力された現ラインのデータに対して、保持された直前ラ
インのデータの前記部分データ列の位置から前記部分デ
ータ列の長さ分のデータを抽出し、伸長データとして出
力することを特徴とするデータ圧縮・伸長方式。 - 【請求項4】 請求項1乃至3において、前記部分デー
タ列の位置に関する情報は、直前ラインの現ラインの圧
縮対象部分データ列からの2次元空間における相対位置
として表わされることを特徴とするデータ圧縮方式。 - 【請求項5】 請求項4において、直前ラインの参照範
囲を現ラインの圧縮対象部分データ列からの距離が予め
定められた画素範囲内に制限されている事を特徴とする
データ圧縮方式。 - 【請求項6】 順次入力される2次元画像データに対し
て1ライン前のデータを保持する参照メモリ手段と、 入力された現ラインの信号から、連続する複数のデータ
列を抽出し圧縮対象部分データ列として記憶するバッフ
ァ手段と、 前記参照メモリ手段に記憶されたデータに前記圧縮対象
部分データ列と同じ部分データ列が存在するか否かを検
出する走査比較手段と、 前記走査比較手段によって同じ部分データ列の存在が検
出された場合に、前記参照メモリ手段に記憶された1ラ
イン前のデータ上での前記部分データ列の位置と長さの
データを現ラインのその部分データ列のデータとして出
力する符号生成手段を備えたことを特徴とするデータ圧
縮装置。 - 【請求項7】 請求項6において、前記バッファ手段は
前記走査比較手段によって同じデータ列の存在が検出さ
れた場合に、現ラインの信号から抽出するデータのビッ
ト数を順次増加させ、前記走査比較手段によって同じデ
ータ列の存在が検出されなくなるまで繰り返し、 前記符号生成手段は前記走査比較手段によって同じデー
タ列の存在が検出されなくなった時点の前記参照メモリ
手段に記憶された1ライン前のデータ上での前記部分デ
ータ列の位置と長さのデータを現ラインのその部分デー
タ列のデータとして出力することを特徴とするデータ圧
縮装置。 - 【請求項8】 請求項6乃至7において、前記走査比較
手段は前記参照メモリ手段に記憶された1ライン前のデ
ータの中で現ラインの圧縮対象部分データ列の画素位置
から予め定められた画素範囲内にあるデータを抽出して
比較を行う事を特徴とするデータ圧縮装置。 - 【請求項9】 直前のラインと少なくとも1画素分以上
同じ部分データ列が存在する場合に重複する部分のデー
タとして直前ライン上での部分データ列の位置と長さの
情報が順次入力される2次元画像圧縮データの伸長装置
であって、 順次入力される2次元画像データに対して1ライン前の
データを保持するバッファメモリ手段と、 入力された圧縮データから前記部分データ列の位置と長
さに関する情報を抽出する抽出手段と、 この情報に基づいて、入力された現ラインのデータに対
して、前記バッファメモリ手段に保持された直前ライン
のデータの前記部分データ列の位置から前記部分データ
列の長さ分のデータを抽出し、伸長データとして出力す
る復号手段を備えたことを特徴とするデータ伸長装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15162494A JPH07336696A (ja) | 1994-06-08 | 1994-06-08 | 2次元画像データの圧縮方式および伸長方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15162494A JPH07336696A (ja) | 1994-06-08 | 1994-06-08 | 2次元画像データの圧縮方式および伸長方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07336696A true JPH07336696A (ja) | 1995-12-22 |
Family
ID=15522617
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP15162494A Pending JPH07336696A (ja) | 1994-06-08 | 1994-06-08 | 2次元画像データの圧縮方式および伸長方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07336696A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11168389A (ja) * | 1997-12-05 | 1999-06-22 | Toshiba Corp | データ圧縮装置 |
| US6947592B2 (en) | 1997-11-27 | 2005-09-20 | Seiko Epson Corporation | Encoding method of a color image and its encoding device and a decoding method of the color image and its decoding device |
| JP2010204602A (ja) * | 2009-03-06 | 2010-09-16 | Seiko Epson Corp | 表示装置,電子機器および駆動コード生成回路 |
| KR20190085910A (ko) * | 2016-11-16 | 2019-07-19 | 시트릭스시스템스,인크. | 무손실 인코딩을 위한 멀티-픽셀 캐싱 방식 |
-
1994
- 1994-06-08 JP JP15162494A patent/JPH07336696A/ja active Pending
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6947592B2 (en) | 1997-11-27 | 2005-09-20 | Seiko Epson Corporation | Encoding method of a color image and its encoding device and a decoding method of the color image and its decoding device |
| JPH11168389A (ja) * | 1997-12-05 | 1999-06-22 | Toshiba Corp | データ圧縮装置 |
| JP2010204602A (ja) * | 2009-03-06 | 2010-09-16 | Seiko Epson Corp | 表示装置,電子機器および駆動コード生成回路 |
| KR20190085910A (ko) * | 2016-11-16 | 2019-07-19 | 시트릭스시스템스,인크. | 무손실 인코딩을 위한 멀티-픽셀 캐싱 방식 |
| JP2020503705A (ja) * | 2016-11-16 | 2020-01-30 | シトリックス・システムズ・インコーポレイテッドCitrix Systems,Inc. | 可逆エンコーディングのためのマルチピクセルキャッシングスキーム |
| US11190787B2 (en) | 2016-11-16 | 2021-11-30 | Citrix Systems, Inc. | Multi-pixel caching scheme for lossless encoding |
| US11653009B2 (en) | 2016-11-16 | 2023-05-16 | Citrix Systems, Inc. | Multi-pixel caching scheme for lossless encoding |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5883975A (en) | Compression and decompression methods on two-dimensional image data | |
| US20010051941A1 (en) | Searching method of block sorting lossless compressed data, and encoding method suitable for searching data in block sorting lossless compressed data | |
| CN110021369B (zh) | 基因测序数据压缩解压方法、系统及计算机可读介质 | |
| JP2007508753A (ja) | データ圧縮システム及び方法 | |
| JP2007508753A5 (ja) | ||
| US6327383B2 (en) | Multi-color image encoding apparatus and method, multi-color image decoding apparatus and method | |
| US6121905A (en) | Method and apparatus for decoding JPEG symbols | |
| JPH07336696A (ja) | 2次元画像データの圧縮方式および伸長方式 | |
| JPH08130652A (ja) | 2次元画像データの圧縮方式および伸長方式 | |
| JP4000266B2 (ja) | データ符号化装置、データ符号化方法、及びそのプログラム | |
| US5623556A (en) | System and method of extracting binary image data | |
| JPH0884260A (ja) | 2次元画像データの圧縮方式および伸長方式 | |
| JP3222633B2 (ja) | 情報処理装置 | |
| JPH08130651A (ja) | 2次元画像データの圧縮方式および伸長方式 | |
| JPH0846793A (ja) | 2次元画像データの圧縮方式および伸長方式 | |
| JPH10178638A (ja) | 文字領域符号化方法、復号方法、文字領域符号化装置および復号装置 | |
| JPH0695727B2 (ja) | 画像データ圧縮装置 | |
| JP3417684B2 (ja) | 画像処理装置 | |
| JP3199292B2 (ja) | ハフマン符号の符号化でのランレングス抽出方法、ハフマン符号変換方法およびmh符号化処理方法 | |
| JPH0628149A (ja) | 複数種類データのデータ圧縮方法 | |
| US6219445B1 (en) | Multi-color image encoding and/or decoding apparatus containing color order table and the method thereof | |
| JPH05252051A (ja) | 直列データ・デコーダ | |
| JP3433276B2 (ja) | 画像信号圧縮方法及び装置,画像信号復元方法及び装置,画像信号圧縮・復元方法及び装置,並びにプリンタ装置 | |
| JPH0723238A (ja) | 画像データ圧縮及び復元装置 | |
| JPH10215366A (ja) | 圧縮画像データの抽出方法およびその装置 |