JPH0560144B2 - - Google Patents

Info

Publication number
JPH0560144B2
JPH0560144B2 JP58182930A JP18293083A JPH0560144B2 JP H0560144 B2 JPH0560144 B2 JP H0560144B2 JP 58182930 A JP58182930 A JP 58182930A JP 18293083 A JP18293083 A JP 18293083A JP H0560144 B2 JPH0560144 B2 JP H0560144B2
Authority
JP
Japan
Prior art keywords
area
points
memory
reversal
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP58182930A
Other languages
Japanese (ja)
Other versions
JPS5985573A (en
Inventor
Dei Atokinson Uiriamu
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.)
Apple Inc
Original Assignee
Apple Computer 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 Apple Computer Inc filed Critical Apple Computer Inc
Publication of JPS5985573A publication Critical patent/JPS5985573A/en
Publication of JPH0560144B2 publication Critical patent/JPH0560144B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/42Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of patterns using a display memory without fixed position correspondence between the display memory contents and the display position on the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/10Mixing of images, i.e. displayed pixel being the result of an operation, e.g. adding, on the corresponding input pixels

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明はグラフイツク情報の表示に関する。特
に、本発明はデイスプレイシステム上に画像及び
データの発生およびその操作に関する。
DETAILED DESCRIPTION OF THE INVENTION TECHNICAL FIELD OF THE INVENTION The present invention relates to the display of graphical information. In particular, the present invention relates to the generation and manipulation of images and data on display systems.

〔従来技術〕[Prior art]

コンピユータ産業において、グラフイツク表示
を通してユーザに情報を表示しかつ伝達するのは
全く普通のことである。これらの表示は、例え
ば、文字数字のキヤラクタ、平行座標又は他の座
標のグラフと共に、周知の物理的対象の形状等の
多様な形態をとることができる。歴史的に、人間
は、典型的にはテキスト及び数学的シンボルのキ
ヤラクタの両方の組み合わせから成る個々のコマ
ンドのシステムを通してコンピユータとインター
フエースしてきた。このようなシステムは多数あ
り、ユーザ・コマンドのセツトをマシン実行可能
の“オブジエクト”コードに変換するフオートラ
ン、アルゴル、PL/1、ベーシツク及びコボル
のプログラミング言語を含んでいる。
It is quite common in the computer industry to display and communicate information to users through graphical displays. These representations can take a variety of forms, such as, for example, alphanumeric characters, graphs of parallel or other coordinates, as well as the shape of well-known physical objects. Historically, humans have interfaced with computers through a system of individual commands, typically consisting of a combination of both textual and mathematical symbol characters. There are many such systems, including the Fortran, Algol, PL/1, Basic, and Kobol programming languages that convert a set of user commands into machine-executable "object" code.

しかしながら、ユーザがコンピユータを基礎と
するシステムのプログラム又はそれとの対話にお
ける上達は、当該システムがユーザ自身の論理的
思考に近いものであるかどうかに左右される。も
しユーザが、所望のコマンドをプログラミング言
語のコードに翻訳するのでなく、自己にとつて最
も論理的な順序でコマンドを入力できるならば、
システムの使用に際し大きなユーザ効率が達成さ
れる。
However, a user's proficiency in programming or interacting with a computer-based system depends on the approximation of that system to the user's own logical thinking. If users could enter commands in the order that makes the most sense to them, rather than having to translate the desired commands into programming language code,
Great user efficiency is achieved in using the system.

ユーザがコンピユータシステムとの対話に上達
するための学習期間を最小にするために開発され
た一つのシステムは、“オブジエクト・オリエン
ト”又は“スモールトーク”システムとしてしば
しば参照されるものである。このスモールトーク
法は、多くの共通コード化プログラミング・コマ
ンドをコンピユータ・デイスプレイ上の二次元グ
ラフイツクス及びアニメーシヨンと置き換えるこ
とである。人間は、画像によつてより容易に思考
できるので、テキストよりも視覚を介して示され
た情報をより速く吸収しかつ操作することができ
る。ユーザがマシンとの対話に用いる特定の種類
のグラフイツク・インターフエースは、用途に応
じて変わるものとすることができる。
One system that has been developed to minimize the learning period for users to become proficient at interacting with computer systems is what is often referred to as an "object-oriented" or "small talk" system. This small talk method replaces many commonly coded programming commands with two-dimensional graphics and animations on the computer display. Because humans can think more easily with images, they can absorb and manipulate information presented through vision more quickly than through text. The particular type of graphical interface that a user uses to interact with a machine can vary depending on the application.

一つの共通スモールトーク・インターフエース
法では、テキストとグラフイツクスの組み合わせ
が情報伝達のために使用され、陰極線管(CRT)
上に多数“窓(ウインドウ”が表示される。例え
ば、各窓(ウインドウ)は、通常のフアイルキヤ
ビネツトで用いられるようなフアイルフオルダが
重なつている形にでき、現在のワークフアイルを
構成するフオルダはそのトツプ(上端)まで完全
に見えるようにされる。ユーザはフアイルに対し
て情報を付加又は削除し、別のロケーシヨンにフ
アイル・フオルダを再フアイルし、オフイスにお
いて実際のフアイルが使用されているかのように
フアイルを操作することができる。このように、
ユーザのコマンドのオブジエクトを表わす画像を
グラフイツク表示し、画像に対してそれが実際に
オブジエクトを構成しているかのようにユーザが
操作を加えることによつて、マシン操作はユーザ
にとつて容易になり、より強いマン・マシン・イ
ンターフエースが達成される。例えば、デー・ロ
ブソン(D.Robson)の「オブジエクト・オリエ
ンテツド ソフトウエア システムズ」(Object
−Oriented Software Systems)、バイト
(BYTE)誌、1981年8月、P74,vol.6,No8;
及びエル・テスラー(L.Tesler)の「ザ スモー
ルトーク・エンバイロンメント」(The
Smalltalk Environment)、バイト(BYTE)、
1981年8月、P90,vol.6,No8を参照。
One common small talk interface method uses a combination of text and graphics to convey information, and uses a cathode ray tube (CRT)
A number of "windows" are displayed at the top. For example, each window can be made up of overlapping file folders, similar to those used in a normal file cabinet, and can contain information about the current work file. folders are fully visible up to their tops. Users can add or delete information from the files, refile the file folders to another location, and use the actual files in the office. You can manipulate files as if you were
Machine operation is made easier for the user by graphically displaying images that represent the objects of the user's commands, and by allowing the user to manipulate the images as if they actually constituted the objects. , a stronger man-machine interface is achieved. For example, D. Robson's ``Object Oriented Software Systems'' (Object Oriented Software Systems)
-Oriented Software Systems), BYTE magazine, August 1981, P74, vol.6, No8;
and “The Small Talk Environment” by L.Tesler.
Smalltalk Environment), BYTE,
See August 1981, P90, vol.6, No.8.

多様なグラフイツク表示がスモールトーク又は
他のシステムにおいて望まれるけれども、グラフ
イツク・キヤラクタを発生し、ストアし、かつ操
作するためには、従来は多量のメモリが必要とさ
れた。その最も簡単な形態において、デイスプレ
イ・システム上の対応する画素(ピクセル)に各
メモリビツト(1又は0)をマツプする、1ブロ
ツクのメモリをデータ処理記憶システムにおいて
割り当てることができる。このように、画像及
び/又はテキストの形態のデータで満たされた
CRTの全スクリーンは“ビツトマツプ”として
知られるメモリブロツク内に1(黒ドツト)又は
0(白ドツト)として表現される。しかし、ビツ
トマツプとCRTデイスプレイ間を1対1で対応
させることは、コンピユータのコアメモリにかな
りの量の記憶スペースを必要とする。さらに、画
像又はキヤラクタの発生及び操作では、画像等に
対する何らかの修正の後でビツトマツプにおける
事実上全てのビツトを更新しなければならない。
この手順は、反復的でありかつ時間を浪費し、対
話形グラフイツク・デイスプレイ・システムの実
際的使用をかなり妨害するものである。
Although a variety of graphical displays are desired in small talk or other systems, large amounts of memory have traditionally been required to generate, store, and manipulate graphical characters. In its simplest form, a block of memory can be allocated in the data processing storage system that maps each memory bit (1 or 0) to a corresponding picture element (pixel) on the display system. Thus, filled with data in the form of images and/or text
The entire screen of a CRT is represented as a 1 (black dot) or a 0 (white dot) in a memory block known as a "bitmap." However, a one-to-one correspondence between a bitmap and a CRT display requires a significant amount of storage space in the computer's core memory. Furthermore, the generation and manipulation of images or characters requires that virtually every bit in the bitmap be updated after any modification to the image or the like.
This procedure is repetitive and time consuming, and significantly interferes with the practical use of interactive graphic display systems.

スモールトークのようなシステムのために必要
なグラフイツク容量を提供する一つの方法は、ゼ
ロツクス・ラーニング・リサーチ・グループ・パ
ロ・アルト・リサーチ・センター(Xerox
Learning Research Group Palo Alto
Research Center)、カリフオルニア州パロ・ア
ルト、によつて開発されたような“Bit Blt”(ビ
ツト境界ブロツク転送)である。デイー・インガ
ルス(D.Ingalls)の「ザ スモールトーク グ
ラフイツクス カーナル」(The Swalltalk
Graphics Kernal)、バイト(BYTE)、P168,
1981年8月、vol.6 No8参照。BitBltは、それ自
身小さなビツトマツプであり、かつ例えば、カー
ソル、パターン等として使用されるべき矢頭形状
のような簡単な形状を画定する領域を利用する。
後述するように、BitBltは、キヤラクタのフオン
トフアイルのようなソースビツトマツプからのキ
ヤラクタを、所定の座標で目的ビツトマツプ(す
なわち、CRT上に表示される内容のメモリ・ブ
ロツク)に転送する。目的ビツトマツプの有効な
領域を制限する“クリツピング矩形”の使用によ
つて、転送されるシーンの窓に入る部分のみを転
送し、大きなシーンの一部を窓内にマツプするこ
とができる。さらに、目的ビツトマツプに以前に
ストアされた現在のシーンと、転送されるシーン
又はキヤラクタとの組み合わせを制御するため多
様な転送動作が提供される。しかしながら、
BitBltシステムでは、転送されかつ操作され得る
画像の形式に制限がある。特にBitBltは、矩形領
域の転送に制限される。この制限のために、
BitBltでは重畳窓等にデータを転送することがで
きないので、その使用がグラフイツクス・ツール
に限られる。さらに、BitBltシステムのためには
大容量のメモリが必要とされる。BitBltのような
従来技術のシステムにおける他の制限について
は、本発明の性質をより明確にするために後で説
明する。
One way to provide the necessary graphical capacity for a system like SmallTalk is through the Xerox Learning Research Group Palo Alto Research Center (Xerox Learning Research Group Palo Alto Research Center).
Learning Research Group Palo Alto
``Bit Blt'' (Bit Boundary Block Transfer), as developed by the Research Center), Palo Alto, California. The Swalltalk by D. Ingalls
Graphics Kernal), BYTE, P168,
See August 1981, vol.6 No.8. BitBlt is itself a small bitmap and utilizes regions that define simple shapes, such as arrowhead shapes to be used as cursors, patterns, etc.
As discussed below, BitBlt transfers characters from a source bitmap, such as a font file of characters, to a destination bitmap (i.e., a memory block of content to be displayed on a CRT) at predetermined coordinates. By using a "clipping rectangle" to limit the valid area of the destination bitmap, only the portion of the scene to be transferred that falls within the window can be transferred, allowing portions of a larger scene to be mapped within the window. Additionally, various transfer operations are provided to control the combination of the current scene previously stored in the destination bitmap and the scene or character being transferred. however,
The BitBlt system has limitations on the formats of images that can be transferred and manipulated. In particular, BitBlt is limited to transferring rectangular areas. Because of this limitation,
BitBlt cannot transfer data to superimposed windows, etc., so its use is limited to graphics tools. Furthermore, a large amount of memory is required for the BitBlt system. Other limitations in prior art systems such as BitBlt are discussed later to make the nature of the invention more clear.

