(57)【特許請求の範囲】
【請求項１】
映像を処理する機能を備えた情報処理装置であって、
動作クロック信号を生成するとともに、前記動作クロック信号の周波数をほぼ連続的な値に変更可能なクロック信号生成手段と、
動画映像信号で表わされる動画を、前記動作クロック信号の周波数に応じて水平方向に拡大・縮小する水平拡大・縮小手段と、
前記動作クロック信号に同期して前記動画映像信号を処理するプロセッサと、を備える情報処理装置。
【請求項２】
請求項１記載の情報処理装置であって、
前記水平拡大・縮小手段は、
アナログ動画映像信号を前記動作クロック信号に同期してデジタル動画映像信号に変換するＡ−Ｄ変換器を備える、情報処理装置。
【請求項３】
請求項１または２に記載の情報処理装置であって、
前記クロック信号生成手段は、
所定の周波数を有する原クロック信号を発生する原クロック信号発生手段と、
前記原クロックを第１の分周値で分周することによって基準クロック信号を生成する第１の分周器と、
第２の分周値に応じて前記動作クロック信号を分周することによって、分周クロック信号を生成する第２の分周器と、
前記基準クロック信号と前記分周クロック信号との位相を一致させるように、前記動作クロック信号の周波数を調整するＰＬＬ回路と、
を備える情報処理装置。
【請求項４】
請求項１ないし３のいずれかに記載の情報処理装置であって、さらに、
前記動画映像信号で表わされる動画を垂直方向に縮小する垂直縮小手段を備える、情報処理装置。
【請求項５】
請求項４記載の情報処理装置であって、さらに、
前記動画映像信号で表わされる動画を垂直方向に拡大する垂直拡大手段を備える、情報処理装置。
【請求項６】
請求項５記載の情報処理装置であって、
前記垂直拡大手段は、
それぞれ１ライン分の映像信号を記憶する複数のバッファメモリと、
前記複数のバッファメモリの１つに１ライン分の動画映像信号を書き込む書込手段と、
前記複数のバッファメモリの中の１つのバッファメモリに１ライン分の動画映像信号が書き込まれている期間に、他のバッファメモリから１ライン分の動画映像信号を複数回読み出す読出手段と、
前記書込手段による１ライン分の動画映像信号の書き込みが終了するたびに、前記書込手段によって動画映像信号が書き込まれるバッファメモリと、前記読出手段によって動画映像信号が読み出されるバッファメモリとを切換える切換手段と、
を備える情報処理装置。
【請求項７】
請求項１ないし６のいずれかに記載の情報処理装置であって、さらに、
映像を表示するための表示デバイスと、
前記表示デバイスに表示される映像の映像信号を記憶するフレームメモリと、前記フレームメモリから映像信号を読み出して前記表示デバイスに表示することによって、前記表示デバイスに映像を表示させるビデオコントローラと、
前記フレームメモリ内において動画映像信号を書き込むべき動画書込領域を示す動画キーデータを記憶する動画キーメモリと、
前記動画キーデータに応じて、動画映像信号を前記フレームメモリの前記動画書込領域内に書き込む動画書込手段と、
を備える情報処理装置。
【請求項８】
請求項１ないし７のいずれかに記載の情報処理装置であって、
前記プロセッサは、動画映像信号に対してフィルタリング処理を行なうフィルタリング手段を備える、情報処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、映像を処理する機能を備えた情報処理装置に関する。
【０００２】
【従来の技術】
パーソナルコンピュータやハンドヘルドコンピュータなどの情報処理装置には、映像の拡大・縮小処理等の各種の映像処理機能を有するものがある。
【０００３】
ところで、従来の情報処理装置では、ＣＰＵの消費電力を低減するために、ＣＰＵの動作クロックの周波数を変更する技術が使用される場合がある。典型的な技術では、異なる周波数を有する数種類のクロック信号を予め準備しておき、そのうちの１つを選択してＣＰＵに供給することによって、ＣＰＵの動作クロック周波数を変更する。例えば、ＣＰＵの通常の動作モードでは高周波数で動作させ、スリープモードでは低周波数で動作させる方法が一般的である。
【０００４】
【発明が解決しようとする課題】
従来の映像処理装置では、映像の拡大・縮小処理の倍率はＣＰＵ等のプロセッサの動作クロック周波数とは無関係に設定されていた。従って、映像の拡大・縮小処理を行なう際には、プロセッサの動作速度とは独立に、拡大・縮小処理のパラメータを設定する必要があった。
【０００５】
この発明は、従来技術における上述の課題を解決するためになされたものであり、プロセッサの動作速度と映像の拡大・縮小処理の倍率とが関連付けられている情報処理装置を提供することを目的とする。
【０００６】
【課題を解決するための手段および作用】
上述の課題を解決するため、この発明の請求項１に記載された情報処理装置は、映像を処理する機能を備えた情報処理装置であって、
動作クロック信号を生成するとともに、前記動作クロック信号の周波数をほぼ連続的な値に変更可能なクロック信号生成手段と、
動画映像信号で表わされる動画を、前記動作クロック信号の周波数に応じて水平方向に拡大・縮小する水平拡大・縮小手段と、
前記動作クロック信号に同期して前記動画映像信号を処理するプロセッサと、を備える。
【０００７】
水平拡大・縮小手段は、動作クロック信号の周波数に応じて動画を水平方向に拡大・縮小し、また、プロセッサは、その動作クロックに同期して動画映像信号を処理するので、プロセッサの動作速度と映像の拡大・縮小処理の倍率とが関連付けられる。
【０００８】
請求項２に記載された情報処理装置では、
前記水平拡大・縮小手段は、
アナログ動画映像信号を前記動作クロック信号に同期してデジタル動画映像信号に変換するＡ−Ｄ変換器を備える。
【０００９】
Ａ−Ｄ変換器は、動作クロック信号に同期してＡ−Ｄ変換を行なうことによって、動作クロック信号の周波数に比例して動画が水平方向に拡大・縮小される。
【００１０】
請求項３に記載された情報処理装置では、
前記クロック信号生成手段は、
所定の周波数を有する原クロック信号を発生する原クロック信号発生手段と、前記原クロックを第１の分周値で分周することによって基準クロック信号を生成する第１の分周器と、
第２の分周値に応じて前記動作クロック信号を分周することによって、分周クロック信号を生成する第２の分周器と、
前記基準クロック信号と前記分周クロック信号との位相を一致させるように、前記動作クロック信号の周波数を調整するＰＬＬ回路と、
を備える。
【００１１】
この構成によれば、第１と第２の分周値を調整することによって、動作クロック信号の周波数がほぼ連続的な値に変更可能である。
【００１２】
請求項４に記載された情報処理装置では、さらに、
前記動画映像信号で表わされる動画を垂直方向に縮小する垂直縮小手段を備える。
【００１３】
こうすれば、動画を垂直方向に縮小できる。
【００１４】
請求項５に記載された情報処理装置では、さらに、
前記動画映像信号で表わされる動画を垂直方向に拡大する垂直拡大手段を備える。
【００１５】
こうすれば、動画を垂直方向に拡大できる。
【００１６】
請求項６に記載された情報処理装置では、
前記垂直拡大手段は、
それぞれ１ライン分の映像信号を記憶する複数のバッファメモリと、
前記複数のバッファメモリの１つに１ライン分の動画映像信号を書き込む書込手段と、
前記複数のバッファメモリの中の１つのバッファメモリに１ライン分の動画映像信号が書き込まれている期間に、他のバッファメモリから１ライン分の動画映像信号を複数回読み出す読出手段と、
前記書込手段による１ライン分の動画映像信号の書き込みが終了するたびに、前記書込手段によって動画映像信号が書き込まれるバッファメモリと、前記読出手段によって動画映像信号が読み出されるバッファメモリとを切換える切換手段と、を備える。
【００１７】
１ライン分の動画映像信号が書き込まれる間に、複数ライン分の動画映像信号が読み出されるので、その比率で垂直方向に拡大される。
【００１８】
請求項７に記載された情報処理装置では、さらに、
映像を表示するための表示デバイスと、
前記表示デバイスに表示される映像の映像信号を記憶するフレームメモリと、前記フレームメモリから映像信号を読み出して前記表示デバイスに表示することによって、前記表示デバイスに映像を表示させるビデオコントローラと、
前記フレームメモリ内において動画映像信号を書き込むべき動画領域を示す動画キーデータを記憶する動画キーメモリと、
前記動画キーデータに応じて、動画映像信号を前記フレームメモリの前記動画領域内に書き込む動画領域書込手段と、
を備える。
【００１９】
こうすれば、動画キーデータで示される動画領域内にのみ動画映像信号を選択的に書き込めるので、画面中の任意の形状の動画領域内に動画を表示することができる。
【００２０】
請求項８に記載された情報処理装置では、
前記プロセッサは、動画映像信号に対してフィルタリング処理を行なうフィルタリング手段を備える。
【００２１】
こうすれば、拡大・縮小された動画に対してフィルタリング処理を行なうことができる。
【００２２】
【実施例】
Ａ．第１実施例：
図１は、この発明の第１実施例としてのコンピュータシステムの構成を示すブロック図である。このコンピュータシステムは、プロセッサバス２０に、ＣＰＵ３０と、リニア発振制御部３２と、ビデオコントローラ３４と、メインメモリ３６と、バッファメモリ３８とが接続されている。ビデオコントローラ３４には、フレームメモリとしてのビデオＲＡＭ（ＶＲＡＭ）４０と、表示デバイスとしてのカラーＣＲＴ４２（またはカラー液晶ディスプレイ）が接続されている。バッファメモリ３８には、Ａ−Ｄ変換器５０が接続され、Ａ−Ｄ変換器５０には更にビデオデコーダ５２が接続されている。
【００２３】
ＣＰＵ３０は、メインメモリ３６に記憶されたアプリケーションプログラムを実行することによって、各種の映像処理を実行するビデオプロセッサ（プロセッサ）としての機能を発揮する。リニア発振制御部３２は本発明のクロック信号生成手段に相当し、リニア発振制御部３２の出力であるリニアクロック信号ＬＣＬＫは本発明の動作クロック信号に相当する。また、Ａ−Ｄ変換器５０は本発明の水平拡大・縮小手段に相当する。
【００２４】
図２は、リニア発振制御部３２の内部構成を示すブロック図である。リニア発振制御部３２は、水晶発振子６０と、原クロック信号ＣＬＫ０を生成する発振器６２と、原クロック信号ＣＬＫ０を１／Ｍに分周する第１の分周器６４と、位相比較部６６と、ループフィルタ（ＬＰＦ）６８と、電圧制御発振器（ＶＣＯ）７０と、電圧制御発振器７０から出力されるリニアクロック信号ＬＣＬＫを１／Ｎに分周する第２の分周器７２とを備えている。
【００２５】
なお、水晶発振子６０と発振器６２は、本発明の原クロック信号発生手段を構成する。また、位相比較部６６とループフィルタ６８と電圧制御発振器７０は、狭義のＰＬＬ回路を構成しており、本発明におけるＰＬＬ回路に相当する。
【００２６】
第１の分周器６４と第２の分周器７２は、プロセッサバス２０を介してＣＰＵ３０に接続されており、ＣＰＵ３０によってそれぞれの分周値Ｍ，Ｎが設定されている。第１の分周器６４は、原クロック信号ＣＬＫ０を１／Ｍに分周することによって、基準クロック信号ＣＬＫ１を生成する。第１の分周器６４で生成された基準クロック信号ＣＬＫ０は、位相比較部６６に基準信号として入力される。第２の分周器７２によって生成される分周クロック信号ＤＣＬＫは、位相比較部６６に比較信号として入力される。位相比較部６６は、これら２つの信号ＣＬＫ１，ＤＣＬＫの位相差を示す誤差信号ＣＰＳを生成する。この誤差信号ＣＰＳは、チャ−ジポンプ回路を内蔵するループフィルタ６８に送られる。ループフィルタ６８内のチャージポンプ回路は、誤差信号ＣＰＳのレベルとパルス数とに応じた電圧レベルを有する電圧制御信号ＬＰＳを生成して出力する。
【００２７】
ループフィルタ６８で生成された電圧制御信号ＬＰＳは、電圧制御発振器７０に供給される。電圧制御発振器７０は、電圧制御信号ＬＰＳの電圧レベルに応じた発振周波数を有するリニアクロック信号ＬＣＬＫを出力する。このリニアクロック信号ＬＣＬＫは、第２の分周器７２で１／Ｎに分周されて分周クロック信号ＤＣＬＫとなる。第２の分周器７２で生成された分周クロック信号ＤＣＬＫは、前述したように、位相比較部６６に送られて基準クロック信号ＣＬＫ１と位相比較される。そして、２つの信号ＣＬＫ１，ＤＣＬＫの位相差が０になるように、リニアクロック信号ＬＣＬＫの周波数が収束していく。収束後のリニアクロック信号ＬＣＬＫの周波数は、基準クロック信号ＣＬＫ１の周波数ｆCLK1に分周値Ｎを乗じた値となる。
【００２８】
原クロック信号ＣＬＫ０の周波数ｆCLK0と、基準クロック信号ＣＬＫ１の周波数ｆCLK1と、リニアクロック信号ＬＣＬＫの周波数ｆLCLKとの関係は次の通りである。
ｆCLK1＝ｆCLK0／Ｍ                      …（１）
ｆLCLK＝Ｎ×ｆCLK1＝Ｎ×ｆCLK0／Ｍ      …（２）
【００２９】
例えば、ｆCLK0＝１０ＫＨｚ，Ｍ＝４，Ｎ＝２とすれば、ｆCLK1＝２．５ＫＨｚ，ｆLCLK＝５ＫＨｚとなる。上記（２）式から解るように、リニアクロック信号ＬＣＬＫの周波数ｆLCLKは、分周値Ｍ，Ｎを調整することによってほぼ連続的に任意の値に設定することが可能である。ここで、「ほぼ連続的」という意味は、周波数ｆLCLKの最小差が、ｆCLK0／Ｍmax （Ｍmax は分周値Ｍの最大値）に等しいからである。リニアクロック信号ＬＣＬＫやリニア発振制御部３２の名前に付されている「リニア」という接頭語は、このように、クロック信号ＬＣＬＫの周波数ｆLCLKをほぼ連続的に任意の値に変更することができることに由来している。
【００３０】
リニアクロック信号ＬＣＬＫは、図１に示すように、ＣＰＵ３０と、Ａ−Ｄ変換器５０と、バッファメモリ３８に与えられている。ＣＰＵ３０は、このリニアクロック信号ＬＣＬＫに同期して種々の映像処理を実行する。ＣＰＵ３０の消費電力Ｗは次式で示される。
【００３１】
Ｗ＝ΣＥ2×Ｐ×ｆLCLK×Ｃ      …（３）
Ｗ：消費電力［Ｗ］
Ｅ：電源電圧［Ｖ］
Ｐ：信号動作要素［命令／クロック］
ｆLCLK：リニアクロック信号ＬＣＬＫの周波数［Ｈｚ］
Ｃ：信号の負荷要素［Ｆ］
【００３２】
ここで、信号動作要素Ｐとは、ＣＰＵ３０が１クロックで幾つの命令を実行するかを示す値である。近年のマイクロプロセッサには、１クロックで複数の命令を実行するものが存在する。このようなマイクロプロセッサでは、１クロック当たりの命令数に比例して消費電力が増加するので、信号動作要素Ｐによってその効果を考慮している。この信号動作要素Ｐの値は、ＣＰＵ３０として使用されるマイクロプロセッサの種類に依存している。負荷要素Ｃは、コンピュータシステムの仕様で決定される固定的な値である。上記の（３）式において変更が可能な要素は、電源電圧Ｅとクロック周波数ｆLCLKである。従って、クロック周波数ｆLCLKを変化させることによって、ＣＰＵ３０の消費電力を調整することができる。
【００３３】
Ａ−Ｄ変換器５０は、ビデオデコーダ５２で生成されたコンポーネント映像信号（ＹＵＶ信号またはＲＧＢ信号）をデジタル映像信号ＤＳに変換して、バッファメモリ３８に供給する。バッファメモリ３８は、１走査線分のデジタル映像信号ＤＳを記憶するラインバッファであり、例えばＦＩＦＯメモリで実現される。Ａ−Ｄ変換器５０からバッファメモリ３８に与えられたデジタル映像信号ＤＳは、リニアクロック信号ＬＣＬＫに同期して書き込まれる。従って、リニア発振制御部３２は映像信号をバッファメモリ３８に書き込む書込手段としての機能も有している。ＣＰＵ３０は、バッファメモリ３８（図１）に蓄えられた映像信号を読み出して、ビデオコントローラ３４に供給し、ＶＲＡＭ４０にその映像信号の書込みを実行させる。
【００３４】
リニア発振制御部３２は、また、リニアクロック信号ＬＣＬＫをＣＰＵ３０とＡ−Ｄ変換器５０とに供給することよって、デジタル映像信号ＤＳで表わされる動画を水平方向に拡大・縮小する水平拡縮手段としての機能を実現している。
【００３５】
図３は、映像の水平方向の拡大・縮小処理の内容を示す説明図である。図３（Ａ）は、カラーＣＲＴ４２の画面表示の例であり、ＶＲＡＭ４０のメモリ空間と１対１に対応している。ここでは斜線で示す矩形の動画領域ＭＰＡ内にデジタル映像信号ＤＳを転送する場合について説明する。
【００３６】
図３（Ｂ）は、ビデオデコーダ５２（図１）に入力されているコンポジット映像信号の波形を示している。ここで、水平有効量子化期間（水平有効映像期間）をＨＬ［秒］、プロセッササイクル（ＣＰＵ３０が１画素分の映像信号の転送や映像処理に必要なサイクル数）をＫ［クロック］、映像水平同期期間をＨＳ［秒］、有効量子化量（水平有効量子化期間に相当する画素数）をＸＬ［ドット］とする。なお、有効量子化量ＸＬは、画面表示（図３（Ａ））における動画領域ＭＰＡの水平方向の幅に相当している。
【００３７】
上記のパラメータと、リニアクロック信号ＬＣＬＫの周波数ｆLCLKとの関係は、次の（４）式で与えられる。
ｆLCLK＝Ｋ×ＸＬ／ＨＬ        …（４）
【００３８】
例えば、１走査線の画素数ＸＬを６４０ドット、プロセッササイクルＫを５クロック、水平有効量子化期間ＨＬを６４μｓと仮定すると、リニアクロック信号ＬＣＬＫの周波数ｆLCLKは５０ＭＨｚとなる。逆に言えば、プロセッササイクルＫが５クロックである場合には、リニアクロック信号ＬＣＬＫの周波数ｆLCLKを５０ＭＨｚになるように上記（３）式の分周値Ｍ，Ｎを設定することによって、１走査線の画素数ＸＬが６４０ドットになる。また、１走査線の画素数ＸＬを６００ドットにするためには、リニアクロック信号ＬＣＬＫの周波数ｆLCLKが４６．８７５ＭＨｚになるように分周値Ｍ，Ｎを設定すればよい。
【００３９】
上記（４）式から解るように、１走査線の画素数ＸＬ（すなわち動画領域ＭＰＡの水平方向の幅）とリニアクロック信号ＬＣＬＫの周波数ｆLCLKは比例している。従って、リニアクロック信号ＬＣＬＫの周波数ｆLCLKを調整することによって、動画領域ＭＰＡの水平方向の画素数ＸＬを任意の所望の値に設定することができる。換言すれば、動画領域ＭＰＡ内の動画を任意の倍率で水平方向に拡大・縮小することができる。
【００４０】
ところで、前述した（２）式から理解できるように、ＣＰＵ３０の消費電力Ｗもリニアクロック信号ＬＣＬＫの周波数ｆLCLKに比例する。従って、この周波数ｆLCLKを調整すると、ＶＲＡＭ４０に転送される動画映像信号ＤＳの水平方向の倍率とＣＰＵ３０の消費電力とが、いずれも周波数ｆLCLKに比例して変更される。
【００４１】
図４は、実施例における動画転送の標準手順を示すフローチャートである。ステップＳ１では、動画領域ＭＰＡ（図３）の表示開始点のアドレス（ＸST，ＹST）と、動画領域ＭＰＡの走査線数ＹＬおよび画素数ＸＬの値とがそれぞれ設定される。具体的には、ユーザが画面上において動画領域ＭＰＡの位置とサイズとを指定すると、ＣＰＵ３０が表示開始点のアドレス（ＸST，ＹST）と、走査線数ＹＬおよび画素数ＸＬとを算出する。ＣＰＵ３０は、さらに、上記（４）式からリニアクロック信号ＬＣＬＫの周波数ｆLCLKを算出し、また、（２）式に従ってこの周波数ｆLCLKを実現する分周値Ｍ，Ｎを算出する。ＣＰＵ３０は、さらに、これらの分周値Ｍ，Ｎをリニア発振制御部３２内の分周器６４，７２（図２）にそれぞれ設定する。
【００４２】
ステップＳ２では、走査線の番号を示すパラメータＹが０に初期化される。ステップＳ３では、ＣＰＵ３０によって、Ｙライン（Ｙ番目の走査線）のＸＬドット分の映像データがバッファメモリ３８から読込まれる。ステップＳ４では、ＣＰＵ３０が、アドレス（ＸST，ＹST＋Ｙ）とともにＸＬドット分の映像データをビデオコントローラ３４に転送し、ビデオコントローラ３４がこの映像データをＶＲＡＭ４０に書き込む。なお、この例では、各走査線の先頭アドレス（ＸST，ＹST＋Ｙ）の後にＸＬドット分の映像データを連続的に転送するバースト転送を行なっているが、１画素分のアドレスと映像データとを順次転送するようにすることも可能である。
【００４３】
ステップＳ５では、走査線位置のパラメータＹを１つインクリメントし、ステップＳ６では、パラメータＹが動画領域ＭＰＡの走査線数ＹＬに等しいか否かが判断される。Ｙ＝ＹＬでなければ、すなわち、ＹがＹＬより小さければステップＳ６からステップＳ３に戻り、次の走査線に対する映像データが転送される。こうして、１フレーム分の映像データ、すなわち動画領域ＭＰＡ内のＹＬ本の走査線に対する映像データが順次転送されて、ＶＲＡＭ４０内に書き込まれていく。従って、ステップＳ２〜Ｓ６の処理を繰返すことによって、複数フレームの動画の映像データがＶＲＡＭ４０内に順次書き込まれる。なお、ＶＲＡＭ４０内の映像データは、ビデオコントローラ３４によって定期的に読み出されてカラーＣＲＴ４２に供給されるので、動画領域ＭＰＡ内の動画がカラーＣＲＴ４２に表示されることになる。
【００４４】
Ｂ．動画表示キーを用いた映像転送：
図５は、第１実施例において、動画表示キーを用いて矩形の動画領域内の一部の領域にのみ動画の映像データを転送する場合を示す説明図である。図３（Ａ）に示す元の動画領域ＭＰＡは矩形であるが、図５（Ａ）に示すように、矩形の一部の領域ＭＤＡ（「動画書込領域」と呼ぶ）内にのみ映像データを転送することが可能である。この時、図５（Ｂ）に示すように、動画書込領域ＭＤＡを示す動画表示キーＫＹが作成されて動画表示キーメモリ５４に記憶される。動画表示キーＫＹは、カラーＣＲＴ４２上においてユーザがウィンドウの状態を指定した操作に応じてＣＰＵ３０が作成し、動画表示キーメモリ５４に記憶される。
【００４５】
なお、動画表示キーメモリ５４はメインメモリ３６内の一部のメモリ領域とすることもでき、また、ＶＲＡＭ４０の一部を利用して実現することも可能である。すなわち、動画表示キーメモリ５４は、バスに接続されたいずれかのメモリチップに設けられていればよい。
【００４６】
図６は、ＣＰＵ３０が動画表示キーを用いて行なう映像の転送動作を示すフローチャートである。図６の手順は、図４の手順のステップＳ４を、ステップＳ１０〜Ｓ１５で置き換えたものである。
【００４７】
図６の手順では、ステップＳ３においてＣＰＵ３０がＹライン目の映像データを読込んだ後に、ステップＳ１０において動画領域ＭＰＡの各走査線上における画素位置を示すパラメータＸが０に初期化される。ステップＳ１１では、アドレス（ＸST＋Ｘ，ＹST＋Ｙ）の動画表示キーデータＫＹがＣＰＵ３０によって読込まれる。なお、アドレス（ＸST，ＹST）は動画領域ＭＰＡの開始点（左上点）のアドレスであり、従って、アドレス（ＸST＋Ｘ，ＹST＋Ｙ）は、この開始点からＹ番目の走査線上のＸ番目の画素のアドレスである。
【００４８】
ステップＳ１２において、その画素位置の動画表示キーＫＹの値が１（有効）であればステップＳ１３が実行されて、その画素位置の映像データがビデオコントローラ３４に転送され、ＶＲＡＭ４０に書き込まれる。一方、動画表示キーＫＹの値が０（無効）であればステップＳ１３が省略されてステップＳ１４に移行する。ステップＳ１４では、各走査線上の画素位置を示すパラメータＸが１つインクリメントされる。ステップＳ１５では、動画領域ＭＰＡの１走査線の画素数ＸＬに等しいか否かが判断される。Ｘ＝ＸＬで無ければ、すなわち、Ｘ＜ＸＬであれば、ステップＳ１５からステップＳ１１に戻り、同じ走査線の他の画素に対する映像データが転送される。一方、Ｘ＝ＸＬであれば、ステップＳ１５からステップＳ５に移行して、走査線位置を示すパラメータＹが１つインクリメントされる。
【００４９】
このように、図６の手順では、動画領域ＭＰＡ内の各画素ごとに動画表示キーＫＹを参照して、有効な画素の映像データのみを転送するようにしているので、元々は矩形の動画領域ＭＰＡ（図３）の一部の領域である動画書込ＭＤＡ内の映像のみをＶＲＡＭ４０に転送して表示させることが可能である。なお、図５（Ｂ）に示す動画表示キーＫＹの分布は任意の形状に設定することができるので、動画書込領域ＭＤＡを任意の形状にすることが可能である。
【００５０】
なお、動画表示キーを用いて動画映像データを書き込む動画書込手段としての機能を、ＣＰＵ３０以外の他のプロセッサや回路が実行するようにすることも可能である。
【００５１】
Ｃ．フィルタリング処理を含む転送手順：
図７は、映像のフィルタリング処理を含む転送手順を示すフローチャートである。図８の手順は、図４の手順にステップＳ１６，Ｓ１７を追加したものである。
【００５２】
図７の手順では、ステップＳ３においてＹライン目のＸＬドット分の映像データが読込まれると、ＣＰＵ３０がステップＳ１６において水平補間フィルタによるフィルタリング処理を実行い、また、ステップＳ１７において垂直補間フィルタによるフィルタリング処理を実行する。
【００５３】
図８は、水平方向のフィルタリング処理の動作を示すタイミングチャートである。図８（ａ）はリニアクロック信号ＬＣＬＫを示し、図８（ｂ）はバッファメモリ３８に書き込まれる元の映像データ、図８（ｃ）はＣＰＵ３０に読込まれる映像データ、図８（ｄ）はＣＰＵ３０内のレジスタに記憶されている映像データ、図８（ｅ）はフィルタリング処理の結果としてＣＰＵ３０の他のレジスタに記憶される映像データ、図８（ｆ）はＣＰＵ３０から出力される転送アドレスをそれぞれ示している。図８（ｅ）に示されているように、この例におけるフィルタリング処理は、隣接する２つの画素の映像データを平均化する処理である。なお、垂直フィルタリング処理を行なうには、１走査線分の映像データを記憶する容量を有するラインメモリを設けて、複数の走査線の映像データ同士に演算を施すようにすればよい。
【００５４】
図７のステップＳ１６，Ｓ１７におけるフィルタリング処理が終了すると、ステップＳ４において、ＣＰＵ３０がフィルタリング処理後の映像データをビデオコントローラ３４に転送する。
【００５５】
なお、動画映像データのフィルタリング手段としての機能を、ＣＰＵ３０以外の他のプロセッサや回路が実行するようにすることも可能である。
【００５６】
Ｄ．垂直方向の縮小処理を含む転送手順：
図９は、映像の垂直方向の縮小処理を含む転送手順を示すフローチャートである。図９の手順は、図４の手順にステップＳ２１，Ｓ２２，Ｓ２３を追加したものである。
【００５７】
図９のステップＳ２１では、転送の対象となる走査線（有効ライン）を示す有効ラインテーブルの内容が設定され、また、転送される元の映像の走査線番号を示すパラメータＹORG が０に初期化される。図１０（Ａ），（Ｂ）は、有効ラインテーブルの２つの例を示している。図１０（Ａ）に示す第１の例では、元の映像の走査線番号ＹORG のそれぞれについて、各走査線が有効であるか無効であるかを示す１ビットの有効フラグが設定されている。有効フラグの値が１（有効）である走査線の映像データはＶＲＡＭ４０に転送され、一方、有効フラグの値が０（無効）である走査線の映像データはＶＲＡＭ４０に転送されない。図１０（Ｂ）に示す第２の例では、有効ラインとなる走査線番号ＹORG の値そのものが有効ラインテーブルに登録されている。図１０（Ａ）と図１０（Ｂ）に示す有効ラインテーブルは、いずれもＹORG ＝０，３，６…の走査線の映像データが転送され、それ以外の走査線の映像データは転送されないことを示している。
【００５８】
図９の手順では、元の映像の走査線番号を示すパラメータＹORG と、ＶＲＡＭ４０の動画領域ＭＰＡ内における走査線番号を示すパラメータＹとが区別されて使用されている。図９のステップＳ２１，Ｓ２において、これらのパラメータＹORG ，Ｙが０に初期化されると、ステップＳ２２において、元の映像のＹORG 番目の走査線が有効ラインであるか否かが判断される。有効ラインであれば、ステップＳ３において、その走査線の映像データがＣＰＵ３０によって読み込まれる。そして、ステップＳ４において、アドレス（ＸST，ＹST＋Ｙ）を先頭アドレスとして、その走査線の映像データがＶＲＡＭ４０にバースト転送される。そして、ステップＳ５においては動画領域ＭＰＡ内の走査線番号Ｙが１つインクリメントされ、ステップＳ２３では元の映像の走査線番号ＹORG が１つインクリメントされる。なお、ステップＳ２２において、ＹORG 番目の走査線が有効ラインでなければ、ステップＳ３，Ｓ４，Ｓ５は省略されるので、動画領域ＭＰＡ内の走査線番号Ｙはインクリメントされず、元の映像の走査線番号ＹORG のみが１つインクリメントされる。
【００５９】
図９の手順によれば、有効ラインの映像データのみがＶＲＡＭ４０に転送されるので、図１０（Ｃ）に示すように、元の映像の走査線番号ＹORG が０，３，６…の映像のみがＶＲＡＭ４０内に転送されることになる。この結果、元の映像が垂直方向に１／３に縮小される。なお、図１０（Ａ）または（Ｂ）に示す有効ラインテーブルの内容を書き換えることによって、任意の縮小率で縮小することが可能である。
【００６０】
なお、上記実施例ではＣＰＵ３０が垂直縮小手段としての機能を実行していたが、ＣＰＵ３０以外の他のプロセッサや回路が垂直縮小手段の機能を実行するようにしてもよい。
【００６１】
Ｅ．第２実施例：
図１１は、第２実施例としてのコンピュータシステムの構成を示すブロック図である。図１１のコンピュータシステムは、図１の構成にＰＬＬ回路１００と切換制御部１１０とを追加し、また、１ライン分のバッファメモリ３８の代わりに２ライン分のバッファメモリ３８ａ，３８ｂを設けたものである。バッファメモリ３８ａ，３８ｂと切換制御部１１０とリニア発振制御部３２とＰＬＬ回路１００とＣＰＵ３０は、本発明における垂直拡大手段を構成する。また、切換制御部１１０は本発明における切換手段に相当し、リニア発振制御部３２は読出手段に相当し、ＣＰＵ３０は読出手段に相当する。
【００６２】
第２実施例では、動画を垂直方向に拡大しつつ、その動画映像信号をＶＲＡＭ４０に転送することが可能である。垂直方向の拡大処理を行なう場合には、１ライン分の映像データを２つのバッファメモリ３８ａ，３８ｂの一方に書き込む間に、他方のバッファメモリから他の１ライン分の映像データを複数回転送するようにすればよい。切換制御部１１０は、１つのバッファメモリに１ライン分の映像データを書き込む動作が終了するたびに、映像データが書き込まれる書込バッファメモリと、映像データが読み出される読出バッファメモリとを切換える役割を有する。この切換えは、ビデオデコーダ５２から与えられる同期信号に応じて行なわれる。例えば、切換制御部１１０は、水平同期信号ＨＳＹＮＣが１パルス与えられる度に、２つのバッファメモリ３８ａ，３８ｂを交互に相補的に切換えて、一方を書込バッファメモリとし、他方を読出バッファメモリとする。こうすることによって、１ラインの映像データを書込バッファメモリに書き込みつつ、読出バッファメモリから他の１ラインの映像データを読み出すことができる。
【００６３】
動画を垂直方向に拡大する場合には、転送時の同期クロックの周波数（すなわちＣＰＵ３０の動作クロックの周波数）を、Ａ−Ｄ変換器５０における同期クロックの周波数よりも高く設定する必要がある。そこで、図１１に示す構成では、ＰＬＬ回路１００によって、リニアクロック信号ＬＣＬＫのＮｃ倍の周波数を有するクロック信号ＬＣＬＫＣを生成してＣＰＵ３０に供給している。
【００６４】
図１２は、ＰＬＬ回路１００の内部構成を示すブロック図である。このＰＬＬ回路１００は、位相比較部１６６と、ループフィルタ（ＬＰＦ）１６８と、電圧制御発振器（ＶＣＯ）１７０と、分周器１７２とを備えている。分周器１７２は、電圧制御発振器１７０から出力されるクロック信号ＬＣＬＫＣを１／Ｎｃに分周する。ＣＰＵ３０は、分周器１７２に分周値Ｎｃを設定することによって、動作クロック信号ＬＣＬＫＣの周波数ｆLCLKC を、リニアクロック信号ＬＣＬＫの周波数ｆLCLKのＮｃ倍にすることができる。例えば、分周値Ｎｃを２に設定すれば、ＣＰＵ３０の動作クロック信号ＬＣＬＫＣの周波数が、リニアクロック信号ＬＣＬＫの２倍になるので、バッファメモリ３８ａ，３８ｂの一方に１ライン分の映像データが書き込まれる間に、他方から２ライン分の映像データを読み出すことができる。この結果、垂直方向にＮｃ倍された動画の映像データがＶＲＡＭ４０に書き込まれる。
【００６５】
図１３は、第２実施例の変形例を示すブロック図である。図１３のコンピュータシステムは、図１１の構成からＰＬＬ回路１００を省略し、分周器１８０を設けたものである。リニア発振制御部３２で生成されたリニアクロック信号ＬＣＬＫは、分周器１８０によって１／Ｎｃに分周されてＡ−Ｄ変換器５０とバッファメモリ３８ａ，３８ｂに与えられる。図１３の構成によっても、図１１と同様に映像を垂直方向にＮｃ倍に拡大することが可能である。
【００６６】
なお、上記の第２実施例とその変形例では、バッファメモリ３８ａ，３８ｂと切換制御部１１０とリニア発振制御部３２とＣＰＵ３０とによって垂直拡大手段の機能を実行していたが、ＣＰＵ３０等のプロセッサや他の回路が垂直拡大手段の機能を実行するようにしてもよい。
【００６７】
Ｆ．第３実施例：
図１４は、この発明の第３実施例としてのコンピュータシステムの構成を示すブロック図である。このコンピュータシステムでは、プロセッサバス２０が、ブリッジ２０２を介して高速バス２００に接続されている。プロセッサバス２０にはＣＰＵ３０とメインメモリ３６が接続され、高速バス２００には、ビデオコントローラ３４と、リニア発振制御部３２と、動画転送コントローラ２０４とが接続されている。動画転送コントローラ２０４はバッファメモリ３８に接続されており、バッファメモリ３８に記憶された映像データをビデオコントローラ３４に転送する機能を有するプロセッサである。
【００６８】
リニア発振制御部３２で生成されたリニアクロック信号ＬＣＬＫは、Ａ−Ｄ変換器５０と、バッファメモリ３８と、動画転送コントローラ２０４とに供給されており、また、高速バス２００の動作クロックとしても使用されている。
【００６９】
高速バス２００は、アドレスとデータが共通の信号線によって時分割で転送されるバスである。また、高速バス２００はリニアクロック信号ＬＣＬＫに同期して動作する同期式のバスであるが、クロック信号の周波数は３３ＭＨｚ以下であればよく、動作の途中でクロック周波数を変更することも可能である。高速バス２００としては、例えばＰＣＩバスを使用し、そのバースト転送モードを利用することができる。
【００７０】
図１４に示すコンピュータシステムでは、動画転送コントローラ２０４が、第１実施例におけるＣＰＵ３０と同様なビデオプロセッサとしての機能を有する。すなわち、動画転送コントローラ２０４は、リニアクロック信号ＬＣＬＫに同期して動画の映像データをビデオコントローラ３４に転送する。この場合には、リニアクロック信号ＬＣＬＫの周波数に比例して、動画転送コントローラ２０４の消費電力を低減すると同時に動画を水平方向に拡大・縮小することが可能である。
【００７１】
なお、図１１と同様にＰＬＬ回路を設けて、動画転送コントローラ２０４に与えるクロック信号の周波数をＮｃ倍すれば、動画を垂直方向に拡大することができる。また、図１３と同様に、Ａ−Ｄ変換器５０とバッファメモリ３８に与えるクロック信号の周波数を１／Ｎｃ倍するようにすることも可能である。
【００７２】
Ｇ．第４の実施例：
図１５は、この発明の第４実施例としてのコンピュータシステムの構成を示すブロック図である。このコンピュータシステムは、図１４の構成の１つのリニア発振制御部３２の代わりに２つのリニア発振制御部３００，４００を設け、また、バスアービタ２０６と、共通メモリ２０８とを追加した構成を有している。
【００７３】
バスアービタ２４０は、ブリッジ２０２と動画転送コントローラ２０４とビデオコントローラ３４が高速バス２００を使用する際の優先順位を調停する役割を果たしている。これら３つのデバイス２０２，２０４，３４のいずれかが高速バス２００の使用権を獲得する際には、それぞれがバス要求信号ＲＥＱ１＃，ＲＥＱ２＃，ＲＥＱ３＃をバスアービタ２０６に供給して、高速バス２００を使用したい旨を通知する。バスアービタ２０６は、内部の優先順位レジスタの値に従ってバスの使用権をいずれに与えるかを決定し、３つのデバイスに対するバス許可信号ＧＮＴ１＃，ＧＮＴ２＃，ＧＮＴ３＃のいずれか１つをアクティブにする。このように、バスアービタ２０６は、複数のデバイスによる高速バス２００の使用権を調停する調停手段として機能する。
【００７４】
第１のリニア発振制御部３００は、ビデオコントローラ３４に第１のリニアクロック信号ＬＣＬＫ１を供給している。また、第２のリニア発振制御部４００は、Ａ−Ｄ変換器５０とバッファメモリ３８と動画転送コントローラ２０４に第２のリニアクロック信号ＬＣＬＫ２を供給している。第１と第２のリニア発振制御部３００，４００は非同期で動作しうるので、ビデオコントローラ３４と動画転送コントローラ２０４とは、非同期で互いに独立に動作することが可能である。また、２つのリニア発振制御部３００，４００は、互いのリニアクロック信号を同期させることも可能である。
【００７５】
図１６は、２つのリニア発振制御部３００，４００の内部構成を示すブロック図である。２つのリニア発振制御部３００，４００のそれぞれは、図２に示すリニア発振制御部３２の発振器６２と分周器６４の間にセレクタ３７４，４７４をそれぞれ追加した構成を有している。２つのリニア発振制御部３００，４００のセレクタ３７４，４７４には、第１のリニア発振制御部３００の原クロック信号ＣＬＫ０ａと第２のリニア発振制御部４００の原クロック信号ＣＬＫ０ｂとがそれぞれ入力されている。第１のリニア発振制御部３００のセレクタ３７４には、ビデオコントローラ３４から第１の選択信号ＳＷ１が与えられており、第２のリニア発振制御部３００のセレクタ４７４には動画転送コントローラ２０４から第２の選択信号ＳＷ２が与えられている。
【００７６】
ビデオコントローラ３４と動画転送コントローラ２０４とがそれぞれ非同期で動作している場合には、図１６に示すように、第１のセレクタ３７４は第１の原クロック信号ＣＬＫ０ａを選択して出力し、第２のセレクタ４７４は第２の原クロック信号ＣＬＫ０ｂを選択して出力している。
【００７７】
なお、第１のリニア発振制御部３００の２つの分周器３６４，３７２における分周値Ｍａ，Ｎａは、第２のリニア発振制御部４００の２つの分周器４６４，４７２における分周値Ｍｂ，Ｎｂとは独立に設定可能である。従って、２つの原クロック信号ＣＬＫ０ａ，ＣＬＫ０ｂの周波数が同一である場合にも、２つのリニアクロック信号ＬＣＬＫ１，ＬＣＬＫ２の周波数をそれぞれ独立に設定することができる。なお、第１のリニア発振制御部３００における分周値Ｍａ，Ｎａと、第２のリニア発振制御部４００における分周値Ｍｂ，Ｎｂは、いずれも共通メモリ２０８に記憶されている。
【００７８】
ビデオコントローラ３４と動画転送コントローラ２０４との間でデータが転送される場合には、これらの２つのコントローラを互いに同期して動作させる。例えば、動画転送コントローラ２０４からビデオコントローラ３４に映像データを転送する場合を考える。なお、高速バス２００を利用したデータ転送においては、データを出力するデバイスをイニシエータ・デバイスと呼び、データを受け取るデバイスをターゲット・デバイスと呼ぶ。データ転送に際しては、イニシエータである動画転送コントローラ２０４がバス要求信号ＲＥＱ２＃をバスアービタ２０６に供給して高速バス２００を使用したい旨を通知すると、バスアービタ２０６がバス許可信号ＧＮＴ２＃をアクティブにする。こうして動画転送コントローラ２０４が高速バス２００の使用権を獲得すると、動画転送コントローラ２０４が高速バス２００の制御信号を使用して、ビデオコントローラ３４がターゲット・デバイスであることをビデオコントローラ３４に通知する。
【００７９】
次に、ビデオコントローラ３４は、セレクタ４７４に与える選択信号ＳＷ２のレベルを変更することによって、第１のリニア発振制御部３００から与えられている第１の原クロック信号ＣＬＫ０ａを分周器４６４に供給する。この結果、第１のリニア発振制御部３００の第１の分周器３６４と、第２のリニア発振制御部４００の第１の分周器４６４には、いずれも第１の原クロック信号ＣＬＫ０ａが供給されることになる。
【００８０】
ビデオコントローラ３４は、さらに、共通メモリ２０８から第１のリニア発振制御部３００における分周値Ｍａ，Ｎａを読み出して、これらの値を第２のリニア発振制御部４００の２つの分周器４６４，４７２にそれぞれ設定する。この結果、第２のリニア発振制御部４００のリニアクロック信号ＬＣＬＫ２は、第１のリニア発振制御部３００のリニアクロック信号ＬＣＬＫ１と同一周波数で同期する信号となる。従って、ビデオコントローラ３４と動画転送コントローラ２０４は互いに同期しつつ、映像データを転送することができる。なお、ビデオコントローラ３４から動画転送コントローラ２０４にデータを転送する場合には、上述の操作と逆の操作が行なわれる。
【００８１】
このように、非同期で動作しうる複数のプロセッサ（図１５の場合にはビデオコントローラ３４と動画転送コントローラ２０４）が同一のバスに接続されており、各プロセッサに対してそれぞれの動作クロック信号を供給するように構成されている場合にも、それぞれの動作クロック信号を同一周波数で同期させるようにすれば、複数のプロセッサの間でデータを転送することができる。
【００８２】
なお、図１５の構成において、それぞれ映像データを転送する複数の動画転送コントローラを設け、各動画転送コントローラにそれぞれリニア発振制御部を設けるようにすれば、複数の動画転送コントローラから複数の動画の映像データをＶＲＡＭ４０に書き込むようにすることも可能である。この場合にも、複数の動画転送コントローラによるバスの使用権の調停は、バスアービタ２０６によって行なわれる。こうすれば、複数の動画を同時にカラーＣＲＴ４２に表示することが可能である。
【００８３】
なお、この発明は上記実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能である。
【００８４】
【発明の効果】
以上説明したように、請求項１に記載された発明によれば、動作クロック信号の周波数に応じて、プロセッサの動作速度と動画の水平方向の倍率とを同時に調整することができる。
【００８５】
請求項２に記載された発明によれば、動作クロック信号の周波数に比例して動画を水平方向に拡大・縮小できる。
【００８６】
請求項３に記載された発明によれば、第１と第２の分周値を調整することによって、動作クロック信号の周波数をほぼ連続的な値に変更可能である。
【００８７】
請求項４に記載された発明によれば、動画を垂直方向に縮小することができる。
【００８８】
請求項５に記載された発明によれば、動画を垂直方向に拡大することができる。
【００８９】
請求項６に記載された発明によれば、１ライン分の動画映像信号が書き込まれる間に、複数ライン分の動画映像信号が読み出されるので、その比率で動画を垂直方向に拡大することができる。
【００９０】
請求項７に記載された発明によれば、画面中の任意の形状の動画領域内に動画を表示することができる。
【００９１】
請求項８に記載された発明によれば、拡大・縮小された動画に対してフィルタリング処理を行なうことができる。
【図面の簡単な説明】
【図１】この発明の第１実施例としてのコンピュータシステムの構成を示すブロック図。
【図２】リニア発振制御部３２の内部構成を示すブロック図。
【図３】映像の水平方向の拡大・縮小処理の内容を示す説明図。
【図４】実施例における動画転送の標準手順を示すフローチャート。
【図５】動画表示キーを用いて矩形の動画領域内の一部の領域にのみ動画の映像データを転送する場合を示す説明図。
【図６】動画表示キーを用いた映像の転送動作を示すフローチャート。
【図７】映像のフィルタリング処理を含む転送手順を示すフローチャートである。
【図８】水平方向のフィルタリング処理の動作を示すタイミングチャート。
【図９】映像の垂直方向の縮小処理を含む転送手順を示すフローチャート。
【図１０】有効ラインテーブルとこれを用いた映像の垂直方向の縮小処理を示す説明図。
【図１１】第２実施例としてのコンピュータシステムの構成を示すブロック図。
【図１２】ＰＬＬ回路１００の内部構成を示すブロック図。
【図１３】第２実施例の変形例を示すブロック図。
【図１４】この発明の第３実施例としてのコンピュータシステムの構成を示すブロック図。
【図１５】この発明の第４実施例としてのコンピュータシステムの構成を示すブロック図。
【図１６】２つのリニア発振制御部３００，４００の内部構成を示すブロック図。
【符号の説明】
２０…プロセッサバス
３０…ＣＰＵ
３２…リニア発振制御部
３４…ビデオコントローラ
３６…メインメモリ
３８…バッファメモリ
３８ａ，３８ｂ…バッファメモリ
４０…ＶＲＡＭ
４２…カラーＣＲＴ
５０…Ａ−Ｄ変換器
５２…ビデオデコーダ
５４…動画表示キーメモリ
６０…発振子
６２…発振器
６４…分周器
６６…位相比較部
６８…ループフィルタ
７０…電圧制御発振器
７２…分周器
１００…ＰＬＬ回路
１１０…切換制御部
１６６…位相比較部
１７０…電圧制御発振器
１７２…分周器
１８０…分周器
２００…高速バス
２０２…ブリッジ
２０４…動画転送コントローラ
２０６…バスアービタ
２０８…共通メモリ
２４０…バスアービタ
３００，４００…リニア発振制御部
３６４，３７２…分周器
３７４…セレクタ
４００…リニア発振制御部
４６４，４７２…分周器
４７４…セレクタ
【図１】
0003666063.tif 000002
【図２】
0003666063.tif 000003
【図３】
0003666063.tif 000004
【図４】
0003666063.tif 000005
【図５】
0003666063.tif 000006
【図６】
0003666063.tif 000007
【図７】
0003666063.tif 000008
【図８】
0003666063.tif 000009
【図９】
0003666063.tif 000010
【図１０】
0003666063.tif 000011
【図１１】
0003666063.tif 000012
【図１２】
0003666063.tif 000013
【図１３】
0003666063.tif 000014
【図１４】
0003666063.tif 000015
【図１５】
0003666063.tif 000016
【図１６】
0003666063.tif 000017