JPH0746136A - Acoustic or picture conversion processor, acoustic or picture data processor, acoustic or picture data processing method, arithmetic processor, and data processor - Google Patents

Acoustic or picture conversion processor, acoustic or picture data processor, acoustic or picture data processing method, arithmetic processor, and data processor

Info

Publication number
JPH0746136A
JPH0746136A JP6002391A JP239194A JPH0746136A JP H0746136 A JPH0746136 A JP H0746136A JP 6002391 A JP6002391 A JP 6002391A JP 239194 A JP239194 A JP 239194A JP H0746136 A JPH0746136 A JP H0746136A
Authority
JP
Japan
Prior art keywords
data
double vector
bit
register means
arithmetic processor
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.)
Pending
Application number
JP6002391A
Other languages
Japanese (ja)
Inventor
Dei Aren Jieimusu
ディ アレン ジェイムス
Pii Booritsuku Maatein
ピィ ボーリック マーティン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JPH0746136A publication Critical patent/JPH0746136A/en
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

PURPOSE:To increase the throughput of an acoustic or picture compression system. CONSTITUTION:The same devices as in a standard system are used for devices up to an NXN division unit 20 and devices following a unit 40, in a transformed image compression system. Outputs 25a and 25b of the NXN division unit 20 consist of NXN picture element blocks. The pair of adjacent picture element blocks 25a and 25b are coupled into a double vector 29 by a double vector generating unit 27, and this double vector 29 is transformed by a two-dimensional transformation unit 30 which adopts addition, subtraction, and shift to execute the GCU transformation. An output double vector 31 is decomposed to a standard numerical form by a number extracting unit 33 to obtain transformation coefficients 35. The transformation coefficients 35 are quantized by the quantizing unit 40 and are encoded by an encoder 50.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は画像データの圧縮のため
の装置及び方法、並びに、加算、減算及びシフト操作を
伴うプロセッサのスループットを向上させるための装置
及び方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an apparatus and method for compressing image data, and an apparatus and method for improving the throughput of a processor involving addition, subtraction and shift operations.

【0002】[0002]

【従来の技術】本出願は、1992年7月7日発行の米
国特許第5,129,015号、当該特許第5,12
9,015号の一部継続出願であるところの係属中の米
国特許出願第07/743,517号(受理日:199
1年8月9日,発明の名称:静止画像を圧縮するための
装置及び方法)、並びに、当該米国特許出願第07/7
43,517号の一部継続出願であるところの係属中の
米国特許出願第07/811,468号(受理日:19
91年12月19日,発明の名称:静止画像を圧縮する
ための装置及び方法)と関連する。これら関連特許出願
の詳細は、参照によって本明細書に組み込まれる。
BACKGROUND OF THE INVENTION This application is directed to U.S. Pat. No. 5,129,015, issued Jul. 7, 1992, which is hereby incorporated by reference.
Co-pending U.S. patent application Ser. No. 07 / 743,517, dated 199
Aug. 9, 1st, Title of the Invention: Apparatus and method for compressing still images) and US patent application Ser. No. 07/7
No. 43,517, a continuation-in-part application of pending US patent application Ser. No. 07 / 811,468 (receipt date: 19
December 19, 1991, Title of Invention: Apparatus and method for compressing still images). The details of these related patent applications are incorporated herein by reference.

【0003】しかしながら、本発明の態様は、そのよう
な画像圧縮システムに限定されない。むしろ、本発明
は、音響データ圧縮システム等の一般的なデータ信号処
理システムのスループットを向上させるための装置と方
法に向けられている。
However, aspects of the invention are not limited to such image compression systems. Rather, the present invention is directed to apparatus and methods for improving the throughput of general data signal processing systems, such as acoustic data compression systems.

【0004】信号処理においては、しばしば時間のかか
る計算を実行する必要がある。今日の汎用プロセッサ
(例えばモトローラ68020)は32ビットの算術デ
ータパスを持っているのが普通であるが、これは本発明
に関係する音響又は画像処理のような重要な用途には必
要以上に高精度である。音響又は画像処理の環境では、
それより精度が低くてもより高速であるほうが望ましい
といえよう。
In signal processing, it is often necessary to perform time-consuming calculations. Today's general purpose processors (eg Motorola 68020) typically have a 32-bit arithmetic data path, which is unnecessarily high for critical applications such as audio or image processing in connection with the present invention. It is precision. In an acoustic or image processing environment,
It would be desirable to be faster with less precision.

【0005】例えば、前記の関連特許及び関連特許出願
に述べられている一般化チェン変換(Generalized Ch
en Transform, GCT)を実現するには、加算、減算
及びシフト操作だけを用い、最後に加算を用いて離散的
コサイン変換(DCT)を近似することになる。許容さ
れる画像品質を得るのには、32ビットの精度は必要な
い。したがって、2個の16ビットワードのデータを結
合して1個の32ビットワードとし、2個の16ビット
ワードを32ビットプロセッサで並列に処理して2個の
16ビットワードの出力データを抽出することによっ
て、GCTのスループットを飛躍的に向上させることが
できる。このプロセスによれば、単一命令・単一データ
(SISD)マシンを単一命令・複数データ(SIM
D)マシンとして動作させることができる。
For example, the generalized Chen transform (Generalized Ch) described in the related patents and patent applications mentioned above.
en Transform, GCT) would use only add, subtract and shift operations, and finally add to approximate the discrete cosine transform (DCT). 32-bit precision is not required to obtain acceptable image quality. Therefore, the data of two 16-bit words are combined into one 32-bit word, and the two 16-bit words are processed in parallel by a 32-bit processor to extract the output data of the two 16-bit words. As a result, the throughput of GCT can be dramatically improved. According to this process, a single instruction, single data (SISD) machine can be used for single instruction, multiple data (SIM
D) It can be operated as a machine.

【0006】[0006]

【発明が解決しようとする課題】本発明の一つの目的
は、データ、特に静止画像データを圧縮するための装置
及びその方法を提供することである。
SUMMARY OF THE INVENTION One object of the present invention is to provide an apparatus and method for compressing data, especially still image data.

【0007】本発明の特に目的とするところは、音響又
は静止画像を圧縮し、かつスループットを増大させるた
めの装置及びその方法を提供することである。
It is a particular object of the present invention to provide an apparatus and method for compressing audio or still images and increasing throughput.

【0008】本発明のもう一つの目的は、単一命令・単
一データマシンを単一命令・複数データマシンとして動
作させることによって、スループットを向上させるため
の方法を提供することである。
Another object of the present invention is to provide a method for improving throughput by operating a single instruction / single data machine as a single instruction / multiple data machine.

【0009】[0009]

【課題を解決するための手段】本発明によれば、音響又
は画像圧縮システムなどのデータ処理システムのスルー
プットを増大させるための装置及び方法が提供させる。
この装置又は方法にあっては、2組の複数の数の加算ま
たは減算は、これら数を結合して”ダブルベクトル”の
ペアにし、このダブルベクトルのペアを加算又は減算
し、結果のダブルベクトルを分離して元の複数の数に対
する加算又は減算の結果を表わす値を求めることによ
り、並列に成し遂げられる。同様に、複数の数の左シフ
トは、それらの数を結合して1つのダブルベクトルに
し、このダブルベクトルを左シフトし、元の数の左シフ
ト後の値を表わす複数の数を取り出すことによって、成
し遂げられる。
According to the present invention, there is provided an apparatus and method for increasing the throughput of a data processing system, such as an audio or image compression system.
In this device or method, two sets of numbers are added or subtracted by combining these numbers into a "double vector" pair, adding or subtracting this double vector pair, and the resulting double vector Can be accomplished in parallel by separating and separating the values to obtain a value representing the result of the addition or subtraction on the original numbers. Similarly, multiple numbers left-shifted by combining them into a double vector, left-shifting this double vector, and retrieving multiple numbers that represent the left-shifted value of the original number. Can be accomplished.

【0010】[0010]

【作用】上述のような本発明の装置又は方法によれば、
加算、減算及びシフトを用い、一般化チェン変換のよう
な線形変換をダブルベクトルを使用して実行することに
より、計算速度を大幅に上げることができる。
According to the apparatus or method of the present invention as described above,
By performing a linear transformation such as a generalized Cheng transformation using a double vector with addition, subtraction and shift, the calculation speed can be significantly increased.

【0011】例えば、32ビットの算術データパスを持
つ単一命令・単一データの汎用プロセッサを用いる場合
において、2個の16ビットワードのデータを結合して
1個の32ビットワードとし、2個の16ビットワード
をプロセッサで並列に処理して2個の16ビットワード
の出力データを抽出することにより、単一命令・単一デ
ータのマシンを単一命令・複数データマシンとして動作
させることができるため、GCT等のスループットを飛
躍的に増大できる。
For example, in the case of using a single instruction / single data general-purpose processor having a 32-bit arithmetic data path, two 16-bit word data are combined into one 32-bit word and two A 16-bit word can be processed in parallel by a processor and two 16-bit words of output data can be extracted to operate a single instruction / single data machine as a single instruction / multiple data machine. Therefore, the throughput of GCT or the like can be dramatically increased.

【0012】なお、本発明の以上に述べた特徴以外の特
徴及び利点は、以下の説明により明かになろう。
The features and advantages of the present invention other than those described above will be apparent from the following description.

【0013】[0013]