〔発明の概要〕[Summary of the invention]

本発明は、従来技術において可能であつたより
も相当に小さなメモリを使つて、任意形状の領域
を定めてストアできる手段を提供する。さらに、
本発明は、デイジタルコンピユータによつて効率
的に迅速に領域に対応する操作(オペレーシヨ
ン)を実行できる手段を提供する。
The present invention provides a means by which arbitrarily shaped regions can be defined and stored using significantly less memory than was possible in the prior art. moreover,
The present invention provides a means by which a digital computer can efficiently and quickly perform operations corresponding to a domain.

本発明は、グラフイツクス能力の改良を提供す
る。これにより、“反転点”によつて任意に限定
された領域(入力領域)の表示及び操作が可能と
なる。反転点は、その右及び下に座標を有する全
ての点の状態が反転される(例えば、バイナリゼ
ロは、バイナリ1に、そしてその逆に変換され
る)点である。“領域”は、多数の分離したエリ
アを含むことがある任意のエリアとして定義され
る。このように、例えば“L”状のような任意の
形状を、単に定められた、操作を受けるべき領域
として取り扱うことができる。所定の領域につい
て一組の反転点を定めることによつて、その領域
を構成する全ての点をメモリ内にストアする必要
がなくなり、領域を定める反転点のみをストアす
るだけでよい。
The present invention provides improved graphics capabilities. This makes it possible to display and operate an area (input area) arbitrarily limited by the "reversal point." An inversion point is a point at which the states of all points with coordinates to the right and below are inverted (eg, a binary zero is converted to a binary 1 and vice versa). A "region" is defined as any area that may include multiple separate areas. In this way, any arbitrary shape, such as an "L" shape, can be simply treated as a predetermined area to be manipulated. By defining a set of inversion points for a given region, it is not necessary to store all the points that make up the region in memory, but only the inversion points that define the region.

簡単に言うと、本発明の実施例によれば、表示
すべき入力領域を入力するための手段が備えられ
る。その入力領域は任意の形状ないしエリアで構
成することができ、そしてその周囲は連続曲線で
ある必要はなく、従つて分離したエリアを含むこ
とができる。この入力領域の情報はデイジタル・
コンピユータに結合される。コンピユータは入力
領域を定めるために必要とされる反転点の位置を
決定し、当該領域内で反転点をそれらの座標に基
づいて、左から右へ、そして、上から下へという
順序すなわち規約に従つてソートする。アルゴリ
ズムに従つて、コンピユータ・メモリ内に領域
(又はその部分)の情報を転送し、そこで操作を
加え、例えば陰極線管(CRT)等の適切な装置
上に合成領域がコントラスト形成エリアとして表
示される。
Briefly, according to an embodiment of the invention, means are provided for inputting the input area to be displayed. The input region can consist of any shape or area, and its perimeter need not be a continuous curve, and therefore can include discrete areas. The information in this input area is digital
coupled to a computer. The computer determines the locations of the flip points needed to define the input region and places the flip points within the region in the order or convention from left to right and top to bottom based on their coordinates. Sort accordingly. According to an algorithm, the information of the region (or parts thereof) is transferred into computer memory, where it is manipulated so that the composite region is displayed as a contrast-forming area on a suitable device, e.g. a cathode ray tube (CRT). .

走査線マスクは、目的ビツトマツプ(ビデオメ
モリ)にストアされて表示中の現在領域をバイナ
リ形態で表わす単一走査線バツフアで構成され
る。目的ビツトマツプは、各ビツトがデイスプレ
イ装置上のピクセルに対応するビツトを含むメモ
リのブロツクで構成される。走査線マスクは、順
次下方へと走査され、CRTデイスプレイ上の各
ラスタに相当する水平行に、現在領域を“スライ
ス”する。同様に、ソースビツトマツプ又はフオ
ントフアイルからの(キヤラクタ等の形態の)デ
ータであつて、目的ビツトマツプの一部に付加さ
れるべきデータも、CRTの各ラスタに相当する
水平走査線バツフアにスライスされて置かれる。
1つの水平走査線がソースビツトマツプ等から目
的ビツトマツプに転送されるとき、ソース走査線
バツフアの内容が走査線マスクの内容と比較さ
れ、ソース走査線をマスクすることによつてソー
ス走査線バツフアの選択された部分のみが目的ビ
ツトマツプに転送されるようにする。多様な領域
オペレータを使用することによつて、現在領域と
新領域の間の優先度を定めることができる。この
ように(例えば縞をつけるか、チエツク模様等に
された)パターンを現在領域に付加でき、テキス
トをオーバーレイでき、領域内のテキストのスク
ローリングを容易に達成でき、そして多数のグラ
フイツクス操作を達成することができる。
A scanline mask consists of a single scanline buffer that is stored in the destination bitmap (video memory) and represents in binary form the current region being displayed. The destination bitmap consists of blocks of memory containing bits, each bit corresponding to a pixel on the display device. The scan line mask is scanned sequentially downward to "slice" the current area in horizontal rows corresponding to each raster on the CRT display. Similarly, data (in the form of characters, etc.) from a source bitmap or font file that is to be added to a portion of the destination bitmap is sliced into horizontal scan line buffers corresponding to each raster on the CRT. be placed.
When a horizontal scan line is transferred from a source bitmap, etc. to a destination bitmap, the contents of the source scan line buffer are compared with the contents of the scan line mask, and the source scan line buffer is changed by masking the source scan line. Ensures that only the selected portion is transferred to the destination bitmap. By using various region operators, priorities can be established between current regions and new regions. In this way, patterns (e.g. striped, checkered, etc.) can be added to the current region, text can be overlaid, scrolling of the text within the region can be easily accomplished, and a number of graphical operations can be accomplished. can do.

得られた目的ビツトマツプは、CRT又は他の
デイスプレイ装置に印加される信号に変換され、
そしてこの画像は普通の方法で表示される。
The resulting target bitmap is converted into a signal applied to a CRT or other display device,
This image is then displayed in the usual way.

〔実施例〕〔Example〕

表示法及び用語 以上の説明では、コンピユータメモリ内のデー
タビツトに対する操作のアルゴリズム及びシンボ
ル表示が多く用いられる。これらのアルゴリズム
での記述や表示は、データ処理技術を、データ処
理技術者相互で効果的に伝えるために使用され
る。手段である。
Notation and Terminology The discussion above uses many algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are used to effectively communicate data processing techniques to other data processing engineers. It is a means.

アルゴリズムは、ここでは、一般的に、所望の
結果を得るための首尾一貫したステツプの順序
(シーケンス)である。これらのステツプは、物
理量の物理的操作を必要とするものである。通
常、これらの物理量は、ストアされ、転送され、
組み合わされ、比較され、そして別の処理をされ
得る電気的又は磁気的信号である。これらの信号
を、ビツト、値、エレメント、シンボル、キヤラ
クタ、用語、番号等として参照することは、慣用
的であるために、ときには便利である。しかし、
これらの用語は、適切な物理量と関連させるべき
であり、当該の物理量に付けられた便利なラベル
であることを心にとどめるべきである。
An algorithm here is generally a coherent sequence of steps to obtain a desired result. These steps are those requiring physical manipulations of physical quantities. Typically, these physical quantities are stored, transferred,
are electrical or magnetic signals that can be combined, compared, and otherwise processed. It is common usage, and at times, convenient to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. but,
These terms should be associated with the appropriate physical quantities and should be kept in mind as convenient labels applied to the physical quantities in question.

さらに、実行される操作は、加算又は比較のよ
うな、人間のオペレータの精神活動を示す用語が
用いられる。人間のこのような能力は、本発明の
一部をなす動作ないしオペレーシヨンには必要で
はなく、望ましいものでも殆どない。このオペレ
ーシヨンはマシンオペレーシヨンである。本発明
のオペレーシヨンの実行のために有用なマシン
は、汎用のデイジタルコンピユータ又は他の同様
な装置を含んでいる。全ての場合に、コンピユー
タの動作における方法オペレーシヨンと計算自体
の方法との間の区別を心にとどめておくべきであ
る。本発明は、所望の物理的信号の発生のために
電気又は他の物理的信号(例えば、機械的、化学
的な信号)を処理する際に、コンピユータを動作
させるための方法のステツプに関する。
Furthermore, the operations performed are terminology that describes the mental activity of the human operator, such as addition or comparison. Such human capabilities are neither necessary nor desirable for the operations forming part of the present invention. This operation is a machine operation. Machines useful for carrying out the operations of the present invention include general purpose digital computers or other similar devices. In all cases, one should keep in mind the distinction between the method of operation of the computer and the method of computation itself. The present invention relates to method steps for operating a computer in processing electrical or other physical signals (eg, mechanical, chemical signals) for the generation of desired physical signals.

本発明はまた、これらのオペレーシヨンを実行
するための装置に関する。この装置は特に、特定
の用途のために構成することができ、またコンピ
ユータ内にストアされたコンピユータプログラム
によつて選択的に起動されたり、構成されたりす
る汎用のコンピユータから構成することができ
る。ここに示されたアルゴリズムは、特別のコン
ピユータ又は他の装置に固有のものではない。特
に、以下の教示に従つて書かれたプログラムと共
に種々の一般目的のマシンを使用することがで
き、また、必要な方法のステツプを実行するため
に特殊化した装置がより便利であるかもしれな
い。これらの多様なマシンのために必要な構成
は、以下の説明から明らかであろう。
The invention also relates to an apparatus for performing these operations. The apparatus may be specifically configured for a specific application, or may consist of a general-purpose computer that is selectively activated and configured by a computer program stored within the computer. The algorithms presented herein are not specific to any particular computer or other device. In particular, various general purpose machines may be used with programs written in accordance with the following teachings, or specialized equipment may be more convenient to perform the necessary method steps. . The required structure for a variety of these machines will appear from the description below.

以下の説明はいくつかにわ分けられる。まず、
コンピユータ・グラフイツクスを発生するための
全体的システム配列を取り扱う。つづいて、反転
点による入力領域の特定反転点のソート、反転点
に対するオペレーシヨン(論理操作)、走査線マ
スクの発生、及び領域転送オペレーシヨンを取り
扱う。
The following explanation can be divided into several parts. first,
Handles the overall system arrangement for generating computer graphics. Subsequently, sorting of specific inversion points of the input area by inversion points, operations (logical operations) on inversion points, generation of scan line masks, and area transfer operations are handled.

なお、説明において、本発明のより完全な理解
のために、アルゴリズム規約、ビツト数等の特定
の詳細に言及するが、本発明はこのような詳細な
くしても実施できることが、当業者には明らかで
あろう。他方、周知の回路及び構成については、
説明を不必要に冗長しないようにその詳細説明を
省いた。
In the description, reference is made to certain details such as algorithm conventions, number of bits, etc. in order to provide a more complete understanding of the invention; however, it will be apparent to those skilled in the art that the invention may be practiced without such details. Will. On the other hand, regarding well-known circuits and configurations,
The detailed explanation has been omitted to avoid unnecessary redundancy.

