JPH0752467B2 - ビデオ信号処理システム - Google Patents

ビデオ信号処理システム

Info

Publication number
JPH0752467B2
JPH0752467B2 JP63509175A JP50917588A JPH0752467B2 JP H0752467 B2 JPH0752467 B2 JP H0752467B2 JP 63509175 A JP63509175 A JP 63509175A JP 50917588 A JP50917588 A JP 50917588A JP H0752467 B2 JPH0752467 B2 JP H0752467B2
Authority
JP
Japan
Prior art keywords
value
signal
register
data
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP63509175A
Other languages
English (en)
Other versions
JPH03501539A (ja
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 JPH03501539A publication Critical patent/JPH03501539A/ja
Publication of JPH0752467B2 publication Critical patent/JPH0752467B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)

Description

【発明の詳細な説明】 この発明はビデオ信号プロセッサにより使用されるメモ
リシステムに対するアクセスを制御するビデオ信号処理
システムに関するものである。
近年、ビデオ信号圧縮の分野では大きな進歩がなされて
いる。デジタル的にコード化されたビデオ信号の伝送あ
るいは記憶を容易にするために、その信号の冗長度を減
じるために、いくつかの方法が開発されている。この出
願においては、3つの方法、以下では、絶対コード化、
相対的コード化及び差分パルスコード変調(DPCM)コー
ド化と称する方法が特に関係がある。これらのビデオ圧
縮技法を以下に説明する。
絶対コード化された画像というのは、ある画像を複数隣
接したセグメントに分割し、各セグメントにフィル(fi
ll)値を割当てることによって生成される。このフィル
値は、一定のルミナンス及び/またはクロミナンス値と
することもできるし、またセグメント中のピクセルの位
置に関数としてピクセル毎に変わる値である場合もあ
る。絶対コード化画像がデコードされて表示されると、
再構成されたセグメントからなるモザイクが生じる。
絶対コード化法は、各々が元の画像の異なるセグメント
を記述する複数のデータ記録を作り出す。これらの記録
の各々には、幾つかにフィールドが含まれており、各フ
ィールドには1個以上の2進語が含まれている。絶対コ
ード化画像からの記録の一例が第1A図に示されている。
この記録は、セグメントの左上隅のピクセルの水平及び
垂直方向の位置を示す2つの1バイトのフィールドX PO
SとY POSを含んでいる。この記録はさらに、そのセグメ
ントを規定する水平及び垂直方向における、それぞれの
ピクセル数を示す1バイトのフィールドWと1バイトの
フィールドHとを含んでいる。絶対コード記録中の最後
の3つのフィールドA、B及びCはセグメントがどのよ
うにフィルされるかを決定する。これらの値は、ある特
定のピクセルの値PVがどのように決めるかを記述する双
線形(bilinear)式(1)の計数である。
PV=AX+BY+C (1) この式(1)において、Cはセグメントの左上隅におけ
る、例えば、ルミナンスレベルを表わす1バイト値であ
る。AとBは、各々、水平及び垂直方向に連続するピク
セル間でルミナンス値が変化する量を表わす2バイトの
値である。XとYは、セグメントの左上隅に対するピク
セルのそのセグメント内の位置を示す値である。絶対コ
ードの記録のこの例では、ビデオ信号のルミナンス及び
/またはカラー情報信号成分の各々について別々の記録
群があり、また、セグメントの全てが方形であるとして
いる。絶対コード化システムのより一般的な例は、ここ
に参考として挙げる“Signal Processing"(オランダ)
Vol.11,No.1,1986年7月、47-60頁のコーチャ(M.Koche
r)氏及びレオナルディ(R.Leonardi)氏による論文「A
daptive Region Growing Technique Using Polynominal
Functions For Image Approximation(画像近似用の多
項関数を用いた適応型領域成長技法)」に見出される。
前述した2番目のビデオ信号圧縮法、相対的コード化で
は、画像を、複数画像(multi-image)シーケンス中の
前の画像から対応セグメントを用いて規定される互いに
隣接したセグメントに分割される。このコード化法はフ
ルモーション(全運動)ビデオを表わす一組のビデオフ
ィールド用に適している。この方法を用いてコード化し
た画像は複数のデータ記録により表わされる。記録の一
例が第1B図に示されている。フィールドX POS、Y-PO
S、W及びHは絶対記録の場合と同じである。2つの1
バイトのフィールドΔXとΔYは、その前のビデオフィ
ールドにおける対応したセグメントに対するその時のビ
デオ信号フィールド中のセグメントの水平及び垂直方向
のピクセル変位を示す。これらの変位を表わす値は、表
示画像中の互いに隣接するピクセル間の距離の分数を単
位としたものとすることができる。
相対的コード記録におけるフィールドA、B及びCは絶
対コード記録における対応するフィールドと同じであ
る。これらの値は、セグメント中のピクセル値に加えら
れる値を作るために、双線形の式(1)の係数として用
いられる。
相対的コード化された画像に対する記録形式(フォーマ
ット)も、セグメントは方形であり、かつ、画像のルミ
ナンス及びカラー情報成分の一方のみがある与えられた
記録によって記述されるとしいてる。相対的コード化の
複雑さについての全般的な記述は、ここに参考として挙
げる“IEEE Transactions on Communications"、1977年
4月、448-455頁のブロフェリオ(S.Brofferio)氏及び
ロッカ(F.Rocca)氏の論文「Interframe Redundancy R
eduction of Video Signal Generated by Translating
Objcts(対象を変換して生成したビデオ信号のフレーム
間冗長度の減少)」に示されている。
前述した第3のコード化法、DPCMは、一般的には、画像
中の各ピクセルを、予測ピクセル値と差分ピクセル値と
の和として記述する。この方法は、絶対コード記録ある
いは相対的コード記録によっては簡単に記述できない画
像中のセグメントに適用される。DPCM記録の一例が第1C
図に示されている。この記録におけるフィールドX PO
S、Y POS、W及びHは、前述した絶対コード記録及び相
対的コード記録の場合と同じである。DPCMコード記録の
残余の部分はNバイトからなるシリーズである。ここで
NはW及びHフィールドに保持されている値の積であ
る。これらNバイトの中の第1のものDP0は、一定の予
測値、例えば、128に加算されると、セグメントの左上
隅のピクセルを生成するような差の値である。次のバイ
トDP1は、和128+DP0に加算されてセグメントの最上部
の線上の次に続くピクセル値を生成する差の値である。
同様に、値DP2は128とDP0とDP1の累算和に加算されて、
セグメントの最上部の線上の第3番目のピクセル値を生
成する差の値である。DPCMコード記録中のこれらの連続
する値は、各々、記録中の先行する値の累算値としてピ
クセル値を記述する。DPCMコード化技術を用いたビデオ
信号圧縮システムの一例は、ここに参考として挙げる米
国特許第4,125,861号「Video Signal Encoding(ビデオ
信号のコード化)」に見出すことができる。
DPCMデータが第1C図に示すように記憶または伝送される
とすると、ピクセルを記述する値の各々が、コード化さ
れていないピクセル値と同じように、1データバイトを
占有するので、DPCMコード化技法を用いる利点が殆どあ
るいは全くない。しかし、参考とし挙げた特許第4,125,
861号に記載されているように、比較的に小さな値を有
するコード化されたバイトの発生する頻度は、比較的大
きな値を持つコード化されたバイトの発生頻度よりはる
かに大きい。このコード化されたバイトの不均一な分布
が、上記の参考として挙げた特許においては、より大き
な値のサンプルに対して用いられるビット数よりも少な
いビット数でより小さな値のサンプルをコード化するこ
とによりビデオデータストリームを更に圧縮するために
利用されている。この形式の圧縮を行う可変長統計的エ
ンコーダはこの技術分野では公知である。この形式のコ
ード、ハフマン(Huffman)コード、を生成するための
アルゴリズムは、ここに参考として挙げるアブラムソン
(N.Abramson)著、「Information Theory and Coding
(情報理論及びコード化)」、McGraw-Hill社刊、1963
年、77-85頁に記載されている。
上述したコード化法の各々は、ある型のビデオ情報に対
しては良好に働くが、別の型のものには、うまく働かな
い。コード化される画像の、比較的大きな領域が均一ま
たは直線的に変化するルミナンスまたはカラー情報を持
っているような静止画像あるいはモーションシーケンス
の一番目のビデオフィールドに対しては、絶対コード化
法が最も適している。相対コード化法は、モーションシ
ーケンスの2番目及びそれ以後のビデオフィールドに対
して最適である。DPCMコード化法は、細かいディーテル
な情報の領域を含む画像に最適である。
これらのコードによって効率的に表わされるビデオ情報
の型が異なるために、1つのビデオ画像を表すために、
2つ以上のコードを組合わせることが望ましい場合があ
る。例えば、絶対コード化法とDPCMコード化法を組合わ
せると、高低両レベルのディーテルを含む、画像のコン
パクトな表現を作ることができる。モーションシーケン
スに対しては、画像の一部分を相対的コード化法を用い
て表すことが望ましいであろう。第1A図、第1B図及び第
1C図に示すように、これら3つのコード化法は、コンパ
チブルな記録フォーマットを作るために調整できる。
上記した方法の1またはそれ以上を用いてコード化した
画像をデコードするための典型的なシステムには、コー
ド化された画像データを保持するメモリ、このメモリか
らコード化されたデータを読出して、デコードされた画
像を表すデータを生成するデコーディングプロセッサ、
デコードされた画像データを保持するメモリ、及び、表
示のためデコードされた画像データにアクセスする表示
器用プロセッサを含んでいることが望ましい。
このようなシステムのコストを低減するためには、単一
のメモリを使用して、コード化された画像データとデコ
ードされた画像データの両方を保持することが望ましい
であろう。このメモリは、コード化されたデータを記憶
させるために圧縮されたビデオデータ源によってアクセ
スされ、コード化されたデータを読出しかつデコードさ
れたデータを記憶するためにデコーディングプロセッサ
によってアクセスされ、また、デコードされたデータを
読出すために表示器用プロセッサによってアクセスされ
る。3つの装置が4つの異なる目的でこのメモリにアク
セスするので、同時に2つの異なる目的のためにメモリ
がアクセスされるというような競合(コンフリクト)が
起こる可能性が高い。
互いに競合するメモリアクセス要求を解決する1つの方
法は、各装置からの各タイプのメモリアクセスに一定の
優先度が割当てられ、どのような時にも、最も優先度の
高い要求が一番に処理される固定優先度基準を用いる方
法である。この形式のシステムは、ここに参考として挙
げる米国特許第4,564,915号「YIQコンピュータグラフィ
ックスシステム」に開示されている。
固定優先度メモリ調停システムは、ビデオ信号処理シス
テムでは、不利な点がある。たとえば、上述したシステ
ムで、データデコーディングプロセッサからのメモリ読
出し要求がデータデコーディングプロセッサからのメモ
リ書込み要求よりも高い優先度を持つ場合を考えてみ
る。この場合に、メモリ読出し動作が要求された時に、
デコーディングプロセッサの出力バッファが一杯である
と、プロセッサは、読出しと書込み動作の両方が処理さ
れてしまうまで、新しいデータを出力バッファへ加える
ことを待つことになる。しかし、メモリ書込み動作がメ
モリ読出し動作よりも高い優先度を持つならば、プロセ
ッサは、メモリ読出し動作の進行中は、入力バッファに
その前に記憶されているデータを処理しながら、メモリ
書込み動作を待つのみでよい。ビデオ信号プロセッサの
動作に不必要な遅延があると、そのプロセッサが、自然
なディーテルと動きとを持った表示を生成するに充分に
速く画像用のコード化データをデコードすることを阻止
してしまう。
従って、ビデオ信号プロセッサが、プロセッサの動作に
不要な遅延が生じないようにする、メモリアクセスの競
合を調停するための順応性のあるシステムを有すること
が望ましい。
この発明の原理によれば、ビデオ信号プロセッサ用のメ
モリ制御システムは、メモリからデータを読出すための
入力チャンネルと、メモリにデータを書込むための出力
チャンネルとを含んでいる。このメモリ制御システム
は、さらに、入力チャンネルと出力チャンネルの各々
に、通常の優先度でメモリ動作を要求し、また緊急優先
度でメモリ動作を要求する回路を含んでいる。第1のス
ケジューリング回路が入力及び出力チャンネルから供給
される通常優先度の要求を受けて、これらの要求を実質
的に等しい優先度で満足させるようにメモリ動作をスケ
ジュールする。第2のスケジューリング回路が緊急要求
を受ける。緊急要求が受けられると、第2のスケジュー
リング回路は第1のスケジューリング回路をディスエー
ブル(非可動化)して、固定優先度基準に従ってメモリ
動作をスケジュールする。
前述した第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図に示す発明の実施例と共に
使用されるVRAM制御ユニットのブロック図である。
第13C図は、第13A図に示す回路の動作を理解する際に有
用なタイミング図である。
第14図は、第2図のビデオランダムアクセスメモリに、
圧縮されたデータがどのように記憶されるかを示すメモ
リマップ図である。
第15図乃至第23図は、第2図乃至第13図に示す回路の動
作を説明する際に有用な制御フロー図及び他の図であ
る。
図面において、幅の広い矢印は、複数ビットの並列デジ
タル信号を伝送するためのバスを表し、線の矢印は、ア
ナログ信号または1ビットのデジタル信号を伝送する接
続を示す。装置の処理速度に応じて、信号のパスのある
ものにおいては補償用遅延が必要となることがある。デ
ジタル信号処理回路の設計の分野での当業者には、ある
特定のシステムのどの部分にそのような遅延が必要とさ
れるかは分かる筈である。
第2図は、ビデオ信号処理回路210とそれに付随する周
辺回路を示すブロック図である。この発明のこの実施例
においては、回路210は1つの集積回路として具体化さ
れている。このビデオ信号処理システムを第2図のみを
参照して簡単に説明し、その後で、第2図〜第13図を参
照して詳細に説明する。この出願の第3の部分は第14図
〜第23図を参照し、システムの各構成要素がどのように
平行して動作して、第1A図、第1B図及び第1C図に示すよ
うなフォーマットの圧縮ビデオデータをピクセル値に変
換するかを説明する。
第2図において、圧縮されたビデオ信号の信号源212
は、前述したビデオ信号圧縮技術の1またはそれ以上を
用いて圧縮され、また、統計的にコード化されたデータ
を含んでいるビデオ信号データを供給する。発明のこの
実施例においては、信号源212により供給されるデータ
は、ビデオ信号プロセッサ210の内部にあるVRAM制御ユ
ニット238の制御の下にビデオランダムアクセスメモリ
(VRAM)216に供給される。発明のこの実施例で用いら
れる信号源212はコンパクトディスク読出し専用メモリ
(CD ROM)である。この信号源は、圧縮されたデータ
(圧縮データ)を、例えば、各々が23ビットで構成され
たブロックとしてVRAM216に連続的に供給する。VRAM制
御ユニット238は、信号源212と回路210からのVRAM216へ
のデータアクセス要求を調整して、信号源212により供
給されるデータの全てが確実にVRAM216に書込まれるよ
うにする。
発明のこの実施例で用いられるVRAM216はNECエレクトロ
ニクス社により製造されているμPD41264・64K×4ビッ
トデュアルポート・ランダムアクセスメモリ集積回路12
8個で構成されている。このメモリ集積回路は、16行8
列のマトリクスに配列されている。このような構成で
は、VRAM216は、各々32ビットの1,048,576語として配列
された、4メガバイト(4MB)の記憶を提供する。
表示器用プロセッサ218は、直列出力ポートを介してVRA
M216にアクセスして、表示されたビデオ信号の有効ビデ
オ部分を生成する。ビデオ信号処理回路210と圧縮ビデ
オ信号源212は標準的な入力−出力バスを介してVRAM216
のデータセルにアクセスする。ビデオ信号プロセッサ21
0と表示器用プロセッサ218とによりVRAM216へのアクセ
スは全て、回路210のVRAM制御ユニット238により制御さ
れる。
VRAM216に保持されたデータは、統計的デコーダ230と、
入力先入れ先出し回路(以下、FIFOと称する)232と234
とによって処理回路210に供給される。また、データは
回路210によって、出力FIFO回路236を介してVRAM216に
供給される。統計的デコーダ230と入力FIFO232と234に
より供給されるデータ値は、データパス回路242、算術
論理演算ユニット(ALU)244及びデータRAM228に対し、
双方向データバスB BUSを介して供給される。バスB BUS
はVRAM制御ユニット238に対してアドレス値を供給する
ためにも用いられる。第2の双方向バスA BUSが回路210
に設けられていて、データ値をデータパス回路242、ALU
244及びデータRAM228の間でパスさせ、また、ピクセル
補間器246との間でデータの授受を行うための代替手段
を形成する。上述した接続に加えて、データバスA BUS
はマイクロコードRAM・シーケンサ226に接続されてお
り、場合によってはマイクロプロセッサ224にも結合さ
れる。
概括的に説明すると、第2図に示す回路は次のように動
作する。信号源212により供給される圧縮ビデオ信号はV
RAM216に書込まれる。これらの圧縮ビデオ信号はシーケ
ンシング回路226の制御の下に、統計的データ230と入力
FIFO232と234とを介してアクセスされる。デコーダ230
とFIFO232、234により供給される値は、同じくシーケン
シング回路226の制御の下に、データパス242、ALU244及
びピクセル補間器246に供給されて、圧縮されたビデオ
信号を伸張し、また、コード化された画像を記述するピ
クセル値を生成する。このようにして生成されたピクセ
ル値は、例えば240行256列のマトリクスとして、出力FI
FO236を介してVRAM216に書込まれる。これらの行と列
は、各線が256のピクセル値を持つビデオ信号の240本の
線に相当する。以下、このマトリクスをビットマップと
称する。このビットマップは、表示用プロセッサ218に
よってVRAM216から読出され、画像が再生される。発明
のこの実施例と共に使用される表示器用プロセッサは、
ビットマップ中のピクセル値をビデオ信号に変換し、ま
た、画像をラスタ走査表示装置上に再生できるようにす
るために必要な水平及び垂直同期信号を加える。VRAM21
6から表示器用プロセッサ218へのデータの転送を調整す
るために、水平線同期信号HSと垂直フィールド同期信号
VSがそれぞれの信号源220と222からプロセッサ210と218
へ供給される。この発明の推奨実施例では、これらの信
号は表示器用プロセッサ218で生成するようにしてもよ
い。
発明のこの実施例では、クロック信号の信号源225がマ
イクロコードRAM・シーケンサ回路226に、25MHzのクロ
ック信号CLKを供給する。回路226は、各々12.5MHzの周
波数を有する信号CKとCK′、信号CKと実質的に同じ周波
数と位相を持つ信号CKA及び、信号CKと実質的に逆位相
の信号CKBとを発生する。信号CKAとCKBはデータパス24
2、ALU244及びピクセル補間器246に供給される。信号CK
は統計的デコーダ230、入力FIFO232、234及び出力FIFO2
36に供給される。信号CK′はVRAM制御ユニット238に供
給される。
第2図に示す回路の説明を簡単にするために、圧縮ビデ
オ信号源はコード化されたルミナンス信号のみを供給
し、回路218はビットマップを1つだけ、即ち、ルミナ
ンスビットマップのみを形成するものとする。現実のシ
ステムでは、カラー情報信号、例えば、I及びQ色差信
号用の別のビットマップも作られる。
前述したように、ビデオ信号処理回路210における中心
の制御素子はマイクロコードRAM・シーケンサ回路226で
ある。第3A図は、マイクロコードRAM・シーケンサ226と
して用いるに適した回路を示すブロック図である。マイ
クロコードRAM310は、各々が96ビットを有する128語と
して構成されている通常のランダムアクセスメモリであ
る。通常動作時は、マイクロコードRAM310は、アドレス
レジスタ322に保持されているアドレス値の7個のMSBに
よりアドレスされて、96ビットからなる語(96ビット
語)をレジスタ312の入力ポートに供給する。レジスタ3
12は、制御回路308により供給される信号LDによって、
その入力ポートに供給される値をロードするようにされ
る。マイクロコードRAM310により供給される96ビット値
の各々は、2つの48ビットマイクロコード制御語、即
ち、命令を含んでいる。レジスタ312の48個のMSB位置に
あるこれらの命令の一方は、マルチプレクサ(MUX)314
の一方の入力ポートに供給され、レジスタ312の48個のL
SB位置にある他方の命令がマルチプレクサ314の第2の
入力ポートに供給される。マルチプレクサ314はフリッ
プフロップ318により供給される1ビットの信号によ
り、48ビット命令の一方を命令レジスタ316の入力ポー
トに通過させるようにされる。命令レジスタ316は、制
御回路308により供給される信号LIに応答して、その入
力ポートに供給されたマイクロコード制御語をロードす
る。
命令レジスタ316の個々のビットはバスMCWを介して、ビ
デオ信号処理回路210の構成素子の各々の制御入力端子
に接続されている。マイクロコードRAM310により供給さ
れるマイクロコード制御語が命令レジスタ316を通って
シーケンスすると、回路210の個々の構成素子は、協同
して、圧縮ビデオデータをビットマップピクセルデータ
に変換する動作を行うようにされる。マイクロコード制
御語の各ビットの機能は第3C図を参照して後述する。
ビデオ信号プロセッサ210によって用いられるクロック
信号CKとCK′はマイクロコードRAM・シーケンサ226に含
まれている回路によって発生される。信号源225により
供給される25MHzのクロック信号CLKは、この信号CLKの
周波数を2分の1に分周して、12.5MHzのクロック信号C
K′を作る分周回路304に供給される。信号CLKはさらにA
NDゲート306の一方の入力端子にも供給されている。AND
ゲート306の他方の入力端子はインバータ302に結合され
ており、マイクロプロセッサ224により供給される信号H
ALTを反転して得られ信号受取る。ANDゲート306の出力
信号は、その周波数を2分の1に分周して12.5MHzのク
ロック信号CKを作る分周回路307に供給される。信号HAL
Tが論理0値を持つ時は、信号CKは12.5MHzの方形発振信
号となる。しかし、信号HALTが論理1に変化すると、ク
ロック信号CKの状態は、信号HALTの変化が生じた時の状
態、論理1または論理0に凍結される。
以下に述べるように、マイクロコード制御語の8個のLS
BはNEXT ADDRESSフィールドを規定する。どのマイクロ
コード制御語でも、このフィールドは、マイクロコード
RAM310中の、命令レジスタにロードされるべき次のマイ
クロコード制御語のアドレスを含んでいる。NEXT ADDRE
SSフィールドに保持されている値はマルチプレクサ(MU
X)320を介してアドレスレジスタ322に供給される。NEX
T ADDRESS値のLSBはフリップ・フロップ318の入力端子
Dに供給される。アドレスレジスタ322とフリップ・フ
ロップ318は信号CKによって、それぞれの入力ポートに
供給された値をロードするようにされる。
後述するようにデータパス回路242により供給される信
号CDがフリップ・フロップ318のリセット入力端子Rに
結合されている。信号CDの値は、マイクロコード制御語
の条件コード選択(COND CODE SEL)フィールド(後
述)によって制御される。この信号は、命令レジスタ31
6に供給されるマイクロコード制御語のシーケンスを条
件(状態)に応じて変化させるために、マイクロコード
RAM・シーケンシング回路226で用いられる。信号CDは、
信号処理中で前に生起した状態、例えば、ALU244の出力
値が0であるというような状態を表す。選択された条件
が真の時は、フリップ・フロップ318により供給される
出力信号Qは論理0になる。この値はマルチプレクサ31
4がレジスタ312の48個のLSB位置に保持されている値を
命令レジスタ316に送るようにする。
この回路が、マイクロコードRAM・シーケンサ回路226の
制御の流れ(フロー)を条件に応じて変える、すなわ
ち、条件付き分岐(ブランチ)を行うためにどのように
用いられるかを理解するために、マイクロコード制御語
AがそのCOND CODE SELフィールドに非0値(0でない
値)を有し、かつ、NEXT ADDRESSフィールドに値81を持
つものと仮定する。このマイクロコード制御語が命令レ
ジスタ316にロードされると、NEXT ADDRESSフィールド
中の8ビット値は、アドレスレジスタ322に供給され、
マイクロコードRAM310のアドレス80と81にあるマイクロ
コード制御語がレジスタ312にロードされる。条件信号C
Dの値が論理0なら、レジスタ312の48個のMSB位置(ア
ドレス81)を占めているマイクロコード制御語が次に用
いられることになる。信号CDの値が論理0でない場合
は、レジスタ312の48個のLSB位置(アドレス80)を占め
ているマイクロコード制御語が次に用いられる。これら
の命令の各々はそれぞれ異なるNEXT ADDRESSフィールド
であり、従って、各々がマイクロコード制御語の異なる
シーケンス、即ち、ビデオ信号プロセッサ210の異なる
作用を規定する。マイクロコードRAM310が条件コードの
可能な値の両方についての次の命令を供給するので、条
件コードの値が求められると、次のマイクロコード制御
語を取出すために時間をロスすることがない。
マイクロコードRAM・シーケンサ回路226は、バスA BUS
を介して供給されるマイクロコード制御語をマイクロコ
ードRAM310にロードすることができる。各々がマイクロ
コード制御語の3分の1を表す3個の16ビット値が3個
のレジスタ234に次々に供給される。最初の16ビット値
がレジスタMR0に、第2の16ビット値がレジスタMR1に、
そして、第3の16ビット値がレジスタMR2にそれぞれ記
憶される。次に、同じく入力FIFO232とデータRAM228を
介してVRAM216により供給されるようなアドレス値がア
ドレスレジスタ322に供給される。このアドレス値のLS
B、即ち、信号DXCは、デマルチプレクサ(DEMUX)326に
働いて、3つのレジスタMR0、MR1、MR2により供給され
る48ビット値が、マイクロコードRAM310に対するI/Oバ
スの48個のMSB位置と48個のLSB位置のいずれか一方に供
給されるようにする。同時に、書込みイネーブル(可動
化)信号WEが生成され、REM310が48ビット値をアドレス
されたメモリセルに記憶するようにする。
これらの動作によってマイクロコードRAM310に書込まれ
たマイクロコード制御語は、VRAM216から、例えば、入
力FIFO232とデータRAM回路228とを介して供給される。V
RAM216からのマイクロコード命令をロードすることがで
きることにより、圧縮ビデオ信号源212は、圧縮された
データとそれを伸張するために必要な命令の双方をビデ
オ信号プロセッサ210に供給することが可能となる。例
えば、最初、後述するようにプロセッサ210を制御する
マイクロプロセッサ224によって、ブートストラッププ
ログラムがマイクロコードRAM310にロードされる。この
ブートストラッププログラム中の命令に応答して、マイ
クロコードRAM・シーケンサ回路226は、圧縮ビデオデー
タをデコードするようにプロセッサ210を可動化する、V
RAM216からの命令をロードする。
第3B図は、マイクロコード制御語MCがマイクロコードRA
M310に記憶される時のマイクロコードRAM・シーケンシ
ング回路226の動作を説明するタイミング図である。こ
のタイミング図において、記号T0〜T5は6つのマイク
ロコード命令を表している。各命令サイクルは信号CKA
の正方向への遷移で始まり、終わる。
命令サイクルT0においては、命令レジスタ316に保持さ
れているマイクロコード制御命令はそのA DSTフィール
ドにある値(例えば8)を有し、この値は、バスA BUS
により伝送される16ビット値がレジスタMR0に記憶され
ることを示す。この命令サイクルでは、値MC0、即ち、
マイクロコード制御語MCの16個のLSBが、例えば、デー
タRAM回路228によってバスA BUSにゲートされる。命令
サイクルT0においては、レジスタMR0は信号A DSTによ
って、バスA BUSにより供給される16ビット値MC0を記憶
するようにされる。この記憶動作は、命令サイクルT0
の中間点における信号CKAの負方向への遷移に一致して
生じる。値MC0がレジスタMR0に記憶されるのと実質的に
同時に、命令レジスタ316中のマイクロコード制御語のN
EXT ADDRESSフィールド中の値がアドレスレジスタ322に
記憶され、かつ、このアドレス値のLSBがフリップ・フ
ロップ318に記憶される。アドレスレジスタ322に記憶さ
れた値は、マイクロコードRAM310が、次の命令を含んで
いる96ビット値をレジスタ312に供給するようにする。
この96ビット値は、命令サイクルT0の中間点よりもい
くらか後で生じる信号LDの負方向への遷移と一致して、
レジスタ312にロードされる。フリップ・フロップ318に
保持されている1ビット値に応答して、アドレスされた
48ビットのマイクロコード制御語が命令レジスタ316の
入力ポートに供給される。このマイクロコード制御語
は、命令サイクルT0の終了時に生じる信号LIの負方向
のエッジと一致して、命令レジスタ316にロードされ
る。命令サイクルT1においては、新しくロードされた
マイクロコード制御語が、マイクロコード制御語MCの中
間16ビットを表す値MC1を、MR1がロードするようにす
る。同じようにして、命令サイクルT1の終了時に命令
レジスタ316にロードされたマイクロコード制御語がレ
ジスタMR2に働いて、命令サイクルT2においてマイクロ
コード制御語MCの16個のMSBをロードするようにする。
命令サイクルT2の終わりに命令レジスタ316にロードさ
れたマイクロコード制御語は、レジスタ324からマイク
ロコードRAM310へのマイクロコード制御語MCの転送を制
御する。マイクロコード制御語MCを記憶するために用い
られるアドレスは、バスA BUSを介して供給される。命
令サイクルT3の開始時において、命令レジスタ316中の
マイクロコード制御語のA DSTフィールドは値11を持
ち、これは、バスA BUSにより供給される16ビット値が
アドレスレジスタ322にロードされることを示す。A DST
フィールド中のこの値に応答して、制御回路308が、信
号MXCとして論理1を信号CKのほぼ1サイクルの間、マ
ルチプレクサ320に供給する。この信号はマルチプレク
サ320をして、バスA BUSによって供給される値の8個の
LSBをアドレスレジスタ322の入力ポートに供給せしめ
る。このアドレス値は、命令サイクルT3における信号C
Kの最初の負方向遷移に一致してレジスタ322にロードさ
れる。アドレスレジスタ322に保持されている値のLSB、
即ち、信号DXCはデマルチプレクサ326の制御入力端子に
供給される。デマルチプレクサ326は、論理1または論
理0の値を持った信号DXCによって、レジスタ324により
供給される48ビット値をゲートして、I/Oバスの各48個
のMSB位置または48のLSB位置に供給するようにされる。
信号DXCは、ANDゲート311と313を介して、マイクロコー
ドRAM310の各半部に対する別々の書込み可能化信号を生
成する。前述したように、マイクロコードRAM310は、各
々が96ビットを有する125語として構成されている。こ
のメモリは2つの部分に分割されている。左側の半部は
128語の48個のMSBを含んでおり、右側の半部は128語の4
8個のLSBを含んでいる。信号DXCは、ANDゲート313にお
いて、制御回路308により供給される書込み可動化信号W
Eと組合わされて、マイクロコードRAM310の左半部のた
めの書込み可動化信号を生成する。信号DXCは反転さ
れ、ゲート311によって信号WEと論理的にAND処理され
て、マイクロコードRAM310の右半部のための書込み可動
化信号を生成する。
この例においては、信号DXCは、命令サイクルT3の開始
時の信号CKのほぼ1周期の間、論理1の値を持つ。従っ
て、マイクロコード制御語MCは、アドレスレジスタ322
に保持された7個のMSBの値によって表されるアドレス
値を持った、マイクロコードRAM310中のセルの48個のMS
B位置に書込まれる。マイクロコード制御語は、第3B図
に示し信号WEと一致してマイクロコードRAM310に書込ま
れる。
命令サイクルT3はメモリ書込み動作を行うので、次の
マイクロコード制御語は、信号CKの最初の周期では、命
令レジスタ316にロードされない。この動作は命令サイ
クルT3中の信号CKの2番目の周期で生じる。命令サイ
クルT3中の信号CKの2番目の正方向への遷移と一致し
て、信号MXCの値は論理0に変わり、命令サイクルT0
ついて前述したように、命令取出し動作が行われる。マ
イクロコードRAM・シーケンシング回路226は、命令サイ
クルT4及びT5の間、命令期間T0について述べたよう
な態様で動作する。
第3B図に示した例では、誤ったマイクロコード制御語が
レジスタ312と316にロードされないようにするために、
命令レジスタT3の前半部では、信号LDとLIは禁止され
ている。またビデオ信号処理回路を休止状態に置くため
に、命令サイクルT3の後半部では、制御回路308によっ
て信号CKAとCKBは凍結されている。これはALU244、デー
タRAM228及びピクセル補間器246の間の同期動作を維持
するために行われる。命令サイクルT3の後半部ではク
ロック信号CKAとCKBはディスエーブル(非可動化)され
るので、ALU244データRAM228及びピクセル補間器246の
内部状態はこの期間中は変化しない。
この発明のこの実施例においては、マイクロコードRAM3
10に対するデータ読出し動作とデータ書込み動作は信号
CKの別々の周期に行われる。しかし、そうする代わり
に、マイクロコードRAM・シーケンシング回路226を、信
号CKの1つの周期中で2つの動作を行うように構成して
もよい。
制御回路308は、休止論理240により供給される信号PAUS
Eにも応答し、クロック信号CKAとCKBを凍結させる。さ
らに、制御回路308はマイクロプロセッサ224により供給
される信号HALTに応答し、信号CKを禁止して、実効的に
VRAM制御ユニット238を除くビデオ信号プロセッサ210全
体の内部状態を凍結させる。
信号HALTを用いてマイクロプロセッサ224はビデオ信号
プロセッサ210の制御機能を実効的に引受ける。信号HAL
Tは命令レジスタ316に供給されて、このレジスタをし
て、ゲート回路223を介してマイクロプロセッサ224によ
り供給されるバスMCWからデータを受入れしめる。マイ
クロプロセッサ224はレジスタ316をして、信号HALTを論
理1から論理0に変化させることにより、供給されたマ
イクロコード制御語をロードさせしめる。上記変化後の
クロック信号CKの次の周期において、マイクロコードRA
M・シーケンサ回路226はこのマイクロコード命令が実行
されるようにする。このクロック周期が完了すると、マ
イクロプロセッサ224は再び信号HALTを論理1に変化さ
せ、別のマイクロコード命令をレジスタ316に供給す
る。このような動作により、マイクロプロセッサ224
は、マイクロコードRAM・シーケンサ回路226をしてバス
ABUSまたはB BUSに接続されたレジスタにデータを書込
ませ、あるいは、前に述べたように、ブーストラッププ
ログラムをロードするようにする。さらに、マイクロプ
ロセッサ224がバスA BUSに接続されていることと、第5
図を参照して後述するバスゲート520とにより、マイク
ロプロセッサ224はどのレジスタの内容でも、また、バ
スA BUSあるいはB BUSの内容でも読出せる。
第3C図はマイクロコードRAM・シーケンシング回路226に
よって用いられるマイクロコード制御語、即ち、命令の
フォーマットを示す。制御語は13のフィールドを含んで
いる。各フィールドを、以下、そのフィールドが持ち得
る値と、その値がビデオ信号プロセッサ210の各構成部
分に対して持つ作用とによって説明する。制御される構
成素子の構造は第4図乃至第13図を参照して後述する。
マイクロコード制御語のビット0〜7は、NEXT ADDRESS
フィールドを形成する。これらのビットにより表される
値は、マイクロコードRAM310における、命令レジスタ31
6にロードされるべき次のマイクロコード制御語のアド
レスである。ある与えられたマイクロコード命令サイク
ル中、このフィールドによって表された値はマイクロコ
ードアドレスレジスタ322に記憶される。
条件コード選択フィールドCOND CODE SELはマイクロコ
ード制御語のビット8〜10を占める。これらの3ビット
は、後述するデータパス回路242中の条件レジスタに保
持されている条件値の1つを選択する。選択された条件
値が信号CDである。この信号は条件付きの分岐動作を行
うために用いられる。前に述べたように、条件付き分岐
は命令レジスタ316に供給されるマイクロコード制御語
のシーケンスの変更であり、これは選択された条件が満
足される時(即ち、CDが論理Iの時)のみに生じる。表
1は条件コード選択値とそれに対応する記述をリストし
たものである。
マイクロコード制御語のビット11〜29は、バスA BUSとB
BUSを介して回路210の各構成素子間でデータ値がどの
ように転送されるかを制御する4つのフィールドを含ん
でいる。ビット11〜15は、A SRCフィールドである。こ
のフィールドは、構成部分のうちのどの構成部分が、あ
るいは、ある構成部分中のどのレジスタが出力値をバス
A BUSに供給することにより信号源として働くかを示
す。マイクロコード制御語のビット16〜20はA DSTフィ
ールドで、このフィールドは、構成部分のうちのどれ
が、あるいは、ある構成部分中のどのレジスタがバスA
BUS上にある値をその入力値として受入れることにより
宛先として働くかを示す。同様にフィールドB SRC、ビ
ット21〜24、及びフィールドB DST、ビット25〜29は、
それぞれ、回路210のどの構成部分がバスB BUSに値を供
給し、どの素子がバスB BUSから値を受取るかを決め
る。バスA BUSとB BUSは、ビデオ信号プロセッサ210の
種々の構成部分にデータと制御情報の両方を伝送するこ
とができる。バスA BUSとB BUSに結合されるレジスタと
これらのバスによって伝送される制御情報については、
回路210の該当する構成部分を参照して以下に述べる。
一般的に、バスA BUSとB BUSに結合されてレジスタは、
マイクロコード制御語のフィールドA SRC、A DST、B SR
CまたはB DSTの1つに結合される通常のデコーディング
回路(図示せず)を含んでいる。このデコーディング回
路は、レジスタへのアクセスを許容する制御値が検出さ
れると、論理1値を生じさせる。A SRCフィールドに応
答するデコーディング回路は、マイクロコード制御語の
LIT SELフィールド、ビット31、における論理1の値に
よって抑止される。このビットが論理1の時は、A SRC
フィールド中の値は有効なA SRC値ではなく、後述する
8ビットのリテラル値の一部である。フィールドA SRC
とB SRCとによって制御されるレジスタに対し、デコー
ディング回路の出力値がレジスタの出力可動化入力端子
に結合される。この入力端子に論理1値が供給される
と、レジスタはその記憶されている値を該当するバスに
供給するようにされ、論理0値が供給された場合は、そ
のレジスタはバスに対して高インピーダンスを呈する。
フィールドA DST及びB DSTにより制御されるレジスタに
対しては、デコーディング回路の出力値がレジスタのデ
ータ−ロード入力端子に結合される。これらのレジスタ
は、デコーディング回路によって供給される信号が論理
1値を持っている間は、該当するバスによって伝送され
てきた値をロードするようにされる。
マイクロコード制御語のビット30はフィールドDEC LOOP
CTRである。このフィールドが値1を持っている時に
は、データパス回路242中のループカウンタは、マイク
ロコード命令サイクル中、その値を減じるようにされ
る。
マイクロコード制御語のビット31はフィールドLIT SEL
である。このフィールドに1の値があると、マイクロコ
ードRAM・シーケンシング回路226は、その時のマイクロ
コード制御語のビット8〜15をリテラル値として扱うよ
うにされる。この値の出所(ソース)値として、バスA
BUSの8個のLSB位置に、マイクロコード制御語のビット
31により可動化されるゲート回路317を介して供給され
る。デジタル値源315からの0値がリテラル値が選択さ
れた時に、バスA BUS上の8個のMSB位置に供給される。
マイクロコード制御語のビット31は、さらに、前述した
ようにバスA BUSを出所して用いるレジスタと、後述す
るようにデータパス回路の条件コード論理518にも供給
される。
マイクロコード制御語のビット32は、INT μPフィー
ルドである。このビットが論理1値を持っている時は、
マイクロプロセッサ224が中断される。この制御機能
は、例えば、あるマイクロコード命令シーケンスが完了
したことをマイクロプロセッサ224に知らせるために使
用できる。
マイクロコード制御語のビット33は、LATCH COND CODE
フィールドで、このフィールドが1の値を持つ時は、デ
ータパス回路242は、ALU244により生成された種々の条
件の値を条件コードレジスタにラッチする。この制御機
能は、一般には、条件付き分岐動作に対する条件を選択
する命令に先行する命令中に含まれている。
マイクロコード制御語のビット34と35は、SHIFT CONTフ
ィールドである。このフィールドは、データパス回路24
2のレジスタROによって行われるビットシフト動作を制
御する。表2は、SHIFT CONTフィールドの種々の値に応
答してレジスタROによって達成される機能を示す。
表 2 機 能 0 シフトなし 1 全てのビットをLSBの方へ1ビット位置シフトさせ
る。シフト動作前の値のMSBはシフト動作で生じた値のM
SB位置に複写される。
2 全てのビデオをMSBの方へ1ビット位置シフトさせ
る。シフトされた値のLSBは0である。
3 その時の命令サイクル中にレジスタROに供給される
値の上位と下位のバイトをいれかえる。
マイクロコード制御語のビット38〜46は、マイクロコー
ド命令サイクル中のALU244の機能を決定する。ビット47
は不使用である。(第3C図)ALU244の機能を理解するた
めに、初めにその構造を説明することが理解を助ける。
第4A図に示すALU244は5つの部分、即ち、2つのオペラ
ンド入力レジスタ410と412、算術論理演算回路(ALC)4
14、出力レジスタ416及びデマルチプレクサ(DEMUX)41
8、からなる。レジスタ412はバスB BUSに接続されてお
り、バスMCWを通して与えられるマイクロコード制御語
のビット36中の値1によって可動化されて、バスB BUS
からの値をロードする。レジスタ410はバスA BUSに接続
されておりマイクロコード制御語のビット37中の1の値
によって可動化されて、バスA BUSからの値をロードす
る。ALC414はレジスタ410と412に保持されている値につ
いて種々の算術論理演算を行う。任意の1つ命令サイク
ル中に実行される演算は、バスMCWを通してALUに供給さ
れるマイクロコード制御語のビット38〜46のフィールド
ALU OP CODEに保持されている9ビット値によって制御
される。この9ビットのフィールドにおいて、ビット38
〜44に保持されている値は、表3の通りに、ALUによっ
て実行される機能を決定する。表3において、A及びB
はそれぞれレジスタ410と412に保持されている値を表
し、CINは、ALC414のキャリーイン入力端子CINに供給さ
れる値を表す。
この表において、「NOT」は1の補数演算を表し、「XO
R」は排他的OR演算を表す。
マイクロコード制御語のビット45と46は、バスMCWを介
してマルチプレクサ(MUX)420に加えられて、キャリー
イン信号CINを変化させ、また、ADD動作を(OP CODE 7
9)を飽和を伴う2重ADD(dual-ADD-with-saturate)動
作に変える。ビット45と46が両方共0の時、あるいは、
ビット45が0でビット46は1の時は、マルチプレクサ42
0は、デジタル値源422からの0の値を信号CINとして供
給する。ビット45が1でビット46が0の時は、マルチプ
レクサ420はデジタル値源424からの1の値を信号CINと
して供給する。ビット45と46の両方が1の値を持つ時
は、マルチプレクサ420により供給されるCIN入力値は、
データパス回路242の条件コードレジスタにより供給さ
れるキャリーアウト条件値COUTである。
ALC414により生成される信号CARRY OUTは、第4B図に示
される16ビット加算器のMSB段により与えられるキャリ
ーアウト信号である。信号SIGNは、ALC414により生成さ
れる16ビットの出力MSBである。信号OVERFLOWは、ALC41
4に供給される2個の入力値の符号ビットとALC414によ
って生成される出力値の符号ビットとの論理的組合わせ
である。この信号は、2個の負の入力値によって正の出
力値が生成される時或いは2個の正の入力値によって負
の出力値が生成される時に理論1を持っている。3個の
符号ビットの他の組合わせすべてに対して、信号OVERFL
OWは論理0の値を持っている。
加算動作は、ビット45が0でビット46が1である時に飽
和を伴う2重加算動作になる。この飽和を伴う2重加算
動作では、16ビットのレジスタ410及び412の各々は2個
の8ビット値を収容しているものとして処理される。レ
ジスタ410に保持される値の8個のMSBレジスタ412に保
持される値の8個のMSBとが加算され、その加算結果が
出力レジスタ416の8個のMSBに記憶される。同様に、レ
ジスタ410及び412に保持される値のそれぞれの8個のLS
Bが互いに加算され、その加算結果がレジスタ416の8個
のLSBに記憶される。これらの加算動作の何れによって
もオーバフロー状態が生じることはなくALC414中の回路
によって加算和が飽和する。もし2重加算動作への入力
値が8個のLSBの和或いは8個のMSBの和の何れかによっ
て負のオーバフロー状態或いは正のオーバフロー状態が
生じるようなものであれば、加算用に与えられる値はそ
れぞれ0或いは255に飽和しており、これらは8ビット
の符号のない2進値によって表され得る最小値及び最大
値である。
従来型の加算と飽和を伴う2重加算動作との間で切替を
行うために、従来型でない加算器がALC414に使用され
る。
第4B図には、ALC414に使用されるのに適した加算器がブ
ロック図で示されている。従来型の16ビットの算術論理
回路であれば、2個の16ビットから成る2の補数とキャ
リーイン信号とを加算して16ビットから成る2の補数の
出力値とキャリーアウト信号とを生成できる16ビット加
算器が含まれている。第4B図に示される回路は、信号SP
LITに応答してこの信号SPLITが0の時は従来型の16ビッ
トの2の補数加算器として動作し、信号SPLITが1の時
は上述の飽和を伴う2重加算モードで2個の独立した8
ビット加算器として動作する。
第4B図において入力ポートA及びBに供給される2個の
16ビット入力値は各々8個のMSBの部分(以下8MSB部分
と呼ぶ)と8個のLSBの部分(以下8LSB部分と呼ぶ)と
に分割される。A入力値及びB入力値の8MSB部分はそれ
ぞれ加算器450の異なる入力ポートに供給される。A入
力値及びB入力値の8LSB部分はそれぞれ加算器452の異
なる入力ポートに供給される。この実施例に使用される
加算器450及び452は従来型の8ビットの2の補数加算器
である。加算器452へのキャリーイン入力信号はALC414
へ供給される信号CINである。加算器450へのキャリーイ
ン入力信号はANDゲート454によって与えられる。この信
号は、加算器452によって与えられるキャリーアウト信
号CO0とインバータ456によって与えられる信号SPLITの
論理反転分である信号▲▼との論理AND(論
理積)である。加算器450によって与えられる8ビット
出力信号のMSB位置の信号は、ALC414によって与えられ
る値の極性を示す条件信号SIGNである。加算器450のキ
ャリーアウト信号CO1は、ALC414によって与えられる信
号CARRY OUTである。
加算器450によって与えられる8ビット値は、ALC414の
入力ポートA及びBに供給された値の8個のMSBの2の
補数和である。この出力値のMSBは排他的ORゲート472の
一方の入力端子に供給され、このORゲート472の他方の
入力端子は信号SPLITを受取る。排他的ORゲート472によ
って与えられる出力信号は、加算器450によって与えら
れる値の7個のLSBと連結され、8ビットの変形和が生
成される。信号SPLITが0の時、この変形和は、2個の
8ビットの2補数値の和を表す8ビットの2の補数値で
ある。しかし、信号SPLITが1である時、この変形和は
8ビットの符号のない2進値と8ビットのオフセット12
8の2進値との和を表す8ビットの符号のない2進値で
ある。
ALC加算器に供給される入力値の形の変更は加算器の回
路の機能ではなくビデオ信号プロセッサ210をプログラ
ムするために定められた約束である。この約束によっ
て、信号SPLITが0の値を持つ時、ALC加算器に供給され
る値は従来型の16ビットの2の補数和である。しかし信
号SPLITが1の値を持つ時、加算器450及び452の各々に
供給される値の一方は8ビットの符号のない2進値であ
り、他方はオフセット128表記の8ビット値である。こ
れらの値は、バスA BUS或いはB BUSに対する出所として
動作し得る如何なる装置の如何なるレジスタによっても
与えられる。
信号SPLITが1の時、8ビットの符号のない2進入力値
は0と255の間の値の範囲を占め、オフセット128はそれ
ぞれに対して−128と+127の間の値の範囲を占めること
が出来る。従って、変形和は−128と382を含めてその間
の値を表わすことが出来る。しかし、このモードでの変
形和は8ビットの符号のない2進数であるため、0と25
5の間の数だけが有効である。図4B図に示されるALC加算
器には、この有効な範囲外にある値を検知し、変形和の
値を0より小さい値に対しては0に又255より大きい値
に対しては255に飽和させる即ち限定する。
ANDゲート470が、変形和の値が255より大きいことを示
す正のオーバフロー信号POV1を発生する。ANDゲート470
への3つの入力信号は、信号SPLITと、加算器450からの
キャリーアウト信号C01と、加算器450によって与えられ
る8ビット値のMSBである。信号POV1は、信号SPLITが0
の時、或いは信号SPLITが1で変形和の値が256より小さ
い時に0となる。信号POV1は8個のNORゲート474の各々
の一方の入力端子に供給される。NORゲート474の各々の
他方の入力端子は、それぞれ変形和の8ビットの異なる
1つを受取る。
NORゲート468が信号▲▼と、信号C01と、加
算器450によって与えられる8ビット値のMSBとに応答し
て負のオーバフロー信号NOV1を発生する。この信号NOV1
は、変形和が0より小さい値を持つことを示す。信号NO
V1は8個のNORゲート476の各々の一方の入力端子に供給
される。NORゲート476の各々の他方の入力端子は、それ
ぞれ8個のNORゲート474によって与えられる信号のうち
の異なる1つを受取る。NORゲート476の8個の出力信号
は、ALC加算器の16ビット出力信号の8個のMSBである。
加算器452は、上述した制限回路と同様の回路に結合さ
れている。NORゲート476に相当する8個のNORゲート466
の8個の出力信号は、ALC加算器の16ビット出力信号の
8個のLSBである。
マイクロコード制御語のビット54及び46がそれぞれ0及
び1の値を持つ時、信号SPLITは1でALC加算器は飽和を
伴う2重加算モードで動作するように制御される。マイ
クロコード制御語のビット45及び46の値の組合わせに対
して、信号SPLITは0でALC加算器は従来型の16ビットの
2の補数加算器として動作するように制御される。
次にALC加算器の2つのモードの各々における動作につ
いて説明する。信号SPLITが0である時、ANDゲート454
は加算器452の出力端子CO0からのキャリーアウト信号を
加算器450のキャリーイン入力端子CT1に供給するように
制御され、加算器450及び452は1個の16ビットの2の補
数加算器として構成される。0の値の信号SPLITが排他
的ORゲート462及び472に供給されると、これらのゲート
は加算器452及び450によって与えられる8ビットの出力
値のMSBをそのまま通過させてそれぞれ各NORゲート464
及び474に供給する。0の値の信号SPLITがANDゲート460
及び470に供給されると、これらのゲートは0の値の正
のオーバフロー信号POV0及びPOV1をそれぞれ各NORゲー
ト464及び474に供給する。同様に、論理1の値の信号▲
▼がNORゲート458及び468に供給されると、
これらのゲートは0の値の負のオーバフロー信号NOV0
びNOV1をそれぞれ各NORゲート466及び476に供給する。
0の値の信号POV0及びNOV0がNORゲート464及び466に供
給された結果、加算器452によって与えられる出力値は
2回反転され従って加算器452の出力ポートにおける値
はALC加算器によって与えられる16ビット値の8個のLSB
として与えられる。加算器450によって与えられNORゲー
ト474及び476を介してALC加算器の出力ポートに供給さ
れる8個のMSBの値についても同様である。
信号SPLITが論理1の値を持つ時、インバータ456によっ
て与えられる信号▲▼は論理0の値を持ち、
ANDゲート454による加算器452からのキャリーアウト信
号の加算器450のキャリーイン入力端子CI1への供給が止
められる。これによって、加算器450及び452は2個の別
個の8ビット加算器として構成される。論理1の信号SP
LITが排他的ORゲート462及び472に供給されると、これ
らのゲートは加算器452及び450によって与えられたそれ
ぞれの8ビット値のMSBを論理的に反転する。このMSBの
反転は、加算器452及び450の各々によって与えられる8
ビットの符号のない2進値が8ビットの符号のない2進
値とオフセット128の2進値との和を適切に表すように
行われる。
信号SPLITが論理1の値を持つ時、ANDゲート460及び470
はそれぞれ正のオーバフロー信号POV0及びPOV1を発生
し、NORゲート458及び468はそれぞれ負のオーバフロー
信号NOV0及びNOV1を発生する。負のオーバフロー信号NO
V1が論理1の時、8個のNORゲート476の出力信号はすべ
て論理0となり、ALC加算器によって生成される値の最
上位のバイトの値は0となる。信号POV1が論理1の時、
8個のNORゲート474の出力値はすべて論理0となる。こ
れらの信号はNORゲート476によって反転される。従っ
て、ALC加算器の出力値の8個のMSBはすべて論理1の値
を持つ。これは255の符号のない2進値に相当する。NOR
ゲート466及び464にそれぞれ供給される信号NOV0及びPO
V0についても同様である。
表3に示す動作の何れかを行うことによって得られた結
果は出力レジスタ416に記憶される。このレジスタ416
は、マイクロコード制御語のフィールドA SRC及びB SRC
の適切な値に応答するデマルチプレクシング回路418に
よってバスA BUS及びB BUSの一方或いは両方に結合でき
る。
この実施例に使用されるALCは代表的な例である。デジ
タル論理設計の当業者であれば、上述したものと等しい
動作を行うことが可能な代わりに回路を設計製作でき
る。
ALUの入力レジスタ410及び412は、マイクロコード制御
語のバスの出所フィールド及び宛先フィールドA SRC、A
DST、B SRC及びB DSTにかかわりなくそれぞれバスA BU
S及びB BUSをアクセスする。従って、1つの動作で、マ
イクロコードRAM・シーケンシング回路226はデータ値を
バスA BUS及びB BUSの各々の出所から宛先まで転送する
ように命令し、同時に、ALUが転送されるデータ値の一
方或いは両方について動作するように命令できる。
ALU244への入力値の1つの出所とALU244からの出力値の
宛先とは、データパス回路242中のレジスタファイル510
である。第5図はこの実施例に使用されるデータパス回
路242をブロック図で示している。代表的な例であるこ
の実施例に使用されるレジスタファイル510には、R0、R
1、R2及びR3の計4個の汎用レジスタが含まれている。
これらのレジスタの各々は、バスA BUS及びB BUSの両方
に結合されている。バスMCWを介して与えられるマイク
ロコード制御語のフィールドA SRC及びB SRCの制御によ
ってこれらのレジスタの何れも一方或いは両方のバスに
値を供給できる。しかし、レジスタは、フィールドA DS
T及びB DSTに応答してどの1つのマイクロコード命令サ
イクルにおいてもバスA BUS及びB BUSの一方のみの宛先
となることが出来る。上述のようにレジスタROには、マ
イクロコード制御語のSHIFT CONTフィールドに応答して
レジスタの内容をより上位の桁或いはより下位の桁のビ
ット位置にシフトする或いはレジスタに供給される値の
8個のMSB及び8個のLSBを交換する回路が含まれてい
る。
レジスタのMSB及びLSBは、それぞれ条件コードレジスタ
512の異なる入力端子に供給される。これらの値に加え
て条件コードレジスタ512は、デジタル値源513からの0
の値と、ALU244によって与えられる条件値SIGN、ZERO、
OVERFLOW及びCARRY OUTと、ループカウンタ514によって
保持される値が0であることを示す条件値とを受取る。
条件コードレジスタ512はマイクロコード制御語のLATCH
COND CODEフィールドに応答してマイクロコード命令サ
イクルの終わりにALU244によって得られる条件値を記憶
する。他の条件コードは、それらの発生と非同期的に条
件コードレジスタ512中へラッチされる。
条件コード論理518が、マイクロコード制御語のCOND CO
DE SELフィールドに応答して、上述のようにマイクロコ
ードRAM・シーケンシング回路226において条件分岐動作
を行うのに使用される条件信号CDとして条件コードレジ
スタ512に保持される条件値のうちの1つを選択する。
また条件コード論理518は、マイクロコード制御語のLIT
SELフィールドに応答して、COND CODE SELフィールド
がA SRCフィールドと共に使用されている時条件の選択
を抑止してリテラル値をバスA BUSに供給する。
ループカウンタ514は、マイクロコード制御語のフィー
ルドASR及びA DSTの制御によってバスA BUS上でデータ
値の出所あるいは宛先の何れかとして動作できる16ビッ
トのカウンタである。ループカウンタ514はマイクロコ
ード制御語のビット30が論理1の値を持つ時にクロック
信号CKBに同期して減少する。このカウンタ514は、反復
ループにおける命令がマイクロコードシーケンサ226に
よって遂行される回数をカウントするのに使用される。
動作の一般的なモードでは、バスA BUS及びB BUSは完全
に独立している。しかし、ビデオ信号プロセッサ210
は、これらの2つのバスが単一のバスとして結合される
状態中に置かれることがある。このモードはHALTモード
である。プロセッサ210はマイクロプロセッサ224によっ
てHALTモードに置かれることがある。マイクロプロセッ
サ224によって与えられる信号HALTによって、双方向ゲ
ート回路520が両バスを結合する。このモードの時、マ
イクロプロセッサ224はどのレジスタをもこの結合され
たバス上で出所或いは宛先としてアクセスすることが出
来る。この特徴ある構成によって、ビデオ信号プロセッ
サ210のテストは容易になり、マイクロプロセッサ224は
プロセッサ210をこれが多数の所定状態の何れにおいて
も開始するように接続できる。この実施例では示してい
ないが、バスゲート回路520はマイクロコード制御語の
1つにビット例えばビット47によって制御するようにし
てもよい。マイクロコード命令の制御によってゲート回
路520はバスA BUSとB BUSとを結合し、両バスの一方の
上にある出所によって与えられるデータを他方のバスに
結合された宛先へ転送することも可能である。
4個の汎用レジスタR0、R1、R2及びR3に加えてビデオ信
号プロセッサ210は、データ値の一時記憶のためデータR
AM回路228を使用する。第6図はこの実施例と共に使用
されるデータRAM回路228の細部をブロック図で示してい
る。データRAM回路228には、256×16ビットのRAM610、
4個のアドレスレジスタDR0、DR1、DR2及びDR3を持つレ
ジスタファイル612、増加/減少回路(INC/DEC)622及
び制御回路614が含まれている。制御回路614はマイクロ
コード制御語のフィールドA SRC、A DST、B SRC及びB D
STに応答して、RAM610への及びRAM610からデータを転送
し、またレジスタファイル612の種々のレジスタ中のア
ドレス値をロードし、またこれらのアドレス値を増加或
いは減少させることも可能である。
正規動作モードにおいて、マイクロコード制御語の関連
フィールドがバスMCWを介して制御回路614に供給され
る。RAM610をアクセスするためのアドレスを表わす値
は、例えばALU回路244によって、マルチプレクサ(MU
X)616の1つの入力ポートにバスA BUSの8個のLSB位置
として供給される。マルチプレクサ616のもう1つの入
力ポートには、以下に述べるように増加/減少回路622
によって発生される8ビットアドレス値が供給される。
マルチプレクサ616は、制御回路614によって与えられる
信号MC1によって制御されて入力ポートに供給される2
個のアドレス値のうちの一方をレジスタDR0乃至DR3に供
給する。レジスタDR0乃至DR3は、8ビット並列入力並列
出力レジスタであり、それぞれ信号L0、L1、L2及び
3に応答して各入力ポートに供給される値をロードす
る。レジスタDR0乃至DR3によって与えられる出力値は、
それぞれマルチプレクサ(MUX)618の異なる入力ポート
に供給される。マルチプレクサ618は、制御回路614によ
って与えられる制御信号MC2によって制御されてレジス
タDR0乃至DR3によって保持されるアドレス値のうちの1
つを8ビットアドレスレジスタ(ADDR REG)620の入力
ポートに供給する。このアドレス値は、制御回路614に
よって与えられる制御信号LAに応答するアドレスレジ
スタ620中へロードされる。アドレスレジスタ620に保持
されるアドレス値はRAM610のアドレス入力ポートと増加
/減少回路622の入力ポートとに供給される。この増加
/減少回路622は、制御回路614によって与えられる信号
I/Dによって制御されて入力ポートに供給されたアドレ
ス値を増加或いは減少させてこの変形アドレス値を上述
のようにマルチプレクサ616の第2入力ポートに供給す
る。
マルチプレクサ618によって与えられるアドレス値は、
3状態のゲート619を介してバスA BUSに供給されること
がある。このゲート619は、制御回路614によって与えら
れる信号ROに応答して、マルチプレクサ618とソース621
とによって与えられる16ビット値か或いは高インピーダ
ンスの何れかをバスA BUSに供給する。この実施例では
ゲート619の使用により、レジスタDR0乃至DR3に保持さ
れる値を8ビットデータ値としてバスA BUSに供給する
ことが出来る。バスA BUSに供給される値の8個のMSBは
0に設定される。バスMCWを介して与えられるマイクロ
コード制御語A SRCフィールドが、レジスタDR0乃至DR3
の1つがバスA BUSを介して転送されるべきデータ値の
出所であることを示す時、信号ROがゲート619を制御し
て値をバスA BUSに供給するようにする。
RAM610中へ記憶すべきデータ値は、2個の16ビットバス
A BUS及びB BUSを介してデータRAM回路228に供給され
る。16ビットの3状態のゲート624が、制御回路614によ
って与えられる信号AINに応答してバスA BUSからのデー
タ値或いは高インピーダンスの何れかをRAM616のI/Oバ
スに供給する。同様のゲート626が、制御回路614によっ
て与えられる信号BINに応答してバスB BUSからのデータ
値或いは高インピーダンスを選択的にRAM610のI/Oバス
に供給する。
RAM610のI/Oバスに供給されたデータ値は、アドレスレ
ジスタ620に保持されるアドレス値によってアドレスさ
れたデータセルに書込まれる。制御回路614は書込可動
化信号WEを発生し、RAM610はこの信号WEに応答して所定
のメモリサイクル中にデータ値をアドレスされたセルに
書込む。
データ値は、メモリサイクルの少なくとも一部中に信号
WEを論理0の状態に保持することによってRAM610のアド
レスされたセルから読取ることが出来る。RAM610から読
取られた値は、バスA BUS及びB BUSの一方或いは両方に
それぞれゲート628及び630を介して供給することが出来
る。これらのゲート628及び630は、ゲート624及び626と
同様であり、それぞれ制御回路614によって与えられる
信号AOUT及びBOUTに応答して、RAM610によってそのI/O
バスを介して与えられる出力値或いは高インピーダンス
をそれぞれバスA BUS及びB BUSに供給する。
上述のようにデータRAM回路228が行う動作はマイクロコ
ード制御語のフィールドA SRC、A DST、B SRC及びB DST
の値によって決定される。下の表4には、これら4つの
フィールドの種々の値に応じて行われる動作が示されて
いる。
表4の機能は、ビデオ信号プロセッサ210に対するマイ
クロコード制御語を発生するのに使用されるアセンブラ
言語のように符号化される。レジスタの記号の前に付け
られている*印は、書込まれる値或いは読取られる値が
レジスタに保持される値によってアドレスされるRAMセ
ルへ転送される値或いはそのRAMセルから転送される値
であることを示している。レジスタの記号の前に*印が
ない場合は、書込まれる値或いは読取られる値はその記
号のレジスタに保持される8ビット値である。レジスタ
の記号の後に付けられた「++」及び「−−」は、それ
ぞれのレジスタ中の値が、アドレスされたメモリセルが
アクセスされた後に増加或いは減少させられることを示
している。
符号化された動作がA SRC或いはB SRCの欄にある場合、
その動作は読取動作であり、その出力値はそれぞれバス
A BUS或いはB BUSへとゲートされる。符号化された動作
がA DST或いはB DSTの欄にある場合、その動作は書込動
作であり、その入力値はそれぞれバスA BUS或いはB BUS
によって与えられる。
第7A図乃至第7E図は、マイクロコード制御語のフィール
ドA SRC、A DST、B SRC及びB DSTに対応して制御回路61
4が与える種々の信号を示すタイミング図である。第7A
図乃至第7E図のタイミング図には本願の他のタイミング
図と比較するためにマイクロコードRAM・シーケンシン
グ回路226によって与えられるクロック信号CKAが示され
ている。
第7A図には、8ビット値をバスA BUSからレジスタDR0に
書込む要求(即ちA DST=28)に応答して制御回路614が
与える種々の信号のタイミングが示されている。命令サ
イクル中の初期の所定時点で、レジスタDR0に書込まれ
るべき値VALがバスA BUSに供給される。この命令サイク
ル中、制御回路614は信号MC1を論理1に保持し、この信
号に応答してマルチプレクサ616はバスA BUSの8個のLS
B位置によって運ばれる値をレジスタDR0乃至DR3の入力
ポートに供給する。バスA BUSに供給された値が安定す
ると、制御回路614はパルス信号L0を発生し、この信号
0に応答してレジスタDR0はその入力ポートに供給され
た値をロードする。レジスタDR1、DR2及びDR3へロード
させる指令も同様であり、パルス信号L1、L2及びL3
のうちの1つが第7A図に示すパルス信号L0の代わりに
発生される。
第7B図には、レジスタDR0に保持される値をバスA BUSの
8個のLSB位置に転送する(即ちA SRC=28)ために制御
回路614が発生する信号のタイミングが示されている。
命令サイクルが開始したすぐ後の所定時点で制御回路61
4は信号MC2が0の値を持つように変える。この信号MC2
に応答してマルチプレクサ618は、レジスタDR0に保持さ
れる値をゲート619の入力ポートに供給する。信号MC2を
変えた後、制御回路614は信号ROとして論理1をゲート6
19に供給する。この信号ROに応答してゲート619は、レ
ジスタDR0に保持される値をバスA BUSの8個のLSB位置
に供給し、0の値をバスA BUSの8個のMSB位置に供給す
る。レジスタDR1、DR2及びDR3中の値も同様の信号変更
シーケンスを用いて読取ることが出来る。唯一の違いと
しは、信号MC2の値が第7B図に示す0の代わりにそれぞ
れ1、2及び3となる。
第7C図には、レジスタDR0に保持されるアドレス値によ
ってアドレスされるRAM610のメモリセルから値を読取る
(即ちA SRC=16)のに使用される信号のタイミングが
示されている。この動作のため、制御回路614はまず、
信号MC2を0の値を持つように変え、この信号MC2に応答
してマルチプレクサ618はレジスタDR0に保持されるアド
レス値をアドレスレジスタ620の入力ポートに供給す
る。この信号が安定すると、制御回路614はパルス信号
Aを発生し、これによってアドレス値がアドレスレジ
スタ620中へロードされる。アドレス値がRAM610のアド
レスデコード論理を通過するとアドレスされた値はRAM6
10のI/Oバス上に得られる。次に制御回路614は、信号AO
UTの値を論理1に変えることによってこのアドレスされ
た値をバスA BUSへとゲートする。レジスタDR1によって
アドレスされる値も、信号MC2の値が0の代わりに1と
なること以外は同じ命令シーケンスを用いて読取ること
が出来る。この実施例において、レジスタDR2或いはDR3
によってアドレスされるRAM610中のデータは、バスB BU
Sのみを介して読出すことも出来る。これらの信号を読
取るための信号のシーケンスは、第7C図のMC2の値をそ
れぞれ2或いは3に変え、ゲート用信号AOUTの代わりに
信号BOUTを使用することによって得ることが出来る。
第7D図には、データRAM回路228がバスB BUSによって与
えられる値をレジスタDR2中に保持されるアドレス値を
持つRAM610のセルへ書込む(即ち、B DST=2)ように
制御する信号が示されている。この動作における第1段
階として、制御回路614は信号MC2の値を2に変える。こ
の信号MC2に応答してマルチプレクサ618は、レジスタDR
2中に保持されるアドレス値をアドレスレジスタ620の入
力ポートに供給する。アドレス値が安定すると、制御回
路614はパルス信号LAを発生し、この信号LAに応答し
てアドレスレジスタ620は入力ポートに供給された値を
ロードする。RAM610へ供給されたアドレス値が安定した
後、制御回路614が信号BINを論理1の値に変え、この信
号BINに応答してゲート626はバスB BUS上の値をRAM610
のI/Oバスへ供給する。安定期間後に制御回路614はパル
ス信号WEを発生し、この信号WEに応答してRAM610はその
I/Oバス上のデータをそのアドレス入力ポートに供給さ
れたアドレス値を持つセルに書込む。レジスタDR3中の
アドレス値を使用してデータ値をバスB BUSからRAM610
に書込むのに使用される信号は、信号MC2が2ではなく
3の値を持つこと以外は第7D図に示されるものと同じで
ある。この実施例では、バスA BUS上のデータを使用す
るメモリ書込動作はレジスタDR0及びDR1のみを使用して
もよい。従って、これらの動作(A DST=28或いは29)
に使用される信号を表わすとすると、第7D図は、3つの
点即ち信号B BUSが信号A BUSになり、信号MC2の値がそ
れぞれ0或いは1になり、信号BINが信号AINになって変
えられることになる。
第7E図は、第7D図と同様の動作を表わすが、アドレス値
がデータ値の記憶後に増加させられる点で異なる。この
動作は、フィールドB DST中の値が4の時に呼出され
る。信号B BUS、MC2、LA、BIN及びWEは、第7D図に関し
て説明したものと同じである。更に、信号BINの値を変
えるとすぐに、制御回路614は信号I/Dを論理1の値を持
つように変える。この信号I/Dに応答して増加/減少回
路622は、アドレスレジスタ620に保持される値を増加さ
せてその結果得られた値をマルチプレクサ616の第2の
入力ポートに供給する。この値が安定すると、制御回路
614はパルス信号MC1を発生し、これによって増加したア
ドレス値はレジスタDR0乃至DR2に供給される。信号MC1
が論理1の状態にある間、制御回路614はパルス信号L2
を発生し、これによって増加したアドレス値はレジスタ
DR2にロードされる。
命令サイクルの間ずっと信号I/Dの値を論理0に保持す
ることによって、第7E図に示す信号を変えてアドレス値
を増加させる代わりに減少させることが出来る。レジス
タDR0、DR1及びDR3を使用する書込動作用の信号は、第7
E図に基づいて、信号B BUS、MC2及びBINを第7D図に関し
て上述したように変えることによって得ることが出来
る。更に、読取・増加動作(A SRC=18及び19とB SRC=
4及び5)と読取・減少動作(A SRC=20及び21とB SRC
=6及び7)に使用される信号は、第7E図から信号MC
1、I/D及びL2を適切に変えて第7C図に示される信号に
付加えることにより得られる。
この実施例において、第7A図乃至第7E図に示されるパル
ス信号は、クロック信号源225によってデータRAM回路22
8に与えられる25MHzの信号CLKのパイプを選択的にゲー
トすることによって及びゲートされたクロックパルスを
縦続接続されたゲート素子を介して遅延させることによ
って生成することが出来る。クロック信号CLKがその制
御信号を生成するのに使用されても、データRAM回路228
はクロック信号CKA及びCKBに応答し、これらのクロック
信号がPAUSE或いはHALTの指令によって凍結される時そ
の動作を停止する。
デジタル信号処理回路設計の当業者であれば、第6図、
第7A図乃至第7E図及びこれに関連する説明から容易にデ
ータRAM回路228に使用するに適した制御回路614を作る
ことが出来る。
第1B図に関して上述したように、映像セグメントは、前
の映像からの対応するセグメントの変形として符号化で
きる。相対的エンコーディングと呼ばれるこの符号化の
形には、2個のセグメント(例えば第1B図からのΔX及
びΔY)における対応するピクセル位置相互間の水平及
び垂直方向のオフセットを表わすパラロータが含まれて
いる。上述したように、これらのオフセットの値は隣接
するピクセル相互間の距離の分数で表すことが出来る。
ピクセルオフセット値の分数部分が0でない映像を適切
にデコードするために、ビデオ信号プロセッサ210には
前のフィールドにおけるセグメントのピクセルから疑似
ピクセルを発生する回路が含まれていることが望まし
い。これらの疑似ピクセルは、分数で表わされるように
オフセットされたピクセルの値に近似した値を持つ。こ
の実施例において、疑似ピクセルはピクセル補間器246
によって生成される。
ピクセル補間器246は、垂直方向に補間されるピクセル
に対応する中間値の対を計算及び記憶するように構成さ
れている。これらの中間値の対は次に補間器246に帰還
され、補間器246は、連続する中間値に基づいて動作し
て水平方向の補間を行い、水平及び垂直の両方向におい
て補間されるピクセル値を生成する。即ち、ピクセル補
間器246は、交互に垂直及び水平補間計算を行って出力
疑似ピクセル値を生成する。
第8A図には、ピクセル補間器246として使用するのに適
した回路がブロック図で示されている。第8A図で、16ビ
ットバスA BUSがレジスタ(REG)802と812のそれぞれの
入力ポートに結合されており、それぞれ例えばデータRA
M228からのピクセルデータと例えばALU244からの制御値
とをピクセル補間器246に供給する。レジスタ802及び81
2は、それぞれマイクロコード制御語のA DSTフィールド
が5及び6の値を持つ時、バスA BUSからの値をロード
する。マイクロコード制御語は、制御バスMCWを介して
ピクセル補間器246に供給される。レジスタ812は制御回
路814に結合されており、この制御回路814は次に述べる
ようにピクセル補間器246の種々の構成部分に対する制
御信号を発生する。
レジスタ802へロードされた16ビット値はA DSTフィール
ドが5の値を持つ時、ピクセル補間器246によって入力
ビデオ信号の水平線上の連続する位置を持つ2個の8ビ
ットピクセル値として解釈される。信号LR1及びLR0に応
答して、レジスタ802に保持される値はそれぞれ16ビッ
トレジスタ(REG)804及び806に交互に転送される。ピ
クセル補間器246の正規動作において、レジスタ802に供
給される1つ置きの値は、入力ビデオ信号の連続する線
からの対応するサンプル対である。例えば、入力ビデオ
信号のピクセルを三角形で表わした第9A図において、レ
ジスタ802に供給される最初の値にピクセルS00及びS
01を表わす値が含まれることになり、その次にレジスタ
802に供給される値にはビデオ信号の次の線からの対応
するピクセル値であるピクセルS10及びS11を表わす値
が含まれることになる。
第9A図乃至第9C図に関して次に述べるように、ピクセル
補間器246は、レジスタ804及び806に記憶されたピクセ
ル対を水平方向に隣接するピクセル値から垂直方向に隣
接するピクセル値に変換することが望ましい。この目的
のため、レジスタ804及び806の8個のMSB位置はそれぞ
れレジスタ(REG)808の8個のMSB位置及び8個のLSB位
置に結合され、またレジスタ804及び806の8個のLSB位
置はそれぞれレジスタ(REG)810の8個のMSB位置及び
8個のLSB位置に結合されている。レジスタ808及び810
は、制御回路814によって与えられる信号XFに応答して
それぞれの入力ポートに供給される値をロードする。上
述の例で、レジスタ808及び810では、それぞれ制御回路
814がパルス信号XFを発生した直後にピクセル値対S00
とS10及びピクセル値対S01とS11が収容される。
レジスタ808及び810によって与えられる16ビット値は、
それぞれマルチプレクサ(MUX)811の異なる入力ポート
に供給される。マルチプレクサ811は、制御回路814によ
って与えられる信号MVに応答して入力ポートのうちの選
択された1つに供給される16ビット値を通過させてマル
チプレクサ(MUX)816及び818に送る。マルチプレクサ8
11の出力値の8個のMSB位置は、マルチプレクサ816の1
つの入力ポートに供給される。マルチプレクサ811の出
力値の8個のLSB位置は、マルチプレクサ818の対応する
入力ポートに供給される。
マルチプレクサ816及び818は、制御回路814によって与
えられる信号MLに応答して、マルチプレクサ811によっ
て与えられる2個のピクセル値かそれぞれマルチプレク
サ(MUX)861及び863によって与えられる2個の8ビッ
トの垂直方向に補間されたピクセル値かの一方を通過さ
せる。マルチプレクサ816及び818によって通過させられ
たピクセル値はそれぞれレジスタ(REG)820及び822に
供給される。レジスタ820及び822は、マイクロコードRA
M・シーケンシング回路226によって与えられるクロック
信号CKAに応答して、それぞれ入力ポートに供給された
値をロードする。次に減算器824がレジスタ822に保持さ
れるピクセル値をレジスタ820に保持されるピクセル値
から引く。減算器824によって得られたピクセル差の値
は乗算器回路825に供給される。
この実施例に使用される乗算器825は、プログラム可能
なシフト及び加算型の乗算器である。第8B図には、乗算
器825として使用するのに適した回路が示されている。
乗算すべき値が2つのデータパスに供給される。このデ
ータパスの各々には直列に結合された3個のシフタ(SH
IFT)・マルチプレクサ(MUX)対が含まれている。第1
及び第2のデータパスの両方は9ビット値を運ぶ。減算
器824によって与えられる8ビット値は、シフタ826及び
840とマルチプレクサ828及び842とへ供給される9ビッ
ト値の8個のMSB位置として供給される。この値のLSBは
0である。付加的な精度ビットが乗算器825で使用され
て、シフト及び加算の乗算技法の為に生じる可能性のあ
る切捨て誤差が軽減される。
第1のデータパスに含まれるシフタ826は、減算器824に
よって与えられるピクセル差の値を受取り、この値のビ
ットシフトされたものをマルチプレクサ828の1つの入
力ポートに供給する。マルチプレクサ828の他方の入力
ポートは、減算器824の出力ポートに直接結合されてい
る。シフタ826、及び乗算器825の他のシフタの各々は、
9ビット入力値の8個のMSB位置を9ビット出力値の8
個のLSB位置として供給する。論理0の値がその出力値
のMSB位置に挿入される。デジタル信号処理回路設計の
当業者であればこの種のシフトが2で割る割算に等しい
ものであることが判るであろう。マルチプレクサ828は
制御回路814によって与えられる信号MA1に応答して出力
ポートにシフトされた値或いはシフトされていない値を
与える。マルチプレクサ828の出力ポートは、シフタ830
の入力ポートとマルチプレクサ832の一方の入力ポート
とに結合されている。シフタ830及びマルチプレクサ832
は、シフタ826及びマルチプレクサ828と同様に構成され
ている。マルチプレクサ832は、制御信号MA2に応答して
マルチプレクサ828の出力値或いはこの出力値のビット
シフト後の値の何れかを選択的に供給する。マルチプレ
クサ832は、出力値をこれに結合されたシフタ834とマル
チプレクサ836とに供給する。これらのシフタ834及びマ
ルチプレクサ836は、シフタ830及びマルチプレクサ832
と同様に構成されている。マルチプレクサ836は、制御
回路814によって与えられる信号MA3によって制御され
る。
第2のデータパスには、3個のシフタ・マルチプレクサ
対840と842、844と846及び848と850が含まれており、各
対は第1のデータパスのシフタ・マルチプレクサ対と同
様に構成されている。マルチプレクサ842、846及び850
はそれぞれ信号MB1、MB2及びMB3によって制御される。
マルチプレクサ850により与えられる出力値は選択的2
の補数回路(SEL 2′S COMP)852に供給される。この回
路852は、制御回路814によって与えられる制御信号CPに
応答して入力値或いはその入力値の2の補数の何れかを
レジスタ(REG)854の入力ポートに供給する。第1のデ
ータパスのマルチプレクサ836によって与えられる出力
値は、レジスタ(REG)838の入力ポートに直接供給され
る。レジスタ838及び854の両方は、マイクロコードRAM
・シーケンシング回路226によって与えられるクロック
信号CKBに応答してそれぞれの入力ポートに供給された
値をロードする。レジスタ838及び854によって与えられ
る出力値はそれぞれ加算器856の異なる入力ポートに供
給される。この加算器856によって与えられる値が乗算
器825の出力値となる。
乗算器825は、信号MA1、MA2、MA3、MB1、MB2及びMB3
値が制御されることによって、8分の1から1までの8
分の1ごとの値を持つスケールファクタ(scalefacto
r)で減算器824によって与えられる値を乗算する。表5
はスケール処理した(スケールファクタによって処理し
た)出力値を得るのに必要な種々の制御信号の値の一覧
表である。表5において、MA信号或いはMB信号の1つが
0の制御値を持つ時、対応するマルチプレクサはそれに
応答してシフトされていない値を通過させ、1の制御値
を持つ時、対応するマルチプレクサはそれに応答してシ
フトされた値を通過させる。信号CPの値が1の時、選択
的2の補数回路852はこれに応答して入力ポートに供給
された値の補数をとる。
信号MA1、MA2、MA3、MB1、MB2、MB3及びCPの値は、制御
回路814がレジスタ812によって与えられる制御値に応答
して発生する。
加算器856によって与えられるスケール処理されたピク
セル差値は、レジスタ(REG)857によって与えられるピ
クセル値に加えられる。レジスタ857に保持されるピク
セル値は、マイクロコードRAM・シーケンシング回路226
によって与えられるクロック信号CKBに同期してレジス
タ822からロードされる。減算器824、乗算器825、加算
器856及び加算器858によって行われる作用は次の式
(2)によって表わすことが出来る。
R=SF*(A−B)+B (2) ここで、A及びBはそれぞれレジスタ820及び822に保持
されるピクセル値。SFは、例えばALU244によって制御値
におけるフィールドとして与えられ且つレジスタ812に
保持されるスケールファクタの値。このスケールファク
タSFはMA、MB及びCPの信号を介して乗算器825に供給さ
れる。Rは加算器858によって与えられる値である。式
(2)を代数的に操作すると、従来型の線形補間動作を
表わす式(3)が得られる。
R=SF*A+(1−SF)*B (3) 従って、減算器824、乗算器825、加算器856及び加算器8
58の組合せは線形補間器となる。
加算器858によって与えられる値は、レジスタ(REG)86
0及び862のそれぞれの入力ポートと、マルチプレクサ86
1及び863のそれぞれの第1の入力ポートに供給される。
マルチプレクサ861及び863の第2の入力ポートは、それ
ぞれレジスタ860及び862の出力ポートに結合されてい
る。レジスタ860及び862は、入力ポートに供給された値
をそれぞれクロック信号φ2及びφ1が負方向に移行す
ると同時にロードする。マルチプレクサ861及び863は、
それぞれクロック信号φ2及びφ1が論理1の値を持つ
時、加算器858によって与えられる値を通過させてそれ
ぞれマルチプレクサ816及び818に供給し、クロック信号
φ2及びφ1が論理1の値を持たない時、レジスタ860
及び862に保持される値を通過させる。レジスタ860及び
862とマルチプレクサ861及び863のこの構成によって、
加算器858によって与えられる値をレジスタ860及び820
の両方に或いはレジスタ862及び822の両方に同時にロー
ドできる。これが可能であることの重要性を後で第9C図
を参照しつつ説明する。
加算器858によって与えられるピクセル値はさらに16ビ
ットレジスタ(REG)864の8個のMSB位置と8個のLSB位
置の両方に供給される。レジスタ864の8個のMSB位置は
制御回路814によって与えられる信号LO1に同期してロー
ドされ、レジスタ864の8個のLSB位置は制御回路814に
よって与えられる信号LO0に同期してロードされる。レ
ジスタ864に保持されるピクセル値は、制御回路814によ
って与えられる信号XOに応答してレジスタ(REG)866に
転送される。次にこれらのピクセル値は、バスMCWを介
してレジスタ866に供給されるマイクロコード制御語A S
RCフィールドによって制御されてレジスタ866からバスA
BUSに供給される。
正規動作モードにおいて、ビデオ信号プロセッサ210の
構成部分としてピクセル補間器246は、現在の映像に対
するピクセル値を発生する1つの段階として前の映像の
ピクセル値から補間された疑似ピクセル値を発生する。
第9A図乃至第9C図はピクセル補間器246の動作を示して
いる。
第9A図において、三角形点S00乃至S07及びS10乃至S
17は、入力FIFO232及びデータパス242を介してVRAM216
中のビット・マップから与えられる前の映像の2本の連
続する線からの対応するピクセル値を表わしている。円
形点I00乃至I07は、補間された疑似ピクセル値を表わ
している。第9A図に示されるように、補間された疑似ピ
クセル値は、前の映像のピクセルに対して水平方向にピ
クセル相互間隔の4分の1または垂直方向にピクセル相
互間隔の8分の5だけオフセットされている。
第9B図は、ピクセル補間器246がどのようにバスA BUSに
供給されたデータ値によって制御されて疑似ピクセル値
00乃至I03を発生するかを示している。第9B図で、期
間T0乃至T16はビデオ信号プロセッサ210の17の連続す
る命令サイクルを表わしている。命令サイクルT0中、
マイクロコード制御語のフィールドA DSTは4の値を持
ち、これによってピクセル補間器246は例えばバスA BUS
を介してALU244から供給される16ビット制御値をロード
する。ピクセル補間器246は、この16ビット制御値の8
個のMSB位置に制御されて同相モードで動作する。この
モードにおいて、入力ピクセル値及び対応する出力ピク
セル値は共にVRAM216中の偶数アドレスを持つ。ピクセ
ル補間器246はもう一方のモードである離相モードで動
作することが出来る。この離相モードにおいて、入力ピ
クセルアドレス値は奇数個であり、出力ピクセルアドレ
スは偶数個ある。期間T0においてピクセル補間器246に
供給される制御値は、更にビット0〜3及び4〜7にそ
れぞれ値5及び2を持つ。値2は水平方向のオフセット
或いはスケールファクタ2/8即ち1/4に相当し、値5は垂
直方向の5/8のオフセットに相当する。この実施例で
は、値5及び2は、第1B図に示されるもののような相対
的コードレコードの値ΔX及びΔYの分数部分から得ら
れる。
命令サイクルT1及びT2中、マイクロコード制御語A DS
Tフィールドが5の値を持ち、それぞれピクセル値対S
00、S01及びS10、S11がピクセル補間器246のレジス
タ802へ供給される。命令サイクルT3の間、ピクセル補
間器246に関してバスA BUS上には作業がない。命令サイ
クルT4中、補間されたピクセル値の無効対(X、X)
がピクセル補間器246の出力ポートに得られる。これら
の値は、ビデオ信号プロセッサ210によって無視され
る。
命令サイクルT5及びT6中、それぞれピクセル対S02
03及びS12、S13がピクセル補間器246のレジスタ802
へ供給される。命令サイクルT7中、ピクセル補間器246
に対してバスA BUS上には作業がない。命令サイクルT8
中、補間されたピクセル値の第2の無効対がピクセル補
間器246の出力ポートに得られる。これらの値は無視さ
れる。命令サイクルT9及びT10中、それぞれピクセル
値対S04、S05及びS14、S15がピクセル補間器246の
レジスタ802に供給される。命令サイクルT11中、ピク
セル補間器246に関するバスA BUS上の作業はない。命令
サイクルT12中、マイクロコード制御語のA SRCフィー
ルドは5の値を持ち、これによってピクセル補間器246
は、補間されたピクセル値I00及びI01を表わす16ビッ
ト値をバスA BUSに供給する。
命令サイクルT13及びT16は命令サイクルT9乃至T12
と同様で、ピクセル補間器246に供給されるピクセル値
及びピクセル補間器246によって与えられるピクセル値
が異なるだけである。一般に、マイクロコードシーケン
サ226は、所望の補間された疑似ピクセル値すべてを生
成するのに必要な多数の期間と異なる入出力ピクセル値
とを使用して命令サイクルT9乃至T12中の動作を繰返
す。
この実施例に使用されるピクセル補間器246は高度にパ
イプライン構成された装置である。パイプライン遅延
は、11命令サイクル即ちT1において最初の入力値が供
給されてからT12において最初の有効出力値を与えるま
での間の遅延である。
第9C図は信号タイミング図であり、第9B図に示した例の
制御回路814によって生成される種々の信号のタイミン
グを示している。信号CKA及びCKBは、1つの命令サイク
ル期間中に実質的に等しい期間を持つ離相クロック信号
である。クロック信号CKA及びCKBは、マイクロコードRA
M・シーケンシング回路226によってピクセル補間器246
に供給される。
第8図に示されるピクセル補間器回路246に使用される
レジスタすべては、立下がり端でトリガされる型式であ
る。即ち、これらのレジスタすべては、その入力ポート
に供給された値をそのクロック信号或いはロード信号が
負方向に移行すると同時にロードするように制御され
る。第8図におけるレジスタは、クロック信号CKA或い
はCKBの何れかに同期する。
第9B図及び第9C図を参照する。ピクセル補間器に対する
制御値は信号CKAの負方向変化と一致した命令サイクル
0の期間中レジスタ812にロードされる。この値は命令
サイクルT0の終わりまでに制御回路814中で安定化し、
各信号MA1、MA2、MA3、MB1、MB2、MB3、及びCPに対する
値1、0、0、1、1、1、及び0を供給するように回
路814の動作を設定する。これらの値は5/8のスケールフ
ァクタに相当し、このスケールファクタはこの実施例で
は垂直に配列された対をなすピクセル値相互間を補間す
るために使用される。
ピクセル値の第1の対S00とS01は信号CKAの負方向変
化と一致する命令サイクルT1の期間中にレジスタ802に
ロードされる。これらのピクセル値は信号LR0の負方向
端と一致する命令サイクルT1の終了端でレジスタ806に
転送される。
ピクセル値の第2のS10とS11は命令サイクルT2の期
間中に生ずるクロック信号のCKAの負方向変化と一致し
てレジスタ802にロードされる。これらのピクセル値は
命令サイクルT2の終了時に生ずる信号LR1の負方向変化
と一致してレジスタ804に転送される。
命令サイクルT3の期間中にレジスタ804及び806の8個
のMSB位置に保持されたピクセル値はレジスタ808の各8
個のMSBと8個のLSB位置に転送され、レジスタ804及び8
06の8個のLSB位置に保持されたピクセル値はレジスタ8
10の各8個のMSBと8個のLSB位置に転送される。この転
送は信号XFの負方向変化と一致して行われる。この転送
によった、各レジスタ804及び806中の水平方向に配列さ
れたピクセル値S00、S01及びS10、S11をそれぞれレ
ジスタ808、810中で垂直方向に配列されたピクセル値S
01、S11及びS00、S10に変換する効果が得られる。
サイクルT4の期間中、制御回路814は信号MA1乃至MA3
MB1乃至MB3、及びCPを、5/8のスケールファクタと一致
した値をもつように変更する。制御回路814は、さらに
信号MVとして論理1の値を発生し、信号MLとして論理0
の値を発生して、信号MVによって制御されるマルチプレ
クサ811、信号MLによって制御されるマルチプレクサ816
及び818を、レジスタ810に保持された2個のピクセル値
をレジスタ820、822の各入力ポートに結合するようにす
る。信号CKAの負方向端に一致して、命令サイクルT4
期間中、ピクセル値S00はレジスタ822にロードされ、
ピクセル値S10はレジスタ820にロードされる。命令サ
イクルT4の残りの期間中は、レジスタ820及び822に保
持された値は、前述のように減算器824及びマルチプレ
クサ825の第1及び第2のデータパスを経由して伝播す
る。マルチプレクサ836及び選択的2の補間器852によっ
て供給されるスケール処理されたピクセル差値は、命令
サイクルT4の終了時に生ずる信号CKBの負方向端と一致
して各レジスタ838、854にロードされる。これと同時に
レジスタ822からのピクセル値S00はレジスタ857にロー
ドされる。
命令サイクルT5において、レジスタ838及び854に保持
されたピクセル差分値は加算器856によって加算され
る。得られた和は加算器858においてレジスタ857から供
給されるピクセル値S00と加算される。ピクセル値S10
の5/8倍とピクセル値S00の3/8倍との和を表わす加算器
858によって与えられた和は信号φ1の負方向端と同期し
てレジスタ862に記憶される。
また、命令サイクルT5の期間中、バスA BUSを経て供給
されるピクセル値S02とS03はレジスタ802にロードさ
れ、次いで信号LR0の負方向変化と同期してレジスタ806
に転送される。命令サイクルT6の期間中、ピクセルS
12及びS13はバスA BUSに供給され、レジスタ802にロー
ドされ、次いで信号LR1の負方向変化と同期してレジス
タ804に転送される。
命令サイクルT6の中間において、レジスタ808に保持さ
れたピクセル値S01及びS11はマルチプレクサ811、816
及び818を経て各レジスタ822、829に供給されて、信号C
KAの負方向端に応答してこれらの各レジスタにロードさ
れる。これらのピクセル値は命令サイクルT6の残りの
期間中と命令サイクルT7の第1の半部の期間中に減算
器824、マルチプレクサ825、レジスタ857及び加算器858
を通って伝播される。
命令サイクルT7の第1の半部の期間中、各レジスタ80
6、804に保持された水平に配列されたピクセル値S02
03及びS12、S13は垂直に配列されたピクセル値
02、S12及びS03、S13に変換されて、命令サイクル
7の中間点で生ずる信号XFの負方向変化と同期して各
レジスタ810、808に記憶される。
命令サイクルT7の期間中に加算器858によって供給され
た垂直に補間されたピクセル値(S01、S11)はレジス
タ860にロードされ、さらにマルチプレクサ861及び816
を経由して、命令サイクルT7の中間点で生ずる信号CKA
の負方向端に同期してレジスタ820にロードされる。信
号MLは、マルチプレクサ861から供給された値をレジス
タ820に通過させるようにマルチプレクサ816を動作さ
せ、またマルチプレクサ863によって供給された垂直に
補間されたピクセル値(S00、S10)をレジスタ822に
供給するようにマルチプレクサ818を動作させる。この
ピクセル値は命令サイクルT7の中間点で生ずるクロッ
ク信号CKAの負方向変化と同期してレジスタ822にロード
され、信号MA1乃至MA3、MB1乃至MB3及び信号CPは、1、
0、0、1、1、0及び1の各値をもつように変化させ
られる。これらの値は縮小率1/4に相当する。命令サイ
クルT7の第2の半部の期間中及び命令サイクルT8の第
1の半部の期間中、減算器824、マルチプレクサ825及び
加算器858は、この垂直補間されたピクセル値の対から
ピクセル値を水平補間してピクセル値I00を生成する。
この値I00は、命令サイクルT8の中間点で発生するLO0
の負方向端と一致してレジスタ864の8個のLSB位置に記
憶される。
また、命令サイクルT8の期間中にレジスタ810に保持さ
れたピクセル値S02、S12の対はマルチプレクサ811、8
16及び818を経て各レジスタ822、820に転送される。こ
れらのピクセル値は命令サイクルT8の中間点で生ずる
信号CKAの負方向変化と同期してレジスタ822及び820に
転送される。命令サイクルT8の残りの期間及び命令サ
イクルT9の第1の半部の期間中に、減算器824、マルチ
プレクサ825及び加算器858は対をなすピクセル値S02
12から垂直補間されたピクセル値を計算する。この補
間されたピクセル値は、命令サイクルT9の中間点で生
ずる信号φ1及びCKA各負方向変化と同期してレジスタ86
2及び822にロードされる。命令サイクルT9の残りの期
間及び命令サイクルT10の第1の半部の期間中に、水平
補間されたピクセル値I01は、マルチプレクサ861及び8
63によって供給された垂直補間されたピクセル値から発
生される。信号MA1乃至MA3、MB1、乃至MB3、及びCPは、
命令サイクルT9の期間中に各々0、0、0、1、1、
0及び1の値をもつようにセットされる。これらの値は
スケールファクタ3/4に相当する。ピクセル値I01は、
命令サイクルT10の中間点で生ずる信号LO1の負方向変
化と同期してレジスタ864の8個のMSB位置に記載され
る。ピクセル対I00、I01は、信号XOの負方向変化と同
期して命令サイクルT10の終了時にレジスタ864からレ
ジスタ866に転送される。
また、命令サイクルT10の中間点において、レジスタ80
8に保持されたピクセル値S03及びS13は、信号CKAの負
方向端と同期して各レジスタ822及び820にロードされ
る。命令サイクルT10の残りの期間及び命令サイクルT
11の第1の半部の期間中、垂直補間されたピクセル値が
ピクセル値S03及びS13から生成される。このピクセル
値は、命令サイクルT11の中間点で発生する各信号φ2
及びCKAの負方向変化と同期してレジスタ860及び820に
記憶される。
命令サイクルT9及びT10の期間中、各ピクセルS04
05及びS14、S15は各レジスタ806、804にロードされ
る。命令サイクルT11の中間点で、これらのピクセル値
は垂直配列されたピクセル対S04、S14及びS05、S15
に配列され、これらは各レジスタ810、808に記憶され
る。
命令サイクルT11の第2の半部と命令サイクルT12の第
1の半部の期間中に、減算器824、マルチプライヤ825及
び加算器858はピクセル値I02を計算し、該ピクセル値
02は命令サイクルT12の中間点で生ずる信号LO0の負
方向変化と同期してレジスタ864の8個の位置に記憶さ
れる。また、命令サイクルT12の中間点において、ピク
セル対I00、I01はレジスタ860からバスA BUSに供給さ
れる。
命令サイクルT12及びT13の期間中、垂直補間されたピ
クセル値はピクセル対S04、S14に対して生成される。
この補間されたピクセル値は、命令サイクルT13の中間
点で生ずる信号φ2及びCKAの各負方向変化と同期してレ
ジスタ860及び820にロードされる。命令サイクルT13
びT14の期間中に、ピクセル値I03は3/4のスケールフ
ァクタを使用して発生される。このピクセル値は命令サ
イクルT14の中間点においてレジスタ864の8個のMSB位
置に記憶される。命令サイクルT14の終了時に、ピクセ
ル対I02、I03はレジスタ864からレジスタ866に転送さ
れる。このピクセル対は命令サイクルT16の期間中にバ
スA BUSに供給される。
ピクセル補間器246を駆動する信号は4つの命令サイク
ル毎にくり返す。例えば、命令サイクルT13乃至T16
対する信号は命令サイクルT9乃至T12に対する命令と
同じである。この信号くり返しのシーケンスは所望の数
の疑似ピクセル値を生成するのに必要な回数をくり返さ
れる。
水平補間されるべき1対のピクセル値の第1の垂直補間
されたピクセル値はレジスタ820、822を交互に占有す
る。その結果、加算器858においてスケール処理された
垂直補間差値に加算される垂直補間された値は、連続す
る水平補間値を発生するために合成される垂直補間され
た値の連続する対の第1及び第2の垂直補間値間で交番
する。水平補間の計算のためにこの交番を適合させるた
めに、制御回路814は信号MA1乃至MA3、MB1乃至MB3、及
びCPに対してスケールファクタSFH及び(1−SFH)に対
応する値を交互に供給する。ここで、SFHは水平補間ス
ケールファクタである。この例では、1対の第1のピク
セル値がレジスタ822にあるときは、1/4の水平補間率は
正しい疑似ピクセル出力値を生成する。しかしながら、
1対の第1のピクセル値がレジスタ820にあるときは、
水平補間率は3/4に変化させられて正しい疑似ピクセル
出力値を発生する。
上述の説明では、命令サイクルT0の期間中にピクセル
補間器246に供給される制御値は補間器を同相モードで
動作するように設定する。第9D図及び第9E図は離相モー
ドのピクセル補間器の動作を説明するものである。上述
のように、離相モードは、入力ピクセル対のアドレスが
VRAM216中の16ビット値のアドレスと一致しないときに
ピクセル補間器246に対して選ばれる。この状態は、対
をなす入力ピクセル値がVRAM語の境界を横切って分割さ
れるときには生ずる。第9E図はこの状態を示している。
ピクセル補間器246の同相モードと離相モードにおける
動作の基本的な相違が第9E図と第9F図に示されている。
第9E図に示すように、ピクセル値I00及びI01は、その
同相モードに示すように命令サイクルT12の期間中より
もむしろ命令サイクルT16の期間中に出力レジスタ866
において得られる。この動作の変更は、第9F図に示すよ
うに、信号LO0とLO1とを切換え、信号XOを信号CKAの2
周期だけ遅延させることによって達成される。
ピクセル補間器246はビデオ映像に対する空間的補間ピ
クセル値用装置として説明されているが、このピクセル
補間器246はさらに一般的には、水平方向、垂直方向の
いずれかにおけるピクセル値を平均するためにも使用す
ることができる。この機能は各種の濾波演算方式におい
て有用である。例えば、第9A図のピクセル値がS00、S
01、S00、S01、S02、S03、S02、S03等のシーケン
スでピクセル補間器246に供給されると、補間器によっ
て与えられる出力値は、水平方向にのみ補間あるいは平
均されるピクセルを表わす。
上述の説明及び第8A図、第8B図、第9A図乃至第9F図を見
れば、デジタルビデオ信号処理回路設計の技術分野の技
術者にとっては、ピクセル補間器246として使用するの
に適した回路を設計し、製造することは容易である。
VRAM216に保持されたピクセル値及びデータは、統計的
デコーダ230、入力FIFO232及び234、出力FIFO236を経て
ビデオ信号処理器210によってアクセスされる。これら
の装置を使用してVRAM216に関して実行されるすべての
データの読出し及びデータ書込み動作はVRAM制御ユニッ
ト238によって調整される。統計的デコーダ及び各FIFO
は関連するVRAMアドレス及び制御値をもっている。マイ
クロコード・シーケンサ226はFIFOのパラメータを初期
化し、その後各FIFOは自動的に動作を開始する。ビデオ
信号プロセッサ210から見ると、3個の入力命令と1個
の出力命令とが存在する。これらの3個の入力命令は統
計的デコーダ230、入力FIFO232あるいは入力FIFO234か
らピクセル値を受取ることであり、出力命令は出力FIFO
236にピクセル値を送ることである。これらの装置はそ
れぞれVRAM216へ、あるいはVRAM216から23ビット語用の
メモリアクセス要求を発生し、また、8あるいは16ビッ
トピクセル値とVRAM216に記憶された32ビット語との間
の変換、あるいは統計的にコード化されたデータをピク
セル値に変換するために必要なパッキング(Packing)
あるいはアンパッキング(Unpacking)を行う。
統計的デコーダ230はVRAM216に保持された可変長コード
化デーダを16ビット2進値に変換し、該16ビット2進値
はマイクロコード制御語のB SRCのフィールド中の14の
値に応答してバスB BUSに供給される。第10A図は統計的
デコーダ230として使用するのに適した回路のブロック
図を示す。
第13A図を参照して以下に説明するように、統計的デコ
ーダ230に対するVRAM216をアクセスするために使用され
るアドレス値は、例えば、データRAM228から2段階でVR
AM制御ユニット238にロードされる。第1段階で、22ビ
ットのアドレス値の8個のMSB位置を表わす値は、マイ
クロコード制御語B DSTフィールドが31の値をもってい
る間にバスB BUSに供給される。次に、アドレス値の14
個のLSB位置は、B DSTフィールドが30の値をもっている
間にバスB BUSに供給された値の14個のMSB位置からロー
ドされる。マイクロコード制御語のB DSTフィールド中
の30の値は、統計的デコーダ230をリセットし、統計的
デコーディング動作を初期化するように制御回路1018を
動作させる。
命令の代表的なシーケンスは次のように進行する。2つ
の連続する命令サイクルの期間中、アドレス値の8個の
MSB及び14個のLSBはそれぞれVRAM制御ユニット238中の
1対のレジスタにロードされる。アドレス値の14個のLS
Bがロードされる同じ命令サイクル中に、統計的デコー
ダ230はリセットされ、動作を開始する。
リセット動作は、フリップ・フロップ1017に対する信号
RVとして論理1の値を供給する制御回路1018によって行
われ、出力レジスタ1016に保持された8ビット値を無効
なものとしてマークする。同時に、制御回路1018はパル
ス信号RDRを発生して、これをフリップ・フロップ1022
のセット入力端子Sに供給する。この動作によってフリ
ップ・フロップ1022の出力信号SDRを論理1の値に変化
させる。信号SDRはバスR/Sを経てVRAM制御ユニット238
に供給されて、VRAM216中のアドレスされた位置におけ
る読出し動作を要求する。フリップ・フロップ1022の出
力信号SDRは制御回路1018にも供給されて、データがVRA
M216から要求されていることを指示する。
VRAM制御ユニット238が要求された読出し動作を処理
し、VRAM216が要求された32ビット値をバスD BUSに供給
すると、VRAM制御ユニット238はバスR/Sを経て供給され
るパルス状ストローブ信号SDSを発生する。この信号は
レジスタ1010を、バスD BUSからの32ビット値をロード
するように動作させる。信号SDSはまたフリップ・フロ
ップ1022のリセット入力端子Rにも供給されて、32ビッ
トデータ値がレジスタ1010にロードされたとき、信号SD
Rの状態を論理0に変化させる。SDSが論理0になって信
号CKの1周期の1/2の期間後、制御回路1018は信号SRLを
発生し、レジスタ1010からの32ビット値をシフトレジス
タ1012に供給し、カウンタ1020に保持された値を0にリ
セットする。
統計的デコーダ230は、常にVRAM216から読出された32ビ
ット値のLSBと共にそのデコーディング動作を開始す
る。以下に述べるように、入力FIFO232及び234と、出力
FIFO236は、VRAM216から読出され、あるいはVRAM216に
書込まれる4バイト値から転送されるべき最初のバイト
としてバイト位置の値を特定する。これらの装置に対す
るバイト位置の値は、24ビットのアドレス値の2個のLS
B位置としてコード化される。この発明の実施例では、
統計的デコーダ230はこのバイト位置の値を無視する。
その結果、統計的デコーダ230に供給されるデータは、V
RAM216中の32ビット語のLSB位置と共に開始すると仮定
される。
制御回路1018がレジスタ1010からの32ビットデータ値を
転送するためのパルス信号SRLを発生するときは、該制
御回路1018は記憶されたアドレス値を増加させるように
VRAM制御ユニット238を動作させるパルス信号RDRを発生
して、VRAM216からの次の連続する32ビットデータ値を
レジスタ1010に供給する。パルス信号SRL及びRDRが発生
して信号CKの1周期の1/2の期間後に、回路1018は信号E
Nとして論理1の値を統計的デコーディング回路1014に
供給し、回路1014にシフトレジスタ1012中に保持された
値のデコーディングを開始させる。
この発明の実施例で使用される統計的デコーディング回
路1014は、例えば、ここに参考として示す米国特許第4,
396,906号、発明の名称「デジタル・ハフマン・エンコ
ーディングの方法と装置(Method and Apparatus for D
igital Huffman Encoding)」の明細書に記載されてい
る形式のものでよい。回路1014は可動化(イネイブル)
されると、システム・クロック信号CKを信号SRCKとして
シフトレジスタ1012及びカウンタ1020にゲートする。シ
フトレジスタ1012は、信号SRCKの各サイクル毎に、LSB
位置から開始し、MSB位置に向けて続く上記シフトレジ
スタ1012が保持する値の1ビットを供給する。各ビット
がシフトレジスタ1012によって供給されると、カウンタ
1020中の値は1だけ増加される。
統計的デコーディング回路1014が充分な数のビットを処
理して16ビットの出力値を発生すると、換言すれば、統
計的デコーディング回路1014が1個の可変長コード化さ
れた値をデコードすると、該統計的デコーディング回路
1014はデコードされた16ビット値を出力レジスタ1016の
入力ポートに供給し、さらに論理1の値を信号RDYとし
て制御回路1018に供給する。これによって制御回路1018
はパルス信号ORLを発生して、回路1014によって供給さ
れた値を出力レジスタ1016にロードし、フリップ・フロ
ップ1017をセットして、レジスタ1016によって保持され
たデータを有効なものとする。
出力レジスタ1016に保持された値が、値14または15をも
ったB SRCフィールドを有するマイクロコード制御語を
使用してバスB BUSに対する信号源としてアクセスされ
ると、このデコーディング動作は完了する。制御回路10
18がB SRCフィールド中でこの値を検出した後、次のク
ロック期間で、制御回路1018はパルス信号RVを発生し、
レジスタ1016に保持されたデータを無効なものとしてマ
ークする。B SRCに対する14の値はより多くのデータ値
を持つことを示し、15の値はアクセスされたデータ値が
シーケンスの最後であることを指示する。
上述の説明では、レジスタ1016中のデータは、それが有
効になるまでアクセスされないと仮定している。無効デ
ータ(例えばB SRC=14、ORV=0)をアクセスするため
の試みがなされると、制御回路1018はパルス信号PRを発
生する。このパルス信号PRはフリップ・フロップ1023の
セット入力端子Sに供給される。パルス信号PRが発生さ
れると、フリップ・フロップ1023の出力信号SDPAは論理
1の値に変化する。この信号は休止(ポーズ)論理240
に供給されて、マイクロコードRAM及びシーケンサ226に
よってビデオ信号プロセッサを休止状態にする。この信
号SDPAはさらにアンド・ゲート1025の一方の入力端子に
供給され、その他方の入力端子は信号SDRを受信するよ
うに結合されている。もしSDR、SDPAの双方が論理1の
値をもっていると、アンド・ゲート1025の出力信号SDP
は論理1になる。この信号は休止論理240を経てVRAM制
御ユニット238に供給されて要求された読出し動作の優
先度を増加させる。信号SPDは統計的デコーダ230からの
緊急読出し動作要求信号である。制御回路1018が信号OR
Lを休止してレジスタ1016に保持された値を有効なもの
としてマークすると、信号SDPAは論理0になって休止状
態を解く。
上述の例は統計的デコーダ230の内部動作を、1個の16
ビット出力値を生成する場合について説明した。一般に
は、デコーダ230は一連のこのような値を生成する。こ
のシーケンスの第1の値を生成するために、第10図に示
す回路は上述のように動作する。一旦その値が出力レジ
スタ1016に転送されると、制御回路1018は論理1の値を
信号ENとして供給して、統計的デコーディング回路1014
を付勢し、次のデコードされた値を発生させる。第1の
デコードされた値が出力レジスタ1016からアクセスされ
ると、信号ORVは論理値0をもつように変化させられ、
制御回路1018はパルス信号ORLを発生して第2の値をロ
ードする。第1の値がアクセスされたとき第2の値がデ
コードされていないと、信号RDYが統計的デコーディン
グ回路によって論理1の値に変化されるまで制御回路10
18はパルス信号ORLを発生しない。この動作シーケンス
は、マイクロ制御語のB SRCフィールド中の15の値を使
用して出力レジスタ1016中の値がアクセスされるまでく
り返される。出力レジスタ1016中の値が、そのB SRCフ
ィールド中の15の値をもったマイクロコード制御語に応
答してアクセスされると、制御回路1016は信号ENの値を
論理0に変化させることによって統計的デコーディング
回路230の動作を終了させる。デコーダ230で使用される
VRAMのアドレス値の14個のLSB位置に対する新しい値が
設定されるまでデータは統計的デコーダ230を用いてア
クセスされることはない。
上述のデコーディング動作のいずれにおいても、必要に
応じて32ビットのデータ値がVRAM216からレジスタ1010
に供給される。カウンタ1020がそのときの32ビット値の
MSBが回路1014に供給されたことを示す31の値をもつよ
うに増加されると、制御回路1018はパルス信号SRLを発
生してレジスタ1010からの次の32ビット値をシフトレジ
スタ1012に転送して、カウンタ1020の値をリセットす
る。同時に制御回路1018はパルス信号RDRを発生して、V
RAM216から次の連続する32ビット値を要求する。
カウンタ1020中の値が31に等しいとき、信号SDRの値が
論理1であると、レジスタ1010を満たすための読出し動
作は未だ完了していないので、制御回路1018はレジスタ
1010からの値をレジスタ1012に転送することはできな
い。この例では制御回路1018は信号ENを論理0の値をも
つように変化させ、デコーディング回路1014を非可動化
する。要求された読出し動作が完了すると、制御回路10
18はパルス信号SRLを発生してレジスタ1010からの新し
い32ビット値をレジスタ1012に転送し、信号ENの値を論
理1に変化させ、パルス信号RDRを発生する。これらの
信号は統計的デコーダ230を付勢して正規の動作を再開
させ、VRAM216から新しい32ビットの値を要求する。
第10B図は2個のデータ値がデコードされるときの制御
回路1018によって生成される信号の相対的タイミングを
示すタイミング図である。
第10A図及び第10B図、さらに上述の説明から明らかなよ
うに、デジタル処理回路の当業者にとっては統計的デコ
ーダ230として使用するのに適した回路を設計し、制作
することは容易なことである。
入力FIFO232及び234は、ビデオ信号プロセッサ210がそ
のピクセル処理素子を用いて処理するために、VRAM216
用のランダムな8ビットまたは16ビット値を読出すよう
にし、あるいは一連の8ビットまたは16ビット値を読出
すようにする。ランダムモード、シーケンシャルモード
のいずれの場合も、マイクロコードRAM及びシーケンサ
回路226によって実行されるマイクロコード制御語命令
はVRAM制御ユニット238に初期アドレス値を供給する。
選択された入力FIFOはVRAM制御ユニット238を経てVRAM2
16をアクセスし、マイクロコードRAM及びシーケンサ226
による別の干渉なしに要求された1あるいは複数の値を
バスB BUSに供給する。
例えばデータRAM228によって供給されたFIFO232、234に
対する開始アドレス値は、統計的デコーダ230に対する
アドレス値が特定される態様と同じ態様でVRAM制御ユニ
ット238において発生される。アドレス値の8個のMSB位
置は、23及び27の各値をもったマイクロコード制御語の
B DSTフィールドに応答して、バスB BUSを経由して各入
力FIFO232及び234に転送される。入力FIFO232及び234用
のアドレス値の14個のLSB位置は、マイクロコード制御
語のB DSTがそれぞれ22及び26の値をもったとき、バスB
BUSに供給される値の14個のMSB位置から転送される。B
DSTフィールドが22及び26の値をもつとき、バスB BUS
に供給される値の2個のLSB位置は各入力FIFO232及び23
4内に記憶される。これらの2個のビットによって表わ
される値は、バスB BUSに供給されるべき第1のバイト
としてVRAM216によって与えられる4個のバイト値の特
定のバイトをポイントする。
第11A図は入力FIFO232あるいは234のいずれかとして使
用するのに適した回路を示すブロック図である。以下で
はFIFO232用の回路について説明する。入力FIFO234に関
する説明をも含ませるために、FIFO232の説明と異なる
部分については、その変更部分を括弧書きした。第11A
図に示す回路は、入力FIFOがランダムモードで動作する
ようにセットされたれ正規動作シーケンスに関して説明
されている。この説明の後にFIFOがシーケンシャルモー
ドで動作するようにセットされたときに動作シーケンス
の変更について説明されている。
シーケンスの第1のステップで、そのB DSTフィールド
における21(FIFO234に対しては29)の値をもったマイ
クロコード制御語を使用してB BUSに制御値を供給す
る。このB DST値に応答して、例えばALU244によって供
給される制御値はレジスタ1112にロードされる。この例
で使用される制御値は入力FIFO232をそのシーケンシャ
ルモードとは対照的にそのランダムモードで動作させる
ようにし、バスB BUSに16ビット値ではなく8ビット値
を供給する。
シーケンスの次のステップで、前述のようにVRAM制御ユ
ニット238中でFIFO232内のアドレス値を設定する。FIFO
232内のレジスタ1110は22(26)の値をもったマイクロ
コード制御語のB DSTフィールドに応答してバイト位置
の値、すなわちバスB BUSを経由して供給される16ビッ
トアドレス値の2個のLSBをロードする。制御回路1116
はまたこのB DSTフィールドの値によって、入力FIFO232
を初期状態にリセットし、VRAM読出し動作を開始させる
ように設定される。
このリセット動作では、制御回路1116はパルス信号COを
発生してフリップ・フロップ1134をリセットする。信号
CKの1周期の1/2の期間の後、制御回路1116はパルス信
号PCを発生して、レジスタ1110からのバイト位置の値を
カウンタ1128とフリップ・フロップ1132にロードする。
この動作信号CKの1周期1/2の期間後、制御回路1116は
フリップ・フロップ1133のセット入力端子Sに供給され
るパルス信号IRを発生する。フリップ・フロップ1133に
よって発生された信号FIFOは制御バスR/Sを経てVRAM制
御ユニット238に供給され、該VRAM制御ユニット238をVR
AM216中のアドレスされたメモリ位置に対する読出し動
作を開始させるようにする。信号FIFOはまた制御回路11
16に供給されて、読出し動作が進行中であることを指示
する。
VRAM制御ユニット238が読出し動作を処理し、またVRAM2
16が要求されたデータをバスD BUSに供給すると、VRAM
制御ユニット238はバスR/Sを経て供給されるパルス状ス
トローク信号FIFOを発生し、バスD BUSからの32ビット
値をロードするようにレジスタ1118を動作させるように
する。信号IFOSはさらにフリップ・フロップ1133のリセ
ット入力端子Rに供給されて、フリップ・フロップ1133
の内部状態をリセットし、メモリの読出し動作が完了し
たことを示す信号IFORを論理値0にリセットする。
信号IFORが論理0になった後、信号CKの第1の周期の期
間中、制御回路1116はパルス信号LRを発生して、レジス
タ1118に保持された32ビットの値をレジスタ1120に転送
する。
レジスタ1120のビットは、それぞれビット0〜7、8〜
15、16〜23、24〜31を包含する4個の8ビットセグメン
トB0、B1、B2、B3に分割される。8ビットの値B0、B1、
B2、B3はマルチプレクサ1124の各異なる入力ポートに供
給される。マルチプレクサ1124はカウンタ1128によっ
て、またはマルチプレクサ1130によって供給される値に
よって制御されて、その入力に供給される4つの値の1
つを出力レジスタ1114の8個のLSB位置に供給する。
この例では、レジスタ1112の制御値は、8ビット値は出
力レジスタ1114によって与えられるものであることを示
す。その結果、制御回路1116は信号MXCとして論理値1
をマルチプレクサ1126に供給する。信号MXCのこの値
は、マルチプレクサ1126がカウンタ1128に保持された値
をマルチプレクサ1124の制御入力ポートに供給する。第
1のバイト位置の値であるこの値は、マルチプレクサ11
24がアドレスされたバイト出力レジスタ1114の8個のLS
B位置に供給するように動作させる。パルス信号LRの発
生後信号CKの次の連続する周期の間に、制御回路1116は
パルス信号LLを及びRHを発生し、マルチプレクサ1124に
よって供給された値をレジスタ1114の8個のLSB位置に
ロードし、レジスタ1114の8個のMSB位置をリセット
し、フリップ・フロップ1134をセットする。フリップ・
フロップ1134にセットされるので、その出力信号のOV
は、出力レジスタ1114の値が有効であることを示す論理
1である。
この例に対する動作のシーケンスは、マイクロコードRA
M及びシーケンサ回路226がB SRCフィールドが12の値
(入力FIFO234に対しては13の値)をもつマイクロコー
ド制御語を実行するとき完了する。レジスタ1114に供給
されたこの値はレジスタがその記憶された値をバスB BU
Sに供給するようにする。制御回路1116はまたB SRCフィ
ールドの12(13)の値に応答してパルス信号COを発生
し、またそれによってフリップ・フロップ1134をリセッ
トして、出力レジスタ1114中の値を無効なものとしてマ
ークする。
制御レジスタ1112中の値が、16ビット値がバスB BUSに
供給されるべきであることを指示すると、制御回路1116
は論理0の値を信号MXCとしてマルチプレクサ1126の制
御入力端子に供給する。この制御値は、マルチプレクサ
1126がマルチプライヤ1130によって供給される値をマル
チプレクサ1124の制御入力ポートに供給するように条件
付ける。
マルチプライヤ1130はフリップ・フロップ1132の出力端
子に結合されている。上述のように、フリップ・フロッ
プ1132はレジスタ1110に記憶されたバイト位置の位のMS
Bにプリセットされる。この1ビットの値はマルチプラ
イヤ1130によって上位桁に向けて1ビット位置シフトさ
れる(つまり2倍にされる)。従って、マルチプレクサ
1124によって与えられる値は2か0のいずれかである。
かくして、マルチプレクサはバイトB0あるいはB2のいず
れかを出力レジスタ1114の8個のLSB位置に供給する。
フリップ・フロップ1132の出力端子はさらにマルチプレ
クサ1122の制御入力端子に結合されている。マルチプレ
クサ1122はレジスタ1120のB3及びB1セクションに結合さ
れている。フリップ・フロップ1132によって与えられる
値が論理0あるいは論理1であると、マルチプレクサ11
22はレジスタ1120の各B1またはB3セクションに保持され
た値はレジスタ1114の8個のMSB位置に供給する。16ビ
ットモードでは、制御回路1116は同時にパルス信号LL及
びLMを発生して、選択された8個のMSB及び8個のLSBの
双方をレジスタ1114にロードする。この値がBSRCフィー
ルド中の12(13)の値を持ったマイクロコード制御語に
よってアクセスされると、VRAM216によって与えられる3
2ビットの値の16個のMSBあるいは16個のLSBが読出され
るようになる。レジスタ1110中に保持されたバイト位置
の値が1または3であると、それはそれぞれ0あるいは
2と解釈され、バイトB1またはB2を含む16ビットの値は
この発明の実施例で使用される入力FIFO232及び234によ
って供給されない。
上述の例では、入力FIFOに供給される制御値は、該入力
FIFOをランダムモードで動作させるように設定する。こ
のモードでは、FIFOはアドレスされた値のみをバスB BU
Sに供給する。そのシーケンシャルモードでは、入力FIF
O232及び234は、VRAM216中の特定されたアドレスを有す
る値から開始し、順次に連続してより大きな値に向かっ
て変化する連続する値を供給する。シーケンシャルモー
ドにおけるFIFO232及び234の動作については、そのラン
ダムモードにおける動作との違いについて説明する。
ランダムモードとシーケンシャルモードの第1の相違点
は、シーケンシャルモードでは、制御回路1116がパルス
信号LRを発生して新しい32ビットの値をレジスタ1120に
ロードすると、該制御回路1116はVRAM216から次の新し
い32ビットの値を要求するためにパルス信号IRを発生す
る。
ランダムモードでは、カウンタ1128とフリップ・フロッ
プ1132は、レジスタ1110に記憶されたバイト位置の値を
保持するためのレジスタとしてのみ使用される。シーケ
ンシャルモードでは、カウンタ1128及びフリップ・フロ
ップ1132は、レジスタ1120からの連続する8ビットある
いは16ビットの値をそれぞれ出力レジスタ1114に順次供
給するために使用される。カウンタ1128はプリセット値
入力ポート及びプリセット入力端子をもった通常の2ビ
ット2進カウンタである。プリセット入力端子に供給さ
れるパルス信号が発生すると、カウンタ1128は、そのプ
リセット値入力端子に供給される値をその内部値として
ロードするように設定される。フリップ・フロップ1132
は通常のトリガ形式あるいはTフリップ・フロップであ
る。このフリップ・フロップはプリセット値を有し、入
力端子に供給される信号によって上述のように動作する
ように設定されるプリセット入力端子をもっている。制
御回路1116によって発生されるクロック信号CCKはカウ
ンタ1128及びフリップ・フロップ1132の双方のクロック
信号入力端子に供給される。クロック信号CCKの連続す
るパルスに応答して、カウンタ1128はその内部の値CVを
値0、1、2、3を経て循環させる。フリップ・フロッ
プ1132は信号CCKの連続するパルスに応答して、その内
部の状態を0と1との間で変化させる。この発明の実施
例では、入力FIFOがそのシーケンシャルモードにあると
き、信号CCKは信号LLと同じであり、FIFOがそのランダ
ムモードにあるときは、信号CCKは一定の論理0値を持
つ。その結果、値が出力レジスタ1114にロードされるや
否や、カウンタ1128あるいはフリップ・フロップ1132
は、マルチプレクサ1122及び1124を、次のシーケンシャ
ル値をレジスタ1114の入力ポートに供給するように設定
する。新しい値が出力レジスタ1114にロードされる毎に
該レジスタ1114の入力ポートに供給される値は変化する
ので、レジスタ1114中の値がバスB BUSに供給されるや
否や上記の供給された値は出力レジスタにロードされ
る。
カウンタ1128の出力値CVは制御回路1116に供給される。
この制御回路1116はこの信号をモニターして、レジスタ
1118からの32ビット値を何時レジスタ1120に転送すべき
かを決定する。レジスタ1112中に保持された制御値が、
入力FIFO232がその8ビットモードで動作していること
を指示すると、制御回路1116はパルス信号LRを発生し
て、信号CVの値が3から0に変化すること(すなわち信
号CVのMSBが1から0に変化するとき)と一致してレジ
スタ1118からの32ビット値をレジスタ1120に転送する。
入力FIFOが16ビット・モードで動作しているとき、信号
CVの値が1から2、あるいは3から0に変化すると(す
なわち信号CKのLSBが1から0に変化すると)、制御回
路1116はパルス信号LRを発生する。
上述の例では、VRAM制御ユニット238及びVRAM216は定常
ストリーム中で入力FIFO232及び234に32ビットデータ値
を供給するものと仮定している。信号CVの値が3から0
に変わるとき、このストリームが遮断されるべきであ
り、また、例えば信号IFORが読出し動作が進行中である
ことを示す論理値1の値をもっていると仮定すると、制
御回路1116はパルス信号LRを発生しない。この例では、
信号IFORが、要求されたVRAMの読出し動作が行われ、従
ってレジスタ1118が有効なデータを含んでいることを示
す論理0の値に変化するまで回路1116はその初期状態を
凍結する。信号IFORが0になると、制御回路1116はその
動作を再開する。
制御回路1116の内部状態が凍結されている間、レジスタ
1114の内容をバスB BUSに読出す要求を受信すると(す
なわち、B SRC=12)、制御回路1116はフリップ・フロ
ップ1135のセット入力端子Sに供給されるパルス信号IP
を発生する。この動作によりフリップ・フロップ1135に
よって供給される信号IFOPAの状態を論理1に変化させ
る。信号IFOPAは休止論理回路240に供給され、該休止論
理回路240はマイクロコードRAM及びシーケンサ回路210
を休止状態にするように設定する。第3A図を参照して前
に説明したように、クロック信号CKA及びCKBは休止状態
で無効状態にされて、データパス回路242、ALU244、デ
ータRAM228及びピクセル補間器246の内部状態を有効に
凍結する。信号IFOPA及び信号IFORはANDゲート1136の入
力端子に供給される。これらの信号の両方が、読出し動
作が要求され、プロセッサ210が入力FIFO232からの値を
持つ休止状態にあることを示す論理1の値をもっている
と、ANDゲート1136の出力信号IFOPは論理1に変化す
る。信号FIOPは休止論理240を経てVRAM制御ユニット238
に供給される。信号IFOPに対する論理1の値は、緊急要
求すなわち優先度が高くなったものとしてFIFO232に対
する読出し要求動作を処理するようにVRAM制御ユニット
238を設定する。読出し動作が完了すると、信号IFOSは
フリップ・フロップ1133をリセットし、信号IFOR及びIF
OPの論理0の値に変化させる。レジスタ1118からの要求
値が出力レジスタ1114に伝播されると、制御回路1116は
フリップ・フロップ1134をセットし、その出力OVはフリ
ップ・フロップ1135をリセットしてプロセッサ回路210
をその休止状態から解放する。
第11B図は入力FIFO232の2個の連続する8ビットデータ
要求に対して制御回路1116によって発生された信号の相
対的タイミングを示すタイミング図である。
出力FIFO236は入力FIFO232及び234によって実行された
機能と本質的に反対の機能を実行し、該出力FIFO236
は、ビデオ信号プロセッサ210のピクセル処理素子から
一度に1バイトあるいは2バイトのデータを受入れ、こ
のデータを32ビットのブロックに形成して、このブロッ
クをVRAM216に転送する。出力FIFO236は、1個の8ビッ
トまたは16ビットのデータの値が与えられたアドレス値
を使用してVRAM216に書込まれるランダムモードと、一
連の8ビットまたは16ビットのデータの値が連続的に増
加するアドレス値を使用して書込まれるシーケンシャル
モードの2つの動作モードをもっている。
ランダム転送のために使用されるアドレス値あるいはシ
ーケンシャル転送のために使用される開始アドレス値
は、統計的デコーダ230と入力FIFO232及び234とについ
て前に説明した態様と同じ態様でVRAM制御ユニット238
中で設定される。8個のMSB用に使用されるB DSTフィー
ルドの値、22ビット・アドレス値の14個のLSBはそれぞ
れ15、14である。B DSTが14のとき、バスB BUSに供給さ
れる16ビットの値の2個のLSBの位置の値は出力FIFO236
内部のレジスタに記憶される。この値は、VRAM216に供
給された32ビット(4バイト)の最下位バイト、あるい
は書込まれるべき唯一のバイトとなる特定のバイト位置
をポイントする。出力FIFO236及びVRAM制御ユニット238
は、VRAM216に書込まれない32ビット値中の他のバイト
位置に対応するVRAM216中のデータの劣化を防止する回
路を含んでいる。
第12A図は出力FIFO236として使用するのに適した回路を
示すブロック図である。この回路は、予め定められたア
ドレス値を使用して1個の8ビット値がVRAM216に書込
まれるべきランダムモードにおける正規の動作シーケン
スについて示されている。この説明の後に、FIFOがラン
ダムモードの代わりにシーケンシャルモードで動作し、
8ビット値の代わりに16ビットのデータ値が使用される
ときの出力FIFOの動作の相違点について説明されてい
る。
VRAM216のランダム位置に1バイトのデータを書込む動
作シーケンスの第1ステップは、出力FIFOをランダムモ
ードで動作させ、8ビットの入力値を持つように設定す
る出力FIFO236に制御値を供給することである。この発
明の実施例ではB DSTフィールドの13の値をもったマイ
クロコード制御語に応答して、例えばALU244によって2
ビット制御値がバスB BUSに供給される。マイクロコー
ド制御語B DSTフィールドはバスMCWを経て制御レジスタ
1212に供給される。レジスタ1212は13の値をもったマイ
クロコード制御語のB DSTフィールドに応答して、出力F
IFO236用の制御値としてバスB BUSの2個のLSB位置によ
って伝達される値をロードする。
出力FIFO236の内部の制御回路1216はまたB DSTフィール
ド中の13の値に応答して、レジスタ1220中に保持された
データをVRAM216に転送する書込み動作を開始させる。
このデータは先のデータ出力動作からのデータの最後の
部分的ブロックである。
フリップ・フロップ1232によって与えられる信号OFR
が、FIFO236用のメモリ書込み動作が進行していないこ
とを示す論理0の値をもっていると、制御回路1216はパ
ルス信号LORを発生し、レジスタ1220中の値を出力レジ
スタ1218に転送し、またラッチ1228に保持された4ビッ
トバイトマスクを4ビットレジスタ1230に転送する。制
御回路がパルス信号LORを発生して信号CKの1周期の1/2
の期間の後、制御回路1216はフリップ・フロップ1232の
入力端子Sをセットするために供給されるパルス信号WR
を発生する。この動作は、フリップ・フロップ1232によ
って与えられた信号OFRの状態を論理1の値に変化させ
る。
信号OFRはバスR/Sを経てVRAM制御ユニット238に供給さ
れる。信号OFRからの論理1の値は、FIFO236に対するVR
AM制御ユニットに保持されたアドレス値を使用して、ま
たレジスタ1218中に保持された32ビットのデータ値を使
用して、VRAM書込み動作用の要求としてVRAM制御ユニッ
ト238によって解釈される。レジスタ1230中のバイトマ
スクはバスCASMを経てVRAM制御ユニット238に供給され
る。このマスクVRAM制御ユニット238中で使用されて、V
RAM218を、バイトマスク信号CASMに応答するバイト位置
をもったレジスタ1218中のこれらのバイトのみ、すなわ
ちレジスタ1220にロードされたとき制御回路1216によっ
て有効であるとしてマークされたこれらのバイトのみを
記録するように動作させる。バイトが有効であるとマー
クされる方法、VRAM制御ユニット238における信号CASM
の使用態様については以下に説明する。
制御回路1216がパルス信号WRを発生すると同時に、ラッ
チ1228中の4個のフリップ・フロップの各々のリセット
入力端子Rに供給されるパルス信号RMを発生する。この
信号はラッチ1228中のフリップ・フロップFF0乃至FF3を
リセットし、各バイト位置B0乃至B3の値を無効としてマ
ークする。
上述のように、制御ユニット1216は、もし信号OFRが0
であるならば書込み動作を開始させる。制御レジスタ12
12中の値が変化するとき信号OFRが論理1であると、VRA
M制御ユニット238によって与えられる信号OFSが要求さ
れたメモリ書込み動作が行われたことを示すまで制御回
路1216はその内部状態を凍結する。信号OFSはレジスタ1
218の出力可動化端子OEに供給され、このレジスタ1218
をその記憶された値をバスD BUSに供給するように動作
させる。信号OFSが論理1をもつている間、レジスタ121
8中のデータはVRAM216に転送される。信号OFSはまたフ
リップ・フロップ1232をリセットし、信号OFRの値を論
理0に変化させる。制御回路1216は論理0の値をもった
信号OFRに応答してその正規の動作を再開させる。
電源ビデオ信号プロセッサ210に供給された後、誤った
データが第1の出力FIFOの要求によってVRAM216に書込
まれるのを防止するために、フリップ・フロップ1228は
例えば通常の電源オンリセット回路によって論理0の初
期値をもつように設定される。後述のように、これらの
フリップ・フロップ中の論理0の値は、レジスタ1220か
らのデータがVRAM216に書込まれるのを防止する。
先の読出し動作からのデータはレジスタ1220からレジス
タ1218に転送され、メモリ読出し動作が行われると、こ
こに述べた代表的なランダム出力動作用のアドレス値が
特定される。この動作は上述されている。バイト位置レ
ジスタ1210はB DSTフィールド中の14の値に応答して、
バスA BUSの2個のLSBによって伝送された値をロードす
る。上述のように、この値はレジスタ1220のどのバイト
位置B0、B1、B2あるいはB3が供給されたデータ値を保持
するかを指示する。
制御回路1216はB DSTフィールド中の14の値に応答して
パルス信号OPCを発生し、バイト位置レジスタがロード
されて信号CKの1周期の1/2の期間の後、2ビットカウ
ンタ1226の内部値としてバイト位置の値を設定する。こ
の値は信号OCVとして制御回路1216に供給される。パル
ス信号OPCの発生と同時に制御回路1216はパルス信号LR
を発生して、フリップ・フロップ1234をセットし、入力
レジスタ1214中のデータを無効としてマークする。フリ
ップ・フロップ1234の出力信号INVは制御回路1216に供
給されて、バスA BUSからデータがレジスタ1214にロー
ド可能であることを指示する。
代表的動作シーケンスの次のステップは8ビットデータ
値を出力FIFO236に供給することである。このステップ
は、マイクロコード制御語がB DSTフィールド中の20の
値をもつときに生ずる。B DSTフィールド中のこの値
は、例えばALU244によって供給され、バスA BUSによっ
て伝送された16ビットの値をロードするようにレジスタ
1214を設定する。制御レジスタ1212中の値は、8ビット
の値がプロセッサされるべきことを指示するので、レジ
スタ1214中の値の8個のLSB位置の値のみが関連する。
ある値がレジスタ1214にロードされると、制御回路1216
はフリップ・フロップ1234のリセット入力端子に供給さ
れるパルス信号COを発生する。この動作によって信号IN
Vの状態を論理0に変化させ、入力レジスタ1214中に保
持された値を有効なものとしてマークする。
入力レジスタ1214の8個のLSB位置は、レジスタ1220の
ビット位置0−7(バイト位置B0)及び16−23(バイト
位置B2)に直接結合され、また3状態ゲート1224を経て
レジスタ1220のビット位置8−15(バイト位置B1)及び
24−31(バイト位置B3)に結合される。入力レジスタ12
14の8個のMSB位置は3状態ゲート1222を通ってレジス
タ1220のバイト位置B1及びB3に結合される。3状態ゲー
ト1222及び1224は制御回路1216によって発生される各信
号UBE及びLBEによって制御される。この発明の例におい
ては、レジスタ1212中の制御値が出力FIFO236が8ビッ
トの値を処理する状態にあることを指示すると、制御信
号UBEは、3状態ゲート1222の出力ポートのインピーダ
ンスが高インピーダンスを呈するように該3状態ゲート
1222の動作を設定し、また、制御信号LBEは、3状態ゲ
ート1224がそのデータ入力をその出力ポートに、従って
レジスタ1220のバイト位置B1及びB3に供給するように
上記3状態ゲート1224の動作を制御する。従って、この
例では、レジスタ1214の8個のLSB位置はレジスタ1220
のバイト位置をB0乃至B3の各々に結合される。
制御回路1216はまたB DSTフィールド中の20の値に応答
する。この値が検出されて信号CKの1周期の1/2の期間
の後、制御回路1216は信号LR0、LR1、LR2またはLR3のう
ちの1個のパルス信号を発生し、レジスタ1214からの8
ビット値をレジスタ1220のバイト位置の1つにロード
し、ラッチ1228中の各フリップ・フロップFF0、FF1、FF
2あるいはFF3をセットすることによって有効データを含
むものとして選択されたバイト位置をマークする。同時
に、制御回路1216はパルス信号LRを発生して、入力レジ
スタ1214に保持されたデータを無効であるとしてマーク
する。選択されたレジスタ1220中のバイト位置は、カウ
ンタ1226によって発生された信号OCVによって決定され
る。この例では、この信号すなわちカウンタ1226の出力
信号はレジスタ1210に保持されたバイト位置の値と同じ
である。
出力FIFO236に供給された1バイト・データ値がレジス
タ1220中のバイト位置の1つを占める。この値は、新し
い制御値が前述のようにレジスタ1212に供給されるVRAM
216に書込まれる。
上述の例では、出力FIFO236に供給された初期制御値
は、該FIFO236をそのランダムモードで動作するように
設定する。上記の動作状態とは違って、シーケンシャル
モードが使用されることを制御値が特定するならば、上
述の例はバイト転送動作のシーケンスの最初のもののみ
について説明することになる。シーケンシャルモードで
は、カウンタ1226によって保持された値は信号CCKのパ
ルスによって増加される。この発明の実施例では、出力
FIFO236がそのシーケンシャルモード動作するようにセ
ットされると、制御回路1216は、パルス信号LR0乃至LR3
の1つを発生すると、信号CCKを発生する。
シーケンスの第2のバイトがレジスタ1214に供給される
と、増加した係数値をもった信号OCVは制御回路1216がL
R0、LR1、LR2またはLR3の中の次のものを発生し、従っ
て、入力バイトをレジスタ1220の次のバイトB0、B1、B2
またはB3の各々にロードする。カウンタ1226は2ビット
カウンタであるので、該カウンタ1226はモジュロ4出力
値、すなわち値0、1、2、3、0、1・・・・等を発
生する。
カウンタ値OCVが3から0に増加すると、レジスタ1220
の最後のバイト位置B3が充満される。制御回路1216はパ
ルス信号LORを発生し、レジスタ1220中のデータをレジ
スタ1218に転送し、またバイト信号WRを発生し、VRAM制
御ユニット238によってレジスタ1218中に保持されたデ
ータ用のVRAM書込み動作のスケジュールを作る。信号OC
Vが3から0に変化したとき、信号OFRが、書込み動作が
進行中であることを示す論理1の値をもつと、制御回路
1216は信号LORを発生しない。しかし、VRAM制御ユニッ
ト238によって供給された信号OFSがフリップ・フロップ
1232をリセットし、信号OFRの状態を論理0に変化させ
るまで、その内部状態を凍結する。
フリップ・フロップ1234によって供給される信号INVが
レジスタ1214中のデータは有効であること(すなわち、
未だレジスタ1220へ転送されていない)を示している時
に、バスB BUSからレジスタ1214にデータを転送しよう
とすると、制御回路1216はパルス信号OPを送っててフリ
ップ・フロップ1233をセットし、このフリップ・フロッ
プ1233が生成する信号OFPAを休止論理240に送ることに
よって、回路210を休止状態にする信号OFPAは、ANDゲー
ト1236によって信号OFRと論理的にAND処理されて信号OF
Pを生成する。この信号OFPは休止論理240を介してVRAM
制御ユニット238に印加される。この信号はそのとき進
行中のVRAM書込み動作の優先順位を上げる。この書込み
動作が完了すると、VRAM制御ユニット238は、パルス信
号OFSを発してフリップ・フロップ1232をリセットし、
信号OFRとOFPの値を論理0に変える。
信号PFRの値の論理1から論理0への転換に応じて、回
路1216はパルス信号LORを発して、レジスタ1220中の値
をレジスタ1218中にロードし、またラッチ1228の値をレ
ジスタ1230中にロードする。次に制御回路1216はパルス
信号WRを発してVRAM書込み動作を要求する。制御回路12
16がパルス信号LORを発して信号CKの2分の1周期後、
制御回路1216はパルス信号RMを発してラッチ1228のフリ
ップ・フロップFF0、FF1、FF2及びFF3をリセットする。
動作シーケンス中のこの時点で、出力FIFO236は次の入
力データ・バイトを受取りそれをレジスタ1220のバイト
位置B0に記憶するように調整される。従って、制御回路
1216はパルス信号LR0、LR1、LR2またはLR3の中の1つの
パルス信号を発生し、レジスタ1214中に保持されていた
値をレジスタ1220の対応するバイト位置B0乃至B3中にロ
ードする。これと同時に、制御回路1216はパルス信号LR
を発してフリップ・フロップ1234をセットして入力レジ
スタ1214中の値を無効マークし、信号INVを通してフリ
ップ・フロップ1233をリセットし処理器210をその休止
状態から解放する。
出力FIFO236の動作のこの最後の変形は16−ビットのデ
ータ転送である。このモードで、この出力FIFOは、バス
B BUSから16−ビット値を受取り、それをVRAM216中にラ
ンダムにまたは順次的に書込む。この出力FIFO236は制
御レジスタ1212中へロードされている制御値によって16
−ビットのデータ転送モードにされる。出力FIFOがこの
モードのときは、制御回路1216によって供給される信号
UBEは3状態ゲート1222を調整して、レジスタ1214の8
個のMSB位置にある値をレジスタ1220のビット位置B1とB
3に印加する。信号LBEは、このモードで、3状態ゲート
1224がその出力ポートを高インピーダンスとするように
する。
この16−ビット転送モードでは、レジスタ1210のバイト
位置値のMSBはカウンタ1226のLSB位置にロードされ、制
御回路1216は信号OCVのLSBのみに応動する。このビット
が0でデータ値がレジスタ1214中にロードされると、制
御回路はパルス信号LR0、LR1及びLRを発して16−ビット
値をレジスタ1214からレジスタ1220のバイト位置B0とB1
に転送してラッチ1228中のフリップ・フロップFF0とFF1
をセットし、レジスタ1214は無効データを持っているも
のとしてマークする。また、信号OCVのLSBが1のとき
は、制御回路1216はパルス信号LR2、LR3、及びLRを発し
て16−ビット値をレジスタ1220のビット位置B2とB3に転
送して、ラッチ1228中のフリップ・フロップFF2とFF3を
セットし、レジスタ1214は無効データをもっているもの
としてマークする。制御回路1216は信号OCVのLSBの値の
1から0への転換に応じて、レジスタ1220中に保持され
ている。データをレジスタ1218へ転送しかつVRAM書込み
動作をスケジュールする。
第12B図は、出力FIFO236を介して行われる5つの順次単
一バイト・データ転送の相対的タイミングを示すタイミ
ング図である。
この発明のこの実施例で使用している休止論理240は2
個のORゲート(図示せず)を持っている。入力信号SD
P、IF0P、IF1P及びOFPがその第1ゲートに印加され、同
ゲートは出力信号UREQを発生する。信号UREQは、次に説
明するようにVRAM制御ユニット238に印加されて、統計
的デコーダ230、入力FIFO232と234または出力FIFO236の
うちの1つが急いでメモリ動作することを要求している
旨を示す。SDP、IF0P、IF1P及びOFPもバスURを介してVR
AM制御ユニット238に供給される。
第2のORゲートに対する入力信号は、諸信号SDPA、IF0P
A、IF1PA及びOFPAとVRAM制御ユニット238から供給され
る信号VCUPAである。第2ORゲートの出力信号は信号PAUS
Eで、前述したようにマイクロコードRAMとシーケンサ回
路226に印加される。
第13A図と第13B図とはVRAM制御回路238として使用する
に適した回路を示すブロック図を構成している。上述し
たように、VRAM制御ユニット238は、マイクロコード制
御語のB DSTフィールドに応答する回路を有し、これは
統計的デコーダ230、入力FIFO232と234及び出力FIFO236
に対するVRAMアドレス値を記憶する。さらに、VRAM制御
ユニット238は、表示器用プロセッサ218にピクセル値を
生成するのに使われるビット・マップ・アドレスと、VR
AM216が使用するダイナミック・ランダムアクセス・メ
モリ回路の内容を周期的に復元(リフレッシュ)するの
に使用されるリフレッシュ・アドレスを記憶するための
回路を持っている。VRAM制御ユニット238は、また、統
計的デコーダ230、入力FIFO232と234及び出力FIFO236が
発生したメモリ読出し信号とメモリ書込み信号に応答し
て表示器用プロセッサ218に対する要求信号を読出し、
圧縮されたビデオ信号212の源に対する要求信号を書込
み、また内部で発生したリフレッシュ要求信号に応じて
種々の要求されたメモリ動作を開始してそれらが適切に
完了したことを伝えるように働く回路を持っている。
種々のアドレス値を記憶する回路は制御回路1310によっ
て制御される。この回路1310は、クロック信号CK′、バ
スMCWによって供給されるマイクロコード制御語のB DST
フィールド、及び下記のようにマルチプレクサ1378によ
って供給される装置選択値、信号源222によって供給さ
れる垂直フィールド同期信号VSに応動する。制御回路13
10は、主として、種々の装置に対するアドレス値のロー
ディングの制御を行う。
統計的デコーダ230用のアドレス値をロードするには、
例えばB DSTフィールドにおいて値31を有するマイクロ
コード制御語により、ビデオ信号処理器210中の他の回
路例えばALU244をB SRCフィールド中のある一つの値を
介して制御し(コンディション)て、それがそのアドレ
ス値の8個のMSBをバスB BUSに印加されるあの値の8個
のLSBとして供給するようにする。B DSTフィールドの値
31に応じてこの制御回路1310は、信号CK′の1周期に亘
り1対のマルチプレクサ1312と1316に信号STMとして論
理1の値を印加する。この信号によって、マルチプレク
サ1312は、バスB BUSから送られた8ビット値をレジス
タ1314の入力ポートに供給するようにされる。信号STM
が論理1の値を持っている間、制御回路1310はパルス信
号STHLを発生し、レジスタ1314が自己の入力ポートに印
加されたその値をロードするようにする。
次の命令サイクルでは、そのB DSTに値30を有するマイ
クロコード制御語によって、制御ユニット1310は、信号
CK′の1周期間にわたり論理1の値をもった信号STMを
保持しパルス信号STLLを発生するようにされる。これら
の信号の組合わせによって、マルチプレクサ1316はバス
B BUSの14MSB位置によって伝えられた値を14ビット・レ
ジスタ1318の入力ポートに供給するように制御され、ま
たレジスタ1318はその入力ポートに印加された値を記憶
するように制御される。このレジスタ1314と1318に保持
された値は、マルチプレクサ1356の入力ポート0に印加
される22ビットのアドレス値を形成するように連結され
る。
入力FIFO232と234及び出力FIFO236に対するアドレス値
の記憶動作のシーケンスのタイミングは統計的デコーダ
230に対するアドレス値の記憶動作のシーケンス・タイ
ミングと同じである。入力FIFO232に対するアドレス値
の記憶には、制御回路1310により供給される信号IFOMに
よって、マルチプレクサ1320と1324を制御して、アドレ
ス値の8個のMSBと14個のLSBを、それぞれレジスタ1322
と1326の入力ポートに印加させるようにする。レジスタ
1322と1326は、各々その入力ポートに印加された値を、
制御回路1310によって供給される信号IFOHL及びIFOLLに
応じてロードする。マルチプレクサ1320と1324、及びレ
ジスタ1322と1326は、マルチプレクサ1312と1316及びレ
ジスタ1314と1318にそれぞれ対応している。信号IFOM、
IFOHL及びIFOLLは信号STM、STHL及びSTLLにそれぞれ対
応する。IFOLLとIFOHLは22と23というB DST値によって
それぞれ付活される。この両値は信号IFOMを付活する。
マルチプレクサ1328と1332及びレジスタ1330と1334は、
それぞれマルチプレクサ1312と1316及びレジスタ1314と
1318と同一構成を持っている。これらのマルチプレクサ
及びレジスタは、制御回路1310によって供給される信号
IF1M、IF1HL及びIH1LLに応動して22−ビットのアドレス
値を入力FIFO234にロードする。この値の8個のMSBは、
B DSTフィールドの値が27であればレジスタ1330にロー
ドされ、B DSTフィールドの値が26であればレジスタ133
4にロードされる。
出力FIFO236のアドレス値は、制御回路1310により発生
した信号OFM、OPHL及びOPLLに応じて、各マルチプレク
サ1336と1340を介してレジスタ1338と1342にロードされ
る。上記の信号は前記の各信号STM、STHL及びSTLLに対
応している。制御回路1310は、B DSTフィールドが値14
を有するときはパルス信号OFMとOPLLを発生してこのア
ドレス値の14個のLSBをレジスタ1342にロードし、B DST
フィールドの値が15のときは、パルス信号OFMとOPHLを
発生してこのアドレス値の8個のMSBをレジスタ1338中
にロードする。各レジスタ対1322と1326、1330と1334、
及び1338と1342中に保持されている値を連結することに
よって形成された22−ビットのアドレス値はマルチプレ
クサ1356の各入力ポート1、2、3に印加される。
統計的デコーダ230に対するアドレス値をパスする各マ
ルチプレクサ1312と1316の第2入力ポートは、入力FIFO
232と234及び出力FIFO236に対するアドレス値をパスす
る対応マルチプレクサ対の第2入力ポートと同様に、加
算器1392の出力ポートに結合される。下記するように、
この加算器1392は増加(インクレメンテッド)アドレス
値を供給する。
この増加したアドレス値は、統計的デコーダ230、入力F
IFO232と234及び出力FIFO236に対すると同じ様に使用さ
れる。次に、統計的デコーダ230での使用についてだけ
説明する。増加したアドレス値の8個のMSBはマルチプ
レクサ1312の第2入力ポートに印加され、14個のLSBは
マルチプレクサ1316の第2入力ポートに印加される。信
号STMが論理0の値を持っているときは、マルチプレク
サ1312と1316は、これらの値をアドレス・レジスタ1314
と1318の入力ポートにそれぞれパスするように制御され
る。統計的デコーダ230のメモリ読出し動作が進行して
いる間、制御回路1310はパルス信号STHLとSTLLを発生し
てこの増加したアドレス値をレジスタ1314と1318にロー
ドする。もし、統計的デコーダ230が順次モードで動作
するようにセットされているか、デコーダ230がそのラ
ンダム・モードで動作するようにセットされているとき
もし第2の32ビット値をVRAM216が要求すれば、この増
加したアドレス値は統計的デコーダ230の次のメモリ読
出し動作を行うために使用される。
加算器1392の出力ポートは更に22−ビット・レジスタ13
46の入力ポートに結合されていて、このレジスタはVRAM
216のメモリ・リフレッシュ動作を行うために使用され
るアドレス値を保持する。レジスタ1346の出力ポートは
マルチプレクサ1356の入力ポート5に結合されている。
リフレッシュ・アドレス・レジスタ1346から供給される
値はあるサイクルで変化し、4ミリ秒ごとにVRAM216中
の各行(ロウ)をアドレスする。この発明のこの実施例
では、このリフレッシュ動作はVRAM制御ユニット238の
内部にある下記の回路によって制御される。
この実施例で使用されるVRAM制御ユニット238に保持さ
れているこの最後のアドレス値はビット・マップ・アド
レスである。このアドレス値は、たとえばB DST値がそ
れぞれ19と18である2つの別々のマイクロコード制御語
に応じて各パルス制御信号BMHLとBMLLを発生することに
よって、レジスタ1348と1350に書込まれる。このレジス
タ1348と1350中に書込まれたアドレス値は、圧縮された
ビデオ信号212の信号源により生成された、画像の圧縮
表現から、ビデオ信号処理回路210により発生されたル
ミナンス信号ビット・マップの開始アドレスである。表
示器用プロセッサ218のデータのアクセスに使用される
このビット・マップ・アドレス値はレジスタ1354中に保
持される。レジスタ1348中の8−ビット値とレジスタ13
50中の14−ビット値とを連結して得られた22−ビット・
アドレスは、信号源222から供給される垂直フィールド
同期信号VSのパルスに応じてレジスタ1354中にロードさ
れる。正規動作モードでは、ビデオ信号処理器210は、
信号VSの2パルスごとに1回ずつレジスタ1348と1350中
に新しいビット・マップ・アドレス値をロードする。従
って各ビット・マップは動きのあるビデオ情景を発生す
るために2回表示される。
レジスタ1348と1350の内容は次のようにしてレジスタ13
54に転送される。信号VSのパルスと同時に、制御回路13
10は信号BMMの状態を信号CKの一周期中論理1に変更す
る。これによってマルチプレクサ1352は、レジスタ1348
と1350中に保持されているアドレス値をレジスタ1354の
入力ポートに印加する。信号BMMが論理1状態にある間
に制御回路1310はパルス信号BMLを発してレジスタ1354
がその入力ポートに供給される値をロードするようにす
る。レジスタ1354に保持されたこの値はマルチプレクサ
1356の入力ポート6に印加される。
信号BMMが論理0状態にあるときは、マルチプレクサ135
2は加算器1392から供給された22−ビットの増加された
アドレス値をレジスタ1354の入力ポートに供給するよう
にされる。表示器用プロセッサ218のメモリ読出し動作
中、制御回路1310はパルス信号BMLを発し、またこの信
号BMMを論理0状態に保持して、増加されたビット・マ
ップ・アドレス値をレジスタ1354にロードして、表示器
用プロセッサ218の次の読出し動作の用意をする。
その時のアドレス値が増加されつつある間に、統計的デ
コーダ230、入力FIFO232と234、及び出力FIFO236のうち
の1つに対する新しいアドレス値のロードを行おうとす
ると、VRAM制御ユニット238中に競合(コンフリクト)
が生ずる可能性がある。この競合は、新しいアドレス値
がロードされ、次に加算器1392から供給される増加され
た以前のアドレス値がその上に書込まれると、発生す
る。競合の可能性が検出されると、制御回路1310は信号
VCUPAの状態を論理1に変更し、一方アドレス値は増加
されレジスタ対1314と1318、1322と1326、1330と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のビット・マップ読出し動作も取扱う。
このスケジューラは或る固定的な優先度計画に従って動
作する。ビット・マルチプレクサ読出し動作は最高の優
先度を有し、以下優先度が順番に低下する形で、リフレ
ッシュ動作、圧縮されたデータ書込み動作、出力FIFO23
6に対する緊急メモリ書込み動作、入力FIFO234と232に
対する緊急メモリ読出し動作、及び統計的デコーダ230
に対する緊急読出し動作の順に続いている。スケジュー
リングと上記の諸動作の開始を制御する回路については
次に説明する。
上述のようにメモリ要求信号OFR、IFIR、IFOR及びSDRは
バスP/Sを介してVRAM制御ユニット238に印加される。第
13A図と第13B図において、それらの信号はバスR/Sによ
って伝えられる他の信号から分離されてバレルシフタ13
60に印加される。バレルシフタ1360では、4−ビット要
求信号が循環シフタ1362、マルチプレクサ1364の1入力
ポートとに印加される。シフタ1362は、この4−ビット
要求信号の3個のMSBを1ビット位置だけ下位に向けて
シフトし、かつ4−ビット要求信号のLSBを出力信号のM
SB位置にシフトする。シフタ1362の出力信号はマルチプ
レクサ1362の第2の入力ポートに印加される。マルチプ
レクサ1364によって供給される信号は循環シフタ1366
と、マルチプレクサ1368の1入力ポートとに供給され
る。循環シフタ1366は、その入力値の2個のLSBと2個
のMSBの位置を入換えて、マルチプレクサ1368の第2入
力ポートに印加する出力値を生成する。マルチプレクサ
1364と1368はレジスタ1376から供給される2−ビット信
号のそれぞれ下位ビットと上位ビットとにより制御され
る。値0、1、2または3を有するこの信号に応じて、
バレルシフタ1360は0、1、2または3ビット位置をそ
れぞれ下位のビット位置へ循環シフトさせる作用を行
う。
バレルシフタ1360から供給される出力信号は4−ビット
優先度デコーダ1370に印加される。優先度デコーダ1370
の出力信号は、その入力ポートに印加された値の最上位
の1の値をもつビットのビット位置番号0、1、2また
は3である。たとえば、4ビット入力の値が0101であっ
たとすれば優先度デコーダ1370の出力値は2になる。そ
れは1の値を有する最上位ビットがビット位置2にある
からである。優先度デコーダ1370の出力信号はレジスタ
1372に印加され、このレジスタは制御回路1310から供給
される信号CCKに応じて入力ポートに印加された上記の
値をロードする。
レジスタ1372中に保持された値は2−ビット加算器1374
の1つの入力ポートに供給される。加算器1374の出力ポ
ートは2−ビット・レジスタ1376の入力ポートに接続さ
れている。レジスタ1376の出力ポートは、バレルシフタ
1360と加算器1374の第2入力ポートとに結合されてい
る。レジスタ1376と加算器1374とのこの組合わせはモジ
ュロ4アキュムレータを構成している。どの時点におい
てもレジスタ1376中に保持されている値は、その時まで
にレジスタ1372によって加算器1374に供給された値全部
のモジューロ4の累算された和である。レジスタ1376中
に保持された値はメモリ動作が行われるべき装置の番号
である。0は統計的デコーダ230に相当し、1は入力FIF
O232に、2は入力FIFO234に、そして3は出力FIFO236に
対応している。バレルシフタ1360の動作により、この選
ばれた装置に対するメモリ要求値が優先度デコーダ1370
に対する入力値のLSB位置へシフトされ、次のメモリ動
作ではこの装置が最低優先度で選ばれるようにする。バ
レルシフタ1360、優先度デコーダ1370、レジスタ1372と
1376、及び加算器1374を含んでいるこの回路はスケジュ
ーラであって、装置230、232、234及び236の発生するメ
モリ要求が確実に実質的に同等の優先度で処理されるよ
うにする。
レジスタ1376の出力信号はMSB位置に論理0を連結する
ことによって3ビットに引伸ばされている。この3−ビ
ット信号はマルチプレクサ1378の1つの入力ポートに印
加される。マルチプレクサ1378の2番目の入力ポート
は、緊急要求、リフレッシュ要求、圧縮されたデータ書
込み要求及びビット・マップ読出し要求を取扱うスケジ
ューラの出力信号を受入れるように、結合されている。
統計的デコーダ230、入力FIFO232と234及び出力FIFO236
に対する緊急メモリ要求は各信号SDP、IF0P、IF1P及びO
FPによって伝達される。これらの信号は、優先度デコー
ダ1380の入力ポートのビット位置0、1、2及び3にそ
れぞれ印加される。ビット・マップ読出し要求信号は信
号源220から供給される水平線同期信号HSである。この
信号は優先度デコーダ1380の入力ポートのビット位置6
に印加される。リフレッシュ要求信号はカウンタ1382に
よって発生される。このカウンタ1382は普通の7−ビッ
トラッチング・カウンタである。このカウンタは、信号
CKのパルスを128個カウントして、その論理1の値をも
つ1ビット出力信号RFを、このカウンタがリセットされ
るまでラッチする。この発明の実施例では、信号RFは優
先度デコーダ1380の入力ポートのビット位置5に印加さ
れる。カウンタ1382のリセット入力端子VRAM信号発生器
1388から供給される信号RFSに結合されている。この信
号はリフレッシュ動作の終わりに発生器1388によりパル
スとして送り出されてカウンタ1382をリセットする。圧
縮されたデータ読出し要求信号CVRは、前述のように、
圧縮されたビデオの信号源212によってVRAM制御ユニッ
ト238に印加される。この信号は優先度デコーダ1380の
入力ポートのビット位置4に結合される。
優先度デコーダ1380の出力ポートはレジスタ1384の入力
ポートに結合されている。レジスタ1384は制御回路1310
から供給される信号CCK′のパルスに応動して、その入
力ポートに印加された値をロードするように制御されて
いる。レジスタ1384の3−ビット出力信号はマルチプレ
クサ1378の第2の入力ポートに供給される。
マルチプレクサ1378はORゲート1386によって発生した信
号によって制御される。この信号は、休止論理240によ
り発生した信号UREQ、及び信号HS、CVR、RFの論理的OR
である。ORゲート1386の出力信号は、優先度デコーダ13
80への入力信号の1つまはそれ以上のものが論理1であ
るときのみ、論理1である。マルチプレクサ1378は、そ
の制御入力信号が論理0のとき、レジスタ1376から供給
された3−ビット値をパスさせその他の場合にはレジス
タ1384から供給された3−ビット値をパスさせるよう
に、調整されている。マルチプレクサ1378でパスされた
値は、マルチプレクサ1356に印加され6個のアドレス値
のうちのどれをVRAM216のアドレス入力ポートとバンク
選択論理に、及び加算器1392の第1入力ポートに印加す
べきかを、表わす。マルチプレクサ1378から供給される
値はROM1390にも印加され、このROMは増分値を加算器13
92の第2入力ポートに供給する。ROM1390は、たとえ
ば、統計的デコーダ230、入力FIFO232または234、或い
は出力FIFO236によりメモリ動作が行われるときは増分
値1をメモリ動作がビット・マップ読出し動作であれば
増分値64を、メモリ動作がリフレッシュ動作であれば増
分値256を供給するように、プログラムされている。前
述のように、制御回路1310はマルチプレクサ1378から供
給される3−ビット値に応動して、適当なレジスタに対
するロード信号を付活して、増加されたアドレス値をメ
モリ・サイクル中にレジスタ中にロードする。
VRAM信号発生器1388は、マルチプレクサ1378により供給
される3−ビット信号に応じて、ランダム読出しまたは
書込み動作、直列読出し動作またはリフレッシュ動作を
行うようにVRAM216に対する制御信号を発生し、またメ
モリ動作が完了すれば、適切なストローブ信号をパルス
状に発生する。このVRAM信号発生器は出力FIFO236から
供給される4−ビット信号CASMを受取るように結合され
ている。この信号は、メモリ書込み動作中、列(コラ
ム)アドレス・ストローブ信号▲▼、▲
▼、▲▼及び▲▼を選択的に非可動
化するために使用されるもので、上記列アドレス・スト
ローブ信号はその1つがVRAM216内のメモリ集積回路の
8列の各対に印加される。前述のように、この実施例で
使用されているVRAM216は、8列16行のマトリクスの集
積回路として構成されている。各集積回路は4ビットの
データを受取りまたは供給する。メモリの8列のすべて
から供給される32ビットを8−ビット値に分割するため
に、上記の列は対をなすようにされ、列アドレス・スト
ローブ信号▲▼、▲▼、▲▼
及び▲▼のそれぞれ異なる1つが4つの列対の
それぞれ印加される。参考試料としてここに引用するNE
Cエレクトロニクス社発行の1985年「メモリ製品データ
ブック」3−45乃至3−54頁に記載されているように、
μPD42164集積回路に対するメモリ書込み動作に関して
列アドレス・ストローブが動作状態にされなければ、ア
ドレスされたメモリセルにデータは書込まれない。従っ
て、もし信号CASMの4ビットのうちの何れかが論理0で
あれば、信号発生器1388は対応する▲▼信号をデ
ィスエーブル(非可動化)し、バスD BUSの対応するバ
イト位置のデータはVRAM216中に書込まれず、アドレス
された32−ビット語中の上記バイト位置に前からあった
内容は損なわれずに残っている。
VRAM信号発生器1388は、行われるメモリ動作の形式に対
して適した、列アドレス・ストローブ信号▲
▼、▲▼、▲▼及び▲▼と行
アドレス・ストローブ信号▲▼、書込みイネーブ
ル(可動化)信号▲▼、出力イネーブル(可動化)
信号▲▼、直列制御信号SC及び直列イネーブル(出
力可動化)信号▲▼と同様に生成有限ステートマ
シンである。これらの信号のタイミング図は上掲のメモ
リ製品データブックの引用頁に記載されている。
VRAM信号発生器1388は、VRAM216を構成する個々の集積
回路を制御する信号を発生するだけでなく、統計的デコ
ーダ230、入力FIFO232、234、出力FIFO236及びリフレッ
シュ・カウンタ1382に対して要求を受けたメモリ動作を
遂行されたことをそれぞれ知らせるストローブ信号SD
S、IF0S、IF1S、OFS及びRESを供給する。これらの信号
はメモリサイクルの終わりに発生する。前述した刊行物
「メモリ製品データブック」の引用部に開示されている
タイミング図及び記述の説明から、メモリ回路設計の分
野の当業者はVRAM信号発生器1388として使用するに適し
た回路は、容易に設計し製造することが可能であろう。
VRAM信号発生器は、更に、マルチプレクサ1378から供給
される信号の値4に応じてその制御出力端子に高インピ
ーダンスを与える。この高インピーダンス状態によって
合成ビデオ信号源212は、VRAM216のメモリ書込み動作を
制御することができる。この発明のこの実施例では、マ
ルチプレクサ1378から供給される4の値は、マルチプレ
クサ1356に結合されたデータ1355によってデコードされ
る。デコーダ1355に供給された4の値はこのデコーダを
制御して論理1の値をマルチプレクサ1376の入力端子EN
に印加させるようにする。この信号によって、マルチプ
レクサ1356はVRAM216のアドレス入力ポートに高インピ
ーダンスを与えるようにされる。この高インピーダンス
により圧縮されたビデオ信号源212はイネーブル(可動
化)されて、VRAM216のアドレス入力ポートを1メモリ
サイクルの間制御する。
各VRAMメモリサイクルは信号CK′の4周期の間にわたっ
ている。制御回路1310は、この信号CK′を使って信号CC
K′を発生する。この信号CCK′は、VRAMメモリサイクル
より信号CK′の1周期の2分の1だけ進んでいる。信号
CCKの前縁から信号CK′の1周期後、すなわちVRAMメモ
リサイクルの開始点で、スケジューリング回路はスケジ
ュールされているメモリ動作の中から或るメモリ動作を
選択しており、かつどの動作が選択されているかを示す
値がマルチプレクサ1378の出力ポートから取出せる。
この選択された値は、マルチプレクサ1356を制御して選
ばれたレジスタ中のアドレスまたは高インピーダンスを
VRAM216のアドレス入力端子とバンク選択論理に印加さ
せ、またVRAM信号発生器1388を制御して、もし水平線同
期信号HS、カウンタ1382、出力FIFO236によって或いは
統計的デコーダ230、入力FIFO232または入力FIFO234の
うちの1つによって選択されたメモリ要求が発生する
と、直列読出し動作リフレッシュ動作、ランダム書込み
動作またはランダム読出し動作をそれぞれ行うための信
号を発生させる。メモリサイクルの終わりよりも信号C
K′の1周期分前に、VRAM信号発生器1388は適当なパル
ス信号RFS、OFS、SDS、IF0SまたはIF1Sを送り出して、
要求されたメモリ動作は実行されたことを示す。
VRAM制御ユニットは、圧縮されたビデオ信号の信号源21
2が周期的にVRAMメモリサイクルを使用して圧縮された
ビデオデータをVRAM216にロードするので、すべてのVRA
Mメモリサイクルを使用するとは限らない。VRAM216の使
用に関する競合の可能性は、緊急メモリ要求を取扱うス
ケジューリング回路によって解決される。
圧縮されたビデオ信号源212は、VRAM216中に記憶すべき
32−ビットの値を持っているときは、信号CVRの状態を
論理1に変える。信号CVRは優先度デコーダ1380のビッ
ト位置4入力ポートに印加される。スケジューリング回
路がこの形式の要求を取扱うときは、4の値は、VRAM信
号発生器1388、制御回路1310、及びマルチプレクサ1356
に結合されているデコーダ1355に供給する。この値は、
信号発生器1388とマルチプレクサ1356を制御して、それ
らの出力端子の高インピーダンスを呈するようにする。
この両出力端子はバスAD/CTLを介してVRAM216に結合さ
れている。更に、この4という値は、制御回路1310を制
御して圧縮されたビデオ信号源212に信号GRANTとして論
理1の値を供給する。この信号は、信号源212内のアド
レス及び制御回路を可動化して、メモリ書込み動作の信
号を発生させ、信号源212からVRAM216中にデータを記憶
させる。
VRAM信号発生器1388を、スケジューラから供給された値
をランダム読出し、ランダム書込み、直列読出しまたは
リフレッシュ動作を行うべきかを表わす信号に変換する
第1の回路と、この様な信号からVRAM集積回路に供給す
る実際の信号を生成する第2の回路との2つの別々の回
路に区分することが考えられている。第1の回路はVRAM
制御ユニット238の一部になり、従って処理器集積回路2
10の内部にあることになろう。しかし第2の回路は回路
210の外部に形成されて、圧縮されたビデオの信号源212
と共有することになろう。
ここで説明するこの発明の実施例は、ルミナンス・ビッ
ト・マップのアドレスを記憶するために1対のビット・
マップ・アドレス・レジスタを持っているが、カラー・
ビデオ信号を処理するこの発明の実施例として2つの色
差信号ビット・マップのアドレスを記憶するために2個
の付加ビット・マップ・レジスタを持つ形にすることも
考えられる。更に、すべてのビット・マップ・アドレス
・レジスタに対する最初のビット・マップ・アドレス値
を、ビデオ信号プロセッサ210が停止状態にある間マイ
クロプロセッサ224に記憶しておくようにすることも考
えられる。
以上はビデオ信号プロセッサ210の回路に関する詳細な
説明である。次にこのプロセッサを使用して、圧縮され
たビデオ信号をデコード(すなわち引伸ばし)する方法
を説明する。
第1図に関連して上述したように、このプロセッサによ
り再構成される画像は、絶対または相対的双線形多項式
(Ax+By+C)の形で、またDPCMエンコード技法を使っ
て個々にコード化されたピクセルとして、矩形領域(以
下、セルという)を表わす記録(レコード)にコード化
されている。第1図に示された記録フォーマットは概念
的には有効なものであるが、好ましいコードされたデー
タの配列が第14図に示されている。このデータは、5つ
の部分すなわち各セルに割当てられるデータを含んでい
る。“セルテーブル”、統計的にコード化されたデータ
の別々のブロック(以下、“データ”という)、双線形
多項式を作るために使用されるテーブル(以下、スロー
プ・リストという)DPCMコード化データをデコードする
ために使用するテーブル(以下、テーブルDという)と
の対をなす2テーブル、及びその時表示されている画像
のビット・マップ、で構成されている。統計的にコード
化されたデータセグメントはその統計的デコーダ230を
使ってプロセッサ210で読出し得るように、個々別々の
ものである。セルテーブル、データ値、スロープ・リス
ト、テーブルD及びビット・マップはすべてVRAM216中
に記憶される。更に、デコード動作の進行につれて、新
しいすなわち現在のビット・マップが生成され、それは
次に表示すべき画像を表わしている。
セルテーブルは、各セルごとに、数としてコード化され
た(たとえば、1=絶対、2=相対的、3=DPCM)その
形式T、その左上隅におけるピクセル値のビット・マッ
プ中の(X POS、Y POS)、及びその寸法(H、W)を含
んでいる。そのセルが相対的セルか絶対セルであれば、
多項式の係数A、B及びCに関する情報も与えられる。
もしそのセルが相対的セルであれば、その時のセル中の
ピクセル値の、その時表示されている画像のビット・マ
ップ中のセルの対応するピクセル値に対する変位値ΔX
とΔYが与えられる。デコーディングを簡単化するため
に、記録は長さが一定であるもの(記録当たり10個の16
−ビット・ワード)とする。データ10ワードより少ない
記録(DPCMのような)は10ワードに付加(水増し的に)
される。
多項式Ay+By+C中のスローブ項を表わす係数AとBは
特殊な形にコード化される。セルテーブルは実際のA、
Bの値を含む代わりに、そのスロープ・リスト中にイン
デクス値を含んでいる。このスロープ・リストは各画像
と共に(或いは、各画像のシーケンスと共に)デコーダ
に伝達される。スロープ・リストに関するこの理由は、
デコード作用の効率を改善するため、次に述べるように
デコーダがスロープテーブルを利用できるようにするた
めである。
圧縮された画像全体をデコードするに使用するマイクロ
コードは、一般にプロセッサの利用可能なマイクロコー
ドRAM310にフィットしないであろうから、デコーディン
グ動作は幾つかの“パス”に分けられる。その第1のパ
スはすべての絶対セルをデコードし、続いて相対的セル
用の他のパス及びDPCMセル用の別のパスがある。このプ
ロセスは第15図に概要が示されており、すなわち、スイ
ッチ1510の順次選択作用によって3回呼出される同一の
プロセス1520(特定形式のセル全部をデコードするた
め)で、構成されている。
プロセス1520の詳細は第16図に示されている。最初、統
計的デコーダ230と入力FIFO232はステップ1610と1620
で、統計的にコード化されたデータとセルテーブルとを
それぞれ含むVRAMのセグメントをアドレスするように初
期化される。ステップ1630ではセルテーブルの記録から
値Tを読出す。この値Tはセル形式を特定する。ステッ
プ1640では値Tを特別の“テーブルの終わり”の値と比
較する。この“テーブルの終わり”のフラッグとしては
通常は0が使用され、比較動作が迅速に行われるように
される。もし、テーブルの終わりに達しない場合には、
この値Tを処理されるセルの形式と比較する(ステップ
1650)。もしこのコードがそのとき処理されている形式
であれば、記録がデコードされ(ステップ1660)、そう
でない場合にはその記録はスキップされる(ステップ16
70)。
次にセルのデコーディング・プロセスについて詳しく説
明する。初めに、絶対及び相対的にセルのデコードを効
率的に行うためのこのプロセスのキー要素がある“スロ
ープ・テーブル”の概念を導入して説明することが必要
である。
“スロープ・テーブル”の概念は第17A図と第17B図に例
示されている。第17A図は双線形多項式関数Ax+By+C
でフィルされる矩形領域を表わしている。この様な双線
形関数は、この関数からの値で直接フィルされる絶対セ
ルと、この関数によって与えられる値をそのときより前
のビデオ画像のセルからのピクセル値に加算する相対的
にセルと双方に使用されるものであることを、想起され
たい。スロープ・テーブルは絶対及び相対的セルの双方
に対して同一のものである。
関数P(x,y)=Ax+By+Cの値は、第1行の値P0、P
1、P2等として、及び第2行P0′P1′、P2′等として示
されている。この関数の値をリラルタイムで計算しよう
とする場合、2つの問題が生じる。第1の問題は2つの
乗算(AxとBy)が必要なことである。もし係数(A、
B、C)がすべて整数であれば、周知の増分加算法によ
ってこの問題は解決することができる。これは、P(x
+1,y)=P(x,y)+Aという事実、すなわち、セル内
の1つの水平線内の相連続するピクセルの値は累算器に
値Aを順次加算することによって計算できるということ
を利用している。しかし、この発明の場合には、Cの値
は常に整数であるが、AとBの値はそうではない。その
理由は、画像のルミナンス値の空間的変化は通常1ピク
セル当たり1グレーレベルよりも小さいからである。そ
れで、事実、A、Bは小数部をもっているだけでなく、
普通は絶対値1よりも小さい。また、2つのピクセル値
は1命令サイクル中に計算されるから、これらのピクセ
ル値の計算に飽和を伴う2重加算動作(デュアル・アッ
ド・ウイズ・サチュレート・オペレーション)を使用す
ることも望ましい。しかし、この飽和を伴う2重加算動
作は整数の加算だけに適用できるもので、小数のスロー
プ値を累算することはできない。
この第2の問題を解決するために、“スロープ・リス
ト”と“スロープ・テーブル”を使用する。フロープ・
リストは、処理される全画像に対して排他的なスロープ
値として使用される。AとBの特定値(1/256の精度で
特定されている)の小さなセットである。換言すれば、
その画像内で自然に発生するAとBの値のそれぞれは、
このスロープ・リスト中の1つの値で近似される。次
に、このスロープ・リスト中で見られるAの特定値に対
する関数P(x,y)を評価した結果を示す第17A図につい
て考察する。差分の値D0、D1、D2、D3等は、1つの中間
ピクセル値を介して隔てられたピクセル値相互間の差の
整数部として計算されている。たとえば、D2はP2-P0の
値の整数部に等しく、D3はP3-P1の整数部に等しく、以
下同様という具合になっている。最初の差分の値D0とD1
の対は実際のピクセル値P0とP1から値P0をそれぞれ差引
いて得たものであることに注意された。
この差分の値の組みは、多項式中のAの値にのみ依存す
るものであるから、スロープ・リスト内のAの各値に対
して差分の値を算出することができる。与えられたスロ
ープ・リストについてその様なすべてのテーブルの組を
“Xスロープ・テーブル”と名付ける。特定のスロープ
・リストが与えられると、整数の値を含むスロープ・テ
ーブルは、リアルタイムのデコーディング・コストがほ
とんどなしで完全に予め算出されたVRAM216中に記憶す
ることができる。
この図にはピクセルが対をなして示されているが、それ
は第4B図を参照して前述したデコーディング・プロセッ
サ中でデコーディング・プロセスに飽和を伴う2重加算
ALU動作を使用するからである。この図に示されている
値はすべて8−ビット値であり、各値の対は1つの16−
ビット・ワードにパックされている。このXスロープ・
テーブルを利用できるものとすれば、関数P(x,y)の
値は、たとえば次の様な単一のALU演算で計算すること
ができる。
(P4、P5)=(P2、P3)+〕(D4、D5) ここに、+〕は飽和を伴う2重加算動作を表わしてい
る。初めに、累加レジスタに対をなす8−ビット値(P
0、P0)をロードし、順次スロープ・テーブルからの対
をなす値を加算することによって、各ピクセル値の対に
対して1回だけのALU動作を使ってP(x,y)値の正確な
再構成を行うことができる。
上記の方法は1走査線上の値を発生するだけである。次
の走査線を発生させるには値(P0′、P0′)が必要とな
る。それは、次の計算で得られる。
(P0′、P0′)=(P0、P0)+〕(Q0、Q0) ここに、(Q0、Q0)は、Xスロープ・テーブルから類推
できるがそれとは異なる構成をもつ“Yスロープ・テー
ブル”からの値である。第17A図に示されるようにYス
ロープ・テーブルでは、関数P(x,y)の垂直方向に隣
接する値を減算してそのスロープ・テーブル値を得てい
る。この点が、1つの中間ピクセルで隔てられている値
同士が減算されるXスロープ・テーブルと違う点であ
る。また、Yスロープ・テーブルでは、2つの8−ビッ
ト・ワードの両半部に同一値が重複している。
要約すると、ビデオ信号プロセッサ210は、圧縮された
ビデオ・データの一部として現在の画像に使用されるス
ロープのリストを含んでいるスロープ・リストを受入れ
る。プロセッサ210は次に、絶対または相対的セルをデ
コーディングするに先立って、スロープ・リスト中の各
スロープに1個のベクトル・エントリーをもってXとY
の両スロープ・テーブルを構成する。これらのスロープ
・テーブルばVRAM216中の予め定められた位置に記憶さ
れる。スロープ・テーブルはスロープ・リストにではな
く、セル・テーブルにコード化することも考えられる
が、スロープ・リストの方がよりコンパクトであるから
コード化効率の面で有効である。
スロープ・リストとX及びYスロープ・テーブルの概念
が第17B図の例に示されている。上述のように、XとY
スロープ・テーブルはそれぞれスロープ・リスト中のど
のスロープ値に対してもエントリーを持っている。エン
トリーは、Xスロープ・エントリーについては1つおき
のピクセル値相互間の差に相当する一連の値で、またY
スロープ・エントリーについては隣接ピクセル値相互間
の差に相当する一連の値で構成されている。下記の例で
は、スロープ・リスト中の項目(アイテム)6に対する
Xスロープ・テーブル・エントリー、1.25とスロープ・
リスト中の項目10に対するYスロープ・テーブル・エン
トリー、2.25とが発生される。
Xスロープ・テーブル・エントリーは、16−ビットのス
ロープ値を前の和に繰返し加算することによってランニ
ング和を累加することにより発生させられる。各加算動
作の後、累加された和の整数部(すなわち、8個のMS
B)が記憶される。このXスロープ・テーブル・エント
リーはこの記憶された値の1つおきのものの差をとるこ
とによって生成される。これらの値は選ばれたスロープ
値に対するXスロープ・テーブル・エントリーとして記
憶される。Xスロープ・テーブル・エントリーを発生す
るアルゴリズムは、中間の介在値によって隔てられてい
る値相互間の差を記憶する。その理由はXスロープ・テ
ーブル・エントリーから絶対または相対的セルを再構成
するのに飽和を伴う2重加算動作を使用するからであ
る。この動作は並列的に2つの加算を行うので、絶対ま
たは相対的セルを再構成するためのアルゴリズムは、サ
ンプルの1つおきのものの各和を別々に累加する。この
Xスロープ・テーブル・エントリーはこの2重累加動作
が正しく効率的に行われるように配列される。Yスロー
プ・テーブル・エントリーを発生させるには、選ばれた
スロープ値を上記と同様に累加しその累加和の整数部を
記憶する。しかし、Yスロープ・テーブル・エントリー
中に記憶される差の値は、記憶サンプルの隣接するもの
同士から生成される。
第18図は、プロセッサが絶対セルのデコードを実行する
動作のシーケンスを示している。最初のステップ1810
は、デコーディング・プロセスの残余の期間中、より効
率良くアクセスするために、入力FIFO232を使ってセル
・テーブルからデータRAM228へ値を転送することであ
る。ステップ1812は、値Aに相当するXスロープ・テー
ブル・エントリーを、入力FIFO234を使ってセル・テー
ブル・エントリーからデータRAM228へ転送することであ
る。これは、セル・テーブル・エントリーを、下記する
プロセスの“インナ・ループ”中の高速アクセスに利用
できるように行われる。ステップ1814は出力FIFO236
を、そのセルの開始点に相当する現在の画像ビット・マ
ップ中のアドレスに初期化する。ステップ1816は入力FI
FO234をYスロープ・テーブル中の第1エントリーを指
すように初期化する。次のステップ1818では、たとえば
データ・パス242中のR3(記号的に“値”という)レジ
スタを値(C、C)に、すなわちセル・テーブル記録か
ら上位8ビット位置と下位8ビット位置の双方に一定値
Cをもつ16−ビット・ワードに、初期化する。ステップ
1820では、他のレジスタたとえば‘yカウント’と呼ぶ
レジスタR2をセル・テーブル・エントリーからの値Hに
初期化する。
ステップ1822は、プロセス中の“アウタ・ループ(oute
r loop)”すなわち処理されるセルの各走査線に対して
1回行われるループ、を始める。先ず(ステップ182
2)、データRAM228中のポインタ・レジスタの1個たと
えばDR2を、既にステップ1812でデータRAM228中に転送
されている、Xスロープ・テーブル中の第1エントリー
を指すように初期化する。ステップ1824では、データ・
パス回路242のループ・カウンタ514(記号的には‘cnt'
という)を値W/2に初期化する。これは、セルの各水平
線に対して発生されるピクセル値対の数である。約束と
して、このコード化システムは1線当たり偶数個のピク
セルを有するセルを発生するだけとする。従って、Wは
常に偶数である。ステップ1826はレジスタ“値”中にあ
る値をALU244の出力レジスタ416にパスさせ、これはス
ロープ・テーブルの説明で前述したように出力ピクセル
値を累加するのに使用されるものである。ステップ1828
はこのプロセスの“インナ・ループ”であって、詳細に
下記するが、セル線の水平線上における各ピクセル対に
対して1回行われる。そのセルに対してピクセル・テー
ブルの1水平線の処理の後、次のステップ1830では、
“値”にYスロープ・テーブル値を加算する。これは第
17A図に関連して前述したように、計算値=値+〕(Q
0、Q0)と等価である。ステップ1832は、出力FIFO236を
セル中の次の水平線の開始ピクセル・アドレスに再初期
化し、ステップ1834は、‘yカウント’の値を減少させ
る。テスト1836は、‘yカウント’が0に到達したか、
ステップ1822へループバックしたか(もし上記が0に到
達しなければ)或いはループを出た(0に到達して)
か、どうかをチェックする。これで、1つの絶対セルの
処理が完了する。
第19図は第18図のプロセスのインナ・ループ1828を実際
のマイクロコード制御ワードまたは命令の形で示してい
る。インナ・ループ1828は、ループ・カウンタ514の制
御下で交互に実行される2つの命令から成っている。こ
こに掲示されている命令アドレスは例示目的だけのもの
であるが、下記するように、条件付きのブランチ動作が
マイクロコードRAMとシーケンシング回路226によって行
われるやり方のために、それらの番号は完全には任意的
なものではない。
第1の命令(1)は、計算ALU=ALU+〕*DR2++を行
う。ここに、記号*DR2++はテーブル4に関連して前述
した通りである。この計算は、Xスロープ・テーブル・
エントリーからの1対の値をALU出力レジスタ416(双線
形関数値の累算器として使用されている)に加算し、ま
たデータRAM228のポインタ・レジスタDR2をスロープ・
テーブル中の次の対をなす値を指すように自動増加させ
る。この命令は、また、ループ・カウンタを減少させ、
次いでマイクロコードRAMとシーケンシング回路226を次
のマイクロコード制御ワードである命令2をロードする
ような条件付けも行う。命令2は、回路210を制御してA
LU出力レジスタ416中の値を出力FIFO236を通して送るよ
うにし、こうしてVRAM中に2つのピクセル値を書込む。
この命令に関して、ループ・カウンタ0条件を使用して
条件付きブランチがセットされる。もしこの条件が誤り
であれば、制御は命令1へパスしてループが継続する。
水平線のピクセル・データが完了すると、ループ・カウ
ンタは0になり、その条件は真であり、マイクロコード
・シーケンサはアドレスのLSBを強制的に0にするよう
にさせられる。これによって、命令0へジャンプが起こ
り、従ってインナ・ループから出口へ出て行く。
これは2命令ループであり、かつループを一周するごと
に2個のピクセル値が発生されるので、このインナ・ル
ープは1ピクセル値当たり1命令の速度で実行される。
一例として、命令サイクル時間が80nsで画像が256×240
ピクセルを有してプロセッサ210に休止状態が無いもの
とすれば、このインナ・ループの可能最大実行時間(す
なわち画像が1絶対セルで表わされるとすれば)0.3フ
ィールド期間(約1/200秒)である。アウタ(外部)ル
ープのような、このシステムの上記とは別のプロセス及
び第16図の処理には更にデコード時間が加わる。また、
画像は通常は完全に一つの形のセルで構成されているも
のでないことを想起されたい。相対的及びDPCMセルでは
デコードするのに絶対セルの場合よりも長い時間を要す
ることが理解されよう。しかし、この様な因子があって
も、通常は2フィールド期間未満で画像をデコードする
ことができる。2フィールド期間というデコード時間は
所望のTVフレーム率30分の1秒に相当することに注意さ
れたい。
第20図は、プロセッサ210が相対的セルのデコードを実
行する動作のシーケンスを示している。多くのステップ
は絶対セルのデコーディング・プロセスにおけるステッ
プと同様なものであるが、幾つかの重要な相違点があ
る。この相対的セルのデコーディング・プロセスでは、
双線形多項式Ax+By+Cの値を発生させることの他に、
この関数の値を前の画像ビット・マップの矩形領域から
得られるピクセル値に加算する。こうして得た和は、次
に現在の画像ビット・マップに書込まれる。更に、この
ピクセル値は、前の画像のビット・マップから直接取出
されるのではなく、ピクセル補間器246を使ってそれら
のピクセル群から補間することにより得られる。
ピクセル補間器246は、パイプライン構成であるから、
その出力値は入力値に対して遅延する。この時間的遅延
は、現在の及びそれより前の画像セル中のピクセルを通
して行われる走査動作を複雑なものとする。その理由は
入力及び出力FIFOの歩調が揃っていないからである。こ
の問題は、インナ・ループを2つの同じ命令グループに
分割することによって解決される。W/2回実行される1
つのインナ・ループ(絶対デコーディングの場合のよう
に)の代わりに、N1回実行されるものとN2回実行される
もの(但し、N1+N2=W/2)との2つのインナ・ループ
がある。この値N1とN2は次のように予め計算される。す
なわち、第1のインナ・ループの後入力FIFO232が前の
画像ビット・マップにおける連続する次の水平線中の開
始ピクセル位置に対する点に進められるように、及び第
2のインナ・ループの後出力FIFO236が現在の画像ビッ
ト・マップにおける現在のセルの連続する次の水平線の
開始ピクセル位置を指すよう先へ進められ得るように、
計算される。
最後に、第9図について論議したように、2本のピクセ
ル・データ走査線が前の画像から読出されて現在のセル
における1本のピクセル水平線を生成することを想起さ
れたい。VRAM216に対するアクセス回数を減らす、従っ
てデコーディング時間を減少させるために、第20図のプ
ロセスは、このプロセスのYループを通じてある時に使
用される2本の線のうちの下側の線は、Yループを通じ
て次に使用される2本の線のうちの上側の線と同じ線で
あるという事実を利用している。回路210は、従って、V
RAMからこのデータを2回読出す代わりに、このループ
を1周するごとに次のループ1周で使用するためにこの
データをデータRAM228中の“ライン・バッファ”に記憶
させる。
第20図に示したプロセスは、セル・テーブル記録からデ
ータRAM228に対して値を転送するステップ2010から始ま
る。ステップ2012は、現在のセル・テーブル記録から得
られる値AのXスロープ・テーブル・エントリーを、VR
AM216からデータRAM228へ転送する。これらの転送動作
には入力FIFO232を使用する。ステップ2014、2016及び2
018は、それぞれ、現在の画像ビット・マップを指すよ
うに出力FIFO236の初期化、前の画像ビット・マップを
指すように入力FIFO232の初期化、その時のセル・テー
ブル記録からの値Bに相当するYスロープ・テーブル・
エントリーを指すように入力FIFO234の初期化を行うス
テップである。ステップ2020は、ΔXとΔYの小数部に
等しい変位値でピクセル補間器246を初期化する。この
ピクセル補間器は、前の画像の開始点アドレスのLSBが
0であれば“同相(イン・フェーズ)”モードに初期化
され、そうでなければ“離相(アウト・オブ・フェー
ズ)”モードで働くようにセットされる。ステップ2022
は、デコーディング・プロセスの残部で使用するために
Wの値を2等分する。ステップ2024は2つのインナ・ル
ープのカウント値であるN1とN2の値を計算する(矩形枠
2024では、この可変“位相”は前の画像の開始点アドレ
スLSBと同一値を持っている)。ステップ2026は、レジ
スタをセル・テーブル記録からのHの値に初期化して、
セル中の水平線をカウントするようにする。ステップ20
28は、前の画像セルの1本の水平線をデータRAM228のラ
インバッファ中にロードし、ポインタ・レジスタDR1とD
R2をその線バッファ中の第1の16−ビット値を指すよう
にリセットする。ステップ2030は、ピクセル補間器246
のパイプラインを、最初の有効な結果をそこから読出す
ことのできる点までロードする。たとえば、第9B図を参
照すれば、ステップ2030は命令サイクルT1乃至T11
含んでいる。
ステップ2030はこのプロセスの“アウタ・ループ”の出
発点である。先ず、(ステップ2032)、データRAM228中
の1つのポインタ(例えばDR0)を、Xスロープ・テー
ブル・エントリー中の第1の値を指すように初期化す
る。次に、現在のセル・テーブル記録からの複製(ジュ
ープリケーテッド)定数項である値(C、C)が、双線
形関数P(x,y)の値を累加するのに使用されるALU244
のB入力ラッチ412中にロードされる。ステップ2036、2
038及び2039は、インナ・ループ命令を初期化しN1回
(ただし、N1は0のこともある)実行する。ステップ20
40は、次に入力FIFO232を前の画像からのセルにおける
次の水平線の開始点を指すようにリセットする。ステッ
プ2042はラインバッファ・ポインタ(DR1とDR2)をこの
ラインバッファの開始点を指すようにリセットする。ス
テップ2044、2046及び2048はインナ・ループ命令を初期
化しN2回実行する(ここに、N2は0のこともある)。
ステップ2050では、出力FIFO236が使用したアドレス値
を現在のビット・マップ用のセルの次の線における第1
ピクセル位置を指すように進める。ステップ2052は、ピ
クセル補間器を通してもう1つの値の組み(4ピクセ
ル)をパスさせる。これらの値は、前の画像におけるセ
ルの右端を少し越えた位置を有するピクセルに相当し、
線上の最後の補間結果を生成するのに使用される。しか
し、このステップは、また、ピクセル補間器に別の1対
の結果が生じさせる。この結果はステップ2052で読出さ
れ、簡単に破棄される。ステップ2054は‘yカウント’
の値を減少させ、テスト2056では、そのセルのピクセル
値の最終水平線の処理が完了したかどうかをチェックす
る。もし完了していれば、プロセッサはアウタ・ループ
を出し、そうでなければステップ2033でこのループを継
続する。
第21図は、第20図に示したプロセスのインナ・ループを
示している。このループは4つの命令で構成されてい
る。第1の命令(1)はALU244のB入力レジスタ412に
おける値をある値*DR0(すなわち、レジスタD0に保持さ
れているアドレス値を有するデータRAMセル中の値)に
加算する。この値はXスロープ・テーブルから与えられ
る。またこの命令の期間中DR0中に保持されているアド
レス値は1だけ増分増加される。ALU244のB入力レジス
タ412は双線形関数Ax+By+Cの値を累加するのに使用
されていることを想起すべきである。命令1は、また入
力ALU232を使って1対のピクセル値を読出し、それをデ
ータ・パルス回路242のレジスタR0中にロードする。こ
れらのピクセル値は、ピクセル補間器に印加されて1対
の補間ピクセル値を発生させる4つのピクセルのうちの
下側の相当する。次の命令2は、ALU出力値(命令1の
結果)をB入力レジスタ412に戻して配置する。これ
は、また、この値をピクセル補間器246の出力値に加算
して、連続する2つのピクセルに対する、関数Ax+By+
C+前の画像の値を生成する。この対をなすピクセル値
は次の命令3で出力FIFO236を介してVRAM216中に書込ま
れる。その上、命令3は、レジスタDR1に保持されてい
るアドレス値を使って、データRAM228に保持されたライ
ンバッファからの値(2ピクセル)をピクセル補間器に
ロードする。これらのピクセルは補間器246に供給され
ている4ピクセルのうちの上側の対に相当する。この命
令はまたデータ・パス回路242のループ・カウンタ514を
増分減少させる。最後に命令4は、補間器246に対する
ピクセル値の下側の対である、レジスタR0中の値をとっ
て、この値をピクセル補間器246とデータRAM228中のラ
インバッファの双方にロードする(レジスタDR2中のア
ドレスを使って)。ループ・カウンタが0に到達するこ
とに基づく条件付きブランチ動作により所要数のピクセ
ル値が発生されるまでループ中でこの命令が繰返される
ようにする。
このインナ・ループは4つの命令サイクルで2ピクセル
値を発生し、これは休止条体が無いものとすれば、256
×240の画像の0.6フィールドの最大総経過時間に相当す
る(これは、インナ・ループだけについてのもので、前
述した他のオーバーヘッドは無視している)。
第22図は、DPCMセルのデコーディングに含まれている動
作のシーケンスを示す。DPCMセル中の各ピクセル値は圧
縮されたビデオ画像のデータ・セグメント中の1個の値
Vでコード化される。この値Vは、現在の画像における
可能性のあるすべてのピクセル−ピクセル間の差を含ん
でいる値のテーブル(テーブルD)に対するインデクス
をなしていると解釈される。このテーブルDはデータRA
M228に記憶されている。DPCMセルの大部分のピクセル値
は、テーブルDから得られる差のピクセル値をターゲッ
ト・ピクセルのすぐ左のピクセル値に加えることによ
り、発生される。セルの左端のピクセル値はテーブルD
からの差のピクセル値を前の線の対応する値に加えるこ
とによって発生される。セルの左上隅のピクセルの“上
にある”仮想ピクセルは一定値128を有するものと見な
す。
DPCMデコーディング・プロセスは、VRAM216中のセル・
テーブルからの値X POS、Y POS、H、W、を入力FIFO23
2を介してデータRAM228に転送する(ステップ2210)こ
とによって始まる。次に、出力FIFO236が現在のセルの
左上隅のピクセルに相当するアドレス(X POS、Y POS)
を指すように、初期化される(ステップ2212)。ステッ
プ2214ではレジスタ、たとえばR3(‘最後の線’)が値
128にセットされる。このレジスタ‘最後の線’は、現
在の線の第1ピクセルを発生させるときに使用するた
め、前の線の第1ピクセル値を記憶するのに使用され
る。ステップ2216は、セル中の水平線数を保持してい
る、たとえばR2のようなレジスタ‘yカウント’をロー
ドする。
ステップ2218はデータ・パス回路242のループ・カウン
タ514にセル・テーブル記録からの値Wをロードする。
ステップ2220は値*DR2(すなわちテーブルDからの値)
を読出すレジスタDR2中に統計的デコーダ230からのV
(すなわちテーブルDに対するインデクス)をロードす
ることによって、水平線上の第1ピクセルの値を計算
し、次に計算“最後の線=最後の線+〕*DR2"を行う。
次に、インナ・ループが実行される(ステップ2222)。
最後に、出力FIFOがその時のビット・マップの次の水平
線の第1ピクセル値を指すようにリセットされ(ステッ
プ224)、レジスタ‘yカウント’は減分減少させられ
てループが終了する(すなわち、yカウント=0のと
き)までテストされる(ステップ2226、2228)。
第23図はDPCMデコーディング・プロセスのインナ・ルー
プに対するマイクロコード命令を示している。最初の命
令2は、現在の累加値(ALU出力レジスタ416中の)を出
力FIFO236を介してVRAM216に書込み、またこの値をデー
タ・パス回路242のレジスタR1中に記憶させる。このル
ープの最初の命令は、ループ・カウンタ514に保持され
ている値が0かどうかによって、ループを出るかまたは
継続する条件付きブランチを持っている。次の命令1
は、統計的デコーダ230を使ってVRAM216からV値を読出
してこれをレジスタR0中に記憶させる。次の命令3は、
レジスタR0からのこの値をデータRAM回路228のレジスタ
DR2に転送する。このループの最後の命令4は、レジス
タR1中の前のピクセル値を値*DR2(データRAM228中のテ
ーブルDからの差の値である)に加算し、ループの一番
上にブランチバックさせる。
DPCMデータのデコードに使用されるこの命令シーケンス
のインナ・ループは飽和を伴う2重加算動作である。こ
の命令シーケンスは、A BUSとB BUSの両バスの8個のLS
B位置によって運ばれるデータの1個のバイトについて
動作している。この飽和を伴う2重加算動作は、実際の
差の値ではなくテーブルDから得られる近似的な差の値
を使用することから生ずるどの様な誤った差の値をも飽
和させるために使用される。この形式の飽和加算法は、
飽和を伴う2重加算動作においてALU244によってのみ支
持される。
このDPCMデコーディング命令シーケンスのインナ・ルー
プは4つの命令ごとに1ピクセルを発生し、これは休止
状態が無いとすれば、インナ・ループのみについて、25
6×240の画像に対して1.2フィールドの最大総経過時間
に相当する。
これまでの、ビデオ信号プロセッサ210の内部回路、デ
コーディング・プロセス、及びインナ・ループの実際の
マイクロコード命令に関する説明を利用すれば、当業者
にとって、完全なデコーディング・プロセスを構成する
マイクロコード命令シーケンスを作ることは容易な筈で
ある。
上述したこの発明の実施例では、信号源212から供給さ
れる圧縮されたデータはセル・テーブルの形式である
が、他の形式たとえば2進トリーの形でデータを供給す
ることも考えられる。その場合には、プロセッサ210は
2進トリー・データをセル・テーブル形式に変換するよ
うにプログラムされることになろう。
フロントページの続き (72)発明者 クワン,アルフレツド ユーク‐フアイ アメリカ合衆国 ニユージヤージ州 08857 オールド・ブリツジ ダイアモン ド・レーン 86 (56)参考文献 特開 昭56−36727(JP,A) 特開 昭55−85935(JP,A) 特開 昭50−105340(JP,A) 特開 昭51−10928(JP,A) 実開 昭58−171541(JP,U) 特公 昭61−20885(JP,B2) 特公 昭63−60395(JP,B2) 米国特許3665412(US,A) 米国特許3798591(US,A) 米国特許4056847(US,A) 米国特許4243984(US,A) 欧州公開132123(EP,A)

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】デジタルデータを保持するためのメモリ
    と、このメモリからデータを読出すための入力チャンネ
    ルと、この入力チャンネルを介して上記メモリから読出
    されたデータに応答し、処理されたデータを発生するプ
    ロッセッサと、この処理されたデータを上記メモリに書
    込むための出力チャンネルとを含むビデオ信号処理シス
    テムであって、 上記入力チャンネルに結合されており、正規メモリ読出
    し要求信号と緊急メモリ読出し要求信号とを発生する第
    1の要求手段と、 上記出力チャンネルに結合されており、正規メモリ書込
    み要求信号と緊急メモリ書込み要求信号とを発生する第
    2の要求手段と、 上記正規メモリ読出し要求信号と上記正規メモリ書込み
    要求信号とを受取るように結合されていて、上記メモリ
    が、第1の優先度基準に従って、上記入力チャンネルに
    データを供給し、上記出力チャンネルからのデータを受
    入れるようにする第1のスケジューリング手段と、 上記緊急メモリ読出し要求信号と上記緊急メモリ書込み
    要求信号とを受取るように結合されていて、上記メモリ
    が、第2の優先度基準に従って、上記入力チャンネルに
    データを供給し、また、上記出力チャンネルからデータ
    を受入れるようにする第2のスケジューリング手段と、 を含み、上記緊急メモリ読出し要求信号または上記緊急
    メモリ書込み要求信号を受取ったとき、上記第2のスケ
    ジューリング手段が上記第1のスケジューリング手段を
    ディスエーブルする、上記メモリへのアクセスを制御す
    るための回路、 を具備するビデオ信号処理システム。
  2. 【請求項2】上記第2のスケジューリング手段が、 上記第1および第2の要求手段から緊急メモリ要求を受
    取る優先度デコーダであって、優先データ要求信号が所
    定の順序で結合され、上記第2の優先度基準に従ってデ
    ータを供給しおよび受入れるよう上記メモリを制御する
    信号を出力する出力ポートを有する上記優先度デコーダ
    と、 この優先度デコーダの出力ポートに結合されたデータ入
    力ポートと、上記メモリを制御する上記信号のシーケン
    スが得られる出力ポートとを有するクロック制御される
    データレジスタと、 を含むものである、請求項1に記載されたビデオ信号処
    理システム。
  3. 【請求項3】上記第1のスケジューリング手段が、 正規データ要求信号が結合されるデータ入力ポートと、
    シフト制御入力ポートと、出力ポートとを有するバレル
    シフタと、 上記第1および第2の要求手段からの正規メモリ要求を
    処理する優先度デコーダであって、上記バレルシフタの
    出力ポートに結合された入力ポートと、上記第1の優先
    度基準に従ってデータを供給しおよび受入れるよう上記
    メモリを制御する信号を出力する出力ポートとを有する
    上記優先度デコーダと、 上記優先度デコーダの出力ポートに結合された入力ポー
    トと、上記シフト制御入力ポートに結合された出力ポー
    トとを有するモジュローnのアキュムレータであって、
    nが上記バレルシフタに結合されるデータ要求信号の数
    に等しい整数であり、また、上記正規データ要求信号の
    シーケンスが上記アキュムレータの出力ポートに得られ
    るようにされているアキュムレータと、 を含むものである、請求項1に記載されたビデオ信号処
    理システム。
