JP4343440B2 - Dwtベース技法によって圧縮された画像を符号化するための実時間アルゴリズムおよびアーキテクチャ - Google Patents

Dwtベース技法によって圧縮された画像を符号化するための実時間アルゴリズムおよびアーキテクチャ Download PDF

Info

Publication number
JP4343440B2
JP4343440B2 JP2000558612A JP2000558612A JP4343440B2 JP 4343440 B2 JP4343440 B2 JP 4343440B2 JP 2000558612 A JP2000558612 A JP 2000558612A JP 2000558612 A JP2000558612 A JP 2000558612A JP 4343440 B2 JP4343440 B2 JP 4343440B2
Authority
JP
Japan
Prior art keywords
flag
run
word
length
image
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
JP2000558612A
Other languages
English (en)
Other versions
JP2002520899A (ja
JP2002520899A5 (ja
Inventor
アチャーリャ,ティンク
カラム,リナ・ジェイ
マリノ,フランシスコマリア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of JP2002520899A publication Critical patent/JP2002520899A/ja
Publication of JP2002520899A5 publication Critical patent/JP2002520899A5/ja
Application granted granted Critical
Publication of JP4343440B2 publication Critical patent/JP4343440B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (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

【0001】
(発明の背景)
(1.発明の分野)
本発明は一般にデータおよび画像圧縮に関し、より詳細には、特に適応量子化および離散ウェーブレット変換が利用される場合の、データおよび画像圧縮のための2進符号化に関する。
【0002】
(2.関連技術の説明)
いわゆる符号化プロセスによる画像および/またはデータ圧縮においては、外部から得られる、あるいは入力されるテキスト・データまたは数値データなどの値のセットを、2進形(1または0)に符号化することができる。符号化の1つの方法は、テキスト(ASCII数値名称など)の各10進数または符号を単純に固定のビット数(語長)に変換することである。例えば、数字23、128および100は、シーケンス:00010101 1000000 01100100として2進数に符号化することができる。この生の、すなわち純2進符号は、それが単にデータを取り扱い、かつ、それを2進で表しているため、もはや圧縮機能に役立たない。このような符号化は、ゼロの数が、ゼロでないの数より圧倒的に多い場合、特に、このようなゼロ・データ値が連続しており、2進数において大量のゼロの「連続」を作り出している場合、極めて非効率的である。2進変換時にデータを圧縮するために、特にディジタル通信分野において、様々な方法が開発されてきた。画像圧縮あるいはデータ圧縮のための2進符号化方法の中で、ハフマン符号化方式およびランレングス符号化方式の2つの方法が広く用いられている。
【0003】
古典ハフマン符号化方式は、それぞれLiビットの符号語によって、N個の可能データ値の特定データ・セットS内の各可能値yi(i=1,...,N)を符号化する可変長符号化技法である。ハフマン符号化方式の目的は、記号LiP(yi)を最小にすることである。ここで、P(yi)は、符号化するデータ・セットS内に生じる値yiの確率を表している。上記符号語は、互いを識別するために選定される。符号語は可変長であり、例えば、データ・セットS={0,1,2,3,4}の場合、ハフマン符号化方式は、マッピング{0=0,1=10,2=110,3=1110,4=1111}を用いることができる。仮にP(0)>>P(1)>>P(2)>>P(3)>>P(4)であれば、この技法は、直線固定長2進表示よりもさらに効果的である。上記Liは、セット内の値の数を表すNの増加に伴ってほぼ直線的にそのサイズが増加するため、ハフマン符号化方式は、符号化データ・セットSのNが小さい場合、あるいは、分散が小さい場合に主として有効である。そのため、古典ハフマン符号化方式とは異なる、いわゆるモディファイド・ハフマン符号化方式(MHC)が開発され、データ・セット内のNが大きい、あるいは、分散が大きい画像用に使用されている。
【0004】
モディファイド・ハフマン符号化方式では、データ値yiは、Range(2Rangeの値を含むセットを識別する)、および、Range内の特定値を表すPointerの2つの領域を有するデータ構造によって符号化される。領域Rangeは、ハフマン符号化方式によって符号化され、Pointerは、Rangeビットのサイズを有する2進数として表される。一例として、Range値1からn内に含まれる値は次のとおりである。
・Range=0:値{0}(領域Pointer不要)
・Range=1:値{−1,1}(特定値を表すために、領域Pointerは1ビット必要)
・Range=2:値{−3,−2,2,3}(領域Pointerは2ビット必要)
・Range=n:値{−2n+1,−2n+2,...,−2n-1,2n-1,...,2n−2,2n−1}(領域Pointerはnビット必要)
【0005】
例えば、符号化するデータが整数値{−3,−2,−1,0,1,2,3}の場合の、各値に対する可能MHCを表1に示す。
【表1】
Figure 0004343440
【0006】
値0は語にのみ符号化される(すなわち、Rangeに対するハフマン符号化であり、他のビットに対するハフマン符号化ではない)。値3は1101に符号化される。ここで、下線が付された11はRange2のハフマン符号を表し、続く2(=Range)ビット01は、表において、同じくRange=2を有する可能値{−3,−2,2,3}の中の値3を「指して」いる。P(0)が大きい場合、ゼロ値に対して、表1に示すMHCの1ビットしか使用しないため、上記手法は、各値が、その発生する確率に関係なく3ビットに符号化される通常の固定長2進符号化方式よりもさらに効果的である。当然、MHCは表索引アーキテクチャで設計され、したがって、符号化および復号化のいずれにもより効率的な方式である。
【0007】
ゼロ・ラン・レングス符号化方式(ZRLC)と呼ばれる別の技法は、多数の連続するゼロ値または「ラン」を含むデータ・セットを符号化するための標準の技法である。ZRLCはゼロ以外の値のみを(ハフマン符号化方式またはその他の符号化方式を用いて)符号化し、次に、コーダおよびデコーダのいずれに対しても知られている方法に従って、2つの連続するゼロでない値を分割する、ゼロの数を特定する符号によってそれらの符号語をインターリーブする。
【0008】
従来のZRLCでは、符号化されたゼロ・ラン・データは、ラン・レングスおよびゼロでない値の2つのセグメントを用いて構成される。例えば、次のデータ・ストリーム
{0000005000−6780000−120000000000014500000000023}
を符号化する代わりに、次のデータ
{[,5][,−6][0,78][,−12][12,1][,45],[,23]}
のみが符号化される。この符号(ここで、 はゼロのラン・レングスを表す)は、6個のゼロのあとに値5が続く、次に、3個のゼロの後に値−6が続く、0個のゼロの後に値78が続く、等々であることを表している。
【0009】
これらの技法のいずれかを画像圧縮に利用する場合、符号化スキームに先立って画像圧縮の性質を指示し、最良の方式を選択しなければならない。ハフマン符号化方式を用いるべきか、あるいはランレングス符号化方式を用いるべきかを検討するために、画像またはアプリケーション(テレビ会議など)の性質を分析し、考慮しなければならない。高エントロピーを有する画像の場合、ランレングス符号化方式は、ハフマン符号化方式ほど圧縮比が高くなく、またその逆も言える。2進符号化プロセスをデータ・セット(あるいはデータ・セットのサブ・セット)の特性に調整することができない場合、全体の圧縮比が最適ではない結果になり得る。
【0010】
イメージングの分野においては、画像を収集し(ディジタル・カメラなどによって)、恐らく「色補間」(画像に全色解像度を与えるために、消失した色成分を決定する)を施した後、画像を(2進符号化の前に)「圧縮」し、あるいは、画像を表すために必要な合計ビット数を低減することが多い。「一次」画像圧縮と、引き続いて実施される圧縮データの2進符号化が、テレビ会議、ディジタル・イメージングおよびネットワーク上のビデオ・ストリーミングなどの多重媒体アプリケーションにおいて、重要な役割を果している。このようなアプリケーションのための一次画像圧縮スキームは、個々のアプリケーションに対する許容画像品質を維持しつつ、画像の格納あるいは伝送用のビットレートを低減するように設計しなければならない。
【0011】
広く使用されている一次画像圧縮技法の1つが、良く知られている離散コサイン変換(DCT)を用いて入力画像の画素を変換する、いわゆるJPEG(Joint Photographic Experts Group)である。その結果得られる変換画素値が、圧縮を実現するための、より小さい値のセットに量子化またはマップされる。圧縮解除される圧縮画像の品質は、変換画素の量子化をいかに実行するかによって大きく左右される。圧縮比(圧縮画像と比較した元の生画像のサイズ)も量子化に影響されるが、量子化に続いて実施されるデータの2進符号化による影響をより強く受けることになる。
【0012】
ランレングス符号化方式を使用する場合、続いて実施されるJPEG圧縮画像データの2進符号化は、ブロック化によって制限される。JPEGの場合、画像は、例えば8×8あるいは16×16ブロックの画素ブロックに分割される。これらのブロックは互いに独立して処理され、したがって、最大可能ランレングスが、ブロック・サイズ(64または128)である。したがって、ランレングス符号化方式を使用する場合、ランレングス値は6ビット幅または8ビット幅である。したがって、JPEGの場合、ランレングス符号化方式を、ランレングスを構成しているビット数に固定して保持することができる。ブロック・ベースの符号化方式を利用しない場合、各「ラン」(すなわち、連続するゼロの数)を符号化するためのこのような固定ビット数は、ランの最長値を全体画像の寸法に頼っているため、厳しい制限になる。
【0013】
高圧縮比かつ許容圧縮解除画像品質を実現する他の一次画像圧縮スキームは、画像「サブバンド」すなわち画像周波数帯域を生成することである。これはJPEGブロックと異なり、画像をブロックに分割しないため、固定ではなく、サイズが変化する。離散ウェーブレット変換(DWT)に基づくこのような一次画像圧縮スキームの一例が、「The Compression of Color Images Based on a 2−Dimensional DWT」(以下、「DWT」特許という)という名称の、関連米国特許出願に記載されている。このようなDWTベースのスキームでは、各サブバンドおよびチャネル(カラー・プレーンまたはカラー・プレーンの差)が、特に高エントロピーを有するサブバンドにおいて、ランレングス符号化方式ではなく、ハフマン符号化方式の使用を正当化する特性を持つことができる。
【0014】
画像を圧縮し、次に、ディジタル・カメラまたは他の画像装置上に符号化する場合、JPEG用の通常のランレングス符号化方式では不十分であり、したがって、より実時間に近い復号化を可能にする固定長構造を維持しつつ、可変かつ極めて大きいランレングス値の符号化を可能にするランレングス符号化スキームが必要である。さらに、一次画像圧縮がステージ(例えば、各サブバンド毎に1ステージ)内にデータを生成し、各ステージにおいてデータが、他の符号化方式とは異なる方式を用いた方が有利な特性を有する場合、可能な最も有効な符号化方式で各ステージを処理することができるよう、適応符号化プロセスを設けなければならない。このような機構により、符号化時に得られる圧縮が最大となり、したがって、画像または他のデータに必要な格納/転送サイズを縮小することが可能になる。
【0015】
(発明の概要)
語Rを格納するために利用するビット数を決定することを含んでおり、フラグに付随して語Rがあり、フラグと語Rがある構造を有し、さらに、前記語Rのビットの各々が完全に利用された場合でも、語Rのビット数によって許容される以上に長いランの長さを符号化することを含んでおり、前記符号化は、複数のこのような構造をまとめてストリング化することによって実現される方法。DWTベースの画像圧縮用の代替実施態様では、複数の符号化スキームの中から、データの各サブバンドおよびチャネルに適用するスキームを決定するための方法がある。
【0016】
本発明の方法および装置の目的、特徴および利点は、次の説明から明らかになるであろう。
【0017】
(発明の詳細な説明)
図を参照しながら、本発明の例示的実施形態について説明する。ここで示す例示的実施形態は、本発明の態様を示すためのものであり、本発明の範囲を制限するものではない。主として構成図または流れ図に関して例示的実施形態を説明する。流れ図については、流れ図中の各ブロックは、方法ステップと方法ステップを実行する装置要素の両方を表している。実施態様に応じて、対応する装置要素をハードウェア、ソフトウェア、ファームウェアまたはそれらの組合せで構成することができる。
【0018】
図1(a)から図1(e)は、本発明の一実施形態によるモディファイド・ゼロ・ラン・レングス符号化方式のための基本データ構造を示す図である。
【0019】
JPEG規格では、8×8ブロック化ストラテジのため、ZRLCにおけるラン・サイズを63以下の値に仮定することができ、したがって、6ビット語に固定することができる。2−D DWTによって生成されるサブバンド全体を考える場合、ラン値サイズの上限は、全画像サイズによって決まる。したがって、本発明の一実施形態は、2個のゼロでない値の間のゼロの数で定義されるラン・サイズの符号化用として、フレキシブル構造を提供している。構造符号化方式は、フラグFおよびMビットの語Rからなっている。図1(a)は、符号化されたデータの基本フォーマットを示している。このフォーマットでは、1つまたは複数のタイプ(F,R)構造の後に、データ・セット内の全てのゼロでない値のMHC(モディファイド・ハフマン符号)が続いている。各ZRLC構造(F,R)は、1ビットF値およびビットR1...RMを有している。したがって、図1(a)では、第1のランレングスは1つの構造(F,R)によって符号化される。定義によれば、ゼロでない値に出会ったとき、ランレングスが終了する。例示のゼロでない値は、MHC1とMHC2の2ビットを使用して符号化される。そのゼロでない値の後の、長さが2M−2を超える第2のゼロ・ランは、2つの構造(F,R)を使用して符号化される。次のゼロでない値が、MHC1(1ビットのみ)を使用して符号化され、続いて他のゼロ・ラン・レングスが、1つの構造(F,R)のみを使用して符号化される。図1(b)に示す構造(F,R)=(0,0)は、そのポイントから調査帯域の終わりまでゼロしか存在しないことを指定している。r個のゼロのランを表す場合、(F,R)=(0,1+r)が用いられる(ただし、r<2M−1の場合)。図1(c)に示す構造(0,1)は、経路内の次のゼロでない値が、その前のゼロでない値に隣接していることを表している。すなわち、R−1個のゼロのランが、2個の連続するゼロでない値の間に出現することを表している。したがって、4個のゼロのランは、図1(d)に示すように、構造(0,5)によって符号化されることになる。
【0020】
r(ランの合計サイズ)が2M−2より長い場合は、log2(r−2)M構造が使用される(ここで、yは、yをyより大きい最小の整数へ丸めることを表す)、各構造は、ターミナルすなわちF=0である最終構造を除き、Mビットのrを格納し、F=1を有している。図1(e)に、2M−2より長いrの一例を示す。ランレングスrが2M−2より大きい場合、フラグF=0を用いて、rの最上位のMビットを表す。図1(e)は、ランレングス中に85個のゼロが存在する符号化に対する構造を示したものである。構造(F,R)における語RのサイズであるMの長さが4ビットしかないため、ランレングス14のみを、フラグ0によって符号化することができる。したがって、フラグF=0を用いて、ランレングス数の最上位部分が表される。数86(1+r)は、ランレングスr中に85個のゼロが存在するものについて符号化することになる。2進法においては、8610は、01010110であり、このランレングス数の最初のMビット(M=4)は、0101である。したがって、この最初の部分が、(F,R)=(0)すなわち00101に符号化される。0110に符号化されるその値の第2および最後の部分は、F=1のフラグを有しており、その前に符号化された値「0101」に続くことを表している。(11111011)b=25110であり、ランレングス250であるrより1だけ大きいため、ランレングス250は、(F,R)=(0,F16);(1,B16)によって符号化されることになる(F16は1111を表し、B16は1011bを表す)。同様に、ランレングスr=4091は、構造(0,F16);(1,F16);(1,C16)によって符号化することができる(ここで、(FFC)16=409210である)。図1(e)に示すように、出力の順序は、ラン・サイズの最下位ビットから最上位ビット(構造F=0を有する)まで、左から右へ、フラグ1の構造を有している。例えば、図1(e)は、ランレングス85の符号化において、最上位ビットが最後(フラグF=0を有する)に出力されることを示している。同様に、ランレングス250は、(1,B16)(0,F16)の順に出力され、ランレングス4091は、(1,C16)(1,F16)(0,F16)の順に出力される。同様に、I×Mビットが、r+1の符号化に必要な合計ビット数である場合、出力順序における任意の構造数に対して、(1,R0)(1,R1)(1,R1-2)(0,R1-1)を用いることができる。このシナリオにおいては、I−1個の構造がフラグ1を有し、I番目の構造がフラグ0を有することになる。本発明の一実施形態におけるモディファイドZRLCの利点の1つは、ラン・サイズを無制限にし、かつ、Mビットしか有さない語Rの固定長構造(F,R)を用いて符号化できることである。
【0021】
次の各ランのゼロでない値を符号化する場合、以下に示す可能Range値を用いたMHC技法を選択することができる。
・0={1}
・1={−1,2}
・2={−3,−2,3,4}
・n={−2n+1,−2n+2,...,−2n-1,2n-1+1,...,2n−1,2n
下の表に、このような値に対するLUTの一例を示す。ZRLCは、データ・セット内で出現する全てのゼロ値を取り扱うため、y=0の場合は、このMHC技法に包含されない。
【表2】
Figure 0004343440
【0022】
この例では、ルックアップ・テーブル(LUT)は、各々のセルがy(すなわち、符号化されるデータ)によってアドレス指定されるように構成されており、かつ、6ビットを含んでいる。最初の2ビット(「サイズ」領域)が読み取られ、領域「符号」の「サイズ」+1ビットのみが考慮され、有効情報として格納される。これらの「サイズ」+1ビットの中の最上位ビットおよび下線が施されたビットが、ハフマン符号化方式を用いて符号化された領域「range」(この例ではrange0、1および2が、それぞれ1011に符号化されている)であり、最下位ビットが、領域「pointer」を構成している。例えば、−2は、語「1100」(すなわち、「range」=11および「pointer」=10)に符号化されている。
【0023】
ハフマン符号化方式の効果的な実施には、ある種の統計的分析を必要とするため、本発明の一実施形態では、ZRLCにおけるゼロでない値に対してMHCを符号化するLUTについて、典型的な画像解析に基づいた最適符号セットを決定することができる。付録AからEは、このような符号を示したもので、DWT特許で使用されている画像圧縮スキームによる結果として、各チャネルの各サブバンドに対する50以上の異なる画像を考慮し、実験的に得られたものである。分析に利用した画像変換用DWTフィルタは、9−7二直交スプライン・フィルタであり、同じDWTがDWT特許で利用されている。
【0024】
図2は、本発明の一実施形態による画像処理データ・フローを示したものである。
【0025】
静止画像化あるいは動画像化などディジタル・アプリケーションにおいては、ディジタル・カメラなどで捕えた元の画像を、圧縮解除および/または表示のための伝送に先立って、一定の品質レベルを維持しつつ、可能な限り大きいサイズに圧縮することが望ましい。DWT特許に開示されている一次画像圧縮技法は、画像品質を維持するために、色および光に対する人間の視覚系の応答を適応的に利用するために特に開発された技法である。本発明の一実施形態によれば、この圧縮の後、データをさらに圧縮するために、適応2進符号化方式が適用されている。
【0026】
DWT特許で記述したように、ディジタル・カメラまたはその他の類似装置で捕えられる生画像は、通常、バイエル・パターンで表される。センサ・アレイ200は画素位置セットであり、画像化する環境/景色からセンサに入射される光の強度値を各画素位置に含んでいる。バイエル・パターンでは、生画像200などの画像の各画素位置は、赤(R)、緑(G)あるいは青(B)3つのカラー・プレーンに結合している。バイエル・パターンは、全てのRおよびBに対して2個の関連値を有しており、緑カラー・プレーンは、2つのプレーンG1およびG2と見ることができる。
【0027】
DWT特許における画像圧縮技法によれば、カラー・プレーンR、G1、G2およびB間の相関を、4つの「チャネル」を生成し、個別に圧縮するように利用している。G1およびG2に関連する画素は、圧縮(ブロック212および214)に直接渡され、2つのチャネルを包含する。RおよびB画素は、ほとんど直接には処理されない。R画素値は、その西隣りのG1画素値(ブロック205)だけ減じられる。この差(R−G1)チャネルが圧縮(ブロック210)に渡される。同様に、Bに関連する各画素は、その東隣りのG2関連画素(ブロック206)から減じられる。この差(B−G2)チャネルが圧縮(ブロック216)に渡される。
【0028】
これらの差チャネルが、純カラー・プレーンG1およびG2と共にそれぞれ適切な圧縮ステージ(量子化およびDWT)に渡される。
【0029】
R−G1、G1、G2およびB−G2の4つのチャネルの各々が、それぞれ圧縮ブロック210、212、214および216に渡される。各圧縮ブロック210、212、214および216では、DWT特許によれば、2つのプロセスが生じる。第1のプロセスは、二次元離散ウェーブレット変換(2−DDWT)である。2−DDWTは、DWT特許に示され、記載されているように、画像の「サブバンド」を生成する。DWTの後、またはDWT中に、いわゆる量子化である第2のプロセスが実行される。
【0030】
量子化は、n個の可能値のセットをm個の可能セットにマッピングする手順である。ここで、m<nである。量子化により、DWT画像データ・セットの合計可能データ値数が減少する。適応ブロック220、222、224および226符号化方式は、効果的な2進表現を有するように、それぞれ圧縮ブロック210、212、214および216からのサブバンド・データを配置(パック)する。本発明の一実施形態によれば、上記適応符号化方式ブロック220、222、224および226符号化方式は、圧縮プロセスによって生成されるサブバンドとチャネルの各組合せに対して、最適の符号化方式を採用している。本発明の実施形態で定義されているモディファイドZRLCが、良く知られている純モディファイド・ハフマン符号化方式(MHC)と共に利用されている。圧縮データが符号化されているチャネルおよびサブバンドに応じて、この2つの方式の1つが採用されることになる。さらに、モディファイドZRLCは、構造(F,R)内のRの固定ビット数Mを使用しているため、符号化されているサブバンドおよびチャネルに応じて、数Mを変更することができる。例えば、符号化のための高エントロピーを有するサブバンドでは、より小さいM値を選択することができる。次の表3は、9−7二直交スプラインDWTフィルタを使用し、かつ、その結果得られたDWT係数を、DWT特許に記載されている知覚的に無損失のしきい値化によって量子化したバイエル・パターン(生)画像に関して実行したDWTの場合における特定のサブバンドおよびチャネルに対する、経験を主として到達した最適符号化ストラテジを示したものである。
【表3】
Figure 0004343440
【0031】
上記表3において、図1(a)から図1(e)および図4に示すように、MHCは、良く知られているモディファイド・ハフマン符号化方式であり、ZRLCMはモディファイドZRLC方式である。ここで、Mは、ランレングスを符号化する構造におけるビット数である。全ての場合において、ZRLCMは、MHCを用いてゼロでない値を符号化する。サブバンドLHK、HLK、HHKおよびLLKは、各レベルまたはDWTの反復Kで作成される様々なサブバンドを表している(DWT特許参照)。
【0032】
したがって、各サブバンドおよびチャネルはその特性に応じて符号化される。例えば、チャネルG1およびG2のHH2サブバンドは、M=2のZRLCを使用し、LH2およびHL2サブバンドは純MHCを使用している。図2は、DWT特許に示されているように使用された画像圧縮技法の一例を示したものであるが、異なる特性を有するステージまたはサブ領域にデータを生成する全ての画像圧縮技法が、各々に対する符号化が最適になるように、適応符号化方式を利用することができる。圧縮され、符号化された画像データ240を、ある媒体に格納し、1つのシステムから他のシステムへ転送し、あるいは、ネットワークなどの通信経路を介して分配することができる。また、この圧縮され、符号化された画像データは、単一フレームとしては収集したり転送する必要がなく、符号化された値でその宛先ヘストリームすることができる。
【0033】
DWT変換、量子化および符号化に使用される正確なパラメータによって、元の画像サイズを圧縮画像サイズで割った値である圧縮比が変化する。本発明によるこの実施形態は、DWT特許に記述されている圧縮プロセスによって生成されるチャネルおよびサブバンドの各々における圧縮比を有利に最適化することができる適応符号化プロセスを提供している。
【0034】
図1(a)から図1(e)および図4、図5に記載されている本発明の重要な態様の1つは、モディファイド・ゼロ・ラン・レングス符号化スキームである。モディファイドZRLCは、あらゆる画像圧縮プロセスあるいはデータ圧縮プロセスに利用することができ、DWT特許からの圧縮プロセスの使用は、単なる典型例にすぎない。同様に、サブバンド特性およびチャネル特性に反応する本発明の他の実施形態が備えている適応符号化手順も、画像圧縮を生成する他の種類のステージあるいはサブ領域に反応するように改変することができる。
【0035】
図3は、本発明の一実施形態による圧縮画像および符号化画像の回復を示したものである。
【0036】
復号化ブロック、逆量子ブロック、および逆DWTブロックは、圧縮および符号化画像データ240からラン画像200への回復を試みるプロセスを含んでいる(図2参照)。
【0037】
圧縮および符号化画像データ240は、チャネル毎に、およびサブバンド毎に効率的に格納される。したがって、圧縮および符号化チャネル(R−G1)、G1、G2および(B−G2)を個別に復号化し、圧縮を解除することができる。まず、各チャネルおよび各サブバンドに属するデータが復号化される(ブロック310、312、314および316)。図2に示す適応符号化方式(ブロック220、222、224および226)には、特定のサブバンドおよびチャネルのデータに適用された符号化方式の種類に適した復号化方式を利用する必要がある。データの各チャネルおよびサブバンドは、他のサブバンドおよびチャネルの符号化に用いられた技法とは異なる技法で符号化された可能性があり、従って、符号化技法の違いの全てを考慮した上で復号化しなければならない。復号化されたデータの各チャネルは、次に圧縮が解除される(ブロック320、322、324および326)。図2に示す圧縮ブロックと同様、圧縮解除は、復号化されたデータの量子化解除および逆DWT(IDWT)の実行の2つの手順からなる。圧縮解除ステージについては、DWT特許にさらに詳細に考察されている。
【0038】
一度圧縮解除が完了すると、画素毎に生画像200の近似が得られる。G1を(R−G1)回復値に加え戻し(ブロック325)、G2を(B−G2)回復値に加え戻す(ブロック326)ことによって、元の生画像200からの各バイエル・パターン画素値R、G1、G2およびBがほぼ回復する。
【0039】
適応復号化方式はハードウェア、ソフトウェアまたはそれらの組合せによって実施することができ、また、圧縮プロセス符号化機能を実行する装置から物理的に分離することができる。さらに、圧縮および回復からなる画像処理のための基本データ・フローも、圧縮ブロックから、必要な所望回復能力を有する所望のシステムあるいはプロセスへの中間転送を含むことができる。
【0040】
図4は、本発明の一実施形態によるモディファイド・ゼロ・ラン・レングスコーダを示したものである。
【0041】
語Rのビット数Mが3であるモディファイド・ゼロ・ラン・レングスコーダは、図4に示すように、カウンタ410および論理ネットワークによって実施することができる。上記カウンタ410を利用して、2進法における合計ランレングスが決定される。図の例において12ビットで示されているカウンタ410は、システムに必要な任意のビット数を持つことができる。本発明の一実施形態によれば、kビットのカウンタは、最大ランレングス値run_max = 2k−2(kは、run_maxが最大全体サブバンドまたは画像の寸法以上になるように選択される)を符号化することができる。データ・ストリーム内で遭遇する連続する「ゼロ」の各々が、カウンタを1だけ増分し、ゼロでない値に遭遇するとカウンタ410が(000000000001に)リセットされ、次のゼロのランを待つ。図4のカウンタ410は、ランレングス(r)が000101000010すなわち322個のゼロが符号化されている状態を示している。カウンタ410は、値1+rすなわち000101000011を保持している。このランレングスを、データ構造(Fi,Ri)で表す必要があり、Riの長さMが3に等しいため、カウンタ410の値は、R0、R1、R2およびR3の4つの3ビット・セグメントと見なされる。また、4つの利用可能データ構造の全てを出力する必要がない場合である。例えば図4の例では、値000101000011は、出力する必要のない3個の先行するゼロを有している。したがって、各データ構造(Fi,Ri)に対するイネーブル信号Eniは、Eni=1のときデータ構造(Fi,Ri)が出力され、Eni=0のときは出力されないように生成される。図4は、ゼロでない値(例えば、MHCで符号化される)に遭遇した場合に、(F0,R0)が常に出力されるように、停止およびリセットがかかった場合に、En0が常にイネーブルにされることを示している。
【0042】
データ構造は、(Fi-1,Ri-1)が(Fi,Ri)に先行する順序で出力される。したがって図4の例では、データ構造(F0,R0)の後に(F1,R1)が続く、その後に(F2,R2)が続くことになる。本発明の一実施形態によれば、データ構造(1,Ri)における各領域Riを用いて、構造(0,Ri)に遭遇するまで単一ランを構成している。このような構造に対するフラグF=0は、Rjのビットが、その前に遭遇した、構造(1,Ri)で符号化された、すなわちF=1を有する語Riの他の全てのビットで構成される2進数の最上位であることを示している。1つの構造に対するフラグF=0は、ラン・サイズの全てのビットが遭遇したことを示している。したがって、一対の4入力ORゲート422および424が設けられており、連続する構造のORゲート結果をその入力として有している。したがって、ORゲート422の入力の1つは、ORゲート424の出力であり、また、ORゲート424についてはその入力の1つが、3入力ORゲート426の出力になっている。ORゲート422の他の3つの入力は、R1のビットであり、ORゲート424の他の3つの入力は、R2のビットである。R3の3ビットは、ORゲート426の入力を形成している。この縦続ORゲート構造が、ランレングスを表す必要のある多くの構造を正確に出力し、フラグをたてる機能を実施している。
【0043】
イネーブル信号Eniの状態が1であれば、構造(Fi,Ri)が出力される。2入力ANDゲートが、En0を除き、各イネーブル信号を統率している。En0は、信号「停止およびリセット」440によって制御されている(すなわち、ゼロでない値に遭遇したとき1にセットされ、信号「停止およびリセット」440が強制される)。En1はANDゲート432の出力であり、En2はANDゲート434の出力、En3はANDゲート436の出力である。上記ANDゲートの入力の1つは信号M3(すなわちEn0)であり、もう一方の入力は、連続する構造に属しているフラグFである。ランレングス数の終わりに遭遇すると、上記フラグFがゼロになる。例えば図4の例では、F2=0であり、したがってEn3はゼロにセットされ、(F3,R3)を出力する必要がないことを表している。図に示す例では、「停止およびリセット」がかかったときは、En0、En1およびEn2は全て1であり、構造(F2,R2)(F1,R1)および(F0,R0)のみを出力する必要性と一致している。ランレングス数101000010(101000011に符号化される)の一部を形成しているため、R1が000であっても、構造(F1,R1)を出力しなければならない。逆に、(F3,R3)を構成している先行の3個のゼロは、この例においては、ランレングス値を表すための重要な要素ではないため、出力されない。
【0044】
フラグFiは、ORゲートの出力を考察することによって到達する。フラグF3は、12ビット・カウンタの特定例の場合、必要に応じて、任意のランレングス値の最上位部分を形成するため、常にゼロでなければならない。ランレングスが2M−2以下の場合、本発明の一実施形態によれば、(F0,R0)のみを出力すれば良いことになる。この場合、図1(d)のデータ構造の定義に従って、フラグF0は0でなければならない。2M−2以下のランレングスは、カウンタ410のR1、R2およびR3部分のビットを満たさないことを表している。縦続ORゲート構造に従って、ORゲート426、424および422の出力は全て0を示すことになる。したがって、F0は、セットされるべき0にセットされることになる。ORゲート426、424および422の出力が0を示す結果、ランレングスが2M−1未満の場合、En1、En2およびEn3もゼロを示すことになり、したがって、構造(F1,R1)(F2,R2)および(F3,R3)の機能が抑止され、出力されない。あらゆる場合においてEn0=1であるため、構造(F0,R0)が出力され、0から2M−2の範囲の任意のランレングスを適切に表すことができる。ZRLCコーダは、Mの選択および所望の合計カウンタ範囲に応じて改変することができる。
【0045】
図5は、本発明の一実施形態による適応コーダの構成を示したものである。
【0046】
DWT特許に記述されているように、DWTの各レベルkにおけるLLK、LHK、HLKおよびHHKサブバンドが、サブバンドLLK-1を最初として生成される(k=1の場合、開始データ・セットは画像そのものである)。DWT特許によれば、レベルk+1の他の3つのサブバンドを生成するために、LLKサブバンドが変換される。次に、サブバンドLHK、HLKおよびHHKが量子化され、符号化される。DWT解像度の最終レベルが得られるまで、サブバンドLL上を、「ピラミッド」方式でDWTを反復する場合、最終レベルLLサブバンドが量子化され、符号化される。他のLLKサブバンドは、次のレベルのサブバンドへさらに変換することによって表されるため、それらを量子化し、符号化する必要はない。
【0047】
最終レベルLLサブバンド以外のサブバンドの符号化は、次のように実現される。信号符号化ストラテジが、入力サブバンドを、本発明の様々な実施形態に従って示されたモディファイドZRLCを用いて符号化するか、あるいは、純MHCを用いて符号化するかを、何らかの定義済突合せ(上記表3に示すような)に従って指示することになる。符号化ストラテジは、決定ブロック520に渡される。決定ブロック520は、フロー制御を論理経路の1つに渡す。上記符号化ストラテジが純MHCを指示した場合、上記決定ブロック520は、MHC用LUT(ルックアップ・テーブル)530にフロー制御を渡す。サブバンド、レベルおよび/または符号化するデータのチャネルに基づいて、LUT530の1つが選択され、サブバンド・データが、MHCに従って符号化される。LUT530は一連の表であり、特定入力値に対するマッピングまたはハフマン符号を含んでいる。特定の入力サブバンド・データに対するLUT530から得られるハフマン符号値は、符号化データ570になる。
【0048】
決定ブロック520に渡された上記符号化ストラテジが、ZRLCを用いることを指示した場合、フロー制御はブロック525に渡される。
【0049】
ランレングスを符号化するモディファイドZRLCM(Mは、構造(F,R)におけるRのビット数を表す)が、DWTブロックからのサブバンド・データ値「y」をゼロと比較することによって実行される。この試験が真であれば、ランレングスコーダ560のカウンタは、ランレングスを値rだけ増加する。ゼロでないy(サブバンド値)に遭遇すると、この値が、ZRLC用LUT540に対するアドレスとして使用される。上記ZRLC用LUT540は、そのゼロでない値に対するMHCマッピングを含んでいる。
【0050】
圧縮/符号化データ570を形成するために出力された、上記LUT540から見出されたゼロでない値のMHCの前に、ランレングスコーダ560のカウンタが停止され、M+1ビットの構造(F,R)が出力されて、圧縮/符号化データ570用の符号化ランレングスになる。次に、ランレングスコーダ560のカウンタが、値1にリセットされ、同時期に存在した、LUT540からの遭遇ゼロでない値のMHCが、ランレングスコーダ560から出力される構造(F,R)に、MHCが続くように、圧縮/符号化データ570に出力される。ランレングスコーダ560はさらに、リセット信号、M2信号およびM3信号の3種類の信号によって統率されている。リセット信号は、新しいサブバンドの開始データを表している。信号M2は、M=2、構造(F,R)における語Rのサイズが2の場合におけるZRLC2の実行を表している。M2がアサートされたとき、M=2に一致する論理ネットワークが、ラン・カウンタと共に動作するようにイネーブルにされる。M3がアサートされたとき、図4に示すように、Mが3に一致する論理ネットワークが、ラン・カウンタと共に動作するようにイネーブルにされる。したがって、本発明の一実施形態では、コーダ560に、それぞれ異なるM値に適合し、かつ、全てを同じカウンタ場合でも使用することができる複数の論理ネットワークを持たせることができる。
【0051】
最後に、サブバンド全体をスキャンする場合、仮に、最後のyがゼロであるとすると、M+1個のゼロのみを出力し、終端語(F,R)=(0,0)を表すことができる。
【0052】
サブバンドLLFINALの符号化は異なるデータ・フローに従う。高圧縮を実現するために、量子化および誤り符号化(ブロック510)を含む単純予測符号化方式が、そのL1サブバンドに適用される。LLサブバンドの量子化係数を符号化する代わりに、隣接する、すなわち連続する値間の誤り値が、エントロピー符号化スキームによって符号化される。これらの値は純MHCを用いて符号化され、したがって、MHC用LUT530が使用される。モディファイドZRLCの完全セットが、元の生画像の圧縮バージョンを表すMHC符号化データである。DWT特許に参照されている各「チャネル」を、付録AからEに示すようなMHC値を含む適当なLUT530または540にアクセスする図5の論理で考察し、個別に符号化することができる。
【0053】
図6は、本発明の一実施形態による画像プロセッサの構成図である。
【0054】
図6は、適応コーダを含む本発明の少なくとも1つの実施形態に組み込まれた画像化装置の画像処理部品の内部構成図である。図の例示的回路では、センサ600が、何らかの景色/環境からの色/強度値である画素成分を生成している。センサ600によって生成されるnビットの画素値が、キャプチャ・インタフェース610に送られる。本発明に関連する上記センサ600は、通常、領域または位置の1個の「センス」からR、GまたはB成分のいずれか1つをセンスする。したがって、各画素の強度値は、3つのカラー・プレーン(あるいは、G1およびG2を別個に考察する場合は、4つのカラー・プレーン)のうちの1プレーンのみに関係し、共にバイエル・パターン生画像を形成することができる。上記キャプチャ・インタフェース610は、センサが生成した画像を解像し、個々の画素に強度値を割り当てる。全画像に対する全てのこのような画素のセットが、ディジタル・カメラ・センサの通常の工業実施態様に従ってバイエル・パターン化される。
【0055】
センサ・プレーン中の画素セルの幾つかが、景色/環境中の電光状態に適切に反応しないことは、あらゆるセンサ装置において通常のことである。その結果、これらのセルから生成される画素値が欠陥値になる可能性がある。これらの画素は「死画素」と呼ばれている。「画素置換え」ユニット615が、死画素の各々を列内の直近の有効画素と置き換えている。RAM616は、センサによって供給され、上記死画素の行索引および列索引からなっている。このRAM616は、捕えた画像に関連して死画素の位置の特定に役立っている。圧伸モジュール625は、センサが捕えたnビット(典型的にはn=10)の元の画素強度の各々を、mビットの強度値に変換するように設計されている。ここで、m<n(典型的にはm=8)である。センサ600およびキャプチャ・インタフェース610が、1画素当たりmビットの値をもたらす場合は、圧伸モジュール625は不要である。
【0056】
一次圧縮器628は、圧伸されたセンサ画像データを受信し、DWT特許で考察されているDWTベース圧縮などの画像圧縮を実行する。RAM629を用いて、DWT特許に記載されている圧縮技法の実行において、所望のチャネル/サブバンドの各々に対するDWT係数および/または量子化しきい値を格納することができる。一次圧縮器628は、チャネルおよびサブバンド毎の圧縮出力を適応コーダ630に供給するように設計することができる。適応コーダ630は、図4および図5に示す設計と同様に設計することができる。本発明の一実施形態によれば、適応コーダ630を備え付けて、本発明の他の実施形態で使用している純MHCおよびモディファイドZRLCなど、様々な2進符号化スキームを実行させることができる。RAM631を構成して、適応コーダ630が利用するMHCLUTおよびZRLCLUTを格納させることができる。上記適応コーダ630は、符号化され、圧縮されたデータを格納アレイ640に供給する。適応符号化方式の結果、上記格納アレイ640を、多くの可能2進符号化技法の中のわずか1つの技法を画像データに一律に適用する典型的非適応コーダより小型に設計することができる。各画像(または、サブバンドのような副次的な結果による画像圧縮)は、ある符号化スキームの使用が他の符号化スキームを使用するより有利な独自の特性を有しているため、適応符号化方式は、圧縮する、しないにかかわらず、画像データを符号化する場合に特に有利である。
【0057】
RAM表616、626、629および631の各々は、バス660と直接通信することができ、そのデータをロードし、必要に応じて後で修正することができる。また、これらのRAM表および他のRAM表を利用して、必要に応じて中間結果データを格納することができる。図6の画像化装置へ外部転送する準備が整うと、格納アレイ640のデータを転送のためにデータをバス660上に出力することができる。またバス660は、必要に応じて、RAM表616、626、629および631の更新を容易にしている。
【0058】
図7は、本発明の一実施形態のシステムを示したものである。
【0059】
図はコンピュータ・システム710を示しており、該コンピュータ・システム710は、PC(パーソナル・コンピュータ)などの任意の汎用または専用計算機あるいはデータ処理装置を用いることができ、カメラ730に結合されている。カメラ730にはディジタル・カメラ、ディジタル・ビデオ・カメラまたは任意の画像キャプチャ装置、画像システムまたはそれらの組合せを使用することができる。カメラ730を利用して、景色740の画像が捕えられる。本質的には、捕えられた画像は、RAMまたは固定ディスクなど他のメモリである画像メモリ・ユニット734に効果的に格納させることができるように、画像処理回路732によって処理される。最終的にはコンピュータ・システム710に入る、上記画像メモリ・ユニット734内に格納された画像は、本発明の一実施形態に従って、圧縮され、適応符号化された画像として直接格納することができる。静止画像化を実行することができるほとんどのディジタル・カメラでは、最初に画像が格納され、次にダウンロードされる。これにより、カメラ730は余分に遅延することなく、速やかに次の目標物/景色を捕えることができる。本発明は、その様々な実施形態において、特に、捕えた8ビット・バイエル・パターンから直接変換された圧縮画像を提供することにより、カメラ730の計算必要条件および関連コストを削減し、より安価なカメラの使用を可能にしている。
【0060】
本発明の1つまたは複数の実施形態によれば、画像処理回路732が圧縮および適応符号化を実行している。コンピュータ・システム710にダウンロードすると、圧縮され、符号化された画像を復号化し、プリンタ(図示せず)などの出力装置あるいはモニタ装置720に引き渡すことができる。画像復号化は、PentiumTM(INTEL社の製品)Processorなどのプロセッサ712、および、命令アドレスおよび結果データを格納/ロードするために用いられるRAMなどのメモリ711を使用して実現することができる。上記コンピュータ・システム710は、モディファイドZRLCおよびMHCに必要な、図5および図6に示すLUTをカメラ730に提供することができる。
【0061】
他の実施形態では、既に記述した適応符号化技法およびモディファイドZRLC技法を、カメラ730内で直接実施するのではなく、ソフトウェア・アプリケ−ションをコンピュータ・システム710に実行させることによって実現することができる。このような実施形態では、画像処理回路は、圧縮画像のみを有利に格納することができる。カメラ730からダウンロードされた後、符号化および/または復号化を実行するために使用されるアプリケーションは、C++などの言語で書かれた原始符号から実行可能にコンパイルされたものからのもので良い。その実行可能ファイルの命令は、画像の基準化に必要な命令に対応しており、ディスク718またはメモリ711に格納させることができる。さらに、他のシステムでも使用できるように、このようなアプリケーション・ソフトウェアをネットワーク上あるいはコンピュータ読取り可能媒体上に分散させることも可能である。
【0062】
景色740のような画像がカメラ730によって捕えられると、その画像は、画像処理回路732に送信される。該画像処理回路732は、とりわけ圧縮画像の適応符号化機能を実行するICその他の部品からなっている。画像メモリ・ユニット734は、圧縮され、符号化されたデータを格納する。一度全ての画素が処理され、格納され、あるいはレンダリングのためにコンピュータ・システム710に転送されると、カメラ730は自由になり、次の画像を捕えることができる。ユーザまたはアプリケーションが画像のダウンロードを希望/要求した場合、上記画像メモリ・ユニット内の符号化データが、画像メモリ・ユニット734からI/Oポート717へ転送される。該I/Oポート717は、図に示すバス・ブリッジ階層構造(I/Oバス715からブリッジ714を経てシステム・バス713)を使用して、データを一時的にメモリ711または任意選択でディスク718に格納する。上記コンピュータ・システム710は、プロセッサ712およびメモリ711との情報通信を容易にするシステム・バス713と、I/Oバス715に結合しているブリッジ714とを備えている。I/Oバス715は、ディスプレイ・アダプタ716、ディスク718などの様々なI/O装置、およびシリアル・ポートなどのI/Oポート717を接続している。I/O装置、バスおよびブリッジのこのような組合せの多くを本発明を使用して利用することができ、図に示す組合せは単に、このような可能組合せの1つを示したものに過ぎない。
【0063】
本発明の他の実施形態では、モディファイドZRLC符号化方式および適応符号化方式を利用してテキスト・ファイルの圧縮など、通常の非画像データの圧縮を実行することもできる。このようなデータを、ディスク、メモリ711またはその他の格納媒体に格納させることができ、適応的に符号化することによって圧縮することができる。このようなデータ符号化においては、モディファイドZRLCを用いて符号化し、かつ、MHCを用いて符号化することができるデータ・ストリーム部分を検出することが可能である。多数の連続するゼロを含むデータでは、任意に大きいランレングス値を表すことができるモディファイドZRLCスキームが、特に効果的である。高エントロピーを示すデータでは、MHCがより適切である。
【0064】
本明細書に記載されている例示的実施形態は、単に本発明の原理を示すためのものに過ぎず、本発明の範囲を制限するものではない。本発明の原理は、本明細書に記載されている利点を実現し、かつ、その他の利点を実現し、あるいはその他の目的を満足する広範囲のシステムに適用できるものである。
【表4】
Figure 0004343440
Figure 0004343440
Figure 0004343440
Figure 0004343440
Figure 0004343440

【図面の簡単な説明】
【図1】 本発明の一実施形態によるモディファイド・ゼロ・ラン・レングス符号化方式のための様々な基本データ構造を示す図である。
【図2】 本発明の一実施形態による画像処理データ・フローを示す図である。
【図3】 本発明の一実施形態による圧縮画像および符号化画像の回復を示す図である。
【図4】 本発明の一実施形態によるモディファイド・ゼロ・ラン・レングスコーダを示す図である。
【図5】 本発明の一実施形態による適応コーダの構成図である。
【図6】 本発明の一実施形態による画像プロセッサの構成図である。
【図7】 本発明の一実施形態のシステムを示す図である。

Claims (5)

  1. エンコーダ装置によって実施される方法であって、
    フラグと語Rとからなる構造を有し、その語Rを格納するために利用するビット数を決定するステップと;
    構造の前記フラグを1とする構造を指定するステップであって、この1のフラグは、該1のフラグを付した構造中の対応する語R次の構造中の語Rと隣接するようにランの長さの一部を形成することを示すものである、1のフラグを有する構造を指定するステップと
    構造の前記フラグを0とする構造を指定するステップであって、この0のフラグは、該0のフラグを付した構造中の対応する語Rが前記ランの長さの最上位部分であることを示すものである、0のフラグを有する構造を指定するステップと;
    複数の前記構造をまとめてストリング化することによって、前記1つの構造の語Rのビット数によって許容される以上に長いランの長さを符号化するステップとから構成されることを特徴とする方法。
  2. 請求項1に記載の方法において、
    前記ランは、画像データのランである方法。
  3. データ値を符号化するための拡張ゼロ・ラン・レングス符号化スキームにおける語Rの長さからなるMビットのグループにそれぞれがセグメント化されたNビット・カウンタと、
    前記カウンタに結合され、かつ、フラグをセットし、前記カウンタから選択された前記Mビットのグループの出力をイネーブルにするように構成された論理ネットワークと
    を備える装置であって、
    前記拡張ゼロ・ラン・レングス符号化スキームが、
    フラグと語Rとからなる構造を有し、その語Rを格納するために利用するビット数を決定することと;
    構造の前記フラグを1とする構造を指定することであって、この1のフラグは、該1のフラグを付した構造中の対応する語Rが次の構造中の語Rと隣接するようにランの長さの一部を形成することを示すものである、1のフラグを有する構造を指定することと
    構造の前記フラグを0とする構造を指定することであって、この0のフラグは、該0のフラグを付した構造中の対応する語Rが前記ランの長さの最上位部分であることを示すものである、0のフラグを有する構造を指定することと;
    複数の前記構造をまとめてストリング化することによって、前記1つの構造の語Rのビット数によって許容される以上の長さのランを符号化することと
    を含んでいる装置
  4. デコーダ装置によって実施される方法であって、
    データ・ストリーム内に符号化されているランを、フラグと語Rとからなる構造を該データ・ストリームから引き出すことによって復号化する方法であって、
    前記フラグが1の場合には、該フラグが1のその構造内の対応する語Rは、次の構造内の語Rと隣接するようにランの長さの一部を形成
    前記フラグが0の場合には、該フラグが0のその構造内の対応する語Rがランの長さの最上位部分を形成するものである
    復号化の方法。
  5. 生画像データを生成するアレイ中に格納される画素値として表される光を受け取るように構成された光サブシステムと、
    フラグと語Rとからなる構造を有し、その語Rを格納するために利用するビット数を決定するイメージプロセッサと;
    エンコードされたデータを蓄積する画像メモリとから構成されるシステムであって、
    前記イメージ・プロセッサが
    構造の前記フラグを1とする構造を指定することであって、この1のフラグは、該1のフラグを付した構造中の対応する語Rが次の構造中の語Rと隣接するようにランの長さの一部を形成することを示すものである、1のフラグを有する構造を指定し
    構造の前記フラグを0とする構造を指定することであって、この0のフラグは、該0のフラグを付した構造中の対応する語Rが前記ランの長さの最上位部分であることを示すものである、0のフラグを有する構造を指定し;
    複数の前記構造をまとめてストリング化することによって、前記1つの構造の語Rのビット数によって許容される以上の長さのランを符号化する
    ことを特徴とするシステム。
JP2000558612A 1998-07-02 1999-07-02 Dwtベース技法によって圧縮された画像を符号化するための実時間アルゴリズムおよびアーキテクチャ Expired - Fee Related JP4343440B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/109,475 US6124811A (en) 1998-07-02 1998-07-02 Real time algorithms and architectures for coding images compressed by DWT-based techniques
US09/109,475 1998-07-02
PCT/US1999/015221 WO2000002319A1 (en) 1998-07-02 1999-07-02 Real time algorithms and architectures for coding images compressed by dwt-based techniques

Publications (3)

Publication Number Publication Date
JP2002520899A JP2002520899A (ja) 2002-07-09
JP2002520899A5 JP2002520899A5 (ja) 2006-08-31
JP4343440B2 true JP4343440B2 (ja) 2009-10-14

Family

ID=22327843

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000558612A Expired - Fee Related JP4343440B2 (ja) 1998-07-02 1999-07-02 Dwtベース技法によって圧縮された画像を符号化するための実時間アルゴリズムおよびアーキテクチャ

Country Status (9)

Country Link
US (1) US6124811A (ja)
EP (1) EP1095459B1 (ja)
JP (1) JP4343440B2 (ja)
KR (1) KR100491333B1 (ja)
AU (1) AU4861199A (ja)
DE (1) DE69942028D1 (ja)
GB (1) GB0031324D0 (ja)
TW (1) TW453049B (ja)
WO (1) WO2000002319A1 (ja)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6940908B1 (en) * 1998-09-17 2005-09-06 Intel Corporation Compressing video frames
US6166665A (en) 1999-03-08 2000-12-26 Unisys Corporation Data compression method and apparatus with embedded run-length encoding
US7095164B1 (en) 1999-05-25 2006-08-22 Intel Corporation Display screen
US6697534B1 (en) 1999-06-09 2004-02-24 Intel Corporation Method and apparatus for adaptively sharpening local image content of an image
US6658399B1 (en) 1999-09-10 2003-12-02 Intel Corporation Fuzzy based thresholding technique for image segmentation
US6625308B1 (en) 1999-09-10 2003-09-23 Intel Corporation Fuzzy distinction based thresholding technique for image segmentation
US7106910B2 (en) * 1999-10-01 2006-09-12 Intel Corporation Color video coding scheme
US7053944B1 (en) 1999-10-01 2006-05-30 Intel Corporation Method of using hue to interpolate color pixel signals
AUPQ457299A0 (en) * 1999-12-10 2000-01-13 Canon Kabushiki Kaisha Inverse dwt method and apparatus
US6628827B1 (en) 1999-12-14 2003-09-30 Intel Corporation Method of upscaling a color image
US7158178B1 (en) 1999-12-14 2007-01-02 Intel Corporation Method of converting a sub-sampled color image
US6961472B1 (en) 2000-02-18 2005-11-01 Intel Corporation Method of inverse quantized signal samples of an image during image decompression
US6748118B1 (en) 2000-02-18 2004-06-08 Intel Corporation Method of quantizing signal samples of an image during same
US6738520B1 (en) * 2000-06-19 2004-05-18 Intel Corporation Method of compressing an image
US7046728B1 (en) 2000-06-30 2006-05-16 Intel Corporation Method of video coding the movement of a human face from a sequence of images
US6775413B1 (en) 2000-09-18 2004-08-10 Intel Corporation Techniques to implement one-dimensional compression
US6563439B1 (en) * 2000-10-31 2003-05-13 Intel Corporation Method of performing Huffman decoding
US6636167B1 (en) 2000-10-31 2003-10-21 Intel Corporation Method of generating Huffman code length information
US20020118746A1 (en) * 2001-01-03 2002-08-29 Kim Hyun Mun Method of performing video encoding rate control using motion estimation
GB0102154D0 (en) * 2001-01-27 2001-03-14 Ibm Decimal to binary coder/decoder
US6766286B2 (en) 2001-03-28 2004-07-20 Intel Corporation Pyramid filter
US6889237B2 (en) * 2001-03-30 2005-05-03 Intel Corporation Two-dimensional pyramid filter architecture
US20020184276A1 (en) * 2001-03-30 2002-12-05 Tinku Acharya Two-dimensional pyramid filter architecture
US6563440B1 (en) * 2001-10-19 2003-05-13 Nokia Corporation Apparatus and method for decoding Huffman codes using leading one/zero string length detection
US7266151B2 (en) * 2002-09-04 2007-09-04 Intel Corporation Method and system for performing motion estimation using logarithmic search
US20040042551A1 (en) * 2002-09-04 2004-03-04 Tinku Acharya Motion estimation
US7260624B2 (en) * 2002-09-20 2007-08-21 American Megatrends, Inc. Systems and methods for establishing interaction between a local computer and a remote computer
US20040057626A1 (en) * 2002-09-23 2004-03-25 Tinku Acharya Motion estimation using a context adaptive search
US20060126718A1 (en) * 2002-10-01 2006-06-15 Avocent Corporation Video compression encoder
US7321623B2 (en) * 2002-10-01 2008-01-22 Avocent Corporation Video compression system
US20040174446A1 (en) * 2003-02-28 2004-09-09 Tinku Acharya Four-color mosaic pattern for depth and image capture
US20040169748A1 (en) * 2003-02-28 2004-09-02 Tinku Acharya Sub-sampled infrared sensor for use in a digital image capture device
US7274393B2 (en) * 2003-02-28 2007-09-25 Intel Corporation Four-color mosaic pattern for depth and image capture
US7418141B2 (en) * 2003-03-31 2008-08-26 American Megatrends, Inc. Method, apparatus, and computer-readable medium for identifying character coordinates
US7412625B2 (en) * 2003-05-27 2008-08-12 American Megatrends, Inc. Method and system for remote software debugging
US7546584B2 (en) * 2003-06-16 2009-06-09 American Megatrends, Inc. Method and system for remote software testing
US7543277B1 (en) 2003-06-27 2009-06-02 American Megatrends, Inc. Method and system for remote software debugging
US9560371B2 (en) 2003-07-30 2017-01-31 Avocent Corporation Video compression system
US7319795B2 (en) * 2003-09-23 2008-01-15 Broadcom Corporation Application based adaptive encoding
US7684629B2 (en) * 2004-01-26 2010-03-23 Fujifilm Corporation Data compression apparatus, and data compression program storage medium
US7827258B1 (en) * 2004-03-01 2010-11-02 American Megatrends, Inc. Method, system, and apparatus for communicating with a computer management device
US7457461B2 (en) 2004-06-25 2008-11-25 Avocent Corporation Video compression noise immunity
US7006700B2 (en) * 2004-06-25 2006-02-28 Avocent Corporation Digital video compression command priority
US7519749B1 (en) * 2004-08-25 2009-04-14 American Megatrends, Inc. Redirecting input and output for multiple computers
US8010843B2 (en) 2005-12-14 2011-08-30 American Megatrends, Inc. System and method for debugging a target computer using SMBus
US8718147B2 (en) * 2006-02-17 2014-05-06 Avocent Huntsville Corporation Video compression algorithm
US7555570B2 (en) 2006-02-17 2009-06-30 Avocent Huntsville Corporation Device and method for configuring a target device
US8848789B2 (en) * 2006-03-27 2014-09-30 Qualcomm Incorporated Method and system for coding and decoding information associated with video compression
CA2650663A1 (en) 2006-04-28 2007-11-08 Avocent Corporation Dvc delta commands
JP2008035230A (ja) * 2006-07-28 2008-02-14 Fujifilm Corp データ圧縮装置およびデータ圧縮プログラム
US7783799B1 (en) * 2006-08-31 2010-08-24 American Megatrends, Inc. Remotely controllable switch and testing methods using same
CN101689357B (zh) 2007-04-11 2015-03-04 Red.Com公司 摄像机
US8237830B2 (en) 2007-04-11 2012-08-07 Red.Com, Inc. Video camera
US7501964B2 (en) * 2007-04-16 2009-03-10 Texas Instruments Incorporated Entropy coding for digital codecs
US8135072B2 (en) * 2007-08-01 2012-03-13 Lsi Corporation CAVLC run before encode with zero cycle costs
US8611652B2 (en) * 2009-12-16 2013-12-17 Red.Com, Inc. Resolution based formatting of compressed image data
BR122019025407B8 (pt) * 2011-01-13 2023-05-02 Canon Kk Aparelho de codificação de imagem, método de codificação de imagem, aparelho de decodificação de imagem, método de decodificação de imagem e meio de armazenamento
JP6126006B2 (ja) * 2012-05-11 2017-05-10 パナソニック株式会社 音信号ハイブリッドエンコーダ、音信号ハイブリッドデコーダ、音信号符号化方法、及び音信号復号方法
US9098887B2 (en) * 2012-10-12 2015-08-04 Mediatek Inc. Image compression method and apparatus for encoding pixel data of frame into interleaved bit-stream, and related image decompression method and apparatus
JP2016508700A (ja) 2013-02-14 2016-03-22 レッド.コム,インコーポレイテッド ビデオカメラ
JP6593122B2 (ja) * 2015-11-20 2019-10-23 富士通株式会社 動画像符号化装置、動画像符号化方法、及びプログラム
JP6629165B2 (ja) 2016-10-07 2020-01-15 株式会社東芝 データ圧縮装置、及び、データ伸張装置、並びに、データ圧縮伸張装置
KR102620350B1 (ko) 2017-07-05 2024-01-02 레드.컴, 엘엘씨 전자 디바이스에서의 비디오 이미지 데이터 처리
CA3159585A1 (en) * 2019-10-28 2021-05-06 Lg Electronics Inc. Image encoding/decoding method and device using adaptive color transform, and method for transmitting bitstream
CN113765620B (zh) * 2020-06-01 2022-09-23 南京大学 分块压缩编码方法、装置、计算机设备及可读存储介质
US11176908B1 (en) * 2020-07-22 2021-11-16 Hung-Cheng Kuo Method for reducing a size of data required for recording a physical characteristic of an optical device
US11967973B2 (en) * 2021-05-06 2024-04-23 Samsung Display Co., Ltd. Low overhead transition encoding codes
US20230254493A1 (en) * 2022-02-08 2023-08-10 Synaptics Incorporated Lossless compression for low-latency video transmission in resource-constrained encoding environment

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4988998A (en) * 1989-09-05 1991-01-29 Storage Technology Corporation Data compression system for successively applying at least two data compression methods to an input data stream
US5757973A (en) * 1991-01-11 1998-05-26 Sony Corporation Compression of image data seperated into frequency component data in a two dimensional spatial frequency domain
US5488486A (en) * 1991-03-11 1996-01-30 Ricoh Company, Ltd. Image processing system
US5412429A (en) * 1993-03-11 1995-05-02 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Picture data compression coder using subband/transform coding with a Lempel-Ziv-based coder
US5617517A (en) * 1994-09-20 1997-04-01 Seiko Epson Corporation Two-dimensional method and system for compressing bi-level images
US5966465A (en) * 1994-09-21 1999-10-12 Ricoh Corporation Compression/decompression using reversible embedded wavelets
GB2301252A (en) * 1995-05-23 1996-11-27 Ibm Run length data compression
NL1000489C2 (nl) * 1995-06-02 1996-12-03 Oce Nederland Bv Werkwijze en inrichting voor comprimeren en decomprimeren van digitale beeldsignalen.
US5819215A (en) * 1995-10-13 1998-10-06 Dobson; Kurt Method and apparatus for wavelet based data compression having adaptive bit rate control for compression of digital audio or other sensory data
US5682152A (en) * 1996-03-19 1997-10-28 Johnson-Grace Company Data compression using adaptive bit allocation and hybrid lossless entropy encoding
US5751231A (en) * 1996-06-26 1998-05-12 Intel Corporation Method and apparatus for run-length encoding using special long-run codes

Also Published As

Publication number Publication date
JP2002520899A (ja) 2002-07-09
TW453049B (en) 2001-09-01
KR20010053348A (ko) 2001-06-25
EP1095459A4 (en) 2003-01-29
KR100491333B1 (ko) 2005-05-25
DE69942028D1 (de) 2010-04-01
EP1095459A1 (en) 2001-05-02
EP1095459B1 (en) 2010-02-17
WO2000002319A1 (en) 2000-01-13
US6124811A (en) 2000-09-26
GB0031324D0 (en) 2001-02-07
AU4861199A (en) 2000-01-24

Similar Documents

Publication Publication Date Title
JP4343440B2 (ja) Dwtベース技法によって圧縮された画像を符号化するための実時間アルゴリズムおよびアーキテクチャ
US6166664A (en) Efficient data structure for entropy encoding used in a DWT-based high performance image compression
US6285796B1 (en) Pseudo-fixed length image compression scheme
TWI431948B (zh) 轉換區塊之效率編碼和解碼
KR100351654B1 (ko) 현상 표시 변환 데이터의 디지털 처리 방법 및 시스템
US6301392B1 (en) Efficient methodology to select the quantization threshold parameters in a DWT-based image compression scheme in order to score a predefined minimum number of images into a fixed size secondary storage
US5818877A (en) Method for reducing storage requirements for grouped data values
US6233358B1 (en) Image compression using directional predictive coding of the wavelet coefficients
US7991052B2 (en) Variable general purpose compression for video images (ZLN)
US6292114B1 (en) Efficient memory mapping of a huffman coded list suitable for bit-serial decoding
US9077960B2 (en) Non-zero coefficient block pattern coding
JP2006025465A (ja) データ処理装置及び方法
US20090323819A1 (en) Method and apparatus for temporal wavelet compression
KR20070046852A (ko) 혼합된 그래픽 및 비디오 소스의 압축을 위한 시스템 및방법
US8199820B2 (en) Intermediate compression of reference frames for transcoding
KR100357658B1 (ko) 현상 표시 변환 데이터의 디지털 처리 방법 및 시스템
US6396955B1 (en) Image compression and expansion device
KR20020008133A (ko) 유한 알파벳 데이터의 비손실 적응 인코딩
Tagne et al. An Efficient Data Compression Approach based on Entropic Codingfor Network Devices with Limited Resources
Rao et al. Evaluation of lossless compression techniques
WO2001005039A1 (en) Signal processing method and device
JPH08275153A (ja) 画像圧縮装置および画像復元装置
JP2698034B2 (ja) コード変換方法、コード変換システム及びディジタル・データ信号処理方法
JP2000013797A (ja) 画像圧縮装置および画像伸張装置
JP2627927B2 (ja) 画像データの圧縮率変換方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060703

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060703

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081028

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090128

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090204

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090609

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090709

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

Free format text: PAYMENT UNTIL: 20120717

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120717

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130717

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees