JPH0646269A - Expansion method and compression method for still picture data or device executing the methods - Google Patents
Expansion method and compression method for still picture data or device executing the methodsInfo
- Publication number
- JPH0646269A JPH0646269A JP5033813A JP3381393A JPH0646269A JP H0646269 A JPH0646269 A JP H0646269A JP 5033813 A JP5033813 A JP 5033813A JP 3381393 A JP3381393 A JP 3381393A JP H0646269 A JPH0646269 A JP H0646269A
- Authority
- JP
- Japan
- Prior art keywords
- coefficient
- image data
- still image
- transform
- value
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Discrete Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Complex Calculations (AREA)
- Image Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
Description
【0001】[0001]
【発明の背景と概要】本発明は、JPEG(Joint Ph
otographic Experts Group)の静止画像の伸長/圧縮
規格と互換性のある静止画像データの伸長方法、圧縮方
法及びそのための対応装置に関する。BACKGROUND AND SUMMARY OF THE INVENTION The present invention is based on JPEG (Joint Ph
The present invention relates to a still image data decompression method and compression method compatible with the still image decompression / compression standard of otographic Experts Group), and a corresponding apparatus therefor.
【0002】高品位画像を圧縮してメモリ又は転送の条
件を節約しなければならない場合、情報がもっと小さく
表現し得る別の空間に画像を第1に転送するのが一般的
である。これは、通常、ブロック毎に線形変換(マトリ
クス逓倍)により行なわれる。典型的な構成は、8画素
の行成分について8点変換を実行し、次いで、この行変
換した画像の8画素の列成分について8点変換を実行す
る。8×8のブロックに配置された64画素の画素ブロ
ックについて1回に64画素変換を実行しても同等であ
る。When high quality images must be compressed to save memory or transfer requirements, it is common to transfer the image first to another space where the information can be represented smaller. This is usually performed by linear conversion (matrix multiplication) for each block. A typical configuration performs an 8-point transform on an 8-pixel row component, and then performs an 8-point transform on an 8-pixel column component of this row-transformed image. Even if 64 pixel conversion is executed at once for a pixel block of 64 pixels arranged in an 8 × 8 block, it is equivalent.
【0003】1次元変換のよい選択は、数1に示すよう
な、独立したチェビチェフ変換である。A good choice for the one-dimensional transform is the independent Chebychev transform, as shown in Eq.
【数1】 F(u)=c(u)* sum f(i) * cos u(2i+1)pi/16 (ただし、sum はi=0〜7に関する)ここで、F (u) = c (u) * sum f (i) * cos u (2i + 1) pi / 16 (where sum relates to i = 0 to 7) where:
【数2】 である。[Equation 2] Is.
【0004】この変換には、幾つかの利点が存在する。
即ち、 a) 圧縮は幾つかの基準でほぼ最適である b) この変換とその逆向き変換を実行するために高速
計算アルゴリズムが存在する c) 文献“アチェロイ,M.「画像シーケンスの再現
用DCTの使用」、SPIE第593巻医用画像処理
(1985年)”に記載の、ある種の仮定に基づけば、変換
空間内でデブラリング(初期画像の拡張)が容易に実行
可能である ことを含む。There are several advantages to this conversion.
That is: a) compression is nearly optimal on several criteria b) there is a fast computation algorithm to perform this transformation and its inverse transformation c) the document "Acherloy, M." DCT for reproduction of image sequences , SPIE Vol. 593, Medical Image Processing (1985) ”, based on certain assumptions, including the ability to easily perform deblurring (extension of the initial image) in the transform space. .
【0005】[0005]
【発明の目的】本発明の目的は、静止画像データの伸長
方法、圧縮方法及びそのための対応装置を提供すること
である。本発明のさらなる目的は、JPEG規格と互換
性を保てる静止画像データの圧縮方法並びにその対応装
置を提供することである。本発明の別の目的は、データ
圧縮の量子化及び圧縮段階におけるビットの使用の最適
化である。本発明の別の目的は、量子化及び係数圧縮を
統合するデータ圧縮方式における自乗平均値エラーの最
小化である。本発明のさらなる目的は、データ圧縮の範
囲、並びに、解像度を最適化する方法における一定量の
ビットの使用である。本発明のさらなる目的は、小さい
量子化の値について解像度にJPEG規格H.261仕
様を適合させることである。より特定すれば、本発明の
目的は、16入力1出力のマルチプレクサ及び16ビッ
ト乗算器を用いることにより、ダイナミックレンジ28
ビットで量子化の予備圧縮を可能にするための方法を提
供することである。本発明の別の目的は、処理のパイプ
ライン化実装において、最大限の利点まで一般化チェン
変換の速度を使用することである。本発明のさらなる目
的は、変換を実行するために要求されるゲート数を最小
限に抑えることである。より特定すれば、本発明の目的
は、変換の加算回路ネットワーク部分の速度の利点を用
いて同一ハードウェアによる垂直方向及び水平方向の変
換の追加を実行することである。本発明のさらなる目
的、利点及び新規の特徴は、以下の詳細な説明に詳述さ
れ、また、当業者には、以下の詳細な説明の検討により
明らかになり、又は、本発明の実施例から見出されよ
う。本発明の目的及び特徴は、特許請求の範囲に示され
ている構成要素及びその組合せを用いて実現達成し得る
ものである。SUMMARY OF THE INVENTION It is an object of the present invention to provide a decompression method and compression method for still image data and a corresponding apparatus therefor. It is a further object of the present invention to provide a still image data compression method that is compatible with the JPEG standard and a corresponding device. Another object of the invention is the optimization of the use of bits in the quantization and compression stages of data compression. Another object of the present invention is the minimization of root mean square error in a data compression scheme that integrates quantization and coefficient compression. A further object of the invention is the range of data compression, as well as the use of a certain amount of bits in the method of optimizing the resolution. A further object of the invention is the resolution of the JPEG standard H.264 for small quantization values. 261 specifications. More specifically, the object of the present invention is to provide a dynamic range of 28 by using a 16-input 1-output multiplexer and a 16-bit multiplier.
It is to provide a method for enabling pre-compression of quantization in bits. Another object of the present invention is to use the speed of generalized chain transformations in a pipelined implementation of processing to the maximum advantage. A further object of the invention is to minimize the number of gates required to perform the conversion. More particularly, it is an object of the present invention to perform the addition of vertical and horizontal transforms with the same hardware, taking advantage of the speed of the adder network portion of the transform. Further objects, advantages and novel features of the invention will be set forth in the detailed description which follows and will be apparent to those skilled in the art upon examination of the detailed description, or from the examples of the invention. Will be found. The objectives and features of the invention may be realized and obtained by means of the elements and combinations particularly pointed out in the appended claims.
【0006】[0006]
【本発明の理論面の議論】画像の圧縮及び再生(伸長)
のための完全なシステムは、以下の如く、表現し得る。 64画素入力 ↓ A)ディスクリート・チェビチェフ変換(又は類似の行変換) ↓ B)ディスクリート・チェビチェフ変換(又は類似の列変換) ↓ Z)(オプション)↓ 難度分類 ↓ C)レート・スケーラによる乗算 ↓ D)心理的要因の重みによる乗算 ↓ E)デブラリング重みによる乗算 ↓ F)閾値化、量子化、符号化及び転送 ↓ G)受信、復号、補間 ↓ H)逆レート・スケーラによる乗算 ↓ I)逆向き心理的要因の重みによる乗算 ↓ J)逆ディスクリート・チェビチェフ変換 ↓ K)逆ディスクリート・チェビチェフ変換 ↓ L)画素ブロック周辺の円滑化 ↓ 再生した64画素 → 隣接画素[Discussion on theoretical aspects of the present invention] Image compression and reproduction (decompression)
The complete system for can be expressed as: 64 pixel input ↓ A) Discrete Chebychev conversion (or similar row conversion) ↓ B) Discrete Chebychev conversion (or similar column conversion) ↓ Z) (optional) ↓ Difficulty classification ↓ C) Rate scaler multiplication ↓ D ) Multiply by weight of psychological factor ↓ E) Multiply by debra ringing weight ↓ F) Thresholding, quantization, encoding and transfer ↓ G) Reception, decoding, interpolation ↓ H) Inverse rate scaler ↓ I) Inverse Multiply by weight of orientation psychological factor ↓ J) Inverse discrete Chebyshev transform ↓ K) Inverse discrete Chebychev transform ↓ L) Smoothing around pixel block ↓ Reproduced 64 pixels → Adjacent pixel
【0007】上記手順は本発明を記述しており、任意の
段階(L,Z)を省略することにより、現在の技術も説
明している。デブラリング重みによる乗算(段階E)
は、復号段階(例えば、段階Iの後)で実行することも
可能である。デブラリングは入力装置の点拡散関数の補
償のために行なわれる。これは、装置に合わせて設定す
るか、又は、入力画像が既に強調されている場合は排除
されねばならない。画像を際立たせるその他の良い方法
も存在するが、ここに図示した方法は計算が安く済み、
ある種の用途、例えばカラー複写装置に適している。The above procedure describes the invention and also describes the current state of the art by omitting any of the steps (L, Z). Multiply by debra ring weight (stage E)
Can also be performed in the decoding stage (eg after stage I). Deblurring is performed to compensate for the point spread function of the input device. This must be set for the device or eliminated if the input image is already highlighted. There are other good ways to make an image stand out, but the one shown here is cheaper to calculate,
It is suitable for certain applications, such as color copiers.
【0008】計算負荷の大半が最終的な乗算過程よりな
るように前向き変換(A,B)の計算を配置することが
可能である。これらの乗算器の積、並びに、段階(C,
E)のそれを予め計算しておくことで、圧縮過程を進捗
させることができる。同様に、計算負荷の大半が予備的
乗算過程からなるように逆向き変換(J,R)の計算を
配置することも可能である。ここでも、積の予備計算に
より計算(H,I)の段階の労力は効果的に排除され
る。さらに、別の変換を2次元ディスクリート・コサイ
ン変換(2次元DCT変換)に置換え、さらなる計算の
簡略化が得られる。さらに、心理的要因の重みを選択的
に変化させて段階(B,D)の統合乗算器で計算効率を
上げる、例えば、自乗に比例させるようになすことがで
きる。低エネルギー出力変換素子の心理的要因の重みの
小さな変化は、画像の品位又は圧縮比に対して殆ど効果
を有さない。最後に、後述する図1の段階(L,Z)、
画像の難易度分類及びブロック周辺の円滑化に注意すべ
きである。これらは任意であり、本発明の主題とは独立
しているので、本明細書では最小限の議論しか加えない
こととする。It is possible to arrange the calculation of the forward transform (A, B) so that most of the calculation load consists of the final multiplication process. The product of these multipliers, as well as the stages (C,
By pre-calculating that of E), the compression process can proceed. Similarly, it is possible to arrange the inverse transform (J, R) computations such that most of the computation load consists of preliminary multiplication processes. Again, the preliminary calculation of the product effectively eliminates the effort in the calculation (H, I) stage. Further, another transform is replaced with a two-dimensional discrete cosine transform (two-dimensional DCT transform), and further simplification of calculation is obtained. Further, the weight of the psychological factor can be selectively changed to improve the calculation efficiency in the integrated multiplier of the stage (B, D), for example, to be proportional to the square. Small changes in the weight of the psychological factors of the low energy output conversion element have little effect on the image quality or compression ratio. Finally, the steps (L, Z) of FIG.
Attention should be paid to the difficulty level of the image and smoothing around the block. Since these are optional and independent of the subject matter of the invention, only a minimal discussion will be given here.
【0009】…チェン・アルゴリズム… 1次元チェン・アルゴリズム(文献“チェン,Wら、
「DCT用高速計算アルゴリズム」IEEE Trans.
Commun. COM-25号(1977年)”参照)は、[Chen algorithm] One-dimensional chain algorithm (reference "Chen, W et al.
"High-speed calculation algorithm for DCT" IEEE Trans.
Commun. COM-25 (1977) ”)
【数3】X=2/N AN x のようなものである。ここで、xはデータのベクトル、
Xは変換されたベクトル、また、AN は、Equation 3] is as X = 2 / N A N x . Where x is a vector of data,
X is the transformed vector and A N is
【数4】AN =c(k) cos((2j+1)kπ/2N) ;j,k=0,1,2,…,N−1 で示される。## EQU4 ## A N = c (k) cos ((2j + 1) kπ / 2N); j, k = 0, 1, 2, ..., N-1.
【0010】さらに、このようなAN は次の行列式Further, such an A N has the following determinant
【数5】 で分解することができる。ここで、RN/2 は、[Equation 5] Can be disassembled with. Where R N / 2 is
【数6】 RN/2 =c(2k+1)cos((2j+1)(2k+1)π/2N) ;j,k=0,1,2,…,N/2−1 である。## EQU6 ## R N / 2 = c (2k + 1) cos ((2j + 1) (2k + 1) π / 2N); j, k = 0, 1, 2, ..., N / 2−1.
【0011】行列式Zは、チェン行列である点に注意さ
れたい。本出願においては、行列式Pとの混乱を回避す
るために表記方法を変更してある。Note that the determinant Z is the Chien matrix. In this application, the notation is changed to avoid confusion with the determinant P.
【0012】…8点(N=8)1次元チェン変換の実施
例… 8点で行なうためには、数5に示すチェン・アルゴリズ
ムを2回再帰的に使用する。第1の反復では、行列式Z
8 ,R4 ,B8 を使用する。第2の反復では、A4 につ
いて解き、行列式Z4 ,R2 ,A2 ,B4 を用いる。こ
れらは上述の式又はチェンの論文“チェン,Wら、「D
CT用高速計算アルゴリズム」IEEETrans. Commu
n. COM-25号(1977年)”から簡単に導ける。Example of 8-point (N = 8) one-dimensional Chen transform: In order to perform 8-point conversion, the Chen algorithm shown in Equation 5 is recursively used twice. In the first iteration, the determinant Z
8 , R 4 , and B 8 are used. The second iteration solves for A 4 and uses the determinant Z 4 , R 2 , A 2 , B 4 . These are described in the above formula or in the Chen article "Chen, W et al.," D
High-speed calculation algorithm for CT "IEEE Trans. Commu
n. COM-25 (1977) ”can be easily derived.
【0013】[0013]
【数7】 [Equation 7]
【0014】ここで、Z8 は数8、B8 は数9、R4 は
数10、Z4 は数11、B4 は数12、R2 は数13、
A2 は数14に各々示される。Here, Z 8 is the number 8, B 8 is the number 9, R 4 is the number 10, Z 4 is the number 11, B 4 is the number 12, R 2 is the number 13,
A 2 is shown in equation (14).
【数8】 [Equation 8]
【数9】 [Equation 9]
【数10】 [Equation 10]
【数11】 [Equation 11]
【数12】 [Equation 12]
【数13】 [Equation 13]
【数14】 ここで、数6から、[Equation 14] Here, from Equation 6,
【数15】Cn= cos(nπ/16) である。## EQU15 ## Cn = cos (n.pi./16).
【0015】…チェン・ウ(変法)又はパラメータ変換
… これまでに行なわれてきたのはチェン変換である。これ
を乗算して、計算の節約を実現し、集中的DCT実装を
乗算している。しかし、これは出願人が提供したもので
はない。乗算を最小限に減少するには、行列式を数16
ないし数18のようにパラメータを取り直す。これは出
願人がチェン・ウ(変法)と呼ぶもので、出願人による
創作物である。... Cheng Woo (variant method) or parameter conversion ... The Chen conversion has been performed so far. Multiply this to achieve computational savings and multiply intensive DCT implementations. However, this was not provided by the applicant. To minimize the multiplication, the determinant is
Or, retake the parameters as shown in Eq. This is what the applicant calls Chen Woo (modified method) and is a creation by the applicant.
【0016】[0016]
【数16】 [Equation 16]
【数17】 [Equation 17]
【数18】 [Equation 18]
【0017】ここで、a,b,c,rは数19に示され
る。Here, a, b, c and r are shown in the equation (19).
【数19】 a=C1/C7=sin(7π/16)/cos(7π/16) =tan(7π/16) b=C2/C6=tan(6π/16) c=C3/C5=tan(5π/16) r=C4 =tan(4π/16)A = C1 / C7 = sin (7π / 16) / cos (7π / 16) = tan (7π / 16) b = C2 / C6 = tan (6π / 16) c = C3 / C5 = tan ( 5π / 16) r = C4 = tan (4π / 16)
【0018】対角線行列式RF4 は、パラメータ化して
いない行列式RA4 の標準化因数を含んでいる点に注意
されたい。また、対角線行列式はR2 及びA2 の定数か
ら作られ得ることにも注意されたい。Note that the diagonal determinant RF 4 contains the standardization factor for the unparameterized determinant RA 4 . Also note that the diagonal determinant can be made from the constants of R 2 and A 2 .
【0019】A8 行列の再生において、2つの行列式が
分離される。対角線行列式は主行列式から分離しておか
れる。主行列式はBN 項により乗算される。適切な再配
置と定数項による乗算の後、数3は数20のように減少
する。In reproducing the A 8 matrix, the two determinants are separated. The diagonal determinant is kept separate from the main determinant. The main determinant is multiplied by the B N term. After proper rearrangement and multiplication by a constant term, the number 3 decreases to the number 20.
【0020】[0020]
【数20】 X=Q(a,b,c) P(a,b,c,r)x ここで、Q(a,b,c)は数21、P(a,b,c,
r)は数22に示される。X = Q (a, b, c) P (a, b, c, r) x where Q (a, b, c) is the number 21 and P (a, b, c,
r) is shown in Equation 22.
【数21】 [Equation 21]
【数22】 [Equation 22]
【0021】…一般化変換… 一般化8ビットDCT変換は4つのパラメータa,b,
c,rから求まり、数23のように表わすことができるGeneralized transform ... The generalized 8-bit DCT transform has four parameters a, b, and
Calculated from c and r, it can be expressed as
【数23】 T(a,b,c,r) =P(a,b,c,r) XQ(a,b,c) ここに、P( ),Q( )は上述した通りである。T (a, b, c, r) = P (a, b, c, r) XQ (a, b, c) where P () and Q () are as described above.
【0022】画像の変換は、2つのこうした変換T、各
々Tv 及びTh が各々垂直方向及び水平方向の画像の変
換に必要とされる。完全な2次元変換は数24のように
表現される。The image transformation is such that two such transformations T, T v and T h , respectively, are required to transform the image vertically and horizontally, respectively. A complete two-dimensional transformation is expressed as in Equation 24.
【数24】[F]=[Tv ]^t[f][Th ] ここで、fは入力画像のブロック、Fは出力変換係数、
また、べき乗数“t”は行列の変換を表わす。ここで、
全ての行列は8行8列である。[F] = [T v ] ^ t [f] [T h ] where f is a block of the input image, F is an output transform coefficient,
Also, the power multiplier “t” represents matrix transformation. here,
All matrices are 8 rows and 8 columns.
【0023】対角線行列(例えば、Q)は、それ自身の
変換であるから、全ての行列について、Since a diagonal matrix (eg, Q) is its own transformation, for every matrix,
【数25】 [A]^t[B]^t=([B][A])^t [Tv ]=[Pv ][Qv ] [Th ]=[Ph ][Qh ] で表される。そこで、数24を書き改めると、[Number 25] [A] ^ t [B] ^ t = ([B] [A]) ^ t [T v] = [P v] [Q v] [T h] = [P h] [Q h ] Is represented. So, if you rewrite equation 24,
【数26】 [F]=[Qv ][Pv ]^t[f][Ph ][Qh ] となる。[Number 26] the [F] = [Q v] [P v] ^ t [f] [P h] [Q h].
【0024】これは、数27のように表すこともでき
る。This can also be expressed as in Equation 27.
【数27】F(i,j) =q(i,j) *g(i,j) ここで、F (i, j) = q (i, j) * g (i, j) where:
【数28】 [g]=[Pv ]^t[f][Ph ] q(i,j) =Qv (i,i) *Qh (j,j) である。[The number 28 is a [g] = [P v] ^ t [f] [P h] q (i, j) = Q v (i, i) * Q h (j, j).
【0025】画像ブロックの変換に際して、チェン・ウ
変換を用いて[g]について解き、次いで係数q(i,j)
で乗算することになる。いま、In transforming an image block, the [C] -Cho transform is used to solve for [g] and then the coefficient q (i, j)
Will be multiplied by. Now
【数29】 Pv =P(a,b,c,rv ) Ph =P(a,b,c,rh ) とすれば、上述の変換の逆方向は、数30のように表現
される。If P v = P (a, b, c, r v ) and P h = P (a, b, c, r h ), then the reverse direction of the above-mentioned conversion is expressed as To be done.
【数30】 [f]=[Pv′][Qv ][F][Qh ][Ph′]^t ここで、Pv′,Ph′は数31に示される。[F] = [P v ′] [Q v ] [F] [Q h ] [P h ′] ̂t Here, P v ′ and P h ′ are shown in Expression 31.
【数31】 Pv′=P(a,b,c,1/2rv ) Ph′=P(a,b,c,1/2rh ) また、解法はチェン・ウ変換経由であるP v ′ = P (a, b, c, ½r v ) P h ′ = P (a, b, c, ½r h ), and the solution method is via the Cheng-U transformation.
【0026】…チェンのアルゴリズム… 1次元又は2次元チェビチェフ変換とその逆の計算を高
速化するために幾つかの方法が工夫されてきた。周知の
アルゴリズム(チェン)…文献“クーリー及びタキー,
JW.「(高速)フーリエ級数のアルゴリズム」 Math
Comput、第19巻90号、296〜301ページ、19
65年”又は、文献“チェン,Wら、「DCT用高速計算
アルゴリズム」IEEE Trans. Commun. COM-25号
(1977年)”参照…では任意の8組を上記の行列Tで乗
算し、乗算16回、加算13回、また、減算13回だけ
を使用している。このアルゴリズムはパラメータa,
b,c,rの何らかの特別な属性に依存するものではな
い。... Chen's algorithm ... Several methods have been devised to speed up the one-dimensional or two-dimensional Chebyshev transform and vice versa. Well-known algorithm (Chen) ... Reference "Coolie and Tukey,
JW. "(Fast) Fourier Series Algorithm" Math
Comput, Vol. 19, No. 90, pp. 296-301, 19
See "Chang, W et al.," High-speed calculation algorithm for DCT ", IEEE Trans. Commun. COM-25 (1977)" in 1965 .... Any eight sets are multiplied by the above matrix T, and multiplication is performed. It uses only 16 times, 13 times addition, and 13 times subtraction.
It does not depend on any special attributes of b, c, r.
【0027】…チェン・ウ・アルゴリズム(変法)… 上述のように、[T]=[P][Q]と因子をとること
により、チェンのアルゴリズムは2つの段階に分割さ
れ、[Q]による乗算では8回の乗算を使用し、[P]
による乗算においては8回の乗算と残りの数値計算を使
用する。これは、[Q]についての選択の結果であり、
[P]の幾つかの要素は“1”又は“−1”となり、計
算が消滅している。... Chen-Woo Algorithm (Modified Method) As described above, by taking a factor of [T] = [P] [Q], the Chen algorithm is divided into two stages, and [Q] The multiplication by uses eight multiplications, [P]
The multiplication by uses 8 multiplications and the remaining numerical calculations. This is the result of the choice on [Q],
Some elements of [P] become "1" or "-1", and the calculation disappears.
【0028】上記で指摘したように、同様の単純化が逆
変換、2次元変換及び逆向き2次元変換に適用される。
8×8ブロックでは正方向又は逆方向2次元変換
([q]による乗算を除く)の何れかで128回の乗算
を用いている。チェンのアルゴリズムの内部的なデータ
の流れを見ると、これらの乗算は8つの加算/減算段階
の構造と4つの乗算段階に埋め込まれている。As pointed out above, similar simplifications apply to inverse transforms, two-dimensional transforms and inverse two-dimensional transforms.
In 8 × 8 blocks, 128 multiplications are used in either forward or backward two-dimensional transformation (except multiplication by [q]). Looking at the internal data flow of Chen's algorithm, these multiplications are embedded in a structure of eight add / subtract stages and four multiply stages.
【0029】チェンのアルゴリズムがパラメータa,
b,c,rに拘らず作用することを強調するのは重要で
ある。しかし、従来技術で使用されてきた8点DCT
は、次のような「真のコサイン変換」のパラメータを有
している。 a=tan(7*pi/16) b=tan(6*pi/16) c=tan(5*pi/16) r=sqrt(1/2)=0.70710678… そこで、行列Tで直交するように必要かつ十分なrを選
択する。The Chen algorithm uses the parameter a,
It is important to emphasize that it works regardless of b, c, or r. However, the 8-point DCT used in the prior art
Has the following "true cosine transform" parameters. a = tan (7 * pi / 16) b = tan (6 * pi / 16) c = tan (5 * pi / 16) r = sqrt (1/2) = 0.70710678 ... Then, the matrix T should be orthogonal. Select necessary and sufficient r.
【0030】…パラメータ値の選択… チェン変換は、パラメータa,b,c,rに選択した値
によらず動作する。これは、QPにより生成した変換が
直交するためである。あらゆる数を使用して圧縮する必
要のある画像データの所望の非相関を実行し得るような
変換を有することは全く可能である。この変換は、ディ
スクリート・コサイン変換ではなく、また、DCTの近
似でもないことに注意されたい。これは、それ自体の変
換である。... Selection of parameter value ... The chain transformation operates regardless of the values selected for the parameters a, b, c and r. This is because the transforms generated by QP are orthogonal. It is quite possible to have a transform that can perform the desired decorrelation of the image data that needs to be compressed using any number. Note that this transform is neither a discrete cosine transform nor a DCT approximation. This is its own transformation.
【0031】しかし、効率的な入力画像の非相関のため
に、また、比較的有意な空間頻度係数への変換のために
は、一般的にDCTが極めて望ましいとされている(文
献“リー,BC.「高速コサイン変換」IEEE AS
SP、第33巻(1985年)”参照)。よって、DCTの
長所を実現するためには、パラメータが数19に示した
DCTのそれに近似させて設定されることになる。対抗
する要因は、計算の効率である。加算は乗算より安い
(ハードウェア的な節約はシリコン資源であり、ソフト
ウェア的な節約はサイクル数である)ので、パラメータ
は計算面で効率的になるように選択される。However, for efficient decorrelation of the input image, and for conversion to relatively significant spatial frequency coefficients, DCT is generally considered highly desirable (see "Li, BC "High-speed cosine transform" IEEE AS
SP, Vol. 33 (1985) ”). Therefore, in order to realize the advantages of the DCT, the parameters should be set close to those of the DCT shown in the equation (19). Computation efficiency: Addition is cheaper than multiplication (hardware savings are silicon resources, software savings is cycles), so the parameters are chosen to be computationally efficient.
【0032】…他のアルゴリズム… その他の計算法もディスクリート・チェビチェフ変換用
に工夫されてきた。例えば、リーによるアルゴリズムは
8点1次元及び64点2次元変換を各々12回と144
回の乗算で実行している(文献“ウ,H.R.及びパオ
リーニ,FJ.「2次元高速コサイン変換」IEEE画
像処理カンファレンス、第1巻(1989年)”又は、文献
“リー,BC.「高速コサイン変換」IEEE ASS
P、第33巻(1985年)”参照)。Other algorithms ... Other calculation methods have also been devised for the discrete Chebyshev transform. For example, Lee's algorithm uses 8-point 1-dimensional and 64-point 2-dimensional transformations 12 times and 144 times, respectively.
It is executed by multiplying the number of times (reference “U, HR. And Paolini, FJ.“ Two-dimensional fast cosine transform ”IEEE image processing conference, Volume 1 (1989)”) or reference “Lee, BC. "High-speed cosine conversion" IEEE ASS
P. 33 (1985) ").
【0033】しかし、これらの「より高速な」アルゴリ
ズムはチェン・アルゴリズムと比較した場合、以下のよ
うな幾つかの欠点を有している。 a) T=P×Qの単純化(及び逆向き変換について同
様の因数分解)が動作しなくなる。対角線行列Qの分離
は、これ以降の単純化に必須である。 b) これらのアルゴリズムは任意のパラメータa,
b,c,rについて機能しない。その代り、これらは真
のコサイン・パラメータについて特に有効な三角法の各
種属性に依存している。 c) これらのアルゴリズムはさらに構造的に複雑であ
る。これは、工学的に障害となり得るもので、数値の不
安定の可能性を増大させる。However, these "faster" algorithms have some drawbacks when compared to the Chen algorithm: a) The simplification of T = P × Q (and similar factorization for the inverse transform) fails. Separation of the diagonal matrix Q is essential for subsequent simplifications. b) These algorithms have arbitrary parameters a,
It does not work for b, c and r. Instead, they rely on trigonometric attributes that are particularly valid for true cosine parameters. c) These algorithms are more structurally complex. This can be an engineering obstacle and increases the likelihood of numerical instability.
【0034】…発明の詳細な説明… A] 前述した理論面での議論でのシステムを再度参照
すると、段階(C,D,E)が「Q」から導いた前向き
変換後置乗算器に組込まれ得ることがわかる。同様に、
段階(H,I)は逆向き変換前置乗算器に組込むことが
できる。これは、レート・スケーラ演算、心理的要因の
重み付け演算(一般に、量子値として公知である)、ま
た、デブラリング重み演算は全て点乗算演算である。
b,c,d,eが各々段階B,C,D,Eの出力の場
合、Detailed Description of the Invention A] Referring again to the system in the theoretical discussion above, steps (C, D, E) are incorporated into the forward transform post-multiplier derived from "Q". I understand that it can be done. Similarly,
Stage (H, I) can be incorporated into the inverse transform premultiplier. This is a rate scaler operation, a psychological factor weighting operation (generally known as a quantum value), and a debra ring weighting operation are all point multiplication operations.
When b, c, d, and e are outputs of stages B, C, D, and E, respectively,
【数32】 c(i,j) =b(i,j) *q(i,j) d(i,j) =c(i,j) *r(i,j) =b(i,j) *q(i,j) *r(i,j) e(i,j) =d(i,j) *u(i,j) =b(i,j) *q(i,j) *r(i,j) *u(i,j) 又は、C (i, j) = b (i, j) * q (i, j) d (i, j) = c (i, j) * r (i, j) = b (i, j) ) * Q (i, j) * r (i, j) e (i, j) = d (i, j) * u (i, j) = b (i, j) * q (i, j) * r (i, j) * u (i, j) or
【数33】e(i,j) =b(i,j) *all(i,j) で表される。ここで、all(i,j) は[Expression 33] e (i, j) = b (i, j) * all (i, j) Where all (i, j) is
【数34】 all(i,j) =q(i,j) *r(i,j) *u(i,j) である。また、q(i,j) はレート・スケーラであり、r
(i,j) は心理的要因として選択された(又は利用者の選
択した)量子化重みであり、u(i,j) はデブラリング重
みである。同様に、段階H及びIを統合することができ
る。(34) all (i, j) = q (i, j) * r (i, j) * u (i, j). Also, q (i, j) is the rate scaler and r
(i, j) is a quantization weight selected as a psychological factor (or selected by the user), and u (i, j) is a debraling weight. Similarly, stages H and I can be combined.
【0035】これは明らかに、レート・スケーラ、適合
重み付け及びデブラリング関数が余分な計算のオーバー
ヘッド無しで提供されていることを意味している。上述
のように、この方法は、リーのアルゴリズムなどのよう
な「高速」アルゴリズムには適用できない。This clearly means that the rate scaler, adaptive weighting and debraling functions are provided without any extra computational overhead. As mentioned above, this method is not applicable to "fast" algorithms such as Lee's algorithm.
【0036】B] チェンのアルゴリズムは、パラメー
タa,b,c,rにより動作するから、DCTに匹敵す
る品質及び圧縮が得られるが、高速の乗算が行なえるよ
うな値を選択することになる。B] The Chen algorithm operates with the parameters a, b, c and r, so that quality and compression comparable to DCT can be obtained, but a value that allows fast multiplication is selected. .
【0037】以下のパラメータは、DCTのパラメータ
と適度に近似しているが大幅に計算効率が高い。 a=5.0 b=2.5 c=1.5 r=0.75 乗算は、ここで大幅に簡単な算術計算に置換される。例
えば、5倍はcopy;shift-left-2;addになる。1.5倍
はcopy;shift-right-1;addになる。これ以外では、有理
乗数の逆向き分子は結合乗数[q]に因数分解し得る。
よって、2.5倍は各々影響する項と影響しない項で5
倍と2倍の乗算になり得る。The following parameters are reasonably close to the DCT parameters, but the calculation efficiency is significantly high. The a = 5.0 b = 2.5 c = 1.5 r = 0.75 multiplication is now replaced by a much simpler arithmetic calculation. For example, 5 times becomes copy; shift-left-2; add. 1.5 times becomes copy; shift-right-1; add. Otherwise, the inverse numerator of a rational multiplier can be factored into a bond multiplier [q].
Therefore, 2.5 times is 5 in terms of affecting and not affecting.
It can be double and double.
【0038】後者の考え方だと、本来のチェン・アルゴ
リズムにおけるパラメータr=0.75の取扱いは、4の乗
算96回と3の乗算4回を必要とする。2次元実装にお
けるウ・パオリーニの改善では乗算段階全体が排除さ
れ、これは16の乗算36回、12の乗算24回、及び
9の乗算4回となる(逆向き変換では9の乗算36回、
6の乗算24回、4の乗算4回を使用する)。According to the latter concept, the handling of the parameter r = 0.75 in the original Chen algorithm requires 96 multiplications of 4 and 4 multiplications of 3. The improvement of U Paolini in the two-dimensional implementation eliminates the entire multiplication stage, which is 36 multiplications of 16, 24 multiplications of 12, and 4 multiplications of 9 (36 multiplications of 9 in the inverse transform,
6 times 24 times, 4 times 4 times used).
【0039】計算速度のコストについては、コサイン変
換に近いパラメータ値も選択し得る。b=12/5、及び/
又は(and/or) 、r=17/24の置換が可能である。も
う一つの興味深い置換は、 rRow=0.7008333 (17/24) rCol=0.7 (7/10) である。Regarding the cost of calculation speed, a parameter value close to the cosine transform may be selected. b = 12/5, and /
Alternatively (and / or), a substitution of r = 17/24 is possible. Another interesting substitution is rRow = 0.7008333 (17/24) rCol = 0.7 (7/10).
【0040】ここで、わずかに異なる変換(別のパラメ
ータr)を行と列について使用している。ウ・パオリー
ニ法で求まる乗数を単純化するためにこれを行なってい
る。この方法だと、15の乗算36回、85/8の乗算
12回、21/2の乗算12回、119/16の乗算4
回が得られる(逆向き変換では119/16の乗算36
回、85/16の乗算12回、21/4の乗算12回、
15/4の乗算4回を使用する)。Here, a slightly different transformation (another parameter r) is used for rows and columns. This is done to simplify the multipliers obtained by the U-Paolini method. With this method, 15 multiplications 36 times, 85/8 multiplications 12 times, 21/2 multiplications 12 times, 119/16 multiplications 4
Times are obtained (119/16 multiplications 36 in reverse transformation)
Times, 85/16 multiplications 12 times, 21/4 multiplications 12 times,
Use 4 multiplications of 15/4).
【0041】上記で解説した方法では、全ての乗数は圧
縮器(コンプレッサ)における結合乗数[q]と伸長器
(デコンプレッサ)における結合乗数[q]以外で高速
かつ安価となった。これらの各々は変換素子当たり1回
の乗算を要求する。後者は変換係数の大半が“0”とな
るように、また、“0”以外の係数が特別に取扱い得る
“0”に極めて近い整数となるように単純化される。In the method described above, all the multipliers are fast and cheap except for the combination multiplier [q] in the compressor (compressor) and the combination multiplier [q] in the expander (decompressor). Each of these requires one multiplication per conversion element. The latter is simplified so that most of the transform coefficients are "0" and the coefficients other than "0" are integers extremely close to "0" that can be specially handled.
【0042】C] 圧縮器において、さらなる技術を用
いて結合乗数[q]の計算コストを減少する。レート・
スケーラは現実には任意の値であり、[q]行列要素の
計算を単純な値、例えば、2乗とするには2点間で調節
されることになる。これら64個の調節が1回だけ実行
される必要がある(レート・スケーラ及びデブラリング
・フィルタを指定した後)。C] In the compressor, an additional technique is used to reduce the computational cost of the combined multiplier [q]. rate·
The scaler is actually an arbitrary value, and is adjusted between two points to make the calculation of the [q] matrix element a simple value, for example, square. These 64 adjustments need to be performed only once (after specifying the rate scaler and deblurring filter).
【0043】例えば、結合乗数の要素C及びこれに対応
する伸長乗数要素Dが、 C=0.002773 D=0.009367 だったとすると、近似C≒3/1024=0.002930が発見さ
れ、乗算を単純化するために使用される。これにより
C′=3/1024、D′=D*C/C′≒0.008866 とな
る。For example, if the element C of the combination multiplier and the corresponding expansion multiplier element D are C = 0.002773 D = 0.009367, the approximation C≈3 / 1024 = 0.002930 is found, and in order to simplify the multiplication, used. This results in C '= 3/1024 and D' = D * C / C'≈0.008866.
【0044】[0044]
【1次処理の詳細な説明】…注意事項… a) 量子化変換空間においては一定の幅(w)とすべ
き係数量子化「AC」の非0段階をとり、また、幅(w
*q)とすべき0段階をとるのが便利かつ効果的であ
る。さらに、q=2は算術的に便利であり、広範囲の圧
縮因子に渡る品質についてほぼ最適である。説明におい
て、“=2”(「倍幅ゼロ」)をとっているが、本発明
はあらゆる可能なqをとり得る。 b) 以下のアルゴリズムは、高精度計算によって1回
だけ実施されるステップ2,4及び8の中間確定を除
き、精密度の限定されている2の補数の2進整数算術の
ために設計してある。さらにまた、ステップ9.1をさ
らに除外すると、本論に記載した整数乗数はコストと速
度について最適化されている。例えば、以下の乗算 Nrr*Nrc=Drr′*Drc′=1.75*4.25=7.4375 を考えると、同一性7.4375=(8−1)*(1+1/16)を
選択することでシフトと加算による乗算が効率的に行な
われている。 c) デブラリング乗数は、ここではステップ8に示し
てあるが、通常、ステップ4において行なわれるべきも
のである。多くの用途において、伸長器は画像のデブラ
リングを如何に又はどのように行なうべきか否かを「知
らない」。Thr( )の最良の値は、入力装置とデブラ
リング法に依存することに注意されたい。推奨される方
法は、値m(i,j) について(ステップ8参照)、圧縮時
間で計算し(ステップ4参照)、また、圧縮画像の一部
として転送又は保存することである。 d) 後続の計算を並列化、時系列化、又は、断片化す
る幾つかの明確な方法が存在する。所定のハードウェア
構成について好適な方法は自明である。[Detailed Description of Primary Processing] ... Precautions ... a) In the quantization transform space, a non-zero stage of the coefficient quantization “AC” that should have a constant width (w) is taken, and the width (w) is also taken.
It is convenient and effective to take 0 steps, which should be * q). Furthermore, q = 2 is arithmetically convenient and nearly optimal for quality over a wide range of compression factors. Although “= 2” (“double width zero”) is used in the description, the present invention can take any possible q. b) The following algorithm is designed for two's complement binary integer arithmetic with limited precision except for the intermediate determination of steps 2, 4 and 8 which is performed only once by high precision computation. is there. Furthermore, with the further exclusion of step 9.1, the integer multipliers described in this paper are optimized for cost and speed. For example, considering the following multiplication Nrr * Nrc = Drr '* Drc' = 1.75 * 4.25 = 7.4375, by selecting the sameness 7.4375 = (8-1) * (1 + 1/16), the multiplication by shift and addition can be performed. It is done efficiently. c) The debraling multiplier, shown here in step 8, should normally be done in step 4. In many applications, the decompressor "does not know" how or how to deblurr an image. Note that the best value for Thr () depends on the input device and debraling method. The recommended method is to calculate for the value m (i, j) (see step 8) the compression time (see step 4) and transfer or save it as part of the compressed image. d) There are some explicit ways of parallelizing, time-sequencing, or fragmenting subsequent computations. The preferred method for a given hardware configuration is self-evident.
【0045】…疑似符号の実施例… 本出願のこの部分は、基本的に文章と疑似符号で解説し
た本発明の好適実施例である。パラメータ化、前述した
数34と同様の全(i,j) の計算、前向きGCTの本体の
実行、逆方向の全(i,j) の計算、逆GCTの本体の実行
を含む複数の章を有する。Pseudo Code Embodiment ... This part of the application is basically a preferred embodiment of the invention described in the text and pseudo code. Multiple chapters including parametrization, calculation of all (i, j) similar to equation 34 above, execution of forward GCT body, calculation of all backwards (i, j), execution of inverse GCT body Have.
【0046】ステップ1 パラメータa,b,c,rは既に示した通りである。行
と列との双方について、rの値が存在することに注意さ
れたい。2次元GCTは、分離可能な変換であり、2工
程で実行可能だが、対称性をなすように要求する制約は
存在しない。よって、圧縮(スケーリング)要因は、図
示したように非対称性となり得る。Step 1 Parameters a, b, c and r are as described above. Note that there are r values for both rows and columns. The two-dimensional GCT is a separable transform and can be performed in two steps, but there are no constraints that require it to be symmetric. Therefore, the compression (scaling) factor can be asymmetric as shown.
【0047】分子Nと分母Dの均衡は、上記の値に等し
くなり得る分子及び分母の考え得る組合せを示してい
る。GCT実装の設計者は加算回路アレイ中に使用する
実際の値に予知を有している。値の選択は最終的乗算段
階で補正されることになる。The balance of numerator N and denominator D indicates possible combinations of numerator and denominator that can be equal to the above values. Designers of GCT implementations have a clue about the actual values to use in an adder circuit array. The choice of values will be corrected in the final multiplication stage.
【0048】即ち、That is,
【数35】 tan 7*pi/16 ≒a =Na/Da tan 6*pi/16 ≒b =Nb/Db tan 5*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,Nb=3,Nc=1.5,Nrr=1.75,Nrc=4.2
5,Nrr′=1.25,Nrc′=3,Da=1,Db=1.25,
Dc=1,Drr=2.5,Drc=6,Drr′=1.75,Drc′
=4.25 である。Tan 7 * pi / 16 ≈a = Na / Da tan 6 * pi / 16 ≈b = Nb / Db tan 5 * pi / 16 ≈c = Nc / Dc sqrt (0.5) ≈rRow = Nrr / Drr sqrt (0.5) .apprxeq.rCol = Nrc / Drc0.5 / rRow = rRow '= Nrr' / Drr'0.5 / rCol = rCol '= Nrc' / Drc 'are selected as parameters of the generalized Chien transform as described above. The “numerator” N and the “denominator” D do not have to be integers, but are selected for convenience of calculation. Some useful combinations are: Na = 5, Nb = 3, Nc = 1.5, Nrr = 1.75, Nrc = 4.2
5, Nrr ′ = 1.25, Nrc ′ = 3, Da = 1, Db = 1.25,
Dc = 1, Drr = 2.5, Drc = 6, Drr ′ = 1.75, Drc ′
= 4.25.
【0049】また、繰返すが、本発明は上記タンジェン
トへの有理数の近似を全て含むものである。これによ
り、必要とされる標準化圧縮(標準化スケーラ)を計算
する。Again, the present invention includes all rational approximations to the tangent. This calculates the required standardized compression (standardized scaler).
【0050】ステップ2 また、Step 2 In addition,
【数36】 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) とも書き表せる。[Equation 36] U (0) = U (4) = sqrt (0.5) U (1) = U (7) = 1 / sqrt (Na * Na + Da * Da) U (2) = U (6) = 1 / It can also be written as sqrt (Nb * Nb + Db * Db) U (3) = U (5) = 1 / sqrt (Nc * Nc + Dc * Dc).
【0051】ステップ3 iを、(画像空間内の)縦位置、又は、(変換空間内
の)垂直方向の一連の変化を表す{0,1,2,3,
4,5,6,7}のインデックスとする。同様に、j
を、(画像空間内の)横位置又は(変換空間内の)水平
方向の一連の変化を表す{0,1,2,3,4,5,
6,7}のインデックスとする。Debl (i,j) がデブラ
リング係数を表わし、デブラリングしない場合にはDeb
l( )=1とする。Thr(i,j) は、例えばCCITTの
勧告する逆向き心理要因の重み付けを表わす。v(i,j)
は、画像(広がり)空間内の幾つかのルミナンス値を表
わす。L(i,j) は、変換(圧縮)空間内の変換されたル
ミナンス値を表わす。Sは、再生に使用される算術的正
確性を表わす任意の小さな整数とする。Step 3 Let i be a vertical position (in image space) or a series of vertical changes (in transform space) {0, 1, 2, 3, 3.
4, 5, 6, 7}. Similarly, j
, {0, 1, 2, 3, 4, 5, representing a series of lateral positions (in the image space) or horizontal directions (in the transform space).
6, 7} index. Debl (i, j) represents the debraing coefficient, and Deb if deblurring is not performed.
Set l () = 1. Thr (i, j) represents the weighting of the reverse psychological factor recommended by CCITT, for example. v (i, j)
Represents some luminance value in the image (spread) space. L (i, j) represents the transformed luminance value in the transformation (compression) space. Let S be any small integer that represents the arithmetic correctness used in the reproduction.
【0052】心理的要因の重み1/Thr(i,j) は、一般
化チェン変換の各々のパラメータの組について再最適化
を行なう。しかし、ステップ1で与えられているパラメ
ータは、同一の行列式Thr( )が最適なCCITTのパ
ラメータに十分近似している。The psychological factor weight 1 / Thr (i, j) is re-optimized for each parameter set of the generalized Chen transform. However, the parameters given in step 1 are sufficiently close to the optimal CCITT parameters for the same determinant Thr ().
【0053】ステップ4 ここでは、g(i,j) が全ての(i,j) と等しい。変換位置
(i,j) 64ヶ所に渡る反復で、数37を満足するように
k(i,j) 及びs(i,j) を解くと、Step 4 Here, g (i, j) is equal to all (i, j). Conversion position
(i, j) Iterating over 64 places, solving k (i, j) and s (i, j) so as to satisfy Eq.
【数37】 q(i,j)<{M*U(i)*U(j)*2^s(i,j)}/{k(i,j)*Zr(i)*Zc(j)*Thr(i,j)} である。右辺を可能な限りg(i,j) に近付くようにな
し、s(i,j) を整数とすると、ここで、[Formula 37] q (i, j) <{M * U (i) * U (j) * 2 ^ s (i, j)} / {k (i, j) * Zr (i) * Zc (j ) * Thr (i, j)}. Assuming that the right side is as close as possible to g (i, j) and s (i, j) is an integer,
【数38】 q(i,j) =1.0, k(i,j)in{1,3,5,7,9} ただ
し、i+j<4 q(i,j) =0.9, k(i,j)in{1,3,5} ただし、i+
j<4 q(i,j) =0.7, k(i,j)=1 ただし、i+
j<4 Zr(i) =1 (i=0,1,2又は3の時) Zr(i) =Drr, (i=4,5,6又は7の時) Zc(j) =1 (j=0,1,2又は3の時) Zc(j) =Drc (j=4,5,6又は7の時) Zr′(i) =1 (i=0,1,2又は3の時) Zr′(i) =Drr′ (i=4,5,6又は7の時) Zr′(j) =1 (j=0,1,2又は3の時) Zr′(j) =Drr′ (j=4,5,6又は7の時) である。因数g(i,j) は選択した寸法に関係なく量子化
バイアスをなすことを意図している。Q (i, j) = 1.0, k (i, j) in {1,3,5,7,9} where i + j <4 q (i, j) = 0.9, k (i, j ) in {1,3,5} where i +
j <4 q (i, j) = 0.7, k (i, j) = 1, where i +
j <4 Zr (i) = 1 (when i = 0,1,2 or 3) Zr (i) = Drr, (when i = 4,5,6 or 7) Zc (j) = 1 (j = 0, 1, 2 or 3) Zc (j) = Drc (when j = 4, 5, 6 or 7) Zr '(i) = 1 (when i = 0, 1, 2 or 3) Zr '(i) = Drr' (when i = 4,5,6 or 7) Zr '(j) = 1 (when j = 0,1,2 or 3) Zr' (j) = Drr '( j = 4,5,6 or 7). The factor g (i, j) is intended to make the quantization bias independent of the size chosen.
【0054】ステップ5 …前向きGCT(フォワードGCT)の実行…… ステップ5は、前向き変換の疑似符号実行である。以下
のステップでは、断片化フォームにおける2次元変換を
実行する。ルミナンス値v( , ) の8×8ブロック毎に
以下の実行を画像全体に反復する。Step 5 ... Execution of Forward GCT (Forward GCT) ... Step 5 is execution of pseudo-code for forward conversion. The following steps perform a two-dimensional transformation on the fragmented form. The following execution is repeated for the entire image for each 8 × 8 block of the luminance value v (,).
【0055】ステップ5.1 値を準備する。Step 5.1 Prepare the values.
【数39】 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(i,3) − V(i,4) M5(i) = V(i,2) − V(i,5) M6(i) = V(i,1) − V(i,6) ;i=0,1,2,…,7に対する[Equation 39] 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 (i, 3) − V ( i, 4) M5 (i) = V (i, 2) -V (i, 5) M6 (i) = V (i, 1) -V (i, 6); i = 0,1,2, ... , For 7
【0056】ステップ5.2 値を準備する。Step 5.2 Prepare the values.
【数40】 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(4,j) − M(4,j) H5(j) = M(2,j) − M(5,j) H6(j) = M(1,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) ;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 (4, j) − M ( 4, j) H5 (j) = M (2, j) -M (5, j) H6 (j) = M (1, 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); j = 0,1,2 ,,, for 7
【0057】ステップ5.3 各々のH(i,j) を乗算す
る。Step 5.3 Multiply each H (i, j).
【数41】i=0,1,2又は3の時; Nrc (j=5又は6の時) Drc (j=4又は7の時) 1(ノーアクション)(j=0,1,2又は3の時) i=4又は7の時; Drr Nrr (j=5又は6の時) Drr Drc (j=4又は7の時) Drr (j=0,1,2又は3の時) i=5又は6の時; Nrr Nrr (j=5又は6の時) Nrr Drc (j=4又は7の時) Nrr (j=0,1,2又は3の時)When i = 0, 1, 2 or 3, Nrc (when j = 5 or 6) Drc (when j = 4 or 7) 1 (no action) (j = 0, 1, 2 or 3) i = 4 or 7; Drr Nrr (j = 5 or 6) Drr Drc (j = 4 or 7) Drr (j = 0, 1, 2 or 3) i = When 5 or 6; Nrr Nrr (when j = 5 or 6) Nrr Drc (when j = 4 or 7) Nrr (when j = 0, 1, 2 or 3)
【0058】ステップ5.4 値を準備する。Step 5.4 Prepare the values.
【数42】 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(I,j) + H(2,j) E(5,j) = H(6,j) − H(4,j) E(6,j) = H(I,j) − H(2,j) E(7,j) = H(6,j) + H(4,j) 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(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(5,j) ;j=0,1,2,…,7に対する[Equation 42] 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 (I, j) + H ( 2, j) E (5, j) = H (6, j) -H (4, j) E (6, j) = H (I, j) -H (2, j) E (7, j) = H (6, j) + H (4, j) 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 (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 (5, j); j = 0, 1, 2, ...
【0059】ステップ5.5 値を準備する。Step 5.5 Prepare the values.
【数43】 Z(i,0) = F(i,0) + F(i,e) 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(i,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) ;i=0,1,2,…,7に対するZ (i, 0) = F (i, 0) + F (i, e) 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 (i, 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); i = 0, 1, 2, ...
【0060】これ以外でも、変換を1次元変換によって
2工程に分割することが可能である。以下は、1次元変
換経路の一実施例である。図8及び図9にこれらのステ
ップを示す。Besides this, it is possible to divide the conversion into two steps by one-dimensional conversion. The following is an example of a one-dimensional conversion path. These steps are shown in FIGS. 8 and 9.
【0061】[0061]
【数44】 数44に示すこれらの等式の内の全ての乗数は、シフト
及び加算操作により実行されることに注意されたい。こ
れを、GCTの行列形状と関連付けるには、ベクトル点
Y6を実施例のように実証する。[Equation 44] Note that all the multipliers in these equations shown in equation 44 are performed by shift and add operations. To relate this to the GCT matrix shape, vector point Y6 is demonstrated as in the example.
【0062】[0062]
【数45】 Y6=C1−C4 =(1.25 B1) − (3 B4) =1.25(A1−A2) − 3(A4−A3) =1.25((X0+X7) − (X3+X4)) − 3((X1+X6) − (X2+X5)) =1.25 X0−3 X1+3 X2−1.25 X3+1.25 X4+3 X5−3 X6+1.25 X7 Y6/1.25=X0−2.4 X1+2.4 X2−X3+X4+2.4 X5−2.4 X6+X7 =|1 −b b −1 1 b −b 1| x ここで、b=2.4である。これは、等式の行列式Pの
6行目である。1.25による除算はレート・スケーラ
行列中に集められているスケーリング因子である。8×
8画素ブロックの行データはこの加算回路アレイを通過
する。得られた1次元周波数成分は移項され同一のアレ
イを再び通過する。[Equation 45] Y6 = C1-C4 = (1.25 B1)-(3 B4) = 1.25 (A1-A2) -3 (A4-A3) = 1.25 ((X0 + X7)-(X3 + X4))-3 ((X1 + X6) -(X2 + X5)) = 1.25 X0-3 X1 + 3 X2-1.25 X3 + 1.25 X4 + 3 X5-3 X6 + 1.25 X7 Y6 / 1.25 = X0-2.4 X1 + 2.4 X2-X3 + X4 + 2.4 X5-2.4 X6 + X7 = | 1 -b b -11b-b1 | x Here, b = 2.4. This is the sixth row of the determinant P of the equation. The division by 1.25 is a scaling factor collected in the rate scaler matrix. 8x
The row data of the 8-pixel block passes through this adder circuit array. The obtained one-dimensional frequency component is transposed and passes through the same array again.
【0063】ステップ6 ステップ5.5の後、各々の画像の下位ブロックにおい
て、また、64の位置(i,j) 各々について、ステップ4
からk(i,j) 及びs(i,j) を用いて数46に示すような
値を準備する。Step 6 After Step 5.5, in the lower block of each image, and for each of the 64 positions (i, j), Step 4
From k (i, j) and s (i, j), a value as shown in Expression 46 is prepared.
【数46】 L(i,j) =G(i,j) *k(i,j) *2^(-s(i,j)) しかし、これが負の場合(又は、i=j=0)、これに
1を加算する。この結果が変換係数L(i,j) である。L (i, j) = G (i, j) * k (i, j) * 2 ^ (-s (i, j)) However, if this is negative (or i = j = 0) ), And add 1 to this. The result is the conversion coefficient L (i, j).
【0064】…ステップ6についての注釈… ここでの計算は単純で、これは、−k(i,j) が必ず1,
3,5,7又は9、かつ、常に1であるためと、−2^
(-s(i,j)) の乗算が単純に右シフト(又は、Mが極めて
大きく選択されていればおそらく左シフト)であるため
である。数学的右シフトは、必ず、まるめが起こる。0
に向かってのまるめが実際に望ましく、よって、表現
「if (negative) add 1」である。i=j=0の時の1
の加算は、v(i,j) ≧0に依存し、これは、以下のステ
ップ9.1の宣言を単純化するための装置でしかない。Comment on step 6 ... The calculation here is simple, because -k (i, j) is always 1,
3, 5, 7 or 9, and because it is always 1, -2 ^
This is because the multiplication of (-s (i, j)) is simply a right shift (or perhaps a left shift if M is chosen to be very large). A mathematical right shift always causes rounding. 0
Rounding towards is actually desirable, and is thus the expression "if (negative) add 1." 1 when i = j = 0
The addition of p depends on v (i, j) ≧ 0, which is only a device to simplify the declaration of step 9.1 below.
【0065】ステップ7 値L(i,j) の符号化、保存及び/又は送信 最終的にこれらの値が取込まれ画像は次の段階で再生さ
れる。Step 7 Encoding, storing and / or transmitting the values L (i, j) Finally these values are captured and the image is reproduced in the next step.
【0066】ステップ8 これは全(i,j) の反転バージョンである。64ヶ所の変
換位置(i,j) について反復し、m(i,j) をStep 8 This is the inverted version of all (i, j). Iterate for 64 conversion positions (i, j), and m (i, j) is
【数47】 m(i,j) ={U(i)2*U(j)2*Zr(i)*Zc(j)*Debl(i,j)}/(4-S-s(i,j)) Zr′(i)*Zc′(j)*k(i,j)*2 に最も近い整数として解く。ここで、s(i,j) 及びk
(i,j) はステップ4で既に解かれており、表現「Z」は
ステップ4で定義されている。また、A(i,j) をM (i, j) = {U (i) 2 * U (j) 2 * Zr (i) * Zc (j) * Debl (i, j)} / (4-Ss (i, j )) Solve as the integer closest to Zr '(i) * Zc' (j) * k (i, j) * 2. Where s (i, j) and k
(i, j) has already been solved in step 4 and the expression "Z" has been defined in step 4. Also, let A (i, j) be
【数48】 A(0,0) = {(2^(S-2))/Drc′*Drr′}−0.5*m(0,0) A(i,j) =m(i,j)*(25−i−j)/64 ;i=0又はj=0について に最も近い整数として選択する。A (0,0) = {(2 ^ (S-2)) / Drc '* Drr'}-0.5 * m (0,0) A (i, j) = m (i, j) * (25-i-j) / 64; for i = 0 or j = 0, choose as the closest integer to.
【0067】…ステップ8についての注釈… 値m(i,j) は、既にステップ4で予め計算しておき、圧
縮画像と共に送信してもよい。これは、定数項とm(i,
j) にのみ依存するA(i,j) には不要である。レート・
スケーラ及びデブラリング重みが固定されているような
用途において、m(i,j) 及びA(i,j) は定数項と見做さ
れる。係数2^Sはステップ9.2及びステップ10に
おいて、算術的右シフトで、この後除去されることにな
る正確度の剰余ビットを反映する。A(0,0) への調節
は、まるめバイアスを補正して、まるめ補正無しで以下
の出力の使用を可能にする。ここでも述べたように、A
(0,0) はステップ6におけるL(0,0) への1の加算に依
存する。補間“(25−i−j)/64”は発見学習的である
が、自乗平均誤差検出における最適近似値である。さら
に、20に断片化したバージョンである。Comment on step 8 The value m (i, j) may be calculated in advance in step 4 and transmitted together with the compressed image. This is a constant term and m (i,
It is not necessary for A (i, j) which depends only on j). rate·
In applications where the scaler and debraling weights are fixed, m (i, j) and A (i, j) are considered constant terms. The coefficient 2 ^ S is an arithmetic right shift in steps 9.2 and 10 to reflect the remainder bits of accuracy that are to be subsequently removed. Adjustment to A (0,0) corrects the rounding bias and allows the use of the following outputs without rounding correction. As mentioned here, A
(0,0) depends on the addition of 1 to L (0,0) in step 6. The interpolation "(25-i-j) / 64" is a heuristic, but it is an optimum approximation value in the root mean square error detection. Furthermore, it is a fragmented version of 20.
【0068】ステップ9 変換された画像について反復し、上記ステップ5で導い
た変換ルミナンス値L( , ) の8×8ブロック各々につ
いて、以下を実行する。Step 9 Iterate over the transformed image and for each 8 × 8 block of transformed luminance values L (,) derived in step 5 above, do the following:
【0069】ステップ9.1 値を準備する。Step 9.1 Prepare the values.
【数49】 L(i,j) >0の時; 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 ;各々の(i,j) について、i=0,1,2,…,7、 j=0,1,2,…,7に対する A(0,0) は必ず加算されることを意味する。本発明も、
検査“L(0,0) >0”が行なわれず、ステップ6,8が
上記のように(任意で)単純化されない部分を包括して
いる。実際には、小さな乗算、例えば、−11<L(i,
j) <11を乗算の計算費用を節約すべき特例として認
識すべきである。When L (i, j)>0; E (i, j) = L (i, j) * m (i, j) + A (i, j) L (i, j) <0 When; E (i, j) = L (i, j) * m (i, j) -A (i, j) L (i, j) = 0; E (i, j) = 0; For each (i, j), it means that A (0,0) for i = 0,1,2, ..., 7, j = 0,1,2, ..., 7 is always added. The present invention also
The check "L (0,0)>0" is not performed, and steps 6 and 8 encompass the (optionally) non-simplified part as described above. In practice, a small multiplication, for example −11 <L (i,
j) Recognize <11 as a special case that should save the calculation cost of multiplication.
【0070】ステップ9.2 半導体装置の費用を減少
させるために利便であれば、数値E(i,j) を位置S1の
任意の数で右シフトする。これらのシフトは、本法のあ
る種の実現において「自由」であることに注意された
い。シフトが自由ではないような実現方法において、E
(i,j) が0となる場合にこれを無視するように選択して
もよい(又は、S1=0と設定しておくことにより、全
てのシフトを排除するように選択することも可能であ
る。)Step 9.2 If it is convenient to reduce the cost of the semiconductor device, the numerical value E (i, j) is right-shifted by an arbitrary number at the position S1. Note that these shifts are "free" in certain implementations of the method. In the realization method that shift is not free, E
When (i, j) becomes 0, it may be selected so as to be ignored (or, by setting S1 = 0, it is also possible to select so as to eliminate all shifts. is there.)
【0071】ステップ9.3 もう一度、2次元の形状
において値を準備する。Step 9.3 Once again, prepare the values in the two-dimensional shape.
【数50】 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(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(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(7,j) = F(1,j) + F(3,j) ;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 (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 (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 (7, j) = F (1 , j) + F (3, j); for j = 0,1,2, ..., 7
【0072】ステップ9.4 値を準備する。Step 9.4 Prepare the values.
【数51】 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) = Da*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) + G(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,4) − 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) ;i=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) = Da * 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 ) + G (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, 4) -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); for i = 0, 1, 2, ..., 7
【0073】ステップ9.5 各々のM(i,j) を数52
に従い、乗算する。Step 9.5 Calculate each M (i, j) by Equation 52
And multiply according to.
【数52】i=0,2又は3の時; Nrc′ j=5又は6の時 Drc′ j=4又は7の時 1(ノーアクション) j=0,1,2又は3の時 i=4又は7の時; Drr′Nrc′ j=5又は6の時 Drr′Drc′ j=4又は7の時 Drr′ j=0,1,2又は3の時 i=5又は6の時; Nrr′Nrc′ j=5又は6の時 Nrr′Drc′ j=4又は7の時 Nrr′ j=0,1,2又は3の時When i = 0, 2 or 3, Nrc ′ j = 5 or 6 Drc ′ j = 4 or 7 1 (no action) j = 0, 1, 2 or 3 i = When 4 or 7; When Drr'Nrc 'j = 5 or 6 When Drr'Drc' j = 4 or 7 When Drr 'j = 0, 1, 2 or 3 When i = 5 or 6; Nrr When'Nrc 'j = 5 or 6 Nrr'Drc' j = 4 or 7 Nrr 'j = 0, 1, 2 or 3
【0074】ステップ9.6 値を準備する。Step 9.6 Prepare the values.
【数53】 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) ;i=0,1,2,…,7について[Equation 53] 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); For i = 0, 1, 2, ..., 7
【0075】ステップ9.7 値を準備する。Step 9.7 Prepare the value.
【数54】 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) ;j=0,1,2,…,7について[Equation 54] 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); For j = 0, 1, 2, ..., 7
【0076】ステップ10 ステップ9.7の後、各々の画像の下位ブロックにおい
て64ヶ所の位置(i,j) の各々に対し、値を準備する。Step 10 After step 9.7, a value is prepared for each of the 64 positions (i, j) in the lower block of each image.
【数55】V(i,j) = Y(i,j) *2^(S1-S) ここで、S及びS1は上記ステップ7,9.2で定義し
た任意の整数である。また、乗算は実際には右シフトで
ある。V (i, j) = Y (i, j) * 2 ^ (S1-S) where S and S1 are arbitrary integers defined in steps 7 and 9.2 above. Also, the multiplication is actually a right shift.
【0077】ステップ11 実現するシステムにより変化するが、範囲の検証を実行
することが、ここで必要とされることがある。例えば、
ルミナンスの許容範囲が0≦v(i,j) ≦255であれ
ば0以下又は255以上のV(i,j) の値は各々0と25
5で置き換えることになる。値v(i,j) は、これで再生
された画像ルミナンス値となる。Step 11 Depending on the system implemented, it may now be necessary to perform range verification. For example,
If the allowable range of luminance is 0 ≦ v (i, j) ≦ 255, the values of V (i, j) of 0 or less or 255 or more are 0 and 25, respectively.
Will be replaced by 5. The value v (i, j) becomes the image luminance value reproduced by this.
【0078】[0078]
【2次処理についての考察】画像の圧縮又は品質を向上
させるために、さらなる方法をとり、1次処理を補足す
るのが通例である。ステップ10の後、画像の正確性
は、全ての画素の対V(8I+7,j)、V(8I+8,j)、及び、全
ての画素の対V(k,8J+7)、V(i,8J+8)(つまり、別の画
像ブロック内に分割されていた隣接画素)を通しての反
復により、また、例えば、Mをステップ4で用いたレー
ト・スケーラとし、分数表現が最適化に好適な近似でも
あるような(v2−v1)/max(2,11sqrt(M))
によって、これらの値v1,v2を各々増加させまた減
少させることにより改善し得る。Consideration of Secondary Processing It is customary to take further measures and supplement the primary processing to improve the compression or quality of the image. After step 10, the accuracy of the image is determined by all pixel pairs V (8I + 7, j), V (8I + 8, j), and all pixel pairs V (k, 8J + 7), Iterating through V (i, 8J + 8) (ie, adjacent pixels that had been split into another image block), and also, for example, M being the rate scaler used in step 4, optimizes the fractional representation. (V2-v1) / max (2,11sqrt (M)) which is also a suitable approximation to
Can be improved by increasing and decreasing these values v1 and v2, respectively.
【0079】ステップ6を実行する前に、局部画像領域
の客観的難易度を、接頭符号“0”,“10”又は“1
1”の出力を各々に付けた3つの形式、単精度、倍精
度、4倍精度の一つに分類するのが望ましい。ステップ
6の計算は次式で置換される。Before performing step 6, the objective difficulty of the local image area is set to the prefix "0", "10" or "1".
It is preferable to classify the output of "1" into one of three formats, single precision, double precision and quadruple precision, each of which is attached to each output. The calculation in step 6 is replaced by the following equation.
【数56】 L(i,j) = G(i,j)*K(i,j)^(P-s(i,j))*2 ここで、単精度、倍精度、4倍精度の各々について、p
=0,1又は2である。これは、付加精度が(増分の)
右シフトで排除される必要のあるステップ9.2におい
て補償される。L (i, j) = G (i, j) * K (i, j) ^ (Ps (i, j)) * 2 where single precision, double precision, and double precision , P
= 0, 1 or 2. It has additional precision (incremental)
Compensated in step 9.2, which needs to be eliminated on the right shift.
【0080】残念なことに極めて有効な単一の分類方式
は発見されていない。現在のところ難易度Pを次の4つ
の供給源 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 width(Histogram(v(i,
j)))) の均一性 から導出するような厄介な手段を用いている。Unfortunately, no very effective single classification scheme has been found. At present, the difficulty level P is the following four sources a) The difficulty level of the image area where P left and P up are adjacent b) sum (i + j) G (i, j) ′ 2) / sum (G ( i, j) ′ 2 is the distortion of the conversion energy c) −G (0,0) is the inverted mean luminance d) max (sum over fixed width (Histogram (v (i,
j)))) is used as a troublesome method.
【0081】ステップ7において、保存するか転送すべ
き変換データL( , ) は、さらにエントロピー符号化法
により減少することができる。ビット率に従って幾つか
の初期設定ホフマン・テーブルにCCITTの作成した
ジグザグ・ラン及びテンプレート符号(zigzag run and
template符号) を使用しており、また、推奨するもの
である。確定性については、以下の章でこれの実施例を
詳細に述べる。In step 7, the transformed data L (,) to be stored or transferred can be further reduced by entropy coding. CCITT created zigzag run and template codes on some default Hoffman tables according to bit rate.
(template code) is used and is recommended. For determinism, examples of this will be described in detail in the following sections.
【0082】…圧縮ファイルフォーマットの例… 圧縮された画像は、次のように表現される。 1)接頭辞(画像幅、高さ、レート・スケーラMなど) 2)画素ブロック0 画素ブロック1 画素ブロック2 … 画素ブロックN−1 3)接尾辞(あれば)Example of compressed file format: A compressed image is expressed as follows. 1) Prefix (image width, height, rate scaler M, etc.) 2) Pixel block 0 Pixel block 1 Pixel block 2 ... Pixel block N-1 3) Suffix (if any)
【0083】ここで、各々の画素ブロックは次のように
表現される。 1)精度符号(選択段階Zで決定する) 2)DC係数デルタ符号 3)AC係数符号(0又はそれ以上の回数反復) 4)ブロック終端符号Here, each pixel block is expressed as follows. 1) Precision code (determined in the selection stage Z) 2) DC coefficient delta code 3) AC coefficient code (0 or more iterations) 4) Block termination code
【0084】ここで、各々のAC係数符号は次のように
表現される。 1)9桁の0の拡張子(E回反復、E0) 2)ラン及びテンプレート符号の記述(R,T) 3)係数値符号(1ビット) 4)最上位ビットを削除した係数の絶対値(Tビット)Here, each AC coefficient code is expressed as follows. 1) 9-digit 0 extension (E times repeated, E0) 2) Run and template code description (R, T) 3) Coefficient value code (1 bit) 4) Absolute value of coefficient with the most significant bit removed (T bit)
【0085】ここで、“R+(*E”は「ジグザグ」な
順番でこれに先行する0値の係数の数、また、Tは係数
の絶対値の最上位ビットのビット位置で、例えば、T=
3なら係数は11又は−11である。 ビット位置:876543210 11=000001011(2進) −−最上位ビットHere, "R + (* E" is the number of zero-valued coefficients preceding this in a "zigzag" order, and T is the bit position of the most significant bit of the absolute value of the coefficient, for example, T =
If 3, the coefficient is 11 or -11. Bit position: 876543210 11 = 000001011 (binary) --- most significant bit
【0086】DC係数デルタの選択又は符号化は詳述し
ないが、ACラン及びテンプレート(run and templat
e)符号としてもっと高いビット率で有用なホフマン符
号の例を下記に提示しておく。 なお、{0} はn個の連続する0(n=0,1,2,
3,…)、xxはw=0,1,2又は3として解釈され
る2ビット、xはw=0又は1として解釈される1ビッ
トである。The selection or encoding of the DC coefficient delta will not be detailed, but it will be the AC run and template.
e) An example of a Hoffman code useful as a code at a higher bit rate is presented below. Note that {0} is n consecutive 0s (n = 0, 1, 2,
, ...), where xx is 2 bits interpreted as w = 0, 1, 2 or 3 and x is 1 bit interpreted as w = 0 or 1.
【0087】…128点及び256点変換… 前記の方法は、さらに大きな8×16又は16×16の
一般化チェン変換で使用可能である。さらに、一般化し
たチェン変換についての方法は、1次元16点GCT
が、次式のように与えられると記述することで明確にな
る筈である(「バタフライ順列」の行を伴い標準化後乗
算の必要がない)。128-point and 256-point transforms ... The above method can be used with larger 8 × 16 or 16 × 16 generalized chain transforms. Furthermore, the generalized method for the Chien transform is a one-dimensional 16-point GCT.
However, it should be clear by describing that it is given by the following equation (there is no need for post-standardization multiplication accompanied by the row of "butterfly permutation").
【0088】[0088]
【数57】 [Equation 57]
【0089】ここで、GCT 8(a,b,c,r),G
Q 8(e,f,g,h,r,s,t)は、数58に示さ
れる。Here, GCT 8 (a, b, c, r), G
Q 8 (e, f, g, h, r, s, t) is shown in Equation 58.
【数58】 [Equation 58]
【0090】さらに、「真のコサイン」パラメータは、
次式で示される。Furthermore, the "true cosine" parameter is
It is shown by the following formula.
【数59】 q= tan 15pi/32 ≒ 10.1532 a= tan 14pi/32 ≒ 5.0273 f= tan 13pi/32 ≒ 3.2966 b= tan 12pi/32 ≒ 2.4142 g= tan 11pi/32 ≒ 1.8709 c= tan 10pi/32 ≒ 1.4966 h= tan 9pi/32 ≒ 1.2185 r= cos 8pi/32 ≒ 0.7071 t= cos 12pi/32 ≒ 0.3827 s= cos 4pi/32 = t*bQ = tan 15 pi / 32 ≈ 10.1532 a = tan 14 pi / 32 ≈ 5.0273 f = tan 13 pi / 32 ≈ 3.2966 b = tan 12 pi / 32 ≈ 2.4142 g = tan 11 pi / 32 ≈ 1.8709 c = tan 10 pi / 32 ≈ 1.4966 h = tan 9pi / 32 ≈ 1.2185 r = cos 8pi / 32 ≈ 0.7071 t = cos 12pi / 32 ≈ 0.3827 s = cos 4pi / 32 = t * b
【0091】使用しているパラメータは、次式の通りで
ある。The parameters used are as follows:
【数60】 e=10 a=5 f=3.25 b=2.4 g=1.875 c=1.5 h=1.25 r=17/240.708333 t=5/13 ≒ 0.384615 s=t*b=12/13 GQ 8(e,f,g,h,r,s,t)の反転は、GQ
8(e,f,g,h,1/2r,t′,b,t′)の移項
である。[Equation 60] e = 10 a = 5 f = 3.25 b = 2.4 g = 1.875 c = 1.5 h = 1.25 r = 17 / 240.708333 t = 5/13 ≈ 0.384615 s = t * b = 12/13 GQ 8 (e , F, g, h, r, s, t) is the inverse of GQ
8 (e, f, g, h, 1 / 2r, t ', b, t').
【0092】ここで、Here,
【数61】 b=s/t t′=1/(t+t*b*b) である。B = s / t t ′ = 1 / (t + t * b * b).
【0093】…行列式の例… 行列式TPの移項 コサイン変換(a=5.02734,b=2.41421,c=1.4966
1,r=0.70711)[Example of determinant ...] Transposition of determinant TP Cosine transform (a = 5.02734, b = 2.41421, c = 1.4966
1, r = 0.70711)
【数62】 0.1768 0.1768 0.1768 0.1768 0.1768 0.1768 0.1768 0.1768 0.2452 0.2079 0.1389 0.0488 -0.0488 -0.1389 -0.2079 -0.2452 0.2310 0.0957 -0.0957 -0.2310 -0.2310 -0.0957 0.0957 0.2310 0.2070 -0.0488 -0.2452 -0.1389 0.1389 0.2452 0.0488 -0.2079 0.1768 -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.2452 -0.2079 0.1389(Expression 62) 0.1768 0.1768 0.1768 0.1768 0.1768 0.1768 0.1768 0.1768 0.2452 0.2079 0.1389 0.0488 -0.0488 -0.1389 -0.2079 -0.2452 0.2310 0.0957 -0.0957 -0.2310 -0.2310 -0.0957 0.0957 0.2310 0.2070 -0.0488 -0.2452 -0.1389 0.1389 0.2452 0.0488 -0.2079 0.1768- 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.2452 -0.2079 0.1389
【0094】関連チェン変換(a=5.0、b=2.4、c=
1.5、r=0.7)Associated Chain Transform (a = 5.0, b = 2.4, c =
1.5, r = 0.7)
【数63】 0.1768 0.1768 0.1768 0.1768 0.1768 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(Equation 63) 0.1768 0.1768 0.1768 0.1768 0.1768 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
【0095】[0095]
【装置の詳細な説明】本発明についての詳細な説明を提
供したので、本発明の態様を具体化する装置について解
説する。以下の説明を通して、「点(point) 」は任意
の精度のスケーラ・レジスタ又はデータ経路を表わし、
通常、8ないし12ビットである。適切な精度を決定す
るための方法は公知である(文献“ジャラリ及びラオ.
「制限つきワード長とFDCT処理の正確性」IEEE ASS
P-81、第3巻ページ1180〜2”参照)。Detailed Description of the Apparatus Having provided a detailed description of the present invention, an apparatus embodying aspects of the present invention will be described. Throughout the following discussion, "point" represents a scaler register or datapath of arbitrary precision,
Usually 8 to 12 bits. Methods for determining the appropriate precision are known (reference "Jalari and Lao.
"Limited word length and accuracy of FDCT processing" IEEE ASS
See P-81, Volume 3, pages 1180-2 ").
【0096】ソフトウェアによる方法において、変換段
は統合されウ・パオリーニ拡張が採用された。好適実施
例の半導体装置では、単に8点変換装置を垂直方向及び
水平方向の検出に一つずつ2台提供するのが最も便利で
ある。垂直方向及び水平方向の変換の間で64点シフト
アレイを提供する必要があり、同様に変換部と符号化部
の間に緩衝装置を提供する必要がある。In the software method, the conversion stages were integrated and the U. Paolini extension was adopted. In the semiconductor device of the preferred embodiment, it is most convenient to simply provide two 8-point converters, one for vertical and one for horizontal detection. It is necessary to provide a 64-point shift array between the vertical and horizontal transforms, as well as a buffer between the transform and the encoder.
【0097】本発明は、白黒用装置、及び/又は、圧縮
と伸長のための別個の装置を含むが、好適実施例(図
7)は3原色データを操作するコンプレッサ(画像デー
タ圧縮装置…図1(a))とデコンプレッサ(画像データ
伸長装置…図1(b))の両方を含んでいる。Although the present invention includes a black and white device and / or separate devices for compression and decompression, the preferred embodiment (FIG. 7) is a compressor (image data compression device ... 1 (a)) and a decompressor (image data decompression device ... Fig. 1 (b)).
【0098】データは8画素のベクトルでコンプレッサ
へ収容され(図2(a)参照)、これがさらに辞書の順
序で64画素のブロックに配置される。ブロックの処理
はパイプライン化されている(図2(b))。コンプレッ
サへの画素入力は、“R”(赤)と“G”(緑)と
“B”(青)よりなる。これらはルミナンス・クロミナ
ンス空間にすぐに変換される(このような変換の理由は
周知である)。The data is stored in the compressor in a vector of 8 pixels (see FIG. 2A), which is further arranged in a block of 64 pixels in the order of the dictionary. The block processing is pipelined (FIG. 2 (b)). Pixel input to the compressor consists of "R" (red), "G" (green) and "B" (blue). These are immediately transformed into luminance-chrominance space (the reasons for such transformations are well known).
【0099】変換は、任意の固定又はプログラム可能な
係数(図3(a))を使用でき、又は、専用の用途で簡単
な値に「ハードワイヤ結線」しておくことも可能であ
る。変換空間は、ここではXYZで表記しているが、3
原色入力のあらゆる線形フォームを使用してもよく、C
CITT規格の(Y,R−Y,B−Y)もあり得る。実
際に、X,Y,Zの3つの値は、各々別個の白黒コンプ
レッサに供給される。デコンプレッサは図3と同一又は
同等の回路を使用するが、XYZベクトルが、ここでは
RGBベクトルに変換される点で異なっている。The transformation can use any fixed or programmable coefficient (FIG. 3 (a)), or it can be "hardwired" to simple values for dedicated applications. The conversion space is represented by XYZ here, but 3
Any linear form of primary color input may be used, C
The CITT standard (Y, RY, BY) is also possible. In fact, the three values of X, Y, Z are each fed to a separate black and white compressor. The decompressor uses the same or equivalent circuitry as in FIG. 3, but differs in that the XYZ vectors are now converted to RGB vectors.
【0100】値Y,X,Zは3つのシフトレジスタへ入
力されて(図5参照)、第1の変換ユニットへの供給に
待機する。変換ユニットは、(2+2/3)画素倍だけ
動作するので、データの幾らかは、図示したように遅延
されることになる。表示“XYZ”は不適切ビットであ
る。最適化した符号化方式はルミナンス(“Y”)を第
1に処理する必要がある。The values Y, X, Z are input to the three shift registers (see FIG. 5) and await supply to the first conversion unit. Since the transform unit operates by (2 + 2/3) pixel times, some of the data will be delayed as shown. The indication "XYZ" is an incorrect bit. The optimized coding scheme requires the luminance ("Y") to be processed first.
【0101】伸長処理中、XYZ歪曲(スキュー)の問
題は反転する。レジスタの5点が伸長中のY及びZシフ
トレジスタの使用を反転することで、好適実施例におい
て節約されていることに注意されたい。During the decompression process, the XYZ distortion problem is reversed. Note that 5 points of the register are saved in the preferred embodiment by inverting the use of the Y and Z shift registers during decompression.
【0102】図1(a)を参照すると、コンプレッサの
主要部分は入力をXYZ空間に変換し、これを後続の変
換ユニット3への転送のために緩衝する入力部分1,2
を含む。各8画素の区間について変換1ユニットは3倍
のサイクルを行なう(X,Y,Zのデータ各々について
1回ずつ)。変換1の出力はシフトアレイ4に配置さ
れ、ここで、8×8画素ブロックが完全に読取られるま
で保持される。変換2ユニット5,6は予め読取った画
素ブロックを操作し、各々の8画素ブロックの区間で3
倍のサイクルを行ない、データを符号化回路入力バッフ
ァ7,8へ提供する。符号化回路9,10,11は、ま
た、3原色座標の間で共有されているが、全ルミナンス
ブロックは割込みなしに符号化され、クロミナンスブロ
ックの各々が後続する。これら3ブロックの処理が64
画素区間内に完了し得ない場合、タイミング兼制御論理
回路は外部入力回路に対し画素クロックを保持したまま
にする。記憶領域(入力シフトレジスタ2、シフトアレ
イ4、及び符号化回路入力バッファ7,8)は3原色の
ために3組作られる必要があるが、計算ユニット3,
5,6,9,10,11はY,X,Zのデータの間で共
有(時分割)される。Referring to FIG. 1 (a), the main part of the compressor transforms its input into XYZ space and buffers it for transfer to a subsequent transformation unit 3.
including. The conversion 1 unit performs a triple cycle for each section of 8 pixels (once for each of the X, Y, and Z data). The output of transform 1 is placed in shift array 4, where it is held until the 8x8 pixel block is completely read. The conversion 2 units 5 and 6 operate the pre-read pixel block, and each of the 8 pixel block sections has 3 units.
Double the cycle and provide the data to the encoder input buffers 7, 8. The coding circuits 9, 10, 11 are also shared between the three primary color coordinates, but the entire luminance block is coded without interruption, followed by each of the chrominance blocks. The processing of these 3 blocks is 64
If it cannot be completed within the pixel interval, the timing and control logic circuit holds the pixel clock to the external input circuit. The storage areas (the input shift register 2, the shift array 4, and the encoding circuit input buffers 7 and 8) need to be made in three sets for the three primary colors.
5, 6, 9, 10, and 11 are shared (time division) among Y, X, and Z data.
【0103】符号化回路9,10,11、符号化回路入
力バッファ7,8、符号プログラミング12,13,1
4及びタイミング兼制御論理回路(図示せず)は、従来
技術又は従来法を踏襲してもよい。同様に、3原色を単
一回路によって時分割するための方法も周知である。3
点変換部1(図3参照)及びシフトレジスタ2(図5参
照)もまた公知である。Encoding circuits 9, 10, 11, encoding circuit input buffers 7, 8, code programming 12, 13, 1.
4 and the timing and control logic (not shown) may follow conventional techniques or methods. Similarly, methods for time-sharing the three primary colors with a single circuit are also well known. Three
The point converter 1 (see FIG. 3) and the shift register 2 (see FIG. 5) are also known.
【0104】スケーラ6(図1)は、以下に説明する本
発明の量子化乗算器を使用する。これは簡便な実現であ
る。一般化チェン変換の定義と適切なパラメータを与え
れば、8点変換回路(図8及び図9参照)もまた簡便で
ある。シフトアレイ(図6(a))は、特に議論に値す
る。現在の入力ブロックから垂直方向のベクトル(に変
換されたベクトル)は、直前の画素ブロックからの水平
方向のベクトルが水平方向変換回路へ供給される間に組
立てられる。特別な設計なしで128個のレジスタが必
要とされ(現在のブロックと直前のブロックに各々64
個ずつ)るのは、点が受信した順序とは異なる順序で使
用されるためである。しかし、この必要性は偶数番号の
画素ブロックの間にデータを左から右へシフトし奇数番
号の画素ブロックの間に上から下へシフトすることによ
り排除される。解説したシフトアレイは双方向性であ
る。4方向性シフトアレイがある種の実施例では好適で
ある。The scaler 6 (FIG. 1) uses the quantisation multiplier of the present invention described below. This is a simple realization. The 8-point conversion circuit (see FIGS. 8 and 9) is also simple, given the definition of the generalized Cheng conversion and appropriate parameters. The shift array (FIG. 6 (a)) deserves special discussion. The vertical vector (converted to) from the current input block is assembled while the horizontal vector from the previous pixel block is supplied to the horizontal conversion circuit. 128 registers are required without special design (64 blocks each for the current block and the previous block)
This is because the points are used in a different order than they were received. However, this need is eliminated by shifting data from left to right during even numbered pixel blocks and from top to bottom during odd numbered pixel blocks. The described shift array is bidirectional. A four-way shift array is preferred in certain embodiments.
【0105】図6(b)は、同図(a)のシフトアレイ
の態様をさらに詳細に図示している。同図(b)におい
て、ベクトルは底部でシフトアレイから一つずつ除去さ
れ、同図(a)の8点DCT5部分へ送出される。その
間に、他の8点DCT部分からの垂直方向ベクトルが上
部でシフトアレイに入力されている。段階的に古いベク
トルがシフトアレイから除去され、シフトアレイは次の
画素ブロックからの垂直方向ベクトルで完全に埋められ
る。FIG. 6B shows the mode of the shift array of FIG. 6A in more detail. In the figure (b), the vectors are removed one by one from the shift array at the bottom and sent to the 8-point DCT5 part of the figure (a). Meanwhile, the vertical vector from the other 8-point DCT portion is input to the shift array at the top. Gradually the old vector is removed from the shift array and the shift array is completely filled with vertical vectors from the next block of pixels.
【0106】次の画素ブロックで、データの流れる方向
は直前の画素ブロックのデータの流れの方向とは90度
異なる。この方法で、水平方向ベクトルはシフトアレイ
の右から除去されて8点DCTへ送出され、新しく垂直
方向ベクトルが左から入ってくる。ブロック(N+2)
まで進むと、別の90度回転により元の形態に戻り、さ
らにこれが続く。In the next pixel block, the data flow direction is different from the data flow direction of the immediately previous pixel block by 90 degrees. In this way, the horizontal vector is removed from the right of the shift array and sent to the 8-point DCT, with the new vertical vector coming in from the left. Block (N + 2)
Another 90 degree rotation returns to the original form, and so on.
【0107】デコンプレッサ(図1(b)参照)は、同
図(a)に示すコンプレッサと極めて類似した構造を有
しているが、データの流れる方向が逆である点で異な
る。好適実施例では、単一の装置がコンプレッサ又はデ
コンプレッサの何れかの2つのモードで動作する。The decompressor (see FIG. 1B) has a structure very similar to that of the compressor shown in FIG. 1A, but is different in that the data flow direction is opposite. In the preferred embodiment, a single device operates in two modes, either compressor or decompressor.
【0108】可能なVLSIの配置は(図4参照)、圧
縮(図4(b)(c))と伸長(図4(e)(f))で異なるデ
ータの流れとなる。これ以外のデータの流れも、以下の
章で詳述するパイプライン化した実現方法などで可能で
ある。変換及びシフトアレイユニットの動作は、一方の
配置では圧縮と伸長の両方について同一の方向的意味を
有するが、他方ではそうではない(図4(a)参照)。
これは、統合されたコンプレッサ/デコンプレッサのデ
ータ流れ(図7)を考えた場合に、一層明確に分かる。
2つの変換ユニットがRGB及び圧縮データ各々に関与
している場合(図4(a))、4方向シフトアレイを使用
しない限り配置の困難は解決されない。従って、2つの
変換ユニットを各々シフトアレイの入力及び出力部分に
関連させている(図4(d))。Possible VLSI arrangements (see FIG. 4) have different data flows for compression (FIGS. 4 (b) (c)) and expansion (FIGS. 4 (e) (f)). Other data flows are possible with the pipelined implementation method described in detail in the following chapters. The operation of the transform and shift array units has the same directional meaning for both compression and decompression in one arrangement, but not in the other (see Figure 4 (a)).
This is more clearly seen when considering the integrated compressor / decompressor data flow (FIG. 7).
If two transform units are involved in each of the RGB and compressed data (Fig. 4 (a)), the placement difficulty will not be resolved unless a four-way shift array is used. Therefore, two conversion units are respectively associated with the input and output parts of the shift array (FIG. 4 (d)).
【0109】一つの実施例において、コンプレッサ中の
変換ユニット(図8参照)は、38個の加算器を用いて
いる。右に1つ(“R1”)、2つ(“R2”)、又は
4つ(“R4”)位置をシフトするか左に1つ(“L
1”)位置をシフトするのは簡単に行なえる。図示した
回路はパラメータ(a,b,c,r)=(5,2.4,1.5,17/24)を
用いている。b=2.5とした実現方法では、もう一つ
の実施例において36個の加算器しか必要としなかっ
た。In one embodiment, the conversion unit in the compressor (see FIG. 8) uses 38 adders. Shift one ("R1"), two ("R2"), or four ("R4") positions to the right or one to the left ("L1")
It is easy to shift the 1 ") position. The circuit shown uses the parameters (a, b, c, r) = (5,2.4,1.5,17 / 24). B = 2.5. In the implementation method described above, only 36 adders were required in the other embodiment.
【0110】デコンプレッサの逆向き変換ユニットには
付随回路が必要である。「出力イネーブル」信号の注意
深い使用により、前向き変換回路中の大半の加算器は再
利用することが可能である。これの実現は当業者には容
易であろう。スケーラは、プログラムされたRAM又は
ROM、及び無条件シフトとマルチプレクサと加算回路
のシステムを使用する。これは簡便な実現である。デス
ケーラは、各種の方法で実現可能だが、小さなハードワ
イヤ結線したRAM付き乗算器と、アキュムレータと、
タイミング兼制御論理回路及び小さなテンプレートカッ
トオフが望ましい。専用の低コスト用途において、デス
ケーラはデブラリング重みが広い範囲に渡ってほぼ最適
であることに注意して単純化することが可能である。従
って、単純なスケーリングをスケーラ内に使用すること
が可能である。デスケーラは、図1(b)及び図7に図
示してあるように、符号化回路とその出力バッファの
間、又は出力バッファと変換回路の間の何れかに配置す
ることができる。符号化回路入力バッファは各種の方法
で実現可能で、シフトアレイと同様のサイクル共有レジ
スタ縮小構成を含む。より簡便な設計では、384×1
0ビットRAMに64×7ビットROMを使用してRA
Mアドレスを提供している。An associated circuit is required in the inverse transform unit of the decompressor. By careful use of the "output enable" signal, most adders in the forward transform circuit can be reused. Implementation of this would be easy for a person skilled in the art. The scaler uses a programmed RAM or ROM and a system of unconditional shift, multiplexer and adder circuits. This is a simple realization. Descaler can be realized by various methods, but a multiplier with RAM connected to a small hard wire, an accumulator,
Timing and control logic and a small template cutoff are desirable. In dedicated low cost applications, the descaler can be simplified by noting that the debra ring weights are nearly optimal over a wide range. Therefore, simple scaling can be used in the scaler. The descaler can be placed either between the encoding circuit and its output buffer, or between the output buffer and the conversion circuit, as shown in FIGS. 1 (b) and 7. The encoding circuit input buffer can be implemented in various ways and includes a cycle sharing register reduction arrangement similar to a shift array. 384 x 1 for a simpler design
RA using 64x7 bit ROM for 0 bit RAM
Provides M address.
【0111】動作サイクルの例を図1(a)及び同図
(b)との関連で解説する。同図(a)において、デー
タは3原色情報、赤、緑、青としてコンプレッサに入力
される。これは、すぐにXYZと呼ばれる代替空間に変
換される。3つの要素X,Y,Zは各々のシフトレジス
タへ入力される。シフトレジスタ(ステップ2)からこ
れらは8点DCTユニットへ進む。X,Y,Zの3原色
の間で多重使用される8点DCTユニット1個か、又は
個々に独立した8点DCTユニットを各々が有するか、
の何れかが有り得る。情報は64点シフトアレイ4へ入
力される。各色について個別のシフトアレイが存在す
る。情報はブロック4のシフトアレイから、ブロック3
と同様のブロック5の別のDCTユニットへ進む。情報
はここで圧縮され、これが加算されたシフトのさらなる
層となる。情報は水平方向及び垂直方向の双方にだけ変
換される。シフトアレイはデータを90度実際に概念的
に回転させ、これが他の方向に変換できるようになす。
データの圧縮後、データはブロック7,8で示される
(Z1及びZ2)別のバッファへ進み、最終的に符号化
されてチップから出力されるようにデータが保持される
(Z1及びZ2は等しくジグザグである)。An example of the operation cycle will be described in relation to FIG. 1 (a) and FIG. 1 (b). In the same figure (a), the data is input to the compressor as three primary color information, red, green and blue. It is immediately transformed into an alternative space called XYZ. The three elements X, Y, Z are input to each shift register. From the shift register (step 2) these go to the 8-point DCT unit. One 8-point DCT unit multiplexed between the three primary colors X, Y, Z, or each having an independent 8-point DCT unit,
Either of them can be. Information is input to the 64-point shift array 4. There is a separate shift array for each color. Information is transferred from block 4 shift array to block 3
Proceed to another DCT unit in block 5, similar to. The information is compressed here, which is the further layer of the added shift. Information is transformed only in both horizontal and vertical directions. The shift array actually rotates the data 90 degrees conceptually, allowing it to be translated in the other direction.
After compression of the data, the data goes to another buffer (Z1 and Z2) indicated by blocks 7 and 8 where the data is held so that it is finally encoded and output from the chip (Z1 and Z2 are equal). It is zigzag).
【0112】概念的には、これはブロック4のシフトア
レイと同様でデータが90度回転されていない点で異な
っている。その代り、従来からこれらのことに用いられ
ておりCCITT規格で使用されているジグザグの順序
に変更されている。情報はブロック9のラン及びテンプ
レート制御ユニットに渡され、ここで、0を検出して0
のランを生成し、非0を検出して値の対数値の推定値を
検出する。これは、テンプレートと呼ばれる。ランとテ
ンプレートの組合せは、RT符号と呼ばれて、RAM又
はROM内に参照され、これがチップから出力される。Conceptually, this is similar to the shift array of block 4 except that the data is not rotated 90 degrees. Instead, the zigzag order used in the CCITT standard has been changed in the related art. The information is passed to the run and template control unit of block 9 where 0 is detected and 0
, Run non-zero and detect the log-valued estimate of the value. This is called a template. The combination of run and template, referred to as the RT code, is referenced in RAM or ROM and is output from the chip.
【0113】変換係数の上位ビットである仮数部もチッ
プから出力される。仮数部及びランとテンプレート符号
は任意の長さ、1ビット、2ビットなどで良く、チップ
からの出力は必ず16ビット又は8ビット、32ビット
などとなるため、ブロック11(整列)がこれを容易に
する。The mantissa part, which is the upper bit of the transform coefficient, is also output from the chip. The mantissa part, the run, and the template code may be of any length, 1 bit, 2 bits, etc., and the output from the chip is always 16 bits, 8 bits, 32 bits, etc., so block 11 (alignment) facilitates this. To
【0114】図1(a)に図示したその他のブロック
(任意)のプログラミングブロック12,13は、各々
任意のRGBをXYZ変換、任意のレート・スケーラ及
び心理要因の重み、及びランとテンプレート用の任意の
修正ホフマン符号に設定できる。The programming blocks 12 and 13 of the other blocks (arbitrary) shown in FIG. 1A are for XYZ conversion of arbitrary RGB, arbitrary weights of rate scaler and psychological factor, and runs and templates. It can be set to any modified Hoffman code.
【0115】図1(b)は同図(a)と極めて類似して
いる。ランとテンプレート符号はここではランとテンプ
レートの組合せに復号される必要があり、必要な数の0
が無視されねばならない。FIG. 1B is very similar to FIG. The run and template codes now have to be decoded into a combination of run and template, with the required number of 0's.
Must be ignored.
【0116】図1(a)において、スケーラ7は加算回
路とシフト回路の単純アレイである。同図(b)におい
て、デスケーラ15は極めて小さいハードウェアの乗算
器として実現されている。In FIG. 1A, the scaler 7 is a simple array of adder circuits and shift circuits. In the figure (b), the descaler 15 is realized as a multiplier of extremely small hardware.
【0117】図10は2次元一般化チェン変換の非パイ
プライン化実装の略図を示す。パイプライン化実装は後
章で解説する。画素は上部から入り、通常8ビット幅で
ある。画素は標準128ビットのデータ幅で水平方向の
変換回路10内の広い加算回路のアレイを通過する。水
平方向の変換回路からの出力は移項用RAM12を通過
して水平方向から垂直方向へ情報を回転する。データは
次にこれも加算回路だけからなる(通常128ビット
幅)垂直方向の変換回路16を通過する。出力係数は最
終的におよそ16ビットの幅に縮小され、本発明におい
てJPEG互換となしている単一の乗算器20を通過す
る。FIG. 10 shows a schematic of a non-pipelined implementation of the two-dimensional generalized Chien transform. Pipelined implementation will be explained in a later section. The pixels enter from the top and are usually 8 bits wide. The pixels pass through a wide array of adders in the horizontal converter circuit 10 with a standard 128 bit data width. The output from the horizontal conversion circuit passes through the transfer RAM 12 to rotate the information from the horizontal direction to the vertical direction. The data then passes through a vertical conversion circuit 16, which also consists of an adder circuit only (usually 128 bits wide). The output coefficients are eventually reduced to a width of approximately 16 bits and pass through a single multiplier 20 which is JPEG compatible in the present invention.
【0118】図11は本発明によるVLSI実装のブロ
ック図である。図11において、データはブロック40
で入力され入力ラッチ42内にラッチされ、マルチプレ
クサ44を通過してGCT変換回路50の前半へ進む
(これは、図8に示したように加算器ネットワークより
なる)。GCT変換回路50の後半は中断ラッチ54の
右側へ接続される。出力はマルチプレクサ62を通って
水平方向から垂直方向の変換が行なわれる移項用RAM
66へ進む。移項用RAM66の出力は、タイムシェア
リング又はタイムスライシング構成における垂直方向の
変換の前半を形成する目的で、GCT変換回路50の第
1段への背景に供給される。GCT変換回路50の出力
は垂直方向のGCT変換回路60の第2段の入力へ供給
される。最後のGCT変換回路60の出力が出力ラッチ
・マルチプレクサ70から取出され、乗算器74とまる
め回路76を経由してジグザグ順序配置回路80へ進
み、これの出力が12ビット係数としてブロック84か
ら出力される。FIG. 11 is a block diagram of VLSI packaging according to the present invention. In FIG. 11, the data is block 40.
Is input to the input latch 42, is latched in the input latch 42, passes through the multiplexer 44, and proceeds to the first half of the GCT conversion circuit 50 (this is composed of an adder network as shown in FIG. 8). The latter half of the GCT conversion circuit 50 is connected to the right side of the interruption latch 54. The output is passed through a multiplexer 62 and the transfer RAM for horizontal to vertical conversion is performed.
Proceed to 66. The output of the transfer RAM 66 is supplied to the background to the first stage of the GCT conversion circuit 50 for the purpose of forming the first half of the vertical conversion in a time sharing or time slicing arrangement. The output of the GCT conversion circuit 50 is supplied to the input of the second stage of the vertical GCT conversion circuit 60. The output of the last GCT conversion circuit 60 is taken from the output latch / multiplexer 70, passes through the multiplier 74 and the rounding circuit 76 to the zigzag ordering circuit 80, and its output is output from the block 84 as a 12-bit coefficient. It
【0119】さらに、図11を参照し、本発明の逆向き
変換の過程を簡潔に解説する。図11において、12ビ
ット係数はブロック84を通ってジグザグ順序回路80
のY入力へ供給される。ジグザグ順序回路80の出力
は、前向き処理において実行されたのと類似の逆向きの
量子化処理を実行する乗算器74とまるめ回路76を経
由する。乗算器74の出力は逆向き変換処理の第1段で
あるラッチ42へ入力される。ラッチ42から、逆向き
変換処理は前向き処理が辿ったのと同じ2段階の時間多
重経路を辿る。出力は出力ラッチ70に出現し、これの
出力はまるめ回路76によりまるめられた画素で、まる
め回路76の出力は出力用2のブロック40へ供給され
る。Further, with reference to FIG. 11, the process of the reverse transformation of the present invention will be briefly described. In FIG. 11, the 12-bit coefficient passes through the block 84 and the zigzag sequential circuit 80.
To the Y input of the. The output of the zigzag sequential circuit 80 is passed through a multiplier 74 and a rounding circuit 76 which performs an inverse quantization process similar to that performed in the forward process. The output of the multiplier 74 is input to the latch 42 which is the first stage of the reverse conversion process. From the latch 42, the reverse transform process follows the same two-stage time multiplex path that the forward process followed. The output appears in the output latch 70, the output of which is the pixel rounded by the rounding circuit 76, and the output of the rounding circuit 76 is provided to the output 2 block 40.
【0120】[0120]
【本発明の量子化乗算器】符号化すべき大量のデータを
圧縮するには、頻度領域係数F(i,j) が正の整数の量子
値Q(i,j) で除され、さらに、最も近い整数にまるめら
れる(Q(i,j) は、この章で量子行列式を表わすために
使用しており、直前の章とは対照的であることに注意さ
れたい)。逆に、逆向きの動作には、Q(i,j) による乗
算が要求されることになる。大きな量子値は大幅な圧縮
を提供するが、画像の品位の大幅な劣化を招来する(自
乗平均誤差(MSE)による測定で)。小さな量子値は
大幅な圧縮を提供しないが、もっと小さなMSEを生成
する。Quantization Multiplier of the Present Invention To compress a large amount of data to be encoded, the frequency domain coefficient F (i, j) is divided by a positive integer quantum value Q (i, j), and further, Rounded to the nearest integer (note that Q (i, j) is used to represent quantum determinants in this chapter, as opposed to the previous chapter). On the contrary, the reverse operation requires multiplication by Q (i, j). Large quantum values provide significant compression, but lead to significant degradation of image quality (as measured by root mean square error (MSE)). Small quantum values do not provide significant compression, but produce smaller MSE.
【0121】量子化係数Q(i,j) は、ここで前向きスケ
ーリング行列Sf(i,j)と称する段階C、D及びEの行列
と組合せることができる。同様に、量子化係数の反転
も、ここで反転スケーリング行列Si(i,j)と称する段階
H及びIの行列式と組合せることができる。従って、前
向き変換はSf /Q(指数部は便利のために削除した)
の応用に関連し、逆向き変換はSi *Qの応用に関連す
る。前向き操作は除算であるため、逆の相関がQの大き
さとSの数学的解像度の間に存在する。計算効率につい
てみると、整数の除算は一般に乗算とシフトによって実
行される。例えば、16ビットの計算において、整数k
による除算は216/k=65536/kの乗算と、それ
に続く16ビットの右シフトにより、さらに便宜的に実
行し得るものである。The quantized coefficient Q (i, j) can be combined with a matrix of stages C, D and E, referred to herein as the forward scaling matrix Sf (i, j). Similarly, the inversion of the quantized coefficients can also be combined with the determinant of steps H and I, referred to herein as the inversion scaling matrix Si (i, j). Therefore, the forward transform is Sf / Q (the exponent part was deleted for convenience)
, And the inverse transform is related to the application of Si * Q. Since the forward operation is division, there is an inverse correlation between the magnitude of Q and the mathematical resolution of S. In terms of computational efficiency, integer division is generally performed by multiplication and shift. For example, in a 16-bit calculation, the integer k
The division by can be performed more expediently by a multiplication of 2 16 / k = 65536 / k followed by a 16-bit right shift.
【0122】逆向き変換において、QとSi の乗算のた
め、QとSi の範囲の間に逆の相関が存在し、それによ
って、逆相間はQの範囲と積の解像度の間に存在するこ
とになる。JPEGの基準システムにおいて、量子化値
は符号なし11ビットである。よって、可能な最大の量
子化係数は1023又は210である。乗算が16ビット
計算で実行された場合、Si は26 の範囲を有する。Q
の値が小さいとSi の解像度はMSEより関与が大き
い。In the inverse transform, there is an inverse correlation between the Q and Si ranges due to the multiplication of Q and Si, so that there is an antiphase between the Q range and the product resolution. become. In the JPEG reference system, the quantized value is unsigned 11 bits. Therefore, the maximum possible quantization coefficient is 1023 or 2 10 . If the multiplication is carried out in a 16-bit calculation, Si has a range of 2 6 . Q
The smaller the value of, the greater the resolution of Si is than MSE.
【0123】…従来の方法… 最も近代的なコンピュータ、マイクロプロセッサ及び専
用のデジタル信号処理チップは、32ビット(32b)
乗算を有し、正しく使用した場合にこの問題を解決する
には十分以上である。Conventional Method ... Most modern computers, microprocessors and dedicated digital signal processing chips have 32 bits (32b).
Having multiplication and more than enough to solve this problem when used correctly.
【0124】高速の専用ハードウェアにおいて、前向き
と逆向き変換両方について、同一の乗算器を使用するこ
とが望ましい。「リアルタイム」の速度(ビデオ画像に
ついて、およそ30メガサイクル又はそれ以上)では、
16b乗算回路は最も実現しやすい解像度に近い。さら
に、大掛りな乗算器はさらにシリコンを必要とし、実行
速度が遅くなる。幾つかのJPEG変換チップでは、一
般化チェン変換の代りにディスクリート・コサイン変換
DCTを使用しており、スケーリング及び予備スケーリ
ング、即ち、Sf とSi の必要を有していない。他方
で、多くのDCT実装はGCTが呼出すスケーリングの
形式を必要としている。In high speed dedicated hardware, it is desirable to use the same multiplier for both forward and backward transforms. At “real time” speeds (approximately 30 megacycles or more for video images),
The 16b multiplication circuit is close to the resolution that is most easily realized. In addition, large multipliers require more silicon and are slower to execute. Some JPEG transform chips use a discrete cosine transform DCT instead of a generalized Cheng transform and do not have the need for scaling and pre-scaling, Sf and Si. On the other hand, many DCT implementations require some form of scaling that the GCT calls.
【0125】しかし、妥当なMSEのためには、32ビ
ット出力の殆どを自由に使用できる必要があることには
注意されたい。前向きモードでは、除算は大きな標準化
数から数値を縮小することにより達成している。出力の
順位の高いビットから結果を取出す必要がある。逆向き
モードでは、数値は乗算され、よって、小さい標準化数
が望ましい。出力の低い順位のビットから結果を取出す
必要がある。組合せることによる乗算器ハードウェアに
おいて、不必要なビットの切捨てなど、殆ど又は全く縮
小が行なわれない。Note, however, that for a reasonable MSE, most of the 32-bit output needs to be freely available. In positive mode, division is achieved by reducing the number from a large standardized number. You need to get the result from the high order bits of the output. In reverse mode, the numbers are multiplied, so a small standardized number is desirable. You need to get the result from the low order bits of the output. There is little or no reduction in combinatorial multiplier hardware, such as truncation of unnecessary bits.
【0126】乗算が16ビットに制限されている場合、
性能は大幅に低下し、これは米国特許出願番号07/5
11,245号の一般化チェン変換について相互参照し
ている例に相当する(以下の性能の議論の章参照)。特
定すれば、逆向き変換において、Qの範囲はSi の範囲
と競合する。Si の解像度は量子化値が低い場合、最も
重要だが、これは、大きい量子化数は乗算の解像度が意
味をなさないほど大きな歪曲を付加するためである。If the multiplication is limited to 16 bits, then
The performance is significantly reduced due to US patent application Ser. No. 07/5
This corresponds to the cross-referenced example of the generalized Cheng transform of No. 11,245 (see the performance discussion section below). In particular, the range of Q competes with the range of Si in the inverse transform. The resolution of Si is most important when the quantization value is low, because a large quantization number adds distortion so large that the resolution of the multiplication makes no sense.
【0127】…本発明の説明… 本発明の目的の一つは、前向きと逆向き両方の量子化で
16ビット・ハードウェア乗算器、即ち、16ビット計
算を用いて最大限の性能を提供することである。これに
は、範囲と解像度の間の平衡を必要とする。DESCRIPTION OF THE INVENTION One of the objects of the present invention is to provide maximum performance using 16-bit hardware multipliers, ie 16-bit arithmetic, with both forward and backward quantization. That is. This requires a balance between range and resolution.
【0128】…前向きスケーリングと量子化… 前向きモードにおいて、経験的な結果から、16ビット
・ハードウェア乗算器は、十分な解像度を提供し得ると
示されている。最も大きい値(Sf ×216)を(216−
1)となるように選択することが可能である。大きなQ
は、(Sf /Q×216)の値の範囲を減少させるが、こ
の数値の解像度の欠如に起因するエラーは量子化により
もたらされるエラーと比較すれば小さい。Forward Scaling and Quantization In empirical mode, empirical results indicate that a 16-bit hardware multiplier can provide sufficient resolution. The largest value (Sf × 2 16 ) is (2 16 −
It is possible to select 1). Big Q
Reduces the range of values of (Sf / Q × 2 16 ), but the error due to the lack of resolution of this number is small compared to the error introduced by quantization.
【0129】入力並びにSf /Qを正しくスケーリング
することにより、出力は乗算器出力の上位Nビットに出
現する。即ち、By properly scaling the input as well as Sf / Q, the output appears in the upper N bits of the multiplier output. That is,
【数64】結果=(入力*Q係数)≫N ここで、“≫”は右へのシフト操作を表わす。また、[Equation 64] Result = (input * Q coefficient) >> N where ">>" represents a shift operation to the right. Also,
【数65】Q係数=Sf/Q*216 である。2つのNビット係数の乗算は、一般に、2Nビ
ットの積となる。結果がハードウェア乗算器の上位側1
6ビットから取出されるので、下位側16ビットを供給
するゲートを切り詰めることが可能である。下位側Nビ
ットから必要とされることの全ては関連性を担う項だけ
である。[Equation 65] Q coefficient = Sf / Q * 2 16 . The multiplication of two N-bit coefficients is generally a 2N-bit product. The result is the high-order side 1 of the hardware multiplier
Since it is taken from 6 bits, it is possible to truncate the gate supplying the lower 16 bits. All that is needed from the lower N bits is the relevant term.
【0130】これは、図12に示された2モード・ハー
ドウェアによる実現方法に図示されている。前向き変換
を実行する場合、前向き入力(/Forward)はLレベル
(即ち、0)である。従って、制御マルチプレクサ(M
UX)100は0のGND信号を16入力1出力のMU
X104へ送出する。前向き入力/Forward上の0信号
はMUX108へ向かい、乗算器106で符号を付けら
れた16ビット×16ビットの入力A0〜A3へQ指数
部の4ビットを送信する。この例ではThis is illustrated in the method of implementation by the bimodal hardware shown in FIG. When performing forward conversion, the forward input (/ Forward) is at L level (that is, 0). Therefore, the control multiplexer (M
UX) 100 is a 0 input GND signal with 16 inputs and 1 output MU
Send to X104. The 0 signal on the forward input / Forward goes to the MUX 108 and sends 4 bits of the Q exponent to the 16 bits × 16 bits inputs A0 to A3 signed by the multiplier 106. In this example
【数66】Q係数=(Q仮数部≪4)+Q指数部 であり、乗算器106は積“Q係数*入力”を生成す
る。出力Result は下位16桁が使用しないワードとし
て破棄されることから、(Q係数*入力≫16)に等し
いことになる。Q coefficient = (Q mantissa part << 4) + Q exponent part, and the multiplier 106 generates the product “Q coefficient * input”. The output Result is equal to (Q coefficient * input >> 16) because the lower 16 digits are discarded as unused words.
【0131】…逆向き予備スケーリングと脱量子化… 本発明は、16ビット演算における最高の正確度を可能
にするような範囲と解像力の間の妥協を配分することに
より、逆向き脱量子化を補助する過程に関連をなすもの
である。経験的に、解像度約12ビットが所望するMS
Eに必要であると決定された。JPEG規格仕様におけ
る量子化には10ビットが必要とされているので、範囲
としては、24ビットが必要である。これは、16ビッ
ト係数のうち上位12ビットを仮数部として用い、下位
4ビットを2を底とする指数項として用いることで達成
している。24 の可能なシフト値と(16−4)ビット
の仮数部の組合せにより、有効範囲は、Inverse Prescaling and Dequantization: The present invention performs inverse dequantization by allocating a compromise between range and resolution that allows the highest accuracy in 16-bit arithmetic. It is related to the assisting process. Empirically, MS that resolution of about 12 bits is desired
It was decided that it was necessary for E. Since 10 bits are required for quantization in the JPEG standard specifications, 24 bits are required as a range. This is achieved by using the upper 12 bits of the 16-bit coefficient as the mantissa and the lower 4 bits as the exponent term with base 2. With a combination of 2 4 possible shift values and a (16-4) bit mantissa, the effective range is
【数67】 有効範囲=[(16−4)+24 ]ビット=28ビット である。図12の2モード・ハードウェアによる実装で
図示してあるように、逆向きモードにおいて、前向き入
力/ForwardがHレベルの場合、16入力1出力のMU
X104への制御入力は、入力値にi桁の左シフトを生
成する。Q仮数部の12ビットは、乗算器106の入力
A4からA15に入力される。前向き入力/Forwardか
らMUX108へHレベル側にある制御値は、GND信
号から乗算器106のビットA0〜A3へ0を送出す
る。ここでも、出力結果は、乗算既出力の上位側16ビ
ットに存在しており、Lレベル側16桁が未使用ワード
として破棄されることに注意されたい。結果は、従っ
て、次式のように決定されることになる[Equation 67] Effective range = [(16-4) +2 4 ] bits = 28 bits. As shown in the two-mode hardware implementation of FIG. 12, in the reverse mode, when the forward input / Forward is at the H level, the 16-input 1-output MU
The control input to X104 produces an i digit left shift in the input value. The 12 bits of the Q mantissa are input to the inputs A4 to A15 of the multiplier 106. The control value on the H level side from the forward input / Forward to the MUX 108 sends 0 from the GND signal to the bits A0 to A3 of the multiplier 106. Here again, it should be noted that the output result exists in the upper 16 bits of the multiplication output and the 16 digits of the L level are discarded as unused words. The result will therefore be determined as
【数68】 結果=((入力≪Q指数部)*Qスケーラ)≫16 ここで、[Equation 68] Result = ((input << Q exponent part) * Q scaler) >> 16 where:
【数69】 Qスケーラ≪Q指数部=Si ×Q×216 Qスケーラ<212 また、Q scaler << Q exponent part = Si x Q x 2 16 Q scaler <2 12
【数70】0<Q指数部<(24 −1) である。0 <Q exponent part <(2 4 −1).
【0132】入力値が左にシフトされることから、入力
が制限される必要がある。さもなくば、値がオーバーフ
ローしてしまい、偽の結果が生成される。しかし、これ
らの数が、ここで乗算に用いられている係数によって量
子化されているという事実から、このことは無条件で行
なわれている。本発明があらゆる乗算に一般化し得ない
理由はこれである。Since the input value is shifted to the left, the input needs to be restricted. Otherwise, the value will overflow, producing a false result. However, this is done unconditionally due to the fact that these numbers are quantized by the coefficients used here for multiplication. This is why the present invention cannot be generalized to any multiplication.
【0133】本発明の拡張は、図13に図示してあり、
ここでは、MUX110による左シフトが16ビット×
16ビットのMUX112による乗算段階の後で発生し
ている。前向き変換において、前向き入力/Forwardは
Lレベルである。MUX114の制御入力への0信号
は、乗算器112の入力A0〜A3へQ指数部の4ビッ
トを送信する。乗算器112の32ビットの積の最上位
16桁(Q31〜Q16)は16入力1出力のマルチプ
レクサによりMUX116からのGND信号に従って選
択される。An extension of the invention is illustrated in FIG.
Here, the left shift by MUX 110 is 16 bits ×
It occurs after the multiplication step by the 16-bit MUX 112. In the forward conversion, the forward input / Forward is at the L level. The 0 signal to the control input of MUX 114 sends the 4 bits of the Q exponent to inputs A0-A3 of multiplier 112. The 16 most significant digits (Q31 to Q16) of the product of 32 bits of the multiplier 112 are selected according to the GND signal from the MUX 116 by the multiplexer of 16 inputs and 1 output.
【0134】逆向き変換において、前向き入力/Forwa
rd信号はHレベルである。従って、GND信号はMUX
114により16ビット×16ビット符号付き乗算器1
12の入力A0〜A3へ送信される。i=32−Q指数
部、かつ、j=i−15であるような乗算器112から
の32ビット出力の内のビットQi−QjがMUX11
6を経由して、16入力1出力の乗算器110へのQ指
数部入力の値に従い、結果として選択される。入力値の
左シフトは実行されないのであるから、入力値は範囲を
制限されることはない(即ち、予めフォーマットされな
い)。この場合、演算は数学的に次のように表現され
る。In reverse conversion, forward input / Forwa
The rd signal is at H level. Therefore, the GND signal is MUX
16-bit × 16-bit signed multiplier 1 114
Sent to 12 inputs A0-A3. i = 32-Q exponent part and bit Qi-Qj of the 32 bit output from multiplier 112 such that j = i-15 is MUX11.
It is selected as a result according to the value of the Q exponent part input to the multiplier 110 having 16 inputs and 1 output via 6. The input value is not limited in range (ie, not pre-formatted), as no left shift of the input value is performed. In this case, the operation is mathematically expressed as follows.
【数71】 結果=(入力*Qスケーラ)≫Q指数部≫16[Equation 71] Result = (input * Q scaler) >> Q exponent >> 16
【0135】…性能の議論… 表1は、実験的に実行したCCITTによる704×5
76×8bグレーレベル・テスト画像であるバルバラ
(Barbara)の画像についての自乗平均誤差(MSE)
の結果を示したものである。量子化の値は第1の例で全
て1をなし、第2の例ではJPEG規格における提唱ル
ミナンス量子化表からのものである。画像は32b乗算
器と、16b乗算器と、これまでの章で解説したような
12b仮数部と4b指数部を用いた16b乗算器で実現
した本発明を用いてチップのソフトウェア模擬により処
理を行なった。結果は以下の表1に示すとおりである。Performance discussion ... Table 1 shows 704 × 5 by CCITT which was experimentally executed.
Root Mean Error (MSE) for the Barbara image, a 76x8b gray level test image
It shows the result of. Quantization values are all 1's in the first example and in the second example are from the proposed luminance quantization table in the JPEG standard. The image is processed by software simulation of the chip using the present invention realized by the 32b multiplier, the 16b multiplier, and the 16b multiplier using the 12b mantissa part and the 4b exponent part as explained in the previous chapters. It was The results are shown in Table 1 below.
【0136】[0136]
【表1】 [Table 1]
【0137】推測されるように、乗算機関の主要な相違
は、Qが小さい場合、即ち、品位再現が所望される場合
に発生している。より少ないハードウェアを用いても、
本発明は32ビットに近い正確度を提供している。MS
Eでの差は視覚的に有意ではない。しかし、CCITT
勧告H.261変換不適合追従試験に適合させるには、
本発明はディスクリート・コサイン変換と、さらに密接
に近似するパラメータ値を使用する必要がある。As can be inferred, the main difference in the multiplication engine occurs when Q is small, that is, when quality reproduction is desired. With less hardware,
The present invention provides an accuracy close to 32 bits. MS
The difference at E is not visually significant. However, CCITT
Recommendation H. To comply with the 261 conversion nonconformance follow-up test,
The present invention requires the use of discrete cosine transforms and parameter values that more closely approximate.
【0138】32b乗算器を実現するには、16b乗算
器よりおよそ85%増しのシリコン表面領域を使用する
ことになり(1.0μmCMOS標準セル技術に基づく
推定値。これは、HGCTが実現されている技術であ
る)、集積回路技術で大きな問題となる。本発明は、こ
の領域に30%を追加するだけである。単一の乗算器は
シリコンのおよそ10%を使用することは特筆に値す
る。Implementing a 32b multiplier would use approximately 85% more silicon surface area than a 16b multiplier (estimate based on 1.0 μm CMOS standard cell technology. This is for HGCT implementations). Technology), which is a major problem in integrated circuit technology. The present invention only adds 30% to this area. It is worth noting that a single multiplier uses approximately 10% of the silicon.
【0139】[0139]
【GCT変換のパイプライン化した実現】…背景… CCITTのJPEG委員会の提案する国際規格画像圧
縮システムを実行するようなVLSIチップを製造する
ことが望まれる。多くの用途では、VLSIチップがビ
デオ速度で動作することが必要とされ、これは(解像度
により差があるが)、毎秒800ないし1000万画素
程度を意味する。各々の画素は通常赤、緑、青などの3
原色からなる。大半のVLSI実装は一度に一つの成分
について動作し、必要とされるクロック周波数は画素速
度の3倍である。これは、チップのクロック周波数をお
よそ25〜30MHzに押し上げることになる。これ
は、1991年の標準から見ても高いクロック速度である。[Pipelined implementation of GCT conversion] Background ... It is desired to manufacture a VLSI chip that implements the international standard image compression system proposed by the JPEG committee of CCITT. Many applications require VLSI chips to operate at video speeds, which means (depending on resolution) about 8 to 10 million pixels per second. Each pixel is usually 3 such as red, green, blue, etc.
It consists of primary colors. Most VLSI implementations operate on one component at a time and the required clock frequency is three times the pixel rate. This will boost the clock frequency of the chip to approximately 25-30 MHz. This is a high clock speed by the 1991 standard.
【0140】DCTの最も慣習的な実現では、乗算器と
加算器の組合せを用いて変換を実行している。乗算器は
多くの実現において、たいてい障害となっている。その
他の機能、例えば、RAMやROMは2次的な障害を構
成する。これらの障害を克服するには、長いパイプライ
ン構造を使用する。典型的なDCTチップでのパイプラ
インは200クロック周期にまで及ぶことがあり、チッ
プ内部で200処理が並列的に発生していることを意味
する。The most conventional implementation of DCT uses a combination of multipliers and adders to perform the transformation. Multipliers are often an obstacle in many implementations. Other functions, such as RAM and ROM, constitute a secondary obstacle. To overcome these obstacles, use long pipeline structures. A pipeline in a typical DCT chip can extend up to 200 clock cycles, meaning that 200 processes are occurring in parallel within the chip.
【0141】図15はディスクリート・コサイン変換で
の在来のパイプライン構造を示したものである。画素成
分は図面の左手に到着し、寸法が1×8の並列ベクトル
内でラッチ装置120内部にラッチされている。これら
の1×8ベクトルは、DCTを実行するために1次元変
換回路122へ渡される。1×8行ベクトルは、次に移
項装置124により移項されて、8×1の形状の列ベク
トルに変換される。移項後、在来システムでは移項した
ベクトルは変換のために、第2のDCTユニット126
に供給される。この第2の変換が行なわれている間に、
第1の変換ユニット122は次の1×8行ベクトルで占
有されている。従って、パイプラインは有効に作用す
る。最後の乗算は、乗算ユニット128で実行される。
DCTはシステムにとって計算上の障害であるので、上
述のような構造がビデオ速度を達成するために必要とさ
れる。FIG. 15 shows a conventional pipeline structure in the discrete cosine transform. The pixel components arrive on the left hand side of the drawing and are latched inside the latch device 120 in a parallel vector of size 1x8. These 1 × 8 vectors are passed to the one-dimensional transform circuit 122 to perform the DCT. The 1 × 8 row vector is then transposed by the transposition device 124 to be converted into a column vector having an 8 × 1 shape. After transposition, in the conventional system, the transposed vector is transferred to the second DCT unit 126 for conversion.
Is supplied to. While this second conversion is taking place,
The first transform unit 122 is occupied by the next 1 × 8 row vector. Therefore, the pipeline works effectively. The final multiplication is performed in multiplication unit 128.
Since DCT is a computational impediment to the system, structures such as those described above are required to achieve video rates.
【0142】図15は明確になすために簡略化してある
が、変換全体についての制約を理解することが重要であ
る。乗算演算がシステムの障害であることを想起された
い。変換ユニット122,126は乗算を含むので、こ
れらと最後の乗算器128が大まかに等しい障害を構成
していることになる。ここで、単一の乗算を実行するの
にxナノ秒必要だと仮定する。図15において(2つの
変換ユニット122及び126が存在する)、各々の変
換ユニット122,126が8成分の計算を同時に実行
する。従って、変換ユニットは8xナノ秒で計算を実行
していることになる。これは、今日の構造によって現在
でも実現可能である。Although FIG. 15 has been simplified for clarity, it is important to understand the constraints on the overall transformation. Recall that multiplication operations are a bottleneck in the system. The conversion units 122, 126 include multiplications, so that they and the last multiplier 128 constitute roughly equal faults. Now assume that it takes x nanoseconds to perform a single multiplication. In FIG. 15 (where there are two transform units 122 and 126), each transform unit 122, 126 simultaneously performs an 8-component calculation. Therefore, the conversion unit is performing the calculation in 8x nanoseconds. This is still feasible today with today's architecture.
【0143】…本発明… 本発明の一般化チェン変換(GCT)は、主変換におい
て乗算を全く必要とせず、成分当たり1回だけの乗算を
変換処理の最後で必要とするだけである。主1次元GC
Tは、最大7つの不連続レベルで構成された何らかの3
8個の加算回路のアレイからなる(図8,図9及び図1
0参照)。加算回路アレイは、ハードワイヤ結線された
シフト回路を含み、これによって、上述のように2を指
数とする乗算及び除算を生成可能である。さらに、7つ
の段階を2つの別の部分に分割することにより(GCT
の単純な構造のため、この分割は容易である)、加算回
路レベルの最大数が4まで減少する。こうした分割を行
なうことにより、変換はデータの流れに対して障害では
なくなる。これは、最大能力がこれらの素子の設計で制
御されていることを意味している。しかし、いまや最後
の乗算が障害となるので、変換ユニットに、さらなる特
徴を用いることが可能である。図14はこうした構成を
図示している。The Invention The Generalized Chain Transform (GCT) of the present invention requires no multiplication in the main transform, only one multiplication per component at the end of the conversion process. Main one-dimensional GC
T is some 3 made up of up to 7 discontinuity levels
It consists of an array of 8 adder circuits (see FIGS. 8, 9 and 1).
0). The adder circuit array includes hard-wired shift circuits, which can generate the exponential multiplication and division as described above. Furthermore, by dividing the seven stages into two separate parts (GCT
(This division is easy due to the simple structure of), and the maximum number of adder circuit levels is reduced to four. By doing this division, the conversion is no longer an obstacle to the flow of data. This means that maximum capability is controlled by the design of these devices. However, now that the last multiplication becomes an obstacle, it is possible to use additional features in the conversion unit. FIG. 14 illustrates such a configuration.
【0144】図14において、8×1行ベクトル用の入
力ラッチ130に続くのは、1次元変換回路134へ供
給する2入力の一方を選択するMUX132である。こ
こで重要な相違は、変換ユニット134が一つだけ存在
していることである。所定量の時間の後、変換ユニット
134は入力行ベクトルについての変換を完了する。移
項用RAM136へ渡された後、変換された行ベクトル
は第2のMUX138によって第1のMUX132へ戻
され、さらに唯一の変換ユニット134へ渡される。列
がここで変換される。列が変換され移項された後、結果
は乗算器140へ転送される。平均して変換ユニットが
4xナノ秒で動作すべきことは明らかである。これが、
単純な加算回路のGCTネットワークが大きな利点を提
供する部分である。加算回路は乗算器より大幅に高速で
あるから、こうした時分割乗算が可能になる。In FIG. 14, following the input latch 130 for the 8 × 1 row vector is a MUX 132 that selects one of the two inputs supplied to the one-dimensional conversion circuit 134. The important difference here is that there is only one conversion unit 134. After a predetermined amount of time, transform unit 134 completes the transform on the input row vector. After being passed to the transfer RAM 136, the transformed row vector is returned by the second MUX 138 to the first MUX 132 and further to the only translation unit 134. The columns are converted here. After the columns have been transformed and transposed, the result is forwarded to multiplier 140. It is clear that on average the conversion unit should operate in 4x nanoseconds. This is,
This is where the GCT network of simple adder circuits offers great advantages. The adder circuit is significantly faster than the multiplier, thus enabling such time division multiplication.
【0145】GCTそれ自体は、DCTより大幅な節約
である。図14に図示した実現方法は、2つではなく1
つの変換ユニットしか有していないということだけで、
さらに50%の節約を提供するものである。これを眺望
してみれば、本発明の設計はただ一つだけの変換ユニッ
ト134を有し、また、このユニットはチップ上で40
%ないし50%を占有する。残りの50%はRAM、ラ
ッチ、乗算器140、I/O、その他に割当てられる。
第2の変換ユニットがおよそ50%のシリコン領域を増
大させるであろうことは理解されよう。The GCT itself is a significant savings over the DCT. The realization method shown in FIG. 14 is not one but two.
Just because it has only one conversion unit,
It offers an additional 50% savings. Looking at this, the design of the present invention has only one conversion unit 134, and this unit is 40% on chip.
Occupy% to 50%. The remaining 50% is allocated to RAM, latches, multipliers 140, I / O, etc.
It will be appreciated that the second conversion unit will increase the silicon area by approximately 50%.
【0146】加算回路だけのネットワークを時分割乗算
と併せて使用することにより、ビデオ速度より50%以
上高い性能を提供する効率的なJPEG実装を提供す
る。The use of a network of adder circuits only, in combination with time division multiplication, provides an efficient JPEG implementation that provides performance greater than 50% above video speed.
【0147】結局、DCTなどの変換は画像圧縮に有用
であり、DCTに類似した方法が計算の単純さの上で望
ましい。この点、本発明に開示した方法並びに装置によ
って、16ビット変換に匹敵する速度の量子化演算が行
なえ、なおかつ、自乗平均誤差は32ビット変換のそれ
に匹敵する。比較的高速な加算の組と一組の乗算に変換
を因子分解することで効果的にパイプライン化されたデ
ータの流れをなしており、垂直方向及びび水平方向の変
換の加算部分は終段の乗算部分以前に同一ハードウェア
によって実行されるものとなる。After all, a transform such as DCT is useful for image compression, and a method similar to DCT is desirable in terms of computational simplicity. In this respect, the method and apparatus disclosed in the present invention can perform a quantization operation at a speed comparable to 16-bit conversion, and the root mean square error is comparable to that of 32-bit conversion. Effectively pipelined data flow by factorizing the transform into a relatively fast set of additions and a set of multiplications, with the addition part of the vertical and horizontal conversions being the final stage. Will be executed by the same hardware before the multiplication part of.
【0148】[0148]
【一般化】本開示における実施例は、画像符号化に基づ
く変換に制限されているが、本発明の乗算器は、入力が
除されたのと同一の数により出力が乗算されるようなあ
らゆる量子化方式に一般化することが可能である。幾つ
かのアルゴリズムでは、同様な量子化方式を使用してい
るため、ある程度まで一般化し得るが、本発明の乗算器
は量子化及び脱量子化の意味合いにおいてのみ意味を有
する。好適実施例では16ビット計算を使用している
が、一般に、本発明はNビットの計算を用いるこのよう
な処理に適用し得るものである。また、本発明は既存の
規格、例えば、JPEG規格と互換性を有している。好
適実施例は、本発明の原理を最も良く説明し得るように
選択し、また、解説しており、これによる実際の応用は
当業者をして、本発明並びに各種実施例を最良の形態で
使用し得るようになし、また、意図する特定の用途に適
合するような各種の変更を行ない得るものである。本発
明の範囲は、特許請求の範囲によってのみ規定されるこ
とを意図するものである。Generalization Although the embodiments in this disclosure are limited to transforms based on image coding, the multiplier of the present invention allows any output where the output is multiplied by the same number that the input is divided. It can be generalized to a quantization method. Although some algorithms use similar quantization schemes, they can be generalized to some extent, but the multipliers of the present invention have meaning only in the context of quantization and dequantization. While the preferred embodiment uses 16-bit arithmetic, the present invention is generally applicable to such processes using N-bit arithmetic. Also, the present invention is compatible with existing standards such as the JPEG standard. The preferred embodiment has been chosen and described in such a manner as to best explain the principles of the invention, and the actual application by which those skilled in the art will appreciate that the invention and various embodiments may be best practiced. It can be used and various modifications can be made to suit the particular intended use. The scope of the invention is intended to be defined only by the claims that follow.
【0149】[0149]
【発明の効果】本発明は、上述したように構成したの
で、静止画像データの伸長方法、圧縮方法及びそのため
の対応装置に関して、JPEG規格と互換性を保てるも
のであり、この際、データ圧縮の量子化及び圧縮段階に
おけるビットの使用が最適化され、かつ、量子化及び係
数圧縮を統合するデータ圧縮方式における自乗平均値エ
ラーを最小化することができる。また、データ圧縮の範
囲、並びに、解像度を最適化する方法において、一定量
のビットの使用で済むものとなり、かつ、小さい量子化
の値について解像度にJPEG規格H.261仕様を適
合させることもできる。即ち、より具体的には、16入
力1出力のマルチプレクサ及び16ビット乗算器を用い
ることにより、ダイナミックレンジ28ビットで量子化
の予備圧縮が可能となる。さらには、変換処理のパイプ
ライン化実装において、最大限の利点まで一般化チェン
変換の速度を使用することができる。また、変換処理を
実行するために要求されるゲート数を最小限に抑えるこ
ともでき、特に、変換処理を行なう加算回路ネットワー
ク部分の速度の利点を用いて同一ハードウェアによる垂
直方向及び水平方向の変換の追加を実行することができ
る。Since the present invention is configured as described above, the still image data decompression method, compression method, and corresponding apparatus can maintain compatibility with the JPEG standard. The use of bits in the quantization and compression stages is optimized and the root mean square error in data compression schemes that integrate quantization and coefficient compression can be minimized. Further, in the method of optimizing the range of data compression and the resolution, it is possible to use a fixed amount of bits, and for a small quantization value, the resolution is JPEG standard H.264. The H.261 specifications can also be adapted. That is, more specifically, by using a 16-input 1-output multiplexer and a 16-bit multiplier, it is possible to perform preliminary compression for quantization with a dynamic range of 28 bits. Moreover, in pipelined implementations of the transformation process, the speed of generalized chain transformation can be used to the full advantage. It is also possible to minimize the number of gates required to perform the conversion process, and in particular to take advantage of the speed advantage of the adder network portion that performs the conversion process, both vertically and horizontally by the same hardware. The addition of transformations can be performed.
【図1】本発明の一実施例を示し、(a)はコンプレッ
サ構成のブロック図、(b)はデコンプレッサ構成のブ
ロック図である。FIG. 1 shows an embodiment of the present invention, (a) is a block diagram of a compressor configuration, and (b) is a block diagram of a decompressor configuration.
【図2】動作を説明するためのもので、(a)は入力画
素の順序を示す説明図、(b)はブロックのタイミング
図、(c)はベクトルのタイミング図である。2A and 2B are diagrams for explaining the operation, where FIG. 2A is an explanatory diagram showing the order of input pixels, FIG. 2B is a block timing diagram, and FIG. 2C is a vector timing diagram.
【図3】RGBからXYZへのデータの3点変換を示す
ブロック図である。FIG. 3 is a block diagram showing three-point conversion of data from RGB to XYZ.
【図4】VLSIの配置を示す模式図である。FIG. 4 is a schematic diagram showing a layout of VLSI.
【図5】シフトレジスタ構成例を示す概略ブロック図で
ある。FIG. 5 is a schematic block diagram showing a shift register configuration example.
【図6】シフトアレイ構成例を示し、(a)は概略ブロ
ック図、(b)はその具体的構成のブロック図である。FIG. 6 shows a shift array configuration example, (a) is a schematic block diagram, and (b) is a block diagram of a specific configuration thereof.
【図7】統合されたデータの流れを示す模式図である。FIG. 7 is a schematic diagram showing a flow of integrated data.
【図8】前向き処理の加算アレイ構成例を示すブロック
図である。FIG. 8 is a block diagram showing a configuration example of an addition array in forward processing.
【図9】前向き処理の加算アレイ構成の他例を示すブロ
ック図である。FIG. 9 is a block diagram showing another example of the addition array configuration of the forward processing.
【図10】2次元一般化チェン変換を示す概略ブロック
図である。FIG. 10 is a schematic block diagram showing a two-dimensional generalized Chien transform.
【図11】本発明の好適実施例を示すブロック図であ
る。FIG. 11 is a block diagram showing a preferred embodiment of the present invention.
【図12】乗算前のシフトを伴う反転予備圧縮及び量子
化のためのハードウェア構成例を示すブロック図であ
る。FIG. 12 is a block diagram showing a hardware configuration example for inversion precompression and quantization with shift before multiplication.
【図13】乗算後のシフトを伴う反転予備圧縮及び量子
化のためのハードウェア構成例を示すブロック図であ
る。FIG. 13 is a block diagram illustrating a hardware configuration example for inversion precompression and quantization with shift after multiplication.
【図14】本発明の変換の速度を利用する2次元一般化
チェン変換の実現の流れを模式的に示すブロック図であ
る。FIG. 14 is a block diagram schematically showing a flow of implementation of a two-dimensional generalized chain transformation that utilizes the speed of transformation of the present invention.
【図15】従来の2次元DCT計算の実現の流れを模式
的に示すブロック図である。FIG. 15 is a block diagram schematically showing a flow of realizing a conventional two-dimensional DCT calculation.
12 移行用メモリ手段 16 変換手段 50 第1のGCT加算回路ネットワーク段 60 第1のGCT加算回路ネットワーク段 66 移行用メモリ手段 74 乗算テーブル手段 76 まるめ手段 80 ジグザグ順序手段 134 変換手段 136 移行用メモリ手段 12 migration memory means 16 conversion means 50 first GCT addition circuit network stage 60 first GCT addition circuit network stage 66 migration memory means 74 multiplication table means 76 rounding means 80 zigzag order means 134 conversion means 136 migration memory means
Claims (57)
シーケンスに変換する変換を反転するための静止画像デ
ータの伸長方法において、前記変換領域係数の各々をQ
指数部として識別されるMビットの指数及びQ仮数部と
して識別される(N−M)ビットの仮数部の形状でNビ
ット保存レジスタ中に保存されているQ係数により乗算
し、Q係数=Q仮数部*2^Q指数部となしてQ係数に
2^Nより大きい範囲の値を提供するようになす段階
と、乗算した変換領域係数のシーケンスを本来の値のシ
ーケンスに近似する第2の値のシーケンスに変換する段
階とを有することを特徴とする静止画像データの伸長方
法。1. A method of decompressing still image data for inverting a transform for transforming a sequence of original values into a sequence of transform domain coefficients, wherein each of the transform domain coefficients is Q.
The M-bit exponent identified as the exponent and the (N−M) -bit mantissa identified as the Q mantissa are multiplied by the Q coefficient stored in the N-bit save register, Q coefficient = Q A mantissa part * 2 ^ Q to provide the Q coefficient with a value in the range larger than 2 ^ N by forming an exponential part; and a second step of approximating the sequence of the transformed domain coefficient to the original sequence of values. And a step of converting it into a sequence of values.
るQ仮数部による乗算及びQ指数部ビットによる左シフ
トの段階を含むことを特徴とする請求項1記載の静止画
像データの伸長方法。2. The method of decompressing still image data as claimed in claim 1, wherein the step of multiplying includes the steps of multiplying by Q mantissa using an integer multiplier unit and shifting left by Q exponent bits.
が、整数乗算器ユニットを用いるQ仮数部による乗算段
階に続くことを特徴とする請求項2記載の静止画像デー
タの伸長方法。3. The method of decompressing still image data according to claim 2, wherein the step of left shifting by the Q exponent bits follows the step of multiplying by the Q mantissa using an integer multiplier unit.
よる乗算の段階が、Q指数部ビットによる左シフトの段
階に続くことを特徴とする請求項2記載の静止画像デー
タの伸長方法。4. The method of decompressing still image data according to claim 2, wherein the step of multiplying by the Q mantissa using the integer multiplier unit follows the step of left shifting by the Q exponent bits.
み、また、Q係数が前記スケーリング係数及び前記量子
化係数の積と等しいことを特徴とする請求項2記載の静
止画像データの伸長方法。5. The still image data decompression method according to claim 2, further comprising a scaling coefficient and a quantized coefficient, and a Q coefficient being equal to a product of the scaling coefficient and the quantized coefficient.
を有し、また、逆向き変換演算が加算回路アレイのネッ
トワーク内で前記長さLの初期乗算と一連の加算及びシ
フトに分割されることを特徴とする請求項1記載の静止
画像データの伸長方法。6. The sequence of transform domain coefficients has a value of length L, and an inverse transform operation is divided into a network of adder circuit arrays into said initial multiplication of length L and a series of add and shifts. The still image data decompression method according to claim 1, further comprising:
換演算が対角線行列式と非対角線行列式の積に分割さ
れ、対角線行列式による演算が前記加算回路アレイによ
り実行され得ることを特徴とする請求項1記載の静止画
像データの伸長方法。7. An inverse transformation operation is divided into a product of a diagonal determinant and a non-diagonal determinant, including the use of an adder array, and a diagonal determinant operation can be performed by the adder array. The method for expanding still image data according to claim 1.
以下の加算回路ユニットよりなることを特徴とする請求
項7記載の静止画像データの伸長方法。8. The method of decompressing still image data according to claim 7, wherein the adder circuit array has seven stages or less and comprises 39 or less adder circuit units.
近似する一般化チェン変換であることを特徴とする請求
項7記載の静止画像データの伸長方法。9. The method for decompressing still image data according to claim 7, wherein the transform is a generalized Cheng transform that approximates a discrete cosine transform.
け係数を含むことを特徴とする請求項5記載の静止画像
データの伸長方法。10. The still image data expansion method according to claim 5, wherein the scaling coefficient includes a psychological factor weighting coefficient.
を含むことを特徴とする請求項5記載の静止画像データ
の伸長方法。11. The still image data decompression method according to claim 5, wherein the scaling coefficient includes a debraing coefficient.
2次元格子を表わすことを特徴とする請求項2記載の静
止画像データの伸長方法。12. The method of decompressing still image data according to claim 2, wherein the original sequence values represent a two-dimensional grid of image pixels.
とを特徴とする請求項1記載の静止画像データの伸長方
法。13. The method of decompressing still image data according to claim 1, wherein N is equal to 16 and M is equal to 4.
ており、乗算積の低位側N桁が破棄されることを特徴と
する請求項2記載の静止画像データの伸長方法。14. The method of decompressing still image data according to claim 2, wherein the Q coefficient is standardized in advance by 2 ^ N, and the lower N digits of the multiplication product are discarded.
数のシーケンスへ変換を実行するための静止画像データ
の圧縮方法であって、本来の値のシーケンスを変換され
た値のシーケンスに変換する段階と、前記変換された値
のシーケンスを変換領域係数のシーケンスへQ係数によ
る各々の変換された値の乗算により変換し、また、出力
の低位側Nビットを破棄する段階であって、Q係数が2
^N の因子により予め標準化されており、Nビット保存
レジスタ内に保存される段階とを有することを特徴とす
る静止画像データの圧縮方法。15. A method of compressing still image data for performing conversion from a value of an original sequence into a sequence of transform domain coefficients, the method comprising converting the sequence of original values into a sequence of converted values. Transforming the sequence of transformed values into a sequence of transform domain coefficients by multiplying each transformed value by a Q coefficient, and discarding the lower N bits of the output, where the Q coefficient is 2
A method of compressing still image data, which is standardized in advance by a factor of ^ N and is stored in an N-bit storage register.
み、Q係数が前記量子化係数で除した前記スケーリング
係数の2^N 倍に等しいことを特徴とする請求項15記
載の静止画像データの圧縮方法。16. The method of compressing still image data according to claim 15, further comprising a scaling coefficient and a quantized coefficient, wherein the Q coefficient is equal to 2 ^ N times the scaling coefficient divided by the quantized coefficient. .
1)をなすことを特徴とする請求項16記載の静止画像
データの圧縮方法。17. The maximum value of all Q factors is (2 ^ N −
17. The method of compressing still image data according to claim 16, which is characterized in 1).
有し、変換演算が一連の加算と前記長さLの最後の乗算
に分割されることを特徴とする請求項15記載の静止画
像データの圧縮方法。18. The static of claim 15, wherein the original sequence of values has a value of length L and the transformation operation is divided into a series of additions and a final multiplication of said length L. Image data compression method.
列式の積に分割され、非対角線行列式による演算が加算
回路アレイにより実行され得ることを特徴とする請求項
15記載の静止画像データの圧縮方法。19. The still image data according to claim 15, wherein the transform operation is divided into a product of a diagonal determinant and a non-diagonal determinant, and the operation by the non-diagonal determinant can be executed by an adder circuit array. Compression method.
個以下の加算回路ユニットよりなることを特徴とする請
求項19記載の静止画像データの圧縮方法。20. The adder circuit array has 7 stages or less.
20. The method of compressing still image data according to claim 19, characterized by comprising not more than one adder circuit unit.
を近似する一般化チェン変換であることを特徴とする請
求項19記載の静止画像データの圧縮方法。21. The method of compressing still image data according to claim 19, wherein the transform is a generalized Cheng transform that approximates a discrete cosine transform.
重み付け係数を含むことを特徴とする請求項16記載の
静止画像データの圧縮方法。22. The method of compressing still image data according to claim 16, wherein the scaling coefficient includes an inverse psychological factor weighting coefficient.
次元格子を表わすことを特徴とする請求項15記載の静
止画像データの圧縮方法。23. The original sequence value is 2 of the image pixels.
16. The method of compressing still image data according to claim 15, wherein the method represents a three-dimensional lattice.
求項15記載の静止画像データの圧縮方法。24. The method of compressing still image data according to claim 15, wherein N is equal to 16.
計算するための前向きモード/逆向きモードの2モード
処理装置において、入力整数をビットの整数個分のシフ
トにより左シフトするためのマルチプレクサと、係数と
シフトした入力整数を乗算するための整数乗算器と、2
モードQ値処理装置であって前記処理装置が前向きモー
ドにある場合シフト整数は0に設定され係数はQ値に等
しく設定され、また、前記処理装置が逆向きモードにあ
る場合シフト整数はQ指数部に設定され係数はQ仮数部
に等しく、Q値=Q仮数部*2^Q指数部とするものと
を設けたことを特徴とする2モード処理装置。25. In a forward mode / reverse mode bimodal processor for performing multiplication of an input integer and a Q value to calculate a product, the input integer is left-shifted by shifting an integer number of bits. , An integer multiplier for multiplying the coefficient with the shifted input integer, and 2
A mode Q value processor, the shift integer is set to 0 and the coefficient is set equal to the Q value when the processor is in forward mode, and the shift integer is Q index when the processor is in reverse mode. The two-mode processing device is characterized in that the coefficient set to the part is equal to the Q mantissa part, and Q value = Q mantissa part * 2 ^ Q exponent part.
てQ値が前記圧縮係数に反比例し、逆向きモードにおい
てQ値は前記圧縮係数に比例し、これによって、装置が
データ圧縮/伸長装置として機能することを特徴とする
請求項25に記載の2モード処理装置。26. Including a compression factor, the Q factor is inversely proportional to the compression factor in forward mode and the Q factor is inversely proportional to the compression factor in reverse mode, whereby the device functions as a data compression / decompression device. The two-mode processing device according to claim 25, wherein:
トの保存レジスタと、16ビットの保存レジスタとを含
み、Q指数部が前記4ビット保存レジスタに保存され、
Q仮数部が前記12ビット保存レジスタに保存され、入
力整数が前記16ビット保存レジスタに保存されるよう
にしたことを特徴とする請求項26記載の2モード処理
装置。27. A 4-bit storage register, a 12-bit storage register, and a 16-bit storage register, wherein a Q exponent part is stored in the 4-bit storage register,
27. The two-mode processing device according to claim 26, wherein a Q mantissa part is stored in the 12-bit storage register and an input integer is stored in the 16-bit storage register.
Nビットが乗算器出力から切り取られることを特徴とす
る請求項25記載の2モード処理装置。28. The Q value is premultiplied by 2 ^ N,
26. The bimodal processor of claim 25, wherein N bits are clipped from the multiplier output.
化チェン変換係数であることを特徴とする請求項25記
載の2モード処理装置。29. The two-mode processing apparatus according to claim 25, wherein the input integer is a generalized Chien transform coefficient in the backward mode.
因重み付け係数に比例し、また、逆向きモードにおいて
Q値が逆向き心理的要因重み付け係数に比例することを
特徴とする請求項26記載の2モード処理装置。30. The Q value in a forward mode is proportional to a psychological factor weighting coefficient, and the Q value in a reverse mode is proportional to a reverse psychological factor weighting coefficient. Mode processor.
ング係数に比例することを特徴とする請求項26記載の
2モード処理装置。31. The two-mode processor according to claim 26, wherein the Q value is proportional to the debraling coefficient in the forward mode.
計算するための前向きモード/逆向きモードの2モード
処理装置において、入力乗数をビットの整数個分のシフ
トにより左シフトするためのマルチプレクサと、係数と
入力整数を予め乗算するための整数乗算器ユニットと、
2モードQ値処理装置であって前記処理装置が前向きモ
ードにある場合シフト整数は0に設定され係数はQ値に
設定され、また、前記処理装置が逆向きモードにある場
合シフト整数はQ指数部に設定され係数はQ仮数部に等
しく、Q値=Q仮数部*2^Q指数部とするものとを設
けたことを特徴とする2モード処理装置。32. In a forward mode / reverse mode bimodal processor for performing multiplication of an input integer and a Q value to calculate a product, the input multiplier is left-shifted by shifting an integer number of bits. And an integer multiplier unit for pre-multiplying the coefficient with the input integer,
The shift integer is set to 0 and the coefficient is set to the Q value when the processing device is in the forward mode and the processing device is in the forward mode, and the shift integer is the Q index when the processing device is in the backward mode. The two-mode processing device is characterized in that the coefficient set to the part is equal to the Q mantissa part, and Q value = Q mantissa part * 2 ^ Q exponent part.
てQ値は前記圧縮係数と反比例し、逆向きモードにおい
てQ値は前記圧縮係数に比例し、これによって、装置が
データ圧縮/伸長装置として機能することを特徴とする
請求項32記載の2モード処理装置。33. A compression factor is included, in a forward mode the Q factor is inversely proportional to the compression factor, and in the reverse mode the Q factor is proportional to the compression factor, whereby the device is a data compression / decompression device. 33. The bimodal processor of claim 32, which is functional.
トの保存レジスタと、16ビットの保存レジスタとを含
み、Q指数部が前記4ビット保存レジスタに保存され、
Q仮数部が前記12ビット保存レジスタに保存され、入
力整数が前記16ビット保存レジスタに保存されるよう
にしたことを特徴とする請求項33記載の2モード処理
装置。34. A 4-bit storage register, a 12-bit storage register, and a 16-bit storage register, wherein a Q exponent part is stored in the 4-bit storage register,
34. The two-mode processing device according to claim 33, wherein a Q mantissa part is stored in the 12-bit storage register and an input integer is stored in the 16-bit storage register.
Nビットが乗算器出力から切り取られることを特徴とす
る請求項33記載の2モード処理装置。35. The Q value is premultiplied by 2 ^ N,
34. The bimodal processor of claim 33, wherein N bits are clipped from the multiplier output.
み、Q値と、積と、入力整数とが前記保存レジスタ内に
保存されるようにしたことを特徴とする請求項35記載
の2モード処理装置。36. Two-mode processing according to claim 35, comprising three sets of 16-bit storage registers, wherein the Q value, the product, and the input integer are stored in the storage registers. apparatus.
化チェン変換係数をなすことを特徴とする請求項32記
載の2モード処理装置。37. The two-mode processor of claim 32, wherein the input integers form a generalized Chien transform coefficient in reverse mode.
因重み付け係数に比例し、また、逆向きモードにおいて
Q値が逆向き心理的要因重み付け係数に比例することを
特徴とする請求項33記載の2モード処理装置。38. The Q value in a forward mode is proportional to a psychological factor weighting coefficient, and the Q value in a reverse mode is proportional to a reverse psychological factor weighting coefficient. Mode processor.
ング係数に比例することを特徴とする請求項33記載の
2モード処理装置。39. The two-mode processing device according to claim 33, wherein the Q value is proportional to the debraling coefficient in the forward mode.
イン化構造を用いる2次元変換方法において、前記2次
元変換を2つの連続した1次元変換に分割し、ここで前
記2つの1次元変換が各々高速段階と低速段階に分割さ
れ、前記高速段階は前記低速段階より高速な計算時間を
有するようになす段階と、前記2つの1次元変換の前記
2つの高速段階を前記パイプライン化構造の一つの部分
で実行する段階とを有することを特徴とする2次元変換
方法。40. In a two-dimensional transformation method using a pipelined structure to perform a two-dimensional transformation, the two-dimensional transformation is divided into two consecutive one-dimensional transformations, wherein the two one-dimensional transformations are Each of the two steps is divided into a high speed step and a low speed step, the high speed step has a faster calculation time than the low speed step, and the two high speed steps of the two one-dimensional transformations are combined into a pipeline structure. A two-dimensional conversion method comprising the steps of: performing in two parts.
ネットワークにより実行させるようにしたことを特徴と
する請求項40記載の2次元変換方法。41. The two-dimensional conversion method according to claim 40, wherein each of the high-speed steps is executed by a network of adder circuit arrays.
算回路アレイのネットワークにより連続して実行させる
ようにしたことを特徴とする請求項40記載の2次元変
換方法。42. The two-dimensional conversion method according to claim 40, wherein the two high-speed steps are successively executed by a network of substantially the same adder circuit array.
単一の段階として実行させるようにしたことを特徴とす
る請求項42記載の2次元変換方法。43. The two slow stages are algebraically integrated,
The two-dimensional conversion method according to claim 42, wherein the two-dimensional conversion method is executed as a single step.
ン変換を近似する一般化チェン変換であることを特徴と
する請求項43記載の2次元変換方法。44. The two-dimensional conversion method according to claim 43, wherein the one-dimensional conversion is a generalized Cheng transform that approximates a discrete cosine transform.
変換を実行するためのパイプライン化構造を有する2次
元変換装置において、 前記パイプライン化構造のパイプライン内の第1の処理
装置であって、前記1次元変換の各々が第1の部分と第
2の部分に分割でき、前記第1の処理装置が前記1次元
変換の前記第1の部分を実行することと、第1の組のベ
クトルを再配列して第2の組のベクトルを生成するため
の前記パイプライン化構造のパイプライン内の移項装置
であって、前記第1の組のベクトルのM番目のベクトル
のN番目のエントリーが前記第2の組のベクトルのN番
目のベクトルのM番目のエントリーとなることと、 前記第2の処理装置が、 1次元変換の前記第2の部分を実行するための前記パイ
プライン化構造のパイプライン内の終段処理装置と、 転送システムであって、この転送システムが、 第3の組のベクトルを前記第1の処理装置へ導入して前
記第1の組のベクトルを生成させるための手段と、 前記第1の組のベクトルを前記移項装置へ導入して前記
第2の組のベクトルを生成させるための手段と、 前記第2の組のベクトルを前記第1の処理装置へ導入し
て第4の組のベクトルを生成させるための手段と、 前記第4の組のベクトルを前記第2の処理装置へ導入し
て2次元変換されたベクトルの組を生成させるための手
段を含むことによりなることを特徴とする2次元変換装
置。45. A two-dimensional conversion device having a pipelined structure for executing a two-dimensional conversion divided into two one-dimensional conversions, wherein a first processing device in the pipeline of the pipelined structure is used. And each of the one-dimensional transforms can be divided into a first part and a second part, the first processing device performing the first part of the one-dimensional transform, and a first set A vector in the pipeline of the pipelined structure for rearranging the vectors of the first set of vectors to generate the second set of vectors, the Nth vector of the Mth vector of the first set of vectors. The entry is the Mth entry of the Nth vector of the second set of vectors, and the second processor is pipelined to perform the second part of the one-dimensional transformation. Construction pipeline And a transfer system for introducing a third set of vectors into the first processing unit to generate the first set of vectors. Means for introducing the first set of vectors into the transfer device to generate the second set of vectors; and introducing the second set of vectors into the first processing device. And means for generating a vector of four sets, and means for introducing the vector of the fourth set to the second processing device to generate a two-dimensionally transformed vector set. A two-dimensional conversion device characterized by the above.
組が、M個の元からなるM×1ベクトルよりなることを
特徴とする請求項45記載の2次元変換装置。46. The two-dimensional conversion apparatus according to claim 45, wherein the set of the first vector, the second vector, the third vector, and the fourth vector is an M × 1 vector consisting of M elements.
するための第1の処理装置の処理時間が、変換されたベ
クトルの組を生成するための第2の処理装置の処理時間
より大幅に大きくないことを特徴とする請求項45記載
の2次元変換装置。47. The processing time of the first processor for generating the vectors of the first set and the fourth set is the processing time of the second processor for generating the set of transformed vectors. 46. The two-dimensional conversion device according to claim 45, which is not significantly larger.
ットワークからなることを特徴とする請求項47記載の
2次元変換装置。48. The two-dimensional conversion device according to claim 47, wherein the first processing device comprises a network of adder circuit arrays.
第2の部分を代数的に統合することを特徴とする請求項
48記載の2次元変換装置。49. The two-dimensional conversion apparatus according to claim 48, wherein the second processing device algebraically integrates the second parts of the two one-dimensional conversions.
ン変換を近似する一般化チェン変換よりなることを特徴
とする請求項49記載の2次元変換装置。50. The two-dimensional conversion apparatus according to claim 49, wherein the one-dimensional conversion comprises a generalized Cheng transform that approximates a discrete cosine transform.
を受信しまた前記入力画素を時分割構成において加算回
路アレイ手段のみを用いて水平方向又は垂直方向に変換
するための変換手段と、水平方向又は垂直方向に変換さ
れた画素を垂直又は水平に回転させるための移項用メモ
リ手段と、前記変換手段が垂直又は水平方向の画素を受
信するための手段と垂直又は水平方向の画素を前記加算
回路アレイ手段を用いて垂直方向又は水平方向に変換す
るための手段と、前記変換された画素を受信するためと
前記変換された画素に対して単一の乗算機能を実行して
前記入力画素を表わす圧縮された画素データを提供する
ための単一の乗算回路手段とよりなることを特徴とする
静止画像データの圧縮装置。51. Converting means for receiving an input pixel having a certain bit width and converting the input pixel in the horizontal direction or the vertical direction by using only the adder circuit array means in a time division configuration; Transferring memory means for rotating vertically converted pixels vertically or horizontally, means for the converting means to receive vertical or horizontal pixels, and vertical or horizontal pixels for the adder circuit array Means for transforming vertically or horizontally using means, and compression for receiving the transformed pixels and performing a single multiplication function on the transformed pixels to represent the input pixels. A device for compressing still image data, comprising a single multiplication circuit means for providing compressed pixel data.
を時分割構成において受信し加算回路アレイ手段のみを
用いて水平方向又は垂直方向に前記入力画素を変換する
段階と、前記変換された画素を垂直又は水平方向に回転
させる段階と、垂直又は水平方向の画素を前記加算回路
アレイ手段のみを用いて変換する段階と、前記変換され
た画素に対して単一の乗算機能を実行することで前記入
力画素を表わす圧縮された画素データを提供する段階と
よりなることを特徴とする静止画像データの圧縮方法。52. A step of receiving an input pixel having a certain bit width in a time division configuration and converting the input pixel in a horizontal direction or a vertical direction using only an adder circuit array means; and the step of converting the converted pixel in a vertical direction. Or horizontally rotating, converting vertical or horizontal pixels using only the adder circuit array means, and performing a single multiplication function on the converted pixels to input the input. A method of compressing still image data, comprising: providing compressed pixel data representing a pixel.
るための手段と、前記画素データを圧縮するための一般
化チェン変換手段とよりなり、前記一般化チェン変換手
段は、前記画像データを加算回路のみを用いて水平方向
に変換するためのGCT加算回路手段と、水平方向に変
換された画素を垂直に回転させるための移項用メモリ手
段を含み、前記GCT加算回路手段は前記加算回路のみ
を用いて垂直方向の画素を垂直に変換するための手段
と、前記変換された垂直画素に対して乗算機能を実行し
前記入力画素を表わす圧縮された画素データを提供する
ための乗算回路手段であって、前記GCT加算回路手段
は前記水平及び垂直方向の変換の前半を変換するための
第1のGCT加算回路ネットワーク段と前記水平及び垂
直方向の変換の後半を変換するための第2のGCT加算
回路ネットワーク段を含むことを特徴とする静止画像デ
ータの圧縮システム。53. Means for receiving input pixel data representing an image and generalized Chien conversion means for compressing said pixel data, said generalized Chien conversion means adding said image data. GCT adder circuit means for converting the pixel converted in the horizontal direction to the horizontal direction and a memory means for transfer for vertically rotating the pixel converted in the horizontal direction. The GCT adder circuit means uses only the adder circuit. Means for vertically converting vertical pixels into a vertical direction, and multiplication circuit means for performing a multiplication function on the converted vertical pixels to provide compressed pixel data representing the input pixels. The GCT adder circuit means includes a first GCT adder circuit network stage for converting the first half of the horizontal and vertical conversions and a second half of the horizontal and vertical conversions. A system for compressing still image data, comprising a second GCT adder circuit network stage for converting.
ーク段が、時分割構成において前記画素を水平方向及び
垂直方向に変換することを特徴とする請求項53記載の
静止画像テータ圧縮システム。54. The still image data compression system of claim 53, wherein the first and second GCT summing circuit network stages transform the pixels horizontally and vertically in a time division configuration.
むことを特徴とする請求項54記載の静止画像データの
圧縮システム。55. The still image data compression system of claim 54, wherein the multiplication circuit means includes zigzag ordering means.
を特徴とする請求項55記載の静止画像データの圧縮シ
ステム。56. A still image data compression system according to claim 55, wherein the multiplication circuit means includes rounding means.
むことを特徴とする請求項56記載の静止画像データの
圧縮システム。57. A still image data compression system as set forth in claim 56, wherein the multiplication circuit means includes multiplication table means.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US84376592A | 1992-02-28 | 1992-02-28 | |
US07/843,765 | 1992-02-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0646269A true JPH0646269A (en) | 1994-02-18 |
JP3155383B2 JP3155383B2 (en) | 2001-04-09 |
Family
ID=25290953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03381393A Expired - Fee Related JP3155383B2 (en) | 1992-02-28 | 1993-02-24 | Two-mode processing device, two-dimensional conversion device, and still image data compression system |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP3155383B2 (en) |
DE (1) | DE4306010C2 (en) |
GB (1) | GB2264609B (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7400682B2 (en) | 2001-08-09 | 2008-07-15 | Sharp Laboratories Of America, Inc. | Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices |
JP2010011386A (en) * | 2008-06-30 | 2010-01-14 | Nec Electronics Corp | Image processing circuit and display panel driver packaging the same, and display |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3971135B2 (en) * | 2001-07-11 | 2007-09-05 | 株式会社テクノマセマティカル | DCT matrix decomposition method and DCT apparatus |
WO2010091930A2 (en) * | 2009-02-12 | 2010-08-19 | Zoran (France) | Frame buffer compression for video processing devices |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5021891A (en) * | 1990-02-27 | 1991-06-04 | Qualcomm, Inc. | Adaptive block size image compression method and system |
US5129015A (en) * | 1990-04-19 | 1992-07-07 | Ricoh Company Ltd. | Apparatus and method for compressing still images without multiplication |
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 |
JP3336029B2 (en) * | 1991-01-02 | 2002-10-21 | 株式会社リコー | Quantizing method and apparatus for image compression |
GB2259824B (en) * | 1991-09-19 | 1995-01-18 | Sony Broadcast & Communication | Data compression |
-
1993
- 1993-02-24 JP JP03381393A patent/JP3155383B2/en not_active Expired - Fee Related
- 1993-02-26 DE DE19934306010 patent/DE4306010C2/en not_active Expired - Fee Related
- 1993-03-01 GB GB9304142A patent/GB2264609B/en not_active Expired - Fee Related
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE44138E1 (en) | 2001-08-09 | 2013-04-09 | Sharp Kabushiki Kaisha | Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices |
USRE42745E1 (en) | 2001-08-09 | 2011-09-27 | Sharp Kabushiki Kaisha | Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices |
US7400682B2 (en) | 2001-08-09 | 2008-07-15 | Sharp Laboratories Of America, Inc. | Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices |
USRE47277E1 (en) | 2001-08-09 | 2019-03-05 | Dolby Laboratories Licensing Corporation | Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices |
USRE44234E1 (en) | 2001-08-09 | 2013-05-21 | Sharp Kabushiki Kaisha | Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices |
USRE43091E1 (en) | 2001-08-09 | 2012-01-10 | Sharp Kabushiki Kaisha | Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices |
USRE47258E1 (en) | 2001-08-09 | 2019-02-26 | Dolby Laboratories Licensing Corporation | Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices |
USRE44285E1 (en) | 2001-08-09 | 2013-06-11 | Sharp Kabushiki Kaisha | Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices |
USRE46370E1 (en) | 2001-08-09 | 2017-04-18 | Dolby Laboratories Licensing Corporation | Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices |
USRE44891E1 (en) | 2001-08-09 | 2014-05-13 | Sharp Kabushiki Kaisha | Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices |
USRE44319E1 (en) | 2001-08-09 | 2013-06-25 | Sharp Kabushiki Kaisha | Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices |
US8385668B2 (en) | 2008-06-30 | 2013-02-26 | Renesas Electronics Corporation | Image processing circuit, and display panel driver and display device mounting the circuit |
JP2010011386A (en) * | 2008-06-30 | 2010-01-14 | Nec Electronics Corp | Image processing circuit and display panel driver packaging the same, and display |
US8923636B2 (en) | 2008-06-30 | 2014-12-30 | Renesas Sp Drivers Inc. | Image processing circuit, and display panel driver and display device mounting the circuit |
JP4507265B2 (en) * | 2008-06-30 | 2010-07-21 | ルネサスエレクトロニクス株式会社 | Image processing circuit, and display panel driver and display device having the same |
US8111933B2 (en) | 2008-06-30 | 2012-02-07 | Renesas Electronics Corporation | Image processing circuit, and display panel driver and display device mounting the circuit |
US7912304B2 (en) | 2008-06-30 | 2011-03-22 | Renesas Electronics Corporation | Image processing circuit, and display panel driver and display device mounting the circuit |
Also Published As
Publication number | Publication date |
---|---|
DE4306010A1 (en) | 1993-09-23 |
JP3155383B2 (en) | 2001-04-09 |
DE4306010C2 (en) | 1997-11-06 |
GB9304142D0 (en) | 1993-04-14 |
GB2264609A (en) | 1993-09-01 |
GB2264609B (en) | 1996-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2821489B2 (en) | Still image compression processing apparatus and method | |
US5319724A (en) | Apparatus and method for compressing still images | |
JP5623565B2 (en) | Apparatus and method for encoding and calculating a discrete cosine transform using a butterfly processor | |
US7693339B2 (en) | Method and apparatus for faster-than-real-time lossless compression and decompression of images | |
US5825680A (en) | Method and apparatus for performing fast division | |
US20070094320A1 (en) | Parallel Adder-Based DCT / IDCT Design Using Cyclic Convolution | |
JPH07236143A (en) | High-speed digital signal decoding method | |
MX2008008987A (en) | Transforms with common factors. | |
US7649939B2 (en) | Apparatus and method for decoding and computing a discrete cosine transform using a butterfly processor | |
US7076105B2 (en) | Circuit and method for performing a two-dimensional transform during the processing of an image | |
JP3857308B2 (en) | Apparatus and method for performing inverse discrete cosine transform | |
JP3155383B2 (en) | Two-mode processing device, two-dimensional conversion device, and still image data compression system | |
KR100227271B1 (en) | Inverse discrete cosine transformation method | |
US5664028A (en) | Apparatus and method for compressing still images | |
US5594812A (en) | Apparatus and method for compressing still images | |
JPH0595483A (en) | Device and method for picture compression | |
JPH0645947A (en) | Orthogonal converter and reverse orthogonal converter | |
JP2000175061A (en) | Color transformation processing method and device | |
JPH04222122A (en) | Data compressor | |
JPH08305684A (en) | Butterfly operation device and inverse discrete cosine transformer | |
KR960014196B1 (en) | Inverse discrete cosine transform processor | |
JPH0746136A (en) | Acoustic or picture conversion processor, acoustic or picture data processor, acoustic or picture data processing method, arithmetic processor, and data processor | |
JPH01198882A (en) | Decoder for coding system with high efficiency for television signal | |
JPH04222121A (en) | Data compressor | |
JPH05206868A (en) | Method and device for improving throughput for acoustic or image compression system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080202 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090202 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100202 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |