JP3378258B2 - 希薄データセットのスケーラブルコード化システム及び方法 - Google Patents

希薄データセットのスケーラブルコード化システム及び方法

Info

Publication number
JP3378258B2
JP3378258B2 JP54929098A JP54929098A JP3378258B2 JP 3378258 B2 JP3378258 B2 JP 3378258B2 JP 54929098 A JP54929098 A JP 54929098A JP 54929098 A JP54929098 A JP 54929098A JP 3378258 B2 JP3378258 B2 JP 3378258B2
Authority
JP
Japan
Prior art keywords
block
node
bit
list
data
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
Application number
JP54929098A
Other languages
English (en)
Other versions
JPH11514194A (ja
Inventor
チャールズ ケイ チュイ
レーファン ゾーン
ロンギシャン イー
Original Assignee
テラロジック インコーポレイテッド
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 テラロジック インコーポレイテッド filed Critical テラロジック インコーポレイテッド
Publication of JPH11514194A publication Critical patent/JPH11514194A/ja
Application granted granted Critical
Publication of JP3378258B2 publication Critical patent/JP3378258B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/647Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/62Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding by frequency transforming in three dimensions

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

【発明の詳細な説明】 発明の分野 本発明は、一般に、非ゼロデータにより希薄分布され
たウェーブレット変換像の量子化ウェーブレット係数の
ようなデータをロスなし(又は非ロスなし)圧縮及び再
構成するためのシステム及び方法に係り、より詳細に
は、ゼロ及び近ゼロ値により占有されたデータセットの
部分を効率的に識別しそしてエンコードするためのシス
テム及び方法に係る。
先行技術の説明 希薄分布データセットは、多数の技術的分野で利用さ
れている。本発明は、ウェーブレット変換を次々に適用
することにより変換された像データを効率的にエンコー
ドするために開発されたものであるが、他の形式の希薄
分布データセットにも等しく適用できる。ウェーブレッ
ト変換の次々の適用により変換された像データは、特
に、データがエンコードの前にデータ量子化段階を受け
る場合には、ゼロ及び近ゼロ値により占有された大きな
部分を有する傾向となる。
発明の要旨 本発明の主たる目的は、(A)ゼロ及び近ゼロデータ
により全体的に占有されたサブアレーを効率的に位置決
めしそしてできるだけ少数のデータビットでこのような
サブアレーをエンコードし、(B)少なくともある非ゼ
ロデータを含むサブアレーをエンコードするのに必要な
データビットの最大数を決定し、そして(c)このよう
なデータをロスなく記憶するのに必要なデータビットの
最少数で非ゼロデータをエンコードするためのエンコー
ド方法を提供することである。
本発明の別の目的は、情報のロスをできるだけ少なく
しながら圧縮データファイルのサイズを選択的に又は制
御可能に減少するためのメカニズムを提供することであ
る。
本発明の他の目的は、非常に計算効率が良く且つハー
ドウェア(電子回路)で部分的又は完全に実施するのに
適したエンコード方法を提供することである。
更に別の目的は、エンコードされ圧縮されたデータの
アレーがまだ受け取られている間に「オンザフライ」で
デコード及び部分的像再構成を容易に行い、受信システ
ムがそのエンコードされ圧縮されたデータの受信を終了
する前にユーザが部分的に再構成された像を見ることが
できるようにするエンコード及びデコード方法を提供す
る。
要約すれば、本発明は、データのアレーをエンコード
するシステム及び方法に係る。このデータエンコード方
法は、最大の絶対値を有するデータアレーのノードに対
し最上位の非ゼロビットのビット位置でスタートして、
ビット平面ごとのベースで圧縮データを次々に発生し、
そして次々の下位ビットに対してアレーのデータをエン
コードする。データアレーの全てのノードは、最初、ブ
ロックリストにおけるノードのブロックによって表わさ
れ、そしてその後の処理では2つのノードリストにおけ
るノードによって表わされる。2つのノードリストは、
小さな値のノードリストLSNと、大きな値のノードリス
トLLNである。
エンコードされている現在ビット平面に対し、ブロッ
クリストのブロックが、その最上位ビットが現在ビット
平面にあるようなノードを少なくとも1つ有することが
分かったときには、そのデータブロックのサイズが所定
の最小ブロックサイズ(例えば、2x2)より大きい場合
に、そのブロックが小さなデータブロックに分割され、
そしてそれらの小さなデータブロックが更なる処理のた
めにブロックのリストに入れられる。処理されているデ
ータブロックのサイズが所定の最小ブロックサイズであ
る場合には、ブロックのノードは、各ノードにおけるデ
ータ値の大きさに基づいて2つのノードリストの一方に
入れられる。
現在処理されているビット平面に最上位ビットがある
ようなノードをブロックが含むときには、最上位ビット
が現在ビット平面にあるブロックの全てのノードがLLN
リストに入れられるまでそのブロックが繰り返し細分化
される。ノードがLLNリストに入れられるときに同じ最
小サイズのブロックとなるべき他のノードがLSNリスト
に入れられる。最上位ビットが現在ビット平面にあるノ
ードを含まないブロックの分割中に形成される全てのサ
ブブロックは、ブロックのリストに残される。
各ブロックにおいて最大の絶対値を有するノードの値
を表わすデータと、2つのノードリストにおいてノード
の値を表わすデータは、一度に1つのビット平面で圧縮
データファイルへと出力される。ブロックの最下位から
m番目のビットを表わすデータビット及びノード値が最
初に圧縮データファイルに書き込まれる。但し、mは、
エンコードされている全データアレーにおいて最大の絶
対値を有するノードを表わすために必要な最小ビット数
である。ビット平面ストップ点に達するまで、次々の下
位ビット平面に対するデータビットが圧縮データファイ
ルに書き込まれる。ビット平面ストップ点は、予め定め
られてもよいし、ユーザが選択してもよいし、或いは手
順によって選択されてもよい(例えば、圧縮像データを
送信するのに使用できる帯域巾に基づいて)。
各ビット平面に対する圧縮データ内では、ブロック及
びノードがブロック及びノードリストに入れられた同じ
順序でデータビットが圧縮データファイルに書き込まれ
る。
エンコードされたデータは、主として、YxYデータブ
ロックにおける全てのノードの最上位Zビットがゼロに
等しいときに(例えば、ブロックがほぼゼロ及び近ゼロ
データを含むときに)、これら最上位ZビットがZxY2
ットではなくZビットのみでエンコードされて表わされ
るので、高度に圧縮される。更に、ブロックは、特定ノ
ードの非ゼロデータビットのエンコードに必要とされる
ときだけ、より小さなブロック又はノードに細分化され
る。実際に、圧縮されたデータは、各ブロックにおける
最大絶対値のノードをエンコードするのに必要なデータ
ビットの最大数を指示するビットシーケンスを各ブロッ
クごとに含む(圧縮データファイル全体に広く分布され
るが)。
データデコード方法は、エンコード方法により実行さ
れたプロセスを逆転するように、エンコードされたデー
タをリトレースする。データエンコード方法は、一度に
1ビット平面づつ、データブロック及びノード値を再構
成する。エンコードされたデータのビットは、第1ビッ
トから最後のビットまで単一パスで順序正しく読み取ら
れる。エンコードされたデータの最後のデータビットが
処理されたときに、エンコードされたデータアレーの再
構成が完了する。エンコードされたデータが読み取られ
るときには、後で処理されるデータブロックを識別する
ためにブロックリストにエントリが追加されると共に、
後で処理されるノードを識別するために2つのノードリ
ストにエントリーが追加される。
ある実施形態では、2つのノードリストを単一のデー
タ構造体へと合成することができ、各エントリは、それ
が属するリスト(LSN又はLLN)を指示するようにマーク
され、エンコーダ及びデコーダの所要メモリを減少す
る。
更に別の実施形態では、ノードリストを完全に排除
し、これにより、エンコーダ及びデコーダのメモリを更
に節約することができる。むしろ、ブロックリストの最
小サイズブロックは、それらが4つのノードに分割され
たときにはそのリストから削除されない。むしろ、ブロ
ックは、分割されたものとしてリストにマークされ(0
のような独特のブロックサイズ値を使用することによ
り)、そしてマークされたブロックリストにおける各ブ
ロックは、4つのノードの含蓄リストとして処理され
る。
好ましい実施形態では、「オンザフライ」の部分的像
再構成手順は、像に対する圧縮像がまだ受け取られてい
る間に、エンコードされた圧縮データのどんな部分が1
組の所定の接続部の各々において受信されそしてデコー
ドされたかを使用して、部分的に再構成された像を発生
及び再生することができるようにされる。
図面の簡単な説明 本発明の付加的な目的及び特徴は、添付図面を参照し
た以下の詳細な説明から容易に明らかとなろう。
図1は、本発明の第1の好ましい実施形態による像処
理ワークステーションのブロック図である。
図2は、像データアレーの概略図である。
図3A、3B及び3Cは、好ましい実施形態においてデータ
エンコーダ及びデータデコーダによって使用されるブロ
ックリスト及び2つのノードリストデータ構造体を示す
図である。
図4及び5は、各々、本発明に使用されるデータエン
コード方法及びデータデコード方法の好ましい実施形態
を示すフローチャートである。
図6、7、8、9及び10は、本発明のデータエンコー
ド方法の好ましい実施形態を示すフローチャートであ
る。
図11、12、13、14及び15は、本発明のデータデコード
方法の好ましい実施形態を示すフローチャートである。
図16及び17は、データのアレーをエンコード及びデコ
ードするためのエンコード及びデコード方法により必要
とされるメモリの量を減少するために本発明の第2及び
第3の好ましい実施形態で使用されるデータ構造体を示
す図である。
図18及び19は、低速通信チャンネルを経て受信されて
いる圧縮データから部分的に再構成された像を発生しそ
して更新する別の実施形態を示す図である。
好ましい実施形態の詳細な説明 図1は、本発明の第1の好ましい実施形態によるコン
ピュータシステム又はワークステーション100を示す。
このシステム100は、中央処理ユニット102と、内部シス
テム、制御及びデータバス104と、メモリ106(ランダム
アクセスメモリ及び不揮発性メモリ、例えば、磁気ディ
スク記憶装置を含む)と、ユーザインターフェイス108
と、1つ以上の通信チャンネル112を経て他の装置と情
報をやり取りするための通信インターフェイス110とを
備えている。
メモリ106は、コンピュータソフトウェア及びデータ
の両方を記憶し、これは、次のものを含む。
・ オペレーティングシステム120; ・ デジタルカメラ、CATスキャン装置、MR像形成シス
テム又はイメージスキャナにより発生された像データフ
ァイルのような生の像データ122; ・ データエンコーダ又はデータエンコード手順により
発生された圧縮像データファイルのようなエンコードさ
れたデータ124; ・ データデコーダ及びウェーブレットデータ再構成手
順により発生された再構成された像データファイルのよ
うな再構成された像データ126; ・ データファイルの記憶、送信及び受信を管理するた
めの手順128;及び ・ 像データを処理するための像処理モジュール130。
第1の好ましい実施形態では、像処理モジュール130
は、次のものを含む。
・ ウェーブレット変換を使用してデータのアレーをウ
ェーブレット分析データへと変換しそしてその逆にも変
換するためのウェーブレット手順132; ・ ウェーブレット手順132により発生されたウェーブ
レット分析データ(ウェーブレット係数としても知られ
ている)を量子化するためのデータ量子化手順134; ・ データのアレーをエンコードするためのエンコーダ
手順136; ・ 1組のエンコードされたデータをそれに対応する再
構成されたデータアレーへとデコードするためのデコー
ダ手順138; ・ 量子化されたウェーブレット係数をウェーブレット
係数へと再マッピングして戻すためのデータ量子化解除
手順139; ・ ウェーブレット分析データ又はデコードされたデー
タを一時的に記憶するための処理された像データファイ
ル又は記憶アレー140;及び ・ エンコーダ及びデコーダ手順136、138により使用さ
れるデータを記憶するためのブロックリスト及び2つの
ノードリストデータ構造体142、144、146。
上記のように、本発明は、希薄分布データセットに使
用するのに適している。エンコーダ及びデコーダ手順の
動作の説明上、使用するウェーブレット変換手順132の
特定の形式、及び像ファイルを処理された像データファ
イルへと変換するのに使用されるデータ量子化手順134
の特定の形式は、本発明に関与せず、従って、ここで
は、詳細に説明しない。しかしながら、ウェーブレット
変換手順132及びデータ量子化手順134の好ましい実施形
態は、背景情報としてここに参照する「加算及びビット
シフト演算オペレーションのみを用いてデジタルデータ
のウェーブレット及び逆ウェーブレット状変換を遂行す
るためのシステム及び方法(System and Method for Pe
rforming Wavelet and Inverse Wavelet Like Transfor
mations of Digital Data Using Only Add and Bit Shi
ft Arithmetic Operations)」とダイする996年11月27
日出願の米国特許出願第08/758,224号に開示されてい
る。
図2は、ウェーブレット分解変換を次々に適用するこ
とにより発生された係数の二次元アレー122を示してい
る。ウェーブレット分解変換を最初の二次元データアレ
ーに最初に適用すると、LL、HL1、LH1及びHH1と示され
た4組の係数が発生される。ウェーブレット分解変換の
各次々の適用は、手前のウェーブレット変換段階で発生
されたLL組の係数のみに適用され、LL、HLx、LHx及びHH
xと示された新たな4組の係数が発生され、ここで、x
は、ウェーブレット変換「レイヤ」、即ち繰り返しを表
わす。最後のウェーブレット分解変換繰り返しの後に、
1つのLL組のみが残る。発生される係数の全数は、元の
データアレーにおけるデータサンプルの数に等しい。各
々の変換繰り返しによって発生される異なる組の係数
は、「レイヤ」とも称される。
本発明は、ウェーブレット分解により発生されない希
薄データアレーのエンコードにも適用できるが、ウェー
ブレット分解により発生されるデータアレーの構造体
は、同様の大きさの値を有するデータのブロックを効率
的にエンコードするように最適化されたデータ圧縮手順
に良く適している。特に、データアレーのHHx、HLx及び
LHx部分におけるウェーブレット係数は、ゼロ及び近ゼ
ロ値によって左右される傾向がある。
図3A、3B及び3Cは、エンコーダ及びデコーダ手順によ
り使用される主たる「ブックキーピング」データ構造体
を示す。特に、ブロックリストデータ構造体(LB)142
は、分析されているブロック(即ち、データのサブアレ
ー)をリストし、第1のノードリスト(LSN)144は、
「小さな」ノード(即ち現在スレッシュホールド値に対
して小さな値を有するノード)をリストし、そして第2
のノードリスト(LLN)146は、「大きな」ノード(即ち
現在スレッシュホールド値に対して大きな値を有するノ
ード)をリストする。
ブロックリストLB142は、各データブロックごとに2
つの項目を記憶し、即ちデータブロックの発生源を指示
する2つの値(i,j)より成るブロック識別子と、デー
タブロックの高さ及び巾を指示する値(k)とを記憶す
る。1つの好ましい実施形態では、ブロックは、常に、
その高さ及び巾の両方が2つの整数乗2kであるデータノ
ードの数に等しい。ノードリストLSN144及びLLN146の各
々は、これらのリストに表わされた各ノードの座標を記
憶する。
ブロックリストLB142は、リスト内の次の未処理ブロ
ック(即ち、現在ビットレベルに対してまだ処理されて
いないリスト内の最も高いブロック)を指すポインタ14
8と、リスト内の次の未使用スロットを指すポインタ149
とを有する。小さなノードのリストLSN144は、リスト内
の次の未処理ノードを指すポインタ150と、リスト内の
次の未使用スロットを指すポインタ151とを有する。大
きなノードのリストLLN146は、リスト内の次の未処理ノ
ードを指すポインタ152と、リスト内の次の未使用スロ
ットを指すポインタ153と、リスト内のどこで処理ノー
ドを停止するかを指示するための終点ポインタ154とを
有する。
エンコーダ手順 図4を参照すれば、エンコーダ手順136を実行する前
に、1つ以上のデータ準備手順が一般的に実行される
(ステップ170)。好ましい実施形態では、データ準備
は、像データアレーのウェーブレット変換を実行し(ウ
ェーブレット手順132を用いて)、その後、それにより
得られたデータを所定の1組の離散的データ値に対して
量子化する(データ量子化手順134を用いて)ことより
成る。ウェーブレット変換及び量子化データ準備段階
は、通常、非ゼロデータが希薄に分布したデータアレー
を発生する。しかしながら、エンコーダ手順は、三次元
及びN次元データアレーを含むいかなるデータアレーも
仮想的にエンコードするのに適している。エンコーダ手
順136は、データアレーの次々の「ビットレベル」又は
「ビット平面」において繰り返され、先ず、最大の絶対
値を有するデータノードの最上位ビットを処理し、そし
てノード値の下位ビットを次々に処理する。エンコーダ
手順は、残りの下位データビットの数が特定の停止点に
等しくなったときに自動的に停止する。
各ビットレベルごとに、データアレーのデータブロッ
クは、それらがブロック142のリストに現れる順序で分
析される。データブロックが処理されるときに、ノード
の絶対値の最下位からm番目のビットが1に等しいよう
なノードをデータブロックが含まないと決定された場合
には、圧縮データファイルに0ビットを書き込むことに
よりそのことが指示され、そしてデータブロックのそれ
以上の処理は必要とされない。さもなくば、圧縮データ
ファイルに1ビットが書き込まれ、そしてデータブロッ
クが細分化される。特に、データブロックのサイズが2x
2より大きい場合には、データブロックが4つの小さな
サブブロックに分割され、そしてこれら4つの小さなサ
ブブロックが更なる処理のためにブロックのリストに入
れられる。処理されているデータブロックのサイズが2x
2である場合に、データブロックの各ノードは、ノード
の絶対値の最下位からm番目のビットが1に等しいかど
うかに基づいて2つのノードリストの一方に押し込めら
れる。
各ビットレベルごとに、2つのノードリストにおける
全てのノードは、これら2つのリストにおけるノードの
値を表わすビット値を出力することにより処理される。
より詳細には、エンコーダ手順は、エンコードされる
べき特定のデータアレーの高さ及び巾を決定しそしてこ
れらの値を出力ファイルへ出力することにより開始され
る(ステップ172)。データアレーの高さ及び巾が、あ
る整数nに対し、両方とも2nx2nに等しくない場合に
は、エンコードされるデータアレーが2nx2nアレーにな
るようにデータアレーがゼロ値(ナル)エントリで拡張
される。又、ステップ172において、エンコードレベル
「停止点」が圧縮データファイルに出力され、ここで、
「停止点」は、エンコーダにより予め決定されるか、ユ
ーザが選択するか、或いは像の質の分析手順のような他
の何らかのやり方で決定される。ステップ174におい
て、主たるエンコーダ手順が呼び出される。
主たるエンコーダ手順が1組の圧縮データを発生した
後に、圧縮データの量(例えば、32ビット又は64ビット
ワードのようなバイト、ワード又は所定のサイズで測定
された)の指示子が圧縮データファイルの開始部に挿入
される(ステップ176)。圧縮データを受信システムへ
供給する間に、圧縮データファイルのサイズ指示子が受
信システムにより使用されて、該システムがそれまでに
圧縮データの何パーセントを受け取ったか、そして圧縮
データファイル全体を受け取るのにどのくらいの時間が
かかるかを決定することができる。
図5に示すデコーダ手順は、エンコーダ手順のステッ
プを逆にしたものであり、「デコーダ手順」のセクショ
ンで以下に詳細に説明する。
テーブル1は、フローチャート図に使用される用語及
び省略形の定義を示す。
図6を参照すれば、2nx2nデータ値のアレーをエンコ
ードするための手順は、2nx2n分析アレー全体を表わす
第1エントリーをブロックのリストに入力することによ
り開始される(ステップ200)。ブロックのリストは、
この第1エントリ以外は空である。又、ステップ200に
おいて、エンコーダ手順は、分析されている全アレーの
データ値をエンコードするのに必要な最大ビット数に等
しいビット(0、0、n)の値を決定し、そして所定数
のビット(例えば、4ビット)を用いてその値を出力す
る。
ビットレベル制御変数「m」は、ビット(0、0、
n)に等しくセットされ、従って、mは、データアレー
におけるノードの最上位非ゼロビットを最初に指示す
る。ビット(0、0、n)がゼロに等しい場合には(ス
テップ204)、エンコードされるべきアレーにおける全
てのノードがゼロに等しいことを指示し、従って、エン
コード手順が完了となる(ステップ206)。
より詳細には、現在ビットレベルmが指定の「停止
点」(図中のStopPt)より大きい場合には(ステップ20
4)、データアレーを更にエンコードする必要があるこ
とを示す。mが「停止点」以下である場合には、データ
アレーのエンコードが完了したことを示す(ステップ20
6)。ビットレベル「停止点」値は、エンコードされる
べきでないデータアレーの最下位ビットの数(又はビッ
トレベルの数)を指示する。
更なるエンコード動作が必要とされる場合には(ステ
ップ204−Y)、LSNリスト144のノードがLSNエンコード
手順により処理され(ステップ208)、LBリスト142のブ
ロックがLBエンコード手順により処理され(ステップ21
0)、そしてLLNリスト146のノードがLLNエンコード手順
により処理される(ステップ212)。次いで、ビットレ
ベルmが1だけ増加され(ステップ214)、そしてエン
コードされるべきデータアレーの全てのビットレベルが
実際にエンコードされるまで主たるエンコーダループ
(ステップ204、208、210、212、214)が繰り返され
る。
図7を参照すれば、LSNエンコード手順は、次の未処
理ノードを指すポインタ150をLSNリストの第1項目にリ
セットし(ステップ220)、次いで、LSNリスト144にま
だ処理されていないノードが少なくとも1つあるかどう
か決定する(ステップ221)ことにより開始される。こ
の手順は、LSNリストから次の未処理ノード(i,j)を選
択し、ノードの絶対値|V(i,j)|の最下位からm番目
のビットを出力する(ステップ222)。
選択されたノードの絶対値|V(i,j)|の最下位から
m番目のビットが0である場合には(ステップ224)、
選択されたノードの処理は、LSNエンコード手順の処理
ループの現在繰り返しに対して完了する。さもなくば、
現在の選択されたノードに対しステップ222において出
力されるビット値が1である場合には、この手順は、sg
n(V(i,j))に等しい1つのビットを出力し、そして
更に、現在の選択されたノードは、大きなノードのリス
トLLNへと移動される(ステップ226)。
図7のLSNエンコード手順は、LSNリストの全てのノー
ドが処理されるまで続けられる。この手順が完了したと
きには、LSNリストに既にあって絶対値が2m-1以上であ
ったノードはLLNリストへ移動されており、一方、リス
ト内の他のノードの各々については、「0」ビットが出
力され、これらノードの各々が2m-1未満の絶対値を有す
ることを指示する。
図8を参照すると、LBエンコード手順は、LBリストの
第1項目を指すように「次の未処理ブロック」ポインタ
148をリセットし(ステップ240)、次いで、ブロックリ
ストLB142にまだ処理されていないブロックが少なくと
も1つあるかどうか決定する(ステップ241)ことによ
り開始される。LB142にまだ処理されていないブロック
が少なくとも1つ存在しない場合には(241−Y)、LB
エンコード手順が終了となる。さもなくば、ブロックリ
ストLB142から次の未処理のデータブロック(i,j,k)を
選択し、そしてビット(i,j,k)がmに等しいかどうか
を指示する1ビットが出力される(ステップ242)。従
って、絶対値が2m-1以上であるような少なくとも1つの
ノードが(i,j,k)ブロックにある場合には、1ビット
が出力され、さもなくば、0ビットが出力される。
選択されたブロックV(i,j,k)におけるノードの最
大絶対値が2m-1未満である(即ち、ステップ242で出力
されるビット値が0である)場合には(ステップ244−
N)、LBエンコード手順の現在の繰り返しに対し、選択
されたブロックの処理が完了となる。さもなくば、現在
の選択されたブロックに対しステップ242で出力される
ビット値が1である場合には、その選択されたブロック
が更に処理される。より詳細には、ブロックのサイズが
2x2より大きい場合には、選択されたブロックが4つの
小さなブロック(i,j,k−1)、(i,j+2k-1,k−1)、
(i+2k-1,j,k−1)及び(i+2k-1,j+2k-1,k−1)
に分割され、そしてこれらの小さなブロックがブロック
リストLB142の終わりに追加される(ステップ248)。更
に、選択されたブロック(i,j,k)がブロックリストLB1
42から除去される(ステップ250)。
選択されたブロックが最小サイズブロック(2x2)で
ある場合には、選択されたブロックにおける4つのノー
ド(x,y)の各々に対して次のオペレーションが実行さ
れる(ステップ252)。第1に、ノードの絶対値|V(x,
y)|の最下位からm番目のビットが出力される。次い
で、ノードが「大きな値」(|V(x,y)|≧2m-1を意味
する)を有する場合には、ノードの値の符号sgn(V
(x,y))を表わす1ビットが出力され、そしてノード
(x,y)がLLN146の終わりに追加される。さもなくば、|
V(x,y)|<2m-1の場合には、ノード(x,y)がLSN144
の終わりに追加される。更に、選択されたブロックがブ
ロックリストから除去される(ステップ250)。
上記の手順は、ブロックリストの全てのブロックが処
理される(ステップ241)まで続けられ、この時点で、L
Bエンコード手順が終了となる。
図3及び9を参照すれば、LLNの終了点を指すポイン
タ154の目的は、LLNリストの処理を、現在ビットレベル
に対してLBエンコード手順が実行される前にLLNリスト
に存在したノードに制限することである。LLNエンコー
ド手順は、LLNリストの第1項目(もしあれば)を指す
ように「次の未処理ノード」ポインタ152をリセットし
(ステップ260)、次いで、(A)LLNリストが空である
か又は(B)LLNの終了点(154)に達したかどうか決定
する(ステップ262)ことにより、開始される。LLNに未
処理ノードが残っていない場合には(262−Y)、LLN終
了点を指すポインタがLLNリストの最後の項目を指すよ
うセットされる(264)。さもなくば(262−N)、この
手順は、LLNから次の未処理ノード(i,j)を選択し、そ
して|V(i,j)|の最下位からm番目のビットを圧縮フ
ァイルへ出力する(ステップ264)。
図9のLLNエンコード手順は、ポインタ154で参照され
るノードを経てLLNの終了点に至るまでのLLNの全てのノ
ードが処理される(262)まで、続けられる。
図6及び10を参照すれば、例えば、ファイルの送信時
間が特定の時間限界を満たすよう確保するために、ユー
ザ又はエンコーダが圧縮データファイルのサイズ限界を
セットする間、及びエンコードされたデータファイルが
そのサイズ限界に到達するエンコードプロセス中に、エ
ンコード終了手順が自動的に呼び出され(270)、圧縮
データファイルを閉じると共に、エンコーダ手順を秩序
正しく終了する。
デコーダ手順 図5及び11を参照すれば、デコーダ手順138は、一般
に、エンコーダ手順136により行われるプロセスを逆転
するように、エンコードされたデータを読み取りそして
解釈することにより機能する。エンコードされたデータ
のビットは、第1ビットから最後のビットまで単一のパ
スで順序正しく読み取られる。エンコードされたデータ
の最後のデータビットが処理されたときには、エンコー
ドされたデータアレーの再構成が完了する。
エンコードされたデータが読み取られるときには、デ
コーダ手順において後で処理されるデータブロック及び
ノードを識別するために、ブロックリストLB142及び2
つのノードリストLSN144及びLLN146にエントリが追加さ
れる。ブロック及びノードを表わすデータは、エンコー
ドされたデータにおいてそれらが現れる順に分析され
る。
図5を参照すれば、デコーダ手順は、エンコードされ
たデータから、圧縮データファイルのサイズ、デコード
及び再構成されるべきデータアレーの高さ及び巾を読み
取る(入力)することにより開始される(ステップ18
0)。データアレーの高さ及び巾が、ある整数nに対し
て両方とも2nx2nに等しくない場合には、再構成される
データアレー126は、デコードされているデータアレー
が2nx2nアレーとなるようにゼロエントリで拡張され
る。又、ステップ180において、エンコードレベル「停
止点」値が圧縮データファイルに入力される。
再構成された像アレーは、全てゼロの値に初期化され
(ステップ182)、次いで、主たるデコーダ手順が呼び
出される(ステップ184)。デコードプロセスが完了し
た後に、それにより得られる再構成されたデータは、逆
ウェーブレット変換手順のような後処理手順を受け(ス
テップ186)、像ファイルが再構成される。
図11を参照すれば、2nx2nデータ値のアレーを表わす
エンコードされたデータのセットをデコードする手順
は、2nx2n分析アレー全体を表わす第1エントリをブロ
ックのリストに入力することにより開始される(ステッ
プ300)。ブロックのリストLBは、この第1エントリ以
外は空である。又、ステップ300において、デコード手
順は、LSN及びLLNを空きリストとして初期化し、そして
デコードされている全アレーにおいてノードデータ値を
エンコードするのに必要な最大ビット数を表わす所定の
ビット数(例えば、4ビット)を有する「ビット長さ
値」、即ちビット(0、0、n)を入力する。
ビットレベル制御変数「m」は、ビット(0、0、
n)に等しくセットされ、従って、mは、データアレー
におけるノードの絶対値の最上位非ゼロビットを最初に
指示する。ビット(0、0、n)がゼロに等しい場合に
は(ステップ304)、エンコードされるべきアレーにお
ける全てのノードがゼロに等しいことを指示し、従っ
て、エンコード手順が完了となる(ステップ306)。
より一般的には、現在ビットレベルmが指定の「停止
点」(図中のStopPt)より大きい場合には(ステップ30
4)、圧縮データを更にデコードする必要があることを
示す。mが「停止点」以下である場合には、圧縮データ
のデコードが完了したことを示す(ステップ306)。ビ
ットレベル「停止点」値は、デコードされるべきでない
圧縮データの最下位ビットの数(或いはビットレベル又
はビット平面の数)を指示する。好ましい実施形態で
は、デコーダにより使用される「停止点」値が、エンコ
ーダにより使用される「停止点」と同じであるが、別の
実施形態では、デコーダのユーザは、デコーダ「停止
点」値が、特定の圧縮ファイルに対してエンコーダによ
り使用される「停止点」値と少なくとも同じ大きさであ
る限り、異なる「停止点」値を選択することができる。
更なるデコード動作が必要とされる場合には(ステッ
プ304−Y)、LSN144のノードがLSNデコード手順により
処理され(ステップ308)、LB142のブロックがLBデコー
ド手順により処理され(ステップ310)、そしてLLN146
のノードがLLNデコード手順により処理される(ステッ
プ312)。次いで、ビットレベルmが1だけ減少され
(ステップ314)、そしてデコードされるべきデータア
レーの全てのビットレベルが実際にデコードされるまで
主たるデコーダループ(ステップ304、308、310、312、
314)が繰り返される。
図12を参照すれば、LSNデコード手順は、「次の未処
理ノード」のポインタ150をLSNの第1項目にリセットし
(ステップ320)、次いで、LSN144にまだ処理されてい
ないノードが少なくとも1つあるかどうか決定する(ス
テップ321)ことにより開始される。この手順は、LSNに
おいて次の未処理ノード(i,j)を選択し、|V(i,j)|
の最下位からm番目のビットを圧縮ファイルから入力す
る(ステップ322)。
入力ビットが0である場合には(ステップ324)、選
択されたノードの処理は、LSNデコード手順の処理ルー
プの現在繰り返しに対して完了する。さもなくば、現在
の選択されたノードに対しステップ322において入力さ
れるビット値が1に等しい場合には、この手順は、再構
成された像アレーにおける(i,j)ノードの最下位から
m番目のビットを1にセットし、V(i,j)の符合を表
わすビットを入力し、再構成された像アレーにおける
(i,j)ノードの符号をそれに応じてセットし、そして
(i,j)ノードをLSNからLLNへ移動する(ステップ32
6)。
図12のLSNデコード手順は、LSNの全てのノードが処理
されるまで続けられる。この手順が完了したときには、
LSNに既にあって絶対値が2m-1以上であったノードはLLN
へ移動されている。
図13を参照すれば、LBデコード手順は、LBリストの第
1項目を指すように「次の未処理ブロック」ポインタ14
8をリセットし(ステップ340)、次いで、LBリスト142
にまだ処理されていないブロックが少なくとも1つある
かどうか決定する(ステップ341)ことにより開始され
る。LBリスト142がからである場合には(341−Y)、LB
デコード手順が終了となる。さもなくば、ブロックリス
トLB142から次の未処理のデータブロック(i,j,k)を選
択し、そしてビット(i,j,k)がmに等しいかどうかを
値が指示する1ビットが圧縮データファイルから入力さ
れる(ステップ342)。従って、1ビットが入力された
場合には、絶対値が2m-1以上であるような少なくとも1
つのノードが(i,j,k)ブロックにあり、さもなくば、
0ビットが入力された場合には、(i,j,k)ブロックの
全てのノードが2m-1未満の絶対値を有する。
選択されたブロックV(i,j,k)における全ノードの
最大絶対値が2m-1未満である(即ち、ステップ342で出
力されるビット値が0である)場合には(ステップ344
−N)、LBデコード手順の処理ループの現在の繰り返し
に対し、選択されたブロックの処理が完了となる。さも
なくば、現在の選択されたブロックに対しステップ342
で入力されるビット値が1である場合には(344−
Y)、その選択されたブロックが更に処理される。より
詳細には、ブロックのサイズが2x2より大きい場合に
は、選択されたブロックが4つの小さなブロック(i,j,
k−1)、(i,j+2k-1,k−1)、(i+2k-1,j,k−1)
及び(i+2k-1,j+2k-1,k−1)に分割され、そしてこ
れらの小さなブロックがブロックリストLB142の終わり
に追加される(ステップ348)。更に、選択されたブロ
ック(i,j,k)がブロックリストLB142から除去される
(ステップ350)。
選択されたブロックが最小サイズブロック(2x2)で
ある場合には、選択されたブロックにおける4つのノー
ド(x,y)の各々に対して次のオペレーションが実行さ
れる(ステップ352)。第1に、|V(x,y)|の最下位か
らm番目のビットが入力される。1ビットが入力される
場合には、|V(x,y)|≧2m-1であり、さもなくば、|V
(x,y)|<2m-1である。次いで、ノードが「大きな
値」(|V(x,y)|≧2m-1を意味する)を有する場合に
は、(A)ノードの値の符号sgn(V(x,y))を表わす
別のビットが入力され、(B)再構成されたデータアレ
ーにおいて(x,y)ノードの最下位からm番目のビット
に「1」ビットが書き込まれ、そして再構成されたデー
タアレーの(x,y)ノードに符号ビットも書き込まれ、
そして(C)ノード(x,y)がLLN146の終わりに追加さ
れる。さもなくば、|V(x,y)|<2m-1である場合に
は、ノード(x,y)がLSN144の終わりに追加される。更
に、選択されたブロックがブロックリストLBから除去さ
れる(ステップ350)。
上記のLBデコード手順は、ブロックリストの全てのブ
ロックが処理される(ステップ341)まで続けられ、こ
の時点で、LBデコード手順が終了となる。
図14を参照すれば、LLNデコード手順は、LLNの第1項
目を指すように「次の未処理ノード」ポインタ152をリ
セットし(ステップ360)、次いで、(A)LLNリストが
空であるか又は(B)LLNの終了点(154)に達したかど
うか決定する(ステップ361)ことにより、開始され
る。LLNにノードが残っていない場合には(361−Y)、
LLN終了点を指すポインタがLLNの最後の項目を指すよう
セットされる(364)。さもなくば(361−N)、この手
順は、LLNから次の未処理ノード(i,j)を選択し、そし
て1つのデータビットを圧縮ファイルから入力する。こ
のデータビットは、次いで、(i,j)ノードの最下位か
らm番目のビットとして再構成されたデータアレーへ書
き込まれる(ステップ364)。
図14のLLNデコード手順は、LLN終了点ポインタ154で
参照されるノードを経てLLNの全てのノードが処理され
る(361)まで、続けられる。
図11及び15を参照すれば、例えば、デコードが特定の
時間周期内に完了するように確保するためにユーザ又は
デコーダが圧縮データの質限界をセットし、そしてデコ
ードされるデータの量がその限界に到達する場合、或い
はデコーダが圧縮データファイルの終わりに達した場合
には、デコード終了手順が自動的に呼び出され(37
0)、圧縮データファイル及び再構成された像アレーフ
ァイルを閉じると共に、デコーダ手順を秩序正しく終了
する。
エンコーダ及びデコーダの所要メモリの減少 大きな又は高ピクセル密度の像を表わすデータアレー
のような大きなデータアレーについては、LSN及びLLNノ
ードリストにより要求されるメモリの量が著しいものと
なって、実際のデータアレー及び圧縮データをあらわす
のに必要なメモリ量を越える。メモリリソースに限度の
あるデスクトップコンピュータに本発明を実用的に使用
するために、本発明に関連した所要メモリを減少する2
つの別の実施形態が提供される。
図16を参照すれば、第1の別の実施形態において、エ
ンコーダ及びデコーダにより使用される2つのノードリ
スト(LSN及びLLN)は、現在ノード位置及びノードリス
ト終了点を各々追跡するための2つのポインタ402、404
と共に単一データ構造体400へと合成することができ
る。任意であるが、リストの各エントリは、それが属す
るリスト(LSN又はLLN)を指示するためのフラグを含む
ことができるが、このようなフラグの使用は、必要でな
い。特に、エンコーダ及びデコーダの両方において、次
の基準を使用し、合成リスト400の各エントリが属する
リストを動的に決定することができる(プログラムの実
行中に)。
処理されている現在ビット平面は、m番目の平面であ
る。
LSNエンコード又はデコード手順の実行中に、ノード
(i,j)のノードエントリは、|V(i,j)|<2mであれ
ば、最初にLSNにある(手順のステップ222及び322にお
いて)。
LLNエンコード又はデコード手順の実行中に、ノード
エントリは、|V(i,j)|≧2m+1であれば、LLN終了点の
前のLLNの部分にある(手順のステップ264及び364)。
項目は、LSNからLLNへ「移動」されない。むしろ、LS
N及びLLNにおけるメンバーシップは、上述した値の範囲
で決定され、これは、現在処理されているビット平面に
より決定される。
換言すれば、LSN及びLLNエンコード手順は、リストデ
ータ構造体400及び生のデータアレー122の両方にアクセ
スし、どのノードが2つのリストのどちらにあるか決定
する必要があり、同様に、LSN及びLLNデコード手順は、
データ構造体400及び再構成されたデータアレー126のデ
ータの両方にアクセスして、どのノードが2つのリスト
のどちらにあるか決定する必要がある。図7のステップ
221及び222;図9のステップ262及び264;図12のステップ
321及び322;並びに図14のステップ361及び362は、全
て、LSN又はLLNリストの項目に対する基準を満たす次の
項目が合成ノードリスト400にもしあればそれをサーチ
するように変更される。又、ステップ226及び326におい
て、LSNからLLNへノードを「移動」する必要は、もはや
ない。というのは、このようなリストの移動は全てノー
ドの絶対値により暗示されるからである。
この実施形態での圧縮データファイルにおける圧縮デ
ータの順序は、第1の実施形態におけるデータ順序とは
異なることに注意されたい。というのは、これら2つの
実施形態においてLLNリスト内の項目の順序が異なるか
らである。(LB及びLSNリスト内の項目の順序は不変に
保たれる。)それ故、エンコーダ及びデコーダの両方が
エンコード及びデコードプロセスに対し同じノードリス
トデータ構造体を使用することが必要となる。
この「合成ノードリスト」実施形態の実行時間は、第
1の好ましい実施形態の場合より長くなる。というの
は、この第2の実施形態では、各ノードがどのリストに
属するかを単に決定するだけで、生のデータアレー又は
再構成されたデータアレーにおけるデータ値を繰り返し
アクセスしてスレッシュホールド値2mに対して比較しな
ければならないが、第1の好ましい実施形態では、この
ような比較が必要とされないからである。
図17を参照すれば、第2の別の実施形態では、LSN及
びLLNリストを記憶するためのデータ構造体を完全に排
除することにより相当のメモリが節約される。むしろ、
この実施形態では、ブロックリスト142における最小サ
イズノードブロック(即ち、2x2ブロック)は、それら
が4つのノードに分割されるときにそのリストから削除
されない。むしろ、ブロックは、リストにおいて分割さ
れたとマークされ(0のような独特のブロックサイズ値
を使用することにより)、そしてマークされたブロック
リストの各ブロックは、4つのノード(i,j)、(i,j+
1)、(i+1,j)、(i+1,j+1)の暗示的リストと
して処理される。(LBリストから削除される大きなブロ
ックは、リストから除去することもできるし(リスト内
で全ての項目を下方に移動する必要がある)、又は削除
されるエントリにおける3つのパラメータの1つをFF16
のような特殊なマーカー値にセットすることにより削除
とマークすることができる。)従って、任意の時間にお
けるノードのリストは、特別にマークされたブロックで
表わされたノードのセットより成る。
又、ステップ226及び326では、LSNからLLNへノードを
「移動」する必要はもはやない。というのは、このよう
な全てのリスト移動は、ノードの絶対値により暗示され
ないからである。更に、ステップ252及び352では、LSN
及びLLNリストの終わりにノードを入れる必要がもはや
ない。むしろ、ステップ252及び352では、ブロックエン
トリが1組のノードを表わすものとしてマークされる。
どのノードがLSNにありそしてどのノードがLLNにある
かを決定するための基準であって、図16に対応する実施
形態で使用されたものと同じ厳密な基準が、この実施形
態にも使用される。従って、絶対値が2mより小さい暗示
的ノードリストにおける各ノードは、LSNにあるとして
処理され、そして暗示的ノードリストにおける他の各ノ
ードは、LLN終了点の前のLLNの部分にあるとして処理さ
れる。
この場合も、この「暗示的ノードリスト」実施形態で
の圧縮データファイルにおける圧縮データの順序は、第
1及び第2の実施形態におけるデータ順序と異なる。と
いうのは、LSN及びLLNリストにおける項目の順序が他の
2つの実施形態の場合とは異なるからである。(LBリス
トにおける項目の順序は不変のままである。)それ故、
エンコーダ及びデコーダの両方がエンコード/デコード
プロセスに対して基礎的なリストデータ構造体を使用す
ることが必要となる。
この「暗示的ノードリスト」実施形態の実行時間は、
第1の好ましい実施形態の場合より長くなる。というの
は、この実施形態では、ブロックリストがLSN及びLLNエ
ンコーダ/デコーダ手順により横断されるたびにデータ
即ち暗示ノード部分(即ちブロックリストエントリによ
り暗示される)を発生及び再生しなければならず、そし
て各ノードがどのリスト(LSN又はLLN)に属するかを決
定するだけで、生のデータアレー又は再構成されたデー
タアレーにおける値を繰り返しアクセスしてスレッシュ
ホールド値2mに対して比較しなければならないが、第1
の好ましい実施形態では、このような比較が必要とされ
ないからである。
圧縮データ供給中におけるオンザフライ部分像再構成 図4及び5を参照すれば、エンコード手順のステップ
176において、圧縮データファイルのサイズが圧縮デー
タファイルの始めに挿入される。或いは又、この情報
は、圧縮データを1つのコンピュータシステムから別の
コンピュータシステムへ供給するのに使用されるデータ
送信手順128により圧縮データファイルに対して予め保
留状態にしておくこともできる。圧縮データファイルサ
イズ情報は、ステップ180においてデコーダ手順により
読み取られる。更に、好ましい実施形態では、デコーダ
手順は、圧縮データを、それが受け取られるときに読み
取って処理する(即ち、それまでに受け取られたデータ
を処理するまで受信されるべきファイルの終わりを待機
するものではない)。圧縮データは、通常、データパケ
ットの流れとして供給され、そのサイズは、使用するデ
ータ通信システムにより指示される。圧縮データの順次
の完成サブセットが受信されたところまで、そのデータ
は、圧縮データのその後の部分を受け取る前に、デコー
ダ手順により処理することができる。
図18を参照すれば、好ましい実施形態において、「オ
ンザフライ」部分像再構成割り込み手順は、圧縮像ファ
イルが受信されるときであって、圧縮データファイルが
大きいか又はデータ供給率が低くてファイルが受信にN
秒(例えば、20秒)以上を要する場合に、イネーブルさ
れる(ステップ410)。割り込み手順は、2つのユーザ
選択可能なモードを有する。タイマーをベースとするモ
ードにおいては、部分的に再構成された像は、全圧縮デ
ータファイルが受け取られるまで、その時点までに受け
取られた圧縮データに基づいて、X秒(例えば10秒)ご
とに発生されそして更新される。「ファイルパーセンテ
ージ」モードでは、部分的に再構成された像は、全圧縮
データファイルが受け取られるまで、その時点までに受
け取られた圧縮データに基づいて、多数のパーセンテー
ジスレッシュホールドの各々において(例えば、圧縮デ
ータファイルの30、50、70及び90パーセントを受信する
際に)発生されそして更新される。
本発明は、圧縮データの最上位ビット平面を圧縮デー
タアレー又はファイルの始めに入れるので、受信システ
ムは、データの全ビット平面の幾つかが受信されそして
デコードされるや否や、データアレー又は像を再構成し
始めることができる。もちろん、再構成された像の質
は、付加的な圧縮データの受信で改善されるが、ユーザ
は、それに関連する像を見るまでに全ての圧縮データが
受信されるのを強制的に待機させられることはない。そ
の結果、ユーザは、全圧縮データファイルが受信される
までに受け取られる像又は他のデータの有効な評価を行
うことができる。例えば、部分的に再構成された像を見
るときには、ユーザは、圧縮データの送信を終了するよ
うに判断することができる(例えば、間違った像が要求
されたか、又は部分的に再構成された像が、ユーザの要
求した像を既に与えたとユーザが決定した場合)。
オンザフライの像更新がイネーブルされ、そしてタイ
マーが時間切れとなり及び/又は所定の入力ファイルパ
ーセンテージスレッシュホールド(例えば、圧縮データ
ファイルの30、50、70又は90パーセント)を越える場合
には(ステップ410)、コンピュータのオペレーティン
グシステムにより割り込み手順が呼び出される(ステッ
プ412)。この割り込み手順は、先ず、圧縮データがデ
コーダ手順によりまだ完全にデコードされていないこと
を保証する(ステップ414)。さもなくば、それまでに
デコードされた圧縮データは、量子化解除され、逆ウェ
ーブレット変換されて、部分的に再構成された像を発生
する(ステップ416)。
一般に、受信側コンピュータが、中規模の計算能力を
有するデスクトップコンピュータであるときでも、デー
タデコードプロセスは、標準的な電話接続又はISDNライ
ンを経てデータが受信されるレートよりも著しく非常に
速いものとなる。それ故、割り込み手順がコールされた
ときに、デコーダ手順は、受信システムによりそれまで
受信されたデータの全部又はほぼ全部をおそらくデコー
ドしている。ケーブルモデム又はT1インターネット接続
を有するネットワークのような高速通信接続が使用され
る場合には、オンザフライ像更新割り込み手順の使用が
通常はディスエイブルされる。というのは、全圧縮デー
タファイルの送信が数秒以上要することはあり得ないか
らである。
1つの好ましい実施形態では、圧縮データは、割り込
み手順の実行中に受信され続けるが、デコードされな
い。マルチスレッディングを用いる他の実施形態では、
割り込み手順が既にデコードされたデータを処理する間
に、デコーダ手順を実行し続けることができる。
図19を参照すれば、別の実施形態において、オンザフ
ライ像更新がイネーブルされる限り、データの各全ビッ
ト平面がデコードされた後に部分的に再構成された像を
発生するようにデコーダ手順を変更することができる
(ステップ420)。
付加的な別の実施形態 本発明の上記説明は、一般に、本発明を使用するシス
テムがエンコーダ及びデコーダの両方を有することを示
したが、多数の商業的な実施形態では、少数のユーザ又
はマシンのみがエンコーダ及びデコーダの両方を含み、
一方、多数のユーザ又はマシンがデコーダのみを含むこ
とが予想される。例えば、本発明によるデコーダは、種
々のワールロワイドウェブブラウザのユーザに配布され
る像観察手順のライブラリーに含まれ、一方、像を他の
個人へ送信又は配布することに関心のあるユーザのみが
エンコーダを使用する許可を得てもよい。
別の実施形態では、エンコード又はデコード処理段階
の幾つか又は全部が、逐次データ処理を制御するための
状態マシンを含むハードコード化論理回路によって実行
される。状態マシンの状態は、処理されているデータ
と、ブロックリストに記憶されてそこから読み取られた
データ値とに基づいて、各段階において更新される。
本発明は、三次元データアレーのエンコード及びデコ
ードにも等しく適用でき、そして実際に、0より大きい
整数をNとすれば、N次元データアレーのエンコード及
びデコードにも適用できる。例えば、エンコード及びデ
コードされるデータアレーは、2nx2nx2nのサイズの三次
元アレーでよい。各データブロックは、親データブロッ
クのサイズの1/8である8個のサブブロックを有し、そ
して最小サイズデータブロックは、おそらく、サイズが
2x2x2であり、エンコードを必要とする8個のデータ値
をもつ。このブロックサイズ及びサブブロック機構が与
えられると、エンコード及びデコード方法は、他の全て
の観点で不変に保たれる。
より一般的には、次々の小さなデータブロックを次々
に識別するときには、各識別されたデータブロック(全
指定データアレーに対応するブロックではなく)に含ま
れるデータ値の数は、0より大きな整数をNとすれば、
対応する親データブロックにおけるデータ値の数に2-N
を乗じたものに等しくなる。従って、エンコード方法
は、各データブロックをサブブロックにいかに分割すべ
きかを再定義するだけで、各データブロックに対するサ
ブブロックの数が、好ましい実施例で使用した4ではな
く、2又は8又は16となるように、容易に変更すること
ができる。
更に、最小サイズデータブロックの定義は、所定数の
データ値、通常は、2の整数乗、そして好ましくは、4
の整数乗に等しくなるように変更することができる。従
って、k=2(k=1ではなく)についてテストするよ
うにステップ246の判断を変更し、そして最小サイズデ
ータブロックを処理する方法のブロックにおいて16個の
出力値を発生することにより、16個のデータ値の最小サ
イズデータブロックを使用するようにエンコード方法が
容易に変更される。
特定の実施形態を参照して本発明を説明したが、この
説明は、本発明を単に例示するものに過ぎず、本発明を
これに限定するものではない。請求の範囲に記載した本
発明の真の精神及び範囲から逸脱せずに種々の変更がな
され得ることが当業者に明らかであろう。
フロントページの続き (72)発明者 ゾーン レーファン アメリカ合衆国 カリフォルニア州 94086 サニーヴェイル アヤラ ドラ イヴ 1156 アパートメント 3 (72)発明者 イー ロンギシャン アメリカ合衆国 カリフォルニア州 94086 サニーヴェイル アヤラ ドラ イヴ 1156 アパートメント 3 (56)参考文献 特開 平6−245077(JP,A) 特開 平7−107477(JP,A) 特開 平8−186815(JP,A) 特表 平5−507598(JP,A) (58)調査した分野(Int.Cl.7,DB名) H03M 7/30 H04N 7/24

Claims (19)

    (57)【特許請求の範囲】
  1. 【請求項1】特定のデータアレーをエンコードする方法
    であって、データアレーは関連するデータ値を有する1
    組のノードを備え、データアレーにおけるノードのデー
    タ値には1組のビット平面が関連され、各ビット平面X
    はデータアレーの各ノードに対して最下位からX番目の
    ビットを表わし、上記方法は、 ブロックリスト及び少なくとも1つのノードリストを表
    わすための少なくとも1つのリストデータ構造体を設
    け; 上記ブロックリストに1つ以上のブロック識別子を最初
    に記憶し、ブロックリストにおける各ブロック識別子
    は、データアレーにおけるノードの単一の長方形の隣接
    ブロックを表わし、ブロックリストにおける各ブロック
    識別子は、ブロック識別子により表わされたブロックに
    関連したデータアレー内の位置を特定すると共に、ブロ
    ック識別子により表わされたブロックのサイズ値も特定
    し; データアレーにおいて最も大きな絶対値を有するノード
    の最上位非ゼロビットmを決定し; X=mでスタートするビット平面のシーケンスにおいて
    データアレーの各ビット平面Xに対し、このような各ビ
    ット平面Xを表わすデータを次々に発生し、これは、 ブロックリストにおけるブロック識別子で表わされた各
    ブロックに対し、ブロック内の最大絶対値を有するノー
    ドの最下位からX番目のビットを表わす単一ビットを発
    生し、 ブロックに対して発生された単一ビットがブロックにお
    けるノードの最下位からX番目の非ゼロビットに対応す
    るときに、そのブロックが所定の最小サイズブロックよ
    り大きい場合には、ブロックを複数のサブブロックに分
    割してそれらサブブロックのブロック識別子をブロック
    リストに追加し、さもなくば、ブロックを個々のノード
    に分割してそれらノードを少なくとも1つのノードリス
    トに追加し、各サブブロックは、データアレーにおける
    ノードの単一の長方形隣接ブロックより成り、 少なくとも1つのノードリストに表わされた各ノードに
    対し、ノードのデータ値の最下位からX番目のビットを
    あらわす単一ビットを発生し、そして ノードに対して発生された単一ビットがノードの最下位
    非ゼロビットに対応するときに、ノードのデータ値が正
    であるか負であるかを示す符号ビットを更に発生するこ
    とを含むものであり;そして 上記発生されたビットを圧縮データアレーに記憶する; という段階を備えたことを特徴とする方法。
  2. 【請求項2】エンコードされるべきでない最上位ビット
    平面StopPtを決定し、データが発生されるビット平面X
    のシーケンスは、ビット平面X=StopPt+1で終わる請
    求項1に記載の方法。
  3. 【請求項3】ブロックを個々のノードに分割するとき
    に、個々のノードの各々に対し、ノードのデータ値の最
    下位からX番目のビットを表わす単一ビットを発生し、
    そしてノードに対して発生された単一ビットが最下位か
    らX番目の非ゼロビットに対応するときに、ノードのデ
    ータ値が正であるか負であるかを示す符号ビットを発生
    する請求項1に記載の方法。
  4. 【請求項4】上記少なくとも1つのリストデータ構造体
    は、小さな値のノードリスト(LSN)及び大きな値のノ
    ードリスト(LLN)を含む2つのノードリストを表わ
    し、そして ブロックを個々のノードに分割するときに、最下位から
    X番目のビットが1に等しい個々のノードの各々をLLN
    に入れ、そして他の個々のノード各々をLSNに入れる請
    求項1に記載の方法。
  5. 【請求項5】ブロックが個々のノードに分割されるとき
    に、ブロックのリストにおける対応するブロック識別子
    は、所定の順序でリストされた対応ブロックの全てのノ
    ードをブロック識別子が表わすことを示すようにマーク
    され、これにより、少なくとも1つのリストデータ構造
    体におけるブロックのリストは、ブロックリスト及び少
    なくとも1つのノードリストの両方を表わす請求項1に
    記載の方法。
  6. 【請求項6】ブロックリストにおけるマークされたブロ
    ック識別子は、2つのノードリストを間接的に表わし、
    第1のノードリストは、2x未満の絶対値を有するマーク
    されたブロック識別子に対応する個々のノードを含み、
    そして第2のノードリストは、第1のノードリストに含
    まれないマークされたブロック識別子に対応する個々の
    ノードを含む請求項5に記載の方法。
  7. 【請求項7】コンピュータシステムに関連して使用する
    ためのコンピュータプログラムを記録した記録媒体にお
    いて、このコンピュータプログラムを記録した記録媒体
    は、そこに埋め込まれたコンピュータプログラムメカニ
    ズムを備え、このコンピュータプログラムメカニズム
    は、 データエンコード手順を備え、これは、ブロックリスト
    及び少なくとも1つのノードリストを表わすための少な
    くとも1つのリストデータ構造体を確立するための命令
    を含み、各ブロックは、アレーにおける1組の隣接ノー
    ドを含み、そのサイズは、少なくとも1つのリストデー
    タ構造体において特定され、 上記データエンコード手順は、更に、 上記ブロックリストに1つ以上のブロック識別子を最初
    に記憶する命令を含み、ブロックリストにおける各ブロ
    ック識別子は、データアレーにおけるノードの単一の長
    方形の隣接ブロックを表わし、ブロックリストにおける
    各ブロック識別子は、ブロック識別子により表わされた
    ブロックに関連したデータアレー内の位置を特定すると
    共に、ブロック識別子により表わされたブロックのサイ
    ズ値も特定し、 更に、データアレーにおいて最も大きな絶対値を有する
    ノードの最上位の非ゼロビットmを決定する命令を含
    み、 更に、X=mでスタートするビット平面のシーケンスに
    おいてデータアレーの各ビット平面Xに対し、このよう
    な各ビット平面Xを表わすデータを次々に発生する命令
    を含み、これは、 ブロックリストにおけるブロック識別子で表わされた各
    ブロックに対し、ブロック内の最大絶対値を有するノー
    ドの最下位からX番目のビットを表わす単一ビットを発
    生し、 ブロックに対して発生された単一ビットがブロックにお
    けるノードの最下位からX番目の非ゼロビットに対応す
    るときに、そのブロックが所定の最小サイズブロックよ
    り大きい場合には、ブロックを複数のサブブロックに分
    割してそれらサブブロックをブロックリストに追加し、
    さもなくば、ブロックを個々のノードに分割してそれら
    ノードを少なくとも1つのノードリストに追加し、 少なくとも1つのリストデータ構造体に表わされた各ノ
    ードに対し、ノードのデータ値の最下位からX番目のビ
    ットを表わす単一ビットを発生し、そして ノードに対して発生された単一ビットがノードの最上位
    の非ゼロビットに対応するときに、ノードのデータ値が
    正であるか負であるかを示す符号ビットを更に発生する
    ことを含むものであり、そして 更に、上記発生されたビットを圧縮データアレーに記憶
    する命令を含むことを特徴とするコンピュータプログラ
    ムを記録した記録媒体。
  8. 【請求項8】上記エンコーダ手順は、更に、 エンコードされるべきでない最上位ビット平面StopPtを
    決定する命令を含み、 ビット平面Xのシーケンスに対してデータを発生する命
    令は、ビット平面X=StopPt+1でデータの発生を停止
    する請求項7に記載のコンピュータプログラムを記録し
    た記録媒体。
  9. 【請求項9】上記エンコーダ手順は、更に、 ブロックを個々のノードに分割するときに、個々のノー
    ドの各々に対し、ノードのデータ値の最下位からX番目
    のビットを表わす単一ビットを発生し、そしてノードに
    対して発生された単一ビットが最下位からX番目の非ゼ
    ロビットに対応するときに、ノードのデータ値が正であ
    るか負であるかを示す符号ビットを発生する命令を含む
    請求項8に記載のコンピュータプログラムを記録した記
    録媒体。
  10. 【請求項10】上記少なくとも1つのノードリストは、
    小さな値のノードリスト(LSN)及び大きな値のノード
    リスト(LLN)を含む2つのノードリストを表わし、そ
    して 上記エンコーダ手順は、ブロックを個々のノードに分割
    するときに、最下位からX番目のビットが1に等しい個
    々のノードの各々をLLNに入れ、そして他の個々のノー
    ドの各々をLSNに入れる命令を含む請求項7に記載のコ
    ンピュータプログラムを記録した記録媒体。
  11. 【請求項11】ブロックを個々のノードに分割するため
    の上記エンコーダ手順の命令は、所定の順序でリストさ
    れた対応ブロックの全てのノードをエントリが表わすこ
    とを示すように対応リストエントリをマークする命令を
    含み、これにより、少なくとも1つのリストデータ構造
    体におけるブロックのリストは、ブロックリスト及び少
    なくとも1つのノードリストの両方を表わす請求項7に
    記載のコンピュータプログラムを記録した記録媒体。
  12. 【請求項12】特定のデータアレーを表わす1組のエン
    コードされた圧縮データをデコードする方法であって、
    データアレーは関連するデータ値を有する1組のノード
    を備え、データアレーにおけるノードのデータ値には1
    組のビット平面が関連され、各ビット平面Xはデータア
    レーの各ノードに対して最下位からX番目のビットを表
    わし、上記方法は、 ブロックリスト及び少なくとも1つのノードリストを表
    わすための少なくとも1つのリストデータ構造体を設
    け; ノードデータ値及びその部分的にデコードされた部分を
    記憶するための再構成されたデータアレーを設け; 上記ブロックリストに1つ以上のブロック識別子を最初
    に記憶し、ブロックリストにおける各ブロック識別子
    は、データアレーにおけるノードの単一の長方形の隣接
    ブロックを表わし、ブロックリストにおける各ブロック
    識別子は、ブロック識別子により表わされたブロックに
    関連したデータアレー内の位置を特定すると共に、ブロ
    ック識別子により表わされたブロックのサイズ値も特定
    し; エンコードされた圧縮データをそれが記憶された同じシ
    ーケンスで処理して、データアレーにおける値を再生
    し、これは、 データアレーにおいて最も大きな絶対値を有するノード
    の最上位の非ゼロビットを示す値mをエンコードされた
    圧縮データから読み取り、 X=mでスタートするビット平面のシーケンスにおいて
    データアレーの各ビット平面Xに対し、このような各ビ
    ット平面Xを表わすデータをエンコードされた圧縮デー
    タから次々に読み取り、これは、 ブロックリストにおけるブロック識別子で表わされた各
    ブロックに対し、ブロック内の最大絶対値を有するノー
    ドの最下位からX番目のビットを表わす単一ビットを読
    み取り、 ブロックに対して読み取られた単一ビットがブロックに
    おけるノードの最下位からX番目の非ゼロビットに対応
    するときに、そのブロックが所定の最小サイズブロック
    より大きい場合には、ブロックを複数のサブブロックに
    分割してそれらサブブロックをブロックリストに追加
    し、さもなくば、ブロックを個々のノードに分割してそ
    れらノードを少なくとも1つのノードリストに追加し、
    各サブブロックは、データアレーにおけるノードの単一
    の長方形隣接ブロックより成り、 ブロックリストに表わされた各ノードに対し、ノードの
    データ値の最下位からX番目のビットを表わす単一ビッ
    トを読み取り、そして ノードに対して読み取られた単一ビットがノードの最上
    位非ゼロビットに対応するときに、上記読み取られたビ
    ットを再構成されたデータアレーの対応ノードの最下位
    からX番目のビットに記憶し、ノードのデータ値が正で
    あるか負であるかを示す符号ビットを読み取り、そして
    符号ビットが所定値に等しい場合に再構成されたデータ
    アレーの対応ノードに符号ビットを記憶する、 ことを含むという段階を備えたことを特徴とする方法。
  13. 【請求項13】ブロックを個々のノードに分割するとき
    に、個々のノードの各々に対し、ノードのデータ値の最
    下位からX番目のビットを表わす単一ビットを読み取
    り、そしてそのビットを再構成されたデータアレーの対
    応ノードの最下位からX番目のビットに記憶し、更に、
    ノードに対して読み取られた単一ビットが最下位からX
    番目の非ゼロビットに対応するときに、ノードのデータ
    値が正であるか負であるかを示す符号ビットを読み取
    り、そしてその符号ビットが所定値に等しい場合に再構
    成されたデータアレーの対応ノードにその符号ビットを
    記憶する請求項12に記載の方法。
  14. 【請求項14】上記少なくとも1つのリストデータ構造
    体は、小さな値のノードリスト(LSN)及び大きな値の
    ノードリスト(LLN)を含む2つのノードリストを表わ
    し、そして ブロックを個々のノードに分割するときに、最下位から
    X番目のビットが1に等しい個々のノードの各々をLLN
    に入れ、そして他の個々のノードの各々をLSNに入れる
    請求項12に記載の方法。
  15. 【請求項15】ブロックが個々のノードに分割されると
    きに、それに対応するブロック識別子は、所定の順序で
    リストされた対応ブロックの全てのノードをブロック識
    別子が表わすことを示すようにマークされ、これによ
    り、少なくとも1つのリストデータ構造体におけるブロ
    ックのリストは、ブロックリスト及び少なくとも1つの
    ノードリストの両方を表わす請求項12に記載の方法。
  16. 【請求項16】コンピュータシステムに関連して使用す
    るためのコンピュータプログラムを記録した記録媒体に
    おいて、このコンピュータプログラムを記録した記録媒
    体は、そこに埋め込まれたコンピュータプログラムメカ
    ニズムを備え、このコンピュータプログラムメカニズム
    は、 データデコード手順を備え、このデータデコード手順
    は、 ブロックリスト及び少なくとも1つのノードリストを表
    わすための少なくとも1つのリストデータ構造体を確立
    する命令と、 ノードデータ値及びその部分的にデコードされた部分を
    記憶するための再構成されたデータアレーを設ける命令
    と、 上記ノードリストに1つ以上のブロック識別子を最初に
    記憶する命令とを含み、ブロックリストにおける各ブロ
    ック識別子は、データアレーにおけるノードの単一の長
    方形の隣接ブロックを表わし、ブロックリストにおける
    各ブロック識別子は、ブロック識別子により表わされた
    ブロックに関連したデータアレー内の位置を特定すると
    共に、ブロック識別子により表わされたブロックのサイ
    ズ値も特定し、 更に、エンコードされた圧縮データをそれが記憶された
    同じシーケンスで処理して、データアレーにおける値を
    再生する命令を含み、これは、 データアレーにおいて最も大きな絶対値を有するノード
    の最上位の非ゼロビットmを示す値をエンコードされた
    圧縮データから読み取り、そして X=mでスタートするビット平面のシーケンスにおいて
    データアレーの各ビット平面Xに対し、このような各ビ
    ット平面Xを表わすデータをエンコードされた圧縮デー
    タから次々に読み取ることにより行い、これは、 ブロックリストに表わされた各ブロックに対し、ブロッ
    ク内の最大絶対値を有するノードの最下位からX番目の
    ビットを表わす単一ビットを読み取り、 ブロックに対して読み取られた単一ビットがブロックに
    おけるノードの最下位からX番目の非ゼロビットに対応
    するときに、そのブロックが所定の最小サイズブロック
    より大きい場合には、ブロックを複数のサブブロックに
    分割してそれらサブブロックをブロックリストに追加
    し、さもなくば、ブロックを個々のノードに分割してそ
    れらノードを少なくとも1つのノードリストに追加し、 ブロックリストに表わされた各ノードに対し、ノードの
    データ値の最下位からX番目のビットを表わす単一ビッ
    トを読み取り、そして ノードに対して読み取られた単一ビットがノードの最上
    位非ゼロビットに対応するときに、上記読み取られたビ
    ットを再構成されたデータアレーの対応ノードの最下位
    からX番目のビットに記憶し、ノードのデータ値が正で
    あるか負であるかを示す符号ビットを読み取り、そして
    符号ビットが所定値に等しい場合に再構成されたデータ
    アレーの対応ノードに符号ビットを記憶する、ことを含
    むものであることを特徴とするコンピュータプログラム
    を記録した記録媒体。
  17. 【請求項17】上記デコーダ手順は、更に、 ブロックを個々のノードに分割するときに、個々のノー
    ドの各々に対し、ノードのデータ値の最下位からX番目
    のビットを表わす単一ビットを読み取り、ブロックを個
    々のノードに分割するときに、個々のノードの各々に対
    し、ノードのデータ値の最下位からX番目のビットを表
    わす単一ビットを読み取ってそのビットを再構成された
    データアレーの対応ノードの最下位からX番目のビット
    に記憶し、そしてノードに対して読み取られた単一ビッ
    トが最下位からX番目の非ゼロビットに対応するとき
    に、ノードのデータ値が正であるか負であるかを示す符
    号ビットを読み取り、そして符号ビットが所定値に等し
    い場合に再構成されたデータアレーの対応ノードに符号
    ビットを記憶するという命令を含む請求項16に記載のコ
    ンピュータプログラムを記録した記録媒体。
  18. 【請求項18】上記少なくとも1つのノードリストは、
    小さな値のノードリスト(LSN)及び大きな値のノード
    リスト(LLN)を含む2つのノードリストを表わし、そ
    して 上記デコーダ手順は、ブロックを個々のノードに分割す
    るときに、最下位からX番目のビットが1に等しい個々
    のノードの各々をLLNに入れ、そして他の個々のノード
    各々をLSNに入れる命令を含む請求項16に記載のコンピ
    ュータプログラムを記録した記録媒体。
  19. 【請求項19】ブロックを個々のノードに分割するため
    の上記デコーダ手順の命令は、所定の順序でリストされ
    た対応ブロックの全てのノードをブロック識別子が表わ
    すことを示すように対応リストエントリをマークする命
    令を含み、これにより、少なくとも1つのリストデータ
    構造体におけるブロックのリストは、ブロックリスト及
    び少なくとも1つのノードリストの両方を表わす請求項
    16に記載のコンピュータプログラムを記録した記録媒
    体。
JP54929098A 1997-05-16 1998-05-05 希薄データセットのスケーラブルコード化システム及び方法 Expired - Fee Related JP3378258B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/858,035 US5949911A (en) 1997-05-16 1997-05-16 System and method for scalable coding of sparse data sets
US08/858,035 1997-05-16
PCT/US1998/009186 WO1998052148A1 (en) 1997-05-16 1998-05-05 System and method for scalable coding of sparse data sets

Publications (2)

Publication Number Publication Date
JPH11514194A JPH11514194A (ja) 1999-11-30
JP3378258B2 true JP3378258B2 (ja) 2003-02-17

Family

ID=25327309

Family Applications (1)

Application Number Title Priority Date Filing Date
JP54929098A Expired - Fee Related JP3378258B2 (ja) 1997-05-16 1998-05-05 希薄データセットのスケーラブルコード化システム及び方法

Country Status (4)

Country Link
US (1) US5949911A (ja)
EP (1) EP0934572A4 (ja)
JP (1) JP3378258B2 (ja)
WO (1) WO1998052148A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6347157B2 (en) 1998-07-24 2002-02-12 Picsurf, Inc. System and method for encoding a video sequence using spatial and temporal transforms
US6229926B1 (en) * 1998-07-24 2001-05-08 Picsurf, Inc. Memory saving wavelet-like image transform system and method for digital camera and other memory conservative applications
US6370197B1 (en) * 1999-07-23 2002-04-09 Memorylink Corporation Video compression scheme using wavelets
US6246797B1 (en) * 1999-11-12 2001-06-12 Picsurf, Inc. Picture and video storage management system and method
EP1109409A3 (en) 1999-12-17 2011-11-30 Canon Kabushiki Kaisha Digital signal coding with division into tiles
JP4254017B2 (ja) * 2000-03-10 2009-04-15 ソニー株式会社 画像符号化装置及び方法
US6549674B1 (en) * 2000-10-12 2003-04-15 Picsurf, Inc. Image compression based on tiled wavelet-like transform using edge and non-edge filters
US20020021758A1 (en) * 2000-03-15 2002-02-21 Chui Charles K. System and method for efficient transmission and display of image details by re-usage of compressed data
WO2001091039A1 (en) * 2000-05-23 2001-11-29 Compression Engine Technologies, Inc. Memory-efficient image compression
US20020089549A1 (en) * 2001-01-09 2002-07-11 Munro James A. Image having a hierarchical structure
DE10127198A1 (de) * 2001-06-05 2002-12-19 Infineon Technologies Ag Vorrichtung und Verfahren zum Ermitteln einer physikalischen Adresse aus einer virtuellen Adresse unter Verwendung einer hierarchischen Abbildungsvorschrift mit komprimierten Knoten
US7564874B2 (en) * 2004-09-17 2009-07-21 Uni-Pixel Displays, Inc. Enhanced bandwidth data encoding method
US20060212852A1 (en) * 2005-03-16 2006-09-21 Jinwoo Hwang Methods, systems and computer program products for detecting memory leaks
JP4872282B2 (ja) * 2005-09-08 2012-02-08 セイコーエプソン株式会社 画像表示システム,画像表示方法,画像表示プログラム,記録媒体,データ処理装置,画像表示装置
US7747097B2 (en) * 2006-06-16 2010-06-29 Seiko Epson Corporation Method for simple hardware implementation of JPEG size limiter
US20090103606A1 (en) * 2007-10-17 2009-04-23 Microsoft Corporation Progressive Distributed Video Coding
JP5707412B2 (ja) 2010-09-29 2015-04-30 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラムおよび集積回路
SG188255A1 (en) * 2010-09-30 2013-04-30 Panasonic Corp Image decoding method, image coding method, image decoding apparatus, image coding apparatus, program, and integrated circuit
JP5855570B2 (ja) 2010-09-30 2016-02-09 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラムおよび集積回路
US8751877B2 (en) * 2011-11-18 2014-06-10 Microsoft Corporation Representation and manipulation of errors in numeric arrays
TWI463807B (zh) * 2012-01-19 2014-12-01 Univ Nat Kaohsiung 1St Univ Sc 一種改良式訊號壓縮之演算法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5412741A (en) * 1993-01-22 1995-05-02 David Sarnoff Research Center, Inc. Apparatus and method for compressing information
JP3089152B2 (ja) * 1993-12-01 2000-09-18 キヤノン株式会社 画像符号化装置およびその方法
US5748786A (en) * 1994-09-21 1998-05-05 Ricoh Company, Ltd. Apparatus for compression using reversible embedded wavelets
JP2930092B2 (ja) * 1994-11-15 1999-08-03 日本電気株式会社 画像符号化装置
US5764807A (en) * 1995-09-14 1998-06-09 Primacomp, Inc. Data compression using set partitioning in hierarchical trees
US5748116A (en) * 1996-11-27 1998-05-05 Teralogic, Incorporated System and method for nested split coding of sparse data sets

Also Published As

Publication number Publication date
US5949911A (en) 1999-09-07
EP0934572A1 (en) 1999-08-11
WO1998052148A1 (en) 1998-11-19
JPH11514194A (ja) 1999-11-30
EP0934572A4 (en) 2003-01-22

Similar Documents

Publication Publication Date Title
JP3378258B2 (ja) 希薄データセットのスケーラブルコード化システム及び方法
JP3378257B2 (ja) 希薄データセットをネスト状分割コード化するシステム及び方法
RU2762005C2 (ru) Способ и устройство для того, чтобы кодировать и декодировать двумерные облака точек
US6041143A (en) Multiresolution compressed image management system and method
US6347157B2 (en) System and method for encoding a video sequence using spatial and temporal transforms
JP5579760B2 (ja) 係数の位置をコード化する方法及び装置
EP0971544A2 (en) An image coding method and apparatus for localised decoding at multiple resolutions
WO1999023602A1 (en) System and method for efficiently encoding video frame sequences
Chew et al. Very low-memory wavelet compression architecture using strip-based processing for implementation in wireless sensor networks
JP5088607B2 (ja) プリントされるべきデジタル映像のデータへ導入される欠陥を減少する方法
US5893100A (en) System and method for tree ordered coding of sparse data sets
US7072517B2 (en) Inverse discrete wavelet transforms for data decompression
EP0920213A2 (en) Method and apparatus for decoding transform coefficients
AU746400B2 (en) A method and apparatus for decoding a coded representation of a digital image
AU725719B2 (en) A method of digital image compression
AU740066B2 (en) Method and apparatus for hierarchical encoding or decoding video images
WO1998019274A1 (en) Image encoding
Siddeq Novel methods of image compression for 3D reconstruction
Brislawn et al. Subband coding for large-scale scientific simulation data using JPEG 2000
AU721078B2 (en) Image encoding
AU736469B2 (en) An image coding method and apparatus for localized decoding at multiple resolutions
AU719749B2 (en) A method for digital data compression
JP2000013610A (ja) 符号化画像ファイル作成方法および装置、復号化方法および装置、並びに符号化画像ファイル作成方法および復号化方法をコンピュータに実行させるプログラムを記録したコンピュータ読取り可能な記録媒体
Freeman et al. Novel architecture for the JPEG2000 block coder
Bao et al. Design of low-complexity wavelet-based image codec

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20071206

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081206

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091206

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101206

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20101206

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111206

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20111206

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20121206

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20131206

Year of fee payment: 11

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees