JP2821489B2 - 静止画像圧縮処理装置及び方法 - Google Patents

静止画像圧縮処理装置及び方法

Info

Publication number
JP2821489B2
JP2821489B2 JP2328762A JP32876290A JP2821489B2 JP 2821489 B2 JP2821489 B2 JP 2821489B2 JP 2328762 A JP2328762 A JP 2328762A JP 32876290 A JP32876290 A JP 32876290A JP 2821489 B2 JP2821489 B2 JP 2821489B2
Authority
JP
Japan
Prior art keywords
image data
image
conversion
data
dimensional
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 - Lifetime
Application number
JP2328762A
Other languages
English (en)
Other versions
JPH04181877A (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.)
Ricoh Co Ltd
Ricoh Americas Corp
Original Assignee
Ricoh Co Ltd
Ricoh Americas 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 Ricoh Co Ltd, Ricoh Americas Corp filed Critical Ricoh Co Ltd
Publication of JPH04181877A publication Critical patent/JPH04181877A/ja
Application granted granted Critical
Publication of JP2821489B2 publication Critical patent/JP2821489B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N11/00Colour television systems
    • H04N11/04Colour television systems using pulse code modulation
    • H04N11/042Codec means
    • H04N11/044Codec means involving transform 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/124Quantisation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Multimedia (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Discrete Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、静止画像の圧縮処理装置及び方法に係り、
特に乗算を用いずに、しかも高速に2次元静止画像の圧
縮処理を行う静止画像圧縮処理装置及び方法に関する。
〔従来の技術〕
メモリの伝送費用を節約するため高品質画像を圧縮し
なければならない場合、通常のやり方は、画像をその情
報をよりコンパクトに表現可能な別の空間に変換するこ
とである。この変換は普通、1ブロックずつ線形変換
(マトリクス乗算)することにより行われる。すなわ
ち、典型的手法は、8画素の行セグメントに対し8ポイ
ント変換を行い、次に、この行変換後の画像の8エレメ
ント列セグメントに対し8ポイント変換を行う方法であ
る。等価的に、8×8のブロックに配列した64画素の画
素ブロックに対し、1回の64ポイント変換を行うことが
できる。
一次元変換のための良い方法は、次の散離的チェビシ
ェフ変換である。
この変換にはいくつかの利点がある。例えば、a)こ
の圧縮はいくつかの尺度に関しては、ほぼ最適である。
b)この変換及び逆変換を実行するための高速演算アル
ゴリズムである。c)後述の参照文献[1]に述べられ
ている仮定をおけば、鮮明化(初期画像の品質向上)を
変換空間内で容易に行うことができる。
〔発明が解決しようとする課題〕
本発明の一つの目的は、2次元静止画像の垂直及び水
平方向の1次元変換処理を乗算の繰り返し乗算を用いず
に行う静止画像圧縮処理装置及び方法を提供することに
ある。
本発明の他の目的は、垂直あるいは水平方向の1次元
変換処理後の画像データの90゜転置処理を高速に行う静
止画像圧縮処理装置及び方法を提供することにある。
〔課題を解決するための手段及び作用〕
本発明は、N×Nマトリクスの静止データに2次元直
交変換を施す静止画像圧縮処理装置において、前記画像
データの一方の方向(例えば水平方向)について、加算
器のみの構成で一次元変換処理を施こす第1変換手段
と、前記1次元変換処理された画像データを順次入力
し、同時に90゜転置された画像データを順次出力するN
×Nのシフトアレイ手段と、前記シフトアレイ手段から
出力される画像データの前記方向と異なる他方の方向
(例えば垂直方向)について、加算器のみの構成で1次
元変換処理を施こす第2変換手段と、前記第2変換手段
で変換処理された画像データをスケーリング手段と、前
記スケーリング手段でスケーリングされた画像データを
符号化する符号化手段とを具備することを特徴とする。
また、本発明は、N×Nマトリクスの静止画像データ
に2次元直交変換を施こす静止画像圧縮処理方法におい
て、前記画像データの一方の方向(例えば水平方向)に
ついて、加算器のみを使用して1次元変換処理を施こす
ステップと、前記1次元変換処理された画像データを順
次、N×Nのシフトアレイに入力し、同時に90゜転置さ
れた画像データを順次、該シフトアレイから出力するス
テップと、前記シフトアレイから出力される画像データ
の前記方向と異なる他方の方向(例えば垂直方向)につ
いて、加算器のみを使用して1次元変換処理を施こすス
テップと、前記変換処理された画像データをスケーリン
グするステップと、前記スケーリングされた画像データ
を符号化するステップとからなることを特徴とする。
本発明の他の目的、利点及び新規な特徴は、以下の記
述において一部示されるが、また一部は、以下の説明か
ら当業者にとって明らかになるであろうし、あるいは本
発明の実施により学習できるであろう。
〔実施例〕
以下、本発明について詳細に説明する。
(1)発明の理論的説明 画像の圧縮と再構築のための完全なシステムは第1表
のように示すことができる。
上記第1表は本発明を説明しており、またオプション
のステップ(L,Z)を省いた現行技術をも説明してい
る。
鮮明化ウェートの乗算(ステップE)も復号のステッ
プとして(例えばステップIの後に)行うことができ
る。この鮮明化は、入力装置のポイント拡大作用(poin
t−spread functin)の補正のために行われるもので、
入力装置に応じて調整されなければならず、あるいは入
力画像が画質向上済みのときは省略しなければならな
い。他により優れた画像鮮明化方法があるが、ここで示
した方法は計算コストが小さいので、ある種のアプリケ
ーションに、例えばカラー・コピアにふさわしい。
フォワード変換(A,B)の計算を、最終の乗算ステー
ジが計算負荷の大部分となるようにアレンジすることが
できる。これらの乗算とステップ(C,E)の乗算の積を
予め計算することにより、圧縮プロセスの高速化が可能
である。
同様に、逆変換(J,R)の計算を、予備乗算ステージ
が計算負荷の大部分となるようにアレンジすることがで
きる。積を予め計算することにより、ステップ(H,I)
の計算量を効果的に削減できる。
また、2−D DCT変換を他の変換で置き換えること
により、演算をさらに単純化できる。
さらに、ステップ(B,E)のための結合した乗数の演
算、例えば2のべき乗を効率化するように、心理的適応
ウェートを選択的に変化させることができる。低エネル
ギー出力変換要素の心理的適応ウェートの小変化は、画
像の品質または圧縮率に殆ど影響を及ぼさない。
最後に、第1表のステップ(L,Z)、すなわち画像の
複雑さ(Difficuity)の類別のステップとブロック境界
の平滑化のステップに注目する。これらはオプション
で、また本発明とは無関係であるので、ここでは最小限
の説明しかしない。
この画像変換は、そのような画像を垂直方向及び水平
方向にそれぞれ変換するための二つの変換TすなわちTv
とThを必要とする。完全な2次元変換は、 [F]=[Tv[f][Th] により表わされる。
ここで、fは入力画像ブロックであり、Fは出力変換
係数であり、添う字“t"は行列転置を意味する。ここで
全行列は8×8である。
対角行列(Qのような行列)はそれ自体が転置行列で
あって、全行列について [A][B]=([B][A]) であり、そして、 [Tv]=[Fv][Qv] [Th]=[Ph][Qh] である。よって次のように書くことができる。
[F]=[Qv][Pv[f][Ph][Qh] これは次のように変形される。
F(i,j)=q(i,j)*g(i,j) [g]=[Fv[f][Ph] q(i,j)=Qv(i,j)*Qh(i,j) である。
ひとつの画像ブロックを変換する時に、チェン・ウー
(Chen Wu)のアルゴリズムを用いて[g]について解
を求め、次に要素q(i,j)と掛け合わせる必要があ
る。
仮に、 Pv=P(a,b,c,rv) Ph=P(a,b,c,rh) とすれば、上記変換の逆変換は次のように表わされる。
[f]=[P′][Qv][F][Qh][P′ ここで、 P′=P(a,b,c,1/2rv) P′=P(a,b,c,1/2rh) 再度、チェン・ウーのアルゴリズムにより解が求められ
る。
チェン・ウーのアルゴリズム 1−Dまたは2−Dのチェビシェフ変換とその逆変換
の計算を高速化するために、いくつかの方法が考案され
ている。
16回の掛け算と、13回の加算、13回の減算のみによっ
て、任意の8タブル(tuple)と上記行列Tとを乗算す
る周知のアルゴリズム(チェン)(参照文献[2],
[3])がある。このアルゴリズムは、パラメータa,b,
c,rの格別の特性に何等依存しない。
チェン・ウーのアルゴリズム(修正アルゴリズム) [T]=[P][Q]を上述の如く因数分解すること
により、チェン・ウーのアルゴリズムは二つのステージ
に分かれ、[Q]による乗算に8回の掛け算が用いら
れ、[P]による乗算に8回の掛け算とそれ以外の算術
演算が用いられる。これは我々の[Q]の選択の結果で
あって、[P]のいくつかの要素は1または−1にな
り、ひとつの乗算がなくなる。
上に指摘したように、同様の単純化は、その逆変換、
2−D変換及び2−D逆変換にも当てはまる。8×8の
ブロックの場合、フォワード2−D変換とその逆変換の
いずれについても128回の掛け算が用いられる([q]
による掛け算を除く)。チェンのアルゴリズムの内部的
なデータの流れを見ると、これらの掛け算は、8つの加
算/減算ステージと4つの乗算ステージの組み合わせに
組み込まれる。
単純な代数学(参照文献ウー・パオリーニ[4])を
用いれば、一つの乗算ステージを省くことができる。こ
れにより、乗算回数は128回から120回に減るが、このよ
うな一つの乗算ステージの削減は重要となる。
強調すべきは、チェンのアルゴリズムはパラメータa,
b,c,rのいかんにかかわらず働くことである。しかしな
がら、従来用いられた8ポイントDCTは“真(true)コ
サイン変換”のパラメータすなわち a=tangent(7*pi/16) b=tangent(6*pi/16) c=tangent(5*pi/16) r=sqrt(1/2)=0.70710678… を持ち、行列Tが直交行列となるに必要十分なrを選ん
でいる。
離散的チェビシェフ変換(DCT)のための計算法は他
にも考案されている。例えば、リー(Lee)によるアル
ゴリズムは、8ポイントの1D変換と64ポイントの2D変換
を、それぞれ12回の乗算と144回の乗算によって実行す
る。
しかし、これらの“高速(faster)”アルゴリズム
は、チェンのアルゴリズムに比べ、いくつかの欠点があ
る。すなわち、 a)T=P×Qの単純化(逆変換の同様の因数分解)は
もはや有効でない。対角行列Qの分離は、以後の単純化
のために不可欠である。
b)これらのアルゴリズムは、任意のパラメータa,b,c,
rで役立つのではなく、真コサイン、パラメータに特に
有効な様々な三角恒等式に依存している。
c)これらのアルゴリズムは、構造がより複雑である。
これが具体化の妨げとなったり、数値が不安定になる危
険を増加させることがある。
(2)本発明の方法のより具体的説明 A] 再び表1を参照すると、ステップ(C,D,E)は[Q]
から導かれたフォワード変換後乗数を組み入れできるこ
とに気付くであろう。同様に、ステップ(H,I)は逆変
換前乗数に組み入れできる。
これは結局、レート・スケーリング(rate scalin
g)、適応的重み付け、及び鮮明化関数が余分な計算オ
ーバーヘットを与えられていないことを意味する。上記
のように、このアプローチはリーのアルゴリズムのよう
な“高速”アルゴリズムと一緒に適用できない。
B] チェンのアルゴリズムは任意のパラメータa,b,c,rで
働くので、値を選ぶことによって、DCTと同様の品質と
圧縮を得て、高速乗算を達成できる。
下記のパラメータは、DCTのパラメータに十分に近い
が、計算効率はより高い。
a=5.0 b=2.5 c=1.5 r=0.75 ここで乗算は非常に簡単な計算に置きかえられる。例
えば5を掛ける計算は、複写、2桁シフト、加算とな
る。1.5を掛ける計算は、複写、1桁右シフト、加算と
なる。
また、有理乗数の分子は逆数は結合した乗数[q]に
分解できる。ゆえに、2.5を掛ける計算は、影響される
項と影響されない項のそれぞれに対し、5を掛ける計算
と0.5を掛ける計算とにすることができる。
この後者の考え方を用いると、単純なチェンのアルゴ
リズムにおけるパラメータr=0.75を扱うには、4を掛
ける計算を96回、3を掛ける計算を32回、必要とする。
オー・パオリーニの改良によれば、一つの乗算ステージ
全体が省かれるので、これは16を掛ける計算が36回、12
を掛ける計算24回、9を掛ける計算が4回となる。(逆
変換には9を掛ける計算を36回、6を掛ける計算を24
回、4を掛ける計算を4回、用いる。) 演算速度のために、コサイン変換に極めて近いパラメ
ータ値を選ぶことができる。b=12/5及び/またはr=
17/2の代用が可能である。もうひとつの興味ある選択
は、 rRow=0.708333(17/24) rCol=0.7(7/10) である。
ここでは、少し異なった変換(異なったパラメータ)
が行と列に用いられる。これは、ウー・パオリーニ法よ
り導かれる乗数を単純にするためになされる。ここで、
その方法は、15との掛け算を36回、85/8との掛け算を12
回、21/2との掛け算を12回、119/16との掛け算を4回、
生じる。(逆変換は、119/16との掛け算を36回、85/16
の掛け算を12回、21/4との掛け算を12回、15/4との掛け
算を4回、使用する。) ここで説明した方式によれば、すべての乗算が高速化
された。ただし、圧縮装置における結合乗数[q]と伸
長装置における結合乗数[q]は例外である。これらは
それぞれ、一つの変換要素につき一つの乗算が必要であ
る。伸長装置の結果乗数[q]は、変換係数の大半がゼ
ロとなり、また非ゼロの係数の多くが特別扱いが可能な
ゼロに非常に近い整数となる、という点において簡単化
される。
C] さらに別の技法が、圧縮装置において結合乗数[q]
の計算コスト削減のために用いられる。レート・スケー
ラは、実際に任意値であるから、[q]行列要素に計算
が簡単な値、例えば2のべき数を与えるように1ポイン
ト毎に調整されることになる。これらの調整を一度だけ
行う必要がある(レート・スケーラと鮮明化フィルタの
決定後)。
例えば、結合乗数の一要素(C)及び対応した伸長乗
数要素(D)が C=0.002773 D=0.009367 となったとすると、近似値C=3/1024=0.002930が得ら
れ、また乗算の簡単化のために用いられることになろ
う。その結果はC′=3/1024、D′=D×C′=0.0088
66となる。
(基本的)プロセスの詳細な説明 注: a)量子化された変換空間においては、“AC"係数量子
化の非ゼロ・ステップを一定幅(w)とし、ゼロ・ステ
ップを幅(w×q)とすることが便利かつ効率的であ
る。
さらに、q=2が計算上都合よく、また広範囲の圧縮
率にわたり品質面でほぼ最適である。この説明において
は、q=2(倍数ゼロ=double−width zero)とする。
ただし、本発明はそれに限るものでない。
b)以下説明するアルゴリズムは、低精度で2の補数
の2進整数演算用にデザインされている。ただし、ステ
ップ(2),(4),(8)における中間決定は例外
で、それは高精度演算で行われる。
さらに、ステップ(9,1)も例外的で、ここで説明し
た整数乗算はコスト及びスピードに関して最適化され
る。例えば、 Nrr*Nrc=Drr′*Drc=1.75*4.25=7.4375 による掛け算を考える。恒等式7.4375=(8−1)*
(1+1/16)を選ぶことにより、この乗算はシフトと加
算により効率的に行われる。そのCプログラム言語によ
り表現は次の通りである。
temp=(x《3)−x; x=temp+(temp》4)* c)鮮明化乗算は、ここではステップ8で示されるが、
できることなら通常はステップ4で行うべきである。多
くのアプリケーションにおいて、伸長装置は、どのよう
な方法で画像を鮮明化するのか、あるいは画像を鮮明化
するか否かの“知識”がない。注意すべきは、Thr
( )の最適値は入力装置及び鮮明化法によって変わる
ことである。
推奨されるアプローチは、m(i,j)の値(ステップ
8参照)が圧縮時(ステップ4)に計算さ、圧縮画像の
一部として伝送され、あるいは蓄積されることである。
d)連続する計算の並列化、タイムシーケンスまたはイ
ンタリーブには、いくつか明白な方法がある。あるハー
ドウェア・アーキテクチャにとって好ましい方法は、次
に説明するような単純な方法である。
1.上述の一般化チェン変換のパラメータとして次のもの
を選ぶ tan7*pi/16=a=Na/Da tan6*pi/16=b=Nb/Db tan5*pi/16=c=Nc/Dc sqrt(0.5) =rRow=Nrr/Drr sqrt(0.5) =rCol=Nrc/Drc 0.5/rRow =rRow′=Nrr′/Drr′ 0.5/rCol =rCol′=Nrc′/Drc′ “分子"N及び“分母"Dは整数である必要はないが、演算
の都合のよいように選ばれる。有効な可能値はいくつか
あるが、次のものもそれである。
Na=5 Da=1 Nb=3 Db=1.25 Nc=1.5 Dc=1 Nrr=1.75 Drr=2.5 Nrc=4.25 Drc=6 Nrr′=1.25 Drr′=1.75 Nrc′=3 Drc′=4.25 しかし、本発明は上記タンジェントの合理的な近似値
をすべて包含する。
2.また、 U(0)=U(4)=sqrt(0.5) U(1)=U(7)=1/sqrt(Na*Na+Da*Da) U(2)=U(6)=1/sqrt(Nb*Nb+Db*Db) U(3)=U(5)=1/sqrt(Nc*Nc+Dc*Dc) と書く。
3.次のように設定する。
i 垂直方向位置(画像空間内)または垂直方向変化
(変換空間内)の順序を示すインデックス(0,1,2,3,4,
5,6,7)とする。
j 水平方向位置(画像空間内)または水平方向変化
(変換空間内)の順序を示すインデックス(0,1,2,3,4,
5,6,7)とする。
Deb(i,j) 鮮明化係数を示し、鮮明化を行われない時
はDeb1( )=1とする。
Thr(i,j) 例えばCCITTにより推奨されたような逆心
理的適応ウェートを示すものとする。
Mレート・スケーラを示すものとする。ここで、典型
的圧縮率に対してはM=1(近似)である。
V(i,j) 画像(spatial)空間内のいくつかの輝度値
を示すものとする。
L(i,j)変換(圧縮)空間内の変換後輝度値を示すも
のとする。
S 再構築(reconstruction)に用いられる演算精度を
示す任意の小整数とする。
心理的適応ウェート1/Thr(i,j)は、一般化チェン交
換のパラメータの各セット毎に再度最適化されるべきで
ある。しかし、上記ステップ((1)で与えられたパラ
メータはCCITTのパラメータに十分近く、同行列Thr
( )は最適である。4.64個の変換位置(i,j)につい
て、次式を満足させるk(i,j)及びs(i,j)を求め
る。
ただし、右辺はg(i,j)はできる限り近づけ、s
(i,j)は整数とする。
ここで、 g(i,j)=1.0,k(i,j)in{1,3,5,7,8} for i+j<4 g(i,j)=0.9,k(i,j)in{1,3,5} for 1+j=4 g(i,j)=0.7,k(i,j)=1 for 1+j>4 Zr(i)=1, i=0,1,2or3の時 Zr(i)=Drr, i=4,5,6or7の時 Zc(j)=1, i=0,1,2or3の時 Zc(j)=Drc, i=4,5,6or7の時 Zr′(i)=1, i=0,1,2or3の時 Zr′(i)=Drr′ i=4,5,6or7の時 Zc′(j)=1, i=0,1,2or3の時 Zc′(j)=Drc′, i=4,5,6or7の時 因子g(i,j)は量子化バイアスを選択サイズから無
関係にするためのものである。
5.画像全体にわたり、輝度値V(,)の8×8の各ブロ
ックにつき以下の処理の実行を繰り返す。すなわち、 5.1 i=0,1,2,…,7について次の値を準備する。
M(i,0)=V(i,0)+V(i,7) M(i,1)=V(i,1)+V(i,6) M(i,2)=V(i,2)+V(i,5) M(i,3)=V(i,3)+V(i,4) M(i,4)=V(1,3)−V(1,4) M5(i)=V(i,2)−V(1,5) M6(i)=V(i,1)−V(i,6) M(i,5)=M6(i)+M5(i) M(i,6)=M6(i)−M5(i) M(i,7)=V(i,0)−V(i,7) 5.2 j=0,1,2,…,7について次の値を用意する。
H(0,j)=M(0,j)+M(7,j) H(1,j)=M(1,j)+M(6,j) H(2,j)=M(2,j)+M(5,j) H(3,j)=M(3,j)+M(4,j) H(4,j)=M(3,j)−M(4,j) H5(j)=M(2,j)−M(5,j) H6(j)=(M1,j)−M(6,j) H(5,j)=H6(j)+H5(j) H(6,j)=H6(j)−H5(j) H(7,j)=M(0,j)−M(7,j) 5.3 各H(i,j)に次の値を掛ける。
(i=0,2,3or4の場合) Nrc j=5or6のとき Drc j=4or7のとき 1(何もせず) j=0,1,2or3のとき (i=4or7の場合) Drr Nrc j=5or6のとき Drr Drc j=4or7のとき Drr j=0,1,2or3のとき (i=5or6の場合) Nrr Nrc j=5or6のとき Nrr Drc j=4or7のとき Nrr j=0,1,2or3のとき 5.4 j=0,1,2,…,7に対し次の値を用意する。
E(0,j)=H(0,j)+H(3,j) E(1,j)=H(7,j)+H(5,j) E(2,j)=H(0,j)−H(3,j) E(3,j)=H(7,j)−H(5,j) E(4,j)=H(1,j)+H(2,j) E(5,j)=H(6,j)−H(4,j) E(6,j)=H(1,j)−H(2,j) E(7,j)=H(6,j)−H(4,j) F(0,j)=E(4,j)+H(0,j) F(4,j)=E(0,j)−H(2,j) F(2,j)=Db*E(6,j)+Nb*E(2,j) F(6,j)=Db*E(2,j)−Nb*E(6,j) F(1,j)=Da*E(7dj)+Na*E(1,j) F(7,j)=Da*E(1,j)−Na*E(7,j) F(3,j)=Dc*E(5,j)+Nc*E(3,j) F(5,j)=Dc*E(3,j)−Nc*E(3,j) 5.5 i=0,1,2,…,7について次の値を用意する。
Z(i,0)=F(i,0)+F(i,3) Z(i,2)=F(i,0)−F(i,3) Z(i,4)=F(i,1)+F(i,2) Z(i,6)=F(i,1)−F(i,2) Z(i,1)=F(i,7)+F(i,5) Z(i,3)=F(i,7)−F(i,5) Z(i,5)=F(i,6)−F(i,4) Z(i,7)=F(1,6)+F(i,4) G(i,0)=Z(i,4)+Z(i,0) G(i,4)=Z(i,0)−Z(i,4) G(i,2)=Db*Z(i,6)+Nb*Z(i,2) G(i,6)=Db*Z(i,2)−Nb*Z(i,6) G(i,1)=Da*Z(i,7)+Na*Z(i,1) G(i,7)=Da*Z(i,1)−Na*Z(i,7) G(i,3)=Dc*Z(i,5)+Nc*Z(i,3) G(i,5)=Dc*Z(i,3)−Nc*Z(i,5) 6.各画像サブブロックのステップ5.5の後で、64個の位
置(i,j)のそれぞれについて、ステップ4より得られ
たk(i,j)とs(i,j)を用い、次の値を用意する。
1(i,j)=G(i,j)*K(i,j)*2−S(i,j) しかし、この値が負になったときは(すなわちi=j
=0)、それに1を加える。その結果が変換係数L(i,
j)である。
ステップ6に関するコメント ここでの計算は簡単である。なぜなら、K(i,j)は
常に1,3,5,7または9であって、普通は1であるからで
ある。また2−S(i,j)の乗算は単に右シフトである
からである(あるいは、Mが非常に大きな値に選ばれた
場合には右シフトとなることもある)。
算術右シフトは常に下向きの丸めとなる。ゼロに向か
う丸めが実際に好ましい。ゆえに、前記のように“負の
ときは1を加える”ということである。
i=j=0のときに1を加えるのは、V(i,j)≧0
のためであり、また下記のステップ(9.1)の記載を単
純化するための工夫にすぎない。
7.値L(i,j)を符合化し、蓄積し、及び/または伝送
する。結局は、この値は検索され、後続のステップによ
って画像が再構築されることになろう。
8.64個の変換位置(i,j)につき、m(i,j)を最も近い
整数として求める。
ここで、s(i,j)とK(i,j)は上記ステップ4で解
かれ、“z"はステップ4で定義される。
また、a(i,j)を最も近い整数として選ぶ。
A(i,j)=m(i,j)*(25−i−j)/64 (i,0またはj,0の場合) ステップ8についてのコメント 値m(i,j)はステップ(4)で予め計算し圧縮画像
と一緒に伝送しておいてもよい。これは、定数及びm
(i,j)のみに依存するA(i,j)に関しては必要ない。
レート・スケーラ及び鮮明化ウェートが固定されるアプ
リケーションにおいては、値m(i,j)A(i,j)は一定
となるであろう。
因数25は精度以上の余分なビットをもたらすが、この
ビットは最終的にはステップ(9.2)及びステップ(1
0)での算術右シフトによって除かれることになる。
A(0,0)の調整により、丸めバイアスを修正し下記
出力を丸め修正なしに利用できるようにする。
ここで、仮定した如く、A(0,0)はステップ(6)
でL(0,0)へ1を加算することによっている。
挿入項“(25−i−j)/64"はヒューリスティックで
あるが、平均二乗誤差の点でほぼ最適である。
9.変換後画像に対し、上記ステップ(5)で導かれる変
換後輝度値L(_,_)の8×8の各ブロックに以下のこ
とを繰り返す。
9.1 各(i,j)に対し、つぎの値を用意する。
E(i,j)=L(i,j)*m(i,j)+A(i,j) L(i,j)>0のとき E(i,j)=L(i,j)*m(i,j)−A(i,j) L(i,j)<0のとき E(i,j)=0 L(i,j)=0のとき ただし、i=0,1,2,…7、j=0,1,2,…7である。
A(0,0)は常に加えられなければならない。本発明
は、L(0,0)>0の判定が成立せず、また上記ステッ
プ(6),(8)(オプション)が簡略化される場合も
包含する。
実際問題として、小さな乗算、例えば−11<L(i,
j)<11は乗算の演算費用を減らすための特殊ケースと
理解すべきである。
9.2 (半導体装置のコスト削減に都合がよければ、E
(i,j)の数を任意桁数S1だけ右シフトする。ただし、
これらのシフトは、本方法のある具体例では“自由”で
ある。このシフトが自由でない場体例では、E(i,j)
=0の時、そのシフトを省略してよい。あるいは、S1=
0に設定することにより、全てのシフトを省いてよい。
9.3 j=0,1,2,…7について、次の値を用意する。
F(0,j)=E(4,j)+E(0,j) F(4,j)=E(0,j)−E(4,j) F(2,j)=Db*E(6,j)+Nb*E(2,j) F(6,j)=Db*E(2,j)−Nb*E(6,j) F(1,j)=Da*E(7,j)+Na*E(1,j) F(7,j)=Da*E(i,j)−Na*E(7,j) F(3,j)=Dc*E(5,j)+Nc*E(3,j) F(5,j)=Dc*E(3,j)−Nc*E(5,j) H(0,j)=F(0,j)+F(2,j) H(1,j)=F(4,j)+F(6,j) H(2,j)=F(4,j)−F(6,j) H(3,j)=F(0,j)−F(2,j) H(4,j)=F(7,j)−F(5,j) H5(j)=F(7,j)+F(5,j) H6(j)=F(1,j)−F(3,j) H(5,j)=H6(j)+H5(j) H(6,j)=H6(j)−H5(j) H(7,j)=F(1,j)+F(3,j) 9.4 j=0,1,2,…7について、次の値を用意する。
G(i,0)=H(i,4)+H(i,0) G(i,4)=H(i,0)−H(i,4) G(i,2)=Db*H(i,6)+Nb*H(i,2) G(i,6)=Db*H(i,2)−Nb*H(i,6) G(i,1)=Da*H(i,7)+Na*H(i,1) G(i,7)=aD*H(i,1)−Na*H(i,7) G(i,3)=Dc*H(i,5)+Nc*H(i,3) G(i,5)=Dc*H(i,3)−Nc*H(i,5) M(i,0)=G(i,0)+H(i,2) M(i,1)=G(i,4)+G(i,6) M(i,2)=G(i,4)−G(i,6) M(i,3)=G(i,0)−G(i,2) M(i,4)=G(i,7)−G(i,5) M5(i)=G(i,7)+G(i,5) M6(i)=G(i,1)−G(i,5) M6(i)=G(i,1)−G(i,3) M(i,5)=M6(i)−M5(i) M(i,6)=M6(i)+M5(i) M(i,7)=G(i,1)+G(i,3) 9.5 各M(i,j)に次の値を掛ける。
(i=0,2,3or4の場合) Nrc′ j=5or6のとき Drc′ j=4or7のとき 1(何もせず)j=0,1,2or3のとき (i=4or7の場合) Drr′Nrc′ j=5or6のとき Drr′Drc′ j=4or7のとき Drr′ j=0,1,2or3のとき (i=5or6の場合) Nrr′Nrc′ j=5or6のとき Nrr′Drc′ j=4or7のとき Nrr′ j=0,1,2or3のとき 9.6 i=0,1,2,…,7につき、次の値を用意する。
Z(i,0)=M(i,0)+M(i,7) Z(i,1)=M(i,1)+M(i,6) Z(i,2)=M(i,2)+M(i,5) Z(i,3)=M(i,3)+M(i,4) Z(i,4)=M(i,3)−M(i,4) Z(i,5)=M(i,2)−M(i,5) Z(i,6)=M(i,1)−M(i,6) Z(i,7)=M(i,0)−M(i,7) 9.7 j=0,1,2,…,7につき、次の値を用意する。
Y(0,j)=Z(0,j)+Z(7,j) Y(1,j)=Z(1,j)+Z(6,j) Y(2,j)=Z(2,j)+Z(5,j) Y(3,j)=Z(3,j)+Z(4,j) Y(4,j)=Z(3,j)−Z(4,j) Y(5,j)=Z(2,j)−Z(5,j) Y(6,j)=Z(1,j)−Z(6,j) Y(7,j)=Z(0,j)−Z(7,j) 10 各画像サブブロックのステップ9.7の後、64個の位
置(i,j)に対して、次の値を用意する。
ここで、SとS1は、上記ステップ(7)及び(9.2)
において定義された任意の整数である。再び、乗算は実
際的には右シフトである。
11.システムの詳細構成によっては、ここで範囲のチェ
ックが必要になることがある。例えば、輝度の許容範囲
が0≦V(i,j)≦225の場合、0未満及び255より大き
なV(i,j)値は0及び255にそれぞれ置き換えなければ
ならない。
V(i,j)値は、ここでは再構築画像の輝度値であ
る。
二次的プロセスの説明 圧縮率または画像品質を向上するために主要(一次
的)プロセスに付加的手段を追加するのが普通である。
ステップ(10)の後で、全画素ペアV(8I+7,j),V
(8I+8,j)と全画素ペアV(I,8J+7),V(i,8J+
8)(すなわち、別の画像ブロックに分離された近傍画
素)について繰り返し、またそれぞれに値を、例えば
(V2−V1)/max(2.11 sqrt(M))ずつインクリメン
ト及びデクリメントすることにより、画素の正確さを向
上できる。ここで、Mはステップ(4)で用いたレート
・スケーラであり、また分母の式は最適値の便宜的近似
にすぎない。
ステップ(6)の実施例に、局所的画像領域の内容の
複雑さを3タイプすなわち単精度、2倍精度及び4倍精
度のいずれかに選択的に分類し、それぞれ“0",“10",
“11"のコード前書きを出力することができる。そうす
ると、ステップ(6)の計算は次式で置き換えられる。
L(i,j)=G(i,j)*K(i,j)*2p−s(i,j) ここで単精度、2倍精度、4倍精度のそれぞれに対し
Pは0,1,2となる。これは、増加した精度を(増えた)
右シフトにより除去しなければならないステップ(9.
2)において後補正される。
残念なことに、非常に効果的で簡単な分類方法は見っ
てかっていない。そこで、現在は、次の4つのソースか
ら複雑さの尺度Pを導き出す煩雑な方法を用いる。
a)P_leftとp_up 近傍画像領域の複雑さの尺度 b)sum((i+j)G(i,j)′2)/sum(G(i,
j)′2) 変換エネルギー・スキュー c)−G(0,0) 平均濃度の逆数 d)max(sum_over_fixed_with(ヒストグラム(V(i,
j))))均一性 ステップ(7)において、蓄積または伝送すべき変換
データL(,)は、エントロビー符化法を用いさらに減
らすことができる。発明者らは、ビット・レートに応じ
たいくつかの既知のハフマン・テーブルを用いるCCITT
のジグザグ・ラン・テンプレート・コード(zigzag−ru
n−and−template−code)の改良を使用し、また推薦す
る。明確にするため、その例を以下の部分に説明する。
圧縮されたファイルのフォーマットの例 圧縮された画像は、 により表現される。
ここで、各画素ブロックは、 1)精度コード(オプションのステップ2で決定され
る) 2)DC係数デルタ・コード 3)AC係数コード(0回以上繰り返される) 4)end−of−Blockコード により表現される。
ここで各AC係数コードは、 1)9−0拡張(E回繰り返し、E 0) 2)(R,T)を示すラン−テンプレード・コード 3)係数値の符号(1ビット) 4)MSBを除去した係数の絶対値(Tビット) により示される。
ここで、R+9*Eは、“ジグザク”順に先行する0
値の係数の番号(合計i+jに基づいた順序)である。
またTは、係数の絶対値の最上位ビット(MSB)のビッ
ト位置であり、例えば、 係数が11または−11 ビット位置:876543210 11=000001011(二進数)‥最上位ビット の時はT=3である。
DC係数デルタの選択あるいは符号化については詳述し
ないが、高ビット・レートでACラン・テンプレートコー
ドに有用なハフマン・コードの例を示す。
を示す。
128ポイント変換と256ポイント変換 前述方法は、より大きな一般化チェン変換である8×
16または16×16に使分可能である。チェン変換をさらに
一般化するための方法は、1D−16ポイントGCTが(行が
“蝶状”で、必要な標準化のための後乗数がないとし
て) により与えられることに注目した上で明らかにされるべ
きである。
ここで、“真コサイン”パラメータは e=tangent 15pi/32_=10.1532 a=tangent 14pi/32_=5.0273 f=tangent 13pi/32_=3.2966 b=tangent 12pi/32_=2.4142 g=tangent 11pi/32_=1.8709 c=tangent 10pi/32_=1.4966 h=tangent 9pi/32_=1.2185 r=cosine 8pi/32_=0.7071 t=cosine 12pi/32_=0.3827 s=cosine 4pi/32=t*b である。
発明者が使用するパラメータは、 e=10 a=5 f=3.25 b=2.4 g=1.875 c=1.5 h=1.25 r=17/240.708333 r=5/13_=0.384615 s=t*b=12/13 である。
GB(e,f,g,h,s,t)の逆数は、GQB(e,f,g,h,1/2r,
t′,b,t′)の転置である。
ここで、 b=s/t t′=1/(t+t*b*b) である。
行列の列 行列Tの転置 コサイン変換(a=5.0.2734 b=2.41421 c=1.4
966 r=0.70711): 0.1768 0.1768 0.1768 0.1768 0.1768 0.1768 0.
1768 0.1768 0.245 0.2079 .01389 0.0488 −0.1488 −0.1389 −
0.2079 −0.2452 0.2310 0.1957 −0.0957 −0.2310 −0.2310 −0.0957
0.0957 0.2310 0.2079 −0.0488 −0.2451 −0.1389 0.1389 0.2452
0.0488 −0.2079 0.1769 −0.1768 −0.1768 0.1768 0.1768 −0.1768
−0.1768 0.1768 0.1389 −0.2452 0.0488 0.2079 −0.2079 −0.0488
0.2452 −0.1389 0.0957 −0.2310 0.2310 −0.0957 −0.0957 0.2310
−0.2310 0.0957 0.0488 −0.1389 0.2079 −0.2452 0.2452 −0.2079
0.1389 −0.0488 関連したチェン変換(a=5.0 b=2.4 c=1.5 r
=0.7) 0.1768 0.1768 0.1768 0.1768 0.1738 0.1768 0.
1768 0.1768 0.2451 0.2059 0.1373 0.0490 −0.0490 −0.1373
−0.2059 −0.2451 0.2308 0.0962 −0.0962 −0.2308 −0.2308 −0.0962
0.0962 0.2308 0.2080 −0.0485 −0.2427 −0.1387 0.1387 0.2427
0.0485 −0.2080 0.1768 −0.1768 −0.1768 0.1768 0.1768 −0.1768
−0.1768 0.1768 0.1387 −0.2427 0.0485 0.2080 −0.2080 −0.0485
0.2427 −0.1387 0.0962 −0.2308 0.2308 −0.0962 −0.0962 0.2308
−0.2308 0.0962 0.0490 −0.1373 0.2059 −0.2451 0.2451 −0.2059
0.1373 −0.0490 (3)本発明の装置の説明 さて、本発明の一つの詳細説明を行ったが、本発明の
様々な形態を実施する装置について、ここに図面を参照
し説明する。
以下の説明中で、“ポイント”はスケーラ・レジスタ
あるいは任意精度のデータ・パスを示すために用いる。
適当な精度を決める方法は、分かっている(6参照)。
ソフトウェア方法において、変換ステージは結合さ
れ、また改良したウー・パオリーニの方法が採用され
た。半導体装置の場合、単純に二つの8ポイント・ユニ
ットすなわち、垂直方向と水平方向のためにそれぞれ1
ユニットずつ用意すると好都合である。
垂直方向変換と水平方向変換の間に64ポイントのシフ
トアレイを設ける必要があり、また同様のバッファリン
グを変換セクションと符号化セクションとのあいで行う
必要がある。
本発明は、圧縮及び伸長のための一つのモノクロ装置
及び/または複数の分離した(seperate)装置を包含す
るが、好ましい一実施例(第7図)は3色データに対し
て動作する圧縮装置(第1図(a))と伸長装置(第1
図(b))の両方を含む。データは8ビットのベクトル
の形で圧縮装置に入力し、この8ビットはさらに辞書編
集上の順番に64画素のブロックに配列される。ブロック
の処理はパイプライン処理とされる(第2図(b))。
圧縮装置への画素入力は、“R"(赤)、“G"(緑)、
“B"(青)のスケーラ(scaler)からなる。これらは直
ちに輝度−色差空間に変換される。(かかる交換を行う
理由は周知である。) 変換は任意の固定した、またはプログラマブルの係数
を使用可能であり(第3図(a))、または用途によっ
ては単純な値に“ハードワイヤ(hard−wired)”する
ことも可能である。変換空間はここではXYZとして示さ
れるが、どのような線形形式の3色入力を用いてもよ
い。おそらくCCITT標準(Y,R−Y,B−Y)であろう。そ
して、三つの値X,Y,Zは、実際的には、それぞれ分離し
たモノクロ圧縮装置に送られる。伸長装置は、XYZベク
トルがRGBベクトルに変換されることを除けば、第3図
のように同じまたは同様の回路を用いる。
X,Y,Zの値は次の3つのシフトレジスタ(2)に入力
し、第1変換ユニット(3)への転送を待つ。この変換
ユニットは2.6画素時間で動作するので、データの一部
は説明したように遅延させなければならない。“XYZ"の
ラベリングは多少不適当である。すなわち、最適化され
た符号化方法では、輝度(“Y")が最初に処理される必
要がある。
伸長中は、XYZスキュー問題は逆になる。注目すべき
は、好ましい本実施例においては、伸長中にY−レジス
タとZ−レジスタの利用を逆にすることによって、5ポ
イント分のレジスタが節約されている。
第1図(a)を参照すると、圧縮装置の主要部は入力
をXYZへ変換し、それを次に第1変換ユニット(3)へ
転送するためにバッファする入力セクション(1,2)を
含む。各8画素時間に、第1変換ユニットは3回の周期
的動作をしなければならない(X,Y,Zのそれぞれにつき
1回ずつ)。第1変換ユニット(3)の出力はシフトア
レイ(4)に入力し、そこで8×8画素ブロックが完全
に読み込まれるまで保持される。シフトアレイ(4)は
読込みと読出しが同時に進行する(第6図(B))。第
2変換ユニット(5)は予め読み込まれた画素ブロック
に対して動作し、これもまた各8画素時間に3回、周期
的動作をして、スケーラ(6)を経て、符号器入力バッ
ファ(7,8)へデータを与える。符号器(9,10,11)は三
つの色座標に共用されるが、輝度の1ブロック全体が中
断なく符号化され、それに続けて色差ブロックが1ブロ
ックずつ符号化される。これらの3つのブロックの処理
を64画素時間内に完了できない場合、タイミング・コン
ロール論理が外部の入力回路に対する画素クロックを停
止させる。
記憶エリア(入力シフトレジスタ[2]、シフトレア
イ[4]、符号器入力バッファ[7,8])は、3色用に
三重化しなければならないが、計算ユニット[3,5,6,9,
10,11]はYデータ、Xデータ、Zデータで共用(時間
多重化)される。
符号器[9,10,11]、符号器入力バッファ[7,8]、符
号プログラミング[12,13,14]及びタイミング・コント
ロール論理[図示されていない]は、在来技術及びプラ
クティスによってよい。同様に、3色を単一回路に時間
多重化する方法は周知である。3ポイント変換セクショ
ン[1](第3図)もまた知られている。
スケーラ(scaler)[6]は、プログラムされたRAM
またはROMと、(当然存在するところの)シフト、マル
チプレクサ及び加算器からなるシステムを用いる。これ
は簡単に実現できる。一般化チェン変換と適切なパラメ
ータが与えられれば、8ポイント変換器(第8図)も簡
単である。
シフトアレイ(第6図)は特に説明する価値がある。
現在の入力画素ブロックからの垂直(変換後)ベクトル
は、先行の画素ブロックからの水平ベクトルが水平変換
器へ送られる間に組み立てられる。特別な設計しない
と、このようなことには、128個のレジスタ(現在ブロ
ックと先行ブロックのそれぞれ毎に64個)が必要であ
る。これは、ポイントが受信された順序と異なる順序で
用いられるからである。しかし、その必要性は、偶数番
号画素ブロックの期間にデータを左から右へシフトし、
また奇数番号画素ブロックの期間にデータをトップから
ボトムシフトすることにより、なくなる。
説明したシフトアレイは二次元のものである。実施例
によっては、4方向シフトアレイが好ましい。
第6図(A)は、第6図(B)のシフトアレイの形態
をより詳しく示す。第6図(B)において、ベクトルは
シフトレジスタのボトムより一つ一つ取り出され、第1
図(a)の第2変換ユニット(5)のDCT8セクションへ
送られる。この期間に、第1変換ユニット(3)のDCT8
セクションから出力された垂直ベクトルがシフトアレイ
へトップより入力される。徐々に古いベクトルはシフト
アレイから出され、シフトアレイは次の画素ブロックか
らの垂直ベクトルで一杯になる。
次の画素ブロックについては、データの流れる向きが
前画素ブロックのデータの流れる向きから90度変わる。
そのようにして、水平ベクトルはシフトアレイの右より
取り出されてDCT8へ送られ、新しい垂直ベクトルがシフ
トアレイに左側より入力する。ブロックN+1まで進む
と、さらに90度回転することより最初の形に戻る。以下
同様である。
伸長装置(第1図(b))は、データの流れる向きが
逆であることを除き、圧縮装置(第1図(a))と非常
に類似した構成である。好ましい実施例では、単一の装
置が二つのモードで、すなわち圧縮装置または伸長装置
のいずれかとして動作する。
可能なVLSIのレイアウト(第4図(a),(b))に
よれば、圧縮の場合(第4図(c−a),(c−d))
と、伸長の場合(第4図(d−a),(d−b))とで
データの流れる向きが異なる。注意すべきは、変換及び
シフトアレイのユニットは、一方のレイアウト(第4図
(b))では圧縮と伸長の両方に同じ方向性を有する
が、他方のレイアウト(第4図(a))はそうでないこ
とがある。これは、結合した圧縮装置/伸長装置のデー
タの流れ(第7図)を考えた時に、より明確になる。二
つの変換ユニットを、RGBデータ及び圧縮データのそれ
ぞれに関与させた場合(第4図(a))、4方向シフト
アレイを用いない限りレイアウトが困難となる。故に、
シフトアレイの入力セクション及び出力セクションを用
いて、二つの変換ユニットとやり取りする(第4図
(b))。
一実施例において、圧縮装置(第8図(A))に用い
られた変換ユニットは、38個の加算器を利用する。1桁
右シフト(“R1")、2桁右シフト(“R2")または4桁
右シフト(“R4")、あるいは1桁左シフト(“L1")は
容易になされる。図示回路はパラメータ(a,b,c,r=
(5,2,1,5,17/24)を用いる。別の実施例(第8図
(B))において、b=2.5として実現するには加算器
は36個だけで足りる。
伸長装置の逆変換ユニットのために関連回路が必要で
ある。“出力イネーブル”信号の用い方に注意すれば、
フォワード変換器内の加算器の大部分を再使用可能であ
る。これを行うことは、当業者であれば簡単である。
スケーラは、プログラムされたRAMまたはROMと、当然
依存するシフティング、マルチプレクサ及び加算器のシ
ステムを用いる。この実現は容易である。
スケーラは様々に実現できるが、好ましくはRAM、ア
キュムレータ、タイミング・コントロール論理及び小さ
なタイムプレート・カットオフ(timeplate cutoff)を
備えた小規模の布線論理乗算器である。専用の低コスト
のアプレケーションでは、デスケーラ(descaler)は、
鮮明化ウェートが広い範囲にわたりほぼ最適であること
に注目することにより、簡略化でき、したがってスケー
ラにおけるように単純なスケーリング(scaling)を利
用できる。
デスケーラは、第1図と第7図に示すように、符号器
とその出力バッファとの間、あるいは、その出力バッフ
ァと変換器との間のいずれに置くこともできる。
符号器入力バッファは、様々に実現できるが、例えば
シフトアレイと類似のサイクル−シェアリング(cycle
−sharing)によるレジスタ削減構成も可能である。よ
り単純な設計では、RAMアドレスを与えるための64×7
ビットROMを持った384×10ビットRAMを使用する。
ここで、第1図(a)と第1図(b)を参照し、動作
の1サイクルの例を説明する。
第1図(a)において、データは3色情報すなわち
赤、緑、青として圧縮装置に入力する。このデータは直
ちに、XYZと呼ぶ別空間へ変換される(ブロック1)。
X,Y,Zの3要素は、それぞれのシフトレジスタ(ブロッ
ク2)に入る。
シフトレジスタから、データは第1の8ポイントDCT
ユニット(ブロック3)に送られる。X,Y,Zの3色に多
重化される一つの8ポイントDCTユニットが設けられる
こともあるし、多色毎にDCT8−ユニットが設られること
もある。
情報は次に64ポイント・シフトアレイ(4)に入力す
る。各色個別のシフトアレイが存在する。シフトアレイ
(ブロック4)から、情報はブロック3と同様のもう一
つの第2のDCTユニット(ブロック5)へ送られる。こ
の情報は次にスケーリングを行わなければならないこと
が、これは加算シフトを余分に重ねることである。
情報は水平方向及び垂直方向の両方に変換されるだけ
ある。シフトアレイは、実は概念上データを90度回転さ
せるものであり、その結果、情報を他の方向へ変換可能
である。データは、ブロック6でスケーリングされた
後、ブロック7,8(Z1,Z2)で示したデータ保持のための
別のバッファへ入力し、その結果、データは最終的に符
号化されチップから出力される(Z1,Z2はジグザグであ
る)。
概念上、これは、データが90度回転されないことを除
けば、シフトアレイすなわちブロック4と同様である。
その代わり、それはジグザグ順に変換されるが、これは
従来、このような事に用いられてきており、またCCITT
標準に採用されている。情報は次にラン・テンプレート
(run and templete)コントロールユニットのブロック
9へ送られ、このユニットはゼロを検出してゼロのラン
を生成し、また非ゼロと値の対数の概算値(テンプレー
トと呼ぶ)を検出する。このランとテンプレートの組
(RTコードと呼ぶ)はRMAまたはROMで検索され、次にチ
ップより出力される。
仮数、すなわち変換係数の有効ビットもチップから出
力される。仮数とラン・テンプレートコードは1ビッ
ト、2ビット等々の任意の長さであるが、チップからの
出力は常に16ビットあるいは8ビット、32ビット等々の
同一ビット数であるから、ブロック11(整列)はそれを
容易にする。
第1図(a)に示す他のブロックは(オプション)の
プログラミング・ブロック12,13,13であり、これらはそ
れぞれにXYZ変換のための任意のRGB、任意のレート・ス
ケーラ、任意の心理的適応ウェート、ラン・テンプレー
トのための任意のモデファイド・ハフマンコードを設定
可能である。
第1図(b)は、第1図(a)と非常に似ている。ラ
ン・テンプレートコードは、ランとテンプレートの組に
複合されなければならず、また必要個数のゼロが省かれ
なければならない。
第1図(a)において、スケーラは単なる加算器とシ
フターのアレイである。第1図(b)において、デスケ
ーラはハードウェアで非常に小さな乗数として実現され
ている。
本発明の好ましい実施例に関する以上の説明は、説明
を目的としてなされたものである。本発明を開示した態
様そのものに限定することは意図するものではなく、以
上の説明に照らし多くの修正が可能である。また、本発
明は既存の標準、例えばJPEGと両立できる。好ましい実
施例は、本発明の原理及び実際的な応用を最もよく説明
することによって、当業者が本発明及び様々な実施例を
最適に、また特定用途に適するように様々に修正して利
用できるようにすることを目的として、選び説明したも
のである。本発明の範囲は、特許請求の範囲によっての
み定義されるものである。
また本発明は、特許請求の範囲に定義されない次の態
様も包含する。
ア)N×Nセクションを持つモノクロ画像の空間的に配
置された輝度値を変換及び再構築するための方法であっ
て、 一般化チェン変換のためのパラメータを選択するこ
と、 鮮明化ウェート、心理的適応ウェート、及び計算上分
数式にセットされたチェン・パラメータを持つレート・
スケーラを選択すること、 各乗算の計算費用が少なく、かつ周波数エントロピー
が一般化チェン変換を用い画像の各N×Nのセクション
を変換する最良値に十分に近似するように、修正したチ
ェン・ウーのアルゴリズムにおける後乗数を丸めるこ
と、 対象のおおよその複雑さに応じて画素ブロックを分類
し、この分類に応じてチェンの後乗数の最終的シフト−
カウントを調整すること、 結果として得られた変換後画像を符合化すること、 からなる方法。
イ)上記アの方法であって、 結果として得られた変換後画像を復号するステップ、 一般化チェン逆変換によりオリジナル画像の近似を構
築するステップ、 及び 平均化手法によりブロック境界の不連続性を修正する
ステップ、 を含む方法。
ウ)上記イの方法において、該画像はカラー画像であ
り、また該カラー画像の様々な空間的に配置された値を
3刺激カラー値の座標のひとつ以上に対して変換及び再
構築するステップを含む方法。
エ)上記ウの方法において、画像は8×16または16×16
のセクションを単位として処理され、また5,12,13が、
確度がほぼ4:3:1の三角形の各片として用いられる方
法。
[参照文献] [1]Acheroy,M.“Use of the DCT for the restorati
on of an image sequence",SPIZ vol 393 Medical Imag
e Processing(1985) [2]Cooley,and Tukey,JW,“An algorithm for(fas
t)Fourier series",_Math Comput_,XIX No 90,pp 296
−301,1965. [3]Chen,W.et al,“A fast computational algorith
m for the DCT",IEEE Trans.Commun.vol COM−25(197
7) [4]Wu,HR and Paolini,FJ,“A 2D Fast Cosine Tran
sform",IEEE Conf.on Image Processing,vol I(1989) [5]Lee,BC,“A Fast Cosine Transform",IEEE ASSP,
vol XXXIII(1985) [6]Jalali and Rao,“Limited Wordlength and FDCT
Processing Accuracy,"IEEE ASSP−81,vol.III,pp1180
−2 〔発明の効果〕 以上の詳細な説明から明らかなように、本発明によれ
ば、2次元静止画像の圧縮処理を乗算の繰り返し演算を
用いずに加算器のみで行い、且つ、画像データの90゜転
置処理をシフトアレイによりパイプライン処理で行い、
高速な静止画像圧縮処理装置及び方法を提供できる。
【図面の簡単な説明】
第1図(a)は本発明による圧縮装置のブロック図、第
1図(b)は本発明による伸長装置のブロック図、第2
図(a)乃至(c)は入力画素順、データのブロックタ
イミング及びベクトルタイミングの説明図、第3図はRG
BからXYZデータへの3ポイント変換の説明図、第4図の
(a)と(b)は本発明による可能なVISTレイアウトの
説明図、第4図の(c−a),(d−a),(c−
d),(d−b)は上記VISTレイアウトにおけるデータ
フローの説明図、第5図は本発明で使用されるシフトレ
ジスタの説明図、第6図(A)は本発明によりシフトア
レイの説明図、第6図(B)は第6図(A)のシフトア
レイの一例の説明図、第7図は結合されたデータフロー
図、第8図(A)及び第8図(B)は本発明によるフォ
ーワード(forward)加算アレイの説明図である。
フロントページの続き (72)発明者 スティーブ・エム・ブロンスタイン アメリカ合衆国、カリフォルニア州、サ ンタクララ郡、ホンホセ(番地なし) (56)参考文献 特開 昭57−152787(JP,A) (58)調査した分野(Int.Cl.6,DB名) H04N 1/41 - 1/419 H04N 7/24 - 7/68 G06F 17/10 - 17/18

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】N×Nマトリクスの静止画像データに2次
    元直交変換を施こす静止画像圧縮処理装置において、 前記画像データの一方の方向について、加算器のみの構
    成で1次元変換処理を施こす第1変換手段と、 前記1次元変換処理された画像データを順次入力し、同
    時に90゜転置された画像データを順次出力するN×Nの
    シフトアレイ手段と、 前記シフトアレイ手段から出力される画像データの前記
    方向と異なる他方の方向について、加算器のみの構成で
    1次元変換処理を施こす第2変換手段と、 前記第2変換手段で変換処理された画像データをスケー
    リングするスケーリング手段と、 前記スケーリング手段でスケーリングされた画像データ
    を符号化する符号化手段と、 を具備することを特徴とする静止画像圧縮処理装置。
  2. 【請求項2】N×Nマトリクスの静止データに2次元直
    交変換を施す静止画像圧縮処理方法において、 前記画像データの一方の方向について、加算器のみを使
    用して1次元変換処理を施こすステップと、 前記1次元変換処理された画像データを順次、N×Nの
    シフトアレイに入力し、同時に90゜転置された画像デー
    タを順次、該シフトアレイから出力するステップと、 前記シフトアレイから出力される画像データの前記方向
    と異なる他方の方向について、加算器のみを使用して1
    次元変換処理を施こすステップと、 前記変換処理された画像データをスケーリングするステ
    ップと、 前記スケーリングされた画像データを符号化するステッ
    プと、 からなることを特徴とする静止画像圧縮処理方法。
