JP2624843B2 - 符号化装置 - Google Patents
符号化装置Info
- Publication number
- JP2624843B2 JP2624843B2 JP1184646A JP18464689A JP2624843B2 JP 2624843 B2 JP2624843 B2 JP 2624843B2 JP 1184646 A JP1184646 A JP 1184646A JP 18464689 A JP18464689 A JP 18464689A JP 2624843 B2 JP2624843 B2 JP 2624843B2
- Authority
- JP
- Japan
- Prior art keywords
- line
- address
- signal
- code
- processing
- 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
Links
Description
〔産業上の利用分野〕 本発明は、高速フアクシミリで国際規格として定めら
れたMH符号(Modified Huffman Code)及びMR符号(Mod
ified READ)の符号化を行う符号化装置に関する。 〔従来の技術〕 第1図は、フアクシミリの概略を示すブロツク図であ
る。フアクシミリでは、読取部1000によつて原稿を走査
し、画像(Video Data:VD)信号を生成する。画像信号
(以下、画像信号VD、または単にVDという。)は、符号
化復号化装置2000によつて符号(Code Word)に変換さ
れ、さらに変復調装置3000によつて伝送路帯域の周波数
に変換され、網制御装置4000を介して伝送回線上に送信
される。受信側では、上記と逆の手続きで、符号から画
像信号に変換し、記録部5000にてハードコピーを得る。
第1図では全体を制御する制御部(通常はマイクロコン
ピユータが用いられる)の説明を省略している。 画像電子学会誌‘77,Vol6,No.3及び‘78,Vol7,No.1や
画像電子学会誌“80,Vol9,No.1等の文献に記載があるよ
うに、符号化復号化装置200では、国際規格のMH符号及
びMR符号が用いられることが多い。 MH符号は、同一走査ライン上における2つのとなり合
つたビツト変化点(画素の色、例えば白か黒かが変化す
る点)の間のビツト長の距離(Run Length:RL)を“符
号”として変換するものである。MR符号は、となり合つ
た2つのライン上のビツト変化点を求め、すでに符号化
して伝送したライン(参照ライン)と、今符号化しよう
としているライン(符号化ライン)との変化点の相対的
なビツト位置の差を“符号”として変換するものであ
る。従来の符号化復号化装置は、符号化時には画像信号
の1ビツトを1ワードとして記憶するメモリを複数ライ
ン分用意し、シリアルにメモリを走査して変化点を求め
ていた。また、復号化時には、RLからカウンタ等を用い
てシリアルに画像信号を復元していた。 〔発明が解決しようとする課題〕 このため、上記従来技術はハードウエア量が多く、ま
たメモリ等の高速動作が要求されるという欠点があつ
た。また、MH符号及びMR符号は、高度な符号化方式であ
るため、通常マイクロコンピユータによるソフトウエア
とハードウエアとを組み合わせて処理する構成としてい
る。しかし、ソフトウエアによる信号処理は低速であ
り、高速に符号化するには処理速度に限界があつた。ま
た、ハードウエアだけで処理する構成とした場合でも、
そのハードウエアが大規模化し、またハードウエアがそ
の処理に専用化されるので柔軟性に欠けるという問題が
あつた。さらに、マイクロコンピユータのシステムバス
上に画像信号記憶用のメモリ(例えば、通常8ビツトが
1ワードとなる)を接続することにより、ハードウエア
量を低減したものもあるが、ワード内のビツト変化点
は、シリアルに検出するという手法を用いているため依
然として高速欠に問題が残つていた。 符号化復号化処理を処理する場合、処理すべき画像の
処理単位(画素,変化点,ライン,ページ)毎に分離
し、分離したそれぞれの処理を処理階層とすると、本発
明と従来技術との違いは第2図に示すようになる。 従来装置は、画像信号をシリアルに走査して変化点を
検出する画素単位の処理をハードウエアで行い、変化点
情報から符号を生成する変化点単位以後の処理をマイク
ロコンピユータを用いたソフトウエアが分担する例が多
い。この例では柔軟性は高いけれどもマイクロコンピユ
ータの負担が重なり、高速な回線(例えば48Kb/sまたは
それ以上の)には適用しずらいという問題があつた。 また、画像処理における符号化,復号化のアルゴリズ
ムに軽微な変更を加えようとしてもハードウエアが専用
化しているために困難であつたり、マイクロコンピユー
タを用いたことによる特長(例えばバス接続によるイン
ターフエースの容易性等)を活かした柔軟なシステム構
築が困難であつたりして容易に拡張性を持たすことがで
きなかつた。 本願発明の目的は、上記従来技術の問題点を解消し、
画像信号を高速に符号化でき、高速な回線にも適用可能
な符号化装置を提供することにある。
れたMH符号(Modified Huffman Code)及びMR符号(Mod
ified READ)の符号化を行う符号化装置に関する。 〔従来の技術〕 第1図は、フアクシミリの概略を示すブロツク図であ
る。フアクシミリでは、読取部1000によつて原稿を走査
し、画像(Video Data:VD)信号を生成する。画像信号
(以下、画像信号VD、または単にVDという。)は、符号
化復号化装置2000によつて符号(Code Word)に変換さ
れ、さらに変復調装置3000によつて伝送路帯域の周波数
に変換され、網制御装置4000を介して伝送回線上に送信
される。受信側では、上記と逆の手続きで、符号から画
像信号に変換し、記録部5000にてハードコピーを得る。
第1図では全体を制御する制御部(通常はマイクロコン
ピユータが用いられる)の説明を省略している。 画像電子学会誌‘77,Vol6,No.3及び‘78,Vol7,No.1や
画像電子学会誌“80,Vol9,No.1等の文献に記載があるよ
うに、符号化復号化装置200では、国際規格のMH符号及
びMR符号が用いられることが多い。 MH符号は、同一走査ライン上における2つのとなり合
つたビツト変化点(画素の色、例えば白か黒かが変化す
る点)の間のビツト長の距離(Run Length:RL)を“符
号”として変換するものである。MR符号は、となり合つ
た2つのライン上のビツト変化点を求め、すでに符号化
して伝送したライン(参照ライン)と、今符号化しよう
としているライン(符号化ライン)との変化点の相対的
なビツト位置の差を“符号”として変換するものであ
る。従来の符号化復号化装置は、符号化時には画像信号
の1ビツトを1ワードとして記憶するメモリを複数ライ
ン分用意し、シリアルにメモリを走査して変化点を求め
ていた。また、復号化時には、RLからカウンタ等を用い
てシリアルに画像信号を復元していた。 〔発明が解決しようとする課題〕 このため、上記従来技術はハードウエア量が多く、ま
たメモリ等の高速動作が要求されるという欠点があつ
た。また、MH符号及びMR符号は、高度な符号化方式であ
るため、通常マイクロコンピユータによるソフトウエア
とハードウエアとを組み合わせて処理する構成としてい
る。しかし、ソフトウエアによる信号処理は低速であ
り、高速に符号化するには処理速度に限界があつた。ま
た、ハードウエアだけで処理する構成とした場合でも、
そのハードウエアが大規模化し、またハードウエアがそ
の処理に専用化されるので柔軟性に欠けるという問題が
あつた。さらに、マイクロコンピユータのシステムバス
上に画像信号記憶用のメモリ(例えば、通常8ビツトが
1ワードとなる)を接続することにより、ハードウエア
量を低減したものもあるが、ワード内のビツト変化点
は、シリアルに検出するという手法を用いているため依
然として高速欠に問題が残つていた。 符号化復号化処理を処理する場合、処理すべき画像の
処理単位(画素,変化点,ライン,ページ)毎に分離
し、分離したそれぞれの処理を処理階層とすると、本発
明と従来技術との違いは第2図に示すようになる。 従来装置は、画像信号をシリアルに走査して変化点を
検出する画素単位の処理をハードウエアで行い、変化点
情報から符号を生成する変化点単位以後の処理をマイク
ロコンピユータを用いたソフトウエアが分担する例が多
い。この例では柔軟性は高いけれどもマイクロコンピユ
ータの負担が重なり、高速な回線(例えば48Kb/sまたは
それ以上の)には適用しずらいという問題があつた。 また、画像処理における符号化,復号化のアルゴリズ
ムに軽微な変更を加えようとしてもハードウエアが専用
化しているために困難であつたり、マイクロコンピユー
タを用いたことによる特長(例えばバス接続によるイン
ターフエースの容易性等)を活かした柔軟なシステム構
築が困難であつたりして容易に拡張性を持たすことがで
きなかつた。 本願発明の目的は、上記従来技術の問題点を解消し、
画像信号を高速に符号化でき、高速な回線にも適用可能
な符号化装置を提供することにある。
本発明の特徴は、複数ビットで構成される画像信号を
入力し、隣合う2つのライン上のビット変化点を求め、
既に符号化されたラインである参照ライン上の変化点
と、符号化すべきラインである符号化ライン上の変化点
との相対的な差を符号信号として出力する符号化装置に
おいて、画像信号を記憶する画像メモリに接続された第
1の信号バスとの接続を可能とする第1のインターフフ
ェイスと、符号信号を記憶する符号メモリに接続された
第2の信号バスとの接続を可能とする第2のインターフ
ェイスと、前記第1のインターフェイスを介して前記画
像メモリに記憶されてる参照ラインの画像信号と符号化
ラインの画像信号とをそれぞれ複数ビット単位に交互に
読み出す手段と、前記交互に読み出した参照ライン及び
符号化ラインの画像信号に基づいて前記符号信号を生成
する符号化手段と、前記生成した符号信号を複数ビット
単位に前記第2のインターフェイスから前記符号メモリ
に出力する出力手段とを有するようにしたことにある。
入力し、隣合う2つのライン上のビット変化点を求め、
既に符号化されたラインである参照ライン上の変化点
と、符号化すべきラインである符号化ライン上の変化点
との相対的な差を符号信号として出力する符号化装置に
おいて、画像信号を記憶する画像メモリに接続された第
1の信号バスとの接続を可能とする第1のインターフフ
ェイスと、符号信号を記憶する符号メモリに接続された
第2の信号バスとの接続を可能とする第2のインターフ
ェイスと、前記第1のインターフェイスを介して前記画
像メモリに記憶されてる参照ラインの画像信号と符号化
ラインの画像信号とをそれぞれ複数ビット単位に交互に
読み出す手段と、前記交互に読み出した参照ライン及び
符号化ラインの画像信号に基づいて前記符号信号を生成
する符号化手段と、前記生成した符号信号を複数ビット
単位に前記第2のインターフェイスから前記符号メモリ
に出力する出力手段とを有するようにしたことにある。
本発明は、画像用のバスに接続し得る第1のインター
フェイスと、符号用のバスに接続し得る第2のインター
フェイスを設けたことにより高速に符号化処理を行うこ
とが可能となると共に、画像メモリに記憶されている参
照ラインの画像信号と符号化ラインの画像信号とをそれ
ぞれ複数ビット単位に交互に読み出して符号信号を生成
するので、同一の画像メモリに参照ラインと符号化ライ
ンが存在しても、あたかも参照ラインと符号化ラインを
同時に且つ同じ相対位置で走査しているのと同等の性能
を得ることができる。
フェイスと、符号用のバスに接続し得る第2のインター
フェイスを設けたことにより高速に符号化処理を行うこ
とが可能となると共に、画像メモリに記憶されている参
照ラインの画像信号と符号化ラインの画像信号とをそれ
ぞれ複数ビット単位に交互に読み出して符号信号を生成
するので、同一の画像メモリに参照ラインと符号化ライ
ンが存在しても、あたかも参照ラインと符号化ラインを
同時に且つ同じ相対位置で走査しているのと同等の性能
を得ることができる。
第3図以下を用いて本発明の実施例を図面を用いて説
明する。 第3図は、本発明になる符号化,復号化装置(Code
c)の全体ブロツク図である。MPU I/F2100は、マイク
ロコンピユータ(マイコン)とインターフエイスを取る
もので、信号a−1〜信号a−10が入出力される。信号
a−1は、マイコンがCodecをアクセスするときのチツ
プセレクト(Chip Select:CS)信号である。信号a−2
は、マイコンとCodec間でデータの転送を行うときのタ
イミング(Data Strobe:DS)信号である。信号a−3
は、マイコンからのCodecに対する読み出しか書き込み
を制御するリードライト(Read/Write:R/W)信号であ
る。信号a−1〜信号a−3は、マイコンボードのコン
トロールバス(Control Bus:CBus)から入力される。信
号a−4は、マイコンからのアドレス(Address:A)信
号である。信号a−1〜信号a−4により、マイコンか
らCodec内部の各レジスタをアクセスするための信号C
(外部制御信号と呼ぶ)が作られる。信号a−5は、マ
イコンとCodec間でデータのやりとりを行う信号(Data:
D)で、マイコンのデータバス(Data Bus:DBus)と直結
する。信号a−6は、ダイレクトメモリアクセスコント
ローラ(Direct Memory Access Controller:DMAC)に対
して、外部回路(通常はメモリ)とCodecの内のメモリ
間で直接にデータを転送するダイレクトメモリアクセス
(Direct Memory Access:DMA)を要求するDMA要求(DMA
Request:DRQT)信号である。信号a−7は、DRQTに対
する確認(DMA Acknowledge:DACK)信号を受けるもので
ある。Codecは、DRQT信号を出力すると、DACK信号が返
るのを持ち、DACK信号が返つた後、DS信号のタイミング
に合わせてDataの入出力を行う。信号a−8は、マイコ
ンに対して割り込み要求(Interrupt Request:IRQ)を
行うもので、たとえば、1ライン分の処理が終了したと
きなどに用いられる。信号でa−9はリセツト(RESE
T)信号で、Codec内部が初期状態となる。信号a−10は
クロツク(CLK)信号で、Codec内の処理のタイミングの
源となる。これらの信号を用いてマイコンとインターフ
エイスする例は、通常市販されているマイコンと直結す
るLSIにあるので、ここでは、これ以上の説明は省略す
る。このようにCodecは、MPU I/F2100を持ち、マイコ
ンのバスと直結できるため、システム構成が容易でかつ
小型化できるという効果がある。 制御部2200は、Codec内の各ハードウエアに対して内
部制御バスbを介してタイミングを供給し、また各ハー
ドウエアの状態を入力して次に何を行うかを決定する部
分で、マイクロプログラムを中心に構成される。これに
ついては第4図を用いて詳細に説明する。 演算部2300は、ALU(Arithmetic Logic Unit:算術・
論理演算部)とレジスタ群等から成り、変化点のアドレ
スから、ランレグスRLを求めたり、参照ラインと符号化
ラインとの変化から位置の相対差を求めたり、その逆の
演算を行う部分である。これについては第5図を用いて
詳細に説明する。 ビデオアドレス(Video Address:VA)発生部2400は、
画像信号を記憶するビデオメモリ(Video Memory:VM)
に対して、ビデオアドレス(Video Address:VA)信号d
−10を発生する部分である。これについては第6図を用
いて詳細に説明する。 テーブル(Table)部2500は、MH符号及びMR符号の符
号化テーブル及び復号化テーブルから成り、演算部2300
からのRLや相対差と、制御部2200からのモード信号を入
力してMH符号やMR符号に変換したり、その逆を行う部分
である。これについては第8図,第9図,表1〜表3を
用いて詳細な説明を行う。 変化点検出部2600は、参照ライン及び符号化ラインの
画像信号を複数ビツトを1ワードとして記憶しているメ
モリーからワード単位で画像信号を取り込み、ワード内
の変化点の位置(ビツトアドレスと呼ぶ)をパラレル処
理で検出する部分である。これについては第10図,第11
図,表4を用いて詳細に説明する。 画像信号復元部2700は、復号化ライン上のとなり合つ
た2つの変化点のビツトアドレスと、2つの変化点間に
ワードアドレスの差があるか否かの情報と、変化点間の
画像信号の色情報から、ワード単位でパラレルに画像信
号を復元する回路である。これについては第12図,第13
図,表5を用いて詳細に説明する。 ビデオバスインターフエイス(Video Bus Interface:
VBUSI/F)2800は、画像信号を記憶しているVMに対する
インターフエイス信号及び、ビデオバス(Video Bus:VB
us)を制御する信号及び、外部装置からDMAで画像信号
を転送するための信号が入出力される。 信号d−1は、VBusをCodecが使うとき、VBusの使用
権の要求(Video Bus Request:BRQT)信号で、Codec以
外にも、VBus使用権を持つものがある場合に出力され
る。 信号d−2は、BRQT信号d−1に対する確認(Video
Bus Acknowledge:BACK)信号である。 信号d−3は、CodecのVBus使用中(Video Bus Enabl
e:VBE)を示す信号である。 信号d−4は、Codecと外部装置(通常メモリ)間で
画像信号の転送を行うとき、その転送タイミング(Vide
o Data Strobe:VDS)信号である。 信号d−5は、Codecと外部装置間でデータの転送を
行うとき、Codecから外部装置へのデータ転送(書込
み)か、外部装置からCodecへのデータ転送(読出し)
かを外部装置に知らせるビデオバス読出し/書込み(Vi
deo Bus Read/Write:VR/W)信号である。 信号d−6は、画像信号生成部(通常フアクシミリで
は読取部)からの画像信号のVMへの転送要求(Trasport
Data DMA Request:TDRQT)信号である。 信号d−7は、TDRQT信号に対する確認(Transport D
ata DMA Acknowledge:TDACK)信号である。 信号d−8は、画像信号を受信する装置(通常、フア
クシミリでは記録部)からの、画像信号の受信要求(Re
ceive Data DMA Request:RDRQT)信号である。 信号d−9は、RDRQTに対する確認(RDRQT Acknowled
ge:RDACK)信号である。 信号d−10は、ビデオメモリVMに対するCodecからの
ワードアドレス(Video Memory Word Address:VA)信号
である。 信号d−11はVMとCodec間で、画像信号をワード単位
で転送するビデオデータバス(Video Data Bus:VDBus)
である。 第4図は、制御部2200の構成を詳細に説明する図であ
る。命令レジスタ(Instruction Register:IR)2210
は、外部制御装置(通常マイコン)からのMH符号化命令
等のマクロ命令を受けるレジスタである。マツピングRO
M(Read Only Memory)2220は、命令レジスタIR2210に
格納されたマクロ命令から、そのマクロ命令を解読して
実行するマイクロプログラムを記憶しているROM2240の
先頭アドレスを発生するものである。シーケンサ2230
は、マイクロプログラムROM2240のアドレスを発生する
もので、割り込み制御,サブルーチン制御,ジヤンプア
ドレス発生等を行う。パイプラインレジスタ2250は、マ
イクロプログラムROM2240からのマイクロ命令を格納す
るレジスタである。パイプラインレジスタ2250の出力
は、内部制御バスbを介して各ハードウエアに動作指令
として供給される。また、その一部はシーケンサ2230に
もフイードバツクされ、たとえば割り込み許可/不許可
といつたふうにシーケンサ2230も制御する。ステイタス
レジスタ(Status Register:SR)2260は、Codecの内
部状態を記憶するレジスタで、処理の終了状態や、デー
タ バツフア レジスタ(Data Buffer Register:DBR)
2280のレデイ(Ready)状態をマイコンに知らせる。シ
ステム コントロール レジスタ(System Control Reg
ister:SCR)2270は、Codecのシステムを制御する信号を
格納するレジスタで、マイコンによつて書き込まれる。
例えば、CodecがVBusを独占しているか否かや、Codecを
ウエイト(Wait)状態にしたり、1ライン単位の処理
か、マルチライン(ページモード:Page Mode)単位の処
理かの制御等が、このレジスタで行われる。マルチプレ
クサ(MPX)2290は、Codecがアイドル状態(何もやる処
理がない)や、Wait状態時に、外部制御バスCの一部を
内部制御バスbにつなぎ、その他の状態時は、パイプラ
インレジスタ2250からの信号を内部制御バスbにつなぐ
スイツチである。これにより、マイコンが、内部制御バ
スbによつて制御されているCodec内のレジスタをアク
セスすることができる。DBR2280は、VDBusの信号d−11
とDBusの信号a−5との間のデータ転送を行うもので、
マイコンからIR2210にシステムバス(System Bus:SBu
s)とVBus間のデータ転送指令を受けると、たとえば、V
BusからSBusへの転送時は、画像信号VDをDBR2280にセツ
トし、SR2260のDBRレデイフラグをオン(ON)してマイ
コンに知らせる。マイコンは、DBR2280をリードしてVD
を得る。転送方向がこの逆の場合も同様である。この動
作については後で詳述する。 このように、制御部2200は、マイクロプログラミング
制御方式を用いているため、柔軟な処理が可能で、また
タイミングはこの部分で集中して制御しているためLSI
化時の設計が容易であるという効果がある。 第5図は、演算部2300を詳細に説明したものである。
レジスタフアイル2310は、例えば2ポートRAM(2Port R
andom Access Memory)等で構成でき、各種の信号を記
憶するものである。以下、ここでは1ワード=1バイト
の場合で説明を進める。レジスタフアイル2310には、符
号化時は符号化ラインの、復号化時は復号化ラインのア
ドレスとなる仮想アドレスレジスタAチヤンネル(Virt
ual Address Register Achannel:VARA)、参照ラインの
アドレスとなる仮想アドレスレジスタBチヤンネル(VA
RB)、読取部や記録部とVM間で画像信号をDMA転送する
ときのライン(転送ライン)のアドレスとなる仮想アド
レスレジスタCチヤンネル(VARC)、符号化ラインある
いは符号化ラインの変化点の位置を記憶する一時記憶ア
ドレスレジスタA(Temporal Address Register A:TAR
A)、参照ラインの変化点のアドレスを記憶する一時記
憶アドレスレジスタB(TARB)がある。これらのレジス
タに格納されるアドレスは、ラインの始端を仮想的にゼ
ロアドレスとした仮想アドレスである。また、ワードア
ドレスとビツトアドレスの両方を記憶するものである。
演算部2300では、全てこの仮想アドレスを用いている。
仮想アドレス方式の採用により、参照ラインの変化点と
符号化ラインの変化点の相対的アドレス差を求める場合
に高速に求めることができるという効果がある。また、
水平方向分のアドレス領域だけ記憶できる容量を持てば
十分であるため、レジスタフアイルを小さくでき、か
つ、ALU2350を小さくできるという効果がある。また、
一つのレジスタでビツトアドレスとワードアドレスの両
方を記憶しているため、ワード単位で画像信号をハンド
リングしているにもかかわらず、2つの変化点の距離
が、ビツト単位で高速に求まるという効果がある。レジ
スタフアイル2310には、この他に、1ラインの画素数を
記憶するターミナルレジスタA,Bチヤンネル(Terminal
Register A,B Channel:TRAB)、ターミナルレジスタC
チヤンネル(TRC)と、画面の水平方向の画素数を記憶
する水平画素数レジスタ(Hozizontal Width Register:
HWR)と、処理すべきライン数を記憶するライン数レジ
スタ(Line Number Register:LNR)と、1ラインの最小
符号ビツト数を記憶する最小符号長レジスタ(Minimum
Code Length Register:MCLR)と、Codecのワーキング用
のレジスタA(General Register A:GRA)、レジスタB
(General Register B:GRB)がある。これらのレジスタ
群の使用方法の詳細についてはマイクロプログラムフロ
ーの説明時に行う。Aラツチ2320及びBラツチ2330は、
レジスタフアイル2310のAポート及びBポートからの出
力をラツチするものである。Aマスク2341及びBマスク
2342はそれぞれAラツチ2320及びBラツチ2330からの出
力のうちビツトアドレスをゼロにマスクするか、あるい
はマスクせずにビツトアドレスを通すかを制御するもの
である。MPX2344は、ALU2350のAポートへの出力を、A
ラツチ2320の出力とするか、テーブル部2500の出力とす
るかを選択するものである。MPX2343は、ALU2350のBポ
ートへの出力をBラツチ2330の出力とするか、8とする
かを選択するものである。ALU2350は、AポートとBポ
ートから入力したデータを演算するもので、例えばA−
Bを出力するといつたものである。ALUSR2360は、ALU23
50の演算結果の状態を記憶するレジスタで、例えば、ゼ
ロフラグやオーバフローフラグやアンダフローフラグ等
である。等価比較器2370は、ALU2350の出力と、Bラツ
チ2330の出力が等価か否かを判定する回路で、例えばA
ラツチ2320にVARAの内容をラツチし、Bラツチ2330にTR
ABをラツチし、ALU2350のAポートにAラツチ2350の出
力でマスクされたものを入力し、Bポートに8を入力し
て、(Aポート+Bポート)を実行してVARAのワードア
ドレスをインクリメントしたとき、TRABと一致したか否
かを判定することができ、ライン端(Line End)が判定
できる。MPX2381は、レジスタフアイル2310へ書き込デ
ータの下位3ビツトを、ALU2350の出力とするか、変化
点検出器2600からの変化点ビツトアドレスとするかを選
択するものである。これにより、変化点のビツトアドレ
スが高速にレジスタフアイル2310に記憶できる効果があ
る。MPX2382は、レジスタフアイル2310への書き込みデ
ータをDBusのデータとするかALU2350の出力とするかを
選択するものである。これによりTRAB,TRC,HWR,LNR,MCL
Rは、マイコンから直接パラメータとして設定できる。
このため、Codecは柔軟な処理が可能となる。例えば、T
RABの値をTRCの値より小さく設定すると、読取部からの
画像信号の一部を符号化できる。これらの更に詳しい説
明はマイクロプログラムフローを説明するときに行う。 第6図はビデオアドレス発生部2400を詳細に説明する
ものである。レジスタフアイル2410は、符号化あるいは
復号化ラインの始端のVMの実ワードアドレスを記憶する
スタートアドレスレジスタA(Start Address Registe
r:SARA)と、参照ラインの始端のVMの実ワードアドレス
を記憶するスタートアドレスレジスタB(SARB)と、転
送ラインの始端のVMの実ワードアドレスを記憶するスタ
ートアドレスレジスタC(SARC)から成る。アダー2420
は、レジスタフアイルの中のラインのスタートアドレス
と演算部2300からの仮想ワードアドレス(Virtual Word
Address)を加算して、VMの実ワードアドレス(ビデオ
アドレス:Video Address)を生成する。このビデオアド
レスは、アドレスラツチ2430にラツチされ、VABusに出
力される。スタートアドレス(Start Address)と仮想
アドレス(Virtual Address)とにより任意のビデオア
ドレスを発生できる。MPX2450は、レジスタフアイル241
0への書き込みデータをVABUSd−11上の信号とするか、D
BUSa−5上の信号とするかを選択するものである。1ラ
イン分の処理が終了する毎に、マイコンに制御が移るモ
ード(ラインモードと呼ぶ)時は、1ライン毎にマイコ
ンから直接スタートアドレスの設定をうける。これに対
し、LNRに設定されたライン数分を連続して処理するモ
ード(ページ(Page)モードと呼ぶ)時は、ページの先
頭でマイコンからスタートアドレスの設定をうけるだけ
で、後は、ライン毎にCodecが、レジスタフアイル2410
のスタートアドレスとレジスタフアイル2310内のHWRの
内容とを加算し、これを次のスタートアドレスとして記
憶することにより、ページモード処理が実現できる。こ
の場合、マイコンは、1ページに1回スタートアドレス
を設定するだけあとは全てCodecが行うため、マイコン
の負荷が小さくなるという効果がある。また、HWR及びL
NR及びTR及びSARに適当な値を設定することにより、Cod
ecを用いて1画面内の任意の矩形領域を高速に処理する
ことができる。第7図は、このことを示すものである。
図でHWは、画面の水平方向の幅でこれをHWRに設定す
る。LNは、処理すべきライン数でLNRに設定する。Tは
1ラインの処理すべき画素数でTRに設定する。SAは、ペ
ージの先頭のVMのスタートアドレスでSARに設定する。
しかる後に、マイコンからマクロコマンドを受けると、
Codecは、第7図の斜線部を連続して処理できる。 第8図は、テーブル部2500のうち、符号化テーブル部
の詳細を説明するものである。ラツチ2501は、ALU2350
の演算結果をラツチするものである。モード判定回路25
02は、ALU2350の演算結果より符号化時のモード(例え
ば、MH符号化時は、RLが64以上か未満か)を判定し、シ
ーケンサ2230に伝える。アドレス発生回路2503は、内部
制御Busからの信号及びラツチ回路2501にラツチされたA
LUの演算結果を元に、符号化テーブルROM(Encoding Ta
ble ROM)2504への適切なアドレスを発生する。符号化
テーブルROM2504の出力は、シフトレジスタ2505にロー
ドされ、1ビツト単位でシフトして順にシリアル/パラ
レル(Serial/Parallel:S/P)変換器2507に送られる。S
/P変換器2507に8ビツト生成されるとフアーストイン/
フアーストアウト(First In First Out:FIFO)メモリ2
508に書き込まれる。S/P変換器2507に8ビツトの符号が
生成されるのをカウントするのは、演算部2300のGRBとA
LU2350である。このように、カウンタを持たず、ALUと
レジスタでカウントしているため、タイミングが集中管
理でき、タイミング制御が容易であるという効果があ
る。ターミネート検出回路2506は、シフトレジスタ2505
に入つた符号の終端を検出するもので、これについては
後ほど詳述する。FIFOメモリ2508は、符号転送効率を上
げるためのものである。FIFOメモリ2508に符号がセツト
されると、外部制御Busを介して、DRQTが出力される。D
MACが接続されている場合は、DACKによってFIFOメモリ2
508がアクセスされる。DMACが接続されていない場合
は、マイコンがFIFOメモリ2508を直接リードすることに
より、符号を得ることができる。このように、符号が直
接DBus上に出力されるため、システム設計が容易となる
効果がある。また、パラレルに符号が転送されるため、
タイミングが容易でかつ高速であるという効果がある。 表1は、符号化テーブルROM2504を説明するものであ
る。アドレス欄のRL及び差は、ALU2350の演算結果が、
アドレスとなつているものである。他の部分は、内部制
御Busからの信号によりアドレス発生回路2503が生成し
たものである。このようにALU2350の演算結果が直接に
テーブルのアドレスとなるため、高速に符号化テーブル
を引くことができる。 表2はMH符号でRLが4である符号(1011)を符号を例
にとり、テーブルを用いて符号化し、S/P変換器2507に
送り、符号の終結をターミネート検出回路2506で検出す
る手法を説明するものである。白のRLが4(=(100)
2)であるという演算結果がALU2350で得られると、テ
ーブルのアドレスは(000000100)2となる。このと
き、テーブル2504には、上位ビツトから順に(10111000
000000)2というデータが入つている。この上位4ビツ
トは符号で、その次のD9ビツトの「1」は、符号の終端
を示すものである。シフトレジスタ2505には、この値が
ロードされる。このシフトレジスタ2505は、シフトパル
スを入力すると、最下位ビツトに「0」をつめていくタ
イプのものである。シフトする毎にシフトレジスタ2505
の最上位ビツトがS/P変換器2507にシフトされていく。
4回シフトすると(10000000000000)2となるが、この
パターンをターミネート検出回路2506に入力されると、
終了(Terminate)であると検出し、その旨シーケンサ
に知らせる。シフト回数を演算部2300のGRAでカウント
し、1ライン分の符号化処理終了時に、GRAに記憶され
ている。1ライン分の総符号ビツト数と、MCLRの最小符
号ビツト数とを比較し、フイル(Fill)符号の数を制御
できる。 第9図は、復号化テーブル部を詳細に説明するもので
ある。FIFO2510は、符号受信バツフアである。パラレル
/シリアル(P/S)変換部2511は、8ビツト単位で受信
した符号を1ビツト毎順次ライン端(End of Line:EO
L)検出回路2512及びアドレス発生回路2513に供給する
ものである。P/S変換器2511に付随して必要なカウンタ
の機能は、演算部2300のGRBが実行する。このため、独
自でタイミングを有するカウンタが不要である。EOL検
出回路2512は、12ビツトのS/P変換器と、S/P変換器の出
力が(000000000001)2と一致するか否かを検出するゲ
ートから成り、受信した符号パターンがEOLか否かを判
定するものである。EOL検出回路2512を独立して設ける
ことにより、伝送路誤りが発生して符号語のきれ目を誤
つて認識したとしても確実にかつ高速にEOLを検出でき
るという効果がある。アドレス発生回路2513は、復号化
テーブルROM(Decoding Table ROM)2514のアドレスを
発生するもので、復号化テーブルROM2514の先頭アドレ
ス作成や、受信符号と復号化テーブルROM2514の出力か
ら次のアドレスを作成を行う。復号化方式はツリーサー
チ方式を用いており、これについては特願昭55−174592
号に詳しく述べているのでここでは表3を用いて簡単に
説明するにとどめる。ラツチ2515は、復号化テーブルRO
M2514の出力を一時記憶するものである。 表3は、復号化テーブルROM2514を説明するもので、
ツリーサーチ方式で復号化を行うのに好適なように作成
している。復号化テーブルROM2514は、大きく分けて3
つの部分にアドレスが分割されている。すなわち、MH白
符号の部分と、MH黒符号の部分と、MR符号の部分であ
る。復号化テーブルROM2514の内容は、復号が未終了す
なわち符号語の途中の状態時は次にアクセスすべきアド
レスの一部であり、符号語が完結し復号が終了したとき
は、その符号のもつ情報である。シーケンサ2230は、符
号1ビツトにつき1回復号化テーブルROM2514をサー
チ、その出力から復号化した符号の持つ意味を知る。復
号化した符号の持つ情報は、MPX2344を介して直接ALU23
50のAポートに入つているため、高速に変化点の位置を
求めることができる。 第10図は、変化点検出部2600を詳細に説明するもので
ある。参照ライン変化点検出器2610と符号化ライン変化
点検出器2620から成り、この2つの動作はほぼ同じであ
るから、参照ライン変化点検出器2610について説明す
る。 MPX2614は、VDBusからのデータVDと、VDBusからのデ
ータを反転させた▲▼と、ラツチ2617からのデータ
のうち1つを選択するものである。マスク回路2616は、
MPX2614から入力したデータを、ビツトアドレスBAが示
すビツトまで「1」にぬりつぶす回路で第11図を用いて
詳細を説明する。ラツチ2617は、マスク回路2616からの
出力を一時記憶するものである。プライオリテイエンコ
ーダ2618はラツチ2617から入力したデータに存在する最
下位の「0」の位置を検出するものである。データに
「0」が存在すると参照ライン変化点フラグを「1」に
して、変化点が存在することをシーケンサ2230に知らせ
る。また、「0」の存在した位置が変化点ビツトアドレ
スとして演算部2300に出力される。このビツトアドレス
は直接レジスタフアイル2310に入力されるため、高速に
変化点のビツトアドレスを記憶できる効果がある。また
この変化点ビツトアドレスはMPX2619を介してマスク回
路2616にビツトアドレスBAとして出力される。MPX2619
は、演算部2300のBラツチ2330からのBポートビツトア
ドレス(B−Port Bit Address)と、プライオリテイエ
ンコーダ2618からの変化点ビツトアドレスとを選択する
もので、参照ラインの変化点の検出開始ビツトアドレス
を符号化ラインの変化点のビツトアドレスをからにした
いとき(これを、参照ラインアドレス戻しと呼ぶ)の
み、Bポートビツトアドレスが選択される。これについ
ては、マイクロプログラムフローで詳細に説明する。排
他OR(EXOR)2611は、符号化開始点(a0と呼ぶ)の色
と、参照ラインの変化点(b1とb2があり、b1はa0の真上
より右のa0と反対色の変化点、b2はb1より右のa0と同色
の変化点)のうちb1を検出するのかb2を検出するのかを
選択する1/b2信号を受け、MPX2614を制御する。ゲー
ト2612は、変化点フラグが「1」でかつ参照ラインアド
レス戻しが「0」のときのみ、MPX2614の入力データを
ラツチ2617の出力とするものである。ORゲート2613は、
変化点フラグが「1」かあるいはアドレス戻しが「1」
のとき、マスク回路2616をイネーブルにするものであ
る。第11図は、マスク回路2616を詳細に説明するもの
で、デコーダ2616−1とNANDゲート2616−2〜2616−9
から成る。 表4は、この変化点検出器の動作例を示したものであ
る。初期条件として、VD=(00111000)2、a0色=0,
1/b2=0,参照ライン変化点フラグ=0,参照ラインアドレ
ス戻し=0とする。第1回目のラツチ時は、初期条件よ
りEXOR2611及びゲート2612の出力は、共に「0」である
ため、マスク回路2616への入力データは、VDとなる。ま
たマスク回路イネーブル信号Eは、「0」であるため、
マスク回路2616の出力は、入力データを単に反転したも
のとなる。よつてラツチ2617には(11000111)2がラツ
チされる。よつてプライオリテイエンコーダ2618の出力
は、参照ライン変化点フラグ=「1」、参照ライン変化
点ビットアドレス=「3」となる。第2回のラツチ時
は、参照ライン変化点フラグが「1」となつているた
め、ゲート2612の出力が「1」となりマスク回路2616へ
の入力データはラツチ2617の出力データ(11000111)2
となる。マスク回路イネーブル信号Eは「1」となつて
いるため、マスク回路2616は入力データを反転し、かつ
参照ライン変化点ビツトアドレスが示すビツト位置まで
「1」にぬりつぶしたデータ(00111111)2を出力す
る。よつて変化点ビツトアドレス6を得る。以下同様に
して、変化点がなくなるまでラツチをくり返すことによ
り、変化点ビツトアドレスを得ることができる。以上の
説明から明らかなように、この変化点検出器は8ビツト
内の任意の位置の変化点のビツトアドレスを1回のラツ
チで検出することができ、ラツチしたあと1ビツト毎に
調べる方式に比べ高速に変化点を検出できるという効果
がある。また、変化点のビツトアドレスを調べるのにカ
ウンタを用いていないため、タイミング制御を全て制御
部2200にて行えるため、設計が容易で、LSI向きである
という効果がある。 第12図,第13図及び表5は画像信号復元部2700を詳細
に説明するものである。 画像信号復元回路2701は、復元開始点及び終了点のビ
ツトアドレスを演算部2300からのAポート及びBポート
のビツトアドレスから入力し、復元開始点と終了点のワ
ードアドレス差をALU2350の演算結果より入力し、復元
データを生成するもので、第13図はその詳細回路を示
し、表5はその真理値表である。ワードアドレス差は、
Aラツチ2320に復元開始点のアドレスをラツチし、Bラ
ツチ2330に復元終了点のアドレスをラツチし、Aマスク
2341及びBマスク2342をオンにして、この2つのアドレ
スをALU2350に入力し、(B−A)を実行した結果がゼ
ロか否かで得ることができる。このように、ビツトアド
レスをマスクする回路2341,2342を演算部2300に設けた
ことにより、フアイルレジスタ2310には、ビツトアドレ
スとワードアドレスの両方が記憶されているにもかかわ
らず、1回の演算結果で高速にワードアドレス差の有無
を判定できる効果がある。第13図は画像信号復元回路27
01の詳細回路図で、デコーダ2701−1及び2701−2とAN
Dゲートから成る。この回路の動作は、表5に示す真理
値表のようになる。 すなわち、a0の色が「0」の場合は、出力は全て
「0」となり、a0の色が「1」で、ワードアドレス差が
ない場合は、Aポートビツトアドレスの値をx,Bポート
ビツトアドレスの値をyとするとDx〜Dy_1までを
「1」とし、他は「0」となり、a0の色が「1」でワー
ドアドレス差がある場合、Dx〜D7までを「1」となり、
他は「0」となる。これより、ワード内の復元画像信号
は1回の演算で生成できる。これは、カウンタを用いて
1ビツト毎に生成する方式に比べ、高速でかつタイミン
グ制御が容易であるという効果がある。一時記憶レジス
タ2702は、1つ前に復元した画像信号を記憶するもの
で、メモリに1ワードの復元画像信号が書き込まれると
クリアされる。論理和回路2703は、画像信号復元回路27
01の出力と、1時記憶レジスタ2702の出力の論理和をと
るもので、これにより1ワード内の画像信号が次々に復
元できる。ラツチ回路2704は、論理和回路2703からの1
ワードの復元画像信号をラツチし、VDBusに復元画像信
号を出力するものである。復元画像信号は、1ワード毎
にVMに書き込まれる。以上詳述したように、画像信号復
元部2700は、完全にパラレルに画像信号を復元するた
め、高速に画像信号を復元できるという効果がある。 以上、第3図から第13図及び表1から表5を用いて、
Codecのハード構成の詳細と、その動作の概略を説明し
た。次に、第14図から第16図を用いて、Codecの各種の
処理モードにおける動作を状態遷移図を用いて説明す
る。 第14図は、符号化及び復号化処理モード時の状態遷移
図である。SIはアイドル状態を表す。SI状態時に、マイ
コンから適当なパラメータの設定を受けた後に、マクロ
コマンド(例えばMH符号化コマンド)を入力すると、S1
の状態に遷移する。S1は所定の処理を1ライン分実行し
ている状態で、この時の動作の詳細はマイクロプログラ
ムフローの説明時に行う。1ライン分の処理が終了する
まではS1の状態で処理を実行しつづける。1ライン分の
処理が終了するとページモードでない場合は、処理終了
フラツグをオンしてSI状態に戻る。ページモード時は、
S2状態に移り、ここでSARの内容とHWRの内容を加算し、
これをSARに記憶させることによりスタートアドレスの
更新を行い、LNRをデクリメントしてページエンドの判
定を行う。LNRの内容がゼロでなければページ端(Page
End)でないと判定してS1状態に移る。ページ端の時
は、SIに戻る。このように、マイコンは1ラインあるい
は1ページに1回マクロコマンドを発行するだけで良い
ため、マイコンの負荷が軽減できる。 第15図は、VMリードのマクロコマンドを発行したとき
の、ラインモード時の状態遷移図である。このコマンド
は、マイコンのシステムバスと、ビデオバスが分離され
ているとき、マイコンがビデオバス上のVMをアクセスす
る場合に発行される。状態SIはアイドル状態である。こ
のとき、マイコンから適当なパラメータの設定を受けVM
リードコマンドを受けると、状態S1に移る。S1で、VBus
専有権をCodecが持つている場合、ただちに状態S2に移
る。状態S1でVBus専有権がない場合、BRQT信号を出力し
て、BACK信号を待つ。BACK信号が返つてくると状態S2に
移る。状態S2では、SARの内容とVARの内容を加算してビ
デオアドレスを出力し、VR/及びVDSを出力してVMから
VDを入力しDBRにラツチし、DBRレデイフラグをオンし、
BRQTを解除し、状態S3に移る。状態S3は、マイコンから
のDBRのリードあるいはDMACからのDACK信号入力を待
つ。DBRがアクセスされると、DBRレデイフラグをオフ
し、VARをインクリメントする。このとき、ライン端(L
ine End)であればSIに移り、ライン端でなければS1に
移る。このように、マイコンはDBRを介してVBus上のメ
モリをアクセスできる。しかも、ビデオアドレスはCode
cが出力するため、アドレス空間の小さいマイコンも大
規模なメモリをアクセスできる効果がある。また、ビデ
オアドレスはCodecが自動的にインクリメントするた
め、高速にVMをアクセスできるという効果がある。 第16図は、読取部あるいは記録部等とVM間のデータ転
送を行う場合の状態遷移図である。このデータ転送は、
マイコンからのマクロコマンドで実行するのではなく、
読取部あるいは記録部等からのTDRQTあるいはRDRQTによ
つて実行する。これらの信号は、シーケンサ2230に割り
込みとして入るため、第20図あるいは第21図に示した動
作を実行中もデータ転送可能である。状態SIは転送終了
フラグがオンとなつている状態である。このとき、マイ
コンからSARCにVMの先頭アドレスの設定を受けると状態
S1に移る。状態S1は、TDRQTあるいはRDRQTを受け付けら
れる状態である。状態S1で、TDRQT信号あるいはRDRQT信
号が入力されると状態S2に移る。状態S2は、CodecがVBu
s専有権を持つている場合は、何ら意味をもたず、ただ
しに状態S3に移る。CodecがVBus専有権を待つていない
場合、状態S2でBRQT信号を出し、BACK信号が返えるまで
この状態にとどまる。状態S2でBACK信号が返えると状態
S3に移る。状態S3では、TDACK信号あるいはRDACK信号を
出力し、読取部あるいは記録部等に対しデータ転送開始
を知らせ、状態S4に移る。状態S4では、ビデオアドレス
と、VR/と、VDSを出力してVDを転送した後、BRQTを解
除し、状態S5に移る。状態S5では、VARCをインクリメン
トする。このときライン端でなければ状態S1に移る。ラ
イン端でかつページモードでなければ、転送終了フラグ
をオンして状態SIに戻る。ライン端でかつページモード
であれば状態S6に移る。状態S6では、スタートアドレス
を更新し、LNRをデクリメントする。このときページ端
でなければ状態S1に移る。ページ端であれば、転送終了
フラグをオンして状態SIに戻る。以上詳述したように、
例えば符号化処理中にもデータ転送が行えるため、高速
処理が行えるという効果がある。またデータ転送は完全
なパラレル転送であるため、低速なメモリで高速にデー
タ転送できるという効果がある。 次に、MR符号化,復号化処理のマイクロプログラムフ
ローを用いて、Codecの内部動作を更に詳しく説明す
る。まず、MR符号の方式について第17図を用いて簡単に
説明する。 第17図は、MR符号の方式を説明するものである。
(イ)は変化点の定義を説明するもので、参照ラインと
符号化ラインの画素の状態を表している。斜線の入つた
画素は黒画素を表すものとする。図で、a0は符号化開始
点、a1,a2は符号化ラインの変化点を表す。b0は、a0の
真上参照ラインの点、b1はb0より右でa0と反対色の第1
番目の参照ライン変化点、b2は、b1より右で、a0と同じ
色の第1番目の参照ラインの変化点を表す。MR符号は、
大きく分けてパスモード(Pモードと略す)と垂直モー
ド(Vモードと略す)と水平モード(Hモードと略す)
に分かれる。(ロ)はPモードとなる場合を示してい
る。Pモードとは、a1が現れる以前にb1とb2が現われる
場合である。Pモード符号化を行うと、b2の真下が新し
いa0となる。 (ハ)は、垂直モードの例である。Pモードでなく、
かつa1とb1の距離の絶対値(相対アドレス差あるいは、
差とも呼ぶ)が3以下の場合である。a1とb1の差が
「0」のとき、V(0)符号となり、a1がb1より左にあ
る場合は、VL(差)符号となり、a1がb1より右にある場
合は、VR(差)符号となる。図のケースでは、VR(2)
と符号化される。符号化後は、a1が新しくa0となる。 (ニ)は、水平モードの例で、Pモードでなくかつa1
とb1の差が3を越える場合、H符号出力後a0とa1間のRL
をMH符号化し、次にa1とa2間のRLをMH符号化する。符号
化後は、a2が新しいa0となる。 表6は、MR符号化時の各レジスタの機能を示すもので
ある。VARAは、符号化ラインの現在走査中の仮想ワード
アドレスとビツトアドレスを記憶するものである。VARB
は参照ラインの走査点の仮想ワードアドレスとビツトア
ドレスを記憶するものである。TARAは、a0あるいはa1の
仮想ワードアドレスとビツトアドレスを記憶するもので
ある。TARBは、b1の仮想ワードアドレスとビツトアドレ
スを記憶するものである。GRAは1ラインの総符号ビツ
ト数カウント用である。GRBは、S/P変換器2507の8ビツ
トカウント用である。SARAは符号化ラインのデータを記
憶しているVMの走査開始点の実ワードアドレスである。
SARBは、参照ラインのデータを記憶しているVMの走査開
始点の実ワードアドレスである。 第18図から第23図は、MR符号化時のマイクロプログラ
ムのフローの一部である。VBus専有権を持つているもの
とする。Codecは、マイコンからMR符号化のマクロコマ
ンドをIR2210に受けると、シーケンサ2230は、処理6101
を実行するアドレスを出力してMR符号化処理を開始す
る。マイクロプログラムROM2240は、シーケンサ2230に
よつてアクセスされた処理6101を行うマイクロプログラ
ムのビツトパターンをパイプラインレジスタ2250に出力
し、処理が開始される。処理6101は、イニシヤライズ
で、例えばALU2350の出力をゼロにしてALUの出力をVARA
に書き込みVARAをクリアしたり、a0の色を白とすること
である。処理6102で、b1検出モードに設定する。これ
は、EXOR2611への信号1/b2を0とすることを意味する
(白=0とする)。処理6103では、VARBをAラツチ2320
にラツチし、SARBとAラツチ2320の出力を加算してアド
レスラツチ2430にラツチし、これをVABusに出力して、V
R/信号をリードにし、VDSを出力しVMをアクセスし
て、VDをラツチ2617にラツチする。この一連の動作を参
照ラインのVD入力と呼ぶことにする。同様にして、処理
6104で符号化ラインのVDを入力し、これをラツチ2624に
ラツチする。判定6105は変化点が存在したか否かを判定
するものである。プライオリテイエンコーダ2618及び26
25は、入力したVDに変化点が存在すればその旨シーケン
スに知らせている。よつてシーケンサは、変化点の有無
を判定でき、各処理ブロツクにジヤンプできる。変化点
がなければ、処理6106に移り、変化があれば判定6109に
移る。処理6106は、VARA及びVARBのワードアドレスをイ
ンクリメントする。例えば、VARAの場合、これをAラツ
チ2320にラツチし、Aマスク2341をONにしてこの出力を
ALU2350のAポートに入力し、Bポートに8に入力して
(A+B)を実行し、ALU2360の出力をVARAに書き込
む。これによりVARAのワードアドレスはインクリメント
され、かつVARAのビツトアドレスはクリアされる。ま
た、VARAをAラツチ2320にラツチするとき、同時にTRAB
をBラツチ2330にラツチしておくことにより、VARAをイ
ンクリメントしたとき、同時にライン端か否かを等価比
較器2370で判定される。VARBのインクリメントも同様に
して行われる。判定6107では、ライン端を判定し、Line
Endでなければ、すなわち等価比較器2370のライン端フ
ラグがONになつていなければ、シーケンサは、処理6103
に戻り、今まで述べた処理をくり返す。ライン端であれ
ば、処理6108でV(0)符号出力サブルーチンをコール
した後、ライン端処理に移る。ライン端処理は、Fillの
制御等で、ここでは省略する。判定6109及び判定6110で
変化点の状態を判定する。符号化ラインのみに変化点が
あつた場合は処理6201にジヤンプし、参照ラインのみに
変化点があつた場合は処理6301ジヤンプし、両方に変化
点が存在する場合は処理6401にジヤンプする。このよう
に、符号化ラインのビデオアドレスと参照ラインのビデ
オアドレスを交互に出力して走査するため、同一のVMに
符号化ラインと参照ラインが存在しても、あたかも符号
化ラインと参照ラインを同時に、かつ同じ相対位置で走
査しているのと同等の効果がある。もし、符号化ライン
の変化点を検出してから参照ラインの変化点を検出する
方法をとると、パスモードを符号化するのが遅くなる。
また参照ラインの変化点を検出してから符号化ラインの
変化点を検出する場合、b1がa1より右の方に遠く離れて
存在する場合、符号化が遅れる。 処理6201では、符号化ラインの変化点のビツトアドレ
スを記憶する。これは、VARAの内容をAラツチ2320にラ
ツチし、これをALU2350のAポートに入力し(A+0)
を実行し、フアイルレジスタ2310への入力下位3ビツト
を変化点検出部2600からの符号化ライン変化点ビツトア
ドレスとなるようにMPX2381を制御し、VARAに書き込む
ことによつて実現できる。これにより、VARAのビツトア
ドレスだけが、符号化ラインの変化点ビツトアドレスと
なり、ワードアドレスは変化をうけず、a1の位置がVARA
に記憶されたことになる。処理6202は、VARBのワードア
ドレスをインクリメントする。判定6203では、参照ライ
ンがライン端か否かを判定する。ライン端であれば、処
理6207に移りインクリメントされた値をb1としてTARBに
記憶する。ライン端でなければ、処理6204に移り参照ラ
インのVDを入力する。判定6205では参照ラインにb1が存
在したか否かを判定する。変化点がなければ、a1とb1の
差が8以上あることになるから、H符号化処理に移る。
このように、符号化ラインと参照ラインを並行して走査
できるため、参照ラインの変化点を検出する以前に、H
モードと判定できる効果がある。変化点があれば、処理
6206に移り、b1の位置をTARBに記憶する。これは、a1を
VARAに記憶した場合と同様の方法で実現できる。処理62
08では、(b1−a1=差)を実行する。これは、VARAをA
ラツチ2320にラツチし、TARBをBラツチ2330にラツチ
し、マスクをオフしてこれらの出力をALU2350のA及び
Bポートに入力し、(B−A)を実行することにより実
現する。ALU2350の出力はラツチ2501にラツチされ、モ
ード判定回路2502によつて差3か否かを判定される。
差が3以内であればVL符号化処理に移り、差が3を越え
ていればH符号化処理に移る。 判定6110で参照ラインのみに変化点があつた場合、処
理6301に移る。処理6301では、b1をTARBに記憶する。処
理6302でb2検出モードを設定する。処理6303では、参照
ライン変化点検出器2610のラツチ2617にラツチパルスを
出力することにより、処理6103で入力した参照ラインの
VDにb1以外にb2も存在するかどうかを検出する。この動
作をワード内変化点検出と呼ぶことにする。この動作
は、第10図,第11図及び表4を用いて詳しく説明したも
のである。判定6304では、b2が存在したか否かを判定し
ている。b2が存在すれば、a1以前にb1とb2の両方が存在
したことになり、P符号化処理に移る。b2が存在しなけ
れば処理6305に移る。処理6305及び処理6306で、VARB及
びVARAのワードアドレスをインクリメントする。判定63
07で、ライン端を判定し、ライン端であれば処理6319へ
移り、ライン端でなければ処理6308に移る。処理6308及
び処理6309で、参照ラインのVD及び符号化ラインのVDを
変化点検出器2600に入力してb2及びb1を検出する。変化
点がなければ処理6305に移る。参照ラインにのみ変化点
があれば、a1以前にb1とb2の変化点が存在したことにな
り、P符号化処理に移る。符号化ラインのみに変化点が
存在すれば、処理6313に移る。処理6313では、a1のビツ
トアドレスをVARAに記憶する。処理6314でVARAとTARBの
差を取ることにより(a1−b1=差)を求める。判定6315
で差が3以下か否かを判定する。差が3以下であればVR
符号化処理へ移り、3を越えていればH符号化処理へ移
る。判定6310から判定6312で参照ラインと符号化ライン
の両方に変化点があれば、処理6316に移る。処理6316で
は、VARAにa1を記憶し、VARBにb2を記憶する。処理6317
で(VARB−VARA)を実行し、a1とb2の位置関係を検出す
る。(b2−a1)が負、すなわちALU2350がアンダフロー
を起こしていれば、b2はa1より左にあつたと判定しP符
号化処理に移る。アンダフローを起こしていなければ処
理6314に移る。判定6307で、ライン端と判定されたと
き、処理6319に移る。処理6319では、ライン端のアドレ
スをa1の位置とみなし、このアドレスをVARAに記憶し、
(VARA−TARB)を実行して(a1−b1=差)を求める。差
が3以下であれば処理6327でVR符号出力サブルーチンを
コールした後、ライン端処理に移る。差が3を越えてい
れば、処理6321に移る。処理6321ではH符号出力サブル
ーチンをコールする。処理6322で、(VARA−TARA)を実
行して(a1−a0=RL)を得る。このRLはラツチ2501にラ
ツチされる。処理6323ではMH符号出力サブルーチンをコ
ールする。処理6324でa0の色を反転する。処理6325でAL
U2350の出力をゼロにしてこれをラツチ2501にラツチさ
せることにより(RL=0)を作り出す。処理6326でMH符
号出力サブルーチンをコールして(RL=0)を符号化
し、ライン端処理に移る。判定6110で、符号化ラインと
参照ライン共に変化点が存在した場合、処理6401に移
る。処理6401でa1をVARAに記憶し、処理6402でb1をTARB
に記憶する。処理6403で(VARA−TARB)を実行し、(a1
−b1=差)を算出する。差がゼロのとき、V(0)符号
化処理に移る。差が正であれば、b1よりa1が右に存在し
たこととなるため、a1より前にb2が存在するか否かを検
出する必要がある。よつて処理6407に移り、b2検出モー
ドとし、処理6408で参照ラインのワード内の変化点を検
出する。変化点があれば処理6412に移らなければ処理64
10に移る。処理6412でb2をVARBに記憶する。処理6413に
て(VARB−VARA)を実行することにより(b2−a1=差)
を求める。差が負であれば、b2はa1より左に存在したこ
とになるため、P符号化処理に移る。差が負でなけれ
ば、b2はa1以降に存在したことになり、処理6410に移
る。処理6410では、a1より左にb2が存在しないからPモ
ードでないと判定でき、(VARA−TARB)を実行して(a1
−b1=差)を求める。差が3以下であればVL符号化処理
に移り、3を越えていればH符号化処理に移る。判定64
06で差が負であれば、b1はa1より右に存在したことにな
り処理6415に移る。処理6415で、(TARB−VARA)を実行
することにより、(b1−a1=差)を求める。差が3以下
であればVR符号化処理に移り、3を越えていれば、H符
号化処理に移る。以上で、VMを走査して変化点を検出し
モードを判定する部分は終了した。次に各モードの符号
化処理の説明に移る。 H符号化処理は、処理6501から始める。処理6501でH
符号出力サブルーチンをコールする。処理6502で、(VA
RA−TARA)を実行して(a1−a0=RL)を求め、これを符
号化テーブル部2500のラツチ2501にラツチする。処理65
03ではMH符号出力サブルーチンをコールする。処理6504
でa0の色を反転する。処理6505でVARAの内容をTARAに移
し、a1をTARAに記憶する。処理6506で、符号化ラインの
ワード内の変化点を検出する。変化点があれば処理6513
に移る。変化点がなければ、処理6508に移る。処理6508
で、VARAのワードアドレスをインクリメントする。この
とき、Lin Endであれば処理6511に移る。Line Endでな
ければ、処理6510に移り符号化ラインのVDを入力して変
化点の有無を検出し、処理6507に移る。処理6511では、
ライン端の点をa2として、(VARA−TARA)を実行し、
(a2−a1=RL)を求める。処理6512で、MH符号出力サブ
ルーチンをコールし、ライン端処理へと移る。判定6507
で変化点が存在すれば、処理6513に移る。処理6513で、
符号化ラインの変化点のビツトアドレスをVARAに記憶す
ることにより、a2の位置を記憶する。処理6514で、(VA
RA−TARA)を実行し、(a2−a1=RL)を求める。処理65
14でMH符号出力サブルーチンをコールする。処理6522か
ら処理6527は、再び参照ラインと符号化ラインを並行し
て走査し、モードの判定処理に移るためのあと処理であ
る。まず、処理6522でa2の色を反転する。処理6523でVA
RAの内容をTARAに移すことにより、a1あるいはa2を新し
くa0として記憶する。処理6524では、参照ラインと符号
化ラインの走査アドレスずれを元に戻すために、TARAの
内容をVARBに移すことにより、a0とb0の位置を一致させ
る。処理6525でb1検出モードにする。処理6526では、TA
RAの内容をBラツチ2330にラツチし、VARBの内容をAラ
ツチ2320にラツチし、参照ライン変化点検出器2610の参
照ラインアドレス戻しをONにして、参照ラインのVDをラ
ツチ2617にラツチする。これにより、マスク回路2616が
動作し、Bラツチ2330のビツトアドレスすなわちa0のビ
ツトアドレスまで入力した参照ラインのVDはマスクされ
てラツチ2617にラツチされる。これにより、a0の真上す
なわちb0より右の変化点を検出できる。処理6526によ
り、参照ラインと符号化ラインの走査開始アドレスをビ
ツト単位で正確にかつ高速に一致させることができると
いう効果がある。処理6527で、符号化ラインのワード内
の変化点検出動作を行い、判定6105に移り再びモード判
定を開始する。次にVL符号化処理の説明を行う。VL符号
化処理は、処理6521から始まる。処理6521でVL符号出力
サブルーチンをコールし、処理6522に移る。処理6522以
下の処理は、すでに説明した。 次に、VR符号化処理を説明する。まず、処理6531でVR
符号出力サブルーチンをコールし、処理6522に移る。処
理6522以下は、すでに説明した。 次に、V(0)符号化処理に移る。まず、処理6541で
V(0)符号出力サブルーチンをコールする。処理6542
以下は、再びモード判定処理に移るための後処理であ
る。V(0)の場合、参照ラインと符号化ラインの走査
点は一致しているため、走査点を一致させるための特別
な処理は不要である。処理6542でa0の色を反転する。処
理6543でVARAの内容をTARAに移すことにより、a1を新し
くa0とする。処理6544で、参照ラインのワード内の変化
点を検出する。処理6545で符号化ラインのワード内の変
化点を検出し、判定6105に戻り、再びモード判定処理を
続ける。 次に、P符号化処理の説明を行う。処理6551でP符号
出力サブルーチンをコールする。処理6552で、VARBのビ
ツトアドレスにb2のビツトアドレスを書き込むことによ
り、b2の位置をb0の位置としてVARBに記憶する。処理65
53で、VARBの内容をTARAに移すことにより、a0とb0を一
致させ、b2の位置を新しくa0としてTARAに記憶する。処
理6555で、b1検出モードとし、処理6556で参照ラインの
ワード内変化点検出動作を行い、判定6105に戻る。 以上で、各モードの符号化処理の説明を終了する。次
に、各モードの符号出力サブルーチンの説明を行う。各
符号の出力は全て、符号化テーブル部2500を動作させる
ことにより行う。すなわち、ラツチ2501にラツチしたAL
U2350の出力、すなわちRLあるいは差と、モード判定を
行つた制御部2200からのモード信号によりアドレス発生
回路2503に特定のアドレスを発生させ、符号化テーブル
ROM2504をアクセスすることにより実現する。ここで
は、V(0)符号出力サブルーチンを例に説明し、他は
省略する。 V(0)符号出力サブルーチンは、処理6601から始ま
る。処理6601で、アドレス発生回路2503にV(0)符号
が格納されているアドレス(100000000)2を発生させ
る。処理6602で、符号化テーブルROM2504の内容をシフ
トレジスタ2505にロードする。V(0)符号は「1」と
定義されているため、シフトレジスタ2505には(110000
00000000)2がロードされることになる。最上位ビツト
はV(0)符号で、2ビツト目の「1」は終了検出用で
ある。判定6603で、シフトレジスタ2505の出力が(1000
0000000000)2であるか否かを検出することにより、終
了(Terminate)を検出するターミネート検出回路2506
からのターミネートフラグにより、終了を判定する。終
了であればリターンする。終了でなければ、処理6604に
移る。処理6604で、シフトレジスタ2505及びS/P変換器2
507にシフトパルスを出力し、シフトレジスタ2505の最
上位ビツトすなわちの場合、「1」をS/P変換器2507に
シフト入力させる。管理6605で、フアイルレジスタ2310
のGRAをAラツチ2320にラツチし、Aマスク2341をオフ
にしてALU2350に入力し、ALU2350で(A+1)を実行
し、この出力をGRAに書き込むことにより、GRAをインク
リメントし、総符号ビツト数のカウントを実行する。処
理6606で、GRBの内容を、処理6606と同様な手法でデク
リメントする。GRBは、S/P変換器2507に符号が8ビツト
生成されたか否かを判定するものである。判定6607で、
GRBの内容がゼロが否かを判定する。ゼロであれば、S/P
変換器2507に符号が8ビツト生成されたと判定でき、判
定6608に移る。判定6608で、FIFOメモリ2508が入力レデ
イから否かを判定する。入力レデイでなければ、待機
(Wait)する。入力レデイであれば、処理6609に移る。
処理6609で、FIF02508にS/P変換器2507の符号8ビツト
をロードし、処理6610で、AlU2350のBポートに8を入
力し、(O+B)を実行し、この出力をGRBに書き込む
ことにより、GRBに8をセツトする。次に判定6603に移
る。判定6603では、この場合、シフトレジスタ2505の内
容が(10000000000000)2となつているため、終了と判
定されリターンする。以上で、MR符号化処理のマイクロ
プログラムフローの詳細な説明を終了する。 次にMR復号化処理について表7、第24図から27図を用
いて説明する。 表7は、MR復号化処理時の各レジスタの機能を説明す
るものである。VARAは、復元データを復号化ラインのVM
に書き込む位置の仮想ワード及びビツトアドレスであ
る。VARBは、参照ラインの走査位置の仮想ワード及びビ
ツトアドレスである。TARAは、a1あるいはa2の仮想ワー
ド及びビツトアドレスである。GRBは、P/S変換器2511の
8ビツトカウント用である。SARA及びSARBは、それぞれ
復号化ライン及び参照ラインの先頭の実ワードアドレス
である。TRABは、1ラインの画素数である(ワード単
位)。復号化処理と並行して、記録部とVM間でVDの転送
を行えるが、ここには、VARC,TRC,SARCが割り当てられ
る。VARCは、転送ラインの仮想ワードアドレス、TRC
は、転送画素数で、ワード単位である。SARCは、転送ラ
インの先頭の実ワードアドレスである。SARAとSARC及び
TRABとTRCの値を任意に選ぶことにより、復元したVDを
ワード単位の任意の1部分を記録部に転送できる。 第24図〜第27図は、MR復号化処理のマイクロプログラ
ムである。処理7102及びAで示した範囲の処理はMR符号
を復号化してモードを判定する部分である。処理7101
は、ラインの先頭でのイニシヤライズである。たとえば
VARA及びVARBのクリアといつた処理である。処理7102
で、第19図に示す復号化テーブル部のアドレス発生回路
2513にMR符号復号化の先頭アドレスを発生させる。復号
化テーブルROM2514が、表3に示すような構成となつて
いるので、A9〜A1に「10000000」が発生する。判定7103
で、GRBの内容がゼロか否かを判定する。ゼロであればP
/S変換器2511に符号が存在しないと判定でき、判定7104
に移る。ゼロでなければ処理7107に移る。判定7104で、
FIFO2510に符号が存在するか否かを判定する。符号が存
在しなければ待機する。符号が存在すれば処理7105に移
る。処理7105でP/S変換器2511にFIFO2510の出力をロー
ドする。処理7106で、処理6610と同様にしてGRBに8を
セツトし、P/S変換器2511に符号が8ビツト存在するこ
とを記憶する。処理7107で、P/S変換器2511にシフトパ
ルスを出力し、P/S変換器2511の先頭の符号をEOL検出回
路2512及びアドレス発生回路2513にロードする。処理71
08で、P/S変換器2511の符号が1ビツト減少したことを
記憶するために、GRBをデクリメントする。判定7109でE
OLを判定する。これはEOL検出回路2512で実行される。E
OL検出回路2512はP/S変換器2511から入力される符号の
系列が「000000000001」であるか否かを判定するもの
で、S/P変換器とゲートで構成できる。EOLであればライ
ン端処理に移り、EOLでなければ処理7110に移る。処理7
110で、復号化テーブルROM2514をアクセスし、その出力
をラツチ2515にラツチする。判定7111で符号が完結した
か否かを判定する。これは、復号化テーブルROM2514が
表3に示すように構成されているため、ラツチ2515にラ
ツチした復号化テーブルROM2514の内容の最下位ビツト
が1か0かで判定できる。符号として完結していない場
合、処理7112に移る。処理7112で、ラツチ2515にラツチ
された復号化テーブルROM2514の内容のうち、D1〜D7を
アドレス発生回路2513にフイードバツクしA1〜A7として
用いる。次に判定7103に戻り、符号が完結するまでAで
示される範囲の処理を続ける。判定7111で符号として完
結したと判定されると、ラツチ2515にラツチされた復号
化テーブルROM2514の内容からMR符号のモードを判定
し、各モードの復号化処理プログラムに移る。 まず、P復号化処理を説明する。処理7201では、参照
ラインのVDを入力し、a0より右にある変化点b1を検出す
る。この処理は、処理6526を説明するときに詳しく述べ
た手法と同じである。変化点が存在すれば処理7206に移
る。変化点が存在しなければ処理7203に移る。処理7203
では、VARBのワードアドレスをインクリメントする。判
定7204で、VARBのワードアドレスをインクリメントした
値とTRABの値が一致、すなわちライン端となつたとき、
エラー処理に移る。ライン端でなければ、処理7205に移
る。処理7205で、参照ラインのVDを入力し、b1検出を行
い、判定7202に戻る。b1が検出されると処理7206に移
る。処理7206で、参照ラインのワード内の変化点b2を検
出する。判定7207で変化点が存在すれば処理7211に移
り、存在しなければ処理7208に移る。処理7208で、VARB
のワードアドレスをインクリメントする。判定7209でラ
イン端を判定し、ライン端であればエラー処理に移り、
ライン端でなければ処理7210に移る。処理7210で、参照
ラインのVDを入力しb2の検出処理を行い判定7207に移
る。処理7211で、VARBのワードアドレスと、参照ライン
の変化点ビツトアドレスをTARAに書き込む。処理7212で
画像信号復元サブルーチンをコールし、処理7102に戻
る。画像信号復元スルーチンは、VARAの示す位置からTA
RAの示す位置まで画像信号を復元するプログラムで、こ
れについては後で詳細に説明する。以上でP復号化処理
は終了である。 次にV(0)復号化処理を説明する。処理7213で、参
照ラインのVDを入力し、a0より右の変化点b1を検出す
る。判定7214で変化点の有無を判定し、変化点が存在す
れば処理7218に移り、存在しなければ処理7215に移る。
処理7215でVARBのワードアドレスをインクリメントす
る。判定7216でライン端を判定し、ライン端であれば、
ライン端をb1として処理7218に移る。ライン端でなけれ
ば処理7217に移る。処理7217で、参照ラインのVDを入力
し、b1検出を行い、判定7214に戻る。b1が存在すると、
処理7218に移り、VARBのワードアドレスと参照ラインの
変化点ビツトアドレスをa1としてTARAに書き込み、処理
7219で画像信号復元サブルーチンをコールする。処理72
20でa0の色を反転し、処理7102に戻る。以上でV(0)
復号化処理は終了である。 次にVL復号化処理について説明する。処理7301で、参
照ラインのVDを入力し、a0より右のb1を検出する。判定
7302で変化点が存在すれば処理7306に移り、存在しなけ
れば処理7303に移る。処理7303では、VARBのワードアド
レスをインクリメントする。判定7304でライン端を判定
し、ライン端であれば、ライン端をb1として処理7325に
移る。ライン端でなければ処理7305に移り、参照ライン
のVDを入力しb1を検出して判定7302に移る。変化点があ
れば処理7306に移り、参照ラインの変化点ビツトアドレ
スをVARBに記憶することにより、b1の位置をVARBに記憶
する。処理7325で、ラツチ2515にラツチされているb1と
a1の差をALU2350のAポートに入力し、VARBの値をBラ
ツチ2330にラツチし、Bマスク2342をオフにしてALU235
0のBポートに入力し、(B−A)を実行することによ
り(b1−差=a1)を求め、これをTARAに記憶する。この
ように、復号化テーブルの出力が直接ALU2350に入つて
いるため、高速にa1の位置を求めることができるという
効果がある。判定7326で、ALU2350の演算結果が負であ
ればエラーと判定する。判定7307で(TARA−VARA)を行
い、結果が負であればエラーと判定する。処理7308で画
像信号復元サブルーチンをコールする。処理7309で、VA
RAの内容をVARBに書き込むことにより、新しいa0とb0の
位置を一致させる。処理7310でa0の色を反転し、処理71
02に戻る。以上でVLの処理は終了である。 次にVR復号化処理を説明する。処理7311で参照ライン
のVDの入力し、a0より右の変化点b1を検出する。判定73
12で変化点が存在すれば処理7315に移り、変化点が存在
しなければ処理7322に移る。処理7322で、VARBのワード
アドレスをインクリメントする。判定7313でライン端を
判定し、ライン端であればエラー処理に移る。ライン端
でなければ、処理7314に移る。処理7314で、参照ライン
のVDを入力し、b1を検出し、判定7312に移る。変化点が
存在すれば、処理7315で、参照ライン変化点のビツトア
ドレスをVARBに記憶する。処理7316で復号化テーブルか
らの差とVARBを加算し、a1としてTARAに記憶する。判定
7317で、加算した結果がオーバフローであればエラー処
理に移る。オーバフローでなければ、処理7318で画像信
号復元サブルーチンをコールし、処理7319でTARAの内容
をVARBに移し、新しいa0とb0を一致させる。処理7320で
a0の色を反転し、処理7102に戻る。以上でV復号化処理
は終了である。 次にH復号化処理を説明する。処理7401でアドレス発
生回路2513に、MH符号の復号化の先頭アドレスを発生さ
せる。表3に示すような構成になつている場合、a0の色
が白であれば、A9〜A1を「000000000」とし、a0の色が
黒であれば「010000000」とすることである。処理7402
でAで示す領域の処理を行うことにより、MH符号を見つ
け出す。判定7403で、ラツチ2515にラツチされた復号化
テーブルROM2514のD7ビツトの判定を行い、「0」であ
れば終了コード(Terminating Code)と判定して処理74
06に移る。「1」であればメークアツプコード(Make C
ode)と判定し、処理7404に移る。処理7404で、ラツチ2
515の出力D1からD7をRLの26から211ビツトとしてALU235
0のAポートに入力し、TARAの内容と加算し、これをTAR
Aに書き込む。判定7405で、加算した結果がオーバフロ
ーか否かを判定し、オーバフローであればエラー処理に
移り、オーバフローでなければ処理7401に移る。 終了コードを検出すると、処理7406に移り、ラツチ25
15の出力D1〜D6をRLの20から25ビツトとしてALU2350の
Aポートに入力し、TARAの内容と加算しその結果をTARA
に書き込む。判定7407で、加算した結果がオーバフロー
が否かを判定し、オーバフローであればエラー処理に移
り、オーバフローでなければ処理7408に移る。処理7408
で画像信号復元サブルーチンをコールし、処理7409でa0
の色を反転する。処理7410で、Bで示す領域の処理を行
う。処理7411でTARAの内容をVARBに移し、新しいa0とb0
を一致させ、処理7102に移る。以上で全てのモードでの
復号化処理の説明は終了である。 次に画像信号復元サブルーチンの説明を行う。ここで
は、VARAにa0が記憶され、TARAにa1が記憶されている。
よつてVARAからTARAが示す位置までa0の色にすることで
ある。処理7412で、VARAとTARAのワードアドレス差を検
出する。これは、VARAをAラツチ2320にラツチし、TARA
をBラツチ2330にラツチし、Aマスク2341及びBマスク
2342をオンにして、ALU2350に入力し、B−Aを実行す
る。結果がゼロであればワード差になしである。このよ
うに、ビツトアドレスをマスクする回路が存在するた
め、高速にワードアドレス差が求まるという効果があ
る。また、このとき画像信号復元回路2701にワード差有
無信号及び書き込み開始、終了点のビツトアドレスが供
給されているため、処理7413でラツチ回路2704及び1時
記憶レジスタ2702にラツチパルスを出力するだけで、ワ
ード内の画像信号が高速に復元できるという効果があ
る。判定741でワードアドレス差の有無を判定し、ワー
ドアドレス差がなければTARAが示すa1の点まで画像信号
が復元できているため、リターンする。ワードアドレス
差があれば、処理7415に移る。ワードアドレス差があれ
ば、1ワードの画像信号がラツチ回路2704に復元できて
いるため、処理7415でラツチ回路の出力を、(VARA+SA
RA)のワードアドレスが示す番地に書き込むことにより
復号化ラインに画像信号を復元する。処理7416で一時記
憶レジスタ2702をクリアする。処理7417でVARAのワード
アドレスをインクリメントする。これは、VARAの内容を
Aラツチ2320にラツチし、TRABの内容をBラツチ2330に
ラツチしAマスク2341をONにしてALU2350のAポートに
入力し、ALU2350のBポートに8を入力して(A+B)
を実行し、その結果をVARAに書き込むため、VARAのワー
ドアドレスのインクリメントと同時にVARAのビツトアド
レスのクリア及び等価比較器2370によるライン端の検出
ができるという効果がある。判定7418でライン端か否か
を判定する。ライン端でなければ処理7412に戻り、画像
信号復元処理を続ける。ライン端であれば、判定7419に
移り、VARAとTARAが一致しているか否かを判定する。一
致していなければエラー処理に、一致していればライン
端処理に移る。 以上でMR復号書処理のマイクロプログラムフローの説
明を終了する。 第28図は、Codecとマイコン等でファクシミリを構成
した例である。 第28図は、マイコン8010のシステムバスとCodec2000
のビデオバスとを分離したシステム例である。画像信号
はVBus上で転送し、符号はシステムバス上で転送するた
め、高速に符号化,復号化処理ができるという効果があ
る。また、システムバス側にDMAC8060を用い、符号の転
送はこのDMAC8060によつて行うことができるため、更に
マイコン8010の負荷を軽減できるという効果がある。ま
た、VM8020は、マイコン8010のアドレス空間に無関係で
あるため、8ビツトマイコンの一般的なアドレス空間で
ある64キロバイト(K byte)の空間に制限されず、大規
模なVMを持つことができるという効果がある。例えば、
VA発生部2400内のハードウエアを24ビツト構成とするだ
けで、Codec2000のVA空間を16メガバイト(M byte)に
することができる。 以上、本発明をフアクシミリに用いる場合を例に説明
したが、MH符号あるいはMR符号、またはその両方を扱う
システムであれば何んでも良く、例えば画像フアイルシ
ステムなどに応用できる。また、リフレシユタイミング
を発生する回路及びリフレツシユアドレスを記憶するレ
ジスタを設けると、VMにリフレツシユRAMを用いること
ができる。 〔発明の効果〕 本発明によれば、画像用のバスに接続し得る第1のイ
ンタフェースと、符号用のバスに接続し得る第2のイン
タフェースを設けたことにより高速に符号化処理を行う
ことが可能となると共に、同一の画像メモリに参照ライ
ンと符号化ラインが存在する場合であっても、あたかも
参照ラインと符号化ラインを同時に且つ同じ相対位置で
走査しているのと同等の性能を得ることができる。
明する。 第3図は、本発明になる符号化,復号化装置(Code
c)の全体ブロツク図である。MPU I/F2100は、マイク
ロコンピユータ(マイコン)とインターフエイスを取る
もので、信号a−1〜信号a−10が入出力される。信号
a−1は、マイコンがCodecをアクセスするときのチツ
プセレクト(Chip Select:CS)信号である。信号a−2
は、マイコンとCodec間でデータの転送を行うときのタ
イミング(Data Strobe:DS)信号である。信号a−3
は、マイコンからのCodecに対する読み出しか書き込み
を制御するリードライト(Read/Write:R/W)信号であ
る。信号a−1〜信号a−3は、マイコンボードのコン
トロールバス(Control Bus:CBus)から入力される。信
号a−4は、マイコンからのアドレス(Address:A)信
号である。信号a−1〜信号a−4により、マイコンか
らCodec内部の各レジスタをアクセスするための信号C
(外部制御信号と呼ぶ)が作られる。信号a−5は、マ
イコンとCodec間でデータのやりとりを行う信号(Data:
D)で、マイコンのデータバス(Data Bus:DBus)と直結
する。信号a−6は、ダイレクトメモリアクセスコント
ローラ(Direct Memory Access Controller:DMAC)に対
して、外部回路(通常はメモリ)とCodecの内のメモリ
間で直接にデータを転送するダイレクトメモリアクセス
(Direct Memory Access:DMA)を要求するDMA要求(DMA
Request:DRQT)信号である。信号a−7は、DRQTに対
する確認(DMA Acknowledge:DACK)信号を受けるもので
ある。Codecは、DRQT信号を出力すると、DACK信号が返
るのを持ち、DACK信号が返つた後、DS信号のタイミング
に合わせてDataの入出力を行う。信号a−8は、マイコ
ンに対して割り込み要求(Interrupt Request:IRQ)を
行うもので、たとえば、1ライン分の処理が終了したと
きなどに用いられる。信号でa−9はリセツト(RESE
T)信号で、Codec内部が初期状態となる。信号a−10は
クロツク(CLK)信号で、Codec内の処理のタイミングの
源となる。これらの信号を用いてマイコンとインターフ
エイスする例は、通常市販されているマイコンと直結す
るLSIにあるので、ここでは、これ以上の説明は省略す
る。このようにCodecは、MPU I/F2100を持ち、マイコ
ンのバスと直結できるため、システム構成が容易でかつ
小型化できるという効果がある。 制御部2200は、Codec内の各ハードウエアに対して内
部制御バスbを介してタイミングを供給し、また各ハー
ドウエアの状態を入力して次に何を行うかを決定する部
分で、マイクロプログラムを中心に構成される。これに
ついては第4図を用いて詳細に説明する。 演算部2300は、ALU(Arithmetic Logic Unit:算術・
論理演算部)とレジスタ群等から成り、変化点のアドレ
スから、ランレグスRLを求めたり、参照ラインと符号化
ラインとの変化から位置の相対差を求めたり、その逆の
演算を行う部分である。これについては第5図を用いて
詳細に説明する。 ビデオアドレス(Video Address:VA)発生部2400は、
画像信号を記憶するビデオメモリ(Video Memory:VM)
に対して、ビデオアドレス(Video Address:VA)信号d
−10を発生する部分である。これについては第6図を用
いて詳細に説明する。 テーブル(Table)部2500は、MH符号及びMR符号の符
号化テーブル及び復号化テーブルから成り、演算部2300
からのRLや相対差と、制御部2200からのモード信号を入
力してMH符号やMR符号に変換したり、その逆を行う部分
である。これについては第8図,第9図,表1〜表3を
用いて詳細な説明を行う。 変化点検出部2600は、参照ライン及び符号化ラインの
画像信号を複数ビツトを1ワードとして記憶しているメ
モリーからワード単位で画像信号を取り込み、ワード内
の変化点の位置(ビツトアドレスと呼ぶ)をパラレル処
理で検出する部分である。これについては第10図,第11
図,表4を用いて詳細に説明する。 画像信号復元部2700は、復号化ライン上のとなり合つ
た2つの変化点のビツトアドレスと、2つの変化点間に
ワードアドレスの差があるか否かの情報と、変化点間の
画像信号の色情報から、ワード単位でパラレルに画像信
号を復元する回路である。これについては第12図,第13
図,表5を用いて詳細に説明する。 ビデオバスインターフエイス(Video Bus Interface:
VBUSI/F)2800は、画像信号を記憶しているVMに対する
インターフエイス信号及び、ビデオバス(Video Bus:VB
us)を制御する信号及び、外部装置からDMAで画像信号
を転送するための信号が入出力される。 信号d−1は、VBusをCodecが使うとき、VBusの使用
権の要求(Video Bus Request:BRQT)信号で、Codec以
外にも、VBus使用権を持つものがある場合に出力され
る。 信号d−2は、BRQT信号d−1に対する確認(Video
Bus Acknowledge:BACK)信号である。 信号d−3は、CodecのVBus使用中(Video Bus Enabl
e:VBE)を示す信号である。 信号d−4は、Codecと外部装置(通常メモリ)間で
画像信号の転送を行うとき、その転送タイミング(Vide
o Data Strobe:VDS)信号である。 信号d−5は、Codecと外部装置間でデータの転送を
行うとき、Codecから外部装置へのデータ転送(書込
み)か、外部装置からCodecへのデータ転送(読出し)
かを外部装置に知らせるビデオバス読出し/書込み(Vi
deo Bus Read/Write:VR/W)信号である。 信号d−6は、画像信号生成部(通常フアクシミリで
は読取部)からの画像信号のVMへの転送要求(Trasport
Data DMA Request:TDRQT)信号である。 信号d−7は、TDRQT信号に対する確認(Transport D
ata DMA Acknowledge:TDACK)信号である。 信号d−8は、画像信号を受信する装置(通常、フア
クシミリでは記録部)からの、画像信号の受信要求(Re
ceive Data DMA Request:RDRQT)信号である。 信号d−9は、RDRQTに対する確認(RDRQT Acknowled
ge:RDACK)信号である。 信号d−10は、ビデオメモリVMに対するCodecからの
ワードアドレス(Video Memory Word Address:VA)信号
である。 信号d−11はVMとCodec間で、画像信号をワード単位
で転送するビデオデータバス(Video Data Bus:VDBus)
である。 第4図は、制御部2200の構成を詳細に説明する図であ
る。命令レジスタ(Instruction Register:IR)2210
は、外部制御装置(通常マイコン)からのMH符号化命令
等のマクロ命令を受けるレジスタである。マツピングRO
M(Read Only Memory)2220は、命令レジスタIR2210に
格納されたマクロ命令から、そのマクロ命令を解読して
実行するマイクロプログラムを記憶しているROM2240の
先頭アドレスを発生するものである。シーケンサ2230
は、マイクロプログラムROM2240のアドレスを発生する
もので、割り込み制御,サブルーチン制御,ジヤンプア
ドレス発生等を行う。パイプラインレジスタ2250は、マ
イクロプログラムROM2240からのマイクロ命令を格納す
るレジスタである。パイプラインレジスタ2250の出力
は、内部制御バスbを介して各ハードウエアに動作指令
として供給される。また、その一部はシーケンサ2230に
もフイードバツクされ、たとえば割り込み許可/不許可
といつたふうにシーケンサ2230も制御する。ステイタス
レジスタ(Status Register:SR)2260は、Codecの内
部状態を記憶するレジスタで、処理の終了状態や、デー
タ バツフア レジスタ(Data Buffer Register:DBR)
2280のレデイ(Ready)状態をマイコンに知らせる。シ
ステム コントロール レジスタ(System Control Reg
ister:SCR)2270は、Codecのシステムを制御する信号を
格納するレジスタで、マイコンによつて書き込まれる。
例えば、CodecがVBusを独占しているか否かや、Codecを
ウエイト(Wait)状態にしたり、1ライン単位の処理
か、マルチライン(ページモード:Page Mode)単位の処
理かの制御等が、このレジスタで行われる。マルチプレ
クサ(MPX)2290は、Codecがアイドル状態(何もやる処
理がない)や、Wait状態時に、外部制御バスCの一部を
内部制御バスbにつなぎ、その他の状態時は、パイプラ
インレジスタ2250からの信号を内部制御バスbにつなぐ
スイツチである。これにより、マイコンが、内部制御バ
スbによつて制御されているCodec内のレジスタをアク
セスすることができる。DBR2280は、VDBusの信号d−11
とDBusの信号a−5との間のデータ転送を行うもので、
マイコンからIR2210にシステムバス(System Bus:SBu
s)とVBus間のデータ転送指令を受けると、たとえば、V
BusからSBusへの転送時は、画像信号VDをDBR2280にセツ
トし、SR2260のDBRレデイフラグをオン(ON)してマイ
コンに知らせる。マイコンは、DBR2280をリードしてVD
を得る。転送方向がこの逆の場合も同様である。この動
作については後で詳述する。 このように、制御部2200は、マイクロプログラミング
制御方式を用いているため、柔軟な処理が可能で、また
タイミングはこの部分で集中して制御しているためLSI
化時の設計が容易であるという効果がある。 第5図は、演算部2300を詳細に説明したものである。
レジスタフアイル2310は、例えば2ポートRAM(2Port R
andom Access Memory)等で構成でき、各種の信号を記
憶するものである。以下、ここでは1ワード=1バイト
の場合で説明を進める。レジスタフアイル2310には、符
号化時は符号化ラインの、復号化時は復号化ラインのア
ドレスとなる仮想アドレスレジスタAチヤンネル(Virt
ual Address Register Achannel:VARA)、参照ラインの
アドレスとなる仮想アドレスレジスタBチヤンネル(VA
RB)、読取部や記録部とVM間で画像信号をDMA転送する
ときのライン(転送ライン)のアドレスとなる仮想アド
レスレジスタCチヤンネル(VARC)、符号化ラインある
いは符号化ラインの変化点の位置を記憶する一時記憶ア
ドレスレジスタA(Temporal Address Register A:TAR
A)、参照ラインの変化点のアドレスを記憶する一時記
憶アドレスレジスタB(TARB)がある。これらのレジス
タに格納されるアドレスは、ラインの始端を仮想的にゼ
ロアドレスとした仮想アドレスである。また、ワードア
ドレスとビツトアドレスの両方を記憶するものである。
演算部2300では、全てこの仮想アドレスを用いている。
仮想アドレス方式の採用により、参照ラインの変化点と
符号化ラインの変化点の相対的アドレス差を求める場合
に高速に求めることができるという効果がある。また、
水平方向分のアドレス領域だけ記憶できる容量を持てば
十分であるため、レジスタフアイルを小さくでき、か
つ、ALU2350を小さくできるという効果がある。また、
一つのレジスタでビツトアドレスとワードアドレスの両
方を記憶しているため、ワード単位で画像信号をハンド
リングしているにもかかわらず、2つの変化点の距離
が、ビツト単位で高速に求まるという効果がある。レジ
スタフアイル2310には、この他に、1ラインの画素数を
記憶するターミナルレジスタA,Bチヤンネル(Terminal
Register A,B Channel:TRAB)、ターミナルレジスタC
チヤンネル(TRC)と、画面の水平方向の画素数を記憶
する水平画素数レジスタ(Hozizontal Width Register:
HWR)と、処理すべきライン数を記憶するライン数レジ
スタ(Line Number Register:LNR)と、1ラインの最小
符号ビツト数を記憶する最小符号長レジスタ(Minimum
Code Length Register:MCLR)と、Codecのワーキング用
のレジスタA(General Register A:GRA)、レジスタB
(General Register B:GRB)がある。これらのレジスタ
群の使用方法の詳細についてはマイクロプログラムフロ
ーの説明時に行う。Aラツチ2320及びBラツチ2330は、
レジスタフアイル2310のAポート及びBポートからの出
力をラツチするものである。Aマスク2341及びBマスク
2342はそれぞれAラツチ2320及びBラツチ2330からの出
力のうちビツトアドレスをゼロにマスクするか、あるい
はマスクせずにビツトアドレスを通すかを制御するもの
である。MPX2344は、ALU2350のAポートへの出力を、A
ラツチ2320の出力とするか、テーブル部2500の出力とす
るかを選択するものである。MPX2343は、ALU2350のBポ
ートへの出力をBラツチ2330の出力とするか、8とする
かを選択するものである。ALU2350は、AポートとBポ
ートから入力したデータを演算するもので、例えばA−
Bを出力するといつたものである。ALUSR2360は、ALU23
50の演算結果の状態を記憶するレジスタで、例えば、ゼ
ロフラグやオーバフローフラグやアンダフローフラグ等
である。等価比較器2370は、ALU2350の出力と、Bラツ
チ2330の出力が等価か否かを判定する回路で、例えばA
ラツチ2320にVARAの内容をラツチし、Bラツチ2330にTR
ABをラツチし、ALU2350のAポートにAラツチ2350の出
力でマスクされたものを入力し、Bポートに8を入力し
て、(Aポート+Bポート)を実行してVARAのワードア
ドレスをインクリメントしたとき、TRABと一致したか否
かを判定することができ、ライン端(Line End)が判定
できる。MPX2381は、レジスタフアイル2310へ書き込デ
ータの下位3ビツトを、ALU2350の出力とするか、変化
点検出器2600からの変化点ビツトアドレスとするかを選
択するものである。これにより、変化点のビツトアドレ
スが高速にレジスタフアイル2310に記憶できる効果があ
る。MPX2382は、レジスタフアイル2310への書き込みデ
ータをDBusのデータとするかALU2350の出力とするかを
選択するものである。これによりTRAB,TRC,HWR,LNR,MCL
Rは、マイコンから直接パラメータとして設定できる。
このため、Codecは柔軟な処理が可能となる。例えば、T
RABの値をTRCの値より小さく設定すると、読取部からの
画像信号の一部を符号化できる。これらの更に詳しい説
明はマイクロプログラムフローを説明するときに行う。 第6図はビデオアドレス発生部2400を詳細に説明する
ものである。レジスタフアイル2410は、符号化あるいは
復号化ラインの始端のVMの実ワードアドレスを記憶する
スタートアドレスレジスタA(Start Address Registe
r:SARA)と、参照ラインの始端のVMの実ワードアドレス
を記憶するスタートアドレスレジスタB(SARB)と、転
送ラインの始端のVMの実ワードアドレスを記憶するスタ
ートアドレスレジスタC(SARC)から成る。アダー2420
は、レジスタフアイルの中のラインのスタートアドレス
と演算部2300からの仮想ワードアドレス(Virtual Word
Address)を加算して、VMの実ワードアドレス(ビデオ
アドレス:Video Address)を生成する。このビデオアド
レスは、アドレスラツチ2430にラツチされ、VABusに出
力される。スタートアドレス(Start Address)と仮想
アドレス(Virtual Address)とにより任意のビデオア
ドレスを発生できる。MPX2450は、レジスタフアイル241
0への書き込みデータをVABUSd−11上の信号とするか、D
BUSa−5上の信号とするかを選択するものである。1ラ
イン分の処理が終了する毎に、マイコンに制御が移るモ
ード(ラインモードと呼ぶ)時は、1ライン毎にマイコ
ンから直接スタートアドレスの設定をうける。これに対
し、LNRに設定されたライン数分を連続して処理するモ
ード(ページ(Page)モードと呼ぶ)時は、ページの先
頭でマイコンからスタートアドレスの設定をうけるだけ
で、後は、ライン毎にCodecが、レジスタフアイル2410
のスタートアドレスとレジスタフアイル2310内のHWRの
内容とを加算し、これを次のスタートアドレスとして記
憶することにより、ページモード処理が実現できる。こ
の場合、マイコンは、1ページに1回スタートアドレス
を設定するだけあとは全てCodecが行うため、マイコン
の負荷が小さくなるという効果がある。また、HWR及びL
NR及びTR及びSARに適当な値を設定することにより、Cod
ecを用いて1画面内の任意の矩形領域を高速に処理する
ことができる。第7図は、このことを示すものである。
図でHWは、画面の水平方向の幅でこれをHWRに設定す
る。LNは、処理すべきライン数でLNRに設定する。Tは
1ラインの処理すべき画素数でTRに設定する。SAは、ペ
ージの先頭のVMのスタートアドレスでSARに設定する。
しかる後に、マイコンからマクロコマンドを受けると、
Codecは、第7図の斜線部を連続して処理できる。 第8図は、テーブル部2500のうち、符号化テーブル部
の詳細を説明するものである。ラツチ2501は、ALU2350
の演算結果をラツチするものである。モード判定回路25
02は、ALU2350の演算結果より符号化時のモード(例え
ば、MH符号化時は、RLが64以上か未満か)を判定し、シ
ーケンサ2230に伝える。アドレス発生回路2503は、内部
制御Busからの信号及びラツチ回路2501にラツチされたA
LUの演算結果を元に、符号化テーブルROM(Encoding Ta
ble ROM)2504への適切なアドレスを発生する。符号化
テーブルROM2504の出力は、シフトレジスタ2505にロー
ドされ、1ビツト単位でシフトして順にシリアル/パラ
レル(Serial/Parallel:S/P)変換器2507に送られる。S
/P変換器2507に8ビツト生成されるとフアーストイン/
フアーストアウト(First In First Out:FIFO)メモリ2
508に書き込まれる。S/P変換器2507に8ビツトの符号が
生成されるのをカウントするのは、演算部2300のGRBとA
LU2350である。このように、カウンタを持たず、ALUと
レジスタでカウントしているため、タイミングが集中管
理でき、タイミング制御が容易であるという効果があ
る。ターミネート検出回路2506は、シフトレジスタ2505
に入つた符号の終端を検出するもので、これについては
後ほど詳述する。FIFOメモリ2508は、符号転送効率を上
げるためのものである。FIFOメモリ2508に符号がセツト
されると、外部制御Busを介して、DRQTが出力される。D
MACが接続されている場合は、DACKによってFIFOメモリ2
508がアクセスされる。DMACが接続されていない場合
は、マイコンがFIFOメモリ2508を直接リードすることに
より、符号を得ることができる。このように、符号が直
接DBus上に出力されるため、システム設計が容易となる
効果がある。また、パラレルに符号が転送されるため、
タイミングが容易でかつ高速であるという効果がある。 表1は、符号化テーブルROM2504を説明するものであ
る。アドレス欄のRL及び差は、ALU2350の演算結果が、
アドレスとなつているものである。他の部分は、内部制
御Busからの信号によりアドレス発生回路2503が生成し
たものである。このようにALU2350の演算結果が直接に
テーブルのアドレスとなるため、高速に符号化テーブル
を引くことができる。 表2はMH符号でRLが4である符号(1011)を符号を例
にとり、テーブルを用いて符号化し、S/P変換器2507に
送り、符号の終結をターミネート検出回路2506で検出す
る手法を説明するものである。白のRLが4(=(100)
2)であるという演算結果がALU2350で得られると、テ
ーブルのアドレスは(000000100)2となる。このと
き、テーブル2504には、上位ビツトから順に(10111000
000000)2というデータが入つている。この上位4ビツ
トは符号で、その次のD9ビツトの「1」は、符号の終端
を示すものである。シフトレジスタ2505には、この値が
ロードされる。このシフトレジスタ2505は、シフトパル
スを入力すると、最下位ビツトに「0」をつめていくタ
イプのものである。シフトする毎にシフトレジスタ2505
の最上位ビツトがS/P変換器2507にシフトされていく。
4回シフトすると(10000000000000)2となるが、この
パターンをターミネート検出回路2506に入力されると、
終了(Terminate)であると検出し、その旨シーケンサ
に知らせる。シフト回数を演算部2300のGRAでカウント
し、1ライン分の符号化処理終了時に、GRAに記憶され
ている。1ライン分の総符号ビツト数と、MCLRの最小符
号ビツト数とを比較し、フイル(Fill)符号の数を制御
できる。 第9図は、復号化テーブル部を詳細に説明するもので
ある。FIFO2510は、符号受信バツフアである。パラレル
/シリアル(P/S)変換部2511は、8ビツト単位で受信
した符号を1ビツト毎順次ライン端(End of Line:EO
L)検出回路2512及びアドレス発生回路2513に供給する
ものである。P/S変換器2511に付随して必要なカウンタ
の機能は、演算部2300のGRBが実行する。このため、独
自でタイミングを有するカウンタが不要である。EOL検
出回路2512は、12ビツトのS/P変換器と、S/P変換器の出
力が(000000000001)2と一致するか否かを検出するゲ
ートから成り、受信した符号パターンがEOLか否かを判
定するものである。EOL検出回路2512を独立して設ける
ことにより、伝送路誤りが発生して符号語のきれ目を誤
つて認識したとしても確実にかつ高速にEOLを検出でき
るという効果がある。アドレス発生回路2513は、復号化
テーブルROM(Decoding Table ROM)2514のアドレスを
発生するもので、復号化テーブルROM2514の先頭アドレ
ス作成や、受信符号と復号化テーブルROM2514の出力か
ら次のアドレスを作成を行う。復号化方式はツリーサー
チ方式を用いており、これについては特願昭55−174592
号に詳しく述べているのでここでは表3を用いて簡単に
説明するにとどめる。ラツチ2515は、復号化テーブルRO
M2514の出力を一時記憶するものである。 表3は、復号化テーブルROM2514を説明するもので、
ツリーサーチ方式で復号化を行うのに好適なように作成
している。復号化テーブルROM2514は、大きく分けて3
つの部分にアドレスが分割されている。すなわち、MH白
符号の部分と、MH黒符号の部分と、MR符号の部分であ
る。復号化テーブルROM2514の内容は、復号が未終了す
なわち符号語の途中の状態時は次にアクセスすべきアド
レスの一部であり、符号語が完結し復号が終了したとき
は、その符号のもつ情報である。シーケンサ2230は、符
号1ビツトにつき1回復号化テーブルROM2514をサー
チ、その出力から復号化した符号の持つ意味を知る。復
号化した符号の持つ情報は、MPX2344を介して直接ALU23
50のAポートに入つているため、高速に変化点の位置を
求めることができる。 第10図は、変化点検出部2600を詳細に説明するもので
ある。参照ライン変化点検出器2610と符号化ライン変化
点検出器2620から成り、この2つの動作はほぼ同じであ
るから、参照ライン変化点検出器2610について説明す
る。 MPX2614は、VDBusからのデータVDと、VDBusからのデ
ータを反転させた▲▼と、ラツチ2617からのデータ
のうち1つを選択するものである。マスク回路2616は、
MPX2614から入力したデータを、ビツトアドレスBAが示
すビツトまで「1」にぬりつぶす回路で第11図を用いて
詳細を説明する。ラツチ2617は、マスク回路2616からの
出力を一時記憶するものである。プライオリテイエンコ
ーダ2618はラツチ2617から入力したデータに存在する最
下位の「0」の位置を検出するものである。データに
「0」が存在すると参照ライン変化点フラグを「1」に
して、変化点が存在することをシーケンサ2230に知らせ
る。また、「0」の存在した位置が変化点ビツトアドレ
スとして演算部2300に出力される。このビツトアドレス
は直接レジスタフアイル2310に入力されるため、高速に
変化点のビツトアドレスを記憶できる効果がある。また
この変化点ビツトアドレスはMPX2619を介してマスク回
路2616にビツトアドレスBAとして出力される。MPX2619
は、演算部2300のBラツチ2330からのBポートビツトア
ドレス(B−Port Bit Address)と、プライオリテイエ
ンコーダ2618からの変化点ビツトアドレスとを選択する
もので、参照ラインの変化点の検出開始ビツトアドレス
を符号化ラインの変化点のビツトアドレスをからにした
いとき(これを、参照ラインアドレス戻しと呼ぶ)の
み、Bポートビツトアドレスが選択される。これについ
ては、マイクロプログラムフローで詳細に説明する。排
他OR(EXOR)2611は、符号化開始点(a0と呼ぶ)の色
と、参照ラインの変化点(b1とb2があり、b1はa0の真上
より右のa0と反対色の変化点、b2はb1より右のa0と同色
の変化点)のうちb1を検出するのかb2を検出するのかを
選択する1/b2信号を受け、MPX2614を制御する。ゲー
ト2612は、変化点フラグが「1」でかつ参照ラインアド
レス戻しが「0」のときのみ、MPX2614の入力データを
ラツチ2617の出力とするものである。ORゲート2613は、
変化点フラグが「1」かあるいはアドレス戻しが「1」
のとき、マスク回路2616をイネーブルにするものであ
る。第11図は、マスク回路2616を詳細に説明するもの
で、デコーダ2616−1とNANDゲート2616−2〜2616−9
から成る。 表4は、この変化点検出器の動作例を示したものであ
る。初期条件として、VD=(00111000)2、a0色=0,
1/b2=0,参照ライン変化点フラグ=0,参照ラインアドレ
ス戻し=0とする。第1回目のラツチ時は、初期条件よ
りEXOR2611及びゲート2612の出力は、共に「0」である
ため、マスク回路2616への入力データは、VDとなる。ま
たマスク回路イネーブル信号Eは、「0」であるため、
マスク回路2616の出力は、入力データを単に反転したも
のとなる。よつてラツチ2617には(11000111)2がラツ
チされる。よつてプライオリテイエンコーダ2618の出力
は、参照ライン変化点フラグ=「1」、参照ライン変化
点ビットアドレス=「3」となる。第2回のラツチ時
は、参照ライン変化点フラグが「1」となつているた
め、ゲート2612の出力が「1」となりマスク回路2616へ
の入力データはラツチ2617の出力データ(11000111)2
となる。マスク回路イネーブル信号Eは「1」となつて
いるため、マスク回路2616は入力データを反転し、かつ
参照ライン変化点ビツトアドレスが示すビツト位置まで
「1」にぬりつぶしたデータ(00111111)2を出力す
る。よつて変化点ビツトアドレス6を得る。以下同様に
して、変化点がなくなるまでラツチをくり返すことによ
り、変化点ビツトアドレスを得ることができる。以上の
説明から明らかなように、この変化点検出器は8ビツト
内の任意の位置の変化点のビツトアドレスを1回のラツ
チで検出することができ、ラツチしたあと1ビツト毎に
調べる方式に比べ高速に変化点を検出できるという効果
がある。また、変化点のビツトアドレスを調べるのにカ
ウンタを用いていないため、タイミング制御を全て制御
部2200にて行えるため、設計が容易で、LSI向きである
という効果がある。 第12図,第13図及び表5は画像信号復元部2700を詳細
に説明するものである。 画像信号復元回路2701は、復元開始点及び終了点のビ
ツトアドレスを演算部2300からのAポート及びBポート
のビツトアドレスから入力し、復元開始点と終了点のワ
ードアドレス差をALU2350の演算結果より入力し、復元
データを生成するもので、第13図はその詳細回路を示
し、表5はその真理値表である。ワードアドレス差は、
Aラツチ2320に復元開始点のアドレスをラツチし、Bラ
ツチ2330に復元終了点のアドレスをラツチし、Aマスク
2341及びBマスク2342をオンにして、この2つのアドレ
スをALU2350に入力し、(B−A)を実行した結果がゼ
ロか否かで得ることができる。このように、ビツトアド
レスをマスクする回路2341,2342を演算部2300に設けた
ことにより、フアイルレジスタ2310には、ビツトアドレ
スとワードアドレスの両方が記憶されているにもかかわ
らず、1回の演算結果で高速にワードアドレス差の有無
を判定できる効果がある。第13図は画像信号復元回路27
01の詳細回路図で、デコーダ2701−1及び2701−2とAN
Dゲートから成る。この回路の動作は、表5に示す真理
値表のようになる。 すなわち、a0の色が「0」の場合は、出力は全て
「0」となり、a0の色が「1」で、ワードアドレス差が
ない場合は、Aポートビツトアドレスの値をx,Bポート
ビツトアドレスの値をyとするとDx〜Dy_1までを
「1」とし、他は「0」となり、a0の色が「1」でワー
ドアドレス差がある場合、Dx〜D7までを「1」となり、
他は「0」となる。これより、ワード内の復元画像信号
は1回の演算で生成できる。これは、カウンタを用いて
1ビツト毎に生成する方式に比べ、高速でかつタイミン
グ制御が容易であるという効果がある。一時記憶レジス
タ2702は、1つ前に復元した画像信号を記憶するもの
で、メモリに1ワードの復元画像信号が書き込まれると
クリアされる。論理和回路2703は、画像信号復元回路27
01の出力と、1時記憶レジスタ2702の出力の論理和をと
るもので、これにより1ワード内の画像信号が次々に復
元できる。ラツチ回路2704は、論理和回路2703からの1
ワードの復元画像信号をラツチし、VDBusに復元画像信
号を出力するものである。復元画像信号は、1ワード毎
にVMに書き込まれる。以上詳述したように、画像信号復
元部2700は、完全にパラレルに画像信号を復元するた
め、高速に画像信号を復元できるという効果がある。 以上、第3図から第13図及び表1から表5を用いて、
Codecのハード構成の詳細と、その動作の概略を説明し
た。次に、第14図から第16図を用いて、Codecの各種の
処理モードにおける動作を状態遷移図を用いて説明す
る。 第14図は、符号化及び復号化処理モード時の状態遷移
図である。SIはアイドル状態を表す。SI状態時に、マイ
コンから適当なパラメータの設定を受けた後に、マクロ
コマンド(例えばMH符号化コマンド)を入力すると、S1
の状態に遷移する。S1は所定の処理を1ライン分実行し
ている状態で、この時の動作の詳細はマイクロプログラ
ムフローの説明時に行う。1ライン分の処理が終了する
まではS1の状態で処理を実行しつづける。1ライン分の
処理が終了するとページモードでない場合は、処理終了
フラツグをオンしてSI状態に戻る。ページモード時は、
S2状態に移り、ここでSARの内容とHWRの内容を加算し、
これをSARに記憶させることによりスタートアドレスの
更新を行い、LNRをデクリメントしてページエンドの判
定を行う。LNRの内容がゼロでなければページ端(Page
End)でないと判定してS1状態に移る。ページ端の時
は、SIに戻る。このように、マイコンは1ラインあるい
は1ページに1回マクロコマンドを発行するだけで良い
ため、マイコンの負荷が軽減できる。 第15図は、VMリードのマクロコマンドを発行したとき
の、ラインモード時の状態遷移図である。このコマンド
は、マイコンのシステムバスと、ビデオバスが分離され
ているとき、マイコンがビデオバス上のVMをアクセスす
る場合に発行される。状態SIはアイドル状態である。こ
のとき、マイコンから適当なパラメータの設定を受けVM
リードコマンドを受けると、状態S1に移る。S1で、VBus
専有権をCodecが持つている場合、ただちに状態S2に移
る。状態S1でVBus専有権がない場合、BRQT信号を出力し
て、BACK信号を待つ。BACK信号が返つてくると状態S2に
移る。状態S2では、SARの内容とVARの内容を加算してビ
デオアドレスを出力し、VR/及びVDSを出力してVMから
VDを入力しDBRにラツチし、DBRレデイフラグをオンし、
BRQTを解除し、状態S3に移る。状態S3は、マイコンから
のDBRのリードあるいはDMACからのDACK信号入力を待
つ。DBRがアクセスされると、DBRレデイフラグをオフ
し、VARをインクリメントする。このとき、ライン端(L
ine End)であればSIに移り、ライン端でなければS1に
移る。このように、マイコンはDBRを介してVBus上のメ
モリをアクセスできる。しかも、ビデオアドレスはCode
cが出力するため、アドレス空間の小さいマイコンも大
規模なメモリをアクセスできる効果がある。また、ビデ
オアドレスはCodecが自動的にインクリメントするた
め、高速にVMをアクセスできるという効果がある。 第16図は、読取部あるいは記録部等とVM間のデータ転
送を行う場合の状態遷移図である。このデータ転送は、
マイコンからのマクロコマンドで実行するのではなく、
読取部あるいは記録部等からのTDRQTあるいはRDRQTによ
つて実行する。これらの信号は、シーケンサ2230に割り
込みとして入るため、第20図あるいは第21図に示した動
作を実行中もデータ転送可能である。状態SIは転送終了
フラグがオンとなつている状態である。このとき、マイ
コンからSARCにVMの先頭アドレスの設定を受けると状態
S1に移る。状態S1は、TDRQTあるいはRDRQTを受け付けら
れる状態である。状態S1で、TDRQT信号あるいはRDRQT信
号が入力されると状態S2に移る。状態S2は、CodecがVBu
s専有権を持つている場合は、何ら意味をもたず、ただ
しに状態S3に移る。CodecがVBus専有権を待つていない
場合、状態S2でBRQT信号を出し、BACK信号が返えるまで
この状態にとどまる。状態S2でBACK信号が返えると状態
S3に移る。状態S3では、TDACK信号あるいはRDACK信号を
出力し、読取部あるいは記録部等に対しデータ転送開始
を知らせ、状態S4に移る。状態S4では、ビデオアドレス
と、VR/と、VDSを出力してVDを転送した後、BRQTを解
除し、状態S5に移る。状態S5では、VARCをインクリメン
トする。このときライン端でなければ状態S1に移る。ラ
イン端でかつページモードでなければ、転送終了フラグ
をオンして状態SIに戻る。ライン端でかつページモード
であれば状態S6に移る。状態S6では、スタートアドレス
を更新し、LNRをデクリメントする。このときページ端
でなければ状態S1に移る。ページ端であれば、転送終了
フラグをオンして状態SIに戻る。以上詳述したように、
例えば符号化処理中にもデータ転送が行えるため、高速
処理が行えるという効果がある。またデータ転送は完全
なパラレル転送であるため、低速なメモリで高速にデー
タ転送できるという効果がある。 次に、MR符号化,復号化処理のマイクロプログラムフ
ローを用いて、Codecの内部動作を更に詳しく説明す
る。まず、MR符号の方式について第17図を用いて簡単に
説明する。 第17図は、MR符号の方式を説明するものである。
(イ)は変化点の定義を説明するもので、参照ラインと
符号化ラインの画素の状態を表している。斜線の入つた
画素は黒画素を表すものとする。図で、a0は符号化開始
点、a1,a2は符号化ラインの変化点を表す。b0は、a0の
真上参照ラインの点、b1はb0より右でa0と反対色の第1
番目の参照ライン変化点、b2は、b1より右で、a0と同じ
色の第1番目の参照ラインの変化点を表す。MR符号は、
大きく分けてパスモード(Pモードと略す)と垂直モー
ド(Vモードと略す)と水平モード(Hモードと略す)
に分かれる。(ロ)はPモードとなる場合を示してい
る。Pモードとは、a1が現れる以前にb1とb2が現われる
場合である。Pモード符号化を行うと、b2の真下が新し
いa0となる。 (ハ)は、垂直モードの例である。Pモードでなく、
かつa1とb1の距離の絶対値(相対アドレス差あるいは、
差とも呼ぶ)が3以下の場合である。a1とb1の差が
「0」のとき、V(0)符号となり、a1がb1より左にあ
る場合は、VL(差)符号となり、a1がb1より右にある場
合は、VR(差)符号となる。図のケースでは、VR(2)
と符号化される。符号化後は、a1が新しくa0となる。 (ニ)は、水平モードの例で、Pモードでなくかつa1
とb1の差が3を越える場合、H符号出力後a0とa1間のRL
をMH符号化し、次にa1とa2間のRLをMH符号化する。符号
化後は、a2が新しいa0となる。 表6は、MR符号化時の各レジスタの機能を示すもので
ある。VARAは、符号化ラインの現在走査中の仮想ワード
アドレスとビツトアドレスを記憶するものである。VARB
は参照ラインの走査点の仮想ワードアドレスとビツトア
ドレスを記憶するものである。TARAは、a0あるいはa1の
仮想ワードアドレスとビツトアドレスを記憶するもので
ある。TARBは、b1の仮想ワードアドレスとビツトアドレ
スを記憶するものである。GRAは1ラインの総符号ビツ
ト数カウント用である。GRBは、S/P変換器2507の8ビツ
トカウント用である。SARAは符号化ラインのデータを記
憶しているVMの走査開始点の実ワードアドレスである。
SARBは、参照ラインのデータを記憶しているVMの走査開
始点の実ワードアドレスである。 第18図から第23図は、MR符号化時のマイクロプログラ
ムのフローの一部である。VBus専有権を持つているもの
とする。Codecは、マイコンからMR符号化のマクロコマ
ンドをIR2210に受けると、シーケンサ2230は、処理6101
を実行するアドレスを出力してMR符号化処理を開始す
る。マイクロプログラムROM2240は、シーケンサ2230に
よつてアクセスされた処理6101を行うマイクロプログラ
ムのビツトパターンをパイプラインレジスタ2250に出力
し、処理が開始される。処理6101は、イニシヤライズ
で、例えばALU2350の出力をゼロにしてALUの出力をVARA
に書き込みVARAをクリアしたり、a0の色を白とすること
である。処理6102で、b1検出モードに設定する。これ
は、EXOR2611への信号1/b2を0とすることを意味する
(白=0とする)。処理6103では、VARBをAラツチ2320
にラツチし、SARBとAラツチ2320の出力を加算してアド
レスラツチ2430にラツチし、これをVABusに出力して、V
R/信号をリードにし、VDSを出力しVMをアクセスし
て、VDをラツチ2617にラツチする。この一連の動作を参
照ラインのVD入力と呼ぶことにする。同様にして、処理
6104で符号化ラインのVDを入力し、これをラツチ2624に
ラツチする。判定6105は変化点が存在したか否かを判定
するものである。プライオリテイエンコーダ2618及び26
25は、入力したVDに変化点が存在すればその旨シーケン
スに知らせている。よつてシーケンサは、変化点の有無
を判定でき、各処理ブロツクにジヤンプできる。変化点
がなければ、処理6106に移り、変化があれば判定6109に
移る。処理6106は、VARA及びVARBのワードアドレスをイ
ンクリメントする。例えば、VARAの場合、これをAラツ
チ2320にラツチし、Aマスク2341をONにしてこの出力を
ALU2350のAポートに入力し、Bポートに8に入力して
(A+B)を実行し、ALU2360の出力をVARAに書き込
む。これによりVARAのワードアドレスはインクリメント
され、かつVARAのビツトアドレスはクリアされる。ま
た、VARAをAラツチ2320にラツチするとき、同時にTRAB
をBラツチ2330にラツチしておくことにより、VARAをイ
ンクリメントしたとき、同時にライン端か否かを等価比
較器2370で判定される。VARBのインクリメントも同様に
して行われる。判定6107では、ライン端を判定し、Line
Endでなければ、すなわち等価比較器2370のライン端フ
ラグがONになつていなければ、シーケンサは、処理6103
に戻り、今まで述べた処理をくり返す。ライン端であれ
ば、処理6108でV(0)符号出力サブルーチンをコール
した後、ライン端処理に移る。ライン端処理は、Fillの
制御等で、ここでは省略する。判定6109及び判定6110で
変化点の状態を判定する。符号化ラインのみに変化点が
あつた場合は処理6201にジヤンプし、参照ラインのみに
変化点があつた場合は処理6301ジヤンプし、両方に変化
点が存在する場合は処理6401にジヤンプする。このよう
に、符号化ラインのビデオアドレスと参照ラインのビデ
オアドレスを交互に出力して走査するため、同一のVMに
符号化ラインと参照ラインが存在しても、あたかも符号
化ラインと参照ラインを同時に、かつ同じ相対位置で走
査しているのと同等の効果がある。もし、符号化ライン
の変化点を検出してから参照ラインの変化点を検出する
方法をとると、パスモードを符号化するのが遅くなる。
また参照ラインの変化点を検出してから符号化ラインの
変化点を検出する場合、b1がa1より右の方に遠く離れて
存在する場合、符号化が遅れる。 処理6201では、符号化ラインの変化点のビツトアドレ
スを記憶する。これは、VARAの内容をAラツチ2320にラ
ツチし、これをALU2350のAポートに入力し(A+0)
を実行し、フアイルレジスタ2310への入力下位3ビツト
を変化点検出部2600からの符号化ライン変化点ビツトア
ドレスとなるようにMPX2381を制御し、VARAに書き込む
ことによつて実現できる。これにより、VARAのビツトア
ドレスだけが、符号化ラインの変化点ビツトアドレスと
なり、ワードアドレスは変化をうけず、a1の位置がVARA
に記憶されたことになる。処理6202は、VARBのワードア
ドレスをインクリメントする。判定6203では、参照ライ
ンがライン端か否かを判定する。ライン端であれば、処
理6207に移りインクリメントされた値をb1としてTARBに
記憶する。ライン端でなければ、処理6204に移り参照ラ
インのVDを入力する。判定6205では参照ラインにb1が存
在したか否かを判定する。変化点がなければ、a1とb1の
差が8以上あることになるから、H符号化処理に移る。
このように、符号化ラインと参照ラインを並行して走査
できるため、参照ラインの変化点を検出する以前に、H
モードと判定できる効果がある。変化点があれば、処理
6206に移り、b1の位置をTARBに記憶する。これは、a1を
VARAに記憶した場合と同様の方法で実現できる。処理62
08では、(b1−a1=差)を実行する。これは、VARAをA
ラツチ2320にラツチし、TARBをBラツチ2330にラツチ
し、マスクをオフしてこれらの出力をALU2350のA及び
Bポートに入力し、(B−A)を実行することにより実
現する。ALU2350の出力はラツチ2501にラツチされ、モ
ード判定回路2502によつて差3か否かを判定される。
差が3以内であればVL符号化処理に移り、差が3を越え
ていればH符号化処理に移る。 判定6110で参照ラインのみに変化点があつた場合、処
理6301に移る。処理6301では、b1をTARBに記憶する。処
理6302でb2検出モードを設定する。処理6303では、参照
ライン変化点検出器2610のラツチ2617にラツチパルスを
出力することにより、処理6103で入力した参照ラインの
VDにb1以外にb2も存在するかどうかを検出する。この動
作をワード内変化点検出と呼ぶことにする。この動作
は、第10図,第11図及び表4を用いて詳しく説明したも
のである。判定6304では、b2が存在したか否かを判定し
ている。b2が存在すれば、a1以前にb1とb2の両方が存在
したことになり、P符号化処理に移る。b2が存在しなけ
れば処理6305に移る。処理6305及び処理6306で、VARB及
びVARAのワードアドレスをインクリメントする。判定63
07で、ライン端を判定し、ライン端であれば処理6319へ
移り、ライン端でなければ処理6308に移る。処理6308及
び処理6309で、参照ラインのVD及び符号化ラインのVDを
変化点検出器2600に入力してb2及びb1を検出する。変化
点がなければ処理6305に移る。参照ラインにのみ変化点
があれば、a1以前にb1とb2の変化点が存在したことにな
り、P符号化処理に移る。符号化ラインのみに変化点が
存在すれば、処理6313に移る。処理6313では、a1のビツ
トアドレスをVARAに記憶する。処理6314でVARAとTARBの
差を取ることにより(a1−b1=差)を求める。判定6315
で差が3以下か否かを判定する。差が3以下であればVR
符号化処理へ移り、3を越えていればH符号化処理へ移
る。判定6310から判定6312で参照ラインと符号化ライン
の両方に変化点があれば、処理6316に移る。処理6316で
は、VARAにa1を記憶し、VARBにb2を記憶する。処理6317
で(VARB−VARA)を実行し、a1とb2の位置関係を検出す
る。(b2−a1)が負、すなわちALU2350がアンダフロー
を起こしていれば、b2はa1より左にあつたと判定しP符
号化処理に移る。アンダフローを起こしていなければ処
理6314に移る。判定6307で、ライン端と判定されたと
き、処理6319に移る。処理6319では、ライン端のアドレ
スをa1の位置とみなし、このアドレスをVARAに記憶し、
(VARA−TARB)を実行して(a1−b1=差)を求める。差
が3以下であれば処理6327でVR符号出力サブルーチンを
コールした後、ライン端処理に移る。差が3を越えてい
れば、処理6321に移る。処理6321ではH符号出力サブル
ーチンをコールする。処理6322で、(VARA−TARA)を実
行して(a1−a0=RL)を得る。このRLはラツチ2501にラ
ツチされる。処理6323ではMH符号出力サブルーチンをコ
ールする。処理6324でa0の色を反転する。処理6325でAL
U2350の出力をゼロにしてこれをラツチ2501にラツチさ
せることにより(RL=0)を作り出す。処理6326でMH符
号出力サブルーチンをコールして(RL=0)を符号化
し、ライン端処理に移る。判定6110で、符号化ラインと
参照ライン共に変化点が存在した場合、処理6401に移
る。処理6401でa1をVARAに記憶し、処理6402でb1をTARB
に記憶する。処理6403で(VARA−TARB)を実行し、(a1
−b1=差)を算出する。差がゼロのとき、V(0)符号
化処理に移る。差が正であれば、b1よりa1が右に存在し
たこととなるため、a1より前にb2が存在するか否かを検
出する必要がある。よつて処理6407に移り、b2検出モー
ドとし、処理6408で参照ラインのワード内の変化点を検
出する。変化点があれば処理6412に移らなければ処理64
10に移る。処理6412でb2をVARBに記憶する。処理6413に
て(VARB−VARA)を実行することにより(b2−a1=差)
を求める。差が負であれば、b2はa1より左に存在したこ
とになるため、P符号化処理に移る。差が負でなけれ
ば、b2はa1以降に存在したことになり、処理6410に移
る。処理6410では、a1より左にb2が存在しないからPモ
ードでないと判定でき、(VARA−TARB)を実行して(a1
−b1=差)を求める。差が3以下であればVL符号化処理
に移り、3を越えていればH符号化処理に移る。判定64
06で差が負であれば、b1はa1より右に存在したことにな
り処理6415に移る。処理6415で、(TARB−VARA)を実行
することにより、(b1−a1=差)を求める。差が3以下
であればVR符号化処理に移り、3を越えていれば、H符
号化処理に移る。以上で、VMを走査して変化点を検出し
モードを判定する部分は終了した。次に各モードの符号
化処理の説明に移る。 H符号化処理は、処理6501から始める。処理6501でH
符号出力サブルーチンをコールする。処理6502で、(VA
RA−TARA)を実行して(a1−a0=RL)を求め、これを符
号化テーブル部2500のラツチ2501にラツチする。処理65
03ではMH符号出力サブルーチンをコールする。処理6504
でa0の色を反転する。処理6505でVARAの内容をTARAに移
し、a1をTARAに記憶する。処理6506で、符号化ラインの
ワード内の変化点を検出する。変化点があれば処理6513
に移る。変化点がなければ、処理6508に移る。処理6508
で、VARAのワードアドレスをインクリメントする。この
とき、Lin Endであれば処理6511に移る。Line Endでな
ければ、処理6510に移り符号化ラインのVDを入力して変
化点の有無を検出し、処理6507に移る。処理6511では、
ライン端の点をa2として、(VARA−TARA)を実行し、
(a2−a1=RL)を求める。処理6512で、MH符号出力サブ
ルーチンをコールし、ライン端処理へと移る。判定6507
で変化点が存在すれば、処理6513に移る。処理6513で、
符号化ラインの変化点のビツトアドレスをVARAに記憶す
ることにより、a2の位置を記憶する。処理6514で、(VA
RA−TARA)を実行し、(a2−a1=RL)を求める。処理65
14でMH符号出力サブルーチンをコールする。処理6522か
ら処理6527は、再び参照ラインと符号化ラインを並行し
て走査し、モードの判定処理に移るためのあと処理であ
る。まず、処理6522でa2の色を反転する。処理6523でVA
RAの内容をTARAに移すことにより、a1あるいはa2を新し
くa0として記憶する。処理6524では、参照ラインと符号
化ラインの走査アドレスずれを元に戻すために、TARAの
内容をVARBに移すことにより、a0とb0の位置を一致させ
る。処理6525でb1検出モードにする。処理6526では、TA
RAの内容をBラツチ2330にラツチし、VARBの内容をAラ
ツチ2320にラツチし、参照ライン変化点検出器2610の参
照ラインアドレス戻しをONにして、参照ラインのVDをラ
ツチ2617にラツチする。これにより、マスク回路2616が
動作し、Bラツチ2330のビツトアドレスすなわちa0のビ
ツトアドレスまで入力した参照ラインのVDはマスクされ
てラツチ2617にラツチされる。これにより、a0の真上す
なわちb0より右の変化点を検出できる。処理6526によ
り、参照ラインと符号化ラインの走査開始アドレスをビ
ツト単位で正確にかつ高速に一致させることができると
いう効果がある。処理6527で、符号化ラインのワード内
の変化点検出動作を行い、判定6105に移り再びモード判
定を開始する。次にVL符号化処理の説明を行う。VL符号
化処理は、処理6521から始まる。処理6521でVL符号出力
サブルーチンをコールし、処理6522に移る。処理6522以
下の処理は、すでに説明した。 次に、VR符号化処理を説明する。まず、処理6531でVR
符号出力サブルーチンをコールし、処理6522に移る。処
理6522以下は、すでに説明した。 次に、V(0)符号化処理に移る。まず、処理6541で
V(0)符号出力サブルーチンをコールする。処理6542
以下は、再びモード判定処理に移るための後処理であ
る。V(0)の場合、参照ラインと符号化ラインの走査
点は一致しているため、走査点を一致させるための特別
な処理は不要である。処理6542でa0の色を反転する。処
理6543でVARAの内容をTARAに移すことにより、a1を新し
くa0とする。処理6544で、参照ラインのワード内の変化
点を検出する。処理6545で符号化ラインのワード内の変
化点を検出し、判定6105に戻り、再びモード判定処理を
続ける。 次に、P符号化処理の説明を行う。処理6551でP符号
出力サブルーチンをコールする。処理6552で、VARBのビ
ツトアドレスにb2のビツトアドレスを書き込むことによ
り、b2の位置をb0の位置としてVARBに記憶する。処理65
53で、VARBの内容をTARAに移すことにより、a0とb0を一
致させ、b2の位置を新しくa0としてTARAに記憶する。処
理6555で、b1検出モードとし、処理6556で参照ラインの
ワード内変化点検出動作を行い、判定6105に戻る。 以上で、各モードの符号化処理の説明を終了する。次
に、各モードの符号出力サブルーチンの説明を行う。各
符号の出力は全て、符号化テーブル部2500を動作させる
ことにより行う。すなわち、ラツチ2501にラツチしたAL
U2350の出力、すなわちRLあるいは差と、モード判定を
行つた制御部2200からのモード信号によりアドレス発生
回路2503に特定のアドレスを発生させ、符号化テーブル
ROM2504をアクセスすることにより実現する。ここで
は、V(0)符号出力サブルーチンを例に説明し、他は
省略する。 V(0)符号出力サブルーチンは、処理6601から始ま
る。処理6601で、アドレス発生回路2503にV(0)符号
が格納されているアドレス(100000000)2を発生させ
る。処理6602で、符号化テーブルROM2504の内容をシフ
トレジスタ2505にロードする。V(0)符号は「1」と
定義されているため、シフトレジスタ2505には(110000
00000000)2がロードされることになる。最上位ビツト
はV(0)符号で、2ビツト目の「1」は終了検出用で
ある。判定6603で、シフトレジスタ2505の出力が(1000
0000000000)2であるか否かを検出することにより、終
了(Terminate)を検出するターミネート検出回路2506
からのターミネートフラグにより、終了を判定する。終
了であればリターンする。終了でなければ、処理6604に
移る。処理6604で、シフトレジスタ2505及びS/P変換器2
507にシフトパルスを出力し、シフトレジスタ2505の最
上位ビツトすなわちの場合、「1」をS/P変換器2507に
シフト入力させる。管理6605で、フアイルレジスタ2310
のGRAをAラツチ2320にラツチし、Aマスク2341をオフ
にしてALU2350に入力し、ALU2350で(A+1)を実行
し、この出力をGRAに書き込むことにより、GRAをインク
リメントし、総符号ビツト数のカウントを実行する。処
理6606で、GRBの内容を、処理6606と同様な手法でデク
リメントする。GRBは、S/P変換器2507に符号が8ビツト
生成されたか否かを判定するものである。判定6607で、
GRBの内容がゼロが否かを判定する。ゼロであれば、S/P
変換器2507に符号が8ビツト生成されたと判定でき、判
定6608に移る。判定6608で、FIFOメモリ2508が入力レデ
イから否かを判定する。入力レデイでなければ、待機
(Wait)する。入力レデイであれば、処理6609に移る。
処理6609で、FIF02508にS/P変換器2507の符号8ビツト
をロードし、処理6610で、AlU2350のBポートに8を入
力し、(O+B)を実行し、この出力をGRBに書き込む
ことにより、GRBに8をセツトする。次に判定6603に移
る。判定6603では、この場合、シフトレジスタ2505の内
容が(10000000000000)2となつているため、終了と判
定されリターンする。以上で、MR符号化処理のマイクロ
プログラムフローの詳細な説明を終了する。 次にMR復号化処理について表7、第24図から27図を用
いて説明する。 表7は、MR復号化処理時の各レジスタの機能を説明す
るものである。VARAは、復元データを復号化ラインのVM
に書き込む位置の仮想ワード及びビツトアドレスであ
る。VARBは、参照ラインの走査位置の仮想ワード及びビ
ツトアドレスである。TARAは、a1あるいはa2の仮想ワー
ド及びビツトアドレスである。GRBは、P/S変換器2511の
8ビツトカウント用である。SARA及びSARBは、それぞれ
復号化ライン及び参照ラインの先頭の実ワードアドレス
である。TRABは、1ラインの画素数である(ワード単
位)。復号化処理と並行して、記録部とVM間でVDの転送
を行えるが、ここには、VARC,TRC,SARCが割り当てられ
る。VARCは、転送ラインの仮想ワードアドレス、TRC
は、転送画素数で、ワード単位である。SARCは、転送ラ
インの先頭の実ワードアドレスである。SARAとSARC及び
TRABとTRCの値を任意に選ぶことにより、復元したVDを
ワード単位の任意の1部分を記録部に転送できる。 第24図〜第27図は、MR復号化処理のマイクロプログラ
ムである。処理7102及びAで示した範囲の処理はMR符号
を復号化してモードを判定する部分である。処理7101
は、ラインの先頭でのイニシヤライズである。たとえば
VARA及びVARBのクリアといつた処理である。処理7102
で、第19図に示す復号化テーブル部のアドレス発生回路
2513にMR符号復号化の先頭アドレスを発生させる。復号
化テーブルROM2514が、表3に示すような構成となつて
いるので、A9〜A1に「10000000」が発生する。判定7103
で、GRBの内容がゼロか否かを判定する。ゼロであればP
/S変換器2511に符号が存在しないと判定でき、判定7104
に移る。ゼロでなければ処理7107に移る。判定7104で、
FIFO2510に符号が存在するか否かを判定する。符号が存
在しなければ待機する。符号が存在すれば処理7105に移
る。処理7105でP/S変換器2511にFIFO2510の出力をロー
ドする。処理7106で、処理6610と同様にしてGRBに8を
セツトし、P/S変換器2511に符号が8ビツト存在するこ
とを記憶する。処理7107で、P/S変換器2511にシフトパ
ルスを出力し、P/S変換器2511の先頭の符号をEOL検出回
路2512及びアドレス発生回路2513にロードする。処理71
08で、P/S変換器2511の符号が1ビツト減少したことを
記憶するために、GRBをデクリメントする。判定7109でE
OLを判定する。これはEOL検出回路2512で実行される。E
OL検出回路2512はP/S変換器2511から入力される符号の
系列が「000000000001」であるか否かを判定するもの
で、S/P変換器とゲートで構成できる。EOLであればライ
ン端処理に移り、EOLでなければ処理7110に移る。処理7
110で、復号化テーブルROM2514をアクセスし、その出力
をラツチ2515にラツチする。判定7111で符号が完結した
か否かを判定する。これは、復号化テーブルROM2514が
表3に示すように構成されているため、ラツチ2515にラ
ツチした復号化テーブルROM2514の内容の最下位ビツト
が1か0かで判定できる。符号として完結していない場
合、処理7112に移る。処理7112で、ラツチ2515にラツチ
された復号化テーブルROM2514の内容のうち、D1〜D7を
アドレス発生回路2513にフイードバツクしA1〜A7として
用いる。次に判定7103に戻り、符号が完結するまでAで
示される範囲の処理を続ける。判定7111で符号として完
結したと判定されると、ラツチ2515にラツチされた復号
化テーブルROM2514の内容からMR符号のモードを判定
し、各モードの復号化処理プログラムに移る。 まず、P復号化処理を説明する。処理7201では、参照
ラインのVDを入力し、a0より右にある変化点b1を検出す
る。この処理は、処理6526を説明するときに詳しく述べ
た手法と同じである。変化点が存在すれば処理7206に移
る。変化点が存在しなければ処理7203に移る。処理7203
では、VARBのワードアドレスをインクリメントする。判
定7204で、VARBのワードアドレスをインクリメントした
値とTRABの値が一致、すなわちライン端となつたとき、
エラー処理に移る。ライン端でなければ、処理7205に移
る。処理7205で、参照ラインのVDを入力し、b1検出を行
い、判定7202に戻る。b1が検出されると処理7206に移
る。処理7206で、参照ラインのワード内の変化点b2を検
出する。判定7207で変化点が存在すれば処理7211に移
り、存在しなければ処理7208に移る。処理7208で、VARB
のワードアドレスをインクリメントする。判定7209でラ
イン端を判定し、ライン端であればエラー処理に移り、
ライン端でなければ処理7210に移る。処理7210で、参照
ラインのVDを入力しb2の検出処理を行い判定7207に移
る。処理7211で、VARBのワードアドレスと、参照ライン
の変化点ビツトアドレスをTARAに書き込む。処理7212で
画像信号復元サブルーチンをコールし、処理7102に戻
る。画像信号復元スルーチンは、VARAの示す位置からTA
RAの示す位置まで画像信号を復元するプログラムで、こ
れについては後で詳細に説明する。以上でP復号化処理
は終了である。 次にV(0)復号化処理を説明する。処理7213で、参
照ラインのVDを入力し、a0より右の変化点b1を検出す
る。判定7214で変化点の有無を判定し、変化点が存在す
れば処理7218に移り、存在しなければ処理7215に移る。
処理7215でVARBのワードアドレスをインクリメントす
る。判定7216でライン端を判定し、ライン端であれば、
ライン端をb1として処理7218に移る。ライン端でなけれ
ば処理7217に移る。処理7217で、参照ラインのVDを入力
し、b1検出を行い、判定7214に戻る。b1が存在すると、
処理7218に移り、VARBのワードアドレスと参照ラインの
変化点ビツトアドレスをa1としてTARAに書き込み、処理
7219で画像信号復元サブルーチンをコールする。処理72
20でa0の色を反転し、処理7102に戻る。以上でV(0)
復号化処理は終了である。 次にVL復号化処理について説明する。処理7301で、参
照ラインのVDを入力し、a0より右のb1を検出する。判定
7302で変化点が存在すれば処理7306に移り、存在しなけ
れば処理7303に移る。処理7303では、VARBのワードアド
レスをインクリメントする。判定7304でライン端を判定
し、ライン端であれば、ライン端をb1として処理7325に
移る。ライン端でなければ処理7305に移り、参照ライン
のVDを入力しb1を検出して判定7302に移る。変化点があ
れば処理7306に移り、参照ラインの変化点ビツトアドレ
スをVARBに記憶することにより、b1の位置をVARBに記憶
する。処理7325で、ラツチ2515にラツチされているb1と
a1の差をALU2350のAポートに入力し、VARBの値をBラ
ツチ2330にラツチし、Bマスク2342をオフにしてALU235
0のBポートに入力し、(B−A)を実行することによ
り(b1−差=a1)を求め、これをTARAに記憶する。この
ように、復号化テーブルの出力が直接ALU2350に入つて
いるため、高速にa1の位置を求めることができるという
効果がある。判定7326で、ALU2350の演算結果が負であ
ればエラーと判定する。判定7307で(TARA−VARA)を行
い、結果が負であればエラーと判定する。処理7308で画
像信号復元サブルーチンをコールする。処理7309で、VA
RAの内容をVARBに書き込むことにより、新しいa0とb0の
位置を一致させる。処理7310でa0の色を反転し、処理71
02に戻る。以上でVLの処理は終了である。 次にVR復号化処理を説明する。処理7311で参照ライン
のVDの入力し、a0より右の変化点b1を検出する。判定73
12で変化点が存在すれば処理7315に移り、変化点が存在
しなければ処理7322に移る。処理7322で、VARBのワード
アドレスをインクリメントする。判定7313でライン端を
判定し、ライン端であればエラー処理に移る。ライン端
でなければ、処理7314に移る。処理7314で、参照ライン
のVDを入力し、b1を検出し、判定7312に移る。変化点が
存在すれば、処理7315で、参照ライン変化点のビツトア
ドレスをVARBに記憶する。処理7316で復号化テーブルか
らの差とVARBを加算し、a1としてTARAに記憶する。判定
7317で、加算した結果がオーバフローであればエラー処
理に移る。オーバフローでなければ、処理7318で画像信
号復元サブルーチンをコールし、処理7319でTARAの内容
をVARBに移し、新しいa0とb0を一致させる。処理7320で
a0の色を反転し、処理7102に戻る。以上でV復号化処理
は終了である。 次にH復号化処理を説明する。処理7401でアドレス発
生回路2513に、MH符号の復号化の先頭アドレスを発生さ
せる。表3に示すような構成になつている場合、a0の色
が白であれば、A9〜A1を「000000000」とし、a0の色が
黒であれば「010000000」とすることである。処理7402
でAで示す領域の処理を行うことにより、MH符号を見つ
け出す。判定7403で、ラツチ2515にラツチされた復号化
テーブルROM2514のD7ビツトの判定を行い、「0」であ
れば終了コード(Terminating Code)と判定して処理74
06に移る。「1」であればメークアツプコード(Make C
ode)と判定し、処理7404に移る。処理7404で、ラツチ2
515の出力D1からD7をRLの26から211ビツトとしてALU235
0のAポートに入力し、TARAの内容と加算し、これをTAR
Aに書き込む。判定7405で、加算した結果がオーバフロ
ーか否かを判定し、オーバフローであればエラー処理に
移り、オーバフローでなければ処理7401に移る。 終了コードを検出すると、処理7406に移り、ラツチ25
15の出力D1〜D6をRLの20から25ビツトとしてALU2350の
Aポートに入力し、TARAの内容と加算しその結果をTARA
に書き込む。判定7407で、加算した結果がオーバフロー
が否かを判定し、オーバフローであればエラー処理に移
り、オーバフローでなければ処理7408に移る。処理7408
で画像信号復元サブルーチンをコールし、処理7409でa0
の色を反転する。処理7410で、Bで示す領域の処理を行
う。処理7411でTARAの内容をVARBに移し、新しいa0とb0
を一致させ、処理7102に移る。以上で全てのモードでの
復号化処理の説明は終了である。 次に画像信号復元サブルーチンの説明を行う。ここで
は、VARAにa0が記憶され、TARAにa1が記憶されている。
よつてVARAからTARAが示す位置までa0の色にすることで
ある。処理7412で、VARAとTARAのワードアドレス差を検
出する。これは、VARAをAラツチ2320にラツチし、TARA
をBラツチ2330にラツチし、Aマスク2341及びBマスク
2342をオンにして、ALU2350に入力し、B−Aを実行す
る。結果がゼロであればワード差になしである。このよ
うに、ビツトアドレスをマスクする回路が存在するた
め、高速にワードアドレス差が求まるという効果があ
る。また、このとき画像信号復元回路2701にワード差有
無信号及び書き込み開始、終了点のビツトアドレスが供
給されているため、処理7413でラツチ回路2704及び1時
記憶レジスタ2702にラツチパルスを出力するだけで、ワ
ード内の画像信号が高速に復元できるという効果があ
る。判定741でワードアドレス差の有無を判定し、ワー
ドアドレス差がなければTARAが示すa1の点まで画像信号
が復元できているため、リターンする。ワードアドレス
差があれば、処理7415に移る。ワードアドレス差があれ
ば、1ワードの画像信号がラツチ回路2704に復元できて
いるため、処理7415でラツチ回路の出力を、(VARA+SA
RA)のワードアドレスが示す番地に書き込むことにより
復号化ラインに画像信号を復元する。処理7416で一時記
憶レジスタ2702をクリアする。処理7417でVARAのワード
アドレスをインクリメントする。これは、VARAの内容を
Aラツチ2320にラツチし、TRABの内容をBラツチ2330に
ラツチしAマスク2341をONにしてALU2350のAポートに
入力し、ALU2350のBポートに8を入力して(A+B)
を実行し、その結果をVARAに書き込むため、VARAのワー
ドアドレスのインクリメントと同時にVARAのビツトアド
レスのクリア及び等価比較器2370によるライン端の検出
ができるという効果がある。判定7418でライン端か否か
を判定する。ライン端でなければ処理7412に戻り、画像
信号復元処理を続ける。ライン端であれば、判定7419に
移り、VARAとTARAが一致しているか否かを判定する。一
致していなければエラー処理に、一致していればライン
端処理に移る。 以上でMR復号書処理のマイクロプログラムフローの説
明を終了する。 第28図は、Codecとマイコン等でファクシミリを構成
した例である。 第28図は、マイコン8010のシステムバスとCodec2000
のビデオバスとを分離したシステム例である。画像信号
はVBus上で転送し、符号はシステムバス上で転送するた
め、高速に符号化,復号化処理ができるという効果があ
る。また、システムバス側にDMAC8060を用い、符号の転
送はこのDMAC8060によつて行うことができるため、更に
マイコン8010の負荷を軽減できるという効果がある。ま
た、VM8020は、マイコン8010のアドレス空間に無関係で
あるため、8ビツトマイコンの一般的なアドレス空間で
ある64キロバイト(K byte)の空間に制限されず、大規
模なVMを持つことができるという効果がある。例えば、
VA発生部2400内のハードウエアを24ビツト構成とするだ
けで、Codec2000のVA空間を16メガバイト(M byte)に
することができる。 以上、本発明をフアクシミリに用いる場合を例に説明
したが、MH符号あるいはMR符号、またはその両方を扱う
システムであれば何んでも良く、例えば画像フアイルシ
ステムなどに応用できる。また、リフレシユタイミング
を発生する回路及びリフレツシユアドレスを記憶するレ
ジスタを設けると、VMにリフレツシユRAMを用いること
ができる。 〔発明の効果〕 本発明によれば、画像用のバスに接続し得る第1のイ
ンタフェースと、符号用のバスに接続し得る第2のイン
タフェースを設けたことにより高速に符号化処理を行う
ことが可能となると共に、同一の画像メモリに参照ライ
ンと符号化ラインが存在する場合であっても、あたかも
参照ラインと符号化ラインを同時に且つ同じ相対位置で
走査しているのと同等の性能を得ることができる。
第1図はフアクシミリの全体ブロツク図、第2図は符号
化,復号化処理の階層構成の説明図、第3図はCodecの
全体ブロツク図、第4図は制御部のブロツク図、第5図
は演算部のブロツク図、第6図はビデオアドレス発生部
のブロツク図、第7図はページモード処理の説明図、第
8図は符号化テーブル部のブロツク図、第9図は復号化
テーブル部のブロツク図、第10図は変化点検出部のブロ
ツク図、第11図は変化点検出部内のマスク回路の詳細回
路図、第12図は画像信号復元部のブロツク図、第13図は
画像信号復元回路の詳細回路図、第14図は符号化・復号
化処理時のCodecの状態遷移図、第15図はマイコンがCod
ecを介してVMをアクセスするときのCodecの状態遷移
図、第16図は画像信号転送時のCodecの状態遷移図、第1
7図はMR符号化方式の説明図、第18図から第23図はMR符
号化処理のマイクロプログラムフロー、第24図から第27
図はMR復号化処理のマイクロプログラムフロー、第28図
はCodecを用いたファクシミリシステムのブロツク図で
ある。 2100……MPUI/F、2200……制御部、2300……演算部、24
00……ビデオアドレス(Video Address)発生部、2500
……テーブル(Table)部、2600……変化点検出部、270
0……画像信号復元部、2800……VBus I/F。
化,復号化処理の階層構成の説明図、第3図はCodecの
全体ブロツク図、第4図は制御部のブロツク図、第5図
は演算部のブロツク図、第6図はビデオアドレス発生部
のブロツク図、第7図はページモード処理の説明図、第
8図は符号化テーブル部のブロツク図、第9図は復号化
テーブル部のブロツク図、第10図は変化点検出部のブロ
ツク図、第11図は変化点検出部内のマスク回路の詳細回
路図、第12図は画像信号復元部のブロツク図、第13図は
画像信号復元回路の詳細回路図、第14図は符号化・復号
化処理時のCodecの状態遷移図、第15図はマイコンがCod
ecを介してVMをアクセスするときのCodecの状態遷移
図、第16図は画像信号転送時のCodecの状態遷移図、第1
7図はMR符号化方式の説明図、第18図から第23図はMR符
号化処理のマイクロプログラムフロー、第24図から第27
図はMR復号化処理のマイクロプログラムフロー、第28図
はCodecを用いたファクシミリシステムのブロツク図で
ある。 2100……MPUI/F、2200……制御部、2300……演算部、24
00……ビデオアドレス(Video Address)発生部、2500
……テーブル(Table)部、2600……変化点検出部、270
0……画像信号復元部、2800……VBus I/F。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 浜田 長晴 茨城県日立市幸町3丁目1番1号 株式 会社日立製作所日立研究所内 (56)参考文献 特開 昭56−111370(JP,A) 特開 昭57−155661(JP,A) 実開 昭57−188464(JP,U)
Claims (2)
- 【請求項1】複数ビットで構成される画像信号を入力
し、隣合う2つのライン上のビット変化点を求め、既に
符号化されたラインである参照ライン上の変化点と、符
号化すべきラインである符号化ライン上の変化点との相
対的な差を符号信号として出力する符号化装置におい
て、 画像信号を記憶する画像メモリに接続された第1の信号
バスとの接続を可能とする第1のインターフフェイス
と、 符号信号を記憶する符号メモリに接続された第2の信号
バスとの接続を可能とする第2のインターフェイスと、 前記第1のインターフェイスを介して前記画像メモリに
記憶されてる参照ラインの画像信号と符号化ラインの画
像信号とをそれぞれ複数ビット単位に交互に読み出す手
段と、 前記交互に読み出した参照ライン及び符号化ラインの画
像信号に基づいて前記符号信号を生成する符号化手段
と、 前記生成した符号信号を複数ビット単位に前記第2のイ
ンターフェイスから前記符号メモリに出力する出力手段
とを有することを特徴とする符号化装置。 - 【請求項2】特許請求の範囲第1項記載の符号化装置に
おいて、 前記符号化手段は、入力された複数ビットで構成される
画像信号における変化点の位置を検出する変化点検出部
を有することを特徴とする符号化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1184646A JP2624843B2 (ja) | 1989-07-19 | 1989-07-19 | 符号化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1184646A JP2624843B2 (ja) | 1989-07-19 | 1989-07-19 | 符号化装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58001071A Division JPS59126368A (ja) | 1983-01-10 | 1983-01-10 | 符号化復号化装置 |
Related Child Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP52A Division JPH06164945A (ja) | 1993-09-10 | 1993-09-10 | ファクシミリ装置 |
JP7029073A Division JP2551397B2 (ja) | 1995-02-17 | 1995-02-17 | 画像信号符号化システム |
JP7029072A Division JPH07274008A (ja) | 1995-02-17 | 1995-02-17 | ファクシミリ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02146870A JPH02146870A (ja) | 1990-06-06 |
JP2624843B2 true JP2624843B2 (ja) | 1997-06-25 |
Family
ID=16156876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1184646A Expired - Lifetime JP2624843B2 (ja) | 1989-07-19 | 1989-07-19 | 符号化装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2624843B2 (ja) |
Family Cites Families (10)
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 |
JPS5610074A (en) * | 1979-07-05 | 1981-02-02 | Mitsubishi Electric Corp | Electromagnetic induction coupling device |
JPS5617576A (en) * | 1979-07-20 | 1981-02-19 | Sanyo Electric Co Ltd | Facsimile receiver |
JPS5666972A (en) * | 1979-11-05 | 1981-06-05 | Fujitsu Ltd | Picture signal decoding system |
JPS56111370A (en) * | 1980-02-07 | 1981-09-03 | Ricoh Co Ltd | Memory device of facsimile |
US4360840A (en) * | 1980-05-13 | 1982-11-23 | Am International, Inc. | Real time data compression/decompression scheme for facsimile transmission system |
JPS57132478A (en) * | 1981-02-09 | 1982-08-16 | Ricoh Co Ltd | Decoding system for variable length code |
JPS57197961A (en) * | 1981-03-11 | 1982-12-04 | Fujitsu Ltd | Conversion system for image data |
JPS57188464U (ja) * | 1981-05-22 | 1982-11-30 | ||
JPS58101562A (ja) * | 1981-12-14 | 1983-06-16 | Ricoh Co Ltd | フアクシミリ装置 |
-
1989
- 1989-07-19 JP JP1184646A patent/JP2624843B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH02146870A (ja) | 1990-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE33632E (en) | Encoding/decoding system | |
US9866218B2 (en) | Boolean logic in a state machine lattice | |
US8754893B2 (en) | Apparatus and method for selectable hardware accelerators | |
US9817678B2 (en) | Methods and systems for detection in a state machine | |
EP0373291B1 (en) | Digital signal processor | |
US10929154B2 (en) | Overflow detection and correction in state machine engines | |
US6948050B1 (en) | Single integrated circuit embodying a dual heterogenous processors with separate instruction handling hardware | |
US10254976B2 (en) | Methods and systems for using state vector data in a state machine engine | |
US11947979B2 (en) | Systems and devices for accessing a state machine | |
JPH0220195B2 (ja) | ||
JP2624843B2 (ja) | 符号化装置 | |
US5239628A (en) | System for asynchronously generating data block processing start signal upon the occurrence of processing end signal block start signal | |
JP2551397B2 (ja) | 画像信号符号化システム | |
CA1293818C (en) | Data processor | |
JPH06113150A (ja) | 復号化装置 | |
JPH07274008A (ja) | ファクシミリ装置 | |
JPH06164945A (ja) | ファクシミリ装置 | |
Huang et al. | Invoice code recognition system based on fpga acceleration | |
JP2001243112A (ja) | 画像メモリアクセス装置 | |
JP2002077637A (ja) | 画像符号化装置及び画像符号化方法 | |
JPS62274458A (ja) | コ−ド変換方式 | |
JPS6341273B2 (ja) | ||
JPH01150951A (ja) | メモリアクセス方法 | |
JPH1165887A (ja) | プロセッサ | |
JPH06175980A (ja) | データ交換装置 |