一般的システム構成 第1図は、本発明に従つてコンピユータグラフ
イツク画像を発生するための典型的なコンピユー
タ・デイスプレイ装置を示す。コンピユータ20
は3つの要素から成る。第1は、入力/出力
(I/O)回路22であり、コンピユータ20の
他の部分との間で適切な形態で情報の交信をする
ために使用される。中央処理装置(CPU)24
及びメモリ26がコンピユータ20の一部として
示されている。CPU24およびメモリ26は、
汎用目的のコンピユータ及びほとんどの特殊目的
のコンピユータに通常見られるものである。コン
ピユータ20は、それに包含されるいくつかの要
素により、広範なデータプロセツサーであること
が示されている。コンピユータ20としては、ア
プル・コンピユータ社(米国カリホルニア州)製
造のマシンがあり、同様な能力を有する他のコン
ピユータも後述の機能を容易に実行するのに適し
ている。
General System Configuration FIG. 1 shows a typical computer display device for generating computer graphic images in accordance with the present invention. computer 20
consists of three elements. The first is input/output (I/O) circuitry 22, which is used to communicate information to and from other parts of computer 20 in a suitable manner. Central processing unit (CPU) 24
and memory 26 are shown as part of computer 20. The CPU 24 and the memory 26 are
It is commonly found in general purpose computers and most special purpose computers. Computer 20 is shown to be an extensive data processor due to the several elements it contains. Computer 20 is a machine manufactured by Apple Computer, Inc. (California, USA), although other computers of similar capabilities are readily suitable to perform the functions described below.

第1図には、キーボードが入力装置30として
示されている。入力装置はカードリーダ、磁気又
は紙テープリーダ、又は他の周知の入力装置(も
ちろん他のコンピユータを含む)にすることがで
きる。マス・メモリ装置32が、I/O回路22
に結合され、コンピユータ20に記憶容量を付加
する。マス・メモリ装置32は、他のプログラ
ム、所定のキヤラクタのフオント等を含むことが
でき、磁気又は紙テープリーダ又は他の周知の形
態をとることができる。マス・メモリ32内に保
持されたデータは、メモリ26の一部としてコン
ピユータ20内に取り込まれる。
A keyboard is shown as input device 30 in FIG. The input device may be a card reader, magnetic or paper tape reader, or other well known input device (including, of course, other computers). The mass memory device 32 is connected to the I/O circuit 22.
is coupled to add storage capacity to computer 20. Mass memory device 32 may contain other programs, fonts of predetermined characters, etc., and may take the form of a magnetic or paper tape reader or other well-known form. The data held in mass memory 32 is captured within computer 20 as part of memory 26.

画像を表示するデイスプレイ・モニタ34が示
されている。デイスプレイ・モニタは、CRTデ
イスプレイやその変形とすることができる。カー
ソル・コントロール(マウス)36は、コマンド
モードを選択し、特別の画像のようなグラフイツ
クス・データを編集すめために使用され、システ
ム内に情報を入力するためのより便利な手段を提
供する。
A display monitor 34 is shown displaying images. The display monitor can be a CRT display or a variation thereof. Cursor control (mouse) 36 is used to select command modes and edit graphics data, such as special images, and provides a more convenient means for entering information into the system.

第2図は、第1図に示されたメモリ26内での
主プログラムの典型的配列を示す。好ましい実施
例においては32キロバイトの記憶装置から成る
(ビデオ)目的(destination)ビツトマツプ38
が示されている。この目的ビツトマツプ38は、
ビデオモニタ34のためのビデオメモリを表わ
す。目的ビツトマツプ38内の各ビツトは、デイ
スプレイモニタ上の相当するピクセルの座標(正
確にはピクセルの占める部分の上左角の座標)に
対応している。従つて、目的ビツトマツプ38は
既知座標を有する点の2次元配列によつて記載で
きる。例えばプリンタ等の他のデイスプレイ手段
が使用される場合には、目的ビツトマツプ38の
内容は、そのデイスプレイ手段によつて表示され
るデータ点を表わすことになる。メモリ26はま
た、CPUで実行するための多様な一連の命令を
表わすプログラム40を含んでいる。例えば、こ
の明細書で説明するオペレーシヨン及びルーチン
を実行する制限プログラム、モニタ及びコントロ
ールプログラム、デイスク・オペレーテイング・
システム等を、メモリ26にストアすることがで
きる。
FIG. 2 shows a typical arrangement of the main program within memory 26 shown in FIG. In the preferred embodiment, the (video) destination bitmap 38 comprises 32 kilobytes of storage.
It is shown. This purpose bit map 38 is
Represents video memory for video monitor 34. Each bit in the destination bitmap 38 corresponds to the coordinates of a corresponding pixel on the display monitor (more precisely, the coordinates of the top left corner of the area occupied by the pixel). Therefore, the target bitmap 38 can be described by a two-dimensional array of points with known coordinates. If other display means are used, such as a printer, the contents of destination bitmap 38 will represent the data points displayed by that display means. Memory 26 also includes a program 40 that represents a diverse series of instructions for execution by the CPU. For example, limit programs, monitor and control programs, disk operating programs, etc. that perform the operations and routines described herein.
The system, etc. can be stored in memory 26.

領域、フオント、データ構成、座標、及び、キ
ヤラクタを含むソースビツトマツプ42は、メモ
リ26にストアすることができ、あるいは用途に
より必要ならばマス・メモリ32内に一時的に記
憶することができる。メモリ26内には、44で
示されているように、他のプログラム及びスペア
メモリのために、スペースが残しておかれる。他
のプログラムは、必要になるかもしれない計算プ
ログラムやユーリテイプログラムを含むことがで
きる。
The source bitmap 42, including regions, fonts, data structures, coordinates, and characters, may be stored in memory 26 or may be temporarily stored in mass memory 32 if required by the application. Space is left within memory 26, as indicated at 44, for other programs and spare memory. Other programs may include calculation and utility programs that may be needed.

定められた領域の反転点表示 本発明では、“反転点”によつて、任意に定め
た領域を表わす。本発明は、(任意の形状又は構
成の複数のばらばらのエリアを含むことができ
る)任意のエリアを“領域”として定められる。
第3図aに、反転点40が例示されている。反転
点は、その右及び下に座標を有する全ての点の状
態が反転されている点である。従つて、図示のよ
うに、点40の右及び下の全てのエリアは、点4
0が先に白の背景に定められたとすると、コント
ラストを形成する黒である。反転点を物理的に表
わすために、反転点の位置は、メモリのビツトマ
ツプ内にその座標によつて記載できる。
Indication of Reversal Point in a Determined Area In the present invention, an arbitrarily determined area is represented by a "reversal point." The present invention defines any area (which can include a plurality of discrete areas of any shape or configuration) as a "region."
In FIG. 3a, a reversal point 40 is illustrated. An inversion point is a point where the states of all points with coordinates to the right and below are inverted. Therefore, as shown, all areas to the right and below point 40
If 0 is initially set on a white background, then it is black forming the contrast. In order to physically represent the reversal point, the position of the reversal point can be written in a bitmap of memory by its coordinates.

第3図bに示されるように、2つの反転点4
0,42を目的ビツトマツプ38のようなビツト
マツプに定めてから、モニタ34に表示すると、
垂直方向に限界のない黒のストリツプが生じる。
ビツトマツプに点42を付加すると、その右及び
下に座標を有する全ての点の状態が反転されて点
40の効果を打ち消し、それによつて垂直な黒の
ストリツプが定められる。
As shown in Figure 3b, the two reversal points 4
0,42 in a bitmap such as the target bitmap 38 and then displayed on the monitor 34,
A vertically unbounded black strip results.
Adding point 42 to the bitmap inverts the state of all points with coordinates to its right and below, negating the effect of point 40, thereby defining a vertical black strip.

同様に、4つの反転点40,42,44,46
は、第3図cに示されるような正方形又は四辺形
を定める。他のエリアも反転点を使つて定めるこ
とができ、所定の形状内に空白を容易に発生する
こともできる。さらに、領域内の全ての形状を反
転点の座標によつて定められるから、所定の領域
は任意数のばらばらのエリアを包含できることが
明らかであろう。
Similarly, four reversal points 40, 42, 44, 46
defines a square or quadrilateral as shown in Figure 3c. Other areas can also be defined using inversion points, and blanks can also be easily generated within a predetermined shape. Furthermore, since all shapes within the region are defined by the coordinates of the inversion points, it will be clear that a given region can encompass any number of discrete areas.

さらに、円形及び他の非線形領域は、反転点の
適切な位置付けによつて定めることができる。第
3図gを参照して、対角線43は、“X”と“Y”
の間の2つの反転点のステツプのシリーズによつ
て、点“X”と“Y”の間に定めることができ
る。点と点の間の直接の対角線が好ましいけれど
も、ラスタ型のデイスプレイ・モニタ34の物理
的構成からそれは不可能である。CRTデイスプ
レイ上の各ピクセルは座標間の単位エリアを占め
るので、特定のピクセルは、その上左にあたる格
子点の座標によつてアクセスされる。このよう
に、対角線を近似するためには、一連の水平な線
分を定める反転点のステツプ状の関数が必要とさ
れる。
Additionally, circular and other non-linear regions can be defined by appropriate positioning of the reversal points. Referring to FIG. 3g, the diagonal line 43 is "X" and "Y"
can be defined between points "X" and "Y" by a series of steps of two reversal points between them. Although a direct diagonal line between points would be preferred, the physical configuration of the raster display monitor 34 precludes this. Since each pixel on a CRT display occupies a unit area between coordinates, a particular pixel is accessed by the coordinates of the grid point above and to the left of it. Thus, to approximate the diagonal, a step-like function of reversal points is required that defines a series of horizontal line segments.

所定の領域が入力領域として反転点によつて定
められると、画像を構成する全ての点をストアす
る必要がある多くの従来技術とは異なり、一般的
に反転点のみをメモリ26内に保持する必要があ
るだけである。実施例では、領域は、カーソル・
コントロール36又は他の入力手段によつて、ユ
ーザにより20内に入力にされ、ビツトマツプ形
式の情報としてメモリにストアされる。領域を定
める反転点の位置は、入力された領域の境界の一
部をなす水平な線分の起点を検出することによつ
て決定される。第3図hを参照すると、ラインセ
グメントすなわち線分80,85,90,10
0,125が示されている。反転点は、各線分の
起点に相当する座標で定まり、それらの反転点に
よつて領域全体が定まる。領域内の垂直な線分
は、前述した反転点を使つて自動的に発生される
ので、それらは無視される。水平な線分の検出と
分離とのためにコンピユータ20によつて実行さ
れるべき演算手順は、データ処理技術に通じた者
には明白と信じられるので説明を省く、この実施
例では領域の反転点は、それらの座標に従つて、
左から右へ、上から下へという順序(規約)に従
つたソートによつて配列されて、ピクセルが走査
される順序で反転点の座標をメモリから読出せる
よう配列されたリストにされる。例えば、第3図
eの領域を参照すると、この規約に従つて反転点
の配列されたリストは次の通りである。54,56,
58,60,62,64,66,68,70,72,74,76であ
る。
Once a given region is defined by the inversion points as an input region, typically only the inversion points are kept in memory 26, unlike many prior art techniques which require storing all the points that make up the image. There is only a need. In the example, the area is the cursor
Inputs are entered into 20 by the user via controls 36 or other input means and stored in memory as information in the form of bitmaps. The position of the inversion point defining the region is determined by detecting the starting point of a horizontal line segment that forms part of the boundary of the input region. Referring to FIG. 3h, line segments 80, 85, 90, 10
0,125 is shown. The inversion points are determined by the coordinates corresponding to the starting point of each line segment, and the entire area is determined by these inversion points. Vertical line segments within the region are automatically generated using the reversal points described above, so they are ignored. The computational steps to be performed by computer 20 for horizontal line segment detection and separation are believed to be obvious to those skilled in the data processing arts and will not be described here; The points, according to their coordinates,
Arranged by sorting according to a left-to-right, top-to-bottom order (convention), the coordinates of the inversion points are arranged in a list so that they can be read from memory in the order in which the pixels are scanned. For example, referring to the region of FIG. 3e, the ordered list of inversion points according to this convention is: 54, 56,
58, 60, 62, 64, 66, 68, 70, 72, 74, 76.

