JPH1196345A - グラフィックス画像の圧縮及び逆圧縮方法 - Google Patents

グラフィックス画像の圧縮及び逆圧縮方法

Info

Publication number
JPH1196345A
JPH1196345A JP10121036A JP12103698A JPH1196345A JP H1196345 A JPH1196345 A JP H1196345A JP 10121036 A JP10121036 A JP 10121036A JP 12103698 A JP12103698 A JP 12103698A JP H1196345 A JPH1196345 A JP H1196345A
Authority
JP
Japan
Prior art keywords
value
color
block
row
green
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.)
Granted
Application number
JP10121036A
Other languages
English (en)
Other versions
JP4189443B2 (ja
Inventor
Osutorofusukii Aretsukusu
オストロフスキー アレックス
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Publication of JPH1196345A publication Critical patent/JPH1196345A/ja
Application granted granted Critical
Publication of JP4189443B2 publication Critical patent/JP4189443B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00—Image coding
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00—Image coding
    • G06T9/005—Statistical coding, e.g. Huffman, run length coding
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00—Image analysis
    • G06T7/90—Determination of colour characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)
  • Color Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

(57)【要約】 【課題】 本発明は、良好な圧縮率と短縮された処理時
間が得られるグラフィックス画像データの圧伸方法の提
供を目的とする。 【解決手段】 画像データの各ブロックの別個の色は識
別され、序数が割り当てられる。ブロックのデータ構造
は、別個の色の数、圧縮画質マスク値、実際のRGBA
四つ組、並びに、ブロック内の特定画素での特定色の有
無を示す別個の色毎のグループフラグの組及び行フラグ
の組により構成され、記憶される。画像を逆圧縮するた
め、ブロックの全画素のRGBA四つ組がブロックのデ
ータ構造から再生される。損失有り・無しの両方の圧縮
方法が得られる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータ圧縮及び逆圧
縮に係わり、特に、類似カラーの組に従ってカラーグラ
フィックス画像を符号化する方法に関する。
【0002】
【従来の技術】カラーグラフィックス画像は、コンピュ
ータシステム、特に、マルチメディアパーソナルコンピ
ュータによる表示のため幅広く使用されている。提供さ
れる解像度及び画像に表現され得るカラー数が高まると
共に、カラーグラフィックス画像を表現するデータのサ
イズは拡大する。また、使用されるコンピュータモニタ
が大きくなると共に、ユーザはより大きい画像の表示を
要求する。カラーグラフィックス画像を格納するため必
要とされるメモリ空間の削減及びかかる画像を伝送及び
表示するため必要とされる時間の短縮は、従来からコン
ピュータグラフィックス技術の重要な目標である。
【0003】図1は、従来技術によるカラーグラフィッ
クス画像及びその関連した記憶表現を示す図である。ビ
ットマップイメージ10は、1行あたりm画素のn行を
有する。典型的に、n及びmは8で割り切れる数であ
る。ビットマップイメージ10は、論理的に8画素×8
画素の矩形に分割され得る。従って、ビットマップイメ
ージの左右方向にm/8個のブロックがあり、ビットマ
ップイメージの上下歩行にn/8個のブロックがある。
換言すると、(m/8)*(m/8)個の8×8形のブ
ロックがビットマップイメージに含まれる。ある8×8
形のブロックは、(i,j)のペアで参照することがで
き、ここで、iは0乃至(m/8−1)の範囲内に収ま
り、jは0乃至(n/8−1)の範囲に収まる。
【0004】8×8形の各ブロック12は64画素を含
む。各画素はRGBAの四つ組14として表現される。
RGBA四つ組14は、赤色値(R)16と、緑色値
(G)18と、青色値(B)20と、輝度値(A)22
とを含む。画素の色及び輝度は、R、G、B及びAの値
によって決まる。殆どのカラー画像の場合、8×8形の
ブロックは、5乃至12色の異なる色を含む。R、G、
B及びAの各値は、8ビットのバイトに記憶される。従
って、各画素は4バイトの記憶容量を占有し、8×8形
のブロックは256バイトの記憶容量を占有する。これ
により、ビットマップイメージ10は、256*(m/
8*n/8)バイトの記憶容量を必要とする。例えば、
ビットマップが1行あたり640画素の480行からな
るとき、圧縮されていないビットマップイメージデータ
のサイズは、256*(640/8*480/8)バイ
ト、即ち、1,228,800 バイトである。ビットマップが1
行あたり1280画素の1024行からなるとき、圧縮
されていないビットマップイメージデータのサイズは、
256*(1280/8*1024/8)バイト、即
ち、5,242,880 バイトである。従って、圧縮されていな
いビットマップイメージは大量の記憶容量を必要とす
る。
【0005】従来の画像圧縮の一つの方法は、国際標準
化機構(ISO)により認可されたグループであるジョ
イントフォトグラフィックエクスパートグループ(JP
EG)によって提案されている。JPEG圧縮標準は、
僅かに識別できる画像の劣化を伴ってビットマップ化さ
れた画像のサイズを縮小する損失のある画像圧縮アルゴ
リズムである。損失のある圧縮方法は、ある程度の絵的
な情報を無視することにより画像のサイズを縮小する。
対照的に、損失のない圧縮方法は、画像が通常要求する
ビット数をデータを失うことなく削減する。JPEG圧
縮アルゴリズムは、カラー画像を、上記の如く輝度及び
色を表す数値を有する画素の行に変換する。画像は、1
6画素×16画素である各ブロックに分割され、各ブロ
ック毎に一つおきの画素を取り除くことにより8画素×
8画素のブロックに削減される。この圧縮アルゴリズム
は、少ないデータで表現することができるように各ブロ
ック毎に平均カラー値を計算する公式を使用する。画像
データを復元するため、この処理は画素の圧縮を解除す
べく反転される。
【0006】JPEG標準は広く使用されているにも係
わらす欠点がある。JPEGアルゴリズムは、画像内の
関連した画素に対する局部平均カラー値を計算するた
め、フーリエ変換、ハフマン符号化、“ジグザグ化(zig
zagging)”及びYUV変換の計算を使用する。このアル
ゴリズムは、画像内の画素の行に使用される各カラーを
曲線として表現する。局部平均カラー値は、曲線を表現
する多項式の項に対し、コサイン関数を計算し、浮動小
数点係数を乗算することにより計算される。
【0007】
【発明が解決しようとする課題】上記の従来技術による
アルゴリズムの計算は、非常に時間がかかり、全体的な
画像圧伸の速度に悪影響を与える。コサイン関数の浮動
小数点演算及び乗算演算を行うことなくカラーグラフィ
ックス画像を圧伸する高速な方法が必要とされる。ま
た、良好な圧縮率を与え、逆圧縮の間に高程度の並列化
をなし得る方法は、コンピュータグラフィックス技術に
重要な価値を付加する。
【0008】
【課題を解決するための手段】本発明はグラフィックス
画像データを圧縮及び逆圧縮する方法を提供する。複数
の行を有し、各行には複数の列があり、各列は画素を含
み、各画素は赤色値、緑色値、青色値及び強度値によっ
て表された色を有する複数の行からなるグラフィックス
画像データのブロックを圧縮されたブロックに圧縮する
方法は、上記ブロックの画素に在る全ての色を識別する
ことにより、各色序数が一つの色を表し、上記ブロック
内の各画素毎に1画素の色に対応した1個の色序数を含
む色序数の配列を作成する段階と、選択された一つの色
に対する赤色値、緑色値、青色値及び強度値を上記圧縮
されたブロックに格納する段階と、上記色序数の配列に
従って選択された色の画素を有するブロック内の行を示
すグループフラグの組を作成する段階と、上記グループ
フラグの組を圧縮されたブロックに格納する段階と、上
記色序数の配列に従って選択された色の画素を有するブ
ロックにおいて1組の行フラグによって表された選択さ
れた色の画素を有する行内で、選択された色の画素を有
する列を示す少なくとも1組の行フラグを作成する段階
と、上記行フラグの組を圧縮されたブロックに格納する
段階と、ブロックの全ての色に対し上記の段階を繰り返
す段階とからなる。
【0009】圧縮されたグラフィックス画像データのブ
ロックを圧縮されていないブロックに逆圧縮する方法
は、圧縮されたブロックから選択された色に対し、赤色
値、緑色値、青色値及び強度値を得る段階と、上記圧縮
されたブロックから選択された色に対し、グループフラ
グの組を得る段階と、上記圧縮されたブロックの少なく
とも1行で選択された色の有無を示す上記グループフラ
グの組の中の一つの組に対応する行フラグの組を得る段
階と、赤色値、緑色値、青色値及び強度値を、上記行フ
ラグの組により示されるような選択された色を有する列
及び上記グループフラグの組により示されるような選択
された色を有する行によって指定された選択された場所
で圧縮されていないブロックに書き込む段階と、上記圧
縮されたブロックの少なくとも1行で選択された色の有
無を示す上記グループフラグの組の各フラグに対し上記
段階を繰り返す段階と、上記圧縮されたブロックの全て
の別個の色組合せに対し上記段階を繰り返す段階とから
なる。
【0010】本発明により得られる利点及び新規性のあ
る特徴は、以下の説明に記載され、以下の実施例に基づ
いて当業者には明らかであり、かつ、本発明を実施する
ことにより知ることができる。本発明の別の実施例によ
れば、上記の利点及び他の利点は、複数の行を有し、各
行には複数の列があり、各列は画素を含み、各画素は赤
色値、緑色値、青色値及び強度値によって表された色を
有する複数の行からなるグラフィック画像データを圧縮
されたブロックに圧縮する装置により達成される。この
装置は、上記ブロックの画素に在る全ての色を識別する
ことにより、各色序数が一つの色を表し、上記ブロック
内の各画素毎に1画素の色に対応した1個の色序数を含
む色序数の配列を作成する手段と、上記色序数の配列に
従って選択された色の画素を有するブロックの行を示す
第1のフラグの組を作成する手段と、上記色序数の配列
に従って上記選択された色の画素を有するブロックの行
の範囲内で選択された色の画素を有する列を示す第2の
フラグの組であって、選択された色の画素を有する各行
は1組の第2のフラグの組により表される第2のフラグ
の組を作成する手段と、選択された一つの色に対し、赤
色値、緑色値、青色値及び強度値と、上記第1のフラグ
の組と、上記少なくとも1組の第2のフラグの組を上記
圧縮されたブロックに格納する手段とからなる。
【0011】本発明の別の実施例において、上記利点及
び他の利点は、グラフィックス画像データの圧縮された
ブロックを圧縮されていないブロックに逆圧縮する装置
によって実現される。上記装置は、複数の別個の赤、
緑、青及び強度値の色組合せを有する圧縮されたブロッ
クであって、別個の各色組合せは、圧縮されていないブ
ロックの行で別個の色組合せの有無を示すグループフラ
グの組と、別個の色組合せを有する圧縮されていないブ
ロックの各行に対し圧縮されていないブロックの列で別
個の色組合せの有無を示す少なくとも1組の行フラグの
組とを有するグラフィックス画像データの圧縮されたブ
ロックを圧縮されていないブロックに逆圧縮する。上記
装置は、圧縮されたブロックから選択された色に対し赤
色値、緑色値、青色値及び強度値を読み出し、上記圧縮
されたブロックから選択された色に対し上記グループフ
ラグの組を読み出し、上記圧縮されたブロックの少なく
とも1行で選択された色の有無を示す上記グループフラ
グの組の中のグループフラグに対応する行フラグの組を
読み出す手段と、赤色値、緑色値、青色値及び強度値
を、上記行フラグの組により示されるような選択された
色を有する列及び上記グループフラグの組により示され
るような選択された色を有する行によって指定された選
択された場所で圧縮されていないブロックに書き込む手
段とを有する。
【0012】
【発明の実施の形態】本発明の他の目的及び利点は、以
下の本発明の実施例の詳細な説明を読むことにより当業
者にとって明らかであろう。以下の説明では、本発明を
実施するため熟慮されたベストモードの実例によって本
発明の好ましい実施例だけを示す。本発明は、他の実施
例及び異なる実施例として実現することが可能であり、
本発明の実施例の細部は、本発明から逸脱することな
く、種々の明瞭な点で変更することが可能である。従っ
て、添付図面及び以下の説明は、本質的に実例であり、
本発明を制限するものではないことに注意する必要があ
る。
【0013】本発明は、図1に示されるような圧縮され
ていないビットマップ画像データに関して動作し、画像
の圧縮表現を生成する。本発明は、また、圧縮されたビ
ットマップ画像データに関して動作し、元の圧縮されて
いない表現を生成する。一般的に言うと、画像を圧縮す
るため、本発明は、画像の8画素×8画素からなる全ブ
ロックを順番に別々に処理する。各ブロック毎に、ブロ
ックに在る全ての別個の色が識別され、序数が割り当て
られる。ブロックのデータ構造は、ブロック内にある別
個の色の個数と、(以下に説明する)圧縮画像品質マス
ク値と、ブロックに在る各色に対する実際のRGBA四
つ組と、ブロック内の特定の画素での特定の色の有無を
示すグループフラグの組及び行2値フラグの組とを格納
するため生成される。得られたデータ構造は、ブロック
に対する元のRGBA四つ組の集合よりも遙かに少ない
記憶容量しか必要としない。ブロックのデータ構造は、
メモリ又はコンピュータファイルに格納され、画像の次
のブロックが処理される。この処理はビットマップイメ
ージの全てのブロックに対し繰り返される。画像を逆圧
縮するため、各ブロック内の全画素のRGBA四つ組
は、ブロックのデータ構造から再生される。この再生は
画像の全てのブロックに対し繰り返される。
【0014】本発明による圧縮された画像データの再生
は、簡単な例を参照することによって巧く理解できる。
図2は、本発明により序数として表されたRGBA四つ
組を備えた8×8形ブロックの例を示す図である。ブロ
ック24はビットマップイメージからの1個の8×8形
ブロックを表す。このブロックは、色序数テーブルとも
称される。図2に示されたブロックは、水平方向に0乃
至7の指数を有し、垂直方向に0乃至7の指数を有す
る。或いは、ブロックは64要素の1次元配列として表
現してもよい。ブロックの画素は、ブロックに現れた別
個の色を判定するため走査される。見つけられた各別個
の色は序数が割り当てられる。
【0015】図3は序数のRGBA四つ組へのマッピン
グを示す図である。例えば、同図の最上行の序数1は、
赤色値R1と、緑色値G1と、青色値B1と、輝度値A
1とにより構成された色を示す。同様に、序数2は、赤
色値R3と、緑色値G3と、青色値B3と、輝度値A3
とにより構成された色を示す。RGBAの各組合せは、
現在のブロックの少なくとも1個の画素に対する固有の
色及び輝度の指定である。図2のブロックの例に現れる
他の色は図3に示されている。
【0016】図2を再度参照するに、色序数テーブル
は、第1の色が0行1列(第0行第1列)と、5行0列
と、5行2乃至7列と、6行2乃至6列で検出されたこ
とを示す。第2の色は、3行0及び6列、4行0乃至4
列、5行1列、6行0乃至1列で検出される。第3の色
は、0行0列、0行2乃至3列、1行1、3、5列、2
行0乃至7列、6行6乃至7列で検出される。残りの色
も同様に識別される。図2に示された例では、16個の
異なる色がブロック24に現れている。ブロック内の各
色の出現は、圧縮されたブロックのビットによりブロッ
クの行における特定の色の有無を示す2値フラグの組と
して表すことが可能である。別のフラグの組は、指定さ
れた色を有する選択された行に対応する全ての列を示す
指定された色を有する行毎に発生される。
【0017】図2に示されたブロック24の表現が与え
られた場合、ブロックで検出された各色に対するフラグ
の組が作成され、ブロックのデータ構造に格納される。
例えば、第1の色は第0、5及び6行で検出される。ブ
ロックの上記行に対する2値フラグの組は値{1000011
0}を有する第1の色に対し生成される。上記のフラグ
はグループフラグと称される。グループフラグの組の各
位置は、第0行から始まり第7行まで続くブロックの行
を表す。組の位置が1であるとき、選択された色が行の
どこかに存在することを示し、組の位置が0であると
き、選択された色がその行に無いことを示す。選択され
た色を有する各行に対し、現在の行の各列に選択された
色が存在するかどうかを示す2値フラグの組が生成され
る。
【0018】これらのフラグは行フラグと称される。例
えば、第1の色は第1行の第1列だけで検出される。従
って、値{01000000}を有する2値フラグの組は、第1
の色が列1で検出され、その行の他の列で検出されない
ことを示すため生成される。同様に、値{10111111}を
有する2値フラグの組は、行5の列0、2−7に第1の
色が在ることを表すため生成される。値{00111100}を
有する2値フラグの組は、行6の列2乃至5に第1の色
が存在することを示すため生成される。この組を生成す
る処理は、ブロックで見つけられた全ての色に対し行わ
れる。全ての色が処理されたとき、従来の方法よりも必
要な記憶容量が著しく減少し、コサイン関数評価又は浮
動小数点係数乗算演算を必要としないブロックのデータ
構造が完全に作成される。
【0019】図4は、図2のブロックの例に対するデー
タ構造をテキスト的に表現した図である。データ構造の
各フィールドは、メモリの1バイトに格納される。Nフ
ィールド30は、ブロックで検出された別個の色の数を
示す。N=6である本例の場合、色の数は6個である。
マスク値フィールド32は類似した色の組を比較する場
合に使用される。マスク値フィールドについて後で詳し
く説明する。R1、G1、B1及びA1バイト34は、
第1の色に対するR値、G値、B値及びA値を保持す
る。損失のない圧縮の場合、R値、G値、B値及びA値
は、元のブロックと同様に4バイトに格納される。損失
のある圧縮の場合、各成分は4ビットで格納される。そ
の場合、R値、G値、B値及びA値は2バイトに格納さ
れる。グループ1フィールド36は、ブロックの行に第
1の色が在るか否かを示すビットを含む。上記の如く、
第1の色は行0、5及び6で検出される。従って、グル
ープ1フィールド36のグループフラグの組は、値{10
000110}を有する第1の色に対し作成される。最下位ビ
ットはブロックの一番下の行を表す。第1の色は3本の
行で見つけられるので、3個の別の2値フラグの組が第
1の色が見つけられた上記3本の行のコラムを表わすた
め必要とされる。従って、データ構造は、行10のフィ
ールド38と、行15のフィールド40と、行16のフ
ィールド42の3組の行フラグの組を含む。フィールド
名の数字は、グループ番号及び行番号を示す。例えば、
行10はグループ番号1と行番号0を表し、行15はグ
ループ番号1と行番号5を表し、行16はグループ番号
1と行番号6を表す。上記の如く、値{01000000}は、
第1の色が第1列で検出され、それ以外の列では検出さ
れないことを表すため生成される。この値は行10のフ
ィールド38に格納される。同様に、値{10111111}
は、第1の色が第5行の第0、2乃至7行に存在するこ
とを表すため生成され、行15のフィールド40に格納
される。値{00111100}は、第1の色が第6行の第2乃
至5列に在ることを示すため生成され、行16のフィー
ルド42に格納される。
【0020】本例において、第4の色は、R2、G2、
B2、A2の組合せフィールド44にマップされる。第
4の色は、第0、1、3及び4行で検出されるので、グ
ループ2のフィールド46には値{11011000}が与えら
れる。この色は4本の行で検出されるので、4組のライ
ンフラグの組は、行20、行21、行23及び行24で
ある。これらのフィールドには、夫々、値{0000111
1}、{10101011}、{00000100}及び{00000111}が
与えられる。第2の色は、R3、G3、B3、A3の組
合せフィールド48にマップされる。第2の色は、第3
乃至6行で検出されるので、グループ3のフィールド5
0には値{00011110}が与えられる。この色は4本の行
で検出されるので、4組のラインフラグの組は、行3
3、行34、行35及び行36である。これらのフィー
ルドには、夫々、値{10000010}、{11111000}、{01
000000}及び{11000000}が与えられる。第5の色は、
R4、G4、B4、A4の組合せフィールド52にマッ
プされる。第5の色は、第3行で検出されるので、グル
ープ4のフィールド54には値{00010000}が与えられ
る。この色は1本の行だけで検出されるので、1組のラ
インフラグの組は、行43である。このフィールドに
は、第5の色が第3行の第1乃至4列で検出されたこと
を反映させるため、値{01111001}が与えられる。第6
の色は、R5、G5、B5、A5の組合せフィールド5
6にマップされる。第6の色は、第7行で検出されるの
で、グループ5のフィールド58には値{00000001}が
与えられる。第6の色は1本の行だけで検出されるの
で、1組のラインフラグの組は、行57である。このフ
ィールドには、第6の色が第7行の第0乃至6列で検出
されたことを反映させるため、値{11111110}が与えら
れる。
【0021】第3の色は、R6、G6、B6、A6の組
合せフィールド60にマップされる。しかし、第3の色
にはグループフラグの組又は行フラグの組が付随しな
い。ブロック中の第3の色の位置を記述する情報は逆圧
縮処理中に再生され得る。これらの位置は、全ての他の
色が処理された後に残されたブロックの画素である。従
って、第3の色を有するがその指定は不必要である。
【0022】図5は、図4に示されたデータ構造がコン
ピュータメモリに記憶された場合の一例である。本例で
は損失のある圧縮を使用し、R、G、B及びAの値は、
全部でバイトに格納される。この例の場合、ブロックを
表す圧縮されたデータを格納するため必要とされるバイ
トの総数は32である。圧縮されていないブロックは2
56バイトを必要とするので、本発明の動作によってサ
ンプルブロックに対し8:1の圧縮率が得られる。
【0023】図6は、本発明による圧縮されたブロック
を格納する一般化されたデータ構造を示す図である。圧
縮されたブロックの(バイト単位)サイズ62は、マス
ク値4と共に格納される。ブロックの各色に対し、R、
G、B及びAの値66が格納され、グループフラグの組
68が生成される。現在の色を有する各行毎に、行内の
現在の色の位置を記憶するため行フラグの組70が生成
される。このデータ構造は、ビットマップイメージの全
ブロックに対し繰り返される。
【0024】圧縮中に画像データのブロックに対するデ
ータ構造を構築する本発明の方法は、二つの例外処理が
ある。ブロックが一つの色しか含まない場合、1個のR
GBAの色グループしかなく、データ構造のフォーマッ
トは、{N=4,マスク値,RG,BA}である。従っ
て、ブロックは損失のある圧縮の場合、4バイトだけで
表され、損失のない圧縮の場合、6バイトで表される。
64通りのRGBA色グループが存在する場合、即ち、
各画素が異なる色である場合、フォーマットは、 {N=130,マスク値,R1G1,B1A1,R2G
2,B2A2,R3G3,B3A3,...R64G6
4,B64A64} である。しかし、実際上、8×8形のブロックの各画素
の色が異なる可能性は殆ど無い。
【0025】図4を参照するに、マスク値のフィールド
32は、ブロックの2個の画素を比較する際に使用され
るマスクビットの数を保持する。マスク値は、圧縮され
ていないブロックの圧縮中に使用され、圧縮されたブロ
ックの逆圧縮中に使用するため逆圧縮機能に伝えられ
る。本発明の好ましい実施例において、マスク値のデフ
ォルト値は16D、又は、00010000Bである。
これは、色を比較する際にR、G、B及びAの各値の最
下位4ビットがマスクされることを意味する。即ち、
R、G、B及びAの各値の最上位4ビットだけが各画素
毎に比較される。これにより、類似しているが一致しな
い2個の色が得られ、これらの2個の色は圧縮目的のた
めには同じ色であるとみなされる。マスク値は、圧縮ア
ルゴリズムのユーザによる設定が行える変数である。形
式的に言うと、2個のRGBA四つ組であるRpGpB
pAp及びRqGqBqAqは、 Rp div マスク値=Rq div マスク値
(Rpのマスク値による除算の商=Rqのマスク値によ
る除算の商) Gp div マスク値=Gq div マスク値 Bp div マスク値=Gq div マスク値 及
び Ap div マスク値=Aq div マスク値 である場合に、色に関して一致しているとみなされる。
マスク値が零に設定されたとき、マスキングは行われな
い。これは損失のない圧縮であり、元の情報を全て含む
ので、逆圧縮された画像は最良の品質を有する。しか
し、この場合、得られる圧縮率は低い。マスク値が10
進の16に設定された場合、逆圧縮された画像の品質は
マスク値が零の時ほど良好ではないが、圧縮率は改善さ
れる。本発明のデフォルト値で、殆どのユーザは、圧縮
及び逆圧縮動作が行われた後、画質の劣化を検出できな
い。ユーザは、圧縮率対画質に関するユーザの好みに基
づいてマスク値を選択することができる。マスク値が小
さいほど、圧縮目的のため同じ色であるとみなされる別
個の色は少なくなり、圧縮率が低下し、マスク値が大き
くなると共に、圧縮目的のため同じ色であるとみなされ
る別個の色が増加し、圧縮率は上昇する。
【0026】図7及び8は、本発明による画像データの
圧縮方法の上位レベルのフローチャートである。圧縮ス
タートステップ100の後、この圧縮動作のマスク値が
ステップ102で得られる。マスク値は、所望の圧縮率
と結果として得られる逆圧縮された画像の品質とに基づ
いて本圧縮方法のユーザによって設定され得る。或い
は、マスク値は16Dのようなデフォルト値にプリセッ
トしてもよい。マスク値は圧縮されるべき画像の全ての
ブロックに対し同一でもよく、又は、新しいマスク値が
各ブロックに対し指定されてもよい。画像データの圧縮
されていない8画素×8画素形ブロックは、圧縮処理の
ためステップ104で取得される。典型的に、画像デー
タはコンピュータシステムのファイルに格納され、ファ
イルが開かれ、画像データの最初のブロックがファイル
から読み出される。
【0027】ステップ106において、圧縮されていな
いブロックの64画素は、マスク値に従って、(図2に
示されたテーブルの例と類似した)全ての別個の色の色
序数テーブルを作成するため走査される。ブロックに存
在する色は識別され、各画素は画素に在る色の序数が割
り当てられる。2個の画素は画素のRGBA値の差がマ
スク値よりも小さい場合、同じ色であるとみなされる。
ブロックの色序数テーブルが作成された後、色序数テー
ブルからの第1の色がステップ108で選択される。こ
の色は、ブロックに関する圧縮された画像データを保持
するデータ構造を作成する際に、最初に処理されるべき
色である。次に、ステップ110において、処理されて
いる現在の色に関するRGBA値が画像データの圧縮さ
れていないブロックから抽出され、指定されてたマスク
値に従って圧縮されたブロックデータ構造に格納され
る。圧縮されたブロックデータ構造は図6に示されてい
る。色序数テーブルは、現在の色を有する圧縮されてい
ないブロック中の行を示すグループフラグの組を作成す
るため、ステップ112で走査される。ブロック中に8
本の行が在るので、8個の2値フラグの組はブロックの
行における現在の色の有無を示すために足りる。グルー
プフラグの組は8ビットのバイトで格納してもよい。グ
ループフラグの組は圧縮されたブロックに格納される。
ステップ114において、色序数テーブルは、現在のグ
ループフラグの組でフラグを立てられた各行に対し現在
の色を有する列を示す1組以上の行フラグの組を作成す
るため処理される。即ち、関連したビットがグループフ
ラグの組にセットされたブロックの各行に対し、ライン
フラグの組が生成される。ブロックには8本の列がある
ので、8個の2進フラグの組は、選択された行の列にお
ける現在の色の有無を充分に示すことができる。行フラ
グの組は8ビットのバイトで格納される。グループフラ
グの組にセットされたビットに対応する全ての行フラグ
の組は、圧縮されたブロックに格納される。圧縮処理は
結合子8Aを経由して図8へ続く。
【0028】図8のテストステップ116において、処
理すべき色が色序数テーブルに残されている場合、YE
S側パス118が選ばれ、結合子7Bを経由して図7の
ステップ108に進む。ステップ108では、処理され
るべき次の色が色序数テーブルの色から選択され、その
色が上記の通り処理される。ステップ116において、
処理されるべき色が色序数テーブルに残されていない場
合、NO側パス120が選ばれ、ステップ122に進
む。
【0029】本発明の最適化の特徴として、画像データ
の元のブロックに最も頻繁に出現する色は、圧縮された
ブロックの最後の色として表現され、グループフラグの
組と行フラグの組は省略される。逆圧縮処理中に、この
色は、他のグループフラグの組及び行フラグの組によっ
て参照されない全ての画素に配置されているとみなされ
る。従って、最大の色グループのRGBA値は、ステッ
プ122において、圧縮されたブロックの端に移され、
圧縮されたブロックの他のバイトはブロックを詰め、必
要に応じて、最大色グループによって残された記憶場所
の隙間を埋めるべく移される。ステップ124におい
て、ブロックの処理中に使用された圧縮されたブロック
のサイズ及びマスク値が圧縮されたブロックに格納され
る。圧縮されたブロックは、次に、ステップ126で出
力される。典型的に、この出力動作は、圧縮された画像
データを格納するため圧縮されたブロックのファイルへ
の書き込みを必然的に伴う。ステップ128において、
処理されるべき画像データのブロックが未だ有るなら
ば、YES側パス130が選ばれ、結合子7Aを経由し
て図7のステップ104に進む。ステップ104におい
て、画像データの次の圧縮されていないブロックが圧縮
処理のため取得される。さもなければ、NO側パス13
2が選ばれ、エンドステップ134に進み、この画像デ
ータに対する圧縮処理が終了する。
【0030】以下の表1のリストには、本発明により画
像データのブロックを圧縮する疑似コードが記載されて
いる。本発明の圧縮アルゴリズムのC言語による実装は
添付リストAとして添付されている。 −−−−−−−−−−−−−−−− 表1 −−−−−−−−−−−−−−−− 著作権 1997 富士通マイクロエレクトロニクス インコーポレーティッド 色序数テーブルデータ構造を作成 圧縮されたブロックデータ構造を作成 マスク値を設定 色序数テーブルを初期化 圧縮されたブロックを初期化 異なる色の数を0に設定 現在マークされた色序数テーブル要素の数を0に設定 開始: iに関して0から63までループ //色序数テーブル構築 もし i番目の色序数テーブルが0であるならば 異なる色の数をインクリメント 現在の画素に対する入力データからのRGBA値をcに格納 kに関してiから63までループ もし k番目の色序数テーブルが0であるならば もし cのマスク値による除算の商が入力データのk番目 の画素のRGBA値のマスク値による除算の商と一 致するならば カラー序数テーブル[k] を異なる色の数に設定 現在マークされた色序数テーブル要素の数をインク リメント もしステートメントの終わり もしステートメントの終わり kに関するループの終わり 「続き」へ進む もしステートメントの終わり iに関するループの終わり 続き: もし 現在マークされた色序数テーブル要素の数が64未満ならば 開始に戻る //未だ終了しない もしステートメントの終わり iに関して1から異なる色の数までループ //色を処理 新しい行フラグを真に設定 既にオンにされている現在の色フラグを偽に設定 jに関して0から63までループ //色序数テーブルを処理 もし 新しい行が真ならば 行フラグインデックスを最も左側ビットに設定 新しい行を偽に設定 もしステートメントの終わり もし j番目の色序数テーブルが1であるならば もし 既にオンされている現在の色フラグが偽ならば 現在の画素に対するRGBA値を取得し圧縮されたブ ロックに格納 グループフラグのインデックスを圧縮されたブロック に設定 既にオンされている現在の色フラグを真に設定 圧縮されたブロックのRGBAグループの行フラグの 第1の組のインデックスを設定 もしステートメントの終わり もしステートメントの終わり 行フラグインデックスを右に1ビットシフト もし 行フラグインデックスが0ならば グループフラグのインデックスをインクリメント 行フラグインデックスを最も左側の位置にセット もしステートメントの終わり もしステートメントの終わり もし 圧縮されたブロックの長さが最大長さよりも大きいならば 非常に長いブロックを真にセット 「ファイナル」へ進む もしステートメントの終わり もしステートメントの終わり 最大の色グループのRGBA値を圧縮されたブロックの端に移動 ファイナル: もし 非常に長いブロックが真ならば 全ての色のRGBA値を圧縮されたブロックに詰める もしステートメントの終わり 圧縮されたブロックのサイズを圧縮されたブロックに格納 マスク値を圧縮されたブロックに格納 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 図9及び10は、本発明による先に圧縮された画像デー
タを逆圧縮する方法の上位レベルのフローチャートであ
る。逆圧縮ステップは、圧縮された画像の表示が求めら
れる際に行われる。逆圧縮スタートステップ150の後
に、画像データの圧縮されたブロックは、ステップ15
2で逆圧縮処理のため取得される。典型的に、圧縮され
たブロックはコンピュータシステム上のファイルに格納
され、ファイルが開かれ、画像データの最初に圧縮され
たブロックがファイルから読み出される。圧縮されたブ
ロックのサイズ及びマスク値は、ステップ154で圧縮
されたブロックの最初の二つの記憶場所から取り出され
る。ステップ156で、圧縮されたブロックの最後のR
GBA値が取り出され、逆圧縮処理によって出力される
べき圧縮されていないブロックの全ての場所に書き込ま
れる。圧縮されていないブロックの選択された場所への
後続の書き込みはデフォルト色を上書きするが、この色
はブロックで最も頻繁に使用される色であるため、記憶
容量及び逆圧縮処理時間はこのステップによって節約さ
れる。ステップ158において、圧縮されたブロックの
第1の色が選択される。この色に対するRGBA値は、
ステップ160においてマスク値を用いて圧縮されたブ
ロックから取り出される。次に、ステップ162におい
て、この色に対するグループフラグの組は圧縮されたブ
ロックから取り出される。この色がブロックの対応する
行で検出されることを示すグループフラグの組のあるビ
ットがセットされているならば、この色に関する行フラ
グの組は、ステップ164で圧縮されたブロックから取
り出される。この色の処理は結合子10Aを経由して図
10のステップ166に進む。
【0031】ステップ166において、RGBA値はビ
ットがセットされた行フラグの組の全ての列に関するグ
ループフラグと行フラグの組合せによって示される選択
された場所で圧縮されていないブロックに書き込まれ
る。行フラグの各組は、ブロックの現在の行の列に現在
の色が存在することを示す。列ビットが特定の行に関し
てセットされているならば、RGBA値は圧縮されてい
ないブロックの選択された画素に対する場所に書き込ま
れる。次に、ステップ168において、他の行フラグの
組が現在の色グループに対し存在するならば、YES側
のパス170が選ばれ、この色に関する次の行フラグの
組を得るため結合子9Cを経由して図9のステップ16
4に進む。さもなければ、NO側のパス172が選ば
れ、テストステップ174に進む。ステップ174にお
いて、現在のブロックに対し、未だ処理されるべき色が
残されているならば、YES側のパス176が選ばれ、
次の色を選択するため結合子9Bを介して図9のステッ
プ158に戻る。さもなければ、NO側のパス178が
選ばれ、テストステップ180に進む。テストステップ
180において、この圧縮された画像に関して処理すべ
きブロックが未だ有るならば、YES側のパス182が
選ばれ、処理すべき次の圧縮されたブロックを得るため
結合子9Aを経由して図9のステップ152に戻る。画
像の全ブロックが処理された場合、NO側のパス184
が選ばれ、エンドステップ186に進み、逆圧縮処理が
終了する。
【0032】以下の表2のリストには、本発明による画
像データの先に圧縮されたブロックを逆圧縮する方法の
疑似コードが記載されている。本発明の逆圧縮アルゴリ
ズムのC言語による実装は添付リストBに開示されてい
る。 −−−−−−−−−−−−−−−− 表2 −−−−−−−−−−−−−−−− 著作権 1997 富士通マイクロエレクトロニクス インコーポレーティッド 圧縮されたブロックの寸法を取得 マスク値を取得 もし 圧縮されたブロックのサイズが130であるならば マスク値を用いて64組のRGBA値を取り出し RGBA値を出力された圧縮されていないブロックに格納 圧縮されたブロックのサイズを返し、戻る もしステートメントの終わり マスク値を用いて圧縮されたブロックから最後のRGBA値を取り出し 最後のRGBA値を圧縮されていないブロックの全ての場所に格納 もし 圧縮されたブロックのサイズが4であるならば 圧縮されたブロックのサイズを返し、戻る もしステートメントの終わり 開始: インデックスを圧縮されたブロック中に初期化 もし インデックスがブロックの端であるならば ファイナルへ進む もしステートメントの終わり 圧縮されたブロックから最初のRGBA値を取り出し 圧縮されたブロックからグループフラグの組を取り出し グループフラグのビットインデックスを最も左側のビットにセット 続き: グループフラグのビットインデックスにより示された行フラグビットを取り出し もし 行フラグがセットされているならば //現在の行がこの色を有する// 行フラグの組を取り出し 行フラグのビットインデックスを最も左側のビットにセット jに関して1から7までループ //列の左から右へ// もし 列フラグがセットされているならば //現在の列がこの色 //を有する RGBA値を圧縮されていないブロックに格納 もしステートメントの終わり 行フラグのビットインデックスを右に1ビットシフト 圧縮されていないブロックへの出力書き込み用のインデックスをイ ンクリメント ループの終わり さもなければ 次の行へ飛び越し もしステートメントの終わり グループフラグのビットインデックスを右に1ビットシフト もし グループフラグインデックスが0であるならば 開始へ戻る //現在の色を処理済み さもなければ 続くへ戻る //同じ色を処理し続ける ファイナル: 圧縮されたブロックのサイズを返し、戻る −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
【0033】
【実施例】本発明は、10進16のデフォルトマスク値
を用いて(各R、G、B、A値の4ビットがマスクされ
た)数種類のサンプルビットマップイメージに適用され
る。かくして、損失のある圧縮は検査され、マスク値は
画質の劣化が目立たないようにセットされる。最初に、
サンプル画像が圧縮され、次に、画像の圧縮された表現
が逆圧縮される。サンプル画像は640画素×480画
素のサイズであり、32ビットで各画素が表される。圧
縮/逆圧縮動作はパーソナルコンピュータによる実行中
に計測された。比較の目的のため、圧縮及び逆圧縮動作
はJPEG標準の実装を用いて同一画像上で行われた。
以下に示す正確なタイミング値は、上記アルゴリズムが
異なるコンピュータシステム上で実現された場合には変
化するが、重要な統計量は、本発明の結果とJPEG標
準の結果との間の相対的な差である。以下の表3には、
圧縮及び逆圧縮動作の結果が示されている。Rは得られ
た圧縮率であり、Tは圧縮及び逆圧縮に関する秒単位の
消費時間である。
【0034】 表3 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 1.ビットマップ4 本発明 R=5.95 T=0.24 JPEG R=5.04 T=18.50 2.ビットマップ5 本発明 R=7.28 T=0.23 JPEG R=5.45 T=18.00 3.ビットマップ6 本発明 R=4.91 T=0.20 JPEG R=4.66 T=18.50 4.ビットマップ8 本発明 R=6.82 T=0.25 JPEG R=5.41 T=18.10 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 上記の試験結果によると、本発明の圧縮比は、著しくは
ないがJPEG標準の圧縮比よりも優れている。しか
し、画像を圧縮及び逆圧縮するため必要な総時間は、本
発明を用いる場合にJPEG標準を用いる場合よりも著
しく短縮される。本発明を用いる場合の処理時間は、各
画像に対しJPEG標準を用いる場合の処理時間の約
1.3%である。
【0035】以下、本発明のソフトウェア実装について
説明する。図11はコンピュータシステム上に実現され
た本発明のソフトウェアによる実施例を示す図である。
圧縮されていない画像180はコンピュータシステム1
84に連結された記憶装置182に格納される。コンピ
ュータシステム184は、非圧縮画像180を読み込
み、その画像を圧縮するため本発明による圧縮機能18
6を実行する。圧縮動作の結果は更なる用途のため記憶
装置182の圧縮画像188に格納される。次に、同じ
コンピュータシステム184、又は、(図示しない)異
なるコンピュータシステムは、圧縮画像を読み込み、そ
の画像を逆圧縮するため、本発明による逆圧縮機能19
0を実行する。逆圧縮画像はコンピュータシステムのユ
ーザに提示するため表示装置192に送られる。
【0036】上記圧縮及び逆圧縮方法は、汎用コンピュ
ータで動作するソフトウェアに実装してもよいが、本発
明の好ましい実施例は、本発明の方法を用いて利用可能
な固有の並列性の利点を生かすマルチプロセッサハード
ウェア実装である。圧縮及び逆圧縮はどちらも重要では
あるが、実際上、画像は典型的に1回だけ圧縮され、何
回も逆圧縮される。従って、逆圧縮の速度が非常に重要
である。逆圧縮ステップがマルチプロセス装置上に並列
に実現され得るならば、全体的な逆圧縮時間は劇的に短
縮され得る。以下の表4のリストには、逆圧縮処理が疑
似コードで一般的に記載されている。 −−−−−−−−−−−−−−−− 表4 −−−−−−−−−−−−−−−− 著作権 1997 富士通マイクロエレクトロニクス インコーポレーティッド 圧縮ビットマップの全てのブロックに関してループ N個(m = 1, 2, ... N)の全色グループに関してループ 色mが出現する全行に関してループ 色mが出現する行内の全列に関してループ 色mに対するRGBA四つ組を非圧縮画像の現在の位 置に書き込み ループの終わり ループの終わり ループの終わり ループの終わり −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 表4の疑似コードに基づいて、3通りの各内部ループに
対し一つずつの3通りのレベルのRGBA四つ組書き込
み動作を逆圧縮処理中に同時に行うことが可能である。
各RGBA四つ組書き込み動作は、全ての他の書き込み
動作とは独立しているので、圧縮されたデータ表現から
元のビットマップイメージを再生するため多重処理装置
を並列に使用することが可能である。例えば、画像デー
タのブロックに8色が存在する場合、異なる色を処理す
る8台のプロセッサが各プロセッサに割り当てられた色
に関するRGBA四つ組を書き込むため並列に動作し得
る。かかるシステムは、マルチメディアパーソナルコン
ピュータアプリケーションの逆圧縮速度を増大する。
【0037】好ましいハードウェア実装において、逆圧
縮装置は32ビット幅のデータパスを備えたM×N形の
分配器によって実現される。図12には、逆圧縮のため
使用されるM*N形の分配器が示されている。分配器へ
の入力ライン数(M)は8にセットされ、出力ライン数
(N)は64にセットされる。出力ラインは(図示しな
い)連続したメモリ要素に接続される。入力ライン数M
は実際の画像の色グループ数と一致すべきである。しか
し、入力ライン数Mを8にセットし、画像中の色グルー
プ数が8よりも大きい場合、色グループの組の全体は、
8個の色グループの細分に分割され、その細分は順番に
処理され得る。この処理レベルは並列化を使用しない。
【0038】現在の色グループのあらゆる細分に対し、
分配器はマトリクス中の要素の値に応じてM本の入力か
らN本の入力にデータを送る。1台の分配器が色グルー
プの細分毎に使用される。マトリクスはグループフラグ
の組及び行フラグの組によって与えられた情報を用いて
形成される。入力iに対応するマトリクス: A={aij}, 1<=i<=8, 1<=j<=64 の第1行は以下の通り設定される。
【0039】 P=1 かつ Q=1 であるならば aij=1 さもなければ aij=0 但し、Pは、m=(int)(j/8)であるとき、グ
ループフラグの組のビットmの値であり、Qは、n=j
%8であるとき、色グループiに対応するmに対する行
フラグの組のビットnの値である。
【0040】図13は逆圧縮回路のブロック図である。
圧縮データ200はローカルメモリ202に格納され
る。ローカルメモリはM本の入力ラインを介して圧縮デ
ータを少なくとも1台のM×N形分配器204に伝達す
る。分配器204の入力/出力マトリクスはデータに関
するシフト演算によって形成される。加算又は乗算演算
は必要とされず、浮動小数点数値は処理されない。M×
N形分配器204は全てのデータをM本の入力から関連
したN本の出力に送り、高速64×32形ローカルメモ
リ206に転送する。非圧縮データ208は、非圧縮画
像のコンピュータモニタへの表示のような更なる処理の
ため高速64×32ローカルメモリから読み出される。
【0041】上記の通り、本発明は現在考量し得るベス
トモードに関して説明されているが、本発明に、当業者
の能力の範囲内で、かつ、別の新たな発明を行うことな
く種々の変形、動作モード及び実施例が許されることは
明らかである。従って、特許請求の範囲に記載された技
術範囲が保護されることを意図している。以下、添付リ
ストA及び添付リストBは、夫々、本発明の圧縮アルゴ
リズム及び逆圧縮アルゴリズムのC言語による実装例で
ある。上記疑似コードのリスト及び以下の添付リスト
は、著作権の保護を受けている。
【0042】図14乃至16は、画像データのブロック
を圧縮するアルゴリズムのC言語による実装例のリスト
である。図17は、予め圧縮された画像データのブロッ
クを逆圧縮するアルゴリズムのC言語による実装例のリ
ストである。
【図面の簡単な説明】
【図1】従来技術によるカラーグラフィックス画像と、
関連した記憶表現とを示す図である。
【図2】本発明よる序数として表されたRGBA四つ組
を用いた8×8形ブロックの例を示す図である。
【図3】序数のRGBA四つ組へのマッピングを示す図
である。
【図4】図2のブロックの例に対するデータ構造をテキ
ストで表現した図である。
【図5】コンピュータメモリに記憶された図4のデータ
構造の例を示す図である。
【図6】本発明による圧縮されたブロックを記憶する一
般化されたデータ構造を示す図である。
【図7】本発明による画像データ圧縮方法の上位レベル
フローチャートである。
【図8】本発明による画像データ圧縮方法の上位レベル
フローチャートである。
【図9】本発明による先に圧縮された画像データの逆圧
縮方法の上位レベルフローチャートである。
【図10】本発明による先に圧縮された画像データの逆
圧縮方法の上位レベルフローチャートである。
【図11】本発明のソフトウェアによる実施例を示す図
である。
【図12】逆圧縮のため使用されるM*N分配器を示す
図である。
【図13】逆圧縮回路のブロック図である。
【図14】画像データのブロックを圧縮するアルゴリズ
ムのC言語による実装例のリストである。
【図15】画像データのブロックを圧縮するアルゴリズ
ムのC言語による実装例のリストである。
【図16】画像データのブロックを圧縮するアルゴリズ
ムのC言語による実装例のリストである。
【図17】予め圧縮された画像データのブロックを逆圧
縮するアルゴリズムのC言語による実装例のリストであ
る。

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 各画素は赤色値、緑色値、青色値及び強
    度値によって表された色を有し、各列は上記画素を含
    み、各行に複数の上記列が含まれている複数の行からな
    るグラフィックス画像データを処理する方法において、 グラフィックス画像データの圧縮されたブロックからグ
    ラフィックス画像データの圧縮されていないブロックを
    作成する段階、並びに、 グラフィックス画像データの圧縮されていないブロック
    からグラフィックス画像データの圧縮されたブロックを
    形成する段階の中の少なくとも一方の段階を行なう段階
    からなり、 上記データは、赤色値、緑色値、青色値及び強度値を有
    する複数の別個の色組合せと、別個の色組合せ毎に上記
    圧縮されていないブロックの行での別個の色組合わせの
    有無を表すグループフラグの組と、別個の色組合せを有
    する上記圧縮されていないブロックの行毎に上記圧縮さ
    れていないブロックの列での別個の色組合せの有無を表
    す少なくとも1組の行フラグの組とにより構成されてい
    ることを特徴とする方法。
  2. 【請求項2】 上記グラフィックス画像データの圧縮さ
    れたブロックを形成する段階は、 (A)上記ブロックの画素に在る全ての色を識別するこ
    とにより、上記ブロック内の各画素毎に1画素の色に対
    応し、一つの色を表す1個の色序数を含む色序数の配列
    を作成する段階と、 (B)選択された一つの色に対する上記赤色値、緑色
    値、青色値及び強度値を上記圧縮されたブロックに格納
    する段階と、 (C)上記色序数の配列に従って選択された色の画素を
    有するブロック内の行を示す第1のフラグの組を作成す
    る段階と、 (D)上記第1のフラグの組を上記圧縮されたブロック
    に格納する段階と、 (E)上記選択された色の画素を有する各行を1組で表
    現する第2のフラグの組であって、上記色序数の配列に
    従って選択された色の画素を有するブロックの行内で選
    択された色の画素を有する列を示す少なくとも1組の第
    2のフラグの組を作成する段階と、 (F)上記少なくとも1組の第2のフラグの組を上記圧
    縮されたブロックに格納する段階と、 (G)ブロックの全ての色に対し上記段階(B)乃至
    (F)を繰り返す段階とからなる請求項1記載の方法。
  3. 【請求項3】 上記圧縮されたブロックのサイズを上記
    圧縮されたブロックに格納する段階を更に有する請求項
    2記載の方法。
  4. 【請求項4】 上記ブロックは、1行毎に8列を含む8
    行により構成されている請求項2記載の方法。
  5. 【請求項5】 マスク値を取得する段階を更に有し、 上記色序数の配列を作成する段階において、上記マスク
    値に従って上記ブロックの画素に存在する全ての色が識
    別される請求項2記載の方法。
  6. 【請求項6】 上記マスク値を上記圧縮されたブロック
    に格納する段階をっさらに有する請求項5記載の方法。
  7. 【請求項7】 第1の赤色値、第1の緑色値、第1の青
    色値及び第1の強度値を有する第1の色と、第2の赤色
    値、第2の緑色値、第2の青色値及び第2の強度値を有
    する第2の色は、上記第1の赤色値の上記マスク値によ
    る除算の商が上記第2の赤色値の上記マスク値による除
    算の商と一致しない場合、上記第1の緑色値の上記マス
    ク値による除算の商が上記第2の緑色値の上記マスク値
    による除算の商と一致しない場合、上記第1の青色値の
    上記マスク値による除算の商が上記第2の青色値の上記
    マスク値による除算の商と一致しない場合、並びに、上
    記第1の強度値の上記マスク値による除算の商が上記第
    2の強度値の上記マスク値による除算の商と一致しない
    場合に別個の色である請求項6記載の方法。
  8. 【請求項8】 上記ブロックの画素に最も頻繁に出現す
    る色の赤色値、緑色値、青色値及び強度値を上記圧縮さ
    れたブロックの端に移す段階を更に有する請求項2記載
    の方法。
  9. 【請求項9】 コンピュータシステムにおいて、請求項
    1記載の方法を実施する装置。
  10. 【請求項10】 上記グラフィックス画像データの圧縮
    されていないブロックを作成する段階は、 (a)上記圧縮されたブロックから選択された色に関す
    る上記赤色値、緑色値、青色値及び強度値を得る段階
    と、 (b)上記圧縮されたブロックから選択された色に関す
    る上記グループフラグの組を得る段階と、 (c)上記圧縮されたブロックの少なくとも1行での選
    択された色の有無を示す上記グループフラグの組の中で
    選択されたグループフラグに対応する行フラグの組を得
    る段階と、 (d)上記圧縮されていないブロックの上記選択された
    グループフラグにより示されるような選択された色を有
    する行に関する行フラグの組によって示されるような選
    択された色を有する列によって指定された選択された場
    所に、上記赤色値、緑色値、青色値及び強度値を書き込
    む段階と、 (e)上記圧縮されたブロックの少なくとも1行での選
    択された色の有無を示す上記グループフラグの組の各グ
    ループフラグに対し上記段階(c)及び(d)を繰り返
    す段階と、 (f)上記圧縮されたブロックの全ての別個の色組合せ
    に対し上記段階(a)乃至(e)を繰り返す段階とから
    なる。
  11. 【請求項11】 上記圧縮されたブロックから最後の色
    に関する上記赤色値、緑色値、青色値及び強度値を得る
    段階と、 上記圧縮されていないブロックの全ての画素に対し、上
    記最後の色に関する上記赤色値、緑色値、青色値及び強
    度値を上記圧縮されていないブロックに書き込む段階と
    を更に有する請求項10記載の方法。
  12. 【請求項12】 上記圧縮されたブロックはマスク値を
    含み、 上記マスク値を上記圧縮されたブロックから得る段階
    と、 上記マスク値に従って上記赤色値、緑色値、青色値及び
    強度値を変更する段階とを更に有する請求項10記載の
    方法。
  13. 【請求項13】 第1の赤色値、第1の緑色値、第1の
    青色値及び第1の強度値を有する第1の色と、第2の赤
    色値、第2の緑色値、第2の青色値及び第2の強度値を
    有する第2の色は、上記第1の赤色値の上記マスク値に
    よる除算の商が上記第2の赤色値の上記マスク値による
    除算の商と一致しない場合、上記第1の緑色値の上記マ
    スク値による除算の商が上記第2の緑色値の上記マスク
    値による除算の商と一致しない場合、上記第1の青色値
    の上記マスク値による除算の商が上記第2の青色値の上
    記マスク値による除算の商と一致しない場合、並びに、
    上記第1の強度値の上記マスク値による除算の商が上記
    第2の強度値の上記マスク値による除算の商と一致しな
    い場合に別個の色である請求項12記載の方法。
  14. 【請求項14】 各画素は赤色値、緑色値、青色値及び
    強度値によって表された色を有し、各列は上記画素を含
    み、各行に複数の上記列が含まれている複数の行からな
    るグラフィックス画像データの圧縮されていないブロッ
    クに基づいて、グラフィックス画像データの圧縮された
    ブロックを表現するデータを格納するメモリにおいて、 赤色値、緑色値、青色値及び強度値を有する複数の別個
    の色組合せと、別個の色組合せ毎に上記圧縮されていな
    いブロックの行での別個の色組合わせの有無を表すグル
    ープフラグの組と、別個の色組合せを有する上記圧縮さ
    れていないブロックの行毎に上記圧縮されていないブロ
    ックの列での別個の色組合せの有無を表す少なくとも1
    組の行フラグの組とにより構成されているデータ構造が
    格納されていることを特徴とするメモリ。
  15. 【請求項15】 上記データ構造は上記圧縮されたブロ
    ックに関するマスク値を更に有し、 第1の赤色値、第1の緑色値、第1の青色値及び第1の
    強度値を有する第1の色と、第2の赤色値、第2の緑色
    値、第2の青色値及び第2の強度値を有する第2の色
    は、上記第1の赤色値の上記マスク値による除算の商が
    上記第2の赤色値の上記マスク値による除算の商と一致
    しない場合、上記第1の緑色値の上記マスク値による除
    算の商が上記第2の緑色値の上記マスク値による除算の
    商と一致しない場合、上記第1の青色値の上記マスク値
    による除算の商が上記第2の青色値の上記マスク値によ
    る除算の商と一致しない場合、並びに、上記第1の強度
    値の上記マスク値による除算の商が上記第2の強度値の
    上記マスク値による除算の商と一致しない場合に別個の
    色である請求項14記載のメモリ。
