JP2560735B2 - 画像情報符号化復号化装置 - Google Patents

画像情報符号化復号化装置

Info

Publication number
JP2560735B2
JP2560735B2 JP62182952A JP18295287A JP2560735B2 JP 2560735 B2 JP2560735 B2 JP 2560735B2 JP 62182952 A JP62182952 A JP 62182952A JP 18295287 A JP18295287 A JP 18295287A JP 2560735 B2 JP2560735 B2 JP 2560735B2
Authority
JP
Japan
Prior art keywords
length
indefinite
encoding
output
time
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
JP62182952A
Other languages
English (en)
Other versions
JPS6425672A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP62182952A priority Critical patent/JP2560735B2/ja
Publication of JPS6425672A publication Critical patent/JPS6425672A/ja
Application granted granted Critical
Publication of JP2560735B2 publication Critical patent/JP2560735B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、画像情報を符号化及び復号化する装置に係
り、特に、回路を符号化時と復号化時で共用するように
して回路規模を小さくした画像情報符号化復号化装置に
関するものである。
〔従来の技術〕
画像情報符号化復号化装置はファクシミリ、画像ファ
イル装置等に広く利用されており、その基本的な構成は
第9図のようになっている。
画像データが格納された画像メモリ31からの出力は画
像バッファメモリ32を介してランレングス検出部33に供
給され、画像データのランレングスが検出される。画像
バッファメモリ32は画像データを一時記憶し、画像メモ
リ31とランレングス検出部33との処理速度の違いを吸収
するものである。符号化部34では、ランレングス検出部
33で検出されたランレングスに応じて符号化をおこな
う。符号化方式としては、例えばMH(Modified Huffma
n)符号化方式あるいはMR(Modified READ)符号化方式
等の不定長符号化方式が採用されるが、記憶装置への記
憶や通信回線への出力は、固定長データの方が都合が良
いため、通常、不定長符号語を固定長符号語に再編成す
るように成されている。つまり、符号化部34にはランレ
ングスを不定長符号語に変換する装置(これは通常ROM
で構成される)と、当該不定長符号語を固定長符号語に
変換する装置が含まれる。符号化部34の出力は、符号バ
ッファメモリ35を介して記憶装置又は回線36に供給され
る。符号バッファメモリ35は、符号化されたランレング
スを一時記憶し、記憶装置又は回線36と符号化部34との
処理速度の違いを吸収するものである。以上が符号化装
置である。
復号化装置では、符号化装置とは逆の順序で処理が行
われる。即ち、記憶装置又は回線36から送られてくるラ
ンレングス符号化されたデータは、符号バッファメモリ
37で記憶装置又は回線36と復号化部38での処理速度の差
が吸収された後、復号化部38に入力される。復号化部38
では、まず、伝送されてくる固定長符号語を不定長符号
語に変換し、次に、当該不定長符号語をランレングスに
変換する。後者の変換は通常ROMで行われる。そして、
イメージ組み立て部39でランレングスは画像データに変
換され、画像バッファメモリ40で処理速度が整合されて
画像メモリ41に格納される。
以上が画像情報符号化復号化装置の基本的構成である
が、この構成の内ランレングス検出部33、符号化部34の
うちの不定長符号語−固定長符号語変換装置、復号化部
38のうちの固定長符号語−不定長符号語変換装置及びイ
メージ組み立て部39を具体的にどのように構成するかは
処理速度の点からも非常に重要な問題であり、これまで
種々提案されてはいるものの満足できるものではなかっ
た。
そこで本出願人は、先に、これらの装置の処理速度を
一段と高める目的で、一定長の画像データを一度にラン
レングスに変換する『ランレングス符号化装置』(特願
昭61−256247号)、画像情報を符号化、復号化する際に
不定長符号語を一度に複数ビットずつ処理するようにし
た『画像符号化装置及び画像復号化装置』(特願昭61−
197662号)及びランレングスから画像データに変換する
際に所定の長さ以下のランであれば一度に画像データに
変換するようにした『ランレングス復号化装置』(特願
昭60−199142号)を提案した。
本発明では上記の出願に係る処理をそのまま利用する
ので、以下それらの各装置の構成及び動作を詳細に説明
する。
(1)ランレングス符号化装置(特願昭61−256247号) ランレングス符号化装置の構成を第10図に示す。
イメージデータが供給される入力バッファ51にはラッ
チ53が接続され、同ラッチ53は入力バッファ51からのイ
メージデータをnビットずつラッチする。なお、nはイ
メージデータの1ワードのビット数であり、この例では
n=16として説明する。ラッチ53にはバレルシフタ54が
接続され、同バレルシフタ54は後述する4ビット加算器
59の出力をmとしたとき、ラッチ53の出力をmビットだ
け右シフトして出力する。このとき、左側のmビットは
ラッチ53の最左端のビットの情報と反対の情報を出力す
る。
排他的論理和素子56−1〜56−16は、バレルシフタ54
の16ビットの出力をW/Bフリップフロップ(以下フリッ
プフロップをFFと記す)55の出力によって非反転又は反
転して16−4プライオリティエンコーダ57に出力する。
このプライオリティエンコーダ57は、排他的論理和素子
56−1〜56−16の出力において最も右にある情報“1"の
位置を最右端から教えて出力する。すなわち、情報“0"
が最右端から連続している数(ランレングス)を出力す
る。4ビット加算器59は、プライオリティエンコーダ57
からの前記ランレングスを加算してnすなわち“16"と
なったときにキャリーを出力し、これをランレングス検
出制御部52へ知らせる。また、14ビット加算器58は、前
記ランレングスを加算して前記情報の連続(ラン)が16
ビットずつのイメージデータの境界にまたがる場合のラ
ンレングスを計数する。ランレングス検出制御部52は、
ラッチ53、バレルシフタ54、W/BFF55、14ビット加算器5
8及び4ビット加算器59等に制御信号を供給し、ランレ
ングス検出処理の制御を行う。
この装置の動作を第11図〜第13図を参照して説明す
る。
第12図はイメージデータとランレングスとの関係の具
体例を示し、第13図は変換処理の途中経過の具体例を示
す。なお、図における○印は、図の上欄に記された各処
理が実行されることを示す。いま、第12図Aに示す5ワ
ード(1ワード16ビット)のイメージデータのランレン
グスを求める場合について説明する。但し、第12図Aに
おいては、右側から左側へ、また上側から下側にランレ
ングスを検出するものとする。すなわち、最初の情報
“0"のランレングスが“5"であり、以下情報“1"のラン
レングスが“2"、情報“0"のランレングスが“10"、・
・・・・となる。
まず、第11図に示すフローチャートの処理71で、入力
バッファ51からの16ビットのイメージデータ91(第12図
参照)をラッチ53へラッチする。4ビット加算器59は予
めクリアされており、またW/BFF55の出力は“0"となっ
ているので、プライオリティエンコーダ57には、第13図
の番号1の欄に示すようなイメージデータ91の同一のデ
ータ60が入力される。
次に、処理72でプライオリティエンコーダ57はその出
力として、番号1の欄に示すようなデータ61を出力す
る。すなわち、イメージデータ91においては、右端から
情報“0"が5個連続しているので、番号1の欄における
プライオリティエンコーダ出力データ61は“5(二進数
で0101)”になる。処理73及び処理74では、プライオリ
ティエンコーダ57の出力データ61が、14ビット加算器58
及び4ビット加算器59へ加算される。加算器58と加算器
59は予めクリアされているので、その出力はそれぞれ番
号1の欄に示されるデータ62及びデータ63のようにな
る。すなわち、ここで最初の情報“0"のランレングスで
ある“5"が検出される。
処理75では、加算器59の出力が16であるかどうか、す
なわち4ビット加算器59からキャリーが出力されたかを
ランレングス検出制御部52で判断して、加算器59の出力
が16の場合には処理80を実行し、それ以外の場合は処理
76を実行する。第13図に示す例の場合、番号1の欄で
は、4ビット加算器59の内容は5であるので処理76に進
む。
処理76では、番号1の欄の14ビット加算器59の出力デ
ータ62、すなわち“5"をランレングスとして符号化部64
へ出力する。
処理77では、4ビット加算器59の出力がmであるとす
ると(番号1の欄のデータ63ではm=5)、ラッチ53の
出力はバレルシフタ54によって、右へmビットシフトさ
れる。このとき、左側のmビットはラッチ53の最左端の
ビットの情報と反対の情報と同じになる。すなわち、番
号1の欄のデータ60の場合、最左端が“0"であるから左
端5ビットは“1"になる。したがって、バレルシフタ54
の出力データは“1111100000000011"となる。
処理78では、W/BFF55の出力を反転する。したがっ
て、W/BFF55の出力が“0"から“1"になるので、番号1
の欄のデータ60では、バレルシフタ54の16ビットの出力
は反転されてプライオリティエンコーダ57へ番号2の欄
のデータ60、すなわち“0000011111111100"が入力され
る。
処理79では、14ビット加算器58がクリアされて処理72
を再び実行する。
以下、同様に処理72〜処理79が実行されて、番号2の
欄に示される14ビット加算器58のデータ62、すなわち次
の情報“1"のランレングスである“2"が符号化部64へ出
力されてプライオリティエンコーダ57の入力は番号3の
欄のデータ60のようになる。
次に、処理72〜処理74が実行されると、番号3の欄の
データ63のように、4ビット加算器59の出力63が“16
(二進数で10000)”となり、キャリーが出力されるの
で、処理8が実行される。
処理80では4ビット加算器59がクリアされる。
次に、処理81で1走査ラインのイメージデータの処理
を終了したかどうか判断して、まだ終了していない場合
は処理71を実行する。
処理71では、先に処理したイメージデータの次のデー
タ、すなわち、第12図に示すデータ92がラッチ53へラッ
チされる。4ビット加算器59は処理80でクリアされてお
り、W/BFF55の出力はこの場合“0"であるから、番号4
の欄のデータ60がプライオリティエンコーダ57へ入力さ
れる。
処理72では、プライオリティエンコーダ57から番号4
の欄のデータ61が出力される。
処理73及び処理74では、プライオリティエンコーダ57
の出力が16ビット加算器58及び4ビット加算器59へ加算
される。このとき、14ビット加算器58には直前の処理73
の実行時に番号3の欄のデータ62が入っているので、今
回の処理73の実行によって番号4の欄のデータ62を出力
する。すなわち、データ91の左側には情報“0"の長さ9
ビットのランがあり、データ92の右側にも情報“0"の長
さ1ビットのランがあるので、全体で長さ10ビットの
“0"ランがあることになる。今回の処理73で9ビット+
1ビット=10ビットの加算が実行されたことになる。
以下、同様に処理75〜処理79が実行されて、番号4の
欄のデータ62、すなわち3番目の情報“0"のランレング
スである10が符号化部64へ出力される。
以上のような処理を繰り返し実行して、第13図の番号
5〜11の欄のように、ランレングスが次々と符号化部64
へ出力される。その結果、第12図Aに示す5ワードのイ
メージデータ91〜95が第12図Bに示す7個のランレング
ス96〜102へ、すなわち“5",“2",“10",・・・へ変換
される。
このようにすることにより、一定長以下の画素のラン
であれば、イメージデータを一度にランレングスに変換
することができ、従って高速にランレングス変換を実行
することができる。
(2)不定長符号語−固定長符号語変換装置(特願昭61
−197662号) 構成を第14図に示す。画像情報を出力するイメージメ
モリ111と、前記画像情報を符号化して不定長符号語118
及び符号語長121を出力する符号ROM112と、前記符号語
長121及び後述する次処理制御情報124をアドレス入力と
してROM出力情報125を出力する制御ROM116と、前記ROM
出力情報125をラッチしてシフト数122、論理和入力位置
123及び前記次処理制御情報124を出力するパイプライン
レジスタ117と、前記不定長符号語118を前記シフト数12
2の分だけ一度にシフトして出力するバレルシフタ113
と、前記シフトされた不定長符号語119を前記論理和入
力位置123で示されるビット位置へ入力して固定長にま
とめられた不定長符号語120を出力する論理和入力レジ
スタ114と、前記固定長にまとめられた不定長符号語120
を記憶するファイルメモリ115とから構成されている。
第15図は不定長符号語−固定長符号語変換の原理を示
す図で、左に並べた不定長符号語A,B+C,D+E,F+G,H+
J,Kが固定長に再編成されて、右に並べられたA+B,C+
D,E+F,G+H,J+Kとなることを示している。すなわ
ち、まず最初の不定長符号語Aを固定長のビット列の左
側に設定し、固定長値から不定長符号語Aの符号長値を
引いた符号長値分Bだけ、次の不定長符号語B+Cの先
頭から待ってくる。この操作により、最初の不定長符号
語Aと次の不定長符号語B+Cの前部であるBが合成さ
れ、固定長に再編成される。次に、不定長符号語B+C
の後部であるC及びそれ以降の不定長符号語に対して
も、同様な操作を行う。
この装置では、前記処理を行う際に、A,B,C,D,E,F,G,
H,J,Kというように、バレルシフタ3と論理和入力レジ
スタ4を用いて、複数ビットの不定長符号語を一度に処
理する。なお、図の左側の不定長符号語は、1行が1符
号語に対応しており、例えば、B+Cが一つの符号語を
表している。
また、符号化処理を制御する部分、すなわち制御ROM6
とパイプライレジスタ7において、次処理制御情報124
は、前記不定長符号語118のうちすでに何ビットが処理
済みであるかを示す情報と、前記固定長に再編成されつ
つある不定長符号語においてすでに何ビットが処理済み
であるかを示す情報とから構成されている。前記処理の
制御において、前記符号語長121と前記次処理制御情報1
24とが判れば、次に行うべき処理が決定されるのは明ら
かである。
例えば第15図において、不定長符号語のJの部分を処
理する場合には不定長符号語H+JのうちすでにHの分
だけ処理済みであり、また固定長に再編成しつつある不
定長符号語のうちすでに0ビットが処理済みである。こ
れらの次処理制御情報124にしたがって、不定長符号語
H+Jをバレルシフタ113によってHの分、すなわちシ
フタ数122だけ左シフトし、次にそれを論理和入力レジ
スタ114の論理和入力位置123、すなわち、0ビット位置
に入力してJ+Xを得る。但しXは、意味を持たないビ
ット列を示す。更に、不定長符号語H+Jの長さ、すな
わち符号語長121から、前記処理で不定長符号語H+J
をすべて処理したことを検出して、符号ROM112へ次の不
定長符号語Kを出力するように要求する。
このようにして、制御ROM116とパイプラインレジスタ
117から構成される簡単な制御回路で不定長符号語を固
定長符号に再編成することができる。
以下、具体的に説明する。
第16図は具体的なブロック図で基本的構成は、第14図
に示すものと同じである。
図において、イメージデータ131は、画像情報を符号
化部132へ出力する。符号化部132は前記画像情報を符号
化してし、不定長符号語139と符号語長140を出力する。
制御ROM134は前記符号語長140と次処理制御情報143をア
ドレスとして入力し、ROM出力情報144をデータとして出
力する。パイプラインレジスタ135は、前記ROM出力情報
144をラッチして、これをシフト数141,論理和入力位置1
42,前記次処理制御情報143及び制御信号157として出力
する。前記制御ROM134と前記パイプラインレジスタ135
で制御回路を構成する。
バレルシフタ113は前記不定長符号語139を前記シフト
数141の分だけシフトする。論理和入力セレクタ136は、
前記論理和入力位置142より上位(図において左側)の
位置では、ラッチ137の出力149〜152を選択し、前記論
理和入力位置142から下位(図において右側)の位置で
は、バレルシフタ113の出力145〜148を選択して出力す
る。論理和入力セレクタ136の一実施例を第17図に示
す。この論理和入力セレクタ136は、12個のANDゲート,3
個のORゲート及び2個のインバータから構成されてお
り、2ビットの論理和入力位置142に応じて、バレルシ
フタ113の出力145〜148或いはラッチ137の出力149〜152
の選択を行って、出力153〜156を得る。
ラッチ137は、前記論理和入力セレクタ136の出力153
〜156をラッチして、それを出力する。前記論理和入力
セレクタ136と前記ラッチ137で第14図に示す論理和入力
レジスタ114を構成する。ファイルメモリ138は固定長に
再編成された不定長符号語である出力149〜152を記憶す
る。
第18図に不定長符号語を固定長に再編成された不定長
符号語に変換する場合の各語長の関係を示す。図におい
て、処理すべき不定長符号語139の符号語長140を1,前記
不定長符号語139のうちすでに処理済みの部分161をm,す
でに固定長に再編成された部分163をn,固定長の値をR
とする。本実施例ではR=4としているが、Rはどのよ
うな正の整数でもかまわない。なお、162は不定長符号
語139の未処理部分を示し、164は固定長の剰余部分を示
す。
第19図に制御ROM134及びパイプラインレジスタ135の
出力内容と、前記m,nとの関係を示す。nは論理和入力
位置142に、n−mはシフト数141に対応する。また、処
理後のmとn、すなわち次の処理におけるmとnの値を
それぞれm+1とn+1とする。m+1とn+1は合わせて、次処理
制御情報143に対応する。また、制御信号157は、第16図
に示す実施例の各構成要素、たとえば、符号化部132、
ラッチ137、パイプラインレジスタ135、ファイルメモリ
138を制御するための信号である。
この装置の動作を第20図に示すフローチャートを参照
して説明する。このときの処理例を第21図に示す。
始めに、第20図の処理171でmとnを初期化する。こ
のために、第19図に示すパイプラインレジスタ135のう
ちm+1とn+1に相当する部分の出力をクリアする。
次に、処理172で符号化部132へ不定長符号語139を出
力するように要求する。第21図の工程181の不定長符号
語139“10"が出力されたら次の処理へ移る。
処理173では、不定長符号語139“10"をバレルシフタ1
33でn−mビットだけシフトする。なお、n−mの値が
正の場合には右シフト、負の場合には左シフトする。第
21図の工程181ではn−m=0であるから、0ビットだ
けシフトして、バレルシフタ133の出力145〜148は“10"
になる。
処理174では、バレルシフタ133の出力145〜148をラッ
チ137へロードする。このとき、論理和入力セレクタ136
で、nより上位(左側)の位置ではラッチ137の出力が
選択され、nより下位(右側)の位置ではバレルシフタ
133の出力が選択されてラッチ137へ出力される。第21図
の工程181ではn=0であるから、最上位(左端)から
バレルシフタ133の出力“10"が選択されて、ラッチ137
には“10XX"がロードされる。なお、“X"意味を持たな
いビットを示す。
処理175ではn+1−mとRの値と比較して、n+1
−m≧Rであれば処理177へ、そうでなければ処理176へ
分岐する。
第21図の工程181ではn+1−m=2であるから、処
理176へ分岐する。
処理176ではm+1とn+1を計算する。この処理は、第19
図において、1とひとつ前の処理におけるm+1とn+1をア
ドレスとして制御ROM134をアクセスして、データすなわ
ちm+1とn+1を得ることに対応する。第21図の工程181で
は、 m+1=0,n+1=n+1−m=2となる。
以下同じように、処理172で不定長符号語139を要求す
る。第21図の工程182では、“110"を得る。同時にm+1
mへ、n+1はnへ代入される。
更に処理173では、n−m=2であるから不定長符号
語139“110"を2ビットだけ右シフトしてバレルシフタ1
33の出力“XX110"を得る。
処理174では、n=2であるから、論理和入力セレク
タ136で最上位とその隣のビットではラッチ137の出力が
選択されて、これより下位のビットではバレルシフタ13
3の出力が選択される。したがって、ラッチ137の出力
は、第21図の工程182の出力結果“1011"となる。処理17
5では、n+1−m=5だから処理177へ分岐する。
処理177では、出力結果149〜152をファイルメモリ138
へ出力する。
処理178では、n+1−mとRの値を比較して、n+
1−m=Rならば処理171へ戻り、そうでなければ処理1
79へ分岐する。第21図の工程182ではn+1−m=5だ
から処理179へ分岐する。処理179では、m+1とn+1
を計算する。この処理は、前記処理176と同じように、
制御ROM134をアクセスすることに対応する。第21図の工
程182では、1=3、またひとつ前の処理のm+1とn
+1、つまり工程181のm+1とn+1、すなわち、工
程182のmとnがそれぞれm=0,n=2であるから、m+
1=m+R−n=2,n+1=0となる。
処理173では、m+1はmへ、n+1はnへ代入され
る。更にn−m=−2であるから、左へ2ビットシフト
して、工程183のバレルシフタ133の出力“0"を得る。処
理174では、工程183の処理結果“0XXX"を得る。
以下同様に、第21図の工程183〜185と順次処理され
る。特に工程186では処理172で不定長符号語“0"を要求
する。このときl=1,m=0,n=3であるから、処理173
でバレルシフタ133の出力“XXX0"得、処理174で処理結
果“1100"を得る。処理175では、n+1−m=4だから
処理177へ分岐する。処理177では、出力結果をファイル
メモリ138へ出力する。処理178ではn+1−m=4だか
ら処理171へ戻る。
以下同様に、第21図の工程187,188と順次処理され
る。したがって、不定長符号語“10",“110",“11111
0",“0",“10",“10"は、“1011",“0111",“1100"とい
うように固定長に再編成される。
これらの信号処理は、制御ROM134とパイプラインレジ
スタ135のような簡単な制御回路で実現することがで
き、回路が複雑化することはない。
(3)固定長符号語−不定長符号語変換装置(FX1889
7) 固定長符号語−不定長符号語変換装置の構成を第22図
に示す。
第22図に示すように、固定長に再編成された不定長符
号語200を記憶するファイルメモリ191と、該ファイルメ
モリ191からの不定長符号語200を一時保持するラッチ19
2と、後述するシフト数204の分だけ一度にシフトして出
力するバレルシフタ193と、シフトされた不定長符号語
を後述する論理和入力位置205で示されるビット位置へ
入力し、固定長にまとめられた不定長符号語を一語ずつ
分離して出力する論理和入力レジスタ194と、ラッチ192
または論理和入力レジスタ194からの出力201が供給さ
れ、復号データ203及び符号語長202を出力する復号ROM1
95と、前記符号語長202及び次処理制御情報206をアドレ
ス入力としてROM出力情報を出力する制御ROM197と、前
記ROM出力情報をラッチしてシフト数204,論理和入力位
置205及び前記次処理制御情報206を出力するパイプライ
ンレジスタ198と、復号ROM195からの復号データ203を復
号して画像情報を得る復号化部196と、復号された画像
情報を記憶するイメージメモリ199とから構成される。
第22図に示される固定長符号語−不定長符号語変換装
置は、基本的には、第14図に示される不定長符号語−固
定長符号弧変換装置と逆の動作を行うが、構成上異なる
のは、ラッチ192,復号ROM195及び復号化部196が設けら
れていること、及び復号ROM195の入力が、ラッチ192の
出力かまたは論理和入力レジスタ194の出力のどちらか
であることである。
復号ROM195には、アドレスとして固定長に再編成され
た不定長符号語が入力され、これに対応したデータとし
て復号データ203及び不定長符号語202を出力する。この
構成では、符号化方式のうち特に情報源符号化方式を前
提としており、符号は一意復号可能でしかも瞬時符号で
あるとする。
したがって、不定長符号語の先頭から順に、前記復号
ROM195のアドレスの最上位ビットから下位ビットへとそ
れぞれ入力すれば、前記不定長符号語の次にある不定長
符号語が何であれ復号することができる。例えば第23図
に示すように、復号ROM195のアドレス201“11000",“11
001",“11010",“11011"にはすべて不定長符号語“110"
に対応する復号データ203と不定長符号語長202が書かれ
ている。したがって、次の不定長符号語が何れあれ、復
号することができる。
バレルシフタ193は、前記復号が終了したら、論理和
入力レジスタ194の出力を不定長符号語長202の分だけシ
フトする。次に論理和入力レジスタ194を再び不定長符
号語で満たすために、前記ラッチ192の出力を適当にシ
フトする。
復号化部196は、前記復号データ203から、もとの画像
情報を再現して、それをイメージメモリ199へ出力す
る。
以上の動作を繰り返すことにより、固定長に再編成さ
れた不定長符号語が一語ずつ分離され、それぞれ復号さ
れる。
このように、一度に複数ビットずつ処理が行われるた
め、処理を高速に行うことができる。
(4)ランレングス復号化装置(FX16058) ランレングス復号化装置の構成を第24図に示す。
この図では、イメージデータ組立部においてnビット
以下のランを一度にイメージデータへ変換する手段とし
て、バーレルシフタ216と、2つの減算器(SUBTRACTE
R)212,213と、コンパレータ214と、セレクタ(SEL1)2
15を用いている。すなわち、第1の減算器(SUB1)212
へは復号化部211でデータから変換されたランレングス
が与えられ、またコードジエネレータ221はn(例えば
n=16)を第2の減算器(SUB2)213へ出力するように
なっており、第1の減算器212は、復号化部211から出力
されるランレングスをロードし、以後、セレクタ215の
出力を次々と減算し、ランレングスだけのイメージ組立
てが終了したかを検出する。一方、第2の減算器213
は、nをロードし、以後、セレクタ215の出力を次々と
減算し、nビットのイメージ組立てが終了したかを検出
するものである。そして、コンパレータ214と、セレク
タ215は、上記第1の減算器212と第2の減算器213の出
力を比較して、小さい方を出力するようになっており、
セレクタ215の出力はバーレルシフタ216に与えられる。
バーレルシフタ216は、nビットのバーレルシフタ
で、上記セレクタ215の出力をm(m=0、1、…、n
−1)とすると、後述のラッチの出力をmビット左シフ
トして出力する。この場合、右mビットにはW/BF.F.218
の出力が出力される。このW/BF.F.218はイメージ組立て
を行っているビットが“0"か“1"かを指定するもので、
セレクタ217は、上記バーレルシフタ216の出力とこのW/
BF.F.218の出力を選択して、セレクタ217とイメージメ
モリ220との間に出力バツフアとして設けられたラッチ2
19へ出力する。そして、ラッチ219は、上記セレクタ217
からの出力をラッチしてバーレルシフタ216とイメージ
メモリ220へ出力する。コントローラ222は、イメージ組
立てに必要な制御を行うもので、この例ではnビット以
下のランであれば一度に処理するよう制御する。
第25図にはその動作フローチヤートの一例が示されて
おり、以下、動作結果の具体例を示す第26図及び第27図
を参照して,第27図(A)に示す処理前データであるラ
ンレングスA1〜A8を同図(B)に示す処理後データであ
るイメージデータB1〜B5へ変換する動作について説明す
る。
なお、第26図はその間の処理の様子を示すもので、図
中の○印は該当する処理が行われることを表しており、
また、処理欄における「ランレングスをロード」などの
各内容は図中左から順に第25図のステップA、ステップ
B、ステップC、ステップD並びにE、ステップI、ス
テップJ、並びにK、ステップGに相当している。更に
第26図中右半分については、夫々各時点(番号1〜25で
示してある)におけるW/BF.F.218、第1の減算器212、
第2の減算器213及びラッチ219出力の状態を示してい
る。
第25図において、まず、ステップAの符号化部211か
ら第1の減算器212へ第27図AのランレングスA1をロー
ドする。
次いで、ステップBで、第1の減算器212と第2の減
算器213の出力をコンパレータ214で比較し、小さい方を
セレクタ215で選択し出力する。ここで、第2の減算器2
13にはは予め“n"(n=16)がロードされているので、
第1の減算器212の出力“5"(「0101」)とその“16"
(「10000」)が比較され、“5"が出力される。
ステップCで、ラッチ219の出力はバーレルシフタ216
で5ビット左シフトされる。ラッチ219には、予め“0"
がnビット(n=16)がロードされていて、W/BF.F.218
の出力は、“0"になっているので、ラッチ219には、第2
6図の番号1欄に示す値がラッチされる。
続いて、ステップDとEにおいて、セレクタ215の出
力“5"が第1の減算器212と第2の減算器213で減算さ
れ、それぞれ第26図の番号2欄に示すように“0"と“1
1"(「1011」)が出力される。すなわち、第2の減算器
213においては、上述のように“16"から“5"が減算され
るのであり、その結果“11"となる。
次に、ステップFにおいて、第1の減算器212がキャ
リー(CARRY)、すなわち出力が“0"か否かが判別さ
れ、この場合は上述のように第1の減算器212の出力は
“0"であるから、ステップGへ分岐する。
そして、このステップGでW/BF.F.218の出力を反転
し、第26図の番号2欄のように出力を“1"にする。
ステップGに続くステップHにおいては、第2の減算
器213についてそれがキャリー、すなわち出力が“0"か
否かの判別が行われ、この場合は第2の減算器213の出
力が“0"ではないから、ステップMへ分岐する。
ステップMは、1ライン終了か否かを判別するステッ
プであり、この場合は1ライン分のイメージ組立がまだ
終了していないので、ステップMから前記ステップAへ
分岐することになる。
上述の如く、再びステップAへ戻ると、ここで第27図
(A)のランレングスA2が第1の減算器212へロードさ
れ、以下上述と同じようにしてステップA、B、……、
F、G、H、MでこのランレングスA2が処理されて、第
26図の番号3欄のような値をラッチ219が出力する。な
お、この段階においては、同図番号4欄に示す如く、第
2の減算器213は、“11"から“2"が減算されて“9"
(「1001」)となり、また、W/BF.F.218は出力が“0"に
反転している。
次いで、再びステップAへ戻って第27図のランレング
スA3がロードされ、ステップA、B、……、Eでこのラ
ンレングスA3が処理されて第26図の番号5欄のような値
をラッチ219が出力し、そして、同番号6欄のような値
を第1及び第2の各減算器212、213が出力する。すなわ
ち、このランレングスA3の処理過程における上記ステッ
プBでは、第2の減算器213の方が小さかったので、こ
れが選択されて減算が行われる結果、第2の減算器213
が“0"となり、第1の減算器212の方は“1"となる。
従って、ステップEから次にステップFへ進んだ場
合、ステップFにおいては、第1の減算器212の出力が
“0"でないから、判別結果はNOとなり、ステップIへ分
岐する。
そして、このステップIで、ラッチ219の出力、すな
わち第27図(B)のイメージデータB1がイメージメモリ
220に出力され、これでまずnビット(n=16)のイメ
ージ組立が終了する。
次いで上記ランレングスA3の残りに対する処理、すな
わち第1の減算器212の出力が“0"になるまでの処理を
経て、同様の変換処理が続行される。すなわち、上記ス
テップIに引き続き、ステップJで、第2の減算器213
へ“n"(n=16)がロードされて、ステップKにおいて
W/BF.F.218の内容がnビットラッチ219へラッチされ
る。この時点でのW/BF.F.218の内容は、この具体例で
は、第26図の番号7欄のように“0"であるからラッチ21
9へはnビット(n=16)の“0"がラッチされることに
なる。
次いで、ステップLへ進む。このステップLで第1の
減算器機212の出力が“0"ではないので、前記ステップ
Bへ分岐する。
ステップBへ戻れば、順次ステップB、C、Dが実行
され、ここで第1の減算器212は“0"となるからステッ
プE、Fと進んだとき、ステップGへ分岐し、以下ステ
ップH、Mへと進む。このようにステップB、C、…
…、F、G、H、MでランレングスA3の残りが処理され
て第26図の番号8欄のような値をラッチ219が出力し、
また同番号9欄のような夫々の値を第1、第2の減算器
212、213とW/BF.F.218が出力する。
次いで、ステップAに戻ると、第27図(A)のランレ
ングスA4に対する処理が開始され、既述したと同じよう
な動作ステップA、B、……、F、G、H、Mでランレ
ングスA4が処理され、ラッチ219出力、第1及び第2の
減算器212、213、W/BF.F.218については、夫々第26図の
番号10、11欄のようになる。
ステップMから再びステップAに戻ったとき、ステッ
プAで第27図(A)のランレングスA5のロードが行わ
れ、ステップA、B、……、EでこのランレングスA5
処理されて、この場合は第26図の番号12、13欄に示すよ
うな内容になる。
ここで、上記ステップEが実行された時点におけるラ
ッチ219、第1及び第2の減算器212、213、W/BF.F.218
の値を見ると、それは次の通りである。
すなわち、ラッチ219は「0111000000000000」、第1
及び第2の減算器212、213は「0000」、そしてW/BF.F.2
18については「0」である。
このような状態において次のステップFへ進むと、ス
テップFでは第1の減算器212の出力が“0"であるか
ら、ステップGへ分岐し、そしてこのステップせでW/B
F.F.218の出力が“1"となってステップHへ進む。
ステップHへ進んだとき、ステップHでは第2の減算
器213の出力も“0"であるから、この場合はステップM
ではなく、ステップIへ分岐する。
そしてこのステップIでそのときのラッチ219の出
力、すなわち「0111000000000000」をイメージデータB2
(第27図(B))としてイメージメモリ220へ出力する
のである。
このようなイメージメモリ220への出力が行われた後
は、再びステップJ〜Lが実行される。すなわち、ステ
ップJで“n"(n=16)を第2の減算器213へロード
し、ステップKで第26図番号14欄のように、W/BF.F.218
の出力“1"をnビットラッチ219へラッチする。
そして、次の第1の減算器212の出力が“0"であるか
否かを判別するステップLへ進むが、この場合は第1の
減算器212の出力が“0"であるから、ステップBに戻る
のではなくステップMへ分岐し、また、このステップM
で1ラインのイメージ組み立てが終了していないので、
ステップAへ分岐する。このようにして、再びランレン
グスのロードを行うステップAへと戻る。
このように、nビット以下のランであれば、一度にイ
メージデータへ変換してランレングスを高速にイメージ
データへ変換することができる。
〔発明が解決しようとする問題点〕
以上のような構成をとることによって、画像情報のラ
ンレングス符号化処理及びランレングス復号化処理がよ
り一層高速にできるのであるが、それぞれの回路を別個
に構成しているために装置の規模が大きくなり、しかも
高価なものにならざるを得なかった。
本発明は、上記の問題点を解決するものであって、回
路規模の小さな画像情報符号化復号化装置を提供するこ
とを目的とするものである。
〔問題点を解決するための手段〕
そのために本発明の画像情報符号化復号化装置は、符
号化時には画像情報をランレングス符号化し、復号化時
には符号化されたランレングスから画像情報を生成する
画像情報符号化復号化装置において、 (イ)符号化時に第1シフト手段から所定の長さ以下の
画像情報のランレングスを一度に検出するプライオリテ
ィエンコーダと、 (ロ)符号化時には一定長のイメージデータが入力さ
れ、プライオリティエンコーダで検出されたランレング
スに応じて一定長の画像情報を所定ビット移動させ、復
号化時には所定の長さ以下のランレングスに応じて所定
ビットの画像情報を出力する第1シフト手段と、 (ハ)符号化時にランレングスを不定長符号語に変換す
る符号化器と、 (ニ)復号化時にレジスタ手段の出力である不定長符号
語をランレングスに変換する復号化器と、 (ホ)符号化時には不定長符号語のうちすでに処理済み
の部分の長さと既に固定長に再編成された部分の長さと
の差だけ不定長符号語を一度にシフトし、復号化時には
固定長に再編成された不定長符号語を一度に不定長符号
語長だけシフトする第2シフト手段と、 (ヘ)符号化時には第2シフト手段でシフトされた不定
長符号語を所定のビット位置へ一時格納して固定長に再
編成された不定長符号語を得、復号化時には第2シフト
手段でシフトされた固定長に再編成された不定長符号語
を所定のビット位置へ一時格納して不定長符号語を得る
レジスタ手段とを設け、符号化時と復号化時とで第1シ
フト手段、第2シフト手段及びレジスタ手段を共通に使
用することによって、回路規模を小さくしたことを特徴
とするものである。
〔作用〕
本発明の画像情報符号化復号化装置では、従来の画像
情報符号化復号化装置においては別個の回路として構成
していたものの符号化時と復号化時とで同じ回路素子を
使用することに鑑み、それらの回路素子を符号化時と復
号化時とで共通に使用し、かつ、その動作の仕方及びデ
ータの流れを符号化時と復号化時とで変えることによっ
て、処理速度は高速に保ったまま回路素子数を減らすこ
とができるものである。
〔実施例〕
さて、ここでもう一度上述した各回路構成を見てみる
と、ランレングス符号化時と復号化時とで共通に使用で
きる回路素子、及び不定長符号語−固定長符号語変換時
とその逆変換時とで共通に使用できる回路素子がいくつ
かあることに気付く。それを挙げると第28図A,Bのよう
になる。
このことから、第28図A,Bのように符号化時と復号化
時とで共用できる回路素子に加え、符号化時にのみ使用
する回路素子、復号化時にのみ使用する回路素子を配置
し、且つ、符号化時と復号化時とでデータの流れを制御
するようにすれば回路素子数を削減でき、従って小規模
な画像情報符号化復号化装置を構成することができるこ
とがわかる。
以下、図面を参照しつつ実施例を説明する。
第1図は本発明に係るランレングス符号化及び復号化
を行う回路を示す図、第2図は本発明に係る不定長符号
語−固定長符号語変換及びその逆変換を行う回路を示す
図である。
図中、1は画像メモリ、2は画像バッファメモリ、3
はランレングス変換/画像生成回路、4はバレルシフ
タ、5はラッチ、6はカラーインバータ、7はセレク
タ、8はW/BFF、9はプライオリティエンコーダ、10と1
1はバッファ、12と13は演算器、14はコードジェネレー
タ、15と16はラッチ、17は比較器及びセレクタ、18は符
号ROM、19は復号ROM、20は不定長符号語/固定長符号語
変換回路、21はバレルシフタ、22は論理和入力レジス
タ、22は制御ROM、24はパイプラインレジスタ、25は符
号バッファメモリを示す。
次ぎに動作について説明する。まず符号化時の動作で
あるが、図示しないコントローラにより第3図、第4図
の斜視部で示すようなデータパスが形成され、第3図の
ランレングス変換/画像生成回路3はランレングス変換
回路として動作し、第4図の不定長符号語/固定長符号
語変換回路20は不定長符号語−固定長符号語変換回路と
して動作するように制御される。これらの回路の動作は
従来例で述べた第10図及び14図の動作と全く同じである
から再度説明することは省略し、第3図と第10図、第4
図と第14図の回路素子の対応を第7図に示すにとどめ
る。尚、このとき上述した図示しないコントローラによ
り演算器12及び13は加算器として動作し、その他の素子
も所定の動作を行うようになされる。
復号化時はデータパスが第5図、第6図のようになさ
れ、ランレングス変換/画像生成回路3は画像生成回路
として、不定長符号語/固定長符号語変換回路20は固定
長符号語−不定長符号語変換回路として動作するように
制御される。これらの回路の動作は従来例で述べた第22
図及び第24図の動作と全く同じであるから再度説明する
ことは省略し、第5図と第24図、第6図と第22図の回路
素子の対応を第8図に示すにとどめる。尚、このとき上
述した図示しないコントローラにより演算器12及び13は
減算器として動作し、その他の素子も所定の動作を行う
ようになされる。
以上の説明では、単に不定長符号化として説明を行っ
てきたが、実際には一次元符号化方式であるMH符号化方
式、あるいは二次元符号化方式であるMR符号化方式等を
採用することができるものである。
〔発明の効果〕
以上の説明から明らかなように、本発明によれば、符
号化を行う回路と復号化を行う回路を共通の回路素子を
用いて実現できるので、従来4個必要であったバレルシ
フタが2個ですみ、2個の加算器と2個の減算器を2個
の演算器で置き換えることができる等回路規模を大幅に
小さくすることができる。
【図面の簡単な説明】
第1図、第2図は本発明に係る画像情報符号化復号化装
置の1実施例を示す図、第3図、第4図は実施例の符号
化時のデータパスを示す図、第5図、第6図は実施例の
復号化時のデータパスを示す図、第7図は実施例と従来
例の符号化時の回路素子の対応を示す図、第8図は同じ
く復号化時の回路素子の対応を示す図、第9図は画像情
報符号化復号化装置の基本的構成を示す図、第10図はラ
ンレングス符号化装置の従来例を示す図、第11図は第10
図の動作を説明するためのフローチャート、第12図はイ
メージデータとランレングスとの関係の具体例を示す
図、第13図はランレングス符号化の処理経過の具体例を
示す図、第14図は不定長符号語−固定長符号語変換装置
の従来例を示す図、第15図は第14図の原理を示す図、第
16図は第14図のより具体的なブロック図、第17図は第16
図に示す論理和入力セレクタの詳細図、第18図は入力不
定長符号と固定長符号に再編された不定長符号との関係
を示す図、第19図は第16図に示す制御ROMとパイプライ
ンレジスタの詳細図、第20図は動作のフローチャートを
示す図、第21図は処理側の説明図、第22図は固定長符号
語−不定長符号語変換装置の従来例を示す図、第23図は
復号ROMの説明図、第24図はランレングス復号化装置の
従来例を示す図、第25図はその動作のフローチャートを
示す図、第26図は処理の具体例を示す図、第27図はその
具体例における処理前データと処理後データを示す図、
第28図は第10図と第24図及び第14図と第22図の回路素子
の対応を示す図である。 1……画像メモリ、2……画像バッファメモリ、3……
ランレングス変換/画像生成回路、4……バレルシフ
タ、5……ラッチ、6……カラーインバータ、7……セ
レクタ、8……W/BFF、9……プライオリティエンコー
ダ、10と11……バッファ、12と13……演算器、14……コ
ードジェネレータ、15と16……ラッチ、17……比較器及
びセレクタ、18……符号ROM、19……復号ROM、20……不
定長符号語/固定長符号語変換回路、21……バレルシフ
タ、22……論理和入力レジスタ、23……制御ROM、24…
…パイプラインレジスタ、25……符号バッファメモリ。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】符号化時には画像情報をランレングス符号
    化し、復号化時には符号化されたランレングスから画像
    情報を生成する画像情報符号化復号化装置において、 (イ)符号化時に第1シフト手段から所定の長さ以下の
    画像情報のランレングスを一度に検出するプライオリテ
    ィエンコーダと、 (ロ)符号化時には一定長のイメージデータが入力さ
    れ、プライオリティエンコーダで検出されたランレング
    スに応じて一定長の画像情報を所定ビット移動させ、復
    号化時には所定の長さ以下のランレングスに応じて所定
    ビットの画像情報を出力する第1シフト手段と、 (ハ)符号化時にランレングスを不定長符号語に変換す
    る符号化器と、 (ニ)復号化時にレジスタ手段の出力である不定長符号
    語をランレングスに変換する復号化器と、(ホ)符号化
    時には不定長符号語のうちすでに処理済みの部分の長さ
    と既に固定長に再編成された部分の長さとの差だけ不定
    長符号語を一度にシフトし、復号化時には固定長に再編
    成された不定長符号語を一度に不定長符号語長だけシフ
    トする第2シフト手段と、 (ヘ)符号化時には第2シフト手段でシフトされた不定
    長符号語を所定のビット位置へ一時格納して固定長に再
    編成された不定長符号語を得、復号化時には、第2シフ
    ト手段でシフトされた固定長に再編成された不定長符号
    語を所定のビット位置へ一時格納して不定長符号語を得
    るレジスタ手段と、 を設け、符号化時と復号化時とで第1シフト手段、第2
    シフト手段及びレジスタ手段を共通に使用することによ
    って、回路規模を小さくしたことを特徴とする画像情報
    符号化復号化装置。
