JPH10143426A - メモリ回路に格納されたピクセルデータを転送する方法および装置 - Google Patents

メモリ回路に格納されたピクセルデータを転送する方法および装置

Info

Publication number
JPH10143426A
JPH10143426A JP16476497A JP16476497A JPH10143426A JP H10143426 A JPH10143426 A JP H10143426A JP 16476497 A JP16476497 A JP 16476497A JP 16476497 A JP16476497 A JP 16476497A JP H10143426 A JPH10143426 A JP H10143426A
Authority
JP
Japan
Prior art keywords
pixel data
destination
region
source
memory
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.)
Withdrawn
Application number
JP16476497A
Other languages
English (en)
Inventor
Karl Scott Mills
スコット ミルズ カール
Mark Emil Bonnelycke
エミル ボニーレキー マーク
Vernon Dennis Hasz
デニス ハス バーノン
Jeffrey Michael Holmes
マイケル ホルメス ジェフリー
Richard Charles Andrew Owen
チャールズ アンドリュー オウェン リチャード
Lauren Emory Linstad
エモリー リンスタッド ローレン
Bradley Andrew May
アンドリュー メイ ブラッドレー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cirrus Logic Inc
Original Assignee
Cirrus Logic Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cirrus Logic Inc filed Critical Cirrus Logic Inc
Publication of JPH10143426A publication Critical patent/JPH10143426A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Abstract

