JPH03501556A - ビデオ信号プロセッサ、圧縮されたビデオデータを処理するための装置、および復元されたビデオ信号を生成する集積回路 - Google Patents

ビデオ信号プロセッサ、圧縮されたビデオデータを処理するための装置、および復元されたビデオ信号を生成する集積回路

Info

Publication number
JPH03501556A
JPH03501556A JP1501081A JP50108189A JPH03501556A JP H03501556 A JPH03501556 A JP H03501556A JP 1501081 A JP1501081 A JP 1501081A JP 50108189 A JP50108189 A JP 50108189A JP H03501556 A JPH03501556 A JP H03501556A
Authority
JP
Japan
Prior art keywords
value
signal
data
register
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.)
Granted
Application number
JP1501081A
Other languages
English (en)
Other versions
JP2750462B2 (ja
Inventor
サイモン,アレン ヘンリー
スプレイグ,デービツド リロイ
ケイツ,ジヨン マイケル
パテイ,マイケル フランシス
ハーニー,ケビン
ライアン,ローレンス デービツド
フエデーレ,ニコラ ジヨン
アストル,ブライアン
Original Assignee
インテル コーポレーシヨン
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22398580&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH03501556(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by インテル コーポレーシヨン filed Critical インテル コーポレーシヨン
Publication of JPH03501556A publication Critical patent/JPH03501556A/ja
Application granted granted Critical
Publication of JP2750462B2 publication Critical patent/JP2750462B2/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

Abstract

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

Description

【発明の詳細な説明】 圧縮されたビデオ信号を伸張する ためのプロセッサ この発明は圧縮されたビデオ信号をデコードし、伸張する回路に関する。
近年、ビデオ信号圧縮の分野では大きな進歩がなされている。デジタル的にコー ド化されたビデオ信号の伝送あるいは記憶を容易にするために、その信号の冗長 度を減じるために、いくつかの方法が開発されている。この出願においては、3 つの方法、以下では、絶対コード化、相対的コード化及び差分パルスコード変調 、(D P CM)コート化と称する方法が特に関係がある。これらのビデオ圧 縮技法を以下に説明する。
絶対コート化された画像というのは、ある画像を複数の隣接したセグメントに分 割し、各セグメントにフィル(fill)値を割当てることによって生成される 。このフィル値は、一定のルミナンス及び/またはクロミナンス値とすることも できるし、またセグメント中のビクセルの位置の関数としてビクセル毎に変わる 値である場合もある。絶対コード化画像がデコードされて表示されると、再構成 されたセグメントからなるモザイクが生じる。
絶対コード化法は、各々が元の画像の異なるセグメントを記述する複数のデータ 記録を作り出す、これらの記録の各々には、いくつかのフィールドが含まれてお り、各フィールドには1個以上の2造語が含まれている。絶対コード化画像から の記録の一例が第1A図に示されている。この記録は、セグメント”の左上隅の ビクセルの水平及び垂直方向の位置を示す2つの1バイトのフィールドX PO Sとy posを含んでいる。この記録はさらに、そのセグメントを規定する水 平及び垂直方向における。それぞれのビクセル数を示す1バイトのフィールドW と1バイトのフィールドHとを含んている。絶対コート記録中の最後の3つのフ ィールドA、B及びCはセグメントがどのようにフィルされるかを決定する。こ れらの値は、ある特定のビクセルの値PWがどのように決めるかを記述する双線 形(bi)inear)式(1)の係数である。
P V = A X + B Y + C(1)この式(1)において、Cはセ グメントの左上隅における、例えば、ルミナンスレベルを表わす1バイト値であ る。AとBは、各々、水平及び垂直方向に連続するビクセル間でルミナンス値が 変化する量を表わす2バイトの値である。XとYは、セグメントの左上隅に対す るビクセルのそのセグメント内の位置を示す値である。絶対コードの記録のこの 例では、ビデオ信号のルミナンス及び/またはカラー情報信号成分の各々につい て別々の記録群があり、また、セグメントの全てが方形であるとしてる。絶対コ ード化システムのより一般的な例は、ここに参考として挙げるSignal P rocessing” (オランダ)Vol、 11. No、 1.1921 6年7月、47−60頁のコーチャCM。
Kocher)氏及びレオナルディ(R,Leonardi)氏による論文rA daptive Region Growing Technique Usi ng Po1y−nosinal Functions For Image  Approximation (画像近似用の多項関数を用いた適応型領域成長 技法)」に見出される。
前述した2番目のビデオ信号圧縮法、相対的コート化では、画像を、複数画像( ■ulti−image)シーケンス中の前の画像から対応セグメントを用いて 規定される互いに隣接したセグメントに分割される。このコート化法はフルモー ション(全運動)ビデオを表わす一組のビデオフィールド用に適している。この 方法を用いてコニド化した画像は複数のデータ記録により表わされる。記録の一 例が第1B図に示されている。フィールドx pos。
Y PO3%W及びHは絶対記録の場合と同じである。
2つの1バイトのフィールドΔXとΔYは、その前のビデオフィールドにおける 対応したセグメントに対するその時のビデオ信号フィールド中のセグメントの水 平及び垂直方向のビクセル偏位を示す、これらの偏位な表わす値は1表示画像中 の互いに隣接するビクセル間の距離の分数を単位としたものとすることができる 。
相対的コート記録におけるフィールドA、B及びCは絶対コード記録における対 応するフィールドと同じである。これらの値は、セグメント中のビクセル値に加 えられる値を作るために、双線形の式(1)の係数として用いられる。
相対的コード化された画像に対する記録形式(フォーマット)も、セグメントは 方形であり、かつ、画像のルミナンス及びカラー情報成分の一方のみがある与え られた記録によって記述されるとしている。相対的コード化の複雑さについての 全般的な記述は、ここに参考として挙げるIEEE Transactions  on Communications″、1977年4月、448−455頁 のプロフェリオ(S、 Brofferio)氏及びロッカ(F、 1occa )氏の論文r Interframe Redun−dancy Reduct ion of Video Signal Generated by Tra −nslating 0bjcts (対象を変換して生成したビデオ信号のフ レーム間冗長度の減少)」に示されている。
前述した第3のコード化法、DPCMは、一般的には、画像中の各ビクセルを、 予測ビクセル値と差分ビクセル値との和として記述する。この方法は、絶対コー ド記録あるいは相対的コード記録によっては簡単に記述できない画像中のセグメ ントに適用される。DPCM記録の一例が第1C図に示されている。この記録に おけるフィールドx pos、y pos、w及びHLt、 前述り。
た絶対コード記録及び相対的コード記録の場合と同じである。DPCMコード記 録の残余の部分はNバイトからなるシリーズである。ここでNはW及びHフィー ルドに保持されている値の積である。これらNバイトの中の第1のものDPOは 、一定の予測値、例えば、128に加算されると、セグメントの左上隅のビクセ ルを生成するような差の値である0次のバイトDPIは、和128+DP0に加 算されてセグメントの最上部の線上の次に続くビクセル値を生成する差の値であ る。同様に、値DP2は、128とDP、とDP工の累算和に加算されて、セグ メントの最上部の線上の第3番目のビクセル値を生成する差の値である。DPC Mコート記録中のこれらの連続する値は、各々、記録中の先行する値の累算値と してビクセル値を記述する。DPCMコード化技術を用いたビデオ信号圧縮シス テムの一例は、ここに参考として挙げる米国特許第4,125,861号rVi deo Signal Et+coding(ビデオ信号のコート化)」に見出 すことができる。
DPCMデータが第1C図に示すように記憶または伝送される場合、ビクセルを 記述する値の各々が、コード化されていないビクセル値を同じように1データバ イトを占有するので、DPCMコート化技法を用いる利点が殆どあるいは全くな い、しかし、参考として挙げた特許第4,125,861号に記載されているよ うに、比較的に小さな値を宥するコード化されたバイトの発生する頻度は、比較 的大きな値を持つコート化されたバイトの発生頻度よりはるかに大きい、このコ ード化されたバイトの不均一な分布が、上記の参考として挙げた特許においては 。
より大きな値のサンプルに対して用いられるビット数よりも少ないビット数でよ り小さな値のサンプルをコード化することによりビデオデータストリームを更に 圧縮するために利用されている。この形式の圧縮を行なう可変長統計的エンコー ダはこの技術分野では公知である。この形式のコード、ハフマン(Huffsa n)コード、を生成するだめのアルゴリズムは、ここに参考として挙げるアブラ ムソン(N、 Abramson)著、r Information Theo ry andCoding (情報論理及びコート化) J 、 McGraw −旧!1社刊、1963年、77−85頁に記載されている。
上述したコード化法の各々は、ある型のビデオ情報に対しては良好に働くが、別 の型のものには、うまく働かない、コート化される画像の、比較的大きな領域が 均一または直線的に劣化するルミナンスまたはカラー情報を持っているような静 止画像あるいはモーションシーケンスの一番目のビデオフィールドに対しCは5 絶対コード化法が最も適している。相対コー1く化法は、モーションシーケンス の2番目及びそれ以後のビデオフィールドに対して最適である。DPCMコード 化法は、細かいディーチルな情報の領域を含む画像に最適である。
これらのコードによって効率的に表わされるビデオ情報の型が異なるために、1 つのビデオ画像を表わすために、2つ以上のコードを組合わせることが望ましい 場合がある0例えば、絶対コード化法とDPCMコート化法を組合わせると、高 低前レベルのディーチルを含む、画像コンパクトな表示を作ることができる。モ ーションシーケンスに対しては、画像の一部分を相対的コート化法を用いて表わ すことが望ましいであろう、第1A図、第1B図及び第1C図に示すように、こ れら3つのコート化法は、コンパチブルな記録フォーマットを作るために調整で きる。
しかし、一旦そのようにコート化した後は、再生画像が自然なディーチルと動き をもって表示されるように、画像を高速でデコートすることが望ましい。
この発明の原理によれば、並列バイブライン型ビデオ信号処理システムが提供さ れる。このシステムは、圧縮されたビデオ情報の源によって供給される可変長コ ート化されたデータから固定長データ値を生成する統計的デコーダを含んでいる 。さらに、このシステムは、圧縮されたビデオ情報とビクセルデータとを組合わ せかつ改変する算術的組合わせ(arithmetic combining) 回路を含んでいる。このシステムにはビクセル補間器が含まれていて、前にデコ ートされたビクセル値の間のビクセル値の生成を可能としている。統計的デコー ダ、算術的組合わせ回路及びビクセル値補間塁は同時に動作するように。
シーケンシング回路によりて制御される。
前述した第1A図、第1B図及び第1C図は、3つのデータ圧縮法により作られ る記録のデータフォーマットを示す図である。
第2図は、この発明の実施例を含むビデオ信号処理回路のブロック図である。
第3A図は、第2図に示すビデオ信号処理回路のマイクロコードRAM・シーケ ンシング回路として用いるに適した回路を示すブロック図である。
第3B図は5第3A図に示す回路の動作を説明する際に有用ないくつかの信号に ついての、時間の関数とじての信号振幅を示すタイミング図である。
第3C図は、第2図に示す回路で使用されるマイクロコードRAM・シーケンサ のためのマイクロコート制御語のデータフォーマットを示す図である。
第4A図は、第2図に示す発明の実施例で使用される算術論理演算ユニットのブ ロック図である。
第4B図は、第4A図に示す算術論理演算回路の部分ブロック図である。
第5図は、第2I21に示す発明の実施例と共に使用されるデータバス回路のブ ロック図である。
第6図は、第2図に示す発明の実施例と共に使用されるデータRAM回路のブロ ック図である。
第7A図、第7B図、第7C図、第7D図及び第7E図は、第6図に示すデータ RAM回路の動作を説明するために有用なタイミング図である。
第8A図は、第2図に示す発明の実施例と共に使用されるピクセル補間器のブロ ック図である。
第8B図は、第8A図に示すピクセル補間器で使用される乗算器のブロック図で ある。
第9A図、第9B図、第9C図、第9D図、第9E図及び第9F図は、第8図に 示すピクセル補間器の動作の説明に用いる図である。
第10A図は、第2図に示すビデオ信号処理回路で使用するに適した統計的デコ ーダのブロック図である。
第10B図は、第10A図に示す回路の動作を理解する際に有用なタイミング図 である。
第11A図は、第2図に示すビデオ信号処理回路で用いるに適した入力FIFO 回路のブロック図である。
第11B図は、第11A図に示した回路の動作を理解する際に有用なタイミング 図である。
第12A図は、第2図に示すビデオ信号処理回路で用いるに適した出力FIFO 回路のブロック図である。
第12B図は、第12A図に示す回路の動作を理解する際に有用なタイミング図 である。
第13A図と第13B図は、第2図に示す発明の実施例と共に使用されるVRA M制御ユニットのブロック図である。
第13C図は、第13A図に示す回路の動作を理解する際に有用なタイミング図 である。
第14図は、第2図のビデオランダムアクセスメモリに、圧縮されたデータがど のように記憶されるかを示すメモリマツプ図である。
第15図乃至第23図は、第2図乃至第13図に示す回路の動作を説明する際に 有用な制御フロー図及び他の図である。
図面において、幅の広い矢印は、複数ビットの並列デジタル信号を伝送するため のバスを表わし、線の矢印は、アナログ信号または1ビツトのデジタル信号を伝 送する接続を示す、装置の処理速度に応じて、信号バスのあるものにおいては補 償用遅延が必要となることがある。デジタル信号処理回路の設計の分野での当業 者には、ある特定のシステ゛ムのどの部分にそのような遅延が必要とされるかは 分かる筈である。
第2図は、ビデオ信号処理回路210とそれに付随する周辺回路を示すブロック 図である。この発明のこの実施例においては1回路210は1つの集積回路とし て具体化されている。このビデオ信号処理システムを第2図のみを参照して簡単 に説明し、その後で、第2図〜第13図を参照して詳細に説明する。この出願の 第3の部分は第14図〜第23図を参照し、システムの各構成要素がどのように 平行して動作して、第1A図、第1B図及び第1C図に示すようなフォーマット の圧縮ビデオデータなピクセル値に変換するかを説明する。
第2図において、圧縮されたビデオ信号の信号源212は、前述したビデオ信号 圧縮技術の1またはそれ以上を用いて圧縮され、また、統計的にコード化された データを含んでいるビデオ信号データを供給する0発明のこの実施例においては 、信号源212により供給されるデータは、ビデオ信号プロセッサ210の内部 にあるVRAM制御ユニット238の制御の下にビデオランダムアクセスメモリ (VRAM)216に供給される0発明のこの実施例で用いられる信号源212 はコンパクトディスク読出し専用メモリ(CD ROM)である、この信号源は 、圧縮されたデータ(圧縮データ)を、例えば、各々が32ビツトで構成された ブロックとしてVRAM216に連続的に供給する。VRAM制御ユニット23 8は、信号源212と回路210からのV RA M 216へのデータアクセ ス要求を調整して、信号源212により供給されるデータの全てが確実にV R A M 216に書込まれるようにする。
発明のこの実施例で用いられるV RA M 216はNECエレクトロニクス 社により製造されているp P D 4126464K x 4ビツトデユアル ポート・ランダムアクセスメモリ集積回路128個で構成されている。このメモ リ集積回路は、16行8列のマトリクスに配列されている。このような構成では %VRAM216は、各々32ビツト+7)1,048゜576語として配列さ れた、4メガバイト(4MB)の記憶を提供する。
表示器用プロセッサ218は、直列出力ボートを介してV RA M 216に アクセスして、表示されたビデオ信号の有効ビデオ部分を生成する。ビデオ信号 処理回路210と圧縮ビデオ信号源212は標準的な入力−出力バスを介してV  RA M 216のデータセルにアクセスする。ビデオ信号プロセッサ21G と表示器用プロセッサ218とによるVRA M 215へのアクセスは全て、 回路210のVRAM制御ユニット238により制御される。
VRAM216に保持されたデータは、統計的デコーダ230と、大刃先入れ先 出し回路(以下、FIFOと称する)232と234とによっ゛C処理回路21 0に供給される。
また、データは回路21口によって、出力FIFO回路236を介してV RA  M 216に供給される。統計的デコーダ230と入力FIFO232と23 4により供給されるデータ値は、データバス回路242、算術論理演算ユニット (ALU)244及びデータRA M 228に対し、双方向データバスB B usを介して供給される。バスB BUSはVRAM制御ユニット238に対し てアドレス値を供給するためにも用いられる。第2の双方向バスA BUSが回 路210に設けられていて、データ値をデータバス回路242 、 ALU24 4及びデータRA M 228の間でバスさせ、また、ビクセル補間器246と の間でデータの授受を行うための代替手段を形成する。上述した接続に加えて、 データバスA BUSはマイクロコードRAM・シーケンサ226に接続されて おり、場合によってはマイクロプロセッサ224にも結合される。
概括的に説明すると、第2図に示す回路は次のように動作する。信号源212に より供給される圧縮ビデオ信号はV RA M 21Bに書込まれる。これらの 圧縮ビデオ信号はシーケンシング回路226の制御の下に、統計的デコーダ23 0と入力FIFO232と234とを介してアクセスされる。デコーダ230と F I F 0232 、234 ニヨ’) 供給すれる値は、同じくシーケン シング回路226の制御の下に、データバス242 、 ALtJ244及びビ クセル補間器246に供給されて、圧縮されたビデオ信号を伸張し、また、コー ド化された画像を記述するビクセル値を生成する。このようにして生成されたビ クセル値は、例えば240行256列のマトリクスとして、出力PIFO236 を介してV RA M 216に書込まれる。これらの行と列は、各線が256 のビクセル値を持つビデオ信号の240本の線に相当する。以下、このマトリク スをビットマツプと称する。このと・ントマップは、表示用プロセッサ218に よヮてV RA M 215から読出され5画像が再生される。発明のこの実施 例と共に使用される表示器用プロセッサは、ビットマツプ中のビクセル値をビデ オ信号に変換し、また1画像をラスク走査表示装置上に再生できるようにするた めに必要な水平及び垂直同期信号を加える。
VRAM216から表示器用プロセッサ218へのデータの転送を調整するため に、水平線同期信号H3と垂直フィールド同期信号vSかそれぞれの信号源22 0と222からプロセッサ210と218へ供給される。この発明のm奨実施例 では、これらの信号は表示器用プロセッサ21Bで生成するようにしてもよい。
発明のこの実施例では、クロック信号の信号源225がマイクロコートRAM・ シーケンサ回路226に、25帽(2のクロック信号CLKを供給する0回路2 26は、各々12.5 MHzの周波数を有する信号CKとCK’ 、信号CK と実質的に同じ周波数と位相を持つ信号CKA及び、信号CKと実質的に逆位相 の信号CK、とを発生する。信号CKAとCKBはデータバス242 、 AL U244及びビクセル補間器246に供給される。信号CKは統計的デコーダ2 30、入力F I F 0232 、234及び出力FIFO236に供給され る。信号CK’はVRAM制御ユニット238に供給される。
第2図に示す回路の説明を簡単にするために、圧縮ビデオ信号源はコード化され たルミナンス信号のみを供給し、回路210はビットマツプを1つだけ、即ち、 ルミナンスビットマツプのみを形成するものとする。現実のシステムでは、カラ ー情報信号、例えば、I及びQ色差信号用の別のビットマツプも作られる。
前述したように、ビデオ信号処理回路210における中心の制御素子はマイクロ コー)(RAM・シーケンサ回路22I5である。第3A図は、マイクロコード RAM・シーケンサ226として用いるに適した回路を示すブロック図である。
マイクロコードRA M 310は、各々が96ビツトを有する128Mとして 構成されている通常のランダムアクセスメモリである。通常動作時は、マイクロ コードRA M 31Gは、アドレスレジスタ322に保持されているアドレス 値の7gsのMSBによりアドレスされて、96ビツトからなる語(96ビツト 語)をレジスタ312の入力ボートに供給する。レジスタ312は、制御回路3 08により供給される信号LDによって、その入力ボートに供給される値をロー ドするようにされる。マイクロコードRAM310により供給される9Sビツト 値の各々は、2つの48ビツトマイクロコ一ト制御語、即ち、命令を含んでいる 。
レジスタ312の48個のMSB位置にあるこれらの命令の一方は、マルチプレ クサ(MUX)314の一方の入力ボートに供給され、レジスタ312の48個 のLSB位置にある他方の命令がマルチプレクサ314の第2の入力ボートに供 給される。マルチプレクサ314はフリップ−フロップ318により供給される 1ビツトの信号により、48ビツト命令の一方を命令レジスタ316の入力ボー トに通過させるようにされる。命令レジスタ316は、制御回路308により供 給される信号LXに応答して、その入力ボートに供給されたマイクロコード制御 語をロートする。
命令レジスタ316の個々のビットはバスMCWを介して、ビデオ信号処理回路 21Gの構成素子の各々の制御入力端子に接続されている。マイクロコードRA  M 310により供給されるマイクロコード制御語が命令1/ジスタ316を 通ってシーケンスすると1回路210の個々の構成素子は、協同して、圧縮ビデ オデータをビットマツプビクセルデータに変換する動作を行うようにされる。・ マイクロコード制御語の各ビットの機能は第3C図を参照して後述する。
ビデオ信号プロセッサ210によって用いられるクロツり信号CKとCK’はマ イクロコードRAM・シーケシサ226に含まれている回路によつて発生される 。信号源225により供給される25 MHzのクロック信号CLKは。
この信号CLKの周波数を2分の1に分周して、12.5M)Izのクロック信 号CK’を作る分周回路304に供給される。信号CLKはさらにANDゲート 306の一方の入力端子にも供給されている。ANDゲート306の他方の入力 端子はインバータ302に結合されており、マイクロプロセッサ224により供 給される信号HALTを反転して得られ信号を受取る。ANDゲート306の出 力信号は、その周波数を2分の1に分周して12.5 MHzのクロック信号C Kを作る分周回路307に供給される。信号HALTが論理0値を持つ時は、信 号CKは12.5 MHzの方形発振信号となる。しかし、信号HALTが論理 lに変化すると、クロック信号CKの状態は、信号HALTの変化が生じた時の 状態、論理1または論理0に凍結される。
以下に述べるように、マイクロコード制御語の8個のLSBはNEXT ADD RESS7−f−ルドlt規定スる。どのマイクロコード制御語でも、このフィ ールドは、マイクロコードRA M 310中の、命令レジスタにロードされる べき次のマイクロコード制御語のアドレスを含んでいる。NEXT ADDRE SSフィー)ltドニ保持されている値はマルチプレクサ(MUX)320を介 してアドレスレジスタ322に供給される。NEXT ADDRESS値のLS Bはフリップ・フリップ318の入力端子りに供給される。アドレスレジスタ3 22とフリップ・フロップ318は信号CKによって、それぞれの入力ボートに 供給された値をロードするようにされる。
後述するようにデータバス回路242により供給される信号CDが7リツプ・フ ロップ318のリセット入力端子Rに結合されている。信号CDの値は、マイク ロコート制御語の条件コード選択(COND C0DE S EL)フィールド (後述)によって制御される。この信号は、命令レジスタ316に供給されるマ イクロコード制御語のシーケンスを条件(状態)に応じて変化させるために、マ イクロコードRAM・シーケンシング回路226で用いられる。信号CDは、信 号処理中で前に生起した状態、例えば、A L U 244の出力値が0である というような状態を表わす0選択された条件が真の時は、フリップ・フロップ3 18により供給される出力信号Qは論理0になる。この値はマルチプレクサ31 4がレジスタ312の48個のLSB位置に保持されている値を命令レジスタ3 16に送るようにする。
この回路が、マイクロコードRAM・シーケンサ回路226の制御の流れ(フロ ー)を条件に応じて変える。すなわち1条件付き分岐(ブランチ)を行うために どのように用いられるかを理解するために、マイクロコード制御語AがそのC0 ND C0DE SELフィールドに非0値(0でない値)を有し、かつ、NE XT ADDRESSフィールドに値81を持つものと仮定する。このマイクロ コート制御語が命令レジスタ316にロートされると、N E X T A D  D RE S S 7 イー )Lt ト中17) 8 ヒツト値はアドレス レジスタ322に供給され、マイクロコー)CRAM310のアドレス80と8 1にあるマイクロコート制御語がレジスタ312にロードされる0条件信号CD の値が論理0なら、レジスタ312の48個のMSB位Il(アドレス81)を 占めているマイクロコード制御語が次に用いられることになる。信号CDの値が 論理0でない場合は、レジスタコ12の48個のLSB位置(アドレス80)を 占めているマイクロコート制御語が次に用いられる。これらの命令の各々はそれ ぞれ異るNEXT ADDRESSフィールドであり、従って、各々がマイクロ コード制御語の異るシーケンス、即ち、ビデオ信号プロセッサ210の異る作用 を規定する。マイクロコードRA M 310が条件コートの可能な値の両方に ついての次の命令を供給するので、条件コードの値がめられると、次のマイクロ コート制御語を取出すために時間をロスすることがない。
マイクロコードRAM・シーケンサ回路226は、バスA BUSを介して供給 されるマイクロコード制御語をマイクロコードRA M 310にロートするこ とかできる。
各々がマイクロコート制御語の3分の1を表わす3個の16ビツト値が3個のレ ジスタ324に次々に供給される。
最初の16ビツト値がレジスタMROに、第2の16ビツト値がレジスタMRI に、そして、第3の16ビツト値がレジスタMR2にそれぞれ記憶される0次に 、同じく入力FIFO232とデータRA M 228を介しテV RA M  216により供給されるようなアドレス値がアドレスレジスタ322に供給され る。このアドレス値のLSB、即ち、信号DXCは、デVJL/チプレクサ(D EMUX)326 に働いて、3つのレジスタMRO1MR1,MR2により供 給される48ビツト値が、マイクロコードRA M 31Gに対するI10バス の48個のMSB位置と48個のLSB位置のいずれか一方に供給されるように する。同時に、書込み可動化(イネーブル)信号WEが生成され、REM310 が48ビツト値をアドレスされたメモリセルに記憶するようにする。
これらの動作によってマイクロコードRA M 310に書込まれたマイクロコ ート制御語は、V RA M 216から、例えば、入力FIFO232とデー タRAM回路228とを介して供給される。VRAM216からのマイクロコー ト命令をロードすることができることにより、圧縮ビデオ信号源212は、圧縮 されたデータとそれを伸張するために必要な命令の双方をビデオ信号プロセッサ 210に供給することが可能となる0例えば、最初、後述するようにプロセッサ 210を制御するマイクロプロセッサ224によって、ブートストラッププログ ラムがマイクロコードRA M 310にロードされる。このブートストラップ プログラム中の命令に応答して、マイクロコードRAM・シーケンサ回路226 は、圧縮ビデオデータをデコードするようにプロセッサ210を可動化する、V  RA M 216からの命令をロードする。
第3B図は、マイクロコード制御語MCがマイクロコードRA M 310に記 憶される時のマイクロコードRAM・シーケンシング回路226の動作を説明す るタイミング図である。このタイミング図において、記号T0〜T。
は6つのマイクロコート命令を表わしている。各命令サイクルは信号CKAの正 方向への遷移で始まり、終る。
命令サイクルT0においては、命令レジスタコ16に保持されているマイクロコ ード制御命令はそのA DSTフィールドにある値(例えば8)を有し、この値 は、バスA Busにより伝送される16ビツト値がレジスタMROに記憶され ることを示す、この命令サイクルでは。
値MC01即ち、マイクロコード制御語MCの16個のLSBが、例えばデータ RAM回路228によってバスABUSにゲートされる。命令サイクルT0にお いては、レジスタMROは信号A DSTによつて、バスABUSにより供給さ れる16ビツト値MCOを記憶するようにされる。この記憶動作は、命令サイク ルT0の中間点における信号CKAの負方向への遷移に一致して生じる。値MC OがレジスタMROに記憶されるのと実質的に同時に、命令レジスタ316中の マイクロコード制御語のNEXT ADDRESSフィールド中の値がアドレス レジスタ322に記憶され、かつ、このアドレス値のLSBがフリップ・フロッ プ318に記憶される。アドレスレジスタ322に記憶された値は、マイクロコ ートRAM310が2次の命令を含んている96ピツト個をレジスタ312に供 給するようにする。この96ビツト値は、命令サイクルT0の中間点よりもいく らか後で生じる信号LDの負方向への遷移と一致して、レジスタ312にロー1 くされる。フリップ・フロップ318に保持されている1ビツト値に応答して、 アドレスされた48ピツトのマイクロコード制御語が命令レジスタ316の入力 ボートに供給される。このマイクロコード制御語は、命令サイクルT0の終了時 に生じる信号LXの負方向のエツジと一致して、命令レジスタ316にロードさ れる。命令サイクルT2においては、新しくロードされたマイクロコード制御語 が、マイクロコード制御語MCの中間の16ビツ1〜を表わす値MCIを、MR Iがロートするようにする。同じようにして、命令サイクルT、の終了時に命令 レジスタ316にロードされたマイクロコード制御語が17ジスタMR2に働い て、命令サイクルT2においてマイクロコード制御語MCの16個のMSBをロ ードするようにする。
命令サイクルT2の終りに命令レジスタ316にロードされたマイクロコード制 御語は、レジスタ324からマイクロコードRA M 310へのマイクロコー ド制御語MCの転送を制御する。マイクロコート制御語MCを記憶するために用 いられるアドレスは、バスA Busを介して供給される。命令サイクルT、の 開始時において、命令レジスタ316中のマイクロコード制御語のA DSTフ ィールドは値11を持ち5これは、バスA Busにより供給される16ビツト 値がアドレスレジスタ322にロードされることを示す、A DSTフィールド 中のこの値に応答して、制御回路308が、信号MXCとして論理l値を信号C Kのほぼ1サイクルの間、マルチプレクサ320に供給するゆこの信号はマルチ プレクサ320をして、バスA BUSによって供給される値の8個のLSBを アドレスレジスタ322の入力ボートに供給せしめる。このアドレス値は、命令 サイクルT、における信号C4にの最初の負方向遷移に一致してレジスタ322 にロードされる。アドレスレジスタ322に保持されている値のLSB、即ち、 信号DXCはデマルチプレクサ326の制御入力端子に供給される。デマルチプ レクサ326は、論理1または論理0の値を持った信号DXCによりて、レジス タ324により供給される48ビツト値をゲートして、I10バスの各48個の MSB位置または48のLSB位置に供給するようにされる。
信号DXCは、ANDゲート311 と313を介して、マイクロコートRA  M 3111の各半部に対する別々の書込み可動化信号を生成する。前述したよ うに、マイクロコーPRAM310は、各々が96ビツトを有する125語とし て構成されている。このメモリは2つの部分に分割されている。左側の半部は1 28語の48個のMSBを含んでおり、右側の半部はのLSBを含んでいる。信 号DXCは、ANDゲート313において、制御回路308により供給される書 込み可動化信号WEと組合わされて、マイクロコートRA M 310の左半部 のための書込み可動化信号を生成する。信号DXCは反転され、ゲート311に よって信号WEと論理的にAND処理されて、マイクロコードRA M 310 の右半部のための書込み可動化信号を生成する。
この例においては、信号DXCは、命令サイクルT。
の開始時の信号CKのほぼ1周期の間、論理1の値を持つ。従って、マイクロコ ード制御語MCは、アドレスレジスタ322に保持された7個のMSBの値によ って表わされるアドレス値を持ワた、マイクロコードRA M 310中のセル の48個のMSB位置に書込まれる。マイクロコード制御語は、第3B図に示し 信号WEと一致してマイクロコードRA M 310に書込まれる。
命令サイクルT3はメモリ書込み動作を行うので、次のマイクロコート制御語は 、信号CKの最初の周期では、命令レジスタ316にロードされない、この動作 は命令サイクルT3中の信号CKの2番目の周期で生じる。
命令サイクルT3中の信号CKの2番目の正方向への遷移と一致して、@号MX Cの値は論理0に変り、命令サイクルT0について前述したように、命令取出し 動作が行われる。マイクロコードRAM・シーケンシング回路226は、命令サ イクルT4及びT%の間、命令期T。について述べたような態様で動作する。
第3B図に示した例では、誤ったマイクロコート制御語がレジスタ312と31 6にロードされないようにするために、命令レジスタT3の前半部では、信号L DとLlは禁止されている。またビデオ信号処理回路を休止状態に置くために、 命令サイクルT3の後半部では、制御回路308によって信号CKAとCK m は凍結されている。
これはALU244.データRA M 228及びピクセル補間器246の間の 同期動作を維持するために行われる。命令サイクルT3の後半部ではクロック信 号CKAとCK。
は非可動化(ディスエーブル)されるので、A L U 244、データRA  M 228及びピクセル補間器246の内部状態はこの期間中は変化しない。
この発明のこの実施例においては、マイクロコードRA M 310に対するデ ータ読出し動作とデータ書込み動作は信号CKの別々の周期に行われる。しかし 、そうする代りに、マイクロコードRAM・シーケンシング回路226を、信号 CKの1つの周期中で2つの動作を行うように構成してもよい。
制御回路308は、休止論理240により供給される信号PAUSEにも応答し 、クロック信号CKAとCK、を凍結させる。さらに、制御回路308はマイク プロセッサ224により供給される信号HALTに応答し、信号CKを禁止して 、実効的に、VRAM制御ユニット238を除くビデオ信号プロセッサ210全 体の内部状態を凍結させる。
信号HALTを用いてマイクロプロセッサ224はビデオ信号プロセッサ210 の制御機能を実効的に引受ける。
信号HALTは命令レジスタ316に供給されて、このレジスタをして、ゲート 回路223を介してマイクロプロセッサ224により供給されるバスMCWから データを受入れしめる。マイクロプロセッサ224はレジスタ316をして、信 号HALTを論理1から論理0に変化させることにより、供給されたマイクロコ ート制御語をロートさせしめる。上記変化後のクロック信号CKの次の周期にお いて、マイクロコートRAM・シーケンサ回路226はこのマイクロコード命令 が実行されるようにする。このクロック周期が完了すると、マイクロプロセッサ 224は再び信号)IALTを論理1偏に変化させ、別のマイクロコード命令を レジスタ316に供給する。このような動作により、マイクロプロセッサ224 は、マイクロコートRAM・シーケンサ回路226をしてバスA BUSまたは BBUSに接続されたレジスタにデータを書込ませ、あるいは、前に述べたよう に、ブートストラッププログラムをロードするようにする。さらに、マイクロプ ロセッサ224がバスA Busに接続されていることと、第5図を参照して後 述するバスゲート520とにより、マイクロプロセッサ224はどのレジスタの 内容でも、また、バスA BusあるいはB Busの内容ても読出せる。
第3C図はマイクロコードRAM・シーケンシング回路226によって用いられ るマイクロコード制御語、即ち、命令のフォーマットを示す、制御語は13のフ ィールドを含んでいる。各フィールドを、以下、そのフィールドが持ち得る値と 、その値がビデオ信号プロセッサ21Gの各構成素子に対して持つ作用とによっ て説明する。制御される構成素子の構造は第4図乃至第13図を参照して後述す る。
マイクロコート制御語のビット0〜7は、NEXTADDRESSを形成する。
これらのビットにより表わされる値は、マイクロコートRA M 310におけ る、命令レジスタ316にロードされるべき次のマイクロコード制御語のアドレ スである。ある与えられたマイクロコード命令サイクル中、このフィールドによ って表わされた値はマイクロコートアドレスレジスタ322に記憶される。
条件コート選択フィールドC0ND C0DE SELはマイクロコード制御語 のビット8〜lOを占める。これらの3ビツトは、後述するデータバス回路24 2中の条件レジスタに保持されている条件値の1つを選択する。
選択された条件値が信号CDである。この信号は条件付き分岐動作を行うために 用いられる。前に述べたように、条件付き分岐は命令レジスタ316に供給され るマイクロコード制御語のシーケンスの変更であり、これは選択された条件が満 足される時(即ち、CDが論理lの時)のみに生じる0表1は条件コート選択値 とそれに対応する記述をリストしたものである。
C0ND C0DE SEL 選択されたフィールドの値 −念」L9」(A− ONULL条件付き分岐なし I ALUキャリーアウトフラグ 2 ALUオーバフローフラグ 3 ALU出力値は負である 4 ALU出力値は0である 5 データバス242中のループカウンタの値は0である。
6 データバス242中のレジスタkoのしB 7 データバス242中のレジスタROのMB マイクロコート制御語のビット11〜29は、バスABUSと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 BtJSに値を供給し、どの素子がバスB BUSか ら値を受取るかを決める。バスA BusとB Busは、ビデオ信号プロセッ サ210の種々の構成素子にデータと制御情報の両方を伝送することができる。
バスA BUSとB Busに結合されるレジスタとこれらのバスによって伝送 される制御情報については、回路210の適当する構成素子を参照して以下に述 べる。
一般的に、バスA BUSとBBυSに結合されたレジスタは、マイクロコード 制御語のフィールドASRC,A DST、B SRCまたはB DSTの1つ に結合される通常のデコーディング回路(図示せず)を含んでいる。このデコー ディング回路は、レジスタへのアクセスを許容する制御値が検出されると、論理 l値を生じさせる。ASRCフィールドに応答するデコーディング回路は、マイ クロコード制御語のLIT SELフィールド、ビット31、における論理1の 値によりて禁止される。このビットが論理lの時は、ASRCフィールド中の値 は有効なA SRC値ではなく、後述する8ビツトのリテラル値の一部である。
フィールドASRCとB SRCとによって制御されるレジスタに対し、デコー ディング回路の出力値がレジスタの出力可動化入力端子に結合される。この入力 端子に論理l偵が供給されると、レジスタはその記憶されている値を該当するバ スに供給するようにされ、論理0値が供給された場合は、そのレジスタはバスに 対して高インピーダンスを呈する。フィールドA DST及びB DSTにより 制御されるレジスタに対しては、デコーディング回路の出力値がレジスタのデー ターロード入力端子に結合される。これらのレジスタは、デコーディング回路に よって供給される信号が論理l値を持つている間は、該当するバスによつて伝送 されてきた値をロードするようにされる。
マイクロコード制御語のビット30はフィールドDECLOOP CTRである 。このフィールドが値1を持っている時は、データバス回路242中のループカ ウンタは、マイクロコード命令サイクル中、その値を減じるようにされる。
マイクロコート制御jMのビット31はフィールドLXT SELである。この フィールドに1の値があると。
マイクロコードRAM・シーケンシング回路226は、その時のマイクロコード 制御語のビット8〜15をリテラル値として扱うようにされる。この値の出所( ソース)値として、バスA Busの8個のLSB位置に、マイクロコード制御 語のビット31により可動化されるデー1−回路317を介して供給される。デ ジタル値源315からのO値が2リテラル値が選択された時に、バスA BUS 上の8個のMSB位置に供給される。
マイクロコード制御語のビット31は、さらに、前述したようにバスABυSを 出所として用いるレジスタと、後述するようにデータバス回路の条件コード論理 518にも供給される。
マイクロコード制御語のビット32は、INT gPフィールドである。このビ ットが論理l値を持っている時は、マイクロプロセッサ224が中断される。こ の制御機能は1例えば、あるマイクロコード命令シーケンスが完了したことをマ イクロプロセッサ224に知らせるために使用できる。
マイクロコート制御語のビット33は、LATCII C0ND C0DEフイ ールドで、このフィールドが1の値を持つ時は、データバス回路242は、AL U244により生成された種々の条件の値を条件コードレジスタにラッチする。
この制御機能は、一般には1条件付き分岐動作に対する条件を選択する命令に先 行する命令中に含まれている。
マイクロコート制御語のビット34と35は、5HIFT C0NTフイールド である。このフィールドは、データバス回路242の1/ジスタROによって行 われるビットシフト動作を制御する。表2は、5HIFT C0NTフイールド の種々の債に応答すてレジスタROによって達成される機能を示す。
表 2 値 機 能 0 シフトなし l 全てのビットなLSBの方へ1ピッ1−位置シフトさせる。シフト動作前の 値のMSBはシフト動作で生じた値のMSB位置に複写される。
2 全てのビットをMSBの方へ1ビツト位置シフトさせる。シフトされた値の LSBは0である。
3 その時の命令サイクル中にレジスタROに供給される値の上位と下位のバイ トをいれかえるマイクロコード制御語のビット38〜46は、マイクロコード命 令サイクル中のA L U 244の機能を決定する。AL U 244の機能 を理解するために、初めにその構造を説明することが理解を助ける。第4A図に 示すA L U 244は5つの部分、即ち、2つのオペランド入力レジスタ4 10と412、算術論理演算回路(ALC)414.出力1/ジスタ41B及び デマルチプレクサ(DEMUX)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 0PCODHに保持されている9ビツト値によりて制御さ れる。この9ビツトのフィールドにおいて、ビット38〜44に保持されている 値は1表3の通りに、ALUによって実行される機能を決定する0表3において 、A及びBはそれぞれレジスタ410と412に保持されている値を表わし、C INは、ALC414のキャリーイン入力端子CINに供給される値を表わす。
31 AとBの0R(A ORB) 33 NOT A 34 演算なし 36 NOT B 47 AとBのxOR 65NOT A+ClN 67 A+ClN 68 NOT B十ClN 71 A−B−NOT ClN 76 B+ClN 77 B−A−NOT ClN 79 A+B+ClN 85 AとBのAND (A AND B)この表に3いて、rNOTJは1の 補数演算を表わし、rXORJは排他的OR演算を表わす。
マイクロコート制御語のビット45と46は、バスMCWを介してマルチプレク サ(MUX)420に加えられて、キャリーイン信号CINを変化させ、また、 ADD動作(OP COD E 79)を飽和を伴う2重A D D (dua l−ADD−with−saturate )動作に変える。ビット45と46 が両方共0の時、あるいは、ビット45が0でビット46は1の時は、マルチプ レクサ420は、デジタル値源422からの0の値を信号CINとして供給する 。ビット45がlてビット46が0の時は、マルチプレクサ420はデジタル値 源424からの1の値を信号CINとして供給する。ビット45と46の両方が 1の値を持つ時は、マルチプレクサ420により供給されるCIN入力値は、デ ータバス回路242の条件コートレジスタにより供給されるキャリーアウト条件 値C0UTである。
A L C414に生成される信号CARRY OUTは、第4B図に示される 16ビツト加算器のMSB段により与えられるキャリーアウト信号である。信号 5IGNは、A L C414により生成される16ビツトの出力MSBである 。信号0VERFLOWは%ALC414ニ供給される2個の入力値の符号ビッ トとA L C414によって生成される出力値の符号ビットとの論理的組合わ せである。この信号は、2個の負の入力値によって正の出力値が生成される時或 いは2個の正の入力値によりて負の出力値が生成される時に論理1を持っている 。3個の符号ビットの他の組合わせすべてに対して、信号0VERFLOWは論 理0の値を持っている。
加算動作は、ビット45が0でビット46が1である時に飽和を伴う2重加算動 作になる。この飽和を伴う2重加算動作では、16ビツトのレジスタ410及び 412の各々は2個の8ビツト値を収容しているものとして処理される。レジス タ410に保持される値の8個のMSBとレジスタ412に保持される値の8個 のMSBとが加算され。
その加算結果が出力レジスタ416の8個のMS13に記憶される。同様に、レ ジスタ410及び412に保持される値のそれぞれの8個のLSBが互いに加算 され、その加算結果がレジスタ416の8個のLSBに記憶される。これらの加 算動作の何れによってもオーバフロー状態が生じることはなくALC414中の 回路によって加算料が飽和する。もし2重加算動作への入力値が8個のLSBの 和或いは8個のMSBの和の何れかによって負のオーバフロー状態或いは正のオ ーバフロー状態が生じるようなものであれば、加算用に与えられる値はそれぞれ 0或いは255に飽和しており、これらは8ビツトの符号のない2進値によって 表わされ得る最小値及び最大値である。
従来型の加算と飽和を伴う2重加算動作との間で切替を行うために、従来型でな い加算器がA L C414に使用される。
第4B図には、A L C414に使用されるのに適した加算器がブロック図で 示されている。従来型の16ビツトの算術論理演算回路てあれば、2個の16ビ ツトから成る2の補数とキャリーイン信号とを加算して16ビツトから成る2の 補数の出力値とキャリーアウト信号とを生成できる16ビツト加算器が含まれて いる。第4B図に示される回路は、信号5PLITに応答してこの信号5PLI Tが0の時は従来型の16ビツトの2の補数加算器として動作し、信号S P  L I T 6< 1の時は上述の飽和を伴う2重加算モードで2個の独立した 8ビツト加算器として動作する。
第4B図において入力ポートA及びBに供給される2個の16ビツト入力値は各 々8個のMSHの部分(以下8M5B部分と呼ぶ)と8個のLSBの部分(以下 8LSB部分と呼ぶ)とに分割される。八人力値及びB入力値の8M5B部分は それぞれ加算器450の異なる入力ポートに供給される。A入力値及びB入力値 の8LSB部分はそれぞれ加算器452の異なる入力ポートに供給される。この 実施例に使用される加算器450及び452は従来型の8ビツトの2の補数加算 器である。加算器452へのキャリーイン入力信号はA L C414へ供給さ れる信号CINである。加算器450へのキャリーイン入力信号はANDゲート 454によって与えられる。この信号は、加算器452によって与えられるキャ リーアウト信号COoとインバータ456によって与えられる信号5PLITの 論理反転分である信号5PLITとの論理AND (論理a)である、加算器4 50によって与えられる8ビット出力値号のMSB位置の信号は、A L C4 14によって与えられる値の極性を示す条件信号5IGNである。加算器450 ノキヤ’)−7ウト信号CO,は、ALC414によって与えられる信号CAR RY OUTである。
加算器450によって与えられる8ビツト値は、ALC414の入カポ−1−A 及びBに供給された値の8個のMSBの2の補数布である。この出力値のMSB は排他的ORゲート472の一方の入力端子に供給され、このORゲート472 の他方の入力端子は信号5PLITを受取る。
排他的ORゲート472によって与えられる出力信号は。
加算器450によって与えられる値の7個のLSBと連結され、8ビツトの変形 和が生成される。信号5PLITがOの時、この変形和は、2個の8ビツトの2 の補数値の和を表わす8ビツトの2の補数値である。しかし、信号5PLITが 1である時、この変形和は8ビツトの符号のない2進値と8ピッ1−のオフセッ ト128の2進値との和を表わす8ビツトの符号のない2進値である。
ALC加算器に供給される入力値の形の変更は加算器の回路の機能ではなくビデ オ信号プロセッサ210をプログラムするために定められた約束である。この約 束によって、@号5PLITが0の値を持つ時、ALC加算器に供給される値は 従来型の16ビツトの2の補数値である。しかし信号5PLITが1の値を持つ 時2加算器450及び452の各々に供給される値の一方は8ビツトの符号のな い2進偵であり、他方はオフセット128表記の8ビツト偵である。これらの値 は、バスA Bus或いはB Busに対する出所として動作し得る如何なる装 置の如何なるレジスタによっても与えられる。
信号5PLITが1の時、8ピッ1−の符号のない2進入力値は0と255の間 の値の範囲を占め、オフセット128はそれぞれに対して−128と+127の 間の値の範囲を占めることが出来る。従つて、変形和は−128と382を含め てその間の値を表わすことが出来るつしかじ、このモードでの変形和は8ビツト の符号のない2進数であるため、0と255の間の数だけが有効である0図4B 図に示されるALC加算器には、この有効な範囲外にある値を検知し、変形和の 値を0より小さい値に対してはOに又255より大きい値に対しては255に飽 和させる即ち限定する。
ANDゲート470が、変形和の値が255より大きいことを示す正のオーバフ ロー信号pov、を発生する。ANDゲート470への3つの入力信号は、信号 5PLITと、加算器450からのキャリーアウト信号COr と、加算器45 0によって与えられる8ピツ1〜値のMSBである。信号pov、は、信号5P LITが0の時、或いは信号5PLITが1で変形和の値が256より小さい時 にOとなる。信号pov、は8個のNORゲート474の各々の一方の入力端子 に供給される。NORゲート474の各々の他方の入力端子は、それぞれ変形和 の8ビツトの異なる1つを受取る。
NORゲート468が信号「ロコゴと、信号Co。
と、加算器450によって与えられる8ビツト値のMSBとに応答して負のオー バフロー信号NOV、を発生する。この信号NOV、は、変形和がOより小さい 値を持つことを示す、信号N0VIは8個のN0FLゲート476の各々の一方 の入力端子に供給される。NORゲート476の各々の他方の入力端子は、それ ぞれ8個のNORゲート474によって与えられる信号のうちの異なる1つを受 取る。NORゲート476の8個の出力信号は、ALC加算器の16ビツト出力 信号の8個のMSBである。
加算器452は、上述した値制限回路と同様の回路に結合されている。NORゲ ート476に相当する8個のN。
Rゲート466の8個の出力信号は、ALC加算器の16ビツト出力信号の8個 のLSBである。
マイクロコード制御語のビット45及び46がそれぞれ0及び1の値を持つ時、 信号5PLITは1でALC加算器は飽和を伴う2重加算モードで動作するよう に制御される。マイクロコート制御語のビット45及び46の値の他の組合わせ に対して、信号5PLITは0でALC加算塁は従来型の16ビツトの2の補数 加算器として動作するように制御される。
次にALC加算器のその2つのモードの各々における動作について説明する。信 号5PLITが0である時、ANDゲート454は加算器452の出力端子CO 0からのキャリーアウト信号を加算器450のキャリーイン入力端子CTIに供 給するように制御され、加算器450及び452は1個の16ビツトの2の補数 加算器として構成される。0の値の信号5PLITか排他的ORゲート462及 び472に供給されると、これらのゲートは加算器452及び450によって与 えられる8ピッ1−の出力値のMSBをそのまま通過させてそれぞれ各NORゲ ート464及び474に供給する。0の値の信号5PLITがANDゲート46 0及び470に供給されると、これらのゲートは0の値の正のオーバフロー信号 P OV o及びpov、をそれぞれ各NORゲート464及び474に供給す る。同様に、論理lの値の信号5PLITがNORゲート458及び468に供 給されると、これらのゲートは0の値のオーバ70−信号N0VO及びNOV□ をそれぞれ各NORゲート466及び476に供給する。0の偵の信号pOVO 及びNOV。がNORゲート464及び466に供給された結果、加算器452 によって与えられる出力値は2回反転され従フて加算器452の出力ポートにお ける値はALC加算器によって与えられる16ビツト値の8個のLSBとして与 えられる。加算器450によって与えられNORゲート474及び476を介し てALC加算器の出力ポートに供給される8個のMSBの値についても同様であ る。
信号5PLITが論理lの値を持つ時、インバータ456によフて与えられる信 号5PLITは論理Oの値を持ち、ANDゲート454による加算器452から のキャリ−アウト信号の加算器450のキャリーイン入力端子CI、への供給が 止められる。これによって、加算器450及び452は2個の別個の8ビツト加 算器ととして構成される。論理lの信号5PLITが排他的ORゲート462及 び472に供給されると、これらのゲートは加算器452及び450によって与 えられたそれぞれの8ビツト値のMSBを論理的に反転する。このMSHの反転 は、加算器452及び450の各々によって与えられる8ビツトの符号のない2 進値が8ビツトの符号のない2進偵とオフセット128の2進値との和を適切に 表わすように行われる。
信号5PLITが論理lの値を持つ時、ANDゲート460及び470はそれぞ れ正のオーバフロー信号pov。
及びpov、を発生し、NORゲート45B及び468(1れぞれ負のオーバフ ロー信号NOV、及びNOV、を発生する。負のオーバフロー信号N0V1が論 理1の時、8個のNORゲート476の出力信号はすべて論理0となり、ALC 加算器によって生成される値の最上位のバイトの値は0となる。信号pov、が 論理lの時、8個のNORゲート474の出力値はすべて論理Oとなる。これら の信号はNORゲート476によりて反転される。従って、ALC加算器の出力 値の8個のMSBはすべて論理1の値を持つ、これは255の符号のない2進偏 に相当する。NORゲート466及び464にそれぞれ供給される信号N OV 、及びpov、についても同様である。
表3に示す動作の何れかを行うことによって得られた結果は出力レジスタ416 に記憶される。このレジスタ416は、マイクロコード制御語のフィールドA  SRC及びB SRCの適切な値に応答するデマルチプレクシング回路418に よってバスA Bus及びB Busの一方或いは両方に結合できる。
この実施例に使用されるALCは代表的な例である。
デジタル論理設計の当業者であれば、上述したものと等しい動作を行うことが可 能な代りの回路を設計製作できる。
ALUの入力レジスタ410及び412は、マイクロコード制御語のバスの出所 フィールド及び宛先フィールドASRC,A DST、B SRC及びB DS TにかかわりなくそれぞれバスA Bus及びB Busをアクセスする。従っ て、1つの動作で、マイクロコートRAM・シーケンシング回路226はデータ 値をバスABUS及びB Busの各々の出所から宛先まで転送するように命令 し、同時に、ALUが転送されるデータ値の一方或いは両方について動作するよ うに命令できる。
A L U 244への入力値の1つの出所とA L U 244からの出力値 の宛先とは、データバス回路242中のレジスタファイル510である。第5図 はこの実施例に使用されるデータバス回路242をブロック図で示している0代 表的な例であるこの実施例に使用されるレジスタファイル510には、RO,R 1、R2及びR3の計4個の汎用レジスタが含まれている。これらのレジスタの 各々は、)くスA Bus及びB Busの両方に結合されている。
バスMCWを介して与えられるマイクロコード制御語のフィールドA SRC及 びB SRCの制御によってこれらのレジスタの何れも一方或いは両方のバスに 値を供給できる。しかし、レジスタは、フィールドA DST及びB DSTに 応答してどの1つのマイクロコード命令サイクルに3いてもバスA Bus及び B Busの一方のみの宛先となることが出来る。上述のようにレジスタROに は、マイクロコード制御語の5HIFT C0NTフイールドに応答してレジス タの内容をより上位の桁或いはより下位の桁のビット位置にシフトする或いはレ ジスタに供給される値の8個のMSB及び8個のしSBを交換する回路が含まれ ている。
レジスタROのMSB及びLSBは、それぞれ条件コートレジスタ514の異な る入力端子に供給される。これらの値に加えて条件コートレジスタ512は、デ ジタル値源513からの0の値と、ALU244によって与えられる条件値5I GN、ZEROlOvFLOW及びCARRY OUTと、ループカウンタ51 4によって保持される値が0であることを示す条件値とを受取る0条件コードレ ジスタ512はマイクロコート制御語のLATCHC0ND C0DEフイール ドに応答してマイクロコード命令サイクルの終りにA L U 244によって 得られる条件値を記憶する。他の条件コートは、それらの発生と非同期的に条件 コートレジスタ512中ヘラツチされる。
条件コード論理518が、マイクロコード制御語のC0ND C0DE SEL フィールドに応答して、上述のようにマイクロコートRAM・シーケンシング回 路226において条件分岐動作を行うのに使用される条件信号CDとして条件コ ードレジスタ512に保持される条件値のうちの1つを選択する。また条件コー ト論理518は、マイクロコード制御語のLIT SELフィールドに応答して 、C0ND C0DE SELフィールドがASRCフィールドと共に使用され ている時条件の選択を禁止してリテラル値をバスA Busに供給する。
ループカウンタ514は、マイクロコート制御語のフィールドA SRC及A  DSTの制御によってバスABUS上でデータ値の出所或いは宛先の何れかとし て動作できる16ビツトのカウンタである。ループカウンタ514はマイクロコ ート制御語のビット30が論理lの値を持つ時にクロック信号CK vsに同期 して減少する。このカウンタ514は1反復ループにおける命令がマイクロコー ドシーケンサ226によって遂行される回数をカウントするのに使用される。
動作の一般的なモードでは、バスA Bus及びBBUSは完全に独立している 。しかし、ビデオ信号プロセッサ210は、これらの2つのバスが単一のバスと して結合される状態中に置かれることがある。このモードは)IALTモードで ある。プロセッサ21Gはマイクロプロセッサ224によってHALTモードに 置かれることカイある、マイクロプロセッサ224によって与えられる信号HA LTによって、双方向ゲート回路520が両バスを結合する。このモードの時、 マイクロプロセッサ224はどのレジスタをもこの結合されたバス上で出所或い は宛先としてアクセスすることが出来る。この特徴ある構成によって、ビデオ信 号プロセッサ21Gのテストは容易になり、マイクロプロセッサ224はプロセ ッサ210をこれが多数の所定状態の何れにおいても開始するように接続できる 。この実施例では示していないが、バスゲート回路520はマイクロコード制御 語の1つにビット例えばビット47によって制御するようにしてもよい、マイク ロコード命令の制御によって5ゲ一ト回路520はバスABυSとB Busと を結合し1両バスの一方の上にある出所によって与えられるデータを他方のバス に結合された宛先へ転送することも可能である。
4個の汎用レジスタRO1R1,R2及びR3に加えてビデオ信号プロセッサ2 10は、データ値の一時記憶のためデータRAM回路228を使用する。第6図 はこの実施例と共に使用されるデータRAM回路228の細部をブロック図で示 している。データRAM回路228には、256x16ビツトのRAM610. 4個のアドレスレジスタDRO,DR1,DR2及びDR3を持つレジスタファ イル612.増加/減少回路(INC/DEC)622及び制m回路S14が含 まれている。制御回路614はマイクロコード制御語のフィールドA SRC, A D S T 。
B SRC及びB DSTに応答して、RAM610への及びRA M 610 からデータを転送し、またレジスタファイJし612の種々のレジスタ中のアド レスイ直をロードし、またこれらのアドレス値を増加或いは減少させることも可 能である。
正規動作モードにおいて、マイクロコード制御語の関連フィールドがバスMCW を介して制御回路614に供給される。RA M 610をアクセスするための アドレスを表わす値は1例えばALU回路244によって、マルチプレクサ(M UX)616の1つの入力ポートにバスA BUSの8個のLSB位置として供 給される。マルチブ1/クサδ16のもう1つの入力ボートには、以下に述べる ように増加/減少回路622によフて発生される8ビツトアドレス値が供給され る。マルチプレクサ616は、制gi回路614によって与えられる信号MCI によって制御されて入力ポートに供給される2個のアドレス値のうちの一方をレ ジスタDRO乃至DR3に供給する。レジスタDRO乃至DR3は、8ビット並 列入力並列出力レジスタであり、それぞれ信号し。、Ll、Lt及びR3に応答 して各入力ポートに供給される値をロードする。レジスタDRO乃至DR3によ って与えられる出力値は、それぞれマルチプレクサ(MtjX)61Bの異なる 入力ポートに供給される。マルチブ1/クサ618は、制御回路614によって 与えられる制御信号MC2によって制御されて1/ジスタDRO乃至DR3によ って保持されるアドレス値のうちの1つを8ビツトアドレスレジスタ(ADDR REG)620の入力ポートに供給する。このアドレス値は、制御回路614に よつて与えられる制御信号LAに応答するアドレスレジスタも20中ヘロードさ れる。アドレスレジスタ620に保持されるアドレス値はRA M 610のア ドレス入カポ−1−と増加/減少回路622の入力ポートとに供給される。この 増加/減少回路622は、制御回路614によって与えられる信号1/Dによっ て制御されて入力ポートに供給されたアドレス値を増加或いは減少させてこの変 形アドレス値を上述のようにマルチプレクサ616の第2の入力ポートに供給す る。
マルチプレクサ618によって与えられるアドレス値は、3状態のゲート619 を介してバスA Busに供給されることがある。このゲート619は、制御回 路614によって与えられる信号ROに応答して、マルチプレクサ618とソー ス621とによって与えられる16ビツト値か或いは高インピーダンスの何れか をバスA Busに供給する。この実施例ではゲート619の使用により、レジ スタDRO乃至DR3に保持される値を8ビツトデータ値としてバスA Bus に供給することが出来る。バスA Busに供給される値の8個のMSBはOに 設定される。バスMCWを介して与えられるマイクロコード制御語A SRCフ ィールドが、レジスタDRO乃至DR3の1つがバスA Busを介して転送さ れるべきデータ値の出所であることを示す時、信号ROがゲート61.9を制御 して値をバスA BUSに供給するようにする。
RA M 610中へ記憶すべきデータ値は、2個の16ビツトバスA Bus 及びB Busを介してデータRAM回路228に供給される。16ビツトの3 状態のゲート624が、制御回路614によって与えられる信号AINに応答し てバスA BUSからのデータ値或いは高インピーダンスの何れかをRA M  610のI10バスに供給する。同様のゲー1−626が、制御回路614によ って与えられる信号BINに応答してバスB Busからのデータ値或いは高イ ンピーダンスを選択的にRA M 610のI10ハスに供給する。
RA M 61(lのI10バスに供給されたデータ値は、アドレスレジスタ6 20に保持されるアドレス値によってアト1/スされたデータセルに書込まれる 。制御回路614は書込可動化信号WEを発生し、RA M 610はこの信号 WEに応答して所定のメモリサイクル中にデータ値をアト1ノスされたセルに書 込む。
データ値は、メモリサイクルの少なくとも一部中に信号WEを論理Oの状態に保 持することによつてRAM610のアドレスされたセルから読取ることが出来る 。RA M 610から読取られた値は、バスA BUS及びBBUSの一方或 いは両方にそれぞれゲート628及び630を介して供給することか出来る。こ れらのゲート628及び530は、ゲート624及び62[iと同様であり、そ れぞれ制御回路614によって与えられる信号AOυ丁及びB0UTに応答して 、RAM610によってそのI10バスを介して与えられる出力値或いは高イン ピーダンスをそれぞれバスA BUS及びB Busに供給する。
上述のようにデータRAM回路228が行う動作はマイクロコード制御語のフィ ールドA SRC,A D ST、BSRC及びB DSTの値によりて決定さ れる。下の表4には、これら4つのフィールドの種々の値に応じて行われる動作 が示されている。
2 DR2DR2 3”DR3冨DR3 4”DRZ ◆+ ”D R2令÷ 5 ”DRa◆◆ ”DR3◆◆ 6 DR・2−”DRZ− 7”DR3−”DR3−− 16”D RO’D R0 17”D Rl ”D R1 18”DRO◆÷ ”DRO◆◆ 19 ”DRI ◆◆ ”DRI ◆中20 ”D RO−”D RO−− 21”D R1−”D Rl −− 28DRODRO 29DRI DRI 30 DRZ DRZ 特表千3−501556 (15) 31 DR3DR3 R2O3能は、ビデオ信号プロセッサ210に対するマイクロコード制御語を発 生するのに使用されるアセンブラ言語のように符号化される。レジスタの記号の 前に付けられている*印は、書込まれる値或いは読取られる値がレジスタに保持 される値によってアドレスされるRAMセルへ転送される値或いはそのRAMセ ルから転送される値であることを示している。レジスタの記号の前に*印がない 場合は、書込まれる値或いは読取られる値はその記号のレジスタに保持される8 ビツト値で岑る。レジスタの記号の後に付けられた「++」及び「−一」は、そ れでれそのレジスタ中の値が、アドレスされたメモリセルがアクセスされた後に 増加或いは減少させられることを示している。
符号化された動作がA SRC或いはB SRCの欄にある場合、その動作は読 取動作であり、その出力値はそれぞれバスA BUS或いはB BUSへとゲー トされる。符号化された動作がA DST或いはB DSTの欄にある場合、そ の動作は書込動作であり、その入力値はそれぞれバスA BUS或いはB Bu sによって与えられる。
第7A図乃至第7E図は、マイクロコード制御語のフィールドA SRC,A  DST、B SRC及びBDSTに対応して制御回路614が与える種々の信号 を示すタイミング図である。第7A図乃至第7E図のタイミング図には本願の他 のタイミング図と比較するためにマイクロコードRAM・シーケンシング回路2 26によって与えられるクロック信号CKAが示されている。
第7A図には、8ビツト値をバスA BUSからレジスタDROに書込む要求( 即ちA D S T = 28)に応答して制御回路614が与える種々の信号 のタイミングが示されている。命令サイクル中の初期の所定時点で、レジスタD ROに書込まれるべき値VALがバスA BUSに供給される。この命令サイク ル中、制御回路614は信号MCIを論理lに保持し、この信号に応答してマル チプレクサ615はバスA BUSの8個のLSB位置によって運ばれる値をレ ジスタDRO乃至DR3の入力ポートに供給する。バスA Busに供給された 値が安定すると、制御回路614はパルス信号り、を発生し、この信号L0に応 答してレジスタDROはその入力ポートに供給された値をロードする。レジスタ DR1,DR2及びDR3をロードさせる指令も同様であり、パルス信号Ls、 L*及びL3のうちの1つが第7図Aに示すパルス信号L0の代りに発生される 。
第7B図には、レジスタDROに保持される値をバスA Busの8個のLSB 位置に転送する(即ちASRC= 28)ために制御回路614が発生する信号 のタイミングが示されている。命令サイクルが開始したすぐ後の所定時点で制御 回路614は信号MC2が0の値を持つように変える。この信号MC2に応答し てマルチプレクサ618は、レジスタDROに保持される値をゲート619の入 力ポートに供給する。信号MC2を変えた後、制御回路614は信号ROとして 論理lをゲート619に供給する。この信号ROに応答してゲート619は、レ ジスタDROに保持される値をバスA Busの8個のLSB位置に供給し、0 の値をバスA Busの8個のMSB位置に供給する。レジスタDR1,DR2 及びDR3中の値も同様の信号変更シーケンスを用いて読取ることが出来る。唯 一の違いとしては、信号MC2の値が第7B図に示す0の代りにそれぞれ1.2 及び3となる。
第7C図には、レジスタDROに保持されるアドレス値によってアドレスされる R A M 610のメモリセルから値を読取る(即ちA 5RC=16)のに 使用される信号のタイミングが示されている。この動作のため、制御回路614 はまず、信号MC2を0の値を持つように変え、この信号MC2に応答してマル チプレクサ618はレジスタDROに保持されるアドレス値をアドレスレジスタ 620の入力ポートに供給する。この信号が安定すると、制御回路614はパル ス信号LAを発生し、これによってアドレス値がアドレスレジスタ620中ヘロ ードされる。
アドレス値がRA M 610のアドレスデコート論理を通過するとアドレスさ れた値はRA M 610のI10バス上に得られる0次に制御回路614は、 信号AOUTの値を論理lに変えることによってこのアドレスされた値をバスA  BUSへとゲートする。レジスタDRIによってアドレスされる値も、信号M C2の値か0の代りに1となること以外は同じ命令シーケンスを用いて読取るこ とが出来る。この実施例において、1/ジスタDR2或いはDR3によつてアド レスされるR A M 610中のデータは、バスB BUSのみを介して読出 すことも出来る。これらの信号を読取るための信号のシーウ゛ンスは、第7C図 のMC2の値をそれぞれ2或いは3に変え、ゲート用信号AOUTの代りに信号 BOUTを使用することによって得ることが出来る。
第7D図には、データRAM回路228がバスB BUSによって与えられる値 をレジスタDRZ中に保持されるアドレス値を持つRA M 610のセルへ書 込む(即ち。
B DST=2)ように制御する信号が示されている。
この動作における第1段階として、制御回路614は信号MC2の値を2に変え る。この信号MC2に応答してマルチプレクサ618は、レジスタDRZ中に保 持されるアドレス値をアドレスレジスタ62Gの入力ポートに供給する。アドレ ス値が安定すると、制御回路614はパルス信号L^を発生し、この信号L^に 応答してアドレスレジスタ620は入力ポートに供給された値をロードする。R A M 610へ供給されたアドレス値が安定した後1制御回路514が信号B INを論理lの値に変え、この信号BINに応答してゲート626はバスB B US上の債をRAM610のI10バスへ供給する。安定期間後に制御回路61 4はパルス信号WEを発生し、この信号WEに応答してRA M 610はその I10バス上のデータをそのアドレス入力ボートに供給されたアト1/ス値を持 つセルに書込む、レジスタDRa中のアドレス値を使用してデータ値をバスB  BUSからRA M 610に書込むのに使用される信号は、信号MC2が2で はなく3の値を持つこと以外は第7D図に示されるものと同じである。この実施 例では、バスA BUS上のデータを使用するメモリ書込動作はレジスタDRO 及びDRIのみを使用してもよい、従って、これらの動作(A DST=28或 いは29)に使用される信号を表わすとすると、第7D図は53つの点即ち信号 B Busが信号A Busになり、信号MC2の値がそれぞれ0或いはlにな り、信号BINが信号AINになって変えられることになる。
第7E図は、第7D図と同様の動作を表わすが、アドレス値かデータ値の記憶後 に増加させられる点で異なる。この動作は、フィールドB DST中の値が4の 時に発動される。信号B BUS、MC2、LA、BIN及びWEは、第7D図 に関して説明したものと同じである。更に2信号BINの値を変えるとすぐに、 制御回路614は信号I/Dを論理1の値を持つように変える。この信号X/D に応答して増加/減少回路622は、アドレスレジスタ620に保持される値を 増加させてその結果得られた値をマルチプレクサ616の第2の入力ポートに供 給する。この値が安定すると、制御回路614はパルス信号MCIを発生し、こ れによって増加したアドレス値はレジスタDRO乃至D・R2に供給される。信 号MCIが論理lの状態にある間、制御回路514はパルス信号り。
を発生し、これによって増加したアドレス値はレジスタDR2にロードされる。
命令サイクルの間ずっと信号1/Dの値を論理Oに保持することによって、第7 E図に示す信号を変えてアドレス値を増加させる代りに減少させることが出来る 。レジスタDRO1DFLI及びDR3を使用する書込動作用の信号は、第7E 図に基づいて、信号B Bus、MC2及びBINを第7D図に関して上述した ように変えることによって得ることが出来る。更に、読取・増加動作(A 5R C−18及び19とB 5RC−4及び5)と読取減少動作(A 5RC−20 及び21とB 5RC=6及び7)に使用される信号は、第7E図から信号MC I、1/D及びり、を適切に変えて第7C1]に示される信号に付加えることに より得られる。
この実施例において、第7A図乃至第7E図に示されるパルス信号は、クロック 信号源225によってデータRAM回路228に与えられる25 MHzの信号 CLKのパルスを選択的にゲートすることによって及びゲートされたクロックパ ルスを縦続接続されたゲート素子を介して遅延させることによって生成すること が出来る。クロック信号CLKがその制御信号を生成するのに使用されても、デ ータRAM回路228はクロック信号CKA及びCK mに応答し、これらのク ロック信号がPAUSE或いはHALTの指令によって凍結される時その動作を 停止する。
デジタル信号処理回路設計の当業者であれば、第6図、第7A図乃至第7E図及 びこれに関連する説明から容易にデータRAM回路228に使用するに適した制 御回路614を作ることが出来る。
第1B図に関して上述したように、映像セグメントは、前の映像からの対応する セグメントの変形として符号化できる。相対的エンコーディングと呼ばれるこの 符号化の形には、2個のセグメント(例えば第1B図からのΔX及びΔY)にお ける対応するピクセル位置相互間の水平及び垂直方向のオフセットを表わすパラ メータが含まれている。上述したように、これらのオフセットの値は隣接するビ クセル相互間の距離の分数で表わすことが出来る。ピクセルオフセット値の分数 部分がOでない映像を適切にデコードするために、ビデオ信号プロセッサ210 には前のフィールドにおけるセグメントのピクセルから疑似ビクセルを発生する 回路が含まれていることが望ましい、これらの疑似ビクセルは1分数で表わされ るようにオフセットされたビクセルの値に近似した値を持つ、この実施例におい て、疑似ビクセルはピクセル補間器246によって生成される。
ビクセル補間器246は、垂直方向に補間されるビクセルに対応する中間値の対 を計算及び記憶するように構成されている。これらの中間値の対は次に補間器2 4Sに帰還され、補間器246は、連続する中間値に基づいて動作して水平方向 の補間な行い、水平及び垂直の両方向において補間されるビクセル値を生成する 。即ち、ビクセル補間器246は、交互に垂直及び水平補間計算を行って出力疑 似ビクセル値を生成する。
第8A図には、ビクセル補間器246として使用するのに適した回路がブロック 図で示されている。第8A図て、16ビツトバスA Busがレジスタ(REG )802と812のそれぞれの入力ポートに結合されており、それぞれ例えばデ ータRA M 228からのビクセルデータと例えばA L U 244からの 制御値とをビクセル補間器246に供給する。レジスタ802及び812は、そ れぞれマイクロコート制御語のA DSTフィールドが5及び6の値を持つ時、 バスA BUSからの値をロードする。マイクロコード制御語は、制御バスMC Wを介してビクセル補間器246に供給される。レジスタ812は制御回路81 4に結合されており、この制御回路814は次に述べるようにビクセル補間器2 46の種々の構成部分に対する制御信号を発生する。
レジスタ802ヘロードされた16ビツト値は、A DSTフィールドが5の値 を持つ時、ビクセル補間器246によって入力ビデオ信号の水平線上の連続する 位置を持つ2個の8ビツトビクセル値として解釈される。信号LR1及びLR, に応答して、レジスタ802に保持される債はそれぞれ16ビツトレジスタ(R EG)804及び806に交互に転送される。ビクセル補間器246の正規動作 において、レジスタ802に供給される1つ置きの値は、入力ビデオ信号の連続 する線からの対応するサンプル対である0例えば、入力ビデオ信号のビクセルを 三角形で表わした第9A図において、レジスタ802に供給される最初の値には ビクセルS0゜及びSo、を表わす価が含まれることになり、その次にレジスタ 802に供給される値にはビデオ信号の次の線からの対応するビクセル値である ビクセルSIO及びS11を表わす値が含まれることになる。
第9A図乃至第9C図に関して次に述べるように、ビクセル補間器246は、レ ジスタ804及び806に記憶されたビクセル対を水平方向に隣接するビクセル 値から垂直方向に隣接するビクセル値に変換することが望ましい。
この目的のため、レジスタ804及び806の8債のMSB位置はそれぞれレジ スタ(REG)808の8個のMSB位置及び8個のLSB位置に結合され、ま たレジスタ804及び806の8個のLSBillはそれぞれレジスタ(REG )810の8個のMSB位置及び8個のLSB位置に結合されている。レジスタ 808及び810は、制御回路814によって与えられる信号XFに応答してそ れぞれの入力ポートに供給される値をロードする。上述の例で、レジスタ808 及び810ては、それぞれ制御回路814がパルス信号XFを発生した直後にビ クセル値対S0゜とSho及びビクセル値対S。lとSIXが収容される。
レジスタ808及び810によって与えられる16ビツト値は、それぞれマルチ プレクサ(MUX)811の異なる入力ポートに供給される。マルチプレクサ8 11は、制御回路814によって与えられる信号MVに応答して入力ポートのう ちの選択された1つに供給される16ビツト値を通過させてマルチプレクサ(M UX)816及び818に送る。マルチプレクサ811の出力値の8個のMSB 位置は、マルチプレクサ816の1つの入力ポートに供給される。マルチプレク サ811の出力値の8個のLSB位置は、マルチプレクサ818の対応する入力 ポートに供給される。
マルチプレクサ816及び818は、制御回路814によって与えられる信号M Lに応答して、マルチプレクサ811によつて与えられる2個のビクセル値かそ れぞれマルチプレクサ(MUX)861及び863によりて与えられる2個の8 ビツトの垂直方向に補間されたビクセル値かの一方を通過させる。マルチプレク サ816及び81gによりて通過させられたビクセル値はそれぞれレジスタ(R EG)820及び822に供給される。レジスタ820及び822は、マイクロ コードRAM・シーケンシング回路226によって与えられるクロック信号CK Aに応答して、それぞれの入力ポートに供給された値をロードする0次に減算器 824がレジスタ822に保持されるビクセル値をレジスタ820に保持される ビクセル値から引く、減算器824によって得られたビクセル差の値は乗算器回 路825に供給される。
この実施例に使用される乗算器825は、プログラム可能なシフト及び加算型の 乗算器である。第8B図には5乗算器825として使用するのに適した回路が示 されている0乗算すべき値が2つのデータバスに供給される。このデータバスの 各々には直列に結合された3個のシック(SHI FT)・マルチプレクサ(M UX)対が含まれている。第1及び第2のデータバスの両方は9ビツト値を運ぶ 、減算器824によって与えられる8ビツト値は、シフタ826及び840とマ ルチプレクサ828及び842との供給される9ビツト値の8個のMSB位置と して供給される。この値のLSBは0である。付加的な端一ピッ1−が乗算器8 25で使用されて、シフト及び加算の乗算技術の為に生しる可能性のある切捨て 誤差が軽減される。
第1のデータバスに含まれるシフタ826は、減算器824によって与えられる ビクセル差の値を受取り、この債のビットシフトされたものをマルチプレクサ8 28の1つの入力ポートに供給する。マルチプレクサ828の他方の入力ポート は、減算器824の出力ボートに直接結合されている。シフタ826、及び乗算 器825の他のシックの各々は、9ビツト入力値の8個のMSB位置を9ピツ1 〜出力値の8個のLSB位置として供給する。論理0の値がその出力値のMSB 位置に挿入される。デジタル信号処理回路設計の当業者であればこの種のシフト が2で割る割算に等しいものであることが判るであろう、マルチプレクサ828 は制御回路814によって与えられる信号MA、に応答して出力ボートにシフト された偵或いはシフトされていな値を与える。マルチプレクサ828の出力ボー トは、シフタ830の入力ポートとマルチプレクサ832の一方の入力ポートと に結合されている。シック83G及びマルチプレクサ832は、シフタ826及 びマルチプレクサ828と同様に構成されている。マルチプレクサ832は、制 御信号MA、に応答してマルチプレクサ828の出力値或いはこの出力値のビッ トシフト分の何れかを選択的に供給する。マルチプレクサ832は、出力値をこ れに結合されたシフタ834とマルチプレクサ836とき供給する。これらのシ フタ834及びマルチプレクサ836は、シフタ830及びマルチプレクサ83 2と同様に構成されている。マルチプレクサ836は、制御回路814によって 与えられる信号MA、によりて制御される。
第2のデータバスには、3個のシック・マルチプレクサ対840と842 、8 44と846及び848と850が含まれており、各対は第1のデータバスのシ ック・マルチプレクサ対と同様に構成されている。マルチプレクサ842゜84 6及び850はそれぞれ信号MB、、MB、及びM B sによって制御される 。
マルチプレクサ85Gにより与えられる出力値は選択的2の補数回路(SEL  2’ S COMP)8S2に供給される。この回路852は、制御回路814 によって与えられる信号CPに応答して入力値或いはその入力値の2の補数の何 れかをレジスタ(REG)854の入力ポートに供給する。第1のデータバスの マルチプレクサ836によつて与えられる出力値は、レジスタ(REG)838 の入力ポートに直接供給される。レジスタ838及び854の両方は5マイクロ コ一ドRAM・シーケンシング回路225によって与えられるクロック信号CK  Bに応答してそれぞれの入力ポートに供給された値をロードする。11ジスタ 838及び854によって与えられる出力値はそれぞれ加算器856の異なる入 力ポートに供給される。この加算器856によって与えられる値が乗算器825 の出力値となる。
乗算器825は、信号MAr 、MAs 、MAs 、MB+。
M B 11及びMB、の値が制御されることによって、8分の1から1までの 8分の1ごとの値を持つ縮小率(scalefactor)で減算器824によ って与えられる値を乗算する0表5は縮小した出力値を得るのに必要な種々の制 御信号の値の一覧表である。表5において、MA倍信号いはMB信号の1つが0 の制御値を持つ時、対応するマルチプレクサはそれに応答してシフトされていな い値を通過させ、工の制御値を持つ時、対応するマルチプレクサはそれに応答し てシフトされた値を通過させる。信号CPの値が1の時2選択的2の補数回路8 52はこれに応答して入力ポートに供給された値の補数をとる。
表 5 M A r M A t M A s M B I M B t M B s  CP 縮小率信号MA+ 、MAs 、MAs 、MB 1.MB* 、MB3 及びCPの値は、制御回路814が1/ジスタ812によって与えられる制御値 に応答して発生する。
加算器856によって与えられる縮小されたビクセル差値は、レジスタ(REG )857によりて与えられるビクセル値に加えられる。レジスタ857に保持さ れるビクセル値は、マイクロコードRAM・シーケンシング回路226によって 与えられるクロック信号CK、に同期してレジスタ822からロードされる。減 算器824、乗算器825、加算器8515及び加算器858によって行われる 作用は次の等式(2)によって表わすことが出来る。
R,=SF大(A−B)+B (2) ここで、A及びBはそれぞれレジスタ820及び822に保持されるビクセル値 、SFは、例えばA L U 244によって制御値におけるフィールドとして 与えられ且つレジスタ812に保持される縮小率の値、この縮小率SFはMA、 MB及びCPの信号を介して乗算器825に供給される。Rは加算器858によ って与えられる値である。式(2)を代数的に操作すると、従来型の線形補間動 作を表わす式(3)が得られる。
R−3FIA+ (1−sF)*B (3)従って、減算器824、乗算器82 5、加算器856及び加算器858の組合せは線形補間器となる。
加算器858によって与えられる値は、レジスタ(REG)86G及び862の それぞれの入力ボートと、マルチプレクサ861及び863のそれぞれの第1の 入力ポートに供給される。マルチプレクサ861及び863の第2の入力ポート は、それぞれレジスタ860及び862の出力ボートに結合されている。レジス タ860及び862は、入力ポートに供給された値をそれぞれクロック信号φ2 及びφ1が負方向に移行すると同時にロードする。マルチプレクサ861及び8 63は、それぞれクロック信号φ2及びφ1が論理lの値を持つ時、加算器85 8によりて与えられる値を通過させてマルチプレクサ816及び818に供給し 、クロック信号φ2及びφlが論理lの値を持たない時、レジスタ860及び8 62に保持される値を通過させる。レジスタ860及び862とマルチプレクサ 861及び863のこの構成によフて。加算器858によって与えられる偵をレ ジスタ860及び820の両方に或いはレジスタ862及び822の両方に同時 にロードできる。これが可能であることの重要性を後で第9C図を参照しつつ説 明する。
加算器858によって与えられるビクセル値は更に16ビツトレジスタ(REG )864の8個のMSB位置と8個のLSB位置の両方に供給される。レジスタ 864の8個のMSB位置は制御回路814によって与えられる信号Lolに同 期してロードされ、レジスタ864の8個のLSB位置は制御回路814によっ て与えられる信号LO,に同期してロードされる。レジスタ864に保持される ビクセル値は、制御回路814によつて与えられる信号XOに応答してレジスタ (REG)866に転送される。次にこれらのビクセル値は、バスMCWを介し てレジスタ866に供給されるマイクロコート制御語A SRCフィールドによ って制御されてレジスタ866からバスA ; BtJSに供給される。
正規動作モードにおいて、ビデオ信号プロセッサ210の構成部分としてビクセ ル補間器246は、電流映像に対するビクセル値を発生する1つの段階として前 の映像のビクセル値から補間された疑似ビクセル値を発生する。
第9A図乃至第9C図はビクセル補間器246の動作を示している。
第9A図において、三角形点S0゜乃至SOW及びSIO乃至Sl?は、入力F IFO232及びデータバス242を介してV RA M 216中のビット・ マツプから与えられる前の映像の2本の連続する線からの対応するビクセル値を 表している。円形点I0゜乃至1[oyは、補間された疑似ビクセル値を表わし ている。第9A図に示されるように、補間された疑似ビクセル値は、前の映像の ビクセルに対して水平方向にビクセル相互間隔の4分の1また垂直方向にビクセ ル相互間隔の8分の′5たけオフセットされている。
第9B図は、ビクセル補間器246がどのようにバスABυSに供給されたデー タ値によって制御されて疑似ビクセル値I0゜乃至103を発生するかを示して いる。第9B図で、期間To乃至T1.はビデオ信号プロセッサ210の17の 連続する命令サイクルを表わしている。命令サイクルT0中、マイクロコード制 御語のフィールドA DSTは4の値を持ち、これによってビクセル補間器24 6は例えばバスA Busを介してA L U244から供給されるISビット 制御値をロードする。ビクセル補間器246は、この16ビツト制御値の8個の MSB位置に制御されて同相モードで動作する。このモートにおいて。
入力ビクセル値及び対応する出力ビクセル値は共にVRA M 216中の偶数 のアドレスを持つ、ビクセル補間器246はもう一方のモードである隣相モード で動作することが出来る。この隣相モードにおいて、入力ビクセルアドレス値は 奇数個であり、出力ビクセルアドレスは偶数個ある0期間T0においてビクセル 補間器246に供給される制御値は、更にビット0〜3及び4〜7にそれぞれ値 5及び2を持つ、値2は水平方向のオフセット或いは縮小率2/8即ち1/4に 相当し、値5は垂直方向の5/8のオフセットに相当する。この実施例では2値 5及び2は、第1B図に示されるもののような相対的コードレコードの値ΔX及 びΔYの分数部分から得られる。
命令サイクルT+及びT、中、マイクロコード制御語A DSTフィールドが5 の値を持ち、それぞれビクセル値対S。。、Sol及びS、。、Sllがビクセ ル補間器246のレジスタ802へ供給される。命令サイクルT3の間、ビクセ ル補間器246に関してバスA BUS上には作業がない、命令サイクルT4中 、補間されたビクセル値の無効対(X、X)がビクセル補間器246の出力ボー トに得られる。これらの値は、ビデオ信号プロセッサ210によって無視される 。
命令サイクルT、及びT、中、それぞれビクセル対S O1+ S 03及びS 、!、S13がビクセル補間器245のレジスタ802へ供給される。命令サイ クルエフ中、ビクセル補間器246に対してバスA BUS上には作業がない。
命令サイクルT、中、補間されたビクセル値の第2の無効対がビクセル補間器2 46の出力ボートに得られる。これらの値は無視される。命令サイクルT、及び To。中、それぞれビクセル値対SO4、SOI及びS、、、S、、がビクセル 補間器246のレジスタ802に供給される。命令サイクルT、!中、ビクセル 補間器246に関するバスA BUS上の作業はない、命令サイクルTll中、 マイクロコード制御語のA SRCフィールドは5の値を持ち、これによってビ クセル補間器245は、補間されたビクセル値10゜及びI。1を表わす16ビ ツト値をバスA Busに供給する。
命令サイクルTI3乃至T1.は命令サイクルTI乃至T12と同様で、ビクセ ル補間器246に供給されるビクセル値及びビクセル補間器246によって与え られるビクセル値が異なるだけである。一般に、マイクロコードシーケンサ22 6は、所望の補間された疑似ビクセル値すべてを生成するのに必要な多数の期間 と異なる入出力ビクセル値とを使用して命令サイクルTI乃至TI2中の動作を この実施例に使用される補間器246は高度にバイブラ^ イン構成された装置である。パイプライン遅延は、11命令サイクル即ちTIに おいて最初の入力値が供給されてからTl*において最初の有効出力値を与える までの間の遅延である。
MQC図は信号タイミング図であり、$9B図に示した例の制御回路814によ って生成される種々の信号のタイミングを示している。信号CK A及びCK、 は、1つの命令サイクル期間中に実質的に等しい期間を持つ隣相クロック信号で ある。クロック信号CK A及びCKBは、マイクロコードRAM・シーケンシ ング回路226によってビクセル補間器246に供給される。
第8図に示されるビクセル補間器回路246に使用されるレジスタすべては、立 下がり端でトリガされる型式である。即ち、これらのレジスタすべては、その入 力ポートに供給された値をそのクロック信号或いはロード信号が負方向に移行す ると同時にロードするように制御される。第8図におけるレジスタは、クロック 信号CK A或いはクロック信号CK、の何れかに同期する。
第9B図および第9C図を参照する。ビクセル補間器に対する制御値は信号CK Aの負方向変化と一致した命令サイクルT0の期間中1/ジスタ812にロード される。
この値は命令サイクルT0の終りまでに制御回路814中で安定化し、各信号M AI、MA2、MA3、MBI、MB2、MB3.およびcpに対する値l、0 .0.1.1.l、および0を供給するように回路814の動作を設定する。こ れらの値は5/8の縮小率に相当し、この縮小率はこの実施例では垂直に配列さ れた対をなすビクセル値相互間を補間するために使用される。
ビクセル値の第1の対S。。とS。1は信号CKAの負方向変化と一致する命令 サイクルT、の期間中にレジスタ802にロードされる。これらのビクセル値は 信号LR。
の負方向端と一致する命令サイクルT、の終了端でレジスタ806に転送される 。
ビクセル値の第2のSIOとS11は命令サイクルT2の期間中に生ずるクロッ ク信号Cに、の負方向変化と一致してレジスタ802にロードされる。これらの ビクセル値は命令サイクルT2の終了時に生ずる信号LR,の負方向変化しと一 致してレジスタ804に転送される。
命令サイクルT3の期間中にレジスタ804および806の8個のMSB位置に 保持されたビクセル値はレジスタ808の各8個のMSBと8個のLSB位置に 転送され、レジスタ804および806の8個のLSB位置に保持されたビクセ ル値はレジスタ810の各8個のMSBと8個のLSB位置に転送される。この 転送は信号XFの負方向変化と一致して行なわれる。この転送によって、各レジ スタ804および806中の水平方向に配列されたビクセル値S0゜、Sobお よびS、。+S11をそれぞれレジスタ808.810中で垂直方向に配列され たビクセル値S。l+s11およびSo。、SIOに変換する効果が得られる。
サイクルT4の期間中、制御回路814は信号MAR乃至MA3、MBI、乃至 MB3、およびcpを、5/8の縮小率と一致した値をもつように変更する。制 御回路814は、さらに信号MVとして論理1の値を発生し、信号MLとして論 理0の値を発生して、信号MVによって制御されるマルチプレクサ811、信号 MLによって制御されるマルチプレクサ816および818を、レジスタ810 に保持された2個のビクセル値をレジスタ820 、822の各入力ボートに結 合するようにする。信号CKAの負方向端に一致して、命令サイクルT4の期間 中、ビクセル値S0゜はレジスタ822にロードされ、ビクセル値SIOはレジ スタ820にロートされる。命令サイクルT4の残りの期間中は、レジスタ82 0および822に保持された値は、前述のように減算器824およびマルチプラ イヤ825の第1および第2のデータバスを経由して伝播する。マルチプレクサ 836および選択的2の補数器852によって供給される縮小(スケール)され たビクセル差値は、命令サイクルT4の終了時に生ずる信号CK eの負方向端 と一致して各レジスタ838 、854にロードされる。これと同時にレジスタ 822からのビクセル値S0゜はレジスタ857にロードされる。
命令サイクルT、において、レジスタ838および854に保持されたビクセル 差分値は加算器856によって加算される。得られた和は加算器858において レジスタ857から供給されるビクセル値S。。と加算される。ビクセル値S1 ゜の5/8倍とビクセル値S。。の3/8倍との和を表わす加算器858によっ て与えられた和は信号φ、の負方向端と同期してレジスタ862に記憶される。
また、命令サイクルTsの期間中、バスA BUSを経て供給されるビクセル値 S。2とS。3はレジスタ802にロードされ2次いで信号LR0の負方向変化 と同期してレジスタ806に転送される。命令サイクルT6の期間中、ビクセル 値SatおよびS13はバスA Busに供給され、レジスタ802にロードさ れ、次いで信号L Rrの負方向変化と同期1ノてレジスタ804に転送される 。
命令サイクルT6の中間において、レジスタ808に保持されたビクセル値So lおよびSllはマルチプレクサ811 、816および818を経て各レジス タ822.829に供給されて、信号CKAの負方向端に応答し・てこれらの各 レジスタにロードされる。これらのビクセル値は命令サイクルT、の残りの期間 中と命令サイクルT7の第1の半部の期間中に減算器824、マルチプライヤ8 25、レジスタ857および加算器858を通って伝播される。
命令サイクルT、の第1の半部の期間中、各レジスタ806 、804に保持さ れた水平に配列されたビクセル値S o** S oxおよびS、!、S、3は 垂直に配列されたビクセル値Set、S1□ およびS。3、S13に変換され て、命令サイクルT、の中間点で生ずる信号XFの負方向変化と同期して各レジ スタ810 、808に記憶される。
命令サイクルT、の期間中に加算器858によって供給された垂直に補間された ビクセル値(Sob、 S+、)は1/ジスタ860にロートされ、さらにマル チプレクサ861および816を経由1ノて、命令サイクルT?の中間点で生ず る信号CKAの負方向端に同期してレジスタ820にロードされる。信号MLは 、マルチプレクサ861から供給された値をレジスタ820に通過させるように マルチプレクサ816を動作させ、またマルチプレクサ863によって供給され た垂直に補間されたビクセル値(S o。、S、。)をレジスタ822に供給す るようにマルチプレクサ818を動作させる。このビクセル値は命令サイクルT 7の中間点で生ずるクロック信号CKAの負方向変化と同期してレジスタ822 にロー1(され、信号MAI乃至MA3、MBl乃至MB3および信号cpは、 1.0、o、i、i。
0および1の6値をもつように変化させられる。これらの値は縮小率1/4に相 当する。命令サイクルT、の第2の半部の期間中および命令サイクルT8の第1 の半部の期間中、減算器824、マルチプライヤ825および加算器858は、 この垂直補間されたビクセル値の対からビクセルイ1を水平補間してピクセル値 I0゜を生成する。この値I0゜は、命令サイクルT6の中間点て発生するLO 。
の負方向端と一致してレジスタ864の8個のLSB位置に記憶される。
また、命令サイクルT、の期間中にレジスタ810に保持されたビクセル値So l、Sitの対はマルチプレクサ811 、816および818を経て各レジス タ822 、820に転送される。これらのビクセル値は命令サイクルT、の中 間点で生ずる信号CKAの負方向変化と同期してレジスタ822および820に 転送される。命令サイクルT、の残りの期間および命令サイクルT、の第1の半 部の期間中に、減算器824.マルチプライヤ825および加算器858は対を なすピクセルrl!l5ot、Sxiから垂直補間されたビクセル値を計算する 。この補間されたビクセル値は、命令サイクルT9の中間点で生ずる信号φlお よびCK^各負力負方向変化期してレジスタ862および822にロードされる 。命令サイクルT、の残りの期間および命令サイクルT、。の第1の半部の期間 中に、水平補間されたビクセル値101は、マルチプレクサ861および863 によりて供給された垂直補間されたビクセル値から発生される。信号MAL乃至 MA3、MHI、乃至MB3、およびCPは、命令サイクルT、の期間中に各々 0.0.0.1,1.0およびlの値をもつようにセットされる。これらの値は 縮小率3/4に相当する。ビクセル値101は、命令サイクルT、。の中間点て 生ずる信号LO。
の負方向変化と同期してレジスタ864の8側のMSB位置に記憶される。ピク セル対■。。、Io工は、信号xoの負方向変化と同期して命令サイクルT、。
の終了時にレジスタ864からレジスタ865に転送される。
また、命令サイクルT1゜の中間点において、1/ジスタ808に保持されたビ クセル値SO3およびS+3は、信号Cに、の負方向端と同期して各レジスタ8 22および820にロードされる。命令サイクルT、。の残ワの期間および命令 サイクルTllの第1の半部の期間中、垂直補間されたビクセル値がビクセル値 S。3およびS13から生成される。このビクセル値は、命令サイクルTelの 中間点で発生する各信号φ2およびCK Aの負方向変化と同期してレジスタ8 60および820に記憶される。
命令サイクルT、およびT1゜の期間中、各ピクセル5O4h SO9、および S14、S、は各レジスタ806 、804にロードされる。命令サイクルT0 .の中間点で、これらのビクセル値は垂直配列されたビクセル対S。4、S14 *およびS。S、S□、に配列され、これらは各レジスタ81O1808に記憶 される。
命令サイクルT 11の第2の半部と命令サイクル71mの第1の半部の期間中 に、減算器824、マルチプライヤ825および加算器858はビクセル値Io tを計算し、該ビクセル値ionは命令サイクルT、よの中間点で生ずる信号L OOの負方向変化と同期してレジスタ864の8個の位置に記憶される。また、 命令サイクルT12の中間点において、ピクセル対I0゜、101はレジスタ8 66からハスA Busに供給される。
命令サイクルT1.およびT13の期間中、垂直補間されたビクセル値はピクセ ル対SO4、S+4に対して生成される。この補間されたビクセル値は、命令サ イクルT13の中間点で生ずる信号φ2およびCK Aの各負方向変化と同期し てレジスタ860および820にロートされる。命令サイクルTI3およびT1 4の期間中に、ビクセル値10)は3/4の縮小率を使用して発生される。この ビクセル値は命令サイクルT14の中間点においてレジスタ864の8個のMS B位置に記憶される。命令サイクルTLの終了時に、ビクセル対Not、103 はレジスタ864からレジスタ866に転送される。このピクセル対は命令サイ クルTいの期間中にバスA Busに供給される。
ピクセル補間器246を駆動する信号は4つの命令サイクル毎にくり返す。例え ば、命令サイクルTI3乃至T16に対する信号は命令サイクルT、乃至Tll に対する命令と同じである。この信号くり返しのシーケンスは所望の数の疑似ビ クセル値を生成するのに必要な回数をくり返される。
水平補間されるべき1対のビクセル値の第1の垂直補間されたビクセル値はレジ スタ820 、822を交互に占有する。その結果、加算器858において縮小 された垂直補間差値に加算される垂直補間された値は、連続する水平補間値を発 生するために合成される垂直補間された値の連続する対の第1および第2の垂直 補間値間で交番する。水平補間の計算のためにこの交番を適合させるために、制 御回路814は信号MAN乃至MA3、MBI乃至MB3、およびCPに対して 縮小率S F Nおよび(1−SFn)に対応する値を交互に供給する。ここで 、SFoは水平補間縮小率である。この例では、1対の第1のビクセル値がレジ スタ822にあるときは、1/4の水平補間率は正しい疑似ピクセル出力値を生 成する。しかしながら、1対の第1のビクセル値がレジスタ820にあるときは 、水平補間率は3/4に変化させられて正しい疑似ピクセル出力値を発生する。
上述の説明では、命令サイクルT0の期間中にビクセル補間器246に供給され る制御値は補間器を同相モードで動作するように設定する。第9D図および9E 図は隣相モードのビクセル補間器の動作を説明するものである。上述のように、 隣相モートは、入力ピクセル対のアドレスがVRAM216中の16ビツト値の アドレスと一致しないときにビクセル補間器246に対して選ばれる。この状態 は、対をなす入力ビクセル値がVRAM語の境界を横切って分割されるときに生 ずる。第9E図はこの状態を示している。
ビクセル補間器246の同相モードと隣相モードにおける動作の基本的な相違が 第9E図と第9F図に示されている。第9E図に示すように、ビクセル値I。。
および!。、は、その同相モーIくに示すように命令サイクルT+tの期間中よ りもむしろ命令サイクルi1sの期間中に出力レジスタ866において得られる 。この動作の変更は、第9F図に示すように、信号LO,とL Orとを切換え 。
信号XOを信号CKAの2周期だけ遅延させることによって達成される。
ビクセル補間器245はビデオ映像に対する空間的補間ビクセル使用装置として 説明されているが、このビクセル補間器246はさらに一般的には、水平方向、 垂直方向のいずれかにおけるビクセル値を平均するためにも使用することができ る。この機能は各種の濾波演算方式において有用である0例えば、第9A図のビ クセル値がS 00% S 01・ 5OOt S 01 r S 0+1・  SO3・ SO2・ SO3等のシーケンスでビクセル補間器246に供給され ると、補間器によって与えられる出力値は、水平方向にのみ補間あるいは平均さ れるビクセルを表わす。
上述の説明および第8A図、第8B図。第9A図乃至第9F図を見れば、デジタ ルビデオ信号処理回路設計の技術分野の技術者にとっては、ビクセル補間器24 6として使用するのに適した回路を設計し、製造することは容易である。
V RA M 216に保持されたビクセル値およびデータは、統計的デコーダ 230.入力FIFO232および234、出力FIFO236を経てビデオ信 号処理器210によってアクセスされる。これらの装置を使用してVRAM21 6に関して実行されるすべてのデータの読出しおよびデータ書込み動作はVRA M制御ユニット238によって調整される。統計的デコーダおよび各FIFOは 関連するVRAMアト1/スおよび制御値をもっている。マイクロコード1シー ケンサ226はFIFOのパラメータを初期化し、その後各FIFOは自動的に 動作を開始する。ビデオ信号プロセッサ210から見ると、3個の入力命令と1 個の出力命令とが存在する。これらの3個の入力命令は統計的デコーダ230、 入力FIFO232あるいは入力FIFO234からビクセル値を受取ることで あり、出力命令は出力FIFO236にビクセル値を送ることである。
これらの装置はそれぞれV RA M 21Bへ、あるいはVRA M 216 から32ビツト語用のメモリアクセス要求を発生し、また、8あるいは16ビツ トピクセル値とVRAM216に記憶された32ビツト語との間の変換、あるい は統計的にコード化されたデータをビクセル値に変換するために必要なバッキン グ(Packing)あるいはアンバッキング(Unpaeking)を行なう 。
統計的デコーダ230はVRAM216に保持された可変長コード化データを1 6ビツト2道値に変換し、該16ビツト2進値はマイクロコード制御語のB S RCフィールド中の14の値に応答してバスB BUSに供給される。
第10A図は統計的デコーダ230として使用するのに適した回路のブロック図 を示す。
第13A図を参照して以下に説明するように、統計的デコーダ230に対するV  RA M 216をアクセスするために使用されるアドレス値は、例えば、デ ータRA M 228から2段階でVRAM制御ユニット238にロードされる 。
第1段階で、22ビツトのアドレス値の8個のMSB位置を表わす値は、マイク ロコード制御語B DSTフィールドが31の値をもっている間にバスB BU Sに供給される0次に、アドレス値の14個のLSB位置は、BDSTフィール ドが30の値をもっている間にバスB BUSに供給された値の14(11のM SB位置からロードされる。マイクロコード制御語のB DSTフィールド中の 30の値は、統計的デコーダ230をリセットし、統計的デコーディング動作を 初期化するように制御回路1018を動作させる。
命令の代表的なシーケンスは次のように進行する。2つの連続する命令サイクル の期間中、アドレス値の8個のMSBおよび14個のLSBはそれぞれVR,A M制御ユニット238中の1対のレジスタにロードされる。アドレス値の14個 のLSBがロードされる同じ命令サイクル中に、統計的デコーダ230はリセッ トされ、動作を開始する。
リセット動作は、フリップ・フロップ1017に対する信号RVとして論理1の 値を供給する制御回路1018によって行なわれ、出力レジスタ1016に保持 された8ビツト値を無効なものとしてマークする。同時に、制御回路1018は パルス信号RDRを発生して、これをフリップ・フロップ1022のセット入力 端子Sに供給する。この動作によってフリップ・フロップ1022の出力信号S DRを論理1の値に変化させる。信号SDRはバスR/Sを経てVRAM制御ユ ニット238に供給されて、V RA M 216中のアドレスされた位置にお ける読出し動作を要求する。クリップ・フロップ1022の出力信号SDRは制 御回路1018にも供給されて、データがVRAM21Bから要求されているこ とを指示する。
VRAM制御ユニット238が要求された読出し動作を処理し、VRAMH6が 要求された32ピツ1〜値をバスDBUSに供給すると、VRAM制御ユニット 238はバスR/Sを経て供給されるパルス状ストロボ信号SO3を発生する。
この信号はレジスタ101Oを、バスD BUSからの32ビツト値をロードす るように動作させる。信号SDSはまたフリップ・フロップ1022のリセット 入力端子Rにも供給されて、32ビツトデータ値がレジスタ1010にロートさ れたとき、信号SDRの状態を論理0に変化させる。SDSが論理0になって信 号CKの1周期の1/2の期間後、制御回路1018は信号SRLを発生し、レ ジスタ1010からの32ビツト値をシフ1−1/ジスタ1012に供給し、カ ウンタ1020に保持された値を0にリセットする。
統計的デコーダ230は、常にV RA M 216から読出された32ビツト 値のLSBと共にそのデコーディング動作を開始する。以下に述べるように、入 力FIFO232および234と、出力PIFO23Sは、VRAMから読出さ れ、あるいはVRAMに書込まれる4バイト値から転送されるべき最初のバイト としてバイト位置の値を特定する。これらの装置に対するバイト位置の債は、2 4ビツトのアドレス値の2個のLSB位置としてコード化される。この発明の実 施例では、統計的デコーダ230はこのバイト位置の値を無視する。その結果、 統計的デコーダ230に供給されるデータは、VRAM216中の32ビツト語 のLSB位置と共に開始すると仮定される。
制御回路1018がレジスタ101Oからの32ビツトデータ値を転送するため のパルス信号SRLを発生するときは、該制御回路1018は記憶されたアドレ ス値を増加させるようにVRAM制御ユニット238を動作させるパルス信号R DRを発生して、V RA M 216からの次の連続する32とットデータ値 をレジスタ1010に供給する。パルス信号SRLおよびRDRが発生して信号 CKの1周期の1/2の期間後に1回路1018は信号ENとして論理lの値を 統計的デコーディング回路1014に供給し、回路1014にシフトレジスタ1 012中に保持された値のデコーディングを開始させる。
この発明の実施例で使用される統計的デコーディング回路1014は、例えば、 ここに参考として示す米国特許第4.396,906号、発明の名称「デジタル ・八ツマン・エンコーディングの方法と装置(Method and Appa ratus forDigi”cal 1iuffsan Encoding)  Jの明細書に記載されている形式のものでよい0回路1014は可動化(イネ イブル)されると、システム・クロック信号CKを信号5RCKとしてシフトレ ジスタ1012およびカウンタ1020にゲートする。シフトレジスタ1012 は、信号5RCKの各サイクル毎に、LSB位置から開始し、MSB位置に向け て続く上記シフトレジスタ1012が保持する値の1ビツトを供給する。各ビッ トがシフトレジスタ1012にょフて供給されると、カウンタ1020中の値は 1だけ増加される。
統計的デコーディング回路1014が充分な数のビットを処理して16ビツトの 出力値を発生すると、換言すれば、統計的デコーディング回路1014が1個の 可変長コード化された値をデコードすると、該統計的デコーディング回路101 4はデコードされた16ビツト値を出力レジスタ1016の入力ボートに供給し 、さらに論理lの値を信号RDYとして制御回路1018に供給する。これによ って制御回路1018はパルス信号ORLを発生して、回路1014によつて供 給された値を出力レジスタ1016にロードし、クリップ・フロップ1017を セットして、レジスタ1016によって保持されたデータを有効なものとする。
出力レジスタ1016に保持された値が、値14または15をもったB SRC フィールドを有するマイクロコード制御語を使用してバスB Busに対する信 号源としてアクセスされると、このデコーディング動作は完了する。
制御回路1018がB SRCフィールド中でこの値を検出した後、次のクロッ ク期間で、制御回路1018はパルス信号RVを発生し、レジスタ1016に保 持されたデータを無効なものとしてマークする。BSRCに対する14の値はよ り多くのデータ値を持つことを示し、15の値はアクセスされたデータ値がシー ケンスの最後であることを指上述の説明では、レジスタ1016中のデータは、 それが増動になるまでアクセスされないと仮定している。無効データ(例えばB  5RC=14.0RV=O)をアクセスするための試みがな′されると、制御 回路1018はパルス信号PRを発生する。このパルス信号PRはフリップ・フ ロップ1023のセット入力端子Sに供給される。パルス信号PRが発生される と、フリップ・フロップ1023の出力信号5DPAは論理lの値に変化する。
この信号は休止(ポーズ)論理240に供給されて、マイクロコードRAMおよ びシーケンサ226によってビデオ信号プロセッサを休止状態にする。この信号 5DPAはさらにアント・ゲー)−1025の一方の入力端子に供給され、その 他方の入力端子は信号SDRを受信するように結合されている。もしSDR,5 DPAの双方が論理1の値をもっていると、アンド・ゲート1025の出力信号 SDPは論理1になる。この信号は休止論理240を経てVRAM制御ユニット 238に供給されて要求された読出し動作の優先度を増加させる。信号SPDは 統計的デコーダ230からの緊急読出し動作要求信号である。制御回路1018 が信号ORLを休止してレジスタ1016に保持された値を有効なものとしてマ ークすると、信号5DPAは論理0になって休止状態を解く。
上述の例は統計的デコーダ230の内部動作を、1個の16ビツト出力値を生成 する場合について説明した。一般には、デコーダ230は一連のこのような値を 生成する。
このシーケンスの第1の値を生成するために、第10図に示す回路は上述のよう に動作する。一旦その値が出力レジスタ1016に転送されると、制御回路10 18は論理lの値を信号ENとして供給して、統計的デコーディング回路101 4を付勢す1次のデコードされた値を発生させる。第1のデコードされた値が出 力レジスタ1o16からアクセスされると、信号ORVは論理値Oをもつように 変化させられ、制御回路1018はパルス信号ORLを発生して第2の値をロー ドする。第1の値がアクセスされたとき第2の値がデコートされていないと、信 号RDYが統計的デコーディング回路によって論理1の値に変化されるまで制御 回路1018はパルス信号ORLを発生しない、この動作シーケンスは、マイク ロ制御語のB SRCフィールド中の15の値を使用して出力レジスタ1016 中の値がアクセスされるまでくり返される。出力レジスタ1016中の値が、そ のB SRCフィールド中の15の値をもったマイクロコード制御語に応答して アクセスされると、制御回路1016は信号ENの値を論理Oに変化させること によって統計的デコーディング回路230の動作を終了させる。
デコーダ230で使用されるVRAMのアドレス値の14側のLSB位置に対す る新しい値が設定されるまでデータは統計的デコーダ230を用いてアクセスさ れることはない。
上述のデコーディング動作のいずれにおいても、必要に応じて32ピッ1−のデ ータ値がV RA M 216からレジスタ1010に供給される。カウンタ1 020かそのときの32ビツト値のMSBが回路1014に供給されたことを示 す31の値をもつように増加されると、制御回路1018はパルス信号SRLを 発生してレジスタ1010からの次の32ビツト値をシフトレジスタ1012に 転送して、カウンタ1020の値をリセットする。同時に制御回路1018はパ ルス信号RDRを発生して、V RA M 216から次の連続する32ビツト 値を要求する。
カウンタ1020中の値が31に等しいとき、信号SDRの値が論理lであると 、レジスタ1010を満たすための読出し動作は未だ完了していないので、制御 回路1018はレジスタ1010からの値をレジスタ1012に転送することは できない、この例では制御回路1018は信号ENを論理Oの値をもつように変 化させ、デコーディング回路1014を非可動化する。要求された読出し動作が 完了すると、制御回路1018はパルス信号SRLを発生してレジスタ1010 からの新しい32ビツト値をレジスタ1012に転送し、信号ENの値を論理1 に変化させ、パルス信号RDRを発生する。これらの信号は統計的デコーダ23 0を付勢して正規の動作を再開させ、VRAM216から新しい32ビツトの値 を要求する。
第10B図は2@のデータ値かデコートされるときの制御回路1018によって 生成される信号の相対的タイミングを示すタイミング図である。
第10A図および第10B図、さらに上述の説明から明らかなように、デジタル 処理回路の設計技術者にとフては統計的デコーダ230として使用するのに適し た回路を設計し、製作することは容易なことである。
入力FIFO232および234は、ビデオ信号プロセッサ210がそのビクセ ル処理素子を用いて処理するために、VRAM216用のランダムな8ビツトま たはIsビット値を読出すようにし、あるいは一連の8ピツ5トまたは16ビツ ト値を読出すようにする。ランダムモード、シーケンシャルモートのいずれの場 合も、マイクロコードRAMおよびシーケンサ回路226によって実行されるマ イクロコート制御語命令はVRAM制御ユニット238に初期アト1ノス値を供 給する。選択された入力FIFOはVRAM制御ユニット238を経てV RA  M 216をアクセスし、マイクロコードRAMおよびシーケンサ226によ る別の干渉なしに要求された1あるいは複数の値をバスB Busに供給する。
例えばデータRA M 228によって供給されたFIFO232、234に対 する開始アドレス値は、統計的デコーダ230に対するアドレス値が特定される 態様と同じ態様でVRAM制御ユニット238において発生される。アト1/ス 値の8個のMSB位置は、23および27の各個をもったマイクロコード制御語 のB DSTフィールドに応答して、バスB BUSを経由して各入力FIFO 232および234に転送される。入力FIFO232および234用のアドレ ス値の!4債のLSB位置は、マイクロコード制御語のB DSTがそれぞれ2 2および26の値をもったとき、バスB Busに供給される値の14個のMS B&置から転送される。B DSTフィールドが22および26の値をもつとき 、バスB Busに供給される値の2個のLSB位置は各入力FIFO232お よび234内に記憶される。これらの2個のビットによって表わされる値は、バ スB BUSに供給されるべき第1のバイトとしてVRA M 216によって 与えられる4個のバイト値の特定のバイトをポイントする。
f!sHA図ハ入力FIFO232あルイハ234 (1) イずレカとして使 用するのに適した回路を示すブロック図である。以下ではFIFO232用の回 路について説明する。
入力FIFO234に関する説明をも含ませるために、FIFO232の説明と 異なる部分については、その変更部分を括弧書きした。第11A図に示す回路は 、入力FIFOがランダムモードで動作するようにセットされた正規動作シーケ ンスに関して説明されている。この説明の後にFIFOがシーケンシャルモード で動作するようにセットされたときに動作シーケンスの変更について説明されて いる。
シーケンスの第1のステップで、そのB DSTフィールドにおける21 (F  I FO234に対しては29)の値をもったマイクロコード制御語を使用し てB Busに制御値を供給する。このB DST値に応答して、例えばA L  U 244によつて供給される制御値はレジスタ1112にロードされる。こ の例で使用される制御値は入力FIF023zをそのシーケンシャルモートとは 対照的にそのランダムモードで動作させるようにし、バスB Busに16ビツ ト値ではなく8ビツト値を供給する。
シーケンスの次のステップで、前述のようにVRAM制御ユニット238中てF IFO232内のアドレス値を設定する。FIF0232内のレジスタ1110 は22(2ら)の値をもったマイクロコード制御語のB DSTフィ・−ルドに 応答してバイト位置の値、すなわちバスB BUSを経由して供給される16ビ ツトアドレス値の2個のLSBをロードする。制御回路111BはまたこのB  DSTフィールドの値によって、入力FIFO232を初期状態にリセットし、 VRAM読出し動作を開始させるように設定される。
このリセット動作では、制御回路1116はパルス信号COを発生してフリップ ・フロップ1134をリセットする。
信号Cにの1周期の1/2の期間の後、制御回路1116はパルス信号PCを発 生して、レジスタ111Oからのバイト位置の値をカウンタ1128とフリップ ・フロップ1132にロートする。この動作信号GKの1周期1/2の期間後、 制御回路1116はフリップ・フロップ1133のセット入力端子Sに供給され るパルス信号IRを発生する。フリップ・フロップ1133によって発生された 信号X FORは制御バスR/Sを経てVRAM制御ユニット238に供給され 、該VRAM制御ユニット238をV RA M 216中のアドレスされたメ モリ位置に対する読出し動作を開始させるようにする。信号I FORはまた制 御回路1116に供給されて、読出し動作が進行中であることを指示する。
VRAM制御ユニット238が読出し動作を処理し、またV RA M 216 が要求されたデータをバスD Busに供給すると、VRAM制御ユニット23 8はバスR/Sを経て供給されるパルス状ストローブ信号I FSOを発生し、 バスD BUSからの32ビツト値をロードするようにレジスタ1118を動作 させるようにする。信号I FO3はさらにフリップ・フロップ1133のリセ ット入力端子Rに供給されて、クリップ・フロップ1133の内部状態をリセッ トし、メモリの読出し動作が完了したことを示す信号I FORを論理値Oにリ セットする。
信号I FORが論理0になった後、信号CKの第1の周期の期間中、制御回路 1116はパルス信号LRを発生して、レジスタ1118に保持された32ビツ トの値をレジスタ1120に転送する。レジスタ1120のビットは、それぞれ ビット0〜7.8〜15.16〜23.24〜31を包含する4個の8ビットセ グメントBO1Bl、B2、B3に分割される。8ビツトの値BO1B1、B2 .B3はマルチプレクサ1124の容具なる入力ボートに供給される。マルチプ レクサ1124はカウンタ1128によって、またはマルチプレクサ1130に よって供給される値によって制御されて、その入力に供給される4つの値の1つ を出力レジスタ1114の8個のLSB位置に供給する。
この例では、レジスタ1112中の制御値は、8ビツト値は出力レジスタ111 4によって与えられるものであることを示す、その結果、制御回路1116は信 号MXCとして論理値lをマルチプレクサ1126に供給する。信号MXCのこ の値は、マルチプレクサ1126がカウンタ1128に保持された債をマルチプ レクサ1124の制御入力ボートに供給する。第1のバイト位置の値であるこの 値は、マルチプレクサ1124がアドレスされたバイト出力レジスタ1114の 8個のLSB位置に供給するように動作させる。パルス信号LRの発生後信号C Kの次の連続する周期の間に、制御回路111Bはパルス信号LLをおよびRH を発生し、マルチプレクサ1124によって供給された値をレジスタ1114の 8個のLSB位置にロードし、レジスタ1114の8個のMSB位置をリセット し、クリップ・フロップ1134をセットする。フリップ・フロップ1134は セットされるので、その出力信号ovは、出力レジスタ1114の値が無効であ ることを示す論理1である。
この例に対する動作のシーケンスは、マイクロコートRAMおよびシーケンサ回 路226がB SRCフィールドが12の値(入力FIFO234に対しては1 3の値)をもつマイクロコード制御語を実行するとき完了する。レジスタ111 4に供給されたこの値はレジスタがその記憶された値をバスB Busに供給す るようにする。制御回路1116はまたB SRCフィールドの12(13)の 値に応答してパルス信号COを発生し、またそれによってフリップ・フロップ1 134をリセットして、出力レジスタ1114中の債を無効なものとしてマーク する。
制御レジスタ1112中の値が、16ビツト値がバスBBUSに供給されるべき であることを指示すると、制御回路1116は論理0の値を信号MXCとしてマ ルチプレクサ1126の制御入力端子に供給する。この制御値は、マルチプレク サ1126がマルチプレクサ1130によって供給される値をマルチプレクサ1 124の制御入力ボートに供給するように条件付ける。
マルチプレクサ1130はクリップ・フロップ1132の出力端子に結合されて いる。上述のように、フリップ・フロップ1132はレジスタ111Oに記憶さ れたバイト位置の位のMSBにプリセットされる。この1ビツトの値はマルチプ ライヤ1130によって上位桁に向けて1ビツト位置シフトされる(つまり2倍 にされる)、従りて、マルチプレクサ1124によって与えられる債は2か0の いずれかである。かくして、マルチプレクサはバイトBOあるいはB2のいずれ かを出力レジスタ1114の8個のLSB位置に供給する。
フリップ・フロップ1132の出力端子はさらにマルチプレクサ1122の制御 入力端子に結合されている。マルチプレクサ1122はレジスタ1120のB3 およびBlセクションに結合されている。フリップ・フロップ1132によって 与えられる値が論理Oあるいは論理lであると、マルチプレクサ1122はレジ スタ1120の各BlまたはB3セクションに保持された値はレジスタ1114 の8個のMSB位置に供給する。16ビツトモードでは、制御回路1116は同 時にパルス信号LLおよびLMを発生して5選択された8個のMSBおよび8個 のLSBの双方を1/ジスタ1114にロートする。この値がB SRCフィー ルド中の12(13)の値をもったマイクロコード制御語によってアクセスされ ると、VRAM216によって与えられる32ピツ、トの値の16個のMSBあ るいは16個のLSBが読出されるようになる。レジスタ1110中に保持され たバイト位置の値が1または3であると、それはそれぞれ0あるいは2と解釈さ れ、バイトB1またはB2を含む16ビツトの値はこの発明の実施例で使用され る入力FIFO232および234によって供給されない。
上述の例では、入力FIFOに供給される制御値は。
該入力FIFOをランダムモードで動作させるように設定する。このモードでは 、FIFOはアドレスされた値のみをバスB Busに供給する。そのシーケン シャルモートでは5人力FIFO232および234は、VRAM216中の特 定されたアドレスを有する値から開始し、順次に連続してより大きな値に向って 変化する連続する値を供給する。シーケンシャルモードにおけるPIFO232 および234の動作については、そのランダムモートにおける動作との違いにつ いて説明する。
ランダムモートとシーケンシャルモートの第1の相違点は、シーケンシャルモー 1(では、制御回路1115がパルス信号LRを発生して新しい32ピッ1−の 値をレジスタ1120にロートすると、該制御11111[iはVRAM216 から次の新しい32ビツトの値を要求するためにパルス信号IRを発生する。
ランダムモートでは、カウンタ1128とフリップ・フロップ1132は、レジ スタ1110に記憶されたバイト位置の値を保持するためのI/ジスタとしての み使用され葛、シーケンシャルモードでは、カウンタ1128およびフリップ・ フロップ1132は、レジスタ1120からの連続する8ビツトあるいは16ビ ツトの値をそれぞれ出力レジスタ1114に順次供給するために使用される。カ ウンタ1128はプリセット値入力ポートおよびプリセット入力端子をもった通 常の2ビツト2進カウンタである。プリセット入力端子に供給されるパルス信号 が発生すると、カウンタ1128は、そのプリセット値入力端子に供給される値 をその内部値としてロードするように設定される。フリップ・フロップ1132 は通常の1−リガ形式あるいはTフリップ・フロップである。このクリップ・フ ロップはプリセット値を有し、入力端子に供給される信号によって上述のように 動作するように設定されるプリセット入力端子をもっている。制御回路1116 によって発生されるクロック信号CCKはカウンタ1128およびフリップ・フ ロップ1132の双方のクロック信号入力端子に供給される。クロック信号CC Kの連続するパルスに応答して、カウンタ1128はその値CVを偵0、l、2 .3を経て循環させる。クリップ・フロップ1132は信号CCKの連続するパ ルスに応答して、その内部の状態なOと1との間で変化させる。この発明の実施 例では、入力FIFOがそのシーケンシャルモードにあるとき、信号CCKは信 号LLと同じであり、FIFOがそのランダムモードにあるときは、信号CCK は一定の論理0値を持つ。その結果、値が出力レジスタ1114にロードされる や否や、カウンタ1128あるいはフリップ・フロップ1132は、マルチプレ クサ1122および1124を1次のシーケンシャル値を17ジスタ1114の 入力ポートに供給するように設定する。新しい値が出力1/ジスタ1114にロ ードされる毎に該レジスタ1114の入力ポートに供給される値は変化するので 、レジスタ1114中の値がバスB Busに供給されるや否や上記の供給され た値は出力レジスタにロードされる。
カウンタ1128の出力値Cvは制御回路1116に供給される。この制御回路 1116はこの信号をモニターして、レジスタ11.18からの32ビツト値を 何時レジスタ1120に転送すべきかを決定する。レジスタ111中に保持され た制御値が、入力FIFO232がその8ピッ1−モードで動作していることを 指示すると、制御回路1116はパルス信号LRを発生して、信号Cvの値が3 から0に変化すること(すなわち信号CvのMSBが1から0に変化するとき) と一致1ノて1/ジスタ1118からの32ビツト値をレジスタ1120に転送 する。入力FIFOが16ビツトゆモートで動作しているとき、信号CVの値が 1から2、あるいは3から0に変化すると(すなわち信号CにのLSBが1から 0に変化すると)、制御回路1116はパルス信号LRを発生する。
上述の例では、VRAM制御ユニット238およびVRAM216は定常ストリ ーム中で入力FIFO232および234に32ビツトデータ値を供給するもの と仮定している。信号CVの値が3からOに変わるとき、このストリームが遮断 されるべきであり、また1例えば信号IFORが読出し動作が進行中であること を示す論理値1の値をもっていると仮定すると、制御回路1116はパルス信号 LRを発生しない、この例では、@号I FORが、要求されたVRAMの読出 し動作が行なわれ、従つてレジスタ1118が有効なデータを含んでいることを 示す論理0の値に変化するまで回路1116はその初期状態を凍結する。
信号I FORが0になると、制御回路1116はその動作を再開する。
制御回路1116の内部状態が凍結されている間、レジスタ1114の内容をバ スB Busに読出す要求を受信すると(すなわち、B 5RC=12)、制御 回路1116はフリップ・フロップ1135のセット入力端子Sに供給されるパ ルス信号IPを発生する。この動作によりフリップ・フロップ1135によつて 供給される信号I FOPAの状態を論理1に変化させる。信号I FOPAは 休止論理回路240に供給され、該休止論理回路240はマイクロコードRAM およびシーケンサ回路210を休止状態にするように設定する。第3A図を参照 して前に説明したように。
クロック信号CKAおよびCに8は休止状態で無効状態にされて、データバス回 路242 、 A L 0244 、データRA M 228およびピクセル補 間器246の内部状態を有効に凍結する。信号I FOPAおよび信号I FO RはANDゲー) 1136の入力端子に供給される。これらの信号の両方が、 読出し動作が要求され、プロセッサ210が入力FIFO232からの値を持つ 休止状態にあることを示す論理1の値をもっていると、ANDゲート1136の 出力信号I FOPは論理lに変化する。信号I FOPは休止論理240を経 てVRAM制御ユニット238に供給されるゆ信号I FOPに対する論理lの 値は、緊急要求すなわち優先度が高くなったものとしてFIFO232に対する 読出し要求動作を処理するようにVRAM制御ユニット238を設定する。読出 し動作が完了すると、信号I FO3はフッリブフロップ1133をリセリトン 、信号I FORおよびI FOPを論理Oの値に変化させる。レジスタ111 8からの要求値が出力レジスタ1114に伝播されると、制御回路1116はフ リップ・ソロツブ1134をセットし、その出力0■はフリップ・フロップ11 35をリセットしてプロセッサ回路210をその休止状態から解放する。
MIIB図は入力F I FO232ノ2fflノ連続する8ビツトデータ要求 に対して制御回路1116によって発生された信号の相対的タイミングを示すタ イミング図である。
出力FIFO236は入力FIFO232および234によって実行された機能 と木質的に反対の機能を実行し、該出力PIF0236は、ビデオ信号プロセッ サ210のビクセル処理素子から一度に1バイトあるいは2バイトのデータを受 入れ、このデータを32ビツトのブロックに形成して、このブロックをV RA  M 216に転送する。出力FIF0236は、1個の8ピツl〜または16 ビツトのデータの値が与えられたアドレス値を使用してVRAM216に書込ま れるランダムモードと、一連の8ビツトまたは16ビツトのデータの値が連続的 に増加するアドレス値を使用して書込まれるシーケンシャルモードの2つの動作 モードもっている。
ランダム転送のために使用されるアドレス値あるいはシーケンシャル転送のため に使用される開始アドレス値は、統計的デコーダ230と入力FIFO232お よび234とについて前に説明した態様と同じ態様でVRAM制御ユニット23 8中で設定される。、8個のMSB用に使用されるB DSTフィールドの値、  22ビツト・アドレス値の14個のLSBはそれぞれ15.14である。BD STが14のとき、バスB BUSに供給される16ビツトの値の2個のLSB の位置の値は出力PIFO236内部のレジスタに記憶される。この値は、VR AM216に供給された32ビツト(4バイト)の最下位バイト、あるいは書込 まれるべき唯一のバイトとなる特定のバイト位置をポイントする。出力FIFO 236およびVRAM制御ユニット238は、VRAM216に書込まれない3 2ビツト値中の他のバイト位置に対応するVRAM216中のデータの劣化を防 止する回路を含んでいる。
第12A図は出力PIFO236として使用するのに適した回路を示すブロック 図である。この回路は、予め定められたアドレス値を使用してl債の8ビツト値 がVRAM216書込まれるべきランダムモードにおける正規の動作シーケンス について示されている。この説明の後に。
FIFOがランダムモードの代りにシーケンシャルモードで動作し、8ビツト値 の代りに16ビツトのデータ値が使用されるときの出力FIFOの動作の相違点 について説明されている。
V RA M 211iのランダム位置に1バイトのデータを書込む動作シーケ ンスの第1ステツプは、出力FIFOをランダムモードで動作させ、8ピッ1− の入力値を持つように設定する出力FIFO236に制御値を供給することであ る。この発明の実施例ではB DSTフィールドの13の値をもワたマイクロコ ート制御語に応答して、例えばA L U 244によって2ビツト制御語がバ スB Busに供給される。マイクロコード制御語B DSTフィーる。レジス タ1212は13の値をもったマイクロコート制御語のB DSTフィールドに 応答して、出力FIFO236用の値としてバスB Busの2個のLSB位置 によって伝達される値をロードする。
出力FIFO236の内部の制御回路1216はまたBDSTフィールド中の1 3の値に応答して、レジスタ1220中に保持されたデータをVRAM215に 転送する書込み動作を開始させる。このデータは先のデータ出力動作からのデー タの最後の部分的ブロックである。
フリップ・フロップ1232によって与えられる信号OFRが、FIFO236 用のメモリ書込み動作が進行していないことを示す論理0の値をもっていると、 制御回路1216はパルス信号LORを発生1ノ、レジスタ1220中の値を出 力レジスタ1218に転送し、またラッチ1228に保持された4ビツトバイト マスクを4ビツトレジスタ1230に転送する。制御回路がパルス信号LORを 発生して信号CKの1周期の1/2の期間の後、制御回路1216はフリップ・ フロップ1232の入力端子Sをセットするために供給されるパルス信号WRを 発生する。この動作は、フリップ・フロップ!232によって与えられた信号O FRの状態を論理lの値に変化させる。
信号OFRはバスR/Sを経てVRAM制御ユニット238に供給される。信号 OFRからの論理1の偵は、FIFO236に対するVRAM制御ユニットに保 持されたアト1/ス値を使用して、またレジスタ1218中に保持された32ビ ツトのデータ値を使用して、VRAM書込み動作用の要求としてVRAM制御ユ ニット238によって解釈される。レジスタ1230中のバイトマスクはバスC ASMを経てVRAM制御ユニット2コ8に供給される。このマスクVRAM制 御ユニット238中で使用されて、VRAM218を、バイトマスク信号CAS Mに応答するバイト位置をもったレジスタ1218中のこれらのバイトのみ、す なわちレジスタ1220にロートされたとき制御回路1216によって有効であ るとしてマークされたこれらのバイトのみを記憶するように動作させる。バイト が有効であるとマークされる方法、VRAM制御ユニッ1〜238における信号 CASMの使用態様については以下に説明する。
制御回路1216がパルス信号WRを発生すると同時に、ラッチ1228中の4 個のフリップ・フロップの各々のりセラ1〜入力端子Rに供給されるパルス信号 RMを発生する。この信号はラッチ1228中のフリップ・フロップFFO乃至 FF3をリセットし、各バイト位1iBOないしB3の値を無効としてマークす る。
上述のように、制御ユニット1216は、もし信号OFRが0であるならば書込 み動作を開始させる。制御レジスタ1212中の値が変化するとき信号OFRが 論理Oであると、VRAM制御ユニット238によって与えられる信号OFSが 要求されたメモリ書込み動作が行なわれたことを示すまで制御回路1216はそ の初期動作を凍結する。信号OFSはレジスタ1218の出力可動化端子OEに 供給され、このレジスタ1218をその記憶された値をバスDBUSに供給する ように動作させる。信号OFSが論理lをもっている間、レジスタ1218のデ ータ中のデータはVRA M 216に転送される。信号OFSはまたフリップ ・フロップ1232をリセットし、信号OFRの値を論理0に変化させる。制御 回路1216は論理0の値をもった信号OFRに応答してその正規の動作を再開 させる。
電源がビデオ信号プロセッサ210に供給された後、誤ったデータが第1の出力 FIFOの要求によってVRAM216に書込まれるのを防止するために、フリ ップ・フロップ1228は例えば通常の電源オンリセット回路によって論理0の 初期値をもつように設定される。後述のように、これらのフリップ・フロップ中 の論理0の値は、レジスタ1220からのデータがV RA M 216に書込 まれるのを防止する。
先の読出し動作からのデータはレジスタ1220からレジスタ1218に転送さ れ、メモリ読出し動作が行なわれると、ここに述べた代表的なランダム出力動作 用のアドレス値が特定される。この動作は上述されている。バイト位置レジスタ 1210はB DSTフィールド中の14の値に応答して、バスB BUSの2 個のLSBによって伝送された値をロードする。上述のように、この値はレジス タ1220のどのバイト位置BO1B1.B2あるいはB3が供給されたデータ 値を保持するかを指示する。
制御回路106はB DSTフィールド中の14の値に応答してパルス信号OP Cを発生し、バイト位置レジスタかロートされて信号CKの1周期の1/2の期 間の後。
2ビツトカウンタ1226の初期値としてバイト位置の値を設定する。この値は 信号oCvとして制御回路1216に供給される。パルス信号OPCの発生と同 時に制御回路1216はパルス信号LRを発生して、フリップ・フロップ123 4をセットし、入力レジスタ1214中のデータを無効としてマークする。フリ ップ・フロップ1234の出力信号INVは制御回路1211iに供給されて、 バスB Busからのデータがレジスタ1214にロート可能であることを指示 する。
代表的動作シーケンスの次のステップは8ビツトデータ値を出力PIF0236 に供給することである。このステップは、マイクロコード制御語がB DSTフ ィールド中の20の値をもっときに生ずる。BDSTフィールド中のこの値は、 例えばA L U 244によって供給され、バスB Busによって伝送され た16ビツトの値をロードするようにレジスタ1214を設定する。制御レジス タ1212中の値は、8ビツトの値がプロセッサされるべきことを指示するので 、レジスタ12工4中の値の8個のLSB位置の値のみが関連する。ある値がレ ジスタ1214にロードされると、制御回路1216はフリップ・フロップ12 34のリセット入力端子に供給されるパルス信号CGを発生する。この動作によ って信号INVの状態を論理0に変化させ、入力レジスタ1214中に保持され た値を有効なものとしてマークする。
入力レジスタ1214の8個のLSB位置は、レジスタ1220のビット位置0 −7(バイト位置BO)および16−23(バイト位置B2)に直接結合され、 また3状態ゲー) 1224を経て1/ジスタ1220のビット位置8−15( バイト位置Bl)および24−31 (バイト位置B3)に結合される。入力レ ジスタ1214の8個のMSB位置は3状態ゲート1222を通ってレジスタ1 220のバイト位置BlおよびB3に結合される。3状態ゲート1222および 1224は制御回路1216によって発生される各信号UBEおよびLBEによ って制御される。この発明の例においては、レジスタ1212中の制御値が出力 PIF0236が8ビツトの値を処理する状態にあることを指示すると、制御信 号UBEは、3状態ゲート1222の出力ボートのインピーダンスが高インピー ダンスを呈するように該3状態ゲート1222の動作を設定し、また、制御信号 LBHは、3状態ゲート1224がそのデータ入力をその出力ボートに、従って レジスタ1220のバイト位置B、およびB、に供給するように上記3状態ゲー ト1224の動作を制御する。従って、この例では、レジスタ1214の8個の LSB位置はレジスタ1220のバイト位置BO乃至B3の各々に結合される。
制御回路1216はまたB DSTフィールド中の20の値に応答する。この値 が検出されて信号CKの1周期のl/2の期間の後、制御回路1216は信号L RO,LRI。
LR2またはLR3のうちの1個のパルス信号を発生し、レジスタ1214から の8ビツト値をレジスタ1220のバイト位置の1つにロートし、ラッチ122 8中の各フリップ・フロップFFO,FFI、FF2あるいはFF3をセットす ることによって有効データを含むものとして選択されたバイト位置をマークする 。同時に、制御回路1216はパルス信号LRを発生して、入力レジスタ121 4に保持されたデータを無効であるとマークする0選択されたレジスタ1220 中のバイト位置は、カウンタ1226によって発生された信号OCVによって決 定される。この例では、この信号すなわちカウンタ1226の出力信号はレジス タ121Oに保持されたバイト位置の値と同じである。
出力PIFO236に供給された1バイト・データ値がレジスタ1220中のバ イト位置の1つを占める。この値は、新しい制御値が前述のようにレジスタ12 12に供給されるとV RA M 216に書込まれる。
上述の例では、出力PIFO236に供給された初期制御値は、該FIFO23 fiをそのランダムモードで動作するように設定する。上記の動作状態とは違っ て、シーケンシャルモートが使用されることを制御値が特定するならば、上述の 例はバイト転送動作のシーケンスの最初のもののみについて説明することになる 。シーケンシャルモートでは、カウンタ1226によって保持された債は信号C CKのパルスによつて増加される。この発明の実施例では、出力PIF0236 がそのシーケンシャルモード動作するようにセットされると、制御回路1216 は、パルス信号LRO乃至LR3の1つを発生すると、信号CCKを発生する。
シーケンスの第2のバイトがレジスタB14に供給されると、増加した計数値を もった信号OCvは制御回路1216が信号LRO1LR1,LR2またはLR 3の次のものを発生し、従って、入力バイトをレジスタ1220の次のバイト位 置BO1B1.B2またはB3の各々にロートする。カウンタ1226は2ビツ トカウンタであるので、該カウンタ1226はモジュロ4出力値、すなわち値0 、l、2.3、o、i・・・・等を発生する。
カウンタ値OCVが3からOに増加すると、レジスタ1220の最後のバイト位 置B3が充満される。制御回路1216はパルス信号LORを発生し、レジスタ 1220中のデータを17ジスタ1218に転送し、またパルス信号WRを発生 し、VRAM制御ユニット238によってレジスタ1218中に保持されたデー タ用のVRAM書込み動作のスケジュールを作る。信号oCVが3から0に変化 したとき、信号OFRが、書込み動作が進行中であることを示す論理lの値をも つと、制御回路1216は信号LORを発生しない、しかし、VRAM制御ユニ ット238によって供給された信号OFSがフリップ・フロップ1232をリセ ットし、信号OFRの状態を論理0に変化させるまで、その内部状態を凍結する 。
クリップ・フロップ1234によって供給される信号INVがレジスタ1214 中のデータは有効であること(すなわち、未だレジスタ1220へ転送されてい ない)を示している時に、バスB Busからレジスタ1214にデータを転送 しようとすると、制御回路1216はパルス信号OPを送ってフリップ・フロッ プ1233をセットし、このフリップ・フロップ1233が生成する信号0FP Aを休止論理240に送ることによって1回路210を休止状態にする。信号0 FPAは、ANDゲート1236によって信号OFRと論理的にAND処理され て信号OFPを生成する。この信号OFFは休止論理240を介してVRAM制 御ユニット238に印加される。この信号はそのとき進行中のVRAM書込み動 作の優先順位を上げる。この書込み動作が完了すると、VRAMI御ユニット2 38は、パルス信号OFSを発してフリップ・フロップ1232をリセッ1−シ 、信号OFRとOFFの値を論理0に変える。
信号OFRの値の論理1から論理Oへの転換に応じて1回路1216はパルス信 号LORを発して、レジスタ1220中の値をレジスタ1218中にロードし、 またラッチ1228の値をレジスタ1230中にロードする。次に制御回路12 16はパルス信号WRを発してVRAM書込み動作を要求する。信号CKの2分 の1周期後、制御回路12 ]、 liはパルス信号LORを発し、これがパル ス信号RMを発してラッチ1228のフリップ・フロップFF02FF1.FF 2およびFF3をリセットする。動作シーケンス中のこの時点で、出力PIF0 236は次の入力データ・パイ1−を受取りそれをレジスタ1220のバイト位 置BOに記憶するように調整される。従って、制御回路1216はパルス信号L RO中の1つのパルス信号を発生し、LR3を介して、レジスタ1214中に保 持されていた値をレジスタ1220の対応するバイト位置BO乃至B3中にロー ドする。これと同時に、制御回路1216はパルス信号LRを発してフリップ・ フロップ1234をセットして入力レジスタ1214中の値を無効とマークし、 信号INVを通してフリップ・フロップ1233をリセットし処理41210を その休止状態から解放する。
出力PIF023Bの動作のこの最後の変形は16−ビットのデータ転送である 。このモードで、この出力FIFOは、バスB BUSから16−ビット値を受 取り、それをV RA M 216中にランダムにまたは順次的に書込む。
この出力FIFO236は制御レジスタ1212中ヘロードされている制御値に によって16−ビットのデータ転送モードにされる。出力FIFOがこのモード のときは、制御回路1216によって供給される信号UBEは3状態ゲート12 22を調整して、レジスタ1214の8個のMSB(ellにある値をレジスタ 1220のビット位置B1とB3に印加する。信号LBEは、このモードで、3 状態ゲート1224がその出力ボートを高インピーダンスとするようにする。
この16−ビット転送モードでは、レジスタ1210中のバイト位置値のMSB はカウンタ1226のLSBにロードされ、制御回路1216は信号OCvのL SBのみに応動する。このビットが0でデータ値がレジスタ1214中にロード されると、制御回路はパルス信号LRO,LRIおよびLRを発して16−ビッ ト値をレジスタ1214から1220のバイト位置BOとB1に転送してラッチ 1228中のフリップ・フロップFFOとFFIをセラ1−シ、レジスタ121 4は無効データを持りているものとしてマークする。また、信号OCVのLSB が1のときは、制御回路1216はパルス信号LR2,LR3、およびLRを発 して16−ビット値をレジスタ1220のビット位置B2と83に転送して、ラ ッチ1228中のフリップ・フロップFF2とFF3をセットし、レジスタ12 14は無効データを持っているものとしてマークする。制御回路1216は信号 OCvのLSBの値の1からOへの転換に応じて、レジスタ1220中に保持さ れているデータをレジスタ1218へ転送1)かつVRAM書込み動作をスケジ ュールする。
第12B図は、出力FIFO231iを介して行なわれる5つの順次単一バイト ・データ転送の相対的タイミングを示すタイミング図である。
この発明のこの実施例で使用している休止論理240は2個のORゲート(図示 せず)を持っている。入力信号SDP、IFOP、IFIPおよびOFPがソノ 第1ゲートに印加され、同ゲートは出力信号UREQを発生する。信号UREQ は、次に説明するようにVRAM制御ユニット238に印加されて、統計的デコ ーダ230.入力FIFO232と234または出力FIFO230のうちの1 つが急いでメモリ動作することを要求している旨を示す。信号SDP、IFOP 、IFIPおよびOFPもバスURを介してVRAM制御ユニット238に供給 される。
第2のORゲートに対する入力信号は、語信号5DPA、IFOPA、IFIP Aおよび0FPAとVRAM制御ユニット238から供給される信号VCUPA である。第2ORゲートの出力信号は信号PAUSEで、前述したようにマイク ロコートRAMとシーケンサ回路226に印加される。
第13A図と第13B図とはVRAM制御回路238として使用するに適した回 路を示すブロック図を構成している。上述したように、VRAM制御ユニット2 38は、マイクロコード制御語のB DSTフィールドに応答する回路を有し、 これは統計的デコーダ230.入力FIFO232と234および出力PIF0 23Bに対するVRAM7トレス値を記憶する。更に、VRAM制御ユニット2 38は、表示器用プロセッサ218にピクセル値を生成するのに使われるビット ・マツプ・アドレスと、V RA M 216が使用するダイナミック・ランダ ムアクセス・メモリ回路の内容を周期的に復元(リフレッシュ)するのに使用さ れるリフレッシュ・アドレスを記憶するための回路を持っている。VRAM制御 ユニット238は、また、統計的デコーダ230、入力FIFO232と234 および出力FIF0236が発生したメモリ読出し信号とメモリ書込み信号に応 答して表示器用プロセッサ218に対する要求信号を読出し、圧縮されたビデオ 信号212の源に対する要求信号を書込み、また内部て発生したリフレッシュ要 求信号に応じて種々の要求されたメモリ動作を開始してそれらが適切に完了した ことを表示するように働く回路を持っている。
種々のアドレス値を記憶する回路は制御回路1310によって制御される。この 回路1310は、クロック信号CK’、バスMCWによって供給されるマイクロ コード制御語のB DSTフィールド、および下記するようにマルチプレクサ1 378によって供給される装置選択値、信号5222によって供給される垂直フ ィールド同期信号vSに応動する。制御回路1310は、主として1種々の装置 に対するアドレス値のローディングの制御を行なう。
統計的デコーダ230用のアドレス値、たとえばBDSTフィールドにおいて値 31を有するマイクロコード制御語をロートするには、ビデオ信号処理器210 中の他の回路たとえばA L U 244をB SRCフィールド中のある一つ の値を介して制御しくコンディション)て、それがそのアドレス値の8個のMS BをバスB Busに印加されるある値の8個のLSBとして供給するようにす る。BDSTフィールドの値31に応じてこの制御回路1310は、信号CK’ の1周期に亙り1対のマルチプレクサ1312と1316に信号STMとして論 理lの値を印加する。この信号によって、マルチプレクサ1312は、バスB  Busから送られた8ビツト値をレジスタ1314の入力ボートに供給するよう にされる。信号STMが論理lの値を持っている間、制御回路1310はパルス 信号5THLを発生し、レジスタ1314が自己の入力ボートに印加されたその 値をロードするようにする。
次の命令サイクルでは、そのB DSTに値30を有するマイクロコード制御語 によって、制御ユニット1310は、信号CK’の1周期間にわたり論理lの値 をもった信号STMを保持しパルス信号5TLLを発生するようにされる。これ らの信号の組合せによって、マルチプレクサ1316はバスB Busの14M  S B位置によって伝えられた値を14ビツト・レジスタ1318の入力ボー トに供給するように制御され、またレジスタ1318はその入力ボートに印加さ れた値を記憶するように制御される。このレジスタ1314と1318に保持さ れた値は、マルチプレクサ1356の入力ボートOに印加される22ビツトのア ドレス値を形成するように連結される。
入力FIFO232と234および出力PIFO236に対するアドレス値の記 憶動作のシケーンスのタイミングは統計的デコーダ230に対するアドレス値の 記憶動作のシーケンス・タイミングと同じである。入力FIFO232に対する アドレス値の記憶には、制御回路1310により供給される信号IFOMによっ て、マルチプレクサ1320と1324を制御して、アドレス値の8個のMSB と14個のしSBを、それぞれレジスタ1322と1326に印加させるように する。レジスタ1322と1326は、各々その入力ボートに印加された値を、 制御回路1310によって供給される信号I FOHLおよびI FOLLに応 じてロードする。マルチプレクサ1320と1324、およびレジスタ1322 と1326は。
マルチプレクサ1312と1316およびレジスタ1314と1318にそれぞ れ対応している。信号IFOM、IFOHLおよびI FOLLは信号STM、 5THLおよび5TLLにそれぞれ対応する。IFOLLとI FOHLは22 と23というB DST値によってそれぞれ付活される。この両値は信号IFO Mを付活する。
マルチプレクサ1328と1332およびレジスタ1330と1334は、それ ぞれマルチプレクサ1312と1311iEよびレジスタ1314と1318と 同一構成を持っている。これらのマルチプレクサおよびレジスタは、制御回路1 31Oによって供給される信号IFIM、IFIHLおよびIHILLに応動し て22−ビットのアドレス値を入力FIFO234にロードする。この値の8個 のMSBは、BDSTフィールドの値が27であればレジスタ1330にロート され、BDSTフィールドの値が26であればレジスタ1334にロードされる 。
出力PIFD236のアドレス値は、制御回路1310により発生した信号OF M、0PHLおよび0PLLに応じて、各マルチプレクサ1336と1340を 介してレジスタ1338と1342にロートされる。上記の信号は前記の各信号 STM、5THLおよび5TLLに対応している。制御回路1310は、B D STフィールドが値14を有するときはパルス信号OFMとOP T、、、 L を発生してこのアドレス値の14817)LSBTtレジスタ1342ニo−ト シ、B DSTフィールドの値が15のときは、パルス信号OFMと0PHLを 発生してこのアドレス値の8@のMSBをレジスタ1338中にロードする。各 レジスタ対1322と1326、!33Gと1334、および1338と134 2中に保持されている値を連続することによって形成された22−ビットのアド レス値はマルチプレクサ1356の各入力ボートl、2,3に印加される。
統計的デコーダ230に対するアドレス値をバスする各マルチプレクサ1312 と1316の第2人力ボートは、入力FI F 0232 ト234および出力 PIFO236に対すルアトレス値をバスする対応マルチプレクサ対の第2人力 ボートと同様に、加算器1392の出力ボートに結合される。下記するように、 この加算器1392は増加(インフレメンチット)アドレス値を供給する。
この増加したアドレス値は、統計的デコーダ23o、入力FIFO232と23 4および出力FIFO236に対すると同じ様に使用される0次に、統計的デコ ーダ230での使用についてだけ説明する。増加したアドレス値の8個のMSB はマルチプレクサ1312の第2人力ボートに印加され214個のLSBはマル チプレクサ1316の第2人力ボートに印加される。信号STMが論理0の値を 持っているときは、マルチプレクサ1312と1316は、これらの値をアンζ レス・レジスタ1314と1318の入力ボートにそれぞれバスするように制御 される。統計的デコーダ230のメモリ読出し動作が進行している間、制御回路 1310はパルス信号5THLと5TLLを発生してこの増加したアドレス値を レジスタ1314と1318にロードする。もし、統計的デコーダ230か順次 モードで動作するようにセットされているか、デコーダ230がそのランダム・ モードで動作するようにセットされているときもし第2の32ビツト値をV R A M 216が要求すれば、この増加したアドレス値は統計的デコーダ230 の次のメモリ読出し動作を行なうために使用される。
加算器1392の出力ボートは更に22−ビット・レジスタ1346の入力ボー トに結合されていて、このレジスタはVRA M 216のメモリ・リフレッシ ュ動作を行なうために使用されるアドレス値を保持する。レジスタ1346の出 力ボートはマルチプレクサ1356の入力ボート5に結合されている。リフレッ シュ・アドレス・レジスタ134Gから供給される値はあるサイクルて変化し、 4ミリ秒ごとにVRA M 216中の各行(ロウ)をアドレスする。この発引 のこの実施例では、このリフレッシュ動作はVRAM制御ユニット238の内部 にある下記の回路によって制御される。
この実施例で使用されるVRAMf!jHlユニット238に保持されているこ の最後のアト1/ス値はビット・マツプ・アドレスである。このアドレス値は、 たとえばBDST値がそれぞれ19と18である2つの別々のマイクロコード制 御語に応じて各パルス制御信号B M HLとBMLLを発生することによって 、レジスタ1348と1350中に書込まれる。この1/ジスタ1348と13 50中に書込まれたアドレス値は、圧縮されたビデオ信号212の信号源により 生210により発生されたルミナンス信号ビット・マツプの開始アドレスである 0表示器用プロセッサ218のデータのアクセスに使用されるこのビット・マツ プ・アドレス値はレジスタ1354中に保持される。1/ジスタ1348中の8 −ビット値とレジスタ1350中の14−ビット値とを連結して得られた22− ビット・アドレスは、信号源222から供給される垂直フィールド同期信号vS のパルスに応じてレジスタ1354中にロートされる。正規動作モードでは、ビ デオ信号処理器210は、信号vSの2パルスごとに1回ずつレジスタ1348 と1350中に新しいビット・マツプ・アドレス値をロードする。従って各ビッ ト・マツプは動きのあるビデオ情景を再生するために2回表示される。
レジスタ1348と1350の内容は次のようにしてレジスタ1354に転送さ れる。信号vSのパルスと同時に、制御回路13ioは信号BMMの状態を信号 CKの一周期中論理lに変更する。これによってマルチプレクサ1352は、レ ジスタ1348と1350中に保持されているアドレス値をレジスタ1354の 入力ボートに印加する。信号BMMが論理1状態にある間に制御回路1310は パルス信号BMLを発してレジスタ1354がその入力ボートに供給される値を ロートするようにする。レジスタ1354に保持されたこの値はマルチプレクサ 1356の入力ポートロに印加される。
信号BMMか論理0状態にあるときは、マルチプレクサ1352は加算器139 2から供給されたz2−ビットの増加されたア1くレス値をレジスタ1354の 入力ボートに供給するようにされる0表示器用プロセッサ218のメモリ読出1 ノ動作中、制御回路131Oはパルス信号BMLを発し、またこの信号BMMを 論理0状態に保持して、増加されたビット・マツプ・アドレス値をレジスタ13 54にロー1<シて2表示器用プロセッサ218の次の読出し動作の用意をする 。
その時のアドレス値が増加されつつある間に、統計的デコーダ230、入力FX FO232と234.および出力FIFO236のうちの1つに対する新しいア )くレス値のロードを行なおうとすると、VRAM制御ユニット238中に混乱 (コンフリクション)が生ずる可能性がある。この混乱は、新しいアドレス値が ロードされ1次に加算器1392から供給される増加された以前のアドレス値が その上に書込まれると、発生する。混乱の可能性が検出されると、制御回路13 10は信号VCUPAの状態を論理lに変更し、一方アドレス値は増加されレジ スタ対1314と1318、 1322と1326.1330と1334または 1338と1342のうちの1つに記憶される。この信号は、休止論理240に 印加されてプロセッサ210を増加されたアドレス値が記憶されてしまうまで休 止状態とする。制御回路1310は、この混乱の可能性がある場合、すなわち上 記レジスタ対のlっにデータを記憶させようとする試みが増加されたアドルス値 を記憶させようとする試みと同時に生じたとき、のみプロセッサ210を休止さ せる。
アドレス・ロード動作のタイミング関係を例示するものとして、第13C図は、 統計的デコーダ230に対して最初のアドレス値と増加されたアドレス値がロー ドされるとき制御回路1310によって生成され幾つかの信号のタイミング図を 表わしている。
次に述べるように、各装置230 、232 、234および236は、正規メ モリ要求または緊急メモリ要求を発生することができる。VRAM制御ユニット 238は、一般にラウントロピンと呼ばれる繰返しシーケンスで各装置の正規メ モリ要求信号を処理する。各装置230 、232 。
234および236はすべて実質的に同等の優先度を有するものとして取扱われ る。
装置230 、232 、234および236によフて発生した緊急メモリ要求 動作は第2のスケジューリング機構によりて取扱われる。この第2のスケジュー ラは、また、リフレッシュ動作、圧縮されたビデオ源212からの書込み動作、 およびプロセッサ218のビット・マツプ読出し動作も取扱う、このスケジュー ラは成る固定的な優先度計画に従って動作する。ビット・マツプ読出し動作は最 高の優先度を有し、以下優先度が順番に低下する形で、リフレッシュ動作、圧縮 されたデータ書込み動作、出力FIFO231iに対する緊急メモリ書込み動作 、入力PIFO234と232に対する緊急メモリ読出し動作、および統計的デ コーダ230に対する緊急読出し動作の順に続いている。スケジューリングと上 記の諸動作の開始を制御する回路については次に説明する。
上述のようにメモリ要求信号OFR,IFIR,IFORおよびSDRはバスP /Sを介してVRAM制御ユニット238に印加される。第13A図と第13B 図において、それらの信号はバスR/Sによって伝えられる他の信号から分離さ れてバレルシフタ1360に印加される。バレルシフタ1360では、4−ビッ ト要求信号が循環シフタ1362、マルチプレクサ1364の1入カボートとに 印加される。シフタ1362は、この4−ビット要求信号の3個のMSBを1ビ ツト位置だけ下位に向けてシフトし、かつ4−ビット要求信号のLSBを出力信 号のMSB位置にシフトする。シフタ1362の出力信号はマルチプレクサ13 64の第2の入力ボートに印加される。マルチプレクサ1364によって供給さ れる信号は循環シフタ1366と、マルチプレクサ1368の1入カボートとに 供給される。i!環クシフタ1366、その入力値の2個のLSBと2個のMC Bの位置を入換えて、マルチプレクサ1368の第2人力ボートに印加する出力 値を生成する。マルチプレクサ1364と1368はレジスタ1376から供給 される2−ビット信号のそれぞれ下位ビットと上位ビットとにより制御される。
値0.1.2または3を有するこの信号に応じて、バレルシフタ1360は0. 1.2または3ビツト位置をそれぞれ下位のピット位置へ循環シフトさせる作用 を行なう。
バレルシフタ1360から供給される出力信号は4−ビット優先度デコーダ13 70に印加される。優先度デコーダ1370の出力信号は、その入力ボートに印 加された値の最上位の1の値をもつピッl−のビット位置番号0.1.2または 3である。たとえば、4ビツト入力の値が0101であったとすれば優先度デコ ーダ1370の出力値は2になる。それは1の値を有する最上位ビットがビット 位N2にあるからである。優先度デコーダ1370の出力信号はレジスタ137 2に印加され、このレジスタは制御回路1310から供給される信号CCKに応 じて入力ボートに印加された上記の値をロードする。
レジスタ1372中に保持された値は2−ビット加算器1374の1つの入力ボ ートに供給される。加算器1374の出力ボートは2−ビット・レジスタ137 6の入力ボートに接続されている。レジスタ1376の出力ボートは、バレルシ フタ1360と加算器1374の第2人力ボートとに結合されている。レジスタ 1376と加算器1374とのこの組合せはモジュロ4アキユムレータを構成し ている。どの時点においてもレジスタ1376中に保持されている値は、その時 までにレジスタ1372によって加算器1374に供給された値全部のモジュー ロ4の累算された和である。レジスタ1376中に保持された値はメモリ動作が 行なわれるべき装置の番号である。0は統計的デコーダ230に相当し、1は入 力FIF02:12に、2は入力FIFO2コ4に、そして3は出力PIF02 36に対応している。バレルシフタ1360の動作により、この選ばれた装置に 対するメモリ要求値が優先度デコーダ1370に対する入力値のLSB位置ヘシ フトされ、次のメモリ動作ではこの装置が最低優先度で選ばれるようにする。バ レルシフタ1360、優先度デコーダ1370、レジスタ1372と1376、 および加算器1374を含んでいるこの回路はスケジューラであって、装置23 0 、232.234および236の発生するメモリ要求が確実に実質的に同等 の優先度て処理されるようにする。
レジスタ1376の出力信号はMSB位置に論理0を連続することによって3ビ ツトに引伸ばされている。この3−ビット信号はマルチプレクサ1378の1つ の入力ボートに印加される。マルチプレクサ1378の2番目の入力ボートは、 緊急要求、リフレッシュ要求、圧縮されたデータ書込み要求およびビット・マツ プ読出し要求を取扱うスケジューラの出力信号を受入れるように、結合されてい る。統計的デコーダ230 、 入力FIFO232と234および出力PIF 0236に対する緊急メモリ要求は各信号SDP、IFOP、IFIPおよびO FPによフて伝達される。これらの信号は、優先度デコーダ1380の入力ボー トのビット位置0.l、2および3にそれぞれ印加される。ビット・マツプ読出 し要求信号は信号源220から供給される水平線同期信号HSである。この信号 は優先度デコーダ1380の入力ボートのピット位置6に印加される。リフレッ シュ要求信号はカウンタ1382によって発生される、このカウンタ1382は 普通の7−ピッドラッチング・カウンタである。このカウンタは、信号CKのパ ルスを128個カウントして5その論理lの値をもつ1ビット出力性号RFを、 コノカウンタがリセットされるまでラッチする。この発男の実施例では、信号R Fは優先度デコーダ1380の入力ボートのビット位置5に印加される。カウン タ1382のリセット入力端子VRAM信号発生器1388から供給される信号 RFSに結合されている。この信号はリフレッシュ動作の終りに発生器138B によりパルスとして送り出されてカウンタ1382なリセットする。
圧縮されたデータ読出し要求信号CVRは、前述のように、圧縮されたビデオの 信号源212によってVRAM制御ユニット238に印加される。この信号は優 先度デコーダ1380の入力ボートのビット位置4に結合される。
優先度デコーダ1380の出力ボートはレジスタ1384の入力ボートに結合さ れている。レジスタ1384は制御回路1310から供給される信号CCに′の パルスに応動して、その入力ボートに印加された値をロードするように制御され ている。レジスタ1384の3−ビット出力信号はマルチプレクサ1378の第 2の入力ボートに供給される。
マルチプレクサ1378はORゲート1386によって発生した信号によって制 御される。この信号は、休止論理240により発生した信号UREQ、および信 号H3,CVR,RFの論理的ORである。ORゲート1386の出力信号は、 優先度デコーダ1380への入力信号の1つまたはそれ以上のものか論理lであ るどきのみ、論理lである。
マルチプレクサ1378は、その制御入力信号が論理0のとき、レジスタ137 6から供給された3−ビット値をバスさせその他の場合にはレジスタ1384か ら供給された3−ビット値をバスさせるように、調整されている。マルチプレク サ1378でバスされた値は、?ルチブレクサ1356に印加され6個のアドレ ス値のうちのどれをV RA M 216のアドレス入力ボートとバンク選択論 理に、および加算器1392の第1入力ポートに印加すべきかを1表わす、マル チプレクサ1378から供給される値はROM 1390にも印加され、このR OMは増分値を加算器1392の第2人力ボートに供給する。 ROM1390 は、たとえば、統計的デコーダ230、入力FIFO232または234、或い は出力PIF 0235によりメモリ動作が行なわれるときは増分値1をメモリ 動作がビット・マップ読出1ノ動作であれば増分値64を、メモリ動作がリフレ ッシュ動作であれば増分値256を供給するように、プログラムされている。前 述のように、制御回路1310はマルチプレクサ1378から供給される3−ビ ット値に応動して、適当なレジスタに対するロー1く信号を付活1ノて、増加さ れたアドレス値をメモリ・サイクル中にレジスタ中にロードする。
VRAM信号発生器1388は、マルチプレクサ1378により供給される3− ビット信号に応じて、ランダム読出しまたは書込み動作、直列読出し動作または リフレッシュ動作を行なうようにV RA M 216に対する制御信号な発生 し、またメモリ動作が完了すれば、適切なストローブ信号をパルス状に発生する 。このVRAM信号発生器は出力FIFO236から供給される4−ビット信号 CASMを受取るように結合されている。この信号は2メモリ書込み動作中、列 (コラム)アドレス・ストローブ信号CASO,CASI、CAS2およびCA S3を選択的に非可動化するために使用されるもので、上記列アト1/ス・スト ローブ信号はその1つがV RA M 215内のメモリ集積回路の8列の6対 に印加される。前述のように。
この実施例で使用されているVRAM216は、8列16行のマトリクスの集積 回路として構成されている。各集積回路は4ビツトのデータを受取りまたは供給 する。メモリの8列のすべてから供給される32ビツトを8−ビット値に分割す るために、上記の列は対をなすようにされ、列アドレス・ストローブ信号CAS O,CAS1.CA32およびCAS3のそれぞれ異なる1つが4つの列対のそ れぞれに印加される。参考資料としてここに引用するNECエレクトロニクス社 発行の1985年「メモリ製品データブックJ3−45乃至3−54頁に記載さ れているように、P P 041264集積回路に対するメモリ書込み動作に関 して月アドレス・ストローブが動作状態にされなければ、アドレスされたメモリ セルにデータは書込まれない、従って、もし信号CASMの4ビツトのうちの何 れかが論理Oであれば、@号発生器1388は対応するCAS信号を非可動化し 、バスD Busの対応するバイト位置のデータはV RA M 215中に書 込まれず、アドレスされた32−ビット語中の上記バイト位置に前からあった内 容は損なわれずに残っている。
VRAM信号発生器1388は5行なわれるメモリ動作の形式に対して適した、 列アドレス・ス1−ローブ信号CA丁万、CASI、CAS2およびCAS3と 行アドレス・ストローブ信号RAS、書込み可動化信号W1、出力可動化信号面 、直列制御信号SCおよび直列出力可動化信号SOEと同様に生成する。これら の信号のタイミング図は上掲のメモリ製品データブックの引用部に記載されてい る。
VRAM信号発生器1388は、VRAM216を構成する個々の集積回路を制 御する信号を発生するだけでなく。
統計的デコーダ230、入力F I FO232、234、出力FIFO236 およびリフレッシュ・カウンタ1382に対して要求を受けたメモリ動作は遂行 されたことをそれぞれ知らせるストローブ信号SO3,IFOS、IFXOlO FSおよびRESを供給する。これらの信号はメモリサイクルの終りに発生する 。前述した刊行物「メモリ製品データブック」の引用部に開示されているタイミ ング図および既述の説明から、この分野の技術者はVRAMe号発生器1388 として使用するに適した回路を、容易に設計し製造することが可能であろう。
VRAM信号発生器は、更に、マルチプレクサ1378から供給される信号の値 4に応じてその制御出力端子に高インピーダンスを与える。この高インピーダン ス状態によって合成ビデオ信号源212は、VRAM21Bのメモリ書込み動作 を制御することができる。この発明のこの実施例では、マルチブレク、す137 8から供給される4の値は、マルチプレクサ1356に結合されたデコーダ13 55によってデコートされる。デコーダ1355に供給された4の値はこのデコ ーダを制御して論理lの値をマルチプレクサ1376の入力端子ENに印加させ るようにする。この信号によって、マルチプレクサ1356はV RA M 2 11iのアドレス入力ボートに高インピーダンスを与えるようにされる。この高 インピーダンスにより圧縮されたビデオ信号源212は可動化されて、VRAM 216のアドレス入力ボートを1メモリサイクルの量制御する。
各VRAMメモリサイクルは信号CK’の4周期の間にわたっている。制御回路 131Oは、この信号CK’を使つて信号CCK’を発生する。この信号CCK ’ 、VRAMメモリサイクルより信号CK’の1周期の2分の1だけ進んでい る。信号CCKの前縁から信号CK’の1周期後、すなわちVRAMメモリサイ クルの開始点で、スケジューリング回路はスケジュールされているメモリ動作の 中から成るメモリ動作を選択しており、かつどの動作が選択されているかを示す 値がマルチプレクサ1378の出力ボートから取出せる。
この選択された値は、マルチプレクサ1356を制御して選ばれたレジスタ中の アドレスまたは高インピーダンスをV RA M 216のアドレス入力端子と バンク選択論理に印加させ、またVRAM信号発生器1388を制御して、もし 水平線同期信号HS、カウンタ1382、出力FIFO232によって或いは統 計的デコーダ230、入力FIFO232または入力FIFO234のうちの1 つによって選択されたメモリ要求が発生すると、直列読出し動作リフレッシュ動 作、ランダム書込み動作またはランダム読出し動作をそれぞれ行なうための信号 を発生させる。メモリサイクルの終りよりも信号CK’の1周期分前に、VRA M信号発生器1388は適当なパルス信号RES、OFS、SDS、IFO3ま たはIFISを送り出して、要求されたメモリ動作は実行されてことを示す。
VRAM制御ユニットは、圧縮されたビデオ信号の信号源212が周期的にVR AMメモリサイクルを使用して圧縮されたビデオデータをVRAM216にロー ドするので、すべてのVRAMメモリサイクルを使用するとは限らない、VRA M216の使用に関する競合の可能性は、緊急メモリ要求を取扱うスケジューリ ング回路によって解決される。
圧縮されたビデオの信号源212は、V RA M 216中に記憶すべき32 −ビットの値を持っているときは、信号CVRの状態を論理lに変える。信号C VRは優先度デコーダ1380のビット位置4入カボートに印加される。スケジ ューリング回路がこの形式の要求を取扱うときは、4の値を、VRAM信号発生 器1398.制御回路1310. gJ:びマルチプレクサ1356に結合され ているデコーダ1355に供給する。この値は、信号発生器1388とマルチプ レクサ1356を制御して、それらの出力端子の高インピーダンスを呈するよう にする。この再出力端子はバスAD/CTLを介してV RA M 215に結 合されている。更に、この4という値は、制御回路1310を制御して圧縮され たビデオ信号源212に信号GRANTとして論理1の値を供給する。この信号 は、信号源212内のアドレスおよび制御回路を可動化して、メモリ書込み動作 の信号を発生させ、信号源212からVRAM216中にデータを記憶させる。
VRAM信号発生器1388を、スケジューラから供給された値をランダム読出 し、ランダム書込み、直列読出しまたはリフレッシュ動作を行なうべきかを表わ す信号に変換する第1の回路と、この様な信号からVRAM集積回路に供給する 実際の信号を生成する第2の回路との2つの別々の回路に区分することが考えら れている。第1の回路はVRAM制御ユニット238の一部になり、従って処理 器集積回路21Oの内部にあることになろう、しかし第2の回路は回路210の 外部に形成されて、圧縮されたビデオの信号源212と共有することになろう。
ここで説明するこの発明の実施例は、ルミナンス・ビット・マツプのアドレスを 記憶するために1対のビット・マツプ・アドレス・レジスタを持っているが、カ ラー・ビデオ信号を処理するこの発明の実施例として2つの色差信号ビット・マ ツプのアドレスを記憶するために2個の付加ビット・マツプ・レジスタを持つ形 にすることも考えられる。更に、すべてのビット・マツプ・アドレス・レジスタ に対する最初のビット・マツプ・アドレス値を、ビデオ信号プロセッサ210が 停止状態にある間マイクロプロセッサ224に記憶しておくようにすることも考 えられる。
以上はビデオ信号プロセッサ210の回路に関する詳細な説明である0次にこの プロセッサを使用して、圧縮されたビデオ信号をデコード(すなわち引伸ばし) する方法を説明する。
第1図に関連して上述したように、このプロセッサにより再構成される画像は、 絶対または相対的双線形多項式(All +B、+C)の形で、またDPCMエ ンコード技法を使つて個々にコード化されたビクセルとして、矩形領域(以下、 セルという)を表わす記録(レコード)にコート化されている。第1図に示され た記録フォーマットは概念的には有効なものであるが、好ましいコートされたデ ータの配列が第14図に示されている。このデータは、5つの部分すなわち各セ ルに割当てられるデータを含んでいる“セルテーブル”、統計的にコード化され たデータの別々のブロック(以下、“データ”という)、双線形多項式を作るた めに使用されるテーブル(以下、スロープ・リストという)DPCMコート化デ ータをデコードするために使用するテーブル(以下、テ−プルDという)との対 をなす2テーブル、およびその時表示されている画像のビット・マツプ、で構成 されている。統計的にコート化されたデータセグメントはその統計的デコーダ2 3Gを使ってプロセッサ210で読出し得るように5個々別々のものである。セ ルテーブル、データ値、スロープ・リスト、テーブルDおよびビット・マツプは すべてV RA M 216中に記憶される。更に、デコート動作の進行につれ て、新しいすなわちその時々のビット・マツプが生成され、それは次に表示すべ き画像を表わしている。
セルテーブルは、各セルごとに、数としてコード化された(タトえば、1=絶対 、2=相対的、3=DPCM)その形式丁、その左上隅におけるビクセル値のビ ット・マツプ中の座標値(X PO3,Y PO3)、gよびその寸法(H,W )を含んでいる。そのセルが相対的セルか絶対セルであれば、多項式の係数A、 BおよびCに関する情報も与えられる。もしそのセルが相対的セルであれば、そ の時のセル中のビクセル値の、その時表示されている画像のビット・マツプ中の セルの対応するビクセル値に対する偏差値ΔXとΔYが与えられる。デコーディ ングを簡単化するために、記録は長さが一定であるもの(記録当り10個の16 −ビツ1−・ワード)とする、データが10ワードより少ない記録(DPCMの ようなンは10フードに付加(水増し的に)される。
多項式A、 十B、+C中のスロープ項を表わす係数AとBは特殊な形にコード 化されるゆセルテーブルは実際のA、Bの値を含む代りに、そのスロープ・リス ト中にインデクス値を含んでいる。このスロープ・リストは各画像と共に(或い は、各画像のシーケンスと共に)デコーダに伝達される。スロープ令リストに関 するこの理由は、デコード作用の効率を改善するため2次に述べるようにデコー ダがスロープテーブルを利用できるようにするためである。
圧縮された画像全体なデコー1(するに使用するマイクロコードは、一般にプロ セッサの利用可能なマイクロコードRA M 310にフィツトしないであろう から、デコーディング動作は幾つかの“バス”に分けられる。その第1のバスは すべての絶対セルをデコードし。続いて相対的セル用の他のバスおよびDPCM セル用の別のバスがある。このプロセスは第15図に概要が示されており、すな わち、スイッチ1510の順次選択作用によって3回呼出される同一のプロセス 1520 (特定形式のセル全部をデコートするため)で、構成されている。
プロセス1520の詳細は第16図に示されている。最初。
統計的デコーダ230と入力FIF0・232はステップ1610と1620で 、統計的にコード化されたデータとセルテーブルとをそれぞれ含むVRAMのセ グメントをアドレスするように始動される。ステップ】630ではセルテーブル の記録から値Tを読出す、この値Tはセル形式を特定する。ステップ1 B2O ては値Tを特別の“テーブルの終り”の値と比較する。この“テーブルの終り” のフラッグとしては通常は0が使用され、比較動作が迅速に行なわれるようにさ れる。もし2テーブルの終りに達しない場合には、この値Tを処理されるセルの 形式と比較する(ステップ1650) 、もしこのコードがそのとき処理されて いる形式であれば、記録がデコードされ(ステップ1660)、そうでない場合 にはその記録はスキップされる(ステップ1670) 。
次にセルのデコーディング・プロセスについて詳しく説明する。初めに、絶対お よび相対的セルのデコートを効率的の行なうためのこのプロセスのキー要素があ る0スロープ・テーブル“の概念を紹介して説明することが必要である。
“スロープゆテーブル”の概念は第17A図と第17B図に例示されている。第 17A図は双線形多項式関数A、+BY +Cでフィルされる矩形債域を表わし ている。この様な双線形関数は、この関数からの値で直接フィルされる絶対セル と、この関数によフて与えられる値をそのときより前のビデオ画像のセルからの ビクセル値に加算する相対的セルとの双方に使用されるものであることを。
想起されたい、スロープ・テーブルは絶対および相対的セルの双方に対して同一 のものである。
関aP(x、y)=A、+B、+cの値は、第1行の値PO1P1.P2等とし て、および第2行PO′、Pi’、P2′等として示されている。この関数の値 を即時計算しようとする2つの問題か生じる。第1の問題は2つの乗算(A、と B、)か必要なことである。もし係a (A。
B、C’)がすべて整数であれば、周知の増分加算法によってこの問題は解決す ることができる。これは、P(X◆1.y) = P (x、y) + Aとい う事実、すなわち、セル内の1つの水平線内の相連続するビクセルの値は累算器 に値Aを順次加算することによって計算できるということを利用している。しか し、この発明の場合には、係数Cの値は常に整数であるが、AとBの値はそうで はない。
その理由は1画像のルミナンス値の空間的変化は通常lピクセル当り1グレーレ ベルよりも小さいからである。
それで、事実、A、Bは小数部をもっているだけでなく、普通は絶対ff11よ りも小さい、また、2つのビクセル値は1命令サイクル中に計算されるから、こ れらのビクセル値の計算に飽和を伴う2重加電動作(デュアル・アット・クイズ ・サチュレート・オバレーション)を使用することも望ましい、しかし、この飽 和を伴う2重加電動作は整数の加算だけに適用できるもので2小数のスロープ値 を累算することはできない。
この第2の問題を解決するために、′スロープ・リスト”と0スロープ・テーブ ル”を使用する。スロープ・リストは、処理される全画像に対して排他的なスロ ープ値として使用される。AとBの特定値(1/256の精度で特定されている )の小さなセットである。換言すれば、その画像内で自然に発生するAとBの値 のそれfれは、このスロープ・リスト中の1つの値で近似される。
次に、このスロープ・リスト中で見られるAの特定値に対する関数P (x、y )を評価した結果を示す第17A図について考察する。差の値DO1D1.D2 .D3等は、1つの中間ビクセル値を介して隔てられたビクセル値相互間の差の 整数部として計算されている。たとえば、D2はP2−POの値の整数部に等し く、D3はP3−Piの整数部に等しく、以下同様という具合になりている。
最初の差の値DOとDlの対は実際のビクセル値POとPiから値POををそれ ぞれ差引いて得たものであることに注意された。
この差の値の組は、多項式中のAの値にのみ依存するものであるから、スロープ ・リスト内のAの各個に対して差の値を算出することができる。与えられたスロ ープ・リストについてその様なすべてのテーブルの組を“Xスロープ・テーブル ”と名付ける。特定のスロープ・リストが与えられると、整数の値を含むスロー プ・テーブルは、非常に少なくなり即時デコーディング・コストで完全に予め算 出されたV RA M 216中に記憶することができる。
この図にはビクセルが対をなして示されているが、それは第4B図を参照して前 述したデコーディング・プロセッサ中でデコーディング・プロセスに飽和を伴う 2重厘算ALU動作を使用するからである。この図に示されている値はすべて8 −ビット値であり、各僅の対は1つの16−ビット・ワードにバックされている 。このXスロープ・テーブルを利用できるものとすれば、関数P (x、y)の 値は、たとえば次の様な単一のALU演算で計算することかできる。
(P4.P5)−(P2、P3)+)(D4、D5)ここに、+)は飽和を伴う 2重加算動作を表わしている。初めに、累加レジスタに対をなす8−ビット値( Po、po)をロードし、順次スロープ・テーブルからの対をなす値を加算する ことによって、各ビクセル値の対に対して1回だけのALU動作を使ってP ( x、y)値の正確な再構成を行なうことができる。
上記の方法はl走査線上の値を発生するだけである。
次の走査線を発生させるには値(PO′、PO′)が必要となる。それは、次の 計算で得られる。
(po’、po’)= (po、po)+)(QOlQO)ここに、(QOlQ O)は、Xスロープ・テーブルから類推できるがそれとは異なる構成をもつ″Y スロープ・テーブル”からの値である。第17A図に示されるようにYスロープ ・テーブルでは、関数P (x、y)の垂直方向に隣接する値を減算してそのス ロープ・テーブル値を得ている。この点が、1つの中間ビクセルで隔てられてい る値同士が減算されるXスロープ・テーブルと違う点である。また、Yスロープ ・テーブルでは、2つの8−ビット・ワードの両半部に同一値が重複している。
要約すると、ビデオ信号プロセッサ210は、圧縮されたビデオ・データの一部 としてそのときの画像に使用されるスロープのリストを含んでいるスロープ・リ ストを受入れる。プロセッサ210は次に、絶対または相対的セルをデコーディ ングするに先立って、スロープ・リスト中の各スロープに1個のベクトル・エン トリーをもってXとYの両スロープ・テーブルを構成する。これらのスロープ・ テーブルはV RA M 21[i中の予め定められた位置に記憶される。スロ ープ・テーブルはスロープ・リストにではなくセル・テーブルにコード化するこ とも考えられるが、スロープ・リストの方かよりコンパクトであるからコート化 効率の面で有効である。
スロープ・リストとXおよびYスロープ・テーブルの概念が第17B図の例に示 されている。上述のように、XとYスロープ・テーブルはそれぞれスロープ・リ スト中のどのスロープ値に対してもエントリーを持っている。
エントリーは、Xスロープ・エントリーについては1つおきのビクセル値相互間 の是に相当する一連の値で、またYスロープ・エントリーについては隣接ビクセ ル値相互間の差に相当する一連の値で構成されている。下記の例では、スロープ ・リスト中の項目(アイテム)6に対するXスロープ・テーブル・エントリー、 1.25とスロープ・リスト中の項目lOに対するYスロープ・テーブル・エン トリー、2.25とが発生される。
Xスロープ・テーブル・エントリーは、16−ビットのスロープ値を前の和に繰 返し加算することによってランニング和を累加することにより発生させられる。
各加算動作の後、累加された和の整数部(すなわち、8個のMSB)が記憶され る。このXスロープ・テーブル・エントリーはこの記憶された値の1つおきのも のの差をとることによって生成される。これらの値は選ばれたスロープ値に対す るXスロープ・テーブル・エントリーとして記憶される。Xスロープ・テーブル ・エントリーを発生するアルゴリズムは、中間の介在値によって隔てられている 値相互間の差を記憶する。その理由はXスロープ・テーブル・エントリーから絶 対または相対的セルを再構成するのに飽和を伴なう2重加算動作を使用するから である。この動作は並列的に2つの加算を行なうので、絶対または相対的セルを 再構成するためのアルゴリズムは、サンプルの1つおきのものの各相を別々に累 加する。このXスロープ・テーブル・エントリーはこの2重累加動作が正しく効 率的に行なわれるように配列される。
Yスロープ・テーブル・エントリーを発生させるには1選ばれたスロープ値を上 記と同様に累加しその累加和の整数部を記憶する。しかし、Yスロープ・テーブ ル・エントリー中に記憶される差の値は、記憶サンプルの隣接するもの同士から 生成される。
第18図は、プロセッサが絶対セルのデコードを実行する動作のシーケンスを示 している。最初のステップ1810は、デコーディング・プロセスの残余の期間 中、より効率良くアクセスするために、入力FIFO232を使ってセル・テー ブルからデータRA M 228へ値を転送することである。ステップ1812 は、値Aに相当するXスロープ・テーブル・エントリーを、入力FIFO234 を使つてセル・テーブル・エントリーからデータRA M 228へ転送するこ とである。これは、セル・テーブル・エントリーを、下記するプロセスの“イン チ・ループ中の急速アクセスに利用できるように行なわれる。ステップ1814 は出力FXFO236を、そのセルの開始点に相当するその時の画像ビット・マ ツプ中のアドレスに対して初期化すルウステップ1816は入力FIFO234 をyスミ−ブ・テーブル中の第1エントリーに対する点に初期化する。
次のステップ1818では、たとえばデータ・バス242中のR3(記号的に“ 値”という)レジスタを値(C,C)に、すなわちセル・テーブル記録から得ら れ上位8ピッ1−位置と下位8ビット位置の双方に一定値Cをもつ16−ビット ・ワードに、初期化する。ステップ1820では、他のレジスタたとえばyカウ ントと呼ぶレジスタR2をセル・テーブル・エントリーからの値Hに初期化する 。
ステップ1822は、プロセス中の“アウタ・ループ(OU−ter 1oop ) ” 、すなわち処理されるセルの各走査線に対して1回行なわれるループ2 を始める。先ず(ステップ1822) 、データRA M 228中のポインタ ・レジスタの1個たとえばDR2を、既にステップ1812でデータRAM22 8中に転送されている5xスロープ・テーブル中の第1エントリーに対する点に 初期化する。ステップ1824では、データ・バス回路242のループ・カウン タ514(記号的には“cnt ’ という)を値W/2に初期化する。これは 、セルの各水平線に対して発生されるビクセル値対の数である。約束として、こ のコード化システムは1線当り偶数個のビクセルを有するセルを発生するだけと する。突って、Wは常に偶数である。ステップ1826はレジスタ“値”中にあ る値をA L U 244の出力レジスタ416にバスさせ、これはスロープ・ テーブルの説明で前述したように出力ビクセル値を累加するのに使用されるもの である。ステップ1828はこのプロセスの“インナ・ループであつて、詳細に 下記するが、セル線の水平線上における各ビクセル対に対して1回行なわれる。
そのセルに対してビクセル・データの1水平線の処理の後1次のステップ183 0では、′値”にYスロープ・テーブル値を加算する。これは第17A図に関連 して前述したように、計算 値=値+)(QO,QO)と等価である。ステップ 1832は、出力PIF023Bをセル中の次の水平線の開始ビクセル・アドレ スに再初期化し、ステップ1834は゛yカウント°の偵を減少させる。テスト 1836は、“yカウント°がOに到達したか、ステップy822ヘルーブバッ クしたか(もし上記がOに到達しなければ)或いはループを出た(0に到達して )か、どうかをチェックする。これで、1つの絶対セルの処理が完了する。
第19図は第18図のプロセスのインナ・ループ1828を実際のマイクロコー ド制御ワードまたは命令の形で示している。インナ・ループ1828は、ループ ・カウンタ514の制御下で交互に実行される2つの命令から成っている。
ここに掲示されている命令アドレスは例示目的だけのものであるが、下記するよ うに、条件付きのブランチ動作がマイクロコードRAMとシーケンシング回路2 26によって行なわれるやり方のために、それらの番号は完全には任意的なもの ではない。
第1の命令(1)は、計算ALU=ALU+)” DR2+◆を行なう、ここに 、記号”D R2◆◆はテーブル4に関連して前述した通っである。この計算は 、Xスロープ・テーブル・エントリーからの1対の値をALU出力レジスタ41 6(双線形関数値の累算器として使用されている)に加算し、またデータRA  M 228のポインタ・レジスタDR2をスロープ・テーブル中の次の対をなす 値に対する点に自動増加させる。この命令は、また、ループ・カウンタを減少さ せ、次でマイクロコートRAMとシーケンシング回路226を次のマイクロコー ド制御ワードである命令2をロードするような条件付けも行なう、命令2は、回 路210を制御してALU出力レジスタ416中の値を出力FIFO236を通 して送るようにし、こうしてVRAM中に2つのビクセル値を書込む、この命令 に関して、ループ・カウンタ0条件を使用して条件付きブランチがセットされる 。もしこの条件が誤りであれば、制御は命令lヘバスしてループが継続する。水 平線のビクセル・データが完了すると、ループ・カウンタはOになり5その条件 は真であり、マイクロコード・シーケンサはアドレスのLSBを強制的にOにす るようにさせられる。これによりて、命令0へのジャンプが起こり、従ってイン ナ・ループから出口へ出て行く。
これは2命令ループであり、かつループを一周するごとに2個のビクセル値が発 生されるので、このインチ・ループはlビクセル値当り1命令の速度で実行され る。
−例として、命令サイクル蒔聞が80nsで画像が256×240ビクセルを有 しプロセッサ210に休止状態が無いものとすれば、このインナ・ループの可焼 最大実行時間(すなわち画像が1絶対セルで表わされるとすれば)0.3フィー ルド期間(約1/200秒)である、アウタ(外部)ループのような、このシス テムの上記とは別のプロセスおよび第1ε図の処理には更にデコード時間が加わ る。また、画像は通常は完全に一つの形のセルで構成されているものでないこと を想起されたい、相対的およびDPCMセルではデコードするのに絶対セルの場 合よりも長い時間を要することが理解されよう。しかし、この様な因子があって も、通常は2フィールド期間未満で画像をデコードすることができる。2フィー ルド期間というデコード時間は所望のTVフレーム率30分の1秒に相当するこ とに注意されたい。
第2C図は、ブロセ・ンサ210が相対的セルのデコードを実行する動作のシー ケンスを示している。多くのステップは絶対セルのデコーディング・プロセスに おけるステップと同様なものであるが、幾つかの重要な相違点がある。この相対 的セルのデコーディング・プロセスでは、双線形多項式A、+B、+Cの値を発 生させることの他に、この関数の値を前の画像ビット・マツプの矩形領域から得 られるビクセル値に加算する。こうして得た和は、次にその時の画像ビット・マ ツプに書込まれる。更に、このピクセル値は、前の画像のビット・マツプから直 接取出されるのではなく、ピクセル補間器246を使ってそれらのピクセル群か ら補間することにより得られる。
ビクセル補間器246は、パイプライン構成であるから、その出力値は入力値に 対し遅延する。この時間的遅延は、その時のおよびそれより前の画像セル中のピ クセルを通して行なわれる走査動作を複雑なものとする。その理由は入力および 出力FIFOの歩調が揃つていないからである。この問題は、インナ・ループを 2つの同じ命令グループに分割することによって解決される。W72回実行きれ る1つのインナ・ループ(絶対デコーディングの場合のように)の代りに、N1 回実行されるものとN2回実行されるもの(但し、N1+N2=W/2)との2 つのインナ・ループがある。この値NlとN2は次のように予め計算される。す なわち、第1のインナ・ループの後入力FIFO232が前の画像ビット・マツ プにおける連続する次の水平線中の開始ピクセル位置に対する点に進められるよ うに、および第2のインナ・ループの後出力PIFO236がその時の画像ビッ ト・マツプにおけるその時のセルの連続する次の水平線の開始ピクセル位置に対 する点へ進められ得るように、計算される。
最後に、第9図について論議したように、2本のピクセル・データ走査線が前の 画像から読出されてその時のセルにおける1本のピクセル水平線を生成すること を想起されたい、VRAM216に対するアクセス回数を減らす、従ってデコー ディング時間を減少させるために、第20図のプロセスは、このプロセスのYル ープを通じである時に使用される2本の線のうちの下側の線は、Yループを通じ て次に使用される2木の線のうちの上側の線と同じ線であるという事実を利用し ている。従って、VRAMからこのデータを2回読出す代りに、このループを1 周するごとに次のループ1周で使用するためにこのデータをデータRA M 2 28中の“ライン・バッファ”に記憶させる。
第20図に示したプロセスは、セル・テーブル記録からデータRA M 228 に対して値を転送するステップ201Oから始まる。ステップ2012は、その 時のセル・テーブル記録から得られる値AのXスロープ・テーブル・エントリー を、VRAM216 からデータRAM228へ転送する。
これらの転送動作には入力FIFO232を使用する。ステップ2014.20 16および2018は、それぞれ、その時の画像ビット・マツプに対する点への 出力FIFO236の初期化、前の画像ビット・マツプに対する点への入力FI FO232の初期化、その時のセル・テーブル記録からの値Bに相当するYスロ ープ・テーブル・エントリーに対する点への入力FIFO234の初期化を行な うステップである。ステップ2020は、ΔXとΔYの小数部に等しい変位値で ビクセル補間器246を初期化する。このビクセル補間器は、前の画像の開始点 アドレスのLSBがOであれば“同相(イン・フェーズ)”モードに初期化され 、そうでなければ“隣相(アウト・オブ・フェーズ)″モードで働くようにセッ トされる。ステップ2022は、デコーディング・プロセスの残部て使用するた めにWの値を2等分する。ステップ2024は2つのインナ・ループのカウント 値であるN1とN2の値を計算する(矩形枠2024では、この可変“位相”は 前の画像の開始点アドレスLSBと同一値を持っている)、ステップ2026は 、レジスタをセル・テーブル記録からのHの値に初期化して、セル中の水平線を カウントするようにする。ステップ20z8は、前の画像セルの1本の水平線を データRA M 228中の線バッファ中にロードし、ポインタ・レジスタDR IとDR2をその線バッファ中の第1の16−ビット値に対する点にリセットす る。ステップ2030は、ビクセル補間器246のバイブラインを、最初の有効 な結果をそこから読出すことのできる点までロードする。たとえば、第9B図を 参照すれば、ステップ2030は命令サイクルTI乃至T11を含んでいる。
ステップ2032はこのプロセスの“アウタ・ループの出発点である。先ず、( ステップ2032) 、データRAM228中の1つのポインタ(例えばDRO )を、Xスロープ・テーブル・エントリー中の第1の値に対する点に初期化する 0次に、その時のセル・テーブル記録からの複製(ジューブリケーテット)定数 項である値(C,C)が、双線形関数P (x、y)の値を累加するのに使用さ れるA L U 244のB入力ラッチ412中にロードされる。ステップ20 36.2038および2039は、インナ・ループ命令を開始しN1回(ただし 、NlはOのこともある)実行する。ステップ2040は、次に入力FIFO2 32を前の画像からのセルにおける次の水平線の開始点に対する点にリセットす る。ステップ2042は線バッファ・ポインタ(DRlとDR2)をこの線バッ ファの開始点に対する点にリセットする。ステップ2044.2046および2 048はインナ・ループ命令を開始しN2回実行する(ここに、N2は0のこと もある)。
ステップ2050ては、出力PIFO236が使用したアドレス値を、その時の ビット・マツプ用のセルの次の線における第1ピクセル位置に対する点に進める 。ステップ2052は、ビクセル補間器を通してもう1つの値の組(4ピクセル )をバスさせる。これらの値は、前の画像におけるセルの右端を少し越えた位置 を有するピクセルに相当し、線上の最後の補間結果を生成するのに使用される、 しかし、このステップは、また、ビクセル補間器に別の1対の結果を生じさせる 。この結果はステップ2052で読出され、簡単に破棄される。ステップ205 4は゛yカウント°の値を減少させ、テスト2056では、そのセルのビクセル 値の最終水平線の処理が完了したかどうかをチェックする。もし完了していれば 、プロセッサはアウタ・ループへ出力し、そうでなければステップ2031てこ のループを継続する。
第21図は、第20図に示したプロセスのインチ・ループを示している。このル ープは4つの命令で構成されている。第1の命令(1)はA L U 244の 8入力レジスタ412における値をある値”DRO(すなわち5レジスタDRO に保持されているアドレス値を有するデータRAMセル中の値)に加算する。こ の値はXスロープ・テーブルから与えられる。またこの命令の期間中、DRO中 に保持されているアト1/ス値は1だけ増分増加される。ALU244のB入力 レジスタ412は双線形関数A x + B y +Cの値を累加するのに使用 されていることを想起すべきである。命令lは、また入力FIFO232を使つ てl対のビクセル値を読出し、それをデータ・パルス回路242のレジスタRO 中にロー1(する。これらのビクセル値は、ビクセル補間器に印加されて1対の 補間ビクセル値を発生させる4つのビクセルのうちの下側の対に相当する。次の 命令2は、ALU出力値(命令lの結果)をB入力レジスタ412に戻して配置 する。これは、また、この値をビクセル補間器246の出力値に加算して、連続 する2つのビクセルに対する。関数A、 十B、+C+前の画像の値を生成する 。この対をなすビクセル値は次の命令3で出力FIFO236を介してVRAM 216中に書込まれる。その上、命令3は、レジスタDRIに保持されているア ドレス値を使って、データRA M 228に保持された線バッファからの値( 2ビクセル)をビクセル補間器にロードする。これらのビクセルは補間器246 に供給されている4ピクセルのうちの上側の対に相当する。この命令はまたデー タ・バス回路242のループ・カウンタ514を増分減少させる。最後に命令4 は、補間器246に対するビクセル値の下側の対である、レジスタRO中の値を とって、これをビクセル補間器246とデータRAM228中の線バッファの双 方にロードする(レジスタR2中のアドレスを使って)、ループ・カウンタを基 礎とする条件付きブランチ動作がOに到達すると、所要数のビクセル値が発生さ れるまでループ中でこの命令が繰返されるようにする。
このインチ・ループは4つの命令サイクルで2ビクセル値を発生し、これは休止 状態が無いものとすれば、256 x240の画像の0.6フイールドの最大総 経過時間に相当する(これは、インナ・ループだけについてのもので、前述した 他のものは無視している)。
第22図は、DPCMセルのデコーディングに含まれている動作のシーケンスを 示す、DPCMセル中の各ビクセル値は圧縮されたビデオ画像のデータ・セグメ ント中の1個の値Vでコード化される。この値Vは、その時の画像における可能 性のあるすべてのビクセル−ビクセル間の差を含んでいる値のテーブル(テーブ ルD)に対するインデクスをなしている。このテーブルDはデータRA M 2 28に記憶されている。DPCMセルの大部分のビクセル値は、テーブルDから 得られる差のビクセル値をターゲット・ビクセルのすぐ左のビクセル値に加える ことにより、発生される。セルの左端のビクセル値はテーブルDからの差のビク セル値を前の線の対応する値に加えることによって発生される。セルの左上隅の ビクセルの“上にある”仮想ビクセルは一定値128を有するものと見なす。
DPCMデコーディング・プロセスは、V RA M 216中のセル・テーブ ルからの@X POS、Y PO5、H,W、を入力FIFO232を介してデ ータRA M 228に転送する(ステップ2210)ことによって始まる0次 に、出力PIF023Bがその時のセルの左上隅のビクセルに相当するアドレス (X PO3,Y PO3)に対する点へ、初期化される(ステップ2212)  、ステップ2214ではレジスタ、たとえばR3(°最後の線°)が値128 にセットされる。このレジスタ“最後の線°は、その時の線の第1ビクセルを発 生させるときに使用するため、前の線の第1ビクセル値を記憶するのに使用され る。ステップ2216は、セル中の水平線数を保持している。たとえばR2のよ うなレジスタ“yカウントをロードする。
ステップ2218はデータ・バス回路242のループ・カウンタ514にセル・ テーブル記録からの値Wをロー1くする。ステップ2220は値’DR2(すな わちテーブルDからの値)を読出すレジスタR2中に統計的デコーダ230から の値V(すなわちテーブルDに対するインデクス)をロードすることによフて、 水平線上の第1ビクセルの値を計算し、次に計算“最後の線十最後の線中)DR 2”を行なう。次に、インナ・ループが実行される(ステップ2222)。最後 に5出力FIFOがその時のビット・マツプの次の水平線の第1ビクセル値に対 する点にリセットされ(ステップ2224) 、レジスタ゛yカウント°は増分 減少させられてループが終了する(すなわち、yカウント=0のとき)までテス トされる(ステップ2226.2228) 。
第23図はDPCMデコーディング・プロセスのインナ・ループに対するマイク ロコート命令を示している。最初の命令2は、その時の累加値(ALU出力レジ スタ416中の)を出力FIFO236を介してVRAM216 に書込み、ま たこの値をデータ・バス回路242のレジスタR2中に記憶させる。このループ の最初の命令は、ループ・カウンタ514に保持されている値が0かどうかによ って、ループを出るかまたは継続する条件付きブランチを持っている。次の命令 1は、統計的デコーダ230を使ってV RA M 216から7個を読出して これをレジスタR1中に記憶させる0次の命令3は、レジスタROからのこの値 をデータRAM回路228のレジスタR2に転送する。このループの最後の命令 4は、レジスタR1中の前のビクセル値を値″DR2(データRA M 228 中のテーブルDからの差の値である)に加算し、ループの一番上にブランチバッ クさせる。
DPCMデータのデコートに使用されるこの命令シーケンスのインチ・ループは 飽和を伴う2重加算動作であ両バスの8個のLSB位置によって運ばれるデータ の1個のバイトについて動作している。この飽和を伴なう2重加算動作は、実際 の差の値ではなくテーブルDから得られる近似的な差の値を使用することから生 ずるどの様な誤った差の値をも飽和させるために使用される。この形式の飽和加 算法は、飽和を伴なう2重加算動作においてA L U 244によってのみ支 持される。
このDPCMデコーディング命令シーケンスのインナ・ループは4つの命令ごと にlビクセルを発生し、これは休止状態が無いとすれば1インチ・ループのみに ついて、 256 x240の画像に対して1.2フイールドの最大総経過時間 に相当する。
これまでの、ビデオ信号プロセッサ210の内部回路、デコーディング・プロセ ス、およびインナ・ループの実際のマイクロコード命令に関する説明を利用すれ ば、当該専門家にとりて、完全なデコーディング・プロセスを構成するマイクロ コード命令シーケンスを作ることは容易な筈である。
上述したこの発明の実施例では、信号源212から供給される圧縮されたデータ はセル・テーブルの形式であるが、他の形式たとえば2進トリーの形でデータを 供給することも考えられる。その場合には、プロセッサ210は2進トリー・デ ータをセル・テーブル形式に変換するようにプログラムされることになろう。
ゲータRA門 Flに、 9E (h Hダ〃B Hθ、14 Hθ17A 国際調査報告 国際調査報告 US 8803g16

Claims (12)

    【特許請求の範囲】
  1. (1)圧縮されたビデオデータとピクセルデータとを含むビデオ画像を表わすデ ジタルデータであって、その一部が統計的にコード化されているデジタルデータ を供給する入力手段と、 この入力手段に結合されており、制御信号に応答して、上記入力手段によって供 給される統計的にコード化されたデジタルデータをデコードする統計的デコーデ ィング手段と、 上記制御信号と上記入力手段によって供給されるピクセルデータとに応答して、 上記ピクセルデータによって表わされる上記ビデオ画像中のピクセル相互間にあ る上記ビデオ画像中のピクセルを表わす補間済ピクセル値を生成するピクセル補 間手段と、 上記制御信号に応答し、上記統計的デコーディング手段により供給されるデジタ ルデータと上記ピクセル補間手段によって供給される補間済ピクセル値とに対し て算術演算を実行する算術データ処理手段と、この算術データ処理手段に結合さ れており、この算術データ処理手段からの処理されたビデオデータを出力信号と して供給する出力手段と、 上記統計的デコーディング手段、上記算術データ処理手段及び上記ピクセル補間 手段が同時に動作してデコードされ伸張されたデータを上記出力信号として生成 するようにする上記制御信号を発生する手段と、を含む、ビデオ信号プロセッサ 。
  2. (2)ビデオランダムアクセスメモリ(VRAM)を含み、圧縮されたビデオデ ータと処理されたビデオデータとを記憶するメモリ手段と、このメモリ手段中の 上記圧縮されたビデオデータと処理されたビデオデータとに応答する、上記処理 されたビデオデータを発生する集積回路とを含み、 上記集積回路は、 VRAMからの処理されたビデオデータに応等して、この処理されたビデオデー タによって表わされるピクセル値相互間のピクセル値を生成するピクセル補間器 と、制御信号と、上記ピクセル補間器と上記メモリ手段の一方からの処理された ビデオデータと、上記メモリ手段からの圧縮されたビデオデータとに応答して、 さらに処理されたビデオデータを生成する演算処理手段と、上記圧縮されたビデ オデータに応答して、上記演算処理手段が上記圧縮されたビデオデータの絶対デ コーディング、相対的デコーディングまたはDPCMデコーディングを選択的に 実行するようにするための上記制御信号を生成する制御手段と、 上記メモリ手段に結合されており、可変長コート化された圧縮されたビデオデー タをデコードし、デコードされた圧縮されたビデオデータを上記制御手段と上記 演算処理手段とに供給する統計的デコーディング手段と、上記メモリ手段に結合 されており、上記制御手段からの別の制御信号に応答して、上記メモリ手段から の処理されたビデオデータを上記補間器手段に結合し、また、上記演算処理手段 からの処理されたビデオデータを上記メモリ手段に結合するI/O手段と、 上記制御手段からの制御信号と、上記I/O手段と、上記統計的デコーディング 手段とに応答して、上記VRAMをアドレスするためのアドレス信号を生成する メモリ制御手段と、 を含む、圧縮されたビデオデータを処理するための装置。
  3. (3)上記制御手段が、 複数の制御信号を記憶するメモリ手段と、上記記憶する手段からの複数の制御信 号の中のいくつかのものを順次供給する手段と、 を含んでいる、請求の範囲(2)に記載の装置。
  4. (4)上記制御信号のいくつかのものを順次供給する手段が上記制御信号のいく つかのものに応答して上記制御信号を供給する、請求の範囲(3)に記載の装置 。
  5. (5)上記I/O手段が少なくとも1つの入力FIFOと1つの出力FIFOと を含むものである、請求の範囲(2)に記載の装置。
  6. (6)上記I/O手段、上記統計的デコーダ、上記演算処理手段及び上記メモリ 制街手段が第1のデータバスによって相互接続されており,上記制御手段、上記 演算処理手段及び上記ピクセル補間器が第2のデータバスによ って相互接続さ れており、上記第1と第2のデータバスが双方向性の制御可能なデータバスによ って相互接続されている、請求の範囲(2)に記載の装置。
  7. (7)上記双方向性のデータバスが、各々が第1と第2のデータバスヘの入力接 続と第1と第2のデータバスヘの出力接続とを有する複数の複数ビットレジスタ を含み、この複数のレジスタは、それに記憶されている値を第1と第2のデータ バスの一方または双方に供給するか、あるいは、第1のデータバスまたは第2の データバスのいずれかによって供給される値を記憶するように、上記制御手段か らの信号によって選択的に制御可能とされている、請求の範囲(6)に記載の装 置。
  8. (8)複数の複数ビットレジスタの中の少なくとも1つが、上記制御手段からの 信号に応答して、それに記憶されているサンプルのビット位置を変更する回路を 含んでいる、請求の範囲(7)に記載の装置。
  9. (9)セグメントが相異るコード化プロセスを用いてコード化されている圧縮さ れたどデオ信号を処理して、動く画像を表わす伸張されたビデオ信号を生成する 集積回路であって、 この集積回路をメモリ手段に結合するためのI/Oポートと、 アドレス信号を上記メモリ手段に結合するためのアドレス出力ポートと、 上記I/Oポートに結合されており、可変調コード化された圧縮されたビデオ信 号をデコードするための統計的デコーダと、 上記I/Oポートに結合されており、処理されたビデオ信号を上記I/Oポート に供給し、また、上記I/Oポートからの処理されたビデオ信号を供給するI/ O回路と、 上記処理されたビデオ信号によって表わされるピクセル値相互間のピクセルを表 わす値を生成するピクセル補間器と、 制御信号に応答して、2進値に対して算術関数及びプール関数を実行ずる演算処 理手段と、 別の制御信号に応答して、上記統計的デコーダ、上記I/O手段、上記ピクセル 補間器及び上記演算処理手段を選択的に相互接続する手段と、 上記制御信号と上記別の制御信号とを生成して、選択的に、上記演算処理手段が 上記I/Oポートに供給される圧縮されたビデオデータに対して複数のデコーデ ィングアルゴリズムの1つを実行ずるようにする制御手段と、 上記アドレス出力ポートに結合されており、少なくとも上記制御信号に応答して 、メモリアドレス信号を生成するアドレス発生手段と、 を含む、集積回路。
  10. (10)上記制御手段が、 複数の制御信号を記憶するメモリ手段と、上記複数の制御信号のいくつかのもの を上記記憶する手段から順次供給する手段と、 を含むものである、請求の範囲(9)に記載の装置。
  11. (11)上記制御信号のいくつかのものを順次供給する上記手段が上記制御信号 のいくつかのものに応答して、上記制御信号を供給するようにされている、請求 の範囲(10)に記載の装置。
  12. (12)上記I/O手段が少なくとも1つの入力FIFOと1つの出力FIFO を含んでいる、請求の範囲(9)に記載の装置。
JP1501081A 1987-11-16 1988-11-03 ビデオ信号プロセッサ、圧縮されたビデオデータを処理するための装置、および復元されたビデオ信号を生成する集積回路 Expired - Lifetime JP2750462B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/121,753 US4823201A (en) 1987-11-16 1987-11-16 Processor for expanding a compressed video signal
US121,753 1987-11-16

Publications (2)

Publication Number Publication Date
JPH03501556A true JPH03501556A (ja) 1991-04-04
JP2750462B2 JP2750462B2 (ja) 1998-05-13

Family

ID=22398580

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1501081A Expired - Lifetime JP2750462B2 (ja) 1987-11-16 1988-11-03 ビデオ信号プロセッサ、圧縮されたビデオデータを処理するための装置、および復元されたビデオ信号を生成する集積回路

Country Status (6)

Country Link
US (1) US4823201A (ja)
EP (1) EP0386137A1 (ja)
JP (1) JP2750462B2 (ja)
KR (1) KR0134070B1 (ja)
CA (1) CA1303725C (ja)
WO (1) WO1989005084A1 (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0576749B1 (en) * 1992-06-30 1999-06-02 Discovision Associates Data pipeline system
GB9405914D0 (en) * 1994-03-24 1994-05-11 Discovision Ass Video decompression
US4967196A (en) * 1988-03-31 1990-10-30 Intel Corporation Apparatus for decoding variable-length encoded data
US4991010A (en) * 1989-11-13 1991-02-05 Eastman Kodak Company Dual-mode image interpolation filter operable in a first mode for storing interpolation coefficients and in a second mode for effecting television standards conversion at a pixel rate
CA2045773A1 (en) * 1990-06-29 1991-12-30 Compaq Computer Corporation Byte-compare operation for high-performance processor
US6020894A (en) * 1990-08-16 2000-02-01 Canon Kabushiki Kaisha Full-color desktop publishing system
DE69131809T2 (de) * 1990-09-04 2000-05-11 Canon Kk Bildverarbeitungsverfahren und -gerät
US5157517A (en) * 1991-04-29 1992-10-20 E. I. Du Pont De Nemours And Company Parallel interpolator for high speed digital image enlargement
US5493687A (en) 1991-07-08 1996-02-20 Seiko Epson Corporation RISC microprocessor architecture implementing multiple typed register sets
US5539911A (en) * 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
JPH07500437A (ja) * 1991-10-24 1995-01-12 インテル コーポレイシヨン データ処理システム
US5361370A (en) * 1991-10-24 1994-11-01 Intel Corporation Single-instruction multiple-data processor having dual-ported local memory architecture for simultaneous data transmission on local memory ports and global port
EP0636256B1 (en) * 1992-03-31 1997-06-04 Seiko Epson Corporation Superscalar risc processor instruction scheduling
EP0638183B1 (en) * 1992-05-01 1997-03-05 Seiko Epson Corporation A system and method for retiring instructions in a superscalar microprocessor
US5450599A (en) * 1992-06-04 1995-09-12 International Business Machines Corporation Sequential pipelined processing for the compression and decompression of image data
US5289577A (en) * 1992-06-04 1994-02-22 International Business Machines Incorporated Process-pipeline architecture for image/video processing
US7095783B1 (en) 1992-06-30 2006-08-22 Discovision Associates Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto
US6417859B1 (en) 1992-06-30 2002-07-09 Discovision Associates Method and apparatus for displaying video data
US6047112A (en) * 1992-06-30 2000-04-04 Discovision Associates Technique for initiating processing of a data stream of encoded video information
US6112017A (en) * 1992-06-30 2000-08-29 Discovision Associates Pipeline processing machine having a plurality of reconfigurable processing stages interconnected by a two-wire interface bus
US6079009A (en) * 1992-06-30 2000-06-20 Discovision Associates Coding standard token in a system compromising a plurality of pipeline stages
US5768561A (en) * 1992-06-30 1998-06-16 Discovision Associates Tokens-based adaptive video processing arrangement
US5809270A (en) * 1992-06-30 1998-09-15 Discovision Associates Inverse quantizer
US6034674A (en) * 1992-06-30 2000-03-07 Discovision Associates Buffer manager
US6067417A (en) * 1992-06-30 2000-05-23 Discovision Associates Picture start token
US6435737B1 (en) 1992-06-30 2002-08-20 Discovision Associates Data pipeline system and data encoding method
US6330665B1 (en) 1992-06-30 2001-12-11 Discovision Associates Video parser
US5842033A (en) * 1992-06-30 1998-11-24 Discovision Associates Padding apparatus for passing an arbitrary number of bits through a buffer in a pipeline system
US5442718A (en) * 1992-09-07 1995-08-15 Sony Corporation Apparatus and method for storing and reproducing digital image data yielding high resolution and high quality video image data
JP3531166B2 (ja) * 1992-12-31 2004-05-24 セイコーエプソン株式会社 レジスタ・リネーミングのシステム及び方法
US5628021A (en) * 1992-12-31 1997-05-06 Seiko Epson Corporation System and method for assigning tags to control instruction processing in a superscalar processor
US5805914A (en) * 1993-06-24 1998-09-08 Discovision Associates Data pipeline system and data encoding method
JP2682402B2 (ja) * 1993-10-28 1997-11-26 日本電気株式会社 データ処理装置
US6141122A (en) * 1993-11-18 2000-10-31 Sega Enterprises, Ltd. Data compressing method, image data memory, and method and device for expanding compressed data
CA2145379C (en) * 1994-03-24 1999-06-08 William P. Robbins Method and apparatus for addressing memory
CA2145365C (en) * 1994-03-24 1999-04-27 Anthony M. Jones Method for accessing banks of dram
CA2145363C (en) * 1994-03-24 1999-07-13 Anthony Mark Jones Ram interface
US5475754A (en) * 1994-04-22 1995-12-12 Thomson Consumer Electronics, Inc. Packet video signal inverse transport processor memory address circuitry
US6217234B1 (en) * 1994-07-29 2001-04-17 Discovision Associates Apparatus and method for processing data with an arithmetic unit
GB9417138D0 (en) * 1994-08-23 1994-10-12 Discovision Ass Data rate conversion
JP3082585B2 (ja) * 1994-09-09 2000-08-28 富士ゼロックス株式会社 画像情報符号化処理装置、画像情報復号化処理装置及び画像情報符号化復号化処理装置
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
US6580828B1 (en) 1999-06-30 2003-06-17 Logitech Europe, S.A. Fast decoding
US7009644B1 (en) 1999-12-15 2006-03-07 Logitech Europe S.A. Dynamic anomalous pixel detection and correction
US6320813B1 (en) * 2000-03-02 2001-11-20 Sun Microsystems, Inc. Decoding of a register file
US20030156639A1 (en) * 2002-02-19 2003-08-21 Jui Liang Frame rate control system and method
CA2475186C (en) * 2003-07-17 2010-01-05 At&T Corp. Method and apparatus for windowing in entropy encoding
US10567118B2 (en) * 2016-08-15 2020-02-18 Qualcomm Incorporated Coding to improve transmission and reception processing time

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3999308A (en) * 1975-03-12 1976-12-28 The Singer Company Real-time simulation of a point system having textured areas as viewed by a moving observer
GB1568378A (en) * 1976-01-30 1980-05-29 Micro Consultants Ltd Video processing system
US4068266A (en) * 1976-06-03 1978-01-10 Xerox Corporation Statistical resolution conversion technique
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
US4564915A (en) * 1980-04-11 1986-01-14 Ampex Corporation YIQ Computer graphics system
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
US4430670A (en) * 1982-03-12 1984-02-07 Bell Telephone Laboratories, Incorporated Reconstruction of quantized DPCM or PCM signals
US4603347A (en) * 1982-05-06 1986-07-29 Nippon Telegraph & Telephone Public Corporation Intraframe coding and decoding equipment for video signals of different quality
CA1211219A (en) * 1982-06-30 1986-09-09 Hideo Kuroda Digital data code conversion circuit for variable- word-length data code
US4689823A (en) * 1984-01-04 1987-08-25 Itek Corporation Digital image frame processor
SE465347B (sv) * 1984-04-25 1991-08-26 Matsushita Electric Works Ltd Bildsaendningssystem foer sampling och komprimering av bilddata i ett tv-bildfaelt
US4660156A (en) * 1984-07-23 1987-04-21 Texas Instruments Incorporated Video system with single memory space for instruction, program data and display data
US4656516A (en) * 1985-03-25 1987-04-07 Rca Corporation Vertical subsampling and memory synchronization system for a picture within a picture television receiver
US4667222A (en) * 1985-04-29 1987-05-19 Digital Services Corporation Television effects system for manipulating composite color television signals
US4661987A (en) * 1985-06-03 1987-04-28 The United States Of America As Represented By The Secretary Of The Navy Video processor
US4663660A (en) * 1986-06-20 1987-05-05 Rca Corporation Compressed quantized image-data transmission technique suitable for use in teleconferencing

Also Published As

Publication number Publication date
KR0134070B1 (en) 1998-04-22
US4823201A (en) 1989-04-18
WO1989005084A1 (en) 1989-06-01
JP2750462B2 (ja) 1998-05-13
CA1303725C (en) 1992-06-16
EP0386137A1 (en) 1990-09-12

Similar Documents

Publication Publication Date Title
JPH03501556A (ja) ビデオ信号プロセッサ、圧縮されたビデオデータを処理するための装置、および復元されたビデオ信号を生成する集積回路
JP2750438B2 (ja) 2次元ピクセル補間器および2次元で補間されたピクセル値を生成する方法
JPH03502260A (ja) 二重モード加算回路
KR960006501B1 (ko) 비디오 신호 처리기 시스템 및 비디오 처리기용 메모리 제어기
US5189636A (en) Dual mode combining circuitry
US4835607A (en) Method and apparatus for expanding compressed video data
US4546446A (en) Digital processing circuit having a multiplication function
KR970005454B1 (ko) 데이타 처리 시스템 및 내장 프로그램 제어기 장치
JPH01232463A (ja) データプロセッサシステムとそれを備えるビデオプロセッサシステム
AU622879B2 (en) Pixel interpolation circuitry as for a video signal processor
AU625151B2 (en) Memory controller as for a video signal processor
AU623874B2 (en) Stored program controller with a conditional branch facility as for a video signal processor
AU622128B2 (en) Processor for expanding a compressed video signal
AU626847B2 (en) Dual mode adder circuitry
JPH09284142A (ja) 可変長復号化装置
EP0928114B1 (en) Video data decoding apparatus
JPH0235825A (ja) 2値イメージ伸張方式
JPS63268037A (ja) 有限体乗算回路
JPS63208942A (ja) マイクロプログラムメモリ回路
JPH0540622A (ja) デジタル信号処理装置

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