【実施例】本発明の実施態様を詳細に説明する前に、前
記の関連特許及び関連特許出願について簡単に説明す
る。しかしながら、先に指摘したように、本発明はその
ような圧縮システムに限定されるものではない。むし
ろ、本発明は、幾つかの入力データ量が結合されること
により、より少ない”ダブルベクトル”(doublevecto
r)が得られ、プロセッサによって入力ダブルベクトル
に演算が施されることにより出力ダブルベクトルが得ら
れ、かつ、幾つかの出力データ量が出力ダブルベクトル
から抽出され、出力ダブルベクトルの個数が出力データ
量の個数より少なくなるような方法と装置を提供する。
Before describing the embodiments of the present invention in detail, the related patents and related patent applications will be briefly described. However, as pointed out above, the present invention is not limited to such compression systems. Rather, the present invention reduces the number of "double vectors" by combining several input data quantities.
r) is obtained, the output double vector is obtained by performing an operation on the input double vector by the processor, and some output data amounts are extracted from the output double vector, and the number of output double vectors is Methods and apparatus are provided that are less than the number of quantities.

【0014】まず、変換画像圧縮(Transform Image
Compression)に関して述べる。この変換画像圧縮は、
近傍画素の集合の値を変換係数の集合に変換することに
よって画像を圧縮する。その利点は、値の変換係数の相
関が対応する画素値の相関より小さい傾向にあるという
ことである。
First, the transformed image compression (Transform Image)
(Compression). This conversion image compression is
The image is compressed by converting the values of the set of neighboring pixels into a set of transform coefficients. The advantage is that the correlation of the transform coefficients of the values tends to be smaller than the correlation of the corresponding pixel values.

【0015】画像中の近傍画素は同じような値であるの
が普通である、つまり、画素の”エネルギー”分布は比
較的均一である。ある変換の係数が非常にばらつく、つ
まり相関がないときには、この変換により良好なエネル
ギー圧縮が得られる。再現信号品質が同じである場合、
変換係数の損失性(lossy)量子化は、オリジナルデー
タの損失性量子化よりも遥かに良好な圧縮が得られる。
(あるいは、圧縮量が同じ場合、変換係数の損失性量子
化は、オリジナルデータの損失性量子化より良好な再現
信号品質を得られる。)この変換画像圧縮のためのシス
テムについて説明する。代表的な変換画像圧縮システム
の一例を図6に示す。(なお、JPEG静止画像圧縮規
格ベースラインシステムは、このようなシステムであ
る。)図6において、原カラー画像8は、色変換ユニッ
ト10で画素がYCRBのような反対色空間に変換され
る。このシステムの他の部分を通じて、一度に1つの色
成分しか処理しない。色変換された画像データ15は、
NxN分割ユニット20によって、NxNブロック(J
PEGの場合は8x8ブロック)に分割される。このN
xNの反対色ブロック25は2次元変換ユニット30で
変換される。
Neighboring pixels in the image are usually of similar value, ie the "energy" distribution of the pixels is relatively uniform. This transform gives good energy compression when the coefficients of a transform are highly variable, ie uncorrelated. If the reproduced signal quality is the same,
Lossy quantization of the transform coefficients yields much better compression than lossy quantization of the original data.
(Alternatively, lossy quantization of transform coefficients can provide better reproduced signal quality than lossy quantization of original data if the amount of compression is the same.) A system for this transform image compression will be described. An example of a typical converted image compression system is shown in FIG. (Note that the JPEG still image compression standard baseline system is such a system.) In FIG. 6, the original color image 8 is converted by the color conversion unit 10 into the opposite color space such as YC R C B. To be done. Through the other parts of the system, only one color component is processed at a time. The color-converted image data 15 is
By the NxN division unit 20, the NxN block (J
In the case of PEG, it is divided into 8 × 8 blocks). This N
The opposite color block 25 of xN is converted by the two-dimensional conversion unit 30.

【0016】2次元変換を、1次元変換を2回通すこと
により実行できれば、大幅に計算量を削減できる。この
場合、2次元変換は分離可能(separable)変換と呼ば
れる。図7は、このタイプの変換の計算のための回路要
素を示す。まず、1D変換ユニット32により、N行の
1xN画像要素25に対し1次元変換が施される。その
結果の変換係数31は置換ユニット34で置換され、別
のN行の1xN係数33が1D変換ユニット36で変換
されることにより、2次元変換を受けた1組の2次元変
換係数35が得られる。
If the two-dimensional conversion can be executed by passing the one-dimensional conversion twice, the amount of calculation can be greatly reduced. In this case, the two-dimensional transformation is called a separable transformation. FIG. 7 shows the circuit elements for the calculation of this type of transformation. First, the 1D conversion unit 32 performs one-dimensional conversion on N rows of 1 × N image elements 25. The resulting conversion coefficient 31 is replaced by the replacement unit 34, and another N row of 1 × N coefficients 33 is converted by the 1D conversion unit 36 to obtain a set of two-dimensional conversion coefficients 35 subjected to two-dimensional conversion. To be

【0017】図6に示すように、変換係数35のブロッ
クは量子化ユニット40で量子化される。既知の数で各
係数35を除することにより量子化が得られる。これに
より、量子化後係数45の符号化に必要なビット数を減
らす。(伸長の時には、係数に同じ既知数を乗ずること
により量子化は逆向きに行なわれる。) なお、整数の
除算により生じる丸め誤差のために量子化が”損失性”
(lossy)であるため、量子化の後に、正確な変換値を
復元できないであろうことに気付くべきである。量子化
後の係数45は、非損失性(lossless)符号器50で、
ハフマン符号化などの何等かのアルゴリズムにより損失
なく符号化されて、1組の符号化変換係数55が得られ
る。
As shown in FIG. 6, the block of transform coefficients 35 is quantized in a quantization unit 40. The quantization is obtained by dividing each coefficient 35 by a known number. This reduces the number of bits required to encode the quantized coefficient 45. (During expansion, quantization is performed in the opposite direction by multiplying the coefficient by the same known number.) Note that the quantization is "lossy" due to the rounding error caused by integer division.
It should be noted that the exact transform value may not be restored after quantization, since it is (lossy). The quantized coefficient 45 is a lossless encoder 50,
It is encoded without loss by some kind of algorithm such as Huffman encoding to obtain a set of encoded transform coefficients 55.

【0018】このシステムを汎用プロセッサを用いソフ
トウエアで実現した場合、システムの最も遅い部分は変
換そのものである。良好なエネルギー圧縮を得るには、
離散的コサイン変換(DCT)のような複雑な変換が必
要である。算術計算は非常にプロセッサ時間を必要とす
る。シフトと加算は除算に比べ非常に高速に行なうこと
ができるので、低速の計算、殊に乗算を、加算、減算及
びシフトで置き換えることによって計算速度を上げるこ
とができる。
When this system is realized by software using a general-purpose processor, the slowest part of the system is the conversion itself. To get good energy compression,
Complex transformations such as the Discrete Cosine Transform (DCT) are required. Arithmetic calculations are very processor time intensive. Since shifts and additions can be performed much faster than divisions, slower computations, especially multiplications, can be replaced by additions, subtractions and shifts to speed up computations.

【0019】米国特許出願第5,129,015号に開
示され、引用によって本明細書に組み込まれたところの
一般化チェン変換は、変換で加算とシフトしか用いな
い。変換に関して必要な乗算はすべて量子化の乗算に併
合されるので、量子化の速度は低下しないのに対し、変
換の速度は大幅に上昇する。
The generalized Cheng transform, disclosed in US Pat. No. 5,129,015 and incorporated herein by reference, uses only addition and shifting in the transform. Since all multiplications required for the transformation are merged into the quantization multiplication, the quantization speed does not decrease, but the conversion speed increases significantly.

【0020】本発明は、2ブロックの要素を1つの普通
の汎用プロセッサを用いて並列に変換させることによっ
て、GCTのような変換は加算及びシフトが非常に多い
という利点を利用する。
The present invention takes advantage of the significant addition and shift of transformations such as GCTs by transforming the two blocks of elements in parallel using one conventional general purpose processor.

【0021】以下、本発明の一態様を説明する。信号処
理においては、時間のかかる算術演算がしばしば必要に
なる。今日の汎用プロセッサは32ビットの算術データ
パスを持つのが普通であるが、本発明に関係する音響又
は画像処理のような重要な用途には必要以上に高精度で
ある。このような音響又は画像処理の環境では、それよ
り精度は低くても、より高速であるほうが望ましいとい
えよう。
One aspect of the present invention will be described below. Signal processing often requires time-consuming arithmetic operations. Today's general-purpose processors typically have a 32-bit arithmetic data path, which is more accurate than necessary for important applications such as audio or image processing in connection with the present invention. In such an acoustic or image processing environment, it may be desirable to be faster, though less accurate.

【0022】本発明は、複数の数を1個の32ビット”
ダブルベクトル”(doublevector)にパックする(詰め
込む)ことによって、上記の目的を達成する。
In the present invention, a plurality of numbers are converted into one 32-bit "
The above objective is achieved by packing (packing) into a double vector.

【0023】例えば、4個の8ビットデータ、または3
個の10ビットデータ(2ビットは予備)、あるいは2
個の16ビットデータを、1個の32ビット・ダブルベ
クトルにパックできる。左シフトは精度の低下を招くの
で、変換プロセスは好ましくは各要素の数の有効ビット
を例えば14ビットに制限するように設計され、32ビ
ット・ダブルベクトルは2個の16ビット数からなる。
For example, 4 pieces of 8-bit data or 3 pieces
10-bit data (2 bits are reserved), or 2
16-bit data can be packed into a 32-bit double vector. The left shift results in a loss of precision, so the conversion process is preferably designed to limit the number of significant bits in each element to, for example, 14 bits, and a 32-bit double vector consists of two 16-bit numbers.