JP62182952A 1987-07-22 1987-07-22 画像情報符号化復号化装置 Expired - Lifetime JP2560735B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62182952A JP2560735B2 (ja) 1987-07-22 1987-07-22 画像情報符号化復号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62182952A JP2560735B2 (ja) 1987-07-22 1987-07-22 画像情報符号化復号化装置

Publications (2)

Publication Number Publication Date
JPS6425672A JPS6425672A (en) 1989-01-27
JP2560735B2 true JP2560735B2 (ja) 1996-12-04

Family

ID=16127219

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62182952A Expired - Lifetime JP2560735B2 (ja) 1987-07-22 1987-07-22 画像情報符号化復号化装置

Country Status (1)

Country Link
JP (1) JP2560735B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0579118B1 (en) * 1992-07-10 1995-09-27 Max Co., Ltd. A motor driven stapler

Also Published As

Publication number Publication date
JPS6425672A (en) 1989-01-27

Similar Documents

Publication Publication Date Title
US4286256A (en) Method and means for arithmetic coding utilizing a reduced number of operations
JP3227292B2 (ja) 符号化装置、符号化方法、復号化装置、復号化方法、符号化復号化装置及び符号化復号化方法
US6351569B1 (en) Coding method, decoding method, coding device and decoding device
JPH06224777A (ja) 符号化方法、符号化装置、復号方法、復号器、データ圧縮装置、ビットストリーム生成方法及び遷移マシン生成方法
JP3189876B2 (ja) 可変長符号復号化回路
US7650322B2 (en) Method and apparatus for mapping the primary operational sequences of an algorithm in a compute unit having an internal random access memory
JP3235555B2 (ja) 信号復号装置及び信号復号方法並びに信号復号処理をコンピュータに行わせるためのプログラムを記録した記録媒体
US6809665B2 (en) Apparatus and method for decoding variable length code
KR0163464B1 (ko) 허프만 부호 복호화 회로
JPS60140981A (ja) 符号語システムのデジタル符号語を復号する方法および装置
JP2001230935A (ja) 算術符号化/復号化方法ならびに算術符号化/復号化装置
JP2560735B2 (ja) 画像情報符号化復号化装置
JP2002237754A (ja) 可変長復号化装置及び方法
JP2003198858A (ja) 符号化装置および復号化装置
US7375663B2 (en) Data simplifying and merging method for a voice decoding memory system
JP2503988B2 (ja) 画像符号化装置
JP2507954B2 (ja) ランレングス復号化装置
JP2541067B2 (ja) ランレンスグ復号化装置
JP3384287B2 (ja) 符号化装置および復号化装置
JP3753580B2 (ja) データ符号化方法、データ復号化方法、およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2590840B2 (ja) ランレングス符号化装置
JP2934603B2 (ja) 可変長さコードの復号化方法及びその装置
JP2529465B2 (ja) 可変長符号復号装置
JP3427651B2 (ja) 算術符号化装置およびそのフラッシュ処理方法
JP2006019814A (ja) エントロピ復号器

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term