JP2328762A 1990-04-19 1990-11-28 静止画像圧縮処理装置及び方法 Expired - Lifetime JP2821489B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/511,245 US5129015A (en) 1990-04-19 1990-04-19 Apparatus and method for compressing still images without multiplication
US511245 1990-04-19

Publications (2)

Publication Number Publication Date
JPH04181877A JPH04181877A (ja) 1992-06-29
JP2821489B2 true JP2821489B2 (ja) 1998-11-05

Family

ID=24034067

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2328762A Expired - Lifetime JP2821489B2 (ja) 1990-04-19 1990-11-28 静止画像圧縮処理装置及び方法

Country Status (2)

Country Link
US (1) US5129015A (ja)
JP (1) JP2821489B2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319724A (en) * 1990-04-19 1994-06-07 Ricoh Corporation Apparatus and method for compressing still images
US5305399A (en) * 1990-04-19 1994-04-19 Ricoh Corporation Two dimensional shift-array for use in image compression VLSI
US5594812A (en) * 1990-04-19 1997-01-14 Ricoh Corporation Apparatus and method for compressing still images
JP3155383B2 (ja) * 1992-02-28 2001-04-09 株式会社リコー 2モード処理装置、2次元変換装置及び静止画像データの圧縮システム
US5832436A (en) * 1992-12-11 1998-11-03 Industrial Technology Research Institute System architecture and method for linear interpolation implementation
JP3466705B2 (ja) * 1993-05-28 2003-11-17 ゼロックス・コーポレーション 圧縮画像の圧縮解除方法
US5719961A (en) * 1994-07-22 1998-02-17 Apple Computer, Inc. Adaptive technique for encoder and decoder signal transformation
US5659362A (en) * 1994-09-07 1997-08-19 University Of South Florida VLSI circuit structure for implementing JPEG image compression standard
EP0714212A3 (en) * 1994-11-21 1999-03-31 SICAN, GESELLSCHAFT FÜR SILIZIUM-ANWENDUNGEN UND CAD/CAT NIEDERSACHSEN mbH Video decoder using concurrent processing and resource sharing
US6094453A (en) * 1996-10-11 2000-07-25 Digital Accelerator Corporation Digital data compression with quad-tree coding of header file
US6058215A (en) * 1997-04-30 2000-05-02 Ricoh Company, Ltd. Reversible DCT for lossless-lossy compression
US6298166B1 (en) * 1998-03-30 2001-10-02 Seiko Epson Corporation Image transformations in the compressed domain
US6473534B1 (en) 1999-01-06 2002-10-29 Hewlett-Packard Company Multiplier-free implementation of DCT used in image and video processing and compression
US6876703B2 (en) * 2000-05-11 2005-04-05 Ub Video Inc. Method and apparatus for video coding
US7082450B2 (en) 2001-08-30 2006-07-25 Nokia Corporation Implementation of a transform and of a subsequent quantization
WO2003069333A1 (en) * 2002-02-14 2003-08-21 Illumina, Inc. Automated information processing in randomly ordered arrays
US7760950B2 (en) * 2002-09-26 2010-07-20 Ntt Docomo, Inc. Low complexity and unified transforms for video coding
US7627187B2 (en) * 2003-09-24 2009-12-01 Ntt Docomo, Inc. Low complexity and unified transforms for video coding
US8571340B2 (en) * 2006-06-26 2013-10-29 Qualcomm Incorporated Efficient fixed-point approximations of forward and inverse discrete cosine transforms
US8385424B2 (en) * 2006-06-26 2013-02-26 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform
US8300698B2 (en) * 2006-10-23 2012-10-30 Qualcomm Incorporated Signalling of maximum dynamic range of inverse discrete cosine transform
US8781000B2 (en) * 2010-12-30 2014-07-15 Vixs Systems, Inc. Dynamic video data compression

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57152787A (en) * 1981-03-17 1982-09-21 Matsushita Electric Ind Co Ltd Dc/ac conversion coding device for separation signal
US4449194A (en) * 1981-09-25 1984-05-15 Motorola Inc. Multiple point, discrete cosine processor
US4507676A (en) * 1982-10-28 1985-03-26 Rca Corporation Digital matrixing system
US4835599A (en) * 1987-02-25 1989-05-30 Digital Equipment Corporation Apparatus and method for storing and transmitting images represented by logic signals