【0024】ここで、2次元変換の速度を上げるためダ
ブルベクトル法を使用する、本発明の好適な一実施例を
図1に示して説明する。ここにに示した変換画像圧縮シ
ステムにおいて、NxN分割ユニット20までの装置
と、量子化ユニット40以降の装置は、図6の標準的圧
縮システムのものと同一である。
A preferred embodiment of the present invention using the double vector method for speeding up two-dimensional conversion will now be described with reference to FIG. In the transformed image compression system shown here, the devices up to the N × N division unit 20 and the devices after the quantization unit 40 are the same as those of the standard compression system of FIG.

【0025】図1に示したように、NxN分割ユニット
20の出力25a及び25bはNxN画素ブロックから
なる。隣接する画素ブロック25a,25bのペアはダ
ブルベクトル生成ユニット27で結合されてダブルベク
トル29を生成する。このダブルベクトル29は、前述
の米国特許において述べられているように、加算、減算
及びシフトを用いてGCT変換を実行する2次元変換ユ
ニット30で変換される。出力ダブルベクトル31は数
抽出ユニット33で標準的な数値形に分解されることに
より、変換係数35が得られる。この変換係数35は上
述のように量子化されてから符号化される。
As shown in FIG. 1, the outputs 25a and 25b of the NxN division unit 20 consist of NxN pixel blocks. A pair of adjacent pixel blocks 25a and 25b are combined in a double vector generation unit 27 to generate a double vector 29. This double vector 29 is transformed in a two-dimensional transformation unit 30 which performs GCT transformation using addition, subtraction and shift, as described in the aforementioned US patent. The output double vector 31 is decomposed by the number extraction unit 33 into a standard numerical form, whereby the conversion coefficient 35 is obtained. The transform coefficient 35 is quantized as described above and then encoded.

【0026】本発明の一つの目的は、図7に示した8要
素GCT変換ユニット32及び36のような線形変換
を、モトローラ製MC68020のような32ビット・
プロセッサ上で高速に行なうことである。好適な一実施
例では、2個の標準的な数が32ビットレジスタ中で結
合される。かくして、SISD(単一命令・単一デー
タ)プロセッサは実質的にSIMD(単一命令・複数デ
ータ)マシンとして扱われることになる。線形変換は、
加算、減算及び定数乗算からなる。この乗算は、加算、
減算、左シフト及び右シフトの幾つかの組み合わせに置
き換えられる。テーブル検索及び乗算は避けられる。
One object of the present invention is to perform a linear conversion such as the 8-element GCT conversion units 32 and 36 shown in FIG. 7 in a 32-bit type such as a Motorola MC68020.
It should be done at high speed on the processor. In one preferred embodiment, two standard numbers are combined in a 32-bit register. Thus, a SIMD (single instruction, single data) processor is effectively treated as a SIMD (single instruction, multiple data) machine. The linear transformation is
It consists of addition, subtraction and constant multiplication. This multiplication is addition,
Replaced by some combination of subtraction, shift left and shift right. Table lookups and multiplications are avoided.

【0027】ここで、加算及び減算で有効ビットが左に
移動することに注目されたい。例えば、有効ビットが6
ビットの2つの数を加算すると有効ビットが7ビットの
数が得られることがある。例えば
Note that addition and subtraction move the significant bit to the left. For example, the effective bit is 6
Adding two numbers of bits may yield a number with 7 significant bits. For example

【0028】[0028]

【数1】 [Equation 1]

【0029】変換のどの計算時点についても最大値は分
かっているので、設計によって、オーバーフローを防止
するように数の最大値は制限される。しかし、負数のサ
インビットは、ダブルベクトルの上位側数の下位ビット
へ移動することがある。変換のサイズ及び要求される正
確さによって、データの”中央戻し”(re-center)の
ために右シフトが必要になることがある。したがって、
5を掛ける代わりに、初めの値に2.5を掛け、か
つ、”パートナー”(partner)値に2.0を掛けるほう
が望ましいことがある(これら二つの値は、何等かの除
算の後、最終的に掛け合わされることになることが分か
っている場合)。
Since the maximum is known at any point in the calculation of the transform, the design limits the maximum to prevent overflow. However, a negative sign bit may move to the lower bits of the upper number of the double vector. Depending on the size of the transform and the accuracy required, a right shift may be required for "re-center" of the data. Therefore,
Instead of multiplying by 5, it may be desirable to multiply the initial value by 2.5 and the "partner" value by 2.0 (these two values are, after some division, If you know that will eventually be multiplied).

【0030】本発明によれば、Nビットの数AとMビッ
トの数Bが結合され、(N+M)ビットの”ダブルベク
トル”数Cが得られる。このダブルベクトルCとその要
素の数であるA,Bとの間の関係は、C=[A,B]な
る式で表わされる。ダブルベクトル数が得られれば、こ
のダブルベクトル数が一連の演算(その大部分は単純な
四則演算である)を施されてダブルベクトル出力が得ら
れる。そして、このダブルベクトル出力が分解されて、
要素数が得られる。例えば、次の加算 X=A1+A2 及び Y=B1+B2 は、次のダブルベクトル C1=[A1,B2] 及び C2=[A2,B2] を生成し、この2つのダブルベクトルの加算、すなわち Z=C1+C2=[X,Y] を実行し、そして、ダブルベクトルZから結果X及びY
を抽出することによって、同時に実行することができ
る。減算も類似の方法で実行される。
According to the invention, the N-bit number A and the M-bit number B are combined to obtain an (N + M) -bit "double vector" number C. The relationship between this double vector C and the numbers of its elements, A and B, is expressed by the equation C = [A, B]. When the number of double vectors is obtained, the number of double vectors is subjected to a series of operations (most of which are simple arithmetic operations) to obtain a double vector output. And this double vector output is decomposed,
The number of elements is obtained. For example, the following addition X = A1 + A2 and Y = B1 + B2 produces the following double vectors C1 = [A1, B2] and C2 = [A2, B2], the addition of these two double vectors, ie Z = C1 + C2 = [X, Y], and the result X and Y from the double vector Z
Can be executed simultaneously by extracting Subtraction is performed in a similar way.

【0031】同様に、2つの(モノベクトル,monovect
or)数A及びBのnビット左シフトは、次のダブルベク
トル C=[A,B] を定義し、このCに対して左シフトを実行して出力ベク
トルC′ C′=C<<n (”<<n”はnビットの左シフトを表わす。)を作り、
右側に0を詰め、ダブルベクトルC′を分解してA′と
B′(ただし、C′=[A′,B′]、A′=A<<n,
B′=B<<n)を求めることによって、同時に実行する
ことができる。
Similarly, two (mono vector, monovect
or) The n-bit left shifts of the numbers A and B define the following double vector C = [A, B] and perform a left shift on this C to output vector C ′ C ′ = C << n ("<<n" represents an n-bit left shift),
The right vector is padded with 0s and the double vector C'is decomposed into A'and B '(where C' = [A ', B'], A '= A << n,
By executing B '= B << n), it is possible to execute simultaneously.