JP63509175A 1987-11-16 1988-11-03 ビデオ信号処理システム Expired - Lifetime JPH0752467B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US07/121,025 US5088053A (en) 1987-11-16 1987-11-16 Memory controller as for a video signal processor
US121,025 1987-11-16
PCT/US1988/003814 WO1989005012A1 (en) 1987-11-16 1988-11-03 Memory controller as for a video signal processor

Publications (2)

Publication Number Publication Date
JPH03501539A JPH03501539A (ja) 1991-04-04
JPH0752467B2 true JPH0752467B2 (ja) 1995-06-05

Family

ID=22394018

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63509175A Expired - Lifetime JPH0752467B2 (ja) 1987-11-16 1988-11-03 ビデオ信号処理システム

Country Status (7)

Country Link
US (1) US5088053A (ja)
EP (1) EP0398881B1 (ja)
JP (1) JPH0752467B2 (ja)
KR (1) KR960006501B1 (ja)
CA (1) CA1319421C (ja)
DE (1) DE3884221T2 (ja)
WO (1) WO1989005012A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2026527A1 (en) * 1989-10-11 1991-04-12 Douglas A. Fischer Parallel polygon/pixel rendering engine
US5247612A (en) * 1990-06-29 1993-09-21 Radius Inc. Pixel display apparatus and method using a first-in, first-out buffer
CA2065979C (en) * 1991-06-10 1999-01-19 Stephen Patrick Thompson Mode dependent minimum fifo fill level controls processor access to video memory
US5261047A (en) * 1991-10-29 1993-11-09 Xerox Corporation Bus arbitration scheme for facilitating operation of a printing apparatus
DE69322532T2 (de) * 1992-02-26 1999-04-29 Cirrus Logic Inc Digitale Verarbeitungseinheit für Videoschnitt
US5450544A (en) * 1992-06-19 1995-09-12 Intel Corporation Method and apparatus for data buffering and queue management of digital motion video signals
US5799205A (en) * 1992-11-13 1998-08-25 Mannesmann Aktiengesellschaft Transfer system for data exchange using two active central processing units directly connected together parallel to serial system bus directly connecting CPUs to dispersed devices
US5614952A (en) * 1994-10-11 1997-03-25 Hitachi America, Ltd. Digital video decoder for decoding digital high definition and/or digital standard definition television signals
JP2790007B2 (ja) * 1993-07-29 1998-08-27 日本電気株式会社 画像メモリアクセス制御方式
US5832304A (en) * 1995-03-15 1998-11-03 Unisys Corporation Memory queue with adjustable priority and conflict detection
US5701434A (en) * 1995-03-16 1997-12-23 Hitachi, Ltd. Interleave memory controller with a common access queue
US5933855A (en) * 1997-03-21 1999-08-03 Rubinstein; Richard Shared, reconfigurable memory architectures for digital signal processing
US5956047A (en) * 1997-04-30 1999-09-21 Hewlett-Packard Co. ROM-based control units in a geometry accelerator for a computer graphics system
US6184902B1 (en) * 1997-04-30 2001-02-06 Hewlett-Packard Company Centralized branch intelligence system and method for a geometry accelerator
US5930519A (en) * 1997-04-30 1999-07-27 Hewlett Packard Company Distributed branch logic system and method for a geometry accelerator
GB2329985A (en) * 1997-10-02 1999-04-07 Motorola Ltd Shared memory control method
GB9724028D0 (en) * 1997-11-13 1998-01-14 Advanced Telecommunications Mo Shared memory access controller
FR2778258A1 (fr) * 1998-04-29 1999-11-05 Texas Instruments France Controleur d'acces de trafic dans une memoire, systeme de calcul comprenant ce controleur d'acces et procede de fonctionnement d'un tel controleur d'acces
US6205181B1 (en) 1998-03-10 2001-03-20 Chips & Technologies, Llc Interleaved strip data storage system for video processing
US6798420B1 (en) * 1998-11-09 2004-09-28 Broadcom Corporation Video and graphics system with a single-port RAM
US6404935B1 (en) * 1999-06-02 2002-06-11 Sun Microsystems, Inc. Area efficient two-stage correction log look-up
DE69935852T2 (de) 1999-06-09 2007-12-20 Texas Instruments Inc., Dallas Host-Zugriff zu gemeinschaftlichem Speicher mit Hochprioritätsbetriebsart
WO2003029099A1 (fr) * 2001-09-27 2003-04-10 Tetra Laval Holdings & Finance S.A. Materiau d'emballage en papier destine a un aliment liquide et procede de fabrication associe
JP2003122309A (ja) * 2001-10-03 2003-04-25 Koninkl Philips Electronics Nv 表示装置
US20070005408A1 (en) * 2005-06-30 2007-01-04 International Business Machines Corporation Method and structure for agenda based scheduling using sub-events with automated management functions
US20070005409A1 (en) * 2005-06-30 2007-01-04 International Business Machines Corporation Method and structure for overriding calendar entries based on context and business value
US8537890B2 (en) * 2007-03-23 2013-09-17 Ati Technologies Ulc Video decoder with adaptive outputs
US8139632B2 (en) * 2007-03-23 2012-03-20 Advanced Micro Devices, Inc. Video decoder with adaptive outputs
CN117112030B (zh) * 2023-09-12 2024-03-26 南京微盟电子有限公司 一种寄存器组地址自动累加电路及应用方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50105340A (ja) * 1974-01-25 1975-08-20
JPS5110928A (en) * 1974-07-17 1976-01-28 Canon Kk Denjireriizusochio naizoshita ichiganrefukamera
JPS5115336A (ja) * 1974-07-29 1976-02-06 Yokogawa Electric Works Ltd
JPS5585935A (en) * 1978-11-06 1980-06-28 Honeywell Inf Systems Access demand processor
JPS5636727A (en) * 1979-08-31 1981-04-10 Nec Corp Information transfer system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3665412A (en) * 1970-07-20 1972-05-23 Informalique Comp Int Numerical data multi-processor system
US3798591A (en) * 1971-09-28 1974-03-19 Gen Electric Co Ltd Access circuit for a time-shared data processing equipment
US4056847A (en) * 1976-08-04 1977-11-01 Rca Corporation Priority vector interrupt system
US4243984A (en) * 1979-03-08 1981-01-06 Texas Instruments Incorporated Video display processor
JPS588348A (ja) * 1981-07-07 1983-01-18 Sony Corp 出力表示用メモリの制御回路
EP0132123A3 (en) * 1983-07-13 1988-08-03 Kabushiki Kaisha Toshiba Memory address control apparatus
CA1231186A (en) * 1983-12-20 1988-01-05 Takatoshi Ishii Display control system
US4757312A (en) * 1984-06-29 1988-07-12 Hitachi, Ltd. Image display apparatus
JPS61180291A (ja) * 1985-02-05 1986-08-12 東芝テック株式会社 ドツト文字表示装置
US4704697A (en) * 1985-06-17 1987-11-03 Counterpoint Computers Multiple station video memory
JPS6326726A (ja) * 1986-07-21 1988-02-04 Toshiba Corp 情報処理装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50105340A (ja) * 1974-01-25 1975-08-20
JPS5110928A (en) * 1974-07-17 1976-01-28 Canon Kk Denjireriizusochio naizoshita ichiganrefukamera
JPS5115336A (ja) * 1974-07-29 1976-02-06 Yokogawa Electric Works Ltd
JPS5585935A (en) * 1978-11-06 1980-06-28 Honeywell Inf Systems Access demand processor
JPS5636727A (en) * 1979-08-31 1981-04-10 Nec Corp Information transfer system

