Nova Patents
EP0243051A2

Video picking method and apparatus.

Abstract

A video picking and clipping method and apparatus are described. The picking method and apparatus comprise: A CPU and a direct memory access (DMA) circuit which is used with a graphics microprocessor (GµP) for virtually redrawing a display list from a system memory of objects in a bit map. A starting address and a number corresponding to the number of instructions in a segment comprising a plurality of display lists are sent to the DMA for this purpose. When the coordinates of a pointer match the coordinates of a selected data object, a pick interrupt signal and special pick instruction is sent to the CPU. The CPU then uses the starting address of the display list of a selected object from a table to generate a new display list to perform a pre-selected operation on the selected data project. The clipping method and apparatus comprise a plurality of data planes for storing data objects, a match plane for storing a clipping object and a one-bit register. In use, the pixels in the data and match planes are scanned. When a match occurs between a pixel in the match plane and the contents of the one-bit register, a match signal is generated. The match signal enables the data planes to re-store the corresponding pixels of the data objects in the match planes.

EP0243051A2, drawing sheet 1
Sheet 1 of 3

Term

Term ended

Projected expiry passed 10 April 2007, 19.5 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

20 claims: 4 independent, 16 dependent

  1. 1
    A method of picking a selected data object from among a plurality of data objects appearing on a video display in a video system having a central processing unit (CPU), a system memory, a bit map, a direct memory access (DMA) circuit and a graphics microprocessor (GµP) comprising the steps of:storing in said system memory a segment comprising a plurality of display lists, each of said display lists in said segment comprising a plurality of instructions corresponding to one of said plurality of data objects, at least one of said instructions comprising a special pick instruction having an operation code and an object number corresponding to said one of said data objects;storing at the beginning of said segment the starting address of the first instruction in said segment and a number corresponding to the number of instructions in said segment;storing in said system memory an index table of index entries, each of said entries comprising one of said object numbers and the address of the first instruction in the corresponding data list for the data object associated therewith;executing the instructions in said segment for storing said plurality of data objects in said bit map;- displaying each of said data objects in said bit map on said video display;moving a pointer on said video display to a position coinciding with the position of said selected data object on said video display;generating a pointer signal corresponding to the position of said pointer on said video display and a pick request signal when the position of said pointer coincides with the position of said selected data object;transferring in response to said pick request signal said starting address of the first instruction in said segment and said number corresponding to the number of instructions in said segment from said system memory to said DMA circuit;transferring each of said instructions in said segment from said system memory to said DMA after said starting address and said number of instructions in said segment are transferred to said DMA;transferring each of said instructions in said segment from said DMA circuit to said GpP for virtually re-executing each of said instructions;comparing the coordinates of each pixel associated with an instruction which is virtually executed in said GpP with said position of said pointer on said video display;generating a pick interrupt signal when a match occurs between the coordinates of a data object pixel and said position of said pointer;generating a software interrupt signal when said special pick instruction in said display list of said selected data object is executed by said GpP after said pick interrupt signal is generated;transferring said software interrupt signal to said CPU;transferring in response to the receipt of said software interrupt signal by said CPU said special pick instruction from said GµP to said CPU;transferring from said index table in said system memory to said CPU the index entry associated with said special pick instruction;generating in response to the receipt of said index entry by said CPU a new display list for performing a selected operation on said selected data object;and transferring said new display list to said D M A and said GµP for performing said selected operation on said selected data object.
  2. 5
    'A method of clipping a selected data object appearing on a video display in a video system having a bit map comprising a data plane and a match plane, said data plane and said match plane comprising corresponding pixels, a source data register, a destination data register, a one-bit register and a logic circuit comprising the steps of:storing said selected data object in said data plane, said selected data object comprising pixels having a predetermined logical binary value;storing a clipping object in said match plane, said clipping object comprising pixels having a predetermined logical binary value;scanning the pixels in said data plane;scanning the pixels in said match plane;comparing said pixels in said match plane against the contents of said one-bit register;enabling said data plane to re-store in said data plane each pixel scanned in said data plane which corresponds spatially with a pixel in said match plane, said pixel in said match plane having a predetermined correspondence with the contents of said one-bit register.
  3. 11
    An apparatus for picking a selected data object from among a plurality of data objects appearing on a video display in a video system having a central processing unit (CPU), a system memory, a bit map, a direct memory access (DMA) circuit and a graphics microprocessor (GpP) comprising:..means for storing in said system memory a segment comprising a plurality of display lists, each of said display lists in said segment comprising a plurality of instructions corresponding to one of said plurality of data objects,- at least one of said instructions comprising a special pick instruction having an operation code and an object number corresponding to said one of said data objects;means for storing at the beginning of said segment the starting address of the first instruction in said segment and a number corresponding to the number of instructions in said segment;means for storing in said system memory an index table of index entries, each of said entries comprising one of said object numbers and the address of the first instruction in the corresponding data list for the data object associated therewith;means for executing the instructions in said segment for storing said plurality of data objects in said bit map;means for displaying each of said data objects in said bit map on said video display;means for moving a pointer on said video display to a position coinciding with the position of said selected data object on said video display;means for generating a pointer signal corresponding to the position of said pointer on said video display and a pick request signal when the position of said pointer coincides with the position of said selected data object;means for transferring in response to said pick request signal said starting address of the first instruction in said segment and said number corresponding to the number of instructions in said segment from said system memory to said DMA circuit;means for transferring each of said instructions in said segment from said system memory to said DMA after said starting address and said number of instructions in said segment are transferred to said DMA;means for transferring each of said instructions in said segment from said DMA circuit to said GpP for virtually re-executing each of said instructions;means for comparing the coordinates of each pixel associated with an instruction which is virtually executed in said GpP with said position of said pointer on said video display;means for generating a pick interrupt signal when a match occurs between the coordinates of a data object pixel and said position of said pointer;means for generating a software interrupt signal when said special pick instruction in said display list of said selected data object is executed by said GpP after said pick interrupt signal is generated;means for transferring said software interrupt signal to said CPU;transferringcin response to the receipt of said software interrupt signal by said CPU said special pick instruction from said GµP to said CPU;means for transferring from said index table in said system memory to said CPU the index entry associated with said special pick instruction;means for generating in response to the receipt of said index entry by said CPU a new display list for performing a selected operation on said selected data object;and means for transferring said new display list to said DMA and said GpP for performing said selected operation on said selected data object.
  4. 15
    An apparatus for clipping a selected data object appearing on a video display in a video system having a bit map comprising a data plane and a match plane, said data plane and said match plane comprising corresponding pixels, a source data register, a destination data register, a one-bit register and a logic circuit comprising:means for storing said selected data object in said data plane, said selected data object comprising pixels having a predetermined logical binary value;means for storing a clipping object in said match plane, said clipping object comprising pixels having a predetermined logical binary value;means for scanning the pixels in said data plane;means for scanning the pixels in said match plane;means for comparing said pixels in said match plane against the contents of said one-bit register;means for enabling said data plane to re-store in said data plane each pixel scanned in said data plane which corresponds spatially with a pixel in said match plane, said pixel in said match plane having a predetermined correspondence with the contents of said one-bit register.