JP12103698A 1997-04-30 1998-04-30 グラフィックス画像の圧縮及び逆圧縮方法 Expired - Fee Related JP4189443B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US846549 1997-04-30
US08/846,549 US6128406A (en) 1997-04-30 1997-04-30 Method of compressing and decompressing graphics images

Publications (2)

Publication Number Publication Date
JPH1196345A true JPH1196345A (ja) 1999-04-09
JP4189443B2 JP4189443B2 (ja) 2008-12-03

Family

ID=25298258

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12103698A Expired - Fee Related JP4189443B2 (ja) 1997-04-30 1998-04-30 グラフィックス画像の圧縮及び逆圧縮方法

Country Status (5)

Country Link
US (1) US6128406A (ja)
EP (1) EP0875858B1 (ja)
JP (1) JP4189443B2 (ja)
KR (1) KR100573527B1 (ja)
DE (1) DE69820148T2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6505256B1 (en) * 1999-01-15 2003-01-07 Compaq Information Technologies Group, L.P. Automatic synchronization of state colors across a web-based system
US7075681B1 (en) * 1999-11-09 2006-07-11 Kodak Graphic Communications Canada Company System and method for reducing the data volume of images
KR100700510B1 (ko) * 2000-01-04 2007-03-28 엘지전자 주식회사 공유 메모리 다중 프로세서 시스템 및 이를 위한 디렉토리압축방법
US7184087B2 (en) * 2001-05-22 2007-02-27 Fuji Photo Film Co., Ltd. On-screen device for subject of interest in portable electronic device, and method of controlling same
US7062088B1 (en) * 2001-08-28 2006-06-13 Adobe Systems Incorporated Variable lossy compression
US20030074364A1 (en) * 2001-10-12 2003-04-17 Sewall Patrick M. Compressed data structure and decompression system
US7397962B2 (en) * 2001-10-25 2008-07-08 Infoprint Solutions Company, Llc Automatic method of identifying image subregions for reuse during datastream transmission
KR100495001B1 (ko) * 2002-12-14 2005-06-14 (주)이엔제이소프트 이미지 압축 부호화 방법 및 시스템
KR100834439B1 (ko) * 2004-05-29 2008-06-04 삼성전자주식회사 그래픽 데이터 압축 및 복원 장치와 그 방법
CN101258526B (zh) * 2005-08-19 2011-05-11 艾利森电话股份有限公司 基于具有修改亮度的两个色调的纹理压缩
US10038902B2 (en) 2009-11-06 2018-07-31 Adobe Systems Incorporated Compression of a collection of images using pattern separation and re-organization
US11469772B2 (en) * 2017-04-11 2022-10-11 Joshua Huang Method, system and program product for mask-based compression of a sparse matrix
CN107295338B (zh) * 2016-04-12 2020-09-04 上海兆芯集成电路有限公司 基于无损联合图像专家小组格式的图像压缩与解压缩方法
US10684993B2 (en) * 2016-06-15 2020-06-16 International Business Machines Corporation Selective compression of unstructured data
JP6907880B2 (ja) * 2017-10-24 2021-07-21 オムロン株式会社 画像処理装置、画像処理システム、画像処理プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5253078A (en) * 1990-03-14 1993-10-12 C-Cube Microsystems, Inc. System for compression and decompression of video data using discrete cosine transform and coding techniques
US5408542A (en) * 1992-05-12 1995-04-18 Apple Computer, Inc. Method and apparatus for real-time lossless compression and decompression of image data
US5424755A (en) * 1992-06-25 1995-06-13 Lucas; Bruce D. Digital signal video color compression method and apparatus
US5585944A (en) * 1994-05-10 1996-12-17 Kaleida Labs, Inc. Method for compressing and decompressing images by subdividing pixel color distributions
US5659631A (en) * 1995-02-21 1997-08-19 Ricoh Company, Ltd. Data compression for indexed color image data
US5673209A (en) * 1995-03-29 1997-09-30 International Business Machines Corporation Apparatus and associated method for compressing and decompressing digital data
KR102168284B1 (ko) * 2019-08-29 2020-10-21 주식회사 두오텍 풍량가이드를 구비한 번인 테스트 장치

