JPH053186B2 - - Google Patents

Info

Publication number
JPH053186B2
JPH053186B2 JP58031173A JP3117383A JPH053186B2 JP H053186 B2 JPH053186 B2 JP H053186B2 JP 58031173 A JP58031173 A JP 58031173A JP 3117383 A JP3117383 A JP 3117383A JP H053186 B2 JPH053186 B2 JP H053186B2
Authority
JP
Japan
Prior art keywords
data
code
bit
length
decoded
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
JP58031173A
Other languages
English (en)
Other versions
JPS59156074A (ja
Inventor
Yoshikazu Yokomizo
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP3117383A priority Critical patent/JPS59156074A/ja
Priority to CA000447989A priority patent/CA1228925A/en
Priority to DE19843406624 priority patent/DE3406624A1/de
Priority to GB08404879A priority patent/GB2138604B/en
Priority to FR8402961A priority patent/FR2541836B1/fr
Publication of JPS59156074A publication Critical patent/JPS59156074A/ja
Priority to US07/018,868 priority patent/US4716471A/en
Publication of JPH053186B2 publication Critical patent/JPH053186B2/ja
Granted legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • H03M7/425Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory for the decoding process only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)

Description

【発明の詳細な説明】
本発明は画像フアイル又はフアクシミリ装置の
データ復号装置に関する。特にモデイフアイド・
ハフマン(M・H)符号によりランレングス符号
化されて記憶ないしは伝送された画像信号の高速
復号化に有効である。 従来この種の装置においては復号変換の処理速
度が一定ではなく、従つて副走査速度が可変速の
プリンタ装置を必要とする欠点があつた。このた
めもし副走査速度が一定の高速静電プリンタに出
力する時は一旦1ページ分のバツフアメモリに展
開して行なう必要があつた。又マイクロプロセツ
サを用いたソフトウエア処理で行なつていたの
で、高速化に限界があつた。 又、特開昭55−79565号公報の様に、MH符号
の復号装置をハードウエアで構成したものも知ら
れている。しかしながら、特開昭55−79565号公
報のものでは、MH符号をビツトシリアルにシフ
トレジスタに入力させ、1つのMH符号の復号毎
にシフトレジスタ内のMH符号をビツトシリアル
にシフトさせながらROMをアクセスして、MH
符号の復号を行なうものである。この様な構成で
は、シフトレジスタにビツトシリアルに入力させ
るので、MH符号の入力に時間がかかるだけでな
く、復号毎にMH符号の先頭をシフトレジスタ内
の決められた位置にビツトシリアルにシフトする
ので、復号用のROMをアクセスまでに時間がか
かつてしまう。 本発明は、上述した問題点を解決し、不定長の
符号データを高速に復号処理可能で、しかも復号
に用いる変換テーブルの構成を簡略化したデータ
復号装置の提供を目的とする。 即ち、本発明は、不定長の符号データを格納す
るためのメモリと、上記メモリから不定長符号デ
ータを所定ビツト数パラレルに読み出す読出手段
と、上記所定ビツト数パラレルで上記読出手段に
より読み出される不定長符号データを複数連続し
て記憶する格納手段と、上記格納手段に記憶され
た不定長符号データから所望のnビツトのデータ
をパラレルに抽出する抽出手段と、上記格納手段
の不定長符号データの先頭の連続した0の数を検
出する検出手段と、上記検出手段により検出され
た0の数と、上記抽出手段により抽出されたnビ
ツトパラレルのデータによりアクセスされ、その
アクセスに応じて復号データ及び復号化されたコ
ード長を出力する変換テーブルと、上記復号化さ
れたコード長を逐次加算する加算手段と、上記加
算手段の加算結果と上記検出手段により検出され
た0の数に応じて、上記抽出手段により抽出する
データの部分を変更する手段と、上記加算手段の
加算結果に応じて上記メモリから上記格納手段に
不定長符号データを記憶させる手段を有すること
を特徴とするデータ復号装置である。 本発明によれば、複数連続して記憶した不定長
符号データの中から所望のnビツトパラレルのデ
ータを抽出して変換テーブルをアクセスして復号
データを出力する構成としたので、従来の様に不
定長符号データをビツトシリアルにシフトする必
要がなく、高速に不定長符号データの復号処理を
行なうことができる。 又、本発明によれば、記憶した不定長符号デー
タの先頭の連続する0の数の検出と、記憶した不
定長符号データの中から抽出したnビツトパラレ
ルのデータにより変換テーブルをアクセスするの
で、変換テーブルの構成を簡略化できます。しか
も、復号化されたコード長の加算結果と連続する
0の数の検出に応じて抽出するnビツトのデータ
部分を変更するようにしたので、次の不定長符号
データ時のデータの抽出も適切に行なうことがで
きる。 次に図示の実施例にもとづき本発明を詳細に説
明する。 第1図は本発明によるMH符号の復号器の概略
ブロツク図である。図中1は画面メモリでここに
はMH符号化された画像信号が記憶されている。
1として画像フアイルメモリがある。ここからの
データは24ビツトパラレルで出力又はその型式
に変換されて出力される。2はリードアドレスカ
ウンタで画面メモリ1のリードアドレスを与える
ためのカウンタである。 3はパラレル・シリアル変換器である。画面メ
モリ1からの出力データ線Onは相対速度を上げ
るために24ビツト構成になつている。3は24ビツ
トのデータを8ビツトのデータ3個に分割し8ビ
ツト毎にシリアル変換するためのパラレル・シリ
アル変換器である。従つてこの変換回路3は8ビ
ツトのデータを3回シフトしたらリードアドレス
カウンタ2を1個歩進するための3進カウンタ1
01(第2図)を含んでいる。従つて24ビツトを
そのままシフトレジスタにより変換することによ
る時間遅れを防止できる。 4はトライステート・バツフア群で、シリアル
変換されたデータ14の中から、オフセツトレジ
スタ9の示すオフセツト値15のデータを先頭と
する連続した最大13個のデータをラン長デコード
ROM5及びコード長デコードROM7に入力す
るためのものである。ここでオフセツト値とは8
ビツト毎にパラレルシフトされたシリアルデータ
D0〜D25のどの位置からMH符号を抜き取るかを
示すデータである。従つて具体的には13ビツトの
トライステートバツフアを複数個(14個)用意し
てその入力線は1ビツトずつずらして信号線14
に接続し、出力線はワイヤードオア接続すること
によつて構成している。そのトライステートバツ
フア群の中の1個を選択すれば任意のデータシフ
トが実行できる。つまりバツフアのどれか1つを
コード長毎にイネブルすると13ビツト内のコード
データを瞬時に得ることができる。オフセツト値
15をバツフア選択信号線16に変換するのがオ
フセツトデコーダ10である。従つて8ビツト構
成であつてもMHの可変調符号を簡単にかつ高速
で読取ることができる。 ラン長デコードROMに入力されたMH符号は
ここでラン長に変換される。すなわちラン長デコ
ードROMは、MH符号をアドレスにし、それに
対応するラン長を出力データとする様に構成した
変換テーブルである。 ROM出力のラン長はラン長カウンタ6によつ
て計数され、黒又は白のビツト数、白ビツト数が
出力される。 ラン長カウンタ6の計数終了を示す信号リツプ
ルキヤリアウト(RCO)で次のラン長をロード
すると共にトグルフリツプフロツプ13を反転し
てその出力とカウンタ出力とにより黒ビツト群、
白ビツト群が交互に連続したVideo信号を得る。 7はコード長デコードROMで、MH符号をア
ドレスにし、そのMH符号のコード長を出力デー
タとする様に構成した変換テーブルである。コー
ド長17は加算器群8を介してオフセツトレジス
タ9に加算される。いま入力C,D及びEが共に
〔0〕の時は、もとのオフセツト値15が加算器
群8のA入力に入り、コード長17がB入力に入
つているので、オフセツトレジスタにクロツクが
印加されると新たなオフセツト値15は、 新たなオフセツト値=元のオフセツト値+コ
ード長 となる。この値は今デコードしたMH符号の次の
MH符号の先頭オフセツト値を与える。つまり前
にデコードされたMHの符号長分だけシフトした
所のデータが読めて次のMHが判断できる。この
様にして長さが一定でないMH符号のデコードが
次々に行なえる訳である。 ところでパラレルシリアル変換器3の長さは有
限であるから、補正が必要である。これはオフセ
ツト値15が〔8〕を越えた場合にコンパレータ
11で判定してパラレルシリアル変換器3を8ビ
ツト歩進すると共に加算器群8のE入力に〔−
8〕を印加する。この場合のオフセツト値は 新たなオフセツト値=元のオフセツト値+コ
ード長−8 となつてデータが8ビツトシフトすると共にオフ
セツト値も同じだけシフトするからデータとオフ
セツト値の相対位置は不変である。8ビツト歩進
は前述の如くバツフア、デコーダ、3進カウンタ
で行ない、3進カウンタが〔2〕になる毎にメモ
リを読出す。従つてオフセツトレジスタ9から見
たシリアルデータ14は無限に長いシリアルデー
タであるかの様に見える。 EOL符号(1ライン終了を示す同期信号)に
ついては専用のデコーダでデコードする。すなわ
ちEOLデコーダ群12であり、これは後述の如
く前述バツフア群4と同様13ケのPALで構成し、
1ビツトづつシフトしたシリアルデータをデコー
ドし、どれかのPALがEOLを検出すると13入力
オアゲートによりEOLを出力する。EOLデコー
ダ群のどれかがEOL信号をデコードした時には
EOL検出信号線18がHiレベルになりトグルフ
リツプフロツプ13をリセツトすると共に加算器
群8の入力のうちA,B及びEを無視してC及び
Dのみ加算出力する様にする。CにはEOL符号
の符号表である〔12〕が、またDにはEOL符号
が検出されたオフセツト値19が印加される。こ
の結果オフセツト値15の値は次の様になる。 新たなオフセツト値=EOLデコーダ群のオ
フセツト値+12 EOL符号だけ専用のハードウエアでデコード
するのは誤動作があつた場合にエラーをその行だ
けで食い止め全画面にエラーが波及するのを防止
するためである。もしエラーがなければ加算器群
8の入力はEOL検出時は、BとCは当然等しく、
またDはAとEの和に等しくなる。 この様にしてオフセツトレジスタの再セツトに
よりEOL符号の次のMH符号のぬきとり位置を与
えることができる。 次に第2図を用いて詳細に説明する。 第1図と共通の構成要素には同一の番号を付与
してある。画面メモリ(図示せず)からの出力
(1ワード24ビツト)を一旦Dラツチ100でラ
ツチする。ラツチするタイミングは3進カウンタ
101のリプルキヤリアウトがHiになりかつコ
ンパレータ11のA>B出力がHiになつた時で
ある。ラツチされたデータD0〜D23を8ビツトづ
つ分けトライステートバツフア102,103及
び104を介してDラツチ105にワイヤードオ
アで入力されている。Dラツチ105,106及
び107により8ビツトパラレル、バイトシリア
ルの形でパラレル・シリアル変換される。よつて
バツフア108,109…には各々D0〜D7,D1
〜D8…が格納される。シリアル変換された出力
D0〜D23の内トライステート・バツフア群4で任
意の連続した8ビツトが選択される。たとえばト
ライ・ステート・バツフア110が選択されれば
D2〜D9がラン長デコードROM5及びコード長デ
コードROM7側に伝達される。MH符号のコー
ド長は最大13であるから本来このトライステー
ト・バツフア群は13ビツト長のものが必要だが
MH符号の特徴により先頭の連続した1個,4個
または5個の“0”を別の回路でデコードする事
により8ビツトに節約できる。112が先頭の連
続した“0”をデコードするためのPALである。
PALはプログラマブル・アレー・ロジツクの略
で米国モノリシツタ・メモリーズ社の商標であ
る。ここにたとえばPAL18L4というデバイスを
2個用いて表1に示す様な論理でプログラムすれ
ばオフセツトレジスタ9からのオフセツト値の示
す先頭アドレスから0が1個もなければ0、少な
くとも0が1個ある時は1、0が4個ある時は
2、0が5個ある時は3なる零ビツト判定出力信
号を出力する。この値はデータセレクタ113に
入力されかつ、2つのROMに2つのアドレス選
択データとして入力される。データセレクタ11
3は零ビツト判定信号をもとに2進数
〔0〕,
〔1〕,〔4〕及び〔5〕を選択して出力する。デ
ータセレクタ113の出力は加算器114でオフ
セツト値と加算されてオフセツトデコーダ10に
印加される。従つてトライステートバツフア群4
の中から選択されるバツフアは、データセレクタ
113の出力値分だけさらにシフトした所から、
例えば0が1つの時は右へ1つバツフアをとばし
たバツフアから連続して8個のデータを出力す
る。 バツフア群4からのシフト出力によるコード長
の蓄積が8を超えるとオフセツトレジスタ9の出
力が8を越えるのでコンパレータ11がそれを判
断して変換回路3を作動する。つまりラツチ10
5〜107が8ビツト上にシフトする。従つて例
えばラツチ107の1〜8ビツトがバツフア10
8の1〜8ビツト目に、又107の2〜8とラツ
チ106の1ビツト目がバツフア109の1〜8
ビツト目にという具合に各バツフアとラツチとが
ビツト接続されているので、例えば10番目のバツ
フアデータと同じものが2番目のバツフアに格納
される。 ラン長ROM5に書き込まれた数値は、アドレ
ス線にランレングス符号をデータ線にラン長を割
り当てている。A10に黒/白信号入力を、A89
に零ビツト判定信号を、A07にMH符号を入力
する。表2にラン長デコードROMとコード長デ
コードROMのプログラム例を示す。メークアツ
プコードのラン長は64の倍数なのでROMにはラ
ン長を64で割つた値を書いておき、6ビツトシフ
ト回路115で後で64倍して正確なラン長を得
る。つまり6ビツト上位シフトし、下位6ビツト
に0をセツトして出力する。ROMの08をメーク
アツプ・コード/ターミネイト・コード(63以下
のラン長)判定信号出力(M/T)に当ててい
る。メークアツプコードが出力された時はインバ
ータ116、ゲート117によつてトグル・フリ
ツプ・フロツプ13を反転させない。EOL符号
では“白”にリセツトする。この様にしてランレ
ングスROMの容量を少なくできる。 コード長は加算器118でオフセツト値と加算
される。その値は通常はA側が選択されているデ
ータセレクタ119及び加算器120を介してオ
フセツトレジスタ9に印加されている。データセ
レクタ121は通常は
〔0〕を選択していて、コ
ンパレータ11がオフセツト値の8より大なるを
検出したる時に、〔−8〕を選択する。従つて加
算器120により118による過去の蓄積を8だ
け減ずる。同時にゲート122を開きラツチ10
5,106及び107の値を8ビツトシフトす
る。また3進カウンタを1個歩進し、その結果リ
プルキヤリーアウトが出ればリードアドレスカウ
ンタ2を歩進する。 124〜127はEOL符号デコード用のPALである。
たとえばPAL16L6を用いて次の様な論理をプロ
グラムする事によつてEOL符号がデコードでき
る。 E=/A9*/A1*/A2*/A3*/… …*/A10*/A11*/A12 128はどのPALがEOL符号をデコードしたかを
判定して出力するデコーダである。EOLが検出
されるとエンコーダ128によりどのPALで発
生したかを判定しそこからEOLの分だけオフセ
ツト出力をジヤンプする様エンコーダ4の出力に
〔12〕を加えて119を介しオフセツト出力を再
セツトする。 尚ゼロのラン長に対応する方法として本発明は
2ワード程度のF1−F0バツフアを必要とするが
復号器のクロツクを2倍にする事によりこのバツ
フアを不要とすることができる。 又本発明はメモリ等からのB,G,R又はY,
M,Cのカラー画像符号化データをカラー別に復
号することにも応用できる。 以上説明したように、本例によるMH符号の復
号器は1個のMH符号のデコードを1システムク
ロツク以内にデコードする事が可能なのできわめ
て高速なMH符号の復号器が実現できる。従つて
画素が圧縮格納された電子フアイルと高速プリン
タとの対応が可能となる。 又MH符号のデコードに関しては本来は13ビツ
ト長の信号線を見てデコードしなければならない
が、本例では零の連続するコードを分割してデコ
ードする事により、主デコーダは8ビツト長の信
号線を見るだけで可能となり、従つて変換用
ROMは低価格なものですむ。 又本例は、エラーデータが全画面に与える悪影
響を防止することができる。
【表】

