Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP2750438B2 - 2次元ピクセル補間器および2次元で補間されたピクセル値を生成する方法 - Google Patents
[go: Go Back, main page]

JP2750438B2 - 2次元ピクセル補間器および2次元で補間されたピクセル値を生成する方法 - Google Patents

2次元ピクセル補間器および2次元で補間されたピクセル値を生成する方法

Info

Publication number
JP2750438B2
JP2750438B2 JP63509545A JP50954588A JP2750438B2 JP 2750438 B2 JP2750438 B2 JP 2750438B2 JP 63509545 A JP63509545 A JP 63509545A JP 50954588 A JP50954588 A JP 50954588A JP 2750438 B2 JP2750438 B2 JP 2750438B2
Authority
JP
Japan
Prior art keywords
value
signal
register
values
pixel
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
JP63509545A
Other languages
English (en)
Other versions
JPH03501553A (ja
Inventor
ハーニー,ケビン
マイケル ケイツ,ジヨン
リロイ スプレイグ,デービツド
アストル,ブライアン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of JPH03501553A publication Critical patent/JPH03501553A/ja
Application granted granted Critical
Publication of JP2750438B2 publication Critical patent/JP2750438B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

【発明の詳細な説明】 この発明は、2つの次元においてピクセルデータを補
間するパイプライン形回路に関するものである。
近年、ビデオ信号圧縮の分野では大きな進歩がなされ
ている。デジタル的にコード化されたビデオ信号の伝送
あるいは記憶を容易にするために、その信号の冗長度を
減じるために、いくつかの方法が開発されている。この
出願においては、3つの方法、以下では、絶対コード
化、差分パルスコード変調(DPCM)コード化及び相対的
コード化と称する方法が特に関係がある。これらのビデ
オ圧縮技法を以下に説明する。
絶対コード化された画像というのは、ある画像を複数
の隣接したセグメントに分割し、各セグメントにフィル
(fill)値を割当てることによって生成される。このフ
ィル値は、一定のルミナンス及び/またはクロミナンス
値とすることもできるし、またセグメント中のピクセル
の位置の関数としてピクセル毎に変わる値である場合も
ある。絶対コード化画像がデコードされて表示される
と、再構成されたセグメントからなるモザイクが生じ
る。
絶対コード化法は、各々が元の画像の異なるセグメン
トを記述する複数のデータ・レコード(記録)を作り出
す。これらのレコードの各々には、いくつかのフィール
ドが含まれており、各フィールドには1個以上の2進語
が含まれている。絶対コード化画像からのレコードの一
例が第1A図に示されている。このレコードは、セグメン
トの左上隅のピクセルの水平及び垂直方向の位置を示す
2つの1バイトのフィールドX POSとY POSを含んでい
る。このレコードはさらに、そのセグメントを規定する
水平及び垂直方向における、それぞれのピクセル数を示
す1バイトのフィールドWと1バイトのフィールドHと
を含んでいる。絶対コード・レコード中の最後の3つの
フィールドA、B及びCはセグメントがどのようにフィ
ルされるかを決定する。これらの値は、ある特定のピク
セルの値PVがどのように決めるかを記述する双線形(bi
linear)式(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.Kocher)氏及びレオナルディ(R.Leonardi)氏
による論文「Adaptive Region Growing Technique Usin
g Polynominal Functions For Image Approximation
(画像近似用の多項関数を用いた適応型領域成長技
法)」に見出される。
前述した第2のコード化法、DPCMは、一般的には、画
像中の各ピクセルを、予測ピクセル値と差分ピクセル値
との和として記述する。この方法は、絶対コード・レコ
ードあるいは相対的コード・レコードによっては簡単に
記述できない画像中のセグメントに適用される。DPCMレ
コードの一例が第1C図に示されている。このレコードに
おけるフィールドX POS、Y POS、W及びHは、前述した
絶対コード・レコード及び相対的コード・レコードの場
合と同じである。DPCMコード・レコードの残余の部分は
Nバイトからなるシリーズである。ここでNはW及びH
フィールドに保持されている値の積である。これらNバ
イトの中の第1のものDP0は、一定の予測値、例えば、1
28に加算されると、セグメントの左上隅のピクセルを生
成するような差の値である。次のバイトDP1は、和128+
DP0に加算されてセグメントの最上部の線(ライン)上
の次に続くピクセル値を生成する差の値である。同様
に、値DP2は、128とDP0とDP1の累算和に加算されて、セ
グメントの最上部の線上の第3番目のピクセル値を生成
する差の値である。DPCMコード・レコード中のこれらの
連続する値は、各々、レコード中の先行する値の累算値
としてピクセル値を記述する。DPCMコード化技術を用い
たビデオ信号圧縮システムの一例は、ここに参考として
挙げる米国特許第4,125,861号「Video Signal Encoding
(ビデオ信号のコード化)」に見出すことができる。
DPCMデータが第1C図に示すように記憶または伝送され
る場合、ピクセルを記述する値の各々が、コード化され
ていないピクセル値と同じように1データバイトを占有
するので、DPCMコード化技法を用いる利点が殆どあるい
は全くない。しかし、参考として挙げた特許第4,125,86
1号に記載されてるように、比較的に小さな値を有する
コード化されたバイトの発生する頻度は、比較的大きな
値を持つコード化されたバイトの発生頻度よりはるかに
大きい。このコード化されたバイトの不均一な分布が、
上記の参考として挙げた特許においては、より大きな値
のサンプルに対して用いられるビット数よりも少ないビ
ット数でより小さな値のサンプルをコード化することに
よりビデオデータストリームを更に圧縮するために利用
されている。この形式の圧縮を行なう可変長統計的エン
コーダはこの技術分野では公知である。この形式コー
ド、ハフマン(Huffman)コード、を生成するためのア
ルゴリズムは、ここに参考として挙げるアブラムソン
(N.Abramson)著、「Information Theory and Coding
(情報論理及びコード化)」、McGraw−Hill社刊、1963
年、77−85頁に記載されている。
前述した3番目のビデオ信号圧縮法は相対的コード化
法で、この出願が最も関係するものである。この相対的
コード化では、画像を、複数画像(multi−image)シー
ケンス中の前の画像から対応セグメントを用いて規定さ
れる互いに隣接したセグメントに分割される。このコー
ド化法はフルモーション(全運動)ビデオを表わす一組
のビデオフィールド用に適している。この方法を用いて
コード化した画像は複数のデータ・レコードにより表わ
される。レコードの一例が第1B図に示されている。フィ
ールドX POS、Y POS、W及びHは絶対レコードの場合と
同じである。2つの1バイトのフィールドΔXとΔY
は、その前のビデオフィールドにおける対応したセグメ
ントに対するその時のビデオ信号フィールド中のセグメ
ントの水平及び垂直方向のピクセル変位を示す。これら
の変位を表わす値は、表示画像中の互いに隣接するピク
セル間の距離の分数を単位としたものとすることができ
る。
相対的コード・レコードにおけるフィールドA、B及
びCは絶対コード・レコードにおける対応するフィール
ドと同じである。これらの値は、セグメント中のピクセ
ル値に加えられる値を作るために、双線形の式(1)の
係数として用いられる。
相対的コード化レコードは、その前の画像から対応す
るピクセル値を得、そのピクセル値をパラメータA、B
及びCを用いて双線形式(1)に従って改変することに
よってデコードされる。前の画像からの対応するピクセ
ル値は、X POSからΔXを減算し、Y POSからΔYを減算
することによって得られる。これらの演算の結果は、前
の画像におけるピクセル値のブロック左上隅を規定する
一対の座標である。
この演算は、値ΔXとΔYが整数の場合はうまくいく
が、この例におけるように、ΔXとΔYが非整数値を持
つ可能性がある場合には、前のフィールドからのピクセ
ル値を補間して、非整数オフセット(変位)に近似する
値を有する疑似ピクセルを得るのが望ましい。
相対的レコードをデコードする動作の典型的なシーケ
ンスには、前の画像のビット・マップから4つのピクセ
ル値を読出し、これら4つのピクセル値を水平及び垂直
方向に補間して1つの疑似ピクセル値を得、この疑似ピ
クセル値を式(1)に従って修正して1つのデコードさ
れたピクセル値を得ることが含まれている。
この動作シーケンスを実行するために従来の直列処理
技法を用いると、現在利用可能な最高速度のビデオ信号
処理装置を除いては、相対的コード化画像のリアルタイ
ム・デコーディングが出来ない。従って、相対的コード
化された画像のリアルタイム・デコーディングを可能と
するに充分な速度で動作できる安価な2次元ピクセル値
補間器を得ることが望ましい。
この発明の原理によれば、システムは2次元ピクセル
値補間を行う。この回路は、ピクセル値を供給するため
の入力ポートと、第1と第2の補間スケールファクタ
(scale factor)の源とを含んでいる。システムは、第
1の値を有する制御信号に応答して、入力ポートを介し
て供給される2つのピクセル値を、第1の補間縮小率を
用いて合成するピクセル補間器を含んでいる。これらの
演算の連続するものの結果が第1と第2のデータ記憶手
段に交互に供給される。このピクセル補間は、第2の値
を有する制御信号にも応答して、第1と第2のデータ記
憶手段からの値を、第2の補間縮小率を用いて合成し
て、補間済の出力ピクセル値を生成する。
この発明の推奨実施例においては、制御回路が第1と
第2の値を交互にとる制御信号を発生して、ピクセル補
間器が、入力ポートから供給されるピクセル値の合成と
第1と第2のデータ記憶手段からのピクセル値の合成と
を交互に行って、2次元的に補間された出力ピクセル値
のシーケンスを作るようにする。
前述した第1A図、第1B図及び第1C図は、3つのデータ
圧縮法により作られる記録のデータフォーマットを示す
図である。
第2図は、この発明の実施例を含むビデオ信号処理回
路のブロック図である。
第3A図は、第2図に示すビデオ信号処理回路のマイク
ロコードRAM・シーケンシング回路として用いるに適し
た回路を示すブロック図である。
第3B図は、第3A図に示す回路の動作を説明する際に有
用ないくつかの信号についての、時間の関数としての信
号振幅を示すタイミング図である。
第3C図は、第2図に示す回路で使用されるマイクロコ
ードRAM・シーケンサのためのマイクロコード制御語の
データフォーマットを示す図である。
第4A図は、第2図に示す発明の実施例で使用される算
術論理演算ユニットのブロック図である。
第4B図は、第4A図に示す算術論理演算回路の一部ブロ
ック図である。
第5図は、第2図に示す発明の実施例と共に使用され
るデータバス回路のブロック図である。
第6図は、第2図に示す発明の実施例と共に使用され
るデータRAM回路のブロック図である。
第7A図、第7B図、第7C図、第7D図及び第7E図は、第6
図に示すデータRAM回路の動作を説明するために有用な
タイミング図である。
第8A図は、この発明を実施したピクセル補間器のブロ
ック図である。
第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)である。この信号源は、圧縮されたデータ
(圧縮データ)を、例えば、各々が32ビットで構成され
たブロックとしてVRAM216に連続的に供給する。VRAM制
御ユニット238は、信号源212と回路210からのVRAM216へ
のデータアクセス要求を調整して、信号源212により供
給されるデータの全てが確実にVRAM216に書込まれるよ
うにする。
発明のこの実施例で用いられるVRAM216はNECエレクト
ロニクス社により製造されているμPD4126464K×4ビッ
トデュアルポート・ランダムアクセスメモリ集積回路12
8個で構成されている。このメモリ集積回路は、16行8
列のマトリクスに配列されている。このような構成で
は、VRAM216は、各々32ビットの1,048,576語として配列
された、4メガバイト(4MB)の記憶を提供する。
表示器用プロセッサ218は、直列出力ポートを介してV
RAM216にアクセスして、表示されたビデオ信号の有効ビ
デオ部分を生成する。ビデオ信号処理回路210と圧縮ビ
デオ信号源212は標準的な入力−出力バスを介してVRAM2
16のデータセルにアクセスする。ビデオ信号プロセッサ
210と表示器用プロセッサ218とによるVRAM216へのアク
セスは全て、回路210のVRAM制御ユニット238により制御
される。
VRAM216に保持されたデータは、統計的デコーダ230
と、入力先入れ先出し回路(以下、FIFOと称する)232
と234とによって処理回路210に供給される。また、デー
タは回路210によって、出力FIFO回路236を介してVRAM21
6に供給される。統計的デコーダ230と入力FIFO232と234
により供給されるデータ値は、データパス回路242、算
術論理演算ユニット(ALU)244及びデータRAM228に対
し、双方向データバスB BUSを介して供給される。バスB
BUSはVRAM制御ユニット238に対してアドレス値を供給
するためにも用いられる。第2の双方向バスA BUSが回
路210に設けられていて、データ値をデータパス回路24
2、ALU244及びデータRAM228の間でパスさせ、また、ピ
クセル補間器246との間でデータの授受を行うための代
替手段を形成する。上述した接続に加えて、データバス
A BUSはマイクロコードRAM・シーケンサ226に接続され
ており、場合によってはマイクロプロセッサ224にも結
合される。
概括的に説明すると、第2図に示す回路は次のように
動作する。信号源212により供給される圧縮ビデオ信号
はVRAM216に書込まれる。これらの圧縮ビデオ信号はシ
ーケンシング回路226の制御の下に、統計的デコーダ230
と入力FIFO232と234とを介してアクセスされる。デコー
ダ230とFIFO232、234により供給される値は、同じくシ
ーケンシング回路226の制御の下に、データパス242、AL
U244及びピクセル補間器246に供給されて、圧縮された
ビデオ信号を伸張し、また、コード化された画像を記述
するピクセル値を生成する。このようにして生成された
ピクセル値は、例えば240行256列のマトリクスとして、
出力FIFO236を介してVRAM216に書込まれる。これらの行
と列は、各線が256のピクセル値を持つビデオ信号の240
本の線に相当する。以下、このマトリクスをビットマッ
プと称する。このビットマップは、表示用プロセッサ21
8によってVRAM216から読出され、画像が再生される。発
明のこの実施例と共に使用される表示器用プロセッサ
は、ビットマップ中のピクセル値をビデオ信号に変換
し、また、画像をラスタ走査表示装置上に再生できるよ
うにするために必要な水平及び垂直同期信号を加える。
VRAM216から表示器用プロセッサ218へのデータの転送を
調整するために、水平線同期信号HSと垂直フィールド同
期信号VSがそれぞれの信号源220と222からプロセッサ21
0と218へ供給される。この発明の推奨実施例では、これ
らの信号は表示器用プロセッサ218で生成するようにし
てもよい。
発明のこの実施例では、クロック信号の信号源225が
マイクロコードRAM・シーケンサ回路226に、25MHzのク
ロック信号CLKを供給する。回路226は、各々12.5MHzの
周波数を有する信号CKとCK′、信号CKと実質的に同じ周
波数と位相を持つ信号CKA及び、信号CKと実質的に逆位
相の信号CKBとを発生する。信号CKAとCKBはデータパス2
42、ALU244及びピクセル補間器246に供給される。信号C
Kは統計的デコーダ230、入力FIFO232、234及び出力FIFO
236に供給される。信号CK′はVRAM制御ユニット238に供
給される。
第2図に示す回路の説明を簡単にするために、圧縮ビ
デオ信号源はコード化されたルミナンス信号のみを供給
し、回路210はビットマップを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のクロック信
号CK′を作る分周回路304に供給される。信号CLKはさら
にANDゲート306の一方の入力端子にも供給されている。
ANDゲート306の他方の入力端子はインバータ302に結合
されており、マイクロプロセッサ224により供給される
信号HALTを反転して得られ信号を受取る。ANDゲート306
の出力信号は、その周波数を2分の1に分周して12.5MH
zのクロック信号CKを作る分周回路307に供給される。信
号HALTが論理0値を持つ時は、信号CKは12.5MHzの方形
発振信号となる。しかし、信号HALTが論理1に変化する
と、クロック信号CKの状態は、信号HALTの変化が生じた
時の状態、論理1または論理0に凍結される。
以下に述べるように、マイクロコード制御語の8個の
LSBはNEXT ADDRESSフィールドを規定する。どのマイク
ロコード制御語でも、このフィールドは、マイクロコー
ドRAM310中の、命令レジスタにロードされるべき次のマ
イクロコード制御語のアドレスを含んでいる。NEXT ADD
RESSフィールドに保持されている値はマルチプレクサ
(MUX)320を介してアドレスレジスタ322に供給され
る。NEXT 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になる。この値はマルチプレクサ
314がレジスタ312の48個のLSB位置に保持されている値
を命令レジスタ316に送るようにする。
この回路が、マイクロコードRAM・シーケンサ回路226
の制御の流れ(フロー)を条件に応じて変える、すなわ
ち、条件付き分岐(ブランチ)を行うためにどのように
用いられるかを理解するために、マイクロコード制御語
AがそのCOND CODE SELフィールドに非0値(0でない
値)を有し、かつ、NEXT ADDRESSフィールドに値81を持
つものと仮定する。このマイクロコード制御語が命令レ
ジスタ316にロードされると、NEXT ADDRESSフィールド
中の8ビット値はアドレスレジスタ322に供給され、マ
イクロコードRAM310のアドレス80と81にあるマイクロコ
ード制御語がレジスタ312にロードされる。条件信号CD
の値が論理0なら、レジスタ312の48個のMSB位置(アド
レス81)を占めているマイクロコード制御語が次に用い
られることになる。信号CDの値が論理0でない場合は、
レジスタ312の48個のLSB位置(アドレス80)を占めてい
るマイクロコード制御語が次に用いられる。これらの命
令の各々はそれぞれ異るNEXT ADDRESSフィールドであ
り、従って、各々がマイクロコード制御語の異るシーケ
ンス、即ち、ビデオ信号プロセッサ210の異る作用を規
定する。マイクロコードRAM310が条件コードの可能な値
の両方についての次の命令を供給するので、条件コード
の値が求められると、次のマイクロコード制御語を取出
すために時間をロスすることがない。
マイクロコードRAM・シーケンサ回路226は、バスA BU
Sを介して供給されるマイクロコード制御語をマイクロ
コードRAM310にロードすることができる。各々がマイク
ロコード制御語の3分の1を表わす3個の16ビット値が
3個のレジスタ324に次々に供給される。最初の16ビッ
ト値がレジスタMR0に、第2の16ビット値がレジスタMR1
に、そして、第3の16ビット値がレジスタMR2にそれぞ
れ記憶される。次に、同じく入力FIFO232とデータRAM22
8を介してVRAM216により供給されるようなアドレス値が
アドレスレジスタ322に供給される。このアドレス値のL
SB、即ち、信号DXCは、デマルチプレクサ(DEMUX)326
に働いて、3つのレジスタMR0、MR1、MR2により供給さ
れる48ビット値が、マイクロコードRAM310に対するI/O
バスの48個のMSB位置と48個のLSB位置のいずれか一方に
供給されるようにする。同時に、書込み可動化(イネー
ブル)信号WEが生成され、REM310が48ビット値をアドレ
スされたメモリセルに記憶するようにする。
これらの動作によってマイクロコードRAM310に書込ま
れたマイクロコード制御語は、VRAM216から、例えば、
入力FIFO232とデータRAM回路228とを介して供給され
る。VRAM216からのマイクロコード命令をロードするこ
とができることにより、圧縮ビデオ信号源212は、圧縮
されたデータとそれを伸張するために必要な命令の双方
をビデオ信号プロセッサ210に供給することが可能とな
る。例えば、最初、後述するようにプロセッサ210を制
御するマイクロプロセッサ224によって、ブートストラ
ッププログラムがマイクロコードRAM310にロードされ
る。このブートストラッププログラム中の命令に応答し
て、マイクロコードRAM・シーケンサ回路226は、圧縮ビ
デオデータをデコードするようにプロセッサ210を可動
化する、VRAM216からの命令をロードする。
第3B図は、マイクロコード制御語MCがマイクロコード
RAM310に記憶される時のマイクロコードRAM・シーケン
シング回路226の動作を説明するタイミング図である。
このタイミング図において、記号T0〜T5は6つのマイク
ロコード命令を表わしている。各命令サイクルは信号CK
Aの正方向への遷移で始まり、終る。
命令サイクルT0においては、命令レジスタ316に保持
されているマイクロコード制御命令はそのA DSTフィー
ルドにある値(例えば8)を有し、この値は、バスA BU
Sにより伝送される16ビット値がレジスタMR0に記憶され
ることを示す。この命令サイクルでは、値MC0、即ち、
マイクロコード制御語MCの16個のLSBが、例えばデータR
AM回路228によってバスA BUSにゲートされる。命令サイ
クルT0においては、レジスタMR0は信号A DSTによって、
バスA BUSにより供給される16ビット値MC0を記憶するよ
うにされる。この記憶動作は、命令サイクルT0の中間点
における信号CKAの負方向への遷移に一致して生じる。
値MC0がレジスタMR0に記憶されるのと実質的に同時に、
命令レジスタ316中のマイクロコード制御語のNEXT ADDR
ESSフィールド中の値がアドレスレジスタ322に記憶さ
れ、かつ、このアドレス値のLSBがフリップ・フロップ3
18に記憶される。アドレスレジスタ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における信号CK
の最初の負方向遷移に一致してレジスタ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語
の48個のLSBを含んでいる。信号DXCは、ANDゲート313に
おいて、制御回路308により供給される書込み可動化信
号WEと組合わされて、マイクロコードRAM310の左半部の
ための書込み可動化信号を生成する。信号DXCは反転さ
れ、ゲート311によって信号WEと論理的にAND処理され
て、マイクロコードRAM310の右半部のための書込み可動
化信号を生成する。
この例においては、信号DXCは、命令サイクルT3の開
始時の信号CKのほぼ1周期の間、論理1の値を持つ。従
って、マイクロコード制御語MCは、アドレスレジスタ32
2に保持された7個のMSBの値によって表わされるアドレ
ス値を持った、マイクロコードRAM310中のセルの48個の
MSB位置に書込まれる。マイクロコード制御語は、第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
の内部状態はこの期間中は変化しない。
この発明のこの実施例においては、マイクロコードRA
M310に対するデータ読出し動作とデータ書込み動作は信
号CKの別々の周期に行われる。しかし、そうする代り
に、マイクロコードRAM・シーケンシング回路226を、信
号CKの1つの周期中で2つの動作を行うように構成して
もよい。
制御回路308は、休止論理240により供給される信号PA
USEにも応答し、クロック信号CKAとCKBを凍結させる。
さらに、制御回路308はマイクロプロセッサ224により供
給される信号HALTに応答し、信号CKを禁止して、実効的
に、VRAM制御ユニット238を除くビデオ信号プロセッサ2
10全体の内部状態を凍結させる。
信号HALTを用いてマイクロプロセッサ224はビデオ信
号プロセッサ210の制御機能を実効的に引受ける。信号H
ALTは命令レジスタ316に供給されて、このレジスタをし
て、ゲート回路223を介してマイクロプロセッサ224によ
り供給されるバスMCWからデータを受入れしめる。マイ
クロプロセッサ224はレジスタ316をして、信号HALTを論
理1から論理0に変化させることにより、供給されたマ
イクロコード制御語をロードさせしめる。上記変化後の
クロック信号CKの次の周期において、マイクロコードRA
M・シーケンサ回路226はこのマイクロコード命令が実行
されるようにする。このクロック周期が完了すると、マ
イクロプロセッサ224は再び信号HALTを論理1値に変化
させ、別のマイクロコード命令をレジスタ316に供給す
る。このような動作により、マイクロプロセッサ224
は、マイクロコードRAM・シーケンサ回路226をしてバス
A BUSまたはB BUSに接続されたレジスタにデータを書込
ませ、あるいは、前に述べたように、ブートストラップ
プログラムをロードするようにする。さらに、マイクロ
プロセッサ224がバスA BUSに接続されていることと、第
5図を参照して後述するバスゲート520とにより、マイ
クロプロセッサ224はどのレジスタの内容でも、また、
バスA BUSあるいはB BUSの内容でも読出せる。
第3C図はマイクロコードRAM・シーケンシング回路226
によって用いられるマイクロコード制御語、即ち、命令
のフォーマットを示す。制御語は13のフィールドを含ん
でいる。各フィールドを、以下、そのフィールドが持ち
得る値と、その値がビデオ信号プロセッサ210の各構成
素子に対して持つ作用とによって説明する。制御される
構成素子の構造は第4図乃至第13図を参照して後述す
る。
マイクロコード制御語のビット0〜7は、NEXT ADDRE
SSフィールドを形成する。これらのビットにより表わさ
れる値は、マイクロコードRAM310における、命令レジス
タ316にロードされるべき次のマイクロコード制御語の
アドレスである。ある与えられたマイクロコード命令サ
イクル中、このフィールドによって表わされた値はマイ
クロコードアドレスレジスタ322に記憶される。
条件コード選択フィールドCOND CODE SELはマイクロ
コード制御語のビット8〜10を占める。これらの3ビッ
トは、後述するデータパス回路242中の条件レジスタに
保持されている条件値の1つを選択する。選択された条
件値が信号CDである。この信号は条件付き分岐動作を行
うために用いられる。前に述べたように、条件付き分岐
は命令レジスタ316に供給されるマイクロコード制御語
のシーケンスの変更であり、これは選択された条件が満
足される時(即ち、CDが論理1の時)のみに生じる。表
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 SRCまたはB DSTの1つに結合される通常のデコーディ
ング回路(図示せず)を含んでいる。このデコーディン
グ回路は、レジスタへのアクセスを許容する制御値が検
出されると、論理1値を生じさせる。A SRCフィールド
に応答するデコーディング回路は、マイクロコード制御
語のLIT SELフィールド、ビット31、における論理1の
値によって抑止される。このビットが論理1の時は、A
SRCフィールド中の値は有効なA SRC値ではなく、後述す
る8ビットのリテラル値の一部である。フィールドA SR
CとB SRCとによって制御されるレジスタに対し、デコー
ディング回路の出力値がレジスタの出力可動化入力端子
に結合される。この入力端子に論理1値が供給される
と、レジスタはその記憶されている値を該当するバスに
供給するようにされ、論理0値が供給された場合は、そ
のレジスタはバスに対して高インピーダンスを呈する。
フィールドA DST及びB DSTにより制御されるレジスタに
対しては、デコーディング回路の出力値がレジスタのデ
ータ−ロード入力端子に結合される。これらのレジスタ
は、デコーディング回路によって供給される信号が論理
1値を持っている間は、該当するバスによって伝送され
てきた値をロードするようにされる。
マイクロコード制御語のビット30はフィールドDEC LO
OP CTRである。このフィールドが値1を持っている時
は、データパス回路242中のループカウンタは、マイク
ロコード命令サイクル中、その値を減じるようにされ
る。
マイクロコード制御語のビット31はフィールドLIT SE
Lである。このフィールドに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 COD
Eフィールドで、このフィールドが1の値を持つ時は、
データパス回路242は、ALU244により生成された種々の
条件の値を条件コードレジスタにラッチする。この制御
機能は、一般には、条件付き分岐動作に対する条件を選
択する命令に先行する命令中に含まれている。
マイクロコード制御語のビット34と35は、SHIFT CONT
フィールドである。このフィールドは、データパス回路
242のレジスタR0によって行われるビットシフト動作を
制御する。表2は、SHIFT CONTフィールドの種々の値に
応答してレジスタR0によって達成される機能を示す。
マイクロコード制御語のビット38〜46は、マイクロコ
ード命令サイクル中のALU244の機能を決定する。ビット
47は不使用である(第3図)。ALU244の機能を理解する
ために、初めにその構造を説明することが理解を助け
る。第4A図に示すALU244は5つの部分、即ち、2つのオ
ペランド入力レジスタ410と412、算術論理演算回路(AL
C)414、出力レジスタ416及びデマルチプレクサ(DEMU
X)418、からなる。レジスタ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の補数演算を表わし、
「XOR」は排他的OR演算を表わす。
マイクロコード制御語のビット45と46は、バスMCWを
介してマルチプレクサ(MUX)420に加えられて、キャリ
ーイン信号CINを変化させ、また、ADD動作(OP CODE 7
9)を飽和を伴う2重ADD(dual−ADD−with−saturat
e)動作に変える。ビット45と46が両方共0の時、ある
いは、ビットが45で0でビット46は1の時は、マルチプ
レクサ420は、デジタル値源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は、ALC
414に供給される2個の入力値の符号ビットとALC414に
よって生成される出力値の符号ビットとの論理的組合わ
せである。この信号は、2個の負の入力値によって正の
出力値が生成される時或いは2個の正の入力値によって
負の出力値が生成される時に論理1を持っている。3個
の符号ビットの他の組合わせすべてに対して、符号OVER
FLOWは論理0の値を持っている。
加算動作は、ビット45が0でビット46が1である時に
飽和を伴う2重加算動作になる。この飽和を伴う2重加
算動作では、16ビットのレジスタ410及び412の各々は2
個の8ビット値を収容しているものとして処理される。
レジスタ410に保持される値の8個のMSBとレジスタ412
に保持される値の8個のMSBとが加算され、その加算結
果が出力レジスタ416の8個のMSBに記憶される。同様
に、レジスタ410及び412に保持される値のそれぞれの8
個のLSBが互いに加算され、その加算結果がレジスタ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図に示される回路は、
信号SPLITに応答してこの信号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へのキャリーイン入力信号はALC41
4へ供給される信号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ビットのオフセ
ット128の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と
255の間の数だけが有効である。図4B図に示されるALC加
算器には、この有効な範囲外にある値を検知し、変形和
の値を0より小さい値に対しては0に又255より大きい
値に対しては255に飽和させる即ち限定する。
ANDゲート470が、変形和の値が255より大きいことを
示す正のオーバフロー信号POV1を発生する。ANDゲート4
70への3つの入力信号は、信号SPLITと、加算器450から
のキャリーアウト信号CO1と、加算器450によって与えら
れる8ビット値のMSBである。信号POV1は、信号SPLITが
0の時、或いは信号SPLITが1で変形和の値が256より小
さい時に0となる。信号POV1は8個のNORゲート474の各
々の一方の入力端子に供給される。NORゲート474の各々
の他方の入力端子は、それぞれ変形和の8ビットの異な
る1つを受取る。
NORゲート468が信号▲▼と、信号CO1と、
加算器450によって与えられる8ビット値のMSBとに応答
して負のオーバフロー信号NOV1を発生する。この信号NO
V1は、変形和が0より小さい値を持つことを示す。信号
NOV1は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である。
マイクロコード制御語のビット45及び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の値の負のオーバフロー信号NO
V0及びNOV1をそれぞれ各NORゲート466及び476に供給す
る。0の値の信号POV0及びNOV0がNORゲート464及び466
に供給された結果、加算器452によって与えられる出力
値は2回反転され従って加算器452の出力ポートにおけ
る値はALC加算器によって与えられる16ビット値の8個
のLSBとして与えられる。加算器450によって与えられNO
Rゲート474及び476を介してALC加算器の出力ポートに供
給される8個のMSBの値についても同様である。
信号SPLITが論理1の値を持つ時、インバータ456によ
って与えられる信号▲▼は論理0の値を持
ち、ANDゲート454による加算器452からのキャリーアウ
ト信号の加算器450のキャリーイン入力端子CI1への供給
が止められる。これによって、加算器450及び452は2個
の別個の8ビット加算器ととして構成される。論理1の
信号SPLITが排他的ORゲート462及び472に供給される
と、これらのゲートは加算器452及び450によって与えら
れたそれぞれの8ビット値のMSBを論理的に反転する。
このMSBの反転は、加算器452及び450の各々によって与
えられる8ビットの符号のない2進値が8ビットの符号
のない2進値とオフセット128の2進値との和を適切に
表わすように行われる。
信号SPLITが論理1の値を持つ時、ANDゲート460及び4
70はそれぞれ正のオーバフロー信号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 SR
C、A DST、B SRC及びB DSTにかかわりなくそれぞれバス
A BUS及びB BUSをアクセスする。従って、1つの動作
で、マイクロコードRAM・シーケンシング回路226はデー
タ値をバスA BUS及びB BUSの各々の出所から宛先まで転
送するように命令し、同時に、ALUが転送されるデータ
値の一方或いは両方について動作するように命令でき
る。
ALU244への入力値の1つの出所とALU244からの出力値
の宛先とは、データパス回路242中のレジスタファイル5
10である。第5図はこの実施例に使用されるデータパス
回路242をブロック図で示している。代表的な例である
この実施例に使用されるレジスタファイル510には、R
0、R1、R2及びR3の計4個の汎用レジスタが含まれてい
る。これらのレジスタの各々は、バスA BUS及びB BUSの
両方に結合されている。バスMCWを介して与えられるマ
イクロコード制御語のフィールドA SRC及びB SRCの制御
によってこれらのレジスタの何れも一方或いは両方のバ
スに値を供給できる。しかし、レジスタは、フィールド
A DST及びB DSTに応答してどの1つのマイクロコード命
令サイクルにおいてもバスA BUS及びB BUSの一方のみの
宛先となることが出来る。上述のようにレジスタR0に
は、マイクロコード制御語のSHIFT CONTフィールドに応
答してレジスタの内容をより上位の桁或いはより下位の
桁のビット位置にシフトする或いはレジスタに供給され
る値の8個のMSB及び8個のLSBを交換する回路が含まれ
ている。
レジスタR0のMSB及びLSBは、それぞれ条件コードレジ
スタ512の異なる入力端子に供給される。これらの値に
加えて条件コードレジスタ512は、デジタル値源513から
の0の値と、ALU244によって与えられる条件値SIGN、ZE
RO、OVFLOW及びCARRY OUTと、ループカウンタ514によっ
て保持される値が0であることを示す条件値とを受取
る。条件コードレジスタ512はマイクロコード制御語のL
ATCH COND CODEフィールドに応答してマイクロコード命
令サイクルの終りにALU244によって得られる条件値を記
憶する。他の条件コードは、それらの発生と非同期的に
条件コードレジスタ512中へラッチされる。
条件コード論理518が、マイクロコード制御語のCOND
CODE SELフィールドに応答して、上述のようにマイクロ
コードRAM・シーケンシング回路226において条件分岐動
作を行うのに使用される条件信号CDとして条件コードレ
ジスタ512に保持される条件値のうちの1つを選択す
る。また条件コード論理518は、マイクロコード制御語
のLIT SELフィールドに応答して、COND CODE SELフィー
ルドがA SRCフィールドと共に使用されている時条件の
選択を抑止してリテラル値をバスA BUSに供給する。
ループカウンタ514は、マイクロコード制御語のフィ
ールドA SRC及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は、データ値の一時記憶のためデー
タRAM回路228を使用する。第6図はこの実施例と共に使
用されるデータRAM回路228の細部をブロック図で示して
いる。データRAM回路228には、256×16ビットのRAM61
0、4個のアドレスレジスタDR0、DR1、DR2及びDR3を持
つレジスタファイル612、増加/減少回路(INC/DEC)62
2及び制御回路614が含まれている。制御回路614はマイ
クロコード制御語のフィールドA SRC、A DST、B SRC及
びB DSTに応答して、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及びL3
応答して各入力ポートに供給される値をロードする。レ
ジスタ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によって与
えられる信号R0に応答して、マルチプレクサ618とソー
ス621とによって与えられる16ビット値か或いは高イン
ピーダンスの何れかをバスA BUSに供給する。この実施
例ではゲート619の使用により、レジスタDR0乃至DR3に
保持される値を8ビットデータ値としてバスA BUSに供
給することが出来る。バスA BUSに供給される値の8個
のMSBは0に設定される。バスMCWを介して与えられるマ
イクロコード制御語A SRCフィールドが、レジスタDR0乃
至DR3の1つがバスA BUSを介して転送されるべきデータ
値の出所であることを示す時、信号R0がゲート619を制
御して値をバスA BUSに供給するようにする。
RAM610中へ記憶すべきデータ値は、2個の16ビットバ
スA BUS及びB BUSを介してデータRAM回路228に供給され
る。16ビットの3状態のゲート624が、制御回路614によ
って与えられる信号AINに応答してバスA BUSからのデー
タ値或いは高インピーダンスの何れかをRAM610の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 D
STの値によって決定される。下の表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に対応して制御回路
614が与える種々の信号を示すタイミング図である。第7
A図乃至第7E図のタイミング図には本願の他のタイミン
グ図と比較するためにマイクロコードRAM・シーケンシ
ング回路226によって与えられるクロック信号CKAが示さ
れている。
第7A図には、8ビット値をバスA BUSからレジスタDR0
に書込む要求(即ちA DST=28)に応答して制御回路614
から与える種々の信号のタイミングが示されている。命
令サイクル中の初期の所定時点で、レジスタDR0に書込
まれるべき値VALがバスA BUSに供給される。この命令サ
イクル中、制御回路614は信号MC1を論理1に保持し、こ
の信号に応答してマルチプレクサ616はバスA BUSの8個
のLSB位置によって運ばれる値をレジスタDR0乃至DR3の
入力ポートに供給する。バスA BUSに供給された値が安
定すると、制御回路614はパルス信号L0を発生し、この
信号L0に応答してレジスタDR0はその入力ポートに供給
された値をロードする。レジスタDR1、DR2及びDR3をロ
ードさせる指令も同様であり、パルス信号L1、L2及びL3
のうちの1つが第7図Aに示すパルス信号L0の代りに発
生される。
第7B図には、レジスタDR0に保持される値をバスA BUS
の8個のLSB位置に転送する(即ちA SRC=28)ために制
御回路614が発生する信号のタイミングが示されてい
る。命令サイクルが開始したすぐ後の所定時点で制御回
路614は信号MC2が0の値を持つように変える。この信号
MC2に応答してマルチプレクサ618は、レジスタDR0に保
持される値をゲート619の入力ポートに供給する。信号M
C2を変えた後、制御回路614は信号R0として論理1をゲ
ート619に供給する。この信号R0に応答してゲート619
は、レジスタDR0に保持される値をバスA BUSの8個のLS
B位置に供給し、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はパルス信
号LAを発生し、これによってアドレス値がアドレスレジ
スタ620中へロードされる。アドレス値がRAM610のアド
レスデコード論理を通過するとアドレスされた値はRAM6
10のI/Oバス上に得られる。次に制御回路614は、信号AO
UTの値を論理1に変えることによってこのアドレスされ
た値をバスA BUSへとゲートする。レジスタDR1によって
アドレスされる値も、信号MC2の値が0の代りに1とな
ること以外は同じ命令シーケンスを用いて読取ることが
出来る。この実施例において、レジスタDR2或いはDR3に
よってアドレスされるRAM610中のデータは、バスB BUS
のみを介して読出すことも出来る。これらの信号を読取
るための信号シーケンスは、第7C図のMC2の値をそれぞ
れ2或いは3に変え、ゲート用信号AOUTの代りに信号BO
UTを使用することによって得ることが出来る。
第7D図には、データRAM回路228がバスB BUSによって
与えられる値をレジスタDR2中に保持されるアドレス値
を持つRAM610のセルへ書込む(即ち、B DST=2)よう
に制御する信号が示されている。この動作における第1
段階として、制御回路614は信号MC2の値を2に変える。
この信号MC2に応答してマルチプレクサ618は、レジスタ
DR2中に保持されるアドレス値をアドレスレジスタ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図から信号MC1、I
/D及びL2を適切に変えて第7C図に示される信号に付加え
ることにより得られる。
この実施例において、第7A図乃至第7E図に示されるパ
ルス信号は、クロック信号源225によってデータRAM回路
228に与えられる25MHzの信号CLKのパルスを選択的にゲ
ートすることによって及びゲートされたクロックパルス
を縦続接続されたゲート素子を介して遅延させることに
よって生成することが出来る。クロック信号CLKがその
制御信号を生成するのに使用されても、データRAM回路2
28はクロック信号CKA及びCKBに応答し、これらのクロッ
ク信号がPAUSE或いはHALTの指令によって凍結される時
その動作を停止する。
デジタル信号処理回路設計の当業者であれば、第6
図、第7A図乃至第7E図及びこれに関連する説明から容易
にデータRAM回路228に使用するに適した制御回路614を
作ることが出来る。
第1B図に関して上述したように、映像セグメントは、
前の映像からの対応するセグメントの変形として符号化
できる。相対的エンコーディングと呼ばれるこの符号化
の形には、2個のセグメント(例えば第1B図からのΔX
及びΔY)における対応するピクセル位置相互間の水平
及び垂直方向のオフセットを表わすパラメータが含まれ
ている。上述したように、これらのオフセットの値は隣
接するピクセル相互間の距離の分数で表わすことが出来
る。ピクセルオフセット値の分数部分が0でない映像を
適切にデコードするために、ビデオ信号プロセッサ210
には前のフィールドにおけるセグメントのピクセルから
疑似ピクセルを発生する回路が含まれていることが望ま
しい。これらの疑似ピクセルは、分数で表わされるよう
にオフセットされたピクセルの値に近似した値を持つ。
この実施例において、疑似ピクセルはピクセル補間器24
6によって生成される。
ピクセル補間器246は、垂直方向に補間されるピクセ
ルに対応する中間値の対を計算及び記憶するように構成
されている。これらの中間値の対は次に補間器246に帰
還され、補間器246は、連続する中間値に基づいて動作
して水平方向の補間を行い、水平及び垂直の両方向にお
いて補間されるピクセル値を生成する。即ち、ピクセル
補間器246は、交互に垂直及び水平補間計算を行って出
力疑似ピクセル値を生成する。
第8A図には、ピクセル補間器246として使用するのに
適した回路がブロック図で示されている。第8A図で、16
ビットバスA BUSがレジスタ(REG)802と812のそれぞれ
の入力ポートに結合されており、それぞれ例えばデータ
RAM228からのピクセルデータと例えばALU244からの制御
値とをピクセル補間器246に供給する。レジスタ802及び
812は、それぞれマイクロコード制御語の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及びS01を表わす値が含まれることになり、
その次にレジスタ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及び81
0は、制御回路814によって与えられる信号XFに応答して
それぞれの入力ポートに供給される値をロードする。上
述の例で、レジスタ808及び810では、それぞれ制御回路
814がパルス信号XFを発生した直後にピクセル値対S00
S10及びピクセル値対S01とS11が収容される。
レジスタ808及び810によって与えられる16ビット値
は、それぞれマルチプレクサ(MUX)811の異なる入力ポ
ートに供給される。マルチプレクサ811は、制御回路814
によって与えられる信号MVに応答して入力ポートのうち
の選択された1つに供給される16ビット値を通過させて
マルチプレクサ(MUX)816及び818に送る。マルチプレ
クサ811の出力値の8個のMSB位置は、マルチプレクサ81
6の1つの入力ポートに供給される。マルチプレクサ811
の出力値の8個のLSB位置は、マルチプレクサ818の対応
する入力ポートに供給される。
マルチプレクサ816及び818は、制御回路814によって
与えられる信号MLに応答して、マルチプレクサ811によ
って与えられる2個のピクセル値かそれぞれマルチプレ
クサ(MUX)861及び863によって与えられる2個の8ビ
ットの垂直方向に補間されたピクセル値かの一方を通過
させる。マルチプレクサ816及び818によって通過させら
れたピクセル値はそれぞれレジスタ(REG)820及び822
に供給される。レジスタ820及び822は、マイクロコード
RAM・シーケンシング回路226によって与えられるクロッ
ク信号CKAに応答して、それぞれの入力ポートに供給さ
れた値をロードする。次に減算器824がレジスタ822に保
持されるピクセル値をレジスタ820に保持されるピクセ
ル値から引く。減算器824によって得られたピクセル差
の値は乗算器回路825に供給される。
この実施例に使用される乗算器825は、プログラム可
能なシフト及び加算型の乗算器である。第8B図には、乗
算器825として使用するのに適した回路が示されてい
る。乗算すべき値が2つのデータパスに供給される。こ
のデータパスの各々には直列に結合された3個のシフタ
(SHIFT)・マルチプレクサ(MUX)対が含まれている。
第1及び第2のデータパスの両方は9ビット値を運ぶ。
減算器824によって与えられる8ビット値は、シフタ826
及び840とマルチプレクサ828及び842とに供給される9
ビット値の8個のMSB位置として供給される。この値のL
SBは0である。付加的な精度ビットが乗算器825で使用
されて、シフト及び加算の乗算技術の為に生じる可能性
のある切捨て誤差が軽減される。
第1のデータパスに含まれるシフタ826は、減算器824
によって与えられるピクセル差の値を受取り、この値の
ビットシフトされたものをマルチプレクサ828の1つの
入力ポートに供給する。マルチプレクサ828の他方の入
力ポートは、減算器824の出力ポートに直接結合されて
いる。シフタ826、及び乗算器825の他のシフタの各々
は、9ビット入力値の8個のMSB位置を9ビット出力値
の8個のLSB位置として供給する。論理0の値がその出
力値のMSB位置に挿入される。デジタル信号処理回路設
計の当業者であればこの種のシフトが2で割る割算に等
しいものであることが判るであろう。マルチプレクサ82
8は制御回路814によって与えられる信号MA1に応答して
出力ポートにシフトされた値或いはシフトされていな値
を与える。マルチプレクサ828の出力ポートは、シフタ8
30の入力ポートとマルチプレクサ832の一方の入力ポー
トとに結合されている。シフタ830及びマルチプレクサ8
32は、シフタ826及びマルチプレクサ828と同様に構成さ
れている。マルチプレクサ832は、制御信号MA2に応答し
てマルチプレクサ828の出力値或いはこの出力値のビッ
トシフト後の値の何れかを選択的に供給する。マルチプ
レクサ832は、出力値をこれに結合されたシフタ834とマ
ルチプレクサ836とに供給する。これらのシフタ834及び
マルチプレクサ836は、シフタ830及びマルチプレクサ83
2と同様に構成されている。マルチプレクサ836は、制御
回路814によって与えられる信号MA3によって制御され
る。
第2のデータパスには、3個のシフタ・マルチプレク
サ対840と842、844と846及び848と850が含まれており、
各対は第1のデータパスのシフタ・マルチプレクサ対と
同様に構成されている。マルチプレクサ842、846及び85
0はそれぞれ信号MB1、MB2及びMB3によって制御される。
マルチプレクサ850により与えられる出力値は選択的
2の補数回路(SEL 2′S COMP)852に供給される。この
回路852は、制御回路814によって与えられる制御信号CP
に応答して入力値或いはその入力値の2の補数の何れか
をレジスタ(REG)854の入力ポートに供給する。第1の
データパスのマルチプレクサ836によって与えられる出
力値は、レジスタ(REG)838の入力ポートに直接供給さ
れる。レジスタ838及び854の両方は、マイクロコードRA
M・シーケンシング回路226によって与えられるクロック
信号CKBに応答してそれぞれの入力ポートに供給された
値をロードする。レジスタ838及び854によって与えられ
る出力値はそれぞれ加算器856の異なる入力ポートに供
給される。この加算器856によって与えられる値が乗算
器825の出力値となる。
乗算器825は、信号MA1、MA2、MA3、MB1、MB2及びMB3
の値が制御されることによって、8分の1から1までの
8分の1ごとの値を持つスケールファクタ(scale fact
or)で減算器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・シーケンシング回路2
26によって与えられるクロック信号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及び加算
器858の組合せは線形補間器となる。
加算器858によって与えられる値は、レジスタ(REG)
860及び862のそれぞれの入力ポートと、マルチプレクサ
861及び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乃至S17
は、入力FIFO232及びデータパス242を介してVRAM216中
のビット・マップから与えられる前の映像の2本の連続
する線からの対応するピクセル値を表している。円形点
I00乃至I07は、補間された疑似ピクセル値を表わしてい
る。第9A図に示されるように、補間された疑似ピクセル
値は、前の映像のピクセルに対して水平方向にピクセル
相互間隔の4分の1また垂直方向にピクセル相互間隔の
8分の5だけオフセットされている。
第9B図は、ピクセル補間器246がどのようにバスA BUS
に供給されたデータ値によって制御されて疑似ピクセル
値I00乃至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の値を持ち、それぞれピクセル値対
S00、S01及びS10、S11がピクセル補間器246のレジスタ8
02へ供給される。命令サイクルT3の間、ピクセル補間器
246に関してバスA BUS上には作業がない。命令サイクル
T4中、補間されたピクセル値の無効対(X、X)がピク
セル補間器246の出力ポートに得られる。これらの値
は、ビデオ信号プロセッサ210によって無視される。
命令サイクルT5及びT6中、それぞれピクセル対S02、S
03及びS12、S13がピクセル補間器246のレジスタ802へ供
給される。命令サイクルT7中、ピクセル補間器246に対
してバスA BUS上には作業がない。命令サイクルT8中、
補間されたピクセル値の第2の無効対がピクセル補間器
246の出力ポートに得られる。これらの値は無視され
る。命令サイクルT9及びT10中、それぞれピクセル値対S
04、S05及びS14、S15がピクセル補間器246のレジスタ80
2に供給される。命令サイクルT11中、ピクセル補間器24
6に関するバスA BUS上の作業はない。命令サイクルT12
中、マイクロコード制御語のA SRCフィールドは5の値
を持ち、これによってピクセル補間器246は、補間され
たピクセル値I00及びI01を表わす16ビット値をバスA BU
Sに供給する。
命令サイクルT13乃至T16は命令サイクルT9乃至T12
同様で、ピクセル補間器246に供給されるピクセル値及
びピクセル補間器246によって与えられるピクセル値が
異なるだけである。一般に、マイクロコードシーケンサ
226は、所望の補間された疑似ピクセル値すべてを生成
するのに必要な多数の期間と異なる入出力ピクセル値と
を使用して命令サイクルT9乃至T12中の動作を繰返す。
この実施例に使用されるピクセル補間器246は高度に
パイプライン構成された装置である。パイプライン遅延
は、11命令サイクル即ちT1において最初の入力値が供給
されてからT12において最初の有効出力値を与えるまで
の間の遅延である。
第9C図は信号タイミング図であり、第9B図に示した例
の制御回路814によって生成される種々の信号のタイミ
ングを示している。信号CKA及びCKBは、1つの命令サイ
クル期間中に実質的に等しい期間を持つ離相クロック信
号である。クロック信号CKA及びCKBは、マイクロコード
RAM・シーケンシング回路226によってピクセル補間器24
6に供給される。
第8図に示されるピクセル補間器回路246に使用され
るレジスタすべては、立下がり端でトリガされる型式で
ある。即ち、これらのレジスタすべては、その入力ポー
トに供給された値をそのクロック信号或いはロード信号
が負方向に移行すると同時にロードするように制御され
る。第8図におけるレジスタは、クロック信号CKA或い
はクロック信号CKBの何れかに同期する。
第9B図および第9C図を参照する。ピクセル補間器に対
する制御値は信号CKAの負方向変化と一致した命令サイ
クルT0の期間中レジスタ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お
よび806の8個のLSB位置に保持されたピクセル値はレジ
スタ810の各8個のMSBと8個のLSB位置に転送される。
この転送は信号XFの負方向変化と一致して行なわれる。
この転送によって、各レジスタ804および806中の水平方
向に配列されたピクセル値S00、S01およびS10、S11をそ
れぞれレジスタ808、810中で垂直方向に配列されたピク
セル値S01、S11およびS00、S10に変換する効果が得られ
る。
サイクルT4の期間中、制御回路814は信号MA1乃至MA
3、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
によって与えられた和は信号φの負方向端と同期して
レジスタ862に記憶される。
また、命令サイクルT5の期間中、バスA BUSを経て供
給されるピクセル値S02とS03はレジスタ802にロードさ
れ、次いで信号LR0の負方向変化と同期してレジスタ806
に転送される。命令サイクルT6の期間中、ピクセル値S
12およびS13はバスA BUSに供給され、レジスタ802にロ
ードされ、次いで信号LR1の負方向変化と同期してレジ
スタ804に転送される。
命令サイクルT6の中間において、レジスタ808に保持
されたピクセル値S01およびS11はマルチプレクサ811、8
16および818を経て各レジスタ822、820に供給されて、
信号CKAの負方向端に応答してこれらの各レジスタにロ
ードされる。これらのピクセル値は命令サイクルT6の残
りの期間中と命令サイクルT7の第1の半部の期間中に減
算器824、マルチプライヤ825、レジスタ857および加算
器858を通って伝播される。
命令サイクルT7の第1の半部の期間中、各レジスタ80
6、804に保持された水平に配列されたピクセル値S02、S
03およびS12、S13は垂直に配列されたピクセル値S02、S
12およびS03、S13に変換されて、命令サイクルT7の中間
点で生ずる信号XFの負方向変化と同期して各レジスタ81
0、808に記憶される。
命令サイクルT7の期間中に加算器858によって供給さ
れた垂直に補間されたピクセル値(S01、S11)はレジス
タ860にロードされ、さらにマルチプレクサ861および81
6を経由して、命令サイクル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は、この垂直補間されたピク
セル値の対からピクセル値を水平補間してピクセル値I
00を生成する。この値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は対をなすピクセル値S
02、S12から垂直補間されたピクセル値を計算する。こ
の補間されたピクセル値は、命令サイクルT9の中間点で
生ずる信号φおよびCKA各負方向変化と同期してレジ
スタ862および822にロードされる。命令サイクルT9の残
りの期間および命令サイクルT10の第1の半部の期間中
に、水平補間されたピクセル値I01は、マルチプレクサ8
61および863によって供給された垂直補間されたピクセ
ル値から発生される。信号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の終了時にレジスタ8
64からレジスタ866に転送される。
また、命令サイクルT10の中間点において、レジスタ8
08に保持されたピクセル値S03およびS13は、信号CKA
負方向端と同期して各レジスタ822および820にロードさ
れる。命令サイクルT10の残りの期間および命令サイク
ルT11の第1の半部の期間中、垂直補間されたピクセル
値がピクセル値S03およびS13から生成される。このピク
セル値は、命令サイクルT11の中間点で発生する各信号
φおよびCKAの負方向変化と同期してレジスタ860およ
び820に記憶される。
命令サイクルT9およびT10の期間中、各ピクセルS04
S05、およびS14、S15は各レジスタ806、804にロードさ
れる。命令サイクルT11の中間点で、これらのピクセル
値は垂直配列されたピクセル対S04、S14、およびS05、S
15に配列され、これらは各レジスタ810、808に記憶され
る。
命令サイクルT11の第2の半部と命令サイクルT12の第
1の半部の期間中に、減算器824、マルチプライヤ825お
よび加算器858はピクセル値I02を計算し、該ピクセル値
I02は命令サイクルT12の中間点で生ずる信号LO0の負方
向変化と同期してレジスタ864の8個の位置に記憶され
る。また、命令サイクルT12の中間点において、ピクセ
ル対I00、I01はレジスタ866からバスA BUSに供給され
る。
命令サイクルT12およびT13の期間中、垂直補間された
ピクセル値はピクセル対S04、S14に対して生成される。
この補間されたピクセル値は、命令サイクルT13の中間
点で生ずる信号φおよびCKAの各負方向変化と同期し
てレジスタ860および820にロードされる。命令サイクル
T13およびT14の期間中に、ピクセル値I03は3/4のスケー
ルファクタを使用して発生される。このピクセル値は命
令サイクルT14の中間点においてレジスタ864の8個のMS
B位置に記憶される。命令サイクル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−S
FH)に対応する値を交互に供給する。ここで、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の期間中に出力レジスタ8
66において得られる。この動作の変更は、第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からピクセル値を受取ることであり、出力命
令は出力FIFO236にピクセル値を送ることである。これ
らの装置はそれぞれVRAM216へ、あるいはVRAM216から32
ビット語用のメモリアクセス要求を発生し、また、8あ
るいは16ビットピクセル値とVRAM216に記憶された32ビ
ット語との間の変換、あるいは統計的にコード化された
データをピクセル値に変換するために必要なパッキング
(packing)あるいはアンパッキング(Unpacking)を行
なう。
統計的デコーダ230はVRAM216に保持された可変長コー
ド化データを16ビット2進値に変換し、該16ビット2進
値はマイクロコード制御語のB SRCフィールド中の14の
値に応答してバスB BUSに供給される。第10A図は統計的
デコーダ230として使用するのに適した回路のブロック
図を示す。
第13A図を参照して以下に説明するように、統計的デ
コーダ230に対するVRAM216をアクセスするために使用さ
れるアドレス値は、例えば、データRAM228から2段階で
VRAM制御ユニット238にロードされる。第1段階で、22
ビットのアドレス値の8個のMSB位置を表わす値は、マ
イクロコード制御語B DSTフィールドが31の値をもって
いる間にバスB BUSに供給される。次に、アドレス値の1
4個のLSB位置は、B DSTフィールドが30の値をもってい
る間にバスB BUSに供給された値の14個のMSB位置からロ
ードされる。マイクロコード制御語のB DSTフィールド
中の30の値は、統計的デコーダ230をリセットし、統計
的デコーディング動作を初期化するように制御回路1018
を動作させる。
命令の代表的なシーケンスは次のように進行する。2
つの連続する命令サイクルの期間中、アドレス値の8個
のMSBおよび14個のLSBはそれぞれVRAM制御ユニット238
中の1対のレジスタにロードされる。アドレス値の14個
のLSBがロードされる同じ命令サイクル中に、統計的デ
コーダ230はリセットされ、動作を開始する。
リセット動作は、フリップ・フロップ1017に対する信
号RVとして論理1の値を供給する制御回路1018によって
行なわれ、出力レジスタ1016に保持された8ビット値を
無効なものとしてマークする。同時に、制御回路1018は
パルス信号RDRを発生して、これをフリップ・フロップ1
022のセット入力端子Sに供給する。この動作によって
フリップ・フロップ1022の出力信号SDRを論理1の値に
変化させる。信号SDRはバスR/Sを経てVRAM制御ユニット
238に供給されて、VRAM216中のアドレスされた位置にお
ける読出し動作を要求する。フリップ・フロップ1022の
出力信号SDRは制御回路1018にも供給されて、データがV
RAM216から要求されていることを指示する。
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個の
LSB位置としてコード化される。この発明の実施例で
は、統計的デコーダ230はこのバイト位置の値を無視す
る。その結果、統計的デコーダ230に供給されるデータ
は、VRAM216中の32ビット語のLSB位置と共に開始すると
仮定される。
制御回路1018がレジスタ1010からの32ビットデータ値
を転送するためのパルス信号SRLを発生するときは、該
制御回路1018は記憶されたアドレス値を増加させるよう
にVRAM制御ユニット238を動作させるパルス信号RDRを発
生して、VRAM216からの次の連続する32ビットデータ値
をレジスタ1010に供給する。パルス信号SRLおよびRDRが
発生して信号CKの1周期の1/2の期間後に、回路1018は
信号ENとして論理1の値を統計的デコーディング回路10
14に供給し、回路1014にシフトレジスタ1012中に保持さ
れた値のデコーディングを開始させる。
この発明の実施例で使用される統計的デコーディング
回路1014は、例えば、ここに参考として示す米国特許第
4,396,906号、発明の名称「デジタル・ハフマン・エン
コーディングの方法と装置(Method and Apparatus for
Digital Huffman Encoding)」の明細書に記載されて
いる形式のものでよい。回路1014は可動化(イネイブ
ル)されると、システム・クロック信号CKを信号SRCKと
してシフトレジスタ1012およびカウンタ1020にゲートす
る。シフトレジスタ1012は、信号SRCKの各サイクル毎
に、LSB位置から開始し、MSB位置に向けて続く上記シフ
トレジスタ1012が保持する値の1ビットを供給する。各
ビットがシフトレジスタ1012によって供給されると、カ
ウンタ1012中の値は1だけ増加される。
統計的デコーディング回路1014が充分な数のビットを
処理して16ビットの出力値を発生すると、換言すれば、
統計的デコーディング回路1014が1個の可変長コード化
された値をデコードすると、該統計的デコーディング回
路1014はデコードされた16ビット値を出力レジスタ1016
の入力ポートに供給し、さらに論理1の値を信号RDYと
して制御回路1018に供給する。これによって制御回路10
18はパルス信号ORLを発生して、回路1014によって供給
された値を出力レジスタ1016にロードし、フリップ・フ
ロップ1017をセットして、レジスタ1016によって保持さ
れたデータを有効なものとする。
出力レジスタ1016に保持された値が、値14または15を
もったB SRCフィールドを有するマイクロコード制御語
を使用してバスB BUSに対する信号源としてアクセスさ
れると、このデコーディング動作は完了する。制御回路
1018がB SRCフィールド中でこの値を検出した後、次の
クロック期間で、制御回路1018はパルス信号RVを発生
し、レジスタ1016に保持されたデータを無効なものとし
てマークする。B SRCに対する14の値はより多くのデー
タ値を持つことを示し、15の値はアクセスされたデータ
値がシーケンスの最後であることを指示する。
上述の説明では、レジスタ1016中のデータは、それが
有効になるまでアクセスされないと仮定している。無効
データ(例えばB SRC=14、ORV=0)をアクセスするた
めの試みがなされると、制御回路1018はパルス信号PRを
発生する。このパルス信号PRはフリップ・フロップ1023
のセット入力端子Sに供給される。パルス信号PRが発生
されると、フリップ・フロップ1023の出力信号SDPAは論
理1の値に変化する。この信号は休止(ポーズ)論理24
0に供給されて、マイクロコードRAMおよびシーケンサ22
6によってビデオ信号プロセッサを休止状態にする。こ
の信号SDPAはさらにアンド・ゲート1025の一方の入力端
子に供給され、その他方の入力端子は信号SDRを受信す
るように結合されている。もしSDR、SDPAの双方が論理
1の値をもっていると、アンド・ゲート1025の出力信号
SDPは論理1になる。この信号は休止論理240を経てVRAM
制御ユニット238に供給されて要求された読出し動作の
優先度を増加させる。信号SPDは統計的デコーダ230から
の緊急読出し動作要求信号である。制御回路1018が信号
ORLを休止してレジスタ1016に保持された値を有効なも
のとしてマークすると、信号SDPAは論理0になって休止
状態を解く。
上述の例は統計的デコーダ230の内部動作を、1個の1
6ビット出力値を生成する場合について説明した。一般
には、デコーダ230は一連のこのような値を生成する。
このシーケンスの第1の値を生成するために、第10図に
示す回路は上述のように動作する。一旦その値が出力レ
ジスタ1016に転送されると、制御回路1018は論理1の値
を信号ENとして供給して、統計的デコーディング回路10
14を付勢す、次のデコードされた値を発生させる。第1
のデコードされた値が出力レジスタ1016からアクセスさ
れると、信号ORVは論理値0をもつように変化させら
れ、制御回路1018はパルス信号ORLを発生して第2の値
をロードする。第1の値がアクセスされたとき第2の値
がデコードされていないと、信号RDYが統計的デコーデ
ィング回路によって論理1の値に変化されるまで制御回
路1018はパルス信号ORLを発生しない。この動作シーケ
ンスは、マイクロ制御語のB SRCフィールド中の15の値
を使用して出力レジスタ1016中の値がアクセスされるま
でくり返される。出力レジスタ1016中の値が、そのB SR
Cフィールド中の15の値をもったマイクロコード制御語
に応答してアクセスされると、制御回路1016は信号ENの
値を論理0に変化させることによって統計的デコーディ
ング回路230の動作を終了させる。デコーダ230で使用さ
れるVRAMのアドレス値の14個のLSB位置に対する新しい
値が設定されるまでデータは統計的デコーダ230を用い
てアクセスされることはない。
上述のデコーディング動作のいずれにおいても、必要
に応じて32ビットのデータ値がVRAM216からレジスタ101
0に供給される。カウンタ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
がそのピクセル処理素子を用いて処理するために、VRAM
216用のランダムな8ビットまたは16ビット値を読出す
ようにし、あるいは一連の8ビットまたは16ビット値を
読出すようにする。ランダムモード、シーケンシャルモ
ードのいずれの場合も、マイクロコードRAMおよびシー
ケンサ回路226によって実行されるマイクロコード制御
語命令はVRAM制御ユニット238に初期アドレス値を供給
する。選択された入力FIFOはVRAM制御ユニット238を経
てVRAM216をアクセスし、マイクロコード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および234内に記憶される。これらの2個のビッ
トによって表わされる値は、バスB BUSに供給されるべ
き第1のバイトとしてVRAM216によって与えられる4個
のバイト値の特定のバイトをポイントする。
第11A図は入力FIFO232あるいは234のいずれかとして
使用するのに適した回路を示すブロック図である。以下
ではFIFO232用の回路について説明する。入力FIFO234に
関する説明をも含ませるために、FIFO232の説明と異な
る部分については、その変更部分を括弧書きした。第11
A図に示す回路は、入力FIFOがランダムモードで動作す
るようにセットされた正規動作シーケンスに関して説明
されている。この説明の後にFIFOがシーケンシャルモー
ドで動作するようにセットされたときに動作シーケンス
の変更について説明されている。
シーケンスの第1のステップで、そのB DSTフィール
ドにおける21(FIFO234に対しては29)の値をもったマ
イクロコード制御語を使用してB BUSに制御値を供給す
る。このB DST値に応答して、例えばALU244によって供
給される制御値はレジスタ1112にロードされる。この例
で使用される制御値は入力FIFO232をそのシーケンシャ
ルモードとは対照的にそのランダムモードで動作させる
ようにし、バスB BUSに16ビット値ではなく8ビット値
を供給する。
シーケンスの次のステップで、前述のようにVRAM制御
ユニット238中でFIFO232内のアドレス値を設定する。FI
FO232内のレジスタ1110は22(26)の値をもったマイク
ロコード制御語のB DSTフィールドに応答してバイト位
置の値、すなわちバスB BUSを経由して供給される16ビ
ットアドレス値の2個のLSBをロードする。制御回路111
6はまたこのB DSTフィールドの値によって、入力FIFO23
2を初期状態にリセットし、VRAM読出し動作を開始させ
るように設定される。
このリセット動作では、制御回路1116はパルス信号CO
を発生してフリップ・フロップ1134をリセットする。信
号CKの1周期の1/2の期間の後、制御回路1116はパルス
信号PCを発生して、レジスタ1110からのバイト位置の値
をカウンタ1128とフリップ・フロップ1132にロードす
る。この動作信号CKの1周期1/2の期間後、制御回路111
6はフリップ・フロップ1133のセット入力端子Sに供給
されるパルス信号IRを発生する。フリップ・フロップ11
33によって発生された信号IFORは制御バスR/Sを経てVRA
M制御ユニット238に供給され、該VRAM制御ユニット238
をVRAM216中のアドレスされたメモリ位置に対する読出
し動作を開始させるようにする。信号IFORはまた制御回
路1116に供給されて、読出し動作が進行中であることを
指示する。
VRAM制御ユニット238が読出し動作を処理し、またVRA
M216が要求されたデータをバスD BUSに供給すると、VRA
M制御ユニット238はバスR/Sを経て供給されるパルス状
ストローブ信号IFSOを発生し、バスD BUSからの32ビッ
ト値をロードするようにレジスタ1118を動作させるよう
にする。信号IFOSはさらにフリップ・フロップ1133のリ
セット入力端子Rに供給されて、フリップ・フロップ11
33の内部状態をリセットし、メモリの読出し動作が完了
したことを示す信号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、B
1、B2、B3はマルチプレクサ1124の各異なる入力ポート
に供給される。マルチプレクサ1124はカウンタ1128によ
って、またはマルチプレクサ1130によって供給される値
によって制御されて、その入力に供給される4つの値の
1つを出力レジスタ1114の8個のLSB位置に供給する。
この例では、レジスタ1112中の制御値は、8ビット値
は出力レジスタ1114によって与えられるものであること
を示す。その結果、制御回路1116は信号MXCとして論理
値1をマルチプレクサ1126に供給する。信号MXCのこの
値は、マルチプレクサ1126がカウンタ1128に保持された
値をマルチプレクサ1124の制御入力ポートに供給する。
第1のバイト位置の値であるこの値は、マルチプレクサ
1124がアドレスされたバイト出力レジスタ1114の8個の
LSB位置に供給するように動作させる。パルス信号LRの
発生後信号CKの次の連続する周期の間に、制御回路1116
はパルス信号LLをおよびRHを発生し、マルチプレクサ11
24によって供給された値をレジスタ1114の8個のLSB位
置にロードし、レジスタ1114の8個のMSB位置をリセッ
トし、フリップ・フロップ1134をセットする。フリップ
・フロップ1134はセットされるので、その出力信号OV
は、出力レジスタ1114の値が有効であることを示す論理
1である。
この例に対する動作のシーケンスは、マイクロコード
RAMおよびシーケンサ回路226がB SRCフィールドが12の
値(入力FIFO234に対しては13の値)をもつマイクロコ
ード制御語を実行するとき完了する。レジスタ1114に供
給されたこの値はレジスタがその記憶された値をバスB
BUSに供給するようにする。制御回路1116はまたB SRCフ
ィールドの12(13)の値に応答してパルス信号COを発生
し、またそれによってフリップ・フロップ1134をリセッ
トして、出力レジスタ1114中の値を無効なものとしてマ
ークする。
制御レジスタ1112中の値が、16ビット値がバスB BUS
に供給されるべきであることを指示すると、制御回路11
16は論理0の値を信号MXCとしてマルチプレクサ1126の
制御入力端子に供給する。この制御値は、マルチプレク
サ1126がマルチプライヤ1130によって供給される値をマ
ルチプレクサ1124の制御入力ポートに供給するように条
件付ける。
マルチプライヤ1130はフリップ・フロップ1132の出力
端子に結合されている。上述のように、フリップ・フロ
ップ1132はレジスタ1110に記憶されたバイト位置の位の
MSBにプリセットされる。この1ビットの値はマルチプ
ライヤ1130によって上位桁に向けて1ビット位置シフト
される(つまり2倍にされる)。従って、マルチプレク
サ1124によって与えられる値は2か0のいずれかであ
る。かくして、マルチプレクサはバイトB0あるいはB2の
いずれかを出力レジスタ1114の8個のLSB位置に供給す
る。
フリップ・フロップ1132の出力端子はさらにマルチプ
レクサ1122の制御入力端子に結合されている。マルチプ
レクサ1122はレジスタ1120のB3およびB1セクションに結
合されている。フリップ・フロップ1132によって与えら
れる値が論理0あるいは論理1であると、マルチプレク
サ1122はレジスタ1120の各B1またはB3セクションに保持
された値はレジスタ1114の8個のMAB位置に供給する。1
6ビットモードでは、制御回路1116は同時にパルス信号L
LおよびLMを発生して、選択された8個のMSBおよび8個
のLSBの双方をレジスタ1114にロードする。この値がB S
RCフィールド中の12(13)の値をもったマイクロコード
制御語によってアクセスされると、VRAM216によって与
えられる32ビットの値の16個のMSBあるいは16個のLSBが
読出されるようになる。レジスタ1110中に保持されたバ
イト位置の値が1または3であると、それはそれぞれ0
あるいは2と解釈され、バイトB1またはB2を含む16ビッ
トの値はこの発明の実施例で使用される入力FIFO232お
よび234によって供給されない。
上述の例では、入力FIFOに供給される制御値は、該入
力FIFOをランダムモードで動作させるように設定する。
このモードでは、FIFOはアドレスされた値のみをバスB
BUSに供給する。そのシーケンシャルモードでは、入力F
IFO232および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になると、制御回路11
16はその動作を再開する。
制御回路1116の内部状態が凍結されている間、レジス
タ1114の内容をバスB BUSに読出す要求を受信すると
(すなわち、B SRC=12)、制御回路1116はフリップ・
フロップ1135のセット入力端子Sに供給されるパルス信
号IPを発生する。この動作によりフリップ・フロップ11
35によって供給される信号IFOPAの状態を論理1に変化
させる。信号IFOPAは休止論理回路240に供給され、該休
止論理回路240はマイクロコードRAMおよびシーケンサ回
路210を休止状態にするように設定する。第3A図を参照
して前に説明したように、クロック信号CKAおよびCKB
休止状態で無効状態にされて、データパス回路242、ALU
244、データRAM228およびピクセル補間器246の内部状態
を有効に凍結する。信号IFOPAおよび信号IFORはANDゲー
ト1136の入力端子に供給される。これらの信号の両方
が、読出し動作が要求され、プロセッサ210が入力FIFO2
32からの値を持つ休止状態にあることを示す論理1の値
をもっていると、ANDゲート1136の出力信号IFOPは論理
1に変化する。信号IFOPは休止論理240を経てVRAM制御
ユニット238に供給される。信号IFOPに対する論理1の
値は、緊急要求すなわち優先度が高くなったものとして
FIFO232に対する読出し要求動作を処理するようにVRAM
制御ユニット238を設定する。読出し動作が完了する
と、信号IFOSはフリップフロップ1133をリセットし、信
号IFORおよびIFOPを論理0の値に変化させる。レジスタ
1118からの要求値が出力レジスタ1114に伝播されると、
制御回路1116はフリップ・フロップ1134をセットし、そ
の出力OVはフリップ・フロップ1135をリセットしてプロ
セッサ回路210をその休止状態から解放する。
第11B図は入力FIFO232の2個の連続する8ビットデー
タ要求に対して制御回路1116によって発生された信号の
相対的タイミングを示すタイミング図である。
出力FIFO236は入力FIFO232および234によって実行さ
れた機能と本質的に反対の機能を実行し、該出力FIFO23
6は、ビデオ信号プロセッサ210のピクセル処理素子から
一度に1バイトあるいは2バイトのデータを受入れ、こ
のデータを32ビットのブロックに形成して、このブロッ
クをVRAM216に転送する。出力FIFO236は、1個の8ビッ
トまたは16ビットのデータの値が与えられたアドレス値
を使用してVRAM216に書込まれるランダムモードと、一
連の8ビットまたは16ビットのデータの値が連続的に増
加するアドレス値を使用して書込まれるシーケンシャル
モードの2つの動作モードを持っている。
ランダム転送のために使用されるアドレス値あるいは
シーケンシャル転送のために使用される開始アドレス値
は、統計的デコーダ230と入力FIFO232および234とにつ
いて前に説明した態様と同じ態様でVRAM制御ユニット23
8中で設定される。8個のMSB用に使用されるB DSTフィ
ールドの値、22ビット・アドレス値の14個のLSBはそれ
ぞれ15、14である。B DSTが14のとき、バスB BUSに供給
される16ビットの値の2個のLSBの位置の値は出力FIFO2
36内部のレジスタに記憶される。この値は、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フィールドに応答して、出
力FIFO236用の制御値としてバス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に対する
VRAM制御ユニットに保持されたアドレス値を使用して、
またレジスタ1218中に保持された32ビットのデータ値を
使用して、VRAM書込み動作用の要求としてVRAM制御ユニ
ット238によって解釈される。レジスタ1230中のバイト
マスクはバスCASMを経てVRAM制御ユニット238に供給さ
れる。このマスクVRAM制御ユニット238中で使用され
て、VRAM218を、バイトマスク信号CASMに応答するバイ
ト位置をもつたレジスタ1218中のこれらのバイトのみ、
すなわちレジスタ1220にロードされたとき制御回路1216
によって有効であるとしてマークされたこれらのバイト
のみを記憶するように動作させる。バイトが有効である
とマークされる方法、VRAM制御ユニット238における信
号CASMの使用態様については以下に説明する。
制御回路1216がパルス信号WRを発生すると同時に、ラ
ッチ1228中の4個のフリップ・フロップの各々のリセッ
ト入力端子Rに供給されるパルス信号RMを発生する。こ
の信号はラッチ1228中のフリップ・フロップFF0乃至FF3
をリセットし、各バイト位置B0ないしB3の値を無効とし
てマークする。
上述のように、制御ユニット1216は、もし信号OFRが
0であるならば書込み動作を開始させる。制御レジスタ
1212中の値が変化するとき信号OFRが論理1であると、V
RAM制御ユニット238によって与えられる信号OFSが要求
されたメモリ書込み動作が行なわれたことを示すまで制
御回路1216はその内部状態を凍結する。信号OFSはレジ
スタ1218の出力可動化端子OEに供給され、このレジスタ
1218をその記憶された値をバスD BUSに供給するように
動作させる。信号OFSが論理1をもっている間、レジス
タ1218中のデータはVRAM216に転送される。信号OFSはま
たフリップ・フロップ1232をリセットし、信号OFRの値
を論理0に変化させる。制御回路1216は論理0の値をも
った信号OFRに応答してその正規の動作を再開させる。
電源がビデオ信号プロセッサ210に供給された後、誤
ったデータが第1の出力FIFOの要求によってVRAM216に
書込まれるのを防止するために、フリップ・フロップ12
28は例えば通常の電源オンリセット回路によって論理0
の初期値をもつように設定される。後述のように、これ
らのフリップ・フロップ中の論理0の値は、レジスタ12
20からのデータがVRAM216に書込まれるのを防止する。
先の読出し動作からのデータはレジスタ1220からレジ
スタ1218に転送され、メモリ読出し動作が行なわれる
と、ここに述べた代表的なランダム出力動作用のアドレ
ス値が特定される。この動作は上述されている。バイト
位置レジスタ1210はB DSTフィールド中の14の値に応答
して、バスB BUSの2個のLSBによって伝送された値をロ
ードする。上述のように、この値はレジスタ1220のどの
バイト位置B0、B1、B2あるいはB3が供給されたデータ値
を保持するかを指示する。
制御回路1216はB DSTフィールド中の14の値に応答し
てパルス信号OPCを発生し、バイト位置レジスタがロー
ドされて信号CKの1周期の1/2の期間の後、2ビットカ
ウンタ1226の内部値としてバイト位置の値を設定する。
この値は信号OCVとして制御回路1216に供給される。パ
ルス信号OPCの発生と同時に制御回路1216はパルス信号L
Rを発生して、フリップ・フロップ1234をセットし、入
力レジスタ1214中のデータを無効としてマークする。フ
リップ・フロップ1234の出力信号INVは制御回路1216に
供給されて、バスB BUSからのデータがレジスタ1214に
ロード可能であることを指示する。
代表的動作シーケンスの次のステップは8ビットデー
タ値を出力FIFO236に供給することである。このステッ
プは、マイクロコード制御語がB DSTフィールド中の20
の値をもつときに生ずる。B DSTフィールド中のこの値
は、例えばALU244によって供給され、バスB 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)に結合される。入力レジ
スタ1214の8個のMSB位置は3状態ゲート1222を通って
レジスタ1220のバイト位置B1およびB3に結合される。3
状態ゲート1222および1224は制御回路1216によって発生
される各信号UBEおよびLBEによって制御される。この発
明の例においては、レジスタ1212中の制御値が出力FIFO
236が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に供給されると
VRAM216に書込まれる。
上述の例では、出力FIFO236に供給された初期制御値
は、該FIFO236をそのランダムモードで動作するように
設定する。上記の動作状態とは違って、シーケンシャル
モードが使用されることを制御値が特定するならば、上
述の例はバイト転送動作のシーケンスの最初のもののみ
について説明することになる。シーケンシャルモードで
は、カウンタ1226によって保持された値は信号CCKのパ
ルスによって増加される。この発明の実施例では、出力
FIFO236がそのシーケンシャルモード動作するようにセ
ットされると、制御回路1216は、パルス信号LR0乃至LR3
の1つを発生すると、信号CCKを発生する。
シーケンスの第2のバイトがレジスタ1214に供給され
ると、増加した係数値をもった信号OCVは制御回路1216
が信号LR0、LR1、LR2またはLR3の中の次のものを発生
し、従って、入力バイトをレジスタ1220の次のバイト位
置B0、B1、B2またはB3の各々にロードする。カウンタ12
26は2ビットカウンタであるので、該カウンタ1226はモ
ジュロ4出力値、すなわち値0、1、2、3、0、1・
・・・等を発生する。
カウンタ値OCVが3から0に増加すると、レジスタ122
0の最後のバイト位置B3が充満される。制御回路1216は
パルス信号LORを発生し、レジスタ1220中のデータをレ
ジスタ1218に転送し、またパルス信号WRを発生し、VRAM
制御ユニット238によってレジスタ1218中に保持された
データ用のVRAM書込み動作のスケジュールを作る。信号
OCVが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処理されて信
号OFPを生成する。この信号OFPは休止論理240を介してV
RAM制御ユニット238に印加される。この信号はそのとき
進行中のVRAM書込み動作の優先順位を上げる。この書込
み動作が完了すると、VRAM制御ユニット238は、パルス
信号OFSを発してフリップ・フロップ1232をリセット
し、信号OFRとOFPの値を論理0に変える。
信号OFRの値の論理1から論理0への転換に応じて、
回路1216はパルス信号LORを発して、レジスタ1220中の
値をレジスタ1218中にロードし、またラッチ1228の値を
レジスタ1230中にロードする。次に制御回路1216はパル
ス信号WRを発してVRAM書込み動作を要求する。制御回路
1216がパルス信号LORを発して信号CKの2分の1周期
後、制御回路1216はこれがパルス信号RM発してラッチ12
28のフリップ・フロップFF0、FF1、FF2およびFF3をリセ
ットする。動作シーケンス中のこの時点で、出力FIFO23
6は次の入力データ・バイトを受取りそれをレジスタ122
0のバイト位置B0に記憶するように調整される。従っ
て、制御回路1216はパルス信号LR0、LR1、LR2およびLR3
の中の1つのパルス信号を発生し、レジスタ1214中に保
持されていた値をレジスタ1220の対応するバイト位置B0
乃至B3中にロードする。これと同時に、制御回路1216は
パルス信号LRを発してフリップ・フロップ1234をセット
して入力レジスタ1214中の値を無効とマークし、信号IN
Vを通してフリップ・フロップ1233をリセットし処理器2
10をその休止状態から解放する。
出力FIFO236の動作のこの最後の変形は16−ビットの
データ転送である。このモードで、この出力FIFOは、バ
スB BUSから16−ビット値を受取り、それをVRAM216中に
ランダムにまたは順次的に書込む。この出力FIFO236は
制御レジスタ1212中へロードされている制御値にによっ
て16−ビットのデータ転送モードにされる。出力FIFOが
このモードのときは、制御回路1216によって供給される
信号UBEは3状態ゲート1222を調整して、レジスタ1214
の8個のMSB位置にある値をレジスタ1220のビット位置B
1とB3に印加する。信号LBEは、このモードで、3状態ゲ
ート1224がその出力ポートを高インピーダンスとするよ
うにする。
この16−ビット転送モードでは、レジスタ1210中のバ
イト位置値のMABはカウンタ1226のLSB位置にロードさ
れ、制御回路1216は信号OCVのLSBのみに応動する。この
ビットが0でデータ値がレジスタ1214中にロードされる
と、制御回路はパルス信号LR0、LR1およびLRを発して16
−ビット値をレジスタ1214からレジスタ1220のバイト位
置B0とB1に転送してラッチ1228のフリップ・フロップFF
0とFF1をセットし、レジスタ1214は無効データを持って
いるものとしてマークする。また、信号OCVのLSBが1の
ときは、制御回路1216はパルス信号LR2、LR3、およびLR
を発して16−ビット値をレジスタ1220のビット位置B2と
B3に転送して、ラッチ1228中のフリップ・フロップFF2
とFF3をセットし、レジスタ1214は無効データを持って
いるものとしてマークする。制御回路1216は信号OCVのL
SBの値の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を
介してVRAM制御ユニット238に供給される。
第2のORゲートに対する入力信号は、諸信号SDPA、IF
0PA、IF1PAおよびOFPAとVRAM制御ユニット238から供給
される信号VCUPAである。第2ORゲートの出力信号は信号
PAUSEで、前述したようにマイクロコードRAMとシーケン
サ回路226に印加される。
第13A図と第13B図とはVRAM制御回路238として使用す
るに適した回路を示すブロック図を構成している。上述
したように、VRAM制御ユニット238は、マイクロコード
制御語のB DSTフィールドに応答する回路を有し、これ
は統計的デコーダ230、入力FIFO232と234および出力FIF
O236に対するVRAMアドレス値を記憶する。更に、VRAM制
御ユニット238は、表示器用プロセッサ218にピクセル値
を生成するのに使われるビット・マップ・アドレスと、
VRAM216が使用するダイナミック・ランダムアクセス・
メモリ回路の内容を周期的に復元(リフレッシュ)する
のに使用されるリフレッシュ・アドレスを記憶するため
の回路を持っている。VRAM制御ユニット238は、また、
統計的デコーダ230、入力FIFO232と234および出力FIFO2
36が発生したメモリ読出し信号とメモリ書込み信号に応
答して表示器用プロセッサ218に対する要求信号を読出
し、圧縮されたビデオ信号212の源に対する要求信号を
書込み、また内部で発生したリフレッシュ要求信号に応
じて種々の要求されたメモリ動作を開始してそれらが適
切に完了したことを伝えるように働く回路を持ってい
る。
種々のアドレス値を記憶する回路は制御回路1310によ
って制御される。この回路1310は、クロック信号CK′、
バスMCWによって供給されるマイクロコード制御語のB D
STフィールド、および下記するようにマルチプレクサ13
78によって供給される装置選択値、信号源222によって
供給される垂直フィールド同期信号VSに応動する。制御
回路1310は、主として、種々の装置に対するアドレス値
のローディングの制御を行なう。
統計的デコーダ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により供給される信号IF
OMによって、マルチプレクサ1320と1324を制御して、ア
ドレス値の8個のMSBと14個のLSBを、それぞれレジスタ
1322と1326の入力ポートに印加させるようにする。レジ
スタ1322と1326は、各々その入力ポートに印加された値
を、制御回路1310によって供給される信号IFOHLおよびI
FOLLに応じてロードする。マルチプレクサ1320と1324、
およびレジスタ1322と1326は、マルチプレクサ1312と13
16およびレジスタ1314と1318にそれぞれ対応している。
信号IFOM、IFOHLおよびIFOLLは信号STM、STHLおよびSTL
Lにそれぞれ対応する。IFOLLとIFOHLは22と23というB D
ST値によってそれぞれ付活される。この両値は信号IFOM
を付活する。
マルチプレクサ1328と1332およびレジスタ1330と1334
は、それぞれマルチプレクサ1312と1316およびレジスタ
1314と1318と同一構成を持っている。これらのマルチプ
レクサおよびレジスタは、制御回路1310によって供給さ
れる信号IF1M、IF1HLおよびIH1LLに応動して22−ビット
のアドレス値を入力FIFO234にロードする。この値の8
個のMSBは、B DSTフィールドの値が27であればレジスタ
1330にロードされ、B DSTフィールドの値が26であれば
レジスタ1334にロードされる。
出力FIFO236のアドレス値は、制御回路1310により発
生した信号OFM、OPHLおよびOPLLに応じて、各マルチプ
レクサ1336と1340を介してレジスタ1338と1342にロード
される。上記の信号は前記の各信号STM、STHLおよびSTL
Lに対応している。制御回路1310は、B DSTフィールドが
値14を有するときはパルス信号OFMとOPLLを発生してこ
のアドレス値の14個のLSBをレジスタ1342にロードし、B
DSTフィールドの値が15のときは、パルス信号OFMとOPH
Lを発生してこのアドレス値の8個のMSBをレジスタ1338
中にロードする。各レジスタ対1322と1326、1330と133
4、および1338と1342中に保持されている値を連結する
ことによって形成された22−ビットのアドレス値はマル
チプレクサ1356の各入力ポート1、2、3に印加され
る。
統計的デコーダ230に対するアドレス値をパスする各
マルチプレクサ1312と1316の第2入力ポートは、入力FI
FO232と234および出力FIFO236に対するアドレス値をパ
スする対応マルチプレクサ対の第2入力ポートと同様
に、加算器1392の出力ポートに結合される。下記するよ
うに、この加算器1392は増加(インクレメンテッド)ア
ドレス値を供給する。
この増加したアドレス値は、統計的デコーダ230、入
力FIFO232と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−ビット・レジスタ
1346の入力ポートに結合されていて、このレジスタはVR
AM216のメモリ・リフレッシュ動作を行なうために使用
されるアドレス値を保持する。レジスタ1346の出力ポー
トはマルチプレクサ1356の入力ポート5に結合されてい
る。リフレッシュ・アドレス・レジスタ1346から供給さ
れる値はあるサイクルで変化し、4ミリ秒ごとにVRAM21
6中の各行(ロウ)をアドレスする。この発明のこの実
施例では、このリフレッシュ動作はVRAM制御ユニット23
8の内部にある下記の回路によって制御される。
この実施例で使用される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の内容は次のようにしてレジスタ
1354に転送される。信号VSのパルスと同時に、制御回路
1310は信号BMMの状態を信号CKの一周期中論理1に変更
する。これによってマルチプレクサ1352は、レジスタ13
48と1350中に保持されているアドレス値をレジスタ1354
の入力ポートに印加する。信号BMMが論理1状態にある
間に制御回路1310はパルス信号BMLを発してレジスタ135
4がその入力ポートに供給される値をロードするように
する。レジスタ1354に保持されたこの値はマルチプレク
サ1356の入力ポート6に印加される。
信号BMMが論理0状態にあるときは、マルチプレクサ1
352は加算器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と13
34または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のビット・マップ読出し動作も取
扱う。このスケジューラは或る固定的な優先度計画に従
って動作する。ビット・マップ読出し動作は最高の優先
度を有し、以下優先度が順番に低下する形で、リフレッ
シュ動作、圧縮されたデータ書込み動作、出力FIFO236
に対する緊急メモリ書込み動作、入力FIFO234と232に対
する緊急メモリ読出し動作、および統計的デコーダ230
に対する緊急読出し動作の順に続いている。スケジュー
リングと上記の諸動作の開始を制御する回路については
次に説明する。
上述のようにメモリ要求信号OFR、IF1R、IF0RおよびS
DRはバスP/Sを介してVRAM制御ユニット238に印加され
る。第13A図と第13B図において、それらの信号はバスR/
Sによって伝えられる他の信号から分離されてバレルシ
フタ1360に印加される。バレルシフタ1360では、4−ビ
ット要求信号が循環シフタ1362、マルチプレクサ1364の
1入力ポートとに印加される。シフタ1362は、この4−
ビット要求信号の3個のMSBを1ビット位置だけ下位に
向けてシフトし、かつ4−ビット要求信号のLSBを出力
信号のMSB位置にシフトする。シフタ1362の出力信号は
マルチプレクサ1364の第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に印加される。優先度デコーダ13
70の出力信号は、その入力ポートに印加された値の最上
位の1の値をもつビットのビット位置番号0、1、2ま
たは3である。たとえば、4ビット入力の値が0101であ
ったとすれば優先度デコーダ1370の出力値は2になる。
それは1の値を有する最上位ビットがビット位置2にあ
るからである。優先度デコーダ1370の出力信号はレジス
タ1372に印加され、このレジスタは制御回路1310から供
給される信号CCKに応じて入力ポートに印加された上記
の値をロードする。
レジスタ1372中に保持された値は2−ビット加算器13
74の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および出力F
IFO236に対する緊急メモリ要求は各信号SDP、IF0P、IF1
PおよびOFPによって伝達される。これらの信号は、優先
度デコーダ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は制御回路13
10から供給される信号CCK′のパルスに応動して、その
入力ポートに印加された値をロードするように制御され
ている。レジスタ1384の3−ビット出力信号はマルチプ
レクサ1378の第2の入力ポートに供給される。
マルチプレクサ1378はORゲート1386によって発生した
信号によって制御される。この信号は、休止論理240に
より発生した信号UREQ、および信号HS、CVR、RFの論理
的ORである。ORゲート1386の出力信号は、優先度デコー
ダ1380への入力信号の1つまたはそれ以上のものが論理
1であるときのみ、論理1である。マルチプレクサ1378
は、その制御入力信号が論理0のとき、レジスタ1376か
ら供給された3−ビット値をパスさせその他の場合には
レジスタ1384から供給された3−ビット値をパスさせる
ように、調整されている。マルチプレクサ1378でパスさ
れた値は、マルチプレクサ1356に印加され6個のアドレ
ス値のうちのどれをVRAM216のアドレス入力ポートとバ
ンク選択論理に、および加算器1392の第1入力ポートに
印加すべきかを、表わす。マルチプレクサ1378から供給
される値はROM1390にも印加され、このROMは増分値を加
算器1392の第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つの
列対のそれぞれに印加される。参考資料としてここに引
用するNECエレクトロニクス社発行の1985年「メモリ製
品データブック」3−45乃至3−54頁に記載されている
ように、μPD41264集積回路に対するメモリ書込み動作
に関して列アドレス・ストローブが動作状態にされなけ
れば、アドレスされたメモリセルにデータは書込まれな
い。従って、もし信号CASMの4ビットのうちの何れかが
論理0であれば、信号発生器1388は対応する▲▼
信号を非可動化し、バスD BUSの対応するバイト位置の
データはVRAM216中に書込まれず、アドレスされた32−
ビット語中の上記バイト位置に前からあった内容は損な
われずに残っている。
VRAM信号発生器1388は、行なわれるメモリ動作の形式
に対して適した、列アドレス・ストローブ信号▲
▼、▲▼、▲▼および▲▼
と行アドレス・ストローブ信号▲▼、書込み可動
化信号▲▼、出力可動化信号▲▼、直列制御信
号SCおよび直列出力可動化信号▲▼と同様に生成
する有限ステートマシンである。これらの信号のタイミ
ング図は上掲のメモリ製品データブックの引用頁に記載
されている。
VRAM信号発生器1388は、VRAM216を構成する個々の集
積回路を制御する信号を発生するだけでなく、統計的デ
コーダ230、入力FIFO232、234、出力FIFO236およびリフ
レッシュ・カウンタ1382に対して要求を受けたメモリ動
作は遂行されたことをそれぞれ知らせるストローブ信号
SDS、IF0S、IF10、OFSおよびRFSを供給する。これらの
信号はメモリサイクルの終りに発生する。前述した刊行
物「メモリ製品データブック」の引用部に開示されてい
るタイミング図および既述の説明から、メモリ回路設計
分野の技術者は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′を使って信号
CCK′を発生する。この信号CCK′は、VRAMメモリサイク
ルより信号CK′の1周期の2分の1だけ進んでいる。信
号CCKの前縁から信号CK′の1周期後、すなわちVRAMメ
モリサイクルの開始点で、スケジューリング回路はスケ
ジュールされているメモリ動作の中から或るメモリ動作
を選択しており、かつどの動作が選択されているかを示
す値がマルチプレクサ1378の出力ポートから取出せる。
この選択された値は、マルチプレクサ1356を制御して
選ばれたレジスタ中のアドレスまたは高インピーダンス
をVRAM216のアドレス入力端子しバンク選択論理に印加
させ、またVRAM信号発生器1388を制御して、もし水平線
同期信号HS、カウンタ1382、出力FIFO232によって或い
は統計的デコーダ230、入力FIFO232または入力FIFO234
のうちの1つによって選択されたメモリ要求が発生する
と、直列読出し動作リフレッシュ動作、ランダム書込み
動作またはランダム読出し動作をそれぞれ行なうための
信号を発生させる。メモリサイクルの終りよりも信号C
K′の1周期分前に、VRAM信号発生器1388は適当なパル
ス信号RFS、OFS、SDS、IF0SまたはIF1Sを送り出して、
要求されたメモリ動作は実行されたことを示す。
VRAM制御ユニットは、圧縮されたビデオ信号の信号源
212が周期的にVRAMメモリサイクルを使用して圧縮され
たビデオデータをVRAM216にロードするので、すべてのV
RAMメモリサイクルを使用するとは限らない。VRAM216の
使用に関する競合の可能性は、緊急メモリ要求を取扱う
スケジューリング回路によって解決される。
圧縮されたビデオの信号源212は、VRAM216中に記憶す
べき32−ビットの値を持っているときは、信号CVRの状
態を論理1に変える。信号CVRは優先度デコーダ1380の
ビット位置4入力ポートに印加される。スケジューリン
グ回路がこの形式の要求を取扱うときは、4の値を、VR
AM信号発生器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の一部になり、従って処理器集積
回路210の内部にあることになろう。しかし第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ワードに埋
込まれる(パッディングされる)。
多項式Ax+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を処理されるセルの形式と比較する(ステップ165
0)。もしこのコードがそのとき処理されている形式で
あれば、記録がデコードされ(ステップ1660)、そうで
ない場合にはその記録はスキップされる(ステップ167
0)。
次にセルのデコーディング・プロセスについて詳しく
説明する。初めに、絶対および相対的セルのデコードを
効率的の行なうためのこのプロセスのキー要素がある
“スロープ・テーブル”の概念を導入して説明すること
が必要である。
“スロープ・テーブル”の概念は第17A図と第17B図に
例示されている。第17A図は双線形多項式関数Ax+By+
Cでフィルされる矩形領域を表わしている。この様な双
線形関数は、この関数からの値で直接フィルされる絶対
セルと、この関数によって与えられる値をそのときより
前のビデオ画像のセルからのピクセル値に加算する相対
的セルとの双方に使用されるものであることを、想起さ
れたい。スロープ・テーブルは絶対および相対的セルの
双方に対して同一のものである。
関数P(x,y)=Ax+By+Cの値は、第1行の値P、
0、P1、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−ビット値(P0、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、1.
25に対するXスロープ・テーブル・エントリーとスロー
プ・リスト中の項目10、2.25に対するYスロープ・テー
ブル・エントリーが発生される。
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は
入力FIFO234をYスロープ・テーブル中の第1エントリ
ーに対する点に初期化する。次のステップ1818では、た
とえばデータ・パス242中のR3(記号的に“値”とい
う)レジスタを値(C、C)に、すなわちセル・テーブ
ル記録から得られ上位8ビット位置と下位8ビット位置
の双方に一定値Cをもつ16−ビット・ワードに、初期化
する。ステップ1820では、他のレジスタたとえばyカウ
ントと呼ぶレジスタR2をセル・テーブル・エントリーか
らの値Hに初期化する。
ステップ1822は、プロセス中の“アウタ・ループ(ou
ter loop)”、すなわち処理されるセルの各走査線に対
して1回行なわれるループ、を始める。先ず(ステップ
1822)、データRAM228中のポインタ・レジスタの1個た
とえばDR2を、既にステップ1812でデータRAM228中に転
送されている、Xスロープ・テーブル中の第1エントリ
ーに対する点に初期化する。ステップ1824では、データ
・パス回路242のループ・カウンタ514(記号的には、
‘cnt'という)を値W/2に初期化する。これは、セルの
各水平線に対して発生されるピクセル値対の数である。
約束として、このコード化システムは1線当り偶数個の
ピクセルを有するセルを発生するだけとする。従って、
Wは常に偶数である。ステップ1826はレジスタ“値”中
にある値をALU244の出力レジスタ416にパスさせ、これ
はスロープ・テーブルの説明で前述したように出力ピク
セル値を累加するのに使用されるものである。ステップ
1828はこのプロセスの“インナ・ループ”であって、詳
細に下記するが、セル線の水平線上における各ピクセル
対に対して1回行なわれる。そのセルに対してピクセル
・データの1水平線の処理の後、次のステップ1830で
は、“値”にYスロープ・テーブル値を加算する。これ
は第17A図に関連して前述したように、計算値=値+〕
(Q0、Q0)と等価である。ステップ1832は、出力FIFO23
6をセル中の次の水平線の開始ピクセル・アドレスに再
初期化し、ステップ1824は‘yカウント’の値を減少さ
せる。テスト1836は、‘yカウント’が0に到達した
か、ステップ1822へループバックしたか(もし上記が0
に到達しなければ)或いはループを出た(0に到達し
て)か、どうかをチェックする。これで、1つの絶対セ
ルの処理が完了する。
第19図は第19図のプロセスのインナ・ループ1828を実
際のマイクロコード制御ワードまたは命令の形で示して
いる。インナ・ループ1828は、ループ・カウンタ514の
制御下で交互に実行される2つの命令から成っている。
ここに掲示されている命令アドレスは例示目的だけのも
のであるが、下記するように、条件付きのブランチ動作
(分岐動作)がマイクロコードRAMとシーケンシング回
路226によって行なわれるやり方のために、それらの番
号は完全には任意的なものではない。
第1の命令(1)は、計算ALU=ALU+〕*DR2++を行
なう。ここに、記号*DR2++はテーブル4に関連して前
述した通りである。この計算は、Xスロープ・テーブル
・エントリーからの1対の値をALU出力レジスタ416(双
線形関数値の累算器として使用されている)に加算し、
またデータRAM228のポインタ・レジスタDR2をスロープ
・テーブル中の次の対をなす値に対する点に自動増加さ
せる。この命令は、また、ループ・カウンタを減少さ
せ、次でマイクロコードRAMとシーケンシング回路226を
次のマイクロコード制御ワードである命令2をロードす
るような条件付けも行なう。命令2は、回路210を制御
してALU出力レジスタ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
は、VRAMからこのデータを2回読出す代りに、このルー
プを1周するごとに次のループ1周で使用するためにこ
のデータをデータRAM228中の“ライン・バッファ”に記
憶させる。
第20図に示したプロセスは、セル・テーブル記録から
データRAM228に対して値を転送するステップ2010から始
まる。ステップ2012は、現在のセル・テーブル記録から
得られる値AのXスロープ・テーブル・エントリーを、
VRAM216からデータRAM228へ転送する。これらの転送動
作には入力FIFO232を使用する。ステップ2014、2016お
よび2018は、それぞれ、現在の画像ビット・マップに対
する点への出力FIFO236の初期化、前の画像ビット・マ
ップに対する点への入力FIFO232の初期化、その時のセ
ル・テーブル記録からの値Bに相当するYスロープ・テ
ーブル・エントリーに対する点への入力FIFO234の初期
化を行なうステップである。ステップ2020は、ΔXとΔ
Yの小数部に等しい変位値でピクセル補間器246を初期
化する。このピクセル補間器は、前の画像の開始点アド
レスのLSBが0であれば“同相(イン・フェーズ)”モ
ードに初期化され、そうでなければ“離相(アウト・オ
ブ・フェーズ)”モードで働くようにセットされる。ス
テップ2022は、デコーディング・プロセスの残部で使用
するためにWの値を2等分する。ステップ2024は2つの
インナ・ループのカウント値であるN1とN2の値を計算す
る(矩形枠2024では、この可変“位相”は前の画像の開
始点アドレスLSBと同一値を持っている)。ステップ202
6は、レジスタをセル・テーブル・レコードからのHの
値に初期化して、セル中の水平線をカウントするように
する。ステップ2028は、前の画像セルの1本の水平線を
データRAM228中の線バッファ中にロードし、ポインタ・
レジスタDR1とDR2をその線バッファ中の第1の16−ビッ
ト値に対する点にリセットする。ステップ2030は、ピク
セル補間器246のパイプラインを、最初の有効な結果を
そこから読出すことのできる点までロードする。たとえ
ば、第9B図を参照すれば、ステップ2030は命令サイクル
T1乃至T11を含んでいる。
ステップ2032はこのプロセスの“アウタ・ループ”の
出発点である。先ず、(ステップ2032)、データRAM228
中の1つのポインタ(例えばDR0)を、Xスロープ・テ
ーブル・エントリー中の第1の値に対する点に初期化す
る。次に、現在のセル・テーブル・レコードからの複製
(ジュープリケーテッド)定数項である値(C、C)
が、双線形関数P(x,y)の値を累加するのに使用され
るALU244のB入力ラッチ412中にロードされる。ステッ
プ2036、2038および2039は、インナ・ループ命令を初期
化しN1回(ただし、N1は0のこともある)実行する。ス
テップ2040は、次に入力FIFO232を前の画像からのセル
における次の水平線の開始点に対する点にリセットす
る。ステップ2042は線バッファ・ポインタ(DR1とDR2)
をこの線バッファの開始点に対する点にリセットする。
ステップ2044、2046および2048はインナ・ループ命令を
初期化N2回実行する(ここに、N2は0のこともある)。
ステップ2050では、出力FIFO236が使用したアドレス
値を、現在のビット・マップ用のセルの次の線における
第1ピクセル位置に対する点に進める。ステップ2052
は、ピクセル補間器を通してもう1つの値の組(4ピク
セル)をパスさせる。これらの値は、前の画像における
セルの右端を少し越えた位置を有するピクセルに相当
し、線上の最後の補間結果を生成するのに使用される。
しかし、このステップは、また、ピクセル補間器に別の
1対の結果を生じさせる。この結果はステップ2052で読
出され、簡単に破棄される。ステップ2054は、‘yカウ
ント’の値を減少させ、テスト2056では、そのセルのピ
クセル値の最終水平線の処理が完了したかどうかをチエ
ックする。もし完了していれば、プロセッサはアウタ・
ループを出て、そうでなければステップ2032でこのルー
プを継続する。
第21図は、第20図に示したプロセスのインナ・ループ
を示している。このループは4つの命令で構成されてい
る。第1の命令(1)はALU244のB入力レジスタ412に
おける値をある値*DR0(すなわち、レジスタDR0に保持
されているアドレス値を有するデータRAMセル中の値)
に加算する。この値はXスロープ・テーブルから与えら
れる。またこの命令の期間中、DR0中に保持されている
アドレス値は1だけ増分増加される。ALU244のB入力レ
ジスタ412は双線形関数Ax+By+Cの値を累加するのに
使用されていることを想起すべきである。命令1は、ま
た入力FIFO232を使って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のループ・カウンタ5
14を増分減少(decrement)させる。最後に命令4は、
補間器246に対するピクセル値の下側の対である。レジ
スタR0中の値をとって、この値をピクセル補間器246と
データRAM228中の線バッファの双方にロードする(レジ
スタDR2中のアドレスを使って)。条件付きブランチ動
作は、ループ・カウンタが0に到達したか否かに基づい
て動作するものであり、所要数のピクセル値の発生が完
了するまではループ中でその命令を繰返させる。
このインナ・ループは4つの命令サイクルで2ピクセ
ル値を発生し、これは休止状態が無いものとすれば、25
6×240の画像の0.6フィールドの最大総経過時間に相当
する(これは、インナ・ループだけについてのオーバー
ヘッドで、前述した他のものは無視している)。
第22図は、DPCMセルのデコーディングに含まれている
動作のシーケンスを示す。DPCMセル中の各ピクセル値は
圧縮されたビデオ画像のデータ・セグメント中の1個の
値Vでコード化される。この値Vは、現在の画像におけ
る可能性のあるすべてのピクセル−ピクセル間の差を含
んでいる値のテーブル(テーブルD)に対するインデク
スをなしていると解釈される。このテーブルDはデータ
RAM228に記憶されている。DPCMセルの大部分のピクセル
値は、テーブルDから得られる差のピクセル値をターゲ
ット・ピクセルのすぐ左のピクセル値に加えることによ
り、発生される。セルの左端のピクセル値はテーブルD
からの差のピクセル値を前の線の対応する値に加えるこ
とによって発生される。セルの左上隅のピクセルの“上
にある”仮想ピクセルは一定値128を有するものと見な
す。
DPCMデコーディング・プロセスは、VRAM216中のセル
・テーブルからの値X POS、Y POS、H、W、を入力FIFO
232を介してデータRAM228に転送する(ステップ2210)
ことによって始まる。次に、出力FIFO236が現在のセル
の左上隅のピクセルに相当するアドレス(X POS、Y PO
S)に対する点へ、初期化される(ステップ2212)。ス
テップ2214ではレジスタ、たとえばR3(‘最後の線’)
が値128にセットされる。このレジスタ‘最後の線’
は、現在の線の第1ピクセルを発生させるときに使用す
るため、前の線の第1ピクセル値を記憶するのに使用さ
れる。ステップ2216は、セル中の水平線数を保持してい
る、たとえばR2のようなレジスタ‘yカウント’をロー
ドする。
ステップ2218はデータ・パス回路242のループ・カウ
ンタ514にセル・テーブル記録からの値Wをロードす
る。ステップ2220は値*DR2(すなわちテーブルDからの
値)を読出すレジスタDR2中に統計的デコーダ230からの
値V(すなわちテーブルDに対するインデクス)をロー
ドすることによって、水平線上の第1ピクセルの値を計
算し、次に計算“最後の線=最後の線+〕*DR2"を行な
う。次に、インナ・ループが実行される(ステップ222
2)。最後に、出力FIFOがその時のビット・マップの次
の水平線の第1ピクセル値に対する点にリセットされ
(ステップ2224)、レジスタ‘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個の
LSB位置によって運ばれるデータの1個のバイトについ
て動作している。この飽和を伴なう2重加算動作は、実
際の差の値ではなくテーブルDから得られる近似的な差
の値を使用することから生ずるどの様な誤った差の値を
も飽和させるために使用される。この形式の飽和加算法
は、飽和を伴なう2重加算動作においてALU244によって
のみ支持される。
このDPCMデコーディング命令シーケンスのインナ・ル
ープは4つの命令ごとに1ピクセルを発生し、これは休
止状態が無いとすれば、インナ・ループのみについて、
256×240の画像に対して1.2フィールドの最大総経過時
間に相当する。
これまでの、ビデオ信号プロセッサ210の内部回路、
デコーディング・プロセス、およびインナ・ループの実
際のマイクロコード命令に関する説明を利用すれば、当
該専門家にとって、完全なデコーディング・プロセスを
構成するマイクロコード命令シーケンスを作ることは容
易な筈である。
上述したこの発明の実施例では、信号源212から供給
される圧縮されたデータはセル・テーブルの形式である
が、他の形式たとえば2進トリーの形でデータを供給す
ることも考えられる。その場合には、プロセッサ210は
2進トリー・データをセル・テーブル形式に変換するよ
うにプログラムされることになろう。
フロントページの続き (72)発明者 スプレイグ,デービツド リロイ アメリカ合衆国 ニユージヤージ州 08525 ホープウエル イートン・プレ イス 4 (72)発明者 アストル,ブライアン アメリカ合衆国 ニユージヤージ州 08512 クランベリ マデイソン・アベ ニユ 1 (56)参考文献 特開 昭61−93786(JP,A) 特開 昭62−250712(JP,A) 特開 昭61−140289(JP,A)

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】ピクセル値(S00、S01、S10、S11)を供給
    する入力手段(ABUS)と、 第1と第2の補間スケールファクタの供給源(MA1〜M
    A3、MB1〜MB3)と、 第1と第2の制御信号のそれぞれに応答して、中間の補
    間ピクセル値を保持する第1と第2のデータ記憶手段
    (860、862)と、 上記入力手段と上記供給源と上記第1と第2のデータ記
    憶手段とに結合されており、第1の値を持つ補間器制御
    信号に応答して、上記入力手段によって供給される2つ
    のピクセル値を1次元補間手段を用いて上記第1の補間
    スケールファクタによって決まる割合で合成して、上記
    中間の補間ピクセル値の1つを生成し、また、第2の値
    を持つ上記補間器制御信号に応答して、上記中間の補間
    ピクセル値の中の2つを上記1次元補間手段を用いて上
    記第2の補間スケールファクタによって決まる割合で合
    成して、2次元的に補間されたピクセル値を生成するピ
    クセル値補間手段(246)と、 上記第1と第2のデータ記憶手段と上記ピクセル値補間
    手段とに結合されており、上記第1と第2の制御信号と
    上記補間器制御信号とを発生する制御手段(814)と、 を含む、2次元ピクセル値補間器。
  2. 【請求項2】nを1水平ラインまたは1垂直列中のピク
    セルの数に対応する整数で、かつ、n個が1つの次元を
    規定するものであるとして、2×nのマトリックスをな
    すピクセル値(S00〜S17)を供給するステップと、 1次元補間器(246)に交互に、 (A)上記マトリックスからの1対のピクセル値であっ
    て、上記1つの次元に直角な方向に整列しているものを
    用いて、第1の補間係数に従って1次元補間を行わせ
    て、1次元補間値を生成させ、 (B)上記ステップ(A)で生成された2つの最も新し
    い1次元補間値に対応する1対の値を用いて、第2の補
    間係数に従って1次元補間を行わせて、2次元補間値を
    生成させる、 ステップと、 を含む、2次元で補間されたピクセル値を生成する方
    法。
  3. 【請求項3】互いに隣接する行における対をなす同じ列
    のピクセルに対応する対をなすピクセル値(S00、S01
    S10、S11)を連続的に供給する手段(ABUS)と、 補間係数を変える手段(814)を含む1次元補間器(24
    6)と、 上記1次元補間器に結合されており、上記補間器によっ
    て生成された対をなす値を供給する手段(820、822)で
    あって、上記対をなす値は、上記補間器によって供給さ
    れる交番出力値に対応し、かつ1次元的に補間されたピ
    クセル値に対応するものであるような手段と、 上記1次元補間器と、上記対をなすピクセル値を供給す
    る手段と、上記対をなす値を供給する手段とに結合され
    ており、上記1次元補間器が、交互に、(a)上記対を
    なすピクセル値を供給する手段からの1対のピクセル値
    を用いて、第1の補間係数に従って、1次元的に補間さ
    れたピクセル値を生成し、(b)上記対をなす値を供給
    する手段からの上記対をなす値の1つの対を用いて、第
    2の補間係数に従って、2次元的に補間されたピクセル
    値を生成するようにする手段(808、810)と、 を含む、2次元ピクセル補間器。
  4. 【請求項4】複数のピクセル値からなる隣接する水平ラ
    インから対をなす垂直方向に整列したピクセル値を連続
    的に供給する手段(ABUS;804、806、808、810)と、 第1と第2の入力ポート及び出力ポートを有し、信号を
    減算的に合成する第1の合成手段(824)と、 この第1の合成手段の出力ポートに結合された被乗数入
    力ポートと、乗数入力ポートと、出力ポートとを有する
    乗算器(825)と、 この乗算器の出力ポートと、上記第1の合成手段の第1
    と第2の入力ポートの一方とにそれぞれ結合されている
    第1と第2の入力ポートを有し、出力ポートを有する、
    信号を加算的に合成する第2の合成手段(858)と、 この第2の合成手段の出力ポートに結合されており、上
    記第2の合成手段によって生成された1つおきの和の対
    を同時に供給する手段(864)と、 上記垂直方向に整列したピクセル値の対を供給する手段
    と、上記1つおきの和の対を同時に供給する手段とに結
    合されており、上記第1の合成手段の第1と第2の入力
    ポートに、上記垂直方向に整列したピクセル値の対と上
    記1つおきの和の対とを交互に供給する手段(804、80
    6、808、810)と、 上記第2の合成手段の出力ポートに結合されており、補
    間されたサンプルに対応する和を選択する手段(864)
    と、 上記乗算器の上記乗数入力ポートに対し、水平スケール
    ファクタと垂直スケールファクタとにそれぞれ対応する
    乗数値を交互に供給する手段(814)と、 を含む、2次元ピクセル補間器。
  5. 【請求項5】ピクセル値が対をなしてデータバス上に生
    じ、各対が画像ラインに沿って水平方向に配置された連
    続する2つのピクセル値からなり、データバス上に生じ
    るピクセル値の1つおきの対が隣接する水平画像ライン
    の間で交番し、ピクセル値の連続する1つおきの対が画
    像中の垂直方向に整列したピクセルに対応するように構
    成されており、 上記垂直方向に整列したピクセル値を供給する手段が、 上記データバスに結合されており、ピクセル値の1つお
    きの対を連続的に記憶する第1のレジスタ(804)と、 上記データバスに結合されており、間挿されたピクセル
    値の対を連続的に記憶する第2のレジスタ手段(806)
    と、 上記第1と第2のレジスタ手段に結合されており、上記
    第1と第2のレジスタ手段に記憶されているピクセル値
    の各対のピクセル値の第1のものからなる対を連続的に
    記憶する第3のレジスタ手段(808)と、 上記第1と第2のレジスタ手段に結合されており、上記
    第1と第2のレジスタ手段に記憶されているピクセル値
    の各対のピクセル値の第2のものからなる対を連続的に
    記憶する第4のレジスタ手段(810)と、 上記第3と第4のレジスタ手段に結合されており、上記
    第3と第4のレジスタ手段からのピクセル値の対を交互
    に供給するマルチプレクサ(811)と、 を含むものである、請求項4に記載の補間器。
JP63509545A 1987-11-16 1988-11-03 2次元ピクセル補間器および2次元で補間されたピクセル値を生成する方法 Expired - Lifetime JP2750438B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US121,021 1987-11-16
US07/121,021 US4816913A (en) 1987-11-16 1987-11-16 Pixel interpolation circuitry as for a video signal processor

Publications (2)

Publication Number Publication Date
JPH03501553A JPH03501553A (ja) 1991-04-04
JP2750438B2 true JP2750438B2 (ja) 1998-05-13

Family

ID=22393983

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63509545A Expired - Lifetime JP2750438B2 (ja) 1987-11-16 1988-11-03 2次元ピクセル補間器および2次元で補間されたピクセル値を生成する方法

Country Status (7)

Country Link
US (1) US4816913A (ja)
EP (1) EP0390818B1 (ja)
JP (1) JP2750438B2 (ja)
KR (1) KR970003048B1 (ja)
CA (1) CA1319420C (ja)
DE (1) DE3850117T2 (ja)
WO (1) WO1989005082A1 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63245085A (ja) * 1987-03-31 1988-10-12 Pioneer Electronic Corp サブサンプル内挿方法
DE3851718T2 (de) * 1987-06-09 1995-01-26 Sony Corp Fernsehnormwandler.
US4897717A (en) * 1988-03-30 1990-01-30 Starsignal, Inc. Computer-based video compression system
US4951139A (en) * 1988-03-30 1990-08-21 Starsignal, Inc. Computer-based video compression system
US5025394A (en) * 1988-09-09 1991-06-18 New York Institute Of Technology Method and apparatus for generating animated images
JP2765012B2 (ja) * 1989-03-10 1998-06-11 ソニー株式会社 補間信号形成回路
US4970663A (en) * 1989-04-28 1990-11-13 Avid Technology, Inc. Method and apparatus for manipulating digital video data
US5233689A (en) * 1990-03-16 1993-08-03 Hewlett-Packard Company Methods and apparatus for maximizing column address coherency for serial and random port accesses to a dual port ram array
WO1992001260A1 (en) * 1990-07-09 1992-01-23 Eastman Kodak Company Selectable power of two coefficient signal combining circuits
US5124804A (en) * 1990-09-10 1992-06-23 Ncr Corporation Programmable resolution video controller
US5499328A (en) * 1991-02-22 1996-03-12 Network Computing Devices, Inc. Line draw method for generating, storing and displaying lines in a display system
US6055335A (en) * 1994-09-14 2000-04-25 Kabushiki Kaisha Toshiba Method and apparatus for image representation and/or reorientation
US5790714A (en) * 1994-11-01 1998-08-04 International Business Machines Corporation System and method for scaling video
JPH08289305A (ja) * 1995-04-14 1996-11-01 Philips Japan Ltd 画像データ圧縮/伸張システム
US5719594A (en) * 1995-10-06 1998-02-17 International Business Machines Corporation Method and system in a data processing system for improved video image resolution when enlarging a video sequence
JPH09114443A (ja) 1995-10-20 1997-05-02 Seiko Epson Corp 映像スケーリング装置
US6061477A (en) * 1996-04-18 2000-05-09 Sarnoff Corporation Quality image warper
US6252576B1 (en) 1998-08-06 2001-06-26 In-System Design, Inc. Hardware-efficient system for hybrid-bilinear image scaling
HK1046049A1 (zh) 1999-09-01 2002-12-20 Intel Corporation 用於多线程处理器的分支指令
WO2001016702A1 (en) 1999-09-01 2001-03-08 Intel Corporation Register set used in multithreaded parallel processor architecture
US6650704B1 (en) 1999-10-25 2003-11-18 Irvine Sensors Corporation Method of producing a high quality, high resolution image from a sequence of low quality, low resolution images that are undersampled and subject to jitter
US7681018B2 (en) 2000-08-31 2010-03-16 Intel Corporation Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set
US20020053017A1 (en) * 2000-09-01 2002-05-02 Adiletta Matthew J. Register instructions for a multithreaded processor
AU2002350949A1 (en) * 2001-06-25 2003-01-08 Redhawk Vision Inc. Video event capture, storage and processing method and apparatus
US6950469B2 (en) * 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
US7437724B2 (en) 2002-04-03 2008-10-14 Intel Corporation Registers for data transfers
US7643679B2 (en) 2003-02-13 2010-01-05 Ati Technologies Ulc Method and apparatus for block based image compression with multiple non-uniform block encodings
US7250953B2 (en) 2004-05-14 2007-07-31 Nvidia Corporation Statistics instrumentation for low power programmable processor
US7142214B2 (en) * 2004-05-14 2006-11-28 Nvidia Corporation Data format for low power programmable processor
US7389006B2 (en) * 2004-05-14 2008-06-17 Nvidia Corporation Auto software configurable register address space for low power programmable processor
US7199799B2 (en) * 2004-05-14 2007-04-03 Nvidia Corporation Interleaving of pixels for low power programmable processor
US7091982B2 (en) * 2004-05-14 2006-08-15 Nvidia Corporation Low power programmable processor
US7268786B2 (en) * 2004-05-14 2007-09-11 Nvidia Corporation Reconfigurable pipeline for low power programmable processor
US8295364B2 (en) * 2009-04-02 2012-10-23 Sony Corporation System and method of video data encoding with minimum baseband data transmission
CN111444475B (zh) * 2020-03-24 2023-07-14 广东海洋大学深圳研究院 一种应用在飞行测试数据分析的容错ckf滤波融合方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2921124A (en) * 1956-12-10 1960-01-12 Bell Telephone Labor Inc Method and apparatus for reducing television bandwidth
US4127873A (en) * 1977-05-20 1978-11-28 Rca Corporation Image resolution enhancement method and apparatus
US4125861A (en) * 1977-08-18 1978-11-14 Bell Telephone Laboratories, Incorporated Video signal encoding
US4163257A (en) * 1977-12-27 1979-07-31 Rockwell International Corporation Spatial toner for image reconstitution
US4303947A (en) * 1978-06-21 1981-12-01 Xerox Corporation Image interpolation system
JPS5676683A (en) * 1979-11-28 1981-06-24 Ricoh Co Ltd Processing method for picture deformation
US4354243A (en) * 1980-04-11 1982-10-12 Ampex Corporation Two dimensional interpolation circuit for spatial and shading error corrector systems
US4428059A (en) * 1980-07-30 1984-01-24 Honeywell Inc. Real time fill circuit
US4396906A (en) * 1980-10-31 1983-08-02 Sri International Method and apparatus for digital Huffman encoding
US4587621A (en) * 1982-03-08 1986-05-06 The Mead Corporation Device for electrical variable magnification of document image
GB8306339D0 (en) * 1982-03-19 1983-04-13 Quantel Ltd Video processing systems
DE3211323C2 (de) * 1982-03-27 1984-02-09 Standard Elektrik Lorenz Ag, 7000 Stuttgart System zur redundanzvermindernden digitalen Übertragung von Fernsehbildsignalen
GB2160051A (en) * 1984-04-26 1985-12-11 Philips Electronic Associated Video signal processing arrangement
JPS6193786A (ja) * 1984-10-15 1986-05-12 Kokusai Denshin Denwa Co Ltd <Kdd> 画像信号の適応補間方式
JPS61140289A (ja) * 1984-12-12 1986-06-27 Sony Corp テレビジヨン信号の高能率符号化方法
US4694414A (en) * 1984-12-19 1987-09-15 Rca Corporation Digital delay interpolation filter with amplitude and phase compensation
US4656516A (en) * 1985-03-25 1987-04-07 Rca Corporation Vertical subsampling and memory synchronization system for a picture within a picture television receiver
US4661987A (en) * 1985-06-03 1987-04-28 The United States Of America As Represented By The Secretary Of The Navy Video processor
US4723163A (en) * 1985-12-26 1988-02-02 North American Philips Consumer Electronics Corp. Adaptive line interpolation for progressive scan displays
JPS62250712A (ja) * 1986-04-23 1987-10-31 Mitsubishi Electric Corp 適応型サブサンプル用フイルタ装置

Also Published As

Publication number Publication date
EP0390818A1 (en) 1990-10-10
KR970003048B1 (en) 1997-03-13
US4816913A (en) 1989-03-28
CA1319420C (en) 1993-06-22
DE3850117D1 (de) 1994-07-14
JPH03501553A (ja) 1991-04-04
DE3850117T2 (de) 1995-02-23
WO1989005082A1 (en) 1989-06-01
EP0390818B1 (en) 1994-06-08

Similar Documents

Publication Publication Date Title
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
US5088053A (en) Memory controller as for a video signal processor
US4835607A (en) Method and apparatus for expanding compressed video data
US5210705A (en) Digital filtering with single-instruction, multiple-data processor
US5386233A (en) Method for efficient memory use
US5659776A (en) Method and apparatus for inputting data to a single instruction, multiple data processor used in a television receiving system
US5600582A (en) Programmable horizontal line filter implemented with synchronous vector processor
US4881194A (en) Stored-program controller for equalizing conditional branch delays
US5781134A (en) System for variable length code data stream position arrangement
AU622879B2 (en) Pixel interpolation circuitry as for a video signal processor
US5978508A (en) Two-dimensional inverse discrete cosine transformation circuit for MPEG2 video decoder
AU625151B2 (en) Memory controller as for a video signal processor
AU622128B2 (en) Processor for expanding a compressed video signal
AU623874B2 (en) Stored program controller with a conditional branch facility as for a video signal processor
AU626847B2 (en) Dual mode adder circuitry

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090227

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090227

Year of fee payment: 11