【0032】最初のダブルベクトル生成方法を線形法と
呼ぶ。この線形法によれば、mビットの数Aとnビット
の数Bから生成されたダブルベクトルCは、 C=[A,B]=A*2n+B で定義される。CからのA及びBの抽出は B=C−((C>>n)*2n) 及び A=(C−B)/2n で与えられる。ここで、”>>n”はnビット右へシフト
しかつサインビットを左側へ送ることを意味する。本好
適実施例では、A及びBは符号付の2の補数の整数であ
り、Cは32ビットのダブルベクトルであり、 C=[A,B]=A*216+B である。そして、抽出は B=C−((C>>16)*216 及び A= (C−B)/216 で与えられる。(あるいは、A=C>>16、その他等価
な算術演算とブール演算の組み合わせで与えられる。)
例えば、 A=0x0041=65 B=0xFFF7=−9 の時には、 C=[A,B]=(65x216)−9=0x0040 FFF7 である。ここで、0xのプリフィックスを持つ数は16
進で表現されている。
The first double vector generation method is called a linear method. According to this linear method, the double vector C generated from the m-bit number A and the n-bit number B is defined by C = [A, B] = A * 2 n + B. The extraction of A and B from C is given by B = C-((C >> n) * 2n ) and A = (CB) / 2n . Here, ">>n" means shift n bits to the right and send the sign bit to the left. In the preferred embodiment, A and B are signed two's complement integers, C is a 32-bit double vector, and C = [A, B] = A * 2 16 + B. The extraction is then given by B = C-((C >> 16) * 2 16 and A = (C−B) / 2 16 (or A = C >> 16, other equivalent arithmetic operations and booleans. It is given as a combination of operations.)
For example, when A = 0x0041 = 65 B = 0xFFF7 = -9, C = [A, B] = (65x2 16 ) -9 = 0x0040 FFF7. Here, the number with 0x prefix is 16
It is expressed in hex.

【0033】線形法を用いると、2つの16ビット数0
x0041及び0x0041と2つの16ビット数0x
FF7及び0xFFF7の加算を結合するには、2つの
32ビットのダブルベクトルの加算、すなわち
Using the linear method, two 16-bit numbers 0
x0041 and 0x0041 and two 16-bit numbers 0x
To combine the additions of FF7 and 0xFFF7, add two 32-bit double vectors, ie

【0034】[0034]

【数2】 [Equation 2]

【0035】を実行すればよい。The following may be executed.

【0036】これにより得られた和を前述の方法で分解
することにより、次の和 0x0081=129 及び 0xFFEE=−18 が得られる。
By decomposing the sum thus obtained by the above method, the following sums 0x0081 = 129 and 0xFFEE = -18 are obtained.

【0037】ダブルベクトルを生成するもう一つの方法
はパック法と呼ばれる。パック法によれば、(m+n)
ビットのダブルベクトルCがmビット数Aとnビット数
Bから C=(A<<n)||B ここで、”||”は論理OR演算を意味する。
Another method of generating a double vector is called a pack method. According to the pack method, (m + n)
From the m-bit number A and the n-bit number B, the bit double vector C is C = (A << n) || B where "||" means a logical OR operation.

【0038】により生成される。したがって、AはCの
高位部分にそのまま入れられ、BはCの最下位のnビッ
トに入れられる。その逆演算は A=C>>n 及び B=C&&(2n−1) である。ここで、”&&”は論理AND演算を意味する。
特に、本好適実施例においては、AとBは16ビット数
であるので C=(A<<16)||B であり、その逆演算は A=C>>16 及び B=C&&FFFF である。例えば、A=0x0041、B=0xFFF7
であれば、 C=0x0041 FFF7 である。なお、上記のA,B,Cを数と考えたが、線形
法及びパック法は配列または行列にも適用できる。
Is generated by Therefore, A is placed in the high order part of C and B is placed in the least significant n bits of C. The inverse operations are A = C >> n and B = C && ( 2n- 1). Here, "&&" means a logical AND operation.
In particular, in the preferred embodiment, A and B are 16-bit numbers, so C = (A << 16) || B, and its inverse operation is A = C >> 16 and B = C && FFFF. For example, A = 0x0041, B = 0xFFF7
Then, C = 0x0041 FFF7. Although the above A, B, and C are considered as numbers, the linear method and the pack method can be applied to an array or a matrix.

【0039】パック法によって、2つの16ビット数0
x0041及び0x0041の加算と、2つの16ビッ
ト数0xFF7及び0xFF7の加算が、2つの32ビ
ットのダブルベクトル0x0041 FFF7及び0x
0041 FFF7の加算に変換され、0x0083
FFEEが得られ、これが分解されて0x0083=1
31なる和と0xFFEE=−18が得られる。この例
は、パック法は時に、ダブルベクトルの上位部分に置か
れる数の最下位ビットにエラーが生じることを示してい
る。線形法には、このような問題はない。しかし、シフ
ト、OR、及びANDは乗算及び加算より高速であるの
で、パック法は線形法より高速である。図2に、線形法
とパック法を用いて8ビットのダブルベクトル中の4ビ
ット数のペアを加算した結果を対比させて示す。初めの
2組の加算[(3+2)と(1+1)、[(−3+2)
と(1+1)]は、線形法でもパック法でも正しい結果
が得られる。しかし、最後の2組の加算[(3+2)と
(1+(−1))、(3+2)と( 1+(−1))]
は、線形法の結果は正しいが、パック法の結果は間違っ
ている。一般に、ダブルベクトルの下位部分にある負数
は、ダブルベクトルの高位部分にある数の最下位ビット
のエラーを生じさせる。通常、ダブルベクトルに格納さ
れた数は大きいので、そのようなエラーは計算に大きな
影響を及ぼさない。もう一つの方法は、右側に(小数点
より右に)余分な桁が存在するように数を調整すること
である。
By the pack method, two 16-bit numbers 0
The addition of x0041 and 0x0041 and the addition of two 16-bit numbers 0xFF7 and 0xFF7 are two 32-bit double vectors 0x0041 FFF7 and 0x.
Converted to addition of FFF7, 0x0083
FFEE is obtained and decomposed into 0x0083 = 1
A sum of 31 and 0xFFEE = -18 is obtained. This example shows that the packed method sometimes causes errors in the least significant bits of the number placed in the upper part of the double vector. The linear method does not have this problem. However, the pack method is faster than the linear method because shifts, ORs, and ANDs are faster than multiplications and additions. FIG. 2 shows a comparison result of adding pairs of 4-bit numbers in an 8-bit double vector using the linear method and the pack method. Addition of the first two sets [(3 + 2) and (1 + 1), [(-3 + 2)
And (1 + 1)], correct results are obtained by both the linear method and the packed method. However, the last two sets of addition [(3 + 2) and (1 + (-1)), (3 + 2) and (1 + (-1))]
, The result of the linear method is correct, but the result of the packed method is incorrect. In general, negative numbers in the lower part of the double vector cause errors in the least significant bits of the higher part of the double vector. Usually, the number stored in the double vector is large, so such an error does not significantly affect the calculation. Another way is to adjust the numbers so that there is an extra digit to the right (to the right of the decimal point).

【0040】ダブルベクトルの加算又は減算を実行する
ための回路の概要を図4に示す。記憶レジスタ配列80
は、線形法又はパック法により生成された32ビットの
ダブルベクトルを記憶する。計算の性質に応じてレジス
タ配列80より選択された32ビットのダブルベクトル
のペアは、32ビットのライン84,86で算術論理ユ
ニット(ALU)82へ送られる。ALU82は例え
ば、モトローラMC68020、またはインテルの80
386や80486、あるいはSun SPARCファ
ミリーのプロセッサである。ALU82の出力は64ビ
ット数で、これは64ビットのライン88を介してレジ
スタ配列80中の選択された1つのレジスタへ送られ
る。このレジスタに格納された数は、上位の32ビット
を捨てることによって32ビット数(ここではダブルベ
クトル)に整えられる。
An outline of a circuit for performing addition or subtraction of double vectors is shown in FIG. Storage register array 80
Stores a 32-bit double vector generated by the linear method or the pack method. A 32-bit double vector pair selected from register array 80 depending on the nature of the calculation is sent to arithmetic logic unit (ALU) 82 on 32-bit lines 84 and 86. ALU82 is, for example, Motorola MC68020, or Intel 80
386 or 80486, or Sun SPARC family of processors. The output of the ALU 82 is a 64-bit number, which is sent on a 64-bit line 88 to one selected register in the register array 80. The number stored in this register is arranged into a 32-bit number (here, a double vector) by discarding the upper 32 bits.

【0041】線形法とパック法による左シフトの結果を
対比させて図3に示す。最初の例[(3<<1)と(1<<
1)]のようにダブルベクトルの下位部分にある数が負
の時には、線形法でもパック法でも正しい結果を得られ
る。しかし、2番目の例[(3<<1)と(−1<<1)]
のように、ダブルベクトルの下位部分にある数が負の時
には、線形法を用いてもパック法を用いても、ダブルベ
クトルの上位部分にある数の最下位ビットにエラーを生
じる。なお、左シフトは、通常の2の補数の2進数のサ
インを反転させることがあるのと同じく、ダブルベクト
ルの要素のサインを反転させることがある。一般的に、
mビットのレジスタに格納される数は(m−k)ビット
の数で、オーバーフローを防ぐためには左シフトされる
ビット数はkビットを越えない。
The results of the left shift by the linear method and the pack method are shown in comparison with each other in FIG. The first example [(3 << 1) and (1 <<
1)], when the number in the lower part of the double vector is negative, the correct result can be obtained by both the linear method and the packed method. However, the second example [(3 << 1) and (-1 << 1)]
As described above, when the number in the lower part of the double vector is negative, an error occurs in the least significant bit of the number in the upper part of the double vector regardless of whether the linear method or the pack method is used. It should be noted that the left shift may invert the sine of the element of the double vector, as may the case of inverting the sine of the normal two's complement binary number. Typically,
The number stored in the m-bit register is a number of (m−k) bits, and the number of bits left-shifted does not exceed k bits in order to prevent overflow.

【0042】ダブルベクトルに対する右シフトは左シフ
トとは異なる。というのは、右シフトが行なわれる時に
は、ダブルベクトルの下位部分にある数のサインビット
を保存しなければならないからである。次の2つの16
ビット数 A=0x0040=64 B=0xFFF7=−9 からパック法によって生成されたダブルベクトルC=0
x0040 FFF7を2ビットだけ右シフトしたいと
する。通常の32ビットデータの右シフトによれば C>>2=0x0010 3FFD が得られ、パック法による要素数は16と+16,38
1であるが、この要素数に対し直接的に2ビットの右シ
フトを行なうと16と−3が得られる。このようなサイ
ンの食い違いは許容できない。
A right shift for a double vector is different than a left shift. This is because the number of sign bits in the lower part of the double vector must be preserved when the right shift is performed. Next two 16
Double vector C = 0 generated by the pack method from the number of bits A = 0x0040 = 64 B = 0xFFF7 = -9
Suppose you want to right shift x0040 FFF7 by 2 bits. Normal right-shifting of 32-bit data gives C >> 2 = 0x0010 3FFD, and the number of elements by the pack method is 16 and +16,38.
Although it is 1, if the number of elements is directly shifted right by 2 bits, 16 and -3 are obtained. Such discrepancies in signatures are unacceptable.

【0043】図5に示すように、ダブルベクトルの正し
い右シフトは、ダブルベクトルの各数要素のサインビッ
トをコピーすることによって、各数要素のサインビット
を保存する。この例では、ダブルベクトルの下位部分に
ある数の高位ビット(サインビットを含む)は1のまま
にしなければならず、正しい結果は0x0010 FF
FDである。
As shown in FIG. 5, the correct right shift of the double vector preserves the sign bit of each number element of the double vector by copying the sign bit of each number element. In this example, the number of high order bits (including the sign bit) in the lower part of the double vector must remain 1, and the correct result is 0x0010 FF.
It is FD.

【0044】例えばMC68000の命令セットを使用
し、ダブルベクトルの正しい右シフトを行なうには次の
コマンド系列を必要とする。
For example, using the MC68000 instruction set, the following command sequence is required to perform a right shift of a double vector.

【0045】asrw 2,C; swap C, a
srw 2,C swap Cここで、swap Cコ
マンドは32ビット・ダブルベクトルCの上位16ビッ
トと下位16ビットを交換する。(asrw 2,C)
コマンドはCの下位16ビットに対する2ビットの算術
右シフトである。この操作の系列はダブルベクトルの下
位16ビットの数の符号を保存する。なお、1つのダブ
ルベクトルに対し複数の右シフトを行なう場合には、各
asrw/swap/asrw/swap系列の最初の
swapしか行なう必要がなく、最後のswapが必要
となるのは右シフトが奇数回行なわれた場合である。
Asrw 2, C; swap C, a
srw 2, C swap C where the swap C command swaps the upper 16 bits and the lower 16 bits of the 32-bit double vector C. (Asrw 2, C)
The command is a 2-bit arithmetic right shift to the lower 16 bits of C. This sequence of operations preserves the sign of the lower 16 bits of the double vector. When a plurality of right shifts are performed on one double vector, only the first swap of each asrw / swap / asrw / swap sequence needs to be performed, and the last swap is required because the right shift is an odd number. This is the case when it is performed once.

【0046】具体例を挙げて説明する。本発明のダブル
ベクトル法を使用すれば、次の線形変換
A specific example will be described. Using the double vector method of the present invention, the linear transformation

【0047】[0047]

【数3】 [Equation 3]

【0048】を次の変換Is converted to

【0049】[0049]

【数4】 [Equation 4]

【0050】と結合でき、そのためにダブルベクトルp
=[x1,x2],q=[y1,y2]を定義し、次の計算
Can be combined with and therefore the double vector p
= [X1, x2], q = [y1, y2], and calculate

【0051】[0051]

【数5】 [Equation 5]

【0052】を実行し、p′=[x1′,x2′]、q′
=[y1′,y2′]の関係によって、解x1′,x2′,
y1′,y2′を抽出する。
And p '= [x1', x2 '], q'
= [Y1 ', y2'], the solution x1 ', x2',
Extract y1 'and y2'.

【0053】例えば、次の線形変換行列を考える。For example, consider the following linear transformation matrix.

【0054】[0054]

【数6】 [Equation 6]

【0055】行列Mの成分は簡単な有理数であるので、
(x1,y1)Tに対する行列演算Mは、加算、減算、左
シフト及び右シフトの組み合わせにより実行できる。す
なわち、
Since the elements of the matrix M are simple rational numbers,
The matrix operation M on (x1, y1) T can be performed by a combination of addition, subtraction, left shift and right shift. That is,

【0056】[0056]

【数7】 [Equation 7]

【0057】この変換Mを1x2行列(x1,y1)T
(x2,y2)Tに行なう場合には、その計算時間は、次
の計算を行ない、p′,q′の数成分を抽出することに
よって減らすことができる。
This transformation M is converted into a 1 × 2 matrix (x1, y1) T ,
When the calculation is performed at (x2, y2) T , the calculation time can be reduced by performing the following calculation and extracting several components of p'and q '.

【0058】[0058]

【数8】 [Equation 8]

【0059】なお、ダブルベクトル計算中、成分の数が
抽出される最終ステージまで、ダブルベクトルの成分の
アドレシッシングは不要である。((p′,q′)T
2つの成分はそれぞれ1回右シフトを含むが、右シフト
された値は右シフトされない値に加算されるため、swap
は省略されない)。
It should be noted that during double vector calculation, addressing of double vector components is not required until the final stage where the number of components is extracted. Each of the two components of ((p ', q') T includes a right shift once, but the value right-shifted is added to the value not right-shifted, so swap
Is not omitted).

【0060】ここで、本発明の変換画像符号化への利用
について述べる。多くの有用な変換は、無理数の乗算を
必要とするので加算、減算及びシフトに分解できない。
しかし、図7の変換ユニット32,36で実行されるG
CT変換は因数分解が可能であるので、これらの無理数
乗算を量子化ユニット40における量子化演算に併合で
きる。この乗算は追加的な計算を全く伴わない。N次元
変換の場合、これらの乗算は合体できるので、それらの
コストは1ポイント当たりNでなく1である。変換行列
中の他の成分は、変換の直交性を損なうことなく、有理
数で置き換えることができる。この性質を有する有用な
変換として、高速Hartley変換、離散的サイン変換及び
離散的コサイン変換がある。
Now, the use of the present invention for the conversion image coding will be described. Many useful transformations require irrational multiplication and cannot be decomposed into additions, subtractions and shifts.
However, G executed by the conversion units 32 and 36 of FIG.
Since the CT transform can be factored, these irrational number multiplications can be merged into the quantization operation in the quantization unit 40. This multiplication does not involve any additional computation. For N-dimensional transforms, these multiplications can coalesce, so their cost is 1 instead of N per point. Other components in the transformation matrix can be replaced by rational numbers without compromising the orthogonality of the transformation. As useful transforms having this property, there are a fast Hartley transform, a discrete sine transform, and a discrete cosine transform.

【0061】”JPEG”(Joint Photohraphic Ex
perts Group)として知られている重要な画像圧縮規格
の場合、上に引用した米国特許に述べられているよう
に、表1に示す値を変換マトリックスの成分の代わりに
用いて、GCT変換により、医療用途にも十分な、離散
的コサイン変換の近似を得られる。
"JPEG" (Joint Photohraphic Ex
In the case of an important image compression standard known as perts Group), the values shown in Table 1 were used in place of the components of the transform matrix, as described in the above-referenced U.S. patents, to allow GCT transformation to It is possible to obtain an approximation of the discrete cosine transform, which is sufficient for medical applications.

【0062】[0062]

【表1】 [Table 1]

【0063】よって、簡単な有理数を用いて有用な変換
を実行できる。乗算を加算とシフトとして実施できるの
で、本発明を適用できるようになる。たとえば、GCT
で必要とされる1/sqr2(=〜0.70711)によ
る乗算は(”sqr2”は2の平方根を意味し、”=〜”
はほぼ等しいことを意味する。)テーブル検索で行なう
ことができるが、シフトと加算を用い、 0.70711*A=〜((A+A>>)>>1)*(1+>>2)+A>>4 によって行なうことができる。
Therefore, a useful transformation can be executed using a simple rational number. Since the multiplication can be implemented as addition and shift, the present invention can be applied. For example, GCT
Multiplication by 1 / sqr2 (= ~ 0.70711) required in ((sqr2) means the square root of 2 and "= ~"
Means approximately equal. ) It can be done by a table search, but using shift and addition, it can be done by 0.70711 * A = ~ ((A + A >>) >> 1) * (1 + >> 2) + A >> 4.

【0064】表2に、基本的な計算とそのコストを、標
準的な方法を用いた場合と本発明の方法を用いた場合の
それぞれについて列挙する。
Table 2 lists the basic calculations and their costs for each of the standard method and the method of the present invention.

【0065】[0065]

【表2】 [Table 2]

【0066】本発明の好適実施例によれば、32ビット
・ダブルベクトルに対して、16ビット以下の数の加
算、減算及び左シフトが、標準的な加算、減算及び左シ
フトの2倍のスループットで行なわれる。ダブルベクト
ルの右シフトは、普通の数に対するより1倍または2倍
以上多い操作を必要とする。
In accordance with the preferred embodiment of the present invention, for 32-bit double vectors, a number of additions, subtractions and left shifts of 16 bits or less is twice the throughput of standard addition, subtraction and left shifts. Done in. Shifting a double vector to the right requires one or more more operations than a normal number.

【0067】ダブルベクトルのテーブル検索及び乗算
は、本発明の好適実施例では用いられない。ダブルベク
トルに対する乗算とテーブル検索を行なうのであれば、
ダブルベクトルの数の成分を取り出し、この数の成分に
対して演算し、最後にその数をその後の処理のためにダ
ブルベクトル内に戻す。(なお、32ビット・ダブルベ
クトルのテーブル検索には非常に大きなテーブル(232
エントリー)が必要となろう。また、2つの16ビット
数の乗算は有効ビット数が32ビットの結果を生じるの
で、ダブルベクトルの直接的な乗算はデータを破壊す
る。)表3に示すように、本発明の方法は、8x8画素
ブロックに対するGCT変換のための加算、減算及び左
シフトの回数を半減させる。
Double vector table lookup and multiplication is not used in the preferred embodiment of the present invention. If you want to multiply the double vector and search the table,
It takes the number of components of the double vector, operates on this number of components, and finally puts the number back into the double vector for further processing. (Note that a very large table (2 32
Entry) will be needed. Also, since the multiplication of two 16-bit numbers produces a result with 32 significant bits, direct multiplication of double vectors destroys the data. ) As shown in Table 3, the method of the present invention halves the number of additions, subtractions and left shifts for the GCT transform on an 8x8 pixel block.

【0068】[0068]

【表3】 [Table 3]

【0069】MC68020のための好適実施例では、
正方向の変換プロセスにパック法が用いられ、逆方向の
変換プロセスに線形法が用いられる。正方向変換動作で
は、8ビット画素成分が11ビットの係数に変換される
ので、最下位桁の誤差は(1/2048)の大きさを持
つに過ぎない。しかし、逆方向変換動作では、11ビッ
ト画素成分が8ビットの係数に変換されるので、最下位
桁の誤差は1/256の大きさを持つ。したがって、速
度を上げるために正方向変換の正確さを犠牲にしてもよ
い。
In the preferred embodiment for the MC68020,
The pack method is used for the forward conversion process, and the linear method is used for the reverse conversion process. In the forward direction conversion operation, the 8-bit pixel component is converted into an 11-bit coefficient, so the error in the least significant digit has a magnitude of (1/2048). However, in the backward conversion operation, the 11-bit pixel component is converted into an 8-bit coefficient, so the error in the least significant digit has a magnitude of 1/256. Therefore, the accuracy of the forward conversion may be sacrificed to increase speed.

【0070】正方向及び逆方向変換を行なう時に生じる
誤差は、整数演算の精度の制約から当然に生じる誤差
と、量子化誤差と、パック操作に関連する上記の誤差と
に分解することができる。典型的な量子化の場合、量子
化誤差の大きさが他の誤差に比べ非常に大きい。したが
って、実際上、上に述べた方法及び装置は有効であるこ
とが分かる。
The error that occurs when performing the forward and backward conversions can be decomposed into an error that naturally occurs due to the constraint of the precision of integer arithmetic, a quantization error, and the above-mentioned error related to the pack operation. In the case of typical quantization, the magnitude of the quantization error is much larger than the other errors. Therefore, in practice, the method and apparatus described above prove to be effective.

【0071】変換ユニット32及び35によるダブルベ
クトル画素データの変換後、データは、圧縮システムの
他の部分による処理のため再び標準的な数に変換され
る。
After conversion of the double vector pixel data by the conversion units 32 and 35, the data is converted back to a standard number for processing by other parts of the compression system.

【0072】以上の好適実施例に関する記述は、あくま
で本発明の説明のためのものであって、本発明をそれに
限定することを意図するものではなく、前記実施例に照
らして多くの修正及び変形が可能である。また、本発明
は、JPEG(JointPhotogragh Experts Group)
のような既存の規格と互換である。本発明は符号付2進
数にも適用できる。前記好適実施例を選んで説明したの
は、本発明の原理とその応用を説明することにより、当
業者が本発明及びその様々な実施例を個々の用途に適す
るよう様々に修正して利用できるようにするためであ
る。他にも様々な変形が可能である。例えば、以上の説
明の大部分はダブルベクトルに関する計算に向けられた
が、2個より多い数を持つベクトルを作ることもでき
る。
The above description of the preferred embodiments is merely for the purpose of explaining the present invention and is not intended to limit the present invention thereto, and many modifications and variations are made in light of the above embodiments. Is possible. Further, the present invention is based on JPEG (Joint Photograph Experts Group).
Is compatible with existing standards such as. The present invention can also be applied to signed binary numbers. The foregoing preferred embodiments have been chosen and described in order to explain the principles of the invention and its application, and those skilled in the art may utilize various modifications of the invention and its various embodiments to suit its particular application. To do so. Various other modifications are possible. For example, much of the above description was directed to calculations on double vectors, but it is possible to create vectors with more than two numbers.

【0073】(なお、”ダブルベクトル”なる用語は、
便宜上用いたものである。)例えば、DEC Alph
aシリーズは64ビット算術演算を有するので、本発明
による4つの数からなるベクトルを用いることができ
る。データ圧縮のための変換に関して本発明を説明した
が、本発明は他の種類の変換、例えばスペクトル解析の
ためにも有用である。変換に関して本発明を説明した
が、本発明は他の種類の算術演算に用いることができ
る。線形法及びパック法のための算術演算とブール演算
の組み合わせの例を示したが、それ以外の等価な演算の
組み合わせで置き換えてもよい。2つのダブルベクトル
の方法を詳述したが、他の関連した方法も使用できる。
(Note that the term "double vector" is
It is used for convenience. ) For example, DEC Alpha
Since the a series has 64-bit arithmetic operations, a vector of four numbers according to the present invention can be used. Although the invention has been described in terms of transforms for data compression, the invention is also useful for other types of transforms, such as spectral analysis. Although the invention has been described in terms of transformations, the invention can be used with other types of arithmetic operations. Although the example of the combination of the arithmetic operation and the Boolean operation for the linear method and the pack method has been shown, it may be replaced with a combination of other equivalent operations. Although two double vector methods have been detailed, other related methods can also be used.

【0074】[0074]

【発明の効果】本発明によれば、音響又は画像圧縮シス
テムなどのデータ処理システムにおいて、2組の複数の
数の加算または減算は、これら数を結合して”ダブルベ
クトル”のペアにし、このダブルベクトルのペアを加算
又は減算し、結果のダブルベクトルを分離して元の複数
の数に対する加算又は減算の結果を表わす値を求めるこ
とにより、並列に成し遂げられる。同様に、複数の数の
左シフトは、それらの数を結合して1つのダブルベクト
ルにし、このダブルベクトルを左シフトし、元の数の左
シフト後の値を表わす複数の数を取り出すことによっ
て、成し遂げられる。例えば、32ビットの算術データ
パスを持つ単一命令・単一データの汎用プロセッサを用
いる場合において、2個の16ビットワードのデータを
結合して1個の32ビットワードとし、2個の16ビッ
トワードをプロセッサで並列に処理して2個の16ビッ
トワードの出力データを抽出することにより、単一命令
・単一データのマシンを単一命令・複数データマシンと
して動作させることができ、計算速度を大幅に上げるこ
とができる。したがって、音響又は画像圧縮システム等
のGCT等の処理のスループットを飛躍的に増大でき
る。
According to the present invention, in a data processing system such as an audio or image compression system, the addition or subtraction of two sets of numbers combines these numbers into a "double vector" pair, This is accomplished in parallel by adding or subtracting pairs of double vectors and separating the resulting double vectors to obtain a value representing the result of the addition or subtraction on the original numbers. Similarly, multiple numbers left-shifted by combining them into a double vector, left-shifting this double vector, and retrieving multiple numbers that represent the left-shifted value of the original number. Can be accomplished. For example, in the case of using a single instruction / single data general-purpose processor having a 32-bit arithmetic data path, two 16-bit word data are combined into one 32-bit word and two 16-bit words are combined. By processing words in parallel in a processor and extracting output data of two 16-bit words, a single instruction / single data machine can be operated as a single instruction / multiple data machine. Can be significantly increased. Therefore, the throughput of processing such as GCT for an audio or image compression system can be dramatically increased.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の好適実施例による画像圧縮装置のブロ
ック図を示す。
FIG. 1 shows a block diagram of an image compression apparatus according to a preferred embodiment of the present invention.

【図2】本発明による線形法とパック法を用いた加算結
果を対比して示す。
FIG. 2 shows comparison results of addition using the linear method and the pack method according to the present invention.

【図3】本発明による線形法とパック法を用いた左シフ
トの結果を対比して示す。
FIG. 3 shows the results of left shift using the linear method and the pack method according to the present invention in contrast.

【図4】本発明によるダブルベクトルの加算又は減算を
実行するための回路構成の一例を示す。
FIG. 4 shows an example of a circuit configuration for performing addition or subtraction of double vectors according to the present invention.

【図5】本発明による右シフト操作の例を示す。FIG. 5 shows an example of a right shift operation according to the present invention.

【図6】標準的な圧縮装置の要素のブロック図を示す。FIG. 6 shows a block diagram of the elements of a standard compressor.

【図7】分離可能な2D変換ユニットの要素のブロック
図を示す。
FIG. 7 shows a block diagram of the elements of a separable 2D conversion unit.

【符号の説明】[Explanation of symbols]

8 原カラー画像 10 色変換ユニット 20 NxN分割ユニット 27 ダブルベクトル生成ユニット 29 ダブルベクトル 30 2次元(2D)変換ユニット 32 1次元(1D)変換ユニット 33 数抽出ユニット 35 変換係数 34 置換ユニット 36 1次元(1D)変換ユニット 40 量子化ユニット 50 非損失性符号器 55 符号化変換係数 80 記憶レジスタ配列 82 算術論理ユニット(ALU) 84,86 32ビットライン 88 64ビットライン 8 original color image 10 color conversion unit 20 NxN division unit 27 double vector generation unit 29 double vector 30 two-dimensional (2D) conversion unit 32 one-dimensional (1D) conversion unit 33 number extraction unit 35 conversion coefficient 34 substitution unit 36 one-dimensional ( 1D) Transform unit 40 Quantization unit 50 Lossless encoder 55 Coding transform coefficient 80 Storage register array 82 Arithmetic logic unit (ALU) 84,86 32-bit line 88 64-bit line

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H04N 1/41 C 9070−5C B 9070−5C ─────────────────────────────────────────────────── ─── Continuation of the front page (51) Int.Cl. 6 Identification code Internal reference number FI Technical display location H04N 1/41 C 9070-5C B 9070-5C

Claims (26)

【特許請求の範囲】[Claims] 【請求項1】 高位部分と下位部分をそれぞれ持つ第
1、第2及び第3のレジスタ手段と、 第1及び第2の複数ビットの音響又は画像データ数を結
合して該第1のレジスタ手段及び該第2のレジスタ手段
に入れ、かつ、第3及び第4の音響又は画像データ数を
結合して該第2のレジスタ手段に入れるための手段とを
有し、 ここにおいて、該第1のレジスタ手段及び該第2のレジ
スタ手段は該データ数のいずれよりも多いビットロケー
ションを有し、該第1のデータ数は該第1のレジスタ手
段の該下位部分へ向けられ、該第2のデータ数は該第1
のレジスタ手段の該高位部分へ向けられ、該第3のデー
タ数は該第2のレジスタ手段の該下位部分へ向けられ、
該第4のデータ数は該第2のレジスタ手段の該高位部分
へ向けられ、 かつ、 該第1のレジスタ手段と該第2のレジスタ手段の内容を
加算または減算し、結果を該第3のレジスタ手段に格納
するための手段と、 該第3のレジスタ手段の該下位部分から第1の出力数を
取り出し、該第3のレジスタ手段の該高位部分から第2
の出力数を取り出すための手段とを有する、音響又は画
像圧縮装置における音響又は画像変換プロセッサ。
1. A first, second, and third register means having a high-order portion and a low-order portion, respectively, and the first and second plural-bit audio or image data numbers are combined to form the first register means. And means for entering into the second register means and for combining third and fourth sound or image data numbers into the second register means, wherein the first register means The register means and the second register means have more bit locations than any of the number of data, the first number of data being directed to the lower portion of the first register means, the second data The number is the first
Of said register means to said high order portion, said third data number to said lower portion of said second register means,
The fourth number of data is directed to the high order portion of the second register means, and the contents of the first register means and the second register means are added or subtracted, and the result is the third register result. Means for storing in the register means, a first output number from the lower part of the third register means, and a second from the higher order part of the third register means
And an audio or image conversion processor in an audio or image compression device.
【請求項2】 請求項1記載の音響又は画像変換プロセ
ッサにおいて、該第1、該第2及び該第3のレジスタ手
段の該下位部分及び該上位部分は、それぞれ、該レジス
タ手段の第1の半分と第2の半分からなることを特徴と
する音響又は画像変換プロセッサ。
2. The audio or image conversion processor according to claim 1, wherein the lower part and the upper part of the first, second and third register means are respectively the first part of the register means. An audio or image conversion processor, characterized in that it consists of one half and a second half.
【請求項3】 請求項2記載の音響又は画像変換プロセ
ッサにおいて、該第1及び該第2及び該第3のレジスタ
手段は32ビット長であることを特徴とする音響又は画
像変換プロセッサ。
3. A sound or image conversion processor according to claim 2, wherein the first, second and third register means have a length of 32 bits.
【請求項4】 請求項3記載の音響又は画像変換プロセ
ッサにおいて、該データ数は16ビット長であることほ
特徴とする音響又は画像変換プロセッサ。
4. The sound or image conversion processor according to claim 3, wherein the number of data is 16 bits long.
【請求項5】 第1及び第2のレジスタ手段と、 第1及び第2の複数ビットデータ数を結合して該第1の
レジスタ手段に入れ、かつ、第3及び第4の複数ビット
データ数を結合して該第2のレジスタ手段に入れるため
の手段とを有し、 ここにおいて、該第1のレジスタ手段は該第1及び該第
2の複数ビットデータ数の和以上の個数のビットロケー
ションを有し、該第2のレジスタ手段は該第3及び該第
4の複数ビットデータ数の和以上の個数のビットロケー
ションを有し、かつ、 該第1及び該第2のデータ数並びに該第3及び第4のデ
ータ数を、該第1及び該第2のレジスタ手段の内容の1
回の加算によって加算するための手段を有するデータ処
理装置。
5. The first and second register means and the first and second plural-bit data numbers are combined and placed in the first register means, and the third and fourth plural-bit data numbers are combined. Means for coupling into the second register means and the first register means has a number of bit locations greater than or equal to the sum of the first and second plurality of bit data numbers. The second register means has a number of bit locations that is greater than or equal to the sum of the third and fourth multi-bit data numbers, and has the first and second data numbers and the first and second data numbers. The third and fourth data numbers are set to 1 of the contents of the first and second register means.
A data processing device having means for adding by adding twice.
【請求項6】 音響又は画像変換プロセッサと第1及び
第2の複数ビットデータパスレジスタ手段とを有する音
響又は画像圧縮装置において、 第1及び第2の複数ビットの音響又は画像データ数を、
それらの和以上の個数のビットロケーションを持つ該第
1のレジスタ手段に詰め込むステップと、 第3及び第4の複数ビットの音響又は画像データ数を、
それらの和以上の個数のビットロケーションを持つ該第
2のレジスタ手段に詰め込むステップと、 該第1及び該第2のレジスタ手段の内容を1回の加算動
作で加算して加算された音響又は画像データを生成する
ステップとを有する音響又は画像データ処理方法。
6. An audio or image compression apparatus comprising an audio or image conversion processor and first and second multi-bit data path register means, wherein the first and second multi-bit audio or image data numbers are:
Filling the first register means having a bit location of a number equal to or more than the sum thereof, and the number of audio or image data of third and fourth plural bits;
The step of filling the second register means having a bit location of a number equal to or more than the sum of them, and the sound or image added by adding the contents of the first and second register means in one addition operation. A method of processing audio or image data, the method comprising: generating data.
【請求項7】 関数演算f()を第1のnビット数Aに
対し実行して第1の結果X=f(A)を求め、かつ該関
数演算f()を第2のmビット数Bに対し実行して第2
の結果Y=f(B)を求める単一命令単一データの算術
プロセッサであって、 該第1の数A及び該第2の数Bから(n+m)ビットの
ダブルベクトルCを作るダブルベクトル生成手段と、 該ダブルベクトルCに対し該関数演算f()をして出力
ダブルベクトルZ=f(C)を得る算術論理ユニット
と、 該出力ダブルベクトルZから数を取り出し該第1の結果
X及び該第2の結果Yを得るための手段とを具備するこ
とにより、単一命令複数データマシンとして作用する算
術プロセッサ。
7. A function operation f () is performed on a first n-bit number A to obtain a first result X = f (A), and the function operation f () is a second m-bit number. Second run to B
A single-instruction single-data arithmetic processor for obtaining the result Y = f (B) of the above, wherein a double vector generation that creates an (n + m) -bit double vector C from the first number A and the second number B Means, an arithmetic logic unit for performing the function operation f () on the double vector C to obtain an output double vector Z = f (C), extracting a number from the output double vector Z, and the first result X and An arithmetic processor that acts as a single instruction multiple data machine by including means for obtaining the second result Y.
【請求項8】 請求項7記載の算術プロセッサにおい
て、該関数演算は左シフト操作であることを特徴とする
算術プロセッサ。
8. The arithmetic processor according to claim 7, wherein the functional operation is a left shift operation.
【請求項9】 請求項7記載の算術プロセッサにおい
て、n=16、m=16であることを特徴とする算術プ
ロセッサ。
9. The arithmetic processor according to claim 7, wherein n = 16 and m = 16.
【請求項10】 請求項7記載の算術プロセッサにおい
て、該ダブルベクトルCは C=A*2n +B の関係に従って該第1の数A及び該第2の数Bから生成
されることを特徴する算術プロセッサ。
10. The arithmetic processor according to claim 7, wherein the double vector C is generated from the first number A and the second number B according to a relationship of C = A * 2 n + B. Arithmetic processor.
【請求項11】 請求項10記載の算術プロセッサにお
いて、該第1の結果X及び該第2の結果Yは Y=Z−((Z>>n)*2n)及びX=(Z−Y)/2n の関係に従って該出力ダブルベクトルZより取り出され
ることを特徴とする算術プロセッサ。
11. The arithmetic processor according to claim 10, wherein the first result X and the second result Y are Y = Z-((Z >> n) * 2 n ) and X = (Z−Y). ) / 2 n an arithmetic processor characterized in that it is taken from the output double vector Z.
【請求項12】 請求項7記載の算術プロセッサにおい
て、該ダブルベクトルCは C=(A<<n)||B の関係に従って該第1の数A及び該第2の数Bから生成
されることを特徴とする算術プロセッサ。
12. The arithmetic processor according to claim 7, wherein the double vector C is generated from the first number A and the second number B according to the relation of C = (A << n) || B. Arithmetic processor characterized by that.
【請求項13】 請求項12の算術プロセッサにおい
て、該第1の結果X及び該第2の結果Yは Y=Z&&(2n−1) 及び X=Z>>n の関係に従って該出力ダブルベクトルZから取り出され
ることを特徴とする算術プロセッサ。
13. The arithmetic processor according to claim 12, wherein the first result X and the second result Y are the output double vector according to a relation of Y = Z && (2 n −1) and X = Z >> n. Arithmetic processor characterized by being taken from Z.
【請求項14】 関数演算f()を第1のnビット数A
1及び第2のnビット数A2に対し実行して第1の結果
X=f(A1,A2)を求め、かつ、該関数演算f()
を第3のmビット数B1及び第4のmビット数B2に対
し実行して第2の結果Y=f(B1,B2)を求める単
一命令単一データの算術プロセッサであって、 該第1の数A1と該第3の数B1から第1の(n+m)
ビットのダブルベクトルC1を作り、該第2の数A2と
該第4の数B2から第2の(n+m)ビットのダブルベ
クトルC2を作るダブルベクトル生成手段と、 該第1のダブルベクトルC1及び該第2のダブルベクト
ルC2に対し該関数演算f()をして出力ダブルベクト
ルZ=f(C1,C2)を得る算術論理ユニットと、 該出力ダブルベクトルZから数を取り出し該第1の結果
X及び該第2の結果Yを得るための手段を具備すること
により、単一命令複数データマシンとして作用する算術
プロセッサ。
14. The function operation f () is calculated by a first n-bit number A.
The first result X = f (A1, A2) is obtained by executing the first and second n-bit numbers A2, and the function operation f ()
A single-instruction single-data arithmetic processor for performing a second result Y = f (B1, B2) by executing a third m-bit number B1 and a fourth m-bit number B2. From the number A1 of 1 and the third number B1 to the first (n + m)
A double vector generating means for generating a double vector C1 of bits, and generating a double vector C2 of the second (n + m) bits from the second number A2 and the fourth number B2; and the first double vector C1 and the double vector C1. An arithmetic logic unit for performing the function operation f () on the second double vector C2 to obtain an output double vector Z = f (C1, C2); and extracting a number from the output double vector Z and outputting the first result X And an arithmetic processor that acts as a single-instruction multiple-data machine by comprising means for obtaining the second result Y.
【請求項15】 請求項14記載の算術プロセッサにお
いて、該関数演算f()は加算であることを特徴とする
算術プロセッサ。
15. The arithmetic processor according to claim 14, wherein the functional operation f () is addition.
【請求項16】 請求項14記載の算術プロセッサにお
いて、該関数演算f()は減算であることを特徴とする
算術プロセッサ。
16. The arithmetic processor according to claim 14, wherein the functional operation f () is a subtraction.
【請求項17】 請求項14記載の算術プロセッサにお
いて、n=16、m=16であることを特徴とする算術
プロセッサ。
17. The arithmetic processor according to claim 14, wherein n = 16 and m = 16.
【請求項18】 請求項14記載の算術プロセッサにお
いて、該第1のダブルベクトルC1は C1=A1*2n +B1 の関係に従って該第1の数A1及び該第3の数B1から
生成され、該第2のダブルベクトルC2は C2=A2*2n +B2 の関係に従って該第2の数A2及び該第4の数B2から
生成されることを特徴とする算術プロセッサ。
18. The arithmetic processor according to claim 14, wherein the first double vector C1 is generated from the first number A1 and the third number B1 according to a relationship of C1 = A1 * 2 n + B1. An arithmetic processor, wherein the second double vector C2 is generated from the second number A2 and the fourth number B2 according to the relationship of C2 = A2 * 2 n + B2.
【請求項19】 請求項18記載の算術プロセッサにお
いて、該第1の結果X及び該第2の結果Yは、 Y=Z−((Z>>n)*2n) 及び X=(Z−Y)
/2n の関係に従って該出力ダブルベクトルZより取り出され
ることを特徴とする算術プロセッサ。
19. The arithmetic processor according to claim 18, wherein the first result X and the second result Y are Y = Z-((Z >> n) * 2 n ) and X = (Z- Y)
An arithmetic processor characterized in that the output double vector Z is taken out according to the relationship of / 2 n .
【請求項20】 請求項14記載の算術プロセッサにお
いて、該第1のダブルベクトルC1は C1=(A1<<n)||B1 の関係に従って該第1の数A1及び該第2の数B1から
生成され、該第2のダブルベクトルC2は C2=(A2<<n)||B2 の関係に従って該第2の数A2及び該第4の数B2から
生成されることを特徴とする算術プロセッサ。
20. The arithmetic processor according to claim 14, wherein the first double vector C1 is derived from the first number A1 and the second number B1 according to the relationship of C1 = (A1 << n) || B1. An arithmetic processor, wherein the second double vector C2 is generated from the second number A2 and the fourth number B2 according to the relationship of C2 = (A2 << n) || B2.
【請求項21】 請求項20記載の算術プロセッサにお
いて、該第1の結果X及び該第2の結果Yは Y=Z&&(2n−1) 及び X=Z>>n の関係に従って該出力ベクトルZから取り出されること
を特徴とする算術プロセッサ。
21. The arithmetic processor according to claim 20, wherein the first result X and the second result Y are the output vectors according to the relationship of Y = Z && (2 n -1) and X = Z >> n. Arithmetic processor characterized by being taken from Z.
【請求項22】 第1の入力データ配列X1に対する変
換の計算を行なって第1の出力データ配列を生成し、第
2の入力データ配列X2に対する該変換の計算を行なっ
て第2の出力データ配列を生成するデータプロセッサで
あって、 該第1のデータ配列X1及び該第2のデータ配列X2か
ら入力ダブルベクトル配列Yを作る作成手段と、 該入力ダブルベクトル配列Yに対する該変換の計算を、
一連の算術演算及ブール演算により行なって出力ダブル
ベクトルデータ配列を求める手段と、 該出力ダブルベクトルデータ配列より該第1及び該第2
の出力データ配列を取り出す手段とを具備するデータプ
ロセッサ。
22. A first output data array is generated by performing a conversion calculation on a first input data array X1, and a second output data array is calculated by performing a conversion calculation on a second input data array X2. A data processor for generating an input double vector array Y from the first data array X1 and the second data array X2; and a calculation of the conversion for the input double vector array Y,
Means for obtaining an output double vector data array by performing a series of arithmetic operations and Boolean operations; and the first and the second from the output double vector data array.
And a means for retrieving the output data array of the.
【請求項23】 請求項22記載のデータプロセッサに
おいて、該一連の演算には加算、減算及びシフトが含ま
れるが、乗算は含まれないことを特徴とするデータプロ
セッサ。
23. The data processor of claim 22, wherein the series of operations includes addition, subtraction and shift, but not multiplication.
【請求項24】 請求項23記載のデータプロセッサに
おいて、該変換は一般化チェン変換であることを特徴と
するデータプロセッサ。
24. The data processor of claim 23, wherein the transform is a generalized Cheng transform.
【請求項25】 請求項24記載のデータプロセッサに
おいて、該作成手段は Y=X1*2n +X2 に従って該入力ダブルベクトルYを作ることを特徴とす
るデータプロセッサ。
25. The data processor according to claim 24, wherein the creating means creates the input double vector Y according to Y = X1 * 2 n + X2.
【請求項26】 請求項24記載のデータプロセッサに
おいて、該作成手段は Y=(X1<<n)|| X2 に従って該入力ダブルベクトルYを作ることを特徴とす
るデータプロセッサ。
26. A data processor according to claim 24, wherein said creating means creates said input double vector Y according to Y = (X1 << n) || X2.
JP6002391A 1993-01-21 1994-01-14 Acoustic or picture conversion processor, acoustic or picture data processor, acoustic or picture data processing method, arithmetic processor, and data processor Pending JPH0746136A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US490493A 1993-01-21 1993-01-21
US08/004904 1993-01-21

Publications (1)

Publication Number Publication Date
JPH0746136A true JPH0746136A (en) 1995-02-14

Family

ID=21713104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6002391A Pending JPH0746136A (en) 1993-01-21 1994-01-14 Acoustic or picture conversion processor, acoustic or picture data processor, acoustic or picture data processing method, arithmetic processor, and data processor

Country Status (1)

Country Link
JP (1) JPH0746136A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008124949A (en) * 2006-11-15 2008-05-29 Fuji Xerox Co Ltd Image processor and program
US10515134B2 (en) 2001-08-30 2019-12-24 Nokia Technologies Oy Implementation of a transform and of a subsequent quantization

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10515134B2 (en) 2001-08-30 2019-12-24 Nokia Technologies Oy Implementation of a transform and of a subsequent quantization
JP2008124949A (en) * 2006-11-15 2008-05-29 Fuji Xerox Co Ltd Image processor and program

Similar Documents

Publication Publication Date Title
US6546480B1 (en) Instructions for arithmetic operations on vectored data
JP5004987B2 (en) Data conversion apparatus and control method thereof
US20070094320A1 (en) Parallel Adder-Based DCT / IDCT Design Using Cyclic Convolution
US6629115B1 (en) Method and apparatus for manipulating vectored data
US5361220A (en) Discrete cosine transformation with reduced components
US6574651B1 (en) Method and apparatus for arithmetic operation on vectored data
EP0721623B1 (en) Method for performing fast discrete cosine transforms and fast inverse discrete cosine tranforms using look-up tables
JP3902990B2 (en) Hadamard transform processing method and apparatus
US6052703A (en) Method and apparatus for determining discrete cosine transforms using matrix multiplication and modified booth encoding
WO2020160608A1 (en) Highly parallel convolutional neural network
US5625713A (en) Apparatus and method for increasing the throughput of an acoustic or image compression system
EP1018082A1 (en) Variable block size 2-dimensional inverse discrete cosine transform engine
US20030172254A1 (en) Instructions for manipulating vectored data
US6003058A (en) Apparatus and methods for performing arithimetic operations on vectors and/or matrices
JP4933405B2 (en) Data conversion apparatus and control method thereof
JPH0746136A (en) Acoustic or picture conversion processor, acoustic or picture data processor, acoustic or picture data processing method, arithmetic processor, and data processor
JP3155383B2 (en) Two-mode processing device, two-dimensional conversion device, and still image data compression system
JP3214831B2 (en) Data processing device
JPH05153402A (en) Discrete cosine transformation device
JP2003258645A (en) Method and device for hadamard transformation processing
KR960014196B1 (en) Inverse discrete cosine transform processor
JPH05153403A (en) Discrete cosine transformation device
JPH05206868A (en) Method and device for improving throughput for acoustic or image compression system
JP2000172674A (en) Device and method for inverse dct operation
JP2004171263A (en) Arithmetic unit

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070821

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20080821

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090821

Year of fee payment: 11

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

Year of fee payment: 11

Free format text: PAYMENT UNTIL: 20090821

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Year of fee payment: 11

Free format text: PAYMENT UNTIL: 20090821

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090821

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100821

Year of fee payment: 12

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

Year of fee payment: 13

Free format text: PAYMENT UNTIL: 20110821

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

Free format text: PAYMENT UNTIL: 20110821

Year of fee payment: 13