Also Published As

Publication number Publication date
EP0875858A2 (en) 1998-11-04
JP4189443B2 (ja) 2008-12-03
DE69820148D1 (de) 2004-01-15
DE69820148T2 (de) 2004-06-09
KR100573527B1 (ko) 2007-07-18
EP0875858B1 (en) 2003-12-03
US6128406A (en) 2000-10-03
KR19980081853A (ko) 1998-11-25
EP0875858A3 (en) 2000-07-19

Similar Documents

Publication Publication Date Title
US12047592B2 (en) Texture decompression techniques
JP2968582B2 (ja) デジタルデータを処理するための方法および装置
US5300949A (en) Scalable digital video decompressor
US7397946B2 (en) Color distribution for texture and image compression
US7657105B2 (en) Alpha image processing
US7636471B2 (en) Image processing
JP4189443B2 (ja) グラフィックス画像の圧縮及び逆圧縮方法
JP4805924B2 (ja) マルチモード画像処理のための方法、システム、及びシステムを具備するユーザ端末
US6091850A (en) Method of compressing and decompressing graphic images
US11568572B2 (en) Texture compression
US7421130B2 (en) Method and apparatus for storing image data using an MCU buffer
US7248744B2 (en) Vector quantization of images
EP0810552B1 (en) Image display device
CA2683841A1 (en) Vector-based image processing
US20110157192A1 (en) Parallel Block Compression With a GPU
US6459433B1 (en) Method and apparatus for compression of a two dimensional video object
CN112118449B (zh) 一种图像压缩与解压缩的方法及装置
CN112991412A (zh) 一种液晶仪表序列帧动画性能优化方法及液晶仪表
JP3770422B2 (ja) 画像生成装置および方法並びにデータ圧縮方法
US5999112A (en) Data compression apparatus and method, data expansion apparatus and method, and recording medium
US20030156651A1 (en) Method for reducing code artifacts in block coded video signals
US7961195B1 (en) Two component texture map compression
US8918440B2 (en) Data decompression with extra precision
US7469068B2 (en) Method and apparatus for dimensionally transforming an image without a line buffer
US7742646B1 (en) Modified high dynamic range color decompression

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050428

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080415

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080515

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080813

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080813

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

Free format text: PAYMENT UNTIL: 20110926

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120926

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120926

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130926

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees