JPH03241974A - Decoding processing system for picture - Google Patents

Decoding processing system for picture

Info

Publication number
JPH03241974A
JPH03241974A JP3730690A JP3730690A JPH03241974A JP H03241974 A JPH03241974 A JP H03241974A JP 3730690 A JP3730690 A JP 3730690A JP 3730690 A JP3730690 A JP 3730690A JP H03241974 A JPH03241974 A JP H03241974A
Authority
JP
Japan
Prior art keywords
bit
length
decoding
run
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP3730690A
Other languages
Japanese (ja)
Other versions
JP2614927B2 (en
Inventor
Shunkichi Tada
多田 俊吉
Kyoichi Ono
恭一 大野
Masatoshi Takahashi
正利 高橋
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP3730690A priority Critical patent/JP2614927B2/en
Publication of JPH03241974A publication Critical patent/JPH03241974A/en
Application granted granted Critical
Publication of JP2614927B2 publication Critical patent/JP2614927B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PURPOSE:To quicken the decoding of a compressed picture by discriminating a run length represented by an input bit string and a head of a succeeding input bit string from an output of a decoding computing element group. CONSTITUTION:An arithmetic section 51 of a parallel processor 5 is M-set of independent processor elements(PE) as a computing element group 510, an arithmetic register 511, a mask register 512, and a carry register 513. Then the run length represented by an input bit string, and a head of a succeeding input bit string are discriminated from an output of a decoding computing element group 510. Thus, when a compressed picture of facsimile communication is subject to direct image picture by a personal computer or the like, the picture is compressed/expanded by a coding/decoding processing the same as that of a facsimile equipment and the storage area storing the picture is economized and the input output is processed at a high speed.

Description

【発明の詳細な説明】 (発明の属する技術分野) 本発明はファクシミリ画像等のランレングス符号化され
た画信号を画像に復号化する処理方式に関し、特に画像
の復号化処理における並列演算に係るものである。
DETAILED DESCRIPTION OF THE INVENTION (Technical field to which the invention pertains) The present invention relates to a processing method for decoding run-length encoded image signals such as facsimile images into images, and in particular relates to parallel operations in image decoding processing. It is something.

(従来の技術) ファクシミリにおけるディジタル画像の圧縮に関しては
、従来、MH符号化方式(電話綱用G3ファクシミリの
1次元標準符号化方式)などの規格化がなされ広く普及
している。電話回線による通信では1回線速度や復号後
の印刷速度に見合った速度を実現すれば良く、従来汎用
マイクロコンピュータのプログラムで符号化/復号化処
理を行っても、実用上十分であった。
(Prior Art) Regarding the compression of digital images in facsimile, the MH encoding method (one-dimensional standard encoding method for G3 facsimile for telephone lines) has been standardized and widely used. In communication via a telephone line, it is sufficient to achieve a speed commensurate with the line speed or the printing speed after decoding, and conventionally it has been practically sufficient to perform the encoding/decoding process using a general-purpose microcomputer program.

(発明が解決しようとする課題) しかし圧縮密度の向上、電送の高速化9通信紙面の大形
化に追従することは困難であり、符号化/復号化処理を
付加ハードウェアに委ねざるを得ない欠点があった。ま
た、画像の圧縮伸張を実現するためには、ビット単位の
シスト器などを特定の圧縮伸張専用に構成する必要があ
り、付加ハードウェアが個別部品となることが避けられ
ず、装置の小形化、経済化を阻害する欠点があった。
(Problem to be solved by the invention) However, it is difficult to keep up with the increase in compression density and the increase in the speed of electronic transmission9 and the increase in the size of communication paper, and the encoding/decoding process has to be entrusted to additional hardware. There were no drawbacks. In addition, in order to compress and expand images, it is necessary to configure a bit-based system unit specifically for the specific compression and expansion, and it is inevitable that the additional hardware will be separate components, resulting in a reduction in the size of the device. However, there were drawbacks that hindered economicization.

/  − 一方、フアツジきり通信の圧縮画像をパソコン等で直接
イメージ処理する用途があり、ファクシミリと同じ符号
化/復号化処理で画像を圧縮/伸張できれば、画像を格
納する記憶領域の経済化。
/ - On the other hand, there are applications in which compressed images from fax transmissions are processed directly on computers, etc., and if images can be compressed/expanded using the same encoding/decoding process as facsimile, the storage space for storing images can be saved.

入出力の高速化が可能となる。しかしこれをパソコン本
体のプロセッサで実現し他のプログラムと共存するには
、プロセッサの負担が大きすぎ、同じく専用の付加ハー
ドウェアが必要となるため、柔軟性という汎用計算機の
利点を損なう欠点があった。
Enables faster input/output. However, in order to achieve this with the computer's processor and coexist with other programs, the burden on the processor is too large and additional dedicated hardware is also required, which has the disadvantage of undermining the advantage of general-purpose computers, which is flexibility. Ta.

ところで、パソコンなどの汎用計算機は、16または3
2ビットなど短語長のデータを逐次処理するものである
。画像を扱う場合には1ビット単位の高速処理が必要で
あり、ビット単位のデータの流れを複数の処理機構に入
力して演算結果を受は取るパイプライン処理による方法
と、ビット処理プロセッサを多元配置して処理した結果
を同時に出力する波列処理による方法がある。前者の方
法は処理が専用化し、汎用計算機のアーキテクチャと共
存することが困難であるという問題があった。
By the way, general-purpose computers such as personal computers have 16 or 3
It sequentially processes short word length data such as 2 bits. When handling images, high-speed processing on a bit-by-bit basis is required, and there are two methods: a pipeline processing method that inputs a bit-by-bit data flow to multiple processing mechanisms and receives and receives the calculation results, and a method using multiple bit processing processors. There is a method using wave train processing that outputs the arranged and processed results simultaneously. The former method has the problem that the processing is specialized and it is difficult to coexist with the architecture of a general-purpose computer.

(発明の目的) 本発明は上述した後者の方法を効率よく実現でき、かつ
逐次処理と両立する並列処理計算機のアーキテクチャを
活用することによって、圧縮画像を高速に復号化し得る
処理方式を実現することを目的とするものである。
(Objective of the Invention) The present invention is to realize a processing method that can efficiently implement the latter method described above and can decode compressed images at high speed by utilizing a parallel processing computer architecture that is compatible with sequential processing. The purpose is to

(al!i!を解決するための手段) 本発明は上記目的を達成するため、ランレングス符号化
された画信号を画像に復号化する処理方式において、少
なくともランレングス符号のビット列の種類と同数以上
の復号化演算器群を有し、相異なるランレングス符号の
ビット列とその有効ビット長およびそのビット列の表わ
すランレングス長とを各演算器上に保持する手段と、前
記有効長の最大値以上の入力ビット列を全復号化演算器
へ一斉に複写する手段と、前記復号化演算器群を並列に
動作させ、ランレングス符号のビット列と復号化対象入
力ビット列との演算による入力ビット列の符号照合手段
とを備え、当該入力ビット列の表すランレングス長と引
き続く入力ビット列の先頭とを前記復号化演算I!群の
出力から判定することを主要な特徴とする。
(Means for solving al!i!) In order to achieve the above object, the present invention provides a processing method for decoding a run-length coded image signal into an image, in which at least the same number of bit strings as the types of bit strings of the run-length code are used. means for holding bit strings of different run-length codes, their effective bit lengths, and run lengths represented by the bit strings on each arithmetic unit; means for simultaneously copying the input bit string to all the decoding arithmetic units; and means for operating the decoding arithmetic units in parallel to check the code of the input bit string by calculating the run-length code bit string and the input bit string to be decoded. and calculates the run length represented by the input bit string and the beginning of the subsequent input bit string by the decoding operation I! The main feature is that the judgment is made from the output of the group.

(作 用) 本発明は上記手段によりファクシミリ通信の圧縮画像を
パソコン等で直接イメージ処理する場合に、ファクシミ
リと同じ符号化/復号化処理で画像を圧縮/伸長が可能
となり1画像を格納する記憶領域の経済化、入出力の高
速化がはかられる。
(Function) According to the present invention, when a compressed image of facsimile communication is directly image-processed by a personal computer or the like using the above means, the image can be compressed/decompressed by the same encoding/decoding process as for facsimile, and a memory for storing one image is provided. This will save space and speed up input/output.

(実施例) 第1図は画像圧縮法として広く適用され、かつ種々の圧
縮方式の基本となっているMH符号化方式の符号化デー
タ/復号化データの対応を示した説明図である。復号化
は、入力ビット列をMH符号と照合し白または黒のラン
レングス長(以下ラン長と呼ぶ)を求め、ラン長に相当
する画素数をビット列に並べて出力する。MH符号相互
間は、MH有効ビット長によって弁別される。
(Example) FIG. 1 is an explanatory diagram showing the correspondence between encoded data and decoded data of the MH encoding method, which is widely applied as an image compression method and is the basis of various compression methods. In decoding, the input bit string is compared with the MH code to obtain a white or black run length (hereinafter referred to as run length), and the number of pixels corresponding to the run length is arranged in a bit string and output. MH codes are distinguished from each other by the MH effective bit length.

第2図は本発明方式を説明するためのMビットメモリの
構成図である。第2図の2は語長Mビットのメモリであ
る。 20.21.22は照合用テーブルデータであり
、各々第2図のNワード方向(縦方向)に意味を持つ、
前記20はMH符号群テーブル。
FIG. 2 is a block diagram of an M-bit memory for explaining the method of the present invention. 2 in FIG. 2 is a memory with a word length of M bits. 20, 21, and 22 are collation table data, each having meaning in the N word direction (vertical direction) in Figure 2.
20 is an MH code group table.

21はMH有効長テーブル、22はラン長テーブルとし
て用い、第1図の内容に対応する6 また24は入力MH符号、23はMH符号群テープル2
0と入力MH符号24との照合演算結果である。
21 is used as an MH effective length table, 22 is used as a run length table, and corresponds to the contents of FIG. 1. 24 is an input MH code, and 23 is an MH code group table 2
0 and the input MH code 24.

一方、25は白ランテーブル、26は黒ランテーブルで
あり、各々第2図Mビット方向(横方向)に並べている
。同じ<27は復号化後のイメージデータであり1語長
Mの中に折り畳んで格納する。20〜27の各テーブル
とデータはすべて同一のMビットメモリ2の内部に格納
する。
On the other hand, 25 is a white run table, and 26 is a black run table, which are arranged in the M bit direction (horizontal direction) in FIG. Similarly, <27 is image data after decoding, which is folded into one word length M and stored. All tables 20 to 27 and data are stored inside the same M-bit memory 2.

以下の説明では、Mビットメモリ2の語長方向を横、ア
ドレス方向を縦と定義して説明を進める。
In the following explanation, the word length direction of the M-bit memory 2 is defined as horizontal, and the address direction is defined as vertical.

まず処理に先立ち第1@のMH符号、MH符号有効長、
ラン長の各ビットパターンは、上述したように縦方向す
なわち通常のデータ保持方法に対して90度回転した形
で第2図のテーブル20.21゜22に示すように予め
格納しておく。
First, prior to processing, the first @ MH code, the effective length of the MH code,
Each bit pattern of the run length is stored in advance in the vertical direction, that is, rotated 90 degrees with respect to the normal data storage method, as shown in tables 20, 21 and 22 of FIG. 2, as described above.

また処理の開始とともに入力するMH符号は、Mビット
メモリ2へ書き込む毎に第2図入力MH符号24のよう
に縦並びにM個に複写する。入力と同時に複写する方法
については、後述する。
Further, the MH code inputted at the start of processing is copied vertically into M pieces like the input MH code 24 in FIG. 2 every time it is written into the M-bit memory 2. The method of copying at the same time as input will be described later.

MH符号化方式では、紙の寸法A3版までのランレング
ス符号を約200種類のビットパターンで表現できるた
め、その種類の数置上の語長(第2図ではMビット)を
用意すれば、MH符号化有効長分のアドレスを占める1
組のテーブルに格納できる。
In the MH encoding method, run-length codes up to A3 size paper can be expressed using approximately 200 types of bit patterns, so if you prepare the numerical word length of that type (M bits in Figure 2), 1 occupies the address for the effective length of MH encoding
Can be stored in a set of tables.

そこでまず、テーブル20.21を同じ大きさ(第2図
ではNワード)のメモリの別空間に配置する。
Therefore, first, tables 20 and 21 are placed in separate memory spaces of the same size (N words in FIG. 2).

テーブル20.21では説明を簡潔にするため両テーブ
ルの一部を表記しており、左から順にラン長0゜1.2
・・・に対応するテーブルの内容に相当する。テーブル
20に示す記号[1,0]は、MH符号テーブルの内容
であり、記号[x]表記部分は不定(Oまたは1)で良
い。
Tables 20 and 21 show parts of both tables to simplify the explanation, and from the left, the run length is 0°1.2.
Corresponds to the contents of the table corresponding to... The symbol [1, 0] shown in the table 20 is the content of the MH code table, and the symbol [x] notation part may be undefined (O or 1).

またMH符号有効長テーブル21では[1コと表記した
部分は有効、[0]と表記した部分は無効を表わす。こ
のような照合用テーブルのデータ構造と1語長Mの各要
素毎に独立な縦方向の演算を行う演算器群を用意し、入
力後M個複写した入力MH符号24に対し各テーブル相
互の並列演算を行ってラン長を抽出する。入力MH符号
24の中に示したTは1次の入力MH符号の先頭を表わ
し、ラン長抽出&ミおける照合処理の中で求めることが
できる。
In addition, in the MH code effective length table 21, a portion written as [1 code] represents valid, and a portion written as [0] represents invalid. A data structure of such a collation table and a group of arithmetic units that perform independent vertical calculations for each element of one word length M are prepared. Extract the run length by performing parallel operations. T shown in the input MH code 24 represents the beginning of the primary input MH code, and can be determined during the run length extraction and matching process.

ラン長を求めるには、このようにテーブルとデータを配
置したMビットメモリ2で、復号化対象のN個以上のビ
ット列をM個複写し、最大有効長がNビットのM種類の
照合用テーブルの内容20゜21と一気に照合演算を行
う。
To find the run length, M copies of N or more bit strings to be decoded are made in the M-bit memory 2 in which tables and data are arranged in this way, and M types of matching tables with a maximum effective length of N bits are created. Verification calculations are performed at once with the contents of 20° and 21.

この結果、第2図23に示すように唯一のランレングス
符号(この例では白ラン長=8)が入力ビット列と合致
する。合致したビット位置のラン長テーブルの内容22
によって、入力符号のラン長値が得られる。また同じく
合致したビット位置のMH符号有効長テーブルの内容2
1によって、引き続くラン長油出処理に必要な次の入力
符号の先頭アドレス(第2図のTに示す)も求まる。
As a result, as shown in FIG. 23, only one run length code (white run length=8 in this example) matches the input bit string. Contents of the run length table at the matched bit position 22
gives the run length value of the input code. Also, contents 2 of the MH code effective length table for the matching bit position
1 also determines the start address (indicated by T in FIG. 2) of the next input code necessary for the subsequent run length oil extraction process.

一方復号化データを組み立てていくには、演算器群を同
じ語長Mの単一の長語長プロセッサとして利用し、Mビ
ット毎に折り畳まれたイメージデータの中に白および黒
のラン長データを書き込んでいく方法を用いる。第3図
、第4図は、その具体的な処理手順を示した説明図であ
り、全てMビットメモリ2の内容を表わす。図において
、31゜41、43.45は書き込み中のイメージデー
タ27の内容、 32.42は白ランテーブル25の内
容、44は黒うンテーブル26の内容である。
On the other hand, in order to assemble the decoded data, the arithmetic units are used as a single long word length processor with the same word length M, and white and black run length data are stored in the image data folded every M bits. Use the method of writing. 3 and 4 are explanatory diagrams showing the specific processing procedure, and all show the contents of the M-bit memory 2. FIG. In the figure, 31.degree. 41, 43.45 are the contents of the image data 27 being written, 32.42 are the contents of the white run table 25, and 44 are the contents of the black run table 26.

ここにおける処理は、白黒各ランテーブル25゜26の
アドレスをラン長から計算することによって、その内容
と書き込み先との論理演算を行い、処理結果のイメージ
データを組み立てるものである。
The processing here is to calculate the address of each of the black and white run tables 25 and 26 from the run length, perform a logical operation on the content and write destination, and assemble image data as a result of the processing.

いま、直前のラン長を書き終った現在の状態が。Here is the current state after writing the previous run length.

語長Mビット単位に分割されたイメージデータ27の各
Mビットの先頭である場合、照合演算結果23の[1]
が指すラン長テーブル22の内容から直接計算される白
、黒ランテーブル25または26のアドレスの内容をイ
メージデータ27八番き込めば良い。
If it is the beginning of each M bit of the image data 27 divided into word length M bit units, [1] of the matching operation result 23
It is sufficient to input the contents of the address of the white or black run table 25 or 26, which is directly calculated from the contents of the run length table 22 pointed to by the image data 27, into the image data 27.

第3図はこの様子を示したものであり、処理前のイメー
ジデータ31に白または黒ランテーブルの内容32を上
書きする。ここでは照合演算結果23の[1Fが指すラ
ン長テーブル22が白ランでかつ長さ=8であるので、
第2図のAに示す白ランテープル8番地の内容をイメー
ジデータ27に書き込んでいる。
FIG. 3 shows this situation, in which the image data 31 before processing is overwritten with the contents 32 of the white or black run table. Here, since the run length table 22 pointed to by [1F in the matching calculation result 23 is a white run and the length is 8,
The contents of white run table number 8 shown at A in FIG. 2 are written to the image data 27.

一方、各Mビットの先頭で無い通常の場合には、処理の
進行過程で語長Mビットの左端から現在までに組み立て
た白黒ラン長の総和を求めておき、これに現在書き込も
うとしている照合演算結果23のラン長(ここでは=8
)を加算した値で白また黒ランテーブルのアドレスを指
し、その内容と書き込み対象のイメージデータとの論理
演算を行って、そのイメージデータを更新する。
On the other hand, in the normal case where it is not the beginning of each M bit, the sum of the black and white run lengths assembled up to the present from the left end of the word length M bits is calculated in the process of processing, and this is used for the collation that is currently being written. Run length of calculation result 23 (here = 8
) is added to the address of the white or black run table, and a logical operation is performed between the contents and the image data to be written to update the image data.

第4図はこの様子を示したものであり、白ランの書き込
みでは、白黒交互にBビットまで組み立てが進行し、最
後に黒ランがBビットまで既に書き込まれている第4図
のイメージデータ41と、現在書き込もうとしている白
ラン長42との排他的論理和をとった結果43が処理結
果のイメージデータとなる。
Figure 4 shows this situation. When writing a white run, the assembly progresses alternately between black and white up to the B bit, and finally the image data 41 in Figure 4 in which the black run has already been written up to the B bit. and the white run length 42 that is currently being written, the result 43 becomes the image data of the processing result.

ここで白ラン長42は、第2図の白ランテーブル25の
アドレス=B+8+1の内容である6次のC(=B+8
+2)ビットからの黒ランデータの書き込みでは、同じ
方法で黒ランテーブル26のアドレス(ここではc+7
+1)を指し、その内容44と着目中のイメージデータ
43との論理積をとった結果45でそのイメージデータ
を更新すれば良い。
Here, the white run length 42 is the 6th order C (=B+8+1) which is the content of the address=B+8+1 of the white run table 25 in FIG.
+2) To write black run data from the bit, use the same method to write the address of the black run table 26 (here c+7
+1) and update the image data with the result 45 of the AND of the content 44 and the image data 43 of interest.

以上説明したラン長の抽出処理と復合化イメージの組み
立て処理を交互に繰り返すことによって。
By alternately repeating the run length extraction process and the decomposed image assembly process described above.

画像の復元を実現する。Achieve image restoration.

通常の汎用プロセッサでは、ビット演算を基本とする処
理が極めて冗長になりゃすく高速化が困難である。本発
明は第2図〜第4図に示したMHランレングス復号化の
方法によれば、長語長の論理演算プロセッサを構成し、
その演算器を無駄なく使うことによってビット演算を高
速に実行する。
In a normal general-purpose processor, processing based on bit operations becomes extremely redundant, making it difficult to increase the speed. According to the MH run length decoding method shown in FIGS. 2 to 4, the present invention configures a long word length logical operation processor,
Bit operations are executed at high speed by using the arithmetic unit without waste.

そのプロセッサアーキテクチャへの必要条件も、単に長
語長であることを除いては、極めて特殊な演算能力を要
求するものではなく、構成も単純なもので良い、MH符
号からのラン長抽出と、ラン長からの復号化データ組み
立てとは、相互に演算の性質が異なる処理モジュールで
ある1両者ともビット単位の柔軟かつ高速な演算が要求
されるが。
The requirements for the processor architecture are run length extraction from the MH code, which does not require extremely special computing power other than simply having a long word length, and the configuration can be simple. Assembling decoded data from run lengths requires flexible and high-speed bit-wise calculations for both processing modules, which have different calculation properties.

長語長の単一のプロセッサアーキテクチャを用意するこ
とによって、以下の計算機アーキテクチャの例において
詳細に説明するように2種類の長語長演算で容易に実現
可能である。
By providing a single processor architecture for long word lengths, it can be easily implemented with two types of long word length operations, as detailed in the computer architecture examples below.

第5図は本発明方式を実現する並列プロセッサの一実施
例の構成図であり、5は並列プロセッサ。
FIG. 5 is a block diagram of an embodiment of a parallel processor that implements the method of the present invention, and 5 is a parallel processor.

51は演算部、52はプログラムシーケンサ、53は演
算メモリ、54はバッファメモリ、55はマイクロプロ
グラムメモリである。また演算部51の510は演算器
群、511は演算レジスタ、512はマスクレジスタ、
513はキャリーレジスタである。
51 is an arithmetic unit, 52 is a program sequencer, 53 is an arithmetic memory, 54 is a buffer memory, and 55 is a microprogram memory. Further, 510 of the calculation unit 51 is a calculation unit group, 511 is a calculation register, 512 is a mask register,
513 is a carry register.

上記演算部51は、Malの独立したプロセッサエレメ
ント(以下PEと呼ぶ)であり、各PEに各レジスタ5
10.511.512.513の各構成要素を備えてい
る。演算部5Iと演算メモリ53の語長は通常のコンピ
ュータにおける16ビットより極めて大きいM(本実施
例ではM = 256とする)ビットであり、演算部5
1と演算メモリ53とが同じMビットのバスで接続され
、l@のアクセスでMビットのデータを読み書きできる
構造である。同様にPE数、各レジスタ511.512
.513の構成要素数即ち語長もMビットである。
The arithmetic unit 51 is an independent processor element (hereinafter referred to as PE) of Mal, and each PE has a register 5.
10.511.512.513 components. The word length of the arithmetic unit 5I and the arithmetic memory 53 is M bits (M = 256 in this embodiment), which is much larger than 16 bits in a normal computer.
1 and the arithmetic memory 53 are connected by the same M-bit bus, and the structure is such that M-bit data can be read and written by l@ access. Similarly, the number of PEs, each register 511.512
.. The number of constituent elements of 513, ie, the word length, is also M bits.

また高速化のため、演算レジスタ511は複数ワードを
用意し、通常の計算機におけるキャシュメモリの機能を
受は持たせる。バッファメモリ54の語長は、16ビッ
トとする。その理由は、同メモリが語長16ビットのプ
ログラムシーケンサ52のデータメモリとしての役割を
果たすので、同メモリ内データ間の演算語長に一致させ
れば扱い易く、またインタフェースを介して外部とのデ
ータ入出力にも適しているためである。
Further, in order to increase the speed, the operation register 511 has a plurality of words, and has the function of a cache memory in a normal computer. The word length of the buffer memory 54 is assumed to be 16 bits. The reason for this is that since the same memory serves as a data memory for the program sequencer 52 with a word length of 16 bits, it is easier to handle the data by matching the operation word length between the data in the same memory, and it is also possible to communicate with the outside via an interface. This is because it is suitable for data input/output.

汎用計算機では1本実施例のプログラムシーケンサ52
と同様、語長16ビットや32ビットの演算を行うのに
対し、本アーキテクチャでは、マイクロプログラムメモ
リ55に内蔵するプログラムをプログラムシーケンサ5
2で制御することによってMビットの演算を行う。具体
的には、演算レジスタ511に格納したデータと演算メ
モリ53のデータとの間の演算において5個々の1ビッ
ト間演算のオーバーフローをキャリーレジスタ513の
内容に入れて桁上げ桁下げを行うため、通常の算術論理
演算用Mビット計算機が実現されていることと等価であ
る。
In a general-purpose computer, the program sequencer 52 of this embodiment
Similarly, operations with a word length of 16 bits or 32 bits are performed, but in this architecture, the program stored in the micro program memory 55 is transferred to the program sequencer 5.
2, M-bit operations are performed. Specifically, in the calculation between the data stored in the calculation register 511 and the data in the calculation memory 53, the overflow of five individual 1-bit calculations is stored in the contents of the carry register 513 to perform carry and carry down. This is equivalent to realizing an ordinary M-bit computer for arithmetic and logic operations.

一方、本アーキテクチャでは3つのレジスタ511、5
12.513を設けているため、ビット処理に有効な以
下に示す処理が可能である。マスクレジスタ512の保
持するビットパターンによって1両データ間の演算の可
否をビット単位に制御する。
On the other hand, in this architecture, there are three registers 511, 5
12.513, the following processing effective for bit processing is possible. Depending on the bit pattern held in the mask register 512, whether or not an operation between two pieces of data can be performed is controlled on a bit-by-bit basis.

第6図はこの様子を示したマスク演算の説明図であって
、演算レジスタ511内のデータ61と演算メモリ53
内のデータ62とを演算する場合、マスクレジスタ51
2のデータ63が1、すなわち第6図斜線部分のみ演算
が行われ、出力データ64が演算レジスタ511へ書き
込まれる。データ63がOの部分は、もとのデータ61
がそのまま保持されている。
FIG. 6 is an explanatory diagram of the mask operation showing this state, and shows data 61 in the operation register 511 and the operation memory 53.
When calculating the data 62 in the mask register 51
2 data 63 is 1, that is, only the shaded area in FIG. 6 is operated, and output data 64 is written to the operation register 511. The part where data 63 is O is the original data 61
is retained as is.

この例は語長Mビットのデータ間の論理積を演算したも
のであるが、換言すれば、M個のビットデータを対象と
した縦方向のビット間並列処理を実現するものである。
This example calculates the logical product between data of word length M bits, but in other words, parallel processing between bits in the vertical direction is realized for M bit data.

アーキテクチャとしては、S I M D (Sing
le In5truction stream Mul
tipleData 5trea+a)型として知られ
ている計算機構成法の一つである。
The architecture is S.I.M.D.
le In5truction stream Mul
This is one of the computer configuration methods known as the tripleData 5trea+a) type.

以上説明したSIMD型並列処理のアーキテクチャを有
するプロセッサを設けておくことによって、該プロセッ
サ上で本発明方式のプログラマブルかつ高速な圧縮画像
の復号化を行うことができるようになる。以下、本実施
例において第2図〜第4図に示したMHウランングス復
号化の方法を実現する具体的な手順について説明を進め
る。
By providing a processor having the SIMD parallel processing architecture described above, programmable and high-speed decoding of compressed images using the method of the present invention can be performed on the processor. Hereinafter, specific procedures for implementing the MH Urangs decoding method shown in FIGS. 2 to 4 in this embodiment will be explained.

第7図は本実施例の復号化処理過程における入力MH符
号を演算メモリ53上にMat複写する手順を示したも
のであり、バッファメモリ54から入力するMH符号化
データ群711.712を演算メモリ53へ721.7
22のように展開する過程を表わす。
FIG. 7 shows the procedure for copying the input MH code onto the calculation memory 53 in the decoding process of this embodiment. 721.7 to 53
22 represents the process that unfolds.

第7図の72はMビット全てがOのデータ、73はMビ
ット全てが1のデータであり、それぞれ演算レジスタ5
11上に用意する。また第7図、の[O〜Z]の記号は
、Oまたは1のビットを表わすものとする。
72 in FIG. 7 is data in which all M bits are O, and 73 is data in which all M bits are 1.
11 Prepare on top. Further, the symbols [O to Z] in FIG. 7 represent O or 1 bits.

処理の開始に先立ち、データ72とデータ73を演算レ
ジスタ511へ予め別々にロードしておく、また被処理
データの準備として、各部のネットワークや記憶装置か
ら処理対象の画像1枚分のMH符号群をバッファメモリ
54へ711.712のようにロードする。
Prior to the start of processing, data 72 and data 73 are loaded separately into the calculation register 511 in advance, and in preparation for the data to be processed, a group of MH codes for one image to be processed is loaded from the network or storage device of each section. are loaded into the buffer memory 54 as 711 and 712.

処理の中身は、バッファメモリ54のビット構成要素[
0,1,2,・・・tZt  ・・・]を16ビットず
つ演算メモリ53へ各M個複写する過程を、繰り返すも
のである。M個分の複写を行なうには、各ビット構成要
素がOまたは1であるため、それぞれデータ72.デー
タ73を721または722の所定のアドレスへ複写す
る過程を16回繰り返せば良い。
The contents of the process are bit components of the buffer memory 54 [
0, 1, 2, . . .tZt . To perform M copies, each bit component is O or 1, so data 72 . The process of copying the data 73 to a predetermined address 721 or 722 may be repeated 16 times.

この複写が必要となる条件は、第7図のPで示すアドレ
スポインタの位置すなわち、後続する処理でMH符号の
特定を行ない、入力MH符号の切れ目により、以下の手
順で判断を検出した場合である。演算メモリ53上では
第7図のRに示すようにこの入力MH符号をデータ72
1.722で構成する一連の32ワードの先頭から最後
までの回帰的なルックアップテーブルとして使用参照し
、設置するMH符号を特定する。
The condition that this copying is necessary is the position of the address pointer shown by P in FIG. be. On the arithmetic memory 53, this input MH code is stored as data 72 as shown in R in FIG.
This is used as a recursive lookup table from the beginning to the end of a series of 32 words consisting of 1.722 words to identify the MH code to be installed.

このMH符号の特定過程では、直前に計測した符号の切
れ目Pから後方に、MH符号有効長の最大値(ここでN
ビット)までを観測するので、その切れ目以降にNビッ
ト以上、未処理のデータが残っていない場合、次の16
ビットをロードする。ロード先は、Pがデータ721の
中にあるときは722、または722の中にあるときは
721である。
In this MH code identification process, the maximum value of the MH code effective length (here N
bits), so if there are no more than N bits of unprocessed data remaining after that break, the next 16
Load bits. The load destination is 722 when P is in the data 721, or 721 when it is in 722.

なお、バッファメモリ54の各16ビット内部のビット
構成要素が1かOかの判定は、良く知られた方法、すな
わちシフトやマスクを用いて汎用のビット抽出処理で判
定できる。この理由は、バッファメモリ54が、プログ
ラムシーケンサ52のローカルメモリであり、プログラ
ムシーケンサ52.バッファメモリ54で1つの16ビ
ットプロセツサと見立てることもできるためである。
It should be noted that it is possible to determine whether a bit component within each 16 bits of the buffer memory 54 is 1 or O by a well-known method, that is, general-purpose bit extraction processing using a shift or mask. The reason for this is that the buffer memory 54 is a local memory of the program sequencer 52, and the program sequencer 52. This is because the buffer memory 54 can be regarded as one 16-bit processor.

次にMH符号特定処理は、第2図のMH有効長テーブル
21をマスクレジスタ512に置き、MH符号群テーブ
ル20と入力MH符号24間の排他的論理和を演算する
。ここでは第7図のRなどのアドレスポインタを変化さ
せMビットワードの対応をとりながら、第6図に示した
方法をそのまま使用すれば良く、原理的に唯一のビット
のみlがセットされた照合演算結果23が得られる。
Next, in the MH code identification process, the MH effective length table 21 of FIG. 2 is placed in the mask register 512, and the exclusive OR between the MH code group table 20 and the input MH code 24 is calculated. Here, the method shown in Figure 6 can be used as is while changing the address pointer such as R in Figure 7 to correspond to the M-bit word. A calculation result 23 is obtained.

また第7図に示した入力符号の切れ目Pのアドレスは、
以下に示すラン長決定手順と同一の手順を、照合演算結
果23とMH有効長テーブル21に当てはめることによ
って算出される。
Also, the address of the break P of the input code shown in FIG.
It is calculated by applying the same procedure as the run length determination procedure described below to the collation calculation result 23 and the MH effective length table 21.

第8図は、本実施例の復号化処理過程における入力MH
符号のラン長決定手順を示したものであり、81は演算
メモリ53上のラン長算出結果格納領域、811は同領
域に得られたラン長、812はバッファメモリ54上に
複写されたラン長である。
FIG. 8 shows the input MH in the decoding process of this embodiment.
81 is a run length calculation result storage area on the calculation memory 53, 811 is the run length obtained in the same area, and 812 is the run length copied on the buffer memory 54. It is.

処理の前半は、ラン長テーブル22と照合演算結果23
との間の論理積を取り、ラン長811以外のデータをす
へてOにして格納領域81に書き込む演算、処理の後半
は格納領域81の各Mビットワードの値がOか否かをN
ジー1分検査し、0以外のとき、バッファメモリ54の
ラン長812上の該当位置にビットをセットする演算で
ある。
The first half of the process is based on the run length table 22 and the matching calculation result 23.
, and write the data to the storage area 81 by changing the data other than the run length 811 to 0.The second half of the process is to check whether the value of each M-bit word in the storage area 81 is 0 or not.
This is an operation in which the bit is checked for one minute and, if it is other than 0, a bit is set at the corresponding position on the run length 812 of the buffer memory 54.

第8図の例では、ラン長=8が数値としてバッファメモ
リ54上に得られる。この論理積の演算は、第6図の方
法からマスクを外してそのまま使用すれば良い。ラン長
数値化の演算は、バッファメモリ54と、プログラムシ
ーケンサ52との処理を絡ませながら、第7図に示した
処理の逆を実行すれば良い。
In the example of FIG. 8, run length=8 is obtained as a numerical value on the buffer memory 54. This logical product operation can be used as is by removing the mask from the method shown in FIG. The calculation for converting the run length into numerical values may be performed by performing the reverse of the process shown in FIG. 7 while intertwining the processes of the buffer memory 54 and the program sequencer 52.

なおMHクラン号は64進で扱われているため、白黒交
互にデータが格納されているとは限らない。
Note that since the MH clan number is handled in 64-decimal format, data is not necessarily stored alternately in black and white.

このため64以上のラン長に対しては、引続き64以下
の数値がくるまで入力MH符号の照合を繰り返し、81
2のデータに得られた数値を加算することによって、6
5以上のラン長の値を得る。
Therefore, for a run length of 64 or more, input MH codes are repeatedly checked until a value of 64 or less is reached.
By adding the obtained value to the data of 2, 6
Obtain a run length value of 5 or more.

従って引き続くイメージデータの組み立て過程では、白
または黒を交互に書き込む処理を行えば良い。また画像
の終端検出には、END  0FLINE (EOL)
の検出が不可欠である。EOLもひとつのMH符号であ
るため、MH符号群テーブル20などに1組のデータを
割り付けておき、ラン長812上に抽出したデータの値
によって容易に検出できる。
Therefore, in the subsequent process of assembling image data, it is sufficient to perform a process of writing white or black alternately. Also, to detect the end of the image, END 0FLINE (EOL)
detection is essential. Since EOL is also one MH code, one set of data is allocated to the MH code group table 20 or the like, and it can be easily detected by the value of the data extracted on the run length 812.

最後の第4図に示したイメージデータの組み立て過程は
、今までに説明してきた演算を組み合わせることによっ
てそのまま実現できるが、ここでは本実施例アーキテク
チャを用い、より高速に実現する方法を、第9図を用い
て説明する。
The process of assembling image data shown in the final figure 4 can be realized as is by combining the operations explained so far, but here we will explain how to realize it faster using the architecture of this embodiment. This will be explained using figures.

まずMビットが全てOのワード91と同じく全て1のワ
ード92を演算メモリ53上に用意し、同図93゜95
、97に示すように、書き込み済みのビットポンタB、
C,Dをマスクレジスタ512上に抱える。
First, a word 92 whose M bits are all 1's is prepared on the arithmetic memory 53, similar to a word 91 whose M bits are all 0's.
, 97, the written bit pointer B,
C and D are held on the mask register 512.

また、同図94.96.98に示すように、書き込み中
のイメージデータを演算レジスタ511上に抱える。こ
こでデータ93.94の組は直前までに白2ビット、黒
3ビット、白2ビット、黒2ビット、白3ビット、黒3
ビットと、ポインタBまでイメージデータを書き込まれ
た状態にある。これに、白ラン長=5を書き込み、デー
タ95.96の組を得る。
Further, as shown in FIG. 94, 96, and 98, the image data being written is held on the calculation register 511. Here, the set of data 93.94 is white 2 bits, black 3 bits, white 2 bits, black 2 bits, white 3 bits, black 3 bits.
Bits and image data up to pointer B have been written. A white run length of 5 is written in this to obtain a set of data 95.96.

さらに黒ラン長=3を書き込み、データ97.98を得
る。データ96は第6図の方法において、データ93を
マスクに用い、データ91をデータ94に書き込むこと
によって得られる。同じくデータ98は、データ95を
マスクに用い、データ92をデータ96へ書き込むこと
によって得られる。
Furthermore, black run length=3 is written to obtain data 97.98. Data 96 is obtained by writing data 91 to data 94 using data 93 as a mask in the method of FIG. Similarly, data 98 is obtained by writing data 92 to data 96 using data 95 as a mask.

(発明の効果) 以上説明したように、本発明方式とこれを実現する単一
の並列プロセッサアーキテクチャによって、柔軟、高速
、高機能な画像の復号化が実現できる。このアーキテク
チャは、汎用計算機の計算語長を拡張し、マスクレジス
タなどビット演算に有用な機能を追加をしたもので、基
本的には通常のマイクロコンピュータシステムの構造と
大きな差異は無い。
(Effects of the Invention) As described above, by using the method of the present invention and a single parallel processor architecture that implements the method, flexible, high-speed, and highly functional image decoding can be realized. This architecture extends the calculation word length of a general-purpose computer and adds functions useful for bit operations such as mask registers, and is basically not much different from the structure of a normal microcomputer system.

また汎用計算機の処理では、lビットの演算でもワード
演算と同じ処理が必要であり、ワード内の残りのビット
が無駄になり同じ演算時間を要する。これに対し、本ア
ーキテクチャとの使用法によって、1ビット演算ではM
語長倍の高速化がはかれ、汎用計算機の語長W以下のN
ビット同士の演算でもM/W倍の高速化がはかれる。さ
らに入力MH符号の照合に必要なテーブル検索処理と、
イメージデータの組み立てに必要なビット書き込み処理
とが、同一の演算機構を用いてワード内Mビットをほと
んど遊ばせること無く実行可能である。
Furthermore, in the processing of a general-purpose computer, an l-bit operation requires the same processing as a word operation, and the remaining bits in the word are wasted and the same operation time is required. On the other hand, depending on the usage with this architecture, in 1-bit operation M
The speed is increased by twice the word length, and N is less than the word length W of a general-purpose computer.
Even operations between bits can be made faster by M/W times. Furthermore, table search processing necessary for collating the input MH code,
The bit writing process necessary for assembling image data can be performed using the same arithmetic mechanism with almost no idleness of M bits within a word.

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

第1図はMHは符号化方式の符号化データ/復号化デー
タの対応を示す説明図、第2図は本発明方式を説明する
ための語長Mビットのメモリの構成図、第3図および第
4図はイメージデータの処理手順の説明図、第5図は本
発明方式を実現する並列プロセッサの一実施例の構成図
、第6図はマスク演算の説明図、第7図は復号化処理過
程における入力MH符号を演算メモリ上にM個複写する
手順を示す説明図、第8図は復号化処理過程における入
力MH符号のラン長決定手順を示す説明図。 第9図はイメージデータ組み立て演算を示す説明図であ
る。 2 ・・・Mビットメモリ、 5 ・・・並列プロセッ
サ、20・・・MH符号群テーブル。 21・・・MH有効長テーブル、22・・・ラン長テー
ブル、23・・・照合演算結果、24・・・入力MH符
号、25・・・白ランテーブル、26・・・黒ランテー
ブル、27・・・イメージデータ、51・・・演算部、
52・・・プログラムシーケンサ、53・・・演算メモ
リ、54・・・バッファメモリ、55・・・マイクロプ
ログラムメモリ、510・・・演算器群、511・・・
演算レジスタ、512・・・マスクレジスタ、513・
・・ キャリーレジスタ。
FIG. 1 is an explanatory diagram showing the correspondence between encoded data and decoded data in the MH encoding method, FIG. 2 is a configuration diagram of a memory with a word length of M bits to explain the method of the present invention, and FIG. Fig. 4 is an explanatory diagram of the image data processing procedure, Fig. 5 is a configuration diagram of an embodiment of a parallel processor that implements the method of the present invention, Fig. 6 is an explanatory diagram of mask operation, and Fig. 7 is a decoding process. FIG. 8 is an explanatory diagram showing a procedure for copying M input MH codes onto an arithmetic memory in the process, and FIG. 8 is an explanatory diagram showing a procedure for determining the run length of the input MH code in the decoding process. FIG. 9 is an explanatory diagram showing image data assembly calculation. 2...M-bit memory, 5...Parallel processor, 20...MH code group table. 21...MH effective length table, 22...Run length table, 23...Verification calculation result, 24...Input MH code, 25...White run table, 26...Black run table, 27 ... image data, 51 ... calculation section,
52... Program sequencer, 53... Arithmetic memory, 54... Buffer memory, 55... Micro program memory, 510... Arithmetic unit group, 511...
Arithmetic register, 512...mask register, 513...
... Carry register.

Claims (2)

【特許請求の範囲】[Claims] (1)ランレングス符号化された画信号を画像に復号化
する処理方式において、少なくともランレングス符号の
ビット列の種類と同数以上の復号化演算器群を有し、相
異なるランレングス符号のビット列とその有効ビット長
およびそのビット列の表わすランレングス長とを各演算
器上に保持する手段と、前記有効長の最大値以上の入力
ビット列を全復号化演算器へ一斉に複写する手段と、前
記復号化演算器群を並列に動作させ、ランレングス符号
のビット列と復号化対象入力ビット列との演算による入
力ビット列の符号照合手段とを備え、当該入力ビット列
の表すランレングス長と引き続く入力ビット列の先頭と
を前記復号化演算器群の出力から判定することを特徴と
する画像の復号化処理方式。
(1) A processing method for decoding a run-length coded image signal into an image, which has at least the same number of decoding arithmetic units as the types of bit strings of the run-length code, means for holding the effective bit length and the run length represented by the bit string on each arithmetic unit; means for simultaneously copying the input bit string having a maximum value of the effective length or more to all decoding arithmetic units; A code matching means for an input bit string is provided, in which a group of processing units are operated in parallel, and a code matching means for an input bit string is calculated by performing an operation on a bit string of a run-length code and an input bit string to be decoded. An image decoding processing method, characterized in that: is determined from the output of the decoding arithmetic unit group.
(2)復号化演算器群と同数のビット幅に画像を折り畳
んで格納するイメージメモリと、アドレスの昇順または
降順に1ビットずつ0の連続が増加する前記復号化演算
器群と同数のアドレス空間を持つ白ランテーブルメモリ
,およびアドレスの昇順または降順に1ビットずつ1の
連続が増加する黒ランテーブルメモリとを備え、前記復
号化演算器群を単一の長語長演算器として各メモリの内
容相互の論理演算を行い、ランレングス長から前記イメ
ージメモリ上の復号化画像を作成することを特徴とする
請求項(1)記載の画像の復号化処理方式。
(2) An image memory that folds and stores an image to the same number of bit widths as the decoding arithmetic unit group, and an address space of the same number as the decoding arithmetic unit group, in which consecutive 0s increase by one bit in ascending or descending order of addresses. and a black run table memory in which successive 1's are increased by 1 bit in ascending or descending order of addresses, and each memory is provided with the decoding arithmetic unit group as a single long word length arithmetic unit. 2. The image decoding processing method according to claim 1, wherein a logical operation is performed on each content to create a decoded image on the image memory from the run length.
JP3730690A 1990-02-20 1990-02-20 Image decoding processing method Expired - Lifetime JP2614927B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3730690A JP2614927B2 (en) 1990-02-20 1990-02-20 Image decoding processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3730690A JP2614927B2 (en) 1990-02-20 1990-02-20 Image decoding processing method

Publications (2)

Publication Number Publication Date
JPH03241974A true JPH03241974A (en) 1991-10-29
JP2614927B2 JP2614927B2 (en) 1997-05-28

Family

ID=12494014

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3730690A Expired - Lifetime JP2614927B2 (en) 1990-02-20 1990-02-20 Image decoding processing method

Country Status (1)

Country Link
JP (1) JP2614927B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011192305A (en) * 2011-06-01 2011-09-29 Renesas Electronics Corp Semiconductor signal processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011192305A (en) * 2011-06-01 2011-09-29 Renesas Electronics Corp Semiconductor signal processor

Also Published As

Publication number Publication date
JP2614927B2 (en) 1997-05-28

Similar Documents

Publication Publication Date Title
TW200824306A (en) Huffman decoding method
US6247112B1 (en) Bit manipulation instructions
JPS6376525A (en) Method for probability fitting in arithmetic encoding system
JPS63138881A (en) Mr code expander
US5488366A (en) Segmented variable length decoding apparatus for sequentially decoding single code-word within a fixed number of decoding cycles
JPH0434669A (en) Image processing system
JPH02503981A (en) Methods for encoding and decoding data in blocks and encoding and decoding devices for performing this method
JPH03241974A (en) Decoding processing system for picture
JPS5818824B2 (en) Fukushima Shingouno Fugoukahoushiki
JP2556160B2 (en) Compression code decompression device
US6473530B2 (en) Encoding and decoding apparatuses and image processing apparatus using the same
JP4227441B2 (en) Data compression method and processor
JP3342380B2 (en) Encoding and decoding apparatus and image processing apparatus to which the same is applied
JP2840420B2 (en) Image data compression and decompression method
JP3255808B2 (en) Compression / expansion device
JPH11261424A (en) Huffman decoder
JPS5964969A (en) Coded signal decoding device
JPH01302917A (en) Data compression system
JP3673630B2 (en) Encoding method
JPH07184063A (en) Binary image compression system
JP2795023B2 (en) Encoding device
JPH05298063A (en) Encoding device
JPH05236284A (en) Compression decoding system for picture data
JPS5941632B2 (en) 2-dimensional sequential encoding method
JPH01174173A (en) Compression coding method for binary picture data

Legal Events

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

Free format text: PAYMENT UNTIL: 20090227

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20090227

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20100227

Year of fee payment: 13

EXPY Cancellation because of completion of term