Claims (1)

  1. 【特許請求の範囲】 不定長の符号データを格納するためのメモリ
    と、上記メモリから不定長符号データを所定ビツ
    ト数パラレルに読み出す読出手段と、 上記所定ビツト数パラレルで上記読出手段によ
    り読み出される不定長符号データを複数連続して
    記憶する格納手段と、 上記格納手段に記憶された不定長符号データか
    ら所望のnビツトのデータをパラレルに抽出する
    抽出手段と、 上記格納手段の不定長符号データの先頭の連続
    した0の数を検出する検出手段と、 上記検出手段により検出された0の数と、上記
    抽出手段により抽出されたnビツトパラレルのデ
    ータによりアクセスされ、そのアクセスに応じて
    復号データ及び復号化されたコード長を出力する
    変換テーブルと、 上記復号化されたコード長を逐次加算する加算
    手段と、 上記加算手段の加算結果と上記検出手段により
    検出された0の数に応じて、上記抽出手段により
    抽出するデータの部分を変更する手段と、 上記加算手段の加算結果に応じて上記メモリか
    ら上記格納手段に不定長符号データを記憶させる
    手段を有することを特徴とするデータ復号装置。
JP3117383A 1983-02-25 1983-02-25 デ−タ復号装置 Granted JPS59156074A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP3117383A JPS59156074A (ja) 1983-02-25 1983-02-25 デ−タ復号装置
CA000447989A CA1228925A (en) 1983-02-25 1984-02-22 Data decoding apparatus
DE19843406624 DE3406624A1 (de) 1983-02-25 1984-02-23 Datendecodiereinrichtung
GB08404879A GB2138604B (en) 1983-02-25 1984-02-24 Data decoding
FR8402961A FR2541836B1 (fr) 1983-02-25 1984-02-27 Appareil de decodage de donnees et dispositif de traitement de donnees comprimees
US07/018,868 US4716471A (en) 1983-02-25 1987-02-25 Data decoding apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3117383A JPS59156074A (ja) 1983-02-25 1983-02-25 デ−タ復号装置