(57)【要約】 (修正有) 【課題】 ピクセルデータをメモリ内で移動させる際、
異なるメモリロウにわたるアクセス回数を減らす。 【解決手段】 デスティネーション領域およびソース領
域のそれぞれは1組の境界線によって定義され、タイル
化スキームはビデオ画像を表示するディスプレイスクリ
ーン上に複数のタイルを含み、複数のタイルは1組のX
タイル境界および1組のYタイル境界によって形成さ
れ、デスティネーション領域がXタイル境界およびYタ
イル境界を横切る場合に、デスティネーション領域を、
Xタイル境界とYタイル境界とデスティネーション領域
の境界線とによって定義される1組のデスティネーショ
ン矩形サブ領域に分割するステップと、ソース矩形サブ
領域を1組のデスティネーション矩形サブ領域に対応さ
せるステップと、あるソース矩形サブ領域から取り出し
たピクセルデータを、デスティネーションサブ領域に格
納するステップとを包含する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、広義には、コンピ
ュータグラフィックスシステムに関し、より具体的に
は、メモリ回路のある領域に格納されたピクセルデータ
をメモリ回路の他の領域に転送する方法および装置に関
する。
【0002】
【従来の技術】メモリ装置内に格納された表示データを
用いてディスプレイ装置に表示信号を生成するグラフィ
ックスコントローラ回路は、従来技術において公知であ
る。ディスプレイメモリ140に格納された表示データを
用いてディスプレイ装置130に表示信号を生成し得るこ
のようなグラフィックスコントローラ回路120を備えた
コンピュータシステム100のブロック図を図1に示す。
このような表示データは、例えば、ディスプレイ装置13
0上の各ピクセルに対応する(RGB888のようなフォーマ
ットでコード化された)ピクセルデータを含み得る。
【0003】従来技術によるディスプレイメモリ140
は、図2に示されるように、走査ライン順に表示データ
を格納し得る。走査ライン順にピクセルデータを格納す
る場合、ある画像の1本の走査ラインに対応するピクセ
ルデータは、別の走査ラインのピクセルデータが格納さ
れる前に、連続するメモリ位置に格納され得る。従っ
て、ディスプレイ装置130の走査ライン1のピクセルデ
ータ(R1-1、R1-2、R1-3、...、R1-640、...)
は、図4の走査ライン2のピクセルデータ(R2-1、R2-
2、R2-3、...、R2-640、...)の前に、連続する
メモリ位置に格納され得る。
【0004】コンピュータシステム100は、ディスプレ
イ装置130上のある領域(以下、ソース領域と呼ぶ)か
らディスプレイ装置130上の他の領域(以下、デスティ
ネーション領域と呼ぶ)にビデオ画像の一部を「移動」
させるように要求される場合がある。例えば、図3に示
されるように、コンピュータシステム100のユーザが、
矩形領域310に対応する画像を領域320に移動するように
要求する場合がある。
【0005】このような画像移動要求に応答して、グラ
フィックスコントローラ120は、(例えば、ディスプレ
イメモリ140のメモリ位置にある)ソース領域310のピク
セルデータを取り出して、取り出したピクセルデータを
デスティネーション領域320に対応するメモリ位置に保
存し得る。次に、グラフィックスコントローラ回路120
は、このような転送されたピクセルデータを有するディ
スプレイメモリ140から表示信号を生成し得る。
【0006】表示データを走査ライン順にディスプレイ
メモリ140に格納する場合の問題点の1つは、移動処理
のためのピクセルデータの取出しおよび格納を行うため
に、ディスプレイメモリ140の異なるロウにアクセスす
る必要が生じ得ることである。異なるメモリロウに対す
る連続的なメモリアクセスは、同一のメモリロウ内での
連続的なメモリアクセスよりも時間がかかり得るので、
グラフィックスコントローラ120のスループット性能を
低下させ、それによってコンピュータシステム100のス
ループット性能に影響を与え得る。
【0007】異なるメモリロウにわたるメモリアクセス
の回数を少なくするために、グラフィックスコントロー
ラ120は、図4に示されるようなタイル化スキーム(tile
d scheme) によって表示データの格納を行い得る。タイ
ル化スキームを用いる場合、ディスプレイ装置130上の
ディスプレイスクリーンは、図5に示されるように、数
個の論理タイル(311〜315、321〜325、331〜33
5、...)に分割され得る。あるタイルのピクセルデ
ータは、別のタイルのピクセルデータが格納される前
に、ディスプレイメモリ140内の連続するメモリ位置に
格納され得る。各タイルのサイズは、128×16ピクセル
等の所定のサイズであり得る。
【0008】従って、図4において、タイル311の走査
ライン1(ピクセルR1-1〜ピクセルR1-128)の(1ピク
セルに1メモリ位置が対応するフォーマットでコード化
された)表示データはディスプレイメモリ140のメモリ
位置0〜127に、タイル311の走査ライン2の表示データ
はメモリ位置128〜255に格納され得る。隣接するピクセ
ルに対応する表示データが連続するメモリ位置に格納さ
れるので、異なるメモリロウにわたるメモリアクセス
(格納および取出し)の回数を、図2の走査ライン式格
納スキームの場合よりも少なくし、これにより、コンピ
ュータシステム100の性能を向上させ得る。
【0009】しかし、図5に示されるように、ある移動
処理に関係するソース領域ABCDあるいはデスティネーシ
ョン領域JKLMがタイル境界を横切る場合、この移動処理
を行うために、ディスプレイメモリ140内の異なるメモ
リロウにわたるアクセスを行う必要が生じ得る。異なる
メモリロウにわたる連続的なアクセスが性能に与える影
響を最低限に抑えるためには、このような異なるメモリ
ロウにわたる連続的なアクセスの回数を少なくすること
が望ましい。
【0010】
【発明が解決しようとする課題】このように、メモリ回
路のある領域に格納されたピクセルデータをメモリ回路
の他の領域に転送する際、異なるメモリロウにわたって
連続するアクセスの回数を減らし、それによってシステ
ムのパフォーマンスを向上させる方法および装置を提供
する課題がある。
【0011】本発明は上記課題を解決するためになされ
たものであり、メモリ回路のある領域に格納されたピク
セルデータをメモリ回路の他の領域に転送する際、異な
るメモリロウにわたって連続するアクセスの回数を減ら
し、それによってシステムのパフォーマンスを向上させ
る方法および装置を提供することを目的とする。
【0012】
【課題を解決するための手段】本発明による、ビデオ画
像のピクセルデータをタイル化スキームに従ってメモリ
回路内に含まれる1組のメモリ位置に格納するコンピュ
ータシステムにおいて、メモリ回路内の1組のピクセル
データをソース領域に対応するメモリ位置からデスティ
ネーション領域に対応するメモリ位置に転送する方法に
おいて、その方法は、デスティネーション領域およびソ
ース領域のそれぞれは1組の境界線によって定義され、
タイル化スキームはビデオ画像を表示するディスプレイ
スクリーン上に複数のタイルを含み、複数のタイルは1
組のXタイル境界および1組のYタイル境界によって形
成され、デスティネーション領域が少なくとも1つのX
タイル境界および少なくとも1つのYタイル境界を横切
る場合に、デスティネーション領域を、少なくとも1つ
のXタイル境界と、少なくとも1つのYタイル境界と、
デスティネーション領域の1組の境界線とによって定義
される1組のデスティネーション矩形サブ領域に分割す
るステップと、ソース領域に含まれるあるソース矩形サ
ブ領域のピクセルデータを取り出すステップであって、
ソース矩形サブ領域は1組のデスティネーション矩形サ
ブ領域に含まれるあるデスティネーション矩形サブ領域
に対応する、ステップと、あるソース矩形サブ領域から
取り出したピクセルデータをデスティネーションサブ領
域に対応するメモリ位置に格納するステップと、を包含
する方法であり、そのことにより上記目的が達成され
る。
【0013】ある実施形態では、ピクセルデータを取り
出すステップは、1回のブロック転送によって取り出し
得るピクセルデータ数を決定するステップと、複数の連
続的な反復処理の中の1回においては上記の数以下のピ
クセルデータを取り出すステップと、をさらに包含す
る。
【0014】ある実施形態では、ピクセルデータを格納
するステップは、上記の数以下のピクセルデータを取り
出すステップにおいて取り出されたピクセルデータを、
1回のブロック転送によって格納するステップをさらに
包含する。
【0015】ある実施形態では、上記の数以下のピクセ
ルデータを取り出すステップは、ビデオ画像の走査ライ
ンに含まれるピクセルデータを取り出すステップをさら
に包含する。
【0016】ある実施形態では、あるソース矩形サブ領
域のピクセルデータを取り出すステップは、ソース矩形
がタイル境界を横切るかどうかを決定するステップ(a)
と、ソース矩形サブ領域がタイル境界を横切る場合に
は、ソース矩形サブ領域のピクセルデータを複数回の反
復処理によって取り出すステップ(b)と、ソース矩形サ
ブ領域がタイル境界を横切らない場合には、ソース矩形
サブ領域のピクセルデータを一連の非反復処理によって
取り出すステップ(c)と、をさらに包含する。
【0017】ある実施形態では、あるソース矩形サブ領
域のピクセルデータを取り出すステップは、上記のステ
ップ(b)の複数回の連続的な反復処理によって取り出し
たピクセルデータを1回のブロック転送によって格納す
るステップをさらに包含する。
【0018】本発明による方法は、ビデオ画像のピクセ
ルデータをタイル化スキームに従ってメモリ回路内に含
まれる1組のメモリ位置に格納するコンピュータシステ
ムにおいて、メモリ回路内の1組のピクセルデータを、
ソース領域に対応するメモリ位置からデスティネーショ
ン領域に対応するメモリ位置に転送する方法であって、
デスティネーション領域およびソース領域のそれぞれは
1組の境界線によって定義され、タイル化スキームは、
1組のXタイル境界および1組のYタイル境界によって
形成される複数のタイルを含み、デスティネーション領
域が少なくとも1つのXタイル境界および少なくとも1
つのYタイル境界を横切る場合に、デスティネーション
領域を、少なくとも1つのXタイル境界と、少なくとも
1つのYタイル境界と、デスティネーション領域の境界
線とによって定義される1組のデスティネーション矩形
サブ領域に分割するステップ(a)と、1回のブロック転
送によって取り出し得るピクセルデータ数を決定するス
テップ(b)と、ステップ(b)において決定されたピクセル
データ数に適合する、1つのデスティネーション矩形サ
ブ領域内の走査ライン数を決定するステップであって、
デスティネーションサブ領域は1組のデスティネーショ
ン矩形サブ領域に含まれる、ステップ(c)と、デスティ
ネーション矩形サブ領域の開始アドレスのY座標を調べ
て、上記の数の走査ラインを取り出す場合にXタイル境
界の横断が生じるかどうかを決定するステップ(d)と、
上記の数の走査ラインを取り出す場合にXタイル境界の
横断が生じる場合には、上記の数の走査ラインのピクセ
ルデータを複数回のブロック転送によって取り出すステ
ップ(e)と、上記の数の走査ラインを取り出す場合にX
タイル境界の横断が生じない場合には、上記の数の走査
ラインのピクセルデータを1回のブロック転送によって
取り出すステップ(f)と、ステップ(f)またはステップ
(e)において取り出されたピクセルデータを1回のブロ
ック転送によって格納するステップ(g)と、を包含する
方法であり、そのことにより上記目的が達成される。
【0019】本発明によるグラフィックスコントローラ
回路は、コンピュータシステム内のメモリに関連して動
作するグラフィックスコントローラ回路であって、メモ
リはビデオ画像に対応するピクセルデータをタイル化ス
キームに従って格納し、タイル化スキームはディスプレ
イスクリーン上に複数のタイルを含み、複数のタイルは
1組のXタイル境界および1組のYタイル境界によって
定義され、グラフィックスコントローラ回路はソース領
域に対応する1組のピクセルデータをデスティネーショ
ン領域に対応するメモリ位置に転送し、デスティネーシ
ョン領域およびソース領域のそれぞれは1組の境界線に
よって定義され、デスティネーション領域が少なくとも
1つのXタイル境界および少なくとも1つのYタイル境
界を横切る場合に、1組のピクセルデータ受け取り、1
組の入力ピクセルデータに対してラスタ処理を行うこと
によって1組の表示ピクセルデータを生成するラスタ処
理手段と、メモリから1組のピクセルデータを取り出し
てピクセルパスブロックに提供する転送エンジンであっ
て、転送エンジンは、デスティネーション領域を、少な
くとも1つのXタイル境界と、少なくとも1つのYタイ
ル境界と、デスティネーション領域の境界線とによって
定義される1組のデスティネーション矩形サブ領域に分
割し、転送エンジンはソース領域に含まれるあるソース
矩形サブ領域のピクセルデータを取り出し、ソース矩形
サブ領域は1組のデスティネーション矩形サブ領域に含
まれるあるデスティネーション矩形サブ領域に対応す
る、転送エンジンと、ラスタ処理手段によって生成され
る1組の表示ピクセルデータを格納するメモリ制御装置
と、を備えているグラフィックスコントローラ回路であ
り、そのことにより上記目的が達成される。
【0020】ある実施形態では、転送エンジンは、1組
のデスティネーション矩形ブロックのそれぞれに対応す
るソース矩形サブ領域のピクセルデータの部分集合をシ
ーケンシャルに取り出し、ピクセルデータの部分集合を
ピクセルパスブロックに提供し、ピクセルデータの部分
集合は1組のピクセルデータに含まれる。
【0021】ある実施形態では、転送エンジンは、デス
ティネーション領域の開始アドレスのX、Y座標を格納
するデスティネーション開始レジスタと、ソース領域の
開始アドレスのX、Y座標を格納するソース開始レジス
タと、転送するべきソース領域のX範囲およびY範囲を
格納するXY範囲レジスタと、Xタイル方向の取り出す
べきピクセルデータ数を格納するXカウントレジスタ
と、取り出すべき走査ライン数を格納するYカウントレ
ジスタと、1組のピクセルデータのそれぞれを取り出す
ためのメモリアドレスを生成するリニアアドレス生成器
と、リニアアドレス生成器にXカウントレジスタおよび
Yカウントレジスタに格納された値に応じたメモリアド
レスを生成させるメモリ状態マシンと、取り出すべき走
査ライン数と、Xタイル方向の取り出すべきピクセルデ
ータ数とを決定するフェッチ計算器であって、デスティ
ネーション矩形サブ領域のそれぞれの、X方向にそって
存在するピクセル数に基づいて、Xタイル方向の取り出
すべきピクセルデータ数を決定するフェッチ計算器と、
を備えている。
【0022】ある実施形態では、グラフィックスコント
ローラ回路が受け取ったピクセルデータの全てをバッフ
ァリングするレジスタをさらに備え、レジスタは所定の
最大データ量を格納する。
【0023】ある実施形態では、フェッチ計算器は、所
定の最大データ量と、X方向の取り出すべきピクセル数
とに基づいて、取り出すべき走査ライン数を決定する。
【0024】本発明によるコンピュータシステムは、ビ
デオ画像をディスプレイスクリーン上に表示するコンピ
ュータシステムであって、ディスプレイスクリーンは1
組のXタイル境界と1組のYタイル境界とによって定義
される1組のタイルに分割され、コンピュータシステム
は、ディスプレイスクリーン上のソース領域内に含まれ
るビデオ画像の一部分をデスティネーション領域に移動
する処理を行い、複数のメモリ位置を有し、ソース領域
に対応する1組のピクセルデータを1組のタイルに従っ
て格納するメモリと、デスティネーション領域に対応す
る1組のメモリ位置に1組のピクセルデータを転送する
グラフィックスコントローラ回路であって、デスティネ
ーション領域およびソース領域のそれぞれは1組の境界
線によって定義され、デスティネーション領域が少なく
とも1つのXタイル境界および少なくとも1つのYタイ
ル境界を横切る場合に、1組のピクセルデータを受け取
り、第1の組の入力ピクセルデータに対してラスタ処理
を行うことによって1組の表示ピクセルデータを生成す
るピクセルパスブロックと、メモリから1組のピクセル
データを取り出してピクセルパスブロックに提供する転
送エンジンであって、転送エンジンは、デスティネーシ
ョン領域を、少なくとも1つのXタイル境界と、少なく
とも1つのYタイル境界と、デスティネーション領域の
境界線とによって定義される1組のデスティネーション
矩形サブ領域に分割し、転送エンジンは、ソース領域に
含まれる第1のソース矩形サブ領域のピクセルデータを
取出し、第1のソース矩形サブ領域は1組のデスティネ
ーション矩形サブ領域に含まれる第1のデスティネーシ
ョン矩形サブ領域に対応する、転送エンジンと、ピクセ
ルパスブロックによって生成された1組の表示ピクセル
データを格納するメモリ制御装置と、を有するグラフィ
ックスコントローラ回路と、を備えているコンピュータ
システムであり、そのことにより上記目的が達成され
る。
【0025】ある実施形態では、転送エンジンは、1組
のデスティネーション矩形ブロックのそれぞれに対応す
るソース矩形サブ領域のピクセルデータの部分集合をシ
ーケンシャルに取り出し、ピクセルデータの部分集合を
ピクセルパスブロックに提供し、ピクセルデータの部分
集合は1組のピクセルデータに含まれる。
【0026】ある実施形態では、転送エンジンは、デス
ティネーション領域の開始アドレスのX、Y座標を格納
するデスティネーション開始レジスタと、ソース領域の
開始アドレスのX、Y座標を格納するソース開始レジス
タと、転送するべきソース領域のX範囲およびY範囲を
格納するXY範囲レジスタと、Xタイル方向の取り出す
べきピクセルデータ数を格納するXカウントレジスタ
と、取り出すべき走査ライン数を格納するYカウントレ
ジスタと、1組のピクセルデータのそれぞれを取り出す
ためのメモリアドレスを生成するリニアアドレス生成器
と、リニアアドレス生成器にXカウントレジスタおよび
Yカウントレジスタに格納された値に応じたメモリアド
レスを生成させるメモリ状態マシンと、取り出すべき走
査ライン数と、Xタイル方向の取り出すべきピクセルデ
ータ数とを決定するフェッチ計算器であって、デスティ
ネーション矩形サブ領域のそれぞれのX方向のピクセル
数に基づいて、Xタイル方向の取り出すべきピクセルデ
ータ数を決定するフェッチ計算器と、を備えている。
【0027】ある実施形態では、グラフィックスコント
ローラ回路が受け取ったピクセルデータの全てをバッフ
ァリングするレジスタをさらに備え、レジスタは所定の
最大データ量を格納する。
【0028】ある実施形態では、フェッチ計算器は、所
定の最大データ量と、X方向の取り出すべきピクセル数
とに基づいて、取り出すべき走査ライン数を決定する。
【0029】以下に作用を説明する。本発明は、メモリ
と協同して動作するグラフィックスコントローラ回路に
おいて具現され得る。メモリは、あるビデオ画像のピク
セルデータを、タイル化スキームに従って1組のメモリ
位置に格納し得る。タイル化スキームは、ビデオ画像を
表示するためのディスプレイスクリーン上の複数のタイ
ルを含み得る。この複数のタイルは、1組のXタイル境
界と1組のYタイル境界とによって定義され得る。
【0030】本発明の方法および装置は、ソース領域に
対応する1組のピクセルデータを、デスティネーション
領域に対応するメモリ位置に転送し得る。デスティネー
ション領域およびソース領域は1組の境界線によって定
義され得る。デスティネーション領域は、少なくとも1
つのXタイル境界および少なくとも1つのYタイル境界
を横断し得る。
【0031】本発明の方法および装置によれば、デステ
ィネーション領域は、上記少なくとも1つのXタイル境
界と、上記少なくとも1つのYタイル境界と、デスティ
ネーション領域の境界線とによって定義される、1組の
デスティネーション矩形サブ領域に分割され得る。ソー
ス領域に含まれる第1のソース矩形サブ領域のピクセル
データが取り出され得る。第1のソース矩形サブ領域
は、1組のデスティネーション矩形サブ領域に含まれる
第1のデスティネーション矩形サブ領域に対応し得る。
取り出されたピクセルデータは、第1のデスティネーシ
ョン矩形サブ領域に対応するメモリ位置に格納され得
る。上記ステップは、デスティネーション矩形サブ領域
の各組について繰り返し行われ得る。
【0032】第1のソース矩形サブ領域のピクセルデー
タを取り出すステップは、1回のブロック転送で取り出
し得るピクセルデータの数を決定するステップと、各ブ
ロック転送において上記数以下のピクセルデータを取り
出すステップとをさらに含み得る。上記数以下のピクセ
ルデータを取り出すこのステップは、第1のソース矩形
サブ領域のピクセルデータを全て取り出すまで繰り返し
行われ得る。好適な実施形態において、完全な走査ライ
ンのみに対応するピクセルデータが各ブロック転送にお
いて取り出され得る。ピクセルデータをデスティネーシ
ョン領域に格納するステップは、1回のブロック転送に
よって行われ得る。
【0033】本発明の方法は、第1のソース矩形がタイ
ル境界を横切るかどうかを判定するステップと、第1の
ソース矩形サブ領域がタイル境界を横切る場合に、第1
のソース矩形サブ領域のピクセルデータを複数回の反復
処理によって取り出すステップとをさらに含み得る。第
1のソース矩形サブ領域がタイル境界を横切らない場
合、第1のソース矩形サブ領域のピクセルデータは反復
処理のうちの1回によって取り出され得る。ただし、取
り出されたピクセルデータを格納するステップは、この
ようなタイル境界の横断の有無にかかわらず1回のブロ
ック転送によって行われ得る。
【0034】
【発明の実施の形態】図1および図5を参照して、ソー
ス領域ABCEの表示画像をデスティネーション領域JKLMに
移動するために、本発明のグラフィックスコントローラ
回路120は、デスティネーション領域JKLMを、Xタイル
境界線384と、Yタイル境界線32と、デスティネーショ
ン領域境界線(JK、KL、LM、およびMJ)とによって定義
される4つの論理矩形サブ領域(JQOP、KROQ、LSOR、お
よびMPOS)に分割し得る。次に、グラフィックスコント
ローラ回路120は、(デスティネーションサブ領域JQO
P、KROQ、LSOR、およびMPOSにそれぞれ対応する)ソー
スサブ領域AEIH、BFIE、DHIG、およびCGIFのうちの1つ
に対応するピクセルデータを取り出し、取り出したソー
スサブ領域のピクセルデータを対応するデスティネーシ
ョンサブ領域のメモリ位置に格納し得る。グラフィック
スコントローラ回路120は、残りの3つのサブ領域に対
応するピクセルデータについても同様の転送を行い得
る。
【0035】各デスティネーションサブ領域は1つのタ
イル内に配置され得る。また、各タイルのピクセルデー
タはディスプレイメモリ140の同一ページに格納され得
る。従って、本発明のグラフィックスコントローラ回路
120は、ディスプレイメモリ140内の同一ロウにあるメモ
リ位置にデータを格納することによって、ピクセルデー
タの格納(あるいは取出し)をより高速に行えるという
利点を有する。
【0036】従って、ディスプレイ装置130のタイル境
界に対するデスティネーション領域の位置に応じて、本
発明のピクセルデータ転送方法(ひいては、メモリロウ
への格納方法)が最適化され得ることが理解できる。こ
のようなスキームによれば、特に、本発明のグラフィッ
クスコントローラ回路120が移動処理とともにラスタ処
理を行うことが可能となり、また、このようなラスタ処
理は、デスティネーション領域に対応するピクセルデー
タを移動処理の前にオペランドの1つとして有するとい
う点で、有利である。
【0037】例えば、図5の場合、移動処理が指定され
る以前において、表示カーソルが初期的にデスティネー
ション領域JKLM内にあり、コンピュータシステム100の
ユーザは領域ABCD内の画像をデスティネーション領域JK
LMに移動する処理を指定し得る。このような移動処理に
おいて、ソース領域ABCDの画像をデスティネーション領
域JKLMに移動するにもかかわらず、表示カーソルをデス
ティネーション領域内に保持することが必要であり得
る。
【0038】従って、この表示カーソルを保持するため
には、グラフィックスコントローラ回路120は、まず、
デスティネーション領域およびソース領域に対応するメ
モリ位置にあるピクセルデータを取り出し、このデステ
ィネーション領域およびソース領域のピクセルデータを
用いてラスタ処理を行い、つぎに、ラスタ処理によって
生成されたピクセルデータをデスティネーション領域に
対応するメモリ位置に保存してもよい。上記説明では、
表示カーソルの保持に関して説明を行ったが、当該分野
において周知であるいくつかのラスタ処理においては、
グラフィックスコントローラ回路120が、移動処理前に
デスティネーション領域に格納されたピクセルデータを
用い得ることが理解されてよい。
【0039】デスティネーション領域JKLMに対応するメ
モリ位置は、ソース領域に対応するメモリ位置よりも
(取出しおよび格納のために)多くアクセスされ得る。
また、本発明のグラフィックスコントローラ回路120
は、デスティネーション領域のメモリ位置へのアクセス
をより効率的に行うように設計され得る。このため、本
発明のコンピュータシステム100のスループット性能
を、従来技術によるコンピュータシステムの性能よりも
高めることが可能である。
【0040】図6は、本発明のグラフィックスコントロ
ーラ回路120を示すブロック図である。グラフィックス
コントローラ回路120は、ラスタ処理と並行して画像移
動処理を行うことができる。グラフィックスコントロー
ラ回路120は、ピクセルパスブロック820と、ピクセルパ
ス制御部850と、転送エンジン840と、ホストインターフ
ェース810と、メモリ制御装置830とを備え得る。ホスト
インターフェース810は、システムバス112を介して、ホ
スト110からの表示データおよびコマンドの送信および
受信を行うように設計され得る。
【0041】画像移動処理(あるいは、広い意味でのあ
らゆるラスタ処理)を行うために、転送エンジン840
は、図9のフローチャートに示す方法に従って、ピクセ
ルデータをディスプレイメモリ140から取出し得る。ピ
クセルパスブロック820は、ディスプレイメモリバス124
を介してピクセルデータを受け取り、ホスト110から受
け取ったコマンドによって指定され得る処理を行い、生
成されたピクセルデータをメモリ制御装置830に提供す
ることができる。
【0042】受け取ったコマンドによって、ラスタ処
理、ストレッチ処理、あるいは透過処理等の処理が特定
され得る。好適な実施形態において、各ラスタ処理は、
最大4つのオペランドを含み得る。このようなオペラン
ドのそれぞれは、ホスト110あるいはディスプレイメモ
リ140からのピクセルデータを含み得る。ラスタ処理の
結果は、後続のラスタ処理のオペランドとしても提供さ
れ得る。
【0043】ピクセルパスブロック820は、透過マスク
(transparency mask)を提供し得る。ディスプレイメモ
リ140は、この透過マスクを用いて、透過マスクによっ
て示されるバイトのみを選択的に格納し得る。この選択
的な格納によって、グラフィックスコントローラ回路12
0の透過処理が可能になり得る。
【0044】ピクセルパスブロック820がラスタ処理を
行うことによってピクセルデータを生成する一方で、こ
れと並行して、転送エンジン840は、バス843を介して、
ピクセルパスブロック820によって生成される各ピクセ
ルデータに対応するメモリアドレスを提供し得る。メモ
リ制御装置830は、透過マスクおよびメモリアドレスに
応じてピクセルデータを格納し得る。メモリ制御装置83
0の一部は、一装置としてディスプレイメモリ140に含ま
れ得る。ピクセルパス制御部850は、ピクセルパスブロ
ック820および転送エンジン840の動作を調整するための
制御信号を生成する。
【0045】ラスタ処理は、ラスタ処理装置(rasterop
unit)570における移動処理のみを含むことがあり得る。
ラスタ処理を行うために、グラフィックスコントローラ
回路120は、オペランド(デスティネーション領域を含
む)に対応するピクセルデータを受け取り、ラスタ処理
を行い、そして、生成されたピクセルデータをデスティ
ネーション領域に対応するディスプレイメモリ140のメ
モリ位置に格納し得る。デスティネーション領域のメモ
リアドレスに対する取出しの順序を最適化することによ
って、グラフィックスコントローラ回路120は、従来技
術のグラフィックスコントローラ回路よりも高レベルの
スループット性能を達成し得る。
【0046】図7は、ピクセルパスブロック820を示す
ブロック図である。ピクセルパスブロック820は、入力
としてピクセルデータを受け取り、入力ピクセルデータ
に対してラスタ処理を行うことによって表示用ピクセル
データを生成し得る。マルチプレクサ505は、ライン82
2、124および812上のピクセルデータを受け取り、受け
取ったピクセルデータを、マルチプレクサ制御信号501
の制御下で3本のパイプライン591、592および593のい
ずれかに選択的に提供し得る。パイプライン591、592お
よび593は、ピクセルデータを処理することによって、
ラスタ処理用のオペランドを最大3つまで生成し得る。
受け取ったピクセルデータは、単色ピクセルデータある
いはカラーピクセルデータを含み得る。
【0047】ラスタ処理装置570は、このようなオペラ
ンドに対してラスタ処理を実行することによって、ディ
スプレイメモリ140に格納される、あるいは、反復処理
の次の1回のオペランドとして提供されるピクセルデー
タを生成し得る。ピクセルFIFO 560は、ピクセルデータ
を格納する際、ラスタ処理装置570と、図1に示すディ
スプレイメモリ140との間の中間バッファとして機能し
得る。図1に示すグラフィックスコントローラ回路120
は、ディスプレイメモリ140内に格納されたピクセルデ
ータを用いてディスプレイ装置130に表示信号を生成し
得る。
【0048】ピクセルパスブロック820は、透過処理装
置(transparency unit)675をさらに含み得る。透過処理
装置675は、ラスタ処理の実行によって生成されるピク
セルデータに対応するライトイネーブルマスクバイトを
生成し得る。バイトイネーブルFIFO 680は、このような
バイトイネーブルマスクバイトをいくつかバッファリン
グして、バイトイネーブルマスクワードをディスプレイ
メモリ140に提供し得る。
【0049】ディスプレイメモリ140は、このようなラ
イトイネーブルマスクを用いてピクセルFIFO 560から受
け取ったピクセルデータを選択的に格納することによっ
て、透過処理を行い得る。透過処理装置675および透過
処理の実行方法の1つの実施形態は、同時係属中米国特
許出願である代理人整理番号CRUS-0034(シリアル番号
はまだ付与されていない)“A METHOD AND APPARATUS F
OR EXECUTING A RASTER OPERATION IN A GRAPHICS CONT
ROLER CIRCUIT”に記載されており、本明細書中に参考
として援用される。
【0050】図1を参照して、ディスプレイメモリ140
は、ピクセルデータを格納するための、64ビットのワー
ドを有するRAMBUS(TM)メモリを含み得る。格納されたピ
クセルデータは、ホスト110から受け取った表示データ
あるいはラスタ処理によって生成されたピクセルデータ
を含み得る。ディスプレイメモリ140は、ラスタ処理に
よって生成された64ビット(8バイト)のデータワード
と、対応するライトイネーブルマスクとを1クロックサ
イクル中に受け取り得る。ライトイネーブルマスクは、
受け取った64ビットデータワードの各バイトに対応する
8ビットを含み得る。この8個のビットのそれぞれによ
って、対応するバイトがディスプレイメモリ140に書き
込まれ得るかどうかが特定される。ディスプレイメモリ
140は、ライトイネーブルマスクによって指定されたバ
イトのデータのみを格納(ひいては、上書き)し得る。
【0051】引き続き図7および図6を参照して、ピク
セルパス制御部850は、転送エンジン840、パイプライン
591、592および593、透過処理装置675、ならびに、ラス
タ処理装置560の動作を調整するための制御信号を生成
し得る。例えば、ピクセルパス制御部850は、ビデオ画
像の一部をデスティネーション領域に移動しながら、そ
の部分のビデオ画像に透過処理を行い得る。
【0052】このような複数機能の組み合わせを行うた
めに、転送エンジン840は、移動すべき画像に対応する
ピクセルデータを取り出し、取り出したピクセルデータ
に対して行うべき特定のステップに応じて、ピクセルパ
イプライン592または593にオペランドとしてこのピクセ
ルデータを提供する。ピクセルパス制御部850は、ラス
タ処理を行うことによってラスタ処理装置570にピクセ
ルデータを生成させるための制御信号を生成し得る。
【0053】これと並行して、ピクセルパス制御部850
は、透過処理装置675に透過処理用信号を受信させて、
ラスタ処理装置675によって生成されたピクセルデータ
に対応する透過マスクを生成させ得る。ディスプレイメ
モリ140は、透過マスクを用いて、ラスタ処理装置570に
よって生成されたピクセルデータの部分集合のみを選択
的に格納し得る。ピクセルパス制御部850は、ある移動
処理におけるデスティネーション領域に対応するメモリ
位置にピクセルデータを格納させ得る。このように、ピ
クセルパス制御部850は、表示ブロック移動処理ととも
に、他の処理(透過処理等)を行わせることができる。
【0054】ピクセルFIFO 560は、ラスタ処理の実行に
よって生成された64ビットのピクセルデータワードをラ
スタ処理装置570から受け取り得る。ピクセルFIFO 560
は、受け取ったピクセルデータを、メモリバス124を介
してディスプレイメモリ140に格納し得る。4つ以上の
オペランドを用いてラスタ処理を行うために、ピクセル
FIFO 560は、ラスタ処理装置570によって生成されたピ
クセルデータを、反復処理の次の1回を行う際のオペラ
ンドとして、バス822を介してマルチプレクサ505に送り
得る。ピクセルFIFO 560は、複合(multiple)64ビットピ
クセルワードを、1回のバースト転送によってディスプ
レイメモリ140に転送し得る。好適な実施形態において
は、ピクセルFIFO 560は、最大32個の64ビットワードを
格納して、その全データを1回のバースト転送によって
転送し得る。
【0055】第4のパイプライン594は補間装置680を含
み、入力ビデオデータに対応するビデオ画像の拡大また
は縮小を行い得る。補間装置680は、入力ビデオデータ
の2本の走査ラインに対応するピクセルデータを、パイ
プライン592および593からそれぞれ受け取り、入力ビデ
オピクセルデータを補間し、これにより、拡大または縮
小ビデオ画像のピクセルデータを生成し得る。補間装置
680は、生成されたピクセルデータをパイプライン592に
送り得る。補間装置680の実施形態の1つは、本明細書
中に参考として援用される、1995年9月28日に出願され
た同時係属中米国特許出願であるシリアル番号08/536,5
53号、“A Method and Apparatus for Minimizing Numb
er of Pixel Data Fetches Required for a Stretch Op
erationof Video Images”に記載されている。
【0056】パイプライン591は、メモリインターフェ
ース回路509、コンバータ521、バレルシフタ540、およ
び、各ラスタ処理においてオペランド2を処理するため
のオペランド記憶装置2(OSU2)530を含み得る。メモ
リインターフェース回路509は、マルチプレクサ505から
ピクセルデータを受け取り、ピクセルデータが単色ピク
セルデータあるいはカラーピクセルデータのいずれを含
んでいるかに応じて、ピクセルデータをコンバータ521
あるいはバレルシフタ540のいずれかに送り得る。
【0057】ピクセルデータが単色ピクセルデータを含
んでいる場合、メモリインターフェース回路509は、そ
の単色ピクセルデータをコンバータ521に提供し得る。
コンバータ521は、単色ピクセルデータをカラーピクセ
ルデータに変換し得る。好適な実施形態におけるコンバ
ータ521は、各単色ピクセルデータビットを、コンピュ
ータシステム100のユーザによって特定されるフォーマ
ットに変換し得る。コンバータ521の実施形態の1つ
は、本明細書中に参考として援用される、1995年12月19
日に出願された同時係属中米国特許出願である代理人整
理番号CRUS-0036(シリアル番号はまだ付与されていな
い)、“A Method and Apparatus for Converting Mono
chrome Pixel Data to Color Pixel Data”に記載され
ている。
【0058】マルチプレクサ505から受け取ったピクセ
ルデータがカラーピクセルデータを含んでいる場合、メ
モリインターフェース回路509は、そのカラーピクセル
データをバレルシフタ540に提供し得る。バレルシフタ5
40は、レジスタ511から受け取ったカラーピクセルデー
タを回転させて (rotate)、必要な桁合せを行う。例え
ば、必要なピクセルデータがビット位置8から配置され
ている場合、バレルシフタ540はカラーピクセルデータ
をビット8個分(ビット0〜ビット7に相当)だけシフ
トさせることにより、必要なピクセルデータを最下位ビ
ットから始まるように配置し得る。バレルシフタ540
は、回転させたカラーピクセルデータをOSU2 530に送
る。
【0059】SRAM 512、レジスタ513、コンバータ522、
およびバレルシフタ541を備えている(オペランド1を
処理するための)第2のパイプライン592は、第1のパ
イプライン591と同様に動作することが可能であり、各
クロックサイクル中に、オペランド1用の64ビットのワ
ードをOSU1 531内に格納し得る。ただし、バレルシフタ
541は、拡大または縮小したビデオ画像に対応するピク
セルデータを補間装置680から受け取り、このピクセル
データを、OSU1 531を介して、オペランド1として提供
し得る。第3のパイプライン593は、オペランド0をバ
ッファリングしてOSU0 532に提供するSRAM 514を含み得
る。
【0060】ラスタ処理装置570は、OSU1 531、OSU0 53
2およびOSU2 530のそれぞれから(ソースオペランド、
デスティネーションオペランド、およびパターンオペラ
ンドと呼ばれる)3つのオペランドを受け取り、ラスタ
処理を実行してピクセルデータを生成し得る。ラスタ処
理は、例えば、この3つのオペランドの全てあるいはそ
の部分集合のブール論理処理を含み得る。必要なオペラ
ンドが3つ未満であるラスタ処理もあり、そのような場
合には、対応OSUのオペランド出力が使用されない場合
もある。これらのオペランドに対して行うべき論理処理
の種類を特定するラスタ処理コードは、グラフィックス
コントローラ120内のレジスタによって特定され得る。
【0061】従って、本発明のグラフィックスコントロ
ーラ回路120は、ピクセルデータをディスプレイメモリ1
40のある部分から別の部分に移動して移動処理を行う間
に、ラスタ処理あるいは透過処理等の他の処理を行うこ
とができる。
【0062】図8は、転送エンジン840を示すブロック
図である。転送エンジン840は、図9のフローチャート
に示す方法に従ってピクセルデータを転送し得る。転送
エンジン840は、加算器910および920、デスティネーシ
ョン開始位置レジスタ945、減算器930、ソース開始位置
レジスタ940、XY範囲レジスタ950、フェッチ計算器9
70、リニアアドレス生成器975、およびタイルサイ
ズレジスタ960を含み得る。
【0063】図5、図8および図9を参照して、ソース
領域ABCDのビデオ画像をデスティネーション領域JKLMに
移動するために、ホスト110は、レジスタ945、940およ
び950を適切な値に設定し、画像移動処理を開始するコ
マンドを送ることができる。ステップ700において、ホ
スト110は、デスティネーション開始位置レジスタ945
を、デスティネーション領域の開始アドレス(ピクセル
ポイントJ)のX、Y座標に設定し得る。例えば、デス
ティネーション開始位置レジスタ945には、デスティネ
ーション領域JKLMのポイントJのX座標およびY座標を
表す値である374および20がロードされ得る。図5に示
されるように、ピクセルポイントK、L、およびMの
(X、Y)座標は、それぞれ、(450、20)、(450、3
9)および(374、39)である。
【0064】ステップ705において、ホスト110は、ソー
ス開始位置レジスタ940に、ソース領域の開始アドレス
のX、Y座標を設定し得る。従って、ソース開始位置レ
ジスタ940は、ピクセルポイントAのX、Y座標(130、
60)に設定され得る。ステップ715において、ホスト110
は、XY範囲レジスタ950に、ソース(あるいはデステ
ィネーション)矩形領域のX範囲およびY範囲を設定し
得る。従って、ソース領域ABCDからデスティネーション
領域JKLMに画像を移動するために、X範囲およびY範囲
の値は、それぞれ、80(即ち、450−370)および19(即
ち、39−20)に設定され得る。次に、ホスト110は、画
像移動処理を開始するコマンドを送り得る。
【0065】グラフィックスコントローラ回路120は、
図9に示されるステップ720〜ステップ770を実行して、
デスティネーション領域JKLMに対応する矩形領域JQOP、
KROQ、LSOR、およびMPOSのそれぞれを転送し得る。図5
に示されるように、これらのサブ領域は、Xタイル境
界、Yタイル境界およびデスティネーション領域境界線
によって定義される。
【0066】このようなサブ領域内の全ピクセルデータ
を格納するのに十分な記憶スペースが内部バッファにな
い場合もあり、そのような場合、グラフィックスコント
ローラ120は、1回のバースト転送において、このサブ
領域の一部分(やはり矩形)だけを転送し得る。例え
ば、(グラフィックスコントローラ120が受け取ったピ
クセルデータをバッファリングする)SRAM 510、512お
よび514には、ピクセルデータの中の128バイトだけしか
格納できないので、グラフィックスコントローラ回路12
0は、128バイトを越えるピクセルデータを一連の非反復
処理によって受け取ることはできない。
【0067】従って、ステップ720において、フェッチ
計算器970は、Yタイル境界を横断せずに格納できるデ
スティネーションブロック内のX方向ピクセル数(以
下、Xカウント値と呼ぶ)を決定し得る。よって、実際
には、フェッチ計算器970は、図5のラインJQ上にある
ピクセルの数の決定し、Xカウントレジスタ985にXカ
ウント値を設定する。従って、ソース領域ABCDからデス
ティネーション領域JKLMに画像を移動する間に、Xカウ
ントレジスタ985の値は10(即ち、384−374)に設定さ
れ得る。
【0068】ステップ725において、フェッチ計算器970
は、1回のブロック転送あるいはバースト転送によって
取り出し得る、Xカウント分の長さを有する走査ライン
の数を決定し得る。グラフィックスコントローラ回路12
0は、1回のブロック転送で128バイトを越える取出しを
行うことはできないので、フェッチ計算器970は、128を
Xカウント値で除算し、これにより、取り出すべき走査
ラインの数を決定し得る。
【0069】従って、Xカウントの値が65〜128の間に
ある場合、フェッチ計算器970は、取り出すべき走査ラ
インは1本であると決定し得る。Xカウントの値が33〜
64の間にある場合、フェッチ計算器970は、取り出すべ
き走査ラインは2本であると決定し得る。図5に示され
る例の場合、除算128/10の商は12であるので、フェッチ
計算器970は取り出すべき走査ラインは12本であると決
定し得る。
【0070】ステップ730において、フェッチ計算器970
は、ソース開始位置レジスタ940内に格納されたX座標
およびY座標をさらに調べて、ステップ725において決
定された本数の走査ラインを取り出した場合に、Xタイ
ル境界の横断が(ソース領域において)生じるかどうか
を判定する。このようなXタイル境界の横断が生じる場
合、フェッチ計算器970は、ステップ725およびステップ
720において決定された矩形領域に対応するピクセルデ
ータの取出しを複数回のパスに分けて行い得る。
【0071】従って、図5に示される例の場合、ソース
領域ABCDの開始アドレスから12本の走査ラインを取り出
した場合、開始ポイントAの座標が(130、60)である
ので、Xタイル境界(Xタイル軸64)を横切る結果とな
る。ステップ735において、フェッチ計算器970は、Yカ
ウントレジスタ980に、処理中のソースタイル内にある
走査ラインの数(以下、Yカウント値と呼ぶ)である4
(64−60)を設定する。
【0072】ステップ736において、メモリ状態マシン
(memory state machine)901は、リニアアドレス生成器9
75に制御信号を生成し、これにより、Yカウントレジス
タ980およびXカウントレジスタ985によって定義される
矩形領域に対応するピクセルデータを1回のバースト転
送あるいはブロック転送によって取り出す。Xカウント
レジスタ985の値は、各ピクセルデータが取り出される
度にデクリメントされ得る。Yカウントレジスタ980内
のデータは、Xカウントレジスタ985のデータが0にな
ったときにデクリメントされ得る。Yカウントレジスタ
980のデータが0になると、その回のパスについて転送
が完了する。
【0073】従って、図5に示される例の場合、10個の
ピクセルデータをそれぞれ含む4本の走査ラインを取り
出し得る。グラフィックスコントローラ120は、ステッ
プ736において取り出したデータに対してラスタ処理を
行い得る。ステップ737において、加算器920は、ソース
開始位置レジスタ940のY座標にYカウント値を加算し
得る。加算器910は、デスティネーション開始位置レジ
スタ945のY座標にYカウント値を加算し得る。減算器9
30は、XY範囲レジスタ950内に格納されているY範囲
値からYカウント値を減じ得る。
【0074】グラフィックスコントローラ回路120は、
ステップ720およびステップ725において決定された、ソ
ースサブ領域の一部分からのピクセルデータの取出しが
完了するまで、ステップ735〜ステップ737を繰り返し行
い得る。図5に示される例の場合、フェッチ計算器970
は、Yカウントレジスタに8を設定し、更新されたデス
ティネーション開始位置レジスタ945によって特定され
る開始ポイントから8本の走査ラインを取り出し得る。
【0075】しかし、ステップ730において、タイル境
界の横断が検出されなかった場合、ステップ740におい
て、Yカウントレジスタ980はステップ725において決定
された数(以下、Yカウント値と呼ぶ)に設定され得
る。ステップ745においては、ステップ736と同様に、メ
モリ状態マシン901はリニアアドレス生成器975に制御信
号を生成し、これにより、Yカウントレジスタ980およ
びXカウントレジスタ985によって定義される矩形領域
に対応するピクセルデータを1回のバースト転送あるい
はブロック転送によって取り出し得る。ステップ747に
おいては、ステップ737と同様に、レジスタ940、945お
よび950が更新され得る。
【0076】ステップ750において、グラフィックスコ
ントローラ回路120は、ステップ737またはステップ745
において取り出したピクセルデータに対してラスタ処理
を実行することによって生成されるピクセルデータの全
てを、1回のブロック転送によって格納し得る。従っ
て、タイル境界に対するデスティネーション領域の相対
的な位置に応じて、本発明の転送方法が最適化され得る
ことが理解される。
【0077】グラフィックスコントローラ回路120は、
ソースサブ領域のピクセルデータがデスティネーション
サブ領域に対応するメモリ位置に完全に転送されるま
で、ステップ720〜ステップ760を繰り返し行い得る。図
5の例を参照して、ソースサブ領域BFIEを転送する場
合、反復処理の各回においてXカウントは70(QK=70)
であり、128バイトに適合する完全な走査ラインは1本
だけであり得るので、ステップ720〜ステップ750を1回
実行する度にグラフィックスコントローラ回路120が転
送し得る走査ラインは1本だけであり得る。従って、ソ
ースサブ領域BFIEを転送するために、グラフィックスコ
ントローラ回路120は、ステップ720〜ステップ750を12
回(サブ領域BFIE内の走査ライン12本に対応)実行し得
る。
【0078】従って、グラフィックスコントローラ回路
120は、サブ領域AEIH、BFIE、DHIG、およびCGIFのそれ
ぞれを転送するために、その都度ステップ700〜ステッ
プ720を実行し得る。各サブ領域の転送が終了する度
に、XY範囲レジスタ950、デスティネーション開始位
置レジスタ940、およびソース開始位置レジスタ945は、
元の値(即ち、ピクセルデータの転送を開始する前の
値)に戻される。例えば、サブ領域AEIHおよびBFIEの転
送終了後、X範囲をABに戻すことが必要であり得る。従
って、このような元の値を保存するために、グラフィッ
クスコントローラ回路120内にはテンポラリレジスタが
設けられ得る。
【0079】画像移動処理に関して本発明を説明してい
るが、本発明が、ある領域から他の領域にピクセルデー
タを転送し得る他のあらゆる処理に関連して実施可能で
あることが理解される。
【0080】本明細書中においては、本発明の好適な実
施形態および様々な代替的な実施形態を詳細に開示およ
び記載したが、本発明の概念および範囲から逸脱するこ
となく、本発明の形態および詳細部分に関する様々な変
更が可能であることは当業者には明らかである。
【0081】
【発明の効果】本発明によれば、メモリ回路のある領域
に格納されたピクセルデータをメモリ回路の他の領域に
転送する際、異なるメモリロウにわたって連続するアク
セスの回数を減らし、それによってシステムのパフォー
マンスを向上させる方法および装置を提供することがで
きる。
【図面の簡単な説明】
【図1】入力表示データをディスプレイメモリに格納
し、かつ表示信号を生成することによってディスプレイ
装置上に画像を表示し得るグラフィックスコントローラ
回路を備えたコンピュータシステムのブロック図であ
る。
【図2】ディスプレイメモリのブロック図であり、表示
ピクセルデータを格納する走査ライン順スキームを示す
図である。
【図3】ディスプレイ装置が備えているディスプレイス
クリーンのブロック図であり、コンピュータシステムの
ユーザによって特定され得る画像移動処理を示す図であ
る。
【図4】ディスプレイメモリのブロック図であり、表示
ピクセルデータを格納するタイル化スキームを示す図で
ある。
【図5】タイル化スキームを表す図であり、デスティネ
ーション領域がタイル境界を横切る場合の画像移動処理
の一例を示す図である。
【図6】ピクセルパスブロックおよび転送エンジンを備
えた本発明のグラフィックスコントローラ回路のブロッ
ク図である。
【図7】入力ピクセルデータに対してラスタ処理を行う
ことによって表示ピクセルデータを生成し得るピクセル
パスブロックを示すブロック図である。
【図8】本発明によるピクセルデータの矩形領域の転送
を行い得る転送エンジンを示すブロック図である。
【図9】画像移動処理を行う際に、本発明のグラフィッ
クスコントローラ回路によって行われるステップを示す
フローチャートである。
【符号の説明】
110 ホスト 120 グラフィックスコントローラ 130 ディスプレイ装置 140 ディスプレイメモリ 570 ラスタ処理装置 675 透過処理装置 820 ピクセルパスブロック 830 メモリ制御ブロック 840 転送エンジン 850 ピクセルパス制御部
フロントページの続き (71)出願人 595158337 3100 West Warren Aven ue,Fremont,Californ ia 94538,U.S.A. (72)発明者 マーク エミル ボニーレキー アメリカ合衆国 ワシントン 98105, シアトル, 41エスティー アベニュー エヌイー 4625 (72)発明者 バーノン デニス ハス アメリカ合衆国 ワシントン 98008, ベレブー, ウエスト レイク サマミッ シュ パークウェイ エスイー 2406 (72)発明者 ジェフリー マイケル ホルメス アメリカ合衆国 ワシントン 98136, シアトル, 49ティーエイチ エスダブリ ュー 5424 (72)発明者 リチャード チャールズ アンドリュー オウェン アメリカ合衆国 ワシントン 98118, シアトル, 39ティーエイチ アベニュー エス. 3810 (72)発明者 ローレン エモリー リンスタッド アメリカ合衆国 ワシントン 98058, レントン, イー. スプリング レイク ドライブ エスイー 18636 (72)発明者 ブラッドレー アンドリュー メイ アメリカ合衆国 カリフォルニア 95125, サン ホゼ, ミネソタ アベニュー 1203

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 ビデオ画像のピクセルデータを、タイル
    化スキームに従ってメモリ回路内に含まれる1組のメモ
    リ位置に格納するコンピュータシステムにおいて、該メ
    モリ回路内の1組のピクセルデータをソース領域に対応
    するメモリ位置からデスティネーション領域に対応する
    メモリ位置に転送する方法であって、該デスティネーシ
    ョン領域および該ソース領域のそれぞれは1組の境界線
    によって定義され、該タイル化スキームは該ビデオ画像
    を表示するディスプレイスクリーン上に複数のタイルを
    含み、該複数のタイルは1組のXタイル境界および1組
    のYタイル境界によって形成され、該デスティネーショ
    ン領域が少なくとも1つのXタイル境界および少なくと
    も1つのYタイル境界を横切る場合に、該方法は、 該デスティネーション領域を、該少なくとも1つのXタ
    イル境界と、該少なくとも1つのYタイル境界と、該デ
    スティネーション領域の該1組の境界線とによって定義
    される1組のデスティネーション矩形サブ領域に分割す
    るステップと、 該ソース領域に含まれるあるソース矩形サブ領域のピク
    セルデータを取り出すステップであって、該ソース矩形
    サブ領域は該1組のデスティネーション矩形サブ領域に
    含まれるあるデスティネーション矩形サブ領域に対応す
    る、取り出すステップと、 あるソース矩形サブ領域から取り出したピクセルデータ
    を、該デスティネーションサブ領域に対応するメモリ位
    置に格納するステップと、を包含する方法。
  2. 【請求項2】 ピクセルデータを前記取り出すステップ
    は、 1回のブロック転送によって取り出し得るピクセルデー
    タ数を決定するステップと、 複数の連続的な反復処理の中の1回においては該ピクセ
    ルデータ数以下のピクセルデータを取り出すステップ
    と、 をさらに包含する、請求項1に記載の方法。
  3. 【請求項3】 ピクセルデータを前記格納するステップ
    は、前記ピクセルデータ数以下のピクセルデータを前記
    取り出すステップにおいて取り出されたピクセルデータ
    を、1回のブロック転送によって格納するステップをさ
    らに包含する、請求項2に記載の方法。
  4. 【請求項4】 前記ピクセルデータ数以下のピクセルデ
    ータを前記取り出すステップは、前記ビデオ画像の走査
    ラインに含まれるピクセルデータを取り出すステップを
    さらに包含する、請求項3に記載の方法。
  5. 【請求項5】 あるソース矩形サブ領域のピクセルデー
    タを前記取り出すステップは、 該ソース矩形がタイル境界を横切るかどうかを決定する
    ステップ(a)と、 該ソース矩形サブ領域がタイル境界を横切る場合には、
    該ソース矩形サブ領域のピクセルデータを複数回の反復
    処理によって取り出すステップ(b)と、 該ソース矩形サブ領域がタイル境界を横切らない場合に
    は、該ソース矩形サブ領域のピクセルデータを一連の非
    反復処理(a single iteration)によって取り出すステッ
    プ(c)と、をさらに包含する、請求項1に記載の方法。
  6. 【請求項6】 あるソース矩形サブ領域のピクセルデー
    タを前記取り出すステップは、請求項5のステップ(b)
    に記載の複数回の連続的な反復処理によって取り出した
    ピクセルデータを1回のブロック転送によって格納する
    ステップをさらに包含する、請求項5に記載の方法。
  7. 【請求項7】 ビデオ画像のピクセルデータをタイル化
    スキームに従ってメモリ回路内に含まれる1組のメモリ
    位置に格納するコンピュータシステムにおいて、該メモ
    リ回路内の1組のピクセルデータを、ソース領域に対応
    するメモリ位置からデスティネーション領域に対応する
    メモリ位置に転送する方法であって、該デスティネーシ
    ョン領域および該ソース領域のそれぞれは1組の境界線
    によって定義され、該タイル化スキームは、1組のXタ
    イル境界および1組のYタイル境界によって形成される
    複数のタイルを含み、該デスティネーション領域が少な
    くとも1つのXタイル境界および少なくとも1つのYタ
    イル境界を横切る場合に、該方法は、 該デスティネーション領域を、該少なくとも1つのXタ
    イル境界と、該少なくとも1つのYタイル境界と、該デ
    スティネーション領域の該境界線とによって定義される
    1組のデスティネーション矩形サブ領域に分割するステ
    ップ(a)と、 1回のブロック転送によって取り出し得るピクセルデー
    タ数を決定するステップ(b)と、 ステップ(b)において決定されたピクセルデータ数に適
    合する、1つのデスティネーション矩形サブ領域内の走
    査ライン数を決定するステップであって、該デスティネ
    ーションサブ領域は該1組のデスティネーション矩形サ
    ブ領域に含まれる、ステップ(c)と、 該デスティネーション矩形サブ領域の開始アドレスのY
    座標を調べて、該走査ライン数の走査ラインを取り出す
    場合にXタイル境界の横断が生じるかどうかを決定する
    ステップ(d)と、 該走査ライン数の走査ラインを取り出す場合にXタイル
    境界の横断が生じる場合には、該走査ライン数の走査ラ
    インのピクセルデータを複数回のブロック転送によって
    取り出すステップ(e)と、 該走査ライン数の走査ラインを取り出す場合にXタイル
    境界の横断が生じない場合には、該走査ライン数の走査
    ラインのピクセルデータを1回のブロック転送によって
    取り出すステップ(f)と、 ステップ(f)またはステップ(e)において取り出されたピ
    クセルデータを1回のブロック転送によって格納するス
    テップ(g)と、を包含する方法。
  8. 【請求項8】 コンピュータシステム内のメモリに関連
    して動作するグラフィックスコントローラ回路であっ
    て、該メモリはビデオ画像に対応するピクセルデータを
    タイル化スキームに従って格納し、該タイル化スキーム
    はディスプレイスクリーン上に複数のタイルを含み、該
    複数のタイルは1組のXタイル境界および1組のYタイ
    ル境界によって定義され、該グラフィックスコントロー
    ラ回路はソース領域に対応する1組のピクセルデータを
    デスティネーション領域に対応するメモリ位置に転送
    し、該デスティネーション領域および該ソース領域のそ
    れぞれは1組の境界線によって定義され、該デスティネ
    ーション領域が少なくとも1つのXタイル境界および少
    なくとも1つのYタイル境界を横切る場合に、 該1組のピクセルデータを受け取り、1組の入力ピクセ
    ルデータに対してラスタ処理を行うことによって1組の
    表示ピクセルデータを生成するラスタ処理手段と、 該メモリから該1組のピクセルデータを取り出して該ピ
    クセルパスブロックに提供する転送エンジンであって、
    該転送エンジンは、該デスティネーション領域を、該少
    なくとも1つのXタイル境界と、該少なくとも1つのY
    タイル境界と、該デスティネーション領域の該境界線と
    によって定義される1組のデスティネーション矩形サブ
    領域に分割し、該転送エンジンは該ソース領域に含まれ
    るあるソース矩形サブ領域のピクセルデータを取り出
    し、該ソース矩形サブ領域は該1組のデスティネーショ
    ン矩形サブ領域に含まれるあるデスティネーション矩形
    サブ領域に対応する、転送エンジンと、 該ラスタ処理手段によって生成される該1組の表示ピク
    セルデータを格納するメモリ制御装置と、を備えている
    グラフィックスコントローラ回路。
  9. 【請求項9】 前記転送エンジンは、前記1組のデステ
    ィネーション矩形ブロックのそれぞれに対応するソース
    矩形サブ領域のピクセルデータの部分集合をシーケンシ
    ャルに取り出し、該ピクセルデータの部分集合を前記ピ
    クセルパスブロックに提供し、該ピクセルデータの部分
    集合は該1組のピクセルデータに含まれる、請求項8に
    記載のグラフィックスコントローラ回路。
  10. 【請求項10】 前記転送エンジンは、 前記デスティネーション領域の開始アドレスのX、Y座
    標を格納するデスティネーション開始レジスタと、 前記ソース領域の開始アドレスのX、Y座標を格納する
    ソース開始レジスタと、 該転送するべきソース領域のX範囲およびY範囲を格納
    するXY範囲レジスタと、 Xタイル方向の取り出すべきピクセルデータ数を格納す
    るXカウントレジスタと、 取り出すべき走査ライン数を格納するYカウントレジス
    タと、 該1組のピクセルデータのそれぞれを取り出すためのメ
    モリアドレスを生成するリニアアドレス生成器と、 該リニアアドレス生成器に、該Xカウントレジスタおよ
    び該Yカウントレジスタに格納された値に応じたメモリ
    アドレスを生成させるメモリ状態マシンと、 該取り出すべき走査ライン数と、該Xタイル方向の取り
    出すべきピクセルデータ数とを決定するフェッチ計算器
    であって、該デスティネーション矩形サブ領域のそれぞ
    れの、X方向にそって存在するピクセル数に基づいて、
    該Xタイル方向の取り出すべきピクセルデータ数を決定
    するフェッチ計算器と、を備えている、請求項9に記載
    のグラフィックスコントローラ回路。
  11. 【請求項11】 前記グラフィックスコントローラ回路
    が受け取ったピクセルデータの全てをバッファリングす
    るレジスタをさらに備え、該レジスタは所定の最大デー
    タ量を格納する、請求項10に記載のグラフィックスコン
    トローラ回路。
  12. 【請求項12】 前記フェッチ計算器は、前記所定の最
    大データ量と、前記X方向の取り出すべきピクセル数と
    に基づいて、前記取り出すべき走査ライン数を決定す
    る、請求項11に記載のグラフィックスコントローラ回
    路。
  13. 【請求項13】 ビデオ画像をディスプレイスクリーン
    上に表示するコンピュータシステムであって、該ディス
    プレイスクリーンは1組のXタイル境界と1組のYタイ
    ル境界とによって定義される1組のタイルに分割され、
    該コンピュータシステムは、 該ディスプレイスクリーン上のソース領域内に含まれる
    該ビデオ画像の一部分をデスティネーション領域に移動
    する処理を行い、 複数のメモリ位置を有し、該ソース領域に対応する1組
    のピクセルデータを該1組のタイルに従って格納するメ
    モリと、 該デスティネーション領域に対応する該1組のメモリ位
    置に該1組のピクセルデータを転送するグラフィックス
    コントローラ回路であって、該デスティネーション領域
    および該ソース領域のそれぞれは1組の境界線によって
    定義され、該デスティネーション領域が少なくとも1つ
    のXタイル境界および少なくとも1つのYタイル境界を
    横切り、 該1組のピクセルデータを受け取り、第1の組の入力ピ
    クセルデータに対してラスタ処理を行うことによって1
    組の表示ピクセルデータを生成するピクセルパスブロッ
    クと、 該メモリから該1組のピクセルデータを取り出して該ピ
    クセルパスブロックに提供する転送エンジンであって、
    該転送エンジンは、該デスティネーション領域を、該少
    なくとも1つのXタイル境界と、該少なくとも1つのY
    タイル境界と、該デスティネーション領域の該境界線と
    によって定義される1組のデスティネーション矩形サブ
    領域に分割し、該転送エンジンは、該ソース領域に含ま
    れる第1のソース矩形サブ領域のピクセルデータを取出
    し、該第1のソース矩形サブ領域は該1組のデスティネ
    ーション矩形サブ領域に含まれる第1のデスティネーシ
    ョン矩形サブ領域に対応する、転送エンジンと、 該ピクセルパスブロックによって生成された該1組の表
    示ピクセルデータを格納するメモリ制御装置と、 を有するグラフィックスコントローラ回路と、を備えて
    いるコンピュータシステム。
  14. 【請求項14】 前記転送エンジンは、前記1組のデス
    ティネーション矩形ブロックのそれぞれに対応するソー
    ス矩形サブ領域のピクセルデータの部分集合をシーケン
    シャルに取り出し、該ピクセルデータの部分集合を前記
    ピクセルパスブロックに提供し、該ピクセルデータの部
    分集合は該1組のピクセルデータに含まれる、請求項13
    に記載のコンピュータシステム。
  15. 【請求項15】 前記転送エンジンは、 前記デスティネーション領域の開始アドレスのX、Y座
    標を格納するデスティネーション開始レジスタと、 前記ソース領域の開始アドレスのX、Y座標を格納する
    ソース開始レジスタと、 該転送するべきソース領域のX範囲およびY範囲を格納
    するXY範囲レジスタと、 Xタイル方向の取り出すべきピクセルデータ数を格納す
    るXカウントレジスタと、 取り出すべき走査ライン数を格納するYカウントレジス
    タと、 該1組のピクセルデータのそれぞれを取り出すためのメ
    モリアドレスを生成するリニアアドレス生成器と、 該リニアアドレス生成器に、該Xカウントレジスタおよ
    び該Yカウントレジスタに格納された値に応じたメモリ
    アドレスを生成させるメモリ状態マシンと、 該取り出すべき走査ライン数と、該Xタイル方向の取り
    出すべきピクセルデータ数とを決定するフェッチ計算器
    であって、該デスティネーション矩形サブ領域のそれぞ
    れのX方向のピクセル数に基づいて、該Xタイル方向の
    取り出すべきピクセルデータ数を決定するフェッチ計算
    器と、を備えている、請求項14に記載のコンピュータシ
    ステム。
  16. 【請求項16】 前記グラフィックスコントローラ回路
    が受け取ったピクセルデータの全てをバッファリングす
    るレジスタをさらに備え、該レジスタは所定の最大デー
    タ量を格納する、請求項15に記載のコンピュータシステ
    ム。
  17. 【請求項17】 前記フェッチ計算器は、前記所定の最
    大データ量と、前記X方向の取り出すべきピクセル数と
    に基づいて、前記取り出すべき走査ライン数を決定す
    る、請求項16に記載のコンピュータシステム。
