JP2614927B2 - Image decoding processing method - Google Patents

Image decoding processing method

Info

Publication number
JP2614927B2
JP2614927B2 JP3730690A JP3730690A JP2614927B2 JP 2614927 B2 JP2614927 B2 JP 2614927B2 JP 3730690 A JP3730690 A JP 3730690A JP 3730690 A JP3730690 A JP 3730690A JP 2614927 B2 JP2614927 B2 JP 2614927B2
Authority
JP
Japan
Prior art keywords
length
run
bit
image
decoding
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
JP3730690A
Other languages
Japanese (ja)
Other versions
JPH03241974A (en
Inventor
俊吉 多田
恭一 大野
正利 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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

Description

【発明の詳細な説明】 (発明の属する技術分野) 本発明はファクシミリ画像等のランレングス符号化さ
れた画信号を画像に復号化する処理方式に関し、特に画
像の復号化処理における並列演算に係るものである。
Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a processing method for decoding a run-length coded image signal such as a facsimile image into an image, and more particularly to a parallel operation in image decoding processing. Things.

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

(発明が解決しようとする課題) しかし圧縮密度の向上,電送の高速化,通信紙面の大
形化に追従することは困難であり、符号化/復号化処理
を付加ハードウェアに委ねざるを得ない欠点があった。
また、画像の圧縮伸張を実現するためには、ビット単位
のシスト器などを特定の圧縮伸張専用に構成する必要が
あり、付加ハードウェアが個別部品となることが避けら
れず、装置の小形化,経済化を阻害する欠点があった。
(Problems to be Solved by the Invention) However, it is difficult to keep up with the improvement of the compression density, the speed of the transmission, and the increase in the size of the communication paper, and the encoding / decoding processing has to be left to the additional hardware. There were no shortcomings.
In addition, in order to realize image compression / expansion, it is necessary to configure a bit-based cyst unit or the like exclusively for specific compression / expansion, and it is inevitable that additional hardware will be an individual component, thus miniaturizing the device. However, there was a drawback that hindered economic realization.

一方、ファクシミリ通信の圧縮画像をパソコン等で直
接イメージ処理する用途があり、ファクシミリと同じ符
号化/復号化処理で画像を圧縮/伸張できれば、画像を
格納する記憶領域の経済化,入出力の高速化が可能とな
る。しかしこれをパソコン本体のプロセッサで実現し他
のプログラムと共存するには、プロセッサの負担が大き
すぎ、同じく専用の付加ハードウェアが必要となるた
め、柔軟性という汎用計算機の利点を損なう欠点があっ
た。
On the other hand, there is a use for directly processing a compressed image of facsimile communication on a personal computer or the like. If the image can be compressed / expanded by the same encoding / decoding processing as that of the facsimile, the storage area for storing the image is economical and the input / output speed is high. Is possible. However, in order to achieve this with the processor of the personal computer itself and coexist with other programs, the burden on the processor is too large, and special additional hardware is also required. Was.

ところで、パソコンなどの汎用計算機は、16または32
ビットなど短語長のデータを逐次処理するものである。
画像を扱う場合には1ビット単位の高速処理が必要であ
り、ビット単位のデータの流れを複数の処理機構に入力
して演算結果を受け取るパイプライン処理による方法
と、ビット処理プロセッサを多元配置して処理した結果
を同時に出力する並列処理による方法がある。前者の方
法は処理が専用化し、汎用計算機のアーキテクチャと共
存することが困難であるという問題があった。
By the way, general-purpose computers such as personal computers use 16 or 32
It sequentially processes data of short word length such as bits.
When handling images, high-speed processing in units of 1 bit is necessary. A method of pipeline processing in which the flow of data in units of bits is input to a plurality of processing units and the operation result is received, and a bit processing processor is arranged in multiple ways. There is a method based on parallel processing in which the results of processing are output simultaneously. The former method has a problem that the processing is dedicated and it is difficult to coexist with the architecture of a general-purpose computer.

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

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

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

(実施例) 第1図は画像圧縮法としては広く適用され、かつ種々
の圧縮方式の基本となっているMH符号化方式の符号化デ
ータ/復号化データの対応を示した説明図である。復号
化は、入力ビット列をMH符号と照合し白または黒のラレ
ングス長(以下ラン長と呼ぶ)を求め、ラン長に相当す
る画素数をビット列に並べて出力する。MH符号相互間
は、MH有効ビット長によって弁別される。
(Embodiment) FIG. 1 is an explanatory diagram showing the correspondence between coded data / decoded data of the MH coding 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 collated with the MH code to determine a white or black length length (hereinafter referred to as a run length), and the number of pixels corresponding to the run length is arranged in a bit string and output. The 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符号群テーブル、21はMH有効長テーブル、22はラン長
テーブルとして用い、第1図の内容に対応する。
FIG. 2 is a configuration diagram of an M-bit memory for explaining the method of the present invention. 2 in FIG. 2 is a memory having a word length of M bits. 20, 21, and 22 are collation table data, each having a meaning in the N word direction (vertical direction) in FIG.
An MH code group table, 21 is used as an MH effective length table, and 22 is used as a run length table, and corresponds to the contents in FIG.

また24は入力MH符号、23はMH符号群テーブル20と入力
MH符号24との照合演算結果である。一方、25は白ランテ
ーブル、26は黒ランテーブルであり、各々第2図Mビッ
ト方向(横方向)に並べている。同じく27は復号化後の
イメージデータであり、語長Mの中に折り畳んで格納す
る。20〜27の各テーブルとデータはすべて同一のMビッ
トメモリ2の内部に格納する。
24 is an input MH code, 23 is an MH code group table 20 and input.
This is the result of the collation operation with the MH code 24. 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, reference numeral 27 denotes image data after decoding, which is folded and stored in the word length M. All of the tables 20 to 27 and data are stored in the same M-bit memory 2.

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

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

また処理の開始とともに入力するMH符号は、Mビット
メモリ2へ書き込む毎に第2図入力MH符号24のように縦
並びにM個に複写する。入力と同時に復写する方法につ
いては、後述する。
The MH code input at the start of the process is copied vertically and M times as shown in the input MH code 24 in FIG. The method of performing the resynchronization with the input will be described later.

MH符号化方式では、紙の寸法A3版までのランレングス
符号を約200種類のビットパターンで表現できるため、
その種類の数以上の語長(第2図ではMビット)を用意
すれば、MH符号化有効長分のアドレスを占める1組のテ
ーブルに格納できる。
With the MH encoding method, run-length codes up to the A3 size of paper can be represented by about 200 types of bit patterns.
If word lengths (M bits in FIG. 2) of the number or more of the types are prepared, they can be stored in a set of tables occupying addresses corresponding to the effective length of the MH coding.

そこでまず、テーブル20,21を同じ大きさ(第2図で
はNワード)のメモリの別空間に配置する。テーブル2
0,21では説明を簡潔にするため両テーブルの一部を表記
しており、左から順にラン長0,1,2,・・・に対応するテ
ーブルの内容に相当する。テーブル20に示す記号[1,
0]は、MH符号テーブルの内容であり、記号[x]表記
部分は不定(0または1)で良い。
Therefore, first, the tables 20 and 21 are arranged in another space of a memory having the same size (N words in FIG. 2). Table 2
At 0 and 21, a part of both tables is shown for simplicity of description, and corresponds to the contents of the table corresponding to the run lengths 0, 1, 2,... The symbols [1,
[0] is the content of the MH code table, and the symbol [x] may be undefined (0 or 1).

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

ラン長を求めるには、このようにテーブルとデータを
配置したMビットメモリ2で、復号化対象のN個以上の
ビット列をM個複写し、最大有効長がNビットのM種類
の照合用テーブルの内容20,21と一気に照合演算を行
う。
To determine the run length, the M-bit memory 2 in which the table and data are arranged as described above, M pieces of N or more bit strings to be decoded are copied, and M types of matching tables having a maximum effective length of N bits are used. The collation operation is performed at a stretch with the contents 20, 21 of.

この結果、第2図23に示すように唯一のランレングス
符号(この例では白ラン長=8)が入力ビット列と合致
する。合致したビット位置のラン長テーブルの内容22に
よって、入力符号のラン長値が得られる。また同じく合
致したビット位置のMH符号有効長テーブルの内容21によ
って、引き続くラン長抽出処理に必要な次の入力符号の
先頭アドレス(第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. The run length value of the input code is obtained from the content 22 of the run length table at the matched bit position. Similarly, the start address (shown by T in FIG. 2) of the next input code required for the subsequent run length extraction processing is obtained from the contents 21 of the MH code effective length table at the matching bit position.

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

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

いま、直前のラン長を書き終った現在の状態が、語長
Mビット単位に分割されたイメージデータ27の各Mビッ
トの先頭である場合、照合演算結果23の[1]が指すラ
ン長テーブル22の内容から直接計算される白,黒ランテ
ーブル25または26のアドレスの内容をイメージデータ27
へ書き込めば良い。第3図はこの様子を示したものであ
り、処理前のイメージデータ31に白または黒ランテーブ
ルの内容32を上書きする。ここでは照合演算結果32の
[1]が指すラン長テーブル22が白ランでかつ長さ=8
であるので、第2図のAに示す白ランテーブル8番地の
内容をイメージデータ27に書き込んでいる。
If the current state in which the immediately preceding run length has been written is the beginning of each M bit of the image data 27 divided into word length M bits, the run length table indicated by [1] of the collation operation result 23 The contents of the address of the white / black run table 25 or 26 directly calculated from the contents of 22 are converted into image data 27
Just write to FIG. 3 shows this state, and the contents 32 of the white or black run table are overwritten on the image data 31 before processing. Here, the run length table 22 indicated by [1] of the collation operation result 32 is a white run and the length = 8
Therefore, the contents of the address 8 of the white run table shown in FIG.

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

第4図はこの様子を示したものであり、白ランの書き
込みでは、白黒交互にBビットまで組み立てが進行し、
最後に黒ランがBビットまで既に書き込まれている第4
図のイメージデータ41と、現在書き込もうとしている白
ラン長42との排他的論理和をとった結果43が処理結果の
イメージデータとなる。
FIG. 4 shows this state. In writing a white run, the assembly proceeds up to B bits alternately in black and white.
Finally, the fourth black run has been written up to B bits.
The result 43 of the exclusive OR of the image data 41 shown in the figure and the white run length 42 to be written now becomes the processing result image data.

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

以上説明したラン長の抽出処理と復合化イメージの組
み立て処理を交互に繰り返すことによって、画像の復元
を実現する。
The image restoration is realized by alternately repeating the above-described run length extraction processing and decoding image assembling processing.

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

そのプロセッサアーキテクチャへの必要条件も、単に
長語長であることを除いては、極めて特殊な演算能力を
要求するものではなく、構成も単純なもので良い、MH符
号からのラン長抽出と、ラン長からの復号化データ組み
立てとは、相互に演算の性質が異なる処理モジュールで
ある。両者ともビット単位の柔軟かつ高速な演算が要求
されるが、語長語の単一のプロセッサアーキテクチャを
用意することによって、以下の計算機アーキテクチャの
例において詳細に説明するように2種類の長語長演算で
容易に実現可能である。
The requirements for the processor architecture also do not require extremely special arithmetic capabilities, except that they are simply long words, and the configuration may be simple.Run length extraction from MH codes, The assembling of decoded data from the run length is a processing module in which the properties of the operations are different from each other. Both require a bit-wise flexible and high-speed operation, but by providing a single processor architecture of word length, two types of long word lengths will be described in detail in the following example of a computer architecture. It can be easily realized by calculation.

第5図は本発明方式を実現する並列プロセッサの一実
施例の構成図であり、5は並列プロセッサ、51は演算
部、52はプログラムシーケンサ、53は演算メモリ、54は
バッファメモリ、55はマイクロプログラムメモリであ
る。また演算部51の510は演算器群、511は演算レジス
タ、512はムスクレジスタ、513はキャリーレジスタであ
る。
FIG. 5 is a block diagram of one embodiment of a parallel processor for realizing the method of the present invention. 5 is a parallel processor, 51 is an operation unit, 52 is a program sequencer, 53 is an operation memory, 54 is a buffer memory, and 55 is a microcontroller. Program memory. 510 of the operation unit 51 is an operation unit group, 511 is an operation register, 512 is a musk register, and 513 is a carry register.

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

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

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

一方、本アーキテクチャでは3つのレジスタ511,512,
513を設けているため、ビット処理に有効な以下に示す
処理が可能である。マスクレジスタ512の保持するビッ
トパターンによって、両データ間の演算の可否をビット
単位に制御する。第6図はこの様子を示したマスク演算
の説明図であって、演算レジスタ511内のデータ61と演
算メモリ53内のデータ62とを演算する場合、マスクレジ
スタ512のデータ63が1、すなわち第6図斜線部分のみ
演算が行われ、出力データ64が演算レジスタ511へ書き
込まれる。データ63が0の部分は、もとのデータ61がそ
のまま保持されている。
On the other hand, in this architecture, three registers 511, 512,
Since 513 is provided, the following processing effective for bit processing can be performed. According to the bit pattern held by the mask register 512, whether or not the operation between the two data is possible is controlled in bit units. FIG. 6 is an explanatory view of the mask calculation showing this state. When the data 61 in the calculation register 511 and the data 62 in the calculation memory 53 are calculated, the data 63 of the mask register 512 is 1, that is, The operation is performed only in the hatched portion in FIG. 6, and the output data 64 is written to the operation register 511. In the part where the data 63 is 0, the original data 61 is held as it is.

この例は語長Mビットのデータ間の論理積を演算した
ものであるが、換言すれば、M個のビットデータを対象
とした縦方向のビット間並列処理を実現するものであ
る。アーキテクチャとしては、SIMD(Single Instruct
ion stream Multiple Data stream)型として知ら
れている計算機構成法の一つである。
In this example, a logical product between data having a word length of M bits is calculated. In other words, a vertical inter-bit parallel processing for M pieces of bit data is realized. The architecture is SIMD (Single Instruct
This is one of computer configuration methods known as an ion stream multiple data stream type.

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

第7図は本実施例の復号化処理過程における入力MH符
号を演算メモリ53上にM個複写する手順を示したもので
あり、バッファメモリ54から入力するMH符号化データ群
711,712を演算メモリ53へ721,722のように展開する過程
を表わす。
FIG. 7 shows a procedure for copying M input MH codes on the operation memory 53 in the decoding process of the present embodiment. The MH encoded data group input from the buffer memory 54 is shown in FIG.
The process of expanding 711 and 712 into the operation memory 53 as 721 and 722 is shown.

第7図の72はMビット全てが0のデータ、73はMビッ
ト全てが1のデータであり、それぞれ演算レジスタ511
上に用意する。また第7図の[0〜Z]の記号は、0ま
たは1のビットを表わすものとする。
In FIG. 7, reference numeral 72 denotes data in which all M bits are 0, and reference numeral 73 denotes data in which all M bits are 1.
Prepare above. The symbols [0 to Z] in FIG. 7 represent 0 or 1 bit.

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

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

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

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

なお、バッファメモリ54の各16ビット内部のビット構
成要素が1か0かの判定は、良く知られた方法、すなわ
ちシフトやマスクを用いて汎用のビット抽出処理で判定
できる。この理由は、バッファメモリ54が、プログラム
シーケンサ52のローカルメモリであり、プログラムシー
ケンサ52,バッファメモリ54で1つの16ビットプロセッ
サと見立てることもできるためである。
The determination of whether the bit component inside each 16 bits of the buffer memory 54 is 1 or 0 can be determined by a well-known method, that is, a general-purpose bit extraction process using a shift or a mask. The reason is that the buffer memory 54 is a local memory of the program sequencer 52, and the program sequencer 52 and 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図に示した方法をそのまま
使用すれば良く、原理的に唯一のビットのみ1がセット
された照合演算結果23が得られる。
Next, the MH code identification processing is performed in the MH effective length table 21 shown in FIG.
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 seventh
The method shown in FIG. 6 can be used as it is while changing the address pointer such as R in the figure to correspond to the M-bit word. In principle, the collation operation result 23 in which only one bit is set to 1 is obtained. can get.

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

第8図は、本実施例の復号化処理過程における入力MH
符号のラン長決定手順を示したものであり、81は演算メ
モリ52上のラン長算出結果格納領域、811は同領域に得
られたラン長、812はバッファメモリ54上に複写された
ラン長である。
FIG. 8 shows the input MH in the decoding process of this embodiment.
This shows the code run length determination procedure, where 81 is a run length calculation result storage area on the operation memory 52, 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以外のデータをすべて
0にして格納領域81に書き込む演算、処理の後半は格納
領域81の各Mビットワードの値が0か否かをNワード分
検査し、0以外のとき、バッファメモリ54のラン長812
上の該当位置にビットをセットする演算である。
In the first half of the process, the logical product between the run length table 22 and the comparison operation result 23 is calculated, and all data other than the run length 811 is set to 0 and written to the storage area 81. It is checked whether the value of the M-bit word is 0 or not for N words.
This is an operation to set a bit at the corresponding position above.

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

なおMHラン符号は64進で扱われているため、白黒交互
にデータが格納されているとは限らない。このため64以
上のラン長に対しては、引続き64以下の数値がくるまで
入力MH符号の照合を繰り返し、812のデータに得られた
数値を加算することによって、65以上のラン長の値を得
る。
Since the MH run code is handled in hexadecimal, data is not always stored alternately in black and white. Therefore, for a run length of 64 or more, the matching of the input MH code is repeated until a value of 64 or less comes, and the value of the run length of 65 or more is added by adding the obtained value to the data of 812. obtain.

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

最後の第4図に示したイメージデータの組み立て過程
は、今までに説明してきた演算を組み合わせることによ
ってそのまま実現できるが、ここでは本実施例アーキテ
クチャを用い、より高速に実現する方法を、第9図を用
いて説明する。
The final process of assembling the image data shown in FIG. 4 can be realized as it is by combining the operations described so far. Here, a method for realizing a higher speed using the architecture of the present embodiment is described in ninth embodiment. This will be described with reference to the drawings.

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

また、同図94,96,98に示すように、書き込み中のイメ
ージデータを演算レジスタ511上に抱える。ここでデー
タ93,94の組は直前までに白2ビット,黒3ビット,白
2ビット,黒2ビット,白3ビット,黒3ビットと、ポ
インタBまでイメージデータを書き込まれた状態にあ
る。これに、白ラン長=5を書き込み、データ95,96の
組を得る。さらに黒ラン長=3を書き込み、データ97,9
8を得る。データ96は第6図の方法において、データ93
をマスクに用い、データ91をデータ94に書き込むことに
よって得られる。同じくデータ98は、データ95をマスク
に用い、データ92をデータ96へ書き込むことによって得
られる。
As shown in FIGS. 94, 96 and 98, the image data being written is held in the operation register 511. Here, the set of data 93 and 94 is in a state where image data has been written up to the pointer B, including 2 bits of white, 3 bits of black, 2 bits of white, 2 bits of black, 3 bits of white, and 3 bits of black immediately before. The white run length = 5 is written in this, and a set of data 95 and 96 is obtained. Further, black run length = 3 is written, and data 97, 9
Get eight. The data 96 is the data 93 in the method of FIG.
Is used as a mask, and data 91 is written to data 94. 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, flexible, high-speed, and high-performance image decoding can be realized by the method of the present invention and a single parallel processor architecture for realizing the same. This architecture extends the calculation word length of a general-purpose computer and adds functions useful for bit operations such as a mask register, and basically has no significant difference from the structure of an ordinary microcomputer system.

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

【図面の簡単な説明】[Brief description of the 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……マスクレジスタ、51
3……キャリーレジスタ。
FIG. 1 is an explanatory diagram showing the correspondence between coded data / decoded data in an encoding system, FIG. 2 is a configuration diagram of a memory having a word length of M bits for explaining the system of the present invention, FIG. 4th
FIG. 5 is an explanatory diagram of a processing procedure of image data, FIG.
FIG. 6 is an explanatory diagram of a mask operation, FIG. 7 is an explanatory diagram showing a procedure for copying M input MH codes in a decoding process onto an operation memory, and FIG. 8 is an input MH code in a decoding process.
FIG. 9 is an explanatory diagram showing a code run length determining procedure, and FIG. 9 is an explanatory diagram showing an image data assembling operation. 2 ... M-bit memory, 5 ... Parallel processor, 20 ...
MH code group table, 21 MH effective length table, 22 Run length table, 23 Matching operation result, 24 Input MH code, 25 White run table, 26 Black run table, 27
…… Image data, 51… Calculator, 52… Program sequencer, 53… Calculator memory, 54… Buffer memory, 55… Microprogram memory, 510… Calculator group, 511… Calculator register, 512 …… Mask register, 51
3 Carry register.

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】ランレングス符号化された画信号を画像に
復号化する処理方式において、少なくともランレングス
符号のビット列の種類と同数以上の復号化演算器群を有
し、相異なるランレングス符号のビット列とその有効ビ
ット長およびそのビット列の表わすランレングス長とを
各演算器上に保持する手段と、前記有効長の最大値以上
の入力ビット列を全復号化演算器へ一斉に複写する手段
と、前記復号化演算器群を並列に動作させ、ランレング
ス符号のビット列と復号化対象入力ビット列との演算に
よる入力ビット列の符号照合手段とを備え、当該入力ビ
ット列の表すランレングス長と引き続く入力ビット列の
先頭とを前記復号化演算器群の出力から判定することを
特徴とする画像の復号化処理方式。
In a processing method for decoding a run-length coded image signal into an image, at least the same number or more of decoding operation units as the number of bit strings of the run-length code are provided. Means for holding a bit string and its effective bit length and a run length represented by the bit string on each arithmetic unit, means for simultaneously copying an input bit string equal to or more than the maximum value of the effective length to all decoding arithmetic units, The decoding operation unit group is operated in parallel, and a code collation unit for an input bit string by an operation of a bit string of a run-length code and an input bit string to be decoded is provided, and a run length represented by the input bit string and a subsequent input bit string A decoding processing method for an image, wherein a head is determined from an output of the decoding arithmetic unit group.
【請求項2】復号化演算器群と同数のビット幅に画像を
折り畳んで格納するイメージメモリと、アドレスの昇順
または降順に1ビットずつ0の連続が増加する前記復号
化演算器群と同数のアドレス空間を持つ白ランテーブル
メモリ,およびアドレスの昇順または降順に1ビットず
つ1の連続が増加する黒ランテーブルメモリとを備え、
前記復号化演算器群を単一の長語長演算器として各メモ
リの内容相互の論理演算を行い、ランレングス長から前
記イメージメモリ上の復号化画像を作成することを特徴
とする請求項(1)記載の画像の復号化処理方式。
2. An image memory for storing an image by folding the image to the same bit width as the decoding arithmetic unit group, and the same number of decoding arithmetic unit groups as the number of consecutive 0s increases by 1 bit in ascending or descending order of the address. A white run table memory having an address space, and a black run table memory in which the number of continuations of one bit increases by one bit in ascending or descending order of the address.
The decoding operation group is a single long-word-length operation unit, and the contents of each memory are logically operated to generate a decoded image on the image memory from a run-length length. 1) An image decoding processing method described in the above.
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 JPH03241974A (en) 1991-10-29
JP2614927B2 true 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)

Families Citing this family (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
JPH03241974A (en) 1991-10-29

Similar Documents

Publication Publication Date Title
JP2915568B2 (en) Adaptive data compression system for tape drive systems.
US6885319B2 (en) System and method for generating optimally compressed data from a plurality of data compression/decompression engines implementing different data compression algorithms
US5032838A (en) Variable length code parallel decoding apparatus and method
US4486784A (en) Image compression systems
JPH08234959A (en) System and method for data compression
US5669012A (en) Data processor and control circuit for inserting/extracting data to/from an optional byte position of a register
US6247112B1 (en) Bit manipulation instructions
JP2614927B2 (en) Image decoding processing method
JPH02503981A (en) Methods for encoding and decoding data in blocks and encoding and decoding devices for performing this method
JPH05145770A (en) Encoding/decoding device
US5623556A (en) System and method of extracting binary image data
US6763150B1 (en) Image processing system with multiple processing units
JP2556160B2 (en) Compression code decompression device
JP2002077637A (en) Apparatus and method of image coding
JP2002171525A (en) Simd type arithmetic unit provided with bit plane arithmetic instruction
JP3255808B2 (en) Compression / expansion device
JP4227441B2 (en) Data compression method and processor
JPH07184063A (en) Binary image compression system
US5880746A (en) Apparatus for forming a sum in a signal processing system
JPS5928763A (en) Detecting circuit of information on picture information encoding and decoding
JP3115117B2 (en) Binary image compression processor
JPH01302917A (en) Data compression system
JP2795023B2 (en) Encoding device
JPS5964969A (en) Coded signal decoding device
US5894568A (en) Apparatus and method for computing a difference in a digital processing system

Legal Events

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

Free format text: PAYMENT UNTIL: 20090227

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20090227

Year of fee payment: 12

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

Year of fee payment: 13

Free format text: PAYMENT UNTIL: 20100227

EXPY Cancellation because of completion of term