JP2949066B2 - 圧縮方法、伸長方法、並列コンテキストモデラー、並列エントロピーコーダー、並列エントロピーデコーダー、画像圧縮装置及び画像伸長装置 - Google Patents
圧縮方法、伸長方法、並列コンテキストモデラー、並列エントロピーコーダー、並列エントロピーデコーダー、画像圧縮装置及び画像伸長装置Info
- Publication number
- JP2949066B2 JP2949066B2 JP8032525A JP3252596A JP2949066B2 JP 2949066 B2 JP2949066 B2 JP 2949066B2 JP 8032525 A JP8032525 A JP 8032525A JP 3252596 A JP3252596 A JP 3252596A JP 2949066 B2 JP2949066 B2 JP 2949066B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- context
- color
- image
- color plane
- 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
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N11/00—Colour television systems
- H04N11/04—Colour television systems using pulse code modulation
- H04N11/042—Codec means
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/64—Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
- H04N1/644—Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor using a reduced set of representative colours, e.g. each representing a particular range in a colour space
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Color Television Systems (AREA)
- Image Processing (AREA)
- Color Image Communication Systems (AREA)
Description
り、特に、パレット化(palletized)画像データの圧縮
に関する。
994年12月1日受理)が引用により本明細書に組み
込まれる。この米国特許出願は、本出願の譲受人の共有
で、Michael GormishとMartin Boliekの発明 ”Data Co
mpression for PalletizedVideo Images”に関するもの
である(以下、”Gormish/Boliek出願”)。
グレースケール画像又はカラー画像の圧縮を前提にして
いる。連続的階調画像の場合、画素値のわずかな誤差
は、その画素のわずかな色ずれとなる。パレット化され
た(又は”インデックス付けされた”(indexed))画
像は連続的階調画像とは違い、画素値のわずかな誤差に
よって全く異なった色になってしまう。これは、画素の
色値はカラーテーブル(パレット)へのインデックスで
あるためである。印刷産業では、パレット化画像はしば
しば”スポット(spot)カラー”画像と呼ばれる。言うま
でもなく、パレット化画像を高圧縮率で非損失性圧縮す
るという課題は印刷産業の課題でもある。
的な色に関する情報は、カラーテーブルを参照しない
と、その画素の色値によっては全く決定できない。この
ことは欠点と思われるかもしれないが、システムでカラ
ーテーブルだけが異なる2つ以上の画像が用いられる場
合に非常に有益である。例えば、パレット化された画像
の陰画はカラーテーブルの色を反対色に置き換えるだけ
で得ることができる。
化画像は損失性圧縮プロセスによって圧縮することがで
きず、非損失性の圧縮をしなければならないことであ
る。損失性圧縮プロセスは一般に画像圧縮に重宝される
が、それは概して高い圧縮率を難なく得られるからであ
る。パレット化画像は2つの部分、すなわち画素色値の
2次元配列と、画素色値を色に変換するために利用され
るカラーテーブルとからなっているが、カラーテーブル
は画素色値の配列よりずっと少ないメモリしか必要とし
ないので、画素色値配列にだけ圧縮を施し、カラーテー
ブルは圧縮しないで圧縮画像に含めることが多い。
を高圧縮率で効率的に圧縮するための一方法が述べられ
ている。高圧縮率のパレット化画像はゲーム(ビデオゲ
ーム、携帯ゲーム機、コンピュータゲーム等)で使われ
る画像の記憶を要するゲームカートリッジのような多く
の用途で必要とされる。高圧縮率のパレット化画像は、
オンラインサービス及び”情報スーパーハイウエイ”用
にも望ましい。WorldWide Web(WWW)が、インター
ネットに情報を流すためのフォームとしてますます流行
しつつある。WWWが流行する理由の一端は、WWWの
基本単位がHyperText Mark Up Language(HTML)文
書で、テキストと一緒に埋め込みグラフィックスを包含
可能であることによる。これらの文書は、しばしば、パ
レット化された画像を含んでいる。WWWの多くのユー
ザーは、これらの文書にアクセスするために、パーソナ
ルコンピュータを用い一般電話回線によりモデムを介し
てインターネットに接続する。このような構成では、ユ
ーザは14,400ビット/秒又は28,800ビット
/秒のデータ速度に制限される。
ムリーに受け取るため、これらの画像を高圧縮率で圧縮
して伝送できることがWWWの流行の継続のためのキー
である。より高速のモデムが作られつつあるが、さらに
複雑なグラフィックスに対する需要がすでにあるので、
近い将来に圧縮が必要となろう。WWWで利用される多
くの画像は、Ziv-Lempel 圧縮を利用した Graphical In
terchange Format(GIF)ファイルとして蓄積、伝送
される。Ziv-Lempel 圧縮は、画像をインデックス値の
1次元系列として扱い、画像データの2次元性を無視す
る。
目的は、画像データ、特にパレット化画像データのよう
なデータを、高圧縮率で圧縮する装置及び方法、それに
対応した伸長方法及び装置を提供することにある。
色別の圧縮(コーディング)により(2次元画像につい
ては”カラープレーン別コーディング”とも呼ばれ
る)、パレット化画像の圧縮を改良する。非2値画像の
カラープレーンは、非2値画像の各画素色値が該カラー
プレーンの”中”にあるか否かを表すビットに置き換え
られた2値画像である。ある画素が、あるカラープレー
ンの中にあるのは、該画素の色値が該カラープレーンに
割り当てられた色値と等しいときである。本発明によれ
ば、圧縮装置は、第1のカラープレーンをコード化し、
次に第2のカラープレーンをコード化し、引き続き後続
の各カラープレーンをコード化し、最終的に”最後の”
カラープレーンを除き、画素を持つカラープレーン全て
をコード化する。各カラープレーンをコード化する際、
前のカラープレーンの中にある画素は無視される。一つ
の画素は一つのカラープレーンの中にしか存在し得ない
からである。コード化された各カラープレーンは、2進
配列であるため、2進画像コーダーによりコード化でき
る。
は同じ順番でデコードされる。第1のカラープレーンが
デコードされて、どの画素が該第1カラープレーン中に
あるかを表示し、次に第2のカラープレーンがデコード
され、どの画素が該第2カラープレーン中にあるかを表
示する(コード化された第2のカラープレーンはどの画
素が第1のカラープレーン中にあるかは表示しないし、
その必要もない)。コード化カラープレーンが一つを除
きデコードされたならば、伸長装置は残りの画素は最後
の色であると推定する。
ィングには、ビットプレーンコーディング等の他のコー
ディングより多くのパス(pass)が必要である。例え
ば、8ビットのカラー画像はビットプレーンコーディン
グでは8パスでコード化されるが、カラープレーンコー
ディングでは1画素につき最高255パスが必要となろ
う。必要なパス数を最小にするため、カラープレーンは
密度により順序付けされ、最高密度のカラープレーンが
最初にコード化される。ここで密度とは、画像中の総画
素数に対するカラープレーン中の画素の相対密度を意味
する。前述のように、画素は、それがコード化中のカラ
ープレーンにあるか否かの2値表示により表現すること
によってコード化される。最初のカラープレーンがコー
ド化された後は、コード化済みのカラープレーンの色を
持つと判明した画素はコード化されない。最高密度のカ
ラープレーンを最初にコード化することにより、パスの
合計数が減少する。
表され、ベクトルの成分は”サブカラー(subcolor)”プ
レーン毎に別々にコード化される。ここで、各サブカラ
ープレーンは当該サブカラープレーンのための値に等し
いベクトル成分値を持つ全ての画素を含む。このように
して画像を容易に並列的に圧縮することができる。
ーンはコード化画素数がある閾数になるまでコード化さ
れ、その後、残りの画素がビットプレーン別にコード化
される。
向上させるためにコンテキスト情報を利用し、画素のコ
ンテキストを仮定したときに該画素が生起する可能性を
基に、該画素のコード化に用いられるコードを最適化す
る。一般的に、画像において、画素のコンテキストはそ
の近傍画素によって幾分かは決定されるであろう。画像
データが、スプライト、キャラクタ、グラフィカルメニ
ューのような小さな画像が集まったものである場合に
は、近傍画素中にコード化しようとしている画素と無関
係なものがあるかもしれないので、圧縮率をさらに向上
させるためコンテキスト情報は画素の位置情報を含む。
の場合に他のコーディング法の場合より多くのパスを必
要とするので、高速のエントロピーコーダーが用いられ
る。そのような高速コーディングシステムの一つは、
(Allen等に対し発行され本発明の譲受人に譲渡され
た)米国特許第5,272,478号によって教えら
れ、この米国特許は上記圧縮プロセスのためのビットジ
ェネレータとしてB−コーダー、あるいは、ニューヨー
クのIBM社によって開発されたQ−コーダー、又は
(Allen 等に対し発行され本発明の譲受人に譲渡され
た)米国特許第5,381,145号の教える高速2進
エントロピーコーダーを利用することを教える。
並列デコーディングを行うための新規な装置を提供す
る。一実施例では、画像は1コーダー当たり1つの帯
(band)に分割される。各コーダーは互いに独立に動作
する。必要ならば、コーダーがその帯外の画素値を参照
する可能性のある場合に、固定したコンテキスト画素が
代用される。この場合、帯は個々に並列的にデコードさ
れる。
カラープレーン毎に画像全体のコーディングをする。必
要ならば、並列性(parallelism)を損なわないよう、画
像は複数のコーダーより同時にアクセス可能なメモリに
格納される。このような実施例では、コーダーは、画像
を通す速度が遭遇するデータに応じて変動する(低密度
のカラープレーンは高密度のカラープレーンより高速に
処理されることになろう)。同一メモリに対する多重ア
クセスを避けるために必要な場合、あるいは、あるカラ
ープレーンについての画素のコード化にコード化前の画
素からのコンテキストが必要な場合、コーダーは休止さ
せられる。
ダーが画像全体を処理するが、自由に任意速度で動作す
ることはできない。例えば、コーダーは、二つのコーダ
ーが同時に同一画素をアクセスせず、かつ、必要なコン
テキストがコード化されていない画素をどのコーダーも
アクセスしないことを保証する一定のオフセットに又は
制限されたウインドウ内に保持されるかもしれない。
し同様の特性があり、同じように圧縮の必要性がある場
合には、画像とは関係のないデータの圧縮にも本発明を
適用できる。
図面を参照して説明する。添付図面において、図1は画
像のカラープレーンへの分割を示す説明図、図2は本発
明による圧縮装置及び伸長装置のブロック図である。図
3はコンテキストモデルテンプレートの説明図、図4は
コンテキストモデルの説明図である。図5は圧縮装置に
おけるカラープレーンコーディングのための本発明によ
るプロセスのフローチャートである。図6はカラープレ
ーンコーディングのための並列コーダーのブロック図で
ある。図は並列コーディングシステムのブロック図であ
る。図8は図7に示した並列コーディングシステムの詳
細ブロック図であり、コーダーは一つだけ示されてい
る。図9はコーダーの進行が他のコーダーの進行と連携
がとられる並列コーディングシステムのブロック図であ
る。図10は、コーダーが連続した画素を処理し、かつ
通過した画素がコード化されるまで先に進まないように
規制された場合に、図9の並列コーディングシステム内
のコーダーが画像の画素上をどのように進むかを表す格
子図である。図11は、一つの画素に対するコーディン
グが始まったら、それが完了しないと別の画素がコード
化されないようにコーダーが規制された場合に、図9の
並列コーディングシステム内のコーダーが画像の画素上
をどのように進むかを表す格子図である。図12は、先
頭のコーダーが利用可能ならば常に新しい画素に対する
コーディングが始まるようにコーダーが規制された場合
に、図9の並列コーディングシステム内のコーダーがど
のように画像の画素上を進むかを表す格子図である。
す説明図である。後述のように、カラープレーン分割さ
れた画像は分割前の画像より大きいが(8ビットカラー
では、その差は256ビット/画素対8ビット/画
素)、通常、分割された画像は分割前の画像よりも小さ
なサイズまで圧縮可能である。
され、各画素は画像格子画像(imagegrid image)内の位
置と色値を持つ。話を簡単にするため、図1は16色の
3×3の画像しか示していないが、実際的には、画像は
より多くの色数の非常に多数の画素を含む。例えば、あ
る実施例では、画像は1024×1024画素の配列か
らなり、各画素は16.8万色(24ビットカラー)の
パレットより選ばれた一つの色値を持つ。
位置を示すラベルがつけられており、ラベルの最初の数
字は画素の行を示し、次の数字は画素の列を示す。
図1の画像には全ての色値は見られないが、色値は0か
ら15までの整数である。画素中の5個が色7であるの
で、色7が最頻色値であることに留意されたい。
画像と、カラープレーンを表す2進ビットストリームを
示す。カラープレーンの各画素は3つの値中のうちの一
つを持つ。すなわち、”1”はその画素の色がそのカラ
ープレーンの色と一致することを意味し、”0”はその
画素の色がそのカラープレーンの色と一致せず、かつ、
その画素が一致するカラープレーンがまだコード化され
ていないことを意味し、”−”はその画素の色が、既に
コード化されたあるカラープレーンの色と一致すること
を意味する。”−”のラベルが付けられた画素は、デコ
ーダーがそれに遭遇した時にはデコード済みであるの
で、当該画素に関しそれ以上の情報は必要でない。した
がって、当該画素はコード化される必要がないので、結
果として得られる2進ビットストリームは分割されたカ
ラープレーンの”1”と”0”だけからなる。また、カ
ラープレーンの順序が固定していなければ、カラープレ
ーンの順序に関するテーブル(普通、頻度の順とされる
ので、頻度テーブルを意味するラベル”FT”)がデー
タストリームに含められる。
ので、カラープレーン分割は物理的分割ではなく論理的
分割である。したがって、FTが生成され、これを利用
してカラープレーン7が最初にコード化されるべきと判
断する。各画素が画像から読み取られる時に、その画素
が色7であれば”1”が出力されるが、そうでなけれ
ば”0”が出力される。後続のカラープレーンの場合、
そのカラープレーン内の画素に対しては”1”が出力さ
れ、頻度テーブルにおいて現カラープレーンより後にあ
るカラープレーン内の画素に対しては”0”が出力さ
れ、また、頻度テーブルにおいて現カラープレーンより
前にあるカラープレーン内の画素に対しては、それら画
素がコード化済みであるから、何も出力されない(図1
(c)中に”−”で示されている)。便宜上、同一密度
のカラープレーンは、色番号の小さい方を先にする。故
に、図1において、カラープレーン3がカラープレーン
4(図示されていない)より先になっている。また、カ
ラープレーン4は、最後のカラープレーンであるのでコ
ード化される必要がない。使用されない色のカラープレ
ーン(図1ではカラープレーン0,1,2,5,6,
8,9,10,11,13,14,15)もコード化不
要である。
取り(それをデコード後)、このビットストリームの情
報だけから画像を復元しなければならない。図1のビッ
トストリームがデコーダーへ与えられ、コーダーとデコ
ーダーが画像サイズを3×3であると同意している場
合、デコーダーは最頻カラープレーンがカラープレーン
7であると判断し、ビットストリームのFT後の初めの
9ビットがカラープレーン7のものであると判断する。
カラープレーン7には”0”が4ビットあるので、デコ
ーダーはまた、次のカラープレーンがビットストリーム
の次の4ビットによりコード化されるであろうと判断す
る。そして、デコーダーは、FTから、次の4ビットが
カラープレーン12のためのものであり、その次のカラ
ープレーンがカラープレーン3であり、当該カラープレ
ーンがビットストリームの次の2ビットでコード化され
おり(カラープレーン12に”0”が2ビットあるた
め)、最後のカラープレーンがカラープレーン4である
と判断する。当然、残りのカラープレーンは全て空であ
る。
色に関係しないデータの圧縮に利用可能であることは明
らかである。すなわち、圧縮すべきデータブロックの各
エレメント(例えばバイト)が画素色値に相当し、同色
画素がカラープレーンにまとめられるのと同様に、各”
エレメント”プレーンがそれに関連した値と等しい値を
持つエレメントの集まりであると認識することによって
可能である。
用し得る圧縮装置202と伸長装置204を示す。圧縮
装置202はファイル206から圧縮前の画像データ
(画素色値)を読み込み、そのデータを圧縮データに変
換する。図では、この圧縮データはファイル208とし
て記憶される。伸長装置204は、このファイル208
を使ってオリジナル画像を復元し、それを復元画像デー
タとしてファイル210に格納する。非損失性圧縮が利
用されるので、ファイル210はファイル206の正確
なコピーである。
ータ(plane separator)212、コンテキストモデラー
(context modeller)214、及びエントロピーコーダー
216からなる。図示の伸長装置204は、エントロピ
ーデコーダー218、コンテキストモデラー220、及
びプレーンアキュムレータ(accumulator)222からな
る。ファイル206,208,210は、ディスク記憶
装置上のファイルであるか、あるいはコンピュータメモ
リ内の記憶ブロックである。
ータ212はファイル206よりデータを読み込むため
の入力と、カラープレーン分割データ(”1”,”
0”,”−”なる値;画素位置等々)のための出力を有
する。コンテキストモデラー214は、上記カラープレ
ーン分割データのための入力と2出力を有する。この2
出力中の一つは結果(result)を出力し、もう一つは該
結果のためのコンテキストを出力する。エントロピーコ
ーダー216は、該結果とそのコンテキストのための入
力と、ファイル208に格納される圧縮ビットストリー
ムのための出力を有する。
コーダー218は圧縮ビットストリームのための入力、
コンテキストのための入力、結果を送出するための出力
を有する。コンテキストモデラー220は、エントロピ
ーデコーダー218から結果を受け取るための入力、エ
ントロピーデコーダー218へコンテキストを送るため
の出力、カラープレーンビットストリームを出すための
出力を有する。プレーンアキュムレータ222は、コン
テキストモデラー220からカラープレーンビットスト
リームを受け取るための入力、画像をファイル210へ
送出するための出力を有する。
206は予め圧縮されてファイル208とされ、このフ
ァイル208はWWWサーバー(server)へ提供されW
WWブラウザクライアント(browser client)のユーザ
ーに利用可能になる。この場合、これらのWWWクライ
アントは伸長装置204を含むことになろう。圧縮され
ていない画像データをファイル210のようなファイル
に格納するブラウザクライアントもある一方、画像を伸
長して表示し、ユーザーが画像の保存を要求しない限り
画像を永続的には格納しないブラウザもある。
(c)に示したビットストリームと同様のビットストリ
ームに変換する。このビットストリームはコンテキスト
モデラー214へ入力される。コンテキストモデラー2
14は、エントロピーコーダー216と連携し、そのビ
ットストリームをコード化する。コンテキストモデラー
214はエントロピーコーダー216に送られた各結果
のためのコンテキストを提供するが、このコンテキスト
は全体的に最適化されたコンテキスト(overalloptimize
d context)であってもよいし、画像に応じ変わってもよ
い。
ブルFTもファイル208へ出力する。当然のことなが
ら、色の順番が前もって決められている場合は、各ファ
イル208毎にFTを圧縮装置202から伸長装置20
4へ送る必要はない。必要とされる場合には、画素色値
を色へ変換する色のテーブルもファイル208に含めら
れる。
れた)画像から画像を復元できなければならないので、
現在画素のためのコンテキスト画素として用いることが
できるのは、前にコード化された画素だけである。よく
知られているように、現在画素の近傍の画素は現在画素
のコーディング時に有用なコンテキストを与える。画像
を上から下へ向かって左から右へ1回だけパスするコー
ダーを用いる他のコーディング方式においては、現在画
素の下の画素及び右側の画素は、現在画素が復号される
時に伸長装置には分かっていないので、現在画素のため
のコンテキストを提供できない。しかし、本発明によれ
ば、最初のカラープレーンの後で、デコーダーは下の画
素と右側の画素に関する情報、すなわち、それらの画素
が前にデコードされたカラープレーン内にあったかなか
ったを分かっているであろう。
様子を説明する。図3はコンテキストモデルテンプレー
ト(context model template)300を示す。コンテキス
トモデルテンプレートは、現在画素と、そのコーディン
グ/デコーディングに利用し得るコンテキスト画素との
間の関係のラベリングをするのに役立つ。コンテキスト
モデルテンプレート300において、現在画素の位置
は”X”で示されており、周囲の画素位置はT0からT
23までのラベルが付けられている。実際的には、コン
テキストモデルが利用するコンテキスト画素はテンプレ
ートのサイズ内で利用可能なコンテキスト画素全部より
少ないのが普通である。例えば、中位の複雑さのコーダ
ーはコンテキスト画素T0,T2の色値を利用するであ
ろう。色値が8ビットで表されるときには、現在画素の
とり得る256の色値それぞれに対し、65,536の
違ったコンテキストがあり得る。コンテキスト画素が現
在カラープレーン内にあるか否かを示す1ビットだけが
用いられる場合には、コンテキストをもっと多い画素に
よって提供できる。
キストを示すコンテキストモデル400を表している。
コンテキストモデル400はコンテキストモデルテンプ
レート300に基づいている。Gormish/Boliek出願は、
コンテキストモデルがコンテキストモデルテンプレート
の動的変化関数であるコーディングシステムの設計方法
を教える。コンテキストモデル400の場合、9個のコ
ンテキスト画素を利用できる。と言うのは、各画素は1
個のコンテキスト画素しか、すなわちコンテキスト画素
が現在カラープレーン内にあるか否かを示す1ビットし
か必要としないからである。図4においてコンテキスト
を必要としている現在画素は”X”で示され、そのコン
テキスト画素はC0からC8までのラベルが付けられて
いる。
れるコンテキストは該画素がコード化/デコード済みで
あるか否かを示すビットであってもよいし、または、コ
ンテキストは、コンテキスト画素が前にコード化された
カラープレーン内にあるか、現在カラープレーン内にあ
るか、まだコード化されていないカラープレーン内にあ
るかを示す3つの値の中の一つでもよい。現在画素の右
と下の画素、例えばC9−C11によってもコンテキス
トの一部を提供できる。これらの画素の場合、コンテキ
ストビットは、それら画素が前にコード化されたカラー
プレーン内にあるか否かを示す。非並列コーディングシ
ステム(及び一部の並列コーディングシステム)の場
合、画素C9−C11のためのコンテキストビットは、
現在画素がデコードされる時点までに既に分かってい
る。
願に示されているようなコンテキストモデルマスク(mas
k)を用いて、コンテキストモデルテンプレート300
内画素のコンテキストに影響を与えるビットを選択する
ようコンテキストモデル400を動的に変更してもよ
い。必要なら、コンテキストモデル400がどのように
動的変更されるかについての情報をファイル208の一
部として含めてもよい。また、画像データに基本構造が
存在し、画像が独立した部分画像(subimage)、例えば
キャラクタやスプライトを定義する8×8画素のブロッ
クによって形成される場合には、キャラクタやスプライ
ト内の画素位置を付加的なコンテキスト情報として用い
てもよい。例えば、あるビットが、現在画素があるキャ
ラクタ又はスプライトの第1行にあるか否かを示す場
合、そのビットは有用なコンテキスト情報であるかもし
れない。というのは、最初の行の画素の上のコンテキス
ト画素は、別のキャラクタ又はスプライトの画素であっ
て、当該キャラクタ又はスプライトの内部の画素に比
べ、相関が小さい傾向があるからである。
はコーディングプロセスと逆のやり方で行われる。プレ
ーンアキュムレータ222は、コンテキストモデラー2
20からビットストリームを受け取って、最頻色を持つ
画素から先に内部のバッファに入れる。全てのビットが
受け取られデコードされた時に、内部バッファに画像が
得られ、この画像は次にファイル210へ読み出すこと
ができる。あるいは、画素を受け取った時にファイル2
10へ出力してもよく、これはファイル210がランダ
ムアクセス可能であれば容易に実現できる。内部バッフ
ァが用いられる場合、最後に来るカラープレーンである
と分かっているカラープレーンの色値に設定した画素を
内部バッファにプリロードすることができる。内部バッ
ファがプリロードされれば、最後に来るカラープレーン
の色を持っているということが、その画素がまだデコー
ドされていないことを表示するフラグとして役立つであ
ろう。
ーディングするプロセスのフローチャートである。本詳
細説明から明らかなように、コーダーの動作及び特性は
デコーダーにも同様に当てはまる。コーダーは、コード
化中の現在ビット及び先にコード化されたビットに関す
る情報に基づいて第1のビットストリームを第2のビッ
トストリームへ変換する。ここで、第2のビットストリ
ームは、好ましくは第1のビットストリームよりビット
数が少ない。デコーダーは、コーダーと同じ動作をし、
前にコード化されたビットの情報があるとすれば(デコ
ーダーは、それらのビットを既にデコードしているか
ら、その情報を利用できる)、第1ビットストリームの
どの現在ビットが第2ビットストリームの現在ビットを
生成し得たかを判断することにより、第2ビットストリ
ームを第1ビットストリームへ変換する。したがって、
コーダーが、まだコード化されていない情報、または現
在ビットをデコードしようとする時までにデコードされ
ていないかもしれない情報を当てにしない限りにおい
て、コーダーとデコーダーは同等である。よって、読み
やすくするために、”コーダー”なる用語が圧縮装置内
のコーダーと伸長装置内のデコーダーの両方に用いられ
る。
スはまず、ポインタCを最初のカラープレーンを指すよ
うに初期化し、また、画像と同サイズの履歴配列を初期
化する(ステップS1)。この履歴配列は画像の各画素
毎に1ビットを格納し、各ビットは0に初期化される。
カラープレーンの順序付けは、最初のカラープレーンが
最も密度の高いカラープレーンであるように前もってす
ることができるが、本プロセスはカラープレーンを全く
順序付けをしないで遂行することもできる。ただし、順
序付けをしないと、より多くのコーディング動作が必要
とされるかもしれない。あるいは、色値が頻度順になる
よう色を並べ替えてもよい。
たとしても、カラープレーンCの最初の画素が読み込ま
れ(ステップS2)、プレーンセパレータ212は履歴
配列をチェックして、その画素がコード化済みであるか
確認する(ステップS3)。履歴配列が当該画素に対
し”1”ビットを持っていれば、当該画素はコード化済
みであるが、そうでなければ、そのビットは”0”であ
ろう。当該画素がコード化済みでなければ、当該画素は
コード化され(ステップS4)、当該画素に対する履歴
ビットは”1”に設定される(ステップS5)。
と判定された後に、プレーンセパレータ212は現在カ
ラープレーンに他の画素があるかチェックする(S
6)。他の画素があるならば、次の画素が取り出され
(S7)、ステップS3からプロセスを繰り返す。そう
でなければ、プレーンセパレータ212は、閾数個の画
素又はカラープレーンが処理されたかチェックする(S
8)。処理された場合、ビットプレーン分割により、残
りの画素がコード化される(S9)。そうでないない場
合、Cはインクリメントされて次のカラープレーンを指
す(S10)。次に、プレーンセパレータ212は、カ
ラープレーンが一つも残っていないかチェックする
([C>(CMAX−1)])(ステップS11)。残
っていなければコーディングプロセスは終了するが、残
っていればプロセスはステップS2に戻って次のカラー
プレーンの最初の画素について継続する。ある実施例で
は、到達すべき閾数は存在せず、画像全体がカラープレ
ーン分割により処理される(すなわち、ステップS9へ
は決して来ない)。他の実施例では、カラープレーン分
割は画素を1色グループあたり2以上の色からなるカラ
ーグループプレーンに分割する。このような実施例で
は、ピットプレーンに対する剰余(residual)コーディ
ングのステップ(オプションのステップS12)が、ス
テップS11の次に実行された後にステップS2へ進
む。
コーディング又はデコーディングのために多数のパスを
必要とすることがあるので、これらの動作を並列ハード
ウエア上で並列にできることが有益である。上述の高速
2進エントロピーコーダーは、エントロピーコーディン
グを並列に行って圧縮出力ファイルを一つだけ出力で
き、これは殆どのシステムにとって必要とされる出力で
ある。並列動作で速度の強みを発揮するためには、コン
テキストモデラー及びコーダーは並列に動作できなけれ
ばならない、すなわち、他のコンテキストモデラー又は
コーダーを参照したり待ったりすることなくデータを処
理できなければならない。勿論、N個の並列パス(pat
h)を持つ並列コーディングシステムは、常に単一パス
よりN倍高速に動作するとは限らないかもしれない。パ
スの中には、他のパスが必要な情報を生成し又は競合し
たメモリアクセスを完了するのを待っているパスもある
かもしれないからである。
レーンコーディングで利用される場合、各コンテキスト
モデラーが一つのビットプレーンを処理するような並列
コンテキストモデリングシステムは、並列処理の簡単な
一方法であり、特に、データのビットプレーンへの分割
が圧縮効率に不利な影響を及ぼさないようにデータが予
備処理される場合にそうであり、このことはZandi
等により米国特許第08/200,233号「Compress
ion of Paletized Images and Binarizationfor Bitwis
e Coding of M-ary Alphabets Transfer」(1994年
2月23日に受理され、本発明の譲受人に譲渡された。
以後、”Zandi”と呼ぶ)で教えられることであ
る。しかし、カラープレーンコーディングは、画素値と
は別の基準によってデータが分割されなければならな
い。
ン並列コーディングのための幾つかのシステムを以下に
述べる。これらのシステムそれぞれにおいて、Nは利用
できる並列コーダーの数である。あるシステムにおいて
は、画像はN個の画素帯又は他の画像部分に分割され、
各帯又は部分が一つのコーダーによりコード化される。
帯による分割は、便利であるし、各コーダーが画像全体
によって与えられる情報全部より少ない情報しか持たな
いことによる圧縮率の低下を抑える。
素は、コード化しようとする画素とは別の帯内にあるこ
ともあるが、最高頻度又は最初の色を持つ画素のような
既知の画素によって置き換えられるため、ある帯内の画
素のためのコンテキストは当該帯内の画素のみにより決
定される。
テム600のブロック図である。画像バッファ602
は、画像を表す画素色値の配列を記憶するもので、N個
の128ラインの帯に論理的に分割されている。この画
像バッファは、入力ファイル206から分離したメモリ
領域であってもよいし、画像ファイル206が直接に操
作されてもよく、画像バッファ602は論理的に別の見
方をしたものにすぎない。一つの帯が一つのコンテキス
トモデラー604に入力され、このコンテキストモデラ
ーの二つの出力が一つのコーダー605へ入力される。
コーダー605(0)−(N−1)の出力はビットスト
リーム結合器606へ入力され、このビットストリーム
結合器は単一の圧縮データストリームをファイル208
へ出力する。ビットストリーム結合器606の動作は、
米国特許第5,381,145号(前述)に述べられて
いるところと同様である。
く表されており、これは制御ロジック608と、一つの
固定コンテキストラインを保持するためのバッファ61
0を含む。コンテキストモデラー604は普通のコンテ
キストモデラーとして動作し、コンテキストビン(bi
n)IDと結果(result)ビットをコーダー605に与え
る。ただし、コンテキストモデラー604が、その帯の
外の画素に依存するようなコンテキストを提供する時は
別である。このような場合には、制御ロジック608は
帯外の画素を用いる代わりに、バッファ610の画素値
を用いてコンテキストを生成する。この代用により、各
帯のコーディングは、したがってデコーディングも、他
の帯の画素から独立になる。
キストが提供されるときには、コンテキストモデラー6
04は、それらの画素を内部記憶又は画像バッファ60
2より入力する。例を挙げるならば、コンテキストモデ
ラー604(1)は、ライン128中の画素のためのコ
ンテキストを決定するのに、普通ならライン127を参
照することになろうが、ここではバッファ610をライ
ン127の代わりに用いる。勿論、代用されたライン
が、同一色例えば全画素が最高頻度色のラインならば、
バッファ610は一つの色値を記憶できる大きさがあれ
ばよい。他の実施例にあっては、バッフア610の内容
は前もって固定されるか、あるいは他の帯を参照するこ
となく決定可能である。
失われるので圧縮効率は幾分低下するが、その低下は1
28ライン中の1ラインについてだけである。帯それぞ
れを128ライン幅まで太くできない場合、あるいは画
像バッファ602用のメモリスペースが得られないかコ
ストがかかり過ぎる場合には、別の方法で並列動作を行
う方がよいかもしれない。
像の場合に、画像の部分部分の待ち時間(latency)が問
題である。例えば、画素を受け取り次第、画像全体が受
け取られなくとも、表示するのが望ましいことが多い。
図6に示したシステムでは、各帯が大体同時に、コード
化され、したがってデコードされる。待ち時間(latenc
y)を減らして画像の最上部を最初に表示できるようにす
るため、並列コーダーは画像を上から下へ処理するよう
構成されるであろう。
1についてコード化する別のコーダーより数画素だけ先
行して、カラープレーン0についてのみコード化する。
N個より少ないコーダーが用意される場合、最初のコー
ダーは一つのラインを終えると、そのラインをカラープ
レーンNについてコード化し、次のコーダーがカラープ
レーンN+1についてコード化し、以下同様に各コーダ
ーが他のカラープレーンのコード化をする。この方法に
よってスピードをあげるには、画像を記憶するためのメ
モリは、同時多重読み出し動作が可能であるか、又は、
それぞれが異なるコーダーにより独立にアクセス可能な
複数のバンクに分割されなければならない。
ィングシステム700を示す。並列コーディングシステ
ム600と比較すると、並列コーディングシステム70
0は、並列動作速度の低下という犠牲を払って、より正
確なコンテキスト情報を利用する。このシステムでは、
各コンテキストモデラーは画像全体を観て一つ以上のカ
ラープレーンのためのコンテキストを提供する。ところ
が、システム600においては、各コンテキストモデラ
ーは、その帯内の各画素のコンテキストをカラープレー
ン毎に提供する。タイミング衝突が起こった時に(二つ
以上のコンテキストモデラーが同じメモリロケーション
を読みだそうとした時に)、一つ以上のコンテキストモ
デラーが1処理サイクルの間、休止させられ、そのため
にシステム全体が純粋な並列動作より遅くなる可能性が
ある。メモリ競合問題を軽減するため、画像はメモリパ
スを広げるべくメモリバンクに分解される。各ラインの
コード化が次ラインのコード化より前に完了し、かつ、
コード化されるラインの画像がコード化される画素のコ
ンテキストに寄与しない限り、カジュアリティ(casual
ity)問題は全く起こらない。
トローラ702によって、入力画像206より画素値が
読み出される。コントローラ702は、画素値を分解し
てM個のメモリバンク704(1)−(M)の配列へ入
れ、また、コンテキストモデラー708(0)−(N−
1)の配列へのメモリパスを広げるようN個のM:1マ
ルチプレクサ706(0)−(N−1)のSELECT
線を制御する。各コンテキストモデラー708は二つの
出力、すなわちコンテキストビンID用出力と結果ビッ
ト用出力を持つ。これら出力は並列エントロピーコーダ
ー710(図8)へ送られる。
8(i)と、一つのコーダー710(i)と、コンテキ
ストモデラーコントローラ702を、コンテキストモデ
ラー702の一つのSELECT出力及び一つのPAU
SE出力を含め、より詳しく表す。図7及び図8より明
らかであろうが、各マルチプレクサ706はコンテキス
トモデラーコントローラ702の対応したSELECT
出力と接続され、各コンテキストモデラー708はコン
テキストモデラーコントローラ702の対応したPAU
SE出力と接続される。SELEC(i)出力の目的
は、コンテキストモデラー708(i)が必要とされる
入力画素を適切なメモリバンク704から受け取るよう
にマルチプレクサ706(i)を制御することである。
上の説明から明らかなように、この並列コーディングシ
ステムは、複数のメモリバンク704(1)−(M)と
マルチプレクサ706(1)−(N)がなくとも動作可
能であろう。PAUSE(i)出力の目的は、コンテキ
ストモデラー708(i)がコード化されていない画素
値に基づいてコンテキストを決定しようとする時に(及
びデコーダーの場合、コンテキストモデラーがデコード
されていない画素情報を必要とする時に)、該コンテキ
ストモデラーを休止させることである。
る。コンテキストモデラーコントローラ702は、入力
ファイル206から画素値を読み出し、画像の2ライン
をメモリバンク704(1)−(M)に格納する。本例
では、各メモリバンクは8画素を保持し、それらの内容
がもはや必要でなくなると再利用される。勿論、2列よ
りも多い画素によってコンテキストが提供される場合に
は、メモリバンクは2列分より大きい容量を持たなけれ
ばならない。マルチプレクサ706(i)は画素をコン
テキストモデラー708(i)に与える。コンテキスト
モデラーコントローラ702は、コンテキストモデラー
708(i)の進行を追跡するので、どの画素がコンテ
キストのために利用されているのか、並びに、どの画素
が既にコード化されたのかを認識している。ある画素が
コンテキストのために必要とされるが、それがまだコー
ド化されていないときには、コンテキストモデラーコン
トローラ702は当該画素がコード化されるまでコンテ
キストモデラー708(i)を休止させる。
708(0)はあるラインの画素0,..,3の処理を
開始しカラープレーン0にある画素だけをコード化し、
この間、コンテキストモデラー708(1)は何もしな
い(そのコンテキストは画素0,..,3がカラープレ
ーン0内にあるか否かに依存するであろうから)。コン
テキストモデラー708(0)が画素4,..,7の処
理を始めた時に、コンテキストモデラー708(1)が
メモリバンク704(1)により提供される画素
0,..,3の処理を開始する。こうすることで、メモ
リ衝突が回避される。とういのは、コンテキストモデラ
ー708(0)は画素4,..,7が格納されているメ
モリバンク704(2)へ移っているからである。
8(1)の両方が4画素の組を終了すると、マルチプレ
クサ706(0),706(1)のSELECT入力が
変化することにより、メモリバンク704(3)がコン
テキストモデラー704(0)に接続され、メモリバン
ク704(2)がコンテキストモデラー704(1)に
接続される。したがって、コンテキストモデラー708
(0)が画素8,..,11に対する色0のコード化を
する一方で、コンテキストモデラー708(1)が画素
4,..,7に対する色1のコード化をする。この時
に、メモリバンク704(1)はフリーであるため、コ
ンテキストモデラー708(2)は当該バンク内の画素
をカラープレーン2について処理することができる。色
数がコンテキストモデラー数より多ければ、コンテキス
トモデラー708(0)はカラープレーン0,N,2
N,...を処理し、同時にコンテキストモデラー70
8(1)はカラープレーン1,N+1,2N;
1,...を処理する。
ンテキストモデラーはコンテキスト情報と、現在画素が
現在カラープレーン内にあるか否かを示す結果ビットを
与える。この情報はコーダーへ渡され、上述のようにコ
ード化される。一つのラインが処理されたならば、別の
ラインが入力ファイルからメモリバンク704(1)−
(M)へ読み出される。各ラインが処理され、その中の
画素がコード化されている時に、現在カラープレーン内
の画素は処理済みのカラープレーン内にあることを表示
するフラグを立てられる結果、後続カラープレーン用の
後続コンテキストモデラーは、それら画素をスキップで
きる。あるコンテキストモデラーとコーダーが幾つかの
画素をスキップできる場合、該コンテキストモデラーと
コーダーは、その先のコンテキストモデラーとコーダー
が先頭バンクの画素の処理を終了する前に、次の4画素
の組を処理する準備ができている。こうなった時には、
コンテキストモデラーコンテローラ702は次のコンテ
キストモデラーに対しPAUSE信号を発生する。コー
ダーは、コンテキストモデラーの出力によって動くの
で、休止させる必要がない。
M個のメモリバンク、N個のコーダーを用いたが、これ
と異なる数のこれらコンポーネントを利用し得ることは
明らかである。本システムにより、複数のコンテキスト
モデラーが並列動作して画像内の画素のためのコンテキ
ストをカラープレーン毎に提供でるようにするため、複
数のメモリバンクを使用し、それらコンテキストモデラ
ーの開始時刻を少しずつずらして、あるコンテキストモ
デラーが一つのメモリバンクの処理を始めるとほぼ同時
にその先のコンテキストモデラーが次のメモリバンクへ
進むようにする。あるコンテキストモデラーが、例えば
処理の済んだ多数の画素に出会った場合のように、より
早く画素を処理することが可能であって、その先のコン
テキストモデラーが使用中のメモリバンクから画素を読
み出そうとする場合には、当該コンテキストモデラーは
そのメモリバンクがフリーになるまで休止させられる。
ンテキストモデラーとコーダー)は、前にコード化され
たカラープレーン内にある画素をスキップするため、ま
ちまちの速度で動作する。並列コーディングシステムの
他の変形例にあっては、コーダーは何らかの方法で相互
に結ばれる。このようにすると、コーダーのどれかが他
のコーダーが追いつくまで待つため並列量は減少するか
もしれないが、コーダーは”衝突”しないので、必要が
ハードウエアが少なくて済む。コーダーを相互に結合す
れば、並列コーディングシステムはメモリバンクとマル
チプレクサを必要としない。N個の並列コーダーが常に
画素ウインドウ内の別の画素を操作するようマルチプレ
クサが制御されるならば、メモリの帯域幅は問題でな
い。
ダー900のブロック図である。並列コーダー900に
おいて、コントローラ902は入力ファイル206から
画素値を読み出し、各クロックサイクル毎に画素値を第
1のコンテキストモデラー904(0)へ渡し、これら
画素値は順に他のコンテキストモデラー904へ与えら
れる。必然的に、コンテキストモデラーは、コンテキス
トモデラー904(0)を先頭に、他のコンテキストモ
デラーがそれに続いて、画像上をスキャンしている。ル
ーター(router)909は、コンテキストモデラー904
をコーダー910(0)−(N−1)に接続するために
設けられている。
単に各コンテキストモデラーを対応したコーダーに直接
接続する。しかし、コーダーのメモリを削減するため
に、コーダーの順序が並べ替えられるかもしれない。各
色をただ一つのコーダーに割り当てることにより、メモ
リ削減が得られる。というのは、各コーダーはコンテキ
ストビン用メモリを持つ必要があり、各画素色毎に1組
のコンテキストビンが必要であるからである。故に、あ
る色を一つのコーダーだけが扱うならば、当該色のため
のコンテキストを二つ以上のコーダーで重ねて作る必要
はない。しかしながら、各コーダーが所定の複数色に制
限されるときには、コーダーは乱順に画素を処理しなけ
ればならないかもしれない。これについて図10から図
13に関連して以下説明する。コーダー910の順番が
狂った時には、ルーター909はコンテキストビットと
結果ビットを適切なコーダー910へ送る。コンテキス
トモデラー904の順番をコーダーに従うように再調整
することによりルーター909を省くことができかもし
れないが、そうすると、各コンテキストモデラーがより
多くのコンテキスト画素を保持しなければならずメモリ
を浪費することになろう。図示の例において、コンテキ
ストモデラー904(0)は9個の画素C0−C8より
現在画素Xのための9ビットのコンテキストを得る。各
画素のために、たった1ビットのコンテキス、すなわち
画素が現在カラープレーン内にあるか否かを示す1ビッ
トが用いられる。これら9画素の中で、4個は画素Xの
上の列の画素であり、4個はその列の上の列の画素であ
り、1個は画素Xの左の画素である。画素Xの上の画素
の中で、2個は真上にあり、2個はすぐ左にあり、2個
はすぐ右にある。当然、スキャンは、最上列から最下列
へ向かって、同じ列内では左から右へ向かって、行われ
る。あるいは、図3及び図4に示されるように、他のビ
ットが用いられてもよかろう。
コンテキストモデラー904(1)−(N−1)より詳
しく示されている。各コンテキストモデラー904は、
コンテキスト画素用メモリ、当該コンテキストモデラー
が処理中の現在カラープレーン(CC)用メモリ、コン
パレータ908、コンテキスト用出力と結果用出力を有
する。画素Xのためのコンテキストは、コンテキスト画
素全体ではなく、各画素が現在カラープレーン内にある
か否かを示す1ビットだけである。コンパレータ908
はCC値とコンテキスト画素C0−C8よりコンテキス
トを生成するために利用される。コンパレータ908
は、結果ビットを生成するためにも利用され、この結果
ビットは画素Xが色CCであるか否かを示すビットであ
る。各コンテキスト画素のために1ビットしか用いられ
ないが、コンテキスト画素全体が記憶されるので、コン
テキストモデラー904(0)は、その画素をコンテキ
ストモデラー904(1)へ渡すことができ、このコン
テキストモデラーは該画素を別のCC値と比較する。
現在画素Xと2個のコンテキスト画素(A,B)をコン
テキストモデラー904(0)へ渡し、コンテキストモ
デラー904(0)はそれら画素をX,C4,C8とし
てそれぞれ取り込む。コンテキストモデラー904
(0)は画素Xに対するコーディングを完了した後、別
の3画素を受け取り、そのコンテキスト画素それぞれ
と、その現在画素を1画素分だけ左へシフトする一方
で、画素C0,C7,C3をコンテキストモデラー90
4(1)へ出力し、コンテキストモデラー904(1)
はこれら画素をそれぞれの位置X,C8,C4へシフト
する。オプションのディレー(delay)906は、コーダ
ーが(普通、パイプラインによる)待ち時間(latenc
y)を持つ場合に利用される。デコーダーが待ち時間を
持つときには、コーダーもカジュアリティ(casuality)
を妨げないために同様の待ち時間を持たなければならな
い。これらの場合、コンテキストモデラー904(0)
−(N−1)は連続した画素を処理しているのではな
く、ある距離だけ離れた画素を処理している。オプショ
ンのディレー906は、中間の画素を、次のコンテキス
トモデラーが必要とするまで保持するために利用され
る。コンテキストモデラー904の数Nが色数より少な
い場合、並列コーダー900はコンテキストモデラー9
04(N−1)からシフト出力された画素をコンテキス
トモデラー904(0)へループバックさせる手段を含
むであろう。
セッサを適切にプログラムすることにより実現できる。
そのような実施例では、並列コーダー900の動作は同
様であるが、並列コーダーの性能を最適化するため別の
手法が利用されるかもしれない。並列コーダー900を
ハードウエアで実現した場合、パイプライン化し、より
広い帯域幅で最低速エレメントからデータを取り出すの
に速度面で有利である。ソフトウエアにより実現下場合
には、実行不要な動作を識別し、それを実行しないこと
により、速度面の利益を得られる。例えばハードウエア
で実現する場合、コントローラ902が、どの画素がど
のコーダーに必要とされるか突き止めることにより、各
コーダーは、コーダーが新たな画素値が取り出されるの
を待たなければならない時間を最小にするため一度に4
画素を処理するかもしれない。
並列処理する方法の3例である。各図は、コーダー(よ
り正確にはコンテキストモデラー/コーダー)の画素上
の進行方法に関する異なった規則により、画素の集合す
なわち画像上を4個のコーダーが進行する様子を表して
いる。この3図の各図は、どのコーダーがどのクロック
サイクルにどの画素を処理するかを表す格子図である。
格子図の最上部は10画素の画素色値を、1列あたり1
つずつ示す。この画素色値は0から15までの整数が選
ばれている。画素列とクロック時間行の交差部にA:B
の形で表されている数字の組は、そのクロックサイクル
中に、コーダーAがその画素がカラープレーンB内にあ
るかチェックしていることを意味する。Bが画素値と一
致する交差部にはチェックマークが付けられているが、
これはその時点で画素の値が決定され、その画素に対し
それ以上の処理が必要でないことを意味する。色15の
コード化/デコードのためにクロックサイクルは必要で
ない。というのは、色14についてチェックされている
画素は色14か色15のいずれかであり、それ以外のど
の色もチェックが済んでおり、したがって色14につい
てのチェックの後で色が決まるはずであるからである。
ても調べられていないことを意味し、”idle”又
は”wait”が記入された交差部は、その画素にある
コーダーが割り当てられているが、その画素に対し何も
していないことを意味する。コーダーがアイドル又は待
ち状態にあるクロックサイクルの数を少なくすれば、並
列コーディング性能が向上することは明らかである。図
10から図12の各図において、コーダーは表1に示す
如く色が割り当てられる。表1において、色15は、最
後の色であるのでコーダーに割り当てられず、したがっ
てカラープレーンコーディングではコード化されない。
ドウ”内の連続した画素を処理しなければならず、画素
ウインドウ内の最後尾の画素がコード化/デコードされ
るまではウインドウを新しい画素を入れるために移動さ
せることかできない、という規則に基づき作られたもの
である。各クロックサイクルに受け入れ可能な新しい画
素は1個だけである。というのは、それぞれの新しい画
素はカラープレーン0についてのコーディングからスタ
ートする必要があり、かつ、コーダーは色0のための唯
一のコーダーであるからである。図10から分かるよう
に、このような規則によれば、10画素が24クロック
サイクルでコード化され、そしてウインドウに追加され
た新しい画素へコーダー0が移る時に画素のチェック動
作が中断される。これら方法のそれぞれは、あるカラー
プレーン内の画素のためのコンテキストが前の画素に影
響される場合には、それをデコード時に利用できるよう
にするために、現在画素の先の各画素は少なくとも現在
カラープレーンまでにデコードされなければならないと
いう要件を満たす。このことは、各画素に対する最初の
アクションがコーダー0による動作であることと、ある
所定画素の左側の各画素が当該所定画素に現在適用中の
カラープレーンまでデコードされていることに注意する
ことにより、確認できる。
最後尾の画素がコード化/デコードされる時に新しい画
素を入れるよう移動させられるが、コーダーはコーダー
0が先頭画素を処理できるように並べ替えられない、と
いうものである。その代わり、新しい画素のコーディン
グはコーダー0が利用可能になるまで”待ち”になる。
このようにして、ある画素に対するチェックが始まった
ならば、その画素がコード化されるまで処理される。こ
のような規則によれば、10画素が21クロックサイク
ルだけでデコードされる。
した画素を処理する必要はなく、コーダー0だけが新し
い画素に着手できる、というものである。このような規
則によれば、同じ10画素は20クロックサイクルでコ
ード化される(他の画素も部分的にはコード化されるか
もしれない)。しかし、ウインドウが大きくなることが
あるので、このような規則は進行中の画素を格納するた
め、より大きなメモリが必要である。ウインドウの大き
さは、色0以外の色については、コーダー0が最後尾画
素も処理するという事実により制限される。
する画像はカラープレーンに分割されていた。カラープ
レーン分割の利点は以上の説明から明らかであるが、画
像を多数回パスするという煩雑さの増大を避けたい場合
があるかもしれない。このような場合には、ビットプレ
ーン分割とカラープレーン分割の折衷方法が用いられて
もよかろう。
像は1色あたり一つのカラープレーンに分割されるので
はなく、2色のグループ毎に一つのカラーグループプレ
ーンに分割される。そして、カラーグループプレーン
は、ビットプレーンとしてコード化される。別の折衷方
法においては、各カラーグループは4色からなり、カラ
ーグループプレーンは二つのビットプレーンに分割され
る。図1に示した例では、各画素は16色中の1色を持
つことができる。ストレートなカラー分割の場合、画像
は16個のカラープレーンに分割され、コーダーは画像
を最高15回パスすることになる(最後の色はデコード
不要)。折衷的カラー分割によれば、図1の画像は、2
色ずつの8グループ又は4色ずつの4グループに分割さ
れよう。8グループの場合、コーダーは各画素のカラー
グループを決めるために画像を最高7回パスし、次に画
素カラーグループ内の各画素の色を決定するためにもう
1回パスし、合計8パスとなろう。グループ当たり4色
の場合、コーダーはカラーグループを決めるために最高
3回パスし、次にグループ内の色を決めるために(ビッ
トプレーン別に)2回パスし、合計5パスとなろう。カ
ラー分割が全くなされない極端な場合には、ビットプレ
ーンコーディングは画像について4回のパスを必要とす
る。ビットプレーンコーディングとカラープレーンコー
ディングの差は15パス対4パスにすぎないが、色数が
多くなるほど、その差は増加する。例えば、8ビットカ
ラー(256値)の場合、完全なカラープレーン分割に
は最高255パスが必要であり、2色/グループの分割
には128(127+1)パスだけ必要であり、4色/
グループの分割には65(63+2)パスだけ必要であ
り、一方、ビットプレーン分割には8パス必要である。
よって、画像の色数が増加すると、並列コーディングを
必要とする場合が多くなる。
ベクトルにより表現され、各ベクトル成分は独立に分割
された色である。例えば、8ビットの画素色値の場合、
画素値は二つの4ビット値に分割されて各画素につき一
つの2次元ベクトルを生成する。これら4ビットのサブ
カラー(subcolor)成分それぞれは次に、ベクトルの対応
次元に関係付けられた16カラープレーン中の1プレー
ンに分割される。本変形例は、並列デコーディングに有
益である。本変形例は、1成分あたり最大13パス又は
15パスを必要とする。
れば、画像データ又はその他同様の性質を持つデータの
効率的な圧縮及び伸長のための方法及び装置を実現でき
る。
図である。
る。
ロセスを示すフローチャートである。
ダーのブロック図である。
る。
ク図である。
る。
る。
る。
る。
Claims (30)
- 【請求項1】 画素値の配列を圧縮する方法であって、
該配列は集合的に一つの画像を形成し、各画素は一つの
色値と該画像内での一つの位置とにより特徴付けられる
ものであり: 該画像の画素をカラープレーンに分割するステップを有
し、カラープレーンは画素の色値が当該カラープレーン
のための色値に対応した色値であるか否かを表示する2
進値の2次元配列であり; 第1のカラープレーンをコード化するステップを有し; 該第1カラーブレーンに見つからない第2のカラープレ
ーンの画素をコード化 するステップを有し; かつ後続のカラープレーンに関し、前にコード化された
カラープレーンに対応した色でない画素を反復的にコー
ド化するステップを有する圧縮方法。 - 【請求項2】 請求項1記載の圧縮方法において、カラ
ープレーンを色の頻度により順序付けるステップをさら
に有し、画像中の最頻色である色(のカラープレーン)
は第1の色であり、該第1の色に対応したカラープレー
ンは該第1カラープレーンであり、カラープレーンを頻
度順にコード化することを特徴とする圧縮方法。 - 【請求項3】 請求項1記載の圧縮方法において、画像
中に存在しない色に対応したカラープレーンと画像に存
在する一つの色に対応したカラープレーンはコード化さ
れないことを特徴とする圧縮方法。 - 【請求項4】 請求項1記載の圧縮方法において、コー
ド化のステップはエントロピーコーディングのステップ
であることを特徴とする圧縮方法。 - 【請求項5】 請求項4の圧縮方法において、エントロ
ピーコーディングのステップは高速2進エントロピーコ
ーダーを用いるコード化のステップであることを特徴と
する圧縮方法。 - 【請求項6】 請求項4記載の圧縮方法において、エン
トロピーコーディングのステップはQ−コーダーを用い
るコード化のステップであることを特徴とする圧縮方
法。 - 【請求項7】 請求項4記載の圧縮方法において、エン
トロピーコーディングのステップはB−コーダーを用い
るコード化のステップであることを特徴とする圧縮方
法。 - 【請求項8】 請求項4記載の圧縮方法において、エン
トロピーコーディングのコード化されようとしている画
素の近傍にある一つの画素の値を少なくとも含むコンテ
キストを用いて行われることを特徴とする圧縮方法。 - 【請求項9】 請求項4記載の圧縮方法において、エン
トロピーコーディングはコード化されようとしている画
素の位置の値を少なくとも含むコンテキストを用いて行
われることを特徴とする圧縮方法。 - 【請求項10】 請求項4記載の圧縮方法において、エ
ントロピーコーディングは現在画素のためのコンテキス
トを決めるステップをさらに含み、該コンテキストはど
の近傍画素がコード化されようとしているカラープレー
ン内にあるか表示するものであることを特徴とする圧縮
方法。 - 【請求項11】 画像中の画素のためのコンテキスト情
報をエントロピーコーダー又はエントロピーデコーダー
に与える並列コンテキストモデラーであって: 記憶された画素値の配列である処理すべき画像を保持す
るもので、1より大きいN個の部分領域に分割されてい
る画像バッファを有し; かつそれぞれが該N個の部分領域中の一つに関係付けら
れ、代用コンテキスト画素を表すための手段を含むN個
のコンテキストモデラーを有し、代用コンテキスト画素
はある所定の部分領域外にあるが該所定部分領域内の画
素のためのコンテキスト画素であるコンテキスト画素の
代わりをする並列コンテキストモデラー。 - 【請求項12】 請求項11記載の並列コンテキストモ
デラーにおいて、各カラープレーンは複数のコンテキス
トモデラー中のただ一つにより処理されることを特徴と
する並列コンテキストモデラー。 - 【請求項13】 画像中の画素のためのコンテキスト情
報をエントロピーコーダー又はエントロピーデコーダー
に与える並列コンテキストモデラーであって: 複数のメモリバンクを有し、その各メモリバンクは複数
の画素及びそのコンテキスト画素のためのメモリからな
り; 複数のコンテキストモデラーを有し、該複数のコンテキ
ストモデラーのそれぞれは、該複数のメモリバンクの一
つと接続可能であり、各メモリバンクは複数のコンテキ
ストモデラーの一つの接続可能であり、該複数のコンテ
キストモデラーのそれぞれは、それを休止させるための
休止入力を持ち; かつ、 コンテキストモデラーコントローラを有し、該コンテキ
ストモデラーコントローラは、画像の画素のための画像
入力;該画素を該複数のメモリバンクのメモリバンクへ
ロードするためのメモリバス;メモリバンクのコンテキ
ストモデラーへの特定の接続を制御するための複数のル
ーティング信号線;及び、コンテキストモデラーを休止
させるための出力を持つ並列コンテキストモデラー。 - 【請求項14】 請求項13記載の並列コンテキストモ
デラーにおいて、複数のコンテキストモデラーはコンテ
キストモデラーコントローラにより制御される複数のマ
ルチプレクサによって複数のメモリバンクの一つに接続
されることを特徴とする並列コンテキストモデラー。 - 【請求項15】 集合的に、圧縮すべき画像を表現する
画素値を記憶するための画像記憶メモリを有し; 該画像記憶メモリに、それから画素値を読み出すために
接続されたコーダーコントローラを有し; かつそれぞれがコンテキスト画素及び現在画素のための
画素値を受け取るために該コーダーコントローラに接続
された複数のコンテキストモデラーを有し、ここにおい
て、各コンテキストモデラーは結果の出力と該結果のた
めのコンテキストを提供し、該結果はそれを出力してい
るコンテキストモデラーに関係付けられたカラープレー
ンに対する現在画素のテストの結果であり、該コンテキ
ストは該コンテキスト画素と該カラープレーンとの比較
であり; 該コーダーコントローラは部分的にはコード化されてい
ない画素をどのコンテキストモデラーもコンテキストの
ために用いないよう、該複数のコンテキストモデラーの
それぞれの画像上での進行を制御する、並列エントロピ
ーコーダー。 - 【請求項16】 圧縮データセットから画素の配列を伸
長する方法であって: アプリオリな情報及び先に伸長された画素値から、デコ
ードされようとしている現在画素のための現在カラープ
レーンを識別するステップを有し; 先にデコードされたカラープレーン内の先にデコードさ
れた画素から、デコードされようとしている現在画素の
該配列内での位置を決定するステップを有し、ここにお
いて、該現在画素の位置は該先にデコードされたカラー
プレーン内の該先にデコードされた画素の位置とは別の
位置であると仮定され; かつ後続のカラープレーン内の後続の画素を反復的にデ
コードするステップを有する伸長方法。 - 【請求項17】 請求項16記載の伸長方法において、
画素をデコードするステップは適応的エントロピーコー
ドによりなされ、該適応的エントロピーコードはデコー
ドされようとしている現在画素のために決定された位置
に対するコンテキストを参照することにより決定される
ことを特徴とする伸長方法。 - 【請求項18】 請求項16記載の伸長方法において、
最後のカラープレーンはデコードされず、画素値を持た
ない画素位置には該最後のカラープレーンのための画素
値が割り当てられることを特徴とする伸長方法。 - 【請求項19】 デコードされた画素値を画素位置に記
憶するための画像記憶メモリを有し、該画素位置の画素
値は集合的に一つの画像を表し; 該画像記憶メモリに、それに対し画素値の読み出し及び
書き込みをするために接続されたコーダーコントローラ
を有し; それぞれがコンテキスト画素値を受け取るため該コーダ
ーコントローラに接続された複数のコンテキストモデラ
ーを有し、ここにおいて各コンテキストモデラーはデコ
ードされようとしている現在画素のコンテキストを示す
コンテキスト出力を提供し、該コンテキストは該コンテ
キスト画素の現在カラープレーン値との比較のセットで
あり; それぞれが該複数のコンテキストモデラー中の一つのコ
ンテキストモデラーと接続された複数のコーダーを有
し、ここにおいて各コーダーは現在カラープレーンのた
めのコンテキストを、該デコードされようとしている現
在画素が該現在プレーン内にあるか否かを示すビットを
デコードするために利用し; かつ該ビットを該コーダーコントローラへ伝える手段を
有する並列エントロピーデコーダー。 - 【請求項20】 エレメント値の配列の圧縮方法であっ
て、該エレメント値配列は集合的にデータを形成し、各
エレメントはエレメント値及び該配列内での位置により
特徴付けられ: 該エレメントを粗配列に分割するステップを有し、ここ
において粗配列はそれに関連付けられた配列値に等しい
エレメント値を持つエレメントを含み、該エレメントの
配列に1対1に対応した2進値の配列であり; 第1の粗配列をコード化するステップを有し; 第2のカラープレーン(粗配列?)の一部分をコード化
するステップを有し、ここにおいて該一部分はまだコー
ド化されていないエレメントのエレメント位置のビット
であり; かつ後続の粗配列について、先にコード化された配列内
のエレメントのためのエレメント位置ではないエレメン
ト位置のエレメントを反復的にコード化するステップを
有する圧縮方法。 - 【請求項21】 圧縮データファイルからエレメント配
列を伸長する方法であって、該エレメント配列は集合的
に、エレメント値及び該エレメント配列内での位置によ
りそれぞれ特徴付けられるエレメントを持つデータセッ
トを形成し、該方法は以下のステップからなり: 該圧縮データファイルの第1の区域を識別するステップ
を有し、ここにおいて該第1区域は第1の粗配列の圧縮
情報内容を表し、該第1粗配列は該エレメント配列のど
のエレメントが第1粗配列エレメント値と等しいエレメ
ント値を持つかを示す2進値の配列であり; 該第1区域から該第1粗配列をデコードするステップを
有し; 該圧縮データファイルの第2の区域を識別するステップ
を有し、ここにおいて該第2区域は該エレメント配列の
エレメントが第2粗配列エレメント値と等しい値を持つ
か又は該第1粗配列エレメント値とも該第2粗配列エレ
メント値とも異なるエレメント値を持つかをそれぞれ示
す2進値の第2の粗配列の圧縮情報内容を表し、該第2
区域は該第1粗配列内にあるエレメントのための全エレ
メント値情報より少ない情報を含み; 該第2区域から該第2粗配列をデコードするステップを
有し; かつ区域を識別するステップ及び粗配列をデコードする
ステップを有し、閾数個の粗配列がデコードされるまで
繰り返すステップ、ここにおいて各後続粗配列はまだデ
コードされていない各エレメントについて、それが粗配
列エレメント値に等しいエレメント値を持つかを示す伸
長方法。 - 【請求項22】 請績項21記載の伸長方法において、
閾数個の粗配列がデコードされた時にまだデコードされ
ていない粗配列のためのエレメント値をビットプレーン
デコーディングによりデコードするステップをさらに有
することを特徴とする伸長方法。 - 【請求項23】 請求項21記載の伸長方法において、
粗配列の閾数は異なったエレメント値の数より1つ少な
く、該閾数個の粗配列のデコーディングでデコードされ
ないエレメントにデフォルトのエレメント値を割り当て
るステップをさらに有することを特徴とする伸長方法。 - 【請求項24】 請求項21記載の伸長方法において、
各エレメントはデコードのステップにおいてデコードさ
れたエレメント値により特徴付けられ、閾数個の粗配列
がデコードされた後にビットプレーンデコーディングに
より各エレメントのための部分値をデコードするステッ
プをさらに有することを特徴とする伸長方法。 - 【請求項25】 圧縮すべき画像を集合的に表す画素値
を記憶するための画像記憶メモリを有し、ここにおいて
該画像の各画素は画素値及び該画像内での画素位置によ
って特徴付けられ; 該画像記憶メモリに接続され、該画像記憶メモリより画
素値を読み出し、画素の2進表現をカラープレーン順に
出力する画素値リーダーを有し、ここにおいて現在カラ
ープレーン内の画素の2進表現は該画素が該現在カラー
プレーン内にあるか否かを示し、画素がカラープレーン
内にあるのは、その画素値が該カラープレーンに関連付
けられた画素値の集合中にあるときだけであり; 該画素値リーダーに接続され、該現在カラープレーン内
のまだコード化されていない画素をコード化するカラー
プレーンコーダーを有し、該カラープレーンコーダー
は: 現在カラープレーン及び先にコード化されたカラープレ
ーン中の少なくとも一つより取り出され、先にコード化
された画素から、現在カラープレーン内の現在画素のた
めのコンテキストを識別するコンテキストモデラーを有
し、ここにおいて、コンテキストモデラーは該現在画素
の画素値と該現在カラープレーンの色との比較の結果を
示す第1の出力と、該現在画素のためのコンテキストを
示す第2の出力を有し;かつ該コンテキストモデラーに
接続され、該コンテキストモデラーによって出力された
結果及びコンテキストに基づき該現在画素をビットスト
リームにエンコードして出力する2進エントロピーエン
コーダーを有してなり; かつ該2進エントロピーエンコーダーに接続され、該2
進エントロピーエンコーダーの出力を集めて圧縮データ
セットにするビットストリーム収集手段を有する、画像
を圧縮して圧縮データセットを生成する画像圧縮装置。 - 【請求項26】 請求項25記載の画像圧縮装置におい
て、各画素値集合が唯一つの画素値を含み、各カラープ
レーンに含まれる画素は全て同じ画素値を持つことを特
徴とする画像圧縮装置。 - 【請求項27】 請求項25記載の画像圧縮装置におい
て、少なくとも一つの画素値集合は複数の画素値を含
み、該複数の画素値のどれが複数画素値の集合を持つカ
ラープレーン中の画素のための画素値であるかを示す情
報をコード化するピットプレーンコーダーをさらに有す
ることを特徴とする画像圧縮装置。 - 【請求項28】 請求項25記載の画像圧縮装置におい
て、コンテキストモデラーは現在画素の周囲の近傍画素
が現在カラープレーン内にあるか否かに基づいてコンテ
キストを提供することを特徴とする画像圧縮装置。 - 【請求項29】 圧縮データセットから画像を伸長し非
圧縮画像を生成する画像伸長装置であって、該非圧縮画
像の各画素は画素値及び該非圧縮画像内での画素位置に
よって特徴付けられ: 該圧縮データセットを記憶する圧縮データセット記憶メ
モリを有し; 該圧縮データセットからカラープレーン順に画素をデコ
ードするカラープレーンデコーダーを有し、該カラープ
レーンデコーダーは: 現在カラープレーン及び先にデコードされたカラープレ
ーン中の少なくとも一つより取り出された先にデコード
された画素から、デコードされようとしている現在カラ
ープレーン内の現在画素のためのコンテキストを識別す
るコンテキストモデラーを有し、ここにおいて該コンテ
キストは該現在画素の近傍画素のためのカラープレーン
を示し;かつ該コンテキストモデラー及び該圧縮データ
セットに接続され、該コンテキストモデラーにより識別
された現在画素のためのコンテキストに基づいて現在画
素をデコードする2進エントロピーデコーダーを有して
なり; かつ、 該2進エントロピーデコーダーによりカラープレーン別
にデコードされた画素を画像記憶メモリに蓄積すること
により、該画像記憶メモリ内に該非圧縮画像を生成する
カラープレーンアキュムレータを有する画像伸長装置。 - 【請求項30】 請求項29記載の画像伸長装置におい
て、現在画素のためのコンテキストは現在画素の近傍画
素が現在カラープレーン内にあるか否かを示すコンテキ
ストであることを特徴とする画像伸長装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/391,679 US5659631A (en) | 1995-02-21 | 1995-02-21 | Data compression for indexed color image data |
| US08/391679 | 1995-02-21 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH08265800A JPH08265800A (ja) | 1996-10-11 |
| JP2949066B2 true JP2949066B2 (ja) | 1999-09-13 |
Family
ID=23547535
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8032525A Expired - Fee Related JP2949066B2 (ja) | 1995-02-21 | 1996-02-20 | 圧縮方法、伸長方法、並列コンテキストモデラー、並列エントロピーコーダー、並列エントロピーデコーダー、画像圧縮装置及び画像伸長装置 |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US5659631A (ja) |
| JP (1) | JP2949066B2 (ja) |
| KR (1) | KR100214055B1 (ja) |
| DE (1) | DE19606178C2 (ja) |
| TW (2) | TW303567B (ja) |
Families Citing this family (71)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3364074B2 (ja) * | 1995-06-05 | 2003-01-08 | 株式会社リコー | ビットプレーン符号化装置 |
| JP3060902B2 (ja) * | 1995-06-30 | 2000-07-10 | オムロン株式会社 | 画像処理装置及び画像処理方法 |
| US6888962B1 (en) | 1995-06-30 | 2005-05-03 | Omron Corporation | Image processing device for detecting one-color marks of a number of colors and image processing method thereof |
| JPH0981445A (ja) * | 1995-07-11 | 1997-03-28 | Matsushita Electric Ind Co Ltd | 情報管理装置 |
| US6072909A (en) * | 1995-12-13 | 2000-06-06 | Fuji Xerox Co., Ltd. | Image coding devise and image decoding devise using with image disassembly |
| US6037982A (en) * | 1996-03-28 | 2000-03-14 | Intel Corporation | Multi-pass video compression |
| US6144771A (en) | 1996-06-28 | 2000-11-07 | Competitive Technologies Of Pa, Inc. | Method and apparatus for encoding and decoding images |
| CN1178458C (zh) * | 1996-07-31 | 2004-12-01 | 松下电器产业株式会社 | 图象解码装置和图象解码方法 |
| DE19706268A1 (de) * | 1997-02-18 | 1998-08-20 | Christian Wenz | Dateiformatspezifisches Packverfahren |
| US6379251B1 (en) | 1997-02-24 | 2002-04-30 | Realtime Media | System and method for increasing click through rates of internet banner advertisements |
| US6182122B1 (en) * | 1997-03-26 | 2001-01-30 | International Business Machines Corporation | Precaching data at an intermediate server based on historical data requests by users of the intermediate server |
| US5883633A (en) * | 1997-04-15 | 1999-03-16 | Microsoft Corporation | Method and system of variable run length image encoding using sub-palette |
| US6259810B1 (en) * | 1997-04-15 | 2001-07-10 | Microsoft Corporation | Method and system of decoding compressed image data |
| US6128406A (en) * | 1997-04-30 | 2000-10-03 | Fujitsu Microelectronics, Inc. | Method of compressing and decompressing graphics images |
| GB2327003A (en) * | 1997-07-04 | 1999-01-06 | Secr Defence | Image data encoding system |
| KR100535632B1 (ko) * | 1997-10-17 | 2006-04-12 | 주식회사 팬택앤큐리텔 | 적응적으로 보더링하는 모양정보 부호화/복호화 장치 및 방법 |
| US6038346A (en) * | 1998-01-29 | 2000-03-14 | Seiko Espoo Corporation | Runs of adaptive pixel patterns (RAPP) for lossless image compression |
| US6738072B1 (en) * | 1998-11-09 | 2004-05-18 | Broadcom Corporation | Graphics display system with anti-flutter filtering and vertical scaling feature |
| US6647649B2 (en) * | 1998-12-04 | 2003-11-18 | Tracking Technologies, Inc. | Microparticle taggant systems |
| US8416847B2 (en) * | 1998-12-21 | 2013-04-09 | Zin Stai Pte. In, Llc | Separate plane compression using plurality of compression methods including ZLN and ZLD methods |
| DE19944213C1 (de) * | 1999-09-15 | 2001-05-23 | Inst Telematik E V | Verfahren zum Komprimieren eines digitalen Bildes mit mehreren Bit-Ebenen |
| US7075681B1 (en) * | 1999-11-09 | 2006-07-11 | Kodak Graphic Communications Canada Company | System and method for reducing the data volume of images |
| US6522783B1 (en) | 1999-11-23 | 2003-02-18 | Sharp Laboratories Of America, Inc. | Re-indexing for efficient compression of palettized images |
| AU2628301A (en) * | 2000-01-06 | 2001-07-16 | Zen Optical Technology Llc | Pen-based handwritten character recognition and storage system |
| US7212677B2 (en) * | 2000-01-11 | 2007-05-01 | Minolta Co., Ltd. | Coder, coding method, program, and image forming apparatus for improving image data compression ratio |
| US6836564B2 (en) * | 2000-04-28 | 2004-12-28 | Denso Corporation | Image data compressing method and apparatus which compress image data separately by modifying color |
| DE10041037A1 (de) * | 2000-08-22 | 2002-03-14 | Ubicom Ges Fuer Telekommunikat | Bildkodierungsverfahren und Bildkodierer |
| US20020067860A1 (en) * | 2000-10-10 | 2002-06-06 | Azam Syed Aamer | System, method and computer program product for improved lossless compression for bitmap fonts |
| US6704449B1 (en) | 2000-10-19 | 2004-03-09 | The United States Of America As Represented By The National Security Agency | Method of extracting text from graphical images |
| DE10123406A1 (de) * | 2001-05-15 | 2002-11-21 | Sick Ag | Verfahren zum Erfassen von zweidimensionalen Codes |
| AU2002352987A1 (en) * | 2001-11-30 | 2003-06-17 | Tracking Technology Inc. | Taggants for products and method of taggant identification |
| KR20040077921A (ko) * | 2002-02-01 | 2004-09-07 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 가변 길이 칼라 코드들로 팔레트화된 칼라 화상들의 압축 |
| EP3709217A1 (en) * | 2002-04-23 | 2020-09-16 | NTT DoCoMo, Inc. | System and method for arithmetic encoding and decoding |
| US9577667B2 (en) | 2002-04-23 | 2017-02-21 | Ntt Docomo, Inc. | System and method for arithmetic encoding and decoding |
| JP3961870B2 (ja) * | 2002-04-30 | 2007-08-22 | 株式会社リコー | 画像処理方法、画像処理装置、及び画像処理プログラム |
| JP3920168B2 (ja) * | 2002-08-02 | 2007-05-30 | 株式会社リコー | 画像形成装置とその制御方法並びに画像形成システム及び記録媒体 |
| JP3901644B2 (ja) * | 2003-01-30 | 2007-04-04 | 株式会社東芝 | テクスチャ画像圧縮装置及び方法、テクスチャ画像抽出装置及び方法、データ構造、記憶媒体 |
| US7379608B2 (en) * | 2003-12-04 | 2008-05-27 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. | Arithmetic coding for transforming video and picture data units |
| US7599435B2 (en) | 2004-01-30 | 2009-10-06 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Video frame encoding and decoding |
| US7586924B2 (en) * | 2004-02-27 | 2009-09-08 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for coding an information signal into a data stream, converting the data stream and decoding the data stream |
| US7292732B2 (en) * | 2004-04-23 | 2007-11-06 | Primax Electronics Ltd. | Image compression/decompression apparatus and method |
| JP4652741B2 (ja) * | 2004-08-02 | 2011-03-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 異常検出装置、異常検出方法、異常検出プログラム、及び記録媒体 |
| JP4438062B2 (ja) * | 2004-10-06 | 2010-03-24 | キヤノン株式会社 | 符号化装置、符号化装置の制御方法 |
| KR100639614B1 (ko) | 2004-10-15 | 2006-10-30 | 주식회사 하이닉스반도체 | 뱅크 내 셀을 테스트하기 위한 데이터 출력 컴프레스 회로및 방법 |
| US7450134B2 (en) * | 2004-11-18 | 2008-11-11 | Time Warner Cable Inc. | Methods and apparatus for encoding and decoding images |
| JP4618676B2 (ja) | 2005-04-28 | 2011-01-26 | 株式会社リコー | 構造化文書符号の転送方法、画像処理システム、サーバ装置、プログラム及び情報記録媒体 |
| KR100717002B1 (ko) * | 2005-06-11 | 2007-05-10 | 삼성전자주식회사 | 영상 부호화 및 복호화 장치와, 그 방법, 및 이를 수행하기위한 프로그램이 기록된 기록 매체 |
| JP4854309B2 (ja) * | 2006-01-23 | 2012-01-18 | シャープ株式会社 | データ格納制御装置 |
| EP1999873A2 (en) | 2006-03-13 | 2008-12-10 | SMI Holding, Inc. | Automatic microparticle mark reader |
| US8111259B1 (en) | 2006-07-06 | 2012-02-07 | Marvell International Ltd. | Image processing apparatus having context memory controller |
| US7865025B2 (en) * | 2006-08-01 | 2011-01-04 | Ching-Wei Yeh | Data processing method in embedded block coding with optimized truncation module |
| CN100423082C (zh) * | 2006-11-03 | 2008-10-01 | 北京京东方光电科技有限公司 | 一种平板显示器系统内接口单元 |
| JP4694462B2 (ja) * | 2006-12-14 | 2011-06-08 | シャープ株式会社 | 符号化装置、符号化方法、プログラムおよびその記録媒体 |
| JP5746811B2 (ja) * | 2006-12-21 | 2015-07-08 | 味の素株式会社 | 大腸癌の評価方法、ならびに大腸癌評価装置、大腸癌評価方法、大腸癌評価システム、大腸癌評価プログラムおよび記録媒体 |
| KR100906243B1 (ko) * | 2007-06-04 | 2009-07-07 | 전자부품연구원 | Rgb 색 공간 신호의 영상 부호화 방법 |
| AU2007249106B2 (en) * | 2007-12-18 | 2010-11-25 | Canon Kabushiki Kaisha | A lossless compressor for image data values |
| US9042455B2 (en) | 2008-08-19 | 2015-05-26 | Thomson Licensing | Propagation map |
| KR101346942B1 (ko) * | 2009-09-02 | 2014-01-03 | 소니 주식회사 | 벡터 임베디드 그래픽 코딩 |
| KR101289514B1 (ko) * | 2009-09-09 | 2013-07-25 | 소니 주식회사 | 인코딩 방법 및 인코더 장치 |
| WO2011046681A2 (en) * | 2009-10-14 | 2011-04-21 | Sony Corporation | Joint scalar embedded graphics coding for color images |
| JP2011091575A (ja) * | 2009-10-21 | 2011-05-06 | Sony Corp | 符号化装置および方法 |
| WO2011159849A1 (en) * | 2010-06-15 | 2011-12-22 | Softmd | Medical imaging distribution system |
| US20140185928A1 (en) * | 2012-12-28 | 2014-07-03 | Shai Ben NUN | Hardware-supported huffman coding of images |
| US9466090B2 (en) * | 2013-06-20 | 2016-10-11 | Intel Corporation | Subset based compression and decompression of graphics data |
| CN105491379A (zh) * | 2014-10-01 | 2016-04-13 | 财团法人工业技术研究院 | 解码器、编码器、解码方法、编码方法与编解码系统 |
| US9807402B2 (en) * | 2014-10-06 | 2017-10-31 | Industrial Technology Research Institute | Method of color palette coding applicable to electronic device and electronic device using the same |
| US10387991B2 (en) | 2016-07-01 | 2019-08-20 | Intel Corporation | Method and apparatus for frame buffer compression |
| JP2019091191A (ja) * | 2017-11-14 | 2019-06-13 | ルネサスエレクトロニクス株式会社 | 半導体装置、データ処理システム、データ読取り方法、及びデータ読取りプログラム |
| US10679320B1 (en) * | 2018-07-23 | 2020-06-09 | Ambarella International Lp | High dynamic range sensor system with row increment operation |
| KR102185668B1 (ko) * | 2019-01-30 | 2020-12-02 | 스노우 주식회사 | 이미지 파일의 픽셀 변환을 통한 압축율 향상 방법 및 시스템 |
| KR102152346B1 (ko) | 2019-01-30 | 2020-09-04 | 스노우 주식회사 | 이미지 파일의 블록 간 차이를 통한 압축율 향상 방법 및 시스템 |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4319267A (en) * | 1979-02-16 | 1982-03-09 | Nippon Telegraph And Telephone Public Corporation | Picture coding and/or decoding equipment |
| US4868773A (en) * | 1985-03-15 | 1989-09-19 | Purdue Research Foundation | Digital filtering by threshold decomposition |
| JPS63245567A (ja) * | 1987-03-31 | 1988-10-12 | Toshiba Corp | 画像処理装置 |
| DE3804175A1 (de) * | 1988-02-11 | 1989-08-24 | Broadcast Television Syst | Verfahren und schaltungsanordnung zum einschreiben und auslesen eines digitalen halbleiterspeichers fuer videosignale |
| EP0523939B1 (en) * | 1991-07-15 | 1998-10-07 | Canon Kabushiki Kaisha | Image encoding |
| US5442458A (en) * | 1991-12-18 | 1995-08-15 | Eastman Kodak Company | Method and associated apparatus for encoding bitplanes for improved coding efficiency |
| US5463702A (en) * | 1992-05-12 | 1995-10-31 | Sony Electronics Inc. | Perceptual based color-compression for raster image quantization |
| US5272478A (en) * | 1992-08-17 | 1993-12-21 | Ricoh Corporation | Method and apparatus for entropy coding |
| US5381145A (en) * | 1993-02-10 | 1995-01-10 | Ricoh Corporation | Method and apparatus for parallel decoding and encoding of data |
| US5583500A (en) * | 1993-02-10 | 1996-12-10 | Ricoh Corporation | Method and apparatus for parallel encoding and decoding of data |
| US5471207A (en) * | 1994-02-23 | 1995-11-28 | Ricoh Company Ltd. | Compression of palettized images and binarization for bitwise coding of M-ary alphabets therefor |
| US5471320A (en) * | 1994-05-11 | 1995-11-28 | Xerox Corporation | Stack filters for 1-to-N bit image processing in electronic printers |
| US5748786A (en) * | 1994-09-21 | 1998-05-05 | Ricoh Company, Ltd. | Apparatus for compression using reversible embedded wavelets |
| US5867602A (en) * | 1994-09-21 | 1999-02-02 | Ricoh Corporation | Reversible wavelet transform and embedded codestream manipulation |
| US5689589A (en) * | 1994-12-01 | 1997-11-18 | Ricoh Company Ltd. | Data compression for palettized video images |
-
1995
- 1995-02-21 US US08/391,679 patent/US5659631A/en not_active Expired - Lifetime
-
1996
- 1996-01-27 TW TW085101009A patent/TW303567B/zh not_active IP Right Cessation
- 1996-01-27 TW TW085112203A patent/TW345795B/zh not_active IP Right Cessation
- 1996-02-15 KR KR1019960003753A patent/KR100214055B1/ko not_active Expired - Fee Related
- 1996-02-20 DE DE19606178A patent/DE19606178C2/de not_active Expired - Fee Related
- 1996-02-20 JP JP8032525A patent/JP2949066B2/ja not_active Expired - Fee Related
-
1997
- 1997-04-15 US US08/842,663 patent/US6285790B1/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US6285790B1 (en) | 2001-09-04 |
| KR100214055B1 (ko) | 1999-08-02 |
| TW345795B (en) | 1998-11-21 |
| DE19606178C2 (de) | 2002-06-13 |
| TW303567B (ja) | 1997-04-21 |
| DE19606178A1 (de) | 1996-09-26 |
| KR960032912A (ko) | 1996-09-17 |
| JPH08265800A (ja) | 1996-10-11 |
| US5659631A (en) | 1997-08-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2949066B2 (ja) | 圧縮方法、伸長方法、並列コンテキストモデラー、並列エントロピーコーダー、並列エントロピーデコーダー、画像圧縮装置及び画像伸長装置 | |
| JP4033836B2 (ja) | 可変長カラー・コードを用いる、パレット化されたカラー画像の圧縮 | |
| CN1044183C (zh) | 调色图象的压缩及其m阵符号集的比特状态编码的二进制化 | |
| KR100331351B1 (ko) | 이진입력데이터스트림압축방법 | |
| JP2005516554A6 (ja) | 可変長カラー・コードを用いる、パレット化されたカラー画像の圧縮 | |
| EP1832000B1 (en) | Device and data method for selective compression and decompression and data format for compressed data | |
| EP0734126A1 (en) | Two-stage compression with runlength encoding and lempel-ziv encoding | |
| EP0776569B1 (en) | Method and system for encoding and decoding image data | |
| JP4442891B2 (ja) | 可変長符号化装置及び可変長符号化方法 | |
| US5907635A (en) | Picture data decompression apparatus | |
| US20040013312A1 (en) | Moving image coding apparatus, moving image decoding apparatus, and methods therefor | |
| US6327383B2 (en) | Multi-color image encoding apparatus and method, multi-color image decoding apparatus and method | |
| JPH0779415B2 (ja) | 圧縮データの復号方法 | |
| US20060206509A1 (en) | Mesh compression | |
| JPH11168632A (ja) | ディザ画像の2値表現処理方法、ディザ画像の圧縮2値表現圧縮解除方法、及びディザ画像の圧縮及び圧縮解除システム | |
| USRE45300E1 (en) | Context-adaptive variable length coder with simultaneous storage of incoming data and generation of syntax elements | |
| US20080175312A1 (en) | Method and system of compressing and decompressing data | |
| JP2004517527A (ja) | グラフィック画像符号化 | |
| JP2005295307A (ja) | 画像圧縮方法、画像圧縮装置、画像伸張装置、およびプログラム | |
| JP2001217722A (ja) | 情報符号化装置及び情報符号化方法及びコンピュータ読み取り可能な記憶媒体 | |
| Denecker et al. | Design of an improved lossless halftone image compression codec | |
| JP4034385B2 (ja) | マルチカラー画像の符号化装置およびその方法ならびにマルチカラー画像の復号化装置およびその方法 | |
| JPH0311883A (ja) | 可変長符号の復号化方式とファクシミリ装置、および静止画像伝送システム | |
| JP2512195B2 (ja) | 符号化装置および復号化装置 | |
| JPH10136363A (ja) | 圧縮データ復号装置および圧縮データ復号方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070702 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080702 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080702 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090702 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100702 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110702 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120702 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120702 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130702 Year of fee payment: 14 |
|
| LAPS | Cancellation because of no payment of annual fees |