JPH03501540A - データ処理システムおよび記憶プログラム制御装置 - Google Patents

データ処理システムおよび記憶プログラム制御装置

Info

Publication number
JPH03501540A
JPH03501540A JP1501082A JP50108289A JPH03501540A JP H03501540 A JPH03501540 A JP H03501540A JP 1501082 A JP1501082 A JP 1501082A JP 50108289 A JP50108289 A JP 50108289A JP H03501540 A JPH03501540 A JP H03501540A
Authority
JP
Japan
Prior art keywords
value
signal
register
instruction
values
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.)
Pending
Application number
JP1501082A
Other languages
English (en)
Inventor
スプレイグ,デービツド リロイ
ハーニー,ケビン
サイモン,アレン ヘンリー
テイラー,ハーバート ハドソン ジユニア
Original Assignee
インテル コーポレーシヨン
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 インテル コーポレーシヨン filed Critical インテル コーポレーシヨン
Publication of JPH03501540A publication Critical patent/JPH03501540A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • G06F9/267Microinstruction selection based on results of processing by instruction selection on output of storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)
  • Studio Circuits (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 ビデオ信号プロセッサ等用の条件付き分岐機能を有する記憶プログラム制御器 この発明は、高速で動作するように設計され、従って2リアルタイム・ビデオ信 号プロセッサで用いるのに適している1条件付き分岐機能を有する記憶プログラ ム制御器に関するものである。
近年、ビデオ信号圧縮の分野では大きな進歩がなされている。デジタル的にコー ド化されたビデオ信号の伝送あるいは記憶を容易にするために、その信号の冗長 度を減じるために、いくつかの方法が開発されている。この出願においては、3 つの方法、以下ては、絶対コード化、相対的コード化及び差分パルスコード変調 (DPCM)コード化と称する方法が特に関係がある。これらのビデオ圧縮技法 を以下に説明する。
絶対コード化された画像というのは、ある画像を複数の隣接したセグメントに分 割し、各セグメントにフィル(fill)値を割当てることによって生成される 。このフィル値は、一定のルミナンス及び/またはクロミナンス値とすることも できるし、またセグメント中のビクセルの位置の関数としてビクセル毎に変わる 値である場合もある。絶対コー1く化画像がデコートされて表示されると。
再構成されたセグメントからなるモザイクが生じる。
絶対コード化法は、各々が元の画像の異なるセグメントを記述する複数のデータ 記録を作り出す、これらの記録の各々には、いくつかのフィールドが含まれてお り、各フィールドには1個以上の2進語が含まれている。絶対コード化画像から の記録の一例が第1A図に示されている。この記録は、セグメントの左上隅のビ クセルの水平及び垂直方向の位置を示す2つの1バイトのフィールドX PO8 とY PO3を含んている。この記録はさらに、そのセグメントを規定する水平 及び垂直方向における、それぞれのビクセル数を示す1バイトのフィールドWと 1バイ1−のフィールドHとを含んている。絶対コード記録中の最後の3つのフ ィール+<A、B及びCはセグメントがどのようにフィルされるかを決定する。
これらの値は、ある特定のビクセルの値PWがどのように決めるかを記述する双 線形(bi 1inear)式(1)の係数である。
P V 、、 A X + B Y + C(1)この式(1)において、Cは セグメントの左上隅における、例えば、ルミナンスレベルを表わす1バイ1〜値 である。AとBは、各々、水平及び垂直方向に連続するビクセル間でルミナンス 値が変化する量を表わす2バイトの値である。XとYは、セグメントの左上隅に 対するビクセルのそのセグメント内の位置を示す値である。絶対コードの記録の この例では、ビデオ信号のルミナンス及び/またはカラー情報信号成分の各々に ついて別々の記録群があり、また、セグメンI−の全てが方形であるとしてる。
絶対コード化システムのより一般的な例は、ここに参考として挙げる“Sign al Processing” (オランダ)Vol、 11. No、 1. 1986年7月、47−60頁のコーチャ(M。
Kocher)氏及びレオナルディ(R,L6onardi)氏による論文r  Adaptive Region Growing Technique Us ing Poly−nominal Functions For Image  Approximation (画像近似用の多項関数を用いた適応型領域成 長技法)」に見出される。
前述した2番目のビデオ信号圧縮法、相対的コード化では1画像を、複数画像( −ulti−i■age)シーケンス中の前の画像から対応セグメントを用いて 規定される互いに隣接したセグメントに分割される。このコード化法はフルモー ション(全運動)ビデオを表わす一組のビデオフィールド用に適している。この 方法を用いてコード化した画像は複数のデータ記録により表わされる。記録の一 例が第1B図に示されている。フィールドx pos、y pos、w及びHは 絶対記録の場合と同じである。
2つの1バイトのフィールドΔXとΔYは、その前のビデオフィールドにおける 対応したセグメントに対するその時のビデオ信号フィールド中のセグメントの水 平及び垂直方向のピクセル偏位な示す、これらの偏位な表わす値は、表示画像中 の互いに隣接するピクセル間の距離の分数を単位としたものとすることができる 。
相対的コート記録におけるフィールドA、B及びCは絶対コート記録における対 応するフィールドと同じである。これらの値は、セグメント中のビクセル値に加 えられる値を作るために、双線形の式(1)の係数として用いられる。
相対的コード化された画像に対する記録形式(フォーマット)も、セグメントは 方形であり、かつ、画像のルミナンス及びカラー情報成分の一方のみがある与え られた記録によって記述されるとしている。相対的コード化の複雑さについての 全般的な記述は、ここに参考として挙げる“IEEE Transaction s on Communications ” 。
1977年4月、44B−455頁のプロフエリオ(S、 Brofferio )氏及びロッカ(F、 Rocca)氏の論文r Interframe Re dun−dancy Reduction of Video Signal  Generated by Tra−nslating 0bjcts (対象 を変換して生成したビデオ信号のフレーム間冗長度の減少)」に示されてしする 。
前述した第3のコート化法、DPCMは、一般的には1画像中の各ピクセルを、 予測ピクセル値と差分ピクセル値との和として記述する。この方法は、絶対コー ト記録あるいは相対的コート記録によつては簡単に記述できない画像中のセグメ ントに適用される。DPCM記録の一例が第1C図に示されている。この記録に おけるフ−r−)LtトX POS、Y POS、W及びHは、前述した絶対コ ート記録及び相対的コート記録の場合と同じである。DPCMコート記録の残余 の部分はNノ曵イトカ)うなるシリーズである。ここでNはW及びHフィールリ ドに保持されている値の積である。これらNバイトの中の第1のものD P o は、一定の予測値、例えば、128に加算されると、セグメントの左上隅のピク セルを生成するような差の値である0次のバイトDP、は、和128+DPaに 加算されてセグメントの最上部の線上の次に続くピクセル値を生成する差の値で ある。同様に、値DP。
は、128とDPOとDP、の累算和に加算されて、セグメントの最上部の線上 の第3番目のビクセル値を生成する差の値である。DPCMコード記録中のこれ らの連続する値は、各々、記録中の先行する値の累算値としてビクセル値を記述 する。DPCMコート化技術を用いたビデオ信号圧縮システムの一例は、ここに 参考として挙げる米国特許第4.125,861号r Video Signa l Encoding(ビデオ信号のコード化)」に見出すことができる。
DPCMデータが第1C図に示すように記憶または伝送される場合、ピクセルを 記述する値の各々が、コード化されていないビクセル値を同じように1データバ イトを占有するので、DPCMコード化技法を用いる利点が殆どあるいは全くな い、しかし、参考として挙げた特許第4,125,861号に記載されているよ うに、比較的に小さな値を有するコード化されたバイトの発生する頻度は、比較 的大きな値を持つコート化されたバイトの発生頻度よりはるかに大きい、このコ ード化されたバイトの不均一な分布が、上記の参考として挙げた特許においては 。
より大きな値のサンプルに対して用いられるビット数よりも少ないビット数でよ り小さな値のサンプルをコート化することによりビデオデータストリームを更に 圧縮するために利用されている。この形式の圧縮を行なう可変長統計的エンコー ダはこの技術分野では公知である。この形式のコート、ハフマン(Huff■a n)コード、を生成するためのアルゴリズムは、ここに参考として挙げるアブラ ムソン(N、 Abramson)著、r Information Theo ry andCoding (情報論理及びコート化) J 、 McGraw −旧11社刊、 1963年、77−85頁に記載されている。
上述したコード化法の各々は、ある型のビデオ情報に対しては良好に働くが、別 の型のものには、うまく働かない、コード化される画像の、比較的大きな領域が 均一または直線的に劣化するルミナンスまたはカラー情報を持っているような静 止画像あるいはモーションシーケンスの一番目のビデオフィールドに対しては、 絶対コード化法が最も適している。相対コート化法は、モーションシーケンスの 2番目及びそれ以後のビデオフィールドに対して最適である。DPCMコート化 法は、細かいディーチルな情報の領域を含む画像に最適である。
これらのコートによって効率的に表わされるビデオ情報の型が異なるために、1 つのビデオ画像を表わすために、2つ以上のコートを組合わせることが望ましい 場合がある0例えば、絶対コード化法とDPCMコード化法を組合わせると、高 低両レベルのディーチルを含む、画像コンパクトな表示を作ることができる。モ ーションシーケンスに対しては1画像の一部分を相対的コート化法を用いて表わ すことが望ましいであろう、第1A図、第1B図及び第1C図に示すように、こ れら3つのコート化法は、コンパチブルな記録フォーマツ1−を作るために調整 できる。
しかしながら、一旦そのようにコード化した後は、再生画像が自然なディーチル と動きをもって表示されるように、画像を高速でデコー1くすることが望ましい 。
この形式のコード化された画像をデコードするために使用される回路は、記憶さ れたプログラム制御器の制御の下に、調和して動作するようにされる種々の処理 素子を含んでいることが望ましい。使用することのできる記憶プログラム制御器 の1つのタイプは、最近の多くのマイクロプロセッサ集積回路に見られるような マイクロコードシーケンサである。マイクロコードシーケンサの設計の一般的論 述は、ここに参考として挙げる、ゲシュヴイント(H,W、 Gschwind )によりて著されたテキスト’Design of Digital Comp uters、 An Introduction (デジタルコンピュータの設 計、入門) J Springer−Verlang社1967年、379〜3 87頁に見られる。この論述に記載されているように、条件付き分岐動作の実施 は、マイクロコートシーケンサの設計においては重要な考慮すべき問題である。
条件付き分岐動作は、マイクロコードシーケンサによって与えられるマイクロコ ード命令のシーケンスに、マイクロコートシーケンサに対して外部の処理回路に おいである特定の条件が生じた時にそれに応答して変化を生じさせる。このよう な条件としては、例えば、ある特定のレジスタに保持されている値かOであると いうようなものかある0条件付き分岐動作が要求された時に、特定の条件が満足 されると、マイクココ−l−命令の1シーケンスがマイクロコードシーケンサに よって供給される。
条件が満足されない場合には、別の独立した命令シーケンスが供給される。
前述したようなコード化されたデータを処理するビデオ信号プロセッサにおいて は、リアルタイム・フルモーション表示を行うためには、デコーディングプロセ ッサの速度は重要な考慮すべき問題である。条件付き分岐動作の実施は5デコー デイングプロセツサの動作に大きな影響を与える0例えば、前述したテキストに 記載されている条件付き分岐動作の各々は5二者択一の命令シーケンスの一方に おける1番目の命令が、供給されることになっている次の命令でない時には、余 分に1つの命令サイクルを必要とする。この場合、この付加的な命令サイクルは 、マイクロコーlく命令を保持するランダムアクセスメモリに対する新しいアド レス値の設定と、ターゲット命令の読出しとに必要とされる。
条件付き分岐動作のいずれの結果についても、大きな時間的損失を伴わない記憶 プログラム制御器を提供することが望ましい。
この発明の原理によれば、データ処理システムの記憶プログラム制御器が提供さ れる。この記憶プログラム制御器は、複数の命令値を保持するためのアドレス回 部なメモリと、このメモリによって供給される命令値に応答して、データ処理シ ステム中の処理回路を制御する命令デコーダとを含んでいる。この命令デコーデ ィング回路によって供給されるアドレス値に応答して、記憶プログラム制御器の 内部の回路によって、2つの命令値がメモリから読出される。命令デコーディン グ回路に保持されている命令が要求されると、記憶プログラム制御器の外部にあ る処理回路中の条件の値が2メモリから読出された2つの命令のどちらが次にデ コーディング回路に供給される命令かを決定する。
前述した第1A図、第1B図及び第1C図は、3つのデータ圧縮法により作られ る記録のデータフォーマットを示す図である。
第2図は、この発明の実施例を含むビデオ信号処理回路のブロック図である。
第3A図は、第2図に示したビデオ信号処理回路のマイクロコードRAM・シー ケンシング回路として使用するに適した、この発明を実施した回路を示すブロッ ク図である。
第3B図は、第3A図に示す回路の動作を説明する際に有用ないくつかの信号に ついての、時間の関数としての信号振幅を示すタイミング図である。
第3C図は、第2図に示す回路で使用されるマイクロコードRAM・シーケンサ のためのマイクロコート制御語のデータフォーマットを示す図である。
第4A図は、第2図に示す発明の実施例で使用される算術論理演算ユニットのブ ロック図である。
第4B図は、第4A図に示す算術論理演算回路の一部ブロック図である。
第5図は、第2図に示す発明の実施例と共に使用されるデータバス回路のブロッ ク図である。
第6図は、第2図に示す発明の実施例と共に使用されるデータRAM回路のブロ ック図である。
第7A図、第7B図、第7C図、第7D図及び第7E図は、第6図に示すデータ RAM回路の動作を説明するために有用なタイミング図である。
第8A図は、第2図に示す発明の実施例と共に使用されるビクセル補間塁のブロ ック図である。
第8B図は、第8A図に示すピクセル補間器で使用される乗算器のブロック図で ある。
第9A図、第9B図、第9C図、第9D図、第9E図及び第9F図は、第8図に 示すビクセル補間器の動作の説明に用いる図である。
第10A図は、第2図に示すビデオ信号処理回路で使用するに適した統計的デコ ーダのブロック図である。
第10B図は、第10A図に示す回路の動作を理解する際に有用なタイミング図 である。
第11A図は、第2図に示すビデオ信号処理回路で用いるに適した入力FIFO 回路のブロック図である。
第11B図は、第11A図に示した回路の動作を理解する際に有用なタイミング 図である。
第12A図は、第2図に示すビデオ信号処理回路で用いるに適した出力FIFO 回路のブロック図である。
第12B図は、第12A図に示す回路の動作を理解する際に有用なタイミング図 である。
第13A図と第13B図は、第2図に示す発明の実施例と共に使用されるV R A M ft1ifユニツトのブロック図である。
第13C図は、第13A図に示す回路の動作を理解する際に有用なタイミング図 である。
第14図は、第2図のビデオランダムアクセスメモリに、圧縮じれたデータがど のように記憶されるかを示すメモリマツプ図である。
第15図乃至第23図は、第2図乃至第13図に示す回路の動作を説明する際に 有用な制御フロー図及び他の図である。
図面において、aの広い矢印は、複数ビットの並列デジタル信号を伝送するため のバスを表わし、線の矢印は、アナログ信号または1ビツトのデジタル信号を伝 送する接続を示す、装置の処理速度に応じて、信号バスのあるものにおいては補 償用遅延が必要となることがある。デジタル信号処理回路の設計の分野での当業 者には、ある特定のシステムのどの部分にそのような遅延が必要とされるかは分 かる筈である。
第2図は、ビデオ信号処理回路210とそれに付随する周辺回路を示すブロック 図である。この発明のこの実施例においては、回路210は1つの集積回路とし て具体化されている。このビデオ信号処理システムを第2図のみを参照して簡単 に説明し、その後で、第2図〜第13図を参照して詳細に説明する。この出願の 第3の部分は第14図〜第23図を参照し、システムの各構成要素がどのように 平行して動作して、第1A図、第1B図及び第1C図に示すようなフォーマット の圧縮ビデオデータをビクセル値に変換するかを説明する。
第2図において、圧縮されたビデオ信号の信号源212は、前述したビデオ信号 圧縮技術の1またはそれ以上を用いて圧縮され、また、統計的にコード化された データを含んでいるビデオ信号データを供給する0発明のこの実施例においては 、信号源212により供給されるデータは、ビデオ信号プロセッサ210の内部 にあるVRAM制御ユニット238の制御の下にビデオランダムアクセスメモリ (VRAM)216に供給される0発明のこの実施例で用いられる信号l!l! 212はコンパクトディスク読出し専用メモリ(CD ROM)である、この信 号源は、圧縮されたデータ(圧縮データ)を、例えば、各々が32ビツトで構成 されたブロックとしてVRAM216に連続的に供給する。VRAM制御ユニッ ト238は、信号源212と回路210からのV RA M 215へのデータ アクセス要求を調整して、信号源212により供給されるデータの全てが確実に V RA M 216に書込まれるようにする。
発明のこの実施例で用いられるV RA M 216はNECエレクトロニクス 社により製造されているμP D 4126464KX4ビツトデユアルポート ・ランダムアクセスメモリ集積回路128個で構成されている。このメモリ集積 回路は、 16行8列のマトリクスに配列されている。このような構成では、V RAM216は、各々32ビツト(7)1,0413゜576語として配列され た、4メガバイト(4MB)の記憶を提供する。
表示器用プロセッサ218は、直列出力ボートを介してV RA M 216に アクセスして、表示されたビデオ信号の有効ビデオ部分を生成する。ビデオ信号 処理回路210と圧縮ビデオ信号源212は標準的な入力−出力バスを介してV  RA M 216のデータセルにアクセスする。ビデオ信号プロセッサ210 と表示器用プロセッサ218とによるVRAM215 ヘ(7)7’;l’cス は全て、回1210 のVRAM制御ユニット238により制御される。
VRAM216に保持されたデータは、統計的デコーダ2コ0と、大刃先入れ先 出し回路(以下、FIFOと称する)232と234とによって処理回路210 に供給される。
また、データは回路21Oによって、出力FIFO回路236を介してVRAM 21[iに供給される。統計的デコーダ230と入力FIFO232と234に より供給されるデータ値は、データバス回路242、算術論理演算ユニット(A LU)244及びデータRA M 228に対し、双方向データバスBBυSを 介して供給される。バスB BUSはVRAM制御ユニット238に対してアド レス値を供給するためにも用いられる。第2の双方向バスA BU回路242  、 ALU244及びデータRA M 228の間でバスさせ、また、ピクセル 補間器246との間でデータの授受を行うための代替手段を形成する。上述した 接続に加えて、データバスA Busはマイクロコー)CRAM・シーケンサ2 26に接続されており、場合によりてはマイクロプロセッサ224にも結合され る。
概括的に説明すると、第2図に示す回路は次のように動作する。信号源212に より供給される圧縮ビデオ信号はV RA M 216に書込まれる。これらの 圧縮ビデオ信号はシーケンシング回路226の制御の下に、統計的デコーダ23 0と入力FIFO2:32と234とを介してアクセスされる。デコーダ2コO とF I F 0232 、234により供給される値は、同じくシーケンシン グ回路225の制御の下に、データバス242 、 ALU244及びビクセル 補間器246に供給されて、圧縮されたビデオ信号を伸張し、また、コード化さ れた画像を記述するビクセル値を生成する。このようにして生成されたビクセル 値は、例えば240行256列のマトリクスとして、出力PIFO236を介し てV RA M 216に書込まれる。これらの行と列は、各線が256のビク セル値を持つビデオ信号の240本の線に相当する。以下、このマトリクスをビ ットマツプと称する。このビットマツプは、表示用プロセッサ218によってV  RA M 21Bから読出され、画像が再生される0発明のこの実施例と共に 使用される表示器用プロセッサは、ビットマツプ中のピクセル値をビデオ信号に 変換し、また5画像をラスク走査表示装置上に再生できるようにするために必要 な水平及び垂直同期信号を加える。
V RA M 216から表示器用プロセッサ218へのデータの転送を調整す るために、水平線同期信号H3と垂直フィールド同期信号vSがそれぞれの信号 源220と222からプロセッサ210と218へ供給される。この発明の推奨 実施例では、これらの信号は表示器用プロセッサ218で生成するようにしても よい。
発明のこの実施例では、クロック信号の信号源225がマイクロコートRAM・ シーケンサ回路226に、25 Mllzのクロック信号CLKを供給する0回 路226は、各々12.5 Mllzの周波数を有する信号CKとCK’、信号 CKと実質的に同じ周波数と位相を持つ信号CKA及び、信号CKと実質的に逆 位相の信号CK aとを発生する。信号CKAとCK、はデータバス242 、  A L U 244及びビクセル補間器246に供給される。信号CKは統計 的デコーダ230、入力F X F 0232 、234及び出力PIF023 6に供給される。信号CK’はV RA M f!j制御ユニット238に供給 される。
第2図に示す回路の説明を簡単にするために、圧縮ビデオ信号源はコー1く化さ れたルミナンス信号のみを供給し、回路210はビットマツプを1つだけ、即ち 、ルミナンスビットマツプのみを形成するものとする。現実のシステムでは、カ ラー情報信号1例えば、I及びQ色差信号用の別のビットマツプも作られる。
前述したように、ビデオ信号処理回路210における中心の制御素子はマイクロ コードRAM・シーケンサ回路226である。第3A図は、マイクロコードRA M・シーケンサ226として用いるに適した回路を示すブロック図である。マイ クロコートRA M 310は、各々が96ビツトを有する128語として構成 されている通常のランダムアクセスメモリである1通常動作時は、マイクロコー ドRA M 310は、アドレスレジスタ322に保持されているアドレス値の 7個のMSBによりア1くレスされて、96ビツトからなる語(96ビツト語) をレジスタ312の入力ポートに供給する。レジスタ312は、制御回路308 により供給される信号LDによって、その人カポ−1−に供給される値をロード するようにされる。マイクロコードRAM310により供給される96ビツト値 の各々は、2つの48ビットマイクロコード制御語、即ち、命令を含んでいる。
レジスタ312の48個のMSB位置にあるこれらの命令の一方は、マルチプレ クサ(MUX)314の一方の入力ポートに供給され、レジスタ312の48個 のLSB位置にある他方の命令がマルチプレクサ314の第2の入力ポートに供 給される。マルチプレクサ314はフリップ・フロップ318により供給される 1ビツトの信号により、48ビツト命令の一方を命令レジスタ316の入力ポー トに通過させるようにされる。命令レジスタ316は、制御回路308により供 給される信号L1に応答して、その入力ポートに供給されたマイクロコート制御 語をロードする。
命令レジスタ316の個々のビットはバスMCWを介して、ビデオ信号処理回路 210の構成素子の各々の制御入力端子に接続されている。マイクロコードRA  M 31Gにより供給されるマイクロコート制御語が命令レジスタ316を通 ってシーケンスすると、回路210の個々の構成素子は、協同して、圧縮ビデオ データなビットマツプビクセルデータに変換する動作を行うようにされる。マイ クロコーIく制御語の各ビットの機能は第3C図を参照して後述する。
ビデオ信号プロセッサ210によって用いられるクロック信号CKとCK’はマ イクロコードRAM・シーケンサ226に含まれている回路によって発生される 。信号源225により供給される25 Mllzのクロック信号CLKは、この 信号CLKの周波数を2分の1に分周して、12.5M1lzのクロック信号C K’を作る分周回路304に供給される。信号CLKはさらにANDゲート30 Bの一方の入力端子にも供給されている。ANDゲート305の他方の入力端子 はインバータ302に結合されており、マイクロプロセッサ224により供給さ れる信号HA L Tを反転して得られ信号を受取る。ANDゲート306の出 力信号は、その周波数を2分の1に分周して12.5 MHzのクロック信号C Kを作る分周回路307に供給される。信号)KALTが論理O値を持つ時は、 信号CKは12゜SMHzの方形発振信号となる。しかし、信号HALTか論理 1に変化すると、クロック信号CKの状態は、信号HA L Tの変化が生じた 時の状態、論理lまたは論理Oに凍結される。
以下に述べるように、マイクロコート制御語の8個のLSBはNEXT ADD RESSフィールドを規定する。どのマイクロコート制御語でも、このフィール ドは、マイクロコードRA M 310中の、命令レジスタにロートされるべき 次のマイクロコード制御語のアドレスを含んでい!、NEXT ADDRESS フィールドに保持されている値はマルチプレクサ(MUX)320を介してアド レスレジスタ322に供給される。NEXT ADDRESS値のLSBはクリ ップ・フロップ318の入力端子りに供給される。アドレスレジスタ322とフ リップ・70ツブ31Bは信号CKによって、それぞれの入力ボートに供給され た値をロートするようにされる。
後述するようにデータバス回路242により供給される信号CDがフリップ・フ ロップ318のリセット入力端子Rに結合されている。信号CDの値は、マイク ロコード制御語の条件コート選択(COND C0DE S EL)フィールド (後述)によって制御される。この信号は、命令レジスタ316に供給されるマ イクロコート制御語のシーケンスを条件(状態)に応じて変化させるために、マ イクロコードRAM・シーケンシング回路226で用いられる。信号CDは、信 号処理中で前に生起した状態、例えば、A L U 244の出力値がOである というような状態を表わす。選択された条件が真の時は、フリップ・フロップ3 18により供給される出力信号Qは論理0になる。この値はマルチプレクサ31 4がレジスタ312の48個のLSBi置に保持されている値を命令レジスタ3 16に送るようにする。
この回路が、マイクロコートRAM・シーケンサ回路226の制御の流れ(フロ ー)を条件に応じて変える、すなわち、条件付き分岐(ブランチ)を行うために どのように用いられるかを理解するために、マイクロコート制御語AがそのC0 ND C0DE SELフィールドに非O値(Oでない値)を有し、かつ、NE XT ADDRESSフィールドに値81を持つものと仮定する。このマイクロ コート制御語が命令レジスタ316にロードされると、NEXT ADDRES Sフィールド中の8ビツト値はアドレスレジスタ322に供給され、マイクロコ ードRA M 330のアドレス80と81にあるマイクロコード制御語がレジ スタ312にロードされる0条件信号CDの値が論理0なら、レジスタ312の 48個のMSB位置(アドレス81)を占めているマイクロコート制御語が次に 用いられることになる。信号CDの値が論理0でない場合は、レジスタコ12の 48個のLSB(i置(アドレス80)を占めているマイクロコード制御語が次 に用いられる。これらの命令の各々はそれデれ異るNEXT ADDRESSフ ィールドであり、従って、各々がマイクロコード制御語の異るシーケンス、即ち 、ビデオ信号プロセッサ210の異る作用を規定する。マイクロコードRA M  310が条件コートの可能な値の両方についての次の命令を供給するので、条 件コートの値がめられると1次のマイクロコード制御語を取出すために時間をロ スすることがない。
マイクロス−1’RAM・シーケンサ回路226は、バスA BLJSを介して 供給されるマイクロコード制御語をマイクロコードRA M 310にロードす ることができる。
各々がマイクロコード制御語の3分の1を表わす3個の16ビツト値が3個のレ ジスタコ24に次々に供給される。
最初の16ビツト値がレジスタMROに、第2の16ビツト値かレジスタMRI に、そして、第3の16ビツト値がレジスタMR2にそれぞれ記憶される0次に 、同じく入力FIFO232とデータRA M 228を介しr V RA M  216により供給されるようなアドレス値がアドレスレジスタ322に供給さ れる。このアドレス値のLSB、即ち、信号DXCは、デマルチプレクサ(DE MUX)326に働いて、3つのレジスタMRO1MRI、MR2により供給さ れる48ビツト値が、マイクロコードRA M 310に対するI10バスの4 8個のMSB位置と48個のLSB位置のいずれか一方に供給されるようにする 。同時に、書込み可動化(イネーブル)信号WEが生成され、REM310が4 8ビツト値をアドレスされたメモリセルに記憶するようにする。
これらの動作によってマイクロコードRA M 310に書込まれたマイクロコ ード制御語は、VRAM216から、例えば、入力FIFO232とデータRA M回路228とを介して供給される。VRAM216からのマイクロコード命令 をロードすることができることにより、圧縮ビデオ信号源212は、圧縮された データとそれを伸張するために必要な命令の双方をビデオ信号プロセッサ210 に供給することが可能となる0例えば、最初、後述するようにプロセッサ210 を制御するマイクロプロセッサ224によって、ブートストラッププログラムが マイクロコートRA M 310にロードされる。このブートストラッププログ ラム中の命令に応答して、マイクロコードRAM・シーケンサ回路226は、圧 縮ビデオデータをデコードするようにプロセッサ210を可動化する、VRAM 211iからの命令をロードする。
第3B図は、マイクロコート制御MMCがマイクロコードRA M 310に記 憶される時のマイクロコードRAM・シーケンシング回路226の動作を説明す るタイミング図である。このタイミング図において、記号T、〜TSは6つのマ イクロコード命令を表わしている。各命令サイクルは信号CKAの正方向への遷 移で始まり、終る。
命令サイクルT0においては、命令レジスタ316に保持されているマイクロコ ート制御命令はそのA DSTフィールドにある値(例えば8)を有し、この値 は、バスA Busにより伝送される16ビツト値がレジスタMROに記憶され ることを示す、この命令サイクルでは、値MCO,即ち、マイクロコード制御語 MCの16個のしSBが1例えばデータRAM回路228によってバスABUS にゲートされる。命令サイクルT0においては、レジスタMROは信号A DS Tによって、バスABUSにより供給される16ビツト値MCOを記憶するよう にされる。この記憶動作は、命令サイクルT0の中間点における信号CKAの負 方向への遷移に一致して生じる。値MCOがレジスタMROに記憶されるのと実 質的に同時に、命令レジスタ316中のマイクロコード制御語のNEXT AD DRESSフィールド中の値がアドレスレジスタ322に記憶され、かつ、この アドレス値のLSBかフリップ・フロップ318に記憶される。アドレスレジス タ322に記憶された値は、マイクロコードRAM310が、次の命令を含んで いる96ビツト値をレジスタ312に供給するようにする。この96ビツト値は 、命令サイクルT0の中間点よりもいくらか後で生じる信号LDの負方向への遷 移と一致して、レジスタ312にロードされる。フリップ・フロップ318に保 持されている1ビツト値に応答して、アドレスされた48ピツトのマイクロコー ド制W語が命令レジスタ316の入力ボートに供給される。このマイクロコード 制御語は、命令サイクルT0の終了時に生じる信号Llの負方向のエツジと一致 して。
命令レジスタ316にロードされる。命令サイクルT8においては、新しくロー ドされたマイクロコード制御語が、マイクロコード制御語MCの中間の16ビツ トを表わす値MCIを、MRIがロードするようにする。同じようにして、命令 サイクルTlの終了時に命令レジスタ316にロードされたマイクロコード制御 語がレジスタMR2に働いて、命令サイクルT、においてマイクロコード制御語 MCの16個のMSBをロードするようにする。
命令サイクルT2の終りに命令レジスタ31Bにロードされたマイクロコート制 御語は、レジスタ324からマイクロコートRAM310へのマイクロコートf tjl W M M C(7)転送を制御する。マイクロコード制御語MCを記 憶するために用いられるアドレスは、バスA Busを介して供給される。命令 サイクルT3の開始時において、命令レジスタ315中のマイクロコート制mx hmA DSTフィールドは値11を持ち、これは、ハスA Busにより供給 される16ビツト値かアドレスレジスタ322にロートされることを示す、AD STフィールド中のこの値に応答して、制御回路308が、信号MXCとして論 理l値を信号CKのほぼ1サイクルの間、マルチプレクサ320に供給する。こ の信号はマルチプレクサ320をして、バスA Busによって供給される値の 8個のLSBをアドレスレジスタ322の入力ボートに供給せしめる。このアド レス値は、命令サイクルT、における信号CKの最初の負方向遷移に一致してレ ジスタ322にロートされる。アドレスレジスタ322に保持されている値のL SB、即ち、信号DXCはデマルチプレクサ326の制御入力端子に供給される 。デマルチプレクサ326は、論理lまたは論理0の値を持った信号DXCによ りて、レジスタ324により供給される48ビツト値をゲートして、I10バス の各48個のMSB位置または48のLSB位置に供給するようにされる。
信号DXCは、ANDゲート311とコ1コを介1ノて、マイクロコードRA  M 310の各半部に対する別々の書込み可動化信号を生成する。前述したよう に、マイクロコードRA M 310は、各々が9Sビツトを有する125語と して構成されている。このメモリは2つの部分に分割されている。左側の半部は iza語の48個のMSBを含んでおり、右側の半部はのLSBを含んでいる。
信号DXCは、ANDゲート31コにおいて、制御回路308により供給される 書込み可動化信号WEと組合わされて、マイクロコーFRAM310の左半部の ための書込み可動化信号を生成する。信号DXCは反転され2ゲート311によ って信号WEと論理的にAND処理されて、マイクロコードRA M 310の 右半部のための書込み可動化信号を生成する。
この例においては、信号DXCは、命令サイクルT3の開始時の信号CKのほぼ 1周期の間、論理lの値を持つ。従って、マイクロコード制v4語MCは、アド レスレジスタ322に保持された7個のMSBの値によって表わされるアドレス 値を持りた、マイクロコードRA M 310中のセルの48個のMSB位置に 書込まれる。マイクロコート制御語は、第3B図に示し信号WEと一致してマイ クロコードRA M 310に書込まれる。
命令サイクルT3はメモリ書込み動作を行うので1次のマイクロコード制御語は 、信号CKの最初の周期では、命令レジスタ316にロードされない、この動作 は命令サイクルT3中の信号CKの2番目の周期で生じる。
命令サイクルT3中の信号CKの2番目の正方向への遷移と一致して、信号MX Cの値は論理0に変り、命令サイクルT0について前述したように、命令取出し 動作が行われる。マイクロコードRAM・シーケンシング回路226は、命令サ イクルT、及びT、の間、命令期T。について述べたような態様で動作する。
ft53B図に示した例ては、誤ったマイクロコート制御語がレジスタ312と 316にロードされないようにするために、命令レジスタT、の前半部では、信 号LDとLlは禁止されている。またビデオ信号処理回路を休止状態に置くため に、命令サイクルT、の後半部では、制御回路308によつて信号CK AとC K、は凍結されている。
これはALU244.データRA M 228及びビクセル補間器246の間の 同期動作を維持するために行われる。命令サイクルT、の後半部ではクロック信 号CK AとCK。
は非可動化(ディスエーブル)されるので、A L U 244、データRA  M 22B及びビクセル補間器246の内部状態はこの期間中は変化しない。
この発明のこの実施例においては、マイクロコートRA M 310に対するデ ータ読出し動作とデータ書込み動作は信号CKの別々の周期に行われる。しかし 、そうする代りに、マイクロコードRAM・シーケンシング回路225を、信号 CKの1つの周期中で2つの動作を行うように構成してもよい。
制御回路308は、休止論理240により供給される信号PAUSEにも応答し 、クロック信号CKAとCKlBを凍結させる。さらに、制御回路308はマイ クプロセッサ224により供給される信号HA L Tに応答し、信号Cにを禁 止して、実効的に、VRAMIN御ユニッl−238を除くビデオ信号プロセッ サ210全体の内部状態を凍結させる。
信号HALTを用いてマイクロプロセッサ224はビデオ信号プロセッサ210 の制御機能を実効的に引受ける。
信号HALTは命令レジスタ316に供給されて、このレジスタをして、ゲート 回路223を介してマイクロプロセッサ224により供給されるバスMCWから データを受入れしめる。マイクロプロセッサ224はレジスタ316をして、信 号HALTを論理lから論理0に変化させることにより、供給されたマイクロコ ート制御語をロートさせしめる。上記変化後のクロック信号CKの次の周期にお いて、マイクロコートRAM・シーケンサ回路226はこのマイクロコート命令 が実行されるようにする。このクロック周期が完了すると、マイクロプロセッサ 224は再び信号HALTを論理l値に変化させ、別のマイクロコード命令をレ ジスタ316に供給する。このような動作により、マイクロプロセッサ224は 、マイクロコードRAM・シーケンサ回路226をしてバスA BusまたはB BUSに接続されたレジスタにデータを書込ませ、あるいは、前に述べたように 、ブートストラッププログラムをロードするようにする。さらに、マイクロプロ セッサ224がバスA Busに接続されていることと、第5図を参照して後述 するバスゲート520とにより、マイクロプロセッサ224はどのレジスタの内 容でも、また、バスABυSあるいはB Busの内容でも読出せる。
第3C図はマイクロコードRAM・シーケンシング回路226によって用いられ るマイクロコート制御語、即ち、命令のフォーマットを示す、制g4:!は13 のフィールドを含んでいる。各フィールドを、以下、そのフィールドが持ち得る 値と、その値がビデオ信号プロセッサ210の各構成素子に対して持つ作用とに よって説明する。制御される構成素子の構造は第4図乃至第13図を参照して後 述する。
マイクロコート制m語のビット0〜7は、NEXTADDRESSを形成する。
これらのビットにより表わされる値は、マイクロコーPRAM310における。
命令レジスタ316にロードされるべき次のマイクロコード制O1語のアドレス である。ある与えられたマイクロコード命令サイクル中、このフィールドによっ て表わされた値はマイクロコアドアドレスレジスタ322に記憶される。
条件コート選択フィールドC0ND C0DE SELはマイクロコード制御語 のビット8〜lOを占める。これらの3ビツトは、後述するデータバス回路24 2中の条件レジスタに保持されている条件値の1つを選択する。
選択された条件値が信号CDである。この信号は条件付き分岐動作を行うために 用いられる。前に述べたように、条件付き分岐は命令レジスタ316に供給され るマイクロコード制御語のシーケンスの変更であり、これは選択された条件が満 足される時(即ち、CDが論理1の時)のみに生じる0表1は条件コード選択値 とそれに対応する記述をリストしたものである。
C0ND C0DE SEL 選択されたフィールドの値 条件の記述 ONULL条件付き分岐なし I ALUキャリーアウトフラグ 2 ALUオーバフローフラグ 3 ALU出力値は負である 4 ALU出力値はOである 5 データバス242中のループカウンタの値は0である。
6 データバス242中のレジスタROのLB 7 データバス242中のレジスタROのMB マイクロコード制御語のビット11〜29は、バスABUSとB BUSを介し て回路210の各構成素子間でデータ値がどのように転送されるかを制御する4 つのフィールドを含んでいる。ビット11〜15はA SRCフィールドである 。このフィールドは、構成素子のうちのどの構成素子が、あるいは、ある構成素 子中のどのレジスタが出力値をバスA BUSに供給することにより信号源とし て働くかを示す、マイクロコード制g4語のビット16〜20はA DSTフィ ールドで、このフィールドは、構成素子のうちのどれが、あるいは、ある構成素 子中のどのレジスタが、バスA BUS上にある値をその入力値として受入れる ことにより宛先として働くかを示す、同様にフィールドB SRC、ビット21 〜24、及びフィールドB DST、ビット25〜29は、それぞれ、回路21 0のどの構成素子がバスB Busに値を供給し、どの素子がバスB BUSか ら値を受取るかを決める。バスA BUSとB 、BUSは、ビデオ信号プロセ ッサ210の種々の構成素子にデータと制御情報の両方を伝送することがてきる 。バスA BusとB Busに結合されるレジスタとこれらのバスによって伝 送される制御情報については1回路210の適当する構成素子を参照して以下に 述べる。
一般的に、バスA BusとB Busに結合されたレジスタは、マイクロコー ド制御語のフィールドASRC,A DST、B SRCまたはB DSTの1 つに結合される通常のデコーディング回路(図示せず)を含んでいる。このデコ ーディング回路は、レジスタへのアクセスを許容する制御値が検出されると、論 理l値を生じさせる。ASRCフィールドに応答するデコーディング回路は、マ イクロコート制v4開のLIT SELフィールド、ビット31、における論理 lの値によりて禁止される。このビットが論理lの時は、A SRCフィールド 中の値は有効なA SRC値ではなく、後述する8ビツトのリテラル値の一部で ある。フィールドASRCとB SRCとによって制御されるレジスタに対し、 デコーディング回路の出力値がレジスタの出力可動化入力端子に結合される。こ の入力端子に論理l値が供給されると、レジスタはその記憶されている値を該当 するバスに供給するようにされ、論理0値が供給された場合は、そのレジスタは バスに対して高インピーダンスを呈する。フィールドA DST及びB DST により制御されるレジスタに対しては、デコーディング回路の出力値がレジスタ のデーターロード入力端子に結合される。これらのレジスタは2デコーディング 回路によって供給される信号が論理l値を持っている間は、該当するバスによフ て伝送されてきた値をロートするようにされる。
マイクロコート制御語のビット30はフィールドDECLOOP CTRである 。このフィールドが値lを持つている時は、データバス回路242中のループカ ウンタは、マイクロコート命令サイクル中、その個を減じるようにされる。
マイクロコード制maのビット31はフィールドLXT SELである。このフ ィールドに1の値があると。
マイクロコー1<RA M・シーケンシング回路226は、その時のマイクロコ ード制御語のビット8〜15をリテラル値として扱うようにされる。この値の出 所(ソース)値として、バスA Busの8個のLSB位置に、マイクロコート 制御語のビット31により可動化されるゲート回路317を介して供給される。
デジタル値源315からの0値が、リテラル値が選択された時に、バスA BU S上の8個のMSB位置に供給される。
マイクロコート制御語のビット31は、さらに、前述したようにバスA Bus を出所として用いるレジスタと、後述するようにデータバス回路の条件コート論 理518にも供給される。
マイクロコード制御語のビット32は、INT gPフィールドである。このビ ットが論理l値を持っている時は、マイクロプロセッサ224が中断される。こ の制御機能は1例えば、あるマイクロコード命令シーケンスが完了したことをマ イクロプロセッサ224に知らせるために使用できる。
マイクロコード制御語のビット33は、L A T CHC0ND C0DEフ イールドで、このフィールドが1の値を持つ時は、データバス回路242は、A  L U 244により生成された種々の条件の値を条件コートレジスタにラッ チする。この制御機能は、一般には、条件付き分岐動作に対する条件を選択する 命令に先行する命令中に含まれている。
マイクロコード制御語のビット34と35は、S HI FT C0NTフイー ルドである。このフィールドは、データバス回路242のレジスタROによって 行われるビットシフト動作を制御する。表2は、5HIFT C0NTフイール Iくの種々の値に応答すてレジスタROによって達成される機能を示す。
表 2 値 機 簡 Oシフトなし l 全てのビットをLSBの方へ1ビツト位置シフトさせる。シフト動作前の値 のMSBはシフト動作で生じた値のMSB位置に複写される。
2 全てのビットをMSBの方へ1ビツト位置シフトさせる。シフトされた値の LSBは0である。
3 その時の命令サイクル中にレジスタROに供給される値の上位と下位のバイ トをいれかえるマイクロコート制御語のビット38〜46は、マイクロコード命 令サイクル中のA L U 244の機能を決定する。AL U 244の機能 を理解するために、初めにその構造を説明することが理解を助ける。第4A図に 示すA L U 244は5つの部分、即ち、2つのオペランドλカレジスタ4 10と412、算術論理演算回路(ALC)414.出力レジスタ416及びデ マルチプレクサ(DEMUX)418 。
からなる。レジスタ412はバスB Busに接続されており、バスMCWを通 して与えられるマイクロコード制御語のビット36中の値lによりて可動化され て、バスB Busからの値をロードする。レジスタ41GはバスA Busに 接続されておりマイクロコード制御語のビット37中の1の値によりて可動化さ れて、バスA BUSからの値をロードする。’ALC414はレジスタ410 と412に保持されている値について種々の算術論理演算を行う、任意の1つの 命令サイクル中に実行される@算は、バスMCWを通してALUに供給されるマ イクロコート制御語のピッ1−38〜46のフィールドALU 0PCODHに 保持されている9ピッI−値によって制御される。この9ビツトのフィールドに おいて、ピッl−38〜44に保持されている値は、表3の通りに、ALUによ って実行される機能を決定する0表3において、A及びBはそれぞれレジスタ4 10と412に保持されている値を表わし、CINは、ALC414のキャリー イン入力端子CINに供給される値を表わす。
31 AとBの0R(A ORB) 33 NOT A 34 演算なし 36 NOT B 47 AとBのX0R 65NOT A十〇lN 117 A十〇lN 68 NOT B十CXN 71 A−B−NOT ClN 76 B十ClN 77 B−A−NOT ClN 79 A+B+ClN 85 AとBのAND (A AND B)この表において、rNOTJはlの 補数演算を表わし、rXORJは排他的OR演算を表わす。
マイクロコート制御語のビット45と46は、バスMCWを介してマルチプレク サ(MUX)420に加えられて。
キャリーイン信号CINを変化させ、また、ADD動作(OP COD E 7 9)を飽和を伴う2 重A D D (dual−ADD−with−satu raLe )動作に変える。ビット45と46が両方共Oの時、あるいは、ビッ ト45がOでビット46はlの時は、マルチプレクサ420は、デジタル値源4 22からの0の値を信号CINとして供給する。ビット45が1でビット46が 0の時は、マルチプレクサ420はデジタル値源424からの1の値を信号CI Nとして供給する。ビット45と46の両方が1の値を持つ時は、マルチプレク サ420により供給されるCIN入力値は、データバス回路242の条件コート レジスタにより供給されるキャリーアウト条件値C0UTである。
A L C414に生成される信号CARRY、OUTは。
第4B図に示される16ビツト加算器のMSB段により与えられるキャリーアウ ト信号である。信号5IGNは、A L C414により生成される16ビツト の出力MSBである。信号0VERFLOWは、A L C414に供給される 2個の入力値の符号ビットとALC414によフて生成される出力値の符号ビッ トとの論理的組合わせである。この信号は、2個の負の入力値によって正の出力 値が生成される時或いは2個の正の入力値によフて負の出力値が生成される時に 論理1を持っている。3個の符号ビットの他の組合わせすべてに対して、信号0 VERFLOWは論理0の値を持っている。
加算動作は、ビット45がOでビット46が1である時に飽和を伴う2重加算動 作になる。この飽和を伴う2重加算動作では、 16ビツトのレジスタ410及 び412の各々は2個の8ビツト値を収容しているものとして処理される。レジ スタ410に保持される値の8個のMSBとレジスタ412に保持される値の8 個のMSBとが加算され。
その加算結果が出力レジスタ416の8個のMSBに記憶される。同様に、レジ スタ410及び41kに保持される値のそれぞれの8個のLSBが互いに加、算 され、その加算結果がレジスタ416の8個のLSBに記憶される。これらの加 算動作の何れによってもオーバフロー状態が生じることはなくALC414中の 回路によって加算料が飽和する。もし2重加算動作への入力値が8個のLSBの 和或いは8個のMSBの和の何れかによって負のオーバフロー状態或いは正のオ ーバフロー状態が生じるようなものであれば、加算用に与えられる値はそれぞれ 0或いは255に飽和しており、これらは8ビツトの符号のない2進僅によって 表わされ得る最小値及び最大値である。
従来型の加算と飽和を伴う2重加算動作との間で切替を行うために、従来型でな い加算器がA L C414に使用される。
第4B図には、ALC414に使用されるのに適した加算器がブロック図で示さ れている。従来型の16ビツトの算術論理演算回路であれば、2個の16ビツト から成る2の補数とキャリーイン信号とを加算して16ビツトから成る2の補数 の出力値とキャリーアウト信号とを生成できる16ビツト加算器が含まれている 。第4B図に示される回路は、信号5PLITに応答してこの信号5PLITが 0の時は従来型の16ビツトの2の補数加算器として動作し、信号5PLITが 1の時は上述の飽和を伴う2重加算モードで2個の独立した8ビツト加算器とし て動作する。
第4B図において入力ボートA及びBに供給される2個の16ビツト入力値は各 々8個のMSBの部分(以下8M5B部分と呼ぶ)と8個のLSBの部分(以下 8LSB部分と呼ぶ)とに分割される。六入力値及びB入力値の8M5B部分は それぞれ加算器450の異なる入力ボートに供給される。A入力値及びB入力値 の8LSB部分はそれでれ加算器452の異なる入力ボートに供給される。この 実施例に使用される加算器450及び452は従来型の8ビツトの2の補数加算 器である。加算器452へのキャリーイン入力信号はA L C414へ供給さ れる信号CINである。加算器450へのキャリーイン入力信号はANDゲート 454によって与えられる。この信号は、加算器452によって与えられるキャ リーアウト信号CO0とインバータ456によって与えられる信号5PLITの 論理反転分である信号5PLITとの論理AND (論理積)である、加算器4 50によって与えられる8ビット出力値号のMSB位置の信号は、A L C4 14によフて与えられる値の極性を示す条件信号5IGNである。加算器450 のキャリーアウト信号CO,は、ALC414によつて与えられる信号CARR Y OUTである。
加算器450によって与えられる8ビツト値は、ALC414の入力ボートA及 びBに供給された値の8個のMSBの2の補数和である。この出力値のMSBは 排他的ORゲート472の一方の入力端子に供給され、このORゲ=)−472 の他方の入力端子は信号5PLITを受取る。
排他的ORゲート472によって与えられる出力信号は、加算器450によつて 与えられる値の7個のLSBと連結され、8ビツトの変形和が生成される。信号 5PLITか0の時、この変形和は、2個の8ビツトの2の補数値の和を表わす 8ビツトの2の補数値である。しかし、信号5PLITが1である時、この変形 和は8ビツトの符号のない2進値と8ビツトのオフセット128の2進値との和 を表わす8ビツトの符号のない2進値である。
ALC加算器に供給される入力値の形の変更は加算器の回路の機能ではなくビデ オ信号プロセッサ210をプログラムするために定められた約束である。この約 束によって、信号5PLITが0の値を持つ時、ALC加算器に供給される値は 従来型の16ビツトの2の補数値である。しかし信号5PLITが1の値を持つ 時、加算器450及び452の各々に供給される値の一方は8ビツトの符号のな い2進値であり、他方はオフセット128表記の8ピッ1−値である。これらの 値は、バスA BUS或いはB BUSに対する出所として動作し得る如何なる 装置の如何なるレジスタによりても与えられる。
信号5PLITが1の時、8ビツトの符号のない2進入力値は0と255の間の 値の範囲を占め、オフセット128はそれぞれに対して−128と+127の間 の値の範囲を占めることが出来る。従りて、変形和は−128と382を含めて その間の値を表わすことが出来る。しかし、このモードでの変形和は8ビツトの 符号のない2進数であるため、Oと255の間の数だけが有効である0図4B図 に示されるALC加算器には、この有効な範囲外にある値を検知し、変形和の値 を0より小さい値に対しては0に又255より大きい値に対しては255に飽和 させる即ち限定する。
ANDゲート470が、変形和の値が255より大きいことを示す正のオーバフ ロー信号povtを発生する。ANDゲート470への3つの入力信号は、信号 5PLITと、加算器450からのキャリーアウト信号CO1と、加算器450 によって与えられる8ビツト値のMSBである。信号pov、は、信号5PLI Tが0の時、或いは信号5PLITが1で変形和の値が256より小さい時にO となる。信号pov、は8個(7)NORゲート474ノ各々の一方の入力端子 に供給される。NORゲート474の各々の他方の入力端子は、それぞれ変形和 の8ビツトの異なる1つを受取る。
N OR’7’−)−468;6(fi号rゴと、信号CO。
と、加算器450によって与えられる8ビツト値のMSBとに応答して負のオー バフロー信号NOV、を発生する。この信号NOV、は、変形和がOより小さい 値を持つことを示す。信号NOV、は8個のNORゲート476の各々の一方の 入力端子に供給される。NORゲート476の各々の他方の入力端子は、それぞ れ8個のNORゲート474によって与えられる信号のうちの異なる1つを受取 る。NORゲート476の8個の出力信号は、ALC加算器の16ビツト出力信 号の8個のMSBである。
加算器452は、上述した値制限回路と同様の回路に結合されている。NORゲ ート476に相当する8個のN。
Rゲート466の8個の出力信号は、ALC加算器の16ビツト出力信号の8個 のLSBである。
マイクロコート制御語のビット45及び4SがそれぞれO及び1の値を持つ時、 信号5PLITは1でALC加算器は飽和を伴う2重加算モードで動作するよう に制御される。マイクロコード制御語のビット45及び46の値の他の組合わせ に対して、信号5PLITは0でALC加算器は従来型の]6ビツl−の2の補 数加算器として動作するように制御される。
次にA L C加算器のその2つのモートの各々における動作について説明する 。信号5PLITが0である時5ANDゲート454は加算器452の出力端子 CO0からのキャリーアウト信号を加算器450のキャリーイン入力端子CT、 に供給するように制御され、加算器450及び452は1 ([1の16ビツト の2の補数加算器として構成される。0の値の信号5PLITが排他的ORゲー ト462及び472に供給されると、これらのゲートは加算器452及び450 によって与えられる8ビツトの出力値のMSBをそのまま通過させてそれぞれ各 NORゲー1−464及び474に供給する。0の値の信号5PLITがAND ゲート46G及び470に供給されると、これらのゲートはOの値の正のオーバ フロー信号pov、及びpov、をそれデれ各NORゲート464及び474に 供給する。同様に、論理lの値の信号5PLITがNORゲート458及び46 8に供給されると、これらのゲートは0の値のオーバフロー信号N0VO及びN 0VIをそれぞれ各NORゲート46[i及び476に供給する。0の値の信号 pOVO及びNOV、がNORゲート464及び466ニ供給された結果、加算 器452によりて与えられる出力値は2回反転され従)て加算器452の出力ボ ートにおける値はALC加算器によって与えられる16ビツト値の8個のLSB として与えられる。加算器450によって与えられNORゲート474及び47 6を介してALC加算器の出力ボートに供給される8個のMSBの値についても 同様である。
信号5PLITが論理lの値を持つ時、インバータ451iによって与えられる 信号5PLITは論理0のイ1を持ち、ANDゲート454による加算器452 からのキャリーアウト信号の加算器450のキャリーイン入力端子CI、への供 給か止められる。これによって、加算器450及び452は2個の別個の8ビツ ト加算器ととして構成される。論理lの信号5PLITか排他的ORゲー1−4 62及び472に供給されると、これらのゲートは加算器452及び450によ って与えられたそれぞれの8ビツト値のMSBを論理的に反転する。このMSB の反転は、加算器452及び450の各々によって与えられる8ビツトの符号の ない2進値が8ビツトの符号のない2進値とオフセット128の2進値との和を 適切に表わすように行われる。
信号5PLITが論理1の値を持つ時、ANDゲート460及び470はそれぞ れ正のオーバフロー信号PO■。
及びpov、を発生し、NOR,ゲート458及び468はそれぞれ負のオーバ フロー信号NOV、及びNOV、を発生する。負のオーバフロー信号N0VIが 論理lの時、8個のNORゲート476の出力信号はすべて論理0となり、AL C加算器によりて生成される値の最上位のパイ1−の値は0となる。信号pov 、が論理lの時、8個のNO・Rグー1−474の出力値はすべて論理0となる 。これらの信号はNORゲート476によって反転される。従って、ALC加算 器の出力値の8個のMSBはすべて論理1の値を持つ。これは255の符号のな い2進僅に相当する。NORゲート466及び464にそれぞれ供給される信号 NOV、及びpov、についても同様である。
表3に示す動作の何れかを行うことによって得られた結果は出力レジスタ416 に記憶される。このレジスタ416は、マイクロコード制御語のフィールドA  SRC及びB SRCの適切な値に応答するデマルチブレクシング回路418に よってバスA Bus及びB Busの一方或いは両方に結合できる。
この実施例に使用されるALCは代表的な例である。
デジタル論理設計の当業者であれば、上述したものと等しい動作を行うことが可 能な代りの回路を設計製作できる。
ALUの入力レジスタ410及び412は、マイクロコード制御語のバスの出所 フィールド及び宛先フィールドASRC,A DST、B SRC及びB DS TにかかわりなくそれぞれバスA BUS及びBBUSをアクセスする。従フて 、1つの動作で、マイクロコートRAM・シーケンシング回路226はデータ値 をバスABUS及びBBUSの各々の出所から宛先まで転送するように命令し、 同時に、ALUが転送されるデータ値の一方或いは両方について動作するように 命令できる。
A L U 244への入力値の1つの出所とA L TJ 244からの出力 値の宛先とは、データバス回路242中のレジスタファイル510である。第5 図はこの実施例に使用されるデータバス回路242をブロック図で示している0 代表的な例であるこの実施例に使用されるレジスタファイル510には、RO5 R1、R2及びR3の計4個の汎用レジスタが含まれている。これらのレジスタ の各々は、バスA Bus及びB Busの両方に結合されている。
ハスMCWを介して与えられるマイクロコード制御HのフィールドA SRC及 びB SRCの制御によってこれらのレジスタの何れも一方或いは両方のバスに 値を供給てきる。しかし、レジスタは、フィールドA DST及びB DSTに 応答してどの1つのマイクロコード命令サイクルにおいてもバスA Bus及び B BtJSの一方のみの宛先となることが出来る。上述のようにレジスタRO には、マイクロコート制御語の5HIFT C0NTフイールドに応答してレジ スタの内容をより上位の桁或いはより下位の桁のビット位置にシフトする或いは レジスタに供給される値の8個のMSB及び8個のしSBを交換する回路が含ま れている。
レジスタROのMSB及びLSBは、それでれ条件コートレジスタ512の異な る入力端子に供給される。これらの値に加えて条件コートレジスタ512は、デ ジタル値源513からのOの値と、ALU244によって与えられる条件値5I GN、ZEROlOVFLOW及びCARRY OUTと、ループカウンタ51 4によって保持される値がOであることを示す条件値とを受取る0条件コードレ ジスタ512はマイクロコード制04語のLATCHC0ND C0DEフイー ルドに応答してマイクロコート命令サイクルの終りにA L U 244によっ て得られる条件値を記憶する。他の条件コードは、それらの発生と非同期的に条 件コートレジスタ512中ヘラツチされる。
条件コード論理518が、マイクロコード制御語のC0ND C0DE SEL フィールドに応答して、上述のようにマイクロコードRAM・シーケンシング回 路226において条件分岐動作を行うのに使用される条件信号CDとして条件コ ートレジスタ512に保持される条件値のうちの1つを選択する。また条件コー ド論理518は、マイクロコード制御語のLIT SELフィールドに応答して 、C0ND C0DE SELフィールドがASRCフィールドと共に使用され ている時条件の選択を禁止してリテラル値をバスA BUSに供給する。
ループカウンタ514は、マイクロコード制御語のフィールドA SRC及A  DSTの制御によってバスABUS上てデータ値の出所或いは宛先の何れかとし て動作できる16ビツトのカウンタである。ループカウンタ514はマイクロコ ード制御語のビット30が論理1の値を持つ時にクロック信号CK aに同期し て減少する。このカウンタ514は、反復ループにおける命令がマイクロコート シーケンサ226によって遂行される回数をカウントするのに使用される。
動作の一般的なモートては、バスA Bus及びBBUSは完全に独立している 。しかし、ビデオ信号プロセッサ210は、これらの2つのバスが単一のバスと して結合される状態中に置かれることがある。このモードはHALTモードであ る。プロセッサ21Oはマイクロプロセッサ224によりてHALTモードに置 かれることがある。マイクロプロセッサ224によって与えられる信号HALT によって、双方向ゲート回路520が両バスを結合する。このモードの時、マイ クロプロセッサ224はどのレジスタをもこの結合されたバス上で出所或いは宛 先としてアクセスすることが出来る。この特徴ある構成によって、ビデオ信号プ ロセッサ210のテストは容易になり、マイクロプロセッサ224はプロセッサ 210をこれが多数の所定状態の何れにおいても開始するように接続できる。こ の実施例では示していないが、バスゲート回路520はマイクロコード制御語の 1つにビット例えばビット47によフて制御するようにしてもよい、マイクロコ ード命令の制御によって、ゲート回路520はバスA BUSとB BUSとを 結合し、両バスの一方の上にある出所によって与えられるデータを他方のバスに 結合された宛先へ転送することも可能である。
4個の汎用レジスタRO,R1,R2及びR3に加えてビデオ信号プロセッサ2 10は、データ値の一時記憶のためデータRAM回路228を使用する。第6図 はこの実施例と共に使用されるデータRAM回路228の細部をブロック図で示 している。データRAM回路228には、256x16ビツトのRAM610. 4個のアドレスレジスタDRO1DR1,DR2及びDR3を持つレジスタファ イル612、増加/減少回路(I NC/DEC)622及び制御回路614が 含まれている。制御回路614はマイクロコート制御語のフィールドA SRC ,A DST、B SRC及びB DSTに応答して、RAM610への及びR A M 610からデータを転送し、またレジスタファイル612の種々のレジ スタ中のアドレス値をロードし。
またこれらのアドレス値を増加或いは減少させることも可能である。
正規動作モードにおいて、マイクロコード制御語の関連フィールドがバスMCW を介して制御回路614に供給される。RA M 1ilOをアクセスするため のアドレスを表わす値は2例えばALU回路244によって、マルチプレクサ( MυX)616の1つの入力ボートにバスA BUSの8個のLSB位置として 供給される。マルチプレクサ616のもう1つの入力ボートには、以下に述べる ように増加/減少回路622によって発生される8ビツトアト1/ス値が供給さ れる。マルチプレクサ615は、制御回路614によつて与えられる信号MCI によって制御されて入力ボートに供給される2個のアドレス値のうちの一方をレ ジスタDRO乃至DR3に供給する。レジスタDRO乃至DR3は、8ビット並 列入力並列出力レジスタであり、それぞれ信号Lo 、 L i 、 Lx及び L3に応答して各入力ボートに供給される値をロードする。レジスタDRO乃至 DR3によって与えられる出力値は、それぞれマルチプレクサ(MLTX)51 8の異なる入力ボートに供給される。マルチプレクサ518は、制御回路614 によって与えられる制御信号MC2によつて制御されてレジスタDRO乃至DR 3によって保持されるアドレス値のうちの1つを8ビツトアドレスレジスタ(A DDRRE G ) 620の入力ボートに供給する。このアドレス値は、制御 回路614によって与えられる制御信号LAに応答するアドレスレジスタ620 中ヘロートされる。アトl/スレジスタロ20に保持されるア1−レス値はRA M610のアドレス入力ボートと増加/減少回路6220入カボートとに供給さ れる。この増加/減少回路622は、制御回路614によりて与えられる信号1 /Dによって制御されて入力ボートに供給されたアドレス値を増加或いは減少さ せてこの変形アドレス値を上述のようにマルチプレクサ616の第2の入力ボー トに供給する。
マルチプレクサ518によって与えられるアドレス値は、3状態のゲート619 を介してバスA BUSに供給されることがある。このゲート619は、制御回 路614によフて与えられる信号ROに応答して、マルチプレクサ618とソー ス621とによりて与えられる16ビツト値か或いは高インピーダンスの何れか をバスA BUSに供給する。この実施例てはゲート619の使用により、レジ スタDRO乃至DR3に保持される値を8ビツトデータ値としてバスA BUS に供給することが出来る。バスABυSに供給される値の8個のMSBは0に設 定される。バスMCWを介して与えられるマイクロコート制御語A SRCフィ ールドが、レジスタDRO乃至DR3の1つがバスA Busを介して転送され るべきデータ値の出所であることを示す時、信号ROがゲート619を制御して 値をバスA BUSに供給するようにする。
RA M 610中へ記憶すべきデータ値は、2個の16ビツトバスA Bus 及びB BUSを介してデータRAM回路228に供給される。16ビツトの3 状態のゲート624が、制御回路614によって与えられる信号AINに応答し てハスA BUSからのデータ値或いは高インピーダンスの何れかをRA M  610の!10バスに供給する。同様のゲート626が、制御回路614によっ て与えられる信号BINに応答してバスB BUSからのデータ値或いは高イン ピーダンスを選択的にRA M 610のI10バスに供給する。
RA M 610のI10バスに供給されたデータ値は、アドレスレジスタ62 0に保持されるアドレス値によりてアドレスされたデータセルに書込まれる。制 御回路614は書込可動化信号WEを発生し、RAM610はこの信号WEに応 答して所定のメモリサイクル中にデータ値をアドレスされたセルに書込む。
データ値は、メモリサイクルの少なくとも一部中に信号WEを論理0の状態に保 持することによってRAM61Gのアドレスされたセルから読取ることが出来る 。RAM610から読取られた値は、バスA BUS及びBBLISの一方或い は両方にそれぞれゲート628及び630を介して供給することが出来る。これ らのゲート628及び630は、ゲー)−624及び626と同様であり、それ ぞれ制御回路614によって与えられる信号AOUT及びBOUTに応答して、 RA M 610によってそのI10バスを介して与えられる出力値或いは高イ ンビータンスをそれぞれバスA BUS及びB BUSに供給する。
上述のようにデータRAM回路228か行う動作は゛マイクロコード制御語のフ ィールドA SRC,A D ST、BSRC及びB DSTの値によって決定 される。下の表4には、これら4つのフィールドの種々の値に応して行われる動 作が示されている。
2 ”DR2”DR2 3”DR3”DR3 4”D R2÷÷ ”DR2◆+ S ”DR3十÷ ”DR3+令 6 ”DR2−”DR2− 7”DR3−−”DR3−− 16”D RO”D R0 17”DRI ”DR1 18”DRO+4 ”DRO◆◆ 19 ”DRI ◆十 ”DRI +◆20 ”D RO−”D RO−− 21”D R1−−”D R1−− 28DRODRO 29DRI DRI ’10 DR2DR2 コI DR3DR3 R2O3能は、ビデオ信号プロセッサ210に対するマイクロコード制御語を発 生するのに使用されるアセンブラ言語のように符号化される。レジスタの記号の 前に付けられている*印は、書込まれる値或いは読取られる値がレジスタに保持 される値によってアドレスされるRAMセルへ転送される値或いはそのRAMセ ルから転送される値であることを示している。レジスタの記号の前に*印がない 場合は、書込まれる値或いは読取られる値はその記号のレジスタに保持される8 ビツト値である。レジスタの記号の後に付けられた「++」及び「−一」は、そ れぞれそのレジスタ中の値が、アドレスされたメモリセルがアクセスされた後に 増加或いは減少させられることを示している。
符号化された動作がA SRC或いはB SRCの欄にある場合、その動作は読 取動作であり、その出力値はそれぞれバスA BUS或いはB Busへとゲー トされる。符号化された動作がA DST或いはB DSTの欄にある場合、そ の動作は書込動作であり、その入力値はそれぞれバスA BUS或いはB Bu sによって与えられる。
第7A図乃至第7E図は、マイクロコート制御語のフィールドA SRC,A  DST、B SRC及びBDSTに対応して制御回路614が与える種々の信号 を示すタイミング図である。第7A図乃至第7E図のタイミング図には本願の他 のタイミング図と比較するためにマイクロコードRAM・シーケンシング回路2 26によって与えられるクロック信号CKAが示されている。
第7A図には、8ビツト値をバスA BUSからレジスタDROに書込む要求( 即ちA D S T = 28)に応答して制御回路614が与える種々の信号 のタイミングが示されている。命令サイクル中の初期の所定時点で、レジスタD ROに書込まれるべき値VALがバスA BUSに供給される。この命令サイク ル中、制御回路614は信号MCIを論理lに保持し、この信号に応答してマル チプレクサ616はバスA Busの8個のLSB位置によって運ばれる値をレ ジスタDRO乃至DR3の入力ボートに供給する。バスA Busに供給された 値が安定すると、制御回路614はパルス信号L0を発生し、この信号L0に応 答してレジスタDROはその入力ボートに供給された値をロードする。レジスタ DR1,DR2及びDR3をロートさせる指令も同様であり、パルス信号Lr、 Lz及びL3のうちの1つが第7図Aに示すパルス信号L0の代りに発生される 。
第7B図には、レジスタDROに保持される値をバスA BLISの8個のLS B位置に転送する(即ちASRC= 28)ために制御回路614が発生する信 号のタイミングが示されている。命令サイクルが開始したすぐ後の所定時点で制 御回路614は信号MC2が0の値を持つように変える。この信号MC2に応答 してマルチプレクサ618は、レジスタDROに保持される値をゲート519の 入力ボートに供給する。信号MC2を変えた後、制御回路614は信号ROとし て論理lをゲート619に供給する。この信号ROに応答してゲート619は、 レジスタDROに保持される値をバスA BUSの8個のLSB位置に供給し、 0の値をバスA BUSの8個のMSB位置に供給する。レジスタDRI、DR 2及びDRB中の値も同様の信号変更シーケンスを用いて読取ることが出来る。
唯一の違いとしては、信号MC2の値が第7B図に示す0の代りにそれぞれl、 2及び3となる。
第7C図には、レジスタDROに保持されるアドレス値によってアドレスされる R A M 610のメモリセルから値を読取る(即ちA S RC= 16) のに使用される信号のタイミングが示されている。この動作のため、制御回路6 14はまず、信号MC2を0の値を持つように変え。
この信号MC2に応答してマルチプレクサ618はレジスタDROに保持される アドレス値をアドレスレジスタ620の入力ボートに供給する。この信号が安定 すると、制御回路614はパルス信号LAを発生し、これによってアドレス値が アドレスレジスタ620中ヘロードされる。
アドレス値がRA M 610のアドレスデコート論理を通過するとアドレスさ れた値はRA M 610のI10バス上に得られる0次に制御回路614は、 信号AOUTの値を論理lに変えることによってこのアドレスされた値をバスA  BUSへとゲートする。レジスタDRIによってアドレスされる値も、信号M C2の値が0の代りにlとなること以外は同じ命令シーケンスを用いて読取るこ とが出来る。この実施例において、レジスタDR2或いはDR3によってアドレ スされるR A M 610中のデータは。
バスB Busのみを介して読出すことも出来る。これらの信号を読取るための 信号のシーケンスは、第7C図のMC2の値をそれぞれ2或いは3に変え、ゲー ト用信号AOUTの代りに信号BOUTを使用することによって得ることが出来 る。
第7D図には、データRAM回路228がバスB BUSによって与えられる値 をレジスタDRZ中に保持されるアドレス値を持つRA M 610のセルへ書 込む(即ち。
B DST=2)ように制御する信号が示されている。
この動作における第1段階として、制御回路614は信号MC2の値を2に変え る。この信号MC2に応答してマルチプレクサ61Bは、レジスタDRZ中に保 持されるアドレス値をアドレスレジスタ620の入力ボートに供給する。アドレ ス値が安定すると、制御回路614はパルス信号LAを発生し、この信号LAに 応答してアドレスレジスタ620は入力ボートに供給された値をロードする。R A M 610へ供給されたアドレス値が安定した後、制御回路614が信号B INを論理lの値に変え、この信号BINに応答してゲート626はバスB B US上の値をRAM610のI10バスへ供給する。安定期間後に制御回路61 4はパルス信号WEを発生し、この信号WEに応答してRA M 610はその I10バス上のデータをそのアドレス入力ボートに供給されたアドレス値を持つ セルに書込む。レジスタDRB中のアドレス値を使用してデータ値をバスB B USからRA M 610に書込むのに使用される信号は、信号MC2が2では なく3の値を持つこと以外は第7D図に示されるものと同じである。この実施例 では、バスA BUS上のデータを使用するメモリ書込動作はレジスタDRO及 びDRIのみを使用してもよい、従って、これらの動作(A DST−28或い は29)に使用される信号を表わすとすると、第7D図は、3つの点即ち信号B  Busが信号A BUSになり、信号MC2の値がそれぞれ0或いはlになり 、信号BINが信号AINになりて変えられることになる。
第7E図は、第7D図と同様の動作を表わすが、アドレス値がデータ値の記憶後 に増加させられる点で異なる。この動作は、フィールドB DST中の値が4の 時に発動される。信号B BUS、MC2、LA、BIN及びWEは、第7D図 に関して説明したものと同じである。更に、信号BINの値を変えるとすぐに、 制御回路614は信号1/Dを論理lの値を持つように変える。この信号I10 に応答して増加/減少回路622は、アドレス1/ジスタロ20に保持される値 を増加させてその結果得られた値をマルチプレクサ516の第2の入力ボートに 供給する。この値が安定すると、制御回路614はパルス信号MCIを発生し、 これによって増加したアドレス値は1/ジスタDRO乃至DR2に供給される。
信号MCIか論理lの状態にある間、制御回路1i14はパルス信号り。
を発生し、これによって増加したアドレス値はレジスタDR2にロードされる。
命令サイクルの間ずっと信号1/Dの値を論理0に保持することによって、第7 E図に示す信号を変えてアドレス値を増加させる代りに減少させることが出来る 。 l/レジスタRO,DRI及びDR3を使用する書込動作用の信号は、第7 E図に基づいて、信号B BUS、MC2及びBINを第7D図に関して上述し たように変えることによって得ることが出来る。更に、読取・増加動作(A 5 RC=18及び19とB 5RC=4及び5)と読取減少動作(A 5RC−2 0及び21とB 5RC−6及び7)に使用される信号は、第7E図から信号M CI、1/D及びり、を適切に変えて第7C図に示される信号に付加えることに より得られる。
この実施例において、第7A図乃至第7E図に示されるパルス信号は、クロック 信号源225によってデータRAM回路228に与えられる25 M)lzの信 号CLKのパルスを選択的にゲートすることによって及びゲートされたクロック パルスを縦続接続されたデー1−素子を介して遅延させることによって生成する ことが出来る。クロック信号CLKかその制御信号を生成するのに使用されても 、データRAM回路228はクロック信号CK A及びCKBに応答し、これら のクロック信号がPAUSE或いはHALTの指令によりて凍結される時その動 作を停止する。
デジタル信号処理回路設計の当業者であれば5第6図、第7A図乃至第7E図及 びこれに関連する説明から容易にデータRAM回路2?8に使用するに適した制 御回路614を作ることが出来る。
第1B図に関して上述したように、映像セグメントは、前の映像からの対応する セグメントの変形として符号化できる。相対的エンコーディングと呼ばれるこの 符号化の形には、2個のセグメント(例えば第1B図からのΔX及びΔY)にお ける対応するビクセル位置相互間の水平及び垂直方向のオフセラ1−を表わすパ ラメータが含まれている。上述したように、これらのオフセットの値は隣接する ビクセル相互間の距離の分数で表わすことが出来る。ビクセルオフセット値の分 数部分が0でない映像を適切にデコードするために、ビデオ信号プロセッサ21 0には前のフィールドにおけるセグメントのビクセルから疑似ビクセルを発生す る回路が含まれていることが望ましい。これらの疑似ピクセルは5分数で表わさ れるようにオフセットされたビクセルの値に近似した値を持つ、この実施例にお いて、疑似ピクセルはビクセル補間器246によって生成される。
ビクセル補間器246は、垂直方向に補間されるビクセルに対応する中間値の対 を計算及び記憶するように構成されている。これらの中間値の対は次に補間器2 46に帰還され、補間器246は、連続する中間値に基づいて動作して水平方向 の補間な行い、水平及び垂直の両方向において補間されるビクセル値を生成する 。即ち、ビクセル補間器246は、交互に垂直及び水平補間計算を行ワて出力疑 似ビクセル値を生成する。
第8A図には、ビクセル補間器246として使用するのに適した回路がブロック 図で示されている。第8A図て、16ビツトハスA Busかレジスタ(REG )802と812のそれぞれの入カポ−1〜に結合されており、それぞれ例えば データRA M 228からのビクセルデータと例えばA L U 244から の制御値とをビクセル補間器246に供給する。レジスタ802及び812は、 それぞれマイクロコード制n語のA DSTフィール1(が5及び6の値を持つ 時、バスA Busからの値をロードする。マイクロコ・−ド制御語は、制御バ スMCWを介してビクセル補間器246に供給される。1/ジスタ812は制御 回路814に結合されており、この制御回路814は次に述べるようにビクセル 補間器246の種々の構成部分に対する制御信号を発生する。
レジスタ802ヘロードされた16ビツト値は、、ADSTフィールドが5の値 を持つ時5ピクセル補間器245によって入力ビデオ信号の水平線上の連続する 位置を持つ2個の8ビツトビクセル値として解釈されろ。信号LR1及びL R oに応答して、レジスタ802に保持される債はそれぞれ16ビツトレジスタ( REG)804及び806に交互に転送される。ビクセル補間器246の正規動 作において、レジスタ802に供給される1つ置きの値は、入力ビデオ信号の連 続する線からの対応するサンプル対である0例えば、入力ビデオ信号のビクセル を三角形で表わした第9A図において、レジスタ802に供給される最初の値に はビクセルS0゜及びSonを表わす値が含まれることになり、その次にレジス タ802に供給される値にはビデオ信号の次の線からの対応するビクセル値であ るビクセルS、。及びSllを表わす値が含まれることになる。
第9A図乃至第9C図に関して次に述べるように、ビクセル補間器246は、レ ジスタ804及び806に記憶されたビクセル対を水平方向に隣接するビクセル 値から垂直方向に隣接するピクセル値に変換することが望ましい。
この目的のため、レジスタ804及び80Gの8個のMSB位置はそれぞれレジ スタ(REG)808の8個のMSB位置及び8個のLSB位置に結合され、ま たレジスタ804及び806の8個のLSB位置はそれぞれレジスタ(REG) 810の8個のMSB位置及び8個のLSB位置に結合されている。レジスタ8 08及び810は、制御回路814によって与えられる信号XFに応答してそれ ぞれの入力ボートに供給される値をロートする。上述の例で、レジスタ808及 び810では、それでれ制御回路814がパルス信号XFを発生した直後にビク セル値対S0゜とSIO及びビクセル値対S。1とSllが収容される。
レジスタ808及び810によって与えられる16ビツト値は、それぞれマルチ プレクサ(MLIX)811の異なる入力ボートに供給される。マルチプレクサ 811は、制御回路814によって与えられる信号MVに応答して入力ボートの うちの選択された1つに供給される16ビツト値を通過させてマルチプレクサ( MUX)81[i及び818に送る。マルチプレクサ811の出力値の8個のM SB位置は、マルチプレクサ816の1つの入力ボートに供給される。マルチプ レクサ811の出力値の8個のLSB位置は、マルチプレクサ818の対応する 入力ボートに供給される。
マルチプレクサ816及び818は、制御回路814によって与えられる信号M Lに応答して、マルチプレクサ811によって与えられる2個のピクセル値かそ れぞれマルチプレクサ(MUX)861及び863によって与えられる2個の8 ビツトの垂直方向に補間されたビクセル値かの一方を通過させる。マルチプレク サ816及び818によって通過させられたビクセル値はそれぞれレジスタ(R EG)820及び822に供給される。レジスタ820及び822は、マイクロ コードRAM・シーケンシング回路226によりて与えられるクロック信号CK Aに応答して、それぞれの入力ボートに供給された値をロードする0次に減算器 824がレジスタ822に保持されるビクセル値をレジスタ820に保持される ピクセル値から引く、減算器824によって得られたビクセル差の値は乗算器回 路825に供給される。
この実施例に使用される乗算器825は、プログラム可能なシフト及び加算型の 乗算器である。第8B図には、乗算器825として使用するのに適した回路が示 されている0乗算すべき値が2つのデータバスに供給される。このデータバスの 各々には直列に結合された3個のシック(SHI FT)・マルチプレクサ(M UX)対が含まれている。第1及び第2のデータバスの両方は9ビツト値を運ぶ 、減算器824によって与えられる8ビツト値は、シフタ826及び840とマ ルチプレクサ828及び842との供給される9ビツト値の8個のMSB位置と して供給される。この値のLSBは0である。付加的な精度ビットが乗算器82 5で使用されて、シフト及び加算の乗算技術の為に生じる可能性のある切捨て誤 差が軽減される。
第1のデータバスに含まれるシック826は、減算器824によって与えられる ビクセル差の値を受取り、この値のビットシフトされたものをマルチプレクサ8 28の1つの入力ボートに供給する。マルチプレクサ828の他方の入力ボート は、減算器824の出力ボートに直接結合されている。シフタ826.及び乗算 器825の他のシックの各々は、9ビツト入力値の8個のMSB位置を9ビツト 出力値の8個のLSB位置として供給する。論理0の値がその出力値のMSB位 置に挿入される。デジタル信号処理回路設計の当業者であればこの種のシフトが 2で割る割算に等しいものであることが判るであろう、マルチプレクサ828は 制御回路814によって与えられる信号MA、に応答して出力ボートにシフトさ れた値或いはシフトされていな値を与える。マルチプレクサ828の出力ボート は、シフタ830の入力ボートとマルチプレクサ832の一方の入力ボートとに 結合されている。シフタ830及びマルチプレクサ832は、シフタ826及び マルチプレクサ828と同様に構成されている。マルチプレクサ8コ2は、制御 信号MAtに応答してマルチプレクサ828の出力値或いはこの出力値のビット シフト分の何れかを選択的に供給する。マルチプレクサ832は、出力値をこれ に結合されたシフタ834とマルチプレクサ836とに供給する。これらのシフ タ834及びマルチプレクサ836は、シック830及びマルチプレクサ832 と同様に構成されている。マルチプレクサ836は、制御回路814によって与 えられる信号MA、によって制御される。
第2のデータバスには、3個のシック・マルチプレクサ対840と842 、8 44と846及び848と850が含まれており、多対は第1のデータバスのシ ック・マルチプレクサ対と同様に構成されている。マルチプレクサ842.84 6及び850はそれぞれ信号MB、、MB*及びMBsによって制御される。
マルチプレクサ850により与えられる出力値は選択的2の補数回路(SEL  2’ S COMP)852に供給される。この回路852は、制御回路814 によって与えられる信号CPに応答して入力値或いはその入カイ1の2の補数の 何れかをレジスタ(REG)854の入力ボートに供給する。第1のデータバス のマルチプレクサ836によって与えられる出力値は、レジスタ(REG)83 8の入力ボートに直接供給される。レジスタ838及び854の両方は、マイク ロコー1”RAM・シーケンシング回路226によって与えられるクロック信号 CK、に応答してそれぞれの入力ポートに供給された値をロードする。レジスタ 838及び854によって与えられる出力値はそれぞれ加算器856の異なる入 力ポートに供給される。この加算器856によって与えられる値が乗算器825 の出力値となる。
乗算器825は、信号MA+ 、MAs 、MAs 、MBI、MB、及びMB 、の値が制御されることによって、8分の1から1までの8分の1ごとの値を持 つ縮小率(scalefactor)で減算器824によって与えられる値を乗 算する。表5は縮小した出力値を得るのに必要な種々の制御信号の値の一覧表で ある。表5において、MA倍信号いはMB信号の1つが0の制御値を持つ時、対 応するマルチプレクサはそれに応答してシフトされていない値を通過させ、lの 制御値を持つ時、対応するマルチプレクサはそれに応答してシフトされた値を通 過させる。信号CPの値が1の時、選択的2の補数回路852はこれに応答して 入力ポートに供給された値の補数をとる。
M AよMAt MA3 MBI MBI MBS CP 縮小率信号M A  l、 M At 、 M A s 、 M B 、、 M B * 、 M B  3及びCPの値は、制御回路814がレジスタ812によって与えられる制御 値に応答して発生する。
加算器856によって与えられる縮小されたビクセル差値は、レジスタ(REG )857によりて与えられるビクセル値に加えられる。1/ジスタ857に保持 されるビクセル値は、マイクロコードRAM・シーケンシング回路226によっ て与えられるクロック信号CK、に同期してレジスタ822からロードされる。
減算塁B24.乗算塁825、加算器856及び加算器858によって行われる 作用は次の等式(2)によって表わすことが出来る。
R=SF X (A−B)+B (2)ここで、A及びBはそれぞれレジスタ8 20及び822に保持されるビクセル値、SFは、例えばA L U 244に ようて制御値におけるフィール1くとして与えられ且つレジスタ812に保持さ れる縮小率の値、この縮小率SFはMA、MB及びCPの信号を介して乗算器8 25に供給される。Rは加算器858によって与えられる値である。式(2)を 代数的に操作すると、従来型の線形補間動作を表わす式(3)が得られる。
R=SFXA+ (1−SF)スB(3)従って、減算器8241乗算器825 、加算器856及び加算器858の組合せは線形補間器となる。
加算器858によって与えられる値は、レジスタ(REG)860及び862の それぞれの入力ポートと、マルチプレクサ861及び863のそれぞれの第1の 入力ポートに供給される。マルチプレクサ861及び863の第2の入力ポート は、それぞれレジスタ860及び862の出力ボートに結合されている。レジス タ8δ0及び862は、入力ポートに供給された値をそれぞれクロック信号φ2 及びφlが真方向に移行すると同時にロートする。マルチプレクサ861及び8 63は、それぞれクロック信号φ2及びφ1が論理1の値を持つ時2加算器85 8によって与えられる値を通過させてマルチプレクサ816及び818に供給し 、クロック信号φ2及びφlが論理1の値を持たない時、レジスタ860及び8 62に保持される値を通過させる。レジスタHD及び862とマルチプレクサ8 61及び863のこの構成によって、加算器858によって与えられる値をレジ スタ860及び82Gの両方に或いはレジスタ862及び822の両方に同時に ロートできる。これが可能であることの重要性を後で第9C図を参照しつつ説明 する。
加算器858によって与えられるビクセル値は更に16ビツトレジスタ(REG )864の8個のMSB位置と8個のLSB位置の両方に供給される。レジスタ 864の8個のMSB位置は制御回路814によって与えられる信号LO8に同 期してロードされ、レジスタ864の8個のLSB位置は制御回路814によっ て与えられる信号LO,に同期してロートされる。レジスタ864に保持される ビクセル値は、制御回路814によって与えられる信号XOに応答してレジスタ (REG)866に転送される0次にこれらのビクセル値は、バスMCWを介し てレジスタ866に供給されるマイクロコード制御語A SRCフィールドによ って制御されてレジスタ866からバスA BUSに供給される。
正規動作モードにおいて、ビデオ信号プロセッサ210の構成部分としてビクセ ル補間器246は、電流映像に対するビクセル値を発生する1つの段階として前 の映像のビクセル値から補間された疑似ピクセル値を発生する。
第9A図乃至第9C図はピクセル補間器246の動作を示している。
第9A図において、三角形点S0゜乃至S。T及びSIO乃至S+7は、入力F NFO232及びデータバス242を介してVRAM21S中のビット・マツプ から与えられる前の映像の2木の連続する線からの対応するビクセル値を表して いる。円形点I0゜乃至107は、補間された疑似ピクセル値を表わしている。
第9A図に示されるように、補間された疑似ピクセル値は、前の映像のピクセル に対して水平方向にピクセル相互間隔の4分の1また垂直方向にピクセル相互間 隔の8分の5だけオフセットされている。
第9B図は、ビクセル補間器246がどのようにバスABUSに供給されたデー タ値によって制御されて疑似ピクセル値I0゜乃至103を発生するかを示して いる。第9B図で、期間To乃至T、6はビデオ信号プロセッサ210の17の 連続する命令サイクルを表わしている。命令サイクルT0中、マイクロコート制 御語のフィールドA DSTは4の値を持ち、これによってピクセル補間器24 6は例えばバスA Busを介してA L U 244から供給される16ビツ ト制御値をロードする。ビクセル補間器241iは、この16ビツト制御値の8 個のMSB位置に制御されて同相モードで動作する。このモードにおいて、入力 ピクセル値及び対応する出力ピクセル値は共にVRA M 211i中の偶数の アドレスを持つ、ビクセル補間器246はもう一方のモードである離相モードで 動作することが出来る。この敲相モートにおいて、入力ビクセルアドレス値は奇 数個であり、出力ビクセルアドレスは偶数個ある0期間T。においてビクセル補 間器246に供給される制御値は、更にビット0〜3及び4〜7にそれぞれ値5 及び2を持つ、値2は水平方向のオフセット或いは縮小率2/8即ち1/4に相 当し、値5は垂直方向の5/8のオフセットに相当する。この実施例では、値5 及び2は、第1B図に示されるもののような相対的コートレコードの値ΔX及び ΔYの分数部分から得られる。
命令サイクルT、及びT、中、マイクロコート制御語A DSTフィールドが5 の値を持ち、それぞれビクセル値対S OO* S Ol及びS lo+ 31 1がビクセル補間器246のレジスタ802へ供給される。命令サイクルT3の 間、ビクセル補間器246に関してバスA BUS上には作業がない、命令サイ クルT4中、補間されたピクセル値の無効対(X、X)がビクセル補間器246 の出力ボートに得られる。これらの値は、ビデオ信号プロセッサ210によって 無視される。
命令サイクルT、及びT6中、それぞれピクセル対5011、SO3及びS+Z 、S13がビクセル補間器246のレジスタ802へ供給される。命令サイクル エフ中、ビクセル補間器246に対してバスA BUS上には作業がない。
命令サイクルT6中、補間されたビクセル値の第2の無効対がビクセル補間器2 46の出力ボートに得られる。これらの値は無視される。命令サイクルT、及び T、。中、それぞれビクセル値対SO4+ sow及びS14、SXSがビクセ ル補間器246のレジスタ802に供給される。命令サイクルTll中、ビクセ ル補間器246に関するバスA BUS上の作業はない、命令サイクルT1m中 、マイクロコード制御語のA SRCフィールドは5の値を持ち、これによって ビクセル補間器246は、補間されたビクセル値■。。及び101を表わす16 ビツト値をバスA BUSに供給する。
命令サイクルTI3乃至T16は命令サイクルT、乃至TI2と同様で、ビクセ ル補間器246に供給されるビクセル値及びビクセル補間器246によって与え られるビクセル値が異なるだけである。一般に、マイクロコートシーケンサ22 6は、所望の補間された疑似ピクセル値すべてを生成するのに必要な多数の期間 と異なる入出力ピクセル値とを使用して命令サイクルT、乃至TlR中の動作を イン構成された装置である。パイプライン遅延は、11命令サイクル即ちT、に おいて最初の入力値が供給されてからTI2において最初の有効出力値を与える までの間の遅延である。
第9C図は信号タイミング図であり、第9B図に示した例の制御回路814によ フて生成される種々の信号のタイミングを示している。信号CKA及びCK、は 、1つの命令サイクル期間中に実質的に等しい期間を持つ離相クロック信号であ る。クロック信号CKA及びCK11lは、マイクロコートRAM・シーケンシ ング回路226によつてビクセル補間器246に供給される。
第8図に示されるピクセル補間器回路246に使用されるレジスタすべては、立 下がり端でトリガされる型式である。即ち、これらのレジスタすべては、その入 力ボートに供給された値をそのクロック信号或いはロード信号が負方向に移行す ると同時にロートするように制御される。第8図におけるレジスタは、クロック 信号CKA或いはクロック信号CK aの何れかに同期する。
第9B図および第9C図を参照する。ビクセル補間器に対する制御値は信号CK Aの負方向変化と一致した命令サイクルT0の期間中レジスタ812にロードさ れる。
この値は命令サイクルT。の終りまでに制御回路814中て安定化し、各信号M AL、MA2、MA3、MBI、MB2、MB3.およびcpに対する値l、0 ,0゜1.1.l、および0を供給するように回路814の動作を設定する。こ れらの値は5/8の縮小率に相当し、この縮小率はこの実施例では垂直に配列さ れた対をなすピクセル値相互間を補間するために使用される。
ビクセル値の第1の対S。0とS。1は信号CKAの負方向変化と一致する命令 サイクルTIの期間中にレジスタ802にロードされる。これらのビクセル値は 信号LR。
の負方向端と一致する命令サイクルTIの終了端でレジスタ80!iに転送され る。
ビクセル値の第2のSIOとSllは命令サイクルT2の期間中に生ずるクロッ ク信号Cに^の負方向変化と一致してレジスタ802にロードされる。これらの ビクセル値は命令サイクルT2の終了時に生ずる信号LR,の負方向変化しと一 致してレジスタ804に転送される。
命令サイクルT、の期間中にレジスタ804および806の8個のMSB位置に 保持されたビクセル値はレジスタ808の各8個のMSBと8個のLSB位置に 転送され。
レジスタ804および806の8個のLSB位置に保持されたビクセル値はレジ スタ810の各8個のMSBと8個のLSB位置に転送される。この転送は信号 XFの負方向変化と一致して行なわれる。この転送によって5各レジスタ804 および806中の水平方向に配列されたビクセル値S0゜、So+およびSl。
、S、工をそれぞれレジスタ808.810中で垂直方向に配列されたビクセル 値S O1+ S IIおよびS OO+ S 10に変換する効果が得られる 。
サイクルT4の期間中、制御回路814は信号MAI乃至MA3.MB 1.  乃至MB3、およびcpを、5/8の縮小率と一致した値をもつように変更する 。制御回路814は、さらに信号MVとして論理lの値を発生し、信号MLとし て論理0の値を発生して、信号MVによって制御されるマルチブ1/クサ811 .信号MLによりて制御されるマルチプレクサ816および818を、レジスタ 810に保持された2個のビクセル値をレジスタ820 、822の各入力ボー トに結合するようにする。信号cKAの負方向端に一致して、命令サイクルT、 の期間中、ビクセル値S0゜はレジスタ822にロードされ、ビクセル値s1゜ は1/ジスタ820にロードされる。命令サイクルT4の残りの期間中は、レジ スタ820および822に保持された値は、前述のように減算器824およびマ ルチプライヤ825の第1および第2のデータバスを経由して伝播する。マルチ プレクサ836および選択的2の補数器852によって供給される4小(スケー ル)されたビクセル差値は、命令サイクルT4の終了時に生ずる信号CKBの負 方向端と一致して各l/レジスタ38 、854にロー1−される。これと同時 に1/ジスタ822からのピクセル(lfj S。0はレジスタ857にロード される。
命令サイクルT、において、1/ジスタ838および854に保持されたピクセ ル差分値は加算器856によって加算される。得られた和は加算器858におい てレジスタ857から供給されるビクセル値S0゜と加算される。ビクセル値S 、。の5/8倍とビクセル値S。。の3/8倍との和を表わす加算器858によ って与えられた和は信号φ1の負方向端と同期して1/ジスタ862に記憶され る。
また、命令サイクルT、の期間中、バスA Busを経て供給されるビクセル値 S。2とSO3はレジスタ802にロードされ、次いで信号LR,の負方向変化 と同期してレジスタ806に転送される。命令サイクルT6の期間中、ビクセル 値S、およびSl3はハスA BUSに供給され、レジスタ802にロードされ 、次いで信号LR,の負方向変化と同期してレジスタ804に転送される。
命令サイクルT、の中間において、レジスタ808に保持されたビクセル値So lおよびS、lはマルチプレクサ811 、816および818を経て各レジス タ822 、829に供給されて、信号CKAの負方向端に応答してこれらの各 レジスタにロードされる。これらのビクセル値は命令サイクルT6の残りの期間 中と命令サイクルT?の第1の半部の期間中に減算器824.マルチプライヤ8 25.レジスタ857および加算器858を通って伝播される。
命令サイクルT、の第1の半部の期間中、各レジスタ806 、804に保持さ れた水平に配列されたビクセル値So2、SO3およびSnx、si3は垂直に 配列されたビクセル値S。*、S、およびS。3.s、に変換されて、命令サイ クルT7の中間点て生ずる信号XFの負方向変化と同期して各レジスタ810  、808に記憶される。
命令サイクルT7の期間中に加算器858によって供給された垂直に補間された ビクセル値(S08、S 目)はレジスタ860にロードされ、さらにマルチプ レクサ861および816を経由して、命令サイクルT7の中間点で生ずる信号 CKAの負方向端に同期してレジスタ820にロードされる。信号MLは、マル チプレクサ861から供給された値をレジスタ8zOに通過させるようにマルチ プレクサ816を動作させ、またマルチプレクサ863によって供給された垂直 に補間されたビクセル値(S oo、 S +o)をレジスタ822に供給する ようにマルチプレクサ818を動作させる。このビクセル値は命令サイクルT、 の中間点で生ずるクロック信号CK^の負方向変化と同期してレジスタ822に ロー1くされ、信号MAI乃至MA3.MB1乃至MB3および信号CPは、1 .0.0.1,1.0およびlの6値をもつように変化させられる。これらの値 は縮小率1/4に相当する。命令サイクルT7の第2の半部の期間中および命令 サイクルT、の第1の半部の期間中、減算器824、マルチプライヤ825およ び加算器858は、この垂直補間されたビクセル値の対からビクセル値を水平補 間してビクセル値I0゜を生成する。この値I0゜は、命令サイクルT6の中間 点て発生するLO。
の負方向端と一致してレジスタ864の8個のLSB位置に記憶される。
また、命令サイクルT8の期間中にレジスタ810に保持されたビクセル値S0 3、S1+1の対はマルチプレクサ811 、816および818を経て各レジ スタ822 、820に転送される。これらのビクセル値は命令サイクルT8の 中間点て生ずる信号Cに、の負方向変化と同期して1/ジスタ822および82 0に転送される。命令サイクルTaの残りの期間および命令サイクルT、の第1 の半部の期間中に、減算器824、マルチプライヤ825および加算器858は 対をなすビクセル値S。2.SI2から垂直補間されたビクセル値を計算する。
この補間されたビクセル値は、命令サイクルT、の中間点で生ずる信号φ、およ びCKA各員方向変化と同期してレジスタ862および822にロードされる。
命令サイクルT、の残りの期間および命令サイクルTIOの第1の半部の期間中 に、水平補間されたビクセル(alalは、マルチプレクサ861および863 によって供給された垂直補間されたビクセル値から発生される。信号MAL乃至 MA3.MBI、乃至MB3.およびCPは、命令サイクルT、の期間中に各々 0・、0.0.1,1.0およびlの値をもつようにセラ1−される。これらの 値は縮小率3/4に相当する。ビクセル値Molは、命令サイクルTIOの中間 点で生ずる信号L O+の負方向変化と同期してレジスタ864の8個のMSB 位置に記憶される。ビクセル対■。。、ス。1は、信号xOの負方向変化と同期 して命令サイクルTIGの終了時にレジスタ864からレジスタ866に転送さ れる。
また、命令サイクルTIOの中間点において、レジスタ808に保持されたビク セル値SO3およびSI3は、信号CKAの負方向端と同期して各レジスタ82 2および820にロードされる。命令サイクルT1゜の残りの期間および命令サ イクルTllの第1の半部の期間中、垂直補間されたビクセル値がビクセル値S 。3およびS13から生成される。このビクセル値は、命令サイクルTllの中 間点で発生する各信号φ2およびCKAの負方向変化と同期してレジスタ860 および820に記憶される。
命令サイクルT、およびTIOの期間中、各ビクセルS 04* S O8、お よびSI4、SISは各レジスタ806 、804にロードされる。命令サイク ルTllの中間点で、これらのビクセル値は垂直配列されたビクセル対S 04 * 314+およびS。5.S、に配列され、これらは各レジスタ810.80 8に記憶される。
命令サイクルTllの第2の半部と命令サイクル712の第1の半部の期間中に 、減算器824、マルチプライヤ825および加算器858はビクセル値I。2 を計算し、該ビクセル値I。2は命令サイクルTI2の中間点で生ずる信号LO 0の負方向変化と同期してレジスタ864の8個の位置に記憶される。また、命 令サイクルT1之の中間点において、ビクセル対I0゜、MO+はレジスタ86 6からバスA Busに供給される。
命令サイクルT+tおよびTI3の期間中、垂直補間されたビクセル値はピクセ ル対SO4、SI4に対して生成される。この補間されたビクセル値は、命令サ イクルT13の中間点で生ずる信号φ黛およびCKAの各負方向変化と同期して レジスタ860および820にロードされる。命令サイクルTI3およびT14 の期間中に、ビクセル値I03は3/4の縮小率を使用して発生される。このビ クセル値は命令サイクルT14の中間点においてレジスタ864の8個のMSB 位置に記憶される。命令サイクルT14の終了時に、ピクセル対l。2、工。、 はレジスタ864からレジスタ866に転送される。このビクセル対は命令サイ クルT’sの期間中にバスA BUSに供給される。
ビクセル補間器246を駆動する信号は4つの命令サイクル毎にくり返す0例え ば、命令サイクルT13乃至T+sに対する信号は命令サイクルT、乃至T、1 に対する命令と同じである。この信号くり返しのシーケンスは所望の数の疑似ビ クセル値を生成するのに必要な回数をくり返される。
水平補間されるべき1対のビクセル値の第1の垂直補間されたビクセル値はレジ スタ820.822を交互に占有する。その結果、加算器858において縮小さ れた垂直補間差値に加算される垂直補間された値は、連続する水平補間値を発生 するために合成される垂直補間された僅の連続する対の第1および第2の垂直補 間値間で交番する。水平補間の計算のためにこの交番を適合させるために、制御 回路814は信号MAI乃至MA3、MBI乃至MB3、およびCPに対して縮 小率SF□および(1−SFH)に対応する値を交互に供給する。ここで、SF 、は水平補間縮小率である。この例では、1対の第1のビクセル値がレジスタ8 22にあるときは、1/4の水平補間率は正しい疑似ビクセル出力値を生成する 。しかしながら、1対の第1のビクセル値がレジスタ820にあるときは、水平 補間率は3/4に変化させられて正しい疑似ビクセル出力値を発生する。
上述の説明では、命令サイクルT0の期間中にビクセル補間器246に供給され る制御値は補間器を同相モードで動作するように設定する。第9D図および9E 図は離相モードのビクセル補間器の動作を説明するものである。上述のように、 離相モートは、入力ビクセル対のアドレスがVRAM21B中の16ビツト値の アドレスと一致しないときにビクセル補間器246に対して選ばれる。この状態 は、対をなす入力ビクセル値がVRAM語の境界を横切って分割されるときに生 ずる。第9E図はこの状態を示している。
ビクセル補間器246の同相モードと離相モードにおける動作の基本的な相違が 第9E図と第9F図に示されている。第9E図に示すように、ビクセル値I0゜ およびIolは、その同相モードに示すように命令サイクルTI−の期間中より もむしろ命令サイクルT16の期間中に出力レジスタ866において得られる。
この動作の変更は、第9F図に示すように、信号LO0とL Otとを切換え、 信号XOを信号CK Aの2周期だけ遅延させることによって達成される。
ビクセル補間器246はビデオ映像に対する空間的補間ビクセル個用装置として 説明されているが、このビクセル補間器246はさらに一般的には、水平方向、 垂直方向のいずれかにおけるビクセル値を平均するためにも使用することができ る。この機能は各種の濾波演算方式において有用である0例えば、第9A図のビ クセル値がSoa、Sol、soo、S 01 ; S 0!1.5oil、S ot、soa等のシーケンスてビクセル補間器246に供給されると、補間器に よりて与えられる出力値は、水平方向にのみ補間あるいは平均されるビクセルを 表わす。
上述の説明および第8A図、第8B図、第9A図乃至第9F図を見れば、デジタ ルビデオ信号処理回路設計の技術分野の技術者にとっては、ビクセル補間器24 6として使用するのに適した回路を設計し、製造することは容易である。
V RA M 216に保持されたビクセル値およびデータは、統計的デコーダ 230.入力FIFO232および234、出力FIFO236を経てビデオ信 号処理器210によってアクセスされる。これらの装置を使用してV RA M  216に関して実行されるすべてのデータの読出しおよびデー夕書込み動作は VRAM制御ユニット238によって調整される。統計的デコーダおよび各FI FOは関連するVRAMアドレスおよび制御値をもっている。マイクロコート・ シーケンサ226はFIFOのパラメータを初期化し、その後各FIFOは自動 的に動作を開始する。ビデオ信号プロセッサ210から見ると、3個の入力命令 と1個の出力命令とが存在する。これらの3個の入力命令は統計的デコーダ23 0.入力FIFO232あるいは入力FIFO234からビクセル値を受取るこ とであり、出力命令は出力FIFO236にビクセル値を送ることである。
これらの装置はそれぞれVRAM216へ、あるいはVRA M 21Bから3 2ビツト語用のメモリアクセス要求を発生し、また、8あるいは16ビツトビク セル値とVRAM216に記憶された32ビツト語との間の変換、あるいは統計 的にコード化されたデータをビクセル値に変換するために必要なバッキング(P acking)あるいはアンバッキング(Unpacking)を行なう。
統計的デコーダ230はV RA M 216に保持された可変長コート化デー タを16ビツト2進値に変換し、該16ビツト2進値はマイクロコード制御語の B SRCフィールド中の14の値に応答してバスB Busに供給される。
第10A図は統計的デコーダ230として使用するのに適した回路のブロック図 を示す。
第X3A図を参照して以下に説明するように、統計的デコーダ230に対するV RAM216をアクセスするために使用されるアドレス値は、例えば、データR A M 22Bから2段階でVRAM制御ユニット238にロードされる。
第1段階で、22ビツトのアドレス値の8個のMSB位置を表わす値は、マイク ロコード制御MB DSTフィールドが31の値をもっている間にハスB BU Sに供給される0次に、アトl/ス値の14個のLSB位置は、B DSTフィ ールドが30の値をもつている間にバスB BUSに供給された値の14個のM SB位置からロートされる。マイクロコード制御語のB DSTフィール1く中 の30の値は、統計的デコーダ230をリセットし、統計的デコーディング動作 を初期化するように制御回路1018を動作させる。
命令の代表的なシーケンスは次のように進行する。2つの連続する命令サイクル の期間中、アドレス値の8個のMSBおよび14([7) L S B にlレ ソれV RA M fgJ御j−ニット238中の1対の1/ジスタにロードさ れる。アドレス値の14個のLSBがロー1−される同じ命令サイクル中に、統 計的デコーダ230はリセットされ、動作を開始する。
リセット動作は、フリップ・70ツプエ017に対する信号RVとして論理1の 値を供給する制御回路1018によって行なわれ、出力レジスタ1016に保持 された8ピツ1〜値を無効なものとしてマークする。同時に、制御回路1018 はパルス信号RDRを発生して、これをフリップ・フロップ1022のセット入 力端子Sに供給する。この動作によってフリップ・70ツブ1022の出力信号 SDRを論理lの値に変化させる。信号SDRはバスR/Sを経てVRA M  flJ ’a :’−= ブト238ニ供給され”ic”、VRAM216中の アドレスされた位置における読出し動作を要求する。フリップ・フロップ102 2の出力信号SDRは制御回路1018にも供給されて、データがV RA M  216から要求されていることを指示する。
VRAM制御ユニット238が要求された読出し動作を処理し、VRAM216 が要求された32ビツト値をバスDBUSに供給すると、VRAM制御ユニット 238はバスR/Sを経て供給されるパルス状スI−ロボ信号SDSを発生する 。この信号はレジスタ1010を、バスD BUSからの32ビツト値をロード するように動作させる。信号SDSはまたフリップ・フロップ1022のリセッ ト入力端子Rにも供給されて、32ビツトデータ値がレジスタ1010にロード されたとき、@号SDR,の状態を論理0に変化させる。SDSが論理0になっ て信号CKの1周期の1/2の期間後、制御回路1018は信号SRLを発生し 、レジスタl口10からの32ビツト値をシフトレジスタ1012に供給し、カ ウンタ1020に保持された値を0にリセットする。
統計的デコーダ2コ0は、常にV RA M 216から読出された32ビツト 値のLSBと共にそのデコーディング動作を開始する。以下に述べるように、入 力FIFO232および234と、出力PIF0236は、VRAMから読出さ れ、あるいはVRAMに書込まれる4ハイl−(Inから転送されるべき最初の バイ1−とじてバイ1〜位置の値を特定する。これらの装置に対するバイト位置 の値は、24ビツトのアドレス値の2個のLSB位置としてコート化される。こ の発明の実施例では、統計的デコーダ230はこのバイト位置の値を無視する。
その結果、統計的デコーダ230に供給されるデータは、VRAM21B中の3 2ビツト語のLSB位置と共に開始すると仮定される。
制御回路1018がレジスタ1010からの32ビツトデータ値を転送するため のパルス信号SRLを発生するときは。
該制御回路1018は記憶されたアドレス値を増加させるようにVRAM制御ユ ニット238を動作させるパルス信号RDRを発生して、VRAM21!iから の次の連続する′32ビットデータ値をレジスタ1010に供給する。パルス信 号SRLおよびRDRが発生して信号CKの1周期のl/2の期間後に1回路1 018は信号ENとして論理lの値を統計的デコーディング回路1014に供給 し、回路1014にシフトI/ジスタ1012中に保持された値のデコーディン グを開始させる。
この発明の実施例で使用される統計的デコーディング回路1014は、例えば、 ここに参考として示す米国特許第4.395,906号1発明の名称「デジタル ・ハフマン・エンコーディングの方法と装置(Method and Appa rat、us forDigital Huffman Encoding)  Jの明細書に記載されている形式のものでよい。回路1014は可動化(イネイ ブル)されると、システム・クロック信号CKを信号SRCにとしてシフトレジ スタ1012およびカウンタ1020にゲートする。シフトレジスタ1012は 、信号SRCにの各サイクル毎に、LSB位置から開始し、MSB位置に向けて 続く上記シフトレジスタ1012が保持する値の1ビツトを供給する。各ビット がシフトレジスタ1o12によって供給されると、カウンタ1020中の値はl だけ増加される。
統計的デコーディング回路1014が充分な数のビットを処理して16ビツトの 出力値を発生すると、換言すれば。
統計的デコーディング回路1014が1個の可変長コート化された値をデコード すると、該統計的デコーディング回路1014はデコードされた16ビツト値を 出力レジスタ1016の入力ボートに供給し、さらに論理lの値を信号RDYと して制御回路1018に供給する。これによつて制御回路1018はパルス信号 ORLを発生して、回路1014によって供給された値を出力レジスタ1016 にロードし、フリップ・フロップ1017をセットして、レジスタ1016によ って保持されたデータを有効なものとする。
出力レジスタ1016に保持された値が、値14または15をもったB SRC フィールドを有するマイクロコード制御語を使用してバスB Busに対する信 号源としてアクセスされると、このデコーディング動作は完了する。
制御回路1(118がB SRCフィールド中でこの値を検出した後1次のクロ ック期間で、制御回路1018はパルス信号RVを発生し、レジスタ1016に 保持されたデータな無効なものとしてマークする。’BSRCに対する14の値 はより多くのデータ値を持つことを示し、15の値はアクセスされたデータ値が シーケンスの最後であることを指示する。
上述の説明では、レジスタ1016中のデータは、それが有効になるまでアクセ スされないと仮定している。無効データ(4#えばB 5RC−14,0RV= O)をアクセスするための試みがな゛されると、制御回路1018はパルス信号 PRを発生する。このパルス信号PRはフリップ・フロップ1023のセット入 力端子Sに供給される。パルス信号PRか発生されると、フリップ・フロップ1 023の出力信号5DPAは論理lの値に変化する。この信号は休止(ポーズ) 論理240に供給されて、マイクロコードRAMおよびシーケンサ226によフ てビデオ信号プロセッサを休止状態にする。この信号5DPAはさらにアンド・ ゲート1025の一方の入力端子に供給され、その他方の入力端子は信号SDR を受信するように結合されている。もしSDR,5DPAの双方が論理lの値を もっていると、アンド・ゲート1025の出力信号SDPは論理1になる。この 信号は休止論理240を経てVRAM制御ユニット238に供給されて要求され た読出し動作の優先度を増加させる。信号SPDは統計的デコーダ230からの 緊急読出し動作要求信号である。制御回路1018が信号ORLを休止してレジ スタ1016に保持された値を有効なものとしてマークすると、信号5DPAは 論理0になりて休止状態を解く。
上述の例は統計的デコーダ230の内部動作を、1個のISビット出力値を生成 する場合について説明した。一般には、デコーダ230は一連のこのような値を 生成する。
このシーケンスのMlの値を生成するために、第1O図に示す回路は上述のよう に動作する。一旦その値が出力レジスタ1016に転送されると、制御回路10 18は論理lの値を信号ENとして供給して、統計的デコーディング回路101 4を付勢す、次のデコートされた値を発生させる。第1のデコートされた値が出 力レジスタ1016からアクセスされると、信号ORVは論理値Oをもつように 変化させられ、制御回路1018はパルス信号ORLを発生して第2の値をロー トする。第1の値がアクセスされたとき第2の値がデコートされていないと、信 号RDYが統計的デコーディング回路によりて論理1の値に変化されるまで制御 回路1018はパルス信号ORLを発生しない、この動作シーケンスは、マイク ロ制御語のB SRCフィールド中の15の値を使用して出力レジスタ1016 中の値がアクセスされるまでくり返される。出力レジスタ1016中の値が、そ のB SRCフィールド中の15の値をもったマイクロコード制御語に応答して アクセスされると、制御回路1016は信号ENの値を論理Oに変化させること によりて統計的デコーディング回路230の動作を終了させる。
デコーダ230で使用されるVRAMのアドレス値の14個のLSB位置に対す る新しい値が設定されるまでデータは統計的デコーダ230を用いてアクセスさ れることはない。
上述のデコーディング動作のいずれにおいても、必要に応じて32ビツトのデー タ値がV RA M 21[iからレジスタ1010に供給される。カウンタ1 020かそのときの32ビツト値のMSBか回路1014に供給されたことを示 す31の値をもつように増加されると、制御回路1018はパルス信号SRLを 発生してレジスタ101Oからの次の32ビツト値をシフトレジスタ1012に 転送して、カウンタ1020の値をリセットする。同時に制御回路1018はパ ルス信号RDRを発生して、VRAM216から次の連続する32ビツト値を要 求する。
カウンタ1020中の値が31に等しいとき、信号SDRの値が論理lであると 、レジスタ1010を満たすための読出し動作は未だ完了していないので、制御 回路1018はレジスタ1010からの値をレジスタ1012に転送することは できない、この例では制御回路1018は信号ENを論理0の値をもつように変 化させ、デコーディング回路1014を非可動化する。要求された読出し動作が 完了すると、制御回路1018はパルス信号SRLを発生してレジスタ1010 からの新しい32ビツト値をレジスタ1012に転送し、信号ENの値を論理l に変化させ、パルス信号RDRを発生する。これらの信号は統計的デコーダ23 0を付勢して正規の動作を再開させ、V RA M 216から新しい32ビツ トの値を要求する。
第10B図は2個のデータ値かデコー1−されるときの制御回路1018によっ て生成される信号の相対的タイミングを示すタイミング図である。
第10A図および第10B図、さらに上述の説明から明らかなように、デジタル 処理回路の設計技術者にとっては統計的デコーダ230として使用するのに適し た回路を設計し、製作することは容易なことである。
入力FIFO232および234は、ビデオ信号プロセッサ210がそのピクセ ル処理素子を用いて処理するために、VRAM21fi用のランダムな8ビツト または16ビツト値を読出すようにし5あるいは一連の8ビツトまたは16ビツ ト値を読出すようにする。ランダムモート、シーケンシャルモードのいずれの場 合も、マイクロコードRAMおよびシーケンサ回路226によって実行されるマ イクロコート制御語命令はV RA M f!lJ御ユニツユニット238アド レス値を供給する0選択された入力FIFOはVRAM制御ユニット238を経 てV RA M 216をアクセスし、マイクロコーIt RA Mおよびシー ケンサ226による別の干渉なしに要求されたlあるいは複数の値をバスB B usに供給する。
例えばデータRA M 22Bによって供給されたFIFO232、234に対 する開始アドレス値は、統計的デコーダ230に対するアドレス値が特定される 態様と同じ態様でV RA M #I御ユニット238において発生される。ア ドレス値の8個のMSB位置は、23および27の各個をもったマイクロコード 制御語のB DSTフィールドに応答して、ハスB BUSを経由して各人力F IFO232および234に転送される。入力FIFO232および234用の アドレス値の14個のLSB位置は、マイクロコード制御語のB DSTがそれ ぞれ22および26の値をもったとき、ハスBBUSに供給される値の14個の MSB位置から転送される。BDSTフィールドが22および26の値をもつと き、バスB Busに供給される値の2個のLSB位置は各人力FIFO232 および234内に記憶される。これらの2個のビットによって表わされる値は、 ハスB BUSに供給されるべき第1のバイトとしてVRA M 216によフ て与えられる4個のバイト値の特定のバイトをポイントする。
第11A図は入力FIFO232あるいは234のいずれかとして使用するのに 適した回路を示すブロック図である。以下ではFIFO232用の回路について 説明する。
入力FIFO234に関する説明をも含ませるために%FIFO232の説明と 異なる部分については、その変更部分を括弧書きした。第11A図に示す回路は 、入力FIFOがランダムモーI−で動作するようにセットされた正規動作シー ケンスに関して説明されている。この説明の後にFIFOがシーケンシャルモー ドて動作するようにセットされたときに動作シーケンスの変更について説明され ている。
シーケンスの第1のステップで、そのB DSTフィールドにおける21(FI FO234に対しては29)の値をもりたマイクロコーIく制御語を使用してB  BUSに制御値を供給する。このB DST値に応答して1例えばA L U  244によつて供給される制御値はレジスタ1112にロードされる。この例 で使用される制御値は入力FIF0232をそのシーケンシャルモードとは対照 的にそのランダムモードで動作させるようにし、バスB Busに16ビツト値 ではなく8ビツト値を供給する。
シーケンスの次のステップで、前述のようにV RAM制御ユニット238中で FIFO232内のア1(レス値を設定する。FIF0232内のレジスタ11 10は22(26)の値をもったマイクロコード制御語のB DSTフィールド に応答してバイト位置の値、すなわちバスB Busを経由して供給される16 ビツI〜アドレス値の2個のLSBをロードする。制御回路1116はまたこの B DSTフィールドの値によって、入力FIFO232を初期状態にリセット し、VRAM読出し動作を開始させるように設定される。
このリセット動作では、制御回路1116はパルス信号COを発生してフリップ ・プロップ1134をリセットする。
信号CKの1周期の172の期間の後、制御回路1116はパルス信号PCを発 生して5レジスタ1110からのバイト位置の値をカウンタ1128とフリップ ・フロップ1132にロードする。この動作信号CKの1周期1/2の期間後、 制御回路1116はフリップ・フロップ1133のセット入力端子Sに供給され るパルス信号IRを発生する。フリップ・フロップ1133によって発生された 信号I FORは制O1lバスR/Sを経てV RA M ftj制御ユニッl 〜238に供給され、該VRAM制御ユニット238をV RA M 216中 77)7ドレスされたメモリ位置に対する読出1ノ動作を開始させるようにする 。信号I FORはまた制御回路1116に供給されて、読出し動作が進行中で あることを指示する。
V RA M ftjJ御ユニツユニット238し動作を処理し5またV RA  M 216が要求されたデータをバスD BUSに供給すると、VRAM制御 ユニット238はバスR/Sを経て供給されるパルス状ストローブ信号I FS Oを発生し、バスD Busからの32ビツト値をロードするようにレジスタ1 118を動作させるようにする。信号X FOSはさらにフリップ・フロップ1 133のリセット入力端子Rに供給されて、フリップ・フロップ1133の内部 状態をリセットし、メモリの読出し動作が完了したことを示す信号I FORを 論理値Oにリセットする。
信号I FORが論理0になワた後、信号CKの第1の周期の期間中、制御回路 1115はパルス信号LRf!:発生して、レジスタ1118に保持された32 ピッ1−の値をレジスタ1120に転送する。レジスタ1120のビットは、そ れぞれピッ1−0〜7.8〜15.16〜23.24〜31を包含する4乍の8 ビットセグメントBO,B1、B2、B3に分割される。8ビツトの値BO1B l、B2、B3はマルチブ1/クサ1124の6異なる入力ボートに供給される 。マルチブレクサ1124はカウンタ1128によって、またはマルチプレクサ 1130によって供給される値によって制御されて、その入力に供給される4つ の値の1つを出力レジスタ1114の8個のLSB位置に供給する。
この例では、レジスタ1112中の制御値は、8ビツト値は出力レジスタ111 4によって与えられるものであることを示す、その結果、制御回路1116は信 号MXCとして論理値1をマルチプレクサ1126に供給する。信号MXCのこ の値は、マルチプレクサ1126がカウンタ1128に保持された値をマルチプ レクサ1124の制御入力ボートに供給する。第1のバイト位置の値であるこの 値は、マルチプレクサ1124がアドレスされたバイト出力レジスタ1114の 8個のLSB位置に供給するように動作させる。パルス信号LRの発生後信号C Kの次の連続する周期の間に、制御回路1116はパルス信号LLをおよびRH を発生し、マルチプレクサ1124によって供給された値をレジスタ1114の 8個のLSB位置にロードし、レジスタ1114の8個のMSB位置をリセット し、フリップ・フロップ1134をセットする。フリップ・フロップ1134は セットされるので、その出力信号Ovは、出力レジスタ1114の値が無効であ ることを示す論理lである。
この例に対する動作のシーケンスは、マイクロコードRAMおよびシーケンサ回 路226がB SRCフィールドがX2の値(入力FIFO234に対しては1 3の値)をもつマイクロコート制御語を実行するとき完了する。レジスタ111 4に供給されたこの値はレジスタがその記憶された値をハスB BUSに供給す るようにする。制御回路111[iはまたB SRCフィールドの12(13) の値に応答してパルス信号COを発生し、またそれによってフリップ・フロップ 1134をリセットして、出力レジスタ1114中の値を無効なものとしてマー クする。
制御レジスタ1112中の値が、ISビット値がバスBBUSに供給されるべき であることを指示すると、制御回路1116は論理0の値を信号MXCとしてマ ルチプレクサ1126の制御入力端子に供給する。この制御値は、マルチプレク サ1126がマルチプレクサ1130によって供給される値をマルチプレクサ1 124の制御入力ボートに供給するように条件付ける。
マルチプレクサ1130はフリップ・フロップ1132の出力端子に結合されて いる。上述のように、フリップ・フロップ1132はレジスタ111Gに記憶さ れたバイト位置の位のMSBにプリセットされる。この1ビツトの値はマルチプ ライヤ11コ0によりて上位桁に向けて1ビツト位置シフトされる(つまり2倍 にされる)、従って、マルチプレクサ1124によって与えられる値は2かOの いずれかである。かくして、マルチプレクサはバイトBOあるいはB2のいずれ かを出力レジスタ1114の8個のLSB位置に供給する。
フリップ・70ツブ1132の出力端子はさらにマルチプレクサ1122の制御 入力端子に結合されている。マルチプレクサ1122はレジスタ1120のB3 およびBlセクションに結合されている。フリップ・70ツブ1132によって 与えられる値が論理0あるいは論理lであると、マルチプレクサ1122はレジ スタ1120の各BlまたはB3セクションに保持された値はレジスタ1114 の8個のMSB位置に供給する。16ビツトモートでは、制御回路1116は同 時にパルス信号LLおよびLMを発生して1選択された8個のMSBおよび8個 のLSBの双方をレジスタ1114にロードする。この値がB SRCフィール ド中の12(13)の値をもったマイクロコード制御語によってアクセスされる と、V RA M 216によって与えられる32ビツトの値の16個のMSB あるいは16個のLSBが読出されるようになる。レジスタ1110中に保持さ れたバイト位置の値が1または3であると、それはそれぞれOあるいは2と解釈 され、バイトB1またはB2を含む16ビツトの値はこの発明の実施例で使用さ れる入力FIFO232および234によって供給されない。
上述の例では、入力FIFOに供給される制御値は、該入力FIFOをランダム モードで動作させるように設定する。このモードでは、FIFOはアドレスされ た値のみをバスB BUSに供給する。そのシーケンシャルモードでは、入力F IFO232および234は、VRAM216中の特定されたアドレスを有する 値から開始し、順次に連続してより大きな値に向って変化する連続する値を供給 する。シーケンシャルモードにおけるPIFO232および234の動作につい ては、そのランダムモードにおける動作との違いについて説明する。
ランダムモードとシーケンシャルモードの第1の相違点は、シーケンシャルモー ドでは、制御回路1116がパルス信号LRを発生して新しい32ビツトの値を レジスタ1120ニロードすると、該制御回路1116はVRAM21.Iiか ら次の新しい32ビツトの値を要求するためにパルス信号IRを発生する。
ランダムモートでは、カウンタ1128とフリップ・フロップ1132は、レジ スタ111Oに記憶されたバイト位置の値を保持するためのレジスタとしてのみ 使用される。シーケンシャルモートては、カウンタ1128およびフリップ・フ ロップ1132は、レジスタ1120からの連続する8ビツトあるいは16ビツ トの値をそれぞれ出力レジスタ1114に順次供給するために使用される。カウ ンタ1128はプリセット値入力ボートおよびプリセット入力端子をもった通常 の2ビツト2進カウンタである。プリセット入力端子に供給されるパルス信号が 発生すると、カウンタ1128は、そのブリセラ1〜値入力端子に供給される値 をその内部値としてロートするように設定される。フリップ・フロップ1132 は通常のトリガ形式あるいはTクリップ・フロップである。このフリップ・フロ ップはプリセット値を有し、入力端子に供給される信号によって上述のように動 作するように設定されるプリセット入力端子をもっている。制御回路1116に よって発生されるクロック信号CCにはカウンタ1128およびフリップ・フロ ップ1132の双方のクロック信号入力端子に供給される。クロック信号CCに の連続するパルスに応答して、カウンタ1128はその値CVを(110,1, 2,3を経て循環させる。フリップ・フロップ1132は信号CCKの連続する パルスに応答して、その内部の状態を0と1との間で変化させる。この発明の実 施例では、入力FIFOがそのシーケンシャルモードにあるとき、信号CCKは 信号LLと同じであり、FIFOがそのランダムモートにあるときは、信号CC Kは一定の論理0値を持つ、その結果、値が出力レジスタ1114にロードされ るや否や、カウンタ1128あるいはフリップ・フロップ1132は、マルチプ レクサ1122および1124を、次のシーケンシャル値をレジスタ1114の 入力ボートに供給するように設定する。新しい値が出力レジスタ1114にロー ドされる毎に該レジスタ1114の入力ボートに供給される値は変化するので、 レジスタ1114中の値がバスB BUSに供給されるや否や上記の供給された 値は出力レジスタにロードされる。
カウンタ1128の出力値CVは制御回路1116に供給される。この制御回路 1116はこの信号をモニターして、レジスタ1118からの32ビツト値を何 時レジスタ1120に転送すべきかを決定する。レジスタ1112中に保持され た制御値が、入力FIFO232がその8ビツトモードで動作していることを指 示rると、制御回路1116はパルス信号LRを発生して、信号CVの値が3か ら0に変化すること(すなわち信号CVのMSBが1からOに変化するとき)と 一致1ノてレジスタ1118からの32ビツト値をレジスタ1120に転送する 。入力FIFOか16ビツト・モートて動作しているとき、信号Cvの値が1か ら2、あるいは3からOに変化すると(すなわち信号CKのLSBが1から0に 変化すると)、制御回路1116はパルス信号LRを発生する。
上述の例では、VRAM制御ユニット238およびVRA M 215は定常ス トリーム中で入力FIFO232および234に32ビツトデータ値を供給する ものと仮定している。信号Cvの値か3からOに変わるとき5このストリームか 遮断されるべきであり、また、例えば信号IFO凡が読出し動作が進行中である ことを示す論理値lの値をもっていると仮定すると、制御回路1116はパルス 信号LRを発生しない。この例では、信号I FORが、要求されたVRAMの 読出し動作が行なわれ、突ってレジスタ1118が有効なデータを含んでいるこ とを示す論理Oの値に変化するまで回路1116はその初期状態を凍結する。
信号I FORが0になると、制御回路1116はその動作を再開する。
制御回路1116の内部状態が凍結されている間、レジスタ1114の内容をバ スB BUSに読出す要求を受信すると(すなわち、B 5RC=12)、制御 回路1116はフリップ・フロップ1135のセラ1〜入力端子Sに供給される パルス信号IPを発生する。この動作によりフリップ・フロップ1135によっ て供給される信号I FOPAの状態を論理lに変化させる。信号I FOPA は休止論理回路240に供給され、該休止論理回路240はマイクロコードRA Mおよびシーケンサ回路210を休止状態にするように設定する。第3A図を参 照して前に説明したように2クロック信号CKAおよびCKBは休止状態で無効 状態にされて、データバス回路242 、 A L U244 、データRA  M 228およびビクセル補間器246の内部状態を有効に凍、Mする。(”号 I FOPAによび信号I FORはANDゲート1136の入力端子に供給さ れる。これらの信号の両方が、読出し動作が要求され、プロセッサ210が入力 FIFO232からの値を持つ休止状態にあることを示す論理lの値をもってい ると、ANDゲート1135の出力信号I FOPは論理lに変化する。信号I  FOPは休止論理240を経てVRAM制御ユニット238に供給される。信 号I FOPに対する論理lの値は、緊急要求すなわち優先度が高くなったもの としてFIFO232に対する読出し要求動作を処理するようにVRAM制御ユ ニット238を設定する。読出し・動作が完了すると、@号I FOSはフッリ ブフロップ1133をリセットし、信号I FORおよびI FOPを論理0の 値に変化させる。レジスタ1118からの要求値が出力レジスタ1114に伝播 されると、制御回路1116はフリップ・フロップ1134をセットし、その出 力Ovはフリップ・フロップ1135をリセットしてプロセッサ回路210をそ の休止状態から解放する。
第11B図は入力FIFO232の2個の連続する8ビツトデータ要求に対して 制御回路1116によって発生された信号の相対的タイミングを示すタイミング 図である。
出力FIFO235は入力FIFO232および234によって実行された機能 と本質的に反対の機能を実行し、該出力PIF0236は、ビデオ信号プロセッ サ210のビクセル処理素子から一度に1バイトあるいは2バイトのデータを受 入れ、このデータを32ビツトのブロックに形成して、このブロックをV RA  M 216に転送する。出力FIF0236は、1個の8ビツトまたは16ビ ツトのデータの値が与えられたアドレス値を使用してV RA M 216に書 込まれるランダムモードと、一連の8ビツトまたは16ビツトのデータの値が連 続的に増加するアドレス値を使用して書込まれるシーケンシャルモードの2つの 動作モードもっている。
ランダム転送のために使用されるア1くレス値あるいはシーケンシャル転送のた めに使用される開始アドレス値は、統計的デコーダ230と入力FIFO232 および234とについて前に説明した態様と同じ態様でV RA M iv制御 ユニット238中で設定される。8個のMSB用に使用されるB DSTフィー ルドの値、22ビツト・アト1/ス値の14個のLSBはそれぞれ15.14で ある。BDSTが14のとき、バスB Busに供給される16ビツトの値の2 個のLSBの位置の値は出力PIFO23S内部のレジスタに記憶される。この 値は、VRAM21Sに供給された32ビツト(4バイト)の最下位バイト、あ るいは書込まれるべき唯一のバイトとなる特定のバイト位置をポイントする。出 力FIFO236およびVRAM制御ユニット238は、V RA M 215 に書込まれない32ビツト値中の他のバイト位置に対応するV RA M 21 6中のデータの劣化を防止する回路を含んでいる。
第12A図は出力PIF023Bとして使用するのに適した回路を示すブロック 図である。この回路は、予め定められたアドレス値を使用して1@の8ビツト値 がVRAM 216書込まれるべきランダムモードにおける正規の動作シーケン スについて示されている。この説明の後に、FIFOがランダムモートの代りに シーケンシャルモートで動作し、8ビツト値の代りに16ビツトのデータ値が使 用されるときの出力FIFOの動作の相違点について説明されている。
VRAM216のランダム位置に1バイトのデータを書込む動作シーケンスの第 1ステツプは、出力FIFOをランダムモートで動作させ、8ビツトの入力値を 持つように設定する出力PIFO236に制御値を供給することである。この発 明の実施例ではB DSTフィールドの13の値をもワたマイクロコート制御語 に応答して、例えばA L U 244によって2ビツト制御語がバスB BU Sに供給される。マイクロコード制御語B DSTフィールドはバスMCWを経 て制御レジスタ1212に供給される。レジスタ1212は13の値をもったマ イクロコード制御語のB DSTフィールドに応答して、出力PIF0236用 の値としてハスB Busの2個のLSB位置によって伝達される値をロードす る。
出力PIFO236の内部の制御回路1216はまたBDSTフィールド中の1 3の値に応答して、レジスタ1220中に保持されたデータをV RA M 2 16に転送する書込み動作を開始させる。このデータは先のデータ出力動作から のデータの最後の部分的ブロックである。
クリップ・70ツブ12コ2によフて与えられる信号OFRが、FIFO236 用のメモリ書込み動作が進行していないことを示す論理Oの値をもっていると、 制御回路1216はパルス信号LORを発生し、レジスタ1220中の値を出力 レジスタ1218に転送し、またラッチ1228に保持された4ビツトバイトマ スクを4ビツトレジスタ】230に転送する。制御回路がパルス信号LORを発 生して信号CKの1周期の1/2の期間の後、制御回路1216はフリップ・フ ロップ1232の入力端子Sをセットするために供給されるパルス信号WRを発 生する。この動作は、フリップ・70ツブ1232によりて与えられた信号OF Rの状態を論理1の値に変化させる。
信号OFRはバスR/Sを経てV RA M R1御ユニット238に供給され る。信号OFRからの論理1の値は、FIF0236に対すルV RA M f tjl m ユニットニ保持されたアドレス値を使用して、またレジスタ121 8中に保持された32ビツトのデータ値を使用して、VRAM書込み動作用の要 求としてV RA M 1ljl 御ユニット238によって解釈される。レジ スタ1230中のバイトマスクはバスCASMを経てVRAM制御ユニット23 8に供給される。このマスクVRAM制御ユニット238中で使用されて、VR AM 218を、バイトマスク信号CASMに応答するバイト位置をもったレジ スタ1218中のこれらのバイトのみ、すなわちレジスタ1220にロートされ たとき制御回路1216によって有効であるとしてマークされたこれらのバイト のみを記憶するように動作させる。バイトが有効であるとマークされる方法、V RAM1[ilユニット238における信号CASMの使用態様については以下 に説明する。
制御回路1216がパルス信号WRを発生すると同時に。
ラッチ1228中の4個のフリップ・フロップの各々のリセット入力端子Rに供 給されるパルス信号RMを発生する。この信号はラッチ1228中の7リツプ・ 70ツブFFO乃至FF3をリセットし、各バイト位WBOないしB3の値を無 効としてマークする。
上述のように、制御ユニット1216は、もし信号OFRが0であるならば書込 み動作を開始させる。制御レジスタ1212中の値が変化するとき信号OFRが 論理0であると、VRAM制御ユニット238によ)て与えられる信号OFSが 要求されたメモリ書込み動作が行なわれたことを示すまで制御回路1216はそ の初期動作を凍結する。信号OFSはレジスタ1218の出力可動化端子OEに 供給され、このレジスタ1218をその記憶された値をバスDBUSに供給する ように動作させる。@号OFSが論理1をもっている間、レジスタ1218のデ ータ中のデータはVRA M 216に転送される。信号OFSはまたフリップ ・フロップ1232なリセットし、信号OFRの値を論理0に変化させる。制御 回路1216は論理0の値をもった信号OFRに応答してその正規の動作を再開 させる。
電源がビデオ信号プロセッサ210に供給された後、誤ったデータか第1の出力 FIFOの要求によってVRAM216に書込まれるのを防止するために、フリ ップ・フロップ1228は例えば通常の電源オンリセット回路によりて論理0の 初期値をもつように設定される。後述のように、これらのフリップ・70ツブ中 の論理0の値は、レジスタ1220からのデータかV RA M 216に書込 まれるのを防止する。
先の読出し動作からのデータはレジスタ1220からレジスタ1218に転送さ れ、メモリ読出し動作が行なわれると、ここに述べた代表的なランダム出力動作 用のアドレス値が特定される。この動作は上述されている。バイト位置レジスタ 1210はB DSTフィールド中の14の値に応答して、バスB Busの2 個のLSBによって伝送された値をロードする。上述のように、この値はレジス タ1220のどのバイト位置BO,Bl、B2あるいはB3が供給されたデータ 値を保持するかを指示する。
制御回路1216はB DSTフィールド中の14の値に応答してパルス信号O PCを発生し、バイト位置レジスタがロートされて信号CKの1周期のl/2の 期間の後、2ビツトカウンタ1225の初期値としてバイト位置の値を設定する 。この値は信号OCVとして制御回路1216に供給される。パルス信号OPC の発生と同時に制御回路1216はパルス信号LRを発生して、フリップ・フロ ップ1234をセットし、入力レジスタ1214中のデータを無効としてマーク する。フリップ・フロップ1234の出力信号INVは制御回路1216に供給 されて、バスB Busからのデータがレジスタ1214にロード可能であるこ とを指示する。
代表的動作シーケンスの次のステップは8ビツトデータ値を出力PIF0236 に供給することである。このステップは、マイクロコード制御語がB DSTフ ィールド中の20の値をもつときに生ずる。BDSTフィールド中のこの値は、 例えばA L U 244によって供給され。
バスB BUSによって伝送された16ビツトの値をロードするように17ジス タ1214を設定する。制御レジスタ1212中の値は、8ビツトの値がプロセ ッサされるべきことを指示するので、レジスタ1214中の値の8個のLSB位 置の値のみが関連する。ある値がレジスタ1214にロードされると、制御回路 1216はフリップ・70ツブ1234のリセット入力端子に供給されるパルス 信号Coを発生する。この動作によって信号INVの状態を論理0に変化させ、 入力レジスタ1214中に保持された値を有効なものとしてマークする。
入力レジスタ1214の8個のLSB位置は、レジスタ1220のビット位置0 −7(バイト位11BO)および16−23(バイト位置B2)に直接結合され 、また3状慝ゲー)−1224を経てレジスタ1220のビット位18−Is( バイト位置Bl)および24−31 (バイト位置B3)に結合される。入力レ ジスタ1214の8個のMSB位置は3状態ゲート1222を通ってレジスタ1 220のバイト位IBIおよびB3に結合される。3状態ゲート1222および 1224は制御回路1216によって発生される各信号UBEおよびLBEによ って制御される。この発明の例においては、レジスタ1212中の制御値が出力 PIF0236が8ビツトの値を処理する状態にあることを指示すると、制御信 号UBEは、3状態ゲー)−1222の出力ボートのインピーダンスが高インピ ーダンスを呈するように該3状態ゲート1222の動作を設定し、また、制御信 号LBHは、3状態ゲート1224がそのデータ入力をその出力ボートに5従っ てレジスタ1220のバイト位置B、およびB3に供給するように上記3状態ゲ ート1224の動作を制御する。従って、この例では、レジスタ1214の8個 のLSB位置はレジスタ1220のバイト位置BO乃至B3の各々に結合される 。
制御回路1216はまたB DSTフィールド中の20の値に応答する。この値 が検出されて信号CKの1周期のl/2の期間の後、制御回路1216は信号L RO,LR1、LR2またはLR3のうちの1個のパルス信号を発生し、レジス タ1214からの8ビツト値をレジスタ1220のバイト位置の1つにロートし 、ラッチ1228中の各フリップ・フロップFF01FFI、FF2あるいはF F3をセットすることによって有効データを含むものとして選択されたバイト位 置をマークする。同時に、制御回路1215はパルス信号LRを発生して、入力 レジスタ1214に保持されたデータを無効であるとマークする。選択されたレ ジスタ1220中のバイト位置は、カウンタ1226によつて発生された信号O Cvによって決定される。この例では、この信号すなわちカウンタ1226の出 力信号はレジスタ1210に保持されたバイト位置の値と同じである。
出力PIF0236に供給された1バイト・データ値がレジスタ1220中のバ イト位置の1つを占める。この値は、新しい制御値か前述のようにレジスタ12 12に供給されるとV RA M 216に書込まれる。
上述の例では、出力PIFO236に供給された初期制御値は、該FIFO23 6をそのランダムモードて動作するように設定する。上記の動作状態とは違って 、シーケンシャルモードが使用されることを制御値が特定するならば、上述の例 はバイト転送動作のシーケンスの最初のもののみについて説明することになる。
シーケンシャルモーlくでは、カウンタ1226によって保持された値は信号C CKのパルスによって増加される。この発明の実施例では、出力FIFO2:1 6がそのシーケンシャルモード動作するようにセットされると、制御回路121 6は、パルス信号LRO乃至LR3の1つを発生すると5個号CCKを発生する 。
シーケンスの第2のバイトかレジスタ1214に供給されると、増加した計数値 をもった信号OC■は制御回路1216が信号LRO1LRI、LR2またはL R3の次のものを発生し、従って、入力バイトをレジスタ1220の次のバイト 位置BO,B1.B2またはB3の各々にロー1くする。カウンタ1226は2 ビツトカウンタであるのて、該カウンタ1226はモジュロ4出力値、すなわち 偵O1l、2.3.0.1・・・・等を発生する。
カウンタ値OCvか3からOに増加すると、レジスタ1220の最後のバイト位 置B3が充満される。制御回路1216はパルス信号LORを発生し、1/ジス タ1220中のデータをレジスタ1218に転送し、またパルス信号WRを発生 し、VRAM制御ユニット238によってレジスタ1218中に保持されたデー タ用のVRAM書込み動作のスケジュールを作る。信号OCVか3からOに変化 したとき、信号OFRが、書込み動作が進行中であることを示す論理lの値をも つと、制御回路1216は信号LORを発生しない、しかし、VRAM制御ユニ ット238によって供給された信号OFSかフリップ・フロップ1232をリセ ットし、信号OFRの状態を論理Oに変化させるまで、その内部状態を凍結する 。
フリップ・フロップ1234によフて供給される信号IN■がレジスタ1214 中のデータは有効であること(すなわち、未たレジスタ1220へ転送されてい ない)を示している時に、ハスB BUSからレジスタ1214にデータを転送 しようとすると、制御回路1216はパルス信号OPを送フてフリップ・フロッ プ1233をセットし、このクリップ・フロップ1233が生成する信号0FP Aを休止論理240に送ることによって1回路210を休止状態にする。信号0 FPAは、ANDゲート1235によって信号OFRと論理的にAND処理され て信号OFFを生成する。この信号OFFは休止論理240を介してVRAM制 御ユニット238に印加される。この信号はそのとき進行中のVRAM書込み動 作の優先順位を上げる。この書込み動作が完了すると、VRAM¥#御ユニット 238は、パルス信号OFSを発してフリップ・フロップ1232なリセットし 、信号OFRとOFFの値を論理0に変える。
信号OFRの値の論理lから論理0への転換に応じて、回路1216はパルス信 号LORを発して、レジスタ1220中の値をレジスタ1218中にロードし、 またラッチ1228の値をレジスタ1230中にロートする0次に制御回路12 16はパルス信号WRを発してVRAM書込み動作を要求する。信号CKの2分 の1周期後、制御回路1216はパルス信号LORを発し、これがパルス信号R Mを発してラッチ1228のフリップ拳フロップFF01FFI、FF2および FF3をリセットする。動作シーケンス中のこの時点で、出力PIF023Bは 次の入力データ・バイトを受取りそれをレジスタ1220のバイト位置BOに記 憶するように調整される。従って、制御回路1216はパルス信号LRO中の1 つのパルス信号を発生し、LR3を介して、レジスタ1214中に保持されてい た値をレジスタ1220の対応するバイト位置BO乃至B3中にロードする。こ れと同時に、制御回路1215はパルス信号LRを発してフリップ・フロップ1 234をセットして入力レジスタ1214中の値を無効とマークし、信号INV を通してフリップ・フロップ123コをリセットし処理器210をその休止状態 から解放する。
出力PIFO236の動作のこの最後の変形は16−ビットのデータ転送である 。このモードで、この出力FIFOは、バスB Busから16−ビット値を受 取り、それをVRAM216中にランダムにまたは順次的に書込む。
この出力PIFO23Sは制御レジスタ1212中ヘロードされている制御値に によりて16−ビットのデータ転送モードにされる。出力FIFOがこのモード のときは、制御回路1216によって供給される信号UBEは3状態ゲート12 22を調整して、レジスタ1214の8個のMSB位置にある値をレジスタ12 20のビット位置BlとB3に印加する。信号LBHは、このモードで、3状態 ゲート1224がその出力ボートを高インピーダンスとするようにする。
この16−ビット転送モードでは、レジスタ1210中のバイト位置値のMSB はカウンタ1226のLSBにロードされ、制御回路1216は信号OCVのL SBのみに応動する。このビットが0でデータ値がレジスタ1214中にロード されると、制御回路はパルス信号LRO,LRIおよびLRを発して16−ビッ ト値をレジスタ1214から1220のバイト位置BOと81に転送してラッチ 1228中のフリップ・フロップFFOとFFIをセットし、レジスタ1214 は無効データを持っているものとしてマークする。また、信号oCvのLSBが 1のときは、制御回路1216はパルス信号LR2、LR3、およびLRを発し て16−ビット値をレジスタ1220のビット位置B2とB3に転送して、ラッ チ1228中のフリップ・フロップFF2とFF3をセットし、レジスタ121 4は無効データを持フているものとしてマークする。制御回路1216は信号O CVのLSBの値の1か60への転換に応じて、レジスタ1220中に保持され ているデータをレジスタ1218へ転送しかつVRAM書込み動作をスケジュー ルする。
第12B図は、出力PIF023Bを介して行なわれる5つの順次単一バイト・ データ転送の相対的タイミングを示すタイミング図である。
この)A明のこの実施例て使用している休止論理240は2個のORゲート(図 示せず)を持っている。入力信号SDP、IFOP、IFIPおよびOFPがそ の第1ゲートに印加され、同ゲートは出力信号UREQを発生する。@号URE Qは、次に説明するようにVRAM制御ユニット238に印加されて、統計的デ コーダ230.入力FIF0232と234または出力PIF0230に7)う ち(7)1つが急いでメモリ動作することを要求している旨を示す、信号SDP 、IFOP、IFIPおよびOFFもバスURを介してVRAM制御ユニット2 38に供給される。
第2のORゲートに対する入力信号は、語信号5DPA、IFOPA、IFIP Aおよび0FPAとVRAM制御ユニット238から供給される信号VCUPA である。第2ORゲートの出力信号は信号PAUSEで、前述したようにマイク ロコードRAMとシーケンサ回路226に印加される。4 第13A図と第13B図とはVRAM制御回路23δとして使用するに適した回 路を示すブロック図を構成していル、上述したようニ、 V RA M #J  v4ユニット238は、マイクロコート制御語のB DSTフィールドに応答す る回路を有し、これは統計的デコーダ230、入力FIFO232と234およ び出力PIFO236に対するVRAM7トレス値を記憶する。更に、VRAM 制御ユニット238は、表示器用プロセッサ218にビクセル値を生成するのに 使われるビット・マウプ・アドレスと、VRAM216が使用するダイナミック ・ランダムアクセス・メモリ回路の内容を周期的に復元(リフレッシュ)するの に使用されるリフレッシュ・アドレスを記憶するための回路を持っている。VR AM制御ユニット238は、また、統計的デコーダ230、入力FIFO232 と234および出力FIFO236が発生したメモリ読出し信号とメモリ書込み 信号に応答して表示器用プロセッサ218に対する要求信号を読出し、圧縮され たビデオ信号212の源に対する要求信号を書込み、また内部て発生したリフレ ッシュ要求信号に応じて種々の要求されたメモリ動作を開始してそれらが適切に 完了したことを表示するように働く回路を持っている。
種々のアドレス値を記憶する回路は制御回路1310によヮて制御される。この 回路1310は、クロック信号CK’、バスMCWによって供給されるマイクロ コード制御語のB DSTフィールド、および下記するようにマルチプレクサ1 378によって供給される装置選択値、信号源222によって供給される垂直フ ィールド同期信号vSに応動する。制御回路1310は、主として、種々の装置 に対するアト1/ス値のローディングの制御を行なう。
統計的デコーダ230用のアドレス値、たとえばBDSTフィールドにおいて値 31を有するマイクロコード制御語をロー1くするには、ビデオ信号処理器21 0中の他の回路たとえばA L U 244をB SRCフィールド中のある一 つの値を介して制御しくコンディション)て、それがそのアドレス値の8個のM SBをバスB Busに印加されるある値の8個のLSBとして供給するように する。BDSTフィールドの値31に応じてこの制御回路1310は、信号GK ’の1周期に亙り1対のマルチプレクサ1312と1316に信号STMとして 論理lの値を印加する。この信号によって、マルチプレクサ13!2は、バス3  3 U 3から送られた8ビツト値をレジスタ1314の入力ボートに供給す るようにされる。信号STMが論理lの値を持っている間、制御回路1310は パルス信号5THLを発生し、レジスタ1314か自己の入カポ−1−に印加さ れたその値をロードするようにする。
次の命令サイクルては、そのB DSTに偵30を有するマイクロコート制御語 によって、制御ユニット131Oは、信号CK’の1周期間にわたり論理lの値 をもった信号STMを保持しパルス信号5TLLを発生するようにされる。これ らの信号の組合せによって、マルチプレクサ1316はバスB Busの14M  S B位置によって伝えられた値を14ビツト・レジスタ1318の入力ボー トに供給するように制御され、またレジスタ1318はその入力ボートに印加さ れた値を記憶するように制御される。このレジスタ1314と1318に保持さ れた値は、マルチプレクサ1356の入力ボートOに印加される22ビツトのア ドレス値を形成するように連結される。
入力FIFO232と234および出力P I FO236ニ対するアドレス値 の記憶動作のシケーンスのタイミングは統計的デコーダ230に対するアドレス 値の記憶動作のシーケンス・タイミングと同じである。入力FIFO232に対 するアドレス値の記憶には、制御回路1310により供給される信号IFOMに よって、マルチプレクサ1320と1324を制御して、アドレス値の8個のM SBと14個のしSBを、それぞれレジスタ1322と1326に印加させるよ うにする。レジスタ1322と1326は、各々その入力ボートに印加された値 を5制御回路131Oによって供給される信号I FOHLおよびI FOLL に応じてロートする。マルチプレクサ1320と1324、およびレジスタ13 22と1326は、マルチプレクサ1312と1316およびレジスタ1314 と1318にそれぞれ対応している。信号IFOM、IFOHLおよびI FO LLは信号STM、5THLおよび5TLLにそれぞれ対応する。1FOLLと I FOHLは22と23というB DST値によってそれぞれ付活される。こ の両値は信号IFOMを付活する。
マルチプレクサ1328と1332およびレジスタ1330と1334は、それ ぞれマルチプレクサ1312と1316およびレジスタ1314と1318と同 一構成を持っている。これらのマルチプレクサおよびレジスタは、制御回路13 10によって供給される信号IFIM、IFI)ILおよびIHILLに応動し て22−ビットのアドレス値を入力FIFO234にロードする。この値の8個 のMSBは、B DSTフィールドの値が27であれば1/ジスタ1330にロ ードされ、BDSTフィールドの値が26であればレジスタ1334にロートさ れる。
出力FTFD235のアドレス値は、制御回路1310により発生した信号OF M、0PHLおよび0PLLに応じて、各マルチプレクサ1336と1340を 介してレジスタ1338と1342にロードされる。上記の信号は前記の各信号 STM、5THLおよび5TLLに対応している。制御回路1310は、BDS Tフィールドが値14を有するときはパルス信号OFMと0PLLを発生してこ のアドレス値の14個のLSBをレジスタ1.342にロートし、B DSTフ ィールドの値が15のときは、パルス信号OFMと0PHLを発生してこのアド レス値の8個のMSBをl/ジスタ1338中にロードする。各レジスタ対13 22と1326.1330と1334、および1338と1342中に保持され ている値を連続することによって形成された22−ピッ1−のアドレス値はマル チプレクサ1356の各入力ボートl、2.3に印加される。
統計的デコーダ230に対するアドレス値をバスする各マルチプレクサ1312 と1316の第2人力ボートは、入力FI FO232ト234および出力P  I FO236ニ対すルアドレス値をバスする対応マルチプレクサ対の第2人力 ボートと同様に、加算器1392の出力ボートに結合される。下記するように、 この加算器1392は増加(インフレメンテラド)アドレス値を供給する。
この増加したアドレス値は、統計的デコーダ230.入力FIFO232と23 4および出力FXF0236に対すると同じ様に使用される0次に、統計的デコ ーダ230での使用についてだけ説明する。増加したアドレス値の8個のMSB はマルチプレクサ1312の第2人力ボートに印加され、14債のLSBはマル チプレクサ1316のWS2人力ボートに印加される。信号STMが論理Oの値 を持っているときは、マルチプレクサ1312と1316は、これらの値をアド レス・レジスタ1314と1318の入カポ・−トにそれぞれバスするように制 御される。統計的デコーダ230のメモリ読出し動作か進行している間、制御回 路1310はパルス信号5THLと5TLLを発生してこの増加したアドレス値 をレジスタ1314と1318にロードする。もし、統計的デコーダ230が順 次モードで動作するようにセットされているか、デコーダ230がそのランダム ・モードで動作するようにセットされているときもし第2の32ビツト値をV  RA M 216が要求すれば、この増加したアドレス値は統計的デコーダ23 0の次のメモリ読出し動作を行なうために使用される。
加算器1392の出力ボートは更に22−ビット・レジスタ1346の入力ボー トに結合されていて、このレジスタはVRA M 216のメモリ・リフレッシ ュ動作を行なうために使用されるアドレス値を保持する。レジスタ1346の出 力ボートはマルチプレクサ1356の入力ボート5に結合されている。リフレッ シュ・アドレス・レジスタ1346から供給される値はあるサイクルで変化し、 4ミリ秒ごとにVRA M 21B中の各行(ロウ)をアドレスする。この発明 のこの実施例では、このリフレッシュ動作はVRAM制御ユニット238の内部 にある下記の回路によつて制御される。
この実施例で使用されるVRAM制御ユニット238に保持されているこの最後 のアドレス値はビット・マツプ・アドレスである。このアドレス値は、たとえば BDS 7 fgがそれぞれ19と18である2つの別々のマイクロコード制′ 4E語に応じて各パルス制御信号BMHLとBMLLを発生することによフて、 レジスタ1348と1350中に書込まれる。このレジスタ1348と1350 中に書込まれたアドレス値は、圧縮されたビデオ信号212の信号源により生成 された、画像の圧縮表現から、ビデオ信号処理回路210により発生されたルミ ナンス信号ビット・マツプの開始アドレスである0表示器用プロセッサ218の データのアクセスに使用されるこのビット・マツプ・アドレス値はレジスタ13 54中に保持される。レジスタ1348中の8−ビット値とレジスタ1350中 の14−ビット値とを連結して得られた22−ビット・アドレスは、信号源22 2から供給される垂直フィールド同期信号vSのパルスに応じてレジスタ135 4中にロードされる。正規動作モードでは、ビデオ信号処理器210は、信号v Sの2パルスごとに1回ずつレジスタ1348と1350中に新しいビット・マ ツプ・アドレス値をロードする。従ワて各ビット・マツプは動きのあるビデオ情 景を再生するために2回表示される。
レジスタ1348と1350の内容は次のようにしてレジスタ1354に転送さ れる。信号VSのパルスと同時に、制御回路1310は信号BMMの状態を信号 CKの一周期中論理lに変更する。これによってマルチプレクサ1コ52は、レ ジスタ1348と1350中に保持されているアドレス値をレジスタ1354の 入力ボートに印加する。信号BMMが論理l状態にある間に制御回路1310は パルス信号BMLを発してレジスタ1354がその入力ボートに供給される値を ロードするようにする。レジスタ1354に保持されたこの値はマルチプレクサ 1356の入力ポートロに印加される。
信号BMMが論理0状態にあるときは、マルチプレクサ1352は加算器139 2から供給された22−ビットの増加されたアドレス値をレジスタ1354の入 力ボートに供給するようにされる0表示器用プロセッサ218のメモリ読出し動 作中、制御回路131Oはパルス信号BMLを発し、またこの信号BMMを論理 O状態に保持して、増加されたビット・マツプ・アドレス値をレジスタ1354 にロードして、表示器用プロセッサ218の次の読出し動作の用意をする。
その時のアドレス値が増加されつつある間に、統計的デコーダ230 、 入力 F I FO232ト234 、および出力FIF0236のうちの1つに対す る新しいアドレス値のロードを行なおうとすると、 V RA M fljJ  御ユニット238中に混乱(コンフリクション)が生ずる可能性がある。この混 乱は、新しいアドレス値がロードされ、次に加算器1392から供給される増加 された以前のアドレス値がその上に書込まれると1発生する。混乱の可能性が検 出されると、制御回路1310は信号VCUPAの状態を論理lに変更し、一方 アドレス値は増加されレジスタ対1314と1318.1322と1326.1 330と1334または1338と1342のうちの1つに記憶される。この信 号は、休止論理240に印加されてプロセッサ210を増加されたアドレス値が 記憶されてしまうまで休止状態とする。制御回路1310は、この混乱の可能性 がある場合、すなわち上記レジスタ対の1つにデータを記憶させようとする試み か増加されたアドレス値を記憶させようとする試みと同時に生じたとき、のみプ ロセッサ210を休止させる。
アドレス・ロード動作のタイミング関係を例示するものとして、第13C図は、 統計的デコーダ230に対して最初のアドレス値と増加されたアドレス値かロー トされるとき制御回路1310によって生成され幾つかの信号のタイミング図を 表わしている。
次に述べるように、各装置230 、232 、234および236は、正規メ モリ要求または緊急メモリ要求を発生することができる。VRAM制御ユニット 238は、一般にラウントロピンと呼ばれる繰返しシーケンスて各装置の正規メ モリ要求信号を処理する。各装置230 、232 。
234および236はすべて実質的に同等の優先度を有するものとして取扱われ る。
装置230 、232 、234および236によって発生した緊急メモリ要求 動作は第2のスケジューリング機構によって取扱われる。この第2のスケジュー ラは、また、リフレッシュ動作、圧縮されたビデオ源212からの書込み動作、 およびプロセッサ218のビット・マツプ読出し動作も取扱う、このスケジュー ラは成る固定的な優先度計画に従って動作する。ビット・マツプ読出し動作は最 高の優先度を有し、以下優先度が順番に低下する形で、リフレッシュ動作、圧縮 されたデータ書込み動作、出力PIF O236に対する緊急メモリ書込み動作 、入力PIFO234と232に対する緊急メモリ読出し動作、および統計的デ コーダ230に対する緊急読出し動作の順に続いている。スケジューリングと上 記の諸動作の開始を制御する回路については次に説明する。
上述のようにメモリ要求信号OFR,IFIR,IFORおよびSDRはバスP /Sを介してVRAM制御ユニット238に印加される。第13A図と第13B 図において、それらの信号はバスR/Sによって伝えられる他の信号から分離さ れてバレルシフタ136oに印加される。バレルシフタ1360では、4−ビッ ト要求信号が循環シック1362、マルチプレクサ1364の1入力ボートとに 印加される。シフタ1362は、この4−ビット要求信号の3個のMSBを1ビ ット位置だけ下位に向けてシフトし、かっ4−ビット要求信号のLSBを出力信 号のMSB位置にシフトする。シ・フタ1362の出力信号はマルチプレクサ1 364の第2の入力ボートに印加される。マルチプレクサ1354によりて供給 される信号は循環シフタ1366と、マルチプレクサ1368の1入力ボートと に供給される。循環シフタ1366は、その入力値の2個のLSBと2情のMC Bの位置を入換えて、マルチプレクサ1368の第2人力ボートに印加する出力 値を生成する。マルチプレクサ1364と1368はレジスタ1376から供給 される2−ピッ1−信号のそれぞれ下位ビットと上位ビットとにより制御される 。値0、工、2;たは3を有するこの信号に応じて、バレルシフタ1360は0 ,1.2または3ビツト位置をそれぞれ下位のビット位置へ循環シフトさせる作 用を行なう。
バレルシフタ1360から供給される出力信号は4〜ビット優先度デコーダ13 70に印加される。優先度デコーダ1370の出力信号は、その入力ボートに印 加された値の最上位の1の値をもつビットのビット位置番号0、l、2または3 である。たとえば、4ビツト入力の値が0101てあったとすれば優先度デコー ダ1370の出力値は2になる。それは1の値を有する最上位ビットかビット位 置2にあるからである。fl先度デコーダ1370の出力信号はレジスタ137 2に印加され、このレジスタは制御回路131Oから供給される信号CCKに応 じて入力ボートに印加された上記の値をロードする。
レジスタ1372中に保持された値は2−ビット加算器1374の1つの入力ボ ートに供給される。加算器1374の出力ボートは2−ピッ1−・レジスタ13 76の入力ボートに接続されている。レジスタ1376の出力ボートは、バレル シフタ136Gと加算器1374の第2人力ボートとに結合されている。レジス タ1376と加算器1374とのこの組合せはモジュロ4アキユムレータを構成 している。どの時点においてもレジスタ1376中に保持されている値は、その 時までにレジスタ1372によって加算器1374に供給された値全部のモジュ ーロ4の累算された和である。1/ジスタ1376中に保持された値はメモリ動 作が行なわれるべき装置の番号である。0は統計的デコーダ230に相出し、1 は入力FIFO232に、2は入力FIFO234に5そして3は出力PIF0 236に対応している。バレルシフタ1360の動作により、この選ばれた装置 に対するメモリ要求値か優先度デコーダ137oに対する入力値のLSB位置ヘ シフトされ、次のメモリ動作てはこの装置が最低優先度で選ばれるようにする。
バレルシフタ1360.優先度デコーダ1370、レジスタ1372と1376 、および加算器1374を含んでいるこの回路はスケジューラであって、装置2 30 、232.234および236の発生するメモリ要求が確実に実質的に同 等の優先度で処理されるようにする。
レジスタ1375の出力信号はMSB位置に論理0を連続することによりて3ビ ツトに引伸ばされている。この3−ビット信号はマルチプレクサ1378の1つ の入力ボートに印加される。マルチプレクサ1378の2番目の入力ボートは、 緊急要求、リフレッシュ要求、圧縮されたデータ書込み要求およびビット・マツ プ読出し要求を堆扱うスケジューラの出力信号を受入れるように、結合されてい る。統計的デコーダ230、入力FIFO232と234および出力FIFO2 36に対する緊急メモリ要求は各信号SDP、IFOP、IFIPおよびOFF によって伝達される。これらの信号は、優先度デコーダ1380の入力ボートの ビット位置0、l、2および3にそれぞれ印加される。ビット・マツプ読出し要 求信号は信号源220から供給される水平線同期信号H3である。この信号は優 先度デコーダ1380の入力ボートのビット位N6に印加される。リフ1/ツシ ュ要求値号はカウンタ1382によって発生される。このカウンタ1コ82は4 1通の7−ピッドラ・ンチング・カウンタである。このカウンタは、信号CKの パルスを128個カウントして、その論理工の伯をもつ1ビット出力値号RFを 、コノカウンタがリセットされるまでラッチする。この発明の実施例では、信号 RFは優先度デコーダ1380の入力ボートのビット位M5に印加される。カウ ンタ1382のリセット入力端子VRAM信号発生器1388から供給される信 号RFSに結合されている。この信号はリフレッシュ動作の続りに発生器138 8によりパルスとして送り出されてカウンタ1382をリセットする。
圧縮されたデータ読出し要求信号CVRは、前述のように、圧縮されたビデオの 信号源212によってVRAM制御ユニット238に印加されるゆこの信号は優 先度デコーダ1380の入力ボートのビット位置4に結合される。
優先度デコーダ1コ80の出力ボートはレジスタ1384の入力ボートに結合さ れている。レジスタ1384は制御回路1310から供給される信号CCK’の パルスに応動して、その入力ボートに印加された値をロードするように制御され ている。レジスタ1384の3−ビット出力信号はマルチプレクサ1378の第 2の入力ボートに供給される。
マルチプレクサ1378はORゲート138Bによって発生した信号によって制 御される。この信号は、休止論理240により発生した信号UREQ、および信 号HS、CVR,RFの論理的ORである。ORゲー) 1386の出力信号は 、優先度デコーダ1380への入力信号の1つまたはそれ以上のものか論理lで あるときのみ、論理lである。
マルチプレクサ1378は、その制御入力信号か論理0のとき、レジスタ137 6から供給された3−ビット値をバスさせその他の場合にはレジスタ1384か ら供給された3−ビット値をバスさせるように、調整されている。マルチプレク サ1378でバスされた値は、マルチプレクサ1356に印加され6個のアドレ ス値のうちのどれをV RA M 216のアドレス入力ボートとバンク選択論 理に、および加算器1392の第1入力ボートに印加すべきかを、表わす、マル チプレクサ1コア8から供給される値はROM 1390にも印加され、このR OMは増分値を加算器1392の第2人力ボートに供給する。ROM1390は 、たとえば、統計的デコーダ230、入力FIFO232または234.或いは 出力PIF 0236によりメモリ動作が行なわれるときは増分値1をメモリ動 作がビット・マツプ読出し動作であれば増分値64を、メモリ動作がリフレッシ ュ動作であれば増分値256を供給するように、プログラムされている。前述の ように、制御回路131Oはマルチプレクサ1378から供給される3−ビット 値に応動して、適当なレジスタに対するロード信号を付活して、増加されたアド レス値をメモリ・サイクル中にレジスタ中にロードする。
VRAM信号発生器1388は、マルチプレクサ1378により供給される3− ビット信号に応じて、ランダム読出しまたは書込み動作、直列読出し動作または リフレッシュ動作を行なうようにV RA M 216に対する制御信号な発生 し、またメモリ動作か完了すれば、適切なストローブ信号をパルス状に発生する 。このVRAM信号発生器は出力FIFO2]6から供給される4−ビット信号 CASMを受取るように結合されている。この信号は、メモリ書込み動作中、列 (コラム)アドレス・ストローブ信号CASO,CAS1.CAS2およびCA S3を選択的に非可動化するために使用されるもので、上記列アドレス・ストロ ーブ信号はその1つがV RA M 216内のメモリ集積回路の8列の4対に 印加される。前述のように、この実施例で使用されているV RA M 216 は、8列16行のマトリクスの集積回路として構成されている。各集積回路は4 ビツトのデータを受取りまたは供給する。メモリの8列のすべてから供給される 32ビツトを8−ビット値に分割するために、上記の列は対をなすようにされ、 列アドレス・ストローブ信号CASO,CAS1.CAS2およびCAS3のそ れぞれ異なるlフが4つの列対のそれぞれに印加される。参考資料としてここに 引用するNECエレクトロニクス社発行の1985年「メモリ製品データブック J3−45乃至3−54頁に記載されているように、#LP D 41264集 積回路に対するメモリ書込み動作に関して列アドレス・ストローブが動作状態に されなければ、アドレスされたメモリセルにデータは書込まれない、従つて、も し信号CASMの4ビツトのうちの何れかが論理0であれば、信号発生器138 8は対応するCAS信号を非可動化し、バスD Busの対応するバイト位置の データはVRAM216中に書込まれず、アドレスされた32−ビット語中の上 記バイト位置に前からあった内容は損なわれずに残つている。
VRAM信号発生器1388は5行なわれるメモリ動作のSO,CASI、CA S2およびCAS3と行アドレス・ストローブ信号RAS、書込み可動化信号■ 1、出力可動化信号OE、直列制御信号SCおよび直列出力可動化信号SOEと 同様に生成する。これらの信号のタイミング図は上掲のメモリ製品データブック の引用部に記載されている。
VRAM信号発生器1388G:t、 VRAM21Gを構成する個々の集積回 路を制御する信号を発生するだけでなく、統計的デコーダ230、入力FIFO 2コ2 、234 、出力FIFO236およびリフレッシュ・カウンタ138 2に対して要求を受けたメモリ動作は遂行されたことをそれぞれ知らせるストロ ーブ信号SDS、IFOS、IFIO,OFSおよびRESを供給する。これら の信号はメモリサイクルの終りに発生する。前述した刊行物「メモリ製品データ ブック」の引用部に開示されているタイミング図および既述の説明から、この分 野の技術者はVRAM信号発生器1388として使用するに適した回路を、容易 に設計し製造することが可能であろう。
VRAM信号発生器は、更に、マルチプレクサ1378から供給される信号の値 4に応じてその制御出力端子に高インピーダンスを与える。この高インピーダン ス状態によって合成ビデオ信号源212は、V RA M 216のメモリ書込 み動作を制御することができる。この発明のこの実施例では、マルチプレクサ1 378から供給される4の値は、マルチプレクサ1356に結合されたデコーダ 1355によりてデコートされる。デコーダ1355に供給された4の値はこの デコーダを制御して論理lの値をマルチプレクサ1コア6の入力端子ENに印加 させるようにする。この信号によって、マルチプレクサ1356はVRAM21 6のアドレス入力ボートに高インピーダンスを与えるようにされる。この高イン ピーダンスにより圧縮されたビデオ信号源212は可動化されて、VRAM21 6のアドレス入力ボートを1メモリサイクルの量制御する。
各VRAMメモリサイクルは信号CK’の4周期の間にわたっている。制御回路 131Oは、この信号CK’を使ヮて信号CCK’を発生する。この信号CCK ’ 、VRAMメモリサイクルより信号CK’の1周期の2分の1だけ進んでい る。信号CCKの前縁から信号CK’の1周期後、すなわちVRAMメモリサイ クルの開始点で、スケジューリング回路はスケジュールされているメモリ動作の 中から成るメモリ動作を選択しており、かつどの動作が選択されているかを示す 値がマルチプレクサ1378の出力ボートから取出せる。
この選択された値は、マルチプレクサ1356を制御して選ばれたレジスタ中の アドレスまたは高インピーダンスをV RA M 216のアドレス入力端子と バンク選択論理に印加させ、またVRAM信号発生器1388を制御して、もし 水平線同期信号H3,カウンタ1382、出力FIFO232によって或いは統 計的デコーダ230.入力FIFO232または入力FIFO234のうちの1 つによって選択されたメモリ要求が発生すると、直列読出し動作リフレッシュ動 作、ランダム書込み動作またはランダム読出し動作をそれぞれ行なうための信号 を発生させる。メモリサイクルの終りよりも信号CK’の1周期分前に、VRA M信号発生器1388は適当なパルス信号RES、OFS、SDS、IFOSま たはIFISを送り出して、要求されたメモリ動作は実行されてことを示す。
VRAM制御ユニットは、圧縮されたビデオ信号の信号1i[212が周期的に VRAMメモリサイクルを使用して圧縮されたビデオデータなV RA M 2 16にロートするので、すべてのVRAMメモリサイクルを使用するとは限らな い、VRAM216の使用に関する蔑合の可能性は、X急メモリ要求を取扱うス ケジューリング回路によって解決される。
圧縮されたビデオの信号1[212は、V RA M 21[i中に記憶すべき 32−ビットの値を持ワているときは、信号CVRの状態を論理lに変える。信 号CVRは優先度デコーダ1380のビット位i!4人カボートに印加される。
スケジューリング回路がこの形式の要求を取扱うときは、4の値を、VRAM信 号発生器1398、制御回路1310、およびマルチプレクサ1356に結合さ れているデコーダ1355に供給する。この値は、信号発生器1388とマルチ プレクサ1356を制御して、それらの出力端子の高インピーダンスを呈するよ うにする。この両出力端子はバスAD/CTLを介してV RA M 216に 結合されている。更に、この4という値は、制御回路131Oを制御して圧縮さ れたビデオ信号源212に信号GRANTとして論理1の値を供給する。この信 号は、信号源212内のアドレスおよび制御回路を可動化して、メモリ書込み動 作の信号を発生させ、信号源212からVRAM216中にデータを記憶させる 。
VRAM信号発生器1388を、スケジューラから供給された値をランダム読出 し、ランダム書込み、直列読出しまたはリフレッシュ動作を行なうべきかを表わ す信号に変換する第1の回路と、この様な信号からVRAM集積回路に供給する 実際の信号を生成する第2の回路との2つの別々の回路に区分することが考えら れている。第1の回路はVRAM制御ユニット238の一部になり、従って処理 器楽積回路210の内部にあることになろう、しかし第2の回路は回路210の 外部に形成されて、圧縮されたビデオの信号源212と共有することになろう。
ここで説明するこの発明の実施例は、ルミナンス・ビット・マツプのアドレスを 記憶するために1対のビット・マツプ・アドレス・レジスタを持っているが、カ ラー・ビデオ信号を処理するこの発明の実施例として2つの色差信号ビット・マ ツプのアドレスを記憶するために2個の付加ビット・マツプ・レジスタを持つ形 にすることも考えられる。更に、すべてのビット・マツプ・アドレス・レジスタ に対する最初のビット・マツプ・アドレス値を、ビデオ信号プロセッサ210が 停止状態にある間マイクロプロセッサ224に記憶しておくようにすることも考 えられる。
以上はビデオ信号プロセッサ210の回路に関する詳細な説明である。次にこの プロセッサを使用して、圧縮されたビデオ信号をデコード(すなわち引伸ばし) する方法を説明する。
第1図に関連して上述したように2このプロセッサにより再構成される画像は、 絶対または相対的双線形多項式(Aつ十B、+C)の形で、またDPCMエンコ ード技法を使って個々にコート化されたピクセルとして、矩形領域(以下、セル という)を表わす記録(レコード)にコード化されている。第1図に示された記 録フォーマットは概念的には有効なものであるが、好ましいコードされたデータ の配列が第14図に示されている。このデータは、5ワの部分すなわち各セルに 割当てられるデータを含んでいる“セルテーブル”、統計的にコード化されたデ ータの別々のブロック(以下、“データ”という)、双線形多項式を作るために 使用されるテーブル(以下、スロープ・リストという)DPCMコード化データ をデコードするために使用するテーブル(以下、テーブルDという)との対をな す2テーブル、およびその時表示されている画像のビット・マツプ、で構成され ている。統計的にコード化されたデータセグメントはその統計的デコーダ230 を使ってプロセッサ210で読出し得るように1個々別々のものである。セルテ ーブル、データ値、スロープ・リスト、テーブルDおよびビット・マツプはすべ てV RA M 216中に記憶される。更に、デコート動作の進行につれて、 新しいすなわちその時々のビット・マツプが生成され、それは次に表示すべき画 像を表わしているや セルテーブルは、各セルごとに、数としてコード化された(たとえば、1=絶対 、2=相対的、3=DPCM)その形式T、その左上隅におけるビクセル値のビ ット・マツプ中の座標値cx pos、y pos)、およびその寸法(H,W )を含んでいる。そのセルが相対的セルか絶対セルであれば、多項式の係数A、 BおよびCに関する情報も与えられる。もしそのセルが相対的セルであれば、そ の時のセル中のビクセル値の、その時表示されている画像のビット・マツプ中の セルの対応するビクセル値に対する偏差値ΔXとΔYが与えられる。デコーディ ングを簡単化するために、記録は長さが一定であるもの(記録昌り10個の16 −ビット・ワー1<)とする、デ・−夕が10ワードより少ない記録(DPCM のような)は10ワードに付加(水増し的に)される。
多項式Aつ十B、+C中のスロープ項を表わす係数AとBは特殊な形にコード化 される。セルテーブルは実際のA、Bの値を含む代りに、そのスロープ・リスト 中にインデクス値を含んでいる。このスロープ・リストは各画像と共に(或いは 、各画像のシーケンスと共に)デコーダに伝達される。スロープ・リストに関す るこの理由は、デコード作用の効率を改善するため、次に述べるようにデコーダ がスロープテーブルを利用できるようにするためである。
圧縮された画像全体をデコードするに使用するマイクロコードは、一般にプロセ ッサの利用可能なマイクロコードRA M 310にフィツトしないであろうか ら、デコーディング動作は幾つかの“バス”に分けられる。その第1のバスはす べての絶対セルをデコードし、続いて相対的セル用の他のバスおよびDPCMセ ル用の別のバスがある。このプロセスは第15図に概要が示されており、すなわ ち、スイッチ151Oの順次選択作用によつて3回呼出される同一のプロセス1 520 (特定形式のセル全部をデコートするため)で、構成されている。
プロセス1520の詳細は第16図に示されている。最初、統計的デコーダ23 0と入力FIFO232はステップ1610と1620で、統計的にコード化さ れたデータとセルテーブルとをそれぞれ含むVRAMのセグメントをアドレスす るように始動される。ステップ1630ではセルテーブルの記録から値Tを読出 す、この値Tはセル形式を特定する。ステップ1640ては値Tを特別の“テー ブルの終り”の値と比較する。この“テーブルの終り”のフラッグとしては通常 は0が使用され、比較動作が迅速に行なわれるようにされる。もし、テーブルの 終りに達しない場合には、この値Tを処理されるセルの形式と比較する(ステッ プ1650) 、もしこのコードがそのとき処理されている形式であれば、記録 がデコートされ(ステップ1660)、そうでない場合にはその記録はスキップ される(ステップ1670) 。
次にセルのデコーディング・プロセスについて詳しく説明する。初めに、絶対お よび相対的セルのデコードを効率的の行なうためのこのプロセスのキー要素があ る“スロープ・テーブル”の概念を紹介して説明することが必要である。
“スロープ・テーブル”の概念は第17A図と第17B図に例示されている。第 17A図は双線形多項式関数A、+B、+cでフィルされる矩形領域を表わして いる。この様な双線形関数は、この関数からの値で直接フィルされる絶対セルと 、この関数によって与えられる値をそのときより前のビデオ画像のセルからのピ クセル値に加算する相対的セルとの双方に使用されるものであることを、想起さ れたい、スロープ・テーブルは絶対および相対的セルの双方に対して同一のもの である。
関数P(x、y)wA、+B、+Cの値は、第1行の値PO,Pi、P2等とし て、および第2行po’、pi’、P2′等として示されている。この関数の値 を即時計算しようとする2つの問題が生じる。第1の問題は2つの乗算(八つと B、)か必要なことである。もし係数(A。
B、C)がすべて整数であれば1周知の増分加算法によってこの問題は解決する ことができる。これは、P(x+1.y) = P (x、y) + Aという 事実、すなわち、セル内の1つの水平線内の相連続するピクセルの値は累算器に 値Aを順次加算することによって計算できるということを利用している。しかし 、この発明の場合には、係数Cの値は常に整数であるが、AとBの値はそうでは ない。
その理由は、画像のルミナンス値の空間的変化は通常lピクセル当り1グレーレ ベルよりも小さいからである。
それで2本実、A、Bは小数部をもっているたけてなく、普通は絶対値lよりも 小さい、また、2つのピクセル値は1命令サイクル中に計算されるから、これら のピクセル値の計算に飽和を伴う2重加算動作(デュアル・アット・クイズ・サ チュレート・オパレーション)を使用することも望ましい、しかし、この飽和を 伴う2重加算動作は整数の加算だけに適用できるもので、小数のスロープ値を累 算することはできない。
この第2の問題を解決するために、“スロープ・リスト”と“スロープ・テーブ ル”を使用する。スロープ・リストは、処理される全画像に対して排他的なスロ ープ値として使用される、AとBの特定値(17256の精度で特定されている )の小さなセットである。換言すれば、その画像内で自然に発生するAとBの値 のそれぞれは、このスロープ・リスト中の1つの値で近似される。
次に、このスロープ・リスト中て見られるAの特定値に対する関数P (x、y )を評価した結果を示す第17A図について考察する。差の値DO1DI、D2 .D3等は、1つの中間ピクセル値を介して隔てられたビクセル値相互間の差の 整数部として計算されている。たとえば、D2はP2−POの値の整数部に等し く、D3はP3−PIの整数部に等しく、以下同様という具合になっている。
最初の差の値DOとDlの対は実際のピクセル値POとPlから値POををそれ ぞれ韮引いて得たものであることに注意された。
この差の値の組は、多項式中のAの値にのみ依存するものであるから、スロープ ・リスト内のAの各個に対して差の値を算出することができる。与えられたスロ ープ・リストについてその様なすべてのテーブルの組を″Xスロープ・テーブル ”と名付ける。特定のスロープ・リストが与えられると、整数の値を含むスロー プ・テーブルは、非常に少なくなり即時デコーディング・コストで完全に予め算 出されたVRAM216中に記憶することかできる。
この図にはピクセルが対をなして示されているが、それは第4B図を参照して前 述したデコーディング・プロセッサ中でデコーディング・プロセスに飽和を伴う 2重加算ALU動作を使用するからである。この図に示されている値はすべて8 −ビット値であり、各個の対は1つの16−ビット・ワードにパックされている 。このXスロープ・テーブルを利用できるものとすれば、関数P (x、y)の 値は、たとえば次の様な単一のALU演算で計算することができる。
(P4、P5)−(P2、P3)+)(D4、D5)ここに、+〕は飽和を伴う 2重加算動作を表わしている。初めに、累加レジスタに対をなす8−ビット値( POlPO)をロードし、順次スロープ・テーブルからの対をなす値を加算する ことによって、各ビクセル値の対に対して1回だけのALU動作を使ってP ( x、y)値の正確な再構成を行なうことができる。
上記の方法はl走査線上の値を発生するだけである。
次の走査線を発生させるには値(PO′、PO′)が必要となる。それは、次の 計算で得られる。
(PO′、PO’)= (PO,PO)+)(QOlQO)ここに、(QOlQ O)は、Xスロープ・テーブルから類推できるがそれとは異なる構成をもつ“Y スロープ・テーブル”からの値である。第17A図に示されるようにYスロープ ・テーブルでは、関aP (x、y)の垂直方向に隣接する値を減算してそのス ロープ・テーブル値を得ている。この点が、1つの中間ビクセルで隔てられてい る値同士が減算されるXスロープ・テーブルと違う点である。また、Yスロープ ・テーブルでは、2つの8−ビット・ソートの両半部に同一値が重複している。
要約すると、ビデオ信号プロセッサ210は、圧縮されたビデオ・データの一部 としてそのときの画像に使用されるスロープのリストを含んているスロープ・リ ストを受入れる。プロセッサ210は次に、絶対または相対的セルをデコーディ ングするに先立ワて、スロープ・リスト中の各スロープに1個のベクトル・エン トリーをもってXとYの両スロープ・テーブルを構成する。これらのスロープ・ テーブルはV RA M 216中の予め定められた位置に記憶される。スロー プ・テーブルはスロープ・リストにではなくセル・テーブルにコード化すること も考えられるが、スロープ・リストの方がよりコンパクトであるからコード化効 率の面で有効である。
スロープ・リストとXおよびYスロープ・テーブルの概念がm17B図の例に示 されている。上述のように5XとYスロープ・テーブルはそれぞれスロープ・リ スト中のどのスロープ値に対してもエントリーを持っている。
エントリーは、Xスロープ魯エントリーについては1つおきのピクセル値相互間 の差に相当する一連の値で、またYスロープ・エントリーについては隣接ビクセ ル値相互間の差に相当する一連の値で構成されている。下記の例では、スロープ ・リスト中の項目(アイテム)6に対するXスロープ・テーブル・エントリー、  1.25とスロープ・リスト中の項目10に対するYスロープ・テーブル・エ ントリー、 2.25とが発生される。
Xスロープ・テーブル・エントリーは、16−ビットのスロープ値を前の和に繰 返し加算することによってランニング和を累加することにより発生させられる。
各加算動作の後、累加された和の整数部(すなわち、8個のMSB)が記憶され る。このXスロープ・テーブル・エントリーはこの記憶された値の1つおきのも のの差をとることによって生成される。これらの値は選ばれたスロープ値に対す るXスロープ・テーブル・エントリーとして記憶される。Xスロープ・テーブル ・エントリーを発生するアルゴリズムは、中間の介在値によって隔てられている 値相互間の差を記憶する。その理由はXスロープ・テーブル・エントリーから絶 対または相対的セルを再構成するのに飽和を伴なう2重加算動作を使用するから である。この動作は並列的に2つの加算を行なうので、絶対または相対的セルを 再構成するためのアルゴリズムは、サンプルの1つおきのものの各相を別々に累 加する。このXスロープ・テーブル・エントリーはこの2重累加動作が正しく効 率的に行なわれるように配列される。
Yスロープ・テーブル・エントリーを発生させるには1選ばれたスロープ値を上 記と同様に累加しその累加和の整数部を記憶する。しかし、Yスロープ・テーブ ル・エントリー中に記憶される差の値は、記憶サンプルの隣接するもの同士から 生成される。
第18図は、プロセッサが絶対セルのデコードを実行する動作のシーケンスを示 している。最初のステップ1810は、デコーディング・プロセスの残余の期間 中、より効率良くアクセスするために、入力FIFOZ32を使ってセル・テー ブルからデータRA M 228へ値を転送することである。ステップ1812 は、値Aに相当するXスロープ・テーブル・エントリーを、入力FIFO234 を使ってセル・テーブル・エントリーからデータRA M 228へ転送するこ とである。これは、セル・テーブル・エントリーを、下記するプロセスの“イン チ・ループ中の急速アクセスに利用てきるように行なわれる。ステップ1814 は出力FIFO2:16を、そのセルの開始点に相当するその時の画像ビット・ マツプ中のアIくレスに対して初期化する。ステップ1816は入力FIFO2 34をYスロープ・テーブル中の第1エントリーに対する点に初期化する。
次のステップ1818では、たとえばデータ・パス242中のR3(記号的に“ 値”という)レジスタを値(C,C)に、すなわちセル・テーブル記録から得ら れ上位8ビット位置と下位8ビット位置の双方に一定値Cをもつ16−ビット・ ワードに、初期化する。ステップ1820では5他のレジスタたとえばyカウン トと呼ぶレジスタR2をセル・テーブル・エントリーからの値Hに初期化する。
ステップエ822は、プロセス中の“アウタ・ループ(OU−ter 1oop )、すなわち処理されるセルの各走査線に対して1回行なわれるループ、を始め る。先ず(ステップ1822) 、データRA M 228中のポインタ・レジ スタの1個たとえばDR2を、既にステップ1812てデータRAM228中に 転送されている、Xスロープ・テーブル中の第1エントリーに対する点に初期化 する。ステップ1824では、データ・バス回路242のループ・カウンタ51 4(記号的にはcnt ’という)を値W/2に初期化する。これは、セルの各 水平線に対して発生されるビクセル値対の数である。約束として、このコード化 システムは1線当り偶数個のビクセルを有するセルを発生するだけとする。従っ て、Wは常に偶数である。ステップ1826はレジスタ“値”中にある値をA  L U 244の出力レジスタ416にパスさせ、これはスロープ・テーブルの 説明で前述したように出力ビクセル値を累加するのに使用されるものである。ス テップ1828はこのプロセスの1インナ・ループ”であつて、詳細に下記する が、セル線の水平線上における各ビクセル対に対して1回行なわれる。そのセル に対してビクセル・データの1水平線の処理の後、次のステップ1830では、 “値”にYスロープ・テーブル値を加算する。これは第17A図に関連して前述 したように。
計算 値=値+)(QO,QO)と等価である。ステップ1832は、出力PI FO236をセル中の次の水平線の開始ビクセル・アドレスに再初期化し、ステ ップ1834は°yカウント′の値を減少させる。テスト1836は、゛yカウ ント°が0に到達したか、ステップ1822ヘループバツクしたか(もし上記が 0に到達しなければ)或いはループを出た(0に到達して)か、どうかをチェッ クする。これで、1つの絶対セルの処理が完了する。
第19図は第18図のプロセスのインナ・ループ1828を実際のマイクロコー ド制御ワードまたは命令の形で示している。インナ・ループ1828は、ループ ・カウンタ514の制御下て交互に実行される2つの命令から成っている。
ここに掲示されている命令アドレスは例示目的だけのものであるが、下記するよ うに1条件付きのブランチ動作がマイクロコードRAMとシーケンシング回路2 26によって行なわれるやり方のために、それらの番号は完全には任意的なもの ではない。
第1の命令(1)は、計算ALU=ALU+)” DR2+十を行なう、ここに 、記号”DR2◆+はテーブル4に関連して前述した通りである。この計算は、 Xスロープ・テーブル・エントリーからの1対の値をALU出力レジスタ416 (双線形関数値の累算器として使用されている)に加算し、またデータRA M  228のポインタ・レジスタDR2をスロープ・テーブル中の次の対をなす値 に対する点に自動増加させる。この命令は、また、ループ・カウンタな減少させ 、次でマイクロコードRAMとシーケンシング回路226を次のマイクロコート 制御ワードである命令2をロードするような条件付けも行なう、命令2は、回路 210を制御してALLI出力レジスタ416中の値を出力PIF0236を通 して送るようにし、こうしてVRAM中に2つのビクセル値を書込む、この命令 に関して、ループ・カウンタ0条件を使用して条件付きブランチがセットされる 。もしこの条件が誤りであれば、制御は命令エヘバスしてループが継続する。水 平線のビクセル・データが完了すると、ループ・カウンタは0になり、その条件 は真であり、マイクロコード・シーケンサはアドレスのLSBを強制的にOにす るようにさせられる。これによって、命令0へのジャンプが起こり、従ヮてイン ナ・ループから出口へ出て行く。
これは2命令ループであり、かつループを一周するごとに2個のビクセル値が発 生されるので、このインナ・ループはlビクセル値当りl命令の速度で実行され る。
−例として、命令サイクル時間が80nsで画像が256×240ビクセルを有 しプロセッサ210に休止状態が無いものとすれば、このインナ・ループの可能 最大実行時間(すなわち画像が1絶対セルで表わされるとすれば)0.3フィー ルド期間(約1/ZOO秒)である、アウタ(外部)ループのような、このシス テムの上記とは別のプロセスおよび第16図の処理には更にデコード時間か加わ る。また、画像は通常は完全に一つの形のセルで構成されているものでないこと を想起されたい、相対的およびDPCMセルではデコードするのに絶対セルの場 合よりも長い時間を要することか理解されよう、しかし、この様な因子があフて も、通常は2フィールド期間未満て画像をデコードすることができる。2フィー ルド期間というデコート時間は所望のTVフレーム率30分の1秒に相当するこ とに注意されたい。
第20図は、プロセッサ210が相対的セルのデコードな実行する動作のシーケ ンスを示している。多くのステップは絶対セルのデコーディング・プロセスにお けるステップと同様なものであるか、幾フかの重要な相違点がある。この相対的 セルのデコーディング・プロセスでは。
双線形多項式A、+B、+Cの値を発生させることの他に、この関数の値を前の 画像ビット・マツプの矩形領域から得られるビクセル値に加算する。こうして得 た和は、次にその時の画像ビット・マツプに書込まれる。更に、このビクセル値 は、前の画像のビット・マツプから直接取出されるのではなく、ビクセル補間器 246を使ってそれらのビクセル群から補間することにより得られる。
ビクセル補間器246は、バイブライン構成であるから、その出力値は入力値に 対し遅延する。この時間的遅延は、その時のおよびそれより前の画像セル中のビ クセルを通して行なわれる走査動作を複雑なものとする。その理由は入力および 出力FIFOの歩調が揃っていないからである。この問題は、インチ・ループを 2つの同じ命令グループに分割することによりて解決される。W/2回実行きれ る1つのインナ・ループ(絶対デコーディングの場合のように)の代りに、N1 回実行されるものとN2回実行されるもの(但し、N1+N2=W/2)との2 1のインナ・ループがある。この値NZとN2は次のように予め計算される。す なわち、第1のインナ・ループの後入力FIFO232が前の画像ビット・マツ プにおける連続する次の水平線中の開始ビクセル位置に対する点に進められるよ うに、および第2のインチ・ループの後出力PIF0236がその時の画像ビッ ト・マツプにおけるその時のセルの連続する次の水平線の開始ビクセル位置に対 する点へ進められ得るように、計算される。
最後に、第9図について論議したように、2本のビクセル・データ走査線が前の 画像から読出されてその時のセルにおける1本のビクセル水平線を生成すること を想起されたい、VRAM216に対するアクセス回数を減らす、従ってデコー ディング時間を減少させるために、第20図のプロセスは、このプロセスのYル ープを通じである時に使用される2本の線のうちの下側の線は、Yループを通じ て次に使用される2本の線のうちの上側の線と同じ線であるという事実を利用し ている。従って、VRAMからこのデータを2回読出す代りに、このループを1 周するごとに次のループ1周で使用するためにこのデータをデータRA M 2 28中の“ライン・バッフ1”に記憶させる。
第20図に示したプロセスは、セル・テーブル記録からデータRA M 228 に対して値を転送するステップ201Oから始まる。ステップ2012は、その 時のセル・テーブル記録から得られる値AのXスロープ・テーブル・エントリー を、V RA M 216からデータRAM22gへ転送する。
これらの転送動作には入力FIFO232を使用する。ステップ2014.20 16および2018は、それぞれ、その時の画像ビット・マツプに対する点への 出力FIFO236の初期化、前の画像ビット・マツプに対する点への入力FI FO232の初期化、その時のセル・テーブル記録からの値Bに相当するYスロ ープ・テーブル・エン1−リーに対する点への入力FIFO234の初期化を行 なうステップである。ステップ2020は、ΔXとΔYの小数部に等しい変位値 でビクセル補間器246を初期化する。このビクセル補間器は、前の画像の開始 点アI(レスのLSBか0であれば“同相(イン・フェーズ)”モー1(に初期 化され、そうでなければth′離相(アウト・オブ・フェーズ)”モートで働く ようにセットされる。ステップ2022は、デコーディング・プロセスの残部で 使用するためにWの値を2等分する。ステップ2024は2つのインナ・ループ のカウント値であるN1とN2の値を計算する(矩形枠2024では、この可変 “位相”は前の画像の開始点アドレスLSBと同一値を持っている)、ステップ 202Bは、レジスタをセル・テーブル記録からのHの値に初期化して、セル中 の水平線をカウントするようにする。ステップ2028は、前の画像セルの1本 の水平線をデータRA M 22a中の線バッファ中にロードし、ポインタ・1 /ジスタDRIとDR2をその線バッファ中の第1の16−ビット値に対する点 にリセットする。ステップ2030は、ピクセル補間器246のバイブラインを 、最初の有効な結果をそこから読出すことのできる点までロードする。たとえば 、第9B図を参照すれば、ステップ2030は命令サイクルT、乃至Tllを含 んている。
ステップ2032はこのプロセスの“アウタ・ループの出発点である。先ず、( ステップ2032) 、データRAM228中の1つのポインタ(例えばDRO )を、Xスロープ・テーブル・エントリー中の第1の値に対する点に初期化する 。次に、その時のセル・テーブル記録からの複製(ジューブリケーテツド)定数 項である値CC,C>が、双線形関数P (x、y)の値を累加するのに使用さ れるA L U 244のB入力ラッチ412中にロードされる。ステップ20 36.2038および2039は、インナ・ループ命令を開始しN1回(ただし 、N1はOのこともある)実行する。ステップ2040は5次に入力FIFO2 32を前の画像からのセルにおける次の水平線の開始点に対する点にリセ・ン卜 する。ステップ2042は線バ・ンファ・ポインタ(DRlとDR2)をこの線 バッファの開始点に対する点にリセットする。ステップ2044.2(14Bお よび2048はインナ・ループ命令を開始しN2回実行する(ここに、N2は0 のこともある)。
ステップ2050では、出力FIFOZ36が使用したアドレス値を、その時の ビット・マツプ用のセルの次の線における第1ビクセル位置に対する点に進める 。ステップ2052は、ビクセル補間器を通してもう1つの値の組(4ビクセル )をバスさせる。これらの値は、前の画像におけるセルの右端を少し越えた位置 を有するビクセルに相当し、線上の最後の補間結果を生成するのに使用される。
しかし、このステップは、また、ビクセル補間器に別の1対の結果を生じさせる 。この結果はステップ2052て読出され、簡単に破棄される。ステップ205 4は”yカウント°の値を減少させ、テスト2056ては、そのセルのビクセル 値の最終水平線の処理が完了したかどうかをチェックする。もし完了していれば 、プロセッサはアウタ・ループへ出力し、そうでなければステップ2031でこ のループを継続する。
第21図は、第20図に示したプロセスのインチ・ループを示している。このル ープは4つの命令で構成されている。第1の命令(1)はA L U 244の B入力レジスタ412における値をある値”DRO(すなわち、1/ジスタDR Oに保持されているアドレス値を有するデータRAMセル中の値)に加算する。
この値はXスロープ・テーブルから与えられる。またこの命令の期間中、DRO 中に保持されているアドレス値は1だけ増分増加される。ALU244のB入力 レジスタ412は双線形関数Al1十B、+Cの値を累加するのに使用されてい ることを想起すべきである。命令lは、また入力FIFO232を使って1対の ビクセル値を読出し、それをデータ・パルス回路242のレジスタRO中にロー ドする。これらのビクセル値は、ピクセル補間器に印加されて1対の補間ビクセ ル値を発生させる4つのビクセルのうちの下側の対に相当する0次の命令2は、 ALU出力値(命令lの結果)をB入力レジスタ412に戻して配置する。これ は、また、この値なピクセル補間器246の出力値に加算して、連続する2つの ピクセルに対する、関数AIl+B、+C十前の画像の値を生成する。この対を なすピクセル値は次の命令3で出力FIFO236を介してV RA M 21 6中に書込まれる。その上、命令3は、レジスタDRIに保持されているアドレ ス値を使って、データRA M 228に保持された線バッファからの値(2ピ クセル)をピクセル補間器にロードする。これらのピクセルは補間器246に供 給されている4ピクセルのうちの上側の対に相当する。この命令はまたデータ・ バス回路242のループ・カウンタ514を増分減少させる。最後に命令4は、 補間器246に対するピクセル値の下側の対である、レジスタRO中の値をとワ て、これをピクセル補間器246とデータRAM228中の線バッファの双方に ロードする(レジスタR1中のアドレスを使って)、ループ・カウンタな基礎と する条件付きブランチ動作が0に到達すると、所要数のピクセル値が発生される までループ中でこの命令が繰返されるようにする。
このインナ・ループは4つの命令サイクルで2ピクセル偵を発生し、これは休止 状態が無いものとすれば。
256 x24Gの画像の0.6フイールドの最大総経過時間に相当する(これ は、インナ・ループたけについてのもので、前述した他のものは無視している) 。
第22図は、DPCMセルのデコーディングに含まれている動作のシーケンスを 示す、DPCMセル中の各ピクセル値は圧縮されたビデオ画像のデータ・セグメ ント中の1個の値Vてコード化される。この値■は、その時の画像における可能 性のあるすべてのピクセル−ピクセル間の差を含んでいる値のテーブル(テーブ ルD)に対するインデクスをなしている。このテーブルDはデータRA M 2 28に記憶されている。DPCMセルの大部分のピクセル値は、テーブルDから 得られる羨のピクセル値をターゲット・ピクセルのすぐ左のピクセル値に加える ことにより1発生される。セルの左端のピクセル値はテーブルDからの差のピク セル値を前の線の対応する値に加えることによって発生される。セルの左上隅の ピクセルの“上にある”仮想ピクセルは一定値128を有するものと見なす。
DPCMデコーディング・プ0−t!スは、VRAM216中のセル・テーブル からの値x pos、y pos、H,W、を入力FIFO232を介してデー タRA M 228に転送する(ステップ2210)ことによって始まる0次に 、出力PIFO236がその時のセルの左上隅のピクセルに相当するアドレス( X POS、Y PO3)に対する点へ、初期化される(ステップ2212)  、ステップ2214ではレジスタ、たとえばR3(゛最後の線°)が値128に セットされる。このレジスダ最後の線°は、その時の線の第1ピクセルを発生さ せるときに使用するため、前の線の第1ピクセル値を記憶するのに使用される。
ステップ2216は、セル中の水平線数を保持している、たとえばR2のような レジスタ“yカウントをロードする。
ステップ2218はデータ・バス回路242のループ・カウンタ514にセル・ テーブル記録からの値Wをロードする。ステップ2220は値”DRY(すなわ ちテーブルDからの値)を読出すレジスタR1中に統計的デコーダ230からの 値V(すなわちテーブルDに対するインデクス)をロードすることによフて、水 平線上の第1ビクセルの値を計算し1次に計算“最後の線=最後の線+〕3DR 2”を行なう0次に、インナ・ループが実行される(ステップ2222) 、最 後に、出力FIFOがその時のビット・マツプの次の水平線の第1ピクセル僅に 対する点にリセットされ(ステップ2224) 、レジスダyカウント°は増分 減少させられてループが終了する(すなわち、yカウント;0のとき)までテス トされる(ステップ2225.2228) 。
第23図はDPCMデコーディング・プロセスのインナ・ループに対するマイク ロコート命令を示している。最初の命令2は、その時の累加値(ALU出力レジ スタ416中の)を出力PIFO236を介してV RA M 216に書込み 、またこの値をデータ・バス回路242のレジスタR2中に記憶させる。このル ープの最初の命令は、ループ・カウンタ514に保持されている値が0かどうか によって、ループを出るかまたは継続する条件付きブランチを持りている0次の 命令1は、統計的デコーダ230を使りてV RA M 216からv値を読出 してこれをレジスタRO中に、記憶させる0次の命令3は、レジスタROからの この値をデータRAM回路228のレジスタR2に転送する。このループの最後 の命令4は、レジスタR1中の前のピクセル値を値”DR2(データRA M  228中のテーブルDからの差の値である)に加算し、ループの一番上にブラン チバックさせる。
DPCMデータのデコードに使用されるこの命令シーケンスのインナ・ループは 飽和を伴う2重加算動作である。この命令シーケンスは、ABUSとB BUS の両バスの8個のLSB位置によって運ばれるデータの1個のバイトについて動 作している。この飽和を伴なう2重加算動作は、実際の差の値ではなくテーブル Dから得られる近似的な差の値を使用することから生ずるどの様な誤った差の値 をも飽和させるために使用される。この形式の飽和加算法は、飽和を伴なう2重 加算動作においてALυ244によってのみ支持される。
このDPCMデコーディング命令シーケンスのインチ・ループは4つの命令ごと にlピクセルを発生し、これは休止状態か無いとすれば、インナ・ループのみに ついて、256 x 240の画像に対して1.2フイールドの最大総経過時間 に相当する。
これまでの、ビデオ信号プロセッサ210の内部回路、デコーディング・プロセ ス、およびインナ・ループの実際のマイクロコード命令に関する説明を利用すれ ば、当該専門家にとりて、完全なデコーディング・プロセスを構成するマイクロ コート命令シーケンスを作ることは容易な筈である。
上述したこの発明の実施例では5信号源212から供給される圧縮されたデータ はセル・テーブルの形式であるが、他の形式たとえば2進トリーの形でデータを 供給することも考えられる。その場合には、プロセッサ210は2進トリー・デ ータをセル・テーブル形式に変換するようにプログラムされることになろう。
1属( Flに、 9E/ Flに、 9E C 狩衣千3−501540(45) BDST23 13sRC+2 H6,〃θ Hθ、/4 FI6.17A 国際調査報告

Claims (6)

    【特許請求の範囲】
  1. (1)複数の状態の値を指示する手段を含み、制御信号に応答してデータを処理 するための処理手段と、この処理手段に結合されている記憶プログラム制御器と を含み、この記憶プログラム制御器が、 1またはそれ以上のものが条件付き分岐動作を指示するものである複数の命令値 を保持するためのメモリ手段と、 このメモリ手段によって供給される命令値を保持し、上記処理手段に対する制御 信号と上記記憶プログラム制御器に対する制御信号とを供給する命令デコーディ ング手段と、 この命令デコーディング手段によって供給される制御信号に応答して、上記メモ リ手段から第1と第2の命令値を同時に読出すメモリアクセス手段と、上記命令 デコーディング手段により供給される制御信号に応答し、また、上記命令デコー ディング手段に保持されている命令が条件付き分岐動作を指示している時は、上 記複数の条件の値を指示する上記手段に応答して、上記第1と第2の命令の中の 選択されたものを上記命令デコーディング手段にロードする次命令選択手段と、 を含むものである、データ処理システム。
  2. (2)上記メモリ手段に保持されている、条件付き分岐動作を指示する命令値の 各々が上記複数の条件の1つを指示する条件選択値を含んでおり、 上記命令手段が、上記命令デコーディング手段に保持されている命令値の条件選 択値によって指示される条件に応答して、上記第1と第2の命令値の中の上記選 択さ、れたものを上記命令デコーディング手段にロードするための手段を含んで いる、請求の範囲(1)に記載のプロセッサ。
  3. (3)上記メモリ手段に保持されている命令値の各々が、Nを正の整数として、 Nビットの次アドレス値を含んでおり、 上記メモリ手段が、各々が2つの命令値を保持するに充分な容量を有する2N− 1個のアドレス可能なセルを含んでおり、 上記メモリアクセス手段が、上記命令デコーディング手段に保持されている命令 の次アドレス値のN−1ビットに応答して、上記メモリ手段のセルの1つをアド レスして、そのセルによって保持されている2つの命令値を上記第1と第2の命 令値として読出す手段を含んでおり、 上記次命令選択手段が、上記命令デコーディング手段に保持されており第1また は第2の所定値を有する命令値のNビットのアドレス値の所定のビットに応答し て、上記第1または第2の所定値を上記命令デコーディング手段にロードする手 段を含んでいる、 請求の範囲(1)に記載のプロセッサ。
  4. (4)上記メモリ手段に保持されている、条件付き分岐動作を指示する命令値の 各々が、さらに、上記複数の条件の1つを指示する条件選択値を含んでおり、上 記命令選択手段が、さらに、上記命令デコーディング手段に保持されている命令 値の条件選択値に応答して、上記命令デコーディング手段に保持されている命令 値のNビットのアドレス値の所定ビットの値に関係なく、上記第1と第2の命令 値のうちの上記選択されたものを上記命令デコーディング手段にロードする手段 を含んでいる、 請求の範囲(3)に記載のプロセッサ。
  5. (5)各々が一対の命令話を保持するアドレス可能な位置を有するメモリ手段と 、 このメモリ手段に結合されており、このメモリ手段の読出しサイクル中に応答し て、上記アドレス可能な位置の の所定の1つからの上記命令語の2つを記憶するための2語命令レジスタ手段と 、 スイッチ手段と、 このスイッチ手段を介して上記2語命令レジスタ手段に結合されており、上記ス イッチ手段によって選択された上記2つの命令語の一方を記憶する1語命令レジ スタ手段と、 この1語命令レジスタ手段の出力端子に結合された第1の入力端子と、供給され る条件信号を受取るように結合された別の入力端子と、上記条件信号と上記1語 命令レジスタ手段の上記出力との関数として上記スイッチ手段を制御するように 結合された出力信号とを有する制御手段と、 を含む、記憶プログラム制御装置。
  6. (6)各々に2つの命令語を保持するアドレス可能な位置を有するメモリ手段と 、 条件信号を供給する手段と、 選択されたアドレスに応答して、この選択されたアドレスに対応する上記メモリ 手段のアドレス可能な位置に保持されている2つの命令語を同時に供給する手段 と、 上記2つの命令語の一方を選択し、また、選択されたアドレスを発生する手段で あって、最も新しく選択された命令と上記条件信号とに応答する手段と、上記選 択された命令に応答する利用手段と、を含む、記憶プログラム制御装置。
JP1501082A 1987-11-16 1988-11-03 データ処理システムおよび記憶プログラム制御装置 Pending JPH03501540A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US121,820 1987-11-16
US07/121,820 US4881194A (en) 1987-11-16 1987-11-16 Stored-program controller for equalizing conditional branch delays

Publications (1)

Publication Number Publication Date
JPH03501540A true JPH03501540A (ja) 1991-04-04

Family

ID=22399011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1501082A Pending JPH03501540A (ja) 1987-11-16 1988-11-03 データ処理システムおよび記憶プログラム制御装置

Country Status (8)

Country Link
US (1) US4881194A (ja)
EP (1) EP0393125B1 (ja)
JP (1) JPH03501540A (ja)
KR (1) KR970005454B1 (ja)
AU (1) AU2818389A (ja)
CA (1) CA1309185C (ja)
DE (1) DE3851230T2 (ja)
WO (1) WO1989005011A2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5151986A (en) * 1987-08-27 1992-09-29 Motorola, Inc. Microcomputer with on-board chip selects and programmable bus stretching
JPH01283635A (ja) * 1988-05-11 1989-11-15 Nec Corp バッファ制御回路
US5165025A (en) * 1988-10-06 1992-11-17 Lass Stanley E Interlacing the paths after a conditional branch like instruction
DE68927218T2 (de) * 1988-10-18 1997-02-06 Hewlett Packard Co Verfahren und Vorrichtung für Zustandskode in einem Zentralprozessor
CA1311063C (en) * 1988-12-16 1992-12-01 Tokumichi Murakami Digital signal processor
JPH02306341A (ja) * 1989-02-03 1990-12-19 Nec Corp マイクロプロセッサ
US5692169A (en) * 1990-12-14 1997-11-25 Hewlett Packard Company Method and system for deferring exceptions generated during speculative execution
EP0522513A2 (en) * 1991-07-09 1993-01-13 Hughes Aircraft Company High speed parallel microcode program controller
EP0555680B1 (en) * 1992-02-14 1999-10-13 Motorola, Inc. A method and apparatus for determining instruction execution ordering in a data processing system
US5581719A (en) * 1992-11-12 1996-12-03 Digital Equipment Corporation Multiple block line prediction
JP3452655B2 (ja) * 1993-09-27 2003-09-29 株式会社日立製作所 ディジタル信号処理プロセッサおよびそれを用いて命令を実行する方法
US5537560A (en) * 1994-03-01 1996-07-16 Intel Corporation Method and apparatus for conditionally generating a microinstruction that selects one of two values based upon control states of a microprocessor
US5634103A (en) * 1995-11-09 1997-05-27 International Business Machines Corporation Method and system for minimizing branch misprediction penalties within a processor
US6671795B1 (en) * 2000-01-21 2003-12-30 Intel Corporation Method and apparatus for pausing execution in a processor or the like

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5299034A (en) * 1976-02-17 1977-08-19 Nippon Telegr & Teleph Corp <Ntt> Control system for micro program
US4125861A (en) * 1977-08-18 1978-11-14 Bell Telephone Laboratories, Incorporated Video signal encoding
US4342078A (en) * 1979-05-21 1982-07-27 Motorola, Inc. Instruction register sequence decoder for microprogrammed data processor and method
JPS5748139A (en) * 1980-09-04 1982-03-19 Nec Corp Microprogram control device
US4396906A (en) * 1980-10-31 1983-08-02 Sri International Method and apparatus for digital Huffman encoding
US4689823A (en) * 1984-01-04 1987-08-25 Itek Corporation Digital image frame processor

Also Published As

Publication number Publication date
WO1989005011A2 (en) 1989-06-01
KR890702114A (ko) 1989-12-22
DE3851230T2 (de) 1995-04-13
US4881194A (en) 1989-11-14
AU2818389A (en) 1989-06-14
CA1309185C (en) 1992-10-20
EP0393125B1 (en) 1994-08-24
KR970005454B1 (ko) 1997-04-16
WO1989005011A3 (en) 1989-09-21
EP0393125A1 (en) 1990-10-24
DE3851230D1 (de) 1994-09-29

Similar Documents

Publication Publication Date Title
JPH03501556A (ja) ビデオ信号プロセッサ、圧縮されたビデオデータを処理するための装置、および復元されたビデオ信号を生成する集積回路
JPH03502260A (ja) 二重モード加算回路
JP2750438B2 (ja) 2次元ピクセル補間器および2次元で補間されたピクセル値を生成する方法
JPH03501539A (ja) ビデオ信号処理システム
US5189636A (en) Dual mode combining circuitry
US4835607A (en) Method and apparatus for expanding compressed video data
US4472788A (en) Shift circuit having a plurality of cascade-connected data selectors
JPH03501540A (ja) データ処理システムおよび記憶プログラム制御装置
US5630151A (en) Data driven information processor generating multidimensional generation number identifying generation and additional attributes of data in data packet
US4394735A (en) Data processor controlled by microprograms
US20240004663A1 (en) Processing device with vector transformation execution
AU622879B2 (en) Pixel interpolation circuitry as for a video signal processor
AU625151B2 (en) Memory controller as for a video signal processor
AU623874B2 (en) Stored program controller with a conditional branch facility as for a video signal processor
AU622128B2 (en) Processor for expanding a compressed video signal
AU626847B2 (en) Dual mode adder circuitry
JPS63268037A (ja) 有限体乗算回路
JPH03265928A (ja) マイクロプログラム演算制御装置
JPH05143290A (ja) 加算回路
JPS6142034A (ja) マイクロプログラム制御装置
JPS59160775A (ja) タイミング発生回路