Publications (2)

Publication Number Publication Date
JPS59156074A JPS59156074A (ja) 1984-09-05
JPH053186B2 true JPH053186B2 (ja) 1993-01-14

Family

ID=12324046

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3117383A Granted JPS59156074A (ja) 1983-02-25 1983-02-25 デ−タ復号装置

Country Status (1)

Country Link
JP (1) JPS59156074A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55102968A (en) * 1979-01-31 1980-08-06 Sharp Corp Run-length decoding system for mh code

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55102968A (en) * 1979-01-31 1980-08-06 Sharp Corp Run-length decoding system for mh code

Also Published As

Publication number Publication date
JPS59156074A (ja) 1984-09-05

Similar Documents

Publication Publication Date Title
JP3013381B2 (ja) 可変長データの復号装置
US5627917A (en) Variable length coding system having a zig-zag FIFO for selectively storing each data coefficient and zero-run count
US4168513A (en) Regenerative decoding of binary data using minimum redundancy codes
US4475174A (en) Decoding apparatus for codes represented by code tree
EP0040025A1 (en) Real time data compression/decompression scheme for facsimile transmission system
US4101934A (en) Coding system
JPH0211064B2 (ja)
EP0467678A2 (en) Variable length coding apparatus and variable length decoding apparatus
CA1228925A (en) Data decoding apparatus
JPH0525224B2 (ja)
US5309156A (en) Variable-length code decoding device
US4955061A (en) Method and apparatus for processing an image signal
US5067023A (en) Image data coding apparatus
JPH0460391B2 (ja)
US6947604B2 (en) Method and hardware to implement two-dimensional compression
JPH053185B2 (ja)
JPH053186B2 (ja)
JPH053187B2 (ja)
EP0499225B1 (en) Variable-length code decoding device
JPS6341276B2 (ja)
JPH07236065A (ja) 二値画像圧縮装置
JPS614371A (ja) 画像イメ−ジ変換回路
JPH0116071B2 (ja)
JPH06225166A (ja) 符号化および復号化装置
JPS60117879A (ja) フィルビット除去回路