上述のやり方は、第4図a〜eに示すような領
域について簡単なオペレーシヨンを可能にする。
反転点の配列されたリストについての本発明によ
る典型的オペレーシヨンは、領域の交差、結合、
差、及び排他的ORと共に、ポイント・メンバー
シツプの決定の機能である。
The method described above allows simple operation for areas such as those shown in FIGS. 4a-e.
Typical operations according to the invention on an ordered list of inversion points include intersecting regions, merging,
Together with the difference and exclusive OR, it is a function of point membership determination.

しばしば、グラフイツクのオペレーシヨン中
に、目的ビツトマツプ38内の(及びそれによつ
てデイスプレイ・モニタに表示される)点が、特
定の領域内にあるかどうかを決定することが可能
となる。この機能は一般に、“ポイント・メンバ
ーシツプ”と言われる。ポイント・メンバーシツ
プの決定は、従来、広範なデータ操作及び計算を
必要とした。例えば、ポイント・メンバーシツプ
を決定する一つの従来技術は、問題とする点から
当該領域までの角度を計算しかつ合計することで
あつた。もし角度の合計が360°に等しいならば、
領域内にポイント・メンバーシツプが存在する。
ポイント・メンバーシツプを決定するこの従来の
方法は、多数の反復計算を必要とし、かつ非常に
時間がかかる。
Often during graphics operation, it is possible to determine whether a point within the target bitmap 38 (and thereby displayed on the display monitor) lies within a particular region. This feature is commonly referred to as "point membership." Determining point membership has traditionally required extensive data manipulation and calculations. For example, one conventional technique for determining point membership was to calculate and sum the angles from the point in question to the region of interest. If the sum of the angles is equal to 360°, then
Point membership exists within the region.
This conventional method of determining point membership requires numerous iterative calculations and is very time consuming.

しかしながら、本発明の反転点は、ポイント・
メンバーシツプを決定する効果的な手段を提供す
る。第4図aを参照すると、本発明では、当該領
域を定める反転点の既に配列されたリストを、上
から下へと走査する。メモリに変数(その初期値
を例えば偽(“0”)とする。)を設定しておき、
もし反転点が、問題とする点(第4図aの点
“P”)の垂直座標より大きいか、それに等しい垂
直座標を有しており、かつ、反転点の水平座標が
点“P”のそれよりも小さい場合には、上記変数
をトグルさせる(初期値が偽なら真(“1”)に変
化させる)。
However, the reversal point of the present invention is the point
Provide an effective means of determining membership. Referring to FIG. 4a, the present invention scans from top to bottom an already arranged list of inversion points defining the region of interest. Set a variable (its initial value is false (“0”), for example) in memory,
If the reversal point has a vertical coordinate greater than or equal to the vertical coordinate of the point in question (point "P" in Figure 4a), and the horizontal coordinate of the reversal point is that of point "P", If it is smaller than that, the variable is toggled (if the initial value is false, it is changed to true (“1”)).

このように、問題とする点の上及び左の反転点
が検出される毎に、上記変数をトグル(変化)さ
せることを行う。そうすると、もし、この領域を
定める反転点のリストを走査した後、変数が真な
らば(すなわち状態変化が奇数回生じたならば)、
問題の点(すなわち点“P”)は特定の領域内に
ある。しかし、もし変数が偽であるならば(すな
わち状態変化が生じないか又は偶数回生じたなら
ば)、問題とする点は領域内にはない。このよう
に、反転点を使つてポイント・メンバーシツプを
決定する早くかつ効率的な方法は、従来技術では
得られず、本発明によつて提案されるものであ
る。
In this way, each time the reversal points above and to the left of the point in question are detected, the above variables are toggled (changed). Then, after scanning the list of inversion points defining this region, if the variable is true (i.e., if an odd number of state changes have occurred), then
The point in question (ie, point "P") lies within a particular region. However, if the variable is false (ie, the state change does not occur or occurs an even number of times), then the point of interest is not within the domain. Thus, a fast and efficient method of determining point membership using reversal points is not available in the prior art and is proposed by the present invention.