JP16476497A 1996-06-20 1997-06-20 メモリ回路に格納されたピクセルデータを転送する方法および装置 Withdrawn JPH10143426A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US66720796A 1996-06-20 1996-06-20
US08/667,207 1996-06-20

Publications (1)

Publication Number Publication Date
JPH10143426A true JPH10143426A (ja) 1998-05-29

Family

ID=24677262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16476497A Withdrawn JPH10143426A (ja) 1996-06-20 1997-06-20 メモリ回路に格納されたピクセルデータを転送する方法および装置

Country Status (3)

Country Link
EP (1) EP0814428A3 (ja)
JP (1) JPH10143426A (ja)
TW (1) TW335472B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007116612A1 (ja) * 2006-03-31 2007-10-18 Matsushita Electric Industrial Co., Ltd. コマンド出力制御装置
KR20110077894A (ko) * 2009-12-30 2011-07-07 삼성전자주식회사 적응적 뱅크 어드레스를 제공하는 디스플레이 시스템 및 그것의 어드레스 맵핑 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6064408A (en) * 1998-04-28 2000-05-16 Sun Microsystems, Inc. Method, apparatus and computer program product for eliminating edge conditions from an area image processing operations on tiled image data
US6630936B1 (en) * 2000-09-28 2003-10-07 Intel Corporation Mechanism and method for enabling two graphics controllers to each execute a portion of a single block transform (BLT) in parallel

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60147785A (ja) * 1984-01-12 1985-08-03 株式会社アスキ− 論理領域間デ−タ移動制御装置
US4808986A (en) * 1987-02-12 1989-02-28 International Business Machines Corporation Graphics display system with memory array access
WO1992002924A1 (en) * 1990-08-03 1992-02-20 Du Pont Pixel Systems Limited Data-array processing system
JP3038868B2 (ja) * 1990-10-08 2000-05-08 ソニー株式会社 画像データのブロック転送装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007116612A1 (ja) * 2006-03-31 2007-10-18 Matsushita Electric Industrial Co., Ltd. コマンド出力制御装置
JPWO2007116612A1 (ja) * 2006-03-31 2009-08-20 パナソニック株式会社 コマンド出力制御装置
US7930439B2 (en) 2006-03-31 2011-04-19 Panasonic Corporation Command output control apparatus
JP4733138B2 (ja) * 2006-03-31 2011-07-27 パナソニック株式会社 コマンド出力制御装置、コマンド出力制御方法およびプログラム
KR20110077894A (ko) * 2009-12-30 2011-07-07 삼성전자주식회사 적응적 뱅크 어드레스를 제공하는 디스플레이 시스템 및 그것의 어드레스 맵핑 방법
US9390007B2 (en) 2009-12-30 2016-07-12 Samsung Electronics Co., Ltd. Method and apparatus for performing adaptive memory bank addressing

