JP4365956B2 - 符号化表現を提供するデジタル画像の生成方法および装置 - Google Patents

符号化表現を提供するデジタル画像の生成方法および装置 Download PDF

Info

Publication number
JP4365956B2
JP4365956B2 JP31166199A JP31166199A JP4365956B2 JP 4365956 B2 JP4365956 B2 JP 4365956B2 JP 31166199 A JP31166199 A JP 31166199A JP 31166199 A JP31166199 A JP 31166199A JP 4365956 B2 JP4365956 B2 JP 4365956B2
Authority
JP
Japan
Prior art keywords
block
bit plane
encoded
encoding
distortion
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
JP31166199A
Other languages
English (en)
Other versions
JP2000188552A5 (ja
JP2000188552A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Publication of JP2000188552A publication Critical patent/JP2000188552A/ja
Publication of JP2000188552A5 publication Critical patent/JP2000188552A5/ja
Application granted granted Critical
Publication of JP4365956B2 publication Critical patent/JP4365956B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/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/645Methods 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 by grouping of coefficients into blocks after the transform
    • 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

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は、符号化表現を提供するデジタル画像を生成する符号化方法および装置に関するものである。本発明は、また符号化表現を提供するデジタル画像を生成するコンピュータプログラムを記録したコンピュータ可読媒体を含むコンピュータプログラム製品に関するものである。
【0002】
【従来の技術】
米国特許出願第5,754、793号は、ヒューマン・ビジュアル・システム(HVSモデル)を使用するウェーブレット・ベースの画像圧縮方式を開示する。この方法はDCサブバンド内の係数ごとのエッジ状態および背景輝度に基づき、その後DWTレベルおよび方向を重み付けされる量子化因数を有することでスペクトルと空間の両面で量子化を調整し、量子化因数には伝送オーバヘッドは不要であるがこの方法ではDC係数が量子化されないことを必要とする。このようにして量子化因数が符号化器と復号化器の両方で決定できる。この結果、この方法の圧縮性能は制限され、圧縮率を上げるためにしばしば必要なように、DWTのレベル数が増加した場合の空間適合の精度が低下するという欠点がある。さらに、米国特許第5,754,793号で開示された方法は異なる表示条件またはディスプレイには適合できない。これはサブバンド量子化因数が復号化器のルックアップ・テーブルに記憶されているからである。この方法はメモリが制約された符号化器にも適合できない。これは各サブバンド内のコントラスト・マスキングを評価するのにDCサブバンドからの係数を必要とするからである。
【0003】
【発明が解決しようとする課題】
本発明の一目的は、従来技術の1つまたは複数の欠点を改善することである。
【0004】
【課題を解決するための手段】
本発明の一態様によれば、符号化表現を提供するデジタル画像の生成方法が提供され、前記方法は、(i)係数の複数のブロックを取得するために前記デジタル画像を変換する変換ステップと、(ii)前記係数の前記ブロックそれぞれをビットプレーン符号化するビットプレーン符号化ステップと、(iii)前記ブロックそれぞれの符号化ビットプレーンごとに少なくとも1つの歪み度を決定する歪み度決定ステップと、(iv)前記歪み度に基づいて画像歪みを最小化する前記ビットプレーンで前記符号化ブロックそれぞれを終了する終了ステップと、(v)前記符号化表現を形成するために前記終了した符号化ブロックを連結する連結ステップとを含む。
【0005】
本発明の別の態様によれば、符号化表現を提供するデジタル画像の生成方法が提供され、前記方法は、(i)係数の複数のブロックを取得するために前記デジタル画像を変換する変換ステップと、(ii)前記係数の前記ブロックそれぞれをビットプレーン符号化するビットプレーン符号化ステップと、(iii)前記ブロックそれぞれの符号化ビットプレーンごとに少なくとも1つのブロックレートを決定するブロックレート決定ステップと、(iv)前記ブロックレートに基づいて合計ブロックレートを最小化する前記ビットプレーンで前記符号化ブロックそれぞれを終了する終了ステップと、(v)前記符号化表現を形成するために前記終了した符号化ブロックを連結する連結ステップとを含む。
【0006】
本発明のさらに別の態様によれば、符号化表現を提供するデジタル画像の生成方法が提供され、前記方法は、(i)元の係数の複数のブロックを取得するために前記デジタル画像を変換する変換ステップであって、前記ブロックそれぞれは、対応最小ビットプレーンおよび最小ビットプレーンを有し、(ii)前記対応最大ビットプレーンから前記対応最小ビットプレーンに前記係数の前記ブロックそれぞれをビットプレーン符号化するビットプレーン符号化ステップと、(iii)前記ブロックそれぞれの符号化ビットプレーンごとに少なくとも1つのブロックレートを決定するブロックレート決定ステップであり、指定ブロックの指定符号化ビットプレーンの前記少なくとも1つのブロックレートは、指定ブロックを、対応最大ビットプレーンから指定符号化ビットプレーンのそれぞれ少なくとも1つの部分に前記ビットプレーン符号化ステップの間に符号化されたコード・ビットの数を表し、(iv)前記ブロックそれぞれの符号化ビットプレーンごとに少なくとも1つの歪み度を決定する歪み度決定ステップであり、指定ブロックの指定符号化ビットプレーンの前記少なくとも1つの歪み度は、前記指定ブロックの対応符号化最大ビットプレーンから指定符号化ビットプレーンのそれぞれ少なくとも1つの部分に前記符号化ビットプレーンから復号化された前記係数の関数であり、また、前記指定ブロックの元の係数の関数であり、(v)前記歪み度と前記ブロックレートの所定の合計に基づいて画像歪みを最小化する前記ビットプレーンで前記符号化ブロックを終了する終了ステップと、(vi)前記符号化表現を形成するために前記終了した符号化ブロックを連結する連結ステップとを含む。
【0007】
本発明のさらに別の態様によれば、符号化表現を提供するデジタル画像の生成方法が提供され、前記方法は、(i)元の係数の複数のブロックを取得するために前記デジタル画像を変換する変換ステップであり、前記ブロックそれぞれは、対応最大ビットプレーンおよび最小ビットプレーンを有し、(ii)前記対応最大ビットプレーンから前記対応最小ビットプレーンに前記係数の前記ブロックそれぞれをビットプレーン符号化するビットプレーン符号化ステップと、(iii)前記ブロックそれぞれの符号化ビットプレーンごとに少なくとも1つのブロックレートを決定するブロックレート決定ステップであり、指定ブロックの指定符号化ビットプレーンの前記少なくとも1つのブロックレートは、指定ブロックを、対応最大ビットプレーンから指定符号化ビットプレーンのそれぞれ少なくとも1つの部分に前記ビットプレーン符号化ステップの間に符号化されたコード・ビットの数を表し、(iv)前記ブロックそれぞれの符号化ビットプレーンごとに少なくとも1つの歪み度を決定する歪み度決定ステップであり、指定ブロックの指定符号化ビットプレーンの前記少なくとも1つの歪み度は、前記指定ブロックの対応符号化最大ビットプレーンから指定符号化ビットプレーンのそれぞれ少なくとも1つの部分に前記符号化ビットプレーンから復号化された前記係数の関数であり、また、前記指定ブロックの元の係数の関数であり、(v)前記ブロックレートと所定の画像歪みに基づいて合計ブロックレートを最小化する前記ビットプレーンで前記符号化ブロックそれぞれを終了する終了ステップと、(vi)前記符号化表現を形成するために前記終了した符号化ブロックを連結する連結ステップとを含む。
【0008】
本発明のさらに別の態様によれば、符号化表現を提供するデジタル画像の生成装置が提供され、前記装置は、係数の複数のブロックを取得するために前記デジタル画像を変換する変換手段と、前記係数の前記ブロックそれぞれをビットプレーン符号化するビットプレーン符号化手段と、前記ブロックそれぞれの符号化ビットプレーンごとに少なくとも1つの歪み度を決定する歪み度決定手段と、前記歪み度に基づいて画像歪みを最小化する前記ビットプレーンで前記符号化ブロックそれぞれを終了する終了手段と、前記符号化表現を形成する前記終了した符号化ブロックを連結する連結手段とを含む。
【0009】
本発明のさらに別の態様によれば、符号化表現を提供するデジタル画像の生成装置が提供され、前記装置は、係数の複数のブロックを取得する前記デジタル画像を変換する変換手段と、前記係数の前記ブロックそれぞれをビットプレーン符号化するビットプレーン符号化手段と、前記ブロックそれぞれの符号化ビットプレーンごとに少なくとも1つのブロックレートを決定するブロックレート決定手段と、前記ブロックレートに基づいて合計ブロックレートを最小化する前記ビットプレーンで前記符号化ブロックそれぞれを終了する終了手段と、前記符号化表現を形成するために前記終了した符号化ブロックを連結する連結手段とを含む。
【0010】
本発明のさらに別の態様によれば、符号化表現を提供するデジタル画像の生成装置が提供され、前記装置は、元の係数の複数のブロックを取得するために前記デジタル画像を変換する変換手段であり、前記ブロックそれぞれは、対応最大ビットプレーンおよび最小ビットプレーンを有し、前記対応最大ビットプレーンから前記対応最小ビットプレーンに前記係数の前記ブロックそれぞれをビットプレーン符号化するビットプレーン符号化手段と、前記ブロックそれぞれの符号化ビットプレーンごとに少なくとも1つのブロックレートを決定する第1決定手段であり、指定ブロックの指定符号化ビットプレーンの前記少なくとも1つのブロックレートは、指定ブロックを、対応最大ビットプレーンから指定符号化ビットプレーンのそれぞれ少なくとも1つの部分に前記ビットプレーン符号化手段の実行中に符号化されたコード・ビットの数を表し、前記ブロックそれぞれの符号化ビットプレーンごとに少なくとも1つの歪み度を決定する第2決定手段であり、指定ブロックの指定符号化ビットプレーンの前記少なくとも1つの歪み度は、前記指定ブロックの対応符号化最大ビットプレーンから指定符号化ビットプレーンのそれぞれ少なくとも1つの部分に前記符号化ビットプレーンから復号化された前記係数の関数であり、また、前記指定ブロックの元の係数の関数であり、前記歪み度と前記ブロックレートの所定の合計に基づいて画像歪みを最小化する前記ビットプレーンで前記符号化ブロックを終了する終了手段と、前記符号化表現を形成するために前記終了した符号化ブロックを連結する連結手段とを含む。
【0011】
本発明のさらに別の態様によれば、符号化表現を提供するデジタル画像の生成装置が提供され、前記装置は、元の係数の複数のブロックを取得するために前記デジタル画像を変換する変換手段であり、前記ブロックそれぞれは、対応最大ビットプレーンおよび最小ビットプレーンを有し、前記対応最大ビットプレーンから前記対応最小ビットプレーンに前記係数の前記ブロックそれぞれをビットプレーン符号化するビットプレーン符号化手段と、前記ブロックそれぞれの符号化ビットプレーンごとに少なくとも1つのブロックレートを決定する第1決定手段であり、指定ブロックの指定符号化ビットプレーンの前記少なくとも1つのブロックレートは、指定ブロックを、対応最大ビットプレーンから指定符号化ビットプレーンのそれぞれ少なくとも1つの部分に前記ビットプレーン符号化手段の実行中に符号化されたコード・ビットの数を表し、前記ブロックそれぞれの符号化ビットプレーンごとに少なくとも1つの歪み度を決定する第2決定手段であり、指定ブロックの指定符号化ビットプレーンの前記少なくとも1つの歪み度は、前記指定ブロックの対応符号化最大ビットプレーンから指定符号化ビットプレーンのそれぞれ少なくとも1つの部分に前記符号化ビットプレーンから復号化された前記係数の関数であり、また、前記指定ブロックの元の係数の関数であり、前記ブロックレートと所定の画像歪みに基づいて合計ブロックレートを最小化する前記ビットプレーンで前記符号化ブロックそれぞれを終了する終了手段と、前記符号化表現を形成する前記終了した符号化ブロックを連結する連結手段とを含む。
【0012】
【発明の実施の形態】
1つまたは複数の添付の図面でステップおよび/または特徴に同じ参照番号で言及する場合、それらのステップおよび/または特徴は本明細書では、特に反対の意図がない限り、同じ特徴または動作を示す。
本方法の実施形態
本実施形態は、まず画像データのウェーブレット変換を行う。ウェーブレット変換処理の説明は多数の標準的な文献、特にI. Stollinitz他の著書「Wavelets for Computer Graphics」、1996年、Morgan Kaufmann Publishers Inc.に記載されている。以下にウェーブレット処理の概要について添付図面を参照しながら説明する。
離散ウェーブレット変換
図1Aおよび図1Bを参照すると、オリジナル画像1が離散ウェーブレット変換(WDT)を用いて4つのサブ画像3〜6に変換される。サブ画像またはサブバンドは通常LL1,HL1,LH1、およびHH1と表示される。サブバンド名の1つのサフィックスがレベル1を示す。LL1サブバンドはオリジナル画像のロー・パス・デシメーションされたバージョンである。
【0013】
使用されるウェーブレット変換は変形することができ、Harrベースの関数、Daubechiesベースの関数などを含むことができる。次いで、LLIサブバンドが使用され、図2に示すように、第2離散ウェーブレット変換が適用され、サブバンドLL2(8)、HL2(9)、LH2(10)、HH2(11)が生成される。この処理は例えばLL4サブバンドが示される図3に示すように続けられる。明らかに、入力画像のサイズに応じてさらに上のレベルの分解が提供される。最低周波数サブバンドはDCサブバンドと呼ばれる。図3の場合、DCサブバンドはLL4サブバンドである。
【0014】
次いで、オリジナル画像を得るために各単一レベルの逆DWTが逆変換される。従って、JレベルのDWTは一連のJ単一レベルの逆DWTとして逆変換される。
【0015】
画像を階層的に符号化する場合、DCサブバンドが最初に符号化される。次いで、レベルの降順に残りのサブバンドが符号化される。4レベルDWTの場合、レベル4のサブバンドはDCサブバンド(LL4)の後に符号化される。つまり、HL4、LH4およびHH4サブバンドである。次いでレベル3のサブバンド(HL3、LH3、およびHH3)が符号化され、その後でレベル2のサブバンド(HL2、LH2、およびHH2)、レベル1のサブバンド(HL1、LH1、およびHH1)の順に符号化される。
【0016】
標準画像の場合、符号化サブバンドは一般に画像内に「詳細」情報を含む。従って、符号化サブバンドはしばしば値の疎配列を含み、サブバンドの量子化とその疎行列形式の効率的な符号化によってかなりの圧縮が達成される。
符号化および復号化処理の概要
符号化処理の概要を図4に示し、復号化処理の概要を図5に示す。入力画像、ディスプレイ装置、および周囲の照明条件によっては、画像の符号化の前に画像を前処理し、復号化の後に画像を後処理する必要がある。これによって照度マスキング効果の明示的なモデル化が可能になるが、表示装置の照度関数と人間の目の照度感度の両方のモデル化が必要になる。これらの関数は従来技術で知られ、一般に対数またはべき法則モデルを用いてモデル化される。本実施形態では、画像の濃度レベルはおおよそ人間の観察者が見た知覚輝度の線形関数であるものとしている。これによって大半の場合にこの非線形前処理および後処理の必要がなくなる。
【0017】
まず、図4についてみると、前述したように、410で離散ウェーブレット変換を用いてデジタル画像がいくつかのサブバンド成分に変換される。好ましくは、ステップ420で各サブバンドは階層順に、具体的にはDC、HL4、LH4、HH4、HL3、LH3、HH3、HL2、LH2、HH2、HL1、LH1、HH1の順に符号化される。ステップ430でサブバンドはいくつかのブロックにタイル化される。一般に、各ブロックはステップ440で好ましいクワドツリー組込符号化器で任意の最小ビットプレーンに符号化できる。特に、各ブロックは好ましくは視覚的に無損失の点まで符号化される。すべてのブロックとサブバンドが符号化後、ステップ450で各ブロックの最適切り捨てポイントが決定される。次いで各ブロックはそれに従って切り捨てられ、ステップ460でブロックのコードは出力ビット・ストリーム内で適当な符号化画像ヘッダに連結される。
【0018】
符号化デジタル画像は、図5に示すように復号化される。ステップ510で、画像の各サブバンドの各ブロックはクワドツリー復号化器で復号化される。ステップ520で、復号化サブバンドは逆離散ウェーブレット変換される。ステップ530で、復号化画像が出力される。
【0019】
図4の各符号化ステップ430、440、450および460について図6〜図14を参照しながら詳述する。
サブバンド・タイル化
図6を参照すると、サブバンド610に対する図4のステップ430の処理結果が示されている。サブバンド610はブロック620、630、640および650にタイル化される。好ましくは、サブバンドは、左上角から始まる係数の32×32のブロックでタイル化される。表現32×32とは、それぞれ32行×32列を指す。タイルの最小ブロック・サイズは32×32である。サブバンドが最小ブロック・サイズの倍数でない場合、ブロック端はサイズが32×32から64×64の範囲に拡張される。例えば、サイズが110×112係数の図6のサブバンド610の場合、32×32サブバンド(620)が4つと、32×48サブバンド(630)が2つと、46×32サブバンド(640)が2つと、46×48サブバンド(650)が1つある。ステップ430は最小ブロック・サイズより大きいかまたはそれに等しいサブバンド上でだけ実行される。
組込クワドツリー符号化
実施形態の説明に進む前に、以下に用いる用語を簡潔にまとめる。ある数の2進整数表現の「ビットn」または「ビット番号n」は最下位ビットの左からn番目の2進桁を指す(ビット0から数えて)。例えば、8ビットの2進化表現の場合、10進数9は00001001で表される。この数で、ビット3は1に等しく、ビット2、1、および0はそれぞれ0、0、1に等しい。さらに、画像の変換は行と列に配置された、それぞれのビット・シーケンスで表される係数を有する行列で表すことができる。概念的に言うと、この行列は3つの次元を有すると見なされる。第1次元は行方向に延び、第2次元は列方向に延び、第3次元はビット・シーケンス方向に延びている。同じビット番号で各ビット・シーケンスを通過するこの3次元空間内の平面は「ビットプレーン」または「ビット・プレーン」と呼ばれる。「ビットプレーン番号n」という用語はビット番号nを通過するビットプレーンを指す。
【0020】
画像フレームの領域は、連続する画像係数のセットを含む。係数と言う用語はこれ以後、画素と同義に使用するが、当業者には明らかなように、前者は通常、変換定義域(例えばDWT定義域)内の画素を参照するために使用される。これらのセットまたは領域Tは変換画像係数{Ci,j}有すると定義され、(i,j)は係数座標である。
【0021】
注目ビットプレーンの画素セットまたは領域Tは領域内の各係数のmsb数が注目ビットプレーンの値より小さい場合には無効であると言われる。領域の重みの概念を正確にするために、数学的定義が式(1)で与えられる。画素セットまたは領域Tは、
【0022】
【数1】
Figure 0004365956
【0023】
の場合にビットプレーンnに関して(またはビットプレーンnで)無効であると言われる。
【0024】
座標のセットTの区分化によって、次式を満たすTのサブセットの集合体{T}を指す。
【0025】
【数2】
Figure 0004365956
【0026】
言い換えると、ci,j∈Tならば、サブセットTの1つについて、また1つだけについて、ci,j∈Tである。好ましくは、Tは矩形定義域であり、セット{T}はTの4つの象限からなるセットである。
【0027】
本実施形態はクワドツリー区分化を用いる組込方法で係数のセットを符号化する。組込および変形の組み込まれたという用語を使用する場合、上位ビットプレーン内のあらゆるビットが下位ビットプレーンのどのビットよりも先に符号化されるという意味である。例えば、ビットプレーン7内のあらゆるビットはビットプレーン6内のどのビットよりも先に符号化される。次いで、ビットプレーン6内のあらゆるビットはビットプレーン5内のどのビットよりも先に符号化され、以下同様である。すなわち、ビットプレーンnはビットプレーンn−1より先に符号化され符号化ビットストリーム内に挿入される。好ましくは、各ビットプレーンは3つのパス、すなわち、後述するLIC、LIR、およびLSCパスで符号化される。
【0028】
図7は図4のステップ440で使用する好ましい組込クワドツリー符号化処理の詳細なフローチャートである。ステップ440で、係数のブロックは、組込クワドツリー符号化処理を用いて視覚的に無損失の点まで符号化されるのが好ましい。DWT係数は有限ビット数を有するサイン付き大きさ形式で表されるものとする。好ましくは、15ビットを用いてDWT係数の大きさを表し、1つの追加のサインビットを用いて合計16ビットを構成する。当然そのような有限ビット数の使用は量子化形式である。ただし、8ビット(色あたり)入力画像の場合、16ビットDWT係数が表す画像は、一般に可視歪みしきい値よりもはるかに下である。
【0029】
ステップ710で、ブロック内のすべての係数の最上位ビットnmaxが決定される。すなわち、nmaxはブロック内のすべての係数cについて
【0030】
【数3】
Figure 0004365956
【0031】
を満たす最小整数nである。ステップ720で、ビットプレーン変数nはnmaxに設定される。
【0032】
ステップ730で、無効係数リスト(LIC)と、有効係数リスト(LSC)と、無効領域リスト(LIR)が初期化される。LICとLSCは空に初期化される。LIRは4つのブロックの象限に初期化される。変数num_sig_coeffs_to_codeは0に初期化される。これらのリストと、それが符号化される方法を以下に詳述する。ただしリストが空の場合、処理はその空のリストを符号化せずに次の符号化に移行する。
【0033】
ステップ740で、LIC内の各係数のビットnが符号化される。最初、ビットnはnmaxに設定されループ740から790のパスごとにデクリメントされる。ステップ745で、注目ブロックレートと歪みが計算される。注目ブロックレートは単にこれまでブロックを符号化するために使用したビット数である。符号化ビット・ストリームを与えると、符号化手順の逆を実行する復号化器はビット精度n+1まで各係数を復号化でき、さらに注目LIC内の係数をビット精度nまで復号化できる。注目ブロック歪みは、実際のブロック・データと与えられたブロックの注目コードの場合、復号化器が再構成するブロックとの間の歪みである。復号化器がブロック内の係数ごとに再構成する値について以下に詳述する。さらに、歪みの計算について図13を参照しながら詳述する。次いで、ステップ750で、注目ブロック歪みが可視しきい値に照らしてチェックされる。歪みが可視しきい値より小さい場合、処理はステップ795で終了する。ブロックが可視しきい値より小さくない場合、可視しきい値処理はステップ760に続く。
【0034】
ステップ760で、無効領域リスト内の各領域がビットプレーンnで符号化される。注目ブロックレートおよび歪みがステップ765で計算される。ステップ770で注目ブロック歪みが可視しきい値に照らしてチェックされる。歪みが可視しきい値より小さい場合、処理はステップ795で終了する。ブロックが可視しきい値より小さくない場合、可視しきい値処理はステップ775に続く。
【0035】
ステップ775で、無効係数リスト内の各係数のビットnが符号化される。ステップ776で、注目ブロックレートおよび歪みが決定される。ステップ777で、num_sig_coeffs_to_codeがLSC内の係数の数に設定される。この変数が使用されるので、ステップ740および760でLSCに追加される有効な係数は注目処理中では符号化されない。ステップ780で、注目ブロック歪みが可視しきい値に照らしてチェックされる。歪みが可視しきい値より小さい場合、処理はステップ795で終了する。ブロックが可視しきい値より小さくない場合、可視しきい値処理はステップ790に続く。前述したように、各ブロックは任意のビットプレーンに合わせて符号化できる。この実施形態では、判定ブロック750および770を省略でき、その代わりに判定ブロック780で注目ビットプレーンnが任意の選択した最小ビットプレーンと等しいかまたはそれより小さいか否かをチェックできる。そうである場合、処理はステップ795で終了する。
【0036】
ステップ790で、注目ビットプレーン変数nはデクリメントされ、処理はステップ740に続く。
【0037】
注目ブロックレートおよび歪み測定ステップ745、765、および776は、ビットプレーンの符号化の間に実行される。あるいは、これらの決定ステップは、符号化処理の後に実行されてもよい。
LIRリストの符号化
無効領域リストは、領域のリストまたはベクトルである。領域は係数のブロックのサブブロックである。領域(ブロック内の)はブロック内の領域の左上角の座標と領域のサイズによって記述できる。無効領域リストは4つの領域、すなわち、ブロック内の4つの象限で初期化される。
【0038】
図8を参照すると、800がブロックを表す場合、4つの領域は810、820、830および840である。これらの領域はこの順にLIRに挿入される。
【0039】
図9を参照すると、LIRは以下のように図7のステップ760のビットプレーンnで符号化される。ステップ910で、注目領域RはLIRの第1領域に設定され、LはLIRの領域数に設定され、region_num、すなわちLIR内の注目領域のインデックスは1に設定される。判定ブロック912で、region_numがLより小さいかまたはそれに等しいか否かを判定するためにチェックがなされる。判定ブロック912がyesを返すと、処理はステップ914に続く。ステップ914で、領域Rの重みが出力される。
【0040】
【数4】
Figure 0004365956
【0041】
である場合、係数cはビットプレーンnで無効である。
領域内のすべての係数がビットプレーンnで無効な場合、領域はビットプレーンnで無効である。領域または係数がビットプレーンnで無効でない場合、領域または係数は、ビットプレーンnで有効である。ステップ912で、Rが有効な場合、1を出力してRの重みが符号化され、Rが無効な場合、0を出力してRの重みが符号化される。次いで処理はステップ920で再開する。判定ブロック912がnoを返すと、処理はただちにステップ920に移行する。
【0042】
判定ブロック920で、Rがビットプレーンnで有効か否かを判定するためにチェックがなされる。判定ブロック920がnoを返すと、処理はステップ950に続く。
【0043】
判定ブロック920がyesを返すと、処理はステップ925に続く。ステップ925で、RはLIRから削除される。ステップ930で2×2の重みマスクが15レベル・ハフマン・コードで符号化される。このステップについてはステップ940の説明の後に詳述する。判定ブロック935はRが2×2の係数からなる領域であるか否かをチェックする。判定ブロック935がnoを返すと、処理はステップ940に続く。ステップ940で、Rは4つの領域、すなわち、その4つの象限に区分化され、これらはLIRの最後に追加される。例えば、図8のブロック800が領域Rの場合、810、820、830および840が4つの象限である。ステップ930で符号化された重みマスクは、R内の2×2の象限のそれぞれの重み(nに関する)を示す2×2の2進マスクである。例えば、810、820および840がnに関して無効であり、一方830がnに関して有効な場合、重みマスクは、
【0044】
【数5】
Figure 0004365956
【0045】
になる。ここで0は無効、1は有効を示す。1つの象限だけが有効でなければならないので15の異なる重みマスクしかないことに留意する必要がある。
【0046】
ステップ940で、LIRの最後に追加された4つの領域のそれぞれの重みはステップ930で重みマスクを介してすでに符号化されていることに留意する必要がある。この理由から、判定ブロック912で、region_numがLより小さいかまたはそれに等しいか否かがチェックされる。region_numがLより大きい場合、領域の重みは何か以前の領域(インデックスがregion_numより小さい)の符号化の間にステップ930ですでに符号化されている。
【0047】
判定ブロック935に戻ると、前記ブロックがyesを返した場合、処理はステップ945に続く。Rが係数の2×2のブロックの場合、重みマスクは2×2の係数のそれぞれのの重みを示す。Rが2×2の領域の場合の例を挙げると、810、820、830および840は1×1の領域(すなわち、個々の係数)である。ステップ945で、2×2の領域R内の係数が有効な場合、この係数は有効係数リストに追加され、サインビットが出力される、すなわち、係数が正の場合は0が出力され、係数が負の場合は1が出力される。ステップ945で、2×2の領域R内の係数が無効な場合、この係数は無効係数リストに追加される。ステップ940とステップ945の後で処理はステップ950で再開する。
【0048】
判定ブロック950で、RがLIR内の最後の領域か否かを判定するためにチェックがなされる。判定ブロック950がyesを返すと、処理はステップ960で終了する。判定ブロック950がnoを返すと、処理はステップ955で再開する。ステップ955で注目領域インデックスregion_numがインクリメントされ、RはLIR内の次の領域に設定される。次いで処理はステップ912で再開する。
LICリストの符号化
図10を参照すると、以下のように図7のステップ740で、無効係数リストLICがビットプレーンnで符号化される。無効係数リストは、単にLIR符号化処理で追加された係数のリストである。ステップ1010で注目係数cがLIC内の最初の係数に設定される。ステップ1020でcのビットnが出力される。すなわち、cのビットnが1の場合は1が出力され、そうでなければ0が出力される。判定ブロック1030で、cがビットプレーンnで有効か否かを判定するためにチェックがなされる。判定ブロック1030がyesを返すと(すなわち、ステップ1020で1が出力されると)、処理はステップ1040に続く。ステップ1040で、サインビットが出力され係数cがLICから削除されてLSCの最後に追加される。次いで処理はステップ1050に続く。判定ブロック1030がnoを返すと、処理はステップ1050で再開する。判定ブロック1050で、cがLIC内の最後の係数か否かを判定するためにチェックがなされる。判定ブロック1050がnoを返すと、処理はステップ1070で終了する。判定ブロック1050がyesを返すと、処理はステップ1060に続く。ステップ1060で、注目係数cがLIC内の次の係数に設定される。次いで処理はステップ1020に続く。
LSIリストの符号化
図11を参照すると、以下のように図7のステップ775で有効係数リストLICがビットプレーンnで符号化される。有効係数リストは、単にLIRおよびLIC符号化処理で追加された係数のリストである。ステップ1110で注目係数cがLIC内の最初の係数に設定され、注目係数インデックスcoefficient_numが1に設定される。ステップ1120でcのビットnが出力される。すなわち、cのビットnが1の場合は1が出力され、そうでなければ0が出力される。判定ブロック1130で、coefficient_numがnum_sig_coeffs_to_codeより大きいかまたはそれと等しいか否かを判定するためにチェックがなされる。変数num_sig_coeffs_to_codeはステップ730および777で設定され使用されるので、ステップ740および760でビットプレーンnについてLSCに追加される係数はビットプレーンnでのLSCの符号化の間では、再符号化されない。判定ブロック1130がyesを返すと、処理はステップ1150で終了する。判定ブロック1130がnoを返すと、処理はステップ1140に続く。ステップ1140で注目係数cはLSC内の次の係数に設定され、注目係数インデックスcoefficient_numはインクリメントされる。次いで、処理はステップ1120に続く。
組込クワドツリー復号化
ブロックの組込クワドツリー・コードが与えらると、ブロックはクワドツリー符号化手順の逆を用いて符号化器内の最後のパスが決定した精度まで再構成できる。復号化器は基本的に同じアルゴリズムを実行する。アルゴリズム内の分岐または判定点の方向は、対応する点の符号化器が出力した符号化ビット・ストリーム内のビットから決定される。
【0049】
任意のパス(LIC、LSCのLIR)の終了時に、復号化器はブロック内の各係数を一定のビット精度で決定できる。例えば、最後のパスがビットプレーンn=3のLSCの場合、復号化器によってブロック内の各係数についてビット3以上が決定され、それぞれの復号化された係数はビット精度3を有するという。好ましくは、復号化器は復号化された係数の不確実性間隔の中間で各係数を再構成する。すなわち、復号化された係数がビット精度nを有し、(復号化された、または実際の)係数がビットプレーンn以上に非ゼロのビットを有すると仮定する。mを、係数の復号化されたビットに従ってビットプレーン0〜n―1にゼロを有し、上位ビットプレーンにビットを有する数の大きさとする。この場合、好ましくは、復号化された係数の大きさはM+2n−1で与えられる。これは復号化器が現在確認できる限り、元の係数はmとm+2の間の大きさを有することを反映する。間隔[m,m+2]は不確実性間隔と呼ばれる。ビット精度nに関して、ビットプレーンn以上に係数が非ゼロのビットを有する場合、復号化された値は0である。
歪みの計算
図7を参照すると、ステップ745、765、および776で画像歪みが計算され保持される。本実施形態では、画像歪みは注目ブロックおよび同じレベルの方向が異なるブロック内のウェーブレット係数に基づく簡単化された知覚モデルを用いて計算される。これによってモデルの信頼性が改善され、他のレベルの分解の係数が(まだ)使用できない知覚歪みメトリックがメモリ制限のある実施形態に適したものになる。
【0050】
図13を参照すると、判定ブロック1305がDWT係数の注目ブロックについてしきい値上昇(TE)が計算されているか否かをチェックする。判定ブロック1305がyesを返すと、処理はステップ1350に続く。判定ブロック1305がnoを返すと、ステップ1310、1320、1330、および1340で次のようにDWT係数の注目ブロックについてTEが計算される。しきい値上昇はクワドツリー組込符号化処理による符号化に先立って元のDWT係数について計算される。ステップ1310で、注目ブロックのDWT係数の大きさ(絶対値)が計算される。これらの大きさは次いでその隣接する(大きさ)係数と共にプールされ、ステップ1320でローカル空間マスキング効果が計算される。好ましくは、各係数に加えられるプーリング関数は重み付き行列によるその8つの最も近い隣接係数の重み付き総和
【0051】
【数6】
Figure 0004365956
【0052】
であり、ここで最大の重み付け(4/16)がしきい値上昇(TE)が計算される係数に加えられる。次いで処理はステップ1330に続き、ここでプールされた係数はそれに対応する兄弟(sibling)係数、すなわち、同じDWTレベルの、方位が異なるサブバンド内の同じ空間位置に関係する係数と共にさらにプールされる。好ましくは、使用されるプーリング関数は以下の通りである。
【0053】
サブバンド/重み LH HL HH
LH 0.6 0.15 0.25
HL 0.15 0.6 0.25
HH 0.25 0.25 0.5
例えば、サブバンドLH内の係数Aは、プールされてA’=0.6A+0.15C+0.25B、ただしCはAと同じ空間位置にあるがサブバンドHLの係数、BはAと同じ空間位置にあるがサブバンドHHの係数、に従って新しい係数A’が決定される。各兄弟のための重み付けが係数の大きさに再び加えられる。好ましくはサブバンドの重みは行と列の両方の重みに制限され、従って、概して、各サブバンドはマスキング処理に等しい効果を有するということに留意する必要がある。
【0054】
ステップ1340で、しきい値上昇(TE)は次のように計算される。
【0055】
【数7】
Figure 0004365956
【0056】
この関数を図14に示す。ここでプールは両方のステップ1320および1330に適用する関数であり、mは最大しきい値(好ましくはm=200)、bはマスキング関数の倍率、または傾き、tは最小マスキング・レベルである。本実施形態では、DWTの最初の3つのレベルでb=1の値が使用され、第4(または上位)のレベルではb=0.7の値を使用する。しきい値上昇関数を単位傾き付きの線形関数としてモデル化することは、位相インコヒーレント(雑音)マスキングに関して知られている結果に適合し、0.7の傾きは位相コヒーレント(正弦)マスキングに適合する。最小しきい値tはDWT分解とその方位、例えば、垂直(LHサブバンド)、水平(HLサブバンド)または斜め(HHサブバンド)内のブロックのレベルにだけ依存する最小しきい値上昇である。最小しきい値レベルはDWTベースのコントラストしきい値関数(CTF)、すなわち、DWTの各サブバンドのベース関数の最小検出可能コントラストによって定義される。CTFは任意のDWTベース関数について精神物理学的な試行を用いて測定できる。例えば、画像処理についてのIEEEトランザクションで発表されたA. Watson他の論文「Visibility of Wavelet Quantisation Noise」、Vol.6、No.8、pp.1164−1175、1997年は、線形位相9/7二重直交ウェーブレットのコントラストしきい値関数の測定方法を記載している。本実施形態では、二重直交9/7ウェーブレットも使用して次のように最小しきい値を計算する。
【0057】
【数8】
Figure 0004365956
【0058】
上式でw=f(l、r、v)は、ウェーブレットサブバンドの最小空間周波数であり、これは、l、DWTサブバンド・レベル、r、表示解像度およびv、表示距離から決定され、gはそれぞれLL、LH/HL、およびHHサブバンドに対応する1.501、1、および0.534の等しいパラメータ、pLはローパス合成フィルタの最大係数振幅である(pL≒0.788485)。パラメータp1およびp2はLLサブバンドの両方のpL、HHサブバンドの両方のpH、LHおよびHLサブバンドのpL、pHである(pHはハイパス合成フフィルタの最大係数振幅である(pH≒0.852699))。
【0059】
DWT係数の注目ブロックの係数ごとにTEが計算された後で、処理はステップ1360で再開し、ジャスト・ノーティサブル・ディファレンス(JND)の数がブロック内の係数ごとに計算される。これは元のDWT係数cとその量子化解除された値cdの差をステップ1310〜ステップ1340で計算されたしきい値上昇(TE)で除算することで実行される。
【0060】
【数9】
Figure 0004365956
【0061】
従って、1つのJNDを再構成誤差(|c−cd|)がしきい値上昇(TE)に等しくなる点であると定義する。逆量子化されたDWT係数cdは、復号化器で再構成される(適宜任意の復号化器丸めを用いて)係数であることに留意する必要がある。
【0062】
ブロックの歪みを計算する最後のステップはステップ1350で、これによって以下のミンコフスキー総和を用いてブロック内の誤差がプールされる。
【0063】
【数10】
Figure 0004365956
【0064】
本実施形態では、ブロック内の最大JNDを効果的に計算する(因数1/Nを用いずに)β=∞の値を使用する。ベータの他の値も使用でき、β=4およびβ=2の値は一定の状況でよい結果を生むことが知られている。
レート歪みの最適化
図4のステップ450について詳述する。図7のステップ745、765および776で、注目ブロックレートと歪みが計算されて保持され、それぞれの符号化されたビットプレーンの前記ステップのそれぞれについてレート歪み点を与える。この結果、ビットプレーンごと、すなわち、LIC、LIR、およびLSCパスごとにレート歪み点が決定される。レート歪み点は、計算された順序に従って、すなわち、レートを上昇することで配列される。
【0065】
ブロックnで、レート点の配列された最終番号をr ,r ,...,r で表し、それに関連付けられた歪み点をd ,d ,...,d で表すとする。速度が
【0066】
【数11】
Figure 0004365956
【0067】
であるコード点でブロックnを終了することで、符号化画像の合計レートは(すなわち、すべてのブロックの速度)は次式で与えられる。
【0068】
【数12】
Figure 0004365956
【0069】
上式でNpは画像内の画素数である。本方法は歪みの合計を最小化する。
【0070】
【数13】
Figure 0004365956
【0071】
上式で与えられる合計レートRdesiredについてN個のブロックが存在する。すなわち、
【0072】
【数14】
Figure 0004365956
【0073】
が得られる。これはラグランジュ乗数方法を用いて達成される。すなわち、n
【0074】
【数15】
Figure 0004365956
【0075】
を解き、対応するRtotal=Rdesiredになるλ≧0がある場合、これらのniも(9)の制約問題を解く。実際、正確な制約がいかなるλとも一致しないのでRtotal<RdesiredであるレートRtotal≒Rdesiredを不満足ながら受け入れる。
【0076】
(11)を介して(10)を解く手順を以下に図12を参照しながら説明する。ステップ1210で各ブロックについて各レート歪み点に対応する傾きが計算される。ブロックnに関して傾きのセットλ ,λ ,...,λN+1
【0077】
【数16】
Figure 0004365956
【0078】
で与えられる。
【0079】
傾きは減少するものとする。すなわち、各ブロックnについてλ ≧λ ≧...λN+1 である。λ <λj+1 の場合、レート歪み点(r ,d )はブロックnの可能なレート歪み点のセットから削除される。次いで残りのレート歪み点は再ラベリングされ傾きが再計算される。この手順は傾きが減少してゆくまで継続する。この手順の最後にM≦NであるM個のレート歪み点があるとすると、λ ≧λ ≧...λM+1 になる。
【0080】
ステップ1220で、初期傾きλが選択され、λlowおよびλhighがそれぞれ0と無限大に設定される。好ましくは初期傾きとしてλ=10の傾きが選択される。ステップ1230でλに関連付けられた最適な合計レートR(λ)が計算され、各ブロックnについて関連付けられた最適終了点
【0081】
【数17】
Figure 0004365956
【0082】
が計算される。これらの終了点は(11)のラグランジュ最小化問題の解である。このステップについて以下に説明する。判定ブロック1240で、R(λ)<Rdesiredか否かを判定するためにチェックがなされる。判定ブロック1240がnoを返すと、処理はステップ1250に続く。ステップ1250でλlowはλに設定される。次いで処理はステップ1270で再開する。判定ブロック1240がyesを返すと、処理はステップ1260に続く。ステップ1260でλhighはλに設定される。次いで処理はステップ1270で再開する。
【0083】
判定ブロック1270で、R(λ)<RdesiredかつR(λ)>αRdesired(αは1より小さいレート許容値)か否かを判定するためにチェックがなされる。好ましくはα=0.99が使用される。図12には示されていないが、繰り返しカウントが保持され、このカウントを超過すると判定ブロック1270がyesを返す。判定ブロック1270がyesを返すと、処理はステップ1285に続く。ステップ1285で、各ブロックの最適速度点
【0084】
【数18】
Figure 0004365956
【0085】
が出力される。次いで処理はステップ1290で終了する。判定ブロック1270がnoを返すと、処理はステップ1280に続く。ステップ1280で、注目傾きλは更新され、処理はステップ1230で再開する。
【0086】
最適合計レートおよびそれに関連付けられた終了点が以下のようにステップ1230で計算される。ブロックnについて動作傾きλの最適終了点は
【0087】
【数19】
Figure 0004365956
【0088】
で、
【0089】
【数20】
Figure 0004365956
【0090】
である。
【0091】
次いで最適合計レートが次式で与えられる。
【0092】
【数21】
Figure 0004365956
【0093】
(13)を満たす複数のiがある場合、それぞれの可能なnの記録をとる。それに対応して、その場合、異なる可能な合計最適レートのセット{R(λ)}があり、この有限のセット内に最小Rmin(λ)と最大Rmax(λ)がある。判定ブロック1270でRmin(λ)<RdesiredかつRmax(λ)>Rdesiredの場合、判定ブロック1270はyesを返し、Rdesiredより小さいかそれに等しい最大R(λ)に対応する終了点のセット
【0094】
【数22】
Figure 0004365956
【0095】
がステップ1285で出力される。
【0096】
別の本実施形態では、所与の合計歪みレートについて合計レートが最小化される。これは上記と同様の方法で達成される。
圧縮ビット・ストリームの形成
図4のステップ460で、各ブロックの切り捨てられたコードはビット・ストリームに連結される。各ブロックの終了点を描写するには特殊なコードが必要である。好ましくは、ブロックのコードに続けてバイト整合の0xFFの8ビット2進コードが並び、注目ブロックのコードの終了を示す。すなわち、ブロックコードの最後にいくつかのゼロ・ビットが出力されてバイトを完成する。次いで0xFFの8ビット2進コードが出力される。そのような終了コードの使用はこれ以外の時間にバイト整合の0xFFコードが符号化器によって出力されないことを必要とする。これはバイト整合の0xFFまたは0xFEが出力される場合、ビット・ストリームのこのバイトの最後のビットの直前に0を挿入することで保証される。
本実施形態の装置
提案される方法の符号化処理は、好ましくは、この処理がコンピュータ上で実行されるソフトウェアとして実施できる図15に示すような従来の汎用コンピュータを用いて実行される。特に、符号化方法の手順はコンピュータが実行するソフトウェア内の命令によって実行される。ソフトウェアは符号化方法を実行する部分と、符号化方法とユーザとの間のユーザインタフェースを管理する別の部分の2つの部分に分割できる。ソフトウェアは例えば以下の記憶装置を含むコンピュータ可読媒体に記憶できる。ソフトウェアはコンピュータ可読媒体からコンピュータ内にロードされ、次いでコンピュータによって実行される。そのようなソフトウェアまたはコンピュータプログラムを記録したコンピュータ可読媒体はコンピュータプログラム製品である。コンピュータ内のコンピュータプログラム製品の使用は好ましくは本発明の実施形態によるデジタル画像を符号化する有利な装置を実施する。
【0097】
コンピュータシステム1500はコンピュータ1502と、ビデオディスプレイ1516と、入力装置1518、1520とからなる。さらに、コンピュータシステム1500は、コンピュータ1502に接続されたラインプリンタ、レーザプリンタ、プロッタ、およびその他の再生装置を含むいくつかの任意のその他の出力装置を有することができる。コンピュータシステム1500は、モデム通信経路、コンピュータネットワークなどの適当な通信チャネル1530を用いた通信インタフェース1508cを介して1つまたは複数の他のコンピュータに接続できる。コンピュータネットワークはローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、イントラネット、および/またはインターネットを含むことができる。
【0098】
コンピュータ1502自体は中央処理装置(以後単にプロセッサと呼ぶ)1504、ランダムアクセスメモリ(RAM)および読出専用メモリ(ROM)を含むことができるメモリ1506、入出力(IO)インタフェース1508a、1508bおよび1508c、ビデオインタフェース1510、および図15のブロック1512によって一般に表される1つまたは複数の記憶装置からなる。記憶装置1512は、フロッピーディスク、ハードディスクドライブ、光磁気ディスクドライブ、CD−ROM、磁気テープまたはその他の任意の当業者にはよく知られているいくつかの不揮発性記憶装置を含むことができる。構成要素1504〜1512は通常、バス1514を介して1つまたは複数の他の装置に接続され、この場合、この装置はデータ、アドレス、および制御バスを含むことができる。
【0099】
ビデオインタフェース1510はビデオディスプレイ1516に接続され、ビデオディスプレイ1516に表示するためのビデオ信号をコンピュータ1502から提供する。コンピュータ1502を操作するためのユーザ入力が1つまたは複数の入力装置1508bによって提供される。例えば、オペレータはキーボード1518および/またはマウス1520などのポインティングデバイスを使用して入力をコンピュータ1502に提供できる。
【0100】
システム1500は単に例示の目的で提供されており、本発明の範囲および精神から逸脱することなしにその他の構成を採用することができる。実施形態を実行できる例示のコンピュータはIBM−PC/ATまたはその互換機、Macintosh(TM)ファミリPCの1つ、Sun Sparcstation(TM)などを含む。これらは本発明の実施形態を実行できるコンピュータのタイプの例示にすぎない。通常、以下に記載する実施形態の処理はコンピュータ可読媒体としてハードディスクドライブ(一般に図15のブロック1512として示す)に記録されたソフトウェアまたはプログラムとして常駐しており、プロセッサ1504を用いて読み出され制御される。プログラムおよび画素データおよびネットワークから取り出された任意のデータの中間記憶は、半導体メモリ1506を用いて達成でき、ハードディスクドライブ1512と連携して達成することもできる。
【0101】
場合によっては、プログラムはCD−ROMまたはフロッピーディスク(両方とも一般にブロック1512で示す)に符号化されてユーザに供給することができ、あるいは、例えば、コンピュータに接続されたモデム装置を介してネットワークからユーザが呼び出すことができる。さらに、磁気テープ、ROMまたは集積回路、光磁気ディスク、コンピュータと他の装置間の無線または赤外線伝送チャネル、PCMCIAカードなどのコンピュータ可読カード、ならびに電子メール伝送およびウェブサイトなどに記録された情報を含むインターネットおよびイントラネットを含む他のコンピュータ可読媒体からソフトウェアをコンピュータシステム1500にロードすることもできる。これらは関連するコンピュータ可読媒体の例にすぎない。本発明の範囲および精神から逸脱することなしにその他のコンピュータ可読媒体を実施することができる。
【0102】
代替案として、本実施形態の符号化方法は、本方法の各ステップの機能または副機能を実行する1つまたは複数の集積回路などの専用ハードウェア内で実施することができる。そのような専用ハードウェアはグラフィックプロセッサ、デジタル信号プロセッサ、または1つまたは複数のマイクロプロセッサおよびそれに関連付けられたメモリを含むことができる。
本実施形態の変形例
広い意味で記述される本発明の範囲および精神から逸脱することなしに、特定の実施形態に示す本発明にさまざまな変更および/または修正を加えることができることを当業者は理解するであろう。従って、本発明はすべての点で例示的であって限定的ではないと考えるべきである。特に、知覚歪みを計算するための可視モデルは、広い意味で同じ機能を有するいくつかの数学関数で実施できる。例えば、DWT係数の平方根などの非直線関数を用いてしきい値上昇関数をモデル化することができる。また、ブロックごとに計算したJNDを、次のような「S」型の精神測定関数を用いた検出確率に変換することができる。
【0103】
【数23】
Figure 0004365956
【0104】
上式で、αは判定しきい値(通常1.0)でβは関数の傾き(通常2.0)である。この場合、これらの検出確率は本実施形態のJNDなどでプールされる。次いで検出確率またはJNDは頻度および/またはスケールにわたってプールされ知覚ブロック歪みが決定される。積級数またはミンコフスキー総和などの従来技術で知られている技法を用いてこれを実行できる。
【0105】
【発明の効果】
以上説明したように、本発明によれば、画品質を維持しながら高圧縮率の符号化を実現するとともに装置構成に依存せずに画像を良好に復号し生成することができるデジタル画像の生成方法および装置を提供することを目的とする。
【図面の簡単な説明】
【図1】オリジナル画像とその画像の第1レベルDWTを示す図である。
【図2】図1のオリジナル画像の第2レベルDWTを示す図である。
【図3】図1のオリジナル画像の第4レベルDWTを示す図である。
【図4】本実施形態の符号化処理のフローチャートである。
【図5】図4に示す本実施形態の方法に従う符号化画像の復号化処理のフローチャートである。
【図6】タイル化サブバンドを示す図である。
【図7】図4のステップ440で使用する符号化処理のフローチャートである。
【図8】クワドツリー区分化方法に従って区分化されたブロックを示す図である。
【図9】図7のステップ760で使用するLIR符号化処理のフローチャートである。
【図10】図7のステップ740で使用するLIC符号化処理のフローチャートである。
【図11】図7のステップ775で使用するLSC符号化処理のフローチャートである。
【図12】図4のステップ450で使用する最適知覚切り捨てポイントを決定する処理のフローチャートである。
【図13】図7のステップ745、765および776で使用する注目レートおよび歪みを決定する処理のフローチャートである。
【図14】しきい値上昇関数を示す図である。
【図15】本実施形態の方法を実施するための汎用コンピュータを示す図である。

Claims (8)

  1. 符号化表現デジタル画像を生成する生成方法であって、
    (i)複数の係数のブロックを取得するために前記デジタル画像を変換する変換ステップと、
    (ii)前記複数の係数のブロックそれぞれを、同一ビット位置で表わされるビットプレーン毎に符号化するビットプレーン符号化ステップと、
    (iii)前記複数の係数のブロックそれぞれの符号化ビットプレーンごとに、ブロックを符号化するために使用するビット数であるブロックレートを決定するブロックレート決定ステップと、
    iv)前記複数の係数のブロックそれぞれの符号化ビットプレーンごとに、その符号化ビットプレーンを復号して再構成されるブロックと、対応する符号化前のブロックとの間の歪みである歪み度を決定する歪み度決定ステップと、
    前記複数の係数のブロックそれぞれのビットプレーンに対し、最上位ビットプレーンから前記ビットプレーン符号化ステップによる符号化を開始して、前記歪み度が可視しきい値より小さくなるビットプレーンで、該ビットプレーン符号化ステップによる符号化を終了する終了ステップと、
    (vi)前記終了ステップによって、前記複数の係数のブロックそれぞれについて前記ビットプレーン符号化ステップによって得られる符号化ビットプレーン毎の先頭の符号化ブロックから連続する符号化ブロックの合計ブロックレートが、前記歪み度が最小となる指定のブロックレート以下となる符号化ブロックまで残して、残りの符号化ブロックを切り捨てる切捨ステップと、
    (vii前記切捨ステップによって前記残りの符号化ブロックが切り捨てられて残った符号化ブロックを連結して、符号化表現のビットストリームを生成する連結ステップと
    を備えることを特徴とする生成方法。
  2. 前記ブロックは、離散ウェーブレット変換係数のサブバンドである
    ことを特徴とする請求項1に記載の生成方法。
  3. 前記ブロックは、離散ウェーブレット変換係数のサブバンドのサブブロックである
    ことを特徴とする請求項1に記載の生成方法。
  4. 前記切捨ステップは、ラグランジュ乗数を用いて、前記歪み度が最小となる指定のブロックレートを決定する
    ことを特徴とする請求項に記載の生成方法。
  5. 前記ブロックレート決定ステップおよび前記歪み度決定ステップは、前記ビットプレーン符号化ステップのサブステップであり、前記ビットプレーン符号化ステップの間に実行される
    ことを特徴とする請求項に記載の生成方法。
  6. 前記ビットプレーン符号化ステップと、前記ブロックレート決定ステップと、前記歪み度決定ステップは、前記ブロックそれぞれの前記ビットプレーンごとに実行され、以下のサブステップとして、
    (a)前記ビットプレーンの第1部分を符号化する第1符号化サブステップと、
    (b)前記ビットプレーンの第1部分に関連付けられた前記第1ブロックレートを決定するサブステップと、
    (c)前記ビットプレーンの第1部分に関連付けられた前記第1歪み度を決定するサブステップと、
    (d)前記ビットプレーンの第2部分を符号化する第2符号化サブステップと、
    (e)前記ビットプレーンの第2部分に関連付けられた前記第2ブロックレートを決定するサブステップと、
    (f)前記ビットプレーンの第2部分に関連付けられた前記第2歪み度を決定するサブステップと、
    (g)前記ビットプレーンの第3部分を符号化する第3符号化サブステップと、
    (h)前記ビットプレーンの第3部分に関連付けられた前記第3ブロックレートを決定するサブステップと、
    (i)前記ビットプレーンの第3部分に関連付けられた前記第3歪み度を決定するサブステップと
    を備えることを特徴とする請求項に記載の生成方法。
  7. 符号化表現デジタル画像を生成する生成装置であって、
    複数の係数のブロックを取得するために前記デジタル画像を変換する変換手段と、
    前記複数のブロックそれぞれを、同一ビット位置で表わされるビットプレーン毎に符号化するビットプレーン符号化手段と、
    前記複数の係数のブロックそれぞれの符号化ビットプレーンごとに、ブロックを符号化するために使用するビット数であるブロックレートを決定するブロックレート決定手段と、
    前記複数の係数のブロックそれぞれの符号化ビットプレーンごとに、その符号化ビットプレーンを復号して再構成されるブロックと、対応する符号化前のブロックとの間の歪みである歪み度を決定する歪み度決定手段と、
    前記複数の係数のブロックそれぞれのビットプレーンに対し、最上位ビットプレーンから前記ビットプレーン符号化手段による符号化を開始して、前記歪み度が可視しきい値より小さくなるビットプレーンで、該ビットプレーン符号化手段による符号化を終了する終了手段と、
    前記終了手段によって、前記複数の係数のブロックそれぞれについて前記ビットプレーン符号化手段によって得られる符号化ビットプレーン毎の先頭の符号化ブロックから連続する符号化ブロックの合計ブロックレートが、前記歪み度が最小となる指定のブロックレート以下となる符号化ブロックまで残して、残りの符号化ブロックを切り捨てる切捨手段と、
    前記切捨手段によって前記残りの符号化ブロックが切り捨てられて残った符号化ブロックを連結して、符号化表現のビットストリームを生成する連結手段と
    を備えることを特徴とする生成装置。
  8. 符号化表現デジタル画像を生成することをコンピュータに機能させるためのコンピュータプログラムであって、
    前記コンピュータを、
    複数の係数のブロックを取得するために前記デジタル画像を変換する変換手段と、
    前記複数のブロックそれぞれを、同一ビット位置で表わされるビットプレーン毎に符号化するビットプレーン符号化手段と、
    前記複数の係数のブロックそれぞれの符号化ビットプレーンごとに、ブロックを符号化するために使用するビット数であるブロックレートを決定するブロックレート決定手段と、
    前記複数の係数のブロックそれぞれの符号化ビットプレーンごとに、その符号化ビットプレーンを復号して再構成されるブロックと、対応する符号化前のブロックとの間の歪みである歪み度を決定する歪み度決定手段と、
    前記複数の係数のブロックそれぞれのビットプレーンに対し、最上位ビットプレーンから前記ビットプレーン符号化手段による符号化を開始して、前記歪み度が可視しきい値より小さくなるビットプレーンで、該ビットプレーン符号化手段による符号化を終了する終了手段と、
    前記終了手段によって、前記複数の係数のブロックそれぞれについて前記ビットプレーン符号化手段によって得られる符号化ビットプレーン毎の先頭の符号化ブロックから連続する符号化ブロックの合計ブロックレートが、前記歪み度が最小となる指定のブロックレート以下となる符号化ブロックまで残して、残りの符号化ブロックを切り捨てる切捨手段と、
    前記切捨手段によって前記残りの符号化ブロックが切り捨てられて残った符号化ブロックを連結して、符号化表現のビットストリームを生成する連結手段と
    して機能させることを特徴とするコンピュータプログラム。
JP31166199A 1998-10-30 1999-11-01 符号化表現を提供するデジタル画像の生成方法および装置 Expired - Fee Related JP4365956B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU6865 1989-10-16
AUPP6865A AUPP686598A0 (en) 1998-10-30 1998-10-30 A method and apparatus for representing a digital image to provide a coded representation

Publications (3)

Publication Number Publication Date
JP2000188552A JP2000188552A (ja) 2000-07-04
JP2000188552A5 JP2000188552A5 (ja) 2006-11-30
JP4365956B2 true JP4365956B2 (ja) 2009-11-18

Family

ID=3811079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31166199A Expired - Fee Related JP4365956B2 (ja) 1998-10-30 1999-11-01 符号化表現を提供するデジタル画像の生成方法および装置

Country Status (3)

Country Link
US (1) US6683991B1 (ja)
JP (1) JP4365956B2 (ja)
AU (1) AUPP686598A0 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7073487B1 (en) 2005-03-01 2006-07-11 Mitsubishi Denki Kabushiki Kaisha Fuel pressure control apparatus for multicylinder internal combustion engine

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL1014075C2 (nl) * 2000-01-13 2001-07-16 Koninkl Kpn Nv Methode en inrichting voor het bepalen van de kwaliteit van een signaal.
US7035473B1 (en) * 2000-03-01 2006-04-25 Sharp Laboratories Of America, Inc. Distortion-adaptive visual frequency weighting
JP3961870B2 (ja) 2002-04-30 2007-08-22 株式会社リコー 画像処理方法、画像処理装置、及び画像処理プログラム
US7308146B2 (en) * 2002-09-30 2007-12-11 Canon Kabushiki Kaisha Digital video compression
US7822281B2 (en) * 2003-10-31 2010-10-26 Canon Kabushiki Kaisha Digital video compression
AU2006246497B2 (en) * 2006-11-30 2010-02-11 Canon Kabushiki Kaisha Method and apparatus for hybrid image compression
US8331663B2 (en) 2007-06-28 2012-12-11 Qualcomm Incorporated Efficient image compression scheme to minimize storage and bus bandwidth requirements
US8515182B2 (en) * 2009-02-11 2013-08-20 Ecole De Technologie Superieure Method and system for determining a quality measure for an image using multi-level decomposition of images
CN102461170B (zh) * 2009-06-16 2015-06-17 皇家飞利浦电子股份有限公司 将信号编码成可调节比特流和解码这种比特流
US9210442B2 (en) 2011-01-12 2015-12-08 Google Technology Holdings LLC Efficient transform unit representation
US9380319B2 (en) 2011-02-04 2016-06-28 Google Technology Holdings LLC Implicit transform unit representation
US9967559B1 (en) * 2013-02-11 2018-05-08 Google Llc Motion vector dependent spatial transformation in video coding
US9544597B1 (en) 2013-02-11 2017-01-10 Google Inc. Hybrid transform in video encoding and decoding
US9674530B1 (en) 2013-04-30 2017-06-06 Google Inc. Hybrid transforms in video coding
US9565451B1 (en) 2014-10-31 2017-02-07 Google Inc. Prediction dependent transform coding
US9769499B2 (en) 2015-08-11 2017-09-19 Google Inc. Super-transform video coding
US10277905B2 (en) 2015-09-14 2019-04-30 Google Llc Transform selection for non-baseband signal coding
US9807423B1 (en) 2015-11-24 2017-10-31 Google Inc. Hybrid transform scheme for video coding
US11122297B2 (en) 2019-05-03 2021-09-14 Google Llc Using border-aligned block functions for image compression

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0159434B1 (ko) 1995-04-19 1999-01-15 김광호 휴먼 비쥬얼 시스템 모델링을 이용한 웨이블렛 영상 압축/복원장치 및 방법
US6233017B1 (en) * 1996-09-16 2001-05-15 Microsoft Corporation Multimedia compression system with adaptive block sizes
US6728775B1 (en) * 1997-03-17 2004-04-27 Microsoft Corporation Multiple multicasting of multimedia streams

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7073487B1 (en) 2005-03-01 2006-07-11 Mitsubishi Denki Kabushiki Kaisha Fuel pressure control apparatus for multicylinder internal combustion engine

Also Published As

Publication number Publication date
AUPP686598A0 (en) 1998-11-26
JP2000188552A (ja) 2000-07-04
US6683991B1 (en) 2004-01-27

Similar Documents

Publication Publication Date Title
JP4365956B2 (ja) 符号化表現を提供するデジタル画像の生成方法および装置
JP4420415B2 (ja) 符号化方法及び符号化装置
JP3208487B2 (ja) 情報を圧縮するための装置及び方法
US7454074B2 (en) System and method for the lossless progressive streaming of images over a communication network
JP4554844B2 (ja) 増加する視覚品質レベルに対応して階層へ編成された圧縮ディジタル画像を生成する方法及びこのような圧縮ディジタル画像のレートを制御する方法
Askelöf et al. Region of interest coding in JPEG 2000
US5881176A (en) Compression and decompression with wavelet style and binary style including quantization by device-dependent parser
JP2005027309A (ja) Jpeg2000圧縮画像をトランスコードするための方法
JP2002281444A (ja) 画像処理方法及び装置及び記憶媒体
JP2007267384A (ja) 圧縮装置及び圧縮方法
JPH11225076A (ja) データ圧縮方法
JPH11266161A (ja) データ圧縮方法及びデータ圧縮装置
JP2004194152A (ja) 画像処理装置、プログラム、記憶媒体及び画像編集方法
US7624139B2 (en) Information processing apparatus, method of controlling the same, information processing system, and computer-readable memory
JP2005218124A (ja) データ圧縮システム
US7778468B2 (en) Decoding apparatus, dequantizing method, and program thereof
JP2000152240A (ja) S字型非線形性を用いる解像度階層における非線形量子化方法
Manduca et al. Wavelet compression of medical images with set partitioning in hierarchical trees
JPH11225078A (ja) データ圧縮方法及び装置
JP2004186871A (ja) 画像処理装置、撮像装置、プログラム及び記憶媒体
US6542641B1 (en) Method and apparatus for decoding a coded representation of a digital image
JPH08331563A (ja) さざ波変換を利用した映像圧縮方法
AU735941B2 (en) A method and apparatus for representing a digital image to provide a coded representation
Anju et al. An approach to medical image compression using filters based on lifting scheme
JP2002135593A (ja) 画像処理装置及びその方法並びに記憶媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061013

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061013

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20061013

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090630

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: 20090807

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: 20090824

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

Free format text: PAYMENT UNTIL: 20120828

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: 20120828

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130828

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees