JPH0412077B2 - - Google Patents

Info

Publication number
JPH0412077B2
JPH0412077B2 JP13251082A JP13251082A JPH0412077B2 JP H0412077 B2 JPH0412077 B2 JP H0412077B2 JP 13251082 A JP13251082 A JP 13251082A JP 13251082 A JP13251082 A JP 13251082A JP H0412077 B2 JPH0412077 B2 JP H0412077B2
Authority
JP
Japan
Prior art keywords
sequence
component sequence
bits
block
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP13251082A
Other languages
Japanese (ja)
Other versions
JPS5923686A (en
Inventor
Sumio Mori
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.)
Fujifilm Holdings Corp
Original Assignee
Fuji Photo Film 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 Fuji Photo Film Co Ltd filed Critical Fuji Photo Film Co Ltd
Priority to JP57132510A priority Critical patent/JPS5923686A/en
Publication of JPS5923686A publication Critical patent/JPS5923686A/en
Publication of JPH0412077B2 publication Critical patent/JPH0412077B2/ja
Granted legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Description

【発明の詳細な説明】[Detailed description of the invention]

この発明は、画素の狭帯域伝送又は蓄積を目的
としてアダマール変換によつて周波数領域に変換
した各シーケンスの量子化値の組合せを符号化し
た画像信号を復号化する方式に関する。 画像の統計的性質から冗長信号を除去すること
によつて、または視覚特性から不要な信号を除去
することによつて、画像を能率良く伝送又は蓄積
することが従来より広く行なわれており、その処
理手段の1つとして直交変換符号化方式が知られ
ている。この直交変換符号化方式は、画像を互い
に隣接する画素群で成る複数のブロツクに分割
し、1ブロツク内の画素群を直交変換によつて周
波数領域に変換し、その変換出力である各周波数
のスペクトラムに偏りが存在することを利用し
て、その各スペクトラムに適当な量子化レベルを
配分し、つまり視覚的に許容される範囲内で歪を
与えることによつて、情報量を減らす方式であ
る。直交変換の1つの方式であるアダマール変換
は、変換マトリクスが「1」及び「−1」を要素
としており、加算器だけで構成できるため回路が
簡単になる特長を有する。 ところで、アダマール変換によつて周波数領域
に変換されたシーケンスはフーリエ変換における
周波数軸に対応するものであり、0次のシーケン
スは直流成分の量を、高次のシーケンスは高周波
成分の量をそれぞれ表わすパラメータとみなすこ
とができる。このため、ブロツク内の原画素間の
相関が強ければ、アダマール変換後の信号のエネ
ルギーは低次のシーケンスに集中することにな
る。一般的な画像では高周波成分のエネルギーが
少ないので、視覚的に許容される範囲内で量子化
レベルのビツト数を減らすことができる。また、
帯域圧縮を目的としたアダマール変換符号化方式
は、特に低ビツトレートの符号化として有効であ
り、量子化による劣化を視覚的に目立たないよう
に分散することができる。すなわち、滑らかな部
分のノイズは目につきやすいが、急峻な変化のあ
る部分のノイズは目につきにくいといつた視覚特
性から、量子化が容易に行なえるという利点があ
る。 しかしながら、歪による画質劣化を防ぎ、高能
率な符号化を行なうためにはブロツクサイズを大
きくする必要があり、それに併つて回路量が増大
し、高価な装置になつてしまう欠点がある。 この発明は上述の如き点に鑑み、画質劣化を防
ぐと共に、回路構成が簡単で高能率に符号化され
た画像信号を、復号する方式を提供することを目
的としている。 以下にこの発明を説明する。 先ず、この発明の前提となる画像信号の符号化
方式について説明する。 第1図は画像を2×2のブロツクBij(i=1、
2、…、j=1、2、…)に分割した場合の様子
を示すものであり、画素1は走査ラインh、h+
1…で順次走査されるようになつている。そし
て、ブロツクBijの画素1に対する画素信号(濃
度信号)を図示の如くx1、x2、x3、x4とすれば、
正規化されたアダマール変換は2次又は4次のア
ダマール行列を用いて次の(1)式のように表わすこ
とができる。 1/21 1 1−1x1 x2 x3 x41 1 1−1=1/21 1 1 1 1−1 1−1 1 1−1−1 1−1−1 1x1 x2 x3 x4=H0 H1 H2 H3 ……(1) ここにおいて、シーケンスH0、H1、H2、H3
はそれぞれアダマール変換によつて周波数領域へ
変換された4次の周波数成分に対応し、H0は直
流成分シーケンスを、H1は垂直成分シーケンス
を、H2は水平成分シーケンスを、H3は傾斜成分
シーケンスをそれぞれ示している。なお、ブロツ
クBijのi行における走査ラインh、h+1を同
時に走査して画素x1〜x4の画像情報を読出しても
良く、先ず走査ラインhを走査して画素x1及びx3
の画像情報を一旦バツフアメモリに記憶し、その
後に走査ラインh+1を走査した時に画像信号x1
〜x4を順に読出すようにしても良い。 ところで、一般的な画像では隣接する画素間の
相関が強いため、低次成分のエネルギーが高く、
高次成分のエネルギーが低く観測される。そし
て、各成分はそのエネルギーの大きさに応じた量
子化レベルのビツト数の配分を受けることになる
が、直流成分のエネルギーは他の成分(垂直、水
平、傾斜)に比べて特に大きいので、直流成分の
エネルギーを低くするような変換手法を採用する
ことによつて、高能率な符号化を実現する必要が
ある。このような変換手法として、アダマール変
換によつて得られた各シーケンスを線形予測する
方式が知られている。 次に、この線形予測方式を説明する。 線形予測方式はブロツクサイズが1×n又は2
×nのときに可能なものであり、今、ブロツクサ
イズが第2図に示すように2×nの例として、先
ず水平方向に各ブロツク毎にアダマール変換を施
し、その後に垂直方向に各ブロツク毎に線形予測
する場合を考える。そして、アダマール変換によ
つて得られた各シーケンスをHl0、Hl1とし、便
宜上第2図のように配置する。ただしl=0、
1、…、(n−1)である。 そして、ブロツクBi-1、jにおけるシーケンス
Hl0′からブロツクBijにおけるシーケンスHl0を、
次の(2)式に従つて予測する。 H^l0=Hl0′−Hl1′−Hl1 ……(2) このときの予測誤差成分シーケンスΔHl0を ΔHl0=Hl0−H^l0=Hl0−Hl0′+Hl1′+Hl1 ……(3) とすれば、この予測誤差成分シーケンスΔHl0
ブロツク間の各画素の距離を最も短かくするもの
である。なお、シーケンスHl1は予測することな
くそのまま伝送する。 ここで、アダマール変換によつて得た各シーケ
ンスを線形予測した場合の効果を示すために、伝
送すべき画像の総エネルギーと比較しながら説明
する。 メモリーレスガウス分布に従う画像xの分散を
σ2x、各シーケンスyの分散をσ2y、ブロツクサ
イズをN、一部のシーケンスに線形予測を用いた
場合の分散をσ2Δyとすれば、レート歪理論
(Rate distortion theory)に基づき伝送エネル
ギーの絶対値は平均値Paとして、それぞれ次の
ように与えられる。 Pa=10/N・N-1y=0 log10σ2y ……(4) 又は Pa=10/N・N-1 〓 〓y=0log10σ2y ……(5) そして、伝送エネルギーの相対値Prは Pr=10log10σ2−Pa ……(6) となる。上記(4)〜(6)式の計算から第3図に示すよ
うな結果を得た。 この第3図において、特性は1次元のアダマ
ール変換のブロツクサイズに対応するパワーの変
化を示すものであり、特性は2次元のアダマー
ル変換のブロツクサイズに対応するパワーの変化
を示すものであり、及びはそれぞれ特性及
びを水平方向にアダマール変換すると共に、垂
直方向に線形予測した場合の特性を示している。
なお、総エネルギーは35.2dBとなつている。こ
れから明らかなように、特性及びはいずれも
ブロツクサイズを大きくするに従つて伝送エネル
ギーが小さくなつているのに対し、特性及び
はブロツクサイズにほとんど関係なく一定の伝送
エネルギー(約15dB)となつている。このこと
は、伝送エネルギーの点から見れば、ブロツクサ
イズ4×1又は2×2を選び、線形予測を行なう
のが効率的であることを示している。 このように水平方向にアダマール変換を行な
い、垂直方向に線形予測を行なうと効率的である
ことが分つた。この場合、前のブロツクラインに
おける全シーケンスを記憶するためのバツフアメ
モリが必要になるが、このバツフアメモリの容量
を節約するために、ブロツクサイズ2×2を用い
て水平方向にアダマール変換を行ない、同様に水
平方向に線形予測を行なうことが考えられ得る。
この場合、バツフアメモリは4次のシーケンスを
記憶する容量があれば良く、第1図のブロツク
Bi、j−1及びBijのように、同一ブロツクライ
ンにおける前ブロツクBi、j−1の各シーケン
スH0′、H1′、H2′、H3′から現ブロツクBijのシー
ケンスH0、H1を予測することとなり、結局伝送
すべきシーケンスは、予測誤差成分シーケンス ΔH0=H0−H^0=H0−H0′+H2′+H2 ……(7) ΔH1=H1−H^1=H1−H1′+H3′+H3 ……(8) 及び水平成分シーケンスH2、傾斜成分シーケ
ンスH3となる。ここに、垂直成分シーケンスH1
は既にブロツクBij内の和と差で構成されており、
伝送エネルギーも直流成分シーケンスH0に比べ
非常に小さいため、線形予測してもその効果は少
ない。つまり、シーケンスH1と予測誤差成分
ΔH1では伝送エネルギーの大きさにほとんど差
がなく、シーケンスH0だけについて線形予測を
行ない、伝送すべきシーケンスをΔH0、H1、H2
及びH3とすれば良い。 よつて、以下ではこの例(ΔH0、H1、H2
H3)を用いて説明する。 ブロツクサイズ2×2を用い、画素群に水平方
向にアダマール変換を施し、得られた各シーケン
スを視覚的に許容される範囲内で量子化し、その
後に現ブロツクの直流成分H0を予測し、その予
測誤差成分ΔH0を求め、シーケンスΔH0、H1
H2及びH3を伝送するとする。 ここに、従来はこれらシーケンスΔH0、H1
H2及びH3に対して適当な量子化レベルを与え、
ビツト数の配分を行なつて符号化するようにして
いる。たとえばシーケンスΔH0、H1、H2、H3
それぞれ7ビツト、5ビツト、5ビツト、3ビツ
トを配分すれば、1ブロツクに対して合計20ビツ
ト(平均5ビツト/画素)を伝送又は蓄積するよ
うになり、能率的な符号化とはいえないのであ
る。したがつて、更に圧縮率を上げるためにはブ
ロツクサイズを大きくする必要があり、このため
回路が増大するといつた欠点もあつた。 これに対し、各シーケンスの量子化値の組合せ
によつて、その組合せの発生確率に応じた可変長
符号化を行なえば、これによつて大巾なデータ圧
縮が可能となる。次に示す表1は、標準的な画像
を7ビツト/画素でサンプリングし、ブロツクサ
イズ2×2を用いて水平方向にアダマール変換を
行ない、得られたシーケンスH0a、H1a、H2a、
H3aそれぞれに適した量子化レベルを与え、シー
ケンス量子化値としている。この量子化は、画像
の空間パワースペクトラムの中で視覚的に劣化を
生じない範囲で各周波数成分yに歪Dを許容する
ことであり、このときの伝送に必要な情報量Rは
レート歪理論から R[ビツト/画素]=1/2N N-1y=0 Max{0、log2σ2y/D} ……(9) で与えられる。
The present invention relates to a method for decoding an image signal that encodes a combination of quantized values of each sequence transformed into the frequency domain by Hadamard transform for the purpose of narrowband transmission or storage of pixels. It has been widely used in the past to efficiently transmit or store images by removing redundant signals from the statistical properties of images or by removing unnecessary signals from visual characteristics. An orthogonal transform encoding method is known as one of the processing means. This orthogonal transform encoding method divides an image into multiple blocks consisting of mutually adjacent pixel groups, transforms the pixel groups within one block into the frequency domain by orthogonal transform, and converts each frequency that is the transform output. This method takes advantage of the fact that there is a bias in the spectrum and allocates an appropriate quantization level to each spectrum, in other words, it reduces the amount of information by applying distortion within a visually permissible range. . Hadamard transform, which is one of the orthogonal transform methods, has a transform matrix having "1" and "-1" as elements, and has the advantage that the circuit can be simplified because it can be configured with only adders. By the way, the sequence transformed into the frequency domain by Hadamard transform corresponds to the frequency axis in Fourier transform, and the 0th order sequence represents the amount of DC component, and the higher order sequence represents the amount of high frequency component. It can be considered as a parameter. Therefore, if the correlation between original pixels within a block is strong, the energy of the Hadamard-transformed signal will be concentrated in a low-order sequence. Since high-frequency components in a typical image have little energy, the number of bits at the quantization level can be reduced within a visually permissible range. Also,
The Hadamard transform encoding method, which aims at band compression, is particularly effective as low bit rate encoding, and can disperse deterioration caused by quantization so that it is not visually noticeable. That is, there is an advantage that quantization can be easily performed due to the visual characteristic that noise in smooth parts is easily noticeable, but noise in parts with steep changes is difficult to notice. However, in order to prevent image quality deterioration due to distortion and to perform highly efficient encoding, it is necessary to increase the block size, which also increases the amount of circuitry, resulting in an expensive device. In view of the above-mentioned points, it is an object of the present invention to provide a system for preventing image quality deterioration, having a simple circuit configuration, and decoding encoded image signals with high efficiency. This invention will be explained below. First, the image signal encoding method that is the premise of this invention will be explained. Figure 1 shows an image divided into 2×2 blocks Bij (i=1,
2, ..., j = 1, 2, ...), pixel 1 is divided into scanning lines h, h+
1... are scanned sequentially. If the pixel signals (density signals) for pixel 1 of block Bij are x 1 , x 2 , x 3 , x 4 as shown in the figure, then
The normalized Hadamard transform can be expressed as the following equation (1) using a quadratic or quartic Hadamard matrix. 1/21 1 1-1x 1 x 2 x 3 x 4 1 1 1-1=1/21 1 1 1 1-1 1-1 1 1-1-1 1-1-1 1x 1 x 2 x 3 x 4 = H 0 H 1 H 2 H 3 ...(1) Here, the sequence H 0 , H 1 , H 2 , H 3
correspond to the fourth-order frequency components transformed into the frequency domain by Hadamard transform, H 0 is the DC component sequence, H 1 is the vertical component sequence, H 2 is the horizontal component sequence, and H 3 is the slope component. The component sequences are shown respectively. Incidentally, the image information of pixels x 1 to x 4 may be read out by simultaneously scanning scanning lines h and h+1 in the i row of block Bij. First, scanning line h is scanned and pixels x 1 and x 3
Once the image information of
~ x4 may be read out in order. By the way, in general images, the correlation between adjacent pixels is strong, so the energy of low-order components is high,
The energy of higher order components is observed to be low. Each component is then distributed with the number of bits of the quantization level according to the magnitude of its energy, but since the energy of the DC component is particularly large compared to other components (vertical, horizontal, and inclined), It is necessary to realize highly efficient encoding by adopting a conversion method that lowers the energy of the DC component. As such a conversion method, a method of linearly predicting each sequence obtained by Hadamard transform is known. Next, this linear prediction method will be explained. In the linear prediction method, the block size is 1×n or 2
This is possible when the block size is 2 x n as shown in Figure 2. First, Hadamard transform is applied to each block in the horizontal direction, and then the Hadamard transform is applied to each block in the vertical direction. Consider the case where linear prediction is performed at each time. Then, each sequence obtained by Hadamard transformation is designated as Hl 0 and Hl 1 and arranged as shown in FIG. 2 for convenience. However, l=0,
1,..., (n-1). And the sequence in block Bi -1 ,j
From Hl 0 ′, the sequence Hl 0 in block Bij is
Prediction is made according to the following equation (2). H^l 0 = Hl 0 ′−Hl 1 ′−Hl 1 ...(2) The prediction error component sequence ΔHl 0 at this time is ΔHl 0 = Hl 0 −H^l 0 = Hl 0 −Hl 0 ′+Hl 1 ′ +Hl 1 ...(3) Then, this prediction error component sequence ΔHl 0 is the one that minimizes the distance between each pixel between blocks. Note that the sequence Hl 1 is transmitted as is without any prediction. Here, in order to show the effect of linearly predicting each sequence obtained by Hadamard transform, a comparison will be made with the total energy of the image to be transmitted. If the variance of the image x according to the memoryless Gaussian distribution is σ 2 x, the variance of each sequence y is σ 2 y, the block size is N, and the variance when linear prediction is used for some sequences is σ 2 Δy, then Based on the rate distortion theory, the absolute value of the transmitted energy is given as the average value Pa as follows. Pa=10/N・N-1y=0 log 10 σ 2 y ……(4) or Pa=10/N・N-1 〓 〓 y=0 log 10 σ 2 y ……(5) And, The relative value Pr of the transmission energy is Pr=10log 10 σ 2 −Pa (6). The results shown in FIG. 3 were obtained from calculations using equations (4) to (6) above. In FIG. 3, the characteristic shows the change in power corresponding to the block size of the one-dimensional Hadamard transform, and the characteristic shows the change in power corresponding to the block size of the two-dimensional Hadamard transform. and indicate the characteristics when the characteristics and are subjected to Hadamard transform in the horizontal direction and linearly predicted in the vertical direction, respectively.
Note that the total energy is 35.2 dB. As is clear from this, the transmission energy of both the characteristics and the block size decreases as the block size increases, whereas the transmission energy of the characteristics and the transmission energy remains constant (approximately 15 dB) almost regardless of the block size. There is. This shows that from the point of view of transmission energy, it is efficient to select a block size of 4×1 or 2×2 and perform linear prediction. It has been found that it is efficient to perform Hadamard transform in the horizontal direction and perform linear prediction in the vertical direction. In this case, a buffer memory is required to store the entire sequence in the previous block line, but in order to save the capacity of this buffer memory, Hadamard transform is performed in the horizontal direction using a block size of 2 × 2, and similarly It may be considered to perform linear prediction in the horizontal direction.
In this case, the buffer memory only needs to have a capacity to store the fourth-order sequence, and the buffer memory shown in Figure 1 is
Bi, j-1 and Bij, from each sequence H 0 ′, H 1 ′, H 2 ′, H 3 ′ of the previous block Bi, j-1 in the same block line, the sequence H 0 , H of the current block Bij 1 , and the sequence to be transmitted is the prediction error component sequence ΔH 0 =H 0 −H^ 0 =H 0 −H 0 ′+H 2 ′+H 2 ……(7) ΔH 1 =H 1 − H^ 1 = H1 - H1 '+ H3 '+ H3 ...(8) and a horizontal component sequence H2 and a slope component sequence H3 . Here, the vertical component sequence H 1
already consists of the sum and difference in block Bij,
Since the transmission energy is also very small compared to the DC component sequence H 0 , linear prediction has little effect. In other words, there is almost no difference in the magnitude of transmission energy between sequence H 1 and prediction error component ΔH 1. Linear prediction is performed only on sequence H 0 , and the sequence to be transmitted is determined by ΔH 0 , H 1 , H 2
and H 3 . Therefore, in the following, this example (ΔH 0 , H 1 , H 2 ,
This will be explained using H 3 ). Using a block size of 2×2, apply Hadamard transform to the pixel group in the horizontal direction, quantize each resulting sequence within a visually permissible range, and then predict the DC component H 0 of the current block, The prediction error component ΔH 0 is determined, and the sequence ΔH 0 , H 1 ,
Suppose we want to transmit H 2 and H 3 . Here, conventionally these sequences ΔH 0 , H 1 ,
Give appropriate quantization levels to H 2 and H 3 ,
Encoding is performed by allocating the number of bits. For example, if 7 bits, 5 bits, 5 bits, and 3 bits are allocated to the sequences ΔH 0 , H 1 , H 2 , and H 3 respectively, a total of 20 bits (average 5 bits/pixel) will be transmitted or stored for one block. Therefore, it cannot be said to be efficient encoding. Therefore, in order to further increase the compression ratio, it is necessary to increase the block size, which has the disadvantage of increasing the number of circuits. On the other hand, if variable-length encoding is performed based on the combination of quantized values of each sequence according to the probability of occurrence of the combination, it becomes possible to perform extensive data compression. Table 1 below shows the sequence H 0 a, H 1 a, H 2 obtained by sampling a standard image at 7 bits/pixel and performing a Hadamard transform horizontally using a block size of 2 ×2. a,
A suitable quantization level is given to each H 3 a and used as a sequence quantization value. This quantization allows distortion D to each frequency component y within the range that does not cause visual deterioration in the spatial power spectrum of the image, and the amount of information R required for transmission at this time is determined by the rate-distortion theory. From R[bit/pixel]=1/2N N-1y=0 Max{0, log 2 σ 2 y/D} ...(9).

【表】 画素信号x1〜x4が7ビツト/画素で入力され、
ブロツクサイズ2×2を用いた場合の正規化され
たアダマール変換の出力シーケンスH0a〜H3a
は、最大8ビツト必要となる。しかしながら、視
覚的に許容される歪レベルとして、シーケンス
H0a、H1a、H2a及びH3aに対してたとえばそれ
ぞれ1ビツト、2ビツト、2ビツト及び3ビツト
相当のホワイトノイズを与えるようにしても良
く、ここではシーケンスH0a〜H3aのそれぞれの
最下位ビツト(LSB)側から1ビツト、2ビツ
ト、2ビツト、3ビツト相当シフトすることによ
りビツト圧縮し、量子化を行なうようにしてい
る。この後、直流成分シーケンスH0に対して前
記量子化圧縮値を伸張して線形予測を行ない、予
測誤差成分ΔH0を得てからシーケンス量子化値
ΔH0、H1、H2及びH3の組合せに基づき、組合せ
番号C0〜C3を形成する。 表1において、たとえば組合せ番号C1は、予
測誤差成分シーケンスΔH0だけが「1」又は
「−1」の値をとり、他のシーケンス量子化値H1
〜H3が全て「0」の値をとることを示しており、
この組合せの発生確率が23.9%であることを意味
している。また、±hはシーケンス量子化値が任
意の値をとり得ることを示しており、ブロツクコ
ードはブロツク内の区切りを示すコードであり、
各組合せの発生確率に差が少ないので全てのブロ
ツクに2ビツトを割当てている。さらに、データ
コードは組合せ番号C0に関しては何らデータを
伝送せず、組合せ番号C1に関しては正負符号S
のみを伝送し、組合せ番号C2に関しては正負符
号Sの後ろに6ビツトのデータを送ることを示し
ており、組合せ番号C3に関してはシーケンス量
子化値H3、H2、H1、ΔH0にそれぞれ正負符号S
と共に3ビツト、5ビツト、5ビツト、7ビツト
を割当てて、シーケンス量子化値ΔH0〜H3の組
合せに応じた可変長符号データを伝送することを
示している。したがつて、伝送する符号長は、組
合せ番号C0の場合は2ビツト、組合せ番号C1
場合は3ビツト、組合せ番号C2の場合は9ビツ
ト、組合せ番号C3の場合は22ビツトである。な
お、組合せの発生確率は、ポートレート等の空間
周波数の低い画像、風景写真のような空間周波数
の高い画像等を種々テストし、平均的に求めたも
のである。 このように、可変長符号を与えることによつて
効率的な符号化を実現することが可能となる。な
お、シーケンス量子化値の確率分布はラプラス分
布に似ており、各シーケンス量子化値に可変長符
号を与えることも考えられるが、この場合、最も
短かい符号長を各シーケンスに与えても合計4ビ
ツト/ブロツクになる。しかしながら、表1のよ
うに組合せに対応して符号化するようにすれば、
最も短かい符号長で2ビツト/ブロツクであり、
その発生頻度が25.5%も存在することから、この
発明の符号化方式が非常に効率的であることは明
らかである。 以上のように、画像の空間スペクトラムの中で
量子化時に与えた歪レベル以下のデータは伝送せ
ずに捨て、表1の例ではシーケンス量子化値H3
H2、H1、ΔH0に対してそれぞれ3ビツト、5ビ
ツト、5ビツト、7ビツトに圧縮して伝送するよ
うにしており、平均伝送情報量が2.1ビツト/画
素となり、極めて効率的な符号化方式であること
が分る。 次に、上述した符号化方式を、表1に従つて実
現する具体的な回路例を第4図及び第5図に示し
て説明すると、走査ラインによつて読出された画
素信号x1〜x4はアダマール変換器10に入力さ
れ、周波数領域に変換されたシーケンスH0a〜
H3aが量子化部20に入力され、量子化部20を
構成する量子化器22で量子化された水平成分の
シーケンス量子化値H2、量子化器23で量子化
された垂直成分のシーケンス量子化値H1、量子
化器23で量子化された傾斜成分のシーケンス量
子化値H3はそれぞれ後段の可変長符号変換回路
40に入力される。また、量子化器21の出力で
ある直流成分のシーケンス量子化値H0はシーケ
ンス量子化値H2と共に第5図に示すような予測
器30に入力され、予測器30で予測された予測
誤差成分シーケンスΔH0が可変長符号化回路4
0に入力される。なお、量子化器21〜24はそ
れぞれパラレルシフタ又はシフトレジスタで構成
されており、アダマール変換器10で変換された
シーケンスH0a〜H3aに対して、それぞれに適し
たビツト数だけ下位ビツト側に同時にシフトする
ようになつており、たとえばシーケンスH0aに対
しては1ビツト、シーケンスH1aに対しては2ビ
ツト、シーケンスH2aに対しては2ビツト、シー
ケンスH3aに対しては3ビツトだけそれぞれ下位
ビツト側にシフトするようになつている。また、
予測器30の伸張器31はたとえばパラレルシフ
タで構成されており、入力される直流成分のシー
ケンス量子化値H0と水平成分のシーケンス量子
化値H2とのレベルが異なるために、水平成分シ
ーケンスH2のレベルを変えて両者のレベルを一
致させるようにしており、遅延回路32及び33
はそれぞれ1ブロツク分だけ時間的に遅延させる
ためのものである。 一方、可変長符号化回路40はPLA
(plogrammable Logic Array)で構成された比
較器41を有しており、この比較器41で判別さ
れた組合せ番号C0〜C3がROM(Read Only
Memory)42にアドレス信号として入力され
る。そして、ROM42から読出された符号長CL
がカウンタ43にセツトされ、ブロツクコード
BCがシフトレジスタ45にセツトされる。カウ
ンタ43に符号長CLがセツトされると信号Pが
セツト状態になり、クロツクパルスCPによつて
ダウンカウントを開始し、カウンタ43が0にな
つたとき信号Pはリセツト状態になる。信号Pが
セツト状態にあるとき、クロツクパルスCPおよ
び信号PはANDゲート46を介してシフト信号
SSをシフトレジスタ44へ送る。ここで、シフ
トレジスタ44,45はパラレル−イン/シリア
ル−アウト型のシフトレジスタである。また、量
子化部20からの水平成分シーケンスH2、垂直
成分シーケンスH1、傾斜成分シーケンスH3およ
び予測器30からの予測誤差成分シーケンス
ΔH0がシフトレジスタ44へ入力されるように
なつており、シフトレジスタ44からシフト出力
されるシフトデータはブロツクコードBCを記憶
しているシフトレジスタ45に入力され、シフト
レジスタ45の出力はシリアル−イン/パラレル
−アウト型のシフトレジスタ48に入力される。
レジスタ48は一定長のビツト数が入力されると
全体が並列に読み出され、バツフアメモリ49に
一旦記憶された後、画像信号PDとして他の装置
へ伝送されたり、蓄積されるようになつている。
バツフアメモリ49は実時間処理のときに入出力
間の時間軸の変動を吸収するための、つまり時間
軸を補正するためのものであり、必要に応じて付
加される。 このような構成において、2走査ラインの同時
読出し、または1走査ラインの読出しと1走査線
分の遅延とで読出された画素信号x1〜x4がアダマ
ール変換器10に入力されると、これら画素信号
x1〜x4が周波数領域のシーケンスH0a〜H3aに変
換されて量子化部20に入力される。そして、量
子化部20の量子化部21はシーケンスH0aを1
ビツトだけ下位側にシフトし、量子化部22はシ
ーケンスH2aを2ビツトだけ下位側にシフトし、
同様に量子化器23はシーケンスH1aを2ビツト
だけ下位側にシフトし、量子化器23はシーケン
スH3aを3ビツトだけ下位側にシフトする。ここ
で、いずれも上位ビツト側からは正・負の符号が
シフトされてくる。このようにして得られたシー
ケンス量子化値H0〜H3のうち、H1〜H3を可変
長符号化回路40の比較器41に入力すると共
に、シフトレジスタ44に入力する。そして、直
流成分シーケンスH0は予測器30に入力され、
この予測器30で水平成分シーケンスH2と共に
予測誤差シーケンスΔH0を形成し、この予測誤
差シーケンスΔH0を比較器41に入力すると共
に、シフトレジスタ44に入力する。ここに、比
較器41はPLAでプログラミング構成されてお
り、入力されるシーケンス量子化値ΔH0、H1
H2、H3の値に基づいて前述の表1に従つた組合
せ番号C0〜C3を判別し、組合せ番号C0〜C3のい
ずれか1つを2値信号たとえば“1”とする。た
とえば予測誤差シーケンスΔH0が「1」で、他
のシーケンスH1〜H3がいずれも「0」の場合に
は、組合せ番号C1のみが“1”となり、他の組
合せ番号C0及びC2、C3はいずれも“0”となつ
ている。 こうして、比較器41で判別された組合せ番号
C0〜C3がROM42に入力されると、ROM42
はこの組合せ番号C0〜C3の“1”をアドレス信
号として、該当アドレスに記憶されている符号長
データCLおよびブロツクコードBCを読出し、こ
の符号長データCLをカウンタ43にセツトする
と共にブロツクコードBCをシフトレジスタ45
にセツトする。したがつて、たとえば組合せ番号
C2が判別されてROM42に入力されると、
ROM42から符号長「9」がカウンタ43にセ
ツトされ、かつシフトレジスタ45に「10」がセ
ツトされ、カウンタ43のカウントダウンに対応
してシフトレジスタ44および45の内容をシフ
ト出力する。したがつて、シフトレジスタ48に
は「10」以下9ビツトが入力されることになる。
また、比較器41が組合せ番号C0と判別した場
合には、カウンタ43には符号長「2」がセツト
され、かつシフトレジスタ45に「00」がセツト
されることになり、シフトレジスタ48には
「00」だけが入力される。このようにしてシフト
レジスタ48に直列に入力されたデータは、並列
に変換されてたとえば8ビツト単位でバツフアメ
モリ49に記憶され、時間軸の補正を行なつた後
に画像信号PDとして出力される。かくして、第
4図及び第5図の回路によれば前述の表1に従つ
た画像信号の伝送又は蓄積を実現することができ
る。 なお、第4図の実施例ではアダマール変換器1
0の後段には説明上割算器11〜14を挿入して
「1/2」するようにしているが、量子化部20で
「1/2」の演算を行なうようにするのが一般的であ
る。また、量子化器21〜24は量子化特性を画
像の空間周波数に応じて適応的に変化することな
く、固定的に考えるならば省略することができる
ことは容易に理解できる。さらに、アダマール変
換のブロツクサイズが本実施例のように小さいと
き、一般に高周波成分に相当する傾斜成分は画面
全体からみれば視覚的に殆んど劣化を与えないの
で、回路構成上第4図におけるH3a、H3を得る
回路は最初から省略しておくことも可能である。 この発明は上述のようにして得られた画像信号
PDを復号化する方式に関するものであり、可変
長符号化におけるデータ長を記憶しているメモリ
により、入力される画像信号PDのデータ長を計
数し、その計数値により入力される直列画像信号
を並列画像信号に変換して後に、符号化時の圧縮
に対応する量だけ伸張し、得られた各シーケンス
のうち予測誤差として伝送されて来たシーケンス
に対して線形予測の逆変換を行ない、その後にア
ダマール逆変換を行なつて再生画素信号を得るよ
うにしたものである。 第6図及び第7図は、この発明方式を実現する
ための回路構成例を示すものであり、前述の如く
して得られた画像信号PD又は一旦蓄積装置に蓄
積された後に出力される画像信号PDは、直列信
号としてシフトレジスタ50および51に順次入
力されてくる。シフトレジスタ50および51は
シリアル−イン/パラレル−アウト型のシフトレ
ジスタであり、ブロツクコードがシフトレジスタ
51に入力されたとき、デコーダ52によつてブ
ロツクコード「00」、「01」、「10」、「11」が解読さ
れ、ANDゲートA2〜A5を介してブロツクコ
ード「00」のとき信号a、「01」のとき信号b、
「10」のとき信号c、「11」のとき信号dを出力す
る。信号a,b,c,dはアドレス信号として
ROM54に入力され、ROM54の指定アドレ
スから読出された符号長CLがカウンタ55に入
力されると信号Pはセツト状態になり、カウンタ
55はクロツクパルスCPによつてダウンカウン
トを開始し、カウンタ55が0になつたとき信号
Pはリセツト状態になる。信号Pがセツト状態に
あるとき、シフトレジスタ50からの出力信号は
ANDゲートA1を介してシフトレジスタ51に入
力され、信号Pがリセツト状態になつたとき
ROM54はシフトレジスタ51の内容をデコー
ドした信号a,b,c,dをアドレス信号として
入力するようになつている。 一方、シフトレジスタ50の内容は並列に出力
されるように構成されており、シフトレジスタ5
0の内容はバツフアレジスタ53内のレジスタ
BR1,BR2,BR3の定められたビツト長にしたが
つて入力されるが、その条件は信号a,b,dお
よび信号PがANDゲートA6,A7,A8を介して
得られたゲート信号e,f,gの状態によつて決
まる。ゲート信号e,f,gによつてシフトレジ
スタ50の内容がバツフアレジスタ53に入力さ
れると、レジスタBR1,BR2,BR3の内容はバツ
フアメモリ56の所定アドレスに一旦記憶され、
同時にレジスタBR1,BR2,BR3は0にクリアさ
れる。シフトレジスタ51内にあるブロツクコー
ドに応じてゲート信号e,f,gが出力され、こ
のゲート信号e,f,gによつてシフトレジスタ
50から出力される並列データのシーケンス
ΔH0〜H3はそれぞれバツフアメモリ56に入力
され、バツフアメモリ56からのシーケンス
ΔH0〜H3が伸張器61〜64で成る伸張部60
の入力されるようになつており、伸張器62で伸
張された水平成分のシーケンスH2a、伸張器63
で伸張された垂直成分のシーケンスH1a、伸張器
64で伸張された傾斜成分のシーケンスH3aはそ
れぞれ後段のアダマール逆変換器80に入力され
る。また、伸張器61から出力される予測誤差成
分のシーケンスΔH0′及び上記シーケンスH2aは
それぞれ第7図に示すような予備器70に入力さ
れ、予測誤差成分として伝送されて来た直流成分
シーケンスについての線形予測の逆変換を行な
い、得られた直流成分のシーケンスH0aがアダマ
ール逆変換器80に入力されるようになつてい
る。なお、伸張部60を構成する伸張器61〜6
4はそれぞれたとえばパラレルシフタで成つてお
り、前述した量子化器21〜24の圧縮と逆の関
係になつており、予測器70を構成する伸張器7
1も同様なパラレルシフタで成つている。また、
予測器70を構成する遅延回路72及び73はそ
れぞれ1ブロツク分だけ時間を遅延させるための
回路であり、第5図に示す予測器30と逆の変換
を行なうようになつている。さらに、バツフアメ
モリ56は入出力信号の時間軸の変動を吸収、つ
まり時間軸を補正する場合に必要とするものであ
り、アダマール逆変換器80の割算器81〜84
は説明上のものであり伸張器61〜64に含ませ
るのが一般的である。ROM52には、前述表1
で示したブロツクコード(“00”〜“11”)に対応
してデータ長(=符号長−2)が記憶されてい
る。 このような構成において、各ブロツクラインの
最初の画像信号PDがシフトレジスタ50に到達
したとき、初期信号INITがORゲートORを介し
てROM54に入力される。このとき、ROM5
4からは所定の符号長、表1の例では「22」が符
号長CLとして読み出されてカウンタ55に入力
されると信号Pがセツト状態になり、カウンタ5
5はクロツクパルスCPによつてダウンカウント
を開始し、同じクロツクパルスCPで画像信号PD
がシフトレジスタ50に順次入力され、1ビツト
ずつシフトしながらシフトレジスタ51に達す
る。カウンタ55が0をカウントしたとき信号P
はリセツト状態になり、このときシフトレジスタ
51にはブロツクコードが入つていることにな
り、したがつてそのブロツクコードがデコーダ5
2で解読され信号a,b,c,dおよびゲート信
号e,f,gを得る。ここで、ゲート信号e,
f,gの状態によつてシフトレジスタ50の内容
が、バツフアレジスタ53を介してバツフアメモ
リ56に入力されると同時にバツフアレジスタ5
3は0にクリアされる。 また、信号a,b,c,dはROM54に入力
され、該当符号長CLを読み出してカウンタ55
に入力する。このように、以上の動作をくり返し
ながら可変長符号である画像信号を、固定長の画
像信号ΔH0、H1、H2、H3としてバツフアメモリ
56に順次入力していくものである。 ここで、以上の動作を前述の表1のデータに対
応づけて説明すると、たとえば組合せ番号C1
C0,C3の画像信号PDが連続して入力される場合
には「01S」、「00」、
「11SxxxxxxSxxxxSxxxxSxx」のように画像信
号が伝送される。今、シフトレジスタ51に
「01」がセツトされ、信号Pがリセツト状態に入
つたとする。このとき、デコーダ52は信号bお
よびゲート信号eを出力する。このとき、シフト
レジスタ50には「S0011Sxx…」が入つており、
したがつてゲート信号eによつてシフトレジスタ
50の右端の「S」だけがレジスタBR1にセツト
され、レジスタBR1,BR2,BR3の内容全体がバ
ツフアメモリ56に入力されると同時に、レジス
タBR1〜BR3は全て0にクリアされる。一方、信
号bによつてROM54から符号長「3」が読み
出されてカウンタ55にセツトされると、信号P
がセツト状態に入り、カウンタ55はダウンカウ
ントを開始し、3ビツトをカウントすると信号P
を再びリセツト状態にする。このときシフトレジ
スタ50および51も3ビツトシフトしており、
シフトレジスタ50には「11SxxxxxxSxx…」
が、シフトレジスタ51には「00」が入つてい
る。したがつて、デコーダ52からは信号aが出
力され、ROM54から符号長「2」が読み出さ
れカウンタに入る。このときゲート信号e,f,
gはいずれも出力されないので、レジスタBR1
BR2,BR3はいずれも前の状態、すなわち0も保
持したままになつており、この状態でバツフアメ
モリ56に入力される。符号「2」がカウンタ5
5に入ると、再び信号Pはセツト状態に入り、カ
ウンタ55が2ビツトをカウントすると信号Pは
リセツト状態になる。このときシフトレジスタ5
0には「SxxxxxxSxxxxSxxxxSxx」が、シフ
トレジスタ51には「11」が入つている。したが
つて、デコーダ52からは信号dが出力され、
ROM54から符号長「22」が読み出されカウン
タ55に入る。このときゲート信号e,f,gが
出力されるので、シフトレジスタ50の内容は全
てバツフアレジスタ53にセツトされる。 このようにして、シフトレジスタ50からブロ
ツクコード毎に7ビツト、5ビツト、5ビツト、
3ビツトに配分されたシーケンスΔH0、H1
H2、H3が並列に出力されるようになり、これら
シーケンスΔH0〜H3がバツフアメモリ56に入
力されると同時に、バツフアレジスタ53は全体
が0にクリアされる。そして、バツフアメモリ5
6に一旦記憶されたシーケンスΔH0〜H3はそれ
ぞれ伸張器61〜64に入力され、量子化器21
〜24と逆の関係、つまり伸張器61はシーケン
スΔH0を1ビツト、伸張器62および63はシ
ーケンスH2およびH1を2ビツト、伸張器64は
シーケンスH3を3ビツトそれぞれ上位ビツト側
へ同時にシフトする。この場合、値の正・負にか
かわらず、下位ビツト側から0を挿入するように
シフトされる。こうして、圧縮と逆の関係で伸張
されたシーケンスH2a、H1a、H3aはそれぞれを
アダマール逆変換器80に入力され、シーケンス
ΔH0′はシーケンスH2aと共に予測器70に入力
され、線形予測と逆の変換が行なわれ、得られた
シーケンスH0aアダマール逆変換器80に入力す
る。アダマール逆変換器80は入力された直流成
分シーケンスH0a、水平成分シーケンスH2a、垂
直成分シーケンスH1a及び傾斜成分シーケンス
H3aからアダマール逆変換を行ない、再生画像の
画素信号x1〜x4を得る。 なお、上述の実施例では直流成分のシーケンス
の線形予測を行なつた場合の例について述べてい
るが、垂直成分のシーケンスを線形予測した場合
にも同様に逆の線形予測を行なうことにより再生
画素信号を得ることができる。また、ブロツク2
×2の復号化について説明したが、m(1,2)×
n(≧2)を符号化した画像信号についても同様
に適用することができる。
[Table] Pixel signals x 1 to x 4 are input at 7 bits/pixel,
Output sequence of normalized Hadamard transform using block size 2×2 H 0 a to H 3 a
requires a maximum of 8 bits. However, as a visually acceptable distortion level, the sequence
For example, white noise equivalent to 1 bit, 2 bits, 2 bits, and 3 bits may be applied to H 0 a, H 1 a, H 2 a, and H 3 a, respectively. Bit compression and quantization are performed by shifting 1 bit, 2 bits, 2 bits, and 3 bits from the least significant bit (LSB) side of each H3a . After that, linear prediction is performed by expanding the quantized compressed value for the DC component sequence H 0 to obtain the prediction error component ΔH 0 and then calculate the sequence quantized values ΔH 0 , H 1 , H 2 and H 3 . Based on the combinations, combination numbers C 0 to C 3 are formed. In Table 1, for example, in the combination number C 1 , only the prediction error component sequence ΔH 0 takes a value of "1" or "-1", and the other sequence quantized values H 1
It shows that ~H 3 all take the value of "0",
This means that the probability of this combination occurring is 23.9%. Also, ±h indicates that the sequence quantization value can take any value, and the block code is a code that indicates a break within a block.
Since there is little difference in the probability of occurrence of each combination, 2 bits are assigned to every block. Furthermore, the data code does not transmit any data for the combination number C 0 , and the plus/minus sign S for the combination number C 1 .
For combination number C 2, 6-bit data is sent after the plus/minus sign S, and for combination number C 3 , sequence quantized values H 3 , H 2 , H 1 , ΔH 0 have a positive or negative sign S, respectively.
In addition, 3 bits, 5 bits, 5 bits, and 7 bits are allocated to transmit variable length code data corresponding to the combination of sequence quantization values ΔH 0 to H 3 . Therefore, the code length to be transmitted is 2 bits for combination number C0 , 3 bits for combination number C1 , 9 bits for combination number C2 , and 22 bits for combination number C3. be. Note that the probability of occurrence of a combination is determined by testing various images with a low spatial frequency such as a portrait, images with a high spatial frequency such as a landscape photograph, and finding the average value. In this way, by providing variable length codes, it is possible to realize efficient encoding. Note that the probability distribution of sequence quantization values is similar to the Laplace distribution, and it is possible to give a variable length code to each sequence quantization value, but in this case, even if the shortest code length is given to each sequence, the total It becomes 4 bits/block. However, if you encode the combinations as shown in Table 1,
The shortest code length is 2 bits/block,
Since the occurrence frequency is as high as 25.5%, it is clear that the encoding method of the present invention is very efficient. As described above, data below the distortion level given during quantization in the spatial spectrum of the image is discarded without being transmitted, and in the example of Table 1, the sequence quantization value H 3 ,
H 2 , H 1 , and ΔH 0 are compressed into 3 bits, 5 bits, 5 bits, and 7 bits, respectively, and then transmitted, resulting in an average amount of transmitted information of 2.1 bits/pixel, making it an extremely efficient code. It can be seen that it is a method of conversion. Next, a specific circuit example for realizing the above-mentioned encoding method according to Table 1 will be explained with reference to FIGS. 4 and 5. The pixel signals x 1 to x read out by the scanning line 4 is input to the Hadamard transformer 10, and the sequence H 0 a~ is transformed into the frequency domain.
H 3 a is input to the quantization unit 20 , the sequence quantization value H 2 of the horizontal component quantized by the quantizer 22 constituting the quantization unit 20 , and the sequence quantization value H 2 of the vertical component quantized by the quantizer 23 . The sequence quantization value H 1 and the sequence quantization value H 3 of the slope component quantized by the quantizer 23 are respectively input to the variable length code conversion circuit 40 at the subsequent stage. Further, the sequence quantized value H 0 of the DC component which is the output of the quantizer 21 is inputted together with the sequence quantized value H 2 to a predictor 30 as shown in FIG. 5, and the prediction error predicted by the predictor 30 is Component sequence ΔH 0 is variable length encoding circuit 4
It is input to 0. Note that each of the quantizers 21 to 24 is composed of a parallel shifter or a shift register, and converts the sequence H 0 a to H 3 a converted by the Hadamard transformer 10 into lower bits by an appropriate number of bits. For example, 1 bit for the sequence H 0 a, 2 bits for the sequence H 1 a, 2 bits for the sequence H 2 a, and 2 bits for the sequence H 3 a. In contrast, three bits are shifted to the lower bit side. Also,
The expander 31 of the predictor 30 is composed of, for example, a parallel shifter, and since the input sequence quantization value H 0 of the DC component and the sequence quantization value H 2 of the horizontal component are different in level, the horizontal component sequence The level of H2 is changed to match the levels of both, and the delay circuits 32 and 33
are used to delay the time by one block each. On the other hand, the variable length encoding circuit 40
It has a comparator 41 composed of a programmable logic array (programmable logic array), and the combination numbers C 0 to C 3 determined by this comparator 41 are stored in a ROM (Read Only
(Memory) 42 as an address signal. Then, the code length CL read from the ROM42
is set in the counter 43, and the block code is
BC is set in the shift register 45. When the code length CL is set in the counter 43, the signal P goes into the set state, starts counting down by the clock pulse CP, and when the counter 43 reaches 0, the signal P goes into the reset state. When signal P is in the set state, clock pulse CP and signal P are connected to the shift signal via AND gate 46.
Send SS to shift register 44. Here, the shift registers 44 and 45 are parallel-in/serial-out type shift registers. Further, the horizontal component sequence H 2 , the vertical component sequence H 1 , the slope component sequence H 3 from the quantization unit 20 and the prediction error component sequence ΔH 0 from the predictor 30 are input to the shift register 44 . , the shift data shifted out from the shift register 44 is input to a shift register 45 storing a block code BC, and the output of the shift register 45 is input to a serial-in/parallel-out type shift register 48.
When a certain number of bits is input to the register 48, the entire bit is read out in parallel, and after being temporarily stored in a buffer memory 49, it is transmitted to another device or stored as an image signal PD. .
The buffer memory 49 is for absorbing fluctuations in the time axis between input and output during real-time processing, that is, for correcting the time axis, and is added as necessary. In such a configuration, when pixel signals x 1 to x 4 read out by simultaneous reading of two scanning lines or reading of one scanning line and a delay of one scanning line are input to the Hadamard transformer 10, these pixel signal
x 1 to x 4 are converted into frequency domain sequences H 0 a to H 3 a and input to the quantization unit 20 . Then, the quantization unit 21 of the quantization unit 20 converts the sequence H 0 a into 1
The quantization unit 22 shifts the sequence H 2 a to the lower side by 2 bits,
Similarly, the quantizer 23 shifts the sequence H 1 a to the lower order by 2 bits, and the quantizer 23 shifts the sequence H 3 a to the lower order by 3 bits. Here, positive and negative signs are shifted from the upper bit side. Of the sequence quantized values H 0 to H 3 thus obtained, H 1 to H 3 are input to the comparator 41 of the variable length encoding circuit 40 and also to the shift register 44 . Then, the DC component sequence H 0 is input to the predictor 30,
This predictor 30 forms a prediction error sequence ΔH 0 together with the horizontal component sequence H 2 , and inputs this prediction error sequence ΔH 0 to a comparator 41 and a shift register 44 . Here, the comparator 41 has a programming configuration using PLA, and input sequence quantized values ΔH 0 , H 1 ,
Based on the values of H 2 and H 3 , combination numbers C 0 to C 3 according to Table 1 described above are determined, and one of the combination numbers C 0 to C 3 is set as a binary signal, for example, “1”. . For example, if the prediction error sequence ΔH 0 is "1" and the other sequences H 1 to H 3 are all "0", only the combination number C 1 is "1", and the other combination numbers C 0 and C 2 and C3 are both "0". In this way, the combination number determined by the comparator 41
When C 0 to C 3 are input to the ROM42, the ROM42
uses “1” of the combination numbers C 0 to C 3 as an address signal, reads out the code length data CL and block code BC stored at the corresponding address, sets this code length data CL in the counter 43, and reads out the block code. BC shift register 45
Set to . Therefore, for example, the combination number
When C 2 is determined and input to ROM42,
The code length "9" is set in the counter 43 from the ROM 42, and "10" is set in the shift register 45, and the contents of the shift registers 44 and 45 are shifted out in response to the countdown of the counter 43. Therefore, 9 bits below "10" are input to the shift register 48.
Further, when the comparator 41 determines that the combination number C0 , the code length "2" is set in the counter 43, "00" is set in the shift register 45, and the code length is set in the shift register 48. only "00" is entered. The data input serially to the shift register 48 in this manner is converted into parallel data and stored in the buffer memory 49 in units of, for example, 8 bits, and after time axis correction is output as an image signal PD. Thus, according to the circuits of FIGS. 4 and 5, it is possible to realize the transmission or storage of image signals according to Table 1 above. In the embodiment shown in FIG. 4, the Hadamard transformer 1
For the sake of explanation, dividers 11 to 14 are inserted after 0 to ``1/2'', but generally the quantizer 20 performs ``1/2'' operation. It is. Furthermore, it is easy to understand that the quantizers 21 to 24 can be omitted if the quantization characteristics are considered fixed without being adaptively changed according to the spatial frequency of the image. Furthermore, when the block size of the Hadamard transform is small as in this embodiment, the slope component corresponding to the high frequency component generally causes almost no visual deterioration when viewed from the entire screen. It is also possible to omit the circuits for obtaining H 3 a and H 3 from the beginning. This invention provides an image signal obtained as described above.
This is a method for decoding PD, in which the data length of the input image signal PD is counted using a memory that stores the data length in variable length encoding, and the input serial image signal is determined based on the counted value. After converting it to a parallel image signal, it is expanded by an amount corresponding to the compression during encoding, and among the obtained sequences, the sequence that is transmitted as a prediction error is subjected to inverse linear prediction transformation, and then A reproduced pixel signal is obtained by performing Hadamard's inverse transform. 6 and 7 show examples of circuit configurations for realizing the method of this invention, and show the image signal PD obtained as described above or the image output after being stored in the storage device. Signal PD is sequentially input to shift registers 50 and 51 as a serial signal. The shift registers 50 and 51 are serial-in/parallel-out type shift registers, and when a block code is input to the shift register 51, the decoder 52 outputs the block code "00", "01", "10". , "11" is decoded and passed through AND gates A2 to A5, when the block code is "00", signal a, when "01", signal b,
When the value is "10", the signal c is output, and when the value is "11", the signal d is output. Signals a, b, c, d are used as address signals
When the code length CL input to the ROM 54 and read from the designated address of the ROM 54 is input to the counter 55, the signal P goes into the set state, the counter 55 starts counting down by the clock pulse CP, and the counter 55 reaches 0. When this happens, signal P goes into a reset state. When signal P is in the set state, the output signal from shift register 50 is
When the signal P is input to the shift register 51 through the AND gate A1 and becomes the reset state.
The ROM 54 receives signals a, b, c, and d obtained by decoding the contents of the shift register 51 as address signals. On the other hand, the contents of the shift register 50 are configured to be output in parallel;
The contents of 0 are in the buffer register 53.
BR 1 , BR 2 , BR 3 are input according to the determined bit length, but the condition is that signals a, b, d and signal P are obtained via AND gates A 6 , A 7 , A 8 . It is determined by the states of the gate signals e, f, and g. When the contents of the shift register 50 are input to the buffer register 53 by gate signals e, f, and g, the contents of the registers BR 1 , BR 2 , and BR 3 are temporarily stored at a predetermined address of the buffer memory 56 .
At the same time, registers BR 1 , BR 2 and BR 3 are cleared to 0. Gate signals e, f, and g are output according to the block code in the shift register 51, and the sequence of parallel data ΔH 0 to H 3 output from the shift register 50 by these gate signals e, f, and g is as follows. The sequences ΔH 0 to H 3 from the buffer memory 56 are inputted to the buffer memory 56, respectively, and the sequences ΔH 0 to H 3 are input to the decompressing unit 60 consisting of decompressors 61 to 64.
, the horizontal component sequence H 2 a is expanded by the expander 62, and the horizontal component sequence H 2 a is expanded by the expander 63.
The vertical component sequence H 1 a expanded by the expander 64 and the gradient component sequence H 3 a expanded by the expander 64 are respectively input to the Hadamard inverse transformer 80 at the subsequent stage. Furthermore, the sequence ΔH 0 ' of prediction error components outputted from the expander 61 and the above sequence H 2 a are respectively input to a preparator 70 as shown in FIG. 7, and are converted into DC components transmitted as prediction error components. The linear prediction inverse transform for the sequence is performed, and the obtained DC component sequence H 0 a is input to the Hadamard inverse transformer 80 . Note that the stretchers 61 to 6 forming the stretcher 60
4 are each made up of a parallel shifter, for example, and have an inverse relationship to the compression of the quantizers 21 to 24 described above, and the decompressor 7 forming the predictor 70
1 is also made up of a similar parallel shifter. Also,
Delay circuits 72 and 73 constituting the predictor 70 are circuits for delaying time by one block, respectively, and are designed to perform the opposite conversion to that of the predictor 30 shown in FIG. 5. Furthermore, the buffer memory 56 is necessary to absorb fluctuations in the time axis of the input/output signal, that is, to correct the time axis, and is used in the dividers 81 to 84 of the Hadamard inverse transformer 80.
is for explanatory purposes and is generally included in the expanders 61 to 64. The ROM 52 contains the table 1 mentioned above.
A data length (=code length - 2) is stored corresponding to the block code ("00" to "11") shown. In such a configuration, when the first image signal PD of each block line reaches the shift register 50, the initial signal INIT is input to the ROM 54 via the OR gate OR. At this time, ROM5
4, the predetermined code length, in the example of Table 1, "22" is read out as the code length CL and input to the counter 55, the signal P goes into the set state, and the counter 5
5 starts counting down by the clock pulse CP, and starts counting down the image signal PD by the same clock pulse CP.
are sequentially input to the shift register 50 and reach the shift register 51 while being shifted one bit at a time. When the counter 55 counts 0, the signal P
is in the reset state, and at this time the shift register 51 contains a block code, so the block code is transferred to the decoder 5.
2 to obtain signals a, b, c, d and gate signals e, f, g. Here, the gate signal e,
Depending on the states of f and g, the contents of the shift register 50 are input to the buffer memory 56 via the buffer register 53, and at the same time the contents of the shift register 50 are input to the buffer memory 56 via the buffer register 53.
3 is cleared to 0. Further, the signals a, b, c, and d are input to the ROM 54, and the corresponding code length CL is read out and the counter 55
Enter. In this way, while repeating the above operations, the image signal, which is a variable length code, is sequentially input to the buffer memory 56 as fixed length image signals ΔH 0 , H 1 , H 2 , and H 3 . Here, to explain the above operation in relation to the data in Table 1 above, for example, the combination number C 1 ,
When the image signals PD of C 0 and C 3 are input continuously, "01S", "00",
The image signal is transmitted as "11SxxxxxxSxxxxSxxxxSxx". Assume now that "01" is set in the shift register 51 and the signal P enters the reset state. At this time, the decoder 52 outputs the signal b and the gate signal e. At this time, the shift register 50 contains “S0011Sxx…”
Therefore, only the rightmost "S" of the shift register 50 is set in the register BR1 by the gate signal e, and the entire contents of the registers BR1 , BR2 , BR3 are input to the buffer memory 56, and at the same time, BR 1 to BR 3 are all cleared to 0. On the other hand, when the code length "3" is read out from the ROM 54 by the signal b and set in the counter 55, the signal P
enters the set state, the counter 55 starts counting down, and when it counts 3 bits, the signal P
to the reset state again. At this time, shift registers 50 and 51 are also shifted by 3 bits,
“11SxxxxxxSxx…” is in the shift register 50.
However, the shift register 51 contains "00". Therefore, the signal a is output from the decoder 52, and the code length "2" is read from the ROM 54 and entered into the counter. At this time, gate signals e, f,
Since neither g is output, registers BR 1 ,
Both BR 2 and BR 3 retain their previous state, that is, 0, and are input to the buffer memory 56 in this state. Code "2" is counter 5
5, the signal P enters the set state again, and when the counter 55 counts 2 bits, the signal P enters the reset state. At this time, shift register 5
0 contains "SxxxxxxSxxxxSxxxxSxx" and shift register 51 contains "11". Therefore, the decoder 52 outputs the signal d,
The code length “22” is read from the ROM 54 and entered into the counter 55. At this time, since gate signals e, f, and g are output, all contents of shift register 50 are set in buffer register 53. In this way, from the shift register 50, 7 bits, 5 bits, 5 bits,
Sequence ΔH 0 , H 1 , distributed to 3 bits
H 2 and H 3 are now output in parallel, and at the same time these sequences ΔH 0 to H 3 are input to the buffer memory 56, the entire buffer register 53 is cleared to 0. And buffer memory 5
The sequences ΔH 0 to H 3 temporarily stored in 6 are input to decompressors 61 to 64, respectively, and are inputted to quantizer 21.
~24, that is, the expander 61 transfers the sequence ΔH 0 to 1 bit, the expanders 62 and 63 transfers the sequences H 2 and H 1 to 2 bits, and the expander 64 transfers the sequence H 3 to the upper bit side by 3 bits. shift at the same time. In this case, regardless of whether the value is positive or negative, it is shifted so that 0 is inserted from the lower bit side. Thus, the sequences H 2 a, H 1 a, H 3 a, which have been decompressed in the inverse relationship to compression, are each input to the Hadamard inverse transformer 80, and the sequence ΔH 0 ' is input to the predictor 70 together with the sequence H 2 a. A transformation inverse to linear prediction is performed, and the resulting sequence H 0 a is input to Hadamard inverse transformer 80 . Hadamard inverse transformer 80 inputs a DC component sequence H 0 a, a horizontal component sequence H 2 a, a vertical component sequence H 1 a, and a slope component sequence.
Inverse Hadamard transform is performed on H 3 a to obtain pixel signals x 1 to x 4 of the reproduced image. Note that although the above embodiment describes an example in which linear prediction is performed on a sequence of DC components, when linear prediction is performed on a sequence of vertical components, the reproduced pixels can be I can get a signal. Also, block 2
×2 decoding was explained, but m(1,2)×
The same can be applied to an image signal encoded with n (≧2).

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

第1図はこの発明の原理を説明するための図、
第2図はこの発明に用いる線形予測方式を説明す
るための図、第3図はブロツクサイズとアダマー
ル変換の関係を説明するための図、第4図及び第
5図はこの発明の前提となる符号化方式を実施す
るための回路例を示すブロツク図、第6図及び第
7図はこの発明方式を適用した一実施を示す回路
構成図である。 1……画素、10,80……アダマール変換
器、30,70……予測器、31,61〜64…
…伸張器、32,33,72,73……遅延回
路、40……可変長符号化回路、41……比較
器、42,54……ROM、43,55……カウ
ンタ、44,45,48,50,51……シフト
レジスタ、49,56……バツフアメモリ、53
……バツフアレジスタ。
FIG. 1 is a diagram for explaining the principle of this invention.
Figure 2 is a diagram for explaining the linear prediction method used in this invention, Figure 3 is a diagram for explaining the relationship between block size and Hadamard transform, and Figures 4 and 5 are the premises of this invention. A block diagram showing an example of a circuit for implementing the encoding method, and FIGS. 6 and 7 are circuit configuration diagrams showing an implementation to which the inventive method is applied. 1... Pixel, 10, 80... Hadamard transformer, 30, 70... Predictor, 31, 61-64...
...Extender, 32, 33, 72, 73...Delay circuit, 40...Variable length encoding circuit, 41...Comparator, 42, 54...ROM, 43, 55...Counter, 44, 45, 48 , 50, 51...Shift register, 49, 56...Buffer memory, 53
... Batsuhua register.

Claims (1)

【特許請求の範囲】[Claims] 1 画素群m(1,2)×n(≧2)で成る互いに
隣接したブロツク群に分割された各ブロツクの画
素に対して、アダマール変換を施した後に量子化
を行ない、少なくとも直流成分を線形予測したシ
ーケンス量子化値の組合せに対応して、ブロツク
コード及びデータコードで成る可変長符号で与え
た画像信号を復号する方式において、前記データ
コードのデータ長を記憶しているメモリにより、
前記ブロツクコード毎に入力される前記画像信号
のデータ長を計数し、その計数値により前記入力
される直列画像信号を並列画像信号に変換して予
測誤差成分シーケンス、水平成分シーケンス、垂
直成分シーケンス及び傾斜成分シーケンスを得、
前記各シーケンスを前記可変長符号化時の圧縮に
対応する量だけ伸長し、得られた伸長各シーケン
スのうち前記予測誤差成分シーケンスに対して前
記線形予測の逆変換を行ない、逆変換された予測
誤差成分シーケンス及び前記伸長された水平成分
シーケンス、垂直成分シーケンス、傾斜成分シー
ケンスに対してアダマール逆変換を行なつて再生
画素信号を得るようにしたことを特徴とする画像
信号の復号化方式。
1 The pixels of each block divided into mutually adjacent block groups consisting of pixel groups m (1, 2) In a method for decoding an image signal given by a variable length code consisting of a block code and a data code in accordance with a combination of predicted sequence quantization values, a memory storing the data length of the data code,
The data length of the image signal inputted for each block code is counted, and the inputted serial image signal is converted into parallel image signals according to the counted value to generate a prediction error component sequence, a horizontal component sequence, a vertical component sequence, and the like. Obtain the gradient component sequence,
Each of the sequences is expanded by an amount corresponding to the compression during the variable length encoding, and among the resulting expanded sequences, the prediction error component sequence is subjected to inverse transformation of the linear prediction, and the inversely transformed prediction is obtained. A method for decoding an image signal, characterized in that a reproduced pixel signal is obtained by performing inverse Hadamard transform on the error component sequence and the expanded horizontal component sequence, vertical component sequence, and tilt component sequence.
JP57132510A 1982-07-29 1982-07-29 Decoding system of picture signal Granted JPS5923686A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57132510A JPS5923686A (en) 1982-07-29 1982-07-29 Decoding system of picture signal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57132510A JPS5923686A (en) 1982-07-29 1982-07-29 Decoding system of picture signal

Publications (2)

Publication Number Publication Date
JPS5923686A JPS5923686A (en) 1984-02-07
JPH0412077B2 true JPH0412077B2 (en) 1992-03-03

Family

ID=15083028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57132510A Granted JPS5923686A (en) 1982-07-29 1982-07-29 Decoding system of picture signal

Country Status (1)

Country Link
JP (1) JPS5923686A (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63280576A (en) * 1987-05-12 1988-11-17 Nec Corp Compression coding method
DE4031951C2 (en) * 1990-10-09 1994-06-09 Danfoss As Hydraulic steering system for vehicles
KR100419633B1 (en) * 1999-12-23 2004-02-25 주식회사 포스코 A reusing method of waste chloric acid solution as pickling solution and ferrous chloride for zn-fe alloy electroplating solution

Also Published As

Publication number Publication date
JPS5923686A (en) 1984-02-07

Similar Documents

Publication Publication Date Title
US4454546A (en) Band compression device for shaded image
JP4343440B2 (en) Real-time algorithm and architecture for encoding images compressed by DWT-based techniques
US6301392B1 (en) Efficient methodology to select the quantization threshold parameters in a DWT-based image compression scheme in order to score a predefined minimum number of images into a fixed size secondary storage
US8767823B2 (en) Method and apparatus for frame memory compression
JP3199371B2 (en) Rounding device
JP2633793B2 (en) Method and apparatus for variable length encoding / decoding of video data
US20020006229A1 (en) System and method for image compression and decompression
US6678422B1 (en) Method and apparatus for image data compression with low memory requirement
JPH0161278B2 (en)
JPH0810935B2 (en) Image signal compression encoding device and decompression reproducing device
JPH05500294A (en) Improved image compression method and apparatus
JPH05347709A (en) High efficient coding device
JPH08116447A (en) Coder for image signal
JP3990464B2 (en) Data efficient quantization table for digital video signal processor
US6396955B1 (en) Image compression and expansion device
EP0659023B1 (en) Method and apparatus for compression-coding image data
US8600181B2 (en) Method for compressing images and a format for compressed images
US10334246B2 (en) Method and device for compression and decompression of binary data
JPH06350854A (en) Picture compression encoding device
JPH0412077B2 (en)
JPH0352712B2 (en)
JPH0412076B2 (en)
JPH02122767A (en) Encoding/decoding system for picture signal
JP3796354B2 (en) Image coding method
JPS61123280A (en) Image data compressing device