Also Published As

Publication number Publication date
CA1319421C (en) 1993-06-22
DE3884221T2 (de) 1994-01-13
EP0398881B1 (en) 1993-09-15
KR960006501B1 (ko) 1996-05-16
WO1989005012A1 (en) 1989-06-01
KR890702134A (ko) 1989-12-22
EP0398881A1 (en) 1990-11-28
US5088053A (en) 1992-02-11
JPH03501539A (ja) 1991-04-04
DE3884221D1 (de) 1993-10-21

Similar Documents

Publication Publication Date Title
JPH0752467B2 (ja) ビデオ信号処理システム
JP2750438B2 (ja) 2次元ピクセル補間器および2次元で補間されたピクセル値を生成する方法
JP2750462B2 (ja) ビデオ信号プロセッサ、圧縮されたビデオデータを処理するための装置、および復元されたビデオ信号を生成する集積回路
US5047975A (en) Dual mode adder circuitry with overflow detection and substitution enabled for a particular mode
US5189636A (en) Dual mode combining circuitry
US4835607A (en) Method and apparatus for expanding compressed video data
US5386233A (en) Method for efficient memory use
EP0572263A2 (en) Variable length code decoder for video decompression operations
EP0393125B1 (en) Stored program controller with a conditional branch facility as for a video signal processor
US5781134A (en) System for variable length code data stream position arrangement
US5978508A (en) Two-dimensional inverse discrete cosine transformation circuit for MPEG2 video decoder
JP3787847B2 (ja) 可変サイズメモリバスを有する映像処理システム
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
AU626847B2 (en) Dual mode adder circuitry
AU622128B2 (en) Processor for expanding a compressed video signal
JP3526511B2 (ja) 演算装置及び演算方法