Also Published As

Publication number Publication date
US5129015A (en) 1992-07-07
JPH04181877A (ja) 1992-06-29

Similar Documents

Publication Publication Date Title
JP2821489B2 (ja) 静止画像圧縮処理装置及び方法
US5319724A (en) Apparatus and method for compressing still images
US5345408A (en) Inverse discrete cosine transform processor
JP5623565B2 (ja) バタフライプロセッサを使用して離散コサイン変換をエンコードしそして計算するための装置及び方法
CN101399988B (zh) 减少位深的量子化方法
US5467131A (en) Method and apparatus for fast digital signal decoding
US20070094320A1 (en) Parallel Adder-Based DCT / IDCT Design Using Cyclic Convolution
US6067384A (en) Fast scaling of JPEG images
WO1996007986A2 (en) Vlsi circuit structure for implementing jpeg image compression standard
US6052703A (en) Method and apparatus for determining discrete cosine transforms using matrix multiplication and modified booth encoding
US7649939B2 (en) Apparatus and method for decoding and computing a discrete cosine transform using a butterfly processor
US6996595B2 (en) Apparatus and method for consolidating output data from a plurality of processors
KR100227271B1 (ko) 역이산 여현변환방법
US5555321A (en) Image data binary coding method and apparatus
US5664028A (en) Apparatus and method for compressing still images
JP3155383B2 (ja) 2モード処理装置、2次元変換装置及び静止画像データの圧縮システム
US5594812A (en) Apparatus and method for compressing still images
US6111989A (en) 1/4 size real time decoding of digital video
JP3087312B2 (ja) データ圧縮装置
JPH0645947A (ja) 直交変換装置及び逆直交変換装置
JPH0595483A (ja) 画像圧縮装置及び方法
JPH04222121A (ja) データ圧縮装置
JPH05153402A (ja) 離散コサイン変換器
Mietens et al. New scalable DCT computation for resource-constrained systems
JPH06274524A (ja) 直交変換回路および逆変換回路

Legal Events

Date Code Title Description
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: 20080904

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20080904

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090904

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20090904

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100904

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20110904

Year of fee payment: 13

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110904

Year of fee payment: 13