Also Published As

Publication number Publication date
EP0814428A3 (en) 1998-08-19
EP0814428A2 (en) 1997-12-29
TW335472B (en) 1998-07-01

Similar Documents

Publication Publication Date Title
JP4234217B2 (ja) サイズ変更ビットブロック転送処理の一部として透過イネーブルビットの埋込みを行うシステム、装置および方法
US6185629B1 (en) Data transfer controller employing differing memory interface protocols dependent upon external input at predetermined time
US4979096A (en) Multiprocessor system
US5218674A (en) Hardware bit block transfer operator in a graphics rendering processor
US5959637A (en) Method and apparatus for executing a raster operation in a graphics controller circuit
US20010008563A1 (en) Parallel processor and image processing apparatus
US5850632A (en) Memory access controller utilizing cache memory to store configuration information
CN1329870C (zh) 任意形状图像的基于块的旋转
US6166743A (en) Method and system for improved z-test during image rendering
KR20010031192A (ko) 기계시각시스템에서의 영상데이터와 같은 논리적으로인접한 데이터샘플들을 위한 데이터처리시스템
US20020004860A1 (en) Faster image processing
JPH06342403A (ja) 予測キャッシングシステム
JPH0877347A (ja) 画像/グラフィックス処理用のデータ処理装置およびその操作方法
JP2004280125A (ja) ビデオ/グラフィックメモリシステム
US6952217B1 (en) Graphics processing unit self-programming
US20140184630A1 (en) Optimizing image memory access
US20070041662A1 (en) Efficient scaling of image data
US20080055326A1 (en) Processing of Command Sub-Lists by Multiple Graphics Processing Units
JPH01210990A (ja) 表示装置
US6005572A (en) Display unit having plurality of frame buffers
JPH10143426A (ja) メモリ回路に格納されたピクセルデータを転送する方法および装置
KR100356884B1 (ko) 투과기록제어를위한투과레지스터를구비한데이터프로세서
US6563505B1 (en) Method and apparatus for executing commands in a graphics controller chip
US6707457B1 (en) Microprocessor extensions for two-dimensional graphics processing
US20060050089A1 (en) Method and apparatus for selecting pixels to write to a buffer when creating an enlarged image

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040907