領域から走査線バツフアへの変換 反転点の配列されたリストの使用により、モニ
タ34の各ラスタ走査線の内容を表わす簡単な手
段が提供される。第5図において、メモリ40の
一部(第2図参照)が、複数の単一走査線バツフ
アとして割り当てられる。好ましい実施例におい
て、単一走査線バツフアは、CRTモニタ・スク
リーン又は他の出力装置上の各水平行の各ピクセ
ルがバツフア内の1ビツトによつて表わされるよ
うに十分に大きくされる。反転点の配列されたリ
ストによつて以前に定められた領域は、単一走査
線バツフア内のビツトの状態によつて表わすこと
ができる。モニタ34に表示された各水平行(第
5図にV0,V1,V2……Vo+1で示されている)に
対して、対応した走査線(水平行)の垂直座標を
有する反転点は、単一走査線バツフアの相当する
座標での変化したビツト状態(すなわち、走査線
のフイールドが当初「0」である場合には「1」
によつて表わされる。走査線155内の1対の反
転点の間の全てのビツトが反転されることによ
り、反転点の配列されたリストから表示されるべ
き領域の真の表示が発生される。このようにし
て、第5図に示されるように、表示すべき各水平
行を走査することによつて、いずれの領域も単一
の走査線の幅のセグメントに水平にかつ順次“ス
ライス”される。
Area to Scan Line Buffer Conversion The use of an ordered list of inversion points provides a simple means of representing the contents of each raster scan line of monitor 34. In FIG. 5, a portion of memory 40 (see FIG. 2) is allocated as a plurality of single scan line buffers. In a preferred embodiment, the single scan line buffer is made large enough so that each pixel in each horizontal row on a CRT monitor screen or other output device is represented by one bit in the buffer. The region previously defined by the ordered list of inversion points can be represented by the state of the bits in a single scan line buffer. For each horizontal line displayed on the monitor 34 (indicated by V 0 , V 1 , V 2 ...V o+1 in Fig. 5), the vertical coordinate of the corresponding scanning line (horizontal line) is determined. An inversion point with a change in bit state at the corresponding coordinate of a single scanline buffer (i.e., a ``1'' if the field of the scanline is initially ``0'')
It is represented by. All bits between a pair of inversion points in scan line 155 are inverted to produce a true representation of the area to be displayed from the ordered list of inversion points. In this way, any area is "sliced" horizontally and sequentially into segments the width of a single scan line by scanning each horizontal row to be displayed, as shown in FIG. Ru.

後述のように、単一走査線バツフアの使用によ
り、ソースビツトマツプ42から目的ビツトマツ
プ38に領域が転送され、かつ適切に“マスク”
されることを可能にし、矩形領域の転送に制限さ
れるBitBltのような従来技術まのシステムとは異
なり、任意の領域を転送しかつ操作することがで
きる。
As will be discussed below, the use of a single scan line buffer transfers regions from the source bitmap 42 to the destination bitmap 38 and properly "masks" them.
Any area can be transferred and manipulated, unlike prior art systems such as BitBlt which are limited to transferring rectangular areas.

さらに、領域から走査線バツフアへの変換は可
逆であるということが認められよう。領域が単一
走査線バツフアの形態で表わされると、反転点の
配列された組は、バツフアにおいてその上(V1
から下(Vo+1)まで領域が走査されると、バツ
フア上の反転状態を探すことによつて再び特定す
ることができる。バツフア上の反転点の位置は、
ビツト状態変化が検知される点であるので(すな
わち次のビツトが「0」である場合の「1」)、反
転点の位置は容易に探すことができる。実施例に
おいて反転点の位置は、現在の走査線(例えば、
V3)のバツフア内容と先の走査線(例えば、V2
のバツフア内容との間の排他的ORオペレーシヨ
ンによつて簡単に決定することができる。このよ
うに、その連続した垂直位置の走査線の間で変化
しない領域部分は、ある垂直位置の走査線とその
次の走査線の間で内容が同一であると反転点が存
在しないので、無視される。さらに、反転点の水
平位置は、排他的ORをとつて得られた走査線を
右に1ビツトだけシフトし、そして排他的ORオ
ペレーシヨンをすることによつて、決定すること
ができる。例えば、もし走査線バツフアVN
Vo-1k間の排他的ORオペレーシヨンの後、その
結果が01110011であつたとして、その結果を右に
1ビツトシフトし、かつ別の排他的ORオペレー
シヨンを行うことによつて、次の結果が得られ
る。
Furthermore, it will be appreciated that the conversion from area to scan line buffer is reversible. If the region is represented in the form of a single-scanline buffer, then an ordered set of inversion points is defined above (V 1 ) in the buffer.
Once the area has been scanned from down to (V o+1 ), it can be identified again by looking for an inversion state on the buffer. The position of the reversal point on the buffer is
The location of the reversal point is easy to locate since it is the point at which a bit state change is detected (ie, a ``1'' when the next bit is a ``0''). In an embodiment, the location of the inversion point is the current scan line (e.g.
V 3 ) buffer contents and previous scan line (e.g. V 2 )
can be easily determined by an exclusive OR operation between the buffer contents of . In this way, the portion of the area that does not change between scan lines at successive vertical positions is ignored since there is no inversion point if the content is the same between a scan line at one vertical position and the next scan line. be done. Furthermore, the horizontal position of the inversion point can be determined by shifting the scan line obtained by exclusive ORing one bit to the right and performing an exclusive OR operation. For example, if the scan line buffer V N and
After an exclusive OR operation between V o-1 k, assuming that the result is 01110011, by shifting the result one bit to the right and performing another exclusive OR operation, we get the following: Get results.

01110011 00111001(1) 01001010 走査線VNのための 反転点位置 単一走査線バツフアに状態変化が存在する場所
を決定するためにコンピユータ20によつて実行
されるべきコマンドは当業者には明らかであろう
からこれ以上の説明は省略する。
01110011 00111001(1) 01001010 Reversal Point Location for Scanline V N The commands to be executed by computer 20 to determine where a change of state exists in a single scanline buffer will be apparent to those skilled in the art. Since it is possible, further explanation will be omitted.

領域オペレータ 領域の内容をシステム的に表わすために単一走
査線バツフアを使用することにより、前述した結
合、交差等のオペレーシヨンが容易に達成され
る。例えば、第4図bに示された交差オペレーシ
ヨンは、斜線エリアの反転点表示を与えるもので
2つの重畳領域“A”“B”の“AND”をとるこ
とによつて得られる。第6図を参照すると、単一
走査線バツフアが、領域“A”及び“B”をそれ
ぞれに対して定められる。CRTデイスプレイの
各水平ラスタ行に対して、個々の単一走査線バツ
フアが各領域の内容をバイナリ形態で表わす。そ
れから、単一走査線バツフアの内容は、所望の機
能を達成するためにオペレーシヨンを受ける。第
4図bの場合は、“AND”をとられ合成の走査線
を生じる。例えば、もし垂直位置V1に対して、 “A”走査線=11111100 “B”走査線=10010001 ならば、そのとき、“AND”オペレーシヨンの後
の合成の走査線は、10010000であろう。さらに、
同一の“AND”オペレーシヨンが、各領域を達
成する各水平行Voに対してなされる。上のオペ
レーシヨンの結果は、第4図bの交差斜線領域
“C”について、一度に単一走査線毎の合成表示
である。斜線領域“C”を構成する反転点の位置
は、前述した排他的ORオペレーシヨンのような
既知の技術を使つて導出することができる。
Region Operator By using a single scan line buffer to systematically represent the contents of a region, the operations such as join, intersect, etc. described above are easily accomplished. For example, the intersection operation shown in FIG. 4b provides an inverted point representation of the hatched area and is obtained by "ANDing" two overlapping regions "A" and "B". Referring to FIG. 6, a single scan line buffer is defined for each of regions "A" and "B". For each horizontal raster row of a CRT display, a separate single scan line buffer represents the contents of each area in binary form. The contents of the single scan line buffer are then subjected to operations to achieve the desired function. In the case of FIG. 4b, "AND" is performed to produce a composite scan line. For example, if for vertical position V1 , "A" scan line = 11111100 "B" scan line = 10010001, then the resultant scan line after the "AND" operation would be 10010000. moreover,
The same "AND" operation is done for each horizontal row V o achieving each region. The result of the above operation is a composite display of the cross-hatched region "C" of FIG. 4b, one scan line at a time. The locations of the inversion points that make up the shaded region "C" can be derived using known techniques such as the exclusive OR operation described above.

同様に、2つの領域の間の“OR”オペレーシ
ヨンは、第4図cの結合機能を達成するために利
用される。第4図dの“差”を得るために、2つ
の領域の間のオペレーシヨンは、(NOT“S”)
AND“R”であり、“S”走査線バツフア内に表
わされた全てのバイナリ量の状態は、その内容を
“R”の走査線バツフアとの“AND”操作をする
前に反転される。
Similarly, an "OR" operation between two regions is utilized to accomplish the combination function of FIG. 4c. To obtain the “difference” in Figure 4d, the operation between the two regions is (NOT “S”)
AND “R” and the states of all binary quantities represented in the “S” scanline buffer are inverted before “ANDing” their contents with the “R” scanline buffer. .

最後に、第4図eの排他的ORオペレーシヨン
は、“AND”オペレーシヨンの上の例においてな
されたのと同様に、各領域の走査線バツフアの内
容に排他的ORを単に実行することによつて達成
される。しかしながら、反転点の配列されたリス
トの使用により、排他的ORオペレーシヨンが簡
単になるということが当業者には明らかであろ
う。このオペレーシヨンは、第4図eの領域
“T”及び“U”の反転点のリストを合併してソ
ートすることによつて、そして両方の領域内で同
じ座標を有する点を捨てることによつて達成する
ことができる。言い換えると、コンピユータ20
は、領域“T”及び“U”を定める反転点の配列
されたリストを、一つの大きなリストとして単に
取り扱い、そしてすべての反転点を前述の規約に
従つて左から右に、そして上から下にソートす
る。得られた反転点のリストは、領域“T”と
“U”の両方でなく、そのいずれか一方に反転点
を包含する領域を表わしている。
Finally, the exclusive OR operation in Figure 4e simply performs an exclusive OR on the contents of each region's scanline buffer, similar to what was done in the example above for the "AND" operation. It is achieved by doing so. However, it will be apparent to those skilled in the art that the use of an ordered list of inversion points simplifies exclusive OR operations. This operation is performed by merging and sorting the lists of inversion points in regions "T" and "U" of Figure 4e, and by discarding points with the same coordinates in both regions. can be achieved. In other words, computer 20
simply treats the ordered list of inversion points defining the regions "T" and "U" as one big list, and sorts all the inversion points from left to right and from top to bottom according to the above convention. Sort by. The obtained list of reversal points represents regions that include reversal points in either region "T" or "U", but not in both.

本発明の反転点を使つた、多数の他のオペレー
シヨン、及びオペレーシヨンの組み合わせ、それ
に走査線バツフアの利用が、従来技術に比べて任
意の領域で実行することができるということが認
められよう。
It will be appreciated that numerous other operations and combinations of operations using the inversion points of the present invention and the use of scan line buffers can be performed in arbitrary areas compared to the prior art. .

走査線マスク 第7図を参照すると、任意の領域をクリツピン
グするための走査線マスクの使用法がシンボル的
に例示されている。反転点の配列されたリストに
変換されている先に定められた領域160は、モ
ニタ34上に表示されるべき全ての付加される画
像を、目的ビツトマツプ38に影響を及ぼす前
に、比較するための“マスク”として使用され
る。第9図に示されるように、多数の領域を所定
の優先度で重畳させることがしばしば望まれる。
第9図には、フオルダが重畳して示され、本発明
によれば、表示された各フオルダ上にはテキスト
を表示でき、そして他の任意の領域も表示でき
る。上述のように、BitBltのような従来技術で
は、矩形領域のクリツピングに制限されてしま
う。このように、システムの多様性は、従来技術
においては、矩形領域のみで動作するという制約
により、及び最上窓(例えばフオルダ210)以
外の領域では動作させられないということによ
り、きびしく制限されていた。
Scan Line Mask Referring to FIG. 7, the use of a scan line mask to clip arbitrary areas is symbolically illustrated. The previously defined area 160, which has been converted into an ordered list of inversion points, is used to compare all added images to be displayed on the monitor 34 before affecting the destination bitmap 38. used as a “mask”. As shown in FIG. 9, it is often desired to overlap a large number of regions with a predetermined priority.
In FIG. 9, folders are shown superimposed, and in accordance with the present invention, text can be displayed on each displayed folder, as well as any other area. As mentioned above, conventional techniques such as BitBlt are limited to clipping rectangular areas. Thus, the versatility of the system was severely limited in the prior art by the constraint of operating only in a rectangular area and by the inability to operate in areas other than the topmost window (e.g., folder 210). .

第7図にシンボル的に例示されているように、
パターン又はキヤラクタのような他の領域は、現
在表示されている既存領域のビツトマツプ“マス
ク”に、1度に1本の走査線について比較され
る。後述のように、領域オペレータを定めること
によつて、種々のマスクの優先度を定めることが
できる。かくして、任意の領域内でフオント及び
他のキヤラクタと共に、パターンを形成すること
ができる。“領域クリツピング”は、重畳領域部
分が選択的に表示されるように、領域オペレータ
に従つて行われる。
As symbolically illustrated in Figure 7,
Other regions, such as patterns or characters, are compared one scan line at a time to a bitmap "mask" of existing regions currently being displayed. As described below, by defining region operators, the priorities of various masks can be determined. Thus, patterns can be formed with fonts and other characters within any area. "Region clipping" is performed according to a region operator such that overlapping region portions are selectively displayed.

第8図を参照して、表示したい画像、キヤラク
タ、フオント等から構成できる各ソースビツトマ
ツプ42は、例えば、「領域から走査線バツフア
への変換」の項での先の説明に従つて、スライス
されて単一走査線バツフアに変換される。このよ
うに、表示されるべき領域はすべて、ソースビツ
トマツプ42を水平に走査し、反転点座標をバツ
フアに沿つて展開することによりソース領域のバ
イナリ表示がなされる。
Referring to FIG. 8, each source bitmap 42, which can be composed of images, characters, fonts, etc. to be displayed, is sliced, for example, as described above in the section "Conversion from Area to Scan Line Buffer". and converted to a single scan line buffer. In this manner, all areas to be displayed are represented in binary by scanning the source bitmap 42 horizontally and developing the inversion point coordinates along the buffer.

現在表示されている領域は、表示したい新たな
領域を比較するためのビツトマツプ“マスク”領
域となる。付加すべき新たなソース領域における
と同様に、現在表示されている領域は、目的領域
の内容をバイナリ形で表わす単一走査線バツフア
に変換される。特定の変換モードオペレーシヨン
に依存して、新たな領域の各走査線は、目的ビツ
トマツプ38に選択的に転送され、デイスプレ
イ・モニタ24上に表示される。
The currently displayed area becomes a bitmap "mask" area against which the new area you wish to display will be compared. As with any new source area to be added, the currently displayed area is converted to a single scan line buffer representing the contents of the destination area in binary form. Depending on the particular conversion mode operation, each scan line of the new region is selectively transferred to the destination bitmap 38 and displayed on the display monitor 24.

使用される転送モードオペレータは、所望の出
力の関数である。領域オペレータは、OR,
AND,排他的OR,NOTと共に、その組み合わ
せの機能を含んでいる。例えば、もしCRT上の
行V1のための現在の走査線マスクバツフアが
01101010を含み、V1のための現在のソース走査
線バツフアが01100110を含んでいるならば、モニ
タ34に表示される。“AND”オペレーシヨン後
の結果は、次の様になる。
The transfer mode operator used is a function of the desired output. The area operators are OR,
It includes the functions of AND, exclusive OR, NOT, and their combinations. For example, if the current scan line mask buffer for row V 1 on the CRT is
01101010 and the current source scan line buffer for V 1 contains 01100110, it will be displayed on monitor 34. The result after the “AND” operation is as follows.

01101010……走査線マスクバツフアの内容 (AND)01100010……ソース走査線バツフアの
内容 01100010……表示されるべき目的ビツトマツ
プ走査線内容 このように、新たなソース領域の全てではなく
て一部分がデイスプレイ装置に転送され、選択さ
れた特定の転送オペレータに依存して“クリツピ
ング”される。さらに、オペレーシヨンの対象た
る領域の形状は、本発明の方法に関係ないという
ことが分かるであろう。反転点及び単一走査線バ
ツフアの使用により、任意の領域を定め、マスク
させ、そして転送させる。
01101010...Contents of the scan line mask buffer (AND) 01100010...Contents of the source scan line buffer 01100010...Contents of the target bitmap scan line to be displayed In this way, some, but not all, of the new source area will be displayed on the display device. transferred and "clipped" depending on the particular transfer operator selected. Furthermore, it will be appreciated that the shape of the area of operation is irrelevant to the method of the invention. The use of inversion points and single scan line buffers defines, masks, and transfers arbitrary regions.

好ましい実施例においては、新たなソース領域
を比較するため、3つの別々の走査線マスクバツ
フアが設けられる。“ユーザ領域”マスクは、新
たな領域により、もしそれが転送されたならば影
響を受ける表示中の現在領域から成る。“可視領
域”マスクは、現在表示されている現在領域(第
9図のフオルダ200)の可視部分として定めら
れる。“クリツピング領域”は、新たなソース領
域の一部のみが転送されるように、新たなソース
領域をクリツピングするユーザ領域の可視部分か
ら成つている。このように、ソースビツトマツプ
42から目的ビツトマツプ38に転送されるべき
新たなソース領域は、3つの走査線マスクバツフ
アと同等のものに通される。実際には、各走査線
マスクはバツフアの内容は互いにANDされ、そ
の結果の合成走査線マスクは、新たな領域をマス
クするために利用される。
In the preferred embodiment, three separate scanline mask buffers are provided for comparing new source regions. The "user area" mask consists of the current area in the display that would be affected by the new area if it were transferred. The "visible area" mask is defined as the visible portion of the current area (folder 200 in FIG. 9) that is currently displayed. The "clipping region" consists of the visible portion of the user region that clips the new source region so that only a portion of the new source region is transferred. In this manner, the new source area to be transferred from source bitmap 42 to destination bitmap 38 is passed through the equivalent of three scan line mask buffers. In practice, each scanline mask's buffer contents are ANDed together and the resulting composite scanline mask is used to mask the new area.

第9図には、本発明に従つてモニタ34に表示
された出力の例が示されている。領域200は最
初に、ユーザによつて定められ、反転点の配列さ
れたリストとしてメモリ26内にストアされたも
のである。前述したように、適切な領域オペレー
タを定めることによつて、領域200を領域21
0と240の間に位置させるようにして、領域2
10と240が表示されている。同様に、テキス
トが各フオルダ形状の領域内に形成され、そし
て、前述したような走査線マスクを使用する適切
な領域クリツピングにより、各領域について、実
際のフオルダを使用した場合に見える部分のみが
表示される。
FIG. 9 shows an example of the output displayed on monitor 34 in accordance with the present invention. Region 200 was initially defined by the user and stored in memory 26 as an ordered list of inversion points. As mentioned above, by defining appropriate region operators, region 200 can be transformed into region 21.
Area 2 so that it is located between 0 and 240
10 and 240 are displayed. Similarly, text is formed within the area of each folder shape, and with appropriate area clipping using a scan line mask as described above, for each area only that part that would be visible using the actual folder is displayed. be done.

さらに、本発明については、デイスプレイ装置
34でのバイナリの表示(黒と白)を強調して説
明したけれども、カラー画像のための適切な反転
点及び走査線マスキングを行えることが当業者に
は明らかであろう。例えば、赤、緑、及び青のカ
ラーを発生するために、各色に対してそれぞれ1
つの、3つの反転点領域表示を利用することがで
きる。このように、一つのカラー領域における反
転点の存在は、その色のためにカラーCRT等に
おけるカラーガンを選択的に放電されることがで
きる。同様に、メモリ内にストアされた各領域の
3つの反転点表示の適切な組み合わせによつて
種々の色を達成することができる。
Additionally, although the present invention has been described with emphasis on binary presentation (black and white) on display device 34, it will be apparent to those skilled in the art that appropriate inversion point and scan line masking for color images may be provided. Will. For example, to generate the colors red, green, and blue, one for each color.
Three inversion point area representations are available. Thus, the presence of an inversion point in one color region can cause a color gun, such as in a color CRT, to be selectively discharged for that color. Similarly, various colors can be achieved by appropriate combinations of the three inversion point representations of each region stored in memory.

コーデイングの詳細 上述の種々の手順を実施するための特定のプロ
グラム言語は示さなかつた。これは、多分に、利
用できる言語のすべてには言及できないという事
実によるものである。特定のコンピユータのユー
ザは、自己の目的のために最も適した言語に気づ
くであろう。実際に、マシン実行可能のオブジエ
クト・コードを与えるアセンブリ言語で、本発明
を実施することが有用である。
Coding Details No specific programming language was provided for implementing the various procedures described above. This is probably due to the fact that not all available languages can be mentioned. Users of a particular computer will find the language most suitable for their purposes. Indeed, it is useful to implement the invention in assembly language that provides machine-executable object code.

本発明の実施に使用できるコンピユータ及びモ
ニタ・システムは、多くの異なつた要素から構成
されるので、詳細なプログラムリストは示さなか
つた。以上の説明は、当業者による本発明の実施
に十分であろう。改良されたグラフイツクス能力
を与えるためにデイジタル・コンピユータで有利
に使用できる技術を開示した。反転点及び走査線
バツフア使用は、この技術分野の従来のシステム
よりも早くかつより効率的に任意の領域を定め、
操作し、転送することができる。
Because the computer and monitor system that can be used to implement the present invention is comprised of many different components, a detailed program listing has not been provided. The above description will be sufficient to enable one skilled in the art to practice the invention. Techniques have been disclosed that can be advantageously used in digital computers to provide improved graphics capabilities. The use of inversion points and scan line buffers defines arbitrary regions faster and more efficiently than conventional systems in the art.
can be manipulated and transferred.

第1図〜第9図を参照して、あるコンピユータ
システムを参照して本発明を説明したが、これら
の図は単なる例示であり、本発明を制限するもの
ではない。さらに、本発明は、CRT又は他のデ
イスプレイ装置上のグラフイツク表示が望まれる
応用において有用性を有するということは明白で
ある。本発明の精神及び範囲から離れることな
く、当業者によつて多くの変化及び変形をなすこ
とができる。
Although the invention has been described with reference to certain computer systems with reference to FIGS. 1-9, these figures are illustrative only and are not intended to limit the invention. Furthermore, it is apparent that the present invention has utility in applications where graphical displays on CRTs or other display devices are desired. Many changes and modifications can be made by those skilled in the art without departing from the spirit and scope of the invention.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明を採用したコンピユータのブロ
ツク図、第2図は第1図のコンピユータにおける
メモリの構成例を示す図、第3図は領域を定める
反転点の使用説明図、第4図は本発明による反転
点を利用した領域に対するオペレーシヨンを説明
するための図、第5図は反転点によつて定められ
る領域を下方へと領域を走査する単一走査線バツ
フアに変換するプロセスを説明するための図、第
6図は一時に1つの走査線について、2つの領域
間での“AND”オペレーシヨン(操作)を説明
するための図、第7図は表示されるべきソース領
域の部分を選択的にマスクするためのビツトマツ
プマスクのオペレーシヨンを説明するための図、
第8図は単一走査線バツフア、及び、表示のため
に目的ビツトマツプに転送する前にソース領域の
部分を選択的にマスクするための操作線マスクの
使用を説明する概念図、第9図は反転点の走査線
マスクシステムを使つた本発明の結果を例示した
図である。 20……コンピユータ、22……入力/出力
(I/O)回路、24……中央処理ユニツト、2
6……メモリ、30……キーボード、32……大
量メモリ装置、34……デイスプレイ・モニタ、
36……カーソル・コントロール。
FIG. 1 is a block diagram of a computer adopting the present invention, FIG. 2 is a diagram showing an example of a memory configuration in the computer of FIG. FIG. 5 is a diagram illustrating an operation on a region using inversion points according to the present invention. FIG. Figure 6 is a diagram to explain an "AND" operation between two areas, one scan line at a time, Figure 7 is a portion of the source area to be displayed. A diagram to explain the operation of bitmap mask for selectively masking the
FIG. 8 is a conceptual diagram illustrating the use of a single scan line buffer and an operational line mask to selectively mask portions of the source area prior to transfer to the destination bitmap for display; FIG. Figure 3 illustrates the results of the present invention using an inversion point scanline mask system. 20... Computer, 22... Input/output (I/O) circuit, 24... Central processing unit, 2
6...Memory, 30...Keyboard, 32...Mass memory device, 34...Display monitor,
36...Cursor control.

Claims (1)

【特許請求の範囲】 1 メモリを含むコンピユータ・デイスプレイ装
置において、デイスプレイを与えるため複数のピ
クセルを含み、前記各ピクセルの表示状態が選択
的に制御されてコントラスト形成エリアを生成す
るデイスプレイ手段上に図形を生成する方法であ
つて、 コントラスト形成エリアにより表示される領域
を定める、ビツトマツプ形式の入力情報を調べ
て、デイスプレイ手段上で走査される方向に延
び、前記領域の境界の一部をなす走査方向の線分
の起点を、反転点として探し、それらの反転点の
座標をメモリにストアし、 前記デイスプレイ手段にてピクセルが走査され
る順序で反転点の座標を前記メモリから読出せる
よう、前記メモリにストアされた反転点の座標を
ソートして反転点の配列されたリストを生成し、 前記反転点の配列されたリストに応じて、当該
反転点を起点とする前記走査方向の線分、およ
び、前記走査方向の線分に直交し当該反転点を起
点とする直交線分により、前記領域の境界を形成
し、もつて、前記デイスプレイ手段上に図形を発
生する ことを特徴とするコンピユータ・デイスプレイ装
置における図形の生成方法。 2 メモリを含むコンピユータ・デイスプレイ装
置において、デイスプレイを与えるため複数のピ
クセルを含み、前記各ピクセルの表示状態が選択
的に制御されてコントラスト形成エリアを生成す
るデイスプレイ手段上に図形を生成する方法であ
つて、 コントラスト形成エリアにより表示される領域
を定める、ビツトマツプ形式の入力情報を調べ
て、デイスプレイ手段上で走査される方向に延
び、前記領域の境界の一部をなす走査方向の線分
の起点を、反転点として探し、それらの反転点の
座標をメモリにストアし、 前記デイスプレイ手段にてピクセルが走査され
る順序で反転点の座標を前記メモリから読出せる
よう、前記メモリにストアされた反転点の座標を
ソートして反転点の配列されたリストを生成し、 少なくとも2つの前記領域それぞれを画定す
る、少なくとも2つの、反転点の配列されたリス
トについて、それら相互間で、AND,OR,
NOT,排他的ORのうちの少なくとも1つの操作
を含む論理操作を行い、 この論理操作で得られた結果に応じて、当該反
転点を起点とする前記走査方向の線分、および、
前記走査方向の線分に直交し当該反転点を起点と
する直交線分により、前記領域の境界を形成し、
もつて、前記デイスプレイ手段上に図形を発生す
る ことを特徴とするコンピユータ・デイスプレイ装
置における図形の生成方法。
Claims: 1. A computer display device including a memory, comprising a plurality of pixels for providing a display, the display state of each pixel being selectively controlled to produce a contrast-forming area. A method for generating a scan direction extending in a direction scanned on a display means and forming part of a boundary of said region by examining input information in the form of a bitmap defining an area to be displayed by a contrast-forming area. the starting points of the line segments are searched as reversal points, the coordinates of these reversal points are stored in a memory, and the coordinates of the reversal points are read out from the memory in the order in which the pixels are scanned by the display means. sorting the coordinates of the reversal points stored in to generate an arranged list of reversal points, and according to the arranged list of the reversal points, the line segment in the scanning direction starting from the reversal point, and , a computer display characterized in that a boundary of the area is formed by an orthogonal line segment that is orthogonal to the line segment in the scanning direction and has the reversal point as a starting point, thereby generating a figure on the display means. How to generate figures in the device. 2. A method for generating figures on a display means, in a computer display device including a memory, comprising a plurality of pixels to provide a display, the display state of each pixel being selectively controlled to generate a contrast forming area; examining input information in the form of a bitmap defining the area to be displayed by the contrast-forming area and determining the origin of a line segment in the scanning direction extending in the direction of scanning on the display means and forming part of the boundary of said area; , as inversion points, and storing the coordinates of those inversion points in a memory, such that the coordinates of the inversion points can be read from the memory in the order in which the pixels are scanned by the display means. sorting the coordinates of to produce an ordered list of reversal points, and for at least two ordered lists of reversal points delimiting each of the at least two said regions, AND, OR,
A logical operation including at least one of NOT and exclusive OR is performed, and depending on the result obtained from this logical operation, the line segment in the scanning direction starting from the reversal point, and
forming a boundary of the area by an orthogonal line segment that is perpendicular to the line segment in the scanning direction and has the reversal point as a starting point;
A method for generating graphics in a computer display device, characterized in that the graphics are generated on the display means.
JP58182930A 1982-09-30 1983-09-30 Method and apparatus for displaying graphic informaion Granted JPS5985573A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/428,635 US4622545A (en) 1982-09-30 1982-09-30 Method and apparatus for image compression and manipulation
US428635 1982-09-30

Publications (2)

Publication Number Publication Date
JPS5985573A JPS5985573A (en) 1984-05-17
JPH0560144B2 true JPH0560144B2 (en) 1993-09-01

Family

ID=23699738

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58182930A Granted JPS5985573A (en) 1982-09-30 1983-09-30 Method and apparatus for displaying graphic informaion

Country Status (12)

Country Link
US (1) US4622545A (en)
JP (1) JPS5985573A (en)
AU (2) AU558873B2 (en)
CA (1) CA1213085A (en)
DE (1) DE3335162C2 (en)
FR (1) FR2534400B1 (en)
GB (2) GB2128459B (en)
HK (2) HK99087A (en)
IE (1) IE54823B1 (en)
IL (1) IL69793A (en)
IT (1) IT1166974B (en)
SG (1) SG46187G (en)

Families Citing this family (143)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336180B1 (en) 1997-04-30 2002-01-01 Canon Kabushiki Kaisha Method, apparatus and system for managing virtual memory with virtual-physical mapping
US4771275A (en) * 1983-11-16 1988-09-13 Eugene Sanders Method and apparatus for assigning color values to bit map memory display locations
GB8411579D0 (en) * 1984-05-05 1984-06-13 Ibm Graphic display systems
JPS613194A (en) * 1984-06-15 1986-01-09 株式会社東芝 Image display
DE3506638A1 (en) * 1985-02-26 1986-09-04 F.H.-Gottfeld Gesellschaft für zerstörungsfreie Werkstoffprüfung mbH, 5000 Köln Method and device for non-destructive testing of large-area test objects
JPS6273385A (en) * 1985-09-27 1987-04-04 Toshiba Corp Boundary detecting object area indicating circuit
US4703321A (en) * 1985-09-30 1987-10-27 International Business Machines Corporation Method for editing a graphic object in an interactive draw graphic system
JPS6282472A (en) * 1985-10-07 1987-04-15 Canon Inc Picture processing system
JPS62192878A (en) * 1986-02-20 1987-08-24 Nippon Gakki Seizo Kk Painting-out method for polygon
JPS63282790A (en) * 1987-02-14 1988-11-18 株式会社リコー Display controller
US4845640A (en) * 1987-03-11 1989-07-04 Megascan Technology, Inc. High-speed dual mode graphics memory
US5033105A (en) * 1987-08-11 1991-07-16 Apple Computer Video compression algorithm
US5262761A (en) * 1987-09-08 1993-11-16 Intelligent Micro Systems, Inc. Displaying hierarchical tree-like designs in windows
US5040130A (en) * 1988-09-20 1991-08-13 International Business Machines Corporation Computer graphics boundary--defined area clippping and extraneous edge deletion method
US5261032A (en) * 1988-10-03 1993-11-09 Robert Rocchetti Method for manipulation rectilinearly defined segmnts to form image shapes
AU624137B2 (en) * 1988-10-03 1992-06-04 Sun Microsystems, Inc. Method and apparatus for image manipulation
US4989132A (en) * 1988-10-24 1991-01-29 Eastman Kodak Company Object-oriented, logic, and database programming tool with garbage collection
US5276795A (en) * 1989-03-15 1994-01-04 Sun Microsystems, Inc. Method and apparatus for selecting and executing defaults in a window based display system
US5157768A (en) * 1989-03-15 1992-10-20 Sun Microsystems, Inc. Method and apparatus for displaying context sensitive help information on a display
US5155806A (en) * 1989-03-15 1992-10-13 Sun Microsystems, Inc. Method and apparatus for displaying context sensitive help information on a display
US5230063A (en) * 1989-03-15 1993-07-20 Sun Microsystems, Inc. Method and apparatus for selecting button function and retaining selected optics on a display
CA1326563C (en) * 1989-03-15 1994-01-25 Anthony Hoeber Method and apparatus for selecting and executing defaults in a window based display system
US5243697A (en) * 1989-03-15 1993-09-07 Sun Microsystems, Inc. Method and apparatus for selecting button functions and retaining selected options on a display
JP3026342B2 (en) * 1989-03-20 2000-03-27 株式会社日立製作所 Graphic drawing method and graphic processing device
JP2845995B2 (en) * 1989-10-27 1999-01-13 株式会社日立製作所 Region extraction method
US5227863A (en) * 1989-11-14 1993-07-13 Intelligent Resources Integrated Systems, Inc. Programmable digital video processing system
US5327243A (en) * 1989-12-05 1994-07-05 Rasterops Corporation Real time video converter
US5319395A (en) * 1990-05-16 1994-06-07 International Business Machines Corporation Pixel depth converter for a computer video display
US5379372A (en) * 1990-09-13 1995-01-03 Wu; William C. Apparatus and method for designing a form structure using column and row rules
US5247589A (en) * 1990-09-26 1993-09-21 Radius Inc. Method for encoding color images
US5070532A (en) * 1990-09-26 1991-12-03 Radius Inc. Method for encoding color images
US5148154A (en) * 1990-12-04 1992-09-15 Sony Corporation Of America Multi-dimensional user interface
CA2077271C (en) * 1991-12-13 1998-07-28 David J. Craft Method and apparatus for compressing data
US5396228A (en) * 1992-01-16 1995-03-07 Mobile Telecommunications Technologies Methods and apparatus for compressing and decompressing paging data
US5307451A (en) * 1992-05-12 1994-04-26 Apple Computer, Inc. Method and apparatus for generating and manipulating graphical data for display on a computer output device
DE69315969T2 (en) * 1992-12-15 1998-07-30 Sun Microsystems Inc Presentation of information in a display system with transparent windows
DE69418908T2 (en) * 1993-01-26 2000-01-20 Sun Microsystems Inc Method and device for viewing information in a computer database
US5825355A (en) * 1993-01-27 1998-10-20 Apple Computer, Inc. Method and apparatus for providing a help based window system using multiple access methods
US5550967A (en) * 1993-01-27 1996-08-27 Apple Computer, Inc. Method and apparatus for generating and displaying visual cues on a graphic user interface
US5469540A (en) * 1993-01-27 1995-11-21 Apple Computer, Inc. Method and apparatus for generating and displaying multiple simultaneously-active windows
US5488685A (en) * 1993-01-27 1996-01-30 Apple Computer, Inc. Method and apparatus for providing visual cues in a graphic user interface
US5859638A (en) * 1993-01-27 1999-01-12 Apple Computer, Inc. Method and apparatus for displaying and scrolling data in a window-based graphic user interface
CA2109681C (en) * 1993-03-10 1998-08-25 Donald Edgar Blahut Method and apparatus for the coding and display of overlapping windows with transparency
US5339393A (en) * 1993-04-15 1994-08-16 Sony Electronics, Inc. Graphical user interface for displaying available source material for editing
US5524195A (en) * 1993-05-24 1996-06-04 Sun Microsystems, Inc. Graphical user interface for interactive television with an animated agent
DE69432199T2 (en) * 1993-05-24 2004-01-08 Sun Microsystems, Inc., Mountain View Graphical user interface with methods for interfacing with remote control devices
US6239794B1 (en) 1994-08-31 2001-05-29 E Guide, Inc. Method and system for simultaneously displaying a television program and information about the program
US5583560A (en) * 1993-06-22 1996-12-10 Apple Computer, Inc. Method and apparatus for audio-visual interface for the selective display of listing information on a display
US5621456A (en) * 1993-06-22 1997-04-15 Apple Computer, Inc. Methods and apparatus for audio-visual interface for the display of multiple program categories
US5594509A (en) * 1993-06-22 1997-01-14 Apple Computer, Inc. Method and apparatus for audio-visual interface for the display of multiple levels of information on a display
CA2124505C (en) * 1993-07-21 2000-01-04 William A. S. Buxton User interface having simultaneously movable tools and cursor
US5581670A (en) * 1993-07-21 1996-12-03 Xerox Corporation User interface having movable sheet with click-through tools
CA2124624C (en) * 1993-07-21 1999-07-13 Eric A. Bier User interface having click-through tools that can be composed with other tools
US6418556B1 (en) 1993-09-09 2002-07-09 United Video Properties, Inc. Electronic television program guide schedule system and method
US5544300A (en) * 1993-11-12 1996-08-06 Intel Corporation User interface for dynamically converting between a single top level window and multiple top level windows
US5572649A (en) * 1993-11-12 1996-11-05 Intel Corporation Process for dynamically switching between a single top level window and multiple top level windows
US6877137B1 (en) 1998-04-09 2005-04-05 Rose Blush Software Llc System, method and computer program product for mediating notes and note sub-notes linked or otherwise associated with stored or networked web pages
US5623679A (en) * 1993-11-19 1997-04-22 Waverley Holdings, Inc. System and method for creating and manipulating notes each containing multiple sub-notes, and linking the sub-notes to portions of data objects
US6963920B1 (en) * 1993-11-19 2005-11-08 Rose Blush Software Llc Intellectual asset protocol for defining data exchange rules and formats for universal intellectual asset documents, and systems, methods, and computer program products related to same
US5696963A (en) * 1993-11-19 1997-12-09 Waverley Holdings, Inc. System, method and computer program product for searching through an individual document and a group of documents
US6339767B1 (en) 1997-06-02 2002-01-15 Aurigin Systems, Inc. Using hyperbolic trees to visualize data generated by patent-centric and group-oriented data processing
US5623681A (en) * 1993-11-19 1997-04-22 Waverley Holdings, Inc. Method and apparatus for synchronizing, displaying and manipulating text and image documents
US5799325A (en) * 1993-11-19 1998-08-25 Smartpatents, Inc. System, method, and computer program product for generating equivalent text files
US5806079A (en) 1993-11-19 1998-09-08 Smartpatents, Inc. System, method, and computer program product for using intelligent notes to organize, link, and manipulate disparate data objects
US5991751A (en) * 1997-06-02 1999-11-23 Smartpatents, Inc. System, method, and computer program product for patent-centric and group-oriented data processing
US5563595A (en) * 1993-12-23 1996-10-08 International Business Machines Corporation Method and apparatus for compressing data
US8793738B2 (en) 1994-05-04 2014-07-29 Starsight Telecast Incorporated Television system with downloadable features
US5502439A (en) * 1994-05-16 1996-03-26 The United States Of America As Represented By The United States Department Of Energy Method for compression of binary data
US6005566A (en) * 1994-05-19 1999-12-21 Apple Computer, Inc. Aspect and style elements of an improved graphical user interface
DE69522684T2 (en) * 1994-05-19 2002-06-20 Apple Computer STATUS DISPLAY OF A GRAPHIC USER INTERFACE
US5515480A (en) * 1994-06-15 1996-05-07 Dp-Tek, Inc. System and method for enhancing graphic features produced by marking engines
US5745759A (en) * 1994-10-14 1998-04-28 Qnx Software Systems, Ltd. Window kernel
US6397262B1 (en) 1994-10-14 2002-05-28 Qnx Software Systems, Ltd. Window kernel
AU701684B2 (en) 1994-12-14 1999-02-04 Koninklijke Philips Electronics N.V. Subtitling transmission system
US5838938A (en) 1995-02-15 1998-11-17 Sony Electronics, Inc. Multimedia user interface employing components of color to indicate the values of variables
US6769128B1 (en) 1995-06-07 2004-07-27 United Video Properties, Inc. Electronic television program guide schedule system and method with data feed access
US6002394A (en) 1995-10-02 1999-12-14 Starsight Telecast, Inc. Systems and methods for linking television viewers with advertisers and broadcasters
US6323911B1 (en) 1995-10-02 2001-11-27 Starsight Telecast, Inc. System and method for using television schedule information
US5930813A (en) * 1995-12-21 1999-07-27 Adobe Systems Incorporated Method and system for designating objects
US6469753B1 (en) 1996-05-03 2002-10-22 Starsight Telecast, Inc. Information system
US5764229A (en) * 1996-05-09 1998-06-09 International Business Machines Corporation Method of and system for updating dynamic translucent windows with buffers
US6131112A (en) 1996-05-17 2000-10-10 Cabletron Systems, Inc. Method and apparatus for integrated network and systems management
US6687906B1 (en) 1996-12-19 2004-02-03 Index Systems, Inc. EPG with advertising inserts
US8635649B2 (en) 1996-12-19 2014-01-21 Gemstar Development Corporation System and method for modifying advertisement responsive to EPG information
US5930466A (en) * 1997-03-11 1999-07-27 Lexmark International Inc Method and apparatus for data compression of bitmaps using rows and columns of bit-mapped printer data divided into vertical slices
AUPO648397A0 (en) * 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Improvements in multiprocessor architecture operation
US6311258B1 (en) 1997-04-03 2001-10-30 Canon Kabushiki Kaisha Data buffer apparatus and method for storing graphical data using data encoders and decoders
US6272257B1 (en) 1997-04-30 2001-08-07 Canon Kabushiki Kaisha Decoder of variable length codes
US6707463B1 (en) 1997-04-30 2004-03-16 Canon Kabushiki Kaisha Data normalization technique
US6061749A (en) * 1997-04-30 2000-05-09 Canon Kabushiki Kaisha Transformation of a first dataword received from a FIFO into an input register and subsequent dataword from the FIFO into a normalized output dataword
AUPO647997A0 (en) * 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Memory controller architecture
US6289138B1 (en) 1997-04-30 2001-09-11 Canon Kabushiki Kaisha General image processor
MX340336B (en) 1997-07-21 2016-07-06 Gemstar Dev Corp Systems and methods for displaying and recording control interfaces.
AU9298398A (en) 1997-09-05 1999-03-29 Prevue International, Inc. Program guide application interface system
US6604240B2 (en) 1997-10-06 2003-08-05 United Video Properties, Inc. Interactive television program guide system with operator showcase
US7487529B1 (en) 1997-12-01 2009-02-03 Starsight Telecast, Inc. Electronic program guide system with advertising messages in pop-ups
US6006015A (en) * 1997-12-18 1999-12-21 Lexmark International, Inc. System and method of printer image warping
US7185355B1 (en) 1998-03-04 2007-02-27 United Video Properties, Inc. Program guide system with preference profiles
US6564379B1 (en) 1998-04-30 2003-05-13 United Video Properties, Inc. Program guide system with flip and browse advertisements
US20020095676A1 (en) 1998-05-15 2002-07-18 Robert A. Knee Interactive television program guide system for determining user values for demographic categories
US7603684B1 (en) 1998-05-19 2009-10-13 United Video Properties, Inc. Program guide system with video-on-demand browsing
US6442755B1 (en) 1998-07-07 2002-08-27 United Video Properties, Inc. Electronic program guide using markup language
AR019458A1 (en) 1998-07-23 2002-02-20 United Video Properties Inc AN INTERACTIVE TELEVISION PROGRAMMING GUIDE PROVISION THAT SERVES AS AN ENTRY
US6898762B2 (en) 1998-08-21 2005-05-24 United Video Properties, Inc. Client-server electronic program guide
US7716060B2 (en) 1999-03-02 2010-05-11 Germeraad Paul B Patent-related tools and methodology for use in the merger and acquisition process
US7966328B2 (en) 1999-03-02 2011-06-21 Rose Blush Software Llc Patent-related tools and methodology for use in research and development projects
US6331855B1 (en) 1999-04-28 2001-12-18 Expertcity.Com, Inc. Method and apparatus for providing remote access, control of remote systems and updating of display information
MXPA01013446A (en) 1999-06-28 2002-08-06 Index Systems Inc System and method for utilizing epg database for modifying advertisements.
AU5775900A (en) 1999-06-29 2001-01-31 United Video Properties, Inc. Method and system for a video-on-demand-related interactive display within an interactive television application
US6404441B1 (en) 1999-07-16 2002-06-11 Jet Software, Inc. System for creating media presentations of computer software application programs
US20050177850A1 (en) 1999-10-29 2005-08-11 United Video Properties, Inc. Interactive television system with programming-related links
US6694362B1 (en) 2000-01-03 2004-02-17 Micromuse Inc. Method and system for network event impact analysis and correlation with network administrators, management policies and procedures
WO2001075649A2 (en) 2000-03-31 2001-10-11 United Video Properties, Inc. System and method for metadata-linked advertisements
US20020038346A1 (en) * 2000-08-10 2002-03-28 Frank Morrison Method for screen image sharing
US7383191B1 (en) 2000-11-28 2008-06-03 International Business Machines Corporation Method and system for predicting causes of network service outages using time domain correlation
US7512879B2 (en) * 2001-05-11 2009-03-31 Microsoft Corporation Intelligent virtual paging paradigm
US6744739B2 (en) 2001-05-18 2004-06-01 Micromuse Inc. Method and system for determining network characteristics using routing protocols
US7043727B2 (en) 2001-06-08 2006-05-09 Micromuse Ltd. Method and system for efficient distribution of network event data
US7516208B1 (en) 2001-07-20 2009-04-07 International Business Machines Corporation Event database management method and system for network event reporting system
US7363368B2 (en) 2001-12-24 2008-04-22 International Business Machines Corporation System and method for transaction recording and playback
US20030210267A1 (en) * 2002-05-13 2003-11-13 Kylberg Robert Lee Systems and methods for providing asynchronous client rendering in a graphical user interface (GUI) environment
US6714145B1 (en) 2002-09-26 2004-03-30 Richard Marques Method and apparatus for integer-based encoding and decoding of bits
US6879270B1 (en) 2003-08-20 2005-04-12 Hewlett-Packard Development Company, L.P. Data compression in multiprocessor computers
US20050114169A1 (en) * 2003-11-24 2005-05-26 Hazim Ansari Systems and methods for evaluating information to identify, and act upon, intellectual property issues
US8640166B1 (en) 2005-05-06 2014-01-28 Rovi Guides, Inc. Systems and methods for content surfing
US8387089B1 (en) 2005-05-06 2013-02-26 Rovi Guides, Inc. Systems and methods for providing a scan
US7788266B2 (en) 2005-08-26 2010-08-31 Veveo, Inc. Method and system for processing ambiguous, multi-term search queries
US9113107B2 (en) 2005-11-08 2015-08-18 Rovi Guides, Inc. Interactive advertising and program promotion in an interactive television system
US20070156521A1 (en) 2005-12-29 2007-07-05 United Video Properties, Inc. Systems and methods for commerce in media program related merchandise
US7529741B2 (en) 2006-03-06 2009-05-05 Veveo, Inc. Methods and systems for segmenting relative user preferences into fine-grain and coarse-grain collections
US8316394B2 (en) 2006-03-24 2012-11-20 United Video Properties, Inc. Interactive media guidance application with intelligent navigation and display features
US20080066106A1 (en) 2006-07-31 2008-03-13 Guideworks, Llc Systems and methods for providing media guidance planners
US8832742B2 (en) 2006-10-06 2014-09-09 United Video Properties, Inc. Systems and methods for acquiring, categorizing and delivering media in interactive media guidance applications
US7801888B2 (en) 2007-03-09 2010-09-21 Microsoft Corporation Media content search results ranked by popularity
US8407737B1 (en) 2007-07-11 2013-03-26 Rovi Guides, Inc. Systems and methods for providing a scan transport bar
US9166714B2 (en) 2009-09-11 2015-10-20 Veveo, Inc. Method of and system for presenting enriched video viewing analytics
US8359616B2 (en) 2009-09-30 2013-01-22 United Video Properties, Inc. Systems and methods for automatically generating advertisements using a media guidance application
US9736524B2 (en) 2011-01-06 2017-08-15 Veveo, Inc. Methods of and systems for content search based on environment sampling
US8779950B2 (en) 2012-03-05 2014-07-15 Dcba, Llc Command encoded data compression
US20140195334A1 (en) 2013-01-10 2014-07-10 United Video Properties, Inc. Systems and methods for optimizing data driven media placement
US9848276B2 (en) 2013-03-11 2017-12-19 Rovi Guides, Inc. Systems and methods for auto-configuring a user equipment device with content consumption material
US9543980B2 (en) 2014-10-10 2017-01-10 Massachusettes Institute Of Technology Systems and methods for model-free compression and model-based decompression
CN105787402B (en) 2014-12-16 2019-07-05 阿里巴巴集团控股有限公司 A kind of information displaying method and device

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3305841A (en) * 1963-09-30 1967-02-21 Alphanumeric Inc Pattern generator
US3821731A (en) * 1971-06-07 1974-06-28 Ann Arbor Terminals Inc Graphics display system and method
GB1401022A (en) * 1972-03-10 1975-07-16 Elliott Brothers London Ltd Display apparatus
US3925776A (en) * 1974-04-18 1975-12-09 Research Corp Display terminal system
GB1595964A (en) * 1977-03-17 1981-08-19 Micro Consultants Ltd Tv Special effects generator
GB1598343A (en) * 1977-04-04 1981-09-16 Int Computers Ltd Display systems
US4266242A (en) * 1978-03-21 1981-05-05 Vital Industries, Inc. Television special effects arrangement
GB2063616B (en) * 1979-11-16 1984-06-20 Quantel Ltd Multiple picture image manipulation
US4383296A (en) * 1980-05-16 1983-05-10 Apple Computer, Inc. Computer with a memory system for remapping a memory having two memory output buses for high resolution display with scrolling of the displayed characters
US4399467A (en) * 1981-10-13 1983-08-16 Ncr Canada Ltd. Method and apparatus for image data compression and decompression
US4420770A (en) * 1982-04-05 1983-12-13 Thomson-Csf Broadcast, Inc. Video background generation system

Also Published As

Publication number Publication date
IL69793A (en) 1987-03-31
IE832292L (en) 1984-03-30
GB2167927B (en) 1987-01-28
IT1166974B (en) 1987-05-06
GB2128459B (en) 1987-02-18
DE3335162A1 (en) 1984-04-05
SG46187G (en) 1987-08-28
US4622545A (en) 1986-11-11
GB8324146D0 (en) 1983-10-12
AU587659B2 (en) 1989-08-24
GB8530583D0 (en) 1986-01-22
HK98987A (en) 1987-12-31
HK99087A (en) 1987-12-31
JPS5985573A (en) 1984-05-17
FR2534400A1 (en) 1984-04-13
IE54823B1 (en) 1990-02-14
AU6583786A (en) 1987-03-19
FR2534400B1 (en) 1988-08-19
AU1969183A (en) 1984-04-05
IT8323075A0 (en) 1983-09-30
IL69793A0 (en) 1983-12-30
GB2128459A (en) 1984-04-26
DE3335162C2 (en) 1996-01-11
CA1213085A (en) 1986-10-21
GB2167927A (en) 1986-06-04
AU558873B2 (en) 1987-02-12

Similar Documents

Publication Publication Date Title
JPH0560144B2 (en)
EP0121551B1 (en) Dynamic generation and overlaying of graphic windows for multiple active program storage areas
US5586237A (en) Method for generating and displaying content-based depictions of computer generated objects
US4914607A (en) Multi-screen display control system and its method
US5930813A (en) Method and system for designating objects
EP0104329B1 (en) Method and apparatus for raster display editing
EP0356103B1 (en) Scan-conversion process and processor
US5218674A (en) Hardware bit block transfer operator in a graphics rendering processor
US4814755A (en) Interactive display system
US5202671A (en) Pick function implementation in a parallel processing system
US5020002A (en) Method and apparatus for decomposing a quadrilateral figure for display and manipulation by a computer system
US5068803A (en) Method and apparatus for filling contours in digital typefaces
US5261032A (en) Method for manipulation rectilinearly defined segmnts to form image shapes
GB2226478A (en) Converting rectilinear (x,y) information into pixel position for a raster scan display of plural horizontal resolutions
JP2955995B2 (en) Image operation method
Levy Vax station: A general-purpose raster graphics architecture
EP0229986A2 (en) Cursor circuit for a dual port memory
IE54824B1 (en) Image data transfer method
EP0163872A2 (en) Method of correlating on straight lines in an interactive display system
EP0425171B1 (en) Object identification in a display system
JPS626377A (en) Management system for rectangular data
Salomon et al. First Principles
Paisner The evolution and architecture of a high-speed workstation for interactive graphics
JPH036551B2 (en)
GB2226482A (en) Method and apparatus for sorting line segments for display and manipulation by a computer system